丰色 发自 凹非寺量子位 报道 | 公众号 QbitAI

现在,目标检测界明星模型YOLO,最新v5版本也可以在手机上玩儿了!

瞧~只需要区区几十毫秒,桌上的东西就全被检测出来了:

yolov5目标检测还存在哪些问题(用安卓手机解锁目标检测模型YOLOv5)(1)

这速度似乎不比电脑差?

想要亲手搭建一个?上教程。

在安卓手机上部署YOLOv5

更确切的说是YOLOv5s

YOLOv5于2020年5月发布,最大的特点就是模型小,速度快,所以能很好的应用在移动端。

yolov5目标检测还存在哪些问题(用安卓手机解锁目标检测模型YOLOv5)(2)

而且其实最开始YOLOv5就是作为一款对图像进行检测、分类和定位的iOS端APP进入人们的视野,而且APP还是由YOLOv5的作者亲自开发。

yolov5目标检测还存在哪些问题(用安卓手机解锁目标检测模型YOLOv5)(3)

现在,想要在安卓设备上部署它,你需配备的环境如下:

Tensorflow 2.4.0PyTorch 1.7.0OpenVino 2021.3

Android Studio 4.2.1minSdkVersion 28targetSdkVersion 29TfLite 2.4.0

小米11 (内存 128GB/ RAM 8GB)操作系统 MUI 12.5.8

然后直接下载作者在GitHub上的项目。

git clone —recursive https://github.com/lp6m/yolov5s_android

yolov5目标检测还存在哪些问题(用安卓手机解锁目标检测模型YOLOv5)(4)

使用Docke容器进行主机评估(host evaluation)和模型转换。

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复制到app/tflite\u yolov5\u test/app/src/main/assets/目录下,就可在Android Studio上构建应用程序。

构建好的程序可以设置输入图像大小、推断精度和模型精度。

yolov5目标检测还存在哪些问题(用安卓手机解锁目标检测模型YOLOv5)(5)

如果选择其中的“Open Directory”,检测结果会被保存为coco格式的json文件。

从摄像头进行实时检测模式已将精度和输入图像大小固定为int8/320,该模式在小米11达到的图像帧数为15FPS。

由于本项目是作者参加的一个”Yolov5s Export”竞赛(并且最终得了奖,奖金还是2000美元),所以他也进行了性能评估。

yolov5目标检测还存在哪些问题(用安卓手机解锁目标检测模型YOLOv5)(6)

yolov5目标检测还存在哪些问题(用安卓手机解锁目标检测模型YOLOv5)(7)

评估包括延时和准确度。

在小米11上测得,不包含预处理/后处理和数据传输的耗时。

结果如下:

不管模型精度是float32还是int8,时间都能控制在250ms以内,连半秒的时间都不到。

yolov5目标检测还存在哪些问题(用安卓手机解锁目标检测模型YOLOv5)(8)

△ float32

yolov5目标检测还存在哪些问题(用安卓手机解锁目标检测模型YOLOv5)(9)

△ int8

大家可以和YOLOv5在电脑上的性能对比:

yolov5目标检测还存在哪些问题(用安卓手机解锁目标检测模型YOLOv5)(10)

各种模式下的mAP(mean Average Precision)值最高为28.5,最低也有25.5。

yolov5目标检测还存在哪些问题(用安卓手机解锁目标检测模型YOLOv5)(11)

最后,详细教程可戳下方链接;如果你只想试玩,作者也在上面提供了安卓安装包

yolov5目标检测还存在哪些问题(用安卓手机解锁目标检测模型YOLOv5)(12)

项目地址:

https://github.com/lp6m/yolov5s_android

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

,