基于深度学习的人流量统计设计与实现

2024-01-17 09:54李江涛傅泽伟彭晓珊
贵阳学院学报(自然科学版) 2023年4期
关键词:误差率人流量体育场

古 训,李江涛,傅泽伟,彭晓珊

(1.贵阳学院 电子信息工程学院,贵州 贵阳 550005;2.国家电网天津市电力公司高压分公司,天津 300143)

随着城市化进程的加快和人们跨区域交流的加大,人流量的识别检测成为了当前重要研究课题之一。人流量识别检测技术的进步可以提高现代社会的管理能力,如为方便管理学生出行,可对进出宿舍楼人流量进行统计;又如疫情期间,利用人流量识别统计技术可以为公园管理者提供实时数据,便于疫情期间合理管控人流量。

基于视频流提取出特定帧进行训练来获取视频背景,之后进行目标检测、目标分割和目标识别操作,最后实现了行人跟踪和人流量统计功能[1]。基于改进的Yolov3实现人体检测功能,该检测功能在提高准确度的前提下具有较好的速度优势和抗干扰性,并设计自适应特征匹配的行人识别技术,可以在复杂场景下提高自适应性[2]。利用深度学习进行密集人流量的统计,利用目标检测和目标跟踪算法,采用双线法完成门口密集人流量识别,最终实现密集人流量的统计[3]。

基于以上文献的研究,本文主要实现了基于Yolov5目标检测算法和Deepsort目标跟踪算法的人流量识别统计功能,进而针对人流量视频进行帧识别率和总识别率分析。本文根据校园某些情景,利用算法实现了目标识别和跟踪的功能,达到了人流量统计的效果。

1 人流量统计开发环境及工具介绍

1.1 人流量统计开发环境和工具

由于统一并行架构CUDA(Compute Unified Device Architecture)具有极好的可拓展性和支持对资源的通用数据计算功能,本文在Windows10系统中采用python 3.9.9-CUDA版本,实现了基于深度学习的人流量统计。

1.2 Pytorch的介绍

Pytorch是一款基于Python的开源深度学习框架,被广泛用于多种自然语言处理和计算机视觉应用程序中。Pytorch的特点为:(1)多功能模块集合,Pytorch带有特别开发的模块,可与NLP、计算机视觉和语音处理等不同深度学习领域一起使用;(2)易于实现反向传播,Pytorch支持自动微分,可以节省时间,并且可以减轻负担,支持动态地更改代码。

Pytorch的优点在于简洁、速度快及便于使用等,Pytorch的设计追求最少封装方便实现相应功能、速度灵活和方便快捷。

1.3 Yolov5目标识别算法

Yolov5是一种目标检测算法,早已被成功应用在对目标进行检测的实际生活中。Yolov5可用在解决交通标志检测算法存在的网络复杂度高、计算量大、边缘部署难度高等难题中,使用基于Yolov5的轻量化交通标志目标检测算法,可使检测速度更加稳定,同时也满足实时的交通标志检测。如为解决在遥感图像目标检测任务中目标背景繁杂、难以识别且目标尺寸复杂的问题,可使用基于Yolov5的遥感图像检测优化模型,该模型可以有效捕捉图像特征,实现快速精确的目标定位。

Yolov5算法的思想是将目标检测以回归问题的方式去解决。它可以将待检测区域和检测阶段结合起来,并将输入划分为若干个检测窗格,其中每个格子都会形成不同长宽比例的若干个边界框(Bounding Box)。若目标框的中心点处于某个范围内,则此目标的检测将由此窗格负责,与此同时也会预测出每个边界框的位置信息、分类的概率还有检测的置信度(confidence)。[4]

Yolov5算法由四部分组成,第一部分为输入端,输入端可以利用Mosaic数据增强、自适应初始锚框计算和图片缩放等对图像进行预处理。第二部分为主干网络(Backbone),Backbone可以使用Focus结构、CSP(Cross Stage Partial)结构和SPP(Spatial Pyramid Pooling)池化金字塔结构提取检测目标的特征信息。第三部分为颈部网络(Neck),Neck可以使用FPN+PAN的特征金字塔结构,主要用于收集组合目标特征等。第四部分为检测层(Prediction),它由损失函数和预测框筛选函数组成,可用于预测信息损失部分等。[5]

1.3.1输入端

首先输入端Mosaic数据增强参考CutMix数据增强的方式。自适应锚框计算,主要针对不同视频的帧图片集设定好初始长宽的锚框,再用预测的锚框和真实计算的锚框计算出两者误差,通过多次迭代Yolov5的网络参数达到最优的锚框计算。自适应缩放是指将不同长和宽的帧图片统一缩放到标准尺寸,然后再加入整个帧数据集进行检测处理。[6]

1.3.2Backbone

