【Android Studio】【NCNN】YOLOV5安卓部署

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

坑非常多,兄弟们,我已经踩了三天的坑了,我这里部署了官方的yolov5s和我自己训练的yolov5n的模型

下载Android Studio,配置安卓开发环境,这个过程比较漫长。

android 部署 yolov5,人工智能实训,android,YOLO

安装cmake,注意安装的是cmake3.10版本。

android 部署 yolov5,人工智能实训,android,YOLO

根据手机安卓版本选择相应的安卓版本,我的是红米K30Pro,安卓12。

android 部署 yolov5,人工智能实训,android,YOLO

使用腾讯开源的ncnn,这是一个为手机端极致优化的高性能神经网络前向计算框架,能够将深度学习算法轻松移植到手机端高效执行。

下载解压ncnn-android-yolov5-master和ncnn-20231027-android-vulkan。

nihui/ncnn-android-yolov5: The YOLOv5 object detection android example (github.com)

https://github.com/Tencent/ncnn/releases/download/20231027/ncnn-20231027-android-vulkan.zip

android 部署 yolov5,人工智能实训,android,YOLO

把ncnn-20231027-android-vulkan里面的文件复制一份到ncnn-android-yolov5-master的\app\src\main\jni目录下。

android 部署 yolov5,人工智能实训,android,YOLO

用Android studio 打开这个ncnn-android-yolov5-master项目的build.gradle文件。

android 部署 yolov5,人工智能实训,android,YOLO

然后等待Android Studio构建工程,这个过程比较漫长。

android 部署 yolov5,人工智能实训,android,YOLO

完事之后打开ncnn-android-yolov5-master\app\src\main\jni\CMakeLists.txt将原根目录ncnn-20201218-android-vulkan/删了

android 部署 yolov5,人工智能实训,android,YOLO

修改依赖的gradle插件版本为7.3.0,为什么呢,因为这个版本亲测没有问题,其他会出现各种各样的问题。

android 部署 yolov5,人工智能实训,android,YOLO

然后是修改使用的gradle版本为7.4-all版本,亲测其他版本不匹配。

android 部署 yolov5,人工智能实训,android,YOLO

重新sync项目,如果此时你还一切顺利,那么恭喜你,你已经成功了一大半,如果你开始出现各种各样的报错,那也正常,绝大部分是版本的问题,我在到达此处前卡了一天,你可能需要处理gradle下载慢之类的问题,报错的话复制百度

android 部署 yolov5,人工智能实训,android,YOLO

连接手机,打开手机的开发者模式,打开USB调试,打开USB安装,等Android Studio检测到我的红米K30Pro,然后点击运行,这时app就可以安装到手机上了,可以正常识别。

android 部署 yolov5,人工智能实训,android,YOLOandroid 部署 yolov5,人工智能实训,android,YOLO

我们刚刚部署的是yolov5s的官方模型,现在我们要部署我们的模型。

首先将我们实验三优化的onnx格式模型转换为ncnn所需的格式,onnx格式模型可以通过yolov5自带的export.py导出

大概有三种方法:

第一种是最快的,用这个在线转换网站一键转换 Caffe, ONNX, TensorFlow 到 NCNN, MNN, Tengine (convertmodel.com) 

第二种也是我们下面用的这种,直接下载ncnn编译好的可执行文件转换

第三种就是编译ncnn,这个比较复杂,我没用 

下载解压ncnn-20231027-windows-vs2022-shared,使用x64/bin下的onnx2ncnn程序将onnx模型转换为ncnn所需的模型和参数文件。

将我们的onnx文件复制一份到x64/bin文件夹下。

android 部署 yolov5,人工智能实训,android,YOLO

Windows使用以下命令行完成模型转换。

android 部署 yolov5,人工智能实训,android,YOLO

得到ncnn需要的模型和参数文件。

android 部署 yolov5,人工智能实训,android,YOLO

然后用我们的参数文件替换asset中的yolov5s.param和yolov5s.bin,为了方便,名字也要改成yolov5s,需要将yolov5ncnn_jni.cpp中的stride16和stride32中的ex.extract改为参数文件最后两个permute的输出名称,你也可以用Netron来看参数模型找到最后两个permute的输出名称。

android 部署 yolov5,人工智能实训,android,YOLO

android 部署 yolov5,人工智能实训,android,YOLO

还需要修改类别

android 部署 yolov5,人工智能实训,android,YOLO

这里根据不同的yolov5版本可能需要进行对参数文件的修改,我先不修改跑跑看,可以看到app也成功安装到手机上了,打开并选一张照片进行识别,可以看到框比较多。

android 部署 yolov5,人工智能实训,android,YOLO

根据网上的解决办法,是将参数文件中Reshape后面对应的0=6400、0=1600、0=400均修改为0=-1。

android 部署 yolov5,人工智能实训,android,YOLO

这样可以解决多个框的问题,确实解决了,但是一个框都没有了。

android 部署 yolov5,人工智能实训,android,YOLO

于是我把参数改回去,并增加多一层注意力机制。

android 部署 yolov5,人工智能实训,android,YOLO

然后把nms阈值调成0。

android 部署 yolov5,人工智能实训,android,YOLO

