1 TT100K 官网
1.1 数据集介绍
本人下载的是2021的数据集,训练集 6105张图片, 测试集 3071 张图片,每张图片的分辨率为2048 * 2048,共有232 种标志类别(2016有221种类别)
- 下载数据集是保证有 100 G 的存储空间
2 下载数据集
可以点击使用教程查看官方教程文档:
点击 Tsinghua-Tencent 100K Annotations 2021 (with more classification) 下载数据集压缩包 .zip 文件 并解压

3.1 与 3.2 分别是生成 xml 与 txt 格式标注文件的代码, 读者可根据需要跳转对应部分。
3.1 在train、test 同级目录生成同名xml文件
3.1.1 代码
'''
Description:
version:
Author: 悠悠青青.
Date: 2023-03-27 09:05:43
LastEditors: Please set LastEditors
LastEditTime: 2023-03-27 09:20:01
'''
import os
import json
'''人为构造xml文件的格式'''
out0 ='''<annotation>
<filename>%(name)s</filename>
<source>
<database>None</database>
</source>
<size>
<width>%(width)d</width>
<height>%(height)d</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
'''
out1 = ''' <object>
<name>%(class)s</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>%(xmin)d</xmin>
<ymin>%(ymin)d</ymin>
<xmax>%(xmax)d</xmax>
<ymax>%(ymax)d</ymax>
</bndbox>
</object>
'''
out2 = '''</annotation>
'''
def annos2xml(annos, out_dir):
if not os.path.exists(out_dir):
os.makedirs(out_dir)
source = {
} # 用于暂存图片名字、尺寸等基本信息
h,w = 2048, 2048 # 图片大小
image_name = annos["path"] # eg test/10056.jpg
out_xml = os.path.join(out_dir, image_name[:-4] + '.xml')
fxml = open(out_xml, 'w') # 新建对应 xml 文件
source['name'] = image_name # 图片路径
source['width'] = w # 图片宽度
source['height'] = h # 图片高度
fxml.write(out0 % source) # 写入 out0 模板
label = {
} # 暂存当前图片的 box 信息
for obj in annos['objects']: # 遍历每个子列表即原 txt 的每一行
label['class'] = obj['category'] # 写入编号对应类别标签
'''读取框的坐标'''
label['xmin'] = obj['bbox']['xmin']
label['ymin'] = obj['bbox']['ymin']
label['xmax'] = obj['bbox']['xmax']
label['ymax'] = obj['bbox']['ymax']
fxml.write(out1 % label) # 写入 out1 模板
fxml.write(out2)
def main():
filedir = "./annotations_all.json" # json文件
ids_file = "./train/ids.txt" # 指定为 train/test
ids = open(ids_file).read().splitlines() # 获取 id 编号
annos = json.loads(

文章介绍了如何将TT100K数据集的2021年版本的JSON标注转换为XML和TXT格式。提供了Python代码示例,用于生成符合PASCALVOC标准的XML文件以及针对特定类别的TXT文件。该过程对于后续的图像识别和物体检测模型训练至关重要。


2万+

被折叠的 条评论
为什么被折叠?



