基于视频的车站客流状态识别方法研究

2023-09-08 00:58高武刁欣然张余豪姬光王艳辉
铁路技术创新 2023年3期
关键词:客流行人车站

高武,刁欣然,张余豪,姬光,王艳辉,6,7,8

(1.北京京城地铁有限公司,北京 101300;2.北京交通大学 交通运输学院,北京 100044;3.北京交通大学 先进轨道交通自主运行全国重点实验室,北京 100044;4.北京市轨道交通建设管理有限公司,北京 100068;5.北京声迅电子股份有限公司,北京 100094;6.北京交通大学 北京市城市交通信息智能感知与服务工程技术研究中心,北京 100044;7.北京交通大学 城市轨道交通运营安全管理技术及装备交通运输行业研发中心,北京 100044;8.运营主动安全保障与风险防控铁路行业重点实验室,北京 100044)

0 引言

近年随着城市轨道交通线路长度的快速增长,线网的织密,城市轨道交通客运量占全国公共交通客运总量的分担比率逐年提高。截至2021 年底,共有50 个城市开通城市轨道交通运营线路283 条,运营线路总长度9 206.8 km。2021 年全年累计完成客运量236.9 亿人次,同比增长34.7%,总进站量146.3 亿人次,同比增长33.7%,总客运周转量1 981.8亿人公里[1]。在北京、上海、广州、深圳这些超大城市中,平均每座车站日均进站量1万人次,并且由于城市轨道交通系统网络化运营的特点,车站之间会相互影响,一个车站运营中断甚至会造成线网大范围运营受阻。

安全是城市轨道交通完成其根本任务、根本使命的前提和基础。客流状态是影响车站安全事件发生的1个主要因素,科学合理地对客流状态进行评价对城轨运营安全起着重要作用。目前虽然北京、上海等国内城市轨道交通行业头部运营公司都对城市轨道交通安全保障与风险管控方面有了长足的研究,但其中对客流状态的辨识大部分仍是车站乘务员、车站管理人员以目视的方法来进行监测,而由于车站乘客数量较多且客流状态易受外界环境的干扰而复杂多变,这种方式不能及时地发现问题所在,因此有必要采用先进的信息化手段对客流状态进行监测[2]。客流速度、客流密度是目前城轨客流相关研究中反映客流状态的重要属性,对客流状态信息的获取方法进行研究,通过对目前相关领域算法的研究,形成基于优化YOLOv5 和Deep-SORT 的客流状态识别方法,并对此方法进行验证,有助于实现客流状态的有效识别,进而提高城轨车站的安全水平。

1 基于优化YOLOv5的客流密度识别

1.1 YOLOv5算法优化模型

对客流状态进行识别首先要通过监控设备检测到乘客的存在,这个过程就是目标检测,现如今基于深度学习的方法在目标检测领域成为主流,并且YOLO系列算法取得了良好的效果,是当前研究的热点。在YOLO 系列算法中,YOLOv5 算法的总体性能指标位于前列[3],但在乘客密集场景的应用还存在改进空间,在密集场景下目标检测算法经常会发生将多个目标检测为1个目标的问题,同时检测到的单个目标也会受到相近其他目标的影响,导致预测效果不佳,从提高预测精度与检测效果的角度对YOLOv5算法进行优化,主要通过网络结构、损失函数、检测框后处理算法3个方面进行优化。

1.1.1 网络结构优化

对网络结构的优化主要考虑提高对原网络结构提取到的特征利用能力,在深度学习领域,注意力机制由于其能够对重要特征进行更多的权重分配、降低重要性低的特征权重、能够对各种网络模型起到优化作用,因此尝试通过在网络的骨干部分引入注意力机制来提高特征提取能力。SE(Squeeze-and-Excitation Networks)[4]、CBAM (Convolutional Block Attention Module)[5]、ECA (Efficient Channel Attention)[6]、CA(Coordinate Attention)[7]都是近些年取得较好效果的注意力机制。

