PeopleSansPeople:機械学習用の人物データをUnityで生成する

コンピュータービジョン系の機械学習データをCGで、最近は特にゲームエンジンのリアルタイムグラフィックスで大量に作成するのが当たり前になりつつありますね。
特に人間のデータは個人情報に相当するので、収集・アノテーションの手間だけでなく、本人許諾を取ったり使用範囲・期間を限定したりと面倒が多い。(だからCelebAのように有名人のデータが重宝されるわけですが)

Unity Technologiesから、人物のデータを生成する論文とアプリ、Unityプロジェクト一式が公開されている↓

PeopleSansPeople: A Synthetic Data Generator for Human-Centric Computer Vision

  • PeopleSansPeopleは、高度にパラメーター化された環境乱択化(Domain Randomization)を備え、プライバシーを侵害せずに人物の合成データを作成できるジェネレーターです。
  • PeopleSansPeopleは、シミュレーション対応の3D人体アセットとパラメータ化されたライトとカメラの仕組みを提供し、2Dと3Dのbounding box、instance/semantic segmentation、COCOポーズのラベルを生成できます。
  • 単純な範囲指定で環境乱択化とラベル付き合成データセットを生成できます。
  • 合成データ上の人物の活動、ポーズ、コンテキストの多様性については、保証・分析を提供できるものもあります。
  • 合成データで事前学習し、ターゲットの実世界データ(COCO-person train)を使用してfew-shot transferでfine-tuningしたネットワークがkeypoint AP:60.37 ± 0.48 (COCO test-dev2017)を達成。同じ現実データのみで学習したモデル(keypoint AP:55.80) と、ImageNetで事前学習したモデル(keypoint AP:57.50)を上回るパフォーマンス。

概要
近年、大規模なラベル付きデータセットのおかげで人物の検出や姿勢推定は大きく進歩しました。しかし、これらの大規模データセットは人間の活動、姿勢、コンテキストの多様性について保証も分析もされていません。より多くの人間のデータを収集するために、プライバシー、法律、安全、倫理上の懸念にぶつかり、収集範囲や収集方法に制約を受けている場合もあります。
これらの問題の一部を軽減でき、現実世界のデータに代わる新たな代替手段が合成データです。

しかしながら、合成データのジェネレーターを作成するのは非常に困難であるため、合成データの有用性が研究者達に知られていません。
そこで我々は、人間を中心とした合成データジェネレーター PeopleSansPeopleをリリースします。PeopleSansPeopleは、シミュレーション可能な3D人体アセット、パラメータ化されたライトとカメラの仕組みを備えており、2D・3Dのbounding box、instance/semantic segmentation、COCOポーズラベルを生成できます。

我々はPeopleSansPeopleによる合成データをDetectron2の特徴点R-CNNバリアントに学習させてベンチマークを行いました。
その結果、合成データで事前学習後にターゲットとなる実世界のデータでfine-tuning(COCO-personの限られたサブセットでのfew-shot転移学習)したネットワークでkeypoint AP:60.37 ± 0.48 (COCO test-dev2017)が得られ、同様の現実データのみで学習したモデル(keypoint AP:55.80)やImageNetで事前学習したモデル(keypoint AP:57.50)を上回りました。

この自由に利用できるデータジェネレーターによって、人間を中心としたコンピュータービジョンの重要な領域で、シミュレーションから現実への転移学習という新しい分野の幅広い研究が可能になるはずです。


スポンサーリンク

プロジェクト一式がGitHubで公開されている↓
https://github.com/Unity-Technologies/PeopleSansPeople

Unityの公式ブログでも紹介されてるけど、日本語訳がだいぶ直訳感ありますな↓
https://blog.unity.com/ja/technology/human-centric-computer-vision-with-unity-synthetic-data


スポンサーリンク


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
https://blog.unity.com/ja/technology/synthetic-data-simulating-myriad-possibilities-to-train-robust-machine-learning-models



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

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

Kubric:機械学習用アノテーション付き動画生成パイプライン
久しぶりにコンピュータビジョン系の話題。Google Researchから機械学習用のアノテーション付き動画を生成するためのツールがオープンソースで公開された↓KubricKubricは、Instance SegmentationマスクやD...


スポンサーリンク

関連記事

Pylearn2:ディープラーニングに対応したPythonの機械学習ライブラリ
UnityでPoint Cloudを表示する方法
映画から想像するVR・AR時代のGUIデザイン
UnityでOpenCVを使うには?
OpenMayaRender
実写と実写の合成時の色の馴染ませテクニック
ガメラ生誕50周年
ZBrushでアヴァン・ガメラを作ってみる 頭頂部と首周りを作り込む
昔Mayaでモデリングしたモデルをリファインしてみようか
写真に3Dオブジェクトを違和感無く合成する『3DPhotoMagic』
3Dモデルを立体視で確認できるVRアプリを作っている
なんかすごいサイト
OpenCVの顔検出過程を可視化した動画
Geogram:C++の3D幾何アルゴリズムライブラリ
ZBrushで仮面ライダー3号を造る 仮面編 PolyGroup作成に再挑戦
タダでRenderManを体験する方法
コンピュータビジョンの技術マップ
ZBrushでアヴァン・ガメラを作ってみる 頬の突起を作り始める
ラクガキの立体化 進捗
ZBrushでゴジラ2001を作ってみる 身体のアタリを作る
Open3D:3Dデータ処理ライブラリ
UnityのGameObjectの向きをScriptで制御する
Windows10でPyTorchをインストールしてVSCodeで使う
フルCGのウルトラマン!?
GAN (Generative Adversarial Networks):敵対的生成ネットワーク
ZBrush 2018へのアップグレード
BlenderのPython環境にPyTorchをインストールする
機械学習のオープンソースソフトウェアフォーラム『mloss(machine learning ope...
ZBrushでアヴァン・ガメラを作ってみる 口のバランス調整
3Dスキャンに基づくプロシージャルフェイシャルアニメーション
ラクガキの立体化 1年半ぶりの続き
ManimML:機械学習の概念を視覚的に説明するためのライブラリ
UnityのuGUIチュートリアル
Deep Learningとその他の機械学習手法の性能比較
iPhoneで3D写真が撮れるアプリ『seene』
ちょっと凝り過ぎなWebキャンペーン:全日本バーベイタム選手権 (MITSUBISHI KAGAKU...
ラクガキの立体化 目標設定
geometry3Sharp:Unity C#で使えるポリゴン操作ライブラリ
BlenderのGeometry Nodeで遊ぶ
MeshLab:3Dオブジェクトの確認・変換に便利なフリーウェア
第20回 文化庁メディア芸術祭『3DCG表現と特撮の時代』
Accord.NET Framework:C#で使える機械学習ライブラリ

コメント