【Yolov8自动标注数据集教程】

【Yolov8自动标注数据集教程】_第1张图片

Yolov8自动标注数据集教程

  • 1 前言
  • 2 先手动标注数据集,训练出初步的检测模型
    • 2.1 手动标注数据集
    • 2.2 Yolov8环境配置
      • 2.2.1 Yolov8下载
      • 2.2.2 Yolov8环境配置
    • 2.3 Yolov8模型训练,得到初步的检测模型
      • 2.3.1 训练方式
      • 2.3.2 训练过程中遇到的问题
  • 3 使用初步的检测模型实现自动数据集标注
    • 3.1 使用初步的检测模型生成labels
      • 3.1.1 修改default.yaml的参数配置,以保存由模型预测得到的labels的.txt文件
      • 3.1.2 预测待自动标注的数据集
    • 3.2 微调labels

1 前言

使用Yolov8自动标注自己的数据集,大致步骤:
(1)首先,先手动标注一部分数据集,进行模型训练,得到初步的检测模型
(2)然后,使用初步的检测模型实现自动数据集标注。具体而言,将需要自动标注的数据集,通过预测predict的方式,生成labels,并使用标注工具labels进行微调
接下来,将详细介绍Yolov8自动标注数据集的具体步骤。

2 先手动标注数据集,训练出初步的检测模型

2.1 手动标注数据集

标注工具推荐两种,分别为在线标注网站MakeSense{MakeSense具体标注教程}和离线软件labelImg{ labelImg具体标注教程}。

2.2 Yolov8环境配置

2.2.1 Yolov8下载

下载命令:

 git clone https://github.com/ultralytics/ultralytics.git

注:
Yolov8下载地址:https://github.com/ultralytics/ultralytics/tree/main
模型下载地址:https://docs.ultralytics.com/tasks/detect/

Model size
(pixels)
mAPval
50-95
Speed
CPU ONNX
(ms)
Speed
A100 TensorRT
(ms)
params
(M)
FLOPs
(B)
YOLOv8n 640 37.3 80.4 0.99 3.2 8.7
YOLOv8s 640 44.9 128.4 1.20 11.2 28.6
YOLOv8m 640 50.2 234.7 1.83 25.9 78.9
YOLOv8l 640 52.9 375.2 2.39 43.7 165.2
YOLOv8x 640 53.9 479.1 3.53 68.2 257.8

2.2.2 Yolov8环境配置

conda create -n yolo_tracking python=3.8
conda install pytorch==1.10.0 torchvision==0.11.0 torchaudio==0.10.0 cudatoolkit=10.2 -c pytorch
conda install loguru
python -m pip install opencv-python
python -m pip install gdown
conda install scipy
python -m pip install --upgrade charset-normalizer
conda install -c conda-forge lap
python -m pip install ultralytics
python -m pip install psutil
python -m pip install pandas
python -m pip install seaborn
python -m pip install tqdm
python -m pip install requests
python -m pip install PyYAML
python -m pip install Pillow

注:在配置环境过程中,如遇到 pip安装问题,可查看pip安装问题常见解决办法

2.3 Yolov8模型训练,得到初步的检测模型

2.3.1 训练方式

yolo task=detect mode=train model=/home/y/Code/yolo_tracking/weights/yolov8x.pt data=datasets/my_BulletHole.yaml epochs=300 batch=4 device='0,1'
或者
yolo task=detect mode=train model=yolov8x.yaml data=datasets/my_BulletHole.yaml epochs=300 batch=4 device='0,1'

2.3.2 训练过程中遇到的问题

(1) wandb登录问题
【Yolov8自动标注数据集教程】_第2张图片
可直接将wandb删除,执行命令如下:

python -m pip uninstall wandb

【Yolov8自动标注数据集教程】_第3张图片

3 使用初步的检测模型实现自动数据集标注

3.1 使用初步的检测模型生成labels

3.1.1 修改default.yaml的参数配置,以保存由模型预测得到的labels的.txt文件

在使用初步的检测模型生成labels之前,需要修改default.yaml文件,使得预测的结果能够以.txt的形式保存。
在终端输入 yolo cfg找到default.yaml的位置,并将save_txt的false改为true
具体命令如下:

# 找到default.yaml的位置 
yolo cfg

# 打开 default.yaml文件
sudo gedit /home/y/anaconda3/envs/yolo_tracking/lib/python3.8/site-packages/ultralytics/cfg/default.yaml
# 将save_txt的值修改为True

案例:
找到default.yaml的位置 ,我的default.yaml文件的路径为:
‘/home/y/anaconda3/envs/yolo_tracking/lib/python3.8/site-packages/ultralytics/cfg/default.yaml’
【Yolov8自动标注数据集教程】_第4张图片打开default.yaml文件,将save_txt的值修改为True,并ctrl+s进行保存
在这里插入图片描述
【Yolov8自动标注数据集教程】_第5张图片

3.1.2 预测待自动标注的数据集

yolo predict model=runs/detect/train8/weights/best.pt source=/home/y/Code/test/test_dataset

【Yolov8自动标注数据集教程】_第6张图片

【Yolov8自动标注数据集教程】_第7张图片
【Yolov8自动标注数据集教程】_第8张图片

3.2 微调labels

最后使用标注工具进行微调,这里我们使用的是labelImg,加载images和labels进行微调。
labelImg的具体安装步骤和使用方法,已在labelImg具体标注教程介绍,此处不再赘述。

在这里插入图片描述【Yolov8自动标注数据集教程】_第9张图片

你可能感兴趣的:(笔记,图像处理与分析,图像识别,YOLOV8,自动标注数据集)