yolov5导出onnx转ncnn部署到android

本文介绍了如何将yolov5 6.0模型导出为onnx格式,并进一步转换为ncnn模型以在Android设备上部署。详细步骤包括:导出onnx模型、在Linux环境中安装ncnn及相关依赖、解决OpenCV和protobuf的安装问题、在Android Studio中部署应用,以及处理gradle版本错误。同时,文章还提及了在Android端运行时的参数调整和问题排查。
摘要由CSDN通过智能技术生成

yolov5 6.0导出onnx转ncnn

1.导出onnx

自己在train.py得到训练好的best.pt,在Yolov5里面运行自带的export.py

python export.py --train --simply --weights weights/best.pt

获得best.onnx

2.安装ncnn

下载地址
https://github.com/Tencent/ncnn/archive/refs/heads/master.zip
可以在linux虚拟机里解压

cd ncnn-master
mkdir build
cd build 
cmake ..
make
make install

安装cmake、openCV和protobuf才能onnx转ncnn否则

-- Could NOT find Protobuf (missing: Protobuf_INCLUDE_DIR)
CMake Warning at tools/onnx/CMakeLists.txt:17 (message):
  Protobuf not found, onnx model convert tool won't be built
sudo apt-get install cmake
sudo apt-get install  libprotobuf-dev protobuf-compiler

1)在官网上下载并解压OpenCV,网址为https://opencv.org/releases.html
下载所需版本,此处,我下的版本为opencv-4.5.4.zip,然后执行如下命令进行解压:

unzip opencv-4.5.4.zip
cd opencv-4.5.4
# rm -rf build
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

make -j4

sudo make install
# 此时安装完毕,加载环境变量, 
# 设置动态链接用到的路径,可以执行:

sudo sh -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'
sudo ldconfig

make成功了后ncnn-master/build/tools/onnx/里会有onnx2ncnn.exe 没有就没有安装成功 可能还有什么依赖需要安装
2)ncnn转换

cd /home/test/ncnn-master/build/tools/onnx/
./onnx2ncnn best.onnx best.param best.bin

bext.onnx是你export.py里面导出来的*.onnxbest.param,best.bin是生成的对象名字*.param*.bin用于后面的android里面

txt打开best.param,修改reshape对应的,把0=4096 0=1024 0=256 换成0=-1
在这里插入图片描述
参考https://blog.csdn.net/xian0710830114/article/details/121141409

2、安卓端部署

安装android studio

下载路径:
https://developer.android.google.cn/studio
安装可以参考:
https://blog.csdn.net/tao_789456/article/details/118093106
1)build时遇到

Could not find com.android.tools.build:gradle:5.4.1.
Searched in the following locations:
  - https://jcenter.bintray.com/com/android/tools/build/gradle/5.4.1/gradle-5.4.1.pom
  - https://jcenter.bintray.com/com/android/tools/build/gradle/5.4.1/gradle-5.4.1.jar
  - https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/5.4.1/gradle-5.4.1.pom
  - https://dl.google.com/dl/android/maven2/com/android/tools/build/gradle/5.4.1/gradle-5.4.1.jar
Required by:
    project :
Add google Maven repository and sync project
Open File

总得来的说就是gradle版本错误,gradle是有两个版本的,一个是插件版本,一个固件版本如下图
在这里插入图片描述
在这里插入图片描述
如果是版本过低,就更新版本,下面两个链接提供更新方法。下载最新版本放在本地的对应位置然后更新&#x

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值