zoukankan      html  css  js  c++  java
  • 目标检测学习笔记

    目标检测方法整理

    经典方法包括:

    基于region proposal的:

    • R-CNN
    • Fast R-CNN
    • Faster R-CNN
    • R-FCN

    基于回归方法的:

    • YOLO
    • SSD

    region proposal方法

    区域建议方法的主要思路是:找出可能的目标区域 + 提取目标区域特征 + 对目标区域分类 and 对目标Box回归

    R-CNN:

    1.使用select search(ss)方法得到目标的可能区域,约2000个
    2.对可能区域先变换到固定大小,再使用CNN提取特征
    3.通过SVM对特征进行分类,得到目标类
    4.通过回归方法得到目标box
    其模型结构图如下:
    R-CNN模型
    其优势是:不需要人工制定描述特征。
    其问题是:训练和检测速度太慢。三部分需要单独训练。

    Fast R-CNN:

    针对R-CNN的速度慢问题,Fast R-CNN通过 ROI pooling和bounding box与classification的合并大大提高了训练速度和检测速度。

    1.使用select search(ss)方法得到目标的可能区域ROI,约2000个
    2.对图片使用CNN提取特征
    3.根据获得的ROI,提取ROI特征,使用ROI池化到固定大小
    4.对池化后结果使用CNN进行classification和regression
    其结构模型如下图:
    Fast R-CNN
    其优势是:通过先CNN再ROI pooling的操作,大大减少了计算冗余;classification和regression操作都使用CNN来完成,且在一个模型中实现,为简化训练步骤打下基础。
    其问题是:速度仍然达不到实时,仍然需要额外的region proposal部分给出ROI,训练也需要分开。

    Faster R-CNN:

    针对Fast R-CNN的不足,提出了Faster R-CNN。通过region proposal net(RPN)来实现区域提议,通过共享思想极大的提高了训练和测试速度。

    1.对图像做CNN特征提取(共享卷积层)
    2.使用RPN网络提取ROI(RPN CNN,好像是两层,有独立的 (E=L_score)(E=L_bbox)),为提高定位精度使用了anchor box
    3.使用2中获得的ROI选择1中的特征区域,进行classification和regression
    其结构模型如下图:
    Faster R-CNN
    其优势是:区域提议、特征提取和分类回归全部使用一个网络完成,大大提高了训练和检测速度。网络训练使用交替训练方法。
    其问题是:仍然不能完全达到检测

    三者的关系与比较

    三者的关系:

    三者的比较:

    图表摘自Faster RCNN解析
    基于区域提取方法的目标检测,更进一步的研究可参考博客文章Faster R-CNN 深入理解 && 改进方法汇总

    回归方法

    基于回归方法的目标检测,不需要预先给出或计算ROI。同时,将classification和bounding box regression放在一个网络部分来完成,其损失函数其实是两个损失函数的综合。
    否可以理解为其实是学习bounding box的位置,然后对bbox内物体按照概率分类?

    YOLO

    最大特点是不需要单独的region proposal,直接用CNN网络对图像做处理,然后根据概率和非极大值抑制(NMS)过滤bbox。
    1.对图像resize后做网格分割(grid cell),分为特定大小(7x7)
    2.对图像做卷积,然后每个cell内预测两个bbox并预估class概率
    3.从772个bbox中过滤得出最终结果
    其结构模型如下图:
    YOLO模型
    其优势是:不需要region proposal,速度很快,可达到实时。使用先训练分类网络,再训练检测模型的方法。
    其问题是:定位精度不准,同时,对小目标的检测,对密集目标的检测很困难。主要原因是每个cell只预测两个bbox。
    为了克服YOLO的主要问题,引入了anchor概念及其他手段,在保证速度的前提下,精度也大大提高。主要手段如下:
    YOLO vs YOLOv2
    这里要注意,anchor概念的引入在mAP上表现的差异不大,但是在recall上增加约7%。具体可见原文献

    SSD

    在速度上可比拟YOLO,在精度上追随Faster R-CNN。主要特点是多层特征图预测分类和bbox,其中bbox有多种尺度和比例。
    1.图像提取特征获得多个层和多个scale的feature map
    2.对每个feature map设定的default bbox进行回归并预测class score(default bbox含有多种尺度和比例)
    3.bbox过滤
    其结构模型如下图:
    SSD模型
    其优势是:如上所述,快并且有较好的精度。
    其问题是:default box的大小形状需要预先人工设置,不能自动迭代。对小目标的检测仍然不够,可能是低层卷积的特征提取不够导致的。

    上述方法可以参考如下博文内的图片:
    比较

  • 相关阅读:
    oracle_case when
    sql记录
    修改tomcat默认编码
    sql server_TED(透明数据加密)
    web请求过程
    freemarker 标签循环list 以及获取下标值
    鼠标操作
    窗口切换
    日历控件
    xpath定位
  • 原文地址:https://www.cnblogs.com/Osler/p/7676445.html
Copyright © 2011-2022 走看看