機械学習手法が進化して学習画像の要件が従来とは変わってきたのか、ここ最近は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をインストールしてみたことがあったな。

関連記事
OpenMVSのサンプルを動かしてみる
ZBrushで仮面ライダー3号を造る 仮面編 リファレンス画...
OpenGVの用語
日立のフルパララックス立体ディスプレイ
WinSCP
コンピュータビジョンの技術マップ
オープンソースのロボットアプリケーションフレームワーク『RO...
Google App Engine上のWordPressでF...
3Dスキャンに基づくプロシージャルフェイシャルアニメーション
データサイエンティストって何だ?
Transformers ”Reference & Buli...
ZBrushでアヴァン・ガメラを作ってみる 首回りの修正・脚...
MPFB2:Blenderの人体モデリングアドオン
ZBrushでアヴァン・ガメラを作ってみる 全体のバランス調...
ブラウザ操作自動化ツール『Selenium』を試す
Mitsuba 3:オープンソースの研究向けレンダラ
ZBrushと液晶ペンタブレットでドラゴンをモデリングするチ...
TeleSculptor:空撮動画からPhotogramme...
ラクガキの立体化 3Dプリント注文
顔画像処理技術の過去の研究
映画『ミュータント・タートルズ』を観てきた
疑似3D写真が撮れるiPhoneアプリ『Seene』がアップ...
DensePose:画像中の人物表面のUV座標を推定する
組み込み向けのWindows OS 『Windows Emb...
ポリゴン用各種イテレータと関数セット
立体視を試してみた
Multi-View Environment:複数画像から3...
Unite 2014の動画
Unreal Engine Tokyo MeetUp!へ行っ...
Adobe Photoshop CS4 Extendedの3...
ZBrushのUndo Historyをカメラ固定で動画化す...
オープンソースの物理ベースレンダラ『Mitsuba』をMay...
映画『シン・ウルトラマン』 メイキング記事まとめ
Blender 2.81でIntel Open Image ...
CGWORLD CHANNEL 第21回ニコ生配信は『シン・...
OpenMesh:オープンソースの3Dメッシュデータライブラ...
Model View Controller
C++始めようと思うんだ
OpenCVで顔のランドマークを検出する『Facemark ...
Mitsuba 2:オープンソースの物理ベースレンダラ
Pix2Pix:CGANによる画像変換
Math.NET Numerics:Unityで使える数値計...



コメント