(57)【要約】      （修正有）【課題】撮影画像に基づいてキャリブレーションを行うことができる上に、平面板を動かせる自由度が上がり、キャリブレーション精度を高めることができるキャリブレーションシステム、およびキャリブレーション方法を提供する。【解決手段】キャリブレーションシステム１０は、所定のパターンｐｔ１が印刷された平面板１２と、この平面板１２に印刷されたパターンに少なくとも一部が重なり合うように、所定のパターンｐｔ１と同一または異なるパターンｐｔ２を平面板１２に投影する投影手段１４と、平面板１２に印刷されたパターンｐｔ１と投影手段１４によって平面板１２上に投影されたパターンｐｔ２とを少なくとも撮影する撮影手段１６と、投影手段１４と撮影手段１６の制御を行う制御手段１８と、を有して構成されている。また、所定のパターンｐｔ１は、各々異なる識別子を有する複数のマーカーによって構成された局所識別可能パターンで構成されている。【選択図】図１
2014178141.tif 000002
【特許請求の範囲】
【請求項１】
所定のパターンが印刷された平面板と、
前記平面板に印刷されたパターンに少なくとも一部が重なり合うように、前記所定のパターンと同一または異なるパターンを前記平面板に投影する投影手段と、
前記平面板に印刷されたパターンと前記投影手段によって前記平面板上に投影されたパターンとを少なくとも撮影する撮影手段と、
前記投影手段と前記撮影手段の制御を行う制御手段と、を有して構成されたキャリブレーションシステムであって、
前記所定のパターンは、各々異なる識別子を有する複数のマーカーによって構成された局所識別可能パターンで構成され、
前記局所識別可能パターンを使用して前記投影手段または前記撮影手段のキャリブレーションを行うことを特徴とするキャリブレーションシステム。
【請求項２】
請求項１に記載のキャリブレーションシステムにおいて、
前記局所識別可能パターンに含まれる全てのマーカーどうしのハミング距離の最小値を最大化することを特徴とするキャリブレーションシステム。
【請求項３】
請求項１または２に記載のキャリブレーションシステムにおいて、
前記制御手段は、
前記局所識別可能パターンのうちの第１の領域に含まれる１または複数の第１のマーカーを検出し、該第１のマーカーに対して所定の画像処理を行う第１の処理と、
前記第１のマーカーを含む領域であって前記第１の領域よりも広い第２の領域に含まれる１または複数の第２のマーカーを検出し、該第２のマーカーおよび前記第１のマーカーに対して前記所定の画像処理と同一の画像処理を行う第２の処理と、を少なくとも実行可能であることを特徴とするキャリブレーションシステム。
【請求項４】
請求項１〜３のいずれかに記載のキャリブレーションシステムにおいて、
前記制御手段は、
印刷または投影された前記局所識別可能パターンのうち、いずれか片方の情報を用いて、もう片方のパターンを補正する処理を、実行可能であることを特徴とするキャリブレーションシステム。
【請求項５】
請求項１〜４のいずれかに記載のキャリブレーションシステムにおいて、
前記制御手段は、
前記撮影手段から入力された入力画像の輝度値を用いて前記平面板に印刷されたパターンと前記投影手段によって前記平面板に投影されたパターンとを識別可能であることを特徴とするキャリブレーションシステム。
【請求項６】
請求項１〜５のいずれかに記載のキャリブレーションシステムにおいて、
前記制御手段は、
前記マーカーの特徴点に基づいて前記投影手段および前記撮影手段の内部パラメータのキャリブレーションを行い、該内部パラメータを用いて再投影誤差を算出し、前記平面板、前記投影手段、および前記撮影手段の内部パラメータおよび外部パラメータをバンドル調整法によって最適化することを特徴とするキャリブレーションシステム。
【請求項７】
請求項１〜６のいずれかに記載のキャリブレーションシステムにおいて、
前記局所識別可能パターンは、複数のＡＲマーカーによって構成されたＡＲマーカーパターンであることを特徴とするキャリブレーションシステム。
【請求項８】
所定のパターンが印刷された平面板と、
前記平面板に印刷されたパターンに少なくとも一部が重なり合うように、前記所定のパターンと同一または異なるパターンを前記平面板に投影する投影手段と、
前記平面板に印刷されたパターンと前記投影手段によって前記平面板上に投影されたパターンとを少なくとも撮影する撮影手段と、
前記投影手段と前記撮影手段の制御を行う制御手段と、を用いて行うキャリブレーション方法であって、
前記所定のパターンは、各々異なる識別子を有する複数のマーカーによって構成された局所識別可能パターンで構成され、
前記局所識別可能パターンを使用して前記投影手段または前記撮影手段のキャリブレーションを行うことを特徴とするキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元形状の測定におけるキャリブレーションシステム、およびキャリブレーション方法に関する。
【背景技術】
【０００２】
近年、様々な分野において、３次元測定装置による３次元形状の測定の研究が盛んに行われている。これまで、３次元形状の測定方法として様々な提案がなされているが、３次元形状を非接触で計測する技術は、主として、パッシブ測定方式（受動的測定方式）とアクティブ測定方式（能動的測定法）とに大別することができる。
【０００３】
パッシブ測定方式（受動的測定方式）は、複数の画像セットのみから３次元復元を行うことができるという利点があるものの、対応点探索問題や形状計測が難しいといった問題点がある。一方、アクティブ測定方式（能動的測定法）は、ステレオ方式に代表されるように、レーザーやスリット光などを対象に投影し、その様子を撮影することで３次元計測を行う方法である。
【０００４】
一般に、アクティブステレオ方式による３次元形状の測定では、事前に計測装置の厳密なキャリブレーションが必要である。光パターン投影法によるシステムにおいては、プロジェクタとカメラの内部パラメータ（例えば、焦点距離やレンズの歪など）と、計測装置間の外部パラメータ（例えば、プロジェクタやカメラの位置姿勢など）が必要となってくる。特に、プロジェクタはその性質上、プロジェクタから見た画像を取得することができないため、プロジェクタのキャリブレーションには特殊な校正儀を用いたり、対応点取得のためにグレーコードなどの特殊なパターンを投影するなどの必要性がある。
【０００５】
また、外部パラメータは、カメラとプロジェクタの配置を変更するたびに行う必要があるため、計測システムとしての利便性がこれまで大きく損なわれていた。このような問題を解決するために自己校正を行う手法も提案されているが、精度の良い対応点を取得するために複数枚のパターンを投影する必要があり、依然としてプロジェクタの内部パラメータや外部パラメータの推定には数多くの課題が残されている。
【０００６】
このような従来の課題を解決する方法として、非特許文献１には、平面板と市松模様を用いたキャリブレーション方法が提案されている。この方法では、プロジェクタから市松模様を投影することで、従来のキャリブレーション方法のように特殊な校正儀や特殊なパターンを用いることなく、プロジェクタのキャリブレーションを行うことが可能とされている。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】清田祥太、川崎洋、古川亮、佐川立昌，"平面板を用いたプロジェクタの効率的なキャリブレーション手法の提案"，情報処理学会ＣＶＩＭ研究会会誌  Ｖｏｌ．２０１２−ＣＶＩＭ−１８０  ｐ.１−８，２０１２年
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記非特許文献１に記載のキャリブレーション方法では、市松模様の特徴点を検出するためには市松模様全体がカメラで撮影される必要性があるため、しばしば撮影を行うことが困難となり、３次元形状の計測精度が低下するなどの問題があった。
【０００９】
本発明は、このような従来の問題点を解決するためになされたものであって、キャリブレーションパターン全体が撮影または投影されていない場合でも、一部の撮影画像に基づいてキャリブレーションを行うことができる上に、平面板を動かせる自由度が上がり、キャリブレーション精度を高めることができるキャリブレーションシステム、およびキャリブレーション方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、所定のパターンが印刷された平面板と、前記平面板に印刷されたパターンに少なくとも一部が重なり合うように、前記所定のパターンと同一または異なるパターンを前記平面板に投影する投影手段と、前記平面板に印刷されたパターンと前記投影手段によって前記平面板上に投影されたパターンとを少なくとも撮影する撮影手段と、前記投影手段と前記撮影手段の制御を行う制御手段と、を有して構成されたキャリブレーションシステムであって、前記所定のパターンは、各々異なる識別子を有する複数のマーカーによって構成された局所識別可能パターンで構成され、前記局所識別可能パターンを使用して前記投影手段または前記撮影手段のキャリブレーションを行うことを特徴とするキャリブレーションシステムである。
【発明の効果】
【００１１】
本発明に係るキャリブレーションシステム、およびキャリブレーション方法によれば、撮影画像に基づいてキャリブレーションを行うことができる上に、平面板を動かせる自由度が上がり、キャリブレーション精度を高めることができるという優れた効果を奏し得る。さらに、白黒カメラにおいても、高精度なキャリブレーションが実現できる。
【図面の簡単な説明】
【００１２】
【図１】キャリブレーションシステム１０の構成例を示すシステム構成図である。
【図２】（ａ）ＡＲマーカーパターンの一例を示した図である。（ｂ）ＡＲマーカーパターンを構成するＡＲマーカーの一例を示した図である。
【図３】本システム１０の制御を行うコンピュータ１８の内部構成の一例を示した内部構成図である。
【図４】画像処理手段２６が実行する画像処理の流れを示したフローチャートである。
【図５】モノクロＡＲマーカーで撮影した一例を示した図である。
【図６】モノクロＡＲマーカーの一例と、その輝度のコンビネーションを示した図である。
【図７】アダプティブ二値化の一例を示した図である。
【図８】モノクロＡＲマーカーにおけるアダプティブ二値化の一例を示した図である。
【図９】モノクロＡＲマーカーにおける、最初の２値化の結果を用いて、撮影画像をマスクした一例を示した図である。
【図１０】ＭＲＦ（Ｍａｒｃｏｆ ｒａｎｄｏｍ ｆｉｅｌｄ）最適化による２値化の一例を示した図である。
【図１１】（ａ）実験に用いたボックスの外観斜視図である。（ｂ）キャリブレーションの精度評価におけるボックスの復元結果を示した図である。
【図１２】ＡＲマーカー検出によって得られた点Ｐ１、初期値を用いて行った再投影の点Ｐ２、最適化後の値を用いて行った再投影の点Ｐ３を、それぞれ抜粋して示した図である。
【図１３】アダプティブ二値化と通常の二値化における再投影誤差を比較した図である。
【図１４】（ａ）ＡＲマーカーパターン使用時の入力画像である。（ｂ）市松模様パターン使用時の入力画像である。
【図１５】（ａ）（ｂ）市松模様とＡＲマーカーパターンの精度の比較における復元結果とその時の角度を示した図である。（ｃ）入力画像の枚数を２７枚としたときのボックスの復元時の角度を示した図である。
【図１６】モノクロＡＲマーカーにおける、キャリブレーションの精度評価におけるボックスの復元結果を示した図である。
【発明を実施するための形態】
【００１３】
以下、図面を用いて、本発明の実施形態に係るキャリブレーションシステムについて詳細に説明する。
【００１４】
＜全体構成＞
最初に、図１を用いて、キャリブレーションシステム１０（以下、単に「本システム１０」という場合がある）の全体構成について説明する。なお、図１は、キャリブレーションシステム１０の構成例を示すシステム構成図である。
【００１５】
本システム１０は、所定のパターンｐｔ１が印刷された平面板１２と、この平面板１２に印刷されたパターンｐｔ１に重なり合うように、このパターンｐｔ１と同一のパターンｐｔ２を平面板１２に投影するプロジェクタ１４と、平面板１２に印刷されたパターンｐｔ１とプロジェクタ１４によって平面板１２上に投影されたパターンｐｔ２とを撮影するカメラ１６と、これらのプロジェクタ１４やカメラ１６の制御を行うコンピュータ１８と、を有して構成されている。
【００１６】
なお、プロジェクタ１４やカメラ１６の個数、位置、および向き等は、図１に示す例に限定されるものではなく特に制約は無いが、プロジェクタ１４やカメラ１６の位置や向きを固定する必要があるため、三脚などの固定機材によってプロジェクタ１４やカメラ１６を固定することが好ましい。
【００１７】
本システム１０では、平面板１２に印刷するパターンｐｔ１およびプロジェクタ１４から投影するパターンｐｔ２として、次に説明する「ＡＲマーカーパターン」を使用する点を一つの特徴としている。
【００１８】
＜ＡＲマーカーパターン＞
次に、図２を用いて、ＡＲマーカーパターンについて説明する。なお、図２（ａ）は、ＡＲマーカーパターンの一例を示した図であり、同図（ｂ）は、ＡＲマーカーパターンを構成するＡＲマーカーの一例を示した図である。
【００１９】
「ＡＲマーカー」とは、ＡＲ（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ：拡張現実）を実現するためのバーコードなどのパターンのことである。本システム１０では、キャリブレーションに用いるキャリブレーションパターンとして、図２（ａ）に示すようなＡＲマーカーパターンを用いる。このＡＲマーカーパターンは、７行９列に配置した６３個のＡＲマーカーによって構成されるものである。なお、ＡＲマーカーパターンを構成するＡＲマーカーの配置や個数は、この例に限定されないことは言うまでもない。
【００２０】
本システム１０のようにＡＲマーカーをキャリブレーションマーカーとして使用する際に最も重要となるのは、各々のＡＲマーカーが、相異なるＩＤ（識別子）を持つＡＲマーカーとして検出可能なことである。ＡＲマーカーパターンから個々のＡＲマーカーのＩＤを検出する際に、ＡＲマーカーのＩＤを１つでも誤って検出してしまうと、キャリブレーションを正常に行うことができなくなってしまうため、各々のＡＲマーカーが相異なる特徴を持つようなパターンを作成する必要がある。
【００２１】
一般に、ＡＲマーカーは文字や絵など、視覚によって認識し易いもので構成されるが、本システム１０では、ＡＲマーカーパターンを構成する個々のＡＲマーカーが、できるだけ異なる特徴を持つように、図２（ｂ）に示すような２次元バーコードに似たパターンを採用する。ＡＲマーカーは、太い黒枠で構成される外枠と、その内部パターンの２つから構成され、内部パターンは２値画像であれば、特に制約はない。そこで、具体的には、個々のＡＲマーカーの内部パターンを５行５列に配置した２５個の正方形の組合せで構成し、２５個の正方形のうちの一部または全てを有色とし、残りを無色とする。そして、有色の部分を数値の１、無色の部分を数値の０と考えた場合に、全てのＡＲマーカー同士のハミング距離の最小値がなるべく大きくなるように（好ましくは最大となるように）有色と無色の組合せを選択する。また、パターンが回転したり、反転したりすることを考慮して、回転対称や、線対称の図形を除外する処理も必要である。さらに、有色と無色の数が極端にならないようにバランスを取ることも実際の画像処理の際には精度向上に有効である。
【００２２】
＜キャリブレーション方法＞
次に、図３を用いて、本システム１０で実行されるキャリブレーション方法について説明する。なお、図３は、本システム１０の制御を行うコンピュータ１８の内部構成の一例を示した内部構成図である。
【００２３】
本システム１０のコンピュータ１８は、プロジェクタ１４の制御を行ってＡＲマーカーパターンを平面板１２に向けて投影させるパターン投影制御手段２０と、カメラ１６の制御を行ってＡＲマーカーパターンが投影された平面板１２の画像を入力するパターン画像入力手段２２と、このパターン画像入力手段２２によって入力された入力画像の他、各種プログラムや複数のＡＲマーカーパターンなどを記憶する記憶手段２４と、この記憶手段２４に記憶された入力画像に対して画像処理を行う画像処理手段２６と、この画像処理手段２６による画像処理の結果や入力画像などを表示する表示手段２８と、コンピュータ１８全体の制御を行う制御手段３０と、を有して構成されている。
【００２４】
このようなコンピュータ１８としては、周知のパソコンやサーバなどを適用することができ、その記憶手段２４としては、ＲＯＭ、ＲＡＭ、ＨＤＤなどを適用することができる。また、表示手段２８としては、液晶表示装置やＣＲＴなどを適用することができ、制御手段３０としては、ＣＰＵなどを適用することができる。以下、その他の、パターン投影制御手段２０、パターン画像入力手段２２、および、画像処理手段２６について順次説明する。
【００２５】
＜パターン投影制御手段＞
パターン投影制御手段２０は、プロジェクタ１４の制御を行って、平面板１２に印刷されたＡＲマーカーパターンの上に重なり合うように、同一パターンのＡＲマーカーパターンを投影させる手段である。このパターン投影制御手段２０は、例えば、記憶手段２４などに予め記憶されたＡＲマーカーパターンを取得し、取得したＡＲマーカーパターンを、プロジェクタ１４から出力させたり表示手段２８に表示させる制御を行うソフトウェア（プログラム）や、プロジェクタ１４との接続に用いられる外部Ｉ／Ｆ（ＬＡＮ端子や画像出力端子など）のハードウェアによって構成される。
【００２６】
なお、パターン投影制御手段２０は、プロジェクタ１４の各種制御（電源のオン・オフ切換え、ソース切換え、コントラスト調整、輝度調整、アスペクト比調整、ズームイン、ズームアウトなど）を行うプログラムをさらに備えていてもよい。
【００２７】
＜パターン画像入力手段＞
パターン画像入力手段２２は、カメラ１６の制御を行ってＡＲマーカーパターンが投影された平面板１２の画像を入力する手段である。このパターン画像入力手段２２は、例えば、カメラ１６から入力される入力画像を記憶手段２４に記憶し、記憶した入力画像に対する画像処理を画像処理手段２６に指示したり、入力画像を表示手段２８に表示させるソフトウェア（プログラム）や、カメラ１６との接続に用いられる外部Ｉ／Ｆ（ＬＡＮ端子や画像入力端子など）のハードウェアによって構成される。
【００２８】
なお、パターン画像入力手段２２は、カメラ１６の各種制御（フォーカス、シャッター操作、フラッシュのオンオフ切換え、コントラスト調整、輝度調整、ズームイン、ズームアウトなど）を行うプログラムをさらに備えていてもよい。
【００２９】
また、カメラ１６によって撮影する領域は、平面板１２の全ての領域である必要はないが、撮影する領域が狭いと（撮影可能なＡＲマーカーの個数が少ないと）キャリブレーションの精度低下の要因となるため、一定数のＡＲマーカーが含まれる領域を撮影することが好ましい。また、キャリブレーションにおいて十分な精度を得るためにはカメラ１６によって平面板１２の角度を変えながら３０枚ほどの画像を撮影することが好ましい。
【００３０】
＜画像処理手段＞
画像処理手段２６は、記憶手段２４に記憶された入力画像に対して画像処理を行う手段である。この画像処理手段２６は、本実施形態では、入力画像からＡＲマーカーを検出するパターン検出手段２６ａと、プロジェクタ１４とカメラ１６の内部パラメータのキャリブレーションを行う内部キャリブレーション手段２６ｂと、プロジェクタ１４とカメラ１６の内部パラメータと外部パラメータの再推定を行う最適化手段２６ｃと、を有するソフトウェア（プログラム）によって構成される。
【００３１】
以下、図４を参照して、画像処理手段２６（パターン検出手段２６ａ、内部キャリブレーション手段２６ｂ、最適化手段２６ｃ）が実行する画像処理について説明する。なお、図４は、画像処理手段２６が実行する画像処理の流れを示したフローチャートである。
【００３２】
＜パターン検出手段＞
パターン検出手段２６ａは、図４のステップＳ１０１において、入力画像からＡＲマーカーを検出する処理を行う。具体的には、最初に、記憶手段２４に記憶された入力画像を１枚ずつ取得し、この入力画像に基づいて、平面板１２に印刷されたＡＲマーカーパターン（以下、単に「平面板側ＡＲマーカーパターン」という場合がある）と、プロジェクタ１４から投影しているＡＲマーカーパターン（以下、単に「プロジェクタ側ＡＲマーカーパターン」という場合がある）と、を分離する処理を行う。
【００３３】
本実施形態では、平面板側ＡＲマーカーパターンとプロジェクタ側ＡＲマーカーパターンの有色の部分を互いに異なる色で構成しており、平面板側ＡＲマーカーパターンの有色の部分をシアン：ＲＧＢ（０，２５５，２５５）、プロジェクタ側ＡＲマーカーパターンの有色の部分を黄色：ＲＧＢ(２５５，２５５，０）としている。
【００３４】
なお、各々の色の組合せはシアンと黄色の組合せに限定されるものではなく、後述する方法によって２つのＡＲマーカーパターンの分離が容易となる色の組合せであればよい。また、平面板側ＡＲマーカーパターンとプロジェクタ側ＡＲマーカーパターンの両方をモノクロで構成してもよく、この場合、平面板側ＡＲマーカーパターンとプロジェクタ側ＡＲマーカーパターンの輝度値の違い（例えば、平面板側ＡＲマーカーパターンの輝度値をＲＧＢ（１００，１００，１００）、プロジェクタ側ＡＲマーカーパターンの輝度値をＲＧＢ（２００，２００，２００）に設定する）を用いて両者の分離を行えばよく、カメラ１６をモノクロカメラにすることができるという利点がある。
【００３５】
本実施形態では、平面板側ＡＲマーカーパターンとプロジェクタ側ＡＲマーカーパターンの有色の部分を互いに異なる色で構成することで、入力画像の赤（Ｒ）プレーンでは平面板側ＡＲマーカーパターンのみが、青（Ｂ）プレーンではプロジェクタ側ＡＲマーカーパターンのみが見えることになる。このため、本システム１０において、カメラ１６用には各ピクセルの輝度値のＲ以外を０に設定し、プロジェクタ１４用にはＢ以外の輝度値を０に設定することで、各々のＡＲマーカーパターンを鮮明に確認することができる。
【００３６】
続いて、パターン検出手段２６ａは、平面板側ＡＲマーカーパターンとプロジェクタ側ＡＲマーカーパターンに対してグレースケール化を行う。なお、この際に単純にグレースケール化を行うと、それぞれのピクセルの輝度が一定になってしまうため、赤（Ｒ）プレーンに対してはＲの輝度値を用いてグレースケール化し、青（Ｂ）プレーンに関してはＢの輝度値を用いてグレースケール化を行なう。こうすることで、１枚の入力画像を、平面板側ＡＲマーカーパターンとプロジェクタ側ＡＲマーカーパターンとに完全に分離することが可能である。また、色情報を用いて分離した画像は、それぞれ２枚のモノクロ画像となっているため、後述のモノクロ画像の分離手法を用いると、より高精度な分離や、ＡＲマーカーの検出が実現できることは言うまでもない。
【００３７】
すなわち、本システム１０では、平面板側ＡＲマーカーパターンとプロジェクタ側ＡＲマーカーパターンの色情報を用いて両者の分離を行い、分離した後の２枚１セットの画像を用いてキャリブレーションを行うことを一つの特徴としている。なお、上述のように、平面板側ＡＲマーカーパターンとプロジェクタ側ＡＲマーカーパターンの両方をモノクロにする場合には、両者の輝度値の違いを用いて両者の分離を行い、分離した後の２枚１セットの画像を用いてキャリブレーションを行えばよい。
【００３８】
図５に、モノクロパターン同士の投影例を示す。モノクロ画像の場合は、ＲＧＢプレーンがどれも同じ値となるため、パターンの分離をカラー画像のように単純に行うことはできない。そこで、本システム１０では、アダプティブ二値化とグラフカットを用いて、色情報を用いないパターン分離を行う。まず初めに、カメラ側のパターンの分離を行う。撮影に使うモノクロのＡＲマーカーパターンは、輝度値を変えて作成を行なっているため、理想的には図６のような輝度値の分布になる。この分布には偏りがあるため、輝度値を用いて二値化を行えばカメラ側のパターンが分離可能である。
【００３９】
続いて、パターン検出手段２６ａは、分離した画像を用いてＡＲマーカーの検出を行い、各々のＡＲマーカーのＩＤや頂点の座標を取得する。なお、ＡＲマーカーの検出には、周知のＡＲＴｏｏｌＫｉｔ（ＡＲ研究用のソフトウェアライブラリ）等を用いることができる。このＡＲマーカー用のソフトウェアライブラリでは、マーカーが、アフィン変換や、ホモグラフィー変換で変形している場合でも、高精度な検出できるという特徴がある。
【００４０】
ところで、ＡＲマーカーをカメラ１６で撮影するだけであれば、非常に高精度なＡＲマーカー検出が可能であるが、内部キャリブレーションを行う際は平面板１２の角度を変えながら画像の撮影を行うため、しばしばＡＲマーカー検出に失敗することがある。これは、ＡＲマーカーを検出する際に、ＡＲＴｏｏｌＫｉｔの内部では二値化処理を行っているのだが、平面板１２の角度を変えて撮影を行うと画像上で明るさのムラができ、一定の閾値で二値化しようとすると二値化に失敗してしまうことが要因である。
【００４１】
そこで、本システム１０では、ＡＲＴｏｏｌＫｉｔを用いてＡＲマーカー検出を行う前に、画像に対して予め高精度な二値化を行うことで、ＡＲマーカー検出の精度を向上させている。
【００４２】
具体的には、１枚の入力画像の中から平面板１２の領域のみを抽出し、抽出した領域をさらに小さな領域に分割することによってアダプティブな二値化を行う。平面板１２の領域を抽出するために、まず分離した平面板側ＡＲマーカーパターンに対し、マーカー検出を行い、ＡＲマーカーのＩＤを取得する。この時には一定の閾値を使って二値化しているため、二値化に成功した領域でしかＡＲマーカーＩＤを取得することはできない。
【００４３】
次に、取得したＡＲマーカーのＩＤを元に、領域を拡張し、拡張した領域内で再び二値化を行う。二値化を行った領域では、二値化の精度が向上することにより、ＡＲマーカーの検出精度も向上する。これにより、一回目のＡＲマーカー検出よりもＡＲマーカーが多く検出されるため、二回目の領域拡張部分はさらに大きくなる。
【００４４】
具体的な、領域の拡張方法としては、単純に、２値化で成功したＡＲマーカーの周辺に領域を拡張することが考えられる。さらに、パターンにおけるＡＲマーカーの配置は既知であることから、その知識を用いると、ＡＲマーカーが画像上のどこにあるべきかが計算できるため、そのＡＲマーカーが存在するはずの領域へと拡張していくことも考えられる。このようにして拡張した領域では、ＡＲマーカーＩＤも計算できるため、その領域を単に２値化するだけではなく、計算されたＡＲマーカーＩＤとの整合性をチェックすることもできる。チェック方法としては、例えば、マーカー同士の相関を取ったり、マーカー同士の輝度の差（ＳＵＭ  ＯＦ  ＳＱＵＡＲＥＤ  ＤＩＳＴＡＮＣＥ）を用いることができる。
【００４５】
ＡＲマーカーパターン（カラー）の場合、図７に示すように、この領域拡張処理を繰り返し実行することで、最終的には平面板側ＡＲマーカーパターンに含まれる全てのＡＲマーカーを抽出することが可能となる。なお、プロジェクタ側ＡＲマーカーパターンの二値化は、平面板側ＡＲマーカーパターンにおけるＡＲマーカーを検出した際に取得した平面板１２の領域を、そのままプロジェクタ側ＡＲマーカーパターンにも適用することで行うことができる。また、ＡＲマーカーパターン（モノクロ）の場合も、図８に示すように、この領域拡張処理を繰り返し実行することで、最終的には平面板側ＡＲマーカーパターンに含まれる全てのＡＲマーカーを抽出することが可能となる。
【００４６】
分離画像の片方の検出および２値化が完了すると、その結果を用いて、もう片方の２値化の精度を上げることが可能となる。まず、分離前の撮影画像上において、検出および２値化の完了したＡＲマーカーの各座標に対して、そのパターンの輝度値の情報を用いた補正を行う。具体的には、２値化の完了したパターンの明部にあたる部分においては、分離前の画像を暗く、パターンの暗部にあたる部分では明るく変換する。そうすれば、理論的には、もう片方のパターンのみの画像を作成することが可能である。しかしながら、現実には、反射が平面全体で一様でないことや、ガンマカーブが直線でないこと、パターンの境界部分ではエイリアシングの影響でノイズが発生することなどから、もう片方のパターンのみの画像を作成することができない。このため、その画像をそのまま２値化をしても精度の良い２値化に失敗してしまうことが多い。そこで、本発明では、次のような解決方法を行う。
【００４７】
まず、検出および２値化の完了したＡＲマーカーの明部と暗部で分離前の画像にマスクをかけ、それぞれの領域ごとに２値化を行う。こうすることで、輝度の補正による影響を受けずにそれぞれの領域ごとに安定した２値化を完了することができる。ここで、前項で述べたような、領域拡張処理による２値化を行うことができることは言うまでもない。しかし、２値化の完了したＡＲマーカーの、明部と暗部の境界部分は、エイリアシングの影響で、２値化処理が不安定となるため、前記の明部と暗部それぞれで２値化した画像と統合しても、その境界部分にノイズが残る。そこで、境界部分の領域を未定領域とし、その領域を最適化により２値化処理をすると、精度の高い２値化が実現できる。具体的には、境界部分を検出し、その領域をモーフィング処理等で適宜拡大・縮小し、その領域を未定領域としてラベリングし、前記、明部と暗部それぞれで２値化した画像と統合した画像を作成し、これに対して、グラフカットや、Ｂｅｌｉｅｆ  ｐｒｏｐａｇａｔｉｏｎのような、ＭＲＦ（Ｍａｒｋｏｖ  ｒａｎｄｏｍ ｆｉｅｌｄ）最適化を施すと良い。これにより、もう片方のパターンにおいても安定した２値化が可能となる。
【００４８】
図９に、モノクロＡＲマーカーにおける、最初の２値化の結果を用いて、撮影画像をマスクした例（上段）および、そのマスク画像を２値化した例（下段）を示す。安定した２値化が実現できていることが確認できる。さらに、境界部分を未定領域として統合した例を図１０の上段に、これに対してグラフカットを施し２値化した例を図１０の下段に示す。提案手法により高精度に２値化出来ていることが分かる。
【００４９】
＜内部キャリブレーション手段＞
内部キャリブレーション手段２６ｂは、図４のステップＳ１０２において、プロジェクタ１４とカメラ１６の内部パラメータのキャリブレーションを行うことで、次のステップＳ１０３における全体最適化のための初期値の推定を行う。
【００５０】
本システム１０では、カメラ１６の内部キャリブレーションは周知のＺｈａｎｇの手法を用いるが、このＺｈａｎｇ手法ではカメラの内部変数しか求めることができないため、プロジェクタ１４の内部キャリブレーションは、再投影によって行う。
【００５１】
具体的には、プロジェクタ側ＡＲマーカーパターンに対してマーカー検出を行なって取得した２次元座標を、カメラ１４の内部キャリブレーションで推定した内部パラメータを用いて３次元空間中に再投影を行う。３次元空間中に再投影した３次元点と、プロジェクタ側ＡＲマーカーパターンの画像上の２次元点との間の関係により、プロジェクタ１４の内部キャリブレーションを、カメラ１６と同様の方法で行う。
【００５２】
また、３次元点を計算する代わりに、撮影画像をプロジェクタ側から見た画像に変換するためのホモグラフィーを計算し、これにより変換した画像群を用いて、プロジェクタ１４のキャリブレーションをすることもできる。
【００５３】
ここで、プロジェクタ１４の内部キャリブレーションにプロジェクタ側ＡＲマーカーパターンを用いるのは、歪がまったく含まれていない理想的な点との対応関係を用いて内部キャリブレーションを行うことで、高精度化を実現するためである。ここで推定した内部パラメータは、次に説明するバンドル調整による全体最適化において、パラメータの再推定を行うための初期値として用いている。
【００５４】
＜最適化手段＞
最適化手段２６ｃは、図４のステップＳ１０３において、バンドル調整による全体最適化を行うことで、プロジェクタ１４とカメラ１６の内部パラメータと外部パラメータの再推定を行う。
【００５５】
本システム１０では、入力画像として約３０枚の画像の使用を推奨しているため、推定された位置姿勢も各入力画像ごとに６変数ずつ存在していることになる。さらに、平面板１２を動かしながらカメラ１６による撮影を行なっているため、得られた位置姿勢の値は全てが独立しており一定ではない。このため、各入力画像から直接得られた位置姿勢を用いて、カメラ１６とプロジェクタ１４間の位置姿勢を計算したとしても、全画像で首尾一貫した値を得ることはできない。そこで、本システム１０では、バンドル調整により、各オブジェクト間の位置姿勢の最適化を行なう。
【００５６】
具体的には、初期値として推定した平面板１２とカメラ１６間の位置姿勢とカメラ１６とプロジェクタ１４間の位置姿勢を最適化する値として用いることに加え、本システム１０では、カメラ１６とプロジェクタ１４の焦点距離（４変数）も同時に最適化を行う。したがって、撮影した画像の枚数をｎとすると、推定するパラメータ数は「６×ｎ＋６＋４」となり、３０枚の入力画像がある場合には、１９０個（＝６×３０＋６＋４）のパラメータの最適化を行うこととなる。ここで、分離した画像それぞれで独立してパラメータ推定する場合は、それぞれで外部パラメータが６×ｎであり、これが２セットあるため、全部で「２×（６×ｎ）＝１２×ｎ」となり、内部パラメータを４つ加えると「１２×ｎ＋４」であることから、３０枚の場合は３６４個と変数が大幅に増加することに注意されたい。
【００５７】
また、以下の再投影誤差の計算の際に必要となる平面板１２とプロジェクタ１４間の位置姿勢は、平面板１２とカメラ１６間の位置姿勢と、カメラ１６とプロジェクタ１４間の位置姿勢とを合成することにより計算される。カメラ１６とプロジェクタ１４それぞれで画像ごとの再投影誤差を計算し、それを合計したものを最適化におけるコスト関数とする。ここで、画像の枚数をｎ、特徴点の数をｐ、カメラ画像における再投影誤差をＥｃ、プロジェクタ画像における再投影誤差をＥｐと置くと、その値は次のようになる。
【数１】
2014178141.tif 000003
これにより、カメラ１６とプロジェクタ１４間の位置姿勢を入力画像ごとに独立して求めるのではなく、一つの位置姿勢パラメータとして推定することができ、安定性と精度の向上を実現できる。なお、最適化には、周知のＬＭ法（Ｌｅｖｅｎｂｅｒｇ−Ｍａｒｑｕａｒｄ法）を用いる。
【００５８】
＜実験例＞
次に、図１１〜図１６を用いて、本システム１０を用いて行った実験例について説明する。本実験では、以下に説明する＜１．キャリブレーションの精度評価＞、＜２．二値化手法の違いによる比較＞、および、＜３．市松模様とＡＲマーカーパターンの精度の比較＞を行った。
【００５９】
＜１．キャリブレーションの精度評価＞
最初に、本システム１０においてキャリブレーションが正しく行われているかどうかについて評価を行った。この評価では、本システム１０によって推定した内部、外部キャリブレーション結果を用いて、図１１に（ａ）に示すような、各々の辺の交差角度が９０度である直方体形状のボックスの復元を行った。また、正解としてはボックスとグレーコードを用いて行なったキャリブレーション結果を用いた。
【００６０】
図１１（ｂ）にボックスの復元結果の比較を示す。同図（ａ）に示すボックスの角度（真値）が９０．０度であるのに対し、本システム１０によって復元されたボックスの角度は９０．６５度であり、本システム１０によって復元したボックスの角度は、真値に近くなっていることが確認された。
【００６１】
次に、プロジェクタ１４における最適化前と最適化後の再投影誤差（特徴点におけるピクセル残差の平均）を測定した。測定の結果、最適化前の再投影誤差（初期値）は１．２８ピクセルであったのに対し、最適化後の再投影誤差は１．１５ピクセルであり、最適化により再投影誤差が減少していることが確認された。
【００６２】
また、図１２は、ＡＲマーカー検出によって得られた点Ｐ１、初期値を用いて行った再投影の点Ｐ２、最適化後の値を用いて行った再投影の点Ｐ３を、それぞれ抜粋して示した図である。最適化後の値を用いた再投影の結果、再投影誤差が全体に分散していることが確認された。
【００６３】
＜２．二値化手法の違いによる比較＞
次に、本システム１０によるアダプティブ二値化を行った際のキャリブレーション結果と、通常の二値化を行った際のキャリブレーション結果を比較した。実験では、再投影誤差によって両者を比較するとともに、推定したパラメータを用いて、図１１（ａ）に示したボックスの形状復元を行って両者の角度を比較した。
【００６４】
図１３は、アダプティブ二値化と通常の二値化における再投影誤差を比較した図である。実験の結果、アダプティブ二値化を行なった方が、通常の二値化よりも高精度にパラメータ推定を行えることが確認された。また、通常の二値化を用いて復元されたボックスの角度は８８．７３度であったのに対し、アダプティブ二値化を用いて復元されたボックスの角度は９０．６５度であり、実際の復元結果と角度の比較においてもアダプティブ二値化の優位性が確認された。
【００６５】
＜３．市松模様とＡＲマーカーパターンの精度の比較＞
次に、本システム１０の先行技術である、市松模様パターンを使用した時のキャリブレーション結果と、本システム１０のＡＲマーカーパターン（カラーおよびモノクロ）を使用した時のキャリブレーション結果とを比較した。実験では、同じカメラとプロジェクタのセットアップでキャリブレーションを行い、その後、図１１（ａ）に示したボックスを復元することで角度の比較を行なうとともに、再投影誤差の比較も行った。
【００６６】
ここでは、まず初めに入力画像の比較を行った。図１４（ａ）はＡＲマーカーパターン（カラー）使用時の入力画像であり、図１４（ｂ）は市松模様パターン使用時の入力画像である。また、図５はＡＲマーカーパターン（モノクロ）使用時の入力画像である。市松模様使用時では、カメラの中央部分でしか撮影が行われていないが、ＡＲマーカー使用時では、カメラの画角全体を使用できていることが確認された。
【００６７】
また、撮影を行なった画像４０枚のうち、マーカーの検出に成功して実際にキャリブレーションに使用した画像の枚数は、市松模様使用時が２７枚、ＡＲマーカー（カラー）使用時が３７枚であり、ＡＲマーカー（モノクロ）使用時が３９枚であり、ＡＲマーカー使用時の方が、市松模様使用時よりもマーカー検出精度が上がっていることが確認された。
【００６８】
次に、ボックスを用いた形状復元による、ＡＲマーカー（カラー）と市松模様との比較を行った。図１５（ａ）、（ｂ）に、復元結果とその時の角度を示す。実験の結果、ＡＲマーカーを使用したキャリブレーションの方が、市松模様使用時よりも高精度であることが確認された。
【００６９】
また、ＡＲマーカー（モノクロ）による、ボックスを用いた形状復元結果および精度を図１６に示す。高精度に復元できていることが確認できる。
【００７０】
最後に、キャリブレーションに使用する枚数をそれぞれ２７枚で統一した時の精度の比較を行なった。なお、使用枚数である２７枚は、市松模様使用時のマーカー検出に成功した枚数に合わせた。また、精度の比較には、図１１（ａ）に示したボックスの復元による角度の比較と、再投影誤差の比較を行なった。図１５（ｃ）に、比較結果を示す。実験の結果、キャリブレーションに使用する枚数が少ない場合でも、ＡＲマーカー使用時の方が、市松模様使用時よりも高精度にキャリブレーションを行えることが確認された。
【００７１】
以上説明したように、本実施形態に係るキャリブレーションシステム（例えば、キャリブレーションシステム１０）は、所定のパターン（例えば、シアン色のＡＲマーカーパターンｐｔ１）が印刷された平面板（例えば、平面板１２）と、前記平面板に印刷されたパターンに少なくとも一部が重なり合うように、前記所定のパターンと同一または異なるパターン（例えば、黄色のＡＲマーカーパターンｐｔ２）を前記平面板に投影する投影手段（例えば、プロジェクタ１４）と、前記平面板に印刷されたパターンと前記投影手段によって前記平面板上に投影されたパターンとを少なくとも撮影する撮影手段（例えば、カメラ１６）と、前記投影手段と前記撮影手段の制御を行う制御手段（例えば、コンピュータ１８）と、を有して構成されたキャリブレーションシステムであって、前記所定のパターンは、各々異なる識別子を有する複数のマーカー（例えば、ＡＲマーカー）によって構成された局所識別可能パターン（例えば、ＡＲマーカーパターン）で構成され、前記局所識別可能パターンを使用して前記投影手段または前記撮影手段のキャリブレーションを行うことを特徴とするキャリブレーションシステムである。
【００７２】
本実施形態に係るキャリブレーションシステムによれば、局所識別可能パターンを用いることで、各マーカー毎に特徴点（ＩＤ）の検出が可能なため、パターンの全体を撮影する必要がなくなり、キャリブレーションパターン全体が撮影または投影されていない場合でも、一部の撮影画像に基づいてプロジェクタとカメラのキャリブレーションを行うことができる。また、投影手段から投影するパターンが平面板からはみ出していても問題なくキャリブレーションを行うことができるため、平面板を動かせる自由度があがり、キャリブレーション精度を向上させることもできる。また、モノクロカメラでもキャリブレーションをすることができる。
【００７３】
また、前記局所識別可能パターンに含まれる全てのマーカーどうしのハミング距離の最小値を、できるだけ大きくすると良い。
【００７４】
このような構成とすれば、各々のマーカーを識別することが容易となり、マーカーの検出精度を高めることができるため、キャリブレーション精度を、より一層向上させることができる。
【００７５】
また、前記制御手段は、前記局所識別可能パターンのうちの第１の領域（例えば、図７ｂに示す領域）に含まれる１または複数の第１のマーカーを検出し、該第１のマーカーに対して所定の画像処理（例えば、二値化処理）を行う第１の処理と、前記第１のマーカーを含む領域であって前記第１の領域よりも広い第２の領域（例えば、図７ｃに示す領域）に含まれる１または複数の第２のマーカーを検出し、該第２のマーカーおよび前記第１のマーカーに対して前記所定の画像処理と同一の画像処理（例えば、二値化処理）を行う第２の処理と、を少なくとも実行可能であってもよい。
【００７６】
このような構成とすれば、パターンのうちの一部のマーカーを手掛かりに他のマーカーを検出し、当該マーカーに処理を施すことができるため、一部のマーカーだけしか検出できなかった場合でも、芋づる式に他のマーカーの検出や画像処理を行うことができる。
【００７７】
また、前記制御手段は、前記撮影手段から入力された入力画像の輝度値を用いて（例えば、カラー画像における色の違い、モノクロ画像における濃淡の違い）前記平面板に印刷されたパターンと前記投影手段によって前記平面板に投影されたパターンとを識別可能であってもよい。
【００７８】
このような構成とすれば、各々のマーカーの検出精度を高めることができるため、キャリブレーション精度を、より一層向上させることができる。さらに産業用で一般的な白黒カメラに適用することができる。
【００７９】
また、前記制御手段は、前記マーカーの特徴点に基づいて前記投影手段および前記撮影手段の内部パラメータのキャリブレーションを行い、該内部パラメータを用いて再投影誤差を算出し、前記平面板、前記投影手段、および前記撮影手段の内部パラメータおよび外部パラメータをバンドル調整法によって最適化してもよい。
【００８０】
このような構成とすれば、キャリブレーション精度を、より一層向上させることができる。
【００８１】
なお、本発明に係るキャリブレーションシステムの構成は、上記実施形態に係るキャリブレーションシステム１０の構成に限定されるものではなく、例えば、複数のマーカーは各々異なる識別子を有するものであればよく、ＡＲマーカーに限定されるものではない。
【００８２】
また、本発明に係る「所定の画像処理」は二値化処理に限定されず、例えば、パターン候補と投影画像の差を最小化するパターンを選択したり、相関の高いパターンを選択するようにしてもよい。また、平面側ＡＲマーカーパターンとプロジェクタ側ＡＲマーカーパターンを分離する際に、ＭＲＦ最適化（例えば、グラフカットやＢＰなど）による検出を行ってもよい。
【００８３】
また、本発明の実施形態に記載された作用および効果は、本発明から生じる最も好適な作用および効果を列挙したに過ぎず、本発明による作用および効果は、本発明の実施形態に記載されたものに限定されるものではない。また、本発明の実施形態に記載した複数の構成のうち、１つの構成に記載している内容を、他の構成に適用することで、より一層、効果を高めることができる場合がある。
【産業上の利用可能性】
【００８４】
本発明に係るキャリブレーションシステムおよびキャリブレーション方法は、市販の３次元測定装置の追加機能、計測スタジオにおける校正、ワンショットスキャナにおける校正などに適用することができる。
【符号の説明】
【００８５】
１０  キャリブレーションシステム
１２  平面板
１４  プロジェクタ
１６  カメラ
１８  コンピュータ
２０  パターン投影制御手段
２２  パターン画像入力手段
２４  記憶手段
２６  画像処理手段
２６ａ  パターン検出手段
２６ｂ  内部キャリブレーション手段
２６ｃ  最適化手段
２８  表示手段
３０  制御手段
【図１】
2014178141.tif 000004
【図２】
2014178141.tif 000005
【図３】
2014178141.tif 000006
【図４】
2014178141.tif 000007
【図５】
2014178141.tif 000008
【図６】
2014178141.tif 000009
【図７】
2014178141.tif 000010
【図８】
2014178141.tif 000011
【図９】
2014178141.tif 000012
【図１０】
2014178141.tif 000013
【図１１】
2014178141.tif 000014
【図１２】
2014178141.tif 000015
【図１３】
2014178141.tif 000016
【図１４】
2014178141.tif 000017
【図１５】
2014178141.tif 000018
【図１６】
2014178141.tif 000019