APP下载

基于低分辨率红外阵列传感器的人体识别算法

2022-10-19耿建平黄文广

传感技术学报 2022年7期
关键词:卡尔曼滤波分量阈值

耿建平黄文广

(桂林电子科技大学电子工程与自动化学院,广西 桂林 541000)

随着科技的快速发展,科技深入到各方各面。在军事、公安、日常生活中无处不在,人体检测也成为发展的重点。在军事作战方面可用于人员检测,在公安方面可用于人员监督,在日常生活中可用于报警系统的监督和节能系统的检测。在现有方法中,有工艺成熟的热释电红外传感器检测法,能够对运动的人进行精确测量,但其缺点是无法实现对静止不动的人进行检测,所以使用阵列传感器对人体进行检测得到了快速的发展,因其不仅可以对运动的人进行检测还可对静止的人进行检测。它的测量方式是将一个区域平均分成多个小区域,然后对每个小区域的平均温度进行测量,而这时候它的测量准确性就会受到背景温度,距离的影响。要想提高准确性有两种方法,一种是硬件上,在相同的区域上,增加小区域数量也就是所说的分辨率,这时不管是工艺复杂程度、难度还是体积都会成倍提升。第二种是通过算法来提高检测准确性,且算法能够提高任何分辨率的阵列红外传感器检测准确性。

在使用低分辨率阵列传感器的检测算法中,有自适应背景估计[1]和帧间方差法[2]。在无外部环境干扰下,两种方法都能实现很好的检测。其共有缺点是无法在含高频率红外信号外部环境干扰下的准确实现人体识别。帧间方差法,通过采用每帧之间的方差差值与阈值对比来实现人体检测,因算法瞬时特性,可以对连续变化的红外信号进行区分。因高频率温度干扰也具有瞬时性,所以无法将其进行区分,且当人体处于静止状态,也无法使用该算法对人体进行检测,只能通过阈值进行判断,使得该算法在含高频率红外信号外部干扰下准确度较低。自适应背景估计通过人体测量温度和背景温度的温度差值与阈值对比来实现人体检测,人体测量温度由传感器测量数据通过卡尔曼滤波得到,背景温度由热敏电阻传感器测量数据通过背景估计算法得到,因外部热源会提高背景温度、减小与人体温度的差值,且卡尔曼滤波只能消除白噪声,无法消除其他噪声,所以无法区分外部环境的高频率温度干扰,使得该算法在含高频率红外信号外部干扰下准确度较低。针对这两种算法的缺点,对自适应背景估计算法进行修改和创新,提出了一种新的算法,命名为人体识别算法。算法的第一步,对每个传感器检测单元的数据进行卡尔曼滤波[3-5],消除信号中的白噪声干扰。第二步对滤波后的数据进行EMD算法分解[6-9]得到IMF分量,通过IMF分量的瞬时频率有效性,实现外部热源红外信号、人体红外信号、高频率红外干扰信号的区分。如果IMF分量包含两种或两种以上信号,将IMF分量重复第二步。第三步对部分IMF分量使用小波变换和重组算法[9-13],选择适当的阈值剔除不需要的信号,目的是减少数据进行EMD算法的分解和IMF分量的分析和处理的次数,简化算法。第四步将保留和处理后的IMF分量进行EMD算法重组。第五步对阈值进行选取,判断人体是否存在。

数据采集使用的是D6T-44L-06低分辨率阵列传感器,通过物体表面温度进行测量。具有体积小,易于安装,价格便宜等优点。D6T-44L-06低分辨率阵列传感器有16个通道,按4×4排列,还包含一个环境温度测量单元。

1 人体红外信号提取算法

算法共分为两部分。第一部分,对低分辨率阵列传感器采集到的原始数据进行人体红外信号特征提取,图1为第一部分算法流程图。第二部分,进行阈值选取,对人体存在进行判断。本文数据通过低分辨率阵列传感器D6T-44L-06实际检测获取。

图1 人体红外信号特征提取算法流程图

1.1 人体红外信号提取

1.1.1 卡尔曼滤波

对采集到的原始数据进行卡尔曼滤波[3-5],使用该算法是为了去除外部干扰信号中所包含的白噪声。卡尔曼滤波可以分成两部分,第一部分建模,第二部分进行估计和数据融合。

第一部分模型建立:

状态方程:设当t时刻的温度为X1(t),温度是随时间变化的。设在24h中温度的变化率为X2(t),需要获取X2(t)与X2(t-1)的关系来建立模型,当t与(t-1)的时间间隔越小,X2(t)与X2(t-1)越相近,当时间间隔足够小时X2(t)=X2(t-1),这时两时刻的温度变化是匀速变化。当时间间隔取值为0.1 s时,误差为正负0.23%。由此得到方程如下:

