【YOLO v5 v7 v8 小目标改进】中心化特征金字塔(CFP) = 特征金字塔 + 显式视觉中心(EVC)+ 全局集中调节(GCR)

中心化特征金字塔(CFP) = 特征金字塔 + 显式视觉中心(EVC)+ 全局集中调节(GCR)

    • 提出背景
      • 中心化特征金字塔(CFP)
        • CFP 架构图
        • 问题:不同尺度的对象检测
        • 问题:有限感受野
        • 问题:全局和局部特征的有效整合
        • 不同尺度的对象检测
        • 有限感受野
        • 全局和局部特征的有效整合
    • 小目标涨点
      • YOLO v5 魔改
      • YOLO v7 魔改
      • YOLO v8 魔改

 


提出背景

论文:https://arxiv.org/pdf/2210.02093.pdf

代码:https://github.com/QY1994-0919/CFPNet

在计算机视觉领域,特别是在目标检测任务中,我们的目标是让计算机能够从图片中识别和定位出各种对象,比如人、车辆、动物等。

这个任务听起来简单,但实际上非常复杂,因为图片中的对象大小不一,有的远有的近,还可能部分被遮挡,光照条件也各不相同。

为了解决这个问题,研究人员发明了一种名为“特征金字塔”的技术。

想象一下,你有一堆不同大小的筛子,通过这些筛子过滤沙子,大的留在上面,小的落到下面。

类似地,特征金字塔可以帮助模型捕获不同尺度(大小)的对象信息,使得无论对象大小如何,都能被有效识别。

然而,使用传统的卷积神经网络(CNN)作为基础,尽管有了特征金字塔的帮助,但还是有一些局限性,比如它们难以捕捉到图片中的全局信息,比如整个场景的布局,或者是图片角落里的细节。

最近,一种名为“视觉变换器”(Vision Transformer)的新技术开始被应用于目标检测,它通过将图片分割成小块(称为Patch),然后通过一种特殊的机制(称为注意力机制)来分析这些块之间的关系,从而捕获全局的信息。

但是,这种方法计算量很大,而且有时候会忽略图片中一些重要的细节部分。

为了克服这些问题,本文提出了一种新的方法,名为“中心化特征金字塔”(CFP)。

它的核心思想是在特征金字塔的基础上,通过一个轻量级的机制来专门捕捉图片中的全局信息和局部细节。

简单来说,它就像是在原有的筛子上,加了一个能够调节的镜头,既能看到全景,也能聚焦到细节。

通过这种方法,无论是远处的小车还是近处的行人,甚至是角落里的小细节,都能被有效地识别出来。

实验结果显示,这种新方法在一些标准的测试集上,比如MS-COCO(一个广泛使用的计算机视觉数据集),能够实现更好的识别效果。

在这里插入图片描述

  • (a) Inputs:展示了原始输入图像。
  • (b) CNN:展示了使用卷积神经网络模型处理输入图像后的特征可视化,它主要关注最有区别性的区域。
  • © Transformer:展示了使用Transformer模型(一个基于注意力机制的模型)处理同一个输入图像后的特征可视化,它能看到更宽的范围,但通常忽略对密集预测任务重要的角落线索。
  • (d) Ours:展示了使用你的模型(可能是中心化特征金字塔CFP模型)处理输入图像后的特征可视化,这个模型不仅能看到更广的范围,而且通过利用高级长距离依赖性的集中化约束,实现了更全面的特征表示,更适合密集预测任务。

图片的文字说明强调了使用CFP模型可以提供更全面的视觉特征表示,这在处理那些需要精确空间定位的复杂视觉任务中特别有价值,比如密集的目标检测或场景解析任务。
 

以自动驾驶为例自动驾驶系统需要准确识别和定位包括行人、车辆、交通标志等多种对象。

这些对象的大小、形状和出现在图像中的位置可以大相径庭,从远处的小汽车到近处的大型卡车,再到路边的交通标志牌。

问题:对象大小的不确定性导致单一特征尺度无法满足高精度识别性能的需求。

  • 解法:基于网络内特征金字塔的方法。
  • 之所以使用基于网络内特征金字塔的方法,是因为这种方法能够为不同大小的对象分配合适的上下文信息,并在不同的特征层上识别这些对象。
    • 实例: 在自动驾驶的对象检测系统中,采用基于网络内特征金字塔的方法,可以为每个不同大小的对象分配最合适的特征层进行识别。
    • 例如,远处的小汽车可能在较深的特征层上被识别,因为这些层捕获了更抽象的、全局的信息;而近处的大型卡车或路边的交通标志牌可能在较浅的特征层上被识别,这些层包含更多的局部、详细的信息。

