CEDEC2021

3DCG住宅プレゼンテーションのグローバルイルミネーションを
ディープラーニングで推定！
シリコンスタジオ株式会社
研究開発室
京田 文人

2021/8/26©Silicon Studio Corp., all rights reserved.

はじめに
• 講演者
– 京田 文人– シリコンスタジオ株式会社• 2012年入社• 研究開発室所属• リアルタイムレンダリングエンジンの研究開発に従事• 本講演について– 写真撮影OK– SNS投稿OK– 資料は後日公開予定©Silicon Studio Corp., all rights reserved.

2

講演内容
• ディープラーニングの基礎知識• 住宅プレゼンテーションシステム• ニューラルネットワークの学習
• 結果
• まとめ

©Silicon Studio Corp., all rights reserved.

3

講演内容
• ディープラーニングの基礎知識– ディープラーニングとは– ディープラーニングとCG– 弊社でのディープラーニングの取り組み• 住宅プレゼンテーションシステム• ニューラルネットワークの学習
• 結果

• まとめ

©Silicon Studio Corp., all rights reserved.

4

ディープラーニングとは• AI（人工知能）– （SFの中では）感情を持ち、何をしたいか、そのために何をすればいいか、などすべて自律的に考えられる知能を持った存在– 人間が行っている判断に似たものをコンピュータに行わせる技術
AI（人工知能）
機械学習
ニューラルネットワーク

ディープラーニング©Silicon Studio Corp., all rights reserved.

5

ディープラーニングとは• 機械学習– 学習（データを用いて内部モデルを修正し、よりよい結果が得られるよ
うにすること）を機械に行わせる• 教師あり学習– 入力データから正解（教師データ）に近いものを出力できるようにする• 教師なし学習

例：文字認識（入力：画像、出力：文字）– 入力データの特徴やパターンを把握する• 強化学習例：クラスタリング（似たものをグループ化）– 出力結果を評価して、より高い評価になる結果を出力できるようにする

例：二足歩行ロボットの制御（どれだけ転ばずに進めたか）©Silicon Studio Corp., all rights reserved.

6

ディープラーニングとは• 機械学習
入力

内部モデル

出力

評価

評価が高くなるように内部モデルを修正©Silicon Studio Corp., all rights reserved.

7

ディープラーニングとは• 教師あり学習（文字認識）

あいうえお
56789
教師データ
あいうえす,
56184

入力
画像

内部モデル

出力

正解との一致率
評価

文字列

あいうえす,
56184

評価が高くなるように内部モデルを修正©Silicon Studio Corp., all rights reserved.

8

ディープラーニングとは• 教師なし学習（クラスタリング）

入力

データ群

内部モデル

出力

評価

分類結果

• 同一グループ内での最大距離• 別グループ間での最小距離評価が高くなるように内部モデルを修正©Silicon Studio Corp., all rights reserved.

9

ディープラーニングとは• 強化学習（二足歩行ロボットの制御）
物理法則で次の姿勢が決まる
外部モデル

入力
現在のロボットの姿勢

内部モデル

どれだけ転ばず
に進めたか
出力

評価

各関節のトルク

評価が高くなるように内部モデルを修正©Silicon Studio Corp., all rights reserved.

10

ディープラーニングとは• ニューラルネットワーク– 生物の脳の構造をモデル化– 入力値の合計に応じて出力を出す神経細胞（ニューロン）をつなげてネットワークを構成– 学習によってニューロン間の結合の重みを修正

入力層©Silicon Studio Corp., all rights reserved.

中間層

出力層
11

ディープラーニングとは• ディープラーニング– ニューラルネットワークの中間層を多重に– （何層以上という決まりは特にない）– 従来は人間が設計していた特徴量の定義も学習対象とした[1] Quoc et al., “Building High-level Features Using
Large Scale Unsupervised Learning”, 2012[2] https://www.tdse.jp/service/analytics/deep_learning/©Silicon Studio Corp., all rights reserved.

12

