説明

ジェスチャインターフェースシステム、ジェスチャ入力用ワンド、アプリケーション制御方法、カメラ校正方法、及び制御プログラム

【課題】カメラ較正用の物体及び三次元空間でのジェスチャインターフェース装置としての特徴を兼ね備えたワンドを利用したジェスチャインターフェースシステム、ジェスチャ入力用ワンド、アプリケーション制御方法、カメラ校正方法及び制御プログラムを提供する。
【解決手段】1台又は複数のカメラにより追跡される受動ワンドがユーザインターフェース装置として使用される。ワンドは安価でありユーザが大型ディスプレイなどの装置と対話する自然な方法である。各ワンドは最大限の6自由度を指定するのに使用され、三次元アプリケーションの操作に役立つ。ワンドは三次元の実世界点を識別するのにも使用され、マルチカメラ較正と物理空間の三次元モデル構築に役立つ。記述する方法はワンド姿勢のより精密な推定技法を提供し単一カメラを用いて実施できる。また、処理を簡略化する画像内の1次元ラインスキャンで利用可能な情報を使用しワンド姿勢を推定する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ・インターフェースに関し、より詳しくは、ジェスチャインターフェースに関する。加えて、本発明は、カメラ較正の技法にも関する。即ち、ジェスチャインターフェースシステム、ジェスチャ入力用ワンド、アプリケーション制御方法、カメラ校正方法、及び制御プログラムに関する。
【背景技術】
【0002】
2つの従来型のジェスチャインターフェースが一般に使用されている。1つは、ユーザが装着する必要のあるグローブのようなハードウェアに配置されたセンサを必要とする。この解決法は、高価であると共に、ユーザにも不評である。もう1つは、画面(screen)への接触又はセンサからの位置決定による、ユーザと画面との二次元インタラクション(対話)に制限される。前者は、ユーザに、より多くの自由度を提供する。従って、後者でサポートされ得る語彙よりも、幅広い基本対話語彙をサポートすることができる。
【0003】
例えば、ユーザインターフェースとしてワンド(円筒型のジェスチャ入力装置)を使用すれば、2自由度ではなく、最大限の6自由度がサポートされる。また、複数のワンドを使用すれば、さらに多くの自由度がサポートされる。2自由度で対話に十分な広さの語彙をサポートする場合であっても、前述のワンドを用いた代替インターフェースには利点がある。というのは、例えば、大画面との対話では、ユーザが画面に触れるために画面に十分に近づく必要があり、結果として画面全体が見えなくなるからである。
【0004】
或る用途では、何らかの物体にセンサを配置するという部分的解決法が採用されている。その物体は、持ち上げたり置いたりすることができ、ユーザがその設定で使い慣れている物体に類似した物体である。例えば、センサを様々なポインティングデバイス(位置決め装置)に付加することができる。しかしながら、この解決法には、出費、重量、壊れやすい部品、及びコード又は電池による電力供給の必要性を含め、様々な問題がある。
【0005】
コンピュータビジョンに基づくシステムでは、これらの問題のうち最後の3つが回避される。かかるシステムでは、本質的にシステムの費用全部がカメラに費やされるが、カメラは日々より安価になっている。しかも、コンピュータビジョンに基づくシステムは、限りなく多様な物体と協働するように変更され得る。主な制限要因は、どの物体が、確実に追跡され得るかである。例えば、「手振り(hand gesture)」を追跡するように設計されたコンピュータビジョンに基づくシステムは、魅力的ではあるが、手を追跡することの難しさにより、確実さ(robustness)に大きな問題が生じる。
【0006】
よって、特に求められるのは、関連付けられるカメラシステムにおける全知能を有する、コンピュータビジョン技術を介して確実にジェスチャインターフェースを可能にする、簡単で、静的で、安価な物体である。
【0007】
「VisionWand: interaction techniques for large displays using a passive wand tracked in 3D(ビジョンワンド:3Dにおいて追跡される受動ワンドを使った大型ディスプレイのための対話技術)」、「Symposium on User Interface Software and Technology、Proceedings of the 16th annual ACM symposium on User interface software and technology(ユーザインターフェースソフトウェア及び技術に関するシンポジウム、第16回ユーザインターフェースソフトウェア及び技術に関する年次ACMシンポジウム議事録)、173〜182頁(2003年)」に記載されている、Xiang Cao(シャン・カオ)、Ravin Balakrishnan(ラビン・バラクリシュナン)のビジョンワンド研究は、かかるシステムが可能であるばかりでなく、それらの対話が、効果的で、直観的であり、ユーザによる評価の高い特性を有することを示している。
【0008】
著者らは、対照的な色の背景に対して、カメラによって容易に追跡され得る、着色された端部を有する簡単なワンドを使用している。様々な簡単なワンドジェスチャを使って、大画面上でフォトアプリケーションが制御され、写真との直接対話及びメニュー選択の両方が可能にされる。以下で説明するのが、さらに簡単なジェスチャインターフェースの利点を示す2つの例である。ワンドを画面に平行にして「押す」ジェスチャでズームインし、「引く」ジェスチャでズームアウトする。ワンドを短時間にわたり画面と平行に保つと、全メニューが提示され、回転ジェスチャがメニュー項目間を移動するのに使用される。ユーザは、システムに慣れるに従い、所望のメニュー項目の回転位置にワンドを配置することを覚えるようになる。かかる短縮された対話が可能なのは、前述のジェスチャインターフェースが、これらの自由度を利用できるからに他ならない。
【0009】
【非特許文献1】Xiang Cao, Ravin Balakrishnan., "VisionWand: interaction techniques for large displays using a passive wand tracked in 3D."
【非特許文献2】Xiang Cao, Ravin Balakrishnan., "Symposium on User Interface Software and Technology、Proceedings of the 16th annual ACM symposium on User interface software and technology."pp.173-172(2003).
【非特許文献3】YASUJI SEKO, et al., "Proposal of recordable pointer: Pointed position measurement by projecting interference concentric circle pattern with a pointing device." IEEE, 2006, Corporate Research Group, Fuji Xerox Co., Ltd.
【発明の開示】
【発明が解決しようとする課題】
【0010】
しかしながら、従来の技術では、改善されたワンド検出と追跡の技法を提供することができない。即ち、ワンドの両端を含む、その物体の視界の大部分が遮られているときでさえも、ユーザとコンピュータシステムインターフェースとの対話を可能にすると共に、それによって、ジェスチャインターフェースが使用するための別の自然な自由度を可能にすることができる、改善技法を提供することができない。
【0011】
加えて、はるかに高い精度を可能にするワンドがあれば望ましいはずである。例えば、三次元モデリングツールにおいて位置を制御するのに適した、精密な位置決め装置として使用され得るようなワンドがあれば望ましいはずである。
【0012】
本発明の方法論は、従来のジェスチャインターフェースに関連する上記の問題及びその他の問題の少なくとも1つを実質的に除去する方法及びシステムを対象とするものである。
【0013】
即ち、本発明の目的は、カメラ較正用の物体及び三次元空間でのジェスチャインターフェース装置としての特徴を兼ね備えたワンドを利用した、ジェスチャインターフェースシステム、ジェスチャ入力用ワンド、アプリケーション制御方法、カメラ校正方法、及び制御プログラムを提供することにある。
【課題を解決するための手段】
【0014】
本発明の概念の一態様によれば、ユーザによって操作されるワンドであり且つ少なくとも1つの特徴を備えたワンドの画像を作成するように動作する少なくとも1台のカメラと、作成されたワンドの画像を受け取り、ワンドの少なくとも1つの特徴に基づいて、ワンドの姿勢を決定するように動作する処理モジュールと、を含むコンピュータインターフェースシステムが提供される。ワンドの姿勢は、ワンドの位置、ワンドの向き、及びワンドのねじれを含む。前述のように決定されるワンドの姿勢は、ユーザアプリケーションを制御するのに使用される。
【0015】
本発明の概念の別の態様によれば、ジェスチャコンピュータインターフェースで使用するためのワンドが提供される。本発明のワンドは、ねじれコード領域と、色コード領域と、精密特徴領域とを含む。
【0016】
本発明の概念の別の態様によれば、ユーザによって操作されるワンドであり且つ少なくとも1つの特徴を備えたワンドの姿勢に基づいて、コンピュータアプリケーションを制御する方法が提供される。本発明の方法は、少なくとも1台のカメラを使って、ユーザによって操作されるワンドの画像を作成するステップと、作成された画像を使い、ワンドの少なくとも1つの特徴に基づいてワンドの姿勢を決定するステップと、を含んでいる。ワンドの姿勢は、ワンドの位置、ワンドの向き、及びワンドのねじれを含む。本発明の方法は、さらに、決定されるワンドの姿勢に基づいて、コンピュータアプリケーションを制御するステップを伴う。
【0017】
本発明の概念の別の態様によれば、少なくとも1台のカメラによって作成される、ユーザによって操作されるワンドの画像に基づいて、コンピュータアプリケーションを制御するステップと、少なくとも1台のカメラにより得られたワンドの画像に基づいて、少なくとも1台のカメラを較正するステップと、を含む方法が提供される。
【0018】
本発明に関連するその他の態様の一部を以下に説明する。また、本発明に関連するその他の態様の一部は、以下の説明から明らかであるか、或いは本発明の実施例により理解することができるだろう。本発明の諸態様は、以下の詳細な説明と添付の特許請求の範囲において特に示した「要素」及び「種々の要素と種々の態様との組合せ」によって実現され、実施され得る。
【0019】
前述の説明も以下の説明も、例示と説明のためのものにすぎず、いかなる方法によっても、特許請求される本発明又は本発明の適用を限定しようとするものではないことを理解すべきである。
【0020】
本明細書に組み込まれその一部を構成する添付の図面は、本発明の実施形態を例示し、説明と相まって、本発明の技法の原理を説明し、図示するのに使用するものである。
【0021】
即ち、本発明の請求項に記載された発明は、以下の特徴を有するものである。
【0022】
<ジェスチャインターフェースシステム>
請求項1に記載された発明は、ジェスチャによりコンピュータと対話するジェスチャインターフェースシステムであって、a.ユーザによって操作され、外観パターンに少なくとも1つの特徴を備えるジェスチャ入力用のワンドの画像を作成するように動作する少なくとも1台のカメラと、b.前記カメラから作成された前記ワンドの画像を受け取り、前記ワンドの前記少なくとも1つの特徴に基づいて、前記ワンドの位置、前記ワンドの向き及び前記ワンドのねじれを含む前記ワンドの姿勢を決定するように動作すると共に、前記ワンドの前記決定された姿勢を用いて、ユーザアプリケーションを制御する処理手段と、を備えることを特徴とする。
【0023】
請求項2に記載された発明は、請求項1記載の発明において、前記処理手段は、少なくとも、前記ワンドの複数の色領域に基づいて、前記ワンドの前記姿勢を決定するように動作することを特徴とする。
【0024】
請求項3に記載された発明は、請求項1記載の発明において、前記処理手段は、少なくとも、前記ワンドのねじれコード領域に基づいて、前記ワンドの前記姿勢を決定するように動作することを特徴とする。
【0025】
請求項4に記載された発明は、請求項3記載の発明において、前記ねじれコード領域は、らせんパターンを備えることを特徴とする。
【0026】
請求項5に記載された発明は、請求項1記載の発明において、前記処理手段は、少なくとも、精密特徴領域に基づいて、前記ワンドの前記姿勢を決定するように動作することを特徴とする。
【0027】
請求項6に記載された発明は、請求項5記載の発明において、前記精密特徴領域は、チェッカーボードパターンを備えることを特徴とする。
【0028】
請求項7に記載された発明は、請求項6記載の発明において、前記チェッカーボードパターンは、チェッカーボード升目の中央にドット又はぼかしたブロブを備えることを特徴とする。
【0029】
請求項8に記載された発明は、請求項1記載の発明において、前記ワンドは、情報を符号化するバーコード領域をさらに備えることを特徴とする。
【0030】
請求項9に記載された発明は、請求項8記載の発明において、前記処理手段は、前記ワンドの前記バーコード領域に符号化された前記情報に基づいて、前記ワンドの識別子を決定するように動作することを特徴とする。
【0031】
請求項10に記載された発明は、請求項1記載の発明において、前記ユーザによって操作され、前記ワンドの画像を作成するように動作する第2のカメラであって、前記少なくとも1台のカメラとは異なる位置に配置された前記第2のカメラをさらに備えることを特徴とする。
【0032】
請求項11に記載された発明は、請求項1記載の発明において、前記処理手段は、前記ワンドのスキャンラインを再構成し、前記ワンドの前記スキャンラインと前記ワンドの前記少なくとも1つの特徴との交点を求めることによって、前記ワンドの前記姿勢を決定するように動作することを特徴とする。
【0033】
請求項12に記載された発明は、請求項1記載の発明において、前記ワンドの一端は色コードを備え、前記処理手段は、前記ワンドの一部分だけしか見えないときに、前記色コードを使って前記ワンドの前記姿勢を決定するように動作することを特徴とする。
【0034】
請求項13に記載された発明は、請求項1記載の発明において、前記少なくとも1台のカメラは赤外線カメラであり、前記ワンドの表面が赤外線反射材料又は再帰反射材料を含むことを特徴とする。
【0035】
請求項14に記載された発明は、請求項13記載の発明において、前記赤外線カメラは、少なくとも1つの赤外線発光源と、少なくとも1つの赤外線フィルタとを備えることを特徴とする。
【0036】
請求項15に記載された発明は、請求項1記載の発明において、前記処理手段は、前記少なくとも1台のカメラによって取得される前記ワンドの前記画像に基づいて、前記少なくとも1台のカメラを較正するように動作することを特徴とする。
【0037】
<ジェスチャ入力用ワンド>
請求項16に記載された発明は、ジェスチャインターフェースで使用するためのジェスチャ入力用ワンドであって、a.ねじれコード領域と、b.色コード領域と、c.精密特徴領域と、を外観パターン上の特徴として備えることを特徴とする。
【0038】
請求項17に記載された発明は、請求項16記載の発明において、前記色コード領域は、前記ワンドの長さに沿って分散された複数の色帯を備えることを特徴とする。
【0039】
請求項18に記載された発明は、請求項17記載の発明において、前記複数の色帯は異なる色を有することを特徴とする。
【0040】
請求項19に記載された発明は、請求項16記載の発明において、前記ねじれコード領域はらせんパターンを備えることを特徴とする。
【0041】
請求項20に記載された発明は、請求項16記載の発明において、前記ワンドの前記長さに沿って分散された複数のらせんパターンを備えることを特徴とする。
【0042】
請求項21に記載された発明は、請求項16記載の発明において、前記精密特徴領域はチェッカーボードパターンを備えることを特徴とする。
【0043】
請求項22に記載された発明は、請求項21記載の発明において、前記チェッカーボードパターンは、チェッカーボード升目の中央にドット又はぼかしたブロブを備えることを特徴とする。
【0044】
請求項23に記載された発明は、請求項16記載の発明において、符号化情報を備えるバーコード領域をさらに備えることを特徴とする。
【0045】
請求項24に記載された発明は、請求項23記載の発明において、前記符号化情報は前記ワンドの識別子を備えることを特徴とする。
【0046】
請求項25に記載された発明は、請求項16記載の発明において、前記ワンドの少なくとも一端が色コードを備えることを特徴とする。
【0047】
請求項26に記載された発明は、請求項16記載の発明において、前記ワンドの表面が赤外線反射材料又は再帰反射材料を備えることを特徴とする。
【0048】
<アプリケーション制御方法>
請求項27に記載された発明は、ユーザによって操作され、外観パターンに少なくとも1つの特徴を備えるジェスチャ入力用のワンドの姿勢に基づいて、コンピュータアプリケーションを制御するアプリケーション制御方法であって、a.少なくとも1台のカメラを使って、前記ユーザによって操作されるワンドの画像を作成するステップと、b.前記作成される画像を用い、前記ワンドの前記少なくとも1つの特徴に基づいて、前記ワンドの位置、前記ワンドの向き及び前記ワンドのねじれを含む前記ワンドの前記姿勢を決定するステップと、c.前記ワンドの前記決定された姿勢に基づいて前記コンピュータアプリケーションを制御するステップと、を備えることを特徴とする。
【0049】
<カメラ校正方法>
請求項28に記載された発明は、ユーザによって操作され、外観パターンに少なくとも1つの特徴を備えるジェスチャ入力用のワンドの画像に基づいてカメラの校正を行うカメラ校正方法であって、a.少なくとも1台のカメラを使って、前記ユーザによって操作されるワンドの画像を作成し、作成された画像に基づいて前記コンピュータアプリケーションを制御するステップと、b.前記少なくとも1台のカメラによって取得された前記ワンドの前記画像に基づいて、前記少なくとも1台のカメラを較正するステップと、を含むことを特徴とする。
【0050】
<制御プログラム>
請求項29に記載された発明は、ユーザによって操作され、外観パターン上に少なくとも1つの特徴を備えるジェスチャ入力用のワンドの姿勢に基づいて、コンピュータアプリケーションを制御するための制御プログラムであって、コンピュータにより、a.少なくとも1台のカメラよって作成された前記ワンドの画像を取得するステップと、b.前記作成された画像を用い、前記ワンドの前記少なくとも1つの特徴に基づいて、前記ワンドの位置、前記ワンドの向き及び前記ワンドのねじれを含む前記ワンドの前記姿勢を決定するステップと、c.前記ワンドの前記決定された姿勢に基づいて前記コンピュータアプリケーションを制御するステップと、を実行させることを特徴とする。
【発明の効果】
【0051】
<ジェスチャインターフェースシステム>
請求項1に係る発明(ジェスチャインタフェースシステム)によれば、外観パターン上に少なくとも1つの特徴を備えるワンドを用いて、ワンドの検出と追跡を容易にすると共に、ワンドの姿勢から精密な位置決めを可能として、コンピュータとの対話、即ち、アプリケーションの制御を可能にする、確実なジェスチャインタフェースを実現できる、という効果がある。
【0052】
請求項2に係る発明によれば、ワンドを大まかに追跡するのが容易になり、追跡の初期設定にも使用しうる、という効果がある。
【0053】
請求項3、4に係る発明によれば、ワンドの軸に関してのワンドのねじれを決定するのに役立つ、という効果がある。
【0054】
請求項5、6に係る発明によれば、ワンドがカメラの近くにあるときに、ワンドの姿勢をより精密に決定することができる、という効果がある。請求項7に係る発明によれば、更に精度を高めることができる、という効果がある。
【0055】
請求項8に係る発明によれば、符号化された情報も含み得る、という効果がある。
【0056】
請求項9に係る発明によれば、ワンドを識別子で識別することができる、という効果がある。
【0057】
請求項10に係る発明によれば、ワンドの位置や姿勢を正確に求めることができ、1台のカメラがワンドの位置を見失った場合でも、ワンドの追跡を回復することができる、という効果がある。
【0058】
請求項11に係る発明によれば、1次元のラインスキャンで、ワンドの姿勢の決定に十分な情報を得ることができる、という効果がある。
【0059】
請求項12に係る発明によれば、区別が難しいワンドの姿勢を区別することができる、という効果がある。
【0060】
請求項13、14に係る発明によれば、得られる赤外線画像は、区分化が容易で、非常に高い信号対雑音比を有している、という効果がある。
【0061】
請求項15に係る発明によれば、ジェスチャ入力に用いられるワンドがカメラ校正用の物体としても使用できる、という効果がある。
【0062】
<ジェスチャ入力用ワンド>
請求項16に係る発明(ジェスチャ入力用ワンド)によれば、ねじれコード領域と色コード領域と精密特徴領域とを外観パターン上の特徴として備えるワンドを用いて、ワンドの検出と追跡を容易にすると共に、ワンドの姿勢から精密な位置決めを可能として、コンピュータとの対話、即ち、アプリケーションの制御を可能にする、確実なジェスチャインタフェースを実現できる、という効果がある。
【0063】
即ち、ねじれコード領域によりワンドのねじれを決定するのが容易になり、色コード領域によりワンドを大まかに追跡するのが容易になり、精密特徴領域によりワンドの姿勢をより精密に決定することができる。
【0064】
請求項17に係る発明によれば、ラインスキャンにより、ワンド端部からの距離を一意的に決定することができる、という効果がある。請求項18に係る発明によれば、ワンド端部からの距離を一意的に決定する場合にも、ワンドを大まかに追跡するのが容易になる、という効果がある。
【0065】
請求項19に係る発明によれば、ラインスキャンにより、ワンドのねじれを決定するのが容易になる、という効果がある。
【0066】
請求項20に係る発明によれば、ワンドの僅かな部分しか見えない場合でも、ワンドの姿勢を決定することができる、という効果がある。
【0067】
請求項21に係る発明によれば、ワンドがカメラの近くにあるときに、ワンドの姿勢をより精密に決定することができる、という効果がある。請求項22に係る発明によれば、更に精度を高めることができる、という効果がある。
【0068】
請求項23に係る発明によれば、符号化された情報も含み得る、という効果がある。
【0069】
請求項24に係る発明によれば、ワンドを識別子で識別することができる、という効果がある。
【0070】
請求項25に係る発明によれば、区別が難しいワンドの姿勢を区別することができる、という効果がある。
【0071】
請求項26に係る発明によれば、得られる赤外線画像は、区分化が容易で、非常に高い信号対雑音比を有している、という効果がある。
【0072】
<アプリケーション制御方法>
請求項27に係る発明(アプリケーション制御方法)によれば、外観パターン上に少なくとも1つの特徴を備えるジェスチャ入力用のワンドを用いて、ワンドの検出と追跡を容易にすると共に、ワンドの姿勢から精密な位置決めを可能として、コンピュータとの対話、即ち、アプリケーションの制御を確実に行うことができる、という効果がある。
【0073】
<カメラ校正方法>
請求項28に係る発明(カメラ校正方法)によれば、外観パターン上に少なくとも1つの特徴を備えるジェスチャ入力用のワンドを用いて、ワンドの検出と追跡を容易にすると共に、ワンドの姿勢から精密な位置決めを可能として、カメラの校正を高い精度で行うことができる、という効果がある。
【0074】
<制御プログラム>
請求項29に係る発明(制御プログラム)によれば、外観パターン上に少なくとも1つの特徴を備えるジェスチャ入力用のワンドを用いて、ワンドの検出と追跡を容易にすると共に、ワンドの姿勢から精密な位置決めを可能として、コンピュータとの対話、即ち、アプリケーションの制御を確実に行うことができる、という効果がある。
【発明を実施するための最良の形態】
【0075】
以下の詳細な説明では、添付の図面を参照する。図面では、同一機能の要素を同様の番号で図示する。前述の添付図面には、本発明の原理と整合性を有する具体的な実施形態(embodiments and implementations)が図示されているが、これらは本発明を限定するものではなく一例として図示されている。これらの実施形態は、当分野の技術者が本発明を実施することを可能にするのに十分な詳細にわたって記述されており、本発明の範囲と精神を逸脱することない範囲で、別の実施形態も利用され得ること、ならびに様々な要素の構造的な変更及び/又は置換が行われ得ることを理解すべきである。従って、以下の詳細な説明は、狭い意味で解釈されるべきではない。加えて、以下で説明される本発明の様々な実施形態は、汎用コンピュータ上で実行されるソフトウェアの形で実施でき、専用ハードウェアの形でも実施でき、ソフトウェアとハードウェアの組み合わせとしても実施することができる。
【0076】
本明細書で説明する本発明の技法は、本明細書で参照している前述のシャン・カオとラビン・バラクリシュナンの研究を、いくつかの実現可能な方法で改善するものである。特に、本発明の技法は、ワンドの検出と追跡を著しく容易にし、ワンドの両端を含む物体の視界の大部分が遮られているときでさえも対話を可能にする。そして、物体のねじれの決定を可能にし、それによって、ジェスチャインターフェースが使用するための別の自然な自由度をサポートする。
【0077】
前述のシャン・カオとラビン・バラクリシュナンの研究では、ワンドの主要な役割は、ジェスチャデバイス(ジェスチャ入力装置)としてのものであり、精密なポインティングデバイス(位置決め装置)ではなかった。というのは、彼等の研究事例では、精度を達成するのが難しかったからである。本発明のワンドは、はるかに高い精度を可能にする。これにより、例えば、三次元モデリングツールで位置を制御するのに適した、精密なポインティングデバイスとして使用され得る。
【0078】
<カメラ較正と3D再構成への適用>
任意のコンピュータビジョンシステムにおける望ましい第1のステップは、カメラの較正である。カメラを較正する一般的なやり方は、カメラの前の周囲でチェッカーボードを振るものである。一度に複数のカメラを較正するには、各カメラが同様に位置決めされていない場合、しばしば、複数のカメラが同時に識別することのできるチェッカーボードの位置を見つけるのが難しいことがある。また、チェッカーボードは、システムの一部としてではなく、較正のためだけに使用される。しかし、カメラが移動され、追加され、又は置換されるときなど、カメラの較正を行う必要のあるときにいつでも手近にあるように、システムの一部として日常的に使用される物体を使用する方が、チェッカーボードより都合がよいはずである。
【0079】
Xing Chen(シン・チェン)、James Davis(ジェームズ・デイビス)、及びPhilipp Slusallek(フィリップ・スルサレク)等の、「Wide Area Camera Calibration Using Virtual Calibration Objects(仮想較正物体を使った広域カメラ較正)」、IEEE Comp. Soc. Conf. on Computer Vision and Pattern Recognition (CVPR)(IEEEコンピュータビジョン及びパターン認識に関するコンピュータ学会会議(CVPR))、2000年6月号に記載されているように、レーザポインタを使った較正は成功している。レーザポインタを用いた校正は、較正以外にも役立つ容易に利用可能な装置を使用するという課題に対処すると共に、複数のカメラから見えるという課題にも対処する。しかしながら、単一点を識別し、追跡するのはそう容易なことではない、という点で限界がある。
【0080】
本発明の技法の一実施形態によれば、ジェスチャインターフェースを可能にするのと同じ物体が、カメラ較正用の物体としても使用される。というのは、較正でもジェスチャ認識でも、物体がいかに識別可能であるかと、物体がいかに追跡し易いかには、多くの共通部分があるからである。特に、ワンドをジェスチャインターフェース装置として機能させると同時に、効果的な較正用の物体としても機能させる、ワンド上の特徴について説明する。
【0081】
カメラ画像から、三次元(3D)空間を再構成し、画像点と実世界点(world point)とを関連付けることができれば有用である。ワンドは、ワンドを撮影することができる任意のカメラで得られた対応画像点を、特定する「実世界点」を指し示すのに使用することができる。例えば、多くのカメラを含む監視システムを設置する問題を考えるとする。最新の監視システムは、環境の制約された三次元モデルを含み得る。このモデルの一部は、利用可能な平面図(floor plan)によって決定され得る。しかしながら、監視システムでは、家具の位置も、モデルに必要なテクスチャ画像も利用できない。
【0082】
カメラがセットアップされ、設置された後で、ユーザがワンドを使って家具、ディスプレイ、画像(picture)などの位置を指定する「アプリケーション」が構築され得る。例えば、描画プログラムが、平面上に平坦な長方形を描くモードを有するのと同様に、空間モデリングアプリケーションは、ワンドを使って、テーブルや机の上など、モデル化された空間において長方形が定義されるモードを有し得る。空間のモデルが形成されると、ワンドは、家具をどこに移動し得るか試すなどの、仮想変更を指定する方法も提供する。
【0083】
<ワンド設計の例>
本説明の残りの部分では、本発明のワンドを設計し、追跡する技法を論じる。図1には、本発明の一実施形態に係るワンドの一例が図示されている。図1には、ワンド100のいくつかの有用な特徴(aspects)が図示されている。具体的には、図示されたワンド100は、着色領域101〜103(青色領域101、緑色領域102、赤色領域103)を有している。これらの領域は、大まかに追跡するのが容易であり、追跡の初期設定に使用やすい。また、ワンド100は、らせん状のマーキング104を有する領域も含んでいる。このらせん状のマーキング104は、ワンド100の軸に関してのワンドのねじれを決定するのに役立つ。
【0084】
また、ワンド100は、円筒形バーコード105を有する帯や、角(チェッカーボード)106を有する帯の形で、符号化された情報も含み得る。これらは、ワンドがカメラの近くにあるときに、ワンドの姿勢をより精密に決定するのに使用され得る。精度を高めるために、チェッカーボードパターン106は、チェッカーボード升目の中央にドット又はぼかしたブロブ(blurred blob;輪郭がぼんやりした着色部)を含んでいてもよい。
【0085】
本発明の一実施形態では、本発明のワンドは、設計パターンを印刷し、そのパターンを円筒の周りに巻くことによって容易に構成される。このように印刷可能な設計パターン201を図2に示す。この設計パターン201を使用して、本発明の特徴を備えたワンド100を容易に構成することができる。図2に示すワンド(設計パターン201)は、ハンドル領域202と、バーコード領域105と、ねじれコード領域104と、大まかな追跡のためのカラーブロブ101、102及び103と、精密特徴領域106と、を含んでいる。このパターン201が、印刷され、円筒上に巻かれて、図1に示すようなワンド100が製造される。
【0086】
<技法の詳細>
図3に、本発明の一実施形態に係る例示的システムの処理手段に相当する処理部300の概要を示す。ワンドを追跡する第1のステップは、粗いレベルの追跡である。これは、ワンド上に見られる異なる着色領域に基づくものとすることができる(ステップ303参照)。一実施形態では、初期設定ステップ302で、撮影画像301の動作履歴305を使用し、色モデル306を使って着色領域をサーチする。これらの着色領域が検出されると、例えば、当業者によく知られているOpenCVツールキットの一部として提供されるCAM SHIFT(continuously adaptive mean shift: 連続適応的平均値シフト)追跡アルゴリズムの変形バージョンと、動的モデル308などを使って追跡される。追跡プログラム(tracker)が失敗した場合、又は複数のカメラからの追跡結果が整合しない場合には、初期設定ステップ302を使って、追跡プログラムの初期設定が再度行なわれる。
【0087】
ワンドの大まかな位置が取得された後、ステップ304で、ワンドの特徴を抽出するために、ワンドのエッジ307を使って、ワンドの長さに沿ったスキャンライン(scan line; 走査線)が検出される。この手順を、さらに、図3に示す。例えば、カルマンフィルタ等の動的モデル308が、平滑化を実行し、次のフレームの処理のためにワンドの位置を予測する。ステップ310で、ワンドの6軸での姿勢(6D pose)が推定される。続いて、ステップ309で、ジェスチャ処理が行われる。そして、ジェスチャ処理の結果を用いてユーザアプリケーション311が制御される。
【0088】
<姿勢の決定方法>
次に、ワンドに沿った3点から姿勢を決定する方法の一例を説明する。説明する方法は例示にすぎず、より多くの点を使用する、より確実な他の方法も使用され得ることを理解すべきである。簡潔に説明するために、本明細書ではこのより単純な方法を、典型的な姿勢と一般的な事例の仮定とに基づいて説明するが、この方法は特殊な事例を処理するように容易に拡張され得る。
【0089】
ワンド100の姿勢は、その「位置」と「向き」とによって特徴付けられる。位置は、x、y、z座標系におけるベクトルw=(wx,wy,wz)によって与えられる。これは、ワンドの「端点(endpoint)」の位置として取得される。ワンド100の向きは、図4に示すように、法線ベクトルn=(nx,ny,nz)によって与えられる。加えて、ワンドの「ねじれ」も、nによって決定される軸の周りの回転を指定する角度θによって与えられる。ワンドのラインスキャンモデル(line-scan model)では、その他の点の位置が、図5に示すように、それら各点の法線501に沿った端点からの距離によって与えられる。
【0090】
図4に、ワンド100の実施形態の一例と、その画像面401上への投影402とを示す。具体的には、ワンド100は、ピンホール透視変換によって、画像面401上に投影される。5自由度のワンド姿勢は、「位置」w=(wx,wy,wz)と、「法線ベクトルn=(nx,ny,nz)によって記述される「向き」と、によって指定される。また、別の自由度が、(不図示の)nの周りのワンドの回転(ねじれ)によって与えられる。任意のワンドの「向き」nは、位置に拘らず、原点からの方向nを有する光線が画像面と交わる点に消失点を有する。
【0091】
ワンド100の姿勢は、ワンドに沿ったキーポイントとなる画像座標(image coordinate)から求められる。分析のために、実世界点座標(world point coordinate)が、カメラの自然基準座標系(a natural reference frame of the camera)において考察されるが、当然ながら、カメラ姿勢が分かっていれば、これらは任意の座標系に変換され得る。原点に投影の中心を有するピンホールカメラモデルを仮定すると、実世界点wx,wy,wzの画像点(x,y)は次式によって与えられる。
【0092】
【数1】

