一、说在前面
最近在学习如何将yolov8的项目部署到移动端的安卓手机上面。在这里记录
承接上期文章从零开始部署yolov8到安卓手机详细教程【Android Studio】
二、将自定义的数据训练好的pt文件转为onnx文件
from ultralytics import YOLO
model = YOLO("best.pt")
success = model.export(format="onnx", simplify=True, opset=12) # 将模型导出为 ONNX 格式
三、将转换后的onnx文件转为nccn文件
省去编译转换工具的时间开箱即用,一键转换
https://convertmodel.com/
转换之后会生成如下两个文件:
四、准备Android Studio项目
4.1 修改yolo.cpp文件
4.1.1 修改为你自己的类别数量:
4.1.2 修改调用的模型名格式 :
4.1.3 修改节点名称:
4.1.4 修改为你自己的类别:
4.2 修改strings.xml文件
4.2.1 增加item,添加移动端模型选择文件
<item>best-sim-opt-fp16</item>
如图:
4.3 修改yolov8ncnn.cpp文件
4.3.1 由于我这里只训练出一个模型,对应修改如下:
上图红框中的名称要和下图中的文件名称对应 :
4.3.2 如果你有多个模型,可如下图修改:
五、部署效果
手机打开->开发者模式,开启USB调试权限,手机和电脑用USB连接,允许调试
运行Android Studio项目到手机上:
我的运行效果:
六、补充
PS:切记模型的类别和类别数量一定要对应,不然就会出现像笔者这种情况
笔者水平有限,如有不当之处,请予指正~
非常感谢各位耐心观看!如果看到这句话,并且觉得有用的话,不妨点个赞呗~~~