一、项目需求
随着科技的不断进步,智能识别技术在各个领域得到了广泛的应用。熊猫作为我国国宝,深受大众喜爱。为了增强人们对熊猫的保护意识,提高熊猫玩偶的市场价值,本项目旨在利用Seeed XIAO ESP32S3开发板实现熊猫玩偶的智能识别功能。作为 Seeed Studio XIAO ESP32S3 的高级版本,该电路板配备了一个插入式 OV2640 摄像头传感器,可显示1600*1200 的全分辨率。板卡搭载性能这么好的摄像头非常有利于做一些机器视觉相关的项目,所以我选择了用这块开发板来做一个目标检测的任务。
二.、完成的功能及达到的性能
完成的功能是能准确识别出熊猫小玩偶,实时检测的速度较快。识别的置信度高达86。
图一、熊猫玩偶识别图
三、实现思路
1.使用XIAO ESP32S3开发板的摄像头对小熊猫玩偶进行拍摄,获取图片数据,图片数量越多,模型识别的准确度也越高。
2.打开roboflow平台,对获取到的图片数据进行分类、标注。
3.打开百度飞桨AI Studio平台,使用Yolov5-Tiny模型来进行训练。
4.将训练好的模型部署到SenseCraft AI上。
5.将代码上传到板卡上,进行目标检测测试。
图二、流程图
四、实现过程
1.使用摄像头拍摄不同环境下的图片数据,提高模型的识别准确度。
图三、数据采集图
2.使用roboflow标注数据集。我尝试了导出不同的图片数量,标注质量的数据集去进行训练,发现图片数量越多,标注的越准确,训练出的模型效果越好。
图四、导出标注好的数据集
3.使用百度飞桨训练AI模型。训练时,我试过了迭代不同的次数来进行模型的训练。发现,在一定情况下,迭代的次数增加,训练的模型准确度会增加。例如,Epoch从10次增加到100次,虽然训练的时长增加了,但是模型识别的效果也明显增强了。
图五、训练模型图
4.将模型部署到开发板上。
图六、上传模型
五、遇到的主要难题
1.一开始拍摄的熊猫玩偶图片画质不清楚,图片非常的模糊,经过多次测试,发现拿在自己手上拍摄,有时候拍摄时镜头会略微晃动,导致拍摄的图片效果不好,后来将摄像头固定进行拍摄,图片变得清楚很多了。
2.初次使用roboflow,我还不太会标注数据,第一次标注的时候,没有那么仔细,有些标注框和图片上的玩偶有一些偏离,有一些则是标注的框过大。然后,用训练好的模型检测熊猫玩偶时,发现识别的不准确,识别框有时候稍微偏了一点,有时候又稍微大一些。去网上查阅资料好,我才发现是数据标注的问题,于是我就重新标注了数据。
3.模型训练时,一开始我对很多的模型训练参数不太了解,不清楚其中的作用。一开始,Epoch只选择了5次,然后模型在板卡上运行时发现,很难识别到小熊猫玩偶。我就去查找yolov5模型训练参数的具体作用。最好,我把Epoch改成100次,发现识别的准确度和识别速度都较好。
六、未来的计划建议
1.由于家里没有养宠物,希望未来能用真实的动物数据去训练模型,发挥模型的价值,更好地检测动物的健康。帮助喜爱宠物的人能够通过AI的技术,让宠物伙伴享受到同等的来自科技的关爱与舒适。
2.这个板卡上的很多功能还没有挖掘,比如说麦克风的功能,未来有望使用麦克风加上AI模型,识别宠物们的语言,使人与宠物之接的沟通更加畅通无阻。
3.还可以通过板卡上的Wifi模块,连接互联网,把一些AI模型部署到云上,扩展板卡的多功能性,搭建一套完整的物联网系统。