一、目标检测任务
1、任务综述
给定一张图像或者视频帧,找出其中所有目标的位置,并给出每个目标的具体类别,图片中可能有一个目标或几个目标。如下图所示
对计算机来说,目标检测最困难的部分在于计算机不清楚目标出现在图像中哪个区域。图像中的目标可能出现在任何位置,目标的形态可能存在各种各样的变化。
2、模型框架
传统的目标检测中,常见的算法是DPM(Deformable Part Model)。2013年利用深度学习算法的R-CNN(Region-based Convolutional Neural Networks)的诞生使基于深度学习的目标检测进入了一个全新的时期。R-CNN在VOC 2007测试集的mAP达到48%。从此Ross Girshick一发不可收拾,连续推出了Fast R-CNN、Faster R-CNN。受Ross Girshick启发许多基于深度学习的目标检测算法被提出
(一)使用Region Proposal方法
(1)、R-CNN
论文地址:https://arxiv.org/abs/1311.2524
代码地址:https://github.com/rbgirshick/rcnn
(2)、Fast R-CNN
论文地址:https://arxiv.org/abs/1504.08083
代码地址:https://github.com/rbgirshick/fast-rcnn
(3)、Faster R-CNN
论文地址:https://arxiv.org/abs/1506.01497
代码地址:https://github.com/rbgirshick/py-faster-rcnn
(4)、R-FCN
论文地址:https://arxiv.org/abs/1605.06409
代码地址:https://github.com/daijifeng001/R-FCN (matlab版)
代码地址:https://github.com/Orpine/py-R-FCN (Python版)
(二) 使用回归方法
(1)、YOLO2
论文地址:https://arxiv.org/abs/1506.02640
代码地址:http://pjreddie.com/darknet/yolo/
(2)、SSD
论文地址:https://arxiv.org/abs/1512.02325
代码地址:https://github.com/weiliu89/caffe/tree/ssd (caffe版)
代码地址:https://github.com/zhreshold/mxnet-ssd (MXnet版)
3、目前结果
2016PASCAL VOC视觉识别竞赛,海康威视以87.9%的mAP(平均正确率)夺得冠军,下图为目前(2017.1)各个模型在PASCAL VOC 2012上的排名
二、目标检测公共数据集
三、自己创建数据集
1、图像标注工具(labelImg)
目前的目标检测算法很多都是在PASCAL VOC数据集上训练和验证的,该标注工具可以在windows、Linux上运行,标注格式与PASCAL VOC数据集的格式一样。但是有个BUG,就是000001.jpg中,没有jpg,解决方法参考这篇博客http://blog.csdn.net/ch_liu23/article/details/53558549
工具地址:https://github.com/tzutalin/labelImg
2、图像标注工具(BBox-Label-Tool)
可以标注数据集,用于yolo的训练
工具地址:https://github.com/puzzledqs/BBox-Label-Tool
3、图像标注工具(ImageLabel)
可以标注问题轮廓,制作分割数据集
工具地址:https://github.com/lanbing510/ImageLabel