【《基于树莓派的智能人脸测温系统设计》7000字(论文)】_第1页
【《基于树莓派的智能人脸测温系统设计》7000字(论文)】_第2页
【《基于树莓派的智能人脸测温系统设计》7000字(论文)】_第3页
【《基于树莓派的智能人脸测温系统设计》7000字(论文)】_第4页
【《基于树莓派的智能人脸测温系统设计》7000字(论文)】_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于树莓派的智能人脸测温系统设计摘要摘要:新冠疫情肆虐,传统体温计由于测量时间长、精度低、读数麻烦、生产成本高、需要近距离接触等缺点,已不能满足人们的疫情测温需求。本设计以Python为设计语言,通过开发平台“树莓派”控制测距模块、测温模块以及人脸检测模块快速实现非接触式测温[10]、人脸检测及图像记录功能。与传统的测温方式相比,可具有响应时间短、非接触、成本低、功能丰富、读数方便、使用寿命长、等一系列优点。关键词:新冠疫情;非接触测温;树莓派;人脸检测;Python目录23760摘要 128522ABSTRACT 272891概述 1235291.1发展与意义 1108001.2国内外相关研究动态 1144051.3课题研究意义 218522智能人脸测温系统总体方案设计 2171212.1方案选择 265962.2硬件部分总体设计 3116072.3软件部分总体设计 4186523硬件功能模块的设计与实现 5222093.1树莓派主控模块 587443.2超声波测距模块 5239023.3红外测温模块 675343.4摄像头拍照模块 8272224软件功能模块的设计与实现 8301504.1主程序的设计 8288424.2超声波测距程序的设计 934114.3红外测温程序的设计 1083364.4温度补偿算法的设计 11142384.5人脸识别及拍照程序的设计 1468654.6消息推送的程序设计 14266475实物展示 153033总结 1627971参考文献 181概述1.1发展与意义新冠疫情持续蔓延,所有国家都时刻遭受着新冠病毒的入侵,而在人口众多的国家,一个一个的检测人民体温的方法实在是效率低下,对防疫抗疫进程有着巨大的阻碍。在疾病预防检测中,测量人数众多,时间紧迫。传统体温计由于测量时间长、精度低、读数麻烦、生产成本高、干扰物体的温度场等缺点,已不能满足人们的测温需求。为了方便疫情监测,世界各地已经都大量研发并投入使用能同时检测多人的测温系统。因此成本低、效率高、能实时数据传输的测温系统是本设计的方向。1.2国内外相关研究动态随着水银温度计的逐步淘汰,电子温度计和红外温度计得到广泛的应用和发展。由于电子体温计和水银温度计测量温度时需要与人体接触,在面对新冠肺炎这些来势汹汹且传染性、残留性极强的疾病,只会加重疫情的恶化和传播,早在2003年的SARS和2009年的HIN1型病毒的爆发期间,具有快速、非接触等优点的红外温度计得到极大的促进和发展。而如今COVID-19席卷全球,人人戴口罩出行世界又回到了这似曾相识的一幕,同时也不难料到在不久的将来人们也许会遇到更多更严重的全球范围的传染疾病。为了延迟流感的传播扩散,很多国家都计划引进非接触红外温度计来检测机场、港口等其他人员流动大,人数密集的场所。通过回顾现有的非接触红外测温仪人体体温检测的研究,评估了其在疫情发生时的功效。发现现有的红外检测装置在疫情爆发初期效果不明显,而且很多额外的因素也可以影响到测温的效果。在临床上已经有许多医生、学者尝试了红外温度计与其它温度计的对比,分析非接触测温仪对测温的精确度与可靠性。有些非接触温度计在临床上的测温效果和常用温度计测量结果相差并不明显,有些表现的非常优秀,但是也有些非接触测温仪显示出误检率高,可靠性低的缺点。非接触测温仪的精确度受到仪器本身精确度的影响比较大。红外温度计虽然不是最稳定最精准的方案,但是在反应速度,测温距离,测温方式等方面上与普通的体温计作比较要好很多[4]。而目前最先进的激光测温设备拥有极高的稳定性和精确性,但也同时代表了极高的成本,这使得激光测温系统短时间内不可能被广泛采用。因此,随着技术的进步,成本适中的红外测温仪将会变得更加精确与可靠,未来将有着更加广阔的发展空间。1.3课题研究意义本设计结构简单、易操作、成本低、实用性强,主要是有超声波测距模块、红外测温模块、摄像模块和主控电路四部分组成。智能测温系统使用树莓派[9]作为开发平台,程序采用Python语言来编写。为了保证测温可靠性,以及节省设备寿命,本系统在测温之前会调用人脸检测库,若匹配到给定检测范围内有至少一个可以辨别出的人脸才开始定位测温[1]。本课题就是设计了一个非接触式自动人脸测温系统[12],同时具有记录和发送实时图片的功能。2智能人脸测温系统总体方案设计2.1方案选择方案一:使用OpenCV调用\t"/2018/03/09/_blank"haarcascade_frontalface_default.xml人脸分类器来计算检测人脸,采集人脸样本并分配ID训练样本人脸数据模型,通过摄像头捕捉一个新人脸,如果这个人的面孔之前被捕捉和训练过,识别器将会返回其预测的ID和索引,将ID显示在摄像视频画面中,如果是一张新人脸则赋予新ID建立新的数据模型[8]。此方案仅适用于教室,工厂,公司等人数有限且能提供具体身份的场所,执行流程时间略长。方案二:设计分为两个方面,一个是调用百度智能云API的后台管理系统,这个是用于人员信息的输入。此用学号作为ID,并输入班级姓名和人脸照片。另一个是同方案一人脸识别系统,但多了一个调用后台数据进行人脸比对的功能。此方案同样只能适用于教室,工厂,公司等人数有限且能提供具体身份的场所[3]。而且要保证网络畅通否则无法使用,且调用的API有时间限制。方案三:运用树莓派搭建一个疫情防控云端,它是使用的mariadb+PHP7+Apache+phpMyAdmin组成的服务器,设置网页后可将指定文件夹里的图片上传到该网页。还可以获取网页里图片生成的URL链接通过免费的QQ或微信的第三方消息推送机器人将图片发送给指定人员。此方案最优最稳定,但尝试过后太过复杂,所以不得不放弃。方案四:使用OpenCV调用人脸分类器来计算检测人脸[8],检测到温度过高时把人脸及温度信息以时间为ID保存到本地文件夹,同时将拍摄到的人脸及数值通过企业微信里的消息推送机器人发送到安装有微信的终端。此方案最方便,也可不限于同一局域网内,故选择此方案,系统工作流程如图2.1所示。图2.1系统工作流程图2.2硬件部分总体设计本设计是人脸检测测温系统的设计与制作,根据图2.1完成硬件的选择和连接,本设计主要由红外测温模块、超声波测距模块、摄像头拍摄模块和树莓派主控模块四部分组成。如下图2.2所示为系统结构的组成框图。图2.2系统结构框图2.3软件部分总体设计由于树莓派计算能力比一般的单片机要强上许多,同时拥有丰富的GPIO引脚,还可以搭载Linux系统,故在搭建好的Python编译环境里,我能非常方便的实现程序的编写、编译和运行。要想使我所购置的元器件正常工作起来,我首先需要对它们进行初始化设置,首先将树莓派引脚设置为BCM模式,然后再根据数据手册连接各个元器件的引脚,设置好树莓派pin的使能模式。在程序执行前先声明所需要调用的人脸识别分类器,设定好字体等需要同步的内容,设定好其中测温模块要修改存储在EEPROM里的红外信号发射率以适配人体测温,由于预算有限,为实现距离更远的测温要对测到的温度通过补偿算法进行补偿[2]。使用微信消息推送机器人还需要申请API端口,程序中要调用APPID和密钥才能通过互联网连接到微信终端机器人。主程序流程图如图2.3所示。图2.3主程序流程图3硬件功能模块的设计与实现3.1树莓派主控模块树莓派是世界上著名的“卡片式电脑”,它只有信用卡大小,却具有电脑的所有基本功能。因其具有丰富的IO引脚且支持I2C和SPI通信协议并且可以安装运行相应的操作系统,所以不必像寻常单片机,嵌入式开发板一样烧录程序只需要连接所需要的功能模块,直接运行已准备好的如使用Python等计算机编程语言编写的程序便可实现它们的功能,随着Windows10IoT的发布,我们也将可以用上运行Windows的树莓派。图3.1是树莓派4B的引脚图。第一次使用树莓派引脚前需要调试GPIO接口,设置引脚模式。图3.1树莓派4B引脚图3.2超声波测距模块为了降低硬件损耗,测温系统不会持续工作,只有测距模块在不间断工作。本设计采用的是HC-SR04超声波测距模块如图3.2,HC-SR04超声波模块使用的时候,先给Trig引脚一个持续时间>10us的高电平,此时HC-SR04自动发送8个40khz的方波,自动检测是否有信号返回,有信号返回则通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。其时序图请看图3.3,因此我们在单片机里面通过定时器计算Echo高电平的持续时间即可算出超声波往返的距离。我们知道超声波在空气中的传播速度为0.34mm/us,这样只要能够精确计算高电平的持续时间,测量精度就能够达到0.34mm[7]。图3.2HC-SR04实物图图3.3HC-SR04时序图3.3红外测温模块在本设计中选择的红外温度计是迈来芯公司生产的MLX90614系列中的MLX90614ESF-BAA如图3.4。MLX90614ESF-BAA传感器采用TO93封装,其测环境温范围为-40℃~85℃,测物体温度范围为-70℃~382.2℃。供电电压为3V,视场为90度,并且还具有温度梯度补偿功能[6]。MLX90614系列温度计集成了红外热释电传感器MLX81101,低噪声放大器、信号处理专用集成芯片MLX90302和17位模数转换器,实现了温度计的高精度和高分辨度。DSP将计算得到的物体温度和环境温度存储在MLX90302的RAM单元,其温度分辨率为0.02℃。MLX90614室温下的标准精度为±0.5ºC。对于传感器如果周围环境有温度梯度将会影响测量的精度,MLX90614是一款红外非接触温度计,由内部状态机控制物体温度和环境温度的测量和计算,进行温度后处理,并将结果通过PWM或是SMBus模式输出。MCU主要通过SMBus协议与MLX90614通信,读取或者修改它的数据。原理图如下图3.5,可以看到有SCL和SDA2根线(与IIC通信很像)。使用时可以通过SMBus(读写时序如图3.6、图3.7)或者PWM访问传感器的EEROM寄存器,并将发射率调整为0.1~1之间的值,这对于测量人体或者其它非黑体目标更加的灵活,其中测量体温的最佳发射率为0.98。使用前需要在raspconfig界面的高级设置选项中使能I2C接口。图3.4MLX90614ESF-BAA实物图图3.5MLX90614原理图图3.6SMBus读取数据格式图3.7SMBus写入数据格式3.4摄像头拍照模块本设计使用的是树莓派官方摄像头RaspberryPiCarmeraV2如图3.8所示。RaspberryPiCameraV2是专门为树莓派定制的摄像头扩展板,它自带索尼IMX219具有800万高清像素;拥有的定焦镜头可达到3280x2464像素的静态图片;也支持1080P30FPS、720P60FPS、640x480P60/90FPS摄像功能。此款摄像头扩展板可通过主板上的小插槽连接树莓派,并使用专门的CSI接口,这是特别为摄像头设计的接口。使用前需要再raspconfig界面的高级设置选项中使能树莓派摄像头接口。图3.8RaspberryPiCarmeraV24软件功能模块的设计与实现4.1主程序的设计首先初始化超声波检测到符合要求距离的次数,然后开始超声波测距,当检测到所设定的检测范围内有遮挡物则提示并打开摄像头,摄像头根据已导入的人脸数据进行人脸检测,若检测范围内有人脸再进行测温。初始化MLX90614寄存器数据然后开始测温,循环输出一个名为frame的图像窗口读取摄像头拍摄盗的图像,根据温度补偿算法算出检测范围内人脸温度,用绿色矩形框画出人脸区域,并将人脸温度显示在矩形框上方,若体温在正常范围内则数值显示为绿色且提示“normal(正常)”字样,通过mpg123音频软件连接蓝牙音箱播放出提示音频1;若体温不在正常范围则数值为红色且提示“abnormal(不正常)”字样,通过mpg123音频软件连接蓝牙音箱播放出提示音频2,并且截取温度过高者照片保存到本地指定文件夹同时通过微信消息推送机器人将图片发送给指定联系人。如果被检测者离开检测范围内没有人脸,则释放摄像头删除窗口,测温系统重新恢复为测距状态,等待下一个测温对象。主程序流程图如图4.1所示。图4.1主程序流程图4.2超声波测距程序的设计首先初始化树莓派GPIO引脚,将HC-SR04的Trig引脚和Echo引脚分别接到树莓派的GPIO14和GPIO15,将GPIO编号方式设置为BCM模式,设置Trig引脚的工作坊是为OUT,Echo引脚的工作方式为IN。编写超声波测距函数,发送高电平信号到Trig引脚,使用延时函数保持高电平持续10us随后将Trig引脚信号转为低电平。此时HC-SR04自动发送8个40khz的方波,自动检测是否有信号返回。定义Echo从低电平变高电平的时间为超声波发出时间,Echo从高电平变低电平的时间为超声波返回时间。超声波往返时间=返回时间-发出时间,声速是343m/s换算成厘米为34300cm/s。所以距离=声速×超声波往返时间÷2。然后将得到的距离作为返回值。超声波测距流程图如图4.2所示。图4.2超声波测距流程图4.3红外测温程序的设计MLX90614系列模块是一组通用的红外测温模块。在出厂前该模块已进行校验及线性化,具有非接触、体积小、精度高,成本低等优点。被测目标温度和环境温度能通过单通道输出,并有两种输出接口,适合于汽车空调、室内暖气、家用电器、手持设备以及医疗设备应用等。物体红外辐射能量的大小和波长的分布与其表面温度关系密切。因此,通过对物体自身红外辐射的测量,能准确地确定其表面温度,红外测温就是利用这一原理测量温度的。为了精准测温在正式投入使用前必须进行温度校准,所以在将MLX90614EFS-BAA接入I2C接口后需要使用I2C-tools检查MLX90614测温传感器的接入是否正常,然后又使用i2cget读取到EEPROM寄存器地址0x04里的参数为0xFFFF即发射率为(1.0=0xFFFF)此为出厂发射率。发射率指物体辐射能力与相同温度下黑体的辐射能力之比称为该物体的发射率或黑度,也称为比辐射率。

