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

関連記事

動的なメモリの扱い

3DCG Meetup #4に行ってきた

MPC社によるゴジラ(2014)のVFXブレイクダウン

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

iOSデバイスのためのフィジカル・コンピューティングツールキ...

Runway ML:クリエイターのための機械学習ツール

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

Unityで学ぶC#

CNN Explainer:畳み込みニューラルネットワーク可...

PyDataTokyo主催のDeep Learning勉強会

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

Quartus II

ヒーローに変身なりきりアーケードゲーム『ナレルンダー』

ZBrushで仮面ライダー3号を造る 仮面編 失敗のリカバー

ゴジラ(2014)のディティール制作の舞台裏

ZBrushのTranspose Masterでポーズを付け...

C++の抽象クラス

ZBrushでアヴァン・ガメラを作ってみる 下アゴの付け根を...

Mixamo:人型3Dキャラクターアニメーション制作サービス

ゴジラ三昧

NumSharp:C#で使えるNumPyライクな数値計算ライ...

OpenCVで平均顔を作るチュートリアル

HD画質の無駄遣い その2

UnityのuGUIチュートリアル

ゴジラ(2014)のメイキング

Oculus Goを購入!

ZBrushで仮面ライダー3号を造る 仮面編 ZRemesh...

フルCGのウルトラマン!?

Swark:コードからアーキテクチャ図を作成できるVSCod...

MFnDataとMFnAttribute

世界一下品なクマと世界一紳士なクマ

トランスフォーマー/ロストエイジのメイキング

参考書

TensorSpace.js:ニューラルネットワークの構造を...

Unity MonoBehaviourクラスのオーバーライド...

FCN (Fully Convolutional Netwo...

Managing Software Requirements...

組み込み向けのWindows OS 『Windows Emb...

PythonのHTML・XMLパーサー『BeautifulS...

UnityからROSを利用できる『ROS#』

ラクガキの立体化 目標設定

SONYの自律型エンタテインメントロボット『aibo』

コメント