王 敏
(西安铁路职业技术学院交通运输学院,陕西 西安 710014)
随着地铁客流量的激增,其安全、高效运行面临更大的挑战。传统的人工客流量计数方法需专人实时监控客流画面,进行客流信息统计及特征提取,耗时耗力,准确性及效率较低,而且因为监控人员数量及精力有限,仅能统计关键区域的客流量,无法对全运输段进行客流跟踪及统计。近年来,随着计算机视觉技术的发展,以机器替代人眼,基于视频图像对地铁运行各区段、各时段的客流量进行跟踪统计,并通过数据分析,得出高精准的客流数据成为趋势。
近年来,深度学习技术得到了发展与应用,其利用深度卷积神经网络自主学习检测目标[1-2],而后对图像中目标特征进行提取与识别,采用训练的方式构建特征组合和分类器[3-4],有效弥补了人工技术在规模、精度及场景等方面的局限性[5]。许多学者也开始关注、研究和应用深度学习技术,Girshick[6]和 Ren 等[7]提出了Fast R-CNN及Faster R-CNN目标检测算法,后一种算法以Refion Proposal Network替代Selective Serarch方法来产生候选区,在确保检测准确率的同时,也提升了目标检测效率;2015年,Redmon等[8]提出了YOLO检测算法,与R-CNN系列算法区别在于其利用全卷积进行目标监测,通过回归计算进行目标分类及定位,检测速率可达45帧/s;2016年,Liu等[9]提出了SSD(single shotmultibox detector)检测算法,该算法使用CNN直接检测,通过提取不同尺度特征图进行检测,检测效率更高,且显著提升大、小目标的检测准确率;在YOLO检测算法的基础上,Redmon等提出了YOLOv2[10]和YOLOv3[11]检测算法,YOLOv3融合了残差网络思想,采用多尺度特征及分类损失函数替换等方法,显著提高了检测效率及准确率,在COCO数据集上的mAP(客流量统计数据)达到了57.9%。地铁客流量较大,检测背景较为复杂,目标区域较小,在多次卷积后较小尺寸检测目标的信息容易丢失,影响检测准确率,因此本文基于YOLOv3现存问题,对其进行针对性优化,以提升其在地铁客流中的准确率及效率。
YOLOv3网络融合了Resnet残差网络思想,参考Faster R-CNN利用先验框Anchor Boxes根据标注的目标框获取更优的真实框的方法,并引入FPN特征金字塔网,将分类器Softmax替换为Logistics[12],从多维优化网络结构,以提升检测的效率及准确率,因此该方法更适用于地铁客流跟踪检测的需求。YOLOv3算法采用Darknet-53网络结构,在层结构之间增设快捷链路Shortcut connectiongs,并分设13×13、26×26和52×52等3个尺度特征图[13],以实现不同尺寸目标的跟踪检测。YOLOv3网络结构如图1所示。
图1 YOLOv3算法结构
图中,RESn是YOLOv3用于加深CNN层数的残差结构,其利于提取地铁客流目标深层抽象信息;DBL是由卷积、正则化、Leaky ReLU函数组成的卷积层结构,其加深了网络的深度,可优化对小尺寸目标检测的准确性;concat为张量拼接,可有效拼接DarkNet中间层和后面某一层的上采样。YOLOv3对输入图片进行5次降采样,并在后3次降采样中完成目标检测,后3次降采样中涉及小Y1、中Y2、大Y3 3个尺寸的目标检测特征图,其中,Y1小尺寸特征,YOLOv3通过5个步长为2的卷积进行降采样,Y2、Y3中、大尺寸特征,则分别对输出的32倍、16倍降采样特征图进行2倍上采样。然后将所得特征图分别与Darknet-53网络的第4个、第3个残差块输出的特征图进行拼接,构建输出分别为16倍、8倍降采样的特征融合层。
YOLOv3算法采用多个尺度融合的方法进行检测,目标检测准确率较高[14]。在YOLOv3算法中,目标特征边界框的获取使用了维度聚类。数据集中的维度聚类采用K-means方法得到先验框,较大尺度的特征图选用较小的先验框,以更好地提取目标特征。在目标分类中,YOLOv3算法使用多个独立的逻辑(logistic)分类器。YOLOv3算法与SSD、DSSD和RetinaNet的目标检测框架性能对比见表1。
表1 YOLOv3算法与其他算法的性能对比
由表1可以看出,虽然YOLOv3算法具有较高的检测精度,但检测的尺度比较单一,对于小目标的检测效果不佳,因此在进行地铁客流量检测时,需要对该算法进行改进。
高密度、大群体的地铁客流跟踪检测场景下,检测目标尺寸多而小,易丢失信息,为提升对不同目标检测的自适应性及准确率,本文对YOLOv3算法的网络结构、多尺寸特征检测方法、目标数据聚类计算等进行改进,如图2所示。
图2 YOLOv3算法优化设计方法
YOLOv3算法的残差结构可深化CNN网络层数,捕获地铁检测目标深层抽象信息,但降低了检测速率,且易丢失小尺寸目标信息,影响地铁客流跟踪检测准确性。卷积层及网络结构越深,地铁客流跟踪检测的效果越好。为此,针对地铁客流目标多而小的特征,为提取深层抽象信息,对YOLOv3算法的网络结构进行如下优化:
1)增设2个1×1和3×3的卷积层,实现卷积核通道降维,简化CNN,提取深层抽象信息,且在不损失分辨率的基础上增加非线性特性的表达,提升网络表达能力。
2)在1×1卷积结构基础上,增加3×3的DSA进行特征图通道卷积,再利用1×1的卷积融合通道特征层,跳跃式连接组合特征,增加1×1卷积平滑特征输出。
YOLOv3算法多基于COCO和VOC数据集,针对大尺寸目标进行跟踪检测。由于地铁高密度的客流,在多次卷积后会丢失小尺寸检测目标的信息,影响检测的准确性,因此本文采用图像金字塔的多尺度检测方法,融合低层级特征丰富的细节和定位信息及高层级特征丰富的语义特征,获取不同尺度检测目标的特征图。具体步骤如下:
步骤1:首先利用Darknet-53获取特征金字塔,然后利用原网络、YOLOv3网络分别输出的4倍、8倍采样特征图,依次进行目标检测、2倍上采样,再对Conv53层进行不间断的1×1与3×3卷积操作,获取第1组待处理YOLO层,最后对待处理YOLO层进行1×1与3×3卷积操作获取小尺寸YOLO层[15]。
步骤2:上采样小尺寸YOLO层,与Darknet-53中的Conv45层进行卷积操作,并持续进行1×1与3×3卷积操作,获取第2组待处理YOLO层,再对其进行1×1与3×3卷积操作获取中尺度YOLO层。
步骤3:上采样中尺度YOLO层,与Darknet-53中的Conv29层进行卷积和操作,并持续进行1×1与3×3卷积操作,获取第3组待处理YOLO层,再对其进行1组1×1 和 3×3 卷积操作,得到大尺度 YOLO 层。
经过上述步骤,可得到不同尺度的YOLO层,将其融合后进行地铁客流跟踪检测,可减少信息丢失,提升检测准确率。
YOLOv3算法的Anchor box先验框机制,不适用于高密集、小目标的地铁客流跟踪检测需求,需对该类数据进行重新聚类。K-means聚类方法获得的Anchor box先验框主观性更优,故而本文以该方法对地铁客流数据集进行重新聚类,让Anchor box先验框与ground truth目标框的误差越大越好。鉴于采用欧氏距离、曼哈顿距离作为误差进行度量,存在“大框优势”,因此本文引入IOU重叠度交并比来测量该误差d(box,centroid),其公式为:
d(box,centroid)=1-IOU(box,centroid)
(1)
式中:box为地铁客流数据样本聚类结果;centroid为全部簇的中心;IOU(box,centroid)为全部簇中心与全部聚类框的交并比。
在使用YOLOv3算法进行地铁客流量跟踪检测时,需利用卷积网络来提取目标特征,然后采用全连接层来获取预测值,但是由于全连接层后紧跟着softmax分类器,在进行网络训练时输入的图片尺寸固定,因此不符合地铁多尺寸客流目标的跟踪检测需求。对此本文采取多尺度训练策略,剔除YOLOv3网络中的全连接层,以全卷积操作替代,输入不同尺寸的图片进行训练,以适应地铁多尺寸目标的跟踪检测。
地铁客流跟踪检测尚无公开数据集可用,为此本文针对其高密度、复杂的特点,提取人体头、肩信息进行客流量统计。以矩形框标注旅客的头、肩部位,清晰的头、肩及遮挡的头、肩分别标注红色框headshoulder和绿色框ignore,遮挡率控制在40%以下。以北京某地铁站为实测地点,采集上午8:00—12:00的客流视频,自制成近似VOC数据集格式的地铁客流数据集,在其中标注52 000个样本,以jpg格式存储。
从52 000个地铁样本数据集中分别提取headshoulder、ignore样本的60%作为训练集,用以进行网络训练,另40%的样本作为验证集。以改进YOLOv3算法和原YOLOv3算法结构为模型,在数据集上分别迭代训练地铁客流头、肩检测器20 000次、30 000次、50 000次,采用下述指标测评地铁客流量统计性能。
准确率P:
(2)
式中:TP为检测及真实结果均为旅客头、肩的数量;FP为检测结果为旅客头、肩,真实结果为非旅客头、肩的数量。
召回率R:
(3)
式中:FN为检测结果为非旅客头、肩,真实结果为旅客头、肩的数量。
平均准确率AP:
(4)
式中:∑APi为单类图片平均准确率之和;NC为类别总数量。
通过测试可得两种算法对地铁客流量统计结果,见表2。
表2 两种算法在地铁客流统计中的性能对比 %
由表2可知,随着训练迭代次数的增加,改进YOLOv3算法及原YOLOv3算法的准确率、召回率及平均准确率均逐渐上升,但改进YOLOv3算法在地铁高密度、多尺度目标跟踪检测中更具优势。
同时,在1 100P的视频图像上测试两种算法的跟踪检测速度,结果见表3。由表3可见,采用K-means对高密度人群数据集进行重新聚类后,改进YOLOv3算法对地铁客流跟踪检测速率更快,这源于改进算法在重新聚类后Anchor数量及宽、高纬度更适宜,更加符合地铁高密度客流特征。
表3 两种算法在地铁客流跟踪检测中的效率
地铁客流具有高密度、高流动性等特点,为高效、准确地跟踪检测客流情况,针对YOLOv3算法的不足,经过基础网络结构优化、采用多尺度目标检测方法和K-means聚类方法对高密度数据集重聚等一系列的改进,设计、完成了地铁客流跟踪检测方法。该方法较传统的人工客流量统计方法,投入成本及运维成本较低,且不影响地铁正常运行,检测准确率及效率更高,具有较高的可操作性。