ディープラーニングとは• 人間が行っている判断に似たものをコンピュータに行わせるため、データを用いて機械で学習• 内部モデルはニューラルネットワーク• 特徴抽出も学習するので、入出力のデータのみ用意すればよい
AI（人工知能）
機械学習
ニューラルネットワーク

ディープラーニング©Silicon Studio Corp., all rights reserved.

13

ディープラーニングとCG• フォトリアルなCG– シチュエーション（入力）に応じて自然な画像（出力）を生成– 物理ベースレンダリング(PBR)• レイトレーシングなどを用いた正確なライティング計算、BRDFや表面下散乱などの正確な反射モデル、大気散乱、カメラの光学シミュ
レーション– なぜ正確な計算が必要か• 人間は生まれてから成長の過程で、肉眼で風景を見たり、実写映像を観たりして、何が映っているかを判断できるように学習してきた• そのため、学習データの特徴から外れた画像を見ると、不自然だと気付いてしまう©Silicon Studio Corp., all rights reserved.

14

ディープラーニングとCG• ディープラーニングによるCG– 人間が見てきた学習データ（実写映像）に近い特徴を持った画像さえ生成できれば、必ずしも正確な物理計算は必要でない– 学習データ（実写や正確に物理計算したCG）から特徴を学習し、シチュエーション（入力）に応じて自然な画像（出力）を生成☞まさにディープラーニングの出番！

©Silicon Studio Corp., all rights reserved.

15

ディープラーニングとCG•

ディープラーニングに向いてない– 既に十分リアルな表現が可能• 比較的単純なマテリアル– 出力の幅が広すぎる• 鏡面反射©Silicon Studio Corp., all rights reserved.

16

ディープラーニングとCG•

ディープラーニングに向いてない– 既に十分リアルな表現が可能• 比較的単純なマテリアル– 出力の幅が広すぎる• 鏡面反射•ディープラーニングに向いている– リアルな表現が困難、かつ、出力が割と似通っている• 人間の顔– PBRだと毛穴や皺など細部までアセットを作りこむ必要がある– 基本的な顔の構造は共通• グローバルイルミネーション– レイトレーシングでは多数のサンプルが必要– 人間が想像するそれっぽい特徴は限定的• 超解像、デノイズ– 計算コストが高い– 入力によって出力が決まる©Silicon Studio Corp., all rights reserved.

17弊社でのディープラーニングの取り組み•

人間の顔– 顔を直接リアルタイムにレンダリング– 人間の顔の構造は共通なので、各部位にそれぞれ特化したニューラル
ネットワークを使い分けることで効率化を図る（ハッシュ分業アプ
CEDEC 2020で講演[1]ローチ）•グローバルイルミネーション– ライトプローブ• 直接光のみのライティングから間接光を推定– AO• 深度と法線からAOをリアルタイムに推定[2]• 今後、デノイズ、超解像などに応用する予定[1] Heltzberg, “エンド・トゥ・エンドAI描画に至る道- 高度構造化入力のためのニューラルネットワーク構成やインフラの検討 –”, CEDEC2020©Silicon Studio Corp., all rights reserved.

[2] Zhang et al., “DeepAO: Efficient Screen Space
Ambient Occlusion Generation via Deep Network”, 2020
18

講演内容
• ディープラーニングの基礎知識• 住宅プレゼンテーションシステム– 住宅プレゼンテーションシステムの紹介– ライトプローブによるグローバルイルミネーション– ディープラーニングの適用方法• ニューラルネットワークの学習
• 結果

• まとめ

©Silicon Studio Corp., all rights reserved.

19

住宅プレゼンテーションシステム• 注文住宅– 建売と異なり、現物はまだ存在しない– 見取り図だけではイメージしにくい• プレゼンテーションシステム– 住宅の外観や室内がどのような見た目になるかをCGで表示– VRでのウォークスルーも可能– 建材の種類や家具の配置をリアルタイ
ムに変更可能– 部屋の明るさなどリアルに再現©Silicon Studio Corp., all rights reserved.

