(58)【調査した分野】(Int.Cl.,DB名)
移動体に搭載されたカメラによって撮影された前記移動体が移動する道路を含む風景の風景画像をナビゲーション用に変換するための、前記カメラの搭載位置の高さおよび前記カメラの向きを表すカメラパラメータを演算するカメラパラメータ演算装置において、
前記移動体の現在位置に関する位置情報を取得する位置情報取得部と、
前記位置情報に基づいて前記現在位置に応じた道路データを取得し、前記移動体が移動する道路の前記現在位置での幅員に関する幅員情報を前記道路データから取得する幅員情報取得部と、
前記カメラから前記風景画像を取得する風景画像取得部と、
前記風景画像と前記幅員情報とに基づいて、前記カメラパラメータを校正計算するカメラパラメータ校正部とを備えることを特徴とするカメラパラメータ演算装置。
移動体に搭載されたカメラによって撮影された前記移動体が移動する道路を含む風景の風景画像をナビゲーション用に変換するための、前記カメラの搭載位置の高さおよび前記カメラの向きを表すカメラパラメータを演算するカメラパラメータ演算装置において、
前記移動体の現在位置に関する位置情報を取得し、
前記位置情報に基づいて前記現在位置に応じた道路データを取得し、
前記移動体が移動する道路の前記現在位置での幅員に関する幅員情報を前記道路データから取得し、
前記カメラから前記風景画像を取得し、
前記風景画像と前記幅員情報とに基づいて、前記カメラパラメータを校正計算することを特徴とするカメラパラメータ演算方法。
【発明を実施するための形態】
【0009】
−−−第1の実施形態−−−
以下、図面を参照して本発明の第1の実施形態について詳しく説明する。
【0010】
<全体構成>
図1は、本発明の第1の実施形態に係るナビゲーションシステムの全体構成を示した図である。本実施形態におけるナビゲーションシステムの端末装置としてナビゲーション装置を想定し、本実施形態について以下に説明する。
【0011】
図1において、本実施形態に係るセンタ装置1は、通信ネットワーク2に接続され、基地局3を介して、携帯電話などの無線通信により車両4に搭載されているナビゲーション装置5に接続されている。さらに、ナビゲーション装置5には、カメラ6が接続されている。カメラ6は、車両4に搭載され、車両4の現在位置周辺の風景画像を撮影するためのカメラである。
【0012】
センタ装置1は、センタCPU(Central Processing Unit)100と、半導体メモリやハードディスク装置などからなる記憶装置110などを含むいわゆるコンピュータ(情報処理装置)によって構成される。そのセンタ装置1は、機能的には、
図1に示すように、通信インターフェース部11、情報取得部12、カメラ校正可否判断部13、カメラ校正タイミング検出部14、情報提供部15、画像処理部16、前方風景予想画像生成部17、カメラパラメータ校正部18、地図データベース20などの機能ブロックを含んで構成される。
【0013】
情報取得部12、カメラ校正可否判断部13、カメラ校正タイミング検出部14、情報提供部15、画像処理部16、前方風景予想画像生成部17、カメラパラメータ校正部18は、センタCPU100が不図示のプログラムメモリに格納された所定のプログラムを実行することによって実現される。地図データベース20は記憶装置110に含まれる。
【0014】
通信インターフェース部11は、通信ネットワーク2に対応する通信制御をおこなうとともに、通信ネットワーク2を介してナビゲーション装置5とデータの送受信を行う。
【0015】
情報取得部12は、ナビゲーション装置5から送信された処理要求、カメラ6によって撮影された車両4前方の風景画像の画像情報、車両4の現在位置における位置情報(緯度経度などの座標、および時刻)、車両4の軌跡データや移動方向、走行速度などを含む様々な走行情報を、通信インターフェース部11を介して取得する。
【0016】
カメラパラメータ校正可否判断部13は、情報取得部12が取得した車両4の位置情報や移動方向などの走行情報を、地図データベース20から読み込んだ道路データにマップマッチングする。これにより、カメラパラメータ校正可否判断部13は、道路情報を取得し、車両4が走行する道路を含む周囲の道路の道路情報に含まれるカメラパラメータの校正に有効な情報、例えば幅員、車線数、勾配、カーブなどの情報を識別して取得する。このとき、カメラパラメータ校正可否判断部13は、車両4が走行する道路付近の交通情報、例えば天候、気温、路面状態、渋滞、道路工事などの情報を、情報取得部12を介して外部情報センタから取得し、工事中の道路はカメラ校正に適さないなど、判断することもある。外部情報センタは、天候、気温、路面状態、渋滞、道路工事などに関する交通情報を配信する配信サーバを有し、通信ネットワーク2に接続されている。
【0017】
カメラパラメータ校正タイミング検出部14は、風景予想画像生成部17および画像処理部16と連携して動作する。風景予想画像生成部17は、カメラパラメータ校正可否判断部13により取得された道路データと、後述するカメラパラメータ校正部18によって計算されるカメラパラメータとに基づいて、車両4前方の風景予想画像を生成する。上述したように、カメラパラメータ校正可否判断部13により取得される道路データは、情報取得部12によって取得された車両4の現在位置における位置情報と移動方向とに基づく道路データである。
【0018】
カメラパラメータ校正タイミング検出部14は、風景予想画像生成部17から車両4前方の風景予想画像を取得する。カメラパラメータ校正タイミング検出部14は、情報取得部12によって取得された車両4の現在位置周辺の風景画像の画像情報を、情報取得部12によって取得されたカメラパラメータに基づいて画像処理部16に変換させることにより、風景変換画像を取得する。カメラパラメータ校正タイミング検出部14は、上記風景予想画像と上記風景変換画像との表示画面上の特徴点または特徴線を各々生成し、それらの特徴点または特徴線の座標を互いに比較して類似性が有るか否かを判断する。その類似性判断結果に基づいて、カメラパラメータ校正タイミング検出部14は、車両4の現在位置周辺の風景画像の画像情報を生成したナビゲーション装置5に接続されるカメラ6の姿勢、すなわち車両4に搭載されるカメラ6の搭載位置の高さおよび車両4に対するカメラ6の向きを表すカメラパラメータの校正が必要か否かを判断する。
【0019】
カメラパラメータ校正部18は、カメラパラメータ校正タイミング検出部14によってカメラパラメータの校正が必要と判断されたとき、情報取得部12によって取得された車両4の現在位置周辺の風景画像の画像情報と、カメラパラメータ校正可否判断部13によって取得された車両4が走行する道路の現在位置周辺での幅員および車線数に関する幅員情報とを用いて、カメラパラメータを校正する。上述したように、その幅員情報は、情報取得部12によって取得された車両4の位置情報および移動方向に基づいて、カメラパラメータ校正可否判断部13によって地図データベース20から読み込まれた車両4の現在位置周辺の地図情報に含まれる道路データから、カメラパラメータ校正可否判断部13によって取得される。
【0020】
情報提供部15は、カメラパラメータ校正可否判断部13によってカメラパラメータ校正不可と判断されたとときは、その判断結果を通信インターフェース部11を介してナビゲーション装置5に送信する。情報提供部15は、カメラパラメータ校正タイミング検出部14によってカメラパラメータ校正が不要と判断されたときは、その判断結果を通信インターフェース部11を介してナビゲーション装置5に送信する。情報提供部15は、カメラパラメータ校正タイミング検出部14によってカメラパラメータ校正が必要と判断されたときは、カメラパラメータ校正部18によって計算されたカメラパラメータを通信インターフェース部11を介してナビゲーション装置5に送信する。
【0021】
車両4に搭載されるナビゲーション装置5は、表示部50、通信部51、本体部52、操作部53、GPS(Global Positioning System)受信部54、カメラ接続部55、記憶部56などを含んで構成される。
【0022】
ナビゲーション装置5は、端末CPUである本体部52、記憶部56などを含んで構成されたコンピュータである。ナビゲーション装置5は、不図示のDVD(Digital Versatile Disk)などのドライブ装置やフラッシュメモリ、USB(Universal Serial Bus)メモリのリーダ/ライタなどを内蔵するコンピュータであってもよい。ここで記憶部56は、半導体メモリやハードディスク装置などによって構成され、地図データベース520を含む。また、操作部53は、種々のスイッチやボタン、タッチパネル、リモコン装置、音声マイクなどの入力装置を含むとともに、音声スピーカなどの出力装置を含む。表示部50は、LCD(Liquid Crystal Display)などによって構成される。通信部51は、基地局3および通信ネットワーク2を介し、センタ装置1に対して無線通信によるデータ通信可能に接続される。GPS受信部54は、不図示のGPS衛星からの電波を受信して、車両4の現在位置を検出する。カメラ接続部55は、カメラ6に接続され、カメラ6で撮影された車両4前方の風景画像の画像情報を取り込む。
【0023】
本体部52は、通信制御部511、情報取得部512、カメラパラメータ更新部513、画像処理部514、位置情報取得部51、画像処理取得部516、経路探索部517、経路誘導部518、入出力インターフェース部519、経路誘導情報生成部522などの機能ブロックを含んで構成される。これら本体部52の各機能ブロックは、本体部52が不図示のプログラムメモリに格納されている所定のプログラムを実行することによって実現される。
【0024】
通信制御部511は、携帯電話や無線LANなどによる通信を行う通信部51に対する通信制御を行うとともに、基地局3および通信ネットワーク2を介してセンタ装置1との間でデータの送受信を行う。入出力インターフェース部519は、操作部53のスイッチやボタン、音声、タッチパネルなどからの入力情報を目的地やセンタ装置1への要求情報などの種々の情報に変換して本体部52に入力するとともに、表示部50へ、および/または操作部53の音声出力装置へ、地図情報および経路誘導部518によって生成された誘導情報などの表示情報や音声情報を出力する。
【0025】
位置情報取得部515は、GPS受信部54によって検出された緯度経度や高度、時刻情報などのGPS情報や、車両4に搭載された不図示の姿勢センサから車両4の進行方向等の姿勢情報を取得し、記憶部56に記憶する。このとき、不図示の車両内ネットワーク、例えばCAN(Controller Area Network)を介して、車両4のブレーキ情報や、ウィンカー、パーキング、ハンドル操作情報などの走行情報が、上述した位置情報とともに位置情報取得部515によって取得され、走行軌跡情報として記憶部56に記憶されることとしてもよい。
【0026】
情報提供部521は、ナビゲーション装置5の電源投入時(ドライブ開始時)、入出力インターフェース部519によって経路が要求された時、位置情報取得部515から得たデータから車両4の移動を検出した時、あるいは指定された時間で、位置情報取得部515から得た車両4の現在位置の位置情報や画像情報取得部516から得た車両4前方の風景画像の画像情報などをセンタ装置1に送信し、カメラパラメータの更新を要求する。
【0027】
情報取得部512は、通信部51および通信制御部511を介して、センタ装置1から送信されるカメラパラメータを含む様々な情報を取得する。情報取得部512は、取得したカメラパラメータをカメラパラメータ記憶部513に記憶する。
【0028】
画像情報取得部516は、カメラ6で撮影された車両4前方の風景画像の画像情報を取得する。画像情報取得部516によって取得された画像情報は、情報提供部521、通信制御部511を介して、通信部51によりセンタ装置1に送信される。また、画像情報取得部516によって取得された風景画像の画像情報は画像処理部514に渡され、その風景画像は、カメラパラメータに基づいて座標変換され、車両4の周辺の地物検出に用いられる。
【0029】
画像処理部514は、画像情報取得部516から、カメラ6で撮影された車両4前方の風景画像の画像情報を取得し、カメラパラメータ記憶部513によって記憶されるカメラパラメータを用いてその風景画像を座標変換する。画像処理部514は、その座標変換によって、車両4の現在位置から車両4の乗員が眺めた際の風景に相当する風景変換画像を取得し、その風景変換画像に基づいて、道路や標識、建物、人物や前方車両等の周辺地物を認識し、その結果を経路誘導部518に提供する。
【0030】
経路探索部517は、入出力インターフェース部519を介して入力された経路要求に応じて地図データベース520から道路ネットワーク情報を読み込み、出発地、すなわち車両4の現在位置から目的地までの推奨経路を計算する。経路探索部517は、例えばダイクストラ法などの数学的な手法を用いて道路リンク単位の旅行時間または速度、および距離などに基づいた最小コスト経路を、推奨経路として探索する。経路探索部517は、推奨経路についての経路情報を経路誘導部518に提供する。
【0031】
経路誘導情報生成部522は、画像処理部514によって提供された周辺地物情報と、経路探索部517によって提供された経路情報とに基づいて、目的地までの誘導情報を生成する。経路誘導部518は、経路誘導情報生成部522によって生成された誘導情報に基づいて、入出力インターフェース部519および操作部53を介して、車両4を推奨経路で目的地まで誘導する。
【0032】
なお、
図1に示す例では、センタ装置1が、画像処理部16においてナビゲーション装置5から送られた画像情報から道路や建物などの特徴点(または特徴線)を計算するようにしたが、これらの特徴点(または特徴線)をナビゲーション装置5の画像処理部514で計算し、センタ装置1に送信してもよい。その場合、ナビゲーション装置5からセンタ装置1に画像情報を送る必要がなくなり、通信量がより小さくなる。
【0033】
また、
図1に示す例では、ナビゲーション装置5が、画像処理514で周辺地物を認識し、認識した結果を利用して誘導案内を行うようにしたが、
図16に示すナビゲーションシステムのように、周辺地物の認識をセンタ装置1の画像処理部16で行うようにしてもよい。その場合は、センタ装置1からナビゲーション装置5に、周辺地物の位置や距離情報が送信される。こうすることで、ナビゲーション装置5の画像処理部514が不要になるので、ナビゲーション装置5の処理負荷が小さくなり、ナビゲーション装置5の本体部52のCPU処理能力が高くなくても、画像処理を利用した目的地までの誘導案内が可能となる。また、周辺地物を正確に認識するには、道路の形状や幅員、レーン情報、建物の形状や高さ等の周辺地物の詳細かつ新しい情報を地図データベース520に記憶されることが望ましい。
図16に示すナビゲーションシステムでは、センタ装置1の画像処理部16が周辺地物を正確に認識するための画像処理を行うため、センタ装置1の地図データベース20が周辺地物の詳細かつ新しい情報を保持すればよい。したがって、端末装置5が大容量の地図データベース520を有さなくても、画像処理を利用した目的地までの誘導案内が可能となる。
【0034】
<カメラパラメータ校正可否判断部13の処理フロー>
図2は、本実施形態のセンタ装置1において、センタ装置1のセンタCPU100に含まれるカメラパラメータ校正可否判断部13の処理フローの例を示している。カメラ校正可否判断部13は、カメラパラメータ校正部18によるカメラ6のカメラパラメータ校正が可能かどうかを判断する。センタCPU100は、通信インターフェース部11によって受信されたナビゲーション装置5からの要求情報を受け付け、カメラパラメータ校正可否判断処理を開始し、後述する各ステップの処理を実行する。本処理が開始されると、情報取得部12は、通信インターフェース部11によって受信されたナビゲーション装置5からの要求情報を取得する。カメラ校正可否判断部13は、情報取得部12によって取得された要求情報に含まれる車両4の緯度および経度で表される位置情報や移動方向などの情報を取得する(ステップS20)。カメラ校正可否判断部13は、車両4の位置情報と移動方向とから現在位置に位置する車両4の前方を含む車両周辺の道路データを地図データベース20から取得する(ステップS21)。カメラ校正可否判断部13は、マップマッチング処理によって車両4が走行中の道路を特定する(ステップS22)。カメラ校正可否判断部13は、車両4が走行中の道路の情報および/または車両4の周辺道路の情報を含む道路データに基づき、以下のステップS23、S24およびS25において、車両4が走行中の道路が現在位置周辺で所定の道路条件を満たすか否かを判断する。
【0035】
カメラ校正可否判断部13は、車両4が走行中の道路あるいは周辺道路が生活道路であるか否かを確認する(ステップS23)。道路データの中に詳細な道路情報や正確な道路情報が含まれないとき、あるいは道路データの中に所定の道路属性を有する道路に対応する道路データが含まれるとき、その道路データに対応する道路は生活道路であると判断される。所定の道路属性とは、例えば所定幅よりも小さな道路の幅員、所定数よりも小さなレーン数、細街路などの道路種別、または上下線が分離された本線リンク以外のリンク種別である。カメラ校正可否判断部13は、車両4が走行中の道路あるいは周辺道路が生活道路であると判断した場合(ステップS23がyes)、車両4が走行している現在位置はカメラパラメータ校正が不可能なエリアに含まれていると判断して判断結果を出力し(ステップS27)、本処理は終了する。
【0036】
ステップS23において、車両4が走行中の道路あるいは周辺道路に対応する道路データの中に詳細な道路情報や正確な道路情報が含まれる場合は(ステップS23がno)、車両4が走行中の道路あるいは周辺道路に起伏が存在するか否かを確認する(ステップS24)。車両4が走行中の道路あるいは周辺道路が坂道や上下方向の起伏変化が存在する道路である場合(ステップS24がyes)、カメラ校正可否判断部13は、車両4が走行している現在位置はカメラパラメータ校正が不可能なエリアに含まれていると判断して判断結果を出力し(ステップS27)、本処理は終了する。例えば道路リンクデータに含まれる勾配情報や高度情報に基づき、道路の勾配が所定の勾配値よりも大きい場合に、道路の起伏変化が存在すると判断される。車両4が走行中の道路あるいは周辺道路に坂道や上下方向の起伏変化が存在しなければ(ステップS24がno)、カメラ校正可否判断部13は車両4が現在位置周辺で走行予定の道路区間(あるいは走行する可能性の高い道路区間)の直線性を確認する(ステップS25)。道路区間が短く、かつ右左折等の方向転換箇所が多く存在するか、あるいは道路区間にカーブ区間が含まれている等の場合、その道路区間は直線性を有しないと判断される。例えば道路リンクデータに含まれる曲率情報に基づき、道路の曲率が所定の曲率値よりも大きい場合に、道路は直線性を有しないと判断される。例えば、車両4が現在位置周辺で走行予定の道路区間のうちの互いに接続された2つの道路区間が所定角度よりも小さい接続角度を形成している場合に、道路は直線性を有しないと判断される。
【0037】
車両4の現在位置周辺の道路区間が直線性を有しない場合(ステップS25がno)、カメラ校正可否判断部13は、車両4の現在位置はカメラパラメータ校正が不可能なエリアに含まれていると判断して判断結果を出力し(ステップS27)、本処理は終了する。車両4の現在位置周辺の道路区間が直線性を有する場合(ステップS25がyes)、車両4が走行中の道路が現在位置周辺で所定の道路条件を満たすことが、カメラ校正可否判断部13によって判断されたことになる。この場合、カメラ校正可否判断部13は、車両4の現在位置においてカメラパラメータ校正が可能と判断してその判断結果を出力し(ステップS26)、本処理は終了する。
【0038】
<カメラパラメータ校正タイミング検出部14の処理フロー>
図3は、本実施形態のセンタ装置1において、センタ装置1のセンタCPU100に含まれるカメラパラメータ校正タイミング検出部14の処理フローの例を示している。カメラパラメータ校正タイミング検出部14は、カメラパラメータの校正が必要か否かを判断する。
【0039】
センタ装置1のセンタCPU100に含まれるカメラパラメータ校正可否判断部13によって、カメラパラメータ校正が可能と判断されると、カメラパラメータ校正タイミング検出部14は、風景予想画像生成部17に車両4の現在位置における車両4の前方(進行方向)の風景予想画像を生成させて、生成された風景予想画像を取得する(ステップS30)。風景予想画像は、カメラの高さを視点として生成される。生成された風景予想画像の一例を表示例300に示す。このとき用いられるカメラの高さとして、車高が予め設定されることとしてもよいし、カメラ6がGPS機能を内蔵している場合は、GPSから得られたカメラ6の高度情報が設定されることとしてもよい。次に、カメラパラメータ校正タイミング検出部14は、予想風景から道路や建物などの周囲地物の表示画面座標上の特徴点(特徴線)を道路データに基づく計算によって、画像処理部16に抽出させる(ステップS31)。本実施形態では、周囲地物の特徴点(特徴線)として道路エッジを用いることとして説明する。表示例301に道路エッジの一例を示す。線分A1およびA2が、予想風景における前方道路の両端のエッジ線である。
【0040】
次に、カメラパラメータ校正タイミング検出部14は、情報取得部12によって取得されたカメラ6によって撮影された車両4前方の道路を含む風景画像の画像情報(表示例304に示す)と、現在のカメラパラメータとを取得し、画像処理部16に引き渡す(ステップS32)。カメラパラメータ校正タイミング検出部14は、画像処理部16に、現在のカメラパラメータを用いて風景画像の画像情報を座標変換させて、車両4の現在位置から眺められる実風景に相当する変換画像を生成させる(ステップS33)。生成された実風景の一例を表示例302に示す。カメラパラメータ校正タイミング検出部14は、実風景から周囲地物の表示画面座標上の特徴点(特徴線)を画像処理計算によって、画像処理部16に抽出させる(ステップS34)。実風景の道路エッジの一例を表示例303に示す。線分B1およびB2が前方道路の両端のエッジ線である。
【0041】
道路エッジA1およびA2と、道路エッジB1およびB2とは同じ道路に対応し、同一視点から見える風景は同じになるはずであるから、道路エッジA1およびA2は、それぞれ道路エッジB1およびB2に一致するはずである。カメラパラメータ校正タイミング検出部14は、道路エッジA1およびA2と、道路エッジB1およびB2との類似性を、双方の道路エッジの画面上の座標値を比較して判断する(ステップS35)。類似性が認められない場合は(ステップS35がno)、カメラパラメータ校正タイミング検出部14は、カメラパラメータの校正が必要と判断してその判断結果を出力し(ステップS36)、本処理は終了する。類似性が認められた場合は(ステップS35がyes)、カメラパラメータ校正タイミング検出部14は、カメラパラメータの校正が不要と判断してその判断結果を出力し(ステップS36)、本処理は終了する。
【0042】
図4は、
図3のステップS35における道路エッジの類似性判定処理を補足説明するための補足図である。図中の道路エッジA1、A2は予想風景から抽出された道路エッジであり、道路エッジB1,B2は実風景から抽出された道路エッジである。点40および41は各道路エッジから得られる消失点である。カメラパラメータ校正タイミング検出部14は、画面上の水平方向(X方向)および垂直方向(Y方向)における各消失点のX成分およびY成分であるX40、Y40、X41、Y41から消失点の表示座標上の差分を計算し、その差分が所定範囲を超えていた場合に類似性が無いと判断する。座標の差分の代わりに図中の各エッジ線の角度差θ1(道路エッジA1およびB1が互いになす角度)と角度差θ2(道路エッジA2およびB2が互いになす角度)とを用い、それぞれ所定角度以上の角度差がある場合に類似性が無いと判断してもよい。道路エッジA1およびB1と道路エッジA2およびB2とがそれぞれ互いに平行の場合、あるいは有効な表示座標の範囲内で角度差が得られない場合も同様に類似性が無いと判断する。
【0043】
<カメラパラメータ校正部18の処理フロー>
図5は、本実施形態のセンタ装置1において、センタ装置1のセンタCPU100に含まれるカメラパラメータ校正部18のカメラパラメータ校正計算処理フローの例を示している。カメラパラメータ校正部18は、カメラパラメータを校正計算する。
図6は、
図5の処理フローのステップS508を説明するための補足図であり、
図7〜9は、ステップS502を補足説明するための補足図である。
【0044】
カメラパラメータ校正タイミング検出部14によって、カメラパラメータ校正が必要と判断されると、カメラパラメータ校正部18は、車両4に搭載されたカメラ6がジャイロセンサなどの姿勢センサを有しており、かつその姿勢センサによって得られた姿勢情報が通信インターフェース部11を介して情報取得部12によって得られているか否かを確認する(ステップS500)。ここで、カメラの姿勢は3軸の回転角であるピッチ角θc、ロール角φc、ヨー角ψcで表わされるとする。カメラ6の姿勢情報が得られた場合(ステップS500がyes)、カメラパラメータ校正部18はカメラの姿勢情報(θc,φc,ψc)を取得する(ステップS510)。次に、カメラパラメータ校正部18は車両4の姿勢情報(θv,φv,ψv)を取得する(ステップS511)。ここで、車両4がジャイロ等の姿勢センサを有していて、かつその姿勢センサによって得られた車両4の姿勢情報がナビゲーション装置5で取得されていれば、情報取得部12は通信インターフェース部11を介して車両4の姿勢情報(θv,φv,ψv)を取得する。カメラパラメータ校正部18は、その車両4の姿勢情報(θv,φv,ψv)を取得する。車両4の姿勢情報が得られなければ、カメラパラメータ校正部18は、車両4の過去の走行軌跡を含む位置情報から車両4の向きを計算し車両4の姿勢(θv,φv,ψv)を設定する。
【0045】
次に、カメラパラメータ校正部18は、上述したカメラ6の姿勢情報および車両4の姿勢情報から、カメラ6の向きに応じてカメラ6の撮影画像に生じる歪みを補正するための補正パラメータを計算する(ステップS512)。このときの処理を、
図6を用いて補足説明する。
図6は、カメラ姿勢と車両姿勢との違いを、紙面に垂直なz軸を中心とした回転角ヨー角を例に示している。カメラ6は車両4の室内に設置され、カメラ6の向きは車両4の進行方向(前方)と一致しているとは限らない。そこで、上述した各姿勢センサから得た角度情報を用いて、カメラ6による撮影画像を車両4から眺めた風景に変換する必要がある。各姿勢センサが真北を基準とした角度情報ψc、ψvを出力するとした場合、カメラ6による撮影画像の撮影角度のうちのヨー角をδψ=ψc+ψvだけ回転移動すると、車両姿勢のヨー角に一致する。この回転移動分δψをヨー角の補正パラメータとする。他の2軸に対応するピッチ角、ロール角についても同様に、撮影角度が回転移動によって車両姿勢に一致するときの回転角度に対応する補正パラメータδθ、δφも計算される。
【0046】
次に、カメラパラメータ校正部18は、カメラ6で撮影された風景画像の画像情報を取得する(ステップS503)。このときの風景画像の一例を画像520に示す。カメラパラメータ校正部18は、ステップS512で計算された補正パラメータを用いて画像520を座標変換し、車両4から眺めた画像521を生成する(ステップS504)。カメラパラメータ校正部18は、画像521の特徴点(特徴線)を検出する。本実施形態では、カメラパラメータ校正部18は、道路エッジ523および524を、画像521の特徴点(特徴線)として検出する(ステップS505)。カメラパラメータ校正部18は、画像525に示すように、画面中心点Pを通る中心線と、ステップS505で検出された道路エッジとから画面上の道路幅(幅員)wを計算する。カメラパラメータ校正部18は、画面上の道路に対応する実際の道路の道路幅(幅員)Wを、地図データベース20に含まれる現在位置に応じて取得した道路データから取得する(ステップS506)。カメラパラメータ校正部18は、画面上の道路幅wと実際の道路幅Wとの比に基づいて、カメラの搭載位置の高さhを計算する(ステップS507)。ステップS512で計算されたカメラの向きを表す補正パラメータ(δθ,δφ,δψ)、およびステップS507で計算されたカメラの搭載位置の高さhを、カメラ6によって撮影された風景画像の画像情報をナビゲーション用に変換するための新たなカメラパラメータとして、カメラパラメータを校正し(ステップS508)、本処理は終了する。
【0047】
カメラ姿勢情報が得られなかった場合(ステップS500がno)、カメラパラメータ校正部18は、ステップS30で生成された車両前方の風景予想画像を利用して、カメラ6の補正パラメータ(δθ,δφ,δψ)を計算する。まず、予想風景を表す風景予想画像と実風景を表す風景変換画像とから得られた道路エッジの消失点40、41を取得する(ステップS501)。
図4に示す消失点40,41を通る直線70から補正パラメータ(δθ,δφ,δψ)を計算する(ステップS502)。ここで、複数の消失点を用いてカメラパラメータを計算する方法は特開2008−11174号公報にも開示されている。本実施形態では、消失点のうちの一つを予想風景に対応する風景予想画像から取得することで、実風景に対応する風景変換画像から一つの消失点しか得られなくても、補正パラメータが得られるようにする。
【0048】
ステップS502の処理について、
図7〜9を用いて補足説明する。まず、
図7を用いてロール角の補正パラメータδφを計算する方法を説明する。消失点40、41を通る直線70と、画面700の横軸方向(x軸方向)に平行な直線71を引く。二つの直接の成す角度αを計算し、その角度αをロール角の補正パラメータδφとする。
【0049】
図8は、ピッチ角の補正パラメータδθを計算するための補足説明図である。点Qは、画面中心点Pから直線70へ引いた垂線の交点である。カメラ6の焦点距離fが既知の値であるとすると、ピッチ角の補正パラメータδθは、式(1)で求められる。
【数1】
【0050】
さらに
図9は、ヨー角の補正パラメータδψの設定するための補足説明図である。消失点41を点Uとして、線分QUのx軸方向の成分を求め、式(2)によりヨー角の補正パラメータδψを計算する。
【数2】
【0051】
次に、カメラパラメータ校正部18は、カメラ6で撮影された風景画像の画像情報を取得する(ステップS503)。カメラパラメータ校正部18は、ステップS502で得た補正パラメータ(δθ,δφ,δψ)を用いてステップS503で取得した風景画像を座標変換し(ステップS504)、変換後の画面上の道路エッジを検出する(ステップS505)。カメラパラメータ校正部18は、画面上の道路幅(幅員)wを計算する。カメラパラメータ校正部18は、画面上の道路に対応する実際の道路の道路幅(幅員)Wを、地図データベース20に含まれる現在位置に応じて取得した道路データから取得する(ステップS506)。カメラパラメータ校正部18は、画面上の道路幅wと実際の道路幅Wとの比に基づいてカメラの搭載位置の高さを計算する(ステップS507)。カメラパラメータ校正部18は、ステップS502およびS507で計算されたカメラパラメータを新たなカメラパラメータとして、カメラパラメータを校正し(ステップS508)、本処理は終了する。
【0052】
<ナビゲーションシステム全体処理フロー>
図10は、本実施形態のセンタ装置1およびナビゲーション装置5で構成されるナビゲーションシステムの全体処理フローを示している。このナビゲーションシステムにおいては、カメラ6のカメラパラメータ校正が行われ、カメラ6で撮影された風景画像の画像情報を利用した目的地までの誘導案内が行われる。
図14、
図15はナビゲーション装置5の画面表示例1400および1500を示す図であって、本処理フローの補足説明図である。
【0053】
ナビゲーション装置5において、カメラ6がカメラ接続部55に装着されることによってカメラ6がナビゲーション装置5に接続された後、ナビゲーション処理が開始される。位置情報取得部515は、GPS受信部によって受信されたGPS信号を取得し、車両4の現在位置および進行方向に関する位置情報を更新する(ステップS1110)。画像情報取得部516は、カメラ接続部55を介してカメラ6で撮影された風景画像の画像情報を取得する。情報提供部521は、更新された位置情報とカメラ6で撮影された風景画像の画像情報とを、通信制御部511および通信部51を介してセンタ装置1に送信し、カメラパラメータを要求する(ステップS1111)。
【0054】
センタ装置1のCPU100に含まれる情報取得部12は、通信インターフェース部11を介して、ナビゲーション装置5からのカメラパラメータ要求を受け付ける(ステップS1101)情報取得部12によってカメラパラメータ要求が受け付けられると、カメラ校正可否判断部13は、カメラパラメータ要求に含まれる位置情報に基づいて地図データベース20から地図情報を読み込み、マップマッチングにより車両4の現在位置に対応づけられる地図上の位置を特定する(ステップS1102)。カメラ校正可否判断部13は、ステップS1102で特定した地図上の位置が例えば道路上の位置であれば、その道路を含む周辺道路の道路情報を参照し、
図2のカメラパラメータ校正可否判断処理フローに従ってカメラパラメータの校正が可能か否かを判断する(ステップS1103)。カメラパラメータ校正が不可能であれば(ステップS1103がno)、カメラ校正可否判断部13はカメラパラメータ校正が不可であると判断し、情報提供部15が、通信インターフェース部11を介して、カメラパラメータ校正不可の旨をナビゲーション装置5に送信し(ステップS1107)、センタ装置1側の処理は終了する。
【0055】
カメラパラメータ校正が可能な場合(ステップS1103がyes)、カメラパラメータ校正タイミング検出部14は、
図3のカメラパラメータ校正タイミング検出処理フローにしたがってカメラパラメータ校正が必要か否かを検出する(ステップS1104)。カメラパラメータ校正が必要なければ(ステップS1104がno)、カメラパラメータ校正タイミング検出部14はカメラパラメータ校正が不要であると判断し、情報提供部15が、通信インターフェース部11を介して、カメラパラメータ校正不要の旨をナビゲーション装置5に送信し(ステップS1108)センタ装置1側の処理は終了する。カメラパラメータ校正が必要な場合(ステップS1104がyes)、カメラパラメータ校正部18は、
図5のカメラパラメータ校正計算処理フローに従って、カメラパラメータの校正計算処理を実行する(ステップS1105)。情報提供部15は、ステップS1105でカメラパラメータ校正部18によって得られたカメラパラメータを、通信インターフェース部11を介してナビゲーション装置5に送信し(ステップS1106)、センタ装置1側の処理は終了する。
【0056】
ナビゲーション装置5の情報取得部512は、通信部51および通信制御部511を介してセンタ装置1からの情報を受信する(ステップS1112)、情報取得部512によるステップS1112での受信情報がカメラ校正不可の旨を含む場合(ステップS1113がyes)、情報取得部512は、入出力インターフェース部519を介して、車両4の現在位置での走行環境ではカメラパラメータの校正が不可であることを表示部50などに出力する(ステップS1120)。経路探索部517は、車両4の現在位置から目的地までの推奨経路を探索する。経路誘導情報生成部522は、経路探索部517によって探索された推奨経路で車両4を目的地まで誘導するための経路誘導情報を、経路探索部517から得た経路情報に基づいて生成する。経路誘導部518は、経路誘導情報生成部522によって生成された誘導情報を用いてカメラ6と連携しない誘導を行いながら(ステップS1121)、その誘導中も、カメラパラメータ校正が可能となるまで、情報提供部521は、通信制御部511および通信部51を介してセンタ装置1にカメラパラメータを要求する。
【0057】
図14はステップS1120での表示部50における表示例1400を示す。アイコン141はカメラとの連携動作状態を示す。表示メッセージ140は、ステップS1114での判定結果が得られるまで、即ち、カメラパラメータ校正が実施されるまで、校正中の旨を表示する。情報取得部512は、ステップS1112でカメラパラメータ校正不要の旨の情報を受信した場合(ステップS1114がyes)、入出力インターフェース部519を介して、カメラパラメータ更新が必要無いことを表示部50などに出力し(ステップS1121)、カメラパラメータ記憶部513に保持されているカメラパラメータを用いてステップS1116以降の処理を実行する。
【0058】
図15は、ステップS1121での表示部50における表示出力例1500を示す。カメラ校正が終了するとアイコン141がアイコン151に変わり、表示メッセージ140も表示メッセージ150に切り替えられる。情報取得部512は、ステップS1112でカメラパラメータを含む情報を受信した場合は(ステップS1114がno)、カメラパラメータ記憶部513に保持されていたカメラパラメータを、ステップS1112で受信したカメラパラメータに更新する(ステップS1115)。画像情報取得部516は、カメラ6で撮影された風景画像の画像情報をカメラ接続部55から取得する(ステップS1116)。画像処理部514は、更新されたカメラパラメータをカメラパラメータ記憶部513から読み出して、その更新されたカメラパラメータを用いて画像情報を座標変換することによって風景変換画像を生成する(ステップS1117)。
【0059】
画像処理部514は、ステップS1117において生成された風景変換画像と、カメラ6のレンズの焦点距離とに基づいて、車両4の現在位置周辺の地物、例えば車両4の前方の交差点やその交差点で信号待ちをしている前方車両までの推定距離を算出して認識するとともに、車両4が走行中の走行レーンなどを認識する(ステップS1118)。車両4が走行中の走行レーンは、レーン端部に引かれた線の種別、例えば実線や破線や二重線等の種別が画像処理で識別されることによって、認識される。経路探索部517は、車両4の現在位置から目的地までの推奨経路を探索する。経路誘導情報生成部522は、ステップS1117での画像処理部514による、車両4の現在位置から前方の交差点や前方車両までの推定距離および走行レーンに関する走行状況の認識結果と、経路探索部517によって探索された推奨経路の情報と、ステップS1117において生成された風景変換画像とを用いて、経路誘導情報を生成する(ステップS1119)。その経路誘導情報には、経路誘導部518が、車両4にとって必要な走行レーン移動がなされていないと判断したとき、車両4の乗員にレーン移動を案内したり、前方車両などの前方検知物への接近の危険を警告するなどの誘導案内を行うための情報を含む。
【0060】
経路誘導部518は、ステップS1119で生成された経路誘導情報に基づいて、上述したレーン移動の案内や上述した危険の警告を入出力インターフェース部519を介して表示部50などに出力するとともに、車両4を推奨経路で目的地まで誘導する(ステップS1120)。車両4が推奨経路で目的地へ到着するまで、あるいはナビゲーション処理終了の旨が入力されるまで、ステップS1116〜S1121の処理が繰り返されるように、本処理はステップS1116へ戻る(ステップS1121)。誘導中にカメラ6がカメラ接続部55から外されて、さらに再装着されると、ステップS1110から開始される本処理が実行され、装着された状態のカメラ6の姿勢情報や車両4の姿勢情報に基づいてカメラパラメータが校正される。
【0061】
センタ装置1のセンタCPU100は、車両4に搭載されたカメラ6によって撮影された車両4が走行する道路を含む風景の風景画像をナビゲーション用に変換するための、カメラ6の搭載位置の高さhおよびカメラ6の向き(δθ,δφ,δψ)を表すカメラパラメータを演算し、情報取得部12と、カメラ校正可否判断部13と、カメラパラメータ校正タイミング検出部14と、カメラパラメータ校正部18とを含む。情報取得部12は、車両4の現在位置に関する位置情報を取得するとともに、カメラ6から端末装置5との通信を介して風景画像を取得する。カメラパラメータ校正部18は、位置情報に基づいて現在位置に応じた道路データを取得し、車両4が走行する道路の現在位置での幅員を、道路データから取得する。カメラパラメータ校正部18は、風景画像と幅員情報とに基づいて、カメラパラメータを校正計算する。これにより、従来の地図データに含まれる従来の道路データを用いてカメラパラメータの校正を行うことができる。
【0062】
着脱可能なカメラ6によって撮影された風景画像の画像情報を利用して車両4を目的地まで誘導するナビゲーションシステムにおいて、カメラ6の再装着や、誘導中の操作または振動によりカメラ6の姿勢がずれることで頻繁なカメラパラメータ校正が必要になる場合がある。センタ装置1のセンタCPU100は、車両4の周囲環境に基づいてカメラパラメータの校正可否を判断し、カメラ6の姿勢のずれを検出したときにカメラパラメータを校正計算する。したがって、端末装置5の本体部52のCPU処理能力がさほど高くなくとも、本体部52は、車両4の走行中の周囲環境を認識しながら、車両4を目的地まで誘導案内することができる。
【0063】
センタ装置1でカメラパラメータ校正計算が行われ、端末装置5からセンタ装置1へ、カメラパラメータ校正に必要な位置情報や画像情報が通信を介して送信され、センタ装置1で計算されたカメラパラメータが端末装置5は送信されるようにした。したがって、カメラパラメータ校正計算に必要な機能が端末装置5に配備されなくても、カメラ6の姿勢のずれによる影響を補正しながら、カメラ6で撮影された風景画像の画像情報を利用した車両4の誘導案内が可能となる。すなわち、センタ装置1でカメラパラメータ校正計算が行われるので、端末装置5は、カメラパラメータ校正計算に必要な詳細かつ最新の地図を有していなくても、カメラ6で撮影された風景画像の画像情報を利用して車両4の誘導案内をすることが可能である。具体的にはスマートフォンのような地図を有しない端末装置を端末装置5として用いても、スマートフォンに含まれるカメラによって撮影された風景画像の画像情報を用いて車両4の誘導案内をすることができる。
【0064】
−−−変形例−−−
(1)
図10の処理フローは、カメラパラメータの校正に関わる処理がセンタ装置1側で行われる形態に対応するが、ステップS1116〜S1119の処理がセンタ装置1側で実行されるように、ステップS1116で取得された風景画像の画像情報が、情報提供部521によって、通信制御部511および通信部51を介してセンタ装置1に送信されることとしてもよい。この場合、情報取得部512が、通信部51および通信インターフェース部511を介して、センタ装置1側で得られた車両4の走行状況の認識結果(車両4の周辺の地物との距離や走行レーンなど)および目的地までの経路誘導情報を取得する。そうすることで、端末装置5の構成がより簡易となり、カメラパラメータ校正や画像処理に関わる処理負荷が端末装置5の本体部52にかからないため、車両4の目的地までの経路計算や誘導案内、その他の処理が遅延無く、適切なタイミングで実行され得ることになる。また、車両4の周辺の地物の認識に必要な道路幅を含む地物形状などの詳細な地図情報が地図データベース520に保持される必要が無くなり、地図データベース520のサイズを小さくすることができる。また、GPS受信部54によって得られた位置情報および時刻や走行速度を利用し、車両4が誘導ポイントの手前などの所定位置に到着したとき、所定位置への到着予想時刻などから予め設定された時間や交通情報が更新されたとき、車両4が所定速度以上で走行したときなどにおいて、端末装置5からセンタ装置1への画像情報の送信タイミングを制御すれば、端末装置5の本体部52の通信負荷を抑えることができる。
【0065】
(2)
図11は、ナビゲーション装置5が、センタ装置1と連携せず、
図10の処理を単独で実行する際の処理フローを示す。センタ装置1のステップS1102、S1103、S1104、S1105で行われるカメラパラメータ校正計算に関わる処理に相当する処理が、ナビゲーション装置5で行われる。位置情報取得部515は、位置情報を更新し(ステップS1110)、ステップS1102と同様のマップマッチングを実行し(ステップS101)、経路探索部517は、ステップS1103と同様のカメラパラメータ校正可否を判断する(ステップS102)。カメラパラメータ校正が可能であれば、経路探索部517は、ステップS1104と同様のカメラパラメータ校正が必要であるか否かを判断し(ステップS103)、カメラ校正が必要な場合、経路探索部517は、ステップS1105と同様のカメラパラメータ校正計算を行う(ステップS104)。その後、校正したカメラパラメータを用いて周辺の走行環境が認識され、目的地までの誘導案内が実行されるステップS1116〜1121の処理は上述した通りである。
【0066】
(3)
図12は、経路誘導部518によってステップS1120で実行される画像情報を利用した誘導案内の一例を説明する処理フローを示す。
図13は
図12の処理フローを説明するための補足図である。ステップS1120では、経路探索部517で計算された経路情報に基づいて経路誘導情報生成部522によって生成された右左折地点通知などの経路誘導情報に基づいて、車両4が目的地まで案内される。経路誘導部518は、位置情報取得部515によってGPS受信部54から得られた位置情報を取得して、車両4の現在位置が誘導ポイントであるか否かを確認する(ステップS120)。車両4の現在位置が誘導ポイントではない場合において(ステップS120がno)、経路誘導情報生成部522によって生成された経路誘導情報に案内情報が存在すれば、経路誘導部518は、その案内情報を取得し(ステップS125)、入出力インターフェース部519を介して、操作部53および/または表示部50にそれぞれ音声および/または画面表示で出力する(ステップS124)。
【0067】
車両4の現在位置が誘導ポイントである場合(ステップS120がyes)、経路誘導部518は、ステップS1118で計算された車両4から周辺の地物までの推定距離情報、例えば車両4から誘導ポイントまでの推定距離を取得する(ステップS121)。誘導ポイントが右左折交差点である場合、経路誘導部518は、例えば
図13の横断歩道126までの推定距離を取得する。更に、ステップS1118で認識されたレーンの端部に引かれた線127のパターン種別(直線)と線128のパターン種別(破線)とから、画像処理により、車両4が走行中のレーンを識別する(ステップS122)。経路誘導部518は、地図データベース520から車両4が走行中のレーンに関するレーン情報を取得し、誘導ポイントでの右左折方向と、車両4の誘導ポイントまでの推定距離および走行レーンとから、その誘導ポイントでの案内情報を経路誘導案内情報生成部522に生成させて、その案内情報を取得する(ステップS123)。経路誘導部518は、入出力インターフェース部519を介して、その案内情報を、操作部53および表示部50にそれぞれ音声および/または画面表示により出力させる(ステップS124)。
【0068】
例えば、車両4が前方の誘導ポイントを右折する予定であって、かつ車両4が現在走行中のレーンが右折用ではなく直進用のレーンであった場合、経路誘導部518は、右折用のレーンへの移動を促す矢印129と案内文130とを経路誘導案内情報生成部522に生成させて、表示部50に画面表示させる。ここで、案内情報を構成する矢印129および案内文130は、車両4の誘導ポイント126までの予想到達時間または推定距離が、安全や交通状況(走行速度)を考慮した適切なタイミングで通知されるようにする。
【0069】
(4)
図3のステップS35で否定判定であっても、車両4の現在位置が誘導ポイント付近に位置しているときは、処理をステップS37に進めてカメラパラメータ校正計算処理およびカメラパラメータ送信が行われないようにしてもよい。これにより、端末装置5における誘導案内の際の、本体部52のCPU処理能力への影響を低減することができる。
【0070】
上述した各実施の形態および各変形例は、それぞれ組み合わせてもよい。また、本発明の特徴的な機能を損なわない限り、本発明は、上述した実施の形態における機器構成に何ら限定されない。