如何以CVAT XML格式导入预生成标签?解决KeyError: 'id'问题
解决CVAT导入YOLO标签时的KeyError: 'id'问题
方法1:直接用YOLO原生格式导入(推荐)
这是最适配需求的方式,无需处理id,直接通过文件名关联标签:
- 准备与图像同名的YOLO标签文件,比如
my_image.txt,每行格式为class_id x_center y_center width height(所有坐标为相对于图像宽高的归一化值)。 - 进入CVAT对应Job页面,点击「Import annotations」,选择「YOLO v3/v4/txt」格式,上传该txt文件即可。CVAT会自动通过文件名匹配到
my_image.png,完成标签导入。
方法2:生成带临时id的XML文件
如果必须使用XML格式(如PASCAL VOC),可以手动指定临时id,CVAT导入时会自动映射为系统真实id:
- 按以下结构生成XML,给图像和每个边界框分配任意临时id(比如从1开始),确保
<filename>字段准确对应图像文件名:<annotation> <filename>my_image.png</filename> <size> <width>你的图像宽度</width> <height>你的图像高度</height> <depth>3</depth> </size> <object> <name>类别名称</name> <bndbox> <xmin>边界框左上角x</xmin> <ymin>边界框左上角y</ymin> <xmax>边界框右下角x</xmax> <ymax>边界框右下角y</ymax> </bndbox> <id>1</id> </object> <id>1</id> </annotation> - 上传该XML文件,CVAT会忽略临时id,通过
<filename>匹配图像并完成标签导入,不会触发KeyError。
内容的提问来源于stack exchange,提问作者Tomáš Zato
相关产品推荐
相关产品推荐

