APP下载

目标检测技术在安防监控视频内容分析中的应用

2023-11-21张路遥

智能城市 2023年10期
关键词:池化置信度边界

张路遥 邓 鹏

(广州宝露软件开发有限公司,广东 广州 510660)

因安全、合规等方面的需求,安防监控摄像头的安装、使用非常广泛。部分型号的监控摄像头本身已具备视频内容分析的功能,如目标检测、目标移动检测、人群聚集检测等。同时,一些独立的目标检测技术和算法[1-2]发展速度迅猛,检测效果越来越好,功能越来越强大,可将相关技术和算法应用到监控视频的内容分析中,从而更充分地发挥安防监控的价值。例如,检索在指定的时间段和区域内,有人、物(可具体到卡车、轿车、猫、狗、交通灯、手提袋等某一类或者某几类物体)出现、移动的监控画面。对于实时目标检测技术而言,如果发现烟雾、火情、人员入侵等情况,安防监控系统可及时产生报警信息。

1 目标检测算法YOLO在安防监控视频的内容分析中的使用

YOLO是一种使用卷积神经网络(CNN)进行目标检测的算法,计算速度快,可用于实时目标检测等场景中,可检测物体目标的类别(例如人、卡车、轿车、猫、狗、交通灯等)和位置(即目标在图像中的具体位置)。

YOLO目标检测显示了被识别目标的类别及其在图片中的具体位置,此处的检测结果是8个人(person)、5张椅子(chair)、4盆绿植(potted plant)和3台电视机(tv,实际是电脑显示屏)。

YOLO目标检测效果如图1所示。

图1 YOLO目标检测

YOLO算法使用卷积神经网络,已经可以实现将人、物等目标细分成超过9 000个类别[3]。YOLO v5算法的实现代码在github上的评价非常高,其评分还在持续上升中。YOLO算法将待检测的图片划分成S×S的网格,如果物体目标O的中心点落在网格G中,则由该网格(即G)负责检测该物体目标(即O)。对于每个网格,YOLO算法预测B个边界框及对应的置信度p,并预测C个类别置信度。每个边界框包含5个要素(x,y,w,h,p),其中(x,y)是该边界框的中心点在网格中的位置(即相对于网格左上角的横纵坐标),(w,h)分别是该边界框的宽度和高度,置信度p是指物体目标被包含在该边界框中的概率。类别置信度指物体目标属于某一类别的概率,类别指物体目标所属的类别,例如人、卡车、轿车、猫、狗、交通灯、自行车等。

如果边界框对应的置信度p低于设定的阈值(例如阈值设定为0.5),则判定该边界框不存在物体目标,该边界框被排除。针对预测同一个物体目标的多个边界框,使用非最大值抑制算法(NMS)排除多余的重叠边界框,只保留一个边界框。非最大值抑制算法使用了交并比值(IoU),交并比值是指两个边界框B1与B2的交集与并集的比值。

非最大值抑制算法中的关键步骤是:从待处理的所有边界框中选择置信度p最高的边界框B1;针对与B1相交的所有其他边界框Bx,分别计算交并比值IoU,如果IoU高于设定的阈值(例如设定阈值为0.5),则排除边界框Bx;除边界框B1之外,从剩下全部待处理的边界框中选择置信度p最高的边界框By,若By存在,则返回重新进行迭代循环;若By不存在,则结束迭代循环,处理完毕。

边界框Bz确定后,即表示YOLO算法预测了物体目标在图像上的具体位置。边界框Bz所在的网格,YOLO算法预测了C个类别置信度,选择其中类别置信度最高值Cz,Cz所对应的类别即为YOLO算法预测的物体目标所属的类别(例如人、卡车、小轿车、自行车、交通灯、猫、狗等)。

YOLO等目标检测算法建立在卷积神经网络理论之上,卷积神经网络是深度学习的代表算法之一,其在图像识别、图像处理、计算机视觉等领域应用广泛且效果显著。卷积神经网络模拟生物的视知觉机制,即单个视觉皮层细胞仅接受感受野内的信号,感受野对应着卷积神经网络中的卷积核,多个视觉皮层细胞通过将感受野有序叠加,从而实现全部信号的完整接收并建立视觉空间。卷积神经网络中的神经元结构由线性函数(卷积层)和非线性的激活函数构成,激活函数的作用是改变数据的线性关系,将输入数据映射至特定的范围之内。卷积神经网络通过数据的归一化/标准化处理、卷积层(线性关系的计算)、随机失活处理、激活函数(非线性关系的计算)、池化层、全连接层等方法,达到提取图像关键特征、减少图像噪声数据干扰的目的。卷积神经网络中的线性函数(卷积层)可表示为:

式中:xi——输入数据x的组成成分;wi——xi对应的权重;b——偏置参数。

对于一张宽300 pix、高200 pix的彩色图片而言,如果每个像素用RGB三元表示,输入数据将包含300×200×3=180 000个组成成分,即上述公式的xi为x1,x2,…,x180000。假设输入数据x是形状为(5,5)的矩阵,卷积核w是形状为(3,3)的矩阵,卷积核的步长为(1,1),使用非填充的方式进行卷积计算后的输出数据f(x)是形状为(3,3)的矩阵。卷积神经网络中的卷积核可以被设计成多个,每个卷积核被用来提取输入数据某一方面的特征。

卷积神经网络算法中存在着不同的激活函数,包括softmax、tanh、relu、sigmoid等。如果没有激活函数引入对非线性关系的拟合,卷积神经网络实质上只能拟合多元线性关系,无法学习和拟合更复杂的关系。softmax激活函数为:

