热门标签 | HotTags
当前位置:  开发笔记 > 人工智能 > 正文

目标检测算法FastRCNN详解

前面我们一起学了SPP-Net和R-CNN的相关知识,如下:目标检测算法SPP-Net详解目标检测R-CNN通俗详解由于每期都是逐步改进,重复的不在赘述,所以建议先阅读前面的,这期

前面我们一起学了SPP-NetR-CNN的相关知识,如下:
目标检测算法SPP-Net详解
目标检测R-CNN通俗详解
由于每期都是逐步改进,重复的不在赘述,所以建议先阅读前面的,这期我们继续改进,学习一下Fast-RCNN都做了哪些改进?

上期,我们知道SPP-Net主要对R-CNN做了两点改进:

  • 特征映射,只需要做一次卷积池化操作。

  • 金字塔池化层,可以适应任意尺寸的输入。

但是由于SPP-Net仍采用SVM训练分类器和边框回归的方式,无法实现端到端的操作。那么Fast RCNN借鉴了SPP-Net算法的思想,改进了这3点:

  • 利用softmax代替了svm进行分类器训练

  • 利用神经网络代替了边框回归

  • 简化了SPP-Net的金字塔池化层

我们先来直接看看Fast RCNN的总体框架。

Fast RCNN框架

Fast RCNN借鉴了SPP-Net的思想,保留了SPP-Net的特征映射和简化了金字塔池化层,如下图:
目标检测算法Fast R-CNN详解
我们一起看一下Fast RCNN的流程:

  1. 对输入图像利用SS算法进行候选框选取,记录下来候选框的位置。

  2. 将原始输入图像输入到卷积网络进行特征提取,得到特征图。

  3. 利用SPP-Net中学的特征映射的方法将候选框的位置映射到特征图相应位置,并提取特征。

  4. 将提取的特征经过ROI Pooling层来固定特征数量。

  5. 将经过ROI Pooling的的特征输入到共享全连接层。

  6. 最后将共享全连接层的输出分别经过各自的全连接层利用softmax进行分类以及进行边框回  归。

从上面的步骤,我们可以看出,Fast RCNN算法通过将softmax分类器替换掉svm,以及利用神经网络代替之前的边框回归,实现了目标检测端到端的操作。至于softmax分类器和这里的边框回归,这里不再赘述,可公众号回复【深度学习】进行学习。

这里我们看一下ROI Pooling是如何实现的。

ROI Pooling

我们知道前面学的SPP-Net中关于金字塔池化的原理,是经过3个级别的金字塔网格池化。这里Fast RCNN将其简化为只用一个3x3的网格,如下图:
目标检测算法Fast R-CNN详解
这里将候选区域对应的特征图区域经过一个3x3的网格进行最大值池化,每张候选框对应的特征图区域得到9个特征,这样讲特征数量固定之后,就可送到全连接层进行分类和回归训练。

总的来说,Fast RCNN最大的改进就是将svm分类器和边框回归都集成到了一起,实现了端到端操作。那么Fast RCNN的性能怎么样呢?

性能分析

这里,通过对比前面我们学过的R-CNNSPP-Net来看下Fast RCNN的性能如何,如下表:

目标检测算法Fast R-CNN详解
上表中的S,M,L分别表示网络的大小,以大的网络为例,可以看到R-CNNtraining时间为84小时,SPP-Net25小时,而Fast RCNN训练时间为9.5小时,总体速度与R-CNN相比提高了8.8倍。
而测试阶段,在大网络情况下,R-CNN单张图像测试用时为47.0秒,SPP-Net用时为2.3秒,而Fast RCNN用时为0.32秒。测试速度在利用SVD降维的情况下与R-CNN相比更是提高了213倍。而在mAP指标上Fast RCNNR-CNN相差不大。来看一下R-CNNFast RCNN在不同分类器上的性能比较,如下表:

