Pix2PixHD [1-3] 是做可控图像生成的。训练的过程建模成一个图像重构问题,生成器的输入/条件是:
- label map:[H, W],即 segmentation map,类别信息,class ID 指定各位置的物体是什么;
- instance map:[H, W],位置信息,instance ID 区分同类别的不同 objects / instances(虽然 instance map 也有类别信息,但生成的过程并没有用到,instance map 并不是 generator 的直接输入,只是用来决定 feature map 各 features 的摆放位置);
- feature map:[H, W, d],用来指定各物体的 style。
方法本身没有对 feature space 的分布做假设,在做可控生成时就不能像 VAEs 那样从简单分布中抽样。该文提供的方案是:对于每个类,都提供 K 种可选的模式(一种模式对应一个 feature vector),用来控制某个 instance 的风格,于是 label map + feature map 就控制了生成图像中各元素的类别、风格。
这些 features 是用一个 encoder 卷出来的低维向量(encoder 的输出就是 [H, W, d],即每个 pixel 都有对应的 d 维 feature,再做 regional pooling),在训练时跟 generator 等其它部件联合训练。训练完之后,用 training set 的 images 提取特征,根据 instance map 中的类别信息归类,就得到每类一个的 feature pool,用来近似这个类的 feature space 分布,再做个 K-means,就得到前文的 K 种模式。
于是在 testing 阶段,要生成图像,提供 label map + instance map,讲道理就可以逐个 instance 选模式(label map 指定类别和该类的候选模式集),选完之后,按 instance map 放置选中的模式 feature vector 到相应的 pixels,得到 feature map,最后将 label map + feature map 输入 generator 得到生成图像。
Pix2PixHD采用图像重构方法实现高分辨率图像合成与语义操控。通过labelmap和featuremap输入,控制生成图像的类别与风格。训练过程中使用encoder提取特征,并通过K-means聚类获取多种模式。
2922

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



