YOLOV8部署AndroidStudio

这篇具有很好参考价值的文章主要介绍了YOLOV8部署AndroidStudio。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

1.github下载yolov8的项目源码

https://github.com/ultralytics/ultralyticshttps://github.com/ultralytics/ultralytics1.1  创建属于yolov8的虚拟环境

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

1.2 下载官方的预训练权重https://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pthttps://github.com/ultralytics/assets/releases/download/v0.0.0/yolov8n.pt1.3 yolov8训练自己的数据集

1.3.1 创建数据加载配置文件

android加载yolov8模型,YOLO,yolov8,android studio

1.3.2 训练自定义的数据

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

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

android加载yolov8模型,YOLO,yolov8,android studio

2.模型转换

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

2.1 将pt文件转为onnx

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

android加载yolov8模型,YOLO,yolov8,android studio

android加载yolov8模型,YOLO,yolov8,android studio

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

android加载yolov8模型,YOLO,yolov8,android studio

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

android加载yolov8模型,YOLO,yolov8,android studio

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

android加载yolov8模型,YOLO,yolov8,android studio

2.1 将onnx文件转为ncnn格式

访问一键生成网站:一键转换 Caffe, ONNX, TensorFlow 到 NCNN, MNN, Tenginehttps://convertmodel.com/

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

 android加载yolov8模型,YOLO,yolov8,android studio

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

 android加载yolov8模型,YOLO,yolov8,android studio

3.准备android项目

GitHub - FeiGeChuanShu/ncnn-android-yolov8: Real time yolov8 Android demo by ncnnhttps://github.com/FeiGeChuanShu/ncnn-android-yolov8

3.1 放置ncnn模型文件

android加载yolov8模型,YOLO,yolov8,android studio

3.2 修改yolo.cpp

3.2.1 修改调用的模型名格式

android加载yolov8模型,YOLO,yolov8,android studio

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

android加载yolov8模型,YOLO,yolov8,android studio

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

android加载yolov8模型,YOLO,yolov8,android studio

3.2.4 类别的数量 

android加载yolov8模型,YOLO,yolov8,android studio

3.3 修改 yolov8ncnn.cpp

3.3.1 添加模型

android加载yolov8模型,YOLO,yolov8,android studio

3.3.2 添加如下:

android加载yolov8模型,YOLO,yolov8,android studio

3.4 strings.xml

添加移动端模型选择文件

android加载yolov8模型,YOLO,yolov8,android studio

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

部署效果

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

android加载yolov8模型,YOLO,yolov8,android studio

一直卡在这里,希望有大佬指点。文章来源地址https://www.toymoban.com/news/detail-765428.html

到了这里,关于YOLOV8部署AndroidStudio的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • yolov8 opencv模型部署(python版)

    TensorRT系列之 Windows10下yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov7 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov6 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov5 tensorrt模型加速部署 TensorRT系列之 Linux下 yolox tensorrt模型加速部

    2024年02月04日
    浏览(37)
  • yolov8 opencv模型部署(C++版)

    TensorRT系列之 Windows10下yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov7 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov6 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov5 tensorrt模型加速部署 TensorRT系列之 Linux下 yolox tensorrt模型加速部

    2024年02月08日
    浏览(35)
  • linux下 yolov8 tensorrt模型部署

    TensorRT系列之 Windows10下yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov8 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov7 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov6 tensorrt模型加速部署 TensorRT系列之 Linux下 yolov5 tensorrt模型加速部署 TensorRT系列之 Linux下 yolox tensorrt模型加速部

    2024年02月08日
    浏览(41)
  • AI模型部署 | onnxruntime部署YOLOv8分割模型详细教程

    本文首发于公众号【DeepDriving】,欢迎关注。 0. 引言 我之前写的文章《基于YOLOv8分割模型实现垃圾识别》介绍了如何使用 YOLOv8 分割模型来实现垃圾识别,主要是介绍如何用自定义的数据集来训练 YOLOv8 分割模型。那么训练好的模型该如何部署呢? YOLOv8 分割模型相比检测模型

    2024年04月24日
    浏览(34)
  • 目标检测再升级!YOLOv8模型训练和部署

    YOLOv8 是 Ultralytics 开发的 YOLO(You Only Look Once)物体检测和图像分割模型的最新版本。YOLOv8是一种尖端的、最先进的SOTA模型,它建立在先前YOLO成功基础上,并引入了新功能和改进,以进一步提升性能和灵活性。它可以在大型数据集上进行训练,并且能够在各种硬件平台上运行

    2024年01月20日
    浏览(45)
  • yolov8 opencv dnn部署自己的模型

    源码地址 本人使用的opencv c++ github代码,代码作者非本人 使用github源码结合自己导出的onnx模型推理自己的视频 推理条件 windows 10 Visual Studio 2019 Nvidia GeForce GTX 1070 opencv4.7.0 (opencv4.5.5在别的地方看到不支持yolov8的推理,所以只使用opencv4.7.0) 导出yolov8模型 yolov8版本: version = ‘8.

    2024年01月24日
    浏览(42)
  • [易语言][]使用易语言部署yolov8的onnx模型

    易语言部署yolo系列模型,现在网上有很多但是他们不够简洁也不够专业,有人专门把opencv封装成易语言支持库然后用opencv在易语言端写,其实这种效率没有在C++直接推理效率高,因为易语言往C++传递图像数据集是需要转换图像数据集格式才能传递给C++ opencv Mat对象,我们开发

    2024年02月09日
    浏览(74)
  • openvino部署yolov8 检测、分割、分类及姿态模型实例详解

    本文重点参考:https://github.com/openvino-book/yolov8_openvino_cpp/tree/main 文中代码为简便版本,如果要使用请自行修改并封装 openvnio部署模型比较方便和简单,而且不易出错,就是速度慢了点! 下边分别给出 部署源码

    2024年02月16日
    浏览(44)
  • 模型实战(11)之win10下Opencv+CUDA部署yolov5、yolov8算法

    测试环境:AMDRH7000+RTX3050+win10+vs2-10+opencv455+cuda11.7 关于opencv470+contrib+cuda的编译,可以详见:Win10下Opencv+CUDA联合编译详细教程 本文代码同时支持 yolov5 、 yolov8 两个模型,详细过程将在文中给出, 完整代码仓库最后给出 其中,yolov8在opencv-DNN + CUDA下的效果如下: 新建VS项目,名

    2024年02月16日
    浏览(39)
  • 【YOLO】Windows 下 YOLOv8 使用 TensorRT 进行模型加速部署

    本文全文参考文章为 win10下 yolov8 tensorrt模型加速部署【实战】 本文使用的代码仓库为 TensorRT-Alpha 注:其他 Yolov8 TensorRT 部署项目:YOLOv8 Tensorrt Python/C++部署教程 安装Visual Studio 2019或者Visual Studio 2022、Nvidia驱动 安装cuda,cudnn、opencv、tensorrt并进行相应的环境配置,这里不做配

    2024年02月11日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包