在不同应用场景和不同数据集条件下,对网络结构的修改会取得不同效果,为了选取更有效的改进方法,在相同超参数条件下,使用自制数据集对加入SE、CBAM、ECA 和CA 注意力机制的不同模型分别训练500epoch,训练结果对比见表1。

表1 注意力机制训练结果对比

经过对比,CBAM注意力机制添加后对模型精度的提高在4种注意力机制中取得了最好的效果,因此选取CBAM机制来提高模型的特征提取性能。

1.1.2 损失函数优化

早期的目标检测工作使用经典损失函数进行预测框回归,随着研究的发展,目标检测领域直接采用定位性能度量损失,即将交并比IoU(Intersection over Union)作为定位损失。He 等[8]为了获得更准确的边界框回归和目标检测,在2021 年提出了一种统一GIoU、DIoU、CIoU这3种基于IoU的损失函数的新损失函数α-IoU,通过对IoU 损失加上额外的power 正则化项,使得其能够概括现有基于IoU的损失,计算方法见式(1),以CIoU 为例,α-CIoU 损失函数可以表示为式(2)。

式中:Pα2(B,Bgt)为根据检测框B和Bgt计算的惩罚因子;b、bgt分别代表了检测框B和Ground truth G 的中心点,且ρ为2 个中心点间的欧式距离;c为能够同时覆盖检测框B和Ground truth G 的最小矩形的对角线距离;。

实证研究表明,在大多数情况下使用α=3 的α-IoU损失会在目标检测任务中取得较好的效果。采用α-CIoU 对原模型进行修改,α取3,修改后效果对比见表2。

表2 α-CIoU损失函数效果对比

可以看出应用α-CIoU损失函数后相比原CIoU损失函数模型精度有一定的提高,因此选取α-CIoU 损失函数来提高模型的检测框精度。

1.1.3 检测框后处理算法优化

现有的检测模型在检测框后处理阶段多采用NMS算法来对网络预测到的多个预测框进行筛选。在使用NMS算法筛选预测框时,先给定阈值来对检测框的IoU范围进行评价判断,然后在给定阈值范围内,高置信度预测框被保留,较低置信度预测框被删除。这种筛选预测框的方法依赖设定的阈值好坏,在原模型中阈值为基于IoU 的阈值,根据前文分析,IoU 的效果并不如改进后的α-IoU,考虑将后处理算法中的阈值更改为基于α-IoU 的阈值,形成α-CIoU-NMS,修改后效果见表3。

表3 α-CIoU-NMS效果对比

通过引入注意力机制对网络结构进行优化,使用α-CIoU损失函数对原模型损失函数优化,将α-CIoU引入NMS 形成α-CIoU-NMS 后处理方法对原模型进行优化,改进后模型精度得到一定提高。

1.2 车站区域客流密度识别流程

城轨车站是一个乘客密集的场所,因此利用优化YOLOv5算法对城轨车站区域的乘客进行检测,以提高检测效果。在得到目标检测模型后可以对监控视频中乘客数量进行识别,进一步实现车站区域客流密度识别主要利用目标检测得到的当前监控区域的乘客数量N与设置的当前监控区域实际面积S,根据密度计算公式得到,具体方法如下:

(1)接入监控视频;

(2)设置待检测区域,输入待检测区域面积S;

(3)监控视频处理,对原图像进行裁剪,得到设定的检测区域图像作为待检测图像;

(4)将待检测图像送入目标检测模型对该区域进行行人检测,此过程输入为待检测区域的图像,输出为待检测区域内的每个行人的检测框坐标信息及行人总数N;

(5)得到行人总数N之后与待检测区域的面积S按照客流密度公式进行计算;

(6)输出该区域的客流密度ρ。

2 基于目标追踪与相机标定的客流速度识别

2.1 基于Deep-SORT的多目标追踪

目标追踪领域目前主流方法是基于深度学习和相关滤波的算法,在各种深度学习目标跟踪算法中Deep-SORT 作为SORT 算法的改进,其在多目标追踪任务中速度和精度都位于前列,并且可以较好地处理遮挡带来的目标丢失问题,因此被广泛应用于各种多目标追踪任务中,因此选取Deep-SORT 算法作为客流速度获取过程中的目标跟踪算法。

