定向边界框技术简介
定向边界框技术(Oriented Bounding Boxes, OBB)在图像物体检测中引入了一个额外的角度参数,以提高物体定位的准确性。与传统的轴对齐矩形边界框不同,定向边界框可以旋转以更好地适应物体的方向。这对于需要精确物体定位的应用场景非常有用,例如航空或卫星图像分析。
模型训练
使用定向边界框技术训练模型时,可以利用预训练的模型作为起点,或者从头开始训练。训练过程中,模型将学习如何识别图像中的物体,并以定向边界框的形式输出检测结果。例如,使用Python和CLI可以按照以下方式进行模型训练:
from ultralytics import YOLO
# 加载预训练模型
model = YOLO("yolo11n-obb.pt")
# 训练模型
results = model.train(data="path/to/custom_dataset.yaml", epochs=100, imgsz=640)
以上代码展示了如何使用Python和CLI命令来训练一个定向边界框模型。通过指定数据集路径、训练周期和图像尺寸,可以开始模型的训练过程。
模型验证
模型训练完成后,需要对模型的准确性进行验证。这通常通过在验证数据集上评估模型的性能来完成。以下是使用Python和CLI命令进行模型验证的示例:
from ultralytics import YOLO
# 加载模型
model = YOLO("yolo11n-obb.pt")
# 验证模型
metrics = model.val(data="dota8.yaml")
在验证过程中,模型将根据给定的数据集和设置自动记住其训练数据和参数。通过评估指标,可以了解模型在不同类别上的表现,例如平均精度(mAP)等。
模型预测
使用训练好的定向边界框模型,可以在新图像上进行预测。预测时,模型将输出图像中检测到的物体的定向边界框、类别标签和置信度分数。以下是使用Python和CLI命令进行模型预测的示例:
from ultralytics import YOLO
# 加载模型
model = YOLO("yolo11n-obb.pt")
# 进行预测
results = model("https://ultralytics.com/images/bus.jpg")
以上代码展示了如何使用Python和CLI命令在指定图像上运行模型预测。预测结果将包括物体的定向边界框、类别标签和置信度分数,有助于进一步的图像分析和处理。
模型导出
定向边界框模型可以导出到不同的格式,例如ONNX、CoreML等,以便于在不同的平台和设备上使用。以下是使用Python和CLI命令进行模型导出的示例:
from ultralytics import YOLO
# 加载模型
model = YOLO("yolo11n-obb.pt")
# 导出模型
model.export(format="onnx")