Slide 1

Slide 1 text

U-GAT-IT: Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation 【画像処理 & 機械学習】論文LT会! #8@LPIXEL meow (id: meow_noisy) 2019/11/21(木)

Slide 2

Slide 2 text

論文概要  画像変換タスクにおいて、輪郭が大きく変わるターゲット への変換を教師なしで獲得する手法の提案  手法の特徴 1. CAMライクな補助分類器の導入によりattention mapを作成 2. AdaLINによりcontentとstyleをちょうど良く混ぜて正規化  著者  Junho Kim †, Minjae Kim †, Hyeonwoo Kang †, Kwanghee Lee‡  † NCSOFT, ‡ Boeing Korea Engineering and Technology Center  学会情報: なし  URL: https://arxiv.org/abs/1907.10830

Slide 3

Slide 3 text

背景  画像変換タスクにおいては、局所的なテクスチャの変換は 目覚ましい成功を収めた  写真⇔ゴッホの絵画  馬⇔シマウマ  しかし、形がそもそも変わっているものへ変換することは難しい  猫⇔犬  顔写真⇔アニメ

Slide 4

Slide 4 text

提案手法: U-GAT-IT  GANをベースにしつつ 下記の機能をGenerator に組み込むことで、 画像変換能力の獲得を 実現  ①補助分類器を利用して attention mapを作成  ②AdaLINレイヤーで contentとstyleを バランス良く混ぜる ①補助 分類器 ②AdaLIN ※図はsource→targetの例 (逆のネットワークも用意する) Unsupervised Generative Attentional Networks with Adaptive Layer-Instance Normalization for Image-to-Image Translation (´-`).。oO(You got it.とかけたかったのだろうか)

Slide 5

Slide 5 text

CAMライクな補助分類器  CAM(Class Activation Map)  CNNの判断根拠の可視化手法のひとつ  特徴マップとsoftmaxへの重みを線形結合しActivation Mapを作成 auxiliary classifier 図は元論文より: https://www.cv-foundation.org/openaccess/content_cvpr_2016/papers/Zhou_Learning_Deep_Features_CVPR_2016_paper.pdf

Slide 6

Slide 6 text

CAMライクな補助分類器(p.3) auxiliary classifier  補助分類器  入力された画像がsourceから来た確率を出力 する二値分類器  特徴マップのGlobal Avg Pooling, Global Max Poolingを結合したもの入力  Encoderから出力された特徴マップの重みで CAMを作成 ※図はsource→targetの例 (逆のネットワークも用意する)

Slide 7

Slide 7 text

補助分類器の効果(p.5 Fig 2)  あり/なしで顕著な効果がある (元画像) あり なし

Slide 8

Slide 8 text

CAMライクな補助分類器(p.3) auxiliary classifier  CAMをattention mapとする  例えば、 =  attentionを全結合層に流し、後段のAdaLINで使う アフィンパラメータγ、βを推定 ※図はsource→targetの例 (逆のネットワークも用意する)

Slide 9

Slide 9 text

Decoderへの入力  attention mapと、パラメータγ,βを 後段のDecoderへ入力 ※図はsource→targetの例 (逆のネットワークも用意する)

Slide 10

Slide 10 text

AdaLIN: Adaptive Layer-Instance Normalization  DecoderのRes BlockにおいてAdaLINレイヤーを挟む  処理内容: attention mapに対して、Instance Normalization(IN) とLayer Normalization(LN)の混合和を計算  IN: チャネル単位で正規化  LN: レイヤー(すべての特徴マップ)単位で正規化 (p.3)

Slide 11

Slide 11 text

AdaLINの効果(p.6; Fig.4)  スタイル変換タスクで提案されたNormalize手法を比較  INはターゲットドメイン(anime)の情報が少なく、LNはソースドメイン (selfie)の情報が少ない。したがって、折衷すると上手くいく  AdaINはcontent(selfie?)のパターンが少ないらしい(p.3,col.2,l.16) (元画像) AdaLIN IN LN AdaIN GN p.7 Tab.1 定量評価(小さいほど良い)でも最良

Slide 12

Slide 12 text

実験(p.5)  比較手法  U-GAT-ITを含む5つの画像変換手法  データセット  selfie⇔animeを含む5つのデータセット  評価尺度  定性評価: ユーザーテスト(n=135)  変換前後の画像と、変換先のドメインのみを教え、 ベストだと思う画像を選んでもらう  定量評価: KID(Kernel Inception Distance)  FIDより信頼できるらしい(p.7; 5.3.4項)

Slide 13

Slide 13 text

定性評価の結果(p.8 Tab.2)  4つのデータセットで提案手法が最良 元画像 提案 CycleGAN UNIT MUNIT DRIT photo2portrait dataset

Slide 14

Slide 14 text

定量評価の結果(p.8 Tab.3)  KIDで測る。小さいほど良い。  3つのデータセットで提案手法が最良  他2つで劣るが、トップとの差は微々たるものと主張

Slide 15

Slide 15 text

まとめ  attentionの導入と正規化の工夫で、形状や輪郭の大きく異 なるドメイン間での画像変換を教師無しで実現した

Slide 16

Slide 16 text

個人的な疑問  正規化で画像の質がなぜコントロールできるのかわかってい ない  正規化する単位の違いでそんなにcontentとstyleの情報が変化する? (元画像) AdaLIN IN LN AdaIN GN

Slide 17

Slide 17 text

参考文献 1. ニューラルネットワークでStyle Transferを行う論文の紹 介  https://qiita.com/kidach1/items/0e7af5981e39955f33d6 2. Class activation mappingを用いたCNNの可視化  https://qiita.com/KDOG08/items/74ef0a342f100bf0c5d5

Slide 18

Slide 18 text

ご清聴ありがとうございました

Slide 19

Slide 19 text

ふろく: U-GAT-ITでselfie2animeをする

Slide 20

Slide 20 text

すぐに試したい方向け  有志の人がリリースしたWebApp版が存在  https://selfie2anime.com/  バックエンドにU-GAT-ITを使用している

Slide 21

Slide 21 text

公式リポジトリのclone  公式のTF版repoをclone  https://github.com/taki0112/UGATIT  readme.mdに記載されているselfie2anime datasetをダウンロード  readme.mdに記載されているpretrained modelをダウンロード  ※公式のPyTorch版repoもあるが、pretrained modelが提 供されていない  https://github.com/znxlwm/UGATIT-pytorch  pytorch版のissueにTFのモデルを公開している人もいてややこしい

Slide 22

Slide 22 text

データ  データセット  datasetディレクトリに配置  trainA,trainB,testA,testBというディレクトリ名は固定  testAにselfieを入れればいい  画像ファイル名の拡張子や名前は気にしなくていい  ※ selfie2anime datasetはanime側(trainB, testB)が jpgだが実態はpng  pretrained model  repoのルートに落としてきたzipファイルを展開  checkpointディレクトリができるはず  あとは何もいじらなくていい

Slide 23

Slide 23 text

推論  python main.py --dataset --phase test  repoルート下にresultsディレクトリができ、その中に変換 後のhtmlファイルと画像ができている

Slide 24

Slide 24 text

[備考] モデル学習  $ python main.py [opt] -–dataset  多分、GPUメモリが足りないはず  通常モデルの想定GPUスペックはV100 32GB  light版モデルへ変更  --lightオプションを追加  モデルの想定GPUスペックは1080Ti 11GB  それよりお手持ちのGPUメモリが少ない場合は、1層あた りのチャネルを削減する  ---ch オプションを追加  には64以下を設定