1、前言
loopy是一个非常可爱的动漫角色(可爱粉色淀粉肠),闲来无事,打算用yolov8训练一个模型对loopy进行识别。
2、准备工作
先在网络上搜寻很多loopy的图片,然后将图片导入Lablel Studio软件进行标注,并导出yolo格式。
本人大约导入了300张图片,并完成了手动标注工作。
得到了图片文件夹images和标签label文件夹(txt格式),然后划分训练集和测试集(240:60)
3、训练模型
本人租用的服务器为Tesla v100 16G,选用的yolov8版本为yolov8n(中型版本)
yaml文件内容如下:
path: "/home/featurize/YOLOv8-loopy-main/dataset/images" # dataset root dir
train: "train" # train images (relative to 'path')
val: "val" # val images (relative to 'path')# Classes
nc: 1 # number of classes
names: ["loopy"] # class names
训练参数为:
epochs=1000,
batch=64,
imgsz=640,
device="0",
AdamW(lr=0.002, momentum=0.9) with parameter groups 57 weight(decay=0.0), 64 weight(decay=0.0005), 63 bias(decay=0.0)
训练大约1000轮之后得到了最后的best.pt文件
4、模型评估
5、实战评估
在b站上找了个loopy视频并把它下载下来,放入我们的模型进行预测:
from ultralytics import YOLOif __name__ == "__main__":# 加载YOLOv9模型model = YOLO("/home/featurize/YOLOv9-loopy-main/best.pt")# 视频路径file_path = "/home/featurize/YOLOv9-loopy-main/loopy-test.mp4"# 检测视频results = model.predict(source=file_path, device=0, show=False, save=True)
最后放几张视频截图(视频都是随便在b站找的所以会带有水印):
后记
完整代码,图片(标注完成)以及权重文件都放在了我的github上面,希望大家感兴趣的可以给我一个 star
github链接