用安卓手機(jī)解鎖目標(biāo)檢測(cè)模型YOLOv5,識(shí)別速度不過幾十毫秒
可下載試玩
現(xiàn)在,目標(biāo)檢測(cè)界明星模型YOLO,最新v5版本也可以在手機(jī)上玩兒了!
瞧~只需要區(qū)區(qū)幾十毫秒,桌上的東西就全被檢測(cè)出來了:
這速度似乎不比電腦差?
想要親手搭建一個(gè)?上教程。
在安卓手機(jī)上部署YOLOv5
更確切的說是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 (內(nèi)存 128GB/ RAM 8GB)
操作系統(tǒng) MUI 12.5.8
然后直接下載作者在GitHub上的項(xiàng)目。
git clone —recursive https://github.com/lp6m/yolov5s_android
使用Docke容器進(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