工作记录–在VecanLab的第498天
拖更一周,因为前两周在用一个新的方法做交通标志检测,上周三还没有一个完整的结果,所以没有写记录.这周基本整理出了一个完整的结果,请接着看下去吧.
Mask R-CNN应用于交通标志检测
Mask R-CNN是2016年COCO目标检测和实例分割大赛的冠军方法,还获得了2017ICCV最佳论文奖.之前用YOLOv3做交通标志检测做了很长时间,没有得到很好的效果,试了很多方法改进,都没有成功.在上上周五突然发现了目标检测方面还有这样一个方法,觉得这个方法添加了像素级别的mask标注应该会提高检测的精度,于是试了一下,发现效果还不错.
实验过程
国内的交通标志数据集少,大型公开的交通标志数据集有Tsinghua-Tencent 100K, CCTSDB, TSDD等等.比较之后,个人认为TT100K是图像质量最好,标注最详细的数据集. 在这个数据集的标注文件中有交通标志的边缘点,通过这些边缘点可以生成边缘确定mask.进而生成像素级别的标注.
- 我第一步先把所有的交通标志作为一类生成了标注文件.图片采用的是416x416像素的图片,是原始数据图片经过随机裁剪后生成的.
- 标注采用pickle文件保存.修改源代码中的sample,设置训练参数,开始训练.
- 在TT100K经过裁剪处理后生成的数据集上微调了20个批次之后,在测试集上测试精度mAP达到93.62%. 超过了目前我看到的在TT100K数据集上所有方法的精度.
结果分析
相比于之前的YOLO,mask R-CNN结果精度较高,测试速度在可以接受的范围内.这里所有的交通标志都被当作一类目标输出.而且和其他论文中的图片尺寸不同.
之后需要重新调整图片大小进行训练和测试.解决小目标检测的问题.