ROS#もそうですが、ロボット制御ソフトウェアの開発、特にコンピュータビジョン関係は学習やテスト用の画像収集がボトルネックで、最近は学習や動作のシミュレーション環境にCGを活用する例が増えている。
このUnrealCVはUnrealEngineをコンピュータビジョンの研究で使うためのUnrealEngine用プラグイン↓
UnrealCV
UnrealCVは、コンピュータビジョンの研究者がUnreal Engine 4(UE4)でバーチャルワールドを構築するのに役立つオープンソースプロジェクトです。UE4のプラグインとして以下の機能を提供します:
- バーチャルワールドを対話的に操作するためのUnrealCVコマンドセット
- Caffeなどの外部プログラムとUE4間の通信
UnrealCVは2つの方法で使用できます。
1つ目は、UnrealCVを組み込んだコンパイル済みゲームバイナリを使用することです。これはただゲームを実行するのと同じくらい簡単で、Unreal Engineに関する知識は必要ありません。
2つ目は、UnrealCVプラグインをUnreal Engine 4(UE4)にインストールし、UE4のエディタを新しいバーチャルワールドを構築するために使用することです。
UnrealCVの使用方法については、Tutorial: Getting Startedをお読みください。
arXivで2016年に公開されたドキュメントがある。
https://arxiv.org/abs/1609.01326
アーキテクチャを見ると、ゲームエンジンとコンピュータービジョンアルゴリズム間はTCP通信なのね。
スポンサーリンク
データ収集の問題だけでなく、自動運転のための学習や動作テストとかは大事故にもつながりかねないので、ゲームエンジンでシミュレーションするのは自然な流れかも。
CG空間なら同じシチュエーションを正確に繰り返せるのもメリットですね。
https://dev.classmethod.jp/articles/unrealcv-unreal-engine-for-computer-vision-project/
Microsoftが開発した自動運転シミュレーターAirSimも最初はUnrealEngine製だった。(今はUnity版もある)
https://github.com/Microsoft/AirSim
https://blogs.unity3d.com/jp/2018/11/08/jump-start-your-autonomous-simulation-development-with-unitys-simviz-solution-template/
https://blogs.unity3d.com/jp/2018/11/14/airsim-on-unity-experiment-with-autonomous-vehicle-simulation/
UnrealROXというシミュレーターもあるらしい↓
https://sim2realai.github.io/UnrealROX/
追記:NVIDIAからディープラーニング学習用のデータを合成するUE4プラグインNVIDIA Deep learning Dataset Synthesizer (NDDS)が配布されている↓
スポンサーリンク