问题:现有方法基于CNN骨架,受限于固有的感受野限制。

  • 解法:使用视觉变换器基于对象检测方法。
  • 之所以使用视觉变换器,是因为它们通过将输入图像分割成不同的图像块,并使用多头注意力机制在块之间进行特征交互,来获取全局长距离依赖性,从而解决了CNN中有限的感受野和局部上下文信息问题。
    • 实例: 通过采用视觉变换器方法,如Swin Transformer,自动驾驶系统的对象检测模块能够处理整个图像分割成的小块,使用多头注意力机制在这些块之间进行特征交互,从而实现对长距离依赖性的捕获。
    • 这样,系统即使在复杂的场景中也能准确识别出每个对象的精确位置和类别,包括那些在图像角落或边缘部分的对象。

问题:视觉变换器方法存在大计算复杂性,且易忽略对密集预测任务重要的角落区域。

  • 解法:提出中心化特征金字塔(CFP)网络。

    • 子特征1:空间显式的视觉中心方案。
      • 之所以使用空间显式的视觉中心方案,是因为它能通过轻量级MLP架构捕获长距离依赖性,并通过并行可学习的视觉中心机制汇聚输入图像的局部关键区域。
    • 子特征2:全局中心化调节。
      • 之所以使用全局中心化调节,是因为通过在自顶向下的方式对提取的特征金字塔进行调节,使用从最深特征获得的空间显式视觉中心来同时调节所有前面的浅层特征,能够高效地获得全方位且具有区分性的特征表示。
    • 实例: 在自动驾驶的对象检测系统中引入CFP网络,首先通过CNN骨架提取特征金字塔,然后利用空间显式的视觉中心方案捕获长距离依赖性并聚合输入图像的关键局部区域。
    • 接着,采用全局中心化调节策略,使用从最深层特征提取的视觉中心信息来优化和调节所有前面的浅层特征。
    • 这种方法不仅提高了对象检测的准确性和效率,也确保了即使是图像中的边缘和角落区域的对象也能被准确识别,非常适合于自动驾驶系统在复杂多变环境中的应用需求。

中心化特征金字塔(CFP)

CFP 主要包括如何有效处理不同尺度的对象,如何克服有限感受野的问题,以及如何捕获全局和局部的重要特征。

CFP特别关注于层间特征交互和层内特征调节,从而克服了现有方法在这方面的不足。

想象一下,我们的任务是在一张照片中找到并标记出所有的对象,比如人、车、树等。

这个任务对于人来说可能很直观,但对于计算机来说却非常复杂。

原因之一是照片中的对象大小不一,有的远有的近,这就需要一种能处理不同大小对象的智能方法。

1. 处理不同大小的对象: 为了解决这个问题,CFP使用了一种叫做“特征金字塔”的技术。

你可以将其想象为一系列的滤镜,每个滤镜捕捉不同大小的细节。

就像用不同密度的网捕捉不同大小的鱼一样。这样,无论对象是大是小,都能被发现。

2. 看到全景和细节: 但仅有大小的处理还不够,我们还需要让计算机“看到”照片的全景(全局上下文)和重要的细节。

这里,CFP用到了类似于人类注意力的技术,让计算机能够专注于照片中的关键部分,同时也不忽视整体场景。

这就像当你看一张照片时,你的视线可能会被某个特别的细节吸引,但你仍然对整个画面有所感知。

3. 提高识别的准确性: 最后,为了让计算机更准确地识别出照片中的对象,CFP采用了一种特别的计算方法(MLP),这种方法帮助计算机更好地理解照片中的信息,就像提高它的“智商”一样,让它更聪明地识别出各种对象。

CFP就是一种让计算机在查看照片时,能够处理不同大小的对象,同时关注到全局和局部的重要细节,最终更准确地识别出照片中的对象的技术。

CFP 架构图

