(57)【要約】【課題】異なる視点からの撮影画像である左画像と右画像を適用した被写体距離の算出を確実に行うための変換パラメータを算出する装置および方法を実現する。【解決手段】異なる視点から撮影された左画像と右画像の射影変換を実行する射影変換処理を実行して、射影変換のなされた射影変換左画像と射影変換右画像を適用したステレオマッチングによるエラー評価値を取得する。射影変換左画像と射影変換右画像の画像回転角度情報とエラー評価値の対応情報に基づいてエラー評価値が最小となる画像回転角度を求め、その画像回転角度に対応する射影変換パラメータを算出する。この処理により、ステレオマッチングにおいてエラーの発生可能性が低減された最適な射影変換パラメータを算出することができる。【選択図】図４
2011253376.tif 000002
【特許請求の範囲】
【請求項１】
異なる視点からの撮影画像である左画像と右画像の射影変換を実行する射影変換部と、
前記左画像と前記右画像の特徴点情報を入力して、前記射影変換部において実行する射影変換パラメータを生成する射影変換パラメータ生成部と、
前記射影変換部において射影変換の実行された射影変換左画像と射影変換右画像を適用したステレオマッチングを実行するステレオマッチング部と、
前記射影変換左画像と射影変換右画像の画像回転角度情報と、前記ステレオマッチングにおけるエラー評価値の対応情報を取得するマッチングエラー最小化制御部を有し、
前記マッチングエラー最小化制御部は、前記エラー評価値が最小となる画像回転角度を求め、
前記射影変換パラメータ生成部は、前記エラー評価値が最小となる画像回転角度を反映した射影変換パラメータを算出する画像処理装置。
【請求項２】
前記マッチングエラー最小化制御部は、画像回転角度情報を順次更新して、前記射影変換パラメータ生成部に出力し、
前記射影変換パラメータ生成部は、前記マッチングエラー最小化制御部から入力する画像回転角度情報に基づいて、射影変換パラメータを更新し、
前記射影変換部は、前記射影変換パラメータ生成部の生成する更新射影変換パラメータに基づく射影変換を実行し、
前記ステレオマッチング部は、順次更新される射影変換パラメータを適用した射影変換左画像と射影変換右画像のステレオマッチングを実行し、
前記マッチングエラー最小化制御部は、順次更新される射影変換パラメータを適用した射影変換左画像と射影変換右画像のステレオマッチングにおけるエラー評価値が最小となる画像回転角度を検出し、検出した画像回転角度を前記射影変換パラメータ生成部に出力し、
前記射影変換パラメータ生成部は、前記マッチングエラー最小化制御部から入力するエラー評価値が最小となる画像回転角度に基づいて、最終的な射影変換パラメータを生成する請求項１に記載の画像処理装置。
【請求項３】
前記射影変換パラメータ生成部は、
前記左画像と右画像に含まれる複数の特徴点に基づいて、射影変換パラメータを生成する構成であり、
前記左画像と右画像に含まれる１枚の平面チャートの構成部から複数の特徴点を検出するキャリブレーションチャート検出部の検出した特徴点情報を入力して、射影変換パラメータを生成する構成である請求項１または２に記載の画像処理装置。
【請求項４】
前記平面チャートは、空洞の長方形からなる平面チャートであり、
前記キャリブレーションチャート検出部は、前記平面チャートを構成する長方形の４頂点を特徴点として検出する処理を行う請求項３に記載の画像処理装置。
【請求項５】
前記射影変換パラメータ生成部は、
異なる視点からの撮影画像である左画像と右画像に含まれる前記平面チャートを構成する長方形の形状を等しくする補正画像を生成するための射影変換パラメータを生成する処理を行う請求項３に記載の画像処理装置。
【請求項６】
前記ステレオマッチング部は、
空洞の長方形からなる平面チャートの空洞部に撮りこまれたテクスチャ画像を適用してステレオマッチングを実行する請求項４に記載の画像処理装置。
【請求項７】
前記画像処理装置は、
空洞の長方形からなる平面チャートと、前記空洞内に前記平面チャートと異なる距離にあるテクスチャ面を併せて撮影した左画像と右画像を入力して処理を行う構成である請求項１〜６いずれかに記載の画像処理装置。
【請求項８】
前記画像処理装置は、
長方形からなる平面チャートを撮影した第１左画像と第１右画像と、
平面チャートを含まない被写体を撮影した第２左画像と第２右画像を入力し、
特徴点検出を前記第１左画像と第１右画像に対して実行し、
ステレオマッチングを前記第２左画像と第２右画像に対して実行する処理を行う構成である請求項３に記載の画像処理装置。
【請求項９】
画像処理装置において実行する画像処理方法であり、
射影変換部が、異なる視点からの撮影画像である左画像と右画像の射影変換を実行する射影変換ステップと、
射影変換パラメータ生成部が、前記左画像と前記右画像の特徴点情報を入力して、前記射影変換部において実行する射影変換パラメータを生成する射影変換パラメータ生成ステップと、
ステレオマッチング部が、前記射影変換部において射影変換の実行された射影変換左画像と射影変換右画像を適用したステレオマッチングを実行するステレオマッチングステップと、
マッチングエラー最小化制御部が、前記射影変換左画像と射影変換右画像の画像回転角度情報と、前記ステレオマッチングにおけるエラー評価値の対応情報を取得するマッチングエラー最小化制御ステップを有し、
前記マッチングエラー最小化制御ステップにおいて、前記エラー評価値が最小となる画像回転角度を求め、
前記射影変換パラメータ生成ステップにおいて、前記エラー評価値が最小となる画像回転角度を反映した射影変換パラメータを算出する画像処理方法。
【請求項１０】
画像処理装置において画像処理を実行させるプログラムであり、
射影変換部に、異なる視点からの撮影画像である左画像と右画像の射影変換を実行させる射影変換ステップと、
射影変換パラメータ生成部に、前記左画像と前記右画像の特徴点情報を入力して、前記射影変換部において実行する射影変換パラメータを生成させる射影変換パラメータ生成ステップと、
ステレオマッチング部に、前記射影変換部において射影変換の実行された射影変換左画像と射影変換右画像を適用したステレオマッチングを実行させるステレオマッチングステップと、
マッチングエラー最小化制御部に、前記射影変換左画像と射影変換右画像の画像回転角度情報と、前記ステレオマッチングにおけるエラー評価値の対応情報を取得させるマッチングエラー最小化制御ステップを有し、
前記マッチングエラー最小化制御ステップは、前記エラー評価値が最小となる画像回転角度を求めさせるステップを含み、
前記射影変換パラメータ生成ステップは、前記エラー評価値が最小となる画像回転角度を反映した射影変換パラメータを算出させるステップを含むプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、および画像処理方法、並びにプログラムに関する。さらに詳細には、異なる視点からの撮影画像に基づく被写体距離の算出、または算出のための補正処理を行う画像処理装置、および画像処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
カメラで撮影した被写体の奥行き情報、すなわちカメラからの距離を算出するための手法として異なる視点から撮影した複数の画像を適用して同一被写体の撮影画像位置を解析する手法が知られている。この手法の１つとしてステレオマッチングがある。なお、ステレオマッチングについては、例えば非特許文献１に記載がある。
【０００３】
ステレオマッチングに基づく距離情報の算出には、異なる視点から撮影された複数画像から対応する特徴点を探索する処理が行われる。この探索処理に際しては、一般的に予め所定の探索範囲を設定して探索が行われる。しかし、設定した探索範囲に対応特徴点が検出できなければ処理エラーとなってしまう。対応特徴点が検出可能な探索範囲の確実な設定のため、例えば射影変換などによる画像変換処理等が行われる。異なる視点から撮影した左右画像の視差をステレオマッチングの探索範囲と一致させるための射影変換等の画像補正処理やカメラの調整処理を一般的にキャリブレーション処理と呼ぶ。なお、ステレオマッチングにおけるキャリブレーション方法を開示した従来技術としては、例えば以下のようなものがある。
【０００４】
非特許文献２は、位置関係が既知である複数の特徴点が印字されたチャートパターンを、視点を変えながら複数毎撮影するなどして、各画像の位置合わせのための射影変換パラメータを求め、このパラメータに基づいてキャリブレーションを実現する構成を開示している。
【０００５】
しかし、この手法では、異なる視点で複数枚のチャートを撮影するためにチャートを移動させる、もしくはカメラを移動させる必要があり、これにより調整工数が増大するという問題がある。
【０００６】
また、特許文献１には、一回の撮影のみでキャリブレーションを行う方法として、透過性を有する２枚のキャリブレーションチャートを重ね、奥行が異なる２枚以上のチャートを同時に撮影し、キャリブレーションパラメータを求める方法を開示している。
【０００７】
しかし、非特許文献２，特許文献１に記載の処理では、いずれも、ステレオマッチングの探索方向と左右画像の視差の傾き方向を一致させるためのエピポーララインのずれ角度の推定において、奥行が異なる２点以上の特徴点の幾何学的な位置関係をサブピクセル精度で計測した結果をもとに算出する必要がある。
【０００８】
具体的なエピポーララインのずれ角度の推定処理について図１を参照して説明する。エピポーララインのずれ角度の推定においては、例えば図１に示すように左右に２つのレンズを備えたステレオカメラ１０で撮影した画像に含まれる奥行きが異なる２つの特徴点：ａ，ｂ・・・を左カメラ画像１１と、右カメラ画像１２から検出し、その幾何学的な位置関係をサブピクセル精度で計測した結果をもとにエピポーラライン２１のずれ角度θを算出する必要がある。
【０００９】
この処理は、すなわち、幾何学的に水平・垂直方向のわずかな対応点の位置関係を手がかりとしその傾き角度を推定することであり、チャートパターンのサブピクセル検出精度に大きく依存してしまうという問題がある。検出精度を高める必要があるためには、サブピクセル単位で特徴点位置を解析可能な複雑な模様を持つチャートパターンを用いることが必要となる。しかし、複雑な模様を持つチャートパターンを用いた場合は、画像からの対応特徴点の検出が困難となり、検出エラーの発生可能性を増大させてしまうことになる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−２５０８８９号公報
【非特許文献】
【００１１】
【非特許文献１】Ｙｕｉｃｈｉ  Ｏｈｔａ，  Ｔａｋｅｏ  Ｋａｎａｄｅ  Ｓｔｅｒｅｏ  ｂｙ  Ｉｎｔｒａ−  ａｎｄ  Ｉｎｔｅｒ−Ｓｃａｎｌｉｎｅ  Ｓｅａｒｃｈ  Ｕｓｉｎｇ  Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，１９８５
【非特許文献２】Ａ  Ｆｌｅｘｉｂｌｅ  Ｎｅｗ  Ｔｅｃｈｎｉｃｑｕｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｃａｌｉｂｒａｔｉｏｎ  ｈｔｔｐ：／／ｒｅｓｅａｒｃｈ．ｍｉｃｒｏｓｏｆｔ．ｃｏｍ／〜ｚｈａｎｇ
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明は、例えば上記問題点に鑑みてなされたものであり、簡易な撮影構成によって撮影された異なる視点からの撮影画像に対する射影変換等の画像補正処理によって対応特徴点の探索エラーの発生可能性等を低減し確実な被写体距離算出を可能とした画像処理装置、および画像処理方法、並びにプログラムを提供すること目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１の側面は、
異なる視点からの撮影画像である左画像と右画像の射影変換を実行する射影変換部と、
前記左画像と前記右画像の特徴点情報を入力して、前記射影変換部において実行する射影変換パラメータを生成する射影変換パラメータ生成部と、
前記射影変換部において射影変換の実行された射影変換左画像と射影変換右画像を適用したステレオマッチングを実行するステレオマッチング部と、
前記射影変換左画像と射影変換右画像の画像回転角度情報と、前記ステレオマッチングにおけるエラー評価値の対応情報を取得するマッチングエラー最小化制御部を有し、
前記マッチングエラー最小化制御部は、前記エラー評価値が最小となる画像回転角度を求め、
前記射影変換パラメータ生成部は、前記エラー評価値が最小となる画像回転角度を反映した射影変換パラメータを算出する画像処理装置にある。
【００１４】
さらに、本発明の画像処理装置の一実施態様において、前記マッチングエラー最小化制御部は、画像回転角度情報を順次更新して、前記射影変換パラメータ生成部に出力し、前記射影変換パラメータ生成部は、前記マッチングエラー最小化制御部から入力する画像回転角度情報に基づいて、射影変換パラメータを更新し、前記射影変換部は、前記射影変換パラメータ生成部の生成する更新射影変換パラメータに基づく射影変換を実行し、前記ステレオマッチング部は、順次更新される射影変換パラメータを適用した射影変換左画像と射影変換右画像のステレオマッチングを実行し、前記マッチングエラー最小化制御部は、順次更新される射影変換パラメータを適用した射影変換左画像と射影変換右画像のステレオマッチングにおけるエラー評価値が最小となる画像回転角度を検出し、検出した画像回転角度を前記射影変換パラメータ生成部に出力し、前記射影変換パラメータ生成部は、前記マッチングエラー最小化制御部から入力するエラー評価値が最小となる画像回転角度に基づいて、最終的な射影変換パラメータを生成する。
【００１５】
さらに、本発明の画像処理装置の一実施態様において、前記射影変換パラメータ生成部は、前記左画像と右画像に含まれる複数の特徴点に基づいて、射影変換パラメータを生成する構成であり、前記左画像と右画像に含まれる１枚の平面チャートの構成部から複数の特徴点を検出するキャリブレーションチャート検出部の検出した特徴点情報を入力して、射影変換パラメータを生成する構成である。
【００１６】
さらに、本発明の画像処理装置の一実施態様において、前記平面チャートは、空洞の長方形からなる平面チャートであり、前記キャリブレーションチャート検出部は、前記平面チャートを構成する長方形の４頂点を特徴点として検出する処理を行う。
【００１７】
さらに、本発明の画像処理装置の一実施態様において、前記射影変換パラメータ生成部は、異なる視点からの撮影画像である左画像と右画像に含まれる前記平面チャートを構成する長方形の形状を等しくする補正画像を生成するための射影変換パラメータを生成する処理を行う。
【００１８】
さらに、本発明の画像処理装置の一実施態様において、前記ステレオマッチング部は、空洞の長方形からなる平面チャートの空洞部に撮りこまれたテクスチャ画像を適用してステレオマッチングを実行する。
【００１９】
さらに、本発明の画像処理装置の一実施態様において、前記画像処理装置は、空洞の長方形からなる平面チャートと、前記空洞内に前記平面チャートと異なる距離にあるテクスチャ面を併せて撮影した左画像と右画像を入力して処理を行う構成である。
【００２０】
さらに、本発明の画像処理装置の一実施態様において、前記画像処理装置は、長方形からなる平面チャートを撮影した第１左画像と第１右画像と、平面チャートを含まない被写体を撮影した第２左画像と第２右画像を入力し、特徴点検出を前記第１左画像と第１右画像に対して実行し、ステレオマッチングを前記第２左画像と第２右画像に対して実行する処理を行う構成である。
【００２１】
さらに、本発明の第２の側面は、
画像処理装置において実行する画像処理方法であり、
射影変換部が、異なる視点からの撮影画像である左画像と右画像の射影変換を実行する射影変換ステップと、
射影変換パラメータ生成部が、前記左画像と前記右画像の特徴点情報を入力して、前記射影変換部において実行する射影変換パラメータを生成する射影変換パラメータ生成ステップと、
ステレオマッチング部が、前記射影変換部において射影変換の実行された射影変換左画像と射影変換右画像を適用したステレオマッチングを実行するステレオマッチングステップと、
マッチングエラー最小化制御部が、前記射影変換左画像と射影変換右画像の画像回転角度情報と、前記ステレオマッチングにおけるエラー評価値の対応情報を取得するマッチングエラー最小化制御ステップを有し、
前記マッチングエラー最小化制御ステップにおいて、前記エラー評価値が最小となる画像回転角度を求め、
前記射影変換パラメータ生成ステップにおいて、前記エラー評価値が最小となる画像回転角度を反映した射影変換パラメータを算出する画像処理方法にある。
【００２２】
さらに、本発明の第３の側面は、
画像処理装置において画像処理を実行させるプログラムであり、
射影変換部に、異なる視点からの撮影画像である左画像と右画像の射影変換を実行させる射影変換ステップと、
射影変換パラメータ生成部に、前記左画像と前記右画像の特徴点情報を入力して、前記射影変換部において実行する射影変換パラメータを生成させる射影変換パラメータ生成ステップと、
ステレオマッチング部に、前記射影変換部において射影変換の実行された射影変換左画像と射影変換右画像を適用したステレオマッチングを実行させるステレオマッチングステップと、
マッチングエラー最小化制御部に、前記射影変換左画像と射影変換右画像の画像回転角度情報と、前記ステレオマッチングにおけるエラー評価値の対応情報を取得させるマッチングエラー最小化制御ステップを有し、
前記マッチングエラー最小化制御ステップは、前記エラー評価値が最小となる画像回転角度を求めさせるステップを含み、
前記射影変換パラメータ生成ステップは、前記エラー評価値が最小となる画像回転角度を反映した射影変換パラメータを算出させるステップを含むプログラムにある。
【００２３】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【００２４】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００２５】
本発明の一実施例の構成によれば、異なる視点からの撮影画像である左画像と右画像を適用した被写体距離の算出を確実に行うための変換パラメータを算出する装置および方法を実現される。具体的には、異なる視点から撮影された左画像と右画像の射影変換を実行する射影変換処理を実行して、射影変換のなされた射影変換左画像と射影変換右画像を適用したステレオマッチングによるエラー評価値を取得する。射影変換左画像と射影変換右画像の画像回転角度情報とエラー評価値の対応情報に基づいてエラー評価値が最小となる画像回転角度を求め、その画像回転角度に対応する射影変換パラメータを算出する。この処理により、ステレオマッチングにおいてエラーの発生可能性が低減された最適な射影変換パラメータを算出することができる。
【図面の簡単な説明】
【００２６】
【図１】エピポーララインのずれ角度の推定処理について説明する図である。
【図２】本発明に従ったキャリブレーション処理を実行する画像の撮影構成を示した図である。
【図３】キャリブレーションチャートパターン１０１の構成例を示す図である。
【図４】本発明の画像処理装置の一構成例を示す図である。
【図５】撮影した左右カメラ画像から、チャートを検出した結果を示す図である。
【図６】撮影した左右カメラ画像から、チャートを検出した結果を示す図である。
【図７】目的とする左右補正画像の例を示す図である。
【図８】斜影変換パラメータの生成処理に際して行う画像補正による基準長方形の設定処理例について説明する図である。
【図９】ステレオマッチングエラー最小化制御部２１６が出力する回転補正量θに基づく回転処理について説明する図である。
【図１０】斜影変換パラメータの生成処理に際して行う処理について説明する図である。
【図１１】斜影変換パラメータの生成処理に際して行う処理について説明する図である。
【図１２】斜影変換パラメータの生成処理に際して行う処理について説明する図である。
【図１３】斜影変換パラメータの生成処理に際して行う処理について説明する図である。
【図１４】斜影変換パラメータの生成処理に際して行う処理について説明する図である。
【図１５】ステレオマッチング処理について説明する図である。
【図１６】マッチングエラー評価値（ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ）の最小値を求める方法について説明する図である。
【図１７】コスト関数の最小値を積分したものを、マッチングエラー評価値として用いる処理例について説明する図である。
【図１８】本発明の画像処理装置の実行する処理シーケンスについて説明するフローチャートを示す図である。
【図１９】チャートパターンとテクスチャ面を個別に撮影しキャリブレーション（斜影変換）パラメータを求める処理について説明する図である。
【図２０】本発明の画像処理装置の実行する処理シーケンスについて説明するフローチャートを示す図である。
【図２１】本発明の画像処理装置のハードウェア構成例について説明する図である。
【発明を実施するための形態】
【００２７】
以下、本発明の画像処理装置、および画像処理方法、並びにプログラムについて、図面を参照しながら詳細に説明する。以下の項目に従って、順次説明する。
１．本発明の概要について
２．カメラによる画像撮影構成について
３．本発明の画像処理装置の構成と実行する処理の詳細について
４．本発明の画像処理装置の実行する処理のシーケンスについて
５．本発明の画像処理装置の実行する第２の処理シーケンスについて
６．画像処理装置のハードウェア構成例について
【００２８】
［１．本発明の概要について］
本発明は、簡易な撮影構成によって撮影された異なる視点からの撮影画像の補正処理、例えば画像の射影変換処理のパラメータを算出し、射影変換画像を用いて精度の高い被写体までの距離を算出することを可能とするものである。
【００２９】
本発明の画像処理装置における処理画像は、ステレオカメラを構成する左右のカメラによって平面チャートと異なる奥行を含んだテクスチャ面を同時に撮影した画像である。これらの撮影画像を適用してカメラの理想状態からの位置・角度ずれにより生じた平面の歪みを補正する。本発明の画像処理装置は、この補正に適用するパラメータとして、撮影画像に対する射影変換等のパラメータ（キャリブレーションパラメータ）を算出する。
【００３０】
本発明の構成では、非常に単純な１枚の平面チャートを基準として画像補正を行うとともに、撮影画像に含まれる平面チャートと異なる奥行を持つテクスチャ画像を利用して左右画像のステレオマッチングを実行してそのエラー量を最小化するパラメータを算出して、平面検出のみでは補正することができない補正対象となるカメラのベースラインの方向（＝左右カメラのエピポーラライン）に対する左右カメラ撮像面の傾きを、容易にかつ高精度に補正可能とする。
【００３１】
前述したようにステレオマッチングでは、対応点が見つからない場合にはエラーとなる。取得した左右画像のエピポーララインの方向とステレオマッチング処理の探索方向が一致したときに統計的に最もエラーが少なくなると考えられる。つまり、傾き角度を調整してステレオマッチングのエラーを最小化すれば、傾き角度の補正、すなわちキャリブレーションが実現できる。
【００３２】
なお、詳細処理については後述するが、左右のカメラによって撮影する平面チャートは、周辺部に近い長方形の頂点４点の特徴点さえ取得可能な設定であればよい。平面チャートの中央部を空洞、もしくは平面チャートそれ自体を透過とし奥行が異なるテクスチャ面を同時に撮影すると、１回の撮影のみでキャリブレーションが可能であり、製造時などにおいて低コストな調整プロセスを実現できる。
【００３３】
［２．カメラによる画像撮影構成について］
まず、カメラによる画像撮影構成について説明する。
図２は、本発明に従ったキャリブレーション処理を実行する画像の撮影構成を示した図である。図２には、異なる視点からの２枚の画像を撮影可能なステレオカメラ１００と、撮影対象に含めるキャリブレーションチャートパターン１０１、テクスチャ面１０２等の配置例を示したものである。
【００３４】
ステレオカメラ１００は、水平方向に一定のベースライン（例えば＝３０ｍｍ）の間隔で２つの撮像部としてのレンズとイメージセンサモジュールを左右に配置し、異なる視点からの画像、すなわち左画像（Ｌ画像）と右画像（Ｒ画像）を撮影する。イメージセンサモジュールは、たとえば、３２０ｘ２４０ピクセルの解像度において６０フレーム毎秒で撮像可能なＣＭＯＳ撮像装置などを用いる。
【００３５】
キャリブレーションチャートパターン１０１は、図３に示すような、基準点ｐ０，ｐ１，ｐ２，ｐ３を頂点とする長方形状のパターンであり、中央部分を空洞にした構成が望ましい。ステレオカメラ１００の撮像面から５０ｃｍ程度の間隔を空けて、撮像面に対してチャートの平面が可能な限り並行となるように配置する。なお、長方形パターンの水平方向の長さ（基準点ｐ０とｐ１の間もしくは、基準点ｐ２とｐ３の間の距離）は、既知の長さ（例えば、＝３２［ｃｍ］）とする。
【００３６】
なお、本発明の画像処理装置では、撮影画像のチャートの平面を基準としてキャリブレーションが行われるため、ステレオカメラの撮像面と、キャリブレーションチャートの平面は、なるべく平行であることが望ましい。本発明におけるキャリブレーションの主たる目的はステレオカメラの左右カメラ間での位置・角度ずれの補正であるので、多少の誤差は許容される。
【００３７】
テクスチャ面１０２は、キャリブレーションチャート１０１よりもカメラから遠い奥側に、ランダムパターンを有するテクスチャ面を配置する。この際、上下方向で奥行がステレオカメラ１００の撮像面からの奥行きが異なるように、たとえば、図３のような傾斜をもたせた設定とすることが望ましい。なお、テクスチャ面は、必ずしも平面でなくてもよく、凹凸を有していてもよい。
【００３８】
［３．本発明の画像処理装置の構成と実行する処理の詳細について］
以降は、ステレオカメラで撮影した左右画像を用いてキャリブレーション（斜影変換パラメータの算出）を行う本発明の画像処理装置の構成と実行する処理の詳細について説明する。
【００３９】
図４に本発明の画像処理装置１８０の一構成例を示す。
画像処理装置１８０は、図２の撮影構成においてステレオカメラ１００の左側の視点から撮影された画像を図４に示す左カメラ画像１５１、ステレオカメラ１００の右側の視点から撮影された画像を右カメラ画像１５２とし、これらの画像を入力して処理を実行する。
【００４０】
画像処理装置１８０は、射影変換部２００，２０１、垂直エッジ検出部２０２，２０３、ステレオマッチング部２０５、キャリブレーションチャート検出部２１０，２１１、射影変換パラメータ生成部２１５、マッチングエラー最小化制御部２１６、キャリブレーションパラメータ記憶部２２０を有する。
【００４１】
以下、各構成部の実行する処理について説明する。
＜チャート特徴点（ｐ０〜ｐ３）の抽出処理（図１８のフローのＳＴＥＰ２）＞
キャリブレーションチャート検出部２１０，２１１は、カメラ画像（左）１５１、カメラ画像（右）１５２を入力し、これらの画像から次のような画像処理によって、図２に示すキャリブレーションチャート１０１、すなわち長方形チャートの検出を行う。
なお、この処理は、図１８に示すフローチャートのステップ２（ＳＴＥＰ２）の処理に対応する。
【００４２】
キャリブレーションチャート検出部２１０，２１１は、例えばエッジ検出フィルタを適用して、長方形チャートの周囲のラインであるエッジを検出する。例えばＰＲＥＷＩＴＴフィルタ等によって水平および、垂直方向のエッジを検出する。具体的には、例えば入力画像の輝度値をｇ（ｘ，ｙ）、出力画像の輝度値をｆ（ｘ，ｙ）とし、次のような式（式１）〜（式３）に従った演算を行えばよい。
【００４３】
【数１】
2011253376.tif 000003
・・・（式１）
2011253376.tif 000004
・・・（式２）
2011253376.tif 000005
・・・（式３）
【００４４】
次に、検出したエッジが連続的になっている部分を求め、上下左右の計４本の直線に対応するエッジの座標列を抽出する。これら座標列を、最小二乗法などを用いて、４本の直線を表す１次方程式を求める。
【００４５】
上下の直線２本はｙ＝ａｘ＋ｂ、左右の直線２本はｘ＝ｃｘ＋ｄ、のような形の１次方程式にそれぞれ近似することができる。左右のチャート基準点ｐ０〜ｐ３の座標は、上下２本、左右２本の直線の交点に対応しており、各直線の式を連立し解くことで求められる。
例として、図５および図６に、撮影した左右カメラ画像から、チャートを検出した結果を示す。
【００４６】
図５には、以下の２つの異なる視点からのカメラ撮影画像を示している。
（ａ）左カメラ画像
（ｂ）右カメラ画像
各カメラ画像には、ラインによって示される長方形が撮影されている。この長方形が図２、図３を参照して説明したキャリブレーションチャートパターン１０１撮影画像である。
【００４７】
この撮影画像に対して、上記のＰＲＥＷＩＴＴフィルタ等による水平および、垂直方向のエッジ検出処理を実行する。具体的には、入力画像の輝度値をｇ（ｘ，ｙ）、出力画像の輝度値をｆ（ｘ，ｙ）とし、上述した式（式１）〜（式３）に従った演算を行って、エッジ検出処理を実行する。
【００４８】
エッジ検出処理により、上下の直線２本はｙ＝ａｘ＋ｂ、左右の直線２本はｘ＝ｃｘ＋ｄのような形の１次方程式として算出される。左右のチャート基準点ｐ０〜ｐ３の座標は、上下２本、左右２本の直線の交点に対応しており、各直線の式を連立し解くことで求められる。この結果を図６に示す。
【００４９】
＜斜影変換パラメータ（ａ〜ｈ）の生成（図１８のフローのＳＴＥＰ４）＞
斜影変換パラメータ生成部２１５は、キャリブレーションチャート検出部２１０，２１１において左右カメラ画像から検出したチャート特徴点（ｐ０，ｐ１，ｐ２，ｐ３）４座標と、ステレオマッチングエラー最小化制御部２１６が出力する回転ずれ補正量θ（後述）を用いて、射影変換部２００，２０１において左右カメラ画像から、目的とする左右補正画像へ変換する射影変換パラメータを求める。以下に、具体的な処理内容を述べる。なお。目的とする左右補正画像とは、図７に示すように、左補正画像と右補正画像の各々に表示されるキャリブレーションチャートの形状が同じになる画像である。
なお、この処理は、図１８に示すフローチャートのステップ４（ＳＴＥＰ４）の処理に対応する。
【００５０】
このような補正画像を得るための射影変換パラメータ、すなわち撮影された左右カメラ画像の射影変換により、目的とする左右補正画像へ変換する射影変換パラメータを求める。
【００５１】
斜影変換パラメータ生成部２１５は、まず、左右カメラ画像から取得した特徴点（ｐ０，ｐ１，ｐ２，ｐ３）４点を結んでできる四角形を、同一形状の長方形へ斜影するための、基準となる長方形の水平・垂直方向の辺の長さ（ｗ，ｈ）と、補正後の傾き角度φを求める。
【００５２】
図８（ａ）に示すように、左右どちらかのカメラ画像（ここでは、左カメラ画像）におけるチャート基準点のｐ０とｐ１，ｐ２とｐ３，ｐ０とｐ２，ｐ１とｐ３の中点であるｑ０，ｑ１，ｑ２，ｑ３を求める。
さらに、
ｑ１とｑ２を結ぶ直線の長さをｗ、
ｑ０とｑ３を結ぶ直線の長さをｈ
とし、さらに、
ｑ１とｑ２を結ぶ直線のカメラ画像水平ラインに対する傾きをφ
（本例では、時計回りに回転する方向を正）
とする。
【００５３】
図８（ｃ）に示す長方形は、長さｈの辺と長さｗの辺によって構成される長方形であり、この長方形を基準長方形とする。
【００５４】
さらに、次の図９に示すように、ステレオマッチングエラー最小化制御部２１６が出力する回転補正量θ（初期値として例えばθ＝−０．１５［ｒａｄ］）だけ、上で求めた基準長方形（図８（ｃ））を回転させる。これは、図１０に示すように、原点（０，０）に長方形の重心をおき（−ｗ／２，ｈ／２），（ｗ／２，ｈ／２），（−ｗ／２，−ｈ／２），（ｗ／２，−ｈ／２）を頂点とする長方形をφ＋θだけ回転させればよい。
【００５５】
次に、図１１に示すように左右カメラそれぞれの画像から検出したチャートの基準点ｐ０〜ｐ３を結んでできる２つの四角形のそれぞれの重心を求め、さらにそれらの中点を求め（ｃｘ，ｃｙ）とする。この（ｃｘ，ｃｙ）が重心となるように、上で求めた基準長方形（重心が原点）を平行移動する（図１２参照）。
【００５６】
この過程を式で表すと、アフィン変換により（φ＋θ）だけ回転させた後、（ｃｘ，ｃｙ）だけ平行移動する処理に相当するので、最終的な基準長方形の座標（Ｘ，Ｙ）は、次の式（式４）に示すように表される。
【００５７】
【数２】
2011253376.tif 000006
・・・（式４）
【００５８】
上記式（式４）において、
（ｘ，ｙ）に、
重心を原点とする基準長方形の頂点の座標（−ｗ／２，ｈ／２），（ｗ／２，ｈ／２），（−ｗ／２，−ｈ／２），（ｗ／２，−ｈ／２）・・・を代入することにより、図１２に示すような基準長方形の頂点を示す絶対座標（Ｘ０，Ｙ０），（Ｘ１，Ｙ１），（Ｘ２，Ｙ２），（Ｘ３，Ｙ３）が求まる。
【００５９】
最後に、図１３に示すように、
（ａ）左補正画像の基準長方形の頂点座標（Ｘｌｅｆｔ０，Ｙｌｅｆｔ０）〜（Ｘｌｅｆｔ３，Ｙｌｅｆｔ３）、
（ｂ）右補正画像の基準長方形の頂点座標（Ｘｒｉｇｈｔ０，Ｙｒｉｇｈｔ０）〜（Ｘｒｉｇｈｔ３，Ｙｒｉｇｈｔ３）
これらを求める。
【００６０】
これは、左右の補正画像間において、無限遠方の対象物の視差が無くなる（水平方向の座標が一致する）ように、基準長方形を水平方向へ平行移動すればよい。すなわち、ステレオカメラからチャートパターンまでの距離に対応した左右の視差ｄｃｈａｒｔの分だけ基準長方形を水平方向に平行移動すればよい。以下に具体的な手順を示す。
【００６１】
視差ｄｃｈａｒｔは、実空間でのチャートの長方形パターンの水平方向の長さ（ｐ０とｐ１間もしくは、ｐ２とｐ３間の距離）Ｗｃｈａｒｔと左右カメラの基線長Ｗｂａｓｅｌｉｎｅが既知とすると、左右カメラ画像から取得した長方形パターンの水平方向の長さｗを用いて、次の式（式５）に従って算出することができる。
【００６２】
【数３】
2011253376.tif 000007
・・・（式５）
【００６３】
従って、左右の視差を考慮した基準長方形の座標（（Ｘｌｅｆｔ０，Ｙｌｅｆｔ０）〜（Ｘｌｅｆｔ３，Ｙｌｅｆｔ３），（Ｘｒｉｇｈｔ０，Ｙｒｉｇｈｔ０）〜（Ｘｒｉｇｈｔ３，Ｙｒｉｇｈｔ３）は、前で求めた座標（Ｘ，Ｙ）を、左画像、右画像それぞれ均等になるように、上で求めた視差だけ平行移動し、次の式（式６），（式７）のように示すことができる。
【００６４】
【数４】
2011253376.tif 000008
・・・（式６）
2011253376.tif 000009
・・・（式７）
【００６５】
なお、（Ｘｌｅｆｔ，Ｙｌｅｆｔ）は、（Ｘｌｅｆｔ０，Ｙｌｅｆｔ０）〜（Ｘｌｅｆｔ３，Ｙｌｅｆｔ３）、
（Ｘｒｉｇｈｔ，Ｙｒｉｇｈｔ）は、（Ｘｒｉｇｈｔ０，Ｙｒｉｇｈｔ０）〜（Ｘｒｉｇｈｔ３，Ｙｒｉｇｈｔ３）を示すものとする。
以上を整理すると、左補正画像における基準長方形の座標（Ｘｌｅｆｔ，Ｙｌｅｆｔ）は、次の式（式８）のように示すことができる。
【００６６】
【数５】
2011253376.tif 000010
・・・（式８）
【００６７】
また、右補正画像における基準長方形の座標（Ｘｒｉｇｈｔ，Ｙｒｉｇｈｔ）は、次の式（式８）のように示すことができる。
【００６８】
【数６】
2011253376.tif 000011
・・・（式９）
【００６９】
従って、（ｘ，ｙ）に、重心を原点とする基準長方形の頂点の４座標：（−ｗ／２，ｈ／２），（ｗ／２，ｈ／２），（−ｗ／２，−ｈ／２），（ｗ／２，−ｈ／２）を代入することで、左右それぞれの補正画像における基準長方形の頂点４座標：左は（Ｘｌｅｆｔ，Ｙｌｅｆｔ），右は（Ｘｒｉｇｈｔ，Ｙｒｉｇｈｔ）が求まる。
【００７０】
以上のようにして求めた補正画像上の座標（Ｘｌｅｆｔ，Ｙｌｅｆｔ），（Ｘｒｉｇｈｔ，Ｙｒｉｇｈｔ）と、左右カメラ画像からの特徴点検出座標（Ｘｌｅｆｔ，Ｙｌｅｆｔ），（Ｘｒｉｇｈｔ，Ｙｒｉｇｈｔ）との関係を、図１４に示すような斜影変換で表現すると、次の式（式１０），（式１１）のようになる。
【００７１】
【数７】
2011253376.tif 000012
・・・（式１０）
2011253376.tif 000013
・・・（式１１）
【００７２】
上記式において、（Ｘ，Ｙ）は斜影変換後の補正画像の座標であり、（ｘ，ｙ）は斜影変換前のカメラ画像の座標、変数ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈは斜影変換パラメータである。
【００７３】
上記の（式１０），（式１１）は、斜影変換前の座標（ｘ，ｙ）と斜影変換後の座標（Ｘ，Ｙ）をそれぞれ（ｘｎ，ｙｎ），（Ｘｎ，Ｙｎ）（ｎは０から３）とし、斜影変換パラメータＰ＝（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ）とおくと、下記式（式１２）のように変形することができる。
【００７４】
【数８】
2011253376.tif 000014
・・・（式１２）
【００７５】
上記式（式１２）の（ｘｎ，ｙｎ）へ左右カメラ画像上４点のチャート基準点ｐ０，ｐ１，ｐ２，ｐ３の座標を代入し、（Ｘｎ，Ｙｎ）へ（式８），（式９）で求めた左右補正画像における基準長方形の頂点座標（Ｘｌｅｆｔ，Ｙｌｅｆｔ），（Ｘｒｉｇｈｔ，Ｙｒｉｇｈｔ）を代入することによって、左画像用と右画像用の斜影変換パラメータＰを、それぞれ連立方程式の解として求めることができる。以下、上記で求めた左画像用、右画像用の斜影変換パラメータ（Ｐ）は、それぞれ、Ｐｌｅｆｔ，Ｐｒｉｇｈｔとする。
【００７６】
＜左右カメラ画像の斜影変換処理（図１８のフローのＳＴＥＰ５）＞
射影変換部２００，２０１は、入力された左右カメラ画像に対して、射影変換パラメータ生成部２１５において求めた左右それぞれの画像に対する斜影変換パラメータＰｌｅｆｔ，Ｐｒｉｇｈｔを用いて、図１４に示すような射影変換処理を行う。
なお、この処理は、図１８に示すフローチャートのステップ５（ＳＴＥＰ５）の処理に対応する。
【００７７】
具体的には、補正画像の座標（Ｘ，Ｙ）に対応するカメラ入力画像の座標（ｘ，ｙ）を、前述の（式１０），（式１１）を用いて求め、補正画像の各画素値をカメラ入力画像へマッピングしていく。なお、マッピングにあたっては、エイリアシングを抑制するためバイリニア法などにより画素補完を行うものとする。
【００７８】
＜斜影変換画像に対するステレオマッチングの実行（図１８のフローのＳＴＥＰ６）＞
垂直エッジ検出部２０２、２０３は、撮影した画像のＤＣ成分の除去を行うとともに、ステレオマッチングの左右の対応点の探索において必要な垂直エッジの成分のみを抜き出す処理を行う。
なお、この処理は、図１８に示すフローチャートのステップ６（ＳＴＥＰ６）の処理に対応する。
【００７９】
ステレオマッチングの左右の対応点の探索は、例えば図１５に示すように、左画像と右画像の同一被写体の画像部分を検出する処理に相当する。ステレオマッチングの左右の対応点の探索において必要な垂直エッジの成分のみを抜き出す処理により、左右のカメラモジュール間で輝度値のオフセットにバラツキがある場合においても、その影響を回避することができる。具体的には、例えば入力画像の輝度値をｇ（ｘ，ｙ）、出力画像の輝度値をｆ（ｘ，ｙ）として、先に説明した（式１），（式２）のような演算を行えばよい。
【００８０】
ステレオマッチング部２０５は、射影変換された左右補正画像の垂直エッジの対応点を求める処理を行い、マッチングエラー評価値を計算する。マッチング処理を実行する画像領域の大きさは様々な設定が可能である。ここでは、一例として、右画像のある座標の４ｘ４画素ブロックに対応する左画像における対応点座標の水平方向の差分ピクセル量（視差）を求めるブロックマッチング手法によるステレオマッチングを用いた処理例について説明する。
【００８１】
４ｘ４ブロック単位での処理を行う場合、出力座標（ｘ，ｙ）の範囲は、ｘ，ｙ共に入力画像の縦横４分の１となる。垂直エッジ検出部２０２，２０３から出力された左右エッジ画像をｌｅｆｔ（ｘ，ｙ），ｒｉｇｈｔ（ｘ，ｙ）、左右画像間の視差をｄｉｓｐａｒｉｔｙとすると、出力座標（ｘ，ｙ）における、左画像と右画像との間の４ｘ４画素ブロックの差分絶対値和ｂｌｏｃｋ＿ａｂｓ＿ｓｕｍ（ｘ，ｙ，ｄｉｓｐａｒｉｔｙ）は、以下の（式１３）のように表すことができる。
【００８２】
【数９】
2011253376.tif 000015
・・・（式１３）
【００８３】
出力画像の各座標（ｘ，ｙ）毎に、視差［ｄｉｓｐａｒｉｔｙ］を一定範囲（例えば、０から６３画素（ピクセル）の間）において１画素（ピクセル）単位で連続的に変化させて、上式の４ｘ４画素ブロックの差分絶対値和ｂｌｏｃｋ＿ａｂｓ＿ｓｕｍ（ｘ，ｙ，ｄｉｓｐａｒｉｔｙ）が最小となるｄｉｓｐａｒｉｔｙの値を求め、これを視差［ｄｉｓｐａｒｉｔｙ（ｘ，ｙ）］とする。
【００８４】
上記のようなブロックマッチング処理によって得られた差分絶対値和の最小値ｂｌｏｃｋ＿ａｂｓ＿ｓｕｍ（ｘ，ｙ，ｄｉｓｐａｒｉｔｙ（ｘ，ｙ））を、次式（式１４）のように出力画素分だけ積分した値は、統計的に左右のステレオ画像間で対応点が正しくみつけられないブロックが多い場合において大きな値となる傾向を示すので、これをステレオマッチングエラー評価値：ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒとする。
【００８５】
【数１０】
2011253376.tif 000016
・・・（式１４）
【００８６】
＜マッチングエラー最小化制御部の処理（図１８のフローのＳＴＥＰ７〜１０）
マッチングエラー最小化制御部２１６は、回転ずれ補正量θを変化させて、ステレオマッチング部２０５が出力するマッチングエラー評価値（ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ）が最小となるような、左画象用・右画像用の斜影変換パラメータ（Ｐｌｅｆｔ，Ｐｒｉｇｈｔ）を探索する制御を行う。エラーは、ノイズ成分を除けば、統計的に角度に連動し連続的に変化するので、最急降下法などを用い探索時間を短縮することも可能である。
なお、この処理は、図１８に示すフローチャートのステップ７〜１０（ＳＴＥＰ７〜１０）の処理に対応する。
【００８７】
例として、マッチングエラー評価値（ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ）の最小値を、単純に、全探索によって求める方法について、図１６を参照して説明する。図１６は横軸に回転ずれ補正量θ、縦軸にステレオマッチングのエラー評価値（ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ）を設定したグラフである。
【００８８】
例えば、回転ずれ補正量θを、−０．１５［ｒａｄ］から＋０．１５［ｒａｄ］の間で、０．００１［ｒａｄ］ずつ変化をさせ、各θ毎のマッチングエラー評価値ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ（θ）を求め、その最小値（ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ＿ｍｉｎ）を探索すれば、マッチングエラー評価値（ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ）の最小値が得られる回転ずれ補正量θを求めることができる。
【００８９】
なお、説明の簡略化のためブロックマッチングベースでの構成例を述べたが、ＤＰ（Ｄｙｎａｍｉｃ  Ｐｒｏｇｒａｍｍｉｎｇ）によってライン方向で連続的に視差が変化するように制約を設けたコスト関数を定義し、このコスト関数の最小値を積分したものを、マッチングエラー評価値として用いてもよい。コスト関数を適用した場合、例えば図１７に示すような曲線に基づくコスト値の変化から、コストの最小となる回転ずれ補正量θを求めることができる。
【００９０】
なお、以上のように述べたステレオマッチングエラーの計算処理は、かなり煩雑な処理となるが、ステレオカメラを用いたアプリケーションとしての視差（ｄｉｓｐａｒｉｔｙ）検出用ステレオマッチング処理と共有することで、容易に実現することが可能である。
【００９１】
＜斜影変換パラメータ（キャリブレーション結果）の保存処理（（図１８のフローのＳＴＥＰ１１）＞
斜影変換パラメータ記憶部２２０は、マッチングエラー評価値ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ（θ）が最小値（ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ＿ｍｉｎ）となる時の、左右２組の斜影変換パラメータ（Ｐｌｅｆｔ'，  Ｐｒｉｇｈｔ'）を、補正パラメータ（キャリブレーション結果）として保存する。
なお、この処理は、図１８に示すフローチャートのステップ１１（ＳＴＥＰ１１）の処理に対応する。
【００９２】
［４．本発明の画像処理装置の実行する処理のシーケンスについて］
次に、図１８に示すフローチャートを参照して本発明の画像処理装置の実行する処理シーケンスについて説明する。
図１８に示すフローは、本発明の画像処理装置の実行する１つの処理例を示すフローチャートであり、図２、図３を参照して説明した穴あきチャートパターンとテクスチャ面を同時撮影（１回だけ撮影）しキャリブレーション（斜影変換）パラメータを求める処理例に相当する。
【００９３】
最初のステップ１（ＳＴＥＰ１）では、図２に示す撮影環境で、ステレオカメラ１００がチャートパターン１０１とテクスチャ面１０２を撮影した左右画像を入力する。これらの入力画像は、図４に示す左カメラ画像１５１、右かめら画像１５２に対応する。
【００９４】
ステップ２（ＳＴＥＰ２）では、キャリブレーションチャート検出部２１０において、ＳＴＥＰ１で取得した左右ステレオ画像から特徴点（基準点）ｐ０，ｐ１，ｐ２，ｐ３の検出を行う。
個の処理は、先に図５、図６を産しようして説明した処理に対応する。
【００９５】
ステップ３（ＳＴＥＰ３）では、マッチングエラー最小化制御部２１６において、ステレオマッチングエラー評価値の最小値ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ＿ｍｉｎの初期値としてとりうる最大の値（ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ＿ｍｉｎ＝∞）をセット、また、回転ずれ補正量θの初期値（例えばθ＝−０．１５）をセットする。この初期値は、予め設定した回転ずれ補正量の計測範囲のスタート位置に相当する。
【００９６】
ステップ４（ＳＴＥＰ４）では、斜影変換パラメータ生成部２１５において、ＳＴＥＰ２で検出した左右カメラ画像におけるチャートパターンの特徴点（ｐ０，ｐ１，ｐ２，ｐ３）の座標と、マッチングエラー最小化制御部２１６が出力する回転ずれ補正量θをもとに、左右カメラ画像を左右補正画像へ変換するための射影変換パラメータ（Ｐｌｅｆｔ，Ｐｒｉｇｈｔ）を生成する。
この処理は、先に図８〜図１４を参照して説明した処理に対応する。
【００９７】
ステップ５（ＳＴＥＰ５）では、斜影変換部２００・２０１において、左右それぞれの斜影変換パラメータ（Ｐｌｅｆｔ，  Ｐｒｉｇｈｔ）を用いて左右カメラ画像に対して斜影変換を実行し、左右補正画像を生成する。
この処理は、先に図１４を参照して説明した処理に対応する。
【００９８】
ステップ６（ＳＴＥＰ６）では、まず、垂直エッジ検出部２０２，２０３において、左右補正画像の垂直方向のエッジ画像を生成する。次に、ステレオマッチング部２０５において、求めた左右エッジ画像に対してステレオマッチング処理を行い、回転ずれ補正量θに対応するマッチングエラー評価値ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ（θ）を求める。
この処理は、先に図１５、図１６を参照して説明した処理に対応する。
【００９９】
ステップ７（ＳＴＥＰ７）では、マッチングエラー最小化制御部２１６において、マッチングエラー評価値ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ（θ）が最小値であるかどうかを、マッチングエラー評価値の最小値ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ＿ｍｉｎと比較し判定する。最小値であった場合はステップ８（ＳＴＥＰ８）へ進む、そうでない場合はステップ９（ＳＴＥＰ９）へ進む。
ステップ７〜１０（ＳＴＥＰ７〜１０）の処理は、例えば先に図１６を参照して説明した横軸に回転ずれ補正量θ、縦軸にステレオマッチングのエラー評価値（ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ）を設定したグラフを適用したエラー評価値の最小値を求める処理に対応する。
【０１００】
ステップ８（ＳＴＥＰ８）では、マッチングエラー最小値ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ＿ｍｉｎを新しいマッチングエラー評価値（ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ）へ更新し、左右それぞれの斜影変換パラメータ（Ｐｌｅｆｔ，Ｐｒｉｇｈｔ）を、エラー最小時の斜影変換パラメータ（Ｐｌｅｆｔ'，Ｐｒｉｇｈｔ'）として保持する。
【０１０１】
ステップ９（ＳＴＥＰ９）では、回転ずれ補正量θを更新する。この例では、０．００１［ｒａｄ］ずつ回転を加える。
【０１０２】
ステップ１０（ＳＴＥＰ１０）では、回転ずれ補正量θの探索範囲（この例では、θ＜０．１５かどうか）チェックを行う。探索範囲内であれば、ステップ（ＳＴＥＰ４）へ戻る。探索範囲外であれば、ステップ１１（ＳＴＥＰ１１）へ進む。
【０１０３】
ステップ１１（ＳＴＥＰ１１）では、エラーが最小となる斜影変換パラメータ（Ｐｌｅｆｔ'，Ｐｒｉｇｈｔ'）を、キャリブレーション結果として記憶装置（キャリブレーションパラメータ記憶部２２０）へ保存する。
【０１０４】
このように、本発明の画像処理装置は、図２に示すような簡易な撮影構成で撮影された画像、すなわちステレオカメラを構成する左右のカメラによって平面チャートと異なる奥行を含んだテクスチャ画像を同時に撮影した画像を適用して、撮影画像に対する射影変換等のパラメータ（キャリブレーションパラメータ）をマッチングエラーが最小となるパラメータとして算出することが可能となる。
【０１０５】
図４に示す本発明の画像処理装置１８０の構成についてまとめると以下のようになる。
射影変換部２００，２０１では、異なる視点からの撮影画像である左画像と右画像の射影変換を実行する。
キャリブレーションチャート検出部２１０，２１１では、左画像と右画像に含まれる１枚の平面チャートの構成部から複数の特徴点を検出する。
射影変換パラメータ生成部２１５は、キャリブレーションチャート検出部２１０，２１１の検出した左画像と右画像の特徴点情報を入力して、射影変換部２００，２０１において実行する射影変換パラメータを生成する。
ステレオマッチング部２０５では、射影変換部２００，２０１において射影変換の実行された射影変換左画像と射影変換右画像を適用したステレオマッチングを実行する。
マッチングエラー最小化制御部２１６は、射影変換左画像と射影変換右画像の画像回転角度情報と、ステレオマッチングにおけるエラー評価値の対応情報を取得し、エラー評価値が最小となる画像回転角度を求める。
さらに、射影変換パラメータ生成部２１５は、エラー評価値が最小となる画像回転角度を反映した最終的な射影変換パラメータを算出する。
【０１０６】
最終的な射影変換パラメータを算出する過程において、ズ１８のフローのステップ４（ＳＴＥＰ４）〜ステップ１０（ＳＴＥＰ１０）のループ処理が行われる。
すなわち、マッチングエラー最小化制御部２１６は、画像回転角度情報を順次更新して、射影変換パラメータ生成部２１５に出力し、射影変換パラメータ生成部２１５は、マッチングエラー最小化制御部２１６から入力する画像回転角度情報に基づいて、射影変換パラメータを更新し、射影変換部２００，２０１は、射影変換パラメータ生成部２１５の生成する更新射影変換パラメータに基づく射影変換を実行する。
【０１０７】
さらに、ステレオマッチング部２０５は、順次更新される射影変換パラメータを適用した射影変換左画像と射影変換右画像のステレオマッチングを実行し、マッチングエラー最小化制御部２１６は、順次更新される射影変換パラメータを適用した射影変換左画像と射影変換右画像のステレオマッチングにおけるエラー評価値が最小となる画像回転角度を検出し、検出した画像回転角度を射影変換パラメータ生成部２１５に出力する。射影変換パラメータ生成部２１５は、マッチングエラー最小化制御部２１６から入力するエラー評価値が最小となる画像回転角度に基づいて、最終的な射影変換パラメータを生成する。
【０１０８】
このような処理によって、テレオマッチングにおいてエラーの発生可能性が低減された最適な射影変換パラメータを算出することができる。
【０１０９】
本発明の構成では、図３を参照して説明した非常に単純な１枚の平面チャートを基準として画像補正を行うとともに、平面チャートと異なる奥行を含んだテクスチャ画像を同時に撮影しその左右画像のステレオマッチングのエラー量を最小化することによって、平面検出のみでは補正することができない補正対象カメラのベースラインの方向（＝左右カメラのエピポーラライン）に対する左右カメラ撮像面の傾きを、単純かつ高精度に補正することが可能となる。
【０１１０】
なお、左右のカメラによって撮影する平面チャートは、周辺部に近い長方形の頂点４点の特徴点さえ取得可能な設定であればよい。平面チャートの中央部を空洞、もしくは平面チャートそれ自体を透過とし奥行が異なるテクスチャ面を同時に撮影すると、１回の撮影のみでキャリブレーションが可能であり、製造時などにおいて低コストな調整プロセスを実現できる。
【０１１１】
［５．本発明の画像処理装置の実行する第２の処理シーケンスについて］
図１８を参照して説明した処理シーケンスは、チャートパターンとテクスチャ面を併せて撮影した画像を適用した処理例である。しかし、このようなチャートパターンとテクスチャ面の組み合わせを同時に撮影する環境は限られる。以下では、チャートパターンとテクスチャ面を個別に撮影しキャリブレーション（斜影変換）パラメータを求める処理シーケンスについて説明する。
【０１１２】
例えば、図１９に示すように、
（ａ）チャートパターンを撮影した撮影画像１、
（ｂ）チャートパターンとは異なる奥行きを含む空間を撮影した撮影画像２、
これらの画像を個別に撮影してキャリブレーションを行う。
【０１１３】
図２０に示すフローを参照して本処理例のシーケンスについて説明する。
なお、この処理も先に図４を参照して説明した画像処理装置１８０と同様の構成において実行される。
ステップ１２（ＳＴＥＰ１２）では、ステレオカメラ１００によって、図１９に示す（ａ）撮影画像１のようなチャートパターンを、左右カメラ画像として取得する。このチャートパターンは、先に図２、図３を参照して説明したチャートパターンと同様のチャートパターンである。
【０１１４】
ステップ１３（ＳＴＥＰ１３）では、キャリブレーションチャート検出部２１０において、ステップ１２（ＳＴＥＰ１２）で取得したチャートパターンを撮影した左右ステレオ画像から特徴点（基準点）ｐ０，ｐ１，ｐ２，ｐ３の検出を行う。
【０１１５】
ＳＴＥＰ１４では、ステレオカメラ１００によって、図１９に示す（ｂ）撮影画像２のようなチャートパターンとは異なる奥行きを含む空間の任意画像を、左右カメラ画像として取得する。
以降の処理は、図１８に示すフローのステップ３（ＳＴＥＰ３）以降の処理と同じ処理を実行する。
【０１１６】
すなわち、ステップ３（ＳＴＥＰ３）では、マッチングエラー最小化制御部２１６において、ステレオマッチングエラー評価値の最小値ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ＿ｍｉｎの初期値としてとりうる最大の値（ｍａｔｃｈｉｎｇ＿ｅｒｒｏｒ＿ｍｉｎ＝∞）をセット、また、回転ずれ補正量θの初期値（例えばθ＝−０．１５）をセットする。この初期値は、予め設定した回転ずれ補正量の計測範囲のスタート位置に相当する。
【０１１７】
ステップ４（ＳＴＥＰ４）では、斜影変換パラメータ生成部２１５において、ＳＴＥＰ１３で検出したチャートパターンを撮影した左右カメラ画像におけるチャートパターンの特徴点（ｐ０，ｐ１，ｐ２，ｐ３）の座標と、マッチングエラー最小化制御部２１６が出力する回転ずれ補正量θをもとに、左右カメラ画像を左右補正画像へ変換するための射影変換パラメータ（Ｐｌｅｆｔ，Ｐｒｉｇｈｔ）を生成する。
ステップ５（ＳＴＥＰ５）では、斜影変換部２００・２０１において、左右それぞれの斜影変換パラメータ（Ｐｌｅｆｔ，  Ｐｒｉｇｈｔ）を用いて左右カメラ画像に対して斜影変換を実行し、左右補正画像を生成する。この処理は、先に図１４を参照して説明した処理に対応する。
【０１１８】
なお、本処理例では、図１９に示すように、
（ａ）チャートパターン撮影画像としての第１左画像と第１右画像、
（ｂ）風景等の任意画像を撮影した第２左画像と第２右画像、
これらの４つの画像が存在する。
特徴点ｐ０〜ｐ３の検出処理には、（ａ）チャートパターン撮影画像としての第１左画像と第１右画像を適用し、一方、マッチングエラーの検出処理を実行する画像としては、（ｂ）風景等の任意画像を撮影した第２左画像と第２右画像を適用するのが好ましい。なおいずれも同じカメラで撮影されていることが条件である。
【０１１９】
すなわち、ステップ３（ＳＴＥＰ３）とステップ４（ＳＴＥＰ４）の処理は、（ａ）チャートパターン撮影画像としての第１左画像と第１右画像を適用して処理を行い、ステップ５（ＳＴＥＰ５）では、ステップ４（ＳＴＥＰ４）で求めた射影変換パラメータ（初期値）を適用した射影変換を（ｂ）風景等の任意画像を撮影した第２左画像と第２右画像に対して適用する。
【０１２０】
その後ステップ４（ＳＴＥＰ４）〜ステップ１０（ＳＴＥＰ１０）のループは、（ｂ）風景等の任意画像を撮影した第２左画像と第２右画像を適用して実行することができる。最終的に、マッチングエラーの最小の射影変換パラメータ算出しステップ１１（ＳＴＥＰ１１）において記憶部に記憶する。
【０１２１】
本処理例では、長方形チャートと、一般的な風景等、任意の被写体を撮影した画像を用いてキャリブレーションパラメータを求めることができる。
なお、本例では、図１９（ａ）に示すチャートパターンは、長方形の中央部が空洞であることは必要でなく、４頂点が検出可能な設定であればよい。
【０１２２】
［６．画像処理装置のハードウェア構成例について］
最後に、本発明の画像処理装置の１つの具体的なハードウェア構成例について説明する。図２１には、本発明の画像処理装置の一例としてパーソナルコンピュータ（ＰＣ）の例を示している。ただし、本発明の画像処理装置は画像を入力して画像処理を実行して上述した射影変換等の補正パラメータの算出や、ステレオマッチング処理を実行可能な装置であればよくＰＣの他、撮像装置等の様々な装置において実現される。なお、例えば撮像装置である場合は、図４に示す射影変換部２００，２０１の前段に撮像部が設定されることになる。
【０１２３】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）５０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）５０２、または記憶部５０８に記憶されているプログラムに従って各種の処理を実行する。例えば、上述の実施例において説明した画像処理を実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）５０３には、ＣＰＵ５０１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ５０１、ＲＯＭ５０２、およびＲＡＭ５０３は、バス５０４により相互に接続されている。
【０１２４】
ＣＰＵ５０１はバス５０４を介して入出力インタフェース５０５に接続され、入出力インタフェース５０５には、操作スイッチ、キーボード、マウスなどよりなる入力部５０６、ディスプレイ、スピーカなどよりなる出力部５０７が接続されている。
また、入力部５０６からは、処理対象データ、例えばステレオカメラで撮影された複数の画像が入力される。
【０１２５】
ＣＰＵ５０１は、入力部５０６から入力される指示情報等に応じて各種の処理を実行し、処理結果を例えば出力部５０７に出力する。出力部５０７は例えばディスプレイ、スピーカ等によって構成される。
【０１２６】
入出力インタフェース５０５に接続されている記憶部５０８は、例えばハードディスクからなり、ＣＰＵ５０１が実行するプログラムや各種のデータを記憶する。通信部５０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１２７】
入出力インタフェース５０５に接続されているドライブ５１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア５１１を駆動し、記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記憶部５０８に転送され記憶される。
【０１２８】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１２９】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１３０】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１３１】
以上、説明したように、本発明の一実施例の構成によれば、異なる視点からの撮影画像である左画像と右画像を適用した被写体距離の算出を確実に行うための変換パラメータを算出する装置および方法を実現される。具体的には、異なる視点から撮影された左画像と右画像の射影変換を実行する射影変換処理を実行して、射影変換のなされた射影変換左画像と射影変換右画像を適用したステレオマッチングによるエラー評価値を取得する。射影変換左画像と射影変換右画像の画像回転角度情報とエラー評価値の対応情報に基づいてエラー評価値が最小となる画像回転角度を求め、その画像回転角度に対応する射影変換パラメータを算出する。この処理により、ステレオマッチングにおいてエラーの発生可能性が低減された最適な射影変換パラメータを算出することができる。
【０１３２】
また、本発明の画像処理装置では、一回のチャート撮影のみでステレオカメラのキャリブレーションを実現できる。その結果、チャートの撮影回数を減らすことによって、工場などの調整工数の削減が期待できる。
ステレオカメラで撮影するチャートは、斜影変換を行うのに必要な４点の特徴点があればよく、（長方形パターンのような）非常に単純なパターンで実現できる。従って、チャート画像からの特徴点検出に関しても、高い精度が要求されないため、単純な画像処理のみで実現できる。
さらに、本発明の画像処理装置では、ステレオマッチングのエラー量をずれの評価値として用いたことで、回転ずれ量（撮像面に対する基線長の傾き角度）の高精度な補正を実現できる。
【符号の説明】
【０１３３】
１０  ステレオカメラ
１１  左カメラ撮影画像
１２  右カメラ撮影画像
１００  ステレオカメラ
１０１  キャリブレーションチャートパターン
１０２  テクスチャ面
１５１  左カメラ画像
１５２  右カメラ画像
１８０  画像処理装置
２００，２０１  射影変換部
２０２，２０３  垂直エッジ検出部
２０５  ステレオマッチング部
２１０，２１１  キャリブレーションチャート検出部
２１５  射影変換パラメータ生成部
２１６  マッチングエラー最小化制御部
２２０  キャリブレーションパラメータ記憶部
５０１  ＣＰＵ
５０２  ＲＯＭ
５０３  ＲＡＭ
５０４  バス
５０５  入出力インタフェース
５０６  入力部
５０７  出力部
５０８  記憶部
５０９  通信部
５１０  ドライブ
５１１  リムーバブルメディア
【図３】
2011253376.tif 000017
【図４】
2011253376.tif 000018
【図８】
2011253376.tif 000019
【図９】
2011253376.tif 000020
【図１０】
2011253376.tif 000021
【図１１】
2011253376.tif 000022
【図１２】
2011253376.tif 000023
【図１３】
2011253376.tif 000024
【図１４】
2011253376.tif 000025
【図１６】
2011253376.tif 000026
【図１７】
2011253376.tif 000027
【図１８】
2011253376.tif 000028
【図２０】
2011253376.tif 000029
【図２１】
2011253376.tif 000030
【図１】
2011253376.tif 000031
【図２】
2011253376.tif 000032
【図５】
2011253376.tif 000033
【図６】
2011253376.tif 000034
【図７】
2011253376.tif 000035
【図１５】
2011253376.tif 000036
【図１９】
2011253376.tif 000037