陈钊,陈亮,夏天,孔晨华,郭秋池
(1.国网甘肃省电力公司,甘肃兰州 730010;2.国网甘肃省电力公司兰州供电公司,甘肃兰州 730050)
近年来,生活和工业用电需求日益增加对配电系统的可靠性及安全性均提出了更大的挑战[1-2]。在对相关系统进行维护时,如何提高电力施工安全巡检过程中对人员违规行为的识别,进而实现精准地监控是当前智能配电系统建设的研究热点之一[3-5]。
而对电力施工人员违规行为的识别,则是对特定场景下人体行为动作识别技术的研究。该研究是计算机视觉领域的一个重要方向,其通过摄像头等传感器实时采集人员的肢体动作数据并进行动作识别。同时,人体行为动作识别还涉及图像处理、模式识别、机器学习(Machine Learning,ML)、深度学习(Deep Learning,DL)等多种技术[6-10]。通常而言,传统的人体行为识别研究技术使用固定视角的动作采集数据作为研究目标。尽管此类动作识别算法研究取得了一定的进展,但仍存在诸多问题,例如光照变化、复杂背景等因素严重影响视频中人体行为的识别效果[11-12]。
针对此,文中基于计算机视觉技术中的支持向量机(Support Vector Machine,SVM)算法与智能识别技术中的集成学习算法[13-16],开展了面向电力施工安全监测技术的研究。
计算机视觉是指通过摄像机、计算机等设备,对生物视觉进行模拟。其目的在于使计算机“理解”图片或视频中的信息,并根据这类信息做出相应的反应。而人体行为识别则是计算机视觉的一个研究方向。该文所述的电力施工安全监测技术通过摄像头实时采集施工人员的行为动作,且利用动作识别算法来判断相关人员是否有违规动作,进而对其操作行为加以约束,以保障人员的生命安全。
基于计算机视觉与智能识别的电力施工安全监测技术框架如图1 所示,该框架可分为三个部分:行为分割、特征融合以及行为识别。值得注意的是,行为识别比动作识别更为复杂,其包含了多种动作,且不同的行为可能还含有若干相同的动作。因此对于复杂行为的识别,首先需进行行为分解,将其拆分为若干个动作,从而降低识别的困难度和计算量。
图1 监测技术框架设计
当前大多数人体行为动作识别算法采用具有单一动作的视频、图像数据进行分析,即经过控制的数据。但在实际生活场景中,人体会连续执行多种行为,由此便增大了识别的难度。因此在数据处理之前,需要对视频数据进行分割预处理,将其分解成多个“动作”并同时进行识别,从而降低行为识别的困难度与计算耗时。
为降低计算量,文中以特定关键帧选择的方式替代逐帧扫描进行人体行为分割。在一段视频数据中,通常使用预设参数λ来控制关键帧的数量。而行为分割则可分为两步:1)计算视频数据的奇异值;2)计算该奇异值序列所对应的靶值Mi。
通过比较靶值Mi和参数λ的大小来判定当前帧是否为关键帧:当Mi<λ时,该帧图像则被确定为关键帧。随后该帧图像会被清除,而原视频数据则重新计算靶值并挑选新的关键帧。
当前帧图像di的奇异值计算与该帧图像之前的数据有关,即每个元素与其之前序列均值的欧氏距离。若第i帧图像之前所有帧图像的集合为Di-1={d1,…,di-1},则奇异值si及均值μi-1的表达式为:
均值的更新采用迭代的方式进行,如下所示:
由此得到的奇异值集合为S={s1,…,sn},该集合中,若部分元素可被替换,则存在对应元素的靶值Mi。靶值被用来表示奇异值集合被替换的可能性,Mi与参数ε和p有关,其计算方式为:
式中,ε取值范围为[0,1],文中将其设定为0.6;pj表示在当前数据集合中,可找到与实际值相同值的概率。靶值采用迭代的方式更新,则有:
该文的参数λ被设定为2,满足式(6)的第i帧图像被定义为关键帧,而通过关键帧的界定,即可将一段行为图像数据分解为多段的动作数据:
在将人体行为分解成若干动作片段后,便需进行动作特征的提取及融合。人体动作特征提取方法应综合自身特征差异、数据采集器与人体的相位位置等因素。考虑到上述问题,此次基于图像剪影和光流信息进行多维特征融合。
将图像特征分为两类:剪影直方图和光流直方图。其中,剪影直方图可体现人物的形态信息,而光流直方图能表征肢体运动信息。针对静态背景或背景灰度值变化较小的图像,采用直接清除背景的方式来提取剪影特征,光流特征则通过对当前帧图像的点求梯度的方式得到。
在进行特征融合时,首先,将光流信息分解为水平与垂直分量,并分别进行3×3 均值滤波;然后,将剪影图像均分为2×2 个子图像,再将其按角度均分成12 个三角图形;最终,每个三角图像特征均可代表一个数据点,如图2 所示。由此,光流水平分量、光流垂直分量以及剪影分割后的三角图像特征可汇总为具有192 个维度的特征。
图2 剪影图像分割示意图
由于动作种类较多,且复杂程度不同,采用单个识别模型易产生过拟合的现象,同时该模型从样本数据中进行学习的能力也较弱。因此,可使用多个学习器相结合的方式,即集成学习算法来构建多动作识别分类模型。文中采用支持向量机算法对上文192 维特征向量进行降维与融合,从而完成动作识别。传统支持向量机因借助二次规划求解支持向量,在进行大规模训练样本计算时会消耗大量计算资源,且其通常用来解决二分类问题。而该文研究的动作识别问题为多分类问题,故需对支持向量机算法加以改进。
支持向量机包含了多层隐藏层,每层隐藏层均具有多个神经元。参数惩罚因子决定了该算法收敛的速度,核函数的类型则影响着支持向量机分类器的分类能力。文中选用径向基核函数(Radial Basis Function,RBF)作为特征向量降维、融合的函数,其具体表达式如下:
式中,σ为调节因子。
基于支持向量机的工作原理,以文中的192 维特征向量为训练样本数据{xi,yi},i=1,…,192,其中,xi代表样本数据中第i个输入,取值范围为{-1,1}
为增加分类的类别数量,设置多个分类器进行多分类识别,则基于集成学习算法的分类器模型如图3 所示。支持向量机层数和神经元个数对算法分类能力的影响,如图4 所示。
图3 分类器模型
图4 不同因素对分类准确度的影响
从图4 中可以看出,在神经元数量较少的情况下,支持向量机算法隐藏层层数的增加会显著提高分类准确率的增长速度;而当神经元个数增加到一定程度时,分类准确度均逐渐趋于稳定。综合支持向量机运行时间及分类准确率,该文算法的隐藏层数选择了4 层,神经元数量则设定为30 个。文中所提算法的框架如图5 所示。
图5 该文算法框架
为验证文中所述方案的可行性,将Weizmann 数据集作为模型训练的样本数据源,并选用电力检修中常见的低头、弯腰、摆手、跨步及伸手这5 个行为作为训练与测试动作。同时,实验平台的配置为64 位16 G 内存、Intel Core i7 的CPU 以及1 TB 机械硬盘,软件环境则选择了Matlab 2016 仿真软件平台,以满足动作识别模型训练的需求。
实验分为两个部分:1)所提算法对上述五个基本动作的识别准确率分析;2)以未采用集成学习算法的支持向量机动作识别算法作为对照组进行对比实验。此外,实验组和对照组均采用相同的训练数据集合与软硬件配置。该文算法对五种基本动作的识别准确率情况,如表1 所示。
表1 该文算法对5种基本动作的识别结果
由表可知,低头识别准确率最低,为71.20%;弯腰识别准确率最高,可达74.50%;且5 种动作的平均识别准确率为73.36%。出现差异的原因在于,不同动作涉及到的人体部位数量与位置变化幅度不一致,低头仅在头部发生较小的位置变动。而在弯腰动作中,头部、胸部、手臂和腰部均会出现大幅度的位置变动,因此识别准确率更高。
此次,将均方根误差(RMSE)作为对照实验的评判标准。从图6 可以看出,实验组与对照组在迭代50 次后仍有下降的趋势,但变化较为缓慢。由此表明模型已趋于收敛,此时RMSE 值约为0.004 5。值得注意的是,两种算法的均方根误差曲线走向一致,且实验组的曲线低于对照组。主要原因是该文算法通过采用综合多个分类器的集成学习算法来增加分类的精准度,进而提升了动作的识别效率。
图6 不同迭代次数对应的均方根误差
文中提出的基于计算机视觉与智能识别的电力施工安全监测技术,能够有效识别施工人员的动作,并适用于来自不同角度采集的动作视频数据。通过验证及对照实验证明了,所述方案具有一定的可行性和有效性,因此可将该方案在实际工程中加以应用。