温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
树莓派
防疫
辅助
智能
小车
设计
陈欢
本栏目责任编辑:唐一东人工智能Computer Knowledge and Technology电脑知识与技术第19卷第3期(2023年1月)第19卷第3期(2023年1月)E-mail:http:/Tel:+86-551-65690963 65690964ISSN 1009-3044Computer Knowledge and Technology电脑知识与技术Vol.19,No.3,January2023基于树莓派的防疫辅助智能小车的设计陈欢,柯春艳(新疆农业大学,新疆 乌鲁木齐 830000)摘要:为继续推进新冠肺炎疫情狙击防疫工作,智能防疫辅助机器人也随之应运而生。该设计介绍在树莓派4代B型开发板上实现口罩检测和小车巡逻消杀的功能。在树莓派和云服务器上分别搭建支持流媒体服务的协议和FFmpeg+nginx流媒体服务。采用C/S架构让客户端随时都能通过访问服务器地址来查看视频,从而实现远程监控某区域内人流戴口罩的情况。同时树莓派终端能分别对超声波和继电器进行控制,来实现避障运动和实时消杀作业。由此,便能完成一个防疫辅助智能小车的设计。关键词:RTMP;树莓派;C/S架构;流媒体服务中图分类号:TP368文献标识码:A文章编号:1009-3044(2023)03-0012-04开放科学(资源服务)标识码(OSID):1 引言自2019年末开始,做好疫情防控工作已经在人们的生活中缺一不可了。为了更好地进行疫情防控工作,可以对人流量进出多的地方进行实时监控和消杀作业。因此能做一个监控和消杀两者结合的智能设计,不仅能实时监控人们佩戴口罩的情况,还能对疫情防控区域进行消杀作业。节省人力的同时,在疫情防控方面的效果也能达到最优化。随着网络的快速发展,流媒体服务也快速崛起,可以通过客户端例如手机或者PC电脑随时点播服务器端的大量媒体资源,为生活带来了极大的便捷。将流媒体服务1和可移动式小车结合在一起组成的智能防疫辅助的设计,不仅在疫情监控方面能达到良好的效果,在疫情防控区域所在的环境下也具有很大的优势。树莓派嵌入式开发板能将两者良好地结合起来2,它能完成复杂的任务与调度,支持更上层的应用和开发,可以用作数据采集、小型控制、物联网网关和边缘计算机应用等方面,在物联网应用研究上价值深远。2 总体方案设计为了实现对疫情防控区域内人流的口罩监控和自动巡逻消杀的功能,利用树莓派4代B型搭建了一个简易的系统。系统主要由视频处理前端、FFmpeg+nginx+RTMP流媒体搭建2、云服务器、用户、语音播报和巡逻消杀几部分组成,系统架构图如图1所示。树莓派将摄像头采集到的视频内容进行图像识别处理,采用FFmpeg流媒体音视频处理方法对视频进行编码封装。为了让用户能够观测到所监控疫情防控区域的实时画面采用了C/S架构,关于流媒体的传输协议本设计使用的是RTMP协议,将识别处理后的视频推送至RTMP云服务器上,用户可以通过登录客户端来访问云服务器的地址查看所监控疫情防控区域的视频,同时树莓派本地对检测到没有佩戴口罩的情况进行语音播报提示。在实现了监控功能后,小车也可以切换至地面消杀作业模式,通过利用超声波在较为平坦的地面上进行智能避障完成自动巡逻,同时对该地域喷洒消毒液完成消毒工作。图1 系统架构图3 硬件设计本设计硬件主要包括树莓派4代B型嵌入式开发板、视频图像采集模块和自动避障、消杀模块三部分组成。树莓派4代B型开发板是整个系统的核心模块,一收稿日期:2022-06-13基金项目:2022年新疆农业大学大学生创新项目:基于手势遥控的智能小车设计作者简介:陈欢,女,新疆农业大学计算机学院,专业为物联网工程;通信作者:柯春艳,女,新疆农业大学计算机学院,主要研究方向为物联网应用开发。12DOI:10.14004/ki.ckt.2023.0147人工智能本栏目责任编辑:唐一东Computer Knowledge and Technology电脑知识与技术第19卷第3期(2023年1月)第19卷第3期(2023年1月)方面需要对采集到的视频进行图像识别处理完成口罩检测的功能;另一方面需要搭建支持流媒体的服务器对处理后的视频流进行编码推送。视频采集模块则是摄像头通过USB接口和树莓派4代B型开发板直接相连,从而完成视频图像采集。自动避障和消杀模块是利用超声波传感器和水泵搭配树莓派4代B型开发板的GPIO口进行工作。硬件结构框图如图2所示。图2 硬件结构框图3.1 核心控制模块树莓派是一款小型嵌入式开发板,因其能搭载基于Linux的树莓派Debian系统,也被称为微型电脑,扩展性强,开放性好。本设计采用的是树莓派4代B型开发板,它具有多个USB接口多个以太网接口,还具备HDMI高清视频输出接口可以直接连接屏幕进入到操作系统界面,具备所有PC机的基本功能,功能强大。相较于树莓派3代B+型开发板,它拥有更好的CPU构建,采用的是BCM2711型号,包含了性能更好的核散热器,时钟频率更精准的同时能更准确地监控芯片的温度,同时它的宽带吞吐量也是树莓派3代B+的五倍,最大可接近千兆。硬件整体各种性能完善,核心运行速度快,优点非常明显。3.2 视频采集模块在本设计中视频图像采集模块直接用的USB免驱动直插式摄像头,能够进行AD智能自动对焦,画面清晰稳定,同时对人脸的捕捉更为精准。内置8米全指向吸音降噪麦克风,拥有720万像素和超大广角,能够上下120度旋转镜头,不仅能呈现出高清画质,还能很容易在疫情防控区域里找到适合的监控角度。这款摄像头性价比很高,和树莓派的Raspbian嵌入式系统兼容性强,对于输出的画面也很流畅清晰。3.3 避障消杀模块对于小车的智能避障模块本设计采用了 HC-SR04超声波传感器来测量距离3,用其来控制电机。它能感测到的距离范围为2cm-4m,它能测量的最大精度为3mm,对于本设计来说已经绰绰有余。超声波传感器是由超声波发射器、超声波接收器和控制电路三部分组成,支持电压是5V,电流能达到15mA,是一个集成度良好的传感器模块,体积小价格便宜,在市场上以及很多测距项目中经常见其身影。对于消杀模块本设计采用的是微型水泵搭配继电器一块儿来使用,水泵的工作电压范围在3.512V,为了让水泵正常工作就加了一个继电器和6V的外接电源单独给其供电,另外再添加一个喷头,就能达到很好的喷水效果。这种小型水泵不仅可以用作喷洒消毒水应用在医疗辅助领域,而且在智能农业灌溉系统上也是很常见的。超声波模块的TRIG口和ECHO口分别连接的是树莓派23号和24号GPIO引脚口,继电器的信号触发端连接树莓派 22 号 GPIO 引脚口,继电器的 VCC 和GND则分别连接树莓派的5V和GND GPIO引脚口。而水泵的正极连接到继电器的常开端,负极连接到电源负极,继电器的公共端则连接到电源正极。主要的电路连接示意图如图3所示。图3 电路连接示意图4 软件设计为了实现口罩检测以及视频监控的功能,软件设计是它们的核心。这里包括了如何对采集到的视频图像进行检测处理,即如何选择人脸识别的核心网络模型能达到最好的效果,能让口罩检测的准确率能保证的同时让视频流每秒传送的帧的数量达到能传输的级别。在此之外,还有流媒体服务器的搭建,能让树莓派和云服务器之间建立联系,从而完成视频图像的采集和传输。同时,对于小车的软件控制主要是对直流电机进行PWM输入来控制它的运动,同时需要搭配超声波传感器模块来对其巡逻路线做一个固定。在此基础上,还会加一个定时喷洒消毒水的程序,主要是对继电器的输入信号引脚进行高低电平的控制,逻辑也比较简单。本设计采用的核心控制器是基于ARM Cortex-A72,树莓派的官网上能下载到基于树莓派的Linux系统,安装简单,操作易懂,与用户的交互性比其他的Linux系统要强很多,优点很多,此处不再过多赘述。4.1 口罩检测口罩检测主要分为两部分来执行,一是通过选择13本栏目责任编辑:唐一东人工智能Computer Knowledge and Technology电脑知识与技术第19卷第3期(2023年1月)第19卷第3期(2023年1月)适合的人脸检测的深度学习网络模型对摄像头采集到的人脸图像进行人脸检测处理,判断其是否是一张人脸;二是通过对检测后的人脸进行覆盖面积运算来确认其是否戴了口罩。二者均能实时将相应的检测结果显示在屏幕上,能让用户实时观测到检测结果。对于选择人脸识别的深度学习网络模型也做了很多的测试,最开始使用的是深度神经网络DNN 模型,它是一个典型的感知机模型,拥有多个输入但只有一个输出的网络模型,只能用于二元分类,非常符合本设计的要求,判断的结果只有是人脸和非人脸两种。但是由于它的网络算法过于复杂,导致图像检测起来处理速度特别慢,从而影响我们的传输效果,传输帧率特别低。因而又选择了Harr算法4来处理采集到的视频图像,它主要是对边缘特征、对角线特征、中心特征和线性特征,多个特征联合进行图像检测处理的。它在CPU上几乎是实时工作的,处理速度很快,能达到传输帧率的要求,但其可调整性很弱,但在本设计中能满足运行要求。除此之外,还尝试过Lbp算法来对图像进行处理,虽然处理运行速度非常快,但对光线和方向信息要求非常高,所以它在处理效果上也并不理想,所以就舍弃了,最终我们在本设计还是选择了Harr算法来进行人脸检测。DNN、Harr、Lbp算法测试对比结果如图4人脸检测模型分析所示。在此说明以上网络模型皆是采用已训练好的网络模型来对采集到的人脸图像进行检测的。表1 人脸检测模型分析算法DNNLbpHarr优点准确度高,可用于检测各种大小的人脸,检测方向广泛具有旋转不变性和灰度不变性在 CPU 上几乎是实时工作,方法简单,可以在各种方位上检测人脸缺点处理速度慢对方向信息敏感,精确率较低误报率高,框选人脸结果的精准度较低帧率2.98.57.2情况卡顿严重识别率过低能传输,速度也比较快结果是否成功否否是4.2 流媒体服务器监控流媒体的意思是将连续的音频媒体数据经压缩处理后,通过网络进行分段式发送媒体数据,在网络上实时传输音视频以供客户查看的一种技术和过程,经过了这样处理后的音视频数据包以流的形式进行发送。相较于传统的查看媒体的方式,它不需要把整条音视频下载完毕后才能观看,非常具有实时性,方便快捷。在如今网络快速发展的大环境下,流媒体可以运用到很多场景中,例如医疗、军事、安全和娱乐等方面,现如今大热的直播行业就是个很典型的例子。本设计采用FFmpeg视频服务器,将USB摄像头采集到的视频图像转为视频流,同时采用RTMP协议5将获取到并处理后的视频流发送出去。为了不让视频流的传输查看拘于同一局域网之内,我们在此基础上添加了云服务器和nginx反向代理web服务器来作为中间桥梁,让服务器也参与流媒体的搭建之中,从而让我们任何一个网段都可以通过登录客户端来访问服务器地址查看监控视频。在树莓派4代B型开发板上支持搭建流媒体服务的协议获取USB摄像头采集的图像,并以流的形式将捕获的图像进行口罩检测处理,然后推送至云服务器,整体搭建使用过程如下:(1)在树莓派上的Respbian pi系统终端上安装所需要的依赖 sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev。(2)分别下载nginx和rtmp到树莓派的某一路径下,并将两个包都解压到同一个目录里;(3)进入安装 nginx 目录下,添加 with-http_ssl_module 模块,并进行编译,分别依次执行以下三个命令:/configure-with-http_ssl_module-add-module=./nginx-rtmp-module-mastermakesudo make install(4)执行 sudo nano/usr/local/nginx/conf/nginx.conf修改nginx配置的文件,包括端口号,传输格式和方式等。(5)启动nginx和rtmp的流媒体服务器,执行以下命令:sudo/usr/local/nginx