【文献】
西野 浩明、凍田 和美、宇都宮 孝一,両手ジェスチャで変形可能な3次元形状表現法,情報処理学会論文誌,日本,社団法人情報処理学会,1999年 2月15日,Vol.40 No.2,pp698−701
(58)【調査した分野】(Int.Cl.,DB名)
少なくとも1つのデバイスプロセッサと、実行可能命令を格納する機械可読記憶装置と、を有し、前記実行可能命令は、実行されると、前記少なくとも1つのデバイスプロセッサに、
複数のデータベースオブジェクトを有するデータベースへのアクセスを開始し、各データベースオブジェクトは、複数の所定の3次元(3D)モデルのうちの個々の1つに関連付けられ、前記3Dモデルの各々は、複数の所定の3Dアイテムのうちの対応する1つの外観をシミュレートし、
自然なジェスチャ動作に基づく動作主の少なくとも片手の自由な動きに基づき前記動作主の少なくとも片腕の動きに関連付けられた3D空間画像データを受信し、
前記の受信した3D空間画像データに従って、前記少なくとも片手の3D位置の時間的連続3D表現を追加的に統合し、閾時間値と前記自由な動きの間に複数の3D領域内の前記少なくとも片手により費やされた時点の数との比較に基づき統合のために前記受信した3D空間画像データの一部を選択することに基づき、統合3Dモデルを生成し、
前記データベースにアクセスすること、及び前記統合3Dモデルに一致する少なくとも1つの前記所定の3Dモデルと関連する少なくとも1つの前記データベースオブジェクトを決定することに基づき、少なくとも1つの前記所定の3Dアイテムを選択する、
ようにさせるよう構成される、システム。
機械可読記憶装置に実現可能に具現化されたコンピュータプログラムであって、実行可能コードを有し、該実行可能コードは、実行されると、少なくとも1つのデータ処理装置に、
複数のデータベースオブジェクトを有するデータベースへのアクセスを開始し、各データベースオブジェクトは複数の所定の3次元(3D)モデルのうちの個々の1つに関連し、前記3Dモデルの各々は複数の所定の3Dアイテムのうちの対応する1つの外観をシミュレートし、
自然なジェスチャ動作に基づく動作主の少なくとも片手の自由な動きに基づく前記動作主の少なくとも片腕の動きに関連する3D空間画像データを受信し、
前記の受信した3D空間画像データに従って前記少なくとも片手の3D位置の時間的連続的3D表現を追加的に統合すること、閾時間値と、前記自由な動き中の複数の3D領域の中の前記少なくとも片手により費やされる時点の数との比較に基づき、統合のために前記受信した3D空間画像データの部分を選択することに基づき、統合3Dモデルを生成し、
デバイスプロセッサにより、データベースへのアクセス、及び前記統合3Dモデルと一致する少なくとも1つの前記所定の3Dモデルに関連する少なくとも1つの前記データベースオブジェクトの決定に基づき、少なくとも1つの前記所定の3Dアイテムを選択する、
ようにさせるよう構成される、コンピュータプログラム。
【発明を実施するための形態】
【0010】
話し手は、物理的オブジェクトについて話すとき又は説明するとき、手振りを用いる場合が多い。例えば、このようなジェスチャは、口頭で説明することが難しい形状の特徴を伝える際に、話し手を支援し得る。本願明細書に記載される技術は、例えば、ジェスチャを行う人により想像された3Dアイテムの外観をエミュレートし得る3次元(3D)モデルを生成するジェスチャに基づく記述機能を提供するために用いることができる。例えば、小売店にいる顧客は、その店が特定のアイテムをその店の現在の在庫に有するか否かを決定したいと望み得る。本願明細書に記載の技術を用いて、顧客は、検知装置(例えば、深度カメラ)の範囲内で彼/彼女の手(又は他のオブジェクト)を用いて3Dアイテムをジェスチャ又はパントマイムで説明しても良い(例えば空間に3Dアイテムを説明する)。そして、例示的なシステムは、顧客のジェスチャに基づき3Dモデルを生成しても良い。必要なら、次に、生成したモデルは、生成された3Dモデルと最も一致する1又は複数の所定のアイテムを決定するために、例えば在庫データベース内の所定の3Dモデルと照合されても良い。例えば、次に、システムは、顧客又は店の従業員に、最も近い一致をその場所と共に提示しても良い。
【0011】
店の従業員又は管理者が(例えば後に選択するために)別の在庫オブジェクトを在庫データベースに追加したい場合、彼/彼女は、予め構築された3Dモデルをデータベースに提供し、3Dオブジェクトを検知装置(例えば深度カメラ)に提示し、3Dモデルが生成され及び後の検索のために在庫データベースに追加されるようにしても良い。
【0012】
別の例として、電子的に支援されたゲーム活動に従事している人は、特定のゲームオブジェクトをゲーム経験に招致させたいと望み得る。彼/彼女は、ゲームオブジェクトのうちの1つを(例えば後に詳述するようにジェスチャ又はデータマイムにより)空間的に説明し、例示的なシステムが人のジェスチャに基づき3Dモデルを生成できるようにしても良い。例えば、次に、システムは、生成された3Dモデルと最も一致する1又は複数の所定のアイテムを決定するために、所定のゲームオブジェクトと関連付けられた所定の3Dモデルのデータベースを検索しても良い。例えば、ゲームは、プレイヤのジェスチャにより示された寸法にオブジェクトを仕立てても良い。
【0013】
人が(例えば後に選択するために)別のゲームオブジェクトをゲームデータベースに追加したい場合、その人は、予め構築された3Dモデルをデータベースに提供し、又は物理的3Dオブジェクトを検知装置(例えば深度カメラ)に提示し、3Dモデルが生成され及び後の検索のためにゲームオブジェクトデータベースに追加されるようにしても良い。
【0014】
別の例として、仮想環境活動に従事する人は、仮想環境で使用するために3D仮想オブジェクトを招致したいと望み得る。前述の例と同様に、彼/彼女は、所望の3Dオブジェクトの説明をジェスチャ又はパントマイムし、例示的なシステムは彼/彼女のジェスチャに基づき3Dモデルを生成しても良い。次に、生成した3Dモデルは、1又は複数の一致を決定するために、所定の仮想環境オブジェクトのデータベースを検索するために用いられても良い。例えば、子供は、所定の家の構造及び家具のような所定の家庭用オブジェクトを招致することにより、仮想ドールハウスを設定したいと望み得る。例えば、子供は、(例えばジェスチャ又はマイムを介して)テーブルを空間的に説明し、システムは、仮想環境データベース内の所定の3Dオブジェクトを照合するために検索しても良い。
【0015】
例えば、ユーザは、予め構築された3Dモデルをデータベースに提供することにより、又は物理的3Dオブジェクトを検知装置(例えば深度カメラ)に提示することにより、3Dモデルが生成され及び後の検索のために仮想環境データベースに追加されるようにして、新しい仮想環境オブジェクトを仮想環境データベースに追加しても良い。
【0016】
ここで更に詳述すると、
図1Aは、空間オブジェクト管理のための例示的なシステム100のブロック図である。
図1Bは、
図1Aの例示的なシステムの部分の更に詳細なブロック図である。
【0017】
図1A―1Bに示すように、空間オブジェクト管理エンジン102は、センサデータ106を受信するよう構成され得るセンサデータ受信エンジン104を有しても良い。例えば、センサデータ受信エンジン104は、1又は複数の検知装置からセンサデータ106を受信しても良い。メモリ108は、センサデータ106を有する情報を格納するよう構成されても良い。例えば、センサデータ106は、画像データ入力装置112から受信した画像データ110、音声データ入力装置116から受信した音声データ114、及び/又は触覚(tactile)データ入力装置120から受信した触覚データ118を有しても良い。例えば、画像データ入力装置112は、3D空間画像データを得るよう構成される3次元(3D)画像データ装置を有しても良い。例えば、画像データ入力装置112は、深度値を有する画像データ110を得るよう構成される深度カメラを有しても良い。別の例として、画像データ入力装置112は、3D形状に対応する立体画像を表す画像データ110を得るよう構成される1又は複数のカメラを有しても良い。この文脈では、「メモリ」は、データ及び/又は命令を格納するよう構成される単一のメモリ装置又は複数のメモリ装置を有しても良い。さらに、メモリ108は、複数の分散型記憶装置に渡っても良い。
【0018】
ユーザインタフェースエンジン122は、ユーザ124と空間オブジェクト管理エンジン102との間の通信を管理するよう構成されても良い。例えば、店の従業員又はシステム管理者(例えば、ユーザ124)は、ユーザインタフェースエンジン122を介して空間オブジェクト管理エンジン102と通信しても良い。ネットワーク通信エンジン126は、空間オブジェクト管理エンジン102と、1又は複数のネットワークを介して空間オブジェクト管理エンジン102と通信し得る他のエンティティとの間のネットワーク通信を管理するよう構成されても良い。
【0019】
例えば、ディスプレイ128は、ユーザ124(例えば、店の従業員又はシステム管理者)の入力を監視するために、彼/彼女に視覚的、聴覚的及び/又は触覚的媒体を提供し、空間オブジェクト管理エンジン102からの応答を提供しても良い。例えば、ユーザ124は、タッチパッド、タッチスクリーン、キーボード又はキーパッド、マウス装置、トラックボール装置、又は音声入力装置又は他の入力検知装置を介して入力を提供しても良い。例えば、ユーザ124は、音声文字変換処理のために情報を話しても良い。
【0020】
例示的な実施形態によると、センサデータ受信エンジン104は、自然なジェスチャ動作に基づき、動作主の少なくとも片手の自由な動きに基づく動作主の少なくとも1つの腕の動きに関連する3D空間画像データを受信するよう構成され得る画像データ受信エンジン130を有しても良い。例えば、画像データ受信エンジン130は、3D空間画像データを画像データ入力装置112から受信しても良い。画像データ入力装置112は、動作主132により部分的に占有される3D空間に焦点を当てる深度カメラを有しても良い。
【0021】
この文脈では、「自然なジェスチャ」は、ジェスチャがどのように行われるべきかの事前の指示を実質的に有しないで、及び特定のジェスチャの所定の順序を実質的に有しないで、動作主により行われたジェスチャを有し得る。したがって、「自然なジェスチャ」は、動作主が選択する如何なるタイミング又は順序の、動作主1人により決定されるジェスチャを有し得る。さらに、「自然なジェスチャ」は、オブジェクトの種々のコンポーネント(例えば、テーブルの天板、脚、椅子の背もたれ、椅子の座部、椅子の脚)の高さ、幅及び深さ並びに形状及び位置のような要素を有しても良い。
【0022】
空間オブジェクト管理エンジン102は、(
図1Bに示すように)空間表現エンジン136を有し得るセンサデータ分析エンジン134を有しても良い。空間表現エンジン136は、各々が自由な動き中の連続する時点における少なくとも片手の3D姿勢及び位置に対応する3D空間マップデータを有する複数の連続3D空間表現138を、受信した3D空間画像データに基づき決定するよう構成されても良い。
【0023】
空間オブジェクト管理エンジン102は、統合モデル生成器140を有しても良い。統合モデル生成器140は、空間オブジェクトプロセッサを介して、決定した連続3D空間表現138に含まれる3D空間マップデータを追加的に統合し、及び閾時間値146を、自由な動き中に複数の3D空間領域を占有する少なくとも片手により使用される時点の数を示すモデル時間値と比較することに基づき、統合3Dモデル144を生成するよう構成されても良い。例示的な実施形態によると、統合モデル生成器140は、受信した3D空間画像データ110に従って少なくとも片手の3D位置の時間的な連続3D表現を統合することに基づき、統合3Dモデル144を生成するよう構成されても良い。
【0024】
この文脈では、「プロセッサ」は、処理システムと関連する命令を処理するよう構成される1又は複数のプロセッサを有しても良い。したがって、プロセッサは、並列及び/又は分散方式で命令を処理する複数のプロセッサを有しても良い。
【0025】
この文脈では、「統合」は、位置の特定の順序又はタイミングを有しない及び所定の3Dモデルの特定の要素と関連する特定の所定の動きを有しない手又は他のオブジェクトの位置の実質的に純粋な統合又は集約を含み得る。例えば、位置の統合に関連する特定の意味の事前の入力又は訓練が実質的に存在しない。
【0026】
例示的な実施形態によると、空間オブジェクト管理エンジン102は、初期化エンジン148を有しても良い。初期化エンジン148は、それぞれ初期値に初期化された重み値を有する容積要素として表される不連続3D仮想マップ要素に基づき、仮想3Dマップ空間を初期化するよう構成される。ここで、仮想3Dマップ空間は、動作主132の近傍の3D空間を表す。例えば、統合モデル144は、仮想3Dマップ空間を有しても良い。
【0027】
例示的な実施形態によると、統合モデル生成器140は、(
図1Bに示すように)要素活性化エンジン150を有しても良い。要素活性化エンジン150は、少なくとも片手の一部が自由な動き中の時間期間に渡り3D領域を占有していたと示す決定に基づき、3D空間の3D領域と関連する選択された容積要素の重み値を比例的に増大するよう構成される。例示的な実施形態によると、統合モデル生成器140は、閾比較エンジン152を有しても良い。閾比較エンジン152は、閾値146を容積要素の各々の重み値と比較するよう構成される。
【0028】
例示的な実施形態によると、統合モデル生成器140は、少なくとも片手の深度、位置及び方向を決定するよう構成される位置属性エンジン154と、少なくとも片手の深度、位置及び方向に対応する仮想3Dマップ空間に関連する容積要素の位置を決定するよう構成される仮想要素探知器156と、を有しても良い。例示的な実施形態によると、要素活性化エンジン150は、仮想要素探知器156により決定された位置に基づき、少なくとも片手の深度、位置及び方向に対応する深度、位置及び方向を表す仮想3Dマップ空間の領域に関連する複数の容積要素を活性化するよう構成されても良い。
【0029】
例示的な実施形態によると、容積要素は、容積画像素子(voxel)を有しても良い。例示的な実施形態によると、初期化エンジン148は、初期化重み値でvoxelを非活性状態に初期化するよう構成されても良い。例示的な実施形態によると、要素活性化エンジン150は、自由な動き中の時間期間に渡り少なくとも片手の一部が3D領域を占有していたと示す決定に基づき、voxelグループの各活性化でvoxelグループに関連する重み値を増大することに基づき、voxelグループを活性化するよう構成されても良い。この文脈で、「voxel」は、3D画像の、最小の区別可能なボックス形状部分を表し得る。
【0030】
例示的な実施形態によると、統合モデル生成器140は、囲い地検出エンジン158を有しても良い。囲い地検出エンジン158は、少なくとも片手の姿勢により示される閉空間を決定するよう構成される。例えば、囲い地検出エンジン158は、動作主132の握り拳の範囲内の閉領域を決定しても良い。
【0031】
例示的な実施形態によると、統合モデル生成器140は、深度決定エンジン160を有しても良い。深度決定エンジン160は、閉空間の周囲領域の深度の決定に基づき、閉空間の深度を決定するよう構成される。例示的な実施形態によると、要素活性化エンジン150は、閉空間を示す姿勢と関連する時間期間中の少なくとも片手の深度、位置及び方向に対応する深度、位置及び方向を表す仮想3D空間の領域に関連する複数の容積要素を活性化する代わりに、閉空間に対応する深度、位置及び方向を表す仮想3D空間の領域と関連する複数の容積要素を活性化するよう構成されても良い。例えば、要素活性化エンジン150は、閉じた拳の方向にある手により占有される容積に対応する領域の代わりに、動作主132の握り拳に関連する閉空間に対応する深度、位置及び方向を表す仮想3D空間の領域に関連する複数の容積要素を活性化しても良い。
【0032】
例示的な実施形態によると、センサデータ分析エンジン134は、容積決定エンジン162を有しても良い。容積決定エンジン162は、受信した3D空間画像データ110に基づき、動作主の片手と関連する容積を決定するよう構成されても良い。例示的な実施形態によると、空間表現エンジン136は、決定した容積に基づき、3D仮想マップ空間内の片手の3D表現を決定するよう構成されても良い。
【0033】
例示的な実施形態によると、センサデータ分析エンジン134は、姿勢決定エンジン164を有しても良い。姿勢決定エンジン164は、片手の3D表現に基づき、少なくとも1つの手姿勢を決定するよう構成されても良い。
【0034】
例示的な実施形態によると、囲い地検出エンジン158は、少なくとも片手の少なくとも1つの手姿勢が3D閉空間を示すか否かを決定するよう構成されても良い。例示的な実施形態によると、要素活性化エンジン140は、閉空間が示されると決定された場合、閉空間を示す姿勢と関連する連続する時点について、閉空間に対応する深度、位置及び方向を表す統合3Dモデルの部分に関連する複数の容積要素を活性化し、その他の場合、少なくとも片手の深度、位置及び方向に対応する深度、位置及び方向を表す統合3Dモデルの部分と関連する複数の容積要素を活性化するよう構成されても良い。例えば、要素活性化エンジン150は、上述のように、握り拳の範囲内の領域に対応する容積要素を活性化するよう構成されても良い。
【0035】
例示的な実施形態によると、姿勢決定エンジン164は、少なくとも1つの手姿勢が平坦な手姿勢、湾曲した手姿勢、拳のように握られた手、又は指を縮めた手姿勢のうちの1又は複数を有すると決定するよう構成されても良い。例えば、後述するように、片手が拳のように握りしめられ又は両手が並べられて閉空間を形成しても良い。
【0036】
例示的な実施形態によると、囲い地検出エンジン158は、少なくとも片手の少なくとも1つの姿勢により示される閉空間を決定するよう構成されても良い。また、深度決定エンジン160は、閉空間を取り囲む領域の深度の決定に基づき、閉空間の深度を決定するよう構成されても良い。例示的な実施形態によると、空間表現エンジン136は、閉空間を示す少なくとも1つの手姿勢に関連する連続する時点の間に、少なくとも片手の姿勢及び位置に対応する3D空間データの代わりに、それぞれが閉空間に対応する深度、位置及び方向に対応する3D空間マップデータを有する複数の連続3D空間表現を決定するよう構成されても良い。
【0037】
例示的な実施形態によると、空間オブジェクト管理エンジン102は、照合エンジン166を有しても良い。照合エンジン166は、空間オブジェクトプロセッサ142を介して、統合3Dモデル144に一致するデータベースオブジェクト170a、170b、170cに関連する所定の3Dモデル168a、168b、168cを決定するよう構成されても良い。ここで、自然なジェスチャの動きは、所定の3次元(3D)アイテムの外観をエミュレートしても良い。例えば、データベースオブジェクト170a、170b、170cはデータベース172と関連付けられて格納されても良い。例えば、所定のモデル168a、168b、168cは物理的3Dオブジェクトを表しても良い。
【0038】
例示的な実施形態によると、容積決定エンジン162は、受信した3D空間画像データ110に基づき、時間に渡り片手の可視部分を追跡することに基づき、動作主132の片手と関連する容積を決定するよう構成されても良い。例えば、追跡エンジン174は、受信した画像データ110を時間的に追跡するよう構成されても良い。追跡エンジン174は、追跡データ175を受信しメモリ108に格納しても良い。例えば、追跡データ175は、受信した3D空間画像データのインスタンスと関連付けられたタイミングデータを有しても良い。
【0039】
例示的な実施形態によると、位置属性エンジン154は、受信した3D空間画像データに基づき、上から下へ追跡した片手の可視部分の回転に基づき、片手の方位角を決定するよう構成されても良い。
【0040】
例示的な実施形態によると、位置属性エンジン154は、追跡した可視部分と関連する深度値の変動に基づき、片手の回転角及びピッチ角を決定するよう構成されても良い。
【0041】
例示的な実施形態によると、空間オブジェクト管理エンジン102は、データベースアクセスエンジン176を有しても良い。データベースアクセスエンジン176は、データベースオブジェクト170a、170b、170cを有するデータベース172へのアクセスを開始するよう構成される。ここで、各データベースオブジェクト170a、170b、170cは、所定の3Dアイテムの外観をシミュレートする所定の3Dモデル168a、168b、168cと関連付けられる。
【0042】
例示的な実施形態によると、照合エンジン166は、空間オブジェクトプロセッサ142を介して、データベースアクセスエンジン176にアクセスし及び統合3Dモデル144と一致する所定の3Dモデル168a、168b、168cのうちの少なくとも1つと関連するデータベースオブジェクト170a、170b、170cのうちの少なくとも1つを決定することに基づき、少なくとも1つの所定の3Dアイテムを選択するよう構成されても良い。例えば、照合エンジン166は、生成した統合モデル144に最も密接に一致する所定の3Dモデル168a、168b、168cのうちの少なくとも1つを選択しても良い。
【0043】
例示的な実施形態によると、空間オブジェクト管理エンジン102は、更新アイテム入力エンジン178を有しても良い。更新アイテム入力エンジン178は、所定の更新3Dアイテムの外観をシミュレートする更新3Dモデル180を得て、データベースアクセスエンジン176を介してデータベース172において、更新3Dモデル180と関連する更新データベースオブジェクトの記憶を開始するよう構成される。
【0044】
例示的な実施形態によると、所定の更新3Dアイテムは、3D在庫アイテム、3Dゲームオブジェクト、3D現実世界アイテム又は3D仮想現実環境オブジェクトのうちの1又は複数を有しても良い。
【0045】
例示的な実施形態によると、更新アイテム入力エンジン178は、所定の更新3Dアイテムの画像と関連する画像データ110の受信、又は入力装置を介した更新3Dモデル180の受信のうちの1又は複数に基づき、更新3Dモデル180を得るよう構成されても良い。例えば、ユーザ124は、モデルを生成するために、物理的オブジェクトを検知装置(例えば、画像データ入力装置112)に提示しても良い。或いは、ユーザ124は、データベース172内の所定の3Dモデル168として含むために、物理的オブジェクトの外観をシミュレートする既成モデルを提供しても良い。
【0046】
例示的な実施形態によると、空間オブジェクト管理エンジン102は、発話を表す少なくとも1つの音声指標と関連する音声データ114を受信するよう構成される音声データ受信エンジン182を有しても良い。例示的な実施形態によると、照合エンジン166は、音声指標に基づき、空間オブジェクトプロセッサ142を介して、データベースアクセスエンジン176にアクセスし及び統合3Dモデル144と一致する所定の3Dモデル168a、168b、168cのうちの少なくとも1つと関連するデータベースオブジェクト170a、170b、170cのうちの少なくとも1つを決定することに基づき、少なくとも1つの所定の3Dアイテムを選択するよう構成されても良い。例えば、動作主132は「椅子」と発言しても良い。すると、照合エンジン166は、照合動作で「椅子」と関連しないアイテムを検討から除外しても良い。
【0047】
例示的な実施形態によると、照合エンジン166は、予備整合エンジン184を有しても良い。予備整合エンジン184は、所定の3Dモデル168a、168b、168cのうちの1つと統合3Dモデル144とのスケーリング、平行移動及び回転に基づき、所定の3Dモデル168a、168b、168cのうちの1つに含まれる少なくとも1つのコンポーネントと統合3Dモデル144との照合に基づき、所定の3Dモデル168a、168b、168cのうちの1つと統合3Dモデル144との第1の整合186を生成するよう構成される。例示的な実施形態によると、照合エンジン166は、反復整合エンジン188を有しても良い。反復整合エンジン188は、第1の整合186に基づき、反復最近点(iterative closest point)アルゴリズムに基づき、所定の3Dモデル168a、168b、168cのうちの1つと統合3Dモデル144との第2の整合を生成するよう構成される。
【0048】
例示的な実施形態によると、照合エンジン166は、強力整合エンジン192を有しても良い。強力整合エンジン192は、第1の整合186に基づき、所定の3Dモデル168a、168b、168cのうちの1つと統合3Dモデル144のスケーリング、回転及び平行移動のうちの複数を有する強力な整合に基づき、所定の3Dモデル168a、168b、168cのうちの1つと統合3Dモデル144との第2の整合190を生成するよう構成される。
【0049】
少なくとも1つの選択されたモデル194は、照合エンジン166により、整合186、190に基づき、所定の3Dモデル168a、168b、168cから選択されても良い。
【0050】
データ処理分野の当業者は、3Dモデルとデータベースに格納された3Dモデルとの一致を決定する多くの技術が存在することを理解する。例えば、例によるモデリング技術は、比較されるオブジェクトの単一部分に基づき、3Dオブジェクトの部分的一致を提供し得る。
【0051】
空間オブジェクト管理エンジン102は、触覚データ入力装置120から触覚データ118を受信するよう構成される触覚データ受信エンジン196を有しても良い。例えば、センサが動作主132に取り付けられ、動作主132の動きが3D空間センサデータとして検知されても良い。例えば、センサが動作主の手に取り付けられる場合、手の3D位置は、触覚入力装置120により検知され、触覚データ受信エンジン196により受信され、上述の3D空間画像データと同様に統合モデル生成器140により処理されても良い。
【0052】
図2A−Dは、例示的な実施形態による、
図1A−1Bのシステムの例示的な動作を説明するフローチャート200である。
図2Aの例では、所定の3Dアイテムの外観をシミュレートするそれぞれ所定の3次元(3D)モデルと関連するデータベースオブジェクトである複数のデータベースオブジェクトを有するデータベースへのアクセスが開始されても良い(202)。例えば、データベースアクセスエンジン176は、データベースオブジェクト170a、170b、170cを有するデータベース172へのアクセスを開始しても良い。ここで、各データベースオブジェクト170a、170b、170cは、上述のように所定の3Dアイテムの外観をシミュレートする所定の3Dモデル168a、168b、168cと関連付けられる。
【0053】
自然なジェスチャ動作に基づき、動作主の少なくとも片手の自由な動きに基づき動作主の少なくとも片腕の動きと関連する3次元空間画像データが受信されても良い(204)。例えば、画像データ受信エンジン130は、上述のように、自然なジェスチャ動作に基づき、動作主132の少なくとも片手の自由な動きに基づき動作主132の少なくとも片腕に関連付けられた3D空間画像データを受信しても良い。
【0054】
統合3Dモデルは、受信した3D空間画像データに従って少なくとも片手の3D位置の連続3D表現を時間的に統合することに基づき、生成されても良い(206)。例えば、統合モデル生成器140は、上述のように、受信した3D空間画像データ110に従って少なくとも片手の3D位置の連続3D表現を時間的に統合することに基づき、統合3Dモデル144を生成しても良い。
【0055】
所定の3Dアイテムの少なくとも1つは、データベースにアクセスし、及び統合3Dモデルと一致する少なくとも1つの所定の3Dモデルに関連する少なくとも1つのデータベースオブジェクトを決定することに基づき、選択されても良い。例えば、照合エンジン166は、上述のように、データベースアクセスエンジン176にアクセスし及び統合3Dモデル144と一致する所定の3Dモデル168a、168b、168cのうちの少なくとも1つと関連するデータベースオブジェクト170a、170b、170cのうちの少なくとも1つを決定することに基づき、少なくとも1つの所定の3Dアイテムを選択しても良い。
【0056】
例示的な実施形態によると、所定の更新3Dアイテムの外観をシミュレートする更新3Dモデルが得られ、データベース内に、更新3Dモデルと関連する更新データベースオブジェクトの記憶が開始されても良い(210)。例えば、更新アイテム入力エンジン178は、上述のように、所定の更新3Dアイテムの外観をシミュレートする更新3Dモデル180を得て、データベースアクセスエンジン176を介してデータベース172に、更新3Dモデル180と関連する更新データベースオブジェクトの記憶を開始しても良い。
【0057】
例示的な実施形態によると、所定の更新3Dアイテムは、3D在庫アイテム、3Dゲームオブジェクト、3D現実世界アイテム又は3D仮想現実環境オブジェクトのうちの1又は複数を有しても良い。例示的な実施形態によると、更新3Dモデルは、所定の更新3Dアイテムの画像と関連する画像データ110の受信、又は入力装置を介した更新3Dモデルの受信のうちの1又は複数に基づき、得られても良い。例えば、更新アイテム入力エンジン178は、上述のように、所定の更新3Dアイテムの画像と関連する画像データ110の受信、又は入力装置を介した更新3Dモデル180の受信のうちの1又は複数に基づき、更新3Dモデル180を得ても良い。
【0058】
例示的な実施形態によると、発話を表す少なくとも1つの音声指標と関連する音声データが受信される。また、空間オブジェクトプロセッサを介した、少なくとも1つの所定の3Dアイテムの選択は、音声指標に基づき、統合3Dモデルに一致する少なくとも1つの所定の3Dモデルに関連する少なくとも1つのデータベースオブジェクトを決定することに基づいても良い(212)。例えば、音声データ受信エンジン182は、発話を表す少なくとも1つの音声指標と関連する音声データ114を受信するよう構成されても良い。例示的な実施形態によると、照合エンジン166は、上述のように、データベースアクセスエンジン176にアクセスし、及び音声指標に基づき統合3Dモデル144と一致する少なくとも1つの所定の3Dモデル168a、168b、168cと関連する少なくとも1つのデータベースオブジェクト170a、170b、170cを決定することに基づき、少なくとも1つの所定の3Dアイテムを選択しても良い。
【0059】
例示的な実施形態によると、所定の3Dモデルのうちの1つと統合3Dモデルとの第1の整合は、所定の3Dモデルのうちの1つ及び統合3Dモデルのスケーリング、平行移動及び回転に基づき、所定の3Dモデルのうちの1つに含まれる少なくとも1つのコンポーネントと統合3Dモデルとの照合に基づき、生成されても良い(214)。例えば、予備整合エンジン184は、上述のように、所定の3Dモデル168a、168b、168cのうちの1つ及び統合3Dモデル144のスケーリング、平行移動及び回転に基づき、所定の3Dモデル168a、168b、168cのうちの1つに含まれる少なくとも1つのコンポーネントと統合3Dモデル144との照合に基づき、所定の3Dモデル168a、168b、168cのうちの1つと統合3Dモデル144との第1の整合186を生成しても良い。
【0060】
例示的な実施形態によると、所定の3Dモデルのうちの1つと統合3Dモデルとの第2の整合は、第1の整合に基づき、反復最近点アルゴリズムに基づき、生成されても良い(216)。例えば、反復整合エンジン188は、上述のように、第1の整合186に基づき、反復最近点アルゴリズムに基づき、所定の3Dモデル168a、168b、168cのうちの1つと統合3Dモデル144と第2の整合190を生成しても良い。
【0061】
例示的な実施形態によると、所定の3Dモデルのうちの1つと統合3Dモデルとの第1の整合は、所定の3Dモデルのうちの1つ及び統合3Dモデルのスケーリング、平行移動及び回転に基づき、所定の3Dモデルのうちの1つに含まれる少なくとも1つのコンポーネントと統合3Dモデルとの照合に基づき、生成されても良い(218)。例示的な実施形態によると、所定の3Dモデルのうちの1つと統合3Dモデルとの第2の整合は、第1の整合に基づき、所定の3Dモデルのうちの1つ及び統合3Dモデルのスケーリング、回転及び平行移動のうちの複数を有する強力な整合に基づき、生成されても良い(220)。例えば、以下に詳述するように、強力整合エンジン192は、第1の整合186に基づき、所定の3Dモデル168a、168b、168cのうちの1つ及び統合3Dモデル144のスケーリング、回転及び平行移動のうちの複数を有する強力な整合に基づき、所定の3Dモデル168a、168b、168cのうちの1つと統合3Dモデル144との第2の整合190を生成しても良い。
【0062】
例示的な実施形態によると、仮想3Dマップ空間は、それぞれ初期値に初期化された重み値を有する容積要素として表される不連続3D仮想マップ要素に基づき、初期化されても良い。ここで、仮想3Dマップ空間は、動作主の近傍の3D空間を表す(222)。例えば、初期化エンジン148は、上述のように、それぞれ初期値に初期化された重み値を有する容積要素として表される不連続3D仮想マップ要素に基づき、仮想3Dマップ空間を初期化しても良い。ここで、仮想3Dマップ空間は、動作主132の近傍の3D空間を表す。
【0063】
例示的な実施形態によると、時間的連続3D表現の統合は、少なくとも片手の一部が自由な動き中の時間期間に渡り3D領域を占有しているという決定に基づき、3D空間の3D領域と関連する選択された容積要素の重み値を比例的に増大すること(224)、及び閾値を各容積要素の重み値と比較すること(226)を含み得る。例えば、要素活性化エンジン150は、上述のように、少なくとも片手の一部が自由な動き中の時間期間に渡り3D領域を占有していたと示す決定に基づき、3D空間の3D領域と関連する選択された容積要素の重み値を比例的に増大しても良い。例えば、閾比較エンジン152は、詳述するように、閾値146を各容積要素の重み値と比較しても良い。
【0064】
例示的な実施形態によると、少なくとも片手の深度、位置及び方向が決定され(228)、少なくとも片手の深度、位置及び方向に対応する仮想3Dマップ空間に関連する容積要素の位置が決定されても良い(230)。例えば、上述のように、位置属性エンジン154は、少なくとも片手の深度、位置及び方向を決定し、仮想要素探知器156は、少なくとも片手の深度、位置及び方向に対応する仮想3Dマップ空間に関連する容積要素の位置を決定しても良い。
【0065】
例示的な実施形態によると、時間的連続3D表現の統合は、決定した位置に基づき、少なくとも片手の深度、位置及び方向に対応する深度、位置及び方向を表す仮想3Dマップ空間の領域に関連する複数の容積要素を活性化することを有しても良い(232)。例えば、要素活性化エンジン150は、上述のように、仮想要素探知器156により決定された位置に基づき、少なくとも片手の深度、位置及び方向に対応する深度、位置及び方向を表す仮想3Dマップ空間の領域に関連する複数の容積要素を活性化しても良い。
【0066】
例示的な実施形態によると、容積要素は、初期化重み値で非活性状態に初期化され得る容積画像素子(voxel)を有しても良い(234)。例えば、初期化エンジン148は、上述のように、初期化重み値でvoxelを非活性状態に初期化しても良い。
【0067】
例示的な実施形態によると、複数の容積要素の活性化は、自由な動き中の時間期間に渡り少なくとも片手の一部が3D領域を占有していたと示す決定に基づき、voxelグループの各活性化でvoxelグループに関連する重み値を増大することに基づき、voxelグループを活性化することを有しても良い(236)。例えば、要素活性化エンジン150は、上述のように、自由な動き中の時間期間に渡り少なくとも片手の位置が3D領域を占有していたと示す決定に基づき、voxelグループの各活性化でvoxelグループに関連する重み値を増大することに基づき、voxelグループを活性化しても良い。
【0068】
例示的な実施形態によると、少なくとも片手の姿勢により示される閉空間が決定されても良い(238)。例えば、囲い地検出エンジン158は、上述のように、少なくとも片手の姿勢により示される閉空間を決定しても良い。例示的な実施形態によると、閉空間の深度は、閉空間を取り囲む領域の深度の決定に基づき決定されても良い(240)。例えば、深度決定エンジン160は、上述のように、閉空間を取り囲む領域の深度の決定に基づき閉空間の深度を決定しても良い。
【0069】
例示的な実施形態によると、閉空間に対応する深度、位置及び方向を表す仮想3D空間の領域に関連する複数の容積要素は、閉空間を示す姿勢に関連する時間期間中の少なくとも片手の深度、位置及び方向に対応する深度、位置及び方向を表す仮想3D空間の領域と関連する複数の容積要素を活性化する代わりに、活性化されても良い。例えば、要素活性化エンジン150は、上述のように、閉空間を示す姿勢と関連する時間期間中の少なくとも片手の深度、位置及び方向に対応する深度、位置及び方向を表す仮想3D空間の領域に関連する複数の容積要素を活性化する代わりに、閉空間に対応する深度、位置及び方向を表す仮想3D空間の領域と関連する複数の容積要素を活性化しても良い。
【0070】
図3A−Cは、例示的な実施形態による、
図1A−1Bのシステムの例示的な動作を説明するフローチャート300である。
図3の例では、少なくとも片手の自然なジェスチャ動作に基づき、動作主の少なくとも片手の自由な動きに基づく、動作主の少なくとも片腕の動きと関連する3次元空間画像データが受信されても良い(302)。例えば、センサデータ受信エンジン104は、上述のように、自然なジェスチャ動作に基づき、動作主の少なくとも片手の自由な動きに基づく動作主132の少なくとも片腕の動きに関連する3D空間的画像データを受信するよう構成され得る画像データ受信エンジン130を有しても良い。
【0071】
それぞれ自由な動き中の連続する時点において少なくとも片手の3D姿勢及び位置に対応する3D空間マップデータを有する複数の連続3D空間表現は、受信した3D空間画像データに基づき決定されても良い(304)。例えば、空間表現エンジン136は、受信した3D空間画像データに基づき、複数の連続3D空間表現を決定しても良い。複数の連続3D空間表現のそれぞれは、自由な動き中の連続する時点において少なくとも片手の3D姿勢及び位置に対応する3D空間マップデータを有する。
【0072】
統合3Dモデルは、空間オブジェクトプロセッサを介して、決定した連続3D空間表現に含まれる3D空間マップデータを追加的に統合し、及び閾時間値を、自由な動き中に複数の3D空間領域を占有する少なくとも片手により使用される時点の数を示すモデル時間値と比較することに基づき、生成されても良い(306)。例えば、統合モデル生成器140は、上述のように、空間オブジェクトプロセッサ142を介して、決定した連続3D空間表現138に含まれる3D空間マップデータを追加的に統合し、及び閾時間値146を、自由な動き中に複数の3D空間領域を占有する少なくとも片手により使用される時点の数を示すモデル時間値と比較することに基づき、統合3Dモデル144を生成しても良い。
【0073】
例示的な実施形態によると、動作主132の片手と関連する容積は、受信した3D空間画像データに基づき、時間に渡り片手の可視部分を追跡することに基づき、決定されても良い(308)。例えば、容積決定エンジン162は、上述のように、受信した3D空間画像データ110に基づき、時間に渡り片手の可視部分を追跡することに基づき、動作主132の片手と関連する容積を決定しても良い。
【0074】
例示的な実施形態によると、片手の方位角は、受信した3D空間画像データに基づき、上から下へ追跡した片手の可視部分の回転に基づき、決定されても良い(310)。例えば、位置属性エンジン154は、上述のように、受信した3D空間画像データに基づき、上から下へ追跡した片手の可視部分の回転に基づき、片手の方位角を決定しても良い。
【0075】
例示的な実施形態によると、片手の回転角及びピッチ角は、追跡した可視部分と関連する深度値の変動に基づき、決定されても良い(312)。例えば、位置属性エンジン154は、上述のように、追跡した可視部分と関連する深度値の変動に基づき、片手の回転角及びピッチ角を決定しても良い。
【0076】
例示的な実施形態によると、動作主の片手と関連する容積は、受信した3D空間画像データに基づき、決定されても良い(314)。例えば、容積決定エンジン162は、上述のように、受信した3D空間画像データ110に基づき、動作主132の片手と関連する容積を決定しても良い。
【0077】
3D仮想マップ空間における片手の3D表現は、決定された容積に基づき決定されても良い(316)。また、少なくとも1つの手姿勢は、片手の3D表現に基づき決定されても良い(318)。例えば、空間表現エンジン136は、上述のように、決定した容積に基づき、3D仮想マップ空間内の片手の3D表現を決定しても良い。例えば、姿勢決定エンジン164は、上述のように、片手の3D表現に基づき、少なくとも1つの手姿勢を決定しても良い。
【0078】
例示的な実施形態によると、少なくとも片手の少なくとも1つの手姿勢が3D閉空間を示すか否かが決定されても良い(320)。閉3D空間が示されると決定された場合、統合3Dモデルの生成は、閉空間を示す姿勢と関連する連続する時点について、閉空間に対応する深度、位置及び方向を表す統合3Dモデルの部分に関連する複数の容積要素を活性化することを有しても良い(322)。その他の場合、統合3Dモデルの生成は、少なくとも片手の深度、位置及び方向に対応する深度、位置及び方向を表す統合3Dモデルの部分に関連する複数の容積要素を活性化することを有しても良い(324)。例えば、要素活性化エンジン140は、上述のように、閉空間に対応する深度、位置及び方向を表す統合3Dモデルの部分と関連する複数の容積要素を活性化し、又は少なくとも片手の深度、位置及び方向に対応する深度、位置及び方向を表す統合3Dモデルの部分に関連する複数の容積要素を活性化しても良い。
【0079】
例示的な実施形態によると、少なくとも1つの手姿勢が平坦な手姿勢、湾曲した手姿勢、拳のように握られた手、又は指を縮めた手姿勢のうちの1又は複数を有すると決定されても良い(326)。例えば、姿勢決定エンジン164は、上述のように、少なくとも1つの手姿勢が平坦な手姿勢、湾曲した手姿勢、拳のように握られた手、又は指を縮めた手姿勢のうちの1又は複数を有すると決定しても良い。
【0080】
例示的な実施形態によると、複数のデータベースオブジェクトを有するデータベースであって、各データベースオブジェクトが所定の3Dアイテムの外観をシミュレートする所定の3次元(3D)モデルと関連する、データベースへのアクセスが開始されても良い(328)。例えば、データベースアクセスエンジン176は、データベースオブジェクト170a、170b、170cを有するデータベース172へのアクセスを開始しても良い。ここで、各データベースオブジェクト170a、170b、170cは、上述のように所定の3Dアイテムの外観をシミュレートする所定の3Dモデル168a、168b、168cと関連付けられる。
【0081】
統合3Dモデルと一致する少なくとも1つのデータベースオブジェクトと関連する少なくとも1つの所定の3Dモデルは、空間オブジェクトプロセッサを介して決定されても良い。ここで、自然なジェスチャ動作は、所定の3次元(3D)アイテムの外観をエミュレートする(330)。例えば、照合エンジン166は、上述のように、空間オブジェクトプロセッサ142を介して、統合3Dモデル144に一致するデータベースオブジェクト170a、170b、170cに関連する所定の3Dモデル168a、168b、168cを決定しても良い。ここで、自然なジェスチャ動作は、所定の3次元(3D)アイテムの外観をエミュレートしても良い。
【0082】
例示的な実施形態によると、所定の更新3Dアイテムの外観をシミュレートする更新3Dモデルが得られても良い(332)。また、データベース内に、更新3Dモデルと関連する更新データベースオブジェクトの記憶が開始されても良い(334)。例えば、更新アイテム入力エンジン178は、上述のように、所定の更新3Dアイテムの外観をシミュレートする更新3Dモデル180を得て、データベースアクセスエンジン176を介してデータベース172に、更新3Dモデル180と関連する更新データベースオブジェクトの記憶を開始しても良い。
【0083】
図4は、例示的な実施形態による、
図1A−1Bのシステムの例示的な動作を説明するフローチャート400である。
図4の例では、所定の3次元(3D)アイテムの外観をエミュレートする自然なジェスチャ動作に基づき、動作主の自由な動きに基づく動作主の少なくとも1つの自然なジェスチャと関連する3次元(3D)センサデータが受信されても良い(402)。例えば、センサデータ受信エンジン104は、上述のように、所定の3次元(3D)アイテムの外観をエミュレートする自然なジェスチャ動作に基づき、動作主の自由な動きに基づく動作主の少なくとも1つの自然なジェスチャと関連する3Dセンサデータ106を受信するよう構成されても良い。例えば、センサデータ106は、上述のように、画像データ110、音声データ114又は触覚データ118のうちの1又は複数を有しても良い。
【0084】
統合3Dモデルは、自由な動きに従って動作主と関連する少なくとも1つの3D移動オブジェクトの3D位置を表す受信した3Dセンサデータを統合することに基づき、生成されても良い(404)。例えば、統合モデル生成器140は、上述のように、空間オブジェクトプロセッサ142を介して、自由な動きに従って動作主と関連する少なくとも1つの3D移動オブジェクトの3D位置を表す受信した3Dセンサデータを統合することに基づき、統合3Dモデル144を生成するよう構成されても良い。
【0085】
例えば、動作主は、3Dオブジェクト(例えば、本、ラップトップ、携帯電話機)を掴み、該3Dオブジェクトを自然なジェスチャ動作で移動させて所望の3Dアイテムの形状を示しても良い。別の例として、動作主は、検知装置(例えば、グローブ、ゲームギア)を着用し又は取り付け、検知装置を介して所望の3Dアイテムの形状を示すジェスチャを行っても良い。例えば、動作主は、3Dアイテムの知覚された形状を想定して動いても良い。
【0086】
統合3Dモデルに一致するデータベースオブジェクトと関連する所定の3Dモデルは、空間オブジェクトプロセッサを介して決定されても良い(406)。例えば、照合エンジン166は、上述のように、空間オブジェクトプロセッサ142を介して、統合3Dモデル144に一致するデータベースオブジェクト170a、170b、170cに関連する所定の3Dモデル168a、168b、168cを決定しても良い。
【0087】
例示的な実施形態によると、受信した3Dセンサデータの部分は、閾時間値を自由な動き中の複数の3D領域内の少なくとも1つの3D移動オブジェクトにより使用される時間長を示す値と比較することに基づき、統合のために選択されても良い(408)。例えば、統合モデル生成器140は、上述のように、閾時間値146を自由な動き中の複数の3D領域内の少なくとも1つの3D移動オブジェクトにより使用される時間長を示す値と比較することに基づき、統合のために受信した3Dセンサデータの部分を選択するよう構成されても良い。
【0088】
図5A−Eは、例示的な実施形態による、例示的なジェスチャの動き及びジェスチャの動きに関連する例示的なモデルを示す。
図5Aに示すように、動作主502は、3Dオブジェクト504を心の中で想像しても良い。例えば、3Dオブジェクトは、座部506と傾斜した脚508を有する3本脚の丸椅子を有しても良い。動作主502は、例えば、3Dオブジェクト504に関連する高さ、幅及び/又は奥行きを示すために、彼/彼女の手を平坦にして位置510に移動して両手の間隔を空けて示すことにより、3Dオブジェクト504の寸法を示しても良い。
図5Aに示すように、動作主502は、検知装置512(例えば、オーバヘッド深度カメラ)の範囲内で3Dオブジェクト504の説明を空間的に説明し又はパントマイムするために自然なジェスチャを用いても良い。
【0089】
図5Bに示すように、動作主502は、丸椅子(例えば3Dオブジェクト504)の座部506の動作主の心像を視覚化するために、彼/彼女の手を平坦にし、回転動作514で動かしても良い。
図5Cに示すように、動作主502は、丸椅子(例えば3Dオブジェクト504)の傾斜した脚508の動作主の心像を視覚化するために、拳を作り、彼/彼女の手を傾斜した縦方向の動き516で動かしても良い。
【0090】
例示的な実施形態によると、
図1の例示的なシステムは、動作主の動作を追跡するときに、検知装置512により得られた画像データを受信しても良い。次に、システム100は、動作主502の手の位置510、回転動作514及び傾斜した縦方向の動き516を追跡した結果生じた画像データに少なくとも基づき、
図5Dに示すように3Dモデル518を生成しても良い。
【0091】
例示的な実施形態によると、システム100は、上述のように、生成された3Dモデル518に最も密接に一致する所定の3Dオブジェクトを決定しても良い。例えば、生成された3Dモデル518は、
図5Eに示すように生成された3Dモデル520に重ねられた3Dモデル522により示すように、3本脚の丸椅子と関連する所定の3Dモデルと照合されても良い。
【0092】
例示的な実施形態によると、「データマイム」技術は、
図5A−5Eに示すように、説明されるオブジェクトを推測するために、オブジェクトを説明するときの人間のジェスチャの観察及び理解、空間的基準の人間の感覚の活用、並びに手の形状と動きの豊かさの使用に基づいても良い。人間の観察者に話すときにジェスチャを用いるのと同様に、データマイム又はジェスチャの使用は素直に観察されるので、ジェスチャ中に僅かな若しくは如何なるフィードバックも提供しない。したがって、例示的な動作主は、説明するオブジェクトの心像(例えば、3Dオブジェクト504)から単に作業でき、彼/彼女のジェスチャは、心像の仮想表現(例えば、3Dモデル518)を自動的に生成するために用いることができる。
【0093】
仮想表現は、説明するオブジェクト(例えば「丸椅子」)を分類するために、及びそのオブジェクトをその分類中の他のインスタンスから区別するために、オブジェクトの細目を抽出するために用いられても良い。例えば、動作主132は、椅子を説明し、3本脚を有し中心から傾斜した2フィートの高さの特定の既存の椅子(例えば、
図5A−Eに関して上述したような説明された丸椅子)を更に説明しても良い。更なる詳細がなければ、特定の椅子の参照は不明確になり得る。
【0094】
したがって、データマイム又はジェスチャの使用は、動作主132がどのように動作するかを素直に観察し、動作主132がジェスチャしているときにフィードバックを提供しない。したがって、動作主132は、彼/彼女のジェスチャ動作を決定するために、3Dオブジェクトの彼/彼女の概念モデルから単に作業できる。ジェスチャ中に僅かな又は如何なるフィードバックも提供しないので、データマイム又はジェスチャは、動作主132がジェスチャを実行しているときに基準枠を維持していると想定できる。例示的な実施形態によると、動作主の体は、空間的基準となっても良い。例えば、動作主132は、両手を一緒に使うとき、視覚的フィードバックに頼らない。例えば、人間は、両手の空間内での関係を知る能力を更に有し、短時間に渡り彼らの体外に空間的アンカーを維持し得る(例えば、空間的関係を維持する短期間視覚的記憶)。
【0095】
話し手は、歴史を通して会話中にジェスチャを用いてきた。例えば、話し手は、強調のために用いられる拍子のジェスチャ、オブジェクトを示す(指し示す)ための直示ジェスチャ、抽象的な意味を伝えるための比喩的ジェスチャ、象徴的ジェスチャを用い得る。象徴的ジェスチャは、具体的なオブジェクト又はイベントを表現し、会話内容に対する密接な形式的関係を生み出し、オブジェクトの形状又は形態を説明する目的で用いられ得る。他の例として、象徴は、慣習によってのみ意味を伝達するサインを含み得る(例えば、「OK」サイン)。
【0096】
パントマイムジェスチャは、オブジェクト又は動作を示す点で象徴的ジェスチャと似ているが、会話を含まない(また、演劇のマイムで用いられるジェスチャとは区別される)。さらに、手話は、話し言葉を置き換えるために用いられるので、会話を最小限に補完し得る。
【0097】
例示的な実施形態によると、データマイム又はジェスチャは、オブジェクトの格納された所定の3Dモデルに対する照合を実行するときに用いられても良い。これらのモデルは慣習に基づかず、むしろ現実世界の物理的オブジェクトの実際の形状に基づくので、データマイムジェスチャは、象徴的ジェスチャ又はパントマイムジェスチャを含み、通常は象徴を有しないことが理解される。例えば、会話により分類を指定するとき(例えば、「椅子」)、ジェスチャ及び会話は、それら相互の依存性が自然な象徴的ジェスチャの典型的な複雑さを有しないので、補足的技術で用いられる。例示的な実施形態によると、ここで議論される幾つかの例示的なジェスチャは、「パントマイム」又は「マイム」ジェスチャと称される。
【0098】
例示的な研究では、人間は、オブジェクトを説明する可能性のあるジェスチャ技術を決定するために観察されてきた。例えば、動作主132は、オブジェクトを見つめ、次に記憶からオブジェクトの説明をジェスチャしても良い。例えば、動作主132は、彼らの手のみを用いてオブジェクトを説明し、彼らがオブジェクトの説明を補強するために会話又は体位を使用しなくても良い。例えば、動作主132は、彼らがオブジェクトを説明する間にフィードバックを受けなくても良い。例えば、動作主132は、彼らの腕を下げることにより、オブジェクトの説明を完成しても良い。例えば、動作主132は、オブジェクトを説明するためにどのジェスチャを用いるかに関する指示を受けなくても良い。例えば、動作主132は、ボックス形状、円錐形状及び角錐形状のような原始的形状、並びにより複雑な形状を空間的に説明するよう頼まれても良い。例えば、このような研究の結果は、複雑なオブジェクトを空間的に説明するときに動作主132が有する特徴を決定することを含み得る。
【0099】
図6は、ビデオカメラの近傍でジェスチャを行う例示的な動作主を示す。
図6の例示的なシナリオに示すように、オーバヘッドビデオカメラ602は、床から8フィートの天井に取り付けられても良い。したがって、例示的なビデオカメラ602は、5フィート幅、3フィート高、5フィート奥行のトップダウン容積をキャプチャできる。
図6に示すように、動作主604(例えば動作主132)は、ビデオカメラ602(例えば、画像データ入力装置112)の範囲内でオブジェクトを空間的に説明しても良い。
図6に示すように、動作主604は、上述のように、動作主の手606を介してジェスチャを提供しても良い。
【0100】
図7は、例示的な3次元(3D)アイテムを示す。例えば、3Dアイテムは、低い3本脚の丸椅子702及び高い3本脚の丸椅子704を有しても良い。3Dアイテムは、S形の椅子706、1本脚の椅子708、4本脚の椅子710を更に有しても良い。3Dアイテムは、車付き事務椅子712、モニタ714、パーソナルコンピュータ(PC)716、コーン718、踏み台720、テーブル722を更に有しても良い。このような3Dアイテムは、人間の動作主(例えば、動作主132)により空間的に説明されても良い。
【0101】
図8A−Cは、例示的な動作主の例示的なジェスチャを示す。例示的に研究された人間のグループの観察によると、ジェスチャ又はマイムしている動作主502は、オブジェクトの部分の相対的比率を自然に維持するとともに、オブジェクト間の相対的スケールを維持し得る。例えば、動作主502は、大きなテーブルを説明するために彼らの腕の長さの大きな部分を自然に用い、一方で必要に応じて椅子を小さく説明し得る。例えば、動作主502は、各方向に腕の長さによりカバーされる領域に対して大きさを適応させるために、自然とオブジェクトを不均一にスケーリングし得る。したがって、人間の身体の特性により、オブジェクトは、高さ804よりも幅広く802、奥行き806よりも高く説明され得る。
【0102】
例えば、動作主502は、オブジェクトを説明するために自然にトップダウンアプローチを用い、より大きく、より明らかな面の後に、彼らはオブジェクトのより小さな部分を説明し得る。例えば、動作主502は、面(例えば、PC716の平面、モニタ714、テーブル722、及び踏み台720のフレーム、椅子の座部及び背もたれのような湾曲した表面)と、支柱及び連結部のようなより小さい部品とを区別し得る。
【0103】
例えば、動作主502は、オブジェクト(例えば、PC716、モニタ714)の対照的要素を定めるために、自然に両手を並行な姿勢に互いに向かい合わせて用い得る。これらの対照的部分は、オブジェクト全体の寸法を表現しないが、特定の部分を指定し得る。例えば、動作主502は、椅子710の脚又は踏み台720のフレームのような小さな部分を説明するために、自然に、同時に対照的な手の動きを用い得る。
【0104】
例えば、オブジェクトの形状がボックスの形状と類似しているとき、動作主502は、オブジェクト(例えば、PC716、モニタ714)の部分の寸法を定めても良い。例えば、動作主502は、自然に同時に両手を平坦な姿勢で、オブジェクトの境界寸法に沿って前後に動かし得る。例えば、動作主502は、これらの境界を定めるために、自然に両手を平坦な位置に保持し得る。例えば、動作主502は、自然に、オブジェクト(例えば、PC716)のワイヤフレームをボックス形状に描き得る。
【0105】
図9は、動作主の例示的な手姿勢を示す。例えば、動作主502は、自然に、彼らの手を用いて大きな表面を「辿り」、つまり、彼らの手でそれら(例えば、テーブル722、天板、椅子の座部、コーン718)を拭くように、彼らの平坦な手をそれらの表面に沿って動かし得る。例えば、動作主502は、自然に、平手姿勢902により示すように、表面境界内の領域をそれを「満たす」ように拭いても良い。
図9に示すように、湾曲した手姿勢904は、自然に、湾曲した表面を説明するために用いられても良い。一方で、握った手姿勢906及び908は、自然に、支柱及び脚を説明するために用いられても良い。弛緩した手姿勢910及び912は、自然に、表面を辿らないときに用いられても良い。
【0106】
例えば、動作主502は、自然に、彼らの平手(例えば、手姿勢902)で中程度の表面の外形を指定し、それ(例えば、モニタ、事務椅子の背もたれ)を「満たす」ために彼らの手で閉領域を拭き得る。例えば、動作主502は、それら中程度の表面を彼らの平手(例えば、手姿勢902)の単なるストロークに自然に抽象化し得る。彼らはこれを繰り返し示しても良い(例えば、椅子のために)。例えば、動作主502は、彼らの手を表面の位置(例えば、モニタ、座部)で繰り返し粗くうねらせることだけで、表面を自然に説明しても良い。例えば、動作主502は、自然に彼らの手を用いて、オブジェクトのより小さな部品(例えば、踏み台のステップ、踏み台の外枠)を「辿って」も良い。
【0107】
例えば、形状を変えるために、動作主502は、湾曲した表面に合うように彼らの手の形状を自然と適合させ、その表面を繰り返し上下に「拭いて」も良い。動作主502は、両手の親指と人差し指で閉じた円を形成し(例えば、上述のように閉空間を形成し)、彼らの手を下に動かし、それによりそれらを離して進め、指を元の形状に維持させても良い(例えば、手姿勢904)。
【0108】
例えば、動作主502は、小さな部品に関する対称性を説明するために、両手を対照的に同時に自然に動かしても良い。棒、支柱及び脚に関して、動作主502は、自然に拳を形成し(例えば、手姿勢906)、拳を棒に沿って動かして、真っ直ぐな棒(例えば、テーブルの脚、三脚、椅子、事務椅子のポール)を表現しても良い。例えば、動作主502は、自然に彼らの親指と人差し指を摘み、それらを棒に沿って動かしても良い(例えば、手姿勢908)。
【0109】
より大きな支柱では、例示的な動作主502は、彼らの手を近い距離に持って行き、それらを並行に保ち、又は指と両手の平を繋げて両手の間の空間を閉じ、部品(例えば、椅子のポール及び脚、モニタスタンド)の形状を辿るよう両手を動かしても良い。例えば、動作主502は、自然に、椅子の複雑な足のような複雑な形状を無視し、又はそれらを単一の原始的形状に抽象化しても良い。
【0110】
通常、例示的な動作主502は、オブジェクトを空間的に上から下へ説明し始め得る。彼らは、オブジェクトの形態を抽象化し、先ず大きな部品及び面を指定し、最後に幾つかの特徴を説明するが、小さな部品は説明しない。例えば、動作主502は、自然に事務椅子の肘掛け、ポール及び足を示すが、肘掛けの支持材又は背もたれを座部に接続する棒の説明を無視し得る。同様に、例示的な動作主502は、踏み台の全てのステップを示し、次にその外枠を強調すことにより踏み台を説明し得る。
【0111】
例えば、動作主502は、自然に、オブジェクトの機能を最も明確に表す部分(例えば、椅子の背もたれ及び座部、踏み台のステップ、天板)を先ず説明し得る。次に、彼らは、自然に、オブジェクトを一緒に保つ部分を説明し得る。例えば、動作主502は、可能なときは対照的外観を用い得る。彼らは、形状を説明するために、同じ内容のジェスチャで両手を用い得る。同様に、彼らは、平面の制約を定め又は境界ボックスを「描く」ことにより、寸法を指定するために両手を用い得る。中程度及び小さな大きさの表面の実際の寸法は、彼らの空間的説明において動作主502にとって重要とは考えられず、したがって彼らの自然なジェスチャにおいては無視され得る。
【0112】
例えば、動作主502は、望ましいと思われる場合には、自然に、彼らの手の形状を説明するオブジェクト又は部品の形状に適合させ、伸ばし(例えば、平面を説明するために、手姿勢902)又は丸めて指を一緒にし得る(例えば、丸い表面に対して手姿勢904)。これに対し、動作主502は、彼らの手を弛緩させ、彼らの手をオブジェクトの次の部分に動かすとき、手を自然な姿勢にする(例えば、手姿勢910、912)。
【0113】
棒及びスタンドのようなオブジェクトのより小さな部品については、例示的な動作主502は、丸棒及び角棒を示すために、拳を作り(例えば、手姿勢906)又は彼らの親指と人差し指を摘み(例えば、手姿勢908)、その形状に沿って手を動かしても良い。それにより、彼らは、そのような棒の形状を示すために手の動きを用いて、それらの棒の実際の直径を無視しても良い。
【0114】
例示的な動作主502は、手の向き及び回転を変化する間、垂直姿勢により並行部分を示すときのみ(例えば、
図8Cに示すように)、手のピッチの角度範囲が限られているので、手のピッチを変化させても良い。しかしながら、手が垂直のとき、肘の移動はこの範囲を広げ得る。これに対し、手の回転及び向きはより大きな範囲をカバーでき、肘の動きは手の向きの範囲を支援できる。
【0115】
上述の活動を示すために手を延ばすのに加えて、例示的な動作主502は、意図的にオブジェクトの部分をもっとゆっくりと説明し、別の部分に移るときに手をもっと速く動かしても良い。より小さな表面では、彼らは短時間の間、1つの位置に留まっても良い。より大きな表面では、例示的な動作主502は、表面を繰り返し説明し、別の部分に彼らの手を動かすときよりもっと注意深く表面を説明しても良い。
【0116】
2つの部品が近くに配置されるとき、例示的な動作主502は、部品間に留まらず、代わりに手を動かす間、手を複合部分として扱い手の方向を変化させても良い(例えば、椅子の背もたれ及び座部)。複合部分は、ジェスチャを通して繰り返し示されても良い。
【0117】
上述の観察は、例えば観察されたジェスチャを、それらのジェスチャが生じるとき、動作主の心像を再現使用とする仮想表現の特徴に変換するための基礎を提供し得る。特に、ここで議論されるような例示的な技術は、認識すると自身をオブジェクトの特定部分として表す所定のジェスチャに依存しない。例示的な実施形態によると、動作主の手は、ジェスチャを表現するとき、基本焦点を提供しても良い。例示的な実施形態によると、動作主の腕及び体の位置及び姿勢は無視され、関心は動作主の手に完全に向けられても良い。
【0118】
例えば、動作主502は、オブジェクトの表面及び構造的要素を自然に辿り、それにより彼らの空間的記憶に基づきオブジェクトを再生成し、動作主の説明の仮称表現が時間の経過と共に構築される得ることを示唆しても良い。例示的な実施形態によると、動作主502が説明により多くの時間をかけた部分は、彼/彼女が簡単にのみ取り上げた部分よりもより強く重み付けされても良い。
【0119】
例示的な動作主502は彼らの手を個々の領域内でうねらせることにより、異なる大きさの表面を説明し得るので、動作主の手は、仮想表現の中でトレースを生成し得る。ジェスチャの実際の経路はオブジェクトに関して少ない情報しか提供しないので、動作主の手の位置及び方向は、動作を正確に変換するための焦点として用いられても良い。ジェスチャの時間的検知と連携して、動作主502は繰り返し又はよりゆっくりとオブジェクトの特定部分を取り上げるので、このようなトレースは仮想表現により多くの意味を追加し得る。
【0120】
例示的な実施形態によると、焦点は、動作主の手以外の他のエンティティに向けられても良い。例えば、動作主は、3Dアイテムの知覚された形状を想定しても良い。例示的な実施形態によると、3Dアイテムの説明は、例えば3Dアイテムの知覚された形状を想定している動作主により費やされた時間長に基づき、推定されても良い。
【0121】
例示的な実施形態によると、動作主は、動作主に関連する3D移動オブジェクトを介して3Dアイテムを空間的に説明しても良い。例えば、動作主は、3Dオブジェクト(例えば、本、ラップトップ、携帯電話機)を掴み、該3Dオブジェクトを自然なジェスチャ動作で移動させて所望の3Dアイテムの形状を示しても良い。別の例として、動作主は、検知装置(例えば、グローブ、ゲームギア)を着用し又は取り付け、所望の3Dアイテムの形状を示すジェスチャを行っても良い。
【0122】
図10A−10Bは、動作主の例示的な手姿勢を示す。
図10Aに示すように、伸びた手姿勢1002は、形状(例えば、平面)を示し得る。伸びた手及び指の姿勢1004は、形状を示す意図を示し得る。湾曲した手及び指の姿勢1004は、この動きが意味があることを示唆し得る。弛緩した姿勢1008は、変わり目であることを示し得る(例えば、手姿勢910、912に関して議論したのと同様に)。
【0123】
例示的な実施形態によると、例示的な技術は、動作主のジェスチャの重要な部分のみを認識し変換し、一方でオブジェクトの次の部分に手を遷移するためにのみ供される動作を無視しても良い。例えば、例示的な動作主502は、彼/彼女の筋肉を一時的に弛緩させ、同時に手をオブジェクトの別の部分へ移動させても良い。一方で、彼/彼女は、彼/彼女の指を揃え又は伸ばし、又は手の筋肉を弛緩させて、重要な手姿勢を示しても良い。この差異を捕らえることが望ましい。しかしながら、指の姿勢及び湾曲の変化は、
図10A―10Bに示すように、かなり微妙である。カメラで筋肉弛緩を検知するという潜在的関心を検討すると、例示的なデータマイム又はジェスチャ技術は、指の湾曲の解釈をしなくても良い。各時点について、動作主の手は、位置及び方向が現実世界の動作主の手の位置及び方向に対応する足跡を仮想表現(例えば、空間表現138及び/又は統合モデル144)に残しても良い。言い換えると、各時点における手の方向及び姿勢は、仮想表現に加えられる部品の容積を決定し得る(つまり、平坦な傾斜した手は、仮想表現に平坦な傾斜した小さな影響を与える)。例示的な実施形態によると、これらの概念は、ここに議論するように、動作主の手以外の3Dオブジェクトに拡張できる。
【0124】
例示的な実施形態によると、動作主の手の容積を複製し、それらを仮想空間で表現することにより、ここで議論する例示的な技術は、平坦な手姿勢及び湾曲した手姿勢を検知し(例えば、平坦な表面、球面)、動作主502が拳を形成し又は彼らの指を摘むときより小さな要素を説明し得る(例えば、椅子の脚)。さらに、両手は別々に考慮され得る。
【0125】
例示的な実施形態によると、データマイム技術又はここで議論するジェスチャ技術は、lxmxn voxelを具現化する不連続な3D容積内で動作主の説明の仮想表現を生成しても良い(例えば、生成された統合モデル144)。したがって、このvoxel空間は、オブジェクト説明子システムの仮想表現「記憶」を表し得る。各voxelは、活性又は非活性状態であっても良い。例示的な実施形態によると、シーンは、非活性voxelのみで開始され、動作主のジェスチャを観察する過程に渡り、voxelは必要に応じて活性化されても良い。例示的な実施形態によると、各voxelは、上述のように動作主がvoxelを繰り返し活性化すると増大され得る特定の重みと関連付けられても良い。したがって、特定の重みより上のvoxelセットは動作主の説明の重要な部分を表すと解釈され、残りは無視されるので、オブジェクトの最重要部分を動作主がどれだけゆっくり又は繰り返しトレースするかを捕らえることが可能である。
【0126】
例示的な実施形態によると、ここで議論する例示的な3Dシーン技術は、ワールドアンカー(world-anchored)であっても良い。したがって、シーンの場所及び方向は、動作主の位置又は方向に適合されなくても良い。したがって、シーンの中心は動作主502の前にあっても良く(つまり、ワ―ルドアンカー)、3Dオブジェクトの説明はほんの数秒で完了するので、動作主501はこの空間アンカーを維持できても良い。
【0127】
例示的な実施形態によると、動作主の説明するオブジェクトの同一性は、voxel表現中の候補オブジェクトを照合する例示的なデータベースに基づき決定されても良い(例えば、データベース172)。例示的な実施形態によると、ここで議論するデータマイム技術又はジェスチャ技術は、データベースから最も密接に一致するオブジェクトを選択しても良い。ここで議論するように、各候補オブジェクトについて、生成した3Dモデル(例えば、統合モデル144)は、比較及び類似性の測定のために所定のデータベースモデル(例えば、所定の3Dモデル168a、168b、168c)に揃えられても良い。さらに、動作主の生成からのスケーリング及び回転の差分が得られても良い。
【0128】
オブジェクトは、実質的に特徴的な部品に基づき組み立てられるので、動作主502は、このような特徴的部品を別個に説明しても良い。人間は、通常、彼らの聴衆について潜在的な推測を行うので、彼らは、構造にとって暗黙的に基本的に見えない重要性の低い部分(例えば、椅子の背もたれ及び座部のような表面間の連結部品)、又はオブジェクトを識別するのに更なる支援を提供しない特徴を説明しない。
【0129】
例示的な実施形態によると、このような動作主の部分についての断片的モデル化は、動作主にオブジェクトの任意の部分を省略させ、検討中のオブジェクトの分類をある程度熟知しその分類内の形状のばらつきを与えた場合、動作主が自然に十分な詳細事項を指定すると信頼することにより、照合処理で反映されても良い。
【0130】
さらに、例示的な実施形態によると、例示的なデータマイム又はジェスチャ技術は、検討中のオブジェクトの分類を絞り込むために、会話認識を組み込んでも良い。例えば、動作主502は、「椅子」と言い、次に椅子の形状の識別可能な特徴(又は特徴セット)を示すためにジェスチャすることにより特定の椅子を指定しても良い。
【0131】
例示的な実施形態によると、ここで議論する例示的なシステム100は、エンドユーザシステムに実装され、動作主132に取り付けられ得る単一深度検知カメラ(例えば、画像データ入力装置112)を有しても良い。
【0132】
例えば、MICROSOFT KINECTカメラは、30Hz及び解像度640x480で深度画像を提供できる。例えば、カメラは70°の対角視野を有してもよい。
【0133】
例示的な実施形態によると、例示的なシステム100は、15msより短い各カメラフレームを処理し、したがって動作主のジェスチャの実時間処理及びvoxel表現への変換を提供しても良い。
【0134】
図11A−Dは、
図1の例示的なシステムによる例示的な画像データ処理のグラフィカルな図を示す。例示的な実施形態によると、ここで議論する例示的な技術は、後述のように生画像1100aを処理しても良い。
図11Aに示すように、カメラ1102、椅子1104及びテーブル1106は、動作主(例えば動作主132)の腕1108、1110及び手1112、1114に沿って生画像1100a内に現れても良い。
【0135】
例示的な実施形態によると、入力画像1100a内の各画像素子(ピクセル)は、ワールド座標に変換されても良い。
図11Bに示すように、次に、3フィート幅x2フィート高x2.5フィート奥行きの容積の外側の座標(つまりピクセル)は切り落とされ、したがって、床、壁及び可能な他のオブジェクトを深度画像1100bから除去する(例えば、
図11Aの椅子1104及びテーブル1106)。
【0136】
例示的な実施形態によると、画像1100b内の腕1108、1110が識別され、重なり合っている腕を説明するために、徐々に変化する深度値のみにより隣接する領域間を区別しても良い。また、
図11Cに示すように、動作主の手1112、1114は、腕1108、1110を除去することにより抽出できる。
【0137】
動作主の腕1108、1110が外側から入ってきて容積内に到達するという仮定に基づき、例示的な技術は、曲げた肘及び手首を説明するために、各手1112、1114の最遠点を決定し、腕1108、1110の形状範囲内の経路長として距離を測定する(つまり、この例ではユークリッド距離ではない)。例示的な実施形態によると、動作主の手1112、1114を抽出するために、(カメラまでの距離に依存して)一定の手の長さが用いられても良い。例示的な実施形態によると、動作主の特定の手のサイズに対して較正が適用されても良い。
【0138】
例示的な実施形態によると、両手1112、1114の方向及び容積は、時間に渡り、各手1112、1114の可視領域を追跡することにより計算されても良い。例示的な実施形態によると、各手1112、1114の回転及びピッチ角は、可視領域に渡る深度値の変化から計算されても良い。例示的な実施形態によると、垂直的な手の回転のように(例えば、親指と人差し指のみが包括的に見える)、可視領域が小さすぎる場合、例示的な技術は、手1112、1114のどれ位が閉塞されるかを事前観察に基づき推定し、相応して手の方向を決定しても良い。
【0139】
例示的な実施形態によると、各手1112、1114の方位角の計算は、カメラが動作主の頭上に取り付けられることを直接考慮しても良い。例示的な実施形態によると、時間に渡る観察から、3D空間内の各手姿勢は、z軸(つまり、カメラ1102の視線軸)上の正確な範囲と共に再構成されても良い。
【0140】
例示的な実施形態によると、手1112、1114の方向を計算した後、次に、例示的な技術は、各手1112、1114の位置及び方向をvoxel空間内のvoxelの位置に直接変換しても良い。例示的な実施形態によると、これは、上述のように、動作主の手1112、1114と同じ深度、位置及び方向を有する領域内の全てのvoxelを活性化することを含み得る。
【0141】
例示的な実施形態によると、例示的な技術は、彼/彼女の指及び親指を一緒に摘み又は両手を一緒に動かすことによりより精細な部品を生成しようとする動作主の意図を検出しても良い。
図11Dに示すように、(例えば、囲い地検出エンジン158を介して)閉領域1116等が検出されると直ぐに、(手1114とは対照的に)この領域は処理されても良い。例示的な実施形態によると、領域1116の深度値は、周囲領域(つまり、手1114)からサンプリングされても良い。したがって、voxelは、それらが閉領域1116と位置を共有する場合、活性化されても良い。例示的な実施形態によると、手1114の実際の形状は、それが領域(例えば、領域1116)を囲む場合、棄却されても良い。したがって、動作主132は、テーブルの足又は三脚の支柱のような、より薄い要素を示すことができる。動作主132が両手の親指と人差し指を繋げることにより、より大きな領域を囲む場合、同様の技術が適用できる。
【0142】
例示的な実施形態によると、voxel空間は、正数の3次元配列として実施されても良く、したがって3Dヒストグラムを表す。例示的な実施形態によると、各voxelは、一定の幅、高さ、及び奥行きを有しても良い(例えば、10mm)。例示的な実施形態によると、voxel空間の中心は、動作主132の前に、だいたい胴の高さに直接置かれても良い(例えば、
図11Aに示すように)。
【0143】
例示的な実施形態によると、voxelの活性化はヒストグラム中の度数を増大するので、動作主132が繰り返しよりゆっくりと通過するvoxel(つまり、オブジェクト説明の重要な部分)は、動作主132が次の重要な場所に腕1108、1110を動かすときに通過するvoxelよりも多い数を累積し得る。例示的な実施形態によると、空間内の全てのvoxelに渡る単純な閾は、オブジェクト説明の重要な及び関連する部分を残し得る。例えば、統合モデル生成器140は、上述のように、決定した連続3D空間表現138に含まれる3D空間マップデータを追加的に統合し、及び閾時間値146を、自由な動き中に複数の3D空間領域を占有する少なくとも片手により使用される時点の数を示すモデル時間値と比較することに基づき、統合3Dモデル144を生成しても良い。
【0144】
例示的な実施形態によると、例示的な反復整合技術は、例示的な反復最近点(iterative closest point:ICP)アルゴリズムを用いて、2つのモデル(例えば、生成された統合モデル144と、所定の3Dモデル168a、168b、168cのうちの1つ)を登録しても良い。例えば、ICPアルゴリズムは、(例えば、少なくとも選択された部品に一致するようスケーリング、平行移動及び回転することにより)両方のモデルが予め揃えられた後に、開始されても良い。例示的な実施形態によると、予備アルゴリズムは、両モデルのスケーリングを均一に更に適応しても良い。例えば、反復整合エンジン188は、上述のように、反復最近点アルゴリズムに基づき、所定の3Dモデル168a、168b、168cのうちの1つと統合3Dモデル144と第2の整合190を生成しても良い。
【0145】
例示的な実施形態によると、ICPアルゴリズムは、一方のモデル内の点を他方のモデル内の最近点に繰り返し一致させることに基づいても良い。例えば、距離分布に基づく統計的技術は、外れ値、閉塞、出現及び消滅を処理するために用いられても良く、サブセット間照合に関連する例示的な技術を提供する。例示的な最小二乗技術は、点対応から3Dの動きを推定するために用いられても良い。これは、2つのモデルの点間の平均距離を短縮し得る。
【0146】
代替で、例示的な強力な技術は、4レベルの、z軸(垂直方向)周りの4分の1回転、及び16cmx16cmx16cmの範囲内の平行移動の組合せをテストしても良い。例示的な実施形態によると、動作主132は、オブジェクトの方向をx及びy軸(水平方向)周りに維持し、彼らはオブジェクトを空間的に説明する間にオブジェクトを彼らに向けて「方向転換」し得るので(つまり、彼らはz軸周りに回転し得る)、x及びy軸周りの回転は無視されても良い。この例示的な技術では、z回転の数は、オブジェクトの垂直方向の面の数(例えば、4面)に対応しても良い。この例示的な技術は、両方のモデルを予め揃え、それらのスケーリングを均一に適応しても良い。例えば、上述のように、強力整合エンジン192は、第1の整合186に基づき、所定の3Dモデル168a、168b、168cのうちの1つ及び統合3Dモデル144のスケーリング、回転及び平行移動のうちの複数を有する強力な整合に基づき、所定の3Dモデル168a、168b、168cのうちの1つと統合3Dモデル144との第2の整合190を生成しても良い。
【0147】
例示的な実施形態によると、例示的なICP技術は、コンピュータ的に高価であり、2つのモデルを比較するのに約8秒の時間がかかり得る。例示的な強力な技術は、離散voxel空間内で動作する(つまり、voxelの検索は比較的速い動作を有する)ので、比較のために1秒未満しかかからない。しかしながら、例示的なICP技術は、1又は複数の密接な一致を決定するためにオブジェクトを3軸全ての周りに回転し得る点で、より多くの柔軟性を提供し得る。
【0148】
voxel空間で表現されたオブジェクトを照合する少なくとも2つの異なる技術がここで議論されたが、データ処理の当業者は、本願明細書の議論の精神から逸脱することなく、生成された統合モデル144を1又は複数の所定の3Dモデル168a、168b、168cと照合するために用いられ得る利用可能な多くの他の照合技術が存在することを理解する。
【0149】
図12は、生成された3Dモデルを所定の3Dモデルと照合した、例示的な重ね合わせの結果を示す。
図12に示すように、生成された3Dモデル1202は、ここで議論された例示的な照合技術に基づき、所定のモデル1204と照合される。例えば、動作主132は、(椅子708と類似する)円盤形の足を有する椅子を描き、例示的な画像データ入力装置112(例えば、深度カメラ)の範囲内で(例えばデータマイムジェスチャを介して)その椅子の特徴を空間的に説明しても良い。例示的な空間オブジェクト管理エンジン102は、画像データ入力装置112から空間画像データ110を受信しても良い。そして、統合モデル生成器140は、統合モデル144(例えば、生成されたモデル1202)を生成しても良い。次に、照合エンジン166は、上述のように、統合モデル144を所定の3Dモデル168のうちの1つと照合し、選択されたモデル194(例えば、所定のモデル1204)を選択しても良い。
【0150】
例示的な実施形態によると、例示的なシステム100は、MICROSOFT KINECTカメラのような深度カメラを介して動作主132との相互作用を捕らえることにより実装されても良い。 例示的な実施形態によると、動作主132のジェスチャのビデオは、30Hzの深度情報を有する640x480の解像度で記録されても良い。例えば、空間オブジェクト管理エンジン102は、INTEL CORE2 Duo 2.13GHzプロセッサ及び6GHランダムアクセスメモリ(RAM)を備えたWINDOWS(登録商標) 7 Ultimateを実行するコンピューティング装置を介して実装されても良い。
【0151】
例示的な実施形態によると、例示的な照合技術は、近接3点(closest-three)技術を用いても良い。システム100が3つの最も密接に一致するオブジェクト170a、170b、170cをデータベース172から提供すると直ぐに、動作主132は、ジェスチャを介してオブジェクトを空間的に説明しても良い。次に、動作主132又はユーザ124は、3つの選択肢のうちの1つを選択し、オブジェクトが一意に定まらないことが明らかなとき、もう一度やり直し又はジェスチャを介してより詳細を提供し続けることを選択しても良い。例示的な実施形態によると、最も密接な3つの結果は、相互作用(例えば、会話)の状況をモデル化できるより大きなシステムにより使用されても良い。この付加情報は、動作主の入力の曖昧性の除去を提供し得る(逆に言えば、ジェスチャは、会話のような相互作用の他の特徴の曖昧性を除去し得る)。
【0152】
ここで議論する例示的な技術は、データベースに格納された具体的な3Dモデル(例えば、データベース172に格納された所定の3Dモデル168a、168b、168c)を有し得る。これらのモデルは、人間のジェスチャの特性により情報提供されない直接的な形状照合アプローチを用いて、同様に表現された入力(例えば、生成された統合モデル144)に対して照合されても良い。したがって、データベース172へのオブジェクト(例えば、更新モデル180)の追加は、オブジェクトの3Dモデルのみを得ることを含む。
【0153】
例示的な実施形態によると、動作主132の手以外のアイテムは、生成された統合モデル144を得るために、オブジェクトを空間的に説明するために用いられても良い。例えば、ロボット工学の用途では、エンドエフェクタは、環境と相互作用するよう設計された、ロボットの腕の端にある装置を有しても良い。したがって、例えば、(例えば、ロボットの腕の代わりに、人間の手の環境の文脈では)エンドエフェクタ等は、空間的説明のために人間の手の代わりに用いられても良い。さらに、動作主の手が塞がっている場合(例えば、本を持っている、モバイル装置を持っている)、手に持たれているオブジェクトは、動作主132の手の代わりに、例示的なシステム100により追跡されても良い。例えば、動作主132がジェスチャを行うために使える手を有しない場合、本願明細書の議論の精神から逸脱することなく、他のオブジェクトが用いられても良い。
【0154】
さらに、画像データ入力装置112以外の検知装置は、上述のように、センサデータ106を得るために用いられても良い。例えば、検知グローブは、動作主132が検知グローブを装着している間にジェスチャを行うとき、手姿勢を捕らえるために用いられても良い。
【0155】
ここで議論される例示的な技術は、例えば具体的な物理的オブジェクトを説明するために用いられるとき、ジェスチャの意味を理解する例示的なアプローチを提供し得る。例示的な実施形態によると、ここで議論されるように、例示的なデータマイム又はジェスチャ技術は、ジェスチャ期間に渡り動作主132の手によりトレースされる空間の容積ピクセル又は画像素子(voxel)表現に基づいても良い。例示的な実施形態によると、3Dモデル照合技術は、既知の物理的オブジェクト(例えば、所定の3Dモデル168a、168b、168cと関連付けられ得る物理的オブジェクト)のデータベース172から選択するために入力voxel表現を照合するために用いられても良い。
【0156】
ここに記載される種々の技術の実装は、デジタル電子回路で、又はコンピュータハードウェア、ファームウェア、又はそれらの組合せで実装されても良い。実装は、データ処理装置、例えばプログラマブルプロセッサ、コンピュータ又は複数のコンピュータにより実行され又はその動作を制御するためのコンピュータプログラム、つまり情報担体、例えば機械により使用可能な若しくは機械可読記憶装置(例えば、USB(Universal Serial Bus)記憶装置、テープ、ハードディスクドライブ、コンパクトディスク、DVD(digital video disk)等のような磁気若しくはデジタル媒体)又は伝搬する信号に実現可能に具現化されたコンピュータプログラムとして実装されても良い。上述のコンピュータプログラムのようなコンピュータプログラムは、コンパイル済みの又はインタープリット済みの言語を含む任意の形式のプログラミング言語で記述できる。また、コンピュータプログラムは、スタンドアロン型プログラムとして、又はモジュール、サブルーチン若しくはコンピューティング環境での使用に適した他のユニットを含む任意の形式で展開できる。上述の技術を実施し得るコンピュータプログラムは、1つのコンピュータで又は1箇所若しくは複数箇所に分散して置かれ通信ネットワークにより相互接続される複数のコンピュータに配置できる。
【0157】
方法のステップは、入力データに対して作用し出力を生成することにより機能を実行するためにコンピュータプログラムを実行する1又は複数のプログラマブルプロセッサにより実行されても良い。1又は複数のプログラマブルプロセッサは、命令を並列に実行しても良く、及び/又は分散型処理のために分散型構成で配置されても良い。方法のステップは、特定目的論理回路、例えばFPGA(field programmable gate array)又はASIC(application-specific integrated circuit)により実行でき、また装置は特定目的論理回路、例えばFPGA又はASICとしても実装できる。
【0158】
コンピュータプログラムの実行に適したプロセッサは、例えば、汎用及び特定目的プロセッサの両方、及び任意の種類のデジタルコンピュータの1又は複数のプロセッサを含む。概して、プロセッサは、命令及びデータを読み出し専用メモリ又はランダムアクセスメモリ又はそれらの両方から受信する。コンピュータの要素は、命令を実行する少なくとも1つのプロセッサと、命令及びデータを格納する1又は複数のメモリ装置を有しても良い。概して、コンピュータは、データを格納する1又は複数の大容量記憶装置、例えば磁気、光磁気ディスク若しくは光ディスクを含み、又はこれらからデータを受信し若しくはこれらにデータを転送するために動作可能に結合される。コンピュータプログラム命令及びデータを具現化するのに適する情報担体は、あらゆる形式の不揮発性メモリを含み、例えば、半導体メモリ素子、例えばEPROM、EEPROM及びフラッシュメモリ素子、磁気ディスク、例えば内蔵ハードディスク若しくは取り外し可能ディスク、光磁気ディスク、及びCD−ROM及びDVD−ROMディスクを含む。プロセッサ及びメモリは、特定目的論理回路により補強され、又はそれに組み込まれ得る。
【0159】
ユーザとの相互作用を提供するために、実装は、情報をユーザに表示するディスプレイ装置、例えば陰極管(CRT)又は液晶ディスプレイ(LCD)モニタ、及びユーザがコンピュータに入力を提供できるキーボード及びポインティング装置、例えばマウス又はトラックボールを有するコンピュータで実装されても良い。他の種類の装置も、ユーザとの相互作用を提供するために用いることができる。例えば、ユーザに提供されるフィードバックは、任意の形式の感覚的フィードバック、例えば視覚的フィードバック、聴覚的フィードバック、又は触覚的フィードバックであり得る。また、ユーザからの入力は、音響、会話又は触知性入力を含む任意の形式で受信され得る。
【0160】
実装は、バックエンドコンポーネント、例えばデータサーバを含む、又はミドルウェアコンポーネント、例えばアプリケーションサーバを含む、又はフロントエンドコンポーネント、例えばユーザが実装と相互作用できるグラフィカルユーザインタフェース若しくはウェブブラウザを備えるクライアントコンピュータを含むコンピューティングシステム、又はこのようなバックエンド、ミドルウェアもしくはフロントエンドコンポーネントの組合せで実装されても良い。コンポーネントは、任意の形式又は媒体のデジタルデータ通信、例えば通信ネットワークにより相互接続されても良い。通信ネットワークの例は、LAN(local area network)及びWAN(wide area network)、例えばインターネットを有する。
【0161】
本発明の主題は構造的特徴及び/又は方法論的動作に特有の言葉で記載されたが、本発明の主題は、特許請求の範囲に定められる上述の特定の特徴又は動作に限定されないことが理解されるべきである。むしろ、上述の特定の特徴及び動作は、特許請求の範囲の実施の例示的携帯として開示されたものである。記載されたように説明した実装の特定の特徴が説明されたが、多くの修正、代替、変更及び等価物が当業者に明らかである。したがって、添付の特許請求の範囲は実施形態の範囲内に包含される全てのこのような修正及び変更を包含することが理解される。