Image-to-Image Translation with Low Resolution Conditioning

arxiv.org

Image-to-Image(I2I)においてLow Resolution(LR)な画像とHigh Resolution(HR)な画像を利用することでLRの色やポーズを残したまま、HRの詳細な部分を転写する。
f:id:Ninhydrin:20211129092944p:plain

手法

概要

LRのターゲット画像を \textbf{x} \in \mathbb{R}^{m \times n}、関連するLR画像の部分空間を \mathcal{R}_{\textbf{x}}とする。
f:id:Ninhydrin:20211129093114p:plain
 \epsilonは小さい値にすると \textbf{x}_i \textbf{x}に非常に似た画像ということになる。

downscaleすると \mathcal{R}_{\textbf{x}}に含まれるようなHR画像の集合を考える。
f:id:Ninhydrin:20211129093129p:plain
 \textbf{X}_jはHR画像、 \verb|DS|(\cdot)はdownscale。

これらは図2(a)を参考。

f:id:Ninhydrin:20211129094144p:plain

目的は2組の画像ペア、( \textbf{X} \in \mathcal{M}_{\textbf{X}}, \textbf{x} \in \mathcal{R}_{\textbf{x}}),( \textbf{Y} \in \mathcal{M}_{\textbf{Y}}, \textbf{y} \in \mathcal{R}_{\textbf{y}})が与えられたときに \mathcal{M}_{\textbf{X}}の画像を  \mathcal{M}_{\textbf{Y}}の画像に変換する Gを学習すること(逆も)。このときにLR画像を利用する。
つまり下記の式(3)。
f:id:Ninhydrin:20211129094902p:plain

パラメータ \thetaを持つGenerator GはターゲットのLR画像とソースのHR画像を入力としてターゲットのHR画像を出力する。

目的関数

目的関数は下記の式(4)。
f:id:Ninhydrin:20211129095318p:plain

Adversarial loss  \mathcal{L}_{\verb|adv|}

Discriminatorへの入力は生成画像だけでなく、生成の条件になったLR画像と生成画像をdownscaleした画像との差分 \textbf{d}_{\textbf{X} \rightarrow \mathcal{M}_{\textbf{Y}}}も入力する(式(5))。 rは色の解像度の正規化用で[-1, 1]になるように。
f:id:Ninhydrin:20211129095832p:plain
f:id:Ninhydrin:20211129100534p:plain
本物の画像のときは差分は0なので \textbf{0}を利用する。

最終的なadversarial lossは
f:id:Ninhydrin:20211129100700p:plain

Cycle consistency loss  \mathcal{\verb|cyc|}

変換後画像を条件にして変換(もとに戻す)したときに変換前の画像が保たれるように。
f:id:Ninhydrin:20211129100751p:plain

アーキテクチャ

図3参照。U-Netっぽい形。
SPAdaINはspatially adaptive instance normalizationで「Semantic Image Synthesis with Spatially-Adaptive Normalization」で提案されたSPADEと似てるがnormalizationがinstance normになっている。SPAdaINの説明を見ると「instanceレベルで特徴があり、チャンネルレベルで正規化するのは非合理的」という感じ。

f:id:Ninhydrin:20211129100944p:plain

Pono ResBlkとPonoSPAdaIN ResBlkは図4参照。Moments shortcutsで平均と分散をencoderからdecoderに渡している。
f:id:Ninhydrin:20211130084931p:plain

実験・結果

CelebA-HQの128x128と256x256をFIDとLPIPSの指標で評価。
この指標で256x256のときはStargan-v2のが良い。
f:id:Ninhydrin:20211130090412p:plain
f:id:Ninhydrin:20211130090610p:plain

所感

意外とLR画像でも情報が残っているものだなと感じた。
手法としてはよくある感じに思える。
意外と目や口と行った部分の転写が良くできていて、しかも顔の向きとかにとらわれずに転写できているのは良さそう。
向きが異なる場合、転写がうまく行かない手法は多いのでそこは使い所がありそう。
向きにとらわれず転写してから、利用したいパーツ(例えば目)を切り出して、他の手法で再度合成とかすればよりきれいにパーツの転写ができるかも?