lowercaseonly/cghd
收藏公共手绘电路图数据集(GTDB-HD)
数据集概述
- 名称: 公共手绘电路图数据集(GTDB-HD)
- 许可证: Creative Commons Attribution Share Alike 3.0
- 大小: 1K<n<10K
- 任务类别:
- 目标检测
- 图像分割
- 语言:
- 英语
- 德语
数据集结构
gtdh-hd │ README.md # 本文件 │ classes.json # 类别列表 │ classes_color.json # 类别到颜色映射 │ classes_discontinuous.json # 类别形态信息 │ classes_ports.json # 类别电气端口描述 │ consistency.py # 数据集统计和一致性检查 | loader.py # 简单数据集加载和存储功能 │ segmentation.py # 多类别分割生成 │ utils.py # 辅助函数 │ requirements.txt # 脚本需求 └───drafter_D │ └───annotations # 边界框标注 │ │ │ CX_DY_PZ.xml │ │ │ ... │ │ │ └───images # 原始图像 │ │ │ CX_DY_PZ.jpg │ │ │ ... │ │ │ └───instances # 实例分割多边形 │ │ │ CX_DY_PZ.json │ │ │ ... │ │ │ └───segmentation # 二值分割图(笔画 vs 背景) │ │ │ CX_DY_PZ.jpg │ │ │ ... ...
文件命名规则
D是绘图者的全局编号X是电路的全局编号(每个绘图者12个电路)Y是电路图的局部编号(每个电路2个图)Z是图的局部编号(每个图4张图片)
图像文件
- 每张图像为RGB颜色,存储格式为
jpg、jpeg或png(大小写后缀都存在)。
边界框标注
- 类别标签及其映射表可在
classes.json中找到。 - 标注采用PASCAL VOC格式。
- 每个原始图像都有对应的边界框标注文件。
已知标注问题
- C25_D1_P4 截断了一个文本
- C27 截断了一些文本
- C29_D1_P1 有一个额外的文本
- C31_D2_P4 少了一个文本
- C33_D1_P4 少了一个文本
- C46_D2_P2 截断了一个文本
实例分割
- 每个二值分割图都有对应的实例分割多边形标注文件,采用labelme格式。
分割图
- 二值分割图与相应图像文件分辨率相同,仅包含黑白像素,表示绘图笔画和背景。
网表文件
- 部分图像有网表文件,存储格式为ASC。
一致性和统计
-
提供脚本进行类别分布、边界框大小统计和一致性检查。
-
脚本调用方式:
$ python3 consistency.py
或指定绘图者:
$ python3 consistency.py 15
多类别(实例)分割处理
-
提供脚本处理新的和现有的(实例)分割文件。
-
脚本调用方式:
$ python3 segmentation.py <command> <drafter_id> <target> <source>
其中
<command>可以是:transformwirekeypointcreaterefinepipelineassign
数据集加载器
-
提供加载和写入功能,可用于训练。
-
基本用法:
from loader import read_dataset
db_bb = read_dataset() # 读取所有边界框标注 db_seg = read_dataset(segmentation=True) # 读取所有多边形标注 db_bb_val = read_dataset(drafter=12) # 读取绘图者12的边界框标注
len(db_bb) # 获取样本数量 db_bb[5] # 获取任意样本
db = read_images(drafter=12) # 返回(图像, 标注)对列表 db = read_snippets(drafter=12) # 返回(图像, 标注)对列表
引用
@inproceedings{thoma2021public, title={A Public Ground-Truth Dataset for Handwritten Circuit Diagram Images}, author={Thoma, Felix and Bayer, Johannes and Li, Yakun and Dengel, Andreas}, booktitle={International Conference on Document Analysis and Recognition}, pages={20--27}, year={2021}, organization={Springer} }




