【深度学习-目标检测】02 - Fast R-CNN 论文学习与总结

news2024/9/25 1:22:45

论文地址:Fast R-CNN

论文学习

1. 摘要(Abstract)

  1. Fast R-CNN方法的提出:
    • 论文提出了一种快速区域卷积网络的办法,基于之前的R-CNN网络进行改进。
  2. 效率和准确性的提升:
    • Fast R-CNN 在之前的工作基础上,通过几项创新提高了训练和测试的速度,同时也提高了检测的准确性(提高了训练和测试速度包括准确性
  3. 性能比较:
    • 相较于 R-CNN,以VGG-16为特征提取网络的基础下,训练速度快9倍,测试时速度快213倍并且在PASCAL VOC 2012上实现了更高的平均精度。
    • 相较于 SPPnet,以VGG-16为特征提取网络的基础下,训练速度快3倍,测试时速度快10倍并且拥有更高的准确性。

2. 引言

目标检测的挑战 及 现有网络的局限性

  1. 目标检测的复杂性:
    • 目标检测相较于图片分类更具有挑战性。
  2. 多阶段训练流程的低效率:
    • 当前的方法(R-CNN、SPPnet等)通常采用多阶段的训练流程,这种流程不仅训练速度慢,而且效率低下。
  3. 对象定位的准确性问题:
    • 目标检测需要准确定位对象,这带来了两个主要挑战
      • 需要处理大量的候选框(区域提议)
      • 这些候选框(区域提议)只提供大致的定位,需要进一步细化以实现更精确的定位。
  4. 现有解决方案的不足:
    • 解决上述问题的方案通常在 速度、准确性、简洁性方面存在妥协。
  5. R-CNN 和 SPPnet 的局限性:
    • R-CNN 存在 多阶段训练流程、训练空间和时间成本高、检测速度慢 的问题。
    • SPPnet 在训练的时候无法更新卷积层,这限制了深度网络的准确性。

3. Fast R-CNN架构和训练

Fast R-CNN 架构

  • Fast R-CNN网络以整个图像和一组对象提议(object proposals)作为输入。
  • 网络首先通过多个卷积(conv)和最大池化(max pooling)层处理整个图像,产生卷积特征图(conv feature map)。(与R-CNN不同,一开始就将整幅图进行CNN卷积,提取出全图的特征图
  • 对于每个对象提议,区域兴趣(Region of Interest, RoI)池化层从特征图中提取固定长度的特征向量。每个区域提议可能大小不一,形状不一,ROI池化层将它们进行处理,以保证每个区域提议获得的特征向量长度一致
  • 每个特征向量被送入一系列全连接层(fully connected layers),最终分叉为两个兄弟输出层:一个输出K个对象类别加上一个“背景”类别的softmax概率估计,另一个输出每个K类别的四个实值数,代表精细化的边界框位置。(与R-CNN的SVM分类器不同,采用了softmax进行分类

ROI池化层

  • RoI池化层使用最大池化将任何有效区域兴趣内的特征转换为具有固定空间范围(例如7x7)的小特征图。
  • 每个RoI由一个四元组(r, c, h, w)定义,指定其在卷积特征图中的位置和大小。

从预训练网络初始化

  • 实验使用了三个预训练的ImageNet网络,每个网络都有五个最大池化层和五到十三个卷积层。
  • 预训练网络初始化Fast R-CNN网络时,会经历三个转换
    • 最后一个最大池化层被RoI池化层替换
    • 网络的最后一个全连接层和softmax被替换为两个新层
    • 网络被修改为接受两种数据输入:图像列表和这些图像中的RoI列表

检测的微调训练

  • Fast R-CNN通过反向传播训练所有网络权重,这是其重要能力之一。
  • 训练使用分层采样的随机梯度下降(SGD),首先从N张图像中采样,然后从每张图像中采样R/N个RoI。
  • Fast R-CNN使用一种简化的训练过程,使用一个微调阶段,联合优化softmax分类器和边界框回归器。

4. 尺度不变性

  • “蛮力”学习(Brute Force Learning):
    • 在这种方法中,每张图像在训练和测试期间都被处理为预定义的像素大小。
    • 网络必须直接从训练数据中学习尺度不变的目标检测。
  • 使用图像金字塔(Image Pyramids):
    • 与“蛮力”方法相比,这种方法通过图像金字塔为网络提供近似的尺度不变性。
    • 在测试时,使用图像金字塔来近似地对每个对象提议进行尺度标准化。
    • 在多尺度训练期间,每次采样图像时随机选择一个金字塔尺度,作为数据增强的一种形式。

作者指出,由于GPU内存限制,他们仅对较小的网络进行了多尺度训练的实验。这部分内容强调了在目标检测任务中实现尺度不变性的重要性,并探讨了两种不同的方法来达到这一目标。尺度不变性对于提高目标检测系统在不同大小和尺度的对象上的性能至关重要。

补充学习

为了模型能够识别不同尺寸大小的同一物体,通常需要采用一定的方法,以下就是两种方法。

”蛮力”学习(Brute Force Learning)

通常来说,为了模型能够识别不同尺寸的同一个物体,我们会在图像输入的时候进行预处理,处理成某个固定的尺寸大小,这样我们训练模型只需要训练其对这个固定大小图片的识别能力即可。

但是”蛮力“学习,是指在训练的时候,就把同一物体的各种尺寸的图片交给模型训练,这样它就拥有识别各种尺寸图片能力,我们无需进行图片预处理,它拥有更强的识别能力,无需预处理简化任务。

图像金字塔(Image Pyramids)

图像金字塔(Image Pyramids)是一种在计算机视觉和图像处理中常用的技术,用于创建一系列具有不同分辨率的图像。这种方法可以帮助模型处理不同尺度的对象,从而实现尺度不变性。

从原始图像开始,通过逐步降低分辨率(例如,每次将宽度和高度减半)来创建一系列较小的图像。
这些较小的图像堆叠起来就像一个金字塔,顶部是最小的图像,底部是原始大小的图像。

这意味着模型可以在不同分辨率的图像上进行训练和测试,从而更好地适应和识别各种尺度的对象。

5. Fast R-CNN 检测

  1. 检测流程:
    • 一旦Fast R-CNN网络被微调(fine-tuned),检测过程主要包括运行一个前向传播(forward pass)。
    • 网络输入包括一张图像(或一个图像金字塔,编码为图像列表)和一组对象提议(object proposals)。
    • 在测试时,通常会处理大约2000个对象提议,但也可能考虑更多(例如45000个)。
  2. 处理对象提议:
    • 使用图像金字塔时,每个区域兴趣(RoI)被分配到最接近224x224像素面积的尺度。
    • 对于每个测试RoI,前向传播输出一个类别后验概率分布和一组预测的边界框偏移量,每个K类别都有自己的细化边界框预测。
  3. 检测置信度和非极大值抑制:
    • 对于每个对象类别k,根据估计的概率Pr(class=k|r)分配一个检测置信度给r。
    • 然后,对每个类别独立进行非极大值抑制(non-maximum suppression),使用R-CNN中的算法和设置。
  4. 加速检测的技术:
    • 对于整图分类,全连接层的计算时间相对于卷积层来说很小。但在检测中,需要处理的RoI数量很大,几乎一半的前向传播时间用于计算全连接层。
    • 通过使用截断奇异值分解(truncated SVD)技术,可以加速大型全连接层的计算。
    • 这种技术通过对权重矩阵进行SVD分解并保留前t个奇异值来减少参数数量,从而加速计算。

6. 主要结果

  • 在VOC07、2010和2012数据集上的最先进表现:
    • Fast R-CNN在这些数据集上实现了当时最先进的平均精度(mean Average Precision, mAP)。这表明Fast R-CNN在目标检测任务上的有效性和准确性。
  • 与R-CNN和SPPnet相比的快速训练和测试:
    • Fast R-CNN相比于之前的R-CNN和SPPnet,在训练和测试过程中展现了更快的速度。这是由于Fast R-CNN的架构优化和有效的计算流程,特别是通过整合RoI池化层和使用端到端训练策略实现的。
  • 在VGG16中微调卷积层提高了mAP:
    • 通过在VGG16网络中微调卷积层,Fast R-CNN能够提高模型的mAP。这表明对于非常深的网络,通过微调所有层(而不仅仅是顶层)可以获得更好的检测性能。

7. 总结

  1. Fast R-CNN的提出:
    • 论文提出了Fast R-CNN,这是对之前的R-CNN和SPPnet方法的一个清晰且快速的更新。Fast R-CNN旨在提高目标检测的效率和准确性。
  2. 最先进的检测结果:
    • 作者报告了使用Fast R-CNN在目标检测任务上达到的最先进结果,并通过详细的实验提供了新的见解。
  3. 稀疏对象提议的重要性:
    • 特别值得注意的是,稀疏的对象提议似乎能够提高检测器的质量。在过去,探索这个问题的成本(时间上)太高,但在Fast R-CNN的框架下变得可行。
  4. 未来可能的发展方向:
    • 作者指出,可能还存在未被发现的技术,这些技术能使密集的边界框(dense boxes)与稀疏提议(sparse proposals)一样表现良好。如果这样的方法被开发出来,它们可能会进一步加速目标检测的过程。

这篇论文《Fast R-CNN》的主要创新点和贡献可以总结如下:

  1. Fast R-CNN的创新
    • 论文提出了Fast R-CNN模型,这是一种改进的目标检测方法,它在速度、准确性和效率方面对之前的R-CNN和SPPnet模型进行了显著改进。
  2. 主要特点
    • Fast R-CNN通过整合RoI池化层和使用端到端的训练策略,显著提高了训练和测试的速度。
    • 模型能够更新所有网络层,包括卷积层,这对于提高深度网络的性能至关重要。
    • 与传统的R-CNN相比,Fast R-CNN不需要为每个对象提议单独提取特征,从而减少了存储需求和计算复杂性。
  3. 性能评估
    • 在PASCAL VOC数据集上的实验结果表明,Fast R-CNN在目标检测任务上达到了当时的最先进性能。
    • 论文还展示了Fast R-CNN在训练和测试速度上相比于R-CNN和SPPnet的显著提升。
  4. 对未来研究的影响
    • Fast R-CNN的提出为目标检测领域的未来研究提供了新的方向,特别是在处理速度和深度网络训练策略方面。
    • 它为后续的研究,如Faster R-CNN和其他基于深度学习的目标检测方法,奠定了基础。

Fast R-CNN

在这里插入图片描述
Fast R-CNN 整体工程流程详解:

  1. 输入:
    • 输入包括一张图像和一组对象提议(object proposals)。对象提议通常是通过某种算法(如选择性搜索)从图像中预先计算得到的,表示可能包含目标对象的区域。
  2. 特征提取:
    • 整张图像被送入一个卷积神经网络(CNN),通过多个卷积层和池化层来提取特征。这一步骤生成了一个卷积特征图(convolutional feature map)。
  3. 区域兴趣(RoI)池化:
    • 对于每个对象提议,通过RoI池化层从卷积特征图中提取固定大小的特征向量。RoI池化层将每个提议映射到特征图上,并通过池化操作确保输出特征向量的尺寸是固定的。
  4. 分类和边界框回归:
    • 提取的特征向量被送入一系列全连接层(fully connected layers)。
    • 网络分叉为两个输出层:一个是softmax层,用于预测每个RoI属于各个类别的概率;另一个是边界框回归层,用于预测每个类别的精确边界框位置。
  5. 非极大值抑制(Non-Maximum Suppression, NMS):
    • 对于每个类别,根据预测的概率和边界框,执行非极大值抑制来去除重叠的检测,保留最佳的检测结果。
  6. 输出:
    • 最终输出包括每个对象提议的类别标签和精确的边界框位置。

对象提议(Object proposals)到 区域兴趣(ROI)过程

  1. 生成对象提议:
    • 首先,使用某种对象提议算法(如选择性搜索)在输入图像中识别出潜在的对象位置。这些提议是图像中可能包含对象的区域。
  2. 提议预处理:
    • 对象提议可能会经过一些预处理步骤,如去除过小或过大的提议,或者将提议的尺寸标准化。
  3. 提议到RoI的转换:
    • 每个对象提议被转换为一个RoI。在Fast R-CNN中,RoI通常由一个四元组表示,指定了提议区域在原始图像中的位置和尺寸(即,矩形框的左上角坐标、宽度和高度)。
  4. RoI池化:
    • 对于每个RoI,网络使用一个特殊的层——RoI池化层——来提取固定大小的特征向量。这个过程涉及将每个RoI映射到卷积特征图上,并从映射的区域中提取特征。
    • RoI池化层通过将RoI区域划分为多个小格子,并在每个格子内进行最大池化操作,来确保输出特征向量的尺寸是固定的。
  5. 特征向量处理:
    • 提取的特征向量随后被用于分类和边界框回归。这意味着网络将对每个RoI进行分类(判断是否包含对象以及对象的类别)并精确地定位对象的边界框。

以上内容旨在记录自己的学习过程以及复习,如有错误,欢迎批评指正,谢谢阅读。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1334840.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS环境下Nacos2.3集成PostgreSQL

title: CentOS环境下Nacos2.3集成PostgreSQL date: 2023-12-21 19:15:00 categories: Nacos description: CentOS环境下Nacos2.3集成PostgreSQL 1. 目录 1. 目录2. 简介3. 安装部署 3.1. 部署模式3.2. 环境准备3.3. 下载安装文件3.4. PostgreSQL插件 3.4.1. 下载地址3.4.2. 结…

南邮算法期末复习

算法复习 知识点 多项式时间复杂度是指在多项式阶内(例如,O(n^2), O(n^3))增长的算法。AOE网中的关键路径 ,就是完成整个网络所需的最短时间,亦最长路径 ,AOE网中,往往有若干项活动可以平行的…

ThunderSearch(闪电搜索器)_网络空间搜索引擎工具_信息收集

文章目录 ThunderSearch简介1 项目地址2 使用方式2.1 配置文件config.json说明2.2 构建和运行 3 使用式例 ThunderSearch简介 ThunderSearch(闪电搜索器)是一款使用多个(【支持Fofa、Shodan、Hunter、Zoomeye、360Quake网络空间搜索引擎】网络空间搜索引…

如何实现https密钥对登录方式

先安装docker yum install -y yum-utils device-mapper-persistent-data lvm2 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo systemctl start docker.service systemctl enable docker.service yum install -y docker…

为何教育行业需要搭建自己的知识付费平台,而非入驻其他公域流量平台

在当今的知识经济时代,教育行业正面临着前所未有的机遇和挑战。随着知识付费市场的蓬勃发展,越来越多的教育机构和个人教师选择进入这一领域,以扩大影响力并实现知识变现。然而,在选择进入知识付费市场的路径时,教育行…

2023年12月【考试战报】|ORACLE OCP 19C考试通过

2023年10月【考试战报】|ORACLE OCP 19C考试通过-CSDN博客文章浏览阅读122次。自OCP认证进入中国以来,越来越被大多数DBA所认可,也越来越被企业所重视,90%以上DBA深造,都会选择OCP认证。随着OCP认证在全国范围内的普及&#xff0c…

【hacker送书第11期】Python数据分析从入门到精通

探索数据世界,揭示未来趋势 《Python数据分析从入门到精通》是你掌握Python数据分析的理想选择。本书深入讲解核心工具如pandas、matplotlib和numpy,助您轻松处理和理解复杂数据。 通过matplotlib、seaborn和创新的pyecharts,本书呈现生动直…

poi-tl之图表操作(基于模板)

poi-tl&#xff08;poi template language&#xff09;是Word模板引擎&#xff0c;使用Word模板和数据创建很棒的Word文档。 核心思想是在模板中放一个占位符&#xff0c;在代码中替换该占位符即可。 poi官网地址 点这里 基础工作 maven配置 <dependency><groupId&g…

猫头虎分享2023年12月17日博客之星候选--城市赛道博主文章数据

猫头虎分享2023年12月17日博客之星候选–城市赛道博主文章数据 博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开…

云渲染UE4像素流送搭建(winows、ubuntu)

windows/ubuntu20.4下UE4.27.2像素流送 像素流送技术可以将服务器端打包的虚幻引擎应用程序在客户端的浏览器上运行&#xff0c;用户可以通过浏览器操作虚幻引擎应用程序&#xff0c;客户端无需下载虚幻引擎&#xff0c;本文实现两台机器通过物理介质网线实现虚幻引擎应用程序…

给零基础朋友的编程课07 - 代码

给零基础朋友的编程课07-初识色彩、初识变量、案例3讲解_哔哩哔哩_bilibili Code: // // 案例3 // //// -设定画面- // size(1000, 1000); // 设置画面大小 background(7, 119, 132); // 设置背景颜色// - 绘画 - //// 1 绘制垂线 // 设定线条风格 …

医药保健品企业网站搭建的作用是什么

市场中的保健品品牌非常多&#xff0c;很多医院或药店都有售卖&#xff0c;同时也有不少经常消费的人群&#xff0c;但从行业整体趋势来看&#xff0c;目前国内真正信任保健品的人并不算非常多&#xff0c;行业缺少对市场消费人群的教育及行业的相关限制&#xff0c;无论对品牌…

超炫酷的网红游戏主播/带货达人/歌手/人物介绍视频素材PR模板

Premiere网红//游戏主播、带货达人\主唱歌手\DJ晚会派对人物介绍视频素材pr模板下载。 包括&#xff1a; 全高清&#xff08;19201080&#xff09; 4K&#xff0c;&#xff08;38402160&#xff09; 全高清&#xff08;19201080&#xff09; 4K&#xff0c;&#xff08;3840216…

Tailwind CSS 原子化开发初体验

Tailwind CSS 的工作原理是扫描所有 HTML 文件、JavaScript 组件以及任何模板中的 CSS 类&#xff08;class&#xff09;名&#xff0c;然后生成相应的样式代码并写入到一个静态 CSS 文件中。他快速、灵活、可靠&#xff0c;没有运行时负担。再也不用为了取一个 classname 类名…

使用 FFmpeg 清除文件夹下所有 .mp4 文件声音

运行以下命令来清除声音&#xff1a; ffmpeg -i input.mp4 -c copy -an output.mp4这个命令会将 “input.mp4” 替换为你要处理的 .mp4 文件名。它会生成一个新的文件名为 “output.mp4” 的文件&#xff0c;该文件是没有声音的副本。 如果你想要直接替换原始文件&#xff0c;…

文件名修改方法:文件批量重命名,并将扩展字母统一转换为大写

在文件管理中&#xff0c;文件名的修改是一项常见的任务。有时候&#xff0c;可能要将文件名进行批量重命名&#xff0c;或者将所有的扩展名统一转换为大写。那怎么操作会更简单快速些呢&#xff1f;下面将详细讲解云炫文件管理器如何实现这一目标&#xff0c;批量用随机数字重…

MongoDB查询文档

3.5 MongoDB 查询文档 MongoDB 查询文档使用 find() 方法。 find() 方法以非结构化的方式来显示所有文档。find()查询数据的语法格式如下&#xff1a; db.collection.find(query, projection)[.pretty()] query &#xff1a;可选&#xff0c;使用查询操作符指定查询条件 pr…

哪个牌子的台灯对学生的视力好?五款学生备考台灯推荐

护眼台灯在如今市场中销量越来越高&#xff0c;我作为一名电器测评博主&#xff0c;非常支持大家使用护眼台灯来提升日常的照明光线环境&#xff0c;它通过LED灯和专业的护眼技术&#xff0c;可以有效缓解用眼疲劳、帮助放松和舒适照明。但需要注意的是&#xff0c;目前市场中品…

【excel密码】Excel工作表不能复制或移动

为什么excel文件打开之后&#xff0c;工作表里是可以编辑的&#xff0c;但是想要移动工作表或者复制、重命名等操作&#xff0c;这是什么原因&#xff1f;其实这是因为设置了工作簿保护&#xff0c;设置了保护的工作簿无法对整张工作表进行操作。 想要取消这种保护&#xff0c;…

操作系统期末复习知识点二计算与应用

1.理解银行家算法判断死锁的定理并能计算相关的参数。 2.能利用LRU、FIFO算法求缺页率。 3.纯页式管理中&#xff0c;求逻辑地址对应的物理地址&#xff0c;页号、页内地址长度&#xff0c;画出逻辑地址的格式&#xff0c;在引入块表时&#xff0c;求出有效访问时间。 4.可变分…