参考链接:android-demo-app/ObjectDetection at master · pytorch/android-demo-app · GitHub
0、准备的工作:
相关软件链接:Android Studio,yolov5s.pt,yolov5 code
yolov5的代码是旧版v5.*版本:链接
Android studio是zip格式,解压,双击android-studio\bin\studio64.exe
第一次使用,按照提示进行配置和下载sdk,可参考:2023最新版Android studio安装入门教程(非常详细)从零基础入门到精通,看完这一篇就够了。-CSDN博客
该测试demo是基于Java8的,所以尝试的时候应该安装Java8的环境,直接双击默认安装java8的msi软件即可。
该程序需要ndk,所以需要配置NDK,参考链接
要测试运行对象检测Android应用程序,请按照以下步骤操作:
1、准备模型
如果您没有设置PyTorch环境来运行脚本,则可以下载模型文件yolov5s.torchscript.ptl
这里到android-demo-app/ObjectDetection/app/src/main/assets
文件夹,然后跳过此步骤的其余部分,直接转到步骤2。
YOLOv5 仓库文件夹中的export.py用于为移动应用程序生成名为yolov5s.torchscript.pt
的TorchScript格式YOLOv5模型。
打开Mac/Linux/Windows终端,运行以下命令 (请注意,我们使用原始YOLOv5 repo的分支来确保代码更改正常工作):
git clone https://github.com/ultralytics/yolov5
cd yolov5
pip install -r requirements.txt wanb
注意下面的步骤已经用提交进行了测试cd35a009ba964331abccd30f6fa0614224105d39
如果运行脚本或使用模型有任何问题,请尝试git reset --hard cd35a009ba964331abccd30f6fa0614224105d39
。
编辑export.py
进行以下两项更改:
-
之后
f = file.with_suffix('.torchscript.pt')
,添加一行fl = file.with_suffix('.torchscript.ptl')
-
之后
(optimize_for_mobile(ts) if optimize else ts).save(f)
,添加(optimize_for_mobile(ts) if optimize else ts)._save_for_lite_interpreter(str(fl))
现在运行下面的脚本以生成优化的TorchScript lite模型yolov5s.torchscript.ptl
并将其复制到android-demo-app/ObjectDetection/app/src/main/assets
文件夹 (原始的完整JIT模型yolov5s.torchscript.pt
还生成了用于比较):
请注意,YOLOv5模型的小型版本运行速度更快,但精度较低,默认情况下会在运行export.py
。您还可以更改weights
参数中的export.py
生成模型的中型、大型和超大型版本。
2.使用Android Studio构建
手机开启开发者模式,开启usb调试,开启USB安装。
Android Studio加载demo:
进入文件修改如下:
file ——project structure,修改如下:
gradle 设置为jdk8
Build——Make Project;
app——Run “App”
如果没连接手机,则会在编辑器中,自动模拟一个安卓设备用于测试,点击detect会在界面生成结果。
如果连接了手机并完成之前开发者设置,查看手机,会提示安装app,安装即可。