Rich feature hierarchies for accurate object detection and semantic segmentation

来源:互联网 发布:防沉迷ipad软件 编辑:程序博客网 时间:2024/05/29 15:32

一、主要思想

             本文的主要思想首先采用Selective Search for Object Recognition论文的方法对每张图像分块得到多个个Region proposals,然后对每个Region proposal提取CNN特征,在采用线性svm进行分类,在VOC2012上面达到了 53.3%的mAP。

    

二、Object detection with R-CNN

    1、模型框架

     (1)获取Region proposals

                 采用Selective Search for Object Recognition论文的方法的快速模式获得。

     (2)特征提取

         采用开源代码caffe(他们是一个研究机构的)提取CNN特征,采用warp的方式把所有图像resize到227*227,因为caffe的输入图像的尺寸是固定的。

        

     (3)分类器

         采用线性SVM建立二分分类器。

     2、训练

      (1)监督的方式的预训练

          采用caffe程序在ILSVRC 2012进行预训练,这个可以学习到大规模的数据集的基本特征,将这些参数作为调优的初始画参数,已解决深度学习中针对特征任务数据量小的问题。

      (2)针对特定任务的调优

         用Region proposals作为训练集,把和ground-truth box的IoU大于0.5的作为正样本,其余作为负样本;每Region proposal,resize到227*227;caffe的构架不用变,只需要将最后一层的1000类输出改为21类(20类+1类背景),同时把第八层的相应名字修改了(随便取);以0.001的学习率开始SGD,每个min-batch由32个正样本窗口和96的背景窗口组成的128个Region proposals,这样做的目的是为了平衡正负样本的差距问题,因为Selective Search产生的负样本非常多

            (3)训练Object分类器

      由于正负样本的数量极多,并且比例严重失衡,正样本少,负样本多。正对这个问题采用standard hard negative mining method训练二分类器。初始化的时候,选择ground-truth box的样本作为正样本,把与ground-truth box的IoU小于0.3的作为负样本,采用线性SVM更新模型。

三、实验结果

      1、Detection average precision (%) on VOC 2010 test.

    

           2、Detection average precision (%) on VOC 2007 test


四、总结      

      我这里主要是描述了Detection的工作,文章里面还有很多知识点,比如Visualization, ablation, and  modes of error,Bounding box regression,Semantic segmentation等,这里不再详解,可以参考论文理解。本文的方法的主要框架思路还是很明晰,对每个小框提取CNN特征,解决多标签问题。不过这种方法需要花费大量的时间在实际应用中可能现实,不过有更快速的方法已经提出,可以参考我的博客《CNN: Single-label to Multi-label》。之所以后详解这篇论文的代码是开源的,同时我也刚把这篇论文应用到自己的项目当中花费了大量时间,结果还没有出来。而这篇CNN: Single-label to Multi-label》的代码还没有公布,本人的能力有限还没有实现


0 0
原创粉丝点击