機械学習とかコンピュータビジョンとか

CVやMLに関する勉強のメモ書き。

TransGaGa: Geometry-Aware Unsupervised Image-to-Image Translationを読んだのでメモ

はじめに

TransGaGa: Geometry-Aware Unsupervised Image-to-Image Translationを読んだのでメモ.

気持ち

Unsupervised Image-to-Image Translationはappearanceが大きく違う二つのdomain間の変換は難しいとされてきた.この論文では画像中のappearanceとgeometryの情報を分離して考えることで,人と猫のような見た目が大きく違う画像間でのtranslationを可能にしようというもの.

Methodology

基本的な戦略はappearanceとgeometryを表す潜在変数を出す二つのencoder E^a(;\phi),E^c(;\pi)を用意して,それぞれの潜在変数を入力とするdecoderを学習しようというもの.モデル自体はconditional VAEとして構成していて,以下の目的関数がベースとなる.

\displaystyle
\mathcal{L}_{disentangle}=\mathcal{L}_{CVAE}+\mathcal{L}_{prior}\\
\mathcal{L}_{CVAE}(\pi,\theta,\phi,\omega)=-KL(q_\phi(c|x,g)\|p(a|x))+\|x-D(E^c(E^g(x)),E^a(x))\|

ここで,E^g(x)は入力画像からgeometryの情報を出力するモデルで,ここでいうgeometryの情報は30点(30チャネルの出力で,各チャネルが1点を表す)からなるheatmapを表す(詳しくは論文の図を参照).

この論文の肝は,\mathcal{L}_{prior}の部分で,この項が[tex:Eg(x)]がgeometryの情報を返すことを保証する.

結論から,\mathcal{L}_{prior}は以下のように定義される.

\displaystyle
\mathcal{L}_{prior}=\sum_{i\neq j}\exp(\frac{\|g^i-g^j\|^2}{2\sigma^2})+\mathrm{Var}(g)

gE^gによって得られたgeometryの情報でi,jはそれぞれ点のindexを表す.関数の意味としては各点がある程度の範囲でばらけるようにするもの.\sigma^2はハイパラ.正直これでうまくいくのかという気もするが,上手いこと物体の形状を捉えてくれるらしい.ただ,後半で議論があるよう一筋縄ではいかないらしい.

上でgeometryが保証できたとして,次にappearanceの変換を考える必要がある.細かい議論は置いておくが,CycleGANの戦略を単純に利用するだけではうまくappearanceの変換が効かないとのこと.なので,次のようなcross-domain appearance consistency lossを導入する.

\displaystyle
\mathcal{L}_{con}^a=\|\zeta(x)-\zeta(D_y(\Phi_{x\rightarrow y}^g\cdot E_x^g(x),\Phi_{x\rightarrow y}^a\cdot E_x^a(x)))\|

\zetaはstyle transferでよく出てくるグラム行列でVGG-16から計算される.\Phi_{x\rightarrow y}^g\cdot E_x^g(x)\Phi_{x\rightarrow y}^a\cdot E_x^a(x)はそれぞれXからYへのgeometryとappearanceの変換を表す.

もろもろを踏まえて最終的な目的関数は次のようになる.

\displaystyle
\mathcal{L}_{total}=\mathcal{L}_{CVAE}+\mathcal{L}_{prior}+\mathcal{L}_{con}^a+\mathcal{L}_{cyc}^a+\mathcal{L}_{cyc}^g+\mathcal{L}_{cyc}^{pix}+\mathcal{L}_{adv}^g+\mathcal{L}_{adv}^{pix}

勘弁してくれという感じ.添字のa,g,pixはそれぞれappearance,geometry,pixel空間での評価を表していて,cyc,advはcycle-consistency lossとadversarial lossを表す.

まとめ

全体的にこれでうまくいくのかという感想しかないけど,この辺を研究している人からすると普通の感覚なのか.