【YOLO v5 v7 v8 小目标改进】RFB:组合不同大小的卷积核和扩张卷积来模拟人类视觉感受野的多尺度特性

news2025/2/24 9:07:01

RFB:组合不同大小的卷积核和扩张卷积来模拟人类视觉感受野的多尺度特性

    • 提出背景
      • RFB 原理
      • 空间感受野结构
      • RFB-Net
    • 小目标涨点
      • YOLO v5 魔改
      • YOLO v7 魔改
      • YOLO v8 魔改

 


提出背景

当前表现最好的目标检测器依赖于深层CNN骨干网络,如ResNet-101和Inception,它们受益于强大的特征表示,但代价是高计算成本。

相反,一些轻量级模型的检测器能够实现实时处理,但它们的准确性都不咋地。

作者提出了一种用于快速且准确的目标检测的方法,旨在通过增强轻量级CNN网络的深层特征来解决当前深层网络模型计算成本高和推理速度慢的问题。

RFB 原理

RFB模块,即Receptive Field Block模块,是一种用于增强轻量级卷积神经网络(CNN)特征表示的网络结构。

它的设计灵感来自于人类视觉系统的感受野(Receptive Field),特别是感受野的大小和偏心率(即感受野中心与视网膜中心的距离)随视网膜位置变化的特性。RFB模块通过模拟这种特性来增强特征的区分能力和鲁棒性,尤其是对于位置的轻微偏移。

  • 人类视觉系统在处理这类任务时,会更加关注图像中的某些区域,特别是那些对当前任务更重要的区域。

  • 当你在街道上,专注于识别远处的交通标志时,你的视觉系统会自然地调整,使得感受野在那个特定区域变得更大,以便捕获更多的上下文信息,即使标志本身较小也能被准确识别。

  • 同时,对于图像中心附近的对象(如近处的行人),感受野则会相对较小,以捕获更细致的特征,如脸部特征或衣物纹理,从而提高对行人的识别准确性。

RFB 模拟过程:

  1. 多分支池化,实现多尺度特征捕获:使用不同大小的卷积核和池化层来捕捉不同尺度的特征。

    这样可以模拟不同大小的感受野,从而更好地捕捉图像中的详细信息。

    模型能够同时捕获图像中的粗糙和细致特征。

    这就像人眼能够同时注意到远处交通标志的整体形状(粗糙特征)和近处行人脸部的细节(细致特征)。

  2. 扩张卷积(Dilated Convolution)模拟偏心率调整:通过增加卷积核元素之间的间隔来扩大感受野,而不增加参数数量或计算量。

    通过扩张卷积(dilated convolution),调整卷积核的采样范围,增大感受野而不增加参数数量,以捕捉更广泛的上下文信息。

    这使得模型能够更有效地处理图像边缘或角落部分的对象,增强了对于位置变化的鲁棒性。

  3. 特征重组和整合,实现动态感受野调整:通过对不同分支的输出进行组合和调整,生成最终的特征表示。

    使用扩张卷积层而不是固定的池化策略。

    固定池化策略限制了感受野大小的多样性,影响特征的融合。

    这一步骤确保了模型可以利用来自不同感受野的信息,提高模型的识别能力。

在这里插入图片描述
这图是RFB模块的构建方式,通过结合不同核大小和扩张卷积层的多分支,来模拟人类视觉系统中的感受野。

不同大小的核对应不同大小的感受野,而扩张卷积层则用于调整这些感受野的偏心率。

这些分支最后通过连接操作和1x1卷积层结合起来,形成最终的感受野空间数组,类似于图1中展示的人类视觉系统中的感受野。

 


空间感受野结构

