张昱彤,翟旭平,汪 静
一种基于低分辨红外传感器的动作识别方法
张昱彤,翟旭平,汪 静
(上海大学 特种光纤与光接入网重点实验室,上海 200444)
如今,世界各国人口老龄化问题日益严重,为了避免独居老人发生意外,老人日常动作监测和识别算法成为了研究热点。本文设计了一种基于低分辨红外传感器的动作识别方法,通过红外传感器采集探测区的温度分布数据,对温度分布数据进行处理,从时间、温度、形变和轨迹4个方面提取多个特征,最后通过K近邻算法对“行走”、“弯腰”、“坐下”、“站起”和“摔倒”5种动作进行分类。实验结果表明平均识别准确率可达到97%,其中摔倒动作的识别准确率为100%。
动作识别;特征提取;低分辨率红外传感器;K近邻算法
根据国际划分标准,一个国家或地区65岁及以上人口占比达到7%,就意味着进入了老龄化社会[1]。研究表明,独居尤其高龄老人成为意外伤害的高危人群,跌倒是导致老年人残疾,甚至死亡的主要原因[2]。因此研究室内安全监测算法显得十分重要。
目前,国内外已有很多针对室内跌倒检测算法的研究,使用的设备可以分为摄像装置和传感装置。基于摄像装置的检测算法通过对采集到的视频帧逐帧分析,完成动作识别[3]。但是摄像装置不仅会暴露使用者的隐私,还极易受到光照的影响,在黑暗环境中性能会大大降低。传感装置可分为需穿戴传感器和无需穿戴传感器。需穿戴传感器检测算法通过穿戴加速度传感器[4]等设备采集源数据,研究摔倒时突然的加速检测摔倒,但是需要老人时刻穿戴着传感器装置,十分不便。无需穿戴的传感器主要有压力传感器、声学传感器、二值传感器和红外传感器。基于压力传感器[5]和声学传感器[6]的检测算法是将传感器放置于地面,提取不同动作声音或者对地板产生的压力信号检测摔倒,但在日常生活中,其他外物时常产生声音干扰,对地板也可能产生压力从而造成干扰,检测准确率较低。基于二值传感器的检测算法[7]通过多个二值传感器同时采集数据,研究数据波形的时域相关性,检测跌倒,但是需要先采集固定地点和时间段的日常动作数据作为参照,否则需要再次采取源数据,鲁棒性极低。
为了解决上述问题,有人提出使用被动红外传感器。被动红外传感器通过接收外界发出的红外辐射进行工作,采集到的数据为探测区域的温度数据。此类传感器不受光强弱变化的影响,无需人为穿戴,同时保护了用户的隐私。日本的Shota Mashiyama团队[8]采用分辨率为8×8的Grid-eye红外传感,对日常动作和静止等5个动作进行分类,摔倒、行走和静止这3种能明显区分的动作识别率很高,但是行走和站立这两种相似度较高的动作识别率相对较低。Akira Hayashida团队[9]则考虑将红外传感器装置应用在不同的家庭场景中检测摔倒。该团队对比了不同室温、家庭环境和光照条件下的摔倒检测正确率,验证鲁棒性。但该算法需设定较多的阈值,阈值的选取很大程度上决定了算法的性能表现,同时大量的阈值选取算法也增加了算法的计算量。杨任兵等人[10]将8×8的红外传感器置于天花板设计分类算法,将温度和特征进行了结合,提高了摔倒的检测率,但是所提取的特征存在在不同动作的反映上有着相似性,所以一些坐下的动作会被错判为摔倒,虚警率较大,且8×8传感器的广角较小,探测区无法完全覆盖面积较大的家庭场景。王召军等人[11]采用HTPA 32×32红外传感器,提取5种特征对3种动作进行分类,且根据传感器的安装角度对特征数据进行校准,最终识别率较高,但是实际生活中无法精准得到夹角的准确值,对结果会有一定的影响。
本文采用HEIMANN型号为HTPA80x64dR 1L5.0/1.0的红外阵列传感器提出一种识别弯腰、坐下、站起、行走和摔倒5种日常动作的方法。该方法不仅对活动人体进行了检测,也进行了前景提取,通过背景减除法提取前景,根据奈曼-皮尔逊准则确定初始最佳判决阈值,完成了人体区域提取。之后从时间、温度、形变和轨迹4个方面提取6个特征,最后对比了不同分类器的识别结果,也将本文方法与其他方法的结果进行了对比。
本文人体动作识别方法流程如图1所示,分为活动人体检测、前景提取、特征提取和分类4个部分。计算每帧数据的最大温度方差,若该方差大于阈值,则在探测区存在人体活动。在接收到温度分布数据之后,为了方便进行特征提取,先通过前景提取算法提取人体轮廓。活动人体检测和前景提取完成后,提取特征,利用K近邻(K-Nearest Neighbor,KNN)分类器,与数据库的训练集数据进行对比,判断接收到的数据的动作类别。
图1 动作识别方法流程图
红外探测区无人活动时,每个像素点的温度值在时域上波动较小,而当人在探测区中活动时,时域温度波动较大。根据这一特点,可以通过提取每帧的最大温度方差来判断探测区是否有人体活动,以便进行后续操作。
由于制作工艺和测试环境等原因,噪声严重影响到温度数据的准确性。A. A. Trfimova等人在文献[8]的基础上采用卡尔曼滤波[12]的方式对数据先进行预处理,但是卡尔曼滤波需要大量环境数据,计算量较大,无法实现实时的去噪。经过分析,测试数据的噪声近似服从高斯分布,因此采用大小为3×3的高斯滤波模板对测试数据预处理。
a为第帧的第(,)个像素点的温度值。第帧每个像素点的方差计算公式为:
经过公式(1),可以得到每一帧的温度方差分布矩阵:
根据之前的分析,当有人体在探测区活动时,探测区的温度会发生较大波动,于是通过公式(4)提取每帧的最大温度方差:
若vmax大于阈值th则说明探测区有人体活动。阈值th的选取决定着活动人体检测的准确率和特征提取的正确性。由于采集数据的时间很长,环境温度和器件自身的温度都会有微小改变,所以本文确定阈值th的方法为在探测区无人的环境下,实验前、实验中和实验后3个时间段中,运行实验装置直至最大帧数,各重复3次,共9组数据,分别计算9组数据的最大温度方差,选取最大值作为阈值th。为了研究环境温度和传感器安装空间对阈值的影响,分别在校内实验室和家里客厅的不同环境温度下采集数据,进行对比实验,结果如表1所示。
表1 不同环境温度、安装空间下的阈值对比
由表1可以看出,相比较而言,传感器安装空间对阈值变化影响很小,环境温度变化对它的影响更大一些,所以根据实验时的环境温度,本文将最终阈值设为1.7。
在提取出的前景基础上进一步进行特征提取,可以极大提高识别准确率。常见的前景提取算法有背景减除法[13],帧间差分法[14],单高斯模型法[15]和混合高斯模型法等,这些算法往往采用经验值[16]设置阈值提取前景,本文则采用奈曼-皮尔逊准则设置阈值。
像素点为背景点的状态设为0,为前景点的状态设为1。奈曼-皮尔逊准则无需已知信源先验概率与代价因子,该准则是在(1/0)=的约束条件下,检测概率达到最大。
利用拉格朗日乘子构建目标函数:
=(0/1)+[(1/0)-] (5)
根据要求,需求目标函数的最小值,将公式(5)转化为积分运算,且由于:
式中:0和1分别为判决区域,公式(5)可写为以下形式:
由公式(7)可知,若要使达到最小,被积函数部分应该取负值,可得以下关系:
其中,判决门限可由约束条件得到:
通过每帧数据得到的判决门限即为每帧的最佳判决阈值xth。本文采用虚警率为0.01约束下获得每帧的最佳判决阈值xth,前景提取公式如下:
若第k帧的第(i, j)像素点的温度值xk(i, j)大于阈值xkth,则温度值不变,否则置为0。该算法结果如图2(a)所示,该方法极干净地滤除了背景点,只剩下少数背景游离点,经过形态学处理后,如图2(b)所示,前景图像只剩下了完整的人体轮廓。
本文从时间、温度、形变和轨迹4个方向考虑,提取每个数据集的运动时间act、最大温度方差max、运动前后宽高比比值AR、运动前后重心到脚距离比值gravity、运动速度的最大值velmax和运动前后垂直角度差值diff这6种特征。具体方法如下:
1)运动帧数act:每帧最大温度分布方差vmax大于等于阈值th时,则表明运动开始,该帧计为start,否则视为运动结束,计为end。运动帧数的定义如下:
act=end-start+1 (11)
行走动作耗费的时间最长,摔倒是一种突发情况,运动帧数最短,如图3所示。
2)每个数据集的最大温度方差max:该特征指的是在帧内,每帧最大温度分布方差vmax中的最大值,即:
max=max(1max,2max, …,vmax),>act(12)
不同动作发生时探测区温度变化的剧烈程度也不同。摔倒动作瞬时发生,在温度数据上则表现在其max相比于其他动作较高,不同动作的vmax和max对比如图3所示。
图3 各动作的最大温度方差和运动持续帧
3)运动前后宽高比比值AR:该特征为人体外接矩形宽高比在start和end时的比率,表现了人体在运动前后的形变特征,其公式如下:
式中:rend和rstart分别为运动结束帧和运动开始帧的宽高比。人体外接矩形如图4所示。
图中的人体外接矩形左上点al=(il,jl),人体外接矩形右下点ar=(ir,jr),l和r分别代表着第帧外接矩形的左边界和右边界,于是人体外接矩形的宽高比可表示为:
摔倒发生后人体的外接矩阵宽高比明显要远大于运动前的宽高比,因此摔倒动作的AR是远大于1。弯腰动作后人体的宽度增加,高度降低,所以其AR次之。
4)运动前后重心到脚距离比值gravity:表示运动前后人体重心到脚的距离的比率,与AR一样表现了人体在运动前后的形变特征。人体区域的重心表示为x=(i,j),其中:
式中:、、、和分别为人体外接矩形的上下左右边界的坐标值,Q(,)的定义如下:
那么重心到人脚的距离h为:
h=i-ib(18)
式中:ib为人体外接矩阵下边界的坐标值,运动前后重心到脚距离比值gravity的定义为:
gravity=hend/hstart(19)
摔倒动作的hend远小于hstart,所以摔倒动作的gravity远小于1,而行走运动前后人外接矩形并没有发生太大的变化,所以行走动作的gravity是在1上下波动。
5)运动速度的最大值velmax:将重心点x=(i, j)作为追踪点,时间窗口等于传感器本身的帧率,计算重心点帧的欧氏距离,从而得到运动的速度,其公式如下:
式中:i和j分别为第帧重心点的坐标。通过公式(20)这样就可以得到动作的速度波动情况,将最大值作为特征:
摔倒动作是瞬时发生的,相比于其他动作有着极高的velmax,而行走动作相比于其他动作较为稳定,且速度稍高,所以行走动作的velmax仅次于摔倒动作。
6)运动前后垂直角度差值diff:该特征从不同动作的轨迹变化出发,将人体区域的重心点x=(i, j)作为追踪点,由于传感器放置在墙壁之上,若将探测场的画面作为平面,在三维空间中,传感器则位于画面的下边界上。若人体在下边界重心点所在的垂直线上进行站立坐下动作,则垂直角度的变化均为0,无法判别动作,所以将整张图像左下角点,即坐标为(63,0)的点作为顶点,与重心点形成角度,观察运动前后垂直角度的变化,如图5所示。
图5 垂直角度示意图
由图5可得垂直角度的定义如下:
则运动前后的垂直角度差值定义为:
在摔倒动作发生前后,人的重心点会更加贴近于画面下边界,所以垂直角度会有极大的降低,摔倒动作的diff较大且为负。
本文将KNN算法、支持向量机(Support Vector Machine, SVM)算法、随机森林(Random Forest, RF)算法、决策树(Decision Tree, DT)算法和神经网络(Neural Network, NN)算法的结果进行对比。KNN算法是给定测试样本,基于距离度量找出特征空间中距离最靠近该样本的个训练样本,选择这个样本中出现最多的类别作为预测结果。距离度量和值的选择均会影响到分类的准确性,距离度量会影响到“邻居”的选择,而值如果过小容易产生过拟合的现象,如果过大则会大大增加算法的计算时间。因此本文采用交叉验证法[17]来确定值和距离度量。
本实验使用德国HEIMANN型号为HTPA80x64 dR1L5.0的热电堆阵列传感器,实验环境选择室内普通实验室,背景较为单一,室温为26℃,将传感器置于墙壁,距离地面2.6m。测试人员共10名(7男3女),被测人员在探测区依次完成弯腰、站起、坐下、摔倒和行走5种动作,每种动作重复30次,最终每个动作获得300组数据,数据集一共1500组,按照动作将数据集等比例划分为训练集和测试集进行实验。
本文采用交叉验证的方法确定KNN算法最优的值和距离度量函数。首先将数据集参考动作类别按照一定比例划分为训练集和测试集。距离度量也在欧氏距离和曼哈顿距离两者中进行选择。值以3为起始值,2为步长,分别在距离度量为欧氏距离和曼哈顿距离的条件下,依次选取不同的值进行分类计算相对应的准确率。交叉验证结果如表2、表3所示,选择曼哈顿距离作为距离度量,取3进行实验。
表2 欧氏距离交叉验证结果
表3 曼哈顿距离交叉验证结果
同样采用交叉验证对余下分类器的实验参数进行设定。经过验证,SVM分类器惩罚参数最终选择为2,径向基函数的自带参数gamma,实验对比后取0.08,训练集780组,测试集720组。DT分类器采用信息增益作为分裂节点的评价指标,最优分裂作为拆分策略,剪枝时树的深度设为4,叶节点处所需最少样本数设为1,拆分最小样本数为3,样本权重相同,训练集900组,测试集600组。RF分类器中,最优结果下随机森林建立10棵决策树,深度为10,余下参数为默认参数,训练集975组,测试集525组。为了进行下一阶段研究,本文选择简单的神经网络结构构建分类器与以上几种分类器进行结果对比。NN分类器的结构为输入层,中间层以及输出层,输入为提取的特征,输出为动作类别,中间层为8层全连接层,使用sigmoid函数作为激活函数,网络训练总次数设定为500轮,依次改变学习率,最终最优学习率为0.01,训练集1125组,测试集375组。
将KNN算法、SVM算法、RF算法、DT算法和NN算法的识别准确率进行对比,结果如表4所示。
表4 5种分类算法结果对比
由表4可得KNN算法平均识别准确率高于其他算法,摔倒动作的识别准确率达到了100%,其他动作的识别准确率也在97%以上,最终选择KNN算法。KNN算法识别准确率的混淆矩阵图如图6所示。
由图6可以发现,坐下和弯腰这两种有着下降趋势的动作易被误判,与其他动作相比,坐下仅在运动前后宽高比比值这一特征上与弯腰表现差异较大,所以坐下动作有8%的测试集数据错判为弯腰,弯腰动作有3%的测试集数据错判为坐下,误判率较高。为了进一步验证本文方法性能,将本文方法与文献[10]和文献[11]的方法的结果进行了对比,结果如表5所示。
由表5可以看出,本文方法准确率有了很大的提高,并且很好地区分了站起和坐下动作,这说明本文提取到的特征确实与人体动作相关联,能以较高的准确率区分日常的生活动作。
图6 准确率混淆矩阵图
表5 3种方法结果对比
本文提出了一种基于低分辨率红外传感器的人体动作识别方法。本文方法对活动人体进行了检测,也对前景提取进行了研究,根据得到的数据,采用背景减除法提取前景,基于奈曼-皮尔逊准则确定初始最佳判决阈值,使背景错判为前景的出错的概率达到最小。在以上工作基础上,从时间、温度、形变和轨迹4个方面提取6个相关特征,比较了不同分类器的结果,最终选用KNN分类器对弯腰、站起、坐下、摔倒和行走这5个日常动作进行分类,平均准确率达到97%。本文方法对摔倒动作有着100%的识别准确率,相比于其他方法,站起和坐下这两种易错分的动作的识别准确率也有提升,达到了初期构想的要求。未来,可采用多个红外传感器搭建系统,以提高细小差别动作的识别率。本文提出的方法有着较繁琐的计算机视觉方面的数据处理,避免不了阈值的设计,且计算量较大,今后可结合深度学习,搭建神经网络以进行更深入的研究。
[1] 陈泰昌, 尤帅. 新时代我国人口老龄化的发展态势和战略研究[J]. 老龄科学研究, 2019, 7(4): 11-20.
CHEN Taichang, YOU Shuai. Research on the development trends and strategies of China’s population ageing in the new Era[J]., 2019, 7(4): 11-20.
[2] 张艳梅, 马晓霞, 赫继梅, 等. 失能老人跌倒的影响因素及长期照护服务需求[J]. 中国老年学杂志, 2019, 39(17): 4355-4357.
ZHANG Yanmei, MA Xiaoxia, HE Jimei, et al. Influencing factors of falls and demand for long-term care services in the disabled elderly[J]., 2019, 39(17): 4355-4357.
[3] 郑潇, 彭晓东, 王嘉璇. 基于姿态时空特征的人体行为识别方法[J].计算机辅助设计与图形学学报, 2018, 30(9): 1615-1624.
ZHENG Xiao, PENG Xiaodong, WANG Jiaxuan. Human action recognition based on pose pose spatio-temporal features[J], 2018, 30(9): 1615-1624.
[4] 王玉坤, 高炜欣, 王征, 等. 基于加速度传感器的人体姿态实时识别[J]. 计算机工程与设计, 2016, 37(11): 3092-3096.
WANG Yukun, GAO Weixin, WANG Zheng, et al. Real-time human activity pattern recognition based on acceleration[J]., 2016, 37(11): 3092-3096.
[5] 杜英魁, 姚俊豪, 刘鑫, 等. 基于电阻式薄膜压力传感器组的人体坐姿感知终端[J]. 传感器与微系统, 2020, 39(1): 78-81.
DU Yingkui, YAO Junhao, LIU Xin, et al. Human body sitting posture sensing terminal based on resistive thin film pressure sensor groups[J]., 2020, 39(1): 78-81.
[6] 李仲华, 臧春华, 杨刚. 基于噪声嵌入的跌倒检测系统的设计[J]. 微机处理, 2017(2): 74-76.
LI Zhonghua, ZANG Chunhua, YANG Gang. Design of fall detection system based on embedded noise[J]., 2017(2): 74-76.
[7] Kobiyama Yuta,ZHAO Qiangfu,Omomo Kazuk, et al. Analyzing correlation of resident activities based on infrared sensors[C]//, 2015: 1-6.
[8] Mashiyama S, HONG J, Ohtsuki T. Activity Recognition Using Low Resolution Infrared Array Sensor[C]//, 2015: 495-500.
[9] Akira Hayashida, Vasily Moshnyaga, Koji Hashimoto, The Use of Thermal IR Array Sensor for Indoor Fall Detection[C]//,,(SMC), 2017: 594-599.
[10] 杨任兵, 程文播, 钱庆, 等. 红外图像中基于多特征提取的跌倒检测算法研究[J]. 红外技术,2017, 39(12): 1131-1138.
YANG Renbin, CHEN Wenbo, QIAN Qing, et al. Fall detection algorithm based on multi feature extraction in infrared image[J]., 2017, 39(12): 1131-1138.
[11] 王召军, 许志猛, 陈良琴. 基于红外阵列传感器的人体行为识别系统研究[J]. 红外技术, 2020, 42(3): 231-237.
WANG Zhaojun, XU Zhimeng, CHEN Liangqin. Human behavior recognition system based on infrared array sensors[J]., 2020, 42(3): 231-237.
[12] Trofimova A A, Masciadri A, Veronese F, et al. Indoor Human Detection Based on Thermal Array Sensor Data and Adaptive Background Estimation[J]., 2017, 5(4): 16-28.
[13] 李亚, 王颖. 基于一维最大熵的视频图像运动背景减除[J]. 计算机与现代化, 2018(3): 44-47, 53.
LI Ya, WANG Ying. Moving background subtraction of video image based on 1-D Maximum Entropy[J]., 2018(3): 44-47, 53.
[14] 薛丽霞, 罗艳丽, 王佐成. 基于帧间差分的自适应运动目标检测方法[J]. 计算机应用研究, 2011, 28(4): 1551-1552.
XUE Lixia, LUO Yanli, WANG Zuocheng, et al. Detection algorithm of adaptive moving objects based on frame difference method[J]., 2011, 28(4): 1551-1552.
[15] 黄大卫, 胡文翔, 吴小培, 等. 改进单高斯模型的视频前景提取与破碎目标合并算法[J]. 信号处理, 2015(3): 299-307.
HUANG Dawei, HU Wenxiang, WU Xiaopei, et al. The algorithm of video foreground extraction via improved single gauss model and merge of broken targets[J]., 2015(3): 299-307.
[16] WEI Hanchen, Hsi PinMa. A Fall Detection System Based on Infrared Array Sensors with Tracking Capability for the Elderly at Home[C]//(Health Com), 2015: 428-434.
[17] 任家东, 刘新倩, 王倩, 等. 基于KNN离群点检测和随机森林的多层入侵检测方法[J].计算机研究与发展, 2019, 56(3): 566-575.
REN Jiadong, LIU Xinqian, WANG Qian, et al. An multi-Level intrusion detection method based on KNN outlier detection and random forests[J]., 2019, 56(3): 566-575.
Activity Recognition Approach Using a Low-Resolution Infrared Sensor
ZHANG Yutong,ZHAI Xuping,WANG Jing
(Key Laboratory of Specialty Fiber Optics and Optical Access Networks, Shanghai University, Shanghai 200444, China)
The worldwideproblem of population aging is becoming increasingly critical. To avoid accidents involving the elderly living alone, the study of the daily activities of the elderly using recognition and monitoring algorithms has become a research hotspot. This paper proposes an action recognition approach using a low-resolution infrared sensor. The proposed approach uses an infrared sensor to collect temperature distribution data in the detection area, and then processes the temperature distribution data, extracting multiple features in the four dimensions of time, temperature, deformation, and trajectory. Finally, the K-nearest neighbors algorithm is used to identify the five poses of “walking,” “bending,” “sitting,” “standing,” and “falling.” Experimental results demonstrate that the average accuracy can reach 97% and that the accuracy for falling is 100%.
activity recognition, feature extraction, low resolution infrared sensor, KNN algorithm
TP319.4
A
1001-8891(2022)01-0047-07
2020-11-24;
2021-02-01.
张昱彤(1996-),男,江苏盐城人,硕士研究生,主要从事基于红外图像的人体动作识别算法研究工作,E-mail:zyt164819285@163.com。