(57)【特許請求の範囲】
【請求項１】
校正対象のカメラの画像から、基準となる水平面に対して垂直な法線ベクトルを取得する法線ベクトル取得手段と、
得られた法線ベクトルを前記基準となる水平面に対して垂直な投影用仮想平面に投影し、投影された法線ベクトルが前記基準となる水平面に対して垂直になることを評価して、前記カメラの校正に用いられる回転行列を推定する回転行列推定手段とを備えた
ことを特徴とするカメラ校正装置。
【請求項２】
カメラの校正に用いられる並進行列を推定する並進行列推定手段を備え、
法線ベクトル取得手段は、得られた法線ベクトルのうち、少なくとも１つ以上の法線ベクトルの端点における高さを示す高さ情報を取得し、
前記並進行列推定手段は、前記高さ情報が取得された法線ベクトルの一方の端点を回転行列推定手段が推定した回転行列を用いて実空間に投影することにより当該実空間上の３次元座標を算出し、算出された３次元座標と前記高さ情報を用いて前記一方の端点と対になる他の端点の３次元座標を算出し、算出した他の端点の３次元座標を前記回転行列を用いて画像上に再投影することにより当該画像上の他の端点の座標を算出し、画像上に再投影された前記他の端点の座標と画像から直接得られる前記他の端点の座標との誤差が最小になるように前記並進行列を推定する
請求項１記載のカメラ校正装置。
【請求項３】
カメラの校正に用いられる並進行列を推定する並進行列推定手段を備え、
法線ベクトル取得手段は、得られた法線ベクトルのうち、少なくとも１つ以上の法線ベクトルの端点における高さを示す高さ情報を取得し、
前記並進行列推定手段は、前記高さ情報が取得された法線ベクトルの両端点を回転行列推定手段が推定した回転行列を用いて実空間に投影することにより当該実空間上の３次元座標を算出し、算出された両端点の３次元座標からそれぞれ高さ情報を除いた２次元座標を算出し、算出された両端点の２次元座標の誤差が最小になるように前記並進行列を推定する
請求項１記載のカメラ校正装置。
【請求項４】
高さ情報の測定に用いられる測定媒体が配置された撮影空間内を法線ベクトルで表される移動媒体が動き回っている移動状態と、前記移動媒体が前記測定媒体にて高さ情報を取得可能な位置を通過する通過状態とを撮影した動画像を法線ベクトル取得手段に供給する画像供給手段を備え、
法線ベクトル取得手段は、前記画像供給手段から供給される動画像から、前記移動媒体を追跡することにより、高さ情報が既知な法線ベクトルを複数取得する
請求項２または請求項３記載のカメラ校正装置。
【請求項５】
回転行列推定手段は、世界座標系のＺ軸方向に平行な平面として定義される投影用仮想平面に投影された法線ベクトルの当該世界座標系のＺ軸に対する傾き量を算出することにより当該法線ベクトルが基準となる水平面に対して垂直になることを評価し、当該傾き量が示す誤差が最小になるように回転行列を推定する
請求項１から請求項４のうちのいずれか１項に記載のカメラ校正装置。
【請求項６】
回転行列推定手段は、世界座標系のＸＺ平面に平行な平面として定義される投影用仮想平面に投影された法線ベクトルの両端点におけるＸ軸方向の誤差を算出することにより当該法線ベクトルが基準となる水平面に対して垂直になることを評価し、当該誤差が最小になるように回転行列を推定する
請求項１から請求項４のうちのいずれか１項に記載のカメラ校正装置。
【請求項７】
回転行列推定手段は、画像を撮影するカメラの回転をロール回転とピッチ回転のみによる２次元のパラメータで制約することにより回転行列を推定し、
並進行列推定手段は、世界座標系のＺ軸上にカメラがあると想定し、カメラの位置を当該世界座標系のＺ軸上の位置を示す１次元のパラメータで制約することにより並進行列を推定する
請求項１から請求項６のうちのいずれか１項に記載のカメラ校正装置。
【請求項８】
法線ベクトル取得手段により得られた全法線ベクトルと当該全法線ベクトルからユーザにより選択された正しい選択法線ベクトルとの傾きを比較し、全法線ベクトルのうち、いずれかの前記選択法線ベクトルとの傾きが閾値以内である法線ベクトルをカメラ校正に有効な法線ベクトルとして選定する法線ベクトル選定手段を備えた
請求項１から請求項７のうちのいずれか１項に記載のカメラ校正装置。
【請求項９】
校正対象のカメラの画像から、基準となる水平面に対して垂直な法線ベクトルを取得し、
得られた法線ベクトルを前記基準となる水平面に対して垂直な投影用仮想平面に投影し、
投影された法線ベクトルが前記基準となる水平面に対して垂直になることを評価して、前記カメラの校正に用いられる回転行列を推定する
ことを特徴とするカメラ校正方法。
【請求項１０】
コンピュータに、
校正対象のカメラの画像から、基準となる水平面に対して垂直な法線ベクトルを取得する法線ベクトル取得処理、および、
得られた法線ベクトルを前記基準となる水平面に対して垂直な投影用仮想平面に投影し、投影された法線ベクトルが前記基準となる水平面に対して垂直になることを評価して、前記カメラの校正に用いられる回転行列を推定する回転行列推定処理
を実行させるためのカメラ校正用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラの姿勢の校正に用いられるカメラパラメータを推定するカメラ校正装置、カメラ校正方法およびカメラ校正用プログラムに関する。
【背景技術】
【０００２】
カメラの姿勢を校正する為に、画像情報と実空間情報とを基にカメラパラメータを推定するカメラ校正装置が知られている。この種のカメラ校正装置は、画像上の２次元座標と実空間上の３次元座標との変換を可能にするカメラパラメータ（具体的には、カメラの姿勢を表す回転行列と並進行列）の推定を行う。このようなカメラ校正装置の一例が、非特許文献１〜３に記載されている。【０００３】
非特許文献１〜３に記載された装置は、画像上の２次元座標と実空間上の３次元座標とが対応づけられた参照点からカメラパラメータを推定する装置である。まず、校正を行うカメラの視界に、参照点の配置が既知である特別な校正用機材が設置される。参照点の配置が既知であるため、参照点における実空間上の位置関係は既知である。そのため、上記装置は、参照点における実空間上の３次元座標を取得できる。【０００４】
次に、校正を行うカメラで校正用機材が撮影される。そして、上記装置は、撮影された画像から参照点における画像上の２次元座標を取得する。上記装置は、得られた参照点における画像上の２次元座標と実空間上の３次元座標の対応関係を利用して、射影方程式に基づく演算を行うことでカメラパラメータを推定する。【０００５】
なお、非特許文献４には、キャリブレーションの一手法であるＺｈａｎｇの手法が記載されている。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】Roger Y.Tsai, “An Efficient and Accurate Camera Calibration Technique for 3D Machine Vision”, Proceedings of IEEE Conference on Computer Vision and Pattern Recognition, Miami Beach, FL, pp. 364-374, 1986
【非特許文献２】Roger Y.Tsai, “A versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses”, IEEE Journal of Robotics and Automation, Vol.3, No.4, pp.323-344, 1987
【非特許文献３】徐剛, 辻三郎, “3次元ビジョン”, 共立出版（ISBN4-320-08522-1）, pp.79-82, 1998
【非特許文献４】Z.Zhang, “A flexible new technique for camera calibration”, IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol.22, No.11, pp.1330-1334, 2000
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上述する一般的な装置を用いた場合、実空間に多数の障害物が存在する状況下では、カメラ校正の精度が低下する場合があるという問題がある。その理由は、校正用立体や校正用格子ボード等のような参照点の配置が既知である特別な校正用機材を設置する際、障害物によって校正用機材の設置場所が制限され、撮影される画像から満遍なく参照点が得られないためである。【０００８】
精度よくカメラを校正するには、できるだけ画面全体の情報が必要である。すなわち、画面上の一部に偏った参照点ではなく、画面上に満遍なく得られた参照点が必要である。さらに、障害物の状況によっては、校正用機材を設置することができず、この場合には、カメラを校正できない。【０００９】
また、上述する一般的な装置を用いた場合、対象の実空間が広い状況下では、カメラ校正の精度が低下するという問題がある。その理由は、広い実空間において、画面上に満遍なく参照点を得るには、実用上ありえない大きな校正用機材を必要とするためである。【００１０】
そこで、校正用機材に配置された参照点を、配置の自由な（例えば、マーカーのような）参照点に置き換えることで、上記問題点を改善することは可能である。しかし、このように、配置の自由な参照点に置き換えた場合、カメラ校正の容易さを失うという問題がある。【００１１】
その理由は、参照点の配置（すなわち、参照点同士の位置関係）が既知である校正用機材を用いて参照点の３次元座標を容易に取得できる場合と異なり、参照点が自由に配置されるため、１つずつ実空間上の３次元座標を計測しなければならないためである。特に、対象の実空間が広く且つ複雑な場合、この３次元座標の計測は、非常に手間のかかる作業になってしまう。【００１２】
そこで、本発明は、特別な校正用機材の設置や、校正に用いる参照点の３次元座標の計測を行わずに、高精度且つ容易にカメラパラメータを推定できるカメラ校正装置、カメラ校正方法およびカメラ校正用プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明によるカメラ校正装置は、校正対象のカメラの画像から、基準となる水平面に対して垂直な法線ベクトルを取得する法線ベクトル取得手段と、得られた法線ベクトルを基準となる水平面に対して垂直な投影用仮想平面に投影し、投影された法線ベクトルが基準となる水平面に対して垂直になることを評価して、カメラの校正に用いられる回転行列を推定する回転行列推定手段とを備えたことを特徴とする。【００１４】
本発明によるカメラ校正方法は、校正対象のカメラの画像から、基準となる水平面に対して垂直な法線ベクトルを取得し、得られた法線ベクトルを基準となる水平面に対して垂直な投影用仮想平面に投影し、投影された法線ベクトルが基準となる水平面に対して垂直になることを評価して、カメラの校正に用いられる回転行列を推定することを特徴とする。【００１５】
本発明によるカメラ校正用プログラムは、コンピュータに、校正対象のカメラの画像から、基準となる水平面に対して垂直な法線ベクトルを取得する法線ベクトル取得処理、および、得られた法線ベクトルを基準となる水平面に対して垂直な投影用仮想平面に投影し、投影された法線ベクトルが基準となる水平面に対して垂直になることを評価して、カメラの校正に用いられる回転行列を推定する回転行列推定処理を実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、特別な校正用機材の設置や、校正に用いる参照点の３次元座標の計測を行わずに、高精度且つ容易にカメラパラメータを推定できる。
【図面の簡単な説明】
【００１７】
【図１】本発明によるカメラ校正装置の第１の実施形態の構成例を示すブロック図である。
【図２】法線ベクトルの例を示す説明図である。
【図３】カメラ座標系の例を示す説明図である。
【図４】カメラ座標系と世界座標系との関係の例を示す説明図である。
【図５】回転行列を推定する方法の例を示す説明図である。
【図６】回転行列の軸回転とカメラのロール、ピッチおよびヨー回転の関係の例を示す説明図である。
【図７】並進行列を推定する方法の例を示す説明図である。
【図８】並進行列を推定する他の方法の例を示す説明図である。
【図９】第１の実施形態のカメラ校正装置の動作例を示すフローチャートである。
【図１０】回転行列を推定する処理の例を示すフローチャートである。
【図１１】並進行列を推定する処理の例を示すフローチャートである。
【図１２】並進行列を推定する他の処理の例を示すフローチャートである。
【図１３】本発明によるカメラ校正装置の第２の実施形態の構成例を示すブロック図である。
【図１４】第２の実施形態のカメラ校正装置の動作例を示すフローチャートである。
【図１５】法線ベクトルを選定する処理の例を示すフローチャートである。
【図１６】本発明によるカメラ校正装置の第３の実施形態の構成例を示すブロック図である。
【図１７】本発明によるカメラ校正装置の概要を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態を図面を参照して説明する。
【００１９】
実施形態１．
図１は、本発明によるカメラ校正装置の第１の実施形態の構成例を示すブロック図である。第１の実施形態のカメラ校正装置は、画像供給装置１と、プログラム制御により動作するデータ処理装置２と、情報を記憶する記憶装置３とを備えている。
【００２０】
画像供給装置１は、校正を行うカメラの画像を供給する。画像供給装置１は、例えば、ビデオカメラ、デジタルカメラ、メモリやハードディスクなどの画像記録装置、コンピュータなどにより実現される。すなわち、画像供給装置１は、校正を行うカメラの画像を供給できる装置ならどのような装置でもよい。
【００２１】
記憶装置３は、投影用仮想平面記憶手段３１と、内部パラメータ記憶手段３２とを含んでいる。投影用仮想平面記憶手段３１は、地面に対して垂直な平面を表す情報（以下、投影用仮想平面と記す。）を記憶する。なお、本明細書で記載されている地面とは、重力の方向と直角に交わった基準の水平面を意味する。
【００２２】
ここで、地面と世界座標系の関係、および、世界座標系における投影用仮想平面の位置づけを説明する。世界座標系では、地面に対して世界座標系のＸＹ平面が平行になるように設定され、世界座標系のＺ軸の方向が地面に対して垂直になるように設定される。よって、投影用仮想平面は、世界座標系のＺ軸方向に平行な平面として定義される。
【００２３】
内部パラメータ記憶手段３２は、校正を行うカメラの焦点距離、画像中心位置、レンズ歪み係数などのパラメータ（以下、内部パラメータと記す。）を記憶する。内部パラメータは、カメラを設置する前に、例えば、非特許文献４に記載されたＺｈａｎｇの手法等で予め求められる。なお、内部パラメータを求める方法は、Ｚｈａｎｇの手法に限定されない。内部パラメータが求められる手法であれば、その他の手法が用いられてもよい。
【００２４】
データ処理装置２は、法線ベクトル取得手段２１と、回転行列推定手段２２と、並進行列推定手段２３とを含んでいる。
【００２５】
法線ベクトル取得手段２１は、画像供給装置１から供給された画像から、地面に対して垂直な法線ベクトルを取得する。さらに、法線ベクトル取得手段２１は、取得した法線ベクトルの中から、少なくとも１本以上の法線ベクトルを選択する。法線ベクトル取得手段２１は、選択した法線ベクトルの両端点（すなわち、２つの端点）の実空間上の高さを示す情報（以下、高さ情報と記す。）を取得する。実空間上の高さ情報は、例えば、世界座標系のＺ軸上の値である。
【００２６】
これにより、法線ベクトル取得手段２１は、高さ情報が未知な法線ベクトルと、高さ情報が既知な法線ベクトルの２種類の法線ベクトルを得ることができる。
【００２７】
法線ベクトル取得手段２１は、法線ベクトルを、１枚の画像からではなく複数の画像や動画像から取得してもよい。法線ベクトル取得手段２１は、例えば、固定されたカメラが撮影する複数の画像（動画像）の１枚１枚から法線ベクトルを取得し、それらの法線ベクトルを重ねたものを、法線ベクトル全体の情報としてもよい。
【００２８】
法線ベクトル取得手段２１は、例えば、画像に映る机や、棚、ビルなどの人工物体に対して、ユーザ等により指定された部分を法線ベクトルとして取得してもよい。また、画像中の立っている人物や歩行者に着目し、法線ベクトル取得手段２１は、ユーザ等により指定されたこれらの人物の頭頂位置と足元位置とを結ぶ直線を法線ベクトルとして取得してもよい。また、法線ベクトル取得手段２１は、例えば、ハフ変換による直線検出手法や、頭部または足元を検出する手法などの画像処理を行うことで法線ベクトルを取得してもよい。
【００２９】
法線ベクトルは、地面に対して垂直なベクトル線分であればどの線分であってもよい。また、法線ベクトルの取得方法も、上述する方法を含むどのような方法を用いてもよい。図２は、法線ベクトルの例を示す説明図である。図２（ａ）に例示する画像が存在する場合、図２（ｂ）に矢印で例示される線分が法線ベクトルである。また、図２（ｂ）に例示する矢印の両端に丸が付加された法線ベクトルは、高さ情報が既知の法線ベクトルを示す。
【００３０】
次に、法線ベクトル取得手段２１が高さ情報を取得する方法を説明する。法線ベクトルの端点を示す実空間上の高さ情報は、法線ベクトルを取得する元になった物体などの高さ情報が既知であれば取得できる。法線ベクトルの高さ情報を取得する際、高さ情報以外の３次元情報は必要とされない（すなわち、地面上の座標は必要とされない）。そのため、法線ベクトル取得手段２１は、この高さ情報を容易に取得することが可能である。法線ベクトル取得手段２１は、例えば、身長が既知な人物が動き回っている移動状態を示す動画像からは、高さ情報が既知な法線ベクトルを自動的に数多く取得することができる。
【００３１】
例えば、世界座標系の原点が地面と同じ高さに設定されているとする。この場合、人物の頭頂位置の実空間上の高さ情報は、既知の身長を示す情報と等しい。また、人物の足元位置の実空間上の高さ情報は０を示すことになる。このような状況を想定すれば、法線ベクトル取得手段２１は、頭頂位置と足元位置の高さ情報が既知な法線ベクトルを取得できる。この場合も、法線ベクトル取得手段２１は、身長が既知な人物が動き回っている移動状態を示す動画像から、高さ情報が既知な法線ベクトルを自動的に数多く取得することができる。
【００３２】
高さ情報が既知な法線ベクトルを取得する方法は、他にも挙げられる。例えば、撮影空間内の特定空間に、高さ情報の測定に用いられる測定媒体（例えば、メジャーのようなもの）を予め設置しておく。そして、画像供給装置１が、ある移動媒体（例えば、人物など）が特定空間を通過する通過状態を撮影すれば、その移動媒体（人物）の頭頂位置と足元位置の高さ情報を取得することが可能である。
【００３３】
つまり、画像供給装置１が、人物が撮影空間内を動き回っている移動状態と、人物が測定媒体にて高さ情報を取得可能な位置を通過する通過状態とを撮影した動画像を法線ベクトル取得手段２１に供給すれば、法線ベクトル取得手段２１は、その動画像から、人物を追跡することにより、頭頂位置と足元位置の高さ情報が既知な法線ベクトルを自動的に数多く取得することができる。
【００３４】
回転行列推定手段２２は、法線ベクトル取得手段２１が取得した法線ベクトルを、基準とする水平面（すなわち、地面）に対して垂直な投影用仮想平面に投影する。そして、回転行列推定手段２２は、投影された法線ベクトルが基準となる水平面（すなわち、地面）に対して垂直になる性質を評価して回転行列を推定する。ここで、垂直になる性質を評価するとは、実空間（投影用仮想平面）に投影された法線ベクトルが垂直である度合いを判断することを意味する。また、垂直になる性質のことを、以下、垂直性と記すこともある。
【００３５】
具体的には、回転行列推定手段２２は、内部パラメータ記憶手段３２に記憶された内部パラメータと、カメラの姿勢を表すカメラパラメータとを用いて、法線ベクトル取得手段２１が取得した法線ベクトルを投影用仮想平面記憶手段３１に記憶されている投影用仮想平面に投影する。そして、回転行列推定手段２２は、投影された法線ベクトルの地面に対する垂直性を評価し、カメラの姿勢を表す回転行列Ｒを最適化することで回転行列Ｒを推定する。
【００３６】
以下、回転行列推定手段２２が回転行列を推定する方法を詳細に説明する。世界座標系とカメラ座標系とは、以下に示す式１の関係が成り立つ。カメラの姿勢は、式１における回転行列Ｒ（Ｒは、３行３列の行列）と並進行列Ｔ（Ｔは、３行１列の行列）とで表現される。回転行列Ｒは、カメラの方向を表しており、並進行列Ｔはカメラの位置を表している。以下、回転行列Ｒで表わされるカメラの方向を示す情報を方向情報と記す。また、並進行列Ｔで表わされるカメラの位置を示す情報を位置情報と記す。
【００３７】
【数１】
0006011548.tif 000002
【００３８】
ここで、Ｍｗは世界座標系（実空間の座標系）（Ｍｗ＝［Ｘｗ，Ｙｗ，Ｚｗ］t）を示す。また、Ｍｃはカメラ座標系（Ｍｃ＝［Ｘｃ、Ｙｃ、Ｚｃ］t）を示す。カメラ座標系とは、カメラの光軸をＺ軸にあわせた座標系である。図３は、カメラ座標系の例を示す説明図である。図３に示すように、カメラ座標系において、カメラの光軸方向にＺ軸が対応づけられる。
【００３９】
また、ピンホールカメラモデルを想定した場合、カメラ座標系と画像座標系との間で、以下に示す式２の関係が成り立つ。
【００４０】
【数２】
0006011548.tif 000003
【００４１】
ここで、ｍは画像座標系（ｍ＝［ｘ、ｙ、１］ｔ）、ｓはスカラー量、Ａは内部パラメータを表す３行３列の内部行列である。内部パラメータＡには、内部パラメータ記憶手段３２に記憶された内部パラメータが設定される。
【００４２】
上記式１および式２を用いることで、画像座標と世界座標を相互に変換することが可能である。また、本実施形態では、カメラパラメータを推定する際、カメラ座標系と世界座標系の間で位置の制約が設けられる。その制約は、カメラの位置の真下に世界座標系の原点を設定するという制約である。
【００４３】
図４は、カメラ座標系と世界座標系との関係の例を示す説明図である。つまり、図４（ａ）に例示するように、世界座標系のＺ軸上にカメラ座標系の原点があると想定する。この想定により、カメラの位置は世界座標系のＺ座標の１次元で表すことができる。また、この想定により、カメラの位置情報を表す並進行列Ｔも１次元という少ないパラメータで表現することができる。
【００４４】
さらに、カメラ座標系と世界座標系の間で方向（回転）についても制約が設けられる。図４（ｂ）は、世界座標系のＺ軸に向かう方向から見た場合の例を示す説明図である。図４（ｂ）に例示するように、この制約は、世界座標系のＺ軸に向かう方向から見たときに、世界座標系のＹ軸とカメラ座標系のＺ軸の方向を合わせるという制約である。つまり、カメラの方向（回転）においてヨー回転を０度に固定するということである。
【００４５】
ヨー回転を０度に固定することで、世界座標系のＹ軸正方向に法線ベクトルを存在させる。これにより、カメラの方向（回転）は、ロー回転とピッチ回転の２次元で表すことができる。また、これにより、カメラの姿勢情報を表す回転行列Ｒも２次元という少ないパラメータで表現することができる。
【００４６】
図５は、回転行列Ｒを推定する方法の例を示す説明図である。回転行列Ｒを推定する際、以下の性質が用いられる。まず、カメラの方向（回転行列）が正しいとする。この場合、図５に例示するように、画像上で得られた地面に対する法線ベクトルＨ１，Ｈ２を地面に対して垂直な投影用仮想平面に投影すると、投影された法線ベクトルｈ１，ｈ２は、地面に対して垂直になる性質を示す。この性質は、回転行列にのみ依存するものであり、並進行列には依存しない。
【００４７】
以下の説明では、世界座標系の原点を地面に設定し、投影用仮想平面を世界座標系のＸＺ平面に平行な平面として設定した場合の推定方法を説明する。すなわち、世界座標系のＹ座標が固定（Ｙｗ＝Ｙｗ０）された位置の集まりを投影用仮想平面と想定する。また、回転行列Ｒの推定は、上記性質より並進行列に依存しないので、カメラ座標系の原点を世界座標系の原点に設定する。
【００４８】
以上の想定を踏まえ、回転行列Ｒの具体的な推定方法を説明する。まず、回転行列推定手段２２は、法線ベクトル取得手段２１が取得した法線ベクトルを、投影用仮想平面記憶手段３１が記憶する地面に対して垂直な投影用仮想平面に投影する。
【００４９】
つまり、回転行列推定手段２２は、図５に例示するように、上記式１，式２、投影用仮想平面を表す世界座標系のＹ座標（＝Ｙｗ０）、Ｔ＝［０、０、０］ｔを用いて、画像上の法線ベクトルの２つの端点（ｍａｉ＝［ｘａｉ、ｙａｉ、１］ｔ、ｍｂｉ＝［ｘｂｉ、ｙｂｉ、１］ｔ）に対応する投影用仮想平面上の点（Ｍｗａｉ＝［Ｘｗａｉ、Ｙｗ０、Ｚｗａｉ］ｔ、Ｍｗｂｉ＝［Ｘｗｂｉ、Ｙｗ０、Ｚｗｂｉ］ｔ）を求める。なお、回転行列Ｒの推定は、並進行列Ｔに依存しないことからＴ＝０としている。また、ｉは法線ベクトルの番号を示す。
【００５０】
次に、回転行列推定手段２２は、投影された法線ベクトルの地面に対する垂直性を上記で示した性質に基づいて評価し、回転行列Ｒを推定する。評価の際には、以下の式３に例示する評価指標が用いられる。式３に例示する評価指標は、投影された法線ベクトルが地面に対して垂直になると０に近づく指標である。回転行列推定手段２２は、この評価指標を最小になるように回転行列Ｒを最適化することで回転行列Ｒを推定する。回転行列推定手段２２は、回転行列Ｒを最適化する方法として、例えば、最急降下法など、最適化手法として知られた手法を用いればよい。
【００５１】
【数３】
0006011548.tif 000004
【００５２】
式３におけるＷｉは法線ベクトルに対する重みであり、ｎは法線ベクトルの数である。重み付けを行う方法として、例えば、実空間で精度を要求するエリアの法線ベクトルの重みを大きくする、レンズ歪みが少なく安定した変換が行える画像中心の法線ベクトルの重みを大きくする、法線ベクトルの長さが長いほど重みを大きくする、などの方法がある。なお、用途に応じてこれ以外の方法を用いて重み付けを行ってもよい。
【００５３】
以下に示す式４のように、Ｚ軸回転θｚ、Ｙ軸回転θｙ、Ｘ軸回転θｘを用いて、回転行列Ｒを３次元のパラメータで表すことができる。
【００５４】
【数４】
0006011548.tif 000005
【００５５】
図６は、回転行列Ｒの軸回転とカメラのロール、ピッチおよびヨー回転の関係の例を示す説明図である。カメラ座標系の原点を世界座標系の原点に設定した場合、この回転行列Ｒは、図６に示すように、ＲのＺ軸回転θｚがカメラのロール回転に一致し、ＲのＸ軸回転θｘがカメラのピッチ回転に一致し、ＲのＹ軸回転θｙがカメラのヨー回転に一致する。
【００５６】
上述する想定により、回転行列Ｒを推定する際には、カメラのヨー回転は０で固定される。よって、回転行列ＲのＹ軸回転θｙは０度に固定される。したがって、回転行列推定手段２２は、回転行列Ｒを、Ｚ軸回転θｚ（ロール回転）とＸ軸回転θｘ（ピッチ回転）の２次元をパラメータとして推定すればよい。
【００５７】
以上が、回転行列Ｒの推定方法の例である。なお、上記では、回転行列Ｒを推定する評価指標の算出に式３が用いられる方法を説明した。投影された法線ベクトルが地面に対して垂直になる性質を評価できれば、回転行列推定手段２２は、式３により算出される以外の評価指標を用いてもよい。
【００５８】
回転行列推定手段２２は、例えば、世界座標系のＺ軸に対する投影された法線ベクトルの傾きを評価する方法を用いても、投影された法線ベクトルが地面に対して垂直になることを評価できる。以下に示す式５は、この評価指標を算出する方法を示している。式５により算出される評価指標は、投影された法線ベクトルが地面に対して垂直であるほど、０に近づく指標である。よって、回転行列推定手段２２は、回転行列Ｒを推定する際、式３の評価指標の代わりに、式５の評価指標を用いることも可能である。
【００５９】
【数５】
0006011548.tif 000006
【００６０】
式５におけるθｉは、世界座標系のＺ軸と投影された法線ベクトルとのなす角度であり、Ｗｉは法線ベクトルに対する重みである。世界座標系のＺ軸の単位ベクトルと、投影された法線ベクトルの内積を利用することで、ｃｏｓθｉの値を簡単に算出することが可能である。
【００６１】
重み付けを行う方法として、例えば、実空間で精度を要求するエリアの法線ベクトルの重みを大きくする、レンズ歪みが少なく安定した変換が行える画像中心の法線ベクトルの重みを大きくする、法線ベクトルの長さが長いほど重みを大きくする、などの方法がある。なお、用途に応じてこれ以外の方法を用いて重み付けを行ってもよい。
【００６２】
また、回転行列推定手段２２は、回転行列Ｒを推定する際の評価指標に、世界座標系のＺ軸の単位ベクトルと投影された法線ベクトルの外積の大きさを用いてもよい。回転行列推定手段２２は、この評価指標を用いても、世界座標系のＺ軸に対する投影された法線ベクトルの傾きを評価できる。すなわち、投影された法線ベクトルが地面に対して垂直になることが評価される。
【００６３】
なお、法線ベクトル取得手段２１が法線ベクトルを自動で取得する場合、外れ値が多く含まれる可能性が高い。そこで、回転行列推定手段２２は、回転行列を推定する際、ＲＡＮＳＡＣ（Random sample consensus ）等のロバスト推定を行うことで、推定の精度を高めてもよい。
【００６４】
以下、ＲＡＮＳＡＣを用いた回転行列Ｒの推定方法の例を説明する。まず、回転行列推定手段２２は、自動で得られた法線ベクトルｎ個からランダムにｍ個をサンプリングする。回転行列推定手段２２は、サンプリングしたｍ個の法線ベクトルを用いて、上記式３や式５を用いた推定方法を用いて、回転行列Ｒを推定する。
【００６５】
次に、回転行列推定手段２２は、推定した回転行列Ｒを用いて、全ての法線ベクトルｎ個を投影用仮想平面に投影する。そして、回転行列推定手段２２は、投影されたそれぞれの法線ベクトルの傾きを評価する。
【００６６】
ここで、法線ベクトルの傾きを評価するとは、投影された法線ベクトルの端点におけるＸ座標の誤差（｜Ｘｗａｉ−Ｘｗｂｉ｜）を評価することや、世界座標系Ｚ軸に対する投影された法線ベクトルの角度誤差（傾き）を評価することを示す。すなわち、法線ベクトルの傾きを評価するとは、投影された法線ベクトルが垂直である度合いを評価することであると言える。
【００６７】
回転行列推定手段２２は、誤差が閾値以下になる（すなわち、外れ値でない）法線ベクトルの数を計測する。そして、回転行列推定手段２２は、計測された法線ベクトルの数が最も多い回転行列Ｒを記憶しておく。
【００６８】
回転行列推定手段２２は、以上の処理（すなわち、回転行列Ｒの推定および評価）を複数回試行した後、誤差が閾値以下になる法線ベクトルの数が最も多い回転行列Ｒを用いて、再度、全ての法線ベクトルを評価する。
【００６９】
そして、回転行列推定手段２２は、誤差が閾値以下になる（すなわち、外れ値を除いた）法線ベクトルを抽出し、抽出した法線ベクトルを用いて、上述する方法により回転行列Ｒを推定する。以上が、ＲＡＮＳＡＣを用いてロバストに回転行列Ｒを推定する方法の例である。
【００７０】
並進行列推定手段２３は、内部パラメータと回転行列Ｒを用いて実空間上の３次元座標に投影された高さ情報が既知な法線ベクトルと、実空間上の垂直方向とのずれを示す誤差に基づいて、並進行列Ｔを推定する。
【００７１】
具体的には、並進行列推定手段２３は、法線ベクトル取得手段２１が取得した高さ情報が既知な法線ベクトルの一方の端点を、内部パラメータ記憶手段３２に記憶された内部パラメータと回転行列推定手段２２が推定した回転行列Ｒを含むカメラパラメータを用いて実空間に投影する。すなわち、並進行列推定手段２３は、画像上の法線ベクトルを実空間上に投影した際の一方の端点の３次元座標を求める。
【００７２】
並進行列推定手段２３は、法線ベクトルにおける２つの対になる端点が高さ情報のみ異なることを利用して、投影された一方の端点と対になる他の端点の３次元座標を取得し、取得した３次元座標を画像上へ再投影する。３次元座標を画像上へ再投影する際にも、内部パラメータおよび回転行列Ｒを含むカメラパラメータが用いられる。このように、並進行列推定手段２３は、３次元座標に投影された一方の端点と対になる他の端点を画像上の再投影点として求める。
【００７３】
並進行列推定手段２３は、再投影点の座標と画像上から直接得られた他の端点の座標との誤差を評価して並進行列Ｔを推定する。具体的には、並進行列推定手段２３は、再投影点の座標と画像上から直接得られた他の端点の座標の誤差が最小になるよう並進行列Ｔを最適化することで並進行列Ｔを推定する。
【００７４】
以下、並進行列推定手段２３が並進行列Ｔを推定する方法を詳細に説明する。図７は、並進行列を推定する方法の例を示す説明図である。
【００７５】
まず、並進行列推定手段２３は、高さ情報が既知な法線ベクトルの一方の端点であるＣ点の座標ｍＬｊ＝［ｘＬｊ、ｙＬｊ、１］ｔを、その端点の実空間上の高さ情報（ここでは、世界座標系のＺ座標＝ｈＬｊとする。）と、上記式１および式２を用いて実空間上に投影する。なお、上記式１における回転行列Ｒには回転行列推定手段２２が推定した回転行列Ｒが用いられる。
【００７６】
具体的には、並進行列推定手段２３は、Ｃ点を実空間上の３次元座標に投影したＤ点の座標ＭｗＬｊ＝［ＸｗＬｊ、ＹｗＬｊ、ｈＬｊ］ｔを求める。ここで、ｊは、高さ情報が既知な法線ベクトルの番号である。
【００７７】
本来、法線ベクトルにおいて２つの対になる端点は、実空間において高さ情報が異なるだけである。よって、並進行列推定手段２３は、投影された端点（Ｄ点）の３次元座標ＭｗＬｊの高さｈＬｊを、端点と対になる端点の高さ情報（世界座標系のＺ座標＝ｈＨｊ）に変更した座標を、他の端点（Ｅ点）の座標と推定する。すなわち、並進行列推定手段２３は、投影された端点の３次元座標ＭｗＬｊの高さｈＬｊをｈＨｊに変更することで、端点（Ｄ点）と対になる端点（Ｅ点）の実空間上の３次元座標ＭｗＨｊ＝［ＸｗＬｊ、ＹｗＬｊ、ｈＨｊ］ｔを求めることができる。
【００７８】
さらに、並進行列推定手段２３は、端点と対になる端点（すなわち、Ｅ点）の実空間上の３次元座標ＭｗＨｊを、上記式１および式２を用いて画像上に再投影し、この点を再投影点（Ｆ点）ｍ’Ｈｊ＝［ｘ’ Ｈｊ、ｙ’ Ｈｊ、１］ｔとして求める。なお、上記式１における回転行列Ｒには、回転行列推定手段２２が推定した回転行列Ｒが用いられる。
【００７９】
本来、用いたカメラパラメータ（Ｒ、Ｔ）が正しいならば、再投影点として求めた端点（Ｃ点）と対になる端点（Ｆ点）の座標ｍ’Ｈｊと、直接画像から得られた端点（Ｇ点）の座標ｍＨｊ＝［ｘＨｊ、ｙＨｊ、１］ｔとは同じ点になる。すなわち、ｍ’ＨｊとｍＨｊとは一致するはずである。
【００８０】
カメラパラメータのうち、回転行列Ｒは、回転行列推定手段２２が推定済みであり、固定されている。よって、残りのカメラパラメータである並進行列Ｔが正しければ、再投影点の座標ｍ’Ｈｊと直接画像から得られた端点と対になる端点の座標ｍＨｊは一致することになる。
【００８１】
そこで、並進行列推定手段２３は、以下に示す式６により算出される評価指標を用いて、再投影点の座標ｍ’Ｈｊと直接画像から得られた端点と対になる端点の座標ｍＨｊの誤差（以下、再投影誤差と記す。）を評価する。具体的には、並進行列推定手段２３は、再投影誤差が最小になるように並進行列Ｔを最適化することで並進行列Ｔを推定する。並進行列推定手段２３は、並進行列Ｔを最適化する方法として、例えば、最急降下法など、最適化手法として知られた手法を用いればよい。
【００８２】
【数６】
0006011548.tif 000007
【００８３】
式６において、Ｗ’ｊは法線ベクトルに対する重みであり、ｌは高さ情報が既知な法線ベクトルの数である。重み付けを行う方法として、例えば、実空間で精度を要求するエリアの法線ベクトルの重みを大きくする、レンズ歪みが少なく安定した変換が行える画像中心の法線ベクトルの重みを大きくする、法線ベクトルの長さが長いほど重みを大きくする、などの方法がある。なお、用途に応じてこれ以外の方法を用いて重み付けを行ってもよい。
【００８４】
並進行列Ｔは、３次元のパラメータである。上述する想定により、世界座標系のＺ軸上にカメラ座標系の原点が設置される、というカメラ座標系と世界座標系の位置に制約が設けられている。そこで、並進行列Ｔは、以下に示す式７のように、世界座標系のＺ座標の１次元のパラメータとして表される。よって、並進行列推定手段２３は、このＺｗｐの１次元をパラメータとして並進行列Ｔを推定すればよい。
【００８５】
【数７】
0006011548.tif 000008
【００８６】
式７におけるＭｗｐは、カメラ座標系の原点座標を世界座標系で表した座標である。このように、並進行列推定手段２３は、パラメータの探索空間を１次元（Ｚｗｐ）に限定して並進行列Ｔを推定すればよい。そのため、容易に探索が可能であると共に、探索を行う際に用いられる情報が少なくても探索可能である。つまり、高さ情報が既知な法線ベクトルが少なくても推定可能であるというメリットが得られる。
【００８７】
以上、並進行列推定手段２３が画像上の法線ベクトルの一方の端点を実空間上に投影し、投影した端点に対応する実空間上の他の端点を算出後に、算出された他の端点を画像上に再投影する方法を説明した。以下では、並進行列推定手段２３が別の方法を用いて並進行列Ｔを推定する方法を説明する。
【００８８】
並進行列推定手段２３は、法線ベクトル取得手段２１が取得した高さ情報が既知な法線ベクトルにおける２つの端点を、内部パラメータ記憶手段３２に記憶された内部パラメータと回転行列推定手段２２が推定した回転行列Ｒを含むカメラパラメータを用いて、実空間に投影する。これにより、並進行列推定手段２３は、画像上の法線ベクトルを実空間上に投影した際の２つの端点の３次元座標を求める。
【００８９】
次に、並進行列推定手段２３は、求めた２つの３次元座標からそれぞれ高さ情報を除くことにより、２次元座標を求める。並進行列推定手段２３は、対になる２つの端点の２次元座標の誤差を評価する。具体的には、並進行列推定手段２３は、対になる２つの端点の２次元座標における誤差が最小になるように並進行列Ｔを最適化することで並進行列Ｔを推定する。
【００９０】
以下、並進行列推定手段２３が並進行列Ｔを推定する方法を詳細に説明する。図８は、並進行列を推定する他の方法の例を示す説明図である。
【００９１】
まず、並進行列推定手段２３は、高さ情報が既知な法線ベクトルにおける２つの端点であるＯ点の座標ｍＬｊ＝［ｘＬｊ、ｙＬｊ、１］ｔと、Ｐ点の座標ｍＨｊ＝［ｘＨｊ、ｙＨｊ、１］ｔとを、端点の実空間上の高さ情報（ここでは、Ｏ点に対応する世界座標系のＺ座標＝ｈＬｊ、Ｐ点に対応する世界座標系のＺ座標＝ｈＨｊ）と、上記式１および式２を用いて実空間上に投影する。なお、上記式１における回転行列Ｒには回転行列推定手段２２が推定した回転行列Ｒが用いられる。
【００９２】
具体的には、並進行列推定手段２３は、Ｏ点を実空間上の３次元座標に投影したＱ点の座標ＭｗＬｊ＝［ＸｗＬｊ、ＹｗＬｊ、ｈＬｊ］ｔと、Ｐ点を実空間上の３次元座標に投影したＲ点の座標ＭｗＨｊ＝［ｘｗＨｊ、ｙｗＨｊ、ｈＨｊ］ｔとを求める。なお、ｊは、高さ情報が既知な法線ベクトルの番号である。
【００９３】
本来、実空間上の法線ベクトルは、地面に対して垂直なため、用いたカメラパラメータが正しいならば、画像上の法線ベクトルに対する２つの端点の３次元座標は、高さ情報を除いて一致するはずである。
【００９４】
そこで、並進行列推定手段２３は、求めた対になる２つの端点の３次元座標ＭｗＬｊ、  ＭｗＨｊから、それぞれ高さ情報を除いた２次元座標を求める。具体的には、並進行列推定手段２３は、３次元座標ＭｗＬｊから高さ情報を除いた２次元座標Ｍ’ｗＬｊ＝［ｘｗＬｊ、ｙｗＬｊ］ｔを求める。この２次元座標Ｍ’ｗＬｊをＳ点とする。同様に、並進行列推定手段２３は、３次元座標ＭｗＨｊから高さ情報を除いた２次元座標Ｍ’ｗＨｊ＝［ｘｗＨｊ、ｙｗＨｊ］ｔを求める。この２次元座標Ｍ’ｗＨｊをＵ点とする。
【００９５】
並進行列推定手段２３は、以下に示す式８により算出される評価指標を用いて、２次元座標Ｍ’ｗＬｊとＭ’ｗＨｊの誤差を評価する。具体的には、並進行列推定手段２３は、この誤差が最小になるように並進行列Ｔを最適化することで並進行列Ｔを推定する。並進行列推定手段２３は、並進行列Ｔを最適化する方法として、例えば、最急降下法など、最適化手法として知られた手法を用いればよい。
【００９６】
【数８】
0006011548.tif 000009
【００９７】
式８において、Ｗ’ｊは法線ベクトルに対する重みであり、ｌは高さ情報が既知な法線ベクトルの数である。重み付けを行う方法として、例えば、実空間で精度を要求するエリアの法線ベクトルの重みを大きくする、レンズ歪みが少なく安定した変換が行える画像中心の法線ベクトルの重みを大きくする、法線ベクトルの長さが長いほど重みを大きくする、などの方法がある。なお、用途に応じてこれ以外の方法を用いて重み付けを行ってもよい。また、並進行列Ｔは、上述で説明した通り、式７に示すような１次元のパラメータである。
【００９８】
法線ベクトル取得手段２１と、回転行列推定手段２２と、並進行列推定手段２３とは、プログラム（カメラ校正用プログラム）に従って動作するコンピュータのＣＰＵ（Central Processing Unit ）によって実現される。例えば、プログラムは、カメラ校正装置の記憶部（図示せず）に記憶され、ＣＰＵは、そのプログラムを読み込み、プログラムに従って、法線ベクトル取得手段２１、回転行列推定手段２２および並進行列推定手段２３として動作してもよい。また、法線ベクトル取得手段２１と、回転行列推定手段２２と、並進行列推定手段２３とは、それぞれが専用のハードウェアで実現されていてもよい。
【００９９】
次に、本実施形態のカメラ校正装置の動作例を説明する。図９は、本実施形態のカメラ校正装置の動作例を示すフローチャートである。画像供給装置１は、校正を行うカメラが撮影する画像を法線ベクトル取得手段２１へ供給する。
【０１００】
法線ベクトル取得手段２１は、画像供給装置１から供給された画像に映りこむ机や棚、ビルなどの人工物体や、人物などから、手動または自動で地面に対して垂直な法線ベクトルを取得する（ステップＳ１）。
【０１０１】
さらに、法線ベクトル取得手段２１は、取得した法線ベクトルのいくつかについて、法線ベクトルを形成する高さ情報が既知な物体などから、法線ベクトルの端点（２点）における実空間上の高さを示す高さ情報を取得する（ステップＳ２）。高さ情報は、例えば、世界座標系のＺ軸の値である。また、なお、高さ情報を取得する際に用いられる物体について、高さ情報以外の３次元情報は不要である。
【０１０２】
回転行列推定手段２２は、法線ベクトルを用いて回転行列Ｒを推定する（ステップＳ３）。具体的には、回転行列推定手段２２は、法線ベクトル取得手段２１が取得した法線ベクトルを、内部パラメータ記憶手段３２に記憶された内部パラメータと、カメラの姿勢を表すカメラパラメータとを用いて、投影用仮想平面記憶手段３１に記憶されている地面に対して垂直な投影用仮想平面に投影する。そして、回転行列推定手段２２は、投影された法線ベクトルの地面に対する垂直性を評価して、カメラの姿勢を表す回転行列Ｒを最適化することで回転行列Ｒを推定する。
【０１０３】
ステップＳ３の処理を、さらに説明する。図１０は、回転行列推定手段２２が回転行列を推定する処理の例を示すフローチャートである。回転行列推定手段２２は、法線ベクトル取得手段２１が取得した法線ベクトルを、式１、式２、投影用仮想平面を表す世界座標系のＹ座標、および、並進行列Ｔ＝［０、０、０］ｔを用いて、投影用仮想平面記憶手段３１に記憶されている地面に対して垂直な投影用仮想平面に投影する（ステップＳ３０１）。なお、回転行列Ｒの推定は並進行列Ｔに依存しないため、Ｔ＝０としている。
【０１０４】
次に、回転行列推定手段２２は、投影された法線ベクトルの地面に対する垂直性を評価するため、式３または式５を用いて評価指標を算出する（ステップＳ３０２）。そして、回転行列推定手段２２は、算出された評価指標が最小であるか（すなわち、評価指標が収束したか）否かを判定する（ステップＳ３０３）。
【０１０５】
評価指標が最小でない（収束していない）場合（ステップＳ３０３におけるＮｏ）、回転行列推定手段２２は、式３または式５で表わされる評価指標関数（具体的には、式３または式５におけるａｒｇｍｉｎ後部の括弧内に示される関数）の傾きに基づいて、上記の式４におけるＺ軸回転θｚ、Ｘ軸回転θｘを更新することにより回転行列Ｒを更新し（ステップＳ３０４）、ステップＳ３０１〜ステップＳ３０３の処理を繰り返す。
【０１０６】
評価指標関数の傾きに基づいて回転行列推定手段２２が回転行列Ｒを更新する方法には、一般的な最適化手法が用いられる。最適化手法には、例えば、最急降下法、ニュートン法、共役勾配法、ガウス・ニュートン法、レーベンバーグ・マーカート法などが挙げられるが、最適化手法は、上記方法に限定されない。
【０１０７】
一方、評価指標が最小である（収束している）場合（ステップＳ３０３におけるＹｅｓ）、回転行列推定手段２２は、現状の回転行列Ｒを最適化された値と判断し、回転行列Ｒの推定処理（すなわち、図９におけるステップＳ３の処理）を終了する。
【０１０８】
次に、並進行列推定手段２３は、高さ情報が既知な法線ベクトルと推定済みの回転行列Ｒとを用いて、並進行列Ｔを推定する（図９におけるステップＳ４）。具体的には、並進行列推定手段２３は、法線ベクトル取得手段２１が取得した高さ情報が既知な法線ベクトルの一方の端点を、内部パラメータ記憶手段３２に記憶された内部パラメータと回転行列推定手段２２が推定した回転行列Ｒを含むカメラパラメータを用いて、実空間に投影することにより３次元座標を求める。そして、並進行列推定手段２３は、法線ベクトルの２つの対になる端点が高さ情報のみ異なることを利用して、実空間に投影した一方の端点と対になる他方の端点の実空間上の３次元座標を算出する。
【０１０９】
並進行列推定手段２３は、算出した他方の端点の実空間上における３次元座標を画像上へ再投影することで、再投影した端点を画像上の一方の端点と対になる再投影点として算出する。並進行列推定手段２３は、直接画像から得られた一方の端点と対になる他方の端点の座標と、再投影した端点の座標との誤差を評価する。具体的には、並進行列推定手段２３は、誤差が最小になるようカメラの姿勢を表す並進行列Ｔを最適化することで並進行列Ｔを推定する。
【０１１０】
ステップＳ４の処理を、さらに説明する。図１１は、並進行列推定手段２３が並進行列を推定する処理の例を示すフローチャートである。
【０１１１】
並進行列推定手段２３は、法線ベクトル取得手段２１が取得した高さ情報が既知な法線ベクトルの一方の端点を、その端点の実空間上の高さ情報と、上記式１および式２を用いて、実空間に投影することで、実空間上の３次元座標を求める（ステップＳ４０１）。ここで、式１における回転行列Ｒには、回転行列推定手段２２が推定した回転行列Ｒが用いられる。
【０１１２】
次に、法線ベクトルの２つの対になる端点が実空間上において高さ情報のみ異なることを利用して、並進行列推定手段２３は、投影された一方の端点の３次元座標における高さ情報を、その一方の端点と対になる他の端点の高さ情報に変更することで、他の端点の実空間上の３次元座標を算出する（ステップＳ４０２）。
【０１１３】
並進行列推定手段２３は、一方の端点と対になる他の端点の実空間上の３次元座標を、上記式１および式２を用いて画像上に再投影し、再投影した端点を再投影点として算出する（ステップＳ４０３）。ここで、式１における回転行列Ｒには、回転行列推定手段２２が推定した回転行列Ｒが用いられる。
【０１１４】
並進行列推定手段２３は、再投影点として算出した端点の座標と、直接画像から得られた一方の端点と対になる他の端点の座標との誤差を評価指標として、上記式６を用いて算出する（ステップＳ４０４）。なお、この誤差は、両者の一致度合いを示すことから、並進行列推定手段２３は、上記式６を用いて両者の一致性を評価していると言うこともできる。
【０１１５】
並進行列推定手段２３は、算出された評価指標が最小であるか（すなわち、評価指標が収束したか）否かを判定する（ステップＳ４０５）。評価指標が最小でない（収束していない）場合（ステップＳ４０５におけるＮｏ）、並進行列推定手段２３は、評価指標関数の傾きに基づいて、上記の式７におけるＺｗｐを更新することにより並進行列Ｔを更新し（ステップＳ４０６）、ステップＳ４０１〜ステップＳ４０５までの処理を繰り返す。なお、評価指標関数の傾きに基づいて並進行列推定手段２３が並進行列Ｔを更新する方法には、一般的な最適化手法が用いられる。
【０１１６】
一方、評価指標が最小である（収束している）場合（ステップＳ４０５におけるＹｅｓ）、並進行列推定手段２３は、現状の並進行列Ｔを最適化された値と判断し、並進行列Ｔの推定処理（すなわち、図９におけるステップＳ４の処理）を終了する。
【０１１７】
なお、並進行列推定手段２３は、図１１に例示するステップＳ４０１〜ステップＳ４０６の処理の代わりに、図１２に例示するステップＳ４１０〜ステップＳ４１３の処理を行うことで、並進行列を推定してもよい。図１２は、並進行列推定手段２３が並進行列を推定する他の処理の例を示すフローチャートである。
【０１１８】
上述の通り、図９に例示するステップＳ４において、並進行列推定手段２３は、高さ情報が既知な法線ベクトルと推定済みの回転行列Ｒとを用いて、並進行列Ｔを推定する。具体的には、並進行列推定手段２３は、法線ベクトル取得手段２１が取得した高さ情報が既知な法線ベクトルの２つの端点を、内部パラメータ記憶手段３２に記憶された内部パラメータと回転行列推定手段２２が推定した回転行列Ｒを含むカメラパラメータを用いて、実空間に投影することにより３次元座標を求める。そして、並進行列推定手段２３は、求めたそれぞれの端点の３次元座標から高さ情報を除いた２次元座標を算出し、対になる２つの端点の２次元座標の誤差を評価する。具体的には、並進行列推定手段２３は、誤差が最小になるようカメラの姿勢を表す並進行列Ｔを最適化することで並進行列Ｔを推定する。
【０１１９】
ステップＳ４の処理を、さらに説明する。並進行列推定手段２３は、法線ベクトル取得手段２１が取得した高さ情報が既知な法線ベクトルにおける２つの端点を、端点の実空間上の高さ情報と、上記式１および式２を用いて、実空間上に投影することで、２つの端点の実空間上の３次元座標を求める（図１２におけるステップＳ４１０）。ここで、式１における回転行列Ｒには、回転行列推定手段２２が推定した回転行列Ｒが用いられる。
【０１２０】
次に、並進行列推定手段２３は、求めた対になる２つの端点の３次元座標からそれぞれ高さ情報を除いた２次元座標を求める（ステップＳ４１１）。並進行列推定手段２３は、この対になる２つの端点の２次元座標の誤差を評価指標として、上記式８を用いて算出する（ステップＳ４１２）。なお、この誤差は、両者の一致度合いを示すことから、並進行列推定手段２３は、上記式８を用いて両者の一致性を評価していると言うこともできる。
【０１２１】
並進行列推定手段２３は、算出された評価指標が最小であるか（すなわち、評価指標が収束したか）否かを判定する（ステップＳ４１３）。評価指標が最小でない（収束していない）場合（ステップＳ４１３におけるＮｏ）、並進行列推定手段２３は、評価指標関数の傾きに基づいて、上記の式７におけるＺｗｐを更新することにより並進行列Ｔを更新し（ステップＳ４１４）、ステップＳ４１０〜ステップＳ４１３までの処理を繰り返す。なお、評価指標関数の傾きに基づいて並進行列推定手段２３が並進行列Ｔを更新する方法には、一般的な最適化手法が用いられる。
【０１２２】
一方、評価指標が最小である（収束している）場合（ステップＳ４１３におけるＹｅｓ）、並進行列推定手段２３は、現状の並進行列Ｔを最適化された値と判断し、並進行列Ｔの推定処理（すなわち、図９におけるステップＳ４の処理）を終了する。
【０１２３】
以上のように、第１の実施形態によれば、法線ベクトル取得手段２１が校正対象のカメラの画像から基準となる水平面に対して垂直な法線ベクトルを取得する。回転行列推定手段２２は、得られた法線ベクトルを基準となる水平面（すなわち、地面）に対して垂直な投影用仮想平面に投影する。そして、回転行列推定手段２２は、投影された法線ベクトルが基準となる水平面に対して垂直になることを評価して回転行列Ｒを推定する。そのため、特別な校正用機材の設置や、校正に用いる参照点の３次元座標の計測を行わずに、高精度且つ容易にカメラパラメータを推定できる。
【０１２４】
また、並進行列推定手段２３が、内部パラメータと回転行列Ｒを用いて実空間上の３次元座標に投影された高さ情報が既知な法線ベクトルと、実空間上の垂直方向とのずれを示す誤差に基づいて、並進行列Ｔを推定してもよい。
【０１２５】
すなわち、第１の実施形態では、配置が自由で、かつ、画像から数多く容易に取得できる、地面に対して垂直な法線ベクトルを利用する。具体的には、本実施形態では、法線ベクトルと、その法線ベクトルのうち実空間上の高さ情報が既知な数点の法線ベクトルを利用する。この法線ベクトルは、地面上の座標という、３次元座標の計測を必要としない情報である。そして、本実施形態では、次元数を拘束しながら、カメラパラメータである回転行列と並進行列の推定を行うので、特別な校正用機材の設置や、校正に用いられる参照点の３次元座標の計測を行うことなく、高精度かつ容易にカメラパラメータを推定できる。また、本実施形態では、対象の実空間が広い状況下でもカメラパラメータの推定が可能である。
【０１２６】
また、本実施形態では、回転行列推定手段２２が、法線ベクトルと、地面に対して垂直な投影用仮想平面に投影された法線ベクトルが並進行列Ｔに依存することなく垂直になる性質と、を用いて回転行列Ｒを推定する。なお、この法線ベクトルは、画像から数多く容易に取得できる、地面に対して垂直なベクトルである。よって、カメラパラメータから並進行列Ｔを分離して、回転行列Ｒのみを高精度に推定できる。
【０１２７】
また、本実施形態では、回転行列推定手段２２が法線ベクトルを用いて高精度に回転行列Ｒを推定してから、並進行列推定手段２３が、実空間の高さ情報が既知な法線ベクトルを用いて、１次元という極端に拘束されたパラメータの並進行列Ｔを推定する。よって、実空間から唯一必要な情報である高さ情報の数が少なくても、カメラパラメータを推定することができる。
【０１２８】
また、本実施形態では、カメラパラメータの推定において、回転行列推定手段２２が、カメラのロール回転とピッチ回転のみの２次元という低い次元のパラメータで回転行列Ｒを拘束して（すなわち、探索範囲を狭くして）推定する。さらに、並進行列推定手段２３が、世界座標系のＺ軸上でのカメラ位置の移動のみの１次元という低い次元のパラメータで並進行列Ｔを拘束して（すなわち、探索範囲を狭くして）推定する。また、カメラパラメータの推定処理は、回転行列の推定処理後に、並進行列の推定処理が行われる。すなわち、これらの推定処理は、２段階で独立に行われる。よって、カメラパラメータの推定が局所解に陥りにくく、推定処理を高速に行うことができる。
【０１２９】
また、本実施形態では、画像から得られる地面に対して垂直な法線ベクトルと、実空間上の高さ情報が既知な数点の法線ベクトルのみを用いてカメラパラメータを推定している。また、画像供給装置１が、例えば、校正を行うカメラの前を歩く身長が既知な歩行者を撮影すれば、法線ベクトル取得手段２１は、撮影した画像中の頭部と足元を結ぶ法線ベクトルおよび高さ情報が既知な法線ベクトルを大量に得ることが可能である。よって、法線ベクトルのみを用いてカメラパラメータを推定できることと、その推定に必要な法線ベクトルを大量に得ることが可能であることから、容易にカメラパラメータを推定することができるようになる。
【０１３０】
実施形態２．
図１３は、本発明によるカメラ校正装置の第２の実施形態の構成例を示すブロック図である。なお、第１の実施形態と同様の構成については、図１と同一の符号を付し、説明を省略する。図１３に例示するように、本発明によるカメラ校正装置の第２の実施形態は、図１に例示する第１の実施形態のカメラ校正装置に法線ベクトル選定手段２４を追加した構成である。
【０１３１】
法線ベクトル選定手段２４は、法線ベクトル取得手段２１から地面に対して垂直な法線ベクトルを受け取る。なお、ここでは、法線ベクトル取得手段２１は、法線ベクトルを自動で取得したことなどが原因で、大量に誤りを含む法線ベクトルが法線ベクトル選定手段２４に通知されると想定する。なお、法線ベクトル取得手段２１が通知する情報は法線ベクトルに限られない。法線ベクトル取得手段２１は、法線ベクトルを特定した対象の画像を合わせて法線ベクトル選定手段２４に通知してもよい。法線ベクトル選定手段２４は、ユーザの選択指示により、受け取った法線ベクトルの中から、正しい法線ベクトルを少なくとも１つ以上選択する。
【０１３２】
法線ベクトル選定手段２４は、選択された正しい法線ベクトルと、受け取った全ての法線ベクトルとを比較する。法線ベクトル選定手段２４は、正しい法線ベクトルとして選択された法線ベクトルとの傾きが１つでも閾値以内である法線ベクトルをカメラ校正に有効な法線ベクトルとして選定する。そして、法線ベクトル選定手段２４は、選定した法線ベクトルを再び法線ベクトル取得手段２１へ通知する。
【０１３３】
法線ベクトル選定手段２４は、例えば、法線ベクトル取得手段２１から通知された法線ベクトルおよび画像を表示する表示装置や、ユーザによる選択指示を受け付ける入力装置等を含むコンピュータにより実現される。
【０１３４】
次に、本実施形態のカメラ校正装置の動作例を説明する。図１４は、本実施形態のカメラ校正装置の動作例を示すフローチャートである。本実施形態のカメラ校正装置の動作は、図９に例示するフローチャートのステップＳ１の後に、新たにステップＳ５が追加されている点において、第１の実施形態のカメラ校正装置の動作と異なる。なお、ステップＳ１〜ステップＳ４の動作については、第１の実施形態と同様のため、説明を省略する。
【０１３５】
画像供給装置１から法線ベクトル取得手段２１に校正を行うカメラの画像が供給され、法線ベクトル取得手段２１が法線ベクトルを取得すると、法線ベクトル取得手段２１は、取得した法線ベクトルを法線ベクトル選定手段２４に通知する。
【０１３６】
法線ベクトル選定手段２４は、法線ベクトル取得手段２１から地面に対して垂直な法線ベクトルを受け取る。法線ベクトル選定手段２４は、ユーザが選択した数点の正しい法線ベクトルに基づいて、カメラ校正に有効な法線ベクトルを選定する。そして、法線ベクトル選定手段２４は、選定した法線ベクトルを法線ベクトル取得手段２１へ通知する（ステップＳ５）。
【０１３７】
ステップＳ５の処理を、さらに説明する。図１５は、法線ベクトル選定手段２４が法線ベクトルを選定する処理の例を示すフローチャートである。法線ベクトル選定手段２４は、法線ベクトル取得手段２１から地面に対して垂直な法線ベクトルを受け取る。法線ベクトル選定手段２４は、画像に重畳される法線ベクトルの中から、ユーザの選択指示により、正しい法線ベクトルを少なくとも１つ以上選択する（ステップＳ５０１）。
【０１３８】
法線ベクトル選定手段２４は、全法線ベクトルのうち、比較対象の法線ベクトルを決定する（ステップＳ５０２）。法線ベクトル選定手段２４は、正しい法線ベクトルとして選択された数点の法線ベクトルと、選択された法線ベクトルとの傾きが１つでも閾値以内か否かを判定する（ステップＳ５０３）。
【０１３９】
選択された法線ベクトルとの傾きが１つでも閾値以内である場合（ステップＳ５０３におけるＹｅｓ）、法線ベクトル選定手段２４は、比較対象の法線ベクトルを蓄積しておく（ステップＳ５０４）。一方、選択された法線ベクトルとの傾きが１つも閾値以内でない場合（ステップＳ５０３におけるＮｏ）、法線ベクトル選定手段２４は、比較対象の法線ベクトルを蓄積しない。
【０１４０】
次に、法線ベクトル選定手段２４は、全ての法線ベクトルとの比較が終了したか否かを判定する（ステップＳ５０５）。残っている法線ベクトルがある場合（ステップＳ５０５におけるＮｏ）、法線ベクトル選定手段２４は、ステップＳ５０２〜ステップＳ５０５までの処理を繰り返す。
【０１４１】
一方、全ての法線ベクトルとの比較が終了した場合（ステップＳ５０５におけるＹｅｓ）、法線ベクトル選定手段２４は、蓄積されている法線ベクトルを、カメラ校正に有効な選定された法線ベクトルとして、法線ベクトル取得手段２１へ出力し（ステップＳ５０６）、図９におけるステップＳ５の処理を終了する。
【０１４２】
以上のように、第２の実施形態によれば、法線ベクトル選定手段２４が、法線ベクトル取得手段２１によって取得された全ての法線ベクトルと、その全法線ベクトルからユーザにより選択された法線ベクトルとの傾きを比較する。そして、法線ベクトル選定手段２４は、全ての法線ベクトルのうち、選択されたいずれかの法線ベクトルとの傾きが閾値以内である法線ベクトルをカメラ校正に有効な法線ベクトルとして選定する。したがって、第１の実施形態の効果に加え、法線ベクトル取得手段２１が取得した法線ベクトルに大量の誤りが含まれる場合であっても、高精度且つ容易にカメラパラメータを推定できる。
【０１４３】
すなわち、本実施形態では、法線ベクトル選定手段２４が数点の選択された正しい法線ベクトルに基づいて、カメラ校正に有効な法線ベクトルを選定する。そのため、法線ベクトル取得手段２１が自動で取得した法線ベクトルに大量に誤りが含まれる場合であっても、カメラパラメータを推定することが可能になる。
【０１４４】
実施形態３．
図１６は、本発明によるカメラ校正装置の第３の実施形態の構成例を示すブロック図である。本実施形態では、第１の実施形態と同様の画像供給装置１、および、投影用仮想平面記憶手段３１と内部パラメータ記憶手段３２とを含む記憶装置３が、コンピュータ１００に接続されている。また、カメラ校正用プログラム１０１を記憶するコンピュータ可読記憶媒体１０２がコンピュータ１００に接続されている。
【０１４５】
コンピュータ可読記憶媒体１０２は、磁気ディスクや半導体メモリ等で実現される。コンピュータ可読記憶媒体１０２に記憶されるカメラ校正用プログラム１０１は、コンピュータ１００の立ち上げ時などに、コンピュータ１００に読み取られ、そのコンピュータ１００の動作を制御することにより、そのコンピュータ１００を、前述した第１の実施形態におけるデータ処理装置２内の法線ベクトル取得手段２１、回転行列推定手段２２および並進行列推定手段２３として機能させる。また、カメラ校正用プログラム１０１は、コンピュータ１００に、図９〜図１２に例示する処理を実行させる。
【０１４６】
なお、本実施形態では、第１の実施形態のカメラ校正装置をコンピュータとプログラムとで実現する方法を示した。本実施形態と同様の方法で、第２の実施形態のカメラ校正装置をコンピュータとプログラムとで実現することも可能である。
【０１４７】
次に、本発明の概要を説明する。図１７は、本発明によるカメラ校正装置の概要を示すブロック図である。本発明によるカメラ校正装置は、校正対象のカメラの画像から、基準となる水平面（例えば、地面）に対して垂直な法線ベクトルを取得する法線ベクトル取得手段８１（例えば、法線ベクトル取得手段２１）と、得られた法線ベクトルを基準となる水平面に対して垂直な投影用仮想平面（例えば、世界座標系のＺ軸方向に平行な平面）に投影し、投影された法線ベクトルが基準となる水平面に対して垂直になることを評価して（例えば、垂直である度合いを判断して）、カメラの校正に用いられる回転行列（例えば、回転行列Ｒ）を推定する回転行列推定手段８２（例えば、回転行列推定手段２２）とを備えている。
【０１４８】
そのような構成により、特別な校正用機材の設置や、校正に用いる参照点の３次元座標の計測を行わずに、高精度且つ容易にカメラパラメータを推定できる。
【０１４９】
また、本発明によるカメラ校正装置は、カメラの校正に用いられる並進行列（例えば、並進行列Ｔ）を推定する並進行列推定手段（例えば、並進行列推定手段２３）を備えていてもよい。
【０１５０】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【０１５１】
（付記１）校正対象のカメラの画像から、基準となる水平面に対して垂直な法線ベクトルを取得する法線ベクトル取得手段と、得られた法線ベクトルを前記基準となる水平面に対して垂直な投影用仮想平面に投影し、投影された法線ベクトルが前記基準となる水平面に対して垂直になることを評価して、前記カメラの校正に用いられる回転行列を推定する回転行列推定手段とを備えたことを特徴とするカメラ校正装置。
【０１５２】
（付記２）カメラの校正に用いられる並進行列を推定する並進行列推定手段を備え、法線ベクトル取得手段は、得られた法線ベクトルのうち、少なくとも１つ以上の法線ベクトルの端点における高さを示す高さ情報を取得し、前記並進行列推定手段は、前記高さ情報が取得された法線ベクトルの一方の端点を回転行列推定手段が推定した回転行列を用いて実空間に投影することにより当該実空間上の３次元座標を算出し、算出された３次元座標と前記高さ情報を用いて前記一方の端点と対になる他の端点の３次元座標を算出し、算出した他の端点の３次元座標を前記回転行列を用いて画像上に再投影することにより当該画像上の他の端点の座標を算出し、画像上に再投影された前記他の端点の座標と画像から直接得られる前記他の端点の座標との誤差が最小になるように前記並進行列を推定する付記１記載のカメラ校正装置。
【０１５３】
（付記３）カメラの校正に用いられる並進行列を推定する並進行列推定手段を備え、法線ベクトル取得手段は、得られた法線ベクトルのうち、少なくとも１つ以上の法線ベクトルの端点における高さを示す高さ情報を取得し、前記並進行列推定手段は、前記高さ情報が取得された法線ベクトルの両端点を回転行列推定手段が推定した回転行列を用いて実空間に投影することにより当該実空間上の３次元座標を算出し、算出された両端点の３次元座標からそれぞれ高さ情報を除いた２次元座標を算出し、算出された両端点の２次元座標の誤差が最小になるように前記並進行列を推定する付記１記載のカメラ校正装置。
【０１５４】
（付記４）高さ情報の測定に用いられる測定媒体が配置された撮影空間内を法線ベクトルで表される移動媒体が動き回っている移動状態と、前記移動媒体が前記測定媒体にて高さ情報を取得可能な位置を通過する通過状態とを撮影した動画像を法線ベクトル取得手段に供給する画像供給手段を備え、法線ベクトル取得手段は、前記画像供給手段から供給される動画像から、前記移動媒体を追跡することにより、高さ情報が既知な法線ベクトルを複数取得する付記２または付記３記載のカメラ校正装置。
【０１５５】
（付記５）回転行列推定手段は、世界座標系のＺ軸方向に平行な平面として定義される投影用仮想平面に投影された法線ベクトルの当該世界座標系のＺ軸に対する傾き量を算出することにより当該法線ベクトルが基準となる水平面に対して垂直になることを評価し、当該傾き量が示す誤差が最小になるように回転行列を推定する付記１から付記４のうちのいずれか１つに記載のカメラ校正装置。
【０１５６】
（付記６）回転行列推定手段は、世界座標系のＸＺ平面に平行な平面として定義される投影用仮想平面に投影された法線ベクトルの両端点におけるＸ軸方向の誤差を算出することにより当該法線ベクトルが基準となる水平面に対して垂直になることを評価し、当該誤差が最小になるように回転行列を推定する付記１から付記４のうちのいずれか１つに記載のカメラ校正装置。
【０１５７】
（付記７）回転行列推定手段は、画像を撮影するカメラの回転をロール回転とピッチ回転のみによる２次元のパラメータで制約することにより回転行列を推定し、並進行列推定手段は、世界座標系のＺ軸上にカメラがあると想定し、カメラの位置を当該世界座標系のＺ軸上の位置を示す１次元のパラメータで制約することにより並進行列を推定する付記１から付記６のうちのいずれか１つに記載のカメラ校正装置。
【０１５８】
（付記８）法線ベクトル取得手段により得られた全法線ベクトルと当該全法線ベクトルからユーザにより選択された正しい選択法線ベクトルとの傾きを比較し、全法線ベクトルのうち、いずれかの前記選択法線ベクトルとの傾きが閾値以内である法線ベクトルをカメラ校正に有効な法線ベクトルとして選定する法線ベクトル選定手段を備えた付記１から付記７のうちのいずれか１つに記載のカメラ校正装置。
【０１５９】
（付記９）校正対象のカメラの画像から、基準となる水平面に対して垂直な法線ベクトルを取得し、得られた法線ベクトルを前記基準となる水平面に対して垂直な投影用仮想平面に投影し、投影された法線ベクトルが前記基準となる水平面に対して垂直になることを評価して、前記カメラの校正に用いられる回転行列を推定することを特徴とするカメラ校正方法。
【０１６０】
（付記１０）得られた法線ベクトルのうち、少なくとも１つ以上の法線ベクトルの端点における高さを示す高さ情報を取得し、前記高さ情報が取得された法線ベクトルの一方の端点を推定された回転行列を用いて実空間に投影することにより当該実空間上の３次元座標を算出し、算出された３次元座標と前記高さ情報を用いて前記一方の端点と対になる他の端点の３次元座標を算出し、算出した他の端点の３次元座標を前記回転行列を用いて画像上に再投影することにより当該画像上の他の端点の座標を算出し、画像上に再投影された前記他の端点の座標と画像から直接得られる前記他の端点の座標との誤差が最小になるように、カメラの校正に用いられる並進行列を推定する付記９記載のカメラ校正方法。
【０１６１】
（付記１１）得られた法線ベクトルのうち、少なくとも１つ以上の法線ベクトルの端点における高さを示す高さ情報を取得し、前記高さ情報が取得された法線ベクトルの両端点を推定された回転行列を用いて実空間に投影することにより当該実空間上の３次元座標を算出し、算出された両端点の３次元座標からそれぞれ高さ情報を除いた２次元座標を算出し、算出された両端点の２次元座標の誤差が最小になるように、カメラの校正に用いられる並進行列を推定する付記９記載のカメラ校正方法。
【０１６２】
（付記１２）コンピュータに、校正対象のカメラの画像から、基準となる水平面に対して垂直な法線ベクトルを取得する法線ベクトル取得処理、および、得られた法線ベクトルを前記基準となる水平面に対して垂直な投影用仮想平面に投影し、投影された法線ベクトルが前記基準となる水平面に対して垂直になることを評価して、前記カメラの校正に用いられる回転行列を推定する回転行列推定処理を実行させるためのカメラ校正用プログラム。
【０１６３】
（付記１３）コンピュータに、カメラの校正に用いられる並進行列を推定する並進行列推定処理を実行させ、法線ベクトル取得処理で、得られた法線ベクトルのうち、少なくとも１つ以上の法線ベクトルの端点における高さを示す高さ情報を取得させ、前記並進行列推定処理で、前記高さ情報が取得された法線ベクトルの一方の端点を回転行列推定処理で推定された回転行列を用いて実空間に投影することにより当該実空間上の３次元座標を算出させ、算出された３次元座標と前記高さ情報を用いて前記一方の端点と対になる他の端点の３次元座標を算出させ、算出した他の端点の３次元座標を前記回転行列を用いて画像上に再投影することにより当該画像上の他の端点の座標を算出させ、画像上に再投影された前記他の端点の座標と画像から直接得られる前記他の端点の座標との誤差が最小になるように前記並進行列を推定させる付記１２記載のカメラ校正用プログラム。
【０１６４】
（付記１４）コンピュータに、カメラの校正に用いられる並進行列を推定する並進行列推定処理を実行させ、法線ベクトル取得処理で、得られた法線ベクトルのうち、少なくとも１つ以上の法線ベクトルの端点における高さを示す高さ情報を取得させ、前記並進行列推定処理で、前記高さ情報が取得された法線ベクトルの両端点を回転行列推定処理で推定された回転行列を用いて実空間に投影することにより当該実空間上の３次元座標を算出し、算出された両端点の３次元座標からそれぞれ高さ情報を除いた２次元座標を算出させ、算出された両端点の２次元座標の誤差が最小になるように前記並進行列を推定させる付記１２記載のカメラ校正用プログラム。
【０１６５】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１６６】
この出願は、２０１２年１月２３日に出願された日本特許出願２０１２−０１０６４０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【０１６７】
本発明は、カメラの姿勢を表すカメラパラメータ（回転行列、並進行列）を推定する際、特別な校正用機材の設置や、校正に用いられる参照点の３次元座標の計測を行わないで、高精度且つ容易にカメラパラメータを推定するカメラ校正装置に好適に適用される。また、本発明は、そのカメラ校正装置をコンピュータに実現させるためのプログラムに好適に適用される。【０１６８】
また、本発明は、カメラ映像や蓄積映像から実空間上の３次元座標を必要とする監視分野やマーケティング分野において、物体検出、物体位置推定、動線解析、行動解析を行うための装置等に適用される。【０１６９】
さらに、本発明は、実空間上の３次元座標をカメラ映像や蓄積映像に投影する装置等にも適用される。さらに、本発明は、カメラ映像や蓄積映像に表示される物体の立体構造を復元する装置等にも適用される。さらに、本発明は、カメラ映像や蓄積映像から実空間上の３次元座標を入力する入力インタフェースにも適用される。さらに、本発明は、実空間上の３次元座標をトリガまたはキーとしてカメラ映像や蓄積映像の対象箇所に処理を行わせる装置等にも適用される。【０１７０】
これらの他、本発明は、カメラ設置後、カメラの自重や、地震、環境の振動などによって姿勢ずれを起こす可能性のあるカメラのカメラ姿勢を、リアルタイムに自動補正する装置等に適用される。
【符号の説明】
【０１７１】
１  画像供給装置
２  データ処理装置
３  記憶装置
２１  法線ベクトル取得手段
２２  回転行列推定手段
２３  並進行列推定手段
２４  法線ベクトル選定手段
３１  投影用仮想平面記憶手段
３２  内部パラメータ記憶手段
１００  コンピュータ
１０１  カメラ校正用プログラム
１０２  コンピュータ可読記憶媒体
【図１】
0006011548.tif 000010
【図２】
0006011548.tif 000011
【図３】
0006011548.tif 000012
【図４】
0006011548.tif 000013
【図５】
0006011548.tif 000014
【図６】
0006011548.tif 000015
【図７】
0006011548.tif 000016
【図８】
0006011548.tif 000017
【図９】
0006011548.tif 000018
【図１０】
0006011548.tif 000019
【図１１】
0006011548.tif 000020
【図１２】
0006011548.tif 000021
【図１３】
0006011548.tif 000022
【図１４】
0006011548.tif 000023
【図１５】
0006011548.tif 000024
【図１６】
0006011548.tif 000025
【図１７】
0006011548.tif 000026