💡💡💡本文内容:YOLO11 OBB实现自有数据集缺陷旋转目标检测,从1)数据标记;2)数据json格式转换成适合yolo的txt格式;3)如何训练模型;
Ultralytics YOLO11是一款尖端的、最先进的模型,它在之前YOLO版本成功的基础上进行了构建,并引入了新功能和改进,以进一步提升性能和灵活性。YOLO11设计快速、准确且易于使用,使其成为各种物体检测和跟踪、实例分割、图像分类以及姿态估计任务的绝佳选择。
OBB官方在 (DOTAv1)数据集上做了更多测试:
YOLO OBB格式通过四个角点指定边界框,坐标在0到1之间归一化。它遵循以下格式:
class_index, x1, y1, x2, y2, x3, y3, x4, y4
在内部,YOLO以xywhr格式处理损失和输出,xywhr格式表示边界框的中心点(xy)、宽度、高度和旋转。
# 安装labelme
pip install labelme
直接在python环境下运行
labelme
1)Create Polygons生成polygon框;
训练集、验证集、测试集分别为:1894,100,101张
obb_json_to_txt
YOLO11旋转目标识别(OBB)手把手教程: 数据集标注 | 数据格式转换 | 如何训练、测试-CSDN博客
下载最新版即可,已支持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
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有