在这里插入图片描述

  • (a) 输入: 这部分很可能展示了模型设计用来处理的原始输入图像。这些图像可能包含需要被检测的各种对象。

  • (b) CNN: 这部分可能展示了输入图像经过卷积神经网络(CNN)处理后的特征激活或响应。CNN是一种常用于图像识别任务的深度学习模型。它们能够捕捉到如边缘、纹理等的模式和特征。

  • © 变换器: 这里的图像可能被一个变换器模型处理,变换器是另一种利用自我关注机制来捕捉数据中全局依赖性的神经网络。它特别擅长考虑图像的整体上下文。

  • (d) 我们的(CFP): 最后这个部分展示了所提出的CFP模型的输出。这些图像将展示模型不仅能检测主要对象,还能捕捉到更精细的细节,并可能涵盖图像中更多的上下文区域。这表明CFP可能在理解整个场景方面更为有效,不仅仅是最突出的特征。

图片下方的文本通常解释了所提出的CFP方法相对于传统CNN和变换器模型的优势,强调其捕捉对于密集预测任务(如复杂场景中的目标检测)至关重要的全局和局部线索的能力。

所描述的架构可能展示了CFP是如何整合由CNN骨干网络提取的特征,并通过一系列步骤(可能涉及MLP和其他机制)来提高目标检测性能的。

问题:不同尺度的对象检测
  • 解法:特征金字塔的构建
    • 子特征1:多层级特征提取
    • 之所以构建多层级的特征提取,是因为它可以捕获从细粒度到粗粒度的不同尺度特征,这对于处理图片中大小不一的对象至关重要。
问题:有限感受野
  • 解法:引入视觉变换器组件和空间显式视觉中心(EVC)
    • 子特征2:轻量级MLP和视觉中心机制的应用
    • 之所以结合轻量级MLP和视觉中心机制,是因为它们能够同时捕获全局长距离依赖性和局部重要区域,解决了传统CNN由于感受野限制而忽视的问题。
问题:全局和局部特征的有效整合
  • 解法:全局集中调节(GCR)
    • 子特征3:全局信息与浅层特征的融合
    • 之所以采用全局集中调节,是因为它通过顶层的全局信息来优化前端浅层特征,实现全局和局部信息的有效整合,提高了模型对于不同对象的识别能力。

CFP通过构建特征金字塔捕获不同尺度的特征,利用轻量级MLP和视觉中心机制扩展模型的感受野,以及通过全局集中调节机制整合全局与局部特征,有效提升了目标检测的准确性和效率。

这种方法能够更全面和差异化地表示图像特征,从而在复杂的目标检测任务中取得更好的性能。

将上述中心化特征金字塔(CFP)的解决方案与前文提供的城市街景对象检测的案例结合起来,可以帮助我们更深入地理解CFP是如何在实际应用中解决具体问题的。

不同尺度的对象检测

在城市街景中,我们需要识别的对象大小各异,从远处的小狗到近处的大楼都可能是目标。

特征金字塔的构建允许模型通过多层级特征提取来处理这种多尺度变化,确保无论对象的大小如何,都可以被有效地识别。

例如,精细的特征层可以捕捉到远处小狗的细节,而粗糙的特征层则有助于识别近处的大楼。

有限感受野

城市街景图像中的关键信息可能分布在整个图像中,包括一些细节和全局布局。

引入视觉变换器组件和空间显式视觉中心(EVC)通过轻量级MLP和视觉中心机制共同工作,既可以捕捉到整个场景的全局布局,也可以关注到街角的特定细节,如远处的交通标志或街道角落的行人,从而克服了传统CNN模型由于有限感受野而可能忽略的重要信息。

“显式视觉中心”(EVC)是中心化特征金字塔(CFP)方法中的一个组件。

在CFP的上下文中,EVC被设计用于捕获和强调输入图像中的关键区域,尤其是那些对于目标检测任务来说重要的局部角落区域。

EVC通过一个轻量级的多层感知器(MLP)结构来处理这些局部特征,并将它们整合进模型的中心化特征学习过程中。

简单来说,CFP提供了一个框架,它使用不同的技术和机制来优化目标检测任务。

EVC是这个框架内的一个模块,专注于改进图像特征的局部表示。

这样的设计允许CFP方法更加精确地识别和定位图像中的对象,包括那些在图像边缘或角落的对象。

通过集中和利用这些通常被忽视的局部特征,CFP能够提供更全面、更准确的目标检测性能。

(EVC)的组件:
在这里插入图片描述

