APP下载

一种改进的适用于监控视频的轻量级入侵检测算法及其应用

2021-12-30陈天宇万永菁

关键词:高斯残差前景

陈 涛, 陈天宇, 万永菁, 王 嵘, 孙 静

(1. 华东理工大学信息科学与工程学院,上海 200237;2. 上海卓希智能科技有限公司研发部,上海 201611)

视频监控系统一直以来都是公共安防的重要组成部分,随着计算机视觉目标检测算法的发展,自动化、智能化的视频监控系统应运而生[1]。

对于视频的入侵检测,通常做法是将视频看成连续的帧图像,通过算法对每一帧进行目标检测。回顾目标检测算法的发展历程,最初主要为人工特征+分类器的基于机器学习的方法,如梯度方向直方图(HOG)+支持向量机(SVM)、哈尔特征(Haar)+自适应增强学习算法(AdaBoost)等[2-3]。这类目标检测算法虽然应用广泛,但存在着环境适应性低、计算量大、受训练样本影响大、精度相对较低的检测瓶颈。

2013 年,区域卷积神经网络特征算法(RCNN)[4]首次将深度学习卷积神经网络的概念引入目标检测领域,检测性能比基于机器学习的算法大幅提高,奠定了目标检测算法发展的基础。2016 年,YOLOv1 算法[5]通过单阶段检测的方法提升了检测速度,随后相继提出的单次多框检测算法(SSD)[6]、视网膜网络算法(RetinaNet)[7]、YOLOv2[8]、YOLOv3 等[9]主要在精度上逐步进行了改进。目前,这些深度学习算法使用GPU能实现比较好的检测效果,但因为算法过于复杂,在算力、存储空间有限的场景下并不适用。

缩减主干分类网络可以提升算法检测速度,但同时也意味着精度的降低,如YOLOv3-tiny[9],这也导致了类似于压缩网络(SqueezeNet)[10]的移动端轻量级分类网络无法直接应用于传统的目标检测算法。

针对上述现状,考虑对算法速度、模型体积要求高的场景,本文提出了一种改进的轻量级入侵检测算法。首先以自适应更新率的混合高斯前景提取算法定位运动目标,针对镜头突变的情况,基于前景图前后帧的信息熵差自适应地调整背景更新率。提取完成后再通过改进的残差压缩网络(R-SqueezeNet)对定位目标进行分类,该分类网络借鉴了SqueezeNet的核心构件Fire Module 并通过引入残差结构提升性能。实验结果表明,本文算法较传统目标检测算法大幅优化了检测速度和模型体积。

1 改进的轻量级入侵检测算法

1.1 整体算法架构

入侵检测算法流程如图1 所示。视频由非制冷型热像仪采集,非制冷型热像仪的优点在于能够感知物体的温度,在恶劣环境下也能探测出运动目标。

图1 整体算法流程Fig. 1 Overall algorithm flow

算法主要由三部分组成:视频帧预处理、基于自适应更新率的混合高斯前景提取及基于改进的RSqueezeNet 卷积神经网络的特征提取和分类识别。具体步骤如下:

(1)实时读取监控视频,通过预处理获得像素值范围为[0,255]的灰度视频帧。预处理成灰度图的目的是为了降低整体网络的计算复杂度。

(2)基于自适应更新率的混合高斯前景提取算法提取出运动前景并等比例调整成统一大小(不足部分以黑色背景填充)。等比例调整的目的是为了保留运动目标的形状轮廓信息,有利于后续的特征提取及分类识别。

(3)采用改进的R-SqueezeNet 分类网络提取运动前景的特征并识别,当识别为入侵目标时,实时标注并报警,其他目标不处理。

1.2 基于自适应更新率的混合高斯前景提取算法

混合高斯前景提取是一种基于混合高斯背景建模的算法,最早由Stauffer 提出[11]。该算法对每个像素点的像素值复用多个单高斯模型,当像素值符合其中某个单高斯分布时,该像素点被判断为背景点,否则被判断为前景点。Zivkovic 等[12-13]在此基础上对每个像素点的高斯分布数进行了自适应改进,减少了算法的计算量。

对于混合高斯前景提取算法,背景更新率 α 是一个重要指标, α ∈(0,1] 。通常情况下, α 越大,背景更新速度越快,但检测效果较差,适用于急剧变化的场景。当 α =1 时,表现为逐帧更新背景。 α 越小,背景更新速度越慢,但检测效果较好,适用于稳定的场景[14-15]。当 α 趋近于0 时,表现为不更新背景。在文献[11]中经过实验对比,综合考虑背景的更新速度和检测性能,更新率默认值 α0固定设为0.001~0.005。

