当需要对自定义的数据集进行训练的时候,需要按照相应的格式进行准备。我们提供了两种数据形式,一种为离线合成,一种为在线合成。
如果图像已经实现离线合成或者不需要合成,需按照如下模型整理数据结构。
dataset_root/
|--train/
| |--fg/
| |--alpha/
|
|--val/
| |--fg/
| |--alpha/
|
|--train.txt
|
|--val.txt
其中,fg目录下存放原图,另外fg目录下的图象名称需和alpha目录下的名称一一对应, 且两者的分辨率需保持一致。
train.txt和val.txt的内容如下
train/fg/14299313536_ea3e61076c_o.jpg
train/fg/14429083354_23c8fddff5_o.jpg
train/fg/14559969490_d33552a324_o.jpg
...
数据读取支持在线合成,即输入网络的原图通过已有的前景图、alpha和背景图进行在线合成。类似Deep Image Matting论文里使用的数据集Composition-1k,则数据集应整理成如下结构:
Composition-1k/
|--bg/
|
|--train/
| |--fg/
| |--alpha/
|
|--val/
| |--fg/
| |--alpha/
| |--trimap/ (如果存在)
|
|--train.txt
|
|--val.txt
其中,fg目录存放前景图片,bg存放背景图片。
train.txt的内容如下:
train/fg/fg1.jpg bg/bg1.jpg
train/fg/fg2.jpg bg/bg2.jpg
train/fg/fg3.jpg bg/bg3.jpg
...
其中第一列为前景图像,第二列为背景图。
val.txt的内容如下, 如果不存在对应的trimap,则第三列可不提供,代码将会自动生成。
val/fg/fg1.jpg bg/bg1.jpg val/trimap/trimap1.jpg
val/fg/fg2.jpg bg/bg2.jpg val/trimap/trimap2.jpg
val/fg/fg3.jpg bg/bg3.jpg val/trimap/trimap3.jpg
...