当前位置: 首页 > 科技观察

安卓手机解锁目标检测模型YOLOv5,识别速度仅几十毫秒

时间:2023-03-21 15:25:41 科技观察

现在,目标检测界的明星模型YOLO,最新v5版本手机也可以玩了!你看~检测桌上所有东西只需要几十毫秒:这速度好像不比电脑差?想自己建造一个吗?转到教程。在Android手机上部署YOLOv5更准确地说是YOLOv5s。YOLOv5于2020年5月发布,最大的特点是模型小,速度快,可以很好的应用于移动端。而实际上,一开始,YOLOv5作为一个iOS端的图像检测、分类和定位APP进入人们的视野,而该APP是YOLOv5的作者本人开发的。现在,要在安卓设备上部署,需要配置环境如下:HostUbuntu18.04DockerTensorflow2.4.0PyTorch1.7.0OpenVino2021.3AndroidAPPAndroidStudio4.2.1minSdkVersion28targetSdkVersion29TfLite2.4.0Android设备小米11(内存128GB/RAM8GB)操作系统MUI12.5.8然后直接在GitHub上下载作者的项目。gitclone--recursivehttps://github.com/lp6m/yolov5s_android使用Docke容器进行主机评估和模型转换。cdyolov5s_androiddockerbuild./-f./docker/Dockerfile-tyolov5s_androiddockerrun-it--gpusall-vpwd:/workspaceyolov5s_anrdoidbash将app文件夹下的./tflite\umodel/*.tflite复制到app/tflite\uyolov5\utest/app/src/main/assets/目录下,可以在AndroidStudio上构建应用。构建的程序可以设置输入图像大小、推理精度和模型精度。如果选择“打开目录”,检测结果将保存为coco格式的json文件。摄像头实时检测模式将精度和输入图像大小固定为int8/320,该模式在小米11上实现的图像帧率为15FPS。由于这个项目是笔者参加的“Yolov5sExport”竞赛(最终获奖,奖金还是2000美元),所以也进行了性能测评。评估包括延迟和准确性。延迟时间是在小米11上测得的,不包括前处理/后处理和数据传输的耗时。结果如下:无论模型精度是float32还是int8,时间都可以控制在250ms以内,连半秒都不到。△float32△int8可以在电脑上对比一下YOLOv5的性能:Accuracy各种模式下mAP(meanAveragePrecision)的最高值为28.5,最低为25.5。最后,您可以点击下面的链接查看详细教程;如果你只是想尝试一下,作者也提供了一个Android安装包就可以了~项目地址:https://github.com/lp6m/yolov5s_android