目标检测(3)—深度学习目标检测算法

基于Two-stage的目标检测算法

  1. CNN卷积特征(卷积神经网提取特征)
  2. R-CNN->faster rcnn
  3. 端到端的目标检测(RPN网络)
  4. 准确度高,速度比one-stage慢

TWO-stage基本流程

  1. 一张图片作为输入
  2. 卷积神经网络(conv&pooling)->通常称为主干网络

      典型的主干网络:VGG,RESNET等

  1. conv+roi_pooling(RPN网络)代替滑动窗口产生候选区域(proposal),同时也会对候选区域分类,分为背景和目标两种,也会对目标的位置进行初步的预测(区域分类,位置精修)
  2. Roi_pooling(抠图)
  3. Fc进一步对候选区域进行表示
  4. 分类和回归分别对候选目标类别的判定和位置的精修

Two-stage常见算法

  1. RCNN
  2. Sppnet
  3. Fast-rcnn
  4. Faster-rcnn

Two-stage核心组件

  1. CNN网络(卷积神经网络)

CNN网络设计原则:—>主干网络的设计原则

  1. 从简到繁到简的卷积神经网

LENET->VGG等(网络深度加深),resnet一百多层->inception->mobilenet(轻量级网络结构),压缩模型大小(在尽可能不损失性能的同时。

  1. 尽可能地加深网络可以得到物体更加抽象的表达。越深层次的网络,鲁棒性越好。同时也会导致梯度消失,
  1. 多尺度特征融合的网络
  2. 更轻量级的cnn网络(mobilenet),对于产品的落地具有重要意义。

 

  1. RPN网络
  1. 输入的图片在经过前面的主干网络(卷积神经网络,cnn层)之后,会产生提取出来的feature naps(n,c,w,h)四维的卷积特征。

n:batch-size的数量(当前处理样本的数量)

C:feature map的个数(channel(卷积核)的个数)

W:当前feature map的宽(可能和原始图片相差一定的倍数)

H:当前feature map的长(可能和原始图片相差一定的倍数)

进行卷积的时候可能没有使用padding的策略保证和原始图片一样的大小,可能也是由于使用pooling层的时候采用下采样,得到更大的感受野。

  1. 区域推荐算法(Anchor机制),对候选区域进行筛选

Feature map大小:n*c*w*h

对于每个feature map(w*h)选择每一个点作为anchor,这个anchor就是候选区域的中心点。根据每个anchor来提取候选区域。候选区域通常会按照一定的比例来选择,对于fast rcnn来说,每一个anchor采用9个不同的尺度采取九个候选区域。则每个feature map(W*H)会得到w*h*9个候选区域。

候选区域被提取出来之后,会利用真值(GT)对候选区域进行筛选。通过筛选之后得到正样本(包含了候选目标的区域)和负样本(表示不包含目标的候选区域)。正负样本的划分通常会根据IOU来判定。IOU>0.7(O.7是超参数,可以调整的)则是正样本。所谓IoU,就是预测box和真实box的覆盖率,其值等于两个box的交集除以两个box的并集。

  

  1. ROI Pooling,通过ROI Pooling提取候选目标

   输入:特征图,rois(1*5*1*1)->区域坐标,以及ROI参数(1/8之类,feature map是原始图片的1/8)

  1. >_xywh(第一个数据表示是索引值,batchsize中的哪一张图片)

输出:固定尺寸的feature map

相当于完成了抠图+resize(固定到一定大小,保证参数大小是固定的)

  1. 分类和回归:通过一个分类和回归网络对候选区域进行精确的分类和坐标位置的回归

Two-stage改进方向

  1. 更好的主干网络
  2. 更精准RPN
  3. 更完善的ROI分类
  4. 样本后处理,数据增强
  5. 更大的mini-Batch

基于One-stagede 目标检测算法

  1. 使用cnn卷积特征
  2. 直接回归物体的类别概率和位置坐标值(无region proposal),不包括RPN网络
  3. 准确度低,速度相对于two-stage快

One-stage基本流程

  1. 给定一张图片作为输入
  2. 通过主干网络完成cnn特征的提取(cnn特征提取)
  3. 直接进行区域的回归和目标的分类(区域分类,位置精修)

One-stage常见算法

  1. yolov1/v2/v3
  2. SSD/DSSD等
  3. Retn-net
  4. 等等

One-stage核心组件

  1. CNN网络(主干网络)

  CNN网络设计原则:—>主干网络的设计原则

(1)从简到繁到的卷积神经网

LENET->VGG等(网络深度加深),resnet一百多层->inception->mobilenet(轻量级网络结构),压缩模型大小(在尽可能不损失性能的同时。

  1. 尽可能地加深网络可以得到物体更加抽象的表达。越深层次的网络,鲁棒性越好。同时也会导致梯度消失,

(2)多尺度特征融合的网络

(3)更轻量级的cnn网络(mobilenet),对于产品的落地具有重要意义。

参数量越少代表着模型越不容易过拟合,更少的参数量减少资源的消耗,防止过拟合问题的产生。

  1. 回归网络

 输入: 通过cnn卷积神经网络提取特征得到的feature map作为回归网络的输入。

回归网络主要完成:

  1. 区域回归(置信度.位置,类别)

     通过回归网络直接输出目标的bounding box的位置信息。在回归过程中会得到置信度(表达当前的bounding box中是否存在目标,存在则是目标区域,不存在则是背景区域)和类别。

  1. Anchor机制(SSD)

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值