(57)【特許請求の範囲】
【請求項１】
移動体に搭載された撮影装置で連続して撮影された直線状部分を備えた物体の画像を含む２枚の撮影画像のうち一方の撮影画像における直線状部分の画像上の特徴点と、他方の撮影画像に含まれる該特徴点に対応する対応点とを検出する検出手段と、
前記検出手段で検出された特徴点および対応点に基づいて、該特徴点の各々の位置から前記撮影装置までの各々の距離を計算する距離計算手段と、
前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段と、
前記計数手段で計数された数が所定数を越えている場合に、前記一方の撮影画像または前記他方の撮影画像に基づいて前記撮影装置のレンズ歪みを示すレンズ歪みパラメータを計算するパラメータ計算手段と、
を有するパラメータ計算装置。
【請求項２】
前記計数手段で計数された数が所定数を越えていない場合に、前記撮影装置で連続して撮影された新たな撮影画像から新たに前記特徴点および前記対応点が検出されるように前記検出手段を制御する制御手段、
を更に有する請求項１に記載のパラメータ計算装置。
【請求項３】
移動体に搭載された２台の撮影装置の一方の撮影装置で撮影された直線状部分を備えた物体の画像を含む撮影画像における直線状部分の画像上の特徴点と、前記他方の撮影装置で撮影された撮影画像に含まれる該特徴点に対応する対応点とを検出する検出手段と、
前記検出手段で検出された特徴点および対応点に基づいて、該特徴点の各々の位置から前記一方の撮影装置までの各々の距離を計算する距離計算手段と、
前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段と、
前記計数手段で計数された数が所定数を越えている場合に、前記特徴点が検出された撮影画像に基づいて前記一方の撮影装置のレンズ歪みを示すレンズ歪みパラメータを計算するパラメータ計算手段と、
を有するパラメータ計算装置。
【請求項４】
前記パラメータ計算手段は、前記計数手段で計数された数が所定数を越えている場合に、更に、前記対応点が検出された撮影画像に基づいて前記他方の撮影装置のレンズ歪みパラメータを計算する、
請求項３に記載のパラメータ計算装置。
【請求項５】
前記計数手段で計数された数が所定数を越えていない場合に、前記２台の撮影装置で撮影された新たな撮影画像から新たに前記特徴点および前記対応点が検出されるように前記検出手段を制御する制御手段、
を更に有する請求項３または請求項４に記載のパラメータ計算装置。
【請求項６】
移動体に搭載された撮影装置で連続して撮影された３枚以上の撮影画像の全てに存在し該３枚以上の撮影画像間で互いに対応する特徴点を検出する検出手段と、
前記検出手段で検出された特徴点に基づいて、該特徴点の各々の位置から前記撮影装置までの各々の距離を計算する距離計算手段と、
前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段と、
前記計数手段で計数された数が所定数を越えている場合に、前記３枚以上の撮影画像における前記所定範囲内の距離領域に分布する特徴点に基づいて、前記撮影装置の焦点距離を示す焦点距離パラメータ、前記撮影装置のレンズ中心を示すレンズ中心パラメータ、および前記撮影装置で撮影される撮影画像のスキューを示すスキューパラメータを計算するパラメータ計算手段と、
を有するパラメータ計算装置。
【請求項７】
前記計数手段で計数された数が前記所定数以下の場合に、前記撮影装置で連続して撮影された新たな３枚以上の撮影画像から新たに前記特徴点が検出されるように前記検出手段を制御する制御手段、
を更に有する請求項６に記載のパラメータ計算装置。
【請求項８】
移動体に搭載された２台の撮影装置の一方で連続して撮影された３枚以上の撮影画像の全てに存在し該３枚以上の撮影画像間で互いに対応する特徴点を検出すると共に、２台の撮影装置の他方で撮影された３枚以上の撮影画像に含まれる前記特徴点に対応する対応点とを検出する検出手段と、
前記検出手段で検出された特徴点および対応点に基づいて、該特徴点の各々の位置から前記一方の撮影装置までの各々の距離を計算する距離計算手段と、
前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段と、
前記計数手段で計数された数が所定数を越えている場合に、前記一方の撮影装置で撮影された前記３枚以上の撮影画像における前記所定範囲内の距離領域に分布する特徴点に基づいて、前記一方の撮影装置の焦点距離を示す焦点距離パラメータ、前記一方の撮影装置のレンズ中心を示すレンズ中心パラメータ、および前記一方の撮影装置で撮影される撮影画像のスキューを示すスキューパラメータを計算するパラメータ計算手段と、
を有するパラメータ計算装置。
【請求項９】
前記パラメータ計算手段は、前記計数手段で計数された数が所定数を越えている場合に、更に、前記他方の撮影装置で撮影された前記３枚以上の撮影画像における前記所定範囲内の距離領域に分布する特徴点に対応する対応点に基づいて、前記他方の撮影装置の焦点距離を示す焦点距離パラメータ、前記他方の撮影装置のレンズ中心を示すレンズ中心パラメータ、および前記他方の撮影装置で撮影される撮影画像のスキューを示すスキューパラメータを計算する
請求項８に記載のパラメータ計算装置。
【請求項１０】
前記計数手段で計数された数が所定数を越えていない場合に、前記一方の撮影装置で３枚以上連続して撮影された新たな撮影画像から新たに前記特徴点が検出されると共に、前記他方の撮影装置で３枚以上連続して撮影された新たな撮影画像から新たに前記対応点が検出されるように前記検出手段を制御する制御手段、
を更に有する請求項８または請求項９に記載のパラメータ計算装置。
【請求項１１】
移動体に搭載された２台の撮影装置の一方で撮影された撮影画像から特徴点を検出すると共に、前記２台の撮影装置の他方で撮影された撮影画像から前記特徴点に対応する対応点を検出する検出手段と、
前記検出手段で検出された特徴点および対応点に基づいて、前記検出された各特徴点の位置から前記一方の撮影装置までの各々の距離を計算する距離計算手段と、
前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段と、
前記計数手段で計数された数が所定数を越えている場合に、前記所定範囲内の距離領域に分布する特徴点および前記所定範囲内の距離領域に分布する特徴点に対応する対応点に基づいて前記２台の撮影装置の位置及び姿勢の相対関係を示す相対関係パラメータを計算するパラメータ計算手段と、
を有するパラメータ計算装置。
【請求項１２】
前記計数手段で計数された数が所定数を越えていない場合に、前記２台の撮影装置で同時に撮影された新たな撮影画像から新たに前記特徴点および前記対応点が検出されるように前記検出手段を制御する制御手段、
を更に有する請求項１１に記載のパラメータ計算装置。
【請求項１３】
請求項１〜請求項５のいずれか１項記載のパラメータ計算装置と、
請求項６〜請求項１０のいずれか１項記載のパラメータ計算装置と、
を備えたパラメータ計算システム。
【請求項１４】
請求項１〜請求項５のいずれか１項記載のパラメータ計算装置と、
請求項６〜請求項１０のいずれか１項記載のパラメータ計算装置と、
請求項１１または請求項１２に記載のパラメータ計算装置と、
を備えたパラメータ計算システム。
【請求項１５】
コンピュータを、
移動体に搭載された撮影装置で連続して撮影された直線状部分を備えた物体の画像を含む２枚の撮影画像のうち一方の撮影画像における直線状部分の画像上の特徴点と、他方の撮影画像に含まれる該特徴点に対応する対応点とを検出する検出手段、
前記検出手段で検出された特徴点および対応点に基づいて、該特徴点の各々の位置から前記撮影装置までの各々の距離を計算する距離計算手段、
前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段、および
前記計数手段で計数された数が所定数を越えている場合に、前記一方の撮影画像または前記他方の撮影画像に基づいて前記撮影装置のレンズ歪みを示すレンズ歪みパラメータを計算するパラメータ計算手段、
として機能させるためのプログラム。
【請求項１６】
コンピュータを、
移動体に搭載された２台の撮影装置の一方の撮影装置で撮影された直線状部分を備えた物体の画像を含む撮影画像における直線状部分の画像上の特徴点と、前記他方の撮影装置で撮影された撮影画像に含まれる該特徴点に対応する対応点とを検出する検出手段、
前記検出手段で検出された特徴点および対応点に基づいて、該特徴点の各々の位置から前記一方の撮影装置までの各々の距離を計算する距離計算手段、
前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段、および
前記計数手段で計数された数が所定数を越えている場合に、前記特徴点が検出された撮影画像に基づいて前記一方の撮影装置のレンズ歪みを示すレンズ歪みパラメータを計算するパラメータ計算手段、
として機能させるためのプログラム。
【請求項１７】
コンピュータを、
移動体に搭載された撮影装置で連続して撮影された３枚以上の撮影画像の全てに存在し該３枚以上の撮影画像間で互いに対応する特徴点を検出する検出手段、
前記検出手段で検出された特徴点に基づいて、該特徴点の各々の位置から前記撮影装置までの各々の距離を計算する距離計算手段、
前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段、および
前記計数手段で計数された数が所定数を越えている場合に、前記３枚以上の撮影画像における前記所定範囲内の距離領域に分布する特徴点に基づいて、前記撮影装置の焦点距離を示す焦点距離パラメータ、前記撮影装置のレンズ中心を示すレンズ中心パラメータ、および前記撮影装置で撮影される撮影画像のスキューを示すスキューパラメータを計算するパラメータ計算手段、
として機能させるためのプログラム。
【請求項１８】
コンピュータを、
移動体に搭載された２台の撮影装置の一方で連続して撮影された３枚以上の撮影画像の全てに存在し該３枚以上の撮影画像間で互いに対応する特徴点を検出すると共に、２台の撮影装置の他方で撮影された３枚以上の撮影画像に含まれる前記特徴点に対応する対応点とを検出する検出手段、
前記検出手段で検出された特徴点および対応点に基づいて、該特徴点の各々の位置から前記一方の撮影装置までの各々の距離を計算する距離計算手段、
前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段、および
前記計数手段で計数された数が所定数を越えている場合に、前記一方の撮影装置で撮影された前記３枚以上の撮影画像における前記所定範囲内の距離領域に分布する特徴点に基づいて、前記一方の撮影装置の焦点距離を示す焦点距離パラメータ、前記一方の撮影装置のレンズ中心を示すレンズ中心パラメータ、および前記一方の撮影装置で撮影される撮影画像のスキューを示すスキューパラメータを計算するパラメータ計算手段、
として機能させるためのプログラム。
【請求項１９】
コンピュータを、
移動体に搭載された２台の撮影装置の一方で撮影された撮影画像から特徴点を検出すると共に、前記２台の撮影装置の他方で撮影された撮影画像から前記特徴点に対応する対応点を検出する検出手段、
前記検出手段で検出された特徴点および対応点に基づいて、前記検出された各特徴点の位置から前記一方の撮影装置までの各々の距離を計算する距離計算手段、
前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段、および
前記計数手段で計数された数が所定数を越えている場合に、前記所定範囲内の距離領域に分布する特徴点および前記所定範囲内の距離領域に分布する特徴点に対応する対応点に基づいて前記２台の撮影装置の位置及び姿勢の相対関係を示す相対関係パラメータを計算するパラメータ計算手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体に搭載された撮影装置の校正を行なうためのパラメータ計算装置、パラメータ計算システムおよびプログラムに関する。
【背景技術】
【０００２】
従来、車両等の移動体の周囲の環境（車両の周囲に存在している物体の位置や距離等の状況）の認識・監視を行う場合に、移動体に搭載した２台のカメラを用いて３次元位置を計算する技術が広く採用されている。
【０００３】
３次元位置を精度高く計算するためには、２台のカメラの校正が必要となる。校正は、２台のカメラの位置及び姿勢の相対関係を示すパラメータ（以下、外部パラメータ）や、各カメラのレンズ歪みや焦点距離などを示すパラメータ（以下、内部パラメータ）を計算することにより行なわれる。
【０００４】
２台のカメラ（以下、ステレオカメラ）の校正を行なうための技術としては、例えば、既知パターンの画像を使用せずに、車両に装着されたステレオカメラにより取得した一般的な走行環境画像を用いて、技術者が特別の作業を行なうことなく、自動的にステレオカメラを校正（キャリブレーション）する技術が知られている（特許文献１参照。）。
【０００５】
この技術は、車両に搭載され、所定の設置距離で配置された２台のカメラで取得された複数の画像を用いて、車両周辺の物標の３次元座標を取得する装置において、１台のカメラが取得した画像から、第１の特徴点を抽出してその３次元座標を演算し、２台のカメラが同時に取得した２枚の画像から第２の特徴点を抽出して２枚の画像を対応付け、第２の特徴点の対応関係から基礎行列を演算し、カメラの仮のキャリブレーション値を計算して第２の特徴点の仮の３次元座標を演算し、同一の第１及び第２の特徴点についてそれぞれ演算された３次元座標を比較して、２台のカメラ間の距離スケールを求め、第２の特徴点の仮の３次元座標及び２台のカメラ間の距離スケールから、第２の特徴点の３次元座標を演算する。
【特許文献１】特開２００７−２６３６６９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術で一般走行環境画像を用いてカメラの外部パラメータを計算する際に、ステレオカメラの使用目的とする距離に特徴点が十分に存在しない画像を用いてカメラ校正した場合には、校正の精度を十分に確保できないという問題がある。
【０００７】
より具体的に説明すると、カメラから近い領域に特徴点が存在する画像を用いて計算した外部パラメータと、遠い領域に特徴点が存在する画像を用いて計算した外部パラメータとが、異なる場合がある。これは領域毎の特徴点の数が影響している。既知パターンを持つキャリブレーションボードをステレオカメラを使用する目的に応じた距離だけ離した位置に配置し、それを撮影した撮影画像を用いて校正する方法であれば、このような問題は発生しないが、キャリブレーションボードを用いずに一般走行環境画像を用いて特別の作業をせずに自動的に外部パラメータを計算する際には、こうした問題が発生する。
【０００８】
すなわち、取得した一般走行環境画像中にステレオカメラの使用目的とする距離に特徴点が十分に存在しない場合には、カメラの使用目的とする距離に特徴点が十分に存在する画像を用いる場合に比べて、特徴点の座標の情報が不足するため、外部パラメータの計算精度が悪化するのである。
【０００９】
また、内部パラメータを計算する場合も、同様に、使用目的とする距離にレンズ歪を計算するために必要な物体が存在しない、或いは焦点距離等を計算するために必要な特徴点の数が少ない、等の場合には、計算精度が低下する。
【００１０】
上記従来手法には、こうした問題を解決し、より精度良くカメラを校正するための手段は何ら提案されていない。
【００１１】
本発明は上述した問題を解決するためになされたものであり、移動体に搭載された撮影装置の校正に必要なパラメータを精度高く計算することができるパラメータ計算装置、パラメータ計算システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
請求項１の発明のパラメータ計算装置は、移動体に搭載された撮影装置で連続して撮影された直線状部分を備えた物体の画像を含む２枚の撮影画像のうち一方の撮影画像における直線状部分の画像上の特徴点と、他方の撮影画像に含まれる該特徴点に対応する対応点とを検出する検出手段と、前記検出手段で検出された特徴点および対応点に基づいて、該特徴点の各々の位置から前記撮影装置までの各々の距離を計算する距離計算手段と、前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段と、前記計数手段で計数された数が所定数を越えている場合に、前記一方の撮影画像または前記他方の撮影画像に基づいて前記撮影装置のレンズ歪みを示すレンズ歪みパラメータを計算するパラメータ計算手段と、を有する。
【００１３】
このような構成によれば、直線状部分の特徴点が所定数を越えて所定範囲内の距離領域に分布する撮影画像を用いてレンズ歪みパラメータを計算することができるため、直線状部分を備えた物体が所定範囲内の距離領域に存在していない撮影画像を用いてレンズ歪みパラメータを計算する場合に比べて、該所定範囲内の距離領域を使用目的とする撮影装置のレンズ歪みパラメータの計算精度が向上する。
【００１４】
請求項２の発明は、請求項１に記載のパラメータ計算装置において、前記計数手段で計数された数が所定数を越えていない場合に、前記撮影装置で連続して撮影された新たな撮影画像から新たに前記特徴点および前記対応点が検出されるように前記検出手段を制御する制御手段、を更に有する。
【００１５】
このような構成によれば、直線状部分の特徴点が所定数を越えて所定範囲内の距離領域に分布する撮影画像が得られるまで、撮影装置で新たに撮影した撮影画像から特徴点及び対応点を検出し、特徴点の距離を計算する処理が繰り返されるため、最終的に、所定範囲内の距離領域に直線状部分の特徴点が所定数を超えて存在する撮影画像が選択され、該撮影画像によりレンズ歪みパラメータを計算することができ、計算精度が向上する。
【００１６】
請求項３の発明のパラメータ計算装置は、移動体に搭載された２台の撮影装置の一方の撮影装置で撮影された直線状部分を備えた物体の画像を含む撮影画像における直線状部分の画像上の特徴点と、前記他方の撮影装置で撮影された撮影画像に含まれる該特徴点に対応する対応点とを検出する検出手段と、前記検出手段で検出された特徴点および対応点に基づいて、該特徴点の各々の位置から前記一方の撮影装置までの各々の距離を計算する距離計算手段と、前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段と、前記計数手段で計数された数が所定数を越えている場合に、前記特徴点が検出された撮影画像に基づいて前記一方の撮影装置のレンズ歪みを示すレンズ歪みパラメータを計算するパラメータ計算手段と、を有する。
【００１７】
このような構成によれば、直線状部分の特徴点が所定数を超えて所定範囲内の距離領域に分布する撮影画像を用いてレンズ歪みパラメータを計算することができるため、直線状部分を備えた物体が所定範囲内の距離領域に存在していない撮影画像を用いてレンズ歪みパラメータを計算する場合に比べて、該所定範囲内の距離領域を使用目的とする撮影装置のレンズ歪みパラメータの計算精度が向上する。
【００１８】
請求項４の発明は、請求項３に記載のパラメータ計算装置において、前記パラメータ計算手段は、前記計数手段で計数された数が所定数を越えている場合に、更に、前記対応点が検出された撮影画像に基づいて前記他方の撮影装置のレンズ歪みパラメータを計算する。
【００１９】
このような構成によれば、該所定範囲内の距離領域を使用目的とする他方の撮影装置についても精度高くレンズ歪みパラメータを計算することができる。
【００２０】
請求項５の発明は、請求項３または請求項４に記載のパラメータ計算装置において、前記計数手段で計数された数が所定数を越えていない場合に、前記２台の撮影装置で撮影された新たな撮影画像から新たに前記特徴点および前記対応点が検出されるように前記検出手段を制御する制御手段、を更に有する。
【００２１】
このような構成によれば、直線状部分の特徴点が所定数を越えて所定範囲内の距離領域に分布する撮影画像が得られるまで、撮影装置で新たに撮影した撮影画像から特徴点及び対応点を検出し、特徴点の距離を計算する処理が繰り返されるため、最終的に、所定範囲内の距離領域に直線状部分の特徴点が所定数を超えて存在する撮影画像が選択され、該撮影画像によりレンズ歪みパラメータを計算することができ、計算精度が向上する。
【００２２】
請求項６の発明のパラメータ計算装置は、移動体に搭載された撮影装置で連続して撮影された３枚以上の撮影画像の全てに存在し該３枚以上の撮影画像間で互いに対応する特徴点を検出する検出手段と、前記検出手段で検出された特徴点に基づいて、該特徴点の各々の位置から前記撮影装置までの各々の距離を計算する距離計算手段と、前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段と、前記計数手段で計数された数が所定数を越えている場合に、前記３枚以上の撮影画像における前記所定範囲内の距離領域に分布する特徴点に基づいて、前記撮影装置の焦点距離を示す焦点距離パラメータ、前記撮影装置のレンズ中心を示すレンズ中心パラメータ、および前記撮影装置で撮影される撮影画像のスキューを示すスキューパラメータを計算するパラメータ計算手段と、を有する。
【００２３】
このような構成によれば、所定範囲内の距離領域に分布する特徴点の数が所定数を超えている場合に、該所定範囲内の距離領域に分布する特徴点を用いて焦点距離パラメータ等を計算することができるため、特徴点が該所定範囲内の距離領域に十分に分布していない撮影画像を用いて焦点距離パラメータ等を計算する場合に比べて、該所定範囲内の距離領域を使用目的とする撮影装置のパラメータの計算精度が向上する。
【００２４】
請求項７の発明は、請求項６に記載のパラメータ計算装置において、前記計数手段で計数された数が前記所定数以下の場合に、前記撮影装置で連続して撮影された新たな３枚以上の撮影画像から新たに前記特徴点が検出されるように前記検出手段を制御する制御手段、を更に有する。
【００２５】
このような構成によれば、所定数を越える特徴点が所定範囲内の距離領域に分布する撮影画像が得られるまで、撮影装置で新たに撮影した撮影画像から特徴点を検出し、特徴点の距離を計算する処理が繰り返されるため、最終的に、所定範囲内の距離領域に分布する特徴点が十分に存在する撮影画像が選択されて、該所定範囲内の距離領域に分布する特徴点から焦点距離パラメータ等を計算することができ、計算精度が向上する。
【００２６】
請求項８の発明のパラメータ計算装置は、移動体に搭載された２台の撮影装置の一方で連続して撮影された３枚以上の撮影画像の全てに存在し該３枚以上の撮影画像間で互いに対応する特徴点を検出すると共に、２台の撮影装置の他方で撮影された３枚以上の撮影画像に含まれる前記特徴点に対応する対応点とを検出する検出手段と、前記検出手段で検出された特徴点および対応点に基づいて、該特徴点の各々の位置から前記一方の撮影装置までの各々の距離を計算する距離計算手段と、前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段と、前記計数手段で計数された数が所定数を越えている場合に、前記一方の撮影装置で撮影された前記３枚以上の撮影画像における前記所定範囲内の距離領域に分布する特徴点に基づいて、前記一方の撮影装置の焦点距離を示す焦点距離パラメータ、前記一方の撮影装置のレンズ中心を示すレンズ中心パラメータ、および前記一方の撮影装置で撮影される撮影画像のスキューを示すスキューパラメータを計算するパラメータ計算手段と、を有する。
【００２７】
このような構成によれば、所定範囲内の距離領域に分布する特徴点の数が所定数を超えている場合に、該所定範囲内の距離領域に分布する特徴点を用いて焦点距離パラメータ等を計算することができるため、特徴点が該所定範囲内の距離領域に十分に分布していない撮影画像を用いて焦点距離パラメータ等を計算する場合に比べて、該所定範囲内の距離領域を使用目的とする撮影装置のパラメータの計算精度が向上する。
【００２８】
請求項９の発明は、請求項８に記載のパラメータ計算装置において、  前記パラメータ計算手段は、前記計数手段で計数された数が所定数を越えている場合に、更に、前記他方の撮影装置で撮影された前記３枚以上の撮影画像における前記所定範囲内の距離領域に分布する特徴点に対応する対応点に基づいて、前記他方の撮影装置の焦点距離を示す焦点距離パラメータ、前記他方の撮影装置のレンズ中心を示すレンズ中心パラメータ、および前記他方の撮影装置で撮影される撮影画像のスキューを示すスキューパラメータを計算する。
【００２９】
このような構成によれば、該所定範囲内の距離領域を使用目的とする他方の撮影装置についても精度高く焦点距離パラメータ等を計算することができる。
【００３０】
請求項１０の発明は、請求項８または請求項９に記載のパラメータ計算装置において、前記計数手段で計数された数が所定数を越えていない場合に、前記一方の撮影装置で３枚以上連続して撮影された新たな撮影画像から新たに前記特徴点が検出されると共に、前記他方の撮影装置で３枚以上連続して撮影された新たな撮影画像から新たに前記対応点が検出されるように前記検出手段を制御する制御手段、を更に有する。
【００３１】
このような構成によれば、所定数を越える特徴点が所定範囲内の距離領域に分布する撮影画像が得られるまで、２台の撮影装置の各々で新たに撮影した３枚以上の撮影画像から特徴点、対応点を検出し、特徴点の距離を計算する処理が繰り返されるため、最終的に、所定範囲内の距離領域に特徴点が十分に存在する撮影画像が選択されて、該所定範囲内の距離領域に分布する特徴点から焦点距離パラメータ等を計算することができ、計算精度が向上する。
【００３２】
請求項１１の発明のパラメータ計算装置は、移動体に搭載された２台の撮影装置の一方で撮影された撮影画像から特徴点を検出すると共に、前記２台の撮影装置の他方で撮影された撮影画像から前記特徴点に対応する対応点を検出する検出手段と、前記検出手段で検出された特徴点および対応点に基づいて、前記検出された各特徴点の位置から前記一方の撮影装置までの各々の距離を計算する距離計算手段と、前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段と、前記計数手段で計数された数が所定数を越えている場合に、前記所定範囲内の距離領域に分布する特徴点および前記所定範囲内の距離領域に分布する特徴点に対応する対応点に基づいて前記２台の撮影装置の位置及び姿勢の相対関係を示す相対関係パラメータを計算するパラメータ計算手段と、を有する。
【００３３】
このような構成によれば、所定範囲内の距離領域に分布する特徴点の数が所定数を超えている撮影画像の特徴点とこれに対応する対応点とを用いて相対関係パラメータを計算することができるため、所定範囲内の距離領域に特徴点が十分に分布していない撮影画像を用いて相対関係パラメータを計算する場合に比べて、該所定範囲内の距離領域を使用目的とする撮影装置の相対関係パラメータの計算精度が向上する。
【００３４】
請求項１２の発明は、請求項１１に記載のパラメータ計算装置において、  前記計数手段で計数された数が所定数を越えていない場合に、前記２台の撮影装置で同時に撮影された新たな撮影画像から新たに前記特徴点および前記対応点が検出されるように前記検出手段を制御する制御手段、を更に有する。
【００３５】
このような構成によれば、所定数を越える特徴点が所定範囲内の距離領域に分布する撮影画像が得られるまで、２台の撮影装置で新たに撮影した撮影画像から特徴点、対応点を検出し、特徴点の距離を計算する処理が繰り返されるため、最終的に、所定範囲内の距離領域に特徴点が十分に存在する撮影画像が選択されて、該所定範囲内の距離領域に分布する特徴点、対応点から相対関係パラメータ等を計算することができ、計算精度が向上する。
【００３６】
請求項１３の発明のパラメータ計算システムは、請求項１〜請求項５のいずれか１項記載のパラメータ計算装置と、請求項６〜請求項１０のいずれか１項記載のパラメータ計算装置と、を備えている。
【００３７】
このような構成によれば、直線状部分の特徴点の各々が所定数を超えて所定範囲内の距離領域に分布する撮影画像を用いてレンズ歪みパラメータを計算することができると共に、所定範囲内の距離領域に分布する特徴点の数が所定数を超えている場合に、該所定範囲内の距離領域に分布する特徴点を用いて焦点距離パラメータ等を計算することができるため、該所定範囲内の距離領域を使用目的とする撮影装置のパラメータの計算精度が向上する。
【００３８】
請求項１４の発明のパラメータ計算システムは、請求項１〜請求項５のいずれか１項記載のパラメータ計算装置と、請求項６〜請求項１０のいずれか１項記載のパラメータ計算装置と、請求項１１または請求項１２に記載のパラメータ計算装置と、を備えている。
【００３９】
このような構成によれば、直線状部分の特徴点の各々が所定数を超えて所定範囲内の距離領域に分布する撮影画像を用いてレンズ歪みパラメータを計算することができると共に、所定範囲内の距離領域に分布する特徴点の数が所定数を超えている場合に、該所定範囲内の距離領域に分布する特徴点を用いて焦点距離パラメータ等や相対関係パラメータ等を計算することができるため、該所定範囲内の距離領域を使用目的とする撮影装置のパラメータの計算精度が向上する。
【００４０】
請求項１５の発明のプログラムは、コンピュータを、移動体に搭載された撮影装置で連続して撮影された直線状部分を備えた物体の画像を含む２枚の撮影画像のうち一方の撮影画像における直線状部分の画像上の特徴点と、他方の撮影画像に含まれる該特徴点に対応する対応点とを検出する検出手段、前記検出手段で検出された特徴点および対応点に基づいて、該特徴点の各々の位置から前記撮影装置までの各々の距離を計算する距離計算手段、前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段、および前記計数手段で計数された数が所定数を越えている場合に、前記一方の撮影画像または前記他方の撮影画像に基づいて前記撮影装置のレンズ歪みを示すレンズ歪みパラメータを計算するパラメータ計算手段、として機能させるためのプログラムである。
【００４１】
このプログラムにより機能するコンピュータも、請求項１に記載のパラメータ計算装置と同様に作用するため、所定範囲内の距離領域を使用目的とする撮影装置のレンズ歪みパラメータの計算精度が向上する。
【００４２】
請求項１６の発明のプログラムは、コンピュータを、移動体に搭載された２台の撮影装置の一方の撮影装置で撮影された直線状部分を備えた物体の画像を含む撮影画像における直線状部分の画像上の特徴点と、前記他方の撮影装置で撮影された撮影画像に含まれる該特徴点に対応する対応点とを検出する検出手段、前記検出手段で検出された特徴点および対応点に基づいて、該特徴点の各々の位置から前記一方の撮影装置までの各々の距離を計算する距離計算手段、前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段、および前記計数手段で計数された数が所定数を越えている場合に、前記特徴点が検出された撮影画像に基づいて前記一方の撮影装置のレンズ歪みを示すレンズ歪みパラメータを計算するパラメータ計算手段、として機能させるためのプログラムである。
【００４３】
このプログラムにより機能するコンピュータも、請求項３に記載のパラメータ計算装置と同様に作用するため、所定範囲内の距離領域を使用目的とする撮影装置のレンズ歪みパラメータの計算精度が向上する。
【００４４】
請求項１７の発明のプログラムは、コンピュータを、移動体に搭載された撮影装置で連続して撮影された３枚以上の撮影画像の全てに存在し該３枚以上の撮影画像間で互いに対応する特徴点を検出する検出手段、前記検出手段で検出された特徴点に基づいて、該特徴点の各々の位置から前記撮影装置までの各々の距離を計算する距離計算手段、前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段、および前記計数手段で計数された数が所定数を越えている場合に、前記３枚以上の撮影画像における前記所定範囲内の距離領域に分布する特徴点に基づいて、前記撮影装置の焦点距離を示す焦点距離パラメータ、前記撮影装置のレンズ中心を示すレンズ中心パラメータ、および前記撮影装置で撮影される撮影画像のスキューを示すスキューパラメータを計算するパラメータ計算手段、として機能させるためのプログラムである。
【００４５】
このプログラムにより機能するコンピュータも、請求項６に記載のパラメータ計算装置と同様に作用するため、所定範囲内の距離領域を使用目的とする撮影装置の焦点距離パラメータ等の計算精度が向上する。
【００４６】
請求項１８の発明のプログラムは、コンピュータを、移動体に搭載された２台の撮影装置の一方で連続して撮影された３枚以上の撮影画像の全てに存在し該３枚以上の撮影画像間で互いに対応する特徴点を検出すると共に、２台の撮影装置の他方で撮影された３枚以上の撮影画像に含まれる前記特徴点に対応する対応点とを検出する検出手段、前記検出手段で検出された特徴点および対応点に基づいて、該特徴点の各々の位置から前記一方の撮影装置までの各々の距離を計算する距離計算手段、前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段、および前記計数手段で計数された数が所定数を越えている場合に、前記一方の撮影装置で撮影された前記３枚以上の撮影画像における前記所定範囲内の距離領域に分布する特徴点に基づいて、前記一方の撮影装置の焦点距離を示す焦点距離パラメータ、前記一方の撮影装置のレンズ中心を示すレンズ中心パラメータ、および前記一方の撮影装置で撮影される撮影画像のスキューを示すスキューパラメータを計算するパラメータ計算手段、として機能させるためのプログラムである。
【００４７】
このプログラムにより機能するコンピュータも、請求項８に記載のパラメータ計算装置と同様に作用するため、所定範囲内の距離領域を使用目的とする撮影装置の焦点距離パラメータ等の計算精度が向上する。
【００４８】
請求項１９の発明のプログラムは、コンピュータを、移動体に搭載された２台の撮影装置の一方で撮影された撮影画像から特徴点を検出すると共に、前記２台の撮影装置の他方で撮影された撮影画像から前記特徴点に対応する対応点を検出する検出手段、前記検出手段で検出された特徴点および対応点に基づいて、前記検出された各特徴点の位置から前記一方の撮影装置までの各々の距離を計算する距離計算手段、前記距離計算手段の計算結果に基づき、所定範囲内の距離領域に分布する特徴点の数を計数する計数手段、および前記計数手段で計数された数が所定数を越えている場合に、前記所定範囲内の距離領域に分布する特徴点および前記所定範囲内の距離領域に分布する特徴点に対応する対応点に基づいて前記２台の撮影装置の位置及び姿勢の相対関係を示す相対関係パラメータを計算するパラメータ計算手段、として機能させるためのプログラムである。
【００４９】
このプログラムにより機能するコンピュータも、請求項１１に記載のパラメータ計算装置と同様に作用するため、所定範囲内の距離領域を使用目的とする撮影装置の相対関係パラメータの計算精度が向上する。
【発明の効果】
【００５０】
以上説明したように、本発明によれば、移動体に搭載された撮影装置の校正に必要なパラメータを精度高く計算することができる、という優れた効果を奏する。
【発明を実施するための最良の形態】
【００５１】
以下、図面を参照して本発明の実施の形態について詳細に説明する。
【００５２】
［第１の実施の形態］
【００５３】
図１は、本発明のパラメータ計算装置としての機能を兼ね備えた本実施の形態に係る周辺環境認識装置の構成を示すブロック図である。この周辺環境認識装置は、第１カメラ１０、第２カメラ１２、およびコンピュータ２０を備えている。
【００５４】
第１カメラ１０および第２カメラ１２は、車両等の移動体に搭載され、車両周辺を撮影して撮影画像を生成する。
【００５５】
コンピュータ２０は、車両周辺の環境を認識すると共に、車両周辺の環境を認識するに際し、第１カメラ１０および第２カメラ１２の校正も行なう。
【００５６】
車両周辺の環境を認識するとは、車両の周囲（例えば、車両前方や後方）に存在している対象物の位置や距離等の状況を認識することをいい、第１カメラ１０および第２カメラ１２で撮影されて生成された撮影画像に基づいて例えば三角測量の原理により対象物の位置や距離を求める。例えば、２台のカメラの撮影画像について輝度分布パターンを求め、これにより対象物を検出し、更に、２枚の撮影画像間で該検出された対象物の位置ずれを求めて、三角測量の原理によって対象物の３次元位置を計算する。こうした技術は周知技術であるため、ここでのこれ以上の説明を省略する。
【００５７】
また、第１カメラ１０および第２カメラ１２の校正は、外部パラメータ、および内部パラメータを計算することにより行なわれる。ここで、外部パラメータは、第１カメラ１０および第２カメラ１２の２台のカメラの相対位置を示す並進パラメータ及び２台のカメラの光軸の相対的な向き（姿勢）を示す回転パラメータをいう。
【００５８】
図２は、外部パラメータを説明する説明図である。並進パラメータは、第１カメラ１０の中心を原点（０，０，０）としたときの第２カメラ１２の中心の位置を示し、（ｘ、ｙ、ｚ）と記述する。また、回転パラメータは、第１カメラ１０の座標系に対して第２カメラ１２の座標系のなす角度を、ピッチ、ヨー、ロール角によって表したものである。なお、図２に示すように、第１カメラ１０及び第２カメラ１２の座標系は、第１カメラ１０及び第２カメラ１２の撮影方向をＺ軸とし、このＺ軸に直交する２軸をＸ軸及びＹ軸とする３次元直交座標系である。
【００５９】
また、内部パラメータは、第１カメラ１０および第２カメラ１２の各々のレンズ歪を示すパラメータ、焦点距離を示すパラメータ、レンズ中心を示すパラメータ、及び第１カメラ１０、第２カメラ１２で撮影される撮影画像のスキューを示すパラメータをいう。なお、レンズ歪みを示すパラメータは、例えば歪曲収差の特性を示す値とすることができる。また、スキューパラメータは、撮影画像の縦軸と横軸のなす角を示す値とすることができる。
【００６０】
上記車両周辺の環境を認識する際には、事前に外部パラメータ、内部パラメータを計算して２台のカメラを校正する必要がある。本実施の形態では、既に内部パラメータは所定の方法（例えば、走行中の撮影画像を用いずに公知のキャリブレーションボードを用いた方法、或いは、後述の第３の実施の形態で説明する手法等）により既知であるものとする。外部パラメータの計算については後述する。
【００６１】
コンピュータ２０は、データのワークエリアであるＲＡＭ（Random Access Memory）２６と、車両周辺の環境を認識する認識処理を実行するためのプログラムや第１カメラ１０および第２カメラ１２を校正する校正処理を実行するためのプログラムが記憶されているＲＯＭ（Read Only Memory）２４と、これらプログラムに従って演算処理を実行するＣＰＵ（Central Processing Unit）２２とを備えている。
【００６２】
なお、第１カメラ１０や第２カメラ１２で撮影されて得られた撮影画像を示す画像信号は、Ａ／Ｄ変換されて、ＲＡＭ２６に記憶される。ここでは、Ａ／Ｄ変換のための変換器については図示を省略する。ＣＰＵ２２は、ＲＡＭ２６に記憶された画像信号に基づいて、認識処理や校正処理を行なう。
【００６３】
以上のように構成されたコンピュータ２０は、ＲＯＭ２４に記憶されたプログラムにより図３に示す校正処理ルーチンを実行することによって、第１カメラ１０および第２カメラ１２の校正を行なう。
【００６４】
ステップ１００では、ＣＰＵ２２は、第１カメラ１０および第２カメラ１２で同時に撮影されて得られた撮影画像を示す画像信号を取込んで、ＲＡＭ２６に記憶する。以下、第１カメラ１０で撮影された撮影画像を基準画像と呼称し、第２カメラ１２で撮影された撮影画像を参照画像と呼称する。
【００６５】
ステップ１０２では、ＣＰＵ２２は、ＲＡＭ２６に記憶され第１カメラ１０で撮影されて得られた基準画像を示す画像信号に基づいて、該基準画像の特徴点を検出する。特徴点とは、第１カメラ１０で撮影された基準画像と第２カメラ１２で撮影された参照画像との対応を容易にとることができる特徴的な点である。例えば、周知のHarrisオペレータにより２次元的に濃淡変化の勾配値が大きくなる画素を検出することにより、特徴点を検出する。図４（Ａ）に特徴点の検出結果の一例を示す。図４（Ａ）には基準画像が図示されており、○で示される部分が検出された特徴点である。
【００６６】
ステップ１０４では、ＣＰＵ２２は、検出した特徴点の画像座標と、第２カメラ１２で撮影されて得られた参照画像を示す画像信号とに基づいて、参照画像中から基準画像の特徴点に対応する対応点を検出する。ここで用いられる参照画像は、上記特徴点を検出した基準画像の撮影と同時に撮影された撮影画像とする。対応点は、例えば、Lucas-Kanade法を用いて検出する。Lucas-Kanade法は、基準画像中の特徴点とその周囲の点の輝度は、参照画像中の対応点とその周囲の点の輝度と同等であるという仮定を利用した方法である。図４（Ｂ）に対応点の検出結果の一例を示す。図４（Ｂ）には参照画像が図示されており、○で示される部分が検出された対応点である。
【００６７】
ステップ１０６では、ＣＰＵ２２は、上記検出した特徴点の画像座標、対応点の画像座標、および既知の内部パラメータに基づいて、外部パラメータを仮計算する。特徴点の画像座標とそれに対応する対応点の画像座標の組み合わせから外部パラメータを計算する手法としては、公知の方法を用いる（例えば、R.Hartley, A.Zisserman, "Multiple View Geometry in Computer Vision", CAMBRIDGE UNIVERSITY PRESS, 2003)。
【００６８】
ステップ１０８では、ＣＰＵ２２は、特徴点の画像座標、対応点の画像座標、仮計算された外部パラメータ、および既知の内部パラメータに基づいて、特徴点の距離分布を計算する。ここでは、公知の方法（例えば、R.Hartley, A.Zisserman, "Multiple View Geometry in Computer Vision", CAMBRIDGE UNIVERSITY PRESS, 2003)を用いて、第１カメラ１０から各特徴点の３次元座標位置までの距離を計算する。図５（Ａ）に各特徴点の距離分布の一例を示すヒストグラムを示す。
【００６９】
ステップ１１０では、ＣＰＵ２２は、２台のカメラの使用目的に応じた距離領域に存在する特徴点の数をカウントする。本実施の形態では、前述の認識処理での認識範囲に存在する特徴点の数をカウントする。
【００７０】
ステップ１１２では、ＣＰＵ２２は、カウントした特徴点数が予め定められた閾値を越えているか否かを判断する。第１カメラ１０および第２カメラ１２の使用目的とする距離領域に存在する特徴点数が閾値を越えていれば、その距離領域に十分な数の特徴点が存在すると判定する。なお、判定に用いる閾値は、特徴点の画像座標とそれに対応する対応点の画像座標の組から精度良く外部パラメータを計算するために必要な数を予め設定しておく。
【００７１】
図５（Ｂ）は、図５（Ａ）の距離分布における使用目的の距離領域の一例と、該距離領域に存在する特徴点の分布の一例を示すヒストグラムである。例えば、閾値を１００に設定しておいた場合であって、２台のカメラの使用目的の距離領域が０〜５０ｍである場合に、この領域の特徴点の合計数（図５（Ｂ）の斜線領域）が１００点を越えれば、使用目的の距離領域に十分な数の特徴点が存在すると判定する。
【００７２】
ステップ１１２で、肯定判定した場合には、ステップ１１４に進み、ＣＰＵ２２は、検出された特徴点のうち、２台のカメラの使用目的の距離領域のみに分布した特徴点の画像座標、該特徴点に対応する対応点の画像座標、および既知の内部パラメータを用いて公知の方法（例えば、R.Hartley, A.Zisserman, "Multiple View Geometry in Computer Vision", CAMBRIDGE UNIVERSITY PRESS, 2003)を利用することにより外部パラメータを再計算する。
【００７３】
また、ステップ１１２で、否定判定した場合には、ステップ１００に戻り、これまでの処理で用いた基準画像および参照画像を用いず、第１カメラ１０および第２カメラ１２により撮影された別フレームの撮影画像を新たに取込んで用い、上記処理を繰り返す。結果として、使用目的の距離領域に特徴点が十分に存在する基準画像、参照画像が選択され、これらから外部パラメータが計算される。
【００７４】
以上説明したように、２台のカメラの使用目的に応じた距離に特徴点が十分に分布する画像を選択し、該画像において２台のカメラの使用目的に応じた距離に分布する特徴点および対応点の画像座標を用いて２台のカメラの外部パラメータを計算するようにしたため、２台のカメラの使用目的に応じた距離に特徴点が十分に存在していない画像を用いる場合に比べて、校正精度を向上させることができる。
【００７５】
［第２の実施の形態］
【００７６】
第１の実施の形態では、内部パラメータを既知として、外部パラメータのみを計算する場合を例に挙げて説明したが、内部パラメータも、一般走行環境の撮影画像に基づいて計算し、更に、該計算した内部パラメータを用いて外部パラメータを計算するようにしてもよい。以下、このように内部パラメータおよび外部パラメータを計算する周辺環境認識装置について説明する。
【００７７】
本実施の形態で例示する周辺環境認識装置の構成は、第１の実施の形態と同様であるため、説明を省略する。以下、本実施の形態の周辺環境認識装置による第１カメラ１０及び第２カメラ１２の校正処理について、説明する。
【００７８】
図６は、本実施の形態に係る校正処理ルーチンの流れを示すフローチャートである。
【００７９】
ステップ２００では、撮影画像から内部パラメータ（レンズ歪みのパラメータ）の仮計算を行なう。ステップ２０２では、ステップ２００で仮計算されたレンズ歪みパラメータおよび撮影画像から、レンズ歪み以外の内部パラメータ（焦点距離、レンズ中心、スキュー）の仮計算を行なう。以下、レンズ歪み以外の内部パラメータを「その他の内部パラメータ」と呼称する。ステップ２０４では、撮影画像の特徴点および対応点の画像座標と、ステップ２００，２０２で仮計算された内部パラメータとを用いて外部パラメータの仮計算を行なう。
【００８０】
ステップ２０６では、撮影画像に含まれる直線状部分を備えた物体の画像上の特徴点および対応点の画像座標と、ステップ２００，２０２で仮計算された内部パラメータと、ステップ２０４で仮計算された外部パラメータとを用いて、第１カメラ１０から該特徴点までの距離を求め、特徴点が第１カメラ１０、第２カメラ１２の使用目的の距離にある直線状部分を備えた物体の画像を含む撮影画像からレンズ歪みパラメータを再計算する。
【００８１】
ステップ２０８では、撮影画像の特徴点および対応点の画像座標と、ステップ２０６で再計算されたレンズ歪みパラメータと、ステップ２０２で仮計算されたその他の内部パラメータと、ステップ２０４で仮計算された外部パラメータとを用いて、第１カメラ１０（あるいは第２カメラ１２）から特徴点までの距離を求め、第１カメラ１０、第２カメラ１２の使用目的の距離にある特徴点を用いてその他の内部パラメータを再計算する。
【００８２】
ステップ２１０では、撮影画像の特徴点および対応点の画像座標と、ステップ２０６で再計算されたレンズ歪みパラメータと，ステップ２０８で再計算されたその他の内部パラメータと、ステップ２０４で仮計算された外部パラメータとを用いて、第１カメラ１０（第２カメラ１２）から特徴点までの距離を求め、第１カメラ１０、第２カメラ１２の使用目的の距離にある特徴点を用いて外部パラメータを再計算する。
【００８３】
以下では、上記ステップ２００〜２１０までの各処理について、図７〜図１４を参照して詳細に説明する。
【００８４】
図７は、ステップ２００の内部パラメータ（レンズ歪み）の仮計算処理の流れを示すフローチャートである。本実施の形態では、第１カメラ１０、第２カメラ１２の順に、レンズ歪みのパラメータの仮計算を行なうものとする。
【００８５】
ステップ２２０では、ＣＰＵ２２は、第１カメラ１０及び第２カメラ１２のいずれか一方のカメラで撮影されて得られた撮影画像を示す画像信号を取込んで、ＲＡＭ２６に記憶する。最初は、第１カメラ１０で撮影された撮影画像の画像信号を取込む。
【００８６】
ステップ２２２では、ＣＰＵ２２は、ＲＡＭ２６に記憶された撮影画像の画像信号に基づいて、該撮影画像に直線状部分を含む物体（例えば、標識の柱、白線が引かれた道路など）の画像が存在するか否かを、例えば、Hough変換などの公知の手法を用いて判断する。本来直線状であるはずの部分がどれだけ歪んで撮影されているかを検出してレンズ歪みを計算するためである。なお、レンズ歪みの計算に用いる撮影画像に含まれる物体の形状は、予め形状がわかっていれば直線状でなくともよいが、本実施の形態では走行中の撮影画像からレンズ歪みパラメータを計算するため、予め形状がわかっているものとして直線状部分を含む物体を検出する。なお、以下では直線状部分を含む物体を単に「直線状の物体」と呼称する。
【００８７】
ステップ２２２で、ＣＰＵ２２は、直線状の物体の画像が存在しないと判断した場合には、ステップ２２０に戻り、新たに撮影されて得られた撮影画像の画像信号を取込んで、上記処理を繰り返す。
【００８８】
一方、ステップ２２２で、ＣＰＵ２２は、直線状の物体の画像が存在すると判断した場合には、ステップ２２４に移行する。ステップ２２４では、ＣＰＵ２２は、該撮影画像の画像信号に基づき、公知の手法（例えば、R.Hartley, A.Zisserman, "Multiple View Geometry in Computer Vision", CAMBRIDGE UNIVERSITY PRESS, 2003.参照。）を用いて、本来直線状であるはずの物体がどれだけ歪んで撮影されているかを検出し、第１カメラ１０のレンズ歪のパラメータを仮計算する。
【００８９】
ステップ２２６では、ＣＰＵ２２は、全カメラのレンズ歪みパラメータの仮計算が終了したか否かを判定する。第１カメラ１０の仮計算が終了した段階では、第２カメラ１２のレンズ歪みのパラメータの仮計算が未処理であるためここでは否定判断し、ステップ２２０に戻ってステップ２２０〜２２４の処理を第２カメラ１２について繰り返し、第２カメラ１２についても、上記第１カメラ１０と同様にレンズ歪みのパラメータを仮計算する。
【００９０】
ステップ２２４で第２カメラ１２のレンズ歪みパラメータの仮計算が終了した後は、ステップ２２６で肯定判断され、処理が終了する。
【００９１】
図８は、ステップ２０２のその他の内部パラメータの仮計算処理の流れを示すフローチャートである。本実施の形態でも、第１カメラ１０、第２カメラ１２の順に、その他の内部パラメータの仮計算を行なうものとする。
【００９２】
ステップ２４０では、ＣＰＵ２２は、第１カメラ１０及び第２カメラ１２のいずれか一方のカメラで、車両の運転中に連続して撮影されて得られた３枚の撮影画像を示す画像信号の各々を取込んで、ＲＡＭ２６に記憶する。最初は、第１カメラ１０で撮影された３枚の撮影画像の画像信号を取込む。図９（Ａ）〜（Ｃ）に、３枚の撮影画像の一例を示す。
【００９３】
なお、ここで撮影され記憶される３枚の撮影画像は、車両の走行中に撮影したものか、ほとんど移動しない状態で車体の向きのみが変化したときに撮影したものか、或いは、車両が全く動かない状態で撮影したものであって、撮影画像に移動したり回転したりする対象物が含まれているものである。その他の内部パラメータを計算するには、後述するように撮影画像に含まれる特徴点が、３枚の撮影画像間で所定数以上対応していることが必要であるため、図９（Ａ）〜（Ｃ）に示すように、撮影される周辺環境が極端に変化しない程度の短い時間間隔で連続して撮影したものであることが必要である。
【００９４】
ステップ２４２では、ＣＰＵ２２は、ＲＡＭ２６に記憶された３枚の撮影画像の画像信号のうち、最初に撮影された（１枚目の）撮影画像の画像信号に基づいて、該撮影画像の特徴点を検出する。特徴点は、他の２枚の撮影画像との対応を容易にとることができる特徴的な部分を示す点であって、例えば第１の実施の形態と同様に、周知のHarrisオペレータにより２次元的に濃淡変化の勾配値が大きくなる画素を特徴点として検出する。更に、ＣＰＵ２２は、ＲＡＭ２６に記憶された３枚の撮影画像の画像信号に基づいて、２枚目、３枚目の撮影画像において１枚目の特徴点に対応する特徴点をLucas-Kanade法により探索する。
【００９５】
ステップ２４４では、ＣＰＵ２２は、ＲＡＭ２６に記憶された３枚の撮影画像の画像信号に基づいて、上記検出された特徴点のうち、３枚の撮影画像の全てに写っていて、かつ、画像間でお互いに対応している特徴点をLucas-Kanade法により検出する。ここで検出された３枚の撮影画像の特徴点の集合を特徴点集合Ｓと呼称する。図９（Ａ）〜（Ｃ）に、各撮影画像における特徴点集合Ｓの各特徴点を●で示す。
【００９６】
ステップ２４８では、ＣＰＵ２２は、特徴点集合Ｓの特徴点の数が閾値（例えば３０点程度）を越えているか否かを判断する。ＣＰＵ２２は、特徴点集合Ｓの特徴点の数が閾値以下であると判断した場合には、その他の内部パラメータを計算するために十分な特徴点が存在しないとして、ステップ２４０に戻り、新たに撮影された撮影画像の画像信号を取込む。
【００９７】
一方、ステップ２４８で、ＣＰＵ２２は、特徴点集合Ｓの特徴点の数が閾値を越えていると判断した場合には、ステップ２５０で、特徴点集合Ｓの各特徴点の、各撮影画像における画像座標と、ステップ２００で仮計算したレンズ歪みパラメータとに基づいて、公知の手法（例えば、Q. T. Luong, O. D. Faugeras, "Self-calibration of a moving camera from point correspondences and fundamental matrices", IJCV, Vol.22, Num. 3, pp.261-289, 1997.参照。）を用いて、焦点距離、レンズ中心、スキューを仮計算する。
【００９８】
ステップ２５２では、ＣＰＵ２２は、全カメラについて、その他の内部パラメータの仮計算が終了したか否かを判定する。第１カメラ１０の仮計算が終了した段階では、第２カメラ１２の仮計算が未処理であるためここでは否定判断し、ステップ２４０に戻ってステップ２４０〜２５０の処理を第２カメラ１２について繰り返し、第２カメラ１２についても「その他の内部パラメータ」を仮計算する。
【００９９】
ステップ２５０で第２カメラ１２の仮計算が終了した後は、ステップ２５２で肯定判断され、処理が終了する。
【０１００】
なお、本実施の形態では、３枚の撮影画像を用いてその他の内部パラメータの仮計算を行なったが、撮影画像は３枚以上であればよく、３枚のみに限定されない。
【０１０１】
図１０は、ステップ２０４の外部パラメータの仮計算処理の流れを示すフローチャートである。ステップ２６０〜２６２までの処理は、第１の実施の形態における図３を用いて説明したステップ１００〜１０４と同じであるため説明を省略する。
【０１０２】
ステップ２６４では、ＣＰＵ２２は、ステップ２００、２０２で仮計算された内部パラメータ、および上記検出した特徴点の画像座標および対応点の画像座標に基づき、公知の方法（例えば、R.Hartley, A.Zisserman, "Multiple View Geometry in Computer Vision", CAMBRIDGE UNIVERSITY PRESS, 2003.参照)を用いて外部パラメータを仮計算する。
【０１０３】
図１１は、ステップ２０６の内部パラメータ（レンズ歪み）の再計算処理の流れを示すフローチャートである。
【０１０４】
ステップ２８０では、ＣＰＵ２２は、第１カメラ１０および第２カメラ１２で同時に撮影されて得られた撮影画像を示す画像信号を取込んで、ＲＡＭ２６に記憶する。以下、第１カメラ１０で撮影された撮影画像を基準画像と呼称し、第２カメラ１２で撮影された撮影画像を参照画像と呼称する。
【０１０５】
ステップ２８２では、ＣＰＵ２２は、第１カメラ１０で撮影されＲＡＭ２６に記憶された基準画像を示す画像信号に基づいて、該基準画像に直線状の物体の画像が存在するか否かを、例えばHough変換などの公知の手法を用いて判断する。
【０１０６】
ステップ２８２で、ＣＰＵ２２は、直線状の物体の画像が存在しないと判断した場合には、ステップ２８０に戻り、新たに撮影されて得られた撮影画像の画像信号を取込んで、上記処理を繰り返す。
【０１０７】
一方、ステップ２８２で、ＣＰＵ２２は、直線状の物体の画像が存在すると判断した場合には、ステップ２８４に移行する。ステップ２８４では、ＣＰＵ２２は、該基準画像を示す画像信号に基づいて、該基準画像における上記検出した直線状の物体の特徴点を検出する。特徴点は、第１の実施の形態と同様に検出する。図１２（Ａ）に特徴点の検出結果の一例を示す。図１２（Ａ）には基準画像が図示されており、該基準画像中の直線状の物体の特徴点が、●で示されている。
【０１０８】
更に、ステップ２８４で、ＣＰＵ２２は、検出した特徴点の画像座標と、第２カメラ１２で撮影されて得られた参照画像を示す画像信号とに基づいて、参照画像中から基準画像の特徴点に対応する対応点を第１の実施の形態と同様に検出する。図１２（Ｂ）に対応点の検出結果の一例を示す。図１２（Ｂ）には参照画像が図示されており、該参照画像中の対応点が●で示されている。
【０１０９】
ステップ２８６では、ＣＰＵ２２は、ステップ２００，２０２で仮計算した内部パラメータ、ステップ２０４で仮計算した外部パラメータ、ステップ２８４で検出した特徴点の画像座標、及び対応点の画像座標に基づいて、直線状の物体の特徴点と第１カメラ１０との距離を計算する。ここでは、第１の実施の形態と同様に、公知の方法（例えば、R.Hartley, A.Zisserman, "Multiple View Geometry in Computer Vision", CAMBRIDGE UNIVERSITY PRESS, 2003.参照)を用いて、第１カメラ１０から各特徴点の３次元座標位置までの距離を計算する。
【０１１０】
ステップ２８８で、ＣＰＵ２２は、上記計算した距離に基づき、２台のカメラの使用目的に応じた距離領域に存在する特徴点の数をカウントする。
【０１１１】
ステップ２９０で、ＣＰＵ２２は、カウントした特徴点数が予め定められた閾値を越えているか否かを判断する。ＣＰＵ２２は、カウントした特徴点数が予め定められた閾値以下であると判断した場合には、ステップ２８０に戻り、新たに撮影された撮影画像を取込んで上記処理を繰り返す。また、ＣＰＵ２２は、ＣＰＵ２２は、カウントした特徴点数が予め定められた閾値を越えていると判断した場合には、ステップ２９２に移行する。
【０１１２】
ステップ２９２では、ＣＰＵ２２は、基準画像（第１カメラ１０で撮影された撮影画像）の画像信号から、公知の手法（例えば、R.Hartley, A.Zisserman, "Multiple View Geometry in Computer Vision", CAMBRIDGE UNIVERSITY PRESS, 2003.参照。）を用いて、第１カメラ１０のレンズ歪のパラメータを再計算する。同様に、参照画像（第２カメラ１２で撮影された撮影画像）の画像信号から、上記と同様に公知の手法を用いて、第２カメラ１２のレンズ歪のパラメータを再計算する。
【０１１３】
このように、２台のカメラの使用目的の距離領域に直線状の物体が存在する撮影画像を用いてレンズ歪パラメータを計算した方が、該使用目的の距離領域外に直線状の物体が存在する撮影画像を用いて計算する場合よりも、２台のカメラの使用目的において計算精度が高くなる。
【０１１４】
なお、ここでは、ステップ２９２で、基準画像を用いて第１カメラ１０のレンズ歪みパラメータを再計算すると共に、参照画像を用いて第２カメラ１２のレンズ歪みパラメータを再計算する例について説明したが、これに限定されず、例えば、ステップ２９２では、基準画像を用いて、基準画像を撮影した一方のカメラのレンズ歪みパラメータの再計算のみを行ない、他方のカメラについては、再度ステップ２８０〜ステップ２９２を繰り返して、他方のカメラで撮影した撮影画像を基準画像として同様の処理を繰り返し、ステップ２９２で該他方のカメラについてのレンズ歪みパラメータを求めるような処理手順としてもよい。
【０１１５】
図１３は、ステップ２０８の、その他の内部パラメータの再計算処理の流れを示すフローチャートである。ここでも、ステップ２０２の仮計算の処理と同様に、第１カメラ１０、第２カメラ１２の順に、その他の内部パラメータの再計算を行なうものとする。
【０１１６】
ステップ３００では、ＣＰＵ２２は、２台のカメラのうち、一方のカメラ（ここでは第１カメラ１０）を基準カメラとして設定し、他方のカメラ（ここでは第２カメラ１２）を対応カメラとして設定する。まず最初は、第１カメラ１０を基準カメラとして設定し、第２カメラ１２を対応カメラとして設定する。
【０１１７】
ステップ３０２では、ＣＰＵ２２は、車両の運転中に基準カメラで連続して撮影されて得られた３枚の撮影画像を示す画像信号の各々を取込んで、ＲＡＭ２６に記憶する。この３枚の撮影画像の撮影と同じタイミングで、対応カメラで連続して撮影されて得られた３枚の撮影画像を示す画像信号の各々を取込んで、ＲＡＭ２６に記憶する。
【０１１８】
ステップ３０４では、ＣＰＵ２２は、基準カメラで撮影されＲＡＭ２６に記憶された３枚の撮影画像の画像信号のうち、最初に撮影された（１枚目の）撮影画像の画像信号に基づいて、該撮影画像の特徴点を検出する。更に、ＣＰＵ２２は、ＲＡＭ２６に記憶された３枚の撮影画像の画像信号に基づいて、基準カメラで撮影された２枚目、３枚目の撮影画像において１枚目の特徴点に対応する特徴点をLucas-Kanade法により探索する。
【０１１９】
ステップ３０６では、ＣＰＵ２２は、ＲＡＭ２６に記憶された３枚の撮影画像の画像信号に基づいて、上記検出された特徴点のうち、３枚の撮影画像の全てに写っていて、かつ、画像間でお互いに対応している特徴点をLucas-Kanade法により探索する。３枚の画像において検出された特徴点の集合を特徴点集合Ｓと呼称する。図９（Ａ）〜（Ｃ）に、各撮影画像における特徴点集合Ｓの各特徴点を●で示す。
【０１２０】
ステップ３０８では、ＣＰＵ２２は、特徴点集合Ｓの特徴点の数が閾値（例えば３０点程度）を越えているか否かを判断する。ＣＰＵ２２は、特徴点集合Ｓの特徴点の数が閾値以下であると判断した場合には、その他の内部パラメータを計算するために十分な特徴点が存在しないとして、ステップ３０２に戻り、基準カメラ及び対応カメラで新たに撮影された撮影画像の画像信号を取込む。
【０１２１】
ステップ３０８で、ＣＰＵ２２は、特徴点集合Ｓの特徴点の数が閾値を越えていると判断した場合には、ステップ３１０に移行する。ステップ３１０では、ＣＰＵ２２は、検出した特徴点集合Ｓの各特徴点の画像座標と、対応カメラで撮影されて得られた３枚の撮影画像を示す画像信号とに基づいて、対応カメラで撮影された３枚の撮影画像中から上記検出した特徴点集合Ｓの各特徴点に対応する対応点をLucas-Kanade法により検出する。
【０１２２】
ステップ３１２では、ＣＰＵ２２は、ステップ２０６で再計算されたレンズ歪みパラメータ、ステップ２０２で仮計算したその他の内部パラメータ、ステップ２０４で仮計算した外部パラメータ、上記ステップ３０６で検出した特徴点集合Ｓの各特徴点の各撮影画像における画像座標、及び上記ステップ３１０で検出した各対応点の各撮影画像における画像座標に基づいて、公知の方法（例えば、R.Hartley, A.Zisserman, "Multiple View Geometry in Computer Vision", CAMBRIDGE UNIVERSITY PRESS, 2003.参照)を用いて、基準カメラから特徴点集合Ｓの各特徴点の３次元座標位置までの距離を計算する。これにより、図５（Ａ）に示すように特徴点集合Ｓの距離分布が求まる。
【０１２３】
ここで、ステップ２０６で再計算したレンズ歪パラメータを用いて計算した基準カメラと特徴点集合Ｓとの距離の方が、ステップ２００で仮計算したレンズ歪パラメータを用いて計算した距離より、２台のカメラの使用目的の距離領域において精度が高い。
【０１２４】
ステップ３１４では、ＣＰＵ２２は、上記距離を求めた特徴点集合Ｓの特徴点のうち、２台のカメラの使用目的に応じた距離領域に存在する特徴点の数（例えば、図５（Ｂ）に示す斜線部分の特徴点の数の合計）をカウントする。
【０１２５】
ステップ３１６では、ＣＰＵ２２は、カウントした特徴点数が予め定められた閾値を越えているか否かを判断する。上記使用目的とする距離領域に存在する特徴点数が閾値を越えていれば、その距離領域に十分な数の特徴点が存在すると判定する。
【０１２６】
ステップ３１６で、カウントした特徴点数が予め定められた閾値を越えていると判定した場合には、ステップ３１８に進み、ＣＰＵ２２は、特徴点集合Ｓのうち、２台のカメラの使用目的に応じた距離領域に存在する特徴点の各撮影画像における画像座標と、ステップ２０６で再計算したレンズ歪みパラメータとに基づいて、公知の手法（例えば、Q. T. Luong, O. D. Faugeras, "Self-calibration of a moving camera from point correspondences and fundamental matrices", IJCV, Vol.22, Num. 3, pp.261-289, 1997.参照。）を用いて、基準カメラについての焦点距離、レンズ中心、スキューを再計算する。
【０１２７】
また、ステップ３１６で、カウントした特徴点数が予め定められた閾値以下であると判定した場合には、ステップ３０２に戻り、新たに撮影画像を取込んで、上記処理を繰り返す。
【０１２８】
ステップ３２０では、ＣＰＵ２２は、全カメラについて、その他の内部パラメータの再計算が終了したか否かを判定する。第１カメラ１０の再計算が終了した段階では、第２カメラ１２の再計算が未処理であるためここでは否定判断され、ステップ３２２に移行する。そして、ステップ３２２で、ＣＰＵ２２は、一方のカメラ（ここでは第１カメラ１０）を対応カメラとして設定し、他方のカメラ（ここでは第２カメラ１２）を基準カメラとして設定する。設定後はステップ３０２に戻って、ステップ３０２〜３１８の処理を行ない、第２カメラ１２についても、上記第１カメラ１０と同様にその他の内部パラメータを再計算する。
【０１２９】
ステップ３１８で第２カメラ１２の再計算処理が終了した後は、ステップ３２０で肯定判断され、処理が終了する。
【０１３０】
このように、特徴点集合Ｓの全ての特徴点の画像座標を用いて計算した内部パラメータより、特徴点集合Ｓの中で２台のカメラの使用目的の距離領域に存在する特徴点の画像座標を用いて計算した内部パラメータの方が、２台のカメラの使用目的の距離領域において精度が高い。
【０１３１】
なお、ここでは、ステップ２９２では、まず一方のカメラ（ここでは第１カメラ１０）を基準カメラとして設定し、該一方のカメラで撮影した撮影画像の特徴点を用いて一方のカメラについてその他の内部パラメータを再計算し、次に他方のカメラ（ここでは第２カメラ１２）を基準カメラとして設定し、同様の処理を繰り返して該他方のカメラについてその他の内部パラメータを再計算する例について説明したが、本発明はこうした処理の流れに限定されない。例えば、基準カメラで撮影した撮影画像の特徴点のうち、カメラの使用目的の距離の領域に存在する特徴点の数が閾値を越えていれば、該距離の領域に存在する特徴点に基づいて基準カメラのその他の内部パラメータを求め、該特徴点に対応する対応点に基づいて対応カメラのその他の内部パラメータを求めるようにしてもよい。
【０１３２】
図１４は、ステップ２１０の外部パラメータの再計算処理の流れを示すフローチャートである。ステップ３４０〜３４２までの処理は、第１の実施の形態における図３を用いて説明したステップ１００〜１０４までの処理と同じであるため説明を省略する。
【０１３３】
ステップ３４４では、ＣＰＵ２２は、ステップ２０６，２０８で再計算した内部パラメータ、ステップ２０４で仮計算した外部パラメータ、ステップ３４２で検出した特徴点の画像座標、及び対応点の画像座標に基づいて、各特徴点の第１カメラ１０からの距離を計算する。ここでは、第１の実施の形態と同様に、公知の方法（例えば、R.Hartley, A.Zisserman, "Multiple View Geometry in Computer Vision", CAMBRIDGE UNIVERSITY PRESS, 2003.参照)を用いて、第１カメラ１０から各特徴点の３次元座標位置までの距離を計算する。
【０１３４】
ここで、ステップ２０６，２０８で再計算した内部パラメータを用いて計算した第１カメラ１０と特徴点集合Ｓとの距離の方が、ステップ２００，２０２で仮計算した内部パラメータを用いて計算した距離より、２台のカメラの使用目的の距離領域において精度が高い。
【０１３５】
ステップ３４６〜３４８までの処理は、第１の実施の形態における図３を用いて説明したステップ１１０〜１１２と同じであるため説明を省略する。
【０１３６】
ステップ３５０では、ＣＰＵ２２は、ステップ２０６，２０８で再計算した内部パラメータ、上記ステップ３４２で検出された特徴点のうち２台のカメラの使用目的の距離領域に分布した特徴点の画像座標、および該特徴点に対応する対応点の画像座標に基づいて、公知の方法（例えば、R.Hartley, A.Zisserman, "Multiple View Geometry in Computer Vision", CAMBRIDGE UNIVERSITY PRESS, 2003)を利用することにより外部パラメータを再計算する。
【０１３７】
ここで、２台のカメラの使用目的の距離領域に存在する特徴点のみの画像座標と、ステップ２０６、２０８で再計算した内部パラメータとを用いて計算した外部パラメータの方が、撮影画像中の全ての特徴点の画像座標を利用し、かつステップ２００，２０２で仮計算した内部パラメータを用いて計算した外部パラメータに比べて、２台のカメラの使用目的の距離領域において精度が高い。
【０１３８】
［第３の実施の形態］
【０１３９】
第１の実施の形態、および第２の実施の形態では２台のカメラを搭載した周辺環境認識装置を例に挙げて、カメラの構成に必要なパラメータを計算する例について説明したが、本実施の形態では、１台のカメラが搭載された周辺環境認識装置を例に挙げて説明する。搭載されたカメラが１台であっても、周知の単眼ステレオカメラの技術を用いることで周辺環境を認識することができ、また内部パラメータも計算することができる。なお、本実施の形態では、カメラが１台であるため、外部パラメータの計算は不要である。
【０１４０】
本実施の形態で例示する周辺環境認識装置の構成は、第１カメラ１０及び第２カメラ１２のいずれか一方のみが装備されている以外は、第１の実施の形態と同様であるため、説明を省略する。ここでは、第１カメラ１０が装備されているものとして、第１カメラ１０の校正処理について、図１５のフローチャートを用いて説明する。
【０１４１】
ステップ５００では、撮影画像から内部パラメータ（レンズ歪みのパラメータ）の仮計算を行なう。この仮計算処理は、第２の実施の形態において、図７を用いて説明したステップ２００の仮計算処理と同じであるため、ここでは説明を省略する。ただし、本実施の形態では、レンズ歪みのパラメータの計算を行なうカメラが１台であるため、ステップ２２６は常に肯定判断される。
【０１４２】
ステップ５０２では、ステップ５００で仮計算されたレンズ歪みパラメータおよび撮影画像から、レンズ歪み以外のその他の内部パラメータ（焦点距離、レンズ中心、スキュー）の仮計算を行なう。この仮計算処理は、第２の実施の形態において、図８を用いて説明したステップ２０２の仮計算処理と同じであるため、ここでは説明を省略する。ただし、本実施の形態では、その他の内部パラメータの計算を行なうカメラが１台であるため、ステップ２５０は常に肯定判断される。
【０１４３】
ステップ５０４では、レンズ歪みパラメータを再計算する。図１６にこの再計算処理の流れを示すフローチャートを示す。
【０１４４】
ステップ５２０では、ＣＰＵ２２は、第１カメラ１０で連続して撮影されて得られた２枚の撮影画像の各々を示す画像信号の各々を取込んで、ＲＡＭ２６に記憶する。この２枚の撮影画像は、車両の走行中に撮影したものか、ほとんど移動しない状態で車体の向きのみが変化したときに撮影したものか、或いは、車両が全く動かない状態で撮影したものであって、撮影画像に移動したり回転したりする対象物が含まれているものである。ただし、後述するように、本実施の形態では、カメラから特徴点までの距離を、画面上の対象物の動き及び撮影位置の変位量に基づいて計算するため、撮影される周辺環境が極端に変化しない程度の短い時間間隔で連続して撮影したものであることが必要である。なお、以下では、２枚の撮影画像のうち一方を基準画像、他方を参照画像と呼称する。
【０１４５】
ステップ５２２では、ＣＰＵ２２は、基準画像を示す画像信号に基づいて、該基準画像に直線状の物体の画像が存在するか否かを例えば、Hough変換などの公知の手法を用いて判断する。
【０１４６】
ステップ５２２で、ＣＰＵ２２は、直線状の物体の画像が存在しないと判断した場合には、ステップ５２０に戻り、新たに撮影されて得られた撮影画像の画像信号を取込んで、上記処理を繰り返す。
【０１４７】
一方、ステップ５２２で、ＣＰＵ２２は、直線状の物体の画像が存在すると判断した場合には、ステップ５２４に移行する。ステップ５２４では、ＣＰＵ２２は、該基準画像を示す画像信号に基づいて、上記検出した直線状の物体の画像上に存在する特徴点を検出する。特徴点は、第１の実施の形態と同様に検出する。更に、ＣＰＵ２２は、検出した特徴点の画像座標と、参照画像を示す画像信号とに基づいて、参照画像中から基準画像の特徴点に対応する（直線状の物体の画像上の）対応点を検出する。対応点の検出方法は、公知の方法Lucas-Kanade法を用いることができる。
【０１４８】
ステップ５２６では、ＣＰＵ２２は、ステップ５００，５０２で仮計算した内部パラメータ、ステップ５２４で検出した特徴点の画像座標、及び対応点の画像座標に基づいて、第１カメラ１０から直線状の物体の特徴点までの距離を計算する。ここでは、公知のモーションステレオ（SfM:Structure from Motion)技術（「車載カメラを用いた単眼測距検証システムの開発」、滝本周平、伊藤崇晶、2006年7月、SEIテクニカルレビュー、169号、参照。）を用い、距離の計算を行なう。ＳｆＭは、１台のカメラで別時刻、別視点から撮影された複数枚の撮影画像を利用し、撮影画像上の対象物の動き及び撮影位置の変位量に基づいて対象物の３次元座標位置を計算する技術である（例えば、「車載カメラを用いた単眼測距検証システムの開発」、滝本周平、伊藤崇晶、2006年7月、SEIテクニカルレビュー、169号参照。）。これにより、図５（Ａ）に示すように特徴点の距離分布が求まる。
【０１４９】
ステップ５２８〜５３２までの処理は、上記第２の実施の形態の図１１で説明したステップ２８８〜２９２の処理と同様であるため、説明を省略する。ただし、本実施の形態のステップ５３２では、基準画像を用いてレンズ歪みパラメータを再計算してもよいし、参照画像を用いてレンズ歪みパラメータを再計算してもよい。
【０１５０】
このように第１カメラ１０の使用目的の距離領域に直線状の物体が存在する撮影画像を用いてレンズ歪パラメータを計算した方が、該使用目的の距離領域外に直線状の物体が存在する撮影画像を用いて計算する場合よりも、第１カメラ１０の使用目的において計算精度が高くなる。
【０１５１】
図１５のステップ５０６では、その他の内部パラメータを再計算する。図１７は、ステップ５０６の、その他の内部パラメータの再計算処理の流れを示すフローチャートである。
【０１５２】
ステップ５４０〜５４６までの処理は、図８で説明したその他の内部パラメータの仮計算のステップ２４０〜２４６までの処理と同様であるため説明を省略する。
【０１５３】
ステップ５４６で、ＣＰＵ２２は、特徴点集合Ｓの特徴点の数が閾値を越えていると判断した場合には、ステップ５４８に移行する。ステップ５４８では、ＣＰＵ２２は、ステップ５０４で再計算した第１カメラ１０のレンズ歪みパラメータ、ステップ５０２で仮計算した第１カメラ１０のその他の内部パラメータ、およびステップ５４４で検出した特徴点集合Ｓの各特徴点の各撮影画像における画像座標に基づいて、特徴点集合Ｓの各特徴点の第１カメラ１０からの距離を計算する。ここでは、公知のモーションステレオ（SfM:Structure from Motion)技術（「車載カメラを用いた単眼測距検証システムの開発」、滝本周平、伊藤崇晶、2006年7月、SEIテクニカルレビュー、169号、参照。）を用いて、各特徴点の第１カメラ１０からの距離を計算する。これにより、図５（Ａ）に示すように各撮影画像毎に特徴点集合Ｓの距離分布が求まる。
【０１５４】
ここで、ステップ５０４で再計算したレンズ歪パラメータを用いて計算した第１カメラ１０と特徴点集合Ｓとの距離の方が、ステップ５００で仮計算したレンズ歪パラメータを用いて計算した距離より、第１カメラ１０の使用目的の距離領域において精度が高い。
【０１５５】
ステップ５５０では、ＣＰＵ２２は、上記距離を求めた特徴点集合Ｓの特徴点のうち、第１カメラ１０の使用目的に応じた距離領域に存在する特徴点の数（例えば、図５（Ｂ）に示す斜線部分の特徴点の数の合計）をカウントする。
【０１５６】
ステップ５５２では、ＣＰＵ２２は、カウントした特徴点数が予め定められた閾値を越えているか否かを判断する。第１カメラ１０の使用目的とする距離領域に存在する特徴点数が閾値を越えていれば、その距離領域に十分な数の特徴点が存在すると判定する。
【０１５７】
ステップ５５２で、ＣＰＵ２２は、カウントした特徴点数が予め定められた閾値を越えていると判定した場合には、ステップ５５４に進み、特徴点集合Ｓのうち、第１カメラ１０のカメラの使用目的に応じた距離領域に存在する特徴点の各撮影画像における画像座標と、ステップ５０４で再計算したレンズ歪みパラメータとに基づいて、公知の手法（例えば、Q. T. Luong, O. D. Faugeras, "Self-calibration of a moving camera from point correspondences and fundamental matrices", IJCV, Vol.22, Num. 3, pp.261-289, 1997.参照。）を用いて、第１カメラ１０についての焦点距離、レンズ中心、スキューを再計算する。
【０１５８】
また、ステップ５５２で、ＣＰＵ２２は、カウントした特徴点数が予め定められた閾値以下であると判定した場合には、ステップ５４０に戻り、新たに撮影画像を取込んで用い、上記処理を繰り返す。
【０１５９】
このように、特徴点集合Ｓの全ての特徴点の画像座標を用いて計算した内部パラメータより、特徴点集合Ｓの中でカメラの使用目的の距離領域に存在する特徴点のみの画像座標を用いて計算した内部パラメータの方が、カメラの使用目的の距離領域において精度が高い。
【０１６０】
なお、本実施の形態で例示した、１台のカメラで特徴点の距離を求める手法を、第２の実施の形態のステップ２０６、ステップ２０８、およびステップ２１０で行なう特徴点の距離計算に適用してもよい。
【０１６１】
また、２台のカメラを用いて周辺環境を認識する周辺環境認識装置であっても、第３の実施の形態で例示した内部パラメータの再計算の手法を用いて求めてもよい。
【０１６２】
また、第２、第３の実施の形態では、レンズ歪みパラメータ及びその他の内部パラメータを順に求めたが、該内部パラメータのうちいずれかが既知の場合には、既知の内部パラメータをそのまま用いて未知の内部パラメータのみを求めるようにしてもよい。
【図面の簡単な説明】
【０１６３】
【図１】本発明のパラメータ計算装置としての機能を兼ね備えた第１の実施の形態に係る周辺環境認識装置の構成を示すブロック図である。
【図２】外部パラメータを説明する説明図である。
【図３】第１の実施の形態に係る校正処理ルーチンのフローチャートを示す図である。
【図４】（Ａ）は特徴点の検出結果の一例を示す図であり、（Ｂ）は、対応点の検出結果の一例を示す図である。
【図５】（Ａ）は各特徴点の距離分布の一例を示すヒストグラムを示す図であり、（Ｂ）は、（Ａ）の距離分布における使用目的の距離領域の一例と、該該距離領域に存在する特徴点の分布の一例を示すヒストグラムである。
【図６】第２の実施の形態に係る校正処理ルーチンの流れを示すフローチャートである。
【図７】図６のステップ２００の内部パラメータ（レンズ歪み）の仮計算処理の流れを示すフローチャートである。
【図８】図６のステップ２０２のその他の内部パラメータの仮計算処理の流れを示すフローチャートである。
【図９】（Ａ）〜（Ｃ）は、３枚の撮影画像の一例を示す図である。
【図１０】図６のステップ２０４の外部パラメータの仮計算処理の流れを示すフローチャートである。
【図１１】図６のステップ２０６の内部パラメータ（レンズ歪み）の再計算処理の流れを示すフローチャートである。
【図１２】（Ａ）は特徴点の検出結果の一例を示す図であり、（Ｂ）は対応点の検出結果の一例を示す図である。
【図１３】図６のステップ２０８のその他の内部パラメータの再計算処理の流れを示すフローチャートである。
【図１４】図６のステップ２１０の外部パラメータの再計算処理の流れを示すフローチャートである。
【図１５】第３の実施の形態に係る校正処理ルーチンの流れを示すフローチャートである。
【図１６】図１５のステップ５０４の内部パラメータ（レンズ歪み）の再計算処理の流れを示すフローチャートを示す図である。
【図１７】図１５のステップ５０６のその他の内部パラメータの再計算処理の流れを示すフローチャートを示す図である。
【符号の説明】
【０１６４】
１０      第１カメラ
１２      第２カメラ
２０      コンピュータ
２２      ＣＰＵ
２４      ＲＯＭ
２６      ＲＡＭ
【図１】
0005228614.tif 000002
【図２】
0005228614.tif 000003
【図３】
0005228614.tif 000004
【図５】
0005228614.tif 000005
【図６】
0005228614.tif 000006
【図７】
0005228614.tif 000007
【図８】
0005228614.tif 000008
【図９】
0005228614.tif 000009
【図１０】
0005228614.tif 000010
【図１１】
0005228614.tif 000011
【図１２】
0005228614.tif 000012
【図１３】
0005228614.tif 000013
【図１４】
0005228614.tif 000014
【図１５】
0005228614.tif 000015
【図１６】
0005228614.tif 000016
【図１７】
0005228614.tif 000017
【図４】
0005228614.tif 000018