💡💡💡本文内容:YOLOv8 OBB实现自有数据集缺陷旋转检测,从数据标记到训练的手把手教程
YOLO OBB格式通过四个角点指定边界框,坐标在0到1之间归一化。它遵循以下格式:
class_index, x1, y1, x2, y2, x3, y3, x4, y4
在内部,YOLO以xywhr格式处理损失和输出,xywhr格式表示边界框的中心点(xy)、宽度、高度和旋转。
# 安装labelme
pip install labelme
1)Create Polygons生成polygon框;
一张图片对应一个json文件
json部分内容如下:
{
"version": "5.1.1",
"flags": {},
"shapes": [
{
"label": "defect",
"points": [
[
160.21164021164026,
25.312169312169328
],
[
447.5132275132275,
23.19576719576721
],
[
448.04232804232805,
448.06349206349205
],
[
162.32804232804233,
445.4179894179894
]
],
"group_id": null,
"shape_type": "polygon",
"flags": {}
}
],
obb_json_to_txt
详见博客
下载最新版即可,已支持OBB
GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite
# Ultralytics YOLO 🚀, AGPL-3.0 license
# DOTA 1.0 dataset https://captain-whu.github.io/DOTA/index.html for object detection in aerial images by Wuhan University
# Documentation: https://docs.ultralytics.com/datasets/obb/dota-v2/
# Example usage: yolo train model=yolov8n-obb.pt data=DOTAv1.yaml
# parent
# ├── ultralytics
# └── datasets
# └── dota1 ← downloads here (2GB)
# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: ./data/defect_obb/defect_obb # dataset root dir
train: images/train # train images (relative to 'path') 1411 images
val: images/val # val images (relative to 'path') 458 images
#test: images/test # test images (optional) 937 images
# Classes for DOTA 1.0
names:
0: defect
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO('ultralytics/cfg/models/v8/yolov8-obb.yaml')
model.load('yolov8n-obb.pt') # loading pretrain weights
model.train(data='data/defect_obb/defect_obb.yaml',
cache=False,
imgsz=640,
epochs=50,
batch=2,
close_mosaic=10,
workers=0,
device='0',
optimizer='SGD', # using SGD
project='runs/train',
name='exp',
)
YOLOv8-obb summary (fused): 187 layers, 3077414 parameters, 0 gradients, 8.3 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 2/2 [00:00<00:00, 8.20it/s]
all 4 4 0.986 1 0.995 0.904
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。