(57)【要約】【課題】車両に搭載されたカメラにより生成された画像から作成される地図に表される情報の精度を向上できる地図作成装置を提供する。【解決手段】地図作成装置は、車両（１０）の周囲の複数の画像から複数の線分を抽出し、複数の画像間で同じ実空間の線分に対応する抽出された線分同士を対応付け、各画像取得時の車両（１０）の候補位置と画像間で対応付けられた線分とに基づいて算出される実空間の線分の向き及び車線の基準位置からの距離に応じた、その実空間の線分が路面上に表される複数の線分の種類の何れかである尤度から算出される評価値に基づいて各画像取得時の車両（１０）の位置を推定し、推定された車両（１０）の位置に基づいて画像間で対応付けられた線分に対応する実空間の線分の位置を求めることで地図を作成する。【選択図】図２
2019139107.tif 000002
【特許請求の範囲】
【請求項１】
車両（１０）に取り付けられた少なくとも一つの撮像部（２−１、２−２）により互いに異なる時刻において生成された前記車両（１０）の周囲の複数の画像のそれぞれから、複数の線分を抽出する線分抽出部（２２）と、
前記複数の画像間で、前記複数の画像のそれぞれから抽出された前記複数の線分のうち、同じ実空間の線分に対応する線分同士を対応付ける対応付け部（２４）と、
前記複数の画像のそれぞれの取得時の前記車両（１０）の候補位置と前記対応付けられた線分とに基づいて算出される前記実空間の線分の向き及び車線の基準位置からの距離に応じた、当該実空間の線分が路面上に表される複数の線分の種類の何れかである尤度から算出される評価値に基づいて、前記複数の画像のそれぞれの取得時の前記車両（１０）の位置を推定する位置推定部（２５）と、
前記複数の画像のそれぞれの取得時の推定された前記車両（１０）の位置に基づいて、前記対応付けられた線分に対応する前記実空間の線分の位置を求めることで地図を作成する地図作成部（２６）と、
を有する地図作成装置。
【請求項２】
前記路面上に表される前記複数の線分の種類のそれぞれの向き及び車線の基準位置からの距離の組み合わせに関する特徴を表す基底ベクトルの集合を記憶する記憶部（１１）をさらに有し、
前記位置推定部（２５）は、前記複数の画像のそれぞれの取得時ごとに、前記基底ベクトルの集合に乗じることで前記複数の線分の種類のそれぞれの存在確率を算出するために用いられる重み行列と、前記実空間の線分の向き及び車線の基準位置からの距離とに基づいて前記尤度を算出する、請求項１に記載の地図作成装置。
【請求項３】
前記評価値は、前記複数の画像のそれぞれについての、前記実空間の線分を当該画像の取得時の前記車両（１０）の候補位置に基づいて当該画像に投影したときの位置と当該画像上での前記対応付けられた線分間の距離に応じた値と、前記尤度とに基づいて算出され、
前記位置推定部（２５）は、前記尤度を最大化するよう前記重み行列を推定することと、推定された前記重み行列を用いて前記評価値が最小化されるよう前記複数の画像のそれぞれの取得時の前記車両（１０）の候補位置を推定することとを交互に繰り返し、所定の終了条件が満たされたときの前記評価値の最小値に対応する、前記複数の画像のそれぞれの取得時の前記車両（１０）の候補位置を、前記複数の画像のそれぞれの取得時の前記車両（１０）の位置として推定する、請求項２に記載の地図作成装置。
【請求項４】
前記車両（１０）の互いに異なる複数の位置のそれぞれにおいて前記少なくとも一つの撮像部（２−１、２−２）により得られた画像から検出された複数の線分のそれぞれについて、当該線分の実空間における向き及び車線の基準位置からの距離を算出し、線分の向き及び車線の基準位置からの距離をそれぞれ軸とする直交座標系における、算出された当該向き及び車線の基準位置からの距離の組に対応する座標に所定の投票値を投票し、前記複数の位置のそれぞれにおける各座標の投票値の合計を要素とする行列を非負値行列因子分解することで前記基底ベクトルの集合を求める学習部（２１）をさらに有する、請求項２または３の何れかに記載の地図作成装置。
【請求項５】
車両（１０）に取り付けられた少なくとも一つの撮像部（２−１、２−２）により互いに異なる時刻において生成された前記車両（１０）の周囲の複数の画像のそれぞれから、複数の線分を抽出するステップと、
前記複数の画像間で、前記複数の画像のそれぞれから抽出された前記複数の線分のうち、同じ実空間の線分に対応する線分同士を対応付けるステップと、
前記複数の画像のそれぞれの取得時の前記車両（１０）の候補位置と前記対応付けられた線分とに基づいて算出される前記実空間の線分の向き及び車線の基準位置からの距離に応じた、当該実空間の線分が路面上に表される複数の線分の種類の何れかである尤度から算出される評価値に基づいて、前記複数の画像のそれぞれの取得時の前記車両（１０）の位置を推定するステップと、
前記複数の画像のそれぞれの取得時の推定された前記車両（１０）の位置に基づいて、前記対応付けられた線分に対応する前記実空間の線分の位置を求めることで地図を作成するステップと、
を含む方法。
【請求項６】
車両（１０）に取り付けられた少なくとも一つの撮像部（２−１、２−２）により互いに異なる時刻において生成された前記車両（１０）の周囲の複数の画像のそれぞれから、複数の線分を抽出するステップと、
前記複数の画像間で、前記複数の画像のそれぞれから抽出された前記複数の線分のうち、同じ実空間の線分に対応する線分同士を対応付けるステップと、
前記複数の画像のそれぞれの取得時の前記車両（１０）の候補位置と前記対応付けられた線分とに基づいて算出される前記実空間の線分の向き及び車線の基準位置からの距離に応じた、当該実空間の線分が路面上に表される複数の線分の種類の何れかである尤度から算出される評価値に基づいて、前記複数の画像のそれぞれの取得時の前記車両（１０）の位置を推定するステップと、
前記複数の画像のそれぞれの取得時の推定された前記車両（１０）の位置に基づいて、前記対応付けられた線分に対応する前記実空間の線分の位置を求めることで地図を作成するステップと、
をコンピュータに実行させるための地図作成用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載のカメラにより得られた車両周囲の画像から地図を作成する地図作成装置、地図作成方法及び地図作成用コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、運転支援などの目的で、車両には、１台以上のカメラが取り付けられることがある。このような場合、カメラにより得られた画像を有効に利用するために、異なるカメラにより生成された複数の画像間で、あるいは、異なる位置で同一のカメラにより生成された複数の画像間で、実空間上の同一の点あるいは線に対応する画像上の特徴点または線分同士を対応付けることが提案されている（例えば、特許文献１及び非特許文献１〜４を参照）。
【０００３】
例えば、特許文献１には、路面上にある、マンホールの蓋の中心、白線の端部などの特徴点を、移動体の直進時における移動前後の移動体に取り付けられたカメラにより撮影された画像間で、物体追跡処理を用いて対応付けることが提案されている。
【０００４】
また、非特許文献１には、車両に搭載された前方を写すカメラと左側または右側を写すカメラ間で、連続する二つのフレームについてSURF特徴を抽出し、照合することが記載されている。さらに、非特許文献２には、一方の画像上の特徴点周囲の領域をワーピングにより変形させて、対応付けを行う他方の画像上での対応点を検出することが提案されている。さらにまた、非特許文献３には、環境地図の作成(Simultaneous Localization and Mapping,SLAM)を実行するために、異なるフレームのそれぞれから検出された線分同士を対応付けることが提案されている。さらにまた、非特許文献４には、路面上に描画された線分の多くは、道路の延伸方向に平行あるいは直交しているという仮定に基づいて事前に求められた、実空間の線分と車両の進行方向とがなす角の確率分布を利用して、画像上で検出された線分に基づくその画像取得時の車両の位置を高精度に推定することが提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１４−１０１０７５号公報
【非特許文献】
【０００６】
【非特許文献１】Gim Hee Lee他、「Motion Estimation for Self-Driving Cars With a Generalized Camera」、Computer Vision and Pattern Recognition (CVPR)、2013 IEEE Conference on. IEEE、2013年
【非特許文献２】Simon Baker他、「Lucas-Kanade 20 Years On: A Unifying Framework: Part 1」、International journal of computer vision 56.3、pp.221-255、2004年
【非特許文献３】Keisuke Hirose他、「Fast Line Description for Line-based SLAM」、BMVC 2012、2012年
【非特許文献４】Kei Uehara他、「Line-based SLAM Considering Directional Distribution of Line Features in an Urban Environment」、VISIGRAPP(6: VISAPP)、2017年
【発明の概要】
【発明が解決しようとする課題】
【０００７】
自動運転システムあるいは先進運転支援システムなどでは、自動運転または運転支援を行うために、地図に示されている道路の情報（例えば、車線区画線または横断歩道などの道路標示）などが利用される。そこでこの地図では、路面に描画されている道路標示などの情報ができるだけ精度良く再現されていることが好ましい。そのため、車載のカメラにより得られた画像から検出された線分などに基づいて、道路標示などの情報が高精度に再現される地図を作成する技術が求められている。
【０００８】
そこで、本発明は、車両に搭載されたカメラにより生成された画像から作成される地図に表される情報の精度を向上できる地図作成装置、地図作成方法及び地図作成用コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
請求項１の記載によれば、本発明の一つの形態として、地図作成装置が提供される。係る地図作成装置は、車両（１０）に取り付けられた少なくとも一つの撮像部（２−１、２−２）により互いに異なる時刻において生成された車両（１０）の周囲の複数の画像のそれぞれから、複数の線分を抽出する線分抽出部（２２）と、複数の画像間で、複数の画像のそれぞれから抽出された複数の線分のうち、同じ実空間の線分に対応する線分同士を対応付ける対応付け部（２４）と、複数の画像のそれぞれの取得時の車両（１０）の候補位置と対応付けられた線分とに基づいて算出される実空間の線分の向き及び車線の基準位置からの距離に応じた、その実空間の線分が路面上に表される複数の線分の種類の何れかである尤度から算出される評価値に基づいて、複数の画像のそれぞれの取得時の車両（１０）の位置を推定する位置推定部（２５）と、複数の画像のそれぞれの取得時の推定された車両（１０）の位置に基づいて、対応付けられた線分に対応する実空間の線分の位置を求めることで地図を作成する地図作成部（２６）とを有する。
本発明に係る地図作成装置は、上記の構成を有することにより、車両に搭載されたカメラにより生成された画像から作成される地図に表される情報の精度を向上できる。
【００１０】
また請求項２の記載によれば、地図作成装置は、路面上に表される複数の線分の種類のそれぞれの向き及び車線の基準位置からの距離の組み合わせに関する特徴を表す基底ベクトルの集合を記憶する記憶部（１１）をさらに有し、位置推定部（２５）は、複数の画像のそれぞれの取得時ごとに、基底ベクトルの集合に乗じることで複数の線分の種類のそれぞれの存在確率を算出するために用いられる重み行列と、実空間の線分の向き及び車線の基準位置からの距離とに基づいて、その実空間の線分が路面上に表される複数の線分の種類の何れかである尤度を算出することが好ましい。
これにより、地図作成装置は、各画像から検出され、互いに対応付けられた線分が路面上に表される複数の線分の種類の何れかである尤度を適切に求めることができる。
【００１１】
またこの場合において、請求項３の記載によれば、評価値は、複数の画像のそれぞれについての、実空間の線分を画像の取得時の車両（１０）の候補位置に基づいてその画像に投影したときの位置とその画像上での対応付けられた線分間の距離に応じた値と、その実空間の線分が路面上に表される複数の線分の種類の何れかである尤度とに基づいて算出され、位置推定部（２５）は、その尤度を最大化するよう重み行列を推定することと、推定された重み行列を用いて評価値が最小化されるよう複数の画像のそれぞれの取得時の車両（１０）の候補位置を推定することとを交互に繰り返し、所定の終了条件が満たされたときの評価値の最小値に対応する、複数の画像のそれぞれの取得時の車両（１０）の候補位置を、複数の画像のそれぞれの取得時の車両（１０）の位置として推定することが好ましい。
これにより、地図作成装置は、評価値を最小化するよう適切に車両の候補位置を探索できるので、より精度良く各画像取得時における車両の位置を推定できる。
【００１２】
さらに、請求項４の記載によれば、地図作成装置は、車両（１０）の互いに異なる複数の位置のそれぞれにおいて少なくとも一つの撮像部（２−１、２−２）により得られた画像から検出された複数の線分のそれぞれについて、その線分の実空間における向き及び車線の基準位置からの距離を算出し、線分の向き及び車線の基準位置からの距離をそれぞれ軸とする直交座標系における、算出された向き及び距離の組に対応する座標に所定の投票値を投票し、複数の位置のそれぞれにおける各座標の投票値の合計を要素とする行列を非負値行列因子分解することで基底ベクトルの集合を求める学習部（２１）をさらに有することが好ましい。
これにより、地図作成装置は、路面に表される複数の線分の種類のそれぞれについての向き及び車線の基準位置からの距離を基底ベクトルの集合に適切に反映できるので、各線分の種類のそれぞれについての向きと距離の組に関する特徴を正確に表す基底ベクトルの集合を作成できる。その結果として、この地図作成装置は、地図に表される情報の精度をより向上できる。
【００１３】
さらに、請求項５の記載によれば、本発明の他の形態として、地図作成方法が提供される。係る地図作成方法は、車両（１０）に取り付けられた少なくとも一つの撮像部（２−１、２−２）により互いに異なる時刻において生成された車両（１０）の周囲の複数の画像のそれぞれから、複数の線分を抽出するステップと、複数の画像間で、複数の画像のそれぞれから抽出された複数の線分のうち、同じ実空間の線分に対応する線分同士を対応付けるステップと、複数の画像のそれぞれの取得時の車両（１０）の候補位置と対応付けられた線分とに基づいて算出される実空間の線分の向き及び車線の基準位置からの距離に応じた、その実空間の線分が路面上に表される複数の線分の種類の何れかである尤度から算出される評価値に基づいて、複数の画像のそれぞれの取得時の車両（１０）の位置を推定するステップと、複数の画像のそれぞれの取得時の推定された車両（１０）の位置に基づいて、対応付けられた線分に対応する実空間の線分の位置を求めることで地図を作成するステップとを含む。
本発明に係る地図作成方法は、上記のステップを有することにより、車両に搭載されたカメラにより生成された画像から作成される地図に表される情報の精度を向上できる。
【００１４】
また請求項６の記載によれば、本発明のさらに他の形態として、地図作成用コンピュータプログラムが提供される。係る地図作成用コンピュータプログラムは、車両（１０）に取り付けられた少なくとも一つの撮像部（２−１、２−２）により互いに異なる時刻において生成された車両（１０）の周囲の複数の画像のそれぞれから、複数の線分を抽出するステップと、複数の画像間で、複数の画像のそれぞれから抽出された複数の線分のうち、同じ実空間の線分に対応する線分同士を対応付けるステップと、複数の画像のそれぞれの取得時の車両（１０）の候補位置と対応付けられた線分とに基づいて算出される実空間の線分の向き及び車線の基準位置からの距離に応じた、その実空間の線分が路面上に表される複数の線分の種類の何れかである尤度から算出される評価値に基づいて、複数の画像のそれぞれの取得時の車両（１０）の位置を推定するステップと、複数の画像のそれぞれの取得時の推定された車両（１０）の位置に基づいて、対応付けられた線分に対応する実空間の線分の位置を求めることで地図を作成するステップとをコンピュータに実行させるための命令を含む。
本発明に係る地図作成用コンピュータプログラムは、上記の命令を有することにより、車両に搭載されたカメラにより生成された画像から作成される地図に表される情報の精度を向上できる。
【００１５】
上記各部に付した括弧内の符号は、後述する実施形態に記載の具体的手段との対応関係を示す一例である。
【図面の簡単な説明】
【００１６】
【図１】本発明の一つの実施形態に係る地図作成装置の概略構成図である。
【図２】本発明の一つの実施形態に係る地図作成装置の制御部の機能ブロック図である。
【図３】事前に用意される地図の一例を示す図である。
【図４】（ａ）は、線分について算出される向きと車線の基準位置からの距離とを示す図であり、（ｂ）は、投票座標系と線分ごとの投票の一例を示す図である。
【図５】二つのカメラのそれぞれについてのカメラ座標系と車両座標系の関係を示す図である。
【図６】（ａ）〜（ｃ）は、それぞれ、ブロックマッチングを行うマッチング範囲であるパッチの一例を示す図である。
【図７】Manhattan-World仮説に基づく、実空間上の点と車両の位置関係を示す図である。
【図８】位置合わせ処理の動作フローチャートである。
【図９】（ａ）は、車両が走行した道路の一例を表す図であり、（ｂ）は（ａ）に示された道路に対応する、本実施形態による地図作成装置を利用して作成された地図の一例を表す図である。
【図１０】地図作成処理の動作フローチャートである。
【発明を実施するための形態】
【００１７】
以下、図を参照しつつ、一つの実施形態による、地図作成装置について説明する。
この地図作成装置は、車両に搭載され、異なる方向に向けられた二つのカメラのそれぞれにより、互いに異なるタイミングで生成された二つの画像間で、実空間上の同一の構造物の線（構造物の形状による線だけでなく、構造物上に描画された図形または文字などによる線も含む）に対応する画像上の線分同士を対応付ける。そしてこの地図作成装置は、画像間で対応付けられた線分に基づいて地図を作成する。その際、この地図作成装置は、各画像取得時の車両の推定位置の評価値が最小となるように、車両の推定位置を求め、その推定位置に従って画像間で対応付けられた線分に対応する実空間の線分の位置を求める。ここで、道路は道路構造令に従って設計されていることから、車線幅及び路面上に描画された道路標示などの形状は、車両が走行中の位置によらず、ほぼ同一となる。そこでこの地図作成装置は、道路端または各種の道路標示に含まれる、複数の種類の線分のそれぞれについての線分の向きと車線の基準位置からの距離の組み合わせを事前に学習して得られる、路面上の各種線分についての向きと車線の基準位置からの距離の組み合わせに関する特徴を表す基底ベクトルの集合を利用して、画像間で対応付けられた線分に対応する実空間の線分が路面上の何れかの線分である尤度に基づいて評価値を算出する。これにより、この地図作成装置は、路面上に表された様々な向き及び車線の基準位置からの距離が様々な線分と、画像から検出された線分の一致度合を車両の位置の推定に利用できるので、車両の位置の推定精度を向上するとともに、道路標示などの情報が高精度に再現された地図を作成することを可能とする。
【００１８】
図１は、一つの実施形態による地図作成装置の概略構成図である。図１に示すように、地図作成装置１は、車両１０に搭載され、カメラ２−１及び２−２、慣性計測装置(IMU)３、車輪速センサ４、及び電子制御ユニット(ECU)５と、コントローラエリアネットワーク（以下、ＣＡＮという）６を介して互いに接続されている。なお、図１では、説明の都合のため、地図作成装置１など、車両１０に搭載されている各構成要素及び車両１０の形状、サイズ及び配置は、実際のものとは異なっている。
【００１９】
カメラ２−１、２−２は、それぞれ、撮像部の一例である。本実施形態では、カメラ２−１、２−２は、それぞれ、CCDあるいはC-MOSなど、可視光に感度を有する光電変換素子のアレイで構成された２次元検出器と、その２次元検出器上に撮影対象となる領域の像を結像する結像光学系を有する。そしてカメラ２−１は、結像光学系の光軸が地面に対して略平行となり、かつ車両１０の前方を向くように、例えば、車両１０の車室内に取り付けられる。そしてカメラ２−１は、所定の撮影周期（例えば1/30秒）ごとに車両１０の前方領域を撮影し、その前方領域が写った画像を生成する。一方、カメラ２−２は、結像光学系の光軸が地面に対して略平行となり、かつ車両１０の後方を向くように、車両１０の後端部に取り付けられる。そしてカメラ２−２は、所定の撮影周期ごとに車両１０の後方領域を撮影し、その後方領域が写った画像を生成する。カメラ２−１、２−２により得られた画像は、カラー画像であってもよく、あるいは、グレー画像であってもよい。
【００２０】
カメラ２−１、２−２は、それぞれ、画像を生成する度に、その生成した画像を地図作成装置１へ出力する。
【００２１】
地図作成装置１は、記憶部１１と、通信部１２と、制御部１３とを有する。
記憶部１１は、例えば、電気的に書き換え可能な不揮発性メモリ及び揮発性メモリなどの半導体メモリを有する。そして記憶部１１は、地図作成装置１を制御するための各種プログラム、及び、地図作成処理で利用される各種の情報、カメラ２−１またはカメラ２−２により生成された画像、基底ベクトルの集合及び制御部１３による一時的な演算結果などを記憶する。
【００２２】
通信部１２は、カメラ２−１、２−２、IMU３、車輪速センサ４、及びECU５などとＣＡＮ６を通じて通信する通信インターフェース及びその制御回路を有する。そして通信部１２は、カメラ２−１、２-２から画像を受け取り、その画像を制御部１３へ渡す。また通信部１２は、地図作成処理を実行する周期ごとに、IMU３から、車両１０の速度及び移動量などを表すオドメトリ情報を取得したり、あるいは、車輪速センサ４から車輪速を取得して、制御部１３へ渡す。
【００２３】
制御部１３は、１個もしくは複数個の図示してないプロセッサ及びその周辺回路を有する。そして制御部１３は、地図作成装置１全体を制御する。
図２に、制御部１３の機能ブロック図を示す。図２に示すように、制御部１３は、学習部２１と、線分抽出部２２と、投影部２３と、対応付け部２４と、位置推定部２５と、地図作成部２６とを有する。制御部１３が有するこれらの各部は、例えば、制御部１３が有するプロセッサ上で実行されるコンピュータプログラムによって実現される機能モジュールとして実装される。
【００２４】
本実施形態では、学習処理において、制御部１３は、道路標示など、路面上に描画された線分が表された地図に示された領域を車両１０が走行している間にカメラ２−１などにより得られた、互いに異なる位置でカメラ２−１などが撮影することで得られた複数の画像に基づいて、路面上に表された各種線分についての向きと車線の基準位置からの距離の組み合わせに関する特徴を表す基底ベクトルの集合を作成する。
【００２５】
基底ベクトルの集合が作成されると、地図作成処理において、制御部１３は、ある時刻n（ここでは、フレーム間隔を単位とする時刻を表す。秒、分などを単位とする時刻については、実時刻と呼ぶ）において車両１０の後方を撮影するカメラ２−２により生成された画像上の線分を、その時刻よりもkフレーム前の時刻(n-k)において車両１０の前方を撮影するカメラ２−１により生成された画像上の線分と対応付ける。これは、車両１０が前進している場合、車両１０の後方を撮影するカメラ２−２により時刻nで撮影された範囲は、それより前の時刻(n-k)にて車両１０の前方を撮影するカメラ２−１により撮影された範囲と重なる部分があると想定されるためである。そして制御部１３は、上記のような対応付けを逐次行うことで、３枚以上の画像にわたって対応付けられる線分を特定する。そして制御部１３は、その３枚以上の画像のそれぞれにおいて対応付けられた線分を用いて各画像の取得時の車両の位置を推定し、その推定された車両の位置に従って画像間で対応付けられた線分に対応する実空間の線分の位置を求めて地図に書き込む。
なお、以下では、説明の便宜上、カメラ２-１により生成された画像を前方画像と呼び、カメラ２−２により生成された画像を後方画像と呼ぶ。また、地図作成処理のうち、線分抽出部２２、投影部２３及び対応付け部２４により実行される、画像間での線分の対応付けに関する処理を位置合わせ処理と呼ぶことがある。
【００２６】
（学習処理）
最初に学習処理について説明する。
学習部２１は、道路標示など、路面上に表された各種の線分を含む地図で表された領域を車両１０が走行している間に、互いに異なる位置にてカメラ２−１またはカメラ２−２により得られた複数の画像のそれぞれから線分を検出する。なお、各画像の取得時における車両１０の位置及び方位は、例えば、測量により正確に求められる。また、学習部２１は、例えば、後述する線分抽出部２２と同様の処理を行って各画像から線分を抽出すればよい。例えば、学習部２１は、例えば、R.G. von Gioi他、"A fast line segment detector with a false detection control"、 IEEE Transactions on Pattern Analysis & Machine Intelligence、 (4)、2008年、pp.722-732に開示されたアルゴリズムにより実現される線分検出器を用いて線分を検出する。
【００２７】
学習部２１は、画像ごとに、その画像から検出された各線分の実空間における位置及び車線の基準位置からの距離を算出する。その際、学習部２１は、例えば、後述する（４）式に従って、カメラ座標系における各線分の両端点の座標をもとめることで、画像上の各線分をカメラ座標系で表される実空間に投影する。そして学習部２１は、カメラ座標系で表された各線分の両端点の座標に対して、後述する（７）式及び（１１）式に示される、カメラ座標系から車両座標系への変換及び車両座標系から世界座標系への変換を適用することで、世界座標系での各線分の位置及び向きを算出すればよい。そして学習部２１は、車線の基準位置から各線分までの距離を算出する。なお、車線の基準位置は、例えば、車線の中心線、あるいは、車線の左端または右端といった、車線の延伸方向と平行であり、かつ、車線の延伸方向と直交する方向に関して車線を基準とする所定の位置にある線とすることができる。なお、車両１０が車線の中心を走行すると仮定して、学習部２１は、各線分から車両１０が走行する、車両１０の進行方向と直交する方向における中点を通り、その進行方向と平行な線までの距離を、車線の基準位置から線分までの距離として算出してもよい。また、線分の向きは、車線の延伸方向と平行な方向となす角、あるいは、車線の延伸方向と直交する方向となす角とすることができる。なお、各画像取得における車両の位置及び方位は測量により求められているので、カメラ座標系から車両座標系への変換式（１１（式））における回転行列R及び並進行列Tは、その測量結果に基づいて決定されればよい。
【００２８】
なお、各画像取得時における、車両１０の位置及び方位が測量されない場合には、学習部２１は、例えば、特開２０１５−１９４３７３号公報に開示されている、画像上での局所ごと、かつ、線分の向きごとの線分の分布と、地図情報における線分の分布とが最も一致するように、各画像の取得時における車両の位置及び方位を推定してもよい。そして学習部２１は、画像ごとに、その画像から検出された各線分について、推定された車両の位置及び方位に基づいて車両座標系から世界座標系への変換を適用することで、より正確に各線分の実空間における位置を求めてもよい。あるいは、学習部２１は、例えば、特開２０１７−１８１４７６号公報に開示されている、車両位置の検出方法に基づいて、各画像取得時における車両１０の位置及び方位を推定し、各画像から検出された各線分について、推定された車両の位置及び方位に基づいて車両座標系から世界座標系への変換を適用することで、より正確に各線分の実空間における位置を求めてもよい。この場合には、学習部２１は、各画像の取得時における、車両１０の予測位置の周辺の地図上の線に沿って、線の種類に応じた、線を横切る方向の輝度変化を表す輝度プロファイルを持つパーティクルを複数生成し、地図上の座標系で表される各パーティクルを、車両１０の画像取得時における予測位置及び予測方位に応じて車両１０を基準とする座標系での位置に変換してから車両に搭載されたカメラにより得られる画像上へ投影する。そして学習部２１は、画像上に投影された各パーティクルのうち、画像との一致度合が所定の一致条件を満たすパーティクルを選択し、選択したパーティクルの地図上の線への投影誤差が小さくなるように、画像取得時における車両１０の位置及び方位を推定すればよい。
【００２９】
図３は、事前に用意される地図の一例を示す図である。地図３００には、車線区画線３０１など、各種の道路標示が含まれている。そして車両１０は、地図３００で表されている領域を、例えば、軌跡３０２で示されるように実際に走行して、各所における画像を取得すればよい。
【００３０】
あるいはまた、学習部２１は、地図上の複数の位置に仮想的に車両１０の位置及び方位を設定し、設定した位置及び方位における、カメラ２−１またはカメラ２−２の撮影範囲に含まれる、地図上の各線分を特定することで、各線分の実空間の位置及び車線の基準位置からの距離を求めてもよい。
【００３１】
画像ごとの各線分の実空間での向き及び車線の基準位置からの距離が求められると、学習部２１は、線分の向きと距離とをそれぞれ互いに直交する軸とする、２次元の直交座標系である投票座標系において、線分ごとに、その線分の向きと距離の組に対応する座標に所定の投票値を投票する。
【００３２】
図４（ａ）は、線分について算出される向きと車線の基準位置からの距離とを示す図であり、図４（ｂ）は、投票座標系と線分ごとの投票の一例を示す図である。図４（ａ）に示されるように、線分４００について、線分４００の中点から車線の基準位置（この例では、車線の中心線）４０１までの距離が車線の基準位置からの距離ρとして算出され、車線の基準位置４０１から線分４００へ向かう方向、すなわち、車線の基準位置４０１と直交する方向と線分４００とがなす角が車線の向きθとして算出される。また、図４（ｂ）に示される投票座標系４１０において、横軸は、線分の向きθを表し、縦軸は、車線の基準位置からの線分までの距離ρを表す。着目する線分の向きがθ1であり、かつ、距離がρ1である場合、学習部２１は、投票座標系４１０の座標（θ1,ρ1）に所定の投票値（例えば、1）を投票する。同様に、着目する線分の向きがθ2であり、かつ、距離がρ2である場合、学習部２１は、投票座標系４１０の座標（θ2,ρ2）に所定の投票値を投票する。
【００３３】
なお、学習部２１は、各線分について、その線分の向き及び距離の組に対応する座標だけでなく、その周囲の座標にも投票してもよい。その際、学習部２１は、その線分の向き及び距離の組に対応する座標から離れるほど投票値が小さくなるように、例えば、ガウス関数に従って投票値を設定してもよい。これにより、各画像から検出された線分の数が少ない場合でも、学習部２１は、路面上に表された様々な線分の向きと距離の組の分布を適切に評価できる。
【００３４】
また、学習部２１は、各線分について、その線分の実空間における位置と、その線分が表された画像の取得時における車両１０の推定位置との距離が遠いほど、その線分についての投票値を小さくしてもよい。車両１０の推定位置と線分との間の距離が遠いほど、画像上でその線分は小さく写るので、その線分の実空間位置の誤差は大きくなる。そこで上記のように投票値を設定することで、学習部２１は、路面上に表された様々な線分の向きと距離の組の分布を適切に評価できる。
【００３５】
学習部２１は、投票座標系における、向きと距離の組ごとの投票値の合計に基づいて、路面上に表された複数の線分の種類のそれぞれについての向きと距離の組み合わせに関する特徴を表す基底ベクトルの集合を求める。
【００３６】
ここで、ｎ番目の画像取得時での車両１０の推定位置における投票結果ynは、例えば、以下のようにベクトルで表される。
【数１】
2019139107.tif 000003
ここで、θMは、投票座標系における向きθの取りうる範囲を所定の角度幅（例えば、3°〜10°）を持つサンプリング区間ごとに区切った時のサンプリング区間の総数であり、ρMは、投票座標系における距離ρの取りうる範囲を所定の長さ（例えば、0.1m〜0.5m）を持つサンプリング区間ごとに区切った時のサンプリング区間の総数である。そしてynθρは、ｎ番目の画像取得時でのサンプリング区間θとサンプリング区間ρの組み合わせで表されるセル（θ,ρ）に含まれる投票値の合計を表す。
【００３７】
学習部２１は、各画像取得時の投票結果のベクトルynを含む行列Y={y1,...,yn,...,yN}(ただしNは、画像取得回数)に対して非負値行列因子分解(non negative matrix factorization, NMF)を適用することで、行列Yを、路面上に表された各種の線分の向きと距離の組み合わせに関する特徴を表す基底ベクトルの集合Wと重み係数行列Aとに分解する。すなわち、行列Yと基底ベクトルの集合W及び重み係数行列Aとの間には、次式が成立する。
【数２】
2019139107.tif 000004
ここで、Mは、投票座標系におけるセルの総数（すなわち、M=θM×ρM）であり、Nは、画像取得回数である。またκは、M、Nよりも小さく、かつ２以上の所定の整数、例えば、20〜30に設定される。
学習部２１は、作成した基底ベクトルの集合Wを記憶部１１に保存する。
【００３８】
（地図作成処理）
次に、地図作成処理について説明する。
線分抽出部２２は、カメラ２−２から制御部１３が後方画像を受け取る度に、その後方画像から、カメラ２−２の撮影領域内にある、路面、道路標識、看板、あるいは建築物といった構造物の線に対応する線分を抽出する。そのために、線分抽出部２２は、例えば、線分検出器を用いて後方画像上の線分を検出する。線分抽出部２２は、線分検出器として、例えば、R.G. von Gioi他、"A fast line segment detector with a false detection control"、 IEEE Transactions on Pattern Analysis & Machine Intelligence、 (4)、2008年、pp.722-732に開示されたアルゴリズムを利用できる。あるいは、線分抽出部２２は、画像から線分を検出できる他の線分検出器を利用してもよい。
線分抽出部２２は、後方画像ごとに、その後方画像の取得時刻とその後方画像から抽出した線分を表す後方画像上のその線分の中点の座標と向き及び長さを表すベクトルを投影部２３へ渡す。
【００３９】
同様に、線分抽出部２２は、カメラ２−１から制御部１３が前方画像を受け取る度に、その前方画像から線分を抽出する。そして線分抽出部２２は、抽出した線分の中点の座標と向き及び長さを表すベクトルを、前方画像の取得時刻とともに記憶部１１に記憶する。
【００４０】
投影部２３は、後方画像上の線分ごとに、その線分を中心とするブロックマッチング用のパッチを設定し、実空間上でそのパッチに相当する領域を特定する。そして投影部２３は、実空間上でのパッチの対応領域を、後方画像よりもkフレーム前に取得された前方画像上に投影する。
この投影処理には、画像上の座標と、実空間上での座標間の変換が必要となる。そこで先ず、その変換に利用される座標系について説明する。
【００４１】
図５は、二つのカメラのそれぞれについてのカメラ座標系と車両座標系の関係を示す図である。カメラ２-１を基準とする実空間の座標系であるカメラ座標系（以下、便宜上、前方カメラ座標系と呼ぶ）C1は、カメラ２−１の像側焦点を原点とし、車両１０の直進方向をz軸、路面と平行かつz軸と直交する方向をx軸、路面に垂直な方向をy軸とする座標系である。そしてz軸について、車両１０の前方へ向かう方向を正とし、x軸の正方向は右手座標系により規定される。また、カメラ２-２を基準とする実空間の座標系であるカメラ座標系（以下、便宜上、後方カメラ座標系と呼ぶ）C2は、カメラ２−２の像側焦点を原点とし、車両１０の直進方向をz軸、路面と平行かつz軸と直交する方向をx軸、路面に垂直な方向をy軸とする座標系である。そしてz軸について、車両１０の後方へ向かう方向を正とし、x軸の正方向は右手座標系により規定される。
【００４２】
また、車両１０を基準とする実空間の座標系である車両座標系Vは、車両１０の任意の点、例えば、前側の車輪間の中点、後ろ側の車輪間の中点、あるいは前側の車輪間の中点と後ろ側の車輪間の中点との中点を原点とし、車両１０の直進方向をz軸、路面と平行かつz軸と直交する方向をx軸、路面に垂直な方向をy軸とする座標系である。そしてz軸について、車両１０の前方へ向かう方向を正とし、x軸の正方向は右手座標系により規定される。また、これらの座標系において、xz平面における、z軸とのなす角はθで表される。
【００４３】
図６（ａ）〜図６（ｃ）は、それぞれ、ブロックマッチングを行うマッチング範囲であるパッチの一例を示す図である。図６（ａ）に示される例では、パッチ６０１は、着目する線分６１０と平行な方向に沿って線分６１０と同じ長さを持ち、かつ、線分６１０と直交する方向に所定の幅（例えば、10〜20ピクセル）を持つ矩形領域として設定される。また、図６（ｂ）に示される例では、パッチ６０２は、着目する線分６１０と直交する方向に所定の幅（例えば、10〜20ピクセル）を持ち、かつ、線分６１０と平行な方向に沿って、線分６１０よりも所定長（例えば、10〜20ピクセル）だけ長い矩形領域として設定される。さらに、図６（ｃ）に示される例では、パッチ６０３は、着目する線分６１０までの距離が所定値（例えば、10〜20ピクセル）以下となる領域として設定される。
【００４４】
本実施形態では、ブロックマッチングを行うマッチング範囲であるパッチはupは、例えば、次式のように定義される。
【数３】
2019139107.tif 000005
ここで、(um,2,vm,2)は、後方画像上での着目する線分の中点の座標を表し、α、βは、それぞれ、後方画像上でのパッチup内の画素の線分の中点からの水平方向及び垂直方向の距離を表す。なお、αの取り得る値の範囲[α0, α1]、及び、βの取り得る値の範囲[β0, β1]は、それぞれ、垂直方向の位置及び水平方向の位置についての関数として表される。そしてその関数は、線分の向き、及び、図６（ａ）〜図６（ｃ）に示される、パッチの形状に応じて決定される。
【００４５】
また、投影部２３は、後方画像上の線分に基づいて設定されるパッチupから、車両１０と車両１０の周囲の構造物の位置関係を規定する所定の条件に従って実空間上での対応領域を特定する。そして投影部２３は、その対応領域について、後方カメラ座標系→時刻nにおける車両座標系→実空間の絶対座標である世界座標系→時刻(n-k)における車両座標系→前方カメラ座標系→前方画像上の順に投影する。
そこで先ず、パッチupに対応する実空間上での領域についてのカメラ座標系での座標の導出について説明する。
【００４６】
後方画像あるいは前方画像上の座標（２次元座標）をカメラ座標系の座標（３次元座標）に変換する際、本実施形態では、ピンホールカメラモデルが適用される。この場合、後方画像上でのパッチup内の各画素の座標は、次式に従って正規化座標系上の座標Unに変換される。
【数４】
2019139107.tif 000006
ここで、(cu,cv)は後方画像の中心の座標、すなわち、カメラ２−２の光軸上の位置に相当する後方画像上の位置の座標を表す。またfu、fvは、それぞれ、後方画像上の画素の水平方向及び垂直方向のサイズを考慮した、水平方向及び垂直方向に相当するカメラ２−２の焦点距離を表す。そして(un、vn)は、線分の中点(um,2,vm,2)に対応する正規化座標であり、Un=(un+αn,vn+βn)は、正規化座標系でのパッチup内の各画素の座標である。そして(x,y,z)は、Unに対応するカメラ座標系上の点の座標である。
【００４７】
本実施形態では、車両１０と車両１０の周囲の構造物の位置関係を規定する所定の条件として、Manhattan-World仮説を導入する。そしてManhattan-World仮説に基づいて、各線分についてのパッチに対応する実空間上の領域を特定する。Manhattan-World仮説では、画像上の線分に対応する実空間上の構造物の線は、以下の３種類の何れかである。
（１）車両１０の直進方向と平行な建物の側壁上の線
（２）車両１０の直進方向と直交する建物の側壁上の線
（３）路面上の線
また、画像上の線分に対応する実空間上の構造物の線の周囲は平面になっていると仮定される。
【００４８】
図７は、本実施形態による、Manhattan-World仮説に基づく、実空間上の構造物の線と車両の位置関係を示す図である。本実施形態では、カメラ２−１は車両１０の前方を向いており、一方、カメラ２−２は、車両１０の後方を向いているので、上記の（２）に相当する線については、両方のカメラから見えることはなく、一方の画像上の線分が他方の画像上の線分と対応付けられることはない。したがって、（１）に相当する、車両１０の直進方向と平行な側壁上の線７０１に対応する線分、あるいは、（３）に相当する、路面上の線７０２に対応する線分が、前方画像と後方画像の間で対応付けられる。
【００４９】
線７０１にように、画像上の線分に対応する実空間上の構造物の線が車両１０の直進方向と平行な建物７００の側壁にある場合、その線分のパッチに対応する実空間上の領域に含まれる各点について、カメラ座標系ではx=dとなる。なお、dは、車両１０とその線分に対応する実空間上での線までの距離である。したがって、上記の（１）の条件が仮定される場合、パッチupに対応する実空間上の領域内の各点についてのカメラ座標系での座標Ppは次式で表される。
【数５】
2019139107.tif 000007
【００５０】
一方、線７０２にように、画像上の線分に対応する実空間上の構造物の線が路面上にある場合、その線分のパッチに対応する実空間上の領域に含まれる各点について、カメラ座標系ではy=hとなる。なお、hは路面からカメラ２−２までの高さであり、予め記憶部１１に記憶される。したがって、上記の（３）の条件が仮定される場合、パッチupに対応する実空間上の領域内の各点についてのカメラ座標系での座標Ppは次式で表される。
【数６】
2019139107.tif 000008
【００５１】
投影部２３は、（４）式と（５）式、または（４）式と（６）式にしたがって、後方画像上の各線分についてのパッチupに対応する実空間上の領域内の各点のカメラ座標系上の座標Ppを求める。なお、dについては、任意の所定区間、例えば、[1,20](m)の区間で、1m単位で変化させる。すなわち、各線分について、dの値ごとに（４）式と（５）式に基づいて求められる20個の領域の座標Ppと、（４）式と（６）式に基づいて求められる1個の領域の座標Ppが求められる。
【００５２】
なお、投影部２３は、バンドル調整によりdの区間を上記の所定区間よりも狭く設定してもよい。この場合には、投影部２３は、例えば、画像上の線分に対応する、実空間上の構造物の線を、カメラ２−２により異なる時間での撮影により得られた二つの後方画像間で線分の対応付けを行うことで特定する。そして投影部２３は、その二つの後方画像の生成時に対応する二つの車両の位置を利用した三角測量によって車両１０からその線分上の点（例えば、中点）に対応する実空間上の点までの距離を測定し、その測定された距離を含むようにdの区間を設定すればよい。
【００５３】
投影部２３は、後方画像上の各線分のパッチについて、そのパッチに対応する実空間上の領域のそれぞれを前方画像上に投影するwarping関数は、次式で表される。
【数７】
2019139107.tif 000009
ここで、un'は、座標Ppに対応する、前方画像上の領域の座標である。また関数πvc1()は、車両座標系からカメラ２-１のカメラ座標系への変換関数であり、関数πvc2()は、車両座標系からカメラ２-２のカメラ座標系への変換関数である。なお、これらの逆関数は、それぞれ、対応するカメラ座標系から車両座標系への変換関数となる。なお、車両座標系とカメラ座標系間の変換は、それぞれの座標系の原点の差に相当する並進行列Tvc1,Tvc2と、車両１０の直進方向とカメラの光軸間の傾きに相当する回転行列Rvc1,Rvc2により表される。
【００５４】
また、関数πci()は、カメラ座標系から画像上の座標への変換関数であり、（４）式のカメラ座標(x,y,z)から画像上の座標(un,vn)への変換に相当する。
【００５５】
また、関数πnwv()は、時刻nにおける世界座標系から車両座標系への変換関数である。一方、その逆関数πnwv-1()は、時刻nにおける車両座標系から世界座標系への変換関数である。
【００５６】
以下に、関数πnwv()の詳細について説明する。Xn=t(xn,zn,θn)を、世界座標系での時刻nにおける車両１０の位置及び向きを表す位置ベクトルとする。この場合、Xnは、時刻(n-k)における車両１０の位置Xn-k=t(xn-k,zn-k,θn-k)との間に、次式で表される関係が成立する。
【数８】
2019139107.tif 000010
ここで、unは、オドメトリ情報であり、vn,right、vn,leftは、それぞれ、時刻nにおける車両１０の右側後輪の車輪速、及び左側後輪の車輪速を表す。そしてωn、vnは、それぞれ、時刻ｎにおける車両１０の角速度及び速度を表す。またdaは、車両１０の左右の後輪間の間隔である。さらに、Δtは、時刻(n-k)と時刻n間の実時刻の差であり、Δt=k×fで表される。なお、fは、カメラ２−１、２−２のフレーム周期（撮影間隔）である。またεxは、移動量の誤差を確率分布で表す誤差モデルである。本実施形態では、誤差モデルεxは、ガウス分布で表されるものとし、その共分散Σxは、x軸方向、z軸方向及びθに関して、以下のように定義される。
【数９】
2019139107.tif 000011
ここで、σx、σz及びσθは、例えば、オドメトリ情報あるいは車輪速の誤差に基づいて設定され、例えば、σx=σz=0.1[m]であり、σθ=2π/360[rad]である。
【００５７】
時刻nにおける、世界座標系から車両座標系への変換を表す回転行列Rt及び並進行列Ttは、時刻nにおける車両１０の位置ベクトルXnを用いて次式で表される。
【数１０】
2019139107.tif 000012
したがって、関数πnwv()は、次式で表される。
【数１１】
2019139107.tif 000013
ここで、Pwは、世界座標系での着目点の座標を表し、Pvは、Pwに対応する点の車両座標系での座標を表す。なお、（７）式における、πn-kwv()では、xn=xn-k、zn=zn-k、θn=θn-kとすればよい。
【００５８】
また、後方画像上の線分を基準として、前方画像上の対応する線分をより正確に特定するためには、後方画像上での線分の向きに対応する、前方画像上での線分の向きが求められることが好ましい。また、実空間での線分は、その線分上の点（例えば、中点）の３次元の座標p(px,py,pz)とその線分の向きを表す３次元ベクトルr(rx,ry,rz)とで表される。したがって、世界座標系での線分の向きを表す３次元ベクトルrを、カメラ２−１を基準とするカメラ座標系のベクトルA1へ変換する変換式、及び、カメラ２−２を基準とするカメラ座標系のベクトルA2へ変換する変換式は、次式で表される。
【数１２】
2019139107.tif 000014
ここでRivwは、時刻iにおける、変換式πiwvに含まれる回転行列Rの逆行列であり、（１０）式及び（１１）式に従って算出される。
【００５９】
また、カメラ座標系のベクトルA1を前方画像へ投影して前方画像上の対応ベクトルa1を算出する式、及び、カメラ座標系のベクトルA2を後方画像へ投影して後方画像上の対応ベクトルa2を算出する式は、次式で表される。
【数１３】
2019139107.tif 000015
ここで、q1(x1,y1,z1)は、カメラ２−１を基準とするカメラ座標系での線分上の点pの座標を表し、q2(x2,y2,z2)は、カメラ２−２を基準とするカメラ座標系での線分上の点pの座標を表し、それぞれ、（７）〜（１１）式に従って算出される。したがって、投影部２３は、後方画像上の各線分について、その線分の向きを表すベクトルを、カメラ２−２に関する（１２）式及び（１３）式の逆変換に従って世界座標系でのベクトルに変換し、その後、カメラ２−１に関する（１２）式及び（１３）式に従って、世界座標系でのベクトルから、前方画像上での対応ベクトルを求めることができる。
【００６０】
上記のように、パッチupに対応する、実空間上の領域を前方画像上へ投影することで、パッチup内の各画素に対応する前方画像上の位置、すなわち、パッチupを前方画像上に投影した領域が求められる。
投影部２３は、後方画像上の各線分についてのパッチup内の各画素に対応する、kフレーム前の前方画像上での画素の座標及び線分の向きを表すベクトルを対応付け部２４へ出力する。
【００６１】
対応付け部２４は、後方画像上の各線分についてのパッチupに対応する、kフレーム前の前方画像上での領域と、前方画像との間でブロックマッチングを行って互いに類似する領域を特定することで、後方画像上の各線分に前方画像上の線分を対応付ける。
【００６２】
本実施形態では、対応付け部２４は、後方画像上の各線分について、対応する前方画像上の線分の探索を行う探索範囲を誤差モデルに基づく誤差楕円として設定する。その際、誤差楕円は、次式により算出される共分散行列ΣFにより定められる。
【数１４】
2019139107.tif 000016
なお、wは、（７）式の右辺を表す。
【００６３】
対応付け部２４は、共分散行列ΣFの固有値λ1、λ2と、固有ベクトルv1、v2を算出する。ただし、大きい方の固有値をλ1とする。このとき、誤差楕円の長径a及び短径bは、次式で表される。
【数１５】
2019139107.tif 000017
ここで、χ2は、χ二乗分布であり、誤差楕円の信用区間を表す。また、前方画像上の水平方向に対して誤差楕円の長径がなす角θεは、次式で表される。
【数１６】
2019139107.tif 000018
【００６４】
対応付け部２４は、後方画像上の各線分について、kフレーム前の前方画像上の探索範囲である誤差楕円内にあり、かつ、前方画像上に投影したときのその線分となす角が所定角度（例えば、3°〜5°）以下となる、前方画像上の線分を、後方画像上の線分に対応付ける候補として検出する。なお、対応付け部２４は、次式を満たす前方画像上の線分を、探索範囲に含まれると判定する。
【数１７】
2019139107.tif 000019
ここで、(u'c,v'c)は、後方画像上の着目する線分に対応する前方画像上での線分の中点の座標を表す。そして(u',v')は、前方画像上で検出された線分の中点の座標である。
【００６５】
対応付け部２４は、後方画像上の各線分について、kフレーム前の前方画像上の探索範囲内にある線分のそれぞれについて、ブロックマッチングを行って正規化相互相関値を算出する。その際、対応付け部２４は、パッチが投影された前方画像上の領域の中心、すなわち、後方画像上の線分が前方画像上に投影された位置と、ブロックマッチングの対象となる前方画像上の線分間の位置の差を打ち消すように、前方画像上に投影されたパッチ内の各画素の位置を平行移動させることで、後方画像上のパッチ内の各画素に対応する前方画像上の画素を特定すればよい。そして対応付け部２４は、後方画像上のパッチ内の各画素の輝度値と、対応する前方画像上の画素の輝度値に基づいて正規化相互相関値を算出できる。対応付け部２４は、その正規化相互相関値が最大となる前方画像上の線分を、後方画像上の着目する線分に対応付ける。なお、対応付け部２４は、正規化相互相関値の最大値が所定の閾値（例えば、0.6〜0.7）以上である場合に限り、その二つの線分を対応付けてもよい。
【００６６】
なお、対応付け部２４は、演算量を軽減するために、探索範囲を、後方画像上の線分の中点に対応する前方画像上の座標を中心とする、予め設定された所定の範囲に設定してもよい。この場合、所定の範囲は、例えば、水平方向について、パッチの水平方向サイズの2〜3倍とし、垂直方向について、パッチの垂直方向サイズの2〜3倍とすることができる。
【００６７】
なお、変形例によれば、パッチの形状自体に、後方画像上での線分の向きの情報が含まれているので、対応付け部２４は、kフレーム前の前方画像上の探索範囲にある前方画像上の線分の全てを、後方画像上の線分に対応付ける候補としてもよい。
【００６８】
また、他の変形例によれば、対応付け部２４は、後方画像上の各線分について、対応する探索範囲内の各画素をそれぞれパッチの中心に対応させるよう、パッチを平行移動させてそれぞれ正規化相互相関値を算出し、その正規化相互相関値が最大となる画素を、後方画像上の着目する線分に対応する前方画像上の線分の中点とし、着目する線分の向きに対応する前方画像上での向きを、その対応する線分の向きとしてもよい。この場合には、線分抽出部２２は、前方画像から線分を抽出しなくてもよい。
【００６９】
対応付け部２４は、後方画像上の線分と対応付けられた前方画像上の線分のそれぞれの中点の座標及び向きを表すベクトルの組、及び、対応する後方画像の取得時刻と前方画像の取得時刻の組とを関連付けて、記憶部１１に記憶する。
【００７０】
図８に、制御部１３により制御される、位置合わせ処理の動作フローチャートを示す。なお、制御部１３は、後方画像ごとに、この動作フローチャートにしたがって位置合わせ処理を実行する。
【００７１】
線分抽出部２２は、後方画像及び前方画像のそれぞれから線分を抽出する（ステップＳ１０１）。そして線分抽出部２２は、前方画像から抽出した各線分の中点の座標及び向きを表すベクトルを記憶部１１に記憶する。また線分抽出部２２は、後方画像から抽出した各線分の中点の座標及び向きを表すベクトルを投影部２３へ渡す。
【００７２】
投影部２３は、後方画像から抽出した各線分について、その線分の中点を中心とするパッチを設定し、そのパッチに対応する実空間上の１以上の領域をManhattan-World仮説に従って設定する（ステップＳ１０２）。そして投影部２３は、後方画像から抽出した各線分について、パッチに対応する実空間上の各領域を、後方画像の取得時よりもkフレーム前に取得された前方画像上へ投影する（ステップＳ１０３）。
【００７３】
対応付け部２４は、後方画像から抽出した各線分について、パッチに対応する実空間上の領域の中心の前方画像上の投影位置を中心として探索範囲を設定する（ステップＳ１０４）。そして対応付け部２４は、探索範囲内にある前方画像上の線分の周囲の領域と、前方画像上でのパッチに対応する実空間上の領域の投影範囲との間でのブロックマッチングで最も一致する線分を、後方画像上の線分と対応付ける（ステップＳ１０５）。そして制御部１３は、位置合わせ処理を終了する。
【００７４】
位置推定部２５は、画像間で互いに対応付けられる複数の線分（以下、単に線分と呼ぶことがある）を含む、前方画像と後方画像の３枚以上の組のそれぞれについて、各線分に基づいて車両の推定位置の確からしさを表す評価値を算出する。そして位置推定部２５は、その評価値に基づいて車両の位置を推定する。位置推定部２５は、画像の組ごとに同一の処理を実行すればよいので、以下では、一つの画像の組に対する処理について説明する。
【００７５】
本実施形態では、位置推定部２５は、先ず、画像間で対応付けられた各線分について、画像の組のうちの２枚のそれぞれの取得時の車両の位置の候補（以下、単に候補位置と呼ぶ。また候補位置には、車両１０の位置だけでなく方位も含まれる）の初期値に基づいて、３角測量の原理に従って、その線分に対応する実空間の線分Liの位置（向きを含む、以下同じ）を求める。なお、車両の候補位置の初期値は、例えば、（８）式において第２項εxを無くしたものとすることができる。また、実空間の線分Liは、例えば、その中点の座標piと、線分Liの向き及び長さを表すベクトルri=(rix,riy,riz)との組(pi,ri)で表現される。
【００７６】
位置推定部２５は、世界座標系で表された実空間の各線分Liを、各画像に投影する。その際、位置推定部２５は、車両の候補位置の初期値に基づいて、（１１）式、（７）式及び（４）式にしたがって、実空間上の各線分Liの両端点に対応する、各画像上での座標を求めることで、画像上に投影された線分liを求めればよい。
【００７７】
そして位置推定部２５は、実空間の各線分Liについて、画像上に投影されたその線分（以下、対応する、画像上で検出され、かつ、画像間で対応付けられた線分と区別するために投影線分と呼ぶ）liと、対応する画像上の線分の端点との距離、及び、実空間の各線分Liが路面上に表される複数の線分の種類の何れかである尤度に基づいて評価値を算出する。例えば、位置推定部２５は、次式に従って評価値Eを算出する。
【数１８】
2019139107.tif 000020
ここで、(ui,vi)は、投影線分liの中点の画像上での座標であり、(dxi, dyi)は、投影線分liの向きを表す単位ベクトルである。また、gni=(gxni,gyni)(n=1,2)は、投影線分liに対応する、画像上で検出され、かつ、他の画像上の線分と対応付けられた線分の両端点の座標を表す。この評価値Eは、（１１）式における回転行列R及び並進行列T（すなわち、車両１０の候補位置）と実空間の各線分Liの位置及び向きとの関数となる。
【００７８】
さらに、p(θi,ρi|a~)は、実空間上のi番目の線分Liが、路面上の各種線分の何れかである尤度を表す。また(θi,ρi)は、実空間上のi番目の線分Liの向き及び車線の基準位置からの距離を表す。そしてa~は、着目する画像の組において対応付けられた、実空間の線分のそれぞれについて路面上の各種線分の何れかである尤度を最大化する、基底ベクトルの集合に対する最尤推定された重み行列である。
【００７９】
位置推定部２５は、評価値が減少するように、各画像取得時の車両１０の候補位置、実空間の各線分Liの位置及び向き、及び、重み行列a~の少なくとも何れかを更新し、更新した各画像取得時の車両１０の候補位置、各線分Liの位置及び向き及び重み行列a~に基づいて評価値を再算出する。そして位置推定部２５は、評価値が最小値となったと想定される終了条件が満たされたときに、各候補位置、実空間の各線分Liの位置及び向き及び重み行列a~の更新を終了する。そして位置推定部２５は、終了条件がみたされたときの評価値の最小値に対応する各画像取得時の車両１０の候補位置を、各画像取得時の実際の車両１０の位置として推定するとともに、評価値の最小値に対応する実空間の各線分Liの位置及び向きを、実空間にある実際の線分の位置及び向きとする。なお、終了条件は、例えば、前回の車両１０の候補位置に基づく評価値と、最新の車両１０の候補位置に基づく評価値間の変化量が所定の変化量閾値以下となったとき、車両１０の候補位置の更新回数が所定回数に達したとき、あるいは、評価値が所定の閾値以下となったときとすることができる。
【００８０】
位置推定部２５は、評価値を減少させるために、例えば、次の手順に従って車両１０の候補位置、実空間の各線分Liの位置及び向き、及び、重み行列a~の更新を繰り返す。
【００８１】
・手順１
位置推定部２５は、（１８）式の右辺の第２項を省略したものに基づいて評価値Eが最小化される各画像取得時の車両１０の候補位置及び実空間の各線分Liの位置及び向きを推定する。なお、この場合の評価値E（以下、便宜上、簡易評価値と呼ぶ）は、各画像における、投影された線分のそれぞれごとに、その投影された線分と対応する画像上の線分との距離の合計となる。
【００８２】
位置推定部２５は、例えば、Levenberg-Marquardt(LM)法に従って各画像取得時の車両１０の候補位置及び実空間の各線分Liの位置及び向きの少なくとも何れかを更新する。あるいは、位置推定部２５は、他の最適化手法、例えば、準ニュートン法、最急降下法、シミュレーティッドアニーリング法、あるいは、信頼領域法に従って各画像取得時の車両１０の候補位置及び実空間の各線分Liの位置及び向きの少なくとも何れかを更新してもよい。そして位置推定部２５は、更新回数が所定回数に達するか、直近の２回の更新のそれぞれにおける簡易評価値間の差の絶対値が所定値以下となったときに更新を終了すればよい。位置推定部２５は、更新が終了した時点において、それまでに得られた簡易評価値のうちの最小値に対応する各画像取得時の車両１０の候補位置及び実空間の各線分Liの位置及び向きを、それらの推定値とすればよい。
【００８３】
・手順２
実空間の各線分Liの位置及び向きが推定されると、位置推定部２５は、各線分Liの向きθi及び車線の基準位置からの距離ρiを算出する。なお、上記のように、線分の向きは、例えば、道路の延伸方向に対する角度として算出される。また車線の基準位置から線分までの距離は、世界座標系における、線分の中点を通り、その線分と直交する線が基準位置と交差する点とその線分の中点間の距離として算出される。
【００８４】
・手順３
位置推定部２５は、次式で表される、最尤推定された重み行列a~を算出する。
【数１９】
2019139107.tif 000021
【００８５】
ここで、位置推定部２５は、尤度p(θi,ρi|a)を算出するために、重み行列aと基底ベクトルの集合Wとの積Waを算出することで、各セルの座標(θ,ρ)ごとの値を算出する。位置推定部２５は、各セルの座標(θ,ρ)ごとの値を、その合計で除することで正規化する。これにより得られた、各セルの座標(θ,ρ)ごとの値は、その座標(θ,ρ)に対応する向き及び車線の基準位置からの距離を持つ線分の存在確率を表す。そして位置推定部２５は、線分Liの向きθi及び距離ρiに対応するセル(θi,ρi)についての正規化された値（すなわち、存在確率）を、尤度p(θi,ρi|a)として算出する。
【００８６】
位置推定部２５は、例えば、LM法、準ニュートン法、最急降下法、シミュレーティッドアニーリング法、あるいは、信頼領域法といった最適化手法に従って、重み行列aの少なくとも何れかの要素、すなわち重み係数の更新を繰り返す。そして位置推定部２５は、最新の更新後の重み行列a(t)と前回の重み行列a(t-1)の各要素の差の絶対値和が所定値以下となるか、あるいは、更新回数が所定回数に達すると、最新の重み行列a(t)を最尤推定された重み行列a~とする。
【００８７】
・手順４
位置推定部２５は、最尤推定された重み行列a~を（１８）式に適用して、評価値Eを最小化するよう、各画像取得時の車両１０の候補位置及び実空間の各線分Liの位置及び向きを最尤推定する。その際、位置推定部２５は、手順１と同様に、LM法、準ニュートン法、最急降下法、シミュレーティッドアニーリング法、あるいは、信頼領域法といった最適化手法に従って各画像取得時の車両１０の候補位置及び実空間の各線分Liの位置及び向きの少なくとも何れかの更新を繰り返す。そして位置推定部２５は、前回の更新時の評価値と、最新の更新時の評価値間の変化量が所定の変化量閾値以下となったとき、更新回数が所定回数に達したとき、あるいは、評価値が所定の閾値以下となったときに更新を終了する。
【００８８】
・手順５
手順４にて推定された各画像取得時の車両１０の候補位置及び実空間の各線分Liの位置及び向きに基づいて、手順２〜手順４を繰り返す。すなわち、重み行列の推定と車両１０の各画像取得時の候補位置の推定とが交互に繰り返される。そして位置推定部２５は、前回の手順４の実行時における評価値と、最新の手順４の実行時における評価値間の変化量が所定の変化量閾値以下となったとき、手順４の実行回数が所定回数に達したとき、あるいは、最新の手順４の実行中において評価値が所定の終了閾値以下となったときに、各画像取得時の車両１０の候補位置、実空間の各線分Liの位置及び向き、及び、重み行列a~の更新を終了する。そして位置推定部２５は、更新終了時までに得られた評価値のうちの最小値に対応する、各画像取得時の車両１０の候補位置、実空間の各線分Liの位置及び向きを、それぞれ、最尤推定された車両１０の位置及び実空間の各線分Liの位置及び向きとする。
【００８９】
位置推定部２５は、各画像取得時の車両１０の推定位置（あるいは、その推定位置に対応する、車両座標系と世界座標系間の変換を表す回転行列及び並進行列）を地図作成部２６へわたす。
【００９０】
地図作成部２６は、位置推定部２５により車両の推定位置が求められた画像の組ごとに、その組に含まれる画像間で対応付けられた各線分に対応する実空間の線分の世界座標系で表される位置を地図に書き込むことで地図を作成する。すなわち、地図作成部２６は、評価値の最小値に対応する実空間の各線分Liを地図に書き込めばよい。
【００９１】
なお、地図作成部２６は、上記のManhattan-World仮説における（３）の条件に基づいて対応付けられた後方画像上の線分と前方画像上の線分の組のみを、地図作成に利用することが好ましい。これにより、路面以外の構造物の線が地図に書き込まれることが抑制される。
【００９２】
図９（ａ）は、車両が走行した道路の一例を表す図であり、図９（ｂ）は、図９（ａ）に示された道路に対応する、本実施形態による地図作成装置を利用して作成された地図の一例を表す図である。図９（ａ）には、車両１０が走行した道路９００が示されている。一方、図９（ｂ）において、地図９１０は、本実施形態による地図作成装置を利用して作成された地図であり、点線９１１は、車両１０が道路９００を通行した際の車両１０の軌跡を表す。
【００９３】
図９（ａ）及び図９（ｂ）に示されるように、道路９００の形状及び道路９００上に示された道路表示が、地図９１０上でも良好に再現されていることが分かる。
【００９４】
図１０は、地図作成処理の動作フローチャートである。制御部１３は、３枚以上の画像の組ごとに、下記の動作フローチャートに従って地図作成処理を実行する。
【００９５】
位置推定部２５は、画像取得時の車両１０の候補位置の初期値を設定する（ステップＳ２０１）。そして位置推定部２５は、各画像間で対応付けられた線分のそれぞれについて、各画像の候補位置に従った三角測量により、対応する実空間の線分の位置を算出する（ステップＳ２０２）。そして位置推定部２５は、各画像に、実空間の各線分を、その画像の取得時の車両の候補位置に従って投影する（ステップＳ２０３）。
【００９６】
位置推定部２５は、各画像における、投影された線分のそれぞれごとに、その投影された線分と対応する画像上の線分間の距離の合計となる簡易評価値が最小化されるよう、車両１０の候補位置と各線分の位置及び向きを最尤推定する（ステップＳ２０４）。
【００９７】
そして位置推定部２５は、最尤推定された候補位置及び各線分の位置及び向きに基づいて、各線分の向きθ及び車線の基準位置からの距離ρを算出する（ステップＳ２０５）。さらに、位置推定部２５は、各線分の向きθ及び距離ρに基づいて、路面上に表された各種線分についての向きと距離の組み合わせに関する特徴を表す基底ベクトルの集合Wに対する、最尤推定された重み行列a~を求める（ステップＳ２０６）。さらに、位置推定部２５は、最尤推定された重み行列a~を用いて、各画像における、投影された線分のそれぞれごとに、その投影された線分と対応する画像上の線分との距離の合計と、線分ごとの路面上に表された各種線分の何れかである対数尤度の合計との和である評価値（すなわち、（１８）式で算出される評価値）が最小化されるよう、車両１０の候補位置と各線分の位置及び向きを最尤推定する（ステップＳ２０７）。そして位置推定部２５は、評価値が終了条件を満たすか否か判定する（ステップＳ２０８）。
【００９８】
評価値が終了条件を満たさない場合（ステップＳ２０８−Ｎｏ）、位置推定部２５は、ステップＳ２０５以降の処理を繰り返す。
【００９９】
一方、評価値が終了条件を満たす場合（ステップＳ２０８−Ｙｅｓ）、位置推定部２５は、評価値が最小となるときの各画像取得時の車両の候補位置を、それぞれ、車両の推定位置とし、評価値が最小となるときの各線分の位置及び向きを、その線分の位置及び向きとする（ステップＳ２０９）。
【０１００】
地図作成部２６は、各画像取得時の車両の推定位置に従って、画像間で対応付けられた各線分に対応する実空間の線分を地図に書き込むことで地図を作成する（ステップＳ２１０）。そして制御部１３は、地図作成処理を終了する。
【０１０１】
以上説明してきたように、地図作成装置は、異なるカメラにより、異なるタイミングで生成された二つの画像間で、実空間上の同一の構造物の線に対応する線分同士を対応付ける。そしてこの地図作成装置は、画像間で対応付けられた各線分に対応する実空間上の線分を各画像に投影したときの、画像上の対応線分との位置ずれ、及び、実空間上の線分が路面上に表された各種線分の何れかである尤度に基づく、各画像取得時の車両の候補位置及び各線分の位置及び向きの評価値を算出する。そしてこの地図作成装置は、評価値が最小となるように、各画像取得時の車両の候補位置及び各線分の位置及び向きを更新し、評価値が最小となったときの各画像取得時の車両の候補位置を、それぞれ、各画像取得時の車両の推定位置とするとともに、評価値が最小となったときの各線分の位置及び向きを、その線分の位置及び向きとする。そしてこの地図作成装置は、各画像取得時の車両の推定位置に基づいて、各画像間で対応付けられた線分を世界座標系に投影することで地図を作成する。このように、この地図作成装置は、実空間上の線分を各画像に投影したときの、画像上の線分との位置ずれだけでなく、実空間の線分が路面上に表された各種線分の何れかである尤度に応じた評価値を利用するので、各画像取得時の車両の位置を正確に推定できる。その結果として、この地図作成装置は、高精度な地図を作成できる。
【０１０２】
以上、本発明の好適な実施形態について説明してきたが、本発明はこれらの実施形態に限定されるものではない。例えば、制御部１３は、一つの後方画像上の線分との対応付けを行う前方画像を複数選択し、その複数の前方画像に対して投影部２３及び対応付け部２４の処理を行って、線分同士の対応付けを行ってもよい。これにより、一つの後方画像を介して、３枚以上の前方画像間でも線分同士の対応付けが可能となる。したがって、制御部１３は、３枚以上の前方画像の組に基づいて、位置推定部２５及び地図作成部２６の処理を行ってもよい。同様に、制御部１３は、一つの前方画像を介して、３枚以上の後方画像間で線分同士の対応付けを行い、３枚以上の後方画像の組に基づいて、位置推定部２５及び地図作成部２６の処理を行ってもよい。また、制御部１３は、画像間で線分を対応付ける他の方法、例えば、非特許文献３に記載された方法に従って、画像間で線分の対応付けを行ってもよい。
【０１０３】
なお、変形例によれば、路面上に表される線分の種類ごとに確率分布が求められてもよい。この場合には、学習部２１は、学習期間中に得られた複数の画像から検出された線分のそれぞれについて、各画像取得時の車両の位置に基づいて実空間におけるその線分の向きと車線の基準位置からの距離とを算出する。そして学習部２１は、実空間上の線分ごとに算出された向きと距離の組に基づいて、線分の種類ごとに、向きと距離の組に対する確率を規定する確率分布を学習する。この場合、線分の種類ごとの確率分布は、例えば、混合ガウス分布とすることができる。学習部２１は、例えば、ＥＭ法に従って線分の種類ごとのガウス分布を学習すればよい。なお、学習部２１は、線分の種類の数が不明である場合には、赤池情報量基準またはベイズ情報量基準の値が最小化されるように、ガウス分布の数を決定してもよい。そして学習部２１は、その学習によって求められた、線分の種類ごとの確率分布を表すパラメータを記憶部１１に保存する。この場合、位置推定部２５は、学習部２１により学習された、線分の種類ごとの確率分布を表すパラメータを用いて、評価値を算出すればよい。例えば、位置推定部２５は、（１８）式の代わりに、次式に従って評価値Eを算出する。
【数２０】
2019139107.tif 000022
ここで、N(μm,Σm)は、混合ガウス分布に含まれるm番目のガウス分布をあらわし、μmは、m番目のガウス分布についての線分の向きと車線の基準位置からの距離の組の平均値を表し、Σmはm番目のガウス分布についての分散共分散行列を表す。そしてp(θi,ρi| N(μm,Σm))は、m番目のガウス分布における、線分Liの向きθi及び距離ρiでの値を表す。この変形例においても、位置推定部２５は、評価値を減少させるよう、LM法、準ニュートン法、最急降下法、シミュレーティッドアニーリング法、あるいは、信頼領域法といった最適化手法に従って各画像取得時の車両１０の候補位置及び実空間の各線分Liの位置及び向きの少なくとも何れかの更新を繰り返す。そして位置推定部２５は、前回の更新時の評価値と、最新の更新時の評価値間の変化量が所定の変化量閾値以下となったとき、更新回数が所定回数に達したとき、あるいは、評価値が所定の閾値以下となったときに更新を終了する。そして位置推定部２５は、更新が終了した時点までに算出された評価値のうちの最小値に対応する各画像取得時の車両１０の候補位置を、各画像取得時の車両１０の位置として推定すればよい。
【０１０４】
さらに他の変形例によれば、線分の種類ごとの確率分布は、ニューラルネットワークにより表されてもよい。この場合には、学習部２１は、ボルツマンマシンなどの教師無し学習法に従って線分の種類ごとの向きと車線の基準位置からの距離の組についての確率分布を学習すればよい。そして学習部２１は、その学習によって求められた、線分の種類ごとの確率分布を表すニューラルネットワークのパラメータ（各ノード間の接続を表す係数、各ノードのバイアスなど）を記憶部１１に保存する。この場合、位置推定部２５は、学習部２１により学習された、線分の種類ごとの確率分布を表すニューラスネットワークに、車両の候補位置に応じた線分の向きと車線の基準位置からの距離の組を入力して得られる出力値を（１９）式における第２項の値として用いて、評価値を算出すればよい。
【０１０５】
さらに他の変形例によれば、位置推定部２５及び地図作成部２６の処理は、制御部１３とは異なる装置、例えば、車両１０とは別個に設けられたサーバにおいて実行されてもよい。この場合には、画像の組ごとに、各画像の取得時刻及びその取得時刻ごとの車両１０のオドメトリ情報、画像間で対応付けられた各線分の各画像上での位置及び向き、各カメラの設置位置、焦点距離などの情報が記憶部１１に保存される。そしてそれらの情報が、図示しない通信インターフェースを介してサーバに送られ、サーバが位置推定部２５及び地図作成部２６の処理を実行すればよい。
【０１０６】
また他の実施形態によれば、路面上に表された各種線分の特徴を表す基底ベクトルの集合Wは、他の装置によって予め作成されてもよい。そして予め作成された基底ベクトルの集合Wが記憶部１１に予め記憶されてもよい。この場合には、学習部２１は省略されてもよい。
【０１０７】
以上のように、当業者は、本発明の範囲内で、実施される形態に合わせて様々な変更を行うことができる。
【符号の説明】
【０１０８】
１    地図作成装置
２−１、２−２    カメラ
３    ＩＭＵ
４    車輪速センサ
５    ＥＣＵ
６    ＣＡＮ
１１    記憶部
１２    通信部
１３    制御部
２１    学習部
２２    線分抽出部
２３    投影部
２４    対応付け部
２５    位置推定部
２６    地図作成部
【図１】
2019139107.tif 000023
【図２】
2019139107.tif 000024
【図３】
2019139107.tif 000025
【図４】
2019139107.tif 000026
【図５】
2019139107.tif 000027
【図６】
2019139107.tif 000028
【図７】
2019139107.tif 000029
【図８】
2019139107.tif 000030
【図９】
2019139107.tif 000031
【図１０】
2019139107.tif 000032