ユーザの頭部上に装着されるように構成される、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するように構成される、処理ユニットであって、マップは、環境に対してユーザを位置特定するために、処理ユニットによる使用のために構成される、処理ユニットとを含み、装置の処理ユニットはまた、マップを使用してユーザを位置特定することの成功の可能性を示す、メトリックを決定するように構成される。
随意に、処理ユニットは、メトリックを算出することによって、メトリックを決定するように構成されてもよい。
随意に、処理ユニットは、メトリックを受信することによって、メトリックを決定するように構成されてもよい。
随意に、処理ユニットは、異なるカメラ位置と関連付けられる着目点の同時可視性に基づいて、メトリックを決定するように構成される。
随意に、カメラ位置は、カメラシステムのカメラの第1のカメラ位置と、カメラシステムのカメラの第2のカメラ位置とを含む。
随意に、カメラ位置は、カメラシステムの第1のカメラの第1のカメラ位置と、カメラシステムの第2のカメラの第2のカメラ位置とを含む。
随意に、メトリックは、環境に対してユーザを位置特定するために使用可能な基準点の数を示す。
随意に、メトリックは、1つ以上の視認方向におけるユーザを位置特定することの成功の可能性を示す。
随意に、処理ユニットは、着目点が異なるカメラ位置から検出された回数に基づいて、メトリックを決定するように構成される。
随意に、処理ユニットは、任意の凸包を決定せずに、メトリックを決定するように構成される。
随意に、メトリックは、指向性に基づく、値を有する。
随意に、指向性は、1つ以上の垂直軸および/または1つ以上の水平軸に対するものである。
随意に、指向性は、旋回方向を含む。
随意に、指向性は、傾斜角度を含む。
随意に、指向性は、ロール角度を含む。
随意に、メトリックは、第1の指向性と関連付けられる、第1の値と、第2の指向性と関連付けられる、第2の値とを有する。
随意に、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の位置に基づく、値を有する。
随意に、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の第1の位置と関連付けられる、第1の値と、複数のセルのうちの1つ内の第2の位置と関連付けられる、第2の値とを有する。
随意に、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表す。
随意に、処理ユニットはまた、複数のセルのうちの1つに関してカメラシステムからの画像の総数を決定するように構成される。
随意に、画像の総数は、セルに関するある視認方向と関連付けられる。
随意に、画像の総数は、セルに関するある複数の視認方向と関連付けられる。
随意に、カメラシステムは、複数の画像を取得するように構成され、処理ユニットは、視認方向の同一範囲に属する、画像のサブセットを識別するステップと、画像のサブセット内の画像に関する個別のスコアを決定するステップと、スコアを総和し、総スコアを取得するステップとによって、複数のセルのうちの1つに関するメトリックを決定するように構成される。
随意に、処理ユニットはまた、総スコアを画像のサブセット内の画像の数で除算することによって、平均スコアを決定するように構成される。
随意に、平均スコアは、メトリックである。
随意に、平均スコアは、複数のセルのうちの1つに関する視認方向の範囲にわたる同時可視性点の平均予期数を表す。
随意に、処理ユニットは、基準点と複数の画像を関連付ける、同時可視性グラフにアクセスすることによって、個別のスコアを決定するように構成される。
随意に、同時可視性グラフは、基準点のいずれが複数の画像内のものの中で可視であるかを示す。
随意に、処理ユニットは、画像のサブセット内の画像の対応するもの内で検出された基準点の数を決定することによって、個別のスコアのそれぞれを決定するように構成される。
随意に、処理ユニットはまた、マップによる被覆度を示す、面積スコアを決定するように構成される。
随意に、面積スコアは、マップのデータ点の空間分布に基づく。
随意に、セルのうちの少なくとも1つは、2m×2mの占有面積を有する。
随意に、セルのうちの少なくとも1つはまた、所定の高さを有する。
随意に、処理ユニットは、複数の画像をカメラシステムから取得するステップと、同時可視性値を決定するステップであって、同時可視性値はそれぞれ、複数の画像の対応するもの内で検出された基準点の数を示す、ステップとによって、メトリックを決定するように構成される。
随意に、カメラシステムは、複数のカメラを備える。
随意に、複数の画像は、カメラシステムが第1の位置にあるとき、複数のカメラによって生成された画像の第1のサブセットを備える。
随意に、複数の画像は、カメラシステムが第2の位置にあるとき、複数のカメラによって生成された画像の第2のサブセットを備える。
随意に、複数のカメラは、第1の前方に面したカメラを備える。
随意に、複数のカメラは、第2の前方に面したカメラを備える。
随意に、複数のカメラは、第1の側方に面したカメラを備える。
随意に、複数のカメラは、第2の側方に面したカメラを備える。
随意に、処理ユニットは、メトリックの値を改良するためのカメラシステムの所望の視認方向を決定するように構成される。
随意に、処理ユニットは、決定された所望の視認方向に基づいて、グラフィックを生成するように構成され、グラフィックは、ユーザに、カメラシステムの現在の視認方向を所望の視認方向に変化させるように命令するように構成される。
随意に、カメラシステムは、カメラシステムの所望の視認方向が達成された後、環境の画像を取得するように構成される。
随意に、処理ユニットは、画像に基づいて、マップを更新するように構成される。
随意に、処理ユニットは、更新されたマップに基づいて、メトリックを更新するように構成される。
随意に、処理ユニットは、マップを使用して、環境に対してユーザを位置特定する前に、メトリックを決定するように構成される。
随意に、処理ユニットは、装置が別の装置とコンテンツを共有することを可能にする前に、メトリックを決定するように構成される。
随意に、処理ユニットは、処理ユニットがマップを決定する、マップ構築セッションの間、メトリックを決定するように構成される。
随意に、処理ユニットは、非一過性媒体から以前に決定されたマップにアクセスすることによって、メトリックを遡及的に決定するように構成される。
随意に、処理ユニットは、データがマップを決定するために使用される場合、サニタイゼーションを実施し、そうでなければ、マップに関して望ましくない寄与を提供するであろう、データを除去する、または考慮しないように構成される。
随意に、データは、カメラシステムからの画像を含み、処理ユニットは、画像を除去する、または考慮しないことによって、サニタイゼーションを実施するように構成される。
随意に、カメラシステムは、複数のカメラを備え、データは、個別のカメラによって生成された画像のセットを備え、処理ユニットは、画像のセットを除去する、または考慮しないことによって、サニタイゼーションを実施するように構成される。
随意に、データは、カメラシステムからの画像内の基準点の識別を備え、処理ユニットは、基準点の識別を考慮しないことによって、サニタイゼーションを実施するように構成される。
随意に、データは、カメラシステムからの画像および基準点と関連付けられる、光線または線を表し、処理ユニットは、画像と関連付けられる、光線または線を考慮しないことによって、サニタイゼーションを実施するように構成される。
随意に、処理ユニットは、ローカル最適化の一部として、サニタイゼーションを実施するように構成される。
随意に、処理ユニットは、バンドル調整を実施し、カメラシステムからの1つ以上の画像と関連付けられる、1つ以上の光線を調節するように構成され、処理ユニットは、サニタイゼーションを実施し、データを除去した後、バンドル調整を実施するように構成される。
随意に、処理ユニットは、グローバル最適化の一部として、バンドル調整を実施するように構成される。
随意に、処理ユニットは、カメラシステムからの画像および3次元基準点に基づいて、グローバル最適化を実施するように構成される。
随意に、処理ユニットは、カメラシステムのカメラ間の相対的配向にもまた基づいて、グローバル最適化を実施するように構成される。
随意に、処理ユニットは、カメラシステムから取得される画像に関するスコアを決定するように構成される。
随意に、スコアは、制約スコアである。
随意に、スコアは、画像が制約されている程度を示す。
随意に、処理ユニットは、基準点測定のJacobianに基づいて、スコアを決定するように構成される。
随意に、処理ユニットは、対角線行列である、情報行列に基づいて、スコアを決定するように構成される。
随意に、処理ユニットは、画像内で検出された基準点の数に基づいて、スコアを決定するように構成される。
随意に、処理ユニットは、スコアに基づいて、データサニタイゼーションを実施するように構成される。
随意に、処理ユニットは、データサニタイゼーションを実施するとき、画像の制約を除去する、または画像を除去するように構成される。
随意に、処理ユニットは、スコアが閾値を下回るとき、画像の制約を除去する、または画像を除去するように構成される。
随意に、処理ユニットは、複数のマップセグメントを決定するステップと、マップセグメントを接続するステップとによって、マップを決定するように構成される。
随意に、処理ユニットは、画像をカメラシステムから取得し、画像をリンクさせることによって、マップセグメントの第1のマップセグメントを決定するように構成され、画像は、カメラシステムによってシーケンスにおいて生成される。
随意に、処理ユニットは、画像の個別のスコアを決定するように構成される。
随意に、処理ユニットは、付加的画像をカメラシステムから取得し、付加的画像に関するスコアを決定し、カメラシステムからの付加的画像のスコアが基準を満たすことに応答して、マップセグメントの第2のマップセグメントを開始するように構成される。
随意に、処理ユニットは、スコアが、第1のマップセグメントに対する制約度を有する画像が閾値を下回ることを示すとき、第2のマップセグメントを開始するように構成される。
随意に、出力は、カメラシステムからの1つ以上の画像を含む。
ユーザの頭部上に装着されるように構成される、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するように構成される、処理ユニットであって、マップは、環境に対してユーザを位置特定するために、処理ユニットによる使用のために構成される、処理ユニットとを含み、装置の処理ユニットはまた、マップを使用してユーザを位置特定することの成功の可能性を示す、メトリックを取得するように構成され、処理ユニットは、メトリックを算出することによって、またはメトリックを受信することによって、メトリックを取得するように構成される。
ユーザの頭部上に装着されるように構成される、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するように構成される、処理ユニットであって、マップは、環境に対してユーザを位置特定するために、処理ユニットによる使用のために構成される、処理ユニットとを含み、処理ユニットは、カメラシステムから取得される画像に関するスコアを決定するように構成され、スコアは、画像がマップを形成するためのマップセグメントに対して制約されている程度を示す。
随意に、処理ユニットは、スコアを算出することによって、スコアを決定するように構成されてもよい。
随意に、処理ユニットは、スコアを受信することによって、スコアを決定するように構成されてもよい。
随意に、処理ユニットは、基準点測定のJacobianに基づいて、スコアを決定するように構成される。
随意に、処理ユニットは、対角線行列である、情報行列に基づいて、スコアを決定するように構成される。
随意に、処理ユニットは、画像内で検出された基準点の数に基づいて、スコアを決定するように構成される。
随意に、処理ユニットは、スコアに基づいて、データサニタイゼーションを実施するように構成される。
随意に、処理ユニットは、データサニタイゼーションを実施するとき、画像の制約を除去する、または画像を除去するように構成される。
随意に、処理ユニットは、スコアが閾値を下回るとき、画像の制約を除去する、または画像を除去するように構成される。
随意に、処理ユニットは、データがマップを決定するために使用される場合、サニタイゼーションを実施し、そうでなければ、マップに関して望ましくない寄与を提供するであろう、データを除去する、または考慮しないように構成される。
随意に、データは、カメラシステムからの画像を備え、処理ユニットは、画像を除去する、または考慮しないことによって、サニタイゼーションを実施するように構成される。
随意に、カメラシステムは、複数のカメラを備え、データは、個別のカメラによって生成された画像のセットを備え、処理ユニットは、画像のセットを除去する、または考慮しないことによって、サニタイゼーションを実施するように構成される。
随意に、データは、カメラシステムからの画像内の基準点の識別を備え、処理ユニットは、基準点の識別を考慮しないことによって、サニタイゼーションを実施するように構成される。
随意に、データは、カメラシステムからの画像および基準点と関連付けられる、光線または線を表し、処理ユニットは、画像と関連付けられる、光線または線を考慮しないことによって、サニタイゼーションを実施するように構成される。
随意に、処理ユニットは、ローカル最適化の一部として、サニタイゼーションを実施するように構成される。
随意に、処理ユニットは、バンドル調整を実施し、カメラシステムからの1つ以上の画像と関連付けられる、1つ以上の光線を調節するように構成され、処理ユニットは、サニタイゼーションを実施後、バンドル調整を実施するように構成され、スコアが決定される画像は、1つ以上の画像のうちの1つである、もしくは1つ以上の画像と異なる。
随意に、処理ユニットは、グローバル最適化の一部として、バンドル調整を実施するように構成される。
随意に、処理ユニットは、カメラシステムからの1つ以上の画像および3次元基準点に基づいて、グローバル最適化を実施するように構成される。
随意に、処理ユニットは、カメラシステムのカメラ間の相対的配向にもまた基づいて、グローバル最適化を実施するように構成される。
随意に、処理ユニットは、複数のマップセグメントを決定するステップであって、複数のマップセグメントは、マップセグメントを構成し、マップセグメントを接続するステップであって、マップの一部は、マップセグメントのうちの1つを構成する、ステップとによって、マップを決定するように構成される。
随意に、カメラシステムは、付加的画像を提供するように構成され、付加的画像は、スコアが決定される画像が生成される前に、カメラシステムによって生成され、処理ユニットは、付加的画像をリンクさせることによって、マップセグメントの第1のマップセグメントを決定するように構成され、付加的画像は、カメラシステムによってシーケンスにおいて生成される。
随意に、処理ユニットは、付加的画像の個別のスコアを決定するように構成される。
随意に、処理ユニットは、カメラシステムからの画像のスコアが基準を満たすことに応答して、マップセグメントの第2のマップセグメントを開始するように構成される。
随意に、処理ユニットは、スコアが、第1のマップセグメントに対する制約度を有する画像が閾値を下回ることを示すとき、第2のマップセグメントを開始するように構成される。
随意に、装置の処理ユニットはまた、マップを使用してユーザを位置特定することの成功の可能性を示す、メトリックを決定するように構成される。
随意に、処理ユニットは、異なるカメラ位置と関連付けられる着目点の同時可視性に基づいて、メトリックを決定するように構成される。
随意に、カメラ位置は、カメラシステムのカメラの第1のカメラ位置と、カメラシステムのカメラの第2のカメラ位置とを含む。
随意に、カメラ位置は、カメラシステムの第1のカメラの第1のカメラ位置と、カメラシステムの第2のカメラの第2のカメラ位置とを含む。
随意に、メトリックは、環境に対してユーザを位置特定するために使用可能な基準点の数を示す。
随意に、メトリックは、1つ以上の視認方向におけるユーザを位置特定することの成功の可能性を示す。
随意に、処理ユニットは、着目点が異なるカメラ位置から検出された回数に基づいて、メトリックを決定するように構成される。
随意に、処理ユニットは、任意の凸包を決定せずに、メトリックを決定するように構成される。
随意に、メトリックは、指向性に基づく、値を有する。
随意に、指向性は、1つ以上の垂直軸および/または1つ以上の水平軸に対するものである。
随意に、指向性は、旋回方向を含む。
随意に、指向性は、傾斜角度を含む。
随意に、指向性は、ロール角度を含む。
随意に、メトリックは、第1の指向性と関連付けられる、第1の値と、第2の指向性と関連付けられる、第2の値とを有する。
随意に、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の位置に基づく、値を有する。
随意に、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の第1の位置と関連付けられる、第1の値と、複数のセルのうちの1つ内の第2の位置と関連付けられる、第2の値とを有する。
随意に、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表す。
随意に、処理ユニットはまた、複数のセルのうちの1つに関してカメラシステムからの画像の総数を決定するように構成される。
随意に、画像の総数は、セルに関するある視認方向と関連付けられる。
随意に、画像の総数は、セルに関するある複数の視認方向と関連付けられる。
随意に、カメラシステムは、複数の画像を取得するように構成され、複数の画像は、スコアが決定される画像を含み、処理ユニットは、視認方向の同一範囲に属する、画像のサブセットを識別するステップと、画像のサブセット内の画像に関する個別のスコアを決定するステップと、スコアを総和し、総スコアを取得するステップとによって、複数のセルのうちの1つに関するメトリックを決定するように構成される。
随意に、処理ユニットはまた、総スコアを画像のサブセット内の画像の数で除算することによって、平均スコアを決定するように構成される。
随意に、平均スコアは、メトリックである。
随意に、平均スコアは、複数のセルのうちの1つに関する視認方向の範囲にわたる同時可視性点の平均予期数を表す。
随意に、処理ユニットは、基準点と複数の画像を関連付ける、同時可視性グラフにアクセスすることによって、個別のスコアを決定するように構成される。
随意に、同時可視性グラフは、基準点のいずれが複数の画像内のものの中で可視であるかを示す。
随意に、処理ユニットは、画像のサブセット内の画像の対応するもの内で検出された基準点の数を決定することによって、個別のスコアのそれぞれを決定するように構成される。
随意に、処理ユニットはまた、マップによる被覆度を示す、面積スコアを決定するように構成される。
随意に、面積スコアは、マップのデータ点の空間分布に基づく。
随意に、セルのうちの少なくとも1つは、2m×2mの占有面積を有する。
随意に、セルのうちの少なくとも1つはまた、所定の高さを有する。
随意に、処理ユニットは、複数の画像をカメラシステムから取得するステップであって、複数の画像は、スコアが決定される画像を含む、ステップと、同時可視性値を決定するステップであって、同時可視性値はそれぞれ、複数の画像の対応するもの内で検出された基準点の数を示す、ステップとによって、メトリックを決定するように構成される。
随意に、カメラシステムは、複数のカメラを備える。
随意に、複数の画像は、カメラシステムが第1の位置にあるとき、複数のカメラによって生成された画像の第1のサブセットを備える。
随意に、複数の画像は、カメラシステムが第2の位置にあるとき、複数のカメラによって生成された画像の第2のサブセットを備える。
随意に、複数のカメラは、第1の前方に面したカメラを備える。
随意に、複数のカメラは、第2の前方に面したカメラを備える。
随意に、複数のカメラは、第1の側方に面したカメラを備える。
随意に、複数のカメラは、第2の側方に面したカメラを備える。
随意に、処理ユニットは、メトリックの値を改良するためのカメラシステムの所望の視認方向を決定するように構成される。
随意に、処理ユニットは、決定された所望の視認方向に基づいて、グラフィックを生成するように構成され、グラフィックは、ユーザに、カメラシステムの現在の視認方向を所望の視認方向に変化させるように命令するように構成される。
随意に、カメラシステムは、カメラシステムの所望の視認方向が達成された後、付加的画像を取得するように構成される。
随意に、処理ユニットは、付加的画像に基づいて、マップを更新するように構成される。
随意に、処理ユニットは、更新されたマップに基づいて、メトリックを更新するように構成される。
随意に、処理ユニットは、マップを使用して、環境に対してユーザを位置特定する前に、メトリックを決定するように構成される。
随意に、処理ユニットは、装置が別の装置とコンテンツを共有することを可能にする前に、メトリックを決定するように構成される。
随意に、処理ユニットは、処理ユニットがマップを決定する、マップ構築セッションの間、メトリックを決定するように構成される。
随意に、処理ユニットは、非一過性媒体から以前に決定されたマップにアクセスすることによって、メトリックを遡及的に決定するように構成される。
ユーザの頭部上に装着されるように構成される、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するように構成される、処理ユニットであって、マップは、環境に対してユーザを位置特定するために、処理ユニットによる使用のために構成される、処理ユニットとを含み、処理ユニットは、カメラシステムから取得される画像に関するスコアを取得するように構成され、スコアは、画像がマップを形成するためのマップセグメントに対して制約されている程度を示し、処理ユニットは、スコアを算出することによって、またはスコアを受信することによって、スコアを取得するように構成される。
ユーザの頭部上に装着されるように構成される、装置によって実施される、方法であって、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、処理ユニットとを有し、処理ユニットによって、カメラシステムからの出力を取得するステップと、処理ユニットによって、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するステップであって、マップは、環境に対してユーザを位置特定するために、処理ユニットによる使用のために構成される、ステップと、処理ユニットによって、マップを使用してユーザを位置特定することの成功の可能性を示す、メトリックを決定するステップとを含む。
随意に、メトリックを決定する行為は、メトリックを算出するステップを含む。
随意に、メトリックを決定する行為は、メトリックを受信するステップを含む。
随意に、メトリックは、異なるカメラ位置と関連付けられる、着目点の同時可視性に基づいて決定される。
随意に、カメラ位置は、カメラシステムのカメラの第1のカメラ位置と、カメラシステムのカメラの第2のカメラ位置とを含む。
随意に、カメラ位置は、カメラシステムの第1のカメラの第1のカメラ位置と、カメラシステムの第2のカメラの第2のカメラ位置とを含む。
随意に、メトリックは、環境に対してユーザを位置特定するために使用可能な基準点の数を示す。
随意に、メトリックは、1つ以上の視認方向におけるユーザを位置特定することの成功の可能性を示す。
随意に、メトリックは、着目点が異なるカメラ位置から検出された回数に基づいて決定される。
随意に、メトリックは、任意の凸包を決定せずに、処理ユニットによって決定される。
随意に、メトリックは、指向性に基づく、値を有する。
随意に、指向性は、1つ以上の垂直軸および/または1つ以上の水平軸に対するものである。
随意に、指向性は、旋回方向を含む。
随意に、指向性は、傾斜角度を含む。
随意に、指向性は、ロール角度を含む。
随意に、メトリックは、第1の指向性と関連付けられる、第1の値と、第2の指向性と関連付けられる、第2の値とを有する。
随意に、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の位置に基づく、値を有する。
随意に、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の第1の位置と関連付けられる、第1の値と、複数のセルのうちの1つ内の第2の位置と関連付けられる、第2の値とを有する。
随意に、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表す。
随意に、メトリックを決定する行為は、複数のセルのうちの1つと関連付けられる、カメラシステムからの画像の総数を決定するステップを含む。
随意に、画像の総数は、セルに関するある視認方向と関連付けられる。
随意に、画像の総数は、セルに関するある複数の視認方向と関連付けられる。
随意に、カメラシステムは、複数の画像を取得するように構成され、メトリックは、視認方向の同一範囲に属する、画像のサブセットを識別するステップと、画像のサブセット内の画像に関する個別のスコアを決定するステップと、スコアを総和し、総スコアを取得するステップとによって、複数のセルのうちの1つに関して決定される。
随意に、メトリックは、総スコアを画像のサブセット内の画像の数で除算し、平均スコアを取得することによって決定される。
随意に、平均スコアは、メトリックである。
随意に、平均スコアは、複数のセルのうちの1つに関する視認方向の範囲にわたる同時可視性点の平均予期数を表す。
随意に、個別のスコアは、基準点と複数の画像を関連付ける、同時可視性グラフにアクセスすることによって決定される。
随意に、同時可視性グラフは、基準点のいずれが複数の画像内のものの中で可視であるかを示す。
随意に、個別のスコアのそれぞれは、画像のサブセット内の画像の対応するもの内で検出された基準点の数を決定することによって決定される。
随意に、本方法はさらに、マップによる被覆度を示す、面積スコアを決定するステップを含む。
随意に、面積スコアは、マップのデータ点の空間分布に基づいて決定される。
随意に、セルのうちの少なくとも1つは、2m×2mの占有面積を有する。
随意に、セルのうちの少なくとも1つはまた、所定の高さを有する。
随意に、メトリックは、複数の画像をカメラシステムから取得するステップと、同時可視性値を決定するステップであって、同時可視性値はそれぞれ、複数の画像の対応するもの内で検出された基準点の数を示す、ステップとによって決定される。
随意に、カメラシステムは、複数のカメラを備える。
随意に、複数の画像は、カメラシステムが第1の位置にあるとき、複数のカメラによって生成された画像の第1のサブセットを備える。
随意に、複数の画像は、カメラシステムが第2の位置にあるとき、複数のカメラによって生成された画像の第2のサブセットを備える。
随意に、複数のカメラは、第1の前方に面したカメラを備える。
随意に、複数のカメラは、第2の前方に面したカメラを備える。
随意に、複数のカメラは、第1の側方に面したカメラを備える。
随意に、複数のカメラは、第2の側方に面したカメラを備える。
随意に、本方法はさらに、処理ユニットによって、メトリックの値を改良するためのカメラシステムの所望の視認方向を決定するステップを含む。
随意に、本方法はさらに、決定された所望の視認方向に基づいて、グラフィックを生成するステップを含み、グラフィックは、ユーザに、カメラシステムの現在の視認方向を所望の視認方向に変化させるように命令するように構成される。
随意に、本方法はさらに、カメラシステムの所望の視認方向が達成された後、環境の画像をカメラシステムから取得するステップを含む。
随意に、本方法はさらに、画像に基づいて、マップを更新するステップを含む。
随意に、本方法はさらに、更新されたマップに基づいて、メトリックを更新するステップを含む。
随意に、メトリックは、マップが環境に対してユーザを位置特定するために使用される前に決定される。
随意に、メトリックは、装置が別の装置とコンテンツを共有する前に決定される。
随意に、メトリックは、処理ユニットがマップを決定する、マップ構築セッションの間に決定される。
随意に、メトリックは、非一過性媒体から以前に決定されたマップにアクセスすることによって、遡及的に決定される。
随意に、本方法はさらに、データがマップを決定するために使用される場合、サニタイゼーションを実施し、そうでなければ、マップに関して望ましくない寄与を提供するであろう、データを除去する、または考慮しないステップを含む。
随意に、データは、カメラシステムからの画像を含み、サニタイゼーションは、画像を除去する、または考慮しないステップによって実施される。
随意に、カメラシステムは、複数のカメラを備え、データは、個別のカメラによって生成された画像のセットを備え、サニタイゼーションは、画像のセットを除去する、または考慮しないステップによって実施される。
随意に、データは、カメラシステムからの画像内の基準点の識別を備え、サニタイゼーションは、基準点の識別を考慮しないステップによって実施される。
随意に、データは、カメラシステムからの画像および基準点と関連付けられる、光線または線を表し、サニタイゼーションは、画像と関連付けられる、光線または線を考慮しないステップによって実施される。
随意に、サニタイゼーションは、ローカル最適化の一部として実施される。
随意に、本方法はさらに、バンドル調整を実施し、カメラシステムからの1つ以上の画像と関連付けられる、1つ以上の光線を調節するステップを含み、バンドル調整は、サニタイゼーションが実施され、データを除去した後に実施される。
随意に、バンドル調整は、グローバル最適化の一部として実施される。
随意に、グローバル最適化は、カメラシステムからの画像および3次元基準点に基づいて実施される。
随意に、グローバル最適化は、カメラシステムのカメラ間の相対的配向にもまた基づいて実施される。
随意に、本方法はさらに、処理ユニットによって、カメラシステムから取得される画像に関するスコアを決定するステップを含む。
随意に、スコアは、制約スコアである。
随意に、スコアは、画像が制約されている程度を示す。
随意に、スコアは、基準点測定のJacobianに基づいて決定される。
随意に、スコアは、対角線行列である、情報行列に基づいて決定される。
随意に、スコアは、画像内で検出された基準点の数に基づいて決定される。
随意に、本方法はさらに、スコアに基づいて、データサニタイゼーションを実施するステップを含む。
随意に、データサニタイゼーションを実施する行為は、画像の制約を除去するステップ、または画像を除去するステップを含む。
随意に、スコアが閾値を下回るとき、画像の制約または画像が、除去される。
随意に、マップは、複数のマップセグメントを決定するステップと、マップセグメントを接続するステップとによって決定される。
随意に、複数のマップセグメントを決定する行為は、画像をカメラシステムから取得し、画像をリンクさせることによって、マップセグメントの第1のマップセグメントを決定するステップを含み、画像は、カメラシステムによってシーケンスにおいて生成される。
随意に、本方法はさらに、画像の個別のスコアを決定するステップを含む。
随意に、本方法はさらに、カメラシステムからの付加的画像のスコアが基準を満たすことに応答して、付加的画像をカメラシステムから取得し、付加的画像に関するスコアを決定し、マップセグメントの第2のマップセグメントを開始するステップを含む。
随意に、第2のマップセグメントは、スコアが、第1のマップセグメントに対する制約度を有する画像が閾値を下回ることを示すとき、開始される。
随意に、出力は、カメラシステムからの1つ以上の画像を含む。
ユーザの頭部上に装着されるように構成される、装置によって実施される、方法であって、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、処理ユニットとを有し、処理ユニットによって、カメラシステムからの出力を取得するステップと、処理ユニットによって、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するステップであって、マップは、環境に対してユーザを位置特定するために、処理ユニットによる使用のために構成される、ステップと、処理ユニットによって、マップを使用してユーザを位置特定することの成功の可能性を示す、メトリックを取得するステップであって、取得する行為は、処理ユニットによって、メトリックを算出するステップまたはメトリックを受信するステップを含む、ステップとを含む。
ユーザの頭部上に装着されるように構成される、装置によって実施される、方法であって、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、処理ユニットとを有し、処理ユニットによって、カメラシステムからの出力を取得するステップと、処理ユニットによって、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するステップであって、マップは、環境に対してユーザを位置特定するために、処理ユニットによる使用のために構成される、ステップと、処理ユニットによって、カメラシステムから取得される画像に関するスコアを決定するステップであって、スコアは、画像がマップを形成するためのマップセグメントに対して制約されている程度を示す、ステップとを含む。
随意に、スコアを決定する行為は、スコアを算出するステップを含む。
随意に、スコアを決定する行為は、スコアを受信するステップを含む。
随意に、スコアは、基準点測定のJacobianに基づいて決定される。
随意に、スコアは、対角線行列である、情報行列に基づいて決定される。
随意に、スコアは、画像内で検出された基準点の数に基づいて決定される。
随意に、本方法はさらに、処理ユニットによって、スコアに基づいて、データサニタイゼーションを実施するステップを含む。
随意に、データサニタイゼーションを実施する行為は、画像の制約を除去するステップ、または画像を除去するステップを含む。
随意に、データサニタイゼーションを実施する行為は、スコアが閾値を下回るとき、画像の制約を除去するステップまたは画像を除去するステップを含む。
随意に、サニタイゼーションは、データがマップを決定するために使用される場合、そうでなければ、マップに関して望ましくない寄与を提供するであろう、データを除去する、または考慮しないように実施される。
随意に、データは、カメラシステムからの画像を備え、サニタイゼーションは、画像を除去する、または考慮しないように実施される。
随意に、カメラシステムは、複数のカメラを備え、データは、個別のカメラによって生成された画像のセットを備え、サニタイゼーションは、画像のセットを除去する、または考慮しないように実施される。
随意に、データは、カメラシステムからの画像内の基準点の識別を備え、サニタイゼーションは、基準点の識別を考慮しないように実施される。
随意に、データは、カメラシステムからの画像および基準点と関連付けられる、光線または線を表し、サニタイゼーションは、画像と関連付けられる、光線または線を考慮しないように実施される。
随意に、サニタイゼーションは、ローカル最適化の一部として実施される。
随意に、本方法はさらに、バンドル調整を実施し、カメラシステムからの1つ以上の画像と関連付けられる、1つ以上の光線を調節するステップを含み、バンドル調整は、サニタイゼーションが実施された後、実施され、スコアが決定される画像は、1つ以上の画像のうちの1つである、もしくは1つ以上の画像と異なる。
随意に、バンドル調整は、グローバル最適化の一部として実施される。
随意に、本方法はさらに、処理ユニットによって、カメラシステムからの1つ以上の画像および3次元基準点に基づいて、グローバル最適化を実施するステップを含む。
随意に、グローバル最適化は、カメラシステムのカメラ間の相対的配向にもまた基づいて実施される。
随意に、マップは、複数のマップセグメントを決定するステップであって、複数のマップセグメントがマップセグメントを構成する、ステップと、マップセグメントを接続するステップであって、マップの一部が、マップセグメントのうちの1つを構成する、ステップとによって決定される。
随意に、カメラシステムは、付加的画像を提供するように構成され、付加的画像は、スコアが決定される画像が生成される前に、カメラシステムによって生成され、マップを決定する行為は、付加的画像をリンクさせることによって、マップセグメントの第1のマップセグメントを決定するステップを含み、付加的画像は、カメラシステムによってシーケンスにおいて生成される。
随意に、本方法はさらに、付加的画像の個別のスコアを決定するステップを含む。
随意に、本方法はさらに、処理ユニットによって、カメラシステムからの画像のスコアが基準を満たすことに応答して、マップセグメントの第2のマップセグメントを開始するステップを含む。
随意に、第2のマップセグメントは、スコアが、第1のマップセグメントに対する制約度を有する画像が閾値を下回ることを示すとき、開始される。
随意に、本方法はさらに、マップを使用してユーザを位置特定することの成功の可能性を示す、メトリックを決定するステップを含む。
随意に、メトリックは、異なるカメラ位置と関連付けられる、着目点の同時可視性に基づいて決定される。
随意に、カメラ位置は、カメラシステムのカメラの第1のカメラ位置と、カメラシステムのカメラの第2のカメラ位置とを含む。
随意に、カメラ位置は、カメラシステムの第1のカメラの第1のカメラ位置と、カメラシステムの第2のカメラの第2のカメラ位置とを含む。
随意に、メトリックは、環境に対してユーザを位置特定するために使用可能な基準点の数を示す。
随意に、メトリックは、1つ以上の視認方向におけるユーザを位置特定することの成功の可能性を示す。
随意に、メトリックは、着目点が異なるカメラ位置から検出された回数に基づいて決定される。
随意に、メトリックは、任意の凸包を決定せずに、処理ユニットによって決定される。
随意に、メトリックは、指向性に基づく、値を有する。
随意に、指向性は、1つ以上の垂直軸および/または1つ以上の水平軸に対するものである。
随意に、指向性は、旋回方向を含む。
随意に、指向性は、傾斜角度を含む。
随意に、指向性は、ロール角度を含む。
随意に、メトリックは、第1の指向性と関連付けられる、第1の値と、第2の指向性と関連付けられる、第2の値とを有する。
随意に、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の位置に基づく、値を有する。
随意に、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の第1の位置と関連付けられる、第1の値と、複数のセルのうちの1つ内の第2の位置と関連付けられる、第2の値とを有する。
随意に、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表す。
随意に、メトリックを決定する行為は、複数のセルのうちの1つと関連付けられる、カメラシステムからの画像の総数を決定するステップを含む。
随意に、画像の総数は、セルに関するある視認方向と関連付けられる。
随意に、画像の総数は、セルに関するある複数の視認方向と関連付けられる。
随意に、カメラシステムは、複数の画像を取得するように構成され、複数の画像は、スコアが決定される画像を含み、メトリックは、視認方向の同一範囲に属する、画像のサブセットを識別するステップと、画像のサブセット内の画像に関する個別のスコアを決定するステップと、スコアを総和し、総スコアを取得するステップとによって、複数のセルのうちの1つに関して決定される。
随意に、本方法はさらに、総スコアを画像のサブセット内の画像の数で除算し、平均スコアを取得するステップを含む。
随意に、平均スコアは、メトリックである。
随意に、平均スコアは、複数のセルのうちの1つに関する視認方向の範囲にわたる同時可視性点の平均予期数を表す。
随意に、個別のスコアは、基準点と複数の画像を関連付ける、同時可視性グラフにアクセスすることによって決定される。
随意に、同時可視性グラフは、基準点のいずれが複数の画像内のものの中で可視であるかを示す。
随意に、個別のスコアのそれぞれは、画像のサブセット内の画像の対応するもの内で検出された基準点の数を決定することによって決定される。
随意に、本方法はさらに、マップによる被覆度を示す、面積スコアを決定するステップを含む。
随意に、面積スコアは、マップのデータ点の空間分布に基づく。
随意に、セルのうちの少なくとも1つは、2m×2mの占有面積を有する。
随意に、セルのうちの少なくとも1つはまた、所定の高さを有する。
随意に、メトリックは、複数の画像をカメラシステムから取得するステップであって、複数の画像は、スコアが決定される画像を含む、ステップと、同時可視性値を決定するステップであって、同時可視性値はそれぞれ、複数の画像の対応するもの内で検出された基準点の数を示す、ステップとによって決定される。
随意に、カメラシステムは、複数のカメラを備える。
随意に、複数の画像は、カメラシステムが第1の位置にあるとき、複数のカメラによって生成された画像の第1のサブセットを備える。
随意に、複数の画像は、カメラシステムが第2の位置にあるとき、複数のカメラによって生成された画像の第2のサブセットを備える。
随意に、複数のカメラは、第1の前方に面したカメラを備える。
随意に、複数のカメラは、第2の前方に面したカメラを備える。
随意に、複数のカメラは、第1の側方に面したカメラを備える。
随意に、複数のカメラは、第2の側方に面したカメラを備える。
随意に、本方法はさらに、処理ユニットによって、メトリックの値を改良するためのカメラシステムの所望の視認方向を決定するステップを含む。
随意に、本方法はさらに、決定された所望の視認方向に基づいて、グラフィックを生成するステップを含み、グラフィックは、ユーザに、カメラシステムの現在の視認方向を所望の視認方向に変化させるように命令するように構成される。
随意に、本方法はさらに、カメラシステムの所望の視認方向が達成された後、付加的画像をカメラシステムから取得するステップを含む。
随意に、本方法はさらに、付加的画像に基づいて、マップを更新するステップを含む。
随意に、本方法はさらに、更新されたマップに基づいて、メトリックを更新するステップを含む。
随意に、メトリックは、処理ユニットが、マップを使用し、環境に対してユーザを位置特定する前に、決定される。
随意に、メトリックは、装置が別の装置とコンテンツを共有する前に決定される。
随意に、メトリックは、処理ユニットがマップを決定する、マップ構築セッションの間に決定される。
随意に、メトリックは、非一過性媒体から以前に決定されたマップにアクセスすることによって、遡及的に決定される。
ユーザの頭部上に装着されるように構成される、装置によって実施される、方法であって、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、処理ユニットとを有し、処理ユニットによって、カメラシステムからの出力を取得するステップと、処理ユニットによって、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するステップであって、マップは、環境に対してユーザを位置特定するために、処理ユニットによる使用のために構成される、ステップと、処理ユニットによって、カメラシステムから取得される画像に関するスコアを取得するステップであって、スコアは、画像がマップを形成するためのマップセグメントに対して制約されている程度を示し、スコアを取得する行為は、スコアを算出するステップまたはスコア受信するステップを含む、ステップとを含む。
本開示の付加的および他の目的、特徴、ならびに利点は、発明を実施するための形態、図、および請求項に説明される。
本発明は、例えば、以下を提供する。
(項目1)
ユーザの頭部上に装着されるように構成される装置であって、
グラフィックをユーザに提示するように構成される画面と、
前記ユーザが位置する環境を視認するように構成されるカメラシステムと、
少なくとも部分的に、前記カメラシステムからの出力に基づいて、マップを決定するように構成される処理ユニットであって、前記マップは、前記環境に対して前記ユーザを位置特定するために、前記処理ユニットによる使用のために構成される、処理ユニットと
を備え、
前記装置の処理ユニットはまた、前記マップを使用して前記ユーザを位置特定することの成功の可能性を示すメトリックを取得するように構成され、前記処理ユニットは、前記メトリックを算出することによって、または前記メトリックを受信することによって、前記メトリックを取得するように構成される、装置。
(項目2)
前記処理ユニットは、異なるカメラ位置と関連付けられる着目点の同時可視性に基づいて、前記メトリックを決定するように構成される、項目1に記載の装置。
(項目3)
前記メトリックは、前記環境に対して前記ユーザを位置特定するために使用可能な基準点の数を示す、項目1に記載の装置。
(項目4)
前記メトリックは、1つ以上の視認方向における前記ユーザを位置特定することの成功の可能性を示す、項目1に記載の装置。
(項目5)
前記処理ユニットは、着目点が異なるカメラ位置から検出された回数に基づいて、前記メトリックを決定するように構成される、項目1に記載の装置。
(項目6)
前記処理ユニットは、任意の凸包を決定せずに、前記メトリックを決定するように構成される、項目1に記載の装置。
(項目7)
前記メトリックは、指向性に基づく値を有する、項目1に記載の装置。
(項目8)
前記メトリックは、複数のセルのうちの1つに関するものであり、前記セルはそれぞれ、前記環境の一部の3次元空間を表し、前記メトリックは、前記複数のセルのうちの1つ内の位置に基づく値を有する、項目1に記載の装置。
(項目9)
前記メトリックは、複数のセルのうちの1つに関するものであり、前記セルはそれぞれ、前記環境の一部の3次元空間を表す、項目1に記載の装置。
(項目10)
前記カメラシステムは、複数の画像を取得するように構成され、前記処理ユニットは、
視認方向の同一範囲に属する前記画像のサブセットを識別することと、
前記画像のサブセット内の画像に関する個別のスコアを決定することと、
前記スコアを総和し、総スコアを取得することと
によって、前記複数のセルのうちの1つに関する前記メトリックを決定するように構成される、項目9に記載の装置。
(項目11)
前記処理ユニットはまた、前記総スコアを前記画像のサブセット内の画像の数で除算することによって、平均スコアを決定するように構成される、項目10に記載の装置。
(項目12)
前記処理ユニットは、基準点と前記複数の画像を関連付ける同時可視性グラフにアクセスすることによって、前記個別のスコアを決定するように構成される、項目10に記載の装置。
(項目13)
前記同時可視性グラフは、前記基準点のいずれが前記複数の画像内のものの中で可視であるかを示す、項目12に記載の装置。
(項目14)
前記処理ユニットは、前記画像のサブセット内の画像の対応するもの内で検出された基準点の数を決定することによって、前記個別のスコアのそれぞれを決定するように構成される、項目10に記載の装置。
(項目15)
前記処理ユニットはまた、前記マップによる被覆度を示す面積スコアを決定するように構成される、項目1に記載の装置。
(項目16)
前記処理ユニットは、
複数の画像を前記カメラシステムから取得することと、
同時可視性値を決定することであって、前記同時可視性値はそれぞれ、前記複数の画像の対応するもの内で検出された基準点の数を示す、ことと
によって、前記メトリックを決定するように構成される、項目1に記載の装置。
(項目17)
前記処理ユニットは、前記メトリックの値を改良するための前記カメラシステムの所望の視認方向を決定するように構成される、項目1に記載の装置。
(項目18)
前記処理ユニットは、前記決定された所望の視認方向に基づいて、前記グラフィックを生成するように構成され、前記グラフィックは、前記ユーザに、前記カメラシステムの現在の視認方向を前記所望の視認方向に変化させるように命令するように構成される、項目17に記載の装置。
(項目19)
前記処理ユニットは、前記所望の視認方向が達成された後、前記メトリックを更新するように構成される、項目18に記載の装置。
(項目20)
前記処理ユニットは、前記データが前記マップを決定するために使用される場合、サニタイゼーションを実施し、そうでなければ、前記マップに関して望ましくない寄与を提供するであろうデータを除去するか、または考慮しないように構成される、項目1に記載の装置。
(項目21)
前記データは、前記カメラシステムからの画像を含み、前記処理ユニットは、(1)前記画像を除去するか、または考慮しないこと、(2)前記画像内の基準点の識別を考慮しないこと、および/または(3)前記画像と関連付けられる、光線または線を考慮しないことによって、前記サニタイゼーションを実施するように構成される、項目20に記載の装置。
(項目22)
前記処理ユニットは、バンドル調整を実施し、前記カメラシステムからの1つ以上の画像と関連付けられる1つ以上の光線を調節するように構成され、前記処理ユニットは、前記サニタイゼーションを実施し、前記データを除去した後、前記バンドル調整を実施するように構成される、項目20に記載の装置。
(項目23)
前記処理ユニットは、前記カメラシステムからの画像、3次元基準点、および前記カメラシステムのカメラ間の相対的配向に基づいて、最適化を実施するように構成される、項目1に記載の装置。
(項目24)
前記処理ユニットは、前記カメラシステムから取得される画像に関するスコアを決定するように構成される、項目1に記載の装置。
(項目25)
前記スコアは、前記画像が制約されている程度を示す、項目24に記載の装置。
(項目26)
前記処理ユニットは、基準点測定のJacobianに基づいて、前記スコアを決定するように構成される、項目24に記載の装置。
(項目27)
前記処理ユニットは、前記スコアに基づいて、データサニタイゼーションを実施するように構成され、
前記処理ユニットは、前記データサニタイゼーションを実施するとき、前記画像の制約を除去する、または前記画像を除去するように構成される、
項目24に記載の装置。
(項目28)
前記処理ユニットは、
複数のマップセグメントを決定することと、
前記マップセグメントを接続することと
によって、前記マップを決定するように構成される、項目1に記載の装置。
(項目29)
前記処理ユニットは、画像を前記カメラシステムから取得し、前記画像をリンクさせることによって、前記マップセグメントの第1のマップセグメントを決定するように構成され、前記画像は、前記カメラシステムによってシーケンスにおいて生成される、項目28に記載の装置。
(項目30)
前記処理ユニットは、
付加的画像を前記カメラシステムから取得することと、
前記付加的画像に関するスコアを決定することと、
前記カメラシステムからの付加的画像のスコアが基準を満たすことに応答して、前記マップセグメントの第2のマップセグメントを開始することと
を行うように構成される、項目29に記載の装置。
(項目31)
前記処理ユニットは、前記スコアが、前記第1のマップセグメントに対する制約度を有する前記画像が閾値を下回ることを示すとき、前記第2のマップセグメントを開始するように構成される、項目30に記載の装置。
(項目32)
ユーザの頭部上に装着されるように構成される装置によって実施される方法であって、前記装置は、グラフィックをユーザに提示するように構成される画面と、前記ユーザが位置する環境を視認するように構成されるカメラシステムと、処理ユニットとを有し、前記方法は、
前記処理ユニットによって、前記カメラシステムからの出力を取得することと、
前記処理ユニットによって、少なくとも部分的に、前記カメラシステムからの出力に基づいて、マップを決定することであって、前記マップは、前記環境に対して前記ユーザを位置特定するために、前記処理ユニットによる使用のために構成される、ことと、
前記処理ユニットによって、前記マップを使用して前記ユーザを位置特定することの成功の可能性を示すメトリックを取得することであって、前記取得する行為は、前記処理ユニットによって、前記メトリックを算出することまたは前記メトリックを受信することを含む、ことと
を含む、方法。
本開示の種々の実施形態は、ユーザの頭部上に装着されるように構成される、ビデオ画像デバイスのための入力を提供するための方法、装置、および製造品を対象とする。本開示の他の目的、特徴、および利点は、詳細な説明、図、および請求項に説明される。
種々の実施形態は、図を参照して以降に説明される。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。また、図は、実施形態の説明を促進するようにのみ意図されることに留意されたい。それらは、本発明の包括的説明として、または本発明の範囲に関する限界として意図されるものではない。加えて、図示される実施形態は、示される全ての側面または利点を有する必要はない。特定の実施形態と併せて説明される側面または利点は、必ずしも、その実施形態に限定されず、そのように図示されない場合でも、またはそのように明示的に説明されない場合でも、任意の他の実施形態において実践されることができる。
続く説明は、それを用いて本明細書に説明される実施形態が実践され得る、例証的VR、AR、および/またはMRシステムに関する。しかしながら、実施形態はまた、他のタイプのディスプレイシステム(他のタイプのVR、AR、および/またはMRシステムを含む)における用途にも適しており、したがって、実施形態は、本明細書に開示される例証的実施例のみに限定されないことを理解されたい。
問題およびソリューションの説明
ある場合には、ユーザの環境に対して画像ディスプレイデバイスのユーザを位置特定するために、環境の位置特定マップが、取得される。次いで、画像ディスプレイデバイスのカメラシステムからのリアルタイム追跡画像が、次いで、ユーザを位置特定するための位置特定マップに対してマッチングされる。位置特定の成功率は、位置特定マップの品質に依存する。故に、位置特定のためのマップを使用するための成功の可能性を示す、マップの品質を示すためのメトリックを決定することが有利であろう。種々の技法が、メトリックを決定するために採用されてもよい。1つの実装では、メトリックは、異なる画像内で捕捉された基準点の同時可視性に基づいて決定される。基準点は、角、縁等の着目特徴を表すマップ点であってもよく、着目特徴は、位置特定目的のために環境内のオブジェクトを識別するために使用されてもよい。ユーザが、ユーザの環境に対して正常に位置特定されることができた後、ユーザは、次いで、画像ディスプレイデバイスを使用して、仮想コンテンツを環境に対して設置する、前のセッションからの前のコンテンツを読み出す、環境内で他のユーザとコンテンツを共有する等を行うことができる。
位置特定マップは、画像ディスプレイデバイスのカメラシステムを使用して作成されてもよい。特に、画像ディスプレイデバイスのユーザは、異なる頭部姿勢をとり(例えば、頭部を旋回させ)、環境を「走査」する。それを行っている間、カメラシステムは、環境の画像を捕捉する。画像ディスプレイデバイスの処理ユニットは、次いで、画像を処理し、マップを作成する。いくつかの実施形態では、マップの品質を改良するために、マップに寄与し得る、望ましくないデータは、マップ作成プロセスの間、除去および/または調節されてもよい。一実施例では、望ましくないデータは、マップセグメントに対して良好に制約されない、画像であり得る。画像が、マップを作成するためにシーケンスにおいて生成されるにつれて、画像は、ともにリンクされ、マップセグメントを形成する。各画像は、ある数の基準点(例えば、マップ点)を捕捉してもよい。画像が、他の画像によっても捕捉された、多くの基準点を捕捉した場合、画像は、作成されているセグメントに対して良好に制約されていると見なされ得る。他方では、画像が、いくつかの基準点のみを有し、および/または画像内の基準点が、他の画像によって検出されない場合、画像は作成されているセグメントに対して不良に制約されている、と見なされ得る。いくつかの実施形態では、良好に制約されていない画像は、除去されてもよく、良好に制約されている画像を伴うマップセグメントは、ともに接続され、位置特定マップを形成してもよい。
図1-4は、種々の実施形態における、画像ディスプレイシステム100の種々のコンポーネントを図示する。画像ディスプレイシステム100は、画像ディスプレイデバイス101と、画像ディスプレイデバイスデバイス101のための入力を提供するための装置200とを含む。装置200は、下記にさらに詳細に説明されるであろう。画像ディスプレイデバイス101は、VRデバイス、ARデバイス、MRデバイス、または他のタイプのディスプレイデバイスのいずれかであってもよい。画像ディスプレイデバイス101は、エンドユーザ50によって装着される、フレーム構造102と、ディスプレイサブシステム110がエンドユーザ50の眼の正面に位置付けられるように、フレーム構造102によって担持される、ディスプレイサブシステム110と、スピーカ106がエンドユーザ50の外耳道に隣接して位置付けられる(随意に、別のスピーカ(図示せず)が、エンドユーザ50の他方の外耳道に隣接して位置付けられ、ステレオ/調節可能音制御を提供する)ようにフレーム構造102によって担持される、スピーカ106とを含む。ディスプレイサブシステム110は、エンドユーザ50の眼に、高レベルの画質および3次元知覚を伴って、物理的現実に対する拡張として快適に知覚され得る、光パターンを提示するように設計され、かつ2次元コンテンツを提示することも可能である。ディスプレイサブシステム110は、単一コヒーレント場面の知覚を提供する、フレームのシーケンスを高周波数で提示する。
図示される実施形態では、ディスプレイサブシステム110は、「光学シースルー」ディスプレイを採用し、それを通してユーザは、透明(または半透明)要素を介して、直接、実オブジェクトからの光を視認することができる。透明要素は、多くの場合、「コンバイナ」と称され、ディスプレイからの光を実世界のユーザのビューにわたって重畳する。この目的を達成するために、ディスプレイサブシステム110は、部分的に透明なディスプレイを備える。ディスプレイは、周囲環境からの直接光が、ディスプレイを通して、エンドユーザ50の眼に伝送されるように、エンドユーザ50の眼と周囲環境との間のエンドユーザ50の視野内に位置付けられる。
図示される実施形態では、画像投影アセンブリは、光を部分的に透明なディスプレイに提供し、それによって、周囲環境からの直接光と組み合わせられ、ディスプレイからユーザの眼50に伝送される。投影サブシステムは、光ファイバベースの投影デバイスであってもよく、ディスプレイは、その中に投影サブシステムからの走査される光が、例えば、無限遠(例えば、腕の長さ)より近い単一光学視認距離における画像、複数の離散光学視認距離または焦点平面における画像、および/または立体3Dオブジェクトを表すために複数の視認距離または焦点平面にスタックされた画像層を生産するように投入される、導波管ベースのディスプレイであってもよい。ライトフィールド内のこれらの層は、ヒト副視覚系に持続的に現れるようにともに十分に近接してスタックされてもよい(すなわち、1つの層が、隣接する層の乱信号円錐域内にある)。加えて、または代替として、ピクチャ要素が、2つ以上の層を横断して混成され、それらの層が、より疎らにスタックされる(すなわち、1つの層が隣接する層の乱信号円錐域の外側にある)場合でも、ライトフィールド内の層間の遷移の知覚される連続性を増加させてもよい。ディスプレイサブシステム110は、単眼または両眼用であってもよい。
画像ディスプレイデバイス101はまた、エンドユーザ50の頭部54の位置ならびに移動および/またはエンドユーザ50の眼位置ならびに眼球間距離を検出するためにフレーム構造102に搭載される、1つ以上のセンサ(図示せず)を含んでもよい。そのようなセンサは、画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ)、または前述の任意の組み合わせを含んでもよい。これらのセンサの多くは、その上にそれらが添着される、フレーム102が、順に、ユーザの頭部、眼、および耳に実質的に固定されるという仮定に基づいて動作する。
画像ディスプレイデバイス101はまた、ユーザ配向検出モジュールを含んでもよい。ユーザ配向モジュールは、エンドユーザ50の頭部54の瞬間位置を検出し(例えば、フレーム102に結合されるセンサを介して)、センサから受信された位置データに基づいて、エンドユーザ50の頭部54の位置を予測してもよい。エンドユーザ50の頭部54の瞬間位置を検出することは、エンドユーザ50が見ている、具体的実際のオブジェクトの決定を促進し、それによって、その実際のオブジェクトに関連して生成されるべき具体的仮想オブジェクトのインジケーションを提供し、さらに、仮想オブジェクトが表示される位置のインジケーションを提供する。ユーザ配向モジュールはまた、センサから受信された追跡データに基づいて、エンドユーザ50の眼を追跡してもよい。
画像ディスプレイデバイス101はまた、多種多様な形態のいずれかをとり得る、制御サブシステムを含んでもよい。制御サブシステムは、いくつかのコントローラ、例えば、1つ以上のマイクロコントローラ、マイクロプロセッサまたは中央処理ユニット(CPU)、デジタル信号プロセッサ、グラフィック処理ユニット(GPU)、特定用途向け集積回路(ASIC)等の他の集積回路コントローラ、プログラマブルゲートアレイ(PGA)、例えば、フィールドPGA(FPGA)、および/またはプログラマブル論理コントローラ(PLU)を含む。
画像ディスプレイデバイス101の制御サブシステムは、中央処理ユニット(CPU)と、グラフィック処理ユニット(GPU)と、1つ以上のフレームバッファと、3次元場面データを記憶するための3次元データベースとを含んでもよい。CPUは、全体的動作を制御してもよい一方、GPUは、3次元データベース内に記憶される3次元データからフレームをレンダリングし(すなわち、3次元場面を2次元画像に変換し)、これらのフレームをフレームバッファ内に記憶してもよい。1つ以上の付加的集積回路は、フレームバッファの中へのフレームの読込およびそこからの読出ならびにディスプレイサブシステム110の画像投影アセンブリの動作を制御してもよい。
画像ディスプレイデバイス101の種々の処理コンポーネントは、分散型サブシステム内に物理的に含有されてもよい。例えば、図1-4に図示されるように、画像ディスプレイデバイス101は、有線導線または無線コネクティビティ136等によって、ディスプレイサブシステム110およびセンサに動作可能に結合される、ローカル処理およびデータモジュール130を含んでもよい。ローカル処理およびデータモジュール130は、フレーム構造102(図1)に固定して取り付けられる、ヘルメットまたは帽子56(図2)に固定して取り付けられる、エンドユーザ50の胴体58に除去可能に取り付けられる(図3)、またはベルト結合式構成においてエンドユーザ50の腰部60に除去可能に取り付けられる(図4)等、種々の構成において搭載されてもよい。画像ディスプレイデバイス101はまた、これらの遠隔モジュール132、134が、相互に動作可能に結合され、ローカル処理およびデータモジュール130へのリソースとして利用可能であるように、有線導線または無線コネクティビティ138、140等によってローカル処理およびデータモジュール130に動作可能に結合される、遠隔処理モジュール132および遠隔データリポジトリ134を含んでもよい。
ローカル処理およびデータモジュール130は、電力効率的プロセッサまたはコントローラならびにフラッシュメモリ等のデジタルメモリを備えてもよく、その両方とも、可能性として、処理または読出後、ディスプレイサブシステム110への通過のために、センサから捕捉された、および/または、遠隔処理モジュール132ならびに/もしくは遠隔データリポジトリ134を使用して入手および/または処理された、データの処理、キャッシュ、および記憶を補助するために利用されてもよい。遠隔処理モジュール132は、データおよび/または画像情報を分析および処理するように構成される、1つ以上の比較的に強力なプロセッサまたはコントローラを備えてもよい。遠隔データリポジトリ134は、比較的に大規模なデジタルデータ記憶設備を備えてもよく、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータは、記憶され、全ての算出は、ローカル処理およびデータモジュール130で実施され、任意の遠隔モジュールからの完全に自律的使用を可能にする。
上記に説明される種々のコンポーネント間の結合136、138、140は、ワイヤまたは光学連通を提供するための1つ以上の有線インターフェースもしくはポート、または無線通信を提供するためのRF、マイクロ波、およびIR等を介した、1つ以上の無線インターフェースもしくはポートを含んでもよい。いくつかの実装では、全ての通信は、有線であってもよい一方、他の実装では、全ての通信は、無線であってもよい。なおもさらなる実装では、有線および無線通信の選択肢は、図1-4に図示されるものと異なり得る。したがって、有線または無線通信の特定の選択肢は、限定と見なされるべきではない。
いくつかの実施形態では、ユーザ配向モジュールは、ローカル処理およびデータモジュール130内に含有される一方、CPUおよびGPUは、遠隔処理モジュール内に含有される。代替実施形態では、CPU、GPU、またはその一部は、ローカル処理およびデータモジュール130内に含有されてもよい。3Dデータベースは、遠隔データリポジトリ134と関連付けられる、またはローカルで配置されることができる。
いくつかの画像ディスプレイシステム(例えば、VRシステム、ARシステム、MRシステム等)は、個別の深度平面から生じるように現れる画像を生成するための深度平面情報を内蔵する、複数の体積位相ホログラム、表面レリーフホログラム、または光誘導光学要素を使用する。言い換えると、回折パターンまたは回折光学要素(「DOE」)が、コリメートされた光(略平面波面を伴う光ビーム)が、LOEに沿って実質的に全内部反射されるにつれて、複数の場所において回折パターンと交差し、ユーザの眼に向かって出射するように、光誘導光学要素(「LOE」、例えば、平面導波管)内に内蔵される、またはその上にインプリント/エンボス加工されてもよい。DOEは、特定の深度平面から生じるように現れるように、それを通してLOEから出射する光が輻輳されるように構成される。コリメートされた光は、光学集光レンズ(「集光器」)を使用して生成されてもよい。
例えば、第1のLOEは、光学無限遠深度平面(0ジオプタ)から生じるように現れる、コリメートされた光を眼に送達するように構成されてもよい。別のLOEは、2メートルの距離(1/2ジオプタ)から生じるように現れる、コリメートされた光を送達するように構成されてもよい。さらに別のLOEは、1メートルの距離(1ジオプタ)から生じるように現れる、コリメートされた光を送達するように構成されてもよい。スタックされたLOEアセンブリを使用することによって、複数の深度平面が、作成され得、各LOEは、特定の深度平面から生じるように現れる、画像を表示するように構成されることを理解されたい。スタックは、任意の数のLOEを含んでもよいことを理解されたい。しかしながら、少なくともN個のスタックされたLOEが、N個の深度平面を生成するために要求される。さらに、N、2N、または3N個のスタックされたLOEが、RGBカラー画像をN個の深度平面に生成するために使用されてもよい。
3-D仮想コンテンツをユーザに提示するために、画像ディスプレイシステム100(例えば、VRシステム、ARシステム、MRシステム等)は、それらがZ方向に(すなわち、ユーザの眼から離れるように直交して)種々の深度平面から生じるように現れるように、仮想コンテンツの画像をユーザの眼の中に投影する。言い換えると、仮想コンテンツは、XおよびY方向(すなわち、ユーザの眼の中心視軸に直交する、2D平面)において変化し得るだけではなく、また、ユーザが、オブジェクトが、非常に近接して、または無限距離に、もしくはその間の任意の距離にあるように知覚し得るように、Z方向においても変化するように現れ得る。他の実施形態では、ユーザは、複数のオブジェクトを、同時に、異なる深度平面において知覚し得る。例えば、ユーザには、仮想ドラゴンが、無限遠から現れ、ユーザに向かって走って来るように見え得る。代替として、ユーザには、同時に、ユーザから3メートル離れた距離における仮想鳥と、ユーザから腕の長さ(約1メートル)における仮想コーヒーカップとが見え得る。
多平面焦点システムは、画像をユーザの眼からZ方向における個別の固定距離に位置する複数の深度平面のいくつかまたは全て上に投影することによって、可変深度の知覚を作成する。ここで図5を参照すると、多平面焦点システムは、フレームを固定された深度平面150(例えば、図5に示される6つの深度平面150)に表示し得ることを理解されたい。MRシステムは、任意の数の深度平面150を含むことができるが、1つの例示的多平面焦点システムは、6つの固定された深度平面150をZ方向に有する。仮想コンテンツを6つの深度平面150のうちの1つ以上のものに生成する際、3-D知覚が、ユーザがユーザの眼からの可変距離における1つ以上の仮想オブジェクトを知覚するように作成される。ヒトの眼が、遠く離れてあるように現れるオブジェクトより距離が近いオブジェクトにより敏感であることを前提として、より多くの深度平面150が、図5に示されるように、眼のより近くに生成される。他の実施形態では、深度平面150は、相互から離れるように等距離に設置されてもよい。
深度平面位置150は、メートル単位で測定される焦点距離の逆数に等しい屈折力の単位である、ジオプタ単位で測定されてもよい。例えば、いくつかの実施形態では、深度平面1は、1/3ジオプタ離れてもよく、深度平面2は、0.3ジオプタ離れていてもよく、深度平面3は、0.2ジオプタ離れていてもよく、深度平面4は、0.15ジオプタ離れていてもよく、深度平面5は、0.1ジオプタ離れてもよく、深度平面6は、無限遠(すなわち、0ジオプタ離れる)を表し得る。他の実施形態は、深度平面150を他の距離/ジオプタに生成してもよいことを理解されたい。したがって、仮想コンテンツを方略的に設置された深度平面150に生成する際、ユーザは、仮想オブジェクトを3次元で知覚することが可能である。例えば、ユーザは、別の仮想オブジェクトが深度平面6における無限遠に現れる間、第1の仮想オブジェクトが深度平面1内に表示されるとき、それを近くにあると知覚し得る。代替として、仮想オブジェクトは、最初に、深度平面6に、次いで、深度平面5に、そして、仮想オブジェクトがユーザの非常に近く現れるまでそのように続くように表示されてもよい。上記の実施例は、例証目的のために有意に簡略化されていることを理解されたい。別の実施形態では、全6つの深度平面は、ユーザから離れるように特定の焦点距離上に集中されてもよい。例えば、表示されるべき仮想コンテンツが、ユーザから0.5メートル離れたコーヒーカップである場合、全6つの深度平面は、コーヒーカップの種々の断面において生成され、ユーザに、コーヒーカップの高粒度の3-Dビューを与え得る。
いくつかの実施形態では、画像ディスプレイシステム100(例えば、VRシステム、ARシステム、MRシステム等)は、多平面焦点システムとして機能してもよい。言い換えると、全6つのLOEは、6つの固定された深度平面から生じるように現れる画像が、高速で連続して生成されるように、同時に照明されてもよく、光源は、画像情報をLOE1、次いで、LOE2、次いで、LOE3等に急速に伝達する。例えば、光学無限遠における空の画像を含む、所望の画像の一部は、時間1において投入されてもよく、光のコリメーションを留保する、LOE(例えば、図5からの深度平面6)が、利用されてもよい。次いで、より近い木の枝の画像が、時間2において投入されてもよく、10メートル離れて深度平面から生じるように現れる画像を作成するように構成される、LOE(例えば、図5からの深度平面5)が、利用されてもよい。次いで、ペンの画像が、時間3において投入されてもよく、1メートル離れて深度平面から生じるように現れる画像を作成するように構成される、LOEが、利用されてもよい。本タイプのパラダイムは、ユーザの眼および脳(例えば、視覚野)が入力を同一画像の全ての部分であると知覚するように、高速時間シーケンシャル(例えば、360Hz)方式で繰り返されることができる。
画像ディスプレイシステム100は、Z軸(すなわち、深度平面)に沿って種々の場所から生じるように現れ、3-D体験/シナリオのための画像を生成する、画像を投影してもよい(すなわち、光ビームを発散または収束させることによって)。本願で使用されるように、光ビームは、限定ではないが、光源から照射される光エネルギー(可視および不可視光エネルギーを含む)の指向性投影を含む。種々の深度平面から生じるように現れる、画像を生成することは、その画像のためのユーザの眼の輻輳・開散運動および遠近調節に一致し、輻輳・開散運動-遠近調節競合を最小限にまたは排除する。
位置特定マップ
図6は、画像ディスプレイデバイス101が、画像ディスプレイデバイス101のユーザ50を位置特定することを可能にするための、マップを決定するための方法を図示する。図に示されるように、ユーザ50が、画像ディスプレイデバイス101を使用しているとき、ユーザ50は、異なる視認場所および/または方向を達成するために、画像ディスプレイデバイス101を移動させることができる。例えば、ユーザ50は、その頭部を旋回させ、その身体を旋回させ、および/または異なる場所に歩行し得る。いくつかの実施形態では、画像ディスプレイデバイス101は、前方に面したカメラを含む。したがって、画像ディスプレイデバイス101を移動させることによって、画像ディスプレイデバイス101の前方に面したカメラの視野は、適宜、変化するであろう。ユーザ50が、異なる姿勢にある間、画像ディスプレイデバイス101のカメラは、対応する画像を生成する。図示される実施例では、ユーザ50は、その頭部を旋回させることによって、3つの異なる姿勢を達成し、画像ディスプレイデバイス101の前方に面したカメラは、3つの姿勢と対応する、3つの画像200a-200cを生成する。画像200a-200cはそれぞれ、環境内であるオブジェクト202を捕捉する。例えば、画像200bは、オブジェクト202a-202dを捕捉し、画像200cは、オブジェクト202b-202eを捕捉する。ユーザ50によって達成される姿勢に応じて、環境内のあるオブジェクトが、カメラの複数の画像202内に捕捉され得、ある他のオブジェクトは、1つのみの画像200内に捕捉され得る。いくつかの実施形態では、画像ディスプレイデバイス101の処理ユニット130は、画像200を画像ディスプレイデバイス101のカメラから取得し、画像処理を実施し、特徴を画像200から抽出し、マップ220を作成するように構成される。マップ220は、画像ディスプレイデバイス101の非一過性媒体内に記憶されてもよく、処理ユニット130によって使用され、ユーザ50の位置特定を実施してもよい。したがって、マップ220は、位置特定マップとして機能する。図示される実施形態では、マップ220は、ユーザ50の異なる姿勢によって検出された環境の3次元表現である。
いくつかの実施形態では、ユーザ50を囲繞する環境は、複数のセルに分割されてもよい。そのような場合、上記のマップ作成技法が、環境の異なるセルのために採用されてもよい。図7は、複数のセル300に分割されている環境の実施例を図示する。各セル300は、環境の一部を表す、定義された3次元空間である。各セル300は、所定のサイズおよび形状を有してもよい。例えば、各セル300は、2m×2mの占有面積と、2mの高さとを有してもよい。各セル300は、他の実施形態では、他の占有面積寸法および/または他の高さを有してもよい。また、他の実施形態では、各セル300は、示される矩形構成を有していなくてもよく、他の形状を有してもよい。図示される実施形態では、セル300は全て、同一形状および寸法を有する。他の実施形態では、セル300のうちの少なくとも2つは、異なる個別の寸法および/または形状を有してもよい。
いくつかの実施形態では、画像ディスプレイデバイス101のユーザ50は、異なるセル300に対応する環境内の異なる場所に向かってもよく、画像ディスプレイデバイス101のカメラを使用して、対応するセル内の空間を走査し、環境の個別のセルのための異なるマップを取得してもよい。マップは、画像ディスプレイデバイス101の処理ユニット130がユーザ50の位置特定を実施することを可能にするために、画像ディスプレイデバイス101の非一過性媒体内に記憶されてもよい。
ユーザ50を位置特定するためのマップの使用の間、画像ディスプレイデバイス101のカメラは、ユーザ50のある位置および配向に基づいて、環境の画像を取得する。そのようなカメラ画像は、画像ディスプレイデバイス101の処理ユニット130がユーザ50の位置および/または姿勢ならびに/もしくは配向を追跡することを可能にするために、追跡画像としての役割を果たす(1つ以上の画像が、追跡マップを作成するために使用されてもよい)。特に、画像ディスプレイデバイス101の処理ユニット130は、カメラからの画像を処理し、画像内の特徴がマップ220内のある特徴とマッチングするかどうかを決定する。マッチングが、見出される場合、処理ユニット130は、次いで、マッチングされる特徴に基づいて、ユーザ50の位置および配向を決定してもよい。いくつかの実施形態では、マップ220は、マップ220が作成されたとき、ある特徴がフィルタリング除去または除去され得るため、画像ディスプレイデバイス101のカメラによって提供される追跡画像より少ない情報(例えば、特徴)を含有し得る。これは、処理ユニット130が追跡画像とマップ220を効率的にマッチングさせることを可能にするため、有利である。また、いくつかの実施形態では、マップ220は、「規準的マップ」と呼ばれ得る。いくつかの実施形態では、1つ以上の規準的マップが存在してもよい。1つを上回る規準的マップは、例えば、ある場所またはある仮想コンテンツもしくはアプリケーションのためのセキュリティ設定またはアクセス許可に対応するために使用されてもよい。位置特定を実施するとき、処理ユニット130は、特徴抽出を実施し、特徴をカメラ画像(追跡画像)から抽出し、特徴と規準的マップ内のものをマッチングさせる。例えば、処理ユニット130は、画像内のオブジェクト、角等を識別することによって、特徴抽出を実施してもよい。1つの実装では、処理ユニット130は、追跡画像と規準的マップとの間の6自由度変換を見出し、ユーザ50を位置特定するように構成される。いったんユーザ50が、マップを使用して、その環境に対して正常に位置特定されることができると、処理ユニット130は、次いで、ユーザが、マップを使用して、仮想コンテンツを環境に対して設置する、前のセッションからの仮想コンテンツを読み出す、他のユーザと仮想コンテンツを共有する等を行うことを可能にし得る。
いくつかの実施形態では、複数のセルのために作成された複数のマップが存在する場合(図7を参照して説明されるもののように)、処理ユニット130は、ユーザ50の現在の場所に基づいて、適用可能なマップを決定するように構成されてもよい。例えば、ユーザ50が、セルNo.4内の場所に存在する場合、処理ユニット130は、次いで、セルNo.4のために作成されたマップを読み出す、またはそれにアクセスし得、次いで、ユーザがセルNo.4に対応する空間内に存在する間、ユーザ50の位置特定のために、そのようなマップを使用し得る。ユーザ50が、セルNo.4の空間から外に移動すると、処理ユニット130は、次いで、ユーザの位置特定のために、セルNo.4のマップの使用を停止する。例えば、ユーザ50は、セルNo.4からセルNo.5に移動し得る。そのような場合、処理ユニット130は、次いで、セルNo.5のために作成されたマップを使用する、読み出す、またはそれにアクセスし得、次いで、ユーザがセルNo.5に対応する空間内に存在する間、ユーザ50の位置特定のために、そのようなマップを使用し得る。
マップ品質スコア化
上記に図示されるように、環境に対するユーザ50の位置特定は、追跡カメラ画像の特徴とマップ220の特徴のマッチングに基づくため、マップ220の品質は、成功ユーザ50の位置特定と相関し得る。いくつかの実施形態では、画像ディスプレイデバイス101の処理ユニット130は、マップ220を使用してユーザを位置特定することの成功の可能性を示す、メトリックを決定するように構成されてもよい。いくつかの実施形態では、画像ディスプレイデバイス101の処理ユニット130は、ユーザ50が、画像ディスプレイデバイス101を使用して、環境を走査する、マップ構築セッションの間、そのようなメトリックを決定するように構成されてもよい。代替として、または加えて、処理ユニット130は、マップ220が構築され、構築されたマップ220の品質を評価した後、そのようなメトリックを遡及的に決定してもよい。
いくつかの実施形態では、処理ユニット130は、算出を実施し、メトリックを取得することによって、メトリックを決定してもよい。他の実施形態では、処理ユニット130は、メトリックを別のコンポーネントまたはデバイスから受信し、メトリックを取得することによって、メトリックを決定してもよい。非限定的実施例として、メトリックを提供する、他のコンポーネントまたはデバイスは、画像ディスプレイデバイス101内のモジュール、または画像ディスプレイデバイスと通信する外部デバイスであってもよく、外部デバイスは、ユーザによって装着されてもよい、またはユーザから物理的に切り離されてもよい。例えば、外部デバイスは、無線伝送機、コンピュータ、ハンドヘルドまたは身体装着型デバイス、データベース、サーバ、基地局等であってもよい。
図8Aは、マップを使用してユーザ50を位置特定することの成功の可能性を示す、メトリックを決定するための方法の実施例を図示する。メトリックは、マップの品質の測定値と見なされ得る。図示される実施例では、メトリックは、環境の特定のセル300のために決定される。ある場合には、複数のセル300が環境内に存在し得、メトリックは、複数のセル300毎に決定されてもよい。図に示されるように、ユーザ50が、セル300の空間内に存在する間、ユーザ50は、異なる姿勢をとり、画像ディスプレイデバイス101のカメラが個別の姿勢と対応する異なる画像310を捕捉することを可能にし得る。図示される実施例では、ユーザ50は、6つの姿勢をとっており、画像ディスプレイデバイス101のカメラは、6つの対応する画像310a-310fを生成する。画像310aは、ユーザ50が、概して、北方向を視認している間に生成される。画像310b-310dは、ユーザ50が、概して、東方向を視認している間に生成される。画像310eは、ユーザが、概して、南方向を視認している間に生成される。画像310fは、ユーザが、概して、西方向を視認している間に生成される。
いくつかの実施形態では、マップの品質を測定する、メトリックを決定するために、処理ユニット130は、最初に、同一視認方向または視認方向の同一範囲に属する画像が、ともにグループ化されるように、ユーザ50による姿勢を数値化する。例えば、1つの実装では、所与の基準方向から30°を上回る、変動しない、対応する視認方向を有する、画像は、ともにグループ化されてもよい。上記の実施例に従って、東方向(基準方向)に関して、処理ユニット130は、東(基準方向)±30°に面した対応する視認方向を有する、全ての画像310をグループ化するように構成されてもよい。故に、処理ユニット130は、その対応する視認方向が東方向±30°の範囲内にあるため、画像310b-310dをグループ化してもよい。類似技法が、他の基準方向(例えば、南方向、西方向、北方向等)に関する画像をグループ化するために採用されてもよい。
処理ユニット130が、姿勢を数値化し、数値化された姿勢に基づいて、画像ディスプレイデバイス101のカメラからの画像300をグループ化した後、処理ユニット130は、次いで、グループ内の画像300に基づいて、所与の基準方向に関するメトリックを決定してもよい。上記の実施例に従って、処理ユニット130は、東基準方向に関するグループに属する3つの画像310b-310d毎に、スコアを決定してもよい。図に示されるように、処理ユニット130は、画像310bに関してスコア1、画像310cに関してスコア2、画像310dに関してスコア3を決定し得る。いくつかの実施形態では、画像310に関するスコアは、画像内で捕捉された基準点の数を表す。非限定的実施例として、基準点は、マップ220によって表される、またはそれとともに含まれることになる、特徴の一部、オブジェクトの一部、3次元空間内の点等であってもよい。マップ220の基準点は、追跡画像がマップ220とマッチングされることを可能にする。故に、セル300内の所与の視認方向に関して、より多くの基準点が存在するほど、追跡画像がその所与の視認方向に関するマップ220とマッチングされ得る可能性は、より高くなる。
種々の技法が、画像310に関するスコアを決定するために採用されてもよい。1つの技法では、処理ユニット130は、同時可視性グラフを利用し、画像310に関する個別のスコアを決定してもよい。同時可視性グラフは、基準点を画像310にリンクさせる、2部グラフであって、それに基づいて、基準点は、画像310のいずれか内で可視となる。図9は、同時可視性グラフ400の実施例を図示する。実施例では、8つの基準点R1-R8が存在し、基準方向(すなわち、実施例では、東)と対応する、画像310b-310dの識別もまた、示される。同時可視性グラフ400の実施例では、画像310bは、これらの基準点が画像310b内で捕捉されるため、基準点R1-R4とリンクされる。また、画像310cは、これらの基準点が画像310c内で捕捉されるため、基準点R2-R4およびR6-R7とリンクされる。画像310dは、これらの基準点が画像310d内で捕捉されるため、基準点R5-R8とリンクされた。示される実施例では、画像310b-310dの識別およびその関連付けられる基準点のみは、例証目的のために、同時可視性グラフ400内に含まれる。同時可視性グラフ400は、他の画像によって検出された他の基準点および画像310a、310e、310f等の画像の他の識別を含んでもよいことに留意されたい。いくつかの実施形態では、同時可視性グラフ400は、ユーザが環境のあるセル300内で異なる姿勢をとっている間に画像ディスプレイデバイス101のカメラによって生成された、画像の全ての識別、画像の全て内で捕捉された基準点の全て、および基準点と画像を関連付けるリンクを含んでもよい。
上記の実施例に戻ると、画像310b-310dに関するスコアは、処理ユニット130によって、それぞれ、4、5、および4として決定され得る。処理ユニット130が、同一基準方向(または基準方向の範囲)に属する個別の画像に関してスコアを決定した後、処理ユニット130は、次いで、スコアを組み合わせ、合成スコアを決定してもよい。例えば、処理ユニット130は、スコアの全てを加算し、総スコアを取得してもよい。上記の実施例に従って、東基準方向に関する総スコアは、4+5+4=13となるであろう。処理ユニット130はまた、平均スコアを取得するために、総スコアを総スコアを導出するために使用される画像310の数で除算してもよい。上記の実施例に従って、東基準方向に関する平均スコアは、13/3=4.33となるであろう。上記の実施例におけるスコア4.33は、平均して、4.33の基準点が、東基準方向に関する各画像内で検出されることを示す。
他の実施形態では、対応する画像310に関するスコアを決定するために、同時可視性グラフ400内の各画像310とリンクされた基準点の全てを含む代わりに、処理ユニット130は、基準点のサブセットのみを含むように構成されてもよい。例えば、他の実施形態では、処理ユニット130は、スコアを決定するために、2つ以上の画像310にリンクされた基準点のみをカウントするように構成されてもよい。特に、図9の同時可視性グラフの実施例に従って、処理ユニット130は、画像310b内で捕捉された基準点R2-R4がまた、画像310c内でも捕捉されたため、画像310bに関するスコアを3と決定し得る。基準点R1は、基準点R1が、画像310b内でのみ捕捉され、他の画像310内では捕捉されないため、スコアの一部としてカウントされない。同様に、処理ユニット130は、画像310cに関するスコアを5、画像310dに関するスコアを3と決定し得る。処理ユニット130は、スコアの全てを加算し、総スコアを取得してもよい。上記の実施例に従って、東基準方向に関する総スコアは、3+5+3=11となるであろう。処理ユニット130はまた、平均スコアを取得するために、総スコアを総スコアを導出するために使用される画像310の数で除算してもよい。上記の実施例に従って、東基準方向に関する平均スコアは、11/3=3.67となるであろう。上記の実施例におけるスコア3.67は、平均して、3.67個の基準点が、東基準方向に関する画像のうちの少なくとも2つ内で捕捉された各画像内で検出されることを示す。
上記の実施例では、処理ユニット130はまた、複数のセル300のうちの1つに関するカメラからの画像310の総数を決定するように構成され、画像の総数は、セル300に関するある基準(視認)方向(例えば、東方向±30°)と関連付けられる。他の実施形態では、基準方向は、北方向、南方向、西方向等の他の方向であってもよい。また、他の実施形態では、基準方向は、60°(±30°)と異なる範囲を有してもよい。例えば、他の実施形態では、基準方向は、50°(例えば、±25°)、40°(例えば、±20°)、30°(例えば、±15°)、20°(例えば、±10°)、10°(例えば、±5°)、0°等の60°未満の範囲を有してもよい。他の実施形態では、処理ユニット130は、セル300に関するある複数の視認方向と関連付けられる、画像310の総数を決定するように構成されてもよい。例えば、画像310a-310fが全て、セル300に関して生成された画像である場合、処理ユニット130は、画像310の総数を6と決定してもよい。
いくつかの実施形態では、マップ220の品質を示すためのメトリックは、ある基準方向(例えば、北、東、南、西等)に関する総スコアまたは平均スコアである、もしくはそれを含んでもよい。他の実施形態では、マップ220の品質を示すためのメトリックは、異なる個別の基準方向(例えば、北、東、南西等)に関する総スコアまたは平均スコアである、もしくはそれを含んでもよい。さらなる実施形態では、処理ユニット130は、異なる方向に関するスコアを組み合わせて、あるセル300に関するセルスコアを決定してもよい。例えば、処理ユニット130は、総スコアを加算してもよい、または北、東、南、および西方向に関する平均スコアを加算し、セル300に関するセルスコアを決定してもよい。そのような場合、メトリックは、セル300に関するセルスコアを含む。
さらなる実施形態では、マップ220の品質を示すためのメトリックは、値のアレイまたはセットであってもよい。例えば、メトリックは、異なる視認方向に関する異なる値を含んでもよい。そのような場合、メトリックは、第1の指向性と関連付けられる、第1の値と、第2の指向性と関連付けられる、第2の値とを有してもよい。
上記の実施形態に示されるように、マップ220の品質を示すためのメトリックは、指向性に基づく、値を有してもよい。いくつかの実施形態では、指向性は、1つ以上の垂直軸および/または1つ以上の水平軸に対するものである。また、いくつかの実施形態では、指向性は、旋回方向(図6に示されるもののように)、傾斜角度(例えば、ユーザが、その頭部を傾斜させ、視認方向を変化させることから生じた)、ロール角度(例えば、ユーザが、その頭部を回転させ、視認方向を変化させることから生じた)、または前述の任意の組み合わせを含んでもよい。
また、いくつかの実施形態では、メトリックは、セル300の座標に対するユーザ50の位置に基づく、値を有してもよい。例えば、ユーザ50が、セル300の東境界の近くに立っており、東に面している場合、カメラは、ユーザ50が、セル300の西境界の近くに立っており、東に面しているシナリオと比較して、より少ない基準点を検出するであろう(本後者のシナリオでは、セル300内により多くのオブジェクトが視認されるであろうため)。故に、いくつかの実施形態では、メトリックは、セル300内の第1の位置と関連付けられる、第1の値と、セル300内の第2の位置と関連付けられる、第2の値とを有してもよい。
いくつかの実施形態では、処理ユニット130はまた、マップによる被覆度を示す、面積スコアを決定するように構成されてもよい。ある場合には、面積スコアは、マップのデータ点の空間分布に基づく。面積スコアは、マップが環境の異なる部分を網羅することを確実にし得るという点で、有利である。
上記の実施例に示されるように、処理ユニット130は、異なるカメラ位置と関連付けられる着目点の同時可視性に基づいて、メトリックを決定するように構成される。メトリックは、環境に対してユーザ50を位置特定するために使用可能な基準点の数を示すため、有利である。故に、メトリックは、1つ以上の視認方向におけるユーザ50を位置特定することの成功の可能性を示す。また、上記の実施例に示されるように、処理ユニットは、着目点が異なるカメラ位置から検出された回数に基づいて、メトリックを決定するように構成される。したがって、メトリックは、複雑な計算を伴うことなく、かつ有意な算出リソースを消費することなく、容易かつ効率的に決定されることができる。
上記の実施形態では、メトリックは、画像ディスプレイデバイス101を装着しているユーザ50の異なる視認配向に基づいて決定されるように説明され、異なる視認配向は、カメラの視野の指向性を変化させることによって達成される。上記の実施例では、メトリックを決定するための異なるビュー配向を達成するための指向性の変化は、ユーザがその頭部または身体を垂直軸または複数の垂直軸を中心として旋回させることによって達成される。代替として、または加えて、メトリックを決定するための異なるビュー配向を達成するための指向性の変化は、ユーザがその頭部または身体を水平軸または複数の水平軸を中心として旋回させることによって達成されてもよい。例えば、指向性の変化は、旋回角度の変化(図6に示されるもののように)、傾斜角度の変化(例えば、ユーザがその頭部または身体を傾斜させ、視認方向を変化させることから生じた)、ロール角度の変化(例えば、ユーザがその頭部または身体を回転させ、視認方向を変化させることから生じた)、または前述の任意の組み合わせを含んでもよい。
議論されるように、いくつかの実施形態では、処理ユニット130は、処理ユニット130がマップ220を決定する、マップ構築セッションの間、メトリックを決定するように構成される。ある場合には、処理ユニット130は、画像ディスプレイデバイス101のカメラからの付加的画像がマップ構築セッションの間に生成されるにつれて、メトリックを決定または更新するように構成されてもよい。例えば、処理ユニット130は、最初に、ユーザ50が、カメラを使用して、環境を走査する、マップ構築セッションの間、画像ディスプレイデバイス101のカメラによって提供される画像310a、310bに基づいて、マップ220を決定してもよい。マップ構築セッションの間、処理ユニット130はまた、マップ220の品質を示すためのメトリックを決定してもよい(最初に、画像310a、310bに基づいて)。ユーザ50が、カメラを使用して、環境を走査し続けるにつれて、カメラは、ユーザの姿勢に基づいて、付加的画像を生成する。例えば、カメラは、次に、画像310cを生成し得る。処理ユニット130は、次いで、新しい画像310cに基づいて、マップ220を決定(例えば、更新)してもよい。したがって、更新されたマップ220は、画像310a-310cに基づくであろう。ある場合には、更新されたマップ220は、前のマップから構築される、新しいマップと見なされ得る。処理ユニット130はまた、更新されたマップ220の品質を示すためのメトリックを決定してもよい。例えば、処理ユニット130は、更新されたマップ220に基づいて、メトリックに関する1つ以上の値を変化させる、メトリックに関する1つ以上の値を追加する、および/またはメトリックに関する1つ以上の値を削除することによって、以前に決定されたメトリックを更新してもよい。代替として、処理ユニット130は、更新されたマップ220に基づいて、付加的メトリックを決定してもよい(すなわち、以前に決定されたメトリックに加え)。
他の実施形態では、全ての新しく生成された画像に基づいて、マップ220を更新する代わりに、処理ユニット130は、カメラがある所定の数(例えば、2、3、4、10、20、または任意の恣意的数)の画像を生成した後、マップ220を更新するように構成されてもよい。そのような場合、処理ユニット130は、マップ220が更新される度に、メトリックを決定するように構成されてもよい(例えば、前のメトリックを更新する、または付加的メトリックを決定する)。
さらなる実施形態では、処理ユニット130は、1つ以上の基準が達成された後、マップ220を更新するように構成されてもよく、1つ以上の基準は、生成された画像の数を伴う場合とそうではない場合がある。例えば、基準は、マップ220を決定するためのユーザのコマンドであってもよい。そのような場合、画像ディスプレイデバイス101は、ユーザ50がマップ構築コマンドを入力することを可能にするためのユーザ制御を含んでもよい。処理ユニット130が、そのようなコマンドをユーザ50から受信するとき、処理ユニット130は、次いで、最新の新しく生成された画像を使用して、マップ220を構築する。前のマップ220が、すでに決定されている場合、処理ユニット130は、ユーザのコマンドに応答して、最も新しい画像を使用して、マップ220を更新してもよい。マップ220が更新される度に、処理ユニット130はまた、更新されたマップ220に関するメトリックを決定してもよい。したがって、メトリックの決定は、ユーザの入力に応答して実施されてもよい。
別の実施例として、基準は、ある閾値内のユーザの姿勢の配向(画像配向と対応する)の変化であってもよい。そのような場合、処理ユニット130は、新しい画像が生成されたユーザの姿勢が、ある閾値を上回って前の姿勢から逸脱しない限り、新しく生成された画像を使用して、マップ220を更新するように構成されてもよい。1つの実装では、画像310は、それらが生成されるにつれて、非一過性媒体内に記憶される。処理ユニット130は、隣接する画像間の相対的配向を追跡する。新しく生成された画像310が、閾値を超える、前の画像310に対する配向を有する場合、処理ユニット130は、生成された画像310の最後のセットを使用して、マップ220を更新する。例えば、画像310cが、20°の画像310bに対する配向を有し、画像310dが、15°の画像310cに対する配向を有し、画像310eが、55°の画像310dに対する配向を有し、閾値が、25°であると仮定すると、そのような場合、処理ユニット130が、画像310dと310eとの間の相対的配向が閾値を超えることを決定すると、処理ユニット130は、次いで、画像310b-310dを使用して、マップを決定(例えば、更新)する。本技法は、処理ユニット130が、相互に対して緊密に制約されている画像のセットを使用して、マップ更新を行うことを可能にする。
さらなる実施形態では、画像ディスプレイデバイス101のカメラからの1つ以上の新しく生成された画像に基づいて、前のマップ220を更新する代わりに、処理ユニット130は、1つ以上の新しく生成された画像に基づいて、付加的マップを決定するように構成されてもよい。例えば、図8Aを参照すると、第1のマップ(マップ部分)が、画像310b-310dに基づいて決定されたと仮定すると、カメラが、画像310eを生成した後、処理ユニット130は、新しく生成された画像310eに基づく、新しいおよび付加的マップが、所望されることを決定してもよい。そのような場合、処理ユニット130は、画像310eに基づいて、第2のマップ(マップ部分)を決定してもよい。いくつかの実施形態では、処理ユニット130は、セル300に関する最終マップを取得するように生成された後、第1のマップおよび第2のマップを組み合わせるように構成されてもよい。例えば、処理ユニット130は、第1および第2のマップと関連付けられる特徴をリンクし、最終マップを形成するように構成されてもよい。いくつかの実施形態では、マップ構築セッションの間、処理ユニット130は、第1のマップに関する第1のメトリックと、第2のマップに関する第2のメトリックとを生成するように構成されてもよい。そのような場合、第1のメトリックおよび第2のメトリックは、メトリックの別個の値(または値のセット)と見なされ得る。また、いくつかの実施形態では、処理ユニット130は、第1のメトリックおよび第2のメトリックを組み合わせ、組み合わせられるメトリックを決定してもよい。したがって、本明細書で使用されるように、用語「メトリック」は、1つ以上の値、1つ以上の値のセット、1つ以上の定量化、定量化目的のための任意の情報、もしくは前述のいずれかから導出される任意の情報を指し得る。
なおもさらなる実施形態では、処理ユニット130は、ユーザ50が、画像ディスプレイデバイス101のカメラを使用して、環境を走査することを終了した後、マップ220を決定するように構成されてもよい。そのような場合、ユーザ50がセル300内に存在する間に生成された画像310は全て、非一過性媒体内に記憶される。走査が完了された後、処理ユニット130は、次いで、記憶された画像310を読み出し、画像310を処理し、マップ220を作成する。そのような場合、処理ユニット130はまた、マップ220が作成された後、メトリックを決定する。したがって、マップ220の構築の間にメトリックを決定する代わりに、メトリックは、最終マップ220が完了された後に決定される。
上記の実施例に図示されるように、用語「マップ」は、本明細書で使用されるように、最初に作成されたマップ、更新されたマップ、最終マップ、1つ以上のマップ部分、マップ部分を組み合わせることから生じる組み合わせられたマップ、もしくは前述の任意の組み合わせを指し得る。また、用語「マップ」は、最初に作成されたマップから、更新されたマップから、最終マップから、1つ以上のマップ部分から、組み合わせられたマップ等から導出される、任意のタイプのマップを指し得る。さらに、用語「マップ」は、1つ以上の画像の特徴から導出される、任意のデータ構造、任意の3次元表現、または任意のタイプの情報を指し得、そのようなデータ構造、3次元表現、または情報のタイプは、マップの少なくとも一部を形成し得る、またはマップを取得するための任意のデータエンティティであり得る。
上記に説明される実施例のいずれかでは、処理ユニット130は、ユーザが、画像ディスプレイデバイス101のカメラを使用して、環境を走査するにつれて、ユーザ50にメトリックが見え得るように、画像ディスプレイデバイス101の画面を動作させ、メトリックを表示してもよい。代替として、または加えて、処理ユニット130はまた、処理ユニット130が、ユーザの環境に対するユーザ50を位置特定するためにマップ220を使用している間、ユーザ50に使用されているマップ220の品質を知らせるために、メトリックを画面上に提示してもよい。このように、ユーザ50は、位置特定するために、マップ220の使用を継続するか、またはマップ構築セッションを開始して、マップ220を調節する(例えば、メトリックの値が、マップが低品質を有することを示す場合)かどうかを選択的に決定してもよい。
いくつかの実施形態では、マップ構築セッションの間、処理ユニット130は、メトリック値に基づいて、カメラの所望の視認方向を決定するように構成されてもよい。例えば、処理ユニット130は、メトリックの値を改良するために、カメラの所望の視認方向を決定するように構成されてもよい。そのような場合、処理ユニット130は、決定された所望の視認方向に基づいて、グラフィックを生成し、画像ディスプレイデバイス101の画面による表示のために、グラフィックを伝送するように構成されてもよい。グラフィックは、ユーザ50に、カメラシステムの現在の視認方向を所望の視認方向に変化させるように命令するように構成される。例えば、グラフィックマップは、ユーザ50に、ある方向に旋回するように指示する。1つの実装では、グラフィックは、標的オブジェクトと、ユーザ50に、標的オブジェクトに追従するように移動する(例えば、頭部を旋回させる)ように命令するための命令とを含んでもよい。処理ユニット130は、標的オブジェクトを画像ディスプレイデバイス101の画面内のある場所に設置するように構成され、画面内の標的オブジェクトの場所は、ユーザによって達成されることが所望される視認方向と対応する。処理ユニット130はまた、画像ディスプレイデバイス101のディスプレイに対して位置が固定される、固定オブジェクトを表示してもよい。例えば、固定オブジェクトは、画面の中央に位置付けられる、十字、円形、ドット等であってもよく、そのような固定オブジェクトは、ユーザによる移動に応答して移動しない(すなわち、ユーザ50が、その頭部を旋回させる場合、画面内の固定オブジェクトの位置は、変化しない)。処理ユニットはまた、ユーザに、固定オブジェクトが標的オブジェクトに整合する、またはそれを遮るであろうように、画像ディスプレイデバイス101を移動させるように命令してもよい。ある場合には、ユーザ50が、固定オブジェクトが標的オブジェクトに整合する、またはそれを遮るであろうように、画像ディスプレイデバイス101を移動させた後、画像ディスプレイデバイス101のカメラシステムは、次いで、画像ディスプレイデバイス101が達成される所望の配向にある間、1つ以上の環境の画像を捕捉してもよい。マップが、生成されなかった場合、処理ユニット130は、画像を利用して、マップを作成してもよく、マップに基づいて、メトリックを計算してもよい。初期マップが、すでに作成されている場合、処理ユニット130は、次いで、新しく入手された画像に基づいて、マップを更新してもよく、更新されたマップに基づいて、メトリックを更新してもよい。
上記のプロセスは、マップを構築するために、処理ユニット130を用いて、標的オブジェクトを異なる位置に設置し、画像ディスプレイデバイスを移動させ、環境を異なる視認配向で視認するようにユーザ50を誘導することによって、繰り返されてもよい。マップが、新しい視認方向に関して、新しく生成された画像に基づいて更新されるにつれて、処理ユニット130は、マップの現在の状態に基づいて、メトリックを計算する。いくつかの実施形態では、処理ユニット130は、マップの現在の状態に関するメトリックの値を使用して、次の所望の視認方向を決定するように構成される。例えば、メトリックが、マップがある方向に弱点を有することを示す場合、処理ユニット130は、次いで、そのような方向を決定し、所望の視認方向に旋回させるようにユーザ50を誘導するであろうように、画面内の標的オブジェクトの設置のための場所を決定してもよい。他の実施形態では、画像ディスプレイデバイス101の画面内への設置のための標的オブジェクトの位置を決定する代わりに、標的オブジェクトの位置は、事前決定されてもよい。例えば、画像ディスプレイデバイス101のための所望の軌道が、事前に決定されてもよく、そのような所望の軌道を表すデータが、画像ディスプレイデバイス101の非一過性媒体内に記憶されてもよい。そのような場合、ユーザ50が画面内の固定オブジェクトを標的オブジェクトに正常に移動させるかどうかにかかわらず、画像ディスプレイデバイス101のカメラシステムは、ユーザ50の移動の間、画像を捕捉するであろう。また、そのような場合、画面内の標的オブジェクトの位置付けは、メトリックの値に基づかないため、処理ユニット130は、マップが生成されている間、メトリックを計算する必要がない。代わりに、処理ユニット130は、マップが完了された後(例えば、マップ生成セッションが終了した後)、メトリックを計算してもよい。
他の実施形態では、処理ユニット130は、非一過性媒体から以前に決定されたマップ220にアクセスすることによって、メトリックを遡及的に決定するように構成される。非一過性媒体は、画像ディスプレイデバイス101の一部であってもよい。代替として、非一過性媒体は、クラウドネットワーク内等のデータベース内に記憶されてもよい。ある場合には、処理ユニット130は、以前に決定されたマップ220に関するメトリックの値を改良するために、カメラの所望の視認方向を決定してもよく、前述のもののように、マップ220を改良するために、画像ディスプレイデバイス101のカメラからの画像を取得してもよい。改良されたマップ220は、次いで、非一過性媒体内に記憶されてもよい。
上記の実施形態では、処理ユニット130は、画像ディスプレイデバイス101の画面上での表示のために、標的オブジェクトを提供し、ユーザ50に、メトリックの値を改良するために、標的オブジェクトに追従するように命令するステップを参照して説明されている。他の実施形態では、上記の技法の代わりに、処理ユニット130は、ユーザ50に、画面上での表示のためにテキスト命令を提示することによって、および/またはスピーカを使用してオーディオ命令を提示することによって、ある場所に移動し、および/または視認方向を変化させるように命令してもよい。例えば、処理ユニット130は、ユーザ50に、右に30°等旋回するように命令してもよい。いくつかの実施形態では、所望される視認配向は、特定のセルに関するメトリック値を最大限にするために、処理ユニット130によって決定されてもよい。また、いくつかの実施形態では、所望の視認配向を決定するとき、処理ユニット130は、良好なマップを得るための最短経路および/または最速時間を検討してもよい。
図8Bは、図8Aの方法のグラフィカル表現を図示する。図に示されるように、所与のセルに関して、画像ディスプレイデバイス101のカメラシステムは、いくつかの画像を捕捉してもよい。画像はそれぞれ、画像ディスプレイデバイス101がある位置および配向にあるときに捕捉される(先端がカメラ位置を表し、底辺が捕捉された画像の配向を表す、角錐オブジェクトによって表されるように)。図示される実施例では、メトリックは、東視認方向に関して決定されている。故に、処理ユニット130は、メトリックを決定するために、姿勢を数値化し、東視認方向と対応する、それらの画像を選択する。特定のセル300に関してより多くの画像が捕捉され得るが、図示される図では、画像のサブセットのみが、示される(すなわち、ユーザが、概して、東方向を視認している間に捕捉された、それらの画像のみが、示される)ことに留意されたい。東視画像毎に、スコアa_iが、決定される。特定のセル300に関するメトリックは、スコアa_iの全てを総和し、和を取得することによって決定されてもよい。いくつかの実施形態では、特定のセル300に関するメトリックはまた、和を画像の数Nで除算し、平均スコアを取得することによって決定されてもよい。決定されたメトリックは、次いで、(1)決定されたセル300の識別および(2)視認方向(例えば、上記の実施例では、「東」)と関連付けられた非一過性媒体内に記憶されてもよい。いくつかの実施形態では、メトリックはまた、ある基準場所(例えば、(x,z))と関連付けて記憶されてもよい。特定のセル300に関するメトリックは、基準場所に応じて、異なる値を有し得る。例えば、基準場所が、図示される実施例では、場所350(セル300の重心)であるように選択される場合、基準場所350が東である、3つのみの画像が存在する。故に、それらの3つのみの画像が、東方向および場所350に関するメトリックを計算するために選択される。他方では、基準場所が、図示される実施例では、場所352であるように選択される場合、基準場所352が東である、5つの画像が存在する。故に、5つの画像が、東方向および場所352に関するメトリックを計算するために選択される。
マップ220の品質を示すためのメトリックを決定するための上記の技法は、有利である。これは、上記の技法が、画像ディスプレイデバイス101の処理ユニット130が、算出上複雑であり得、かつ多くの処理リソースを消費し得る、任意の凸包を決定することを要求しないためである。また、いくつかの実施形態では、メトリックは、マップを使用して、ユーザ10を位置特定する前に、位置特定のために作成されたマップが十分に良好であることを確実にするために使用されてもよい。ある場合には、良好な品質の位置特定マップを有することは、位置特定の正確度を改良し得るだけではなく、また、位置特定速度も改良し得る。例えば、良好な位置特定マップを用いることで、位置特定は、100ms、より好ましくは、50ms、またはそれ未満内で実施され得る。
他の実施形態では、メトリックは、画像ディスプレイデバイス101の処理ユニット130によって使用され、ユーザ50の位置特定のための最良マップ(複数の利用可能なマップの中から)を選択してもよい。例えば、いくつかの実施形態では、同一環境(例えば、特定のセル300)に関して作成された複数のマップが存在し得る。そのような場合、処理ユニット130は、ユーザ50を位置特定するための使用のためのメトリックの最高値を伴う、マップを選択してもよい。
上記の実施形態では、マップ作成プロセスは、環境の画像を捕捉する、カメラシステムを参照して説明されており、処理ユニットは、異なるカメラ位置と関連付けられる、着目点の同時可視性に基づいて、メトリックを決定するように構成される。いくつかの実施形態では、カメラシステムは、単一カメラのみ(例えば、前方に面したカメラ)を含み、マップ構築のための画像を捕捉してもよい。他の実施形態では、カメラシステムは、2つのカメラ(例えば、2つの前方に面したカメラ)を含み、マップ構築のための画像を捕捉してもよい。さらなる実施形態では、画像ディスプレイデバイス101のカメラシステムは、4つのカメラ(例えば、2つの前方に面したカメラ、第1の側方に面した(例えば、左に面した)カメラ、および第2の側方に面した(例えば、右に面した)カメラ)を含んでもよい。故に、ある場合には、着目点の同時可視性が関連付けられる、カメラ位置は、カメラシステムのカメラの第1のカメラ位置と、カメラシステムのカメラの第2のカメラ位置とを含んでもよい。他の場合では、カメラ位置は、カメラシステムの第1のカメラの第1のカメラ位置と、カメラシステムの第2のカメラの第2のカメラ位置とを含んでもよい。
また、議論されるように、いくつかの実施形態では、カメラシステムは、マップを作成するための複数の画像を生成するために、複数のカメラを備えてもよい。そのような場合、複数の画像は、画像ディスプレイデバイス101のカメラシステムが第1の位置にあるとき、複数のカメラによって生成された画像の第1のサブセットを含んでもよい。複数の画像はまた、画像ディスプレイデバイス101のカメラシステムが第2の位置にあるとき、複数のカメラによって生成された画像の第2のサブセットを含んでもよい。したがって、画像の各サブセットは、画像ディスプレイデバイス101がある配向にあるとき画像ディスプレイデバイス101のカメラシステムによって生成される。ある場合には、処理ユニット130は、画像のサブセットのそれぞれ内の画像を追跡するように構成される。例えば、各サブセット内の全ての画像は、画像ディスプレイデバイス101のある配向と関連付けられる「キーリグ」として、ともにグループ化されてもよい。
また、いくつかの実施形態では、マップの品質を示すためのメトリックを決定するステップに関する特徴は、マップおよび位置特定管理方法の中に組み込まれてもよい。図10は、位置特定マップの作成およびそのようなマップの使用を管理するためのマップおよび位置特定管理方法500の実施例を図示する。いくつかの実施形態では、位置特定マップは、頭部姿勢に結び付けられ、単一セッションに特有の追跡マップであってもよく、および/または追跡マップが位置特定され得る、規準的マップであってもよい。いくつかの実施形態では、追跡マップは、追跡マップと関連付けられる品質メトリックが閾値を上回る場合、規準的マップとなってもよい。方法500は、項目502から開始する。最初に、画像ディスプレイデバイス101の処理ユニット130は、ユーザ50が作成されたマップと対応する環境内に存在する間、すでに作成されたマップを使用して、画像ディスプレイデバイス101のユーザ50を位置特定するように試みる(項目504)。処理ユニット130が、マップを使用して、環境に対してユーザ50を正常に位置特定する場合、処理ユニット130は、信号を生成し、ユーザ50に、位置特定が成功したことを通知してもよい(項目506)。処理ユニット130が、マップを使用して、環境に対してユーザ50を正常に位置特定し得る場合、これは、ユーザ50が、マップを使用して、仮想コンテンツを環境に対して設置することができ、および/または環境に対して以前に設置されたコンテンツを復元し得ることを意味する。いくつかの実施形態では、前のセッションからの空間内にあったコンテンツは、位置特定成功に応答して、ユーザへの提示のために、画像ディスプレイデバイス101の画面内に提示されるであろう。位置特定が、ユーザ50が仮想コンテンツを前のセッションから復元することを可能にする目的のためのものである場合、処理ユニット130はまた、ユーザ50に、コンテンツの復元が成功したことを知らせてもよい。例えば、処理ユニット130は、信号を生成し、画面および/またはスピーカを動作させ、通知をユーザ50に提供してもよい。いくつかの実施形態では、位置特定は、座標系変換が適用された後、追跡および規準的マップが相互に整合される(例えば、同一である)ように、追跡マップ座標系と規準的マップ220座標系との間の座標系変換であってもよい。
他方では、処理ユニット130が、ある回数の試行後または事前に規定された持続時間後、ユーザ50を位置特定することが不可能である場合、処理ユニット130は、次いで、ユーザ50に、(ユーザインターフェースを通して)マップ生成を実施し、マップを作成するかどうかを尋ねてもよい(項目508)。いくつかの実施形態では、マップは、追跡マップであってもよい。追跡マップは、後続セッションにおいて規準的マップ220として使用されてもよい。いくつかの実施形態では、セッションは、2回のセッションは、2人のユーザがそれぞれ、その個別のデバイスを1回オンおよびオフにする、または1人のユーザが、ユーザのデバイスを2回オンおよびオフにすることであり得るように、単一ユーザが本デバイスを1回オンおよびオフにすることであってもよい。位置特定は、ある理由から、失敗し得る。例えば、位置特定は、ユーザ50がマップが以前にまだ構築されていないような新しい空間内に存在する場合、照明変化が存在する場合、環境の変化が存在する(例えば、家具が移動されている)場合、動的変化が存在する(例えば、人々が移動している)場合、ユーザ50が以前に構築されたマップに関するものと同一視点状態にない場合、正しいマップが識別されることができない場合、ユーザの姿勢が識別されることができない場合、または前述の任意の組み合わせの場合、失敗し得る。項目508では、ユーザが、新しいマップを生成することを決定する場合、処理ユニット130は、次いで、マップ作成セッションを開始し、マップを生成する(項目510)。マップ作成セッションでは、ユーザ50は、異なる頭部姿勢をとり、画像ディスプレイデバイス101のカメラを異なる視認方向に設置し、環境の異なる部分を視認する。カメラは、画像ディスプレイデバイス101が異なる頭部姿勢にある間、環境の画像を捕捉する。処理ユニット130は、次いで、位置特定目的のために、これらの画像を処理し、マップを作成する。マップの作成の間またはマップの作成後、処理ユニット130は、本明細書に説明される技法の実施例を使用して、マップの品質を示すためのメトリックの値を計算してもよい。いくつかの実施形態では、処理ユニット130は、追跡マップであるとき、マップの品質を示すためのメトリックの値を計算してもよく、および/またはマップが規準的マップであるとき、計算してもよい。メトリックの値が、ある閾値を上回る場合、処理ユニット130は、次いで、マップの品質がユーザ50を位置特定するために十分であることを決定してもよい(その場合、画像ディスプレイデバイス101は、コンテンツを前のセッションから正常に復元し得る)。マップが生成された後、マップは、1つ以上の非一過性媒体(例えば、画像ディスプレイデバイス101の非一過性媒体および/または画像ディスプレイデバイス101から遠隔のマップデータベース530)内に記憶されてもよい。メトリックの値はまた、作成されたマップと関連付けて記憶されてもよい。処理ユニット130は、次いで、新しく作成されたマップを利用して、ユーザ50を位置特定する(項目512)。
項目508に戻ると、ユーザ50が、新しいマップを作成するためにマップ作成セッションを開始しないことを決定する場合、処理ユニット130は、次いで、ユーザ50に、(ユーザインターフェースを介して)コンテンツを設置せずに、コンテンツを前のセッションから復元するかどうかを尋ねてもよい(項目520)。ユーザ50が、コンテンツの設置を伴わずに、コンテンツを復元することを決定する場合、処理ユニット130は、次いで、ユーザ50がコンテンツを手動で復元することを可能にするために、ユーザインターフェースを提供してもよい(項目528)。他方では、ユーザ50が、前のコンテンツを前のセッションから復元しないことを決定する場合、処理ユニット130は、次いで、新しいセッションを開始してもよい(項目524)。新しいセッションでは、ユーザ50は、画像ディスプレイデバイス101を動作させ、別のマップを非一過性媒体526から読み出してもよく、および/または新しいマップを作成してもよい。取得されたマップは、次いで、ユーザの位置特定のために使用されてもよい(項目512)。いくつかの実施形態では、非一過性媒体526内に記憶されるマップは、それらと関連付けられる、個別のメトリック値を有する。そのような場合、処理ユニット130が、位置特定のためのマップのうちの1つを選択するとき、処理ユニット130は、メトリック値を考慮する。例えば、処理ユニット130は、事前に規定された閾値を上回るメトリック値を有する、マップを選択するように構成されてもよい。いくつかの実施形態では、画像ディスプレイデバイス101が、インターネットに接続される場合、処理ユニット130は、1つ以上のマップを非一過性媒体526内への記憶のためのマップデータベース530から読み出してもよい。
いくつかの実施形態では、非一過性媒体526内への記憶のためのマップを記憶することに加え、非一過性媒体526はまた、マップに結び付けられたコンテンツ、マップに結び付けられたコンテンツの識別、メタデータ(例えば、マップが作成された時間、マップを作成した人物等)、マップの品質を示すメトリック、または前述の任意の組み合わせを記憶してもよい。
上記の実施形態に図示されるように、マップの品質を示すためのメトリックは、画像ディスプレイデバイス101が、マップを使用して、環境に対してユーザ50を位置特定することを可能にする前に、決定される。これは、ユーザ50の位置特定が成功するであろうことを確実にするため、有利である。処理ユニット130が、マップを使用して、環境に対してユーザ50を正常に位置特定することができる場合、ユーザ50は、マップを使用して、仮想コンテンツを環境に対して設置し、および/またはマップを使用して、コンテンツ(例えば、環境内に設置された仮想コンテンツ)を前のセッションから復元することができる。
また、いくつかの実施形態では、マップの品質を示すためのメトリックを決定するステップに関する特徴は、コンテンツ共有シナリオの中に組み込まれてもよい。図11は、画像ディスプレイデバイス101のユーザ間でコンテンツを共有する方法600を図示する。送信側デバイスによって実施される方法は、項目602から開始する。送信側デバイス(例えば、第1の画像ディスプレイデバイス101)の第1のユーザ(送信者)が、別のユーザと共有するためのアイテムを選択する(項目604)。非限定的実施例として、アイテムは、1つ以上のオブジェクト、1つ以上のアプリケーション、もしくはユーザがマップに対して別のユーザと共有することを所望する任意のコンテンツであってもよい。より具体的実施例として、第1の画像ディスプレイデバイス101のユーザは、テーブルが置かれた部屋に存在し得、別のユーザと仮想上共有するために、テーブル上への設置のためのコンテンツ(例えば、リンゴの写真)を選択してもよい。そのような場合、第1の画像ディスプレイデバイス101の処理ユニット130は、最初に、本明細書に説明される技法またはカメラ画像を使用してマップを作成するための任意の既知の技法を使用して、環境のマップ(例えば、追跡マップ)を決定する。マップは、ユーザが、実際の環境に対してコンテンツを設置することを可能にする。マップは、非一過性媒体(例えば、第1の画像ディスプレイデバイス101および/またはマップデータベース)内に記憶されてもよい。処理ユニット130はまた、マップに関するメトリックを計算し、マップが十分に良好な品質を有するかどうかを決定してもよい(項目606)。メトリックの決定は、本明細書に説明される技法の実施例を使用して実施されてもよい。メトリックの値が、ある閾値を上回る場合、処理ユニット130は、次いで、マップの品質がユーザがコンテンツを共有することを可能にするために十分であることを決定してもよい。そのような場合、第1の画像ディスプレイデバイス101の処理ユニット130は、マップに関する情報を第2の画像ディスプレイデバイス101の受信者に送信してもよい(項目608)。非限定的実施例として、マップに関する情報は、マップの識別、マップの記憶場所、マップを使用するための招待、マップに関するデータ、マップ自体等のデータ、または前述の任意の組み合わせであってもよい。
他方では、メトリックの値が、ある閾値を下回る場合、処理ユニット130は、次いで、マップの品質が十分ではないことを決定し得る。そのような場合、処理ユニット130は、通知信号を生成し、ユーザに、コンテンツがマップを使用して設置されることができないことを知らせてもよい(項目630)。そのような場合、第1の画像ディスプレイデバイス101のユーザは、コンテンツがより良好なマップを使用して共有され得るように、マップ生成セッションを開始し、より良好なマップを作成するように試みてもよい。代替として、ユーザは、第1の画像ディスプレイデバイス101を動作させ、任意のマップを使用せずに、コンテンツを受信者と共有してもよい。そのような場合、コンテンツの受信者は、コンテンツを手動で設置してもよい。例えば、第2の画像ディスプレイデバイス101を用いる受信者が、コンテンツを受信した後、受信者は、受信者が存在する環境に対して、コンテンツを手動で設置してもよい。上記の実施例に従って、受信者が、送信者と同一部屋内に存在する場合、コンテンツ(例えば、リンゴの画像)の受信者は、そのようなコンテンツを部屋内のテーブル上に設置してもよい。
受信側デバイスによって実施される方法は、項目620から開始する。受信側デバイス(例えば、第2の画像ディスプレイデバイス101)の第1のユーザ(受信者)は、別のユーザがコンテンツを共有することを所望することの通知を受信する(項目622)。第2の画像ディスプレイデバイス101は、ユーザが、送信者のマップを使用し、共有コンテンツを読み出すかどうかを決定することを可能にし得る。受信者が、送信者のマップを使用することを決定する場合、第2の画像ディスプレイデバイス101は、項目608において第1の画像ディスプレイデバイス101によって伝送される情報に基づいて、マップを非一過性媒体(例えば、マップデータベース)から読み出してもよい。代替として、第2の画像ディスプレイデバイス101は、第1の画像ディスプレイデバイス101によって伝送されるマップを取得してもよい。第2の画像ディスプレイデバイス101は、次いで、受信者が送信者のものと同一マップ内に存在するかどうかをチェックする(項目624)。受信者が、送信者によって使用されている、または使用されていた、同一マップを使用している場合、第2の画像ディスプレイデバイス101は、コンテンツ共有が上手くいっていることを決定する(項目626)。受信者が、送信者と関連付けられる、同一マップを使用しているため、受信者は、送信者がコンテンツを仮想上設置すると、コンテンツが送信者によって選択されたものと同一場所にある状態で、共有コンテンツを取得することができる。受信者が、送信者に関するものと同一マップを使用していない場合、第2の画像ディスプレイデバイス101は、コンテンツ共有が失敗したことを決定し得、他のアクション(図10を参照して説明されるもののいずれか等)を実施し、コンテンツ共有のためのマップを取得するように試みてもよい(項目628)。他のアクションも失敗する場合、コンテンツ共有は、不成功であって、受信者は、項目630を参照して議論されたものと同様に、コンテンツを手動で設置する必要があり得る。
いくつかの実施形態では、第1のユーザは、アイテムを第2のユーザと共有してもよい。いくつかの実施形態では、共有は、第1のユーザおよび第2のユーザが同一空間(例えば、共有座標系)の中で位置特定された場合のみ生じてもよい。いくつかの実施形態では、位置特定は、第1のユーザの追跡マップが規準的マップの中で位置特定され、第2のユーザの追跡マップが同一規準的マップの中で位置特定されることの両方が生じ、両システムが同一座標系(例えば、規準的マップ座標系)に対する仮想コンテンツにアクセスする結果をもたらすときに生じてもよい。いくつかの実施形態では、位置特定は、第1のユーザの追跡マップが第1の規準的マップの中で位置特定され、第2のユーザの追跡マップが第2の規準的マップの中で位置特定され、両規準的マップが同一座標系を共有し、両システムが同一座標系に対する仮想コンテンツにアクセスする結果をもたらすときに生じてもよい。位置特定の任意の他の方法が、第1のユーザおよび第2のユーザが、1つ以上のマップを通して、共有座標系にアクセスすることが可能である限り、使用されてもよい。いくつかの実施形態では、マップ(例えば、追跡マップ、規準的マップ)は、最小品質メトリック閾値が、満たされる、または超える場合、位置特定のためにのみ使用されてもよい。マップは、例えば、ローカルユーザデバイス上または共有クラウド内に記憶されてもよい。
コンテンツの共有は、リアルタイムで実施されてもよいことに留意されたい(例えば、送信者および受信者の両方が同一環境内に存在する間)。代替として、コンテンツの共有は、リアルタイムで実施されなくてもよい。例えば、第1の画像ディスプレイデバイス101の送信者は、受信者と共有するために、コンテンツを部屋内に仮想上設置してもよい。受信者は、送信者がコンテンツを設置する時間にその部屋内に存在しなくてもよい。そのような場合、第1の画像ディスプレイデバイス101は、メッセージを第2の画像ディスプレイデバイス101に送信し、受信者に、送信者が部屋内でコンテンツを共有していないことを知らせてもよい。第2の画像ディスプレイデバイス101を用いる受信者は、次いで、後の時間に、部屋に入ってもよく、共有コンテンツを読み出してもよい。
上記の実施例に示されるように、マップの品質を測定するためのメトリックは、コンテンツ共有のためのマップが、画像ディスプレイデバイス101がマップを使用してコンテンツを共有することを可能にする前に、十分な品質であることを確実にするため、コンテンツ共有において有利である。
マップサニタイゼーション
議論されるように、ユーザ50の位置特定のためのマップは、画像ディスプレイデバイス101のカメラシステムによって捕捉された画像を使用して作成されてもよい。いくつかの実施形態では、マップ作成プロセスの間、画像ディスプレイデバイス101の処理ユニット130は、マップサニタイゼーションを実施し、作成されているマップに負に寄与し得る、望ましくないデータを除去し、および/または望ましくないデータの影響を軽減させるように構成されてもよい。非限定的実施例として、望ましくないデータは、基準点の正しくない観察、不良制約画像、望ましくないマップ点、または前述の任意の組み合わせを含み得る。
不良制約画像は、位置特定マップを形成するために使用される場合、マップ内に誤差を生じさせ、これは、ひいては、位置特定誤差を生じさせるであろう。画像は、画像が基準点の十分な観察を有していないことに起因して、および/または基準点として誤特性評価され得る雑音を有する画像に起因して、不良に制約され得る。いったん不良制約画像が、マップの中に取り込まれると、後続画像は、「良好な」マップの残りの代わりに、本画像から生成されたステレオ点のみを観察し得、これは、ドリフトにつながり得る。
図12は、画像ディスプレイデバイス101のカメラシステムによって取得される、画像のシーケンスの実施例を図示する。画像のシーケンスは、マップ作成プロセスの間、カメラシステムによって取得され、位置特定マップを作成する。実施例では、画像のうちのいくつかは、それらがマップの良好接続部分を形成するという点で、良好に制約されている。いくつかの実施形態では、画像は、隣接画像内にも存在する、ある数の基準点を有する場合、「良好に制約されている」と見なされ得、その数は、2、3、4、10、20、100等の任意のユーザ定義閾値であり得る。マップの良好に制約されている部分の後には、不良制約画像(高速頭部回転に起因し得る)が続く。実施例では、小三角形は、マップを形成するために取得された画像を表し、大三角形は、検討されている現在の画像を表す。各ドットは、基準点または着目点を表す。左列は、追跡マップを形成する画像のシーケンスを示す一方、右列は、左列からの現在の画像(トラック画像)がマップセグメントに割り当てられた後のマップを示す。異なるマップセグメントは、異なる個別の色/グレースケールで示される。本明細書で使用されるように、マップの「セグメント」は、マップの一部を指し得る。ある場合には、マップの一部は、相互に論理的に関連付けられる、2つ以上の画像によって形成されてもよい。
図12の実施例では、第1の行は、良好に制約されている、シーケンスにおいて取得された3つの画像を示す。3つの画像は、各画像が1つ以上の他の画像によっても捕捉された複数のマップ点(基準点)を捕捉するという意味において、良好に制約されている。故に、3つの画像は、共通して観察されるマップ点に基づいて、相互に良好に接続されている。マップ点は、追跡目的のために使用され得る、画像内の捕捉された任意の着目特徴であり得ることに留意されたい。例えば、マップ点は、同一オブジェクトを異なる画像内で識別するために使用され得る、オブジェクトの角と関連付けられる、特徴であり得る。第1の3つの画像は、良好に制約されているため、それらは全て、それらがマップの第1のセグメントを形成するように、マップの第1のセグメントに割り当てられる。図示される実施形態では、処理ユニット130は、画像毎に品質スコアを決定するように構成されてもよく、品質スコアは、画像内の捕捉されたマップ点の数を表す、示す、またはそれに基づく。
図示される図内の第2の行は、入手されている第4の画像を示す。図示される実施例では、第4の画像には、少ないマップ点のみが見られ、第1のセグメントに対して不良に制約されている。不良に制約されている第4の画像は、第4の画像の不良に制約されている性質に起因して低い、対応する品質スコアを有し得る。故に、第4の画像は、少ないマップ点観察から生じる不良品質スコアに起因して、新しいセグメント(第2のセグメント)に割り当てられる。図示される実施例では、第4の画像は、ユーザの頭部の高速回転に起因して、不良に制約されており、これは、第4の画像のぼけをもたらす。第4の画像は、ぼかされるため、少ないマップ点のみが、検出され得る。他の実施形態では、画像内のぼけは、頭部回転と異なる他の要因に起因し得る。
第3の行は、入手されている第5の画像を示す。再び、第5の画像には、少ないマップ点のみが見られ、第2のセグメントに対して不良に制約されている。不良に制約されている第5の画像は、第5の画像の不良に制約されている性質に起因して低い、対応する品質スコアを有し得る。故に、第5の画像は、新しいセグメント(第3のセグメント)に割り当てられる。実施例では、第5の画像は、同様にユーザの頭部の継続される高速回転に起因して、不良に制約されている。他の実施形態では、画像内のぼけは、他の要因に起因し得る。
第4の行は、入手されている第6の画像を示す。第6の画像はまた、第3のセグメントに対して不良に制約されており、したがって、新しいセグメント(第4のセグメント)に割り当てられる。しかしながら、モーションブラーに寄与する回転は、停止されており、したがって、第5の画像は、処理ユニット130によって観察され得る、より多くのマップ点を含有する。
第5の行は、入手されている第7の画像を示す。第7の画像は、現在のセグメントに対して良好に制約されており、したがって、第7の画像は、第6の画像と同一セグメント(第4のセグメント)に割り当てられる。
最後に、第6の行は、入手されている第8の画像を示す。第8の画像もまた、現在のセグメント(第4のセグメント)に対して良好に制約されており、したがって、第8の画像は、第4のセグメントに割り当てられる。故に、最後の3つの画像は、マップの第4のセグメントの一部を形成する。
上記の実施形態では、画像およびマップ点はそれぞれ、それらに取り付けられるセグメント標識を有し、これは、マップ点が識別された後、かつ個別の画像に関する品質スコアが決定された後、割り当てられる。良好に制約されている画像は、処理130ユニットによって、最新セグメント数を割り当てられる(その画像から作成された全てのマップ点となるであろうように)一方、不良に制約されている画像およびそのマップ点は、処理ユニット130によって、次のセグメント数を割り当てられるであろう。
議論されるように、画像が制約されている程度は、品質スコアを通して遂行され、これは、処理ユニット130によって、画像と関連付けられる識別されたマップ点に基づいて算出される。ある場合には、品質スコアは、マップ点によって画像が制約されている程度を示し得る。1つの実装では、品質スコアは、処理ユニット130によって、J^TΣ^(-1)Jとして計算されてもよく、式中、Jは、姿勢に対するマップ点測定のJacobianであって、Σ^(-1)は、測定の情報行列である(測定の非依存性に起因して、ブロック対角線と仮定して)。他の実施形態では、品質スコアは、他の要因に基づいて決定されてもよく、および/または他のアルゴリズムを使用して計算されてもよい。
いくつかの実施形態では、異なるマップセグメントは、処理ユニット130によって組み合わせられ、マップを形成してもよい。ある場合には、「不良」セグメント(上記の実施例における、第2および第3のセグメントのように)は、削除され、マップを形成するために使用されなくてもよい。1つの実装では、不良セグメントは、セグメントに割り当てられる画像の数に基づいて識別されてもよい。セグメントに割り当てられる画像の数が、ある値(例えば、1、2、3等)を下回る場合、セグメントは、「不良」と見なされ得、マップを形成するために使用されないように除外されてもよい。1つの実装では、マップセグメントの継合は、ループ閉鎖アルゴリズムを使用して実施されてもよい。ループ閉鎖アルゴリズムでは、ループ閉鎖は、十分に大マップセグメント内にある、画像に基づいて実施される。上記の実施例に従って、ループ閉鎖は、第1および第4のセグメント内の画像に基づいて実施される一方、これらのセグメント内の不良に制約されている画像に起因して、第2および第3のセグメントを除外する。故に、ループ閉鎖によって継合される2つの良好に接続されたマップセグメント間で作成された、不良に制約されているエンティティは、それらが最終マップに寄与しないように、削除および除去されてもよい。
いくつかの実施形態では、処理ユニット130は、良好に制約されているマップセグメントを追跡し、それらが別個のマップであるかのように、それらを処理するように構成されてもよい。故に、マップセグメント自体が、マップの実施例と見なされ得る。例えば、処理ユニット130は、ローカルバンドル調整を1つ以上のマップセグメント上で実施する、グローバルバンドル調整を1つ以上のマップセグメント上で実施する、1つ以上のマップセグメントのためのメトリックを算出する、マップセグメント内の点に対して追跡を実施する、または前述の任意の組み合わせを行うように構成されてもよい。
いくつかの実施形態では、作成されたマップはさらに、画像ディスプレイデバイス101の通常使用の間、処理ユニット130によって調節されてもよい。例えば、いくつかの実施形態では、マップが作成された後、処理ユニット130は、そのようなマップを使用して、位置特定および/または他の機能を実施してもよい。しかしながら、画像ディスプレイデバイス101のそのような使用の間、カメラシステムは、環境の画像を取得し続ける。故に、いくつかの実施形態では、処理ユニット130は、新しく入手された画像に基づいて、作成されたマップを周期的に更新し続け、マップを改良するように試みてもよい。1つの実装では、処理ユニット130は、新しく入手された画像に基づいて、メトリックを決定してもよく、新しい画像に基づいて、マップを更新するかどうかを決定してもよい。例えば、処理ユニット130は、新しい画像がマップを更新するために使用される場合、そのマップのためのものとなるであろうメトリックを決定してもよい。メトリックが、既存のマップのものより高い場合、処理ユニット130は、新しい画像に基づくマップの更新が望ましいことを決定してもよい。他方では、メトリックが、既存のマップのものより低い場合、処理ユニット130は、新しい画像に基づくマップの更新が望ましくなく、新しい画像を使用してそれを更新せず、既存のマップを使用し続けるであろうことを決定してもよい。
上記の実施形態では、マップは、位置特定を実施するための使用のために作成されているように説明される。他の実施形態では、作成されたマップは、処理ユニット130によって利用され、他の機能を実施してもよい。例えば、他の実施形態では、作成されたマップは、処理ユニット130によって、基準フレームとして使用され、仮想コンテンツを設置してもよい。
いくつかの実施形態では、ユーザ50の位置を追跡するための追跡モードの間に捕捉された、画像ディスプレイデバイス101のカメラシステムからの複数の画像が、追跡マップを形成するために使用されてもよい。位置特定を実施するとき、処理ユニット130は、追跡マップと規準的マップとの間の6自由度変換を見出し、ユーザ50を位置特定する。いったんユーザ50が、マップを使用して、その環境に対して正常に位置特定されることができると、処理ユニット130は、次いで、ユーザが、マップを使用して、仮想コンテンツを環境に対して設置する、仮想コンテンツを前のセッションから読み出す、他のユーザと仮想コンテンツを共有すること等を可能にしてもよい。
図13は、画像ディスプレイデバイスが画像ディスプレイデバイスのユーザを位置特定することを可能にするための、マップを決定するための方法900を図示する。方法900は、マップを決定するために、ローカル最適化を実施するステップ(項目902)と、グローバル最適化を実施するステップ(項目904)とを含む。決定されたマップは、次いで、後に、画像ディスプレイデバイスによって使用され、画像ディスプレイデバイスのユーザを位置特定してもよい。いくつかの実施形態では、ローカルおよびグローバル最適化の両方が、画像ディスプレイデバイス101の処理ユニット130によって実施されてもよい。他の実施形態では、ローカルおよびグローバル最適化の一方または両方が、クラウドネットワーク内のサーバ等の外部デバイスによって実施されてもよい。
いくつかの実施形態では、項目902におけるローカル最適化を実施する行為は、それらが作成されているマップに寄与しないように、望ましくないデータを除去するステップを含む。非限定的実施例として、望ましくないデータは、マップセグメントに対して良好に制約されていない画像またはそのような画像と関連付けられる任意のデータであり得る。グローバル最適化のために、良好なデータを使用することが、望ましい。したがって、ローカル最適化の間、処理ユニット130は、望ましくないデータを取り除く。
いくつかの実施形態では、項目904におけるグローバル最適化を実施する行為は、画像からの1つ以上の光線が、調節され、したがって、それらが、共有項を有する、バンドル調整を実施するステップを含む。また、いくつかの実施形態では、グローバル最適化は、画像ディスプレイデバイス101のカメラシステムによって取得される画像、画像と関連付けられる像面の配向、および3D基準点に基づいて、実施されてもよい。さらなる実施形態では、グローバル最適化はまた、相互に対するカメラの相対的配向に基づいて、実施されてもよい。
随意に、方法900では、ローカル最適化を実施するステップは、データがマップを決定するために使用される場合、処理ユニット130によって、サニタイゼーションを実施し、そうでなければ、マップに関して望ましくない寄与を提供するであろう、データを除去する、または考慮しないステップを含む。
随意に、方法900では、データは、画像ディスプレイデバイス101のカメラシステムからの画像を含む。そのような場合、ローカル最適化の間、処理ユニットは、画像を除去する、または考慮しないことによって、サニタイゼーションを実施する。
随意に、方法900は、複数のカメラを含む、画像ディスプレイデバイス101によって実施される。そのような場合、データは、個別のカメラによって生成された画像のセットを含み、処理ユニット130は、画像のセットを除去する、または考慮しないことによって、サニタイゼーションを実施する。
随意に、方法900では、データは、カメラシステムからの画像内の基準点の識別を含み、処理ユニット130は、基準点の識別を考慮しないことによって、サニタイゼーションを実施する。
随意に、方法900では、データは、カメラシステムからの画像と関連付けられる光線または線および基準点を表し、処理ユニット130は、画像と関連付けられる、光線または線を考慮しないことによって、サニタイゼーションを実施する。
随意に、方法900では、処理ユニット130は、グローバル最適化の間、バンドル調整を実施し、カメラシステムからの1つ以上の画像と関連付けられる、1つ以上の光線を調節し、処理ユニット130は、サニタイゼーションを実施し、データを除去した後、バンドル調整を実施する。
随意に、方法900では、処理ユニット130は、カメラシステムからの画像および3次元基準点に基づいて、グローバル最適化を実施する。
随意に、方法900では、処理ユニット130は、カメラシステムのカメラ間の相対的配向に基づいて、グローバル最適化を実施する。
随意に、方法900では、処理ユニット130は、ローカル最適化の間、カメラシステムから取得される画像に関するスコアを決定する。いくつかの実施形態では、スコアは、制約スコアであってもよい。また、いくつかの実施形態では、スコアは、画像が制約されている程度を示す。いくつかの実施形態では、スコアは、処理ユニット130によって、基準点測定のJacobianに基づいて決定されてもよい。また、いくつかの実施形態では、スコアは、処理ユニット130によって、対角線行列である、情報行列に基づいて決定されてもよい。加えて、いくつかの実施形態では、スコアは、処理ユニット130によって、画像内の検出された基準点の数に基づいて、決定されてもよい。
随意に、方法900では、処理ユニット130は、スコアに基づいて、データサニタイゼーションを実施してもよい。
随意に、方法900では、処理ユニット130は、データサニタイゼーションを実施するとき、画像の制約を除去する、または画像を除去してもよい。
随意に、方法900では、処理ユニットは、スコアが閾値を下回るとき、画像の制約を除去する、または画像を除去してもよい。
随意に、方法900では、処理ユニット130は、複数のマップセグメントを決定するステップと、マップセグメントを接続するステップとによって、マップを決定してもよい。
随意に、方法900では、処理ユニット130は、画像をカメラシステムから取得し、画像をリンクさせることによって、マップセグメントの第1のマップセグメントを決定してもよく、画像は、カメラシステムによってシーケンスにおいて生成される。
随意に、方法900では、処理ユニット130は、画像の個別のスコアを決定する。
随意に、方法900では、処理ユニット130は、カメラシステムからの付加的画像のスコアが基準を満たすことに応答して、付加的画像をカメラシステムから取得し、付加的画像に関するスコアを決定し、マップセグメントの第2のマップセグメントを開始する。
随意に、方法900では、処理ユニット130は、スコアが、第1のマップセグメントに対する制約度を有する画像が閾値を下回ることを示すとき、第2のマップセグメントを開始してもよい。
処理ユニットおよび/または処理ユニット内のアプリケーションによって実施される方法
図14は、いくつかの実施形態による、方法1000を図示する。方法1000は、ユーザの頭部上に装着されるように構成される、装置によって実施されてもよく、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、処理ユニットとを有する。いくつかの実施形態では、方法1000は、図1-4に示される画像ディスプレイデバイス101のいずれかによって実施されてもよい。例えば、方法1000は、画像ディスプレイデバイス101の処理ユニット130によって実施されてもよい。方法1000は、処理ユニットによって、カメラシステムからの出力を取得するステップ(項目1002)と、処理ユニットによって、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するステップであって、マップは、環境に対してユーザを位置特定するために、処理ユニットによる使用のために構成される、ステップ(項目1004)と、処理ユニットによって、マップを使用してユーザを位置特定することの成功の可能性を示す、メトリックを決定するステップ(項目1006)とを含む。
いくつかの実施形態では、方法1000では、処理ユニットは、算出を実施し、メトリックを取得することによって、メトリックを決定してもよい。他の実施形態では、処理ユニットは、メトリックを別のコンポーネントまたはデバイスから受信し、メトリックを取得することによって、メトリックを決定してもよい。非限定的実施例として、メトリックを提供する他のコンポーネントまたはデバイスは、画像ディスプレイデバイス101内のモジュール、または画像ディスプレイデバイスと通信する、外部デバイスであってもよく、外部デバイスは、ユーザによって装着されてもよい、またはユーザから物理的に切り離されてもよい。例えば、外部デバイスは、無線伝送機、コンピュータ、ハンドヘルドまたは身体装着型デバイス、データベース、サーバ、基地局等であってもよい。
随意に、方法1000では、メトリックを決定する行為は、処理ユニットによって、メトリックを算出するステップを含む。
随意に、方法1000では、メトリックを決定する行為は、処理ユニットによって、メトリックを受信するステップを含む。
随意に、方法1000では、メトリックは、異なるカメラ位置と関連付けられる、着目点の同時可視性に基づいて決定される。
随意に、方法1000では、カメラ位置は、カメラシステムのカメラの第1のカメラ位置と、カメラシステムのカメラの第2のカメラ位置とを含む。
随意に、方法1000では、カメラ位置は、カメラシステムの第1のカメラの第1のカメラ位置と、カメラシステムの第2のカメラの第2のカメラ位置とを含む。
随意に、方法1000では、メトリックは、環境に対してユーザを位置特定するために使用可能な基準点の数を示す。
随意に、方法1000では、メトリックは、1つ以上の視認方向におけるユーザを位置特定することの成功の可能性を示す。
随意に、方法1000では、メトリックは、着目点が異なるカメラ位置から検出された回数に基づいて決定される。
随意に、方法1000では、メトリックは、任意の凸包を決定せずに、処理ユニットによって決定される。
随意に、方法1000では、メトリックは、指向性に基づく、値を有する。
随意に、方法1000では、指向性は、1つ以上の垂直軸および/または1つ以上の水平軸に対するものである。
随意に、方法1000では、指向性は、旋回方向を含む。
随意に、方法1000では、指向性は、傾斜角度を含む。
随意に、方法1000では、指向性は、ロール角度を含む。
随意に、方法1000では、メトリックは、第1の指向性と関連付けられる、第1の値と、第2の指向性と関連付けられる、第2の値とを有する。
随意に、方法1000では、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の位置に基づく、値を有する。
随意に、方法1000では、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の第1の位置と関連付けられる、第1の値と、複数のセルのうちの1つ内の第2の位置と関連付けられる、第2の値とを有する。
随意に、方法1000では、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表す。
随意に、方法1000では、メトリックを決定する行為は、複数のセルのうちの1つと関連付けられる、カメラシステムからの画像の総数を決定するステップを含む。
随意に、方法1000では、画像の総数は、セルに関するある視認方向と関連付けられる。
随意に、方法1000では、画像の総数は、セルに関するある複数の視認方向と関連付けられる。
随意に、方法1000では、カメラシステムは、複数の画像を取得するように構成され、メトリックは、視認方向の同一範囲に属する、画像のサブセットを識別するステップと、画像のサブセット内の画像に関する個別のスコアを決定するステップと、スコアを総和し、総スコアを取得するステップとによって、複数のセルのうちの1つに関して決定される。
随意に、方法1000では、メトリックは、総スコアを画像のサブセット内の画像の数で除算し、平均スコアを取得することによって決定される。
随意に、方法1000では、平均スコアは、メトリックである。
随意に、方法1000では、平均スコアは、複数のセルのうちの1つに関する視認方向の範囲にわたる同時可視性点の平均予期数を表す。
随意に、方法1000では、個別のスコアは、基準点と複数の画像を関連付ける、同時可視性グラフにアクセスすることによって決定される。
随意に、方法1000では、同時可視性グラフは、基準点のいずれが複数の画像内のものの中で可視であるかを示す。
随意に、方法1000では、個別のスコアのそれぞれは、画像のサブセット内の画像の対応するもの内で検出された基準点の数を決定することによって決定される。
随意に、方法1000はさらに、マップによる被覆度を示す、面積スコアを決定するステップを含む。
随意に、方法1000では、面積スコアは、マップのデータ点の空間分布に基づいて決定される。
随意に、方法1000では、セルのうちの少なくとも1つは、2m×2mの占有面積を有する。
随意に、方法1000では、セルのうちの少なくとも1つはまた、所定の高さを有する。
随意に、方法1000では、メトリックは、複数の画像をカメラシステムから取得するステップと、同時可視性値を決定するステップであって、同時可視性値はそれぞれ、複数の画像の対応するもの内で検出された基準点の数を示す、ステップとによって決定される。
随意に、方法1000では、カメラシステムは、複数のカメラを備える。
随意に、方法1000では、複数の画像は、カメラシステムが第1の位置にあるとき、複数のカメラによって生成された画像の第1のサブセットを備える。
随意に、方法1000では、複数の画像は、カメラシステムが第2の位置にあるとき、複数のカメラによって生成された画像の第2のサブセットを備える。
随意に、方法1000では、複数のカメラは、第1の前方に面したカメラを備える。
随意に、方法1000では、複数のカメラは、第2の前方に面したカメラを備える。
随意に、方法1000では、複数のカメラは、第1の側方に面したカメラを備える。
随意に、方法1000では、複数のカメラは、第2の側方に面したカメラを備える。
随意に、方法1000はさらに、処理ユニットによって、メトリックの値を改良するためのカメラシステムの所望の視認方向を決定するステップを含む。
随意に、方法1000はさらに、決定された所望の視認方向に基づいて、グラフィックを生成するステップを含み、グラフィックは、ユーザに、カメラシステムの現在の視認方向を所望の視認方向に変化させるように命令するように構成される。
随意に、方法1000はさらに、カメラシステムの所望の視認方向が達成された後、環境の画像をカメラシステムから取得するステップを含む。
随意に、方法1000はさらに、画像に基づいて、マップを更新するステップを含む。
随意に、方法1000はさらに、更新されたマップに基づいて、メトリックを更新するステップを含む。
随意に、方法1000では、メトリックは、マップが環境に対してユーザを位置特定するために使用される前に決定される。
随意に、方法1000では、メトリックは、装置が別の装置とコンテンツを共有する前に決定される。
随意に、方法1000では、メトリックは、処理ユニットがマップを決定する、マップ構築セッションの間に決定される。
随意に、方法1000では、メトリックは、非一過性媒体から以前に決定されたマップにアクセスすることによって、遡及的に決定される。
随意に、方法1000はさらに、データがマップを決定するために使用される場合、サニタイゼーションを実施し、そうでなければ、マップに関して望ましくない寄与を提供するであろう、データを除去する、または考慮しないステップを含む。
随意に、方法1000では、データは、カメラシステムからの画像を含み、サニタイゼーションは、画像を除去する、または考慮しないステップによって実施される。
随意に、方法1000では、カメラシステムは、複数のカメラを備え、データは、個別のカメラによって生成された画像のセットを備え、サニタイゼーションは、画像のセットを除去する、または考慮しないステップによって実施される。
随意に、方法1000では、データは、カメラシステムからの画像内の基準点の識別を備え、サニタイゼーションは、基準点の識別を考慮しないステップによって実施される。
随意に、方法1000では、データは、カメラシステムからの画像および基準点と関連付けられる、光線または線を表し、サニタイゼーションは、画像と関連付けられる、光線または線を考慮しないステップによって実施される。
随意に、方法1000では、サニタイゼーションは、ローカル最適化の一部として実施される。
随意に、方法1000はさらに、バンドル調整を実施し、カメラシステムからの1つ以上の画像と関連付けられる、1つ以上の光線を調節するステップを含み、バンドル調整は、サニタイゼーションが実施され、データを除去した後に実施される。
随意に、方法1000では、バンドル調整は、グローバル最適化の一部として実施される。
随意に、方法1000では、グローバル最適化は、カメラシステムからの画像および3次元基準点に基づいて実施される。
随意に、方法1000では、グローバル最適化は、カメラシステムのカメラ間の相対的配向にもまた基づいて実施される。
随意に、方法1000はさらに、処理ユニットによって、カメラシステムから取得される画像に関するスコアを決定するステップを含む。
随意に、方法1000では、スコアは、制約スコアである。
随意に、方法1000では、スコアは、画像が制約されている程度を示す。
随意に、方法1000では、スコアは、基準点測定のJacobianに基づいて決定される。
随意に、方法1000では、スコアは、対角線行列である、情報行列に基づいて決定される。
随意に、方法1000では、スコアは、画像内で検出された基準点の数に基づいて決定される。
随意に、方法1000はさらに、スコアに基づいて、データサニタイゼーションを実施するステップを含む。
随意に、方法1000では、データサニタイゼーションを実施する行為は、画像の制約を除去するステップ、または画像を除去するステップを含む。
随意に、方法1000では、スコアが閾値を下回るとき、画像の制約または画像が、除去される。
随意に、方法1000では、マップは、複数のマップセグメントを決定するステップと、マップセグメントを接続するステップとによって決定される。
随意に、方法1000では、複数のマップセグメントを決定する行為は、画像をカメラシステムから取得し、画像をリンクさせることによって、マップセグメントの第1のマップセグメントを決定するステップを含み、画像は、カメラシステムによってシーケンスにおいて生成される。
随意に、方法1000はさらに、画像の個別のスコアを決定するステップを含む。
随意に、方法1000はさらに、カメラシステムからの付加的画像のスコアが基準を満たすことに応答して、付加的画像をカメラシステムから取得し、付加的画像に関するスコアを決定し、マップセグメントの第2のマップセグメントを開始するステップを含む。
随意に、方法1000では、第2のマップセグメントは、スコアが、第1のマップセグメントに対する制約度を有する画像が閾値を下回ることを示すとき、開始される。
随意に、方法1000では、出力は、カメラシステムからの1つ以上の画像を含む。
図15は、いくつかの実施形態による、方法1100を図示する。方法1100は、ユーザの頭部上に装着されるように構成される、装置によって実施されてもよく、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、処理ユニットとを有する。いくつかの実施形態では、方法1100は、図1-4に示される画像ディスプレイデバイス101のいずれかによって実施されてもよい。例えば、方法1100は、画像ディスプレイデバイス101の処理ユニット130によって実施されてもよい。方法1100は、処理ユニットによって、カメラシステムからの出力を取得するステップ(項目1102)と、処理ユニットによって、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するステップであって、マップは、環境に対してユーザを位置特定するために、処理ユニットによる使用のために構成される、ステップ(項目1104)と、処理ユニットによって、カメラシステムから取得される画像に関するスコアを決定するステップであって、スコアは、画像がマップを形成するためのマップセグメントに対して制約されている程度を示す、ステップ(項目1106)とを含む。
いくつかの実施形態では、方法1100では、処理ユニットは、算出を実施し、スコアを取得することによって、スコアを決定してもよい。他の実施形態では、処理ユニットは、スコアを別のコンポーネントまたはデバイスから受信し、スコアを取得することによって、スコアを決定してもよい。非限定的実施例として、メトリックを提供する他のコンポーネントまたはデバイスは、画像ディスプレイデバイス101内のモジュール、または画像ディスプレイデバイスと通信する、外部デバイスであってもよく、外部デバイスは、ユーザによって装着されてもよい、またはユーザから物理的に切り離されてもよい。例えば、外部デバイスは、無線伝送機、コンピュータ、ハンドヘルドまたは身体装着型デバイス、データベース、サーバ、基地局等であってもよい。
随意に、方法1100では、スコアを決定する行為は、処理ユニットによって、スコアを算出するステップを含む。
随意に、方法1100では、スコアを決定する行為は、処理ユニットによって、スコアを受信するステップを含む。
随意に、方法1100では、スコアは、基準点測定のJacobianに基づいて決定される。
随意に、方法1100では、スコアは、対角線行列である、情報行列に基づいて決定される。
随意に、方法1100では、スコアは、画像内で検出された基準点の数に基づいて決定される。
随意に、方法1100はさらに、処理ユニットによって、スコアに基づいて、データサニタイゼーションを実施するステップを含む。
随意に、方法1100では、データサニタイゼーションを実施する行為は、画像の制約を除去するステップ、または画像を除去するステップを含む。
随意に、方法1100では、データサニタイゼーションを実施する行為は、スコアが閾値を下回るとき、画像の制約を除去するステップまたは画像を除去するステップを含む。
随意に、方法1100では、サニタイゼーションは、データがマップを決定するために使用される場合、そうでなければ、マップに関して望ましくない寄与を提供するであろう、データを除去する、または考慮しないように実施される。
随意に、方法1100では、データは、カメラシステムからの画像を備え、サニタイゼーションは、画像を除去する、または考慮しないように実施される。
随意に、方法1100では、カメラシステムは、複数のカメラを備え、データは、個別のカメラによって生成された画像のセットを備え、サニタイゼーションは、画像のセットを除去する、または考慮しないように実施される。
随意に、方法1100では、データは、カメラシステムからの画像内の基準点の識別を備え、サニタイゼーションは、基準点の識別を考慮しないように実施される。
随意に、方法1100では、データは、カメラシステムからの画像および基準点と関連付けられる、光線または線を表し、サニタイゼーションは、画像と関連付けられる、光線または線を考慮しないように実施される。
随意に、方法1100では、サニタイゼーションは、ローカル最適化の一部として実施される。
随意に、方法1100はさらに、バンドル調整を実施し、カメラシステムからの1つ以上の画像と関連付けられる、1つ以上の光線を調節するステップを含み、バンドル調整は、サニタイゼーションが実施された後、実施され、スコアが決定される画像は、1つ以上の画像のうちの1つである、もしくは1つ以上の画像と異なる。
随意に、方法1100では、バンドル調整は、グローバル最適化の一部として実施される。
随意に、方法1100はさらに、処理ユニットによって、カメラシステムからの1つ以上の画像および3次元基準点に基づいて、グローバル最適化を実施するステップを含む。
随意に、方法1100では、グローバル最適化は、カメラシステムのカメラ間の相対的配向にもまた基づいて実施される。
随意に、方法1100では、マップは、複数のマップセグメントを決定するステップであって、複数のマップセグメントがマップセグメントを構成する、ステップと、マップセグメントを接続するステップであって、マップの一部が、マップセグメントのうちの1つを構成する、ステップとによって決定される。
随意に、方法1100では、カメラシステムは、付加的画像を提供するように構成され、付加的画像は、スコアが決定される画像が生成される前に、カメラシステムによって生成され、マップを決定する行為は、付加的画像をリンクさせることによって、マップセグメントの第1のマップセグメントを決定するステップを含み、付加的画像は、カメラシステムによってシーケンスにおいて生成される。
随意に、方法1100はさらに、付加的画像の個別のスコアを決定するステップを含む。
随意に、方法1100はさらに、処理ユニットによって、カメラシステムからの画像のスコアが基準を満たすことに応答して、マップセグメントの第2のマップセグメントを開始するステップを含む。
随意に、方法1100では、第2のマップセグメントは、スコアが、第1のマップセグメントに対する制約度を有する画像が閾値を下回ることを示すとき、開始される。
随意に、方法1100はさらに、マップを使用してユーザを位置特定することの成功の可能性を示す、メトリックを決定するステップを含む。
随意に、方法1100では、メトリックは、異なるカメラ位置と関連付けられる、着目点の同時可視性に基づいて決定される。
随意に、方法1100では、カメラ位置は、カメラシステムのカメラの第1のカメラ位置と、カメラシステムのカメラの第2のカメラ位置とを含む。
随意に、方法1100では、カメラ位置は、カメラシステムの第1のカメラの第1のカメラ位置と、カメラシステムの第2のカメラの第2のカメラ位置とを含む。
随意に、方法1100では、メトリックは、環境に対してユーザを位置特定するために使用可能な基準点の数を示す。
随意に、方法1100では、メトリックは、1つ以上の視認方向におけるユーザを位置特定することの成功の可能性を示す。
随意に、方法1100では、メトリックは、着目点が異なるカメラ位置から検出された回数に基づいて決定される。
随意に、方法1100では、メトリックは、任意の凸包を決定せずに、処理ユニットによって決定される。
随意に、方法1100では、メトリックは、指向性に基づく、値を有する。
随意に、方法1100では、指向性は、1つ以上の垂直軸および/または1つ以上の水平軸に対するものである。
随意に、方法1100では、指向性は、旋回方向を含む。
随意に、方法1100では、指向性は、傾斜角度を含む。
随意に、方法1100では、指向性は、ロール角度を含む。
随意に、方法1100では、メトリックは、第1の指向性と関連付けられる、第1の値と、第2の指向性と関連付けられる、第2の値とを有する。
随意に、方法1100では、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の位置に基づく、値を有する。
随意に、方法1100では、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の第1の位置と関連付けられる、第1の値と、複数のセルのうちの1つ内の第2の位置と関連付けられる、第2の値とを有する。
随意に、方法1100では、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表す。
随意に、方法1100では、メトリックを決定する行為は、複数のセルのうちの1つと関連付けられる、カメラシステムからの画像の総数を決定するステップを含む。
随意に、方法1100では、画像の総数は、セルに関するある視認方向と関連付けられる。
随意に、方法1100では、画像の総数は、セルに関するある複数の視認方向と関連付けられる。
随意に、方法1100では、カメラシステムは、複数の画像を取得するように構成され、複数の画像は、スコアが決定される画像を含み、メトリックは、視認方向の同一範囲に属する、画像のサブセットを識別するステップと、画像のサブセット内の画像に関する個別のスコアを決定するステップと、スコアを総和し、総スコアを取得するステップとによって、複数のセルのうちの1つに関して決定される。
随意に、方法1100はさらに、総スコアを画像のサブセット内の画像の数で除算し、平均スコアを取得するステップを含む。
随意に、方法1100では、平均スコアは、メトリックである。
随意に、方法1100では、平均スコアは、複数のセルのうちの1つに関する視認方向の範囲にわたる同時可視性点の平均予期数を表す。
随意に、方法1100では、個別のスコアは、基準点と複数の画像を関連付ける、同時可視性グラフにアクセスすることによって決定される。
随意に、方法1100では、同時可視性グラフは、基準点のいずれが複数の画像内のものの中で可視であるかを示す。
随意に、方法1100では、個別のスコアのそれぞれは、画像のサブセット内の画像の対応するもの内で検出された基準点の数を決定することによって決定される。
随意に、方法1100はさらに、マップによる被覆度を示す、面積スコアを決定するステップを含む。
随意に、方法1100では、面積スコアは、マップのデータ点の空間分布に基づく。
随意に、方法1100では、セルのうちの少なくとも1つは、2m×2mの占有面積を有する。
随意に、方法1100では、セルのうちの少なくとも1つはまた、所定の高さを有する。
随意に、方法1100では、メトリックは、複数の画像をカメラシステムから取得するステップであって、複数の画像は、スコアが決定される画像を含む、ステップと、同時可視性値を決定するステップであって、同時可視性値はそれぞれ、複数の画像の対応するもの内で検出された基準点の数を示す、ステップとによって決定される。
随意に、方法1100では、カメラシステムは、複数のカメラを備える。
随意に、方法1100では、複数の画像は、カメラシステムが第1の位置にあるとき、複数のカメラによって生成された画像の第1のサブセットを備える。
随意に、方法1100では、複数の画像は、カメラシステムが第2の位置にあるとき、複数のカメラによって生成された画像の第2のサブセットを備える。
随意に、方法1100では、複数のカメラは、第1の前方に面したカメラを備える。
随意に、方法1100では、複数のカメラは、第2の前方に面したカメラを備える。
随意に、方法1100では、複数のカメラは、第1の側方に面したカメラを備える。
随意に、方法1100では、複数のカメラは、第2の側方に面したカメラを備える。
随意に、方法1100はさらに、処理ユニットによって、メトリックの値を改良するためのカメラシステムの所望の視認方向を決定するステップを含む。
随意に、方法1100はさらに、決定された所望の視認方向に基づいて、グラフィックを生成するステップを含み、グラフィックは、ユーザに、カメラシステムの現在の視認方向を所望の視認方向に変化させるように命令するように構成される。
随意に、方法1100はさらに、カメラシステムの所望の視認方向が達成された後、付加的画像をカメラシステムから取得するステップを含む。
随意に、方法1100はさらに、付加的画像に基づいて、マップを更新するステップを含む。
随意に、方法1100はさらに、更新されたマップに基づいて、メトリックを更新するステップを含む。
随意に、方法1100では、メトリックは、処理ユニットが、マップを使用し、環境に対してユーザを位置特定する前に、決定される。
随意に、方法1100では、メトリックは、装置が別の装置とコンテンツを共有する前に決定される。
随意に、方法1100では、メトリックは、処理ユニットがマップを決定する、マップ構築セッションの間に決定される。
随意に、方法1100では、メトリックは、非一過性媒体から以前に決定されたマップにアクセスすることによって、遡及的に決定される。
特殊処理システム
いくつかの実施形態では、本明細書に説明される方法500、方法900、方法1000、および/または方法1100は、アプリケーションを実行する処理ユニット130によって、またはアプリケーションによって、実施されてもよい。アプリケーションは、命令のセットを含有してもよい。1つの実装では、アプリケーションのための命令のセットを記憶する非一過性媒体を有する、特殊処理システムが、提供されてもよい。画像ディスプレイデバイス101の処理ユニット130による命令の実行は、処理ユニット130に、本明細書に説明される特徴を実施させるであろう。
いくつかの実施形態では、画像ディスプレイデバイス101はまた、特殊処理システムと見なされ得る。特に、画像ディスプレイデバイス101は、実世界内に一意の有形効果を提供するための処理ユニット130による実行のために、その非一過性媒体内に記憶される命令を含有するという点で、特殊処理システムである。画像ディスプレイデバイス101によって提供される特徴(処理ユニット130が命令を実行する結果として)は、本明細書に説明されるように、位置特定マップ作成、画像ベースの位置特定、および位置特定マップのための品質制御の技術分野における改良を提供する。
非限定的実施例として、提供される命令は、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するステップと、マップに基づいて、環境に対してユーザを位置特定するステップと、マップを使用してユーザを位置特定することの成功の可能性を示す、メトリックを決定するステップと、異なるカメラ位置と関連付けられる、着目点の同時可視性に基づいて、メトリックを決定するステップと、環境に対してユーザを位置特定するために使用可能な基準点の数を決定するステップと、1つ以上の視認方向におけるユーザを位置特定することの成功の可能性を示す、メトリックを決定するステップと、着目点が異なるカメラ位置から検出された回数に基づいて、メトリックを決定するステップと、任意の凸包を決定せずに、メトリックを決定するステップと、指向性に基づいて、メトリックを決定するステップであって、指向性は、1つ以上の垂直軸および/または1つ以上の水平軸に対するものである、ステップと、任意の凸包を決定せずに、メトリックを決定するステップと、指向性に基づいて、メトリックを決定するステップであって、指向性は、旋回方向、傾斜角度、ロール角度、または前述の任意の組み合わせを含む、ステップと、第1の指向性と関連付けられる、第1の値と、第2の指向性と関連付けられる、第2の値とを有する、メトリックを決定するステップと、複数のセルのうちの1つに関するメトリックを決定するステップであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の位置に基づく、値を有する、ステップと、複数のセルのうちの1つに関するメトリックを決定するステップであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の第1の位置と関連付けられる、第1の値と、複数のセルのうちの1つ内の第2の位置と関連付けられる、第2の値とを有する、ステップと、複数のセルのうちの1つに関するメトリックを決定するステップであって、セルはそれぞれ、環境の一部の3次元空間を表す、ステップと、複数のセルのうちの1つに関するカメラシステムからの画像の総数を決定するステップであって、画像の総数は、セルに関するある視認方向と関連付けられる、またはセルに関するある複数の視認方向と関連付けられる、ステップと、制御信号を生成し、カメラシステムに、複数の画像を取得させるステップと、視認方向の同一範囲に属する、画像のサブセットを識別するステップと、画像のサブセット内の画像に関する個別のスコアを決定するステップと、スコアを総和し、総スコアを取得するステップとによって、複数のセルのうちの1つに関するメトリックを決定するステップと、総スコアを画像のサブセット内の画像の数で除算することによって、平均スコアを決定するステップと、複数のセルのうちの1つに関する視認方向の範囲にわたる同時可視性点の平均予期数を表す、平均スコアを決定するステップと、基準点と複数の画像を関連付ける、同時可視性グラフにアクセスすることによって、個別のスコアを決定するステップであって、同時可視性グラフは、基準点のいずれが複数の画像内のものの中で可視であるかを示す、ステップと、画像のサブセット内の画像の対応するもの内で検出された基準点の数を決定することによって、個別のスコアのそれぞれを決定するステップと、マップによる被覆度を示す、面積スコアを決定するステップと、マップのデータ点の空間分布に基づいて、面積スコアを決定するステップと、複数の画像をカメラシステムから取得するステップと、同時可視性値を決定するステップであって、同時可視性値はそれぞれ、複数の画像の対応するもの内で検出された基準点の数を示す、ステップとによって、メトリックを決定するステップと、制御信号を生成し、複数のカメラを動作させるステップであって、複数のカメラは、第1の前方に面したカメラと、第2の前方に面したカメラと、第1の側方に面したカメラと、第2の側方に面したカメラとを備える、ステップと、メトリックの値を改良するためのカメラシステムの所望の視認方向を決定するステップと、決定された所望の視認方向に基づいて、グラフィックを生成するステップであって、グラフィックは、ユーザに、カメラシステムの現在の視認方向を所望の視認方向に変化させるように命令するように構成される、ステップと、制御信号を生成し、カメラシステムを動作させ、カメラシステムの所望の視認方向が達成された後、環境の画像を取得するステップと、画像に基づいて、マップを更新するステップと、更新されたマップに基づいて、メトリックを更新するステップと、マップを使用して、環境に対してユーザを位置特定する前に、マップに関するメトリックを決定するステップと、装置が別の装置とコンテンツを共有することを可能にする前に、マップに関するメトリックを決定するステップと、処理ユニットがマップを決定する、マップ構築セッションの間、メトリックを決定するステップと、非一過性媒体から以前に決定されたマップにアクセスすることによって、メトリックを遡及的に決定するステップと、データがマップを決定するために使用される場合、サニタイゼーションを実施し、そうでなければ、マップに関して望ましくない寄与を提供するであろう、データを除去する、または考慮しないステップであって、データは、カメラシステムからの画像を含む、個別のカメラによって生成された画像のセットを備える、カメラシステムからの画像内の基準点の識別を備える、またはカメラシステムからの画像と関連付けられる光線もしくは線および基準点を表す、ステップと、ローカル最適化の一部として、サニタイゼーションを実施するステップと、バンドル調整を実施し、カメラシステムからの1つ以上の画像と関連付けられる、1つ以上の光線を調節するステップと、サニタイゼーションを実施し、データを除去した後、バンドル調整を実施するステップと、グローバル最適化の一部として、バンドル調整を実施するステップと、カメラシステムからの画像および3次元基準点に基づいて、グローバル最適化を実施するステップと、カメラシステムのカメラ間の相対的配向にもまた基づいて、グローバル最適化を実施するステップと、カメラシステムから取得される画像に関するスコアを決定するステップであって、スコアは、制約スコアである、および/または画像が制約されている程度を示す、ステップと、基準点測定のJacobianに基づいて、スコアを決定するステップと、対角線行列である、情報行列に基づいて、スコアを決定するステップと、画像内の検出された基準点の数に基づいて、スコアを決定するステップと、スコアに基づいて、データサニタイゼーションを実施するステップと、データサニタイゼーションを実施するとき、画像の制約を除去するステップ、または画像を除去するステップと、スコアが閾値を下回るとき、画像の制約を除去するステップ、または画像を除去するステップと、複数のマップセグメントを決定するステップと、マップセグメントを接続するステップとによって、マップを決定するステップと、画像をカメラシステムから取得し、画像をリンクさせることによって、マップセグメントの第1のマップセグメントを決定するステップであって、画像は、カメラシステムによってシーケンスにおいて生成される、ステップと、画像の個別のスコアを決定するステップと、カメラシステムからの付加的画像のスコアが基準を満たすことに応答して、付加的画像をカメラシステムから取得し、付加的画像に関するスコアを決定し、マップセグメントの第2のマップセグメントを開始するステップと、スコアが、第1のマップセグメントに対する制約度を有する画像が閾値を下回ることを示すとき、第2のマップセグメントを開始するステップとのための命令を含んでもよい。
図16は、本明細書に説明される種々の特徴を実装するために使用され得る、特殊処理システム1600の実施形態を図示する、ブロック図である。例えば、いくつかの実施形態では、処理システム1600は、画像ディスプレイデバイス101を実装するために使用されてもよい。処理システム1600は、バス1602または情報を通信するための他の通信機構と、情報を処理するためにバス1602と結合される、プロセッサ1604とを含む。プロセッサシステム1600はまた、情報およびプロセッサ1604によって実行されるべき命令を記憶するためにバス1602に結合される、ランダムアクセスメモリ(RAM)または他の動的記憶デバイス等のメインメモリ1606を含む。メインメモリ1606はまた、プロセッサ1604によって実行されるべき命令の実行の間、一時的変数または他の中間情報を記憶するために使用されてもよい。プロセッサシステム1600はさらに、静的情報およびプロセッサ1604のための命令を記憶するためにバス1602に結合される、読取専用メモリ(ROM)1608または他の静的記憶デバイスを含む。磁気ディスク、ソリッドステートディスク、または光ディスク等のデータ記憶デバイス1610が、提供され、情報および命令を記憶するためにバス1602に結合される。
プロセッサシステム1600は、情報をユーザに表示するために、バス1602を介して、画面等のディスプレイ1612に結合されてもよい。ある場合には、処理システム1600が、タッチスクリーンを含む、装置の一部である場合、ディスプレイ1612は、タッチスクリーンであってもよい。英数字および他のキーを含む、入力デバイス1614が、情報およびコマンド選択をプロセッサ1604に通信するために、バス1602に結合される。別のタイプのユーザ入力デバイスは、方向情報およびコマンド選択をプロセッサ1604に通信するための、かつディスプレイ1612上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キー等のカーソル制御1616である。本入力デバイスは、典型的には、デバイスが平面内の位置を規定することを可能にする、2つの軸、すなわち、第1の軸(例えば、x)および第2の軸(例えば、y)における2自由度を有する。ある場合には、処理システム1600が、タッチスクリーンを含む、装置の一部である場合、入力デバイス1614およびカーソル制御は、タッチスクリーンであってもよい。
いくつかの実施形態では、プロセッサシステム1600は、本明細書に説明される種々の機能を実施するために使用されることができる。いくつかの実施形態によると、そのような使用は、プロセッサ1604がメインメモリ1606内に含有される1つ以上の命令の1つ以上のシーケンスを実行することに応答して、プロセッサシステム1600によって提供される。当業者は、本明細書に説明される機能および方法に基づいて、そのような命令を準備する方法を把握するであろう。そのような命令は、記憶デバイス1610等の別のプロセッサ可読媒体からメインメモリ1606の中に読み込まれてもよい。メインメモリ1606内に含有される命令のシーケンスの実行は、プロセッサ1604に、本明細書に説明されるプロセスステップを実施させる。マルチ処理配列における1つ以上のプロセッサもまた、メインメモリ1606内に含有される命令のシーケンスを実行するために採用されてもよい。代替実施形態では、有線回路構成が、ソフトウェア命令の代わりに、またはそれと組み合わせて、本明細書に説明される種々の実施形態を実装するために使用されてもよい。したがって、実施形態は、ハードウェア回路構成とソフトウェアの任意の具体的組み合わせに限定されない。
用語「プロセッサ可読媒体」は、本明細書で使用されるように、命令を実行のためにプロセッサ1604に提供することに関わる、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス1610等の光学、ソリッドステート、または磁気ディスクを含む。不揮発性媒体は、非一過性媒体の実施例と見なされ得る。揮発性媒体は、メインメモリ1606等の動的メモリを含む。揮発性媒体は、非一過性媒体の実施例と見なされ得る。伝送媒体は、バス1602を備えるワイヤを含む、同軸ケーブル、銅ワイヤ、および光ファイバを含む。伝送媒体はまた、無線波および赤外線データ通信の間に生成されるもの等の音響または光波の形態をとることができる。
一般的形態のプロセッサ可読媒体は、例えば、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、およびEPROM、FLASH-EPROM、ソリッドステートディスク、任意の他のメモリチップまたはカートリッジ、以降に説明されるような搬送波、またはそこからプロセッサが読み取り得る、任意の他の媒体を含む。
種々の形態のプロセッサ可読媒体が、実行のために、1つ以上の命令の1つ以上のシーケンスをプロセッサ1604に搬送する際に関わり得る。例えば、命令は、最初に、遠隔コンピュータの磁気ディスクまたはソリッドステートディスク上で搬送され得る。遠隔コンピュータは、命令をその動的メモリの中にロードし、インターネット等のネットワークを経由して、命令を送信することができる。処理システム1600は、ネットワークラインに関するデータを受信することができる。バス1602は、データをメインメモリ1606に搬送し、そこから、プロセッサ1604は、命令を読み出し、実行する。メインメモリ1606によって受信された命令は、随意に、プロセッサ1604による実行の前または後のいずれかにおいて、記憶デバイス1610上に記憶され得る。
処理システム1600はまた、バス1602に結合される、通信インターフェース1618を含む。通信インターフェース1618は、ローカルネットワーク1622に接続される、ネットワークリンク1620への双方向データ通信結合を提供する。例えば、通信インターフェース1618は、データ通信接続を互換性があるLANに提供するためのローカルエリアネットワーク(LAN)カードであってもよい。無線リンクもまた、実装されてもよい。任意のそのような実装では、通信インターフェース1618は、種々のタイプの情報を表すデータストリームを搬送する、電気、電磁、または光学信号を送信および受信する。
ネットワークリンク1620は、典型的には、1つ以上のネットワークを通して、データ通信を他のデバイスに提供する。例えば、ネットワークリンク1620は、ローカルネットワーク1622を通して、接続をホストコンピュータ1624または機器1626に提供してもよい。ネットワークリンク1620を経由してトランスポートされるデータストリームは、電気、電磁、または光学信号を含むことができる。種々のネットワークを通した信号、ならびにネットワークリンク1620上、および処理システム1600におよびそこからデータを搬送する、通信インターフェース1618を通した信号は、情報をトランスポートする搬送波の例示的形態である。処理システム1600は、ネットワーク、ネットワークリンク1620、および通信インターフェース1618を通して、メッセージを送信し、プログラムコードを含む、データを受信することができる。
本開示の例示的側面が、材料選択および製造に関する詳細とともに、上記に記載された。本開示の他の詳細に関して、これらは、前述の参照特許および刊行物に関連して理解され、概して、当業者によって公知である、または理解され得る。同じことは、一般または論理的に採用されるような付加的作用の観点から、本開示の方法ベースの側面に関しても当てはまり得る。
加えて、本開示は、随意に、種々の特徴を組み込む、いくつかの実施例を参照して説明されたが、本開示は、開示の各変形例に関して検討されるように説明または図示されるものに限定されるものではない。種々の変更が、説明される本開示に行われてもよく、均等物(本明細書に列挙されるか、またはある程度の簡潔目的のために含まれないかどうかにかかわらず)は、本開示の真の精神および範囲から逸脱することなく代用されてもよい。加えて、値の範囲が提供される場合、その範囲の上限と下限との間の全ての介在値および任意の他の述べられた値または述べられた範囲内の介在値が、本開示内に包含されるものと理解されたい。
また、説明される本発明の変形例の任意の随意の特徴は、独立して、または本明細書に説明される特徴のうちの任意の1つ以上のものと組み合わせて、記載および請求され得ることが検討される。単数形項目の言及は、存在する複数の同一項目が存在する可能性を含む。より具体的には、本明細書および本明細書に関連付けられた請求項で使用されるように、単数形「a」、「an」、「said」、および「the」は、別様に具体的に述べられない限り、複数の言及を含む。さらに、任意の請求項は、任意の随意の要素を除外するように起草され得ることに留意されたい。したがって、本文言は、請求項の要素の列挙と関連する「単に」、「のみ」、および同等物等の排他的専門用語の使用、または「消極的」限定の使用のための先行詞としての役割を果たすことが意図される。
本開示の範疇は、提供される実施例および/または本主題の明細書に限定されるべきではなく、むしろ、本開示と関連付けられた請求項の言語の範囲によってのみ限定されるべきである。
以下は、例示的特徴である。下記の特徴のうちの1つ以上のものは、1つ以上の実施形態では、組み合わせられてもよい。
特徴1.ユーザの頭部上に装着されるように構成される、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するように構成される、処理ユニットであって、マップは、環境に対してユーザを位置特定するために、処理ユニットによる使用のために構成される、処理ユニットとを含み、装置の処理ユニットはまた、マップを使用してユーザを位置特定することの成功の可能性を示す、メトリックを取得するように構成され、処理ユニットは、メトリックを算出することによって、またはメトリックを受信することによって、メトリックを取得するように構成される。
特徴2. いくつかの実施形態では、処理ユニットは、異なるカメラ位置と関連付けられる着目点の同時可視性に基づいて、メトリックを決定するように構成される。
特徴3. いくつかの実施形態では、メトリックは、環境に対してユーザを位置特定するために使用可能な基準点の数を示す。
特徴4. いくつかの実施形態では、メトリックは、1つ以上の視認方向におけるユーザを位置特定することの成功の可能性を示す。
特徴5. いくつかの実施形態では、処理ユニットは、着目点が異なるカメラ位置から検出された回数に基づいて、メトリックを決定するように構成される。
特徴6. いくつかの実施形態では、処理ユニットは、任意の凸包を決定せずに、メトリックを決定するように構成される。
特徴7. いくつかの実施形態では、メトリックは、指向性に基づく、値を有する。
特徴8. いくつかの実施形態では、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の位置に基づく、値を有する。
特徴9. いくつかの実施形態では、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表す。
特徴10. いくつかの実施形態では、カメラシステムは、複数の画像を取得するように構成され、処理ユニットは、視認方向の同一範囲に属する、画像のサブセットを識別するステップと、画像のサブセット内の画像に関する個別のスコアを決定するステップと、スコアを総和し、総スコアを取得するステップとによって、複数のセルのうちの1つに関するメトリックを決定するように構成される。
特徴11. いくつかの実施形態では、処理ユニットはまた、総スコアを画像のサブセット内の画像の数で除算することによって、平均スコアを決定するように構成される。
特徴12. いくつかの実施形態では、処理ユニットは、基準点と複数の画像を関連付ける、同時可視性グラフにアクセスすることによって、個別のスコアを決定するように構成される。
特徴13. いくつかの実施形態では、同時可視性グラフは、基準点のいずれが複数の画像内のものの中で可視であるかを示す。
特徴14. いくつかの実施形態では、処理ユニットは、画像のサブセット内の画像の対応するもの内で検出された基準点の数を決定することによって、個別のスコアのそれぞれを決定するように構成される。
特徴15. いくつかの実施形態では、処理ユニットはまた、マップによる被覆度を示す、面積スコアを決定するように構成される。
特徴16. いくつかの実施形態では、処理ユニットは、複数の画像をカメラシステムから取得するステップと、同時可視性値を決定するステップであって、同時可視性値はそれぞれ、複数の画像の対応するもの内で検出された基準点の数を示す、ステップとによって、メトリックを決定するように構成される。
特徴17. いくつかの実施形態では、処理ユニットは、メトリックの値を改良するためのカメラシステムの所望の視認方向を決定するように構成される。
特徴18. いくつかの実施形態では、処理ユニットは、決定された所望の視認方向に基づいて、グラフィックを生成するように構成され、グラフィックは、ユーザに、カメラシステムの現在の視認方向を所望の視認方向に変化させるように命令するように構成される。
特徴19. いくつかの実施形態では、処理ユニットは、所望の視認方向が達成された後、メトリックを更新するように構成される。
特徴20. いくつかの実施形態では、処理ユニットは、データがマップを決定するために使用される場合、サニタイゼーションを実施し、そうでなければ、マップに関して望ましくない寄与を提供するであろう、データを除去する、または考慮しないように構成される。
特徴21. いくつかの実施形態では、データは、カメラシステムからの画像を含み、処理ユニットは、(1)画像を除去する、または考慮しないステップ、(2)画像内の基準点の識別を考慮しないステップ、および/または(3)画像と関連付けられる、光線または線を考慮しないステップによって、サニタイゼーションを実施するように構成される。
特徴22. いくつかの実施形態では、処理ユニットは、バンドル調整を実施し、カメラシステムからの1つ以上の画像と関連付けられる、1つ以上の光線を調節するように構成され、処理ユニットは、サニタイゼーションを実施し、データを除去した後、バンドル調整を実施するように構成される。
特徴23. いくつかの実施形態では、処理ユニットは、カメラシステムからの画像、3次元基準点、およびカメラシステムのカメラ間の相対的配向に基づいて、最適化を実施するように構成される。
特徴24. いくつかの実施形態では、処理ユニットは、カメラシステムから取得される画像に関するスコアを決定するように構成される。
特徴25. いくつかの実施形態では、スコアは、画像が制約されている程度を示す。
特徴26. いくつかの実施形態では、処理ユニットは、基準点測定のJacobianに基づいて、スコアを決定するように構成される。
特徴27. いくつかの実施形態では、処理ユニットは、スコアに基づいて、データサニタイゼーションを実施するように構成され、処理ユニットは、データサニタイゼーションを実施するとき、画像の制約を除去する、または画像を除去するように構成される。
特徴28. いくつかの実施形態では、処理ユニットは、複数のマップセグメントを決定するステップと、マップセグメントを接続するステップとによって、マップを決定するように構成される。
特徴29. いくつかの実施形態では、処理ユニットは、画像をカメラシステムから取得し、画像をリンクさせることによって、マップセグメントの第1のマップセグメントを決定するように構成され、画像は、カメラシステムによってシーケンスにおいて生成される。
特徴30. いくつかの実施形態では、処理ユニットは、付加的画像をカメラシステムから取得し、付加的画像に関するスコアを決定し、カメラシステムからの付加的画像のスコアが基準を満たすことに応答して、マップセグメントの第2のマップセグメントを開始するように構成される。
特徴31. いくつかの実施形態では、処理ユニットは、スコアが、第1のマップセグメントに対する制約度を有する画像が閾値を下回ることを示すとき、第2のマップセグメントを開始するように構成される。
特徴32.ユーザの頭部上に装着されるように構成される、装置によって実施される、方法であって、装置は、グラフィックをユーザに提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、処理ユニットとを有し、処理ユニットによって、カメラシステムからの出力を取得するステップと、処理ユニットによって、少なくとも部分的に、カメラシステムからの出力に基づいて、マップを決定するステップであって、マップは、環境に対してユーザを位置特定するために、処理ユニットによる使用のために構成される、ステップと、処理ユニットによって、マップを使用してユーザを位置特定することの成功の可能性を示す、メトリックを取得するステップであって、取得する行為は、処理ユニットによって、メトリックを算出するステップまたはメトリックを受信するステップを含む、ステップとを含む。
特徴33. いくつかの実施形態では、メトリックは、異なるカメラ位置と関連付けられる、着目点の同時可視性に基づいて決定される。
特徴34. いくつかの実施形態では、メトリックは、環境に対してユーザを位置特定するために使用可能な基準点の数を示す。
特徴35. いくつかの実施形態では、メトリックは、1つ以上の視認方向におけるユーザを位置特定することの成功の可能性を示す。
特徴36. いくつかの実施形態では、メトリックは、着目点が異なるカメラ位置から検出された回数に基づいて決定される。
特徴37. いくつかの実施形態では、メトリックは、任意の凸包を決定せずに、処理ユニットによって決定される。
特徴38. いくつかの実施形態では、メトリックは、指向性に基づく、値を有する。
特徴39. いくつかの実施形態では、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表し、メトリックは、複数のセルのうちの1つ内の位置に基づく、値を有する。
特徴40. いくつかの実施形態では、メトリックは、複数のセルのうちの1つに関するものであって、セルはそれぞれ、環境の一部の3次元空間を表す。
特徴41. いくつかの実施形態では、カメラシステムは、複数の画像を取得するように構成され、メトリックは、視認方向の同一範囲に属する、画像のサブセットを識別するステップと、画像のサブセット内の画像に関する個別のスコアを決定するステップと、スコアを総和し、総スコアを取得するステップとによって、複数のセルのうちの1つに関して決定される。
特徴42. いくつかの実施形態では、メトリックは、総スコアを画像のサブセット内の画像の数で除算し、平均スコアを取得することによって決定される。
特徴43. いくつかの実施形態では、個別のスコアは、基準点と複数の画像を関連付ける、同時可視性グラフにアクセスすることによって決定される。
特徴44. いくつかの実施形態では、同時可視性グラフは、基準点のいずれが複数の画像内のものの中で可視であるかを示す。
特徴45. いくつかの実施形態では、個別のスコアのそれぞれは、画像のサブセット内の画像の対応するもの内で検出された基準点の数を決定することによって決定される。
特徴46. いくつかの実施形態では、本方法はまた、マップによる被覆度を示す、面積スコアを決定するステップを含む。
特徴47. いくつかの実施形態では、メトリックは、複数の画像をカメラシステムから取得するステップと、同時可視性値を決定するステップであって、同時可視性値はそれぞれ、複数の画像の対応するもの内で検出された基準点の数を示す、ステップとによって決定される。
特徴48. いくつかの実施形態では、本方法はまた、処理ユニットによって、メトリックの値を改良するためのカメラシステムの所望の視認方向を決定するステップを含む。
特徴49. いくつかの実施形態では、本方法はまた、決定された所望の視認方向に基づいて、グラフィックを生成するステップを含み、グラフィックは、ユーザに、カメラシステムの現在の視認方向を所望の視認方向に変化させるように命令するように構成される。
特徴50. いくつかの実施形態では、本方法はまた、所望の視認方向が達成された後、メトリックを更新するステップを含む。
特徴51. いくつかの実施形態では、本方法はまた、データがマップを決定するために使用される場合、サニタイゼーションを実施し、そうでなければ、マップに関して望ましくない寄与を提供するであろう、データを除去する、または考慮しないステップを含む。
特徴52. いくつかの実施形態では、データは、カメラシステムからの画像を含み、サニタイゼーションは、(1)画像を除去する、または考慮しないステップ、画像内の基準点の識別を考慮しないステップ、および/または(3)画像と関連付けられる、光線または線を考慮しないステップによって実施される。
特徴53. いくつかの実施形態では、本方法はまた、バンドル調整を実施し、カメラシステムからの1つ以上の画像と関連付けられる、1つ以上の光線を調節するステップを含み、バンドル調整は、サニタイゼーションが実施され、データを除去した後に実施される。
特徴54. いくつかの実施形態では、処理ユニットは、カメラシステムからの画像、3次元基準点、およびカメラシステムのカメラ間の相対的配向に基づいて、最適化を実施するように構成される。
特徴55. いくつかの実施形態では、本方法はまた、処理ユニットによって、カメラシステムから取得される画像に関するスコアを決定するステップを含む。
特徴56. いくつかの実施形態では、スコアは、画像が制約されている程度を示す。
特徴57. いくつかの実施形態では、スコアは、基準点測定のJacobianに基づいて決定される。
特徴58. いくつかの実施形態では、本方法はまた、スコアに基づいて、データサニタイゼーションを実施するステップを含み、データサニタイゼーションは、画像の制約を除去する、または画像を除去するように実施される。
特徴59. いくつかの実施形態では、マップは、複数のマップセグメントを決定するステップと、マップセグメントを接続するステップとによって決定される。
特徴60. いくつかの実施形態では、複数のマップセグメントを決定する行為は、画像をカメラシステムから取得し、画像をリンクさせることによって、マップセグメントの第1のマップセグメントを決定するステップを含み、画像は、カメラシステムによってシーケンスにおいて生成される。
特徴61. いくつかの実施形態では、本方法はまた、カメラシステムからの付加的画像のスコアが基準を満たすことに応答して、付加的画像をカメラシステムから取得し、付加的画像に関するスコアを決定し、マップセグメントの第2のマップセグメントを開始するステップを含む。
特徴62. いくつかの実施形態では、第2のマップセグメントは、スコアが、第1のマップセグメントに対する制約度を有する画像が閾値を下回ることを示すとき、開始される。
前述の明細書では、本開示は、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神および範囲から逸脱することなく、そこに行われてもよいことが明白であろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。