目标检测之two stage方法

  • 对基于two stage目标检测的认识
    • R-CNN详细介绍
      • step1:生成大量候选区域
      • step2:提取特征
      • step3:特征送入分类器,判定类别
      • step4: 使用回归器精细修正候选框位置
      • R-CNN存在的缺点
    • Fast R-CNN详细介绍
      • 训练步骤
      • 测试步骤
      • 存在的缺点

对基于two stage目标检测的认识

图像分类的基础上,要解决的核心问题是:

  1. 目标可能出现在图像中的任何位置
  2. 目标的不同大小
  3. 目标的不同形状
    而Two stage目标检测的大致思路为:
  4. 对整张图像进行区域生成(region proposal)
  5. 通过卷积神经网络对生成的区域进行目标分类
  6. 对目标进行定位/回归
    常见的two stage目标检测算法有:R-CNN、SPP-Net、Fast R-CNN、Faster R-CNN和R-FCN等

R-CNN详细介绍


创新点:

  1. 使用CNN对候选框计算feature vectors。从传统的经验驱动特征(SIFT、HOG)到数据驱动特征(CNN feature map),提高特征的样本的表示能力
  2. 采用预训练权重和小样本微调解决小样本难以训练和过拟合的问题

大致过程:

  1. 对一整张图像生成1K~2K个候选区域(使用SS算法,下面会详细介绍)
  2. 对每个候选区域,送入神经网络提取特征
  3. 将生成的特征送入SVM分类器,判别是否属于该类
  4. 使用回归器精细修正候选框位置

step1:生成大量候选区域

参考博文https://blog.csdn.net/yuanlulu/article/details/82157071
SS算法参考博文

SS算法主要思想:

  1. 采用过分割手段,将图像分割成小区域
  2. 通过颜色直方图,梯度直方图相近等规则合并
  3. 生成1K~2K个建议框

step2:提取特征

  1. 对每个建议框输出的图像统一缩放一个尺寸
  2. 对每个建议框送入CNN神经网络中提取特征
  3. 这里的神经网络可以使用加载的预训练模型(以Alex Net为例)
  4. 获取到4096维的特征,得到2000x4096维矩阵

step3:特征送入分类器,判定类别

  1. 将得到的2000x4096维特征矩阵与20个svm组成的权值矩阵4096x20,相乘。获得2000x20维矩阵。
  2. 2000x20维矩阵表示每个建议框是某个类别的得分
  3. 分别对2000x20维矩阵的每一列即每一类进行非极大值抑制(NMS)剔除重叠建议框,得到该类中得分最高的一些建议框。
    • 非极大值抑制提出重叠框做法
    • 寻找得分最高的目标框
    • 计算其他目标与该目标的iou值
    • 删除所有iou值大于给定阈值的目标,重复操作2、3步

step4: 使用回归器精细修正候选框位置

对NMS处理后剩余的建议框进一步筛选。即再用20个svm分类器进行回归操作,最终得到得分最高的bounding box

R-CNN存在的缺点

  1. 测试速度慢
  2. 训练速度满
  3. 所需空间大

Fast R-CNN详细介绍

算法流程大致分为3个步骤

  1. 一张图像生成1K~2K个候选框(使用SS算法)
  2. 将原始图像输入神经网络得到相应的特征图,将SS算法生成的候选框位置投影到特征图上获得每个候选框对应的特征图。
  3. 每个特征矩阵通过ROI Pooling层缩放到7x7大小的特征图,最后将特征图通过一系列全连接层得到预测结果

训练步骤

  1. 输入224*224大小的图片,经过卷积层1->降采样层->卷积层2->降采样层->卷积层3->卷积层4->卷积层5->ROI Pooling

  2. 将Conv5的输出(feature map)和region proposal(共有2K,采用SS算法生成。为加快训练对1张图使用64个)送入ROI Pooling

  3. ROI Pooling ->FC(4096) -> FC(4096) - >{并列:FC(Dropout=21),FC(Dropout=84)}

  4. 并列的两个FC层:

    • 用于softmax代表分类输出(输出N+1个类别{N是类别概率,1是背景概率}),
      eg:20+1
    • 用于输出边界框回归参数(输出N+1个类别对应的4个位置回归参数{共 (N+1)x4个节点}),
      eg:(20+1)x4=84
  5. 对应的损失函数由两部分组成:

    • 分类损失:Lcls(p,u) = -logPu
    • 边界框回归损失:λ\lambdaλ[μ\muμ ⩾\geqslant⩾ 1 ]Lloc(tμt^{\mu}tμ,υ\upsilonυ)

测试步骤

与训练过程类似,最后的两个loss层改为一个softmax层,对每个类别使用NMS。

