【检测|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算法,该方法占时间比较大,没有真正意义上的实现端到端,同时无法满足实时性的要求。

相关文章
|
17天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于MSER和HOG特征提取的SVM交通标志检测和识别算法matlab仿真
### 算法简介 1. **算法运行效果图预览**:展示算法效果,完整程序运行后无水印。 2. **算法运行软件版本**:Matlab 2017b。 3. **部分核心程序**:完整版代码包含中文注释及操作步骤视频。 4. **算法理论概述**: - **MSER**:用于检测显著区域,提取图像中稳定区域,适用于光照变化下的交通标志检测。 - **HOG特征提取**:通过计算图像小区域的梯度直方图捕捉局部纹理信息,用于物体检测。 - **SVM**:寻找最大化间隔的超平面以分类样本。 整个算法流程图见下图。
|
4天前
|
监控 算法 数据安全/隐私保护
基于三帧差算法的运动目标检测系统FPGA实现,包含testbench和MATLAB辅助验证程序
本项目展示了基于FPGA与MATLAB实现的三帧差算法运动目标检测。使用Vivado 2019.2和MATLAB 2022a开发环境,通过对比连续三帧图像的像素值变化,有效识别运动区域。项目包括完整无水印的运行效果预览、详细中文注释的代码及操作步骤视频,适合学习和研究。
|
9天前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
17 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
24天前
|
算法 安全
分别使用OVP-UVP和OFP-UFP算法以及AFD检测算法实现反孤岛检测simulink建模与仿真
本课题通过Simulink建模与仿真,实现OVP-UVP、OFP-UFP算法及AFD检测算法的反孤岛检测。OVP-UVP基于电压幅值变化,OFP-UFP基于频率变化,而AFD则通过注入频率偏移信号来检测孤岛效应,确保电力系统安全稳定运行。系统使用MATLAB 2013b进行建模与仿真验证。
|
9天前
|
算法 计算机视觉 Python
圆形检测算法-基于颜色和形状(opencv)
该代码实现了一个圆检测算法,用于识别视频中的红色、白色和蓝色圆形。通过将图像从RGB转换为HSV颜色空间,并设置对应颜色的阈值范围,提取出目标颜色的区域。接着对这些区域进行轮廓提取和面积筛选,使用霍夫圆变换检测圆形,并在原图上绘制检测结果。
14 0
|
2月前
|
机器学习/深度学习 监控 算法
目标检测算法技术
8月更文挑战第11天
|
2月前
|
机器学习/深度学习 监控 算法
目标检测算法
8月更文挑战第8天
|
1天前
|
存储
基于遗传算法的智能天线最佳阵列因子计算matlab仿真
本课题探讨基于遗传算法优化智能天线阵列因子,以提升无线通信系统性能,包括信号质量、干扰抑制及定位精度。通过MATLAB2022a实现的核心程序,展示了遗传算法在寻找最优阵列因子上的应用,显著改善了天线接收功率。
|
12天前
|
算法
基于粒子群算法的分布式电源配电网重构优化matlab仿真
本研究利用粒子群算法(PSO)优化分布式电源配电网重构,通过Matlab仿真验证优化效果,对比重构前后的节点电压、网损、负荷均衡度、电压偏离及线路传输功率,并记录开关状态变化。PSO算法通过迭代更新粒子位置寻找最优解,旨在最小化网络损耗并提升供电可靠性。仿真结果显示优化后各项指标均有显著改善。
|
7天前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
本项目展示了基于分组卷积神经网络(GroupCNN)和灰狼优化(GWO)的时间序列回归预测算法。算法运行效果良好,无水印展示。使用Matlab2022a开发,提供完整代码及详细中文注释。GroupCNN通过分组卷积减少计算成本,GWO则优化超参数,提高预测性能。项目包含操作步骤视频,方便用户快速上手。

热门文章

最新文章