【检测|RCNN系列-2】目标检测算法Fast RCNN(附论文获取方式)

简介: 【检测|RCNN系列-2】目标检测算法Fast RCNN(附论文获取方式)

Fast RCNN算法


在RCNN之后的SPPNet虽然解决了重复卷积以及固定输入尺寸的问题,但是依然存在其他的问题,而Fast RCNN则具有更快、更强的性能,不仅训练的步骤可以是西安端到端,而且Backbone也是基于VGG16来及进行设计的,在训练速度上比RCNN快了将近9倍,在前向推理的速度上快了213倍,并在VOC2012数据集上达到了68.4%的检测率。

相比于RCNN主要有以下3点改进:

1、共享卷积

将整幅图送入到卷积神经网络中进行特征提取,然后使用Selective Search算法在特征图上进行区域的输出,大大的减少了卷积的计算时间;

2、RoI Pooling层

利用特征池化(RoI Pooling)方法进行特征尺度变换,这种方法可以使用任意大小的图像输入,使得训练更加的灵活、准确;

3、多任务训练

将分类任务与边界框回归任务都放进网络进行训练,并且为了避免SVM分类器所带来的单独训练与速度慢的缺点,Fast RCNN使用了SoftMax函数进行了分类。

算法具体步骤:

1、首先,图像经过选择性搜索(Selective Search 简称SS)算法提取出约2000个候选区域框,这2000个候选区域框基本上包括了图像中可能出现的目标物体。

2、将图像输入已经训练好的CNN网络中,直到最后一层卷积层,在基于原始输入图像中找到约2000个候选框的位置,然后映射到RoI Pooling层。

3、将每一个映射后的RoI划分为固定大小的网格,并且对每个小网格的所有值取得最大值(即Max Pooling操作),得到固定大小的特征图。

4、将RoI Pooling层得到的特征图作为后续FC层的输入,最后一层输出n个分类信息和4个Bounding Box修正偏移量。将Bounding Box按照位置偏移量进行修正,再根据NMS算法对所有的Bounding Box进行筛选,即可得到对该图像的最终Bounding Box预测值和每个Bounding Box对应的分类概率。

RoI Pooling层

假设卷积得到的特征图如下图所示:

image.png

先进行格子的划分,由于每个小格子的尺度不同,因此作者设计为每个小格子里去区域的最大值为感兴趣区域,如上图8*8的特征图中的黑色框内的四个小格,虽然不同,但是最终的结果是统一的,上图黑色框内的RoI Pooling结果:

image.png

多任务损失函数

image.png

其中,为目标分类u的对数损失,为每一个RoI在K+1个分类中的离散概率分布

1、分类损失

计算K+1个类的分类损失函数(K个目标类别,1个背景类别):

image.png

2、回归损失

为目标分类u的边界回归函数:

式中,,目标分类u的边界预测值为。

这里的L1 Loss作者在论文中也进行了分析,L1 Loss比L2 Loss更具抗噪性,对数值波动不敏感,能够更好的找到目标分类的边界值。


优缺点


优点:

1、更高的检测精度;

2、基于多任务损失函数使得训练更加灵活简单;

3、采用了ROI Pooling层,方便实现卷积模型的端到端的训练。

缺点:

候选框获取依然使用的是SS算法,该方法占时间比较大,没有真正意义上的实现端到端,同时无法满足实时性的要求。

相关文章
|
2月前
|
机器学习/深度学习 监控 算法
基于反光衣和检测算法的应用探索
本文探讨了利用机器学习和计算机视觉技术进行反光衣检测的方法,涵盖图像预处理、目标检测与分类、特征提取等关键技术。通过YOLOv5等模型的训练与优化,展示了实现高效反光衣识别的完整流程,旨在提升智能检测系统的性能,应用于交通安全、工地监控等领域。
|
3月前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
3月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
82 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
2月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于GA-PSO-SVM算法的混沌背景下微弱信号检测matlab仿真
本项目基于MATLAB 2022a,展示了SVM、PSO、GA-PSO-SVM在混沌背景下微弱信号检测中的性能对比。核心程序包含详细中文注释和操作步骤视频。GA-PSO-SVM算法通过遗传算法和粒子群优化算法优化SVM参数,提高信号检测的准确性和鲁棒性,尤其适用于低信噪比环境。
|
2月前
|
存储 JSON 算法
TDengine 检测数据最佳压缩算法工具,助你一键找出最优压缩方案
在使用 TDengine 存储时序数据时,压缩数据以节省磁盘空间是至关重要的。TDengine 支持用户根据自身数据特性灵活指定压缩算法,从而实现更高效的存储。然而,如何选择最合适的压缩算法,才能最大限度地降低存储开销?为了解决这一问题,我们特别推出了一个实用工具,帮助用户快速判断并选择最适合其数据特征的压缩算法。
61 0
|
3月前
|
算法 计算机视觉 Python
圆形检测算法-基于颜色和形状(opencv)
该代码实现了一个圆检测算法,用于识别视频中的红色、白色和蓝色圆形。通过将图像从RGB转换为HSV颜色空间,并设置对应颜色的阈值范围,提取出目标颜色的区域。接着对这些区域进行轮廓提取和面积筛选,使用霍夫圆变换检测圆形,并在原图上绘制检测结果。
100 0
|
10天前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
144 80
|
4天前
|
机器学习/深度学习 算法
基于遗传优化的双BP神经网络金融序列预测算法matlab仿真
本项目基于遗传优化的双BP神经网络实现金融序列预测,使用MATLAB2022A进行仿真。算法通过两个初始学习率不同的BP神经网络(e1, e2)协同工作,结合遗传算法优化,提高预测精度。实验展示了三个算法的误差对比结果,验证了该方法的有效性。
|
6天前
|
机器学习/深度学习 数据采集 算法
基于PSO粒子群优化的CNN-GRU-SAM网络时间序列回归预测算法matlab仿真
本项目展示了基于PSO优化的CNN-GRU-SAM网络在时间序列预测中的应用。算法通过卷积层、GRU层、自注意力机制层提取特征,结合粒子群优化提升预测准确性。完整程序运行效果无水印,提供Matlab2022a版本代码,含详细中文注释和操作视频。适用于金融市场、气象预报等领域,有效处理非线性数据,提高预测稳定性和效率。
|
3天前
|
算法
基于梯度流的扩散映射卡尔曼滤波算法的信号预处理matlab仿真
本项目基于梯度流的扩散映射卡尔曼滤波算法(GFDMKF),用于信号预处理的MATLAB仿真。通过设置不同噪声大小,测试滤波效果。核心代码实现数据加载、含噪信号生成、扩散映射构建及DMK滤波器应用,并展示含噪与无噪信号及滤波结果的对比图。GFDMKF结合非线性流形学习与经典卡尔曼滤波,提高对非线性高维信号的滤波和跟踪性能。 **主要步骤:** 1. 加载数据并生成含噪测量值。 2. 使用扩散映射捕捉低维流形结构。 3. 应用DMK滤波器进行状态估计。 4. 绘制不同SNR下的轨迹示例。

热门文章

最新文章