由Yolov5的网络结构图可知,Focus结构在Yolov5算法中起到切片操作。如图1所示,经过切片操作后,再将特征图进行卷积核的卷积操作,最后得到输出。[6]

图1 Focus结构图

CSP(Cross Stage Partial)结构主要作用是减少冗余计算量和增强梯度。[6]CSP结构如图2所示。

SPP模块是空间金字塔模块,它的作用是可以扩大感受野,[5]结构如图3所示。

图3 SPP结构图

SPP模块的作用为将输入层的特征图经过一个卷积模块减半通道数,接着做三个不同卷积核的最大池下采样,将池化结果与输入特征图按照通道进行拼接,合并得到的通道数为原来的两倍,这样的结果在于大大提高了感受野。[5]

1.3.3Neck

Neck部分主要采用FPN+PAN结构,FPN是自顶向下的,它可将特征信息通过上采样的方式进行传递融合,得到可以进行预测的特征图。PAN是自下向上的,它可将下层的特征信息通过下采样的方式进行传递融合。FPN和PAN两者相互结合,实现了不同的主干层对不同的检测层进行特征融合。[6]

1.3.4Prediction

为实现目标检测任务,它的损失函数一般为Classification Loss(分类损失函数)和Bounding Loss(回归损失函数)这两部分组成。Yolov5算法采用GLOU_LOSS作为Bounding Box的损失函数。[6]基于上述介绍Yolov5的网络结构图见图4。

图4 Yolov5结构图

1.4 Deepsort算法

Deepsort算法是在Sort目标追踪基础上的改进算法,一般称为在线实时追踪SORT(Simple Online and Realtime Tracking)。SORT是一种实用的多目标跟踪算法,采用匈牙利方法将图像数据经过卡尔曼滤波器得到输出,这种方法可以提高跟踪精度和准确度,但SORT返回时带有较多身份切换,若存在目标状态估计不稳定性高,关联度量将变得不准确。为了克服上述缺点,Deepsort算法在实时目标追踪时,可以提取目标的特征进行最优匹配,可以改善存在遮挡情况下的目标追踪效果,同时也可减少目标ID跳变的问题。[3]

Deepsort目标算法的流程为。(1)按照卡尔曼滤波器预测出轨迹Tracks;(2)使用匈牙利算法将预测的帧轨迹数据Tracks和当前帧数据的轨迹Detections组合进行匹配;(3)卡尔曼滤波器的更新。Deepsort目标算法是通过使用目标跟踪算法得到的目标检测框与上一步预测的目标跟踪框的iou(交并比)进行输入组合匹配。通过输入到匈牙利算法来进行线性匹配,接着直接关联帧中ID,目标的物体外观位置就可以加入连接到帧间匹配的过程计算中,如果检测目标在被遮挡时且目标在下一时刻又出现时,还可以继续正确地匹配帧间ID。这可以有效解决检测目标ID异常跳变的问题,方便实现持续跟踪的目的。[8]图5为Deepsort算法流程图示。

图5 Deepsort算法流程图

1.5 人流量检测算法流程

基于Yolov5和Deepsort的优点,拟结合目标检测算法Yolov5实现识别统计功能,结合Deepsort算法实现目标跟踪功能,统计数据得出算法的识别率。具体流程为:首先将Yolov5检测器置于人流量视频中进行检测,接着将人流量视频中的行人检测结果作为Deepsort跟踪器的实时输入,最后得到人流量视频的统计数据。具体的人流量检测算法流程图如图6所示。[9]

图6 人流量检测算法流程图

2 人流量统计的开发流程及识别率分析

2.1 人流量统计功能及配置

在windows10系统中的Yolov5平台下实现人流量的检测和计数功能。所拍视频采用4800万像素拍摄,视频显示格式1080P,录制格式为MP4。

表1 人流量统计功能

2.2 人流量统计识别率说明

为更好地验证本文所提出的人流量识别算法的有效性,将以白天和夜晚两个环境来分析识别率。在白天和夜晚不同的时间段和不同的地点,选择合适的人流量视频,统计出该算法的识别正确率和误差率。白天人流量视频以阳明路口和体育场为主要场景,而夜晚人流量视频以体育场的人流量视频为主要场景。

2.3 白天人流量统计识别率

2.3.1阳明路口人流量统计分析

(1)针对阳明路口人流量视频分析可知:在放学高峰期,人流量比平时大,同时存在行人遮挡重叠和行人速度过快的影响因素。如图7所示,遮挡重叠造成识别误差。

图7 阳明路口人流量识别效果图

根据所拍视频的内容,以所拍视频为正方向,上图中从右往左走共有32人,从下往上走(由道路左侧向右侧移动)共有4人,从左往右走2人(其中此人骑着一辆电动车)。由此可以计数得出阳明路口进出人数大约为:38人。进行人流量统计操作之后显示统计的人数为51人。

