Android嵌入自己训练的yolov5模型(tfLite)交通标志

这篇具有很好参考价值的文章主要介绍了Android嵌入自己训练的yolov5模型(tfLite)交通标志。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

第一步:下载模型与修改参数

第二步:标注数据

第三步:开始训练

第四步:yolov5转为tfLite模型

第五步:我们可以检测一下tfLite是否可用

第六步:下载官方的示例代码

第七步:修改代码

第八步:运行软件

第九步:优化速率


效果图

yolo android,YOLO,目标跟踪,人工智能,android,java,python

参考:【精选】手把手教你使用YOLOV5训练自己的目标检测模型-口罩检测-视频教程_yolov5训练模型_肆十二的博客-CSDN博客

模型下载地址:

YOLOV5-mask-42: 基于YOLOV5的口罩检测系统-提供教学视频 (gitee.com)

我采用的是将yolov5的模型,先转为tfLite的模型,再进行嵌入Android的方法

对于conda环境的创建,可以看最上面的参考,大佬已经很详细的讲解如何创建环境了

第一步:下载模型与修改参数

        下载好模型后,根据我们的需求,更改以下文件yolo android,YOLO,目标跟踪,人工智能,android,java,python

        yolo android,YOLO,目标跟踪,人工智能,android,java,python

train和val都为数据集图片的路径,数据集可以不用在项目里面,但是路径的格式最好为

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,pythonyolo android,YOLO,目标跟踪,人工智能,android,java,python

改为我们自己的路径之后,将此处(nc)改为自己目标对象的格式,(names)且目标的命名

yolo android,YOLO,目标跟踪,人工智能,android,java,python

此处注意目标的排序很重要,必须记好

第二步:标注数据

        在命令行中输入

pip install labelImg   

yolo android,YOLO,目标跟踪,人工智能,android,java,python

安装好后,再输入

labelImg   

启动labelImg   

yolo android,YOLO,目标跟踪,人工智能,android,java,python

数据图片的位置就是

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

这里注意,在标注文件里面,会随着我们第一个标注的目标,自动生成class文件

yolo android,YOLO,目标跟踪,人工智能,android,java,python

随着我们的标注,也会出现对应的txt文件

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

而每一个txt都包含着这个图片的类别,和目标位置

而这个顺序正是我们在修改mask_data的时候,手动书写的目标顺序,这两个地方必须对应起来

yolo android,YOLO,目标跟踪,人工智能,android,java,python

在标注图片的时候,我们会发现,每次重新打开标注应用的时候,它不会识别我们自己的class文件,而是会重新帮我们创建,而顺序就是我们重新打开应用之后,标注的顺序,这样子会导致class文件内容被顶替,导致标注数据出现混乱,有时候会因为这个原因闪退,所以我们可以在labels文件夹中,提前创建好class文件,并且按照我们自定义的顺序去排列

yolo android,YOLO,目标跟踪,人工智能,android,java,python

然后在启动labelImg  的时候

输入

 Labelimg class_file E:\StudyData\python\TrafficData\labels\text\classes.txt  

这样子标注应用就会识别到你的class文件了

当我们标注好所有数据后,每张图片都会在labels对应着一个标注文件

等我们标注好我们自己的数据集后,就可以开始训练了

第三步:开始训练

yolo android,YOLO,目标跟踪,人工智能,android,java,python

找到train这个文件,找到这个位置的信息,这里示范的是yolov5m的预训练模型

这里的--data 注意别跟我一样写成mask_data2.yaml ,默认是mask_data.yaml

yolo android,YOLO,目标跟踪,人工智能,android,java,python

如果在GPU中跑,这里改为0

修改完这些东西后,就可以在命令行中输入

python train.py  --epoch 100 --batch-size 8

然后等待模型跑完yolo android,YOLO,目标跟踪,人工智能,android,java,python由于如何跑模型,其他博主都已经出过相关的教程,这里简单的实现一下,具体详细细节可以参考别人的,这里主要分享一下我是如何转为tfLite成功实现yolov5模型的转换的

第四步:yolov5转为tfLite模型

当我们模型跑完后

yolo android,YOLO,目标跟踪,人工智能,android,java,python

可以看到在runs/train/exp*/weights/best.pt.这个文件,就是我们跑出来的结果;

可以在大佬写的window.py里面测试一下

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

然后直接运行

