2020 年山东省大学生电子设计竞赛
简易无接触温度测量与身份识别装置(F 题)
2020 年 10 月 13 日
摘 要
本文介绍了利用 MLX90614、OpenMV 等芯片与器件作为采集电路,基于
STM32F103 的简易无接触温度测量与身份识别装置。该系统利用温度测量器件
与图像采集模块相互配合,通过接收、处理系统回传的数字信号等数据,利用
滑动滤波与图像特征点提取与比对算法对外部温度、人脸信息进行测量与识
别,并完成相应的显示与报警功能。并且该系统利用了基于 LBP 的机器学习算
法,实现了在学习模式下对陌生人脸的特征参数提取与识别。符合基本的设计
规范,实测结果表明,本系统实现了题目要求的全部指标。
关键词:STM32F103;无接触温度测量;LBP 算法;人脸识别
目 录
1 系统方案 ......................................................... 1
1.1 微处理器的方案 ............................................... 1
1.2 无接触测温的方案 ............................................. 1
1.3 人脸识别的方案 ............................................... 1
2 设计与论证 ....................................................... 2
2.1 红外测温系统的设计与论证 ..................................... 2
2.2 人脸识别系统的设计与论证 ..................................... 2
3 电路及程序设计 ................................................... 3
3.1 系统原理图 ................................................... 3
3.2 系统组成 ..................................................... 3
3.3 各部分电路图 ................................................. 4
3.4 系统软件设计 ................................................. 4
3.3.1 测温程序流程图 ......................................... 4
3.3.2 人脸识别程序流程图 ..................................... 5
4 测量方案与测量结果 ............................................... 5
4.1 测量方案 ..................................................... 5
4.2 测量结果 ..................................................... 5
4.2.1 水温测量结果 ........................................... 5
4.2.2 人体体温测量结果 ....................................... 5
4.2.3 人脸识别测量结果 ....................................... 6
4.2.4 防疫要求测量结果 ....................................... 6
4.3 结果分析 ..................................................... 6
5 心得体会 ......................................................... 6
6 参考文献 ......................................................... 6
附录 Ⅰ:系统原理图 ............................................... Ⅰ
附录 Ⅱ:部分源程序 ............................................... Ⅱ
1 系统方案
1.1 微处理器的方案
方案一: 意法半导体(ST)集团的 STM32F103ZET6 与 STM32H7 双处理器。
STM32 是基于 ARM Cortex-M3 核心的 32 位微控制器,具有较快的运算能力,广
泛应用各类控制领域,片内集成资源丰富,功耗适中。STM32H7 是基于 ARM Cortex-
M7 的高性能处理器,在图像处理领域具有广泛应用。同时该两款微处理器符合
大赛对控制器的要求。
方案二:STM32F103ZET6 单处理器。单处理器可提高产品的集成度,同时消
除双处理器间的合作设计,更加简便,但 STM32F 系列处理器难以进行人脸识别
处理,会造成发热、运算速度慢甚至导致系统崩溃。因此,考虑到系统的时效性
和工作效率,最终选用方案一。
1.2 无接触测温的方案
方案一:MLX90614 红外测温。
Melexis 公司生产的 MLX90614 系列红外测温模块,可直接输出数字信号,
功耗低,精度高,测量误差小,广泛应用人体测温。
方案二:DS18B20 测温。
DS18B20 是常用的数字温度传感器,具有体积小,硬件开销低,抗干扰能力
强,精度高的特点。可准确地测量环境温度,但测量人体温度等“定点测温”时
误差较大,难以实现题目要求,比较后本系统选择方案一。
1.3 人脸识别的方案
方案一:Fast R-CNN 快速卷积神经网络。
卷积神经网络有输入层、卷积层、池化层三个主要层次,大大减少了全连接
神经网络的参数,成倍加快了图像处理速度,因此广泛应用人脸识别中。
方案二:LBP 辅助图像局部对比。
LBP 算法直接对区域内周围像素点信息和区域中心像素点信息进行比对,直
接得到显示区域纹理信息的值,相当于不通过卷积直接进入池化层,虽然比对精
度降低,但减少了需要处理的信息量,大大加快了处理速度。本系统使用的图像
处理芯片是 STM32H7,运算能力有限,难以实现大量的卷积运算,同时使用 LBP
-1-
虽然精度低,但完全可以以较高地准确度实现人脸识别。因此,经过比对我们选
择方案二。
2 设计与论证
2.1 红外测温系统的设计与论证
红外测温是典型的非接触式测温方式,根据物体的红外辐射能量确定物体的
温度,具有稳定性好,响应速度快,测温范围广等诸多优点。
物体红外辐射能量的大小和波长的分布与其表面温度关系密切。因此,通过
对物体自身红外辐射的测量,能准确地确定其表面温度,红外测温就是利用这一
原理测量温度的。红外测温器由光学系统、光电探测器、信号放大器和信号处理
及输出等部分组成。光学系统汇聚其视场内的目标红外辐射能量,视场的大小由
测温仪的光学零件及其位置确定。红外能量聚焦在光电探测器上并转变为相应的
电信号。该信号经过放大器和信号处理电路,并按照仪器内的算法和目标发射率
校正后转变为被测目标的温度值。
MLX90614BCC 测温模块,使用 I2C 与 MCU 进行通信。
引脚
名称
外部温度
信息
1
VIN
2
GND
3
SCL
4
SDA
MLX90614
采集
MCU 处理
OLED 显示
2.2 人脸识别系统的设计与论证
图 2-1 温度采集工作流程图
本系统的人脸识别采用星瞳科技公司生产的 OpenMV4 作为图像采集模块,使
用 STM32H7 芯片进行图像处理的运算,STM32H7 与 STM32F103 通过串口通信共享
信息。人脸识别原理基于 LBP(辅助图像局部对比)算法对人脸信息进行特征提
取、比对。其中,LBP 算法的基本原理是定义一个小型区域,以区域中心像素为
阈值,将相邻像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该
像素点的位置被标记为 1,否则为 0。这样即得到该窗口中心像素点的 LBP 值,
并用这个值来反映该区域的纹理信息。
-2-
为了实现在判别被测人是否佩戴口罩的同时,识别被测人身份,我们采用分
割图像分别检测的方式,方式简化表示如下:
项目
1
2
3
4
上半面部信息
下半面部信息
是否检测到口
是否匹配
是否匹配
是
是
否
否
是
否
—
—
罩
—
—
否
是
表 2-1 人脸识别算法实现方式
结果
人员已注册;未
佩戴口罩
人员已注册;已
佩戴口罩
人员未注册;未
佩戴口罩
人员未注册;已
佩戴口罩
3 电路及程序设计
3.1 系统原理图
见附录Ⅰ
3.2 系统组成
本系统是以意法半导体(ST)集团的 STM32F103ZET6、STM32H7 微控制器,
LM2596 系列稳压模块,蜂鸣器模块,OLED 显示模块、CamM7H7LCD 液晶显示屏、
MLX90614BCC 红外测温模块、OpenMV4 图像采集模块组成,系统完整框图如图 3-
1 所示。
MLX90614BCC 红外
测温模块
语音播报模块
OLED 显示
蜂鸣器
LM2596 系列稳压
OpenMV 图像采集
模块
模块
STM32F103ZET6
STM32H7
图 3-1 系统完整框图
CamM7H
7LCD
液晶显
示屏
-3-
3.3 各部分电路图
图 3-2 电源模块电路图
图 3-3 报警模块电路图 图 3-4 测温模块电路图
图 3-5 按键模块电路图 图 3-6 显示模块电路图
3.4 系统软件设计
3.3.1 测温程序流程图
否
STM32 启动
是否按下测温键?
否
是否按下阈值键?
否
是否按下模式键?
是否按下模式键?
是
测温
显示
是
阈值+1
是
退出系统
否
阈值是否超过量程?
是
温度是否超过阈值?
阈值初始化
是
否
报警/语音
图 3-1 测温程序流程图
-4-
3.3.2 人脸识别程序流程图
是
STM32 启动
是否按下注册键?
寻找人脸
否
是否按下模式键?
否
寻找人脸
注册信息
是
退出系统
识别人脸/口罩
显示结果
图 3-2 人脸识别程序流程图
4 测量方案与测量结果
4.1 测量方案
不同温
度的水
样本
多个被
测量用
户
处理器
结果
测温模块
人脸识别
图 4-1 测量方案
结果分析
4.2 测量结果
4.2.1 水温测量结果
实际温度(℃) 49.4
系统测量(℃) 49.7
46.8
47.2
45.2
45.3
41.8
41.4
40.1
39.4
38.7
38.7
36.9
36.7
35.9
35.6
31.3
31.1
27.4
27.8
表 4-1 水温测量结果
4.2.2 人体体温测量结果
实际温度(℃) 36.6
系统测量(℃) 36.6
36.3
36.3
36.6
36.5
36.4
36.6
36.3
36.4
36.1
36.4
36.4
36.6
36.7
36.2
36.7
36.4
36.8
36.3
-5-