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で生成する需要に応えるツールが少しずつ増えてきたな。
UnrealCV:コンピュータビジョン研究のためのUnreal Engineプラグイン
ROS#もそうですが、ロボット制御ソフトウェアの開発、特にコンピュータビジョン関係は学習やテスト用の画像収集がボトルネックで、最近は学習や動作のシミュレーション環境にCGを活用する例が増えている。このUnrealCVはUnrealEngin...

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


スポンサーリンク

関連記事

BSDF: (Bidirectional scattering distribution funct...
Open3D:3Dデータ処理ライブラリ
MythTV:Linuxでテレビの視聴・録画ができるオープンソースプロジェクト
OpenCV 3.1のsfmモジュールのビルド再び
ニンテンドー3DSのGPU PICA200
ZBrushでアヴァン・ガメラを作ってみる 口のバランス調整
geometry3Sharp:Unity C#で使えるポリゴン操作ライブラリ
UnityプロジェクトをGitHubで管理する
プログラムによる景観の自動生成
ZBrushでアヴァン・ガメラを作ってみる 腕の作り込み
ポリ男からMetaHumanを作る
Raspberry Pi
ZBrushでゴジラ2001を作ってみる 目元だけ作り込んでバランスを見る
python-twitterで自分のお気に入りを取得する
ちょっと凝り過ぎなWebキャンペーン:全日本バーベイタム選手権 (MITSUBISHI KAGAKU...
ドラマ『ファーストクラス』のモーショングラフィックス
Phongの表現力パネェ 材質別のPhong Shader用パラメータ一覧
ManuelBastioniLAB:人体モデリングできるBlenderアドオン
画像生成AI Stable Diffusionで遊ぶ
映画『ジュラシック・ワールド』のVFXメイキング
GoogleのDeep Learning論文
Alice Vision:オープンソースのPhotogrammetryフレームワーク
SDカードサイズのコンピューター『Intel Edison』
HD画質の無駄遣い その2
無償版G Suiteの使用を継続する
書籍『仕事ではじめる機械学習』を読みました
UnityでPoint Cloudを表示する方法
単純に遊びに行くのはだめなのか?
オープンソースのネットワーク可視化ソフトウェアプラットフォーム『Cytoscape』
ラクガキの立体化 進捗
中学3年生が制作した短編映像作品『2045』
2012のメイキングまとめ(途中)
OpenGV:画像からカメラの3次元位置・姿勢を推定するライブラリ
ZBrushトレーニング
Unityからkonashiをコントロールする
トランスフォーマーの変形パターンを覚えるのは楽しいと思うんだ
ZBrushで仮面ライダー3号を造る 仮面編 PolyGroupを分割する
TorchStudio:PyTorchのための統合開発環境とエコシステム
Maya API Reference
ZBrushでゴジラ2001を作ってみる 身体のアタリを作る
OpenCVでiPhone6sのカメラをキャリブレーションする
ヘッドマウントディスプレイとビジュアリゼーションの未来

コメント