20住友林業様との取り組みについて• 2018年より住友林業様の内製3DCG住宅プレゼンテーションシステ
ム（Photoreal 3D）のレンダラーにMizuchiが採用されている• Mizuchiのライセンスだけではなく、共同でシステムの開発・保守業
務も継続的に行っている©Silicon Studio Corp., all rights reserved.

21

レンダリングエンジン”Mizuchi”•

弊社開発の物理ベースレンダリングエンジン– リアルタイムレンダリング
•

VR対応

•

HDR対応

– 多様なマテリアルの質感表現•

金属、人肌、屈折ガラス、塗装、etc.

– マルチプラットフォーム対応•

Nintendo Switch™、PlayStation®4、STADIA、Linux（OpenGL）•

Windows（DirectX 11/12、OpenGL、Vulkan）、•Android（OpenGL ES3、Vulkan）、iOS（OpenGL ES3、Vulkan）– Yebisによるポストエフェクト– Enlightenによるグローバルイルミネーション•

CEDECでも多数講演–

シリコンスタジオの最新テクノロジーデモ技術解説(2014)–

物理ベース時代のライトマップベイク奮闘記(2015)–

シリコンスタジオによるHDR出力対応の理論と実践(2016)–

実践的なHDR出力対応 ～レンダリングパイプラインの構築～(CEDEC+KYUSHU2017)–

物理ベース？アート指向？～尤もらしさと自由度を両立するレンズフレア表現～(2019)–

シリコンスタジオで開発中の Mizuchi for DCC Tool について(2019)https://www.siliconstudio.co.jp/rd/presentations/©Silicon Studio Corp., all rights reserved.

22

Mizuchi搭載の実施例• レンダリング部分をMizuchiに置き換え• 材質ライブラリをPBR対応

変更

なし

変更度合い

低

中

高

既存リアルタイム３DCGアプリ
各種機能

既存図面アプリ

描画に関係する機能

図面

(2D)

3D変換

CAD
(3D)

材質引き当て描画に関係ない機能

データ変換

描画エンジン（PBR材質に対応）

Mizuchiに置き換え
部品引き当て+配置情報

データ入出力機能

既存フレームワーク
他社様作業範囲©Silicon Studio Corp., all rights reserved.

既存材質データ
ライブラリ

既存部品データ
ライブラリ(適用材質のPBR対応)

弊社作業範囲23

Mizuchi搭載後の比較• 新旧比較

旧レンダリングエンジンでレンダリングされた室内イメージ©Silicon Studio Corp., all rights reserved.

『Mizuchi』でレンダリングされた新型3DCADシステムによる施工イメージ24

旧レンダリングエンジンで描画したイメージ©Silicon Studio Corp., all rights reserved.

25

Mizuchiで描画したイメージ©Silicon Studio Corp., all rights reserved.

26ライトプローブによるグローバルイルミネーション• Mizuchiの新機能として開発– 住宅のCADデータから3Dモデルに変換してそのまま表示• ゲームなどと異なり、シーン毎の調整はできない• ライトマップのベイクでは時間がかかりすぎる• EnlightenはUIも含めての統合が困難– ライトプローブ• 位置と少数のパラメータで制御できる• ベイク時間は数十秒～数分程度• バックグラウンドベイク機能を実装– 起動時は少数のプローブによって表示– バックグラウンドで他のプローブをベイク– ベイクが完了したら画面に適用する©Silicon Studio Corp., all rights reserved.

27ライトプローブの自動配置• CADデータからルールベースで自動配置• 例（実際のものとは異なる）– 各部屋の四隅と中央に配置• 閾値以上の広い部屋では、照明器具の下にも追加• 逆に狭い部屋は中央のみ– 外観用は、建物の角をはさむように配置– 入隅など暗がりができる場所にも追加• 詳細は企業秘密©Silicon Studio Corp., all rights reserved.

28ライトプローブの自動配置• CADデータからルールベースで自動配置• 例（実際のものとは異なる）– 各部屋の四隅と中央に配置• 閾値以上の広い部屋では、照明器具の下にも追加• 逆に狭い部屋は中央のみ– 外観用は、建物の角をはさむように配置– 入隅など暗がりができる場所にも追加• 詳細は企業秘密©Silicon Studio Corp., all rights reserved.

