圆形指针式仪表自动识别 —— 圆形表盘定位
目的:检测出圆形表盘边框的所在矩形区域,排除无关背景干扰,提升后续算法计算速度和识别精度。如下:
SSD目标检测算法:
采用基于深度学习的目标检测算法SSD(single shot multibox detector),相比Faster RCNN 有明显的速度优势,相比YOLO又有明显的mAP优势(不过已经被CVPR 2017的YOLO9000超越)。
参考TensorFlow官方开源的目标检测代码:
https://github.com/tensorflow/models/tree/master/research/object_detection/
相关论文:
《SSD: Single Shot MultiBox Detector》
1、仪表表盘目标检测数据集准备。
(1)数据标记
目标检测标注工具LabelImg,这是一个可以直接在图片上做注释框自动生成标记信息的软件,注释信息将被保存为PASCAL VOC 格式的XML文件,安装及使用参考:
https://github.com/tzutalin/labelImg
注:用annotations文件夹存储xml文件,images文件夹存储所有的训练和测试图像数据,images图像均为RGB三通道。
(2)数据描述格式
TensorFlow 物体检测API中使用TFRecord格式对图像标记信息进行描述。
格式转换参考代码:
https://github.com/datitran/raccoon_dataset
a) 执行python3 xml_to_csv.py,该文件将在根目录的annotations的文件夹下所有的*xml文件,并生成gauge_labels.csv文件;
b) 执行 python3 split_labels.py 随机生成训练和测试数据。
train_labels.csv test_labels.csv