目标检测详细综述及常见分类

目标检测

object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。所以,object detection要解决的问题就是物体在哪里以及是什么的整个流程问题。

分类

分为2类

深度方法主要分为one-stage(e.g. SSD, YOLO)和two-stage(e.g. RCNN系列)两种. 相对来说one-stage速度快, 精度低. 而two-stage精度高, 速度慢。https://www.zhihu.com/question/53438706/answer/349720074
在这里插入图片描述

分为3类

https://cloud.tencent.com/developer/news/281788

传统的目标检测算法

Cascade + HOG/DPM + Haar/SVM以及上述方法的诸多改进、优化。

  • 传统目标检测流程
    • 区域选择(穷举策略:采用滑动窗口,且设置不同的大小,不同的长宽比对图像进行遍历,时间复杂度高)
    • 特征提取(SIFT、HOG等;形态多样性、光照变化多样性、背景多样性使得特征鲁棒性差)
    • 分类器分类(主要有SVM、Adaboost等)
  • 传统目标检测算法
    • 图像识别(classification):
      • 输入:图片
      • 输出:物体的类别
      • 评估方法:准确率
      • 解决方法:CNN
    • 定位(localization):
      • 输入:图片
      • 输出:方框在图片中的位置(x,y,w,h)
      • 评估方法:检测评价函数intersection-over-union(IOU)
        • 简单来讲就是模型产生的目标窗口和原来标记窗口的交叠率。具体我们可以简单的理解为: 即检测结果(DetectionResult)与 Ground Truth 的交集比上它们的并集,即为检测的准确率 IOU : 在这里插入图片描述
          https://blog.csdn.net/eddy_zheng/article/details/52126641
    • 解决方法
      • 回归问题。看做回归问题,我们需要预测出(x,y,w,h)四个参数的值,从而得出方框的位置。
        • 步骤一:
          • 先解决简单问题, 搭一个识别图像的神经网络
            • 在AlexNet VGG GoogleLenet上fine-tuning一下
              • fine-tuning。fine tuning的过程其实就是用训练好的参数(可以从已训练好的模型中获得)初始化自己的网络,然后用自己的数据接着训练,参数的调整方法与from scratch训练过程一样(梯度下降)。来自 https://blog.csdn.net/clearch/article/details/80231127
        • 步骤二:
          • 在上述神经网络的尾部展开(也就说CNN前面保持不变,我们对CNN的结尾处作出改进:加了两个头:“分类头”和“回归头”)
          • 成为classification + regression模式
        • 步骤三:
          • Regression那个部分用欧氏距离损失
            • 欧式距离:在这里插入图片描述
          • 使用SGD训练(SGD,随机梯度下降法)。
        • 步骤四
          • 预测阶段把2个头部拼上
          • 完成不同的功能
            • 这里需要进行两次fine-tuning。第一次在ALexNet上做,第二次将头部改成regression head,前面不变,做一次fine-tuning
            • Regression的部分加在哪?有两种处理方法:
              • 加在最后一个卷积层后面(如VGG)
              • 加在最后一个全连接层后面(如R-CNN)
                regression太难做了,应想方设法转换为classification问题。
                regression的训练参数收敛的时间要长得多,所以上面的网络采取了用classification的网络来计算出网络共同部分的连接权值。
      • 取图像窗口
        • 还是刚才的classification + regression思路
        • 取不同的大小的“框”
        • 让框出现在不同的位置,得出这个框的判定得分
        • 取得分最高的那个

候选区域/框 + 深度学习分类

通过提取候选区域,并对相应区域进行以深度学习方法为主的分类的方案,如:

  • R-CNN(Selective Search + CNN + SVM)
  • SPP-net(ROI Pooling)
  • Fast R-CNN(Selective Search + CNN + ROI)
  • Faster R-CNN(RPN + CNN + ROI)
  • R-FCN等系列方法;

基于深度学习的回归方法

YOLO/SSD/DenseBox 等方法;以及最近出现的结合RNN算法的RRC detection;结合DPM的Deformable CNN等

分为4类

https://blog.csdn.net/weixin_38632246/article/details/90450264
在这里插入图片描述

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页