29ライトプローブの自動配置• CADデータからルールベースで自動配置• 例（実際のものとは異なる）– 各部屋の四隅と中央に配置• 閾値以上の広い部屋では、照明器具の下にも追加• 逆に狭い部屋は中央のみ– 外観用は、建物の角をはさむように配置– 入隅など暗がりができる場所にも追加• 詳細は企業秘密©Silicon Studio Corp., all rights reserved.

30ライトプローブの自動配置• CADデータからルールベースで自動配置• 例（実際のものとは異なる）– 各部屋の四隅と中央に配置• 閾値以上の広い部屋では、照明器具の下にも追加• 逆に狭い部屋は中央のみ– 外観用は、建物の角をはさむように配置– 入隅など暗がりができる場所にも追加• 詳細は企業秘密©Silicon Studio Corp., all rights reserved.

31ライトプローブのベイク
1.

ライトプローブの位置で撮影– 6方向をレンダリング– ライティングは直接光とスカイマップのみ– キューブマップに保存

2.

キューブマップをSH(球面調和関数）で近似

3.

全ライトプローブのSH係数をシーンにセット

4.

ライトプローブの位置で再撮影– SH係数を用いて間接光をライティング

5.

キューブマップをSH(球面調和関数）で近似

6.

全ライトプローブのSH係数をシーンにセット

7.

ステップ4~6を繰り返す©Silicon Studio Corp., all rights reserved.

32ライトプローブのベイク
1.

ライトプローブの位置で撮影– 6方向をレンダリング– ライティングは直接光とスカイマップのみ– キューブマップに保存

2.

キューブマップをSH(球面調和関数）で近似

3.

全ライトプローブのSH係数をシーンにセット

4.

ライトプローブの位置で再撮影– SH係数を用いて間接光をライティング

5.

キューブマップをSH(球面調和関数）で近似

6.

全ライトプローブのSH係数をシーンにセット

7.

ステップ4~6を繰り返す©Silicon Studio Corp., all rights reserved.

33

ディープラーニングの適用方法
1.

ライトプローブの位置で撮影– 6方向をレンダリング– ライティングは直接光とスカイマップのみ– キューブマップに保存

2.

ディープラーニングで間接光を含めたライティング結果を推定

3.

キューブマップをSH(球面調和関数）で近似

4.

全ライトプローブのSH係数をシーンにセット

複数回の撮影が不要になり、ベイク時間が短縮される©Silicon Studio Corp., all rights reserved.

34

講演内容
• ディープラーニングの基礎知識• 住宅プレゼンテーションシステム• ニューラルネットワークの学習– 学習データの収集方法– ニューラルネットワークの構築– 住宅プレゼンテーションシステムへの組み込み

• 結果

• まとめ

©Silicon Studio Corp., all rights reserved.

35学習データの収集方法• 建物データの準備– 学習用 100件
– テスト用 10件• 日時– 太陽方向が変化• 100パターン– 背景スカイマップも変化• 昼/夕方/夜• 単色– プローブの位置も変動©Silicon Studio Corp., all rights reserved.

36

収集データ• 入力データ– 初回（直接光のみ）のレンダリング結果• R11G11B10– 法線• R16G16

– 深度
• R32

– アルベド（ベースカラー）• R8G8B8• 教師データ– 3回目（間接光含む）のレンダリング結果• R11G11B10©Silicon Studio Corp., all rights reserved.

37

収集データ量• 学習用– 建物100件 x 50~250プローブ/件 x 100パターン– Total : 1,371,710• Training : 1,369,710• Validation : 2,000• テスト用– 建物10件 x 100~250プローブ/件 x 100パターン– 206,877©Silicon Studio Corp., all rights reserved.

38

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル– 活性化関数– プーリング層©Silicon Studio Corp., all rights reserved.

39ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル• 入力画像の周囲のピクセルに畳み込
みフィルタを掛けて合計する©Silicon Studio Corp., all rights reserved.

40

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル• 入力画像の周囲のピクセルに畳み込
みフィルタを掛けて合計する©Silicon Studio Corp., all rights reserved.

41

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル• 入力画像の周囲のピクセルに畳み込
みフィルタを掛けて合計する©Silicon Studio Corp., all rights reserved.

42ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル• 入力画像の周囲のピクセルに畳み込
みフィルタを掛けて合計する• 入力画像に余白(0)を追加して、画像サイズが変わらないようにすることもある©Silicon Studio Corp., all rights reserved.

43

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル• 入力画像の周囲のピクセルに畳み込
みフィルタを掛けて合計する• 入力画像に余白(0)を追加して、画像サイズが変わらないようにすることもある• 入力が複数チャンネルの場合、フィルタが3次元になる©Silicon Studio Corp., all rights reserved.

44ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル• 入力画像の周囲のピクセルに畳み込
みフィルタを掛けて合計する• 入力画像に余白(0)を追加して、画像サイズが変わらないようにすることもある• 入力が複数チャンネルの場合、フィルタが3次元になる©Silicon Studio Corp., all rights reserved.

45

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル• 入力画像の周囲のピクセルに畳み込
みフィルタを掛けて合計する• 入力画像に余白(0)を追加して、画像サイズが変わらないようにすることもある• 入力が複数チャンネルの場合、フィルタが3次元になる• フィルタを複数にすれば、出力が複数チャンネルになる©Silicon Studio Corp., all rights reserved.

46

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル– 活性化関数• 畳み込み後の値に適用する非線形のスカラー関数– 非線形であることで、複雑な振る舞いを学習できる

https://data-analysis-stats.jp/©Silicon Studio Corp., all rights reserved.

47

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル– 活性化関数• 畳み込み後の値に適用する非線形のスカラー関数– 非線形であることで、複雑な振る舞いを学習できる• ReLU (Rectified Linear Unit)– 0以上ならそのまま– 負の数なら0にする– 負の数のとき、入力が完全に無視され、勾配が0

https://data-analysis-stats.jp/©Silicon Studio Corp., all rights reserved.

48

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル– 活性化関数• 畳み込み後の値に適用する非線形のスカラー関数– 非線形であることで、複雑な振る舞いを学習できる• ReLU (Rectified Linear Unit)– 0以上ならそのまま– 負の数なら0にする– 負の数のとき、入力が完全に無視され、勾配が0
勾配消失問題

出力の評価をより高くするために
内部パラメータをどっちに動かせばいいかわからない
https://data-analysis-stats.jp/©Silicon Studio Corp., all rights reserved.

49

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル– 活性化関数• 畳み込み後の値に適用する非線形のスカラー関数– 非線形であることで、複雑な振る舞いを学習できる• ReLU (Rectified Linear Unit)• Leaky ReLU
– 0以上ならそのまま– 負の数ならαをかける– 負の数でも入力が反映され、勾配がある

https://data-analysis-stats.jp/©Silicon Studio Corp., all rights reserved.

50

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル– 活性化関数• 畳み込み後の値に適用する非線形のスカラー関数– 非線形であることで、複雑な振る舞いを学習できる• ReLU (Rectified Linear Unit)• Leaky ReLU
• Sigmoid / tanh
– 0～1または-1～+1に正規化される– 変化が滑らか– 絶対値が大きいときに勾配がほぼ0なので勾配消失問題が起こる– 収束が遅いhttps://data-analysis-stats.jp/©Silicon Studio Corp., all rights reserved.

51

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル– 活性化関数– プーリング層• 画像を縮小する操作

https://github.com/tuanavu/Stanford-CS231/blob/master/lectures/winter1516_lecture7.pdf©Silicon Studio Corp., all rights reserved.

52

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル– 活性化関数– プーリング層• 画像を縮小する操作• Max pooling– 範囲内の最大値を用いる• Average pooling– 範囲内の平均値を用いる

https://github.com/tuanavu/Stanford-CS231/blob/master/lectures/winter1516_lecture7.pdf©Silicon Studio Corp., all rights reserved.

53

ニューラルネットワークの基本構造• 畳み込みニューラルネットワーク(Convolutional Neural Network)– 畳み込みカーネル– 活性化関数– プーリング層

https://github.com/tuanavu/Stanford-CS231/blob/master/lectures/winter1516_lecture7.pdf©Silicon Studio Corp., all rights reserved.

54ニューラルネットワークの構築• 基本構造はU-Net[1]– 段階的に画像を縮小して情報を抽出– 再度拡大して出力画像を生成– スキップコネクションあり• 縮小前のデータを参照• 縮小によって失われた細部の情報を補うことができる[1] Ronneberger et al., “U-Net: Convolutional Networks
for Biomedical Image Segmentation”, 2015
©Silicon Studio Corp., all rights reserved.

55

ニューラルネットワークの構築• 残差学習[1]を採用– 各層の出力に入力を足す– 出力と入力の差（残差）を学習対象とする– 深いネットワークで精度が劣化することを防ぐことができる[1] He et al., “Deep Residual Learning for Image
Recognition”, 2015
©Silicon Studio Corp., all rights reserved.

56ニューラルネットワークの構築• Hourglass Model– 残差学習ありのU-Net– Deep Single Image Portrait
Relighting[1]を参考にした[1] Zhou et al., “Deep Single Image Portrait Relighting”, 2019
©Silicon Studio Corp., all rights reserved.

57ニューラルネットワークの構築• Non-Local Block[1]– 画像中のある場所と別の場所の間の関係性を、全ピクセルの組み合わせで計算するブロック– GIにおける光の伝搬は、隣接しているピクセル間よりも、距離が離れていても法線が向かいあっていてその間に遮蔽物のないピクセル間で相互に影響しあっている– この関係性を推定するには、隣接ピクセルの畳み込みを重ねていくより、Non-Local Blockが適切であろうと考えた[1] Wang et al., “Non-local Neural Networks”, 2017
©Silicon Studio Corp., all rights reserved.

58ニューラルネットワークの構築• L-G Net
– Hourglass Modelの最下層（画像サイ
ズが最も小さい層）にNon-Local
Blockを導入– GIにおける2点間の関係性は、表面の法線・位置というジオメトリ情報によって決まり、それに直接光と反射率が適用されて実際の輝度となる– 入力をLighting（first, albedo）とGeometry (normal, position)に分け、別々に処理してNon-Local Blockで統合するアーキテクチャを考案©Silicon Studio Corp., all rights reserved.

59ニューラルネットワークの学習•

学習環境

Original

MSE = 210
SSIM = 0.9168

MSE = 210
SSIM = 0.9900

MSE = 210
SSIM = 0.6949

MSE = 210
SSIM = 0.7052

MSE = 210
SSIM = 0.748– フレームワーク: Pytorch– OS: Linux– GPU: Nvidia Titan RTX– メモリ: 16GB•

損失関数（出力と教師データの差の評価方法）– SSIM (Structural Similarity Index Measure[1])– MSE (平均二乗誤差）

•

最適化手法
– Adadelta[2]•バッチサイズ– 16[1] Wang et al., “Image Quality Assessment: From Error Visibility to Structural Similarity”, 2004
[2] Zeiler, “ADADELTA: An Adaptive Learning Rate Method”, 2012

©Silicon Studio Corp., all rights reserved.

60

住宅プレゼンテーションシステムへの組み込み• ニューラルネットワークの推論– Libtorch(CUDA版)を使用• Pytorchで学習したモデルをjit.traceしてファイルに出力• libtorchをインクルードした住宅プレゼンテーションシステムでモデルファイルをロード– ベイク時1. キューブマップを入力テンソルに変換
2. モデルから出力テンソルを得る

3. 出力テンソルをキューブマップ化
4. SH係数を算出©Silicon Studio Corp., all rights reserved.

61

住宅プレゼンテーションシステムへの組み込み• ベイク時間の比較
CPU
GPU
メモリ

Intel(R) Xeon(R) CPU E3-1225 v6 @ 3.30GHz 3.31GHz
NVIDIA Quadro P2000 5GB
16GB

シーン1

シーン2

シーン3

シーン4

ライトプローブ[個]

132

110

235

473

リフレクションプローブ[個]

44

44

91

167

従来ベイク(3回)[秒]

35.0

89.0

147.0

441.0

推定ベイク (CUDA) [秒]

17.0

41.0

52.0

195.0

時間比率(推定/従来)

49%

46%

35%

44%

©Silicon Studio Corp., all rights reserved.

62

住宅プレゼンテーションシステムへの組み込み• ベイク時間の比較
CPU
GPU
メモリ

Intel(R) Xeon(R) W-2123 CPU @ 3.60GHz 3.60 GHz
GeForceGTX1070 8GB
32GB

シーン5

シーン2

シーン3

シーン4

ライトプローブ[個]

100

110

235

473

リフレクションプローブ[個]

30

44

91

167

従来ベイク(3回)[秒]

49.8

60.0

285.0

459.0

推定ベイク (CUDA) [秒]

25.7

23.0

73.0

210.0

時間比率(推定/従来)

52%

38%

26%

46%

©Silicon Studio Corp., all rights reserved.

63

講演内容
• ディープラーニングの基礎知識• 住宅プレゼンテーションシステム• ニューラルネットワークの学習• 結果– 様々な入出力方式の比較– 様々なモデルの比較– 従来のベイクとの比較• まとめ©Silicon Studio Corp., all rights reserved.

64

様々な入出力方式の比較• キューブマップ
A) 6倍のチャンネル数の2D画像
B) 横軸経度と縦軸緯度のパノラマ展開した2D画像• 比較結果– (B)パノラマの方が良かった©Silicon Studio Corp., all rights reserved.

65

様々な入出力方式の比較• 正規化– ライティング結果はHDR（単位cd/m2, 100～100,000）A) 線形（固定値10,000で割る）
B) 対数 (μ-law transformation[1])• 結果比較
– (A)線形の方が良かった[1] Kalantari and Ramamoorthi, “Deep High Dynamic Range Imaging of Dynamic Scenes”, 2017

©Silicon Studio Corp., all rights reserved.

66

様々な入出力方式の比較• Position– 学習データはリニアな深度値のみ収集したが、キューブマップ撮影時の画角・方向などのカメ
ラパラメータは固定なので3D座標に変換することも可能

A) 深度(1ch)
B) ローカル座標(3ch)– 結果比較
• (B)ローカル座標の方が良かった• Color– GIにおいてR,G,Bのカラーはそれぞれ独立しているので、1チャンネルごとに推定する方法も考えられる

