現(xiàn)在,目標(biāo)檢測(cè)界明星模型 YOLO,最新 v5 版本也可以在手機(jī)上玩兒了!瞧~只需要區(qū)區(qū)幾十毫秒,桌上的東西就全被檢測(cè)出來(lái)了:
這速度似乎不比電腦差?想要親手搭建一個(gè)?上教程。
在安卓手機(jī)上部署 YOLOv5
更確切的說(shuō)是 YOLOv5s。YOLOv5 于 2020 年 5 月發(fā)布,最大的特點(diǎn)就是模型小,速度快,所以能很好的應(yīng)用在移動(dòng)端。
而且其實(shí)最開始 YOLOv5 就是作為一款對(duì)圖像進(jìn)行檢測(cè)、分類和定位的 iOS 端 App 進(jìn)入人們的視野,而且 App 還是由 YOLOv5 的作者親自開發(fā)。
現(xiàn)在,想要在安卓設(shè)備上部署它,你需配備的環(huán)境如下:
主機(jī) Ubuntu18.04
Docker
? Tensorflow 2.4.0
? PyTorch 1.7.0
? OpenVino 2021.3
安卓 App
? Android Studio 4.2.1
? minSdkVersion 28
? targetSdkVersion 29
? TfLite 2.4.0
安卓設(shè)備
? 小米 11 (存儲(chǔ) 128GB/ 內(nèi)存 8GB)
? 操作系統(tǒng) MIUI 12.5.8
然后直接下載作者在 GitHub 上的項(xiàng)目。
git clone —recursive https://github.com/lp6m/yolov5s_android
使用 Docker 容器進(jìn)行主機(jī)評(píng)估(host evaluation)和模型轉(zhuǎn)換。
cd yolov5s_android docker build ./ -f ./docker/Dockerfile -t yolov5s_android docker run -it —gpus all -v pwd:/workspace yolov5s_anrdoid bash
將 App 文件夾下的./tflite\u model/*.tflite 復(fù)制到 App / tflite\u yolov5\u test / App / src / main / assets / 目錄下,就可在 Android Studio 上構(gòu)建應(yīng)用程序。
構(gòu)建好的程序可以設(shè)置輸入圖像大小、推斷精度和模型精度。
如果選擇其中的“Open Directory”,檢測(cè)結(jié)果會(huì)被保存為 coco 格式的 json 文件。從攝像頭進(jìn)行實(shí)時(shí)檢測(cè)模式已將精度和輸入圖像大小固定為 int8/320,該模式在小米 11 達(dá)到的圖像幀數(shù)為 15FPS。
由于本項(xiàng)目是作者參加的一個(gè)”Yolov5s Export”競(jìng)賽(并且最終得了獎(jiǎng),獎(jiǎng)金還是 2000 美元),所以他也進(jìn)行了性能評(píng)估。
評(píng)估包括延時(shí)和準(zhǔn)確度。
延遲時(shí)間
在小米 11 上測(cè)得,不包含預(yù)處理 / 后處理和數(shù)據(jù)傳輸?shù)暮臅r(shí)。
結(jié)果如下:
不管模型精度是 float32 還是 int8,時(shí)間都能控制在 250ms 以內(nèi),連半秒的時(shí)間都不到。
△ float32
△ int8
大家可以和 YOLOv5 在電腦上的性能對(duì)比:
準(zhǔn)確度
各種模式下的 mAP (mean Average Precision) 值最高為 28.5,最低也有 25.5。
最后,詳細(xì)教程可戳下方鏈接;如果你只想試玩,作者也在上面提供了安卓安裝包~
項(xiàng)目地址:
https://github.com/lp6m/yolov5s_android
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。