1.硬件介绍及实现的功能
1.1 硬件介绍
图1 M5 Stack UnitV2
UnitV2是M5Stack推出的一款高效率的AI识别模块,专为, 采用Sigmstar SSD202D(集成双核Cortex-A7 1.2Ghz处理器)控制核心,集成128MB-DDR3内存,512MB NAND Flash, 1080P摄像头,同事内部运行Linux操作系统,集成丰富的软硬件资源与开发工具,致力带给用户开箱即用,简洁高效的Ai开发体验。
1.2 实现的功能
通过利用M5Stack UnitV2 摄像头识别宿舍出入人员是否有正常佩戴口罩,发现异常立即报警,并将每日的数据上传到PC端,生成报表。
2.实现思路及实现功能的具体介绍
2.1 实现思路
主要M5识别,PC端爬取数据并解析数据,将解析数据和识别结果保存在服务器中。
图2 功能实现原理框图
2.2实现功能的具体介绍
本任务实现主要有三点:
一是完成数据的采集和模型训练。主要是利用M5摄像头采集需要识别的人脸数据并保存至电脑,并且数据尽可能要多,将采集的数据通过M5Stack的V-Training(Ai模型训练服务)在线训练轻松构建自定义识别模型。将识别模型注入到M5内置识别功能区中实现是否佩戴口罩识别。
二是在线获取识别后的数据。M5摄像头可以在PC端/移动端通过浏览器访问域名unitv2.py或IP:10.254.239.1访问识别功能的预览网页,同时串口不断输出识别样本数据(JSON格式,UART: 115200bps 8N1)。由于M5摄像头串口比较特殊无法找到合适的串口调试西安,因此只能通过Python爬虫方法从网页获取JSON数据,并在PC端进行实时解析显示。
三是实时在线将JSON数据上传至服务器。此处主要利用中国移动ONENET服务器的免费功能,通过http协议将PC端的识别JSON数据与识别结果实时上传至服务器,并在服务器端保存形成Excel报表。
3.功能展示
图3 识别出未佩戴口罩。
图4 识别出佩戴口罩
图5 上传数据到服务器
图6 PC端程序后台数据
4.遇到的主要难题
4.1由于没有串口线获取JSON数据,只能通过爬虫方式抓取数据,在获取数据可能存在延时和丢包现象。
4.2 数据上传服务器后导出报表格式还无法做到定制。
5.未来的计划建议
M5Stack UnitV2 摄像头是一款小巧、功能强大的AI摄像头,未来我将继续学习它的相关功能,利用内置的一些应用开发出更加有趣且实用的应用程序,以此拓展我在智能AI方面的开发经验。
6.实现代码
6.1 爬取数据代码
6.2 上传数据到服务器代码