Unity を検索

Perception 1.0:合成データのためのツールボックスの拡張

2022年11月21日 カテゴリ: テクノロジー | 9 分 で読めます
Perception 1.0: Expanding the toolbox for synthetic data | Lead image
Perception 1.0: Expanding the toolbox for synthetic data | Lead image
取り上げているトピック
シェア

Unity のオープンソースツールの今回のメジャーリリースにおいて、Unity の合成データに合成された人物や家が収録されました。

機械学習(ML)を用いたコンピュータービジョン(CV)システムの成功は、十分にアノテーションが施された大量のデータに依存しています。これらのシステムの性能はデータに大きく依存するため、より良いデータを収集することが、モデルの性能を向上させる最善の方法であることがしばしばあります。しかし、実データの収集とアノテーションは費用も時間もかなりかかるため、多くのプロジェクトでデータ中心のアプローチが取れない原因にもなっています。そのため、コンピュータービジョン用の合成データを生成するために、何千ものチームが Unity を利用しています。

本日、私たちは合成データを構築するためのオープンソースツールにメジャーアップデートを施し、これを Perception 1.0 と名付け、合成データにおいて大きな前進を果たそうとしています。新しい Synthetic Humans パッケージは、多様でポーズ指定可能、ランダム化可能、かつ決定論的な 3D ヒューマンを提供します。新しいSynthetic Homesデータセットジェネレーターは、シーン理解やオブジェクト検出のためのフォトリアリスティックな住宅インテリアデータを提供します。さらに、Perception パッケージは、深度および法線の出力、パストレーシングのサポート、Python のビジュアライゼーションおよび解析ツールが加わるアップデートが施されました。

この拡張されたツール群により、高品質の合成データをこれまで以上に迅速に生成できるようにしたいと考えています。

CV のために作られた多様な人物ジェネレーター Synthetic Humans

Synthetic humans

この度、Unity Synthetic Humans をリリースする運びとなりました。これはヒューマンセントリックな CV の合成データ用に一から作られた 3D 人物ジェネレー ターです。スキャン、シミュレーション、3D アーティストリを駆使し、数千時間をかけてコンテンツを制作しました。今日、私たちはこの仕事の成果をすべて、学術利用向けのオープンソースライセンスのもとで無償で公開しています。 

両手で数えられるほどのベースとなるキャラクターモデルについて限られたバリエーションを提供するに過ぎない他のデジタルヒューマンと違い、Synthetic Humans は、ヘアスタイルのライブラリ、完全に匿名化されて生成される顔や民族の特徴、体のモデル、衣服などを組み合わせることで、膨大な多様性を生み出しています。その結果、生成された各人物は匿名かつユニークなものになります。特定の人物を生成するのではなく、民族、身長、体重、年齢などのランダム化の軸でサンプリング分布を制御します。例えば、10 代が 20%、若年層が 45%、中高年層が 35% のデータセットを世代パラメーターに指定することができます。

Synthetic human examples

主な機能:

  • 年齢、体型、肌色など幅広い多様性
  • 体のキーポイントや服のセグメンテーションなど、リッチなラベリングを実現
  • Unity アニメーションシステムに対応した完全なリグとスキンを持つ体と衣服
  • 衝突回避を考慮した 3D 環境における配置のランダム化

十分なアノテーションが施された住宅インテリアデータセット Synthetic Homes

Synthetic home interior

また、大規模な合成住宅インテリアのデータセットである Synthetic Homes と、関連するデータセットジェネレーターを公開します。家の中での CV のユースケースは無数にありますが、現実世界ではプライバシーへの配慮やデータ収集の制限から、多様な家のインテリアのデータの収集は困難です。Synthetic Homes は、正確で豊富なラベリングを持つさまざまな家のインテリアの大規模なデータセットと、設定可能なデータセットジェネレーターを提供することにより、このようなアプリケーションのモデル学習を加速させることを目的としています。 

多様性を最大化するために、さまざまなランダム化を取り入れています。これにはマテリアル、家具の種類と配置、太陽光の角度と温度、昼夜の切り替え、室内照明の温度、カメラアングル、クラッター、スカイボックス、ドアとカーテンのアニメーションなどの要素が含まれます。データセットジェネレーターはこれらの要素の多くを制御することができ、好みに合わせて調整することも可能です。

