(57)【特許請求の範囲】
【請求項１】
異なる複数の撮影位置の各々から対象物を撮影することにより、撮影位置の各々に応じた画像の各々を表す画像データを取得する取得手段と、
前記画像データに基づいて、前記画像の各々における直線エッジを抽出する抽出手段と、
前記画像の各々における同一の直線エッジを同一直線エッジとして対応付ける対応処理手段と、
前記複数の撮影位置、及び同一直線エッジの各画像における位置座標に基づいて、前記同一直線エッジの三次元空間における三次元位置座標を算出すると共に、前記三次元位置座標で表された直線エッジを前記画像の各々に投影し、前記抽出された直線エッジを構成する画素の各々と前記投影された直線エッジとの距離の和、または前記投影された直線エッジを構成する画素の各々と前記抽出された直線エッジとの距離の和を前記画像の各々について加算した総和が最小となるように、前記三次元位置座標を変更して前記画像の各々へ三次元位置座標で表された直線エッジを投影することを繰返し、総和が最小となった前記三次元位置座標を所定の知識に基づいた拘束条件に従うように補正し、補正後の三次元位置座標を前記同一直線エッジの三次元空間における三次元位置座標と推定する推定手段と、
前記推定手段で推定された三次元位置座標を、三次元地図情報として記憶手段に記憶するように制御する制御手段と、
を含む三次元地図生成装置。
【請求項２】
前記所定の知識に基づいた拘束条件は、所定範囲内の縦方向に延び、かつ該直線エッジの周囲に存在する縦方向に延びた他の直線エッジと異なる方向に、推定した三次元位置座標で表される直線エッジが延びている場合には、推定した三次元位置座標で表される直線エッジは、該他の直線エッジと同一方向に延びる直線エッジとなる条件、及び画像の所定の下部に存在する直線エッジは同一平面上に存在する直線エッジとなる条件の少なくとも一方の条件を含む請求項１に記載の三次元地図生成装置。
【請求項３】
前記推定手段によって推定された三次元位置座標で表された直線エッジを前記画像の各々に再投影し、前記抽出された直線エッジを構成する画素の各々と前記再投影された直線エッジとの距離の和、または前記抽出された直線エッジと前記再投影された直線エッジを構成する画素の各々との距離の和が所定の閾値以下となる前記抽出された直線エッジのみ前記再投影された直線エッジに対して同一直線エッジとして対応付けるように前記対応処理手段を制御する対応処理制御手段を更に含み、
前記推定手段は、前記対応処理制御手段によって新たに同一直線エッジとして対応付けられた直線エッジが存在する場合、及び同一直線エッジとして対応付けられた直線エッジが前記対応処理制御手段によって新たに同一直線エッジとして対応付けられなくなった場合の少なくとも一方の場合に、再び、前記複数の撮影位置、及び同一直線エッジの各画像における位置座標に基づいて、前記同一直線エッジの三次元空間における三次元位置座標を算出すると共に、前記同一直線エッジの三次元空間における三次元位置座標を推定する
請求項１または請求項２記載の三次元地図生成装置。
【請求項４】
前記推定手段は、ＧＰＳ衛星からの電波に基づいて絶対位置を演算する絶対位置演算部により絶対位置を表す撮影位置を演算することにより、前記同一直線エッジの三次元空間における絶対位置を表す三次元位置座標を推定する請求項１〜請求項３の何れか１項に記載の三次元地図生成装置。
【請求項５】
コンピュータを
異なる複数の撮影位置の各々から対象物を撮影することにより、撮影位置の各々に応じた画像の各々を表す画像データを取得する取得手段から前記画像データに基づいて、前記画像の各々における直線エッジを抽出する抽出手段、
前記画像の各々における同一の直線エッジを同一直線エッジとして対応付ける対応処理手段、
前記複数の撮影位置、及び同一直線エッジの各画像における位置座標に基づいて、前記同一直線エッジの三次元空間における三次元位置座標を算出すると共に、前記三次元位置座標で表された直線エッジを前記画像の各々に投影し、前記抽出された直線エッジを構成する画素の各々と前記投影された直線エッジとの距離の和、または前記投影された直線エッジを構成する画素の各々と前記抽出された直線エッジとの距離の和を前記画像の各々について加算した総和が最小となるように、前記三次元位置座標を変更して前記画像の各々へ三次元位置座標で表された直線エッジを投影することを繰返し、総和が最小となった前記三次元位置座標を所定の知識に基づいた拘束条件に従うように補正し、補正後の三次元位置座標を前記同一直線エッジの三次元空間における三次元位置座標と推定する推定手段、及び
前記推定手段で推定された三次元位置座標を、三次元地図情報として記憶手段に記憶するように制御する制御手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元地図生成装置、及びプログラムに関する。
【背景技術】
【０００２】
従来、対象物が撮影された画像から、この対象物の三次元空間における三次元の形状を特徴点の三次元の位置を推定することにより生成する技術が知られている（例えば、特許文献１参照）。
【特許文献１】特開２００５−１１５４２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、特許文献１に技術では、特徴点に基づいて三次元形状を推定し生成しているため、ノイズの影響を受けやすく、生成された三次元形状の大きさや位置などの精度が低い場合がある、という問題がある。
【０００４】
本発明は上記の問題を解決するために成されたものであり、対象物の三次元の形状を生成するために用いられる精度が高い三次元位置座標を生成することができる三次元地図生成装置、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記の目的を達成するために、本発明の三次元地図生成装置は、異なる複数の撮影位置の各々から対象物を撮影することにより、撮影位置の各々に応じた画像の各々を表す画像データを取得する取得手段と、前記画像データに基づいて、前記画像の各々における直線エッジを抽出する抽出手段と、前記画像の各々における同一の直線エッジを同一直線エッジとして対応付ける対応処理手段と、前記複数の撮影位置、及び同一直線エッジの各画像における位置座標に基づいて、前記同一直線エッジの三次元空間における三次元位置座標を算出すると共に、前記三次元位置座標で表された直線エッジを前記画像の各々に投影し、前記抽出された直線エッジを構成する画素の各々と前記投影された直線エッジとの距離の和、または前記投影された直線エッジを構成する画素の各々と前記抽出された直線エッジとの距離の和を前記画像の各々について加算した総和が最小となるように、前記三次元位置座標を変更して前記画像の各々へ三次元位置座標で表された直線エッジを投影することを繰返し、総和が最小となった前記三次元位置座標を所定の知識に基づいた拘束条件に従うように補正し、補正後の三次元位置座標を前記同一直線エッジの三次元空間における三次元位置座標と推定する推定手段と、前記推定手段で推定された三次元位置座標を、三次元地図情報として記憶手段に記憶するように制御する制御手段とを含んで構成されている。
【０００６】
本発明の三次元地図生成装置によれば、複数の撮影位置、及び同一直線エッジの各画像における位置座標に基づいて、同一直線エッジの三次元空間における三次元位置座標を算出すると共に、三次元位置座標で表された直線エッジを画像の各々に投影し、抽出された直線エッジを構成する画素の各々と投影された直線エッジとの距離の和、または投影された直線エッジを構成する画素の各々と抽出された直線エッジとの距離の和を画像の各々について加算した総和が最小となるように、三次元位置座標を変更して画像の各々へ三次元位置座標で表された直線エッジを投影することを繰返し、総和が最小となった三次元位置座標を所定の知識に基づいた拘束条件に従うように補正し、補正後の三次元位置座標を同一直線エッジの三次元空間における三次元位置座標と推定するので、精度の高い三次元位置座標を推定することができる。そして、この精度の高い三次元位置座標が、三次元地図情報として記憶手段に記憶される。この記憶された三次元地図情報は、上記で説明したように三次元位置座標であり、例えば、三次元の対象物（例えば、ランドマーク）を地図上に生成する際に、この対象物の精度の高い位置情報として用いることが可能である。また、周囲の画像を取得するためのカメラ等の撮像手段と、この撮像手段によって取得された画像から直線エッジを検出する機能を備えた情報機器とが設けられた移動体、例えば車両等において、記憶手段（例えば、ＨＤＤ（Hard Disk Drive））に記憶された三次元地図情報を読み出して、検出された直線エッジに対応する位置情報を取得することで、検出された直線エッジの精度の高い三次元位置座標を取得することができる。そして、取得した三次元位置座標に基づいて、特開２００５−１１５４２０号公報等に記載されている公知の技術を用いることにより精度の高いカメラベクトル（カメラの三次元位置座標及びそれぞれの座標軸の回転角）を求めることができる。このため、求められたカメラベクトルに含まれるカメラの三次元位置座標を、カメラを搭載した移動体の位置と同一としてみなすと、本発明の三次元地図生成装置を用いることで、精度の高い移動体の三次元位置座標を求めることができる。
【０００７】
また、前記所定の知識に基づいた拘束条件を、所定範囲内の縦方向に延び、かつ該直線エッジの周囲に存在する縦方向に延びた他の直線エッジと異なる方向に、推定した三次元位置座標で表される直線エッジが延びている場合には、推定した三次元位置座標で表される直線エッジは、該他の直線エッジと同一方向に延びる直線エッジとなる条件、及び画像の所定の下部に存在する直線エッジは同一平面上に存在する直線エッジとなる条件の少なくとも一方の条件を含むようにしてもよい。これにより、縦方向に延びる直線エッジはほとんどが同一の方向に延びているという知識、及び画像の所定の下部に存在する直線エッジは同一平面上に存在するという知識の少なくとも一方の知識に従って補正が行われたより精度の高い直線エッジを推定することができる。
【０００８】
また、本発明において、前記推定手段によって推定された三次元位置座標で表された直線エッジを前記画像の各々に再投影し、前記抽出された直線エッジを構成する画素の各々と前記再投影された直線エッジとの距離の和、または前記抽出された直線エッジと前記再投影された直線エッジを構成する画素の各々との距離の和が所定の閾値以下となる前記抽出された直線エッジのみ前記再投影された直線エッジに対して同一直線エッジとして対応付けるように前記対応処理手段を制御する対応処理制御手段を更に含むようにし、前記推定手段を、前記対応処理制御手段によって新たに同一直線エッジとして対応付けられた直線エッジが存在する場合、及び同一直線エッジとして対応付けられた直線エッジが前記対応処理制御手段によって新たに同一直線エッジとして対応付けられなくなった場合の少なくとも一方の場合に、再び、前記複数の撮影位置、及び同一直線エッジの各画像における位置座標に基づいて、前記同一直線エッジの三次元空間における三次元位置座標を算出すると共に、前記同一直線エッジの三次元空間における三次元位置座標を推定するようにしてもよい。これにより、同一直線エッジとして対応付けられる直線エッジの正確性が高まり、より精度の高い三次元位置座標を推定することができる。
【０００９】
また、本発明の前記推定手段を、ＧＰＳ衛星からの電波に基づいて絶対位置を演算する絶対位置演算部により絶対位置を表す撮影位置を演算することにより、前記同一直線エッジの三次元空間における絶対位置を表す三次元位置座標を推定するようにしてもよい。これにより、絶対位置を表す三次元位置座標を推定することができる。
【００１０】
また、上記の目的を達成するために、本発明のプログラムは、コンピュータを異なる複数の撮影位置の各々から対象物を撮影することにより、撮影位置の各々に応じた画像の各々を表す画像データを取得する取得手段から前記画像データに基づいて、前記画像の各々における直線エッジを抽出する抽出手段、前記画像の各々における同一の直線エッジを同一直線エッジとして対応付ける対応処理手段、前記複数の撮影位置、及び同一直線エッジの各画像における位置座標に基づいて、前記同一直線エッジの三次元空間における三次元位置座標を算出すると共に、前記三次元位置座標で表された直線エッジを前記画像の各々に投影し、前記抽出された直線エッジを構成する画素の各々と前記投影された直線エッジとの距離の和、または前記投影された直線エッジを構成する画素の各々と前記抽出された直線エッジとの距離の和を前記画像の各々について加算した総和が最小となるように、前記三次元位置座標を変更して前記画像の各々へ三次元位置座標で表された直線エッジを投影することを繰返し、総和が最小となった前記三次元位置座標を所定の知識に基づいた拘束条件に従うように補正し、補正後の三次元位置座標を前記同一直線エッジの三次元空間における三次元位置座標と推定する推定手段、及び前記推定手段で推定された三次元位置座標を、三次元地図情報として記憶手段に記憶するように制御する制御手段として機能させる。
【００１１】
本発明のプログラムによれば、複数の撮影位置、及び同一直線エッジの各画像における位置座標に基づいて、同一直線エッジの三次元空間における三次元位置座標を算出すると共に、三次元位置座標で表された直線エッジを画像の各々に投影し、抽出された直線エッジを構成する画素の各々と投影された直線エッジとの距離の和、または投影された直線エッジを構成する画素の各々と抽出された直線エッジとの距離の和を画像の各々について加算した総和が最小となるように、三次元位置座標を変更して画像の各々へ三次元位置座標で表された直線エッジを投影することを繰返し、総和が最小となった三次元位置座標を所定の知識に基づいた拘束条件に従うように補正し、補正後の三次元位置座標を同一直線エッジの三次元空間における三次元位置座標と推定するので、精度の高い三次元位置座標を推定することができる。そして、この精度の高い三次元位置座標が、三次元地図情報として記憶手段に記憶される。この記憶された三次元地図情報は、上記で説明したように三次元位置座標であり、例えば、三次元の対象物（例えば、ランドマーク）を地図上に生成する際に、この対象物の精度の高い位置情報として用いることが可能である。また、周囲の画像を取得するためのカメラ等の撮像手段と、この撮像手段によって取得された画像から直線エッジを検出する機能を備えた情報機器とが設けられた移動体、例えば車両等において、記憶手段（例えば、ＨＤＤ）に記憶された三次元地図情報を読み出して、検出された直線エッジに対応する位置情報を取得することで、検出された直線エッジの精度の高い三次元位置座標を取得することができる。そして、取得した三次元位置座標に基づいて、特開２００５−１１５４２０号公報等に記載されている公知の技術を用いることにより精度の高いカメラベクトルを求めることができる。このため、求められたカメラベクトルに含まれるカメラの三次元位置座標を、カメラを搭載した移動体の位置と同一としてみなすと、本発明の三次元地図生成装置を用いることで、精度の高い移動体の三次元位置座標を求めることができる。
【発明の効果】
【００１２】
以上説明したように、本発明の三次元地図生成装置、及びプログラムによれば、対象物の三次元の形状を生成するために用いられる精度が高い三次元位置座標を生成することができる、という効果が得られる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して、本発明の三次元地図生成装置の実施の形態を詳細に説明する。
【００１４】
図１に示すように、本実施の形態に係る三次元地図生成装置１０は、移動体、例えば車両に搭載され、カメラ１２と、車速センサ１４と、操舵角センサ１５と、ジャイロセンサ１６と、コンピュータ１８とを備えている。
【００１５】
カメラ１２は、所定の姿勢角で車両の前方を撮影可能な位置に設けられており、所定のフレームレートで対象物を撮影し、動画の画像データを取得する。すなわち、カメラ１２によって、異なる複数の撮影位置の各々から対象物を撮影することにより、撮影位置の各々に応じた画像の各々を表す画像データを取得することができる。なお、カメラ１２には、所定の間隔毎に静止画像を取得することが可能なカメラを用いるようにしてもよい。
【００１６】
車速センサ１４は、車両の車輪の回転数を検出可能な位置に設けられ、車両の車速を示す検出信号を出力する。
【００１７】
操舵角センサ１５は、車両の前輪の操舵角を検出可能な位置に設けられ、車両の進行方向を示す検出信号を出力する。
【００１８】
ジャイロセンサ１６は、車両の姿勢角（Ｘ軸、Ｙ軸、及びＺ軸回りの各回転角）を示す検出信号を出力する。
【００１９】
コンピュータ１８は、ＲＯＭ（Read Only Memory）１８ａ、ＨＤＤ（Hard Disk Drive）１８ｂ、ＣＰＵ（Central Processing Unit）１８ｃ、ＲＡＭ（Random Access Memory）１８ｄ、及びＩ／Ｏ（入出力）ポート１８ｅを備えている。これらＲＯＭ１８ａ、ＨＤＤ１８ｂ、ＣＰＵ１８ｃ、ＲＡＭ１８ｄ、及びＩ／Ｏポート１８ｅは互いにバス１８ｆで接続されている。
【００２０】
記憶媒体としてのＲＯＭ１８ａには、ＯＳ等の基本プログラムが記憶されている。
【００２１】
記憶媒体としてのＨＤＤ１８ｂには、詳細を以下で説明する三次元地図生成処理、直線エッジ対応付更新処理の各処理の処理ルーチンを実行するための各プログラムが記憶されている。
【００２２】
ＣＰＵ１８ｃは、プログラムをＲＯＭ１８ａ及びＨＤＤ１８ｂから読み出して実行する。
【００２３】
ＲＡＭ１８ｄには、各種データが一時的に記憶される。
【００２４】
Ｉ／Ｏポート１８ｅには、カメラ１２、車速センサ１４、及びジャイロセンサ１６が接続されている。
【００２５】
コンピュータ１８を以下で詳細を説明する三次元地図生成処理に従って機能ブロックで表すと、図２に示すように、抽出手段７０、対応処理手段７２、推定手段７４、対応処理制御手段７６、制御手段７８、及び記憶手段８０で表すことができる。
【００２６】
次に、コンピュータ１８のＣＰＵ１８ｃが実行する三次元地図生成処理の処理ルーチンについて図３を用いて説明する。なお、本実施の形態において、本三次元地図生成処理は、三次元地図生成装置１０のスイッチ（図示せず）がオンされた時点から所定時間間隔（例えば、数１０ｍｓｅｃ）毎に実行される。
【００２７】
まず、ステップ１００で、カメラから動画像データの取り込みを開始すると共に、車速センサ１４、操舵角センサ１５、及びジャイロセンサ１６から各検出信号の取り込みを開始する。
【００２８】
次のステップ１０２では、車速センサ１４からの検出信号に基づいて、三次元地図生成装置１０が搭載された車両の車速を演算し、演算された車速に積分処理を施して車両の進んだ距離の演算を所定間隔で繰り返す処理を開始する。また、ステップ１０２では、操舵角センサ１５からの検出信号に基づいて、三次元地図生成装置１０が搭載された車両の進行方向の演算を所定間隔で繰り返す処理を開始する。また、ステップ１０２では、ジャイロセンサ１６からの検出信号に基づいて、三次元地図生成装置１０が搭載された車両の三次元空間における姿勢角を演算することにより、カメラ１２の姿勢角を演算する処理を所定間隔で繰り返す処理を開始する。そして、ステップ１０２では、演算された車両の進んだ距離及び車両の進行方向に基づいて、カメラ１２によって撮影された動画像データの各フレーム画像が表す画像の撮影位置の各三次元位置座標（Ｘ，Ｙ，Ｚ）を演算する。なお、車両の進んだ距離及び車両の進行方向に基づいて演算された三次元位置座標と、カメラ１２による撮影位置の三次元位置座標とのずれを予め実験的に求めておき、このずれを用いて、車両の進んだ距離及び車両の進行方向に基づいて演算された三次元位置座標を補正することにより、各フレーム画像が表す画像の撮影位置の各三次元位置座標を演算するようにしてもよい。
【００２９】
そして、ステップ１０２では、各フレーム画像と、対応する撮影位置の三次元位置座標と、対応する姿勢角とを対応付けてＲＡＭ１８ｄに記憶する。これにより、各フレーム画像とその撮影位置とそのカメラの姿勢角とが対応付けられる。
【００３０】
次のステップ１０４では、ＲＡＭ１８ｄに記憶された各フレーム画像の各々において、直線エッジを抽出する。ここで、ステップ１０４では、例えば、各フレーム画像を構成する各画素の輝度の差を演算することにより直線エッジを抽出する抽出方法を用いて、直線エッジを抽出することができる。
【００３１】
次のステップ１０６では、各フレーム画像の各々における同一の直線エッジの対応付けを行う。すなわち、ステップ１０６では、各フレーム画像の各々における同一の直線エッジを同一直線エッジとして対応付ける。
【００３２】
次のステップ１０８では、複数のフレーム画像のうちの２つのフレーム画像を用いて、２つのフレーム画像の撮影位置、及び２つのフレーム画像の各々における同一直線エッジとして対応付けられた直線エッジの位置座標から求まる直線エッジの三次元空間における相対的な方向を用いて、三角測量の原理に基づいて、同一直線エッジとして対応付けられた直線エッジの三次元空間における三次元位置座標を算出する。なお、ステップ１０８で算出された三次元位置座標は暫定的なものである。
【００３３】
例えば、図４（Ａ）に示すような、動画像２０の複数のフレーム画像２２のうちの２つフレーム画像２２を用いて、図４（Ｂ）に示すように、２つのフレーム画像２２の撮影位置２４ａ、２４ｂ、及び２つのフレーム画像２２の各々における同一直線エッジ２８として対応付けられた直線エッジ２６ａの端点の位置座標（Ｘ１，Ｙ１）、（Ｘ２，Ｙ２）と、このフレーム画像２２の姿勢角とから求まる直線エッジ２６ａの三次元空間における相対的な方向（図４（Ｂ）の例では、矢印Ａが示す方向）、直線エッジ２６ｂの端点の位置座標（Ｘ３，Ｙ３）、（Ｘ４，Ｙ４）と、このフレーム画像２２の姿勢角とから求まる直線エッジ２６ｂの三次元空間における相対的な方向（図４（Ｂ）の例では、矢印Ｂが示す方向）を用いて、三角測量の原理に基づいて、同一直線エッジ２８の端点の三次元空間における三次元位置座標（Ｘ５，Ｙ５，Ｚ５）、（Ｘ６，Ｙ６，Ｚ６）を算出する。
【００３４】
次のステップ１１０では、ステップ１０８において算出された三次元位置座標で表される直線エッジ（図４（Ｂ）の例では、同一直線エッジ２８）を、動画像の複数のフレーム画像の各々に投影する。
【００３５】
次のステップ１１２では、投影された直線エッジと同一の直線エッジとして対応付けられた直線エッジを構成する画素の各々と、投影された直線エッジとの距離の和を演算し、演算された距離の和を複数のフレーム画像の各々について加算した総和が最小となるように、投影される直線エッジ（すなわち、ステップ１０８において算出された三次元位置座標で表される直線エッジ）の端点の三次元位置座標を変更して複数のフレーム画像の各々に投影することを繰返し、総和が最小となったときの端点の三次元位置座標を所定の知識に基づいた拘束条件に従うように補正し、補正後の三次元位置座標を同一直線エッジの三次元空間における三次元位置座標と推定する。
【００３６】
図５を参照して説明すると、ステップ１１０では、同一直線エッジ２８を複数のフレーム画像２２の各々に投影し、ステップ１１２では、投影された直線エッジＬと、投影された直線エッジＬと同一の直線エッジとして対応付けられた直線エッジ３２を構成する画素（図５の例では、ｐ１〜ｐ６）の各々との距離の和Ｅを下記の式（１）により演算する。
【００３７】
【数１】
0005056436.tif 000002
ここで、
ｋ：投影された直線エッジと同一の直線エッジとして対応付けられた本フレーム画像における直線エッジを構成する画素ｐの数
ｐｎ：ｎ番目の画素
Ｌ：投影された直線エッジ
ｄｉｓｔａｎｃｅ（Ｌ，ｐｎ）：直線Ｌと画素ｐｎとの距離
である。
【００３８】
そして、演算された距離の和Ｅを複数のフレーム画像の各々について加算した総和ＥＴｏｔａｌが最小となるように、投影される直線エッジＬの端点の三次元位置座標を変更して複数のフレーム画像２２の各々に投影することを繰返し、総和ＥＴｏｔａｌが最小となったときの端点の三次元位置座標を所定の知識に基づいた拘束条件に従うように補正する。ここで、図６を参照して、補正の具体的な方法について説明する。本願の発明者らは、鋭意研究の結果、図６（Ａ）に示されるように、直線エッジ５０が、所定範囲内（図６（Ａ）の例では鉛直方向に対して±α度内）の縦方向に延び、かつ直線エッジ５０の周辺に存在する縦方向に延びた他の直線エッジ５２と異なる方向に延びている場合には、図６（Ｂ）に示すように、直線エッジ５０が、他の直線エッジ５２と同一方向に延びた直線エッジとなる可能性が非常に高いという規則（知識）を発見した。これにより、より精度の高い直線エッジを検出するために、この知識に基づいた拘束条件、すなわち直線エッジ５０が、所定範囲内の縦方向に延び、かつ直線エッジ５０の周辺に存在する縦方向に延びた他の直線エッジ５２と異なる方向に延びている場合には、図６（Ｂ）に示すように、直線エッジ５０が、他の直線エッジ５２と同一方向に延びた直線エッジとなる条件に従うように、他の直線エッジ５２と同一方向に延びた直線エッジとなるように補正を行う。
【００３９】
また、本願の発明者らは、鋭意研究の結果、画像の所定の下部に存在する直線エッジは同一平面上に存在する直線エッジとなる可能性が高いという知識を発見した。これにより、ステップ１１２で、この知識に基づいた拘束条件、すなわち画像の所定の下部に存在する直線エッジは同一平面上に存在する直線エッジとなる条件に従うように、画像の所定の下部に存在する直線エッジは同一平面上に存在する直線エッジとなるように補正を行ってもよい。すなわち、直線エッジ５０が、所定範囲内の縦方向に延び、かつ直線エッジ５０の周辺に存在する縦方向に延びた他の直線エッジ５２と異なる方向に延びている場合には、図６（Ｂ）に示すように、直線エッジ５０が、他の直線エッジ５２と同一方向に延びた直線エッジとなる条件、及び画像の所定の下部に存在する直線エッジは同一平面上に存在する直線エッジとなる条件の少なくとも一方の条件に従うように補正を行ってもよい。
【００４０】
そして、ステップ１１２では、補正後の直線エッジ５０の端点の三次元位置座標５０Ａ、５０Ｂを、同一直線エッジの三次元空間における三次元位置座標として推定する。これにより、図７に示されるように、上述したような距離の和Ｅを複数のフレーム画像の各々について加算した総和が最小となるような三次元位置座標を推定する推定方法のみでは、推定された三次元位置座標が領域（グレー部分の直線エッジ位置の推定予測範囲）８０内において不定になってしまうおそれがあるが、三次元位置座標を推定する際に、知識に基づいた拘束条件を用いることによって三次元位置を推定することにより、より精度の高い三次元位置座標を推定することができる。
【００４１】
次のステップ１１４では、直線エッジ対応付更新処理を実行する。ここで、ステップ１１４の直線エッジ対応付更新処理の処理ルーチンの詳細について図８を用いて説明する。
【００４２】
まず、ステップ２００で、ステップ１１２において推定された三次元位置座標で表された直線エッジを複数のフレーム画像の各々に再投影する。
【００４３】
次のステップ２０２では、再投影された直線エッジと同一の直線エッジとして対応付けられた直線エッジを構成する画素の各々と、再投影された直線エッジとの距離の和Ｅ´を、全てのフレーム画像の各々において、下記の式（２）により演算する。
【００４４】
【数２】
0005056436.tif 000003
ここで、
ｋ´：再投影された直線エッジと同一の直線エッジとして対応付けられた本フレーム画像における直線エッジを構成する画素ｐ´の数
ｐ´ｎ：ｎ番目の画素
Ｌ´：再投影された直線エッジ
ｄｉｓｔａｎｃｅ（Ｌ´，ｐ´ｎ）：直線Ｌ´と画素ｐ´ｎとの距離
である。
【００４５】
次のステップ２０４では、演算された和Ｅ´と所定値αとを各フレーム画像毎に比較して、和Ｅ´が所定の閾値αより大きくなるフレーム画像があるか否かを判定する。なお、所定の閾値αは、例えば、実験的または統計的に２つの直線エッジが同一の直線エッジとして対応付けられる場合における１つの直線エッジと他の直線エッジを構成する画素の各々との距離の最大値を求めておき、この最大値を所定の閾値αとして設定しておけばよい。
【００４６】
ステップ２０４で、和Ｅ´が所定の閾値αより大きくなるフレーム画像があると判定された場合には、このフレーム画像における再投影された直線エッジと同一の直線エッジとして対応付けられた直線エッジは、再投影された直線エッジとは同一の直線エッジではないと判断して、次のステップ２０６に進む。
【００４７】
ステップ２０６では、ステップ２０４において和Ｅ´が所定の閾値αより大きくなると判定されたフレーム画像における再投影された直線エッジと同一の直線エッジとして対応付けられた直線エッジと、再投影された直線エッジとの対応付けを解消する。これにより、ステップ２０４において和Ｅ´が所定の閾値αより大きくなると判定されたフレーム画像における再投影された直線エッジと同一の直線エッジとして対応付けられた直線エッジと、再投影された直線エッジとは同一の直線エッジであるとはみなされなくなる。そして、次のステップ２０８へ進む。
【００４８】
一方、ステップ２０４で、和Ｅ´が所定の閾値αより大きくなるフレーム画像がないと判定された場合には、次のステップ２０８に進む。
【００４９】
ステップ２０８では、再投影された直線エッジと同一の直線エッジとして対応付けられていない全ての直線エッジについて、この直線エッジを構成する画素の各々と、再投影された直線エッジとの距離の和Ｅ´´を、全てのフレーム画像の各々において、下記の式（３）により演算する。
【００５０】
【数３】
0005056436.tif 000004
ここで、
ｋ´´：再投影された直線エッジと同一の直線エッジとして対応付けられていない本フレーム画像における直線エッジを構成する画素ｐ´´の数
ｐ´´ｎ：ｎ番目の画素
Ｌ´：再投影された直線エッジ
ｄｉｓｔａｎｃｅ（Ｌ´，ｐ´´ｎ）：直線Ｌ´と画素ｐ´´ｎとの距離
である。
【００５１】
そして、次のステップ２１０で、和Ｅ´´が所定の閾値α以下となる直線エッジがあるか否かを全てのフレーム画像について判定する。
【００５２】
ステップ２１０で、和Ｅ´´が所定の閾値α以下となる直線エッジがあると判定された場合には、再投影された直線エッジとは同一の直線エッジであり新たに対応付けする必要があると判断して、次のステップ２１２へ進む。
【００５３】
次のステップ２１２では、和Ｅ´´が所定の閾値α以下となると判定された直線エッジと投影された直線エッジとを同一直線エッジとして対応付ける。そして、本直線エッジ対応付更新処理を終了する。
【００５４】
一方、ステップ２１２で、和Ｅ´´が所定の閾値α以下となる直線エッジがないと判定された場合には、本直線エッジ対応付更新処理を終了する。
【００５５】
以上説明した本直線エッジ対応付更新処理によれば、ノイズ等の影響によってステップ１０６において誤って対応付けられた直線エッジが、ステップ２０６での処理によってその対応付けが解消されると共に、ノイズ等の影響によってステップ１０６で誤って対応付けられなかった直線エッジが、ステップ２１２での処理によって対応付けられる。これにより、同一直線エッジの対応付けの精度がより一層高くなる。
【００５６】
ここで、図３の三次元地図生成処理の説明に戻る。次のステップ１１６では、上記で説明したステップ１１４の直線エッジ対応付更新処理においてステップ２０６で対応付けが解消されたか、またはステップ２１２で新たに対応付けられたか、もしくはその両方であるか（すなわち、対応付けが更新されたか）否かを判定する。
【００５７】
ステップ１１６で、対応付けが更新されたと判定された場合には、ステップ１１２に戻り、対応付けが更新された状況で、上記で説明した処理の内容と同様に、三次元空間における三次元位置座標を推定する。このように、ステップ１１６で同一直線エッジの対応付けの精度がより一層高くなるように対応付けを更新し、ステップ１１８で対応付けが更新された後の状況で、三次元位置座標を推定するので、推定された三次元位置座標の精度はより高くなる。
【００５８】
一方、ステップ１１６で、対応付けが更新されなかったと判定された場合には、次のステップ１１８に進む。ステップ１１８では、ステップ１１２で推定された同一直線エッジの三次元空間における端点の三次元位置座標を、この同一直線エッジを識別するための情報（例えば、ＩＤ）と対応付けて、三次元地図情報として、記憶手段としてのＨＤＤ１８ｂに記憶するように制御する。
【００５９】
これにより、図９に示すように、同一直線エッジ毎に、端点の三次元位置座標が登録された三次元地図情報４０がＨＤＤ１８ｂに記憶される。同図に図示されるように、三次元地図情報４０には、同一直線エッジ毎にレコード４０ａが登録される。各レコード４０ａは、同一直線エッジを識別するための情報（図７の例ではＩＤ）が登録されるフィールド４０ｂ、同一直線エッジの端点を識別するための情報が登録されるフィールド４０ｃ、各端点に対応する三次元位置座標が登録されるフィールド４０ｄを備えている。
【００６０】
なお、本三次元地図生成処理のステップ１００〜１０４は抽出手段７０で実行され、ステップ１０６は対応処理手段７２で実行され、ステップ１０８〜１１２は推定手段７４で実行され、ステップ１１４及びステップ１１６は対応処理制御手段７６で実行され、ステップ１１８は制御手段７８で実行される。
【００６１】
以上説明したように、本実施の形態の三次元地図生成装置１０は、異なる複数の撮影位置の各々から対象物を撮影することにより、撮影位置の各々に応じた画像の各々を表す画像データを取得し、画像データに基づいて、画像の各々における直線エッジを抽出し、画像の各々における同一の直線エッジを同一直線エッジとして対応付け、複数の撮影位置、及び同一直線エッジの各画像における位置座標に基づいて、同一直線エッジの三次元空間における三次元位置座標を算出すると共に、三次元位置座標で表された直線エッジを画像の各々に投影し、抽出された直線エッジを構成する画素の各々と投影された直線エッジとの距離の和を画像の各々について加算した総和が最小となるように、三次元位置座標を変更して画像の各々へ三次元位置座標で表された直線エッジを投影することを繰返し、総和が最小となった三次元位置座標を所定の知識に基づいた拘束条件に従うように補正し、補正後の三次元位置座標を、同一直線エッジの三次元空間における三次元位置座標と推定し、推定された三次元位置座標を、三次元地図情報として記憶手段としてのＨＤＤ１８ｂに記憶するように制御する。
【００６２】
本実施の形態の三次元地図生成装置１０によれば、複数の撮影位置、及び同一直線エッジの各画像における位置座標に基づいて、同一直線エッジの三次元空間における三次元位置座標を算出すると共に、三次元位置座標で表された直線エッジを画像の各々に投影し、抽出された直線エッジを構成する画素の各々と投影された直線エッジとの距離の和を画像の各々について加算した総和が最小となるように、三次元位置座標を変更して画像の各々へ三次元位置座標で表された直線エッジを投影することを繰返し、総和が最小となった三次元位置座標を所定の知識に基づいた拘束条件に従うように補正し、補正後の三次元位置座標を、同一直線エッジの三次元空間における三次元位置座標と推定するので、精度の高い三次元位置座標を推定することができる。そして、この精度の高い三次元位置座標が、三次元地図情報としてＨＤＤ１８ｂに記憶される。この記憶された三次元地図情報は、上記で説明したように三次元位置座標であり、例えば、三次元の対象物（例えば、ランドマーク）を地図上に生成する際に、この対象物の精度の高い位置情報として用いることが可能である。また、周囲の画像を取得するためのカメラ等の撮像手段と、この撮像手段によって取得された画像から直線エッジを検出する機能を備えた情報機器とが設けられた移動体、例えば車両等において、記憶手段（例えば、ＨＤＤ）に記憶された三次元地図情報を読み出して、検出された直線エッジに対応する位置情報を取得することで、検出された直線エッジの精度の高い三次元位置座標を取得することができる。そして、取得した三次元位置座標に基づいて、特開２００５−１１５４２０号公報等に記載されている公知の技術を用いることにより精度の高いカメラベクトル（カメラの三次元位置座標及びそれぞれの座標軸の回転角）を求めることができる。このため、求められたカメラベクトルに含まれるカメラの三次元位置座標を、カメラを搭載した移動体の位置と同一としてみなすと、本実施の形態の三次元地図生成装置１０を用いることで、精度の高い移動体の三次元位置座標を求めることができる。
【００６３】
また、本実施の形態において、三次元地図生成装置１０は、推定された三次元位置座標で表された直線エッジを画像の各々に再投影し、抽出された直線エッジを構成する画素の各々と再投影された直線エッジとの距離の和が所定の閾値以下となる抽出された直線エッジのみ再投影された直線エッジに対して同一直線エッジとして対応付けて、新たに同一直線エッジとして対応付けられた直線エッジが存在する場合、及び同一直線エッジとして対応付けられていた直線エッジが新たに同一直線エッジとして対応付けられなくなった場合の少なくとも一方の場合に、再び、複数の撮影位置、及び同一直線エッジの各画像における位置座標に基づいて、同一直線エッジの三次元空間における三次元位置座標を算出すると共に、同一直線エッジの三次元空間における三次元位置座標を推定する。これにより、同一直線エッジとして対応付けられる直線エッジの正確性が高まり、より精度の高い三次元位置座標を推定することができる。
【００６４】
なお、本実施の形態では、ステップ１１２で、投影された直線エッジと抽出された直線エッジを構成する画素の各々との距離の和Ｅを演算する例について説明したが、投影された直線エッジを構成する画素の各々と抽出された直線エッジとの距離の和をＥとして同様に演算するようにしてもよい。
【００６５】
また、本実施の形態では、ステップ２０２で、再投影された直線エッジと抽出された直線エッジを構成する画素の各々との距離の和Ｅ´を演算する例について説明したが、抽出された直線エッジと再投影された直線エッジを構成する画素の各々との距離の和をＥ´として同様に演算するようにしてもよい。
【００６６】
また、本実施の形態では、ステップ２０８で、再投影された直線エッジと同一の直線エッジとして対応付けられていない全ての直線エッジについて、この直線エッジを構成する画素の各々と、再投影された直線エッジとの距離の和Ｅ´´を演算する例について説明したが、再投影された直線エッジと同一の直線エッジとして対応付けられていない全ての直線エッジについて、この直線エッジと、再投影された直線エッジを構成する画素の各々との距離の和をＥ´´として同様に演算するようにしてもよい。
【００６７】
また、本実施の形態において、ステップ１０２で、相対位置の各三次元位置座標（Ｘ,Ｙ,Ｚ）を演算する例について説明したが、本発明はこれに限られない。例えば、図１０に示すように、ＧＰＳ衛星からの電波に基づいて絶対位置を演算する絶対位置演算部としてのＧＰＳ受信機１７を三次元地図生成装置１０に更に設けて、ステップ１０２で、絶対位置の各三次元位置座標（Ｘ,Ｙ,Ｚ）を演算することにより、ステップ１０２以降の処理で絶対位置の情報を用いることで、ステップ１１２で、同一直線エッジの三次元空間における絶対位置を表す三次元位置座標を推定するようにしてもよい。これにより、絶対位置を表す三次元位置座標を推定することができる。
【００６８】
また、本実施の形態において、ステップ１０２で、車速センサ１４及び操舵角センサ１５からの各検出信号を用いて相対位置の各三次元位置座標を演算する例について説明したが、本発明はこれに限られない。例えば、カメラ１２からの動画像データを用いて、特開２００５−１１５４２０号公報等に記載されている公知の技術を用いることによりカメラベクトル（カメラの三次元位置座標及びそれぞれの座標軸の回転角）を求めて、カメラベクトルに含まれるカメラの三次元位置座標を取得することにより、各三次元位置座標を演算するようにしてもよい。
【００６９】
また、ステップ１０２で、各フレーム画像と、対応する撮影位置の三次元位置座標と、対応する姿勢角とを対応付けてＲＡＭ１８ｄに記憶する例について説明したが、ステップ１０２で、各フレーム画像と、対応する撮影位置の三次元位置座標と、対応する姿勢角とを対応付けてＲＡＭ１８ｂに記憶し、ＲＡＭ１８ｂに所定量の各フレーム画像と、対応する撮影位置の三次元位置座標と、対応する姿勢角とが対応付けられた情報が記憶された場合に、ステップ１０４以降の処理（ステップ１０４〜ステップ１１８の処理）をオフライン処理による一括処理を行うようにしてもよい。この場合には、所定量を適切に調整することで、ステップ１０４以降の処理において用いられる情報の量が多くなるので、より精度の高い三次元位置座標を推定することが可能となる。
【００７０】
また、本実施の形態では、三次元地図生成処理において、ステップ１００からステップ１１８までを実行する例について説明したが、ステップ１１４及びステップ１１６を省略して、ステップ１１２の次にステップ１１８を実行するようにしてもよい。
【００７１】
また、カメラ１２に近赤外領域の波長帯の画像を撮影可能なカメラを用いるようにしてもよい。これにより、ステップ１０４での直線エッジの抽出をより頑健に行うことができるようになる。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施の形態に係る三次元地図生成装置を示す図である。
【図２】本実施の形態に係る三次元地図生成装置のコンピュータを機能的に表した図である。
【図３】本実施の形態に係る三次元地図生成装置が実行する三次元地図生成処理の処理ルーチンのフローチャートを示す図である。
【図４】本実施の形態に係る三次元地図生成処理を説明するための図である。
【図５】本実施の形態に係る三次元地図生成処理を説明するための図である。
【図６】三次元地図生成処理の詳細を説明するための図である。
【図７】三次元地図生成処理の詳細を説明するための図である。
【図８】本実施の形態に係る三次元地図生成装置が実行する直線エッジ対応付更新処理の処理ルーチンのフローチャートを示す図である。
【図９】本実施の形態に係る三次元地図情報を模式的に表した図である。
【図１０】三次元地図生成装置の変形例を示す図である。
【符号の説明】
【００７３】
１０      三次元地図生成装置
１２      カメラ
１４      車速センサ
１５      操舵角センサ
１６      ジャイロセンサ
１８      コンピュータ
１８ａ    ＲＯＭ
１８ｂ    ＨＤＤ
１８ｃ    ＣＰＵ
１８ｄ    ＲＡＭ
７０      抽出手段
７２      対応処理手段
７４      推定手段
７６      対応処理制御手段
７８      制御手段
８０      記憶手段
【図１】
0005056436.tif 000005
【図２】
0005056436.tif 000006
【図３】
0005056436.tif 000007
【図５】
0005056436.tif 000008
【図６】
0005056436.tif 000009
【図７】
0005056436.tif 000010
【図８】
0005056436.tif 000011
【図９】
0005056436.tif 000012
【図１０】
0005056436.tif 000013
【図４】
0005056436.tif 000014