目标检测小调研
简单阐述
本篇笔记记录一下,关于目标检测的一些算法(主要是深度学习方面)。然后阐述到人脸检测和手势检测,后续会慢慢补上。首先奉上链接,里面有太多的公开数据集(识别,检测,分割等等应有尽有):http://www.cvpapers.com/datasets.html
一般用作检测的数据集:
目标检测算法
从传统方法和深度学习方法展开:
传统方法:
(这里主要提及最流行且现在依旧使用的算法)
1、2001年论文《Robust Real-time Object Detection》(作者:Paul Viola和Michael Jones)提到的Viola-Jones框架。(该算法是通过使用哈尔特征(Haar features)生成许多(可能几千个)简单的二元分类器来实现的。)
2、使用方向梯度直方图(HOG)特征和支持向量机(SVM)分类,该方法仍使用一个多尺度滑动窗,速度很慢。
3、论文《BING:binarized normed gradients for objectness estimation at 300fps》,
原文:http://wenku.baidu.com/link?url=ls5vmcYnsUdC-ynKdBzWgxMX9WomZH2sDRvnQ634UlN8p7oJm_ATFWrLlTQ3H_Co3y-7fL8Jt0MbHu800RWJtSABPKRxrtZvkjkXiFzdLLG
原文翻译:http://www.cnblogs.com/larch18/p/4569543.html
blog:https://blog.csdn.net/app_12062011/article/details/50541395
4、论文《Class-Specific Hough Forests for Object Detection》,2009年cvpr上提出霍夫森林的文章.。
其实还有很多传统算法,这里不一一列举了。
深度学习方法:
机器学习领域,深度学习一直是个大boss,在计算机视觉方面处理图像分类和目标检测任务,DL简直完胜。现在聊一下利用deep learning 解决objection-detection问题。物体检测和图片分类的区别:图片分类不需要定位,而物体检测需要定位出物体的位置,也就是相当于把物体的bbox检测出来,还有一点物体检测是要把所有图片中的物体都识别定位出来。
object detection我的理解,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。object detection要解决的问题就是物体在哪里,是什么这整个流程的问题。然而,这个问题可不是那么容易解决的,物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,更何况物体还可以是多个类别。
OverFeat
2013年由NYU(纽约大学) 提出的OverFeat 是最早将深度学习用于目标检测的方法之一。他们提出了一个使用卷积神经网络(CNNs)来处理多尺度滑窗的算法。
R-CNN
2014年CVPR上的经典paper:《Rich feature hierarchies for Accurate Object Detection and SemanticSegmentation》,作者是Ross Girshick大师。这篇文章的算法思想又被称之为:R-CNN(Regions with Convolutional Neural Network Features),是物体检测领域曾经获得state-of-art精度的经典文献。
文章链接:https://arxiv.org/abs/1311.2524
代码链接:https://github.com/rbgirshick/rcnn
SPP-Net
2014年ECCV经典paper:《Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition》。SPP:Spatial Pyramid Pooling(空间金字塔池化),这是何大神(何凯铭)之作,结合空间金字塔方法实现CNNs的对任意尺度和比例图像输入。SPP-net的网络结构能够产生固定大小的表示(representation)不管输入图像的尺寸或比例。金字塔池化对物体的形变有很强的鲁棒性。
文章链接:https://arxiv.org/pdf/1406.4729v1.pdf
代码链接:https://github.com/ShaoqingRen/SPP_net
Fast R-CNN
2015年ICCV经典paper:《Fast Region-based Convolutional Networks for object detection》,这是Ross大师时隔一年后的又一篇经典之作。和R-CNN类似,Fast R-CNN依然采用Selective Search生成候选区域,但是和之前的分别提取出所有的候选区域然后使用支持向量机分类器不同,Fast R-CNN 在完整的图片上使用CNN然后使用集中了特征映射的兴趣区域(Region of Interest, RoI),以及前向传播网络进行分类和回归。这个方法不仅更快,而且有Rol集中层和全连接层,使得模型从头到尾可求导,更容易训练。
其中,对整张图像卷积而不是对每个region proposal卷积,ROI Pooling,分类和回归都放在网络一起训练的multi-task loss是算法的三个核心。另外还有SVD分解等是加速的小贡献,数据集的增加时mAP提高的小贡献。
当然Fast RCNN的主要缺点在于region proposal的提取使用selective search,目标检测时间大多消耗在这上面(提region proposal 2~3s,而提特征分类只需0.32s),这也是后续Faster RCNN的改进方向之一。
文章链接:https://www.cvfoundation.org/openaccess/content_iccv_2015/papers/Girshick_Fast_R-CNN_ICCV_2015_paper.pdf
代码链接:https://github.com/rbgirshick/fast-rcnn
Faster R-CNN
2015年NIPS经典paper:《Towards Real-Time Object Detection with Region Proposal Networks》
这是Shaoqing Ren(开发 SPP-Net的大神)(依然与Ross Girshick大师合著,目前在Fackbook研究中心)发表,这是R-CNN的第三次迭代。
Faster R-CNN添加了候选区域网络(Region Proposal Network, RPN),试图取消对Selective Search 算法的依赖,这使得模型可以完全实现端到端训练。
文章链接:https://arxiv.org/abs/1506.01497
代码链接:https://github.com/rbgirshick/py-faster-rcnn
YOLO v1 v2 v3
(其实YOLO V1是先于Faster)。大师Joseph Redmon不厌其烦地提出了三个版本。官网:https://pjreddie.com/darknet/yolo/
YOLO v1 :
2016年CVPR经典paper:《You Only Look Once:Unified, Real-Time Object Detection》,这是大神Joseph Redmon之作,当然也与大师Ross合作。
论文下载:http://arxiv.org/abs/1506.02640
代码下载:https://github.com/pjreddie/darknet
YOLO v2:(也称YOLO9000):
paper:《YOLO9000:Better, Faster, Stronger》
论文下载:https://arxiv.org/pdf/1612.08242v1.pdf
工程代码:http://pjreddie.com/darknet/yolo/
代码下载:http://pjreddie.com/yolo9000/
YOLO v3
paper:《YOLOv3: An Incremental Improvement》
论文下载:https://pjreddie.com/media/files/papers/YOLOv3.pdf
SSD
2016年ECCV经典文章《SSD :single shot multibox detector》。
论文链接:https://arxiv.org/abs/1512.02325
代码链接:
DSSD:
文章:《DSSD : Deconvolutional Single Shot Detector》
ION
文章:《Inside-Outside Net: Detecting Objects in Context with Skip Pooling and Recurrent Neural Networks 》
R-FCN
paper:《Object Detection via Region-based Fully Convolutional Networks》,何凯铭大神的文章。
G-CNN(CVPR2016)
文章《G-CNN: an Iterative Grid Based Object Detector》利用了OHEM还是region proposal方法,其本质都是一种抑制负样本的工作。
论文链接:http://arxiv.org/abs/1512.07729
LocNet(CVPR2016)
squzzedet
Mask R-CNN(ICCV2017)
Mask R-CNN是ICCV 2017的best paper,作者是何凯铭大师。
论文链接:https://arxiv.org/abs/1703.06870
RetinaNet(focal loss)
文章《Focal Loss for Dense Object Detection》,何凯铭大神的。
CoupleNet
文章《CoupleNet: Coupling Global Structure with Local Parts for Object Detection》
人脸检测
Cascade CNN
paper:《A Convolutional Neural Network Cascade for FaceDetection》
论文链接:
DenseBox
文章是2015年发表《DenseBox: Unifying Landmark Localization with End to End Object Detection》
文章链接: http://arxiv.org/abs/1509.04874
demo: http://pan.baidu.com/s/1mgoWWsS
KITTI result: http://www.cvlibs.net/datasets/kitti/eval_object.php
DDFD
文章是2015年雅虎公司发表在CVPR:《Multi-view Face Detection Using Deep Convolutional Neural Networks》。
论文链接:https://arxiv.org/pdf/1502.02766.pdf
PICO NPD
pico论文《Object Detection with Pixel Intensity Comparisons Organized in Decision Trees》
pico实现代码:https://github.com/nenadmarkus/pico
MTCNN
文章是中科院的2016年发表。
文章链接:https://kpzhang93.github.io/MTCNN_face_detection_alignment/
代码链接:https://github.com/kpzhang93/MTCNN_face_detection_alignment
改进版的VJ人脸检测
论文链接:https://lirias.kuleuven.be/bitstream/123456789/560283/2/VISAPP2017.pdf
faceness-net
2017年PAMI 文章:《Faceness-Net: Face Detection through Deep Facial Part Responses 》,文章借鉴了2015年ICCV文章《From Facial Parts Responses to Face Detection: A Deep Learning Approach》
文章链接:https://arxiv.org/pdf/1701.08393.pdf
tinyFace(小目标检测,很多很多)
HR
HR - P. Hu, D. Ramanan. Finding Tiny Faces. IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.
Face R-CNN
Face R-CNN - H. Wang, Z. Li, X. Ji, Y. Wang. Face R-CNN. arXiv preprint arXiv:1706.01061, 2017
SSH
论文:SSH - M. Najibi, P. Samangouei, R. Chellappa, L. Davis. SSH: Single Stage Headless Face Detector. IEEE International Conference on Computer Vision (ICCV), 2017
RSA
Recurrent Scale Approximation for Object Detection in CNN ICCV2017
S3FD:
paper:《S3FD: Single Shot Scale-invariant Face Detector》
code : https://github.com/sfzhang15/SFD
FaceBoxes
论文:《FaceBoxes: A CPU Real-time Face Detector with High Accuracy》
ScaleFace
文章 《Face Detection through Scale-Friendly Deep Convolutional Networks》
PyramidBox
论文:PyramidBox - X. Tang, Daniel K. Du, Z. He, J. Liu PyramidBox: A Context-assisted Single Shot Face Detector. arXiv preprint arXiv:1803.07737, 2018
####最近文章:
shufflenet_v1
《ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices》2017 年Face++
shufflenet_v2:
《ShueNet V2: Practical Guidelines for Ecient CNN Architecture Design》
2018年Face++
Lightweight-net
《Tiny-DSOD: Lightweight Object Detection for Resource-Restricted Usages》
2018年