畳み込みニューラルネットワークは、画像を入力として要求するほぼ全てのタスクにおいて、手動で作り出された表現より優れていることが示されている。特に、2次元(2D)「特徴点」または「目印」を予測する、完全畳み込みニューラルネットワークは、人間の姿勢推定、オブジェクト検出、および部屋レイアウト推定等の種々のタスクに関して、広く研究されている。これらの技法のうちのいくつかは、人間の注釈を伴って標識される、2Dグラウンドトゥルース場所の大量データセットを利用する。着目点検出を大規模教師あり機械学習問題と同様に公式化し、それらを検出するように最新畳み込みニューラルネットワークアーキテクチャを訓練することは、自然であると考えられる。残念ながら、ネットワークが、口角または左足首等の意味論的身体部分を検出するように訓練される、人間の身体特徴点推定等のより多くの意味論タスクと比較して、着目点検出の概念は、意味論的に明確に定義されていない。本難点は、畳み込みニューラルネットワークを着目点の強教師あり学習を用いて訓練することを簡単でないものにする。
人間の教師あり学習を使用して、実画像内の着目点を定義する代わりに、本発明の実施形態は、自己訓練を使用した自己教師ありソリューションをもたらす。本明細書に説明される実施形態のアプローチでは、実画像内の擬似グラウンドトゥルース着目点場所の大量データセットが、作成され、人間の知識ではなく、着目点検出器自体によって教師あり学習される。擬似グラウンドトゥルース着目点を生成するために、完全畳み込みニューラルネットワークは、最初に、合成画像データセットからの数百万例のユニークな実施例において訓練される。特徴抽出は、画像シーケンスにおける画像マッチングおよび追跡のための基本ステップであるため、明確に異なる点の検出および精密な位置特定が重要であり得ることが、認められた。これらの明確に異なる点は、角、縁(多面体の分析のための基本要素)、および孔、ディスク、またはリング等の円形特徴の中心として特性評価された。合流点(Y、X、T、L)もまた、そのような明確に異なる点を検出するために重要と見なされた。例えば、T−合流点は、一般的に、介在、故に、深度途絶を示す。
これらの洞察を取り入れると、着目点検出器の大規模訓練のための合成形状の大量データセットは、着目点場所に曖昧性が存在しない、単純幾何学的形状から成るように作成され得る。本明細書に説明されるような着目点検出器は、合成形状のデータセットにおいて、従来の着目点検出器より有意に優れていることが示された。実画像に適用されると、着目点検出器は、ドメイン適合が合成画像において訓練するときの既知の問題であることを考慮して、優れた性能を発揮する。しかしながら、古典的着目点検出器と比較して、画像テクスチャおよびパターンの多様なセットでは、着目点検出器の性能は、それほど一貫しない。着目点検出器と古典的検出器との間の実世界画像における性能における溝を埋めるために、本発明の実施形態(代替として、本明細書では、ホモグラフィ適合と称される)は、マルチスケールマルチ変換を可能にする。
ホモグラフィ適合は、着目点検出器の自己教師あり訓練を可能にする。いくつかの実施形態では、着目点検出器が、多くの異なる視点およびスケールからの場面を確認することに役立てるために、複数回、入力画像をワーピングさせる。擬似グラウンドトゥルース着目点を生成し、検出器の性能を上昇させるために、着目点検出器と併用されると、結果として生じる検出は、より再現可能である。ロバストかつ再現可能着目点を検出した後の1つのステップは、固定された次元記述子ベクトルを各点(または全ての画像ピクセル)に結び付けることであって、これは、画像を横断して着目点をマッチングさせるために使用され得る。したがって、本発明のいくつかの実施形態では、着目点検出器サブネットワークは、記述子サブネットワークと組み合わせられてもよい。結果として生じるネットワークは、図1に示されるように、点を一対の画像から抽出し、点対応を確立するために使用されることができる。
自己教師ありアプローチを含む、本発明の実施形態によると、初期着目点検出器およびホモグラフィ適合プロシージャは、標的未標識ドメインからの画像を自動的に標識する。生成された標識は、ひいては、ともに、点および記述子を画像から抽出する、完全畳み込みネットワークを訓練するために使用される。完全畳み込みネットワークは、広範囲の用途、特に、2つの画像間のホモグラフィを算出する等の画像/画像幾何学形状タスクを伴うものにおいて使用されることができる。ホモグラフィは、カメラ中心の周囲の回転のみを伴うカメラ運動、オブジェクトまでの大距離を伴う場面、および平面場面に関する正確またはほぼ正確な画像間変換を与える。世界の大部分は、合理的に平面であるため、ホモグラフィは、同一3次元(3D)点が異なる視点から見られるときに発生するものに関する良好なモデルである。ホモグラフィは、3D情報を要求しないため、それらは、ランダムにサンプリングされ、双線形補間と大差なく、任意の2D画像に容易に適用されることができる。これらの理由から、ホモグラフィは、本発明のいくつかの実施形態において利用される。
図1は、本発明のいくつかの実施形態による、ニューラルネットワーク100を使用した、一対の入力画像102の着目点間の点対応106の決定を図示する。具体的には、図1は、点対応を利用する単一順方向通過において、スケール不変量特徴量変換(SIFT)様2D着目点場所および記述子を算出する、完全畳み込みニューラルネットワークである、ニューラルネットワーク100の2つのインスタンス化(すなわち、ニューラルネットワーク100−1、100−2)を示す。入力画像102−1、102−2を入力として受信すると、ニューラルネットワーク100−1、100−2は、それぞれ、入力画像102−1、102−2に基づいて、計算された着目点のセット108−1、108−2および計算された記述子110−1、110−2を計算する。点対応106は、次いで、着目点のそれぞれと関連付けられた記述子によって情報を与えられる、計算された着目点108−1、108−2間の比較によって決定される。例えば、異なる着目点と関連付けられた記述子が、マッチングされてもよい。最も類似する記述子を有する異なる画像に対応する、着目点が、いくつかの可能性として考えられる類似性スコア化プロシージャのうちの1つに従って、相互に対応すると決定されてもよい。
一実施例によると、入力画像102−1に対応する第1の着目点は、第1の着目点に対する5つの最も近い着目点(ピクセル間ピクセル距離に従って)の中から、5つの最も近い着目点と関連付けられた記述子と比較して、第2の着目点と関連付けられた記述子が、第1の着目点と関連付けられた記述子に最も類似する(例えば、L2距離を使用することによって決定される)ことを決定することによって、入力画像102−2に対応する第2の着目点に対応すると決定されてもよい。別の実施例によると、入力画像102−1に対応する第1の着目点は、入力画像102−2に対応する全ての着目点の中から、第2の着目点と関連付けられた記述子が、入力画像102−2に対応する全ての着目点と関連付けられた記述子と比較して、第1の着目点と関連付けられた記述子に最も類似することを決定することによって、入力画像102−2に対応する第2の着目点に対応すると決定されてもよい。
図2は、本発明のいくつかの実施形態による、ニューラルネットワーク100の一般的アーキテクチャを図示する。ニューラルネットワーク100は、着目点検出器サブネットワーク112と、記述子サブネットワーク114とを含んでもよく、2つのサブネットワークはそれぞれ、単一サブネットワーク入力120−1、120−2(それぞれ)と、単一サブネットワーク出力122−1、122−2(それぞれ)とを有する。2つのサブネットワークは、別個に図示されるが、それらは、図9を参照して説明されるように、1つ以上の畳み込み層および/またはニューロンを共有してもよい。いくつかの実施形態では、ニューラルネットワーク100は、入力画像102を入力として受信するように構成される、ネットワーク入力116を含んでもよい。入力画像102は、次いで、サブネットワーク入力120−1、120−2にフィードされてもよい。サブネットワーク入力120−1における入力画像102の受信に応じて、着目点検出器サブネットワーク112は、着目点108を計算し、計算された着目点108をサブネットワーク出力122−1において出力してもよく、これは、次いで、ネットワーク出力118−1の中にフィードされる。サブネットワーク入力120−2における入力画像102の受信に応じて、記述子サブネットワーク114は、記述子110を計算し、計算された記述子110をサブネットワーク出力122−2において出力してもよく、これは、次いで、ネットワーク出力118−2の中にフィードされる。故に、サブネットワーク112、114は、同一入力に基づいて、異なる出力を提供し、ニューラルネットワーク100の異なる分岐を表すことができる。
ニューラルネットワーク100は、完全サイズの画像に作用してもよく、単一順方向通過において、固定長記述子を伴う着目点検出を生産してもよい。いくつかの実施形態では、入力画像102は、H×Wの寸法を有してもよく、Hは、ピクセル単位における入力画像102の高さであって、Wは、ピクセル単位における入力画像102の幅である。同一実施形態では、計算された着目点108は、着目点ピクセル場所のリスト(例えば、座標対のリスト)であってもよい、または加えて、または代替として、計算された着目点108は、H×Wの寸法を有する、2Dマップであってもよく、各ピクセルは、入力(すなわち、入力画像102)内のそのピクセルに関する確率「点」に対応する。同一実施形態では、計算された記述子110は、それぞれ、識別された着目点に対応する、固定長記述子のセットであってもよい、または加えて、または代替として、計算された記述子110は、H×W×Dの寸法を有してもよく、Dは、H×W画像の各ピクセルにおいて計算された記述子の長さである。故に、着目点を含有する低確率を有する、ピクセルさえ、長さDの記述子を有する。
ニューラルネットワーク100の訓練は、ネットワークモディファイア126および/またはサブネットワークモディファイア124−1、124−2によって可能にされてもよく、これは、訓練フェーズの間、誤差信号、損失信号、および/または補正信号を受信し、ネットワークの層および/またはニューロンを修正させてもよい。ニューラルネットワーク100は、ネットワーク出力(計算された着目点108および計算された記述子110)とグラウンドトゥルースデータとの間の誤差が、同一入力画像102または異なる画像を用いた後続実行の間、低減され得るように、修正されてもよい。例えば、ニューラルネットワーク100は、出力とグラウンドトゥルースとの間の差異を示す、誤差信号/値に基づいて、最小限にされるべきある数量を示す、損失信号/値に基づいて、および/またはニューラルネットワーク100に対して行われるべき具体的修正を示す、補正信号に基づいて、修正されてもよい。ニューラルネットワーク100を修正するステップは、着目点検出器サブネットワーク112のみを修正するステップ、記述子サブネットワーク114のみを修正するステップ、および/またはサブネットワーク112、114の両方を修正するステップを含んでもよい。
図3は、着目点検出器サブネットワーク112が、複数の合成画像を備える、合成データセット128を使用して訓練される、本発明による、第1の訓練ステップを図示する。図3に図示される訓練ステップは、着目点検出器サブネットワーク112のみを含んでもよく、記述子サブネットワーク114を無視してもよい。着目点が標識された画像の既存の大量のデータベースが存在しないため、深層着目点検出器は、四辺形、三角形、線、および楕円形の合成データレンダリングを介した、簡略化された2D幾何学形状から成る、大規模合成データセットの作成から利点を享受する。これらの形状の実施例は、図7を参照して示される。本データセットでは、標識曖昧性は、単純Y−合流点、L−合流点、T−合流点および小楕円形の中心および線分の終点を用いて、着目点をモデル化することによって除去されることができる。
いったん合成画像が、レンダリングされると、ホモグラフィワーピングが、各画像に適用され、訓練実施例の数を増大させる。データは、リアルタイムで生成されてもよく、実施例は、2回、ネットワークによって確認されなくてもよい。単一訓練反復の間、合成画像130が、着目点検出器サブネットワーク112に提供され、これは、計算された着目点108のセットを計算する。合成画像130に対応する合成着目点132のセットは、計算された着目点108と比較され、損失134が、比較に基づいて計算される。着目点検出器サブネットワーク112は、次いで、損失134に基づいて、修正される。複数の訓練反復が、損失134が所定の閾値を下回る、および/または合成データセット128が包括的に使用される等の1つ以上の条件が満たされるまで、実施される。
FAST、Harris角、およびShi−Tomasiの「Good Features To Track」等の他の従来の角検出アプローチと比較して、着目点検出器サブネットワーク112は、合成データセット128において、より優れた結果を生産する。着目点検出器サブネットワークのさらなる評価は、人間がグラウンドトゥルース角場所を用いて容易に標識し得る、単純合成幾何学形状の使用から構成された。1つの性能評価では、着目点検出器サブネットワーク112の2つの異なるモデルが、使用された。両モデルは、同一エンコーダアーキテクチャを共有するが、層あたりニューロンの数が異なり、第1のモデルは、層あたり64−64−64−64−128−128−128−128−128個のニューロンを有し、第2のモデルは、層あたり9−9−16−16−32−32−32−32−32個のニューロンを有した。各検出器は、合成データセット128を伴う、評価データセットを与えられ、それらが単純角を位置特定した正確度を決定した。評価は、着目点検出器サブネットワーク112が、全てのカテゴリにおいて、古典的検出器より優れており、古典的検出器が、特に、ランダム入力に関して難点を有することを実証した。
図4は、基準データセット144が、ホモグラフィ適合を使用してコンパイルされる、本発明による、第2の訓練ステップを図示する。基準データセット144は、例えば、実世界画像を備える、未標識データセット136から得られた画像、および基準着目点および基準記述子を含む、擬似グラウンドトゥルースデータセットを表す。入力画像102は、未標識データセット136から得られ、ニューラルネットワーク100に提供され、これは、入力画像102に基づいて、計算された着目点108のセットと、計算された記述子110とを計算する。データは、基準データセット144内に、基準セット142として記憶されてもよく、各基準セット142は、入力画像102と、入力画像102に対応する計算された着目点108と、入力画像102に対応する計算された記述子110とを含む。
単一訓練反復の間、ホモグラフィ適合が、入力画像102の多数のホモグラフィワーピングを横断して平均応答を使用するために採用されてもよい。ホモグラフィ生成器138は、画像をニューラルネットワーク100を通して通過させることに先立って、複数のランダムまたは擬似ランダムホモグラフィを入力画像102に適用するために使用されてもよい。ニューラルネットワーク100の他側では、逆数ホモグラフィ生成器140が、複数の逆数ホモグラフィを計算された着目点108に適用するために使用されてもよく、複数の逆数ホモグラフィは、計算された着目点108をワーピング解除するような複数のホモグラフィの逆数である。プロセスは、同一入力画像102に関して繰り返され、複数のワーピング解除された計算された着目点を取得してもよい。複数のワーピング解除された計算された着目点は、集約され/組み合わせられ、基準データセット144内に、入力画像102および基準記述子とともに、基準セット142の一部として記憶される、基準着目点のセットを取得してもよい。
加えて、または代替として、ホモグラフィ適合は、ニューラルネットワーク100によって出力された記述子を改良するために採用されてもよい。例えば、単一訓練反復の間、ホモグラフィ生成器138は、画像をニューラルネットワーク100を通して通過させることに先立って、複数のランダムまたは擬似ランダムホモグラフィを入力画像102に適用するために使用されてもよい。ニューラルネットワーク100の他側では、逆数ホモグラフィ生成器140が、複数の逆数ホモグラフィを計算された記述子110に適用するために使用されてもよく、複数の逆数ホモグラフィは、計算された記述子110をワーピング解除するような複数のホモグラフィの逆数である。プロセスは、同一入力画像102に関して繰り返され、複数のワーピング解除された計算された記述子を取得してもよい。複数のワーピング解除された計算された記述子は、集約され/組み合わせられ、基準データセット144内に、入力画像102および基準着目点のセットとともに、基準セット142の一部として記憶される、基準記述子を取得してもよい。
ホモグラフィワーピングNhの数は、本アプローチのハイパーパラメータである。いくつかの実施形態では、第1のホモグラフィは、Nh=1(無適合を意味する)であるように、恒等関数と等しくなるように設定される。試験では、Nhの範囲は、好ましい値を試し、決定するように変動され、Nhは、いくつかの実施形態では、小値(Nh=10)から、中値(Nh=100)、高値(Nh=1000)まで実行された。結果は、100を上回るホモグラフィを実施するとき、収穫逓減が存在することを示唆する。MS−COCOからの画像のホールドアウトされたセットにおいて、0.67の再現性スコアが、任意のホモグラフィ適合を伴わずに、満たされ、Nh=100の変換を実施するときの21%の再現性上昇およびNh=1,000のときの22%の再現性上昇は、100を上回るホモグラフィを使用することの最小限の利点を十分に実証した。
着目点応答マップまたは記述子マップを組み合わせるとき、スケール内集約とスケール横断集約との間で区別することが有益であり得る。実世界画像は、典型的には、異なるスケールにおける特徴を含有し、高分解能画像に関係すると見なされるであろう、いくつかの点は、多くの場合、より粗くより低い分解能画像内では可視でさえない。しかしながら、単一スケール内では、回転および平行移動等の画像の変換は、着目点を出現/消失させないはずである。画像の本下層マルチスケール性質は、スケール内およびスケール横断集約方略に関する異なる含意を有する。スケール内集約は、セットの交差の算出に類似するはずであって、スケール横断集約は、セットの和に類似するはずである。スケールを横断した平均応答はまた、着目点信頼度のマルチスケール測定値として使用されることができる。スケールを横断した平均応答は、着目点が全てのスケールを横断して可視であるとき、最大限にされ、これらは、追跡用途のための最もロバストな着目点である可能性が高い。
スケールを横断して集約するとき、検討されるスケールの数Nsは、アプローチのハイパーパラメータである。Ns=1の設定は、無マルチスケール集約(または単に、大きな可能性として考えられる画像サイズのみを横断した集約)に対応する。いくつかの実施形態では、Ns>1に関して、処理されている画像のマルチスケールセットは、「マルチスケール画像ピラミッド」と称される。ピラミッドのレベルに異なるように加重する、加重スキームは、より高い分解能画像に、より大きい加重を与え得る。これは、より低い分解能において検出された着目点が、不良位置特定能力を有し、最終的集約された点が、同様に位置特定されるはずであるため、重要であり得る。実験結果は、スケール内集約が、再現性に最大効果を及ぼすことを実証した。いくつかの実施形態では、ホモグラフィ適合技法は、実画像上におけるサブネットワーク112、114およびネットワーク100の一般化能力を改良するために、訓練時間に適用される。
ホモグラフィ適合アプローチのための理論的裏付けが、以下の段落に説明される。いくつかの実施形態では、初期着目点関数は、以下のように、fθ(・)によって表され、Iは、入力画像であって、xは、結果として生じる点であって、Hは、ランダムホモグラフィである。
理想的着目点演算子は、ホモグラフィに対して共変するはずである。関数fθ(・)は、出力が入力に伴って変換される場合、Hに伴って共変する。言い換えると、共変検出器は、あらゆる場合において、以下を満たすであろう。
明確にするために、表記Hxは、結果として生じる着目点に適用される、ホモグラフィ行列Hを示し、H(I)は、ホモグラフィ行列Hによってワーピングされる、画像I全体を示す。ホモグラフィ関連項を右に移動させることは、以下を生産する。
実際は、着目点検出器は、完璧に共変ではなく、前の方程式における異なるホモグラフィは、異なる着目点xをもたらすであろう。いくつかの実施形態では、これは、ランダムHの十分に大量のサンプルにわたる経験的総和を実施することによって、対処される。サンプルにわたる結果として生じる集約は、以下のように定義される、より優れた着目点検出器F(・)をもたらす。
いくつかの実施形態では、全ての行列が、良好な結果を生産するわけではなく、技術的能力の欠如のためではなく、全ての可能性として考えられるランダムホモグラフィが妥当と思われるカメラ変換を表すわけではないためである。いくつかの実施形態では、潜在的ホモグラフィは、切断正規分布を使用して、平行移動、スケール、面内回転、および対称射影歪みに関して、所定の範囲内でサンプリングすることによって、より単純であまり表現的ではない変換クラスに分解される。これらの変換は、初期基底中心クロッピングとともに構成され、境界アーチファクトを回避することに役立つ。
図5は、ニューラルネットワーク100が、基準データセット144を使用して訓練される、本発明による、第3の訓練ステップを図示する。単一訓練反復の間、基準データセット144内に含有される単一基準セット142が、読み出される。各基準セット142は、入力画像102と、入力画像102に対応する基準着目点のセット148と、(随意に)入力画像102に対応する基準記述子150とを含んでもよい。1つ以上のホモグラフィ生成器138を使用して、ワーピングされた入力画像103が、ホモグラフィを入力画像102に適用することによって生成され、基準着目点のワーピングされたセット149が、同一ホモグラフィを基準着目点148に適用することによって生成される。順次または並行して、ニューラルネットワーク100−1は、入力画像102を受信し、入力画像102に基づいて、計算された着目点のセット108および計算された記述子110を計算し、ニューラルネットワーク100−2は、ワーピングされた入力画像103を受信し、ワーピングされた入力画像103に基づいて、計算されたワーピングされた着目点のセット109および計算されたワーピングされた記述子111を計算する。
損失Lが、下記に説明されるように、計算された着目点108、計算された記述子110、計算されたワーピングされた着目点109、計算されたワーピングされた記述子111、基準着目点148、ワーピングされた基準着目点149、および/またはホモグラフィHに基づいて、計算されてもよい。ニューラルネットワーク100は、次いで、損失Lに基づいて、修正されてもよい。損失Lに基づいて、ニューラルネットワーク100を修正するステップは、着目点検出器サブネットワーク112のみを修正するステップ、記述子サブネットワーク114のみを修正するステップ、および/またはサブネットワーク112、114の両方を修正するステップを含んでもよい。いくつかの実施形態では、ニューラルネットワーク100は、損失Lが、同一基準セット142を使用して、後続実行に関して低減されるように修正される。複数の訓練反復が、損失Lが所定の閾値を下回る、および/または基準データセット144が包括的に使用される等の1つ以上の条件が満たされるまで、実施される。
いくつかの実施形態では、損失Lは、2つの中間損失の和である、すなわち、1つは、着目点検出器に関するものLpであって、1つは、記述子に関するものLdである。同時損失最適化は、(a)擬似グラウンドトゥルース着目点場所と、(b)2つの画像を関連させる、ランダムに生成されたホモグラフィHからのグラウンドトゥルース対応の両方を有する、対の合成ワーピングされた画像の可用性に起因して、可能にされる。損失Lは、以下によって、λにおける関数として平衡される。
式中、Xは、計算された着目点108であって(またはそれに関連し)、X’は、計算されたワーピングされた着目点109であって(またはそれに関連し)、Yは、基準着目点148であって(またはそれに関連し)、Y’は、ワーピングされた基準着目点149であって(またはそれに関連し)、Dは、計算された記述子110であって(またはそれに関連し)、D’は、計算されたワーピングされた記述子111である(またはそれに関連する)。Sは、類似性スコア行列であって、全体的に、ランダムに生成されたホモグラフィHに基づいて決定され得る。図5に図示されるように、ホモグラフィHまたは類似性スコア行列Sのいずれかが、損失計算機の中にフィードされてもよい。
着目点検出器損失関数Lpは、セルxhw∈Xにわたる完全畳み込みクロスエントロピ損失である。対応するグラウンドトゥルース着目点標識Yおよび個々のエントリは、yhwである。損失は、したがって、以下となる。
式中、
記述子損失は、入力画像102からのdhw∈Dとワーピングされた入力画像103からのd’h’w’∈D’の記述子セルの全ての対に適用される。(h,w)セルと(h’,w’)セルとの間のホモグラフィ誘発対応は、以下のように記述され得る。
式中、phwは、(h、w)セル内の中心ピクセルの場所を示し、
は、セル場所phwとホモグラフィHの乗算を示す。一対の画像に関する対応のセット全体は、Sである。
いくつかの実施形態では、加重項λdは、負のものより正の対応の存在を平衡することに役立つ。記述子損失は、以下によって与えられる。
式中、
図6は、本発明のいくつかの実施形態による、ニューラルネットワーク100を使用した、2つの捕捉された画像154−1、154−2間のホモグラフィHの計算を図示する。図示される実施形態は、光学デバイス、例えば、他の可能性の中でもとりわけ、ARまたは複合現実(MR)デバイス、自動運転車両、無人航空機、有人車両、ロボット等、ニューラルネットワーク100を利用する、いくつかのシステムまたはデバイスに対応してもよい。
本明細書に説明される技法を使用して訓練後、ニューラルネットワーク100は、捕捉された画像154−1、154−2が、単一カメラ152から、または複数のカメラから、受信される、ランタイムモードで動作してもよい。例えば、捕捉された画像154−1は、第1のカメラから受信されてもよく、捕捉された画像154−2は、第2のカメラから受信されてもよい。捕捉された画像154−1、154−2は、異なるカメラによって、同時に、または異なるカメラによって、または単一カメラによって、異なる時間に、捕捉されてもよい。ニューラルネットワーク100は、捕捉された画像154−1、154−2を、ネットワーク入力116を介して受信してもよく、捕捉された画像154−1に基づいて、計算された着目点のセット108−1および計算された記述子110−1と、捕捉された画像154−2に基づいて、計算された着目点のセット108−2および計算された記述子110−2とを計算してもよい。
いくつかの実施形態では、ホモグラフィHを決定するステップに先立って、点対応106が、着目点のそれぞれと関連付けられた記述子によって情報を与えられる、計算された着目点108−1と108−2との間の比較によって決定される。例えば、異なる着目点と関連付けられた記述子が、マッチングされてもよい。最も類似する記述子を有する、異なる画像に対応する着目点は、いくつかの可能性として考えられる類似性スコア化プロシージャのうちの1つに従って、相互に対応すると決定されてもよい。ホモグラフィHは、点対応106から計算されてもよい。例えば、捕捉された画像154−1、154−2間の相対的姿勢は、点対応106に基づいて、計算されてもよく、ホモグラフィHは、相対的姿勢のカメラ回転および平行移動を表す、行列として計算されてもよい。加えて、または代替として、相対的姿勢は、ホモグラフィHと等しくてもよい。
図7は、本発明のいくつかの実施形態による、合成データセット128の実施例を図示する。いくつかの実施形態では、合成データセット128は、円形、三角形、四辺形(例えば、正方形、長方形、菱形、平行四辺形等)、五角形、六角形、星形、立方体、球体、楕円体、円筒形、錐体、角柱、角錐、線等の比較的に明確に定義された着目点を有する、多数の形状タイプを表す複数の形状を含有してもよい。
図8は、本発明のいくつかの実施形態による、未標識データセット136の実施例を図示する。未標識データセット136は、可変照明、雑音、カメラ効果等を有する、実世界の画像を含有してもよい。実画像は、合成画像よりはるかに雑然とし、雑音が多く、合成世界内で容易にモデル化されることができない、多様な視覚的効果を含有する。
図9は、本発明のいくつかの実施形態による、ニューラルネットワーク100の例示的アーキテクチャを図示する。図示される実施形態では、ニューラルネットワーク100は、入力画像寸法を処理および低減させる、単一共有エンコーダを含む。いったんエンコーダによって処理されると、いくつかの実施形態では、アーキテクチャは、2つのデコーダ「ヘッド」に分割され、これは、タスク特有加重を学習し、一方は、着目点検出のためのものであって、他方は、着目点記述のためのものである。
いくつかの実施形態では、ニューラルネットワーク100は、VGG式エンコーダを使用して、画像の寸法を低減させる。エンコーダは、畳み込み層、プーリング演算を介した空間ダウンサンプリング、および非線形活性化関数から成る。いくつかの実施形態では、エンコーダは、3つの最大プーリング層であって、寸法H×Wの画像Iに関するHc=H/8およびWc=W/8を定義する。より低い寸法の出力におけるピクセルは、セルと称され、エンコーダ内の3つの2×2非重複最大プーリング演算は、8×8ピクセルセルをもたらす。エンコーダは、入力画像I∈RHc×Wc×Fとより小さい空間寸法およびより大きいチャネル深度(すなわち、Hc<H、Wc<W、およびF>1)をマッピングする。
いくつかのインスタンスでは、稠密予測のためのネットワーク設計は、エンコーダ−デコーダペアを伴ってもよく、空間分解能は、プーリングまたはストライド畳み込みを介して減少され、次いで、上方畳み込み演算を介して、完全に分解能に戻るようにアップサンプリングされる。残念ながら、アップサンプリング層は、多量の算出を追加する傾向にあり、望ましくない市松模様アーチファクトを導入し得、したがって、本明細書に開示される実施形態のうちのいくつかに関して、着目点検出ヘッドは、明示的デコーダを利用して、モデルの算出を低減させる。いくつかの実施形態では、着目点検出器ヘッドは、値X∈RHc×Wc×65を算出し、テンソルサイズX∈RH×Wを出力する。65チャネルは、ピクセルの局所非重複8×8グリッド領域+余剰「無着目点」ダストビンに対応する。チャネル毎ソフトマックス関数後、ダストビン寸法は、除去され、RHc×Wc×64からRH×Wへの再変換関数が、実施される。
記述子ヘッドは、D∈RHc×Wc×Dを算出し、テンソルサイズRH×W×Dを出力する。L2正規化固定長記述子の稠密マップを出力するために、UCNに類似するモデルが、最初に、記述子の準稠密グリッド(例えば、8ピクセル毎に1つ)を出力するために使用されてもよい。稠密的にではなく、準稠密的に記述子を学習することは、訓練メモリを低減させ、ランタイムをトレース可能に保つ。デコーダは、次いで、記述子の双三次補間を実施し、次いで、活性化を単位長にL2正規化する。図9に描写されるように、両デコーダは、入力の共有され、空間的に低減された表現に作用する。モデルを訓練が高速かつ容易であるように保つために、いくつかの実施形態では、両デコーダは、学習されていないアップサンプリングを使用して、表現をRH×Wに戻す。
いくつかの実施形態では、エンコーダは、8つの3×3畳み込み層サイズの64−64−64−64−128−128−128−128を伴う、VGG状アーキテクチャである。2つの層毎に、2×2最大プーリング層が存在する。各デコーダヘッドは、256単位の単一3×3畳み込み層に続いて、それぞれ、着目点検出器および記述子のための65単位および256単位を伴う、1×1畳み込み層を有する。ネットワーク内の全ての畳み込み層後に、ReLU非線形活性化およびBatchNorm正規化が続いてもよい。
図10は、本発明のいくつかの実施形態による、第2の訓練ステップ(図4を参照して説明される)の間に採用される、ホモグラフィ適合の種々のステップを図示する。ステップ1002では、未標識画像(例えば、入力画像102)が、未標識データセット136から得られる。ステップ1004では、いくつかのランダムホモグラフィが、ホモグラフィ生成器138においてサンプリングされる。ステップ1006では、ランダムホモグラフィが、未標識画像に適用され、いくつかのワーピングされた画像を生成する。ステップ1008では、ワーピングされた画像は、着目点検出器サブネットワーク112を通して通過される。ステップ1010では、いくつかの点応答(例えば、計算された着目点のセット108)が、着目点検出器サブネットワーク112によって計算される。ステップ1012では、点応答(すなわち、ヒートマップ)が、いくつかの逆数ホモグラフィ(逆数ホモグラフィ生成器140によって生成された)を点応答に適用し、いくつかのワーピング解除されたヒートマップを生成することによって、ワーピング解除される。ステップ1014では、ワーピング解除されたヒートマップは、例えば、種々の利用可能な技法のうちの1つを通して、平均する、総和する、または組み合わせることによって、集約される。
図11は、本発明のいくつかの実施形態による、ランダムホモグラフィ生成のある側面を図示する。ランダムな現実的ホモグラフィ変換を生成するために、ホモグラフィは、平行移動、スケーリング、回転、および対称射影歪み等のより単純な変換に分解されることができる。サンプル領域が、オリジナル画像の外側のピクセルを含有するときに発生する、境界アーチファクトを回避することに役立てるために、ランダムホモグラフィは、図11に図示されるように、中心クロッピングから開始する。単純変換の変換大きさは、ランダムガウスおよび一様分布である。最終ホモグラフィ変換を生成するために、ランダムにサンプリングされた単純変換が、連続的に適用され、最終ホモグラフィを取得する。
図12は、本明細書に説明される実施形態を利用し得る、ARデバイス1200の概略図を図示する。ARデバイス1200は、左接眼レンズ1202Aと、右接眼レンズ1202Bとを含んでもよい。いくつかの実施形態では、ARデバイス1200は、限定ではないが、他の可能性の中でもとりわけ、左接眼レンズ1202Aまたはその近傍に直接取り付けられる、左正面に向いた世界カメラ1206Aと、右接眼レンズ1202Bまたはその近傍に直接取り付けられる、右正面に向いた世界カメラ1206Bと、左接眼レンズ1202Aまたはその近傍に直接取り付けられる、左側に向いた世界カメラ1206Cと、右接眼レンズ1202Bまたはその近傍に直接取り付けられる、右側に向いた世界カメラ1206Dと、ユーザの左眼を観察するように位置付けられる、左眼トラッカと、ユーザの右眼を観察するように位置付けられる、右眼トラッカと、周囲光センサとを含む、1つ以上のセンサを含む。いくつかの実施形態では、ARデバイス1200は、左接眼レンズ1202Aに光学的に連結される、左プロジェクタ1214Aおよび右接眼レンズ1202Bに光学的に連結される、右プロジェクタ1214B等の1つ以上の画像投影デバイスを含む。
ARデバイス1200のコンポーネントの一部または全部は、投影された画像がユーザによって視認され得るように、頭部搭載型であってもよい。1つの特定の実装では、図12に示されるARデバイス1200のコンポーネントは全て、ユーザによって装着可能な単一デバイス(例えば、単一ヘッドセット)上に搭載される。別の実装では、処理モジュール1250の1つ以上のコンポーネントは、物理的に別個であって、1つ以上の有線および/または無線接続によって、ARデバイス1200の他のコンポーネントに通信可能に結合される。例えば、処理モジュール1250は、ARデバイス1200の頭部搭載部分上のローカルモジュール1252と、ローカルモジュール1252と物理的に別個であって、それに通信可能に連結される、遠隔モジュール1256とを含んでもよい。遠隔モジュール1256は、フレームに固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホンに内蔵される、または別様に、ユーザに除去可能に取り付けられる(例えば、リュック式構成において、ベルト結合式構成において等)等、種々の構成において搭載されてもよい。
処理モジュール1250は、プロセッサと、不揮発性メモリ(例えば、フラッシュメモリ)等の関連付けられたデジタルメモリとを含んでもよく、両方とも、データの処理、キャッシュ、および記憶を補助するために利用されてもよい。データは、カメラ1206、周囲光センサ、眼トラッカ、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ等、(例えば、ARデバイス1200に動作可能に結合される、または別様にユーザに取り付けられ得る)センサから捕捉されたデータを含んでもよい。例えば、処理モジュール1250は、画像1220をカメラ1206から受信してもよい。具体的には、処理モジュール1250は、左正面画像1220Aを左正面に向いた世界カメラ1206Aから、右正面画像1220Bを右正面に向いた世界カメラ1206Bから、左側画像1220Cを左側に向いた世界カメラ1206Cから、および右側画像1220Dを右側に向いた世界カメラ1206Dから受信してもよい。いくつかの実施形態では、画像1220は、単一画像、一対の画像、画像のストリームを備えるビデオ、ペアリングされた画像のストリームを備えるビデオ、および同等物を含んでもよい。画像1220は、ARデバイス1200が電源オンである間、周期的に、生成され、処理モジュール1250に送信されてもよい、または処理モジュール1250によってカメラのうちの1つ以上のものに送信される命令に応答して、生成されてもよい。別の実施例として、処理モジュール1250は、周囲光情報を周囲光センサから受信してもよい。別の実施例として、処理モジュール1250は、視線情報を眼トラッカから受信してもよい。別の実施例として、処理モジュール1250は、画像情報(例えば、画像明度値)をプロジェクタ1214の一方または両方から受信してもよい。
接眼レンズ1202A、1202Bは、それぞれ、プロジェクタ1214A、1214Bからの光を指向および外部結合するように構成される、透明または半透明導波管を備えてもよい。具体的には、処理モジュール1250は、左プロジェクタ1214Aに、左仮想画像光1222Aを左接眼レンズ1202A上に出力させてもよく、右プロジェクタ1214Bに、右仮想画像光1222Bを右接眼レンズ1202B上に出力させてもよい。いくつかの実施形態では、接眼レンズ1202はそれぞれ、異なる色および/または異なる深度平面に対応する、複数の導波管を備えてもよい。カメラ1206A、1206Bは、それぞれ、ユーザの左および右眼の視野と実質的に重複する、画像を捕捉するように位置付けられてもよい。故に、カメラ1206の設置は、ユーザの眼の近傍であるが、ユーザの視野を曖昧にしないようにあまり近傍ではなくてもよい。代替として、または加えて、カメラ1206A、1206Bは、それぞれ、仮想画像光1222A、1222Bの内部結合場所と整合するように位置付けられてもよい。カメラ1206C、1206Dは、例えば、ユーザの周辺視覚内またはユーザの周辺視覚外のユーザの側面に対する画像を捕捉するように位置付けられてもよい。カメラ1206C、1206Dを使用して捕捉された画像1220C、1220Dは、必ずしも、カメラ1206A、1206Bを使用して捕捉された画像1220A、1220Bと重複する必要はない。
図13は、本発明のいくつかの実施形態による、ニューラルネットワーク100を訓練し、ニューラルネットワーク100を使用して、画像着目点検出および記述を実施する方法1300を図示する。方法1300の1つ以上のステップは、図示される実施形態に示されるものと異なる順序で実施されてもよく、方法1300の1つ以上のステップは、方法1300の実施の間、省略されてもよい。
ステップ1302では、ニューラルネットワーク100が、訓練される。ステップ1302−1では、ニューラルネットワーク100の着目点検出器サブネットワーク112が、合成データセット128を使用して訓練される。合成データセット128は、複数の合成画像と、複数の合成画像に対応する、合成着目点の複数のセットとを含んでもよい。ステップ1302−1はさらに、図3を参照して説明される。
ステップ1302−2では、基準データセット144が、着目点検出器サブネットワーク112および/または記述子サブネットワーク114を使用して生成される。いくつかの実施形態では、基準データセット144は、複数のワーピングされた画像が、複数のホモグラフィを入力画像102に適用することによって生成される、ホモグラフィ適合を使用して生成され、複数の計算された着目点のセット108は、複数のワーピングされた画像を着目点検出器サブネットワーク112を通して通過させることによって計算される。複数の計算された着目点のセット108は、次いで、ワーピング解除および集約され、基準データセット144内に記憶される、基準着目点のセットを取得する。加えて、または代替として、複数の計算された記述子110は、複数のワーピングされた画像を記述子サブネットワーク114を通して通過させることによって計算される。複数の計算された記述子110は、次いで、ワーピング解除および集約され、基準データセット144内に記憶される、基準記述子を取得する。ステップ1302−2はさらに、図4を参照して説明される。
ステップ1302−3では、着目点検出器サブネットワーク112および記述子サブネットワーク114が、基準データセット144を使用して、並行して訓練される。単一訓練反復の間、入力画像102と、基準着目点148と、(随意に)基準記述子150とを備える、基準セット142が、基準データセット144から読み出され、損失Lを計算するために使用される。着目点検出器サブネットワーク112および記述子サブネットワーク114の一方または両方は、計算された損失Lに基づいて修正されてもよい。ステップ1302−3はさらに、図5を参照して説明される。
ステップ1304では、画像着目点検出および記述が、ニューラルネットワーク100を使用して実施される。いくつかの実施形態では、第1の捕捉された画像154−1および第2の捕捉された画像154−2は、カメラ152または2つの異なるカメラを使用して捕捉される。捕捉された画像154−1、154−2は、次いで、ニューラルネットワーク100を通して通過されてもよい。計算された着目点108−1、108−2および計算された記述子110−1、110−2は、ホモグラフィHを計算するために使用されてもよい。いくつかの実施形態では、ARデバイス1200は、ホモグラフィHに基づいて、仮想画像光1222A、1222Bの一方または両方を調節してもよい。例えば、ARデバイス1200のユーザが、プロジェクタ1214A、1214Bによって接眼レンズ1202A、1202B上に投影された仮想画像光1222A、1222Bを視認する、ユーザによって知覚される仮想コンテンツを視認しながら、その頭部を方向転換させると、仮想光は、新しい視認角度と関連付けられたホモグラフィHに基づいて、調節される必要があるであろう。ステップ1304はさらに、図6を参照して説明される。
図14は、本発明のいくつかの実施形態による、画像着目点検出および記述のためのニューラルネットワーク100を訓練する方法1400を図示する。方法1400の1つ以上のステップは、図示される実施形態に示されるものと異なる順序で実施されてもよく、方法1400の1つ以上のステップは、方法1400の実施の間、省略されてもよい。
ステップ1402では、ワーピングされた入力画像103が、ホモグラフィを入力画像102に適用することによって生成される。ステップ1404では、ワーピングされた基準着目点149が、ホモグラフィを基準着目点148に適用することによって生成される。ステップ1406では、計算された着目点108および計算された記述子110が、入力画像102を入力として受信する、ニューラルネットワーク100によって、計算される。ステップ1408では、計算されたワーピングされた着目点109および計算されたワーピングされた記述子111が、ワーピングされた入力画像103を入力として受信する、ニューラルネットワーク100によって、計算される。
ステップ1410では、損失Lが、計算された着目点108、計算された記述子110、計算されたワーピングされた着目点109、計算されたワーピングされた記述子111、基準着目点148、ワーピングされた基準着目点149、およびホモグラフィのうちの1つ以上のものに基づいて、計算される。いくつかの実施形態では、損失Lはさらに、ホモグラフィに基づいて計算される。ステップ1412では、ニューラルネットワーク100は、損失Lに基づいて修正される。
図15は、本明細書中に記載されたある実施形態による、簡略化されたコンピュータシステム1500を図示する。図15は、種々の実施形態によって提供された方法のステップのいくつかまたは全てを実行し得るコンピューティングシステム1500の一実施例の概略図である。図15は、種々のコンポーネントの一般化された例証を提供するためだけに意図され、そのいずれかまたは全てが、必要に応じて利用されてもよいことに留意されたい。図15は、したがって、広義には、個々のシステム要素が比較的に分離された様式または比較的により統合された様式において実装され得る状況を図示する。
コンピュータシステム1500は、バス1505を介して電気的に結合されることができる、または必要に応じて別様に通信し得る、ハードウェア要素を備えるように示される。ハードウェア要素は、限定ではないが、デジタル信号処理チップ、グラフィック加速プロセッサ、および/または同等物等の、1つ以上の汎用プロセッサおよび/または1つ以上の特殊目的プロセッサを含む、1つ以上のプロセッサ1510と、限定ではないが、マウス、キーボード、カメラ、および/または同等物を含むことができる、1つ以上の入力デバイス1515と、限定ではないが、ディスプレイデバイス、プリンタ、および/または同等物を含むことができる、1つ以上の出力デバイス1520とを含んでもよい。
コンピュータシステム1500はさらに、限定ではないが、ローカルおよび/またはネットワークアクセス可能記憶装置を備えることができ、および/または、限定ではないが、プログラム可能である、フラッシュ更新可能である、および/または同等物であることができる、ディスクドライブ、ドライブアレイ、光学記憶デバイス、ランダムアクセスメモリ(「RAM」)等のソリッドステート記憶デバイス、および/または読取専用メモリ(「ROM」)を含むことができる、1つ以上の非一過性記憶デバイス1525を含む、および/またはそれと通信してもよい。そのような記憶デバイスは、限定ではないが、種々のファイルシステム、データベース構造、および/または同等物を含む、任意の適切なデータ記憶を実装するように構成されてもよい。
コンピュータシステム1500はまた、限定ではないが、Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備等、および/または同等物等のモデム、ネットワークカード(無線または有線)、赤外線通信デバイス、無線通信デバイス、および/またはチップセットを含むことができる、通信サブシステム1519を含み得る。通信サブシステム1519は、1つ以上の入力および/または出力通信インターフェースを含み、データが、一実施例として挙げるために以下に説明されるネットワーク、すなわち、他のコンピュータシステム、テレビ、および/または本明細書に説明される任意の他のデバイス等のネットワークと交換されることを可能にしてもよい。所望の機能性および/または他の実装懸念に応じて、ポータブル電子デバイスまたは類似デバイスは、通信サブシステム1519を介して、画像および/または他の情報を通信してもよい。他の実施形態では、ポータブル電子デバイス、例えば、第1の電子デバイスは、コンピュータシステム1500、例えば、電子デバイスの中に入力デバイス1515として組み込まれてもよい。いくつかの実施形態では、コンピュータシステム1500はさらに、作業メモリ1535を備え、これは、上記に説明されるようなRAMまたはROMデバイスを含むことができる。
コンピュータシステム1500はまた、種々の実施形態によって提供されるコンピュータプログラムを備え得る、および/または本明細書に説明されるような他の実施形態によって提供される方法を実装し、および/またはシステムを構成するように設計され得る、オペレーティングシステム1540、デバイスドライバ、実行可能ライブラリ、および/または他のコード、例えば1つ以上のアプリケーションプログラム1545等を含む、作業メモリ1535内に現在位置するものとして示される、ソフトウェア要素を含むことができる。単に、一例として、上記に議論される方法に関して説明される1つ以上のプロシージャは、コンピュータまたはコンピュータ内のプロセッサによって実行可能なコードおよび/または命令として実装され得、ある側面では、次いで、そのようなコードおよび/または命令は、説明される方法に従って1つ以上の動作を実施するように汎用コンピュータまたは他のデバイスを構成および/または適合するために使用されることができる。
これらの命令および/またはコードのセットは、上記に説明される記憶デバイス1525等の非一過性コンピュータ可読記憶媒体上に記憶されてもよい。ある場合には、記憶媒体は、コンピュータシステム1500等のコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体は、コンピュータシステムと別個である、例えば、コンパクトディスク等の可撤性媒体である、および/または記憶媒体が、汎用コンピュータをその上に記憶される命令/コードを用いてプログラム、構成、および/または適合するために使用され得るように、インストールパッケージ内に提供され得る。これらの命令は、コンピュータシステム1500によって実行可能である、実行可能コードの形態をとり得る、および/または、例えば、種々の概して利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティ等のいずれかを使用したコンピュータシステム1500上へのコンパイルおよび/またはインストールに応じて、次いで、実行可能コードの形態をとる、ソースおよび/またはインストール可能コードの形態をとり得る。
実質的な変形例が、具体的要件に従って構成されてもよいことが、当業者に明白となるであろう。例えば、カスタマイズされたハードウェアもまた、使用され得る、および/または特定の要素が、ハードウェア、アプレット等のポータブルソフトウェアを含む、ソフトウェア、または両方内に実装され得る。さらに、ネットワーク入力/出力デバイス等の他のコンピューティングデバイスへの接続も、採用されてもよい。
上記に述べられたように、一側面では、いくつかの実施形態は、コンピュータシステム1500等のコンピュータシステムを採用し、本技術の種々の実施形態による方法を実施してもよい。一式の実施形態によると、そのような方法のプロシージャの一部または全部は、プロセッサ1510が、オペレーティングシステム1540の中に組み込まれ得る、1つ以上の命令の1つ以上のシーケンス、および/または作業メモリ1535内に含有される、アプリケーションプログラム1545等の他のコードを実行することに応答して、コンピュータシステム1500によって実施される。そのような命令は、記憶デバイス1525のうちの1つ以上のもの等の別のコンピュータ可読媒体から作業メモリ1535の中に読み取られてもよい。単に、一例として、作業メモリ1535内に含有される命令のシーケンスの実行は、プロセッサ1510に、本明細書に説明される方法の1つ以上のプロシージャを実施させ得る。加えて、または代替として、本明細書に説明される方法の一部は、特殊ハードウェアを通して実行されてもよい。
用語「機械可読媒体」および「コンピュータ可読媒体」は、本明細書で使用されるとき、機械を具体的方式で動作させるデータを提供することに関わる、任意の媒体を指す。コンピュータシステム1500を使用して実装される、ある実施形態では、種々のコンピュータ可読媒体は、実行のための命令/コードをプロセッサ1510に提供する際に関わり得る、および/またはそのような命令/コードを記憶および/または搬送するために使用され得る。多くの実装では、コンピュータ可読媒体は、物理的および/または有形記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス1525等の光学および/または磁気ディスクを含む。揮発性媒体は、限定ではないが、作業メモリ1535等の動的メモリを含む。
一般的形態の物理的および/または有形コンピュータ可読媒体は、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD−ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、FLASH(登録商標)−EPROM、任意の他のメモリチップまたはカートリッジ、またはコンピュータが命令および/またはコードを読み取ることができる、任意の他の媒体を含む。
種々の形態のコンピュータ可読媒体が、実行のための1つ以上の命令の1つ以上のシーケンスをプロセッサ1510に搬送する際に関わってもよい。単に、一例として、命令は、最初に、遠隔コンピュータの磁気ディスクおよび/または光学ディスク上で搬送されてもよい。遠隔コンピュータは、命令をその動的メモリの中にロードし、コンピュータシステム1500によって受信および/または実行される伝送媒体を経由して、命令を信号として送信し得る。
通信サブシステム1519および/またはそのコンポーネントは、概して、信号を受信し、バス1505が、次いで、信号および/または信号によって搬送されるデータ、命令等を作業メモリ1535に搬送し得、そこから、プロセッサ1510が、命令を読み出し、実行する。作業メモリ1535によって受信された命令は、随意に、プロセッサ1510による実行前または後のいずれかにおいて、非一過性記憶デバイス1525上に記憶されてもよい。
上記に議論される方法、システム、およびデバイスは、実施例である。種々の構成は、必要に応じて、種々のプロシージャまたはコンポーネントを省略、代用、または追加してもよい。例えば、代替構成では、本方法は、説明されるものと異なる順序で実施されてもよく、および/または種々の段階は、追加される、省略される、および/または組み合わせられてもよい。また、ある構成に関して説明される特徴は、種々の他の構成において組み合わせられてもよい。構成の異なる側面および要素は、類似様式で組み合わせられてもよい。また、技術は、進歩するものであって、したがって、要素の多くは、実施例であって、本開示の範囲または請求項を限定するものではない。
具体的詳細が、実装を含む、例示的構成の完全な理解を提供するために説明に与えられる。しかしながら、構成は、これらの具体的詳細を伴わずに実践されてもよい。例えば、周知の回路、プロセス、アルゴリズム、構造、および技法は、構成を曖昧にすることを回避するために、不必要な詳細を伴わずに示されている。本説明は、例示的構成のみを提供し、請求項の範囲、可用性、または構成を限定するものではない。むしろ、構成の前述の説明は、当業者に説明される技法を実装するための有効な説明を提供するであろう。種々の変更が、本開示の精神または範囲から逸脱することなく、要素の機能および配列に行われてもよい。
また、構成は、概略フローチャートまたはブロック図として描写される、プロセスとして説明され得る。それぞれ、シーケンシャルプロセスとして動作を説明し得るが、動作の多くは、並行して、または同時に実施されてもよい。加えて、動作の順序は、再配列されてもよい。プロセスは、図内に含まれない付加的ステップを有してもよい。さらに、本方法の実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または任意のそれらの組み合わせによって実装されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコード内に実装されるとき、必要タスクを実施するためのプログラムコードまたはコードセグメントは、記憶媒体等の非一過性コンピュータ可読媒体内に記憶されてもよい。プロセッサは、説明されるタスクを実施してもよい。
いくつかの例示的構成が説明されたが、種々の修正、代替構造、および均等物が、本開示の精神から逸脱することなく、使用されてもよい。例えば、前述の要素は、より大きいシステムのコンポーネントであってもよく、他のルールが、本技術の用途に優先する、または別様にそれを修正してもよい。また、いくつかのステップは、前述の要素が検討される前、間、または後に行われてもよい。故に、前述の説明は、請求項の範囲を束縛するものではない。
本明細書および添付の請求項で使用されるように、単数形「a」、「an」、および「the」は、文脈によって明確に別様に示されない限り、複数参照を含む。したがって、例えば、「ユーザ」の言及は、複数のそのようなユーザを含み、「プロセッサ」の言及は、1つ以上のプロセッサおよび当業者に公知のその均等物等の言及を含む。
また、単語「comprise(〜を備える)」、「comprising(〜を備える)」、「contains(〜を含有する)」、「containing(〜を含有する)」、「include(〜を含む)」、「including(〜を含む)」、および「includes(〜を含む)」は、本明細書および以下の請求項で使用されるとき、述べられた特徴、整数、コンポーネント、またはステップの存在を規定するために意図されるが、それらは、1つ以上の他の特徴、整数、コンポーネント、ステップ、行為、またはグループの存在または追加を除外するものではない。
また、本明細書に説明される実施例および実施形態は、例証目的のみのためのものであって、それに照らして、種々の修正または変更が、当業者に示唆され、本願の精神および権限および添付の請求項の範囲内に含まれることを理解されたい。