【0093】
式中、fはカメラの焦点距離、即ち、画像面401と投影点の間の距離であり、xc,ycは、画像の主点(principle point)を指定する。
【0094】
図5に、ワンド100の復号化の技法の一例を示す。画像は、ラインスキャン(線走査)に基づいて復号化される。ワンドは、エッジ解析を使って、画像中で検出される。又は、異なる色の単純な色追跡によって検出される。次いで、ワンドの長さに沿ってスキャンライン501が取得され、このスキャンライン501と色領域の開始点との交点の画像座標が、(x0,x0)、(x1,y1)、(x2,y2)とされる。また、スキャンライン501とねじれコード領域との交点の画像座標が、(xa,ya)とされる。この情報は、ワンドの姿勢を決定するのに十分である。
【0095】
fとxc,ycのどんな値の結果も、単に、画像座標の変換とスケーリングにすぎないため、この考察では、f=1であり、x0=0、y0=0であるものと仮定する。ワンド端点から距離がrである点の投影像の画像座標は、以下のように求められる。
【0096】
【数2】

【0097】
下記の点に留意されたい。即ち、r=0では、これは単にワンドの端点の画像である。また、rが無限大となる限界では、これは、方向nx,ny,nzの任意の光線に対応する消失点(a=nx/nz,b=ny/nz)に接近する。
【0098】
第1の点がワンドの端部にあり、第2の点が端部から距離r1にあり、第3の点が端部から距離r2にある、ワンドのラインに沿った3点を考える。画像内でワンドが検出されると、これらの点がワンドに沿ったラインスキャンによって求められ、異なる色領域の開始点が検索される。これらの3点の座標を、(x0,y0)、(x1,y1)、(x2,y2)で表す。上記の式を使って、wx,wy,wzとnx,ny,nzという6つの未知数の6つの式、即ち、下記3式と、y1,y2,y3での3つの類似の式が決定され得る。
【0099】
【数3】

