(57)【要約】      （修正有）【課題】動的なカメラ較正を提供する。【解決手段】ビデオスクリーン１００に、較正パターンを表示させるステップと、カメラ１０１から、その較正パターンを備えるシーンのビデオストリームを取得するステップと、修正された較正パターンを、取得したビデオストリームに応じて決定し、スクリーンにそれを表示させるステップと、カメラの内部較正パラメータを、取得されたビデオストリームを処理することにより推定するステップと、を備える。【選択図】図２
2018007254.tif 000002
【特許請求の範囲】
【請求項１】
カメラを較正するコンピュータ実装方法であって、
ａ．ビデオスクリーン（１００）に、較正パターン（１０００）を表示させるステップと、
ｂ．前記カメラ（１０１）から、前記ビデオスクリーン上に表示される前記較正パターンを備えるシーンのビデオストリームを取得するステップと、
ｃ．前記較正パターン（１００１、１００２、１００３）を、前記取得されたビデオストリームに応じて修正し、前記スクリーンに、前記修正された較正パターンを表示させるステップと
を備え、
前記ステップａ．からｃ．は、複数回反復され、前記コンピュータ実装方法は、次いで、
ｄ．十分な日付が収集されたとき、前記カメラの内部較正パラメータを、前記取得されたビデオストリームを処理することにより推定するステップ
を備えることを特徴とするコンピュータ実装方法。
【請求項２】
ステップｃ．は、
ｃ１．前記ビデオストリームから、前記カメラと、前記較正パターンを表示する前記ビデオスクリーンとの間の、推定された距離を決定するサブステップと、
ｃ２．前記較正パターンを、前記推定された距離に応じて修正するサブステップと
を備えることを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項３】
前記較正パターンは、少なくとも要素サイズと、空間的周期とにより特徴付けられる、要素の周期的配置を備え、前記要素サイズは、前記空間的周期より小さく、ステップｃ．は、
ｃ３．前記較正パターンを反復して修正して、前記ビデオストリーム内の前記パターンの検出可能性の制約のもとで、前記空間的周期を最小化するステップ
を備えることを特徴とする請求項１または２に記載のコンピュータ実装方法。
【請求項４】
較正パターンは、要素の周期的配置により形成され、少なくとも要素サイズと、空間的周期とにより特徴付けられ、ステップｃ．は、
ｃ−ｉ．前記ビデオストリームから、前記カメラと、前記較正パターンを表示する前記ビデオスクリーンとの間の、推定された距離を決定するサブステップと、次いで、
前記推定された距離が、しきい値より大である場合、
ｃ−ｉｉｉ．前記スクリーン（１００）に、最も大きな要素サイズと、最も大きな空間的周期とにより特徴付けられるパターン（１００２）を表示させるサブステップと、
ｃ−ｉｖ．前記スクリーン（１００）に、減少する要素サイズおよび空間的周期のパターン（１００１）を、それらの１つが検出可能でなくなるまで、連続的に表示させるサブステップと、
前記推定された距離が、しきい値より低い場合、
ｃ−ｖ．前記スクリーン（１００）に、最も小さな要素サイズと、最も小さな空間的周期とにより特徴付けられるパターン（１００１）を表示させるサブステップと、
ｃ−ｖｉ．前記パターンが検出可能であるかどうかをチェックするサブステップと、
ｃ−ｖｉｉ．検出可能でない場合、前記スクリーン（１００）に、増大する要素サイズおよび空間的周期のパターンを、それらの１つが検出可能になるまで、連続的に表示させるサブステップと
を備えることを特徴とする請求項１に記載のコンピュータ実装方法。
【請求項５】
前記カメラと、前記較正パターンを表示する前記ビデオスクリーンとの間の、前記推定された距離は、ビデオシーケンス内の前記較正パターンのエリアを計算し、前記推定された距離を前記エリアから推論することにより決定されることを特徴とする請求項２または４に記載のコンピュータ実装方法。
【請求項６】
前記較正パターンの画像が前記ビデオストリーム内で検出可能であるかどうかを決定し、検出可能でない場合、前記スクリーン（１００）に、較正パターンとは異なり、較正パターンより容易に検出可能な、特定のパターンを表示させるステップをさらに備えることを特徴とする請求項１乃至５のいずれか一項に記載のコンピュータ実装方法。
【請求項７】
前記較正パターンの部分のみが前記ビデオストリーム内で可視であるかどうかを決定し、この場合、前記パターンを、独特の外観を有する複数のパターン要素（２１、２２、２３、２４）を導入することにより修正するステップをさらに備えることを特徴とする請求項１乃至６のいずれか一項に記載のコンピュータ実装方法。
【請求項８】
補助スクリーン（１０２）に、前記取得されたビデオストリームを表示させるステップをさらに備えることを特徴とする請求項１乃至７のいずれか一項に記載のコンピュータ実装方法。
【請求項９】
コンピュータシステム（１０３）に、請求項１乃至８のいずれか一項に記載の方法を実行させるための、コンピュータ実行可能命令を備えるコンピュータ可読データ記憶媒体（Ｍ１、Ｍ２、Ｍ３、Ｍ４）上に記憶されることを特徴とするコンピュータプログラム製品。
【請求項１０】
コンピュータシステム（１０３）に、請求項１乃至８のいずれか一項に記載の方法を実行させるための、コンピュータ実行可能命令を含むことを特徴とするコンピュータ可読データ記憶媒体（Ｍ１、Ｍ２、Ｍ３、Ｍ４）。
【請求項１１】
メモリ（Ｍ１、Ｍ２、Ｍ３、Ｍ４）と、グラフィカルユーザインターフェイス（ＩＦ、ＫＢ、ＰＤ、ＤＣ、１０２）とに結合されるプロセッサ（Ｐ）を備えるコンピュータシステム（１０３）であって、前記メモリは、前記コンピュータシステムに、請求項１乃至８のいずれか一項に記載の方法を実行させるための、コンピュータ実行可能命令を記憶することを特徴とするコンピュータシステム（１０３）。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラを較正するためのコンピュータ実装方法に関する。より正確には、本発明は、デジタルカメラの「内部（intrinsic）」較正に、すなわち、焦点長、主点、および任意選択により、歪みパラメータを含む、その光学応答を決定するパラメータの推定に関する。
【背景技術】
【０００２】
本発明は、例えば、仮想物体を表す、３Ｄコンピュータ生成される画像が、ビデオカメラにより捕捉される画像の上部に重ねられる、拡張現実（ＡＲ）の分野に適用される。仮想画像および実画像を、最も現実的な方法で合体させるために、ビデオカメラの正確な較正が要求される。実際のところＡＲは、仮想３Ｄ物体をレンダリングするために使用される、仮想カメラを規定することを必要とする。この仮想カメラは、背景でレンダリングされる実世界を捕捉するために使用される実カメラと、可能な限り接近してマッチングしなければならない。カメラの製造者により提供されるデータは、普通は、満足がいく結果を与えるには正確さが不充分であり、較正に頼ることを必要とする。
【０００３】
カメラ較正は、全面的に精度に関するものである。良好に較正されたカメラなしでは、レンダリングされる物体は、それらが実際のものであるかのようには見えず、ユーザ体験が台無しにされる。
【０００４】
拡張現実は、特に要求の厳しい用途であるが、正確なカメラ較正を要する唯一のものではない。他の用途は、例えば、３Ｄボリューム再構築を含み、その場合カメラは多くの場合、深度カメラである。
【０００５】
本発明は、１つまたは数個の特定の用途に制限されず、それは、ビデオカメラの正確な較正が要求されるときはいつでも有用であり得る。
【０００６】
カメラ較正を行うために使用される最も普及した技法は、Ｚｈａｎｇのアルゴリズムとして知られており、非特許文献１による論文で説明されている。
【０００７】
この技法を使用してカメラを較正するために、ユーザは、以下のことを行わなければならない。
【０００８】
１．レーザプリンタを使用して、較正パターン（典型的には、黒および白要素の規則的配列）を印刷する、
２．印刷されたパターンを測定して、そのサイズが、プリンタによりスケールを変更されていないということを確実にする、
３．パターンを、堅い厚紙、木の小片、または、さらに良好には、ガラスなどの、堅い表面上に糊着し、パターンが（例えば、紙とパターンとの間に気泡がないことをチェックすることにより）直線的なままであるということを確実にする、
４．パターンをカメラの前部で位置設定し、それをあちこちに動かして、その向きおよび位置を変化させる、
５．パターンの、数個の異なる位置および向き（「ポーズ（pose）」）に対応する画像を捕捉する、ならびに、
６．画像を、上記で参照された論文で詳細に説明されている数学的アルゴリズムによって処理する。
【０００９】
処理ステップは、それ自体だけで、既存のソフトウェアを使用して容易に実行され得るが、以前のステップは扱いにくく、そのことは、全体のプロセスを非実用的にする。
【００１０】
まず始めに、ステップ１、２、および３を適正に行うことは長々しく、ユーザは、全体の較正プロセスの精度を最大化するために、較正パターンの創出の間は非常に注意しなければならない。この困難を克服するために、ＬＣＤ（液晶ディスプレイ）上に表示される較正パターンを使用することが提案されており、例えば非特許文献２を確認されたい。
【００１１】
最も重要なことには、ステップ４および５はしばしば、時間がかかり、苛立たせるものであり、なぜならば、ステップ６を行う較正プログラムは、典型的には、取得される画像の大きな占有分（share）であって、結局はその品質が不充分である大きな占有分を棄却するからである。これは、カメラに関する、パターンの不適切な位置設定に起因し得る。例えば、
−  パターンは、カメラから遠すぎることがあり、その場合その要素は、検出されるには小さすぎることがある。
−  それは、カメラに接近しすぎる、または、視野の縁部の方に運ばれすぎることがあり、その場合それは、全体的には可視でないことがある。さらに、パターンがカメラに非常に接近しているならば、その要素は、不必要に大きく、間隔を隔てられるように見え、パターンを較正の目的とって最適ではないようにする。
−  それはさらには、焦点外れである、したがってぼやけさせられている、または、貧弱な照明に起因して不充分に可視的であることがある。
【００１２】
特許文献１がさらには、パターンの複数の画像での歪みを検出することによりカメラを較正する方法を説明している。
【００１３】
部分的な可視性の問題は、少なくとも一部の要素が、それらの識別を可能とする独特の特徴部を有する、特殊なパターン、例えばいわゆる「ＣｈＡｒＵｃｏ」パターンを使用して解決され得るものであり、非特許文献３を確認されたい。
【００１４】
しかしながら、時間がかかるだけでなく、苛立たせる追加的な画像をとって、破棄されるものを置換することを除けば、パターンの不適切な位置設定に関連付けられる他の不都合に対処するための、既知の方法はない。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】米国特許第８１０６９６８号明細書
【非特許文献】
【００１６】
【非特許文献１】Ｚ．  Ｚｈａｎｇ  “Ａ  Ｆｌｅｘｉｂｌｅ  Ｎｅｗ  Ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  Ｃａｍｅｒａ  Ｃａｌｉｂｒａｔｉｏｎ．”  ＩＥＥＥ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ．  Ｖｏｌ．  ２２，  Ｎｏ．  １１，  ２０００，  ｐｐ．  １３３０−１３３４）
【非特許文献２】Ｚｈａｎ，  Ｚ．  （２００８）．  Ｃａｍｅｒａ  Ｃａｌｉｂｒａｔｉｏｎ  Ｂａｓｅｄ  ｏｎ  Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ  （ＬＣＤ）．  Ｔｈｅ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｒｃｈｉｖｅｓ  ｏｆ  ｔｈｅ  Ｐｈｏｔｏｇｒａｍｍｅｔｒｙ．  Ｒｅｍｏｔｅ  Ｓｅｎｓｉｎｇ  ａｎｄ  Ｓｐａｔｉａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｃｉｅｎｃｅｓ，  ３７
【非特許文献３】ｈｔｔｐ：／／ｄｏｃｓ．ｏｐｅｎｃｖ．ｏｒｇ／３．１．０／ｄａ／ｄ１３／ｔｕｔｏｒｉａｌ＿ａｒｕｃｏ＿ｃａｌｉｂｒａｔｉｏｎ．ｈｔｍｌ＃ｇｓｃ．ｔａｂ＝０
【非特許文献４】Ａ．  Ｄａｔｔａ  ｅｔ  ａｌ．  “Ａｃｃｕｒａｔｅ  Ｃａｍｅｒａ  Ｃａｌｉｂｒａｔｉｏｎ  ｕｓｉｎｇ  Ｉｔｅｒａｔｉｖｅ  Ｒｅｆｉｎｅｍｅｎｔ  ｏｆ  Ｃｏｎｔｒｏｌ  Ｐｏｉｎｔｓ”  ＩＥＥＥ  １２ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  Ｗｏｒｋｓｈｏｐｓ  （ＩＣＣＶ  Ｗｏｒｋｓｈｏｐｓ），  ２００９
【発明の概要】
【００１７】
本発明は、従来技術の、前に述べられた欠点を克服することを目的とする。より詳細には、それは、較正されるカメラの視野内の、較正パターンの不適切な位置設定に起因して破棄される較正画像の占有分を低減することを、さらに好ましくは、各々の有効な較正画像により抽出される有用な情報の量を最大化することを目的とする。
【００１８】
本発明によれば、この狙いは、スクリーン上に表示される、動的な、適応的な較正パターンを使用して較正を行うことにより達成される。「動的な」は、パターンが、紙のシート上に印刷される「静的な」パターンとは異なり、較正プロセスの間に変化することを意味する。「適応的な」は、コンピュータシステムが、較正されるカメラによりとられる較正パターンの画像を分析し、必要ならば、パターンを修正するようにスクリーンを駆動するということを意味する。例えばコンピュータシステムは、スクリーンがカメラから遠すぎると決定し、応答として、パターンを修正して、それを、（例えば、より大きな、および、より広く間隔を隔てられるパターン要素を使用して）より容易に検出されるようにし得る。または反対に、それは、スクリーンがカメラに非常に近いと決定し、較正アルゴリズムに提供される使用可能な情報の量を最大化するように、パターンを、それをより微細に、および、より高密度にすることにより変化させ得る。パターンが部分的に可視であるのみであるならば、一部の要素の外観は、それらが明らかに識別されることを可能とするように変化し得る。適応的なパターンの使用は、破棄されなければならない画像の占有分を低減し、したがって、較正をスピードアップし、プロセスを、ユーザにとって、より長々しくはなく、苛立たせないようにする。
【００１９】
本発明の目的は、次いで、カメラを較正するコンピュータ実装方法であって、
ａ．ビデオスクリーンに、較正パターンを表示させるステップと、
ｂ．カメラから、前記較正パターンを備えるシーンのビデオストリームを取得するステップと、
ｃ．修正された較正パターンを、取得されたビデオストリームに応じて決定し、スクリーンに、それを表示させるステップと
を備え、
前記ステップａ．からｃ．は、複数回反復され、コンピュータ実装方法は、次いで、
ｄ．カメラの内部較正パラメータを、取得されたビデオストリームを処理することにより推定するステップ
を備えるコンピュータ実装方法である。
【００２０】
そのような方法の個別の実施形態によれば、
−  ステップｃ．は、
ｃ１．前記ビデオストリームから、カメラと、較正パターンを表示するビデオスクリーンとの間の、推定された距離を決定するサブステップと、
ｃ２．修正された較正パターンを、前記推定された距離に応じて決定するサブステップと
を備え得る。
−  較正パターンは、少なくとも要素サイズと、空間的周期とにより特徴付けられる、要素の周期的配置を備え得るものであり、前記要素サイズは、前記空間的周期より小さく、ステップｃ．は、
ｃ３．前記較正パターンを反復して修正して、ビデオストリーム内のパターンの検出可能性の制約のもとで、前記空間的周期を最小化するステップ
を備え得る。
−  較正パターンは、要素の周期的配置により形成され、少なくとも要素サイズと、空間的周期とにより特徴付けられ得るものであり、ステップｃ．は、
ｃ−ｉ．前記ビデオストリームから、カメラと、較正パターンを表示するビデオスクリーンとの間の、推定された距離を決定するサブステップと、次いで、
推定された距離が、しきい値より大である場合、
ｃ−ｉｉｉ．スクリーンに、最も大きな要素サイズと、最も大きな空間的周期とにより特徴付けられるパターンを表示するようにさせるサブステップと、
ｃ−ｉｖ．スクリーンに、減少する要素サイズおよび空間的周期のパターンを、それらの１つが検出可能でなくなるまで、連続的に表示させるサブステップと、
推定された距離が、しきい値より低い場合、
ｃ−ｖ．スクリーンに、最も小さな要素サイズと、最も小さな空間的周期とにより特徴付けられるパターンを表示させるサブステップと、
ｃ−ｖｉ．前記パターンが検出可能であるかどうかをチェックするサブステップと、
ｃ−ｖｉｉ．検出可能でない場合、スクリーンに、増大する要素サイズおよび空間的周期のパターンを、それらの１つが検出可能になるまで、連続的に表示させるサブステップと
を備え得る。
−  カメラと、較正パターンを表示するビデオスクリーンとの間の、前記推定された距離は、ビデオシーケンス内の較正パターンのエリアを計算し、推定された距離を前記エリアから推論することにより決定され得る。
−  方法は、較正パターンの画像がビデオストリーム内で検出可能であるかどうかを決定し、検出可能でない場合、スクリーンに、較正パターンとは異なり、較正パターンより容易に検出可能な、特定のパターンを表示させるステップをさらに備え得る。
−  方法は、較正パターンの部分のみがビデオストリーム内で可視であるかどうかを決定し、この場合、前記パターンを、独特の外観を有する複数のパターン要素を導入することにより修正するステップをさらに備え得る。
−  方法は、補助スクリーンに、取得されたビデオストリームを表示させるステップをさらに備え得る。
【００２１】
本発明の別の目的は、コンピュータシステムに、そのような方法を実行させるための、コンピュータ実行可能命令を備えるコンピュータ可読データ記憶媒体上に記憶されるコンピュータプログラム製品である。
【００２２】
本発明の別の目的は、コンピュータシステムに、そのような方法を実行させるための、コンピュータ実行可能命令を含むコンピュータ可読データ記憶媒体である。
【００２３】
本発明のさらに別の目的は、メモリと、グラフィカルユーザインターフェイスとに結合されるプロセッサを備えるコンピュータシステムであって、メモリは、コンピュータシステムに、そのような方法を実行させるための、コンピュータ実行可能命令を記憶するコンピュータシステムである。
【図面の簡単な説明】
【００２４】
本発明の追加的な特徴部および利点は、添付の図面と関連した後続の説明から明らかとなろう。
【図１】従来技術から知られている較正パターンを示す図である。
【図２】本発明の実施形態による方法の実装形態を示す図である。
【図３】較正されるカメラにより取得され、カメラから中間距離での較正パターンを示す画像を示す図である。
【図４Ａ】較正されるカメラにより取得され、カメラに近い較正パターンを、その修正の前に示す画像を示す図である。
【図４Ｂ】較正されるカメラにより取得され、カメラに近い較正パターンを、その修正の後に示す画像を示す図である。
【図５Ａ】較正されるカメラにより取得され、カメラから遠い較正パターンを、その修正の前に示す画像を示す図である。
【図５Ｂ】較正されるカメラにより取得され、カメラから遠い較正パターンを、その修正の後に示す画像を示す図である。
【図６】較正されるカメラにより取得され、部分的に可視であるのみである較正パターンを示す画像を示す図であり、一部のパターン要素は独特に識別される。
【図７】本発明の実施形態による方法を実行するのに適したコンピュータシステムのブロック図である。
【発明を実施するための形態】
【００２５】
図１は、白背景上の黒ディスクの規則的配列により形成される較正パターン１０００を示す。他のパターン、例えば、市松模様または格子が、本発明を実行するために使用され得るが、このものは、それが、最良の精度を最小限の数のポーズによって提供するので、特に有利であることが判明しており、非特許文献４を確認されたい。このパターンは、液晶ディスプレイなどのスクリーン１００により表示される。
【００２６】
図２は、発明的な較正方法を実行するためにプログラムされるコンピュータ１０３に接続される、較正されるカメラ１０１を示す。カメラ１０１は典型的には、標準的なＲＧＢ（赤−緑−青）カメラであるが、それはさらには、例えばＲＧＢ深度カメラであり得る。カメラ１０１は、画像の系列を取得し、それらをデジタルビデオストリームに変換する。次いでコンピュータ１０３は、ビデオストリームをカメラから取得する。
【００２７】
コンピュータ１０３は、カメラにより生成されるビデオフローを表示する、モニタまたは補助スクリーン１０２を伴って提供されるものであり、これは、発明的な方法を実行するために絶対的に必要であるわけではないが、強く好まれる。動的および適応的な較正パターンを表示するために使用されるスクリーン１００は、タブレットコンピュータなどのハンドヘルドデバイス１０４の部分である。ユーザは、このハンドヘルドデバイスを携行し、それを、カメラ１０１の視野の中で、モニタ１０２により提供される視覚フィードバックにより援助されて動かす。コンピュータ１０３は、画像の系列を、カメラ１０１により生成されるビデオストリームから抽出し、それらを較正アルゴリズムに給送する。この抽出は、自動的にコンピュータにより、例えば固定された時間に行われ得るものであり、または、ユーザにより、例えば、コンピュータ１０３に接続されるキーボードのキーを押すことによりトリガされ得る。さらにコンピュータ１０３は、ハンドヘルドデバイス１０４のスクリーン１００によるパターン１０００の表示を制御する。言い換えれば、コンピュータ１０３は「マスタ」として動作し、デバイス１０４は「スレーブ」として動作する。
【００２８】
代替として、較正パターンを表示するスクリーン１００が固定され、カメラが、コンピュータにワイヤレス通信リンクを介して接続されたままでありながら、あちこちに動かされることがある。さらには、スクリーン１００を担持するデバイス１０４がマスタであり、コンピュータ１０３がスレーブであることがあり、または、両方のデバイスが、別のコンピュータにスレーブとして連結されることがある。コンピュータ１０３により直接駆動されるスクリーン１００を使用することも可能である。
【００２９】
本発明の、後に続く説明では、ハンドヘルドスレーブデバイス１０４により担持されるスクリーン１００、および、固定されたカメラ１０１の場合のみが考えられるが、代替的実施形態への一般化は、わかりやすいものである。
【００３０】
図３は、カメラ１０１により取得され、モニタ１０２上に表示され、スレーブデバイス１０４であって、そのスクリーン１００が図１の較正パターン１０００を表示する、スレーブデバイス１０４を保持するユーザを示す、画像を表す。スクリーン１００は、「中間」とみなされ得る距離で保持され、パターンは、完全に可視であり、視野の相当量の分を占め、その要素は明確に区別可能である。画像は、較正アルゴリズムにより使用されるのに適している。どの距離が「中間」とみなされ得るかは、考慮される特定のカメラに依存する。
【００３１】
図４Ａは、スクリーン１００が、カメラのより近くに動かされている同様のシーンを示す。パターン１０００は、完全には可視でなく（その隅部で位置設定される一部の要素は、カメラの視野の外側である）、その要素は、不必要に大きく、広く間隔を隔てられ、そのことは、較正アルゴリズムによる計算時間の浪費を結果として生じさせる。マスタコンピュータ１０３は、この準最適な状況を検出し、応答としてそれは、コマンドをスレーブデバイスに送信して、それを、短いスクリーン−カメラ距離に適応するように較正パターンを修正するようにする。結果が、図４Ｂ上で示されている。修正されたパターン１００１は、より短い空間的周期（すなわち、間隔）を伴う、はるかに大である数の、はるかに小さな要素（ドット）を備える。より小さいにもかかわらず、要素は容易に検出可能なままであり、それらのより大きな数が、追加的な情報を較正アルゴリズムに提供し、パターンの隅部でのそれらの一部の損失を、はるかに、不利益にならないようにする。
【００３２】
パターンがカメラに非常に接近しており、大きな数の要素が視野の外側であるとき、較正アルゴリズムは、その原点（パターンの点であって、それに関して、すべてのその要素の位置が規定される、パターンの点）を識別することができなくなる。画像は次いで、使用不可能である。この場合パターンは、独特の外観と、原点に関する既知の位置とを有する、複数のパターン要素を導入することにより修正され得る。これらの要素が画像上で可視であるならば、それらは、パターン原点の場所を突き止め、したがって、画像を較正に対して使用することを可能とする。図６は、参照番号２１、２２、２３、および２４により識別される、これらの「独自の」要素の３つを備える、修正されたパターン１００３を示す。例ではこれらの要素は、三角形、正方形、五角形、および星形状を有するフレームによりマークを付けられるが、他の代替案が存在する。例えばこれらの要素は、動的な外観、例えば、変化する色もしくはサイズを有し得るものであり、または、それらは明滅し得る。
【００３３】
図５Ａは、スクリーン１００が、カメラから遠く離れて動かされている、反対の状況を示す。パターン１０００の要素は、小さすぎるように、および、互いに接近しすぎているように見え、結果として、パターンは容易には検出されず、取得される画像は、較正に対して使用不可能であり得る。コンピュータ１０３は、この準最適な状況を検出し、応答として、コマンドをスレーブデバイスに送信して、それを、短いスクリーン−カメラ距離に適応するように較正パターンを修正するようにする。結果が、図５Ｂ上で示されている。修正されたパターン１００２は、より長い空間的周期（すなわち、間隔）を伴う、より小さな数の、より大きな要素（ドット）を備える。要素はより大きいので、より容易に検出可能であり、低減された量の情報を提供するとしても、画像を較正に使用可能にする。
【００３４】
本発明の例示的な実施形態による方法は、以下のステップを備える。
−  ユーザは、マスタコンピュータ１０３上で走らされるマスタプログラム、および、スレーブデバイス１０４上で走らされるスレーブプログラムを起動する。マスタプログラムは、カメラ１０１を駆動し、ビデオフローを取得し、画像を抽出し、パターンを従来型の画像処理アルゴリズムを使用して検出し、コマンドをスレーブデバイスに送信して、必要なときに、スクリーン１００上に表示されるパターンを修正する。スレーブデバイスは、これらのコマンドを受信するようにプログラムされ、スクリーン１００を駆動して、要求されるパターンを表示する。各々のコマンドは、表示されるパターンを含む画像ファイル、または、スレーブデバイスのメモリ要素内に記憶されるパターンのセットの中で選定される較正パターンの識別子、または、「テンプレート」パターンを（例えば、ズームインまたはズームアウトすることにより）修正するための命令を備え得る。
−  ハンドシェイクが、マスタとスレーブとの間で、それらの間の通信チャネルを確立するために行われる。この通信は、（マスタからスレーブへの）一方向性、または双方向性、有線またはワイヤレスであり、他のものとともに、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、データオーバサウンド（data over sound）、または、Ｌｉ−Ｆｉとしても知られているデータオーバライト（data over light）を活かすものであり得る。
−  較正パターン１０００が、スレーブデバイスのスクリーン１００上に表示される。
−  カメラ１０１は、パターンを含む画像のフローを取得することを開始する。ビデオフローは、視覚フィードバックをユーザに提供するために、補助スクリーン１０２上に表示される。
−  マスタコンピュータは、パターンの位置を、スクリーン空間座標（画素）で検出する。次いでそれは、検出されたパターンの、二乗された画素での近似的なエリアを計算して、その距離を推定する（カメラ１０１がＲＧＢ深度カメラであるならば、距離測定は直接利用可能であり得る）。推定された距離が、第１のしきい値より低いならば、パターンはカメラの「近く」にあるとみなされ、第１のコマンドがスレーブデバイスに送信され、推定された距離が、第２のしきい値より高いならば、パターンはカメラから「遠い」とみなされ、第２のコマンドがスレーブデバイスに送信され、それ以外の場合、パターンはカメラから「中間」距離とみなされ、第３のコマンドがスレーブデバイスに送信される。
−  スレーブデバイスが、そのスクリーン１００がカメラに近いことを指示する第１のコマンドを受信するならば、それは、そのスクリーンに、最も微細な可能なパターン、すなわち、最も小さな特徴部と、最も小さな空間的周期とを伴うものを表示させる。マスタコンピュータ１０３上で走るマスタプログラムは、ビデオストリームを分析して、パターンが検出可能であるかどうかを決定し、検出可能でないならば、それは、より粗いパターン、すなわち、より大きな特徴部と空間的周期とを伴うものが表示されなければならないことを指示するコマンドを、スレーブに送信する。言い換えると、スレーブデバイスは、より粗いパターンを、マスタコンピュータがそれらの１つを検出することができるまで、連続的に示す。最後のパターンの画像が、次いで、較正のために保存される。言い換えると、パターン適応は、反復して実行される。
−  逆に、スレーブデバイスが、そのスクリーン１００がカメラから遠いことを指示する第２のコマンドを受信するならば、それは、そのスクリーンに、最も粗い可能なパターン、すなわち、最も大きな特徴部と、最も大きな空間的周期とを伴うものを表示させる。マスタコンピュータ１０３上で走るマスタプログラムは、ビデオストリームを分析して、パターンが検出可能であるかどうかを決定し、イエスならば、それは、より微細なパターン、すなわち、より小さな特徴部と空間的周期とを伴うものが表示されてよいことを指示するコマンドを、スレーブに送信する。言い換えると、スレーブデバイスは、より微細なパターンを、マスタデバイスがそれらの１つを検出することに失敗するまで、連続的に示す。最後の正しく検出されたパターンの画像が、次いで、較正のために保存される。以前に考えられた場合のように、パターン適応は、反復して実行される。
−  スレーブデバイスが、第３のコマンドを受信するならば、パターンは変化されない。
−  さらにマスタコンピュータは、ビデオストリームを分析することにより、パターンは、その原点が決定され得ないという程度に、完全には可視でないと決定し得る。この場合それは、特定のコマンドをスレーブデバイスに送信し、そのスレーブデバイスは、パターンの一部の要素の外観を、図６への参照で、上記で解説されたように修正する。
−  較正に適した較正パターンの画像が取得された各々の時間、ユーザは、例えば、補助スクリーン、または、スレーブデバイスの振動によって通知される。次いでユーザは、較正パターンを表示するスクリーン１００の位置を変化させる。
−  十分なデータが収集されたとき（すなわち、収集されたデータの量が、あらかじめ決定された精度レベルを伴う較正を行うのに十分であるとき）、マスタコンピュータは、カメラ較正パラメータを、例えばＺｈａｎｇのアルゴリズムを使用して計算する。有利にはレンズ歪みが、全体的な画像空間を満たすのに十分にパターンがカメラに接近しているときに、画像を捕らえることにより、別々に推定され得る。パターンは次いで、それが、可能な限り規則的に見えるように、補助スクリーンの軸と位置合わせされるように調整され得る。
【００３５】
マスタコンピュータは、パターンをビデオストリーム内で、例えばそれが、カメラに対して遠すぎる、もしくは接近しすぎる、または、単純にカメラ視界から外れているので、検出することができないということが起こり得る。検出をより容易にするために、後に続くように続行することが可能である。
−  パターンが見出されないならば、マスタコンピュータは、コマンドをスレーブに送信して、パターンを修正する。
−  パターンは次いで、「高検出可能性モード」に変化する。
−  パターンがそれでもなお、このモードで検出されないならば、ユーザは、パターンを、それが、検出される状態になるまで、低速で動かすことを開始するように勧められる。
【００３６】
「高検出可能性」パターンは、単純に、較正プログラムによる検出を容易にするために、全体のスクリーンを白に変えること、もしくは、黒と白との間で明滅させること（２つの連続的なフレームの間の単純な差）、または、例えば、明滅する、もしくはしない、スクリーンの隅部での３つの正方形を備える、単純な幾何学的パターンにあり得る。
【００３７】
個別の実施形態では、スレーブデバイス１０４は、デバイスの向きの測定を可能とする、ジャイロスコープ、加速度計、磁気コンパスなどのセンサを伴って提供され得る。測定結果は、パターンの位置のみが、計算されることを必要とすることになるように、較正の精度を改善するために、マスタコンピュータに通信され得る。
【００３８】
スレーブデバイスは、それ自体のカメラを有し得るものであり、それがすでに較正されているならば、画像処理（例えば、拡張現実マーカの追跡）を使用して、較正データを、その位置および向きによって質的に向上させ得る。
【００３９】
度々カメラは、全体的な較正プロセスの間、変化されないままであることを要求される（自動焦点なし、自動的な明るさ調整なし）。マスタコンピュータは次いで、スレーブデバイスに、パターンを、現在の照明条件に適応するように、より明るく、またはより暗くし、その検出を容易にするためのコマンドを送信し得る。
【００４０】
上記で述べられているように、同じコンピュータが、「マスタ」および「スレーブ」の両方としてサービングすることがあり、その場合、スクリーン１００および１０２、ならびにカメラ１０１は単純に、このコンピュータの周辺デバイスである。そのような手法の利点は、ハンドシェイキングが必要でないということである。
【００４１】
本発明の例示的な実施形態による方法を実行するのに適したマスタコンピュータ１０３の内部的な構造が、図７への参照によって説明される。図７ではコンピュータ１０３は、上記で説明されたプロセスを行う中央処理装置（ＣＰＵ）Ｐを含む。プロセスは、実行可能プログラム、すなわち、コンピュータ可読命令のセットとして、ＲＡＭ  Ｍ１もしくはＲＯＭ  Ｍ２などのメモリ内に、もしくは、ハードディスク駆動装置（ＨＤＤ）Ｍ３、ＤＶＤ／ＣＤ駆動装置Ｍ４上に記憶され得るものであり、または、遠隔で記憶され得る。複数の較正パターン（図１〜６上の１０００、１００１、１００２、１００３）、または、単一の「マスタ」パターンであって、それから、例えば異なる空間的分解能の、異なる較正パターンが獲得され得る、単一の「マスタ」パターンを規定するデータは、メモリデバイスＭ１からＭ４の１つまたは複数上に、または遠隔で記憶される。
【００４２】
請求項に記載の発明は、コンピュータ可読命令、および／または、較正パターンが記憶される、コンピュータ可読媒体の形式により制限されない。例えば、それらは、ＣＤ、ＤＶＤ上に、ＦＬＡＳＨメモリ、ＲＡＭ、ＲＯＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ハードディスク、または、サーバもしくはコンピュータなどの、コンピュータ支援設計ステーションが通信する任意の他の情報処理デバイス内に記憶され得る。プログラム、および較正パターンは、同じメモリデバイス上に、または、異なるメモリデバイス上に記憶され得る。
【００４３】
さらに、発明的な方法を実行するのに適したコンピュータプログラムは、ＣＰＵ８００、および、Ｍｉｃｒｏｓｏｆｔ  ＶＩＳＴＡ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）７、ＵＮＩＸ（登録商標）、Ｓｏｌａｒｉｓ、ＬＩＮＵＸ（登録商標）、Ａｐｐｌｅ  ＭＡＣ−ＯＳなどのオペレーティングシステム、および、当業者に知られている他のシステムと関連して実行する、ユーティリティアプリケーション、バックグラウンドデーモン、または、オペレーティングシステムのコンポーネント、または、それらの組合せとして提供され得る。
【００４４】
ＣＰＵ  Ｐは、アメリカのＩｎｔｅｌのＸｅｎｏｎプロセッサ、もしくは、アメリカのＡＭＤのＯｐｔｅｒｏｎプロセッサであり得るものであり、または、アメリカのＦｒｅｅｓｃａｌｅ  ＣｏｒｐｏｒａｔｉｏｎのＦｒｅｅｓｃａｌｅ  ＣｏｌｄＦｉｒｅ、ＩＭＸ、もしくはＡＲＭプロセッサなどの、他のプロセッサタイプであり得る。代替としてＣＰＵは、アメリカのＩｎｔｅｌ  ＣｏｒｐｏｒａｔｉｏｎのＣｏｒｅ２  Ｄｕｏなどのプロセッサであり得るものであり、または、当業者が認識することになるように、ＦＰＧＡ、ＡＳＩＣ、ＰＬＤ上で、もしくは、ディスクリート論理回路を使用して実装され得る。さらにＣＰＵは、上記で説明された発明的なプロセスのコンピュータ可読命令を行うために協働的に作動する、複数個のプロセッサとして実装され得る。
【００４５】
図７でのコンピュータ支援設計ステーションはさらには、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、インターネット、および同様のものなどのネットワークとインターフェイス接続するための、アメリカのＩｎｔｅｌ  ＣｏｒｐｏｒａｔｉｏｎのＩｎｔｅｌ  Ｅｔｈｅｒｎｅｔ  ＰＲＯネットワークインターフェイスカードなどの、ネットワークインターフェイスＮＩを含む。ここで考えられる特定の実施形態では、較正パターンを表示するために使用されるスクリーン１００との通信は、ネットワークを介して行われる。
【００４６】
コンピュータ支援設計ステーションは、Ｈｅｗｌｅｔｔ  Ｐａｃｋａｒｄ  ＨＰＬ２４４５ｗ  ＬＣＤモニタなどの、補助スクリーンまたはディスプレイ１０２とインターフェイス接続するための、アメリカのＮＶＩＤＩＡ  ＣｏｒｐｏｒａｔｉｏｎのＮＶＩＤＩＡ  ＧｅＦｏｒｃｅ  ＧＴＸグラフィックスアダプタなどの、ディスプレイコントローラＤＣをさらに含む。汎用入出力インターフェイスＩＦは、キーボードＫＢ、ならびに、ローラボール、マウス、タッチパッド、および同様のものなどのポインティングデバイスＰＤとインターフェイス接続する。ディスプレイ、キーボード、およびポインティングデバイスは、ディスプレイコントローラおよび入出力インターフェイスとともに、グラフィカルユーザインターフェイスを形成する。すべてのこれらのコンポーネントは、ＩＳＡ、ＥＩＳＡ、ＶＥＳＡ、ＰＣＩ、または同様のものであり得る通信バスＣＢＳを介して、互いに接続される。さらに、較正されるカメラＣＡＭがさらには、ビデオストリームをＣＰＵ  Ｐに提供するために、バスＣＢＳに接続され、そのＣＰＵ  Ｐは、上記で解説されたようにそれを処理する。
【００４７】
ディスプレイ、キーボード、ポインティングデバイス、ならびに、ディスプレイコントローラ、ディスクコントローラ、ネットワークインターフェイス、および入出力インターフェイスの、一般的な特徴部および機能性の説明は、これらの特徴部は知られているので、本明細書では簡潔さのために省略されている。
【図１】
2018007254.tif 000003
【図２】
2018007254.tif 000004
【図３】
2018007254.tif 000005
【図４Ａ】
2018007254.tif 000006
【図４Ｂ】
2018007254.tif 000007
【図５Ａ】
2018007254.tif 000008
【図５Ｂ】
2018007254.tif 000009
【図６】
2018007254.tif 000010
【図７】
2018007254.tif 000011