A) 1chごとB) 3chまとめて– 結果比較
• (B)3chの方が良かった。(A)だと不自然な色が生じてしまう。
©Silicon Studio Corp., all rights reserved.

67

様々なモデルの比較• Batch normalization– バッチごとの正規化• Drop out– 過学習を防ぐため、ランダムに接続を一時的に切る• 結果比較

©Silicon Studio Corp., all rights reserved.

68

様々なモデルの比較•

残差学習– なし（U-Net）– あり（Hourglass）•

結果比較– SSIMが0.8程度から0.85程度に上昇– 学習が安定するようになった©Silicon Studio Corp., all rights reserved.

69

様々なモデルの比較• 残差ブロックのバリエーション– Bottleneck[1]– Basic-wide[2]– Wide-dropout[2]– Highway network[3]– Dense network[4]• 結果比較
– あまり変わらなかった[1] He et al., “Deep Residual Learning for Image Recognition”, 2015[2] Zagoruyko and Komodakis, “Wide Residual Networks”, 2017[3] Srivastava et al., “Training Very Deep Networks”, 2015[4] Huang et al., “Densely Connected Convolutional Networks”, 2018
©Silicon Studio Corp., all rights reserved.

70

様々なモデルの比較• Non-Local block– なし(Hourglass)– あり(L-G Net)

