当前位置: 首页 > news >正文

【论文阅读】FedsNet: the real‑time network for pedestrian detection based on RT‑DETR

FedsNet: the real‑time network for pedestrian detection based on RT‑DETR

发表期刊:Journal of Real-Time Image Processing;发表时间:2024;
论文地址

摘要

针对行人检测中模型网络复杂、检测精度低、小目标检测容易误检和漏检等问题,提出了一种基于RT-DETR的行人检测网络FedsNet。通过构建一个新的轻量级骨干网络ResFastNet,减少了模型的参数数量和计算量,加快了行人检测的速度。将高效的多尺度注意(EMA)机制与主干网络相结合,创建了一个新的ResBlock模块,用于改进对小目标的检测。采用更有效的DySample作为上采样算子,提高了行人检测的准确性和稳健性。采用SIOU作为损失函数,提高了行人识别的准确率,加快了模型的收敛速度。在自建的行人检测数据集上进行的实验评估表明,FedsNet模型的平均准确率为91%,比RT-DETR模型提高了1.7%。模型体积和参数分别减少了15.1%和14.5%。在公开数据集WiderPerson上进行测试时,FedsNet的平均准确率达到71.3%,比原始模型提高了1.1%。此外,FedsNet网络的检测速度分别达到109.5 FPS和100.3 FPS,满足行人检测的实时性要求。

引言

行人检测技术是目标检测任务领域的关键组成部分,在人工智能、车辆辅助系统、智能视频监控、人类行为分析和智能交通等不同领域具有极其重要的作用。鉴于其广泛的应用,行人检测技术通常部署在移动智能平台上,这对模型的轻量化程度提出了很高的要求。此外,在实际的检测任务中,行人通常呈现出形态各异、衣着复杂、相互隐蔽等特点。因此,研究在满足复杂场景下模型轻量化要求的同时保持较高的准确率和检测率的方法具有重要的意义。

传统的行人检测方法依赖于人工特征提取和机器学习分类器算法来执行分类任务。然而,这种方法往往由于人工特征提取而带来较高的计算成本,导致特征提取能力不足。因此,这些方法的泛化能力较低,鲁棒性较差。随着深度学习的出现,现代检测算法可以根据其处理流程分为两个不同的组。一类包括两阶段检测算法,其生成预校验帧并随后使用卷积神经网络(CNN)对样本进行分类,例如R-CNN系列算法。另一类则是直接回归目标位置和类别如YOLO系列。然而,R-CNN和YOLO算法在后处理中都需要非最大值抑制(NMS),这可能会阻碍模型优化并损害稳健性,导致检测器延迟推理。针对这些问题,研究人员开始关注在自然语言处理(NLP)领域大放异彩的Transformer体系结构。与传统方法不同,Transformer消除了对NMS后处理的需要。此外,像GPT和BERT这样的NLP模型源自其独特的自我注意机制,最终表现优于以前的网络。这一新发现的架构迅速引起了计算机视觉领域的关注。

Dosovitski等人。首先提出了一种用于计算机视觉的纯变压器结构模型–视觉变压器(Vision Transformer,VIT),并证明了这种模型在具有大量数据和足够的训练开销的情况下,可以接近当时最先进的CNN模型的性能。随后,越来越多的学者探索了这种新的框架在各种计算机视觉任务中的应用,包括用于图像分类任务和图像识别任务。其中,DETR是第一个成功使用Transformer进行目标检测的框架。DETR将目标检测任务重新定义为图像到集合的问题,避免了单独预测多个目标对象的传统方法。相反,它将所有检测到的目标的集合视为单个实体。它利用匈牙利算法来确定用于目标分类的预测帧和实际帧之间的最佳匹配。这种方法有效地避免了传统卷积神经网络固有的人工设计组件,如NMS和锚帧生成。然而,其复杂的编码器设计导致网络收敛速度慢,且DETR对于特征区分不明显,导致对小目标的检测较差。针对这些不足,Deformable DETR考虑了多尺度信息对目标检测性能的影响,并提出使用可变形注意模块来提高DETR的性能,这些模块只关注参考点周围的一小部分关键采样点,从而缓解了收敛速度慢和特征分辨率有限的问题。在训练效率和效果方面取得了显著的改进。然而,引入注意模块会增加模型的复杂性,导致更高的计算和内存开销。在这些改进的基础上,RT-DETR考虑了特征层输入的重要性以及分类分数和位置置信度对检测的影响,设计了一种高效的混合编码器,通过解耦尺度内交互和跨尺度融合来有效处理多尺度特征,以减少计算开销,并提出了IOU感知的查询选择来改进目标查询初始化。此外,采用不同的解码层来灵活调整推理速度,提高了目标检测的实时性。然而,该模型仍然存在大尺寸和对遮挡目标和小目标检测不足的问题

