MHDNet

news2025/1/8 6:00:35

发现一种性能更优的目标检测网络,不同的输入分辨率下,目标分布和检测头之间存在不同的匹配关系。基于这些有指导意义的发现,作者提出了一种基于检测头和目标分布之间匹配的轻量化交通目标检测网络,称为MHDNet。该模型在BDD100K数据集和提出的ETFOD-v2数据集上比其他模型具有更强的竞争性能。

多尺度检测在目标检测模型中占有重要地位。然而,研究人员通常对如何在不同输入分辨率下结合多尺度特征合理配置检测头感到空白。作者发现在不同的输入分辨率下,目标分布和检测头之间存在不同的匹配关系。基于这些有指导意义的发现,作者提出了一种基于检测头和目标分布之间匹配的轻量化交通目标检测网络,称为MHDNet

它由三个主要部分组成。第一种是检测头和目标分布匹配策略,它指导检测头的合理配置,以便利用多尺度特征有效地检测不同尺度的目标。第二个是跨尺度检测头配置指南,该指南指示用2个具有丰富特征表示的检测头替换多个检测头,以在检测精度、模型参数、FLOP和检测速度之间实现极好的平衡。第三种是感受野扩大方法,它将扩大的卷积模块与主干的浅特征相结合,以略微增加模型参数为代价,进一步提高检测精度。

该模型在BDD100K数据集和提出的ETFOD-v2数据集上比其他模型具有更强的竞争性能。

作为智能驾驶的重要组成部分,目标检测对于确保驾驶安全至关重要。通常,为了平衡FLOP的检测精度,缩放输入分辨率是一种常见的方法。作者回顾了BDD100K数据集上检测模型的细节,意外地发现不同的检测头可以在不同的输入分辨率下匹配不同尺度的目标。如图1所示,在低输入分辨率下,有大量物体与H1和H2检测头匹配。然而,随着输入分辨率的提高,与H1和H2检测头匹配的目标数量显著减少,而与H4和H5检测头匹配目标的数量显著增加。

这一发现令人兴奋,并促使重新思考现有模型中检测头的配置是否最佳。例如,在输入分辨率较低的情况下,是否可以使用3个与YOLOv5设置的检测头类似的检测头来实现最佳的检测性能,尤其是对于大量的小目标?在高输入分辨率下,5个类似于IDYOLO的检测头是否会导致检测头冗余,并增加模型优化的难度?此外,对于不同的输入分辨率,如何配置合适的检测头,以在非常不同的尺度上实现更好的交通目标检测性能?

另一方面,为了减少模型参数和提高检测速度,使用较少的检测头是一种常见的方法。Yolov3-tiny和YOLOv4-tiny使用H4和H5检测头检测物体。该方法减少了模型参数,提高了检测速度,但牺牲了检测精度。YOLOF采用单H5检测头,减少了模型参数,提高了检测精度,但对小目标的检测不友好。CornerNet和CenterNet使用单个H2检测头取得了具有竞争力的性能,但对大目标的检测性能可能不足。对于计算资源有限、目标尺度不同的交通场景,如何配置合理的检测头,在检测精度、模型参数、FLOP和检测速度之间取得良好的平衡,是一个值得研究的问题。

为了解决上述问题,首先对检测头的配置对BDD100K数据集在不同输入分辨率下的检测性能的影响进行了初步研究。

实验结果表明,3个检测头(H3-5)的检测精度低于4个检测头,低分辨率为416。高分辨率为1504,H3-5检测头的检测精度高于H2-5检测头。

