JP6723533B2 - ドライビングシミュレーター - Google Patents

ドライビングシミュレーター Download PDF

Info

Publication number
JP6723533B2
JP6723533B2 JP2018128126A JP2018128126A JP6723533B2 JP 6723533 B2 JP6723533 B2 JP 6723533B2 JP 2018128126 A JP2018128126 A JP 2018128126A JP 2018128126 A JP2018128126 A JP 2018128126A JP 6723533 B2 JP6723533 B2 JP 6723533B2
Authority
JP
Japan
Prior art keywords
image
camera
video
unit
vehicle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018128126A
Other languages
English (en)
Other versions
JP2020008664A (ja
Inventor
健雄 木内
健雄 木内
尚史 木村
尚史 木村
岩根 和郎
和郎 岩根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IWANE LABORATORIES, LTD.
Toyo Corp
Original Assignee
IWANE LABORATORIES, LTD.
Toyo Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by IWANE LABORATORIES, LTD., Toyo Corp filed Critical IWANE LABORATORIES, LTD.
Priority to JP2018128126A priority Critical patent/JP6723533B2/ja
Publication of JP2020008664A publication Critical patent/JP2020008664A/ja
Application granted granted Critical
Publication of JP6723533B2 publication Critical patent/JP6723533B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、例えば自動車などの車両のドライビングシミュレーターに関し、特に、CGやアニメーション,静止画像などを使わないで、実際の道路などを走行して取得した実写映像によってシミュレーション画像を生成・出力させることができるドライビングシミュレーターに関する。
ドライビングシミュレーターは、例えば自動車(乗用車,トラック・バスなどの大型車等),二輪車,航空機,船舶,電車などの各種の車両の実際の運転操作部を模した疑似操作部を操作者が操作することで、操作者の前方等に表示される外界の風景を模した疑似画像(シミュレーション画像)が移動・変動することにより、車両の運転操作を疑似的に体験することができる装置・機器・プログラム(ソフトウェア)である。
このようなドライビングシミュレーターは、例えば自動車教習所の教習機器,航空機や船舶の訓練装置,運転免許の適性検査機、あるいは、ゲームセンターなどに設置されるゲーム機など、各種の分野で用いられている。
この種のドライビングシミュレーターに関する技術としては、例えば、特許文献1や特許文献2に提案されているものがある。
特開2010−134101号公報 特開2016−064097号公報
しかしながら、これまで提案されているドライビングシミュレーターでは、上述した特許文献1,2に開示されているものも含めて、操作者に出力・表示されるシミュレーション画像が、CG(コンピュータ・グラフィック)やアニメーション,静止画像などによって構成された仮想的な模擬画像となっていた。
このため、シミュレーション画像はあくまでも疑似的・仮想的なものであって、現実の外界風景とは異なるものであり、操作者に対して現実感や臨場感,迫力などを与えることが困難であった。
このような問題に対して、例えば実際の道路を車両で走行しながら外界風景の映像を撮影し、その実写映像をシミュレーション画像として用いることが考えられる。
ところが、そのようにして得られる実写映像は、撮影を行った車両が走行したとおりの映像のみであって、その映像を、どのような運転操作が行われるかが不確定なシミュレーターの運転操作に追随・対応させることは困難であり、また、運転操作に対応する全ての実写映像を用意することも困難であった。
本発明は、以上のような従来の技術が有する問題を解決するために提案されたものであり、実際の現実世界を撮影した実写映像に位置情報を付与して仮想空間に配置し、車両の運動情報と対応・連動させることにより、CGやアニメーション,静止画像等を用いることなく、実写映像で構成されたシミュレーション画像を生成・出力させることができるドライビングシミュレーターの提供を目的とする。
上記目的を達成するため、本発明のドライビングシミュレーターは、映像のフレーム画像毎に位置情報が付与された実写映像を生成する映像データ作成部と、車両の速度及び進行方向を示す車両運動情報を入力し、前記実写映像の位置情報と前記車両運動情報に基づいて、入力される車両運動情報に対応する実写映像を再生する映像再生部と、を備え、前記映像再生部は、前記位置情報に基づいて、前記実写映像を投影する三次元モデルとなる所定の仮想壁を生成する仮想壁生成部と、前記車両運動情報に基づいて車両位置を求める車両位置算出部と、前記車両位置に基づいて、前記実写映像から最も近いフレーム画像を抽出するフレーム画像抽出部と、抽出されたフレーム画像を、前記仮想壁に投影する仮想壁投影部と、前記仮想壁に投影されたフレーム画像に対する視点の位置と方向を決定して再生画像を描画する画像描画部と、を備え、前記再生画像が繰り返し描画されることにより、前記映像再生部に入力される車両運動情報に実写映像が再生される構成としてある。
また、本発明は、上記のような本発明に係るドライビングシミュレーターを構成する情報処理装置で実行されるプログラムとして構成することができる。
さらに、本発明は、上記のような本発明に係るドライビングシミュレーター及びプログラムによって実施可能な方法として実施することもできる。
本発明のドライビングシミュレーターによれば、実際の現実世界を撮影した実写映像に位置情報を付与して仮想空間に配置することにより、車両の運動情報と対応・連動させて出力・表示させることが可能となる。
これによって、CGやアニメーション,静止画像等を用いることなく、実写映像で構成されたシミュレーション画像を生成・出力して、操作者に対して現実感や臨場感,迫力などを与えることができるドライビングシミュレーターを提供することができる。
本発明のドライビングシミュレーターの概念を模式的に示す説明図である。 ドライビングシミュレーターにより実行されるプロセスフローを示す説明図である。 ドライビングシミュレーターで用いられるCV映像の基本概念を模式的に示す説明図である。 CV映像を生成するためのCV演算を行うCV演算部(映像データ作成部)の構成を示す機能ブロック図である。 CV演算部で使用する全周ビデオ映像を撮影する手段を示す概略図であり、屋根部に全周カメラを搭載した車輌の斜視図である。 CV演算部で使用する全周ビデオ映像を撮影する手段を示す概略図であり、(a)は屋根部に全周カメラを搭載した車輌の正面図、(b)は同じく平面図である。 全周カメラで撮影される映像から得られる変換画像を示す説明図であり、(a)は球面画像が貼り付けられる仮想球面を、(b)は仮想球面に貼り付けられた球面画像の一例を、(c)は(b)に示した球面画像をメルカトール図法に従って平面展開した画像を示している。 CV演算部おける具体的なカメラベクトルの検出方法を示す説明図である。 CV演算部における具体的なカメラベクトルの検出方法を示す説明図である。 CV演算部における具体的なカメラベクトルの検出方法を示す説明図である。 CV演算部によるカメラベクトルの検出方法における望ましい特徴点の指定態様を示す説明図である。 CV演算部により得られる特徴点の三次元座標とカメラベクトルの例を示すグラフである。 CV演算部により得られる特徴点の三次元座標とカメラベクトルの例を示すグラフである。 CV演算部により得られる特徴点の三次元座標とカメラベクトルの例を示すグラフである。 CV演算部において、カメラから特徴点の距離に応じて複数の特徴点を設定し、それを隣接するフレームに亘って追跡し、複数の演算を繰り返し行う場合を示す説明図である。 CV演算部で求められたカメラベクトルの軌跡をビデオ映像中に表示した場合の図である。 ドライビングシミュレーターの映像データ作成部及び映像再生部の構成を示す機能ブロック図である。 画像データの作成手順の概要を示す説明図である。 画像データのコの字型スクリーンへの投影の概要を示す説明図である。 映像再生部での動画プレイヤーの処理全体を示すフローチャートである。 映像再生部での再生処理の流れを示すフローチャートである。 ステアリング舵角に対する回転半径の算出方法を示す説明図である。 映像再生部での最近傍フレーム画像の抽出処理を模式的に示す説明図である。 映像再生部でのコの字型スクリーンに展開された画像データの揺れ止め処理の概要を示す説明図である。 入力デバイスからのステアリングデータと視点方向・視界の関係を示す説明図である。 自由視点移動の考え方を示す説明図である。 自由視点移動の考え方を示す説明図である。 仮想壁の一例を示すイメージ図である。 仮想壁の作成方法を示す説明図である。 コの字型スクリーンの実写映像を仮想壁に投影する場合の説明図である。 コの字型スクリーンの実写映像を仮想壁に投影する場合の説明図である。 コの字型スクリーンの実写映像を仮想壁に投影する場合の説明図である。 仮想壁に投影された映像のディスプレイへの出力結果をしめす説明図である。 撮影位置と異なる視点位置から見た出力映像の説明図である。
以下、本発明に係るドライビングシミュレーターの好ましい実施形態について、図面を参照しつつ説明する。
ここで、以下に示す本発明のドライビングシミュレーターは、プログラム(ソフトウェア)の命令によりコンピュータで実行される処理,手段,機能によって実現される。プログラムは、コンピュータの各構成要素に指令を送り、以下に示すような所定の処理や機能、例えば、対象映像中の基準となる特徴点(基準点)やその他の特徴点の自動抽出,抽出した基準点の自動追跡,基準点の三次元座標の算出,CV(カメラベクトル)値の演算,複数のCV映像のコの字型スクリーン・仮想壁への配置・展開,複数のCV映像からの最適な画像フレームの選択,複数の画像フレームの視点方向及び視点移動方向の変換,選択された画像フレームの結合等を行わせる。このように、本発明における各処理や手段は、プログラムとコンピュータとが協働した具体的手段によって実現される。
なお、プログラムの全部又は一部は、例えば、磁気ディスク,光ディスク,半導体メモリ,その他任意のコンピュータで読取り可能な記録媒体により提供され、記録媒体から読み出されたプログラムがコンピュータにインストールされて実行される。
また、プログラムは、記録媒体を介さず、通信回線を通じて直接にコンピュータにロードし実行することもできる。
また、コンピュータは、例えば一台のPC等で構成してもよく、また、複数台のサーバコンピュータ等で構成することもできる。
[ドライビングシミュレーター]
図1は、本発明のドライビングシミュレーターの概念を模式的に示す説明図である。
本発明のドライビングシミュレーター(以下「本システム」ともいう)は、事前にビデオカメラ等の撮影手段(後述する360°カメラ参照)で撮影した実際の走行映像を、車両の運動に連動させて再生するものであり、以下のような特徴を有している。
・シミュレーション画像として、CGモデルではなく実写映像を用いることができる。
・CV技術(図3〜図16参照)を用いることによって、車両の運動情報と実写映像を正確に連動させることができる。
・操作者の操作、例えばステアリング操作等による車両のふらつきに伴う視点の変化と視線の向きの変化を再現することができる。
本システムにおいて、シミュレーション画像を出力・再生する動画プレイヤーは、図1(a)に示すように、運転者(操作者)の操作を、例えばマウス,キーボード,ジョイスティック、あるいはシャシダイナモ上の車両のハンドル・アクセルなどの入力デバイスから車両運動情報として受け取る。この動画プレイヤーが、本発明に係る「映像再生部」を構成する。
具体的には、動画プレイヤーは、入力デバイスから刻々と変化する車速とステアリング舵角を受け取って、その瞬間の車両の位置と姿勢を予測し、最適な実写映像のフレーム選択及び表示する処理をリアルタイムに行う。
ここで、最適な実写映像のフレーム選択を行うためには、映像のフレームひとつひとつに位置情報が必要になる。そこで、本システムでは、CV技術により求められるCV値を位置情報として利用するようにしている。
CV技術とは、後述するように(図3〜図16参照)、事前に360°カメラで撮影した走行映像に対して、カメラベクトル(CV:Camera Vector)演算を行うことによって、実写映像を構成する各フレームのCV値(撮影時におけるカメラの三次元位置と姿勢)を求めるものである。
このCV値を利用することにより、実写映像のフレーム選択は、予測された三次元位置に最も近いフレームを選択するだけでよく、車両の走行と連動した映像を再生することが可能となる。
また、CV値を用いることにより、低コストで、車両の運動情報に連動した視点・視線の変化を再現することが可能となる。
ドライビングシミュレーターにおいては、例えばステアリング操作による車両のふらつきに伴う、視点の変化と視線の向きの変化を再現する必要があり、そのためには、どこから見ても矛盾の無い三次元復元を行う必要がある。
ところが、そのような実写映像の三次元復元を実現するのはコストが高く現実的とはいえない。
そこで、本システムでは、CV値から路面の形状を推定して作成した簡易的なトンネル状の三次元モデルに実写映像を投影するようにしている(後述する仮想壁の生成・投影を参照)。これにより、任意の視点から見た景色を疑似的に作り出すことができるようになる。
また、本システムにおいて車両の運動情報を入力するための手段としては、図1(a)に示すような各種の入力デバイスがあるが、入力デバイスの代わりに、図1(b)に示すように、例えば車両運動シミュレーターとシャシダイナモを使用することも可能である。
具体的には、車両運動シミュレーターには車両情報とCV値から求めたおおよその道路形状の情報を与えておく。
シャシダイナモは、車両から取得したトルクとタイヤの切れ角を車両運動シミュレーターに送信し、車両運動シミュレーターは車速、タイヤの切れ角および路面形状、天候による路面摩擦係数の違いから車両の運動を予測し、適切な負荷をシャシダイナモにフィードバックすると同時に、本システムの動画プレイヤーに現在の車両の位置と姿勢を送信する。この場合、車両の位置と姿勢の予測は、車両運動シミュレーターが行うことになる。
このように、車両運動シミュレーターを使用した場合、車両の計算のための自由度が上がるだけでなく、タイヤと路面との摩擦係数を設定し、スリップ状態を考慮して車両運動状態を算出することが可能となる。
[プロセスフロー]
図2は、本システム(ドライビングシミュレーター1)により実行されるプロセスフローを示す説明図である。
同図に示すように、本システムは、実写映像撮影部10で実行される撮影プロセス、映像データ作成部20で実行されるデータ作成プロセス、映像再生部30で実行される再生プロセス、の大きく3つのプロセスが実行されるようになっている。
以下、本システムにおいて動画プレイヤーで実写映像が再生されるまでのプロセスフローを以下に示す。
[撮影プロセス]
実写映像撮影部10で実行される撮影プロセスでは、実写映像を入手するため、撮影装置を搭載した車両を使って走行しながら撮影が行われる。
撮影装置としては、高精度GNSS,同期用GNSS,360°カメラ,カメラ架台,カメラ固定器具などが含まれる。
360°カメラとGNSSのデータは、撮影データとして記録され、撮影データファイルに蓄積される。
[GNSSの役割]
ここで、GNSS(Global Navigation Satellite System:全地球測位衛星システム)の技術的な役割としては、CV演算過程で発生する累積誤差の抑制とスケールの決定を行うことにある。
CV技術によれば、後述するように、カメラ映像から相対的な移動量を求めることはできるが、累積誤差が発生する。また、カメラ映像だけでは、カメラの位置にスケールを与えることができない。
そこで、本システムでは、GNSSから得られた公共座標と映像を紐づけることによって、累積誤差の抑制とスケールを決定することができるようにしている。
[同期用GNSSと高精度GNSS]
GNSSとしては、高精度GNSSと同期用GNSSの2つのGNSSを用いる。
各画像と高精度GNSSにより得られた公共座標の対応づけを行うために、同期用GNSSを用いる。本システムを構成するコンピュータ(情報処理装置)の内部時計と高精度GNSSの時計(UTC時間:協定世界時Coordinated Universal Time)は共通であるとは限らない。したがって、その対応づけのためには、2つの共通の時計を使わなければならない。
そこで、本システムでは、同期用GNSSを使って画像を撮影した瞬間のUTC時間を取得しておき、共通の時計であるUTC時間を使って画像と公共座標の対応付けを行うようにしている。
具体的には、対象となる実写映像の撮影時に同期用GNSSと高精度GNSSを同時に取り付ける。高精度GNSSについては、撮影終了後に後処理を行い、その結果をCV処理に利用する。基地局となる電子基準点が国土地理院GEONET(GNSS連続観測システム:GNSS Earth Observation Network System)により一般に公開されているため、そのデータを基地局として使用することができる。
なお、高精度な公共座標が必要でなければ、同期用GNSS単独での装備でも撮影は可能である。
しかし、異なるタイミングで撮影したCV映像をシームレスに結合し再生するためには、異なるタイミングで撮影した動画と座標系を統一する作業を行う必要がある。精度が悪い位置情報の場合、後述するCV統合作業に非常に時間がかかり効率が悪いため、本システムでは高精度GNSSと合わせて撮影することとしている。
[データ作成プロセス]
映像データ作成部20で実行されるデータ作成プロセスでは、後続の再生プロセスで必要となるファイルを事前に作成しておくことを目的とするものである。この映像データ作成部20が、映像のフレーム画像毎に位置情報が付与された実写映像を生成する本発明の映像データ作成部を構成する。
具体的には、後述するCV演算によって得られたCV値と映像が、それぞれCVファイル,画像アーカイブファイルとして保存される。
画像アーカイブファイルには、全フレームの全周映像が正距円筒画像として保存される。
ここで、再生処理では、後述するように、正面方向の一部の画像領域しか必要としないため、全周囲をカバーする正距円筒画像をそのまま使うのは動画プレイヤーの処理負荷を増大させ効率的ではない。
そこで、本システムでは、正距円筒画像から正面方向の一部を切り出して画素数を減らすとともに、目的の画像データを取り出しやすくするために、アーカイブされていたファイルをフレームごとに独立した画像ファイルに分解しておく。
このようにして出来上がった、CVファイルとフレームごとに独立した画像ファイルを、再生処理で利用し、所定のシミュレーション画像が生成・出力できるようになる。
[再生プロセス]
映像再生部30で実行される再生プロセスでは、動画プレイヤーが、入力デバイスから送られてくる車速とステアリング角に連動した映像を、所定のディスプレイに出力・表示することにより行われる(後述する図33〜図34参照)。
この映像再生部30が、車両の速度及び進行方向を示す車両運動情報を入力し、実写映像の位置情報と車両運動情報に基づいて、入力される車両運動情報に対応する実写映像を再生する本発明の映像再生部を構成する。
データ作成プロセス及び再生プロセスの具体的な処理の手順・アルゴリズム等については、図3以下の各図面を参照しつつ更に詳細に説明する。
[CV映像/CV技術]
まず、本システムにおいてシミュレーション画像として用いられる実写映像に位置情報が付与されたCV映像を生成するCV技術について、図3〜図16を参照して説明する。
CV技術(CV演算)は、本願の出願人に係る特許第4446041号公報等で開示している技術であり、360°全周映像の中に特徴点を自動抽出し、それを隣接する複数フレームにトラッキングし、カメラ移動のベースとトラッキング点で校正する三角形を構成し、そのトラッキングデータを解析することで、特徴点の三次元座標と、カメラ位置と姿勢を持つ全周CV(カメラベクトル)映像を取得するものである。
CV技術の特徴は、全周囲動画映像からカメラ位置を自動的に高精度に求めることにある。全周囲動画映像は、水平方向だけでなく仰角俯角映像をも含む360度の映像であり、4πビデオ映像とも呼ばれる。この4πビデオ映像を画像処理し、4πビデオ映像から三次元情報を取得できる三次元化映像がCV映像である。
CVとは、カメラベクトル:Camera Vectorのことであり、このカメラベクトルを求める演算がCV演算である。また、CV値とは、撮影カメラの6自由度を持つカメラベクトルを意味し、映像の各フレームの三次元位置と三次元姿勢を意味する。
なお、CV値と同様の位置情報を、例えばGPSとIMUからでも取得することは可能である。しかしながら、CV演算による方が、精度が高く、コストがかからず、簡単に生成・取得することができる。このため、本システムでは、4πビデオ映像を用いた、カメラの位置と姿勢を数学的解析による精度の良いCV値を求めるようにしている。
また、4πビデオ映像は、映像の各ピクセル座標がカメラ中心からの方向を示しており、古典的な三角測量の線形代数の範囲で処理可能であり、しかも演算に必要な特徴点を全方向に対して取得できるので、演算精度が向上するという優れた特徴を持っている。
さらに、CV映像を取得するには、複数カメラは必要なく、例えば単一カメラでも良いという特徴がある。
すなわち、CV演算は、原理的に単一カメラで処理が可能であるため、システム・装置の構成がきわめて単純化されるという優れた効果を有している。
このようなCV演算により、映像の各フレームに対応するカメラ位置[X,Y,Z]と姿勢[θx,θy,θz]を示す三次元データが、映像の全フレームについて求められ、それが映像データに付加されることで、CV値付加全周映像という新たな映像、すなわち、CV映像が取得できるようになる。
なお、映像の各フレームがCV値を持ったことで、映像はいつでも三次元化が可能な状況になる。このことから、CV映像は、2.5次元映像と呼ぶこともできる。
全フレームのカメラ位置と姿勢が既知となったことで、カメラ移動近傍の対象物を広範囲の視角からとらえ、対象物の三次元座標や、三次元形状を座標とともに読み取ることが可能となる。そして、これによって、実写映像があたかもCGであるかのように、様々な映像の加工が可能になるという優れた特徴を有している。
これによって、本システムでは、実際の走行車両で取得した実写映像を、シミュレーション画像として生成・出力することができるものである。
以下に示す本システムの一実施形態では、例えばビデオカメラで撮影・取得された対象となる実写映像において、映像中の任意の点や対象物を指定・選択することにより、その指定された点・対象物に向かって、複数のフレーム画像にわたる最適な経路を選択して視点を移動させ、CGにおけるようなゆがみのない、自然な視点移動による動画(連続画像)として再生することができるものである。
そして、本システムでは、上記のような自由な視点移動表示を実現するために、対象映像に所定の三次元座標と姿勢の計6変数の情報を付与したCV(カメラベクトル)映像を用いるようにしている。
なお、上記と同等の6変数は、例えばカメラに取り付けた機械センサー(IMUとジャイロ等)などによっても取得でき、そのように取得された位置情報を用いることも可能である。しかしながら、本システムでは、CV演算による方が、精度が高く、コストがかからず、簡単に生成・取得することができるため、CV映像を用いるものである。
以下、本システムで用いられるCV映像の詳細について説明する。
図3は、本システムで用いられるCV映像の基本概念を模式的に示す説明図である。
図3(a)に示すように、実写映像によるドライビングシミュレーションを行う前提として、シミュレーション画像を構成する対象映像を取得・撮影する撮影カメラを車両等の移動体に設置し、動画映像、又は連続する静止画を取得する。その上で、取得した対象映像の各フレーム画像の中に特徴点を抽出するなどして、数学的演算により、全フレームのカメラ位置と姿勢を演算で求める。
具体的には、図3(b)に示すように、カメラ位置と姿勢を6変数、具体的には、カメラの位置座標(X,Y,Z)とそれぞれの座標軸の回転角(θx,θy,θz)の六個の自由度のベクトル(カメラベクトル:CV)で表し、それを映像の各フレームに一対一に対応させることで、CV映像を生成することができる(後述する図4〜図16参照)。
このCV映像を用いることで、既存の画像合成技術のようなCGを用いることなく、任意の映像において自由な視点移動を可能とするドライビングシミュレーションが可能となる。
ここで、目的となるカメラの位置と姿勢を示す6変数とは、座標[X,Y,Z]と姿勢[θx,θy,θz]の計6種類の変数である。
すなわち、本システムにおけるCV演算とは、対象映像に含まれる任意の点・対象物について、その位置と姿勢を示す6変数を取得するものである。この6変数の取得とは、上述のとおり、三次元位置座標を示す[X,Y,Z]と姿勢を示す[θx,θy,θz]の6個の変数を決定することである。
このような位置と姿勢の6変数を示すCV値が付与された映像が、CV映像である。CV値は連続する画像から演算で取得する(日本国特許第4446041号)こともできるが、例えばIMU、Gyroなどから直接取得することもできる。
[用語の定義]
次に、本明細書・特許請求の範囲中において使用する用語・語句についての定義を説明する。
・CV値/CV映像/CV画像:
移動する物体、(たとえば車両やロボット等)に積載された機械センサーで得られた6変数、及びカメラから得られた連続する静止画像、又は動画像から、カメラの位置と姿勢を算出した6変数をカメラベクトル(CV)と呼称し、その値をCV値といい、CV値を演算で求めることをCV演算といい、そしてそのようなCV値を有する画像をCV映像という。
なお、カメラに一体化された機械センサーから得られた6変数も、本発明に係るCV値とすることができる。
また、連続しない単独の画像についてはCV画像と呼称することがある。あるいは、1フレームについてのみ着目するときには、当該1フレームの画像をCV画像と呼称することがある。つまり、CV画像はCV映像の特殊な状態(単独画像)である。
・視点移動/視点方向の移動:
本発明において、「視点移動」とは、任意の映像(対象映像・CV映像・連続画像)中において、視点の場所と視点方向を自由に変化させて表示することをいう。
一方、「視点方向の移動」とは、任意の映像中において、場所は固定として、視点の方向のみを変化させることをいう。
これら視点移動/視点方向の移動については、後述する図26〜図34を参照しつつ詳しく説明する。
[CV演算]
以下、本システムで用いられるCV映像を生成するためのCV演算の詳細について図4〜図16を参照しつつ説明する。
CV演算とはCV値を求めることを意味し、求められた結果をCV値,CVデータと呼ぶ。CVという表記は、「カメラベクトル:Camera Vector」の略記であり、カメラベクトル(CV)とは計測等のために映像を取得するビデオカメラ等のカメラの三次元位置と3軸回転姿勢を示す値である。
CV演算は、動画像(ビデオ映像)を取得し、その映像内の特徴点を検出し、それを隣接する複数のフレームに追跡し、カメラ位置と特徴点の追跡軌跡とが作る三角形を画像内に数多く生成し、その三角形を解析することで、カメラの三次元位置とカメラの3軸回転姿勢を求めるものである。
CV演算では、CV値を求める過程で、同時に映像内の特徴点(基準点)についても三次元座標が同時に求まることが重要な特性である。
また、動画像から演算で求められるCV値は、動画像の各フレームに対応して、三次元のカメラ位置と三次元のカメラ姿勢とが同時に求まる。しかも、原理的には一台のカメラで、映像と対応してCV値が求められる特性は、CV演算でしか実現し得ない、優れた特徴である。
例えば、他の方法による計測手段(GPSやIMU等)では、動画像の各フレームと、その三次元的カメラ位置と三次元的カメラ姿勢とを同時に取得するためには画像フレームと計測サンプリング時刻を高精度で、しかも完全に同期しなければならないために、巨額の装置となり、実質的には実現が困難である。
動画像から演算で求められるCVデータは、加工しない段階では相対値であるが、短区間であれば高精度で三次元位置情報と3軸回転の角度情報を取得できる。
また、CVデータは画像から取得するため、取得されたデータは相対値であるが、画像内の任意の対象物との位置関係を計測することができるという他の方法では実現は可能な優れた特性を備える。
また、画像に対応したCV値が求まるので、画像内計測や測量において、画像から直接にカメラ位置とその3軸回転姿勢を求めることができるCV演算は画像内計測や画像内測量に好適となる。
そして、本発明のドライビングシミュレーター1は、このCV演算により得られたCV値データが付与された映像(CV映像)に基づくことにより、映像中の任意の点・対象物についての視点移動処理を行うことができるものである。
[CV演算部]
CV演算は、上述した本発明のドライビングシミュレーター1の映像データ作成部20(図2参照)として機能するCV演算部20で行われる。
CV演算部(映像データ作成部)20は、図4に示すように、車載のビデオカメラ等で構成される実写映像撮影部10から入力されるビデオ映像について所定のCV演算処理を行うようになっており、具体的には、特徴点抽出部21と、特徴点対応処理部22と、カメラベクトル演算部23と、誤差最小化部24と、三次元情報追跡部25と、高精度カメラベクトル演算部26を備えている。
まず、CV演算に使用する映像としては、どのような映像でもよいが、画角の限られた映像では視点方向を移動した場合に映像がとぎれてしまうので、全周映像(図5〜7参照)とすることが望ましい。なお、動画映像は連続する静止画と同様であり、静止画と同様に扱うことができる。
また、映像は、一般には予め記録した動画映像を使うことになるが、自動車等の移動体の移動に合わせてリアルタイムに取り込んだ映像を使用することも勿論可能である。
そこで、本実施形態では、CV演算に使用する映像として、車輌等の移動体の360度の全周囲を撮影した全周映像(図5〜7参照)か、又は全周映像に近い広角映像を用いて、その全周映像を視点方向に平面展開することにより、任意の視点移動の対象となる対象映像を取得・生成するようになっている(実写映像撮影部10)。
ここで、全周映像の平面展開とは、全周映像を、通常の画像として遠近法的に表現するものである。ここで、「遠近法」と呼称するのは、全周画像のそのものはメルカトール図法や球面投影図法のように、遠近法とは異なる方法で表示されているので(図7参照)、これを平面展開表示することで、通常の遠近法映像に変換表示できるからである。
実写映像撮影部10において全周映像を生成するには、まず、図5及び図6に示すように、全周ビデオカメラ11を使用して、CV値データを取得する目的で、走行車輌等の移動体11aに固定された全周ビデオカメラ(360°カメラ)11で、移動体11aの移動とともに移動体周辺を撮影する。
なお、移動体11aには、その位置座標を取得する目的で、例えば、絶対座標を取得するGPS機器単独やIMU機器を付加したもの等により構成した位置計測機器等を備えることができる。
また、移動体11aに搭載される全周ビデオカメラ11としては、広範囲映像を撮影,取得するカメラであればどのような構成であってもよく、例えば、広角レンズや魚眼レンズ付きカメラ、移動カメラ、固定カメラ、複数のカメラを固定したカメラ、360度周囲に回転可能なカメラ等がある。本実施形態では、図5及び図6に示すように、車輌に複数のカメラが一体的に固定され、移動体11aの移動に伴って広範囲映像を撮影する全周ビデオカメラ11を使用している。
そして、以上のような全周ビデオカメラ11によれば、図6に示すように、移動体11aの天井部等に設置されることで、カメラの360度全周囲の映像を複数のカメラで同時に撮影することができ、移動体11aが移動することで、広範囲映像を動画データとして取得できる。
ここで、全周ビデオカメラ11は、カメラの全周映像を直接取得できるビデオカメラであるが、カメラの全周囲の半分以上を映像として取得できれば全周映像として使用できる。
また、画角が制限された通常のカメラの場合でも、CV演算の精度としては低下するが、全周映像の一部分として取り扱うことが可能である。
なお、全周ビデオカメラ11で撮影された広範囲映像は、一枚の画像として、撮影時の画角に一致する仮想球面に貼り付けることができる。
仮想球面に貼り付けられた球面画像データは、仮想球面に貼り付けた状態の球面画像(360度画像)データとして保存・出力される。仮想球面は、広範囲映像を取得するカメラ部を中心点とした任意の球面状に設定することができる。
図7(a)は球面画像が貼り付けられる仮想球面の外観イメージであり、同図(b)は仮想球面に貼り付けられた球面画像の一例である。また、同図(c)は、(b)の球面画像をメルカトール図法に従って平面展開した画像例を示す。
そして、以上のように生成・取得された全周ビデオ映像が、本発明に係る対象映像としてCV演算部(映像データ作成部)20に入力されてCV値データが求められる(図4参照)。
CV演算部20では、まず、特徴点抽出部21が、実写映像撮影部10の全周ビデオカメラ11で撮影されて一時記録された動画像データの中から、十分な数の特徴点(基準点)を自動抽出する。
特徴点対応処理部22は、自動抽出された特徴点を、各フレーム間で各フレーム画像内において自動的に追跡することで、その対応関係を自動的に求める。
カメラベクトル演算部23は、対応関係が求められた特徴点の三次元位置座標から各フレーム画像に対応したカメラベクトルを演算で自動的に求める。
誤差最小化部24は、複数のカメラ位置の重複演算により、各カメラベクトルの解の分布が最小になるように統計処理し、誤差の最小化処理を施したカメラ位置方向を自動的に決定する。
三次元情報追跡部25は、カメラベクトル演算部23で得られたカメラベクトルを概略のカメラベクトルと位置づけ、その後のプロセスで順次画像の一部として得られる三次元情報に基づいて、複数のフレーム画像に含まれる部分的三次元情報を隣接するフレームの画像に沿って自動追跡を行う。ここで、三次元情報(三次元形状)とは、主に特徴点の三次元分布情報であり、すなわち、三次元の点の集まりであり、この三次元の点の集まりが三次元形状を構成する。
高精度カメラベクトル演算部26は、三次元情報追跡部25で得られた追跡データに基づいて、カメラベクトル演算部23で得られるカメラベクトルより、さらに高精度なカメラベクトルを生成,出力する。
そして、以上のようにして得られたカメラベクトルが、映像再生部30に入力され、映像中で指定・選択される任意の点や対象物についての視点移動処理に利用されることになる。
複数の画像(動画又は連続静止画)の特徴点からカメラベクトルを検出するには幾つかの方法があるが、図4に示す本実施形態のCV演算部20では、画像内に十分に多くの数の特徴点を自動抽出し、それを自動追跡することで、エピポーラ幾何学により、カメラの三次元ベクトル及び3軸回転ベクトルを求めるようにしてある。
特徴点を充分に多くとることにより、カメラベクトル情報が重複することになり、重複する情報から誤差を最小化させて、より精度の高いカメラベクトルを求めることができる。
カメラベクトルとは、カメラの持つ自由度のベクトルである。
一般に、静止した三次元物体は、位置座標(X,Y,Z)と、それぞれの座標軸の回転角(θx,θy,θz)の六個の自由度を持つ。
したがって、カメラベクトルは、カメラの位置座標(X,Y,Z)とそれぞれの座標軸の回転角(θx,θy,θz)の六個の自由度のベクトル(6変数)をいう。なお、カメラが移動する場合は、自由度に移動方向も入るが、これは上記の六個の自由度(変数)から微分して導き出すことができる。
このように、本実施形態のカメラベクトルの検出とは、カメラは各フレーム毎に六個の自由度の値をとり、各フレーム毎に異なる六個の自由度を決定することである。
以下、CV演算部20における具体的なカメラベクトルの検出方法について、図8〜図16を参照しつつ説明する。
まず、上述した実写映像撮影部10の全周ビデオカメラ11で取得された画像データは、間接に又は直接に、CV演算部20の特徴点抽出部21に入力され、特徴点抽出部21で、適切にサンプリングされたフレーム画像中に、特徴点となるべき点又は小領域画像が自動抽出され、特徴点対応処理部22で、複数のフレーム画像間で特徴点の対応関係が自動的に求められる。
具体的には、カメラベクトルの検出の基準となる、十分に必要な数以上の特徴点を求める。画像間の特徴点とその対応関係の一例を、図8〜図10に示す。図中「+」が自動抽出された特徴点であり、複数のフレーム画像間で対応関係が自動追跡される(図10に示す対応点1〜4参照)。
ここで、特徴点の抽出は、図11に示すように、各画像中に充分に多くの特徴点を指定,抽出することが望ましく(図11の○印参照)、例えば、100点程度の特徴点を抽出する。
続いて、カメラベクトル演算部23で、抽出された特徴点の三次元座標が演算により求められ、その三次元座標に基づいてカメラベクトルが演算により求められる。具体的には、カメラベクトル演算部23は、連続する各フレーム間に存在する、十分な数の特徴の位置と、移動するカメラ間の位置ベクトル、カメラの3軸回転ベクトル、各カメラ位置と特徴点をそれぞれ結んだベクトル等、各種三次元ベクトルの相対値を演算により連続的に算出する。
本実施形態では、例えば、360度全周画像のエピポーラ幾何からエピポーラ方程式を解くことによりカメラ運動(カメラ位置とカメラ回転)を計算するようになっている。
図10に示す画像1,2は、360度全周画像をメルカトール展開した画像であり、緯度φ、経度θとすると、画像1上の点は(θ1,φ1)、画像2上の点は(θ2,φ2)となる。そして、それぞれのカメラでの空間座標は、z1=(cosφ1cosθ1,cosφ1sinθ1,sinφ1)、z2=(cosφ2cosθ2,cosφ2sinθ2,sinφ2)である。カメラの移動ベクトルをt、カメラの回転行列をR、とすると、z1T[t]×Rz2=0がエピポーラ方程式である。
十分な数の特徴点を与えることにより、線形代数演算により最小自乗法による解としてt及びRを計算することができる。この演算を対応する複数フレームに適用し演算する。
ここで、カメラベクトルの演算に利用する画像としては、360度全周画像を用いることが好ましい。
カメラベクトル演算に用いる画像としては、原理的にはどのような画像でも良いが、図10に示す360度全周画像のような広角画像の方が特徴点を数多く選択し易くなる。そこで、本実施形態では、CV演算に360度全周画像を用いており、これによって、特徴点の追跡距離を長くでき、特徴点を十分に多く選択することができ、遠距離、中距離、短距離それぞれに都合の良い特徴点を選択することができるようになる。また、回転ベクトルを補正する場合には、極回転変換処理を加えることで、演算処理も容易に行えるようになる。これらのことから、より精度の高い演算結果が得られるようになる。
なお、図10は、CV演算部20における処理を理解し易くするために、1台又は複数台のカメラで撮影した画像を合成した360度全周囲の球面画像を地図図法でいうメルカトール図法で展開したものを示しているが、実際のCV演算では、必ずしもメルカトール図法による展開画像である必要はない。
次に、誤差最小化部24では、各フレームに対応する複数のカメラ位置と複数の特徴点の数により、複数通り生じる演算方程式により、各特徴点に基づくベクトルを複数通り演算して求めて、各特徴点の位置及びカメラ位置の分布が最小になるように統計処理をして、最終的なベクトルを求める。例えば、複数フレームのカメラ位置、カメラ回転及び複数の特徴点について、Levenberg-Marquardt法により最小自乗法の最適解を推定し、誤差を収束してカメラ位置、カメラ回転行列、特徴点の座標を求める。
さらに、誤差の分布が大きい特徴点につては削除し、他の特徴点に基づいて再演算することで、各特徴点及びカメラ位置での演算の精度を上げるようにする。
このようにして、特徴点の位置とカメラベクトルを精度良く求めることができる。
図12〜図14に、CV演算により得られる特徴点の三次元座標とカメラベクトルの例を示す。図12〜図14は、本実施形態のCV演算によるベクトル検出方法を示す説明図であり、移動するカメラによって取得された複数のフレーム画像によって得られるカメラ及び対象物の相対的な位置関係を示す図である。
図12では、図10の画像1,2に示した特徴点1〜4の三次元座標と、画像1と画像2の間で移動するカメラベクトル(X,Y,Z)が示されている。
図13及び図14は、充分に多くの特徴点とフレーム画像により得られた特徴点の位置と移動するカメラの位置が示されている。同図中、グラフ中央に直線状に連続する○印がカメラ位置であり、その周囲に位置する○印が特徴点の位置と高さを示している。
ここで、CV演算部20におけるCV演算は、より高精度な特徴点とカメラ位置の三次元情報を高速に得るために、図15に示すように、カメラから特徴点の距離に応じて複数の特徴点を設定し、複数の演算を繰り返し行うようにする。
具体的には、CV演算部20では、画像内には映像的に特徴がある特徴点を自動検出し、各フレーム画像内に特徴点の対応点を求める際に、カメラベクトル演算に用いるn番目とn+m番目の二つのフレーム画像FnとFn+mに着目して単位演算とし、nとmを適切に設定した単位演算を繰り返すことができる。
mはフレーム間隔であり、カメラから画像内の特徴点までの距離によって特徴点を複数段に分類し、カメラから特徴点までの距離が遠いほどmが大きくなるように設定し、カメラから特徴点までの距離が近いほどmが小さくなるように設定する。このようにするのは、カメラから特徴点までの距離が遠ければ遠いほど、画像間における位置の変化が少ないからである。
そして、特徴点のm値による分類を、十分にオーバーラップさせながら、複数段階のmを設定し、画像の進行とともにnが連続的に進行するのにともなって、演算を連続的に進行させる。そして、nの進行とmの各段階で、同一特徴点について複数回重複演算を行う。
このようにして、フレーム画像FnとFn+mに着目した単位演算を行うことにより、m枚毎にサンプリングした各フレーム間(フレーム間は駒落ちしている)では、長時間かけて精密カメラベクトルを演算し、フレーム画像FnとFn+mの間のm枚のフレーム(最小単位フレーム)では、短時間処理で行える簡易演算とすることができる。
m枚毎の精密カメラベクトル演算に誤差がないとすれば、m枚のフレームのカメラベクトルの両端は、高精度演算をしたFnとFn+mのカメラベクトルと重なることになる。したがって、FnとFn+mの中間のm枚の最小単位のフレームについては簡易演算で求め、簡易演算で求めたm枚の最小単位フレームのカメラベクトルの両端を、高精度演算で求めたFnとFn+mのカメラベクトルに一致するように、m枚の連続したカメラベクトルのスケール調整をすることができる。
このようにして、画像の進行とともにnが連続的に進行することにより、同一特徴点について複数回演算されて得られる各カメラベクトルの誤差が最小になるようにスケール調整して統合し、最終のカメラベクトルを決定することができる。これにより、誤差のない高精度のカメラベクトルを求めつつ、簡易演算を組み合わせることにより、演算処理を高速化することができるようになる。
ここで、簡易演算としては、精度に応じて種々の方法があるが、例えば、(1)高精度演算では100個以上の多くの特徴点を用いる場合に、簡易演算では最低限の10個程度の特徴点を用いる方法や、(2)同じ特徴点の数としても、特徴点とカメラ位置を同等に考えれば、そこには無数の三角形が成立し、その数だけの方程式が成立するため、その方程式の数を減らすことで、簡易演算とすることができる。
これによって、各特徴点及びカメラ位置の誤差が最小になるようにスケール調整する形で統合し、距離演算を行い、さらに、誤差の分布が大きい特徴点を削除し、必要に応じて他の特徴点について再演算することで、各特徴点及びカメラ位置での演算の精度を上げることができる。
また、このように高速な簡易演算を行うことにより、カメラベクトルのリアルタイムに近い処理が可能となる。カメラベクトルの高速演算処理は、目的の精度をとれる最低のフレーム数と、自動抽出した最低の特徴点数で演算を行い、カメラベクトルの概略値を高速演算で求め、表示し、次に、画像が蓄積するにつれて、フレーム数を増加させ、特徴点の数を増加させ、より精度の高いカメラベクトル演算を行い、概略値を精度の高いカメラベクトル値に置き換えて表示することができる。
さらに、本実施形態では、より高精度のカメラベクトルを求めるために、三次元情報(三次元形状)の追跡を行うことができる。
具体的には、まず、三次元情報追跡部25で、カメラベクトル演算部23,誤差最小化部24を経て得られたカメラベクトルを概略のカメラベクトルと位置づけ、その後のプロセスで生成される画像の一部として得られる三次元情報(三次元形状)に基づいて、複数のフレーム画像に含まれる部分的三次元情報を隣接するフレーム間で連続的に追跡して三次元形状の自動追跡を行う。
そして、この三次元情報追跡部25で得られた三次元情報の追跡結果から、高精度カメラベクトル演算部26においてより高精度なカメラベクトルが求められる。
上述した特徴点抽出部21及び特徴点対応処理部22では、特徴点を複数のフレーム間画像内に自動追跡するが、特徴点が消失するなどして特徴点の追跡フレーム数に制限が出てくることがある。また、画像は二次元であり、追跡途中で形状が変化するために追跡精度にも一定の限界がある。
そこで、特徴点追跡で得られるカメラベクトルを概略値と位置づけ、その後のプロセスで得られる三次元情報(三次元形状)を各フレーム画像上に追跡して、その軌跡から高精度カメラベクトルを求めることができる。
三次元形状の追跡は、マッチング及び相関の精度を得やすく、三次元形状はフレーム画像によって、その三次元形状も大きさも変化しないので、多くのフレームに亘って追跡が可能であり、そのことでカメラベクトル演算の精度を向上させることができる。これはカメラベクトル演算部23により概略のカメラベクトルが既知であり、三次元形状が既に分かっているから可能となるものである。
カメラベクトルが概略値の場合、非常に多くのフレームに亘る三次元座標の誤差は、特徴点追跡による各フレームに関係するフレームが少ないので、誤差が累積して長距離では次第に大きな誤差になるが、画像の一部分を切り取ったときの三次元形状の誤差は相対的に少なく、形状の変化と大きさに及ぼす影響はかなり少ないものとなる。このため、三次元形状での比較や追跡は、二次元形状追跡の時よりも極めて有利となる。追跡において、二次元形状での追跡の場合、複数のフレームにおける形状の変化と大きさの変化を避けられないまま追跡することになるので、誤差が大きかったり、対応点が見つからないなどの問題があったが、三次元形状での追跡においては形状の変化が極めて少なく、しかも原理的に大きさの変化もないので、正確な追跡が可能となる。
ここで、追跡の対象となる三次元形状データとしては、例えば、特徴点の三次元分布形状や、特徴点の三次元分布形状から求められるポリゴン面等がある。
また、得られた三次元形状を、カメラ位置から二次元画像に変換して、二次元画像として追跡することも可能である。カメラベクトルの概略値が既知であることから、カメラ視点からの二次元画像に投影変換が可能であり、カメラ視点の移動による対象の形状変化にも追従することが可能となる。
以上のようにして求められたカメラベクトルは、全周ビデオカメラ11で撮影されたビデオ映像中に重ねて表示することができる。
例えば、図16に示すように、車載カメラからの映像を平面展開して、各フレーム画像内の目的平面上の対応点を自動で探索し、対応点を一致させるように結合して目的平面の結合画像を生成し、同一の座標系に統合して表示する。
さらに、その共通座標系の中にカメラ位置とカメラ方向を次々に検出し、その位置や方向、軌跡をプロットしていくことができる。CVデータは、その三次元位置と3軸回転を示しており、ビデオ映像に重ねて表示することで、ビデオ映像の各フレームでCV値を同時に観察できる。CVデータをビデオ映像に重ねた表示した画像例を図16に示す。
なお、ビデオ映像内にカメラ位置を正しく表示すると、CV値が示すビデオ映像内の位置は画像の中心となり、カメラ移動が直線に近い場合は、すべてのフレームのCV値が重なって表示されてしまうので、例えば図16に示すように、敢えてカメラ位置から真下に1メートルの位置を表示することが適切である。あるいは道路面までの距離を基準として、道路面の高さにCV値を表示するのがより適切である。
[ドライビングシミュレーション]
次に、以上のようにして求められるCV値が付与された実写映像(CV映像)に基づいて実行される、本システムにおけるドライビングシミュレーションの詳細について、図面を参照しつつ具体的に説明する。
図17は、本システムに係る映像データ作成部20及び映像再生部30の基本構成を示すブロック図である。
なお、同図に示す本システムでは、映像データ作成部20と、映像再生部30と、実写映像撮影部10(図2参照)とは、それぞれ別々の機能構成として示しているが、これらは、例えば一部又は全部を一体の構成とすることもできる。また、例えば実写映像撮影部10及び映像データ作成部20を、本システムとは切り離して、映像再生部30のみを本システムとして構成することもできる。その場合には、実写映像撮影部10及び映像データ作成部20で撮影・作成される位置情報を備えた実写映像を、映像再生部30の映像データとして、予め生成し所定の記憶手段等に格納して用意しておくことができる。
図17に示すように、映像データ作成部20は、上述したCV演算部を構成する各部21〜26を備えている。
CV演算部20によるCV演算の具体的な内容については、上述したとおりである(図3〜図16参照)。
映像再生部30は、上述したCV値が付与された実写映像(CV映像)を前提として、車両の速度及び進行方向を示す車両運動情報と、実写映像の位置情報とに基づいて、入力される車両運動情報に対応する実写映像を再生する。
具体的には、映像再生部30は、図17に示すように、仮想壁生成部31,車両位置算出部32,フレーム画像抽出部33,コの字型画像生成部34,仮想壁投影部35,画像描画部36の各部を備えている。
仮想壁生成部31は、上述したCV値などの位置情報に基づいて、実写映像を投影する三次元モデルとなる所定の仮想壁を生成する本発明の仮想壁生成部を構成する。
具体的には、仮想壁生成部31は、CV演算部20の各部21〜26で生成されたカメラベクトルの三次元位置座標及び三次元回転座標が示す位置情報に基づいて、所定の仮想壁を生成する(後述する図28〜図34参照)。
車両位置算出部32は、上述した入力デバイス等から入力される車両運動情報に基づいて車両位置を求める。
フレーム画像抽出部33は、車両位置算出部32で算出される車両位置に基づいて、実写映像撮影部10で撮影された実写映像から、最も近いフレーム画像を抽出する。
コの字型画像生成部34は、フレーム画像抽出部33で抽出されたフレーム画像を、所定のコの字型スクリーン上に展開したコの字型画像(後述する図19参照)を生成する。
仮想壁投影部35は、抽出されたフレーム画像を、仮想壁生成部31で生成された仮想壁に投影する(図28〜図34参照)。
具体的には、仮想壁投影部35は、コの字型画像生成部34で生成されるコの字型画像を、所定の仮想壁に投影する。
画像描画部36は、仮想壁投影部35によって仮想壁に投影されたフレーム画像に対する視点の位置と方向を決定して、再生画像を描画する。
そして、上記のような映像再生部30の各部31〜36によって再生画像が繰り返し描画されることにより、車両運動情報に対応する実写映像が再生され、所定のディスプレイ(図2参照)などの表示手段にシミュレーション画像として出力・表示され、シミュレーターの操作が視認できるようになる。
以下、映像データ作成部20による「データ作成プロセス」、及び映像再生部30による「再生プロセス」の具体的な処理動作の詳細について、図18〜図34を参照しつつ説明する。
「データ作成プロセス」
データ作成プロセスは、撮影データファイルから動画プレイヤーに必要なデータを生成する処理である(図2参照)。
[CV演算]
まず、実写映像撮影部10で取得された実写映像の撮影データについて、CV演算処理が行われる(図2参照)。
具体的には、撮影データファイルに対して、上述したCV演算(図4〜図16)を実行することによって、カメラの位置と姿勢を求めることができる。
CV演算を行った結果、CV値と映像が、それぞれCVファイルと画像アーカイブファイルとして出力される(図2参照)。
[画像の切り出し]
CV演算が行われた実写映像は、画像の切り出し処理が行われる(図2参照)。
画像アーカイブファイルには、撮影された実写映像のすべてのフレームの全周映像が、正距円筒図として保存されるようになっている。
但し、本システムの動画プレイヤーでは、ドライビングシミュレーターの特性上、車両の前方方向の一部分の映像だけしか必要としない。
また、シミュレーション画像の再生時の処理負荷を軽減するためにも、不要な動画データは削除することが望ましい。
そこで、本システムでは、画像の切り出し処理を実行し、事前に撮影した映像から必要な領域だけを切り出すとともに、目的の画像データを取り出しやすくするために、アーカイブされていたファイルをフレームごとに独立した画像ファイルに分解しておく。
ここで、画像を切り出す領域は、再生時に表示したい水平画角の大きさに応じて決定することができる。
但し、後述する映像の揺れ止め(図24)とステアリング連動(図25)に対応するため、切り出し領域はディスプレイの表示領域よりやや広くとっておくことが望ましい。
図18に、画像切り出し処理による画像データの作成手順の具体例を示す。
概要を示す説明図である。
同図に示すように、正距円筒画像(同図(a))を球面に貼り付け(同図(b))、透視投影することによって、二次元画像に変換することができる(同図(c))。
但し、透視投影することによって得られる二次元画像は、図18(c)に示すように、水平画角を大きくすればする程、両端で映像が引き延ばされ、結果として画像サイズが大きくなってしまう。
この点を改善・解消するために、本システムでは、以下のようなコの字型スクリーンへの投影処理を行うようにしている。
[コの字型スクリーン投影]
図19に、画像データのコの字型スクリーンへの投影の概要を示す。
同図に示すように、正距円筒画像を透視投影することによって得られた二次元画像(図18(c))を、所定のコの字型スクリーンに投影する。
コの字型スクリーンとは、図19(a)に示すように、正距円筒画像を貼り付けた球面を構成する三次元球に外接する立方体で形成される、視線方向の前方及び左右方向の壁面からなり、平面視「コの字型」をなすスクリーンとなっている。
このようなコの字型スクリーンに、正距円筒画像を透視投影することによって得られた二次元画像を投影し(図19(b))、さらに、画像が投影されたコの字型スクリーンを二次元平面に展開した結果(図19(c))を、画像データとする(図19(d))。
このようなコの字型スクリーンへの投影・展開処理を行うことによって、得られる画像は、透視投影することによって得られる二次元画像と比較して、画素数が少なくなる。例えば、図19(d)に示す画像の例では、水平画角150°,垂直画角60°とした場合、画像データの画素数は4168×1668ピクセルとなる。
これによって、画像サイズを効果的に圧縮・削減することができ、負荷の少ない滑らかなシミュレーション画像の生成・出力が行えるようになる。
[画像ファイルの保存形式]
以上のようにして生成される画像データは、本システムでは、フレームごとに独立した画像ファイルを圧縮テクスチャの形式で保存するようにしている。
圧縮テクスチャは、GPUが直接アクセスできる画像フォーマットであるため、デコードを行う必要がなく、再生プロセスにおける処理コストを低減することができ好ましい。
具体的には、圧縮テクスチャのファイルサイズは、画素数によって決定され、例えば、上述した4168×1668ピクセルでは、1フレームあたり約3.3MBとなる。
「再生プロセス」
以上のデータ作成プロセスに続いて、再生プロセスが実行される。
再生プロセスでは動画プレイヤーが入力デバイスから送られてくる車速とステアリング角に連動した映像をディスプレイに出力する処理である(図2参照)。
[動画プレイヤーの処理フロー]
図20に、再生プロセスにおける、動画プレイヤー(図2参照)の処理全体のフローを示す。
同図に示すように、動画プレイヤーでは、以下の(1)〜(9)の処理が順次実行される。
(1)設定ファイルの選択
まず、ユーザにより設定ファイルが選択される。この設定ファイルの選択は、動画プレイヤーの入力デバイス等をユーザが操作することによって行われる。
ここで、本システムの設定ファイルには、例えば以下のような情報が記述される。
・CVファイルのパス
・画像データが保存されているディレクトリのパス
・入力デバイスの情報
(2)設定ファイルの読み込み
次いで、ユーザに指定された設定ファイルが読み込まれる。
(3)CVファイルを読み込み
続いて、設定ファイルに記述されているCVファイルが読み込まれ、全フレームのCV値が取り出される。
(4)視点の位置と向きの初期化
次に、開始フレームのCV値に基づいて、視点の位置と向きが初期化される。
ここで、視点の位置については、CV値の位置を視点の位置として設定・初期化する。
また、視線の向きについては、水平方向に回転して車両の進行方向に合わせて設定・初期化する。
(5)入力デバイスへの接続
次に、入力デバイスへの接続が行われる。
入力デバイスへの接続が確立した段階から、車速とステアリング角の受信が始まる。
(6)仮想壁の生成
次に、仮想壁の生成が行われる。
この仮想壁の生成については、後述する(図28〜図29参照)。
(7)画像読み込みスレッドの生成
次に、画像読み込みスレッドが生成される。
(8)画像読み込みスレッドの初期化
次いで、画像読み込みスレッドの初期化が行われる。
具体的には、画像読み込みスレッドに、全フレームのCV値が与えられ、各フレームのCV値とそれに対応する画像データの関連付けが行われる。
この画像読み込みスレッドの初期化が完了すると、シミュレーション画像が再生可能な状態となる。
(9)再生処理
したがって、その後再生処理が開始される。
[再生処理]
図21に、動画プレイヤーにおける再生時の処理の流れを示す。
なお、以下に示す再生の1サイクルは、ディスプレイのリフレッシュレート(例えば最大60fps)を考慮して所定時間(例えば1/60秒)に設定される。
(1)入力デバイスからの車速・ステアリング舵角の受け取り
まず、入力デバイスからの運動情報となる車速・ステアリング舵角が受信される。
車速・ステアリング舵角は、例えばマウス,キーボード,ジョイスティック、あるいはシャシダイナモ上に搭載されたセンサー、車両の自己診断機能OBD(On-board diagnostics)、もしくはCANバスによって取得され、動画プレイヤーで受信・入力する。
(2)現在の車両の位置と姿勢を算出
次に、入力デバイスから受信した運動情報(車速とステアリング舵角)から現在の車両の位置と姿勢が求められる。
車両の位置は、開始時からの車速を積分して算出することができる。
また、車両の姿勢は、ステアリング舵角情報から回転半径を求めることにより算出することができる。
ここで、車両位置・姿勢の算出方法としては、例えば以下のような2つの方法がある。
1つ目は、簡易的な方法で、車両運動シミュレーターを使用せず、ステアリング舵角と車速より、後述するアッカーマン理論(図22参照)に基づいて軌跡を算出し、車両位置・姿勢を算出する方法である。アッカーマン理論に基づいた場合、後述するように、車両のスリップなどは考慮されない。
もう1つの方法は、ステアリング舵角と車速を、車両運動シミュレーターに入力して車両位置・姿勢を算出する方法である。車両運動シミュレーターを使用した場合、車両のスリップ状態を考慮して車両位置・姿勢が算出されることになる。
[舵角に対する回転半径の算出]
ステアリング舵角に対する回転半径は、以下の方法により求めることができる。
本システムでは、時々刻々と走行位置に相当する画像を抽出している。
車速連動のみの場合、本システムに車速情報を与えて移動距離を算出し、走行位置に相当する画像を抽出すればよい。この場合、画像は常に測定時に走行した時の前景しか表示されない。言い換えると、カーブに差し掛かっても自動的に道路に沿って走行した画像が表示されることなる。
ところが、ドライビングシミュレーターの操作者(ドライバー)は、カーブに差し掛かった場合、カーブの曲率に合わせて操舵を行う。操舵を行わない場合、カーブを曲がらずに直進する。
この動作を再現するために、本システムでは、車両の操舵角情報を動画プレイヤーに与えて、操舵に対応した分だけ画像を横方向に移動させるようにし、移動量を算出するために、時々刻々の車両の回転半径を操舵角から算出するようにしてある。
ここで、動的な車両運動を考慮すると車両の運動方程式を解く必要があるが、それでは処理が複雑になり好ましくない。また、ドライビングシミュレーターの特性上、車両が大幅なスリップ等を発生するような状況は想定しないので、アッカーマン理論に基づいて幾何学的に操舵角と回転半径を算出することができる。
「アッカーマン理論」とは、車が旋回するときの操舵輪(通常は前輪)の切れ角を、外側車輪より内側車輪で大きくすることにより、前後の4車輪の回転中心が同一点となるようにした方式であり、考案者(英国人)の名を取ってアッカーマンステアリング(Ackerman steering)と呼ばれている。
これによりタイヤの横滑りがないスムースな旋回が可能となり、この方式における内側前輪の切れ角(α)と外側前輪の切れ角(β)の関係を表すものがアッカーマン理論曲線である(図22(a)参照)。
図22(a)に示すように、車両のホイールベース:Wと、トレッド:Tが決まれば、アッカーマン理論曲線は下記の式1のように表される。
式1:1/tanβ−1/tanα=T/W
この式1は、図22(a)から容易に導くことができる。
図22(a)右側のグラフは、比T/Wの値によるアッカーマン理論曲線の変化の様子を示している。図中の点線(α=β)は、両輪とも同じ切れ角にする方式で、パラレルステアリングと呼ばれるものである。
これより、β及びαは、以下の式2及び式3のようにあらわされる。
式2:β=asin(W/Ro)
式3:α=atan(Wtanβ/(W−Ttanβ))
本システムでは、車両位置が分かればよいので、操舵角から重心位置の回転半径を算出する。
具体的には、車両中心をステアリング舵角として「θ」とする。
ステアリング舵角は、ギアボックスを介して減速され、実際のタイヤの切れ角となる。アッカーマン理論で説明したように左右で舵角は異なるが、車両重心位置の回転半径のみ分かればよいので、2輪モデルとして考えて車両中心にタイヤがあると考える。この場合のタイヤの舵角を「τ」とする。
これらの関係は次のようになる。
τ:θ=33:500
但し、タイヤ切れ角は外側31°と内側36°を考慮し、ハンドル切れ角は実測値とする。
また、重心位置の関係は、以下のようになる(図22(b)参照)。
W:ホイールベース
Wr:重心位置から後軸までの距離
以上より、幾何学的な関係から、後軸中央の回転半径(Rr)は、以下の式4のように表される。
式4:Rr=W/tanτ
そして、三平方の定理より、重心位置の回転半径(R)は、以下の式5のように表される。
式5:Rg=√Rr2+Wr2=√(W/tanτ)2+Wr
ここで、重心位置から後軸までの距離(Wr)は、前軸重量(Af)と後軸重量(Ar)から、以下の式6によって算出することができる。
式6:Wr=(Af/Af+Ar)W
なお、以上の値は、全て例えば車両諸元や車検証から取得することができる。
図22(c)及び(d)は、上記のようにして得られるステアリング舵角と回転半径の関係を示すグラフである。なお、図22(d)は、図22(c)の回転半径が小さい部分を拡大したものである。
(3)車両位置の最近傍フレームの検索
次に、以上のようにして求められた車両位置の最近傍フレームが検索される(図23参照)。
(4)最近傍フレームの変化判定
次に、最近傍フレームが検索された結果、前回求められた最近傍フレームから変化しているか否かが判定される。
ここで、最近傍フレームに変化がない場合には、(9)のステップに移る。
(5)最近傍フレームの画像データの読み込み
最近傍フレームが変化した場合には、そのフレームに対応する画像データのファイルが読み込まれる。
このとき、ファイルの読み込みに要する時間は、ディスクI/Oの性能に依存することになる。したがって、ディスクI/Oの性能が高いほど、動画の再生が滑らかに行われることになる。
(6)GPUへの画像データの転送
次に、取得された画像データがGPUに転送される。
画像データがGPUに転送されることによって、上述したコの字型スクリーンへの画像の貼り付けが行えるようになる。
(7)コの字型スクリーンへのCV値適用
次に、コの字型スクリーンへのCV値が行われる。
コの字型スクリーンにCV値が適用されることによって、コの字型スクリーンの位置と姿勢を決定することができる。この処理によって、実写映像の撮影時に発生したカメラの揺れがキャンセルされることになる。
映像の揺れ止め処理については、後述する(図24参照)。
(8)仮想壁への再投影
次いで、コの字型スクリーンに貼り付けられた画像が仮想壁に再投影される。
仮想壁への再投影処理については、後述する(図26〜図34参照)。
(9)視点の位置と向きの決定
次に、現在の車両の位置と姿勢から視点の位置と向きが決定される。
(10)画像データの描画スレッドへの送信
最後に、画像読み込みスレッドから最新の車両の位置に従って取得された画像データが描画スレッドに送信される。
ここで描画スレッドに送られた画像データが、次回の描画時に使用されることになる。
その後は、上述した(1)〜(9)のステップが繰り返され、入力デバイスから車速とステアリング角の情報が描画スレッドで随時受信され、ここで受信された車速とステアリング角の情報が次回の描画時に使用されることになる。
[車両位置の最近傍フレーム]
図23に、最近傍フレーム画像の抽出処理を模式的に示す。
同図に示すように、車両位置の最近傍フレームとは、現在の車両位置からCV値の位置までの三次元距離が最も小さいフレームを指す。
[映像の揺れ止め]
本システムでは、以下の方法により、実写映像の撮影時に発生したカメラの揺れをキャンセルした状態で映像を表示させることができる。
図24(a)に、映像の揺れ止め処理の概要を示す。
同図に示すように、揺れ止め処理は、画像がコの字型スクリーンに展開されてから、コの字型スクリーンにカメラの揺れをキャンセルする回転を加え、その後に透視投影を行うことにより実行される。
本システムでは、撮影した元画像の各フレームにはCV値が紐付けられている。CV値は、上述のとおり、画像を撮影したカメラの位置を表すベクトルT=(x,y,z)と、撮影時のカメラの姿勢を表す角度のベクトルR=(θx,θy,θz)からなる値である。
ここで、図24(a)に示すように、θxはx軸を軸とした回転量(ピッチ成分)、θyはy軸を軸とした回転量(ヨー成分)、θzはz軸を軸とした回転量(ロール成分)を示している。これらx,y,zの各軸に対して3回の回転を行うことで、三次元空間における姿勢を表すことができる。
そこで、コの字型スクリーンにカメラの姿勢のピッチ成分(θx)、ロール成分(θz)、ヨー成分(θy)の回転を適用することによって、カメラの回転運動は打ち消され、並進運動のみが再現された映像となる。
図24(b)に、揺れ止め処理された映像の一例を示す。
同図に示すように、揺れ止め後の映像をコの字型スクリーンの中心から見ると、ビューポートに対して画像は斜めに傾いているが、景色自体は水平を保つように表示されていることがわかる。
[ステアリング連動]
ステアリング連動処理では、入力デバイスからのステアリングデータに従い、視線方向を変更することができる。
図25(a)に示すように、揺れ止め計算をした上で、更にカメラが向くべき方向を、ステアリング舵角から車両の回転半径を計算し、現在の速度から想車両の定位置と絶対座標内での向きを求める。
計算された車両の絶対座標内での向きを、映像の取得方向(コの字型スクリーンに対する透視射影方向)に反映させることにより、車両が向いている方向の画像をディスプレイに表示させることができる。
図25(b)に上述したコの字型スクリーン(図24(a))を上から見下ろした図を示す。
同図に示すように、揺れ止めの処理を適用したコの字型スクリーンに対して、更に水平方向にステアリング舵角分の回転を加える。
この図の例では、3つのディスプレイを横に並べた状態を想定しており、3つのカメラは各ディスプレイに表示する領域を示している。
このようにして、入力デバイスからのステアリングデータに基づいて、コの字型スクリーンの映像の視線方向を変更することができるようになる。
[自由視点移動]
次に、本システムにおける自由視点移動処理について説明する。
ドライビングシミュレーターとして臨場感を持たせるためには、シミュレーション画像の視点を自由に移動させる「自由視点移動」を実現することが重要となる。自由視点移動とは、入力デバイスから受け取った車両の運動情報(車速・ステアリング舵角)に基づいて求めた、「車両の位置から見た映像」を表示することである。
ところが、シミュレーション画像を予め用意しておくドライビングシミュレーターの特性上、事前に撮影した映像の中に、期待する視点の位置から撮影したフレームが存在するとは限らない。
そこで、本システムでは、期待する視点の位置に最も近いフレームの画像を加工することによって、撮影時の位置とは異なる視点から見た映像を動的に生成し、自由視点移動を実現できるようにしている。
ここで、図26を参照して、視点の位置に合わせて画像をクロップする領域を移動することによって、自由視点移動を行う場合について説明する。
同図(a)に示す画像において、視点が右側に移動して反対車線を走行している状態を再現しようとした場合、同図(b)に示すように、視点が右側に移動したので画像の右側をクロップすることになる。
ところが、この方法では、同図(c)に示す画像の中心付近をクロップした画像と比べて、景色全体が右に移動しただけで、反対車線を走行しているような印象とはならない。
これは、遠近感が加味されていないことに起因する。
この点を、図27を参照して更に説明する。
同図(a)からも分かるように、視点が移動するとき、近くの対象物ほど二次元平面への投影位置は大きく変化する。
同図の例では、視点Aから見た結果と、視点Bから見た結果を比較すると、手前にある物体ほど二次元平面に投影される位置が大きく動いていることが分かる。
以上のことから、よりリアルに自由視点移動を行うためには、図26(b)及び(c)に示すような、画像全体を一様にスライドさせるのでなく、対象物までの距離に応じて投影する位置を決定して、図27(b)及び(c)に示すような結果になることが求められることになる。
そこで、本システムでは、上記のような課題を解決するために、図28に示すような、「仮想壁三次元モデル」を用いることによって、臨場感に優れた自由視点移動を実現している。
具体的には、対象物までの距離を与えるために、CV値から路面の形状を推定して作成した簡易的なトンネル状の三次元モデル(仮想壁)を生成し、その仮想壁に、実写映像を投影するようにしている。
このような仮想壁三次元モデルを用いることにより、任意の視点から見た景色を疑似的に作り出し、ドライビングシミュレーターとして臨場感を持った映像を作り出すことができるようになる。
このように、CV値から作成したトンネル状の三次元モデルを、本発明に係る「仮想壁」という。図28の例では、グレー彩色で示した三次元モデルが仮想壁、黒色の点群が撮影時のカメラ位置を示している。
[仮想壁の作成方法]
次に、以上のような仮想壁の作成方法について説明する。
実写映像の撮影対象となる現実の世界では、車両が走行する道路は、通常は、中央部に路面、両側にガードレールや電柱などが配置されている。
そのような走行画面を仮想壁として再現するためには、特に路面上の移動を考慮すれば良いことになる。
そこで、本システムでは、車両が走行可能な路面幅を推定して、路面部分の形状が反映されている仮想壁を作成する。
以下、図29を参照して、仮想壁の作成手順について詳述する。
まず、映像上のある任意のフレームfiを想定すると、図29(a)に示すように、そのフレームfiの撮影時のカメラの三次元位置を中心として、上下左右方向それぞれに一定の距離だけ広げた矩形の4つの頂点の点集合をPiとすることができる。なお、中心(カメラ位置)から下方向の長さは、路面から撮影時のカメラ位置までの距離を実測することで求めることができる。
図29(b)は、複数の各フレームを真横から見た場合であり、路面の勾配などによって中心及び上下の点Pが上下動していることを示している。
そして、これらをすべてのフレームについて想定すれば、各フレームのPiの和集合をP=UPiとすることができる。Pは、それぞれのフレームに対応する矩形の4頂点を集めてきた点集合となる。
この点集合Pから、「凹包」と呼ばれる三次元メッシュを構成することにより、この三次元メッシュを仮想壁とすることができる。
[凹包]
凹包とは、点集合をできるだけ凹な形に包み込むようなメッシュのことをいう。例えば、一直線状のコースのような道路であれば、点集合Pから機械的にメッシュを張っていけば、一直線のトンネル状の三次元モデルが仮想壁として成立することになる。しかしながら、現実世界の道路は、例えば交差点などのように、複数の道路が交差する箇所が存在するため、上記のようなメッシュの構成では仮想壁の生成は困難乃至不可能となってしまう。
そこで、本システムでは、仮想壁の三次元メッシュとして「凹包」を採用している。
凹包の構成には、公知の技術としてさまざまなアルゴリズムが存在するが、本システムでは、例えば以下のような作成手順を採用することができる。
まず、上述した点集合Pに対して、ドロネー三角形分割と呼ばれるメッシュを構成する。但し、そのままでは、余計な三角形が多く含まれてしまうことになる。
そこで、それぞれの三角形の外接円の半径が、所定の閾値rより大きい三角形は、最終的なメッシュに含まないようにする。
この操作を、すべての三角形について行い、残った三角形を集めたメッシュが、仮想壁として使用する凹包となる(図28参照)。
[映像の仮想壁への投影]
次に、以上のようにして生成された仮想壁へのコの字型スクリーン映像の投影処理について説明する。
図30〜図32は、コの字型スクリーンの実写映像を仮想壁に投影する場合の説明図である。
仮想壁への映像の投影処理は、最初に、図30に示すように、CV値によって判明している撮影時のカメラの位置と姿勢を、コの字型スクリーンに適用し、実写映像をコの字型スクリーンに貼り付ける。
次に、図31に示すように、コの字型スクリーンに貼り付けられている実写映像を、撮影時のカメラの位置から仮想壁に向かって射影する。その結果、同図右側に示すように、仮想壁に実写映像が映り込むことになる。
最後に、図32(a)に示すように、視点の位置と向きを決定する。
[視錐台/ディスプレイへの出力]
ここで、図32(a)に示す例では、まずは自由視点移動を行わず、撮影位置と同じ場所に視点を置いた状況を想定している。
3DCGでは、視点の位置,向き,画角を「視錐台」で表現することができる。
図32(b)に示すように、前方クリップ面と後方クリップ面との間にある立体を視錐台と呼び、この視錐台の内部にある物体が前方クリップ面に投影された結果が、視点から見た映像となる。
以上のような視錐台は、一つの視錐台が一つのディスプレイに対応する。
ここで、図33(a)に示すように、例えば3つのディスプレイに分割して表示することを想定すると、3つの視錐台が存在することになる。
したがって、最終的には、図33(b)に示すように、3つの視錐台の映像が3つのディスプレイへ出力されることになる。
そして、3つの視錐台から見た映像をつなげると、図33(c)に示すような映像となる。同図に示すように、撮影位置と視点が一致しているので、撮影時の映像がそのまま状態で見えるようになる。
次に、図33(c)に示す映像において、任意の位置に視点を移動した場合を想定する。
図34(a)に示すように、例えば視点を撮影位置から横方向(右方向に約4メートル)移動させたとする。
この場合には、移動後の視点の位置から映像を見ると、図34(b)に示すような映像となり、この場合には、道路の一車線分だけ視点が右に移動している映像が生成・表示されるようになる。
このようにして、シミュレーション画像の視点を自由に移動させる「自由視点移動」を実現することが可能となり、車両の運動情報(車速・ステアリング舵角)に基づく「車両の位置から見た映像」を表示することができるようになる。これによって、ドライビングシミュレーターの操作者に臨場感のあるシミュレーション画像を提供することができる。
以上説明したように、本実施形態のドライビングシミュレーター1によれば、事前に撮影された実際の走行映像に、当該走行映像の正確な位置情報を示すCV値を付与することにより、入力デバイス等から入力される車両の運動情報に連動させて実写映像をシミュレーション画像として出力・再生させることができる。
これによって、シミュレーション画像として、CGではなく実際の外界風景を撮影した実写映像を用いることができ、その実写映像と車両の運動情報とを正確に連動させることができるようになる。
したがって、従来のドライビングシミュレーターのようなCGやアニメーション,静止画像等を用いることなく、実写映像で構成されたシミュレーション画像によって、操作者に現実感や臨場感に溢れた迫力のあるドライビングシミュレーションを提供することができる。
以上、本発明のドライビングシミュレーターについて、好ましい実施形態及び実施例を示して説明したが、本発明に係るドライビングシミュレーターは、上述した実施形態や実施例のみに限定されるものではなく、本発明の範囲で種々の変更実施が可能であることは言うまでもない。
例えば、上述した実施形態では、ドライビングシミュレーターの対象車両として、自動車を例にとって説明しているが、本発明の対象車両としては、自動車以外にも、例えば二輪車,航空機,船舶,電車など、ドライビングシミュレーションが行われる各種の車両を対象とすることができる。
また、上述した実施形態では、シミュレーション画像となる実写映像に付与する位置情報として、CV技術によるCV値を用いていたが、これを他の技術や機器などで取得できる位置情報とすることもできる。
すなわち、上述したCV値と同様のカメラの位置と姿勢を示す6種類の変数(位置情報)を実写映像に付与できれば、CV技術以外の手法で取得される位置情報であっても、本発明のドライビングシミュレーターに適用することができる。
また、上述した実施形態では、実写映像を投影する三次元モデルである仮想壁として、断面矩形・直方体形状の仮想壁を生成するようにしていたが、仮想壁の断面形状は矩形に限らず、例えば断面円形・円筒形状などの仮想壁を用いることができ、用途に応じた三次元モデル形状を採用することが可能である。
本発明は、例えば自動車などの車両のドライビングシミュレーターとして好適に利用することができる。
1 ドライビングシミュレーター
10 実写映像撮影部
20 映像データ作成部(CV演算部)
21 特徴点抽出部
22 特徴点対応処理部
23 カメラベクトル演算部
24 誤差最小化部
25 三次元情報追跡部
26 高精度カメラベクトル演算部
30 映像再生部
31 仮想壁生成部
32 車両位置算出部
33 フレーム画像抽出部
34 コの字型画像生成部
35 仮想壁投影部
36 画像描画部

Claims (4)

  1. 映像のフレーム画像毎に位置情報が付与された実写映像を生成する映像データ作成部と、
    車両の速度及び進行方向を示す車両運動情報を入力し、前記実写映像の位置情報と前記車両運動情報に基づいて、入力される車両運動情報に対応する実写映像を再生する映像再生部と、
    を備え、
    前記映像再生部は、
    前記位置情報に基づいて、前記実写映像を投影する三次元モデルとなる所定の仮想壁を生成する仮想壁生成部と、
    前記車両運動情報に基づいて車両位置を求める車両位置算出部と、
    前記車両位置に基づいて、前記実写映像から最も近いフレーム画像を抽出するフレーム画像抽出部と、
    抽出されたフレーム画像を、前記仮想壁に投影する仮想壁投影部と、
    前記仮想壁に投影されたフレーム画像に対する視点の位置と方向を決定して再生画像を描画する画像描画部と、を備え、
    前記再生画像が繰り返し描画されることにより、前記車両運動情報に対応する実写映像が再生される
    ことを特徴とするドライビングシミュレーター。
  2. 前記映像再生部は、
    前記フレーム画像抽出部で抽出されたフレーム画像を、所定のコの字型スクリーン上に展開したコの字型画像を生成するコの字型画像生成部を備え、
    前記仮想壁投影部が、
    前記コの字型画像を、前記仮想壁に投影する
    ことを特徴とする請求項1記載のドライビングシミュレーター。
  3. 前記映像データ作成部が、
    前記実写映像の各フレーム画像から、所定数の特徴点を自動抽出する特徴点抽出部と、
    抽出された特徴点について、前記実写映像の各フレーム画像内で自動追跡してフレーム画像間での対応関係を求める特徴点対応処理部と、
    対応関係が求められた特徴点の三次元位置座標を求め、当該三次元位置座標から、各フレーム画像に対応したカメラの三次元位置座標及び三次元回転座標からなるカメラベクトルを求めるカメラベクトル演算部と、
    を備えるCV演算部を備え、
    前記仮想壁生成部が、
    前記CV演算部で生成された前記カメラベクトルの三次元位置座標及び三次元回転座標が示す位置情報に基づいて、前記仮想壁を生成する
    ことを特徴とする請求項1又は2記載のドライビングシミュレーター。
  4. 前記車両運動情報が、
    車両の速度情報及び進行方向情報を生成可能なシャシダイナモから入力される
    ことを特徴とする請求項1乃至3のいずれか一項記載のドライビングシミュレーター。
JP2018128126A 2018-07-05 2018-07-05 ドライビングシミュレーター Active JP6723533B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018128126A JP6723533B2 (ja) 2018-07-05 2018-07-05 ドライビングシミュレーター

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018128126A JP6723533B2 (ja) 2018-07-05 2018-07-05 ドライビングシミュレーター

Publications (2)

Publication Number Publication Date
JP2020008664A JP2020008664A (ja) 2020-01-16
JP6723533B2 true JP6723533B2 (ja) 2020-07-15

Family

ID=69151406

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018128126A Active JP6723533B2 (ja) 2018-07-05 2018-07-05 ドライビングシミュレーター

Country Status (1)

Country Link
JP (1) JP6723533B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022079156A (ja) * 2020-11-16 2022-05-26 株式会社フォーラムエイト 運転シミュレーション装置及び運転シミュレーションプログラム
WO2022201784A1 (ja) * 2021-03-26 2022-09-29 ソニーグループ株式会社 画像処理装置および画像処理方法
CN116473678B (zh) * 2023-06-21 2023-09-29 杭州键嘉医疗科技股份有限公司 一种虚拟墙引导末端执行器移动的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3925801B2 (ja) * 2003-06-10 2007-06-06 株式会社デンソー 車両の擬似運転装置
JP3817612B2 (ja) * 2003-06-11 2006-09-06 エルゴシーティング株式会社 バーチャルドライビングシステム
JP5111785B2 (ja) * 2006-05-24 2013-01-09 株式会社岩根研究所 Cv映像によるcvタグ入出力検索装置
JP5396147B2 (ja) * 2009-05-18 2014-01-22 独立行政法人交通安全環境研究所 駆動トルク計測装置
EP2261827B1 (en) * 2009-06-10 2015-04-08 Dassault Systèmes Process, program and apparatus for displaying an assembly of objects of a PLM database

Also Published As

Publication number Publication date
JP2020008664A (ja) 2020-01-16

Similar Documents

Publication Publication Date Title
JP6775776B2 (ja) 自由視点移動表示装置
JP4355535B2 (ja) 360度画像変換処理装置
JP4854819B2 (ja) 画像情報出力方法
JP4511147B2 (ja) 三次元形状生成装置
TWI494898B (zh) 從地理參考影像擷取和映對三維特徵之技術
US20170310892A1 (en) Method of 3d panoramic mosaicing of a scene
WO2010052558A2 (en) System and method for the precise integration of virtual objects to interactive panoramic walk-through applications
JP4980617B2 (ja) 二次元図面と映像の合成表示装置
KR101314120B1 (ko) 3차원 도시 모델링 장치 및 방법
JP6723533B2 (ja) ドライビングシミュレーター
WO2017020132A1 (en) Augmented reality in vehicle platforms
CN110335351B (zh) 多模态ar处理方法、装置、系统、设备及可读存储介质
JP2012118666A (ja) 三次元地図自動生成装置
JP2004297808A (ja) 移動体周辺監視装置
US20110249095A1 (en) Image composition apparatus and method thereof
US20110181711A1 (en) Sequential image generation
JP2009217524A (ja) 都市景観の3次元動画生成および閲覧システム
JP4418857B1 (ja) 路線の3次元動画生成用画像取得システム
JP2005122315A (ja) 3dcg合成装置
JP5214355B2 (ja) 車両走行軌跡観測システム、車両走行軌跡観測方法、およびそのプログラム
JP4773794B2 (ja) 新旧映像座標統合装置
EP2225730A2 (en) Transition method between two three-dimensional geo-referenced maps
JPH10320590A (ja) 合成映像作成装置及び合成映像作成方法
KR102225321B1 (ko) 복수 영상 센서로부터 취득한 영상 정보와 위치 정보 간 연계를 통한 도로 공간 정보 구축을 위한 시스템 및 방법
Schön et al. Integrated navigation of cameras for augmented reality

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190821

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200415

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200609

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200616

R150 Certificate of patent or registration of utility model

Ref document number: 6723533

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250