R-CNN学习笔记

来源:互联网 发布:数据挖掘是什么 编辑:程序博客网 时间:2024/05/21 00:00

1、简介

       R-CNN是深度学习在目标检测任务上的应用,其中R对应于“Region(区域)”。整体框架与传统方法相似。

       本文两个关键点是:1、使用候选窗口,并用CNN对其进行特征提取;2、样本缺乏时,使用大量辅助样本预先训练,再用自己样本进行微调。

        整体框架大致为:生成候选窗口(Selective Search),进行特征提取(CNN),对窗口进行分类(SVM),边框回归(Bounding box regression)。


R-CNN目标检测系统框图

2、生成候选窗口(Selective Search)

       使用Selective Search方法生成候选窗口,抛弃了滑动窗口范式(传统的SIFT,HOG等方法)。

        Selective Search方法先基于各种颜色特征将图像划分为多个小块,然后自底向上地对不同的块进行合并,在这个过程中,合并前后的每一个块都对应于一个候选窗口,最后挑出最有可能包含待检测目标的窗口作为候选窗口。

         与图像分类区别:图像分类是把输入图像作为样本,依次进行处理;本文是针对一个输入图像,再用SS方法生成2000个左右的候选区域,几乎涵盖了图像中物体可能出现所有位置。

3、特征提取及分类

3.1  训练

       有监督的预训练:当样本缺乏时,用ILSVRC-2012作为辅助样本训练集,进行预训练。

        特定领域微调:用自己的样本,使用随机梯度下降法对预训练的CNN网络进行微调。

        用CNN训练结果训练SVM分类器(二分类),这样我们的SVM分类器就训练好了。

3.2  特征提取及分类

       对于提取的候选窗口,用CNN提取特征。CNN网络模型包含5个卷积层,2个全连接层。

        先将候选窗口图像尺寸变为227*227,在对每个图像进行扭曲,最后输入到CNN模型中,得到提取的特征值。

        将提取的特征值输入到SVM分类器中,得到分类结果。

4、边框回归(Bounding box regression)

        边框回归指的是在给定窗口的基础上去预测真实检测框的位置和大小,也就是说,有了候选窗口之后,如果其被判别成了一个人脸窗口,那就会进一步被调整以得到更加精确的位置和大小——和待检测目标贴合得更好。边框回归一方面提供了一个新的角度来定义检测任务,另一方面对于提高检测结果的精确度有比较显著的作用。

原创粉丝点击