【数据集格式】coco格式转txt格式

本文介绍了如何将COCO格式的数据集转换为TXT格式,以适应在TensorFlow环境下训练YOLOv3模型的需求。内容包括TXT格式的具体要求,如image_path、坐标和class_id,以及转换过程中的注意事项,如class_id的调整。提供了所需环境(Python3),转换代码示例,并详细说明了转换后的文件路径。
摘要由CSDN通过智能技术生成

txt格式

训练tensorflow版的yolov3需要的数据格式是txt的,具体要求如下

xxx/xxx.jpg 18.19,6.32,424.13,421.83,20 323.86,2.65,640.0,421.94,20
xxx/xxx.jpg 48,240,195,371,11 8,12,352,498,14
image_path x_min, y_min, x_max, y_max, class_id x_min, y_min ,…, class_id
make sure that x_max < width and y_max < height

针对tensorflow-yolov3,它的class_id 是从0开始到类别数-1. 而我自己的数据集的category_id部分是1,2,3,4,8,9,10
所以我还在代码中添加boundingBox所属类别部分 做了如下修改

	id = boundingBox_per['category_id']                
	if(id in [8,9,10]):                    		
		id = id-4                
	else:                    
		id = id-1

然后class.name 部分为1,2,3,4,8,9,10

环境

需要的环境是 python3
需要修改的地方:第10.11.12行

filename = 'instances_val.json'#修改成你的json文件名字
jsondir = '/home/chenbolin/data2/six/annotations/instances_val.json'#修改成你的json文件路径
img_root = '/home/chenbolin/data2/six/val/' #修改成你的图片路径f = open(jsondir,encoding='utf-8')

代码

我们的数据集是coco格式的,也就是要把json文件转成txt格式的,代码如下:

# coding=utf-8import json
import numpy as np
from xml.etree.ElementTree import Element, SubElement, tostring
from xml.dom.minidom import parseString
import os
# -----------------
# txt数据格式:path,xmin,ymin,xmax,ymax
# 每一行表示一个image
# --------------------
filename = 'instances_val.json'#修改成你的json文件名字
jsondir =</
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值