Yolov8 模型训练指南

数据集的标注

1. 视频转图片

  • 方法一

    • PotPlayer 64bit下载

    • 通过PotPlayer打开相应视频

    • Ctrl+G 打开连续截取画面设置

      • 如,一段视频中 采集数量:200,按时间 每毫秒 3000

    • 获取合适数量的图片

    • 检查数据集质量

  • 方法二

  • import cv2
    video = r"path\to\ur\video\1.mp4" #需要分割的视频地址
    cap = cv2.VideoCapture(video)
    frame_id = 0
    gap = 1 # 每gap帧取一张图片
    while (cap.isOpened()):
        ret, frame = cap.read()
        if ret==True:
            if frame_id%gap==0:
                cv2.imwrite('./1/'+'1_'+str(frame_id)+'.jpg',frame) #图片保存地址,要先创建
                frame_id+=1
        else:
            cap.release()

2. 标注工具Labelimg使用

  • 创建python3.9的环境

    • conda create -n labelimg python=3.9
      conda activate labelimg

  • 安装labelimg

    • conda install labelimg
  • 设置labelimg

    • 设置两个文件夹,一个txt

      • images存放获取的图片

      • labels存放将要得到的标签

      • predefined_classes.txt存放标注的类别,用于快速标注

    • Anaconda命令行输入

      • labelimg .\images\ .\predefined_classes.txt
    • Change Save Dir设置为保存标签的路径,labels

    • 标注模式选择为 yolo

    • 标注前设置:View,选择

      • Auto Save mode:切换到下一张图片时,就会自动把上一张标注的图片标签自动保存下来

      • Display Labels:标注好图片之后,会把框和标签都显示出来

    • 快捷键

      • W:调出标注十字架 A:切换上一张图片 D:切换 下一张图片 del:删除标注的矩形框

    训练Yolo

    • 训练集的架构如图

      • labels.cache是训练后产生的文件

    • 配置data.yaml文件如下

      • path : human_target
        train: images
        val: images
        test:
        ​
        # number of classes
        nc: 2
        ​
        # class names
        names: ['human', 'target']
    • 通过CLI语句训练

      • yolo detect train data=datasets/human_target/data.yaml model=yolov8n.yaml pretrained=ultralytics/yolov8n.pt epochs=100 batch=4 lr0=0.01 resume=True
    • 训练好的模型在runs\detect\train[num]\weights\best.pt

    • 通过CLI语句将.pt转换为.onnx

       yolo export model=yolov8n.pt format=onnx opset=12   
    • 通过trtexec.exe将.onnx转换为.trt

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值