学习python使用Ultralytics的YOLO26进行旋转框检测的基本用法

  Ultralytics的YOLO26模型提供专门的旋转框检测模型以支持旋转边界框检测,其主要预训练模型及参数如下表所示,其中的mAPtest50-95(e2e)指标指IoU从0.5到0.95多个阈值下的平均精度,用于评估评估模型在高难度、高精度需求下的性能,而mAPtest50(e2e)指标指在IoU=0.5单一阈值下的平均精度,用于快速对比基线模型,或对定位精度要求不高的任务。

  定向目标检测器的输出是一组旋转的边界框,这些边界框精确地包围了图像中的目标,以及每个框的类别标签和置信度分数。当目标以各种角度出现时,定向边界框特别有用,例如在航空图像中,传统的轴对齐边界框可能包含不必要的背景。
  YOLO26的旋转框检测模型的输出数据形状为N,7(检测)或N,8(追踪),也即result.obb. data的数据形状,其中N为从图片中检测到的目标个数,第二个维度则是目标的位置及置信度信息。

  模型检测结果中的obb.xywhr属性保存检测到所有目标的边界框及旋转角度,obb.xyxyxyxy属性的数据形状为N,4,2,保存所有目标的边界框四个角的坐标。不过将旋转框检测模型转换为onnx格式后,其输出形状变为1,300,7,具体解析方式后续再学习。

   YOLO26的旋转框检测模型是在DOTAv1数据集上进行的预训练,分类只有14种,其使用示例、运行效果(测试图片来自百度图片)、数据形式如下所示:

python 复制代码
from ultralytics import YOLO

# Load a model
model = YOLO(r"E:\MyPrograms\Python\ultralytics\yolo26m-obb.pt")

# Predict with the model
results = model("ship.jpg")

# Access the results
for result in results:
    print(result.obb.data)
    print(result.obb.xywhr)
    print(result.obb.xyxyxyxy)
    print(result.names)
    result.show()


参考文献:

1https://docs.ultralytics.com/zh/models/yolo26/

2https://docs.ultralytics.com/zh/tasks/obb/

3https://deepwiki.com/ultralytics/ultralytics/5.2-annotation-and-plotting-utilities#obb

4https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/DOTAv1.yaml

相关推荐
布局呆星6 分钟前
RAG从0~1,初入~优化
python
王志来1379447300814 分钟前
场景驱动选型:4U工控机箱如何匹配多元化工业需求
大数据·人工智能·python
2601_9623815829 分钟前
[Python人工智能] 九.gensim词向量Word2Vec安装及《庆余年》中文短文本相似度计算
人工智能·python·tensorflow·word2vec·文本相似度
️学习的小王32 分钟前
Flask实现云栖笔记|开箱即用网页版本地笔记本
笔记·python·flask
quantdash_cc38 分钟前
批量请求和循环请求有什么区别?从 API 请求次数看量化数据获取的工程设计
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
码农刚子39 分钟前
告别影楼和付费 App,5 分钟本地搭一个证件照自由平台|HivisionIDPhotos 开箱实测
python·图像识别
Tizzy JJ1 小时前
Python + pytest 接口自动化测试框架实战:从零搭建企业级项目骨架
开发语言·python·pytest
Zane19941 小时前
手写"判断key存不存在"的模板代码太烦?一文讲透 collections 四件套
后端·python
海兰1 小时前
【 Python 量化交易】第8章:量化工具箱
开发语言·python
TheBestRucy1 小时前
Python九阳神功之柒:数据分析三剑客·执剑问道
开发语言·python·数据分析