• 目标检测论文解读1——Rich feature hierarchies for accurate object detection and semantic segmentation


    背景

      在2012 Imagenet LSVRC比赛中,Alexnet以15.3%的top-5 错误率轻松拔得头筹(第二名top-5错误率为26.2%)。由此,ConvNet的潜力受到广泛认可,一炮而红。既然convNet在图像分类任务上能取得好成绩,是不是也能放到目标检测任务上呢。本文就是用convNet解决目标检测任务的首次探索。在PASCAL VOC 2010上的mAP达到了53.7%。

    方法

      模型一共分为三个模块。

      (1)region proposals(区域推荐))。在一张整图上面产生很多的侯选框,因为目标检测任务不仅要做分类,还得把目标框出来。这里其实是用了遍历的思想,先把可能存在目标的位置全部列出来,再一个个分类。这里用到的是selective search算法。

      (2)Feature extraction(特征提取)。这部分就是通过AlexNet的前5个conv层和前2个FC层对上面产生224*224*3的图片进行特征提取(注意:产生的子图片要resize到224*224*3,因为后面的FC层接受的是固定长度的vector),最终产生的是4096-d的feature vector。

      (3)SVM分类。使用SVM方法对每个4096-d的feature vector进行分类。注意,原AlexNet里面分类是在后面加一个FC层,把4096-d的vector转成N-d(N是类别数),然后用softmax算法做分类。作者之所以不用这种方法是因为实验中SVM方法效果更好。

      (4)bbox regression(边框回归)。 使用回归器精细修正候选框位置。 

    总结

      可以发现,RCNN的原理十分简单,先用selective search算法在整图上产生n个子图,再把子图resize到224*224*3,然后扔到AlexNet里面(FC-softmax层去掉),产生n个4096-d的vector,用SVM算法分类。

      它的贡献在于是用convNet解决目标检测问题的开山之作,模型的mAP比传统方法高,让更多人通过ConvNet来解决目标检测问题。

    缺点

      (1)它的缺点当然也是很明显的,首先这种方法太暴力,一张图片要产生几千张子图,占用大量的磁盘空间;

      (2)还有就是效率低,我们可以发现,几千张图片肯定有非常多重合的部分,然而这些重合部分都要分开来计算,产生了大量的冗余计算。

  • 相关阅读:
    javascript 下拉列表 自动取值 无需value
    gopkg:一种方便的go pakcage管理方式
    编译GDAL使用最新的HDF库配置文件
    leetcode:程序员面试技巧
    【Unity Shader实战】卡通风格的Shader(一)
    GDAL1.11版本对SHP文件索引加速测试
    【Unity Shaders】Shader学习资源和Surface Shader概述
    关于rowid的函数
    java基本类型的大小
    【转载】oracle之rowid详解
  • 原文地址:https://www.cnblogs.com/xin1998/p/11371615.html
Copyright © 2020-2023  润新知