機械学習手法が進化して学習画像の要件が従来とは変わってきたのか、ここ最近は360度周回画像(動画)やCGレンダリングの各成分を学習データとして書き出すツールが増えてきましたね。
Composition RenderingはBlenderをラップしたPythonツール。
Composition Rendering (Blender Data Generator)
平面上に複数の3Dオブジェクトを配置し、BlenderのCyclesでレンダリングして合成画像データセットを生成します。このパイプラインは、オブジェクトのランダム配置、マテリアル、HDRI環境ライティング、数種類のカメラ/ライトのモーションモードをサポートしています。
RGB画像に加え、各成分(法線、深度、アルベド、粗さ、メタリック)とフレームごとのメタデータの出力に対応しています。
生成されたデータはDiffusion Renderer、UniRelight、LuxDiTなどの生成レンダリングモデルの学習に使用できます。
注: このリポジトリは、Diffusion Rendererで使用されるデータ生成パイプラインをBlenderベースで再実装したものです。一部のレンダリングバッファは元の実装と異なる場合があります。
主な機能
- アセットの組み合わせ:GLB/GLTF/OBJアセットに加え、オプションの基本シェイプを衝突無くグリッド状に地面上に配置できます。
- ライティング:HDRI環境マップ(EXR/HDR)をサンプリングし、オプションで反転、回転、露出のスケーリングが可能です。
- カメラ/モーション:周回カメラ、振動カメラ、周回環境ライト、オブジェクトの回転、オブジェクトの垂直移動、ドリー/ズームが可能です。
- 出力:RGB、法線、深度、アルベド、粗さ、メタリック、カメラと環境パラメータを含むmeta.json。オプションで(環境投影、配置グリッド、.blend)もデバッグ出力できます。
- 物理演算ベースのオブジェクト落下シミュレーション:Blenderの剛体シミュレーションを使用して、シーン内のオブジェクトを地面に落下させ、短いシーケンスをレンダリングできます。
Blenderの機能をPythonモジュールとして呼び出せるAPI bpyモジュールをラップした簡易ライブラリもいくつかありますが、


Blender自体をラップする方がデバッグ時にGUIを利用できて便利なのだろうか。(だいぶ強引な実装方法にも感じるけど)

BlenderはGUIアプリケーションだけど、コマンドラインからオプション引数を使ってヘッドレスに動作させることもできて、ファイルを渡したりScriptをBlender内部のPython環境で実行できるから、活用範囲は広い。
https://caretdashcaret.com/2015/05/19/how-to-run-blender-headless-from-the-command-line-without-the-gui/
https://docs.blender.org/manual/en/latest/advanced/command_line/arguments.html
そういえば以前BlenderのPython環境にPyTorchをインストールしてみたことがあったな。

関連記事
Manim:Pythonで使える数学アニメーションライブラリ
PolyPaint
Iridescence:プロトタイピング向け軽量3D可視化ラ...
トランスフォーマー/ロストエイジのメイキング
SIGGRAPH ASIA 2009で学生ボランティア募集し...
Quartus II
Twitter APIのPythonラッパー『python-...
Maya 2015から標準搭載されたMILA
オープンソースの取引プラットフォーム
ポイントクラウドコンソーシアム
HD画質の無駄遣い その2
昔Mayaでモデリングしたモデルをリファインしてみようか
HD画質の無駄遣い
ラクガキの立体化 モールドの追加
Python.NET:Pythonと.NETを連携させるパッ...
OpenMesh:オープンソースの3Dメッシュデータライブラ...
Stanford Bunny
ゴジラの造形
フリーで使えるスカルプト系モデリングツール『Sculptri...
参考になりそうなサイト
ニンテンドー3DSのGPU PICA200
uGUI:Unityの新しいGUI作成システム
OpenCV3.3.0でsfmモジュールのビルドに成功!
Boost オープンソースライブラリ
色んな三面図があるサイト
UnityでARKit2.0
ZBrushで仮面ライダー3号を造る 仮面編 失敗のリカバー
Raspberry PiでIoTごっこ
Managing Software Requirements...
Blender 2.8がついに正式リリース!
TorchStudio:PyTorchのための統合開発環境と...
Unityの薄い本
WordPressの表示を高速化する
Mayaのプラグイン開発
AmazonEC2のインスタンスをt1.microからt2....
ManimML:機械学習の概念を視覚的に説明するためのライブ...
MLDemos:機械学習について理解するための可視化ツール
マルコフ連鎖モンテカルロ法
ジュラシック・パークのメイキング
U-Net:ディープラーニングによるSemantic Seg...
Phongの表現力パネェ 材質別のPhong Shader用...
SVM (Support Vector Machine)



コメント