基于深度学习的社区安防异常行为检测研究

2023-06-21 01:59余胤翔黄胤政储茂祥
智能计算机与应用 2023年6期
关键词:精度动作社区

余胤翔, 黄胤政, 李 宁, 徐 威, 储茂祥

(1 辽宁科技大学电子与信息工程学院, 辽宁鞍山 114051; 2 西南科技大学经济管理学院, 四川绵阳 621010)

0 引 言

智慧社区是新形势下社会管理创新的一种新模式,随着物联网、云计算、人工智能等新一代信息技术的快速发展,居民的生活环境变得越来越安全和便利[1]。 社会对公共安全重视程度的逐渐加深,使基于视频监控的智能感知技术成为安全监控发展的重要方向[2]。 由于传统视频监控系统仅具备拍摄和存储功能,一旦发现盗窃、抢劫、打架等暴力事件,公安部门在后期收集证据和案件审查过程中会消耗大量的人力、物力和时间。 随着国内监控范围基本实现全覆盖,其海量的视频数据所带来的工作量及人工甄别的方式已不能适应居民对社区安全的需求。 利用人工智能的高计算能力和高效能特点,通过对视频监控数据进行实时处理分析,及时发现异常行为和意外事件,做到提前预警,从而减少意外导致的经济损失和居民人身危害。

针对异常行为基于时空信息进行定义可将其分为3 类:

(1)在某一场景中不寻常位置发送的动作;

(2)在某一场景中不寻常时刻发生的动作;

(3)在某一场景中正常位置、正常时刻发生的不寻常动作[3]。

由于异常行为的种类很多,在社区中行为自由度较高的地方,不合规的动作很难穷举。 因此,异常行为检测存在以下技术难点:

(1)相比于正常行为,社区内一般异常行为发生的几率很低,因此很难获取到足够的数据,由于正负样本不均衡,计算机很难学习到足够多的异常行为特征[4]。

(2)通过社区监控获取到的画面质量参差不齐,外界阳光和室内灯光的变化导致视频画面亮度值不同;监控摄像头拍摄的角度和远近不同。

(3)视频画面中人员运动速度较快,视频画面会产生一定的模糊,且人员通过周围环境或者衣物进行遮挡,也会影响到动作判定的精确度。

(4)视频流处理数据非常耗时,如果将视频中每个帧数的数据都提取出来处理,任务量非常庞大,使整个系统运行的实时性效果变差。 因此需要对视频数据抽取部分关键帧,从而减少无效数据量,提升运行速率。

早期对人体异常行为的检测研究多利用手工特征描述符来表示行人的外观和运动特征[5],其中包括轨迹[6]、梯度方向直方图(HOG)[7]和光流直方图(HOF)[8]等等。 但是,这类视觉特征提取方法在捕获行为特征时性能较低。 因此,本文结合目前主流的目标检测算法,提出一种基于Faster-RCNN +SlowFast 的异常行为识别方法,提升识别的精度,对社区公共场所内人员的异常行为进行监测预警。

1 异常行为检测原理和实现方法

1.1 SlowFast 网络原理

SlowFast 网络[9]分为两个分支,慢速通道(Slow pathway)和快速通道(Fast pathway)。 Slow pathway分支运行低帧率,在低时序分辨率下,提取空间中的有效信息。 Fast pathway 负责运行高帧率,在高时序分辨率下,精准提取有效的时间运动信息,同时减少通道数量,使其变得轻量化,更能够适应一些边缘AI 的应用场景。 尽管Fast pathway 能在高速的环境下做出反应,刺激反应快,但是对空间信息不敏感,而Slow pathway 则能够提供空间中的详细信息,但是刺激反应速度较慢,因此需要对两条通路进行横向连接进行互补融合。 通过改变两条通道的时间维度,使得网络在快慢通道的每个阶段进行匹配。 最后,分别获取Fast pathway 和Slow pathway 两条通道的特征向量。 将两个的特征向量串联起来作为全连通分类器层的输入[10]。 SlowFast 网络结构如图1 所示。

图1 SlowFast 网络结构Fig. 1 SlowFast network structure

1.2 SlowFast 模型应用

首先需要建立时空动作识别模型,视频通过密集抽帧获取时空信息。 由于相邻帧之间信息冗余较大,所以只获取关键帧,之后对其进行数据处理,使关键帧匹配其上下文的数据,最后加载检测该模型。

整个运行过程中,系统在关键帧中利用检测模型检测图像中的人,获得人的位置、置信度等信息,将提前加载好的模型输入,构建的时空动作识别模型,之后进行时空动作识别模型推理,得到动作识别结果。 最后将整个过程进行可视化操作输出视频,用来观测动作识别结果。 模型应用流程如图2 所示。

图2 模型应用流程Fig. 2 Specific flow chart of model application

1.3 SlowFast+FasterRCNN 实现

如图3 所示,SlowFast+FasterRCNN 的实现分为两个阶段检测。 在准备完数据集后,先利用SlowFast模型提取时序特征,作为整个网络的主干网络Backbone;其次通过FasterRCNN 中的Roi_head 获得目标检测中框的特征,并将该操作扩展到3 维,最后将检测结果输入分类器,判别人体动作并输出当前人的动作。 总结来讲,系统先定位到视频帧的每个人动作,提取其位置等特征,得到每个人的特征检测框,再放到分类模型中,对每个人的动作进行分类。

