最近在看一些目标检测的论文,本文是经典的R-CNN(Regions with CNN features),随之产生的一系列目标检测算法:RCNN,Fast RCNN,Faster RCNN代表当下目标检测的前沿水平。在此之前主要是SIFT和HOG特征。
Code:/rbgirshick/rcnn
概述:
测试流程:(1)输入测试图像
(2)利用selective search算法在输入图像中提取大约2000个region proposals
(3)将每个region proposal warp(缩放)成227*227,再输入到CNN计算特征(fc7的输出),提取出的特征向量的维度为4096维
(4)将提取到的特征输入到SVMs中分类。
(5)对分类好的region proposal做bounding-box regreesion:每个region都会给出所对应的score,选出前几个对大数值,然后再用非极大值抑制canny来进行边缘检测,最后就会得到所对应的bounding-box
针对的问题:localizing objectswith a deep network 和training a high-capacity modelwith only a small quantity of annotated detection data.
(1)图像中的目标定位两种思路:把定位当做回归问题或利用滑动窗口(sliding-window)
(2)对于数据量不足(labeled data is scarce):在大数据集(ImageNet)上进行预训练,之后在特定领域的数据集(PASCAL)上对网络进行fine-tuning(微调)。
非极大值抑制(NMS)先计算出每一个bounding box的面积,然后根据score进行排序,把score最大的bounding box作为选定的框,计算其余bounding box与当前最大score与box的IoU,去除IoU大于设定的阈值的bounding box
运行时间分析:——快的原因:CNN的参数共享,低维度的features vectors,所需要的内存小
数据集的划分:若region proposal与ground-truth的IoU大于某个阀值则为正样本,否则为负样本。阀值是由a grid search over{0,0.1,...,0.5}on a validation set产生的。
结果:将PASCAL VOC上的检测率从35.1%提升到53.7%。