(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-08
(45)【発行日】2023-06-16
(54)【発明の名称】動的なカメラ較正
(51)【国際特許分類】
H04N 23/60 20230101AFI20230609BHJP
G06T 7/80 20170101ALI20230609BHJP
H04N 23/63 20230101ALI20230609BHJP
【FI】
H04N23/60 100
G06T7/80
H04N23/63 300
(21)【出願番号】P 2017126753
(22)【出願日】2017-06-28
【審査請求日】2020-06-15
(32)【優先日】2016-06-28
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】フィヴォス ドガニス
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開2015-201707(JP,A)
【文献】特開2008-046687(JP,A)
【文献】特開2004-340753(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 23/60
G06T 7/80
H04N 23/63
(57)【特許請求の範囲】
【請求項1】
カメラを較正するコンピュータ実装方法であって、
a.ビデオスクリーン(100)に、較正パターン(1000)を表示させるステップと、
b.前記カメラ(101)から、前記ビデオスクリーン上に表示される前記較正パターンを備えるシーンのビデオストリームを取得するステップと、
c.前記較正パターン(1001、1002、1003)を、前記取得されたビデオストリームに応じて修正し、前記
ビデオスクリーンに、前記修正された較正パターンを表示させるステップと
を備え、
前記ステップa.からc.は、複数回反復され、前記コンピュータ実装方法は、次いで、
d.十分なデータが収集されたとき、前記カメラの内部較正パラメータを、前記取得されたビデオストリームを処理することにより推定するステップ
を備え
、
ステップc.は、
c1.前記ビデオストリームから、前記カメラと、前記較正パターンを表示する前記ビデオスクリーンとの間の、推定された距離を決定するサブステップと、
c2.前記較正パターンを、前記推定された距離に応じて修正するサブステップと
を備えることを特徴とするコンピュータ実装方法。
【請求項2】
前記較正パターンは、少なくとも要素サイズと、空間的周期とにより特徴付けられる、要素の周期的配置を備え、前記要素サイズは、前記空間的周期より小さく、ステップc.は、
c3.前記較正パターンを反復して修正して、前記ビデオストリーム内の前記
較正パターンの検出可能性の制約のもとで、前記空間的周期を最小化するステップ
を備えることを特徴とする請求項
1に記載のコンピュータ実装方法。
【請求項3】
較正パターンは、要素の周期的配置により形成され、少なくとも要素サイズと、空間的周期とにより特徴付けられ、ステップc
2.は、
前記推定された距離が、しきい値より大である場合、
c-iii.前記
ビデオスクリーン(100)に、最も大きな要素サイズと、最も大きな空間的周期とにより特徴付けられるパターン(1002)を表示させるサブステップと、
c-iv.前記
ビデオスクリーン(100)に、減少する要素サイズおよび空間的周期のパターン(1001)を、それらの1つが検出可能でなくなるまで、連続的に表示させるサブステップと、
前記推定された距離が、しきい値より低い場合、
c-v.前記
ビデオスクリーン(100)に、最も小さな要素サイズと、最も小さな空間的周期とにより特徴付けられるパターン(1001)を表示させるサブステップと、
c-vi.前記
較正パターンが検出可能であるかどうかをチェックするサブステップと、
c-vii.検出可能でない場合、前記
ビデオスクリーン(100)に、増大する要素サイズおよび空間的周期のパターンを、それらの1つが検出可能になるまで、連続的に表示させるサブステップと
を備えることを特徴とする請求項1に記載のコンピュータ実装方法。
【請求項4】
前記カメラと、前記較正パターンを表示する前記ビデオスクリーンとの間の、前記推定された距離は、ビデオストリーム内の前記較正パターンのエリアを計算し、前記推定された距離を前記エリアから推論することにより決定されることを特徴とする請求項
1または
3に記載のコンピュータ実装方法。
【請求項5】
前記較正パターンの画像が前記ビデオストリーム内で検出可能であるかどうかを決定し、検出可能でない場合、前記
ビデオスクリーン(100)に、較正パターンとは異なり、較正パターンより容易に検出可能な、特定のパターンを表示させるステップをさらに備えることを特徴とする請求項1乃至
4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
前記較正パターンの部分のみが前記ビデオストリーム内で可視であるかどうかを決定し、この場合、前記
較正パターンを、独特の外観を有する複数のパターン要素(21、22、23、24)を導入することにより修正するステップをさらに備えることを特徴とする請求項1乃至
5のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
補助スクリーン(102)に、前記取得されたビデオストリームを表示させるステップをさらに備えることを特徴とする請求項1乃至
6のいずれか一項に記載のコンピュータ実装方法。
【請求項8】
コンピュータシステム(103)に、請求項1乃至
7のいずれか一項に記載の方法を実行させるための、コンピュータ実行可能命令を備えることを特徴とするコンピュータプログラム。
【請求項9】
コンピュータシステム(103)に、請求項1乃至
7のいずれか一項に記載の方法を実行させるための、コンピュータ実行可能命令を含むことを特徴とするコンピュータ可読データ記憶媒体(M1、M2、M3、M4)。
【請求項10】
メモリ(M1、M2、M3、M4)と、グラフィカルユーザインターフェイス(IF、KB、PD、DC、102)とに結合されるプロセッサ(P)を備えるコンピュータシステム(103)であって、前記メモリは、前記コンピュータシステムに、請求項1乃至
7のいずれか一項に記載の方法を実行させるための、コンピュータ実行可能命令を記憶することを特徴とするコンピュータシステム(103)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、カメラを較正するためのコンピュータ実装方法に関する。より正確には、本発明は、デジタルカメラの「内部(intrinsic)」較正に、すなわち、焦点長、主点、および任意選択により、歪みパラメータを含む、その光学応答を決定するパラメータの推定に関する。
【背景技術】
【0002】
本発明は、例えば、仮想物体を表す、3Dコンピュータ生成される画像が、ビデオカメラにより捕捉される画像の上部に重ねられる、拡張現実(AR)の分野に適用される。仮想画像および実画像を、最も現実的な方法で合体させるために、ビデオカメラの正確な較正が要求される。実際のところARは、仮想3D物体をレンダリングするために使用される、仮想カメラを規定することを必要とする。この仮想カメラは、背景でレンダリングされる実世界を捕捉するために使用される実カメラと、可能な限り接近してマッチングしなければならない。カメラの製造者により提供されるデータは、普通は、満足がいく結果を与えるには正確さが不充分であり、較正に頼ることを必要とする。
【0003】
カメラ較正は、全面的に精度に関するものである。良好に較正されたカメラなしでは、レンダリングされる物体は、それらが実際のものであるかのようには見えず、ユーザ体験が台無しにされる。
【0004】
拡張現実は、特に要求の厳しい用途であるが、正確なカメラ較正を要する唯一のものではない。他の用途は、例えば、3Dボリューム再構築を含み、その場合カメラは多くの場合、深度カメラである。
【0005】
本発明は、1つまたは数個の特定の用途に制限されず、それは、ビデオカメラの正確な較正が要求されるときはいつでも有用であり得る。
【0006】
カメラ較正を行うために使用される最も普及した技法は、Zhangのアルゴリズムとして知られており、非特許文献1による論文で説明されている。
【0007】
この技法を使用してカメラを較正するために、ユーザは、以下のことを行わなければならない。
【0008】
1.レーザプリンタを使用して、較正パターン(典型的には、黒および白要素の規則的配列)を印刷する、
2.印刷されたパターンを測定して、そのサイズが、プリンタによりスケールを変更されていないということを確実にする、
3.パターンを、堅い厚紙、木の小片、または、さらに良好には、ガラスなどの、堅い表面上に糊着し、パターンが(例えば、紙とパターンとの間に気泡がないことをチェックすることにより)直線的なままであるということを確実にする、
4.パターンをカメラの前部で位置設定し、それをあちこちに動かして、その向きおよび位置を変化させる、
5.パターンの、数個の異なる位置および向き(「ポーズ(pose)」)に対応する画像を捕捉する、ならびに、
6.画像を、上記で参照された論文で詳細に説明されている数学的アルゴリズムによって処理する。
【0009】
処理ステップは、それ自体だけで、既存のソフトウェアを使用して容易に実行され得るが、以前のステップは扱いにくく、そのことは、全体のプロセスを非実用的にする。
【0010】
まず始めに、ステップ1、2、および3を適正に行うことは長々しく、ユーザは、全体の較正プロセスの精度を最大化するために、較正パターンの創出の間は非常に注意しなければならない。この困難を克服するために、LCD(液晶ディスプレイ)上に表示される較正パターンを使用することが提案されており、例えば非特許文献2を確認されたい。
【0011】
最も重要なことには、ステップ4および5はしばしば、時間がかかり、苛立たせるものであり、なぜならば、ステップ6を行う較正プログラムは、典型的には、取得される画像の大きな占有分(share)であって、結局はその品質が不充分である大きな占有分を棄却するからである。これは、カメラに関する、パターンの不適切な位置設定に起因し得る。例えば、
- パターンは、カメラから遠すぎることがあり、その場合その要素は、検出されるには小さすぎることがある。
- それは、カメラに接近しすぎる、または、視野の縁部の方に運ばれすぎることがあり、その場合それは、全体的には可視でないことがある。さらに、パターンがカメラに非常に接近しているならば、その要素は、不必要に大きく、間隔を隔てられるように見え、パターンを較正の目的とって最適ではないようにする。
- それはさらには、焦点外れである、したがってぼやけさせられている、または、貧弱な照明に起因して不充分に可視的であることがある。
【0012】
特許文献1がさらには、パターンの複数の画像での歪みを検出することによりカメラを較正する方法を説明している。
【0013】
部分的な可視性の問題は、少なくとも一部の要素が、それらの識別を可能とする独特の特徴部を有する、特殊なパターン、例えばいわゆる「ChArUco」パターンを使用して解決され得るものであり、非特許文献3を確認されたい。
【0014】
しかしながら、時間がかかるだけでなく、苛立たせる追加的な画像をとって、破棄されるものを置換することを除けば、パターンの不適切な位置設定に関連付けられる他の不都合に対処するための、既知の方法はない。
【先行技術文献】
【特許文献】
【0015】
【非特許文献】
【0016】
【文献】Z. Zhang “A Flexible New Technique for Camera Calibration.” IEEE Transactions on Pattern Analysis and Machine Intelligence. Vol. 22, No. 11, 2000, pp. 1330-1334)
【文献】Zhan, Z. (2008). Camera Calibration Based on Liquid Crystal Display (LCD). The International Archives of the Photogrammetry. Remote Sensing and Spatial Information Sciences, 37
【文献】http://docs.opencv.org/3.1.0/da/d13/tutorial_aruco_calibration.html#gsc.tab=0
【文献】A. Datta et al. “Accurate Camera Calibration using Iterative Refinement of Control Points” IEEE 12th International Conference on Computer Vision Workshops (ICCV Workshops), 2009
【発明の概要】
【0017】
本発明は、従来技術の、前に述べられた欠点を克服することを目的とする。より詳細には、それは、較正されるカメラの視野内の、較正パターンの不適切な位置設定に起因して破棄される較正画像の占有分を低減することを、さらに好ましくは、各々の有効な較正画像により抽出される有用な情報の量を最大化することを目的とする。
【0018】
本発明によれば、この狙いは、スクリーン上に表示される、動的な、適応的な較正パターンを使用して較正を行うことにより達成される。「動的な」は、パターンが、紙のシート上に印刷される「静的な」パターンとは異なり、較正プロセスの間に変化することを意味する。「適応的な」は、コンピュータシステムが、較正されるカメラによりとられる較正パターンの画像を分析し、必要ならば、パターンを修正するようにスクリーンを駆動するということを意味する。例えばコンピュータシステムは、スクリーンがカメラから遠すぎると決定し、応答として、パターンを修正して、それを、(例えば、より大きな、および、より広く間隔を隔てられるパターン要素を使用して)より容易に検出されるようにし得る。または反対に、それは、スクリーンがカメラに非常に近いと決定し、較正アルゴリズムに提供される使用可能な情報の量を最大化するように、パターンを、それをより微細に、および、より高密度にすることにより変化させ得る。パターンが部分的に可視であるのみであるならば、一部の要素の外観は、それらが明らかに識別されることを可能とするように変化し得る。適応的なパターンの使用は、破棄されなければならない画像の占有分を低減し、したがって、較正をスピードアップし、プロセスを、ユーザにとって、より長々しくはなく、苛立たせないようにする。
【0019】
本発明の目的は、次いで、カメラを較正するコンピュータ実装方法であって、
a.ビデオスクリーンに、較正パターンを表示させるステップと、
b.カメラから、前記較正パターンを備えるシーンのビデオストリームを取得するステップと、
c.修正された較正パターンを、取得されたビデオストリームに応じて決定し、スクリーンに、それを表示させるステップと
を備え、
前記ステップa.からc.は、複数回反復され、コンピュータ実装方法は、次いで、
d.カメラの内部較正パラメータを、取得されたビデオストリームを処理することにより推定するステップ
を備えるコンピュータ実装方法である。
【0020】
そのような方法の個別の実施形態によれば、
- ステップc.は、
c1.前記ビデオストリームから、カメラと、較正パターンを表示するビデオスクリーンとの間の、推定された距離を決定するサブステップと、
c2.修正された較正パターンを、前記推定された距離に応じて決定するサブステップと
を備え得る。
- 較正パターンは、少なくとも要素サイズと、空間的周期とにより特徴付けられる、要素の周期的配置を備え得るものであり、前記要素サイズは、前記空間的周期より小さく、ステップc.は、
c3.前記較正パターンを反復して修正して、ビデオストリーム内のパターンの検出可能性の制約のもとで、前記空間的周期を最小化するステップ
を備え得る。
- 較正パターンは、要素の周期的配置により形成され、少なくとも要素サイズと、空間的周期とにより特徴付けられ得るものであり、ステップc.は、
c-i.前記ビデオストリームから、カメラと、較正パターンを表示するビデオスクリーンとの間の、推定された距離を決定するサブステップと、次いで、
推定された距離が、しきい値より大である場合、
c-iii.スクリーンに、最も大きな要素サイズと、最も大きな空間的周期とにより特徴付けられるパターンを表示するようにさせるサブステップと、
c-iv.スクリーンに、減少する要素サイズおよび空間的周期のパターンを、それらの1つが検出可能でなくなるまで、連続的に表示させるサブステップと、
推定された距離が、しきい値より低い場合、
c-v.スクリーンに、最も小さな要素サイズと、最も小さな空間的周期とにより特徴付けられるパターンを表示させるサブステップと、
c-vi.前記パターンが検出可能であるかどうかをチェックするサブステップと、
c-vii.検出可能でない場合、スクリーンに、増大する要素サイズおよび空間的周期のパターンを、それらの1つが検出可能になるまで、連続的に表示させるサブステップと
を備え得る。
- カメラと、較正パターンを表示するビデオスクリーンとの間の、前記推定された距離は、ビデオシーケンス内の較正パターンのエリアを計算し、推定された距離を前記エリアから推論することにより決定され得る。
- 方法は、較正パターンの画像がビデオストリーム内で検出可能であるかどうかを決定し、検出可能でない場合、スクリーンに、較正パターンとは異なり、較正パターンより容易に検出可能な、特定のパターンを表示させるステップをさらに備え得る。
- 方法は、較正パターンの部分のみがビデオストリーム内で可視であるかどうかを決定し、この場合、前記パターンを、独特の外観を有する複数のパターン要素を導入することにより修正するステップをさらに備え得る。
- 方法は、補助スクリーンに、取得されたビデオストリームを表示させるステップをさらに備え得る。
【0021】
本発明の別の目的は、コンピュータシステムに、そのような方法を実行させるための、コンピュータ実行可能命令を備えるコンピュータ可読データ記憶媒体上に記憶されるコンピュータプログラム製品である。
【0022】
本発明の別の目的は、コンピュータシステムに、そのような方法を実行させるための、コンピュータ実行可能命令を含むコンピュータ可読データ記憶媒体である。
【0023】
本発明のさらに別の目的は、メモリと、グラフィカルユーザインターフェイスとに結合されるプロセッサを備えるコンピュータシステムであって、メモリは、コンピュータシステムに、そのような方法を実行させるための、コンピュータ実行可能命令を記憶するコンピュータシステムである。
【図面の簡単な説明】
【0024】
本発明の追加的な特徴部および利点は、添付の図面と関連した後続の説明から明らかとなろう。
【
図1】従来技術から知られている較正パターンを示す図である。
【
図2】本発明の実施形態による方法の実装形態を示す図である。
【
図3】較正されるカメラにより取得され、カメラから中間距離での較正パターンを示す画像を示す図である。
【
図4A】較正されるカメラにより取得され、カメラに近い較正パターンを、その修正の前に示す画像を示す図である。
【
図4B】較正されるカメラにより取得され、カメラに近い較正パターンを、その修正の後に示す画像を示す図である。
【
図5A】較正されるカメラにより取得され、カメラから遠い較正パターンを、その修正の前に示す画像を示す図である。
【
図5B】較正されるカメラにより取得され、カメラから遠い較正パターンを、その修正の後に示す画像を示す図である。
【
図6】較正されるカメラにより取得され、部分的に可視であるのみである較正パターンを示す画像を示す図であり、一部のパターン要素は独特に識別される。
【
図7】本発明の実施形態による方法を実行するのに適したコンピュータシステムのブロック図である。
【発明を実施するための形態】
【0025】
図1は、白背景上の黒ディスクの規則的配列により形成される較正パターン1000を示す。他のパターン、例えば、市松模様または格子が、本発明を実行するために使用され得るが、このものは、それが、最良の精度を最小限の数のポーズによって提供するので、特に有利であることが判明しており、非特許文献4を確認されたい。このパターンは、液晶ディスプレイなどのスクリーン100により表示される。
【0026】
図2は、発明的な較正方法を実行するためにプログラムされるコンピュータ103に接続される、較正されるカメラ101を示す。カメラ101は典型的には、標準的なRGB(赤-緑-青)カメラであるが、それはさらには、例えばRGB深度カメラであり得る。カメラ101は、画像の系列を取得し、それらをデジタルビデオストリームに変換する。次いでコンピュータ103は、ビデオストリームをカメラから取得する。
【0027】
コンピュータ103は、カメラにより生成されるビデオフローを表示する、モニタまたは補助スクリーン102を伴って提供されるものであり、これは、発明的な方法を実行するために絶対的に必要であるわけではないが、強く好まれる。動的および適応的な較正パターンを表示するために使用されるスクリーン100は、タブレットコンピュータなどのハンドヘルドデバイス104の部分である。ユーザは、このハンドヘルドデバイスを携行し、それを、カメラ101の視野の中で、モニタ102により提供される視覚フィードバックにより援助されて動かす。コンピュータ103は、画像の系列を、カメラ101により生成されるビデオストリームから抽出し、それらを較正アルゴリズムに給送する。この抽出は、自動的にコンピュータにより、例えば固定された時間に行われ得るものであり、または、ユーザにより、例えば、コンピュータ103に接続されるキーボードのキーを押すことによりトリガされ得る。さらにコンピュータ103は、ハンドヘルドデバイス104のスクリーン100によるパターン1000の表示を制御する。言い換えれば、コンピュータ103は「マスタ」として動作し、デバイス104は「スレーブ」として動作する。
【0028】
代替として、較正パターンを表示するスクリーン100が固定され、カメラが、コンピュータにワイヤレス通信リンクを介して接続されたままでありながら、あちこちに動かされることがある。さらには、スクリーン100を担持するデバイス104がマスタであり、コンピュータ103がスレーブであることがあり、または、両方のデバイスが、別のコンピュータにスレーブとして連結されることがある。コンピュータ103により直接駆動されるスクリーン100を使用することも可能である。
【0029】
本発明の、後に続く説明では、ハンドヘルドスレーブデバイス104により担持されるスクリーン100、および、固定されたカメラ101の場合のみが考えられるが、代替的実施形態への一般化は、わかりやすいものである。
【0030】
図3は、カメラ101により取得され、モニタ102上に表示され、スレーブデバイス104であって、そのスクリーン100が
図1の較正パターン1000を表示する、スレーブデバイス104を保持するユーザを示す、画像を表す。スクリーン100は、「中間」とみなされ得る距離で保持され、パターンは、完全に可視であり、視野の相当量の分を占め、その要素は明確に区別可能である。画像は、較正アルゴリズムにより使用されるのに適している。どの距離が「中間」とみなされ得るかは、考慮される特定のカメラに依存する。
【0031】
図4Aは、スクリーン100が、カメラのより近くに動かされている同様のシーンを示す。パターン1000は、完全には可視でなく(その隅部で位置設定される一部の要素は、カメラの視野の外側である)、その要素は、不必要に大きく、広く間隔を隔てられ、そのことは、較正アルゴリズムによる計算時間の浪費を結果として生じさせる。マスタコンピュータ103は、この準最適な状況を検出し、応答としてそれは、コマンドをスレーブデバイスに送信して、それを、短いスクリーン-カメラ距離に適応するように較正パターンを修正するようにする。結果が、
図4B上で示されている。修正されたパターン1001は、より短い空間的周期(すなわち、間隔)を伴う、はるかに大である数の、はるかに小さな要素(ドット)を備える。より小さいにもかかわらず、要素は容易に検出可能なままであり、それらのより大きな数が、追加的な情報を較正アルゴリズムに提供し、パターンの隅部でのそれらの一部の損失を、はるかに、不利益にならないようにする。
【0032】
パターンがカメラに非常に接近しており、大きな数の要素が視野の外側であるとき、較正アルゴリズムは、その原点(パターンの点であって、それに関して、すべてのその要素の位置が規定される、パターンの点)を識別することができなくなる。画像は次いで、使用不可能である。この場合パターンは、独特の外観と、原点に関する既知の位置とを有する、複数のパターン要素を導入することにより修正され得る。これらの要素が画像上で可視であるならば、それらは、パターン原点の場所を突き止め、したがって、画像を較正に対して使用することを可能とする。
図6は、参照番号21、22、23、および24により識別される、これらの「独自の」要素の3つを備える、修正されたパターン1003を示す。例ではこれらの要素は、三角形、正方形、五角形、および星形状を有するフレームによりマークを付けられるが、他の代替案が存在する。例えばこれらの要素は、動的な外観、例えば、変化する色もしくはサイズを有し得るものであり、または、それらは明滅し得る。
【0033】
図5Aは、スクリーン100が、カメラから遠く離れて動かされている、反対の状況を示す。パターン1000の要素は、小さすぎるように、および、互いに接近しすぎているように見え、結果として、パターンは容易には検出されず、取得される画像は、較正に対して使用不可能であり得る。コンピュータ103は、この準最適な状況を検出し、応答として、コマンドをスレーブデバイスに送信して、それを、
長いスクリーン-カメラ距離に適応するように較正パターンを修正するようにする。結果が、
図5B上で示されている。修正されたパターン1002は、より長い空間的周期(すなわち、間隔)を伴う、より小さな数の、より大きな要素(ドット)を備える。要素はより大きいので、より容易に検出可能であり、低減された量の情報を提供するとしても、画像を較正に使用可能にする。
【0034】
本発明の例示的な実施形態による方法は、以下のステップを備える。
- ユーザは、マスタコンピュータ103上で走らされるマスタプログラム、および、スレーブデバイス104上で走らされるスレーブプログラムを起動する。マスタプログラムは、カメラ101を駆動し、ビデオフローを取得し、画像を抽出し、パターンを従来型の画像処理アルゴリズムを使用して検出し、コマンドをスレーブデバイスに送信して、必要なときに、スクリーン100上に表示されるパターンを修正する。スレーブデバイスは、これらのコマンドを受信するようにプログラムされ、スクリーン100を駆動して、要求されるパターンを表示する。各々のコマンドは、表示されるパターンを含む画像ファイル、または、スレーブデバイスのメモリ要素内に記憶されるパターンのセットの中で選定される較正パターンの識別子、または、「テンプレート」パターンを(例えば、ズームインまたはズームアウトすることにより)修正するための命令を備え得る。
- ハンドシェイクが、マスタとスレーブとの間で、それらの間の通信チャネルを確立するために行われる。この通信は、(マスタからスレーブへの)一方向性、または双方向性、有線またはワイヤレスであり、他のものとともに、Wi-Fi、Bluetooth(登録商標)、データオーバサウンド(data over sound)、または、Li-Fiとしても知られているデータオーバライト(data over light)を活かすものであり得る。
- 較正パターン1000が、スレーブデバイスのスクリーン100上に表示される。
- カメラ101は、パターンを含む画像のフローを取得することを開始する。ビデオフローは、視覚フィードバックをユーザに提供するために、補助スクリーン102上に表示される。
- マスタコンピュータは、パターンの位置を、スクリーン空間座標(画素)で検出する。次いでそれは、検出されたパターンの、二乗された画素での近似的なエリアを計算して、その距離を推定する(カメラ101がRGB深度カメラであるならば、距離測定は直接利用可能であり得る)。推定された距離が、第1のしきい値より低いならば、パターンはカメラの「近く」にあるとみなされ、第1のコマンドがスレーブデバイスに送信され、推定された距離が、第2のしきい値より高いならば、パターンはカメラから「遠い」とみなされ、第2のコマンドがスレーブデバイスに送信され、それ以外の場合、パターンはカメラから「中間」距離とみなされ、第3のコマンドがスレーブデバイスに送信される。
- スレーブデバイスが、そのスクリーン100がカメラに近いことを指示する第1のコマンドを受信するならば、それは、そのスクリーンに、最も微細な可能なパターン、すなわち、最も小さな特徴部と、最も小さな空間的周期とを伴うものを表示させる。マスタコンピュータ103上で走るマスタプログラムは、ビデオストリームを分析して、パターンが検出可能であるかどうかを決定し、検出可能でないならば、それは、より粗いパターン、すなわち、より大きな特徴部と空間的周期とを伴うものが表示されなければならないことを指示するコマンドを、スレーブに送信する。言い換えると、スレーブデバイスは、より粗いパターンを、マスタコンピュータがそれらの1つを検出することができるまで、連続的に示す。最後のパターンの画像が、次いで、較正のために保存される。言い換えると、パターン適応は、反復して実行される。
- 逆に、スレーブデバイスが、そのスクリーン100がカメラから遠いことを指示する第2のコマンドを受信するならば、それは、そのスクリーンに、最も粗い可能なパターン、すなわち、最も大きな特徴部と、最も大きな空間的周期とを伴うものを表示させる。マスタコンピュータ103上で走るマスタプログラムは、ビデオストリームを分析して、パターンが検出可能であるかどうかを決定し、イエスならば、それは、より微細なパターン、すなわち、より小さな特徴部と空間的周期とを伴うものが表示されてよいことを指示するコマンドを、スレーブに送信する。言い換えると、スレーブデバイスは、より微細なパターンを、マスタデバイスがそれらの1つを検出することに失敗するまで、連続的に示す。最後の正しく検出されたパターンの画像が、次いで、較正のために保存される。以前に考えられた場合のように、パターン適応は、反復して実行される。
- スレーブデバイスが、第3のコマンドを受信するならば、パターンは変化されない。
- さらにマスタコンピュータは、ビデオストリームを分析することにより、パターンは、その原点が決定され得ないという程度に、完全には可視でないと決定し得る。この場合それは、特定のコマンドをスレーブデバイスに送信し、そのスレーブデバイスは、パターンの一部の要素の外観を、
図6への参照で、上記で解説されたように修正する。
- 較正に適した較正パターンの画像が取得された各々の時間、ユーザは、例えば、補助スクリーン、または、スレーブデバイスの振動によって通知される。次いでユーザは、較正パターンを表示するスクリーン100の位置を変化させる。
- 十分なデータが収集されたとき(すなわち、収集されたデータの量が、あらかじめ決定された精度レベルを伴う較正を行うのに十分であるとき)、マスタコンピュータは、カメラ較正パラメータを、例えばZhangのアルゴリズムを使用して計算する。有利にはレンズ歪みが、全体的な画像空間を満たすのに十分にパターンがカメラに接近しているときに、画像を捕らえることにより、別々に推定され得る。パターンは次いで、それが、可能な限り規則的に見えるように、補助スクリーンの軸と位置合わせされるように調整され得る。
【0035】
マスタコンピュータは、パターンをビデオストリーム内で、例えばそれが、カメラに対して遠すぎる、もしくは接近しすぎる、または、単純にカメラ視界から外れているので、検出することができないということが起こり得る。検出をより容易にするために、後に続くように続行することが可能である。
- パターンが見出されないならば、マスタコンピュータは、コマンドをスレーブに送信して、パターンを修正する。
- パターンは次いで、「高検出可能性モード」に変化する。
- パターンがそれでもなお、このモードで検出されないならば、ユーザは、パターンを、それが、検出される状態になるまで、低速で動かすことを開始するように勧められる。
【0036】
「高検出可能性」パターンは、単純に、較正プログラムによる検出を容易にするために、全体のスクリーンを白に変えること、もしくは、黒と白との間で明滅させること(2つの連続的なフレームの間の単純な差)、または、例えば、明滅する、もしくはしない、スクリーンの隅部での3つの正方形を備える、単純な幾何学的パターンにあり得る。
【0037】
個別の実施形態では、スレーブデバイス104は、デバイスの向きの測定を可能とする、ジャイロスコープ、加速度計、磁気コンパスなどのセンサを伴って提供され得る。測定結果は、パターンの位置のみが、計算されることを必要とすることになるように、較正の精度を改善するために、マスタコンピュータに通信され得る。
【0038】
スレーブデバイスは、それ自体のカメラを有し得るものであり、それがすでに較正されているならば、画像処理(例えば、拡張現実マーカの追跡)を使用して、較正データを、その位置および向きによって質的に向上させ得る。
【0039】
度々カメラは、全体的な較正プロセスの間、変化されないままであることを要求される(自動焦点なし、自動的な明るさ調整なし)。マスタコンピュータは次いで、スレーブデバイスに、パターンを、現在の照明条件に適応するように、より明るく、またはより暗くし、その検出を容易にするためのコマンドを送信し得る。
【0040】
上記で述べられているように、同じコンピュータが、「マスタ」および「スレーブ」の両方としてサービングすることがあり、その場合、スクリーン100および102、ならびにカメラ101は単純に、このコンピュータの周辺デバイスである。そのような手法の利点は、ハンドシェイキングが必要でないということである。
【0041】
本発明の例示的な実施形態による方法を実行するのに適したマスタコンピュータ103の内部的な構造が、
図7への参照によって説明される。
図7ではコンピュータ103は、上記で説明されたプロセスを行う中央処理装置(CPU)Pを含む。プロセスは、実行可能プログラム、すなわち、コンピュータ可読命令のセットとして、RAM M1もしくはROM M2などのメモリ内に、もしくは、ハードディスク駆動装置(HDD)M3、DVD/CD駆動装置M4上に記憶され得るものであり、または、遠隔で記憶され得る。複数の較正パターン(
図1~6上の1000、1001、1002、1003)、または、単一の「マスタ」パターンであって、それから、例えば異なる空間的分解能の、異なる較正パターンが獲得され得る、単一の「マスタ」パターンを規定するデータは、メモリデバイスM1からM4の1つまたは複数上に、または遠隔で記憶される。
【0042】
請求項に記載の発明は、コンピュータ可読命令、および/または、較正パターンが記憶される、コンピュータ可読媒体の形式により制限されない。例えば、それらは、CD、DVD上に、FLASHメモリ、RAM、ROM、PROM、EPROM、EEPROM、ハードディスク、または、サーバもしくはコンピュータなどの、コンピュータ支援設計ステーションが通信する任意の他の情報処理デバイス内に記憶され得る。プログラム、および較正パターンは、同じメモリデバイス上に、または、異なるメモリデバイス上に記憶され得る。
【0043】
さらに、発明的な方法を実行するのに適したコンピュータプログラムは、CPU800、および、Microsoft VISTA(登録商標)、Microsoft Windows(登録商標)7、UNIX(登録商標)、Solaris、LINUX(登録商標)、Apple MAC-OSなどのオペレーティングシステム、および、当業者に知られている他のシステムと関連して実行する、ユーティリティアプリケーション、バックグラウンドデーモン、または、オペレーティングシステムのコンポーネント、または、それらの組合せとして提供され得る。
【0044】
CPU Pは、アメリカのIntelのXenonプロセッサ、もしくは、アメリカのAMDのOpteronプロセッサであり得るものであり、または、アメリカのFreescale CorporationのFreescale ColdFire、IMX、もしくはARMプロセッサなどの、他のプロセッサタイプであり得る。代替としてCPUは、アメリカのIntel CorporationのCore2 Duoなどのプロセッサであり得るものであり、または、当業者が認識することになるように、FPGA、ASIC、PLD上で、もしくは、ディスクリート論理回路を使用して実装され得る。さらにCPUは、上記で説明された発明的なプロセスのコンピュータ可読命令を行うために協働的に作動する、複数個のプロセッサとして実装され得る。
【0045】
図7でのコンピュータ支援設計ステーションはさらには、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、インターネット、および同様のものなどのネットワークとインターフェイス接続するための、アメリカのIntel CorporationのIntel Ethernet PROネットワークインターフェイスカードなどの、ネットワークインターフェイスNIを含む。ここで考えられる特定の実施形態では、較正パターンを表示するために使用されるスクリーン100との通信は、ネットワークを介して行われる。
【0046】
コンピュータ支援設計ステーションは、Hewlett Packard HPL2445w LCDモニタなどの、補助スクリーンまたはディスプレイ102とインターフェイス接続するための、アメリカのNVIDIA CorporationのNVIDIA GeForce GTXグラフィックスアダプタなどの、ディスプレイコントローラDCをさらに含む。汎用入出力インターフェイスIFは、キーボードKB、ならびに、ローラボール、マウス、タッチパッド、および同様のものなどのポインティングデバイスPDとインターフェイス接続する。ディスプレイ、キーボード、およびポインティングデバイスは、ディスプレイコントローラおよび入出力インターフェイスとともに、グラフィカルユーザインターフェイスを形成する。すべてのこれらのコンポーネントは、ISA、EISA、VESA、PCI、または同様のものであり得る通信バスCBSを介して、互いに接続される。さらに、較正されるカメラCAMがさらには、ビデオストリームをCPU Pに提供するために、バスCBSに接続され、そのCPU Pは、上記で解説されたようにそれを処理する。
【0047】
ディスプレイ、キーボード、ポインティングデバイス、ならびに、ディスプレイコントローラ、ディスクコントローラ、ネットワークインターフェイス、および入出力インターフェイスの、一般的な特徴部および機能性の説明は、これらの特徴部は知られているので、本明細書では簡潔さのために省略されている。