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

相关文章
|
9天前
|
算法 JavaScript 前端开发
在JavaScript中实现基本的碰撞检测算法,我们通常会用到矩形碰撞检测,也就是AABB(Axis-Aligned Bounding Box)碰撞检测
【6月更文挑战第16天】JavaScript中的基本碰撞检测涉及AABB(轴对齐边界框)方法,常用于2D游戏。`Rectangle`类定义了矩形的属性,并包含一个`collidesWith`方法,通过比较边界来检测碰撞。若两矩形无重叠部分,四个条件(关于边界相对位置)均需满足。此基础算法适用于简单场景,复杂情况可能需采用更高级的检测技术或物理引擎库。
47 6
|
8天前
|
机器学习/深度学习 人工智能 自然语言处理
【CVPR2024】阿里云人工智能平台PAI图像编辑算法论文入选CVPR2024
近期,阿里云人工智能平台PAI发表的图像编辑算法论文在CVPR-2024上正式亮相发表。论文成果是阿里云与华南理工大学贾奎教授领衔的团队共同研发。此次入选标志着阿里云人工智能平台PAI自主研发的图像编辑算法达到了先进水平,赢得了国际学术界的认可。在阿里云人工智能平台PAI算法团队和华南理工大学的老师学生们一同的坚持和热情下,将阿里云在图像生成与编辑领域的先进理念得以通过学术论文和会议的形式,向业界传递和展现。
|
5天前
|
机器学习/深度学习 算法 语音技术
基于语音信号MFCC特征提取和GRNN神经网络的人员身份检测算法matlab仿真
**语音识别算法概览** MATLAB2022a中实现,结合MFCC与GRNN技术进行说话人身份检测。MFCC利用人耳感知特性提取语音频谱特征,GRNN作为非线性映射工具,擅长序列学习,确保高效识别。预加重、分帧、加窗、FFT、滤波器组、IDCT构成MFCC步骤,GRNN以其快速学习与鲁棒性处理不稳定数据。适用于多种领域。
|
6天前
|
机器学习/深度学习 算法 计算机视觉
基于ADAS的车道线检测算法matlab仿真
**摘要:** 基于ADAS的车道线检测算法利用Hough变换和边缘检测在视频中识别车道线,判断车道弯曲情况,提供行驶方向信息,并高亮显示。在MATLAB2022a中实现,系统包括图像预处理(灰度化、滤波、边缘检测)、车道线特征提取(霍夫变换、曲线拟合)和车道线跟踪,确保在实时场景中的准确性和稳定性。预处理通过灰度转换减少光照影响,滤波去除噪声,Canny算法检测边缘。霍夫变换用于直线检测,曲线拟合适应弯道,跟踪则增强连续帧的车道线检测。
|
13天前
|
机器学习/深度学习 监控 算法
基于yolov2深度学习网络的昆虫检测算法matlab仿真,并输出昆虫数量和大小判决
YOLOv2算法应用于昆虫检测,提供实时高效的方法识别和定位图像中的昆虫,提升检测精度。核心是统一检测网络,预测边界框和类别概率。通过预测框尺寸估算昆虫大小,适用于农业监控、生态研究等领域。在matlab2022A上运行,经过关键升级,如采用更优网络结构和损失函数,保证速度与精度。持续优化可增强对不同昆虫的检测能力。![image.png](https://ucc.alicdn.com/pic/developer-ecology/3tnl7rfrqv6tw_e760ff6682a3420cb4e24d1e48b10a2e.png)
|
18天前
|
算法 计算机视觉
图像处理之霍夫变换圆检测算法
图像处理之霍夫变换圆检测算法
14 0
|
1天前
|
算法
基于GA遗传优化的混合发电系统优化配置算法matlab仿真
**摘要:** 该研究利用遗传算法(GA)对混合发电系统进行优化配置,旨在最小化风能、太阳能及电池储能的成本并提升系统性能。MATLAB 2022a用于实现这一算法。仿真结果展示了一系列图表,包括总成本随代数变化、最佳适应度随代数变化,以及不同数据的分布情况,如负荷、风速、太阳辐射、弃电、缺电和电池状态等。此外,代码示例展示了如何运用GA求解,并绘制了发电单元的功率输出和年变化。该系统原理基于GA的自然选择和遗传原理,通过染色体编码、初始种群生成、适应度函数、选择、交叉和变异操作来寻找最优容量配置,以平衡成本、效率和可靠性。
|
3天前
|
机器学习/深度学习 算法
基于鲸鱼优化的knn分类特征选择算法matlab仿真
**基于WOA的KNN特征选择算法摘要** 该研究提出了一种融合鲸鱼优化算法(WOA)与K近邻(KNN)分类器的特征选择方法,旨在提升KNN的分类精度。在MATLAB2022a中实现,WOA负责优化特征子集,通过模拟鲸鱼捕食行为的螺旋式和包围策略搜索最佳特征。KNN则用于评估特征子集的性能。算法流程包括WOA参数初始化、特征二进制编码、适应度函数定义(以分类准确率为基准)、WOA迭代搜索及最优解输出。该方法有效地结合了启发式搜索与机器学习,优化特征选择,提高分类性能。
|
3天前
|
机器学习/深度学习 算法 数据可视化
基于BP神经网络的64QAM解调算法matlab性能仿真
**算法预览图省略** MATLAB 2022A版中,运用BP神经网络进行64QAM解调。64QAM通过6比特映射至64复数符号,提高数据速率。BP网络作为非线性解调器,学习失真信号到比特的映射,对抗信道噪声和多径效应。网络在处理非线性失真和复杂情况时展现高适应性和鲁棒性。核心代码部分未显示。
|
1天前
|
算法 计算机视觉
基于Chan-Vese算法的图像边缘提取matlab仿真
**算法预览展示了4幅图像,从边缘检测到最终分割,体现了在matlab2022a中应用的Chan-Vese水平集迭代过程。核心代码段用于更新水平集并显示迭代效果,最后生成分割结果及误差曲线。Chan-Vese模型(2001)是图像分割的经典方法,通过最小化能量函数自动检测平滑区域和清晰边界的图像分割,适用于复杂环境,广泛应用于医学影像和机器视觉。**

热门文章

最新文章