Comparison of Scene-based IRFPA Nonuniformity Correction Algorithms
-
摘要: 红外技术发展到今天,红外凝视焦平面探测器阵列性能高、使用简单,从而成为红外系统的主流。但是,红外探测器的工艺和技术生产不出像可见光 CCD 那样均匀的红外器件,红外探测器阵列的非均匀性一直是红外凝视探测器的主要缺陷。人们开发了多种非均匀性校正算法,尤其是基于场景的自适应算法,极大地弥补了探测器的非均匀性缺陷。但是到目前为止,各种算法都有一定的局限性,尚不能彻底解决非均匀性问题。针对目前常用的几种非均匀性校正算法,包括时域高通滤波算法、神经网络算法、恒定统计量算法等,在天空、地面等不同场景条件下进行了仿真测试,对算法的实施效果进行了对比分析。
-
0. 引言
由于我国老龄化趋势日益加剧以及家庭子女外出工作等原因,空巢老人的数量逐渐增加,对于老年人健康安全监护的需求也日益提升[1]。据世界卫生组织报道,每年全世界有64.6万人因跌倒没有得到及时救治而死亡,其中65岁以上老年人所占比例最大[2]。跌倒是导致老年人,尤其是独居老年人受伤甚至死亡的主要原因。因此,设计一种室内人体跌倒自动检测方法,缩短从跌倒到救治的时间,能够有效减少由跌倒造成的伤害,提高老年人生活品质,同时减少看护的人力成本[3-4],具有重要的理论研究意义和实际应用价值。
目前,国内外跌倒检测方法的研究可以大致分为穿戴和非穿戴两类。基于可穿戴设备的识别方法通过使用者佩戴的传感器获取人体位置和运动姿态等关键特征,并利用模式识别分类来对人体跌倒情况进行检测。Giuffrida等人[5]提出了一种基于可穿戴传感器和机器学习的跌倒检测系统,通过提取信号部分的特征,利用SVM分类器判决跌倒或日常活动。Kumar等人[6]提出利用加速度计和陀螺仪获取信号,通过SVM分类器判断是否跌倒。Mehmood等人[7]提出了一种使用可穿戴式Shimmer传感器的新型跌倒检测方法,通过实时数据上的马氏距离来识别跌倒事件。Kerdjidj等人[8]提出利用压缩感测方法和穿戴的Shimmer设备进行人体跌倒与活动识别,压缩感测方法可以减小发送数据的大小并最小化能量消耗。上述基于可穿戴设备的检测方法虽然精度较高,但传感器设备必须定期充电或者更换电池,使用不便;此外,长时间穿戴这种设备还会引起身体不适。因此,更为友好的非穿戴检测系统得到了越来越多的研究和应用。
传统的非穿戴检测系统主要使用光学相机采集视频或图像,并在图像中提取人体特征数据,进而进行跌倒检测。Min等人[9]提出使用快速区域卷积网络检测人体形状的纵横比、质心和运动速度,通过这些特征随时间的变化关系来判断动作行为是否为跌倒。Kong等人[10]提出一种基于计算机视觉的框架,采用背景减法和等级池分别对视频中的空间和时间表示建模,利用卷积神经网络作为事件分类器,通过对事件分类的结果进行投票,进行多摄像机跌倒检测。Qiu等人[11]提出通过对目标检测算法和目标跟踪算法的分析,利用Deep-sort和YOLO v3算法对监控视频进行实时跌倒检测。Fan等人[12]提出了一种基于慢特征分析的框架,用于房屋护理环境中的跌倒检测,实现自动检测视频序列中的跌倒。基于视频或图像的跌倒检测方法具有使用方便、能够同时对多个事件进行检测等优点;然而,这种方法不可避免地侵犯了个人隐私;此外,在光照不足时检测精度会大幅下降。
针对以上问题,非穿戴,不受光照影响,且不侵犯隐私的热成像阵列传感器逐渐成为当下的研究热点。Shota等人[13]通过运动的连续帧、连续帧中温度变化的最大像素、运动检测过程中温度最大变化范围和运动前后的最高温度像素点距离等4个特征对人体跌倒进行检测。杨任兵等人[14]通过从低分辨率的红外图像中,提取出4种对跌倒敏感的特征,同时使用K近邻算法进行分类来判断是否发生跌倒。王召军等人[15]通过从采集到的温度分布信息中提取特征并采用K近邻算法实现跌倒识别。上述方法通过提取红外图像人体特征,根据图像中人体特征量的变化,利用多特征联合判决人体跌倒,判决算法复杂。同时,红外图像分辨率低、信噪比差,许多行为会互相混淆,检测精度相对较低。Liang等人[16]通过消除固定噪声、二值化、提取连通域以及特征点定位等操作对获取的红外图像进行预处理,利用纵向位移与横向位移联合判断人体跌倒。该算法对跌倒的漏判率较低;然而,当人体快速坐下或蹲下时,常被误判为跌倒,导致其对跌倒的误判率较高。
综上,为简化判决算法设计,提高人体跌倒检测精度,本文提出一种基于逆向投影算法的室内人体跌倒检测方法。该方法首先使用一个分辨率为80×64像素的热成像阵列传感器获取红外图像,然后借鉴类卡尔曼滤波思想进行人体定位,并通过逆向投影算法获得人体在真实世界的高度,最后依据判决法则对跌倒行为进行检测。
1. 硬件环境构建
本文采用HEIMANN Sensor GmbH公司制造的HTPA 80×64 dR1L5.0/1.0热成像阵列传感器,该传感器的分辨率为80×64像素,视场为88°×70°。
目前,研究者常把传感器摆放在屋顶[13-15]。然而,当传感器摆放于屋顶时,人体身高与体型对成像结果有较大影响。如图 1所示,一位身材较高且健壮的男士在跌倒时的图像与一位身材较矮且苗条的女士在站立时的图像较为接近,这导致难以进行准确的判决。
为解决上述摆放问题,一些研究者尝试把传感器摆放在墙侧进行实验[16]。该摆放位置虽能解决人体身高和体型对实验结果的影响,但如图 2所示,传感器视场盲区较大。
综上所述,为尽可能减少视场盲区并兼顾图像保真度,本文选择将红外传感器安置于距离地面1.8m的墙角处。如图 3所示,传感器在水平方向的夹角为88°,在垂直方向的夹角为77°。由图 3可知,在88°以下的区域中,除了阴影部分,其余均在视场范围内。
2. 算法描述
本文所提的跌倒检测算法主要包括图像预处理、人体连通域定位、逆向投影、跌倒检测等4个步骤,算法流程如图 4所示。接下来将对上述步骤进行详细论述。
2.1 图像预处理
热成像阵列传感器获取的原始图像如图 5(a)所示:图中黄色表示高温区域,紫色表示低温区域。原始图像包含两种类型的噪声:①固定噪声:如图 5(a)中黑色圆圈标记区域所示;这类噪声是获取或标定图像时的系统误差所造成的,它在每帧图像的相同位置反复出现。②随机噪声:如图 5(a)中红色圆圈标记区域所示;这类噪声在部分帧中随机出现于不同位置。本文采用文献[16]的方法,利用一阶滤波器去除固定噪声,去噪后的图像如图 5(b)所示。
2.2 人体连通域定位
2.2.1 人体连通域预测
在去除固定噪声后,对图像进行二值化,并使用八连通法提取每帧图像中所有的连通域。从图 5(c)中可以看出,除了人体所在连通域,图像中还存在许多由随机噪声而产生的干扰连通域,如图中红圈所示区域。一般来说,人体所在连通域通常是面积最大或温度和最高的;然而,在某些帧中,干扰连通域的面积或温度和会超过人体所在连通域。为提升人体定位的精度,本文借鉴卡尔曼滤波思想,利用帧与帧之间的关联进行人体连通域预测,步骤如下:
① 计算第n帧中第i个连通域温度和Ti(n):
$${T_i}(n) = \sum\limits_{p \in {S_i}(n)} {{Z_p}(n)} $$ (1) 式中:p为像素点;Si(n)为第n帧中第i个连通域,Zp(n)为第n帧中像素点p的温度。
② 计算第n帧中第i个连通域重心坐标$\left( {{x_{{c_i}}}(n), {\rm{ }}{y_{{c_i}}}(n)} \right)$:
$$\left( {{x_{{c_i}}}(n), {\rm{ }}{y_{{c_i}}}(n)} \right) = \frac{{\sum\limits_{p \in {S_i}(n)} {{Z_p}(n){\rm{ }}\left( {{x_p}(n), {\rm{ }}{y_p}(n)} \right)} }}{{\sum\limits_{p \in {S_i}(n)} {{Z_p}(n)} }}$$ (2) 式中:(xp(n), yp(n))为第n帧中像素点p的坐标。
③ 如图 6所示,假设第(n-2)和第(n-1)帧中人体所在连通域中心P(n-2)和P(n-1)的坐标分别为(x(n-2), y(n-2))和(x(n-1), y(n-1)),则可以预测第n帧中人体连通域重心P(n)坐标($\hat x(n), \hat y(n)$)为:
$$(\hat x(n), \hat y(n)) = \left( \begin{gathered} 2x(n - 1) - x(n - 2) \\ 2y(n - 1) - y(n - 2) \\ \end{gathered} \right)$$ (3) 2.2.2 人体连通域调整
在预测出第n帧中人体连通域重心P(n)坐标($\hat x(n), \hat y(n)$)后,人体连通域调整相关步骤如下:
① 计算第n帧中第i个连通域的重心与第n帧中预测人体连通域重心的距离di(n):
$${d_i}(n) = \sqrt {{{\left( {\hat x(n) - {x_{{c_i}}}(n)} \right)}^2} + {{\left( {\hat y(n) - {y_{{c_i}}}(n)} \right)}^2}} $$ (4) ② 计算调整后的第n帧中第i个连通域的温度和${\tilde T_i}(n)$:
$${\tilde T_i}(n) = {T_i}(n) - K{d_i}(n)$$ (5) 本文选取${\tilde T_i}(n)$最大的连通域作为人体所在连通域。参数K的选取方法为将视场划分为5个区域,令4名实验者在5个区域分别进行跌倒、行走、静坐、站立、平躺和下蹲等6种行为,总计获取120组红外图像序列数据;令K取不同的数值,对其进行测试。实验结果表明,当K=10时,人体定位效果最好。
2.3 逆向投影
2.3.1 逆向投影意义
传统方法中,通常以图像中人体像素高度的变化来判断跌倒。然而,热成像阵列传感器采集红外图像时具有近大远小的特性,人体处于视场不同位置时,图像中的像素高度会有所差异。如图 7所示,走向远处和跌倒这两个过程中,人体的像素高度都会减小。
上述两种行为人体像素高度变化如图 8所示。从图 8中可以看出,跌倒和行走时人体像素高度变化曲线较为类似;因此,如果利用其进行判决,跌倒常会与其他行为相混淆,从而导致识别精度较低。在真实世界中,行走过程中人体高度只会有略微震荡,而跌倒时人体高度会剧烈变化。因此,如果能获得人体在真实世界的高度,并以此高度的变化为依据对人体跌倒进行识别,准确率必将有所提升。
2.3.2 逆向投影计算
逆向投影即从二维图像平面向三维真实世界进行投影,其整体示意图如图 9所示。
图 9中,黑色箭头AB表示人体在真实世界的位置,蓝色箭头EF是人体通过投影在图像平面中的成像,红色箭头CD为人体在主光轴所在平面OLMN中的投影。逆向投影即由图像中的人像EF倒推出真实世界中人体AB的长度,其计算步骤如下:
① 计算人体和传感器之间的距离,即线段OA的长度。
本文使用恒温源黑体作为实验对象。测量步骤如下:首先,将红外传感器放置在墙侧距地面1.8m位置,并使黑体与传感器高度一致。其次,在黑体与传感器距离为1500~4500mm的区间内,每200mm设置一个测量距离,每个测量距离设置5个测量点,测量点设置方式如图 10所示。再次,对每个测量距离中5个测量点的温度取平均值,获得16个测量距离各自对应的温度值。最后,对16个温度值进行直线拟合,获得传感器HTPA 80×64 dR1L5.0/1.0采集的物体温度和物体与传感器之间距离的关系如公式(6)所示:
$$D = - 250 \times {T_{{\rm{image}}}} + 9075$$ (6) 式中:Timage表示传感器采集到的温度值,℃;D表示物体与传感器之间的距离,mm;即图 9中线段OA的长度。
② 图像与真实世界之间的单位转换。
图像中的长度单位是像素,而真实世界中的长度单位为毫米;因此,需要对图像中的长度单位进行转换,示意图如图 11所示。
图 11中,f为传感器焦距,Rex为传感器在水平方向的分辨率,γ为传感器在水平方向的张角,Rey为传感器在垂直方向的分辨率,φ为传感器在垂直方向的张角。
由图 11(a)可得,图像中每个像素点在水平方向代表的真实长度px(单位:mm/pixel)可由式(7)获得:
$${p_x} = \frac{{2f \times \tan \frac{\gamma }{2}}}{{{R_{{\rm{ex}}}}}}$$ (7) 同理,由图 11(b)可得,图像中每个像素在垂直方向代表的真实长度py(单位:mm/pixel)可由式(8)获得:
$${p_y} = \frac{{2f \times \tan \frac{\varphi }{2}}}{{{R_{{\rm{ey}}}}}}$$ (8) ③ 计算线段GH的长度。
由于GH是EF在y轴上的投影,因此GH的长度可由式(9)获得:
$$GH = {p_y} \times \left| {{y_E} - {y_F}} \right|$$ (9) 式中:yE和yF分别表示点E和点F在y方向的坐标值。
④ 计算线段OC的长度。
图 9中,IOK为主光轴,因此点I为图像平面STUV的中心,OI垂直于平面STUV且OI的长度即为传感器的焦距f。因为传感器的分辨率为80×64,所以可以推算出图像中心点I的像素坐标为xI=39.5,yI=31.5。
在ΔOIG中,因为$OI \bot IG$,所以OG的长度可由式(10)获得:
$$\begin{gathered} OG = \sqrt {{f^2} + {{\left[ {{p_y} \times \left( {{y_G} - {y_I}} \right)} \right]}^2}} \\ {\rm{ }} = \sqrt {{f^2} + {{\left[ {{p_y} \times \left( {{y_E} - {y_I}} \right)} \right]}^2}} \\ \end{gathered} $$ (10) 同理,在ΔOIE中,因为$OI \bot IE$,所以OE的长度可由式(11)获得:
$$OE = \sqrt {{f^2} + {{\left[ {{p_x} \times \left( {{x_E} - {x_I}} \right)} \right]}^2} + {{\left[ {{p_y} \times \left( {{y_E} - {y_I}} \right)} \right]}^2}} $$ (11) 因此,在ΔOGE中,因为$GE \bot OG$,所以:
$$\angle EOG = \arccos \frac{{OG}}{{OE}}$$ (12) 由于$\angle EOG$与$\angle AOC$为对顶角,因此两个角的度数相等。在ΔAOC中,因为$AC \bot OC$,所以线段OC的长度可由式(13)获得:
$$OC = OA \times \cos \angle AOC = OA \times \cos \angle EOG$$ (13) ⑤ 计算真实世界中的人体高度,即线段AB的长度。
为了更清晰地表达线段CD与线段GH之间的关系,本文将平面HGOCD单独列出,如图 12所示。
从图 12中可以看出,因为$OI \bot HI$,所以:
$$\begin{gathered} \alpha = \arctan \frac{{HI}}{{OI}} = \arctan \frac{{\left| {{y_H} - {y_I}} \right| \times {p_y}}}{f} \\ {\rm{ }} = \arctan \frac{{2 \times \left| {{y_F} - {y_I}} \right| \times \tan \frac{\varphi }{2}}}{{{R_{{\rm{ey}}}}}} \\ \end{gathered} $$ (14) 同理,因为 $OI \bot GI\$,所以:
$$\begin{gathered} \beta = \arctan \frac{{GI}}{{OI}} = \arctan \frac{{\left| {{y_G} - {y_I}} \right| \times {p_y}}}{f} \\ {\rm{ }} = \arctan \frac{{2 \times \left| {{y_E} - {y_I}} \right| \times \tan \frac{\varphi }{2}}}{{{R_{ey}}}} \\ \end{gathered} $$ (15) 由图 3中传感器的安装方式可知,在图 9中,$\angle C'OJ$的大小为传感器在垂直方向张角的一半,因此:
$$\eta = 90^\circ - \frac{\varphi }{2}$$ (16) 因为η为ΔOJD的外角,因此:
$$\theta = \eta - \alpha $$ (17) 同理可得:
$$\psi = 90^\circ + \alpha $$ (18) 在ΔCJ'D中,因为$CJ' \bot OJ$,所以线段OJ'的长度可由式(19)获得:
$$OJ' = OC \times \cos \angle COJ' = OC \times \cos \beta $$ (19) 因为ΔHOG和ΔD'OC'为相似三角形,所以:
$$CD' = \frac{{OJ'}}{f} \times GH$$ (20) 根据正弦定理,可以求出线段CD的长度为:
$$CD = \frac{{CD' \times \sin \psi }}{{\sin \theta }}{\rm{ }}$$ (21) 由图 9可知,CD为人体在平面OLMN的投影,即AB与CD长度相等。将上述所有公式联立后可得:
$$\begin{array} {l} AB = CD = \frac{{\frac{{OA \times \cos \left( {\arccos \frac{{\sqrt {{f^2} + {{[{p_y} \times ({y_E} - {y_I})]}^2}} }}{{\sqrt {{f^2} + {{[{p_x} \times ({x_E} - {x_I})]}^2}} + {{[{p_y} \times ({y_E} - {y_I})]}^2}}}} \right) \times \cos \left( {\arctan \frac{{2 \times \left| {{y_G} - {y_I}} \right| \times \tan \frac{\varphi }{2}}}{{{R_{{\rm{ey}}}}}}} \right)}}{f}}}{{\sin \left( {90^\circ - \frac{\varphi }{2} - \arctan \frac{{2 \times \left| {{y_H} - {y_I}} \right| \times \tan \frac{\varphi }{2}}}{{{R_{{\rm{ey}}}}}}} \right)}} \times \\ \quad \quad \quad \;\quad \quad \frac{{ \times \frac{{2f \times \tan \frac{\varphi }{2}}}{{{R_{{\rm{ey}}}}}} \times \left| {{y_E} - {y_F}} \right| \times \sin \left( {90^\circ + \arctan \frac{{2 \times \left| {{y_H} - {y_I}} \right| \times \tan \frac{\varphi }{2}}}{{{R_{{\rm{ey}}}}}}} \right)}}{{\sin \left( {90^\circ - \frac{\varphi }{2} - \arctan \frac{{2 \times \left| {{y_H} - {y_I}} \right| \times \tan \frac{\varphi }{2}}}{{{R_{{\rm{ey}}}}}}} \right)}} \\ \quad \quad \quad \quad = \frac{{2 \times OA \times \cos \left( {\arccos \frac{{\sqrt {{f^2} + {{[{p_y} \times ({y_E} - {y_I})]}^2}} }}{{\sqrt {{f^2} + {{[{p_x} \times ({x_E} - {x_I})]}^2}} + {{[{p_y} \times ({y_E} - {y_I})]}^2}}}} \right) \times \cos \left( {\arctan \frac{{2 \times \left| {{y_E} - {y_I}} \right| \times \tan \frac{\varphi }{2}}}{{{R_{{\rm{ey}}}}}}} \right)}}{{{R_{{\rm{ey}}}} \times \sin \left( {90^\circ - \frac{\varphi }{2} - \arctan \frac{{2 \times \left| {{y_F} - {y_I}} \right| \times \tan \frac{\varphi }{2}}}{{{R_{{\rm{ey}}}}}}} \right)}} \times \\ \quad \quad \quad \;\quad \, \, \, \frac{{\tan \frac{\varphi }{2} \times \left| {{y_E} - {y_F}} \right| \times \sin \times \sin \left( {90^\circ + \arctan \frac{{2 \times \left| {{y_F} - {y_I}} \right| \times \tan \frac{\varphi }{2}}}{{{R_{{\rm{ey}}}}}}} \right)}}{{{R_{{\rm{ey}}}} \times \sin \left( {90^\circ - \frac{\varphi }{2} - \arctan \frac{{2 \times \left| {{y_F} - {y_I}} \right| \times \tan \frac{\varphi }{2}}}{{{R_{{\rm{ey}}}}}}} \right)}} \\ \end{array} $$ (22) 根据式(22),可以通过图像中的人体信息计算出真实世界中的人体高度。由图 8可知人体行走和跌倒时,人体像素高度的变化曲线较为类似;而从图 13中可以看出,相同情况下人体真实高度的变化曲线具有较为明显的差异。因此,使用逆向投影算法,可以有效区分跌倒和其他行为。
2.4 跌倒检测
2.4.1 数据平滑
从图 13中可以看出,当人体跌倒和行走时,人体真实世界高度数据具有一定程度的波动,不利于设计判决算法。
为减缓数据波动,本文对其进行平滑处理:首先,把连续N帧的数据作为一个整体;其次,对每个整体中的数据从大到小进行排序;再次,去除最大与最小各N/10帧数据,并将处理后的数据记为h(i);最后,使用式(23)计算平滑后人体高度H(i):
$$H(i) = \frac{5}{{4N}}\sum\limits_{i = 1}^{\frac{{4N}}{5}} {h(i)} $$ (23) 当N选择过小时,平滑后的数据波动较大,不利于设计判决算法;当N选择过大时,平滑后的数据存在与实际情况不符和延时过长等问题。本文中参数N的选取方法为令4名实验者沿5个不同方向进行行走和跌倒等2种行为,总计获取40组红外图像序列数据;令N取不同的数值,对其进行测试。实验结果表明,当N=20时,平滑效果最好。如图 14所示,平滑后特征量的波动明显降低,且依然保留着跌倒检测所需的变化趋势。
2.4.2 跌倒判决
不同身高的人在跌倒时人体高度变化的绝对值有所差异。因此,使用人体高度的相对变化率作为跌倒的评判标准更为准确。然而,大量实验结果表明,由于人体平躺等状态真实高度较小,且平滑后特征量存在波动,仅使用该判决方法会导致少量非跌倒状态误判为跌倒。为解决上述问题,本文利用高度的相对变化率和其变化的绝对值对跌倒进行判决。设第i帧中人体在真实世界的高度为H(i),第i-M帧中人体在真实世界的高度为H(i-M),阈值分别为Th1与Th2。当人体高度的变化满足式(24)与式(25)时,判决人体在第i帧跌倒;否则,将人体状态视为正常。
$$\frac{{H(i)}}{{H(i - M)}} < {T_{h1}}$$ (24) $$H(i - M) - H(i) > {T_{h2}}$$ (25) 传感器帧率为6帧/s,跌倒过程大约需要3s;为使间隔帧数包含完整的跌倒过程,特在跌倒前、后各多选取1帧数据;因此M取值为20。在确定M取值后,首先,将视场划分为5个区域,令4名实验者在5个区域分别进行跌倒、行走、静坐、站立、平躺和下蹲等6种行为,总计获取120个数据。其次,依次计算当M=20时,跌倒、行走、静坐、站立、平躺和下蹲等6种行为中人体相对高度变化和人体绝对高度变化,并对每种行为中的人体相对高度变化取极小值,人体绝对高度变化取极大值。最后,对4名实验者在5个视场区域跌倒时人体相对高度变化极值中取极大值和人体绝对高度变化极值中取极小值;最终得到Th1取值为0.35,Th2取值为1020。
3. 实验结果与分析
为了验证逆向投影算法的效果及人体跌倒检测方法的性能,本文分别针对这两种情况采集不同的实验数据,在64位Windows6系统上使用MATLAB 2018a运行实验。其中,逆向投影算法采集人体行走与跌倒状态,使用人体高度变化作为特征量进行分析;人体跌倒检测方法采集6种常见动作,使用混淆矩阵及3种评估指标进行分析。
3.1 逆向投影算法测试与分析
3.1.1 实验数据
本文邀请4名不同身高、体态的人员在同一初始位置沿5个不同方向行走和跌倒,其中行走路线如图 15所示,跌倒方向如图 16所示。
3.1.2 实验结果分析
为便于验证逆向投影算法效果,本文依据2.4.2节跌倒判决中确定的20帧作为间隔,分析间隔前后非逆向投影人体图像高度变化及逆向投影人体真实高度变化情况。为便于分析比较,对每条行走路线或每个跌倒方向中4名实验者人体高度变化的最大值和最小值取极值,平均值取均值,行走和跌倒的实验结果分别如表 1、表 2所示。
表 1 行走实验数据Table 1. Walking experiment dataRoute Human body height change by non-back projection algorithm Δw1/pixel Human body height change by back projection algorithm Δw2/mm Minimum Maximum Average value Minimum Maximum Average value 1 6 8 7 43 165 106 2 9 11 10 48 187 118 3 12 14 13 52 223 138 4 8 10 9 45 182 115 5 5 7 6 41 158 102 表 2 跌倒实验数据Table 2. Fall experiment dataRoute Human body height change by non-back projection algorithm Δf1/pixel Human body height change by back projection algorithm Δf1/mm Minimum Maximum Average value Minimum Maximum Average value 1 17 20 18 991 1475 1233 2 16 18 17 986 1465 1128 3 12 15 13 886 1174 1032 4 15 17 16 975 1253 1114 5 17 19 18 988 1484 1238 从表 1和表 2中可以看出,非逆向投影人体图像高度变化在行走与跌倒这两种情况下较为接近,这使得阈值难以设置;尤其是沿3号路线行走时其高度变化的最大值超过沿3号方向跌倒时的最小值,这意味着必然会出现误判的情况。与此相比逆向投影人体真实高度变化在行走与跌倒这两种情下区别度较高,这便于准确设置阈值,降低误判的可能性。综上所述,对比实验结果充分证明了逆向投影算法的优势。
3.2 跌倒检测方法测试与分析
3.2.1 实验数据
为丰富样本类型,邀请4名不同身高、体态的人员完成表 3所要求的6种人体常见动作。其中,跌倒为主要识别姿态,因此该动作每人完成20次,其余动作每人完成10次。总计获得280组实验数据,其中跌倒类80组,非跌倒类共200组。
表 3 动作要求Table 3. Action requirementsFall action Fall down Non-fall action Walk back and forth Sit on the chair Standing Lying in bed Squat fast 3.2.2 混淆矩阵
本文所提算法的检测情况如表 4所示。
表 4 检测情况混淆矩阵Table 4. Confusion matrix of detection resultsReal state Predictor state Fall Non-fallng Fall 79 1 Walk 0 40 Sit 0 40 Stand 0 40 Lay 0 40 Squat 3 37 从表 4可以看出,“跌倒”的判决准确率高达98.75%。仅当人体头发较为浓密,背对传感器且跌倒后面部向上时,由于跌倒前头发遮挡使温度下降进而使人体与传感器之间距离的计算结果偏小并最终令计算所得人体高度小于真实身高,而跌倒后温度正常使计算所得人体高度等于真实身高,这导致人体高度变化量不满足跌倒阈值,从而将跌倒误判为非跌倒。
非跌倒动作中,“行走”、“静坐”、“站立”、“平躺”这4种行为均能准确判决为非跌倒状态。当快速蹲下时,人体真实高度的变化情况与跌倒较为近似;加之数据本身即存在一定的波动性,因此算法会将少部分“下蹲”误判为跌倒。即使如此,“下蹲”行为的判决准确率也达到了92.5%的较高精度。
3.2.3 评估指标
跌倒检测属于二分类问题,模型只需分辨跌倒和非跌倒运动两种类别即可。二分类模型的判断结果可能存在以下4种情况:
① 真阳性(true positive):跌倒的实验中被检测为跌倒的次数。
② 假阳性(false positive):非跌倒的实验中被检测为跌倒的次数。
③ 真阴性(true negative):非跌倒的实验中被检测为非跌倒的次数。
④ 假阴性(false negative):跌倒的实验中被检测为非跌倒的次数。
根据以上4种情况,可以得到敏感度(sensitivity)、特异度(specificity)和准确率(accuracy)3种模型评估指标:
$${\rm{Sensitivity}} = \frac{{{\rm{TP}}}}{{{\rm{TP }} + {\rm{ FN}}}}$$ (26) $${\rm{Specificity}} = \frac{{{\rm{TN}}}}{{{\rm{TN }} + {\rm{ FP}}}}$$ (27) $${\rm{Accuracy}} = \frac{{{\rm{TP }} + {\rm{ TN}}}}{{{\rm{TP + FN + TN + FP}}}}$$ (28) 敏感度反映了模型识别跌倒的能力,特异度反映了模型识别非跌倒运动的能力,准确率反映了模型的总体精确度。
3.2.4 各类跌倒检测方法对比与分析
为验证跌倒检测方法效果,本文在自己的红外数据集上与目前检测效果较好的Liang等人[16]方法进行对比,对比结果如表 5所示。
表 5 本文方法与其他方法对比结果Table 5. Results comparisonMethod of this paper Reference [16] Sensitivity/(%) 98.75 91.25 Specificity/(%) 98.50 86.50 Accuracy/(%) 98.57 87.86 从表 5可以看出,本文所提方法在敏感度,特异度及准确率方面均优于文献[16]方法,体现出该方法的优异性能。由于部分情况下人体真实高度计算结果存在误差或波动,使得本文方法存在少量误判情况。在接下来的工作中,将对人体与传感器之间的距离计算方式进行更深入研究,以求进一步提高算法的检测精度。
4. 结论
本文提出了一种基于红外图像和逆向投影算法的室内人体跌倒检测方法。该方法首先借鉴卡尔曼滤波思想利用帧与帧之间的关联对人体进行精确定位;其次,利用逆向投影算法由图像信息倒推出人体在真实世界的高度,并通过平滑处理降低数据波动;最后,利用平滑后的人体真实高度变化情况进行跌倒检测。
实验结果表明,与其他基于红外图像的跌倒检测算法相比,本文所提方法具有更高的检测精度,其性能完全可以应用于实际生活中。
-
期刊类型引用(2)
1. 高程,唐超,童安炀,王文剑. 基于CNN和LSTM混合模型的红外人体行为识别. 合肥学院学报(综合版). 2023(05): 77-85 . 百度学术
2. 赵普,武一. 面向社区医疗的跌倒检测算法. 中国医学物理学杂志. 2023(12): 1486-1493 . 百度学术
其他类型引用(12)
计量
- 文章访问数: 131
- HTML全文浏览量: 18
- PDF下载量: 21
- 被引次数: 14