• 結果比較
– SSIM 0.9から0.95近くに上昇– 1回目から5回目は学習データを増やして再学習したもの©Silicon Studio Corp., all rights reserved.

71

従来のベイクとの比較• 推定した結果と従来ベイクの結果をキューブマッ
プで比較すると異なる• 実際には、SH係数がレンダリングに用いられる• SHを展開するとあまり差が目立たない

直接光

法線

深度

ベースカラー

入力

推定

GT
間接光
©Silicon Studio Corp., all rights reserved.

直接光＋間接光SH72

従来のベイクとの比較• キューブマップでの比較©Silicon Studio Corp., all rights reserved.

73

従来のベイクとの比較• キューブマップでの比較©Silicon Studio Corp., all rights reserved.

74

従来のベイクとの比較• 従来ベイク©Silicon Studio Corp., all rights reserved.

• 推定ベイク

75©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.

従来のベイクとの比較• 従来ベイク©Silicon Studio Corp., all rights reserved.

• 推定ベイク

78©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.

従来のベイクとの比較• 従来ベイク©Silicon Studio Corp., all rights reserved.

• 推定ベイク

81©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.

従来のベイクとの比較• 従来ベイク©Silicon Studio Corp., all rights reserved.

• 推定ベイク

84©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.

従来のベイクとの比較• 従来ベイク©Silicon Studio Corp., all rights reserved.