图3 SlowFast_FasterRCNN 实现过程Fig. 3 SlowFast_ FasterRCNN implementation

2 数据集

2.1 数据集建立

本文实验针对社区环境进行人员识别,视频数据主要来源于监控画面,数据集主要来源于谷歌开源的AVA 数据集。 考虑到部分异常行为的发生频率较高,数据集相对较少,因此自建数据集进行补充。 如:打架的数据集中又加入了fight-detectionsurv-dataset、A-Dataset-for-Automatic-Violence-Detection-in-Videos 和UBI_FIGHTS 等开源数据集。最后,基于AVA 公开数据集[11]格式,建立异常行为检测数据库。

2.2 数据处理

建立数据集后,需要对数据集进行帧标注,在电脑上导入已经标注好的数据集进行本地模型训练。

首先从所有视频数据中提取视频帧,以每帧3s的帧率(fast 分支帧率)进行视频抽帧采样,之后进行帧标注。 帧数标注使用的标签数据(CSV)格式为:视频ID、视频帧时间戳、识别的框图位置(x1,y1,x2,y2)、动作ID、人的ID。

通过PaddleDetection 提供的FasterRCNN 模型得到检测结果后, 将检测结果转成SlowFast _FasterRCNN 模型需要的输入格式,制作标签数据list 文件,ID 从1 开始,见表1。

表1 标签IDTab. 1 Label ID

在slow 分支帧的数据集的基础上重复上述操作,以较大帧率(实验使用为40 fps)抽取视频帧,制作fast 分支数据集。

3 实验与结果分析

3.1 实验环境和参数设定

实验在Windows10 Version 21H2 操作系统下进行,采用飞桨AI Studio 社区提供的PaddleDetection 2.0 框架,软件环境为CUDA 11.2,Python3.7。 训练时的初始学习率为0.003。

3.2 模型优化

3.2.1 调节学习率

在训练模型的过程中,需要对模型进行优化。如果一开始模型精度设置过大,可能导致训练时跳过最优解,随着训练次数越多,模型精度就会越低。因此,采用学习率预热(Warmup)和分段常数衰减(Piecewise_constant)的方法,分别设置两个常数值:开始的学习率warmup_start_lr和基础学习率step_base_lr。 初始训练时,选择较小的学习率训练,再将学习率调节为设置好的学习率继续训练,从而提高模型精度。 实验最后确定的warmup_start_lr参数为0.002、step_base_lr为0.04。

3.2.2alpha超参数优化

alpha参数是slow和fast两个分支帧的比例。如公式(1):

通过调小backbone 和数据处理的PackOutput中alpha参数,再结合学习率参数的变化趋势进行修改,从而进一步提升模型的识别精度。

3.2.3 数据集优化

数据集的质量会对系统异常行为检测精度产生影响,为此进行了对比实验。 训练选择两组数据集,第一组只用AVA 数据集,第二组使用自建数据集。观察模型部署后,系统对异常行为的平均正确率(AP)。

考虑到不同异常行为的数据量不同,训练出的识别精度也不同,因此需要挑选出识别精度相对较高的异常行为,选择以官方的AVA 数据进行集中测试。 实验结果见表2。

表2 AVA 数据测试结果Tab. 2 AVA data test results

从表2 中数据可知,由于踢腿动作的数据集较少,AP值极低,不具备参考价值。 因此,选用打架、吸烟两个识别精度较高的动作作为实验对照选取的动作进行实验,结果见表3、表4。

表3 吸烟数据集对比Tab. 3 Comparison of smoking data sets

表4 打架数据集对比Tab. 4 Comparison of fighting datasets

根据数据得出,在相同动作下,自建数据质量低于AVA 数据集,即便在数据量大于AVA 的情况下,自建数据集的AP值依旧低于AVA 的AP值。 由此可见,数据质量对模型精度存在一定的影响,因此可以通过进一步优化数据集样本,提高模型的识别精度。

3.3 实验效果

使用Faster-RCNN+SlowFast 网络对异常行为识别数据集的测试集中视频进行测试,通过可视化操作输出视频,用来观测动作识别结果。 这里导入了两段打架视频进行测试。

识别效果如图4 所示,两组图片都进行了输入图像和输出图像的对照,系统对打架双方的打架动作进行目标检测后在视频图像上进行了框选,并在方框上自动显示检测动作的名称fight。 由实验结果可以看出,该检测方法可让用户直接根据视频的框选标记,判断社区中是否发生异常行为及其种类,能够有效实现异常行为的检测,具有较好的实用性。

图4 实验效果Fig. 4 Experimental effect

4 结束语

本文提出了一种基于Faster-RCNN +SlowFast网络的社区安防异常行为识别方法,系统通过训练和部署检测模型和时空动作识别模型,可以实时检测视频监控中出现的异常行为。 本文对该网络的框架和原理进行了简单阐述,提出了数据集的优化和参数的调节方法,并通过实验进行验证,给出了相关实验数据进行分析,一定程度上提高了模型的识别精度。 人体异常行为识别的研究,对于未来社区安防事业的发展具有重要意义。

猜你喜欢
精度动作社区
社区大作战
3D打印社区
在社区推行“互助式”治理
基于DSPIC33F微处理器的采集精度的提高
动作描写要具体
GPS/GLONASS/BDS组合PPP精度分析
非同一般的吃饭动作
改进的Goldschmidt双精度浮点除法器
巧用磨耗提高机械加工精度
如何积极应对社区老年抑郁症