Region-based Convolutional Networks for Accurate Object Detection and Segmentation----R-CNN论文笔记
2016-06-25 16:51
941 查看
一、为什么提出R-CNN
目标检测性能停滞不前,性能最好的集成方法又太复杂,所以作者提出了一个既能大幅提升性能,又更简单的R-CNN。二、R-CNN的框架
上面的框架图清晰的给出了R-CNN的目标检测流程:
1) 输入测试图像
2) 利用selective search算法在图像中提取2000个左右的region proposal。
3) 将每个region proposal变换(warp)成227x227的大小并输入到CNN,将CNN的fc7层的输出作为特征。
4) 将每个region proposal提取到的CNN特征输入到SVM进行分类。
针对上面的框架给出几点解释:
上面的框架图是测试的流程图,要进行测试我们首先要训练好提取特征的CNN模型,以及用于分类的SVM:使用在ImageNet上预训练的模型(AlexNet/VGG16)进行微调得到用于特征提取的CNN模型,然后利用CNN模型对训练集提特征训练SVM。
对每个region proposal缩放到同一尺度是因为CNN全连接层输入需要保证维度固定。
上图少画了一个过程——对于SVM分好类的region proposal做边框回归(bounding-box regression),边框回归是对region proposal进行纠正的线性回归算法,为了让region proposal提取到的窗口跟目标真实窗口更吻合。因为region proposal提取到的窗口不可能跟人手工标记那么准,如果region proposal跟目标位置偏移较大,即便是分类正确了,但是由于IoU(region proposal与Ground Truth的窗口的交集比并集的比值)低于0.5,那么相当于目标还是没有检测到。
三、R-CNN的优点
1)相对之前的算法,目标检测性能大幅提升。四、R-CNN的缺点
1)训练分为多个阶段,步骤繁琐: 微调网络+训练SVM+训练边框回归器2)速度慢: 使用GPU, VGG16模型处理一张图像需要47s。
3)训练耗时,占用磁盘空间大:5000张图像产生几百G的特征文件
五、R-CNN的适用场合
图像分类(image classification)目标检测(object detection)
相关文章推荐
- 毕向东Java视频学习笔记【Day11 异常+object类】
- [随记]浅谈pdfobject.js实现网页PDF文件浏览
- 1.hql查询实体:Object,hbm
- 1.hql简单属性查询:Object,hbm
- 【转载】混编ObjectiveC++
- CCLuaObjcBridge - Lua 与 Objective-C 互操作的简单解决方案
- 1.LazyForSingleEnd Object,hbm
- Object 类
- swift3.0和Objective-C交互事项(转)
- iOS复杂动画之抽丝剥茧(Objective-C & Swift)(转载)
- android:从ArrayList<HashMap<String, Object>>中获取键值对
- Python脚本报错AttributeError: ‘module’ object has no attribute’xxx’解决方法
- ObjectFactory对象工厂类
- JSONObject转换JSON--将Date转换为指定格式
- GitHub前50名的Objective-C动画相关库相关推荐,请自行研究
- GitHub前50名的Objective-C动画相关库相关推荐,请自行研究
- Objective-C 运行时(成员变量和属性)
- Error occurred during initialization of VM java/lang/NoClassDefFoundError: java/lang/Object
- Objective-C学习之Appearance
- object references an unsaved transient instance