图像
组件介绍
“图像”(Image) 控件主要用于加载CV任务所需的用户上传的图像数据集,支持ImageNet,VOC,COCO数据格式。
- 输入:
- 无
- 输出:
- data:数据集
““图像”(Image) 控件读取输入数据压缩文件并将数据集发送到其输出通道。该控件支持 zip, tar, gzip 等压缩文件类型的上传与ImageNet,VOC,COCO数据格式的解析。
页面介绍
点击 “图像”(Image) 控件查看参数配置页面,如下图所示:
参数选项
选项 | 说明 | 样例值 |
---|---|---|
图片上传 | 选择一个ImageNet/VOC/COCO数据压缩文件(.zip, .tar, .gzip)进行上传,成功解析加载后显示如下信息: | |
预览数据 | 对成功上传、解析、加载的图像数据进行预览展示 |
在加载数据时,该控件会把数据分为三种数据格式:ImageNet, VOC, COCO。不同类型的数据在压缩包内的组织方式如下:
- ImageNet
├── folder_1
│ ├── xxx.png
│ ├── xxy.png
│ └── ...
├── folder_2
│ └── ...
├── train_list.txt # 训练集
├── val_list.txt # 验证集
└── test_list.txt # 测试集
└── label_list.txt # 标签列表
其中,folder_1, folder_2文件夹用于存放模型训练、测试所需要的样本图片,目录名称可自定义。 label_list.txt为数据集使用的标签列表,类别序号的值应当属于 [0, num_classes - 1] 范围。文件内容格式如下:
label_1
label_2
...
train_list.txt、val_list.txt、test_list.txt分别为训练集、验证集、测试集,每行记录声明对应图片的路径和标签索引,并用空格分隔。其中第一列表示图像 相对于主目录的路径,第二列表示类别序号。例如,train_list.txt文件内容格式如下:
folder_1/xxx.png 1
folder_1/xxy.png 1
folder_2/... 0
... (略)
- Pascal VOC
├── JPEGImages # 图像目录
│ ├── xxx.jpg
│ ├── xxy.jpg
│ └── ...
├── Annotations # 标签目录
│ └── xxx.png
│ └── xxy.png
│ └── ...
├── train_list.txt # 训练集
├── val_list.txt # 验证集
└── test_list.txt # 测试集
└── label_list.txt # 标签列表
其中label_list.txt为数据集使用的标签列表,以图像分割任务中的VOCDataset为例,包含两个分类标签:背 景(background)、前景标签(label_x),名称可根据任务自行定义。文件内容具体格式如下:
background
label_x
...
- COCO
├── train # train目录用于存放模型训练的样本
│ ├── xxx.jpg
│ ├── xxy.jpg
│ └── ...
├── val # val目录用于存放训模型验证的样本
│ ├── xxx.jpg
│ ├── xxy.jpg
│ └── ...
├── test # test目录用于存放模型测试的样本
│ ├── xxx.jpg
│ ├── xxy.jpg
│ └── ...
├── annotations # 标签目录
│ └── train.json # 训练集
│ └── val.json # 验证集
│ └── test.json # 测试集
其中annotations目录用于存放标注文件,train.json、val.json、test.json分别为训练集、验证集、测试集对应的标注信息,COCO数据集的标注格式如下所示,其中的键(key)都是必要的,参考这里来获取更多细节。
{
"images": [image],
"annotations": [annotation],
"categories": [category]
}
image = {
"id": int,
"width": int,
"height": int,
"file_name": str,
}
annotation = {
"id": int,
"image_id": int,
"category_id": int,
"segmentation": RLE or [polygon],
"area": float,
"bbox": [x,y,width,height],
"iscrowd": 0 or 1,
}
categories = [{
"id": int,
"name": str,
"supercategory": str,
}]