李彤晖,宋晓茹
(西安工业大学电子信息工程学院,西安 710021)
有遮挡的行人检测作为机器视觉的热门研究方向,主要分为两类情况:一类为包含建筑、车辆、树木等其他物体对于行人的遮挡造成目标信息的缺失;另一类则为行人之间的相互遮挡,多姿态动作引入大量干扰信息,均会导致检测精度降低与误检问题的发生。
近年来,有遮挡的行人检测受到国内外科研工作者的广泛研究,取得了良好的发展。Enzweiler等[1]提出了具有部分遮挡处理的多线索行人分类方法,通过检查遮挡边界来确定可见性的程度,依赖于遮挡的分量权重将专家分类器的混合决策集中于未遮挡的行人身体部分;Wojek 等[2]提出一种在跟踪器中加入遮挡背景的3D模型场景,并使用HOG+SVM[3]训练遮挡背景的检测器,实现多对象跟踪,但人力物力成本太高;蒋胜等[4]提出一种基于区域的全卷积网络,使用强化学习方法将行人和复杂干扰区域划分,缓解了传统网络的误检问题;Zhang 等提出一种基于Faster-RCNN[5]架构的、简单紧凑的行人遮挡检测方法[6],在单个模型中使用跨通道的注意机制来表示各种遮挡模式,引入自我或外部引导的注意力网络提升网络对行人目标的关注度,但检测速度有待提升。
在此基础上,本文设计KSE-YOLO 检测模型,以提升识别算法鲁棒性与检测精度,降低误检率。首先优化初始中心点的选取,使得目标框与真实框更为接近,以降低模型误检率;其次在骨干网络中引入SENet 模块[7],增强通道之间的学习能力,提升对于行人目标的关注,进而提升检测精度;最后在公开数据集上将改进KSE-YOLO 与三种主流检测算法进行对比分析实验,以证明改进模型检测性能的提升。
采用YOLOv5m 作为基础识别网络在研究后进行改进,原网络主要分为以下四个部分:
输入端,包括数据增强,自适应锚框计算与图片缩放。Mosaic 数据增强随机缩放、剪裁、排布4 张图片拼在一起,可同时处理4 幅图片并添加更多小目标;网络每次训练时在初始锚框的基础上输出预测框,自适应计算与真实框的差距,获得最好锚框值后反向更新,迭代网络参数;为减少信息冗余问题,网络给原始图像自适应地添加最少的黑边后统一缩放到一个标准尺寸,再送入检测网络中,提升模型实时性。
骨干网络,由CSP、SPP 与Focus 三个模块构成。CSP 模块将基础层特征映射先划分再跨阶段层次结构合并,提升神经网络的学习能力,在不影响精度的情况下提升模型实时性;SPP模块采用输入图像分布最大池化,再通过Concat操作拼接融合特征,提高模型检测精度;Focus关键为切片操作,输入图像后由通道每个区域每隔固定步长取值进行切片操作,再将所有的切片按通道连接,经过一次卷积操作,最终得到特征图。
颈网络,核心为FPN 和PAN 结构,FPN 结构将高层的、大目标的类别特征向低层传递,PAN 结构将低层的、大目标的位置特征和小目标的类别、位置特征向上传递,两者互补并克服各自局限性,强化模型特征提取能力。
预测端,使用加权NMS 对多目标和有遮挡的目标增强识别能力,获得最优目标检测框;损失函数使用CIOU_Loss,考虑目标框回归函数的重叠面积、中心点距离、长宽比三个重要几何因素,有效解决边界框不重合的问题,提高了预测框回归的速度和精度。
K-means 是基于划分方法的无监督聚类算法,通过欧氏距离从样本中随机选取K个质心作为初始聚类中心,计算选取样本距离最近质心点进行分配,得到K个不同的簇。该方法虽简单有效,但不同的初始聚类中心可能导致完全不同的聚类结果。KSE-YOLO 模型采用K-means++聚类方法,优化选择初始质心,对行人数据集中的真实框的尺寸进行聚类分析,选取与行人目标相匹配的先验框尺寸,降低模型误检率。
K-means++聚类方法先从数据集中随机选取一个样本作为初始聚类中心并计算与每个样本间的最短距离D(x);再计算每个样本点被选作下个聚类中心的概率,使用轮盘法选取下一个聚类中心;不断重复上述工作,直至选出K个聚类中心。
SENet通过对通道间的关系建模来提高网络性能,使用全局的信息加强有用特征,网络结构简单且易于部署,如图1 所示。其中Fsq表示采用全局平均池化压缩每个通道的特征,使得靠近输入的层也可获得全局感受野;Fex由显示通道间相关性的参数为每个特征通道生成权重。
图1 SE模块示意图
在骨干网络的每个CSP 模块之后引入SE 模块可提升模型对于通道之间的学习能力,将原CSP 模块删掉一个卷积层和与之相连的BN 层以保证算法实时性,并进一步加强行人相关特征,从而提高模型检测精度,降低漏检率,KSEYOLO的总体结构如图2所示。
图2 KSE-YOLO 网络结构图
INRIA 数据集是使用较多的静态行人数据集,OTCBVS 数据集采集校园繁忙通道十字路口的行人图像,均存在许多遮挡情况,故将两者整合共提取5726 张图片,包含15000 多个行人目标构建数据集,使用LabelImg 工具进行标注,将标注图像从xml 转换为YOLOv5 格式,按7∶2∶1的比例分为训练集、测试集和验证集。
为了衡量算法的性能,将检测精度(Precision)、召回率(Recall)、均值平均精度mAP(Mean Average Precision)作为衡量算法性能的标准,mAP0.5:0.95表示阈值取0.5 到0.95 时,总体平均mAP值,计算公式如下所示:
其中,TP表示预测为正,实际为正;FN表示预测为负,实际为正;FP表示预测为正,实际为负;TN表示预测为负,实际为负。
3.3.1 实验环境与参数设置
实验操作系统为Windows10,CUDA 10.1,显卡NVIDIA RTX 3090Ti*2 加速,输入图像尺寸为128 × 128,Python 编写程序,Adam 优化算法更新网络参数,模型参数设置如表1所示。
表1 模型参数设置
3.3.2 检测结果与分析
KSE-YOLO算法的检测结果如图3所示,可得改进算法的检测精度随着步长迅速增长,最终稳定在93.3%,在迭代40 次时,损失值大约在0.01 左右,mAP0.5:0.95已经达到75%左右,且loss值下降收敛曲线较好。
图3 KSE-YOLOv5算法检测结果
从测试集中随机选取不同场景下的行人图片进行测试,结果如图4 所示,图中可以看出KSE-YOLO 算法对于遮挡行人目标的检测精度较高,漏检与误检率较低。
图4 行人检测结果
3.3.3 经典算法对比结果与分析
在相同配置条件下进行KSE-YOLO 与主流目标检测算法的对比测试,结果如表2所示。由表2 可得:与传统YOLOv5m 相比,改进算法检测精度提升3.2 个百分点,召回率提升4.5 个百分点,平均检测精度提升6.9 个百分点;与YOLOv3、YOLOv4 相比,改进算法的各项评价指标均表现更优。综上,改进算法在进行遮挡情况下的行人检测时,能够保证较高的检测精度和较低的漏检率。
表2 模型检测性能对比
针对目前存在遮挡的行人检测中识别准确率不足以及误检率较高的问题,提出基于YOLOv5m 网络的改进KSE-YOLO 检测模型。采用K-means++聚类方法优化初始质心选取,提升算法鲁棒性;在骨干网络的每个CSP 模块后引入SENet,提升网络对于行人目标的关注度;最后在公开数据集上进行实验。结果表明,改进算法在检测精度、召回率与平均精度方面都有一定提升,可有效应用于遮挡环境下的行人检测及其相关领域。下一步将在复杂环境下提高识别精度以及模型轻量化方向进行研究。