文档目录:
- 硬件介绍及实现的功能
- 实现思路及实现功能的具体介绍
- 功能展示图 - 3~5张
- 遇到的主要难题
- 未来的计划建议等
- 可编译下载的代码(放在附件,若太大可以百度网盘的形式贴链接)
文档正文:
1.硬件介绍及实现的功能
UnitV2是M5Stack推出的一款高效率的AI识别模块,专为, 采用Sigmstar SSD202D(集成双核Cortex-A7 1.2Ghz处理器)控制核心,集成128MB-DDR3内存,512MB NAND Flash, 1080P摄像头。内嵌Linux操作系统,集成丰富的软硬件资源与开发工具,致力带给用户开箱即用,简洁高效的Ai开发体验。
本次使用该摄像头完成了一个口罩佩戴情况的识别,并能实时报警,可将每日情况汇总到excel表格中。
2.实现思路及实现功能的具体介绍
首先是识别,我采用官方提供的在线训练网站http://v-training.m5stack.com/build/index.html,将使用摄像头拍摄好的60张本人和舍友的不同角度的戴口罩的和不带口罩的照片上传,然后进行训练
然后是运行模型ssh配置好后,使用群友给发的文件压缩包,里面包含了run.py和一个test.json,但是目前来看感觉再这种操作中这个json文件并没有起作用。(可能起作用了没发现?)
进入文件夹,运行文件,识别没有问题,接下来是报警,报警使用的是自带的gpio驱动的小灯。遇到戴口罩亮白灯,遇到未戴口罩的亮红灯,以此快速区分和报警。
之后是统计,统计使用的是最原始的excel。原因:本来以为可以想stm32那样串口传参,但是发现不行,想用socket编程,结果发现并不能直接发送数据包建立连接(不在一个广播域上),最后发现ssh可以传输文件,那就用文件形式传输吧,使用的excel文件作为中间媒介。每次遇到人脸后,就将数据保存在excel中,在excel采集的数据一共包括,遇到的戴口罩/不戴口罩的时间,戴口罩/未戴口罩的类型,当前戴口罩/未带口罩的总人数,以及当前摄像头采集的区域。真正的知道场馆(区域内)有多少带口罩/未带口罩的人数,还需要配合两个光电门判断方向,结合此摄像头的数据就可以完成。如果后期还需要再进行数据处理,可以直接从excel中读取处理即可。
3.实现截图
4.遇到的主要难题
没错我就是微信群里问题最多的那个人。。。
首先就是,输入的训练的网站打不开,复制粘贴就可以。不明白为什么。
然后是训练照片的问题,明明照片很多但是总显示少于30张,后来看群友说可能是因为有高度相似的,想想有道理,下次可以多换几个舍友一块拍照(ps:获取人脸信息不商用的话不违法吧。。。)
照片训练完成,模型也下载下来了,下载了vscode,怎么使用ssh呢?dos每次输入命令太慢了,于是我尝试了几个vscode上自带的ssh工具,最终使用了ssh tool,这个工具不仅可以记录密码一键登录,还可以一键下载或者上传文件,这在后面导python包的时候起了至关重要的作用,他的文件系统也是可视化的。
配置好ssh满心欢喜的开始运行,一开始,没有问题,运行两三次后,报错:json.decoder.JSONDecodeError:Expecting value: line 1 column 1(char 0) ,一开始查的都是编码的问题,检查编码,都是utf-8,再查,发现是网络环境改变,原因未知,一键重启,一秒解决问题,无语。
想要使用excel传输信息,结果pip list发现自带的python并没有相关的包,这难不倒我,把笔记本上的包复制下来粘贴到linux里,再pip list一下,轻松搞定~
5.未来的建议:
希望这个摄像头可以联网,这样时间就不会总是1970年了。。。
希望使用更适合神经网络的芯片,感觉现在有点慢,不能拿来比赛用。。。
如果gpio可以引出来的话就会有更多可能性了
吐槽一句,风扇是真的吵,舍友说风扇一关世界都安静了。。。