yolo android,YOLO,目标跟踪,人工智能,android,java,python

传入我们自己的数据

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

可以看到,模型已经成功跑出来了

接下来就是开始转换了

打开export.py

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

修改完成后,直接运行export

等待一会他的自动转换

转换成功了

yolo android,YOLO,目标跟踪,人工智能,android,java,python

可以看到已经生成了一个tfLite文件在我们的项目里面

yolo android,YOLO,目标跟踪,人工智能,android,java,python

第五步:我们可以检测一下tfLite是否可用

获取tflite模型的output数据细节

在命令行中输入python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

这里可以看到,模型成功输入信息

 python

>>> import tensorflow as tf
>>> yolov5s = "runs/train/exp17/weights/best-fp16.tflite" 
>>> interpreter = tf.lite.Interpreter(model_path = yolov5s) 
>>> yolov5s = "runs/train/exp17/weights/best-fp16.tflite"
>>> interpreter = tf.lite.Interpreter(model_path = yolov5s)
>>> print(interpreter.get_output_details())

对应的还有以下命令

yolo android,YOLO,目标跟踪,人工智能,android,java,python

参考:4. tflite导出,模型细节_哔哩哔哩_bilibili

第六步:下载官方的示例代码

模型转换成功后,我们就可以对tfLite的嵌入了,这里我们可以下载这个案例

https://github.com/yyccR/yolov5-tflite-android
 

正确下载并导入android studio后

yolo android,YOLO,目标跟踪,人工智能,android,java,python

我们可以看到示例应用里已经有很多个模型,我们可以把自己的模型放在这里面

yolo android,YOLO,目标跟踪,人工智能,android,java,python

第七步:修改代码

点开这个coco_label.txt文件,我们可以看到在这里面是存放目标的地方

所以我们需要做的就是

1.添加模型

2.创建coco_label.txt文件

yolo android,YOLO,目标跟踪,人工智能,android,java,python

这里我直接创建一个coco_label2.txt,并将我们之前的class文件直接放入

下一步就是打开

yolo android,YOLO,目标跟踪,人工智能,android,java,python

修改模型

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

这里只是将默认的模型给修改了一下,具体的可以自己研究代码然后修改

这里我们回去查看一下我们的tfLite模型的输入信息

yolo android,YOLO,目标跟踪,人工智能,android,java,python

可以看到

yolo android,YOLO,目标跟踪,人工智能,android,java,python

我们需要的是640,640的图片大小;所以在项目中,我们还需要修改这里INPNUT_SIZE

yolo android,YOLO,目标跟踪,人工智能,android,java,python修改前yolo android,YOLO,目标跟踪,人工智能,android,java,python修改后

然后看一下yolo android,YOLO,目标跟踪,人工智能,android,java,python

这里代表的是,OUTPUT_SIZE,所以我们还需要修改一下

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

然后修改一下label_file

yolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,python

第八步:运行软件

我们可以看到,已经成功运行了

yolo android,YOLO,目标跟踪,人工智能,android,java,pythonyolo android,YOLO,目标跟踪,人工智能,android,java,python

yolo android,YOLO,目标跟踪,人工智能,android,java,pythonyolo android,YOLO,目标跟踪,人工智能,android,java,python

第九步:优化速率

到这里已经成功的将yolov5的模型给嵌入app中了,但是速率还是有点慢

yolo android,YOLO,目标跟踪,人工智能,android,java,python

这里可以加上这段代码

yolo android,YOLO,目标跟踪,人工智能,android,java,pythonyolo android,YOLO,目标跟踪,人工智能,android,java,python

可以看到,这样子就成功实现了文章来源地址https://www.toymoban.com/news/detail-848515.html

