模型部署:(二)安卓端部署Yolov5-v6.0目標檢測項目全流程記錄

模型部署:(二)安卓端部署Yolov5-v6.0目標檢測項目全流程記錄

  • 1、下載NCNN項目
  • 2、下載基于安卓的yolov5項目
  • 3、修改相應的配置文件
  • 4、將項目打包成apk包
  • 5、部署自己訓練的yolov5模型
  • 6、相關資料下載:

1、下載NCNN項目

# 鏈接地址
https://github.com/Tencent/ncnn/releases?page=2

在這里插入圖片描述

android ios macos linux windows webassembly 預編譯庫 20220420 7600270

在這里插入圖片描述
在這里插入圖片描述

2、下載基于安卓的yolov5項目

https://github.com/nihui/ncnn-android-yolov5

在這里插入圖片描述

將目錄ncnn-20220420-android-vulkan下的所有的文件
在這里插入圖片描述
復制到目錄ncnn-android-yolov5-master下的ncnn-android-yolov5-master\app\src\main\jni路徑下
在這里插入圖片描述

報錯1:

Android Studio處理異常報錯:Cause connect timed out

解決方案則是:
在gradle-wrapper.properties中更改distributionUrl地址如下:

distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-5.4.1-all.zip

在這里插入圖片描述

報錯2:

NDK not configured. Download it with SDK manager.

在這里插入圖片描述

3、修改相應的配置文件

進入到如下目錄中
在這里插入圖片描述
CMakeLists.txt文件中的相關路徑修改成如上所示(由于已經實現將相關的文件復制到到了對應的目錄內)

經過上述操作后,點擊如下,進行項目重構
在這里插入圖片描述

