BlenderProc:Blenderで機械学習用の画像データを生成するPythonツール

機械学習用の画像データをCGで生成するのもData Augmentation(データ拡張)の範疇でしょうか。
物体や風景画像だけでなく、Depthや物体ラベル、Semantic Segmentation用のアノテーション画像も必要となると、CGで生成した方が断然楽ですね。

機械学習用の画像を生成するUnreal Engine用のプラグインもありましたが



Blenderで学習画像をバッチ生成できるPython製のコマンドツールが公開されている↓

BlenderProc



ディープラーニング用の学習画像を生成するためのプロシージャルBlenderパイプラインです。
詳細はarXivにある論文をご覧ください。(随時更新しています):https://arxiv.org/abs/1911.01911

対応するBlenderのバージョンは2.82。



設定をyaml形式で記述して、run.pyにyamlファイルや3Dオブジェクト、カメラ位置情報のファイルを引数に渡して実行するだけでBlenderで画像をレンダリングできるらしい。
yaml設定ファイルの書き方や、データの読み込み方はexamplesを真似すれば良さそう。

要するに、Blenderの細かい操作方法などを習得しなくても、各成分ごとに分解されたレンダリング画像をバッチで出力できるようにしたツールだな。
run.pyを読む限り、対応するOSはLinuxとMacだけで、Windowsには対応していないみたい。

2022年3月 追記:Google Researchからもツールが出ましたね↓



2023年 追記:Blenderのbpyモジュールをコンピュータービジョン用途で扱いやすいようにラップしたモジュールも↓
Blendify:コンピュータービジョン向けBlenderラッパー
コンピュータービジョンで扱う対象が2Dの画像だけでなく3Dデータに広がってきて、コンピューターグラフィックスとの垣根がどんどん無くなってきているように感じる。Blendifyは、Blenderの機能をPythonのモジュールとして呼び出せる...

関連記事

ZBrushでアヴァン・ガメラを作ってみる おでこ(?)のバランス調整

Pythonのソースコードに特化した検索エンジン『Nullege』

CGAN (Conditional GAN):条件付き敵対的生成ネットワーク

Accord.NET Framework:C#で使える機械学習ライブラリ

geometry3Sharp:Unity C#で使えるポリゴン操作ライブラリ

mentalrayのSubsurface Scattering Shader『misss_fast_...

Raspberry Piでセンサーの常時稼働を検討する

ZBrushでゴジラ2001を作ってみる 身体のシルエット出し

OpenCV 3.1とopencv_contribモジュールをVisual Studio 2015で...

1枚の画像からマテリアルを作成できる無料ツール『Materialize』

第1回 3D勉強会@関東『SLAMチュートリアル大会』

書籍『開田裕治 怪獣イラストテクニック』

『手を動かしながら学ぶエンジニアのためのデータサイエンス』ハンズオンセミナーに行ってきた

ZBrushでアヴァン・ガメラを作ってみる 下アゴと頭部を作り込む

ニューラルネットワークと深層学習

OpenGVのライブラリ構成

Mitsuba 3:オープンソースの研究向けレンダラ

Model View Controller

オープンソースの物理ベースGIレンダラ『appleseed』

JavaによるCGプログラミング入門サイト (日本語)

Transformer Explainer:テキスト生成モデルの可視化ツール

機械学習のオープンソースソフトウェアフォーラム『mloss(machine learning ope...

SIGGRAPH論文へのリンクサイト

ROSの薄い本

C#で使える遺伝的アルゴリズムライブラリ『GeneticSharp』

ラクガキの立体化 進捗

Open3D:3Dデータ処理ライブラリ

MRenderUtil::raytrace

UnityでOpenCVを使うには?

Faster R-CNN:ディープラーニングによる一般物体検出手法

Point Cloud Utils:Pythonで3D点群・Meshを扱うライブラリ

ジュラシック・パークの続編『ジュラシック・ワールド』

データサイエンティストって何だ?

Adobe Photoshop CS4 Extendedの3Dモデル編集機能

ZBrushで作った3Dモデルを立体視で確認できるVRアプリを作る

UnityでShaderの入力パラメータとして行列を渡す

機械学習で遊ぶ

Python2とPython3

ZBrushでアヴァン・ガメラを作ってみる

OpenCV3.3.0でsfmモジュールのビルドに成功!

cvui:OpenCVのための軽量GUIライブラリ

NeRF (Neural Radiance Fields):深層学習による新規視点合成

コメント