赞
踩
目录
本文是基于TensorFlow Lite深度学习框架在树莓派主板上应用的分享案例,具体流程包括目标颜色的选取,大概300张照片的标注,4个小时的目标训练,以及最后的测试。最后测试效果不错,不仅对于训练的目标颜色物体识别率很高,且能较准确的识别出非训练物体的颜色。本文也是图像处理识别方案的一个补充,如想了解图像处理的颜色识别方案请参考下面两篇文章:
【毕业设计】基于OpenCV图像处理的颜色识别示例_opencv 识别图片颜色_其实很简单H的博客-CSDN博客
【毕业设计】运用PID算法实现目标颜色追踪_其实很简单H的博客-CSDN博客
卷积神经网络(Convolutional Neural Networks, CNN)是一种深度学习模型,主要应用于图像、语音和自然语言处理等领域。它的核心思想是借鉴了人脑中视觉神经元的处理方式,通过卷积层、激励层,池化层和全连接层等组成的多层网络结构,对输入数据进行特征提取和分类。除了这些,CNN还可以通过添加其他结构来提升性能,如归一化(Batch Normalization)、激活函数(Activation Function)、损失函数(Loss Function)等。这些技术共同构建了一个完整的 CNN 模型,使其在各种任务中表现出色。
TensorFlow Lite (FL) 是一个用于在移动设备和嵌入式设备上部署高性能机器学习模型的库。它是 TensorFlow 框架的一个子集,专为移动设备、IoT(物联网)设备和其他低功耗硬件上的推断而设计。与其他轻量级框架(如 TensorFlow Mobile)相比,FL 的功能更为强大,因为它具有完整的 TensorFlow API 支持。FL 的主要特点包括:1. 高性能:FL 在设计时充分考虑了移动设备和嵌入式设备的有限内存和计算资源。它利用 TensorFlow 的优化技术,如量化和图优化,以实现高性能的推断。2. 可扩展性:FL 支持多种设备类型和平台,如 Android、iOS、Linux、Windows 等。开发者可以使用 FL 为各种设备生成优化的模型。3. 易用性:FL 提供了一套直观的 API,使开发者能够轻松地构建和训练机器学习模型,并将其部署到移动设备和嵌入式设备上。
Raspberry Pi,python3.6,TFLite2,OpenCV
环境配置这里没啥好说的,不管是windows、Linux、安卓、Raspberry Pi等系统都是配置好TFLite2,OpenCV库即可,至于配置流程在参考资料里都有。
环境配置流程及数据集训练流程都可以参考以下资料,Evan博主保姆式教学,且有问必答,帮推!
本课题目标为实时识别目标颜色,所以选择了红、黄、蓝、绿、紫5种颜色球作为颜色的采集物体,如图所示。
数据标注软件下载:
Releases · HumanSignal/labelImg · GitHub
接下来就是无聊的标注机器了(标注其实就是喂养有价值的数据)
本文训练数据集的过程是在Google colab环境上进行的,Google Colab是谷歌提供的免费Jupyter 笔记本环境,不需要什么设置与环境配置就可以使用,完全在云端运行,不影响本地的使用。经过4个小时的训练,并对训练得到的模型进行测试,最终的损失函数如图所示,可以发现损失函数已经足够小,满足训练要求。
利用测试程序对模型进行测试得到模型对各个颜色的识别正确率如图所示,总的识别正确率达到了85.47%,可以发现识别准确率很高,识别效果很好。
将训练好的数据集下载到系统相应文件后,运行代码实现目标颜色的识别,对于实验的颜色球识别效果都非常高,平均识别正确率在90%以上。此外,也测试过对于其他单种颜色物体的识别情况,效果也都不错,差不多都有70,80(不过图片找不到了,具体识别效果没问题)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。