原论文标题:Rich feature hierarchies for accurate object detection and semantic segmentation
会议:Computer Vision and Pattern Recognition(CVPR)
源代码:http://www.cs.berkeley.edu/~rbg/rcnn
作者在文中提出了一种基于深度神经网络的物体检测算法,并在公开数据集PASCAL VOC上进行了实验。
1、算法结构
RCNN 算法主要由如下几个部分组成。
1.1 Region proposals
建议区域的提出算法有多种,如objectness、selective search、category-independent object proposals 等,文中采用了主流的selective search算法用于获得建议区域。
1.2 特征提取
传统的图片特征提取算法主要包括HOG、SIFT等,但是性能较CNN网络具有较大的差距,因此文中采用了后者用于特征提取。目前比较主流的CNN网络有VGG、ResNet、GoogleNet、DenseNet等,文中采用了VGG16网络结构。CNN网络的输出大小为227x227,这就意味着作者会将SS产生的边框resize到这一尺寸。
1.3 预测层
通过1.2节中获得的feature map后,将其通过两个全连接层后分成两路,一路用于类别预测,一路用于边框回归。预测的损失函数为交叉熵损失函数,而回归的损失函数为SmoothL1Loss。文中还使用了SVM分类器来提升分类的性能。
2、训练
文中采用了迁移学习的思想,即在ILSVRC 2012数据集上对VGG进行了预训练。并且将IOU值大于等于0.5的设置为positive, 剩余的视作negative。每一个mini-batch大小为128(32positive, 96 negative)。
3、测试
在测试阶段,采用了NMS来对proposal的边框进行筛选。
了解详情,可以关注公众号。