姚睿
浙江理工大学(浙江杭州310018)
摘要:针对新冠疫情期间测温防控以及出入人员管理人记录不便的问题,本文提出设计基于STM32开发板测温识别一体装置解决上述问题,本装置以STM32微处理器为核心,借助MLX90614红外测温传感器模块实现无接触式测温,采用OpenMV视觉模块对测温人员人脸数据进行识别校验,并将校验结果反馈至STM32开发板,对信息进行判断汇总后通过TFLCD显示屏模块显示。并提供温度超标、身份不符报警功能。整套装置具有结构简单、操作便捷、一体性强等优点,能够在测温的同时对测温人员身份核验记录,具备较强的适用性。
关键词:温度测量;身份识别;一体化
随着新冠疫情的爆发,为了更好控制疫情和减少人员的交叉感染,全国都建立防疫点,将体温检测和人员身份登记作为防控期间的重要举措。各地普遍实行一人核实测温,一人登记的原则。而目前,大部分小区或是校园等主要为固定人员流动的场所,都由工作人员对进出人员测温以及身份核验登记。此测温登记核验的过程繁琐、效率低下、执行力不高。并且对于大量的进出人员,执行率不高并且容易出现身份核验错误的情况。针对疫情防控,本文设计一种基于非接触式红外测温和人脸识别为一体的手持识别检测装置,本装置集成测温传感器模块、微处理器模块、OpenMV模块等为一体,利用串口通信实现各模块间的数据传输。本装置能够在测温同时,通过OpenMV模块核验人脸数据。与目前测量之后人工登记核验相比,此方法简化了操作过程,提高效率,便于人员执行操作。
一、系统硬件设计
(一)整体设计
测温识别一体装置通过对人脸的识别和温度测量结果的获取,从而实现测温和识别于一体的功能。整个系统主要包含了九个部分:GY-906-BAA红外测温传感器、按键控制模块、OpenMV模块、蜂鸣器模块、微处理器模块、电源模块、激光定位模块、TFLCD显示屏模块和稳压模块,各个模块数据传输集中在STM32单片机开发板中处理,STM32F103核心控制板模块是目前常用的单片机开发板,此单片机主芯片采用ARM 32位的Cortex-M3内核,适用范围广,工作频率高达72MHz,拥有512K Byte Flash和20K Byte SRAM的储存空间,处理速度快,拥有并行LCD接口,可直接拓展TFLCD显示屏并将测试结果显示,便于装置的集成。拥有2个16位6通道高级控制定时器和引出了全部引脚,满足使用要求。同时合理的功耗,性价比高,合理的价格成本,集成程度高,拥有丰富外设,包括蜂鸣器模块,以实现报警功能。整个系统的组成框架图如图1所示。
图1 装置整体结构图
(二)OpenMV模块识别原理及其电路设计
摄像头模块选用OpenMV4 H7 CAM智能摄像头模块,具有30W像素,能够充分采集被测人脸数据以及样本库中的图片信息,模块搭载的STM32H7处理器,该芯片RAM容量达到1MB,FLASH容量达2MB,支持NN神经网络,全局快门等的功能,主频高达480MHZ,拥有强大性能,搭载30万像素的OV7725感光元件和M12标准镜头,以及,通过该感光元件采集图像数据,通过该芯片提取检测人员图像特征点,并对比样本库中的图片,从而进行人脸识别判断,图像处理时间达ms级别, 拥有强大算力,在处理图像的时候,功耗较小,能够实现人像识别的设计需求。OpenMV识别模块,VIN引脚通过稳压模块连接5V电源,并确保GND引脚与STM32开发板的GND引脚共地,注意3.3V引脚直接连接STM32H7芯片,故不能直接向3.3V引脚供电,否则容易烧毁芯片。具有SPI总线,CAN总线,I2C总线,异步串行总线(RX / TX)。本文采用I2C总线方式来实现与STM32开发板的信息传递,其中OpenMV识别模块P5为UART_RX接口、P4为UART_TX接口,分别连接STM32开发板的USART_TX和USART_RX接口,对应为PA9和PA10,从而实现检测结果数据的传递。其实物图如3所示。
图2 OpenMV识别模块 图3 MLX90614原理图
(三)温度传感器模块识别原理以及电路设计
温度测量是装置的一个核心功能。MLX90614红外测温传感器模块作为一种非接触式红外测温传感器,分别率为±0.02℃,具有较快的响应和较好的稳定性。能够根据被测物体红外的辐射能量来确定温度,集成有低噪声放大器、17位ADC和强大的DSP单元,使得该传感器拥有高精度和高分辨率。较小的体积,使得该传感器易于装置一体化集成、成本较低。其原理图如4所示。内部集成了红外感应热电堆传感器芯片MLX81101,其检测信号经过内置低噪声、低失调运算放大器(OPA)放大后,经过A/D转换器(ADC)转换为17位数字信号,通过可编程FIR及IIR低通数字滤波器及专用集成芯片MLX90302处理后将输出结果存储在其内部RAM存储单元中。MLX90614红外测温传感器模块上电复位后MLX90614为出厂默认输出方式SMBus(系统管理总线),并通过两线 SMBus兼容协议接口(IIC与之兼容),将内部RAM检测数据传输给STM32开发板。
二、系统软件设计
(一)温度传感器与单片机通信
MLX90614红外测温传感器模块,SCL作为数据同步时钟线,SDA为双向数据线连接STM32F013单片机的引脚。SMBus是在I2C总线原理基础上发展起来的系统管理总线协议,目前已在低速率设备上广泛使用。STM32F103单片机通过SMBus方式可对传感器内部RAM数据读取,其数据传输如表1所示。当STM32F103单片机发送一个起始信号,MLX90614测温传感器每次发送1字节,高位在前,循环8次将数据最高位发送至单片机,每发送完一个字节数据,都有一个应答信号,发送完成之后,根据读取引脚的返回值从而判断是否要发送下一字节,若无应答,则重复发送上字节数据。从而从测温传感器中读取出高 8 位(DataH)和低 8 位(DataL)两部分。从而实现MLX90614与STM32F103单片机控制板的通信。
(二)温度传感器温度的读取
温度传感器内部有RAM和EEPROM两个储存单元,EEPROM为32位字长的16位存储单元,可通过SMBUS方式读取;RAM为32位字长17位的读取单元,可通过SMBUS的方式或者PWM数字模式读取。其中Ta为存储采集环境温度数据单元,其对应地址为006H;To为采集物体温度数据存储单元,其对应地址为007H,通过SMBUS的方式读取地址007H处储存的16位数据可以得到被测物体的温度,其温度换算公式如下:
(三)身份识别方法描述
OpenMV分辨不同采用是提取LBP特征对当前人脸特征进行识别。初始在均匀背景下采集人员人脸图片,为了保证OpenMV提取LBP特征的准确度,采集人脸图像的过程在均匀背景下进行,同时将人脸图片数据保存为pgm格式图片,方便对图像LBP特征的查找,在采样的过程中,设置采样的图像分辨率为92*112,方便后续的识别。采集完图像之后,进行人脸特征的识别,利用find_lbp函数提取当前识别人脸图像特征,并分别与图像样本库中数据的人脸特征平均值进行比对,通过match_descriptor来计算样本中的人脸数据与当前人脸数据的差异度,特征差异度越小,被测人脸与样本数据库人脸特征就更加匹配,从而找到最接近的人脸数据,从而输出样本结果。
通过初始拍摄人脸数据,通过NUM_SUBJECTS函数设置最大人数;NUM_SUBJECTS_IMGS函数设置每人拍摄样张图片为20张,利用img.find_lbp算法提取当前人脸ROI元组(x, y, w, h)中提取LBP(局部二值模式)键点,其中ROI为整个图像矩形。利用pmin保存检测人脸与图像样本库中人脸数据的匹配程度,pmin越小则与样本中的值就越匹配。针对OpenMV摄像头模块在身份识别中存在的背景复杂的干扰和识别个体差异的问题,通过采取使用统计学计算法,进行对多个特征值比较判断,通过获取图像特征值和储存在SD卡中的图像的特征值,进行判断输出,该算法包括神经网络和AdaBoost算法,将SD卡中图片的人脸数据作为正样本进行分类器训练。OpenMV摄像头模块采取图像数据,传输至STM32H7处理器计算处理,根据特征值挑选出最优分类器,通过使用AdaBoost算法把这些分类器训练成一个强的分类器,用于不同人脸数据比对并进行区分,由于单个分类器受限于特征值有限,并且单个特征值可能会存在提取丢失的情况。通过训练出多个不同的分类器,并且级联到一起,能够提升人脸识别准确率。
三、结论
本文针对疫情防控需要,设计了基于STM32开发板无接触测温识别装置,可以实现在MLX90614对人员温度测量的同时,实现OpenMV检测人脸数据与与SD卡中存储的图片数据进行核对校验,从而实现人脸识别。本装置具备一体化强,操作简单等特点。本装置识别准确可靠,大大缩短人员核验的操作流程花费的时间,提高密集人员出入效率,有着较高的使用价值。
参考文献:
[1]段柳红.探析突发公共卫生事件下高校图书馆管理机制[J].传媒论坛,2021,4(08):131-133.
[2]兰胜坤.基于Adaboost算法的人脸检测实现[J].电脑与信息技术,2021,29(02):16-19.
【作者简介】姚睿(2001.01-),男,汉族,江西省吉安市人,浙江理工大学机械电子工程专业本科在读,主要研究方向:机械电子工程。