目标检测入门系列手册三:Fast R-CNN 训练教程

简介: 目标检测入门系列手册三:Fast R-CNN 训练教程

>>戳此处立即下载电子书<<,学习全套目标检测算法&模型

image.png

Fast R-CNN

针对R-CNN 的3 个主要问题,我们思考一下是否有更好的解决方案。

首先是速度,2000 个ROI 的CNN 特征提取占用了大量的时间,是否可以用更好的方法,比如共享卷积层来同时处理所有2000 个ROI ?

其次是CNN 的特征不会因SVM 和回归的调整而更新。

R-CNN 的操作流程比较复杂,能否有更好的方式使得训练过程成为端到端的?

接下来我们将介绍Firshick 等人于2015 年提出的Fast R-CNN[2],它非常巧妙地解决了R-CNN 主要的几个问题。

image.png

(a)Fast R-CNN 训练过程示意图


image.png

(b)Fast R-CNN 预测过程示意图


图2-7 Fast R-CNN 训练和预测过程示意图[9]

Fast R-CNN 的训练和预测过程如图2-7 所示,具体训练步骤如下:

(1)将整张图片和ROI 直接输入到全卷积的CNN 中,得到特征层和对应在特征层上的ROI(特征层的ROI 信息可用其几何位置加卷积坐标公式推导得出)。

(2)与R-CNN 类似, 为了使不同尺寸的ROI 可以统一进行训练,Fast R-CNN 将每块候选区域通过池化的方法调整到指定的M×N,所以此时特征层上调整后的ROI 作为分类器的训练数据。与R-CNN 不同的是,这里将分类和回归任务合并到一起进行训练,这样就将整个流程串了起来。Fast R-CNN 的池化示意图如图2-8 所示,即先将整张图通过卷积神经网络,然后在特征层上找到ROI 对应的位置并取出,对取出的ROI 进行池化(此处的池化方法有很多)。池化后,所有2000个M×N 个训练数据通过全连接层并分别经过2 个head:softmax 分类以及L2 回归,最终的损失函数为分类和回归的损失函数的加权和。通过这样的方式就实现了端到端的训练。

image.png

图2-8 Fast R-CNN 中的ROI Pooling[9]

Fast R-CNN 极大地提升了目标检测训练和预测的速度,如图2-9 所示。从图2-9 中我们可以看出,Fast R-CNN 把训练时长从R-CNN 的84 小时下降到了8.75 小时,每张图片平均总预测时长从49 秒降到2.3 秒。

image.png

图2-9 R-CNN 和Fast R-CNN 训练和测试时间对比

从图2-9 中我们还可以看出,在Fast R-CNN 预测的这2.3 秒中,真正的预测过程仅仅占用0.32 秒,而Region proposal 占用了绝大多数的时间。

image.png

目录
相关文章
|
2月前
|
机器学习/深度学习 算法 PyTorch
【PyTorch实战演练】Fast R-CNN中的RoI(Region of Interest)池化详解
【PyTorch实战演练】Fast R-CNN中的RoI(Region of Interest)池化详解
95 1
|
2月前
|
机器学习/深度学习 算法 TensorFlow
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
104 0
文本分类识别Python+卷积神经网络算法+TensorFlow模型训练+Django可视化界面
|
2月前
|
机器学习/深度学习 测试技术 Ruby
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
YOLOv5改进 | 主干篇 | 反向残差块网络EMO一种轻量级的CNN架构(附完整代码 + 修改教程)
205 2
|
2月前
|
机器学习/深度学习 数据可视化 数据挖掘
R语言深度学习卷积神经网络 (CNN)对 CIFAR 图像进行分类:训练与结果评估可视化
R语言深度学习卷积神经网络 (CNN)对 CIFAR 图像进行分类:训练与结果评估可视化
|
2月前
|
机器学习/深度学习 编解码 算法
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
助力目标检测涨点 | 可以这样把Vision Transformer知识蒸馏到CNN模型之中
97 0
|
2月前
|
机器学习/深度学习 编解码 数据可视化
RecursiveDet | 超越Sparse RCNN,完全端到端目标检测的新曙光
RecursiveDet | 超越Sparse RCNN,完全端到端目标检测的新曙光
79 0
|
2月前
|
机器学习/深度学习 监控 算法
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
【Keras计算机视觉】Faster R-CNN神经网络实现目标检测实战(附源码和数据集 超详细)
53 0
|
2月前
|
机器学习/深度学习 算法 固态存储
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
【计算机视觉】目标检测中Faster R-CNN、R-FCN、YOLO、SSD等算法的讲解(图文解释 超详细必看)
247 0
|
1月前
|
机器学习/深度学习
【从零开始学习深度学习】23. CNN中的多通道输入及多通道输出计算方式及1X1卷积层介绍
【从零开始学习深度学习】23. CNN中的多通道输入及多通道输出计算方式及1X1卷积层介绍
【从零开始学习深度学习】23. CNN中的多通道输入及多通道输出计算方式及1X1卷积层介绍
|
1月前
|
机器学习/深度学习 算法 计算机视觉
卷积神经网络(CNN)的工作原理深度解析
【6月更文挑战第14天】本文深度解析卷积神经网络(CNN)的工作原理。CNN由输入层、卷积层、激活函数、池化层、全连接层和输出层构成。卷积层通过滤波器提取特征,激活函数增加非线性,池化层降低维度。全连接层整合特征,输出层根据任务产生预测。CNN通过特征提取、整合、反向传播和优化进行学习。尽管存在计算量大、参数多等问题,但随着技术发展,CNN在计算机视觉领域的潜力将持续增长。

热门文章

最新文章