Image-to-Image Translation with Low Resolution Conditioning
Image-to-Image(I2I)においてLow Resolution(LR)な画像とHigh Resolution(HR)な画像を利用することでLRの色やポーズを残したまま、HRの詳細な部分を転写する。
手法
概要
LRのターゲット画像を、関連するLR画像の部分空間をとする。
は小さい値にするとはに非常に似た画像ということになる。
downscaleするとに含まれるようなHR画像の集合を考える。
はHR画像、はdownscale。
これらは図2(a)を参考。
目的は2組の画像ペア、(),()が与えられたときにの画像を の画像に変換するを学習すること(逆も)。このときにLR画像を利用する。
つまり下記の式(3)。
パラメータを持つGenerator はターゲットのLR画像とソースのHR画像を入力としてターゲットのHR画像を出力する。
目的関数
目的関数は下記の式(4)。
Adversarial loss
Discriminatorへの入力は生成画像だけでなく、生成の条件になったLR画像と生成画像をdownscaleした画像との差分も入力する(式(5))。は色の解像度の正規化用で[-1, 1]になるように。
本物の画像のときは差分は0なのでを利用する。
最終的なadversarial lossは
Cycle consistency loss
変換後画像を条件にして変換(もとに戻す)したときに変換前の画像が保たれるように。
アーキテクチャ
図3参照。U-Netっぽい形。
SPAdaINはspatially adaptive instance normalizationで「Semantic Image Synthesis with Spatially-Adaptive Normalization」で提案されたSPADEと似てるがnormalizationがinstance normになっている。SPAdaINの説明を見ると「instanceレベルで特徴があり、チャンネルレベルで正規化するのは非合理的」という感じ。
Pono ResBlkとPonoSPAdaIN ResBlkは図4参照。Moments shortcutsで平均と分散をencoderからdecoderに渡している。
実験・結果
CelebA-HQの128x128と256x256をFIDとLPIPSの指標で評価。
この指標で256x256のときはStargan-v2のが良い。
所感
意外とLR画像でも情報が残っているものだなと感じた。
手法としてはよくある感じに思える。
意外と目や口と行った部分の転写が良くできていて、しかも顔の向きとかにとらわれずに転写できているのは良さそう。
向きが異なる場合、転写がうまく行かない手法は多いのでそこは使い所がありそう。
向きにとらわれず転写してから、利用したいパーツ(例えば目)を切り出して、他の手法で再度合成とかすればよりきれいにパーツの転写ができるかも?