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

関連記事

Maya LTのQuick Rigを試す

MB-Lab:Blenderの人体モデリングアドオン

Unreal Engine Tokyo MeetUp!へ行ってきた

Kaolin:3Dディープラーニング用のPyTorchライブラリ

Photo Bash:複数の写真を組み合わせて1枚のイラストを制作する

Dlib:C++の機械学習ライブラリ

GoogleのDeep Learning論文

Math.NET Numerics:Unityで使える数値計算ライブラリ

ZBrushで仮面ライダー3号を造る 仮面編 横顔のシルエットをリファレンスに合わせる

konashiのサンプルコードを動かしてみた

実写と実写の合成時の色の馴染ませテクニック

Google XML Sitemap Generatorプラグインを3.4.1へダウングレード

OpenCVでカメラ画像から自己位置認識 (Visual Odometry)

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

AR (Augmented Reality)とDR (Diminished Reality)

OpenVDB:3Dボリュームデータ処理ライブラリ

AnacondaとTensorFlowをインストールしてVisual Studio 2015で使う

HD画質の無駄遣い

ZBrushでアヴァン・ガメラを作ってみる 壊れたデータの救出

『PIXARのひみつ展』に行ってきた

Deep Learningとその他の機械学習手法の性能比較

PyDataTokyo主催のDeep Learning勉強会

UnityのGameObjectの向きをScriptで制御する

GAN (Generative Adversarial Networks):敵対的生成ネットワーク

Subsurface scatteringの動画

JavaScriptとかWebGLとかCanvasとか

uvでWindows11のPython環境を管理する

MVStudio:オープンソースのPhotogrammetryツール

Geogram:C++の3D幾何アルゴリズムライブラリ

Raspberry PiでIoTごっこ

Super Resolution:OpenCVの超解像処理モジュール

CGWORLD CHANNEL 第21回ニコ生配信は『シン・ゴジラ』メイキングスペシャル!

Model View Controller

MFnDataとMFnAttribute

Unityの各コンポーネント間でのやり取り

Mayaのプラグイン開発

HD画質の無駄遣い その2

Adobe MAX 2015

OpenMayaのPhongShaderクラス

グローバルイルミネーションに手を出す前に、やり残したことがあるんじゃない?

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

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

コメント