1. 引言
行人检测一直是计算机视觉领域的关键研究方向,广泛应用于自动驾驶、视频监控、机器人、无人机等多个领域[1] [2]。目前,主流的行人检测技术主要基于深度学习方法,这些算法可以分为双阶段(two-stage)和单阶段(one-stage)两类[3] [4]。双阶段检测算法以Faster-RCNN为代表,而单阶段检测算法[5]-[7]则以YOLO系列为代表。手扶电梯作为现代公共交通系统中不可或缺的设施,广泛应用于地铁、商场、机场等人员密集的场所[8]。由于其能够有效解决垂直运输问题,手扶电梯在提供便捷服务的同时,也带来了人流管理的挑战。特别是在高密度人群聚集的环境下,电梯上行人的遮挡现象尤为突出,这不仅影响了电梯的正常使用,也为行人检测和行为分析带来了严峻的挑战。行人检测作为计算机视觉和人工智能领域的重要研究课题,已经在智能交通、安防监控等领域取得了显著进展[9]。然而,在手扶电梯这种动态环境中,行人往往因电梯的运动、相对位置的变化以及其他行人之间的遮挡而难以准确检测。现有的行人检测方法包括基于背景建模的遮挡检测方法和基于图像分割的遮挡检测方法,虽然这两种方法都能实现对遮挡行人的检测,但在面对复杂的遮挡和动态变化时,前者存在背景建模容易受到光照变化、阴影和动态背景的影响的问题后者存在对于边界模糊、物体形状复杂或小目标的遮挡效果不好,分割算法本身的准确度会影响最终结果的问题,且处理复杂场景时效果较差检测精度和实时性都面临着巨大的挑战。
2. YOLOv5算法
YOLOv5是一种高效的实时目标检测算法,由Ultralytics团队开发,该算法在保持YOLO系列快速推理优势的基础上,针对准确性和计算效率进行了多项优化[10]。YOLOv5采用CSPDarknet53作为主干网络,通过引入CSP结构提高了特征提取的效率,并利用PANet优化了特征融合,进一步提升了对小物体和复杂场景的检测能力[11]。此外,YOLOv5支持多种模型尺寸,可以根据计算资源需求和精度要求选择合适的模型。在目标检测任务中,YOLOv5通过端到端训练框架、自动化的超参数调整和高效的数据增强策略,能够在多种应用场景中实现高精度和低延迟的目标检测。
3. 改进YOLOv5算法
3.1. NMS算法改进
在目标检测的过程中,预测阶段往往会产生大量的候选检测框。为了精简这些检测框,会设定一个置信度阈值来初步筛选,但即便如此,还是会有一些重叠或重复的框被保留下来。为了确保每个目标只对应一个最精确的检测框,多数目标检测算法会采用非极大值抑制(NMS)技术。NMS其实是一种寻找局部最优解的策略:先挑选出置信度最高的检测框,然后计算其他框与这个框之间的交并比(IOU)。接下来,根据预设的IOU阈值来决定是否保留这些框——如果IOU超过了这个阈值,就认为它们是重复的,于是予以剔除;反之,如果IOU低于阈值,则予以保留。通过这样就能有效地去除冗余的检测框,只保留最准确的那个。交并比IOU计算公式如公式(1)所示,S1和S2为两个预测框,分子为S1和S2的交集,分母为S1和S2的并集。
(1)
但由于NMS算法并没有考虑到目标由于遮挡导致二者的预测框之间高度重合的问题,进而剔除掉了一些本该保留的预测框导致行人漏检,于是提出了Soft NMS算法来替代NMS。Soft NMS算法在处理预测框重叠问题时,采用了一种更为柔和的策略来减少重复检测,同时尽可能保留更多有用的预测信息。当某个预测框与置信度最高的预测框之间的IOU值超过预设的IOU阈值时,传统NMS算法会直接丢弃这个预测框。但Soft NMS算法则不同,它首先会根据IOU值的大小对该预测框的置信度进行衰减,IOU值越大,表示两个预测框重叠程度越高,因此置信度衰减得越厉害。
完成置信度衰减后,Soft NMS算法会进一步根据设定的置信度阈值来筛选预测框。那些置信度低于这个阈值的预测框会被过滤掉,而置信度较高的预测框得以保留,Soft NMS算法流程图如图1所示。
Figure 1. Soft NMS flowchart
图1. Soft NMS流程图
通过这种方式,Soft NMS算法在降低重复检测的同时,也能够在一定程度上保留更多的预测框,特别是那些可能因为遮挡而置信度不高但仍有价值的预测框。这样,算法在检测遮挡目标时就能够减少漏检的数量,提高检测的准确性和完整性。
Soft NMS算法的得分衰减采用高斯加权形式的Soft NMS算法,得分衰减公式如公式(2)所示。
(2)
从公式可以看出,高斯加权形式的Soft NMS算法具有连续性,其中新增了一个超参数
,用于控制置信度衰减程度,D表示最优框集合。
3.2. 增加微小目标检测头
本文针对YOLOv5算法在检测微小尺度行人目标时容易出现的漏检问题,提出了一种针对性的网络结构改进策略,即微小目标检测头改进。这一改进的主要目的是通过增加一个专门用于检测微小目标的检测头,来提升YOLOv5算法对微小尺度行人目标的检测能力。原始的YOLOv5算法包含三个检测头,而引入微小目标检测头改进策略后算法的检测头数量增加至四个。新增的微小目标检测头特别设计为使用更大尺度的160 × 160特征图进行检测,这样能够更好地捕捉到由于遮挡等原因导致的微小尺度行人目标的信息。
在改进后的网络架构中,依旧保留了YOLOv5原有的FPN与PAN相结合的结构,但针对颈部(Neck)和检测头部分进行了重要的调整和优化。
对于颈部部分,采用了微小目标检测头改进策略。这一策略在YOLOv5的FPN结构上新增了一次上采样操作扩大特征图的尺寸,使其包含更多细节信息。随后,利用Contact操作将上采样后的特征图与主干网络Backbone中更浅层的特征进行融合,这样做可以进一步增强特征图中深层特征的高级语义信息,为后续的微小目标检测提供更有力的支持。
在FPN的输出端设计了两个分支,第一个分支经过C3模块和卷积模块的处理后,直接输出尺寸为160 × 160的特征图,这个特征图专门用于微小尺度目标的检测。第二个分支则进入PAN结构,将特征融合后的特征图继续向上传递,这样做的目的是进一步增强深层特征图中包含的浅层特征强定位信息,从而提高整体检测的准确性。最后,在检测头部分增加了一个专门用于微小目标检测的检测头。这个检测头使用尺寸为160 × 160的特征图,能够更精准地捕捉到微小尺度行人目标的信息,从而有效减少漏检情况,提升模型的检测性能,改进的YOLOv5结构图如图2所示。
Figure 2. Improved YOLOv5 structure diagram
图2. 改进的YOLOv5结构图
在引入微小目标检测头后,YOLOv5算法的检测部分从原本的三个检测头变为四个。因此,先验框Anchors的设置也需要调整为四种不同尺寸的Anchors。本文采用K-means++聚类算法来初始化Anchors,以获得更适合该数据集的尺寸。通过对自定义数据集进行聚类,K-means++算法为微小目标检测头生成了三个适合的Anchors尺寸,分别为7 × 11、9 × 22和20 × 25。
4. 实验结果与分析
4.1. 数据集
本研究使用了一个自定义的电梯行人数据集并命名为“Elevator-pedestrian”,此数据集专门用于训练和评估改进版YOLOv5模型。该数据集包含了10,253张电梯环境中的行人图像,模拟电梯人流的多样性和复杂性。图像内容涵盖了不同角度、光照条件以及行人行为,体现了电梯的实际使用情境。为了确保模型的泛化能力和评估的可靠性,数据集被划分为训练集、验证集和测试集,比例为7:1:2。其中所有图像中训练集包含7177张图像,验证集包含1025张图像,测试集包含2051张图像。该数据集的设计用来推动行人检测算法在特定环境下的表现,特别是在电梯这一特殊场景中的应用,检测实验结果如图3所示,其中图3(a)和图3(b)分别为不同检测结果。
(a) (b)
Figure 3. Test result chart
图3. 检测结果图
4.2. 实验环境
实验环境配置见表1,实验程序采用Python 3.8语言编写,深度学习框架采用Pytorch 1.7.1。
Table 1. Experimental environment configuration
表1. 实验环境配置
名称 |
配置 |
操作系统 |
Ubuntu 20.04 |
CPU |
Intel(R) Core (TM) i7-12700H 2.30 GHz |
内存 |
16 GB |
GPU |
NVIDIA GeForce RTX 3060, 10 GB |
GPU加速库 |
CUDA 11.0, CUDNN8.0.5 |
4.3. 训练结果
4.3.1. YOLOv5 + Soft NMS训练结果
由于Soft NMS算法无需额外的训练,只需在推理和验证阶段将传统NMS替换为Soft NMS,即可实现优化,而不会增加额外的参数量和计算量。因此,本节仅使用Precision、Recall和mAP来对模型性能进行分析,训练结果图如图4所示。
从图中可以观察到,三种评价指标都基本趋于稳定。加入Soft NMS算法后,检测精度达到91.4%,Recall达到82.7%,mAP达到45.6%,各项指标与原YOLOv5相比,Precision提高了0.2个百分点,Recall提高了2.4个百分点,mAP提高了4.4个百分点。其中,YOLOv5 + Soft NMS算法在mAP指标上的提升最为明显。
Figure 4. YOLOv5 + Soft NMS
图4. YOLOv5 + Soft NMS
4.3.2. 微小目标检测头训练结果
由于微小目标检测头的改进增加了网络模型的参数和计算量,因此本次实验选用了精度(Precision)、召回率(Recall)和平均精度(mAP)这三个指标进行综合分析,并与YOLOv5算法进行了对比。从图5可以看出,模型基本已达到收敛状态,且在YOLOv5算法基础上加入微小目标检测头改进策略后,检测效果明显优于原YOLOv5算法。
Figure 5. YOLOv5 + Small target detection head
图5. YOLOv5 + 微小目标检测头
在YOLOv5算法中引入微小目标检测头之后,模型在多个评估指标上取得了显著提升。其中,Precision达到了91.6%,提高了0.4个百分点;Recall为82.1%,增加了1.8个百分点;而mAP则上升到了45.3%,提升幅度为4.1个百分点。这表明通过改进微小目标检测头,模型对目标的检测能力有所增强。尽管该改进增加了网络模型的参数计算量,但相比于原始的YOLOv5算法,整体性能在精准度、召回率和平均精度等关键指标上都得到了明显的提升,表明微小目标检测头在提高目标检测效果的同时,仍保持了较高的性能。
4.4. 消融实验
提出的ours-YOLOv5算法,将微小目标检测头和Soft NMS算法两种改进策略进行融合,并从检测精度和检测速度两个方面评估其整体效果。同时,通过消融实验分析了这两种改进策略对性能提升的贡献。由于Soft NMS算法仅在推理阶段替代原有的NMS算法,且不需要修改网络结构,因此ours-YOLOv5算法的网络结构与微小目标检测头改进策略中的网络结构保持一致,结果如表2所示。
Table 2. Ours-YOLOv5 Ablation experiment
表2. Ours-YOLOv5消融实验
Model |
Precision (%) |
Recall (%) |
mAP (%) |
YOLOv5 |
91.2 |
80.3 |
41.2 |
YOLOv5 + Soft NMS |
91.4 |
82.7 |
45.6 |
YOLOv5 + 微小目标检测头 |
91.6 |
82.1 |
45.3 |
ours-YOLOv5 |
93.2 |
84.4 |
47.8 |
综上所述,ours-YOLOv5算法的综合检测性能优于其他三种算法,表明本文提出的两种改进策略能够相互促进,通过结合YOLOv5 + Soft NMS算法和增加YOLOv5微小目标检测头这两种改进,从而实现了更好的检测效果。
5. 结语
本文提出了一种改进的YOLOv5算法,旨在解决手扶电梯场景下行人检测中的遮挡问题,尤其是由于遮挡导致可见区域较小而引发的漏检现象。通过将传统的NMS算法替换为Soft NMS算法,并结合微小目标检测头,我们有效地提升了模型对微小目标的检测能力,同时优化了预测框的处理过程,增强了模型在复杂环境下的检测精度。
实验结果表明,所提出的ours-YOLOv5算法在自制手扶电梯数据集上取得了显著的性能提升。相比于原始YOLOv5算法,mAP、Recall等指标均有明显提高。通过消融实验进一步验证了各项改进策略的有效性,证明了Soft NMS算法在处理预测框时的优势,以及微小目标检测头在提升检测精度方面的重要作用。