【0100】
しかしながら、nは法線ベクトルであるため、5自由度があることに留意すべきである。これらの式を解けば、ワンドの姿勢が、「ねじれ」、即ち、ワンドの長軸の周りの回転aに到るまで、決定され得る。
【0101】
<ねじれを決定するためのらせん>
加えて、ラインスキャンが、ねじれ符号化らせん(twist encoding spiral)と交わる点の画像座標xa,yaも求められる。この画像座標とワンドの姿勢とから、ワンドの端部からこの点までの距離raが次式によって求められる。
【0102】
【数4】

【0103】
この場合、ねじれ符号化帯(twist encoding band)のワンド上での長さを「LT」とし、その長さに沿ったねじれが1回転するものとし、その帯の開始位置を「rT」とすると、ねじれの角度θは以下の通りである。
【0104】
【数5】

【0105】
<本発明のワンドの姿勢を計算する方法の要約>
本発明のワンドの姿勢を決定する方法は、画像点(x0,y0)、(x1,y1)、(x2,y2)を入力し、以下の計算式を用いて、ワンド位置点wx,wy,wzと、ワンド向きベクトルnx,ny,nzと、を算出する。
【0106】
【数6】

【0107】
<姿勢決定を可能にする他の設計>
以下で、ワンドの姿勢決定に役立つ、上記の実施の形態とは別のいくつかの設計上の特徴を説明する。
【0108】
(姿勢の曖昧性の除去)
いくつかの姿勢は、厳密な事例では区別可能であるが、比較的わずかな雑音の存在下で区別できないこともある。例えば、カメラにほぼ平行であるが+5度傾いている姿勢と、カメラにほぼ平行であるが−5度傾いている姿勢という2つの姿勢は、実際には区別が難しいこともある。本発明の一実施形態では、ワンドは、スキャンラインと直交する平坦な端部を有するように設計される。両端部は、異なる色に着色され得る。カメラを指し示す端部だけが検出されるので、どちらの色が検出されるかによって2つの姿勢が区別され得ることになる。
【0109】
(ワンドの大部分が見え難いときでさえも姿勢を決定すること)
本発明の一実施形態では、ワンドの端部からの距離を一意に決定する帯状のパターンを、ワンドの周りを複数回巻いているらせんパターンと共に使って、ワンドのわずかな部分だけしか見えない場合でさえも、姿勢が決定され得る。
【0110】
図6に、ワンドの分散された特徴パターン600の実施形態の一例を示す。情報は、多くの可能な方法で、ワンド上に重複して符号化され得る。この例に示すワンドは、複数のねじれ符号化帯601を有する。これら複数のねじれ符号化帯の間には、青帯602が配置されている。各青帯602の相対的配置が、ワンドに沿った青帯602の相対的位置を示す。
【0111】
(複数特徴点の復号化)
本発明の技法の一実施形態は、1次元のラインスキャンに沿って決定され得る特徴を処理することを含んでいる。しかしながら、ワンドがカメラに十分に近いときには、ワンドの幅が大きくなり、単線上にない点を姿勢推定に使用することができる。当業者に知られているOpenCVパッケージは、実世界点と対応する画像点の集合から姿勢を決定するアルゴリズムの実施形態を提供する。本発明の一実施形態では、このアルゴリズムを用いて、単一のカメラを使用してワンドの姿勢が決定される。
【0112】
(複数のカメラに基づく復号化)
複数のカメラを使用するといくつかの利点が生じる。1つの利点としては、典型的には、1台のカメラではワンドがほとんどそのカメラに向けられているために、ワンドの姿勢がうまく復号化できないとき、ワンドの姿勢が別のカメラによって適切に決定され得る。また、ワンドの位置は、一般に三角法を使用すれば、2台のカメラを用いてはるかに正確に求めることができる。また、カメラの1台が、例えば、鏡面反射やワンドが見え難い等の理由でワンドの位置を見失った場合であっても、他のカメラによって決定された姿勢は、そのカメラ内の追跡プログラムがワンドの追跡を回復するのに役立つ。
【0113】
(円筒型バーコードを使ったワンド情報の符号化)
ワンドの姿勢が決定されると、ワンド識別子などの符号化された情報を含む領域が復号化され得る。画像ラインスキャンは、ワンドに沿ったラインスキャンに戻される。即ち、透視の影響が排除され、バーコードが復号化される。これは種々の方法で行われ得る。しかしながら、簡単な方法は、1つの符号化帯につき1ビットの情報を符号化する白又は黒のn個の帯位置を備えるものである。
【0114】
(赤外線照射及び再帰反射マーク)
本発明のシステムの別の実施形態では、図7に示すように、赤外線(IR)発光ダイオードで取り囲まれた、赤外線カメラを使用する。この実施形態では、ワンドは、赤外光を光源の方向に強力に逆反射する赤外線反射紙又は再帰反射材料で構成される。これらの赤外線カメラが、適切な赤外線フィルタを備えるとき、結果として生じる画像は、非常に区分化しやすい。
【0115】
図7に、赤外線追跡用の赤外線カメラの実施形態の一例を示す。この図には、変形された“AXIS206(登録商標)”等のネットワークカメラ701が図示されている。ネットワークカメラ701は、光源として赤外線発光ダイオード702を備えている。レンズの下には赤外線フィルタ(不図示)が備えられており、その結果、赤外線反射材料で構成されているワンドの画像は、非常に高い信号対雑音比(S/N)を有するものになる。
【0116】
<ハードウェアプラットフォームの例>
図8は、本発明の方法論に係る実施形態が実施され得るコンピュータ/サーバシステム800の一実施形態を示すブロック図である。システム800は、コンピュータ/サーバプラットフォーム801と、周辺装置802と、ネットワークリソース803を含む。
【0117】
コンピュータプラットフォーム801は、データバス804又はコンピュータプラットフォーム801の様々な部分にまたがってこれらの間で情報を伝達する別の通信機構と、バス804と接続されたプロセッサ805と、を含み得る。プロセッサ805は、情報を処理し、他の計算処理及び制御タスクを実行する。また、コンピュータプラットフォーム801は、バス804に接続された、ランダムアクセスメモリ(RAM)その他の動的記憶装置などの揮発性記憶806も含む。揮発性記憶806は、プロセッサ805によって実行される命令のみならず様々な情報も格納する。また、揮発性記憶806は、プロセッサ805による命令実行時に、一時変数その他の中間情報を格納するのにも使用され得る。
【0118】
コンピュータプラットフォーム801は、さらに、バス804に接続された読取り専用メモリ(ROM又はEPROM)807その他の静的記憶装置を含み得る。読取り専用メモリ807等は、様々なシステム構成パラメータのみならず、基本入出力システム(BIOS)など、プロセッサ805のために静的情報及び命令も格納する。情報及び命令を格納するために、磁気ディスク、光ディスク、ソリッドステートフラッシュメモリデバイスなどの永続的記憶装置808が設けられ、バス804に接続されている。
【0119】
コンピュータプラットフォーム801は、バス804を介して、ブラウン管(CRT)、プラズマディスプレイ、液晶ディスプレイ(LCD)などのディスプレイ809に接続されていてもよい。ディスプレイ809は、システム管理者又はコンピュータプラットフォーム801のユーザに情報を表示する。また、プロセッサ805に情報及びコマンド選択を伝達するために、バス804を介して、英数字などのキーを含む入力装置810が接続されている。別種のユーザ入力装置が、プロセッサ805に方向情報及びコマンド選択を伝達し、ディスプレイ809上のカーソルの動きを制御する、マウス、トラックボール、カーソル方向キーなどのカーソル制御装置811である。この入力装置は、通常、装置が平面内の位置を指定することを可能にする、第1の軸(xなど)と第2の軸(yなど)の2軸における2自由度を有する。
【0120】
コンピュータプラットフォーム801に、追加の又は取り外し可能な記憶容量を提供する外部記憶装置812が、バス804を介して、コンピュータプラットフォーム801に接続されてもよい。コンピュータシステム800の一実施形態では、外部取り外し可能な記憶装置812を使って、他のコンピュータシステムとのデータ交換が円滑化され得る。また、ワンドの画像を撮像するために、バス804を介して、少なくとも1台のカメラ830が接続されている。
【0121】
本発明は、本明細書で説明する技法を実施するためのコンピュータシステム800の使用に関連するものである。一実施形態では、本発明のシステムは、コンピュータプラットフォーム801などのマシン上にあってもよい。本発明の一実施形態によれば、本明細書で説明する技法は、プロセッサ805が、揮発性メモリ806に含まれる1つ又は複数の命令の1つ又は複数のシーケンスを実行したことに応答して、コンピュータシステム800によって実行される。
【0122】
かかる命令は、永続的記憶装置808など、別のコンピュータ可読媒体から揮発性メモリ806に読み込まれてもよい。揮発性メモリ806に含まれる命令シーケンスの実行が、プロセッサ805に、本明細書で説明するプロセスステップを実行させる。代替の実施形態では、配線接続回路を、ソフトウェア命令の代わりに、又はソフトウェア命令と組み合わせて使って、本発明が実施されてもよい。よって、本発明の実施形態は、ハードウェア回路とソフトウェアのどんな特定の組み合わせにも限定されるものではない。
【0123】
本明細書で使用する「コンピュータ可読媒体(コンピュータ読み取り可能な記録媒体)」という用語は、プロセッサ805に実行のための命令を提供することに関与する任意の媒体を指す。コンピュータ可読媒体は、本明細書で説明する方法及び/又は技法のいずれかを実施する命令を搬送し得る、機械可読媒体の一例にすぎない。かかる媒体は、それだけに限らないが、不揮発性媒体、揮発性媒体を含めて、多くの形を取り得る。不揮発性媒体には、例えば、記憶装置808などの、光ディスクや磁気ディスクが含まれる。揮発性媒体には、揮発性記憶806などの動的メモリが含まれる。
【0124】
コンピュータ可読媒体の一般的な形には、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、又は他の任意の磁気媒体、CD−ROM、他の任意の光媒体、パンチカード、紙テープ、他の任意の孔パターンを有する物理媒体、RAM、PROM、EPROM、フラッシュEPROM、フラッシュドライブ、メモリカード、他の任意のメモリチップ又はカートリッジ、又はコンピュータが読み取ることのできる他の任意の媒体が含まれる。
【0125】
様々な形のコンピュータ可読媒体が、プロセッサ805に実行のための1つ又は複数の命令の1つ又は複数のシーケンスを搬送するのに関与し得る。例えば、命令は、最初に、リモートコンピュータから磁気ディスクに載せて搬送されてもよい。代替として、リモートコンピュータは、命令をその動的メモリにロードし、モデムを使い、電話回線を介してその命令を送ることもできる。コンピュータシステム800にとってローカルのモデムは、電話回線でデータを受け取り、赤外線送信機を使って、そのデータを赤外線信号に変換することができる。
【0126】
赤外線検出器は、赤外線信号として搬送されるデータを受け取ることができ、適切な回路が、そのデータをデータバス804に載せることができる。バス804は、データを揮発性記憶806に運び、そこからプロセッサ805は、命令を取り出し、実行する。揮発性メモリ806によって受け取られる命令は、任意選択で、プロセッサ805による実行の前又は後に、永続的記憶装置808に格納されてもよい。また、命令は、当分野で知られている様々なデータ通信プロトコルを使い、インターネットを介してコンピュータプラットフォーム801にダウンロードされてもよい。
【0127】
また、コンピュータプラットフォーム801は、データバス804に接続されたネットワークインターフェースカード813など、通信インターフェースも含む。通信インターフェース813は、ローカルネットワーク815に接続されているネットワークリンク814に接続する双方向データ通信を提供する。例えば、通信インターフェース813は、対応する種類の電話回線へのデータ通信接続を提供する総合サービスデジタルネットワーク(ISDN)カード又はモデムとすることができる。別の例として、通信インターフェース813は、互換性を有するローカルエリアネットワーク(LAN)へのデータ通信接続を提供するLANインターフェースカード(LAN NIC)とすることもできる。また、よく知られている802.11a、802.11b、802.11g、ブルートゥースといった無線リンクもネットワーク実装に使用され得る。かかる任意の実装形態において、通信インターフェース813は、様々な種類の情報を表すデジタルデータストリームを搬送する電気信号、電磁信号又は光信号を送受信する。
【0128】
ネットワークリンク814は、通常、1つ又は複数のネットワークを介して他のネットワークリソースへのデータ通信を提供する。例えば、ネットワークリンク814は、ローカルネットワーク815を介して、ホストコンピュータ816又はネットワーク記憶/サーバ822への接続を提供し得る。加えて、又は代替として、ネットワークリンク814は、ゲートウェイ/ファイアウォール817を介して、インターネットなどの広域又はグローバルネットワーク818にも接続し得る。よって、コンピュータプラットフォーム801は、リモートネットワーク記憶/サーバ819など、インターネット818上の任意の場所に位置するネットワークリソースにアクセスすることができる。他方、コンピュータプラットフォーム801も、ローカルエリアネットワーク815及び/又はインターネット818上の任意の場所に位置するクライアントによってアクセスされ得る。ネットワーククライアント820及び821は、それ自体が、プラットフォーム801に類似のコンピュータプラットフォームに基づいて実施されてもよい。
【0129】
ローカルネットワーク815もインターネット818も、デジタルデータストリームを搬送する電気信号、電磁信号又は光信号を使用する。様々なネットワークを通る信号と、コンピュータプラットフォーム801との間でデジタルデータを搬送する、ネットワークリンク814上と通信インターフェース813を通る信号とは、情報を搬送する搬送波の例示的な形である。
【0130】
コンピュータプラットフォーム801は、インターネット818とローカルエリアネットワーク815を含む様々なネットワーク、ネットワークリンク814と通信インターフェース813を介して、メッセージを送信し、プログラムコードを含むデータを受信することができる。インターネットの例では、システム801は、ネットワークサーバとして働くとき、インターネット818、ゲートウェイ/ファイアウォール817、ローカルエリアネットワーク815及び通信インターフェース813を介して、(1つ又は複数の)クライアント820及び/又は821上で実行されるアプリケーションプログラムのために要求されるコード又はデータを送信することもできる。
【0131】
受信コードは、受け取られるとプロセッサ805によって実行され、及び/又は、後で実行するために、永続的又は揮発性記憶装置808及び806、あるいは他の不揮発性記憶にそれぞれ記憶され得る。このようにして、コンピュータシステム801は、アプリケーションコードを、搬送波の形で獲得してもよい。
【0132】
最後に、本明細書で説明しているプロセス及び技法は、本来、いかなる特定の装置にも関連するものではなく、任意の適切な構成要素の組み合わせによって実施され得ることを理解すべきである。さらに、本明細書で説明する技法に従って、様々な種類の汎用装置が使用され得る。また、本明細書で説明する方法ステップを実行する専用の装置を構築することが有利であることも分かる。本発明を、特定の例との関連で説明しているが、これらは、あらゆる点において、限定のためではなく例示のためのものである。ハードウェア、ソフトウェア及びファームウェア多くの異なる組み合わせが本発明を実施するのに適することを、当分野の技術者は理解するであろう。例えば、前述のソフトウェアは、アセンブラ、C/C++、Perl、Shell、PHP、Java(登録商標)など、多種多様なプログラム言語又はスクリプト言語で実施され得る。
【0133】
さらに、本明細書を考察し、本明細書で開示する本発明を実施すれば、当業者には、本発明の他の実施形態も明らかになるであろう。前述の実施形態の様々な態様及び/又は構成要素が、データ複製機能を有するコンピュータによる記憶システムにおいて、単独で、又は任意の組み合わせとして使用され得る。仕様及び例は、例示にすぎないものとみなされ、本発明の真の適用範囲及び精神は、添付の特許請求の範囲によって示されるものである。
【図面の簡単な説明】
【0134】
【図1】ワンドの実施形態の一例を示す図である。
【図2】ワンドパターンの実施形態の一例を示す図である。
【図3】本発明のシステムの一実施形態に係るシステムの一例の概要を示す図である。
【図4】ワンドの実施形態の一例とその画像面上への投影を示す図である。
【図5】ワンドの復号化の技法を例示する図である。
【図6】分散された特徴パターンを備えた実施形態の一例を示す図である。
【図7】赤外線(IR)追跡用に改造されたカメラの実施形態の一例を示す図である。
【図8】本発明のシステムが実施され得るコンピュータプラットフォームの実施形態の一例を示す図である。
【符号の説明】
【0135】
100 ワンド
101、102、103 カラーブロブ(着色領域)
104 らせん状のマーキング(ねじれコード領域)
105 円筒形バーコード(バーコード領域)
106 チェッカーボードパターン(精密特徴領域)
201 設計パターン
202 ハンドル領域
300 処理部
301 撮影画像(ビデオ画像)
305 動作履歴
306 色モデル
307 エッジ
308 動的モデル(カルマントラッカなど)
311 ユーザアプリケーション
401 画像面
402 投影
501 スキャンライン
600 特徴パターン
601 符号化帯
602 青帯
701 ネットワークカメラ
702 赤外線発光ダイオード
800 コンピュータシステム
801 コンピュータプラットフォーム
802 周辺装置
803 ネットワークリソース
804 データバス
805 プロセッサ
806 揮発性記憶装置
807 EPROM/ファームウェア記憶装置
808 永続的記憶装置
809 ディスプレイ
810 キーボード(入力装置)
811 カーソル制御装置(マウス/位置決め装置)
812 外部記憶装置
813 ネットワークインターフェースカード
814 ネットワークリンク
815 イントラネット(LAN)
816 ホスト
817 ゲートウェイ/ファイアウォール
818 インターネット
819、822 ネットワークサーバ/ネットワーク記憶
820、821 クライアント
830 カメラ

