yoheikikuta / paper-reading

Notes about papers I read (in Japanese)
156 stars 4 forks source link

[2017] Pose Guided Person Image Generation #4

Open yoheikikuta opened 6 years ago

yoheikikuta commented 6 years ago

論文リンク

https://arxiv.org/abs/1705.09368

公開日(yyyy/mm/dd)

2017/05/25

概要

GANを使った画像生成に関して、condition image と 18 個の点で表現される target pose を input にして、condition image に対して target pose を取らせているような画像を生成しようという論文。 モデルとしては end-to-end では難しいので、target pose は既存手法で抜き出し、まずは UNet の亜種で粗い画像を作り、その後 DCGAN を使って綺麗な画像にするという二段階を経ている。

結果としては以下のようなものが得られ、細部はやはりまだ厳しい部分もあるが、なかなか良い画像が生成されていることが分かる。 {condition image, target pose} が input で、 target image が Ground Truth、Coarse result が一段階目の出力で、refined result が二段階目の出力である。

yoheikikuta commented 6 years ago

そもそもこの論文を読んでみようと思ったのは、GAN を応用に使うにはやはり拘束条件を入れて作らないと難しいよなぁと思っていて、NIPS の論文の中でそれっぽいのを探していたらこれを見つけたという経緯である。

この論文では色んなテクニックを組み合わせていて、これくらい頑張れば少しずつ実応用で画像生成とかも使えるレベルになってきているのではないかと期待が持てるのがよい。

yoheikikuta commented 6 years ago

モデルの全体像は以下のようになる。

まず G1 が UNet-like な architecture であり、condition image と target pose を convolution で混ぜあわせて deconv で pose を変えた画像を生成している。この部分だけで学習をしていて、学習としては生成した画像と target image (ground truth) の差分の L1 norm を目的関数とする。このままでは背景部分の影響などが出てしまうため、target pose を morphology を使って身体っぽい領域を作成して、その部分だけ L1 を取る(それ以外の背景は mask する)。

G2 が DCGAN のところで condition image と G1 で作成した coarse result を合わせた上で refine した画像を生成する model を作っている。これで生成した画像と target image を discriminator で判別する構造を作れば、これは adversarial な学習そのものであり、binary cross entropy で GAN の loss function を構築して学習をさせている。

yoheikikuta commented 6 years ago

ちなみに target pose を抽出するために使われているのは以下の論文。 特徴点を iterative な feedback で修正していって良い結果を得るという感じだが、feedback とは?

https://arxiv.org/abs/1507.06550

yoheikikuta commented 6 years ago

こんな感じらしい。 現時点での特徴点の estimation を画像と重ねてズレを逐次的に補正していくという感じか。

最適化は以下の式で実施する。 y は ground truth で h は距離を測る関数(ユークリッド距離)で e はずれを測る何らかの関数(ざっくりいって各特徴点毎に求めている差分のベクトル)。

色々分かってないところもあるが、まあ主題とは離れてしまうのでこれくらいにしておいてまた遭遇した時にちゃんと読むとしよう。

yoheikikuta commented 6 years ago

本題に戻って実験で使ったデータを見ておく。

yoheikikuta commented 6 years ago

テストデータに対する結果が以下の図。 ファッション画像のように、対象が綺麗に写っていてかつ背景がシンプルな画像ではそれなりにうまくいっていそう。Market の方はちょっと厳しいかな。

yoheikikuta commented 6 years ago

他の論文との比較とうまくいかなかった例。 うまくいかなかった例は上が姿勢が複雑な部分は作れてなくて、下は男性と女性の学習データのアンバランスが原因っぽい。

yoheikikuta commented 6 years ago

全体的には、データのドメインを絞って、複雑なケースを除けば条件付けによって生成もなかなか良いところまで来てるのではという感じだった。

ある程度ポーズのパターンが決まっていれば、十分な画像データがあればかなり良い感じの生成ができるのじゃないだろうか。