Kubric:機械学習用アノテーション付き動画生成パイプライン

久しぶりにコンピュータビジョン系の話題。

Google Researchから機械学習用のアノテーション付き動画を生成するためのツールがオープンソースで公開された↓

Kubric



Kubricは、Instance SegmentationマスクやDepthマップ、オプティカルフローなどのリッチなアノテーション付きのセミリアルな動画を作成するためのデータ生成パイプラインです。

 ※このプロジェクトはまだアルファ段階であり、大幅に変更される可能性があります。

モチベーションと設計

機械学習システムの訓練と評価、特にunsupervised multi-object video understandingにおいてはより良いデータが必要です。既存のシステムは、toy datasetsでは上手く行くものの、現実世界のデータでは失敗してしまいます。複雑さの異なる適切なデータセットをオンデマンドで作成できれば、進歩を大幅に加速できる可能性があります。
Kubricは、主にpybullet(物理シミュレーション用)とBlender(レンダリング用)をベースに構築されていますが、コードはモジュール式に保たれているため、様々なレンダリングバックエンドをサポートできる可能性があります。

Kubricは特に数千台のマシンを使って処理できるスケーラビリティに重点を置いて開発されているらしい。
詳しくはarXivで公開されているKubric: A scalable dataset generatorや、公式ドキュメントを参照。



レンダリングに使われているBlenderについてはもはや説明不要でしょう。
物理シミュレーションに使われているpybulletというのは、Bullet Physics SDKというC++の物理シミュレーションフレームワークのPythonバインディング。強化学習方面ではすでに結構利用されているらしい。
https://zenn.dev/ymd_h/articles/14397e6ae7ea3d

Kubricの公式ドキュメントを読むと、一式揃ったDockerイメージも用意されているようですね。
https://kubric.readthedocs.io/en/latest/source/0_installing.html

ここ数年、機械学習用の画像・動画データをCGで生成する需要に応えるツールが少しずつ増えてきたな。


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


最近はUnityが公式にUnity Computer Visionというデータセット生成サービスを始めていて、それに使用しているPerception Packageも公開している↓

Perception Package (Unity Computer Vision)



Perceptionパッケージは、コンピュータビジョンの訓練と検証のための大規模なデータセットを生成するためのツールキットを提供します。 現在は、カメラベースのユースケースに焦点を当てており、最終的には他の形式のセンサーや機械学習タスクに拡張される予定です。

ツールと製品の詳細についてはUnity Computer Visionページにアクセスしてください。

https://blog.unity.com/ja/technology/supercharge-your-computer-vision-models-with-synthetic-datasets-built-by-unity

関連記事

Mayaのレンダリング アトリビュート

Phongの表現力パネェ 材質別のPhong Shader用パラメータ一覧

2012のメイキングまとめ(途中)

Mask R-CNN:ディープラーニングによる一般物体検出・Instance Segmentatio...

ZBrushでアヴァン・ガメラを作ってみる 甲羅の修正・脚の作り込み

布のモデリング

UnityでTweenアニメーションを実装できる3種類の無料Asset

iPhoneで3D写真が撮れるアプリ『seene』

ラクガキの立体化 背中の作り込み・手首の移植

Unityで強化学習できる『Unity ML-Agents』

ZBrushトレーニング

OpenCVで顔のモーフィングを実装する

ポリゴン用各種イテレータと関数セット

ゴジラ三昧

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

Unityで360度ステレオVR動画を作る

OpenMayaのPhongShaderクラス

libigl:軽量なジオメトリ処理ライブラリ

Oculus Goを購入!

スクレイピング

リアルタイム レイトレーシングAPI『DirectX Raytracing (DXR)』

AR (Augmented Reality)とDR (Diminished Reality)

書籍『The Art of Mystical Beasts』を購入

Mayaでリアルな布の質感を作るチュートリアル

書籍『仕事ではじめる機械学習』を読みました

OpenCV 3.1のsfmモジュールのビルド再び

ドットインストールのWordPress入門レッスン

ZBrushでUndo Historyを動画に書き出す

網元AMIで作ったWordpressサイトのインスタンスをt1microからt2microへ移行した

OpenGV:画像からカメラの3次元位置・姿勢を推定するライブラリ

OpenCVでPhotoshopのプラグイン開発

Texturing & Modeling A Procedural ApproachをGoo...

PureRef:リファレンス画像専用ビューア

ZBrushでアヴァン・ガメラを作ってみる 下半身のバランス調整

オープンソースのロボットアプリケーションフレームワーク『ROS (Robot Operating S...

『スター・ウォーズ 最後のジェダイ』のVFXブレイクダウン まとめ

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

ラクガキの立体化 モールドの追加

シン・ゴジラのファンアート

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

ZBrushで仮面ライダー3号を造る 仮面編 PolyGroupを分割する

BlenderのRigifyでリギング

コメント