もう半年前のことですが、昨年12月に東京国際フォーラムで開催されたSiggraph Asia 2018 Tokyoで聴講したCourse CreativeAI:Deep Learning for Graphicsの復習を(今頃)しておこうかと。
「CGのためのディープラーニング」とか「CGに使えるディープラーニング」という趣旨でしょうか。
途中休憩を挟んだとはいえ、3時間を超えるセッションは結構しんどくもあり、すぐに咀嚼できなかったのである。
幸い、Courseの資料はWebで公開されている↓
CreativeAI:Deep Learning for Graphics
近年、古くからコンピューターグラフィックス分野で課題とされてきたことの多くが、データドリブンな手法 ディープラーニングの登場によって上手く扱えるようになってきた。deep networkは様々な課題設定で利用され、従来のハンドクラフトな手法に圧倒的な差をつけてstate-of-the-artを達成している。
本チュートリアルでは、ディープラーニングの理論、実践、そしてグラフィックス分野へ応用事例を解説する。
いつのまにやらページが更新されていた。このCourseはSiggraph Asia 2018だけでなく、Eurographics 2018でもやってたんですね。
そして、どうやら今年の夏のSiggraph 2019でもこのCourseが設けられるらしい。CG分野でもディープラーニングの注目度はかなり高いようだ。
Courseのサンプルコード(Jupyter)も公開されている↓
https://github.com/smartgeometry-ucl/dl4g
とりあえず、Siggraph Asia 2018で使われた資料で復習していこう。
すでに機械学習やニューラルネットワーク、識別モデル(Discriminative Model)の基本的な知識があるなら、Part 1〜4は読み飛ばして、教師なし学習、生成モデル(Generative Model)についてのPart 5ぐらいから読み始めれば良い。
というか、オイラ自身がまだ教師なし学習や生成モデルについてあんまりよく知らないのである。
http://kento1109.hatenablog.com/entry/2018/01/10/111249
今のところ生成モデルについては
あるドメインの確率分布を学習した生成モデルに任意のパラメータを与えると、必ずそのドメインに収まる生成結果が出力される。
というレンダラのような存在と理解している。
GANの勉強しようと思ってたけど、Autoencoderからちゃんと見て行った方が良さそうだ。
- Autoencoder
- VAE:Variational Autoencoder
- GAN:Generative Adversarial Networks
Part 6で紹介されているように、生成モデルのグラフィックスへの応用は画像がかなり先行している。これはディープラーニングの識別モデルで画像を扱う研究が盛んな恩恵か。畳み込みニューラルネットワークが大活躍。
Part 7では、CG分野で使われる3Dデータをニューラルネットワークで扱えるベクトルの形に落とし込んで畳み込むための様々な工夫が紹介されている。
最近、GitHubで3Dのデータを扱った機械学習手法をまとめているリポジトリの存在を知った↓
https://github.com/timzhang642/3D-Machine-Learning
Part 8ではモーションのパラメータを少ない次元に圧縮して表現したり、粗い流体シミュレーションを超解像化したり。
そういえば、流体シミュレーションを機械学習で近似して高速化するアプローチもありましたね↓


う〜ん、復習しようにも案外スライドに載っている情報は少なかったな…
このCourseでは触れられてなかったけど、CGレンダリングの各プロセスを微分可能にするアプローチはどういうジャンルなんだろう。

Neural 3D Mesh Rendererが有名だけど。
https://qiita.com/no_more_syakai/items/f1358e33e8376ae1766d
http://ai-scholar.tech/treatise/renderer-ai-215/
とりあえずPyTorch実装を読んでみるか?
https://github.com/daniilidis-group/neural_renderer
CGのためのディープラーニングについて、もうちょっと詳しい情報がないかと探していたら、電子情報通信学会の総合大会で筑波大学の金森先生が講演したスライドが公開されていた↓
CG分野は人間が手作業で多次元のパラメータを編集していると考えると狂気の世界だけど、CGって従来そういう人達が牽引してきた産業なのよね。
パラメータをいじってはレンダリング結果を確かめる試行錯誤って、機械学習と似ている気もする。
追記:とりあえずGANについて勉強し始めた↓

2020年6月 追記:Hands-on Workshop Machine Learning and Neural Networksの動画が公開されたぞ↓
関連記事
顔追跡による擬似3D表示『Dynamic Perspecti...
ManimML:機械学習の概念を視覚的に説明するためのライブ...
ラクガキの立体化 3Dプリント注文
hloc:SuperGlueで精度を向上させたSfM・Vis...
1枚の画像からマテリアルを作成できる無料ツール『Materi...
CGレンダラ研究開発のためのフレームワーク『Lightmet...
オープンソースのテクスチャマッピングシステム『Ptex』
GoogleのDeep Learning論文
Leap MotionでMaya上のオブジェクトを操作できる...
ZBrushのZmodelerとDynamic Subdiv...
ZBrushでアヴァン・ガメラを作ってみる 全体のバランス調...
WebGL開発に関する情報が充実してきている
日本でMakersは普及するだろうか?
ZBrushでアヴァン・ガメラを作ってみる 下アゴの付け根を...
PyDataTokyo主催のDeep Learning勉強会
Blender 2.81でIntel Open Image ...
OpenCVでiPhone6sのカメラをキャリブレーションす...
書籍『3次元コンピュータビジョン計算ハンドブック』を購入
SSII 2014 デモンストレーションセッションのダイジェ...
ゴジラの造形
Structure from Motion (多視点画像から...
ZBrushのハードサーフェイス用ブラシ
『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン ...
Blender 4.2以降のWindowsPortable版...
ZBrushで仮面ライダー3号を造る 仮面編 Clay Po...
OpenMayaのPhongShaderクラス
Multi-View Environment:複数画像から3...
clearcoat Shader
SIGGRAPH Asia
書籍『仕事ではじめる機械学習』を読みました
Photo Bash:複数の写真を組み合わせて1枚のイラスト...
ZBrush 2021.6のMesh from Mask機能...
中学3年生が制作した短編映像作品『2045』
オープンソースの物理ベースレンダラ『Mitsuba』をMay...
Kinect for Windows V2のプレオーダー開始
CGALDotNet:計算幾何学ライブラリ CGALのC#ラ...
Unity ARKitプラグインサンプルのチュートリアルを読...
ZBrushの練習 手のモデリング
CGWORLD CHANNEL 第21回ニコ生配信は『シン・...
Transformers ”Reference & Buli...
MFnMeshクラスのsplit関数
Digital Emily Project:人間の顔をそっく...


コメント