(57)【要約】【課題】キャリブレーション結果のパラメータが適切なものであるか否かをユーザが容易に判定すること。【解決手段】キャリブレーション装置１００は、車両に設置されたカメラの視野に複数の冶具が含まれるように冶具が規定座標に配置された状態で、カメラが撮影した画像と、カメラのパラメータと、ユーザに指定された画像上の冶具の座標を取得する。キャリブレーション装置は、画像とパラメータに基づいて、移動体の俯瞰画像を生成すると共に、画像上の冶具の座標と規定座標を、俯瞰画像上の座標に変換する。そして、キャリブレーション装置は、俯瞰画像上の冶具の座標と変換結果を基にして、パラメータが適切であるか否かを判定する。【選択図】図１３
2010258897.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
移動体に設置されたカメラの視野に複数の冶具が含まれるように前記冶具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記カメラのパラメータと、前記画像上の治具の座標を取得するステップと、
前記画像と前記パラメータに基づいて生成された前記移動体の俯瞰画像を取得するステップと、
前記画像上の治具の座標と前記規定座標を前記俯瞰画像上の座標に変換するステップと、
前記俯瞰画像上の治具の座標と、前記変換するステップの変換結果を基にして、前記パラメータが適切であるか否かを判定するステップと
を実行させることを特徴とする判定プログラム。
【請求項２】
前記判定するステップは、前記パラメータが適切でないと判定した場合に、前記俯瞰画像上の治具の座標と前記変換するステップにて変換された前記規定座標の距離、および、前記俯瞰画像上の治具の座標と前記変換するステップにて変換された画像上の冶具の座標の距離を基にして、前記パラメータが適切ではない理由を通知することを特徴とする請求項１に記載の判定プログラム。
【請求項３】
コンピュータに、
移動体に設置されたカメラの視野に複数の冶具が含まれるように前記冶具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記カメラのパラメータを取得するステップと、
前記画像と前記パラメータに基づいて生成された前記移動体の俯瞰画像を取得するステップと、
前記規定座標を前記俯瞰画像上の座標に変換するステップと、
前記俯瞰画像上の治具の座標と、前記変換するステップの変換結果を基にして、前記パラメータが適切であるか否かを判定するステップと
を実行させることを特徴とする判定プログラム。
【請求項４】
コンピュータに、
移動体に設置されたカメラの視野に複数の冶具が含まれるように前記冶具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記カメラのパラメータと、前記画像上の治具の座標を取得するステップと、
前記画像と前記パラメータに基づいて生成された前記移動体の俯瞰画像を取得するステップと、
前記画像上の治具の座標を、前記俯瞰画像上の座標に変換するステップと、
前記俯瞰画像上の治具の座標と、前記変換するステップの変換結果を基にして、前記パラメータが適切であるか否かを判定するステップと、
を実行させることを特徴とする判定プログラム。
【請求項５】
移動体に設置されたカメラの視野に複数の治具が含まれるように前記治具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記規定座標と、前記カメラの座標を基にして、前記カメラのパラメータを算出するパラメータ算出部と、
前記画像と前記パラメータに基づいて、前記移動体の俯瞰画像を生成する俯瞰画像生成部と、
前記画像上の治具の座標と前記規定座標を前記俯瞰画像上の座標に変換する変換部と、
前記俯瞰画像上の治具の位置と、前記画像上の冶具の座標と規定座標とを前記俯瞰画像上の座標にそれぞれ変換した変換結果を基にして、前記パラメータが適切であるか否かを判定する判定部と、
を有することを特徴とするキャリブレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動体に設置されたカメラのキャリブレーションを行うキャリブレーション装置等に関する。
【背景技術】
【０００２】
近年、移動体の周囲に設置した複数のカメラが撮影した画像を用いて、移動体を上方から撮影したような俯瞰（鳥瞰）図や、各画像を合成して３６０度のパノラマ画像を表示する技術が普及している。このように、カメラが撮影した画像を俯瞰図などに変換する場合や、各画像を合成してパノラマ画像を表示するためには、カメラの位置（ｘ座標、ｙ座標、ｚ座標）や角度（ロール角、ピッチ角、ヨー角）、レンズ系のひずみや水平、垂直画角などを含む各種のパラメータを用いる。
【０００３】
移動体にカメラを設置する場合、レンズ系のひずみや水平、垂直画角などのカメラ固有のパラメータは予めカメラ毎に計測しておけばよい。しかし、カメラの位置や角度は取り付け条件によって誤差を含む場合がある。このうち、カメラの位置に関する誤差は比較的無視することができるが、カメラの角度に関する誤差は、俯瞰画像やパノラマ画像に与える影響が大きいため、無視することができない。従って、何らかのキャリブレーションを実行することで、カメラの位置や角度を算出することが必要である。
【０００４】
従来のキャリブレーション技術には、形状が既知のキャリブレーション冶具を路面上、かつ、各カメラの視野のオーバーラップ部分の任意の場所に１個ずつ配置し、キャリブレーション冶具の形状条件よりカメラの位置と角度を算出する技術が提案されている。
【０００５】
また、１点の特徴点からなる小型のキャリブレーション冶具を、カメラ視野のオーバーラップ部分に２個ずつ配置し、１カメラあたり４個のキャリブレーション冶具を撮影することで、パラメータの一部を算出する技術も存在する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１８７５６６号公報
【特許文献２】特開２００８−２４５３２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述した従来の技術では、キャリブレーションを実行してカメラのパラメータを算出した場合に、算出したパラメータが適切なパラメータであるか否かを簡易にユーザが確認することができないという問題があった。
【０００８】
一般的に、キャリブレーションにより算出したパラメータが適切なものか否かを確認する作業は煩雑であるため、パラメータ算出時におけるパラメータの確認作業が行われない場合が多い。そのため、キャリブレーションにより求めたパラメータから俯瞰図やパノラマ画像を生成して初めて、パラメータの間違いに気がつき、キャリブレーションを始めからやり直すケースがあった。
【０００９】
開示の技術は、上記に鑑みてなされたものであって、キャリブレーション結果のパラメータが適切なものであるか否かをユーザが容易に判定することができる判定プログラムおよびキャリブレーション装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
この判定プログラムは、コンピュータに、移動体に設置されたカメラの視野に複数の冶具が含まれるように前記冶具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記カメラのパラメータと、前記画像上の治具の座標を取得するステップと、前記画像と前記パラメータに基づいて生成された前記移動体の俯瞰画像を取得するステップと、前記画像上の治具の座標と前記規定座標を前記俯瞰画像上の座標に変換するステップと、前記俯瞰画像上の治具の座標と、前記変換するステップの変換結果を基にして、前記パラメータが適切であるか否かを判定するステップとを実行させることを要件とする。
【発明の効果】
【００１１】
この判定プログラムをコンピュータに実行させることで、キャリブレーション結果のパラメータが適切なものであるか否かをユーザが容易に判定することが出来る。
【図面の簡単な説明】
【００１２】
【図１】図１は、本実施例１にかかる冶具の一例を示す図である。
【図２】図２は、その他の冶具の一例を示す図である。
【図３】図３は、車両に設置されたカメラと冶具の関係を示す図である。
【図４】図４は、各カメラが撮影した画像の一例を示す図である。
【図５】図５は、カメラの各パラメータを説明するための図である。
【図６】図６は、カメラの各パラメータを説明するための図である。
【図７】図７は、冶具の画像座標の特定結果を示す図である。
【図８】図８は、カメラ座標系における冶具とカメラの関係を示す図である。
【図９】図９は、車両座標系における冶具とカメラの関係を示す図である。
【図１０】図１０は、俯角ψと光軸ベクトルＶＷＡの関係を示す図である。
【図１１】図１１は、鉛直ベクトルと回転角φの関係を示す図である。
【図１２】図１２は、車両座標系およびカメラ座標系における鉛直ベクトルの関係を示す図である。
【図１３】図１３は、本実施例にかかるキャリブレーション装置の構成を示す図である。
【図１４】図１４は、マーカ画像格納部１１０ａに格納された画像データの一例を示す図である。
【図１５】図１５は、マーカ画像格納部１１０ｂに格納された画像データの一例を示す図である。
【図１６】図１６は、画像の合成を説明するための図である。
【図１７】図１７は、視線ベクトルＶＷと路面上の点の座標ＲＷの関係を示す図である。
【図１８】図１８は、俯瞰画像の一例を示す図である。
【図１９】図１９は、俯瞰画像上の俯瞰座標に十字を描画した場合の表示例を示す図である。
【図２０】図２０は、ユーザが介在する場合の判定部の処理手順を示すフローチャートである。
【図２１】図２１は、ポインティング誤差確認処理の処理手順を示すフローチャートである。
【図２２】図２２は、冶具の設定位置確認処理の処理手順を示すフローチャートである。
【図２３】図２３は、ユーザが介在しない場合の判定部の処理手順を示すフローチャートである。
【図２４】図２４は、ポインティング誤差判定処理の処理手順を示すフローチャートである。
【図２５】図２５は、冶具の設置誤差判定処理の処理手順を示すフローチャートである。
【図２６】図２６は、実施例にかかるキャリブレーション装置を構成するコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する判定プログラムおよびキャリブレーション装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１４】
本実施例１にかかるキャリブレーション装置は、車両に設置されたカメラの視野に複数の冶具が含まれるように冶具が規定座標に配置された状態で、カメラが撮影した画像と、カメラのパラメータと、画像上の冶具の座標を取得する。キャリブレーション装置は、画像とパラメータに基づいて、移動体の俯瞰画像を生成すると共に、カメラ画像上の冶具の座標と規定座標を俯瞰画像上の座標に変換する。そして、キャリブレーション装置は、俯瞰画像上の冶具の座標と、変換結果を基にして、パラメータが適切であるか否かを判定する。
【００１５】
このように、本実施例１にかかるキャリブレーション装置は、視野内の複数の治具を撮影したカメラの画像とパラメータを基にして俯瞰画像を生成し、俯瞰画像上の治具の座標と、変換結果を比較して、パラメータが適切であるか否かを判定するので、キャリブレーション結果のパラメータが適切なものであるか否かを容易かつ早期に確認でき、ユーザにかかる負担を軽減させることが出来る。
【００１６】
次に、キャリブレーション装置が利用する冶具について説明する。図１は、本実施例１にかかる冶具の一例を示す図である。図１に示すように、この冶具は、縦幅２９７ｍｍ、横幅２１０ｍｍの冶具であり、冶具の表面には、幅３０ｍｍの線が十字状にペイントされている。なお、冶具は、冶具自体を識別出来る構成であれば、どのような冶具を利用しても良い。図２は、その他の冶具の一例を示す図である。
【００１７】
次に、車両に設置されたカメラと冶具の関係について説明する。図３は、車両に設置されたカメラと冶具の関係を示す図である。図３に示すように、車両はカメラ２０〜２３を有する。車両中心の路面に原点を置き、車両進行方向をＹＷ軸とし、ＹＷ軸と直交する水平方向をＸＷ軸とし、垂直上方向をＺＷ軸とする座標系において、冶具１０と冶具１１は、車両前端より０．５ｍ前方、かつＹＷ軸に対照に左右１ｍの位置に設置されている。冶具１２と冶具１３は、車両後端より０．５ｍ後方、かつＹＷ軸に対照に左右１ｍの位置に設置されている。
【００１８】
図４は、各カメラが撮影した画像の一例を示す図である。カメラ２０の視野には、冶具１０，１１が含まれ、カメラ２１の視野には、冶具１１，１２が含まれる。カメラ２２の視野には、冶具１２、１３が含まれ、カメラ２３の視野には、冶具１３，１０が含まれる。なお、以下の説明において、前述の車両を基準とした座標軸系を車両座標系と表記し、カメラを基準とした座標軸系をカメラ座標系と表記する。
【００１９】
次に、カメラのパラメータについて説明する。図５および図６は、カメラの各パラメータを説明するための図である。図５および図６に示すように、カメラのパラメータは、カメラ座標系におけるカメラの俯角ψ、回転角φ、パン角θ、車両座標系における３次元座標（ｘ、ｙ、ｚ）を有する。以下の説明において、カメラの俯角ψ、回転角φ、パン角θをカメラ角度パラメータと表記する。車両座標系における３次元座標（ｘ、ｙ、ｚ）をカメラ位置パラメータと表記する。
【００２０】
本実施例１では、カメラ位置パラメータを既知とし、カメラ角度パラメータを算出するものとする。次に、カメラ角度パラメータの算出法について説明する。キャリブレーション装置は、各カメラが撮影した画像を取得し、取得した画像中に含まれる冶具の位置を特定する。以下、画像中の冶具の位置を画像座標と表記する。図７は、冶具の画像座標の特定結果を示す図である。画像中の画像座標を特定する処理は、周知の画像処理により行ってもよいし、ユーザがポインティングデバイスを用いてインタラクティブに行ってもよい。図７に示すように、各画像座標をＰ１、Ｐ２とする。
【００２１】
キャリブレーション装置は、冶具の画像座標を特定した後に、かかる画像座標をカメラ座標の視線ベクトルに変換する。ここで、視線ベクトルとは、カメラの光学中心と冶具を結んだ線分の方向ベクトルである。視線ベクトルの方向については、光学中心からマーカへの方向を正の方向とする。ユーザは、予め、画像座標と視線ベクトルとの関係を示す変換テーブルを作成しておき、キャリブレーション装置は、変換テーブルを利用して、画像座標を視線ベクトルＶＣ１、ＶＣ２に変換する。
【００２２】
図８は、カメラ座標系における冶具とカメラの関係を示す図である。図８に示すように、カメラ座標系における光軸ベクトルをＶｃａ＝（０、０、−１）とし、各冶具の視線ベクトルをそれぞれＶＣ１、ＶＣ２とする。このとき、画像座標Ｐｉの視線ベクトルと光軸ベクトルＶＣＡのなす入射角ａｉは、
ａｉ＝ａｒｃｃｏｓ（Ｖｃａ・Ｖｃｉ）・・・（１）
により計算する。
【００２３】
図９は、車両座標系における冶具とカメラの関係を示す図である。車両座標系における冶具は、道路平面上（ｚ＝０）であり、図３のように配置位置が決められているので、車両座標系における冶具の座標ＭＷ１、ＭＷ２は既知となる。また、カメラの座標ＣＷ１を既知とすれば、車両座標系における視線ベクトルＶＷ１、ＶＷ２は、
ＶＷｉ＝（ＭＷｉ−ＣＷ１）／｜ＭＷｉ−ＣＷ１｜・・・（２）
により算出することが出来る。カメラの座標ＣＷ１は、カメラ位置パラメータに対応する。
【００２４】
式（１）により算出した入射角ａｉは、図８に示したカメラ座標系でも、図９に示した車両座標系でも同じである。したがって、式（２）で導出済みの視線ベクトルＶＷ１、ＶＷ２と、入射角ａ１、ａ２の角度を成すベクトルを求めることで、車両座標系における光軸ベクトルＶＷＡを算出する。
【００２５】
ここで、視線ベクトルＶＷ１、ＶＷ２をそれぞれ、ＶＷ１＝（ＶＷ１ｘ、ＶＷ１ｙ、ＶＷ１ｚ）、Ｖ２＝（ＶＷ２ｘ、ＶＷ２ｙ、ＶＷ２ｚ）とし、求める光軸ベクトルＶＷＡを、ＶＷＡ＝（ＶＷＡｘ、ＶＷＡｙ、ＶＷＡｚ）とする。光軸ベクトルＶＷＡを単位ベクトルと仮定すると、
ＶＷＡｘ２＋ＶＷＡｙ２＋ＶＷＡｚ２＝１・・・（３）
が成り立つ。また、内積の条件から
ＶＷ１ｘＶＷＡｘ＋ＶＷ１ｙＶＷＡｙ＋ＶＷ１ｚＶＷＡｚ＝ｃｏｓａ１・・・（４）
ＶＷ２ｘＶＷＡｘ＋ＶＷ２ｙＶＷＡｙ＋ＶＷ２ｚＶＷＡｚ＝ｃｏｓａ２・・・（５）
が成り立つ。キャリブレーション装置は、式（３）〜（５）の連立方程式を解くことで、車両座標系における光軸ベクトルＶＷＡを算出する。
【００２６】
キャリブレーション装置は、車両座標系における光軸ベクトルＶＷＡを基準に、パン角θと俯角ψを算出する。パン角θは、
θ＝ａｒｃｔａｎ（ＶＷＡｘ／ＶＷＡｙ）・・・（６）
により算出することができる。
【００２７】
図１０は、俯角ψと光軸ベクトルＶＷＡの関係を示す図である。俯角と光軸ベクトルＶＷＡは図１０の関係があるため、俯角ψは、
ψ＝π／２−ａｒｃｃｏｓ（ＶＣＡ・ＶＷＮ）・・・（７）
により算出することができる。式（７）において、ＶＷＮは車両座標系における鉛直下方向を示す鉛直ベクトルである。ＶＷＮは、ＶＷＮ＝（０、０、−１）となる。
【００２８】
図１１は、鉛直ベクトルと回転角φの関係を示す図であり、図１２は、車両座標系およびカメラ座標系における鉛直ベクトルの関係を示す図である。キャリブレーション装置は、カメラ座標系における鉛直ベクトルＶＣＮを算出し、図１１の関係から回転角φを算出する。
【００２９】
図１２の左側に示すように、車両座標系で鉛直ベクトルＶＷＮは、ＶＷＮ＝（０、０、１）であり、視線ベクトルＶＷ１、ＶＷ２は、式（２）で算出済みであるため、鉛直ベクトルＶＷＮと、視線ベクトルＶＷ１、ＶＷ２の入射角ｃ１、ｃ２は、
ｃｉ＝ａｒｃｃｏｓ（ＶＷＮ・Ｖｗｉ）・・・（８）
により算出する。
【００３０】
式（８）により算出した入射角ｃｉは、車両座標系でも、カメラ座標系でも同じである。したがって、視線ベクトルＶＣ１、ＶＣ２と、入射角ｃ１、ｃ２の角度を成すベクトルを求めることで、カメラ座標系の鉛直ベクトルＶＣＮを算出する。
【００３１】
ここで、視線ベクトルＶｃ１、Ｖｃ２をそれぞれ、Ｖｃ１＝（Ｖｃ１ｘ、Ｖｃ１ｙ、Ｖｃ１ｚ）、Ｖ２＝（Ｖｃ２ｘ、Ｖｃ２ｙ、Ｖｃ２ｚ）とし、求める光軸ベクトルＶＣＮを、ＶＣＮ＝（ＶＣＮｘ、ＶＣＮｙ、ＶＣＮｚ）とする。光軸ベクトルＶＣＮを単位ベクトルと仮定すると、
ＶＣＮｘ２＋ＶＣＮｙ２＋ＶＣＮｚ２＝１・・・（９）
が成り立つ。また、内積の条件から
ＶＣ１ｘＶＣＮｘ＋ＶＣ１ｙＶＣＮｙ＋ＶＣ１ｚＶＣＮｚ＝ｃｏｓｃ１・・・（１０）
ＶＣ２ｘＶＣＮｘ＋ＶＣ２ｙＶＣＮｙ＋ＶＣ２ｚＶＣＮｚ＝ｃｏｓｃ２・・・（１１）
が成り立つ。キャリブレーション装置は、式（９）〜（１１）の連立方程式を解くことで、カメラ座標系における鉛直ベクトルＶＣＮを算出する。キャリブレーション装置は、回転角φを、
φ＝ａｒｃｔａｎ（−ＶＣＮｚ／ＶＣＮｙ）・・・（１２）
により算出する。
【００３２】
次に、本実施例１にかかるキャリブレーション装置の構成について説明する。図１３は、本実施例にかかるキャリブレーション装置の構成を示す図である。図１３に示すように、このキャリブレーション装置１００は、フレームバッファ１１０、マーカ抽出部１２０、カメラ角度パラメータ推定部１３０、俯瞰画像作成部１４０、判定部１５０、パラメータ格納部１６０、ディスプレイ１７０を有する。キャリブレーション装置１００は、カメラ２０〜２３に接続する。
【００３３】
フレームバッファ１１０は、カメラ２０〜２３が撮影した画像のデータを格納するバッファである。フレームバッファ１１０は、カメラ毎に画像データを格納する。フレームバッファ１１０は、マーカ画像格納部１１０ａ，１１０ｂを有する。
【００３４】
マーカ抽出部１２０は、フレームバッファ１１０から画像データを取得し、周知の画像処理技術を利用して、画像データ上の冶具の画像座標を特定する手段である。または、マーカ抽出部１２０は、画像データをディスプレイ１７０に出力し、ユーザに冶具の位置を指定させ、指定された座標を画像座標として特定しても良い。マーカ抽出部１２０は、特定した画像座標のデータを各カメラの画像データごとに分類し、パラメータ格納部１６０の指定位置パラメータに登録する。マーカ抽出部１２０は、画像座標の特定が終了した場合に、カメラ角度パラメータ推定部に完了通知を行う。
【００３５】
マーカ抽出部１２０は、冶具を特定した場合に、該冶具を含む画像データをマーカ画像格納部１１０ａ、１１０ｂに格納する。マーカ抽出部１２０は、画像データを複数に分割して、マーカ画像格納部１１０ａ，１１０ｂに格納しても良い。
【００３６】
例えば、ユーザが冶具１０，１１を車両の前方の所定の位置に配置し、後方に冶具１２，１３を配置しない状態で、カメラ２０，２１，２３が画像を撮影する。カメラ２０の画像データには、冶具１０，１１が含まれ、カメラ２１には、冶具１１が含まれ、カメラ２３には、冶具１０が含まれる。
【００３７】
マーカ抽出部１２０は、カメラ２０の画像データから冶具を２つ、カメラ２１，２３の画像データから冶具を１つずつ検出する。この場合、マーカ抽出部１２０は、カメラ２０の全画像データと、カメラ２１，２３の半分の画像データを、マーカ画像格納部１１０ａに格納する。図１４は、マーカ画像格納部１１０ａに格納された画像データの一例を示す図である。
【００３８】
続いて、ユーザが冶具１２，１３を車両の後方の所定の位置に配置し、前方に冶具１０，１１を配置しない状態で、カメラ２１，２２，２３が画像を撮影する。カメラ２１の画像データには、冶具１２が含まれ、カメラ２２の画像データには、冶具１２，１３が含まれ、カメラ２３の画像データには、冶具１３が含まれる。
【００３９】
マーカ抽出部１２０は、カメラ２２の画像データから冶具を２つ、カメラ２１，２３の画像データから冶具を１つずつ検出する。この場合、マーカ抽出部１２０は、カメラ２２の全画像データと、カメラ２１，２３の半分の画像データを、マーカ画像格納部１１０ｂに格納する。図１５は、マーカ画像格納部１１０ｂに格納された画像データの一例を示す図である。
【００４０】
図１３の説明に戻ると、カメラ角度パラメータ推定部１３０は、カメラ角度パラメータを算出する処理部である。カメラ角度パラメータ推定部１３０は、マーカ抽出部１２０から完了通知を受け付けた場合に、指定位置パラメータ１６１を取得し、変換テーブルを用いて、画像座標を視線ベクトルＶＣ１、ＶＣ２に変換する。
【００４１】
そして、カメラ角度推定部１３０は、マーカ位置パラメータ１６２とカメラ位置パラメータ１６３を取得し、上述した式（１）〜（１２）を利用して、カメラ角度パラメータを算出する。カメラ角度推定部１３０は、カメラ角度パラメータ１６３をパラメータ格納部１６０に登録する。ここで、マーカ位置パラメータ１６２は、車両座標系の座標として、図３に示した所定の位置に各冶具を配置した場合の冶具１０〜１３の座標を含み、カメラ位置パラメータは、車両座標系のカメラ２０〜２３の座標を含む。カメラ角度パラメータ推定部１３０は、各カメラ２０〜２３のカメラ角度パラメータの算出が完了した場合に、完了通知を俯瞰画像作成部１４０に出力する。
【００４２】
俯瞰画像作成部１４０は、フレームバッファ１１０に格納された画像データとカメラ角度パラメータ１６４に基づいて、俯瞰画像を生成する処理部である。俯瞰画像作成部１４０は、カメラ角度パラメータ推定部１３０から完了通知を取得した場合に、マーカ画像格納部１１０ａに格納された画像データと、マーカ画像格納部１１０ｂに格納された画像データを合成する。図１６は、画像の合成を説明するための図である。
【００４３】
図１６に示すように、俯瞰画像作成部１４０は、カメラ２１の画像データの左半分と右半分の画像データを合成することで、カメラ２１の画像データを作成し、カメラ２３の画像データの左半分と右半分の画像データを合成することで、カメラ２３の画像データを作成する。
【００４４】
続いて、俯瞰画像作成部１４０は、各画像データとカメラ角度パラメータを基にして、画像データを俯瞰画像に変換する。俯瞰画像作成部１４０は、画像データ上の座標と俯瞰画像上の座標との関係を求める。以下の説明において、画像データ上の座標を画像上座標、俯瞰画像上の座標を俯瞰上座標と表記する。
【００４５】
まず、俯瞰画像作成部１４０は、変換テーブルを用いて、画像上座標Ｐをカメラ座標系の視線ベクトルＶＣを算出する。俯瞰画像作成部１４０は、算出したカメラ座標系の視線ベクトルＶＣを、車両座標系の視線ベクトルＶＷに変換する。変換式は、下記に示す式（１３）に示す。
【数１】
2010258897.tif 000003
【００４６】
式（１３）におけるRotX（ψ）、RotY（θ）、RotZ（φ）は、下記の式（１４）〜（１６）で表される。
【数２】
2010258897.tif 000004
【数３】
2010258897.tif 000005
【数４】
2010258897.tif 000006
【００４７】
続いて、俯瞰座標作成部１４０は、カメラ位置パラメータ１６３（カメラ位置ＣＷ）に基づいて、車両座標系の視線ベクトルＶＷを、視線ベクトルＶＷの方向にある路面上の点の座標ＲＷを算出する。図１７は、視線ベクトルＶＷと路面上の点の座標ＲＷの関係を示す図である。視線ベクトルと座標の関係は、
ＲＷ＝ＣＷ＋ｋＶＷ・・・（１７）
となる。但し、ｋ＝ＣＷＺ／ＶＷＺとする。
【００４８】
続いて、俯瞰座標作成部１４０は、座標ＲＷを俯瞰画像上の俯瞰上画像Ｔに変換する。俯瞰画像とＺ＝０に平面における車両座標系の（ｘ、ｙ）座標間には線形の関係が成り立つため、原点のオフセット量Ｏ（画素）と縮尺（画素／ｍｍ）により変換することが出来る。座標ＲＷを俯瞰画像上の俯瞰上座標Ｔの関係は、
Ｔ＝Ｓ×（ＲＷＸ，ＲＷＹ）＋Ｏ・・・（１８）
となる。式（１８）において、俯瞰画像の原点と、車両座標の原点が一致している場合には、Ｏ＝（０，０）となる。
【００４９】
式（１３）〜（１８）を基にして、画像上座標Ｐと俯瞰上座標Ｔの関係が算出されるので、俯瞰画像作成部１４０は、画像上座標Ｐの画像データを、対応する俯瞰画像の俯瞰上座標Ｔに貼り付けることで、俯瞰画像を作成する。図１８は、俯瞰画像の一例を示す図である。俯瞰画像作成部１４０は、俯瞰画像を判定部１５０に出力する。
【００５０】
判定部１５０は、俯瞰画像と、指定位置パラメータ１６１と、マーカ位置パラメータ１６２に基づいて、キャリブレーションが成功したか否かを判定する処理部である。以下において、判定部１５０の処理にユーザが介在する場合と、判定部１５０が自動的で処理を行う場合に分けて説明する。
【００５１】
まず、判定部１５０の処理にユーザが介在する場合について説明する。判定部１５０は、カメラ２０が撮影した画像における冶具の画像座標を指定位置パラメータ１６１から取得する。また、判定部１５０は、カメラ２０のカメラ位置パラメータ、カメラ角度パラメータを取得する。判定部１５０は、式（１３）〜式（１８）を基にして、画像座標に対応する俯瞰上座標を算出する。以下において、画像座標に対応する俯瞰上座標を第１の俯瞰座標と表記する。
【００５２】
判定部１５０は、俯瞰画像上の第１の俯瞰座標に十字を描画し、ディスプレイに表示する。図１９は、俯瞰画像上の俯瞰座標に十字を描画した場合の表示例を示す図である。ユーザは、ディスプレイ１７０に表示された画像を目視し、冶具の中心と十字が一致しているかを判断する。そして、ユーザは入力装置を介して、冶具の中心と十字の位置は許容範囲内であるか否かの判断結果を判定部１５０に入力する。判定部１５０は、カメラ２１〜２３に関しても上記処理を行う。
【００５３】
判定部１５０は、全てのカメラに対するユーザの判断結果が、１つでも許容範囲内でない場合には、ユーザに冶具の抽出失敗を通知し、マーカ抽出部１２０を再起動する。冶具の抽出が失敗していた、すなわち十字の中心位置が俯瞰画像上に表示されている冶具の中心とずれているということは、マーカ抽出部１２０による画像データ上での冶具の座標特定において、画像上の冶具の位置を正しく特定していなかったことを意味する。例えば、画像上の冶具の位置とずれた位置をユーザが冶具の位置として指定した場合、ここでの判定結果は抽出失敗となる。
【００５４】
一方、全てのカメラに対するユーザの判断結果が、許容範囲内の場合には、判定部１５０は、カメラ２０により撮影された冶具の位置を、マーカ位置パラメータ１６２から取得する。
【００５５】
判定部１５０は、上述した式（１８）を用いて、冶具の位置を俯瞰画像上の座標に変換する。以下において、マーカ位置パラメータ１６２から取得した冶具の位置に対応する俯瞰上座標を第２の俯瞰座標と表記する。
【００５６】
判定部１５０は、俯瞰画像上の第２の俯瞰座標に十字を描画し、ディスプレイ１７０に表示する。ユーザは、ディスプレイ１７０に表示された画像を目視し、冶具の中心と十字が一致しているかを判断する。そして、ユーザは入力装置を介して、冶具の中心と十字の位置は許容範囲内であるか否かの判断結果を判定部１５０に入力する。判定部１５０は、カメラ２１〜２３に関しても上記処理を行う。ここで、マーカ位置パラメータには、図３に示す所定の位置に冶具が正しく設置されていた場合の画像上の各冶具の座標を表している。従って、すなわち十字の中心位置が俯瞰画像上に表示されている冶具の中心とずれているということは、そもそも画像を撮影した時点で冶具が設置されていた場所が、正しい位置ではなかったことを意味する。
【００５７】
判定部１５０は、全てのカメラに対するユーザの判断結果が、１つでも許容範囲内でない場合には、ユーザに冶具配置の失敗を通知し、冶具の配置のやり直しを通知する。一方、全てのカメラに対するユーザの判断結果が、許容範囲内の場合には、判定部１５０は、キャリブレーションが成功した旨を通知する。
【００５８】
次に、判定部１５０が自動で処理を行う場合について説明する。判定部１５０は、カメラ２０が撮影した画像における冶具の画像座標を指定位置パラメータ１６１から取得する。また、判定部１５０は、カメラ２０のカメラ位置パラメータ、カメラ角度パラメータを取得する。判定部１５０は、式（１３）〜式（１８）を基にして、画像座標に対応する俯瞰上座標を算出する。以下において、画像座標に対応する俯瞰上座標を第１の俯瞰座標と表記する。
【００５９】
判定部１５０は、俯瞰画像に対する画像処理を行い、俯瞰画像上における冶具の座標を抽出する。以下において、俯瞰画像から直接抽出した冶具の座標を第３の俯瞰座標と表記する。判定部１５０は、第１の俯瞰座標（ＴＮ１、ＴＮ２）と第３の俯瞰座標（ＴＭ１、ＴＭ２）とを比較し、
｜ＴＮ１−ＴＭ１｜≦閾値Ｃ
かつ
｜ＴＮ２−ＴＭ２｜≦閾値Ｃ
という条件を満たすか否かを判定する。かかる条件を満たす場合に、判定部１５０は、カメラ２０に対する誤差は許容範囲内であると判定する。条件を満たさない場合には、カメラ２０に対する誤差は許容範囲外であると判定する。判定部１５０は、カメラ２１〜２３に関しても上記処理を行う。
【００６０】
判定部１５０は、全てのカメラに対する判定結果が、１つでも許容範囲内でない場合には、ユーザに冶具の抽出失敗を通知し、マーカ抽出部１２０を再起動する。
【００６１】
一方、全てのカメラに対する判定結果が、許容範囲内の場合には、判定部１５０は、カメラ２０により撮影された冶具の位置を、マーカ位置パラメータ１６２から取得する。
【００６２】
判定部１５０は、上述した式（１８）を用いて、冶具の位置を俯瞰画像上の座標に変換する。以下において、マーカ位置パラメータ１６２から取得した冶具の位置に対応する俯瞰上座標を第２の俯瞰座標（ＭＴ１、ＭＴ２）と表記する。
【００６３】
判定部１５０は、第２の俯瞰座標と第３の俯瞰座標とを比較し、
｜ＭＴ１−ＴＭ１｜≦閾値Ｄ
かつ
｜ＭＴ２−ＴＭ２｜≦閾値Ｄ
という条件を満たすか否かを判定する。かかる条件を満たす場合に、判定部１５０は、カメラ２０に対する誤差は許容範囲内であると判定する。条件を満たさない場合には、カメラ２０に対する誤差は許容範囲外であると判定する。判定部１５０は、カメラ２１〜２３に関しても上記処理を行う。
【００６４】
判定部１５０は、全てのカメラに対するユーザの判断結果が、１つでも許容範囲内でない場合には、ユーザに冶具配置の失敗を通知し、冶具の配置のやり直しを通知する。一方、全てのカメラに対するユーザの判断結果が、許容範囲内の場合には、判定部１５０は、キャリブレーションが成功した旨を通知する。
【００６５】
パラメータ格納部１６０は、指定位置パラメータ１６１、マーカ位置パラメータ１６２、カメラ位置パラメータ１６３、カメラ角度パラメータ１６４を格納する記憶部である。ディスプレイ１７０は、各種の情報を表示する装置である。
【００６６】
次に、判定部１５０の処理手順について説明する。まず、ユーザが介在する場合の判定部１５０の処理手順について説明する。図２０は、ユーザが介在する場合の判定部の処理手順を示すフローチャートである。図２０に示すように、判定部１５０は、カメラ２０が撮影した画像に対するポインティング誤差確認処理を行い（ステップＳ１０１）、カメラ２１が撮影した画像に対するポインティング誤差確認処理を行う（ステップＳ１０２）。
【００６７】
判定部１５０は、カメラ２２が撮影した画像に対するポインティング誤差確認処理を行い（ステップＳ１０３）、カメラ２３が撮影した画像に対するポインティング誤差確認処理を行う（ステップＳ１０４）。
【００６８】
判定部１５０は、全カメラの画像に対するポインティング誤差が許容範囲内であるか否かを判定する（ステップＳ１０５）。判定部１５０は、いずれかのカメラの画像に対するポインティング誤差が許容範囲外である場合には（ステップＳ１０６，Ｎｏ）、冶具の検出を失敗した旨をディスプレイ１７０に出力し（ステップＳ１０７）、マーカ抽出部１２０を再起動する（ステップＳ１０８）。
【００６９】
一方、判定部１５０は、全カメラの画像に対するポインティング誤差が許容範囲内である場合には（ステップＳ１０６，Ｙｅｓ）、カメラ２０の視野に含まれる冶具の設置誤差確認処理を行い（ステップＳ１０９）、カメラ２１の視野に含まれる冶具の設置誤差確認処理を行う（ステップＳ１１０）。
【００７０】
判定部１５０は、カメラ２２の視野に含まれる冶具の設置誤差確認処理を行い（ステップＳ１１１）、カメラ２３の視野に含まれる冶具の設置誤差確認処理を行う（ステップＳ１１２）。
【００７１】
判定部１５０は、全冶具の設置誤差が許容範囲内であるか否かを判定する（ステップＳ１１３）。判定部１５０は、いずれかのカメラの画像に対する冶具設置誤差が許容範囲外である場合には（ステップＳ１１４，Ｎｏ）、冶具の設置を失敗した旨をディスプレイ１７０に出力する（ステップＳ１１５）。一方、判定部１５０は、全冶具の設置誤差が許容範囲内である場合には（ステップＳ１１４，Ｙｅｓ）、キャリブレーションが成功した旨をディスプレイ１７０に出力する（ステップＳ１１６）。
【００７２】
次に、図２０のステップＳ１０１〜１０４に示したポインティング誤差確認処理の処理手順について説明する。図２１は、ポインティング誤差確認処理の処理手順を示すフローチャートである。
【００７３】
図２１に示すように、判定部１５０は、カメラｎ（ｎは２０、２１、２２または２３）が撮影した画像に基づいて特定した冶具の画像座標を取得し（ステップＳ２０１）、カメラｎのカメラ位置パラメータおよびカメラ角度パラメータを取得する（ステップＳ２０２）。判定部１５０は、画像座標を第１の俯瞰座標に変換する（ステップＳ２０３）。
【００７４】
判定部１５０は、俯瞰画像上の第１の俯瞰座標に十字を描画しディスプレイ１７０に表示する（ステップＳ２０４）。判定部１５０は、冶具の十字と、描画した十字が一致した旨の情報を入力装置から取得したか否かを判定する（ステップＳ２０５）。
【００７５】
判定部１５０は、一致した旨の情報を取得した場合に（ステップＳ２０６，Ｙｅｓ）、カメラｎに対する戻り値を「許容範囲内」に設定する（ステップＳ２０７）。一方、判定部１５０は、一致しない旨の情報を取得した場合に（ステップＳ２０６，Ｎｏ）、カメラｎに対する戻り値を「許容範囲外」に設定する（ステップＳ２０８）。
【００７６】
次に、図２０のステップＳ１０９〜Ｓ１１２に示した冶具の設定位置確認処理の処理手順について説明する。図２２は、冶具の設定位置確認処理の処理手順を示すフローチャートである。
【００７７】
図２１に示すように、カメラｎ（ｎは２０、２１、２２または２３）が撮影した画像に含まれる冶具のマーカ位置パラメータを取得し（ステップＳ３０１）、マーカ位置パラメータを第２の俯瞰座標に変換する（ステップＳ３０２）。
【００７８】
判定部１５０は、俯瞰画像上の第２の俯瞰座標に十字を描画しディスプレイ１７０に表示する（ステップＳ３０３）。判定部１５０は、冶具の十字と、描画した十字が一致した旨の情報を入力装置から取得したか否かを判定する（ステップＳ３０４）。
【００７９】
判定部１５０は、一致した旨の情報を取得した場合に（ステップＳ３０５，Ｙｅｓ）、カメラｎに対する戻り値を「許容範囲内」に設定する（ステップＳ３０６）。一方、判定部１５０は、一致しない旨の情報を取得した場合に（ステップＳ３０５，Ｎｏ）、カメラｎに対する戻り値を「許容範囲外」に設定する（ステップＳ３０７）。
【００８０】
次に、ユーザが介在しない場合の判定部１５０の処理手順について説明する。図２３は、ユーザが介在しない場合の判定部１５０の処理手順を示すフローチャートである。図２３に示すように、判定部１５０は、カメラ２０が撮影した画像に対するポインティング誤差判定処理を行い（ステップＳ４０１）、カメラ２１が撮影した画像に対するポインティング誤差判定処理を行う（ステップＳ４０２）。
【００８１】
判定部１５０は、カメラ２２が撮影した画像に対するポインティング誤差判定処理を行い（ステップＳ４０３）、カメラ２３が撮影した画像に対するポインティング誤差判定処理を行う（ステップＳ４０４）。
【００８２】
判定部１５０は、全カメラの画像に対するポインティング誤差が許容範囲内であるか否かを判定する（ステップＳ４０５）。判定部１５０は、いずれかのカメラの画像に対するポインティング誤差が許容範囲外である場合には（ステップＳ４０６，Ｎｏ）、冶具の検出を失敗した旨をディスプレイ１７０に出力し（ステップＳ４０７）、マーカ抽出部１２０を再起動する（ステップＳ４０８）。
【００８３】
一方、判定部１５０は、全カメラの画像に対するポインティング誤差が許容範囲内である場合には（ステップＳ４０６，Ｙｅｓ）、カメラ２０の視野に含まれる冶具の設置誤差判定処理を行い（ステップＳ４０９）、カメラ２１の視野に含まれる冶具の設置誤差判定処理を行う（ステップＳ４１０）。
【００８４】
判定部１５０は、カメラ２２の視野に含まれる冶具の設置誤差確認処理を行い（ステップＳ４１１）、カメラ２３の視野に含まれる冶具の設置誤差確認処理を行う（ステップＳ４１２）。
【００８５】
判定部１５０は、全冶具の設置誤差が許容範囲内であるか否かを判定する（ステップＳ４１３）。判定部１５０は、いずれかのカメラの画像に対する冶具設置誤差が許容範囲外である場合には（ステップＳ４１４，Ｎｏ）、冶具の設置を失敗した旨をディスプレイ１７０に出力する（ステップＳ４１５）。一方、判定部１５０は、全冶具の設置誤差が許容範囲内である場合には（ステップＳ４１４，Ｙｅｓ）、キャリブレーションが成功した旨をディスプレイ１７０に出力する（ステップＳ４１６）。
【００８６】
次に、図２３のステップＳ４０１〜４０４に示したポインティング誤差判定処理の処理手順について説明する。図２４は、ポインティング誤差判定処理の処理手順を示すフローチャートである。
【００８７】
図２４に示すように、判定部１５０は、カメラｎ（ｎは２０、２１、２２または２３）が撮影した画像に基づいて特定した冶具の画像座標を取得し（ステップＳ５０１）、カメラｎのカメラ位置パラメータおよびカメラ角度パラメータを取得する（ステップＳ５０２）。
【００８８】
判定部１５０は、画像座標を第１の俯瞰座標に変換し（ステップＳ５０３）、俯瞰画像から第３の俯瞰座標を抽出する（ステップＳ５０４）。判定部１５０は、第１の俯瞰座標と第３の俯瞰座標を比較して、第１の俯瞰座標と第３の俯瞰座標の差が閾値以下であるか否かを判定する（ステップＳ５０５）。
【００８９】
判定部１５０は、第１の俯瞰座標と第３の俯瞰座標の差が閾値以下の場合に（ステップＳ５０６，Ｙｅｓ）、カメラｎに対する戻り値を「許容範囲内」に設定する（ステップ５０７）。一方、判定部１５０は、第１の俯瞰座標と第３の俯瞰座標の差が閾値よりも大きい場合に（ステップＳ５０６，Ｎｏ）、カメラｎに対する戻り値を「許容範囲外」に設定する（ステップ５０８）。
【００９０】
次に、図２３のステップＳ４０９〜４１２に示した冶具の設置誤差判定処理の処理手順について説明する。図２５は、冶具の設置誤差判定処理の処理手順を示すフローチャートである。
【００９１】
図２５に示すように、判定部１５０は、カメラｎ（ｎは２０、２１、２２または２３）が撮影した画像に含まれる冶具のマーカ位置パラメータを取得し（ステップＳ６０１）、マーカ位置パラメータを第２の俯瞰座標に変換する（ステップＳ６０２）。
【００９２】
判定部１５０は、俯瞰画像から第３の俯瞰座標を抽出し（ステップＳ６０３）、第２の俯瞰座標と第３の俯瞰座標を比較して、第２の俯瞰座標と第３の俯瞰座標の差が閾値以下であるか否かを判定する（ステップＳ６０４）。
【００９３】
判定部１５０は、第２の俯瞰座標と第３の俯瞰座標の差が閾値以下の場合に（ステップＳ６０５，Ｙｅｓ）、カメラｎに対する戻り値を「許容範囲内」に設定する（ステップ６０６）。一方、判定部１５０は、第２の俯瞰座標と第３の俯瞰座標の差が閾値よりも大きい場合に（ステップＳ６０５，Ｎｏ）、カメラｎに対する戻り値を「許容範囲外」に設定する（ステップ６０７）。
【００９４】
上述してきたように、本実施例１にかかるキャリブレーション装置１００は、車両に設置されたカメラの視野に複数の冶具が含まれるように冶具が規定座標に配置された状態で、カメラが撮影した画像と、カメラのパラメータと、カメラ画像上の冶具の座標を取得する。キャリブレーション装置１００は、画像とパラメータに基づいて、移動体の俯瞰画像を生成すると共に、カメラ画像上の冶具の座標と規定座標を、俯瞰画像上の座標に変換する。そして、キャリブレーション装置は、俯瞰画像上の冶具の座標と変換結果を基にして、パラメータが適切であるか否かを判定する。
【００９５】
このように、本実施例１にかかるキャリブレーション装置は、視野内の複数の治具を撮影したカメラの画像とパラメータを基にして俯瞰画像を生成し、俯瞰画像上の治具の座標と、実際の治具の座標等を比較して、パラメータが適切であるか否かを判定するので、キャリブレーション結果のパラメータが適切なものであるか否かを容易かつ早期に確認でき、ユーザにかかる負担を軽減させることが出来る。
【実施例２】
【００９６】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例１以外にも種々の異なる形態にて実施されてよいものである。そこで、以下では実施例２として本発明に含まれる他の実施例を説明する。
【００９７】
（１）冶具の撮影について
上記の実施例１では、カメラ２０〜２３が画像を撮影するタイミングについて言及していなかったが、キャリブレーションに必要なカメラ画像をすべて同時に撮影しなくてもよい。例えば、キャリブレーション装置１００は、撮影範囲を分割して各冶具を撮影した後に各画像を合成することで、実施例１と同様にしてカメラ角度パラメータを算出しても良い。このように、撮影範囲を分割して各冶具を撮影することで、キャリブレーションを行う場合に必要となるスペースを更に狭くすることが出来る。なお、カメラの数は４個に限定されるものではない。
【００９８】
（２）システム構成等
本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【００９９】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１００】
例えば、図１３にて説明したマーカ抽出部１２０、カメラ角度パラメータ推定部１３０、俯瞰画像作成部１４０、判定部１５０に対応する機能をサーバに持たせ、かかるサーバに、各カメラの撮影した画像や、パラメータ格納部１６０に格納された各データを送信することで、サーバがキャリブレーションの成功可否を判定し、判定結果をユーザの端末に通知する構成にしてもよい。あるいは、カメラ角度パラメータ推定部１３０、俯瞰画像作成部１４０、判定部１５０に対応する機能を移動端末等に持たせても良い。
【０１０１】
さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１０２】
図２６は、実施例にかかるキャリブレーション装置１００を構成するコンピュータのハードウェア構成を示す図である。図２６に示すように、このコンピュータ（キャリブレーション装置）２００は、入力装置２０１、モニタ２０２、カメラ２０３、ＲＡＭ（Random  Access  Memory）２０４、ＲＯＭ（Read  Only  Memory）２０５、他の装置と通信を行う通信制御装置２０６、記憶媒体からデータを読み取る媒体読取装置２０７、ＣＰＵ（Central  Processing  Unit）２０８、ＨＤＤ（Hard  Disk  Drive）２０９をバス２１０で接続する。コンピュータ２００は、カメラ２０３以外にもカメラを有しているものとする。
【０１０３】
ＨＤＤ２０９には、上記したキャリブレーション装置１００の機能と同様の機能を発揮するキャリブレーションプログラム２０９ｂが記憶されている。ＣＰＵ２０８がキャリブレーションプログラム２０９ｂを読み出して実行することにより、キャリブレーションプロセス２０８ａが起動される。ここで、キャリブレーションプロセス２０８ａは、図１３に示した、マーカ抽出部１２０、カメラ角度パラメータ推定部１３０、俯瞰画像作成部１４０、判定部１５０に対応する。
【０１０４】
また、ＨＤＤ２０９は、パラメータ格納部１６０に記憶される情報に対応する各種データ２０９ａを記憶する。ＣＰＵ２０８は、ＨＤＤ２０９に格納された各種データ２０９ａを読み出して、ＲＡＭ２０４に格納し、ＲＡＭ２０４に格納された各種データ２０４ａおよびカメラ２０３に撮影された画像を用いて、キャリブレーションが成功したか否かを判定する。
【０１０５】
ところで、図２６に示したキャリブレーションプログラム２０９ｂは、必ずしも最初からＨＤＤ２０９に記憶させておく必要はない。たとえば、コンピュータに挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」、または、コンピュータの内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」、さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータに接続される「他のコンピュータ（またはサーバ）」などにキャリブレーションプログラム２０９ｂを記憶しておき、コンピュータがこれらからキャリブレーションプログラム２０９ｂを読み出して実行するようにしてもよい。
【０１０６】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０７】
（付記１）コンピュータに、
移動体に設置されたカメラの視野に複数の冶具が含まれるように前記冶具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記カメラのパラメータと、前記画像上の治具の座標を取得するステップと、
前記画像と前記パラメータに基づいて生成された前記移動体の俯瞰画像を取得するステップと、
前記画像上の治具の座標と前記規定座標を前記俯瞰画像上の座標に変換するステップと、
前記俯瞰画像上の治具の座標と、前記変換するステップの変換結果を基にして、前記パラメータが適切であるか否かを判定するステップと
を実行させることを特徴とする判定プログラム。
【０１０８】
（付記２）前記判定するステップは、前記パラメータが適切でないと判定した場合に、前記俯瞰画像上の治具の座標と前記変換するステップにて変換された前記規定座標の距離、および、前記俯瞰画像上の治具の座標と前記変換するステップにて変換された画像上の冶具の座標の距離を基にして、前記パラメータが適切ではない理由を通知することを特徴とする付記１に記載の判定プログラム。
【０１０９】
（付記３）コンピュータに、
移動体に設置されたカメラの視野に複数の冶具が含まれるように前記冶具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記カメラのパラメータを取得するステップと、
前記画像と前記パラメータに基づいて生成された前記移動体の俯瞰画像を取得するステップと、
前記規定座標を前記俯瞰画像上の座標に変換するステップと、
前記俯瞰画像上の治具の座標と、前記変換するステップの変換結果を基にして、前記パラメータが適切であるか否かを判定するステップと
を実行させることを特徴とする判定プログラム。
【０１１０】
（付記４）前記判定するステップは、前記パラメータが適切でないと判定した場合に、前記俯瞰画像上の治具の座標と前記変換するステップにて変換された前記規定座標の距離を基にして、前記パラメータが適切ではない理由を通知することを特徴とする付記３に記載の判定プログラム。
【０１１１】
（付記５）コンピュータに、
移動体に設置されたカメラの視野に複数の冶具が含まれるように前記冶具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記カメラのパラメータと、前記画像上の治具の座標を取得するステップと、
前記画像と前記パラメータに基づいて生成された前記移動体の俯瞰画像を取得するステップと、
前記画像上の治具の座標を、前記俯瞰画像上の座標に変換するステップと、
前記俯瞰画像上の治具の座標と、前記変換するステップの変換結果を基にして、前記パラメータが適切であるか否かを判定するステップと、
を実行させることを特徴とする判定プログラム。
【０１１２】
（付記６）前記判定するステップは、前記パラメータが適切でないと判定した場合に、前記俯瞰画像上の治具の座標と前記変換ステップにて変換された前記画像上の冶具の座標の距離を基にして、前記パラメータが適切ではない理由を通知することを特徴とする付記５に記載の判定プログラム。
【０１１３】
（付記７）移動体に設置されたカメラの視野に複数の治具が含まれるように前記治具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記規定座標と、前記カメラの座標を基にして、前記カメラのパラメータを算出するパラメータ算出部と、
前記画像と前記パラメータに基づいて、前記移動体の俯瞰画像を生成する俯瞰画像生成部と、
前記画像上の治具の座標と前記規定座標を前記俯瞰画像上の座標に変換する変換部と、
前記俯瞰画像上の治具の位置と、前記画像上の冶具の座標と規定座標とを前記俯瞰画像上の座標にそれぞれ変換した変換結果を基にして、前記パラメータが適切であるか否かを判定する判定部と、
を有することを特徴とするキャリブレーション装置。
【０１１４】
（付記８）判定装置が、
移動体に設置されたカメラの視野に複数の冶具が含まれるように前記冶具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記カメラのパラメータと、前記画像上の治具の座標を取得する取得ステップと、
前記画像と前記パラメータに基づいて、前記移動体の俯瞰画像を生成する俯瞰画像生成ステップと、
前記画像上の治具の座標と前記規定座標を前記俯瞰画像上の座標に変換する変換ステップと、
前記俯瞰画像上の治具の座標と、前記変換ステップの変換結果を基にして、前記パラメータが適切であるか否かを判定する判定ステップと、
を含んだことを特徴とする判定方法。
【０１１５】
（付記９）移動体に設置されたカメラの視野に複数の冶具が含まれるように前記冶具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記カメラのパラメータと、前記画像上の治具の座標と、前記画像と前記パラメータに基づいて生成された前記移動体の俯瞰画像を取得する取得部と、
前記画像上の治具の座標と前記規定座標を前記俯瞰画像上の座標に変換する変換部と、
前記俯瞰画像上の治具の座標と、前記変換するステップの変換結果を基にして、前記パラメータが適切であるか否かを判定する判定部と
を有することを特徴とする判定装置。
【０１１６】
（付記１０）移動体に設置されたカメラの視野に複数の冶具が含まれるように前記冶具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記カメラのパラメータと、前記画像と前記パラメータに基づいて生成された前記移動体の俯瞰画像を取得する取得部と、
前記規定座標を前記俯瞰画像上の座標に変換する変換部と、
前記俯瞰画像上の治具の座標と、前記変換するステップの変換結果を基にして、前記パラメータが適切であるか否かを判定する判定部と
を有することを特徴とする判定装置。
【０１１７】
（付記１１）移動体に設置されたカメラの視野に複数の冶具が含まれるように前記冶具が規定座標に配置された状態で、前記カメラが撮影した画像と、前記カメラのパラメータと、前記画像上の治具の座標と、前記画像と前記パラメータに基づいて生成された前記移動体の俯瞰画像を取得する取得部と、
前記画像上の治具の座標を、前記俯瞰画像上の座標に変換する変換部と、
前記俯瞰画像上の治具の座標と、前記変換するステップの変換結果を基にして、前記パラメータが適切であるか否かを判定する判定部と、
を有することを特徴とする判定装置。
【符号の説明】
【０１１８】
１０，１１，１２，１３    冶具
２０，２１，２２，２３    カメラ
１００    キャリブレーション装置
１１０    フレームバッファ
１１０ａ，１１０ｂ  マーカ画像格納部
１２０    マーカ抽出部
１３０    カメラ角度パラメータ推定部
１４０    俯瞰画像作成部
１５０    判定部
１６０    パラメータ格納部
１６１    指定位置パラメータ
１６２    マーカ位置パラメータ
１６３    カメラ位置パラメータ
１６４    カメラ角度パラメータ
１７０    ディスプレイ
２００    コンピュータ
２０１    入力装置
２０２    モニタ
２０３    カメラ
２０４    ＲＡＭ
２０４ａ  各種データ
２０５    ＲＯＭ
２０６    通信制御装置
２０７    媒体読取装置
２０８    ＣＰＵ
２０８ａ  キャリブレーションプロセス
２０９    ＨＤＤ
２０９ａ  各種データ
２０９ｂ  キャリブレーションプログラム
２１０    バス
【図１】
2010258897.tif 000007
【図２】
2010258897.tif 000008
【図３】
2010258897.tif 000009
【図４】
2010258897.tif 000010
【図５】
2010258897.tif 000011
【図６】
2010258897.tif 000012
【図７】
2010258897.tif 000013
【図８】
2010258897.tif 000014
【図９】
2010258897.tif 000015
【図１０】
2010258897.tif 000016
【図１１】
2010258897.tif 000017
【図１２】
2010258897.tif 000018
【図１３】
2010258897.tif 000019
【図１４】
2010258897.tif 000020
【図１５】
2010258897.tif 000021
【図１６】
2010258897.tif 000022
【図１７】
2010258897.tif 000023
【図１８】
2010258897.tif 000024
【図１９】
2010258897.tif 000025
【図２０】
2010258897.tif 000026
【図２１】
2010258897.tif 000027
【図２２】
2010258897.tif 000028
【図２３】
2010258897.tif 000029
【図２４】
2010258897.tif 000030
【図２５】
2010258897.tif 000031
【図２６】
2010258897.tif 000032