RCNN系列是如何逐步改善的

news/2024/12/21 9:22:44/
  • 1、R-CNN的缺点:
    • 1)计算效率低下:RCNN需要为每一个候选框都提取特征,会导致大量重复的工作,因为候选框是原始图片的一部分,肯定是存在交集的。
    • 2)需要大量的磁盘空间:在训练阶段,RCNN会将所有 提起到的特征都存储在磁盘上。
    • 3)检测速度慢:使用selective search生成候选区域+候选区域特征提取。
  • 2、SPPNet是如何解决的
    • SPPNet(Spatial Pyramid Pooling Network)引入了空间金字塔池化。它可以在任意大小的输入图像上工作,并且对一张输入图像只进行一次卷积运算,然后通过空间金字塔池化来适应不同尺度的候选区域。空间金字塔池化是对于给定的任意特征图,分别使用3种不同尺度的池化窗口,得到4x4、2x2、1x1这三个固定尺寸的输出。得到一个21维的固定长度大小的特征向量。
  • 3、SPPNet的缺点
    • 1)依然使用选择性搜索(selective search)
    • 2)没有联合优化整个网络:分类和回归任务分开训练,不是端到端的学习框架。
  • 4、FastRCNN是如何解决的
    *1)1)采用ROI池化代替金字塔池化,进一步简化结构并提升了性能。
    *2)将分类器和边界框回归器一起训练。
  • 5、FastRCNN的缺点
    • 1)依然采用Selective search
  • 6 Faster RCNN是如何解决的
    *1)Faster RCNN引入了区域建议网络,能够直接从图像中高效的生成高质量的区域建议。并且RPN与FastRCNN共享卷积层,实现了真正的端到端训练。
  • 7回顾Faster R-CNN的RPN网络
    • 1)工作原理
      • RPN是输入整张图片,经多次 卷积运算得到 一张特征图,在 特征图上运用一个滑动窗口,通常是3x3的小核。窗口会在每个位置产生一组固定数量的候选区域,称为锚框。锚框具有不同的大小和比例,覆盖了检测目标可能的大小和形状。
    • 2)对于每个锚框,RPN会输出两个结果:
      • 分类得分:表示锚框是前景(包含检测目标)还是背景。这是一个二分类问题,通常使用softmax函数来计算两个类别的概率。
      • 预测用于调整锚点位置的四个位置信息(x, y, w, h)。在精修预测框时,是要现将锚框映射到原始图像位置。
        在这里插入图片描述
  • 额外补充:SPPNet使用了金字塔池化,和特征金字塔的区别是什么
    • 1)金字塔池化(Pyramidal Pooling)
      - 定义:金字塔池化是一种提取固定长度特征向量的技术,通过在不同尺度上对输入特征图进行池化操作来捕捉更多尺度信息。
      - 实现方式:通常是在一个特定层之后应用多个池化窗口(如最大池化或者平均池化),这些窗口有不同的尺寸,并且可以组织成一个金字塔结构。例如,在SPPNet中,金字塔池化层会在不同尺度上(如1x1, 2x2, 4x4等)对特征图进行池化,然后将结果展平并连接起来形成一个固定长度的特征向量。
      - 用途:主要解决输入图像大小变化的问题,使得网络能够接受任意大小的输入图像,并生成固定长度的输出,适用于分类任务或者需要固定长度特征表示的任务
    • 2)特征金字塔(Feature Pyramid Networks, FPN)
      - 定义特征金字塔是一种网络架构设计,旨在通过融合来自不同深度卷积层的特征来增强对多尺度目标检测的能力。它构建了一个自顶向下的路径与横向连接,以结合低层的高分辨率特征与高层的语义特征。
      - 实现方式:FPN通常由两部分组成:
      自底向上路径:这是普通的卷积网络,随着网络加深,特征图逐渐下采样,同时语义信息逐渐增加。
      自顶向下路径和横向连接:从最深的卷积层开始,逐层上采样并添加 来自相同尺度的低层特征图的横向连接,
      - 用途:主要用于多尺度目标检测,特别适合于检测不同大小的目标,因为它可以在每个尺度上产出高质量的特征图,从而提高对小目标的检测能力。

http://www.ppmy.cn/news/1556889.html

相关文章

基于Spring Boot的雅苑小区管理系统

一、系统背景与意义 随着信息化技术的快速发展,传统的小区物业管理方式已经难以满足现代居民对于高效、便捷服务的需求。因此,开发一款基于Spring Boot的小区管理系统显得尤为重要。该系统旨在通过信息化手段,实现小区物业管理的智能化、自动…

麒麟操作系统服务架构保姆级教程(三)NGINX中间件

如果你想拥有你从未拥有过的东西,那么你必须去做你从未做过的事情 想要在网页上访问到代码那么就需要用到应用服务类中间件,国外的有Nginx,Tomcat等,国内的有金蝶web,东方通的服务中间件(Tongweb&#xff0…

Docker基础命令实战

问题:Error response from daemon: Get "https://index.docker.io/v1/search?qmysql&n25": dial tcp 199.59.148.9:443: connect: connection refused 在pull nginx时出现的报错,可能原因是镜像源过期了,我们需要更换镜像源 …

初学stm32 --- PWM输出

目录 STM32 PWM工作过程​编辑 STM32 PWM工作过程(通道1为例) PWM模式1 & PWM模式2 向上计数配置说明​编辑 STM32 定时器3输出通道引脚 自动重载的预装载寄存器 ​编辑 PWM输出相关库函数 输出比较初始化函数: 设置比较值函数&a…

web3跨链桥协议-Nomad

项目介绍 Nomad是一个乐观跨链互操作协议。通过Nomad协议,Dapp能够在不同区块链间发送数据(包括rollups),Dapp通过Nomad的合约和链下的代理对跨链数据、消息进行验证、传输。其安全通过乐观验证机制和欺诈证明制约验证者实现&…

Mac iOS、Android、Flutter、React Native开发环境配置

1.安装XCode https://apps.apple.com/cn/app/xcode/id497799835?mt12 2.安装Android Studio https://developer.android.google.cn/studio 3.安装brew 参考地址:https://www.jianshu.com/p/22122a1d4474 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunk…

microk8s使用

microk8s使用 在使用microk8s时,可以设置一些别名,使用起来保持与k8s习惯一样,具体如下 sudo snap alias microk8s.kubectl kubectl sudo snap alias microk8s.ctr ctr sudo snap alias microk8s.helm helm sudo snap alias microk8s.helm3…

DFS入门

目录 概念应用场景基本模型例题 概念 这是一种用于遍历或搜索图(包括树,树是一种特殊的图)的算法。它从起始顶点开始,沿着一条路径尽可能深地探索下去,直到无法继续,然后回溯到前一步,继续探索其…