(57)【要約】      （修正有）【課題】実際の道路で走行中にキャリブレーションを実施する場合も、高精度なキャリブレーションを行う。【解決手段】走行中キャリブレーションプログラム１０３Ａは、車両に搭載され、車両に搭載されるカメラが車両の周囲を撮影して得られる撮影画像を取得する画像取得部２０１と、撮影画像から複数の特徴点を抽出する特徴点抽出部２０２と、特徴点抽出部が抽出した複数の特徴点それぞれについて、異なる時間に撮影された複数の撮影画像から同一の特徴点を追跡し特徴点軌跡として記録する追跡部２０３と、撮影画像から車両が走行する走行レーンである自車レーンを認識するレーン認識部１０３Ｂと、追跡部が追跡して記録した特徴点軌跡のうち、レーン認識部で認識した自車レーンに含まれる平面と同一平面上の特徴点軌跡を選別する選別部２０４と、選別部が選別した特徴点を用いてカメラの外部パラメータを推定する外部パラメータ推定部２０８とを備える。【選択図】図２
2020098550.tif 000002
【特許請求の範囲】
【請求項１】
車両に搭載され、
前記車両に搭載されるカメラが前記車両の周囲を撮影して得られる撮影画像を取得する画像取得部と、
前記撮影画像から複数の特徴点を抽出する特徴点抽出部と、
前記特徴点抽出部が抽出した複数の前記特徴点それぞれについて、異なる時間に撮影された複数の前記撮影画像から同一の特徴点を追跡し特徴点軌跡として記録する追跡部と、
前記撮影画像から前記車両が走行する走行レーンである自車レーンを認識するレーン認識部と、
前記追跡部が追跡し、記録した前記特徴点軌跡のうち、前記レーン認識部で認識した前記自車レーンに含まれる平面と同一平面上の前記特徴点軌跡を選別する選別部と、
前記選別部が選別した前記特徴点軌跡を用いて前記カメラの外部パラメータを推定する外部パラメータ推定部とを備えるキャリブレーション装置。
【請求項２】
請求項１に記載のキャリブレーション装置において、
前記車両の速度情報を取得する車両運動取得部を備え、
前記選別部は、
前記車両運動取得部で取得した前記速度情報と、前記画像取得部で取得した複数の前記撮影画像の取得時間間隔に基づいて、前記レーン認識部で認識した前記自車レーンに含まれる平面と同一平面上の前記特徴点軌跡の長さを算出して、
前記特徴点軌跡の長さが所定値に満たない場合、前記外部パラメータ推定部の推定に用いる前記特徴点軌跡から除外するキャリブレーション装置。
【請求項３】
請求項１に記載のキャリブレーション装置において、
前記追跡部が追跡した特徴点に認識の精度に基づき重みづけを行う荷重設定部をさらに備え、
前記外部パラメータ推定部は、前記荷重設定部により前記重みづけが大きく設定された特徴点ほど評価値が高くなるように前記外部パラメータを推定するキャリブレーション装置。
【請求項４】
請求項３に記載のキャリブレーション装置において、
前記荷重設定部は、特徴点のコーナー強度に基づき前記重みづけを決定するキャリブレーション装置。
【請求項５】
請求項３に記載のキャリブレーション装置において、
前記荷重設定部は、白線の特徴点への前記重みづけの設定において、実線の白線の特徴点の前記重みづけよりも、破線の白線の特徴点の前記重みづけを大きく設定するキャリブレーション装置。
【請求項６】
請求項１に記載のキャリブレーション装置において、
前記選別部は、前記追跡部により追跡された軌跡の長さと、理想的な軌跡の長さとの差があらかじめ定めた長さよりも小さく、かつ前記自車レーンに含まれる特徴点を選別するキャリブレーション装置。
【請求項７】
請求項１に記載のキャリブレーション装置において、
前記選別部は、前記追跡部により追跡された軌跡が直線性を有し、かつ前記自車レーンに含まれる特徴点を選別するキャリブレーション装置。
【請求項８】
請求項１に記載のキャリブレーション装置において、
前記選別部は、前記追跡部により追跡された軌跡の長さと、理想的な軌跡の長さとの差があらかじめ定めた長さよりも小さく、前記追跡部により追跡された軌跡が直線性を有し、かつ前記自車レーンに含まれる特徴点を選別するキャリブレーション装置。
【請求項９】
車両に搭載され、前記車両に搭載されるカメラが前記車両の周囲を撮影して得られる撮影画像を取得する画像取得部を有するキャリブレーション装置が実行するキャリブレーション方法であって、
前記撮影画像から複数の特徴点を抽出することと、
前記撮影画像から抽出された複数の前記特徴点それぞれについて、異なる時間に撮影された複数の前記撮影画像から同一の特徴点を追跡し、特徴点軌跡として記録を行うことと、
前記撮影画像から前記車両が走行する走行レーンである自車レーンを認識することと、
前記追跡されて、前記記録された前記特徴点軌跡のうち、前記自車レーンに含まれる路面と同一平面上の前記特徴点軌跡の選別を行うことと、
前記選別された前記特徴点軌跡を用いて前記カメラの外部パラメータを推定することとを含むキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キャリブレーション装置、およびキャリブレーション方法に関する。
【背景技術】
【０００２】
ドライバーを支援する目的で車載カメラの普及が進んでいる。車載カメラは設計に基づいた位置、姿勢で車両に取り付けられるが、取り付けに誤差が生じることが避けられない。車載カメラにより撮影して得られた画像を用いて距離計算などを行う際には、この取り付け誤差が距離精度に大きな影響を与える。そのため、車載カメラの取り付けの誤差を外部パラメータとしてあらかじめ推定し、距離計算などを行う際にカメラの外部パラメータを考慮することが広く行われている。外部パラメータは、工場出荷前に工場内にて所定のテストパターンなどを用いて算出することも可能であるが、乗車人員の増減や車両中の重量物の移動などにより車両の姿勢が変化するため、厳密には外部パラメータも変化することが知られている。そのため車両が道路を走行中に外部パラメータを推定すること、すなわち外部パラメータのキャリブレーションが求められている。なお走行中に外部パラメータをキャリブレーションができれば工場出荷前の外部パラメータの算出を省略でき、作業工程の削減にも資する。特許文献１には、車載カメラにより撮影して得られた画像を用いて外部パラメータを算出する発明が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】国際公開第２０１２／１４３０３６号パンフレット
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載されている発明では、キャリブレーションが可能な状況が限定されている。
【課題を解決するための手段】
【０００５】
本発明の第１の態様によるキャリブレーション装置は、車両に搭載され、前記車両に搭載されるカメラが前記車両の周囲を撮影して得られる撮影画像を取得する画像取得部と、前記撮影画像から複数の特徴点を抽出する特徴点抽出部と、前記特徴点抽出部が抽出した複数の前記特徴点それぞれについて、異なる時間に撮影された複数の前記撮影画像から同一の特徴点を追跡し特徴点軌跡として記録する追跡部と、前記撮影画像から前記車両が走行する走行レーンである自車レーンを認識するレーン認識部と、前記追跡部が追跡し、記録した特徴点軌跡のうち、前記レーン認識部で認識した前記自車レーンに含まれる平面と同一平面上の前記特徴点軌跡を選別する選別部と、前記選別部が選別した前記特徴点軌跡を用いて前記カメラの外部パラメータを推定する外部パラメータ推定部とを備える。
本発明の第２の態様によるキャリブレーション方法は、車両に搭載され、前記車両に搭載されるカメラが前記車両の周囲を撮影して得られる撮影画像を取得する画像取得部を有するキャリブレーション装置が実行するキャリブレーション方法であって、前記撮影画像から複数の特徴点を抽出することと、前記撮影画像から抽出された複数の前記特徴点それぞれについて、異なる時間に撮影された複数の前記撮影画像から同一の特徴点を追跡し、特徴点軌跡として記録を行うことと、前記撮影画像から前記車両が走行する走行レーンである自車レーンを認識することと、前記追跡されて、前記記録された前記特徴点軌跡のうち、前記自車レーンに含まれる路面と同一平面上の前記特徴点軌跡の選別を行うことと、前記選別された前記特徴点軌跡を用いて前記カメラの外部パラメータを推定することとを含む。
【発明の効果】
【０００６】
本発明によれば、実際の道路で走行中にキャリブレーションを実施する場合も、高精度なキャリブレーションが実現できる。
【図面の簡単な説明】
【０００７】
【図１】キャリブレーション装置１００を備える車両Ｐの構成を示すブロック図
【図２】走行中キャリブレーションプログラム１０３Ａの機能ブロック図
【図３】一般的な車道を示す図。図３（ａ）は道路の断面図、図３（ｂ）は道路の平面図。
【図４】立ち入り禁止を示す道路標示を示す図
【図５】追跡点情報１０２Ａの一例を示す図
【図６】特徴点抽出部２０２の動作を表すフローチャート
【図７】追跡部２０３の動作を表すフローチャート
【図８】選別部２０４の動作を表すフローチャート
【図９】外部パラメータ推定部２０８の動作を表すフローチャート
【発明を実施するための形態】
【０００８】
―第１の実施の形態―
以下、図１〜図９を参照して、本発明にかかるキャリブレーション装置の第１の実施の形態を説明する。
【０００９】
図１は、本発明にかかるキャリブレーション装置１００、およびキャリブレーション装置１００を備える車両Ｐの構成を示すブロック図である。なお本実施の形態では、車両Ｐを他の車両と区別するために「自車両」Ｐと呼ぶこともある。
【００１０】
車両Ｐは、キャリブレーション装置１００と、車両Ｐの前方を撮影するカメラ１１１と、キャリブレーション装置１００の出力に基づき運転者へ情報を提示する表示装置１０４と、車両Ｐの速度を測定する車速センサ１０５と、車両Ｐの舵角を測定する舵角センサ１０６とを備える。カメラ１１１、車速センサ１０５、および舵角センサ１０６が取得した情報は、キャリブレーション装置１００に送信される。
【００１１】
カメラ１１１は、車両Ｐの前方に取り付けられ、光軸は車両Ｐの正面であって水平方向よりも下に向けて固定される。ただしここで示すカメラ１１１の取り付け位置および取り付け姿勢は一例であり、カメラ１１１の取り付け位置および取り付け姿勢は設計により様々な値をとりうる。カメラ１１１の車両Ｐとの位置・姿勢関係の設計値は、外部パラメータ初期値１０３Ｃとして後述するフラッシュメモリ１１２に格納される。ただし、カメラ１１１の車両Ｐへの取り付けが設計値からずれが生じることは避けられず、実際の取り付け状態に対応する理想的な外部パラメータと、設計値である外部パラメータ初期値１０３Ｃとは一致しない。
【００１２】
カメラ１１１はレンズおよび撮像素子を備え、これらの特性、たとえばレンズの歪みを示すパラメータであるレンズ歪み係数、光軸中心、焦点距離、撮像素子の画素数および寸法が内部パラメータ初期値としてＲＯＭ１０３に格納される。また、後述するキャリブレーションプログラムにより算出された外部パラメータ１１２Ａがフラッシュメモリ１１２に保存される。
【００１３】
キャリブレーション装置１００は、中央演算装置であるＣＰＵ１０１と、読み書き可能な記憶装置であるＲＡＭ１０２と、読み出し専用の記憶装置であるＲＯＭ１０３と、フラッシュメモリ１１２とを備える。ＣＰＵ１０１は、ＲＡＭ１０２、ＲＡＭ１０３、およびフラッシュメモリ１１２と信号線により接続される。
【００１４】
ＣＰＵ１０１は、ＲＯＭ１０３に格納されるプログラムをＲＡＭ１０２に展開して実行する。ＲＡＭ１０２には、後述するプログラムが利用する追跡点情報１０２Ａ、および外部パラメータ１０２Ｂが格納される。追跡点情報１０２Ａの構造は後述する。外部パラメータ１０２Ｂは、キャリブレーション過程における途中の値であり、キャリブレーション終了まで書き換えられながら使用される。
【００１５】
ＲＯＭ１０３には、走行中キャリブレーションプログラム１０３Ａと、レーン認識プログラム１０３Ｂと、外部パラメータ初期値１０３Ｃと、カメラ利用プログラム１０３Ｄとが格納される。走行中パラメータキャリブレーションプログラム１０３Ａは、車両Ｐの走行中に外部パラメータをキャリブレーションする。走行中キャリブレーションプログラム１０３Ａの動作は、後に説明する。レーン認識プログラム１０３Ｂは、カメラ１１１で撮影された画像上において、路面にペイントされているレーンマーク、たとえば白線の位置や線の種別を認識する。レーン認識プログラムには様々な公知技術を用いることができ、たとえばPrewittフィルタによるエッジ抽出を用いたレーン認識が用いられる。
【００１６】
外部パラメータ初期値１０３Ｃは、前述のとおり外部パラメータの設計値である。カメラ利用プログラム１０３Ｄとは、カメラ１１１を利用するプログラムであり、たとえばカメラ１１１が撮影して得られた画像を用いて自車両Ｐと周囲の車両との距離を算出し、その距離が所定の距離以下の場合は表示装置１０４に警告を表示する。カメラ利用プログラム１０３Ｄは、実行のためにカメラ１１１の外部パラメータおよび内部パラメータを必要としており、これらをフラッシュメモリ１１２から読み込む。カメラ利用プログラム１０３Ｄは、フラッシュメモリ１１２に外部パラメータ１１２Ａおよび内部パラメータが保存されていない場合は、ＲＯＭ１０３に保存されている内部パラメータ初期値および外部パラメータ初期値１０３Ｃを用いる。
【００１７】
フラッシュメモリ１１２は不揮発性記憶媒体であり、フラッシュメモリ１１２には走行中キャリブレーションプログラム１０３Ａが出力する外部パラメータ１１２Ａが格納される。なお本実施の形態では外部パラメータのキャリブレーションのみを説明するが、キャリブレーション装置１００は内部パラメータのキャリブレーションも行ってもよい。
【００１８】
図２は、ＣＰＵ１０１が実行する走行中キャリブレーションプログラム１０３Ａが有する機能を機能ブロックとして表し、機能ブロック同士、および機能ブロックとＲＡＭ１０２とのデータの流れを示す図である。なお本実施の形態では、レーン認識プログラム１０３をレーン認識部１０３とも呼ぶ。
【００１９】
走行中キャリブレーションプログラム１０３Ａは、その機能として画像取得部２０１と、特徴点抽出部２０２と、追跡部２０３と、選別部２０４と、荷重設定部２０５と、蓄積部２０６と、実施判定部２０７と、外部パラメータ推定部２０８と、採否判定部２０９と、車両運動取得部２１０とを備える。なお車両運動取得部２１０は、図２では作図の都合により走行中キャリブレーションプログラム１０３Ａの外部に示されている。画像取得部２０１、特徴点抽出部２０２、および追跡部２０３は、カメラ１１１が画像を撮影するたびに実行される。
【００２０】
カメラ１１１は、連続して高い頻度、たとえば毎秒３０回撮影する。カメラ１１１が撮影して得られた画像（以下、撮影画像）は、撮影するたびにキャリブレーション装置１００に送信される。画像取得部２０１は、カメラ１１１から撮影画像を受信し、受信した撮影画像を特徴点抽出部２０２、追跡部２０３、およびレーン認識部１０３Ｂに出力する。画像取得部２０１は、たとえば、カメラ１１１から撮影画像が入力されるたびに特徴点抽出部２０２と追跡部２０３とレーン認識部１０３Ｂに撮影画像を出力する。ただし、処理負荷低減等を目的として、画像取得部２０１は１回おきに出力する構成としてもよい。
【００２１】
車両運動取得部２１０は、車速センサ１０５および舵角センサ１０６から送信される自車両Ｐの速度および舵角を車両運動情報として走行中キャリブレーションプログラム１０３Ａに出力する。ただし車両運動取得部２１０は、得られた情報を瞬時値として出力してもよいし、得られた情報を演算して、たとえば積分して出力してもよい。
【００２２】
特徴点抽出部２０２は、画像取得部２０１から入力される撮影画像に対して画像処理を施して特徴点を抽出する。ここでいう特徴点とは、たとえば画像中の壁の角、縁石の角、破線の角、横断歩道の角、などのエッジの交点、すなわちコーナー特徴点である。コーナー特徴点は、たとえば公知の技術であるハリスオペレータを適用することにより抽出できる。特徴点抽出部２０２により抽出された特徴点は、たとえばカメラ１１１の撮影画像における座標により特定することができる。本実施の形態では、撮影画像の左上を原点とし、右をＸ軸の正方向、下をＹ軸の正方向と定義する。特徴点抽出部２０２により抽出された特徴点の情報は、ＲＡＭ１０２に保存される。
【００２３】
追跡部２０３は、ＲＡＭ１０２から読み込む、直前の撮影画像から得られた特徴点を対象として、画像取得部２０１から入力される最新の撮影画像を用いて追跡処理を行う。すなわち追跡部２０３は、異なる時刻に撮影された撮影画像中の特徴点を追跡して特徴点の軌跡を算出する。特徴点の追跡には、既知の追跡手法であるＳＡＤ（Sum  of  Absolute  Difference）やＳＳＤ（Sum  of  Squared  Difference）、ＬＫ（Lucas‐Kanade）法などを用いることができる。そして、追跡した特徴点に関する情報を選別部２０４に出力する。
【００２４】
選別部２０４は、追跡部２０３で得られた軌跡、すなわち複数の特徴点のうち、キャリブレーションへの使用に不適当な特徴点を除いた特徴点を出力する。キャリブレーションへの使用に不適当な特徴点は、たとえば次の３つに分類される。第１に自車が走行する路面と同一平面上には存在しない特徴点、第２に誤追跡により得られた特徴点、第３に自車両Ｐが不安定な姿勢で取得した特徴点である。以下に詳しく説明する。
【００２５】
第１の分類である、自車が走行する路面と同一平面上には存在しない特徴点について説明する。高精度な外部パラメータのキャリブレーションを実現するためには、演算に用いる特徴点は、自車両Ｐが走行する路面と同一平面に存在することが必要となる。すなわち、路面から高さ方向に離れて存在する物体、たとえば道路標識、他の車両、壁、縁石などの特徴点は高精度なキャリブレーションの妨げとなる。さらには、自車両Ｐが走行する道路の路面上であっても同一平面上にない路面上の特徴点も高精度なキャリブレーションの妨げとなる。道路の路面上であっても同一平面上にない路面上の特徴点について、図３を参照して詳しく説明する。
【００２６】
車両Ｐが走行する車道は、雨水の排水などを目的として、法令により車道の幅方向に数％の勾配、すなわち横断勾配を有することが定められている。そのため図３に示すように、車道の中央部が高く、道路の幅方向に向かってなだらかに低くなる構成を有することが多い。図３は一般的な車道を示す図であり、図３（ａ）は道路の断面図、図３（ｂ）は道路の平面図である。ただし図３（ａ）では勾配の角度を強調している。図３において自車両は符号Ｐで示す車両であり、車道には白線Ｌ１０１と、中央線Ｌ１０２と、白線Ｌ１０３とが描画されている。中央線Ｌ１０２を挟んで自車両Ｐの逆側には、対向車両Ｑが走行している。
【００２７】
ここでは、自車両Ｐが走行する路面を第１面Ｓ１１と呼び、対向車両Ｑが走行する路面を第２面Ｓ１２と呼ぶ。図３（ａ）に示すように、第１面Ｓ１１と第２面Ｓ１２は、中央線Ｌ１０２を通る鉛直な面を中心として対称である。換言すると第２面Ｓ１２は、第１面Ｓ１１を中央線Ｌ１０２から延伸させた仮想第２面Ｓ１２Ａとは異なる平面である。そのため仮にキャリブレーション装置１００が、中央線Ｌ１０２を超えた領域に存在する特徴点、たとえば路面に描画された文字や記号の特徴点を、自車両Ｐが走行する路面である第１面Ｓ１１と同一平面上にあると誤解してキャリブレーションに使用すると、算出された外部パラメータは大きな誤差を含むため望ましくない。
【００２８】
第２平面Ｓ１２の傾きが図示したとおりであれば、キャリブレーション装置１００は中央線Ｌ１０２からの距離に応じて特徴点の位置を補正することは可能である。しかし実際にはセンサなどで計測しない限りは第２面Ｓ１２と第１面Ｓ１２との関係は不明であり、センサの追加はコストの問題となるため望ましくない。そのためキャリブレーションに用いる特徴点を自車両Ｐが走行している走行レーンの範囲内に限定することで、追加のセンサを用いることなく、同一平面上にない特徴点をキャリブレーションに使用してしまうことを避けることができる。
【００２９】
選別部２０４は、路面平面上にない特徴点を除外するために、レーン認識部１０３Ｂから出力されるレーンの位置情報を利用する。本実施の形態では、自車が走行する走行レーンを「自車レーン」と呼ぶ。選別部２０４は、自車レーン内の特徴点軌跡のみ残し、自車レーン外の特徴点軌跡は破棄する。レーン認識は公知の画像認識技術により、低処理負荷かつ高確度で認識できるため、路面平面外の特徴点軌跡を正確に破棄できる。
【００３０】
さらに、自車レーンのみの狭い平面範囲に限定することで、キャリブレーションに必要な特徴点軌跡を確保しつつ、道路横断勾配の影響を最小限に抑えることができる。道路横断勾配は、中央分離帯や、片側交互通行の隣接車線との境界に変曲点があるため、自車レーンの範囲内に制限することで、道路横断勾配の変曲点を含まず、ほぼ路面平面上とみなせる範囲のみから特徴点軌跡を取得できる。さらに、対向車などを追跡した軌跡も排除できる。以上が第１の分類の説明である。
【００３１】
第２の分類である、誤追跡により得られた特徴点とは、たとえば特徴点同士の位置関係から偶然に追跡がされた特徴点である。第３の分類である、自車両Ｐが不安定な姿勢で取得した特徴点とは、たとえば自車両Ｐが路面の凹凸により振動している際の撮影画像から得られた特徴点である。選別部２０４は、第２および第３の分類による特徴点を除外するために、車両運動取得部２１０から取得した情報を用いる。選別部２０４は、車両運動取得部２１０で得られる車両速度と、画像を取得する時間間隔とから想定される路面平面上の特徴点軌跡の長さを算出する。そして選別部２０４は、得られた特徴点軌跡の長さが適合しない特徴点は、誤追跡や振動の影響で誤差を含む特徴点とみなして除外する。なお、特徴点軌跡の長さが適合しない場合とは、特徴点軌跡の長さが所定値に満たない場合を含む。
【００３２】
選別部２０４は、以上説明した第１〜第３の分類に該当する特徴点の軌跡を除外することで、走行中のキャリブレーションに使用するにあたり不適当な特徴点を除外する。換言すると選別部２０４は、不適当な特徴点を除外することで、除外しなかった特徴点を選別する。画像認識の精度に問題があると考えられる特徴点の対処は、次に説明する荷重設定部２０５により行われる。選別部２０４は、選別した特徴点軌跡を荷重設定部２０５に出力する。
【００３３】
荷重設定部２０５は、選別部２０４から出力される特徴点軌跡のそれぞれに対して、キャリブレーションに使用する際に重視する度合い、すなわち荷重を設定する。荷重設定部２０５は、想定される画像認識の精度に応じて荷重を設定し、換言すると、想定される精度が高いほど大きい荷重を設定し、想定される精度が低いほど小さい荷重を設定する。たとえば以下のように白線の線種や白線の形状を利用して以下のように荷重を設定する。また荷重設定部２０５は後述するようにコーナー形状のスコアを算出して荷重を設定してもよい。選別部２０４はたとえば、後述する図５に示す形式で特徴点軌跡データに荷重を付す。
【００３４】
前述のとおり、特徴点は基本的にコーナー特徴点を抽出するものではあるが、微妙な陰影の影響や、車両Ｐの車輪とレーンマーカの間で、実線である白線がコーナー特徴点を有するかのように誤認識される場合がある。そのため荷重設定部２０５は、レーン認識部１０３Ｂで得られる線種情報を用いて、特徴点が実線上に存在する場合は小さな荷重を付与し、特徴点が破線上に存在する場合は大きな荷重を付与する。これが白線の線種を利用する場合である。
【００３５】
図４は、交差点の手前など車線数が増減する位置付近などに車道に描画される、立ち入り禁止を示す道路標示を示す図である。立ち入り禁止を示す道路標示において、図に破線の小さい丸で示す領域は、直角ではないコーナーが構成されている。このコーナーは、算出するコーナー特徴点の座標が真の位置からずれる傾向がある。そのため荷重設定部２０５は、公知の画像認識技術、たとえばハリスオペレータの強度により、コーナーの形状のスコアを算出し、スコアに応じて荷重を付与する。なおコーナーの形状のスコアは、「コーナー強度」と呼ぶこともできる。スコアが大きければ、よりコーナーらしさが高いので、大きな荷重を付与し、スコアが小さければ小さな荷重を付与する。これが白線の形状を利用する場合である。
【００３６】
蓄積部２０６は、荷重設定部２０５から出力された特徴点軌跡をＲＡＭ１０２に記録する。
【００３７】
実施判定部２０７は、キャリブレーション実施の可否を判断をする。特徴点軌跡の総数が少ない状態で実施すると、誤差系列が含まれていた場合に大きく誤ったキャリブレーション結果となる。そこで、特徴点軌跡があらかじめ定めた所定の数以上蓄積された段階でキャリブレーションを実施する。また、キャリブレーションを実施するには、自車中心から見て、進行方向の左側と右側の領域にそれぞれ特徴点軌跡が必要となる。したがって、自車中心から見て、左側と右側の領域にそれぞれあらかじめ定めた所定の数の特徴点軌跡が得られている場合に、外部パラメータ推定部２０８に実行指令を出す。
【００３８】
外部パラメータ推定部２０８は、これまでの処理により得られた特徴点軌跡の位置を現在の外部パラメータ１０２Ｂを用いて自車両Ｐの上部から見下ろしたように俯瞰変換する。そして外部パラメータ推定部２０８は、俯瞰視点での特徴点軌跡の角度や長さを用いて、カメラの３軸角度および高さを推定する。３軸角度とは、カメラのロール角、ピッチ角、およびヨー角である。取得した特徴点の軌跡は、車両Ｐが直進している際に、車両Ｐが接地する路面平面から取得した特徴点軌跡なので、カメラの３軸角度と高さが演算に使用した外部パラメータ１０２Ｂと一致するならば、俯瞰視点での複数の特徴点軌跡は平行かつ俯瞰映像縦方向に垂直に流れ、所定の長さとなる。この特徴点軌跡が理想軌跡である。
【００３９】
カメラの３軸角度と高さが、演算子に使用した外部パラメータ１０２Ｂと一致しない場合、すなわち外部パラメータ１０２Ｂに誤差があるは、俯瞰視点での特徴点軌跡が理想軌跡に対してそれぞれ特徴的な差異が生じる。ピッチ角に誤差がある場合は、俯瞰視点での特徴点軌跡がハの字状に開く。ヨー角に誤差がある場合は、俯瞰視点での自車両Ｐの左右の特徴点軌跡に、長さの差が生じる。ロール角に誤差がある場合は、特徴点軌跡全体が斜めに回転する。カメラ高さに誤差がある場合は、特徴点軌跡の長さが所定の長さから差異が生じる。
【００４０】
外部パラメータ推定部２０８は各パラメータを変化させ、理想軌跡に近づくように公知の最適化技術を用いて各パラメータを補正することで、キャリブレーションを実現する。詳細は後述する。最適化処理による推定終了後、外部パラメータ１０２Ｂを採否判定部２０９に出力する。
【００４１】
採否判定部２０９は、外部パラメータ推定部２０８から出力を受け取り、そのパラメータを最終パラメータとして採用してよいか判断する。最終パラメータとして採用してよいと判断された場合は、その外部パラメータ１０２Ｂは外部パラメータ１１２Ａとしてフラッシュメモリ１１２に書き込まれる。最終パラメータとして不採用と判断された場合は、推定途中の外部パラメータ１０２ＢとしてＲＡＭ１０２に書き込まれ、次の画像が入力される際に初期値として利用される。
【００４２】
採否判定部２０９は、最終パラメータとして判断してよいか否かを、収束性判定、回数判定、および画像判定の３つの観点で判断する。収束性判定とは、過去値と比較して十分変動が小さくなっているか否かの判定である。回数判定とは、複数回検証して所定の範囲内で同じ値が得られている否かの判定である。画像判定とは、俯瞰画像上で検証して、正しい俯瞰図とみなせる映像になっている否かの判定である。
【００４３】
採否判定部２０９は、収束性判定、回数判定、および画像判定の全てを満たす場合に、最終パラメータとして採用してよいと判断し、フラッシュメモリ１１２に書き込む。採否判定部２０９は、収束性判定および画像判定のみ満足すると判断する場合は、回数判定を満たした回数をカウントアップし、ＲＡＭ１０２に記憶されている特徴点列と演算途中の外部パラメータ１０２Ｂをクリアし、初期状態から再開始する。
【００４４】
（追跡点情報１０２Ａ）
図５は、ＲＡＭ１０２に保存される追跡点情報１０２Ａの一例を示す図である。追跡点情報１０２Ａには、特徴点ごとに、座標、状態、および荷重の情報が格納される。ただし特徴点ごとの座標の情報は時刻ごとに記録される。図５の行は個別の特徴点を表し、列は撮影時刻ｔ１〜ｔ５における特徴点の撮影画像上の座標、特徴点軌跡の状態、重みを表す。
【００４５】
特徴点に付した番号、すなわち１００１、１００２などは、特徴点を識別する識別子であり、ここでは便宜的に抽出された順番に通し番号で付した番号を用いている。図５は、時刻ｔ１に撮影された撮影画像からは特徴点が３つ抽出されたことを示しており、同様に時刻ｔ２、ｔ３、ｔ４に撮影された撮影画像からは４つ、時刻ｔ５に撮影された撮影画像からは１つ特徴点が抽出され、追跡に成功したことが示されている。時刻ｔ２、ｔ３の撮影画像から抽出された４つの特徴点のうち３つ、すなわち特徴点１００１と特徴点１００２と特徴点１００３は、時刻ｔ１から追跡が継続されていることを表している。
【００４６】
時刻ｔ５に撮影された撮影画像からは、特徴点１００１、１００３、１００４が抽出されなかったので図５では「ｘ」マークを付している。なお図５に示す例では時刻ｔ１〜ｔ５のみを表示しているが、時刻はこれに限定されない。時刻を増やすと無限にテーブルサイズが無限に大きくなりメモリを圧迫するため、公知のリングバッファ技術等により、テーブルを循環的に活用する。
【００４７】
追跡点情報１０２Ａの「状態」の列は、特徴点をキャリブレーションに使用するか否かを判断する際に参照される。この列には、特徴点の追跡が継続している場合には「未」、選別部２０４で破棄された軌跡は「ＮＧ」、選別部２０４を通過した軌跡は「ＯＫ」と記録される。追跡点情報１０２Ａの「荷重」の列は、荷重設定部２０５で付されるキャリブレーションに使用する際に重視する度合いを示すものである。高い値をもつ軌跡ほど、その特徴点軌跡が優先的に理想軌跡に近くなるように機能する。荷重設定部２０５を通過したものに荷重が付される。
【００４８】
（特徴点抽出部２０２の動作）
図６は特徴点抽出部２０２の動作を表すフローチャートである。特徴点抽出部２０２は、画像取得部２０１から撮影画像が送信されるたびに以下の動作を実行する。以下に説明する各ステップの実行主体はＣＰＵ１０１である。
【００４９】
ステップＳ３０１では特徴点抽出部２０２は、車両Ｐの進行方向、および車両Ｐの進行方向に対するカメラ１１１の撮影方向に基づき特徴点抽出部２０２が特徴点を抽出する撮影画像中の領域を決定する。たとえば車両Ｐが前方に進む場合は、カメラ１１１は車両Ｐの前方に取り付けられているので、車両Ｐに近い位置で特徴点を抽出してもすぐにカメラ１１１の画角から特徴点が外れてしまうため追跡できる時間が短い。処理領域は広ければ広いほど計算処理に時間がかかるため、リアルタイム処理で計算するためには、このような無駄な部分の計算処理負荷を低減する必要がある。そこで、車両Ｐから離れた場所の特徴点を抽出するように処理領域を設定する。なお、カメラ１１１が車両Ｐの後方を撮影するように取り付けられている場合は、車両Ｐが前方に進行する際に車両Ｐに近い側に処理領域を設定する。次にステップＳ３０２に進む。
【００５０】
ステップＳ３０２では特徴点抽出部２０２は、ステップＳ３０１において設定した特徴点抽出領域を対象として特徴点を抽出する。特にエッジの交点であるコーナー特徴点を抽出することが好ましい。特徴点抽出部２０２は、ステップＳ３０１において設定された領域に対して、ハリスオペレータなどを適用してコーナー特徴点を抽出し、ステップＳ３０３に進む。ステップＳ３０３では特徴点抽出部２０２は、ステップＳ３０２において抽出された特徴点の座標をＲＡＭ１０２に出力し、図６のフローチャートを終了する。
【００５１】
（追跡部２０３の動作）
図７は、追跡部２０３の動作を表すフローチャートである。追跡部２０３は、画像取得部２０１から撮影画像が送信されるたびに以下の動作を実行する。以下に説明する各ステップの実行主体はＣＰＵ１０１である。
【００５２】
ステップＳ４０１では追跡部２０３は、特徴点の追跡処理の対象とする処理領域を設定する。すなわち、カメラ１１１により直前に撮影された撮影画像において、特徴点抽出部２０２により特徴点が抽出された座標、および車両運動取得部２１０が取得する車両Ｐの運動情報を用いて、直前の撮影画像において抽出された特徴点が移動する方向および距離を推定する。そして特徴点が移動すると推定した方向および距離に対応する領域を、追跡部２０３が特徴点を追跡する撮影画像中の領域として決定する。次にステップＳ４０２に進む。
【００５３】
ただし、特徴点が移動する方向および距離を推定するために用いる撮影画像は直前の撮影画像に限定されず、複数の撮影画像を用いて推定してもよいし、直前以外の撮影画像を用いて推定してもよい。すなわち、より早い時間に撮影された撮影画像を用いて特徴点が移動する方向および距離を推定してもよい。
【００５４】
次に説明するステップＳ４０２〜Ｓ４０５は、直前の撮影画像において抽出された特徴点に対応する回数だけ繰り返し実行される。ステップＳ４０２では追跡部２０３は、前述のＳＡＤやＬＫ法などの公知の手法により、追跡対象であるＲＡＭ１０２から読み込んだ直前の撮影画像における特徴点の追跡を行い、ステップＳ４０３に進む。ステップＳ４０３では追跡部２０３は、追跡対象である直前の撮影画像における特徴点の追跡が継続できたか否かを判断する。
【００５５】
たとえば追跡部２０３は、ＳＡＤなどによる照合度があらかじめ定めた閾値以下であれば、カメラの画角から外れたなどの理由で追跡ができないと判断する。また追跡部２０３は、特徴点が画像中のあらかじめ定めた一定のラインを通過した場合や所定の領域から外れた場合は、強制的に追跡終了とする。強制的に追跡を終了する理由は、次の撮影画像ではカメラ１１１の画角から外れることが想定されるから、または被写体との距離が遠くなり追跡する必要性がないからである。追跡部２０３は、追跡が継続できたと判断する場合はステップＳ４０４に進み、追跡終了と判断する場合はステップＳ４０５に進む。
【００５６】
ステップＳ４０４では追跡部２０３は、追跡点情報１０２Ａにおける処理対象の特徴点の行であって、処理対象の撮影画像が撮影された時刻の列に、追跡した特徴点の座標を記録する。ステップＳ４０５では追跡部２０３は、追跡点情報１０２Ａにおける処理対象の特徴点の行であって、処理対象の撮影画像が撮影された時刻の列に、追跡が終了したマーク、たとえば「ｘ」を記録する。ステップＳ４０４またはステップＳ４０５の実行が完了すると、直前の撮影画像において抽出された特徴点についてステップＳ４０２〜Ｓ４０５が実行されたか否かを判断し、未処理の特徴点がある場合はステップＳ４０２に戻り、全ての特徴点について処理が完了したと判断する場合は図７のフローチャートを終了する。
【００５７】
（選別部２０４の動作）
図８は、選別部２０４の動作を表すフローチャートである。選別部２０４は、画像取得部２０１から撮影画像が送信されるたびに、以下の動作を実行する。以下に説明する各ステップの実行主体はＣＰＵ１０１である。
【００５８】
選別部２０４は、直前の処理で追跡終了した全軌跡を対象として以下に説明するＳ６０１〜Ｓ６１０を実行する。たとえば追跡点情報１０２Ａが図５に示すものであり、時刻ｔ５の直後の処理では選別部２０４は、特徴点１００１、特徴点１００３、および特徴点１００４のそれぞれを処理対象の特徴点軌跡としてＳ６０１〜Ｓ６１０を実行する。ステップＳ６０１では選別部２０４は、軌跡を現在の外部パラメータ１０２Ｂで俯瞰変換してステップＳ６０２に進む。なお外部パラメータ１０２Ｂが理想的な外部パラメータと一致しない場合は、俯瞰変換した軌跡は理想軌跡とは一致しないが、概ね俯瞰視点に近い軌跡となる。
【００５９】
ステップＳ６０２では選別部２０４は、次ステップで処理対象の特徴点軌跡と自車レーンとの位置関係を判定するために、処理対象の特徴点軌跡について軌跡代表座標を算出する。軌跡代表座標は、たとえば処理対象の特徴点軌跡を構成する全ての特徴点の座標を俯瞰変換し、その座標の平均値である。軌跡代表座標は、処理対象の特徴点軌跡を構成する全ての特徴点の座標を俯瞰変換して得られる座標のうち、自車両Ｐから車両の幅方向に距離が最も遠い特徴点の座標としてもよい。選別部２０４は、軌跡代表座標を算出するとステップＳ６０３に進む。
【００６０】
ステップＳ６０３では選別部２０４は、レーン認識部１０３Ｂから出力される自車両Ｐが走行中のレーンの画像座標を取得し、現在の外部パラメータ１０２Ｂを用いて俯瞰視点でのレーン位置を算出する。選別部２０４は、俯瞰視点でのレーン位置と、ステップＳ６０２で算出した軌跡代表座標とを比較する。選別部２０４は、軌跡代表座標がレーン外にあると判断する場合はステップＳ２０９に進み、軌跡代表座標がレーン内にあると判断する場合はステップＳ６０４に進む。
【００６１】
ステップＳ６０４では選別部２０４は、処理対象の特徴点軌跡の長さを算出する。特徴点軌跡の長さはたとえば、特徴点軌跡の長さは俯瞰視点上の特徴点軌跡において、軌跡を構成する始点座標と終点座標のユークリッド距離である。選別部２０４は特徴点軌跡の長さを算出するとステップＳ６０５に進む。ステップＳ６０５では選別部２０４は、車両運動取得部２１０で得られる車両速度と、画像を取得する時間間隔との積により理想軌跡長を算出してステップＳ６０６に進む。たとえば車両速度が時速３６ｋｍで画像を取得する時間間隔が０．１秒の場合は理想軌跡長は１０ｍである。なおステップＳ６０４とステップＳ６０５は順番を入れ替えてもよいし、並列に実行してもよい。
【００６２】
ステップＳ６０６では選別部２０４は、ステップＳ６０４で算出された軌跡長と、ステップＳ６０５において算出された理想軌跡長とを比較する。選別部２０４は、理想軌跡長と軌跡長さの差があらかじめ定めた所定の長さよりも大きい場合と判断する場合はステップＳ６０９に進む。選別部２０４は、理想軌跡長と軌跡長さの差があらかじめ定めた所定の長さよりも小さいと判断する場合は、その特徴点軌跡はキャリブレーションへの利用に適合するのでステップＳ６０７に進む。
【００６３】
ステップＳ６０７では選別部２０４は、ステップＳ６０６で適合すると判断された特徴点軌跡に関して、最小自乗法などの公知技術により近似直線を求める。ステップＳ６０８では選別部２０４は、特徴点軌跡の直線性を判定する。選別部２０４は特徴点軌跡の直線性をたとえば次のように判定する。すなわち選別部２０４は、ステップＳ６０７で算出した近似直線と、特徴点軌跡の各座標の距離を算出し、その距離の平均値とあらかじめ定めた所定の量との大小関係を比較する。選別部２０４は、距離の平均値があらかじめ定めた所定の量よりも大きいと判断する場合は直線性が不適合としてステップＳ６０９に進む。選別部２０４は、距離の平均値があらかじめ定めた所定の量以下と判断する場合は直線性適合と判断してステップＳ６１０に進む。
【００６４】
ステップＳ６０９では選別部２０４は、処理対象の特徴点軌跡はキャリブレーションに利用するには不適当なので破棄し、追跡点情報１０２Ａの状態の欄に「ＮＧ」と書き込む。ステップＳ６１０では選別部２０４は、処理対象の特徴点軌跡はキャリブレーションに利用するのに適当なので、追跡点情報１０２Ａの状態の欄に「ＯＫ」と書き込む。選別部２０４は、ステップＳ６０９またはステップＳ６１０が完了すると、直前の処理で追跡終了した全軌跡を対象としてステップＳ６０１以下の処理を実行したか否かを判断する。選別部２０４は、未処理の規制が存在すると判断する場合はその軌跡を処理対象としてステップＳ６０１以下の処理を実行し、全軌跡を対象としてステップＳ６０１以下の処理を実行したと判断すると図８に示す処理を終了する。
【００６５】
（外部パラメータ推定部２０８の動作）
図９は、外部パラメータ推定部２０８の動作を表すフローチャートである。外部パラメータ推定部２０８は、実施判定部２０７から実行指令を受けるたびに、以下の動作を実行する。以下に説明する各ステップの実行主体はＣＰＵ１０１である。
【００６６】
ステップＳ７０１では外部パラメータ推定部２０８は、ピッチ角推定を行う。外部パラメータ推定部２０８は、追跡点情報１０２Ａにおいて状態の欄に「ＯＫ」が記入されている特徴点軌跡の情報と、ＲＡＭ１０２に格納されている外部パラメータ１０２Ｂとを演算に用いる。外部パラメータ推定部２０８は、特徴点軌跡の平行性を評価する目的関数を設計し、その目的関数を公知の技術によりピッチ角に関して最小化することでピッチ角推定を実現する。
【００６７】
ステップＳ７０１における目的関数は、２本の特徴点軌跡の平行性を評価する関数を基本とする。外部パラメータ推定部２０８は２本の特徴点軌跡のペアを複数作成し、その全ての目的関数の総和をピッチ角推定の目的関数として設計する。したがって、特徴点軌跡全体が、できるだけ平行になるようにピッチ角が補正される。
【００６８】
なお特徴点軌跡のペアは、進行方向の左側の軌跡から１つを選択し、自車中心から左側の軌跡と右側の軌跡、換言すると進行方向の左側の軌跡と進行方向の右側の軌跡を組み合わせる。特徴点軌跡のペアは、考えられる全ての組み合わせでもよいし、その中から幾つか選択したもののみでもよい。外部パラメータ推定部２０８は、読み込んだ外部パラメータ１０２Ｂのピッチ角をステップＳ７０１で推定したピッチ角で書き換えて、ＲＡＭ１０２に格納する。換言するとステップＳ７０１の処理によりＲＡＭ１０２に格納されている外部パラメータ１０２Ｂは更新される。
【００６９】
ステップＳ７０２では外部パラメータ推定部２０８は、ヨー角推定を行う。外部パラメータ推定部２０８は、追跡点情報１０２Ａにおいて状態の欄に「ＯＫ」が記入されている特徴点軌跡の情報と、ステップＳ７０１の処理により更新された外部パラメータ１０２Ｂとを演算に用いる。
【００７０】
外部パラメータ推定部２０８は、特徴点軌跡の垂直性、すなわち軌跡が俯瞰図において進行方向に沿う程度を評価する目的関数を設計する。そして外部パラメータ推定部２０８は、その目的関数を公知の技術によりヨー角に関して最小化することで、ヨー角推定を実現する。ステップＳ７０２における目的関数は、１本の特徴点軌跡の垂直性を評価する関数を基本とし、全ての特徴点軌跡に関する目的関数の総和をピッチ角推定の目的関数として設計する。したがって、特徴点軌跡全体が、できるだけ垂直方向を向くようにヨー角が算出される。外部パラメータ推定部２０８は、読み込んだ外部パラメータ１０２Ｂのヨー角をステップＳ７０２で推定したヨー角で書き換えて、ＲＡＭ１０２に格納する。
【００７１】
ステップＳ７０３では外部パラメータ推定部２０８は、ロール角推定を行う。外部パラメータ推定部２０８は、追跡点情報１０２Ａにおいて状態の欄に「ＯＫ」が記入されている特徴点軌跡の情報と、ステップＳ７０２の処理により更新された外部パラメータ１０２Ｂとを演算に用いる。
【００７２】
外部パラメータ推定部２０８は、自車中心から左側の軌跡と右側の軌跡の特徴点軌跡の長さの差を評価する目的関数を設計し、その目的関数を公知の技術によりロール角に関して最小化することで、ロール角推定を実現する。ステップＳ７０３における目的関数は、自車左側の全ての特徴点軌跡長さの平均値と、自車右側の全ての特徴点軌跡長さの平均値の差を最小化するものとして設計する。したがって、自車左側の特徴点軌跡全体と右側の特徴点軌跡全体の長さの差ができるだけ小さくなるように、すなわち理想俯瞰視点に近づくようにロール角が補正される。外部パラメータ推定部２０８は、読み込んだ外部パラメータ１０２Ｂのロール角をステップＳ７０３で推定したロール角で書き換えて、ＲＡＭ１０２に格納する。
【００７３】
ステップＳ７０４では外部パラメータ推定部２０８は、高さ推定を行う。外部パラメータ推定部２０８は、追跡点情報１０２Ａにおいて状態の欄に「ＯＫ」が記入されている特徴点軌跡の情報と、ステップＳ７０３の処理により更新された外部パラメータ１０２Ｂとを演算に用いる。
【００７４】
外部パラメータ推定部２０８は、特徴点軌跡の長さと、車両運動情報から予想される理想軌跡の長さの差をあらわす目的関数を、公知の技術により高さに関して最小化することで高さ推定を実現する。目的関数は、全特徴点軌跡の長さと理想軌跡の長さの差を最小化するものとして設計する。したがって、特徴点軌跡全体と理想軌跡の長さの差ができるだけ小さくなるように、すなわち理想俯瞰視点に近づくように高さが補正される。外部パラメータ推定部２０８は、読み込んだ外部パラメータ１０２Ｂの高さをステップＳ７０４で推定した高さで書き換えて、ＲＡＭ１０２に格納する。
【００７５】
上述した第１の実施の形態によれば、次の作用効果が得られる。
（１）キャリブレーション装置１００は、車両Ｐに搭載される。キャリブレーション装置１００は、車両Ｐに搭載されるカメラ１１１が車両Ｐの周囲を撮影して得られる撮影画像を取得する画像取得部２０１と、撮影画像から複数の特徴点を抽出する特徴点抽出部２０２と、特徴点抽出部２０２が抽出した複数の特徴点それぞれについて、異なる時間に撮影された複数の前記撮影画像から同一の特徴点を追跡し特徴点軌跡として記録する追跡部２０３と、撮影画像から車両Ｐが走行する走行レーンである自車レーンを認識するレーン認識部１０３Ｂと、追跡部２０３が追跡した特徴点軌跡のうち、レーン認識部１０３Ｂで認識した自車レーンに含まれる平面と同一平面上の特徴点軌跡を選別する選別部２０４と、選別部２０４が選別した特徴点軌跡を用いてカメラ１１１の外部パラメータを推定する外部パラメータ推定部２０８とを備える。
【００７６】
キャリブレーション装置１００は、自車レーンに含まれる特徴点を選別して外部パラメータの推定に用いるので、図３に示したように同一平面上にない特徴点をキャリブレーションに使用してしまうことを避けることができる。すなわちキャリブレーション装置１００は、実際の道路で走行中にキャリブレーションを実施する場合も、高精度なキャリブレーションが実現できる。また本手法では追加のセンサを必要とせず、カメラ１１１の撮影画像を用いて走行レーンを認識するので、コスト面でも優れている。
【００７７】
（２）キャリブレーション装置１００は、追跡部２０３が追跡した特徴点に認識の精度に基づき重みづけを行う荷重設定部２０５を備える。外部パラメータ推定部２０８は、荷重設定部２０５により重みづけが大きく設定された特徴点ほど評価値が高くなるように外部パラメータを推定する。そのため特徴点の認識の精度を外部パラメータの推定に反映させることができる。
【００７８】
（３）荷重設定部２０５は、特徴点のコーナー強度に基づき重みづけを決定する。
（４）荷重設定部２０５は、白線の特徴点への重みづけの設定において、実線の白線の特徴点の重みづけよりも、破線の白線の特徴点の重みづけを大きく設定する。そのため画像認識の精度を外部パラメータの算出に反映させることができる。
【００７９】
（５）選別部２０４は、追跡部２０３により追跡された軌跡の長さと、理想的な軌跡の長さとの差があらかじめ定めた長さよりも小さく（図８のＳ６０６：ＮＯ）、追跡部２０３により追跡された軌跡が直線性を有し（図８のＳ６０８：ＮＯ）、かつ自車レーンに含まれる（図８のＳ６０３：ＮＯ）特徴点を選別する。そのためキャリブレーション装置１００は、適切な特徴点を用いるので高精度に外部パラメータを推定できる。
【００８０】
（６）選別部２０４は、車両運動取得部２１０で取得した速度情報と、画像取得部２０１で取得した複数の撮影画像の取得時間間隔に基づいて、レーン認識部１０３Ｂで認識した自車レーンに含まれる平面と同一平面上の特徴点軌跡の長さを算出して、特徴点軌跡の長さが所定値に満たない場合、外部パラメータ推定部２０８の推定に用いる特徴点軌跡から除外する。そのため不適切な特徴点軌跡を外部パラメータの推定から排除できる。
【００８１】
（変形例１）
上述した実施の形態では、キャリブレーション装置１００の車両運動取得部２１０は、車速センサ１０５および舵角センサ１０６から出力を受けた。しかし車両運動取得部２１０は、自車両Ｐの位置情報を入力として受け付けてもよい。たとえば自車両ＰがＧＰＳ受信機を備える場合は、車両運動取得部２１０はＧＰＳ受信機から車両Ｐの位置情報が入力され、車両運動取得部２１０は入力されたその位置情報をそのまま車両運動情報として走行中キャリブレーションプログラム１０３Ａに出力してもよい。なおＧＰＳ受信機は、衛星航法システムを構成する複数の衛星から電波を受信し、その電波に含まれる信号を解析することで自車両Ｐの位置、すなわち緯度と経度を算出する。
【００８２】
（変形例２）
キャリブレーション装置１００は、実施判定部２０７および採否判定部２０９のいずれか一方を備えなくてもよいし、両方を備えなくてもよい。それぞれがキャリブレーション装置１００に備えられない場合は、備えられない構成が肯定的な判断を行った場合と同様に処理が実行される。たとえば実施判定部２０７および採否判定部２０９の両方がキャリブレーション装置１００に備えられない場合は、蓄積部２０６が特徴点軌跡をＲＡＭ１０２に記録すると次の処理が行われる。すなわち外部パラメータ推定部２０８が外部パラメータ１０２Ｂを推定し、外部パラメータ推定部２０８が推定した外部パラメータ１０２Ｂがそのまま外部パラメータ１１２Ａとしてフラッシュメモリ１１２に記録される。
【００８３】
（変形例３）
選別部２０４の動作は図８のステップＳ６０４〜Ｓ６０８の全部が省略されてもよいし、ステップＳ６０４〜Ｓ６０６のみが省略されてもよいし、ステップＳ６０７〜Ｓ６０８のみが省略されてもよい。すなわち選別部２０４は、ステップＳ６０１〜Ｓ６０３に示す、特徴点と自車レーンの位置関係に基づく判断が必須であり、ステップＳ６０４〜Ｓ６０８に示す付加的な選別は行われなくてもよい。
【００８４】
（変形例４）
図１において、走行中キャリブレーションプログラム１０３Ａとレーン認識プログラム１０３Ｂは別のプログラムとして説明した。しかしキャリブレーション装置１００が両者のプログラムの機能を有していればよく、１つのプログラムにより実現してもよいし、３以上のプログラムにより実現してもよい。
【００８５】
上述した各実施の形態および変形例において、プログラムはＲＯＭ１０３に格納されるとしたが、プログラムはフラッシュメモリ１１２に格納されていてもよい。また、キャリブレーション装置１００が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースとキャリブレーション装置１００が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、たとえば入出力インタフェースに着脱可能な記憶媒体、または通信媒体、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。また、プログラムにより実現される機能の一部または全部がハードウエア回路やＦＰＧＡにより実現されてもよい。
【００８６】
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【００８７】
１００…キャリブレーション装置
１０１…ＣＰＵ
１０２Ｂ、１１２Ａ…外部パラメータ
１０３Ｂ…レーン認識部
１０３Ｃ…外部パラメータ初期値
１０４…表示装置
１０５…車速センサ
１０６…舵角センサ
１１１…カメラ
１１２…フラッシュメモリ
２０１…画像取得部
２０２…特徴点抽出部
２０３…追跡部
２０４…選別部
２０５…荷重設定部
２０６…蓄積部
２０７…実施判定部
２０８…外部パラメータ推定部
２０９…採否判定部
２１０…車両運動取得部
【図１】
2020098550.tif 000003
【図２】
2020098550.tif 000004
【図３】
2020098550.tif 000005
【図４】
2020098550.tif 000006
【図５】
2020098550.tif 000007
【図６】
2020098550.tif 000008
【図７】
2020098550.tif 000009
【図８】
2020098550.tif 000010
【図９】
2020098550.tif 000011