最后变成这样了,不知道有没有大佬可以帮忙解决一下。

android 部署 yolov5,人工智能实训,android,YOLO

参考资料

YOLOv5使用NCNN将模型部署到Android端教程(1)部署自己的训练模型到Android实现静态图片检测 - 知乎 (zhihu.com)

【精选】记录历经三天将自己的yolov5模型部署到Android安卓手机_yolov5部署到手机-CSDN博客文章来源地址https://www.toymoban.com/news/detail-829488.html

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

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

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

相关文章

  • 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日
    浏览(29)
  • 改进的yolov5目标检测-yolov5替换骨干网络-yolo剪枝(TensorRT及NCNN部署)

    2022.10.30 复现TPH-YOLOv5 2022.10.31 完成替换backbone为Ghostnet 2022.11.02 完成替换backbone为Shufflenetv2 2022.11.05 完成替换backbone为Mobilenetv3Small 2022.11.10 完成EagleEye对YOLOv5系列剪枝支持 2022.11.14 完成MQBench对YOLOv5系列量化支持 2022.11.16 完成替换backbone为EfficientNetLite-0 2022.11.26 完成替换backbone为

    2024年01月17日
    浏览(57)
  • 在Android端部署yolov5

    闲来无事,记录一下自己在安卓端部署yolov5的步骤,历时一天 不想部署想直接拿来玩玩的,可以直接下载手机软件:  下载链接: https://download.csdn.net/download/qq_45077760/87629448 整个工程代码下载:https://download.csdn.net/download/qq_45077760/87864014 我用的是自己训练的权重文件,版本是

    2023年04月17日
    浏览(25)
  • 树莓派4B使用NCNN部署Yolov5-lite

    目录 文章目录 前言 一、树莓派配置NCNN 1.安装依赖 2.下载NCNN并编译 二、Yolov5-lite模型训练 1.源码地址 2.安装所需要的包  3.训练自己的数据集(YOLO格式) 4.模型训练  5.模型转换 6.onnx模型简化 三、树莓派部署lite模型 1.将onnx模型转换为ncnn 2.添加Yolov5-lite.cpp 3.修改eopt.param  4.修

    2024年02月05日
    浏览(52)
  • yolov5安卓(鸿蒙)手机部署

    本篇文章主要是针对yolov5s在安卓(鸿蒙)手机部署过程进行记录。 有关YOLOv5其他资料可以参考我以下文章进行学习: C++版tensorrt YOLOv5推理 如何通过YAML文件修改YOLOv5网络 YOLOv5通道剪枝 YOLOv5图像分割代码详解1 YOLOv5图像分割之NMS YOLOv5+霍夫变换之车道线检测 YOLOv5损失函数详解

    2024年02月09日
    浏览(31)
  • YOLOV5-LITE实时目标检测(onnxruntime部署+opencv获取摄像头+NCNN部署)python版本和C++版本

    使用yolov5-lite自带的export.py导出onnx格式,图像大小设置320,batch 1 之后可以使用 onnxsim对模型进一步简化 onnxsim参考链接:onnxsim-让导出的onnx模型更精简_alex1801的博客-CSDN博客 这个版本的推理FPS能有11+FPS 这两处换成自己的模型和训练的类别即可:     parser.add_argument(\\\'--modelpa

    2024年02月04日
    浏览(38)
  • 从零开始部署yolov8到安卓手机详细教程【Android Studio】

    首先你需要配置好pytorch环境,本文不再详细阐述,若未配置好环境,可以参考: https://blog.csdn.net/weixin_43507693/article/details/109015177 安装yolov8可参考: https://blog.csdn.net/weixin_44120785/article/details/128681117 Android Studio官网链接:https://developer.android.google.cn/ 自行配置AS环境(网上很多相

    2024年01月25日
    浏览(39)
  • 基于yolov5的车道线检测及安卓部署

    这个车道线检测是华科的研究团队做的一个开源项目,写这篇文章主要是想分享一下好的东西给大家 自己做了拓展延伸,在车道线检测的基础上增加了测距和碰撞检测内容,具体见文章 yolov5车道线检测+测距(碰撞检测) 车道线识别代码可以直接下载,在win系统下运行 代码

    2024年02月06日
    浏览(69)
  • YOLOv7安卓部署 ncnn

    本文将讲述如何利用ncnn在安卓手机端部署YOLOv7,这里以YOLOv7-tiny为例进行讲解,YOLOv7按照步骤依次进行即可,同时对于Android Studio的安装不在本次教程之内 标准 YOLOv7-tiny 部署指的是没有更改 YOLOv7-tiny 的网络模型架构,直接利用训练好的模型权重进行部署,下面分几步进行讲

    2024年02月03日
    浏览(44)
  • Android嵌入自己训练的yolov5模型(tfLite)交通标志

    目录 第一步:下载模型与修改参数 第二步:标注数据 第三步:开始训练 第四步:yolov5转为tfLite模型 第五步:我们可以检测一下tfLite是否可用 第六步:下载官方的示例代码 第七步:修改代码 第八步:运行软件 第九步:优化速率 效果图 参考:【精选】手把手教你使用YOLOV5训练自己的目标

    2024年04月12日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包