在这里插入图片描述
在原文中,展示的四种不同的空间感受野结构意味着:

  1. Inception(图 3a)

    • Inception模块使用多个大小不同的卷积核同时工作,从而能够在同一层内捕获不同尺度的特征。
    • 这允许模型同时理解图像中的大范围模式和小范围的细节。
  2. ASPP(图 3b)

    • Atrous Spatial Pyramid Pooling(ASPP)结构通过使用不同扩张率的卷积层,可以在不同尺度上捕捉特征。
    • 这样做可以增加感受野的大小,同时不增加计算成本,能够更好地处理图像中的多尺度对象。
  3. Deformable Convolution(图 3c)

    • 可变形卷积网络通过允许卷积核的形状根据输入数据动态变化来捕捉不规则的特征。
    • 这种灵活性允许模型更好地适应物体的形状和大小,提高了模型对不同对象的适应能力。
  4. RFB(图 3d)

    • RFB结构结合了Inception和ASPP的优点,使用不同扩张率的卷积核来模拟人类视觉中感受野的大小和偏心率变化。
    • 这种设计在保持参数数量不变的情况下,使感受野更加多样化和精细化,提高了模型的准确性和对小物体及其上下文的识别能力。

每种结构都有其特定的优势,而RFB模块试图将这些优势集成到一个更加高效和精确的检测框架中。

  • 相比于Inception模块,RFB模块提供了更精细的控制感受野尺度的方法,不仅通过多分支结构捕获多尺度特征,还通过扩张卷积调整感受野的大小。
  • 与ASPP相比,RFB不仅利用了扩张卷积来增加感受野,还特别设计了多分支结构来模拟感受野的尺寸和位置变化,更符合人类视觉感受野的实际分布。
  • 不同于可变形卷积网络(Deformable Convolutional Networks)只在局部自适应调整感受野,RFB考虑了整个视网膜映射的规律,力求在全局范围内优化感受野的大小和形状。

在这里插入图片描述

RFB模块的设计,上文已描述。

RFB-s是RFB的一个变体,它专门设计来模拟人类视网膜图谱中较小的感受野。

它主要用于网络中更浅的层,因为这些层更接近原始图像,能够捕捉更精细的图像细节。

  1. 更多的分支:RFB-s使用了更多的分支,每个分支有更小的卷积核。这样可以提高对小尺寸特征的敏感性,对应于视网膜中心区域的细节捕捉能力。

  2. 较小的卷积核:较小的卷积核允许RFB-s模块有较小的感受野,更适合捕获小物体或图像中的细节特征。

  3. 步长为2的操作:在特征图上使用步长为2的RFB模块可以减少输出特征图的空间尺寸,从而减少模型的参数数量和计算负担。这种设置有助于加速模型的计算,同时仍然允许模型利用RFB模块提供的感受野多样性。

当这些模块应用于conv4_3特征图后时,它们提供了一个精细的感受野结构来增强后续层的特征表示。

在目标检测中,这意味着模型可以更有效地识别和定位图像中的小物体,同时还能快速处理图像,使其非常适用于需要实时处理的应用场景,如视频监控或自动驾驶汽车。

RFB 通过组合不同大小的卷积核和扩张卷积来模拟人类视觉感受野的多尺度特性,与其他方法(如Inception模块、ASPP等)相比,RFB特别强调通过这种组合来精细调整感受野的大小和偏心率,以优化对复杂背景下小目标的检测性能。
 


RFB-Net

RFB-Net 网络架构流程:
在这里插入图片描述
其中 conv4_3 特征图后接 RFB-s 模块,该模块具有较小的感受野,且使用步长为2的RFB模块来减少参数量,而保持原有RFB模块的多核心卷积层。

在RFB Net中,conv4_3这一层特征图上的锚点框数量被增加,以期望通过更多的候选框来提高网络对小目标的检测性能。

这种调整反映了一个通用的观点,即增加对小物体的敏感性可以通过在低层特征图上引入更多的锚点框来实现。

问题:优化小目标的检测精度

解法

  • 增加低层特征图的默认锚点框数量

  • 之所以增加锚点框,是因为小目标在低层特征图上更为明显,增加锚点框能够提供更多的正样本,从而提高小目标的检测精度。

 