• 推定ベイク

87©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.

従来のベイクとの比較• 従来ベイク©Silicon Studio Corp., all rights reserved.

• 推定ベイク

90©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.

従来のベイクとの比較• 従来ベイク©Silicon Studio Corp., all rights reserved.

• 推定ベイク

93©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.

従来のベイクとの比較• 従来ベイク©Silicon Studio Corp., all rights reserved.

• 推定ベイク

96©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.

従来のベイクとの比較• 従来ベイク©Silicon Studio Corp., all rights reserved.

• 推定ベイク

99©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.

従来のベイクとの比較• 従来ベイク©Silicon Studio Corp., all rights reserved.

• 推定ベイク

102©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.

講演内容• ディープラーニングとは• 住宅プレゼンテーションシステム• ニューラルネットワークの学習
• 結果
• まとめ
– 発表のおさらい– 今後の展望©Silicon Studio Corp., all rights reserved.

105発表のおさらい• 住宅プレゼンテーションシステムのライトプローブのベイクを、
ディープラーニングで高速化– 直接光のみのライティング結果から間接光を含めたライティング結果を推定• ベイク時間を短縮• 他のライトプローブに依存しない– 様々なニューラルネットワークモデルを比較検討• パノラマ変換• 残差学習• Non-Local block©Silicon Studio Corp., all rights reserved.

