YOLOCS:有效降低特征图空间复杂度

news2024/12/23 9:35:20

图片

论文地址:YOLOCS: Object Detection based on Dense Channel Compression for Feature Spatial Solidification (arxiv.org)

通过压缩特征图的空间分辨率,提高了对象检测的准确性和速度。本文的主要贡献在于引入了一种新的特征空间固化方法,能够有效地降低特征图的时空复杂度,提高对象检测的效率和准确性。

一、总述

在今天分享中,研究者检查了在特征纯化和梯度反向传播过程中信道特征和卷积核之间的关联,重点是网络内的前向和反向传播。因此,研究者提出了一种称为密集通道压缩的特征空间固化方法。根据该方法的核心概念,引入了两个用于骨干网络和头部网络的创新模块:用于特征空间固化结构的密集通道压缩(DCFS)和非对称多级压缩解耦头部(ADH)。当集成到YOLOv5模型中时,这两个模块表现出非凡的性能,从而产生了一个被称为YOLOCS的改进模型。

图片

  

图片

在MSCOCO数据集上评估,大、中、小YOLOCS模型的AP分别为50.1%、47.6%和42.5%。在保持与YOLOv5模型的推理速度显著相似的情况下,大、中、小YOLOCS模型分别以1.1%、2.3%和5.2%的优势超过YOLOv5的AP。

二、背景

近年来,目标检测技术在计算机视觉领域受到了广泛关注。其中,基于单发多框算法的目标检测技术(Single Shot Multi Box Detector,SSD)和基于卷积神经网络的目标检测技术(Convolutional Neural Networks,CNN)是两种最常用的目标检测技术。然而,由于单发多框算法的精度较低,而基于卷积神经网络的目标检测技术的计算复杂度较高,因此,寻找一种高效且精度较高的目标检测技术成为了当前研究的热点之一。

图片

Dense Channel Compression(DCC)是一种新型的卷积神经网络压缩技术,它通过对卷积神经网络中的特征图进行空间固化,从而实现对网络参数的压缩和加速。然而,DCC技术在目标检测领域的应用尚未得到充分的研究。

图片

因此,提出了一种基于Dense Channel Compression的目标检测技术,命名为YOLOCS(YOLO with Dense Channel Compression)。YOLOCS技术将DCC技术与YOLO(You Only Look Once)算法相结合,实现了对目标检测的高效且精度较高的处理。具体来说,YOLOCS技术通过DCC技术对特征图进行空间固化,从而实现对目标位置的精确定位;同时,YOLOCS技术利用YOLO算法的单发多框算法特点,实现对目标类别分类的快速计算。

三、框架

  • Dense Channel Compression for Feature Spatial Solidification Structure (DCFS)

图片

在提出的方法中(上图(c))中,研究者不仅解决了网络宽度和深度之间的平衡问题,还通过3×3卷积压缩了来自不同深度层的特征,在输出和融合特征之前将通道数量减少了一半。这种方法使研究者能够在更大程度上细化来自不同层的特征输出,从而在融合阶段增强特征的多样性和有效性。

此外,来自每一层的压缩特征都带有更大的卷积核权重(3×3),从而有效地扩展了输出特征的感受野。将这种方法称为特征空间固化的密集通道压缩。用于特征空间固化的密集通道压缩背后的基本原理依赖于利用较大的卷积核来促进通道压缩。该技术具有两个关键优点:首先,它扩展了前向传播过程中特征感知的感受域,从而确保了区域相关的特征细节被纳入,以最大限度地减少整个压缩阶段的特征损失。其次,误差反向传播过程中误差细节的增强允许更准确的权重调整。

为了进一步阐明这两个优点,使用具有两种不同核类型(1×1和3×3)的卷积来压缩两个通道,如下图:

图片

DCFS的网络结构如下图所示。采用三层瓶颈结构,在网络前向传播的过程中逐渐压缩信道。半通道3×3卷积应用于所有分支,然后是批处理归一化(BN)和激活函数层。随后,使用1×1卷积层来压缩输出特征通道,以匹配输入特征通道。

图片

  • Asymmetric Multi-level Channel Compression Decoupled Head (ADH)

为了解决YOLOX模型中的解耦头问题,研究者进行了一系列的研究和实验。研究结果揭示了解耦头部结构的利用与相关损失函数之间的逻辑相关性。具体而言,对于不同的任务,应根据损失计算的复杂性调整解耦头的结构。此外,当将解耦的头部结构应用于各种任务时,由于最终输出维度的差异,将前一层的特征通道(如下图)直接压缩为任务通道可能会导致显著的特征损失。这反过来又会对模型的整体性能产生不利影响。

