自从2012年的ILSVRC竞赛中基于CNN的方法一鸣惊人之后,CNN已成为图像分类、检测和分割的神器。其中在图像检测的任务中,R-CNN系列是一套经典的方法,从最初的R-CNN到后来的Fast R-CNN, Faster R-CNN 和今年的Mask R-CNN, 我们可以看到CNN在图像检测中是如何一点一点提高的。和本文来一道回顾R-CNN家族的发展史,了解这些方法的演变和这个演变过程中的那些富有创意的想法。
R-CNN 系列的四篇文章如下:
R-CNN: https://arxiv.org/abs/1311.2524
Fast R-CNN: https://arxiv.org/abs/1504.08083
Faster R-CNN: https://arxiv.org/abs/1506.01497
Mask R-CNN: https://arxiv.org/abs/1703.06870
图像的检测任务是从一个复杂场景的图像中找到不同的物体,并且给出各个物体的边界框。图像检测的三个著名的数据集是PASCAL VOC,ImageNet和微软COCO. PASCAL VOC包含20个物体的类别,而ImageNet包含一千多种物体类别,COCO有80中物体类别和150万个物体实例。
1, R-CNN
R-CNN的思路是很直观的三步曲:1,得到若干候选区域;2, 对每个候选区域分别用CNN分类;3,对每个候选区域分别进行边框预测。
在R-CNN出现之前,目标检测的流行思路是先从图像中得到一些候选区域,再从候选区域中提取一些特征,然后利用一个分类器对这些特征进行分类。分类的结果和候选区域的边界框就可以作为目标检测的输出。一种得到候选区域的方法是Selective Search, 该方法可以得到不同尺度的候选区域,每个候选区域是一个联通的区域。如下图中,左边得到的是较小的候选区域,右边是较大的候选区域,在该尺度下包含了整个人的区域。
原文链接:
https://zhuanlan.zhihu.com/p/30967656?group_id=913258673741639680