JP7011608B2 - 3次元空間内の姿勢推定 - Google Patents

3次元空間内の姿勢推定 Download PDF

Info

Publication number
JP7011608B2
JP7011608B2 JP2018566492A JP2018566492A JP7011608B2 JP 7011608 B2 JP7011608 B2 JP 7011608B2 JP 2018566492 A JP2018566492 A JP 2018566492A JP 2018566492 A JP2018566492 A JP 2018566492A JP 7011608 B2 JP7011608 B2 JP 7011608B2
Authority
JP
Japan
Prior art keywords
image
sparse points
sparse
group
points
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018566492A
Other languages
English (en)
Other versions
JP2019522851A (ja
Inventor
エイドリアン ケーラー,
ゲイリー ブラドスキー,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Magic Leap Inc
Original Assignee
Magic Leap Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Magic Leap Inc filed Critical Magic Leap Inc
Publication of JP2019522851A publication Critical patent/JP2019522851A/ja
Priority to JP2022004329A priority Critical patent/JP2022051761A/ja
Application granted granted Critical
Publication of JP7011608B2 publication Critical patent/JP7011608B2/ja
Priority to JP2023184793A priority patent/JP2023175052A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S3/00Direction-finders for determining the direction from which infrasonic, sonic, ultrasonic, or electromagnetic waves, or particle emission, not having a directional significance, are being received
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/16Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using electromagnetic waves other than radio waves
    • G01S5/163Determination of attitude
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/579Depth or shape recovery from multiple images from motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/24Aligning, centring, orientation detection or correction of the image
    • G06V10/242Aligning, centring, orientation detection or correction of the image by image rotation, e.g. by 90 degrees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/398Synchronisation thereof; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/95Computational photography systems, e.g. light-field imaging systems
    • H04N23/951Computational photography systems, e.g. light-field imaging systems by using two or more images to influence resolution, frame rate or aspect ratio
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Electromagnetism (AREA)
  • Computing Systems (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Body Structure For Vehicles (AREA)
  • Image Processing (AREA)
  • Investigating Or Analysing Materials By Optical Means (AREA)

Description

(関連出願の相互参照)
本願は、2016年6月30日に出願され、“ESTIMATING POSE IN 3D SPACE”と題された米国仮特許出願第62/357,285号に対する35 U.S.C. § 119(e)のもとでの優先権の利益を主張するものであり、該米国仮特許出願の内容は、全体的に参照により本明細書中に援用される。
本開示は、仮想現実および拡張現実イメージングならびに可視化システムに関し、より具体的には、3次元(3D)空間内における疎姿勢推定に関する。
現代のコンピューティングおよびディスプレイ技術は、いわゆる「仮想現実」または「拡張現実」体験のためのシステムの開発を促進しており、デジタル的に再現された画像またはその一部が、現実であるように見える、もしくはそのように知覚され得る様式でユーザに提示される。仮想現実または「VR」シナリオは、典型的には、他の実際の実世界の視覚的入力に対する透明性を伴わずに、デジタルまたは仮想画像情報の提示を伴い、拡張現実または「AR」シナリオは、典型的には、ユーザの周囲の実際の世界の可視化に対する拡張としてのデジタルまたは仮想画像情報の提示を伴う。例えば、図1を参照すると、拡張現実場面1000が、描写されており、AR技術のユーザには、背景における人々、木々、建物を特徴とする実世界公園状設定1100と、コンクリートプラットフォーム1120とが見える。これらのアイテムに加え、AR技術のユーザはまた、実世界プラットフォーム1120上に立っているロボット像1110と、マルハナバチの擬人化のように見える、飛んでいる漫画のようなアバタキャラクタ1130等の「仮想コンテンツ」を、これらの要素が実世界内に存在しないにもかかわらず「見ている」と知覚する。結論から述べると、ヒトの視知覚系は、非常に複雑であって、他の仮想または実世界画像要素間における仮想画像要素の快適で、自然のような感覚で、かつ豊かな提示を促進する、VRまたはAR技術の生成は、困難である。本明細書に開示されるシステムおよび方法は、VRおよびAR技術に関連する種々の課題に対処する。
本開示の一側面は、疎点が画像捕捉デバイスによって画像フレーム内で捕捉されるにつれて実施される、疎姿勢推定を提供する。故に、疎姿勢推定は、画像フレーム全体が捕捉される前に実施されることができる。いくつかの実施形態では、疎姿勢推定は、画像フレームが捕捉されるにつれて、精緻化または更新され得る。
いくつかの実施形態では、環境内の画像捕捉デバイスの位置を推定するためのシステム、デバイス、および方法が、開示される。いくつかの実装では、本方法は、第1のグループの複数の画像セグメントを連続して受信するステップを含んでもよい。第1の複数の画像セグメントは、画像捕捉デバイスの正面からの視野(FOV)を表す画像の少なくとも一部を形成し得、これは、画像捕捉デバイスを囲繞する環境の一部と、複数の疎点とを含み得る。各疎点は、画像セグメントのサブセットに対応し得る。本方法はまた、第1のグループの疎点を識別するステップを含んでもよく、これは、第1のグループの複数の画像セグメントが受信されるにつれて識別される、1つ以上の疎点を含む。本方法は、次いで、位置推定システムによって、第1のグループの疎点に基づいて、環境内の画像捕捉デバイスの位置を決定するステップを含んでもよい。本方法はまた、第2のグループの複数の画像セグメントを連続して受信するステップを含んでもよく、これは、第1のグループの複数の画像セグメントから受信され、画像の少なくとも別の部分を形成し得る。本方法は、次いで、第2のグループの疎点を識別するステップを含んでもよく、これは、第2のグループ複数の画像セグメントが受信されるにつれて識別される、1つ以上の疎点を含んでもよい。本方法は、次いで、位置推定システムによって、第1および第2のグループの疎点に基づいて、環境内の画像捕捉デバイスの位置を更新してもよい。
いくつかの実施形態では、環境内の画像捕捉デバイスの位置を推定するためのシステム、デバイス、および方法が、開示される。いくつかの実装では、本方法は、複数の画像セグメントを連続して受信するステップを含んでもよく、これは、画像捕捉デバイスの正面からの視野(FOV)を表す、画像を形成し得る。FOVは、画像捕捉デバイスを囲繞する環境の一部を含み、複数の疎点を含んでもよい。各疎点は、部分的に、複数の画像セグメントの画像セグメントの対応するサブセットに基づいて識別可能であり得る。本方法はまた、1つ以上の疎点に対応する画像セグメントの各サブセットが受信されると、複数の疎点の1つ以上の疎点を連続して識別するステップを含んでもよい。本方法は、次いで、識別された1つ以上の疎点に基づいて、環境内の画像捕捉デバイスの位置を推定するステップを含んでもよい。
いくつかの実施形態では、環境内の画像捕捉デバイスの位置を推定するためのシステム、デバイス、および方法が、開示される。いくつかの実装では、画像捕捉デバイスは、画像を捕捉するように構成される、画像センサを含んでもよい。画像は、画像捕捉デバイスの視野(FOV)を表す、複数の画像セグメントを連続して捕捉することを介して、捕捉されてもよい。FOVは、画像捕捉デバイスを囲繞する環境の一部と、複数の疎点とを含んでもよい。各疎点は、部分的に、複数の画像セグメントの対応するサブセットに基づいて、識別可能であり得る。画像捕捉デバイスはまた、1つ以上の疎点に対応する画像セグメントのサブセットを記憶するように構成される、メモリ回路と、メモリ回路に動作可能に結合される、コンピュータプロセッサとを含んでもよい。コンピュータプロセッサは、画像捕捉デバイスによって、1つ以上の疎点に対応する画像セグメントの各サブセットが受信されると、複数の疎点の1つ以上の疎点を連続して識別するように構成されてもよい。コンピュータプロセッサはまた、識別された1つ以上の疎点に基づいて、環境内の画像捕捉デバイスの位置を推定するために、連続して識別された1つ以上の疎点を抽出するように構成されてもよい。
いくつかの実施形態では、環境内の画像捕捉デバイスの位置を推定するためのシステム、デバイス、および方法が、開示される。いくつかの実装では、拡張現実システムが、開示される。拡張現実システムは、外向きに面したイメージングデバイスと、コンピュータハードウェアと、コンピュータハードウェアおよび外向きに面したイメージングデバイスに動作可能に結合される、プロセッサとを含んでもよい。プロセッサは、本明細書に開示される方法の少なくとも一部を実施するための命令を実行するように構成されてもよい。
いくつかの実施形態では、環境内の画像捕捉デバイスの位置を推定するためのシステム、デバイス、および方法が、開示される。いくつかの実装では、自律的エンティティが、開示される。自律的エンティティは、外向きに面したイメージングデバイスと、コンピュータハードウェアと、コンピュータハードウェアおよび外向きに面したイメージングデバイスに動作可能に結合される、プロセッサとを含んでもよい。プロセッサは、本明細書に開示される方法の少なくとも一部を実施するための命令を実行するように構成されてもよい。
いくつかの実施形態では、環境内の画像捕捉デバイスの位置を推定するためのシステム、デバイス、および方法が、開示される。いくつかの実装では、ロボットシステムが、開示される。ロボットシステムは、外向きに面したイメージングデバイスと、コンピュータハードウェアと、コンピュータハードウェアおよび外向きに面したイメージングデバイスに動作可能に結合される、プロセッサとを含んでもよい。プロセッサは、本明細書に開示される方法の少なくとも一部を実施するための命令を実行するように構成されてもよい。
添付の請求項の範囲内の方法および装置の種々の実装はそれぞれ、いくつかの側面を有し、そのいずれの単一のものも、本明細書に説明される望ましい属性を単独で担ってはいない。添付の請求項の範囲を限定することなく、いくつかの顕著な特徴が、本明細書に説明される。
本明細書に説明される主題の1つ以上の実装の詳細が、付随の図面および以下の説明に記載される。他の特徴、側面、および利点は、説明、図面、ならびに請求項から明白となるであろう。本概要または以下の発明を実施するための形態のいずれも、本発明の主題の範囲を定義または限定することを主張するものではない。
本明細書は、例えば、以下の項目も提供する。
(項目1)
イメージングシステムであって、
レンズおよび画像センサを含む画像捕捉デバイスであって、前記レンズは、前記画像捕捉デバイスを囲繞する環境からの光を前記画像センサに指向するように構成され、前記画像センサは、
前記環境からの光に基づいて、画像の第1の複数の画像セグメントを連続して捕捉することであって、前記画像は、前記画像捕捉デバイスの視野(FOV)を表し、前記FOVは、前記環境の一部を構成し、複数の疎点を含む、ことと
第2の複数の画像セグメントを連続して捕捉することであって、前記第2の複数の画像セグメントは、前記第1の複数の画像セグメントの後に捕捉され、前記画像の少なくとも別の部分を形成する、ことと
を行うように構成される、画像捕捉デバイスと、
前記第1および第2の複数の画像セグメントを前記画像センサから連続して受信し、前記環境内の前記画像捕捉デバイスの位置および配向のうちの少なくとも1つを推定するための命令を記憶するように構成される、非一過性データ記憶装置と、
前記非一過性データ記憶装置に動作可能に結合された少なくとも1つのハードウェアプロセッサであって、前記少なくとも1つのハードウェアプロセッサは、
部分的に、前記第1の複数の画像セグメントの対応するサブセットに基づいて、第1のグループの疎点を識別することであって、前記第1のグループの疎点は、前記第1の複数の画像セグメントが前記非一過性データ記憶装置において受信されるにつれて識別される、ことと、
前記第1のグループの疎点に基づいて、前記環境内の前記イメージングデバイスの位置および配向のうちの少なくとも1つを決定することと、
部分的に、前記第2の複数の画像セグメントの対応するサブセットに基づいて、第2のグループの疎点を識別することであって、前記第2のグループの疎点は、前記第2の複数の画像セグメントが前記非一過性データ記憶装置において受信されるにつれて識別される、ことと、
前記第1および第2のグループの疎点に基づいて、前記環境内の前記イメージングデバイスの位置および配向のうちの少なくとも1つを更新することと
を行うための命令によって構成される、少なくとも1つのハードウェアプロセッサと
を含む、イメージングシステム。
(項目2)
前記画像センサは、ローリングシャッタ画像センサである、項目1に記載のイメージングシステム。
(項目3)
前記非一過性データ記憶装置は、前記画像セグメントが前記画像センサによって捕捉されるにつれて、前記第1および第2の複数の画像セグメントを連続して受信するように構成される、非一過性バッファ記憶装置を含み、前記非一過性バッファ記憶装置は、少なくとも部分的に、画像セグメントの各サブセット内に含まれる画像セグメントの数に基づいて、記憶容量を有する、項目1に記載のイメージングシステム。
(項目4)
前記第1のグループの疎点または前記第2のグループの疎点は、10~20の疎点の疎点の数を含む、項目1に記載のイメージングシステム。
(項目5)
前記ハードウェアプロセッサは、直近で識別された疎点の数に基づいて、前記画像捕捉デバイスの位置および配向のうちの少なくとも1つを更新するように構成され、前記直近で識別された疎点は、前記第1のグループの疎点、前記第2のグループの疎点、および前記第1および第2のグループの疎点のうちの1つ以上のもののうちの少なくとも1つを含む、項目1に記載のイメージングシステム。
(項目6)
前記直近で識別された疎点の数は、前記第1のグループの疎点における疎点の数と等しい、項目5に記載のイメージングシステム。
(項目7)
前記ハードウェアプロセッサは、視覚的同時位置特定およびマッピング(V-SLAM)アルゴリズムを実施するように構成される、項目1に記載のイメージングシステム。
(項目8)
前記複数の疎点は、実世界オブジェクト、仮想画像要素、および前記環境の中に投影された不可視インジケータのうちの少なくとも1つに基づいて識別される、項目1に記載のイメージングシステム。
(項目9)
ユーザの頭部上に装着されるように構成される頭部搭載型ディスプレイ(HMD)であって、前記HMDは、
フレームと、
前記フレームによって支持され、前記ユーザの眼の前方に配置される、ディスプレイと、
前記フレーム上に配置され、レンズおよび画像センサを含む、外向きに面した画像捕捉デバイスであって、前記レンズは、前記HMDを囲繞する環境からの光を前記画像センサに指向するように構成され、前記画像センサは、前記環境からの光に基づいて、画像の複数の画像セグメントを連続して捕捉するように構成され、前記画像は、前記外向きに面した画像捕捉デバイスの視野(FOV)を表し、前記FOVは、環境の一部を構成し、複数の疎点を含み、各疎点は、部分的に、前記複数の画像セグメントの対応するサブセットに基づいて、識別可能である、外向きに面した画像捕捉デバイスと、
前記複数の画像セグメントを前記画像センサから連続して受信し、前記環境内の前記HMDの位置および配向のうちの少なくとも1つを推定するための命令を記憶するように構成される、非一過性データ記憶装置と、
前記非一過性データ記憶装置に動作可能に結合された少なくとも1つのハードウェアプロセッサであって、前記少なくとも1つのハードウェアプロセッサは、
前記1つ以上の疎点に対応する画像セグメントの各サブセットが前記非一過性データ記憶装置において受信されると、前記複数の疎点の1つ以上の疎点を連続して識別することと、
前記識別された1つ以上の疎点に基づいて、前記環境内の前記HMDの位置および配向のうちの少なくとも1つを推定することと
を行うための命令によって構成される、少なくとも1つのハードウェアプロセッサと
を含む、HMD。
(項目10)
前記非一過性データ記憶装置は、循環バッファまたはローリングバッファを含む、項目9に記載のHMD。
(項目11)
前記複数の画像セグメントは、少なくとも第1の複数の画像セグメントおよび第2の複数の画像セグメントを含み、前記画像センサは、前記第1および第2の画像セグメントを前記非一過性データ記憶装置に連続して伝送するように構成される、項目9に記載のHMD。
(項目12)
前記ハードウェアプロセッサは、
第1のグループの1つ以上の疎点に対応する第1の複数の画像セグメントが受信されると、前記第1のグループの1つ以上の疎点を連続して識別することと、
第2のグループの1つ以上の疎点に対応する第2の複数の画像セグメントが受信されると、前記第2のグループの1つ以上の疎点を連続して識別することと
を行うように構成され、前記第2の複数の画像セグメントは、前記第1の複数の画像セグメントの後に受信される、項目11に記載のHMD。
(項目13)
前記ハードウェアプロセッサは、前記識別された第1のグループの1つ以上の疎点に基づいて、前記HMDの位置および配向のうちの少なくとも1つを推定するように構成される、項目12に記載のHMD。
(項目14)
前記第1のグループの疎点または前記第2のグループの疎点は、2~20の疎点の数を含む、項目13に記載のHMD。
(項目15)
前記第1のグループの疎点または前記第2のグループは、10~20の疎点の数を含む、項目13に記載のHMD。
(項目16)
前記ハードウェアプロセッサはさらに、前記識別された第2のグループの1つ以上の疎点に基づいて、前記HMDの位置および配向のうちの少なくとも1つを更新するように構成される、項目13に記載のHMD。
(項目17)
前記ハードウェアプロセッサはさらに、前記連続して識別された1つ以上の疎点の数が識別されると、前記HMDの位置および配向のうちの少なくとも1つを更新するように構成される、項目9に記載のHMD。
(項目18)
連続して識別された1つ以上の疎点の数は、前記第1のグループの1つ以上の疎点の疎点のうちの少なくとも1つを含む、項目17に記載のHMD。
(項目19)
前記複数の疎点は、実世界オブジェクト、仮想画像要素、および前記環境の中に投影された不可視インジケータのうちの少なくとも1つに基づいて識別される、項目9に記載のHMD。
(項目20)
前記ハードウェアプロセッサはさらに、
前記連続して識別された1つ以上の疎点を前記複数の画像セグメントの対応するサブセットから抽出することと、
視覚的同時位置特定マッピング(VSLAM)アルゴリズムを前記連続して識別された1つ以上の疎点に実施し、前記画像捕捉デバイスの位置および配向のうちの少なくとも1つを推定することと
を行うように構成される、項目9に記載のHMD。
図1は、人物によって視認されるある仮想現実オブジェクトおよびある実際の現実オブジェクトを伴う、拡張現実シナリオの例証を描写する。
図2は、ウェアラブルディスプレイシステムの実施例を図式的に図示する。
図3は、3D空間(本実施例では、部屋)内を移動するにつれたイメージングデバイスの複数の位置の実施例を図式的に図示する。
図4Aおよび4Bは、画像フレーム上の剪断効果の実施例を図式的に図示する。
図5Aおよび5Bは、複数の疎点に及ぼす図4Aおよび4Bの剪断効果の実施例を図式的に図示する。
図6は、例示的ARアーキテクチャのブロック図である。
図7は、姿勢のための例示的座標系である。
図8は、3D空間内のイメージングデバイスの姿勢を決定する方法の実施例のプロセスフロー図である。
図9Aおよび9Bは、複数の画像セグメントの受信に基づいて、1つ以上の疎点を画像フレームから抽出する実施例を図式的に図示する。
図10は、3D空間内のイメージングデバイスの姿勢を決定する方法の別の実施例のプロセスフロー図である。
図面全体を通して、参照番号は、参照される要素間の対応を示すために再使用され得る。提供される図面は、縮尺通りではなく、本明細書に説明される例示的実施形態を図示するために提供され、本開示の範囲を限定することを意図されない。
(概要)
3次元(3D)空間内で移動するARデバイスまたは他のデバイスの使用に伴って、デバイスは、3D空間を通してその移動を追跡し、3D空間をマッピングする必要があり得る。例えば、ARデバイスは、ユーザの移動に起因して、またはユーザ(例えば、ロボットまたは他の自律的エンティティ)から独立してのいずれかにおいて、3D空間を動き回り得、仮想画像要素または実世界画像要素の中でもとりわけ仮想画像要素の表示を促進するために、後続処理のために、3D空間をマッピングし、3D空間内のデバイスの場所、位置、または配向のうちの1つ以上のものを決定することが有益であり得る。例えば、仮想および実世界画像要素を正確に提示するために、デバイスは、実世界内に位置する場所およびその配向を把握し、実世界空間内に特定の配向を伴って、仮想画像を特定の場所に正確にレンダリングする必要があり得る。別の実施形態では、3D空間を通してデバイスの軌道を再現することが望ましくあり得る。したがって、デバイスが3D空間を動き回るにつれて、3D空間内のデバイスの位置、場所、または配向(以降、集合的に、「姿勢」と称される)をリアルタイムで決定することが望ましくあり得る。いくつかの実装では、3D空間内の疎姿勢推定が、例えば、ARデバイスの一部として含まれるイメージングデバイスからの画像フレームの連続ストリームから決定されてもよい。連続ストリームの各画像フレームは、処理のために、また、疎姿勢推定に含有するため、デバイスの姿勢をそこから推定するために、記憶されてもよい。しかしながら、これらの技法は、後続処理のためのメモリへの各フレームの全体の転送に起因して、姿勢を推定する際に遅延を生じさせ得る。
本開示は、3D空間内のデバイス(例えば、ARデバイスまたはロボット等の自律的デバイス)の姿勢を推定するように構成される、例示的デバイスおよび方法を提供する。一実施例として、デバイスは、デバイスが3D空間を通して移動するにつれて、複数の画像フレームを受信し、デバイスの姿勢を各画像フレームから推定することに基づいて、疎姿勢推定を実施してもよい。各画像フレームは、3D空間内のデバイスの位置を示すデバイスの正面の3D空間の一部を表し得る。いくつかの実施形態では、各画像フレームは、疎点、要所点、点群、または他のタイプの数学的表現によって表され得る、特徴またはオブジェクトのうちの1つ以上のものを含んでもよい。画像フレーム毎に、画像フレームは、組み合わせられると、画像フレーム全体を構成する、複数の画像セグメントを連続して受信することによって捕捉されてもよい。そこから、デバイスは、各疎点を含む画像セグメントを受信することに応じて、画像フレーム内の疎点を識別するように構成されてもよい。デバイスは、1つ以上の疎点を含む第1のグループの疎点を抽出してもよい。第1のグループの疎点は、疎姿勢推定プロセスに対する少なくとも1つの入力であってもよい。続いて、デバイスは、第2のグループの疎点を識別および抽出し、第2のグループに基づいて、疎姿勢推定を更新してもよい。一例示的実装では、第1のグループの疎点は、後続の疎点(例えば、第2のグループの疎点)の識別に先立って、デバイスの姿勢を推定するために利用されてもよい。後続の疎点は、それらが識別されるにつれて疎姿勢推定を更新する際に使用するために利用可能になり得る。
方法、デバイス、およびシステムの実施形態が、ARデバイスを参照して本明細書に説明されるが、これは、本開示の範囲を限定することを意図するものではない。本明細書に説明される方法およびデバイスは、ARデバイスまたは頭部搭載型デバイスに限定されない。他のデバイスも、可能性として考えられる(例えば、モバイルロボット、デジタルカメラ、自律的エンティティ等)。適用可能なデバイスとして、限定ではないが、3D空間を通して、独立して、またはユーザ介入によって移動可能である、そのようなデバイスが挙げられる。例えば、本明細書に説明される方法は、オブジェクトの遠隔のカメラによって追跡される、3D空間を動き回るオブジェクトに適用されてもよい。いくつかの実施形態では、処理もまた、オブジェクトの遠隔で実施されてもよい。
(3D空間内を移動するための例示的ARデバイス)
3Dディスプレイが、仮想画像要素または実世界画像要素の中でもとりわけ仮想画像要素の快適であって、かつ自然に感じる、豊富な提示を促進するために、ディスプレイを囲繞する実世界をマッピングし、3D空間を通してディスプレイの軌道を再現することが望ましい。例えば、疎姿勢推定プロセスが、3D空間のマップを決定するために実施されてもよい。疎姿勢推定が、最小限の遅延を伴って、リアルタイムで実施されない場合、ユーザは、不安定なイメージング、有害な眼精疲労、頭痛、そして概して不快なVRおよびAR視聴体験を経験し得る。故に、本明細書に説明される種々の実施形態は、ARデバイスの位置、場所、または配向のうちの1つ以上のものを決定または推定するように構成される。
図2は、ウェアラブルディスプレイシステム100の実施例を図示する。ディスプレイシステム100は、ディスプレイ62と、ディスプレイ62の機能をサポートするための種々の機械的および電子的モジュールならびにシステムとを含む。ディスプレイ62は、フレーム64に結合されてもよく、これは、ディスプレイシステムユーザ、装着者、または視認者60によって装着可能であって、ディスプレイ62を視認者60の眼の正面に位置付けるように構成される。ディスプレイシステム100は、装着者の頭部上に装着される、頭部搭載型ディスプレイ(HMD)を備えることができる。拡張現実ディスプレイ(ARD)は、ウェアラブルディスプレイシステム100を含むことができる。いくつかの実施形態では、スピーカ66が、フレーム64に結合され、ユーザの外耳道に隣接して位置付けられる(いくつかの実施形態では、示されない別のスピーカが、ユーザの他の外耳道に隣接して位置付けられ、ステレオ/成形可能音制御を提供してもよい)。ディスプレイシステム100は、装着者の周囲の環境内の世界(例えば、3D空間)を観察する、1つ以上の外向きに面したイメージングシステム110を含むことができる。ディスプレイ62は、有線導線または無線コネクティビティ等の通信リンク68によって、ローカル処理およびデータモジュール70に動作可能に結合されることができ、これは、フレーム64に固定して取り付けられる、ユーザによって装着されるヘルメットまたは帽子に固定して取り付けられる、ヘッドホン内に内蔵される、もしくは別様にユーザ60に除去可能に取り付けられる(例えば、リュック式構成、ベルト結合式構成において)等、種々の構成において搭載されてもよい。
ディスプレイシステム100は、フレーム64上に配置される、1つ以上の外向きに面したイメージングシステム110aまたは110b(個々に、または集合的に、以降、「110」と称される)を備えてもよい。いくつかの実施形態では、外向きに面したイメージングシステム110aは、ユーザの眼間のフレーム64の略中心部分に配置されることができる。別の実施形態では、代替として、または組み合わせて、外向きに面したイメージングシステム110bは、ユーザの片眼または両眼に隣接してフレームの1つ以上の側上に配置されることができる。例えば、外向きに面したイメージングシステム110bは、両眼に隣接するユーザの左および右側の両方上に位置してもよい。外向きに面したカメラ110の例示的配列が、上記に提供されるが、他の構成も、可能性として考えられる。例えば、外向きに面したイメージングシステム110は、ディスプレイシステム100に対して任意の配向または位置に位置付けられてもよい。
いくつかの実施形態では、外向きに面したイメージングシステム110は、ディスプレイシステム100の正面の世界の一部の画像を捕捉する。視認者による視認またはイメージングのために利用可能な領域全体は、動眼視野(FOR)と称され得る。いくつかの実装では、FORは、ディスプレイが、環境を動き回り、ディスプレイを囲繞するオブジェクトをイメージングし得るため、ディスプレイシステム100の周囲の立体角の実質的に全て(装着者の正面、背面、上方、下方、または側面)を含み得る。ディスプレイシステムの正面のFORの部分は、視野(FOV)と称され得、外向きに面したイメージングシステム110は、時として、FOVカメラとも称される。外向きに面したイメージングシステム110から取得される画像は、環境の疎点を識別し、疎姿勢推定プロセス等において使用するための姿勢を推定するために使用されることができる。
いくつかの実装では、外向きに面したイメージングシステム110は、光学レンズシステムと、画像センサとを備える、デジタルカメラとして構成されてもよい。例えば、ディスプレイ62の正面の世界(例えば、FOV)からの光が、外向きに面したイメージングシステム110のレンズによって画像センサ上に集束されてもよい。いくつかの実施形態では、外向きに面したイメージングシステム100は、赤外線(IR)スペクトル、可視光スペクトル、または任意の他の好適な波長範囲もしくは電磁放射の波長の範囲内で動作するように構成されてもよい。いくつかの実施形態では、イメージングセンサは、CMOS(相補的金属酸化物半導体)またはCCD(電荷結合デバイス)センサのいずれかとして構成されてもよい。いくつかの実施形態では、画像センサは、IRスペクトル、可視光スペクトル、または任意の他の好適な波長範囲もしくは電磁放射の波長の範囲内の光を検出するように構成されてもよい。いくつかの実施形態では、デジタルカメラのフレームレートは、画像データがデジタルカメラからメモリまたは記憶ユニット(例えば、ローカル処理およびデータモジュール70)に伝送され得る、レートに関連し得る。例えば、デジタルカメラのフレームレートが、30ヘルツである場合、画像センサのピクセルによって捕捉されたデータは、30ミリ秒毎にメモリの中に読み込まれ得る(例えば、クロックオフされる)。したがって、デジタルカメラのフレームレートは、画像データの記憶および後続処理に遅延を付与し得る。
いくつかの実施形態では、外向きに面したイメージングシステム110が、デジタルカメラである場合、外向きに面したイメージングシステム110は、グローバルシャッタカメラまたはローリングシャッタ(例えば、プログレッシブスキャンカメラとも称される)として構成されてもよい。例えば、外向きに面したイメージングシステム110が、グローバルシャッタカメラである場合、画像センサは、単一動作において、ディスプレイ62の正面のFOVを表す画像フレーム全体を捕捉するように構成される、CCDセンサであってもよい。画像フレーム全体は、次いで、処理のために、例えば、本明細書に説明されるように、疎姿勢推定を実施するために、ローカル処理およびデータモジュール70に読み込まれ得る。故に、いくつかの実施形態では、画像フレーム全体の利用は、上記に説明されるように、例えば、フレームレートおよび画像を記憶する際の遅延に起因して、姿勢推定に遅延を付与し得る。例えば、30ヘルツフレームレートを有する、グローバルシャッタデジタルカメラは、任意の姿勢推定が実施され得る前に、30ミリ秒の遅延を付与し得る。
他の実施形態では、外向きに面したイメージングシステム110が、ローリングシャッタカメラとして構成される場合、画像センサは、複数の画像セグメントを連続して捕捉し、場面を横断して走査し、捕捉された画像セグメントの画像データを伝送するように構成される、CMOSセンサであってもよい。画像セグメントは、捕捉された順序で組み合わせられると、外向きに面したイメージングシステム110のFOVの画像フレームを構成する。いくつかの実施形態では、走査方向は、水平であってもよく、例えば、外向きに面したイメージングシステム110は、左向きまたは右向き方向に、水平に隣接する複数の垂直画像セグメントを捕捉してもよい。別の実施形態では、走査方向は、垂直であってもよく、例えば、外向きに面したイメージングシステム110は、上向きまたは下向き方向に、垂直に隣接する複数の水平画像セグメントを捕捉してもよい。各画像セグメントは、個別の画像セグメントが画像センサにおいて捕捉されるにつれて、ローカル処理およびデータモジュール70の中に連続して読み込まれ得る。故に、いくつかの実施形態では、上記に説明されるように、デジタルカメラのフレームレートに起因する遅延は、それらがデジタルカメラによって捕捉されるにつれて、画像セグメントを連続して伝送することによって、低減または最小限にされ得る。
ローカル処理およびデータモジュール70は、1つ以上のハードウェアプロセッサならびに不揮発性メモリ(例えば、フラッシュメモリ)等のデジタルメモリを備えてもよく、両方とも、データの処理、バッファ、キャッシュ、および記憶を補助するために利用されてもよい。データは、a)画像捕捉デバイス(例えば、外向きに面したイメージングシステム110)、マイクロホン、慣性測定ユニット(IMU)、加速度計、コンパス、全地球測位システム(GPS)ユニット、無線デバイス、および/またはジャイロスコープ等のセンサ(例えば、フレーム64に動作可能に結合される、または別様にユーザ60に取り付けられてもよい)から捕捉される、および/またはb)可能性として、処理または読出後にディスプレイ62への通過のために、遠隔処理モジュール72および/または遠隔データリポジトリ74を使用して入手および/または処理される、データを含んでもよい。ローカル処理およびデータモジュール70は、これらの遠隔モジュールがローカル処理およびデータモジュール71へのリソースとして利用可能であるように、通信リンク76および/または78によって、有線または無線通信リンク等を介して、遠隔処理モジュール72および/または遠隔データリポジトリ74に動作可能に結合されてもよい。加えて、遠隔処理モジュール72および遠隔データリポジトリ74は、相互に動作可能に結合されてもよい。いくつかの実施形態では、ローカル処理およびデータモジュール70は、画像捕捉デバイス、マイクロホン、慣性測定ユニット、加速度計、コンパス、GPSユニット、無線デバイス、および/またはジャイロスコープのうちの1つ以上のものに動作可能に接続されてもよい。いくつかの他の実施形態では、これらのセンサのうちの1つ以上のものは、フレーム64に取り付けられてもよい、または有線もしくは無線通信経路によってローカル処理およびデータモジュール70と通信する、独立型構造であってもよい。
いくつかの実施形態では、ローカル処理およびデータモジュール70のデジタルメモリまたはその一部は、一時的期間にわたって、データの1つ以上の要素を記憶するように構成されてもよい(例えば、非一過性バッファ記憶装置として)。例えば、デジタルメモリは、データがローカル処理およびデータモジュール70のプロセス間で移動される間、データの一部または全部を受信し、短期間にわたって、データの一部または全部を記憶するように構成されてもよい。いくつかの実装では、デジタルメモリの一部は、1つ以上の画像セグメントを外向きに面したイメージングシステム110から連続して受信する、バッファとして構成されてもよい。故に、バッファは、恒久的記憶または後続処理のために画像セグメントがローカル処理およびデータモジュール70に伝送される(またはデータリポジトリ74を除去する)ことに先立って、設定数の画像セグメントを記憶するように構成される、非一過性データバッファであってもよい(図9Aおよび9Bを参照して以下に説明されるように)。
いくつかの実施形態では、遠隔処理モジュール72は、データおよび/または画像情報を分析および処理するように構成される、1つ以上のハードウェアプロセッサを備えてもよい。いくつかの実施形態では、遠隔データリポジトリ74は、デジタルデータ記憶設備を備えてもよく、これは、インターネットまたは「クラウド」リソース構成における他のネットワーキング構成を通して利用可能であってもよい。いくつかの実施形態では、遠隔データリポジトリ74は、情報、例えば、拡張現実コンテンツを生成するための情報をローカル処理およびデータモジュール70および/または遠隔処理モジュール72に提供する、1つ以上の遠隔サーバを含んでもよい。いくつかの実施形態では、全てのデータは、記憶され、全ての算出は、ローカル処理およびデータモジュール70において実施され、遠隔モジュールからの完全に自律的使用を可能にする。
例示的ARデバイスが、本明細書に説明されるが、本明細書に開示される方法およびデバイスは、ARデバイスまたは頭部搭載型デバイスに限定されないことを理解されるであろう。例えば、モバイルロボット、デジタルカメラ、自律的エンティティ等の他の構成も、可能性として考えられる。適用可能なデバイスとして、限定ではないが、3D空間を通して、独立して、またはユーザ介入によって移動可能である、そのようなデバイスが挙げられる。
(3D空間を通したARデバイスの例示的軌道)
図3は、3D空間300を通して移動するにつれたイメージングデバイス310を図式的に図示する。例えば、図3は、イメージングデバイス310が軌道311を図式的に表す点線に沿って移動するにつれた環境300内の複数の位置312(例えば、312a、312b、312c、および312d)および配向におけるイメージングデバイス310を示す。各位置312では、イメージングデバイス310は、例えば、疎姿勢推定を実施するために、画像フレームの連続ストリームとして使用され得る、特定の場所および配向の環境300の画像フレームを捕捉するように構成されてもよい。軌道311は、環境300を通した移動の任意の軌道またはパスであってもよい。図3は、4つの位置312を図示するが、位置の数は、異なることができる。例えば、位置312の数は、わずか2つの位置または容認可能レベルの確実性を伴って疎姿勢推定を実施するための所望に応じた数(例えば、5、6、7等)であってもよい。いくつかの実施形態では、イメージングデバイス312は、例えば、ビデオにおけるように、一連の画像フレームを捕捉するように構成されてもよく、ビデオの各画像フレームは、本明細書に説明されるコンピュータビジョン技法を介して、疎姿勢推定を実施するために利用されてもよい。
いくつかの実施形態では、イメージングデバイス310は、外向きに面したイメージングシステム110を備える、図1のディスプレイシステム100、イメージングシステムを含む、モバイルロボット、または独立イメージングデバイスとして構成されてもよい。イメージングデバイス310は、それが環境300を通して移動するにつれて、イメージングデバイス310の正面から、環境300の一部を描写する各位置312において、画像フレームを捕捉するように構成されてもよい。上記に説明されるように、各位置312および配向においてイメージングデバイスによって捕捉された環境300の部分は、イメージングデバイス310の正面からのFOVであってもよい。例えば、位置312aのFOVは、FOV315aとして図式的に図示される。イメージングデバイス310の各後続位置および配向(例えば、312b、312c、および312d)は、対応するFOV315(例えば、FOV315b、315c、および315d)を構成する。コンピュータビジョン技法は、イメージングデバイス310から取得される各画像フレーム上で実施され、各位置312におけるイメージングデバイス310の姿勢を推定してもよい。姿勢推定は、例えば、環境300のマップ(またはその一部)を決定または生成し、環境300を通してイメージングデバイス310の移動を追跡するために採用される、疎点推定プロセスへの入力であってもよい。
環境300は、任意の3D空間、例えば、オフィスの部屋(図3に図示されるように)、居間、屋外空間等であってもよい。環境300は、環境300の全体を通して配置される、複数のオブジェクト325(例えば、家具、個人的アイテム、周囲構造、テクスチャ、検出可能パターン等)を含み得る。オブジェクト325は、環境内の他の特徴と比較して一意に識別可能である、個々のオブジェクトであってもよい(例えば、各壁は、一意に識別可能ではない場合がある)。さらに、オブジェクト325は、2つ以上の画像フレーム内で捕捉された共通特徴であってもよい。例えば、図3は、対応する視線330a-d(例証的目的のために、点線として示される)に沿った各位置312におけるイメージングデバイス310のFOV315のそれぞれに位置する、オブジェクト325a(本実施例では、ランプ)を図示する。したがって、位置312(例えば、312a)毎に、各FOV315(例えば、315a)を表す画像フレームは、視線330(例えば、330a)沿ってイメージングされるようなオブジェクト325aを含む。
イメージングデバイス310は、複数の疎点320を検出および抽出するように構成されてもよく、各疎点320(または複数の疎点)は、FOV315を表す各画像フレームからのオブジェクト325またはオブジェクト325の一部、テクスチャ、もしくはパターンに対応する。例えば、イメージングデバイス310は、オブジェクト325aに対応する疎点320aを抽出してもよい。いくつかの実施形態では、オブジェクト325aは、1つ以上の疎点320と関連付けられてもよく、各疎点320は、オブジェクト325の異なる部分(例えば、ランプの角、上部、底部、側面等)と関連付けられてもよい。故に、各疎点320は、画像フレーム内で一意に識別可能であり得る。コンピュータビジョン技法は、各疎点320を各疎点320に対応する画像フレームまたは画像セグメントから抽出および識別するために使用されることができる(例えば、図9Aおよび9Bに関連して説明されるように)。
いくつかの実施形態では、疎点320は、環境300内のイメージングデバイス310の位置、場所、または配向を推定するために利用されてもよい。例えば、イメージングデバイス310は、複数の疎点320を疎姿勢推定プロセスへの入力として抽出するように構成されてもよい。疎姿勢推定のために使用される、例示的コンピュータビジョン技法は、同時位置特定およびマッピング(入力が画像/視覚専用である構成を参照する、SLAMまたはV-SLAM)プロセスまたはアルゴリズムであってもよい。そのような例示的コンピュータビジョン技法は、以下により詳細に説明されるように、イメージングデバイス310を囲繞する世界の疎点表現を出力するために使用されることができる。位置312の複数の画像フレームを使用する、従来の疎姿勢推定システムでは、疎点320は、各画像フレームから収集され得、対応が、連続画像フレーム(例えば、位置312a-312b)間で算出され、姿勢変化が、発見された対応に基づいて推定される。故に、いくつかの実施形態では、イメージングデバイス310の位置、配向、または位置および配向の両方が、決定されることができる。いくつかの実装では、疎点の場所の3Dマップが、推定プロセスのために要求され得る、または画像フレームもしくは複数の画像フレーム内の疎点を識別することの副産物であり得る。いくつかの実施形態では、疎点320は、1つ以上の記述子と関連付けられてもよく、これは、疎点320のデジタル表現として構成されてもよい。いくつかの実施形態では、記述子は、連続画像フレーム間の対応の算出を促進するように構成されてもよい。いくつかの実施形態では、姿勢決定は、イメージングデバイスのオンボードプロセッサ(例えば、ローカル処理およびデータモジュール70)またはイメージングデバイスの遠隔プロセッサ(例えば、遠隔処理モジュール72)によって実施されてもよい。
いくつかの実施形態では、コンピュータビジョンモジュールは、例えば、ローカル処理およびデータモジュール70または遠隔処理モジュールおよびデータリポジトリ72、74の一部として、イメージングデバイス310と動作可能に通信するように含まれることができる。例示的コンピュータビジョンモジュールは、例えば、図8および10の方法800、1000を参照して説明されるように、1つ以上のコンピュータビジョン技法を実装することができ、外向きに面したイメージングカメラによって取得される画像セグメントを分析し、例えば、疎点を識別する、姿勢を決定する等のために使用されることができる。コンピュータビジョンモジュールは、図3に関連して説明されるもの等、イメージングデバイス310を囲繞する環境内のオブジェクトを識別することができる。コンピュータビジョンモジュールは、イメージングデバイスが環境内で移動するにつれて、疎点を画像フレームから抽出し、種々の画像フレームを通してオブジェクトを追跡および識別するために抽出された疎点を使用することができる。例えば、第1の画像フレームの疎点は、第2の画像フレームの疎点と比較され、イメージングデバイスの移動を追跡してもよい。いくつかの実施形態では、第2の画像フレームの1つ以上の疎点は、第1の画像フレームの疎点のうちの1つ以上のものを、例えば、第1および第2の画像フレーム間で追跡するための参照点として含んでもよい。第3、第4、第5の等の画像フレームも同様に、使用され、先行および後続画像フレームと比較されてもよい。コンピュータビジョンモジュールは、疎点を処理し、識別された疎点に基づいて、環境内のイメージングデバイスの位置または配向を推定することができる。コンピュータビジョン技法の非限定的実施例は、スケール不変特徴変換(SIFT)、スピードアップロバスト特徴(SURF)、配向FASTおよび回転BRIEF(ORB)、バイナリロバスト不変スケーラブルキーポイント(BRISK)、高速網膜キーポイント(FREAK)、Viola-Jonesアルゴリズム、Eigenfacesアプローチ、Lucas-Kanadeアルゴリズム、Horn-Schunkアルゴリズム、Mean-shiftアルゴリズム、視覚的同時位置推定およびマッピング(vSLAM)技法、シーケンシャルベイズ推定器(例えば、カルマンフィルタ、拡張カルマンフィルタ等)、バンドル調節、適応閾値化(および他の閾値化技法)、反復最近傍点(ICP)、セミグローバルマッチング(SGM)、セミグローバルブロックマッチング(SGBM)、特徴点ヒストグラム、種々の機械学習アルゴリズム(例えば、サポートベクトル機械、k最近傍アルゴリズム、単純ベイズ、ニューラルネットワーク(畳み込みまたは深層ニューラルネットワークを含む)、または他の教師あり/教師なしモデル等)等を含む。
上記に説明されるように、現在の姿勢推定プロセスは、イメージングデバイスの姿勢を推定する際、遅延を含み得る。例えば、イメージングデバイスのフレームレートは、部分的に、画像フレーム全体をイメージングデバイスからメモリに転送することに起因して、遅延を生じさせ得る。任意の特定の科学的理論に賛同するわけではないが、疎姿勢推定は、画像フレーム全体がイメージングデバイスからメモリに読み込まれるまで、疎点が画像フレームから抽出されないため、遅延され得る。故に、部分的に、イメージングデバイスのフレームレート能力に基づく、画像フレーム全体の転送は、疎姿勢推定において被られる遅延の構成要素の1つであり得る。本明細書に説明されるシステムおよびデバイスのいくつかの1つの非限定的利点は、姿勢を推定するための疎点の抽出または識別が、画像のフレームの一部が画像センサまたはメモリの中に読み込まれるにつれて、オンザフライで実施され得、したがって、姿勢は、画像フレーム全体を使用するときにそうでなければ可能であるものより早い時点で推定され得る。さらに、フレームの一部のみが、要所点のために分析され得るため、処理速度および効率も、増加され得る。
前述の説明は、環境300内の物理的オブジェクトの状況における疎点320を説明するが、これは、限定を意図するものではなく、他の実装も、可能性として考えられる。いくつかの実施形態では、オブジェクト325は、環境の任意の特徴(例えば、実世界オブジェクト、仮想オブジェクト、不可視オブジェクト、または特徴等)を指し得る。例えば、投影デバイスは、可視または不可視であり得る、複数のインジケータ、テクスチャ、識別子等を環境全体を通して投影するように構成されてもよい(例えば、IRスペクトル、近IRスペクトル、紫外線スペクトル、または任意の他の好適な波長範囲もしくは電磁放射の波長の範囲内で投影される)。インジケータ、テクスチャ、識別子等は、イメージングデバイス310によって検出可能な顕著な特徴または形状であってもよい。イメージングデバイス310は、これらのインジケータを検出し、疎点320を複数のインジケータから抽出するように構成されてもよい。例えば、インジケータは、電磁放射のIRスペクトル内で環境の壁上に投影されてもよく、イメージングデバイス310は、IRスペクトル内で動作し、インジケータを識別し、疎点をそこから抽出するように構成されてもよい。別の実施形態では、代替として、または組み合わせて、イメージングデバイス310は、仮想画像要素を表示する(例えば、ディスプレイ62上に)ように構成される、ARデバイス内に含まれてもよい。イメージングデバイスまたはARデバイスは、仮想画像要素を識別し、疎点320をそこから抽出するように構成されてもよい。ARデバイスは、これらの疎点320を使用して、仮想画像要素に対するARデバイスの姿勢を決定するように構成されてもよい。
(例示的画像フレームおよび疎点の中に付与される剪断効果の実施例)
上記に説明されるように、外向きに面したイメージングシステム110は、ローリングシャッタカメラとして実装されてもよい。ローリングシャッタカメラの1つの非限定的利点は、他の部分を捕捉しながら、捕捉された場面の一部(例えば、画像セグメント)を伝送する能力である(例えば、画像フレームの全ての部分が正確に同時に捕捉されるわけではない)。しかしながら、これは、イメージングデバイスが、画像を捕捉する時間全体にわたって、オブジェクトに対して同一位置にない場合があるため、画像フレームが捕捉される間、カメラに対して移動しているオブジェクトの歪曲をもたらし得る。
例えば、図4Aおよび4Bは、場面の画像に適用される、ローリングシャッタ効果(例えば、時として、本明細書では、「剪断」、「偏移」、または「歪曲」とも称される)の略図である。図4Aは、オブジェクト425a(例えば、本実施例では、正方形)を含む場面400aを図式的に図示する。場面は、画像捕捉デバイス(例えば、図2の外向きに面したイメージングシステム110)のFOVであってもよい。図4Aに図示される実施形態では、場面は、方向430において、画像捕捉デバイスに対して移動していてもよい。図4Bは、メモリまたは記憶ユニット(例えば、ローカル処理およびデータモジュール70)内に記憶され得る、捕捉された場面400aの結果として生じる画像400bを図示する。図4Bに図示されるように、オブジェクト425aの相対的移動に起因して、結果として生じる画像400bは、歪曲されたオブジェクト425b(例えば、剪断された正方形または菱形として示される)であって、歪曲されたオブジェクトの点線は、結果として生じる画像400b内に捕捉されない。任意の特定の科学的理論に賛同するわけではないが、これは、イメージングデバイスの徐々に下向きの走査方向に起因し得、したがって、オブジェクトの上部が、最初に捕捉され、オブジェクトの底部ほど歪曲されない。
図5Aおよび5Bは、イメージングデバイスによって捕捉されたFOV(例えば、図3のFOV315a、315b、315c、または315d)内に含まれる複数の疎点上に付与される、ローリングシャッタ効果の略図である。例えば、ARデバイスが、3D空間を動き回るにつれて、種々の疎点も、ARデバイスに対して移動し、図4Bに関連して上記に説明されるものに類似する様式において、図5Bに図式的に図示されるように歪曲される。図5Aは、複数の疎点320(例えば、320a、320b、および320c)を含む場面(例えば、図3の場面300に類似してもよい)を図示する。図4Bは、歪曲された疎点525(例えば、525a、525b、および525c)を含む、結果として生じる捕捉された画像フレームを図式的に図示する。例えば、各歪曲された疎点525は、例証的な対応する矢印522と関連付けられる。例証目的のためだけに、矢印522のサイズは、疎点525に付与される歪曲量に比例する。故に、図4Bに関連して上記に説明されるものと同様に、矢印522aは、矢印522eより小さく、これは、矢印522aと関連付けられた疎点525aが、疎点525eと比較して、それほど大きく歪曲されていないことを示し得る。
(例示的ARアーキテクチャ)
図6は、ARアーキテクチャ600の実施例のブロック図である。ARアーキテクチャ600は、入力(例えば、外向きに面したイメージングシステム110からの視覚的入力、部屋カメラからの入力等)を1つ以上のイメージングシステムから受信するように構成される。イメージングデバイスは、FOVカメラからの画像を提供するだけではなく、それらはまた、種々のセンサ(例えば、加速度計、ジャイロスコープ、温度センサ、移動センサ、深度センサ、GPSセンサ等)を装備し、ユーザの環境の場所および種々の他の属性を決定してもよい。本情報はさらに、異なる視点からの画像および/または種々のキューを提供し得る、部屋内の定常カメラからの情報で補完されてもよい。
ARアーキテクチャ600は、複数のカメラ610を備えてもよい。例えば、ARアーキテクチャ600は、ウェアラブルディスプレイシステム100の正面のFOVから捕捉された複数の画像を入力するように構成される、図1の外向きに面したイメージングシステム110を含んでもよい。いくつかの実施形態では、カメラ610は、相対的広視野、すなわち、ユーザの顔の側面に配列される受動的対のカメラと、ユーザの正面に配向される異なる対のカメラとを含み、立体イメージングプロセスをハンドリングしてもよい。しかしながら、他のイメージングシステム、カメラ、および配列も、可能性として考えられる。
ARアーキテクチャ600はまた、世界に関するマップデータを含む、マップデータベース630を備えてもよい。一実施形態では、マップデータベース630は、部分的に、ユーザ-ウェアラブルシステム(例えば、ローカル処理およびデータモジュール70)上に常駐してもよい、または部分的に、有線もしくは無線ネットワークによってアクセス可能なネットワーク化された記憶場所(例えば、遠隔データリポジトリ74)に常駐してもよい。いくつかの実施形態では、マップデータベース630は、実世界マップデータまたは仮想マップデータ(例えば、仮想マップを定義する、または実世界環境上にオーバーレイされた、仮想画像要素を含む)を備えてもよい。いくつかの実施形態では、コンピュータビジョン技法は、マップデータを生産するために使用されることができる。いくつかの実施形態では、マップデータベース630は、環境の既存のマップであってもよい。他の実施形態では、マップデータベース630は、メモリの中に読み込まれ、続いて識別される疎点に対する比較および処理のために記憶される、識別された疎点に基づいて、ポピュレートされてもよい。別の実施形態では、単独で、または組み合わせて、マップデータベース630は、1つ以上の画像フレーム(またはローリングシャッタカメラシステムのためのフレームの一部)から識別された疎点に基づいて動的に更新される、既存のマップであってもよい。例えば、1つ以上の疎点は、環境内のオブジェクト(例えば、図3のオブジェクト325)を識別するために使用され、かつマップを環境の識別特徴でポピュレートするために使用されてもよい。
ARアーキテクチャ600はまた、入力をカメラ610から受信するように構成される、バッファ620を備えてもよい。バッファ620は、例えば、非一過性データ記憶装置(例えば、図2のローカル処理およびデータモジュール70)と別個またはその一部である、非一過性データバッファであって、画像データを一時的ベースで記憶するように構成されてもよい。バッファ620は、次いで、一部または全部の受信された入力を一時的に記憶してもよい。いくつかの実施形態では、バッファ620は、例えば、さらなる処理が実施され、データがARアーキテクチャ600の別のコンポーネントに移動される前に、受信されたデータの1つ以上の部分またはセグメントを記憶するように構成されてもよい(例えば、図9Aおよび9Bに関連して以下に説明されるように)。いくつかの実施形態では、カメラ610によって収集される画像データは、ユーザが環境内で動作するウェアラブルディスプレイシステム100を体験するにつれて、バッファ620の中に読み込まれてもよい。そのような画像データは、カメラ610によって捕捉された画像または画像のセグメントを備えてもよい。画像または画像のセグメントを表す、画像データは、次いで、ローカル処理およびデータモジュールによって処理され、ウェアラブルディスプレイシステム100のユーザへの可視化および表現のために、ディスプレイ62に送信される前に、バッファ620に伝送され、その中に記憶されてもよい。画像データはまた、代替として、または組み合わせて、マップデータベース630内に記憶されてもよい。または、データは、バッファ620内に記憶された後、メモリ(例えば、ローカル処理およびデータモジュール70または遠隔データリポジトリ74)から除去されてもよい。一実施形態では、バッファ620は、部分的に、ユーザ-ウェアラブルシステム(例えば、ローカル処理およびデータモジュール70)上に常駐してもよい、または部分的に、有線もしくは無線ネットワークによってアクセス可能なネットワーク化された記憶場所(例えば、遠隔データリポジトリ74)に常駐してもよい。
ARアーキテクチャ600はまた、1つ以上のオブジェクト認識装置650を含んでもよい。オブジェクト認識装置は、例えば、コンピュータビジョン技法を介して、マップデータベース630を用いて、受信されたデータを通してクローリングし、オブジェクトを識別および/またはタグ付けし、情報をオブジェクトに付加するように構成されてもよい。例えば、オブジェクト認識装置は、バッファ620内に記憶される画像データまたは画像セグメントを通して走査またはクローリングし、画像データ内で捕捉されたオブジェクト(例えば、図3のオブジェクト325)を識別してもよい。バッファ内で識別されたオブジェクトは、タグ付けされるか、または、記述情報が、マップデータベースを参照してそこに付加されてもよい。マップデータベース630は、経時的に、そして捕捉された画像データとその対応するオブジェクトとの間で識別された(例えば、第1の画像フレーム内で識別されたオブジェクトと後続画像フレーム内で識別されたオブジェクトの比較)種々のオブジェクトを含み、マップデータベース630を生成するか、または、環境のマップを生成するために使用されてもよい。いくつかの実施形態では、マップデータベース630は、環境の既存のマップがポピュレートされてもよい。いくつかの実施形態では、マップデータベース630は、ARデバイスのオンボード(例えば、ローカル処理およびデータモジュール70)で記憶される。他の実施形態では、ARデバイスおよびマップデータベースは、ネットワーク(例えば、LAN、WAN等)を通して、相互に接続され、クラウド記憶装置(例えば、遠隔データリポジトリ74)にアクセスすることができる。
いくつかの実施形態では、ARアーキテクチャ600は、部分的に、バッファ620およびマップデータベース630内に記憶されるデータに基づいて、姿勢推定プロセスを行い、ウェアラブルコンピューティングハードウェアまたはデバイスの場所および配向を決定するための命令を実行するように構成される、姿勢推定システム640を備える。例えば、位置、場所、または配向データは、ユーザが、ウェアラブルデバイスを体験し、世界内で動作するにつれて、バッファ620の中に読み込まれると、カメラ610によって収集されるデータから算出されてもよい。例えば、データから識別され、バッファ620内に記憶される、オブジェクトの情報および収集に基づいて、オブジェクト認識装置610は、オブジェクト325を認識し、これらのオブジェクトをプロセッサ(例えば、ローカル処理およびデータモジュール70)への疎点320として抽出してもよい。いくつかの実施形態では、疎点320は、所与の画像フレームの1つ以上の画像セグメントがバッファ620の中に読み込まれるにつれて、抽出され、関連付けられた画像フレーム内のARデバイスの姿勢を決定するために使用されてもよい。姿勢の推定は、画像フレームの付加的画像セグメントがバッファ620の中に読み込まれるにつれて、更新され、付加的疎点を識別するために使用されてもよい。随意に、いくつかの実施形態では、姿勢推定システム640は、マップデータベース630にアクセスし、これまで捕捉された画像セグメントまたは画像フレーム内で識別された疎点320を読み出し、ARデバイスが3D空間を通して移動するにつれて、先行および後続画像フレーム間の対応する疎点320を比較し、それによって、3D空間内のARデバイスの移動、位置、または配向を追跡してもよい。例えば、図3を参照すると、オブジェクト認識装置650は、複数の画像フレームのそれぞれ内において、疎点320aをランプ325aとして認識し得る。ARデバイスは、ある記述子情報を付加し、1つの画像フレーム内の疎点320aを他の画像フレームの対応する疎点320aに関連付け、本情報をマップデータベース650内に記憶してもよい。オブジェクト認識装置650は、任意の数の疎点320、例えば、1、2、3、4つ等の疎点に関して、オブジェクトを認識するように構成されてもよい。
いったんオブジェクトが、認識されると、情報は、姿勢推定システム640によって、ARデバイスの姿勢を決定するために使用されてもよい。一実施形態では、オブジェクト認識装置650は、画像セグメントが受信されるにつれて、画像セグメントに対応する疎点を識別してもよく、続いて、同一画像フレームの後続画像セグメントが受信されると、付加的疎点を識別してもよい。姿勢推定システム640は、第1の識別された疎点に基づいて、姿勢を推定し、続いて識別された疎点を推定プロセスの中に統合することによって、推定を更新するための命令を実行してもよい。別の実施形態では、単独で、または組み合わせて、オブジェクト認識装置650は、第1のフレーム内の2つのオブジェクト(例えば、図3に示されるオブジェクト325aおよび別のオブジェクト)の2つの疎点320a、320bを認識し、次いで、第2のフレームおよび後続フレーム(例えば、最大の任意の数の後続フレームが検討されてもよい)内の同一の2つの疎点を識別してもよい。2つ以上のフレームの疎点間の比較に基づいて、3D空間内の姿勢(例えば、配向および場所)もまた、3D空間を通して推定または追跡されてもよい。
いくつかの実施形態では、姿勢推定の精度または低姿勢推定結果における雑音の低減は、オブジェクト認識装置640によって認識される疎点の数に基づき得る。例えば、3D空間内では、イメージングデバイスの位置、場所、または配向は、環境内の平行移動および回転座標に基づき得る。そのような座標は、図7に関連して以下に説明されるように、例えば、X、Y、およびZ平行移動座標またはヨー、ロール、ピッチ回転座標を含んでもよい。いくつかの実施形態では、画像フレームから抽出される1つの疎点は、イメージングデバイスの完全姿勢を伝達することは不可能であり得る。しかしながら、単一疎点は、例えば、1つ以上の座標に関連する情報を提供することによって、姿勢推定に関する少なくとも1つの制約となり得る。疎点の数が増加するにつれて、姿勢推定の精度は、改良され得る、または姿勢推定における雑音もしくは誤差が、低減され得る。例えば、2つの疎点は、疎点によって表されるオブジェクトに基づいて、3D空間内のイメージングデバイスのX、Y位置を示し得る。しかしながら、イメージングデバイスは、オブジェクトに対するそのZ位置(例えば、オブジェクトの正面または背面)またはそのロール座標を決定することが不可能であり得る。故に、いくつかの実施形態では、3つの疎点が、姿勢を決定するために使用されてもよいが、しかしながら、任意の数の疎点が、使用されてもよい(例えば、1、2、4、5、6、7、10以上等)。
いくつかの実施形態では、姿勢決定は、ARデバイスのオンボードのプロセッサ(例えば、ローカル処理およびデータモジュール70)によって実施されてもよい。抽出された疎点は、コンピュータビジョン技法を実行するように構成される、姿勢推定システム640の中に入力されてもよい。いくつかの実施形態では、姿勢推定システムは、姿勢推定システム640によって実行され、次いで、ARデバイスを囲繞する世界の疎点表現670を出力し得る、SLAMまたはV-SLAM(例えば、入力が画像/視覚専用である構成を参照する)を備えてもよい。いくつかの実施形態では、姿勢推定システム640は、持続的に更新された再帰的ベイズ推定器(例えば、カルマンフィルタ)を実行するように構成されてもよい。しかしながら、ベイズ推定器は、姿勢推定システム640によって姿勢推定を実施するための少なくとも1つの方法の例証的実施例として意図され、他の方法およびプロセスも、本開示の範囲内で想定される。システムは、種々のコンポーネントが存在する世界だけではなく、世界が構成される内容も見出すように構成されることができる。姿勢推定は、マップデータベース630へのポピュレートおよびマップデータベース630からのデータの使用を含む、多くの目標を達成する、構築ブロックであってもよい。他の実施形態では、ARデバイスは、ネットワーク(例えば、LAN、WAN等)を通して姿勢推定を実施し、クラウド記憶装置(例えば、遠隔データリポジトリ74)にアクセスするように構成される、プロセッサに接続されることができる。
いくつかの実施形態では、1つ以上の遠隔ARデバイスは、ARアーキテクチャ600を備える、単一ARデバイスの姿勢決定に基づいて、各ARデバイスの姿勢を決定するように構成されてもよい。例えば、1つ以上のARデバイスは、ARアーキテクチャ600を含む、第1のARデバイスと有線または無線通信してもよい。第1のARデバイスは、本明細書に説明されるように、環境から抽出される疎点に基づいて、姿勢決定を実施してもよい。第1のARデバイスはまた、1つ以上の遠隔ARデバイス(例えば、第2のARデバイス)によって受信され得る、識別信号(例えば、IR信号または他の好適な媒体)を伝送するように構成されてもよい。いくつかの実施形態では、第2のARデバイスは、第1のARデバイスと類似コンテンツを表示し、第1のARデバイスからの識別信号を受信するように試みてもよい。識別信号から、第2のARデバイスは、疎点を抽出し、姿勢推定を第2のARデバイスに実施せずに、第1のARデバイスに対してその姿勢を決定する(例えば、識別信号を解釈または処理する)ことが可能であり得る。本配列の1つの非限定的利点は、第1および第2のARデバイス上に表示される仮想コンテンツの相違が、2つのARデバイスをリンクさせることによって回避され得ることである。本配列の別の非限定的利点は、第2のARシステムが、第1のARデバイスから受信された識別信号に基づいて、その推定された位置を更新可能であり得ることである。
(イメージングデバイスの姿勢および座標系の実施例)
図7は、イメージングデバイスの姿勢に関する座標系の実施例である。デバイス700は、複数の自由度を有し得る。デバイス700が、異なる方向に向かって移動するにつれて、デバイス700の位置、場所、または配向は、開始位置720に対して変化するであろう。図7における座標系は、デバイスの開始位置720に対してデバイス移動を測定し、3D空間内の場所を決定するために使用され得る、移動の3つの平行移動方向(例えば、X、Y、およびZ方向)を示す。図7における座標系はまた、デバイスの開始方向720に対してデバイス配向を測定するために使用され得る、3つの角度自由度(例えば、ヨー、ピッチ、およびロール)を示す。図7に図示されるように、デバイス700はまた、水平(例えば、X方向またはZ方向)または垂直(例えば、Y方向)に移動され得る。デバイス700はまた、前後に傾斜し(例えば、ピッチ)、左右に旋回し(例えば、ヨー)、側方に傾斜する(例えば、ロール)ことができる。他の実装では、頭部姿勢を測定するための他の技法または角度表現、例えば、任意の他のタイプのオイラー角システムも、使用されることができる。
図7は、デバイス700を図示し、これは、例えば、ウェアラブルディスプレイシステム100、ARデバイス、イメージングデバイス、または本明細書に説明される任意の他のデバイスとして実装されてもよい。本開示全体を通して説明されるように、デバイス700は、姿勢を決定するために使用されてもよい。例えば、デバイス700が、図6のARアーキテクチャ600を備える、ARデバイスである場合、姿勢推定システム640は、画像セグメント入力を使用して、上記に説明されるように、姿勢推定プロセスにおいて使用するための疎点を抽出し、X、Y、またはZ方向におけるデバイス移動を追跡する、もしくはヨー、ピッチ、またはロールにおける角移動を追跡してもよい。
(3D空間内の姿勢を推定するための例示的ルーチン)
図8は、イメージングデバイスが移動する3D空間(例えば、図3)内のイメージングデバイス(例えば、図2の外向きに面したイメージングシステム110)の姿勢を決定するための例証的ルーチンのプロセスフロー図である。ルーチン800は、複数の疎点が、FOV(例えば、FOV315a、315b、315c、または315d)を表す画像フレームから抽出され、3D空間内のイメージングデバイスの位置、場所、または配向のうちの1つを決定し得る方法を説明する。
ブロック810では、イメージングデバイスは、ARデバイスを囲繞する環境に関する入力画像を捕捉してもよい。例えば、イメージングデバイスは、周囲環境から受信された光に基づいて、入力画像の複数の画像セグメントを連続して捕捉してもよい。これは、種々の入力デバイス(例えば、ARデバイス上またはARデバイスから遠隔のデジタルカメラ)を通して達成されてもよい。入力は、FOV(例えば、FOV315a、315b、315c、または315d)を表す画像であって、複数の疎点(例えば、疎点320)を含んでもよい。FOVカメラ、センサ、GPS等は、画像セグメントがイメージングデバイスによって捕捉されるにつれて、連続して捕捉された画像セグメントの画像データを含む情報をシステム(ブロック810)に伝達してもよい。
ブロック820では、ARデバイスは、入力画像を受信してもよい。いくつかの実施形態では、ARデバイスは、ブロック810において捕捉された画像の一部を形成する、複数の画像セグメントを連続して受信してもよい。例えば、上記に説明されるように、外向きに面したイメージングシステム110は、場面を連続して走査し、それによって、複数の画像セグメントを連続して捕捉し、データが捕捉されるにつれて、画像データを記憶ユニットに連続して読み込ませるように構成される、ローリングシャッタカメラであってもよい。情報は、ユーザ-ウェアラブルシステム(例えば、ローカル処理およびデータモジュール70)上に記憶されてもよい、または部分的に、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所(例えば、遠隔データリポジトリ74)に常駐してもよい。いくつかの実施形態では、情報は、一時的に、記憶ユニット内に含まれるバッファ内に記憶されてもよい。
ブロック830では、ARデバイスは、受信された画像セグメントに基づいて、1つ以上の疎点を識別してもよい。例えば、オブジェクト認識装置は、受信された画像セグメントに対応する画像データを通してクローリングし、1つ以上のオブジェクト(例えば、オブジェクト325)を識別してもよい。いくつかの実施形態では、1つ以上の疎点の識別は、図9Aおよび9Bを参照して以下に説明されるように、1つ以上の疎点に対応する画像セグメントの受信に基づいてもよい。オブジェクト認識装置は、次いで、姿勢データ(例えば、3D空間内のイメージングデバイスの姿勢)を決定するための入力として使用され得る、疎点を抽出してもよい。本情報は、次いで、姿勢推定プロセスに伝達されてもよく(ブロック840)、ARデバイスは、故に、姿勢推定システムを利用して、3D空間を通してARデバイスをマッピングしてもよい(ブロック850)。
種々の実施形態では、ルーチン800は、メモリまたは記憶ユニット内に記憶される命令を実行するように構成される、ハードウェアプロセッサ(例えば、図2のローカル処理およびデータモジュール70)によって実施されてもよい。他の実施形態では、コンピュータ実行可能命令を伴う、遠隔コンピューティングデバイス(ディスプレイ装置とネットワーク通信する)は、ディスプレイ装置に、ルーチン800の側面を実施させてもよい。
上記に説明されるように、現在の姿勢推定プロセスは、データ(例えば、抽出される疎点)を画像捕捉デバイスから姿勢推定システムに転送することに起因して、ARデバイスの姿勢を推定する際に遅延を含み得る。例えば、現在の実装は、画像フレーム全体が画像捕捉デバイスから姿勢推定器(例えば、SLAM、VSLAM、または類似物)に転送されることを要求し得る。いったん画像フレーム全体が、転送されると、オブジェクト認識装置は、疎点を識別し、それらを姿勢推定器に抽出することを可能にされる。画像フレーム全体の転送は、姿勢を推定する遅延の1つの寄与因子であり得る。
(画像フレームからの疎点の例示的抽出)
図9Aおよび9Bは、複数の画像セグメントを受信することに基づいて、1つ以上の疎点を画像フレームから抽出する実施例を図式的に図示する。いくつかの実装では、図9Aおよび9Bはまた、3D空間を通してイメージングデバイス(例えば、図2の外向きに面したイメージングデバイス110)の姿勢を推定する際の遅延を最小限にする例示的方法を図式的に図示し得る。いくつかの実施形態では、図9Aおよび9Bはまた、画像フレーム900の1つ以上の疎点を識別する実施例を図式的に描写する。いくつかの実装では、図9Aおよび9Bは、上記に説明されるように、ローリングシャッタカメラによって、イメージングデバイスから記憶ユニットの中に読み込まれるにつれた画像フレームを図示する。画像フレーム900は、プログレッシブスキャンイメージングデバイスとして構成される、外向きに面したイメージングシステム110によって捕捉されてもよい。画像フレームは、画像セグメントがイメージングデバイスによって捕捉されるにつれて、イメージングデバイスから記憶ユニット(例えば、ローカル処理およびデータモジュール70)の中に読み込まれる、複数の画像セグメント(時として、走査線とも称される)905a-905nを含み得る。画像セグメントは、水平に配列される(図9Aに示されるように)、または垂直に配列されてもよい(図示せず)。15の画像セグメントが、図示されるが、画像セグメントの数は、そのように限定される必要はなく、所与の用途のための所望に応じて、またはイメージングシステムの能力に基づいて、任意の数の画像セグメント905a-905nであってもよい。いくつかの実装では、画像セグメントは、ラスタ走査パターン内の線(例えば、行または列)であってもよく、例えば、画像セグメントは、外向きに面したイメージングデバイス110によって捕捉された画像のラスタ走査パターン内のピクセルの行または列であってもよい。ラスタ走査パターンは、本開示全体を通して説明されるように、ローリングシャッタカメラによって実施または実行されてもよい。
再び図9Aを参照すると、画像フレーム900は、連続して捕捉され、記憶ユニットの中に読み込まれる、複数の画像セグメント905を含み得る。画像セグメント905は、イメージングデバイスによって捕捉された視野(FOV)を表すように組み合わせられてもよい。画像フレーム900はまた、例えば、図3を参照して上述されるように、複数の疎点320を含み得る。いくつかの実装では、図9Aに図示されるように、各疎点320は、1つ以上の画像セグメント905によって生成されてもよい。例えば、疎点320aは、画像セグメント905のサブセット910によって生成され、したがって、そこに関連付けられ得る。したがって、各疎点は、画像セグメントが記憶ユニットにおいて受信されると、各所与の疎点に対応する画像セグメント905のサブセットを受信することに応じて、識別されてもよい。例えば、疎点320aは、画像セグメント906a-906nがARデバイスの記憶ユニットにおいて受信されるとすぐに、オブジェクト認識装置(例えば、オブジェクト認識装置650)によって識別されてもよい。画像セグメント906a-906nは、疎点320aを表す画像セグメント905のサブセット910に対応し得る。したがって、ARデバイスは、対応する画像セグメントが画像捕捉デバイス(例えば、プログレッシブスキャンカメラ)から受信されるとすぐに、個々の疎点を決定可能であり得る。画像セグメント905のサブセット910は、画像セグメント906a-906nを含み得る。いくつかの実装では、画像セグメント906の数は、垂直方向に沿って疎点全体を分解または捕捉するために必要とされる、垂直方向において連続して受信された画像セグメントの数に基づいてもよい。図9Bは、疎点320aと関連付けられた7つの画像セグメントを図示するが、これは、該当する必要はなく、任意の数の画像セグメントが、必要に応じて、疎点320aと関連付けられ、疎点320aに対応するオブジェクト325aを識別してもよい(例えば、2、3、4、5、6、8、9、10、11等)。
ある例示的実装では、疎点320は、循環バッファまたはローリングバッファを実装することによって識別されてもよい。例えば、バッファは、図6のバッファ620に類似してもよい。バッファは、ARデバイスのオンボードで記憶されるメモリまたは記憶ユニットの一部(例えば、ローカル処理およびデータモジュール70)として構築されてもよい、またはARデバイスの遠隔にあってもよい(例えば、遠隔データリポジトリ74)。バッファは、画像情報を画像捕捉デバイス(例えば、図2の外向きに面したイメージングシステム110)から受信するように構成されてもよい。例えば、バッファは、画像センサが各シーケンシャル画像セグメントを捕捉するにつれて、画像セグメントを表す画像データを画像センサから連続して受信してもよい。バッファはまた、画像コンテンツの後続処理および識別のために、画像データの一部を記憶するように構成されてもよい。いくつかの実施形態では、バッファは、1つ以上の画像セグメントを記憶するように構成されてもよく、画像セグメントの数は、総画像フレーム900未満であってもよい。いくつかの実施形態では、バッファ内に記憶される画像セグメントの数は、所定の数、例えば、サブセット910内の数であってもよい。いくつかの実施形態では、代替として、または組み合わせて、バッファは、疎点に対応する画像セグメントのサブセット910を記憶するように構成されてもよい。例えば、図9Bを参照すると、疎点320aは、7×7ピクセルウィンドウを要求し得る(例えば、7行のピクセルが、画像セグメント906を提示し、各画像セグメントは、7ピクセルを含む)。本実施形態では、バッファは、画像セグメント906のサブセット910を記憶するために十分な大きさであるように構成されてもよく、例えば、7つの画像セグメントが図示される。
上記に説明されるように、バッファは、画像データを一時的に記憶するように構成されてもよい。故に、新しい画像セグメントが、イメージング捕捉デバイスから受信されるにつれて、より古い画像セグメントは、バッファから除去される。例えば、第1の画像セグメント906aが、受信されてもよく、後続画像セグメントは、疎点320aに対応するバッファにおいて受信されてもよい。いったん全ての画像セグメント906a-906nが、受信されると、疎点320aが、識別されてもよい。続いて、新しい画像セグメントが、受信され(例えば、906n+1)、画像セグメント906aは、それによって、バッファから除去される。いくつかの実施形態では、セグメント906aは、さらなる処理のために、バッファからデジタルメモリ内の記憶装置(例えば、ローカル処理およびデータモジュール70)に移動される。
(3D空間内で姿勢を推定するための例示的ルーチン)
図10は、イメージングデバイスが移動する、3D空間(例えば、図3)内のイメージングデバイス(例えば、図2の外向きに面したイメージングシステム110)の姿勢を決定するための例証的ルーチンのプロセスフロー図である。ルーチン1000は、第1のグループの疎点の疎点に対応する画像セグメントが受信されるにつれて、第1のグループの疎点が画像フレームから抽出され得る方法の実施例を説明する。種々の実施形態では、対応する画像セグメントは、イメージングデバイスのFOVを表す画像フレーム全体を捕捉することに先立って、捕捉されてもよい。ルーチン1000はまた、後続の疎点または第2のグループの疎点が抽出および統合され、姿勢決定を更新し得る方法を説明する。ルーチン1000は、上記に説明されるように、外向きに面したイメージングシステム(例えば、外向きに面したイメージングシステム110)およびデジタルメモリまたはバッファに動作可能に結合される、ハードウェアプロセッサ(例えば、図2のローカル処理およびデータモジュール70)によって実施されてもよい。外向きに面したイメージングシステム110は、ローリング-シャッタカメラを備えることができる。
ブロック1010では、イメージングデバイスは、ARデバイスを囲繞する環境に関する入力画像を捕捉してもよい。例えば、イメージングデバイスは、周囲環境から受信された光に基づいて、入力画像の複数の画像セグメントを連続して捕捉してもよい。これは、種々の入力デバイス(例えば、ARデバイス上またはARデバイスから遠隔のデジタルカメラ)を通して達成されてもよい。入力は、FOV(例えば、FOV315a、315b、315c、または315d)を表す画像フレームであって、複数の疎点(例えば、疎点320)を含んでもよい。FOVカメラ、センサ、GPS等は、画像セグメントがイメージングデバイスによって捕捉されるにつれて、連続して捕捉された画像セグメントの画像データを含む情報をシステム(ブロック1010)に伝達してもよい。
ブロック1020では、ARデバイスは、入力画像を受信してもよい。いくつかの実施形態では、ARデバイスは、ブロック1010において捕捉された画像の一部を形成する、第1の複数の画像セグメントを連続して受信してもよい。例えば、イメージングデバイスは、図9Aおよび9Bを参照して上述されるように、場面を連続して走査し、それによって、第1の複数の画像セグメントを連続して捕捉するように構成されてもよい。画像センサはまた、データが捕捉されるにつれて、記憶ユニットに対する画像データを連続して読み取ってもよい。情報は、ユーザ-ウェアラブルシステム(例えば、ローカル処理およびデータモジュール70)上に記憶されてもよい、または部分的に、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所(例えば、遠隔データリポジトリ74)に常駐してもよい。いくつかの実施形態では、情報は、記憶ユニット内に含まれるバッファ内に一時的に記憶されてもよい。
ブロック1030では、ARデバイスは、各疎点に対応する第1の複数の画像セグメント(時として、「事前リスト」とも称される)を受信することに基づいて、第1のグループの疎点を識別してもよい。例えば、図9Aおよび9Bを参照すると、ARデバイスは、図9Aおよび9Bを参照して上述されるように、1つ以上の疎点320に対応する画像セグメント905(例えば、第1の複数の画像セグメント)のサブセット910を受信することに基づいて、1つ以上の疎点320を識別してもよい。疎点320は、疎点320に対応する画像セグメント905のサブセット910(例えば、画像セグメント906)が記憶ユニット(例えば、ローカル処理およびデータモジュール70)において受信されるとすぐに、識別されてもよい。
いくつかの実装では、第1のグループの疎点は、恣意的疎点の数(N)を含む。数(N)は、環境内のARデバイスの姿勢を推定するために選択された任意の数の疎点であってもよい。いくつかの実施形態では、数(N)は、3つの疎点未満であってはならない。他の実施形態では、数(N)は、10~20の疎点である。より大きい数(N)の1つの非限定的利点は、アウトライヤデータ点が否認され得ることであって、これは、姿勢決定に、インライヤデータ点に起因する雑音に対するある程度のロバスト性を提供し得る。例えば、イメージングデバイスは、物理的イメージングデバイス上に付与されるイベントに起因して、揺動または衝撃を受け得る、もしくは記録されている場面が、一時的に変化され得る(例えば、人物が前景内で移動する)。イベントは、1つ以上の画像フレーム内の疎点の小グループにのみ影響を及ぼし得る。より大きい数(N)の疎点を使用する、または本明細書に従って姿勢推定を更新することによって、これらのアウトライヤまたは単一インスタンスイベントに起因する姿勢推定における雑音は、少なくとも部分的に、低減され得る。
一実装では、第1のグループの疎点は、画像フレーム(例えば、オブジェクト認識装置650によって)から抽出され、姿勢決定(例えば、上記に説明されるように、SLAM、VSLAM、または類似物)(ブロック1040)を実行するように構成される、姿勢推定システム(例えば、図6の姿勢推定システム640)に伝達されてもよい。種々の実施形態では、第1のグループの疎点は、対応する第1の複数の画像セグメントを受信することに基づいて、ある数(N)の疎点を識別することに応じて、姿勢推定システムに伝達される。故に、第1のグループの疎点は、イメージングデバイスが画像フレーム全体を受信しないため、画像のフレームの一部のみが受信されたとき、伝達されてもよい。後続画像セグメント(例えば、第1の複数の画像セグメントの後に取得される第2の複数の画像セグメント)は、そのまま受信されることになる。一実施形態では、第1のグループの疎点は、画像セグメントの対応するサブセットを走査することに基づいて、それぞれ識別されるとすぐに、抽出されてもよい(例えば、ARデバイスの記憶ユニットまたはその一部、例えば、バッファから)。別の実施形態では、第1のグループの疎点は、いったんある数(N)の疎点が識別され、疎点が単一プロセスにおいて伝送されると、抽出されてもよい(例えば、ARデバイスの記憶ユニットまたはバッファから)。
ブロック1045では、ARデバイスは、第2の複数の画像セグメント(時として、「追従リスト」とも称される)を受信してもよい。いくつかの実施形態では、ARデバイスは、ブロック1020において第1の複数の画像セグメントを受信後、第2の複数の画像セグメントを連続して取得してもよい。例えば、イメージングデバイスは、図9Aおよび9Bを参照して上述されるように、場面を連続して走査し、それによって、第1の複数の画像セグメントを連続して捕捉し(例えば、ブロック1020)、続いて、ブロック1030後またはその間のいずれかにおいて、場面を連続して走査し、第2の複数の画像セグメントを取得するように構成されてもよい。別の実施形態では、第2の複数の画像セグメントまたはその一部は、イメージングデバイスによって捕捉された第2の画像から取得されてもよく、第2の画像は、第1の画像後に捕捉される。情報は、ARデバイス(例えば、ローカル処理およびデータモジュール70)上に記憶されてもよい、または部分的に、有線または無線ネットワークによってアクセス可能なネットワーク化された記憶場所(例えば、遠隔データリポジトリ74)に常駐してもよい。いくつかの実施形態では、情報は、記憶ユニット内に含まれるバッファ内に一時的に記憶されてもよい。
再び図10を参照すると、ブロック1050では、ARデバイスは、第2の複数の画像セグメントに基づいて、第2のグループの疎点を識別してもよい。例えば、一実施形態では、画像フレーム全体は、ブロック1040において姿勢を決定することに先立って受信されておらず、第2の複数の画像セグメントは、ブロック1045において、イメージングデバイスから受信されてもよい。したがって、ARデバイスは、図9Aおよび9Bを参照して上述されるように、1つ以上の新しい疎点(例えば、第2のグループの疎点)に対応する第2の複数の画像セグメントを受信することに基づいて、1つ以上の新しい疎点を識別してもよい。別の実施形態では、第2の画像は、第1の画像がブロック1010において捕捉された後、イメージングデバイスによって捕捉されてもよく、第2の複数の画像セグメントは、第2の画像から取得されてもよい。したがって、ARデバイスは、第2の複数の画像セグメントを第2の画像から受信することに基づいて、1つ以上の新しい疎点を識別してもよく、これは、第2のグループの疎点に対応し得る。いくつかの実施形態では、第2のグループの疎点は、任意の数の新しい疎点(例えば、1、2、3等)を含み得る。一実装では、第2のグループの疎点は、抽出され、例えば、第2のグループの疎点を姿勢推定システムに伝達することによって、姿勢決定の中に統合されてもよい。以下は、第2のグループの疎点を第1のグループの疎点とともに図10のマッピングルーチンの中に統合する例示的方法である。例えば、本明細書に説明される例示的統合方法は、再統合、スライディングスケール統合、またはブロック統合と称され得る。しかしながら、これらの例示的統合方法は、包括的であることを意図するものではない。誤差を最小限にし、姿勢決定における遅延を減少させ得る、他の方法も、可能性として考えられる。
ブロック1060では、姿勢推定システムは、ブロック1040における姿勢決定およびブロック1050における第2のグループの疎点の受信に基づいて、姿勢決定を更新するように構成されてもよい。
上記に説明されるルーチン1000の1つの非限定的利点は、姿勢推定プロセスに先立って疎点を画像フレームから抽出することから生じる、遅延の低減であり得る。例えば、それらの疎点に対応する画像セグメントがバッファ620において受信されると、個々の疎点を算出および識別することによって、個々のまたは選択された疎点のグループは、画像フレーム全体が捕捉されることを待機せずに、抽出され、姿勢推定システムによって処理されてもよい。したがって、姿勢推定は、画像全体がメモリに転送されるよりもかなり前に、そして全ての疎点が画像全体から抽出され得る前に、実施されてもよい。しかしながら、いったん特定の画像フレームの第1のグループおよび全ての後続グループが、抽出されると、画像フレーム全体が、次いで、姿勢推定のために利用可能になるであろう。
種々の実装では、第2のグループの疎点は、ブロック1040において姿勢を決定した後に識別された設定数の疎点を含み得る。いくつかの実施形態では、設定数は、1つの疎点であってもよい。例えば、後続の疎点が識別される度に、疎点は、姿勢推定システムに伝達され、新しい姿勢推定プロセスが、ブロック1060において実施され、ARデバイスの位置、場所、または配向のうちの1つ以上のものを更新することができる。本方法は、時として、再統合方法と称され得る。故に、続いて識別された各疎点は、後続の疎点のグループ(例えば、第2、第3、第4の等の疎点のグループ)を表し得る。別の実施形態では、設定数は、任意の数の続いて識別された疎点(例えば、2、3、4等)であってもよい。例えば、設定数が、3である場合、3つの新しい疎点が識別される度に(例えば、後続の疎点のグループ)、グループは、ブロック1050において姿勢推定システムに伝達され、新しい姿勢推定プロセスが、ブロック1060において実施される。姿勢推定プロセスは、したがって、画像フレーム全体内に含まれる全ての疎点を利用してもよい。
他の実装では、統合方法は、図4A-5Bを参照して上述されるように、ローリングシャッタ効果を考慮するように構成されてもよい。例えば、姿勢推定プロセスは、固定数(N)の疎点のために実施されてもよい。本方法は、時として、スライディング統合方法と称され得る。本実施形態では、第2のグループの疎点は、ブロック1040において姿勢を決定した後に識別された選択数(k)の疎点を含み得る。ある数(k)の疎点が、識別され得る度に、姿勢決定は、更新されてもよい。しかしながら、直近のNの疎点のみが、ブロック1060において姿勢を更新するために使用されてもよい。いくつかの実施形態では、本方法は、それらが対応するグループにかかわらず、直近のNの疎点を利用する。例えば、Nが、10に設定される場合、Nは、15に設定され、kは、5に設定され、したがって、第1のグループの疎点は、ブロック1030において識別された最初の10の疎点を含む。したがって、姿勢は、ブロック1040において、最初の10の疎点に基づいて決定される。続いて、新しい疎点が、識別されるが、姿勢は、更新されない。いったん第2のグループの疎点を構成する、5つの新しい疎点が、識別されると、姿勢は、第1のグループ(N)および第2のグループ(k)の疎点に基づいて更新されてもよい。第3のグループの疎点が、識別される場合(例えば、第2のグループに続く5つの疎点)、姿勢は、再び、ブロック1060において更新されるが、しかしながら、更新は、第1のグループ(例えば、疎点6-10)、第2のグループ(例えば、疎点11-15)、および第3のグループ(例えば、疎点16-21)のうちのいくつかに基づいてもよい。したがって、統合は、疎点のスライディングウィンドウまたはスライディングリストとして検討され、それによって、疎点の設定数のみが、姿勢を推定するために使用され、使用される疎点は、第1のグループから第2および第3のグループにスライドしてもよい。本方法の1つの非限定的利点は、先に受信された画像セグメントから識別された疎点が、それらが古くなる、または陳腐化するにつれて、ブロック1060における姿勢決定から除去され得ることであり得る。ある場合には、ARデバイスが、疎点に対して動いている場合、ローリングシャッタ効果は、古い疎点を除去し、識別された新しい疎点間の姿勢の変化を捕捉することによって低減され得る。
いくつかの実施形態では、先の統合方法が、例えば、外向きに面したイメージングシステム110が、図3のFOV315aの画像フレームの捕捉とFOV315bの画像フレームの捕捉との間で移動するにつれて、画像フレーム間で利用されてもよい。例えば、第1のグループの疎点は、第1の位置312a(例えば、FOV315b)と関連付けられた画像フレームから受信されてもよく、第2のグループの疎点は、第2の位置312b(例えば、FOV315b)と関連付けられた画像フレームから受信されてもよい。スライディングリスト方法が、これらの画像フレーム間のローリングシャッタ効果を低減させるために実装されてもよい。しかしながら、いくつかの実施形態では、第1のフレームからの直近の(N-1)を上回る疎点を留保する必要がない場合がある。
別の実装では、ブロック1060における姿勢決定は、固定数またはブロックの疎点のために実施されてもよい。本方法は、時として、ブロック統合方法と称され得る。いくつかの実施形態では、疎点のグループはそれぞれ、ブロックと等しい疎点の数を含み得る。例えば、ブロックが、10に設定される場合、第1のグループのための固定数(N)は、10であって、姿勢は、ブロック1040において、本第1のグループを識別および抽出することに応じて決定される。続いて、次の10の疎点を含み、第2のグループが、識別されてもよく、姿勢は、ブロック1060において、本第2のグループを使用して更新される。いくつかの実施形態では、本プロセスは、複数のグループ(例えば、第3、第4、第5等)のために継続してもよい。いくつかの実施形態では、画像セグメントが、バッファ(例えば、図6のバッファ620)内に記憶されると、バッファのサイズは、少なくとも、ブロック内に含まれ得る疎点の数を記憶するように選択および構成されてもよい(例えば、バッファは、前述の実施例では、少なくとも10の疎点を記憶するように構成されるサイズを有するように選択されてもよい)。いくつかの実施形態では、バッファは、ブロック内に構成される疎点の数のみを記憶するように制限されたサイズを有してもよい。
方法、デバイス、およびシステムの種々の実施形態が、頭部搭載型ディスプレイデバイスまたはARデバイスを参照して、本開示全体を通して説明されたが、これは、本願の範囲を限定することを意図するものではなく、単に、例証的目的のための実施例として使用される。本明細書に説明される方法およびデバイスは、本明細書に説明される方法およびデバイスを実装し、デバイスが位置する3D環境をマッピングし、3D環境を通してデバイスの移動を追跡し得る、ロボット、デジタルカメラ、および他の自律的エンティティ等の他のデバイスにも適用可能であり得る。
(付加的側面)
第1の側面では、環境内の画像捕捉デバイスの位置を推定するための方法が、開示される。本方法は、第1の複数の画像セグメントを連続して受信するステップであって、第1の複数の画像セグメントは、画像捕捉デバイスの視野(FOV)を表す画像の少なくとも一部を形成し、FOVは、複数の疎点を含む、画像捕捉デバイスの周囲の環境の一部を構成し、各疎点は、画像セグメントのサブセットに対応する、ステップと、第1のグループの疎点を識別するステップであって、第1のグループの疎点は、第1の複数の画像セグメントが受信されるにつれて識別された1つ以上の疎点を含む、ステップと、位置推定システムによって、第1のグループの疎点に基づいて、環境内の画像捕捉デバイスの位置を決定するステップと、第2の複数の画像セグメントを連続して受信するステップであって、第2の複数の画像セグメントは、第1の複数の画像セグメントの後に受信され、画像の少なくとも別の部分を形成する、ステップと、第2のグループの疎点を識別するステップであって、第2のグループの疎点は、第2の複数の画像セグメントが受信されるにつれて識別された1つ以上の疎点を含む、ステップと、位置推定システムによって、第1および第2のグループの疎点に基づいて、環境内の画像捕捉デバイスの位置を更新するステップとを含む。
第2の側面では、複数の画像セグメントを画像捕捉デバイスの画像センサにおいて連続して捕捉するステップをさらに含む、側面1に記載の方法。
第3の側面では、画像センサは、ローリングシャッタ画像センサである、側面1または2に記載の方法。
第4の側面では、画像セグメントが連続して受信されるにつれて、第1および第2の複数の画像セグメントをバッファ内に記憶するステップをさらに含み、バッファは、画像セグメントのサブセット内の画像セグメントの数に対応するサイズを有する、側面1-3のいずれか1項に記載の方法。
第5の側面では、第1および第2のグループの疎点を位置推定システムに対して抽出するステップをさらに含む、側面1-4のいずれか1項に記載の方法。
第6の側面では、第1のグループの疎点は、ある数の疎点を含む、側面1-5のいずれか1項に記載の方法。
第7の側面では、疎点の数は、10~20の疎点である、側面6に記載の方法。
第8の側面では、第2のグループの疎点は、第2の疎点の数を含む、側面1-7のいずれか1項に記載の方法。
第9の側面では、画像捕捉デバイスの位置の該更新は、直近で識別された疎点の数に基づき、直近で識別された疎点は、第1のグループ、第2のグループ、または第1のグループおよび第2のグループのうちの1つ以上のもののうちの少なくとも1つである、側面1-8のいずれか1項に記載の方法。
第10の側面では、直近で識別された疎点の数は、第1のグループの疎点における疎点の数と等しい、側面9に記載の方法。
第11の側面では、位置推定システムは、視覚的同時位置特定およびマッピング(V-SLAM)を実施するように構成される、側面1-10のいずれか1項に記載の方法。
第12の側面では、複数の疎点は、実世界オブジェクト、仮想画像要素、および環境の中に投影された不可視インジケータのうちの少なくとも1つに基づいて抽出される、側面1-11のいずれか1項に記載の方法。
第13の側面では、環境内の画像捕捉デバイスの位置を推定するための方法が、開示される。本方法は、複数の画像セグメントを連続して受信するステップであって、複数の画像セグメントは、画像捕捉デバイスの視野(FOV)を表す画像を形成し、FOVは、複数の疎点を含む、画像捕捉デバイスの周囲の環境の一部を構成し、各疎点は、部分的に、複数の画像セグメントの画像セグメントの対応するサブセットに基づいて、識別可能であるステップと、1つ以上の疎点に対応する画像セグメントの各サブセットが受信されると、複数の疎点の1つ以上の疎点を連続して識別するステップと、識別された1つ以上の疎点に基づいて、環境内の画像捕捉デバイスの位置を推定するステップとを含む。
第14の側面では、複数の画像セグメントを連続して受信するステップはさらに、ある数の画像セグメントを受信するステップと、その数の画像セグメントをバッファ内に記憶するステップとを含む、側面13に記載の方法。
第15の側面では、複数の画像セグメントを連続して受信するステップは、少なくとも第1の画像セグメントおよび第2の画像セグメントを受信するステップを含み、第1の画像セグメントは、バッファ内に記憶される、側面13または14に記載の方法。
第16の側面では、第2の画像セグメントを受信することに応じて、バッファを更新するステップと、第2の画像セグメントをバッファ内に記憶するステップと、第2の画像セグメントを受信することに応じて、第1の画像セグメントを除去するステップとをさらに含む、側面13-15のいずれか1項に記載の方法。
第17の側面では、1つ以上の疎点を連続して識別するステップはさらに、バッファが更新されると、バッファ内に記憶される画像セグメントを走査するステップを含む、側面16に記載の方法。
第18の側面では、1つ以上の疎点に対応する画像セグメントの各サブセットが受信されると、複数の疎点の1つ以上の疎点を連続して識別するステップはさらに、第1のグループの1つ以上の疎点に対応する第1の複数の画像セグメントが受信されると、第1のグループの1つ以上の疎点を連続して識別するステップと、第2のグループの1つ以上の疎点に対応する第2の複数の画像セグメントが受信されると、第2のグループの1つ以上の疎点を連続して識別するステップとを含み、第2の複数の画像セグメントは、第1の複数の画像セグメントの後に受信される、側面13-17のいずれか1項に記載の方法。
第19の側面では、画像捕捉デバイスの位置を推定するステップは、第1のグループの1つ以上の疎点を識別することに基づき、第1のグループは、ある数の疎点を含む、側面13-18のいずれか1項に記載の方法。
第20の側面では、疎点の数は、2~20である、側面19に記載の方法。
第21の側面では、疎点の数は、10~20である、側面19に記載の方法。
第22の側面では、第2のグループの1つ以上の疎点を識別することに基づいて、画像捕捉デバイスの位置を更新するステップをさらに含む、側面13-21のいずれか1項に記載の方法。
第23の側面では、第2のグループの1つ以上の疎点は、第2の数の疎点を含む、側面13-22のいずれか1項に記載の方法。
第24の側面では、ある数の連続して識別された疎点を識別することに基づいて、画像捕捉デバイスの位置を更新するステップをさらに含む、側面13-23のいずれか1項に記載の方法。
第25の側面では、連続して識別された疎点の数は、疎点の数と等しい、側面24に記載の方法。
第26の側面では、連続して識別された疎点の数は、第1のグループの疎点の疎点のうちの少なくとも1つを含む、側面24に記載の方法。
第27の側面では、複数の疎点が、実世界オブジェクト、仮想画像要素、および環境の中に投影された不可視インジケータのうちの少なくとも1つに基づいて抽出される、側面13-26のいずれか1項に記載の方法。
第28の側面では、連続して識別された疎点をバッファから抽出するステップと、連続して識別された疎点を視覚的同時場所およびマッピング(VSLAM)システムに送信するステップとをさらに含み、VSLAMシステムは、連続して識別された1つ以上の疎点に基づいて、画像捕捉デバイスの位置を推定する、側面13-27のいずれか1項に記載の方法。
第29の側面では、拡張現実(AR)システムが、開示される。ARシステムは、外向きに面したイメージングデバイスと、コンピュータハードウェアと、コンピュータハードウェアおよび外向きに面したイメージングデバイスに動作可能に結合され、側面1-28のいずれか1項に記載の方法を実施するための命令を実行するように構成される、プロセッサとを含む。
第30の側面では、外向きに面したイメージングデバイスは、不可視スペクトル内の光を検出するように構成される、側面29に記載のARシステム。
第31の側面では、ARシステムは、1つ以上の仮想画像要素を表示するように構成される、側面29または30に記載のARシステム。
第32の側面では、ARシステムの推定された位置を示す識別信号を遠隔ARシステムに伝送するように構成される、送受信機をさらに含み、遠隔ARシステムは、受信された識別信号に基づいて、その推定された位置を更新するように構成される、側面29-31のいずれか1項に記載のARシステム。
第33の側面では、自律的エンティティが、開示される。自律的エンティティは、外向きに面したイメージングデバイスと、コンピュータハードウェアと、コンピュータハードウェアおよび外向きに面したイメージングデバイスに動作可能に結合され、側面1-28のいずれか1項に記載の方法を実施するための命令を実行するように構成される、プロセッサとを含む。
第34の側面では、外向きに面したイメージングデバイスは、不可視スペクトル内の光を検出するように構成される、側面33に記載の自律的エンティティ。
第35の側面では、ロボットシステムが、開示される。ロボットシステムは、外向きに面したイメージングデバイスと、コンピュータハードウェアと、コンピュータハードウェアおよび外向きに面したイメージングデバイスに動作可能に結合され、側面1-28のいずれか1項に記載の方法を実施するための命令を実行するように構成される、プロセッサとを含む。
第36の側面では、環境内の画像捕捉デバイスの位置を推定するための画像捕捉デバイスが、開示される。画像捕捉デバイスは、複数の画像セグメントを連続して捕捉することを介して、画像を捕捉するように構成される、画像センサであって、画像は、画像捕捉デバイスの視野(FOV)を表し、FOVは、複数の疎点を含む、画像捕捉デバイスの周囲の環境の一部を構成し、各疎点は、部分的に、複数の画像セグメントの対応するサブセットに基づいて識別可能である、画像センサと、1つ以上の疎点に対応する画像セグメントのサブセットを記憶するように構成される、メモリ回路と、メモリ回路に動作可能に結合され、1つ以上の疎点に対応する画像セグメントの各サブセットが受信されると、複数の疎点の1つ以上の疎点を連続して識別し、識別された1つ以上の疎点に基づいて、環境内の画像捕捉デバイスの位置を推定するために、連続して識別された1つ以上の疎点を抽出するように構成される、コンピュータプロセッサとを含む。
第37の側面では、連続して識別された1つ以上の疎点を受信し、識別された1つ以上の疎点に基づいて、環境内の画像捕捉デバイスの位置を推定するように構成される、位置推定システムをさらに含む、側面36に記載の画像捕捉デバイス。
第38の側面では、位置推定システムは、視覚的同時場所およびマッピング(VSLAM)システムである、側面36または37に記載の画像捕捉デバイス。
第39の側面では、画像センサは、不可視スペクトル内の光を検出するように構成される、側面36-38のいずれか1項に記載の画像捕捉デバイス。
第40の側面では、その推定された位置を示す識別信号を遠隔画像捕捉デバイスに伝送するように構成される、送受信機をさらに含み、遠隔画像捕捉デバイスは、受信された識別信号に基づいて、その推定された位置を更新するように構成される、側面36-39のいずれか1項に記載の画像捕捉デバイス。
(他の考慮点)
本明細書に説明される、ならびに/または添付される図に描写されるプロセス、方法、およびアルゴリズムはそれぞれ、具体的かつ特定のコンピュータ命令を実行するように構成される、1つ以上の物理的コンピューティングシステム、ハードウェアコンピュータプロセッサ、特定用途向け回路、および/もしくは電子ハードウェアによって実行される、コードモジュールにおいて具現化され、それによって完全もしくは部分的に自動化され得る。例えば、コンピューティングシステムは、具体的コンピュータ命令とともにプログラムされた汎用コンピュータ(例えば、サーバ)または専用コンピュータ、専用回路等を含むことができる。コードモジュールは、実行可能プログラムにコンパイルおよびリンクされる、動的リンクライブラリ内にインストールされ得る、または解釈されるプログラミング言語において書き込まれ得る。いくつかの実装では、特定の動作および方法が、所与の機能に特有の回路によって実施され得る。
さらに、本開示の機能性のある実装は、十分に数学的、コンピュータ的、または技術的に複雑であるため、(適切な特殊化された実行可能命令を利用する)特定用途向けハードウェアまたは1つ以上の物理的コンピューティングデバイスまたは特殊なグラフィック処理ユニットは、例えば、関与する計算の量もしくは複雑性に起因して、または結果、例えば、姿勢推定入力を実質的にリアルタイムで提供するために、機能性を実施する必要があり得る。例えば、ビデオは、多くのフレームを含み、各フレームは、数百万のピクセルを有し得、具体的にプログラムされたコンピュータハードウェアは、商業的に妥当な時間量において所望の画像処理タスクまたは用途を提供するようにビデオデータを処理する必要がある。
コードモジュールまたは任意のタイプのデータは、ハードドライブ、ソリッドステートメモリ、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、光学ディスク、揮発性もしくは不揮発性記憶装置、同一物の組み合わせ、および/または同等物を含む、物理的コンピュータ記憶装置等の任意のタイプの非一過性コンピュータ可読媒体上に記憶され得る。本方法およびモジュール(またはデータ)はまた、無線ベースおよび有線/ケーブルベースの媒体を含む、種々のコンピュータ可読伝送媒体上で生成されたデータ信号として(例えば、搬送波または他のアナログもしくはデジタル伝搬信号の一部として)伝送され得、種々の形態(例えば、単一もしくは多重化アナログ信号の一部として、または複数の離散デジタルパケットもしくはフレームとして)をとり得る。開示されるプロセスまたはプロセスステップの結果は、任意のタイプの非一過性有形コンピュータ記憶装置内に持続的もしくは別様に記憶され得る、またはコンピュータ可読伝送媒体を介して通信され得る。
本明細書に説明される、および/または添付される図に描写されるフロー図における任意のプロセス、ブロック、状態、ステップ、もしくは機能性は、プロセスにおいて具体的機能(例えば、論理もしくは算術)またはステップを実装するための1つ以上の実行可能命令を含む、コードモジュール、セグメント、またはコードの一部を潜在的に表すものとして理解されたい。種々のプロセス、ブロック、状態、ステップ、または機能性は、組み合わせられる、再配列される、追加される、削除される、修正される、または別様に本明細書に提供される例証的実施例から変更されることができる。いくつかの実施形態では、付加的または異なるコンピューティングシステムもしくはコードモジュールが、本明細書に説明される機能性のいくつかまたは全てを実施し得る。本明細書に説明される方法およびプロセスはまた、任意の特定のシーケンスに限定されず、それに関連するブロック、ステップ、または状態は、適切な他のシーケンスで、例えば、連続して並行して、またはある他の様式で実施されることができる。タスクまたはイベントが、開示される例示的実施形態に追加される、またはそれから除去され得る。さらに、本明細書に説明される実装における種々のシステムコンポーネントの分離は、例証を目的とし、全ての実装においてそのような分離を要求するものとして理解されるべきではない。説明されるプログラムコンポーネント、方法、およびシステムは、概して、単一のコンピュータ製品においてともに統合される、または複数のコンピュータ製品にパッケージ化され得ることを理解されたい。多くの実装変形例が、可能である。
本プロセス、方法、およびシステムは、ネットワーク(または分散)コンピューティング環境において実装され得る。ネットワーク環境は、企業全体コンピュータネットワーク、イントラネット、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、パーソナルエリアネットワーク(PAN)、クラウドコンピューティングネットワーク、クラウドソースコンピューティングネットワーク、インターネット、およびワールドワイドウェブを含む。ネットワークは、有線もしくは無線ネットワークまたは任意の他のタイプの通信ネットワークであり得る。
本開示のシステムおよび方法は、それぞれ、いくつかの革新的側面を有し、そのうちのいかなるものも、本明細書に開示される望ましい属性に単独で関与しない、またはそのために要求されない。上記に説明される種々の特徴およびプロセスは、相互に独立して使用され得る、または種々の方法で組み合わせられ得る。全ての可能な組み合わせおよび副次的組み合わせが、本開示の範囲内に該当することが意図される。本開示に説明される実装の種々の修正が、当業者に容易に明白であり得、本明細書に定義される一般原理は、本開示の精神または範囲から逸脱することなく、他の実装に適用され得る。したがって、請求項は、本明細書に示される実装に限定されることを意図されず、本明細書に開示される本開示、原理、および新規の特徴と一貫する最も広い範囲を与えられるべきである。
別個の実装の文脈において本明細書に説明されるある特徴はまた、単一の実装における組み合わせにおいて実装されることができる。逆に、単一の実装の文脈において説明される種々の特徴もまた、複数の実装において別個に、または任意の好適な副次的組み合わせにおいて実装されることができる。さらに、特徴がある組み合わせにおいて作用するものとして上記に説明され、さらに、そのようなものとして最初に請求され得るが、請求される組み合わせからの1つ以上の特徴は、いくつかの場合では、組み合わせから削除されることができ、請求される組み合わせは、副次的組み合わせまたは副次的組み合わせの変形例を対象とし得る。いかなる単一の特徴または特徴のグループも、あらゆる実施形態に必要もしくは必須ではない。
とりわけ、「~できる(can)」、「~し得る(could)」、「~し得る(might)」、「~し得る(may)」、「例えば(e.g.)」、および同等物等、本明細書で使用される条件文は、別様に具体的に記載されない限り、または使用されるような文脈内で別様に理解されない限り、概して、ある実施形態がある特徴、要素、および/またはステップを含む一方、他の実施形態がそれらを含まないことを伝えることが意図される。したがって、そのような条件文は、概して、特徴、要素、および/もしくはステップが、1つ以上の実施形態に対していかようにも要求されること、または1つ以上の実施形態が、著者の入力または促しの有無を問わず、これらの特徴、要素、および/もしくはステップが任意の特定の実施形態において含まれる、もしくは実施されるべきかどうかを決定するための論理を必然的に含むことを示唆することを意図されない。用語「~を備える」、「~を含む」、「~を有する」、および同等物は、同義語であり、非限定的方式で包括的に使用され、付加的要素、特徴、行為、動作等を除外しない。また、用語「または」は、その包括的意味において使用され(およびその排他的意味において使用されず)、したがって、例えば、要素のリストを接続するために使用されると、用語「または」は、リスト内の要素のうちの1つ、いくつか、または全てを意味する。加えて、本願および添付される請求項で使用されるような冠詞「a」、「an」、および「the」は、別様に規定されない限り、「1つ以上の」または「少なくとも1つ」を意味するように解釈されるべきである。
本明細書で使用されるように、項目のリスト「~のうちの少なくとも1つ」を指す語句は、単一の要素を含む、それらの項目の任意の組み合わせを指す。ある実施例として、「A、B、またはCのうちの少なくとも1つ」は、A、B、C、AおよびB、AおよびC、BおよびC、ならびにA、B、およびCを網羅することが意図される。語句「X、Y、およびZのうちの少なくとも1つ」等の接続文は、別様に具体的に記載されない限り、概して、項目、用語等がX、Y、またはZのうちの少なくとも1つであり得ることを伝えるために使用されるような文脈で別様に理解される。したがって、そのような接続文は、概して、ある実施形態が、Xのうちの少なくとも1つ、Yのうちの少なくとも1つ、およびZのうちの少なくとも1つがそれぞれ存在するように要求することを示唆することを意図されない。
同様に、動作は、特定の順序で図面に描写され得るが、これは、望ましい結果を達成するために、そのような動作が示される特定の順序で、もしくは連続的順序で実施されること、または全ての図示される動作が実施されることの必要はないと認識されるべきである。さらに、図面は、フローチャートの形態で1つ以上の例示的プロセスを図式的に描写し得る。しかしながら、描写されない他の動作も、図式的に図示される例示的方法およびプロセス内に組み込まれることができる。例えば、1つ以上の付加的動作が、図示される動作のいずれかの前に、その後に、それと同時に、またはその間に実施されることができる。加えて、動作は、他の実装において再配列される、または再順序付けられ得る。ある状況では、マルチタスクおよび並列処理が、有利であり得る。さらに、上記に説明される実装における種々のシステムコンポーネントの分離は、全ての実装におけるそのような分離を要求するものとして理解されるべきではなく、説明されるプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品においてともに統合される、または複数のソフトウェア製品にパッケージ化され得ることを理解されたい。加えて、他の実装も、以下の請求項の範囲内である。いくつかの場合では、請求項に列挙されるアクションは、異なる順序で実施され、依然として、望ましい結果を達成することができる。

