由于课程作业的要求,实现一项检测任务,故决定读一下R-CNN的paper,由于知识的匮乏读起来真的很费劲。将一些个人认为重要的地方进行了翻译以方便阅读。建议在读文章前对一些基本的概念有所了解,比如selective search、非极大值抑制、以及各个数据库等。等更深层次的理解后再做补充。
2.Object detection with R-CNN
- 生成分类独立的Region proposals.
- 用一个大型卷积神经网络,从每一个区域提取固定长度的特征向量。
- class-specific linear SVMs.
2.1 Module design
使用Selective search的方法与先验的检测工作做对照比较。
2.1.2 Feature extraction
在Caffe框架用CNN提取一个4096维的特征向量。
- 改变region的图像为相同尺寸,义工CNN使用(CNN要求图片的尺寸是相同的)
2.2 Test-time detection
- 为了满足CNN的计算特性,对图像进行warp,通过前向传播计算。
- 然后,针对每个类,我们使用针对该类训练的SVM对每个提取的特征向量进行打分。
- 对图像中的region打分,并使用非极大值抑制的方法计算IoU。
2.3 Run-time analysis
- CNN的两大优点,一是参数贡献
- 二是CNN相对于其他算法是低维计算。
2.3 Training 2.3.1 Supervised pre-training
-
在ILSVRC上进行了有区别的训练,这个图像库不提供边框标签只有图像级注释。
2.3.2 Domain-specific fine-tuning -
我们继续随机梯度下降(SGD)训练的CNN参数只使用warped region proposals。
-
对于与ground-truth重叠区域的IoU>0.5的作为正样本,其他的作为负样本。
2.3.3 Object category classifiers
主要讲了如何选取positive example和negative example,以及如何选取阈值。
- 在提取特征并应用训练标签后,我们对每个类优化一个线性SVM
2.4. Results on PASCAL VOC 2010-12
3 Visualization, ablation, and modes of error
提出了一种非参数的方法能直接显示网络是如何工作的。
网络似乎学习了一种表示方法,该方法将少量的类调优特性与形状、纹理、颜色和材料属性的分布式表示方法结合在一起。
3.4 Bounding-box regression
训练了一个线性回归模型用来预测一个新的检测窗口,该窗口给出了一个选择性搜索区域建议的pool特征。
4.2 Region proposal
一个小的改进是由于Selective search方法不具有尺度不变性,因此regions的数量依赖于图像的分辨率。所以在跑selective search方法之前先调整像素。
4.3 Training data
R-CNN的训练数据需要三步:
- CNN的微调
- SVM检测器的训练
- bounding-box回归训练
没有从train中提取负样本,因为注释不是详尽的,没有使用额外的经过验证的负面图像。
5.Semantic segmentation 6.Conclusion
我们通过两个方法实现了这一性能。首先将大容量卷积神经网络应用于自底向上的区域方案中,对目标进行定位和分割。第二种是当标记的训练数据缺乏时训练大型CNNs的范例。实验结果表明,对数据丰富的辅助任务(图像分类)进行带监督的网络预训练,然后对数据不足的目标任务(检测)进行网络微调是非常有效的。我们推测,监督前培训/领域特定的微调将对各种数据匮乏的视觉问题非常有效。