【特許請求の範囲】
【請求項1】
ジェスチャによりコンピュータと対話するジェスチャインターフェースシステムであって、
a.ユーザによって操作され、外観パターンに少なくとも1つの特徴を備えるジェスチャ入力用のワンドの画像を作成するように動作する少なくとも1台のカメラと、
b.前記カメラから作成された前記ワンドの画像を受け取り、前記ワンドの前記少なくとも1つの特徴に基づいて、前記ワンドの位置、前記ワンドの向き及び前記ワンドのねじれを含む前記ワンドの姿勢を決定するように動作すると共に、前記ワンドの前記決定された姿勢を用いて、ユーザアプリケーションを制御する処理手段と、
を備えるジェスチャインターフェースシステム。
【請求項2】
前記処理手段は、少なくとも、前記ワンドの複数の色領域に基づいて、前記ワンドの前記姿勢を決定するように動作する請求項1に記載のジェスチャインターフェースシステム。
【請求項3】
前記処理手段は、少なくとも、前記ワンドのねじれコード領域に基づいて、前記ワンドの前記姿勢を決定するように動作する請求項1に記載のジェスチャインターフェースシステム。
【請求項4】
前記ねじれコード領域は、らせんパターンを備える請求項3に記載のジェスチャインターフェースシステム。
【請求項5】
前記処理手段は、少なくとも、精密特徴領域に基づいて、前記ワンドの前記姿勢を決定するように動作する請求項1に記載のジェスチャインターフェースシステム。
【請求項6】
前記精密特徴領域は、チェッカーボードパターンを備える請求項5に記載のジェスチャインターフェースシステム。
【請求項7】
前記チェッカーボードパターンは、チェッカーボード升目の中央にドット又はぼかしたブロブを備える請求項6に記載のジェスチャインターフェースシステム。
【請求項8】
前記ワンドは、情報を符号化するバーコード領域をさらに備える請求項1に記載のジェスチャインターフェースシステム。
【請求項9】
前記処理手段は、前記ワンドの前記バーコード領域に符号化された前記情報に基づいて、前記ワンドの識別子を決定するように動作する請求項8に記載のジェスチャインターフェースシステム。
【請求項10】
前記ユーザによって操作され、前記ワンドの画像を作成するように動作する第2のカメラであって、前記少なくとも1台のカメラとは異なる位置に配置された前記第2のカメラをさらに備える請求項1に記載のジェスチャインターフェースシステム。
【請求項11】
前記処理手段は、前記ワンドのスキャンラインを再構成し、前記ワンドの前記スキャンラインと前記ワンドの前記少なくとも1つの特徴との交点を求めることによって、前記ワンドの前記姿勢を決定するように動作する請求項1に記載のジェスチャインターフェースシステム。
【請求項12】
前記ワンドの一端は色コードを備え、前記処理手段は、前記ワンドの一部分だけしか見えないときに、前記色コードを使って前記ワンドの前記姿勢を決定するように動作する請求項1に記載のジェスチャインターフェースシステム。
【請求項13】
前記少なくとも1台のカメラは赤外線カメラであり、前記ワンドの表面が赤外線反射材料又は再帰反射材料を含む請求項1に記載のジェスチャインターフェースシステム。
【請求項14】
前記赤外線カメラは、少なくとも1つの赤外線発光源と、少なくとも1つの赤外線フィルタとを備える請求項13に記載のジェスチャインターフェースシステム。
【請求項15】
前記処理手段は、前記少なくとも1台のカメラによって取得される前記ワンドの前記画像に基づいて、前記少なくとも1台のカメラを較正するように動作する請求項1に記載のジェスチャインターフェースシステム。
【請求項16】
ジェスチャインターフェースで使用するためのジェスチャ入力用ワンドであって、
a.ねじれコード領域と、
b.色コード領域と、
c.精密特徴領域と、
を外観パターン上の特徴として備えるジェスチャ入力用ワンド。
【請求項17】
前記色コード領域は、前記ワンドの長さに沿って分散された複数の色帯を備える請求項16に記載のジェスチャ入力用ワンド。
【請求項18】
前記複数の色帯は異なる色を有する請求項17に記載のジェスチャ入力用ワンド。
【請求項19】
前記ねじれコード領域はらせんパターンを備える請求項16に記載のジェスチャ入力用ワンド。
【請求項20】
前記ねじれコード領域は、前記ワンドの前記長さに沿って分散された複数のらせんパターンを備える請求項16に記載のジェスチャ入力用ワンド。
【請求項21】
前記精密特徴領域はチェッカーボードパターンを備える請求項16に記載のジェスチャ入力用ワンド。
【請求項22】
前記チェッカーボードパターンは、チェッカーボード升目の中央にドット又はぼかしたブロブを備える請求項21に記載のジェスチャ入力用ワンド。
【請求項23】
符号化情報を備えるバーコード領域をさらに備える請求項16に記載のジェスチャ入力用ワンド。
【請求項24】
前記符号化情報は前記ワンドの識別子を備える請求項23に記載のジェスチャ入力用ワンド。
【請求項25】
前記ワンドの少なくとも一端が色コードを備える請求項16に記載のジェスチャ入力用ワンド。
【請求項26】
前記ワンドの表面が赤外線反射材料又は再帰反射材料を備える請求項16に記載のジェスチャ入力用ワンド。
【請求項27】
ユーザによって操作され、外観パターンに少なくとも1つの特徴を備えるジェスチャ入力用のワンドの姿勢に基づいて、コンピュータアプリケーションを制御するアプリケーション制御方法であって、
a.少なくとも1台のカメラを使って、前記ユーザによって操作されるワンドの画像を作成するステップと、
b.前記作成される画像を用い、前記ワンドの前記少なくとも1つの特徴に基づいて、前記ワンドの位置、前記ワンドの向き及び前記ワンドのねじれを含む前記ワンドの前記姿勢を決定するステップと、
c.前記ワンドの前記決定された姿勢に基づいて前記コンピュータアプリケーションを制御するステップと、
を備えるアプリケーション制御方法。
【請求項28】
ユーザによって操作され、外観パターンに少なくとも1つの特徴を備えるジェスチャ入力用のワンドの画像に基づいてカメラの校正を行うカメラ校正方法であって、
a.少なくとも1台のカメラを使って、前記ユーザによって操作されるワンドの画像を作成し、作成された画像に基づいて前記コンピュータアプリケーションを制御するステップと、
b.前記少なくとも1台のカメラによって取得された前記ワンドの前記画像に基づいて、前記少なくとも1台のカメラを較正するステップと、
を含むカメラ校正方法。
【請求項29】
ユーザによって操作され、外観パターン上に少なくとも1つの特徴を備えるジェスチャ入力用のワンドの姿勢に基づいて、コンピュータアプリケーションを制御するための制御プログラムであって、
コンピュータにより、
a.少なくとも1台のカメラよって作成された前記ワンドの画像を取得するステップと、
b.前記作成された画像を用い、前記ワンドの前記少なくとも1つの特徴に基づいて、前記ワンドの位置、前記ワンドの向き及び前記ワンドのねじれを含む前記ワンドの前記姿勢を決定するステップと、
c.前記ワンドの前記決定された姿勢に基づいて前記コンピュータアプリケーションを制御するステップと、
を実行させる制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2009−134677(P2009−134677A)
【公開日】平成21年6月18日(2009.6.18)
【国際特許分類】
【出願番号】特願2007−332741(P2007−332741)
【出願日】平成19年12月25日(2007.12.25)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】