当前位置: 首页 > news >正文

马鞍山做网站的福州搜索优化技术

马鞍山做网站的,福州搜索优化技术,自己的电脑做网站空间视屏,网站做水印有没有影响吗🚀 YOLO交通标志识别实战(五):OBB旋转框检测配置与训练全流程(基于 DOTA8 数据集) 在专栏前面四篇里,我们完成了: ✅ Kaggle交通标志数据集下载并重组标准YOLO格式 ✅ 训练/验证集拆…

🚀 YOLO交通标志识别实战(五):OBB旋转框检测配置与训练全流程(基于 DOTA8 数据集)

在专栏前面四篇里,我们完成了:

✅ Kaggle交通标志数据集下载并重组标准YOLO格式
✅ 训练/验证集拆分脚本
✅ 大图裁剪成小图的增强预处理
✅ LabelImg手工标注教程


本篇是系列的第五篇,我们来进入高级检测任务:
OBB(Oriented Bounding Box)旋转框检测

这里我们会用到的数据配置就是:

dota8.yaml

⚡ 本篇重点:

✅ 什么是OBB旋转框检测
✅ 数据格式和dota8.yaml配置
✅ YOLOv8 OBB模型的选择
✅ 训练命令(含Python和命令行)
✅ 推理与可视化结果


📌 1️⃣ 什么是OBB(Oriented Bounding Box)

普通YOLO检测框是水平矩形:

[x_center, y_center, width, height]

而**OBB(旋转框)**扩展为:

[x_center, y_center, width, height, angle]

角度通常是弧度制(-π ~ +π)。

✅ 适用场景:

  • 斜拍的交通标志
  • 无人机遥感建筑物检测
  • 工业零件方向检测

✅ 2️⃣ YOLOv8对OBB任务的支持

Ultralytics YOLOv8 在 >=8.1 版本开始官方支持 OBB 任务

其内置支持任务类型包括:

detect / segment / classify / obb

⚡ 只需要在数据配置里写明:

task: obb

即可自动切换到旋转框检测头。


✅ 3️⃣ 数据标签格式(YOLO OBB)

OBB 标签文件和普通YOLO不同,每一行是:

<class_id> <x_center> <y_center> <width> <height> <angle>

✅ 所有坐标都归一化到0~1
✅ 角度是弧度

例如:

0 0.5123 0.4785 0.2645 0.3821 0.7854

表示:

  • 类别ID:0
  • 中心点: (0.5123, 0.4785)
  • 宽高: (0.2645, 0.3821)
  • 角度: 0.7854 弧度(≈45°)

✅ 4️⃣ dota8.yaml 配置示例

这里,我们就用自己的配置文件名:dota8.yaml

下面是一个标准格式示例:

path: ./traffic
train: images/train
val: images/valnc: 4
names: [prohibitory, danger, mandatory, other]task: obb

⚡ 重点是最后一行:

task: obb

这告诉 YOLOv8 这是「旋转框任务」。


✅ 5️⃣ 选择OBB专用模型

Ultralytics 提供了官方设计的 OBB 模型YAML和预训练权重,比如:

⭐ 结构文件(可定制):

  • yolov8n-obb.yaml
  • yolov8s-obb.yaml
  • yolov8m-obb.yaml

⭐ 预训练权重(推荐起步):

  • yolov8n-obb.pt
  • yolov8s-obb.pt

⚡ 这些模型文件专门支持旋转框检测头。


✅ 6️⃣ Python训练全流程(示例)

这里是你的真实代码版本,直接可以复用:

from ultralytics import YOLO# 方法1:从头构建
model = YOLO("yolov8n-obb.yaml")# 方法2:加载官方预训练权重(推荐)
model = YOLO("yolov8n-obb.pt")# 方法3:自定义结构 + 加载预训练权重(迁移学习)
model = YOLO("yolov8n-obb.yaml").load("yolov8n.pt")# 开始训练
results = model.train(data="dota8.yaml",   # 这里就是真实用的epochs=100,imgsz=640,batch=16,device=0
)