由于存在过程误差,所以由式(1)得到如下公式:

取ΔT=1,得:

测量方程:由温度传感器直接测量得到,设测量温度为Y(t),存在测量误差V(t),公式如下:

由卡尔曼滤波得,一个动态系统可以由如下方程表示:

由式(3)~式(5)得:

第二部分数据估计和融合:

预测:

模型中没有ωk-1得:

重点是¯X0的初始取值。

先验误差协方差:

重点是P0的初始值取值。式中Q为过程误差协方差矩阵。

校正:

卡尔曼增益:

式中:R为测量误差协方差矩阵。

后验估计:

更新误差协方差:

图2和图3所示,为低分辨率阵列传感器采集到的不同实际情况下的原始数据图。图4和图5,为分别对图2和图3的原始数据进行卡尔曼滤波算法处理后的结果图。从图中的数据对比和大量的实验结果可知,数据进行卡尔曼滤波后能够对干扰信号中的白噪声部分进行很好去除。

图2 人体经过测量区域低分辨率阵列传感器采集数据图

图3 人体进入测量区域静止低分辨率阵列传感器采集数据图

图4 对图2数据进行卡尔曼率滤波后数据图

图5 对图3数据进行卡尔曼率滤波后数据图

1.1.2 EMD算法分解与IMF分量

对卡尔曼滤波后的数据,通过EMD算法[6-9]分解成为本征模态函数(Intrinsic Mode Function,IMF)的组合分量和残差Rn,IMF分量是一系列存在瞬时频率的函数,实现了数据的频率分离。

在本实验中,通过对使用卡尔曼滤波算法处理后的数据进行研究发现,外部热源在启动和使用过程中有温度的变化,大部分的温度变化是连续的,少部分是高频率温度噪声。环境温度本身,在短时间内基本保持不变。人体经过测量区域产生的温度是跳变的。三部分的红外信号频率是不一样的,通过这个特点,对信号进行区分,可实现对人体红外信号的特征提取。IMF分量所表达的就是瞬时频率有效,通过其特性可以对三部分红外信号实现区分。

EMD算法分解如下:

第一步,给定原始信号x(t),利用三次样条曲线插值法[14-16]连接x(t)的局部极大值点及极小值点,得到上包络xmax(t)和下包络xmin(t)及上下包络的均值m1(t):

大部分的实际情况下,m1(t)是一个低频序列。

第二步,求出原始信号与m1(t)的差,记为h1(t):

第三步,若h1(t)满足IMF的条件,则令c1(t)=h1(t),且作为x(t)的第一个本征模态函数;若h1不满足IMF的条件,则对h1(t)重复第一步和第二步,即记:

并判断h11(t)是否满足IMF的条件,如此迭代下去,直到获得满足IMF条件的序列h1k(t),记:

这样,我们得到第一个本征模态函数c1(t)。大部分实际情况下,c1(t)代表的是原始信号中的高频部分,可作为原始信号的一个振动模态。

第四步,将c1(t)从原始信号中分离出来,即令:

第五步,分析r1(t),若r1(t)为常数或基本呈单调趋势,或者小于事先给定的固定阈值,可被视为测量误差而忽略,即已不能再从中提取IMF时,分解结束。若r1(t)不满足上述条件,则重复第一步到第四步,直至得到第二个IMF,记为c2(t)。

第六步,令:

对r2(t)运用第五步,如此进行下去,直到得到的rn(t),满足第五步的条件时,分解结束。

经过上述“筛选”过程,从原始信号中分离出n个IMF:c1,c2,…,cn和一个趋势项或误差rn,即原始信号可表示为:

如此,就实现了对一个信号的经验模态分解。

1.1.3 小波变换和重组算法

在通过IMF分量进行人体红外信号提取时,IMF分量无法做到只包含某一种红外信号,只能做到尽量包含大部分某一种红外信号和少部分其他红外信号,且需要对IMF分量进行多次EMD算法分解,才能达到区分目的。为了降低算法的复杂程度,对部分IMF分量通过小波变换和重组算法,选取适当的阈值,去除外部干扰红外信号,保留人体红外信号。

1.1.4 EMD重组

