本文主要是介绍【论文快读】R-CNN(2013),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
标题:Rich feature hierarchies for accurate object detection and semantic segmentation
链接:https://arxiv.org/abs/1311.2524
作者:Ross Girshick等
摘要:
传统的目标检测方法是通过集成系统把低级别的图像特征和高级别的文本相组合。CNN在经典的classification task上做的已经足够好了,但是在object detection上的工作依然是个空白。本文提出,CNN的表现依然可以优于传统的HOG等方法。
本文提出的R-CNN方法基于两点:1大容量的CNN可以用来自底向上地定位和分割区域。2当标签数据很稀疏时,有监督预训练+fine tuning可以达到很好的效果。
由classification到localization增加了检测边缘的部分,这可以视作一个回归问题,但精度很低。借助CNN构造滑窗detector(通常为2个卷积池化层)可以大大提高精度,作者经过各种优化尝试,最终将CNN定位问题作为“recognition using regions”来处理:
首先从input图片取出2000多个不同大小的框,每个框经过affine变换成相同的size后过一遍CNN,得到2000多个固定长度的特征,利用线性svm做2000多个分类。
对于scarce label的问题,首先在辅助数据集中做有监督预训练,然后在小数据集上做fine tunning,原因是图像特征的提取在卷积池化层中完成,但这些特征并不会因为数据集的变换而产生根本性的区别。这样做的结果比传统的HOG方法精确的多。
目标检测
网络结构:
1 选框:今年提出了很多方法,这里采用了selective search。
2 特征提取:5个卷积层和2个全连接层,框经过warp成227*227的rgb,输出是4096维向量。
3 分类:对svm的打分结果进行贪心非极大抑制处理。
训练:
1 在一个完全无关的数据集上对CNN进行预训练,得到一个性能优异的CNN。
2 对1中得到的CNN采用SGD在前述框中进行训练,输出由1000个类调整为21个类,学习率0.001,mini-batch size 128(32个正类+96个负类)。
语义分割
作者采取了三种特征进行语义分割:
1。前述的直接拉伸框
2。仅仅保留前景mask
3。1和2的组合
经过实验发现策略3可以获得更高的精度,但是我觉得和三种方法o2p差别不大,其实并没有做到惊异,或者说能和o2p做到同等水平就已经很优秀了?
这篇关于【论文快读】R-CNN(2013)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!