💡💡💡Содержание этой статьи: YOLO11 OBB реализует обнаружение цели вращения дефектов в своем собственном наборе данных, начиная с 1) маркировки данных 2) преобразования формата данных json в формат txt, подходящий для yolo; 3) обучения модели;
Ultralytics YOLO11 — передовая, современная модель.,Он основан на успехе предыдущих выпусков YOLO.,и представляет новые функции и улучшения,для дальнейшего улучшения производительности и гибкости。YOLO11 спроектирован так, чтобы быть быстрым, точным и простым в использовании, что делает его отличным выбором для различных задач обнаружения и отслеживания объектов, сегментации экземпляров, классификации изображений и задач оценки позы.
Представители OBB провели дополнительные тесты набора данных (DOTAv1):
Формат YOLO OBB определяет ограничивающую рамку четырьмя угловыми точками с координатами, нормализованными между 0 и 1. Он имеет следующий формат:
class_index, x1, y1, x2, y2, x3, y3, x4, y4
Внутренне YOLO обрабатывает потери и выводит результаты в формате xywhr, который представляет центральную точку (xy), ширину, высоту и вращение ограничивающей рамки.
# Установить ярлык
pip install labelme
Запуск непосредственно в среде Python
labelme
1) Create Polygons создает многоугольный блок;
Обучающий набор, проверочный набор и тестовый набор составляют: 1894, 100 и 101 изображение соответственно.
obb_json_to_txt
Просто скачайте последнюю версию, которая уже поддерживает OBB.
GitHub - ultralytics/ultralytics: NEW - YOLOv8 🚀 in PyTorch > ONNX > OpenVINO > CoreML > TFLite
path: D:/ultralytics-11/data/qrcode-obb/
train: train/images
val: valid/images
test: test/images
names:
0: qr_code
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO
if __name__ == '__main__':
model = YOLO('ultralytics/cfg/models/11/yolo11-obb.yaml')
#model.load('yolov11.pt') # loading pretrain weights
model.train(data='data/qrcode-obb.yaml',
cache=False,
imgsz=640,
epochs=200,
batch=16,
close_mosaic=10,
device='0',
optimizer='SGD', # using SGD
project='runs/train',
name='exp',
)
YOLO11-obb summary (fused): 300 layers, 2,897,630 parameters, 0 gradients, 6.6 GFLOPs
Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 7/7 [00:04<00:00, 1.53it/s]
all 99 128 0.953 0.955 0.966 0.908