shimopino / papers-challenge

Paper Reading List I have already read
30 stars 2 forks source link

Geometric Style Transfer #179

Open shimopino opened 4 years ago

shimopino commented 4 years ago

論文へのリンク

[arXiv:2007.05471] Geometric Style Transfer

arxiv-vanity

著者・所属機関

Xiao-Chang Liu, Xuan-Yi Li, Ming-Ming Cheng, Peter Hall

投稿日時(YYYY-MM-DD)

2020-7-10

1. どんなもの?

通常のスタイル変換を行う際は、Neural Networkで学習させた層から抽出した特徴量を使用していた。本研究では、Content画像とStyle画像で幾何的な情報も転移させるために、アフィン変換やThin Plate Spline法のパラメータを推定することで、幾何形状の変化も可能なスタイル変換モデルを提案している。

2. 先行研究と比べてどこがすごいの?

従来のスタイル変換モデルはテクスチャ情報を変換させることに特化しており、また形状などの幾何学的なスタイルも変換できるモデルは顔やテキストなどの一部のドメインでしか使用できないものだった。

本研究では、変換する前後のドメイン画像に加えて、形状の情報を入力に与えることで幾何学的な変換も可能なモデルを提案している。

以下の従来のStyle Transferモデルとの生成結果を比較すると幾何学的な変換もできていることがわかる。

image

3. 技術や手法の"キモ"はどこにある?

3.1 Texture and Geometric Style Transfer

3.2 Feature Extraction

Content画像とTarget画像から特徴量を抽出する際には、ImageNetで事前学習済みのVGG-19を使用している。

image

画像のContentを抽出する際にはVGG-19の出力層に近いconv4_2から特徴量を抽出している。これはエッジなどの低レベルな情報を抽出できる浅い層よりも、深い層で得られる抽象的な特徴量のほうが、画像全体の中身を表現する特徴量として適しているからである。

テクスチャ情報を抽出する際には、ネットワークの各層から抽出した特徴量を使用しており、これらの相関関係をグラム行列として計算する。

幾何学情報は入力された画像を異なる形状に変換するためのマッピング情報として使用する。そのため画像中の一部の領域に対する、回転や変換などの変動にも頑強に適用できるように、pool4層から抽出した情報を各チャンネルごとにL2正規化させた特徴量を利用する。

3.3 Geometric Style Transfer

幾何学的な変換では、入力画像をTarget画像の形状に変換をさきに行い、その後でテクスチャ情報のスタイル変換を行っている。

計算の流れとしては、まずはContent画像とTarget画像から幾何学的な特徴量を抽出した後で、それらの特徴量を類似関係をを計算する。そしてこの類似関係を入力にして、Content画像をTarget画像の幾何学的な形状に合わせて変換を行っていく。

この際に本研究では、アフィン変換とquadratic thin-plateを使用している。

image

Feature Correlation

pool4層から抽出したContent画像とStyle画像の特徴量は、それぞれのピクセル位置に存在するチャンネル方向の特徴量同士の内積を計算して相関関係を計算する。

image

Learning a Spatial Mapping

次にContent画像をStyle画像の形状に歪曲させる操作を考える。パラメトリックな手法で変換させることを想定し、CNNによってそのパラメータを推定していく。

具体的には先の計算で得られたContent画像とStyle画像の幾何形状の特徴量の相関関係CをCNNに与えてパラメータを推定する。得られたパラメータからアフィン変換やthin-plate spiline法を実施していく。

image

学習の段階では画像に適用する変換のパラメータをランダムにサンプリングする。このパラメータを使用して画像Aを画像Bに変換 (=Ti(A)) する。

この歪曲された画像Bに対して[Gatys et al, 2016]が提案しているStyle Transferを使用してテクスチャ情報を画像Bに転移させる。後を元の画像Aと形状とテクスチャの変換を加えた画像Bとの相関関係Ciを式(1)で計算する。

これで計算によって得られたパラメータΘiと相関関係Ciとを紐付けることができる。後はパラメータによって得られた変換μ(Ci)と、既知である変換Tiとの差をL2損失で計算していく。

image

Thin-Plate Splineのパラメータを最適化させることは難しいため、以下の手順で計算していく。

  1. アフィン変換のパラメータを推定
  2. アフィン変換を適用して画像を歪曲させる
  3. 歪曲した画像に対してTPSなどの高次の手法を最適化させる。

このために、幾何学的な変換パラメータを推定するネットワークを2つ用意しておき、それぞれでパラメータ (アフィン変換: 6パラメータ、TPS: 18パラメータ) を推定する。

Comments on Geometric Warping

本研究ではアフィン変換とThin-Plate Spline (TPS) を採用している。しかし特段変換に使用する関数に制限はないため、他の手法を使用することも可能である。

3.4 Texture Transfer

テクスチャ情報を転移させる際に学習させる内容としては、まずはStyle画像から得られたテクスチャ情報とContent画像から得られたテクスチャ情報との違いをL2損失で計算する。

image

また変換前後で画像の内容に違いが出ないように、内容に関する特徴量に関してもその違いをL2損失で計算する。

image

最終的に得られる損失関数は以下でまとめられる。

image

Multi-Scale Strategy

上記の手法でテクスチャ情報を転移させた場合、使用する画像の解像度が悪化することがわかっている。

また先行研究より効率的な受容野は決まっており、また小さいことがわかっているため、スタイル変換を行う画像のスケールが制限されてしまう。そこでスタイル変換を行う際に複数のスケールで変換を行う手法を採用している。

image

4. どうやって有効だと検証した?

以下のように本手法と他の手法との生成結果を比較すると分かるように、本手法では形状も合わせて転移させることができている。

image

image

人手による評価も実施している。50人の評価者にどの画像を好んでいるのか比較すると、本手法が他の手法よりも2倍近く好まれていることが分かる。

image

画像の類似性に関しても本手法は他の手法を大きく上回っている。

image

次に使用した画像変換手法の違いを比較した。結果としてアフィン変換によって画像が歪曲されているが、平行線や各パーツの領域自体は大きく変化していない。後続のTPSによってよりStyle画像に合うような歪曲が施されている。

image

複数のスケールからStyleの変換を行うことで生成できる画像がどのように変化しているのかも比較している。元の画像(a)と比較して、歪曲させた画像(b)とスタイル変換をそのまま使用した画像(c)では、細部の情報が失われていることが分かる。

しかし、複数のスケールでの計算を行うことで細部の情報を失うことなくスタイル変換ができていることが分かる。

image

5. 議論はあるか?

制限としては、本手法はContent画像とStyle画像が同じ物体を示しており、かつ大きな物体が1つのみ写っている画像を仮定していることである。

試しに3種類のStyle画像に対して本手法を適用すると、同じ人物画像に対しては形状とテクスチャの転移ができているが、他のスタイルの場合にはうまくスタイル変換できていないことが分かる。

image

また本手法はStyle画像を複数指定することが可能であり、以下のように幾何形状を示すStyle画像と、テクスチャ情報を示すStyle画像を使用して、対称の形状に合わせてスタイル変換ができていることが分かる。

image

計算にはGTX 1080Tiで8時間ということなのでとてもリーズナブル

shimopino commented 4 years ago

アフィン変換では、以下のように線形変換と平行移動を組み合わせた6つのパラメータをCNNで推定している。

image

shimopino commented 4 years ago

Thin-Plate Splineは以下が参考になる。

Github