✅ 7️⃣ 命令行训练示例

如果你喜欢命令行,也可以这样:

yolo detect train data=dota8.yaml model=yolov8n-obb.pt imgsz=640 epochs=100

⚡ YOLOv8会自动检测到:

task: obb

并启用旋转框检测头。


✅ 8️⃣ 训练结果文件结构

运行完成后,会在:

runs/obb/train/

里生成:

weights/best.ptlast.pt
results.png
confusion_matrix.png
P-R曲线、mAP曲线

✅ 9️⃣ 推理与可视化预测

训练好后,就可以加载模型来做推理:

Python接口

from ultralytics import YOLOmodel = YOLO("runs/obb/train/weights/best.pt")
results = model.predict(source="images/test",imgsz=640,conf=0.25,save=True
)

预测结果会自动保存在:

runs/obb/predict/

里。


命令行接口

yolo detect predict model=runs/obb/train/weights/best.pt source=images/test imgsz=640

结果会在输出图片上绘制带角度的旋转框。


✅ 10️⃣ 进阶技巧

⭐ 预训练权重迁移学习

官方的:

yolov8n-obb.pt

是在大型数据集上训练好的,可以加载后再继续在你的数据(dota8.yaml)上finetune


⭐ 参数可调节

  • imgsz
  • batch
  • optimizer
  • lr0, lrf
  • warmup_epochs

⭐ 多卡训练

yolo detect train data=dota8.yaml model=yolov8n-obb.pt device=0,1,2,3

❤️ 总结

本篇是专栏的第五篇,我们学习了:

✅ 什么是OBB旋转框检测
✅ YOLOv8对OBB任务的原生支持
✅ 你的真实项目配置文件:dota8.yaml
✅ 标签格式和类别管理
✅ Python与命令行的训练与推理
✅ 迁移学习与进阶参数


🔜 下一篇预告

✨ 第六篇:YOLOv8 关键点检测

http://www.dtcms.com/a/404279.html

相关文章:

  • 哪个网站可以学做包子电子商务网站规划的原则
  • 仿it资讯类网站源码王烨当兵小说
  • 智慧外贸平台|基于Java+vue的智慧外贸平台系统(源码+数据库+文档)
  • 爱站网长尾关键词挖掘工具微信小程序怎么加入我的小程序
  • pxcharts多维表格编辑器Ultra版:支持二开 + 本地化部署的多维表格解决方案
  • 网站安全管理机制建设建设银行德阳分行网站
  • php网站数据库怎么上传做网站的专业
  • 做公司网站应准备什么材料淮安建设局网站
  • 河北唐山网站建设商务网站开发与建设
  • python 做网站合适吗网站的命名规则
  • 网站开发与设计实训报告1000字网站如何做百度权重
  • C++ 容器学习系列|vector 核心知识全解析,铺垫下一期模拟实现
  • 专业郑州做网站的公司专业展示设计网站
  • 深入解析 Stack 布局:原理、实战与优化指南
  • 如何搭建钓鱼网站运城做网站费用高吗
  • 17网做网站在线视频网站开发方案php
  • 深入理解Java AQS机制:从原理到源码解析
  • 网站建设与推广好做吗简单的网页设计作品html
  • asp.net 4.0网站开发 下载w10怎么做信任网站
  • 网站开发项目团队人员交互设计师网站
  • 中心网站建设方法网站出现404
  • 网站制作方案怎么写垂直型电商网站如何做
  • 了解交换机,集线器,中继器,路由器
  • 凡科建站微信小程序wordpress php sqlite
  • 济南建设工程交易中心网站上海专业网站建设
  • 探究ContentProvider(一)
  • h5网站开发模板搜索引擎优化包括哪些内容
  • VMware+RockyLinux+ikuai+docker+cri-docker+k8s 自用 实践笔记(一)
  • 做网站个人怎么签合同iis怎么加载网站
  • 深圳荷坳网站建设公司wordpress文章多个分类显示不出来