存在的缺点

  1. 生成RP(region proposal)仍旧使用SS算法比较耗时,占用内存较大
  2. 无法实现端到端的训练测试

目标检测之Two Stage相关推荐

  1. 目标检测模型——One stage(YOLO v5的模型解析及应用)

    1. 简介 目标检测分为Two stage和One stage,只使用一个网络同时产生候选区域并预测出物体的类别和位置,所以它们通常被叫做单阶段检测算法(One stage).本篇文章只讲One st ...

  2. 目标检测--Accurate Single Stage Detector Using Recurrent Rolling Convolution

    Accurate Single Stage Detector Using Recurrent Rolling Convolution CVPR 2017 商汤科技关于目标检测的文献 Code: htt ...

  3. 基于目标检测的海上舰船图像超分辨率研究

    基于目标检测的海上舰船图像超分辨率研究 人工智能技术与咨询 来源:< 图像与信号处理> ,作者张坤等 关键词: 目标检测:生成对抗网络:超分辨率 摘要: 针对海上舰船图像有效像素在整体像素 ...

  4. 【深度学习】Two-Stage目标检测算法

    本文参考自 第八章_目标检测.md Two stage目标检测算法: 先进行区域生成(region proposal,RP)(一个有可能包含待检物体的预选框),再通过卷积神经网络进行样本分类. 任务: ...

  5. 目标检测发展路程(一)——Two stage

    目标检测是计算机视觉领域中非常重要的一个研究方向,它是将图像或者视频中目标与其他不感兴趣的部分进行区分,判断是否存在目标,确定目标位置,识别目标种类的任务,即定位+分类.传统的目标检测模型有VJ.De ...

  6. 目标检测——day66 Scaled-YOLOv4: Scaling Cross Stage Partial Network

    Scaled-Yolov4:可伸缩跨级部分网络 Scaled-YOLOv4 1. Introduction 2. Related work 2.1. Real-time object detectio ...

  7. 目标检测的进阶-one stage

    文章目录 前言 Stage 它们的主要区别 one-stage SSD 网络结构图 特点 损失函数 YOLOv1 网络结构图 特点 损失函数 优缺点 YOLOv2 改进 网络结构 特点 损失函数 优缺 ...

  8. 【3D 目标检测】3DSSD: Point-based 3D Single Stage Object Detector

    一 核心思路 本篇通过观察point-based目标检测方法中,在PointNet++的上采样层(FP层)和refinement Module上面耗费了大量时间,因此作者借此提出了one-stage的 ...

  9. 目标检测中特征融合技术(YOLO v4)(上)

    目标检测中特征融合技术(YOLO v4)(上) 论文链接:https://arxiv.org/abs/1612.03144 Feature Pyramid Networks for Object De ...

最新文章

  1. linux下vmware tools工具共享
  2. 自学python后能干什么-学习python后能做哪方面的工作
  3. 老股民经验之谈 这些股票买入必死无疑
  4. 经典C语言程序100例之二一
  5. 【数据结构与算法】之深入解析“交错字符串”的求解思路与算法示例
  6. 重学TCP协议(9) 半连接队列、全连接队列
  7. 2016年第二季度DDoS攻击同比增长129%
  8. Could not create the view An unexpected exception……的问题
  9. VUE-CLI可选的配置文件vue.config.js
  10. Hadoop面试题总结(大数据面试)
  11. android直播刷礼物特效,Android直播送礼物发消息页面(仿印客直播)
  12. win7 计算机定时关机脚本,Win7制作定时关机bat脚本|Win7定时关机程序脚本
  13. 支付宝对账数据下载及解析
  14. 9月第1周基金排行榜 | TokenInsight
  15. 我原以为我不会伤心......
  16. 音乐推荐系统搭建试验
  17. 手机主板ESD设计注意事项
  18. 私域生态中的“消费者共创”:超级用户如何让Lego重焕生机
  19. Tensorflow学习笔记——tf.set_random_seed函数
  20. 计算机主机按键名称,space是哪个键 各种电脑键位名称及功用详解【图文】

热门文章

  1. ICAP互换客户端地址协议iOS实现示例
  2. 下列符号中 表示python中单行注释的是_下列符号中,表示Python中单行注释的是...
  3. 如何在 IDEA 中创建并部署 JavaWeb 程序
  4. GUVV-T20GD-U 太阳光紫外线传感器TO-39U韩国GENICOM光电二极管杀菌灯监控
  5. linux人必须知道之人
  6. YANG模型中<rpc-error>的定义
  7. 【戴嘉乐】IPFS伴侣:一个对IPFS资源管理更加便捷的浏览器插件
  8. ppt(office365)之起始页、目录页、结束页界面布局技巧
  9. Towhee 每日模型周报
  10. Manifest merger failed with multiple errors, see logs解决方案