作者认为,这种完全相反的结果主要是由于检测头和目标分布之间的不匹配造成的。由于输入分辨率较低,大量小目标与对应于高分辨率特征图的检测头相匹配。在这种情况下,只有3个检测头无法有效检测大量的小物体。据了解,增加H2检测头有利于小目标检测。随着高输入分辨率,目标规模整体变大,3个检测头几乎可以匹配所有目标。在这种情况下,使用更多的检测头可能会导致检测头冗余,这不利于模型优化。为了缓解不匹配导致的检测性能下降,基于上述发现做出了以下3点贡献:

 提出了一种适用的检测头和目标分布匹配策略。该匹配策略可以指导合理配置检测头,以检测不同尺度的目标。

 提出了一种简单有效的跨尺度检测头配置指南。根据该准则,可以用2个检测头代替多个检测头,这可以显著降低模型参数和FLOP,提高检测速度,同时保持较高的检测精度。

 将扩展卷积模块与骨干网的浅层特征相结合,构建了一个轻量级的交通目标检测网络,称为MHD网。实验结果表明提出的模型在BDD100K数据集和提出的ETFOD-v2数据集上取得了比其他模型更具竞争力的性能。


Multi-scale detection

多尺度检测在目标检测模型中占有重要地位。以VIT-YOLO、FCOS、VFNet和GFL为代表的模型利用5个不同的特征级别融合上下文信息,从而获得了令人印象深刻的检测性能。考虑到小目标的特征在下采样过程中容易丢失,Libra RCNN、OPANAS、ABFPN和GCA RCNN集成了4个不同的特征层次,构建了不同尺度下目标检测的检测模型。YOLOv5、YOLOv7、CSPNet和YOLOv-4-P5只使用了3种尺度的特征来表示不同尺度的对象,并且取得了优异的性能。

与上述多尺度表示不同,YOLOv3 Tiny、YOLOv 4 Tiny和YOEO将两种尺度的特征结合起来进行目标检测,从而实现检测精度、模型参数和检测速度之间的平衡。尽管这些模型取得了令人印象深刻的性能,但它们没有充分考虑不同分辨率下目标分布和检测头之间的匹配关系。在提出的方法中,基于上一节中的指导性发现,可以根据匹配关系简单合理地配置检测头,并且可以充分利用更合适和更具代表性的多尺度信息来检测不同尺度的目标。


Traffic object detection

随着智能驾驶的兴起,交通目标检测受到越来越多的关注。Yang等人提出了一种具有两个检测头的部分感知多尺度全卷积网络,用于检测行人。基于YOLOv5模型和决策树,Aboah等人构建了一个交通监控系统来监控异常交通事件,并取得了预期的效果。为了检测铁路中的目标,建立了具有先验目标检测模块和目标检测模块的DFF网络,并取得了比其他模型更好的性能。Lin等人将注意力图与多尺度特征相结合,提出了一种更加关注小规模行人的模型,并在多个数据集上取得了良好的性能。与检测交通场景中的所有物体不同,秦等人提出了IDYOLO模型来检测驾驶员注意区域内的物体,并获得了具有竞争力的结果。虽然上述多检测头模型利用多尺度特征获得了较好的结果,但没有充分考虑目标分布与检测头之间的匹配关系。根据图1所示的结果,本文充分利用两个跨尺度检测头而不是多个检测头来构建一个轻量级模型,在检测精度、模型参数、FLOP和探测速度之间取得了出色的平衡。

基于以上分析采用YOLOv5-S模型结构,用3×3卷积代替主干网第一下采样层的6×6卷积,构建了一个轻量级交通目标检测网络,称为MHDNet。它由三个主要部分组成:

第一种是检测头和目标分布匹配策略,它指导检测头的合理配置,以有效地检测不同尺度的目标。

第二个是跨尺度检测头配置指南,该指南指示用两个检测头替换多个检测头,以在检测精度、模型参数、FLOP和检测速度之间取得极好的平衡。

第三种是感受野放大方法,它将扩展卷积模块与主干的浅特征相结合,以略微增加模型参数为代价,进一步提高检测精度。MHDNet的示意图如图2所示。

检测头与目标分布匹配策略

