当前位置:首页 期刊杂志

基于YOLOv4的人体异常行为检测算法研究*

时间:2024-05-04

张欣 齐华

(西安工业大学 西安 710021)

1 引言

目前公共场合监控视频中对各种人为异常事件的排查和预警大多依赖人工,而人工排查面临最大的问题是少量工作人员面临大量的排查工作,往往造成问题发现不及时,造成严重后果。

在特定场景下的监控画面中,内容所涉及到的人体异常行为特征受人体远近大小、人体重叠遮挡,背景环境的多变复杂等影响。这些因素都会对人体异常行为的检测具有很大的影响,传统的方法是先将目标通过轮廓信息从视频序列中分割出来,然后进行特征提取,将提取到的人体行为特征与标准库中异常行为样本进行比对,最后通过分类器进行判断是否为存在异常行为。但是对于在某种真实的场景下,人体的行为存在复杂多样,较难明确定义的问题,因此一种打破复杂传统方法的方法就是将人体的诸多复杂行为分为正常及异常行为两类,将具体行为类别问题转变为行为状态分类问题。

2 方法概述

本文借鉴中国科学院大学刘雪琪[3]的思想,选取室内室外两个场景模拟商场及广场监控画面中的人体行为状态进行实验任务的完成,首先需要获取监控场景的视频数据,通过帧截取方式获取具有行为表达性的数据样本,根据需求进行行为定义,标定后将数据样本送入网络模型中进行训练,将人体检测及行为分类同时交给网络完成,通过训练得到能够对输入图像或视频数据进行判定人体是否具有异常行为的模型。

2.1 YOLOv4模型架构

YOLOv4[1]网络模型主要由CSPDarknet53[1]主干网络、特征金字塔网络和YOLOHEAD组成。与YOLOv3[2]所使用Darknet53[2]架构相比[2],主干网络增加了CSP[1]结构,将Mish[1]函数只应用于主干网络上,不仅确保了检测的准确率,还降低了算法的计算量。SPP[1]模块显著增加了接受场,可以更好地分离出最重要的上下文特征,并且不会降低网络训练速度。路径聚合使用上下采样相结合的方式,通过上采样提高小目标检测物的检测效果,再通过下采样加强特征金字塔,最后通过多尺度特征层进行预测。

2.2 人体异常行为定义

本实验应用背景面向大型商场及广场安防系统中的监控视频画面,选择室内及室外两种背景完成场景的模拟。对于不同场合人体的异常行为的定义是不同的,所以根据大型商场及广场监控中人体行为特征,将人体行为分为正常及异常两类[3]。

其中个人异常行为以晕倒为主,特点为人体横倒地面并持续一定的时长;两人交互异常分别为肢体冲突、盗窃等,其特点分别为双方人体大幅度肢体交互动作及一方刻意靠近另一人体并且距离异常靠近;其余人体行为均定义为正常行为。人体行为虽存在部分类间特征差异小的问题,但直观上特征语义存在明显的不同。

2.3 人体异常检测模型建立

1)K-Means聚类

K-Means算法[13]是基于距离的算法,其核心思想是基于给定的聚类目标函数,算法采用迭代更新的方法,每一次迭代过程都是向目标函数减小的方向进行,最终聚类结果使得目标函数取得极小值,达到较好的分类结果。

基于回归的检测模型在训练前首先要指定检测目标的长宽比和范围,对于本数据集来说,模型默认的anchor box并不合理,所以需要聚类本实验中的数据集,K-Means算法如式(1~2)所示。

其中d表示计算每个标注框与每个聚类中心点的距离时每个标注框中心点距离,i表示第i个类的标注框个数,Wi'表示标注框宽的平均值,Hi'表示标注框高的平均值,通过聚类获得适合本数据集的先验框。

2)分类器设置

基于YOLOv4原模型分类器中包含80种大小不同的类别,通过聚类后,需要将分类器进行修改。模型使用多尺度特征层对不同大小目标进行检测,YOLOv4模型对每个网络单元设置3个预测框,且每个预测框包含(x,y,w,h,confidence) 5个基本参数,同时需要有80个类别的概率,所以模型输出的维度为3×(5+80)=255。本实验根据需求对人体行为进行分类,所以是正常及异常两个类别,输出的维度张量为3×(5+2)=21。所以本实验在原模型的基础上修改分类器,将模型的输出修改为21维度的张量。

3)多尺度特征层对检测结果的影响

通常深度神经网络层数越深,模型提取到的目标特征信息就越详细。基于YOLOv4模型分别使用(13×13)、(26×26)、(52×52)三个不同尺度特征层进行预测,其中(52×52)用来对尺寸较小的目标进行预测的,为适应本数据集人体尺寸特征,同时使用(13×13)、(26×26)特征层进行预测并建立人体行为特征检测层,并进行实验分析,得到基于YOLOv4模型结构如图1所示。

图1 改进后模型结构图

3 相关工作

3.1 实验环境搭建