图片

此外,当考虑提出的用于特征空间固化的密集通道压缩方法时,直接减少最终层中的通道数量以匹配输出通道可能会导致前向传播过程中的特征丢失,从而降低网络性能。同时,在反向传播的背景下,这种结构可能会导致次优误差反向传播,阻碍梯度稳定性的实现。为了应对这些挑战,引入了一种新的解耦头,称为非对称多级通道压缩解耦头(如下图(b))。

图片

具体而言,研究者深化了专用于目标评分任务的网络路径,并使用3个卷积来扩展该任务的感受野和参数数量。同时,沿着通道维度压缩每个卷积层的特征。该方法不仅有效地减轻了与目标评分任务相关的训练难度,提高了模型性能,而且大大减少了解耦头部模块的参数和GFLOP,从而显著提高了推理速度。此外,使用1卷积层来分离分类和边界框任务。这是因为对于匹配的正样本,与两个任务相关联的损失相对较小,因此避免了过度扩展。这种方法大大降低了解耦头中的参数和GFLOP,最终提高了推理速度。

四、实验

Ablation Experiment on MS-COCO val2017

图片

Comparison of YOLOCS, YOLOX and YOLOv5- r6.1[7] in terms of AP on MS-COCO 2017 test-dev

图片

图片

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

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

相关文章

SOLIDWORKS 2024新功能之Visualize篇

SOLIDWORKS 2024新功能Visualize 增强了创建引人注目的外观的功能 SOLIDWORKS Visualize 使用 Dassault Systmes 的企业 PBR 着色模型 (DSPBR) 来准确复制金属、玻璃、塑料和其他曲面的逼真外观。 DSPBR 是材料模型,用于基于物理的渲染,受 3DEXPERIENCE…

java数据结构--优先级队列

一.概念 优先级队列是一种特殊类型的队列,它根据每个元素的优先级进行排序和访问。较高优先级的元素将在较低优先级的元素之前被处理。 优先级队列可以使用不同的数据结构实现,包括数组、链表或二叉堆。其中,二叉堆是实现优先级队列的常见选…

在已有的虚拟环境中升级python版本

对于现有的虚拟环境,想升级python版本方法,试了无数的方法终于找对了。 1.首先activate对应的虚拟环境,然后输入下面的命令: conda install python3.8 建议加上镜像源 ​conda install python3.8 -i https://pypi.tuna.tsingh…

长虹智能电视使用123

1、开机 在接通电源的情况下,长虹智能电视开机有两种方式。 方式1: 按电视右下角开机按钮 方式2: 按电视遥控器开机按钮 长虹智能电视开机后会进入其操作系统(安卓)。 屏幕左右双箭头图表,手指点击会…

如何查看Android 包依赖关系

关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导读二、概览三、查看依赖关系3.1 方式一3.2 方式二…

C语言——判断1~100中的奇数

方式一、 while&#xff0c;if语句 #define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int i1;while(i<100){if(1 i%2)printf("%d ",i);i;}return 0; } 方式二、 while&#xff0c;if语句 #define _CRT_SECURE_NO_WARNINGS 1#include&…

智慧工地综合管理平台-项目整体需求规格说明书

引言 定位与目标 智慧工地是一种现代化的管理方式,目标是通过应用现代科技手段,对施工现场的设备、人员、物资等信息全面掌控,减少工地事故的发生,提高施工质量和安全性,同时也能够降低成本,提高效益,实现建筑施工的数字化、智能化和可持续发展,为城市建设和社会发展…

绿联DX4600 AList部署及挂载阿里云盘

写在前面 ​ 因为云盘总是封禁已经转存的文件&#xff08;珍惜影片&#xff09;&#xff0c;实在受不了了&#xff0c;就像购买个NAS构建私人云存储&#xff0c;正好趁着双11购入了绿联的DX4600&#xff0c;本来想购入群晖或者威联通等专业NAS&#xff0c;因为不想折腾&#x…

算法秘籍-王一博 | 数据结构与算法

⭐简单说两句⭐ 作者&#xff1a;后端小知识 CSDN个人主页&#xff1a;后端小知识 &#x1f50e;GZH&#xff1a;后端小知识 &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; 数据结构和算法是计算机科学的基石&#xff0c;是计算机的灵魂&…

一分钟带你了解易货:来龙去脉,古往今来