虽然多尺度在目标检测中起着重要作用,但固定检测头配置一直是传统的模型构建范式,例如YOLOv5使用的H3-5检测头。作者发现在不同输入分辨率下,目标分布和检测头之间存在不同的匹配关系。这一发现值得重新思考,现有的检测头配置范式是最佳选择吗?此外,对于不同的输入分辨率,应该如何配置合理的检测头来检测不同尺度的交通目标?基于这种思想提出了一种简单有效的检测头与目标分布的匹配策略。首先计算第i个检测头对应的刻度范围(SR),如公式(1)所示:

跨尺度检测头配置指南 

基于检测头和目标分布匹配策略的检测头配置可以实现更好的检测精度。然而,由于采用了多个检测头,模型参数和FLOP将不可避免地增加。具有较少参数和较低FLOP的模型具有较高的检测速度和精度,是交通目标检测的理想模型。YOLOF仅使用单个H5探测头来实现竞争性能,但对小物体的探测效果较差。TTFNET通过使用单个H2探测头实现了类似的性能,但对于大型物体,可能存在探测性能下降的风险。对于不同规模的交通目标检测,一种简单的方法是将H2和H5检测头结合起来,但这种固定配置的组合是最佳选择吗?此外,对于不同输入分辨率的交通对象检测,如何配置检测头,以在检测精度、模型参数、FLOP和检测速度之间实现更好的平衡?

为了解决这个问题,提出了一种基于检测头与由公式(1)和(2)计算的目标分布之间的匹配关系的跨尺度检测头配置准则。

假设输入分辨率为800,我们知道大量目标与H2-H5检测头匹配。为了有效地检测小目标,首先选择H2探头作为检测器结构。考虑到与H3-H5头匹配的目标数量众多,仅使用一个H2头检测所有目标是不够的。因此,采用跨尺度检测头配置,即在H2头的基础上选择H4头共同构建检测器。

基于跨尺度检测头配置准则的双检测头模型不仅可以充分利用浅层和深层特征来探测不同尺度的目标,而且可以显著降低模型参数和FLOP,提高检测速度。此外,基于匹配关系,提出的跨尺度检测头配置指南可以指导利用两个检测头而不是多个检测头,以在不同输入分辨率下实现检测精度、模型参数、FLOP和检测速度之间的良好平衡。

感受野扩大法  

空洞卷积由于可以用较少的参数增加感受野,在目标检测任务中得到了广泛的应用。YOLOF、RFB-Net、LFD-Net和SA-YOLOv3将空洞卷积与深度特征相结合,以提高检测性能,但显著增加了模型参数。作者认为,对于交通目标检测而言,一种能够提高检测精度并保持较高检测速度,同时具有较少参数的模型无疑更具前景。

基于这一愿景,作者建议在主干浅层结合空洞卷积模块,以实现模型参数、检测精度、FLOP和检测速度之间的良好平衡。提出的空洞卷积模块如图3所示。其核心思想包括两个方面:

 一是尽可能少地使用卷积核和小卷积核,以减少模块参数;

 另一种方法是采用shortcut将2个不同空洞率的卷积和一个标准的3×3卷积结合起来,以增加模型的感受野,同时缓解网格问题。                                          whaosoft aiot  http://143ai.com

提出的空洞卷积模块简洁、轻便。它很容易与任何主干层结合。

实验

 检测头配置的影响

(1)416 x 416分辨率

从图1可以看出,大量的物体与5个分辨率为416的检测头匹配。根据提出的探测头与物体分布的匹配策略,设置H1-5检测头来检测物体,从而达到最高的mAP值,如表1所示,这表明提出的策略是有效的。在这种情况下,5个检测头的配置最大限度地覆盖不同尺度的物体,从而达到最高的检测精度。