到了这里,关于Android嵌入自己训练的yolov5模型(tfLite)交通标志的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • YOLOv5:使用7.0版本训练自己的实例分割模型(车辆、行人、路标、车道线等实例分割)

    由于本人水平有限,难免出现错漏,敬请批评改正。 更多精彩内容,可点击进入YOLO系列专栏或我的个人主页查看 YOLOv5:添加SE、CBAM、CoordAtt、ECA注意力机制 YOLOv5:yolov5s.yaml配置文件解读、增加小目标检测层 YOLOv5:IoU、GIoU、DIoU、CIoU、EIoU YOLOv7训练自己的数据集(口罩检测)

    2024年02月15日
    浏览(51)
  • 【colab】谷歌colab免费服务器训练自己的模型,本文以yolov5为例介绍流程

    目录 一.前言 二.准备工作 1.注册Google drive(谷歌云盘) Google Driver官网:https://drive.google.com/drive/ Colab官网:https://colab.research.google.com/ 2.上传项目文件 3.安装Colaboratory 4.colab相关操作和命令 5.项目相关操作  三.异常处理         本文介绍了在谷歌开放平台Google colab上租用免

    2023年04月08日
    浏览(51)
  • Yolov5+win10+pytorch+android studio实现安卓实时物体检测实战(coco128/coco/自己的训练集)

    在这里感谢各个大佬的参考文献及资料。在我学习深度学习的过程中,我参考了如下网站: Win10+PyTorch+YOLOv5 目标检测模型的训练与识别 | | 洛城风起 YOLOv5 COCO数据集 训练 | 【YOLOv5 训练】_墨理学AI的博客-CSDN博客_yolov5训练coco数据集 系统环境:win10 cuda 版本:11.3 Cuda环境配置 在

    2023年04月11日
    浏览(38)
  • YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)

      通过前几篇文章,相信大家已经学会训练自己的数据集了。本篇是YOLOv5入门实践系列的最后一篇,也是一篇总结,我们再来一起按着 配置环境--标注数据集--划分数据集--训练模型--测试模型--推理模型 的步骤,从零开始,一起实现自己的目标检测模型吧! 前期回顾: YOLO

    2023年04月26日
    浏览(58)
  • 【零基础玩转yolov5】yolov5训练自己的数据集(CPU训练+GPU训练)

     博主也是最近开始玩yolov5的,甚至也是最近开始使用python的,很多东西都没有接触过,因此训练自己的数据集花了不少时间,所以想写篇博客记录一下,希望同样是零基础的小伙伴们可以更加轻松的上手。同时大家如果发现了错误和理解偏差,欢迎指正。 参考资料: Yolo

    2024年02月06日
    浏览(70)
  • yolov5训练自己的数据集

    1.YOLOv5为开源代码,直接从github上下载,首先打开github官网,下载。 下载使用pycharm打开,有图中这些文件,   其中 data:主要是存放一些超参数的配置文件(这些文件(yaml文件)是用来配置训练集和测试集还有验证集的路径的,其中还包括目标检测的种类数和种类的名称)

    2024年02月07日
    浏览(120)
  • yolov5训练自己的数据集问题排除

    D:ProgramDataAnaconda3envsyolov5python.exe D:/yxt/yolov5-master/train.py Traceback (most recent call last):   File \\\"D:ProgramDataAnaconda3envsyolov5libsite-packagesgit__init__.py\\\", line 140, in module     refresh()   File \\\"D:ProgramDataAnaconda3envsyolov5libsite-packagesgit__init__.py\\\", line 127, in refresh     if not Git.refresh(p

    2024年04月11日
    浏览(63)
  • 【YOLO】yolov5训练自己的数据集

    【Python】朴实无华的yolov5环境配置(一)   上面前期教程中,大致介绍了yolov5开发环境的配置方法和yolov5项目的基本结构,下一步就是基于yolov5预训练模型来训练自己的数据集,这对于只是想要使用yolov5这个工具的人,还是想要深入研究yolov5类似的目标识别算法的人,都是

    2024年02月11日
    浏览(47)
  • YOLOv5-第Y2周:训练自己的数据集

    🍨 本文为🔗365天深度学习训练营 中的学习记录博客 🍖 原作者:K同学啊 电脑系统:Windows 10 语言环境:Python 3.8.5 编译器:colab在线编译 深度学习环境:PyTorch 文件夹目录结构: 🍦主目录: paper_ data (创建个文件夹,将数据放到这里) Annotations (放置我们的.xm文件) images (放置图

    2024年01月20日
    浏览(50)
  • yolov5-7.0训练自己的VOC数据集

    这个笔记可能只适用于7.0版本的,写这个笔记主要是给工作室伙伴参考的,大佬请绕行 有错误之处欢迎指出 yolov5的GitHub仓库地址:Release v7.0 - YOLOv5 SOTA Realtime Instance Segmentation · ultralytics/yolov5 (github.com) 需要下载源码和预训练模型 将源码解压,在其文件夹里面新建一个weights文

    2024年02月12日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包