RCNN目标检测

RCNN目标检测总结

two stages, anchor based object detection

  • R-CNN
  • fast R-CNN
  • faster R-CNN
  • mask R-CNN

RCNN

  • selection search
  • ROI
    耗时的串行式CNN前向传播,对于每一个RoI,都需要经过一个AlexNet提特征
  • SVM
  • 使用bounding box regression进行目标包围框的修正

Fast RCNN

  • selection search
  • ROI pooling layer
    使用一个RoI Pooling Layer在全图特征上摘取每一个RoI对应的特征
  • FC

Faster RCNN

端到端的训练(end-to-end training)

  • Backbone -> RPN(region proposal network)
    取代耗时的selection search
  • ROI Pooling
  • Classifier, Regression
技术要点

RPN
    依靠一个在共享特征图上滑动的窗口,为每个位置生成9种预先设置好anchor。这9种初始anchor包含三种面积(128×128,256×256,512×512),每种面积又包含三种长宽比(1:1,1:2,2:1)
    RPN要做的事情有两个,第一个是判断anchor到底是前景还是背景(SoftmaxLoss),意思就是判断这个anchor到底有没有覆盖目标,第二个是为属于前景的anchor进行第一次坐标修正(SmoothL1Loss)

loss
    loss分两大块,第一大块是训练RPN的loss(包含一个SoftmaxLoss和SmoothL1Loss),第二大块是训练Fast R-CNN中分类器的loss(包含一个SoftmaxLoss和SmoothL1Loss)


Mask RCNN

  • Backbone -> RPN(region proposal network)
  • ROI Align (replace ROI pooling)
  • L c l s L_{cls} Lcls L b o x L_{box} Lbox L m a s k L_{mask} Lmask
    添加并列的 FCN 层(mask 层)
技术要点

采用 ROIAlign 替代 RoiPooling(改进池化操作)
引入了一个插值过程,先通过双线性插值到1414,再 pooling到77,很大程度上解决了仅通过 Pooling 直接采样带来的 Misalignment 对齐问题

Loss Function
每个 ROIAlign 对应 K * m^2 维度的输出。K 对应类别个数,即输出 K 个mask,m对应 池化分辨率(7*7)。
Loss 函数定义:
L m a s k ( C l s k ) = S i g m o i d ( C l s k ) Lmask(Cls_k) = Sigmoid (Cls_k) Lmask(Clsk)=Sigmoid(Clsk),平均二值交叉熵 (average binary cross-entropy)Loss,通过逐像素的 Sigmoid

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值