此外,根据提出的跨尺度检测头配置准则,选择具有丰富特征表示的H1和H3检测头来检测交通目标。从表1可以看出,与使用5个检测头相比,充分利用两个跨尺度检测头获得的mAP仅略有下降,但模型参数急剧下降了31%以上,FLOP也下降了14%以上,FPS提高了20%以上。检测精度、模型参数、FLOP和检测速度之间的出色平衡证明了提出的跨尺度检测头配置的效率。

此外,当部署连续H1和H2检测头时mAP值减小,这表明大量不匹配这两个检测头的目标可能超出检测头的有效感知范围,从而降低了探测精度。H1和H5检测头配置的检测精度也有类似的降低。用H4和H5检测头构建的模型获得最低的mAP值,特别是对于小目标。原因可能是在向下采样过程中,大量小目标的位置信息很容易丢失。在这种情况下,低分辨率特征图对应的检测头不能有效地表示小目标特征,导致检测结果很差。随着高分辨率特征图对应的检测头的增加,与检测头匹配的小目标数量逐渐增加,检测头对小目标的表示能力增强,检测性能提高。

(2)800 x 800分辨率

输入分辨率为800时,计算目标分布与每个检测头之间的匹配关系,如图1所示。可以发现大量目标与H2-5检测头匹配。基于提出的检测头与目标分布的匹配策略,这4个检测头被用于检测交通目标。检测结果如表2所示。毫不奇怪,这4个检测头配置获得了最高的mAP值,这再次验证了提出的策略的有效性。

此外,根据提出的跨尺度检测头配置指南,采用H2和H4检测头,以在检测精度、模型参数、FLOP和检测速度之间取得良好的平衡。与输入分辨率为416的检测性能一致,连续H2和H3检测头的配置降低了检测精度。H4和H5检测头获得的mAP最低。通过添加与高分辨率特征图相对应的检测头,提高了小目标的检测性能。

然而,检测头越多越好。使用5个检测头获得的检测性能不如使用4个检测头得到的检测性能好。随着参数和FLOP的增加,检测精度和速度降低。原因可能是大量物体与H2-5检测头匹配,而与H1检测头匹配的物体不到1%。在这种情况下,增加H1检测头会导致检测头冗余,不利于模型优化。

(3)1504 x 1504分辨率

 从图1可以看出,输入分辨率为1504,大量目标与H3-5检测头匹配,而与H1和H2检测头匹配的物体很少,占不到1%。根据提议的检测头和目标分布匹配策略,使用H3-5检测头检测目标并获得最高mAP值,如表3所示。

此外,根据提议的跨尺度检测头配置指南,利用H3和H5检测头获得了与H3-5检测头相同的mAP值。虽然基于提议的跨尺度检测头H3,5配置的模型参数的减少和FPS的增加略好于使用H3-5检测头的那些,但提议的跨规模检测头配置指南的指导意义仍然有效。与输入分辨率为416和800的检测性能一致,H4和H5检测头获得的mAP最低。通过增加与高分辨率特征图相对应的检测头,提高了小目标的检测性能。同样,当继续添加与许多目标不匹配的检测头时,例如H2头,检测精度和速度会降低,模型参数和FLOP也会增加。

通常,检测头配置对不同输入分辨率下的检测性能有很大影响。基于提出的检测头和目标分布匹配策略,可以构建一个适用的模型,以实现比其他检测头配置更高的检测精度。根据提出的跨尺度检测头配置指南,只有两个检测头可以用来代替多个检测头,以在检测精度、模型参数、FLOP和检测速度之间取得极好的平衡。

(4)空洞卷积的影响

 

使用配置有H1和H3检测头的轻量级模型作为基线,建议的空洞卷积模块与基线主干的不同下采样层相结合,以探讨空洞卷积对检测性能的影响。