修改鏡像源:
在這里插入圖片描述
將build.gradle文件修改成如下內容:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {repositories {// 阿里云鏡像maven { url 'https://maven.aliyun.com/repository/google' }maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }maven { url 'https://maven.aliyun.com/repository/public' }maven { url 'https://maven.aliyun.com/repository/central' }// 清華鏡像(備用)maven { url 'https://mirrors.tuna.tsinghua.edu.cn/maven/google' }maven { url 'https://mirrors.tuna.tsinghua.edu.cn/maven/central' }mavenCentral()}dependencies {classpath 'com.android.tools.build:gradle:4.2.2'}
}allprojects {repositories {// 阿里云鏡像maven { url 'https://maven.aliyun.com/repository/google' }maven { url 'https://maven.aliyun.com/repository/public' }maven { url 'https://maven.aliyun.com/repository/central' }// 清華鏡像(備用)maven { url 'https://mirrors.tuna.tsinghua.edu.cn/maven/google' }maven { url 'https://mirrors.tuna.tsinghua.edu.cn/maven/central' }mavenCentral()}
}

4、將項目打包成apk包

按照鏈接https://guoqingru.blog.csdn.net/article/details/151359111的流程打包成apk并安裝,檢測效果如下圖所示

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

5、部署自己訓練的yolov5模型

我是采用的yolov5-6.0版本,我使用pytorch1.8版本,剛開始采用的pytorch版本是1.13,結果由于版本太高出現異常報錯問題

首先需要將訓練的.pt文件轉換成.onnx格式

采用如下指令:

python export.py --weights yolov5s.pt --include onnx   

在這里插入圖片描述
onnx去冗余

.pt模型導出的.onnx模型包含許多冗余的維度,這是ncnn不支持的,所以需要去掉冗余的維度。一定要去冗余!!!!要不后面轉換容易報錯

前置:onnx(pytorch自帶了,不用單獨安裝)、onnx-simplifier (需要安裝)

安裝onnx-simplifier的指令:

pip install onnx-simplifier

去冗余指令:

python -m onnxsim yolov5s.onnx  yolov5s-sim.onnx

如下所示,轉換完畢:
在這里插入圖片描述
在這里插入圖片描述

再將得到的.onnx文件轉換成.ncnn格式文件:

轉換工具下載地址:

https://download.csdn.net/download/guoqingru0311/91903993

將轉換后的瘦身后的模型下載到Windows系統本地,采用如下所示的轉換工具將yolov5s-sim.onnx文件轉換成.ncnn格式的文件(注意:必須要將.onnx文件進行瘦身去除掉冗余,否則接下來的ncnn文件轉換會報錯)

在這里插入圖片描述
轉換后的生成文件如下所示:
在這里插入圖片描述

參數配置修改:
將轉換得到的yolov5s.bin與yolov5s.param文件拷貝至項目F:\ncnn-android-yolov5-master\app\src\main\assets目錄下進行如下修改:

原始文件:
在這里插入圖片描述
修改后:
在這里插入圖片描述
注意:必須將下圖中的紅色標注區域改成對應的375與400
在這里插入圖片描述

修改對應的檢測物體類別標簽:
在這里插入圖片描述

修改完上述文件中紅、綠標注的位置后,重構項目,安裝程序!!!

在這里插入圖片描述
在這里插入圖片描述

6、相關資料下載:

安卓端部署Yolov5-v6.0目標檢測項目全流程記錄-相關代碼資料

https://download.csdn.net/download/guoqingru0311/91906099

安卓端部署Yolov5-v6.0目標檢測項目全流程記錄-講解資料

https://download.csdn.net/download/guoqingru0311/91906112

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/98668.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/98668.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/98668.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

圖形基礎算法:如何將點與帶曲線邊的多邊形位置關系算法做穩定

簡介判斷點與多邊形位置關系算法是幾何算法中最基礎的算法之一,包括布爾運算在內的非常非常多的算法都會用到它。它的穩定是算法庫穩定的關鍵。下面我們從一個邊都是直線的多邊形開始了解射線法的原理。然后看看引入曲線后會帶來哪些問題,以及在實際應用…

react的filber架構

好問題 👍 你問的是 React Fiber 架構。這是 React 16 引入的核心機制,用來解決 React 在大規模更新時的性能問題。下面我給你從 背景 → Fiber 是什么 → 原理 → 優點 → 流程 來系統講。一、為什么需要 Fiber?在 React 15 及以前&#xff…

Lucky STUN穿透結合群暉NAS實現docker下transmission監聽端口動態更新

參考文章 LCUKY系列教程 一 「LUCKY STUN穿透」使用 cURL 自動修改 Transmission 的監聽端口 二 「LUCKY STUN穿透」使用 Webhook 自動修改 qbittorrent 的監聽端口 三 LUCKY STUN穿透在Windows上使用UPnP工具為BT客戶端自動添加內外端口號不同的映射規則 四「LUCKY STUN穿透」…

如何在Ubuntu暢玩鳴潮等游戲

本教程只包括Steam上的游戲。# 更新軟件源 sudo apt update # 安裝Steam sudo apt install steam首先,在Ubuntu的snap商店安裝Steam,啟動,登陸,下載游戲。到這里的操作都比較簡單,對于沒有反作弊的游戲,往往…

機器學習09——聚類(聚類性能度量、K均值聚類、層次聚類)

上一章:機器學習08——集成學習 下一章:機器學習10——降維與度量學習 機器學習實戰項目:【從 0 到 1 落地】機器學習實操項目目錄:覆蓋入門到進階,大學生就業 / 競賽必備 文章目錄一、聚類任務(無監督學習…

解決 Docker 構建中 Python 依賴沖突的完整指南

問題背景 在基于 registry.cn-shenzhen.aliyuncs.com/all_dev/dev:invoice-base 鏡像構建 Docker 容器時,我們遇到了一個常見的 Python 依賴管理問題: ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-…

光子計算芯片實戰:Lightmatter Passage互連架構性能評測

點擊 “AladdinEdu,同學們用得起的【H卡】算力平臺”,H卡級別算力,80G大顯存,按量計費,靈活彈性,頂級配置,學生更享專屬優惠。 摘要 隨著人工智能計算需求呈指數級增長,傳統電子計算…

基于樹莓派與Jetson Nano集群的實驗邊緣設備上視覺語言模型(VLMs)的性能評估與實踐探索

概述 2018年,TensorFlow Lite團隊的Pete Warden曾提出:“機器學習的未來在于微型化”。如今,隨著人工智能向高性能視覺強大的視覺語言模型(Vision-language models, VLMs)發展,對高性能計算資源的需求急劇…

華為Ai崗機考20250903完整真題

華為Ai崗機考20250903 華為自26屆秋招(2025年起)對AI崗位機考進行了改革,考試題型調整為20道選擇題(15道單選(6分)5道不定項選擇(12分))2道編程題(150300)。 題目核心圍繞人工智能技術(如Transformer架構…

k8s+jenkins+harbor構建Devops平臺

一、環境準備1、準備一主一從k8s機器,(設備好可以一主多從也行)2、一臺harbor倉庫機器(dockerhub訪問不了)二、安裝nfs服務1、在k8s機器上yum install nfs-utils -y systemctl start nfs systemctl enable nfs2、創建共…

為什么 socket.io 客戶端在瀏覽器能連上,但在 Node.js 中報錯 transport close?

網羅開發(小紅書、快手、視頻號同名)大家好,我是 展菲,目前在上市企業從事人工智能項目研發管理工作,平時熱衷于分享各種編程領域的軟硬技能知識以及前沿技術,包括iOS、前端、Harmony OS、Java、Python等方…

人才教育導向下:老年生活照護實訓室助力提升學生老年照護服務能力

一、老年生活照護實訓室建設背景與意義 (一)適應老齡化社會需求 我國老齡化程度持續加深,老年照護服務人才缺口不斷擴大。培養專業照護人才成為當務之急,職業教育需承擔重要責任。點擊獲取實訓室建設方案 (二&…

我在嘉順達藍海的安全堅守

作為嘉順達藍海的資深安全員,每天清晨 6 點,我都會站在物流基地的入口處,看著一隊隊橙色的嘉順達藍海危險品運輸車整齊列隊。那抹醒目的橙色,不僅是嘉順達藍海的標志,更是我和 200 多名同事堅守 12 年的安全承諾。今天…

云原生監控系統 Prometheus大總結 20250909

本章內容如下: Prometheus 介紹 Prometheus 部署和配置 Node Exporter 采集數據 Pushgateway 采集數據 PromQL 查詢語言 Grafana 圖形化展示 Prometheus 標簽管理 Prometheus 告警機制 Prometheus 服務發現 各種Exporter 高級功能 Prometheus 實現容器監控 Promethe…

EPNN:基于嵌入式偏振神經網絡的水下成像增強方法(未做完)

Enhancing Underwater Imaging for Robot through Embedded Polarization Neural Network EPNN:基于嵌入式偏振神經網絡的水下成像增強方法 1 論文核心概念 本文提出了一種名為嵌入式偏振神經網絡(Embedded Polarization Neural Network, EPNN) 的方法,用于顯著提升水下…

基于單片機冷藏運輸車環境檢測/水產品運輸環境檢測設計

傳送門 👉👉👉👉單片機作品題目速選一覽表🚀 👉👉👉👉單片機作品題目功能速覽🚀 🔥更多文章戳👉小新單片機-CSDN博客&#x1f68…

基于STM32設計的人體健康監護系統(華為云IOT)_280

文章目錄 一、前言 1.1 項目介紹 【1】項目開發背景 【2】設計實現的功能 【3】項目硬件模塊組成 【4】設計意義 【5】國內外研究現狀 【6】摘要 1.2 設計思路 1.3 系統功能總結 1.4 開發工具的選擇 【1】設備端開發 【2】上位機開發 1.5 參考文獻 1.6 系統框架圖 1.7 系統原理…

先買實現煩過

#include <myhead.h> #define ERR_LOG(msg)do{perror(msg);printf("%d %s %s\n",__LINE__,__func__,__FILE__);}while(0) //定義TFTP默認端口號&#xff08;69&#xff09;和數據包大小&#xff08;516字節&#xff09; #define PORT 69 #define N 516 …

ACD智能分配:輪流分配和排序上限分配的設置

在客戶服務中&#xff0c;合理的對話分配是提高服務質量的關鍵。一洽客服系統針對不同業務場景,提供靈活的客服分配策略,幫助企業實現智能化的客戶服務管理&#xff0c;今天我們了解一下對話的輪流分配、排序上限分配、排序優先分配的設置一、輪流分配按照客服登錄系統的先后順…

【postMan / apifox 文件上傳】

apifox 需要提供相關插件 失敗的請求 { “timestamp”: “2025-09-10T14:44:24.91900:00”, “status”: 500, “error”: “Internal Server Error”, “path”: “/student/import” } 錯誤&#xff1a;Post “http://localhost:8080/student/import”: dial tcp [::1]:8080:…