yolov8使用

检测

用法参考:Detect - Ultralytics YOLOv8 Docs

数据集准备

将图片放到/home/data/images下

将标注的txt文件放到/home/data/labels下

labels中是每张图片的标注文件(txt),格式为<object-class> <cx> <cy> <width> <height>,中间点坐标和宽高都经过归一化。

将train.txt和val.txt放到/project/train/src_repo/yolov8/dataset/下,train.txt和val.txt形式如下:

train

从ultralytics/datasets下复制coco128.yaml命名为my.yaml,填写train,test的路径(数据集划分时生成的)和类别

train:  /project/train/src_repo/yolov8/dataset/train.txt
val: /project/train/src_repo/yolov8/dataset/val.txt  
names:
  0: head
  1: person
  2: hat

从ultralytics/models/v8下复制yolov8.yaml(根据自己需要),把类别数改成自己的。

yolo task=detect mode=train data=ultralytics/datasets/my.yaml model=ultralytics/models/v8/yolov8s.yaml pretrained=yolov8s.pt epochs=2 imgsz=640 batch=8 save_period=2

参考:https://docs.ultralytics.com/modes/train/#arguments

export

yolo export model=yolov8s.pt format=onnx opset=12 
或者:
from ultralytics import YOL
model = YOLO('yolov8s.pt') 
model.export(format='onnx', opset=12)

predict

yolo predict model=yolov8s.pt source='bus.jpg'  
# source写链接(https://ultralytics.com/images/bus.jpg)也可,model也支持onnx.输出结果在runs/detect/predict下
或者:
results = model('bus.jpg') # 包含前处理、推理以及后处理

分割

用法参考:https://docs.ultralytics.com/tasks/segment/

数据集准备(以coco数据集为例)

将图片放到/home/data/images下

将分割标注的txt文件放到/home/data/labels下

将train.txt和val.txt放到/project/train/src_repo/yolov8/dataset/下

从ultralytics/datasets下复制coco128-seg.yaml到当前目录,命名为my-seg.yaml,改train,val数据集路径和类别

从ultralytics/models/v8下复制yolov8-seg.yaml到当前目录。

labels中是每张图片的标注文件(txt),格式为<class-index> <x1> <y1> <x2> <y2> ... <xn> <yn>,坐标经过归一化。

train.txt和val.txt形式如下:

train

参数参考:Configuration - Ultralytics YOLOv8 Docs

yolo task=segment mode=train data=my-seg.yaml model=yolov8s-seg.yaml pretrained=yolov8s-seg.pt epochs=2 save_period=2 imgsz=640

训练的模型默认会保存在:runs/segment/train/。除模型外还会保存多种评估文件。

 默认训练结束会进行验证:

predict

 参数参考:Segment - Ultralytics YOLOv8 Docs

yolo task=segment mode=predict model=yolov8s-seg.pt source='bus.jpg'

 预测结果默认保存在:runs/segment/predict

export

yolo export model=path/to/best.pt format=onnx 

pose

用法参考:Pose - Ultralytics YOLOv8 Docs

数据集准备(以coco数据集为例)

将图片放到/home/data/images下

将标注的txt文件放到/home/data/labels下

将train.txt和val.txt放到/project/train/src_repo/yolov8/dataset/下

从ultralytics/datasets下复制yolov8-pose.yaml到当前目录,命名为my-pose.yaml

train:  /project/train/src_repo/yolov8/dataset/train.txt
val: /project/train/src_repo/yolov8/dataset/val.txt 

# Keypoints
kpt_shape: [17, 2]  # number of keypoints, number of dims (2 for x,y or 3 for x,y,visible)
flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]

# Classes
names:
  0: person

从ultralytics/models/v8下复制yolov8-pose.yaml到当前目录。

labels中是每张图片的标注文件(txt),坐标经过归一化。

2d:<class-index> <x> <y> <width> <height> <px1> <py1> <px2> <py2> ... <pxn> <pyn>

3d:<class-index> <x> <y> <width> <height> <px1> <py1> <p1-visibility> <px2> <py2> <p2-visibility> <pxn> <pyn> <p2-visibility>

  train.txt和val.txt形式如下:

 train

yolo task=pose mode=train data=my-pose.yaml model=yolov8s-pose.yaml pretrained=yolov8s-pose.pt epochs=2 imgsz=640

 训练的模型默认会保存在:runs/pose/train/, 默认训练结束会进行验证:

predict

yolo task=pose mode=predict model=yolov8s-pose.pt source='bus.jpg'

  预测结果默认保存在:runs/pose/predict

猜你喜欢

转载自blog.csdn.net/qq_39066502/article/details/130942633