Deep-SORT 是在SORT 算法的基础上进行深化的,SORT 先在连续图像序列之间利用卡尔曼滤波方法进行目标位置预测与更新,主要利用目标的位置和运动特征,再采用匈牙利算法对检测框与预测框的分配通过IoU 进行优化求解实现目标前后信息匹配[9],Deep-SORT 算法额外考虑了追踪目标的外观信息,引入重识别领域的目标外观特征提取模型,将外观特征与运动特征级联匹配,解决了SORT在面对遮挡时目标变化的问题[10]。Deep-SORT 算法流程见图1,主要有3 个部分内容,目标检测提取候选框、特征提取、数据关联匹配。

图1 Deep-SORT算法流程

2.2 基于单目相机标定的坐标转换方法

由于通过视频图像获取的行人坐标为图像的像素坐标,其与真实坐标存在区别,需要获取二者的换算模型,将图像的像素坐标与真实世界坐标对应。由于只需要得到像素坐标与真实坐标的转化关系,不需要对相机各个参数进行求解,所以化简后得到式(3):

式中:M即为投影矩阵,由摄像机焦距光心等内部结构和摄像机摆放位置和拍摄角度等外部参数决定,由于是在齐次坐标系中进行变换,对矩阵M乘以任意一个非零常数对坐标对应关系没有影响,所以设m34为1。获取6组对应的像素坐标与真实坐标,将其带入式(3)进行方程组求解,即可得到投影矩阵。在得到投影矩阵后即可将像素坐标与真实坐标转换,所采集的行人速度只需要得到真实的二维平面坐标,行人是在一个平面上进行移动,zw在平面上恒为0,将式(3)展开后可以得到式(4):

则与(xw,yw)与(u,v)对应关系可以用式(5)表示:

2.3 车站区域客流速度识别流程

在利用目标检测加目标追踪得到城轨车站行人移动的轨迹后,结合像素坐标与真实坐标的转换关系即可得到行人的真实移动速度,具体流程如下:

(1)YOLOv5 对图像序列进行目标检测,得到监控图像内当前时刻每个行人检测框的像素坐标;

(2)Deep-SORT 算法对连续图像序列中的行人进行追踪,得到下一时刻行人所处位置及检测框的像素坐标;

(3)利用像素坐标与真实坐标的转换关系对得到的行人检测框坐标进行转换,得到当前时刻与下一时刻行人检测框的真实坐标;

(4)计算当前时刻与下一时刻检测框底部中心点真实坐标;

(5)利用速度计算公式得到该行人的真实移动速度;

(6)对当前区域所有行人移动速度进行平均得到当前区域客流速度。

3 实例验证

3.1 车站乘客数据集构建

基于改进的YOLOv5 算法对车站客流密度和客流持续时间进行识别,首先要对目标数量进行统计。基于深度学习的目标检测算法应用效果受数据集影响很大,如果数据集内样本单一,场景单一,则训练出来的网络模型各项指标只能够在该数据集下取得,在其他场景中的应用效果可能达不到在验证集上的评估效果,要确保在某一场景下的实际应用效果良好,最可靠的方式就是建立该场景下的数据集,构建的数据集来源是某站内各区域的实际监控视频,分属于步梯、扶梯、闸机、站台,基本覆盖了车站内各个区域。

为了保证行人样本的充足,在各区域内选取行人较多的视频样本,对视频进行按帧提取图片的操作,考虑到视频为25 帧/s,每帧之间行人变化极小,对每帧图片进行提取会导致数据集的冗余。因此选择每10 帧提取1 次图片,最终提取出3 916 张样本图片,经过筛选剔除无人图片以及重复图片,最终将3 000 张图片纳入车站乘客数据集,样本见图2。

图2 车站乘客数据集样本