问题:高性能的目标检测模型往往需要复杂的网络结构来提高准确率,但这样做的代价是计算成本高和推理速度慢,这对于需要实时处理的应用场景(如自动驾驶车辆的物体识别)是不可接受的。

SSD 是一种流行的单阶段目标检测模型,以其速度快和效率高而著称。

解法

  • 通过在SSD(一种轻量级且能实时处理的目标检测模型)的顶部集成RFB模块,可以在不显著增加计算负担的情况下,显著提升模型的检测性能。
  • 这样,RFB Net能够快速准确地检测图像中的物体,同时保持较低的计算成本和高速的推理能力。

将RFB模块集成到SSD顶层的过程如下:

  1. 选择集成位置:首先确定在SSD网络结构中哪些层之后集成RFB模块。

    通常,这些位置选在特征提取网络的后面几层,因为这些层的特征图包含了丰富的语义信息,适合进行进一步的增强。

  2. 设计RFB模块:根据SSD的特定需求设计RFB模块。

    这包括确定分支的数量、卷积核的大小、扩张率等参数。

    设计的目标是在不显著增加计算负担的情况下,最大化特征的区分能力和鲁棒性。

  3. 集成RFB模块:在选定的层后面添加RFB模块。

    这意味着原有的特征图会首先通过RFB模块进行处理,然后再继续后续的检测流程。

  4. 调整检测头:由于引入了RFB模块,可能需要对SSD原有的检测头(即用于分类和定位的卷积层)进行一定的调整,以适应新的特征表示。

  5. 训练和优化:最后,需要使用标注数据重新训练和优化整个模型,确保RFB模块能够有效提升目标检测的性能。

通过上述步骤,RFB Net能够结合SSD的高效处理速度和RFB模块的强大特征表示能力,实现快速且准确的目标检测。

小目标涨点

更新中…

YOLO v5 魔改

YOLO v7 魔改

YOLO v8 魔改

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

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

相关文章

qt5与qt6的cmake区别

文章目录 使用cmake构建qt项目,坑很多。一是本身就麻烦,二是,确实坑,因为不同的qtcreator版本,选了不同的kits(套件) 生成的CMakeList.txt文件也不一样。 如果可以的话都选择Qt6的相关选项&…

【C++】认识类和对象

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 一、什么是面向对象?二、类的引入三、类的定义四、类的访问限定符与…

一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人

一文速览深度伪造检测(Detection of Deepfakes):未来技术的守门人 前言一、Deepfakes技术原理卷积神经网络(CNN):细致的艺术学徒生成对抗网络(GAN):画家与评审的双重角色…

异常网络下TCP的可靠服务机制(慢启动、拥塞避免、快重传、快恢复)

目录 TCP超时重传拥塞控制概述慢启动和拥塞避免下面讲解发送端如何判断拥塞发生。 快速重传和快速恢复 本文描述TCP在异常网络下的处理方式 以保证其可靠的数据传输的服务 TCP超时重传 tcp服务能够重传其超时时间内没有收到确认的TCP报文段,tcp模块为每一个报文段都…

【机器学习】特征选择之包裹式特征选择法

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

matlab实现不同窗滤波器示例

1 汉明窗低通滤波器 : 在Matlab中使用汉明窗设计低通滤波器可以通过fir1函数实现。汉明窗通常用于设计滤波器,可以提供更突出的频率特性。 下面是一个示例代码,演示如何在Matlab中使用汉明窗设计低通滤波器: % 定义滤波器参数 fs …

数据结构——lesson4带头双向循环链表实现

前言✨✨ 💥个人主页:大耳朵土土垚-CSDN博客 💥 所属专栏:数据结构学习笔记​​​​​​ 💥双链表与单链表的区分:单链表介绍与实现 💥对于malloc函数有疑问的:动态内存函数介绍 感谢大家的观看…

J1—Vivado调试技巧VIO IP

1.简介 VIO(Virtual Input/Output)IP核是一种用于FPGA设计的IP核,它可以模拟输入/输出设备的功能,如键盘、鼠标、显示器等。VIO IP核可以在FPGA设计中用于调试和验证,帮助工程师快速定位问题并进行调试。如图所示&…

