使用NCNN在華為M5平板部署Yolov5
- 一、NCNN
- 二、下載解壓NCNN
- 三、下載ncnn-android-yolov5工程
- 四、下載Android Studio[前提已經配置了jdk版本]
- 1、安裝NDK、Cmske,這個必須要安裝,
- 2、安裝Android
- 五、構建工程
- 六、修改源碼
- 七、重新ysnc project
- 八、安裝APP到終端
- 九、把模型生成APK
- 十、APK位置
一、NCNN
NCNN是一個騰訊開源的優化到極致的高性能神經網絡前向計算框架,可以把電腦端生成在深度學習模型移植到手機端,支持的模型非常多 NCNN官方的定義:NCNN是騰訊公司開源的一個專為手機端極致優化的高性能神經網絡前向計算框架。NCNN從設計之初,就深刻考慮手機端的部署和使用,無需第三方依賴,跨平臺,手機端CPU的速度快于目前所有已知的開源框架。基于NCNN,開發者能夠將深度學習算法輕松移植到手機端高效執行,開發出人工智能APP,將AI帶到你的指尖。 目前NCNN已經支持大部分的CNN網絡,包括本文中用到的YOLOv5,
二、下載解壓NCNN
我們接下來主要以帶加速的ncnn-android-vulkan.zip展開
三、下載ncnn-android-yolov5工程
The YOLOv5 object detection android example
接下來,
把ncnn-20231027-android-vulkan里面的文件復制一份到ncnn-android-yolov5-master的\app\src\main\jni目錄下:
四、下載Android Studio[前提已經配置了jdk版本]
這中間有個注意是想,我們在安裝的時候jdk的時候,千萬不要安裝最新版本的,由于這個項目是三年前的,如果按照最新的jdk一定會和工程各種的不兼容。至于到底該按照哪個版本的jdk,可以參考下圖,
為了確定gradle的版本,我們可以打開工程中的一個文件,如圖所示:
文件默認的gradle是5.4.0版本,安裝java12版本就好了,我圖中之所以注釋掉,是因為,我安裝AS之前安裝的是最新的JDK版本,結果出現不兼容問題,當時要不省級gradle版本,要不降低JDK版本,我選擇了前者所以是7.5.0,所以大家可以在是先對應gradle版本安裝JDK,后期會省去很多麻煩。當前如果你之前確實已經按照了最新的JDK怎么辦,按照下圖選擇對應版本的JDK依然可以,親測有效。
1、安裝NDK、Cmske,這個必須要安裝,
記得點擊右下方的ShowPackage Details按鈕,要不NDK和Cmake不會展開。這兩個的版本建議安裝紅框中的版本,至于為什么,可以明顯的看到不同版本的NDK明顯在toolchains中是不同的,確實了前兩個文件,后期會報錯。至于為什么是20不是23,大家可以想想這個工程上面說了是三年前的,所以工程肯定和當年的NDK版本兼容最好。選中兩個文件,然后點擊Apply,就會自動下載了。
2、安裝Android
至于Android選擇是什么版本,根據自己的手機系統確定,然后點擊Apply就會下載了。
剩下的就是漫長的等待安裝了。
由于這篇博文,是安裝之后寫的,所以有坑的地方我都提前說了,如果大家遇到報錯,可以看看我往前的博客。
五、構建工程
用Android studio 打開(二)中下載的ncnn-android-yolov5-master項目的build.gradle文件,耐心等待構建完成。
注意有兩個build.gradle,一個是工程的,一個是模塊的,不要點錯了
剩下的也是漫長的等待了…,會安裝一系列東西,之后Android studio會幫我們構建整個工程,耐心等待他走完。
六、修改源碼
打開ncnn-android-yolov5-master\app\src\main\jni\CMakeLists.txt
將第五行的路徑改為自己的路徑
set(ncnn_DIR ${CMAKE_SOURCE_DIR}/ncnn-20201218-android-vulkan/${ANDROID_ABI}/lib/cmake/ncnn)
改為:
set(ncnn_DIR ${CMAKE_SOURCE_DIR}/${ANDROID_ABI}/lib/cmake/ncnn)
- 簡單說明一下:ANDROID_ABI對應的是不同架構下的文件夾名稱
七、重新ysnc project
八、安裝APP到終端
可以看到,平板上已經有一個APP了。
九、把模型生成APK
按照圖上的操作順序,最下角提示APK生成成功。
十、APK位置
我開始使用新的Android Studio,卻無法在IDE的實際位置中找到該應用程序的APK?
我們在成功生成APK之后,會看到提示信息,當我我們點擊locate,就會打開APK的安裝位置。
因此Android Studio中的apk是在應用模塊的build文件夾內生成的。
正確的apk路徑為\app\build\outputs\apk。我正在使用Android Studio版本1.4.1。因此,可以根據所使用的Android Studio版本在app/build/apk/\app\build\outputs\apk處找到apk。
您可以在以下位置找到APK:
YourProject\\app\\build\\outputs\\apk
我的:ncnn-android-yolov5-master\app\build\outputs\apk
*apk類型有:debug 和 release;debug版本較大,至于用哪個取決于手機性能了。
我把debug版本的APK傳送手機上,并進行安裝。效果如下:
至此yolov5的模型部署到安卓端側終于完結!!!
在部署的時候,也看了不少的博客,在此致謝。
華為P30部署yolov5
安卓端使用ncnn部署yolov5(v6.0)
OLOv5使用NCNN將模型部署到Android端教程(1)部署自己的訓練模型到Android實現靜態圖片檢測
記錄歷經三天將自己的yolov5模型部署到Android安卓手機
YOLOv5使用NCNN將模型部署到Android端教程(1)部署自己的訓練模型到Android實現靜態圖片檢測
新Android Studio中的Apk位置