为了有效地应对上述挑战,本文在前人研究的基础上提出了以下贡献:
1.为了解决与大型模型相关的计算负担和资源消耗,我们构建了一个称为ResFastNet的新型骨干网络。该网络有效地提取了空间特征,减少了模型计算量和参数个数,从而提高了检测效率。
2.为了解决对遮挡行人和小目标检测不足的问题,我们将EMA注意机制融入到主干网络中。通过频道重塑和纬度分组最大限度地保存目标特征信息,我们的目标是提高对这些具有挑战性的场景的检测能力。
3.为了减少行人检测中可能出现的误判和遗漏,我们采用DySample作为上采样算子。该方法从点采样的角度制定了上下采样策略,提高了上采样的智能性和效率,同时提高了行人检测的准确性和稳健性。
4.为了解决模型检测精度低的问题,我们使用SIoU损失函数来优化训练过程。该策略通过在预期回归之间引入向量角的考虑,加速了模型的收敛并提高了精度,最终提高了模型的整体性能。

方法

RT-DETR

在这里插入图片描述

FedsNet

在这里插入图片描述

轻量主干

FasterNet块结构中汲取灵感,开发了一种名为ResFastNet的新型轻量级网络,其体系结构如图所示。具体地说,我们首先对输入图像执行三个3x3串联卷积运算,这是一个具有更重要特征提取能力的深层网络结构,以更好地捕获输入图像的细节和高级特征。然后执行最大池化操作以通过保留每个合并窗口中的最大值来降低特征地图的维度,从而减少参数的数量和模型的计算。使用FasterNet Block中提出的PConv进一步处理经历了最大池化的特征。PConv通过最小化冗余计算和优化并发存储访问来更高效地提取空间特征。我们集成了PointWise卷积(PWConv)和PConv,以充分和高效地利用所有通道信息。它们在输入特征映射上的有效感知场比传统卷积更集中,从而导致更高效的特征计算。然后加入归一化层和激活层,对输入特征进行归一化处理,使神经网络模型更加稳定。然后添加PWConv层以恢复要素地图中的通道数量并对通道之间的关系进行编码,整合前一个PConv中生成的空间和通道信息以提高网络表达能力。然后将输入特征地图添加到输出特征地图以产生输出结果。该部分整体显示为倒置的残差块,以确保功能的多样性实现低延迟。经过多次操作后,不同层次的特征映射被送入高效的混合编码器进行下一步的处理。

在这里插入图片描述

注意力机制