原始社会&#xff0c;没有货币&#xff0c;人类没有货币&#xff0c;用捕猎来的兽皮换取需要的野果&#xff0c;用一头羊换几只鸡&#xff0c;等等之类&#xff0c;都属于最早的交换。那个时候&#xff0c;人类没有价值的定义&#xff0c;属于最原始的交换。 直到私有制的形成&…

IP协议相关技术

文章目录 IP协议相关技术仅凭IP无法完成通信DNSARP IP协议相关技术 仅凭IP无法完成通信 人们在上网的时候其实很少直接输入某个具体的IP地址。 在访问Web站点和发送、接收电子邮件时&#xff0c;我们通常会直接输入Web网站的地址或电子邮件地址等那些由应用层提供的地址&…

嵌软工程师要掌握的硬件知识2:一文看懂什么是开漏和推挽电路(open-drain / push-pull)

文 / 黑猫学长 本文根据笔者个人工作/学习经验整理而成,如有错误请留言。 文章为付费内容,已加入原创侵权保护,禁止私自转载及抄袭。 文章所在专栏: 嵌软工程师要掌握的硬件知识 1 推挽(push pull)电路 1.1 理解什么是推挽电路 - 详细介绍 如图所示,Q3是个NPN型三极管…

掌动智能:UI自动化测试工具产品功能和优势

UI自动化测试工具是一种软件工具&#xff0c;用于模拟用户与应用程序的交互&#xff0c;检查应用程序的用户界面是否按预期工作。这些工具允许开发人员编写测试脚本&#xff0c;以模拟用户操作&#xff0c;例如点击按钮、输入文本、导航菜单等&#xff0c;然后验证应用程序的响…

如何通过对话式机器人流程自动化 (CRPA),改善客户服务?

对话式机器人流程自动化&#xff08;CRPA&#xff09;系统在企业内部的应用越来越广泛&#xff0c;尤其在客户服务部门&#xff0c;其潜力得到了充分发挥。这种系统将自动化与人工智能技术的最新进步相结合&#xff0c;以提升和优化各类流程的效率。 然而&#xff0c;什么是CRP…

【qemu逃逸】XCTF 华为高校挑战赛决赛-pipeline

前言 虚拟机用户名: root 无密码 设备逆向与漏洞分析 程序没有去符合, 还是比较简单. 实例结构体如下: 先总体说一下流程: encode 为 base64 编码函数, decode 为 base64 解码函数. 然后 encPipe 和 decPipe 分别存放编码数据和解码数据, 分别有四个: 其中 EncPipeLine 中…

数据结构-栈和队列力扣题

目录 有效的括号 用队列实现栈 用栈实现队列 设计循环队列 有效的括号 题目链接&#xff1a;力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 这道题可以用栈来解决&#xff0c;先让字符串中的左括号 ( &#xff0c; [ &#xff0c; { 入栈&#xff0c;s指向字符串下…

昇腾CANN 7.0 黑科技:大模型推理部署技术解密

CANN作为最接近昇腾AI系列硬件产品的一层&#xff0c;通过软硬件联合设计&#xff0c;打造出适合昇腾AI处理器的软件架构&#xff0c;充分使能和释放昇腾硬件的澎湃算力。针对大模型推理场景&#xff0c;CANN最新发布的CANN 7.0版本有机整合各内部组件&#xff0c;支持大模型的…

笔记本电脑的麦克风没有声音

笔记本电脑的麦克风没有声音是一个常见的问题&#xff0c;可能是由于以下几个原因导致的&#xff1a; 第一&#xff0c;麦克风没有启用或者被禁用了。在Windows系统中&#xff0c;右键单击任务栏上的音量图标&#xff0c;选择“录音设备”&#xff0c;在弹出窗口中找到麦克风&a…

阿里云Intel Xeon Platinum可扩展处理器性能说明

阿里云Intel Xeon Platinum可扩展处理器性能如何&#xff1f;目前云服务器ECS经济型e实例采用该款CPU型号&#xff0c;正好阿里云服务器网购买了一台2核CPU、2G内存、3M固定带宽、40G ESSD Entry云盘&#xff0c;一年优惠价99元&#xff0c;第二年续费不涨价依旧是99元一年&…

2023最新版JavaSE教程——第3天:流程控制语句之顺序语句与分支语句

目录 一、顺序结构二、分支语句2.1 if-else条件判断结构2.1.1 基本语法2.1.2 应用举例2.1.3 if...else嵌套2.1.4 其它说明2.1.5 练习 2.2 switch-case选择结构2.2.1 基本语法2.2.2 应用举例2.2.3 利用case的穿透性2.2.4 if-else语句与switch-case语句比较2.2.5 练习 流程控制语…