JP2024028494A - ニューラルネットワークおよび角検出器を使用した角検出のための方法および装置 - Google Patents
ニューラルネットワークおよび角検出器を使用した角検出のための方法および装置 Download PDFInfo
- Publication number
- JP2024028494A JP2024028494A JP2024004488A JP2024004488A JP2024028494A JP 2024028494 A JP2024028494 A JP 2024028494A JP 2024004488 A JP2024004488 A JP 2024004488A JP 2024004488 A JP2024004488 A JP 2024004488A JP 2024028494 A JP2024028494 A JP 2024028494A
- Authority
- JP
- Japan
- Prior art keywords
- interest
- image
- calculated
- points
- 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.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 265
- 238000000034 method Methods 0.000 title claims abstract description 159
- 238000001514 detection method Methods 0.000 title claims abstract description 112
- 238000012549 training Methods 0.000 claims description 42
- 230000003287 optical effect Effects 0.000 claims description 31
- 230000004931 aggregating effect Effects 0.000 claims description 12
- 238000012545 processing Methods 0.000 abstract description 148
- 238000010586 diagram Methods 0.000 abstract description 4
- 210000001508 eye Anatomy 0.000 description 27
- 230000015654 memory Effects 0.000 description 24
- 210000004027 cell Anatomy 0.000 description 21
- 210000003128 head Anatomy 0.000 description 21
- 230000004807 localization Effects 0.000 description 21
- 230000004044 response Effects 0.000 description 20
- 238000013527 convolutional neural network Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 230000009466 transformation Effects 0.000 description 11
- 238000013459 approach Methods 0.000 description 10
- 230000002776 aggregation Effects 0.000 description 9
- 238000004220 aggregation Methods 0.000 description 9
- 230000008901 benefit Effects 0.000 description 8
- 239000002131 composite material Substances 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 230000001629 suppression Effects 0.000 description 7
- 238000010237 hybrid technique Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000006978 adaptation Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 210000002569 neuron Anatomy 0.000 description 5
- 238000000844 transformation Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 230000008447 perception Effects 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000001994 activation Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 210000004556 brain Anatomy 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 210000000613 ear canal Anatomy 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000003607 modifier Substances 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000009827 uniform distribution Methods 0.000 description 2
- 241000473391 Archosargus rhomboidalis Species 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000282412 Homo Species 0.000 description 1
- 230000004308 accommodation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 210000003423 ankle Anatomy 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 229910003460 diamond Inorganic materials 0.000 description 1
- 239000010432 diamond Substances 0.000 description 1
- 230000003467 diminishing effect Effects 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000005043 peripheral vision Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000010189 synthetic method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 210000000857 visual cortex Anatomy 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0346—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G06T3/18—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
- G06V10/7753—Incorporation of unlabelled data, e.g. multiple instance learning [MIL]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/0138—Head-up displays characterised by optical features comprising image capture systems, e.g. camera
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0101—Head-up displays characterised by optical features
- G02B2027/014—Head-up displays characterised by optical features comprising information/image processing systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20112—Image segmentation details
- G06T2207/20164—Salient point detection; Corner detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Abstract
【課題】好適なニューラルネットワークおよび角検出器を使用した角検出のための方法および装置を提供すること。【解決手段】ユーザによって頭部に装着されるように構成される装置は、ユーザのためにグラフィックを提示するように構成される画面と、ユーザが位置する環境を視認するように構成されるカメラシステムと、カメラシステムに結合される処理ユニットであって、環境の画像に関する特徴の場所を取得することであって、特徴の場所は、ニューラルネットワークによって識別される、ことと、画像内の特徴のうちの1つに関する着目領域を決定することであって、着目領域は、画像のサイズ未満のサイズを有する、ことと、角検出アルゴリズムを使用して、角検出を実施し、着目領域内の角を識別することとを行うように構成される、処理ユニットとを含む。【選択図】図22A
Description
本開示は、頭部装着型画像ディスプレイデバイスと、頭部装着型画像ディスプレイデバイスによって生成された画像内の角を検出するための方法および装置とに関する。
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」(VR)または「拡張現実」(AR)体験のための「複合現実」(MR)システムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える、またはそのように知覚され得る様式で、ユーザに提示される。VRシナリオは、典型的には、実世界の視覚的入力に対する透過性を伴わずに、デジタルまたは仮想画像情報の提示を伴う。ARシナリオは、典型的には、ユーザの周囲の実世界の可視化(すなわち、実世界視覚的入力に対する透過性)に対する拡張としてデジタルまたは仮想画像情報の提示を伴う。故に、ARシナリオは、実世界視覚的入力に対する透過性を伴う、デジタルまたは仮想画像情報の提示を伴う。
MRシステムは、カラーデータを生成および表示し得、これは、MRシナリオの現実性を増加させる。これらのMRシステムの多くは、カラー画像に対応する異なる(例えば、原)色または「フィールド」(例えば、赤色、緑色、および青色)内のサブ画像を高速で連続して順次投影させることによって、カラーデータを表示する。カラーサブ画像を十分に高レート(例えば、60Hz、120Hz等)で投影させることは、平滑なカラーMRシナリオをユーザの記憶にもたらし得る。
種々の光学システムは、MR(VRおよびAR)シナリオを表示するために、種々の深度において、カラー画像を含む、画像を生成する。MRシステムは、少なくとも、ユーザの頭部に緩く結合され、したがって、ユーザの頭部が移動すると移動する、ウェアラブルディスプレイデバイス(例えば、頭部装着型ディスプレイ、ヘルメット搭載型ディスプレイ、またはスマートグラス)を採用し得る。ユーザの頭部運動が、ディスプレイデバイスによって検出される場合、表示されているデータは、頭部姿勢(すなわち、ユーザの頭部の配向および/または場所)の変化を考慮するために更新(例えば、「ワーピング」)され得る。
実施例として、頭部装着型ディスプレイデバイスを装着しているユーザが、ディスプレイ上の仮想オブジェクトの仮想表現を視認し、仮想オブジェクトが現れている面積の周囲を歩き回る場合、仮想オブジェクトは、視点毎にレンダリングされ、実空間を占有するオブジェクトの周囲を歩き回っているという知覚をユーザに与えることができる。頭部装着型ディスプレイデバイスが、複数の仮想オブジェクトを提示するために使用される場合、頭部姿勢の測定が、ユーザの動的に変化する頭部姿勢にマッチングし、没入感の増加を提供するように場面をレンダリングするために使用されることができる。
ARを有効にする、頭部装着型ディスプレイデバイスは、実および仮想オブジェクトの両方の同時視認を提供する。「光学シースルー」ディスプレイを用いることで、ユーザは、ディスプレイシステム内の透明(または半透明)要素を通して見え、直接、環境内の実オブジェクトからの光を視認することができる。透明要素は、多くの場合、「コンバイナ」と称され、ディスプレイからの光を実世界のユーザのビューにわたって重畳し、ディスプレイからの光は、仮想コンテンツの画像を環境内の実オブジェクトのシースルービューにわたって投影される。カメラが、頭部装着型ディスプレイデバイス上に搭載され、ユーザによって視認されている場面の画像またはビデオを捕捉し得る。
MRシステムにおけるもの等の現在の光学システムは、仮想コンテンツを光学的にレンダリングする。コンテンツは、空間内の個別の位置に位置する実際の物理的オブジェクトに対応しないという点で、「仮想」である。代わりに、仮想コンテンツは、ユーザの眼に指向される光ビームによって刺激されるとき、頭部装着型ディスプレイデバイスのユーザの脳(例えば、視覚中枢)内にのみ存在する。
ある場合には、頭部装着型画像ディスプレイデバイスは、実環境に対して仮想オブジェクトを表示し得、および/またはユーザが実環境に対して仮想オブジェクトを設置および/または操作することを可能にし得る。そのような場合、画像ディスプレイデバイスは、仮想オブジェクトが実環境に対して正しく変位され得るように、実環境に対するユーザを位置特定するように構成され得る。位置特定マップが、頭部装着型画像ディスプレイデバイスによって使用され、位置特定を実施し得る。特に、位置特定を実施するとき、画像ディスプレイデバイスは、リアルタイム入力画像を画像ディスプレイデバイスのカメラシステムから取得し、入力画像内の特徴と位置特定マップの特徴をマッチングさせ得る。
故に、特徴検出は、頭部装着型画像ディスプレイデバイスのための重要な特徴である。画像内の角等の特徴を検出するための方法および装置が、本明細書に説明される。検出された角は、位置特定マップを作成するための特徴として利用され得る。代替として、角は、ユーザの位置特定のための位置特定マップの特徴とマッチングさせるための入力画像からの特徴として検出され得る。
本開示は、概して、ニューラルネットワークと角検出器の組み合わせを使用した着目点検出に関する。
本明細書に説明される一実施形態では、ハイブリッドアプローチ(ニューラルネットワークおよび特徴検出器の両方を使用する)が、リアルタイムまたは非リアルタイムで画像を処理し、特徴(例えば、角)候補を抽出するために、ニューラルネットワーク(例えば、軽量ニューラルネットワーク)とともに、ハードウェアおよび/またはソフトウェアブロックを利用して、特徴(例えば、角)の良好な候補が存在するエリアを効率的に分類および抽出する。次いで、良好な特徴(例えば、角)が、候補から選択される。本技法は、より高い画像雑音(例えば、低光量下において)、および既存のソリューションが全てその性質上非常に局所的であるため、特徴(例えば、角)を識別することが困難であるエリアに悩まされている、既存のソリューションより優れている。ニューラルネットワークの利点は、画像のより大きいコンテキストを使用して、近隣のピクセルのみに基づいて行うことが困難である場合でも、特徴(例えば、角)を識別することである。ハイブリッドアプローチはまた、特徴(例えば、角)を抽出するように訓練される、他のニューラルネットワークより優れている。特に、これらのニューラルネットワークは、多くの算出リソースおよびメモリを費やし、リアルタイムではない、エンドツーエンドで特徴(例えば、角)を抽出するため、本明細書に説明されるハイブリッドアプローチほど高速かつ効率的では全くない。
ユーザによって頭部に装着されるように構成される、装置は、ユーザのためにグラフィックを提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、カメラシステムに結合される、処理ユニットであって、環境の画像に関する特徴の場所を取得することであって、特徴の場所は、ニューラルネットワークによって識別される、ことと、画像内の特徴のうちの1つに関する着目領域を決定することであって、着目領域は、画像のサイズ未満のサイズを有する、ことと、角検出アルゴリズムを使用して、角検出を実施し、着目領域内の角を識別することとを行うように構成される、処理ユニットとを含む。
ユーザによって頭部に装着されるように構成される、装置は、ユーザのためにグラフィックを提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、カメラシステムに結合される、処理ユニットであって、環境と関連付けられる画像データに関する特徴の場所を取得することであって、特徴の場所は、ニューラルネットワークによって識別される、ことと、画像内の特徴のうちの1つに関する着目領域を決定することであって、着目領域は、画像のサイズ未満のサイズを有する、ことと、角検出アルゴリズムを使用して、角検出を実施し、着目領域内の角を識別することとを行うように構成される、処理ユニットとを含む。
随意に、処理ユニットは、ニューラルネットワークによって識別される場所のうちの少なくとも1つに基づく位置を有するような着目領域を決定するように構成され、位置は、画像に対するものである。
随意に、画像データは、カメラシステムによって生成され、ニューラルネットワークに伝送される、少なくとも1つの画像と関連付けられる。
随意に、カメラシステムは、画像を生成し、画像をニューラルネットワークに伝送するように構成される。
随意に、ニューラルネットワークは、装置のモジュール内にある。
随意に、ニューラルネットワークは、装置から遠隔の1つ以上のコンピューティングデバイス内に実装される。
随意に、ニューラルネットワークは、機械学習能力を有する。
随意に、処理ユニットは、ニューラルネットワークによって生成されたヒートマップを取得することによって、特徴の場所を取得するように構成され、ヒートマップは、特徴の場所を示す。
随意に、着目領域は、N×N個のパッチを備え、処理ユニットは、角検出をN×N個のパッチ上で実施するように構成され、Nは、1より大きい整数である。
随意に、着目領域は、144個のピクセルまたはそれ未満を有する、パッチを備え、処理ユニットは、角検出をパッチ上で実施するように構成される。
随意に、着目領域は、8×8個のパッチを備え、処理ユニットは、角検出を8×8個のパッチ上で実施するように構成される。
随意に、画像データは、カメラシステムによって生成された少なくとも1つの高分解能画像からの分解能が低減された少なくとも1つの低分解能画像を含む。
随意に、画像は、第1の分解能を有し、特徴の場所は、第1の分解能未満である第2の分解能を有する、他の画像に基づいて、ニューラルネットワークによって識別される。
随意に、処理ユニットはまた、第1の分解能を伴う画像を第2の分解能を伴う他の画像に変換するように構成される。
随意に、第1の分解能は、VGA分解能を備える。
随意に、第2の分解能は、QVGA分解能を備える。
随意に、本装置はさらに、ニューラルネットワークを含む。
随意に、ニューラルネットワークは、基準データセットを使用して訓練されている。
随意に、ニューラルネットワークは、畳み込みニューラルネットワークを備える。
随意に、ニューラルネットワークは、着目点場所および記述子を算出するように構成される。
随意に、ニューラルネットワークは、入力画像を空間的にダウンサンプリングするように構成される、エンコーダを備える。
随意に、ニューラルネットワークはまた、エンコーダからのエンコーダ出力に作用し、入力画像内のピクセル毎に、スコアを生産するように構成される、着目点デコーダと、エンコーダ出力に作用し、エンコーダ出力をより高い分解能にアップサンプリングし、入力画像内のピクセル毎に、ベクトルを生産するように構成される、記述子デコーダとを備える。
随意に、ニューラルネットワークは、着目点検出器の幾何学的一貫性を改良するために、ホモグラフィ適合を使用するように構成される。
随意に、ニューラルネットワークは、着目点検出器を訓練するように構成される、畳み込みニューラルネットワークを備える。
随意に、ニューラルネットワークは、画像ワーピングを実施し、ホモグラフィ適合内で1つ以上のワーピングされた画像を作成するように構成される。
随意に、処理ユニットは、少なくとも部分的に、着目領域内の角の位置に基づいて、画像内の角の位置を決定するように構成される。
随意に、本装置はさらに、画像内の第1の角の位置を記憶するように構成される、非一過性媒体を含む。
随意に、処理ユニットは、着目領域内のピクセル毎に、スコアを決定するように構成される。
随意に、ニューラルネットワークは、処理ユニットの一部である。
随意に、本装置はさらに、ニューラルネットワークを含み、ニューラルネットワークは、処理ユニットに通信可能に結合される。
頭部装着型画像ディスプレイデバイスによって実施される方法は、画像内の特徴の場所を取得するステップであって、特徴の場所は、ニューラルネットワークによって識別される、ステップと、画像内の特徴のうちの1つに関する着目領域を決定するステップであって、着目領域は、画像のサイズ未満のサイズを有する、ステップと、角検出アルゴリズムを使用して、角検出を実施し、着目領域内の角を識別するステップとを含む。
随意に、着目領域は、ニューラルネットワークによって識別される場所のうちの少なくとも1つに基づく位置を有するように決定され、位置は、画像に対するものである。
随意に、本方法はさらに、画像を生成するステップと、画像をニューラルネットワークに伝送するステップとを含む。
随意に、ニューラルネットワークは、頭部装着型画像ディスプレイデバイスのモジュール内にある。
随意に、ニューラルネットワークは、頭部装着型画像ディスプレイデバイスから遠隔の1つ以上のコンピューティングデバイス内に実装される。
随意に、ニューラルネットワークは、機械学習能力を有する。
随意に、特徴の場所は、ニューラルネットワークからヒートマップを受信することによって取得され、ヒートマップは、特徴の場所を示す。
随意に、着目領域は、N×N個のパッチを備え、角検出は、N×N個のパッチ上で実施され、Nは、1より大きい整数である。
随意に、着目領域は、144個のピクセルまたはそれ未満を有する、パッチを備え、角検出は、パッチ上で実施される。
随意に、着目領域は、8×8個のパッチを備え、角検出は、8×8個のパッチ上で実施される。
随意に、画像は、第1の分解能を有し、特徴の場所は、第1の分解能未満である第2の分解能を有する、他の画像に基づいて、ニューラルネットワークによって識別される。
随意に、本方法はさらに、第1の分解能を伴う画像を第2の分解能を伴う他の画像に変換するステップを含む。
随意に、第1の分解能は、VGA分解能を備える。
随意に、第2の分解能は、QVGA分解能を備える。
随意に、本方法はさらに、ニューラルネットワークを含む。
随意に、ニューラルネットワークは、基準データセットを使用して訓練されている。
随意に、ニューラルネットワークは、畳み込みニューラルネットワークを備える。
随意に、ニューラルネットワークは、着目点場所および記述子を算出するように構成される。
随意に、ニューラルネットワークは、入力画像を空間的にダウンサンプリングするように構成される、エンコーダを備える。
随意に、ニューラルネットワークはまた、エンコーダからのエンコーダ出力に作用し、入力画像内のピクセル毎に、スコアを生産するように構成される、着目点デコーダと、エンコーダ出力に作用し、エンコーダ出力をより高い分解能にアップサンプリングし、入力画像内のピクセル毎に、ベクトルを生産するように構成される、記述子デコーダとを備える。
随意に、ニューラルネットワークは、着目点検出器の幾何学的一貫性を改良するために、ホモグラフィ適合を使用するように構成される。
随意に、ニューラルネットワークは、畳み込みニューラルネットワークを備え、着目点検出器は、畳み込みニューラルネットワークを用いて訓練される。
随意に、ニューラルネットワークは、画像ワーピングを実施し、ホモグラフィ適合内で1つ以上のワーピングされた画像を作成するように構成される。
随意に、本方法はさらに、少なくとも部分的に、着目領域内の角の位置に基づいて、画像内の角の位置を決定するステップを含む。
随意に、本方法はさらに、画像内の第1の角の位置を非一過性媒体内に記憶するステップを含む。
随意に、本方法はさらに、着目領域内のピクセル毎に、スコアを決定するステップを含む。
画像着目点検出のためにニューラルネットワークを訓練および使用する方法は、複数の基準セットを備える、基準データセットを生成するステップであって、複数の基準セットはそれぞれ、画像と、画像に対応する、基準着目点のセットとを含む、ステップと、複数の基準セットの基準セット毎に、ホモグラフィを画像に適用することによって、ワーピングされた画像を生成するステップと、ホモグラフィを基準着目点のセットに適用することによって、ワーピングされた基準着目点のセットを生成するステップと、ニューラルネットワークが画像を入力として受信することによって、計算された着目点および計算された記述子のセットを計算するステップと、ニューラルネットワークがワーピングされた画像を入力として受信することによって、計算されワーピングされた着目点および計算されワーピングされた記述子のセットを計算するステップと、計算された着目点のセット、計算された記述子、計算されワーピングされた着目点のセット、計算されワーピングされた記述子、基準着目点のセット、ワーピングされた基準着目点のセット、およびホモグラフィに基づいて、損失を計算するステップと、損失に基づいて、ニューラルネットワークを修正するステップとを含み、本方法はさらに、入力画像内の特徴の場所を取得するステップであって、特徴の場所は、ニューラルネットワークによって識別される、ステップと、入力画像内の特徴のうちの1つに関する着目領域を決定するステップであって、着目領域は、入力画像のサイズ未満のサイズを有する、ステップと、角検出アルゴリズムを使用して、角検出を実施し、着目領域内の角を識別するステップとを含む。
随意に、ニューラルネットワークは、着目点検出器サブネットワークおよび記述子サブネットワークを含み、着目点検出器サブネットワークは、画像を入力として受信し、画像に基づいて、計算された着目点のセットを計算するように構成され、記述子サブネットワークは、画像を入力として受信し、画像に基づいて、計算された記述子を計算するように構成される。
随意に、損失に基づいて、ニューラルネットワークを修正するステップは、損失に基づいて、着目点検出器サブネットワークおよび記述子サブネットワークの一方または両方を修正するステップを含む。
随意に、本方法はさらに、基準データセットを生成するステップに先立って、複数の合成画像と、合成着目点の複数のセットとを含む、合成データセットを使用して、着目点検出器サブネットワークを訓練するステップを含み、基準データセットを生成するステップは、着目点検出器サブネットワークを使用して、基準データセットを生成するステップを含む。
随意に、基準データセットを生成するステップは、複数の基準セットの基準セット毎に、複数の未標識画像を備える、未標識データセットから、画像を取得するステップと、複数のホモグラフィを画像に適用することによって、複数のワーピングされた画像を生成するステップと、ニューラルネットワークが複数のワーピングされた画像を入力として受信することによって、複数の計算されワーピングされた着目点のセットを計算するステップと、複数の逆ホモグラフィを複数のセットの計算されワーピングされた着目点に適用することによって、複数の計算された着目点のセットを生成するステップと、計算された着目点の複数のセットを集約し、基準着目点のセットを取得するステップとを含む。
随意に、複数の基準セットはそれぞれさらに、画像に対応する、基準記述子を含み、基準データセットを生成するステップは、複数の基準セットの基準セット毎に、複数の未標識画像を備える、未標識データセットから、画像を取得するステップと、複数のホモグラフィを画像に適用することによって、複数のワーピングされた画像を生成するステップと、ニューラルネットワークが複数のワーピングされた画像を入力として受信することによって、複数の計算されワーピングされた記述子を計算するステップと、複数の逆ホモグラフィを複数の計算されワーピングされた記述子に適用することによって、複数の計算された記述子を生成するステップと、複数の計算された記述子を集約し、基準記述子を取得するステップとを含む。
随意に、基準着目点のセットは、画像の特定のピクセルが特定のピクセルに位置する着目点を有する、確率に対応する、値を有する、2次元マップである。
方法は、第1の画像を捕捉するステップと、第2の画像を捕捉するステップと、ニューラルネットワークが第1の画像を入力として受信することによって、第1の計算された着目点のセットおよび第1の計算された記述子を計算するステップと、ニューラルネットワークが第2の画像を入力として受信することによって、第2の計算された着目点のセットおよび第2の計算された記述子を計算するステップと、第1および第2の計算された着目点のセットと、第1および第2の計算された記述子とに基づいて、第1の画像と第2の画像との間のホモグラフィを決定するステップとを含み、ニューラルネットワークは、第1の計算された着目点のセットおよび第2の計算された着目点のセットを計算するように構成される、着目点検出器サブネットワークと、第1の計算された記述子および第2の計算された記述子を計算するように構成される、記述子サブネットワークとを含み、本方法はさらに、入力画像内の特徴の場所を取得するステップであって、特徴の場所は、ニューラルネットワークによって識別される、ステップと、入力画像内の特徴のうちの1つに関する着目領域を決定するステップであって、着目領域は、入力画像のサイズ未満のサイズを有する、ステップと、角検出アルゴリズムを使用して、角検出を実施し、着目領域内の角を識別するステップとを含む。
随意に、着目点検出器サブネットワークは、記述子サブネットワークが第1の計算された記述子を計算するのと並行して、第1の計算された着目点のセットを計算するように構成され、着目点検出器サブネットワークは、記述子サブネットワークが第2の計算された記述子を計算するのと並行して、第2の計算された着目点のセットを計算するように構成される。
随意に、本方法はさらに、複数の基準セットを備える、基準データセットを生成することによって、ニューラルネットワークを訓練するステップであって、複数の基準セットはそれぞれ、画像と、画像に対応する、基準着目点のセットとを含む、ステップと、複数の基準セットの基準セット毎に、ホモグラフィを画像に適用することによって、ワーピングされた画像を生成するステップと、ホモグラフィを基準着目点のセットに適用することによって、ワーピングされた基準着目点のセットを生成するステップと、ニューラルネットワークが画像を入力として受信することによって、計算された着目点のセットおよび計算された記述子を計算するステップと、ニューラルネットワークがワーピングされた画像を入力として受信することによって、計算されワーピングされた着目点のセットおよび計算されワーピングされた記述子を計算するステップと、計算された着目点のセット、計算された記述子、計算されワーピングされた着目点のセット、計算されワーピングされた記述子、基準着目点のセット、ワーピングされた基準着目点のセット、およびホモグラフィに基づいて、損失を計算するステップと、損失に基づいて、ニューラルネットワークを修正するステップとを含む。
随意に、損失に基づいて、ニューラルネットワークを修正するステップは、損失に基づいて、着目点検出器サブネットワークおよび記述子サブネットワークの一方または両方を修正するステップを含む。
随意に、本方法はさらに、基準データセットを生成するステップに先立って、複数の合成画像と、合成着目点の複数のセットとを含む、合成データセットを使用して、着目点検出器サブネットワークを訓練するステップを含み、基準データセットを生成するステップは、着目点検出器サブネットワークを使用して、基準データセットを生成するステップを含む。
随意に、基準データセットを生成するステップは、複数の基準セットの基準セット毎に、複数の未標識画像を備える、未標識データセットから、画像を取得するステップと、複数のホモグラフィを画像に適用することによって、複数のワーピングされた画像を生成するステップと、ニューラルネットワークが複数のワーピングされた画像を入力として受信することによって、複数の計算されワーピングされた着目点のセットを計算するステップと、複数の逆ホモグラフィを複数のセットの計算されワーピングされた着目点に適用することによって、複数の計算された着目点のセットを生成するステップと、計算された着目点の複数のセットを集約し、基準着目点のセットを取得するステップとを含む。
随意に、複数の基準セットはそれぞれさらに、画像に対応する、基準記述子を含み、基準データセットを生成するステップは、複数の基準セットの基準セット毎に、複数の未標識画像を備える、未標識データセットから、画像を取得するステップと、複数のホモグラフィを画像に適用することによって、複数のワーピングされた画像を生成するステップと、ニューラルネットワークが複数のワーピングされた画像を入力として受信することによって、複数の計算されワーピングされた記述子を計算するステップと、複数の逆ホモグラフィを複数の計算されワーピングされた記述子に適用することによって、複数の計算された記述子を生成するステップと、複数の計算された記述子を集約し、基準記述子を取得するステップとを含む。
光学デバイスは、第1の画像および第2の画像を捕捉するように構成される、少なくとも1つのカメラと、カメラに結合され、第1の画像および第2の画像を少なくとも1つのカメラから受信するステップと、ニューラルネットワークが第1の画像を入力として使用することによって、第1の計算された着目点のセットおよび第1の計算された記述子を計算するステップと、ニューラルネットワークが第2の画像を入力として使用することによって、第2の計算された着目点のセットおよび第2の計算された記述子を計算するステップと、第1および第2の計算された着目点のセットと、第1および第2の計算された記述子とに基づいて、第1の画像と第2の画像との間のホモグラフィを決定するステップとを含む、動作を実施するように構成される、1つ以上のプロセッサとを含み、ニューラルネットワークは、第1の計算された着目点のセットおよび第2の計算された着目点のセットを計算するように構成される、着目点検出器サブネットワークと、第1の計算された記述子および第2の計算された記述子を計算するように構成される、記述子サブネットワークとを含み、1つ以上のプロセッサは、入力画像内の特徴の場所を取得することであって、特徴の場所は、ニューラルネットワークによって識別される、ことと、入力画像内の特徴のうちの1つに関する着目領域を決定することであって、着目領域は、画像のサイズ未満のサイズを有する、ことと、角検出アルゴリズムを使用して、角検出を実施し、着目領域内の角を識別することとを行うように構成される。
随意に、着目点検出器サブネットワークは、記述子サブネットワークが第1の計算された記述子を計算するのと並行して、第1の計算された着目点のセットを計算するように構成され、着目点検出器サブネットワークは、記述子サブネットワークが第2の計算された記述子を計算するのと並行して、第2の計算された着目点のセットを計算するように構成される。
随意に、ニューラルネットワークは、複数の基準セットを備える、基準データセットを生成するステップであって、複数の基準セットはそれぞれ、画像と、画像に対応する、基準着目点のセットとを含む、ステップと、複数の基準セットの基準セット毎に、ホモグラフィを画像に適用することによって、ワーピングされた画像を生成するステップと、ホモグラフィを基準着目点のセットに適用することによって、ワーピングされた基準着目点のセットを生成するステップと、ニューラルネットワークが画像を入力として受信することによって、計算された着目点のセットおよび計算された記述子を計算するステップと、ニューラルネットワークがワーピングされた画像を入力として受信することによって、計算されワーピングされた着目点のセットおよび計算されワーピングされた記述子を計算するステップと、計算された着目点のセット、計算された記述子、計算されワーピングされた着目点のセット、計算されワーピングされた記述子、基準着目点のセット、ワーピングされた基準着目点のセット、およびホモグラフィに基づいて、損失を計算するステップと、損失に基づいて、ニューラルネットワークを修正するステップとによって、事前に訓練されている。
随意に、損失に基づいて、ニューラルネットワークを修正するステップは、損失に基づいて、着目点検出器サブネットワークおよび記述子サブネットワークの一方または両方を修正するステップを含む。
随意に、基準データセットを生成するステップは、複数の基準セットの基準セット毎に、複数の未標識画像を備える、未標識データセットから、画像を取得するステップと、複数のホモグラフィを画像に適用することによって、複数のワーピングされた画像を生成するステップと、ニューラルネットワークが複数のワーピングされた画像を入力として受信することによって、複数の計算されワーピングされた着目点のセットを計算するステップと、複数の逆ホモグラフィを複数のセットの計算されワーピングされた着目点に適用することによって、複数の計算された着目点のセットを生成するステップと、計算された着目点の複数のセットを集約し、基準着目点のセットを取得するステップとを含む。
随意に、複数の基準セットはそれぞれさらに、画像に対応する、基準記述子を含み、基準データセットを生成するステップは、複数の基準セットの基準セット毎に、複数の未標識画像を備える、未標識データセットから、画像を取得するステップと、複数のホモグラフィを画像に適用することによって、複数のワーピングされた画像を生成するステップと、ニューラルネットワークが複数のワーピングされた画像を入力として受信することによって、複数の計算されワーピングされた記述子を計算するステップと、複数の逆ホモグラフィを複数の計算されワーピングされた記述子に適用することによって、複数の計算された記述子を生成するステップと、複数の計算された記述子を集約し、基準記述子を取得するステップとを含む。
本開示の付加的および他の目的、特徴、および利点は、詳細な説明、図、および請求項に説明される。
本発明は、例えば、以下を提供する。
(項目1)
ユーザによって頭部に装着されるように構成される装置であって、
前記ユーザのためにグラフィックを提示するように構成される画面と、
前記ユーザが位置する環境を視認するように構成されるカメラシステムと、
前記カメラシステムに結合される処理ユニットであって、前記処理ユニットは、
前記環境と関連付けられる画像データに関する特徴の場所を取得することであって、前記特徴の場所は、ニューラルネットワークによって識別される、ことと、
前記画像内の特徴のうちの1つに関する着目領域を決定することであって、前記着目領域は、前記画像のサイズ未満のサイズを有する、ことと、
角検出アルゴリズムを使用して、角検出を実施し、前記着目領域内の角を識別することと
を行うように構成される、処理ユニットと
を備える、装置。
(項目2)
前記処理ユニットは、前記ニューラルネットワークによって識別される場所のうちの少なくとも1つに基づく位置を有するような着目領域を決定するように構成され、前記位置は、前記画像に対するものである、項目1に記載の装置。
(項目3)
前記画像データは、少なくとも1つの画像と関連付けられ、前記少なくとも1つの画像は、前記カメラシステムによって生成され、前記ニューラルネットワークに伝送される、項目1に記載の装置。
(項目4)
前記ニューラルネットワークは、前記装置のモジュール内にある、項目1に記載の装置。
(項目5)
前記ニューラルネットワークは、前記装置から遠隔の1つ以上のコンピューティングデバイス内に実装される、項目1に記載の装置。
(項目6)
前記ニューラルネットワークは、機械学習能力を有する、項目1に記載の装置。
(項目7)
前記処理ユニットは、前記ニューラルネットワークによって生成されたヒートマップを取得することによって、前記特徴の場所を取得するように構成され、前記ヒートマップは、前記特徴の場所を示す、項目1に記載の装置。
(項目8)
前記着目領域は、N×N個のパッチを備え、前記処理ユニットは、前記角検出を前記N×N個のパッチ上で実施するように構成され、Nは、1より大きい整数である、項目1に記載の装置。
(項目9)
前記着目領域は、144個のピクセルまたはそれ未満を有するパッチを備え、前記処理ユニットは、前記角検出を前記パッチ上で実施するように構成される、項目1に記載の装置。
(項目10)
前記着目領域は、8×8個のパッチを備え、前記処理ユニットは、前記角検出を前記8×8個のパッチ上で実施するように構成される、項目1に記載の装置。
(項目11)
前記画像データは、前記カメラシステムによって生成された少なくとも1つの高分解能画像からの分解能が低減された少なくとも1つの低分解能画像を含む、項目1に記載の装置。
(項目12)
前記処理ユニットはまた、前記第1の分解能を伴う画像を前記第2の分解能を伴う他の画像に変換するように構成される、項目11に記載の装置。
(項目13)
前記第1の分解能は、VGA分解能を備える、項目11に記載の装置。
(項目14)
前記第2の分解能は、QVGA分解能を備える、項目11に記載の装置。
(項目15)
前記ニューラルネットワークをさらに備える、項目1に記載の装置。
(項目16)
前記ニューラルネットワークは、基準データセットを使用して訓練されている、項目15に記載の装置。
(項目17)
前記ニューラルネットワークは、畳み込みニューラルネットワークを備える、項目15に記載の装置。
(項目18)
前記ニューラルネットワークは、着目点場所および記述子を算出するように構成される、項目15に記載の装置。
(項目19)
前記ニューラルネットワークは、入力画像を空間的にダウンサンプリングするように構成されるエンコーダを備える、項目15に記載の装置。
(項目20)
前記ニューラルネットワークはまた、
着目点デコーダであって、前記着目点デコーダは、前記エンコーダからのエンコーダ出力に作用し、前記入力画像内のピクセル毎に、スコアを生産するように構成される、着目点デコーダと、
記述子デコーダであって、前記記述子デコーダは、前記エンコーダ出力に作用し、前記エンコーダ出力をより高い分解能にアップサンプリングし、前記入力画像内のピクセル毎に、ベクトルを生産するように構成される、記述子デコーダと
を備える、項目19に記載の装置。
(項目21)
前記ニューラルネットワークは、着目点検出器の幾何学的一貫性を改良するために、ホモグラフィ適合を使用するように構成される、項目15に記載の装置。
(項目22)
前記ニューラルネットワークは、前記着目点検出器を訓練するように構成される畳み込みニューラルネットワークを備える、項目21に記載の装置。
(項目23)
前記ニューラルネットワークは、画像ワーピングを実施し、前記ホモグラフィ適合内で1つ以上のワーピングされた画像を作成するように構成される、項目21に記載の装置。
(項目24)
前記処理ユニットは、少なくとも部分的に、前記着目領域内の角の位置に基づいて、前記画像内の角の位置を決定するように構成される、項目1に記載の装置。
(項目25)
前記画像内の前記第1の角の位置を記憶するように構成される非一過性媒体をさらに備える、項目24に記載の装置。
(項目26)
前記処理ユニットは、前記着目領域内のピクセル毎に、スコアを決定するように構成される、項目1に記載の装置。
(項目27)
前記ニューラルネットワークは、前記処理ユニットの一部である、項目1に記載の装置。
(項目28)
前記ニューラルネットワークをさらに備え、前記ニューラルネットワークは、前記処理ユニットに通信可能に結合される、項目1に記載の装置。
(項目29)
頭部装着型画像ディスプレイデバイスによって実施される方法であって、
画像内の特徴の場所を取得することであって、前記特徴の場所は、ニューラルネットワークによって識別される、ことと、
前記画像内の特徴のうちの1つに関する着目領域を決定することであって、前記着目領域は、前記画像のサイズ未満のサイズを有する、ことと、
角検出アルゴリズムを使用して、角検出を実施し、前記着目領域内の角を識別することと
を含む、方法。
(項目30)
前記着目領域は、前記ニューラルネットワークによって識別される場所のうちの少なくとも1つに基づく位置を有するように決定され、前記位置は、前記画像に対するものである、項目29に記載の方法。
(項目31)
前記画像を生成することと、
前記画像を前記ニューラルネットワークに伝送することと
をさらに含む、項目29に記載の方法。
(項目32)
前記ニューラルネットワークは、前記頭部装着型画像ディスプレイデバイスのモジュール内にある、項目29に記載の方法。
(項目33)
前記ニューラルネットワークは、前記頭部装着型画像ディスプレイデバイスから遠隔の1つ以上のコンピューティングデバイス内に実装される、項目29に記載の方法。
(項目34)
前記ニューラルネットワークは、機械学習能力を有する、項目29に記載の方法。
(項目35)
前記特徴の場所は、前記ニューラルネットワークからヒートマップを受信することによって取得され、前記ヒートマップは、前記特徴の場所を示す、項目29に記載の方法。
(項目36)
前記着目領域は、N×N個のパッチを備え、前記角検出は、前記N×N個のパッチ上で実施され、Nは、1より大きい整数である、項目29に記載の方法。
(項目37)
前記着目領域は、144個のピクセルまたはそれ未満を有するパッチを備え、前記角検出は、前記パッチ上で実施される、項目29に記載の方法。
(項目38)
前記着目領域は、8×8個のパッチを備え、前記角検出は、前記8×8個のパッチ上で実施される、項目29に記載の方法。
(項目39)
前記画像は、第1の分解能を有し、前記特徴の場所は、前記第1の分解能未満である第2の分解能を有する他の画像に基づいて、前記ニューラルネットワークによって識別される、項目29に記載の方法。
(項目40)
前記第1の分解能を伴う画像を前記第2の分解能を伴う他の画像に変換することをさらに含む、項目39に記載の方法。
(項目41)
前記第1の分解能は、VGA分解能を備える、項目39に記載の方法。
(項目42)
前記第2の分解能は、QVGA分解能を備える、項目39に記載の方法。
(項目43)
前記ニューラルネットワークをさらに備える、項目29に記載の方法。
(項目44)
前記ニューラルネットワークは、基準データセットを使用して訓練されている、項目43に記載の方法。
(項目45)
前記ニューラルネットワークは、畳み込みニューラルネットワークを備える、項目43に記載の方法。
(項目46)
前記ニューラルネットワークは、着目点場所および記述子を算出するように構成される、項目43に記載の方法。
(項目47)
前記ニューラルネットワークは、入力画像を空間的にダウンサンプリングするように構成されるエンコーダを備える、項目43に記載の方法。
(項目48)
前記ニューラルネットワークはまた、
着目点デコーダであって、前記着目点デコーダは、前記エンコーダからのエンコーダ出力に作用し、前記入力画像内のピクセル毎に、スコアを生産するように構成される、着目点デコーダと、
記述子デコーダであって、前記記述子デコーダは、前記エンコーダ出力に作用し、前記エンコーダ出力をより高い分解能にアップサンプリングし、前記入力画像内のピクセル毎に、ベクトルを生産するように構成される、記述子デコーダと
を備える、項目47に記載の方法。
(項目49)
前記ニューラルネットワークは、着目点検出器の幾何学的一貫性を改良するために、ホモグラフィ適合を使用するように構成される、項目43に記載の方法。
(項目50)
前記ニューラルネットワークは、畳み込みニューラルネットワークを備え、前記着目点検出器は、前記畳み込みニューラルネットワークを用いて訓練される、項目49に記載の方法。
(項目51)
前記ニューラルネットワークは、画像ワーピングを実施し、前記ホモグラフィ適合内で1つ以上のワーピングされた画像を作成するように構成される、項目49に記載の方法。
(項目52)
少なくとも部分的に、前記着目領域内の角の位置に基づいて、前記画像内の角の位置を決定することをさらに含む、項目29に記載の方法。
(項目53)
前記画像内の第1の角の位置を非一過性媒体内に記憶することをさらに含む、項目52に記載の方法。
(項目54)
前記着目領域内のピクセル毎に、スコアを決定することをさらに含む、項目29に記載の方法。
本発明は、例えば、以下を提供する。
(項目1)
ユーザによって頭部に装着されるように構成される装置であって、
前記ユーザのためにグラフィックを提示するように構成される画面と、
前記ユーザが位置する環境を視認するように構成されるカメラシステムと、
前記カメラシステムに結合される処理ユニットであって、前記処理ユニットは、
前記環境と関連付けられる画像データに関する特徴の場所を取得することであって、前記特徴の場所は、ニューラルネットワークによって識別される、ことと、
前記画像内の特徴のうちの1つに関する着目領域を決定することであって、前記着目領域は、前記画像のサイズ未満のサイズを有する、ことと、
角検出アルゴリズムを使用して、角検出を実施し、前記着目領域内の角を識別することと
を行うように構成される、処理ユニットと
を備える、装置。
(項目2)
前記処理ユニットは、前記ニューラルネットワークによって識別される場所のうちの少なくとも1つに基づく位置を有するような着目領域を決定するように構成され、前記位置は、前記画像に対するものである、項目1に記載の装置。
(項目3)
前記画像データは、少なくとも1つの画像と関連付けられ、前記少なくとも1つの画像は、前記カメラシステムによって生成され、前記ニューラルネットワークに伝送される、項目1に記載の装置。
(項目4)
前記ニューラルネットワークは、前記装置のモジュール内にある、項目1に記載の装置。
(項目5)
前記ニューラルネットワークは、前記装置から遠隔の1つ以上のコンピューティングデバイス内に実装される、項目1に記載の装置。
(項目6)
前記ニューラルネットワークは、機械学習能力を有する、項目1に記載の装置。
(項目7)
前記処理ユニットは、前記ニューラルネットワークによって生成されたヒートマップを取得することによって、前記特徴の場所を取得するように構成され、前記ヒートマップは、前記特徴の場所を示す、項目1に記載の装置。
(項目8)
前記着目領域は、N×N個のパッチを備え、前記処理ユニットは、前記角検出を前記N×N個のパッチ上で実施するように構成され、Nは、1より大きい整数である、項目1に記載の装置。
(項目9)
前記着目領域は、144個のピクセルまたはそれ未満を有するパッチを備え、前記処理ユニットは、前記角検出を前記パッチ上で実施するように構成される、項目1に記載の装置。
(項目10)
前記着目領域は、8×8個のパッチを備え、前記処理ユニットは、前記角検出を前記8×8個のパッチ上で実施するように構成される、項目1に記載の装置。
(項目11)
前記画像データは、前記カメラシステムによって生成された少なくとも1つの高分解能画像からの分解能が低減された少なくとも1つの低分解能画像を含む、項目1に記載の装置。
(項目12)
前記処理ユニットはまた、前記第1の分解能を伴う画像を前記第2の分解能を伴う他の画像に変換するように構成される、項目11に記載の装置。
(項目13)
前記第1の分解能は、VGA分解能を備える、項目11に記載の装置。
(項目14)
前記第2の分解能は、QVGA分解能を備える、項目11に記載の装置。
(項目15)
前記ニューラルネットワークをさらに備える、項目1に記載の装置。
(項目16)
前記ニューラルネットワークは、基準データセットを使用して訓練されている、項目15に記載の装置。
(項目17)
前記ニューラルネットワークは、畳み込みニューラルネットワークを備える、項目15に記載の装置。
(項目18)
前記ニューラルネットワークは、着目点場所および記述子を算出するように構成される、項目15に記載の装置。
(項目19)
前記ニューラルネットワークは、入力画像を空間的にダウンサンプリングするように構成されるエンコーダを備える、項目15に記載の装置。
(項目20)
前記ニューラルネットワークはまた、
着目点デコーダであって、前記着目点デコーダは、前記エンコーダからのエンコーダ出力に作用し、前記入力画像内のピクセル毎に、スコアを生産するように構成される、着目点デコーダと、
記述子デコーダであって、前記記述子デコーダは、前記エンコーダ出力に作用し、前記エンコーダ出力をより高い分解能にアップサンプリングし、前記入力画像内のピクセル毎に、ベクトルを生産するように構成される、記述子デコーダと
を備える、項目19に記載の装置。
(項目21)
前記ニューラルネットワークは、着目点検出器の幾何学的一貫性を改良するために、ホモグラフィ適合を使用するように構成される、項目15に記載の装置。
(項目22)
前記ニューラルネットワークは、前記着目点検出器を訓練するように構成される畳み込みニューラルネットワークを備える、項目21に記載の装置。
(項目23)
前記ニューラルネットワークは、画像ワーピングを実施し、前記ホモグラフィ適合内で1つ以上のワーピングされた画像を作成するように構成される、項目21に記載の装置。
(項目24)
前記処理ユニットは、少なくとも部分的に、前記着目領域内の角の位置に基づいて、前記画像内の角の位置を決定するように構成される、項目1に記載の装置。
(項目25)
前記画像内の前記第1の角の位置を記憶するように構成される非一過性媒体をさらに備える、項目24に記載の装置。
(項目26)
前記処理ユニットは、前記着目領域内のピクセル毎に、スコアを決定するように構成される、項目1に記載の装置。
(項目27)
前記ニューラルネットワークは、前記処理ユニットの一部である、項目1に記載の装置。
(項目28)
前記ニューラルネットワークをさらに備え、前記ニューラルネットワークは、前記処理ユニットに通信可能に結合される、項目1に記載の装置。
(項目29)
頭部装着型画像ディスプレイデバイスによって実施される方法であって、
画像内の特徴の場所を取得することであって、前記特徴の場所は、ニューラルネットワークによって識別される、ことと、
前記画像内の特徴のうちの1つに関する着目領域を決定することであって、前記着目領域は、前記画像のサイズ未満のサイズを有する、ことと、
角検出アルゴリズムを使用して、角検出を実施し、前記着目領域内の角を識別することと
を含む、方法。
(項目30)
前記着目領域は、前記ニューラルネットワークによって識別される場所のうちの少なくとも1つに基づく位置を有するように決定され、前記位置は、前記画像に対するものである、項目29に記載の方法。
(項目31)
前記画像を生成することと、
前記画像を前記ニューラルネットワークに伝送することと
をさらに含む、項目29に記載の方法。
(項目32)
前記ニューラルネットワークは、前記頭部装着型画像ディスプレイデバイスのモジュール内にある、項目29に記載の方法。
(項目33)
前記ニューラルネットワークは、前記頭部装着型画像ディスプレイデバイスから遠隔の1つ以上のコンピューティングデバイス内に実装される、項目29に記載の方法。
(項目34)
前記ニューラルネットワークは、機械学習能力を有する、項目29に記載の方法。
(項目35)
前記特徴の場所は、前記ニューラルネットワークからヒートマップを受信することによって取得され、前記ヒートマップは、前記特徴の場所を示す、項目29に記載の方法。
(項目36)
前記着目領域は、N×N個のパッチを備え、前記角検出は、前記N×N個のパッチ上で実施され、Nは、1より大きい整数である、項目29に記載の方法。
(項目37)
前記着目領域は、144個のピクセルまたはそれ未満を有するパッチを備え、前記角検出は、前記パッチ上で実施される、項目29に記載の方法。
(項目38)
前記着目領域は、8×8個のパッチを備え、前記角検出は、前記8×8個のパッチ上で実施される、項目29に記載の方法。
(項目39)
前記画像は、第1の分解能を有し、前記特徴の場所は、前記第1の分解能未満である第2の分解能を有する他の画像に基づいて、前記ニューラルネットワークによって識別される、項目29に記載の方法。
(項目40)
前記第1の分解能を伴う画像を前記第2の分解能を伴う他の画像に変換することをさらに含む、項目39に記載の方法。
(項目41)
前記第1の分解能は、VGA分解能を備える、項目39に記載の方法。
(項目42)
前記第2の分解能は、QVGA分解能を備える、項目39に記載の方法。
(項目43)
前記ニューラルネットワークをさらに備える、項目29に記載の方法。
(項目44)
前記ニューラルネットワークは、基準データセットを使用して訓練されている、項目43に記載の方法。
(項目45)
前記ニューラルネットワークは、畳み込みニューラルネットワークを備える、項目43に記載の方法。
(項目46)
前記ニューラルネットワークは、着目点場所および記述子を算出するように構成される、項目43に記載の方法。
(項目47)
前記ニューラルネットワークは、入力画像を空間的にダウンサンプリングするように構成されるエンコーダを備える、項目43に記載の方法。
(項目48)
前記ニューラルネットワークはまた、
着目点デコーダであって、前記着目点デコーダは、前記エンコーダからのエンコーダ出力に作用し、前記入力画像内のピクセル毎に、スコアを生産するように構成される、着目点デコーダと、
記述子デコーダであって、前記記述子デコーダは、前記エンコーダ出力に作用し、前記エンコーダ出力をより高い分解能にアップサンプリングし、前記入力画像内のピクセル毎に、ベクトルを生産するように構成される、記述子デコーダと
を備える、項目47に記載の方法。
(項目49)
前記ニューラルネットワークは、着目点検出器の幾何学的一貫性を改良するために、ホモグラフィ適合を使用するように構成される、項目43に記載の方法。
(項目50)
前記ニューラルネットワークは、畳み込みニューラルネットワークを備え、前記着目点検出器は、前記畳み込みニューラルネットワークを用いて訓練される、項目49に記載の方法。
(項目51)
前記ニューラルネットワークは、画像ワーピングを実施し、前記ホモグラフィ適合内で1つ以上のワーピングされた画像を作成するように構成される、項目49に記載の方法。
(項目52)
少なくとも部分的に、前記着目領域内の角の位置に基づいて、前記画像内の角の位置を決定することをさらに含む、項目29に記載の方法。
(項目53)
前記画像内の第1の角の位置を非一過性媒体内に記憶することをさらに含む、項目52に記載の方法。
(項目54)
前記着目領域内のピクセル毎に、スコアを決定することをさらに含む、項目29に記載の方法。
図面は、本開示の種々の実施形態の設計および有用性を図示する。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して類似参照番号によって表されることに留意されたい。本開示の種々の実施形態の前述および他の利点および目的を得る方法をより深く理解するために、簡単に前述された本開示のより詳細な説明が、付随の図面に図示されるその具体的実施形態を参照することによって与えられるであろう。これらの図面は、本開示の典型的実施形態のみを描写し、したがって、その範囲の限定として見なされるべきではないことを理解した上で、本開示は、付随の図面の使用を通して付加的具体性および詳細とともに説明および記載されるであろう。
種々の実施形態が、図を参照して以降に説明される。図は、正確な縮尺で描かれておらず、類似構造または機能の要素は、図全体を通して同様の参照番号によって表されることに留意されたい。また、図は、実施形態の説明を促進するようにのみ意図されることに留意されたい。それらは、本発明の包括的説明として、または本発明の範囲に関する限界として意図されるものではない。加えて、図示される実施形態は、示される全ての側面または利点を有する必要はない。特定の実施形態と併せて説明される側面または利点は、必ずしも、その実施形態に限定されず、そのように図示されない場合でも、またはそのように明示的に説明されない場合でも、任意の他の実施形態において実践されることができる。
続く説明は、それを用いて本明細書に説明される実施形態が実践され得る、例証的VR、AR、および/またはMRシステムに関する。しかしながら、実施形態はまた、他のタイプのディスプレイシステム(他のタイプのVR、AR、および/またはMRシステムを含む)における用途にも適しており、したがって、実施形態は、本明細書に開示される例証的実施例のみに限定されないことを理解されたい。
畳み込みニューラルネットワークは、画像を入力として要求するほぼ全てのタスクにおいて、手動でエンジニアリングされた表現より優れていることが示されている。特に、2次元(2D)「特徴点」または「目印」を予測する、完全畳み込みニューラルネットワークは、ヒト姿勢推定、オブジェクト検出、および部屋レイアウト推定等の種々のタスクに関して深く研究されている。これらの技法のうちのいくつかは、ヒト注釈で標識された2Dグラウンドトゥルース場所の大データセットを利用する。大規模教師あり機械学習問題と同様に着目点検出を公式化し、最新畳み込みニューラルネットワークアーキテクチャを訓練し、それらを検出することは、自然であると考えられる。残念ながら、ネットワークが口角または左足首等の意味論的身体部分を検出するように訓練される、ヒト身体特徴点推定等のより意味論的タスクと比較して、着目点検出の概念は、意味論的に明確に定義されていない。本難点は、強教師あり着目点を用いて畳み込みニューラルネットワークを訓練することを簡単ではないものにする。
ヒト教師を使用して、実画像内の着目点を定義する代わりに、本明細書に説明される実施形態は、自己訓練を使用して、自己教師ありソリューションをもたらす。本明細書に説明される実施形態のアプローチでは、実画像内の擬似グラウンドトゥルース着目点場所の大データセットが、作成され、ヒト知識ではなく、着目点検出器自体によって教師あり学習される。擬似グラウンドトゥルース着目点を生成するために、完全畳み込みニューラルネットワークが、最初に、合成画像データセットからの数百万例の一意の実施例上で訓練される。特徴抽出は、画像シーケンス内の画像マッチングおよび追跡のための基本ステップであるため、明確に異なる点の検出および精密な位置特定が重要であり得ることが確認されている。これらの明確に異なる点は、角、縁(多角体の分析のための基本要素)、および穴、ディスク、またはリング等の円形特徴の中心として特徴付けられている。合流点(Y、X、T、L)もまた、そのような明確に異なる点を検出するために必須と見なされている。例えば、T-合流点は、一般的に、介在、故に、深度断続性を示す。
これらの洞察を借用すると、着目点検出器の大規模訓練のための合成形状の大データセットは、着目点場所内に曖昧性が存在しない、単純幾何学形状から成るように作成され得る。本明細書に説明されるような着目点検出器は、合成形状のデータセット上での従来的着目点検出器より有意に優れていることが示されている。実画像に適用されると、着目点検出器は、ドメイン適合が合成画像上で訓練するときの公知の問題であることを考慮して、良好に性能を発揮する。しかしながら、画像テクスチャおよびパターンの多様なセット上での古典的着目点検出器と比較して、着目点検出器の性能は、それほど一貫していない。着目点検出器と古典的検出器との間の実世界画像上での性能におけるギャップを埋めるために、本明細書に説明される1つ以上の実施形態は、マルチスケールマルチ変換を可能にする、特徴(本明細書では、ホモグラフィ適合と称され得る)を含む。
ホモグラフィ適合は、着目点検出器の自己教師あり訓練を有効にする。いくつかの実施形態では、入力画像を複数回ワーピングし、着目点検出器が場面を多くの異なる視点およびスケールから見ることに役立てる。擬似グラウンドトゥルース着目点を生成し、検出器の性能を高めるために、着目点検出器と併用されると、結果として生じる検出は、より再現可能となる。ロバストかつ再現可能な着目点を検出後の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つの最近着目点(ピクセル間距離に従って)のうち、第2の着目点と関連付けられる記述子が、5つの最近着目点と関連付けられる記述子と比較して、第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を計算し、サブネットワーク出力122-1において出力してもよく、これは、次いで、ネットワーク出力118-1の中にフィードされる。サブネットワーク入力120-2における入力画像102の受信に応じて、記述子サブネットワーク114は、計算された記述子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に関して、複数のワーピング解除され計算された着目点を取得するために繰り返されてもよい。複数のワーピング解除され計算された着目点は、入力画像102および基準記述子とともに、基準セット142の一部として、基準データセット144内に記憶される、基準着目点のセットを取得するために、集約され/組み合わせられてもよい。
加えて、または代替として、ホモグラフィ適合は、ニューラルネットワーク100によって出力された記述子を改良するために採用されてもよい。例えば、単一訓練反復の間、ホモグラフィ生成器138が、画像をニューラルネットワーク100を通して通過させることに先立って、複数のランダムまたは擬似ランダムホモグラフィを入力画像102に適用するために使用されてもよい。ニューラルネットワーク100の他側では、逆ホモグラフィ生成器140が、複数の逆ホモグラフィを計算された記述子110に適用するために使用されてもよく、複数の逆ホモグラフィは、計算された記述子110をワーピング解除するように、複数のホモグラフィの逆数である。プロセスは、同一入力画像102に関して、複数のワーピング解除され計算された記述子を取得するために繰り返されてもよい。複数のワーピング解除され計算された記述子は、入力画像102および基準着目点のセットとともに、基準セット142の一部として、基準データセット144内に記憶される、基準記述子を取得するために、集約され/組み合わせられてもよい。
ホモグラフィワーピングの数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(ランダムホモグラフィ)によって表される。x=fθ(I)
理想的着目点演算子は、ホモグラフィに対して共変するはずである。関数fθ(・)は、出力が入力に伴って変換する場合、Hに伴って共変する。換言すると、共変検出器は、全てに関して、以下を充足させるであろう。
Hx=fθ(H(I))
明確にするために、表記Hxは、結果として生じる着目点に適用されているホモグラフィ行列Hを示し、H(I)は、ホモグラフィ行列Hによってワーピングされている画像I全体を示す。ホモグラフィ関連項を右に移動させることは、以下を生産する。
x=H-1fθ(H(I))
理想的着目点演算子は、ホモグラフィに対して共変するはずである。関数fθ(・)は、出力が入力に伴って変換する場合、Hに伴って共変する。換言すると、共変検出器は、全てに関して、以下を充足させるであろう。
Hx=fθ(H(I))
明確にするために、表記Hxは、結果として生じる着目点に適用されているホモグラフィ行列Hを示し、H(I)は、ホモグラフィ行列Hによってワーピングされている画像I全体を示す。ホモグラフィ関連項を右に移動させることは、以下を生産する。
x=H-1fθ(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は、着目点検出器に関するものLpと、記述子に関するものLdとの2つの中間損失の和である。同時損失最適化が、(a)擬似グラウンドトゥルース着目点場所と、(b)2つの画像を関連させる、ランダムに生成されたホモグラフィHからのグラウンドトゥルース対応との両方を有する、対の合成的にワーピングされた画像の可用性に起因して有効にされる。損失Lは、以下によって、λに関する関数として平衡される。
式中、Xは、計算された着目点108であって(またはそれに関連し)、X’は、計算されワーピングされた着目点109であって(またはそれに関連し)、Yは、基準着目点148であって(またはそれに関連し)、Y’は、ワーピングされた基準着目点149であって(またはそれに関連し)、Dは、計算された記述子110であって(またはそれに関連し)、D’は、計算されワーピングされた記述子111である(またはそれに関連する)。Sは、類似性スコア行列であって、全体的に、ランダムに生成されたホモグラフィHに基づいて決定されてもよい。図5に図示されるように、ホモグラフィHまたは類似性スコア行列Sのいずれかは、損失計算機の中にフィードされてもよい。
式中、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である。
式中、
記述子損失は、入力画像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は、ネットワーク入力116を介して、捕捉された画像154-1、154-2を受信してもよく、捕捉された画像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非線形アクティブ化およびバッチノルム正規化が続いてもよい。
図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つ以上のコンポーネントは、ARデバイス1200の他のコンポーネントと物理的に別個であって、それに1つ以上の有線および/または無線接続によって通信可能に結合される。例えば、処理モジュール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が、ニューラルネットワーク100が入力画像102を入力として受信することによって計算される。ステップ1408では、計算されワーピングされた着目点109および計算されワーピングされた記述子111は、ニューラルネットワーク100がワーピングされた入力画像103を入力として受信することによって計算される。
ステップ1410では、損失Lが、計算された着目点108、計算された記述子110、計算されワーピングされた着目点109、計算されワーピングされた記述子111、基準着目点148、ワーピングされた基準着目点149、およびホモグラフィのうちの1つ以上のものに基づいて計算される。いくつかの実施形態では、損失Lはさらに、ホモグラフィに基づいて計算される。ステップ1412では、ニューラルネットワーク100は、損失Lに基づいて修正される。
本明細書に説明される種々の実施形態において使用され得る、ニューラルネットワークは、図1-14を参照して説明される実施例に限定されないことに留意されたい。いくつかの実施形態では、ニューラルネットワークは、他の技法を使用して、異なるように訓練されてもよい。また、いくつかの実施形態では、画像毎に良好かつ一貫した特徴(例えば、角)を含む、データベースが、訓練データとして使用されてもよい。そのような場合、訓練データは、画像と、その個別のグラウンドトゥルース検出とを含む。例えば、訓練データは、各画像内の検出された特徴(例えば、角、角の位置等)と関連付けられた画像を記憶する、データ構造を含んでもよい。そのような訓練データは、ニューラルネットワークを訓練し、領域(例えば、画像内の領域が良好な特徴候補を有するかどうか)を分類するために使用されることができる。いくつかの実施形態では、他の機構が、良好な「グラウンドトゥルース」検出を提供するために使用されてもよい。例えば、いくつかの実施形態では、任意の既知の検出器が、訓練データセット上で起動されるために使用されてもよく、ニューラルネットワークモデルは、それを用いて訓練されてもよい。いくつかの実施形態では、良好な特徴(例えば、角)の任意の他のデータベースが、ニューラルネットワークモデルを訓練するために使用されてもよい。
いくつかの実施形態では、本明細書に説明されるニューラルネットワークは、頭部装着型画像ディスプレイデバイスの一部として実装されてもよい、または頭部装着型画像ディスプレイデバイスと通信する、コンポーネントとして実装されてもよい。ある場合には、ユーザの環境に対する頭部装着型画像ディスプレイデバイスのユーザを位置特定するために、環境の位置特定マップが、取得される。次いで、画像ディスプレイデバイスのカメラシステムからのリアルタイム入力画像が、次いで、位置特定マップに対してマッチングされ、ユーザを位置特定する。例えば、入力画像の角特徴が、入力画像から検出され、位置特定マップの角特徴に対してマッチングされてもよい。いくつかの実施形態では、本明細書に説明されるニューラルネットワークは、入力画像を処理し、角の潜在的候補である、特徴のセットを識別してもよく、次いで、角検出器が、ニューラルネットワークによって識別される角の潜在的候補に基づいて、1つ以上の角を識別するために使用される。
図15-18は、種々の実施形態における、画像ディスプレイシステム1600の種々のコンポーネントを図示する。画像ディスプレイシステム1600は、画像ディスプレイデバイス1601と、画像ディスプレイデバイスデバイス1601のための入力を提供するための装置1700とを含む。装置1700は、下記にさらに詳細に説明されるであろう。画像ディスプレイデバイス1601は、VRデバイス、ARデバイス、MRデバイス、または他のタイプのディスプレイデバイスのいずれかであってもよい。画像ディスプレイデバイス1601は、エンドユーザ1550によって装着される、フレーム構造1602と、ディスプレイサブシステム1610がエンドユーザ1550の眼の正面に位置付けられるように、フレーム構造1602によって担持される、ディスプレイサブシステム1610と、スピーカ106がエンドユーザ1550の外耳道に隣接して位置付けられる(随意に、別のスピーカ(図示せず)が、エンドユーザ1550の他方の外耳道に隣接して位置付けられ、ステレオ/調節可能音制御を提供する)ようにフレーム構造1602によって担持される、スピーカ1606とを含む。ディスプレイサブシステム1610は、エンドユーザ1550の眼に、高レベルの画質および3次元知覚を伴って、物理的現実に対する拡張として快適に知覚され得る、光パターンを提示するように設計され、かつ2次元コンテンツを提示することも可能である。ディスプレイサブシステム1610は、単一コヒーレント場面の知覚を提供する、フレームのシーケンスを高周波数で提示する。
図示される実施形態では、ディスプレイサブシステム1610は、「光学シースルー」ディスプレイを採用し、それを通してユーザは、透明(または半透明)要素を介して、直接、実オブジェクトからの光を視認することができる。透明要素は、多くの場合、「コンバイナ」と称され、ディスプレイからの光を実世界のユーザのビューにわたって重畳する。この目的を達成するために、ディスプレイサブシステム1610は、部分的に透明なディスプレイを備える。ディスプレイは、周囲環境からの直接光が、ディスプレイを通して、エンドユーザ1550の眼に伝送されるように、エンドユーザ1550の眼と周囲環境との間のエンドユーザ1550の視野内に位置付けられる。
図示される実施形態では、画像投影アセンブリは、光を部分的に透明なディスプレイに提供し、それによって、周囲環境からの直接光と組み合わせられ、ディスプレイからユーザの眼1550に伝送される。投影サブシステムは、光ファイバ走査ベースの投影デバイスであってもよく、ディスプレイは、その中に投影サブシステムからの走査される光が、例えば、無限遠(例えば、腕の長さ)より近い単一光学視認距離における画像、複数の離散光学視認距離または焦点面における画像、および/または立体3Dオブジェクトを表すために複数の視認距離または焦点面にスタックされた画像層を生産するように投入される、導波管ベースのディスプレイであってもよい。ライトフィールド内のこれらの層は、ヒト副視覚系に持続的に現れるようにともに十分に近接してスタックされてもよい(すなわち、1つの層が、隣接する層の乱信号円錐域内にある)。加えて、または代替として、ピクチャ要素が、2つ以上の層を横断して混成され、それらの層が、より疎らにスタックされる(すなわち、1つの層が隣接する層の乱信号円錐域の外側にある)場合でも、ライトフィールド内の層間の遷移の知覚される連続性を増加させてもよい。ディスプレイサブシステム1610は、単眼または両眼用であってもよい。
画像ディスプレイデバイス1601はまた、エンドユーザ1550の頭部1554の位置および移動および/またはエンドユーザ1550の眼位置および眼球間距離を検出するためにフレーム構造1602に搭載される、1つ以上のセンサ(図示せず)を含んでもよい。そのようなセンサは、画像捕捉デバイス(カメラ等)、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープ)、または前述の任意の組み合わせを含んでもよい。これらのセンサの多くは、その上にそれらが添着される、フレーム1602が、順に、ユーザの頭部、眼、および耳に実質的に固定されるという仮定に基づいて動作する。
画像ディスプレイデバイス1601はまた、ユーザ配向検出モジュールを含んでもよい。ユーザ配向モジュールは、エンドユーザ1550の頭部1554の瞬間位置を検出し(例えば、フレーム1602に結合されるセンサを介して)、センサから受信された位置データに基づいて、エンドユーザ1550の頭部1554の位置を予測してもよい。エンドユーザ1550の頭部1554の瞬間位置を検出することは、エンドユーザ1550が見ている、具体的実際のオブジェクトの決定を促進し、それによって、その実際のオブジェクトに関連して生成されるべき具体的仮想オブジェクトのインジケーションを提供し、さらに、仮想オブジェクトが表示される位置のインジケーションを提供する。ユーザ配向モジュールはまた、センサから受信された追跡データに基づいて、エンドユーザ1550の眼を追跡してもよい。
画像ディスプレイデバイス1601はまた、多種多様な形態のいずれかをとり得る、制御サブシステムを含んでもよい。制御サブシステムは、いくつかのコントローラ、例えば、1つ以上のマイクロコントローラ、マイクロプロセッサまたは中央処理ユニット(CPU)、デジタル信号プロセッサ、グラフィック処理ユニット(GPU)、特定用途向け集積回路(ASIC)等の他の集積回路コントローラ、プログラマブルゲートアレイ(PGA)、例えば、フィールドPGA(FPGA)、および/またはプログラマブル論理コントローラ(PLU)を含む。
画像ディスプレイデバイス1601の制御サブシステムは、中央処理ユニット(CPU)と、グラフィック処理ユニット(GPU)と、1つ以上のフレームバッファと、3次元場面データを記憶するための3次元データベースとを含んでもよい。CPUは、全体的動作を制御してもよい一方、GPUは、3次元データベース内に記憶される3次元データからフレームをレンダリングし(すなわち、3次元場面を2次元画像に変換し)、これらのフレームをフレームバッファ内に記憶してもよい。1つ以上の付加的集積回路は、フレームバッファの中へのフレームの読込およびそこからの読出およびディスプレイサブシステム1610の画像投影アセンブリの動作を制御してもよい。
画像ディスプレイデバイス101の種々の処理コンポーネントは、分散型サブシステム内に物理的に含有されてもよい。例えば、図15-18に図示されるように、画像ディスプレイデバイス1601は、有線導線または無線コネクティビティ1636等によって、ディスプレイサブシステム1610およびセンサに動作可能に結合される、ローカル処理およびデータモジュール1630を含んでもよい。ローカル処理およびデータモジュール1630は、フレーム構造1602(図15)に固定して取り付けられる、ヘルメットまたは帽子1556(図16)に固定して取り付けられる、エンドユーザ1550の胴体1558に除去可能に取り付けられる(図17)、またはベルト結合式構成においてエンドユーザ1550の腰部1560に除去可能に取り付けられる(図18)等、種々の構成において搭載されてもよい。仮想画像ディスプレイデバイス1601はまた、これらの遠隔モジュール1632、1634が、相互に動作可能に結合され、ローカル処理およびデータモジュール1630へのリソースとして利用可能であるように、有線導線または無線コネクティビティ1638、1640等によってローカル処理およびデータモジュール1630に動作可能に結合される、遠隔処理モジュール1632および遠隔データリポジトリ1634を含んでもよい。
ローカル処理およびデータモジュール1630は、電力効率的プロセッサまたはコントローラおよびフラッシュメモリ等のデジタルメモリを備えてもよく、その両方とも、可能性として、処理または読出後に、ディスプレイサブシステム1610への通過のために、センサから捕捉された、および/または、遠隔処理モジュール1632および/または遠隔データリポジトリ1634を使用して入手および/または処理された、データの処理、キャッシュ、および記憶を補助するために利用されてもよい。遠隔処理モジュール1632は、データおよび/または画像情報を分析および処理するように構成される、1つ以上の比較的に強力なプロセッサまたはコントローラを備えてもよい。遠隔データリポジトリ1634は、比較的に大規模なデジタルデータ記憶設備を備えてもよく、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、全てのデータが、記憶され、全ての算出が、ローカル処理およびデータモジュール1630において実施され、任意の遠隔モジュールからの完全に自律的な使用を可能にする。
上記に説明される種々のコンポーネント間の結合1636、1638、1640は、ワイヤまたは光学連通を提供するための1つ以上の有線インターフェースまたはポート、または無線通信を提供するためのRF、マイクロ波、およびIR等を介した、1つ以上の無線インターフェースまたはポートを含んでもよい。いくつかの実装では、全ての通信は、有線であってもよい一方、他の実装では、全ての通信は、無線であってもよい。なおもさらなる実装では、有線および無線通信の選択肢は、図15-18に図示されるものと異なり得る。したがって、有線または無線通信の特定の選択肢は、限定と見なされるべきではない。
いくつかの実施形態では、ユーザ配向モジュールは、ローカル処理およびデータモジュール1630内に含有される一方、CPUおよびGPUは、遠隔処理モジュール内に含有される。代替実施形態では、CPU、GPU、またはその一部は、ローカル処理およびデータモジュール1630内に含有されてもよい。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個の深度面に生成するために使用されてもよい。
3D仮想コンテンツをユーザに提示するために、画像ディスプレイシステム1600(例えば、VRシステム、ARシステム、MRシステム等)は、それらがZ方向に(すなわち、ユーザの眼から離れるように直交して)種々の深度面から生じるように現れるように、仮想コンテンツの画像をユーザの眼の中に投影する。換言すると、仮想コンテンツは、XおよびY方向(すなわち、ユーザの眼の中心視軸に直交する、2D面)において変化し得るだけではなく、また、ユーザが、オブジェクトが、非常に近接して、または無限距離に、またはその間の任意の距離にあるように知覚し得るように、Z方向においても変化するように現れ得る。いくつかの実施形態では、ユーザは、複数のオブジェクトを、同時に、異なる深度面において知覚し得る。例えば、ユーザには、仮想ドラゴンが、無限遠から現れ、ユーザに向かって走って来るように見え得る。代替として、ユーザには、同時に、ユーザから3メートル離れた距離における仮想鳥と、ユーザから腕の長さ(約1メートル)における仮想コーヒーカップとが見え得る。
多面焦点システムは、画像をユーザの眼からZ方向における個別の固定距離に位置する複数の深度面のいくつかまたは全て上に投影することによって、可変深度の知覚を作成する。ここで図19を参照すると、多面焦点システムは、フレームを固定された深度面1650(例えば、図19に示される6つの深度面1650)に表示し得ることを理解されたい。MRシステムは、任意の数の深度面1650を含むことができるが、1つの例示的多面焦点システムは、6つの固定された深度面1650をZ方向に有する。仮想コンテンツを6つの深度面1650のうちの1つ以上のものに生成する際、3D知覚が、ユーザがユーザの眼からの可変距離における1つ以上の仮想オブジェクトを知覚するように作成される。ヒトの眼が、遠く離れてあるように現れるオブジェクトより距離が近いオブジェクトにより敏感であることを前提として、より多くの深度面1650が、図19に示されるように、眼のより近くに生成される。いくつかの実施形態では、深度面1650は、相互から離れるように等距離に設置されてもよい。
深度面位置1650は、メートル単位で測定される焦点距離の逆数に等しい屈折力の単位である、ジオプタ単位で測定されてもよい。例えば、いくつかの実施形態では、深度面1は、1/3ジオプタ離れてもよく、深度面2は、0.3ジオプタ離れていてもよく、深度面3は、0.2ジオプタ離れていてもよく、深度面4は、0.15ジオプタ離れていてもよく、深度面5は、0.1ジオプタ離れてもよく、深度面6は、無限遠(すなわち、0ジオプタ離れる)を表し得る。いくつかの実施形態は、深度面1650を他の距離/ジオプタに生成してもよいことを理解されたい。したがって、仮想コンテンツを方略的に設置された深度面1650に生成する際、ユーザは、仮想オブジェクトを3次元で知覚することが可能である。例えば、ユーザは、別の仮想オブジェクトが深度面6における無限遠に現れる間、第1の仮想オブジェクトが深度面1内に表示されるとき、それを近くにあると知覚し得る。代替として、仮想オブジェクトは、最初に、深度面6に、次いで、深度面5に、そして、仮想オブジェクトがユーザの非常に近く現れるまでそのように続くように表示されてもよい。上記の実施例は、例証目的のために有意に簡略化されていることを理解されたい。いくつかの実施形態では、全6つの深度面は、ユーザから離れるように特定の焦点距離上に集中されてもよい。例えば、表示されるべき仮想コンテンツが、ユーザから0.5メートル離れたコーヒーカップである場合、全6つの深度面は、コーヒーカップの種々の断面において生成され、ユーザに、コーヒーカップの高粒度の3Dビューを与え得る。
いくつかの実施形態では、画像ディスプレイシステム100(例えば、VRシステム、ARシステム、MRシステム等)は、多面焦点システムとして機能してもよい。換言すると、全6つのLOEは、6つの固定された深度面から生じるように現れる画像が、高速で連続して生成されるように、同時に照明されてもよく、光源は、画像情報をLOE1、次いで、LOE2、次いで、LOE3等に急速に伝達する。例えば、光学無限遠における空の画像を含む、所望の画像の一部は、時間1において投入されてもよく、光のコリメーションを留保する、LOE(例えば、図19からの深度面6)が、利用されてもよい。次いで、より近い木の枝の画像が、時間2において投入されてもよく、10メートル離れて深度面から生じるように現れる画像を作成するように構成される、LOE(例えば、図19からの深度面5)が、利用されてもよい。次いで、ペンの画像が、時間3において投入されてもよく、1メートル離れて深度面から生じるように現れる画像を作成するように構成される、LOEが、利用されてもよい。本タイプのパラダイムは、ユーザの眼および脳(例えば、視覚野)が入力を同一画像の全ての部分であると知覚するように、高速時間シーケンシャル(例えば、360Hz)方式で繰り返されることができる。
画像ディスプレイシステム1600は、Z軸(すなわち、深度面)に沿って種々の場所から生じるように現れ、3D体験/シナリオのための画像を生成する、画像を投影してもよい(すなわち、光ビームを発散または収束させることによって)。本願で使用されるように、光ビームは、限定ではないが、光源から照射される光エネルギー(可視および不可視光エネルギーを含む)の指向性投影を含む。種々の深度面から生じるように現れる、画像を生成することは、その画像のためのユーザの眼の輻輳・開散運動および遠近調節に一致し、輻輳・開散運動-遠近調節競合を最小限にまたは排除する。
位置特定マップ
図20は、画像ディスプレイデバイス1601が、画像ディスプレイデバイス1601のユーザ1550を位置特定することを可能にするための、マップを決定するための方法を図示する。図に示されるように、ユーザ1550が、画像ディスプレイデバイス1601を使用しているとき、ユーザ1550は、異なる視認場所および/または方向を達成するために、画像ディスプレイデバイス1601を移動させることができる。例えば、ユーザ1550は、その頭部を旋回させ、その身体を旋回させ、および/または異なる場所に歩行し得る。いくつかの実施形態では、画像ディスプレイデバイス1601は、前方に向いたカメラを含む。いくつかの実施形態では、カメラは、可視光カメラ(例えば、RGBカメラ)であってもよい。いくつかの実施形態では、カメラは、赤外線光カメラ(例えば、IR/深度カメラ)であってもよい。いくつかの実施形態では、カメラは、フルスペクトルカメラ(例えば、一体型可視光カメラおよび深度カメラ)であってもよい。画像ディスプレイデバイス1601を移動させることによって、画像ディスプレイデバイス1601の前方に向いたカメラの視野は、適宜、変化するであろう。ユーザ1550が、異なる姿勢にある間、画像ディスプレイデバイス1601のカメラは、対応する画像を生成する。図示される実施例では、ユーザ1550は、その頭部を旋回させることによって、3つの異なる姿勢を達成し、画像ディスプレイデバイス1601の前方に向いたカメラは、3つの姿勢と対応する、3つの画像1700a-1700cを生成する。画像1700a-1700cはそれぞれ、環境内であるオブジェクト1702を捕捉する。例えば、画像1700bは、オブジェクト1702a-1702dを捕捉し、画像1700cは、オブジェクト1702b-1702eを捕捉する。ユーザ1550の姿勢に応じて、環境内のあるオブジェクトが、カメラの複数の画像1700内に捕捉され得、ある他のオブジェクトは、1つのみの画像1700内に捕捉され得る。いくつかの実施形態では、画像ディスプレイデバイス1601の処理ユニット1630は、画像1700を画像ディスプレイデバイス1601のカメラから取得し、画像処理を実施し、特徴を画像1700から抽出し、マップを作成するように構成される。マップは、画像ディスプレイデバイス1601の非一過性媒体内に記憶されてもよく、処理ユニット1630によって使用され、ユーザ1550の位置特定を実施してもよい。したがって、マップは、位置特定マップとして機能する。図示される実施形態では、マップは、ユーザ1550の異なる姿勢によって検出された環境の3次元表現である。
いくつかの実施形態では、ユーザ1550を囲繞する環境は、複数のセルに分割されてもよい。そのような場合、上記のマップ作成技法が、環境の異なるセルのために採用されてもよい。図21は、複数のセル1800に分割されている環境の実施例を図示する。各セル1800は、環境の一部を表す、定義された3次元空間である。各セル1800は、所定のサイズおよび形状を有してもよい。例えば、各セル1800は、2m×2mの占有面積と、2mの高さとを有してもよい。各セル1800は、他の実施形態では、他の占有面積寸法および/または他の高さを有してもよい。また、いくつかの実施形態では、各セル1800は、示される矩形構成を有していなくてもよく、他の形状を有してもよい。図示される実施形態では、セル1800は全て、同一形状および寸法を有する。いくつかの実施形態では、セル1800のうちの少なくとも2つは、異なる個別の寸法および/または形状を有してもよい。
いくつかの実施形態では、画像ディスプレイデバイス1601のユーザ1550は、異なるセル1800に対応する環境内の異なる場所に向かってもよく、画像ディスプレイデバイス1601のカメラを使用して、対応するセル内の空間を走査し、環境の個別のセルのための異なるマップを作成してもよい。マップは、画像ディスプレイデバイス1601の処理ユニット1630がユーザ1550の位置特定を実施することを可能にするために、画像ディスプレイデバイス1601の非一過性媒体内に記憶されてもよい。
ユーザ1550を位置特定するための位置特定マップの使用の間、画像ディスプレイデバイス1601のカメラは、ユーザ1550の現在の位置および配向において、環境の画像を捕捉する。そのようなカメラ画像は、画像ディスプレイデバイス1601の処理ユニット1630が、ユーザ1550の位置を追跡することを可能にするための追跡画像(追跡マップ)としての役割を果たす。特に、画像ディスプレイデバイス1601の処理ユニット1630は、カメラからの追跡画像を処理し、追跡画像内の特徴が位置特定マップ内の特徴とマッチングするかどうかを決定する。マッチングが、見出される場合、処理ユニット1630は、次いで、マッチングされる特徴に基づいて、ユーザ1550の位置および配向を決定してもよい。いくつかの実施形態では、位置特定マップは、画像ディスプレイデバイス1601のカメラによって捕捉された追跡画像より少ない情報(例えば、特徴)を含有してもよい。これは、処理ユニット1630が、追跡画像の特徴と位置特定マップ内の特徴を効率的にマッチングさせることを可能にするため、有利である。いくつかの実施形態では、位置特定マップは、「規準マップ」と呼ばれ得る。位置特定を実施するとき、処理ユニット1630は、特徴抽出を実施し、特徴を追跡画像から抽出し、抽出された特徴と規準マップ内の特徴をマッチングさせる。いくつかの実施形態では、処理ユニット1630は、追跡画像の特徴と規準マップの特徴との間の6自由度変換を見出し、ユーザ1550を位置特定するように構成される。いくつかの実施形態では、処理ユニット1630は、追跡画像自体と規準マップ自体との間の6自由度変換を見出し、ユーザ1550を位置特定するように構成される。いくつかの実施形態では、いったんユーザ1550が、位置特定マップを使用して、その環境に対して正常に位置特定され得ると、処理ユニット1630は、次いで、ユーザ1550が、位置特定マップを使用して、仮想コンテンツを環境に対して設置し、仮想コンテンツを前のセッションから読み出し、仮想コンテンツを他のユーザと共有すること等を行うことを可能にし得る。
画像ディスプレイデバイス1601の使用の間、処理ユニット1630は、特徴検出を画像ディスプレイデバイス1601のカメラシステムによって提供される画像上で実施する必要があり得る。例えば、いくつかの実施形態では、画像を使用して、位置特定マップを作成するとき、処理ユニット1630は、これらの画像内の角等の特徴を検出する必要があり得る。検出された特徴は、処理ユニット1630によって、位置特定マップを構築するための特徴として利用されてもよい。位置特定マップを使用して、位置特定を実施するとき、処理ユニット1630は、追跡画像内の特徴と位置特定マップの特徴をマッチングさせる必要があり得る。故に、処理ユニット1630は、追跡画像内の特徴を検出するように構成されてもよい。角等の特徴は、概して、角が、概して、異なる視認方向から検出可能であるという意味において、より安定した特徴である。故に、画像内の角の検出能力は、視点の変化によって有意に影響され得ない。したがって、角は、追跡画像と位置特定マップとの間でマッチングさせるために良好な特徴である。角はまた、異なる時間および異なる視認方向において生成された画像間のステレオマッチングにおいて使用するために良好な特徴である。いくつかの実施形態では、角以外の特徴も、使用されてもよい。
特徴検出
図22Aは、処理ユニット1630を図示し、特に、角検出を実装するためのコンポーネントを示す。図に示されるように、処理ユニット1630は、ハードウェア1910と、ソフトウェア1920とを含む。処理ユニット1630はまた、ガンマ補正器1912と、画像調節器1914と、随意のニューラルネットワーク1915と、角検出器1916と、随意の非最大値抑制器1922と、随意の空間ビニングモジュール1924と、角位置決定器1926とを含む。図示される実施形態では、ガンマ補正器1912、画像調節器1914、ニューラルネットワーク1915、および角検出器1916は、処理ユニット1630のハードウェア1910を使用して実装される。また、図示される実施形態では、非最大値抑制器1922、空間ビニングモジュール1924、および角位置決定器1926は、処理ユニット1630のソフトウェア1920を使用して実装される。いくつかの実施形態では、ガンマ補正器1912および画像調節器1914は、画像信号プロセッサ1911を使用して実装されてもよい。いくつかの実施形態では、処理ユニット1630は、ニューラルネットワーク1915を含まない。代わりに、処理ユニット1630は、ニューラルネットワーク1915と通信するように構成されてもよい。
いくつかの実施形態では、ガンマ補正器1912、画像調節器1914、ニューラルネットワーク1915、角検出器1916、または前述の任意の組み合わせは、処理ユニット1630のソフトウェア1920を使用して実装されてもよい。また、いくつかの実施形態では、非最大値抑制器1922、空間ビニングモジュール1924、角位置決定器1926、または前述の任意の組み合わせは、処理ユニット1630のハードウェア1910を使用して実装されてもよい。
いくつかの実施形態では、処理ユニット1630内のコンポーネント1912、1914、1915、1916、1922、1924、1926のいずれかは、ハードウェア、ソフトウェア、または両方の組み合わせを使用して実装されてもよい。
ガンマ補正器1912は、ピクセル値と輝度との間の非線形関係を調節するように構成される。例えば、いくつかの実施形態では、ガンマ補正器1912は、その関係が、線形である、またはオリジナル未加工画像内のものと比較してより線形であるように、ピクセル値と輝度との間の関係を調節するように構成されてもよい。
画像調節器1914は、画像を取得し、随意に、画像の分解能をダウンスケールし、調節された画像を提供するように構成される。いくつかの実施形態では、画像調節器1914は、第1の分解能を有する、第1の画像を取得し、第1の画像をダウンスケールし、第1の分解能未満である第2の分解能を伴う、第2の画像を取得するように構成される。例えば、ある場合には、第1の画像は、VGA分解能を有してもよく、第2の画像は、QVGA分解能を有してもよい。そのような場合、第2の画像は、第1の画像に関するものの4分の1である、ピクセルの数を有する。他の実施例では、第2の画像は、第1の画像に関するものの他の割合である、ピクセルの数を有してもよい。
ニューラルネットワーク1915は、図1-14のいずれかを参照して説明される、ニューラルネットワークまたはそのためのコンポーネントのいずれかであってもよい。ニューラルネットワーク1915は、画像ディスプレイデバイス1601からの入力画像(例えば、カメラ画像)を処理し、各入力画像内の特徴のセットを識別するように構成される。いくつかの実施形態では、各入力画像内で識別された特徴のセットは、角が検出され得る場所の「ヒント」としての役割を果たし得る。
角検出器1916は、1つ以上の基準に基づいて、画像内の角を検出するように構成される。図示される実施形態では、角検出器1916は、ニューラルネットワーク1915によって識別される特徴の場所を使用して、角の可能性として考えられる場所を決定し、角検出をそれらの場所上で実施し、角を検出するように構成される。いくつかの実施形態では、角検出器1926は、Harris角検出技法を使用して、画像内の角を検出するように構成される。Harris角検出は、各ピクセルの勾配を計算することによって達成される。絶対勾配値の両方が、2つの方向(例えば、直交方向)において大きい(例えば、ある閾値を上回る)場合、角検出器1916は、ピクセルを角として決定し得る。Harris角検出技法の1つの実装では、以下のアルゴリズムが、画像内のピクセル毎にスコアを計算するために採用される。
(1)画像のxおよびy導関数を算出する
式中、GxおよびGyは、一次方向微分係数である。ある場合には、GxおよびGyは、グレー値および差分演算子を方向x、yに畳み込むことによって計算されてもよい。
(2)ピクセル毎に導関数の積を算出する
(3)各ピクセルにおける導関数の積の和を算出する
(4)各ピクセル(x,y)において行列を定義する
代替として、行列Hは、以下のように表されてもよい。
式中、(Ix,Iy)は、(x,y)における勾配である。
(5)ピクセル毎にスコア(Harris応答)を算出する
R=Det(H)-k(Trace(H))^2
式中、Det(H)=λ1λ2であって、Trace(H)=λ1+λ2であって、λ1およびλ2は、Hの固有値である。
(1)画像のxおよびy導関数を算出する
式中、GxおよびGyは、一次方向微分係数である。ある場合には、GxおよびGyは、グレー値および差分演算子を方向x、yに畳み込むことによって計算されてもよい。
(2)ピクセル毎に導関数の積を算出する
(3)各ピクセルにおける導関数の積の和を算出する
(4)各ピクセル(x,y)において行列を定義する
代替として、行列Hは、以下のように表されてもよい。
式中、(Ix,Iy)は、(x,y)における勾配である。
(5)ピクセル毎にスコア(Harris応答)を算出する
R=Det(H)-k(Trace(H))^2
式中、Det(H)=λ1λ2であって、Trace(H)=λ1+λ2であって、λ1およびλ2は、Hの固有値である。
いくつかの実施形態では、Harris応答Rおよび/または固有値λ1,λ2は、角検出器1916によって、角検出のための1つ以上の基準において使用されてもよい。図23Aは、Harrisスコア化関数に従う応答Rおよび/または固有値を使用した像点の分類を示す。図23Bは、Shi-Tomasi基準に従う固有値を使用した像点の分類を示す。いくつかの実施形態では、例えば、図23A-23Bに示されるように、固有値λ1,λ2が両方とも、小さい場合、ピクセルは、平坦領域の一部であり得る。故に、角検出器1916は、少なくとも部分的に、min(λ1,λ2)>閾値という基準に基づいて、角を検出するように構成されてもよい。いくつかの実施形態では、図23A-23Bに示されるように、より大きい固有値λ2が、より小さい固有値λ1より閾値だけ大きい場合、ピクセルは、線形構成(例えば、線、縁等)を伴うオブジェクトの一部であり得る。故に、角検出器1916は、少なくとも部分的に、λ2/λ1<閾値という基準に基づいて、角を検出するように構成されてもよい。いくつかの実施形態では、角検出器1916は、基準の両方に基づいて、角を検出するように構成されてもよい。
(1)min(λ1,λ2)>閾値T1
(2)λ2/λ1<閾値T2
いくつかの実施形態では、閾値T1は、300であるように設定されてもよい。いくつかの実施形態では、閾値T1は、300と異なる他の値を有してもよい。いくつかの実施形態では、閾値T2は、5であるように設定されてもよい。いくつかの実施形態では、閾値T2は、5と異なる他の値を有してもよい。
(1)min(λ1,λ2)>閾値T1
(2)λ2/λ1<閾値T2
いくつかの実施形態では、閾値T1は、300であるように設定されてもよい。いくつかの実施形態では、閾値T1は、300と異なる他の値を有してもよい。いくつかの実施形態では、閾値T2は、5であるように設定されてもよい。いくつかの実施形態では、閾値T2は、5と異なる他の値を有してもよい。
いくつかの実施形態では、上記の2つの基準は、以下のように、Det(H)およびTrace(H)の観点から表されてもよい。
そのような場合、角検出器1516は、以下のように、異なるk(k1、k2)の2つのHarris応答を使用して、DetおよびTraceを計算するように構成されてもよい。
T2=5であるときのk1>0に基づくHarris応答であって、式中、以下である。
いくつかの実施形態では、k2は、計算を簡略化するであろうように選択されてもよい。例えば、上記の方程式(5)は、以下のように書き直されてもよい。
そのような場合、k2は、右項((4T1^2)*(k1-k2))が1になるように選択されてもよく、評価は、左側の式が1を上回ることに基づいて、簡略化されてもよい。いくつかの実施形態では、k2は、以下の式に基づいて計算されてもよい。
故に、k1が、0.139に設定される場合、k2は、上記の方程式に基づいて、0.00478125に等しい。
そのような場合、角検出器1516は、以下のように、異なるk(k1、k2)の2つのHarris応答を使用して、DetおよびTraceを計算するように構成されてもよい。
T2=5であるときのk1>0に基づくHarris応答であって、式中、以下である。
いくつかの実施形態では、k2は、計算を簡略化するであろうように選択されてもよい。例えば、上記の方程式(5)は、以下のように書き直されてもよい。
そのような場合、k2は、右項((4T1^2)*(k1-k2))が1になるように選択されてもよく、評価は、左側の式が1を上回ることに基づいて、簡略化されてもよい。いくつかの実施形態では、k2は、以下の式に基づいて計算されてもよい。
故に、k1が、0.139に設定される場合、k2は、上記の方程式に基づいて、0.00478125に等しい。
k1およびk2は、上記の値を有するように限定されず、いくつかの実施形態では、他の値を有してもよいことに留意されたい。例えば、いくつかの実施形態では、k1は、0.1~0.2の任意の場所の値を有してもよい。また、例えば、いくつかの実施形態では、k2は、0.001未満の値を有してもよい。
加えて、本明細書で使用されるように、用語「角」は、2つの直線間の交点に限定されず、また、2つの線(例えば、直線)を接続する曲線に沿った任意の点を指し得、曲線は、曲率半径を有してもよい(曲率半径が小さいほど、「角」が急峻になるように)ことに留意されたい。
いくつかの実施形態では、角検出器1916は、1回以上の回数、Harris角検出を第1の画像上に適用し、1つ以上の基準に基づいて、第1の画像内の角のセットを検出するように構成されてもよい。角検出器1916はまた、1回以上の回数、Harris角検出を第2の画像上に適用し、1つ以上の基準に基づいて、第2の画像内の角のセットを検出するように構成されてもよい。1つ以上の基準は、ある所望の特徴を伴う角のみが検出されるように選択されてもよい。
また、角検出器1916は、上記の式および値の実施例に基づいて角を検出するように限定されず、角検出器1916は、上記の式の派生形、変形例、および/または修正であり得る、他の式に基づいて角を検出するように構成されてもよいことに留意されたい。加えて、いくつかの実施形態では、角検出器1916は、Harris角検出技法と異なる他の角検出技法に基づいて、角を検出するように構成されてもよい。いくつかの実施形態では、角以外の特徴も、検出されてもよく、当業者は、本明細書に開示される原理が適用されるであろうことを理解するであろう。
図22Aに戻ると、非最大値抑制器1922は、同一角の重複検出が防止されるように、検出された角のために非最大値抑制を実施するように構成される。ある場合には、画像の画像解像度および/または角検出が実装される様式に起因して、同一角が、複数回、検出され得る。例えば、角検出器1916は、同一角を相互に近い3つの場所において3回検出し得る(実際には、それらの3つの検出された角が全て、画像内の同一角に関するものであるとき)。したがって、本明細書で使用されるように、用語「角」は、複数回検出される、1つの角または角のインスタンスを指し得る。いくつかの実施形態では、非最大値抑制器1922は、3×3非最大値抑制を実施するように構成されてもよい。そのような場合、3×3ピクセル領域内で検出された複数の角が存在する場合、非最大値抑制器1922は、本領域内の複数の検出された角のうちの1つを検出された角として選択するであろう。いくつかの実装では、非最大値抑制器1922は、領域内の個別の複数の検出された角に関する角スコアを決定し、最高スコアを伴う角をその領域に関する検出された角として選択するように構成されてもよい。スコアは、検出された角が検出された場所にある確率または検出された角の位置の正確度を示してもよい。いくつかの実施形態では、非最大値抑制以外のアプローチが、同一角の重複検出が防止されるように、検出された角のために使用されてもよく、当業者は、本明細書に開示される原理が適用されるであろうことを理解するであろう。
空間ビニングモジュール1924は、画像の異なる領域が検出された角の略均一分布を有するであろうように、所与の画像に関して検出された角のあるものを選択するように構成される。特に、非最大値抑制器422が、重複の検出された角を除去後、所与の画像に関して、依然として、多くの検出された角が存在し得、および/または残りの検出された角は、画像の異なる領域内に異なる分布を有し得る。空間ビニングモジュール1924は、画像の異なる領域が、ある基準を満たす、ある最大数の検出された角を有するであろうように、検出された角のサブセットを選択するように構成される。いくつかの実施形態では、第2の画像は、2つ以上の領域に分割されてもよい。例えば、第2の画像は、4つの
領域に分割されてもよい。4つの領域は、以下のように、異なる個別の数の検出された角および個別のスコアを有し得る。
領域1:(C1、0.7)、(C2、0.8)、(C3、0.85)、(C4、0.9)領域2:(C5、0.6)、(C6、0.65)
領域3:(C7、0.66)、(C8、0.82)
領域4:(C9、0.9)、(C10、0.88)、(C11、0.63)
上記の実施例では、領域1は、3つの検出された角C1-C4を有し、領域2は、2つの検出された角C5-C6を有し、領域3は、2つの検出された角C7-C8を有し、領域4は、3つの検出された角C9-C11を有する。領域毎に所望される最大数の角が、3であるように選択される場合、および角を選択するための基準が、角が0.7またはより高いスコアを有していなければならないことである場合、空間ビニングモジュール1924は、異なる個別の領域1-4に関して、以下の角を選択し得る。
領域1:C2、C3、C4(角C1は、領域1内に最低スコアを有し、したがって、領域1内に最高スコアを伴う3つの角が、選択され、空間ビニングモジュール1924は、最大数の角が、実施例では3であるように事前に規定されているため、4つ全ての角C1-C4を選択することができないことに留意されたい)。
領域2:角は選択されない(角C5およびC6が両方とも、最小スコア基準を満たさない、スコアを有するため)。
領域3:角C8のみが選択される(角C7が、最小スコア基準を満たさない、スコアを有するため)。
領域4:角C9およびC10のみが選択される(角C11が、最小スコア基準を満たさない、スコアを有するため)。
領域に分割されてもよい。4つの領域は、以下のように、異なる個別の数の検出された角および個別のスコアを有し得る。
領域1:(C1、0.7)、(C2、0.8)、(C3、0.85)、(C4、0.9)領域2:(C5、0.6)、(C6、0.65)
領域3:(C7、0.66)、(C8、0.82)
領域4:(C9、0.9)、(C10、0.88)、(C11、0.63)
上記の実施例では、領域1は、3つの検出された角C1-C4を有し、領域2は、2つの検出された角C5-C6を有し、領域3は、2つの検出された角C7-C8を有し、領域4は、3つの検出された角C9-C11を有する。領域毎に所望される最大数の角が、3であるように選択される場合、および角を選択するための基準が、角が0.7またはより高いスコアを有していなければならないことである場合、空間ビニングモジュール1924は、異なる個別の領域1-4に関して、以下の角を選択し得る。
領域1:C2、C3、C4(角C1は、領域1内に最低スコアを有し、したがって、領域1内に最高スコアを伴う3つの角が、選択され、空間ビニングモジュール1924は、最大数の角が、実施例では3であるように事前に規定されているため、4つ全ての角C1-C4を選択することができないことに留意されたい)。
領域2:角は選択されない(角C5およびC6が両方とも、最小スコア基準を満たさない、スコアを有するため)。
領域3:角C8のみが選択される(角C7が、最小スコア基準を満たさない、スコアを有するため)。
領域4:角C9およびC10のみが選択される(角C11が、最小スコア基準を満たさない、スコアを有するため)。
角位置決定器1926は、個別の検出された角の最終位置を決定するように構成される。角は、解像度が低減され得る画像に基づいて、検出器1916によって検出されたため、より高い解像度画像に基づいて、これらの検出された角の位置を精緻化することが望ましくあり得る。議論されるように、いくつかの実施形態では、画像調節器1914は、第1の解像度を伴う第1の画像を第2の解像度を伴う第2の画像に変換するように構成される。いくつかの実施形態では、角を検出するために使用される、第2の画像の第2の解像度は、第1の画像の第1の解像度の4分の1である。本実施例に従って、検出された角の位置として識別された第2の画像内のピクセル毎に、第1の画像内に、検出された角と対応する、4つの対応するピクセルが存在する。故に、角位置決定器1926は、第1の画像内の4つのピクセル(第2の画像内の検出された角のピクセルと対応する)のうちの1つを検出された角として選択するように構成されてもよい。
いくつかの実施形態では、角位置決定器1926は、第1の画像内の検出された1つ以上の角に基づいて、(第1の画像内の4つのピクセルから)1つのピクセルを選択するように構成される。例えば、角検出器1916は、第1の画像内に、第2の画像内の角の座標(xr,yr)に近接近する2つの角が存在することを検出し得る。第1の画像内の2つの角の座標は、角位置決定器1926によって、(x1,y1)、(x2,y2)として決定され得る。次に、角位置決定器1926は、次いで、以下のように、第1の画像内の角の個別のピクセル座標と第2の画像内の角のピクセル座標との間の距離を計算する。
角位置決定器1926は、次いで、最低対応距離D(すなわち、min(D1,D2)を有する、第1の画像内のピクセルの座標を、検出された角の位置として選択する。
角位置決定器1926は、次いで、最低対応距離D(すなわち、min(D1,D2)を有する、第1の画像内のピクセルの座標を、検出された角の位置として選択する。
いくつかの実施形態では、角位置決定器1926は、他の技法を使用して、(第2の画像から検出された)検出された角の位置を精緻化してもよい。例えば、空間ビニングモジュール1924によって出力された角のセットの位置(非最大値抑制器1922および空間ビニングモジュール424によって第2の画像内の検出された角のサブセットとして選択される)は、角検出器1916に入力されてもよい。角検出器1916は、次いで、角検出アルゴリズムを実行し、第2の画像からの角のセットの位置と対応する離散場所における、第1の画像内の角を検出する。いくつかの実施形態では、角検出器1916は、Harris角検出アルゴリズムを実行し、第2の画像内のそれらの検出された角に対する位置に対応する、第1の画像内の角のセットを検出してもよい。本技法は、Harris角検出が、第1の画像全体上で実施されるように要求されず、第1の画像の離散部分上でのみで実施され、それによって、時間および算出リソースを節約するという点で有利である。
いくつかの実施形態では、ガンマ補正器1912、画像調節器1914、および角検出器1916は、これらのコンポーネントの機能を実施するように具体的に設計される、特殊ハードウェアを使用して実装されてもよい。非限定的実施例として、ハードウェアは、行列演算を実施するように具体的に設計される、1つ以上のFPGAプロセッサ、1つ以上のASICプロセッサ、1つ以上の信号プロセッサ、1つ以上の数学プロセッサ、1つ以上のプロセッサ、または前述の任意の組み合わせを含んでもよい。また、いくつかの実施形態では、処理ユニット1630は、ともに通信可能に結合される、別個のコンポーネントとして実装されてもよい。例えば、処理ユニット1630は、ガンマ補正器1912および画像調節器1914を搬送する、第1の基板と、角検出器1916を搬送する、別の基板とを有してもよい。別の実施例として、処理ユニット1630は、ソフトウェア1920を実行するためのプロセッサを有してもよく、プロセッサは、角検出器1916を支持する、同一基板上に、または角検出器1916のためのものと異なる基板上に、実装されてもよい。いくつかの実施形態では、それぞれ、ガンマ補正器1912、画像調節器1914、角検出器1916、およびソフトウェア1920を起動するプロセッサを搬送する、別個の基板が存在してもよい。いくつかの実施形態では、処理ユニット1630のコンポーネントのいずれか、いくつか、または全てが、頭部装着型フレーム構造1602に実装されてもよい。いくつかの実施形態では、処理ユニット1630のコンポーネントのいずれか、いくつか、または全てが、ベルトクリップモジュール、頸部装着型モジュール、携帯電話等、頭部装着型フレーム構造1602から離れたデバイスに実装されてもよい。
図22Bは、図22Aの処理ユニット1630の種々のコンポーネントの中への信号フローの実施例を図示する。信号フローは、図22Dに示されるグラフィカル実施例を参照して説明されるであろう。図22Bに示されるように、処理ユニット1630は、画像を画像ディスプレイデバイス1601のカメラシステムから受信する。画像は、リアルタイム画像または時間遅れを有する画像であってもよい。いくつかの実施形態では、画像は、画像を記憶する、非一過性媒体から受信されてもよい。非一過性媒体は、画像ディスプレイデバイス1601、または別の画像ディスプレイデバイス、サーバ、携帯電話、メディアデバイス等の外部デバイスの一部であってもよい。画像は、最初に、処理ユニット1630のガンマ補正器1912によって処理される。特に、処理ユニット1630のガンマ補正器1912は、画像内のピクセルに関するピクセル値と輝度との間の非線形関係を調節する。例えば、ガンマ補正器1912は、その関係が、線形またはオリジナル未加工画像内のものと比較してより線形であるように、ピクセル値と輝度との間の関係を調節してもよい。画像が、ガンマ補正のために調節された後、ガンマ補正器は、次いで、画像2002を画像調節器1914に通過させる。
画像調節器1914は、画像(第1の画像)2002を第1の解像度で取得し、画像2002を調節し、第2の画像2003を第1の解像度より低い第2の解像度で取得するように構成される。例えば、第1の画像2002は、VGA解像度を有してもよく、第2の画像2003は、QVGA解像度を有してもよい。そのような場合、第2の画像2003は、第1の画像2002内のピクセルの数の4分の1を有する。いくつかの実施形態では、第1の画像2002は、VGA解像度と異な解像度を有してもよく、第2の画像2003は、QVGA解像度と異なる解像度を有してもよい。第2の画像2003が取得された後、画像調節器1914は、次いで、第2の画像2003をニューラルネットワーク1915に通過させる。図22Dの実施例に示されるように、第2の画像2003は、角を伴うオブジェクトの画像を含む。
図22Bに戻ると、ニューラルネットワーク1915は、第2の画像2003を処理し、第2の画像2003内の特徴のセットと、個別の特徴の位置とを検出する。例えば、ニューラルネットワーク1915は、図1-14を参照して説明される技法のいずれかを利用して、第2の画像2003内の特徴のセットと、第2の画像2003内のその位置とを検出してもよい。図示される実施形態では、ニューラルネットワーク1915は、検出された特徴に関する場所のセットを識別する、情報2004を出力するように構成される。情報2004は、角検出器1916によって、可能性として考えられる角の位置として利用されてもよい。ある場合には、情報2004は、ヒートマップであってもよい。ヒートマップの実施例は、図22Dに図示される。ヒートマップは、着目特徴を有する、画像内の場所を識別する。ニューラルネットワーク1915は、それが有する畳み込み層のため、グローバルコンテキストを使用して、着目特徴を識別することが可能である。故に、ニューラルネットワーク1915によって識別される着目特徴は、より関連がある。
本明細書で使用されるように、用語「ニューラルネットワーク」は、いくつかの相互接続された処理要素から成る、任意のコンピューティングデバイス、システム、またはモジュールを指し、これは、入力に対するその動的状態応答によって情報を処理する。いくつかの実施形態では、ニューラルネットワークは、深層学習能力および/または人工知能を有してもよい。いくつかの実施形態では、ニューラルネットワークは、単に、1つ以上のデータセットを使用して訓練され得る、任意のコンピューティング要素であってもよい。非限定的実施例として、ニューラルネットワークは、パーセプトロン、フィードフォワードニューラルネットワーク、動径基底ニューラルネットワーク、深層フィードフォワードニューラルネットワーク、再帰ニューラルネットワーク、長/短期メモリニューラルネットワーク、ゲート付き再帰ユニット、オートエンコーダニューラルネットワーク、変分オートエンコーダニューラルネットワーク、デノイズオートエンコーダニューラルネットワーク、スパースオートエンコーダニューラルネットワーク、マルコフチェーンニューラルネットワーク、ホップフィールドニューラルネットワーク、Boltzmann機械、制限Boltzmann機械、深層ビリーフネットワーク、畳み込みネットワーク、逆畳み込みネットワーク、深層畳み込み逆グラフィックネットワーク、敵対的生成ネットワーク、液体状態機械、極限学習機械、エコー状態ネットワーク、深層残差ネットワーク、Kohonenネットワーク、サポートベクトル機械、ニューラルチューリング機械、モジュール式ニューラルネットワーク、シーケンス/シーケンスモデル等、または前述の任意の組み合わせであってもよい。
図22Bに戻ると、角検出器1916は、可能性として考えられる角場所の「ヒント」としてニューラルネットワーク1915によって提供される情報2004を使用して、第2の画像2003内の角を検出する。故に、角検出器1916は、角検出を画像の全体上で実施する必要がない。いくつかの実施形態では、ニューラルネットワーク1915によって第2の画像2003内で識別された特徴の位置毎に、角検出器1916は、検出された特徴を含む、第2の画像2003内の着目領域を決定する。着目領域は、64ピクセルを有する、8×8個のパッチであってもよい。いくつかの実施形態では、検出された特徴毎の着目領域は、他のパッチサイズを有してもよい。また、いくつかの実施形態では、低減された分解能を伴う第2の画像2003の代わりに、角検出器1916は、オリジナル分解能を伴う第1の画像2002内の着目領域を決定してもよい。図示される実施形態では、角検出器1916は、角検出アルゴリズムを使用して、各パッチ内の角を検出するように構成される。例えば、角検出器1916は、Harris角検出アルゴリズムまたは他のタイプの角検出技法を使用して、角を検出してもよい。いくつかの実施形態では、パッチは、ニューラルネットワーク1915によって識別されてもよい(角検出器1916の代わりに)。
いくつかの実施形態では、ニューラルネットワーク1915は、スコアをパッチ内のピクセルのそれぞれに割り当てるように構成される。角検出器1916は、パッチ内の最大スコアを伴うピクセルを識別し、識別されたピクセルの場所を可能性として考えられる角の場所として使用するように構成されてもよい。
角検出器1916が、パッチのそれぞれ内の角を検出後、角検出器1916は、次いで、角検出結果2006を非最大値抑制器1922に通過させる。角検出結果2006は、検出された角のセットの識別子と、その個別の座標とを含んでもよい。いくつかの実施形態では、角検出結果2006はまた、随意に、個別の検出された角に関するスコアを含んでもよい。スコアは、検出された角の品質、検出された角の信頼度レベル、検出された角の正確度等を示してもよい。
非最大値抑制器1922は、重複する識別された角を識別および除去するように構成される。例えば、角検出器1916は、相互に近い、2つの角を検出し得る(実際には、それらが、画像内の同一角に関するものであるとき)。故に、非最大値抑制器422が、同一角の重複検出が防止されるように、検出された角に関する非最大値抑制を実施するために採用される。いくつかの実施形態では、非最大値抑制器1922は、3×3ウィンドウを利用して、3×3ピクセルのグリッド内の重複の検出された角が存在しないことを確実にする。いくつかの実施形態では、非最大値抑制器1922は、他のウィンドウサイズを利用して、非最大値抑制を実施してもよい。非最大値抑制器1922が、重複の検出された角を除去後、非最大値抑制器1922は、次いで、結果2008を空間ビニングモジュール1924に通過させる。いくつかの実施形態では、結果2008は、角検出器1916によって出力された結果2006のサブセットである。
空間ビニングモジュール1924は、画像の異なる領域が検出された角の略均一分布を有するであろうように、画像に関して検出された角のあるものを選択する。空間ビニングモジュール1924は、検出された角が画像のある部分内に集中されないことを確実にし、画像のある部分に関してあまりに多くの角が検出することを防止するため、有利である。いくつかの実施形態では、処理ユニット1630は、空間ビニングモジュール1924を含まなくてもよい。
いくつかの実施形態では、角検出器1916による角の検出が、低減された解像度を伴う第2の画像2003に基づいて実施される場合、空間ビニングモジュール1924によって出力された結果2010(または処理ユニット1630が、非最大値抑制器1922および空間ビニングモジュール1924を含まない場合、結果2006)内の検出された角のより正確な位置を取得するために、第1の画像2002の解像度に基づいて、検出された角の位置を精緻化することが望ましくあり得る。図22Bに示されるように、角位置決定器1926は、角検出器1916によって提供される出力2022に基づいて、(空間ビニングモジュール1924/非最大値抑制器1922/角検出器1916によって出力された)角の位置を精緻化するように構成される。特に、いくつかの実施形態では、第1の解像度を伴う第1の画像2002もまた、角検出器1916によって処理され、角のセットを取得する。いくつかの実施形態では、第1の画像2002は、Harris角検出技法に基づいて、角検出器1916によって処理されてもよい。いくつかの実施形態では、角検出器1916は、異なる角検出技法を使用して、第1の画像2002内の角を検出してもよい。角位置決定器1926は、出力2030のために検出された角の最終位置を決定するために、第1の画像2002内の検出された角に基づいて、セット内の検出された角の位置(結果2006/2008/2010)を精緻化するように構成される。いくつかの実施形態では、角位置決定器1926は、空間ビニングモジュール1924によって出力されたセット内(すなわち、出力2010内)の角のそれぞれと最良空間対応を有する、第1の画像2002に基づいて検出された(出力2022内の)角を決定するように構成される。例えば、検出された角の位置を改良するために、(第2の画像2003に基づく)出力2010内の角が、位置(x=83,y=97)を有する場合、および(第1の画像2002に基づく)出力2022内の角が、角の位置に最も近い、位置(x=84,y=95)を有する場合、角位置決定器1926は、位置(x=84,y=95)を検出された角のための最終位置として使用するであろう。いくつかの実施形態では、角位置決定器1926は、第1の画像2002の離散領域内の角のみを検査し、出力2010内のものと対応する、角を識別するように構成されてもよい。いくつかの実施形態では、角位置決定器1926からの出力530は、空間ビニングモジュール1924/非最大値抑制器1922/角検出器1916からの検出された角のセットを含むが、識別された角に関する改良された位置を伴う。
いくつかの実施形態では、角検出器1916による角の検出、非最大値抑制器1922による非最大値抑制、および空間ビニングモジュール1924による空間ビニングは全て、低減された解像度を伴う第2の画像2003に基づいて実施される。本技法は、これらの演算が、有意な算出リソースを伴わずに、非常に迅速に実施されることを可能にするという点で、有利である。第1の画像2002が、VGA解像度を有し、第2の画像2003が、QVGA解像度を有する、実施例では、処理ユニット1630は、角検出器1916、非最大値抑制器1922、および空間ビニングモジュール1924による処理の全3つの段階において、第2の画像2003内のパッチを使用して、ピクセルの4分の1のみを処理する必要がある(第1の画像2002内のパッチが使用されるシナリオと比較して)。いくつかの実施形態では、そのような技法は、角特徴が非常に迅速に画像から抽出されることを可能にする。例えば、上記の技法を使用して、角のセット(非最大値抑制および空間ビニングを経た後)は、10ms未満、6ms未満、4ms未満、または2ms未満等以内に画像から取得され得る。これは、入力カメラ画像のリアルタイム処理を可能にするため、有利である。
いくつかの実施形態では、角位置決定器1926は、他の技法を使用して、(第2の画像から検出された)検出された角の位置を精緻化してもよい。例えば、図22Cに示されるように、いくつかの実施形態では、空間ビニングモジュール1924による出力2010(例えば、非最大値抑制器1922および空間ビニングモジュール1924によって第2の画像内の検出された角のサブセットとして選択された角のセットの位置)は、角検出器1916に入力されてもよい。角検出器1916は、次いで、角検出アルゴリズムを実行し、第2の画像2003からの角のセットの位置と対応する離散場所において、第1の画像2002内の角を検出する。いくつかの実装では、角検出器1916は、Harris角検出アルゴリズムを実行し、第2の画像2003内のそれらの検出された角に対する位置に対応する、第1の画像2002内の角のセットを検出してもよい。本技法は、Harris角検出が、第1の画像2002全体上で実施されることを要求されず、第1の画像2002の離散部分上でのみ実施され、それによって、時間および算出リソースをさらに節約するという点で、有利である。そのような場合、角検出器1916は、画像に関する特徴/マップ点としての使用のための精緻化された位置を伴う、角のセットを含む、出力2030を提供し得る。
いくつかの実施形態では、処理ユニット1630は、非最大値抑制器1922および/または空間ビニングモジュール1924を含まなくてもよい。そのような場合、角検出器1916は、その出力2006を直接角位置決定器1926に提供してもよく、これは、識別された角の位置を決定する。
いくつかの実施形態では、処理ユニット1630は、非最大値抑制器1922、空間ビニングモジュール1924、および角位置決定器1926を含まなくてもよい。そのような場合、角検出器1916は、識別された角の位置(例えば、情報2030)を出力してもよい。
いくつかの実施形態では、低減された分解能を伴う第2の画像2003の代わりに、角検出器1916は、ニューラルネットワーク1915によって可能性として考えられる角場所の「ヒント」として提供される情報2004を使用して、第1の画像2002(オリジナルのより高い分解能を伴う)内の角を検出するように構成されてもよい。いくつかの実施形態では、ニューラルネットワーク1915によって第2の画像2003内で識別された特徴の位置毎に、角検出器1916は、検出された特徴を含む、第1の画像2002内の対応する位置における着目領域を決定する。着目領域は、オリジナル分解能を伴う64ピクセルを有する、8×8個のパッチであってもよい。他の実施形態では、検出された特徴毎の着目領域は、他のパッチサイズを有してもよい。例えば、他の実施形態では、パッチは、N×N個のパッチであってもよく、Nは、1より大きい任意の整数である。さらなる実施形態では、パッチは、144ピクセルまたはそれ未満を有してもよく、ピクセルは、正方形形状または非正方形(例えば、矩形)形状に配列される。図示される実施形態では、角検出器1916は、角検出アルゴリズムを使用して、第1の画像2002内の各パッチにおける角を検出するように構成される。例えば、角検出器1916は、Harris角検出アルゴリズムまたは他のタイプの角検出技法を使用して、角を検出してもよい。角検出器1916をオリジナル分解能を伴う第1の画像2002上で動作させることは、微調節を検出された角の決定された位置に行う必要性(角検出器1916が低減された分解能を伴う第2の画像2003上で動作する場合に要求され得る)を取り除くため、有利である。
いくつかの実施形態では、処理ユニット1630は、ガンマ補正器1912を含まなくてもよい。そのような場合、画像は、直接、画像調節器1914に入力される。
いくつかの実施形態では、処理ユニット1630は、画像調節器1914を含まなくてもよい。そのような場合、ニューラルネットワーク1915および角検出器1916は両方とも、オリジナル分解能を伴う画像を使用して、その動作を実施するように構成される。
いくつかの実施形態では、処理ユニット1630内のコンポーネントのうちの1つ以上のものは、組み合わせられてもよい。例えば、いくつかの実施形態では、非最大値抑制器1922、空間ビニングモジュール1924、角位置決定器1926、または前述の任意の組み合わせは、角検出器1916の一部として実装されてもよい。いくつかの実施形態では、ガンマ補正器1912および/または画像調節器1914は、ニューラルネットワーク1915の一部として実装されてもよい。
いくつかの実施形態では、角の検出は、処理ユニット1630によって実施され、画像ディスプレイデバイス1601のカメラシステムからのリアルタイム入力画像を処理してもよい。例えば、入力画像は、カメラシステムによって提供されてもよく、処理ユニット1630は、角のセットを入力画像から決定してもよい。角のセットは、画像ディスプレイデバイス1601のユーザを位置特定するために、対応する特徴と位置特定マップをマッチングさせるための入力画像に関する特徴のセットとして利用されてもよい。
いくつかの実施形態では、角の検出は、位置特定マップを作成するために、処理ユニット1630によって実施され、画像ディスプレイデバイス1601のカメラシステムからの画像を処理してもよい。例えば、画像のシーケンスが、カメラシステムによって提供されてもよく、処理ユニット1630は、角のセットをシーケンス内の画像のそれぞれから決定してもよい。画像は、画像ディスプレイデバイス1601のユーザが、画像がユーザの異なる視認方向と対応するような異なる頭部姿勢を有するとき、カメラシステムによって取得されてもよい。処理ユニット1630はまた、その角に関する3Dマップ点を作成するために、シーケンス内の1つの画像内の角とシーケンスシーケンス内の別の画像内の角をマッチングさせる、ステレオマッチングを実施してもよい。3Dマップ点は、次いで、位置特定マップの一部として含まれる。
ハイブリッド技法(すなわち、ニューラルネットワーク+角検出器)を使用して、角を検出することは、任意のニューラルネットワークを伴わずに、角検出器のみを利用する、技法より有利であることに留意されたい。これは、ハイブリッド技法が、より少ない誤検出を伴って、角検出結果を生産し、「弱」角の抽出を有効にするためである。また、ハイブリッド技法は、弱角を抽出することが可能である(そうでなければ、Harris角検出のみを使用しては、検出不可能であり得る)。いくつかの実施形態では、ニューラルネットワークは、角がパッチの内側に存在し得ることのヒントを与え、本システムは、最強応答を使用して、角を検出する。例えば、ImgVGAパッチが、角を識別することが非常に困難であるが、ニューラルネットワークが、画像のより大きい部分を処理するため、角が存在することを伝え得る(例えば、図22Dにおける「VGA検出」参照)、図22Dを参照されたい。ニューラルネットワークは、良好な特徴(例えば、角)であることが予期される、大まかなエリアを出力する。
図22Eは、Harris角検出を使用して、ニューラルネットワークの利点を伴わずに取得される、結果の実施例を図示する。図に示されるように、角検出器は、点の多くが誤検出である(すなわち、それらは、角ではない)とき、画像内の多くの点を角として識別する。図22Fに示されるように、ニューラルネットワークによって提供されるヒートマップは、誤検出の多くを排除するためのマスクとして機能してもよい。結果として、ハイブリッド技法は、より正確な画像内の角のセットを識別する。図22Gに示されるように、ハイブリッド技法を使用して画像内で識別された角の数は、図22Eに示されるものと比較して、より少ない。
また、ニューラルネットワーク1915を使用して、角検出器1916によって「ヒント」として使用するためのヒートマップを提供することは、有利である。ヒートマップは、パッチの分類を提供する、すなわち、着目特徴がパッチ内に存在するかどうかを示す。故に、ニューラルネットワーク1915の出力は、角検出問題を単純分類問題(すなわち、「はい」または「いいえ」分類)に変える。分類に基づいて、角検出器1916は、次いで、実際、角がパッチ内の場所に存在するかどうかを確認する。
ニューラルネットワークと角検出器を組み合わせるハイブリッド技法もまた、低光量を伴う画像内で角を検出するためにも良好に機能するため、有利である。ニューラルネットワーク1915は、グローバルコンテキストを使用して、着目特徴を識別するため、角検出器1916が、低光量状況下でも、ニューラルネットワーク1915によって提供されるヒートマップを使用して角を識別することを可能にする。
処理ユニットおよび/または処理ユニット内のアプリケーションによって実施される方法
図24は、いくつかの実施形態による、方法2600を図示する。方法2600は、ユーザによって頭部に装着されるために構成される、装置によって実施されてもよく、装置は、ユーザのためにグラフィックを提示するように構成される、画面と、ユーザが位置する環境を視認するように構成される、カメラシステムと、処理ユニットとを有する。いくつかの実施形態では、方法2600は、図15-18に示される画像ディスプレイデバイス1601のいずれかによって実施されてもよい。例えば、方法2600は、画像ディスプレイデバイス1601の処理ユニット1630によって実施されてもよい。方法2600は、画像内の特徴の場所を取得するステップであって、特徴の場所は、ニューラルネットワークによって識別される、ステップ(アイテム2602)と、画像内の特徴のうちの1つに関する着目領域を決定するステップであって、着目領域は、画像のサイズ未満のサイズを有する、ステップ(アイテム2604)と、角検出アルゴリズムを使用して、角検出を実施し、着目領域内の角を識別するステップ(アイテム2606)とを含む。
随意に、方法2600では、着目領域は、ニューラルネットワークによって識別される場所のうちの少なくとも1つに基づいて決定される。
随意に、方法2600はさらに、画像を生成するステップと、画像をニューラルネットワークに伝送するステップとを含む。
随意に、方法2600では、ニューラルネットワークは、頭部装着型画像ディスプレイデバイスのモジュール内にある。
随意に、方法2600では、ニューラルネットワークは、頭部装着型画像ディスプレイデバイスから遠隔の1つ以上のコンピューティングデバイス内に実装される。
随意に、方法2600では、ニューラルネットワークは、機械学習能力を有する。
随意に、方法2600では、特徴の場所は、ニューラルネットワークからヒートマップを受信することによって取得され、ヒートマップは、特徴の場所を示す。
随意に、方法2600では、着目領域は、N×N個のパッチを備え、角検出は、N×N個のパッチ上で実施され、Nは、1より大きい整数である。
随意に、方法2600では、着目領域は、144個のピクセルまたはそれ未満を有する、パッチを備え、角検出は、パッチ上で実施される。
随意に、方法2600では、着目領域は、8×8個のパッチを備え、角検出は、8×8個のパッチ上で実施される。
随意に、方法2600では、画像は、第1の分解能を有し、特徴の場所は、第1の分解能未満である第2の分解能を有する、他の画像に基づいて、ニューラルネットワークによって識別される。
随意に、方法2600では、本方法はさらに、第1の分解能を伴う画像を第2の分解能を伴う他の画像に変換するステップを含む。
随意に、方法2600では、第1の分解能は、VGA分解能を備える。
随意に、方法2600では、第2の分解能は、QVGA分解能を備える。
随意に、方法2600では、本方法はさらに、ニューラルネットワークを含む。
随意に、方法2600では、ニューラルネットワークは、基準データセットを使用して訓練されている。
随意に、方法2600では、ニューラルネットワークは、畳み込みニューラルネットワークを備える。
随意に、方法2600では、ニューラルネットワークは、着目点場所および記述子を算出するように構成される。
随意に、方法2600では、ニューラルネットワークは、入力画像を空間的にダウンサンプリングするように構成される、エンコーダを備える。
随意に、方法2600では、ニューラルネットワークはまた、エンコーダからのエンコーダ出力に作用し、入力画像内のピクセル毎に、スコアを生産するように構成される、着目点デコーダと、エンコーダ出力に作用し、エンコーダ出力をより高い分解能にアップサンプリングし、入力画像内のピクセル毎に、ベクトルを生産するように構成される、記述子デコーダとを備える。
随意に、方法2600では、ニューラルネットワークは、着目点検出器の幾何学的一貫性を改良するために、ホモグラフィ適合を使用するように構成される。
随意に、方法2600では、ニューラルネットワークは、畳み込みニューラルネットワークを備え、着目点検出器は、畳み込みニューラルネットワークを用いて訓練される。
随意に、方法2600では、ニューラルネットワークは、画像ワーピングを実施し、ホモグラフィ適合内で1つ以上のワーピングされた画像を作成するように構成される。
随意に、方法2600はさらに、少なくとも部分的に、パッチ内の角の位置に基づいて、画像内の角の位置を決定するステップを含む。
随意に、方法2600はさらに、画像内の第1の角の位置を非一過性媒体内に記憶するステップを含む。
随意に、方法2600はさらに、着目領域内のピクセル毎に、スコアを決定するステップを含む。
特殊処理システム
実質的変形例が、具体的要件に従って成され得ることが当業者に明白であろう。例えば、カスタマイズされたハードウェアもまた、使用され得、および/または特定の要素が、ハードウェア、アプレット等のポータブルソフトウェアを含む、ソフトウェア、または両方内に実装され得る。さらに、ネットワーク入/出力デバイス等の他のコンピューティングデバイスへの接続が、採用されてもよい。
図25は、本明細書に説明される種々の特徴を実装するために使用され得る、特殊処理システム3100の実施形態を図示する、ブロック図である。例えば、いくつかの実施形態では、処理システム3100は、画像ディスプレイデバイス3101を実装するために使用されてもよい。処理システム3100は、バス3102または情報を通信するための他の通信機構と、情報を処理するためにバス3102と結合される、プロセッサ3104とを含む。プロセッサシステム3100はまた、情報およびプロセッサ3104によって実行されるべき命令を記憶するためにバス3102に結合される、ランダムアクセスメモリ(RAM)または他の動的記憶デバイス等のメインメモリ3106を含む。メインメモリ3106はまた、プロセッサ3104によって実行されるべき命令の実行の間、一時的変数または他の中間情報を記憶するために使用されてもよい。プロセッサシステム3100はさらに、静的情報およびプロセッサ3104のための命令を記憶するためにバス3102に結合される、読取専用メモリ(ROM)3108または他の静的記憶デバイスを含む。磁気ディスク、ソリッドステートディスク、または光ディスク等のデータ記憶デバイス3110が、提供され、情報および命令を記憶するためにバス3102に結合される。
プロセッサシステム3100は、情報をユーザに表示するために、バス3102を介して、画面等のディスプレイ3112に結合されてもよい。ある場合には、処理システム3100が、タッチスクリーンを含む、装置の一部である場合、ディスプレイ3112は、タッチスクリーンであってもよい。英数字および他のキーを含む、入力デバイス3114が、情報およびコマンド選択をプロセッサ3104に通信するために、バス3102に結合される。別のタイプのユーザ入力デバイスは、方向情報およびコマンド選択をプロセッサ3104に通信するための、かつディスプレイ3112上のカーソル移動を制御するための、マウス、トラックボール、またはカーソル方向キー等のカーソル制御3116である。本入力デバイスは、典型的には、デバイスが平面内の位置を規定することを可能にする、2つの軸、すなわち、第1の軸(例えば、x)および第2の軸(例えば、y)における2自由度を有する。ある場合には、処理システム3100が、タッチスクリーンを含む、装置の一部である場合、入力デバイス3114およびカーソル制御は、タッチスクリーンであってもよい。別のタイプの使用される入力デバイスは、光学カメラおよび/または深度感知カメラであって、これは、手のジェスチャを検出するように構成される。そのようなユーザ入力デバイスは、ユーザが、任意のものに触れることを要求せず、ユーザによるコマンドが、手のジェスチャに基づいて、解釈されてもよい。
いくつかの実施形態では、プロセッサシステム3100は、本明細書に説明される種々の機能を実施するために使用されることができる。いくつかの実施形態によると、そのような使用は、プロセッサ3104がメインメモリ3106内に含有される1つ以上の命令の1つ以上のシーケンスを実行することに応答して、プロセッサシステム3100によって提供される。当業者は、本明細書に説明される機能および方法に基づいて、そのような命令を準備する方法を把握するであろう。そのような命令は、記憶デバイス3110等の別のプロセッサ可読媒体からメインメモリ3106の中に読み込まれてもよい。メインメモリ3106内に含有される命令のシーケンスの実行は、プロセッサ3104に、本明細書に説明されるプロセスステップを実施させる。マルチ処理配列における1つ以上のプロセッサもまた、メインメモリ3106内に含有される命令のシーケンスを実行するために採用されてもよい。代替実施形態では、有線回路構成が、ソフトウェア命令の代わりに、またはそれと組み合わせて、本明細書に説明される種々の実施形態を実装するために使用されてもよい。したがって、実施形態は、ハードウェア回路構成とソフトウェアの任意の具体的組み合わせに限定されない。
用語「プロセッサ可読媒体」は、本明細書で使用されるように、命令を実行のためにプロセッサ3104に提供することに関わる、任意の媒体を指す。そのような媒体は、限定ではないが、不揮発性媒体、揮発性媒体、および伝送媒体を含む、多くの形態をとってもよい。不揮発性媒体は、例えば、記憶デバイス3110等の光学、ソリッドステート、または磁気ディスクを含む。不揮発性媒体は、非一過性媒体の実施例と見なされ得る。揮発性媒体は、メインメモリ3106等の動的メモリを含む。揮発性媒体は、非一過性媒体の実施例と見なされ得る。伝送媒体は、バス3102を備えるワイヤを含む、同軸ケーブル、銅ワイヤ、および光ファイバを含む。伝送媒体はまた、無線波および赤外線データ通信の間に生成されるもの等の音響または光波の形態をとることができる。
一般的形態のプロセッサ可読媒体は、例えば、フレキシブルディスク、ハードディスク、磁気テープ、または任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、孔のパターンを伴う任意の他の物理的媒体、RAM、PROM、およびEPROM、FLASH-EPROM、ソリッドステートディスク、任意の他のメモリチップまたはカートリッジ、以降に説明されるような搬送波、またはそこからプロセッサが読み取り得る、任意の他の媒体を含む。
種々の形態のプロセッサ可読媒体が、実行のために、1つ以上の命令の1つ以上のシーケンスをプロセッサ3104に搬送する際に関わり得る。例えば、命令は、最初に、遠隔コンピュータの磁気ディスクまたはソリッドステートディスク上で搬送され得る。遠隔コンピュータは、命令をその動的メモリの中にロードし、インターネット等のネットワークを経由して、命令を送信することができる。処理システム3100は、ネットワークラインに関するデータを受信することができる。バス3102は、データをメインメモリ3106に搬送し、そこから、プロセッサ3104は、命令を読み出し、実行する。メインメモリ3106によって受信された命令は、随意に、プロセッサ3104による実行の前または後のいずれかにおいて、記憶デバイス3110上に記憶され得る。
処理システム3100はまた、バス3102に結合される、通信インターフェース3118を含む。通信インターフェース3118は、ローカルネットワーク3122に接続される、ネットワークリンク3120への双方向データ通信結合を提供する。例えば、通信インターフェース3118は、データ通信接続を互換性があるLANに提供するためのローカルエリアネットワーク(LAN)カードであってもよい。無線リンクもまた、実装されてもよい。任意のそのような実装では、通信インターフェース3118は、種々のタイプの情報を表すデータストリームを搬送する、電気、電磁、または光学信号を送信および受信する。
ネットワークリンク3120は、典型的には、1つ以上のネットワークを通して、データ通信を他のデバイスに提供する。例えば、ネットワークリンク3120は、ローカルネットワーク3122を通して、接続をホストコンピュータ3124または機器3126に提供してもよい。ネットワークリンク3120を経由してトランスポートされるデータストリームは、電気、電磁、または光学信号を含むことができる。種々のネットワークを通した信号、およびネットワークリンク3120上、および処理システム3100におよびそこからデータを搬送する、通信インターフェース3118を通した信号は、情報をトランスポートする搬送波の例示的形態である。処理システム3100は、ネットワーク、ネットワークリンク3120、および通信インターフェース3118を通して、メッセージを送信し、プログラムコードを含む、データを受信することができる。
一側面では、いくつかの実施形態は、処理システム3100を採用し、本技術の種々の実施形態に従って、方法を実施してもよい。実施形態のあるセットによると、そのような方法のプロシージャのいくつかまたは全ては、処理システム310が、オペレーティングシステムの中に組み込まれる、1つ以上の命令の1つ以上のシーケンス、および/または処理システム3100のメモリ内に含有される、アプリケーションプログラム等の他のコードを実行することに応答して、処理システム3100によって実施される。そのような命令は、記憶デバイスのうちの1つ以上のもの等の別のコンピュータ可読媒体からメモリの中に読み込まれてもよい。単に、一例として、メモリ内に含有される命令のシーケンスの実行は、処理システム3100に本明細書に説明される方法の1つ以上のプロシージャを実施させ得る。加えて、または代替として、本明細書に説明される方法の一部は、特殊ハードウェアを通して実行されてもよい。
いくつかの実施形態では、本明細書に説明される方法2600は、アプリケーションを実行する処理システム3100によって、またはアプリケーションによって実施されてもよい。アプリケーションは、命令のセットを含有してもよい。また、処理システム3100は、処理ユニット1630の実施例であってもよい。1つの実装では、アプリケーションのための命令のセットを記憶する非一過性媒体を有する、特殊処理システムが、提供されてもよい。画像ディスプレイデバイス1601の処理ユニット1630による命令の実行は、処理ユニット1630に本明細書に説明される特徴を実施させるであろう。
いくつかの実施形態では、画像ディスプレイデバイス1601はまた、特殊処理システムと見なされ得る。特に、画像ディスプレイデバイス1601は、一意の有形効果を実世界内に提供するための処理ユニット1630による実行のためにその非一過性媒体内に記憶される命令を含有するという点で、特殊処理システムである。画像ディスプレイデバイス1601によって提供される特徴(処理ユニット1630が命令を実行する結果として)は、角検出、位置特定マップ作成、および画像ベースの位置特定の技術分野における改良を提供する。
用語「画像」は、本明細書で使用されるように、表示される画像および/または表示形態ではない画像(例えば、媒体内に記憶されている、または処理中の画像または画像データ)を指し得ることに留意されたい。
加えて、本明細書で使用されるように、用語「装置」は、単一デバイスまたはコンポーネント、または物理的にともに接続される場合とそうではない場合があり、および/または同一地理的領域内に位置する場合とそうではない場合がある、複数のデバイスまたはコンポーネントを指し得る。例えば、相互に無線通信する、2つ以上のデバイスまたはコンポーネントは、集合的に、「装置」と見なされ得る。別の実施例として、装置は、相互に通信する、異なる地理的領域内の2つのデバイスを備えてもよい。さらに、装置は、ソフトウェア、ハードウェア、または両方の組み合わせであってもよい。いくつかの実施形態では、装置は、集積回路(例えば、プロセッサ)等の少なくともいくつかのハードウェアを含む。
さらに、本明細書で使用されるように、用語「処理ユニット」は、ハードウェア、ソフトウェア、または両方の組み合わせを指し得る。非限定的実施例として、処理ユニットは、1つ以上のソフトウェアモジュール、1つ以上のアプリケーション、集積回路(1つ以上のプロセッサ、1つ以上のハードウェアコンポーネント等)、または前述の組み合わせであってもよい。
本開示の例示的側面が、材料選択および製造に関する詳細とともに、上記に記載されている。本開示の他の詳細に関して、これらは、上記で参照された特許および刊行物に関連して理解され、概して、当業者によって公知である、または理解され得る。同じことが、一般または論理的に採用されるような付加的作用の観点から、本開示の方法ベースの側面に関しても当てはまり得る。
加えて、本開示は、随意に、種々の特徴を組み込む、いくつかの実施例を参照して説明されているが、本開示は、開示の各変形例に関して検討されるように説明または図示されるものに限定されるものではない。種々の変更が、説明される本開示に行われてもよく、均等物(本明細書に列挙されるか、またはある程度の簡潔目的のために含まれないかどうかにかかわらず)が、本開示の真の精神および範囲から逸脱することなく代用されてもよい。加えて、値の範囲が提供される場合、その範囲の上限と下限との間の全ての介在値および任意の他の述べられた値または述べられた範囲内の介在値が、本開示内に包含されるものと理解されたい。
また、説明される本発明の変形例の任意の随意の特徴は、独立して、または本明細書に説明される特徴のうちの任意の1つ以上のものと組み合わせて、記載および請求され得ることが検討される。単数形項目の言及は、存在する複数の同一項目が存在する可能性を含む。より具体的には、本明細書および本明細書に関連付けられた請求項で使用されるように、単数形「a」、「an」、「said」、および「the」は、別様に具体的に述べられない限り、複数の言及を含む。さらに、任意の請求項は、任意の随意の要素を除外するように起草され得ることに留意されたい。したがって、本文言は、請求項の要素の列挙と関連する「単に」、「のみ」、および同等物等の排他的専門用語の使用、または「消極的」限定の使用のための先行詞としての役割を果たすことが意図される。
本開示の範疇は、提供される実施例および/または本明細書に限定されるべきではなく、むしろ、本開示と関連付けられる請求項の用語の範囲のみによって限定されるべきである。
前述の明細書では、本開示は、その具体的実施形態を参照して説明された。しかしながら、種々の修正および変更が、本開示のより広義の精神および範囲から逸脱することなく、そこに行われてもよいことが明白であろう。例えば、前述のプロセスフローは、プロセスアクションの特定の順序を参照して説明される。しかしながら、説明されるプロセスアクションの多くの順序は、本開示の範囲または動作に影響を及ぼすことなく、変更されてもよい。明細書および図面は、故に、限定的意味ではなく、例証と見なされるべきである。
Claims (19)
- 画像着目点検出のためにニューラルネットワークを訓練および使用する方法であって、前記方法は、
複数の基準セットを備える基準データセットを生成することであって、前記複数の基準セットはそれぞれ、
画像と、
前記画像に対応する基準着目点のセットと
を備える、ことと、
前記複数の基準セットの基準セット毎に、
ホモグラフィを前記画像に適用することによって、ワーピングされた画像を生成すること、
前記ホモグラフィを前記基準着目点のセットに適用することによって、ワーピングされた基準着目点のセットを生成すること、
前記ニューラルネットワークが前記画像を入力として受信することによって、計算された着目点のセットおよび計算された記述子を計算すること、
前記ニューラルネットワークが前記ワーピングされた画像を入力として受信することによって、計算されたワーピングされた着目点のセットおよび計算されたワーピングされた記述子を計算すること、
前記計算された着目点のセット、前記計算された記述子、前記計算されたワーピングされた着目点のセット、前記計算されたワーピングされた記述子、前記基準着目点のセット、前記ワーピングされた基準着目点のセット、および前記ホモグラフィに基づいて、損失を計算すること、ならびに
前記損失に基づいて、前記ニューラルネットワークを修正すること
を実行することと
を含み、
前記方法はさらに、入力画像内の特徴の場所を取得することであって、前記特徴の場所は、前記ニューラルネットワークによって識別される、ことと、前記入力画像内の前記特徴のうちの1つに関する着目領域を決定することであって、前記着目領域は、前記入力画像のサイズ未満のサイズを有する、ことと、角検出アルゴリズムを使用して、角検出を実施し、前記着目領域内の角を識別することとを含む、方法。 - 前記ニューラルネットワークは、着目点検出器サブネットワークおよび記述子サブネットワークを含み、
前記着目点検出器サブネットワークは、前記画像を入力として受信し、前記画像に基づいて、前記計算された着目点のセットを計算するように構成され、
前記記述子サブネットワークは、前記画像を入力として受信し、前記画像に基づいて、前記計算された記述子を計算するように構成される、請求項1に記載の方法。 - 前記損失に基づいて、前記ニューラルネットワークを修正することは、前記損失に基づいて、前記着目点検出器サブネットワークおよび前記記述子サブネットワークの一方または両方を修正することを含む、請求項1に記載の方法。
- 前記基準データセットを生成することに先立って、複数の合成画像と、合成着目点の複数のセットとを含む合成データセットを使用して、前記着目点検出器サブネットワークを訓練することをさらに含み、
前記基準データセットを生成することは、前記着目点検出器サブネットワークを使用して、前記基準データセットを生成することを含む、請求項1に記載の方法。 - 前記基準データセットを生成することは、
前記複数の基準セットの基準セット毎に、
複数の未標識画像を備える未標識データセットから、前記画像を取得することと、
複数のホモグラフィを前記画像に適用することによって、複数のワーピングされた画像を生成することと、
前記ニューラルネットワークが前記複数のワーピングされた画像を入力として受信することによって、複数の計算されたワーピングされた着目点のセットを計算することと、
複数の逆ホモグラフィを前記複数の計算されたワーピングされた着目点のセットに適用することによって、複数の計算された着目点のセットを生成することと、
前記複数の計算された着目点のセットを集約し、前記基準着目点のセットを取得することと
を実行することを含む、請求項1に記載の方法。 - 前記複数の基準セットはそれぞれ、前記画像に対応する基準記述子をさらに含み、前記基準データセットを生成することは、
前記複数の基準セットの基準セット毎に、
複数の未標識画像を備える未標識データセットから、前記画像を取得することと、
複数のホモグラフィを前記画像に適用することによって、複数のワーピングされた画像を生成することと、
前記ニューラルネットワークが前記複数のワーピングされた画像を入力として受信することによって、複数の計算されたワーピングされた記述子を計算することと、
複数の逆ホモグラフィを前記複数の計算されたワーピングされた記述子に適用することによって、複数の計算された記述子を生成することと、
前記複数の計算された記述子を集約し、前記基準記述子を取得することと
を実行することを含む、請求項1に記載の方法。 - 前記基準着目点のセットは、前記画像の特定のピクセルが前記特定のピクセルに位置する着目点を有する確率に対応する値を有する2次元マップである、請求項1に記載の方法。
- 方法であって、前記方法は、
第1の画像を捕捉することと、
第2の画像を捕捉することと、
ニューラルネットワークが前記第1の画像を入力として受信することによって、第1の計算された着目点のセットおよび第1の計算された記述子を計算することと、
前記ニューラルネットワークが前記第2の画像を入力として受信することによって、第2の計算された着目点のセットおよび第2の計算された記述子を計算することと、
前記第1および第2の計算された着目点のセットと、前記第1および第2の計算された記述子とに基づいて、前記第1の画像と前記第2の画像との間のホモグラフィを決定することと
を含み、
前記ニューラルネットワークは、前記第1の計算された着目点のセットおよび前記第2の計算された着目点のセットを計算するように構成される着目点検出器サブネットワークと、前記第1の計算された記述子および前記第2の計算された記述子を計算するように構成される記述子サブネットワークとを含み、
前記方法はさらに、
入力画像内の特徴の場所を取得することであって、前記特徴の場所は、前記ニューラルネットワークによって識別される、ことと、
前記入力画像内の前記特徴のうちの1つに関する着目領域を決定することであって、前記着目領域は、前記入力画像のサイズ未満のサイズを有する、ことと、
角検出アルゴリズムを使用して、角検出を実施し、前記着目領域内の角を識別することと
を含む、方法。 - 前記着目点検出器サブネットワークは、前記記述子サブネットワークが前記第1の計算された記述子を計算するのと並行して、前記第1の計算された着目点のセットを計算するように構成され、
前記着目点検出器サブネットワークは、前記記述子サブネットワークが前記第2の計算された記述子を計算するのと並行して、前記第2の計算された着目点のセットを計算するように構成される、請求項8に記載の方法。 - 複数の基準セットを備える基準データセットを生成することによって、前記ニューラルネットワークを訓練することであって、前記複数の基準セットはそれぞれ、画像と、前記画像に対応する基準着目点のセットとを含む、ことと、
前記複数の基準セットの基準セット毎に、
ホモグラフィを前記画像に適用することによって、ワーピングされた画像を生成すること、
前記ホモグラフィを前記基準着目点のセットに適用することによって、ワーピングされた基準着目点のセットを生成すること、
前記ニューラルネットワークが前記画像を入力として受信することによって、計算された着目点のセットおよび計算された記述子を計算すること、
前記ニューラルネットワークが前記ワーピングされた画像を入力として受信することによって、計算されたワーピングされた着目点のセットおよび計算されたワーピングされた記述子を計算すること、
前記計算された着目点のセット、前記計算された記述子、前記計算されたワーピングされた着目点のセット、前記計算されたワーピングされた記述子、前記基準着目点のセット、前記ワーピングされた基準着目点のセット、および前記ホモグラフィに基づいて、損失を計算すること、ならびに、
前記損失に基づいて、前記ニューラルネットワークを修正すること
を実行することと
をさらに含む、請求項8に記載の方法。 - 前記損失に基づいて、前記ニューラルネットワークを修正することは、前記損失に基づいて、前記着目点検出器サブネットワークおよび前記記述子サブネットワークの一方または両方を修正することを含む、請求項10に記載の方法。
- 前記基準データセットを生成することに先立って、複数の合成画像と、合成着目点の複数のセットとを含む合成データセットを使用して、前記着目点検出器サブネットワークを訓練することをさらに含み、
前記基準データセットを生成することは、前記着目点検出器サブネットワークを使用して、前記基準データセットを生成することを含む、請求項10に記載の方法。 - 前記基準データセットを生成することは、
前記複数の基準セットの基準セット毎に、
複数の未標識画像を備える未標識データセットから、前記画像を取得することと、
複数のホモグラフィを前記画像に適用することによって、複数のワーピングされた画像を生成することと、
前記ニューラルネットワークが前記複数のワーピングされた画像を入力として受信することによって、複数の計算されたワーピングされた着目点のセットを計算することと、
複数の逆ホモグラフィを前記複数の計算されたワーピングされた着目点のセットに適用することによって、複数の計算された着目点のセットを生成することと、
前記複数の計算された着目点のセットを集約し、前記基準着目点のセットを取得することと
を実行することを含む、請求項10に記載の方法。 - 前記複数の基準セットはそれぞれ、前記画像に対応する基準記述子をさらに含み、前記基準データセットを生成することは、
前記複数の基準セットの基準セット毎に、
複数の未標識画像を備える未標識データセットから、前記画像を取得することと、
複数のホモグラフィを前記画像に適用することによって、複数のワーピングされた画像を生成することと、
前記ニューラルネットワークが前記複数のワーピングされた画像を入力として受信することによって、複数の計算されたワーピングされた記述子を計算することと、
複数の逆ホモグラフィを前記複数の計算されたワーピングされた記述子に適用することによって、複数の計算された記述子を生成することと、
前記複数の計算された記述子を集約し、前記基準記述子を取得することと
を実行することを含む、請求項10に記載の方法。 - 光学デバイスであって、前記光学デバイスは、
第1の画像および第2の画像を捕捉するように構成される少なくとも1つのカメラと、
前記カメラに結合された1つ以上のプロセッサと
を備え、
前記1つ以上のプロセッサは、
前記第1の画像および前記第2の画像を前記少なくとも1つのカメラから受信することと、
ニューラルネットワークが前記第1の画像を入力として使用することによって、第1の計算された着目点のセットおよび第1の計算された記述子を計算することと、
前記ニューラルネットワークが前記第2の画像を入力として使用することによって、第2の計算された着目点のセットおよび第2の計算された記述子を計算することと、
前記第1および第2の計算された着目点のセットと、前記第1および第2の計算された記述子とに基づいて、前記第1の画像と前記第2の画像との間のホモグラフィを決定することと
を含む動作を実施するように構成され、
前記ニューラルネットワークは、
前記第1の計算された着目点のセットおよび前記第2の計算された着目点のセットを計算するように構成される着目点検出器サブネットワークと、
前記第1の計算された記述子および前記第2の計算された記述子を計算するように構成される記述子サブネットワークと
を含み、
前記1つ以上のプロセッサは、
入力画像内の特徴の場所を取得することであって、前記特徴の場所は、前記ニューラルネットワークによって識別される、ことと、
前記入力画像内の前記特徴のうちの1つに関する着目領域を決定することであって、前記着目領域は、前記画像のサイズ未満のサイズを有する、ことと、
角検出アルゴリズムを使用して、角検出を実施し、前記着目領域内の角を識別することと
を実行するように構成される、光学デバイス。 - 前記着目点検出器サブネットワークは、前記記述子サブネットワークが前記第1の計算された記述子を計算するのと並行して、前記第1の計算された着目点のセットを計算するように構成され、
前記着目点検出器サブネットワークは、前記記述子サブネットワークが前記第2の計算された記述子を計算するのと並行して、前記第2の計算された着目点のセットを計算するように構成される、請求項15に記載の光学デバイス。 - 前記ニューラルネットワークは、
複数の基準セットを備える基準データセットを生成することであって、前記複数の基準セットはそれぞれ、画像と、前記画像に対応する基準着目点のセットとを含む、ことと、
前記複数の基準セットの基準セット毎に、
ホモグラフィを前記画像に適用することによって、ワーピングされた画像を生成すること、
前記ホモグラフィを前記基準着目点のセットに適用することによって、ワーピングされた基準着目点のセットを生成すること、
前記ニューラルネットワークが前記画像を入力として受信することによって、計算された着目点のセットおよび計算された記述子を計算すること、
前記ニューラルネットワークが前記ワーピングされた画像を入力として受信することによって、計算されたワーピングされた着目点のセットおよび計算されたワーピングされた記述子を計算すること、
前記計算された着目点のセット、前記計算された記述子、前記計算されたワーピングされた着目点のセット、前記計算されたワーピングされた記述子、前記基準着目点のセット、前記ワーピングされた基準着目点のセット、および前記ホモグラフィに基づいて、損失を計算すること、ならびに
前記損失に基づいて、前記ニューラルネットワークを修正すること
を実行することと
によって、事前に訓練されたものである、請求項15に記載の光学デバイス。 - 前記損失に基づいて、前記ニューラルネットワークを修正することは、前記損失に基づいて、前記着目点検出器サブネットワークおよび前記記述子サブネットワークの一方または両方を修正することを含む、請求項17に記載の光学デバイス。
- 前記基準データセットを生成することは、
前記複数の基準セットの基準セット毎に、
複数の未標識画像を備える未標識データセットから、前記画像を取得することと、
複数のホモグラフィを前記画像に適用することによって、複数のワーピングされた画像を生成することと、
前記ニューラルネットワークが前記複数のワーピングされた画像を入力として受信することによって、複数の計算されたワーピングされた着目点のセットを計算することと、
複数の逆ホモグラフィを前記複数の計算されたワーピングされた着目点のセットに適用することによって、複数の計算された着目点のセットを生成することと、
前記複数の計算された着目点のセットを集約し、前記基準着目点のセットを取得することと
を実行することを含む、請求項17に記載の光学デバイス。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962849386P | 2019-05-17 | 2019-05-17 | |
US62/849,386 | 2019-05-17 | ||
PCT/US2020/033208 WO2020236624A1 (en) | 2019-05-17 | 2020-05-15 | Methods and apparatuses for corner detection using neural network and corner detector |
JP2021568283A JP7422785B2 (ja) | 2019-05-17 | 2020-05-15 | ニューラルネットワークおよび角検出器を使用した角検出のための方法および装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021568283A Division JP7422785B2 (ja) | 2019-05-17 | 2020-05-15 | ニューラルネットワークおよび角検出器を使用した角検出のための方法および装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2024028494A true JP2024028494A (ja) | 2024-03-04 |
Family
ID=73245048
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021568283A Active JP7422785B2 (ja) | 2019-05-17 | 2020-05-15 | ニューラルネットワークおよび角検出器を使用した角検出のための方法および装置 |
JP2024004488A Pending JP2024028494A (ja) | 2019-05-17 | 2024-01-16 | ニューラルネットワークおよび角検出器を使用した角検出のための方法および装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021568283A Active JP7422785B2 (ja) | 2019-05-17 | 2020-05-15 | ニューラルネットワークおよび角検出器を使用した角検出のための方法および装置 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11686941B2 (ja) |
EP (1) | EP3970114A4 (ja) |
JP (2) | JP7422785B2 (ja) |
CN (1) | CN113892127A (ja) |
WO (1) | WO2020236624A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11210547B2 (en) * | 2019-03-20 | 2021-12-28 | NavInfo Europe B.V. | Real-time scene understanding system |
US11340624B2 (en) * | 2019-08-29 | 2022-05-24 | Ford Global Technologies, Llc | Vehicle neural network |
US11783444B1 (en) * | 2019-11-14 | 2023-10-10 | Apple Inc. | Warping an input image based on depth and offset information |
US11354913B1 (en) * | 2019-11-27 | 2022-06-07 | Woven Planet North America, Inc. | Systems and methods for improving vehicle predictions using point representations of scene |
US11176425B2 (en) * | 2019-12-11 | 2021-11-16 | Naver Corporation | Joint detection and description systems and methods |
CN112561979B (zh) * | 2020-12-25 | 2022-06-28 | 天津大学 | 一种基于深度学习的自监督单目深度估计方法 |
TWI778519B (zh) * | 2021-02-09 | 2022-09-21 | 鴻海精密工業股份有限公司 | 瑕疵圖像生成方法、裝置、電子設備及存儲介質 |
US11822620B2 (en) * | 2021-02-18 | 2023-11-21 | Microsoft Technology Licensing, Llc | Personalized local image features using bilevel optimization |
JP2024515995A (ja) * | 2021-04-30 | 2024-04-11 | ナイアンティック, インコーポレイテッド | 注目点の再現性予測 |
CN114049502B (zh) * | 2021-12-22 | 2023-04-07 | 贝壳找房(北京)科技有限公司 | 神经网络的训练、特征提取、数据处理方法和设备 |
CN115170746B (zh) * | 2022-09-07 | 2022-11-22 | 中南大学 | 一种基于深度学习的多视图三维重建方法、系统及设备 |
CN115542318B (zh) * | 2022-10-12 | 2024-01-09 | 南京航空航天大学 | 面向无人机群目标的空地联合多域探测系统和方法 |
JP7477849B1 (ja) | 2023-01-16 | 2024-05-02 | 国立大学法人 東京大学 | 作業システム及び溶接システム |
CN116245950B (zh) * | 2023-05-11 | 2023-08-01 | 合肥高维数据技术有限公司 | 用于全屏或单角缺失的屏幕角点定位方法 |
CN117726541A (zh) * | 2024-02-08 | 2024-03-19 | 北京理工大学 | 一种基于二值化神经网络的暗光视频增强方法及装置 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160267720A1 (en) * | 2004-01-30 | 2016-09-15 | Electronic Scripting Products, Inc. | Pleasant and Realistic Virtual/Augmented/Mixed Reality Experience |
KR101377950B1 (ko) | 2007-05-04 | 2014-03-25 | 엘지전자 주식회사 | 영상 디스플레이 방법 및 이를 구현할 수 있는 단말기 |
US8831277B1 (en) | 2009-10-02 | 2014-09-09 | Rockwell Collins, Inc. | Optical helmet tracking system |
US8860760B2 (en) | 2010-09-25 | 2014-10-14 | Teledyne Scientific & Imaging, Llc | Augmented reality (AR) system and method for tracking parts and visually cueing a user to identify and locate parts in a scene |
IL231862A (en) * | 2014-04-01 | 2015-04-30 | Superfish Ltd | Image representation using a neural network |
US10726560B2 (en) | 2014-10-31 | 2020-07-28 | Fyusion, Inc. | Real-time mobile device capture and generation of art-styled AR/VR content |
JP6557973B2 (ja) * | 2015-01-07 | 2019-08-14 | 株式会社リコー | 地図生成装置、地図生成方法およびプログラム |
US10037712B2 (en) | 2015-01-30 | 2018-07-31 | Toyota Motor Engineering & Manufacturing North America, Inc. | Vision-assist devices and methods of detecting a classification of an object |
US9922220B2 (en) * | 2015-06-11 | 2018-03-20 | Digimarc Corporation | Image block selection for efficient time-limited decoding |
US10165949B2 (en) * | 2015-06-14 | 2019-01-01 | Facense Ltd. | Estimating posture using head-mounted cameras |
US11301045B1 (en) * | 2015-08-22 | 2022-04-12 | Bertec Corporation | Measurement system that includes at least one measurement assembly, a visual display device, and at least one data processing device |
US10354364B2 (en) * | 2015-09-14 | 2019-07-16 | Intel Corporation | Automatic perspective control using vanishing points |
JP6556015B2 (ja) * | 2015-10-09 | 2019-08-07 | ソニー株式会社 | 情報処理装置、位置および/または姿勢の推定方法、およびコンピュータプログラム |
CN114140867A (zh) * | 2015-10-16 | 2022-03-04 | 奇跃公司 | 使用眼睛特征的眼睛姿态识别 |
JP2017191501A (ja) * | 2016-04-14 | 2017-10-19 | キヤノン株式会社 | 情報処理装置、情報処理方法及びプログラム |
NZ787464A (en) | 2016-04-26 | 2023-06-30 | Magic Leap Inc | Electromagnetic tracking with augmented reality systems |
US10290111B2 (en) * | 2016-07-26 | 2019-05-14 | Qualcomm Incorporated | Systems and methods for compositing images |
JP6829575B2 (ja) * | 2016-10-03 | 2021-02-10 | グローリー株式会社 | 画像処理装置、画像処理システム及び画像処理方法 |
US10664722B1 (en) * | 2016-10-05 | 2020-05-26 | Digimarc Corporation | Image processing arrangements |
US10573040B2 (en) * | 2016-11-08 | 2020-02-25 | Adobe Inc. | Image modification using detected symmetry |
WO2018093796A1 (en) * | 2016-11-15 | 2018-05-24 | Magic Leap, Inc. | Deep learning system for cuboid detection |
US11393160B2 (en) * | 2018-03-23 | 2022-07-19 | Intel Corporation | Deep geometric model fitting |
US20190303648A1 (en) * | 2018-04-02 | 2019-10-03 | QRI Group, LLC | Smart surveillance and diagnostic system for oil and gas field surface environment via unmanned aerial vehicle and cloud computation |
US20210262204A1 (en) * | 2018-06-01 | 2021-08-26 | Motion Metrics International Corp. | Method, apparatus and system for monitoring a condition associated with operating heavy equipment such as a mining shovel or excavator |
WO2020011580A1 (en) * | 2018-07-13 | 2020-01-16 | Asml Netherlands B.V. | Sem image enhancement methods and systems |
US20200065559A1 (en) * | 2018-08-22 | 2020-02-27 | Nitin Vats | Generating a video using a video and user image or video |
IL281060B2 (en) * | 2018-08-28 | 2023-11-01 | Asml Netherlands Bv | Methods and systems of optimal meteorological guidance |
US11282198B2 (en) * | 2018-11-21 | 2022-03-22 | Enlitic, Inc. | Heat map generating system and methods for use therewith |
-
2020
- 2020-05-15 CN CN202080037833.9A patent/CN113892127A/zh active Pending
- 2020-05-15 WO PCT/US2020/033208 patent/WO2020236624A1/en active Application Filing
- 2020-05-15 US US16/875,499 patent/US11686941B2/en active Active
- 2020-05-15 JP JP2021568283A patent/JP7422785B2/ja active Active
- 2020-05-15 EP EP20810549.4A patent/EP3970114A4/en active Pending
-
2023
- 2023-05-11 US US18/315,766 patent/US20230288703A1/en active Pending
-
2024
- 2024-01-16 JP JP2024004488A patent/JP2024028494A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2022532238A (ja) | 2022-07-13 |
CN113892127A (zh) | 2022-01-04 |
US20200364876A1 (en) | 2020-11-19 |
US11686941B2 (en) | 2023-06-27 |
EP3970114A1 (en) | 2022-03-23 |
JP7422785B2 (ja) | 2024-01-26 |
US20230288703A1 (en) | 2023-09-14 |
EP3970114A4 (en) | 2022-07-13 |
WO2020236624A1 (en) | 2020-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7422785B2 (ja) | ニューラルネットワークおよび角検出器を使用した角検出のための方法および装置 | |
JP7403700B2 (ja) | ホモグラフィ適合を介した完全畳み込み着目点検出および記述 | |
JP7357676B2 (ja) | 自己改良ビジュアルオドメトリを実施するためのシステムおよび方法 | |
US11605223B2 (en) | Methods and apparatuses for corner detection | |
JP2022540549A (ja) | 複数のコンピューティングデバイスにわたってニューラルネットワークを分散させるためのシステムおよび方法 | |
US11361507B1 (en) | Articulated body mesh estimation using three-dimensional (3D) body keypoints | |
WO2021151380A1 (en) | Method for rendering virtual object based on illumination estimation, method for training neural network, and related products | |
US20230334806A1 (en) | Scaling neural representations for multi-view reconstruction of scenes | |
US11922558B2 (en) | Hybrid differentiable rendering for light transport simulation systems and applications | |
WO2022251619A1 (en) | Hybrid differentiable rendering for light transport simulation systems and applications | |
US20210192782A1 (en) | Methods and apparatuses for corner detection | |
US11783532B1 (en) | View synthesis using attribute correspondences and geometric relationship constraints | |
WO2023200936A1 (en) | Scaling neural representations for multi-view reconstruction of scenes | |
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: 20240116 |