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