跑yolov3_目标检测——Faster RCNN简介与代码注释(附github代码——已跑通)

efb0a9ead98c3a7ea9a2c71c00127780.png

GitHub(代码中有详尽注释):

liuyuemaicha/simple_faster_rcnn​github.com
d1600d88d7583da7dd8a7bc1eec8c230.png

注:

  1. github代码依赖python 2.7 和pytorch,pytorch支持0.4.1和0.3.1

2.Faster RCNN理解,主要参考:

白裳:一文读懂Faster RCNN​zhuanlan.zhihu.com
ed9e6397bf689151bf3007ee32f9d7b8.png

3. 本文是认为读者对Faster RCNN有初步的认识。如果是初学者,建议先阅读上面的文章,再结合本代码,会有更好的理解。

在objects detection算法中,大概可以分为两大方向

一、Two-Stage,这是一种Proposal-based的方法,需要先使用启发式方法(selective search)或者CNN网络(RPN)产生Region Proposal,然后再在Region Proposal上做分类与回归。

  1. R-CNN
  2. Fast R-CNN
  3. Faster R-CNN
  4. Mask R-CNN

二、One-Stage,这是一种Proposal-free的方法,不需要先计算Proposal,直接使用一个CNN网络预测不同目标的类别与位置

  1. YOLO系列
  2. SSD
  3. RetinaNet

关于One-Stage的YOLOV3的简介和代码注释,可以查阅:

KevinCK:目标检测——YOLO V3简介及代码注释(附github代码——已跑通)​zhuanlan.zhihu.com
7a27e723656a9a4a83f86487023348f7.png

Two Stage的框架如下:

3476d28f2c8674253137e035b2d26423.png
转自:https://blog.csdn.net/WYH19951220/article/details/88943472

Faster RCNN基于Two Stage框架的详细设计:

a7fc1ffb392921128f6cbf3876077a85.png
转自:https://zhuanlan.zhihu.com/p/31426458

下图是本文根据代码流程设计的结构图:

bae8b6cccaca4300b90b8c1f071ebd8c.png
GitHub代码中对应的处理步骤

Faster RCNN使用了VGG16模型提取特征,提取得到的特征用到了RPN处理和ROI Pooling处理。 图像经过VGG16模型提取特征后:

  • step_1: 初始化anchors,计算有效anchors(valid_anchors),并获取目标anchors的置信度(anchor_conf)和平移缩放系数(anchor_locs)
  • step_2: RPN计算:特征图feature map通过RPN预测anchor参数:置信度(foreground)和转为预测框的坐标系数
  • step_3: 计算
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值