コンピュータグラフィックスにおける深層学習の応用

 コンピュータグラフィックスにおける深層学習の応用

電子情報通信学会の総合大会での招待講演のスライドです。
An invited talk (in Japanese) in a domestic conference in Japan. The theme is about applications of deep learning techniques in computer graphics.

Fc0225dd1bc875c739e0c6d636023a39?s=128

Yoshihiro Kanamori

March 19, 2019
Tweet

Transcript

  1. コンピュータ グラフィックスにおける 深層学習の応用 筑波大学 システム情報系 金森 由博 (kanamori@cs.tsukubai.ac.jp) 1

  2. 自己紹介 • 学生時代からコンピュータグラフィクス (CG) の研究に従事 • 学生時代 (~2009): (リアルタイム) 3DCG

    • 筑波大着任後 (2009~): 画像を入力とした CG • スイスに留学 (2014~2016): 手描きアニメ制作支援 • 研究テーマ • 写実的 CG、画像処理、コンピュータビジョン、 制作支援、深層学習 (deep learning) 2
  3. 計算幾何学とグラフィックス研究室 • 三谷純 教授 • 計算折り紙・曲面折り紙で有名 • 遠藤結城 助教 (現:

    豊橋技科大) • 元教え子、前職は NTT 研究員 • 深層学習が得意 → 金森にとっての師 3
  4. 想定する前提知識 • 深層学習についての教科書や解説記事に 書いてある程度の知識 • 例えば以下の詳しい説明はしません • 畳み込みニューラルネットワーク (CNN) •

    敵対的生成ネットワーク (GAN) 4
  5. CG と深層学習 (DEEP LEARNING) • 2016 年頃から流行? トップ国際会議 SIGGRAPH のタイトルWord

    Cloud 5
  6. CG と深層学習 (DEEP LEARNING) • 2016 年頃から流行? トップ国際会議 SIGGRAPH のタイトルWord

    Cloud 6
  7. CG と深層学習 (DEEP LEARNING) • 2018 年の様子 トップ国際会議 SIGGRAPH のタイトルWord

    Cloud 7
  8. CG と深層学習 (DEEP LEARNING) • CG コミュニティの (一部の?) 反応 •

    「一時のブームに過ぎない」 • 「ブラックボックスで信用できない」 • 既視感あり … GPGPU の登場時 • 「GPGPU なんて倍精度計算が使えない」 • 「CPU だって最適化すれば同等の速度」 → GPGPU は広く普及、GPU の使用はもはや普通 • やはり深層学習もツールとして広く普及 • 論文タイトルで深層学習に言及しないくらい普通 8
  9. CG と他分野との違い (私見) • 例: コンピュータビジョン (CV) との違い • CV

    分野 • 目標: 物理世界から正確な情報を取り出す • 同じ問題を新しい方法で解く…引用多、手法重視 • CG 分野 • 目標: とにかく美しい絵を作る • 新しい問題を解く…引用少、見栄え重視 (大変…) 画期的な手法 + イマイチな画像 → 微妙… 9 単純な手法 + 見栄えする画像 → 採択
  10. 余談: なぜ見栄えにこだわる? • 映像産業が「美しい絵作り」を求める • トップ会議 SIGGRAPH は CG の祭典

    • 技術だけでなく産業界やアートの展示も • 学会発表が「ショー」、エンタメとしての側面 10
  11. CG と他分野との違い (私見) • 例: コンピュータビジョン (CV) との違い • CV

    分野 • 目標: 物理世界から正確な情報を取り出す • 同じ問題を新しい方法で解く…引用多、手法重視 • CG 分野 • 目標: とにかく美しい絵を作る • 新しい問題を解く…引用少、見栄え重視 (大変…) 画期的な手法 + イマイチな画像 → 微妙… 11 単純な手法 + 見栄えする画像 → 採択
  12. 「深層学習」+「絵を作る」と言えば? • 敵対的生成ネットワーク (GAN) を使う? • 例: 最近 NVIDIA が公開して話題になった

    StyleGAN 12 A Style-Based Generator Architecture for Generative Adversarial Networks, arXiv 2019
  13. CG 分野での GAN の利用状況 • 教師なし (i.e., ノイズからの) 画像生成では 画質が不十分

    • CG 分野のドメイン知識が (少なくとも今は) 必須 ⇔ 機械学習系での貢献は「ドメイン知識不要」技術 • GAN の利用事例 (CG 分野に限らず?) • 画像など補助情報の入力 (conditional GAN) はほぼ必須 • 明確に定義しづらい「それらしさ」の再現 • 入力・出力の位置が揃った問題 (超解像、顔画像など) • 「学習が難しい」「再現できない」の声 13
  14. 参考: CONDITIONAL GAN (cGAN) • “pix2pix”: 画素ごとに入力画像で条件付け 14 Image-to-Image Translation

    with Conditional Adversarial Networks, CVPR 2017 (引用 1940!)
  15. GAN の利用事例 (1/5) • ラフなスケッチ入力からの地形編集 • cGAN を素直に使った例 … テーマ設定の妙

    15 Interactive Example Based Terrain Authoring with Conditional Adversarial Networks, SIGGRAPH Asia 2017
  16. GAN の利用事例 (2/5) • 煙の物理シミュレーションの超解像 • 時間的一貫性も考慮 16 tempoGAN: A

    Temporally Coherent, Volumetric GAN for Super-resolution Fluid Flow, SIGGRAPH 2018
  17. GAN の利用事例 (3/5) • 画像の欠損部分を「それらしく」補完 • 画像中にサンプルがなくても補完可能 (例: 顔の欠損) 17

    Globally and Locally Consistent Image Completion, SIGGRAPH 2017
  18. GAN の利用事例 (4/5) • さらに顔に特化+輪郭線のスケッチ入力 18 FaceShop: Deep Sketch-based Face

    Image Editing, SIGGRAPH Asia 2018
  19. GAN の利用事例 (5/5) • 「それらしい」ドット絵生成 • 入力・正解ペアが不要な CycleGAN がベース 19

    Deep Unsupervised Pixelization, SIGGRAPH Asia 2018
  20. 「再現できない (?)」事例 20

  21. 「再現できない (?)」事例 21 論文に掲載の結果画像

  22. CG 分野での深層学習の利用スタンス • 「汎用近似関数だが限界あり」 • あくまで「補間」、学習データの数は有限 • 使い所を見定め、美しい絵作りに利用 • 例

    1: 初期解として利用し、その後に洗練 • 例 2: 既存の処理パイプラインの一部の置き換え • 例 3: 部分問題に分解し、解の探索空間を狭める • 絵作りのためには泥臭い後処理も辞さない • 「end-to-end ではない」 • どこまで使えるか模索している最中 22
  23. ネットワークアーキテクチャ • 画期的なネットワークの提案は見かけない • U-Net (+ Residual block) やその亜種が多い •

    使いどころ・loss 関数の設計が肝 23 U-Net Residual block
  24. 使いどころの具体例 • 初期解として利用 • 髪の概形ボリュームをボクセルで生成→毛髪生成 • 線画の色塗りを 2 段階に •

    パイプラインの置き換え • 複雑&計算の重いグラフィクスパイプラインの置換 • 部分問題に分解して探索空間を狭める • 我々の研究 24
  25. 初期解として利用 • 入力画像から髪の概形ボリュームを生成 • 後処理でボリューム内に毛髪を生成 25 3D Hair Synthesis Using

    Volumetric Variational Autoencoders, SIGGRAPH Asia 2018 入力画像 髪の概形 生成した 3D 髪型 入力画像 髪の概形 生成した 3D 髪型
  26. 初期解として利用 • ユーザが 2 段階で入力して線画を色塗り • 既存手法でもユーザ入力 1 回だけでは失敗しがち •

    1 段階 (ドラフト) と 2 段階 (洗練) で別モデルを訓練 26 Two-stage Sketch Colorization, SIGGRAPH Asia 2018
  27. 余談: 線画の (半自動) 色塗り 27

  28. 余談: 線画の (半自動) 色塗り 28

  29. 余談: 線画の (半自動) 色塗り 29

  30. 余談: 線画の (半自動) 色塗り • CLIP STUDIO PAINT の全自動彩色 30

  31. グラフィクスパイプラインの置換 • Deferred shading の中間出力を入力とし 複雑なレンダリング処理を近似 31 Deep Shading: Convolutional

    Neural Networks for Screen Space Shading, EGSR 2017
  32. 参考: DEFERRED SHADING とは? • 「遅延シェーディング」 • 陰影計算が重い場合「陰影→可視判定」では非効率 • 先に可視面を特定し陰影計算…「可視判定→陰影」

    • 元のアイディアは日本人の考えた “G-buffer” (1990) 32 Comprehensible rendering of 3-D shapes, SIGGRAPH 1990
  33. 結果の例 33 Deep Shading: Convolutional Neural Networks for Screen Space

    Shading, EGSR 2017
  34. 雲の多重散乱の近似 • 雲の写実的描画には、雲内部の微粒子 による多重散乱の考慮が必要 … 高負荷 • 光が何度も散乱される現象をシミュレート • 多重散乱をニューラルネットで近似

    34 Deep Scattering: Rendering Atmospheric Clouds with Radiance-Predicting Neural Networks, SIGGRAPH 2017
  35. 雲の多重散乱の近似 35 Deep Scattering: Rendering Atmospheric Clouds with Radiance-Predicting Neural

    Networks, SIGGRAPH 2017
  36. 我々の研究紹介 • ユーザの画像編集操作の自動伝播 (Eurographics 2016) • 一枚の LDR 画像からの HDR

    復元 (SIGGARPH Asia 2017) • 一枚の人物画像の再照明 (SIGGRAPH Asia 2018) • 一枚の景観画像からの動画生成 (Under review) 36
  37. 我々の研究紹介 • ユーザの画像編集操作の自動伝播 (Eurographics 2016) • 一枚の LDR 画像からの HDR

    復元 (SIGGARPH Asia 2017) • 一枚の人物画像の再照明 (SIGGRAPH Asia 2018) • 一枚の景観画像からの動画生成 (Under review) 37
  38. ユーザの画像編集操作の自動伝播 • 例: カラー画像の色の編集 38 DeepProp: Extracting Deep Features from

    a Single Image for Edit Propagation, Eurographics 2016 オレンジ色に 青色に そのままの色に 入力画像とユーザ入力 (スクリブル) 色の編集結果
  39. 編集の伝播 → 画素の分類問題 • ユーザ入力に基づいて画素を分類する 写像 f を求める 39 :

    → - Class “orange” - Class “blue” - Class “unchanged” Color Coordinate (200, 20) Texture 画像特徴量 分類クラス
  40. 既存手法 (深層学習なし) の問題点 • 特徴量選択は手動調整、失敗が多い 40 色特徴のみ使用 色と座標の重みを同等に [Li+10] 意図しない色

    色にじみ 色、座標、テクスチャの重みを変えて試行錯誤 [Xu+13] 伝播に不具合
  41. 提案手法 (DeepProp) • 編集伝播に初めて深層学習を適用 • 特徴量選択は自動 • 事前学習なし、入力画像とユーザ入力のみから学習 41 入力画像&ユーザ入力

    学習&推定 DNN 出力画像
  42. 既存手法との比較・二値マスク抽出 42 入力 正解 [Li+10] [Xu+13] 提案手法

  43. 既存手法との比較・色の編集 43 入力 提案手法 [Xu+13] [Li+10] 色と座標を同じ重みに テクスチャ特徴を追加

  44. 既存手法との比較・白黒画像への着色 44 入力 提案手法 [Xu+13] [Li+10] 色、座標、テクスチャの重みを試行錯誤

  45. 後続の研究: 白黒画像の全自動彩色 45 Let there be Color!: Joint End-to-end Learning

    of Global and Local Image Priors for Automatic Image Colorization with Simultaneous Classification, SIGGRAPH 2016
  46. 後続の研究: 白黒画像の半自動彩色 • ユーザ入力を考慮した半自動彩色 • ユーザの好みに応じて色付けできる 46 Real-Time User-Guided Image

    Colorization with Learned Deep Priors, SIGGRAPH 2017 入力画像 ユーザ入力 出力例 1 出力例 2 出力例 3
  47. 我々の研究紹介 • ユーザの画像編集操作の自動伝播 (Eurographics 2016) • 一枚の LDR 画像からの HDR

    復元 (SIGGARPH Asia 2017) • 一枚の人物画像の再照明 (SIGGRAPH Asia 2018) • 一枚の景観画像からの動画生成 (Under review) 47
  48. 一枚の LDR 画像からの HDR 復元 • HDR 復元の問題に初めて深層学習を適用 48 Deep

    Reverse Tone Mapping, SIGGRAPH Asia 2017 LDR HDR (Tone mapped)
  49. LDR 画像の問題点 • 記録できる光量の幅が狭い (8 bit) /2 カメラの露光量 LDR LDR

    LDR 白飛び 黒つぶれ
  50. HDR 画像 • 記録できる光量の幅が広い (16 or 32 bit) HDR (Tone

    mapped) /2 カメラの露光量 ただし従来は… • 露光量を変えて 複数枚撮影して合成 • 特殊な機材で撮影
  51. LDR

  52. LDR 露光不足の画素を赤・マゼンタで可視化 赤: 3 チャンネルともゼロ マゼンタ: 3 チャンネルのうち少なくとも 1 つがゼロ

  53. LDR Adobe Photoshop を使って無理矢理明るくした結果

  54. Our HDR (tone mapped)

  55. 最初に試した方法 • “pix2pix” (cGAN) ならできるのでは? • 試しに訓練・正解画像 1 枚で実験 •

    うまく復元できず… • 8 ビットの入力のバリエーションに対して 32 ビットの出力のバリエーションが広すぎる? 55 Encoder Decoder 畳み込み ニューラルネット 8 ビット LDR 画像 32 ビット HDR 画像
  56. 提案手法のキーアイディア • 推定対象のバリエーションを減らす 1. 直接 HDR 画像を推定せず、露光量を 変えた複数枚の LDR 画像を推定

    2. 複数枚の LDR 画像から既存手法で HDR 復元 56 Encoder Decoder Fully CNN LDR LDR LDR [Devebec+97] [Mertens+07] etc. HDR (Tone mapped)
  57. 既存手法との比較 57 [Akyüz+07] [Huo+14] [Kovaleski+14] [Masia+15] Ours Input LDR

  58. 既存手法との比較 58 [Akyüz+07] [Huo+14] [Kovaleski+14] [Masia+15] Ours Input LDR Saturated

  59. 同時発表の研究 • SIGGRAPH Asia 2017 で我々の直前に発表 • 我々の査読者のコメントの内容と酷似… • 暗い領域は放置、小さな明るい領域に特化

    59
  60. 同時発表の研究・比較 • 明るい画素の扱いでは負ける 60 Ours [Eilertsen+17] Input LDR (-3 stops)

  61. 同時発表の研究・比較 • 空の復元では我々の方が良好? 61 Ours [Eilertsen+17] Saturated Input LDR

  62. 我々の研究紹介 • ユーザの画像編集操作の自動伝播 (Eurographics 2016) • 一枚の LDR 画像からの HDR

    復元 (SIGGARPH Asia 2017) • 一枚の人物画像の再照明 (SIGGRAPH Asia 2018) • 一枚の景観画像からの動画生成 (Under review) 62
  63. 一枚の人物画像の再照明 • 再照明 (relighting) • ある照明環境下で撮影された対象物が 異なる照明環境下でどう見えるかを再現する技術 • 人物画像の再照明 •

    様々な応用あり 63 Relighting Humans: Occlusion-Aware Inverse Rendering for Full-Body Human Images, SIGGRAPH Asia 2018 ポートレートの陰影付け [Chai+ 2015] 人物画像の切り貼り合成 [Xue+ 2012]
  64. 一枚の人物画像の再照明 • 人物の全身画像を対象とした初の手法 64 人物画像 (+ マスク) 再計算 (色なし) 再計算

    (色あり) 光源
  65. 一枚の人物画像の再照明 • 画像から 形状・反射率・光源 の推定が 必要 (逆レンダリング) 65 人物画像 (+

    マスク) 光伝達マップ 反射率マップ 光源
  66. 既存手法の問題点 • 人物を対象にした手法 • 主に顔領域のみを対象 • 顔は凸形状だと近似 • 一般物体対象の手法 •

    凹みで光が遮られる現象を 無視 or 粗く近似 66 [Sengupta+ 2018] [Tewari+ 2017] [Barron and Malik 2015] [Innamorati+ 2017]
  67. 光の遮蔽の定式化の違い • 顔画像の手法 • 凸形状なので 遮蔽を無視 • 遮蔽を粗く近似 • 凹んでいたら

    一様に暗く • 提案手法 • どの方向が遮蔽 されるかまで考慮 67 光 光 光 光 光 物体表面の凹み • 本来なら遮られる光が届く • 顔ならほぼ凸なので OK • 凹み (例: 脇・股・服のしわ) が不自然に明るくなる • 遮られるはずの光が届く • 凹みは常に暗くなり不自然 • 遮られる光は届かなくなる • 凹みは暗くも明るくもなる
  68. 本研究のもう一つの貢献 • 人物 3D モデルを使ったデータセット • 主に市販の 3D スキャンデータを描画して作成 68

    反射率 マスク 法線 光伝達 反射率 マスク 法線 光伝達
  69. 既存手法との比較 69 遮蔽無視 一様に暗く 提案手法 正解 入力

  70. 既存手法との比較 70 遮蔽無視 一様に暗く 提案手法 正解 入力 ×レリーフのように平坦

  71. 既存手法との比較 71 遮蔽無視 一様に暗く 提案手法 正解 入力 ×不自然に暗い

  72. 既存手法との比較 72 遮蔽無視 一様に暗く 提案手法 正解 入力 一番正解に近い

  73. 再照明アニメーション 73

  74. 我々の研究紹介 • ユーザの画像編集操作の自動伝播 (Eurographics 2016) • 一枚の LDR 画像からの HDR

    復元 (SIGGARPH Asia 2017) • 一枚の人物画像の再照明 (SIGGRAPH Asia 2018) • 一枚の景観画像からの動画生成 (Under review) … 非公開 74
  75. まとめ: CG 分野での利用スタンス • 「汎用近似関数だが限界あり」 • あくまで「補間」、学習データの数は有限 • 使い所を見定め、美しい絵作りに利用 •

    例 1: 初期解として利用し、その後に洗練 • 例 2: 既存の処理パイプラインの一部の置き換え • 例 3: 部分問題に分解し、解の探索空間を狭める • 絵作りのためには泥臭い後処理も辞さない • どこまで使えるか模索している最中 75
  76. CG と深層学習の今後についての雑感 • CG 分野でも今後も使われる強力な道具 • 一過性のブームではない、学ばないと取り残される • 新しい CG

    技術を開拓できる余地が大きい • 成熟した分野の閉塞感を打破、新規参入者に好機 • … CG 分野の存在感が薄れつつある • 機械学習やコンピュータビジョンのインパクト大 • 国際的競争のために教育が急務 • 日本では卒研配属後に独習、海外では授業で演習 • 資金が必要 … 研究・教育の環境整備 76