106

今後の展望• ディープラーニングによるベイク機能を全国展開– 学習データが十分でなく、間接光推定に問題のある建物がもしもあった場合• 考えられる追加施策
1.

バックグラウンドで従来のベイクも行い、結果を比較

2.

結果の差が一定以上あれば、中央サーバに報告

3.

中央サーバで問題のデータを含めて再学習

4.

更新したモデルを再配布• ディープラーニングの応用範囲の拡大– デノイズ• リアルタイムレイトレーシング– 超解像• ポストエフェクトなどで、重い処理は低解像度で行い、ディープラーニングでアップスケール– リアルタイムGI• 間接光の推定をリアルタイムに行い、事前のベイクなどは一切不要©Silicon Studio Corp., all rights reserved.

107

私たちシリコンスタジオは、自社開発による数々のミドルウェア
を有し、CGの黎明期から今日に至るまでCG関連事業に取り組み、
技術力、表現力、発想力の研鑽を積み重ねてきました。
それら3つの力を高い次元で融合させ、CGが持つ可能性を最大限に発揮させられること、それが私たちの強みです。
Ideas × Art × Technology

私たちはCG業界をリードするソリューションプロバイダーとして、お客さまの課題解決はもちろん、付加価値のあるアウトプットの提供をお約束いたします。

©Silicon Studio Corp., all rights reserved.

©Silicon Studio Corp., all rights reserved.