目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN

目录

  • 一、SPP-net算法
    • 1、R-CNN的缺陷在于每个候选区域都进行了卷积运算
    • 2、SPP-net算法相比于R-CNN,主要进行了两点改进,提出了SPP层
    • 3、映射
    • 4、SPP层:将特征图转换成固定大小的特征向量
    • 5、总结
  • 二、Fast R-CNN算法
    • 1、相较于R-CNN算法改进的地方
    • 2、Rol pooling
    • 3、多任务损失
    • 4、SPP-net, Fast R-CNN, Faster R-CNN三种算法对比
  • 三、Faster R-CNN算法
    • 1、改进之处
    • 2、RPN原理
    • 3、Faster R-CNN的训练组成
    • 4、总结
  • 四、开源keras Faster RCNN模型介绍
    • 1、环境需求
    • 2、keras Faster RCNN代码结构

一、SPP-net算法

1、R-CNN的缺陷在于每个候选区域都进行了卷积运算

目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第1张图片

2、SPP-net算法相比于R-CNN,主要进行了两点改进,提出了SPP层

目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第2张图片
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第3张图片
SS:选择性搜索

3、映射

目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第4张图片
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第5张图片
文档链接:http://kaiminghe.com/iccv15tutorial/iccv2015_tutorial_convolutional_feature_maps_kaiminghe.pdf

4、SPP层:将特征图转换成固定大小的特征向量

目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第6张图片
max pooling:最大池化
池化了解:https://www.zhihu.com/question/303215483/answer/615115629
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第7张图片

5、总结

目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第8张图片

二、Fast R-CNN算法

1、相较于R-CNN算法改进的地方

目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第9张图片
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第10张图片

2、Rol pooling

一个简单版本的spp,目的是为了减少计算时间并且得出固定长度的向量。使用一种4*4=16空间盒数
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第11张图片
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第12张图片
伪端到端,并不是一个真正意义上的端到端目标检测算法。

3、多任务损失

目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第13张图片
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第14张图片

4、SPP-net, Fast R-CNN, Faster R-CNN三种算法对比

目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第15张图片

三、Faster R-CNN算法

1、改进之处

目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第16张图片
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第17张图片
可总结为:RPN+FastR-CNN

RPN(Region Proposal Network):区域生成网络,替代了选择性搜索算法
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第18张图片
region proposals:候选区域
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第19张图片

2、RPN原理

  RPN网络的主要作用是得出比较准确的候选区域。整个过程分为两步:(1)用 n*n (默认3x3=9)的大小窗口去扫描特征图,每个滑窗位置映射到一个低维的向量(默认256维) ;(2)每个滑窗位置考虑k种(在算法论文设计中k=9)可能的参考窗口(论文种称为anchors)
在这里插入图片描述
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第20张图片
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第21张图片
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第22张图片

3、Faster R-CNN的训练组成

目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第23张图片
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第24张图片
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第25张图片
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第26张图片

4、总结

目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第27张图片

四、开源keras Faster RCNN模型介绍

地址: https://github.com/jinfagang/keras_frcnn

1、环境需求

(1)由于该源代码由keras单独库编写所以需要下载keras,必须是2.0.3版本

pip install keras==2.0.3

(2)该源码读取图片以及处理图片标记图片工具使用opecv需要安装

pip install opencv-python

2、keras Faster RCNN代码结构

源码组成结构:
目标检测算法之SPP-net, Fast R-CNN, Faster R-CNN_第28张图片
本文章参考了百度百科,他人技术文章以及哔哩哔哩免费教程,综合整理而来,如有侵权联系删除,小白一个,欢迎大家指导交流!

你可能感兴趣的:(AI学习笔记,cnn,算法,目标检测,人工智能,机器学习)