尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

YOLO OBB 加关键点:3 步跑通旋转框与姿态输出

YOLO OBB 加关键点:3 步跑通旋转框与姿态输出 YOLO OBB 加关键点3 步跑通旋转框与姿态输出【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics在无人机巡检和工业质检里你拍到的目标很少是正着放的。这篇文章用 Ultralytics YOLO 自带的两个官方小数据集带你三步分别把 OBB 旋转框和关键点检测的训练、推理跑起来最后把两路结果合到同一条 pipeline 里。先分清三种输出BBox、旋转框、关键点各管什么拿机场跑道举例。一架斜着滑行的飞机BBox轴对齐框画出来的矩形必然框进大片跑道背景。角度越偏背景越多如果后面还要算面积、数数量误差直接放大。OBB即有向边界框给出的四边形紧贴目标。它在内部以中心 x、y、宽、高加一个旋转角xywhr表示推理时可以直接展开成四顶点坐标。关键点检测是另一种信号只回答这个人的肩膀在哪、这个零件的螺丝在哪不管目标整体轮廓。输出回答的问题典型场景BBox目标大概在哪通用目标检测OBB 旋转框目标朝哪个方向转航拍巡检、细长物计数关键点目标的关键部位在哪姿态估计、缺陷定位一句话旋转框解决往哪转关键点解决哪个部位两路信号画在同一张图上目标才算被完整描述。所以不少巡检 pipeline 会并行跑这两类任务。YOLO 旋转框训练一条命令跑通先把 OBB 跑起来。推荐用仓库自带的 dota8 数据集只有 1MB、8 张航拍图训练启动时自动下载适合先验证流程。模型长什么样可以扫一眼yolov8-obb.yaml 的最后一层是 OBB head替代普通检测头训练与评估逻辑都在 ultralytics/models/yolo/obb/ 里。如果还没装环境克隆仓库地址 https://gitcode.com/GitHub_Trending/ul/ultralytics在根目录执行pip install -e .然后一行命令yolo train modelyolov8n-obb.pt datadota8.yaml epochs10注意这一步data参数指向的是数据集配置dota8.yaml 在 ultralytics/cfg/datasets/ 下不用自己准备数据。训练完权重在 runs/train/ 目录yolo val或yolo predict直接就能调。这是 OBB 任务的官方示例图。巴士以各种角度停放旋转框紧贴车身几乎不引入背景。关键点检测训练kpt_shape 是关键关键点检测用同一个训练入口只是换模型和换数据集yolo train modelyolov8n-pose.pt datacoco8-pose.yaml epochs10coco8-pose 同样是 1MB 小数据集8 张人体图。训练前我一般会先看数据集配置 coco8-pose.yaml两个字段是关键kpt_shape: [17, 3]每人 17 个关键点每个含 x、y、visible 三维flip_idx水平翻转后的左右关节索引映射不设的话翻转增广会把左右关键点搞混结果侧由 Keypoints 类 封装关键点张量res.keypoints.xy是 (N, K, 2) 像素坐标.conf是每个关节点的置信度。推理与评估逻辑在 ultralytics/models/yolo/pose/ 里。OBB 与关键点联合输出先说清没有一体模型先说清楚一件事yolov8n-obb-pose.pt这种一体模型并不存在。翻一遍模型配置目录就能看到官方只提供-obb和-pose两个独立变体。这不是能力缺失而是设计选择——每个任务有自己的 head 和损失共享的只有 backbone 与 neck 特征提取。所以我一般把联合输出做成这样两个模型分别推理按类别和质心位置把结果对上再一起进可视化和下游逻辑。代码只有几行from ultralytics import YOLO obb_model YOLO(obb-best.pt) pose_model YOLO(pose-best.pt) for r in obb_model(airport.jpg): quad r.obb.xyxyxyxy # (N, 4, 2) 旋转框四顶点 angle r.obb.xywhr[:, 4] # 旋转角 for r in pose_model(airport.jpg): kpts r.keypoints.xy # (N, 17, 2) 关节点两路结果按类别和质心距离对齐即可。画的时候调res.show()人工检查旋转框和关节点能叠在同一张图上。⚠️ 调参最容易踩的三个坑kpt_shape 与标注不一致换了数据集却忘了改关键点数量loss 直接乱掉。写自己的数据集配置时这条先核对。航拍图分辨率与 imgszDOTA 级别图像常上千像素缩到默认 640 后小目标可能直接消失小目标先加imgsz别急着改网络结构。OBB 标注约定训练标签以长边为宽推理输出的xywhr未归一化w 可能小于 h。写后处理时若只关心几何形状直接用xyxyxyxy四顶点别假设宽高关系。下一步从这里继续还没跑过训练和推理的先看 docs/en/quickstart.mdOBB 任务细节见 docs/en/tasks/obb.md关键点任务见 docs/en/tasks/pose.md更多可运行示例在 examples/ 目录含 ONNX、OpenCV-DNN 等推理 demo【免费下载链接】ultralyticsUltralytics YOLO26, YOLO11, YOLOv8 — object detection, instance segmentation, semantic segmentation, image classification, pose estimation, object tracking项目地址: https://gitcode.com/GitHub_Trending/ul/ultralytics创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表