YOLOV8部署AndroidStudio

        最近在学习如何将yolo的项目部署到移动端的安卓手机上面,做一个学习的分享。部署的过程中遇到了很多问题,其中android studio的环境配置算是耗时最长的,经过一番曲折,并没有柳暗花明,最后部署的效果并不佳,不知道自己的过程哪里出现了问题,希望有大佬指点,以下是我的部署过程。 

1.github下载yolov8的项目源码

https://github.com/ultralytics/ultralyticsicon-default.png?t=N7T8https://github.com/ultralytics/ultralytics1.1  创建属于yolov8的虚拟环境

参考:【深度学习之YOLO8】环境部署_春马与夏的博客-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/qq_43376286/article/details/131838647直接使用 pip install ultralytics就可以安装项目所需的所有包

1.2 下载官方的预训练权重https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pticon-default.png?t=N7T8https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt1.3 yolov8训练自己的数据集

1.3.1 创建数据加载配置文件

1.3.2 训练自定义的数据

yolo task=detect mode=train model=yolov8n.pt data=数据配置文件的路径 batch=16 epochs=100 imgsz=640 workers=16 device=0

完成训练后会runs的weights目录下会生成最好的权重文件

2.模型转换

要想自己训练的模型在移动端部署,就需要将生成的pt文件转换为android所支持的ncnn格式的文件,转换的过程分为以下两个步骤:

2.1 将pt文件转为onnx

2.1.1 修改ultralytics/ultralytics/nn/modules/block.py中的class C2f(nn.Module)如下:

2.1.2 修改ultralytics/ultralytics/nn/modules/head.py中的class Detect(nn.Module)改动如下:

2.1.3 创建并运行pt-to-onnx文件

运行成功就会生成best.pt对应的onnx形式的模型文件

2.1 将onnx文件转为ncnn格式

访问一键生成网站:一键转换 Caffe, ONNX, TensorFlow 到 NCNN, MNN, Tengineicon-default.png?t=N7T8https://convertmodel.com/

 选择上述生成的best.onnx文件,并勾选产生fp16模型

 

转换之后会生成如下两个文件

 

3.准备android项目

GitHub - FeiGeChuanShu/ncnn-android-yolov8: Real time yolov8 Android demo by ncnnicon-default.png?t=N7T8https://github.com/FeiGeChuanShu/ncnn-android-yolov8

3.1 放置ncnn模型文件

3.2 修改yolo.cpp

3.2.1 修改调用的模型名格式

3.2.2 修改模型的输入输出层名字

3.2.3 如下修改成自己的类别名称

3.2.4 类别的数量 

3.3 修改 yolov8ncnn.cpp

3.3.1 添加模型

3.3.2 添加如下:

3.4 strings.xml

添加移动端模型选择文件

修改完毕,我们就可以连接真机,查看模型的部署效果。

部署效果

我的部署过程是按照b站这个人的流程来的:yolov8部署Android安卓ncnn 全流程 一镜到底,一定行_哔哩哔哩_bilibiliicon-default.png?t=N7T8https://www.bilibili.com/video/BV1du411577U/?spm_id_from=333.337.search-card.all.click&vd_source=f37acd6c5a247f45905f51875e5d19e7不知道是哪里出了问题,导致我最后部署的效果是这样的

一直卡在这里,希望有大佬指点。

  • 22
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 33
    评论
要在Android部署YOLOv8,您可以按照以下步骤进行操作: 1. 训练YOLOv8模型:首先,您需要训练一个YOLOv8模型,以便能够进行目标检测。您可以使用已有的数据集或者自己收集数据进行训练。在训练时,您可以使用深度学习框架,如PyTorch或TensorFlow。 2. 转换模型为TensorFlow Lite格式:在将模型部署Android设备之前,您需要将训练好的YOLOv8模型转换为TensorFlow Lite格式。TensorFlow Lite是专门用于移动和嵌入式设备的轻量级深度学习框架。 3. 集成TensorFlow Lite到Android应用程序:在Android应用程序中使用TensorFlow Lite进行推理,您需要将TensorFlow Lite库添加到您的项目中。您可以使用Android Studio进行开发,并在Gradle文件中添加TensorFlow Lite依赖项。 4. 加载和运行YOLOv8模型:在Android应用程序中,您需要编写代码加载和运行转换后的YOLOv8模型。这包括从文件中加载模型、处理输入图像数据并进行推理,以检测目标对象。 5. 显示检测结果:最后,您可以根据检测结果在Android设备上显示目标检测结果。这可能涉及到在图像上绘制边界框或标签等操作,以突出显示检测到的目标。 请注意,这只是一个简单的概述,并且在实际操作中可能会涉及更多复杂的步骤和细节。具体实现会依赖于您使用的深度学习框架和开发环境。您可以查阅相关文档和教程,以获得更详细的指导。
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值