14.1K Views
November 24, 20
スライド概要
UNREAL FEST EXTREME 2020 WINTER 再生リスト
https://www.youtube.com/playlist?list=PLr_Cbd4sUDTzxG9a4TrU0Rg6-ApCJBCsI
講演内容:
先進運転支援システム(ADAS)を始めとする車両開発に、UE4を活用する試みが世界中で検討されています。車両開発者が既に利用されているシミュレーションソフトとUE4を接続する上での課題や解決方法を、実例を交えてお伝えします。また車載のLiDARセンサーの検証をVR空間内で行う取り組みやHMI開発についてもご紹介致します。https://www.rikei.co.jp/product/639/
講演者:
石川 大樹 ( 株式会社理経 新規事業推進室 室長 )
田村 貴紀 ( 株式会社理経 新規事業推進室 XRソリューショングループ グループ長 )
KHUSINOV JAKHONGIR ( 株式会社理経 シニアエンジニア )
https://unrealengine.jp/unrealfest/
#ue4fest
Unreal Engineを開発・提供しているエピック ゲームズ ジャパンによる公式アカウントです。 勉強会や配信などで行った講演資料を公開しています。 公式サイトはこちら https://www.unrealengine.com/ja/
自動運転車両開発における UE4の活用事例 株式会社理経 石川大樹、田村貴紀、KHUSINOV Jakhongir [email protected] #ue4fest
自己紹介 株式会社 理 経 株式会社 理 経 株式会社 理 経 新規事業推進室長 XRグループ長 UE4 シニアエンジニア 石川 大樹 田村 貴紀 KHUSINOV Jakhongir 2015年理経入社。 入社後「UE4を活用したVR開発」 に特化した新規事業部を立ち上げる。 2007年理経入社。 部品機器やシステムの営業を経て、 2017年からVR事業の営業責任者。 2010年にウズベキスタンから来日。 映像制作会社でUE4の開発に従事し た後、2018年理経入社。 自動車、不動産など幅広いエンター プライズ向けVRの企画立案・開発 を担う。 現在は自動車業界を中心に担当し、 車両開発に使われるシミュレーショ ンソフトウェアとUE4連携に特化。 防災、車両開発用VRなどの幅広い エンタープライズVRの統括エンジ ニアを務める。 #ue4fest
実績 株式会社SUBARU 様 日立オートモティブシステムズ株式会社 様 自動運転車両開発向けシミュレーション空間 自動運転技術の可視化にVRを活用 #ue4fest
実績 消防士訓練用VR開発 東京大学バーチャルリアリティ教育研究センター ・東京理科大学・横浜市消防局と共同研究 EPIC MegaGrants 受賞 コンテンツ海外展開 促進事業 防災訓練用に羽田空港ターミナルを製作。 Oculus ISV Program 西日本豪雨を再現し、広島県に納入。 #ue4fest
本日のテーマ UE4を活用した自動運転車両開発の現状 <対象領域> ADAS・自動運転 HILS・HMI リアルタイムシミュレーション センサーフュージョン リアルとバーチャルの差 #ue4fest
用語解説 ADAS HILS Carsim HMI ドライバー補助機能の総称(追従、レーンキープ) 複数のシミュレーションツールを連携させ開発する手法 世界的に有名な車両挙動シミュレーションツール ヒューマンマシンインターフェイスの略で人と車を繋ぐ機能 #ue4fest
#ue4fest
一般的な車両開発 企画・コンセプト シミュレーション 実装 景観 路面 車両 交通流 シナリオ センサー #ue4fest
UE4の活用 実空間 UnrealEngine4 仮想空間 #ue4fest
シミュレーション連携例 認識シミュレータ 自動運転コントローラ 車両開発用仮想空間 自動運転プロトタイプ 車 ①仮想カメラ映像 車両シミュレータ ②制御情報 ③周辺情報 知能ユニット UnrealEngine4 制御ユニット ロケータ ④各種オブジェクト位置情報 道路モデル OpenDRIVE or 座標データ CarSim路面モデル 画像 路面モデル 路面モデル構築 #ue4fest
認識シミュレータの必要要件とは? 実空間は二つの連続性が担保されており、それは“空間”と“時間”になります。 その上でAIが認識可能となる時間や空間の変換機能(入出力機能)が必要になります。 認識シミュレータでも空間、時間、入出力の3要素を表現する必要があります。 入出力 入出力 : カメラやレンズの再現 時間 : 外部システムとの同期(HILS / MILS / SILS) 空間 時間 空間 : VR空間のオブジェクト、反射及び周辺光 #ue4fest 12
路面作成 空間 • 路面制作が重要な理由 • Carsim / OpenDriveに対応 トベルーラ ベタン Atlatec社路面測定機器 #ue4fest
路面作成 空間 • (CSVの中身)路面データをCSVに出力 • CSVからInstaced Static Meshを作成し、 Static Mesh として保存 • Instaced Static Mesh作成はC++クラスで実装 • FBXでエクスポート→3dsMax等で使用 #ue4fest
路面作成 粒度 空間 • クライアントによって点群の粒度が異なる • 要求される粒度に変換する機能を作成 • 適度な粒度に調整可能 #ue4fest
入出力⇒レンズの再現 入出力 • レンズ実現が必要な理由 • 画角と対象物の大きさが変わるよって説明 #ue4fest
入出力 レンズ実現が必要な理由 実車カメラの映像 Unreal 画角を実に合わせる 適切なレンズ歪み Unreal対象の大きさを実に合わせる 17 #ue4fest
レンズ再現 入出力 • レンズ再現を実現するために何をしたか #ue4fest
レンズ再現 入出力 • レンズを実現するために何をしたか → PostProcessMaterialを作った ViewSizeからビュー取得 + UVを作成 ↓ UVを極座標に変換し出力 #ue4fest
レンズ再現 入出力 個々のレンズ歪みをCineCameraで再現 レンズ歪み低い レンズ歪み高い お台場 #ue4fest
レンズ再現 入出力 • 課題点:歪みが高くなる事による品質低下 #ue4fest
レンズ再現 入出力 • ビューをそのまま加工しているためノイズが発生 →別途テクスチャを加えて多少軽減できるが効果は限定的 レンズ歪み低い場合 レンズ歪み高い場合 #ue4fest
外部システムとの同期 時間 • 生成する映像は何もしないとずれる。 A B C HILS #ue4fest
複数カメラ(nDisplay) 時間 同期を行うには、nDisplayを利用 nDisplayで行った事。 • • • • カメラ対応付け PostProcessMaterialの個別適用 イベントクラスタの設定 外部システム同期確認 https://docs.unrealengine.com/ja/Engine/Rendering/nDisplay/index.html #ue4fest
複数カメラ(nDisplay) 時間 • 自車両に対しCineCameraアクタを複数台親子付け • 各カメラのビューをnDisplayに表示 • 4.25で追加されたBPノード”Set Camera”を使用 →自車両の各カメラにノードを対応付け #ue4fest
複数カメラ(nDisplay) 時間 • 4.25で追加されたBPノード”Set Camera”を使用 →自車両の各カメラにノードを対応付け #ue4fest
複数カメラ(nDisplay) 時間 • PostProcessMaterialの個別適用 • 複数種類ある歪みレンズPostProcessMaterialを 各カメラに個別に設定する必要 #ue4fest
複数カメラ(nDisplay) 時間 →単純にカメラに充てると… #ue4fest
複数カメラ(nDisplay) 時間 →単純にカメラに充てると…PostProcess反映されてない! #ue4fest
複数カメラ(nDisplay) 時間 • なぜか? →4.25のデフォルトではCameraへのPostProcessMaterial 適用は非対応 #ue4fest
複数カメラ(nDisplay) 時間 • なぜか? →4.25のデフォルトではCameraへのPostProcessMaterial 適用は非対応 なんとかしたい #ue4fest
複数カメラ(nDisplay) 時間 • 試行錯誤(その1) →CineCameraを CollisionBoxで囲った PostProcessVolumeに被せる #ue4fest
複数カメラ(nDisplay) 時間 →結果…全カメラのPostProcessが重なる! #ue4fest
複数カメラ(nDisplay) 時間 • 試行錯誤(その2) →BPノード”Get node ID”でnDisplayノードを区別してから PostProcessVolumeをEnabledにしたらよいのでは…? #ue4fest
複数カメラ(nDisplay) 時間 • あらかじめConfigfileで設定したノード名かをチェックして Enabledにする #ue4fest
複数カメラ(nDisplay) 時間 →結果…個別に適用できた! #ue4fest
複数カメラ(nDisplay) 時間 • 試行錯誤(まとめ) →”Get node ID”で各nDisplayノードを区別できるため 画面ごとに個別の処理を行うのに有効 →他にもnDisplayのBPノードを使えばできることが増えそう #ue4fest
複数カメラ(nDisplay) 時間 • クラスタイベントの設定 • クラスタイベント とは: →nDisplay クラスタのすべてのノードにイベントに 同時に応答させる手段 (公式ドキュメントより引用) →任意のイベントを各画面に対し同時に見えるように するための仕組み https://docs.unrealengine.com/ja/Engine/Rendering/nDisplay/ClusterEvents/index.html #ue4fest
複数カメラ(nDisplay) 時間 • WHY →HILSから一定周期で送られてくる全車両の位置情報を 全ノードに反映させるため (無いとマスターノードしか車が動かない) • HOW TO →車両ごとに位置情報をまとめて全ノードに送信、 情報を受け取ったらSet Actor Location And Rotation ノードで配置 #ue4fest
複数カメラ(nDisplay) 時間 • おおまかな設定方法(詳細はドキュメント参照) 1. BP内でイベント受信準備 2. 送りたい情報をString型のMapにまとめ、Emit cluster eventノードで送信 3. On Cluster Eventノードで受信時に情報を受け取る #ue4fest
複数カメラ(nDisplay) 時間 • 注意:クラスタイベントの連続送信 • 内容が同じMapを連続して送信すると最新のものだけ 送信される(nDisplay最適化のための仕様) →同じ情報を送る際は毎回異なる値(or文字列)を Mapの中にいれておく必要あり #ue4fest
リアルタイム同期(データのやりとり) 時間 • 外部システムと連携する上で同期が重要 • Carsim,Simulinkの連携 →汎用性が高く高速なUDP通信を使用 • UE4側での送受信をBPで行えばすばやく実装可能 #ue4fest
リアル絵評価 人間の目 空間 ⇔ AIの目 • 画像認識ではコントラスト比で物体を認識する手法もあるため 実映像のコントラストに寄せる必要がある →ヒストグラムに着目した #ue4fest
リアル絵評価 空間 • Adobe社Photoshopでヒストグラムを見てみると… →実空間とVR空間は全く違うヒストグラムがでてきた。。 →LUTを調整すれば実画像のコントラスト比を再現できる • より実映像に近い絵作りができる #ue4fest
リアル絵評価 加工前 空間 加工後 #ue4fest
アノテーション 空間 • アノテーションとはAIが物体を認識する際の枠付け行為 • UE4で再現したもの(Box,自車両との距離,etc…) • 複数オブジェクトに対してリアルタイムで認識 #ue4fest
アノテーション 空間 • アノテーションBoxの作成 →Box用の赤枠テクスチャを用意し、 マテリアルを作成 →人物を囲うようにPlaneを配置、 Tickでカメラに対し常にYawを90度 回転させ平面に表示 #ue4fest
アノテーション #ue4fest
LiDARシミュレーション(monoDrive) • センサーモデルに基づいたシミュレーション • シミュレーション結果をリアルタイムにVR空間へ反映 • 各オブジェクトの物質的性質も再現 • UnrealEngine4連携を主軸に考えた製品 #ue4fest 49
#ue4fest 50
HMI開発 • HMI(Human Machine Interface)開発 • ユーザビリティ評価 • 温度の再現 #ue4fest
ユーザビリティ評価 右センサー(脳血流) 脳活動時系列変化 グラフ 左センサー(脳血流) 心拍 加速度(6軸) 提供:株式会社FOVE #ue4fest
ユーザビリティ評価 デザインA デザインB #ue4fest
温度の再現 • 没入効果を高めるため、温度デバイスをUE4に連携 • 映像に合わせてリアルタイムに制御 • 10~45度を数秒間で調整 #ue4fest
VR内でUI/UXデザイン評価 ・開発過程の自動運転システムを再現 ・ヒヤリハット・インシデントを再現 オプション機能 : 天候、日照条件などの変更 協力:株式会社NeU #ue4fest
自動運転車両開発における UE4の活用事例 株式会社理経 石川大樹、田村貴紀、KHUSINOV Jakhongir [email protected] #ue4fest