一篇教你学会YOLOv5,5.0或6.2版本NCNN模型部署安卓端。

news/2024/7/11 1:20:16 标签: android, YOLO, android studio

这里写目录标题

  • 一、引言
  • 二、准备工作
    • 1、Android Studio
    • 2、安装vs2019
    • 3、ncnn-yolov5-android源码
    • onnx转ncnn模型
  • 三、模型部署
    • 1、修改export文件,转化onnx模型
    • 2、 下载源码

一、引言

想实现下在Android上部署个深度学习模型,本文可以同时部署5.0或6.0版本模型,正文如下:

二、准备工作

所有用到的软件都放在这个百度网盘里,[点击下载,链接:https://pan.baidu.com/s/1BXGknC0xTDCTx-FIiRG88Q
提取码:q7m8]

1、Android Studio

安装Android Studio,

安装教程

2、安装vs2019

我采用的是2019版本,一开始用的2022版本出错了,因此降低了版本。软件下载在网盘里

android_11">3、ncnn-yolov5-android源码

摄像头检测源码

onnx转ncnn模型

省事版:一键转换网站,onnx->ncnn
转换后会得到param和bin模型

三、模型部署

1、修改export文件,转化onnx模型

现有的export代码转化的onnx模型会带着一个Detect层(后处理层),与安卓推理所需要三层输出不对应,因此需要修改yolo.py文件里的Detect()函数,加上一个True。
在这里插入图片描述
运行后会报错,所以需要将export文件里的这两行注释掉,就可以运行了,出来的模型就带了三个输出。
在这里插入图片描述

2、 下载源码

代码

然后通过一键转换网站得到param和bin模型,将模型复制到代码里的assets文件里,

在这里插入图片描述
如果是6.0以上版本的模型,没有focus结构,只需要修改最后reshape的0=-1,
在这里插入图片描述
然后找到最后两行的Permute的输出值,一个是365,一个是385
在这里插入图片描述
将这两个值放入CPP文件里的stride16和stride32里,就万事大吉了!在这里插入图片描述
然后点击运行runapp就可以了在这里插入图片描述


http://www.niftyadmin.cn/n/177108.html

相关文章

Java-Stream Filter and Serializable

Java SE API know how 流和过滤器实现 Stream 延迟遍历,并行处理(提高性能同时带来线程问题) 流的性能优势是因为被实现为延迟处理数据结构 当没有进行终止操作的流并没有进行数据的处理, 当遇到终止操作然后回溯查找流,从六中找到第一个操作之后 进行操…

SYSU程设c++(第五周)new和delete关键字、动态创建变量/数组、内存泄漏、default

new和delete关键字:(动态创建一个string数组) 动态创建一个变量: 动态创建一个数组: 动态创建二维数组: new总结: 1.指针new 类型名; //动态创建一个对象 2.指针new 类型名&#xf…

Mysql里的ibtmp1文件太大

一、告警现象 收到Mysql实例主机磁盘空间不足告警 实例硬盘使用率高于设定规则阈值上限(80%)收到告警后,立即登陆相应的服务器: 查看确认是磁盘空间已经快被占满了,检查发现是Mysql数据目录下的ibtmp1文件涨到了200多…

MySql集群(1)-读写分离

目录 1.读写分离原理 2.MySQL主从同步 3.一主多从配置 1.配置主节点 2.配置从节点 3.ShardingSphere-JDBC 1.读写分离原理 简单概括:创建多个数据库,每个数据库只做单一功能,分别“读”操作或者“写“操作,并且通过日志进行…

redis 内容总结

目录redis 内容列举Redis和Memcached比较Redis简介1、Redis 数据结构2、Redis的持久化机制3、Redis 内容管理(淘汰策略/删除策略)4、Redis 事务5、Redis 缓存三大问题6、Redis 集群7、Redis 应用redis 内容列举 官网:https://redis.io/ 中文…

11. C#高级进阶

一、C# 异常处理 在 C# 中,异常是在程序运行出错时引发的,所有异常都派生自 System.Exception 类。异常处理就是处理运行时错误的过程,通过异常处理可以使程序在发生错误时保持正常运行。 C# 中的异常处理基于四个关键字构建,分别…

Linux命令运行原理shell和bash

目录前言什么是shell,什么是bash?ls -l 执行过程前言 学习操作系统的过程中我们经常在自己的shell中执行一些Linux命令,那么当我们输入一个类似于 ls -a 这样的命令式,发生了什么? 换句话说,从我们在shell中输入ls -a 按下回车…

FastDFS【一】:FastDFS在Ubuntu的安装配置

本文实现了FastDFS的安装,测试 系统环境:ubantu16.04 FastDFS版本:5.0.5 目录 一、FastDFS介绍 二、FastDFS的安装(三台服务器都要安装) 1、下载安装libfastcommon 2、下载安装FastDFS 三、配置Tracker与Stora…