Claims (19)

  1. イメージングシステムであって、
    レンズおよび画像センサを含む画像捕捉デバイスであって、前記レンズは、前記画像捕捉デバイスを囲繞する環境からの光を前記画像センサに指向するように構成され、前記画像センサは、
    前記環境からの光に基づいて、画像の第1の複数の画像セグメントを連続して捕捉することであって、前記画像は、前記画像捕捉デバイスの視野(FOV)を表し、前記FOVは、前記環境の一部を構成し、複数の疎点を含む、ことと
    第2の複数の画像セグメントを連続して捕捉することであって、前記第2の複数の画像セグメントは、前記第1の複数の画像セグメントの後に捕捉され、前記画像の少なくとも別の部分を形成する、ことと
    を行うように構成される、画像捕捉デバイスと、
    前記第1および第2の複数の画像セグメントを前記画像センサから連続して受信し、前記環境内の前記画像捕捉デバイスの位置および配向のうちの少なくとも1つを推定するための命令を記憶するように構成される、非一過性データ記憶装置と、
    前記非一過性データ記憶装置に動作可能に結合された少なくとも1つのハードウェアプロセッサであって、前記少なくとも1つのハードウェアプロセッサは、
    部分的に、前記第1の複数の画像セグメントの対応するサブセットに基づいて、第1のグループの疎点を識別することであって、前記第1のグループの疎点は、前記第1の複数の画像セグメントが前記非一過性データ記憶装置において受信されるにつれて識別される、ことと、
    前記第1のグループの疎点に基づいて、前記環境内の前記画像捕捉デバイスの位置および配向のうちの少なくとも1つを決定することと、
    部分的に、前記第2の複数の画像セグメントの対応するサブセットに基づいて、第2のグループの疎点を識別することであって、前記第2のグループの疎点は、前記第2の複数の画像セグメントが前記非一過性データ記憶装置において受信されるにつれて識別される、ことと、
    前記第1および第2のグループの疎点に基づいて、前記環境内の前記画像捕捉デバイスの位置および配向のうちの少なくとも1つを更新することと
    直近で識別された疎点の数に基づいて、前記画像捕捉デバイスの位置および配向のうちの少なくとも1つを更新することであって、前記直近で識別された疎点は、前記第1のグループの疎点、前記第2のグループの疎点、および前記第1および第2のグループの疎点のうちの1つ以上のもののうちの少なくとも1つを含む、ことと
    を行うための命令によって構成される、少なくとも1つのハードウェアプロセッサと
    を含む、イメージングシステム。
  2. 前記画像センサは、ローリングシャッタ画像センサである、請求項1に記載のイメージングシステム。
  3. 前記非一過性データ記憶装置は、前記画像セグメントが前記画像センサによって捕捉されるにつれて、前記第1および第2の複数の画像セグメントを連続して受信するように構成される、非一過性バッファ記憶装置を含み、前記非一過性バッファ記憶装置は、少なくとも部分的に、画像セグメントの各サブセット内に含まれる画像セグメントの数に基づいて、記憶容量を有する、請求項1に記載のイメージングシステム。
  4. 前記第1のグループの疎点または前記第2のグループの疎点は、10~20の疎点の数を含む、請求項1に記載のイメージングシステム。
  5. 前記直近で識別された疎点の数は、前記第1のグループの疎点における疎点の数と等しい、請求項に記載のイメージングシステム。
  6. 前記ハードウェアプロセッサは、視覚的同時位置特定およびマッピング(V-SLAM)アルゴリズムを実施するように構成される、請求項1に記載のイメージングシステム。
  7. 前記複数の疎点は、実世界オブジェクト、仮想画像要素、および前記環境の中に投影された不可視インジケータのうちの少なくとも1つに基づいて識別される、請求項1に記載のイメージングシステム。
  8. ユーザの頭部上に装着されるように構成される頭部搭載型ディスプレイ(HMD)であって、前記HMDは、
    フレームと、
    前記フレームによって支持され、前記ユーザの眼の前方に配置される、ディスプレイと、
    前記フレーム上に配置され、レンズおよび画像センサを含む、外向きに面した画像捕捉デバイスであって、前記レンズは、前記HMDを囲繞する環境からの光を前記画像センサに指向するように構成され、前記画像センサは、前記環境からの光に基づいて、画像の複数の画像セグメントを連続して捕捉するように構成され、前記画像は、前記外向きに面した画像捕捉デバイスの視野(FOV)を表し、前記FOVは、環境の一部を構成し、複数の疎点を含み、各疎点は、部分的に、前記複数の画像セグメントの対応するサブセットに基づいて、識別可能であり、前記複数の画像セグメントは、少なくとも第1の複数の画像セグメントおよび第2の複数の画像セグメントを含む、外向きに面した画像捕捉デバイスと、
    前記複数の画像セグメントを前記画像センサから連続して受信し、前記環境内の前記HMDの位置および配向のうちの少なくとも1つを推定するための命令を記憶するように構成される、非一過性データ記憶装置と、
    前記非一過性データ記憶装置に動作可能に結合された少なくとも1つのハードウェアプロセッサであって、前記少なくとも1つのハードウェアプロセッサは、
    前記複数の疎点のうちの第1のグループの1つ以上の疎点に対応する前記第1の複数の画像セグメントが前記非一過性データ記憶装置において受信されると、前記第1のグループの1つ以上の疎点を連続して識別することと、
    前記識別された第1のグループの1つ以上の疎点に基づいて、前記環境内の前記HMDの位置および配向のうちの少なくとも1つを推定することと
    第2のグループの1つ以上の疎点に対応する前記第2の複数の画像セグメントが前記非一過性データ記憶装置において受信されると、前記第2のグループの1つ以上の疎点を連続して識別することと、
    直近で識別された疎点の数に基づいて、前記HMDの位置および配向のうちの少なくとも1つを更新することであって、前記直近で識別された疎点は、前記第1のグループの1つ以上の疎点、前記第2のグループの1つ以上の疎点、および前記第1および第2のグループの1つ以上の疎点のうちの1つ以上のもののうちの少なくとも1つを含む、ことと
    を行うための命令によって構成される、少なくとも1つのハードウェアプロセッサと
    を含む、HMD。
  9. 前記非一過性データ記憶装置は、循環バッファまたはローリングバッファを含む、請求項に記載のHMD。
  10. 記画像センサは、前記第1および第2の画像セグメントを前記非一過性データ記憶装置に連続して伝送するように構成される、請求項に記載のHMD。
  11. 記第2の複数の画像セグメントは、前記第1の複数の画像セグメントの後に受信される、請求項10に記載のHMD。
  12. 前記ハードウェアプロセッサは、前記識別された第1のグループの1つ以上の疎点に基づいて、前記HMDの位置および配向のうちの少なくとも1つを推定するように構成される、請求項11に記載のHMD。
  13. 前記第1のグループの疎点または前記第2のグループの疎点は、2~20の疎点の数を含む、請求項12に記載のHMD。
  14. 前記第1のグループの疎点または前記第2のグループは、10~20の疎点の数を含む、請求項12に記載のHMD。
  15. 前記ハードウェアプロセッサはさらに、前記識別された第2のグループの1つ以上の疎点に基づいて、前記HMDの位置および配向のうちの少なくとも1つを更新するように構成される、請求項12に記載のHMD。
  16. 前記ハードウェアプロセッサはさらに、前記連続して識別された1つ以上の疎点の数が識別されると、前記HMDの位置および配向のうちの少なくとも1つを更新するように構成される、請求項に記載のHMD。
  17. 連続して識別された1つ以上の疎点の数は、前記第1のグループの疎点のうちの少なくとも1つを含む、請求項16に記載のHMD。
  18. 前記複数の疎点は、実世界オブジェクト、仮想画像要素、および前記環境の中に投影された不可視インジケータのうちの少なくとも1つに基づいて識別される、請求項に記載のHMD。
  19. 前記ハードウェアプロセッサはさらに、
    前記連続して識別された1つ以上の疎点を前記複数の画像セグメントの対応するサブセットから抽出することと、
    視覚的同時位置特定マッピング(VSLAM)アルゴリズムを前記連続して識別された1つ以上の疎点に実施し、前記画像捕捉デバイスの位置および配向のうちの少なくとも1つを推定することと
    を行うように構成される、請求項に記載のHMD。