这是针对所有波长而言的,因此应称为全发射率,通常就简称为发射率。英语上的emissivity指单一物质的物理特性,跟辐射传热公式中的epsilon互通,emittance指某一样本的发射率。实际物体的发射率物体的表面材料特性和物体的表面状态(包括物体表面温度、表面粗糙度以及表面氧化层、表面杂质或涂层的存在)有关。金属的发射率随表面温度的上升而增大,而非金属的发射率一般是随表面温度的上升而减小。金属的发射率比非金属的小得多。所以发射率是一个十分重要的参数,人体红外发射率大约为0.98,所以在寄存器参数设置列表里把MLX90614_EMISS设为0xFEA0[13]。此外还要特别注意MLX90614的BAA版本是单IR版本故测量对象温度仅有Tobj1它的地址为0x07,同样的环境温度Ta的地址为0x06。设置完基本参数后才能正式开始程序的编写,首先对MLX90614进行初始化,数据传输模式使用SMBus模式,然后设置睡眠模式防止多次测温出错。然后将传感器测到的对象温度和自身温度(data)读取出来并将单位转换成摄氏度(temp=(data*0.02)-273.15)。最后也是本次设计的最重要的一步,对MLX90614最终的测温数据(temp)进行温度和距离补偿。红外测温程序流程如图4.3所示。图4.3速度处理流程图4.4温度补偿算法的设计如图4.4因为BAA视场为90度,视场是由温差电堆接收到50%的辐射信号来确定的,并且和传感器的主轴线相关,所以它的红外测温受距离的影响较大,在测温距离变化的情况下,实现温度的距离补偿是非常有必要的。对于同一物体,只要其充满红外传感器的视场,不论其大小,都是测量视场内温度的平均值。我们通过测量传感器和目标之间的距离,根据距离得到一个补偿值,通过传感器得到的红外温度值和补偿值相加就得到了补偿后的目标温度值。图4.4MLX90614BAA的视场与传感器主轴的关系图所以在调试过程中需要采集不同距离、不同温度的大量测温数据,然后通过线性拟合计算距离S与红外温度、传感器温度之间的关系式,最后得到距离的补偿关系式。红外探头测量的温度和超声波测量的距离经过单片机的计算后得到补偿后的温度Tbody。图4.5为未经过算法补偿时距离S=5cm环境温度为22摄氏度的测量数据。图4.5环境温度为22℃时的测量数据为了测试不同距离对温度的影响,为采集了在相同室温环境下S=1.5cm和S=15cm的温度数据,如图4.6和图4.7所示。图4.6当S=1.5cm时的测量数据图4.7当S=15cm时的测量数据由上面两幅图不难看出,距离越远在35度以上的测量温度与实际温度相差越大。此时在程序中加入补偿算法:-0.01*(distance)^2+0.93*distance-0.0110*distance*temperature+1.071*temperature再次测量可得到如图4.8所示的测量数据,不难看出补偿后的数据要比补偿前准确的多。图4.8加了距离补偿后S=15cm时的测量数据4.5人脸识别及拍照程序的设计首先选择haarcascade_frontalface_alt.xml作为人脸识别模型,确定模型参数成功导入后立刻开启摄像头,同时在视窗界面打开一个高宽各为256像素的窗口显示摄像头所拍摄到的图片,将摄像头读取到的每帧图像通过调用分类器输入一些图像参数进行人脸识别处理[17]。如果那一帧画面中可识别出人脸,则用一个蓝色的矩形框将人脸框选出来,并且在矩形框上显示当前温度和提示字符。当温度超过37.4摄氏度时人脸框上的温度和提示字符“abnormal”会变成红色(温度正常时为绿色且提示字符“normal”)如图4.9所示,此时树莓派会将带有“abnormal”提示字符的图片以当前时间命名保存到指定文件夹并启动消息推送程序。4.6消息推送的程序设计由于本设计消息推送使用的是微信消息推送机器人,在企业微信官网注册一个企业微信号,创建消息推送机器人应用。然后将得到的企业ID和密钥复制到程序,程序通过企业ID和密钥根据官方格式组成的url链接成功连接到消息推送机器人,再将摄像头最新拍的照片的路径加上微信官方格式生成url链接通过企业微信后台获取链接中的照片并转发到消息推送机器人的消息窗口。具体效果如图4.10所示,凡添加了此消息推送机器人的后台人员都能查看到被测人员和他的温度数据。由于此项目暂时免费,且传输文件的流量也有限制,并不适合长久使用。5实物展示图5.1实物展示图