实验发现,当镜头近距离处出现突变情况,即有较大的运动目标突然侵入时,会影响摄像头白平衡、色温的处理机制[16],从而导致其他像素值发生变化,大量背景点被误判为前景点,且由于背景更新率较低,短时间内无法恢复。对于安防领域的入侵检测,镜头突变极易产生误报,因此实际检测时,固定的更新率并不适用。镜头突变前后的提取效果如图2 所示。

图2 镜头突变前后的提取效果对比Fig. 2 Comparison of extraction effect before and after lens mutation

针对此类情况,对更新率 α 进行自适应改进,如式(1)所示:

式中, ΔH为混合高斯前景图前后两帧的信息熵差。当镜头发生突变时,混合高斯前景图会急剧变化,可采用图像的信息熵差来判定是否发生突变[17-18]。当信息熵差的绝对值超过阈值tH时,表明发生镜头突变,置更新率 α 为1,逐帧进行背景更新,从而保证被误判的背景点在最短时间内恢复。混合高斯前景图的信息熵如式(2)所示。

式中,P(Xi) 为图像中像素值等于i的像素个数占总像素个数的比例。

对于tH的取值,综合考虑算法的精度和提取前景点的数量,基于多个场景包括白天室内、白天室外、夜晚室内、夜晚室外、雨天室外等多个包含镜头突变的视频进行实验,不同tH下算法的表现如图3 所示。

图3 不同 下算法的表现Fig. 3 Algorithm performance under different tH

S的计算公式如(3)所示。

式中:mα0、nα0分别为更新率固定为默认值 α0时,检测出前景对象的个数和提取前景点的数量;m、n分别为自适应更新率对应tH下,检测出前景对象的个数和提取前景点的数量。m−mα0<0 表明当前对应tH下发生了漏检,m−mα0=0 表明当前对应tH下未发生漏检。

由图3 可知,由于每种场景的运动前景数不同,S的极值不同。但对于图3 中的几种场景,取0.06~0.08 时算法的S达到相对较大的值。

图4 示出了tH=0.07 时,发生镜头突变后的相同时间段内,基于固定更新率和自适应更新率算法的提取效果对比,可以看出基于自适应更新率算法提取 的无效前景对象大幅减少。

图4 提取效果对比Fig. 4 Comparison of extraction effect

1.3 改进的轻量级卷积神经网络R-SqueezeNet

以3 个Fire module 为例,改进的R-SqueezeNet 分类网络结构如图5 所示。该网络借鉴了SqueezeNet[10]的核心构件Fire module,并通过引入残差结构提升网络性能。

图5 R-SqueezeNet 结构Fig. 5 Structure of R-SqueezeNet

Fire module 是模块化的卷积(Conv)层,由Squeeze层和Expand 层组成,其计算流程如图6 所示。其中H、W、M分别表示特征图的长、宽、通道数;k、c分别表示卷积核的大小、个数;S1为Squeeze 层中1×1 卷积核的数量;E1、E3分别为Expand 层中1×1、3×3 卷积核的数量。Fire module 的基本网络单元在保证特征信息不丢失的前提下,减少3×3 卷积核的通道数,降低网络模型的参数量[10]。

图6 Fire module 计算流程Fig. 6 Calculation process of fire module

残差网络[19](ResNet)中残差结构的提出有效解决了深度神经网络的退化问题[20-21],残差结构如图7所示。R-SqueezeNet 通过引入残差结构,在不增加参数的前提下,提升了网络模型的准确率。

图7 残差结构Fig. 7 Residual structure

2 实验与结果分析

实验的软件环境为OpenCV 及Keras 深度学习框架,硬件环境为Intel i5-8250U 1.6 GHz 低压处理器。以行人为入侵对象进行检测实验。共获取17 493个样本进行训练,其中正样本8 693 个,负样本8 800个;共获取4 374 个样本进行测试,其中正样本2 174个,负样本2 200 个。正负样本在白天、夜晚、雨天、晴天等多个环境下采集,包含行人、机动车、非机动车、动物、植被等。

2.1 等比例调整运动前景

