1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

テクニカルレポート:Unity Perception: Generate Synthetic Data for Computer Vision

1
Last updated at Posted at 2022-06-08

Info

概要

  • Unity Editorとエンジンコンポーネントを拡張し、アノテーションを施したデータセットを生成するツールを紹介する。
  • 拡張可能なランダム化フレームワークを提供する。データセットにバリエーションを持たせるためのランダム化のシミュレーションパラメータを簡単に設定することができる。

背景

  • ディープラーニングのタスクが複雑になるにつれてアノテーションも複雑になり、レビューが必要になるなどデータ構築コストは増大していく。
  • EUのGDPRやカリフォルニアのCCPAなど、プライバシー保護関係の法整備により、ユーザーのデータを使用することが難しくなっている。
  • バーチャルなデータ生成環境があれば、アノテーションコストを削減でき、プライバシーの問題も発生しない。

手法

Perceptionではボックス、セグメンテーション、キーポイントのアノテーションを利用可能。フレームワークに沿ってスクリプトを書くことで、機能を拡張することもできる。

データの生成はシナリオと呼ばれるエンティティとランダマイザーと呼ばれるエンティティで構成される。ランダマイザーはランダム化のための環境パラメータを持ち、物体の配置や物体の回転等を生成する。シナリオは全てのランダマイザーを順番に実行する制御の役割を持つ。シナリオとランダマイザーはベースのクラスを継承して自分で拡張することができる。

データ生成はローカルコンピュータのUnity Editorでも実行できるし、クラウド計算環境サービスであるUnity Simulationでも実行できる。クラウド環境は大規模な並列計算環境で、大規模データセットを構築に向いている。並列計算ではあるが、決定論的なランダムサンプリングとランダム化の順序付けにより、生成されたデータの再現性が担保されている。

Perceptionパッケージに加えて、DatasetInsights3という付属のPythonパッケージが提供されている。データセットの統計情報の生成と可視化が可能。

サンプルプロジェクト

プロジェクトSynthDetを行った。63種類の日用品の物体検出で、人工データと実データを使用して比較を行った。モデルはFaster-RCNNを使用した。

データセット

背景には位置・回転・色相・テクスチャをランダムに決定したシンプル形状の物体を配置した。前景には位置・回転・スケールをランダムに決定した日用品オブジェクトを配置した。前景のさらに前の位置には、少数のオブジェクトを配置してオクルージョンが発生するにようにした。また、照明にもランダム要素を加え、出力画像にはblurなどもランダムに加えた。

人工データは400,000枚、実データは1,267枚用意した。

学習戦略

ResNet50(pretrained ImageNet)をbackboneとして、3つの学習戦略を比較した。

  1. 実データのみ学習に使用。実データを6:2:2=760:253:254で分け、それぞれ学習、バリデーション、テストに使用する。ミニバッチは8で、100epoch学習。
  2. 人工データのみ学習に使用。90%を学習、残り10%をバリデーションに使用し、テストは戦略1と同じ。ミニバッチは4で、GPUを8個用意し10epoch学習。
  3. 戦略2で学習したモデルを、760個からサンプルした実データでファインチューニング。ミニバッチは8で、30epoch学習。

評価

それぞれ5回繰り返して平均をとって精度を算出。表3左のmAPはIoU[0.5:0.95]の平均であることに注意。

また、人工データを増やしていった場合の精度比較も実施。

まとめ・感想

  • 人工データで学習後、実データでのファインチューニングは必須に思える。
  • 人口データを増やしすぎてもあまり効果はなさそう。実データが少ないとむしろ悪影響?
  • ランダマイザーの拡張自体は容易だが、そもそもUnityに癖があって初心者はむしろUnityにとっつきにくい。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?