(57)【特許請求の範囲】
【請求項１】
車両の周辺に配置され且つ所定の間隔を有する２つのマーカを前記車両に搭載されたカメラにて撮影し、撮影された第１の画像における前記２つのマーカの第１の座標値を取得する第１の取得処理と、
前記車両を直線上で移動させた後、前記２つのマーカを前記カメラにて撮影し、撮影された第２の画像における前記２つのマーカの第２の座標値を取得する第２の取得処理と、
前記カメラの座標系において移動前後の前記２つのマーカの間隔が前記所定の間隔であり且つ前記２つのマーカの移動距離が等しいという条件に基づき、前記第１の座標値及び前記第２の座標値を用いて、前記カメラのパラメータを算出する算出処理と、
を含み、コンピュータにより実行されるパラメータ算出方法。
【請求項２】
前記算出処理が、
前記条件と、前記カメラによって撮影された画像における座標値から得られる視線ベクトルと前記カメラの座標系において移動前後の前記２つのマーカが配置される平面と前記カメラの座標系における位置との関係と、前記第１の座標値及び前記第２の座標値とから、当該平面のパラメータを特定する特定処理
を含む請求項１記載のパラメータ算出方法。
【請求項３】
前記算出処理が、
前記平面のパラメータと前記カメラの座標系の各軸方向とから、前記カメラの傾き角度及び前記カメラの光軸回りの回転角度を算出する角度算出処理、
をさらに含む請求項２記載のパラメータ算出方法。
【請求項４】
前記算出処理が、
前記車両の座標系における原点で前記平面のパラメータに含まれる高さに前記カメラが設置されており、前記カメラの傾き角度及び前記カメラの光軸回りの回転角度が前記角度算出処理で算出された角度であり且つ前記カメラのパン角度が０である状態において、前記２つのマーカのいずれかのマーカの移動前後の位置を算出する処理と、
前記２つのマーカのいずれかのマーカの移動前後の位置から得られる移動方向が、前記車両の座標系における所定の軸に一致するように、前記カメラのパン角度を算出する処理と、
をさらに含む請求項３記載のパラメータ算出方法。
【請求項５】
前記第２の取得処理において、
前記第２の画像において、前記車両の座標系において既知の位置に配置された第２のマーカの第３の座標値を取得し、
前記算出処理が、
前記第３の座標値から得られる、前記状態における前記第２のマーカの位置と、前記２つのマーカのいずれかのマーカの移動方向及び移動量とから、前記状態における前記第２のマーカの移動前の位置を算出する処理と、
前記車両の座標系において既知の位置と前記第２のマーカの移動前の位置とが一致するように、前記カメラのパン角度を用いて前記カメラの位置を算出する処理と、
をさらに含む請求項４記載のパラメータ算出方法。
【請求項６】
前記特定処理が、
前記条件を表す評価式に基づき前記条件を満たす前記平面のパラメータを探索する処理
を含む請求項２乃至５のいずれか１つ記載のパラメータ算出方法。
【請求項７】
前記車両の周辺に配置され且つ所定の第２の間隔を有する２つの第３のマーカを前記車両に搭載された第２のカメラにて撮影し、撮影された第３の画像における前記２つの第３のマーカの第３の座標値と前記２つのマーカのうち特定のマーカの第４の座標値とを取得する第３の取得処理と、
前記車両を直線上で移動させた後、前記２つの第３のマーカを前記第２のカメラにて撮影し、撮影された第４の画像における前記２つの第３のマーカの第５の座標値を取得する第４の取得処理と、
前記第２のカメラの座標系において移動前後の前記２つの第３のマーカの間隔が前記所定の第２の間隔であり且つ前記２つの第３のマーカの移動距離が等しいという第２の条件に基づき、前記第３の座標値、前記第４の座標値及び前記第５の座標値を用いて、前記第２のカメラのパラメータを算出する第２算出処理と、
をさらに含む請求項１乃至６のいずれか１つ記載のパラメータ算出方法。
【請求項８】
前記第２算出処理が、
前記カメラのパラメータと前記２つのマーカのうち前記特定のマーカの第４の座標値とから、前記車両の座標系における前記特定のマーカの位置を算出する位置算出処理と、
前記第２の条件と、前記第２のカメラによって撮影された画像における座標値から得られる視線ベクトルと前記第２のカメラの座標系において移動前後の前記２つの第３のマーカが配置される第２の平面と前記第２のカメラの座標系における位置との関係と、前記第３の座標値及び前記第５の座標値とから、当該第２の平面のパラメータを特定する処理と、
前記第２の平面のパラメータと前記第２のカメラの座標系の各軸方向とから、前記第２のカメラの傾き角度及び前記第２のカメラの光軸回りの回転角度を算出する第３算出処理と、
前記車両の座標系における原点で前記第２の平面のパラメータに含まれる第２の高さに前記第２のカメラが設置されており、前記第２のカメラの傾き角度及び前記第２のカメラの光軸回りの回転角度が前記第３算出処理で算出された角度であり且つ前記第２のカメラのパン角度が０である第２の状態において、前記２つの第３のマーカのいずれかのマーカの移動前後の位置を算出する処理と、
前記２つの第３のマーカのいずれかのマーカの移動前後の位置から得られる移動方向が、前記車両の座標系における所定の軸に一致するように、前記第２のカメラのパン角度を算出する処理と、
前記第４の座標値から得られる、前記第２の状態における前記特定のマーカの位置と、前記位置算出処理において算出された前記特定のマーカの位置とが一致するように、前記第２のカメラのパン角度を用いて前記第２のカメラの位置を算出する処理と、
を含む請求項７記載のパラメータ算出方法。
【請求項９】
車両の周辺に配置され且つ所定の間隔を有する２つのマーカを前記車両に搭載されたカメラにて撮影し、撮影された第１の画像における前記２つのマーカの第１の座標値を取得する第１の取得処理と、
前記車両を直線上で移動させた後、前記２つのマーカを前記カメラにて撮影し、撮影された第２の画像における前記２つのマーカの第２の座標値を取得する第２の取得処理と、
前記カメラの座標系において移動前後の前記２つのマーカの間隔が前記所定の間隔であり且つ前記２つのマーカの移動距離が等しいという条件に基づき、前記第１の座標値及び前記第２の座標値を用いて、前記カメラのパラメータを算出する算出処理と、
を、コンピュータに実行させるためのプログラム。
【請求項１０】
車両の周辺に配置され且つ所定の間隔を有する２つのマーカを前記車両に搭載されたカメラにて撮影し、撮影された第１の画像における前記２つのマーカの第１の座標値を取得し、前記車両を直線上で移動させた後、前記２つのマーカを前記カメラにて撮影し、撮影された第２の画像における前記２つのマーカの第２の座標値を取得する取得部と、
前記カメラの座標系において移動前後の前記２つのマーカの間隔が前記所定の間隔であり且つ前記２つのマーカの移動距離が等しいという条件に基づき、前記第１の座標値及び前記第２の座標値を用いて、前記カメラのパラメータを算出する算出部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、車載カメラのキャリブレーション技術に関する。
【背景技術】
【０００２】
近年、車両にカメラを搭載し、当該カメラで撮影した画像を処理して、運転者に対して様々な画像等を提示することが行われている。しかしながら、車両に対する車載カメラの取り付け位置及び角度を正しく求めることができないと、正しい処理結果を運転者に提示できない。一方、車両に対する車載カメラの取り付け位置及び角度を求めるための手間が多くかかるようでは、実際の作業コストが多くなってしまう。
【０００３】
なお、車両に対する車載カメラの取り付け位置及び角度を求める方法としては、車両周辺にマーカ（すなわち校正治具）を配置し、車載カメラが撮影した画像上でのマーカの位置や形状を基に推定する手法がよく用いられている。例えば、車両後方の路上の特定位置に帯状のターゲットバー（マーカ）を配置し、カメラ映像を表示するディスプレイ画像上でターゲットバーがその中に入るようにウインドウ枠を移動させ、その移動量からカメラパラメータを算出する。しかしカメラに対するマーカの設置位置を基にカメラパラメータを推定する手法では、車両に対してマーカを厳密に配置することになるので、マーカの設置作業に多くの工数が費やされるという問題がある。このようにマーカを厳密に配置することを求める技術はその他にも存在している。
【０００４】
また、マーカ形状を工夫することで設置作業の工数を削減すると共にキャリブレーションの精度を向上させる手法も存在している。マーカに車両の幅及び後輪からの距離を一定に保つためのスケールを追加することで、車両とマーカの相対位置を厳密に保つのを目的とするものであるが、実際に使う画像特徴を有する部分に比べてマーカ全体が巨大になるため、高価且つ可搬性が悪く、様々な作業場所で実施することが困難になるという欠点がある。
【０００５】
なお、駐車時に車両の後退走行を補助するバックモニタも提案されている。具体的には、路面上の基準位置に車幅相当の間隔をあけて一対のマーカを設置する。そして、車両を基準位置から移動させながら複数の位置にて車載カメラで一対のマーカが含まれる路面の画像を撮影し、この画像においてマーカの表示座標位置を認識し、マーカを含む画像が撮影された位置の、基準位置からの距離が短い順に並べて、これらの表示位置座標を結んだラインを新たな車線幅とすることが開示されている。しかし、この技術はカメラパラメータを算出するものではない。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−２４５３２６号公報
【特許文献２】特開２００５−１６９７９号公報
【特許文献３】特開２００６−１６５９７３号公報
【特許文献４】特開２０１０−２３９４０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従って、本技術の目的は、一側面によれば、車載カメラのキャリブレーションを簡単に行うための技術を提供することである。
【課題を解決するための手段】
【０００８】
本技術に係るパラメータ算出方法は、（Ａ）車両の周辺に配置され且つ所定の間隔を有する２つのマーカを前記車両に搭載されたカメラにて撮影し、撮影された第１の画像における上記２つのマーカの第１の座標値を取得する第１の取得処理と、（Ｂ）車両を直線上で移動させた後、上記２つのマーカを前記カメラにて撮影し、撮影された第２の画像における上記２つのマーカの第２の座標値を取得する第２の取得処理と、（Ｃ）カメラの座標系において移動前後の上記２つのマーカの間隔が所定の間隔であり且つ上記２つのマーカの移動距離が等しいという条件に基づき、第１の座標値及び第２の座標値とを用いて、カメラのパラメータを算出する算出処理とを含む。
【発明の効果】
【０００９】
一側面によれば、車載カメラのキャリブレーションを簡単に行うことができるようになる。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１の実施の形態に係る装置構成例を示す図である。
【図２Ａ】図２Ａは、車両座標系を説明するための図である。
【図２Ｂ】図２Ｂは、車両座標系を説明するための図である。
【図３】図３は、カメラ座標系を説明するための図である。
【図４Ａ】図４Ａは、カメラの設置パラメータを説明するための図である。
【図４Ｂ】図４Ｂは、カメラの設置パラメータを説明するための図である。
【図４Ｃ】図４Ｃは、カメラの設置パラメータを説明するための図である。
【図４Ｄ】図４Ｄは、カメラの設置パラメータを説明するための図である。
【図４Ｅ】図４Ｅは、カメラの設置パラメータを説明するための図である。
【図５】図５は、第１のマーカの一例を示す図である。
【図６】図６は、第１の実施の形態におけるメインの処理フローを示す図である。
【図７】図７は、マーカの配置について説明するための図である。
【図８Ａ】図８Ａは、マーカの配置方法について説明するための図である。
【図８Ｂ】図８Ｂは、マーカの配置方法について説明するための図である。
【図９】図９は、移動前に撮影された画像の一例を示す図である。
【図１０】図１０は、移動前に撮影された画像から座標位置を取得する場面を説明するための図である。
【図１１】図１１は、車両とマーカの関係を説明するための図である。
【図１２】図１２は、移動後に撮影された画像の一例を示す図である。
【図１３】図１３は、移動後に撮影された画像から座標位置を取得する場面を説明するための図である。
【図１４】図１４は、車両座標系における位置関係の一例を示す図である。
【図１５】図１５は、パラメータ算出処理の処理フローを示す図である。
【図１６】図１６は、カメラ座標系における位置関係を示す図である。
【図１７】図１７は、カメラ座標系における位置関係を示す図である。
【図１８】図１８は、仮の車両座標系における位置関係を示す図である。
【図１９】図１９は、車両座標系における位置関係を示す図である。
【図２０】図２０は、第３のマーカの一例を示す図である。
【図２１】図２１は、第２の実施の形態に係る装置構成例を示す図である。
【図２２】図２２は、第２の実施の形態におけるメインの処理フローを示す図である。
【図２３】図２３は、車両座標系における位置関係を示す図である。
【図２４Ａ】図２４Ａは、サイドカメラで撮影された移動前の画像の一例を示す図である。
【図２４Ｂ】図２４Ｂは、サイドカメラで撮影された移動前の画像から座標位置を取得する場面を説明するための図である。
【図２５】図２５は、サイドカメラで撮影された移動後の画像の一例を示す図である。
【図２６】図２６は、サイドカメラで撮影された移動後の画像から座標位置を取得する場面を説明するための図である。
【図２７】図２７は、カメラ座標系における位置関係を示す図である。
【図２８】図２８は、第２パラメータ算出処理の処理フローを示す図である。
【図２９】図２９は、仮の車両座標系における位置関係を示す図である。
【図３０】図３０は、車両座標系における位置関係を示す図である。
【図３１】図３１は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１１】
［実施の形態１］
図１に本実施の形態に係る装置構成例を示す。車両１には、カメラ３が搭載されており、このカメラ３には、車載装置５が接続されている。車載装置５は、画像格納部５１と、マーカ座標取得部５２と、表示部５３と、入力部５４と、データ格納部５５と、パラメータ算出部５６とを有する。画像格納部５１は、カメラ３で撮影された画像を一時保管する。マーカ座標取得部５２は、画像格納部５１に格納されている所定タイミングの画像からマーカの座標値を自動的に抽出する処理を実施する場合もある。また、マーカ座標取得部５２は、画像を表示部５３に表示させてタッチパネルなどのポインティングデバイスである入力部５４からマーカの位置の指定を受け付けることで、マーカの座標値を取得する場合もある。マーカ座標取得部５２は、取得した座標値をデータ格納部５５に格納し、パラメータ算出部５６に処理を指示する。データ格納部５５は、さらに、予めカメラ３について画像の座標値毎に視線ベクトルを得るためのデータを格納している。そして、パラメータ算出部５６は、データ格納部５５に格納されているデータを用いて処理を行い、カメラ３の設置パラメータ（例えば車両座標系における位置及び角度）を算出し、データ格納部５５に格納する。
【００１２】
車両１、カメラ３及び車載装置５などを用いた、カメラの設置パラメータのキャリブレーション手順を説明する前に、座標系について説明しておく。車両座標系は車両を基準として周辺物体の位置座標を表現するための座標系であり、車両の移動に伴い移動する。車両座標系の原点や軸はどのように設定してもよいが、ここでは図２Ａに示すように平面図における車両の中心且つ路面上の点を原点Ｏとし、図２Ａ及び図２Ｂに示すように、車両の進行方向をＹ軸、垂直上をＺ軸、右手系を構成する方向にＸ軸をとるものとする。
【００１３】
一方、カメラ座標系はカメラを基準として被写体となる物体等の位置座標や視線ベクトルを表現するための座標系であり、カメラに固定されている。カメラ座標系はどのように設定してもよいが、図３に示すように、一般的にカメラの光学中心に原点Ｏを置き、カメラの水平方向をＸ軸、垂直上をＹ軸と置く。Ｚ軸は右手系を構成した場合は光軸方向の逆方向を＋とする。光軸方向には、物体が撮影される範囲である視体積３１が存在する。
【００１４】
また、本実施の形態でキャリブレーションすべきカメラ３の設置パラメータは、カメラ３の設置位置（Ｔｘ，Ｔｙ，Ｔｚ）及び設置角度（Ｐａｎ，Ｔｉｌｔ，Ｒｏｔａｔｅ）である。その他のレンズディストーション（レンズ歪み）などのパラメータは既知であるものとする。図４Ａに示すように、車両座標系とカメラ座標系とが一致する状態をカメラ配置の初期状態として、図４Ｂに示すように、カメラ３を光軸（Ｚ軸）回りで角度Ｒｏｔａｔｅだけ回転させられているものとする（ＲｏｔＺ（Ｒｏｔａｔｅ））。さらに、図４Ｃに示すように、カメラ３をＸ軸回りで角度（π／２−Ｔｉｌｔ）だけ回転させられているものとする（ＲｏｔＸ（π／２−Ｔｉｌｔ））。例えば、角度Ｔｉｌｔだけ水平から見下ろす状態（俯角がＴｉｌｔ）が、カメラ３をＸ軸回りで角度（π／２−Ｔｉｌｔ）だけ回転させることになる。また、図４Ｄに示すように、カメラ３をＺ軸回りで角度Ｐａｎだけ左又は右に振られているものとする（ＲｏｔＺ（Ｐａｎ））。その後、図４Ｅに示すように、カメラ３を（Ｔｘ，Ｔｙ，Ｔｚ）に平行移動することで（Ｔｒａｎｓｌａｔｅ（Ｔx，Ｔy，Ｔz））、カメラ３が配置されているものとする。
【００１５】
このようなカメラの設置パラメータは車両１にどのようにカメラ３が設置されているかを記述したものであると同時に、カメラ座標系と車両座標系との間の座標変換を定義している。図４Ａ乃至図４Ｅの関係より、カメラ座標系の点ＣCAMは車両座標系の点ＣCARに次式で変換することができる。
【００１６】
【数１】
0005915268.tif 000002
【００１７】
なお、本実施の形態では、図５に示すような第１のマーカを使用する。第１のマーカは、２つのマーカ７１及び７２と、当該２つのマーカ７１及び７２の中心を結ぶ紐７３とを含む。紐７３は、２つのマーカ７１及び７２の中心の間隔Ｗ（例えば３ｍ）を確保するために、マーカ７１及び７２の中心を結ぶようになっている。マーカ７１及び７２は、図５に示すように、円形で中心角９０°毎に黒と白を塗り分けている。これは、画像処理によってマーカの中心を抽出し易くするためで、図示した模様以外の模様のマーカであっても良い。また、本実施の形態では、第２のマーカとしてマーカ７１及び７２と同様の１のマーカ７４を用いる。
【００１８】
次に、本実施の形態に係るカメラ３の設置パラメータのキャリブレーション手順について、図６乃至図１９を用いて説明する。
【００１９】
まず、作業者は、カメラ３が搭載されている車両１及び第１のマーカ及び第２のマーカを配置する作業を行う（図６：Ｓ１）。人間の作業であれば、図６の処理フローでは点線で示されている。本実施の形態では、図７に示すように、第１のマーカについては、カメラ３から撮影できる位置であってＸ軸に平行になるように配置することが好ましい。但し、平行でなくても問題ない。すなわち、移動前の位置と移動後の位置とで形成される平行四辺形があまりに細長くなることを避けることができればよい。但し、マーカ７１及び７２の間隔Ｗは正確に確保する。さらに、第２のマーカ７４については、Ｙ軸上の車両後端の直下の路面に厳密に配置する。
【００２０】
例えば図８Ａ及び図８Ｂに示すように、後部ナンバープレートが車両左右中央８１にある車種の場合、ナンバープレートの中央から、糸のついたおもり９１をつり下げ、おもり９１が位置する直下の路面に第２のマーカ７４を配置する。これによって第２のマーカ７４は、車両後端点８２の直下に配置されるため、精度の良い配置が実現される。この第２のマーカ７４の位置は、車両１の長さ及び幅から車両座標系において（Ｂｘ，Ｂｙ，０）であることが分かる。
【００２１】
なお、ナンバープレートが中央にない場合でも、車種により予めオフセット量は分かっているため、それに合わせた基準点を用いることで同様に精度の良い第２のマーカの配置が実現できる。なお車両の移動前であれば、カメラ３によって第２のマーカが撮影されなくても良い。
【００２２】
そして、カメラ３は、このような車両１の第１の位置において第１の画像を撮影して、画像格納部５１に格納する（ステップＳ３）。例えば、作業者からの指示に応じて画像を画像格納部５１に格納する。
【００２３】
そして、マーカ座標取得部５２は、画像格納部５１から第１の画像を読み出し、表示部５３に表示させ、第１のマーカに含まれるマーカ７１及び７２の中心の座標値を取得し、データ格納部５５に格納する（ステップＳ５）。このステップでは、上でも述べたように、画像処理を行って、第１の画像の中で第１のマーカに含まれるマーカ７１及び７２を抽出して当該マーカ７１及び７２の中心座標値を抽出する場合もある。また、表示部５３に表示された画像の中で、作業者が入力部５４によってマーカ７１及び７２の中心を指定することで、マーカ７１及び７２の中心座標値を取得する場合もある。
【００２４】
一例として、例えば図９に示すような第１の画像が得られたものとする。マーカ７１及び７２は全体が第１の画像に含まれているが、マーカ７４は一部しか第１の画像に含まれない。この状態では、マーカ７４の中心の座標値については得られない。例えば、図１０に示すように、入力部５４により、作業者が例えば十字マークを移動させてマーカ７１の中心７１ａに十字マークの中心を一致させ、確定を指示すると、画像の中心を原点Ｏとする二次元画像座標系における座標値Ｐ1が得られる。作業者ではなく、マーカ座標取得部５２が自動的に抽出するようにしても良い。同様に、入力部５４により、作業者が例えば十字マークを移動させてマーカ７２の中心７２ａに十字マークの中心を一致させ、確定を指示すると、画像の中心を原点Ｏとする二次元画像座標系における座標値Ｐ0が得られる。作業者ではなく、マーカ座標取得部５２が自動的に抽出するようにしても良い。なお、本実施の形態では、第１の画像の水平方向右がＸ軸の正方向、垂直方向上がＹ軸の正方向を表している。
【００２５】
次に、作業者は、車両１を前方に移動させる（ステップＳ７）。例えば、数ｍ移動させるが、この移動距離は厳密でなくても良い。また、移動方向は、車両座標系におけるＹ軸方向である。但し、通常の直進の範疇で運転すればよい。
【００２６】
そうすると、図１１に示すように、車両１を中心に考えれば、マーカ７１及び７２並びに７４が後方に相対的に移動したようになる。すなわち、カメラ３から見れば、マーカ７１はマーカ１７１の位置に移動し、マーカ７２はマーカ１７２の位置に移動し、マーカ７４はマーカ１７４の位置に移動する。
【００２７】
そして、カメラ３は、このような車両１の第２の位置において第２の画像を撮影して、画像格納部５１に格納する（ステップＳ９）。例えば、作業者からの指示に応じて画像を画像格納部５１に格納する。
【００２８】
そして、マーカ座標取得部５２は、画像格納部５１から第２の画像を読み出し、表示部５３に表示させ、第１のマーカに含まれるマーカ７１及び７２の中心の座標値と第２のマーカ７４の中心の座標値とを取得し、データ格納部５５に格納する（ステップＳ１１）。このステップでは、上でも述べたように、画像処理を行って、第２の画像の中で第１のマーカに含まれるマーカ７１及び７２を抽出して当該マーカ７１及び７２の中心座標値を抽出し、第２の画像の中で第２のマーカ７４を抽出して当該マーカ７４の中心座標値を抽出する場合もある。また、表示部５３に表示された画像の中で、作業者が入力部５４によってマーカ７１及び７２の中心及びマーカ７４の中心を指定することで、マーカ７１及び７２の中心座標値及びマーカ７４の中心座標値を取得する場合もある。
【００２９】
そうすると、例えば図１２に示すような第２の画像が得られたものとする。移動後なので、マーカ７１及び７２もマーカ７４も第２の画像に含まれている。例えば、図１３に示すように、入力部５４により、作業者が例えば十字マークを移動させてマーカ７１の中心７１ａに十字マークの中心を一致させ、確定を指示すると、画像の中心を原点Ｏとする二次元画像座標系における座標値Ｐ3が得られる。作業者ではなく、マーカ座標取得部５２が自動的に抽出するようにしても良い。同様に、入力部５４により、作業者が例えば十字マークを移動させてマーカ７２の中心７２ａに十字マークの中心を一致させ、確定を指示すると、画像の中心を原点Ｏとする二次元画像座標系における座標値Ｐ2が得られる。作業者ではなく、マーカ座標取得部５２が自動的に抽出するようにしても良い。さらに、入力部５４により、作業者が例えば十字マークを移動させてマーカ７４の中心７４ａに十字マークの中心を一致させ、確定を指示すると、画像の中心を原点Ｏとする二次元画像座標系における座標値Ｐ4が得られる。作業者ではなく、マーカ座標取得部５２が自動的に抽出するようにしても良い。なお、本実施の形態では、第２の画像の水平方向右がＸ軸の正方向、垂直方向上がＹ軸の正方向を表している。
【００３０】
このときのカメラ座標系の位置Ｐ0乃至Ｐ4に相当する、車両座標系におけるマーカ位置ｐ0乃至ｐ4の関係を図１４に示す。ｐ0−ｐ1−ｐ3−ｐ2は平行四辺形であり、ｐ0−ｐ1間距離＝ｐ2−ｐ3間距離＝Ｗ（例えば３ｍ）となる。なおｐ0−ｐ2間距離＝ｐ1−ｐ3間距離＝Ｓ（移動距離）であるが、移動距離Ｓは未計測であり不明となる。また、ｐ4の移動元の位置は測定されていない。但し、車両１を直線的に移動させているので、ｐ4の移動元の位置を算出することは可能である。
【００３１】
そうすると、マーカ座標取得部５２は、パラメータ算出部５６に処理を指示し、パラメータ算出部５６は、パラメータ算出処理を実施する（ステップＳ１３）。パラメータ算出処理については、図１５乃至図１９を用いて説明する。
【００３２】
パラメータ算出部５６は、ステップＳ５及びＳ１１で得られた、マーカの座標値に対応する視線ベクトルを取得する（図１５：ステップＳ２１）。例えばデータ格納部５５に、画像における各画素の座標値から視線ベクトルを得るためのデータが格納されており、当該データからｐ0乃至ｐ4の各々に対する視線ベクトルｖ0乃至ｖ4を取得する。画像におけるマーカの座標値と視線ベクトルとの関係はカメラに固有であり、カメラ３のレンズ歪みなどが考慮されている。
【００３３】
図１６に示すように、カメラ座標系の原点から視線ベクトルｖ0乃至ｖ4方向に伸びる直線が路面Ｒと交わる点を、以下カメラ座標系であることを明示するためｐ0CAM乃至ｐ4CAMと表す。そして、ｐnCAMは以下のように表される。ｎは０乃至４の整数である。
【００３４】
【数２】
0005915268.tif 000003
ここでｋnはカメラ座標系原点からマーカ位置までの距離に相当する。また、路面Ｒは、カメラ座標系の原点までの距離Ｈと面法線Ｎvを用いて以下のように表される。
【００３５】
【数３】
0005915268.tif 000004
【００３６】
そして（２）式及び（３）式の関係によりｐnCAMは以下のように表される。
【００３７】
【数４】
0005915268.tif 000005
【００３８】
ここでＮvは単位ベクトルなので、例えば２つの角度α及びβから、以下のように表現できる。
【００３９】
【数５】
0005915268.tif 000006
【００４０】
このように、（４）式及び（５）式によりマーカ位置ｐ0CAM乃至ｐ4CAMは路面Ｒを定義する未知の３パラメータ（Ｈ，α，β）により一意に算出できる。
【００４１】
一方、図１４及び図１６に示したように、ｐ0CAM−ｐ2CAM−ｐ3CAM−ｐ1CAMは平行四辺形なので、以下の２条件を満たすならば、マーカ位置ｐ0CAM乃至ｐ4CAMは正しい位置関係にあると判断できる。
ｐ0CAM−ｐ1CAM間距離＝ｐ2CAM−ｐ3CAM間距離＝Ｗ
ｐ0CAM−ｐ2CAM間距離＝ｐ1CAM−ｐ3CAM間距離
【００４２】
第１の条件は以下のような式で表される。
【００４３】
【数６】
0005915268.tif 000007
【００４４】
また、第２の条件は以下のような式で表される。
【００４５】
【数７】
0005915268.tif 000008
【００４６】
そして、パラメータ算出部５６は、第１及び第２の条件を表す評価式を０又は極小化するＨ、α及びβを算出し、例えばデータ格納部５５に格納する（ステップＳ２３）。
【００４７】
評価式は（６）式及び（７）式をまとめた以下のような式である。
【００４８】
【数８】
0005915268.tif 000009
【００４９】
ステップＳ２３では、カメラ設置高Ｈと角度α及びβとを、妥当な範囲（例えば設計値＋／−３００ｍｍ。＋／−９０°）且つ妥当な刻み（例えば１ｍｍ。０．１°）で変化させて、全ての組み合わせにおいて（８）式の値が最小となる組み合わせを全探索することで、最適なＨ、α及びβを検出する。なお、最適なＨは、カメラの設置パラメータＴzそのものである。
【００５０】
また、パラメータ算出部５６は、以下の計算のため、（５）式でＮvを算出する（ステップＳ２５）。Ｎvが得られれば、（４）式からｐnCAMが得られる。
【００５１】
そして、パラメータ算出部５６は、カメラ３の設置パラメータＲｏｔａｔｅ及びＴｉｌｔを算出し、データ格納部５５に格納する（ステップＳ２７）。
【００５２】
図１７に示すように、カメラ座標系原点をＯCAM、カメラ座標系原点から路面Ｒに下した垂線の交点座標をＵ、カメラ光軸と路面Ｒとの交点をＱとすると、角Ｒｏｔａｔｅは、直角三角形ＯCAM−Ｕ−Ｑの面法線Ｕｎｉｔ（Ｎv×ＺCAM）（Ｕｎｉｔ（）は（）内を単位ベクトルにする関数。）とカメラ座標系のＸ軸であるＸCAMが成す角度となり以下の式で算出される。
【００５３】
【数９】
0005915268.tif 000010
【００５４】
また、角Ｔｉｌｔは、以下の式で算出される。
【００５５】
【数１０】
0005915268.tif 000011
ここでｃｒ＝ｃｏｓ（Ｒｏｔａｔｅ）であり、ｓｒ＝ｓｉｎ（Ｒｏｔａｔｅ）である。
【００５６】
また、パラメータ算出部５６は、以下の計算のためｐ0CAM乃至ｐ4CAMを算出し、データ格納部５５に格納する（ステップＳ２９）。（４）式を用いれば、路面ＲのＨ及びＮv及び視線ベクトルｖnにより各ｐnCAMを算出できる。
【００５７】
さらに、パラメータ算出部５６は、Ｔx＝０、Ｔy＝０及びＰａｎ＝０として（１）式から、仮の車両座標系におけるｐ0CAR*乃至ｐ4CAR*を算出し、さらに車両移動前の第２のマーカ７４の位置であるｐ5CAR*と車両１の移動方向ｖFCAR*を算出し、データ格納部５５に格納する（ステップＳ３１）。
【００５８】
図１８に示すように、仮の車両座標系において、ｐ0CAR*の移動先がｐ2CAR*であり、ｐ4CAR*の移動元がｐ5CAR*となるので、ｐ5CAR*は以下のように算出される。
【００５９】
【数１１】
0005915268.tif 000012
【００６０】
また、仮の車両座標系におけるマーカ７１及び７２の移動方向は車両１の移動方向と一致するので、仮の車両座標系における車両１の移動方向ｖFCAR*は以下のように算出される。
【００６１】
【数１２】
0005915268.tif 000013
【００６２】
そうすると、パラメータ算出部５６は、角度Ｐａｎを移動方向ｖFCAR*及び車両座標系のＹ軸方向（０，１，０）から算出し、データ格納部５５に格納する（ステップＳ３３）。図１９に示すように、ｖFCAR*は車両座標系における車両１の移動方向、すなわちＹ軸方向と一致するので、ｖFCAR*をＹ軸方向のベクトルＹCAR＝（０，１，０）に回転移動で一致させるための角度がＰａｎである。よって、角度Ｐａｎは以下の式で算出される。
【００６３】
【数１３】
0005915268.tif 000014
【００６４】
そして、パラメータ算出部５６は、角度Ｐａｎとｐ5CAR*と車両移動前の第２のマーカの位置（Ｂx，Ｂy，０）から、カメラの設置パラメータＴx及びＴyを算出し、データ格納部５５に格納する（ステップＳ３５）。図１９に示したように、ｐ5CAR*は、角度Ｐａｎの回転を行ってＴx及びＴyで平行移動すると、車両移動前の第２のマーカの設置位置（Ｂx，Ｂy，０）と一致するので、以下のように表される。
【００６５】
【数１４】
0005915268.tif 000015
ここでｃｐ＝ｃｏｓ（Ｐａｎ）であり、ｓｐ＝ｓｉｎ（Ｐａｎ）である。
【００６６】
このような処理を実施することによって、第１のマーカの配置及び車両１の移動距離については厳密性が問われず、第２のマーカについても比較的容易に配置できるため、全体的に簡易に車載カメラのキャリブレーションが可能になる。従って、作業効率が向上して、単位時間に多くの車両について車載カメラのキャリブレーションを行うことができる。
【００６７】
なお、バックカメラを一例に説明したが、バックカメラに限定されず、フロントカメラでも、車両をＹ軸に沿って後退させれば同様に処理できる。
【００６８】
さらに、車載装置５を用いる例を示したが、必ずしも車載の装置でなく、カメラ３から画像を得ることができ、さらに算出されたカメラの設置パラメータを、当該設置パラメータを用いる装置に入力できる他の情報処理装置であってもよい。
【００６９】
［実施の形態２］
本実施の形態では、バックカメラに加えてサイドカメラを搭載する場合を取り扱う。このため、第１及び第２のマーカに加えて、サイドカメラ用の第３のマーカを導入する。第３のマーカは、第１のマーカと同様に、図２０に示すように、２つのマーカ７５及び７６と、当該２つのマーカ７５及び７６の中心を結ぶ紐７７とを含む。紐７７は、２つのマーカ７５及び７６の中心の間隔Ｗ２（例えば０．８ｍ）を確保するために、マーカ７５及び７６を結ぶようになっている。マーカ７５及び７６は、マーカ７１及び７２と同様に、円形で中心角９０°毎に黒と白を塗り分けている。これは、画像処理によってマーカの中心を抽出し易くするためで、図示した模様以外の模様のマーカであっても良い。紐７７が短いのは、サイドカメラの撮影範囲や設置面積の問題からで、長さは任意である。
【００７０】
本実施の形態では、カメラを２台用いることになる。図２１に示すように、図１に示した車載装置５の構成自体は同様であるが、バックカメラであるカメラ３ａに加えてサイドカメラ３ｂが車載装置５に接続されており、カメラ３ａ及び３ｂで撮影された画像は画像格納部５１に格納される。マーカ座標取得部５２及びパラメータ算出部５６の処理内容は、以下のように変更される。
【００７１】
次に、図２２乃至図３０を用いて本実施の形態に係るカメラの設置パラメータのキャリブレーション手順について説明する。
【００７２】
まず、作業者は、カメラ３ａ及び３ｂが搭載されている車両１及び第１のマーカ、第２のマーカ及び第３のマーカを配置する作業を行う（図２２：Ｓ４１）。本実施の形態でも、人間の作業であれば、処理フローでは点線で示されている。第１のマーカ及び第２のマーカについては、第１の実施の形態と同様に配置する。また、第３のマーカについても、図２３に示すように、カメラ３ｂから撮影できる位置であってＸ軸に平行になるように配置することが好ましい。但し、平行でなくても問題ない。また、マーカ７５及び７６の間隔Ｗ２は正確に確保する。
【００７３】
そして、バックカメラであるカメラ３ａは、このような車両１の第１の位置において、第１の画像を撮影して、画像格納部５１に格納し、サイドカメラであるカメラ３ｂは、第２の画像を撮影して、画像格納部５１に格納する（ステップＳ４３）。例えば、作業者からの指示に応じて画像を撮影して画像格納部５１に格納する。
【００７４】
そして、マーカ座標取得部５２は、画像格納部５１から第１の画像を読み出し、表示部５３に表示させ、第１のマーカに含まれるマーカ７１及び７２の中心の座標値を取得し、データ格納部５５に格納する。また、マーカ座標取得部５２は、画像格納部５１から第２の画像を読み出し、表示部５３に表示させ、第３のマーカに含まれるマーカ７６及び７７の中心座標値と第１のマーカのマーカ７１の中心座標値を取得し、データ格納部５５に格納する（ステップＳ４５）。このステップでは、上でも述べたように、画像処理を行って、第１の画像の中で第１のマーカに含まれるマーカ７１及び７２を抽出して当該マーカ７１及び７２の中心座標値を抽出する場合もある。また、表示部５３に表示された第１の画像の中で、作業者が入力部５４によってマーカ７１及び７２の中心を指定することで、マーカ７１及び７２の中心座標値を取得する場合もある。第１の画像については、図９及び図１０を用いて説明したように処理される。
【００７５】
第２の画像についても同様に、画像処理を行って、第２の画像の中で第３のマーカに含まれるマーカ７５及び７６並びに第１のマーカに含まれるマーカ７１を抽出して当該マーカ７５及び７６の中心座標値及びマーカ７１の中心座標値を抽出する場合もある。また、表示部５３に表示された第２の画像の中で、作業者が入力部５４によってマーカ７５及び７６の中心及びマーカ７１の中心を指定することで、マーカ７５及び７６の中心座標値及びマーカ７１の中心座標値を取得する場合もある。
【００７６】
また、例えば図２３に示すような第２の画像が得られたものとする。マーカ７５及び７６に加えて、第１のマーカのマーカ７１も第２の画像に含まれている。例えば、図２４Ａ及び図２４Ｂに示すように、入力部５４により、作業者が例えば十字マークを移動させてマーカ７５の中心７５ａに十字マークの中心を一致させ、確定を指示すると、画像の中心を原点Ｏとする二次元画像座標系における座標値Ｐ7が得られる。作業者ではなく、マーカ座標取得部５２が自動的に抽出するようにしても良い。同様に、入力部５４により、作業者が例えば十字マークを移動させてマーカ７６の中心７６ａに十字マークの中心を一致させ、確定を指示すると、画像の中心を原点Ｏとする二次元画像座標系における座標値Ｐ6が得られる。作業者ではなく、マーカ座標取得部５２が自動的に抽出するようにしても良い。さらに、本実施の形態では、入力部５４により、作業者が例えば十字マークを移動させてマーカ７１の中心に十字マークの中心を一致させ、確定を指示すると、画像の中心を原点Ｏとする二次元画像座標系における座標値Ｐ10が得られる。作業者ではなく、マーカ座標取得部５２が自動的に抽出するようにしても良い。なお、本実施の形態では、第２の画像の水平方向右がＸ軸の正方向、垂直方向上がＹ軸の正方向を表している。
【００７７】
次に、作業者は、車両１を前方に移動させる（ステップＳ４７）。例えば、数ｍ移動させるが、この移動距離は厳密でなくても良い。また、移動方向は、車両座標系におけるＹ軸方向である。但し、通常の直進の範疇で運転すればよい。
【００７８】
そうすると、図２３に示すように、車両１を中心に考えれば、マーカ７１及び７２並びに７４が後方に相対的に移動したようになる。すなわち、カメラ３ａから見れば、マーカ７１はマーカ１７１の位置に移動し、マーカ７２はマーカ１７２の位置に移動し、マーカ７４はマーカ１７４の位置に移動する。同様に、マーカ７５及び７６が後方に相対的に移動したようになる。すなわち、カメラ３ｂから見れば、マーカ７５はマーカ１７５の位置に移動し、マーカ７６はマーカ１７６の位置に移動する。
【００７９】
そして、バックカメラであるカメラ３ａは、このような車両１の第２の位置において、第１の画像を撮影して、画像格納部５１に格納し、サイドカメラであるカメラ３ｂは、第２の画像を撮影して、画像格納部５１に格納する（ステップＳ４９）。例えば、作業者からの指示に応じて画像を撮影して画像格納部５１に格納する。
【００８０】
そして、マーカ座標取得部５２は、画像格納部５１から第１の画像を読み出し、表示部５３に表示させ、第１のマーカに含まれるマーカ７１及び７２の中心の座標値と第２のマーカ７４の中心の座標値とを取得し、データ格納部５５に格納する。また、マーカ座標取得部５２は、画像格納部５１から第２の画像を読み出し、表示部５３に表示させ、第３のマーカに含まれるマーカ７６及び７７の中心座標値を取得し、データ格納部５５に格納する（ステップＳ５１）。このステップでは、上でも述べたように、画像処理を行って、第１の画像の中で第１のマーカに含まれるマーカ７１及び７２を抽出して当該マーカ７１及び７２の中心座標値を抽出し、第１の画像の中で第２のマーカ７４を抽出して当該マーカ７４の中心座標値を抽出する場合もある。また、表示部５３に表示された画像の中で、作業者が入力部５４によってマーカ７１及び７２の中心及びマーカ７４の中心を指定することで、マーカ７１及び７２の中心座標値及びマーカ７４の中心座標値を取得する場合もある。第１の画像については、図１２及び図１３を用いて説明したように処理される。
【００８１】
さらに、第２の画像についても、画像処理を行って、第２の画像の中で第３のマーカに含まれるマーカ７５及び７６を抽出して当該マーカ７５及び７６の中心座標値を抽出する場合もある。また、表示部５３に表示された第２の画像の中で、作業者が入力部５４によってマーカ７５及び７６の中心を指定することで、マーカ７５及び７６の中心座標値を取得する場合もある。  
【００８２】
そうすると、例えば図２５に示すような第２の画像が得られたものとする。この例では、マーカ７５及び７６に加えてマーカ７１も第２の画像に含まれている。しかし、マーカ７１については、かなり離れているので中心座標値を特定できるほどの大きさはない。このためマーカ７１については処理しない。例えば、図２６に示すように、入力部５４により、作業者が例えば十字マークを移動させてマーカ７５の中心７５ａに十字マークの中心を一致させ、確定を指示すると、画像の中心を原点Ｏとする二次元画像座標系における座標値Ｐ9が得られる。作業者ではなく、マーカ座標取得部５２が自動的に抽出するようにしても良い。同様に、入力部５４により、作業者が例えば十字マークを移動させてマーカ７６の中心７６ａに十字マークの中心を一致させ、確定を指示すると、画像の中心を原点Ｏとする二次元画像座標系における座標値Ｐ8が得られる。作業者ではなく、マーカ座標取得部５２が自動的に抽出するようにしても良い。なお、本実施の形態では、第２の画像の水平方向右がＸ軸の正方向、垂直方向上がＹ軸の正方向を表している。
【００８３】
このときのカメラ座標系の位置Ｐ6乃至Ｐ10に相当する、車両座標系におけるマーカ位置ｐ6乃至ｐ10の関係を図２７に示す。ｐ6−ｐ8−ｐ9−ｐ7は平行四辺形であり、ｐ6−ｐ7間距離＝ｐ8−ｐ9間距離＝Ｗ２（例えば０．８ｍ）となる。なおｐ6−ｐ8間距離＝ｐ7−ｐ9間距離＝Ｓ（移動距離）であるが、移動距離Ｓは未計測であり不明となる。また、ｐ10の移動先の位置は測定されていない。但し、ｐ10＝ｐ1である。
【００８４】
その後、パラメータ算出部５６は、マーカ座標取得部５２からの指示に応じて、バックカメラ（カメラ３ａ）についてのパラメータ算出処理を実施する（ステップＳ５３）。第１の実施の形態におけるパラメータ算出処理と同様の処理を行えばよいので、このステップの処理についての説明は省略する。
【００８５】
そして、パラメータ算出部５６は、サイドカメラ（カメラ３ｂ）についての第２パラメータ算出処理を実施する（ステップＳ５５）。第２パラメータ算出処理については、図２８乃至図３０を用いて説明する。
【００８６】
パラメータ算出部５６は、ステップＳ４５及びＳ５１で得られた、マーカの座標値に対応する視線ベクトルを取得する（図２８：ステップＳ６１）。本ステップはステップＳ２１と同様であるから説明を省略する。
【００８７】
また、カメラ座標系の原点から視線ベクトルｖ6乃至ｖ10方向に伸びる直線が路面Ｒと交わる点を、以下カメラ座標系であることを明示するためｐ6CAM乃至ｐ10CAMと表す。そして、ｐnCAMは（４）式で表される。
【００８８】
また、路面Ｒは、カメラ座標系の原点までの距離Ｈ及び面法線Ｎvの代わりに距離Ｈ2及び面法線Ｎv2を用いて（３）式のように表される。
【００８９】
さらに、Ｎv2は単位ベクトルなので、角度α及びβの代わりに２つの角度α2及びβ2から、（５）式のように表される。
【００９０】
第１の実施の形態と同様に、（４）式及び（５）式によりマーカ位置ｐ6CAM乃至ｐ10CAMは路面Ｒを定義する未知の３パラメータ（Ｈ2，α2，β2）により一意に算出できる。
【００９１】
一方、図２７に示したように、ｐ6CAM−ｐ8CAM−ｐ9CAM−ｐ7CAMは平行四辺形なので、以下の２条件を満たすならば、マーカ位置ｐ6CAM乃至ｐ10CAMは正しい位置関係にあると判断できる。
ｐ6CAM−ｐ7CAM間距離＝ｐ8CAM−ｐ9CAM間距離＝Ｗ２
ｐ6CAM−ｐ8CAM間距離＝ｐ7CAM−ｐ9CAM間距離
【００９２】
第１の条件は以下のような式で表される。
【００９３】
【数１５】
0005915268.tif 000016
【００９４】
また、第２の条件は以下のような式で表される。
【００９５】
【数１６】
0005915268.tif 000017
【００９６】
そして、パラメータ算出部５６は、第１及び第２の条件を表す評価式を０又は極小化するＨ2、α2及びβ2を算出し、例えばデータ格納部５５に格納する（ステップＳ６３）。
【００９７】
評価式は（１５）式及び（１６）式をまとめた以下のような式である。
【００９８】
【数１７】
0005915268.tif 000018
【００９９】
ステップＳ６３では、カメラ設置高Ｈ2と角度α2及びβ2とを、妥当な範囲（例えば設計値＋／−３００ｍｍ。＋／−９０°）且つ妥当な刻み（例えば１ｍｍ。０．１°）で変化させて、全ての組み合わせにおいて（１７）式の値が最小となる組み合わせを全探索することで、最適なＨ2、α2及びβ2を検出する。なお、最適なＨ2は、カメラの設置パラメータＴz2そのものである。
【０１００】
また、パラメータ算出部５６は、以下の計算のため、（５）式でＮv2を算出する（ステップＳ６５）。Ｎv2が得られれば、（４）式からｐnCAMが得られる。
【０１０１】
そして、パラメータ算出部５６は、カメラの設置パラメータＲｏｔａｔｅ2及びＴｉｌｔ2を算出し、データ格納部５５に格納する（ステップＳ６７）。なお、図１７に示したように、角Ｒｏｔａｔｅ2は、Ｎvの代わりにＮv2を用いて（９）式で算出される。同様に、角Ｔｉｌｔ2は、Ｎvの代わりにＮv2を用いて（１０）式で算出される。なお、ｃｒ＝ｃｏｓ（Ｒｏｔａｔｅ2）であり、ｓｒ＝ｓｉｎ（Ｒｏｔａｔｅ2）である。
【０１０２】
また、パラメータ算出部５６は、以下の計算のためｐ6CAM乃至ｐ10CAMを算出し、データ格納部５５に格納する（ステップＳ６９）。（４）式を用いれば、路面ＲのＨ2及びＮv2及び視線ベクトルｖnにより各ｐnCAMを算出できる。
【０１０３】
さらに、パラメータ算出部５６は、Ｔx2＝０、Ｔy2＝０及びＰａｎ2＝０として（１）式から、仮の車両座標系におけるｐ6CAR*乃至ｐ10CAR*を算出し、さらに車両１の移動方向ｖF2CAR*を算出し、データ格納部５５に格納する（ステップＳ７１）。
【０１０４】
サイドカメラであるカメラ３ｂの場合には、図２９に示すように、仮の車両座標系において、ｐ7CAR*の移動先がｐ9CAR*であり、ｐ6CAR*の移動先がｐ8CAR*である。ｐ10CAR*は、ｐ1CARに対応するので後で用いられる。
【０１０５】
なお、仮の車両座標系におけるマーカ７５及び７６の移動方向は車両１の移動方向と一致するので、仮の車両座標系における車両１の移動方向ｖF2CAR*は以下のように算出される。但し、ｖFCAR*をそのまま使用する場合もある。
【０１０６】
【数１８】
0005915268.tif 000019
【０１０７】
そうすると、パラメータ算出部５６は、角度Ｐａｎ2を移動方向ｖF2CAR*及び車両座標系のＹ軸方向（０，１，０）から算出し、データ格納部５５に格納する（ステップＳ７３）。図３０に示すように、ｖF2CAR*は車両座標系における車両１の移動方向、すなわちＹ軸方向と一致する。従って、ｖF2CAR*をＹ軸方向のベクトルＹCAR＝（０，１，０）に回転移動で一致させるための角度がＰａｎ2であるため、角度Ｐａｎ2は、ｖFCAR*の代わりにｖF2CAR*を用いて（１３）式で算出される。
【０１０８】
また、パラメータ算出部５６は、ｐ1CAMと（１）式から、ｐ1CARを算出し、データ格納部５５に格納する（ステップＳ７４）。
【０１０９】
そして、パラメータ算出部５６は、角度Ｐａｎ2とｐ10CAR*とｐ1CARの位置から、カメラ３ｂの設置パラメータＴx2及びＴy2を算出し、データ格納部５５に格納する（ステップＳ７５）。図３０に示したように、ｐ10CAR*は、角度Ｐａｎ2の回転を行ってＴx2及びＴy2で平行移動すると、ｐ1CARと一致するので、以下のように表される。
【０１１０】
【数１９】
0005915268.tif 000020
ここでｃｐ＝ｃｏｓ（Ｐａｎ2）であり、ｓｐ＝ｓｉｎ（Ｐａｎ2）である。
【０１１１】
このような処理を実施することによって、第１及び第３のマーカの配置及び車両１の移動距離については厳密性が問われず、第２のマーカについても比較的容易に配置できるため、全体的に簡易に車載カメラのキャリブレーションが可能になる。従って、作業効率が向上して、単位時間に多くの車両について車載カメラのキャリブレーションを行うことができる。
【０１１２】
第１の実施の形態と同様、バックカメラを一例に説明したが、バックカメラに限定されず、フロントカメラでも、車両をＹ軸に沿って後退させれば同様に処理できる。
【０１１３】
さらに、車載装置５を用いる例を示したが、必ずしも車載の装置でなく、カメラ３から画像を得ることができ、さらに算出されたカメラの設置パラメータを、当該パラメータを用いる装置に入力できる他の装置であってもよい。
【０１１４】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図１及び図２１の機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成とは一致しない。また、フローチャートについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、並列実行するようにしても良い。
【０１１５】
なお、本実施の形態の車載装置５は、コンピュータ装置であって、図３１に示すように、ＲＡＭ（Random Access Memory）２５０１とプロセッサ２５０３とＲＯＭ（Read Only Memory）２５０７と１又は複数のカメラ２５１５と表示部２５０５と入力部２５０６とに接続されている表示制御部２５０４とがバス２５１９で接続されている。本実施の形態における処理を実施するための制御プログラム（及び存在している場合にはオペレーティング・システム（ＯＳ：Operating System））は、ＲＯＭ２５０７に格納されており、プロセッサ２５０３により実行される際にはＲＯＭ２５０７からＲＡＭ２５０１に読み出される。また、プロセッサ２５０３は、場合によっては、表示制御部２５０７を制御して、表示部２５０５にカメラ２５１５が撮影した画像などを表示させる動作を行わせる。また、入力部２５０６からの入力に応じて、プロセッサ２５０３は処理を行う。さらに、処理途中のデータについては、ＲＡＭ２５０１に格納される。なお、プロセッサ２５０３は、ＲＯＭ２５０７を含む場合もある、さらに、ＲＡＭ２５０１を含む場合もある。本技術の実施の形態では、上で述べた処理を実施するための制御プログラムは、コンピュータ読み取り可能なリムーバブル・ディスクに格納されて頒布され、ＲＯＭライタによってＲＯＭ２５０７に書き込まれる場合もある。このようなコンピュータ装置は、上で述べたプロセッサ２５０３、ＲＡＭ２５０１、ＲＯＭ２５０７などのハードウエアと制御プログラム（場合によってはＯＳも）とが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１１６】
以上述べた本実施の形態をまとめると以下のようになる。
【０１１７】
本実施の形態に係るパラメータ算出方法は、（Ａ）車両の周辺に配置され且つ所定の間隔を有する２つのマーカを前記車両に搭載されたカメラにて撮影し、撮影された第１の画像における上記２つのマーカの第１の座標値を取得する第１の取得処理と、（Ｂ）車両を直線上で移動させた後、上記２つのマーカを前記カメラにて撮影し、撮影された第２の画像における上記２つのマーカの第２の座標値を取得する第２の取得処理と、（Ｃ）カメラの座標系において移動前後の上記２つのマーカの間隔が所定の間隔であり且つ上記２つのマーカの移動距離が等しいという条件に基づき、第１の座標値及び第２の座標値とを用いて、カメラのパラメータを算出する算出処理とを含む。
【０１１８】
上で述べたような条件を基にカメラのパラメータを算出することができるので、上記２つのマーカの厳密な位置測定が不要となり、作業効率が向上する。すなわち、上記２つのマーカの配置については、主に所定の間隔が確保されており且つカメラから撮影可能な位置に配置されるという条件を満たせばよいので、容易に作業を行うことができる。移動距離についても厳密に決められた距離移動させるということではなく、直線上で移動させることができればよいので、この点についても容易に作業を行うことができる。
【０１１９】
また、上で述べた算出処理が、上記条件と、カメラによって撮影された画像における座標値から得られる視線ベクトルとカメラの座標系において移動前後の上記２つのマーカが配置される平面とカメラの座標系における位置との関係と、第１の座標値及び第２の座標値とから、当該平面のパラメータを特定する特定処理を含むようにしても良い。このようにすれば、カメラの設置高が得られるようになる。なお、視線ベクトルは、カメラ固有のデータであり、様々な態様にて画像の座標値との対応付けから得られる。
【０１２０】
さらに、上で述べた算出処理が、平面のパラメータとカメラの座標系の各軸方向とから、カメラの傾き角度（例えば俯角）及びカメラの光軸回りの回転角度を算出する角度算出処理をさらに含むようにしても良い。
【０１２１】
また、上で述べた算出処理が、車両の座標系における原点で平面のパラメータに含まれる高さにカメラが設置されており、カメラの傾き角度及びカメラの光軸回りの回転角度が角度算出処理で算出された角度であり且つカメラのパン角度（例えば左右の振り角）が０である状態において、上記２つのマーカのいずれかのマーカの移動前後の位置を算出する処理と、上記２つのマーカのいずれかのマーカの移動前後の位置から得られる移動方向が、車両の座標系における所定の軸（例えば進行方向の平行な軸）に一致するように、カメラのパン角度を算出する処理とをさらに含むようにしても良い。
【０１２２】
また、上で述べた第２の取得処理において、第２の画像において、車両の座標系において既知の位置に配置された第２のマーカの第３の座標値を取得するようにしても良い。この場合、上で述べた算出処理が、第３の座標値から得られる、上記状態における第２のマーカの位置と、上記２つのマーカのいずれかのマーカの移動方向及び移動量とから、上記状態における第２のマーカの移動前の位置を算出する処理と、車両の座標系において既知の位置と第２のマーカの移動前の位置とが一致するように、カメラのパン角度を用いてカメラの位置を算出する処理とをさらに含むようにしても良い。第２のマーカについては、正確な位置決めが必要であるが、１つのマーカだけであれば比較的容易に配置することができる。
【０１２３】
なお、上で述べた特定処理が、上記条件を表す評価式に基づき上記条件を満たす平面のパラメータを探索する処理を含むようにしても良い。総当たりで探索しても良いし、様々な最適化手法を用いて探索するようにしても良い。
【０１２４】
さらに、上で述べたパラメータ算出方法は、（Ｄ）車両の周辺に配置され且つ所定の第２の間隔を有する２つの第３のマーカを車両に搭載された第２のカメラにて撮影し、撮影された第３の画像における上記２つの第３のマーカの第３の座標値と上記２つのマーカのうち特定のマーカの第４の座標値とを取得する第３の取得処理と、（Ｅ）車両を直線上で移動させた後、上記２つの第３のマーカを第２のカメラにて撮影し、撮影された第４の画像における上記２つの第３のマーカの第５の座標値を取得する第４の取得処理と、（Ｆ）第２のカメラの座標系において移動前後の上記２つの第３のマーカの間隔が所定の第２の間隔であり且つ上記２つの第３のマーカの移動距離が等しいという第２の条件に基づき、第３の座標値、第４の座標値及び第５の座標値とを用いて、第２のカメラのパラメータを算出する第２算出処理とをさらに含むようにしても良い。このように追加のカメラが存在している場合でも対処できる。
【０１２５】
また、上で述べた第２算出処理が、カメラのパラメータと上記２つのマーカのうち特定のマーカの第１の座標値とから、車両の座標系における前記特定のマーカの位置を算出する位置算出処理と、第２の条件と、第２のカメラによって撮影された画像における座標値から得られる視線ベクトルと第２のカメラの座標系において移動前後の上記２つの第３のマーカが配置される第２の平面と第２のカメラの座標系における位置との関係と、第３の座標値及び第５の座標値とから、当該第２の平面のパラメータを特定する処理と、第２の平面のパラメータと第２のカメラの座標系の各軸方向とから、第２のカメラの傾き角度及び第２のカメラの光軸回りの回転角度を算出する第３算出処理と、車両の座標系における原点で第２の平面のパラメータに含まれる第２の高さに第２のカメラが設置されており、第２のカメラの傾き角度及び第２のカメラの光軸回りの回転角度が第３算出処理で算出された角度であり且つ第２のカメラのパン角度が０である第２の状態において、上記２つの第３のマーカのいずれかのマーカの移動前後の位置を算出する処理と、上記２つの第３のマーカのいずれかのマーカの移動前後の位置から得られる移動方向が、車両の座標系における所定の軸に一致するように、第２のカメラのパン角度を算出する処理と、第４の座標値から得られる、第２の状態における特定のマーカの位置と、位置算出処理において算出された特定のマーカの位置とが一致するように、第２のカメラのパン角度を用いて第２のカメラの位置を算出する処理とを含む。第２のカメラについては、第１のカメラについての処理結果を活用できるので、マーカの数を削減できる。
【０１２６】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。
【０１２７】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２８】
（付記１）
車両の周辺に配置され且つ所定の間隔を有する２つのマーカを前記車両に搭載されたカメラにて撮影し、撮影された第１の画像における前記２つのマーカの第１の座標値を取得する第１の取得処理と、
前記車両を直線上で移動させた後、前記２つのマーカを前記カメラにて撮影し、撮影された第２の画像における前記２つのマーカの第２の座標値を取得する第２の取得処理と、
前記カメラの座標系において移動前後の前記２つのマーカの間隔が前記所定の間隔であり且つ前記２つのマーカの移動距離が等しいという条件に基づき、前記第１の座標値及び前記第２の座標値とを用いて、前記カメラのパラメータを算出する算出処理と、
を含み、コンピュータにより実行されるパラメータ算出方法。
【０１２９】
（付記２）
前記算出処理が、
前記条件と、前記カメラによって撮影された画像における座標値から得られる視線ベクトルと前記カメラの座標系において移動前後の前記２つのマーカが配置される平面と前記カメラの座標系における位置との関係と、前記第１の座標値及び前記第２の座標値とから、当該平面のパラメータを特定する特定処理
を含む付記１記載のパラメータ算出方法。
【０１３０】
（付記３）
前記算出処理が、
前記平面のパラメータと前記カメラの座標系の各軸方向とから、前記カメラの傾き角度及び前記カメラの光軸回りの回転角度を算出する角度算出処理、
をさらに含む付記２記載のパラメータ算出方法。
【０１３１】
（付記４）
前記算出処理が、
前記車両の座標系における原点で前記平面のパラメータに含まれる高さに前記カメラが設置されており、前記カメラの傾き角度及び前記カメラの光軸回りの回転角度が前記角度算出処理で算出された角度であり且つ前記カメラのパン角度が０である状態において、前記２つのマーカのいずれかのマーカの移動前後の位置を算出する処理と、
前記２つのマーカのいずれかのマーカの移動前後の位置から得られる移動方向が、前記車両の座標系における所定の軸に一致するように、前記カメラのパン角度を算出する処理と、
をさらに含む付記３記載のパラメータ算出方法。
【０１３２】
（付記５）
前記第２の取得処理において、
前記第２の画像において、前記車両の座標系において既知の位置に配置された第２のマーカの第３の座標値を取得し、
前記算出処理が、
前記第３の座標値から得られる、前記状態における前記第２のマーカの位置と、前記２つのマーカのいずれかのマーカの移動方向及び移動量とから、前記状態における前記第２のマーカの移動前の位置を算出する処理と、
前記車両の座標系において既知の位置と前記第２のマーカの移動前の位置とが一致するように、前記カメラのパン角度を用いて前記カメラの位置を算出する処理と、
をさらに含む付記４記載のパラメータ算出方法。
【０１３３】
（付記６）
前記特定処理が、
前記条件を表す評価式に基づき前記条件を満たす前記平面のパラメータを探索する処理
を含む付記１乃至５のいずれか１つ記載のパラメータ算出方法。
【０１３４】
（付記７）
前記車両の周辺に配置され且つ所定の第２の間隔を有する２つの第３のマーカを前記車両に搭載された第２のカメラにて撮影し、撮影された第３の画像における前記２つの第３のマーカの第３の座標値と前記２つのマーカのうち前記特定のマーカの第４の座標値とを取得する第３の取得処理と、
前記車両を直線上で移動させた後、前記２つの第３のマーカを前記第２のカメラにて撮影し、撮影された第４の画像における前記２つの第３のマーカの第５の座標値を取得する第４の取得処理と、
前記第２のカメラの座標系において移動前後の前記２つの第３のマーカの間隔が前記所定の第２の間隔であり且つ前記２つの第３のマーカの移動距離が等しいという第２の条件に基づき、前記第３の座標値、前記第４の座標値及び前記第５の座標値とを用いて、前記第２のカメラのパラメータを算出する第２算出処理と、
をさらに含む付記１乃至６のいずれか１つ記載のパラメータ算出方法。
【０１３５】
（付記８）
前記第２算出処理が、
前記カメラのパラメータと前記２つのマーカのうち特定のマーカの第１の座標値とから、前記車両の座標系における前記特定のマーカの位置を算出する位置算出処理と、
前記第２の条件と、前記第２のカメラによって撮影された画像における座標値から得られる視線ベクトルと前記第２のカメラの座標系において移動前後の前記２つの第３のマーカが配置される第２の平面と前記第２のカメラの座標系における位置との関係と、前記第３の座標値及び前記第５の座標値とから、当該第２の平面のパラメータを特定する処理と、
前記第２の平面のパラメータと前記第２のカメラの座標系の各軸方向とから、前記第２のカメラの傾き角度及び前記第２のカメラの光軸回りの回転角度を算出する第３算出処理と、
前記車両の座標系における原点で前記第２の平面のパラメータに含まれる第２の高さに前記第２のカメラが設置されており、前記第２のカメラの傾き角度及び前記第２のカメラの光軸回りの回転角度が前記第３算出処理で算出された角度であり且つ前記第２のカメラのパン角度が０である第２の状態において、前記２つの第３のマーカのいずれかのマーカの移動前後の位置を算出する処理と、
前記２つの第３のマーカのいずれかのマーカの移動前後の位置から得られる移動方向が、前記車両の座標系における所定の軸に一致するように、前記第２のカメラのパン角度を算出する処理と、
前記第４の座標値から得られる、前記第２の状態における前記特定のマーカの位置と、前記位置算出処理において算出された前記特定のマーカの位置とが一致するように、前記第２のカメラのパン角度を用いて前記第２のカメラの位置を算出する処理と、
を含む付記７記載のパラメータ算出方法。
【０１３６】
（付記９）
車両の周辺に配置され且つ所定の間隔を有する２つのマーカを前記車両に搭載されたカメラにて撮影し、撮影された第１の画像における前記２つのマーカの第１の座標値を取得する第１の取得処理と、
前記車両を直線上で移動させた後、前記２つのマーカを前記カメラにて撮影し、撮影された第２の画像における前記２つのマーカの第２の座標値を取得する第２の取得処理と、
前記カメラの座標系において移動前後の前記２つのマーカの間隔が前記所定の間隔であり且つ前記２つのマーカの移動距離が等しいという条件に基づき、前記第１の座標値及び前記第２の座標値とを用いて、前記カメラのパラメータを算出する算出処理と、
を、コンピュータに実行させるためのプログラム。
【０１３７】
（付記１０）
車両の周辺に配置され且つ所定の間隔を有する２つのマーカを前記車両に搭載されたカメラにて撮影し、撮影された第１の画像における前記２つのマーカの第１の座標値を取得し、前記車両を直線上で移動させた後、前記２つのマーカを前記カメラにて撮影し、撮影された第２の画像における前記２つのマーカの第２の座標値を取得する取得部と、
前記カメラの座標系において移動前後の前記２つのマーカの間隔が前記所定の間隔であり且つ前記２つのマーカの移動距離が等しいという条件に基づき、前記第１の座標値及び前記第２の座標値とを用いて、前記カメラのパラメータを算出する算出部と、
を有する情報処理装置。
【符号の説明】
【０１３８】
１  車両
３，３ａ，３ｂ  カメラ
５  車載装置
５１  画像格納部
５２  マーカ座標取得部
５３  表示部
５４  入力部
５５  データ格納部
５６  パラメータ算出部
【図１】
0005915268.tif 000021
【図２Ａ】
0005915268.tif 000022
【図２Ｂ】
0005915268.tif 000023
【図３】
0005915268.tif 000024
【図４Ａ】
0005915268.tif 000025
【図４Ｂ】
0005915268.tif 000026
【図４Ｃ】
0005915268.tif 000027
【図４Ｄ】
0005915268.tif 000028
【図４Ｅ】
0005915268.tif 000029
【図５】
0005915268.tif 000030
【図６】
0005915268.tif 000031
【図７】
0005915268.tif 000032
【図８Ａ】
0005915268.tif 000033
【図８Ｂ】
0005915268.tif 000034
【図９】
0005915268.tif 000035
【図１０】
0005915268.tif 000036
【図１１】
0005915268.tif 000037
【図１２】
0005915268.tif 000038
【図１３】
0005915268.tif 000039
【図１４】
0005915268.tif 000040
【図１５】
0005915268.tif 000041
【図１６】
0005915268.tif 000042
【図１７】
0005915268.tif 000043
【図１８】
0005915268.tif 000044
【図１９】
0005915268.tif 000045
【図２０】
0005915268.tif 000046
【図２１】
0005915268.tif 000047
【図２２】
0005915268.tif 000048
【図２３】
0005915268.tif 000049
【図２４Ａ】
0005915268.tif 000050
【図２４Ｂ】
0005915268.tif 000051
【図２５】
0005915268.tif 000052
【図２６】
0005915268.tif 000053
【図２７】
0005915268.tif 000054
【図２８】
0005915268.tif 000055
【図２９】
0005915268.tif 000056
【図３０】
0005915268.tif 000057
【図３１】
0005915268.tif 000058