住宅のインテリア照明は、複雑で意図的なものであるため、フォトリアリズムが特に重要です。物理的に正確なグローバルイルミネーションと反射を実現するために、Unity のマルチバウンスパストレーシングを使用しました。このような正確さは、いわゆる「Sim2Real のギャップ」を埋めるのに役立ち、合成データで学習したモデルが実世界でうまく機能する能力を向上させることができます。

Synthetic Homes プロジェクトには、10 万枚の画像データセット、設定可能なデータセットジェネレーター、データ解析用のノートブックが含まれています。このデータセットには、セマンティックおよびインスタンスのセグメンテーション、バウンディングボックス、深度、法線のための豊富なラベルが含まれています。また、隠ぺい率やカメラ位置などの環境情報も含まれています。また、データについてのイテレーションを可能にするためにデータセットジェネレーターを提供しており、カメラの位置、ぼかしのランダム化、画像サイズなどのパラメーターを調整することができます。

Perception パッケージの大きなアップデート

Depth, Normals, and Path Tracing in Perception 1.0

Perception パッケージは、Unity エディターの合成データをパワーアップします。このリリースでは、新しい CV タスクのサポート、品質の向上、データセット開発のスピードアップなど、パッケージを広範囲にわたって拡張しています。Perception の新機能は以下の通りです。

  • コンベアーベルトのサンプルは、ランダムなオブジェクトの生成と物理演算による動画データセットのキャプチャを説明するものです。
  • レイトレーシングの統合により、物理ベースのマルチバウンスライティングを使用して、最小限の設定で写真のように現実感の高い画像を提供します。
  • オクルージョンラベラーは、オブジェクトがシーンの他の部分によってどの程度隠ぺいされているか、また、どの程度画面外に出ているかを計算します。この情報により、大きく隠ぺいされている物体へのアノテーションをフィルタリングすることが可能になります。
  • 深度および法線のラベラーにより、レンダリングレイヤーをキャプチャし、新しいタスクに利用したり、モデルに追加情報を与えたりして、より良い予測を行うことができます。
  • 透明性と両面ジオメトリのサポートにより、農業や屋外の環境における植物のピクセルパーフェクトなラベリングを可能になります。

また、私たちはコミュニティが Perception パッケージに対してより大きな影響を与えられるようにしたいと考えており、今回のリリースと同時に、コミュニティからの貢献を受け入れるためにパッケージをオープンソース化しました。

Python によるデータ解析・ビジュアライゼーションツール pysolotools

Synthetic data analysis

合成データで迅速にイテレーションを行うには、データの観察と分析が重要であり、私たちはそれをできるだけ容易にしたいと考えています。今回のアップデートでは、新しいタイプのアノテーションやメトリクスに拡張可能な大規模画像データセット用に設計された、新しいデータセットフォーマット「SOLO」を導入します。SOLO データセットは、ディスク上でフレームごとに分離されているため、データセットの生成や処理を分散して行うことが可能です。

SOLO フォーマットと同時に、SOLO フォーマットで動作するユーティリティを提供する新しいオープンソースの Python パッケージ pysolotools をリリースしています。pysolotools の Python パッケージは、SOLO データをフレーム単位で簡単に扱えるイテレーターインターフェースを提供します。また、オブジェクト数、サイズ分布、ヒートマップなど、ほとんどの CV 問題に共通するデータセット統計量を簡単に取得するフレームワークも含まれています。pysolotools を使えば、SOLO から必要なデータ形式に変換するためのカスタムスクリプトを簡単に書くことができます。さらに、COCO を含むいくつかの一般的なフォーマットへのコンバーターがあらかじめ用意されているため、より簡単に利用することができます。

Visual inspection of synthetic datasets

最後に、私たちは生成したデータを視覚的に検証できることが重要だと認識しています。pysolotools-fiftyone は、Voxel FiftyOne ビューアーとの統合であり、SOLO データセットを視覚的に検査できるようにするものです。

始めよう

合成データの構築については、Unity の Computer Vision ハブで、チュートリアル、ケーススタディをはじめ、すべてのコンテンツとサンプルへのリンクが示されているので、そこで学ぶことができます。 

機械学習のための合成データは、急速に発展している分野です。Computer Vision フォーラムでは、コミュニティや私たちとつながり、質問やアイデアを共有することができます。

2022年11月21日 カテゴリ: テクノロジー | 9 分 で読めます
取り上げているトピック
関連する投稿