JP2018566492A 2016-06-30 2017-05-17 3次元空間内の姿勢推定 Active JP7011608B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022004329A JP2022051761A (ja) 2016-06-30 2022-01-14 3次元空間内の姿勢推定
JP2023184793A JP2023175052A (ja) 2016-06-30 2023-10-27 3次元空間内の姿勢推定

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662357285P 2016-06-30 2016-06-30
US62/357,285 2016-06-30
PCT/US2017/033139 WO2018004863A1 (en) 2016-06-30 2017-05-17 Estimating pose in 3d space

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022004329A Division JP2022051761A (ja) 2016-06-30 2022-01-14 3次元空間内の姿勢推定

Publications (2)

Publication Number Publication Date
JP2019522851A JP2019522851A (ja) 2019-08-15
JP7011608B2 true JP7011608B2 (ja) 2022-01-26

Family

ID=60785196

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2018566492A Active JP7011608B2 (ja) 2016-06-30 2017-05-17 3次元空間内の姿勢推定
JP2022004329A Pending JP2022051761A (ja) 2016-06-30 2022-01-14 3次元空間内の姿勢推定
JP2023184793A Pending JP2023175052A (ja) 2016-06-30 2023-10-27 3次元空間内の姿勢推定

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2022004329A Pending JP2022051761A (ja) 2016-06-30 2022-01-14 3次元空間内の姿勢推定
JP2023184793A Pending JP2023175052A (ja) 2016-06-30 2023-10-27 3次元空間内の姿勢推定

