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のモジュールとして呼び出せる...

コメント