目标检测算法Fast R-CNN详解
从上表中可以看到R-CNNFast RCNNSVM分类器上,在小网络和中网络情况下R-CNN稍好一些,在大网络情况下,则Fast RCNN要高一些;而Fast RCNNSVMSoftmax之间发现三种网络下Softmax都要比SVM稍高一些。

总体来说,Fast RCNNR-CNN相比在mAP指标上相差不大,但是在检测速度和训练速度上都有了大幅度的提升。虽然速度提升了不少,但是还是无法达到实时检测的需求,那么要如何改进?我们下期一起学习Faster RCNN.
目标检测算法Fast R-CNN详解

好文章,我在看


推荐阅读
  •     目标检测是计算机视觉一个非常重要的子任务。目标检测需要发现并准确定位自然图片中的物体。在2012年之前,目标检测主要基于手工设计的特征以及传统分类器。2012年以后,出现了 ... [详细]
  • 在机器学习领域,深入探讨了概率论与数理统计的基础知识,特别是这些理论在数据挖掘中的应用。文章重点分析了偏差(Bias)与方差(Variance)之间的平衡问题,强调了方差反映了不同训练模型之间的差异,例如在K折交叉验证中,不同模型之间的性能差异显著。此外,还讨论了如何通过优化模型选择和参数调整来有效控制这一平衡,以提高模型的泛化能力。 ... [详细]
  • 深度学习: 目标函数
    Introduction目标函数是深度学习之心,是模型训练的发动机。目标函数(objectfunction)损失函数(lossfunction)代价函数(costfunction) ... [详细]
  • 知识图谱与图神经网络在金融科技中的应用探讨
    本文详细介绍了融慧金科AI Lab负责人张凯博士在2020爱分析·中国人工智能高峰论坛上的演讲,探讨了知识图谱与图神经网络模型如何在金融科技领域发挥重要作用。 ... [详细]
  • 计算机学报精选论文概览(2020-2022)
    本文汇总了2020年至2022年间《计算机学报》上发表的若干重要论文,旨在为即将投稿的研究者提供参考。 ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • 浅层神经网络解析:本文详细探讨了两层神经网络(即一个输入层、一个隐藏层和一个输出层)的结构与工作原理。通过吴恩达教授的课程,读者将深入了解浅层神经网络的基本概念、参数初始化方法以及前向传播和反向传播的具体实现步骤。此外,文章还介绍了如何利用这些基础知识解决实际问题,并提供了丰富的实例和代码示例。 ... [详细]
  • 超分辨率技术的全球研究进展与应用现状综述
    本文综述了图像超分辨率(Super-Resolution, SR)技术在全球范围内的最新研究进展及其应用现状。超分辨率技术旨在从单幅或多幅低分辨率(Low-Resolution, LR)图像中恢复出高质量的高分辨率(High-Resolution, HR)图像。该技术在遥感、医疗成像、视频处理等多个领域展现出广泛的应用前景。文章详细分析了当前主流的超分辨率算法,包括基于传统方法和深度学习的方法,并探讨了其在实际应用中的优缺点及未来发展方向。 ... [详细]
  • LeetCode 实战:寻找三数之和为零的组合
    给定一个包含 n 个整数的数组,判断该数组中是否存在三个元素 a、b、c,使得 a + b + c = 0。找出所有满足条件且不重复的三元组。 ... [详细]
  • 通过使用CIFAR-10数据集,本文详细介绍了如何快速掌握Mixup数据增强技术,并展示了该方法在图像分类任务中的显著效果。实验结果表明,Mixup能够有效提高模型的泛化能力和分类精度,为图像识别领域的研究提供了有价值的参考。 ... [详细]
  • 分隔超平面:将数据集分割开来的直线叫做分隔超平面。超平面:如果数据集是N维的,那么就需要N-1维的某对象来对数据进行分割。该对象叫做超平面,也就是分类的决策边界。间隔:一个点 ... [详细]
author-avatar
陈卓0561_979
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有