表2 阳明路口人数统计值

从表3可知,该阳明路口视频人流量统计误差率25%,正确率75%。其中误差率计算为误差人数/识别人数为25%,正确率计算为实际人数/识别人数为75%。

表3 阳明路口人流量正确率和误差率

(2)阳明路口帧识别率的分析

如图8所示,阳明路口每帧识别正确率和误差率都出现了不稳定状态,且正确率和误差率上下波动。由表2可知,阳明路口人流量较大,且遮挡重叠现象较明显,由此造成人流量识别率在每一帧时都较低。

图8 阳明路口每帧识别率

2.3.2体育场人流量统计分析

(1)体育场人流量视频在傍晚时分拍摄,如图9所示存在拍摄时光线较暗、距离较远、拍摄物体过小和人之间遮挡等几点影响因素。如图9中行人重叠只识别出一人;行人目标较小,特征识别时特征值不明显无法识别出人;警示牌错误标记为人。

图9 体育场人流量识别效果图

从拍摄的视频中可知,从图9中得出在体育场中大约为12人,人流量统计的人数有8人。

表4 体育场人数统计值

由表5可知,体育场人流量统计误差率33%,正确率67%。其中误差率计算为误差人数/识别人数为33%,正确率计算为实际人数/识别人数为67%。

表5 体育场人流量正确率和误差率

基于白天各个阶段的识别率分析数据,在识别过程中,深度学习算法将依据特征值来判断检测类别。体育场人流量识别时,傍晚光照低于中午光照,因而体育场人流量识别出现了一些错判现象。

(2)体育场帧识别率的分析,由表4可知,体育场人流量视频中人数比较固定,且存在遮挡、错判等影响因素。如图10所示,人流量识别正确率和误差率都处于稳定状态。

图10 体育场每帧识别率

2.4 夜晚人流量统计识别率

(1)夜晚人流量统计分析,如图11所示,光线暗淡造成非人物体的错判,行人的重叠造成误判率增大。除上述提到的两种影响因素外,还存在另一个影响原因,即在识别过程中,光线的不连续极容易使其他物体间接性识别。从所拍摄的视频中可知,从上图中得出大约有7人,对人流量统计之后的人数有12人。

图11 夜晚人流量识别效果图

表6 夜晚人数统计值

由表7可知,体育场人流量统计误差率42%,正确率58%。其中误差率计算为误差人数/识别人数为42%,正确率计算为实际人数/识别人数为58%。

表7 夜晚人流量正确率和误差率

针对夜晚人流量识别统计分析,在利用深度学习算法进行识别时,若光照条件处于较差的情况下,深度学习的特征识别误差率将大大增加。同时伴随识别不稳定现象的存在,夜晚的识别率将会降低很多。

(2)夜晚帧识别率的分析,在图12的夜晚每帧识别率中,夜晚状态时行人识别不稳定,间歇性识别造成统计计数出现误差,识别率下降。

图12 夜晚每帧识别率

2.5 识别正确率和识别误差率的分析

由于每个环境的特点和存在遮挡重叠、光线暗淡和间歇性识别等因素的影响,造成识别率不稳定。由图13可知,白天识别正确率稳定在60%左右,夜晚的识别正确率稳定在50%左右。而白天识别误差率在40%左右,夜晚识别误差率在50%左右。

图13 人流量识别正确率和误差率

综上,在保证光照条件充足的条件下,识别率较高。但同时也存在如下影响因素,(1)行人的重叠遮挡;(2)间歇性识别造成间歇性统计;(3)行人目标较小,这些影响因素的存在导致识别率不高。其不确定因素的产生原因大致有:(1)行人移动速度快慢;(2)人与人之间的遮挡及人与物体的遮挡;(3)摄像头像素参数存在差异;(4)光线差异,这些都会导致识别率发生变化。

3 结论

研究主要基于Yolov5目标检测算法和Deepsort目标跟踪算法,完成了行人识别和人流量统计两大功能,并对可能出现的诸如遮挡、重叠、光照强度等因素进行分析,选取我校阳明路口和体育场两种场景进行实验验证。实验结果显示,所提出的基于Yolov5和Deepsort人流量检测算法具有较好的识别和统计优势,行人识别计数有效识别率可达到75%。

猜你喜欢
误差率人流量体育场
Two Funny Men
去体育场所时如何防疫
生化检验全程中质量控制管理方式及应用意义
降低评吸人员单料烟感官评分误差率探讨
提高高职院校图书馆现刊阅览室人流量的策略研究
三级客运汽车站服务能力影响因素分析
无线传感器网络定位算法在环境监测中的应用研究
电工仪表测量中容易忽略的几个问题
他只做有“思享”的讲座,让小小微信装下一个“万人体育场”
小吃店选址实战经验