基于STM32的测温与身份识别系统设计

2021-11-10 08:10:14胡徐胜陶彬彬
天津理工大学学报 2021年4期
关键词:云台人脸摄像头

胡徐胜,陶彬彬,曾 胜

(1.马鞍山市无线传感网与智能感知工程技术研究中心,安徽 马鞍山243031;2.皖江工学院电气信息工程学院,安徽 马鞍山243031)

席卷全球的新型冠状病毒让人类的生活方式发生了极大的变化,让温度测量尤其是无接触式的温度测量和身份识别发挥了前所未有的重要作用。本设计实现了无接触式温度测量和身份识别,提升了测量速度和身份识别效率。

1 方案设计

1.1 无接触温度测量模块的选择方案

常见的测温一般有热成像温度测量和红外测温两种实现方式。采用电子技术和计算机软件与红外线技术的结合,用来检测和测量热辐射[1]。不同物体表面对外辐射热量的大小不同,热敏感传感器获取不同热量差,通过电子技术和软件技术的处理,呈现出明暗或色差各不相同的图像,也就是通常说的红外线热成像。将辐射源表面热量通过热辐射算法运算转换后,可实现热量与温度之间的换算,从而测量出温度,但是其技术复杂且成本昂贵。本设计采用红外测温模块MLX90614,它是一款由Melexis研发并生产的温度传感器。它包括:1)红外热电堆感应器MLX81101;2)专为适用于这款感应器输出而设计的信号处理芯片MLX90302。这款产品应用了工业标准的TO-39封装,系统的控制和配合较为容易,且体积小,成本低。

1.2 主控芯片的选择方案

主控芯片选用STM32F103C8T6,它是一款基于ARM Cortex-M内核的32位系列微控制器芯片(STMicroelectronics 32 bit,STM32)。STM32F103-C8T6产品得益于Cortex-M3,在架构上进行的多项改进,包括在提升性能的同时又提高了代码密度的Thumb-2指令集,大幅度提高的中断响应速度等,而且所有新功能都同时具有业界最优的功耗水平[2]。目前,STMicroelctronics(ST)是第一个推出基于这个内核的主要微控制器厂商。STM32F103C8T6在结合了计算高性能、低功耗和低电压特性的同时,保持了高度的集成性能和简易的开发特性,具有良好的通用性能。各种外设操作起来简单方便,适合此次程序设计。

1.3 身份识别模块的选择

身份识别采用开源机器视觉(open machine vision,OpenMV),它是一种低成本、功能强大的机器视觉模块[3]。它以STM32F427CPU为核心,集成了OV7725摄像头芯片,在小巧的硬件模块上,用汇编语言高效地实现了核心机器视觉算法。

1.4 系统方案设计

本系统以STM32单片机为主控芯片,通过获取红外温度传感器测得的温度,并将其准确地输出到有机发光二极管(organic light emitting diode,OLED)显示屏上。OpenMV通过控制舵机云台检测人脸,将识别结果传递给单片机,并将结果显示在OLED显示屏上[4],系统结构图如图1所示。

图1 系统结构图Fig.1 System structure diagram

先对系统进行初始化,然后检测I/O口的状态。若是高电平,则读取红外温度传感器数据,并将结果输出到OLED屏上;若是低电平,则读取摄像头数据,随后控制云台电机转动。判断摄像头是否对准人脸,若已对准,停止云台电机转动,识别人脸,并将结果通过OLED屏幕和蜂鸣器显示;若没有,则云台电机继续转动直到对准人脸,该系统流程图如图2所示。

图2 系统流程图Fig.2 System flow chart

2 设计实现

2.1 温度测量方案

2.1.1 温度测量设计

温度测量电路设计图如图3所示,系统通过MLX90614红外测温模块采集温度信息,当MLX90614采集到人体温度之后会通过I/O口将电压进行线性传输。系统使用STM32单片机接受调节到合适量程的MLX90614红外测温模块的输出电压,再在STM32单片机上通过ADC功能进行准确的电压检测,随后将采集到的电压通过模数转换得出温度信息的数值,并通过显示屏显示。

图3 温度测量电路设计图Fig.3 Circuit design of temperature measurement

2.1.2 电压转化温度设计

通过单片机的模数转换(analog to digital converter,ADC)功能采集MLX90614红外测温模块的电压,当ADC采集到电压信息之后会返回一个值。STM32F103C8T6的ADC有12位且212=4 096,所以可通过以下算法将0~3.3 V的输入电压精确读取:V精=V采集×3 300/4 096。当读取到输入电压并在系统中转化为具体数值后,通过以下转化算法的计算,转换成由MLX90614所采集到的温度信息的数值,从而得到被测物体的温度信息。