通过大量实验表明,对卡尔曼滤波后数据进行EMD分解,得到的IMF分量中,IMF1分量是高频率红外噪声部分,人体红外信号主要在IMF2和IMF3分量中,IMF2分量中也包含了部分的高频率噪声。需要对IMF2进一步进行EMD算法,分解得到IMF分量进行分析,去除外部环境红外信号,保留人体红外信号。在IMF4分量中包含了部分的人体红外信号,也包含了部分外部环境红外信号。在IMF5分量中包含了大部分外部热源红外信号和自然环境温度变化的红外信号。

本实验采用去除IMF1和IMF5分量,对IMF2进一步进行EMD算法分解,得到IMF数据分量,再对IMF分量数据进行分析,去除其中的IMF1分量,保留其他分量。对IMF4分量进行小波变换重组算法。最终得到图6和图7中的数据。

图6 人体经过测量区域人体红外信号特征提取最终数据图

图7 人体进入测量区域静止人体红外信号特征提取最终数据图

1.2 阈值选取

对从算法第一部分得到的数据,进行阈值的选取。大于阈值部分为人体存在,小于阈值部分为人体不存在。阈值的选取方式为:在外部环境干扰下,人体经过或进入静止测量区域。选取50组数据进行算法处理,将得到的数据进行式(19)运算,得到50个阈值,选取其中最大的值为最终阈值。

如图8、图9所示。大于阈值部分为人体存在,小于阈值部分为人体不存在。

图8 人体经过测量区域阈值选取图

图9 人体进入测量区域阈值选取图

图10与图11为自适应背景估计数据图,因卡尔曼滤波只能消除白噪声,无法对其他干扰进行消除,在高频率红外干扰情况下会将一部分视为人存在,且外部热源会提高背景温度值,减少与人体红外信号的差值,降低检测准确度。

图10 人体经过测量区域自适应背景估计数据图

图11 人体进入测量区域静止自适应背景估计数据图

2 实验验证

人体检测系统流程图如图12所示,硬件系统包括数据采集模块和主控模块,数据采集模块D6T-44L-06阵列传感器进行数据采集,在STM32的控制下通过I2C协议进行数据传输,再通过NRF24L01无线通信发送到主控模块。主控模块通过串口与PC端进行数据传输。主控模块对采集到的数据进行人体识别算法处理,进行人体检测。低分辨率阵列传感器的安装方式有两种,一种为墙壁安装,一种为天花板安装,本实验采用天花板安装[1],与人体测量距离在1.0 m~1.5 m。图13和图14为实物图。

图12 人体检测系统流程图

图14 主控模块图

实验环境的学校实验室、教室、宿舍、食堂。本次实验进行无外部环境干扰测试、无高频率红外信号外部环境干扰测试、含高频率红外信号外部环境干扰测试三种情况。使用的外部干扰源有手机、电脑、吹风机、热水器、烤火箱、电磁炉等。考虑到一年分春夏秋冬四个季节,而刚好夏季外部环境温度是最高的时候,也是影响最大的时候。夏季的每天早中晚分别进行测试,测试时间为一个星期。

经过测量的实验结果表明,算法实现了在含高频率红外信号外部干扰环境下对人体存在进行正确的测量,解决了现有算法存在的缺点。表1为现有算法与本算法的数据对比。

表1 算法数据对比表格

3 结论

提出了一种能够在含高频率红外信号外部环境干扰下,对低分辨率阵列传感器人体检测进行准确识别的算法,解决了原有算法不能在含高频率红外信号外部环境干扰下进行准确识别的难题。在无外部环境干扰下,帧间方差法准确度为99.86%,自适应背景估计准确度为99.61%,本实验准确度为98.85%。在无高频率红外信号外部环境干扰下,帧间方差法准确度为98.46%,自适应背景估计准确度为97.12%,本实验准确度为99.65%。在含高频率红外信号外部环境干扰下,帧间方差法准确度为70.23%,自适应背景估计准确度为73.63%,本实验准确度为98.85%。本实验对低分辨率阵列传感器的推广和使用将起到重要作用。

所提算法的缺点:因为低分辨率阵列传感器的特性为检测物体表面温度,当外部环境温度等于或高于传感器测量到的人体温度,就会造成温度覆盖,无法检测人体是否存在,预计解决办法为使用热释电传感器辅助检测。

猜你喜欢

卡尔曼滤波分量阈值
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
基于无迹卡尔曼滤波的室内定位系统
卡尔曼滤波在农电网系统中的研究分析
非平稳声信号下的小波变换去噪方法研究
基于改进阈值的MRI图像降噪
土石坝坝体失稳破坏降水阈值的确定方法
一种改进小波阈值去噪法及其仿真
画里有话
一斤生漆的“分量”——“漆农”刘照元的平常生活
一物千斤