通过对yolov8模型的训练来实现模型对19种不同手势识别的功能,制作简易ui界面并实现3种不同的按钮功能(视频检测、图片检测、摄像头实时检测),最后完成部署以实现项目的脱机运行并应用于实际应用中。
yolov8的开源项目是一个十分成熟的项目,且实现起来较易上手,在装好所需要的各种包后,通过修改训练所使用的yaml文件
,指定将要使用的训练集、验证集以及测试集和对应编号所代表的手势(大部分情况需要自己使用labelimg手动标注数据),在终端上通过指令yolo detect train data=.../handgesture.yaml model=yolov8n.yaml pretrained=.../yolov8n.pt epochs=10 batch=128 lr0=0.0005 resume=True seed=10即可直接运行模型的训练脚本,data一定要等于yaml文件所在的地址,而pretrained一定要等于所欲选用的预训练模型所在的地址,我用的显卡是RTX 4090,为了避免显存不够的问题,建议训练时将参数batch设置为8或者16甚至可以为1,使用指令yolo val data=.../handgesture.yaml model=.../best.pt imgsz=640 batch=128 split=test来使用训练好的模型对测试集进行测试(...表路径)。
完成ui界面设计后为实现模型的部署,先将pt格式的模型转换为onnx格式(为什么要要转成onnx模型呢,主要是因为onnx没有训练,只有推理,速度很快,而且目前大多数芯片都适配onnx模型,相当于一个通用模型,易部署。)转换的代码如下:
from ultral

本文介绍了如何使用Yolov8模型进行19种手势的识别,包括训练过程、UI界面设计(支持视频、图片和摄像头实时检测),以及如何将模型转换为ONNX格式以实现离线部署。作者分享了训练和部署过程中遇到的问题及解决方案,如显存优化和PyInstaller打包UI代码的技巧。
最低0.47元/天 解锁文章
378





