YOLO格式转换工具
在不同的YOLO版本及其他目标检测格式之间转换您的数据集和模型,无缝衔接您的AI开发工作流程。
工具推荐
我们目前正在开发自己的格式转换工具。在此期间,我们收集了一些优秀的第三方转换工具,推荐您使用这些免费资源来满足YOLO相关的格式转换需求。
在线转换工具
Roboflow - 通用格式转换平台
Roboflow支持30多种计算机视觉标注格式之间的相互转换,包括各种YOLO版本、COCO、VOC、TensorFlow等格式。完全免费用于个人项目和实验。
YOLOv5
YOLOv8
COCO
VOC
TensorFlow
- 支持所有主流YOLO版本之间的转换
- YOLO与其他格式(COCO、VOC等)之间的转换
- 自动生成数据集配置文件(YAML)
- 免费使用,支持有限的图像数量
开源代码工具
Ultralytics转换工具
Ultralytics官方提供的数据转换工具集,支持COCO、YOLO、分割等多种格式的互相转换。
YOLOv5/v8
COCO
分割
Python
# COCO转YOLO
from ultralytics.data.converter import convert_coco
convert_coco("path/to/coco/annotations/")
YOLO-to-COCO-format-converter
将YOLO格式标注转换为COCO格式的工具,支持从YOLO标记工具输出转换到COCO JSON格式。
YOLO
COCO
Python
访问YOLO-to-COCO GitHub仓库
pybboxes
一个轻量级Python库,专门用于在不同边界框格式之间进行转换,包括YOLO、VOC、COCO等。
YOLO
VOC
COCO
Python
import pybboxes as pbx
yolo_bbox = (0.5, 0.5, 0.3, 0.2)
W, H = 640, 480
voc_bbox = pbx.convert_bbox(yolo_bbox, from_type="yolo", to_type="voc", image_size=(W, H))
常见格式介绍
YOLO格式
每个图像对应一个文本文件,每行表示一个对象:
<class_id> <x_center> <y_center> <width> <height>
所有值均为归一化后的相对值(0到1之间)。
COCO格式
使用JSON格式存储,结构较为复杂:
{
"images": [...]
"annotations": [...]
"categories": [...]
}
"images": [...]
"annotations": [...]
"categories": [...]
}
坐标以像素为单位,表示为[x,y,width,height]。
VOC格式
使用XML文件存储标注信息:
<annotation>
<object>
<name>类别</name>
<bndbox>
<xmin>...</xmin>
</bndbox>
</object>
</annotation>
<object>
<name>类别</name>
<bndbox>
<xmin>...</xmin>
</bndbox>
</object>
</annotation>
坐标以像素为单位,表示为[xmin,ymin,xmax,ymax]。
不同YOLO版本区别
- • YOLOv5/v8: 需要额外的YAML配置文件
- • YOLOv3 Keras: 使用相对坐标,但格式略有不同
- • YOLOv8-OBB: 支持旋转边界框,格式更复杂
- • Darknet YOLO: 原始YOLO格式,简单的txt文件
注意事项
我们推荐的第三方工具均为开源或提供免费服务的平台,但部分工具可能对使用量或功能有一定限制。如需处理大量数据或商业用途,请查阅相应工具的商业许可条款。同时,请注意保护您的数据安全,在上传数据前确认平台的隐私政策。