参考文献[1]张钰敏,叶传奇,张淑媛,王展,田雨薇,秦佳帅.树莓派人脸识别系统的开发与研究[J].电脑知识与技术,2020,16(13):221-222.[2]魏坦勋.人体非接触测温综合误差补偿技术的研究与实现[D].杭州电子科技大学,2013.[3]王兴,宋琦,杨帆,程麓洁.疫情下的智能身份识别及消毒预警门禁系统研究[J].测试技术学报,2020,34(05):425-430.[4]王涛.红外热成像测温系统在疫情防控时期的应用解析[J].中小企业管理与科技(下旬刊),2020(07):166-167.[5]钟陈,王思翔,王文峰.面向疫情防控的人脸识别系统与标准研究[J].信息技术与标准化,2020(06):11-13.[6]冯伟,骆雪汇.基于MLX90614的公共场所体温快速检测器的设计[J].硅谷,2012,5(20):68-69.[7]杜新法,崔陆军,黄龙飞,郭强.基于单片机控制的超声测距系统设计[J].中原工学院学报,2017,28(03):7-9+13.[8]彭骏,吉纲,张艳红,占涛.精准人脸识别及测温技术在疫情防控中的应用——普利商用精准识别技术典型案例[J].软件导刊,2020,19(10):8-14.[9]周柱,孙娇娜.基于树莓派和Python的人体随动测温系统的设计[J].农业装备与车辆工程,2018,56(10):61-64.[10]一种非接触式远程自动体温测量仪[P].

李卫兵,张代省,范士征,时宝国,李志远,丁雷.中国专利:CN202027570U,2011-11-09.[11]魏坦勋,果连成,张珣.基于

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论