Skip to content

Latest commit

 

History

History
89 lines (67 loc) · 3.61 KB

prepare_data.md

File metadata and controls

89 lines (67 loc) · 3.61 KB

1 准备数据集

由于工业数据集没有统一的数据组织形式,该部分以Magnetic tile defect datasets数据为例进行说明,分割任务训练只要将数据集整理为以下2.2的文件组织形式,路径添加到配置文件中,即可进行分割任务的训练。若需要进行检测任务的训练,可按照以下2.4的说明,转为检测任务支持的json文件。

另外,也可以参考PaddleDetection数据准备PaddleSeg数据准备的具体说明进行数据集的组织。

1.1 公开数据集下载

请前往Magnetic-tile-defect-datasets下载数据集。 "Saliency of magnetic tile surface defects"论文中发布的数据集,收集了6类常见磁砖图像(Free为正常OK图),并对其进行了像素级标记, 如下图:

下载保存到dataset路径,数据集结构如下:

    Magnetic-Tile-Defect
    |
    |--MT_Blowhole
    |  |--Imgs
    |  |  |--exp1_xxx.jpg
    |  |  |--exp1_xxx.png
    |  |  ...
    |--MT_Break
    |  |--Imgs
    |  |  |--exp1_xxx.jpg
    |  |  |--exp1_xxx.png
    |  |  ...
    |  ...
    |--MT_Free
    |  |--Imgs
    |--MT_Uneven
    |  |--Imgs

1.2 转换为全图分割训练数据格式

下载原始数据集后,运行下面命令进行转换,其中dataset_path是数据集保存的目录,output_path是保存路径,执行完成后,转换后的数据集保存在dataset/MT_dataset/路径下,保存为标准的PaddleSeg数据训练格式。

python3 tools/dataset/MT_dataset.py --dataset_path ./dataset/Magnetic-Tile-Defect --output_path ./dataset/MT_dataset/

数据转换后的结构如下:

    MT_dataset
    |
    |--images
    |  |--train
    |  |  |--exp1_xxx.jpg
    |  |  |--exp1_xxx.jpg
    |  |  ...
    |  |--val
    |  |  |--exp6_xxx.jpg
    |  |  |--exp6_xxx.jpg
    |--annos
    |  |--train
    |  |  |--exp1_xxx.png
    |  |  |--exp1_xxx.png
    |  |  ...
    |  |--val
    |  |  |--exp6_xxx.png
    |  |  |--exp6_xxx.png
    |--train.txt
    |--val.txt

其中train.txt和val.txt保存了原图和其对应的标签图像的相对路径。

1.3 将全图分割数据转为RoI分割文件

在2.2中,转换为标准分割数据格式后,如果需要尝试区域分割,具体可以参考数据转换工具中3.1的说明,运行命令如下:

python3 tools/convert_tools/convert_mask_to_RoI.py --image_path dataset/MT_dataset/images/train --anno_path dataset/MT_dataset/annos/train --class_num 5 --output_path dataset/MT_dataset/RoI/ --suffix .png --to_binary

其中由于除去背景是5类缺陷,因此分割class_num是5。

1.4 将全图分割数据转为coco格式的json文件

在2.2中,转换为标准分割数据格式后,如果需要尝试检测算法,具体可以参考数据转换工具中3.2的说明,运行命令如下:

python3 tools/convert_tools/convert_mask_to_coco.py --image_path dataset/MT_dataset/images/train --anno_path dataset/MT_dataset/annos/train --class_num 5 --label_file dataset/MT_dataset/mt_catIDs.json --output_name dataset/MT_dataset/train.json --suffix .png

其中由于除去背景是5类缺陷,因此class_num是5,执行该命令后,在dataset/MT_dataset/train.json中保存了train数据的coco格式检测训练文件。