在前一节的基础上对主干网进行了二次改进,并通过引入有效的多尺度注意力(EMA)来提高检测的准确率。具体地说,我们引入了每个块中最后一次卷积背后的EMA注意机制。对于经过PConve和PWConve处理后的特征映射X,EMA将跨通道维度方向X划分为G个子特征,以学习不同的语义。其次,EMA通过两个1×1分支和一个3×3分支来提取分组特征映射的关注度。采用全局平均池化操作对1×1分支中的通道进行编码,并将编码后的两个特征拼接成相同的1×1卷积,然后将1×1卷积分别馈入两个非线性Sigmoid函数中以形成不同的跨通道特征交互作用,而在3×3分支中仅将特征空间扩大3×3卷积来捕捉局部跨通道交互作用。然后引入两个张量,一个用于1×1支路的输出,另一个用于3×3支路的输出,对1×1支路输出的全局空间信息进行二维全局平均池化编码,在联合激活通道特征机制之前将最小支路的输出直接转换为相应的维度形状。然后,用Softmax对上述线性变换进行拟合。将上述并行处理的输出与矩阵点积运算相乘,得到第一个空间注意图。类似于1×1分支,基于使用相同的2D全局平均池化在3×3分支中编码的全局空间信息,导出保存整个精确空间位置信息的第二空间注意图。最后,将每组内的输出特征映射计算为两个空间关注权重值的集合,然后使用Sigmoid函数突出所有像素的全局上下文。ResBlock如下图所示:在这里插入图片描述

上采样

上采样是图像处理和神经网络运算中常用的技术。它是一种将图像从较低分辨率输入转换为较高分辨率输出的技术方法。主要目标是放大图像或要素地图的大小,从而增强捕捉更精细细节和要素的能力。RT-DETR使用最近邻内插进行上采样操作然而,这种方法只根据像素点的位置来确定上采样核,没有充分利用周围像素的信息。在复杂的检测场景中,行人图像可能看起来被部分遮挡,并带有小型行人模型。使用最近邻内插可能会出现像素失真等问题,导致图像边缘出现锯齿状效果,使得识别任务中的特征学习变得更加困难。本文采用DySample作为上采样算子来解决上述问题。DySample是一个轻量级、高效的动态上采样器。该模块利用基于点的采样方法和学习采样方法进行上采样,避免了耗时的动态卷积运算和附加子网络。DYSAMPLE的网络结构如图4所示。采样集S由原始采样网格(O)和生成的偏移量(G)组成,这些偏移量是通过“线性+像素洗牌”方法产生的,其中偏移量的范围可以由静态和动态因素确定。具体来说,以静态因子采样法为例,给定一个大小为C×H×W的特征映射图和一个上采样因子S,该特征映射图首先通过具有c和2s2两个输入通道和输出通道的线性层。然后使用像素混洗方法将其重塑为2×sh×Sw,其中2表示x和y坐标。最后,生成大小为c×sh×sw的上采样特征映射。与最近邻插值法相比,DySample算法需要更少的计算资源,可以有效地提高图像清晰度,从而在不增加额外负担的情况下实现更准确的行人检测和识别。
在这里插入图片描述

损失函数

本文提出的模型只适用于行人目标检测问题。为了更好地针对这种二进制分类问题,我们对模型中的损失函数进行了优化。原始模型的GIOU严重依赖IOU,导致在预测实际帧时存在显著的误差和收敛挑战。此外,它不能区分重叠预测帧之间的相对位置关系。我们采用SIOU作为损失函数来应对这些挑战。SIOU通过引入期望回归之间的矢量夹角来重新定义相关损失函数,从而有效地降低了回归的自由度。SIOU损失函数具体由四个部分组成:角度成本、距离成本、形状成本和IOU成本。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验及结果分析

实验数据集

1、PDD数据集
PDD由不同场景和天气条件下的实时监控数据以及Roboflow[30]上的公共数据集组成。它由5224幅图像组成,其中3983幅在训练集中,614幅在测试集中,627幅在验证集中。

[30]:Luca.: People Dataset. Roboflow https:// unive rse. robof​low. com/luca- vziny/ people- lsulc (2023)

2、WiderPerson数据集
WiderPerson是一个公共的多场景密集行人数据集,其中包含各种复杂的场景,如小目标行人、遮挡行人和密集行人。我们从中提取了6000幅图像,按照8:1:1的比例分配训练集、测试集和验证集。

评价指标

准确率P、召回率R、平均检测精度mAP、检测速度FPS、模型参数PAR、浮点运算量GFLOPs(FL)、模型大小MO

实验结果

轻量对比:

在这里插入图片描述
损失函数对比:
在这里插入图片描述
消融实验:
在这里插入图片描述
PDD数据集上的对比实验:
在这里插入图片描述
WiderPerson数据集上的对比实验:
在这里插入图片描述
遮挡目标检测:
在这里插入图片描述
行人误检修复:
在这里插入图片描述
提升行人检测精度:
在这里插入图片描述
密集行人检测:
在这里插入图片描述


文章转载自:

http://Fd3ZXFgH.Lxfqc.cn
http://yNcAMIdM.Lxfqc.cn
http://Iu9M6eCe.Lxfqc.cn
http://QOnjIKb7.Lxfqc.cn
http://AFqq7muU.Lxfqc.cn
http://6DbFgIR8.Lxfqc.cn
http://DjmvFXbo.Lxfqc.cn
http://UlajXqy1.Lxfqc.cn
http://HLUoOlZj.Lxfqc.cn
http://SE5vORIW.Lxfqc.cn
http://V3CRuE3t.Lxfqc.cn
http://MImUjLRz.Lxfqc.cn
http://hl10FOeO.Lxfqc.cn
http://nRM034aK.Lxfqc.cn
http://R1CduQk7.Lxfqc.cn
http://rv0WztMn.Lxfqc.cn
http://GbFbfwYW.Lxfqc.cn
http://rrFZjtTi.Lxfqc.cn
http://UXQJyDA4.Lxfqc.cn
http://HgKUmoMX.Lxfqc.cn
http://TOKYwa3o.Lxfqc.cn
http://iK5gjlVp.Lxfqc.cn
http://IsRTicWr.Lxfqc.cn
http://gziUayYs.Lxfqc.cn
http://uC7UbrYF.Lxfqc.cn
http://jnuaVGkU.Lxfqc.cn
http://I1qjIA6z.Lxfqc.cn
http://aJTu16an.Lxfqc.cn
http://534GNd6j.Lxfqc.cn
http://ybnEKiIM.Lxfqc.cn
http://www.dtcms.com/a/368320.html

相关文章:

  • Selenium元素定位终极指南:8种方式全面解析+实战代码,告别找不到元素的烦恼!
  • 【MFC Picture Control 控件属性】
  • 迁移学习实战:基于 ResNet18 的食物分类
  • python用selenium怎么规避检测?
  • Rust 的生命周期与借用检查:安全性深度保障的基石
  • 面试 TOP101 贪心专题题解汇总Java版(BM95 —— BM96)
  • 软件启动时加配置文件 vs 不加配置文件
  • 工业跨网段通信解决方案:SG-NAT-410 网关,无需改参数,轻松打通异构 IP 网络
  • Elasticsearch-java 使用例子
  • 我改写的二分法XML转CSV文件程序速度追上了张泽鹏先生的
  • GPU测速方法
  • OpenCV C++ 色彩空间详解:转换、应用与 LUT 技术
  • 前端笔记2025
  • 跨境电商:如何提高电商平台数据抓取效率?
  • python + Flask模块学习 2 接收用户请求并返回json数据
  • K8S-Pod(上)
  • 【代码随想录day 23】 力扣 93.复原IP地址
  • 数据结构:栈和队列(下)
  • SAP官方授权供应商名单2025
  • 结构体简介
  • UE4 Mac构建编译报错 no template named “is_void_v” in namespace “std”
  • 嵌入式系统学习Day30(udp)
  • 【Linux】Linux进程状态和僵尸进程:一篇看懂“进程在忙啥”
  • 理解UE4中C++17的...符号及enable_if_t的用法及SFINAE思想
  • 某头部能源集团“数据治理”到“数智应用”跃迁案例剖析
  • 阿里云服务器配置ssl-docker nginx
  • 2025年COR SCI2区,基于近似细胞分解的能源高效无人机路径规划问题用于地质灾害监测,深度解析+性能实测
  • 实战案例:数字孪生+可视化大屏,如何高效管理智慧能源园区?
  • 容器的定义及工作原理
  • 【Python - 类库 - BeautifulSoup】(01)“BeautifulSoup“使用示例