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

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

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

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

Yoshihiro Kanamori

March 19, 2019
Tweet

More Decks by Yoshihiro Kanamori

Other Decks in Research

Transcript

  1. コンピュータ グラフィックスにおける 深層学習の応用 筑波大学 システム情報系 金森 由博 ([email protected]) 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