如果不加入控制算法修正,那么由于硬件系统中各模块之间连接的不稳定性,会产生电压波动。此算法经过多次测试,精度在±0.7℃内。如需降低误差还需更新硬件系统连接才能实现。

2.2 摄像头模块设计方案

摄像头控制流程如图4所示。机器视觉模块采用的是OpenMV,首先采用Haar算子实现人脸识别。若检测到人脸,OpenMV控制云台就采用局部二值模式(local binary patterns,LBP)特征进行人脸识别[5],使用FAST/AGAST算法进行特征提取,对当前人脸与建立的图像数据库进行模板匹配;若未检测到人脸则继续寻找[6],通过程序整体算法判断是否符合参赛人员身份。若不符合,则与单片机通信,控制蜂鸣器报警以及屏幕显示;若符合,则表明身份符合[7]。

图4 摄像头控制流程Fig.4 Camera control process

2.3 云台模块构成

云台构架图如图5所示。整个系统的构架由3D打印技术设计,它是负责摄像头的转动装置,可实现摄像头在水平方向上360°、垂直方向上90°高速旋转和精确定位的依托[8]。选用两个舵机用于对云台的控制,分别负责水平旋转和垂直旋转。

图5 云台构架图Fig.5 Pan tilt frame diagrams

3 测试

3.1 测试方法及数据

3.1.1 红外温度模块测试

将手掌放置于红外感应模块前方2~3 cm处,同时将额温枪对准待测点进行测量,对得到的数据值进行比较,然后得到差异值。再将由上位机打印的电压信息合并、分析,进行温度调整。再次测量直到温度误差范围达到并稳定在可允许范围内。红外温度模块测试数据如表1所示。

表1 红外温度模块测试数据Tab.1 Test data of infrared temperature module

3.1.2 摄像头及云台测试

将摄像头安装在云台上,摄像头开始检测人脸位置,并判断人脸位置是否在图像的中心位置,将判断的情况整合成数据反馈给单片机,并通过控制舵机进而控制云台的转动。但由于步进电机的步距角较大,且易产生较大的跳动,尤其在低速情况下,系统的平稳性差,所以很难满足精确定位的要求。因此,采用舵机云台,用OpenMV控制,以达到良好的位置精度和运动平稳性。

摄像头无法引导云台准确对准识别目标,其原因是摄像头像素为离散点,当距离远时像素间表述水平位移间隔较大。由于本系统目标物距离较近,因此对准确度影响较小。摄像头及云台测试数据如表2所示。

表2 摄像头及云台测试数据Tab.2 Camera and pan tilt test data

3.1.3 身份识别和口罩识别测试

人脸识别是通过眼睛、眉毛等全脸关键特征点定位来实现的,而口罩遮挡了鼻子、嘴巴等大部分面部有效信息,会影响识别准确率。本系统对口罩检测和面部识别检测是分开检测而后再将像素整合导入人像数据库的,从而实现对人脸与口罩的识别。在测试过程中考虑到人脸相似度差异问题,对识别到的当前人脸进行特征点匹配,算法过程及联级较大,识别准确性不够高。后采用导入的人脸数据库进行分析匹配,缩短了算法识别时间以及灵敏性,可准确识别被测人身份和口罩佩戴情况。

3.2 测试结果分析

人脸识别和口罩识别测试数据如表3所示,测试主要针对人体手掌温度和是否戴口罩检测及人脸识别。由于系统设计精度较低,设计当中简化了系统模型,多次忽略对系统影响较小的参数,导致人脸识别误差较大。最后通过多次识别记录像素偏差数据的方法调整系统误差,优化整体识别代码,最终完成系统改良。

表3 人脸识别和口罩识别测试数据Tab.3 Test data of face recognition and mask recognition

4 结论

本设计以STM32为主控制器,采用OpenMV进行身份识别,使用红外温度传感器进行无接触温度测量。OpenMV准确识别人脸并将数据传给单片机,使其控制LED灯和蜂鸣器进行相应输出。红外温度传感器测量温度,数据通过单片机准确地输出在OLED屏幕上。实验数据表明,温度测量以及身份识别效果明显,但精度仍有明显提升空间。正值新型冠状病毒疫情期间,该设计有助于疫情防控提升效率,具有一定的实用性。

猜你喜欢
云台人脸摄像头
云上之家——万科·郡西云台
现代装饰(2022年6期)2022-12-17 01:10:30
龙门山·卧云台
现代装饰(2022年6期)2022-12-17 01:09:42
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
有特点的人脸
帮我买云台
基于STM32的无线FPV云台设计
电子制作(2019年23期)2019-02-23 13:21:16
三国漫——人脸解锁
动漫星空(2018年9期)2018-10-26 01:17:14
奔驰360°摄像头系统介绍
马面部与人脸相似度惊人