Upgrade to Pro — share decks privately, control downloads, hide ads and more …

【論文紹介】U-GAT-IT/u-gat-it

meow
November 21, 2019
220

 【論文紹介】U-GAT-IT/u-gat-it

2019年11月13日(水)にLPIXELさんの論文LT会#8で発表した資料です。selfie2animeの論文です。
LPIXELさんの論文LT会には、一度は発表者として参加したかったので、大変光栄でした。
https://lpixel.connpass.com/event/154432/

meow

November 21, 2019
Tweet

Transcript

  1. 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(木)
  2. 論文概要  画像変換タスクにおいて、輪郭が大きく変わるターゲット への変換を教師なしで獲得する手法の提案  手法の特徴 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
  3. 提案手法: 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.とかけたかったのだろうか)
  4. 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
  5. CAMライクな補助分類器(p.3) auxiliary classifier  補助分類器  入力された画像がsourceから来た確率を出力 する二値分類器  特徴マップのGlobal

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

    attentionを全結合層に流し、後段のAdaLINで使う アフィンパラメータγ、βを推定 ※図はsource→targetの例 (逆のネットワークも用意する)
  7. AdaLIN: Adaptive Layer-Instance Normalization  DecoderのRes BlockにおいてAdaLINレイヤーを挟む  処理内容: attention

    mapに対して、Instance Normalization(IN) とLayer Normalization(LN)の混合和を計算  IN: チャネル単位で正規化  LN: レイヤー(すべての特徴マップ)単位で正規化 (p.3)
  8. 実験(p.5)  比較手法  U-GAT-ITを含む5つの画像変換手法  データセット  selfie⇔animeを含む5つのデータセット 

    評価尺度  定性評価: ユーザーテスト(n=135)  変換前後の画像と、変換先のドメインのみを教え、 ベストだと思う画像を選んでもらう  定量評価: KID(Kernel Inception Distance)  FIDより信頼できるらしい(p.7; 5.3.4項)
  9. 公式リポジトリの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のモデルを公開している人もいてややこしい
  10. データ  データセット  datasetディレクトリに配置  trainA,trainB,testA,testBというディレクトリ名は固定  testAにselfieを入れればいい 

    画像ファイル名の拡張子や名前は気にしなくていい  ※ selfie2anime datasetはanime側(trainB, testB)が jpgだが実態はpng  pretrained model  repoのルートに落としてきたzipファイルを展開  checkpointディレクトリができるはず  あとは何もいじらなくていい
  11. [備考] モデル学習  $ python main.py [opt] -–dataset <dataset_name> 

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