基于yolov8的obb框架, 开展指针类表计,指针位置识别的模型训练
YOLOv8-OBB推理详解及部署实现_yolov8 obb-CSDN博客
YOLO-obb+PyQt实现指针式仪表读数识别(二)_指针仪表识别-CSDN博客
YOLOv8+PyQt+OpenCV实现数字式仪表读数和指针式仪表读数识别(一)_yolov8 指针表识别-CSDN博客
YOLOv8精度大涨,教你如何在自定义数据集上训练它_澎湃号·湃客_澎湃新闻-The Paper
https://roboflow.com/
基于YOLOv8-OBB框架实现指针类表计的指针位置识别是一个结合旋转目标检测与仪表特性的专业任务。
OBB 能够精确贴合任何角度的物体,提供比传统边界框更精确的检测,使这些应用受益匪浅。
📌 一、任务分析与OBB框架核心要点
-
OBB(Oriented Bounding Box) vs HBB(Horizontal Bounding Box)
-
普通水平框(HBB)无法精准框选倾斜或长宽比悬殊的指针,而OBB通过带角度的矩形(
(x_center, y_center, width, height, angle)
)能紧贴指针方向。OBB 输出的是带旋转角度的矩形框(也叫旋转框)。它能更紧密地贴合倾斜或长宽比悬殊的物体(比如指针!)。 -
普通的目标检测(如YOLOv8默认)输出的是水平矩形框(HBB, Horizontal Bounding Boxes),用
(中心点x, 中心点y, 宽度w, 高度h)
表示。 -
OBB 输出的是带旋转角度的矩形框(也叫旋转框)。它能更紧密地贴合倾斜或长宽比悬殊的物体(比如指针!)。
-
YOLOv8 OBB 的标注格式通常是:
(类别id, 中心点x, 中心点y, 宽度w, 高度h, 旋转角度)
。 -
一个图像对应一个同名的
.txt
标注文件。 -
标注文件
.txt
中,每行代表图像中的一个旋转框对象。 旋转角度
:在 YOLOv8 OBB 中,角度通常以弧度(radians)表示,范围是[-π/2, π/2)
。这个角度表示矩形框的长边(width)相对于水平轴(x轴正方向)的逆时针旋转角度。0
弧度表示长边水平(与x轴平行),π/2
弧度表示长边垂直(与y轴平行)。-
YOLOv8-OBB的标注格式为:
class_id x1 y1 x2 y2 x3 y3 x4 y4
(归一化坐标)。
-
OBB与HBB对比
-
指针识别关键挑战
-
小目标检测(细长指针在图像中占比小)
-
遮挡与反光(表盘玻璃反光、指针重叠)
-
旋转对称性(0°与360°端点重合问题)
-
📂 二、数据集构建与标注策略
数据采集要求
-
图像多样性:涵盖不同光照(强光/弱光)、视角(正面/侧面)、表计类型(压力表、电流表)。
-
分辨率建议:不低于640×640,确保指针清晰可见。
-
数据量:至少500张标注图像,理想情况>2000张。
标注工具与规范
-
工具选择:
-
roLabelImg
-
参考rolabellmg如何旋转矩形框-CSDN博客
-
标注规范:
-
标注指针整体(非仅头部),框体应贴合指针方向。
-
统一角度基准(如0°指向表盘正右方)。
-
⚙️ 三、模型选择与改进
基础模型选型
YOLOv8-OBB提供多个预训练模型,根据硬件条件选择:
监控与评估:
-
训练过程中,观察终端输出的指标,特别是
val/box_loss
,val/cls_loss
,val/dfl_loss
(损失值,越低越好) 和metrics/mAP50(B)
(最重要的评估指标之一,越高越好,表示IoU阈值为0.5时的平均精度)。 -
训练结束后,在
runs/obb/train
下的最新实验文件夹中,可以找到:-
results.png
/results.csv
: 训练/验证指标曲线图/数据。 -
confusion_matrix.png
: 混淆矩阵。 -
val_batchX_pred.jpg
: 验证集批次的预测结果示例图。重点看这些图! 检查模型在验证集上检测指针的效果:是否能准确框出指针?框的角度是否正确?有没有漏检或误检?
-
-
使用训练好的模型进行预测 (可选,验证效果):
bash
yolo task=obb mode=predict model=path/to/best.pt source=path/to/test_image.jpg
(将 path/to/best.pt
替换为训练得到的最佳权重路径,通常是 runs/obb/train/weights/best.pt
;将 path/to/test_image.jpg
替换为你的测试图片路径) 查看预测结果图片。
YAML文件里路径不能用中文
实际应用
使用YOLOv8 进行 OBB 检测在各行各业都有大量实际应用:
- 海事和港口管理:从不同角度探测船舶和船只,用于船队管理和监控。
- 城市规划:通过航拍图像分析建筑物和基础设施。
- 农业:利用无人机拍摄的画面监控农作物和农业设备。
- 能源部门:检查不同方向的太阳能电池板和风力涡轮机。
- 交通:从不同角度跟踪道路和停车场上的车辆。
OBB 能够精确贴合任何角度的物体,提供比传统边界框更精确的检测,使这些应用受益匪浅。
查看自己GPU的大小 nvidia-smi
- GPU型号:NVIDIA GeForce RTX 3060
- 显存总量:6144 MiB (即 6GB)
选择
batch=8,