现在,目标检测界明星模型 YOLO,最新 v5 版本也可以在手机上玩儿了!瞧~只需要区区几十毫秒,桌上的东西就全被检测出来了:
这速度似乎不比电脑差想要亲手搭建一个上教程
在安卓手机上部署 YOLOv5
更确切的说是 YOLOv5sYOLOv5 于 2020 年 5 月发布,最大的特点就是模型小,速度快,所以能很好的应用在移动端
现在,想要在安卓设备上部署它,你需配备的环境如下:
-
主机 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
-
安卓设备
。小米 11
。操作系统 MIUI 12.5.8
使用 Docker 容器进行主机评估和模型转换。
cdyolov5s_androiddockerbuild./—f./docker/Dockerfile—tyolov5s_androiddockerrun—it—gpusall—vpwd:/workspaceyolov5s_anrdoidbash
将 App 文件夹下的./tfliteu model/*.tflite 复制到 App / tfliteu yolov5u test / App / src / main / assets / 目录下,就可在 Android Studio 上构建应用程序。
构建好的程序可以设置输入图像大小,推断精度和模型精度。
如果选择其中的Open Directory,检测结果会被保存为 coco 格式的 json 文件从摄像头进行实时检测模式已将精度和输入图像大小固定为 int8/320,该模式在小米 11 达到的图像帧数为 15FPS
评估包括延时和准确度。
延迟时间
在小米 11 上测得,不包含预处理 / 后处理和数据传输的耗时。
结果如下:
不管模型精度是 float32 还是 int8,时间都能控制在 250ms 以内,连半秒的时间都不到。
float32
int8
大家可以和 YOLOv5 在电脑上的性能对比:
准确度
各种模式下的 mAP 值最高为 28.5,最低也有 25.5。
项目地址:
。