基于Kinect的矿井人员违规行为识别算法研究
来源:用户上传
作者:赵小虎 黄程龙
摘 要:由于煤炭生产的特殊性与危险性,煤炭生产过程中安全事故常有发生,其中人为因素占极高的比例,因此研究矿井工作人员的违规行为十分必要. 针对人体行为识别中传统的动态时间规整算法经常出现的奇异点和时间复杂度问题,提出一种分段线性逼近结合自适应权重动态时间规整算法. 对该算法进行了仿真以及实验,该算法在 SDU Fall Dataset 数据集的平均识别率达到了 95.33%,平均识别时间减少了 46.47%,在煤矿井下使用该系统进行测试,结果表明所提出的算法在识别速度和准确率上均有一定程度的提高.
关键词:矿井监控;行为分析;人机交互;违规行為识别;动态时间规整算法
中图分类号:TP391.1 文献标志码:A
Abstract:Due to the particularity and danger of coal production, safety accidents often occur in the coal production process. Human factors account for a very high proportion. Therefore, it is necessary to study the violations of mine workers. Aiming at the singular point and time complexity problems often found in traditional dynamic time warping algorithms in human behavior recognition, a piecewise linear approximation algorithm combined with adaptive weight dynamic time warping algorithm is proposed. Then, the algorithm is simulated and experimented. The average recognition rate of the algorithm in the SDU Fall Dataset data set is 95.33%, and the average recognition time is reduced by 46.47%. Finally, we use the system to test in the coal mine. The results show that the proposed algorithm has a certain degree of improvement in recognition speed and accuracy.
Key words:mine monitoring;behavior analysis;human interaction;violation behavior identification;dynamic time warping(DTW) algorithm
在中国可用的能源中,煤炭占有非常重要的地位,其在国民经济发展中具有举足轻重的作用. 然而,由于煤炭生产的特殊性以及危险性,在煤炭生产过程中死亡事故常有发生,给作业人员、企业负责人带来严重的伤害和损失. 统计这些煤矿死亡事故,80%以上是由于作业人员的不合理行为直接或间接导致的[1].
如今,我国绝大部分煤炭企业在井下已经安装了视频监控系统,调度中心的工作人员通过传输到地面上的监控视频查看以及调度井下的生产情况. 目前,井下作业人员的违规行为是通过传统的 RGB 摄像头进行监控,监控方式仍是依靠人工[2]. 鉴于此,会产生两个突出的问题,第一是随着监控时间的增加,监控人员可能会产生视觉疲劳,由于井下工作人员的违规行为可能是一瞬间,监控人员可能无法发现违规行为,这样很可能会导致安全事故的发生;第二是井下使用传统的 RGB 摄像头进行视频监控,由于井下某些区域照度极低或是无光源,监控人员无法在该区域的监控视频中发现井下工作人员的违规行为,产生了矿井安全监控的一个监控盲点. 由于 Kinect 可以在没有光源的环境下获取目标的骨骼图像,并且可以进行骨骼跟踪,因此本文研究的内容就是通过 Kinect 体感传感器,对矿井下的监控盲区进行井下作业人员的行为监控,实现矿井下的作业人员全覆盖及智能化监控,以保证煤矿的安全高效生产.
目前在人体行为识别研究中,大部分研究基于传统的单目视觉展开[3]. 这些传统的研究使学者认为人体行为识别过程中易受光照、背景等因素的干扰,并且得到的结果准确性和鲁棒性均不佳,在井下光源微弱的情况下对人体行为的识别无疑是致命的. 微软发明了一款可以在 Windows 平台下使用的 Kinect 摄像机,它不仅能给出传统的彩色图像,还能给出有关对象的深度信息[4]. 在官方提供的 Kinect for Windows SDK 支持下,研究人员能够得到人体骨架中的 20 个骨架关节点的位置信息[5].人体动作行为识别若使用 Kinect 得到人体骨骼关节点的三维坐标数据,不仅能有效防止光照变化的干扰,还能免除在复杂的背景情况下对研究对象采取分割提取等一些预处理过程.
把 Kinect 摄像机用于研究人体行为识别已然发展成了行为识别领域范围内的一个研究热点,Thanh 等[6]利用 Kinect 关节点数据得到 3 维形状直方图并使用 TF-IDF 算法分析人的行为;Lin 等[7]提出了基于 Kinect 的物理康复辅助系统,使用计算标准行为和学习行为相应关节点间欧氏距离的平均值以及骨骼关节间角度差的平均值,来评价恢复者学习太极动作的准确率. 就目前而言,在人体行为识别领域内使用较多的识别算法有隐马尔可夫算法(HMM)、神经网络算法(ANN)、支持向量机算法(SVM)以及动态时间规整算法(DTW). 上述算法中 DTW 算法在分类长短不同的时间序列上有天然的优势,这是其他算法无法达到的. 因此文中选用 DTW 算法进行矿工的违规行为识别. 1 传统 DTW 算法的缺点
1.1 奇异点问题
传统的 DTW(Dynamic Time Warping)算法对时间轴进行规整会考虑到数值的相似性,能够有效地解决时间轴上偏移以及尺度伸缩等问题. 但是,这样的操作仅单一考虑了时间轴上数值的相似性,并未考虑到数值轴上的问题,因此数值轴上的偏移问题没有得到解决,从而产生一个时间序列中的某点映射到另一个时间序列中大部分区域的现象,即奇异点问题,这样会影响行为识别的准确率.
假设两条时间序列 P 和 D 上分别有点 pm 和 dn,两个点在时间序列上的值相等. 但是,pm在时间序列的上坡部分,dn在时间序列的下坡部分,两点距离式中:DTW(P,D)表示两个时间序列规整的最小路径;u0代表一个包括矩阵元素的连续集合,定义P和D的映射关系;O用于弥补因不同路径所产生的不同长度;η(pm,dn)表示累积距离.
最优的规整路径必经过(pm,dn),DTW 算法将会把这两点进行映射,但实际上这两点未存在映射关系. 一条时间序列上的某点和另一条时间序列上的多个点发生映射,是因为这个点和另一条时间序列的多个点“太近”,这种现象叫做“奇异点”如图1所示.
1.2 时间复杂度问题
拥有较高的时间复杂度是DTW 算法面临的又一主要问题. 随着时间序列长度的增加,DTW 算法的计算时间增加,算法的时间复杂度增加. 这种情况在大多数分类算法中是不被允许的. 虽然绝大多数的分类算法没有实时性的要求,但是时间复杂度会极大影响到算法的性能. 因此如何减少DTW 算法的时间复杂度十分关键.
目前,学者们提出了多种方法来减小DTW 算法的时间复杂度. 根据改进思路的不同将其分为3类:
1)直接约束法. 直接在原始DTW 算法的动态规划中加入边界限制,将规整路径的访问范围进行限制,可以极大压缩算法的搜寻空间,进而减小时间复杂度.
2)数据抽象法. 将原始时间序列进行一系列的数据处理,如降维和特征提取,将原始时间序列的长度变短,减少DTW 的时间复杂度. 这种方法只是对数据进行了处理,缩短了时间序列的长度,DTW 算法本身没有变化.
3)索引法. 使用下界函数(lower bounding functions)来减小DTW 算法在时间序列分类时的计算次数. 该方法只是直接减少算法的计算次数,算法本身也没有发生修改.
上述3类方法中,直接约束法使用得最多. 该方法在最优路径与线性规整路径偏差很小的情况下,减少时间复杂度的效果非常好;对于最优路径與线性规整偏差比较大的情况,该方法减少时间复杂度的效果一般.
2 改进的DTW 算法
产生奇异点的原因是动态时间规整算法在计算时只考虑空间维度,未考虑时间维度. 因此下文介绍的解决方法均加入时间维度上的信息(即梯度特征)来解决奇异点问题. 如DDTW 算法仅使用梯度特征来计算,完全忽视了数值信息[8]. WDDTW 算法中使用了数值特征以及一阶和二阶梯度特征的加权和来运算[9].
DDTW 中单纯考虑梯度特征是不严谨的,数值信息和梯度信息都要考虑到,才能得到更好的效果. 一般来说,两个特征项综合使用求和方式一般比乘积好. WDDTW 中使用加权求和的方式进行两者的融合,虽然考虑了数值信息以及梯度信息,但是需要额外优化权重系数,加大了算法的求解难度. 此外,WDDTW 中二阶梯度特征是多余的,因为一阶梯度特征已经拥有了充足的时间维度信息,再有二阶梯度反而会有冗余信息以及噪声信息.
本文提出的改进算法为自适应权重动态时间规整算法(Self-adaption Weight Dynamic Time Warping,SWDTW),该方法同时兼顾了时间序列的数值信息以及时间信息. 定义新的特征Msw(pm) 如式(3)所示:
式中:max(|Δp|)为时间序列 pm中全部时间点的最大梯度. 这里某点的梯度用相邻点的差分来表示,即用 pm - pm - 1表示 pm 的梯度;max(|Δp|)的用处在于把各个梯度的值限制在[-1,1]之内,方便以比值的形式把梯度信息放入到特征之中;g表示常量系数;局部距离 l(pm,dn)可以表示为.
由式(3)可知,新的特征同时包含了数值信息以及梯度信息,梯度信息以比值的方式融入到特征中. 因为数值信息和梯度信息所产生的偏差,都可以让DTW 的距离增大. 所以,SWDTW 的优点就在于可以同时改善时间轴及数值轴上的偏移以及尺度伸缩. 数值信息的比值为1,大于梯度信息的比值,数值信息占主要地位,梯度信息为次要地位. 因此,SWDTW 对数值较小的误差不会特别敏感.
从时间维度及空间维度方面分析,数值代表的是空间维度的信息,其 pm 的梯度代表的是时间维度的信息. 所以,式(3)新的特征对两种维度的信息都考虑在内,且均可以改善数值轴及时间轴上的偏移和尺度伸缩.
时间序列的特点是维度长、特征重复以及包含噪声,如开始就将时间序列进行特征提取和降维处理,会缩短时间序列的长度,还可以获得更好的特征表示,再使用 SWDTW 计算距离,既可以减小产生奇异点的可能性,又可以在一定程度上减少时间复杂度. PLA 是一种对时间序列分段线性表示、还可以特征提取和降维的方法,其特点为计算便捷、提取的特征明显以及原始信息损耗小等.
分 段 线 性 逼 近 ( Piecewise Linear Approximation,PLA)是一种利用分段线性近似的方式对非线性时间序列进行降维和去噪的方法. 设定非线性时间序列Q = {t1,t2,…,tm},使用 PLA 进行表示,可得式(5): 式中: xa(1≤a≤p)代表第 a 段分段的时间下标; p 代表分段的数目;S表示PLA分段的距离;L表示时间序列分段的长度;QPLA是一个时间序列,由每段线段的起点及终点组成.
总体来说,PLA 可以分为3类算法:
1)滑动窗口(Window-Sliding)算法. 从最左边出发,一次增加一个数据点进入窗口,线性拟合当前窗口的点,窗口会在最大误差达到某个阈值后结束,当前数据点将会作为新的开始窗口,进行下一分段,反复进行该操作直到序列结束. 最大误差是指目前分段中数据点到线段的最大距离.
2)自底向上(Bottom-Up)算法. 把全部相邻的点两两连接起来作为起始分段,再依赖合并以后最大误差最小化原理,顺序合并相邻的分段,当全部相邻分段合并以后最大误差都大于阈值时才会停止.
3)自顶向下(Top-Down)算法. 将整个原始时间序列近似整合成一条直线,把距离直线最远的点(误差最大的点)当作划分点,分成两部分. 对划分以后的两部分分别再合成直线,依旧选择最远点为划分点,再分成两部分. 反复进行该操作直到所有部分的最大误差都小于阈值.
对比3种方法,滑动窗口算法优劣势均较明显,其优势在于时间复杂度是3种算法中最小的,可以实现在线运算,但其分段效果是最差的;自顶向下算法虽然时间复杂度不是最小的,但分段结果是3者中最好的,而且实现也较为简单. 所以本文选择PLA 实现算法为自顶向下算法.
在提出 SWDTW 算法的基础上提出了一种把 PLA 和 SWDTW 融合的新算法,先使用 PLA 对初始的时间序列进行特征提取以及降维,大大减小初始时间序列的长度,最后使用 SWDTW 对处理后的序列计算距离. 该算法称为 PLA-SWDTW,从下文的实验结果以及分析中可以得出,这种算法在解决奇异点问题的同时,可以一定程度地减小时间复杂度.
3 实验结果及分析
本文使用传统的 DTW、DDTW 以及PLA-SWDTW算法对最优规整路径已知的时间对序列进行映射实验,来测试 PLA-SWDTW 算法在解决奇异点问题和正确找出最优规整路径时是否具有更好的性能. 为了得到这样的时间序列对,从数据集中任意选择一个时间序列样本 A,将它进行复制得到 A′. 然后将 A′不同部分的数值随意增加或删减,并且增加删减的值足够小,以保证这两对时间序列对在产生偏差的同时,A′的“形状”不会变化太大. 因此A 和 A′不存在规整. 再将这两个序列分别进行 PLA 降维,得到一对新的时间序列 P和P′. 如图 3就是初始序列 P(实线)及修改后的序列 P′(虚线)的示例.
在清楚时间序列 P 和 P′间的正确映射后,规定符号 y′(x)代表時间序列 P 里的点px 和时间序列P′里的点 p′y 相互映射. 由于时间序列 P 和P′间不存在规整,所以有 y′(x)=x. 再规定符号 Wi表示时间序列 P 中的点 px 对应实际算法结果中时间 P′中的点集. Q 表示两个时间序列间错误映射的度量如式(6)所示:
式中:Q是两个时间序列之间错误映射的次数,Q越大表示映射错误的情况越多,算法的性能也就越差.
实验采用山东大学SDUFall Dataset 数据集进行算法性能的验证. 该数据集包括弯腰、跌倒、躺下、坐下、蹲下以及行走等6个动作,这6个动作由20个人分别完成,每个实验者对这6个动作都执行10次,每个动作都将拍摄角度、身体部分被遮挡以及光照强弱等因素考虑在内. 拍摄视频格式的帧数是 30 帧/s,像素分辨率为 640×480,动作长度为 5.6 s. 图 2(a)为数据集中初始时间序列(实线)及其变形序列(虚线). 图 2(b)~2(d)分别代表 DTW、 DDTW 和 PLA-SWDTW 对图 2(a)中序列的映射结果. 图 3 显示了该数据集中不同动作的帧序列图像. 使用 DTW、DDTW 和 PLA-SWDTW 3种算法分别对该数据集的6个动作进行映射实验. 表 1 为3种算法的平均错误映射数量.
由图4可知,DDTW 和 PLA-SWDTW 这两种算法的识别准确率明显高于传统的 DTW 算法,印证表 1 所得出的结论,这两种算法显著改善了传统 DTW 算法奇异点问题,且后者的准确率还略高于前者,表明在解决奇异点问题上,后者的性能为最佳. 表 2 中,DTW、DDTW、PLA-SW算法的识别时间分别为1.305 s、1.208 s、0.896 s,PLA-SWDTW 算法在识别时间上小于前两者,也证明了该算法在一定程度上减少了时间复杂度.
4 实验过程以及结果分析
4.1 实验设计及环境
本文实验硬件平台为: Kinect for windows 摄像机一台,彩色图像和骨骼图像的分辨率均为 640× 480;使用 PC 机作为实验计算机,主要的配置包含Intel (R) Core (TM) i5-6260U,1.8 GHz 主频双核处理器,内存为 8 GB,显卡为英特尔Iris Graphics 540;系统的开发环境为 Windows 7 操作系统,Visual Studio 2010 和 Kinect SDK v1.8.
4.2 实验过程
基于矿井人员的违规行为建立识别系统,是为了对矿井人员在井下环境中可能产生的违规行为进行监控,设定的3个井下违规行为,分别是摘安全帽、脱工作服以及坐下睡觉. 由于本文使用改进的DTW 算法,因此系统分为两大板块,第一个板块是模板录制及训练板块,通过此模块可以随时加入违规行为模板,从而识别出违规行为;第二个板块是行为识别板块,此模块可以实时识别出违规行为. 在违规行为识别过程中,由于违规行为的动作训练板块是基于改进的 DTW 算法所构建的,同时也是影响系统识别准确率的重要环节. 模板训练过程如下:
1)按下“动作捕捉”按钮,将会等待3 s,开始模板录制,模板录制 30 帧,需在 30 帧内做出不同的违规行为;
2)按下“保存数据到缓冲区”按钮,把已经捕捉好的模板数据保存到内存缓冲区中;
3)按下“保存到模板”按钮,动作序列被写入 bin 目录下以当前时间点命名的 txt 文件中,违规行为训练结束.
训练过程中系统完成了深度数据修正、坐标的变换及加权处理,同时使用了基于 DTW 的聚类算法使得模板训练的时间大大减少. 训练好的违规行为训练集如图 5 所示.
图5中第一行“#”后存储违规行为的名称;“~”表示一帧数据已经保存完毕. 由行为序列可知,每一个坐标数值都是 double 类型的,一帧存储所有关节点骨骼坐标数据.
违规行为识别的过程其实是一个动态行为过程. 以“摘安全帽”为例,“摘安全帽”的行为可以描述为:伸手拿起帽子,然后将帽子摘下. 识别过程中,首先点击“加载动作模板”按钮,从 bin 文件夹中选择“摘安全帽”的 txt 文件,模板将会自动载入系统并且进入行为识别状态. 测试者按照“摘安全帽”的行为,首先伸手拿起帽子,然后将帽子摘下,系统将会在下方实时显示骨骼图像及彩色图像,并且在结果栏显示识别结果以及 DTW 距离.
在实验室环境下进行实验,找到10名同学分别做出摘安全帽、脱工作服以及坐下睡觉这 3 个违规动作各 50 次(为了仿真井下低照度场景,将室内光源全部关闭,测量照度为 2 lux). 对得到的原始数据进行均值滤波处理,把处理得到的数据分别作为训练数据以及测试数据. 本文选取两种实验方案,用来测试两种改进算法的准确率以及识别时间. 其中测试结果如图 6 所示.
实验方案的描述如下:分别将传统 DTW 算法以及 PLA-SWDTW 算法写进系统中,使用传统 DTW 算法系统时,实验者在摘安全帽、脱工作服、坐下睡觉各 50 个动作中,取一半数据作为训练数据,一半数据作为测试数据进行实验. 同理在使用 PLA-SWDTW 算法的系统时也是取一半数据作为训练数据,一般数据作为测试数据进行实验. 两者实验结果如表 3 所示.
4.3 结果分析
由表 3 可知,PLA-SWDTW 算法在识别时间上与传统的 DTW 算法相比有一定的减少,这是算法中融合了分段线性逼近的结果. 然而在识别率上,PLA-SWDTW 算法相较于 DTW 算法有较明显的提升,说明了提出的算法可以改进奇异点问题,从而提高算法的识别准确率.
5 结 论
本文提出了分段线性逼近结合自适应权重动态时间规整算法( PLA-SWDTW),来解决奇异点问题以及时间复杂度问题,实验结果显示,该算法具有良好的适应性和鲁棒性,且识别的准确率和速度均有一定的提高.
本文不足之处体现在以下两点:(1)对于矿工速度过快的违规行为,识别率比较低;(2)识别动作比较单一,并且只能识别单人的违规动作.
参考文献
[1] 韦钊. 煤矿事故隐患排查与管控关键技术及应用研究[D]. 北京:中国矿业大学(北京)资源与安全工程学院,2018:1—4.WEI Z. Key technology and application of potential accident hazards investgation and control in coal mine [D]. Beijing:School of Resources and Safety Engineering,China University of Mining and Technology,2018:1—4. (In Chinese)
[2] 賈伟. 煤矿井下视频多目标轨迹跟踪方法研究与应用[D]. 西安:西安科技大学计算机科学与技术学院,2017:1—2.JIA W. Research and application of multi-target trajectory tracking method for coal mine underground video [D]. Xi’an:School of Computer Science and Technology,Xi’an University of Science and Technology,2017:1—2. (In Chinese)
[3] 胡琼,秦磊,黄庆明. 基于视觉的人体动作识别描述[J]. 计算机学报,2013,36(7):1—14.HU Q,QIN L,HUANG Q M. A summary of human action recognition based on visual [J].Chinese Journal of Computers,2013,36(7):1—14.(In Chinese)
[4] BISWAS K K,BASU S K. Gesture recognition using Microsoft Kinect [C] //5th International Conference on Automation,Robotics and Applications. New Zeland:IEEE,2011:100—103.
[5] SHOTTON J,SHARP T,KIPMAN A,et al. Real-time human pose recognition in parts from single depth images [J]. Communications of the ACM,2013,56(1):116-124.
[6] THANH T T,CHEN F,KOTANI K,et al. Extraction of discriminative patterns from skeleton sequences for human action recognition [C]//IEEE International Conference on Computing and Communication Technologies,Research,Innovation,and Vision for the Future. Piscataway,USA:IEEE,2012:6pp.
[7] LIN T Y,HSIEH C H,LEE J D. A Kinect-based system for physical rehabilitation:Utilizing tai chi exercises to improve movement disorders in patients with balance ability[C]// Proceedings of the 7th Asia Modelling Symposium. Hong Kong:IEEE Computer Society,2013:149—153.
[8] KEOGH E J,PAZZANI M J. Dervative Dynamic Time Warping[C]//Proceedings of the 1st SIAM International Conferernce on Data mining. Chicago:SIAM,2002.
[9] KULBACKI M,BAK A. Unsupervised learning motion models using dynamic warping [J]. Adcances in Soft Computing,2002,17:217—226.
转载注明来源:https://www.xzbu.com/4/view-15189526.htm