简易无接触温度测量与身份识别装置
2023-08-28孟宇科刘伟林
孟宇科,刘伟林
(佳木斯大学信息电子技术学院,黑龙江 佳木斯154007)
0 引言
新冠肺炎是一种传染性较强且潜伏期长的疾病,已经对人们的日常生活带来极大的危害。尽管目前的疫情形势相对于爆发初期有了好转,但疫情并没有彻底消失,近期仍会出现少部分病例,并且国外的疫情形势始终比较严峻,因此仍不能松懈对于疫情的防控。
目前应对疫情防控工作,一般在公共场合需要工作人员使用测温枪或者使用带有热成像摄像头的设备来对公共场合的人们进行记录,但是目前的设备并不能对人员进行监测是否佩戴口罩,是否已经录入人脸系统,因此针对上述现象,提出了一种简易无接触温度测量与身份识别装置。
1 系统方案设计
1.1 系统方案组成
简易无接触温度测量与身份识别装置系统主要由STM32F103ZET6主控模块、电源、独立按键、温度传感器、摄像头、显示屏等电路模块组成,系统框图如图1所示。
图1 系统框图
图2 平均值滤波框图
图3 程序主要流程图
该系统主要由三部分组成:温度测量过程,现场学习人员人脸特征,分析是否符合疫情防控标准。
1) 现场学习人员人脸特征:系统通过按键触发机器学习功能,通过OpenMV摄像头将采集到的多次人脸图像分布的基本元素进行分析,通过图形/神经识别算法进行处理,并进行标签标定,同时与主控芯片进行串口交互信息,将标签录入到主控芯片数据库内。
2) 分析是否符合疫情防控标准:系统通过OpenMV摄像头将采集到的人脸数据再次进行基本元素分析,分析基本元素是否缺少,例如缺少嘴巴,鼻子则判定为符合防疫标准,若缺少眼睛鼻子等,则认为未规范佩戴口罩,不符合防疫标准,若基本元素无缺少,则认为不符合防疫标准。
3) 温度测量过程:温度测量过程在全系统启动至关闭一直启用,一旦监测到有人员检测,或通过按键触发,则进行温度测量,且可以设定温度阈值来进行相应的报警,用来提醒工作人员。
1.2 温度测量算法
均值滤波的基本原理是用均值代替原数据中的各个数值。均值滤波是低通数字滤波的一种。对信号x滤波,滤波输出为y。
指数平均滤波(EMA):指数平均滤波本质上是一种加权滤波,其权重值是以指数式递减的,EMA会将数据赋予一定的权重值。
yi=(1-α)yi-1+αxi.
(1)
当检测到温度数值时,对红外温度传感器检测到的总体数据进行均值滤波计算。仅靠温度传感器的测量温度误差较大,本文采取Horner算法对温度进行修正,在某一固定的温度下,设传感器的输入输出值可以用多项式函数表示:
y=a0+a1x+a2x2+…+aNxN.
(2)
x是传感器的输出,y是传感器所测量的物理量的真实值。将上式写成矩阵形式:
(3)
bij确定即完成温度修正工作;
(4)
多项式函数经过变换:
.
(5)
定义一个辅助矩阵:
.
(6)
xp表示第p个测量值。
则传感器的经过温度修正后的测量值为:
y=F·b
.
(7)
传感器测量的真实值为:
.
(8)
目标就是求b使得矢量y-z最小
FT·z=FT·F·b
.
(9)
使用Horner 算法,将求n次多项式的值转化为求n个一次多项式的值,使得温度数据测量的更加快速、准确。
1.3 摄像头识别算法
Step1获取包含M张人脸图像的集合S。每张图像可以转换成一个N维的向量,然后把这M个向量放到一个集合S里:
S={T1,T2,T3,……,TM}
.
(10)
Step2获取到人脸向量集合S后,计算得到平均图像向量Ψ。向量Ψ的维度为20×N:
.
(11)
Step3计算每张图像和平均图像的差值Φ:
Φi=Ti-Ψ
.
(12)
Step4找到M个正交的单位向量un。un里面的第k(k=1,2,3,...,M)个向量uk计算公式:
.
(13)
λk取最小的值时,uk确定。
.
(14)
uk为单位正交向量。协方差矩阵C的维度是N×N。
.
(15)
其中,A=Φ1,Φ2,Φ3,……,Φn。
Step5设该矩阵为L,那么L的第m行n列的元素可以表示为:
.
(16)
Step6L矩阵的M个特征向量为vl,协方差矩阵的特征向量ul就可以表示为:
.
(17)
对特征值进行递减排序,特征向量和它的顺序一致。P个主成分也就是P和最大的特征值对应的特征向量。
Step7 T的P个主成分:
y=WT(T-μ)
.
(18)
Step8PCA基的重构:
x=Wy+μ
.
(19)
Step9特征脸通过下面的方式进行人脸识别:
1) 把所有的训练数据投影到PCA子空间;
2) 把待识别的图像投影到PCA子空间;
3) 找到训练数据投影后的那个和待识别图像投影后的向量最近的那个。
Step10识别人脸。用特征脸对其进行标示:
.
(20)
其中,k=1,2,……,M,对于第k个特征脸uk,M个权重可以构成一个向量:
ΩT=[ω1,ω2,……,ωM]
.
其中,Ω代表要判别的人脸;Ωk代表训练集内的某个人脸,两者都是通过特征脸的权重来表示。对两者求欧式距离,当距离小于阈值时说明要判别的脸和训练集内的第k个脸是同一个人的。当遍历所有训练集都大于阈值时,根据距离值的大小可分为新的人脸或者不是人脸的两种情况。根据训练集的不同,阈值设定不固定的。
通过特征脸法将人脸的特征点录入进去,进行编号。进行人脸识别时,将摄像头捕捉到的人脸的特征点进行扫描,与图像库中的人脸的特征点相对照,找到与所识别人脸相匹配的图像,在屏幕上显示其相对应的数值编号。
1.4 系统硬件设计
1) 主控MCU:采用STM32F103ZET6单片机作为主控制模块。由ST厂商专门为要求高性能、低成本、低功耗的嵌入式应用设计的性价比超高的ARM Cortex-M3内核,存储器内存相对较大,多个定时器和通信接口,工作频率高,运行速度快。
2) 摄像头:采用Open MV3摄像头模块[1]。Open MV摄像头使用范围广,可用于人脸识别,赛道识别,图像处理等多方面。其灵敏度高,图像信息丰富,识别能力强,不易受外界光线干扰,高效低耗,图片清晰。
3) 无接触温度测温模块:采用MLX90614红外测温传感器。MLX90614集成了红外探测热点对芯片与信号处理专用集成芯片,具有非接触、体积小、精度高、成本低等优点。并且测量精度高、分辨率高。
1.5 系统软件设计
1.5.1 程序功能描述
软件设计主要完成通过摄像头进行身份学习,身份匹配,并从温度、防护等方面检测人员是否符合防疫标准。
1.5.2 程序流程
程序流程如图1。
2 系统测试与结果分析
2.1 录入人脸与人脸匹配测试
表1 身份验证测试
2.2 温度报警测试
温度阈值设定:36.0 ℃~38. 0℃;其阈值可通过按键进行调整。
表2 温度报警测试
3 结论
本文设计的简易无接触温度测量与身份识别系统,利用人脸特征基本元素,进行处理,使用Horner算法对温度补偿,可以实现人脸识别,无接触温度测量,人员现场机器学习,报警等功能。