Country Status (10)

Country Link
US (3) US10163011B2 (ja)
EP (1) EP3479160A4 (ja)
JP (3) JP7011608B2 (ja)
KR (2) KR102296267B1 (ja)
CN (2) CN109643373B (ja)
AU (2) AU2017291131B2 (ja)
CA (1) CA3029541A1 (ja)
IL (2) IL280983B (ja)
NZ (1) NZ749449A (ja)
WO (1) WO2018004863A1 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102296267B1 (ko) 2016-06-30 2021-08-30 매직 립, 인코포레이티드 3d 공간에서의 포즈 추정
TWI695324B (zh) 2017-02-15 2020-06-01 宏達國際電子股份有限公司 影像處理裝置及其方法
US10048753B1 (en) * 2017-04-20 2018-08-14 Robert C. Brooks Perspective or gaze based visual identification and location system
CN111133365B (zh) 2017-05-01 2023-03-31 奇跃公司 内容到空间3d环境的匹配
US10621751B2 (en) * 2017-06-16 2020-04-14 Seiko Epson Corporation Information processing device and computer program
CN108229290B (zh) * 2017-07-26 2021-03-02 北京市商汤科技开发有限公司 视频物体分割方法和装置、电子设备、存储介质
US20190057180A1 (en) * 2017-08-18 2019-02-21 International Business Machines Corporation System and method for design optimization using augmented reality
CA3084149A1 (en) 2017-12-22 2019-06-27 Magic Leap, Inc. Methods and system for managing and displaying virtual content in a mixed reality system
US10970425B2 (en) 2017-12-26 2021-04-06 Seiko Epson Corporation Object detection and tracking
US10453220B1 (en) 2017-12-29 2019-10-22 Perceive Corporation Machine-trained network for misalignment-insensitive depth perception
CN108227929B (zh) * 2018-01-15 2020-12-11 廖卫东 基于bim技术的增强现实放样***及实现方法
US11087563B2 (en) 2018-02-22 2021-08-10 Magic Leap, Inc. Object creation with physical manipulation
KR20200122362A (ko) 2018-02-22 2020-10-27 매직 립, 인코포레이티드 혼합 현실 시스템들을 위한 브라우저
CN112219205B (zh) 2018-06-05 2022-10-25 奇跃公司 内容到空间3d环境的匹配
WO2019246044A1 (en) 2018-06-18 2019-12-26 Magic Leap, Inc. Head-mounted display systems with power saving functionality
EP3807710B1 (en) 2018-06-18 2024-01-17 Magic Leap, Inc. Augmented reality display with frame modulation functionality
US11103763B2 (en) 2018-09-11 2021-08-31 Real Shot Inc. Basketball shooting game using smart glasses
US11141645B2 (en) 2018-09-11 2021-10-12 Real Shot Inc. Athletic ball game using smart glasses
US10764558B2 (en) * 2018-09-27 2020-09-01 Valve Corporation Reduced bandwidth stereo distortion correction for fisheye lenses of head-mounted displays
US11887363B2 (en) * 2018-09-27 2024-01-30 Google Llc Training a deep neural network model to generate rich object-centric embeddings of robotic vision data
US11544320B2 (en) * 2018-11-29 2023-01-03 Entigenlogic Llc Image processing utilizing an entigen construct
CN111489448A (zh) * 2019-01-24 2020-08-04 宏达国际电子股份有限公司 检测真实世界光源的方法、混合实境***及记录介质
US11386623B2 (en) 2019-04-03 2022-07-12 Magic Leap, Inc. Methods, systems, and computer program product for managing and displaying webpages in a virtual three-dimensional space with a mixed reality system
CN112013844B (zh) * 2019-05-31 2022-02-11 北京小米智能科技有限公司 建立室内环境地图的方法及装置
US10916062B1 (en) * 2019-07-15 2021-02-09 Google Llc 6-DoF tracking using visual cues
JP7327083B2 (ja) * 2019-10-30 2023-08-16 富士通株式会社 領域切り出し方法および領域切り出しプログラム
US11367212B2 (en) 2019-11-21 2022-06-21 Ford Global Technologies, Llc Vehicle pose detection with fiducial marker
CN112991414A (zh) * 2021-02-07 2021-06-18 浙江欣奕华智能科技有限公司 Vslam的特征点深度确认装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160035139A1 (en) 2013-03-13 2016-02-04 The University Of North Carolina At Chapel Hill Low latency stabilization for head-worn displays
US20160092735A1 (en) 2014-09-30 2016-03-31 Qualcomm Incorporated Scanning window in hardware for low-power object-detection in images