采用自适应更新率的混合高斯前景提取算法获得运动前景后,等比例调整运动前景的大小以保留运动前景的形状轮廓信息,有助于卷积网络的特征提取和分类识别。图8 示出了基于LeNet[22]、AlexNet[23]、ZFNet[24]及R-SqueezeNet 等比例调整及非等比例调整运动前景的分类精度(Accuracy)对比结果。其中,R-SqueezeNet 采用3 个Fire module。由图8 可知,在多个卷积网络模型下,以等比例调整的运动前景作为样本的分类精度均优于以非等比例调整的运动前景作为样本的分类精度。

图8 不同前景调整方式的分类精度对比Fig. 8 Comparison of different foreground resizing methods

2.2 R-SqueezeNet

为确定Fire module 的个数和残差结构是否有效,在不同条件下进行对比实验。表1 示出了本文采集样本、公开的Kaggle 猫狗数据集及Cifar-10 随机两类数据集下统一大小后分类网络的检测精度、单张推理时间及模型体积对比结果。

由表1 可知,残差结构在对网络模型体积、单张推理时间影响不大的前提下,一定程度地提升了分类模型的准确率。在Fire module 增加至3 个后,准确率提升不明显。以采用3 个Fire module 并引入残差结构的网络(R-SqueezeNet 3)和采用4 个Fire module并引入残差结构的网络(R-SqueezeNet 4)对比,RSqueezeNet 4 的模型体积增加约一倍,分类准确率平均仅提升约0.18%。因此综合模型体积、分类准确率及单张推理时间,建议采用3 个Fire module。

表1 分类网络模型对比Table 1 Comparison of classification network models

2.3 入侵检测算法

对于监控视频的入侵检测,采用误检率和漏检率判断算法的检测精度。考虑到视频帧具有连续性,定义当检测区域内出现非入侵对象被检测为入侵对象时,即发生误检(False detection,FD);当入侵对象从进入检测区域到离开期间被正确检测的帧数占期间总视频帧数的比例低于50%时,即发生漏检(Missed detection,MD)。

实验在相同的软硬件条件下进行,以检测入侵的行人为例。图9 示出了不同下基于不同特征提取网络的算法性能对比。表2 示出了基于自适应更新率前景提取和非自适应更新率前景提取的算法性能对比。

图9 不同 tH 下的算法性能对比Fig. 9 Performance comparison of algorithms at different tH

表2 基于自适应和非自适应前景提取的算法对比Table 2 Comparison of algorithms based on adaptive and nonadaptive foreground extraction

由图9 可知,当tH取0.06~0.08 时,对于不同特征提取网络,入侵检测算法对应的误检率和漏检率保持不变。由图3 可知,白天室外及夜晚室外场景下,取0.06 时S取得极大值,且tH<0.06 时S值急速降低,出现漏报现象,因此综合考虑入侵检测算法性能和其他可能出现的特殊情况,建议取0.07。

由表2 可知,基于自适应前景提取的算法在不影响漏检率的前提下,降低了算法的误检率。

本文算法和传统目标检测算法的性能对比如表3所示,其中FPS 表示每秒帧数,用于评估目标检测算法的检测速度。由表3 可知,在相同软硬件条件下,本文算法和传统目标检测算法相比,在检测精度相近的前提下,检测速度较传统目标检测算法平均提升约30 倍。模型体积低于1 MB,缩减至YOLOv3-tiny 的1/40。

表3 本文算法和传统目标检测算法对比Table 3 Comparison with traditional object detection algorithm

3 结 论

目标检测包括定位和分类两大任务,传统的深度学习算法用同一个主干网络进行位置回归和目标分类,算法模型较为复杂,无法应用于对检测速度、模型体积要求高的场景。针对此现状,本文提出一种改进的轻量级入侵检测算法:先通过自适应更新率的混合高斯前景提取算法完成入侵检测的定位任务,再基于R-SqueezeNet 网络对定位的运动目标进行分类判别。本文算法通过前景提取代替基于主干网络的位置回归及分类网络的优化,整体的检测速度、模型体积均优于传统目标检测算法。

猜你喜欢

高斯残差前景
基于残差-注意力和LSTM的心律失常心拍分类方法研究
融合上下文的残差门卷积实体抽取
农业好前景 品牌来引领
我国旅游房地产开发前景的探讨
基于残差学习的自适应无人机目标跟踪算法
基于深度卷积的残差三生网络研究与应用
数学王子高斯
离岸央票:需求与前景
天才数学家——高斯
量子纠缠的来历及应用前景