图中的内容可以分为几个部分:

  1. 轻量级 MLP(多层感知器):这是一个用于处理图像的深度学习网络结构,用于捕获图像中的长距离依赖性,也就是图像中不同部分之间的联系。

    它通过一系列层来处理图像,包括标准化层(Norm)、分组卷积层(Group Convolution)、通道混合层(Channel MLP)和DropPath操作,这通常是为了提高网络的泛化能力和鲁棒性。

  2. Stem Block:这是一个特殊的网络结构,通常在模型的开始处使用,用于初步处理输入图像,准备特征供后续的网络层使用。

  3. Learnable Visual Center:这是一个可学习的视觉中心编码器,用于聚合图像的局部角落区域的特征。

    这可以帮助模型在进行目标检测时更好地识别图像中的边缘和角落,这些区域通常包含关键的信息但可能会在传统模型中被忽略。

  4. Codebook 和 Scaling Factors:这表示模型中使用的编码器和缩放因子,用于处理特征并将它们映射到一个更易于分类和检测的空间。

    图中还提到了一些操作,如“Conv1x1@256”表示使用1x1的卷积核和256个通道,“Cat (·)”表示特征图的连接操作。

    这些都是深度学习中常用的操作,用于组合和优化从输入图像中提取的特征。

全局和局部特征的有效整合

为了确保模型不仅能看到整个图片的全局信息还能关注到局部细节,全局集中调节(GCR)通过全局信息与浅层特征的融合来实现。

这意味着模型可以利用从顶层特征中提取的全局信息来优化浅层特征,使得即使是在复杂多变的城市街景中,模型也能准确识别和定位各种对象,如行人、车辆、交通灯等。

CFP方法通过特征金字塔、视觉注意力学习,以及轻量级MLP架构(用于捕获全局的长距离依赖性),解决了城市街景对象检测中的关键挑战,包括处理不同尺度的对象、克服有限感受野的问题,以及有效整合全局和局部特征。

小目标涨点

更新中…

YOLO v5 魔改

YOLO v7 魔改

YOLO v8 魔改

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode //C - 118. Pascal‘s Triangle

118. Pascal’s Triangle Given an integer numRows, return the first numRows of Pascal’s triangle. In Pascal’s triangle, each number is the sum of the two numbers directly above it as shown: Example 1: Input: numRows 5 Output: [[1],[1,1],[1,2,1],[1,…

Spring Cloud 构建面向企业的大型分布式微服务快速开发框架+技术栈介绍

分布式架构图 Cloud架构清单 Commonservice(通用服务) 1)清单列表 2)代码结构 Component(通用组件) 1)清单列表 2)代码结构 快速开发管理平台——云架构【系统管理平台】 一…

python requests接口自动化测试 (数据库断言)

前言 熟练掌握接口自动化测试体系背后的这些技能和处理问题的思路,实现时间、人力、收益的平衡,对于一个经验尚浅的初、中级测试开发人员来说绝对是一个艰巨的挑战。 五步教会你写接口自动化用例 需要安装三方包:requests pytest pytest-htmlpip insta…

视觉三维重建colmap框架的现状与未来

近两年AI技术的火热尤其是nerf和gaussian splatting的出现,又将colmap推了一把,传统mvs的地位仿佛受到了挑战,虽然说nerf/gs的效果是无法胜任传统mvs的精度,但是作为"看看"的条件,是远远足够了。且传统重复纹…

chartjs 饼状图

之前要把canvas先清除掉&#xff0c;不然刷新数据&#xff0c;还会有前面的图表 function clearCanvas(){$(#donutChart).remove();$(#chartdiv).append(<canvas id"donutChart" style"min-height: 500px; height: 500px; max-height: 500px; max-width: 70%…

一文搞懂 Transformer 工作原理 !!

文章目录 前言 一、单头Attention工作原理 二、多头Attention工作原理 三、全连接网络工作原理 前言 本文将从单头Attention工作原理、多头Attention工作原理、全连接网络工作原理三个方面&#xff0c;实现一文搞懂Transformer的工作原理。 Transformer工作原理 一、单头Atte…

【学习记录】Resnet

Resnet的残差块 BasicBlock模块&#xff1a; Resnet的作用 解决梯度消失。网络越深&#xff0c;会导致梯度消失。Resnet可以解决梯度消失的问题。 Resnet的原理 参考视频&#xff1a;https://www.bilibili.com/video/BV1cM4y117ob/?spm_id_from333.337.search-card.all.cl…

达梦数据库查询语句内存溢出问题解决

背景&#xff1a;达梦数据库使用过程中&#xff0c;某天突然服务宕机&#xff0c;导致各类后端服务无法注册到nacos上&#xff0c;重启之后nacos正常启动&#xff0c;可执行一条两千多条数据量的连表查询时间很长&#xff0c;甚至会报错&#xff0c;经查看日志发现在查询过程中…

