(57)【特許請求の範囲】
【請求項１】
少なくとも３０台以上のカメラによってマーカを撮影した複数の画像から、それぞれのカメラの較正情報であるホモグラフィ行列を生成するカメラ較正情報生成装置であって、
前記カメラの内部パラメータおよび外部パラメータをカメラパラメータとして記憶する記憶手段と、
前記カメラが撮影した画像を入力する画像入力手段と、
前記カメラごとに、前記画像入力手段で入力された画像において、前記マーカの２次元座標位置を検出するマーカ検出手段と、
前記カメラパラメータに基づいて、全カメラ共通のワールド座標系において、前記カメラごとに、前記マーカ検出手段で検出された２次元座標位置と、前記ワールド座標系における当該カメラの位置である光学中心とを結ぶ直線式を算出するマーカ方向算出手段と、
このマーカ方向算出手段で算出された前記カメラごとの直線式で表される直線と前記ワールド座標系における３次元空間上の座標位置との距離の総和が最小となる前記３次元空間上の座標位置を、前記マーカの３次元座標位置として算出する距離最小位置算出手段と、
前記カメラごとに、前記距離最小位置算出手段で算出された３次元座標位置を前記画像上に投影した２次元座標位置と、前記マーカ検出手段で検出された２次元座標位置との少なくとも４点以上の対応関係に基づいて、前記マーカ検出手段で検出された２次元座標位置を、前記距離最小位置算出手段で算出された３次元座標位置を前記画像上に投影した２次元座標位置に変換する前記ホモグラフィ行列を算出するホモグラフィ行列算出手段と、
を備えることを特徴とするカメラ較正情報生成装置。
【請求項２】
カメラの内部パラメータおよび外部パラメータをカメラパラメータとして記憶する記憶手段を備えたカメラ較正情報生成装置において、少なくとも３０台以上のカメラによってマーカを撮影した複数の画像から、それぞれのカメラの較正情報であるホモグラフィ行列を生成するカメラ較正情報生成方法であって、
画像入力手段によって、前記カメラが撮影した画像を入力する画像入力ステップと、
マーカ検出手段によって、前記カメラごとに、前記画像入力ステップで入力された画像において、前記マーカの２次元座標位置を検出するマーカ検出ステップと、
マーカ方向算出手段によって、前記カメラパラメータに基づいて、全カメラ共通のワールド座標系において、前記カメラごとに、前記マーカ検出ステップで検出された２次元座標位置と、前記ワールド座標系における当該カメラの位置である光学中心とを結ぶ直線式を算出するマーカ方向算出ステップと、
距離最小位置算出手段によって、前記マーカ方向算出ステップで算出された前記カメラごとの直線式で表される直線と前記ワールド座標系における３次元空間上の座標位置との距離の総和が最小となる前記３次元空間上の座標位置を、前記マーカの３次元座標位置として算出する距離最小位置算出ステップと、
ホモグラフィ行列算出手段によって、前記カメラごとに、前記距離最小位置算出ステップで算出された３次元座標位置を前記画像上に投影した２次元座標位置と、前記マーカ検出ステップで検出された２次元座標位置との少なくとも４点以上の対応関係に基づいて、前記マーカ検出ステップで検出された２次元座標位置を、前記距離最小位置算出ステップで算出された３次元座標位置を前記画像上に投影した２次元座標位置に変換する前記ホモグラフィ行列を算出するホモグラフィ行列算出ステップと、
を含むことを特徴とするカメラ較正情報生成方法。
【請求項３】
カメラの内部パラメータおよび外部パラメータをカメラパラメータとして記憶する記憶手段を備えたカメラ較正情報生成装置において、少なくとも３０台以上のカメラによってマーカを撮影した複数の画像から、それぞれのカメラの較正情報であるホモグラフィ行列を生成するために、コンピュータを、
前記カメラが撮影した画像を入力する画像入力手段、
前記カメラごとに、前記画像入力手段で入力された画像において、前記マーカの２次元座標位置を検出するマーカ検出手段、
前記カメラパラメータに基づいて、全カメラ共通のワールド座標系において、前記カメラごとに、前記マーカ検出手段で検出された２次元座標位置と、前記ワールド座標系における当該カメラの位置である光学中心とを結ぶ直線式を算出するマーカ方向算出手段、
このマーカ方向算出手段で算出された前記カメラごとの直線式で表される直線と前記ワールド座標系における３次元空間上の座標位置との距離の総和が最小となる前記３次元空間上の座標位置を、前記マーカの３次元座標位置として算出する距離最小位置算出手段、
前記カメラごとに、前記距離最小位置算出手段で算出された３次元座標位置を前記画像上に投影した２次元座標位置と、前記マーカ検出手段で検出された２次元座標位置との少なくとも４点以上の対応関係に基づいて、前記マーカ検出手段で検出された２次元座標位置を、前記距離最小位置算出手段で算出された３次元座標位置を前記画像上に投影した２次元座標位置に変換する前記ホモグラフィ行列を算出するホモグラフィ行列算出手段、
として機能させることを特徴とするカメラ較正情報生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、点光源等のマーカを複数のカメラで撮影したそれぞれの画像からマーカの３次元座標位置を推定して複数のカメラの較正情報を生成するカメラ較正情報生成装置、カメラ較正情報生成方法およびカメラ較正情報生成プログラムに関する。
【背景技術】
【０００２】
一般に、被写体を複数のカメラで撮影し、そのカメラ画像から、３次元形状を復元したり、自由視点映像を生成したり等の処理を行うコンピュータビジョンの分野においては、複数のカメラ画像の２次元座標から、被写体空間の３次元座標を推定する技術が重要となる。従来、このように２次元座標から、３次元座標を推定する技術は種々存在する。
【０００３】
例えば、複数のカメラの誤差を含んだパラメータ（内部パラメータ、外部パラメータ）と、カメラが撮影した画像上の位置（２次元座標）とから、パラメータや当該位置の３次元座標を変化させて最適解を求めるバンドルアジャストメントという手法が存在する（非特許文献１参照）。
【０００４】
また、１台のカメラごとに、特徴点の位置が既知の平面パターン（例えば、白と黒の市松模様等）を複数撮影した画像から、カメラのパラメータ（内部パラメータ、外部パラメータ）を求め、複数のカメラで撮影したそれぞれの画像から、被写体空間における予め定めた特徴点の３次元座標位置を特定する手法も存在する（非特許文献２参照）。
【０００５】
また、これらの手法をさらに簡便にした手法として、１台のカメラをレール上で動かして画像を撮影したり、同一平面の格子上にカメラを配置して画像を撮影したりすることで、カメラのパラメータの一部を限定し、高速に被写体空間上の特徴点の３次元座標位置を特定する手法も存在する（非特許文献３，４参照）。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Tomas Svoboda, Daniel Martinec, Tomas Pajdla, “A Convenient Multi-Camera Self-Calibration for Virtual Environments”, MIT Press Journals, vol. 14, no. 4, pp. 407-422, 2006
【非特許文献２】Zhengyou Zhang, “A Flexible New Technique for Camera Calibration”, IEEE Trans. on PAMI, vol. 22, no. 11, pp. 1330-1334, 2000
【非特許文献３】Vaibhav Vaish, Bennett Wilburn, Neel Joshi, Marc Levoy, “Using plane + parallax for calibrating dense camera arrays”, Proc. of CVPR04, pp. 2-9, 2004
【非特許文献４】Makoto Ota, Norishige Fukushima, Tomohiro Yendo, Masayuki Tanimoto, Toshiaki Fujii, “Rectification of Pure Translation 2D Camera Array”, Proc. of IWAIT2009, 2009
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、非特許文献１に記載の手法は、複数の誤差を含んだ未知のパラメータを適宜変化させて最適解を求めるため、その演算に時間がかかり、非特許文献１にも記載されているように、１６台のカメラを用いた場合、３０分程度の時間を要してしまう。これは、１００台、３００台等、多数のカメラを用いる場合、キャリブレーションに膨大な時間がかかってしまうという問題がある。
【０００８】
また、非特許文献２に記載の手法は、１台のカメラごとにキャリブレーションを行う必要があるため、非特許文献１に記載の手法と同様に、多数のカメラを用いる場合、膨大な時間がかかってしまうという問題がある。さらに、この手法は、１台のカメラごとにキャリブレーションを行うため、複数のカメラ全体で、グローバルな座標を共有させることは困難である。
【０００９】
また、非特許文献３，４に記載の手法は、カメラの配置が平面に限定されるため、多視点の画像から自由視点映像を生成するような際に、任意のカメラ配置にすることができないという問題がある。
【００１０】
本発明は、このような問題点に鑑みてなされたものであり、任意のカメラ配置で撮影した画像から、当該画像に写ったマーカの３次元座標位置を高速に推定して複数のカメラの較正情報を生成するカメラ較正情報生成装置、カメラ較正情報生成方法およびカメラ較正情報生成プログラムを提供することを課題とする。
【課題を解決するための手段】
【００１１】
本発明は、前記課題を解決するために創案されたものであり、まず、請求項１に記載のカメラ較正情報生成装置は、少なくとも３０台以上のカメラによってマーカを撮影した複数の画像から、それぞれのカメラの較正情報であるホモグラフィ行列を生成するカメラ較正情報生成装置であって、記憶手段と、画像入力手段と、マーカ検出手段と、マーカ方向算出手段と、距離最小位置算出手段と、ホモグラフィ行列算出手段と、を備える構成とした。
【００１２】
かかる構成において、カメラ較正情報生成装置は、記憶手段に、カメラの内部パラメータおよび外部パラメータをカメラパラメータとして記憶しておく。ここで、内部パラメータとは、カメラ固有のパラメータであって、焦点距離、画像中心や、カメラ座標系と画像座標との関係を示すパラメータ等を指す。また、外部パラメータとは、カメラの配置を特定するパラメータであって、位置（光学中心）や向き（回転角）を指す。
実際のカメラでは、これらのカメラパラメータに誤差が含まれてしまうため、固有値（設定値）プラス誤差が個々のカメラのカメラパラメータになる。しかし、カメラの台数を十分な台数とすることで、誤差平均が十分に“０”に近似するため、以降の処理において、誤差を考慮する必要がない。後記するシミュレーションによれば、カメラの台数が３０台以上であれば、誤差を考慮する必要がないことが分かっている。
【００１３】
そして、カメラ較正情報生成装置は、画像入力手段によって、カメラが撮影した画像を入力する。
そして、カメラ較正情報生成装置は、マーカ検出手段によって、カメラごとに、画像入力手段で入力された画像において、点光源等のマーカの２次元座標位置を検出する。このマーカは、３次元空間上で位置を示すものであれば、何でもよいが、例えば、ＬＥＤ等の点光源、特定形状の図形等である。このマーカの位置を画像上で検出するには、例えば、マーカが点光源であれば、予め定めた輝度以上の画素を点光源の位置として検出したり、予め定めた点光源の色の画素を点光源の位置として検出したりすることができる。
また、マーカが図形であれば、画像認識処理によって、予め定めた形状の図形を検出すればよい。
【００１４】
また、カメラ較正情報生成装置は、マーカ方向算出手段によって、カメラパラメータに基づいて、全カメラ共通のワールド座標系において、カメラごとに、マーカ検出手段で検出された２次元座標位置と、ワールド座標系における当該カメラの位置である光学中心とを結ぶ直線式を算出する。
なお、通常は、カメラパラメータに誤差が含まれているため、３次元座標位置を推定するのに十分な直線式を求めることはできないが、本発明においては、誤差平均が“０”となる条件で、直線式を求めることができる。
そして、カメラ較正情報生成装置は、距離最小位置算出手段によって、マーカ方向算出手段で算出されたカメラごとの直線式で表される直線とワールド座標系における３次元空間上の座標位置との距離の総和が最小となる３次元空間上の座標位置を、マーカの３次元座標位置として算出する。
そして、カメラ較正情報生成装置は、ホモグラフィ行列算出手段によって、カメラごとに、距離最小位置算出手段で算出された３次元座標位置をカメラの撮影画像に投影した２次元座標位置と、マーカ検出手段で検出された２次元座標位置との少なくとも４点以上の対応関係に基づいて、マーカ検出手段で検出された２次元座標位置を、距離最小位置算出手段で算出された３次元座標位置を画像上に投影した２次元座標位置に変換するホモグラフィ行列を算出する。
【００１５】
また、請求項２に記載のカメラ較正情報生成方法は、カメラの内部パラメータおよび外部パラメータをカメラパラメータとして記憶する記憶手段を備えたカメラ較正情報生成装置において、少なくとも３０台以上のカメラによってマーカを撮影した複数の画像から、それぞれのカメラの較正情報であるホモグラフィ行列を生成するカメラ較正情報生成方法であって、画像入力ステップと、マーカ検出ステップと、マーカ方向算出ステップと、距離最小位置算出ステップと、ホモグラフィ行列算出ステップと、を含む手順とした。
【００１６】
かかる手順において、カメラ較正情報生成方法は、画像入力ステップで、カメラが撮影した画像を入力する。そして、カメラ較正情報生成方法は、マーカ検出ステップで、カメラごとに、画像入力ステップで入力された画像において、マーカの２次元座標位置を検出する。
【００１７】
そして、カメラ較正情報生成方法は、マーカ方向算出ステップで、カメラパラメータに基づいて、全カメラ共通のワールド座標系において、カメラごとに、マーカ検出ステップで検出された２次元座標位置と、ワールド座標系における当該カメラの位置である光学中心とを結ぶ直線式を算出する。
そして、カメラ較正情報生成方法は、距離最小位置算出ステップで、マーカ方向算出ステップで算出されたカメラごとの直線式で表される直線とワールド座標系における３次元空間上の座標位置との距離の総和が最小となる３次元空間上の座標位置を、マーカの３次元座標位置として算出する。
そして、カメラ較正情報生成方法は、ホモグラフィ行列算出ステップで、カメラごとに、距離最小位置算出ステップで算出された３次元座標位置をカメラの撮影画像に投影した２次元座標位置と、マーカ検出ステップで検出された２次元座標位置との少なくとも４点以上の対応関係に基づいて、マーカ検出ステップで検出された２次元座標位置を、距離最小位置算出ステップで算出された３次元座標位置を画像上に投影した２次元座標位置に変換するホモグラフィ行列を算出する。
【００１８】
また、請求項３に記載のカメラ較正情報生成プログラムのように、カメラの配置を特定する外部パラメータ、および、前記カメラの撮影画像を特定する内部パラメータをカメラパラメータとして記憶する記憶手段を備えたカメラ較正情報生成装置において、少なくとも３０台以上のカメラによってマーカを撮影した複数の画像から、それぞれのカメラの較正情報であるホモグラフィ行列を生成するために、コンピュータを、画像入力手段、マーカ検出手段、マーカ方向算出手段、距離最小位置算出手段、ホモグラフィ行列算出手段、として機能させる構成としてもよい。
【発明の効果】
【００２４】
本発明は、以下に示す優れた効果を奏するものである。
請求項１〜３に記載の発明によれば、任意のカメラ配置でカメラの較正情報を生成することができる。また、請求項１〜３に記載の発明によれば、多数のカメラ画像によって、誤差平均を零とみなすことができるため、未知のパラメータを適宜変化させて最適解を求める従来に手法に比べ、演算量を大幅に削減することができ、高速にカメラの較正情報を生成することができる。
【図面の簡単な説明】
【００２５】
【図１】参考例の実施形態に係る３次元座標位置推定装置を含んだ画像撮影システムの構成を示す全体構成図である。
【図２】参考例の実施形態に係る３次元座標位置推定装置を含んだ画像撮影システムのカメラ配置の例を示す全体構成図である。
【図３】参考例の実施形態に係る３次元座標位置推定装置の構成を示すブロック構成図である。
【図４】カメラパラメータを説明するための説明図である。
【図５】参考例の実施形態に係る３次元座標位置推定装置の動作を示すフローチャートである。
【図６】参考例の実施形態に係る３次元座標位置推定装置をシミュレーション評価した際のカメラ配置を示す図である。
【図７】参考例の実施形態に係る３次元座標位置推定装置をシミュレーション評価した際の評価結果を示すグラフ図である。
【図８】本発明の実施形態に係るカメラ較正情報生成装置の構成を示すブロック構成図である。
【図９】本発明の実施形態に係るカメラ較正情報生成装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００２６】
以下、本発明の実施形態について図面を参照して説明する。
［画像撮影システムの概要］
最初に、図１を参照して、参考例の実施形態に係る３次元座標位置推定装置を含んだ画像撮影システムの概要について説明する。
【００２７】
画像撮影システム（３次元座標推定システム）Ｓは、光源装置ＬＴと、複数のカメラｋＣ（ｋ＝１，…，Ｎ）と、３次元座標位置推定装置１とを備えている。
光源装置ＬＴは、３次元空間上の位置を光によって指し示すものであって、点光源Ｐを備えている。この点光源Ｐは、例えば、ＬＥＤ（Light Emitting Diode）であって、光源装置ＬＴ内の電池等の電源（不図示）によって、発光する。
なお、ここでは、３次元空間上の位置を光によって指し示すこととするが、この位置には、点光源に限らず一般的なマーカを用いてもよい。
カメラｋＣは、３次元空間上に配置された点光源Ｐを撮影するものであって、一般的は撮像装置である。
【００２８】
３次元座標位置推定装置１は、複数のカメラｋＣで撮影した画像内の点光源Ｐの位置（２次元座標）から、予め定めたグローバルな座標系（ワールド座標系）における点光源Ｐの位置（３次元座標）を推定するものである。
【００２９】
なお、個々のカメラｋＣのパラメータ（内部パラメータ、外部パラメータ）、例えば、焦点距離、カメラｋＣの向き等には、固有値（設定値）に誤差が含まれてしまい、実際には固有値（設定値）プラス誤差が個々のカメラのパラメータになる。参考例においては、その誤差平均が“０”であるものとして、点光源Ｐの３次元座標を推定する。そのため、カメラｋＣの数は、多ければ多いほうがよく、例えば、３０台以上、好ましくは１００台以上が望ましい。
すなわち、参考例は、個々のカメラｋＣの誤差平均を“０”（零ベクトル）とみなすことができれば、カメラｋＣを個別に較正することなく、大規模なカメラアレイにおいて、点光源Ｐの３次元座標を推定できることを明らかにし、それを実現した発明である。
【００３０】
また、カメラｋＣは任意の位置に配置することができるが、例えば、図２に示すように、円形ドーム内の内面に円環状に複数のカメラｋＣを、点光源Ｐの方向に向けて配置する。
以下、参考例の実施形態に係る３次元座標位置推定装置１の構成および動作について詳細に説明する。
【００３１】
［３次元座標位置推定装置の構成］
まず、図３を参照（適宜図１参照）して、３次元座標位置推定装置１の構成について説明する。図３に示すように、３次元座標位置推定装置１は、パラメータ設定手段１０と、画像入力手段１１、点光源検出手段１２と、点光源方向算出手段１３と、距離最小位置算出手段１４と、記憶手段２０と、を備えている。
【００３２】
パラメータ設定手段１０は、カメラｋＣ（ｋ＝１，…，Ｎ）のパラメータ（カメラパラメータ：内部パラメータ、外部パラメータ）を設定するものである。
このパラメータ設定手段１０は、外部から、図示を省略した入力装置を介して、パラメータを入力し、記憶手段２０に書き込む。
このパラメータ設定手段１０において設定する内部パラメータは、撮影画像を特定する情報であって、焦点距離、画像中心およびカメラ座標系と画像座標との関係を示すパラメータである。また、このパラメータ設定手段１０において設定する外部パラメータは、カメラの配置を特定する情報であって、光学中心および回転角である。
【００３３】
ここで、図４を参照して、パラメータ設定手段１０において設定する各パラメータについて説明する。
図４は、１台のカメラｋＣをピンホールカメラモデルとしてモデル化し、カメラｋＣと、点光源Ｐとの関係を示している。
図４に示すように、全カメラｋＣ共通の座標系であるワールド（世界）座標系を（ＸＷ，ＹＷ，ＺＷ）、個々のカメラｋＣごとの座標系であるカメラ座標系を（ＸＣ，ＹＣ，ＺＣ）とする。
ここで、光学中心Ｔを通り、カメラｋＣの撮像面（画像面）Ｉと直交する点が画像中心（ｕ０，ｖ０）である。また、このときの光学中心Ｔと撮像面Ｉとの距離が焦点距離ｆである。なお、光学中心Ｔは、ワールド座標系上の（ＴＸ，ＴＹ，ＴＺ）に存在する。
また、ワールド座標系を基準としたとき、カメラ座標系は、それぞれ、ＸＷ軸に対してθＸ、ＹＷ軸に対してθＹ、ＺＷ軸に対してθＺ回転している。
【００３４】
このとき、焦点距離ｆおよび画像中心（ｕ０，ｖ０）は、個々のカメラｋＣの内部パラメータである。なお、内部パラメータには、図示を省略するが、カメラ座標系のＸ座標と画像座標のｕ座標との関係を示すスケールファクタｓｕや、カメラ座標系のＹ座標と画像座標のｖ座標との関係を示すスケールファクタｓｖも存在する。これらの内部パラメータは、カメラｋＣ固有の値であり、同一のカメラであれば、誤差を考慮に入れなければ基本的に同一の値である。本実施形態においては、各カメラの内部パラメータは同一（誤差は除く）であるものとする。
また、光学中心Ｔおよび回転角θＸ，θＹ，θＺは、設置時に定まるカメラｋＣごとに異なる外部パラメータである。
図３に戻って、３次元座標位置推定装置１の構成について説明を続ける。
【００３５】
画像入力手段１１は、複数のカメラｋＣが撮影した画像を入力するものである。この画像入力手段１１は、画像の入力元を、順次、カメラ１Ｃ，２Ｃ，…，ＮＣと切り替えて、画像を入力する。この入力された画像は、カメラｋＣを特定する識別情報（例えば、識別子ｋ）とともに点光源検出手段１２に出力される。
なお、画像入力手段１１は、すべての画像を入力し、記憶手段２０に蓄積した後に、点光源検出手段１２にすべての画像を入力したことを通知してもよいし、カメラｋＣごとの個々の画像を入力する度に、点光源検出手段１２に通知し、点光源検出手段１２の処理の完了が通知された段階で、次の画像を入力することとしてもよい。
【００３６】
点光源検出手段（マーカ検出手段）１２は、画像入力手段１１から入力されたカメラｋＣごとの画像において、３次元位置を示すマーカである点光源Ｐを検出するものである。すなわち、点光源検出手段１２は、カメラｋＣの撮影画像において、点光源Ｐが写っている２次元座標（画像座標）の位置を特定するものである。
なお、この点光源検出手段１２における点光源Ｐの位置検出は、一般的な手法を用いればよい。例えば、点光源Ｐの輝度をまわりの環境よりも明るい輝度にして、カメラｋＣで撮影を行い、点光源検出手段１２が、画像内において、最も輝度値が高い画素の位置を点光源Ｐの２次元座標位置として検出する。あるいは、点光源Ｐを予め定めた色（例えば、赤）で発光させ、点光源検出手段１２が、画像内において、発光色と同じ色を探索し、該当する画素の位置を点光源Ｐの２次元座標位置として検出する。
また、点光源検出手段１２は、点光源Ｐの位置が１画素ではなく、領域を持った大きさで検出された場合、当該領域の中心（重心）を点光源Ｐの２次元座標位置とする。
【００３７】
なお、ここでは、マーカとして点光源を用いた例を説明するが、予め形状を定めた図形等であっても構わない。例えば、×印をマーカとした場合、３次元空間上の位置にマーカを貼付して、点光源検出手段（マーカ検出手段）１２が、パターンマッチング等によって、画像上で×印を検索し、特定の位置（例えば×印が交差する点）をマーカの２次元座標位置とする。
また、マーカが丸印の形状であれば、点光源検出手段（マーカ検出手段）１２は、画像上で円を検出し、その円の中心をマーカの２次元座標位置とする。あるいは、マーカが四角形の形状であれば、点光源検出手段（マーカ検出手段）１２は、画像上で矩形を検出し、その対角線の交点をマーカの２次元座標位置とすればよい。
なお、このように、マーカとして図形を用いる場合、図２で示したような円環上のカメラ配置では、カメラｋＣのすべてでマーカを撮影することはできない。そのため、このようなカメラ配置では、点光源が望ましい。
【００３８】
この点光源検出手段１２は、検出した点光源Ｐの２次元座標位置を、検出した画像を撮影したカメラｋＣと対応付けて、点光源方向算出手段１３に出力する。
ここでは、点光源検出手段１２は、検出した点光源Ｐの２次元座標位置を、検出した画像を撮影したカメラｋＣと対応付けて、記憶手段２０に書き込み、その旨を点光源方向算出手段１３に通知することとする。
【００３９】
点光源方向算出手段（マーカ方向算出手段）１３は、点光源検出手段１２で検出された画像上の点光源Ｐの２次元座標位置と、カメラｋＣのパラメータ（内部パラメータ、外部パラメータ）とに基づいて、全カメラ共通のワールド座標系において、カメラｋＣの光学中心Ｔから、３次元空間における点光源Ｐへの方向を示す直線式を算出するものである。ここで、直線式を算出するとは、直線式を規定する係数（係数行列）を算出するということである。
具体的には、点光源方向算出手段１３は、以下の式（１）を、光学中心Ｔと点光源Ｐとを結んだ直線式として算出する。なお、以下の式において、表記を簡略化するため、個々のカメラを特定する左上の添え字ｋを省略している。
【００４０】
【数１】
0005999615.tif 000002
【００４１】
なお、λは任意の実数である。また、行列Ｘ，Ｂ０￣，Ｃ０￣は、以下の通りである。また、ここで、行列の右上の添え字ｔは、転置行列を示す。
【００４２】
【数２】
0005999615.tif 000003
【００４３】
ここで、式（２）の行列Ｘは、点光源検出手段１２で検出された画像上の点光源Ｐの２次元座標に対応する３次元空間中の点（実際には、λに応じて変化する点の集合、すなわち直線となる）の３次元座標である。
また、式（３）に含まれる行列ｘは、点光源検出手段１２で検出された画像上の点光源Ｐの２次元座標である座標（ｕ，ｖ）を含んだ以下の式（５）に示す行列である。
【００４４】
【数３】
0005999615.tif 000004
【００４５】
また、式（３）のＢ０Ｘ，Ｂ０Ｙ，Ｂ０Ｚは、行列Ｂ０￣の成分であって、スカラ値である。同様に、式（４）のＣ０Ｘ，Ｃ０Ｙ，Ｃ０Ｚは、行列Ｃ０￣の成分であって、スカラ値である。
また、式（３）および式（４）の行列ＲＸ（−θＸ）￣，ＲＹ（−θＹ）￣，ＲＺ（−θＺ）￣，Ａ￣−１，Ｔは、以下の通りである。
【００４６】
【数４】
0005999615.tif 000005
【００４７】
ここで、式（６）〜式（８）のＲＸ￣，ＲＹ￣，ＲＺ￣は、カメラｋＣの回転角θＸ，θＹ，θＺから求められる外部パラメータの行列である。また、式（９）のＡ￣−１は、カメラｋＣの焦点距離ｆ、画像中心ｕ０，ｖ０およびスケールファクタｓｕ，ｓｖから求められる内部パラメータの行列である。また、式（１０）のＴは、ワールド座標系におけるカメラｋＣの光学中心の３次元座標を示す外部パラメータの行列である。
なお、前記式（１）に示した直線を用いる理由については後で詳細に説明する。
【００４８】
この点光源方向算出手段１３は、それぞれのカメラｋＣに対応して算出した直線式を距離最小位置算出手段１４に出力する。すなわち、点光源方向算出手段１３は、前記式（１）の直線式を規定する係数（係数行列）である前記式（３）および式（４）の行列Ｂ０￣および行列Ｃ０￣の成分を算出して、距離最小位置算出手段１４に出力する。
ここでは、点光源方向算出手段１３は、算出した直線式（係数行列）を、カメラｋＣと対応付けて、記憶手段２０に書き込み（図中、Ｌ１〜ＬＮ）、その旨を距離最小位置算出手段１４に通知することとする。
【００４９】
距離最小位置算出手段１４は、点光源方向算出手段１３で算出された複数の直線式で表される直線において、それらの直線との距離の総和が最小となる３次元空間上の点の位置を、点光源Ｐの３次元座標位置として算出するものである。
すなわち、距離最小位置算出手段１４は、最小２乗法により、以下の式（１１）に示すように、３次元空間上の点の座標をＸ＾としたとき、カメラｋＣ（ｋ＝１，…，Ｎ）ごとに算出した前記式（１）において、Ｘ（すなわちｋＸ）との距離の２乗が最小となる座標Ｘ＾を点光源Ｐの３次元座標位置として算出する。なお、行列の右上の添え字ｔは、転置行列を示す。
【００５０】
【数５】
0005999615.tif 000006
【００５１】
具体的には、距離最小位置算出手段１４は、前記式（１）の直線、すなわち、前記式（３）および式（４）の係数行列を用いて、以下の式（１２）の値が最小となる座標Ｘ＾を算出する。
【００５２】
【数６】
0005999615.tif 000007
【００５３】
なお、ここで、Ｘ〜，Ｙ〜，Ｚ〜は、以下の式（１３）に示すように、行列Ｘ＾の成分である。
【００５４】
【数７】
0005999615.tif 000008
【００５５】
ここで、前記式（１２）が最小になるＸ＾は、一般的な手法を用いて解けばよい。すなわち、距離最小位置算出手段１４は、前記式（１２）をＸ〜で偏微分し、値が“０”となる式を求める。また、同様に、距離最小位置算出手段１４は、前記式（１２）をＹ〜とＺ〜とでそれぞれ偏微分し、値が“０”となる式を求める。
そして、距離最小位置算出手段１４は、偏微分によって得られた３つの方程式を解くことで、点光源Ｐの３次元座標位置となる座標Ｘ＾を算出する。
【００５６】
記憶手段２０は、パラメータ設定手段１０によって設定されるパラメータを記憶するもので、半導体メモリ等の一般的な記憶媒体である。
この記憶手段２０には、パラメータ設定手段１０によって設定されるパラメータ以外にも、点光源検出手段１２が検出したカメラｋＣごとの点光源Ｐの画像座標（２次元座標）や、点光源方向算出手段１３が検出した直線式等が記憶される。
【００５７】
以上説明したように、３次元座標位置推定装置１は、３次元空間上の任意の位置に配置された複数のカメラが撮影した点光源Ｐの画像から、点光源Ｐの３次元座標位置を求めることができる。
また、３次元座標位置推定装置１は、多数のカメラのパラメータ（内部パラメータ、外部パラメータ）の誤差平均が零ベクトルであると仮定することで、個々のカメラを個別にキャリブレーションする必要がない。また、従来のように未知のパラメータを変化させて最適解を求めるのではなく、パラメータから直接的に解を求めるため、演算に要する時間が短縮され、高速に点光源Ｐの３次元座標位置を算出することができる。
【００５８】
なお、ここでは、すべてのカメラｋＣを光源装置ＬＴ（点光源Ｐ）の方向に向けた構成で説明したが、これに限定されるものではない。すなわち、カメラｋＣが任意の方向に向いている場合であっても、点光源Ｐを検出できたカメラｋＣの画像から、３次元座標位置を算出すればよい。その場合、点光源検出手段１２は、点光源Ｐを検出できなかったカメラｋＣについては、点光源方向算出手段１３に２次元座標を通知しない、あるいは、検出できなかった旨を通知し、点光源方向算出手段１３が、点光源Ｐを検出できた２次元座標から、直線を算出すればよい。
【００５９】
また、ここでは、１つのカメラ画像として、カメラｋＣが点光源等のマーカを１つ撮影することとしたが、複数のマーカを一度に撮影することとしてもよい。例えば、マーカとして、チェスボードのような格子模様を用いた場合、点光源検出手段（マーカ検出手段）１２は、直線が交差する複数の点（格子点）を検出し、例えば、左上の格子点から右下方向に順次、マーカの２次元座標位置として点光源方向算出手段（マーカ方向算出手段）１３に出力する。そして、点光源方向算出手段（マーカ方向算出手段）１３は、マーカ（格子点）ごとに、カメラｋＣの光学中心Ｔから、３次元空間におけるマーカへの方向を示す直線式を算出する。また、距離最小位置算出手段１４は、点光源方向算出手段（マーカ方向算出手段）１３が算出した直線式を用いて、マーカ（格子点）ごとに３次元座標位置を算出する。
これによって、３次元座標位置推定装置１は、一度のカメラ撮影で、複数の３次元座標位置を推定することができる。
以上説明した３次元座標位置推定装置１は、コンピュータを、前記した各手段として機能させるプログラム（３次元座標位置推定プログラム）で動作させることができる。
【００６０】
［３次元座標位置推定装置の動作］
次に、図５を参照（適宜図１，図３参照）して、３次元座標位置推定装置１の動作（３次元座標位置推定方法）について説明する。
まず、３次元座標位置推定装置１は、パラメータ設定手段１０によって、カメラｋＣ固有のパラメータ（内部パラメータ）である焦点距離ｆ、画像中心（ｕ０，ｖ０）およびスケールファクタｓｕ，ｓｖと、カメラｋＣを設置した際のパラメータ（外部パラメータ）である光学中心ｋＴおよび回転角ｋθＸ，ｋθＹ，ｋθＺとを、外部から入力し、記憶手段２０に設定（記憶）する（ステップＳ１）。
なお、ステップＳ１の動作は、カメラ配置を変更する必要がなければ、予め最初に１回だけ行えばよい。
【００６１】
そして、３次元座標位置推定装置１は、画像入力手段１１によって、複数のカメラｋＣが撮影した画像を、切り替えて順次入力する（ステップＳ２）。ここでは、画像入力手段１１は、逐次入力した画像を、カメラｋＣの識別情報とともに、記憶手段２０に書き込む。
【００６２】
そして、３次元座標位置推定装置１は、点光源検出手段１２によって、ステップＳ２で入力されたカメラｋＣごとの画像（２次元画像）において、点光源Ｐを検出する（ステップＳ３）。この点光源検出手段１２は、点光源Ｐの輝度あるいは色によって、画像上で点光源Ｐを検出し、その２次元座標の位置を点光源Ｐの画像上の位置として特定する。ここでは、点光源検出手段１２は、特定した点光源Ｐの２次元座標を、カメラｋＣに対応付けて記憶手段２０に書き込む。
【００６３】
その後、３次元座標位置推定装置１は、点光源方向算出手段１３によって、ステップＳ３で検出された点光源Ｐの画像上の２次元座標位置と、ステップＳ１で設定されたカメラｋＣのパラメータ（内部パラメータ、外部パラメータ）とに基づいて、カメラｋＣの光学中心Ｔから、３次元空間における点光源Ｐへの方向を示す直線式を算出する（ステップＳ４）。
【００６４】
ここでは、点光源方向算出手段１３は、前記式（１）により、個々のカメラｋＣごとに、光学中心から画像上の点光源Ｐの２次元座標を通って、３次元空間上の点光源Ｐに至る直線を算出する。理想的には、このステップＳ４で求められた個々のカメラｋＣごとの直線の交点に点光源Ｐが存在することになる。
そこで、３次元座標位置推定装置１は、距離最小位置算出手段１４によって、ステップＳ４で算出された複数の直線において、それらの直線との距離の総和が最小となる３次元空間上の点の位置を、点光源Ｐの３次元座標位置として算出する（ステップＳ５）。
ここでは、距離最小位置算出手段１４は、最小２乗法により、前記式（１２）において、直線との距離の２乗の総和が最小となる座標を点光源Ｐの３次元座標位置として算出する。
以上の動作によって、３次元座標位置推定装置１は、任意の位置に配置された複数のカメラが撮影した点光源Ｐの画像から、点光源Ｐの３次元座標位置を求めることができる。
【００６５】
＜光学中心と点光源とを結ぶ直線の算出について＞
次に、点光源方向算出手段１３において算出する直線が、前記式（１）により求められる理由について説明する。なお、以降の説明において、符号の左上の添え字ｋは、カメラｋＣ（ｋ＝１，…，Ｎ）のいずれかを示す識別子とする。
【００６６】
〔前提条件〕
まず、参考例において、予め成立している前提条件について説明する。
（条件１）
各カメラｋＣの光学中心ｋＴは、所望の位置にあり既知である。この光学中心は、現状の技術において、製造時の精度が十分に確保されており、また、カメラｋＣを配置する位置は既知であるため、誤差はないものとみなせる。
（条件２）
カメラｋＣの焦点距離ｋｆは、誤差を含み以下の式（１４）、式（１５）の条件を満たすものとする。ここで、ｆは焦点距離の固有値（設定値）、Δｋｆはカメラごとに異なる誤差である。
【００６７】
【数８】
0005999615.tif 000009
【００６８】
（条件３）
カメラｋＣの画像中心［ｋｕ０，ｋｖ０］ｔは、誤差を含み以下の式（１６）〜式（１８）の条件を満たすものとする。ここで、ｕ０およびｖ０は画像中心の固有値（設定値）、Δｋｕ０およびΔｋｖ０はカメラごとに異なる誤差である。
【００６９】
【数９】
0005999615.tif 000010
【００７０】
（条件４）
カメラｋＣのワールド座標系からカメラ座標系への回転角ｋθＸ，ｋθＹ，ｋθＺは、誤差を含み以下の式（１９）〜式（２４）の条件を満たすものとする。ここで、θＸ，θＹ，θＺは、カメラごとの回転角の設定値、ΔｋθＸ，ΔｋθＹ，ΔｋθＺは、カメラごとの設置時における回転角の誤差である。
【００７１】
【数１０】
0005999615.tif 000011
【数１１】
0005999615.tif 000012
【００７２】
（条件５）
すべてのカメラｋＣのせん断係数（画像平面上のｕ軸とｖ軸の傾き）は、“０”とする。また、レンズ歪は考慮しないものとする。現状の技術において、せん断係数およびスケールファクタは、製造時の精度が十分に確保されており、誤差はないものとみなせる。また、レンズ歪は一般的なレンズ歪補正技術を用いて補正すればよいため、ここでは考慮しない。この一般的なレンズ歪補正技術とは、例えばレンズの半径方向の歪を６次の多項式で補正する技術などである。
なお、前記した式（１５），式（１７），式（１８），式（２２）〜式（２４）は、多数（例えば、３０台以上）のカメラを用いた場合、誤差は“０”付近に確率的に分布し、その平均は“０”とみなしてよいという前提を示している。
【００７３】
〔直線式の導出〕
次に、前記した条件１〜５により、カメラｋＣで撮影された画像において検出された点光源Ｐの画像上の２次元座標から、前記式（１）に示した光学中心Ｔと点光源Ｐとを結んだ直線式が導き出せる理由について説明する。なお、以下の式において、表記を簡略化するため、個々のカメラを特定する左上の添え字ｋを省略している。
一般に、光学中心Ｔと、画像上の２次元座標ｘとは、以下の式（２５）の関係を有する。
【００７４】
【数１２】
0005999615.tif 000013
【００７５】
なお、λは任意の実数である。また、行列ｘ，Ａ，Ｒ，Ｘ，Ｔは、以下の通りである。また、ここで、行列の右上の添え字ｔは、転置行列を示す。
この式（２５）の行列ｘは、画像上の点光源Ｐの２次元座標である座標（ｕ，ｖ）を含んだ以下の式（２６）に示す行列である。
【００７６】
【数１３】
0005999615.tif 000014
【００７７】
また、行列Ａは、以下の式（２７）に示す内部パラメータ行列である。
【００７８】
【数１４】
0005999615.tif 000015
【００７９】
また、行列Ｒは、以下の式（２８）〜式（３１）に示す回転角から求められる外部パラメータ行列である。
【００８０】
【数１５】
0005999615.tif 000016
【００８１】
また、行列Ｘは、以下の式（３２）に示すように、前記式（２６）の２次元座標に対応する３次元空間中の点（実際には、λに応じて変化する点の集合、すなわち直線となる）の３次元座標である。
また、行列Ｔは、以下の式（３３）に示すように、外部パラメータである光学中心の３次元座標である。なお、行列の右上の添え字ｔは、転置行列を示す。
【００８２】
【数１６】
0005999615.tif 000017
【００８３】
ここで、前記式（２５）を変形すると、以下の式（３４）の直線式となる。
【００８４】
【数１７】
0005999615.tif 000018
【００８５】
行列Ａ−１，Ｒ−１のそれぞれについて、以下でさらに展開する。
ここで、行列Ａ，ＲＸ（θＸ），ＲＹ（θＹ），ＲＺ（θＺ）の誤差を含まない行列を、以下の式（３５）〜式（３８）に示すように、Ａ￣，ＲＸ（θＸ）￣，ＲＹ（θＹ）￣，ＲＺ（θＺ）￣と定義する。
【００８６】
【数１８】
0005999615.tif 000019
【数１９】
0005999615.tif 000020
【００８７】
すると、前記式（３５）〜式（３８）の逆行列は、以下の式（３９）〜式（４２）となる。
【００８８】
【数２０】
0005999615.tif 000021
【００８９】
この式（４０）〜式（４２）から、誤差を含んだＲＸ（θＸ），ＲＹ（θＹ），ＲＺ（θＺ）の逆行列は、以下の式（４３）〜式（４５）で表すことができる。
【００９０】
【数２１】
0005999615.tif 000022
【００９１】
以上より、前記式（３４）の直線式における行列Ａ−１，Ｒ−１は、それぞれ以下の式（４６）、式（４７）となる。
【００９２】
【数２２】
0005999615.tif 000023
【数２３】
0005999615.tif 000024
【００９３】
以上より、前記式（３４）の直線式は、以下のように変形することができる。
【００９４】
【数２４】
0005999615.tif 000025
【００９５】
この式（４８）を展開し、誤差が２回以上乗算されたものを無視してまとめると、以下の式（４９）となる。
【００９６】
【数２５】
0005999615.tif 000026
【００９７】
なお、行列Ｂ０，ＢＸ，ＢＹ，ＢＺ，ＢＦ，Ｂｕ０，Ｂｖ０，Ｃ０，ＣＸ，ＣＹ，ＣＺは、以下の式（５０）〜式（６０）に示した３行１列の行列である。
【００９８】
【数２６】
0005999615.tif 000027
【数２７】
0005999615.tif 000028
【００９９】
このように、前記式（３４）は、厳密には、前記式（４９）で表すことができる。
ここで、前記式（４９）によって、カメラｋＣごとに算出された複数の直線式から、それらの直線との距離の総和が最小となる３次元空間上の点の位置を算出する場合を考える。なお、式（４９）は、カメラを特定する添え字ｋを付加して表すと、以下の式（６１）となる。
【０１００】
【数２８】
0005999615.tif 000029
【０１０１】
そして、前記式（１１）と同様に、３次元空間上の点の座標を前記式（１３）に示したＸ＾としたとき、カメラｋＣ（ｋ＝１，…，Ｎ）ごとの直線式である前記式（６１）において、ｋＸとの距離の２乗が最小となる座標Ｘ＾を求めることとする。
なお、この式（６１）は、未知の誤差であるΔｋθＸ，ΔｋθＹ，ΔｋθＺ，Δｋｆ，Δｋｕ０，Δｋｖ０が存在するため、通常、当該式を用いた演算を行うことはできない。
ここで、前記式（１１）内の行列の積を以下の式（６２）のように変形する。
【０１０２】
【数２９】
0005999615.tif 000030
【０１０３】
なお、行列ｋＢＱ（Ｑ＝０，Ｘ，Ｙ，Ｚ，ｆ，ｕ０，ｖ０を示す）は、［ｋＢＱＸ ｋＢＱＹ ｋＢＱＺ］ｔの成分からなり、前記式（６２）では、例えば、行列ｋＢ０の成分を［ｋＢ０Ｘ ｋＢ０Ｙ ｋＢ０Ｚ］ｔと記述している。また、同様に、行列ｋＣＱ（Ｑ＝０，Ｘ，Ｙ，Ｚを示す）は、［ｋＣＱＸ ｋＣＱＹ ｋＣＱＺ］ｔの成分からなり、前記式（６２）では、例えば、行列ｋＣＺの成分を［ｋＣＺＸ ｋＣＺＹ ｋＣＺＺ］ｔと記述している。
また、前記式（６２）において、ｋＤＸ，ｋＤＹ，ｋＤＺ，ｋＤｆ，ｋＤｕ０，ｋＤＶ０は、以下の式（６３）〜式（６８）をまとめたものである。
【０１０４】
【数３０】
0005999615.tif 000031
【０１０５】
よって、前記式（６２）により、前記式（１１）は、以下の式（６９）のように変形することができる。
【０１０６】
【数３１】
0005999615.tif 000032
【０１０７】
これに、〔前提条件〕である前記式（１５），式（１７），式（１８），式（２２）〜式（２３）を適用すると、式（６９）は、以下の式（７０）のように変形することができる。
【０１０８】
【数３２】
0005999615.tif 000033
【０１０９】
このように、〔前提条件〕を考慮すると、未知の誤差であるΔｋθＸ，ΔｋθＹ，ΔｋθＺ，Δｋｆ，Δｋｕ０，Δｋｖ０の乗算項は、各直線から座標Ｘ＾を求める際に必要がないことがわかる。
よって、前記式（６１）は、以下の式（７１）に示す直線式であればよいことになる。
【０１１０】
【数３３】
0005999615.tif 000034
【０１１１】
このように、多数のカメラｋＣを用いて点光源Ｐの位置（３次元座標）を推定する３次元座標位置推定装置１では、点光源方向算出手段１３において、前記式（１）の直線式を用いればよいことになる。
【０１１２】
＜３次座標位置検出のシミュレーション評価＞
次に、参考例の実施形態に係る３次元座標位置推定装置１をシミュレーションした評価結果について説明する。
【０１１３】
〔カメラの配置および設定〕
ここでは、図６に示すように、半径１５００ｍｍの円周上に均等にカメラｋＣを配置してシミュレーションを行った。また、すべてのカメラｋＣは、円の中心を向いている。
また、ワールド座標系の３次元空間中の位置Ｘ＝［１００［ｍｍ］，０［ｍｍ］，０［ｍｍ］］に点光源Ｐが存在しているものとする。
また、それぞれのカメラｋＣの設定は、以下の〔表〕に示す通りである。
【０１１４】
【表１】
0005999615.tif 000035
【０１１５】
また、ここでは、未知の誤差を以下の条件で含ませた２つの条件でシミュレーションを行った。
（条件Ａ）
・焦点距離の誤差Δｋｆは、標準偏差１［ｍｍ］の正規分布に従う乱数である。
・画像中心の誤差Δｋｕ０，Δｋｖ０は、それぞれ標準偏差１００［ｐｉｘｅｌ］の正規分布に従う乱数である。
・回転角ΔθＸ，ΔθＹ，ΔθＺは、それぞれ標準偏差０．５［ｄｅｇｒｅｅ］の正規分布に従う乱数である。
【０１１６】
（条件Ｂ）
・画像中心の誤差Δｋｕ０，Δｋｖ０は、それぞれ標準偏差５０［ｐｉｘｅｌ］の正規分布に従う乱数である。
・焦点距離、回転角の条件は、条件Ａと同じである
【０１１７】
このような条件の下、カメラｋＣの台数を３台（Ｎ＝３）、１０台（Ｎ＝１０）、３０台（Ｎ＝３０）、１００台（Ｎ＝１００）、２００台（Ｎ＝２００）、３００台（Ｎ＝３００）で、点光源Ｐの位置Ｘ＾（前記式（１３））を推定した。
また、この推定をそれぞれの台数について１００回行い、それぞれの台数ごとに、実際の点光源Ｐの位置Ｘと、推定した点光源Ｐの位置Ｘ＾との距離（｜Ｘ−Ｘ＾｜）、すなわち推定誤差について平均および標準偏差を算出した。
【０１１８】
〔シミュレーション結果〕
シミュレーション結果を図７に示す。図７は、横軸がカメラ数［台］、縦軸が推定誤差［ｍｍ］である。また、グラフ中の四角形は、それぞれのカメラ台数における｜Ｘ−Ｘ＾｜の平均を示し、エラーバーは、標準偏差を示している。
【０１１９】
図７に示すように、カメラの台数を増やすほど、｜Ｘ−Ｘ＾｜の平均が小さくなっていくことがわかる。例えば、カメラ台数が３０台以上であれば、推定誤差を１０ｍｍ以内に抑えることができる。また、カメラの台数を増やすほど、標準偏差が小さくなり、より精度が向上していることがわかる。
また、条件Ａに比べて、未知の誤差が小さい条件Ｂの方が推定誤差が少なくなっており、参考例が、未知の誤差を考慮して推定を行っていることがわかる。
このように、参考例は、カメラの台数を多くすることで、例えば、３０台以上、好ましくは１００台以上とすることで、少ない推定誤差で、点光源Ｐの３次元座標位置を推定することができる。
なお、この推定誤差は、カメラの設置位置（点光源からの距離等）等の条件によっても変わるため、カメラ台数は、推定誤差の許容範囲等に応じて、適宜選択すればよい。
【０１２０】
以上、参考例に実施形態に係る３次元座標位置推定装置１の構成および動作、ならびに、その評価について説明したが、この３次元座標位置推定装置１を用いることで、カメラの較正情報を生成することが可能になる。
以下では、３次元座標位置推定装置１を構成として含んだ本発明の実施形態に係るカメラ較正情報生成装置について説明する。
【０１２１】
［カメラ較正情報生成装置の構成］
まず、図８を参照して、カメラ較正情報生成装置２の構成について説明する。なお、カメラ較正情報生成装置２への入力は、３次元座標位置推定装置１と同様のカメラ画像であって、図１（図２）で示した画像撮影システムＳにおいて、３次元座標位置推定装置１と置き換えてシステムを構成することができる。以下、適宜図１を参照することとする。
【０１２２】
このカメラ較正情報生成装置２は、複数のカメラｋＣで撮影した画像内の点光源Ｐの位置（２次元座標）から、個々のカメラｋＣが撮影した画像を較正（キャリブレーション）するための較正情報（ホモグラフィ行列）を生成するものである。
ここで、ホモグラフィ行列とは、３次元空間上の点の位置Ｘ０が、カメラで撮影した画像内の位置ｘ０に写っていたとき、この位置ｘ０を、理想的な内部パラメータを持つカメラであれば写るはずの位置ｘ０′に変換する行列である。すなわち、このホモグラフィ行列は、複数のカメラが３次元空間上で撮影を行う際に、同一のワールド座標系を基準とした画像に変換するための較正情報である。
なお、カメラ較正情報生成装置２は、少なくとも点光源Ｐの位置を４回変えて、較正情報を生成する。その理由については後記する。
【０１２３】
ここでは、カメラ較正情報生成装置２は、パラメータ設定手段１０と、画像入力手段１１、点光源検出手段１２と、点光源方向算出手段１３と、距離最小位置算出手段１４と、ホモグラフィ行列算出手段１５と、記憶手段２０と、を備えている。ここで、ホモグラフィ行列算出手段１５以外の構成は、図２で説明した３次元座標位置推定装置１の構成と同一であるため、同一の符号を用いて説明を省略する。
【０１２４】
ただし、点光源検出手段１２や点光源方向算出手段１３は、点光源Ｐの位置を変えて撮影した画像から検出した点光源Ｐの画像座標（２次元座標）を、カメラｋＣのそれぞれについて、複数、記憶手段２０に記憶しておく。また、距離最小位置算出手段１４は、算出した点光源Ｐの３次元座標をホモグラフィ行列算出手段１５に出力する。ここでは、距離最小位置算出手段１４は、算出した３次元座標を記憶手段２０に書き込み（図中、Ｘ１，Ｘ２，…）、その旨をホモグラフィ行列算出手段１５に通知することとする。
これによって、例えば、カメラ１Ｃの画像において検出された点光源Ｐの画像座標（ｘ１１，ｘ１２，…）に対して、点光源Ｐの３次元座標（Ｘ１，Ｘ２，…）が対応付けられることになる。
【０１２５】
ホモグラフィ行列算出手段１５は、距離最小位置算出手段１４で算出された少なくとも４点以上の点光源Ｐの画像座標（２次元座標）および３次元座標に基づいて、カメラｋＣごとのホモグラフィ行列を算出するものである。
【０１２６】
このホモグラフィ行列算出手段１５は、まず、カメラｋＣごとに、距離最小位置算出手段１４で算出された３次元座標を、カメラ画像上に投影することで点光源Ｐの２次元座標を算出する。
すなわち、ホモグラフィ行列算出手段１５は、距離最小位置算出手段１４で算出された３次元座標と、パラメータ設定手段１０で設定されたパラメータとに基づいて、点光源Ｐの３次元座標とカメラｋＣの光学中心Ｔとを結ぶ直線と、焦点距離ｆにおけるカメラ画像の画像平面との交点を、理想的な内部パラメータを持つカメラであれば写るはずの位置ｘ０′として算出する。
なお、このとき、現実にカメラ画像上で検出された点光源Ｐの位置は、点光源検出手段１２で検出された位置ｘ０である。
【０１２７】
そして、ホモグラフィ行列算出手段１５は、現実の座標位置ｘ０から理想の座標位置ｘ０′への変換行列をホモグラフィ行列として算出する。
ここで、ホモグラフィ行列Ｈは、以下の式（７２）に示す３行３列の行列である。
【０１２８】
【数３４】
0005999615.tif 000036
【０１２９】
すなわち、現実の座標位置ｘ０を（ｘ，ｙ）ｔ、理想の座標位置ｘ０′を（ｘ′，ｙ′）ｔとしたとき、以下の式（７３）が成り立つ。なお、ｓは、スケールパラメータである。
【０１３０】
【数３５】
0005999615.tif 000037
【０１３１】
この式（７３）を展開し、ｓを削除すると、以下の式（７４）となる。
【０１３２】
【数３６】
0005999615.tif 000038
【０１３３】
この式（７４）は、未知数（ｈ１１，ｈ１２，ｈ１３，ｈ２１，ｈ２２，ｈ２３，ｈ３１，ｈ３２）が８個で、線形方程式が２つである。よって、この式（７４）の方程式について、４点の点関係がわかれば、未知数を求めることができる。
そこで、ホモグラフィ行列算出手段１５は、３次元座標とパラメータとから求めた理想の２次元座標（理想の座標位置）と、点光源検出手段１２で検出された２次元座標（現実の座標位置）とについて、４点の点関係から、前記式（７４）の方程式（８個の方程式）を解くことで、ホモグラフィ行列Ｈを算出する。
【０１３４】
なお、ホモグラフィ行列算出手段１５は、必ずしも４点の対応関係だけでホモグラフィ行列Ｈを算出する必要はなく、５点以上の対応関係でホモグラフィ行列Ｈを算出してもよい。その場合、方程式の数が未知数の数を上回るため、一意の解ではなく、それらの方程式を最も満たす解を求めればよい。このような解の探索は、擬似逆行列を用いて求めればよく、一般的な手法であるため、ここでは、説明を省略する。
【０１３５】
［カメラ較正情報生成装置の動作］
次に、図９を参照（適宜図１，図８参照）して、カメラ較正情報生成装置２の動作について説明する。
なお、図９中、ステップＳ１からステップＳ５までの動作は、図５で説明した３次元座標位置推定装置１の動作と同じであるため、説明を省略する。
カメラ較正情報生成装置２は、ステップＳ５の後、点光源Ｐの３次元座標が、Ｎ点（予め定めた４点以上の点数）算出されていない場合（ステップＳ６でＮｏ）、操作者によって点光源Ｐの位置を変えた後、ステップＳ２に戻って、カメラ画像の入力を行う。
【０１３６】
そして、カメラ較正情報生成装置２は、点光源Ｐの３次元座標がＮ点算出された後（ステップＳ６でＹｅｓ）、ホモグラフィ行列算出手段１５によって、ホモグラフィ行列を算出する（ステップＳ７）。
すなわち、ホモグラフィ行列算出手段１５は、ステップＳ１で設定されたパラメータと、ステップＳ５で算出された点光源Ｐの３次元座標とから、カメラ画像上の２次元座標を理想の座標位置として算出する。そして、ホモグラフィ行列算出手段１５は、その理想の座標位置と、ステップＳ３で検出された点光源Ｐのカメラ画像上の現実の座標位置との４点以上の点関係に基づいて、ホモグラフィ行列を算出する。
【０１３７】
以上説明したように、カメラ較正情報生成装置２は、任意の位置に配置された複数のカメラが撮影した点光源Ｐの画像から、カメラごとの較正情報（ホモグラフィ行列）を生成することができる。
なお、カメラ較正情報生成装置２は、コンピュータを、前記した各手段として機能させるプログラム（カメラ較正情報生成プログラム）で動作させることができる。
【符号の説明】
【０１３８】
Ｓ      画像撮影システム（３次元座標推定システム）
１      ３次元座標位置推定装置
２      カメラ較正情報生成装置
１０    パラメータ設定手段
１１    画像入力手段
１２    点光源検出手段（マーカ検出手段）
１３    点光源方向算出手段（マーカ方向算出手段）
１４    距離最小位置算出手段
１５    ホモグラフィ行列算出手段
２０    記憶手段
【図１】
0005999615.tif 000039
【図２】
0005999615.tif 000040
【図３】
0005999615.tif 000041
【図４】
0005999615.tif 000042
【図５】
0005999615.tif 000043
【図６】
0005999615.tif 000044
【図７】
0005999615.tif 000045
【図８】
0005999615.tif 000046
【図９】
0005999615.tif 000047