表示
超・人工知能研究所 Super AI Research Lab トップへ超・人工知能研究所AI Research Lab / ぱそ太郎工事中

since
平成38年9月29日

← 検索結果に戻る

SPEAR:Unreal Engineの操作と画像取得をPythonから行うシミュレーター

SPEAR

保存した記事を見るこのブラウザに保存します。無料会員で端末間の同期・フォルダ整理
原論文の図

SPEARの原論文から掲載した図です。細部はクリックして拡大できます。

原論文の図の説明を読む

Figure 1 : SPEAR is a Python library that can connect to, and programmatically control, any Unreal Engine (UE) application via a modular plugin architecture. SPEAR exposes over 14K unique UE functions, representing an order-of-magnitude increase in programmable functionality over existing simulators. We demonstrate the flexibility of SPEAR by using it to control 6 distinct embodied agents (each with a different action space) across several Epic Games sample projects: a person and a car from CitySample (top); a flying robot from StackOBot (bottom far left); multiple agents in a resource collecting game called CropoutSample (bottom center left); as well as a person with parkour skills and a quadruped robot from GameAnimationSample (bottom right).

出典:SPEAR / arXiv ↗

概要

  • SPEARはUEの反射機構を使い、UE関数14,485件をPythonから利用できるようにしたと著者は報告する。
  • 著者は1920×1080画素の画像をNumPy配列へ毎秒73フレームで描画したと報告するが、速度比較表の全体と測定条件は照合できない。
  • ロボット認識への利用には、実写真と正解ラベルを用意し、実写真上の認識精度で生成画像の効果を確かめる必要がある。
補足:編集した模式図で仕組みを確認する

VISUAL EXPLAINER

図でつかむ、SPEARの仕組み

左から右へ読む
  1. 01Pythonの操作指示
  2. 02UEの関数を呼ぶ
  3. 03フレーム内で実行
  4. 04画像と状態を取得

原論文の説明をもとにした模式図です。処理の細部は省略しています。

研究の背景

SPEARは、Unreal Engine(UE)で作られた場面をPythonから操作し、ロボットなどの行動を試したり、画像認識用の人工画像を作ったりするシミュレーターだ。現実の機器や撮影環境を用意する前に、場面と観測結果を扱えることが研究上の利点となる。

著者によると、従来のUE製シミュレーターには、Pythonから操作できる機能の少なさと、高解像度画像を受け取る際の通信負荷という課題がある。既存のUEプロジェクトへ組み込む手間も、実験を始める際に関わる。

手法

SPEARでは、Python側の指示を、UEアプリ内のプラグインへ送る。UEの「反射機構」は、実行中に参照できるクラス、関数、変数を調べる仕組みだ。利用者はそこに見える関数をPythonの関数のように呼び、例えば場面内の物体の位置を変えて状態を読み取れる。

利用者はフレームの開始時と終了時に行う操作をPythonで記述する。操作は指定した順に同じフレーム内で実行され、先の操作の結果を後の操作へ渡すこともできる。カメラ画像など大量のデータは、数値のまとまりを扱うNumPy配列として受け取れる。カメラは通常の画像のほか、距離、面の向き、物体の識別情報なども出力できる。

新規性

SPEARは、Unreal Engineの反射機構を介して、実行中のアプリ内にあるクラス、関数、変数をPythonから扱えるようにする。関数ごとの専用コードを用意せず、反射機構から見える機能を呼び出せる点が中核だ。

著者は、UE関数14,485件とプロパティ53,537件を公開したと報告する。さらに、依存関係のある操作を同一フレーム内で順番に実行する仕組みと、画像などをNumPy配列で受け渡す経路を備える。

従来手法との違い

著者の表では、反射機構を通じて公開されたUE関数はAirSimとCARLAが各0件、UnrealCV+が747件、SPEARが14,485件だった。各製品には別途実装された操作用関数もあるため、この数値だけで利用可能な操作全体は比較できない。

著者は画像取得も既存のUEプラグインより約一桁速いと述べる。ただし、速度比較表は途中で切れており、比較相手ごとの値や測定条件は照合できない。

実験結果