Family Cites Families (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1073936C (zh) * 1990-04-20 2001-10-31 佳能株式会社 一种记录装置
US6222525B1 (en) 1992-03-05 2001-04-24 Brad A. Armstrong Image controllers with sheet connected sensors
US5670988A (en) 1995-09-05 1997-09-23 Interlink Electronics, Inc. Trigger operated electronic device
CA2478671C (en) 2002-03-13 2011-09-13 Imax Corporation Systems and methods for digitally re-mastering or otherwise modifying motion pictures or other image sequences data
USD514570S1 (en) 2004-06-24 2006-02-07 Microsoft Corporation Region of a fingerprint scanning device with an illuminated ring
US7460730B2 (en) 2005-08-04 2008-12-02 Microsoft Corporation Video registration and image sequence stitching
US8696113B2 (en) 2005-10-07 2014-04-15 Percept Technologies Inc. Enhanced optical and perceptual digital eyewear
US11428937B2 (en) 2005-10-07 2022-08-30 Percept Technologies Enhanced optical and perceptual digital eyewear
US20070081123A1 (en) 2005-10-07 2007-04-12 Lewis Scott W Digital eyewear
US7925049B2 (en) * 2006-08-15 2011-04-12 Sri International Stereo-based visual odometry method and system
NO327279B1 (no) * 2007-05-22 2009-06-02 Metaio Gmbh Kamerapositurestimeringsanordning og- fremgangsmate for foroket virkelighetsavbildning
WO2009078056A1 (ja) * 2007-12-14 2009-06-25 Fujitsu Limited 移動物検知装置及び移動物検知プログラム
JP2011043419A (ja) * 2009-08-21 2011-03-03 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
US8345984B2 (en) 2010-01-28 2013-01-01 Nec Laboratories America, Inc. 3D convolutional neural networks for automatic human action recognition
JP2011192141A (ja) * 2010-03-16 2011-09-29 Sony Corp 動体検出装置と動体検出方法およびプログラム
JP2013141049A (ja) * 2010-03-24 2013-07-18 Hitachi Ltd 世界座標系データベースを利用したサーバ及び端末
JP5694300B2 (ja) * 2010-11-11 2015-04-01 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 画像処理装置、画像処理方法およびプログラム
US9304319B2 (en) 2010-11-18 2016-04-05 Microsoft Technology Licensing, Llc Automatic focus improvement for augmented reality displays
CN102129708A (zh) * 2010-12-10 2011-07-20 北京邮电大学 增强现实环境中快速多层次虚实遮挡处理方法
EP4036630A1 (en) 2010-12-24 2022-08-03 Magic Leap, Inc. Image display system
US10156722B2 (en) 2010-12-24 2018-12-18 Magic Leap, Inc. Methods and systems for displaying stereoscopy with a freeform optical system with addressable focus for virtual and augmented reality
CA3035118C (en) 2011-05-06 2022-01-04 Magic Leap, Inc. Massive simultaneous remote digital presence world
WO2013049861A1 (en) 2011-09-29 2013-04-04 Magic Leap, Inc. Tactile glove for human-computer interaction
US9215293B2 (en) 2011-10-28 2015-12-15 Magic Leap, Inc. System and method for augmented and virtual reality
CA3024054C (en) 2011-11-23 2020-12-29 Magic Leap, Inc. Three dimensional virtual and augmented reality display system
BR112014024941A2 (pt) 2012-04-05 2017-09-19 Magic Leap Inc dispositivo de imagem de campo de visão amplo com capacidade de focalização ativa
US9671566B2 (en) 2012-06-11 2017-06-06 Magic Leap, Inc. Planar waveguide apparatus with diffraction element(s) and system employing same
AU2013274359B2 (en) 2012-06-11 2017-05-25 Magic Leap, Inc. Multiple depth plane three-dimensional display using a wave guide reflector array projector
CN104813218A (zh) 2012-09-11 2015-07-29 奇跃公司 人机工程学的头戴显示设备和光学***
US9996150B2 (en) 2012-12-19 2018-06-12 Qualcomm Incorporated Enabling augmented reality using eye gaze tracking
CA2898283C (en) 2013-01-15 2021-05-11 Magic Leap, Inc. Ultra-high resolution scanning fiber display
US9503653B2 (en) * 2013-02-18 2016-11-22 Tsinghua University Method for determining attitude of star sensor based on rolling shutter imaging
EP4193906A1 (en) 2013-03-11 2023-06-14 Magic Leap, Inc. Method for augmented and virtual reality
US9183746B2 (en) * 2013-03-12 2015-11-10 Xerox Corporation Single camera video-based speed enforcement system with a secondary auxiliary RGB traffic camera
CN105229719B (zh) 2013-03-15 2018-04-27 奇跃公司 显示***和方法
CN103247045B (zh) * 2013-04-18 2015-12-23 上海交通大学 一种从多视图中得到人造场景主方向及图像边缘的方法
US20140323148A1 (en) * 2013-04-30 2014-10-30 Qualcomm Incorporated Wide area localization from slam maps
US9874749B2 (en) * 2013-11-27 2018-01-23 Magic Leap, Inc. Virtual and augmented reality systems and methods
US10262462B2 (en) 2014-04-18 2019-04-16 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US20140380249A1 (en) 2013-06-25 2014-12-25 Apple Inc. Visual recognition of gestures
US9514571B2 (en) * 2013-07-25 2016-12-06 Microsoft Technology Licensing, Llc Late stage reprojection
US9646384B2 (en) 2013-09-11 2017-05-09 Google Technology Holdings LLC 3D feature descriptors with camera pose information
WO2015036056A1 (en) * 2013-09-16 2015-03-19 Metaio Gmbh Method and system for determining a model of at least part of a real object
EP2851868A1 (en) 2013-09-20 2015-03-25 ETH Zurich 3D Reconstruction
US9405972B2 (en) * 2013-09-27 2016-08-02 Qualcomm Incorporated Exterior hybrid photo mapping
EP3058418B1 (en) 2013-10-16 2023-10-04 Magic Leap, Inc. Virtual or augmented reality headsets having adjustable interpupillary distance
KR20240042677A (ko) 2013-11-27 2024-04-02 매직 립, 인코포레이티드 가상 및 증강 현실 시스템들 및 방법들
US9857591B2 (en) 2014-05-30 2018-01-02 Magic Leap, Inc. Methods and system for creating focal planes in virtual and augmented reality
EP3627446B1 (en) 2013-12-19 2021-06-16 Apple Inc. System, method and medium for generating a geometric model
US20150193971A1 (en) * 2014-01-03 2015-07-09 Motorola Mobility Llc Methods and Systems for Generating a Map including Sparse and Dense Mapping Information
WO2015117039A1 (en) 2014-01-31 2015-08-06 Magic Leap, Inc. Multi-focal display system and method
KR102177133B1 (ko) 2014-01-31 2020-11-10 매직 립, 인코포레이티드 멀티-포컬 디스플레이 시스템 및 방법
US10203762B2 (en) 2014-03-11 2019-02-12 Magic Leap, Inc. Methods and systems for creating virtual and augmented reality
WO2015161307A1 (en) * 2014-04-18 2015-10-22 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US9652893B2 (en) 2014-04-29 2017-05-16 Microsoft Technology Licensing, Llc Stabilization plane determination based on gaze location
KR20170046108A (ko) 2014-05-09 2017-04-28 아이플루언스, 인크. 보안 모바일 통신들과 함께 안구 신호들을 이용하는 시스템들 및 방법들
USD759657S1 (en) 2014-05-19 2016-06-21 Microsoft Corporation Connector with illumination region
CA2950432C (en) 2014-05-30 2022-01-04 Magic Leap, Inc. Methods and systems for generating virtual content display with a virtual or augmented reality apparatus
USD752529S1 (en) 2014-06-09 2016-03-29 Comcast Cable Communications, Llc Electronic housing with illuminated region
US10484697B2 (en) * 2014-09-09 2019-11-19 Qualcomm Incorporated Simultaneous localization and mapping for video coding
CN104463842A (zh) * 2014-10-23 2015-03-25 燕山大学 一种基于运动视觉的车祸过程重现方法
GB2532194A (en) * 2014-11-04 2016-05-18 Nokia Technologies Oy A method and an apparatus for automatic segmentation of an object
USD758367S1 (en) 2015-05-14 2016-06-07 Magic Leap, Inc. Virtual reality headset
USD805734S1 (en) 2016-03-04 2017-12-26 Nike, Inc. Shirt
USD794288S1 (en) 2016-03-11 2017-08-15 Nike, Inc. Shoe with illuminable sole light sequence
KR102296267B1 (ko) 2016-06-30 2021-08-30 매직 립, 인코포레이티드 3d 공간에서의 포즈 추정

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160035139A1 (en) 2013-03-13 2016-02-04 The University Of North Carolina At Chapel Hill Low latency stabilization for head-worn displays
US20160092735A1 (en) 2014-09-30 2016-03-31 Qualcomm Incorporated Scanning window in hardware for low-power object-detection in images

Also Published As

Publication number Publication date
IL280983B (en) 2022-07-01
IL263872B (en) 2021-02-28
CN116777994A (zh) 2023-09-19
CN109643373A (zh) 2019-04-16
WO2018004863A1 (en) 2018-01-04
CA3029541A1 (en) 2018-01-04
EP3479160A1 (en) 2019-05-08
US20180005034A1 (en) 2018-01-04
US20220101004A1 (en) 2022-03-31
CN109643373B (zh) 2023-06-27
US11765339B2 (en) 2023-09-19
JP2022051761A (ja) 2022-04-01
US20190087659A1 (en) 2019-03-21
IL263872A (en) 2019-01-31
IL280983A (en) 2021-04-29
US11200420B2 (en) 2021-12-14
NZ749449A (en) 2023-06-30
AU2022204584A1 (en) 2022-07-21
US10163011B2 (en) 2018-12-25
JP2019522851A (ja) 2019-08-15
AU2017291131B2 (en) 2022-03-31
JP2023175052A (ja) 2023-12-08
EP3479160A4 (en) 2020-03-25
KR20210107185A (ko) 2021-08-31
KR102296267B1 (ko) 2021-08-30
KR20190026762A (ko) 2019-03-13
AU2017291131A1 (en) 2019-01-17

Similar Documents

Publication Publication Date Title
JP7011608B2 (ja) 3次元空間内の姿勢推定
AU2021240222B2 (en) Eye pose identification using eye features
US10521661B2 (en) Detailed eye shape model for robust biometric applications
JP6456347B2 (ja) 平面固有の特徴のターゲットのinsitu生成
CN109298629A (zh) 用于为自主和非自主位置意识提供鲁棒跟踪的容错
US10838515B1 (en) Tracking using controller cameras
JP2016099982A (ja) 行動認識装置、行動学習装置、方法、及びプログラム
KR20160046495A (ko) 외부 물체의 움직임과 연관된 이벤트에 응답하여 화면을 디스플레이하는 장치 및 방법
CN105165004A (zh) 摄影***
CN110910426A (zh) 动作过程和动作趋势识别方法、存储介质和电子装置
US20230047470A1 (en) Information processing apparatus, information processing method, and computer-readable recording medium
JP2017227687A (ja) カメラアセンブリ、そのカメラアセンブリを用いる手指形状検出システム、そのカメラアセンブリを用いる手指形状検出方法、その検出方法を実施するプログラム、及び、そのプログラムの記憶媒体
CN111754543A (zh) 图像处理方法、装置及***
WO2023113471A1 (ko) 복수의 카메라를 이용하여 촬영된 객체의 3차원 골격 데이터를 획득하는 전자 장치 및 방법
US20230120092A1 (en) Information processing device and information processing method
CA3143843A1 (en) Systems and methods for face and object tracking and monitoring
CN114332448A (zh) 基于稀疏点云的平面拓展方法及其***和电子设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200515

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210707

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211006

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220114

R150 Certificate of patent or registration of utility model

Ref document number: 7011608

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150