从表5可以看出,将空洞卷积模块与第一个下采样层相结合,mAP值增加1.6,而模型参数仅增加了0.01M。将空洞卷积模块与第一个和第二个向下采样层相结合,mAP值提高了2.6,模型参数仅提高了0.06M。当空洞卷积模型进一步集成到主干的深层时,mAP数值略有增加,但模型参数和FLOP显著增加。原因可能是提出的空洞卷积模块利用大的空洞率来产生大的感受野,对于高分辨率的浅层特征具有明显的增益,但对于低分辨率的深层特征,增益将很弱。为了更好地平衡检测精度、参数、FLOP和检测速度,作者将空洞卷积模块与两个浅层下采样层相结合,构建了一个用于交通目标检测的轻量级检测模型。


对比  

 

 

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

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

相关文章

【k8s】3、kubeadm安装k8s集群

文章目录一、环境部署1、关闭防火墙规则、关闭selinux、关闭swap交换分区2、修改主机名、DNS解析3、调整内核参数二、所有节点安装Docker三、安装k8s集群1、所有节点配置K8S源2、所有节点安装kubeadm、kubelet和kubectl3、部署K8S集群3.1 初始化操作(master节点操作…

【虚幻引擎UE】UE4/UE5 环境构建插件推荐及使用介绍

一、Ultra Dynamic Sky(天气插件) 支持天气和昼夜变换,包含音效,可以预设也可以动态切换。内置照明解决方案,太阳、月亮和天空照明均与天空同步,并随时间变化。 天气包含:晴天、2D晴天、雨天、…

进程的通信 - 命名管道

命名管道概述 命名管道(Named Pipes),顾名思义,一个有名字的管道。命名管道的名字主要是用于确保多个进程访问同一个对象。命名管道不仅可以在同一台计算机之间传输数据,甚至能在跨越一个网络的不同计算机的不同进程之…

Zbrush 导出置换 然后导入vray 在 3ds max 和 maya 设置

注:方法很多,这个只是个人学习总结,如果不合适,可另外学习其他方法! 第一步: Zbrush 导出置换和法线设置: 第二步: 3Ds max 设置方式建议用exr格式(由于导出的时候…

科目一过关技巧

口诀 3让6违——题目中看到“6分”选“违”字;看到“违”字选6分(“违”法停车的违字除外,选9分);看到“让”就3分红高蓝低——红色圈圈最高,蓝色最低虚可实禁——车辆可以压虚线,不能压实线&a…

Windows11 配置Cuda cuDNN Pytorch环境

文章目录1 安装CudaNote 安装失败的情况2 安装cuDNN3 安装Anaconda4 安装Pytorch5 使用Pycharm进行验证6 结束1 安装Cuda 进入 developer cuda: https://developer.nvidia.com/ 之后自定义路径进行安装即可 必装CUDA,其他情况自己选择 自定义路径 Document与Deve…

Python表白比心

本文介绍运用Python中的turtle库控制函数画比心图。    文章目录一、效果展示二、代码详解1 导入库2 播放音乐3 画手4 定义画心的函数5 定义写名字的函数并实现动态画心一、效果展示 在介绍代码之前,先来看下本文的实现效果。 可以参考Pinstaller(Python打包为exe…

[附源码]java毕业设计网上手机商城的设计与实现

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

JS,DOM试题2,在实践中应用,非常详细!!

列表收缩 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><style>ul,li{list-style: none;padding: 0;margin: 0;}ul{display: none;}h3{margin: 0;background: cornflowerblue;}div{text-indent: 20…

基于FFmpeg的Java视频Mp4转GIF初探

背景 在一些业务场景中&#xff0c;会有如下的一些要求&#xff1a;比如有用户需要将Mp4视频转为Gif动图。当然有一些小伙伴说可以使用系统截图&#xff0c;然后使用之前提到过的技术&#xff1a;GIF图像动态生成-JAVA后台生成。需要处理的素材比较少&#xff0c;就一两个视频&…

最全Python操作excel代码,让你每天早下班两小时

在数字化时代&#xff0c;很多人工作中经常和excel打交道。本文介绍Python操作excel的脚本&#xff0c;让你工作效率更高。    文章目录一、安装openpyxl模块二、加载库三、创建文件和工作表四、在工作表指定单元格写数据五、设置单元格的颜色字体六、在excel中写入表格一、安…

【数据结构初阶】C语言从0到1带你了解直接插入排序

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【数据结构初阶】 ✒️✒️本篇内容&#xff1a;深入剖析直接插入排序 &#x1f6a2;&#x1f6a2;作者简介&#xff1a;计算机海洋的新进船长一枚&#xf…

等保整改之开启Nacos认证-漏扫发现我们使用Nacos时存在未授权访问的漏洞

背景 还是之前的一个小项目&#xff0c;部署在专网中&#xff0c;等保在做了一次漏扫后&#xff0c;说是有个高危漏洞要求整改。打开漏洞扫描报告后&#xff0c;总体网络风险级别为&#xff1a;比较危险&#xff1a; nacos未授权访问漏洞 &#xff0c;漏洞详细信息如下&#x…

Linux基本用户操作

1.查看用户名 指令&#xff1a;whoami 在Linux下查看本用户下的用户名&#xff0c;可以在普通用户和root超级用户下操作&#xff0c;如下&#xff1a; 其实&#xff0c;查看用户名也可以不用指令就能查看&#xff1a; 箭头所指的就是用户名&#xff0c;root用户名就是root。 2.…

第2章 持久化初始数据到指定表

004 AuthorityScopeEnum、Role、Topic、TaskInfoDto、TasksQz AuthorityScopeEnum&#xff1a;该枚举定义了6种当前程序的访问权限&#xff0c;前程序通过该枚举实例选定其中(NONE(-1&#xff1a;无任何权限)/Custom(1&#xff1a;自定义权限)/MyDepart(2&#xff1a;本部门权…

Typescript:(一)基本使用

TypeScript 定义&#xff1a;Typescript是拥有类型的JavaScript超集 它可以编译成普通&#xff0c;干净&#xff0c;完整的JavaScript代码 我们可以将TypeScript理解成加强版的JavaScript。 JavaScript所拥有的特性&#xff0c;TypeScript全部都是支持的&#xff0c;并且它紧…

Linux系统挂载命令mount(U盘、移动硬盘、光盘)

Linux系统不像windows系统可以自动识别加载新设备&#xff0c;Linux系统需要手动识别&#xff0c;手动加载。Linux中一切皆文件。文件通过一个很大的文件树来组织&#xff0c;文件树的根目录是&#xff1a;/&#xff0c;从根目开始录逐级展开。这些文件通过若干设备铺展开。 命…

BCG 对话框表格控件CBCGPGridCtrl显示子

1、1、MFC窗口中拖放Picture Control 2、 void CSimpleGridSampleDlg::_FillGrid() { CWaitCursor wait; // Create grid tree: CRect rectClient; GetClientRect(rectClient); m_wndGrid.Create(WS_CHILD | WS_VISIBLE, rectClient, this, ID_GRID); m_wndGri…

SAR回波的多普勒特性

专栏目录链接: SAR成像专栏目录 今天我们来看看SAR回波的多普勒特性。 首先推导下正侧视下SAR回波的多普勒频率公式,前提条件: 正侧视不考虑平台运动的不稳定性忽略地球曲率忽略地球自转的影响 根据多普勒效应原理可得SAR回波的多普勒频率(可以回顾下:《雷达导论PART IV.…

C++之二叉搜索树详解

文章目录前言一、二叉搜索树的概念二、二叉搜索树的操作1.节点类2.二叉搜索树类内部定义3.遍历操作4.构造函数5.拷贝构造函数6.赋值运算符重载7.析构函数8.插入函数非递归实现递归实现9.删除函数非递归实现递归实现10.查找函数非递归实现递归实现三、二叉搜索树的应用K模型KV模…