著者は、単一のSPEAR実行環境から1920×1080画素の画像をNumPy配列へ毎秒73フレームで描画したと報告する。機能比較表には、公開したUE関数14,485件、プロパティ53,537件とある。確認できた本文の範囲では速度比較表が途中で切れており、測定環境や比較相手ごとの速度は照合できない。

用途の実演として、複数のUEプロジェクトで人、車、ロボットなど異なる操作体系を持つ6種類の行動主体を制御した。都市規模の場面の描画、顔の複数視点画像、MuJoCoとの連携も示している。これらは適用例であり、実機での成功率や画像認識精度の改善値は示されていない。

応用の可能性

編集上の応用案 · 論文が実証した用途とは区別しています。

編集上の応用案:屋内を移動するロボットの障害物認識を試すため、UEの屋内シーンから学習用画像を作る。入力には利用可能なシーン、配置した物体、ロボットの移動指示、カメラ設定を用意し、SPEARから画像と物体の識別情報を取得する。

実環境で撮影した屋内写真と、障害物を示す正解ラベルも別途必要だ。物体の種類や見え方を対象環境に合わせて調整し、生成画像を加えた学習が実写真上の認識結果を変えるか確かめる。これは提案する用途であり、効果は報告されていない。

応用先の候補からNauhに相談できます。

導入時の検証

導入時の検証案 · 対象データでの再評価が必要です。

導入時の検証案:対象となるUEの屋内シーンを選び、必要な物体と識別情報、カメラ設定を用意する。Pythonから短い移動指示を送り、画像、物体の識別情報、位置を記録する。少数の出力を人が確認し、配置した物体と識別情報の対応を確かめる。

実写真と障害物の正解ラベルを集め、実写真だけで学習した認識器を基準にする。同じ実写真の評価用データで、生成画像を学習に加えた場合の認識精度を比較し、画像取得時間と取得失敗の割合も記録する。差が出たら、場面やラベルの偏りを点検する。

限界と課題

著者が明記する動作上の境界は、各処理単位は原則として一つのUEフレーム内で実行される一方、次の処理単位が必ず次のフレームで実行される保証はないことだ。連続した進行が必要なら、一時停止を使うか、一フレーム進めて次の指示を待つ設定を使う。

編集上の検証事項は、対象プロジェクトで必要な関数を呼べるか、画像と識別情報を対応付けて取得できるか、取得速度が用途に足りるかである。実環境との見え方の差や、生成画像による認識精度の変化も別途調べる必要がある。

研究内容と応用案に基づく分類です。業界での導入実績を示すものではありません。

出典

元のタイトル・要旨を確認する(英語)

SPEAR: A Simulator for Photorealistic Embodied AI Research

Interactive simulators have become powerful tools for training embodied agents and generating synthetic visual data, but existing photorealistic simulators suffer from limited generality, programmability, and rendering speed. We address these limitations by introducing SPEAR: A Simulator for Photorealistic Embodied AI Research. At its core, SPEAR is a Python library that can connect to, and programmatically control, any Unreal Engine (UE) application via a modular plugin architecture. SPEAR exposes over 14K unique UE functions to Python, representing an order-of-magnitude increase in programmable functionality over existing UE-based simulators. Additionally, a single SPEAR instance can render 1920x1080 photorealistic beauty images directly into a user's NumPy array at 73 frames per second - an order of magnitude faster than existing UE plugins - while also providing ground truth image modalities that are not available in any existing UE-based simulator (e.g., a non-diffuse intrinsic image decomposition, material IDs, and physically based shading parameters). Finally, SPEAR introduces an expressive high-level programming model that enables users to specify complex graphs of UE work with arbitrary data dependencies among work items, and to execute these graphs deterministically within a single UE frame. We demonstrate the utility of SPEAR through a diverse collection of example applications: controlling multiple embodied agents with distinct action spaces (e.g., humans, cars, and robots) across several in-the-wild UE projects; rendering photorealistic city-scale environments; manipulating UE's procedural content generation systems; rendering synchronized multi-view images of detailed human faces; coordinating an interactive co-simulation with the MuJoCo physics simulator; and editing scenes with natural language via an AI coding assistant.

論文本体の取得範囲に基づく解説。AIが作成した未校閲の記事です。性能の数値は著者の評価条件に依存します。応用例と検証計画は編集上の提案です。解説更新:2026-10-01