JP7357676B2 - 自己改良ビジュアルオドメトリを実施するためのシステムおよび方法 - Google Patents

自己改良ビジュアルオドメトリを実施するためのシステムおよび方法 Download PDF

Info

Publication number
JP7357676B2
JP7357676B2 JP2021526271A JP2021526271A JP7357676B2 JP 7357676 B2 JP7357676 B2 JP 7357676B2 JP 2021526271 A JP2021526271 A JP 2021526271A JP 2021526271 A JP2021526271 A JP 2021526271A JP 7357676 B2 JP7357676 B2 JP 7357676B2
Authority
JP
Japan
Prior art keywords
interest
images
determining
point
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021526271A
Other languages
English (en)
Other versions
JP2022508103A (ja
Inventor
ダニエル デトン,
トマシュ ジャン マリシーウィッツ,
アンドリュー ラビノビッチ,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Magic Leap Inc filed Critical Magic Leap Inc
Publication of JP2022508103A publication Critical patent/JP2022508103A/ja
Application granted granted Critical
Publication of JP7357676B2 publication Critical patent/JP7357676B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0138Head-up displays characterised by optical features comprising image capture systems, e.g. camera
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Description

本開示は、ビジュアルオドメトリを実施するために、ニューラルネットワークを訓練することに関する。
ビジュアルオドメトリは、カメラ画像(例えば、デバイスの視点から取得されるカメラ画像)の分析に基づいて、デバイス(例えば、頭部搭載型ディスプレイデバイス)の位置および配向を決定するプロセスである。いくつかの実装では、ビジュアルオドメトリは、少なくとも部分的に、1つ以上の画像内の着目点を識別し、着目点間の関係を決定し、その関係に基づいて、デバイスの位置および配向を決定することによって、実施される。
本開示は、概して、ビジュアルオドメトリに関する。より具体的には、本開示の実施形態は、ニューラルネットワークを使用して、1つ以上の画像内の着目点を検出および記述し、それらの着目点に基づいて、ビジュアルオドメトリを実施するためのシステム、デバイス、および方法を提供する。本開示の一部は、拡張現実(AR)デバイスを参照して説明されるが、本開示は、コンピュータビジョンおよび画像ディスプレイシステムにおける種々の用途に適用可能である。
ある側面では、ビジュアルオドメトリを実施するために、ニューラルネットワークを訓練するための方法が、実施される。本方法は、1つ以上のコンピュータシステムを使用して実装される、ニューラルネットワークによって、環境の複数の画像を受信するステップを含む。本方法はまた、ニューラルネットワークによって、画像毎に、着目点の個別のセットおよび個別の記述子を決定するステップを含む。本方法はまた、ニューラルネットワークによって、複数の画像の着目点のセットおよび記述子に基づいて、複数の画像間の対応を決定するステップを含む。複数の画像間の対応を決定するステップは、着目点のセット間の1つ以上の点対応を決定するステップを含む。各点対応は、1つの画像の着目点と別の画像の着目点との間の個別の対応を示し、複数の画像間の対応を決定するステップはまた、1つ以上の点対応に基づいて、候補着目点のセットを決定するステップを含む。各候補着目点は、3次元空間内の環境内の個別の特徴を示す。本方法はまた、候補着目点毎に、個別の安定性メトリックを決定するステップと、1つ以上の候補着目点に基づいて、ニューラルネットワークを修正するステップとを含む。
本側面の実施形態は、以下の特徴のうちの1つ以上のものを含むことができる。
いくつかの実施形態では、候補着目点毎に、個別の安定性メトリックを決定するステップは、第1の候補着目点が安定していることを決定するステップを含む。
いくつかの実施形態では、候補着目点のうちの1つ以上のものに基づいて、ニューラルネットワークを修正するステップは、第1の候補着目点が安定していることの決定に応答して、複数の画像の中から、第1の候補着目点および第1の対の画像を選択し、ニューラルネットワークを訓練するステップを含む。第1の対の画像は、環境内の第1の候補着目点を描写する。
いくつかの実施形態では、第1の候補着目点が安定していることを決定するステップは、第1の候補着目点が、第1の閾値数を超える複数の画像の画像の数に描写されていることを決定するステップと、第1の候補着目点と関連付けられる再投影誤差が、第1の閾値誤差レベル未満であることを決定するステップとを含む。
いくつかの実施形態では、候補着目点毎に、個別の安定性メトリックを決定するステップは、第2の候補着目点が不安定であることを決定するステップを含む。
いくつかの実施形態では、候補着目点のうちの1つ以上のものに基づいて、ニューラルネットワークを修正するステップは、第2の候補着目点が不安定であることの決定に応答して、複数の画像の中から、第2の候補着目点および第2の対の画像を選択し、ニューラルネットワークを訓練するステップを含む。第2の対の画像は、環境内の第2の候補着目点を描写する。
いくつかの実施形態では、第2の候補着目点が不安定であることを決定するステップは、第2の候補着目点が、第2の閾値数を超える複数の画像の画像の数に描写されていることを決定するステップと、第2の候補着目点と関連付けられる再投影誤差が、第2の閾値誤差レベルを上回ることを決定するステップとを含む。
いくつかの実施形態では、第1の閾値数は、第2の閾値数に等しい。
いくつかの実施形態では、第1の閾値誤差レベルは、第2の閾値誤差レベル未満である。
いくつかの実施形態では、候補着目点毎に、個別の安定性メトリックを決定するステップは、第3の候補着目点が、ニューラルネットワークの訓練から省略されるべきであることを決定するステップを含む。
いくつかの実施形態では、第3の候補着目点が、ニューラルネットワークの訓練から省略されるべきであることを決定するステップは、(i)第3の候補着目点が、第3の閾値数未満の複数の画像の画像の数に描写されていること、または(ii)第3の候補着目点と関連付けられる再投影誤差が、第1の閾値誤差レベルと第2の閾値誤差レベルとの間であることを決定することのうちの少なくとも1つを決定するステップを含む。
いくつかの実施形態では、第3の閾値数は、第1の閾値数に等しい。
いくつかの実施形態では、複数の画像は、ビデオシーケンスから抽出された2次元画像を含む。
いくつかの実施形態では、複数の画像は、ビデオシーケンスの非連続的フレームに対応する。
いくつかの実施形態では、本方法はさらに、ニューラルネットワークを修正するステップに続いて、ニューラルネットワークによって、第2の環境の第2の複数の画像を頭部搭載型ディスプレイデバイスから受信するステップを含む。本方法はまた、ニューラルネットワークによって、第2の着目点のセットを識別するステップと、ニューラルネットワークによって、第2の複数の画像および第2の着目点のセットに基づいて、第2の環境に対してビジュアルオドメトリを実施するステップとを含む。
いくつかの実施形態では、第2の環境に対してビジュアルオドメトリを実施するステップは、第2の着目点のセットを目印として使用して、頭部搭載型ディスプレイデバイスの位置および配向を決定するステップを含む。
他の実施形態は、前述の方法のいくつかまたは全ての実施を促進するために、システム、装置、および非一過性コンピュータ可読媒体を対象とする。
本開示の実施形態は、種々の技術的利点を提供することができる。例えば、少なくともいくつかの実施形態は、着目点検出器および記述子を訓練し、ビジュアルオドメトリの実施を促進するために、自己教師ありフレームワークを提供する。本開示の実施形態は、多様な単一またはマルチチャネル2次元(2D)画像(例えば、インターネットRGB写真、小型ロボットグレースケールカメラ、水中画像、航空画像、望遠鏡画像、深度センサ画像、赤外線カメラ画像等)を分析するために使用されることができ、実質的人間の介入を伴わずに、種々の多視点幾何学形状問題を解法するために使用されることができる。さらに、少なくともいくつかの実施形態は、ともに、1つの順方向通過において、ピクセルレベル着目点場所および関連付けられる記述子を算出する、完全サイズ画像に作用する、完全畳み込みモデルを提供する。さらに、少なくともいくつかの実施形態は、ホモグラフィ適合、すなわち、着目点検出正確度を上昇させ、クロスドメイン適合(例えば、合成対実際)を実施するためのマルチスケールマルチホモグラフィアプローチとして説明され得る。さらに、少なくともいくつかの実施形態は、より高い点合致正確度およびより正確なホモグラフィ推定(例えば、従来的角検出器、従来的記述子、および/または事前に適合された深層モデルと比較して)を伴って、より豊富な着目点の検出を可能にする。さらに、少なくともいくつかの実施形態は、明示的幾何学的対応情報を要求せず、したがって、多種多様な環境およびユースケースにおいて展開されることができる。他の利点も、当業者に容易に明白となるであろう。
1つ以上の実施形態の詳細は、付随の図面および下記の説明に記載される。他の特徴および利点は、説明および図面および請求項から明白となるであろう。
本発明は、例えば、以下の項目を提供する。
(項目1)
ビジュアルオドメトリを実施するために、ニューラルネットワークを訓練する方法であって、前記方法は、
1つ以上のコンピュータシステムを使用して実装される前記ニューラルネットワークによって、環境の複数の画像を受信することと、
前記ニューラルネットワークによって、画像毎に、個別の着目点のセットおよび個別の記述子を決定することと、
前記ニューラルネットワークによって、前記複数の画像の前記着目点のセットおよび前記記述子に基づいて、前記複数の画像間の対応を決定することであって、前記複数の画像間の対応を決定することは、
着目点のセット間の1つ以上の点対応を決定することであって、各点対応は、1つの画像の着目点と別の画像の着目点との間の個別の対応を示す、ことと、
前記1つ以上の点対応に基づいて、候補着目点のセットを決定することであって、各候補着目点は、3次元空間内の環境内の個別の特徴を示す、ことと
を含む、ことと、
候補着目点毎に、個別の安定性メトリックを決定することと、
1つ以上の候補着目点に基づいて、前記ニューラルネットワークを修正することと
を含む、方法。
(項目2)
候補着目点毎に、前記個別の安定性メトリックを決定することは、第1の候補着目点が安定していることを決定することを含む、項目1に記載の方法。
(項目3)
前記候補着目点の1つ以上のものに基づいて、前記ニューラルネットワークを修正することは、
前記第1の候補着目点が安定していることの決定に応答して、前記複数の画像の中から、第1の候補着目点および第1の対の画像を選択し、前記ニューラルネットワークを訓練することであって、前記第1の対の画像は、前記環境内の第1の候補着目点を描写する、こと
を含む、項目2に記載の方法。
(項目4)
前記第1の候補着目点が安定していることを決定することは、
前記第1の候補着目点が、第1の閾値数を超える前記複数の画像の画像の数に描写されていることを決定することと、
前記第1の候補着目点と関連付けられる再投影誤差が、第1の閾値誤差レベル未満であることを決定することと
を含む、項目2に記載の方法。
(項目5)
候補着目点毎に、前記個別の安定性メトリックを決定することは、第2の候補着目点が不安定であることを決定することを含む、項目2に記載の方法。
(項目6)
前記候補着目点の1つ以上のものに基づいて、前記ニューラルネットワークを修正することは、
前記第2の候補着目点が不安定であることの決定に応答して、前記複数の画像の中から、前記第2の候補着目点および第2の対の画像を選択し、前記ニューラルネットワークを訓練することであって、前記第2の対の画像は、前記環境内の第2の候補着目点を描写する、こと
を含む、項目5に記載の方法。
(項目7)
前記第2の候補着目点が不安定であることを決定することは、
前記第2の候補着目点が、第2の閾値数を超える前記複数の画像の画像の数に描写されていることを決定することと、
前記第2の候補着目点と関連付けられる再投影誤差が、第2の閾値誤差レベルを上回ることを決定することと
を含む、項目5に記載の方法。
(項目8)
前記第1の閾値数は、前記第2の閾値数に等しい、項目7に記載の方法。
(項目9)
前記第1の閾値誤差レベルは、前記第2の閾値誤差レベル未満である、項目7に記載の方法。
(項目10)
候補着目点毎に、前記個別の安定性メトリックを決定することは、第3の候補着目点が、前記ニューラルネットワークの訓練から省略されるべきであることを決定することを含む、項目6に記載の方法。
(項目11)
前記第3の候補着目点が、前記ニューラルネットワークの訓練から省略されるべきであることを決定することは、
前記第3の候補着目点が、第3の閾値数未満の前記複数の画像の画像の数に描写されていること、または
前記第3の候補着目点と関連付けられる再投影誤差が、前記第1の閾値誤差レベルと前記第2の閾値誤差レベルとの間であることを決定すること
のうちの少なくとも1つを決定すること
を含む、項目10に記載の方法。
(項目12)
前記第3の閾値数は、前記第1の閾値数に等しい、項目11に記載の方法。
(項目13)
前記複数の画像は、ビデオシーケンスから抽出された2次元画像を備える、項目1に記載の方法。
(項目14)
前記複数の画像は、前記ビデオシーケンスの非連続的フレームに対応する、項目13に記載の方法。
(項目15)
前記ニューラルネットワークを修正することに続いて、前記ニューラルネットワークによって、第2の環境の第2の複数の画像を頭部搭載型ディスプレイデバイスから受信することと、
前記ニューラルネットワークによって、第2の着目点のセットを識別することと、
前記ニューラルネットワークによって、前記第2の複数の画像および前記第2の着目点のセットに基づいて、前記第2の環境に対してビジュアルオドメトリを実施することと
をさらに含む、項目1に記載の方法。
(項目16)
前記第2の環境に対してビジュアルオドメトリを実施することは、前記第2の着目点のセットを目印として使用して、前記頭部搭載型ディスプレイデバイスの位置および配向を決定することを含む、項目15に記載の方法。
(項目17)
システムであって、
1つ以上のプロセッサと、
1つ以上の非一過性コンピュータ可読媒体であって、前記1つ以上の非一過性コンピュータ可読媒体は、命令の1つ以上のシーケンスを含んでおり、前記命令の1つ以上のシーケンスは、前記1つ以上のプロセッサによって実行されると、
1つ以上のコンピュータシステムを使用して実装されるニューラルネットワークによって、環境の複数の画像を受信することと、
前記ニューラルネットワークによって、画像毎に、個別の着目点のセットおよび個別の記述子を決定することと、
前記ニューラルネットワークによって、前記複数の画像の前記着目点のセットおよび前記記述子に基づいて、前記複数の画像間の対応を決定することであって、前記複数の画像間の対応を決定することは、
着目点のセット間の1つ以上の点対応を決定することであって、各点対応は、1つの画像の着目点と別の画像の着目点との間の個別の対応を示す、ことと、
前記1つ以上の点対応に基づいて、候補着目点のセットを決定することであって、各候補着目点は、3次元空間内の環境内の個別の特徴を示す、ことと
を含む、ことと、
候補着目点毎に、個別の安定性メトリックを決定することと、
1つ以上の候補着目点に基づいて、前記ニューラルネットワークを修正することと
を生じさせる、1つ以上の非一過性コンピュータ可読媒体と
を備える、システム。
(項目18)
候補着目点毎に、前記個別の安定性メトリックを決定することは、第1の候補着目点が安定していることを決定することを含む、項目17に記載のシステム。
(項目19)
前記候補着目点の1つ以上のものに基づいて、前記ニューラルネットワークを修正することは、
前記第1の候補着目点が安定していることの決定に応答して、前記複数の画像の中から、前記第1の候補着目点および第1の対の画像を選択し、前記ニューラルネットワークを訓練することであって、前記第1の対の画像は、前記環境内の第1の候補着目点を描写する、こと
を含む、項目18に記載のシステム。
(項目20)
前記第1の候補着目点が安定していることを決定することは、
前記第1の候補着目点が、第1の閾値数を超える前記複数の画像の画像の数に描写されていることを決定することと、
前記第1の候補着目点と関連付けられる再投影誤差が、第1の閾値誤差レベル未満であることを決定することと
を含む、項目18に記載のシステム。
(項目21)
候補着目点毎に、前記個別の安定性メトリックを決定することは、第2の候補着目点が不安定であることを決定することを含む、項目18に記載のシステム。
(項目22)
前記候補着目点の1つ以上のものに基づいて、前記ニューラルネットワークを修正することは、
前記第2の候補着目点が不安定であることの決定に応答して、前記複数の画像の中から、前記第2の候補着目点および第2の対の画像を選択して、前記ニューラルネットワークを訓練することであって、前記第2の対の画像は、前記環境内の第2の候補着目点を描写する、こと
を含む、項目21に記載のシステム。
(項目23)
前記第2の候補着目点が不安定であることを決定することは、
前記第2の候補着目点が、第2の閾値数を超える前記複数の画像の画像の数に描写されていることを決定することと、
前記第2の候補着目点と関連付けられる再投影誤差が、第2の閾値誤差レベルを上回ることを決定することと
を含む、項目21に記載のシステム。
(項目24)
前記第1の閾値数は、前記第2の閾値数に等しい、項目23に記載のシステム。
(項目25)
前記第1の閾値誤差レベルは、前記第2の閾値誤差レベル未満である、項目23に記載のシステム。
(項目26)
候補着目点毎に、前記個別の安定性メトリックを決定することは、第3の候補着目点が、前記ニューラルネットワークの訓練から省略されるべきであることを決定することを含む、項目22に記載のシステム。
(項目27)
前記第3の候補着目点が、前記ニューラルネットワークの訓練から省略されるべきであることを決定することは、
前記第3の候補着目点が、第3の閾値数未満の前記複数の画像の画像の数に描写されていること、または
前記第3の候補着目点と関連付けられる再投影誤差が、前記第1の閾値誤差レベルと前記第2の閾値誤差レベルとの間であることを決定すること
のうちの少なくとも1つを決定することを含む、項目26に記載のシステム。
(項目28)
前記第3の閾値数は、前記第1の閾値数に等しい、項目27に記載のシステム。
(項目29)
前記複数の画像は、ビデオシーケンスから抽出された2次元画像を備える、項目17に記載のシステム。
(項目30)
前記複数の画像は、前記ビデオシーケンスの非連続的フレームに対応する、項目29に記載のシステム。
(項目31)
前記命令の1つ以上のシーケンスは、1つ以上のプロセッサによって実行されると、
前記ニューラルネットワークを修正することに続いて、前記ニューラルネットワークによって、第2の環境の第2の複数の画像を頭部搭載型ディスプレイデバイスから受信することと、
前記ニューラルネットワークによって、第2の着目点のセットを識別することと、
前記ニューラルネットワークによって、前記第2の複数の画像および前記第2の着目点のセットに基づいて、前記第2の環境に対してビジュアルオドメトリを実施することと
をさらに生じさせる、項目17に記載のシステム。
(項目32)
前記第2の環境に対してビジュアルオドメトリを実施することは、前記第2の着目点のセットを目印として使用して、前記頭部搭載型ディスプレイデバイスの位置および配向を決定することを含む、項目31に記載のシステム。
図1は、ニューラルネットワークを使用した、一対の入力画像の着目点間の点対応の決定を図示する。 図2は、ニューラルネットワークの一般的アーキテクチャを図示する。 図3は、着目点検出器サブネットワークが、1つ以上の合成画像を含む、合成データセットを使用して訓練される、第1の訓練ステップを図示する。 図4は、基準データセットが、ホモグラフィ適合を使用してコンパイルされる、第2の訓練ステップを図示する。 図5は、ニューラルネットワークが、基準データセットを使用して訓練される、第3の訓練ステップを図示する。 図6は、ニューラルネットワークを使用した、2つの捕捉された画像間のホモグラフィの計算を図示する。 図7は、合成データセットの実施例を図示する。 図8は、未標識データセットの実施例を図示する。 図9は、ニューラルネットワークの例示的アーキテクチャを図示する。 図10は、第2の訓練ステップの間に採用される、ホモグラフィ適合の種々のステップを図示する。 図11は、ランダムホモグラフィ生成のある側面を図示する。 図12は、本明細書に説明される実施形態を利用し得る、ARデバイスの概略図を図示する。 図13は、ニューラルネットワークを訓練し、ニューラルネットワークを使用して、画像着目点検出および記述を実施する方法を図示する。 図14は、画像着目点検出および記述のためのニューラルネットワークを訓練する方法を図示する。 図15は、検出された着目点の推定される安定性に基づいて、ニューラルネットワークを訓練するための例示的プロセスを図示する。 図16は、例示的Siamese訓練プロセスを図示する。 図17は、着目点を標識化する実施例を図示する。 図18は、ビジュアルオドメトリを実施するために、ニューラルネットワークを訓練するための方法を図示する。 図19は、本明細書に説明されるいくつかの実施形態による、簡略化されたコンピュータシステムを図示する。
畳み込みニューラルネットワークは、画像を入力として要求するほぼ全てのタスクにおいて、手動で作り出された表現より優れていることが示されている。特に、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が、1つ以上の合成画像を含む、合成データセット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を通して通過させることに先立って、1つ以上のランダムまたは擬似ランダムホモグラフィを入力画像102に適用するために使用されてもよい。ニューラルネットワーク100の他側では、逆ホモグラフィ生成器140が、1つ以上の逆ホモグラフィを計算された着目点108に適用するために使用されてもよく、1つ以上の逆ホモグラフィは、計算された着目点108をワーピング解除するような1つ以上のホモグラフィの逆である。プロセスは、同一入力画像102に関して繰り返され、1つ以上のワーピング解除された計算された着目点を取得してもよい。1つ以上のワーピング解除された計算された着目点は、集約され/組み合わせられ、基準データセット144内に、入力画像102および基準記述子とともに、基準セット142の一部として記憶される、基準着目点のセットを取得してもよい。
加えて、または代替として、ホモグラフィ適合は、ニューラルネットワーク100によって出力された記述子を改良するために採用されてもよい。例えば、単一訓練反復の間、ホモグラフィ生成器138は、画像をニューラルネットワーク100を通して通過させることに先立って、1つ以上のランダムまたは擬似ランダムホモグラフィを入力画像102に適用するために使用されてもよい。ニューラルネットワーク100の他側では、逆ホモグラフィ生成器140が、1つ以上の逆ホモグラフィを計算された記述子110に適用するために使用されてもよく、1つ以上の逆ホモグラフィは、計算された記述子110をワーピング解除するような1つ以上のホモグラフィの逆である。プロセスは、同一入力画像102に関して繰り返され、1つ以上のワーピング解除された計算された記述子を取得してもよい。1つ以上のワーピング解除された計算された記述子は、集約され/組み合わせられ、基準データセット144内に、入力画像102および基準着目点のセットとともに、基準セット142の一部として記憶される、基準記述子を取得してもよい。
ホモグラフィワーピングNの数は、本アプローチのハイパーパラメータである。いくつかの実施形態では、第1のホモグラフィは、N=1(無適合を意味する)であるように、単位元と等しくなるように設定される。試験では、Nの範囲は、好ましい値を試し、決定するように変動され、Nは、いくつかの実施形態では、低値(N=10)から、中値(N=100)、高値(N=1000)まで実行された。結果は、100を上回るホモグラフィを実施するとき、収穫逓減が存在することを示唆する。MS-COCOからの画像のホールドアウトされたセットにおいて、0.67の再現性スコアが、任意のホモグラフィ適合を伴わずに、満たされ、N=100の変換を実施するときの21%の再現性上昇およびN=1,000のときの22%の再現性上昇は、100を上回るホモグラフィを使用することの最小限の利点を十分に実証した。
着目点応答マップまたは記述子マップを組み合わせるとき、スケール内集約とスケール横断集約との間で区別することが有益であり得る。実世界画像は、典型的には、異なるスケールにおける特徴を含有し、高分解能画像に関係すると見なされるであろう、いくつかの点は、多くの場合、より粗くより低い分解能画像内では可視でさえない。しかしながら、単一スケール内では、回転および平行移動等の画像の変換は、着目点を出現/消失させないはずである。画像の本下層マルチスケール性質は、スケール内およびスケール横断集約方略に関する異なる含意を有する。スケール内集約は、セットの交わりの算出に類似するはずであって、スケール横断集約は、セットの和に類似するはずである。スケールを横断した平均応答はまた、着目点信頼度のマルチスケール測定値として使用されることができる。スケールを横断した平均応答は、着目点が全てのスケールを横断して可視であるとき、最大限にされ、これらは、追跡用途のための最もロバストな着目点である可能性が高い。
スケールを横断して集約するとき、検討されるスケールの数Nは、アプローチのハイパーパラメータである。N=1の設定は、無マルチスケール集約(または単に、大きな可能性として考えられる画像サイズのみを横断した集約)に対応する。いくつかの実施形態では、N>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つは、着目点検出器に関するものLであって、1つは、記述子に関するものLである。同時損失最適化は、(a)擬似グラウンドトゥルース着目点場所と、(b)2つの画像を関連させる、ランダムに生成されたホモグラフィHからのグラウンドトゥルース対応の両方を有する、対の合成ワーピングされた画像の可用性に起因して、可能にされる。損失Lは、以下によって、λにおける関数として平衡される。
式中、Xは、計算された着目点108であって(またはそれに関連し)、X’は、計算されたワーピングされた着目点109であって(またはそれに関連し)、Yは、基準着目点148であって(またはそれに関連し)、Y’は、ワーピングされた基準着目点149であって(またはそれに関連し)、Dは、計算された記述子110であって(またはそれに関連し)、D’は、計算されたワーピングされた記述子111である(またはそれに関連する)。Sは、類似性スコア行列であって、全体的に、ランダムに生成されたホモグラフィHに基づいて決定され得る。図5に図示されるように、ホモグラフィHまたは類似性スコア行列Sのいずれかが、損失計算機の中にフィードされてもよい。
着目点検出器損失関数Lは、セルxhw∈Xにわたる完全畳み込みクロスエントロピ損失である。対応するグラウンドトゥルース着目点標識Yおよび個々のエントリは、yhwである。損失は、したがって、以下となる。
式中、
記述子損失は、入力画像102からのdhw∈Dとワーピングされた入力画像103からのd’h’w’∈D’の記述子セルの全ての対に適用される。(h,w)セルと(h’,w’)セルとの間のホモグラフィ誘発対応は、以下のように記述され得る。
式中、phwは、(h、w)セル内の中心ピクセルの場所を示し、
は、セル場所phwとホモグラフィHの乗算を示す。一対の画像に関する対応のセット全体は、Sである。
いくつかの実施形態では、加重項λは、負のものより正の対応の存在を平衡することに役立つ。記述子損失は、以下によって与えられる。
式中、
である。
図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は、円形、三角形、四辺形(例えば、正方形、長方形、菱形、平行四辺形等)、五角形、六角形、星形、立方体、球体、楕円体、円筒形、錐体、角柱、角錐、線等の比較的に明確に定義された着目点を有する、多数の形状タイプを表す1つ以上の形状を含有してもよい。
図8は、未標識データセット136の実施例を図示する。未標識データセット136は、可変照明、雑音、カメラ効果等を有する、実世界の画像を含有してもよい。実画像は、合成画像よりはるかに雑然とし、雑音が多く、合成世界内で容易にモデル化されることができない、多様な視覚的効果を含有する。
図9は、ニューラルネットワーク100の例示的アーキテクチャを図示する。図示される実施形態では、ニューラルネットワーク100は、入力画像寸法を処理および低減させる、単一共有エンコーダを含む。いったんエンコーダによって処理されると、いくつかの実施形態では、アーキテクチャは、2つのデコーダ「ヘッド」に分割され、これは、タスク特有加重を学習し、一方は、着目点検出のためのものであって、他方は、着目点記述のためのものである。
いくつかの実施形態では、ニューラルネットワーク100は、VGG式エンコーダを使用して、画像の寸法を低減させる。エンコーダは、畳み込み層、プーリング演算を介した空間ダウンサンプリング、および非線形活性化関数から成る。いくつかの実施形態では、エンコーダは、3つの最大プーリング層であって、寸法H×Wの画像Iに関するH=H/8およびW=W/8を定義する。より低い寸法の出力におけるピクセルは、セルと称され、エンコーダ内の3つの2×2非重複最大プーリング演算は、8×8ピクセルセルをもたらす。エンコーダは、入力画像I∈RHc×Wc×Fとより小さい空間寸法およびより大きいチャネル深度(すなわち、H<H、W<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はそれぞれ、異なる色および/または異なる深度平面に対応する、1つ以上の導波管を含んでもよい。カメラ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は、1つ以上の合成画像と、1つ以上の合成画像に対応する、合成着目点の1つ以上のセットとを含んでもよい。ステップ1302-1はさらに、図3を参照して説明される。
ステップ1302-2では、基準データセット144が、着目点検出器サブネットワーク112および/または記述子サブネットワーク114を使用して生成される。いくつかの実施形態では、基準データセット144は、1つ以上のワーピングされた画像が、1つ以上のホモグラフィを入力画像102に適用することによって生成される、ホモグラフィ適合を使用して生成され、1つ以上の計算された着目点のセット108は、1つ以上のワーピングされた画像を着目点検出器サブネットワーク112を通して通過させることによって計算される。1つ以上の計算された着目点のセット108は、次いで、ワーピング解除および集約され、基準データセット144内に記憶される、基準着目点のセットを取得する。加えて、または代替として、1つ以上の計算された記述子110は、1つ以上のワーピングされた画像を記述子サブネットワーク114を通して通過させることによって計算される。1つ以上の計算された記述子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に基づいて修正される。
着目点安定性推定に基づく自己改良ビジュアルオドメトリ:
本明細書に説明されるように、ニューラルネットワーク100は、その性能を改良するために、基準データセット144を使用して訓練されることができる。例えば、基準データセット144は、例えば、実世界画像および基準着目点および基準記述子を含む、未標識データセット136から得られた画像を含むことができる。例えば、図4を参照すると、入力画像102は、未標識データセット136から得られることができ、ニューラルネットワーク100に提供されることができ、これは、入力画像102に基づいて、計算された着目点108(例えば、1つ以上の着目点)および計算された記述子110を計算する。データは、基準セット142として、基準データセット144内に記憶されてもよく、各基準セット142は、入力画像102と、入力画像102に対応する、計算された着目点108と、入力画像102に対応する、計算された記述子110とを含む。いくつかの実施形態では、あるデータは、基準データセット144内に選択的に記憶されることができる(例えば、ニューラルネットワーク100を訓練するためにより好適なデータ)一方、ある他のデータは、基準データセット144から選択的に省略されることができる(例えば、ニューラルネットワーク100を訓練するためにあまり好適ではないデータ)。これは、例えば、ビジュアルオドメトリに関連して使用するためにより好適な画像内の着目点とビジュアルオドメトリに関連して使用するためにあまり好適ではない画像内の着目点とを区別するための訓練プロセスの能力を改良する際に有益であり得る。
いくつかの実施形態では、データは、各入力画像102内の計算された着目点108の推定される安定性に基づいて、基準データセット144内への含有のために選択されることができる。実施例として、ニューラルネットワーク100は、入力画像102内の計算された着目点108毎に、計算された着目点108が(例えば、シーケンスにおける1つ以上の画像を横断して)安定して追跡され得る程度を示す、安定性メトリックを計算することができる。安定した(例えば、十分に高安定性メトリックを有する)計算された着目点108を有する、入力画像102は、基準データセット144内に含まれることができる(例えば、ビジュアルオドメトリに関連して使用するためにより好適な画像内の着目点を識別するニューラルネットワーク100の能力を改良するために)。不安定な(例えば、十分に低い安定性メトリックを有する)計算された着目点108を有する、入力画像102もまた、基準データセット144内に含まれることができる(例えば、ビジュアルオドメトリに関連して使用するためにあまり好適ではない画像内の着目点を識別するニューラルネットワーク100の能力を改良するために)。安定または不安定のいずれでもない(例えば、十分に高いまたは十分に低いのいずれでもない、安定性メトリックを有する)、計算された着目点108を有する、入力画像102は、基準データセット144から除外されることができる。これは、例えば、ニューラルネットワーク100を訓練するためにあまり好適ではない場合がある、曖昧なデータ(例えば、安定着目点の明白な実施例または不安定着目点の明白な実施例のいずれも提供しない、データ)を除外するため、有益であり得る。
図15は、検出された着目点の推定される安定性に基づいてニューラルネットワークを訓練するための例示的プロセスの概要を示す。いったん訓練されると、ニューラルネットワークは、1つ以上の入力画像に基づいて、ビジュアルオドメトリを実施するために使用されることができる。いくつかの実施形態では、ニューラルネットワークは、頭部搭載型ディスプレイシステムの環境内の頭部搭載型ディスプレイシステムの配向および位置を追跡するために使用されることができる(例えば、仮想現実または拡張現実画像の提示を促進するために)。いくつかの実施形態では、ニューラルネットワークは、頭部搭載型ディスプレイシステムの一部として実装されることができる。いくつかの実施形態では、ニューラルネットワークは、頭部搭載型ディスプレイシステムから遠隔の1つ以上のコンピュータシステム(例えば、「クラウド」コンピューティングシステム等の遠隔サーバ)を使用して、実装されることができる。
図15に示されるように、単眼画像1500が、取得される。単眼画像1500のうちの少なくともいくつかは、順次捕捉された画像(例えば、ビデオシーケンスからのフレーム)のセットから取得されることができる。単眼画像1500は、畳み込みフロントエンド1502の中に入力され、これは、画像内の1つ以上の点対応(例えば、異なる画像を横断して着目点または「特徴点」間の対応を示す、「点追跡」)を識別する。点対応は、本明細書に説明される技法のうちの1つ以上のものを使用して決定されることができる。さらに、畳み込みフロントエンド1502は、着目点毎に、安定性、(例えば、2次元空間内の)場所、および記述子を含む、種々のメトリックを計算する。
本情報は、ビジュアルオドメトリバックエンド1504の中に入力される。ビジュアルオドメトリバックエンド1504は、3次元空間内の着目点のそれぞれの場所を推定する。さらに、ビジュアルオドメトリバックエンド1504は、着目点毎に、例えば、3次元空間内の安定性メトリックを計算する。実施例として、ビジュアルオドメトリバックエンド1504は、各着目点を「安定」(例えば、ニューラルネットワークを訓練し、ビジュアルオドメトリに関連して使用するためにより好適な着目点を認識するために使用され得る、着目点)、「不安定」(例えば、ニューラルネットワークを訓練し、ビジュアルオドメトリに関連して使用するためにあまり好適ではない、着目点を認識するために使用され得る、着目点)、または「無視」(例えば、訓練プロセスから除外され得る、着目点)として分類することができる。「安定」および「不安定」着目点(およびその関連付けられる点対応および記述子)は、監視信号として使用され、畳み込みフロントエンドを訓練する(例えば、自己監視プロセス1606に従って)。
安定性着目点(例えば、図9に関して説明される着目点検出デコーダヘッドによって出力された着目点)は、安定性分類子ヘッドによって決定されることができる。いくつかの実施形態では、安定性分類子ヘッドは、安定性メトリック
を決定することができる。ピクセルレベル予測を算出するために、大まかな予測が、双線形補間で補間され、その後、2つの出力チャネルにわたるチャネル毎ソフトマックスが続き、最終安定性確率値を得る。いくつかの実施形態では、安定性分類子デコーダヘッドは、256ユニットの単一3×3畳み込み層に続いて、「安定」対「不安定」のバイナリ分類のための2つのユニットを伴う、1×1畳み込み層を有することができる。
いったん訓練されると、ニューラルネットワーク(例えば、図4のニューラルネットワーク100)は、画像シーケンスのための疎オプティカルフロー追跡を形成するために使用されることができる。いくつかの実施形態では、これは、「点と点を結び付ける」アルゴリズムを使用して、連続する対の画像内で点および記述子を関連付けることによって実施されることができる。例えば、単眼画像のセット
を前提として、ニューラルネットワークは、2D特徴点の対応するセット
および記述子
(Oは、画像i内で検出された点の数に等しい)を算出することができる。
一対の画像IおよびIを横断して点を合致させるために、ニューラルネットワークは、対応するDおよびDの双方向最近傍を求めることができる。双方向最近傍合致
は、daiからDまでの最近傍合致が、dbjであって、dbjからDまでの最近傍合致が、daiであるようなものである。本パラメータなし技法は、アルゴリズムが、可能な限り少ないパラメータを使用することに役立ち、実践において良好に機能する。合致の第2の除去は、
であるように、全ての合致を除去するように実施されることができる。いくつかの実施形態では、τ=0.7である。追跡を形成するために、同一プロシージャが、全ての連続する対の画像
のために行われる。これは、例えば、良好な追跡を選択することにおいて有力なヒューリスティックを提供する際に有益である。
いったん追跡のセットが、確立されると、ニューラルネットワークは、シーケンス内の各追跡を単一3D点として取り扱い、追跡を使用して、3D場面構造およびカメラ姿勢をともに推定することができる。
ニューラルネットワークは、多視点幾何学形状と組み合わせられる、その独自の出力を使用して、教師あり訓練データセットを作成する。特に、単眼ビデオの時間的側面および実世界の主にリジッドな性質は、実世界の非平面性に対する不変性を達成するために利用されることができる。本アプローチは、「ビジュアルオドメトリ(VO)適合」と称され得る。VO適合は、VOを活用して、経時的に安定して追跡され得る点を標識し、安定追跡を使用して、多くのビューにわたって特徴点対応を学習する。VO適合は、少なくとも部分的に、本明細書に説明される技法を使用して実施されることができる。
最適化変数
N個の画像の単眼シーケンスでは、i番目のカメラに関するカメラ姿勢のセットは、その回転および平行移動
によって表される。
N個の画像のいくつかまたは全ての中に再投影される、M個の3D点を伴う場面に関して、各点は、X(X∈R)によって表される。カメラに近すぎる(またはその背後にある)またはそこから遠すぎる、点構成にペナルティを科す、深度正則化関数d(Z)(本明細書でさらに詳細に議論される)以外、いかなる3Dの以前の構造も、再構築上に課されない。
カメラ固有性質Kは、主点(c、c)とともに、焦点距離fおよびfから成る、上三角形行列である。画像毎に、1つのKにわたって最適化することが可能であるが(典型的には、SfMパイプライン内で行われるように)、いくつかの実施形態では、ニューラルネットワークは、単一の固定Kを仮定し得る。
観察変数
Uは、画像毎に1つのN個の行列の集合である、2D点観察のセットである。
(Oは、画像i内の2D観察の数に等しい)。単一画像測定が、uij∈Rによって表される。
Wは、観察信頼度加重のセットである。観察信頼度加重は、最適化の間、より信頼度のある観察をあまり確信的ではないものを上回って優先順位化するために使用される。各画像は、関連付けられるスカラー加重
のセットを有する。各スカラー加重は、0~1である、すなわち、wij∈[0,1]である。
Aは、3D/2D関連付け追跡のセットである。疎3Dマップ内の全ての3D点Xが、移動するカメラおよび場面オクルージョンに起因して、全てのフレーム内で観察されるわけではないため、画像毎に3D/2D関連付けベクトルのセット
が存在する。各関連付け整数は、それが対応し、ゼロ~場面内の点の総数である、3Dマップ点インデックス、すなわち、aij∈[1,M]を示す。
3D投影モデル
ニューラルネットワークは、3D世界点が、カメラ姿勢およびカメラ固有性質を前提として、2D画像の中に投影される方法を解説する、カメラ投影のためのピンホールカメラモデルを採用することができる。
∈Rが、j番目の3D点を示し、(R,t)が、i番目のカメラ姿勢を示し、Kが、カメラ固有性質を示し、uij∈Rが、対応する2D投影を示すとする。
上記の方程式における~は、投影品質を示す。計算を簡略化するために、ニューラルネットワークは、3Dから2Dへの変換を実施する、R→R投影関数Π(X)を使用することができる。
推定されるカメラ姿勢および3D点の品質を測定するために、ニューラルネットワークは、各3D点の各カメラの中への再投影を測定することができる。i番目の画像内のj番目の3D点に関する二乗再投影誤差eijは、以下のように表され得る。
深度正則化
ニューラルネットワークは、深度正則化関数
を採用することができ、式中、[・]は、ベクトルの第3の成分を求めることを意味し、これは、2つのスカラーdminおよびdmaxによってパラメータ化される、カメラに近すぎるまたはそこから遠すぎる、推定される3D点深度Zij’に関する二次ペナルティを被る。また、これは、深度がカメラ中心の背後に移動することを防止する。いくつかの実施形態では、
は、特に、屋内場面のために好適であり得る。本項は、以下となる。
カメラ姿勢および点深度初期化
ニューラルネットワークは、前のフレーム(R,t)からのカメラ姿勢を用いて、各新しいカメラ姿勢(RN+1,tN+1)を初期化することができる。新しい3D点深度は、1.0に初期化されることができる。3D点深度Zij’は、線形三角測量方法を使用して初期化されることができるが、いくつかの実施形態では、これは、VO結果を有意に改良せず、より複雑性をシステムに追加し得る。いくつかの実施形態では、点深度は、1の深度に初期化されることができ、深度正則化項の追加は、バンドル調整最適化が良好に機能するために十分な事前確率であり得る。
最終バンドル調整目的
最終バンドル調整目的は、誤対応に対処することに役立てるための再投影誤差関数eij 、深度正則化関数、2D観察荷重wij、およびHuberロバスト損失関数p(・)の組み合わせである。バンドル調整のための最終目的関数ΩBA(・)は、以下のように示され得る。
VOバックエンド実装
いくつかの実施形態では、バンドル調整最適化は、直近のNlast=30の姿勢(例えば、約1秒の運動に対応する)の固定ウィンドウにわたって実施されることができる。いくつかの実施形態では、ceres-solverパッケージが、Levenberg-Marquardt最適化を上記のバンドル調整ΩBA(・)にわたって実施するために使用されることができる。いくつかの実施形態では、新しい画像毎に、バンドル調整は、最大100回の反復にわたって実施されることができ、これは、平均して、フレームあたり約1秒かかる。
安定性の標識化
いったんVOが、所与のシーケンスのために完了すると、3D点毎の観察および再投影誤差の数が、安定性を標識するために使用される。点が、合理的に長時間にわたって追跡される場合、その再投影誤差は、それを「安定」対「不安定」として分類するために使用されることができる。
例えば、Tが、3D点Xを形成するために追跡された観察の数を示し、mean(e)およびmax(e)が、それぞれ、各観察されるカメラの中への再投影の平均値および最大値であるとする。その3D点の安定性Sは、以下のように定義され得る。
換言すると、安定点は、少なくとも所定の数のフレーム(例えば、10個のフレーム)にわたって追跡され、所定の数のピクセル(例えば、1ピクセル)未満の平均再投影誤差を有するものである。不安定点は、少なくとも所定の数のフレーム(例えば、10個のフレーム)にわたって追跡され、所定の数のピクセル(例えば、5ピクセル)を上回る最大再投影誤差を有するものである。これらの2つの制約を満たさない点は、訓練の間、無視される。すなわち、ネットワークは、選定する際に、それらを安定、不安定、またはいずれでもないとして取り扱うことを決定することができる。
自己標識化プロシージャは、深度断絶を横断したT分岐、陰影およびハイライト上の特徴、人々のような動的オブジェクト、および同等物等の不安定領域を発見する。
例示的閾値が、上記に説明されるが、実践では、他の閾値も、実装に応じて使用されることができる。例えば、安定点および/または不安定点は、10以外の異なる閾値数のフレーム(例えば、5、15、20、25、またはある他の数のフレーム)に基づいて決定されることができる。別の実施例として、安定点は、1以外の異なる閾値誤差値(例えば、0.1、0.5、1.5、またはある他の誤差値)に基づいて決定されることができる。別の実施例として、安定点は、5以外の異なる閾値誤差値(例えば、2、3、4、またはある他の誤差値)に基づいて決定されることができる。いくつかの実施形態では、閾値は、実験的に(例えば、サンプルデータ上で行われる実験に基づいて)決定されることができる。
Siamese訓練
いくつかの実施形態では、ニューラルネットワークは、Siamese訓練技法を使用して訓練されることができる。例えば、記述子は、Siameseメトリック学習を使用して訓練されることができ、特徴点検出器は、ソフトマックス+クロスエントロピ損失を使用して訓練されることができる。対は、+/-所定の数のフレーム(例えば、60フレーム)の時間的ウィンドウからランダムにサンプリングされ、所定の秒数(例えば、約4秒)の最大時間ウィンドウを伴う対をもたらすことができる。損失関数はまた、「無視クラス」を組み込むことができ、これは、未知の対応および未知の2D点場所のために使用される。
安定性分類子を訓練するために、ニューラルネットワークは、安定性損失を示す最終損失
に対して余剰損失項を採用することができる。安定性損失は、標準的バイナリクロスエントロピ損失関数を用いて訓練されることができる。
Siamese訓練プロセスの概略実施例は、図16に示される。画像1602の標識されたシーケンスが、取得される(例えば、標識された着目点および記述子を含む)。ランダム近隣画像対が、標識されたシーケンスから選択され、本明細書に説明されるネットワークタスク(例えば、ビジュアルオドメトリタスク1604)を訓練するために使用される前に、ランダムホモグラフィ(例えば、HおよびH)によってワーピングされる。安定性、特徴点、および/または記述子損失が、訓練プロセスの連続反復を横断して計算され、最小限にされ得る。
着目点の例示的標識化:
図17は、本明細書に説明される技法を使用して着目点を標識化する実施例を示す。5つの異なる効果に起因して低安定性を有するようにVOによって標識されたパターンの5つの実施例が、各列に示される。行(a)は、畳み込みフロントエンドからの疎点追跡を示す。行(b)は、算出されたVOバックエンドカメラ姿勢軌道および疎3Dマップのオーバーヘッド投影を示す。行(c)は、再投影誤差残差画像を示す(誤差の大きさは、行(c)内の色バーに従って色コーディングされる)。行(d)は、安定性ラベル(より明るい菱形=安定、中程度の菱形=不安定、より暗い菱形=無視、囲まれた中程度の菱形=不安定点の特性実施例)を伴う、標識された点追跡を示す。
ビジュアルオドメトリを実施するために、ニューラルネットワークを訓練するための例示的方法:
図18は、ビジュアルオドメトリを実施するために、ニューラルネットワークを訓練するための例示的方法1800を示す。方法1800は、本明細書に説明される技法および/またはシステムのうちの1つ以上のものを実施することができる。実施例として、方法1800は、少なくとも部分的に、ニューラルネットワーク100によって実施され、1つ以上のコンピュータシステムを使用して実装されることができる。
方法1800に従って、ニューラルネットワークは、環境の複数の画像を受信する(ステップ1802)。いくつかの実施形態では、複数の画像は、ビデオシーケンスから抽出された2次元画像を含む。いくつかの実施形態では、複数の画像は、ビデオシーケンスの非連続的フレームに対応する。
ニューラルネットワークは、画像毎に、着目点の個別のセットおよび個別の記述子を決定する(ステップ1804)。着目点は、本明細書に説明される技法のうちの1つ以上のものを使用して決定されることができる。例えば、着目点は、図9に関して説明される着目点検出デコーダヘッドによって決定されることができる。
ニューラルネットワークは、複数の画像の着目点のセットおよび記述子に基づいて、複数の画像間の対応を決定する(ステップ1806)。いくつかの実施形態では、対応を決定するステップは、着目点のセット間の1つ以上の点対応を決定するステップを含み、各点対応は、1つの画像の着目点と別の画像の着目点との間の個別の対応を示す。いくつかの実施形態では、対応を決定するステップはさらに、1つ以上の点対応に基づいて、候補着目点のセットを決定するステップを含む。各候補着目点は、3D空間内の環境内の個別の特徴を示すことができる。
ニューラルネットワークは、候補着目点毎に、個別の安定性メトリックを決定する(ステップ1808)。
いくつかの実施形態では、候補着目点毎に、個別の安定性メトリックを決定するステップは、第1の候補着目点が安定していることを決定するステップを含む。ニューラルネットワークは、本決定に基づいて修正されることができる。例えば、第1の候補着目点が安定していることの決定に応答して、ニューラルネットワークは、複数の画像の中から、第1の候補着目点および第1の対の画像を選択し、ニューラルネットワークを訓練することができ、第1の対の画像は、環境内の第1の候補着目点を描写する。
いくつかの実施形態では、ニューラルネットワークは、第1の候補着目点が、第1の閾値数を超える複数の画像の画像の数に描写されていることを決定するステップと、第1の候補着目点と関連付けられる再投影誤差が、第1の閾値誤差レベル未満であることを決定するステップとによって、第1の候補着目点が安定していることを決定することができる。
いくつかの実施形態では、候補着目点毎に、個別の安定性メトリックを決定するステップは、第2の候補着目点が安定していることを決定するステップを含む。ニューラルネットワークは、本決定に基づいて修正されることができる。例えば、第2の候補着目点が安定していることの決定に応答して、ニューラルネットワークは、複数の画像の中から、第2の候補着目点および第2の対の画像を選択し、ニューラルネットワークを訓練することができ、第2の対の画像は、環境内の第2の候補着目点を描写する。
いくつかの実施形態では、ニューラルネットワークは、第2の候補着目点が、第2の閾値数を超える複数の画像の画像の数に描写されていることを決定するステップと、第2の候補着目点と関連付けられる再投影誤差が、第2の閾値誤差レベルを上回ることを決定するステップとによって、第2の候補着目点が不安定であることを決定することができる。いくつかの実施形態では、第1の閾値数は、第2の閾値数に等しくあることができる。いくつかの実施形態では、第1の閾値誤差レベルは、第2の閾値誤差レベル未満であることができる。
いくつかの実施形態では、候補着目点毎に、個別の安定性メトリックを決定するステップは、第3の候補着目点が、ニューラルネットワークの訓練から省略されるべきであることを決定するステップを含む。いくつかの実施形態では、ニューラルネットワークは、(i)第3の候補着目点が、第3の閾値数未満の複数の画像の画像の数に描写されていること、および/または(ii)第3の候補着目点と関連付けられる再投影誤差が、第1の閾値誤差レベルと第2の閾値誤差レベルとの間であることを決定することによって、第3の候補着目点が、ニューラルネットワークの訓練から省略されるべきであることを決定することができる。いくつかの実施形態では、第3の閾値数は、第1の閾値数に等しくあることができる。
ニューラルネットワークは、1つ以上の候補着目点に基づいて修正される(ステップ1810)。例えば、ニューラルネットワークは、その個別の安定性メトリックに応じて、候補着目点のうちの少なくともいくつかに基づいて、訓練されることができる。例えば、候補着目点(例えば、安定および不安定着目点)のうちの少なくともいくつかは、ニューラルネットワークを訓練し、ビジュアルオドメトリに関連して使用するためにより好適な画像内の着目点とビジュアルオドメトリに関連して使用するためにあまり好適ではない画像内の着目点を区別するために使用されることができる。他の着目点は、訓練プロセスから省略されることができる。
いくつかの実施形態では、ニューラルネットワークを修正するステップに続いて、ニューラルネットワークは、第2の環境の第2の複数の画像を頭部搭載型ディスプレイデバイスから受信することができる。さらに、ニューラルネットワークは、第2の着目点のセットを識別し、第2の複数の画像および第2の着目点のセットに基づいて、第2の環境に対してビジュアルオドメトリを実施することができる。第2の環境に対してビジュアルオドメトリを実施するステップは、第2の着目点のセットを目印として使用して、頭部搭載型ディスプレイデバイスの位置および配向を決定するステップを含むことができる。
例示的コンピュータシステム:
図19は、本明細書に説明されるいくつかの実施形態による、簡略化されたコンピュータシステム1900を図示する。図19は、種々の実施形態によって提供される方法のステップのいくつかまたは全てを実施し得る、コンピュータシステム1900の一実施例の概略例証を提供する。図19は、種々のコンポーネントの一般化された例証を提供するためだけに意図され、そのいずれかまたは全てが、必要に応じて利用されてもよいことに留意されたい。図19は、したがって、広義には、個々のシステム要素が比較的に分離された様式または比較的により統合された様式において実装され得る状況を図示する。
コンピュータシステム1900は、バス1905を介して電気的に結合されることができる、または必要に応じて別様に通信し得る、ハードウェア要素を含むように示される。ハードウェア要素は、限定ではないが、デジタル信号処理チップ、グラフィック加速プロセッサ、および/または同等物等の、1つ以上の汎用プロセッサおよび/または1つ以上の特殊目的プロセッサを含む、1つ以上のプロセッサ1910と、限定ではないが、マウス、キーボード、カメラ、および/または同等物を含むことができる、1つ以上の入力デバイス1915と、限定ではないが、ディスプレイデバイス、プリンタ、および/または同等物を含むことができる、1つ以上の出力デバイス1920とを含んでもよい。
コンピュータシステム1900はさらに、限定ではないが、ローカルおよび/またはネットワークアクセス可能記憶装置を含むことができ、および/または、限定ではないが、プログラム可能である、フラッシュ更新可能である、および/または同等物であることができる、ディスクドライブ、ドライブアレイ、光学記憶デバイス、ランダムアクセスメモリ(「RAM」)等のソリッドステート記憶デバイス、および/または読取専用メモリ(「ROM」)を含むことができる、1つ以上の非一過性記憶デバイス1925を含む、および/またはそれと通信してもよい。そのような記憶デバイスは、限定ではないが、種々のファイルシステム、データベース構造、および/または同等物を含む、任意の適切なデータ記憶を実装するように構成されてもよい。
コンピュータシステム1900はまた、限定ではないが、Bluetooth(登録商標)デバイス、802.11デバイス、WiFiデバイス、WiMaxデバイス、セルラー通信設備等、および/または同等物等のモデム、ネットワークカード(無線または有線)、赤外線通信デバイス、無線通信デバイス、および/またはチップセットを含むことができる、通信サブシステム1919を含み得る。通信サブシステム1919は、1つ以上の入力および/または出力通信インターフェースを含み、データが、一実施例として挙げるために以下に説明されるネットワーク、すなわち、他のコンピュータシステム、テレビ、および/または本明細書に説明される任意の他のデバイス等のネットワークと交換されることを可能にしてもよい。所望の機能性および/または他の実装懸念に応じて、ポータブル電子デバイスまたは類似デバイスは、通信サブシステム1919を介して、画像および/または他の情報を通信してもよい。他の実施形態では、ポータブル電子デバイス、例えば、第1の電子デバイスは、コンピュータシステム1900、例えば、電子デバイスの中に入力デバイス1915として組み込まれてもよい。いくつかの実施形態では、コンピュータシステム1900はさらに、作業メモリ1935を含み、これは、上記に説明されるようなRAMまたはROMデバイスを含むことができる。
コンピュータシステム1900はまた、種々の実施形態によって提供されるコンピュータプログラムを含み得る、および/または本明細書に説明されるような他の実施形態によって提供される方法を実装し、および/またはシステムを構成するように設計され得る、1つ以上のアプリケーションプログラム1945等のオペレーティングシステム1940、デバイスドライバ、実行可能ライブラリ、および/または他のコードを含む、作業メモリ1935内に現在位置するものとして示される、ソフトウェア要素を含むことができる。単に、一例として、上記に議論される方法に関して説明される1つ以上のプロシージャは、コンピュータまたはコンピュータ内のプロセッサによって実行可能なコードおよび/または命令として実装され得、ある側面では、次いで、そのようなコードおよび/または命令は、説明される方法に従って1つ以上の動作を実施するように汎用コンピュータまたは他のデバイスを構成および/または適合するために使用されることができる。
これらの命令および/またはコードのセットは、上記に説明される記憶デバイス1925等の非一過性コンピュータ可読記憶媒体上に記憶されてもよい。ある場合には、記憶媒体は、コンピュータシステム1900等のコンピュータシステム内に組み込まれ得る。他の実施形態では、記憶媒体は、コンピュータシステムと別個である、例えば、コンパクトディスク等の可撤性媒体である、および/または記憶媒体が、汎用コンピュータをその上に記憶される命令/コードを用いてプログラム、構成、および/または適合するために使用され得るように、インストールパッケージ内に提供され得る。これらの命令は、コンピュータシステム1900によって実行可能である、実行可能コードの形態をとり得る、および/または、例えば、種々の概して利用可能なコンパイラ、インストールプログラム、圧縮/解凍ユーティリティ等のいずれかを使用したコンピュータシステム1900上へのコンパイルおよび/またはインストールに応じて、次いで、実行可能コードの形態をとる、ソースおよび/またはインストール可能コードの形態をとり得る。
実質的な変形例が、具体的要件に従って構成されてもよいことが、当業者に明白となるであろう。例えば、カスタマイズされたハードウェアもまた、使用され得る、および/または特定の要素が、ハードウェア、アプレット等のポータブルソフトウェアを含む、ソフトウェア、または両方内に実装され得る。さらに、ネットワーク入力/出力デバイス等の他のコンピューティングデバイスへの接続も、採用されてもよい。
上記に述べられたように、一側面では、いくつかの実施形態は、コンピュータシステム1900等のコンピュータシステムを採用し、本技術の種々の実施形態による方法を実施してもよい。一式の実施形態によると、そのような方法のプロシージャの一部または全部は、プロセッサ1910が、オペレーティングシステム1940の中に組み込まれ得る、1つ以上の命令の1つ以上のシーケンス、および/または作業メモリ1935内に含有される、アプリケーションプログラム1945等の他のコードを実行することに応答して、コンピュータシステム1900によって実施される。そのような命令は、記憶デバイス1925のうちの1つ以上のもの等の別のコンピュータ可読媒体から作業メモリ1935の中に読み取られてもよい。単に、一例として、作業メモリ1935内に含有される命令のシーケンスの実行は、プロセッサ1910に、本明細書に説明される方法の1つ以上のプロシージャを実施させ得る。加えて、または代替として、本明細書に説明される方法の一部は、特殊ハードウェアを通して実行されてもよい。
用語「機械可読媒体」および「コンピュータ可読媒体」は、本明細書で使用されるとき、機械を具体的方式で動作させるデータを提供することに関わる、任意の媒体を指す。コンピュータシステム1800を使用して実装される、ある実施形態では、種々のコンピュータ可読媒体は、実行のための命令/コードをプロセッサ1910に提供する際に関わり得る、および/またはそのような命令/コードを記憶および/または搬送するために使用され得る。多くの実装では、コンピュータ可読媒体は、物理的および/または有形記憶媒体である。そのような媒体は、不揮発性媒体または揮発性媒体の形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス1925等の光学および/または磁気ディスクを含む。揮発性媒体は、限定ではないが、作業メモリ1935等の動的メモリを含む。
一般的形態の物理的および/または有形コンピュータ可読媒体は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップまたはカートリッジ、またはコンピュータが命令および/またはコードを読み取ることができる、任意の他の媒体を含む。
種々の形態のコンピュータ可読媒体が、実行のための1つ以上の命令の1つ以上のシーケンスをプロセッサ1910に搬送する際に関わってもよい。単に、一例として、命令は、最初に、遠隔コンピュータの磁気ディスクおよび/または光学ディスク上で搬送されてもよい。遠隔コンピュータは、命令をその動的メモリの中にロードし、コンピュータシステム1900によって受信および/または実行される伝送媒体を経由して、命令を信号として送信し得る。
通信サブシステム1919および/またはそのコンポーネントは、概して、信号を受信し、バス1905が、次いで、信号および/または信号によって搬送されるデータ、命令等を作業メモリ1935に搬送し得、そこから、プロセッサ1910が、命令を読み出し、実行する。作業メモリ1935によって受信された命令は、随意に、プロセッサ1910による実行前または後のいずれかにおいて、非一過性記憶デバイス1925上に記憶されてもよい。
上記に議論される方法、システム、およびデバイスは、実施例である。種々の構成は、必要に応じて、種々のプロシージャまたはコンポーネントを省略、代用、または追加してもよい。例えば、代替構成では、本方法は、説明されるものと異なる順序で実施されてもよく、および/または種々の段階は、追加される、省略される、および/または組み合わせられてもよい。また、ある構成に関して説明される特徴は、種々の他の構成において組み合わせられてもよい。構成の異なる側面および要素は、類似様式で組み合わせられてもよい。また、技術は、進歩するものであって、したがって、要素の多くは、実施例であって、本開示の範囲または請求項を限定するものではない。
具体的詳細が、実装を含む、例示的構成の完全な理解を提供するために説明に与えられる。しかしながら、構成は、これらの具体的詳細を伴わずに実践されてもよい。例えば、周知の回路、プロセス、アルゴリズム、構造、および技法は、構成を曖昧にすることを回避するために、不必要な詳細を伴わずに示されている。本説明は、例示的構成のみを提供し、請求項の範囲、可用性、または構成を限定するものではない。むしろ、構成の前述の説明は、当業者に説明される技法を実装するための有効な説明を提供するであろう。種々の変更が、本開示の精神または範囲から逸脱することなく、要素の機能および配列に行われてもよい。
また、構成は、概略フローチャートまたはブロック図として描写される、プロセスとして説明され得る。それぞれ、シーケンシャルプロセスとして動作を説明し得るが、動作の多くは、並行して、または同時に実施されてもよい。加えて、動作の順序は、再配列されてもよい。プロセスは、図内に含まれない付加的ステップを有してもよい。さらに、本方法の実施例は、ハードウェア、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語、または任意のそれらの組み合わせによって実装されてもよい。ソフトウェア、ファームウェア、ミドルウェア、またはマイクロコード内に実装されるとき、必要タスクを実施するためのプログラムコードまたはコードセグメントは、記憶媒体等の非一過性コンピュータ可読媒体内に記憶されてもよい。プロセッサは、説明されるタスクを実施してもよい。
いくつかの例示的構成が説明されたが、種々の修正、代替構造、および均等物が、本開示の精神から逸脱することなく、使用されてもよい。例えば、前述の要素は、より大きいシステムのコンポーネントであってもよく、他のルールが、本技術の用途に優先する、または別様にそれを修正してもよい。また、いくつかのステップは、前述の要素が検討される前、間、または後に行われてもよい。故に、前述の説明は、請求項の範囲を束縛するものではない。
本明細書および添付の請求項で使用されるように、単数形「a」、「an」、および「the」は、文脈によって明確に別様に示されない限り、複数参照を含む。したがって、例えば、「ユーザ」の言及は、1つ以上のそのようなユーザを含み、「プロセッサ」の言及は、1つ以上のプロセッサおよび当業者に公知のその均等物等の言及を含む。
また、単語「comprise(~を備える)」、「comprising(~を備える)」、「contains(~を含有する)」、「containing(~を含有する)」、「include(~を含む)」、「including(~を含む)」、および「includes(~を含む)」は、本明細書および以下の請求項で使用されるとき、述べられた特徴、整数、コンポーネント、またはステップの存在を規定するために意図されるが、それらは、1つ以上の他の特徴、整数、コンポーネント、ステップ、行為、またはグループの存在または追加を除外するものではない。
また、本明細書に説明される実施例および実施形態は、例証目的のみのためのものであって、それに照らして、種々の修正または変更が、当業者に示唆され、本願の精神および権限および添付の請求項の範囲内に含まれることを理解されたい。

Claims (32)

  1. ビジュアルオドメトリを実施するために、ニューラルネットワークを訓練する方法であって、前記方法は、
    1つ以上のコンピュータシステムを使用して実装される前記ニューラルネットワークによって、環境の複数の画像を受信することと、
    前記ニューラルネットワークによって、画像毎に、個別の着目点のセットおよび個別の記述子を決定することと、
    前記ニューラルネットワークによって、前記複数の画像の前記着目点のセットおよび前記記述子に基づいて、前記複数の画像間の対応を決定することであって、前記複数の画像間の対応を決定することは、
    前記着目点のセット間の1つ以上の点対応を決定することであって、各点対応は、1つの画像の着目点と別の画像の着目点との間の個別の対応を示す、ことと、
    前記1つ以上の点対応に基づいて、候補着目点のセットを決定することであって、各候補着目点は、3次元空間内の前記環境内の個別の特徴を示す、ことと
    を含む、ことと、
    候補着目点毎に、個別の安定性メトリックを決定することと、
    1つ以上の候補着目点に基づいて、前記ニューラルネットワークを修正することと
    を含む、方法。
  2. 候補着目点毎に、前記個別の安定性メトリックを決定することは、第1の候補着目点が安定していることを決定することを含む、請求項1に記載の方法。
  3. 前記候補着目点の1つ以上のものに基づいて、前記ニューラルネットワークを修正することは、
    前記第1の候補着目点が安定していることの決定に応答して、前記複数の画像の中から、前記第1の候補着目点および第1の対の画像を選択し、前記ニューラルネットワークを訓練することであって、前記第1の対の画像は、前記環境内の前記第1の候補着目点を描写する、こと
    を含む、請求項2に記載の方法。
  4. 前記第1の候補着目点が安定していることを決定することは、
    前記第1の候補着目点が、第1の閾値数を超える前記複数の画像の画像の数に描写されていることを決定することと、
    前記第1の候補着目点と関連付けられる再投影誤差が、第1の閾値誤差レベル未満であることを決定することと
    を含む、請求項2に記載の方法。
  5. 候補着目点毎に、前記個別の安定性メトリックを決定することは、第2の候補着目点が不安定であることを決定することを含む、請求項に記載の方法。
  6. 前記候補着目点の1つ以上のものに基づいて、前記ニューラルネットワークを修正することは、
    前記第2の候補着目点が不安定であることの決定に応答して、前記複数の画像の中から、前記第2の候補着目点および第2の対の画像を選択し、前記ニューラルネットワークを訓練することであって、前記第2の対の画像は、前記環境内の前記第2の候補着目点を描写する、こと
    を含む、請求項5に記載の方法。
  7. 前記第2の候補着目点が不安定であることを決定することは、
    前記第2の候補着目点が、第2の閾値数を超える前記複数の画像の画像の数に描写されていることを決定することと、
    前記第2の候補着目点と関連付けられる再投影誤差が、第2の閾値誤差レベルを上回ることを決定することと
    を含む、請求項5に記載の方法。
  8. 前記第1の閾値数は、前記第2の閾値数に等しい、請求項7に記載の方法。
  9. 前記第1の閾値誤差レベルは、前記第2の閾値誤差レベル未満である、請求項7に記載の方法。
  10. 候補着目点毎に、前記個別の安定性メトリックを決定することは、第3の候補着目点が、前記ニューラルネットワークの訓練から省略されるべきであることを決定することを含む、請求項に記載の方法。
  11. 前記第3の候補着目点が、前記ニューラルネットワークの訓練から省略されるべきであることを決定することは、
    前記第3の候補着目点が、第3の閾値数未満の前記複数の画像の画像の数に描写されていること、または
    前記第3の候補着目点と関連付けられる再投影誤差が、前記第1の閾値誤差レベルと前記第2の閾値誤差レベルとの間であることを決定すること
    のうちの少なくとも1つを決定すること
    を含む、請求項10に記載の方法。
  12. 前記第3の閾値数は、前記第1の閾値数に等しい、請求項11に記載の方法。
  13. 前記複数の画像は、ビデオシーケンスから抽出された2次元画像を備える、請求項1に記載の方法。
  14. 前記複数の画像は、前記ビデオシーケンスの非連続的フレームに対応する、請求項13に記載の方法。
  15. 前記ニューラルネットワークを修正することに続いて、前記ニューラルネットワークによって、第2の環境の第2の複数の画像を頭部搭載型ディスプレイデバイスから受信することと、
    前記ニューラルネットワークによって、第2の着目点のセットを識別することと、
    前記ニューラルネットワークによって、前記第2の複数の画像および前記第2の着目点のセットに基づいて、前記第2の環境に対してビジュアルオドメトリを実施することと
    をさらに含む、請求項1に記載の方法。
  16. 前記第2の環境に対してビジュアルオドメトリを実施することは、前記第2の着目点のセットを目印として使用して、前記頭部搭載型ディスプレイデバイスの位置および配向を決定することを含む、請求項15に記載の方法。
  17. システムであって、
    1つ以上のプロセッサと、
    1つ以上の非一過性コンピュータ可読媒体であって、前記1つ以上の非一過性コンピュータ可読媒体は、命令の1つ以上のシーケンスを含んでおり、前記命令の1つ以上のシーケンスは、前記1つ以上のプロセッサによって実行されると、
    1つ以上のコンピュータシステムを使用して実装されるニューラルネットワークによって、環境の複数の画像を受信することと、
    前記ニューラルネットワークによって、画像毎に、個別の着目点のセットおよび個別の記述子を決定することと、
    前記ニューラルネットワークによって、前記複数の画像の前記着目点のセットおよび前記記述子に基づいて、前記複数の画像間の対応を決定することであって、前記複数の画像間の対応を決定することは、
    前記着目点のセット間の1つ以上の点対応を決定することであって、各点対応は、1つの画像の着目点と別の画像の着目点との間の個別の対応を示す、ことと、
    前記1つ以上の点対応に基づいて、候補着目点のセットを決定することであって、各候補着目点は、3次元空間内の前記環境内の個別の特徴を示す、ことと
    を含む、ことと、
    候補着目点毎に、個別の安定性メトリックを決定することと、
    1つ以上の候補着目点に基づいて、前記ニューラルネットワークを修正することと
    を生じさせる、1つ以上の非一過性コンピュータ可読媒体と
    を備える、システム。
  18. 候補着目点毎に、前記個別の安定性メトリックを決定することは、第1の候補着目点が安定していることを決定することを含む、請求項17に記載のシステム。
  19. 前記候補着目点の1つ以上のものに基づいて、前記ニューラルネットワークを修正することは、
    前記第1の候補着目点が安定していることの決定に応答して、前記複数の画像の中から、前記第1の候補着目点および第1の対の画像を選択し、前記ニューラルネットワークを訓練することであって、前記第1の対の画像は、前記環境内の前記第1の候補着目点を描写する、こと
    を含む、請求項18に記載のシステム。
  20. 前記第1の候補着目点が安定していることを決定することは、
    前記第1の候補着目点が、第1の閾値数を超える前記複数の画像の画像の数に描写されていることを決定することと、
    前記第1の候補着目点と関連付けられる再投影誤差が、第1の閾値誤差レベル未満であることを決定することと
    を含む、請求項18に記載のシステム。
  21. 候補着目点毎に、前記個別の安定性メトリックを決定することは、第2の候補着目点が不安定であることを決定することを含む、請求項20に記載のシステム。
  22. 前記候補着目点の1つ以上のものに基づいて、前記ニューラルネットワークを修正することは、
    前記第2の候補着目点が不安定であることの決定に応答して、前記複数の画像の中から、前記第2の候補着目点および第2の対の画像を選択して、前記ニューラルネットワークを訓練することであって、前記第2の対の画像は、前記環境内の前記第2の候補着目点を描写する、こと
    を含む、請求項21に記載のシステム。
  23. 前記第2の候補着目点が不安定であることを決定することは、
    前記第2の候補着目点が、第2の閾値数を超える前記複数の画像の画像の数に描写されていることを決定することと、
    前記第2の候補着目点と関連付けられる再投影誤差が、第2の閾値誤差レベルを上回ることを決定することと
    を含む、請求項21に記載のシステム。
  24. 前記第1の閾値数は、前記第2の閾値数に等しい、請求項23に記載のシステム。
  25. 前記第1の閾値誤差レベルは、前記第2の閾値誤差レベル未満である、請求項23に記載のシステム。
  26. 候補着目点毎に、前記個別の安定性メトリックを決定することは、第3の候補着目点が、前記ニューラルネットワークの訓練から省略されるべきであることを決定することを含む、請求項23に記載のシステム。
  27. 前記第3の候補着目点が、前記ニューラルネットワークの訓練から省略されるべきであることを決定することは、
    前記第3の候補着目点が、第3の閾値数未満の前記複数の画像の画像の数に描写されていること、または
    前記第3の候補着目点と関連付けられる再投影誤差が、前記第1の閾値誤差レベルと前記第2の閾値誤差レベルとの間であることを決定すること
    のうちの少なくとも1つを決定することを含む、請求項26に記載のシステム。
  28. 前記第3の閾値数は、前記第1の閾値数に等しい、請求項27に記載のシステム。
  29. 前記複数の画像は、ビデオシーケンスから抽出された2次元画像を備える、請求項17に記載のシステム。
  30. 前記複数の画像は、前記ビデオシーケンスの非連続的フレームに対応する、請求項29に記載のシステム。
  31. 前記命令の1つ以上のシーケンスは、1つ以上のプロセッサによって実行されると、
    前記ニューラルネットワークを修正することに続いて、前記ニューラルネットワークによって、第2の環境の第2の複数の画像を頭部搭載型ディスプレイデバイスから受信することと、
    前記ニューラルネットワークによって、第2の着目点のセットを識別することと、
    前記ニューラルネットワークによって、前記第2の複数の画像および前記第2の着目点のセットに基づいて、前記第2の環境に対してビジュアルオドメトリを実施することと
    をさらに生じさせる、請求項17に記載のシステム。
  32. 前記第2の環境に対してビジュアルオドメトリを実施することは、前記第2の着目点のセットを目印として使用して、前記頭部搭載型ディスプレイデバイスの位置および配向を決定することを含む、請求項31に記載のシステム。

JP2021526271A 2018-11-15 2019-11-13 自己改良ビジュアルオドメトリを実施するためのシステムおよび方法 Active JP7357676B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862767887P 2018-11-15 2018-11-15
US62/767,887 2018-11-15
US201962913378P 2019-10-10 2019-10-10
US62/913,378 2019-10-10
PCT/US2019/061272 WO2020102417A1 (en) 2018-11-15 2019-11-13 Systems and methods for performing self-improving visual odometry

Publications (2)

Publication Number Publication Date
JP2022508103A JP2022508103A (ja) 2022-01-19
JP7357676B2 true JP7357676B2 (ja) 2023-10-06

Family

ID=70730320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021526271A Active JP7357676B2 (ja) 2018-11-15 2019-11-13 自己改良ビジュアルオドメトリを実施するためのシステムおよび方法

Country Status (5)

Country Link
US (1) US11921291B2 (ja)
EP (1) EP3881125A4 (ja)
JP (1) JP7357676B2 (ja)
CN (1) CN113272713A (ja)
WO (1) WO2020102417A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111882613A (zh) * 2020-07-24 2020-11-03 中国科学院上海微系统与信息技术研究所 基于边缘语义的视觉里程计方法、装置、存储介质及设备
CN112050828B (zh) * 2020-09-13 2022-06-10 常州沃翌智能科技有限公司 一种基于深度学习的视觉里程计及里程方法
US11734855B2 (en) * 2020-11-20 2023-08-22 Kabushiki Kaisha Toshiba Rotation equivariant orientation estimation for omnidirectional localization
CN114034312B (zh) * 2021-11-05 2024-03-26 太原理工大学 一种轻量级多解耦的视觉里程计实现方法
CN114782701B (zh) * 2022-03-15 2023-01-03 广东科学技术职业学院 时序地标图像特征匹配方法、装置、电子设备及介质
EP4254354A1 (en) * 2022-03-28 2023-10-04 Naver Corporation System and method using pyramidal and uniqueness matching priors for identifying correspondences between images
CN115860091B (zh) * 2023-02-15 2023-04-28 武汉图科智能科技有限公司 一种基于正交约束的深度特征描述符学习方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017168899A1 (ja) 2016-03-30 2017-10-05 ソニー株式会社 情報処理方法および情報処理装置
WO2018138782A1 (ja) 2017-01-24 2018-08-02 富士通株式会社 情報処理装置、特徴点抽出プログラムおよび特徴点抽出方法
US20180293738A1 (en) 2017-04-07 2018-10-11 Adobe Systems Incorporated Forecasting Multiple Poses Based on a Graphical Image

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014056537A1 (en) * 2012-10-11 2014-04-17 Longsand Limited Using a probabilistic model for detecting an object in visual data
US10210427B2 (en) 2014-07-09 2019-02-19 Slyce Acquisition Inc. Systems, methods, and devices for image matching and object recognition in images
US9940717B2 (en) * 2014-12-23 2018-04-10 Intel Corporation Method and system of geometric camera self-calibration quality assessment
US9866815B2 (en) * 2015-01-05 2018-01-09 Qualcomm Incorporated 3D object segmentation
WO2017029488A2 (en) 2015-08-14 2017-02-23 Metail Limited Methods of generating personalized 3d head models or 3d body models
CA3015164A1 (en) * 2016-02-18 2017-08-24 Edx Technologies, Inc. Systems and methods for augmented reality representations of networks
WO2018013495A1 (en) * 2016-07-11 2018-01-18 Gravity Jack, Inc. Augmented reality methods and devices
JP7083809B2 (ja) 2016-08-02 2022-06-13 アトラス5ディー, インコーポレイテッド プライバシーの保護を伴う人物の識別しおよび/または痛み、疲労、気分、および意図の識別および定量化のためのシステムおよび方法
KR102529137B1 (ko) * 2016-08-22 2023-05-03 매직 립, 인코포레이티드 딥 러닝 센서들을 갖는 증강 현실 디스플레이 디바이스
CN106708037A (zh) * 2016-12-05 2017-05-24 北京贝虎机器人技术有限公司 自主移动式设备定位的方法、装置及自主移动式设备
WO2018125812A1 (en) * 2017-01-02 2018-07-05 Gauss Surgical, Inc. Tracking surgical items with prediction of duplicate imaging of items
KR20180087994A (ko) * 2017-01-26 2018-08-03 삼성전자주식회사 스테레오 매칭 방법 및 영상 처리 장치
US11379688B2 (en) * 2017-03-16 2022-07-05 Packsize Llc Systems and methods for keypoint detection with convolutional neural networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017168899A1 (ja) 2016-03-30 2017-10-05 ソニー株式会社 情報処理方法および情報処理装置
WO2018138782A1 (ja) 2017-01-24 2018-08-02 富士通株式会社 情報処理装置、特徴点抽出プログラムおよび特徴点抽出方法
US20180293738A1 (en) 2017-04-07 2018-10-11 Adobe Systems Incorporated Forecasting Multiple Poses Based on a Graphical Image

Also Published As

Publication number Publication date
WO2020102417A1 (en) 2020-05-22
JP2022508103A (ja) 2022-01-19
US20220028110A1 (en) 2022-01-27
US11921291B2 (en) 2024-03-05
CN113272713A (zh) 2021-08-17
EP3881125A4 (en) 2022-08-31
EP3881125A1 (en) 2021-09-22

Similar Documents

Publication Publication Date Title
JP7403700B2 (ja) ホモグラフィ適合を介した完全畳み込み着目点検出および記述
JP7357676B2 (ja) 自己改良ビジュアルオドメトリを実施するためのシステムおよび方法
JP7422785B2 (ja) ニューラルネットワークおよび角検出器を使用した角検出のための方法および装置
JP7250709B2 (ja) 畳み込み画像変換を使用して同時位置特定およびマッピングを実施する方法およびシステム
US11880927B2 (en) Three-dimensional object reconstruction from a video
JP7178396B2 (ja) 入力映像に含まれた客体の3次元ポーズの推定のためのデータを生成する方法およびコンピュータシステム
Rogez et al. Image-based synthesis for deep 3D human pose estimation
Barros et al. Fusion of keypoint tracking and facial landmark detection for real-time head pose estimation
US11783532B1 (en) View synthesis using attribute correspondences and geometric relationship constraints
Joswig et al. Improved deep depth estimation for environments with sparse visual cues
Singh Computational modeling of gaze behaviour in real-world settings
Bingham An Interest Point Based Illumination Condition Matching Approach to Photometric Registration Within Augmented Reality Worlds

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230913

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230922

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230926

R150 Certificate of patent or registration of utility model

Ref document number: 7357676

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150