(57)【要約】【課題】簡易且つ適切にキャリブレーションを行うことができるカメラキャリブレーションパターン、装置、および方法を提供する。【解決手段】キャリブレーションパターン３００は、白で塗りつぶされた矩形３０１と、黒で塗りつぶされた矩形３０２と、白および黒以外の所定の色で塗りつぶされた矩形３０３〜３０７から構成されている。このキャリブレーションパターン３００は、白で塗りつぶされた矩形３０１と黒で塗りつぶされた矩形３０２とを交互に配置させた市松模様において、矩形３０２の一部を矩形３０３〜３０７のいずれかに置き換えた構成からなる。【選択図】図３
2005250628.tif 000002
【特許請求の範囲】
【請求項１】
カメラにより撮像された画像上における特徴点の二次元座標と前記画像に対応する三次元空間における前記特徴点の三次元座標とから前記カメラに関する外部パラメータを求めるための二色で構成されたカメラキャリブレーションパターンにおいて、
前記二色以外の複数の色を含ませた
ことを特徴とするカメラキャリブレーションパターン。
【請求項２】
請求項１に記載のカメラキャリブレーションパターンであって、
前記複数の色の配列で所定のカラーコードを構成する
ことを特徴とするカメラキャリブレーションパターン。
【請求項３】
請求項１又は請求項２に記載のカメラキャリブレーションパターンであって、
前記複数の色の色ベクトルの方向は互いに３０°以上ずれている
ことを特徴とするカメラキャリブレーションパターン。
【請求項４】
請求項１乃至請求項３のいずれかに記載のカメラキャリブレーションパターンであって、
前記複数の色は非対称に配置される
ことを特徴とするカメラキャリブレーションパターン。
【請求項５】
請求項１乃至請求項４のいずれかに記載のカメラキャリブレーションパターンから生成された画像データに基づき所定のコードパターンを認識するコードパターン認識手段
を備えることを特徴とするカメラキャリブレーション装置。
【請求項６】
請求項５に記載のカメラキャリブレーション装置であって、
前記カメラキャリブレーションパターンを二値化する二値化手段
をさらに備え、
前記二値化手段は全ての前記複数の色を前記二色のうちのいずれか一色のみとして認識する
ことを特徴とするカメラキャリブレーション装置。
【請求項７】
請求項１乃至請求項４のいずれかに記載のカメラキャリブレーションパターンを撮像することにより画像データを生成する工程と、
生成された前記画像データに基づき所定のコードパターンを認識する工程と
を備えることを特徴とするカメラキャリブレーション方法。
【請求項８】
請求項７に記載のカメラキャリブレーション方法であって、
前記カメラキャリブレーションパターンを二値化する二値化工程
をさらに備え、
前記二値化工程において、全ての前記複数の色は前記二色のうちのいずれか一色のみとして認識される
ことを特徴とするカメラキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はカメラキャリブレーションに関し、特に、キャリブレーションパターンを自動認識するための技術に関する。
【背景技術】
【０００２】
カメラで撮像した複数枚の写真画像を用いて、計算機上で３次元復元などの処理を行う場合には、それらの画像を撮影したカメラの位置関係をまず求める（即ち、カメラの外部パラメータを求める）必要がある。このような、カメラの位置関係を求める作業のことを一般にカメラの外部キャリブレーションと呼ぶ。
【０００３】
一台のカメラで複数地点から撮像した画像を用いて三次元復元などの処理を行う場合、撮像した画像の情報から外部キャリブレーションが行われる。撮像した画像を用いて外部キャリブレーションを行う手法としては、基準物体をそれぞれの画像内に写し込み、その姿勢を画像から自動認識し、その情報を基にその画像を撮像したカメラ位置を求める手法がよく用いられる。この基準物体としては、平面に白黒の柄（市松模様など）をプリントしたパターンが広く用いられている。
【０００４】
このようなパターンを用いる最大の利点は、画像処理を工夫することによりコンピュータで画像内のパターンの位置を自動認識できることにある。パターンを写し込んだ画像をコンピュータに取り込み二値化などの処理を行うことによって、画像処理によりパターンの特徴点の座標を高精度に認識することが可能である（本明細書においては、画像内の所定箇所を特徴づける点および領域を特徴点と呼ぶ）。カメラの外部キャリブレーションにおいては、カメラにより撮像された画像上における特徴点の二次元座標とこの画像に対応する三次元空間におけるこの特徴点の三次元座標とからこのカメラに関する外部パラメータが求められる。さらに、コンピュータにパターンの特徴点の位置を入力しておくことによって、パターンの特徴点の並びからパターンに対するカメラの姿勢を算出することができる。
【０００５】
例えば特許文献１には、撮像された基準マークの位置を用いて、カメラキャリブレーションを自動で行う技術の例が開示されている。
【０００６】
【特許文献１】特開平９−３２９４１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
カメラの外部キャリブレーションを高精度に行うためには、キャリブレーションパターンの大きさや特徴点の間隔などを、カメラ間距離（基線長）などに応じて、最適なものに変更する必要がある。
【０００８】
しかし、従来のキャリブレーションパターンを用いた場合には一種類のパターンのみしかキャリブレーションすることができないので、パターン自身の大きさや特徴点の間隔などを変化させると、その変化を手動等でコンピュータに入力する必要がある。そのため、作業が繁雑になってしまうという問題点があった。
【０００９】
また、従来のキャリブレーションパターンにおいては、上述した市松模様のように、特徴点が上下対称に幾何学的に配置されることが多い。そのため、パターンの自動認識を行った場合に、角度によってはパターンの向きを１８０°誤って認識してしまうので、キャリブレーションを適切に行うことができない場合があるという問題点があった。
【００１０】
また、従来のキャリブレーションパターンにおいては、上述した市松模様のように、白黒の柄のような所定のパターンの繰り返しで構成される。そのため、パターンの一部しか写っていない場合には、その部分がキャリブレーションパターン全体のどの部分かを特定できないので、キャリブレーションを適切に行うことができない場合があるという問題点があった。
【００１１】
本発明は以上の問題点を解決するためになされたものであり、簡易且つ適切にキャリブレーションを行うことができるカメラキャリブレーションパターン、装置、および方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の課題を解決すべく、本発明に係るカメラキャリブレーションパターンは、カメラにより撮像された画像上における特徴点の二次元座標と画像に対応する三次元空間における特徴点の三次元座標とからカメラに関する外部パラメータを求めるための二色で構成されたカメラキャリブレーションパターンにおいて、二色以外の複数の色を含ませたことを特徴とする。
【発明の効果】
【００１３】
本発明に係るカメラキャリブレーションパターンは、カメラにより撮像された画像上における特徴点の二次元座標と画像に対応する三次元空間における特徴点の三次元座標とからカメラに関する外部パラメータを求めるための二色で構成されたカメラキャリブレーションパターンにおいて、二色以外の複数の色を含ませたことを特徴とするので、色を所定の用途に利用することが可能となる。
【発明を実施するための最良の形態】
【００１４】
＜実施の形態１＞
実施の形態１に係るカメラキャリブレーションパターンは、白で塗りつぶされた矩形と黒で塗りつぶされた矩形とを交互に配置させた市松模様において、黒で塗りつぶされた矩形の一部を、白および黒以外の所定の色で塗りつぶされた矩形に置き換え、この色を用いたカラーコードでキャリブレーションパラメータを表すことを特徴とする。
【００１５】
図１に、本実施の形態に係るカメラキャリブレーション装置１００の構成を示す。
【００１６】
図１に示すように、カメラキャリブレーション装置１００は、画像取り込み手段１１０と、画像処理手段１２０と、コードパターン認識手段１３０と、カメラ姿勢算出手段１４０とを備える。これらは、カメラキャリブレーション装置１００に内蔵されるＣＰＵ（図示しない）を用いて所定のソフトウェアに基づき動作する。
【００１７】
次に図２のフローチャートを用いて、図１に示されるカメラキャリブレーション装置１００を用いたカメラキャリブレーション方法について説明する。
【００１８】
まず、ステップＳ１において、図１に示されるカメラ２００は、（カメラ）キャリブレーションパターン３００を撮像することにより、カラー表現された画像データを生成し、その画像データをカメラキャリブレーション装置１００の画像取り込み手段１１０に入力させる。キャリブレーションパターン３００は、図３に示すように、白で塗りつぶされた矩形３０１と、黒で塗りつぶされた矩形３０２と、白および黒以外の所定の色で塗りつぶされた矩形３０３〜３０７から構成されている。このキャリブレーションパターン３００は、白で塗りつぶされた矩形３０１と黒で塗りつぶされた矩形３０２とを交互に配置させた市松模様において、矩形３０２の一部を矩形３０３〜３０７のいずれかに置き換えた構成からなる。図４に、図３の矩形３０３〜３０７周辺領域を拡大した様子を示す。
【００１９】
図３，４において、矩形３０３〜３０７は、それぞれ、桃色、灰色、青色、緑色、橙色で塗りつぶされている。また、矩形３０１〜３０７は、略正方形状を有するものとする。上記の撮像においては、少なくとも矩形３０３〜３０７については全てが欠けることなく撮像されるものとする。また、矩形３０１，３０３〜３０７は、所定の配列で組み合わされることにより、カラーコード３４１〜３４５を構成している。
【００２０】
ここで、矩形３０３〜３０７を塗りつぶす色としては、各色の成分をＲＧＢ空間で表した場合の色ベクトルの方向が互いに所定の基準角度以上ずれているものを用いる。これにより、後述するステップＳ２において画像データのカラー表現をグレースケール（白黒の階調表現）へ変換した後であっても、カラーコード３４１〜３４５を適切に読み取ることが可能となる。
【００２１】
また、これらの色として所定の閾値より明度が低いものを用いた場合には、グレースケールに変換された画像データに対してこの閾値を用いて二値化処理を行うことにより、矩形３０３〜３０７を矩形３０２として認識することが可能となる。従って、既存の白黒の柄のキャリブレーションパターンに用いられたのと同様のアルゴリズムで画像処理を行うことが可能となる。
【００２２】
次に、ステップＳ２〜Ｓ３において、画像処理手段１２０は、図５に示されるような格子点３２０を抽出する。
【００２３】
まず、ステップＳ２において、画像処理手段１２０は、画像データに対して、Ｔｓａｉの手法等の既存の手法を用いて、カメラ２００の内部パラメータを求め、レンズ歪み補正を行う。そして、当該画像データのカラー表現をグレースケールに変換し、グレースケールの画像データに対して、膨張処理を行う。すなわち、図６に示すように、キャリブレーションパターン３００において明度の高い部分（すなわち白で塗りつぶされた矩形３０１）を膨張させる。
【００２４】
次に、ステップＳ３において、図６に示されるような膨張処理されたグレースケールの画像データに対してｈｏｕｇｈ変換等の既存の手法を用いることにより直線を抽出し、四方を当該直線で囲まれた領域を矩形３０２〜３０７として認識する（ここでは、説明の都合上、矩形３０２を例にとり説明する）。次に、図７に示すように、各矩形３０２において、頂点３３０を全て算出する。次に、図８に示すように、隣接する頂点３３０が存在するような頂点３３０（言い換えれば、所定の距離以内に他の頂点が存在するような頂点）を求め、隣接する二頂点間の中点をこの市松模様の格子点３２０として抽出し記憶する。これにより、市松模様の格子点３２０が求められる。
【００２５】
次に、ステップＳ４において、コードパターン認識手段１３０は、各格子点３２０周辺において、矩形３０３〜３０７が存在するかどうか（すなわち、カラーコード３４１〜３４５が存在するかどうか）を確認する。
【００２６】
まず、コードパターン認識手段１３０は、全カラーコードの位置の基準となるカラーコード３４１を探す。カラーコード３４１は、図４に示すように、カラーコード領域３１０の基準位置を表す桃色の矩形３０３と、基準軸の向きを表す灰色の矩形３０４とを含む。すなわち、矩形３０３から矩形３０４への向きが基準軸の向きとなり、以下で説明するように、この向きに他のカラーコードの読み取りが行われる。
【００２７】
次に、コードパターン認識手段１３０は、キャリブレーションパラメータを特定するためのカラーコード３４２〜３４５を探す。図４において、カラーコード３４２〜３４５は、カラーコード３４１に隣接する行から順次に並べられており、各行における各カラーコードの先頭位置は、矩形３０３の位置に合わせて定められる。
【００２８】
このカラーコード３４２〜３４５は、それぞれ、図３に示されるキャリブレーションパターン３００において、矩形の横方向の総個数、矩形の縦方向の総個数、各矩形の横方向の長さ（ｍｍ）、および各矩形の縦方向の長さ（ｍｍ）を表している。そして、矩形３０４，３０５，３０６は、それぞれ、三進数における０，１，２に対応している。即ち、矩形の横方向の総個数は、カラーコード３４２で表され、００２１２（三進数）＝２３（十進数）となる。また、矩形の縦方向の総個数は、カラーコード３４３で表され、００１２２（三進数）＝１７（十進数）となる。また、各矩形の横方向の長さは、カラーコード３４４で表され、０１０１０（三進数）＝３０（十進数）となる。また、各矩形の横方向の長さは、カラーコード３４５で表され、０１０１０（三進数）＝３０（十進数）となる。コードパターン認識手段１３０は、上記のようなカラーコード３４１〜３４５を読み取ることにより、キャリブレーションパラメータを得ることができる。
【００２９】
次に、ステップＳ５において、カメラ姿勢算出手段１４０は、得られたキャリブレーションパラメータと格子点３２０の画像上の二次元座標と格子点３２０の三次元空間における三次元座標（世界座標）とから、Ｔｓａｉの手法等の既存の手法を用いて、カメラ２００の姿勢を算出する。
【００３０】
このように、本実施の形態に係るキャリブレーションパターンにおいては、白で塗りつぶされた矩形３０１と黒で塗りつぶされた矩形３０２とを交互に配置させた市松模様において、黒で塗りつぶされた矩形３０２の一部を、白および黒以外の所定の色で塗りつぶされた矩形３０３〜３０７に置き換えているので、この所定の色を利用してカラーコードでキャリブレーションパラメータを表すことが可能となる。
【００３１】
これにより、キャリブレーションパラメータの自動認識が可能となるので、一旦キャリブレーションパターンを作成してしまえば、その後は作成したキャリブレーションパターンを利用することで、コンピュータへの手動入力が不要となる。従って、キャリブレーションパラメータを変化させた場合にも、キャリブレーションを簡易に行うことが可能となる。よって、画像を用いて三次元復元などの処理を行う場合に、復元対象の大きさ等に応じて、キャリブレーションパターンを最適な大きさのものに簡単に変更することが可能となる。
【００３２】
また、カラーコードが上下非対称になるようにパターン上で配置することにより、自動認識においてパターンの向きを１８０°誤って認識してしまうことを防ぐことができるので、キャリブレーションを適切に行うことが可能となる。
【００３３】
また、パターンの一部しか写っていない場合においても、パターン上における矩形３０３〜３０７の位置情報をカラーコードとして表しておくことにより、少なくとも矩形３０３〜３０７について欠けることなく撮像されていれば、その部分がキャリブレーションパターン全体のどの部分かを特定することができるので、キャリブレーションを適切に行うことが可能となる。
【００３４】
なお、前述したような、ＲＧＢ空間における各色の成分の色ベクトルのずれに対応する基準角度は、実験の結果、概ね３０°であることが分かっている。この実験は、白で塗りつぶされた図形と、黒で塗りつぶされた図形と、白および黒以外のｎ種類（ｎは自然数）の色で塗りつぶされた図形とを、アプリケーションソフトを用いて識別することにより行った。以下では、図９〜１３を用いて、その実験の内容および結果について説明する。
【００３５】
図９には、ＲＧＢ空間上に配置された正三角形４００およびそれを貫く色ベクトルが示されている。この正三角形４００の各頂点は、Ｒ（赤），Ｇ（緑），Ｂ（青）の各色にそれぞれ対応している。
【００３６】
図１０〜１３は、この実験において用いられた各色を、正三角形４００と色ベクトルとの交点として示した図である。
【００３７】
図１０には、正三角形４００の各頂点に対応する色すなわちＲ，Ｇ，Ｂの３色が示されている。
【００３８】
図１１には、Ｒ，Ｇ，Ｂの３色に、正三角形４００を辺の長さが１／２倍の４個の正三角形４０１に分割するような３点に対応する３色を加えた、計６色が示されている。正三角形４００の各頂点間の色ベクトルのずれは９０°であるので、正三角形４０１の辺の長さに対応する色ベクトルのずれは、その１／２倍の４５°となる。
【００３９】
図１２には、Ｒ，Ｇ，Ｂの３色に、正三角形４００を辺の長さが１／３倍の９個の正三角形４０２に分割するような７点に対応する７色を加えた、計１０色が示されている。正三角形４００の各頂点間の色ベクトルのずれは９０°であるので、正三角形４０２の辺の長さに対応する色ベクトルのずれは、その１／３倍の３０°となる。
【００４０】
図１３には、Ｒ，Ｇ，Ｂの３色に、正三角形４００を辺の長さが１／４倍の１６個の正三角形４０３に分割するような１２点に対応する１２色を加えた、計１５色が示されている。正三角形４００の各頂点間の色ベクトルのずれは９０°であるので、正三角形４０３の辺の長さに対応する色ベクトルのずれは、その１／４倍の２２．５°となる。
【００４１】
この実験においては、図１０〜１３の各点に対応する色で塗りつぶされた図形をプリンタで打ち出し、デジタルカメラを用いて、正面、斜め３０°、および斜め６０°の角度からそれぞれ画像を撮像した。そして、アプリケーションソフトを用いて、得られた画像の画素値から色ベクトルを計算することにより、打ち出された図形の色と撮像された画像の色とが同じ色と判定できるかどうかを確認した。この色としては、ｎ＝１〜３の場合には図１０で示される各色を用いた。また、ｎ＝４〜６の場合には図１１で示される各色を用いた。また、ｎ＝７〜１０の場合には図１２で示される各色を用いた。また、ｎ＝１１〜１５の場合には図１３で示される各色を用いた。なお、プリンタとしては、セイコーエプソン株式会社製のＬＰ−８３００Ｃを用い、デジタルカメラとしては、キャノン株式会社製のＰｏｗｅｒＳｈｏｔＳ５０を用いた。また、撮像時の照明としては、蛍光灯を使用した。
【００４２】
その結果、ｎ≦１０の場合には、全ての色が正しく認識できたが、ｎ＞１１の場合には、近接する色同士が誤認識されることがあった。これは、プリンタおよびデジタルカメラの色再現能力や、蛍光灯の照明能力によって、色ベクトルがずれて認識されるためと考えられる。図１２と図１３との比較により、この色ベクトルのずれは２２．５〜３０°の範囲にあると考えられる。従って、各色の色ベクトルのずれを３０°以上とすることにより、カラーコード３４１〜３４５を適切に読み取ることが可能となる。
【図面の簡単な説明】
【００４３】
【図１】実施の形態１に係るカメラキャリブレーション装置１００を示す構成図である。
【図２】実施の形態１に係るカメラキャリブレーション方法を示すフローチャートである。
【図３】実施の形態１に係るカメラキャリブレーションパターンを示す図である。
【図４】実施の形態１に係るカメラキャリブレーションパターンを示す図である。
【図５】実施の形態１に係るカメラキャリブレーション方法における膨張処理を示す図である。
【図６】実施の形態１に係るカメラキャリブレーション方法における格子点抽出処理を示す図である。
【図７】実施の形態１に係るカメラキャリブレーション方法における格子点抽出処理を示す図である。
【図８】実施の形態１に係るカメラキャリブレーション方法における格子点抽出処理を示す図である。
【図９】実施の形態１に係るカメラキャリブレーションパターンにおける色ベクトルを示す図である。
【図１０】実施の形態１に係るカメラキャリブレーションパターンにおける色ベクトルのずれの基準角度を求める実験条件を示す図である。
【図１１】実施の形態１に係るカメラキャリブレーションパターンにおける色ベクトルのずれの基準角度を求める実験条件を示す図である。
【図１２】実施の形態１に係るカメラキャリブレーションパターンにおける色ベクトルのずれの基準角度を求める実験条件を示す図である。
【図１３】実施の形態１に係るカメラキャリブレーションパターンにおける色ベクトルのずれの基準角度を求める実験条件を示す図である。
【符号の説明】
【００４４】
１００  カメラキャリブレーション装置、１１０  画像取り込み手段、１２０  画像処理手段、１３０  コードパターン認識手段、１４０  カメラ姿勢算出手段、２００  カメラ、３００  キャリブレーションパターン、３０１〜３０７  矩形、３２０  格子点、３３０  頂点、３４１〜３４５  カラーコード、４００〜４０３  正三角形。
【図１】
2005250628.tif 000003
【図２】
2005250628.tif 000004
【図３】
2005250628.tif 000005
【図４】
2005250628.tif 000006
【図５】
2005250628.tif 000007
【図６】
2005250628.tif 000008
【図７】
2005250628.tif 000009
【図８】
2005250628.tif 000010
【図９】
2005250628.tif 000011
【図１０】
2005250628.tif 000012
【図１１】
2005250628.tif 000013
【図１２】
2005250628.tif 000014
【図１３】
2005250628.tif 000015