将数据集按照9∶1的比例划分为训练集和验证集,在Windows10系统,11G显存GeForceRTX2080Ti显卡的环境中设置Batch_size 为16,epoch 为1 000,经过13 h训练后损失值趋于平稳,此时继续训练优化效果不大,停止训练,从训练过程中选取最优的模型文件保存,训练过程损失变化见图3,900epoch 后基本损失函数平稳,结束训练。

图3 模型训练过程损失变化

3.2 区域客流密度实验结果分析

由于所采用的客流密度识别方法中的监控区域面积是根据实际情况给定的,客流密度和客流持续时间识别都是对乘客数量进行检测,因此对客流密度和客流持续时间识别方法有效性进行评估可以等价于对目标检测的有效性进行评估。

选取训练数据之外的闸机、站台、扶梯、步梯4个区域不同密度等级的100张图片分别进行测试,检测效果见图4。在站台区域由于监控范围过大,远处小目标人体可由另一端相机进行检测,所以只检测靠近相机的一半区域的乘客,遮挡不严重的大部分人体都可以被检测到,但在人群极度密集环境如站台等,会存在漏检的情况,同时由于监控视频画面中还会存在一些不属于监控范围的较远区域的人体,在检测过程中也会对这些人体进行检测造成误检,导致检测到的人体比画面中的实际人体数量还要更多,此部分误检可以在实际应用中设定监控范围进行控制。

图4 行人检测效果

将优化后模型与原模型在各区域识别到的人数与真实人数进行对比,结果见表4 与图5,其中站台区域检测到的人体数量为剔除误检人体之后的数据。可以看出在利用车站乘客数据集对优化后模型进行针对训练后,优化后模型效果相比原模型更好,平均精度达到86.82%。

图5 不同区域检测结果对比

表4 不同区域检测精度对比

3.3 区域客流速度实验结果分析

在城轨车站监控视频中对客流速度识别方法进行验证,车站监控视频标定情况见图6。首先对坐标变换进行验证,对其中导向标识L1、L2两点的距离进行换算,选取O、A、B、C、D、E六点作为特征点进行标定,根据标定得到的投影矩阵及式(5)将L1、L2的像素坐标转为真实坐标(见表5),求得2 个导向标识之间的距离长度为1.02 m,L1、L2的真实距离1 m,在监控视频中坐标换算的误差为2%。

图6 车站监控视频标定情况

表5 L1、L2坐标换算结果

对速度识别方法进行验证(见图7),该场景下乘客P在27 s时坐标为(375,214),33 s时坐标为(317,539),进行坐标转换后坐标换算结果见表6,计算可得行人P速度为1.02 m/s,行人真实的速度为0.95 m/s,在监控视频中乘客速度的识别精度为93.2%。

图7 单人速度计算示例

表6 乘客P前后时刻坐标换算结果

多人场景速度检测见图8,对检测框能完全覆盖的乘客,识别到的速度较为可靠,由于个别位于楼梯或扶梯的乘客,其坐标点不在标定平面,因此坐标换算存在误差,从而导致速度准确度较低,在实际应用中可以预设检测范围以确保检测区域在标定的平面来改善此问题。

图8 多人场景速度检测示例

4 结束语

对车站客流信息获取方法进行研究,首先通过对目标检测算法进行分析,选取目前工程效果较好的YOLOv5 算法作为行人检测模型,以实现对客流密度信息的获取;其次从网络结构修改、损失函数改进、后处理方法改进3 个方面对YOLOv5 算法进行改进,提高了检测精度,同时自制城轨乘客数据集进行训练,提高了YOLOv5算法在城轨车站场景中的检测准确率;最后选取目前时效比最好的Deep-SORT 目标追踪算法作为行人追踪模型,并结合单目相机标定实现对客流真实速度信息的获取,为基于视频数据的车站客流状态信息获取提供了基础。

猜你喜欢
客流行人车站
客流增多
毒舌出没,行人避让
路不为寻找者而设
车站一角
在北京,一个车站的治理有多难
我是行人
热闹的车站
热闹的车站
基于自学习补偿的室内定位及在客流分析中的应用
人工免疫算法在电梯客流时段划分的应用