恒创科技:服务器CPU核心和线程如何理解?

​  关于 CPU 核心和线程&#xff0c;是服务器处理能力的核心和灵魂&#xff0c;它们决定了服务器执行任务和同时处理多个操作的效率。 那么&#xff0c;服务器中的 CPU 核心和线程到底是什么?如何理解呢? 什么是CPU核心? CPU核心作为CPU(中央处理单元)的主要处理单元。该…

Windows下卸载JDK

操作步骤&#xff1a; 直接到windows程序卸载面板进行卸载 然后删除已配置的环境变量

Python调用ChatGPT API使用国内中转key 修改接口教程

大家好&#xff0c;我是淘小白~ 有的客户使用4.0的apikey ,直接使用官方直连的apikey消费很高&#xff0c;有一位客户一个月要消费2万&#xff0c;想使用4.0中转的apikey&#xff0c;使用中转的apikey 需要修改官方的openai库&#xff0c;下面具体说下。 1、首先确保安装的op…

在vue2中使用饼状图

1.引入vue2和echarts <script src"https://cdn.jsdelivr.net/npm/vue2.7.14/dist/vue.js"></script> <script src"https://cdn.jsdelivr.net/npm/echarts5.4.0/dist/echarts.min.js"></script> 2.1 补充基本的body内容 <div id…

vscode起本地服务

下载这个 插件 Live Server (Five Server) 下载完会出现这个

政安晨【示例演绎虚拟世界开发】(二):Cocos Creator 配置工作环境并运行脚本

在这篇文章中&#xff0c;我们将会为Cocos Creator配置默认的脚本编辑器与预览浏览器&#xff0c;并在配置好的编辑器中实施Cocos Creator脚本编程工作。通过这篇文章&#xff0c;您将会掌握基础的脚本开发知识&#xff0c;同时会对Cocos Creator脚本编程有初步的认知。 配置外…

如何将一台电脑主机分裂成两台、三台?

有用户问&#xff1a;如何将一台电脑主机拆分成两台、三台甚至更多台使用&#xff1f; 这是什么意思&#xff1f; 简单解释一下&#xff1a;在一台计算机主机上&#xff0c;连接两台、三台或者更多台显示器&#xff0c;然后将这台主机的硬件资源分配给这些显示器&#xff0c;然…

退休开便利店真的靠谱吗?2024比较赚钱的创业项目排行

近日多个退休后开便利店赚钱的新闻登上热搜&#xff0c;但是&#xff0c;小编对此有疑问&#xff0c;退休的老年人开便利店真的是一个好选择吗&#xff1f; 第一、便利店最基本的转让费&#xff0c;装修费&#xff0c;进货等等&#xff0c;这笔开支非常大&#xff0c;足以掏空老…

librtmp源码分析

阅读了librtmp的源码&#xff0c;简单记录下。 首先补充下AMF格式基本知识 1 AMF格式 AMF是Action Message Format(动作消息格式)的简写&#xff0c;它是一种二进制的数据格式。它的设计是为了把actionscript里面的数据(包括Object, Array, Boolean, Number等)序列化成二进制…

Spring - InitializingBean、@PostConstruct、@Bean(initMethod = “init“)和构造方法执行优先级比较

执行顺序优先级 构造方法 > postConstruct > afterPropertiesSet > init方法 代码案例 Component public class InitializingBeanTest implements InitializingBean {public InitializingBeanTest(){System.out.println("构造方法");}Overridepublic void…

如何学习、上手点云算法(一):点云基础

写在前面 本文内容 点云算法的学习基础&#xff0c;入门方法&#xff0c;相关领域&#xff0c;资源&#xff0c;开源库&#xff0c;算法等的介绍&#xff1b; 以Open3D和PCL等为基础工具的点云处理代码讲解、实现&#xff1b; 文中涉及的参考以链接形式给出&#xff0c;涉及文…

计算机网络_2.1 物理层概述

2.1 物理层概述 一、物理层要实现的功能二、物理层接口特性 B站 深入浅出计算机网络 2.1物理层概述 一、物理层要实现的功能 物理层要实现的功能就是在各种传输媒体上传输比特0和1&#xff0c;进而给上面的数据链路层提供透明传输比特流的服务。 数据链路层“看不见”&#xff…
最新文章