该函数将输入数据映射至(0,1)区间。如果进行图片分类,假设需要将图片分成n类,在模型训练阶段,图片数据经过多个卷积层、池化层、全连接层等的计算,其中最后一层假设使用softmax激活函数,计算得到的最后输出结果是n维向量,其中每一维的数值均落在(0,1)区间,图片的分类结果即是最大值所在维对应的分类,如果计算得到的图片分类结果不正确,则反向传播,不断修正、更新模型参数。tanh激活函数为:

该函数将输入数据映射至(-1,1)区间。relu激活函数为:

该函数将输入数据映射至[0,x]区间。sigmoid激活函数为:

该函数同样是将输入数据映射至(0,1)区间。

池化层也被称为下采样downsampling或子采样subsampling,其目的和作用是引入对非线性关系的拟合,提取关键特征、减少噪声数据的干扰,特征降维,防止过拟合,减少数据量、节省存储空间、提高计算效率等。池化函数包含多种,包括最大池化、平均池化、全局最大池化、全局平均池化等。假设输入数据x是形状为(3,3)的矩阵,使用形状为(2,2)、步长为1的最大池化函数,经过计算后的输出数据f(x)是形状为(2,2)的矩阵。平均池化函数与最大池化函数类似,最大池化是取滑动窗口(矩阵)的最大值,平均池化是取滑动窗口(矩阵)的平均值。

全连接层的作用是将模型通过卷积层、激活函数、池化层等方法提取的图像关键特征,映射到标记空间,例如在图片分类应用中,图片所属的各种分类即是标记空间。全连接层的计算公式为:

全连接层的计算与卷积层的计算类似,差别在于对偏置参数的处理。例如,假设输入数据x是形状为(1,5)的矩阵,全连接层fc是3个神经元,因为fc中的每个神经元与x中的5个数都会进行相乘求积,即fc中每个神经元对应有5个权重参数,故fc中3个神经元对应的权重参数w是形状为(5,3)的矩阵。fc中每个神经元对应有1个偏置参数,故fc中3个神经元对应的偏置参数b是形状为(1,3)的矩阵,最终计算得到的输出数据f(x)是形状为(1,3)的矩阵。

Dropout(随机失活)函数是随机地将部分神经元失活,使其不参与计算,其作用是防止过拟合(overfitting),避免出现模型在训练数据集上表现良好,但在测试数据集上表现不好的情况。造成过拟合的原因包括训练数据不足或将图像的非必要特征(噪声特征)错误地认定为图像的必要特征,造成模型的鲁棒性(robustness)、泛化能力、预测的准确率降低。例如,对于识别具体人的场景,如识别张三、李四、王五等具体的人,人脸是必要的关键特征,但如果错误地将人穿的衣服也视为必要的特征,会降低模型的鲁棒性、泛化能力、预测的准确率。通过Dropout函数随机地将一定比例的神经元失活,即排除部分数据,使其不参与计算,例如如果排除人穿的衣服等特征,则可以提高模型识别具体人的鲁棒性和准确率。假设输入数据x是形状为(5,5)的矩阵,随机失活比例d设为0.2,约5×5×0.2=5个数失活,失活的数值被置为0。未失活的神经元的权重增加为原来的1/(1-d)=1.25倍,即未失活的数据的值为原来的1.25倍。

YOLO等目标检测算法通过数据的归一化/标准化处理、多个卷积层、激活函数、池化层、全连接层、Dropout函数等的组合设计来拟合训练数据的关系,即通过拟合训练数据来计算模型的参数,并用测试数据检验、修正模型的参数,最后用训练出来的模型对新的待检测图像进行目标检测。模型的训练过程一般是使用梯度下降法,利用梯度的反向传播,不断修正、更新模型参数直至收敛。

2 在结构化数据库中保存目标检测的结果

如果监控摄像头本身具备目标检测的功能,则将其目标检测的结果保存在结构化数据库中。同时叠加使用YOLO等目标检测算法,提取监控视频中的每一帧图片,将检测结果也保存在结构化数据库中。安防监控一般是不间断工作,将监控视频每一帧图片的分析结果都进行保存,累积的结果数据比较大,可根据不同的需求场景采取不同的数据保存策略,例如只在监控画面的物体目标类别或数量发生变化时保存。结构化数据库可选用ElasticSearch、MongoDB或MySQL等。ElasticSearch本身是全文搜索或搜索引擎工具,MongoDB本身是一种NoSQL数据库,适合保存大量数据以及进行结构化检索。保留在数据库中的经过结构化处理的目标检测结果,可方便事中、事后进行查询,以充分发挥安防监控的价值。

3 结语

本文较详细地阐释了目标检测算法YOLO和卷积神经网络的原理。对于实时目标检测技术而言,可扩展其报警功能,有利于对紧急情况进行及时处置、干预。目标检测的结果保存在结构化数据库中,以方便事中、事后进行查询使用。进一步的研究方向是研究YOLO等算法的改进版,综合分析比较各种目标检测算法的优劣势,结合多种算法,形成互补优势,提高算法的准确率、召回率(即全面性,能检测到所有感兴趣的物体目标,做到不遗漏)以及提高计算性能,降低延迟(即能快速、低延时地检测目标,实现近实时的目标检测)。

猜你喜欢

池化置信度边界
基于Sobel算子的池化算法设计
卷积神经网络中的自适应加权池化
硼铝复合材料硼含量置信度临界安全分析研究
设施蔬菜病害识别中的CNN池化选择
拓展阅读的边界
基于卷积神经网络和池化算法的表情识别研究
论中立的帮助行为之可罚边界
正负关联规则两级置信度阈值设置方法
置信度条件下轴承寿命的可靠度分析
“伪翻译”:“翻译”之边界行走者