本次实验操作系统为Windows10,实验显卡型号为NVIDIA GeForce GTX1080Ti,GPU数量为2,显存为8G。使用Pycharm的编译环境,预装环境包括python3.6、Tensorflow-GPU1.13.1、keras2.1.5、cuda10.1及cudnn7.3.1等。

3.2 数据集制作

本次实验通过四名人员相互配合,选择室内室外两种场景以及不同拍摄角度进行不同行为的录制。将拍摄后获取的视频进行视频帧截取,选择最具有行为表达性的视频帧作为数据样本,筛选过的帧图像使用LamblImg软件进行标注生成所对应的XML标签文件,最终获得2000多张标注后的数据集,部分数据样本如图2所示。

图2 部分数据集

3.3 异常行为模型训练

将训练样本送入改进后的YOLOv4模型中训练,训练前按照9∶1比例划分训练集及测试集,其中batch_size=16,max_epoch=200,初始学习率设置为0.01。由于实验中训练样本为自行制作,通过Callback实现早停法[10],同时输入端选择mosaic[14]数据增强方式,一方面能够使得训练样本更好地拟合网络,另一方面防止由于训练过多个epoch造成过拟合问题[10]。当训练中出现瓶颈时,则降低学习率为原来的1/10继续训练,直到本轮次训练结果不如上轮训练的表现时,则终止训练。异常行为模型训练如图3所示。

图3 异常行为模型训练示意图

4 实验结果分析

4.1 损失函数及曲线分析

基于YOLOv4模型的损失函数分别由目标置信度损失、目标分类损失以及目标定位偏移量损失组成,总损失函数如式(3)所示:

公式中表示网格共有K×K个,每个网格产生M个先验框anchor,每个anchor通过网络得到对应的边框,最终形成K×K×M个预测框,如果框内没有目标,则仅计算框的置信loss。其中,置信度loss采用交叉熵,分为目标框及不含目标框,在不含目标框的loss中增加权重系数,能够减少不含目标的框计算部分的贡献权重。分类loss采用交叉熵,当第i个网格的第j个先验框负责一个真实目标时,那么这个先验框所产生的的预测框才回去计算分类损失函数。YOLOv4模型将目标框loss引入CIOU[12]概念,其中l ossCIOU公式如式(4)所示:

其中,ρ2(b,bgt)代表预测框及真实框的中心点的欧式距离,c表示能够同时包含预测框及真实框的最小闭合区域的对角线,α表示权衡系数,ν是衡量长宽比一致性的参数,α及ν计算公式如式(5~6)所示:

通过上述损失函数分析,将数据样本送入模型中训练得到三种模型的loss曲线如图5所示,其中(a)为YOLOv4原模型的loss曲线,模型总体趋于收敛,但收敛速度较慢;(b)聚类后的YOLOv4模型loss曲线,在第5个eopch时趋于收敛,总体收敛速度最快;(c)为改进后YOLOv4模型的loss曲线,模型在第10个eopch时loss值趋于稳定,总体收敛速度较快。

图5 三种模型loss曲线

4.2 模型精确度评价与分析

通过多次调参及模型优化训练后,得到三种模型的P-R曲线如图6所示。图6(a)为改进后YOLOv4模型人体行为分类的P-R曲线,可以看出随着recall值的增长,模型的Precision稳定保持很高的数值,充分说明模型对人体行为特征保持很好的学习水平;图6(b)为聚类后YOLOv4模型P-R曲线,可以看出随着recall值的增长,Precision值趋势不断降低同时保持平稳;图6(c)为YOLOv4原模型对人体行为分类的P-R曲线随着recall值的增长,precision值不断降低,在三种模型中的表现最差。

图6 三种模型P-R曲线

4.3 模型检测结果分析

模型训练完成后,将测试集分别送入三个模型中进行测试,得到三种模型对人体行为的分类结果。图中分为深色(异常)及浅色(正常)两种框,模型在检测的同时将人体行为的分类结果通过标签方式出现在预测框左上角,部分检测结果如图7所示。

图7 三种模型测试结果图

图7中(a)部分为基于改进后YOLOv4模型的检测效果,表明基于YOLOv4模型使用两个尺度特征层预测对于人体及行为的特征学习效果较好,能在相同及不同拍摄场景将人体检测出来,并且准确地进行人体行为状态分类;(b)中的效果图为YOLOv4原模型的检测结果,可以看到模型对部分重叠人体状态出现漏检及误检问题;(c)中的图为聚类后基于YOLOv4模型部分检测结果,可以看出检测效果良好,但会出现部分误检问题。

5 结语

本文对广场及商场监控场景下人体异常行为定义并标定数据,将标定后的数据样本作为输入送入基于YOLOv4网络模型训练,将人体行为是否异常的分类结果作为检测模型的输出,使网络充分提取行为特征并分类,实现端到端实时检测系统。最终实验数据表明此方法能够快速高效且准确地对人体异常行为进行检测,且能达到较高的准确率,将机器视觉应用到智能安防系统具有重要意义。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!