keras faster物体检测_目标检测及基于keras版fasterRCNN详解

  1. 一直对fasterRCNN感觉不够理解,现结合之前看过的版本,写一个基于keras架构的fasterRCNN整体理解。水平有限,希望和大家多多交流
  2. 原文链接:http://www.ee.bgu.ac.il/~rrtammy/DNN/reading/FastSun.pdf
  3. github托管代码可以在github上自行搜索,之前的keras版本貌似已经失效
  4. 本文是我在学习目标检测时记录的笔记,中间可能会引用部分博客的文档,我会尽力注明引用,如有侵权,请私信告知。

1. 目标检测

目标检测:对给定图片的定位和标注。即目标在哪里和是什么的过程。受限于物体尺寸编号、角度姿态及物体类别多样性,目标检测困难重重。

传统目标检测流程:

  1. 区域选择(穷举策略:采用滑动窗口,且设置不同的大小,不同的长宽比对图像进行遍历,时间复杂度高)
  2. 特征提取(SIFT、HOG等;形态多样性、光照变化多样性、背景多样性使得特征鲁棒性差
  3. 分类器分类(主要有SVM、Adaboost等)

目前学术和工业级目标检测算法可分为传统目标检测算法和基于机器学习的检测算法:

  • 传统目标检测算法:Cascade + HOG/DPM + Haar/SVM及其迭代升级版
  • 基于深度学习检测算法:
    • 基于深度学习的回归方法:YOLO/SSD/DenseBox 等方法

2a62487d0643e6bc668402a34cde4a35.png
    • 候选区域 + 深度学习分类
      • 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

2. RCNN、fastRCNN和fasterRCNN对比

920fbc37af3e1aa80f8efa784965d462.png
图1 RCNN、fastRCNN和fasterRCNN对比

2.1 RCNN

  1. 利用selective search 算法在图像中提取2000个左右的Region Proposal;
  2. 将每个Region Proposal缩放(warp)成227*227的大小并输入到CNN,将CNN的fc7层的输出作为特征并输入到SVM进行分类;
  3. 对于SVM分好类的Region Proposal做边框回归,用Bounding box回归值校正原来的建议窗口,生成预测窗口坐标.

缺陷:

  • 训练耗时,占用磁盘空间大;
  • 速度、测试速度慢测试速度慢:每个候选区域需要运行整个前向CNN计算;
  • SVM和回归是事后操作,在SVM和回归过程中CNN特征没有被学习更新.

ef22b29a5bd741857fc666e846d4a096.png

2.2 fastRCNN

  1. 利用selective search 算法在图像中从上到下提取2000个左右的建议窗口(Region Proposal);
  2. 将整张图片输入CNN,进行特征提取 ;
  3. 把建议窗口映射到CNN的最后一层卷积feature map上;
  4. 通过RoI pooling层使每个建议窗口生成固定尺寸的feature map;
  5. 利用Softmax Loss(探测分类概率) 和Smooth L1 Loss(探测边框回归)对分类概率和边框回归(Bounding box regression)联合训练.

3. Faster RCNN整体流程图

c80e5aa3b48c0ce3e1ef08db7494313f.png
图2 fasterRCNN流程图

由以上流程图,可以看到,fasterRCNN分为两个阶段:

  1. 使用RPN网络获取候选区域(region proposal或ROI)
  2. 对候选区域分类判断并回归修正。

具体来说,可以分为以下几部分

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值