vue 解决:点击左侧相同菜单,右侧页面不重新加载的问题

1、问题描述: 其一、需求为: 无论是通过路由组件形成的平台管理系统,还是通过文件配置形成的平台管理系统,都存在通过切换左侧的导航栏而使右侧的页面切换的业务需求; 其二、问题描述为: A、步骤一&#…

全国产飞腾E2000Q +复旦微FPGA的轨道交通、电力解决方案

产品概述 ITX-XMF201是一款高性能边缘计算网关主板,采用飞腾E2000Q 4核处理器,国产化率达到95%国产化。 板载2电口,2路CAN,6路RS232接口,1路RS485接口,16路GPIO,可以满足银行、轨道交通、电力等…

springboot2入门到实战 - JWT

JWT是什么? JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained way for securely transmitting information between parties as a JSON object。 This information can be verified and trusted because it is digi…

便签软件哪个好用?好用便签怎么设置提醒?

在当今信息爆炸的时代,便签软件成为了人们生活中不可或缺的工具之一。那么,便签软件哪个好用呢?下面为您推荐几款备受好评的便签软件。首先是知名度极高的好用便签,它拥有强大的笔记功能、提醒功能和多端同步,让您随时…

COMPOSER安装使用WIN下升级PHP-V

想用TP6使用phpspreadsheet但是说我PHP版本低,原来是PHP7.0 composer要求至少7.4 直接修改环境变量,把PHP目录切换到7.4 composer升级比较简单,在PHP目录下CMD然后官网的命令执行下即可 下面就可以在TP根目录下执行命令安装PHPSPREADSHEET…

Java进阶-集合(3)与泛型

这次介绍集合中的Iterator迭代器,以及泛型。简单来说,泛型对集合的元素类型进行了限制,使用泛型可以在编译时检查类型安全,提高代码的重用率。内容如下 一、Iterator迭代器 1、概念 Iterator迭代器是一个接口,作用…

MATLAB环境下脑电信号EEG的谱分析

脑电信号一直伴随着人类的生命,脑电波是脑神经细胞发生新陈代谢、离子交换时细胞群兴奋突触电位总和,脑电信号的节律性则和丘脑相关,含有丰富的大脑活动信息。通常我们所接触的脑电图都是头皮脑电图,在有些特殊场合还需要皮下部位…

TikTok网络相关问题详解来了,附原生住宅代理IP供应商推荐,

想要迈过TikTok新手门槛,首先必须要学习的就是网络问题。很多人开始做TikTok账号或者TikTok小店时,都会遇到一些先前没有遇到的词汇和概念,比如原生IP,独享IP,甚至专线,那么一个IP可以做几个账号呢&#xf…

0粉低成本带货!职人号矩阵正成为商家的香饽饽

近年来,中国消费市场变化不断,线上消费持续上涨,线上线下一体化成为零售行业的发展新趋势。 加上抖音等平台都在大力发展本地生活,众多连锁商家、本地商家、百货商场纷纷加快数字化转型步伐,掘金线上海量流量&#xff…

机器学习:原理、应用与未来展望

第一章 是什么 机器学习(Machine Learning)是一门跨学科的学科,它使用计算机模拟或实现人类学习行为,通过不断地获取新的知识和技能,重新组织已有的知识结构,从而提高自身的性能。机器学习涉及多个学科&am…

HGAME 2024 WEEK4 WP

文章目录 IOTez7621 MISCezKeyboardMaybezip**Mondrians 🔑 REchange webReverse and Escalation. 想念21和22年的平台和week4的 6557225了 IOT ez7621 拿到固件直接binwalk解,之后grep出hgame 在usr/lib/opkg/info/kmod-flag.control找到这个&#x…

Quartz 任务调度框架源码阅读解析

概念: quartz 是一个基于JAVA的定时任务调度框架 案例: <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.3.0</version></dependency>JobDetail job JobBuilder.newJob(Sc…