TW202336563A - 用於經由人工實境裝置和實體裝置互動之方法和系統 - Google Patents

用於經由人工實境裝置和實體裝置互動之方法和系統 Download PDF

Info

Publication number
TW202336563A
TW202336563A TW111140696A TW111140696A TW202336563A TW 202336563 A TW202336563 A TW 202336563A TW 111140696 A TW111140696 A TW 111140696A TW 111140696 A TW111140696 A TW 111140696A TW 202336563 A TW202336563 A TW 202336563A
Authority
TW
Taiwan
Prior art keywords
user
physical
physical device
gaze
devices
Prior art date
Application number
TW111140696A
Other languages
English (en)
Inventor
丹尼爾 米勒
納迪 倫佐 迪
理查 安德魯 內柯姆
Original Assignee
美商元平台技術有限公司
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 美商元平台技術有限公司 filed Critical 美商元平台技術有限公司
Publication of TW202336563A publication Critical patent/TW202336563A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/0093Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/014Head-up displays characterised by optical features comprising information/image processing systems
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B2027/0178Eyeglass type

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

一種人工實境(AR)裝置捕捉穿戴該AR裝置之一使用者周圍的一實體環境之一影像。存取對應於該實體環境之一三維地圖。接著,基於在該影像中捕捉之實體物件的第一特徵及該三維地圖中之物件表示的第二特徵而判定該AR裝置相對於該三維地圖之一位姿。該裝置使用一眼球追蹤器判定該使用者之一眼球的一凝視。基於該凝視及該位姿,在該三維地圖中計算一感興趣區。識別該三維地圖之該感興趣區中的實體裝置之表示。該裝置判定該使用者與一實體裝置互動之一意圖。基於所判定意圖而向該實體裝置發佈一命令。

Description

用於經由人工實境裝置和實體裝置互動之方法和系統
本發明大體上係關於一種人工實境(artificial-reality;AR)系統,其能夠在三維(three-dimensional;3D)地圖中表示實體環境以用於在三維地圖中識別實體裝置/物件且實現使用者使用眼球追蹤及眼球凝視技術與實體裝置互動之意圖。 優先權
本申請案根據35 U.S.C. § 119(e)主張2021年10月26日申請之美國臨時專利申請案第63/271,804號及2022年10月20日申請之美國非臨時專利申請案第18/048,411號的權益,該等申請案以引用之方式併入本文中。
人工實境為在呈現給一或多個檢視者之前已以某一方式調整的實境形式,其可包括例如虛擬實境(virtual reality;VR)、擴增實境、混合實境(mixed reality;MR)、混雜實境或其某一組合及/或衍生物。人工實境為屬於虛擬實境領域中之一者的技術。其組合虛擬環境與檢視者在某種意義上感覺到的真實環境組合,且藉由使用電腦技術感覺到如同虛擬環境存現於原始真實環境中。此人工實境為有利的,此係因為不同於僅針對虛擬空間及物件之現有虛擬實境,其可藉由基於真實世界而合成虛擬物件來補充僅在真實世界中難以獲得的額外資訊。具體而言,真實世界環境內檢視者看到且與之互動的真實物件中之一些或全部由諸如頭戴式顯示器(head-mounted display;HMD)裝置、行動裝置、投影系統或另一計算裝置之計算系統模擬。
典型地,真實世界環境中可被檢視者檢視到且與之互動的各真實物件由例如HMD裝置之計算裝置在三維(3D)地圖中表示,且各物件在3D地圖中皆表示為「虛擬物件」。以此方式,使得檢視者能夠以與其在真實世界環境內互動期間體驗的相同體驗來與各真實物件互動。各虛擬物件可在3D地圖中存取,且使得檢視者能夠藉由使用各種互動介面與虛擬物件互動,該等介面包括控制器、語音互動/命令、滑鼠裝置、鍵盤/小鍵盤裝置、雷射指標裝置、鍵盤、遊戲控制器、搖桿、手寫筆、揚聲器及方向盤及/或示意動作等。舉例而言,檢視者可與虛擬物件執行各種互動動作,該等動作可包括選擇、移動、旋轉、調整大小、致動控制、改變色彩或面板(skin)、定義在真實或虛擬物件之間的互動、設定作用於虛擬物件之虛擬力,或檢視者可想像之對物件之任何其他動作或改變。在一些系統中,使用者亦可與獨立於控制人工實境環境之電腦系統而存現的真實物件互動。舉例而言,檢視者可選擇真實物件且添加虛擬覆疊以改變物件之色彩或向使用者呈現物件之某一其他方式,從而使其影響其他虛擬物件等。如本文中所使用,除非另外指定,否則「物件」可為真實或虛擬物件。
習知地,存在存取虛擬物件且與虛擬物件互動之數種方式。該等方式中之一者為使用互動介面中之任一者,例如控制器,以特定地指向模擬環境中之特定物件,且選擇特定互動動作以對特定所選擇物件執行。此方式需要檢視者始終將控制器與計算裝置連接,亦即,與HMD連接,且因此涵蓋麻煩的操作來維持與HMD之連接性以用於執行複雜的互動操作。
存取虛擬物件且與虛擬物件互動之另一方式為利用特定物件之相關聯識別名(ID)來識別特定物件,例如智慧型裝置。典型地,在真實世界環境中,為智慧型家居平台之部分從而形成物聯網的諸如智慧型裝置、智慧型電器、智慧型燈泡等之各物件皆需要與不同的識別名相關聯,該識別名不同於其他裝置之識別名。舉例而言,考慮由3個智慧型燈泡及2個智慧型插頭組成之智慧型家居平台,且該等智慧型燈泡及智慧型插頭各自與經由網路連接之唯一ID相關聯。識別3個智慧型燈泡及2個智慧型插頭之除其相關聯ID以外的一種更直觀方式為使用產品ID或唯一別名,例如「樓下燈」、「客廳」開或「房間1」暗等。一旦指派了別名,裝置之各別名連同裝置之位置皆為靜態的。在同一實例中,若智慧型插頭中之一者自樓下移除且替換至樓上的插座中,則智慧型插頭仍保留別名「樓下燈」。此涉及檢視者或使用者在其環境中與IoT裝置互動的困難任務,此係因為用準確的音節完美地記住各識別碼或別名為麻煩的,且在此情境中,使用者之命令可能無法清楚地識別使用者當前感興趣之IoT裝置或物件中之哪一者。另外,需要檢視者/使用者記住各裝置之位置,例如各裝置當前安裝或位於何處。因此,需要一種系統及方法,其用於使用眼球追蹤及眼球凝視技術結合經由環境的以物件為中心之3D地圖的物件識別來識別實體物件,以用於與實體物件互動,從而消除使用其ID或別名的需要。
本文中所揭示之具體實例僅為實例,且本發明之範圍不限於該等具體實例。特定具體實例可包括本文中所揭示之具體實例的組件、元件、特徵、功能、操作或步驟中之全部、一些或無一者。根據本發明之具體實例尤其在有關於一種方法、一種儲存媒體、一種系統及一種電腦程式產品之所附申請專利範圍中揭示,其中在一個請求項類別中提及之任何特徵(例如,方法)亦可在另一請求項類別(例如,系統)中主張。僅出於形式原因而選擇所附申請專利範圍中之反向相依性或參考。然而,亦可主張由對任何前述請求項之有意反向提及(特定而言,多重相依性)產生的任何主題,使得請求項及其特徵之任何組合被揭示且可無關於在所附申請專利範圍中選擇的相依性而主張。可主張之主題不僅包含如所附申請專利範圍中闡述之特徵的組合而且包含申請專利範圍中之特徵的任何其他組合,其中申請專利範圍中所提及之各特徵可與申請專利範圍中之任何其他特徵或其他特徵之組合進行組合。此外,本文中所描述或描繪之具體實例及特徵中之任一者可在獨立請求項中及/或在與本文中所描述或描繪之任何具體實例或特徵或與所附申請專利範圍之特徵中之任一者的任何組合中主張。
本發明之具體實例提供使得能夠判定使用者與實體環境中之實體裝置互動之意圖的人工實境(AR)裝置。穿戴例如頭戴式顯示裝置(HMD)、肌電可穿戴式裝置(EMG)、平視顯示裝置(HUD)、具有AR特徵之智慧型眼鏡等的AR裝置中之任一者的使用者即時動態地捕捉實體環境之實時串流及影像,該等實時串流及影像被轉換成三維(3D)地圖,例如以物件為中心之三維地圖表示。使用以物件為中心之3D地圖表示,偵測使用者在實體環境之特定感興趣區域或區中的位置,且使用者位置之偵測取決於在三維地圖中判定AR裝置之6自由度(Degrees of Freedom;DOF)位姿。AR裝置之6 DOF位姿可基於識別在針對使用者所偵測之特定感興趣區域或區中處於使用者之視線內的所有實體物件而偵測。舉例而言,在依據AR裝置之不同位姿而在實體環境中定位使用者之後,偵測一或多個實體物件,例如具有智慧型特徵之智慧型物件,包括但不限於智慧型電視、智慧型燈泡、LED及除智慧型裝置以外的其他特定實體物件,如椅子、桌子、長沙發、邊桌等。實體環境中存現的各實體物件係藉由評估各種實體及語義特徵來識別,該等特徵包括各實體物件之表面屬性及資料點。評估與各實體物件相關聯之各種實體及語義特徵、表面屬性以及資料點,針對彼等實體物件中之各者在三維地圖中產生物件表示。作為非限制性具體實例,物件表示包括三維地圖中之物件向量、限界框及完美像素。當使用者使用AR裝置中之任一者提供與經由三維地圖存取與實體環境中之任一物件互動的意圖之可能性相關聯的指令時,判定眼球對特定物件之凝視。眼球凝視即時判定使用者感興趣之區,其識別使用者正查看的實體裝置。使用者與實體裝置互動之意圖係基於自使用者接收到之指令以及上下文信號而判定,例如當天時間、先前儲存之歷史資料、先前判定之意圖、過去使用者行為、其他預先儲存之使用者意圖、對應於實體裝置之預測意圖。以此方式,使用者使用世界鎖定之眼球凝視及眼球追蹤技術與彼特定物件或裝置介接,而不必利用彼特定裝置之別名或ID來提及該裝置,從而克服習知方法之缺陷。另外,使用者可以更直觀方式即時動態地控制實體物件或裝置中之任一者且與實體物件或裝置中之任一者互動,而無需使用物件或裝置之ID或別名或位置資料。經由3D表示且經由眼球凝視技術將使用者與實體物件或裝置介接,此使得使用者能夠執行任何種類之使用者命令,例如頭部示意動作、手部示意動作、語音示意動作、手指敲擊、拖放移動、手指捏合、旋轉移動、綻開示意動作、調整大小、選擇、移動、自然語言查詢及任何其他種類之AR相關命令。舉例而言,TV單元及智慧型插頭可能與使用者之凝視在相同方向上。儘管TV及智慧型插頭兩者在相同方向上,但使用話語至文字辨識根據使用者意圖判定僅與智慧型插頭互動。舉例而言,在提及智慧型插頭時,僅字語「打開」便能起作用,而不必在話語至文字辨識中藉由語音利用智慧型插頭之ID或別名來提及智慧型插頭,此係因為偵測到眼球追蹤及眼球凝視在彼智慧型插頭而非TV單元處。在此情境下,若使用者正觀察或眼球凝視智慧型插頭,則相較於其正觀察TV時,儘管未直接藉由語音提及彼等物件,但使用者可具有不同效應。
特定具體實例揭示儲存於計算系統之資料儲存庫中的機器學習模型。使用命令之經更新輸出訓練機器學習模型,該輸出係使用眼球凝視技術與實體裝置或物件互動而產生。特定而言,在過去發生的使用者與各種實體物件或裝置之各種先前互動的輸出用作訓練機器學習模型之訓練資料。以此方式,機器學習模型改善以下操作之效率:預測使用者與實體物件或裝置互動之意圖的種類、基於使用者先前在過去發佈之命令且基於其他因素(諸如,使用者之前已進行互動或使用者可能在目前時間進行互動的當天時間)而偵測到的命令之種類、自先前動作或意圖習得的使用者行為;或預測在目前時間之使用者行為、使用者及實體物件及/或裝置兩者之當前狀態及歷史狀態、使用者互動意圖之歷史上下文語義、在目前時間、過去時間或未來時間之天氣預報資訊、針對各實體物件或裝置而設定的預設設定、與各實體物件及/或裝置相關聯之優先級分數、上述因素中之各者的次數,以及對與各種實體物件及/或裝置互動特定的其他相關因素。使用使用者之各次互動的所得輸出連同維持實體環境之各區的三維地圖來訓練機器學習模型。另外,亦用使用者之輸入更新機器學習模型。以此方式,經訓練機器學習模型有助於減少潛在延時及效能問題,同時提供對在目前時間或隨著時間準確地預測之未來時間的各使用者意圖之快速且準確回應,以用於與各種實體物件及/或裝置互動。
特定具體實例揭示一種分散式網路連接系統,其包含與AR裝置及若干物聯網(Internet of things;IoT)裝置相關聯之計算系統。該計算系統經由網路環境與AR裝置、IoT裝置及其他實體裝置通信,使得使用者能夠控制各種實體裝置且與各種實體裝置互動。除發佈互動命令以外,計算系統亦可結合利用機器學習模型來利用三維地圖、眼球凝視技術以使得使用者能夠存取動態資訊,包括所有實體物件或裝置之實體、上下文及語義資訊。以此方式,計算系統經由網路連接環境經由使用AR裝置及計算系統來增強使用者之AR體驗。
特定具體實例揭示一種用於基於判定以下各者而與實體物件及/或裝置互動的程序:1)使用者在目前時間之位置;2)存在於使用者在目前時間之位置周圍或附近的實體環境之區中的物件及/或裝置;3)使用者之位置周圍或附近的使用者及物件及/或裝置兩者之當前狀態。當人工實境系統之使用者例如藉由在特定環境或房屋或建築物等之房間或區域或樓層或分區中移動而穿越整個實體環境時,人工實境系統必須以低延時提供同步、連續且更新之特徵圖,以便在使用者進入房間或區域或樓層或分區時,在存取區域之三維地圖時為使用者提供高品質、沉浸式、快速、無縫且令人愉快的體驗,同時減少互動所需之潛在延時及效能問題。特定而言,該程序包括接收使用者正進入或所在之實體環境的影像之實時串流。針對使用者所位於的當前感興趣區或接近當前感興趣區的使用者位置產生三維地圖。三維地圖可在本地端儲存(例如,儲存於使用者相關裝置上),或經由雲端或集線器儲存於計算系統中,或儲存於經由網路連接環境連接之裝置中。基於三維地圖及使用者位置定位及識別實體裝置之一或多個表示。特定而言,相對於位置使用者之視場中的實體物件經識別及表示為三維地圖中之一或多個表示。基於使用者在當前感興趣區中之所偵測位置而判定用於即時動態地提供與一或多個實體裝置之互動的使用者意圖。藉由使用經訓練機器學習模型及/或明確指令中之任一者實現使用者意圖,該等指令包括來自使用者之互動命令及/或用於此互動之預設命令。更新及儲存在目前時間即時執行之各次互動以重新訓練與AR裝置相關聯之機器學習模型及資料儲存庫。
本文中所揭示之具體實例僅為實例,且本發明之範圍不限於該等具體實例。特定具體實例可包括本文中所揭示之具體實例的組件、元件、特徵、功能、操作或步驟中之全部、一些或無一者。根據本發明之具體實例尤其在有關於一種方法、一種儲存媒體、一種系統及一種電腦程式產品之所附申請專利範圍中揭示,其中在一個請求項類別中提及之任何特徵(例如,方法)亦可在另一請求項類別(例如,系統)中主張。僅出於形式原因而選擇所附申請專利範圍中之反向相依性或參考。然而,亦可主張由對任何前述請求項之有意反向提及(特定而言,多重相依性)產生的任何主題,使得請求項及其特徵之任何組合被揭示且可無關於在所附申請專利範圍中選擇的相依性而主張。可主張之主題不僅包含如所附申請專利範圍中闡述之特徵的組合而且包含申請專利範圍中之特徵的任何其他組合,其中申請專利範圍中所提及之各特徵可與申請專利範圍中之任何其他特徵或其他特徵之組合進行組合。此外,本文中所描述或描繪之具體實例及特徵中之任一者可在獨立請求項中及/或在與本文中所描述或描繪之任何具體實例或特徵或與所附申請專利範圍之特徵中之任一者的任何組合中主張。
在以下描述中,出於解釋之目的,闡述眾多特定細節以便提供對本發明之透徹理解。然而,將顯而易見,本發明可在無此等特定細節的情況下進行實踐。在其他情況下,以方塊圖形式展示熟知結構及裝置以便避免不必要地混淆本發明。
本發明之文本結合附圖意欲以由本發明所屬技術領域中具有通常知識者用以關於待程式化之功能、輸入、變換、輸出及其他程式化態樣彼此通信的相同詳細程度、以散文形式陳述程式化電腦以實施主張發明所必要的演算法。亦即,本發明中所闡述之詳細程度與所屬技術領域中具有通常知識者通常用以彼此通信來表達待程式化之演算法或程式之結構及函式以實施本文中所主張之發明的詳細程度相同。
1A示出系統100,其以通信方式與人工實境(AR)裝置(AR)、一或多個裝置110a、110b、110c、110d、…、110n、通信網路112及計算系統114連接,該計算系統具有可實施一個具體實例之使用情境及主要功能元件。
在一具體實例中,系統100包含一或多個計算裝置處至少部分地由硬體實施的組件,諸如執行儲存於一或多個記憶體中之所儲存程式指令以用於執行本文中所描述之功能的一或多個硬體處理器。換言之,在各種具體實例中,本文中所描述之所有功能意欲指示在專用電腦或通用電腦中使用程式化執行的操作。 1A僅示出經組態以執行本文中所描述之程式化的組件之許多可能配置中之一者。其他配置可包括更少或不同組件,且在組件之間的工作劃分可取決於配置而變化。
1A之實例中,分散式系統100包含經由資料通信網路112通信耦接至推薦系統112的人工實境(AR)裝置102及一或多個裝置110a至110n。在特定具體實例中,系統100可為電子系統或電子裝置中之任一者,包括硬體、軟體或嵌入式邏輯組件或兩個或多於兩個此類組件之組合,且能夠進行由系統100實施或支援之適當功能性。作為實例而非作為限制,系統100可包括電腦系統,諸如桌上型電腦、筆記型電腦或膝上型電腦、迷你筆記型電腦、平板電腦、電子書閱讀器、GPS裝置、攝影機、個人數位助理(personal digital assistant;PDA)、手持型電子裝置、蜂巢式電話、智慧型手機、擴增/虛擬實境裝置、混合實境(MR)裝置、其他合適的電子裝置,或其任何合適組合。在一具體實例中,系統100可包含經程式化以實施電腦可執行指令之一或多個處理器,該等電腦可執行指令儲存於系統100之一或多個記憶體或記憶體單元或資料儲存庫中。在一具體實例中,系統100之一或多個處理器可經組態以實施人工實境(AR)裝置102、裝置110a、110b、…、110n中之任一者及計算系統114的每一個功能性。特定而言,系統100之一或多個處理器可經組態以操作人工實境裝置102中之任一者,包括擴增實境裝置功能性、虛擬實境(VR)裝置功能性、混合實境(MR)裝置功能性,人工實境裝置經組態以即時地掃描及捕捉與實體環境中之任一者相關的實時影像串流及串流感測器資料。系統100之一或多個處理器可經組態以執行及實施與以下操作相關的功能及操作中之任一者:以虛擬環境之形式表示實體環境;進行一或多種技術,包括但不限於同時定位及地圖構建(simultaneous localizing and mapping;SLAM)技術、眼球追蹤及眼球凝視技術、裝置或物件追蹤操作、多自由度(DOF)偵測技術,以判定裝置位姿或使用者凝視;表示環境的以物件為中心之三維(3D)地圖等,以用於使得環境中之使用者能夠存取彼環境中存現的一或多個裝置110(110a、110b、…、100n)及/或不同於一或多個裝置110之一或多個物件中之任一者且與其進行互動。在特定具體實例中,系統100可經進一步組態以偵測使用者經由一或多個命令與環境中之裝置或物件中之任一者互動的意圖,該一或多個命令包括但不限於任何頭部示意動作、手部示意動作、語音示意動作、手指敲擊、拖放移動、手指捏合、旋轉移動、綻開示意動作、調整大小、選擇、移動、自然語言查詢或命令,及任何其他種類之AR相關互動命令。在一具體實例中,系統100可進一步包括圖形使用者介面(graphical user interface;GUI)或任何顯示單元,以使得使用者能夠檢視如何向使用者提供對一或多個裝置110(110a、110b、…、110n)或不同於一或多個裝置110之一或多個物件中之任一者的存取及與其進行互動,且檢視實施此類互動之所得輸出。
在特定具體實例中,系統100包括鏈路134及資料通信網路112,其使得人工實境(AR)裝置102、一或多個裝置110a、…、110n及計算系統114中之各者能夠彼此通信及交互操作,從而使得使用者能夠存取實體環境中之一或多個裝置110a、…、110n及一或多個物件中之任一者且與其進行互動。在特定具體實例中,鏈路134可將人工實境(AR)裝置102、一或多個裝置110a、…、110n及計算系統114中之各者彼此連接至資料通信網路112或連接至彼此。本發明涵蓋任何合適的鏈路134。在特定具體實例中,一或多個鏈路134包括一或多個有線(諸如,數位用戶線路(Digital Subscriber Line;DSL)或纜線資料服務介面規格(Data Over Cable Service Interface Specification;DOCSIS))、無線(諸如,Wi-Fi或微波存取全球互通(Worldwide Interoperability for Microwave Access;WiMAX))或光學(諸如,同步光學網路(Synchronous Optical Network;SONET)或同步數位階層(Synchronous Digital Hierarchy;SDH))鏈路。在特定具體實例中,一或多個鏈路134各自包括特用網路、企業內部網路、企業間網路、VPN、LAN、WLAN、WAN、WWAN、MAN、網際網路之一部分、PSTN之一部分、基於蜂巢技術之網路、基於衛星通信技術之網路、另一鏈路134,或兩個或多於兩個此類鏈路134之組合。在整個系統100中,鏈路134不必為相同的。一或多個第一鏈路134可在一或多個方面不同於一或多個第二鏈路134。
在特定具體實例中,包括資料通信網路112之系統100可包括任何合適的網路112。作為實例而非作為限制,網路112之一或多個部分可包括特用網路、企業內部網路、企業間網路、虛擬私人網路(virtual private network;VPN)、區域網路(local area network;LAN)、無線LAN(wireless LAN;WLAN)、廣域網路(wide area network;WAN)、無線WAN(wireless WAN;WWAN)、都會區域網路(metropolitan area network;MAN)、網際網路或網際網路之一部分、公眾交換電話網路(Public Switched Telephone Network;PSTN)之一部分、蜂巢式電話網路,或此等網路中之兩者或多於兩者之組合。網路112可包括一或多個網路112。在一具體實例中,資料通信網路112可藉由任何媒體或機制實施,該媒體或機制提供至或自AR裝置102、一或多個裝置110a、…、110n及計算系統114之資料及資訊的交換。在一實例中,資料及資訊交換包括但不限於在各種使用者電腦與包括推薦系統112之系統之間的實時串流、實時狀態及即時資料,包括三維(3D)地圖(例如,以物件為中心的地圖)、眼球追蹤資料、眼球凝視資料、與眼球追蹤及眼球凝視資料相關聯之向量資料、裝置及物件識別資訊,及/或使用者或AR裝置之位姿的多DOF(例如,6 DOF)、使用者之一或多個指令,及具有存取及互動之使用者意圖的一或多個命令。
在特定具體實例中,系統100為使用者提供與AR裝置102、一或多個裝置110a、…、110n及計算系統114中之各者的通信及互動,以用於經由應用程式設計介面(API)或其他通信通道將存取、指令及命令提供至AR裝置102、一或多個裝置110a、…、110、一或多個物件及計算系統114中之任一者或自其提供存取、指令及命令。使用者經由經AR裝置102存取以物件為中心之三維(3D)地圖來存取、互動及/或操作實體環境之各種裝置或物件的指令及命令可基於經組態以用於對應裝置之裝置特定應用程式協定及屬性而執行。
在特定具體實例中,系統100以及AR裝置102、一或多個裝置110a、…、110n及計算系統114中之各者可包括網頁瀏覽器,且可具有一或多個附加元件(add-on)、外掛程式或其他擴充。AR裝置102及/或一或多個裝置110a、…、110n及/或計算系統114處的使用者可鍵入統一資源定位符(Uniform Resource Locator;URL)或將網頁瀏覽器導向特定伺服器(諸如,伺服器,或與第三方系統相關聯之伺服器)之其他位址,且網頁瀏覽器可產生超文字傳送協定(Hyper Text Transfer Protocol;HTTP)請求並將HTTP請求傳達至伺服器或集線器。伺服器可接受HTTP請求且回應於HTTP請求而將一或多個超文字標記語言(Hyper Text Markup Language;HTML)檔案傳達至AR裝置102、一或多個裝置110a、…、110n、計算系統114及系統100中之各者。基於來自伺服器之HTML檔案而顯現網頁以供呈現給使用者,意圖為提供存取及發佈命令以用於與包括AR裝置102之一或多個裝置110、…、110n以及計算系統114互動。本發明涵蓋任何合適的網頁檔案。作為實例而非作為限制,根據特定需求,網頁可自HTML檔案、可延伸超文字標記語言(Extensible Hyper Text Markup Language;XHTML)檔案或可延伸標記語言(Extensible Markup Language;XML)檔案顯現。此類頁面亦可執行指令碼、標記語言與指令碼之組合,及其類似者。本文中,在適當時,對網頁之提及涵蓋一或多個對應的網頁檔案(瀏覽器可使用該等網頁檔案以顯現網頁),且反之亦然。
在特定具體實例中,人工實境(AR)裝置102可為頭戴式顯示裝置(HMD)、肌電可穿戴式裝置(EMG)、平視顯示裝置(HUD)、AR眼鏡(智慧型眼鏡)、智慧型手機AR(行動AR)、系留式AR頭戴耳機及具有AR特徵之任何其他裝置。人工實境係在呈現給使用者之前已以某一方式調整之實境形式,其可包括例如虛擬實境(VR)、擴增實境(augmented reality;AR)、混合實境(MR)、混雜實境或其某一組合及/或衍生物。人工實境內容可包括完全產生之內容或與所捕捉內容(例如,真實世界相片或影像或實時串流、狀態)組合的所產生內容。人工實境內容可包括視訊、音訊、觸覺反饋或其某一組合,其中之任一者可在單個通道或多個通道(諸如,向使用者及/或檢視者產生三維效應之立體聲視訊)中呈現。人工實境可與例如用於在人工實境中創建內容及/或用於人工實境中(例如,在人工實境中執行活動)之應用程式、產品、配件、服務或其某一組合相關聯。提供人工實境內容之人工實境系統可實施於各種平台上,例如連接至主機電腦系統或計算系統114之頭戴式顯示器(HMD)、獨立式HMD、智慧型裝置110a、行動裝置110b,或裝置110a、…、110n中之任一者,或計算系統114,或能夠將人工實境內容提供至一或多個使用者及/或檢視者之任何其他硬體平台。
在特定具體實例中,AR裝置102可包含一或多個處理器104、用於儲存待在一或多個處理器104上執行之電腦可讀取指令的記憶體106,及顯示器108。記憶體106亦可儲存待在一或多個處理器104上執行之其他類型之資料。AR裝置102亦可包含一或多個感測器、物件追蹤單元、眼球追蹤單元、RGB單元、同時定位及地圖構建(SLAM)單元、慣性量測單元(inertial measurement unit;IMU)、眼球凝視單元、耳機、全球定位系統(Global Positioning System;GPS)接收器、電源供應器、有線及/或無線介面、I/O組件,以上所有者皆與AR裝置102之處理器104通信。在一具體實例中,一或多個感測器可包括但不限於影像感測器、生物測定感測器、運動及定向感測器,以及位置感測器。影像感測器,例如攝影機,可為頭戴式的,如 1B中所展示。在一非限制性具體實例中,包含攝影機之影像感測器可包括數位靜態攝影機、數位移動影像或視訊攝影機。影像感測器經組態以捕捉使用者周圍及所處之實體環境的影像或實時串流。在一具體實例中,影像感測器即時地捕捉實體環境之影像及/或實時串流,且向使用者提供在AR裝置102之顯示器108上檢視作為虛擬物件或混合實境物件之所有實體物件的以物件為中心之3D地圖表示,如 1A中所展示。在特定具體實例中,影像感測器可包括基於實體空間或房間之感測器。舉例而言,AR裝置102不僅自使用者之個別頭戴式顯示器提取關於實體環境之房間、分區、範圍、區域及實體空間的資訊,而且可使用基於房間之感測器來收集該資訊。基於空間或房間之感測器偵測及/或收集來自實體環境之資訊,例如空間,諸如辦公室房間、客廳、媒體室、廚房或其他實體空間。在如 1B中所展示之一或多個具體實例中,影像感測器可為除形成由使用者穿戴之個人AR裝置之部分的影像感測器以外的影像感測器。基於空間或房間之感測器亦可包括一或多個音訊感測器或換能器,例如全向或定向麥克風。音訊感測器或換能器可偵測來自例如一或多個使用者或周圍實體環境中之其他人員的有生命物件之聲音。音訊感測器或換能器可偵測來自例如腳踏開關(footstep)、電視、立體聲系統、收音機或其他電器之無生命物件的聲音。生物測定感測器亦可包括偵測表情,例如手部表情、面部表情、聲音表情、身體示意動作或眼球追蹤。另外,生物測定感測器可涉及量測生物信號,例如血壓、心率、體溫、汗液或腦波,其識別人員,包括但不限於語音辨識、視網膜辨識、面部辨識、指紋辨識或基於腦電圖之辨識等。運動及定向感測器可包括例如加速度計之加速度感測器、重力感測器、如陀螺儀之旋轉感測器,及/或其類似者。位置感測器可包括定向感測器組件(例如,全球定位系統(GPS)接收器)、高度感測器(例如,高度計或偵測可導出高度之氣壓的氣壓計)、定向感測器組件(例如,磁力計)、用以識別使用者在實體環境之特定分區或區或空間中之位置的地理位置感測器等。舉例而言,一或多個感測器亦可包括:照明感測器,例如光度計;溫度感測器,例如偵測周圍溫度之一或多個溫度計;濕度感測器;壓力感測器,如氣壓計;聲學感測器組件;偵測背景雜訊之一或多個麥克風;近接感測器組件;偵測附近物件之紅外感測器;氣體感測器,例如用以偵測有害氣體之濃度以確保安全或量測大氣中之污染物的氣體偵測感測器;或可提供對應於周圍實體環境之指示、量測或信號的其他感測器。應瞭解,僅示出一些感測器,且一些具體實例可包含更少或更多感測器及/或子感測器單元,且圖示不應被視為限制性的。
在特定具體實例中,與即時物件追蹤、即時眼球追蹤、即時RGB、即時同時定位及地圖構建(SLAM)單元、即時慣性量測單元(IMU)、即時眼球凝視整合的AR裝置102使得能夠顯現實體環境或實體環境中之感興趣區的當前即時視覺狀態,例如房屋之生活區域/區的視覺狀態。因此,AR裝置102使得使用者能夠在諸如EMG可穿戴式裝置之人工實境中體驗低摩擦單點選介面。在一具體實例中,包括一或多個裝置110a、…、110n及一或多個物件的實體物件中之各者存現或存在於實體環境之感興趣區中,藉由AR裝置102顯現為以物件為中心之3D地圖中的虛擬實境或混合實境表示。藉由使用AR裝置102之SLAM單元、IMU、眼球追蹤單元及眼球凝視單元來偵測包括一或多個裝置110a、…、110n及一或多個物件的實體物件中之各者,連同定位使用者在實體環境中之位置。在一具體實例中,基於AR裝置102之多DOF位姿的評估來偵測包括一或多個裝置110a、…、110n及一或多個物件的實體物件中之各者,連同定位使用者在實體環境中之位置。多DOF可包括AR裝置之6 DOF位姿以偵測實體物件,且將其表示為以物件為中心之3D地圖表示,其中各實體物件表示為虛擬或混合實境物件及裝置。另外,AR裝置102可使用一或多個裝置110a、…、110n及計算系統114中之任一者,以發佈與存取任何實體物件且與任何實體物件互動之意圖相關聯的指令及命令,該等實體物件包括一或多個裝置110a、…、110n、一或多個物件及計算系統114。舉例而言,當經由平板電腦及/或環形點選器發佈指令及命令時,可偵測來自使用者之指令及命令。使用者可將環戴於手指上,且點選其會啟用與實體環境中之對應裝置110a、…、110n及/或一或多個物件的無線介面。此點選亦可使用EMG單點選來實現。在一具體實例中,當使用者經由與AR裝置102相關聯之特定目前先進技術控制器而與AR裝置102相關聯時,可偵測來自使用者之指令及命令。在特定具體實例中,藉由評估來自使用者之指令及命令的多DOF執行個體來感測指令及命令之此發佈。舉例而言,使用者輸入一些或所有可能的平移(例如,左/右、前/後或上/下)或旋轉(例如,偏轉、俯仰或橫搖)。支援移動之多DOF可被稱作3DOF,而支援平移及旋轉之多DOF可被稱作6DOF。在一些狀況下,使用者可使用手指(例如,拇指)在觸敏式輸入裝置上按壓或滑移,以將輸入提供至AR裝置102及/或裝置110a、…、110n中之任一者及/或計算系統114。
在特定具體實例中,AR裝置102可組態有各種應用程式,該等應用程式特定於使得使用者能夠存取系統100之各種一或多個裝置110a、…、110n、一或多個物件及計算系統114且與其進行互動。
在特定具體實例中,一或多個裝置110a、…、110n及計算系統114包含任何種類之電子裝置,例如而非作為限制:桌上型電腦、膝上型電腦、平板電腦、行動電話、筆記型電腦、迷你筆記型電腦、工作站、電子書閱讀器、GPS裝置、攝影機、個人數位助理(PDA)、手持型電子裝置、蜂巢式電話、智慧型手機、擴增/虛擬實境裝置、個人電腦(personal computer;PC)、娛樂裝置、機上盒、電視(TV)、行動遊戲機、智慧型手錶、數位腕帶、遊戲控制台、諸如超級本之攜帶型電腦、一體機、TV、網際網路TV、顯示裝置、家用電器、恆溫器、電冰箱、洗衣機、洗碗機、空氣調節器、銜接站、遊戲機、數位攝影機、手錶、互動式表面、3D顯示器、娛樂裝置、揚聲器、智慧型家居、IoT裝置、IoT模組、智慧型窗、智慧型眼鏡、智慧型燈泡、廚房電器、媒體播放器或媒體系統、基於定向之裝置;及行動遊戲機、微型或嵌入式投影儀、醫療裝置、醫療顯示裝置、載具、車載/空中資訊娛樂系統、無人飛行載具、無人載具、自動導引載具、飛行載具、導航系統、可穿戴式裝置、擴增實境啟用裝置、可穿戴式護目鏡、虛擬實境裝置、基於定向之裝置、機器人(robot)、社交機器人、(人形)機器人(android)、互動式數位標牌、數位資訊站、自動販賣機、其他合適的電子裝置及其組合。為清楚起見, 1A展示四個裝置,如智慧型裝置110a、行動裝置110b、智慧型電器110c及膝上型電腦110d,但在實際具體實例中,系統100可包括實體環境中之任何數目個裝置。諸如「110n」之參考字元中的標識「n」意謂在具體實例中,對應於參考字元之元件的實際數目為無限的。本發明涵蓋任何合適的用戶端系統730。
在特定具體實例中,一或多個裝置110a、…、110n及計算系統114可為經組態以操作AR裝置102之特徵的AR裝置。舉例而言,一或多個裝置110a、…、110n及計算系統114可與即時物件追蹤、即時眼球追蹤、即時RGB、即時同時定位及地圖構建(SLAM)單元、即時慣性量測單元(IMU)、即時眼球凝視整合。另外,在特定具體實例中,一或多個裝置110a、…、110n中之各者可包含經組態以實施所有程式化指令之一或多個處理器,該等指令經程式化或經組態以代管或執行計算系統114之功能,該計算系統描述於本文中之稍後章節中。此外,一或多個裝置110a、…、110n可組態有各種應用程式,該等應用程式特定於使得使用者能夠存取系統100之各種一或多個裝置110a、…、110n、一或多個物件及計算系統114且與其進行互動。
在特定具體實例中,計算系統114可在一或多個裝置110a、…、110n當中及/或可為獨立式主機電腦系統、與AR裝置102整合之機載電腦系統、圖形使用者介面,或能夠經由使用者之眼球追蹤及眼球凝視即時且動態地將以物件為中心之人工實境3D地圖表示提供至使用者且自使用者接收與互動意圖相關聯之命令。可使用諸如以下各者之伺服器計算技術來實施計算系統114:伺服器陣列、雲端計算平台、平行電腦、一或多個虛擬計算執行個體及/或虛擬儲存執行個體及/或基於伺服器之應用程式的執行個體。在特定具體實例中,計算系統114可包括一或多個伺服器。各伺服器可為單一伺服器或橫跨多個電腦或多個資料中心之分散式伺服器。伺服器可為各種類型,諸如但不限於網頁伺服器、新聞伺服器、郵件伺服器、訊息伺服器、廣告伺服器、檔案伺服器、應用程式伺服器、交換伺服器、資料庫伺服器、代理伺服器,及適合於執行本文中所描述之功能或程序的其他伺服器,或其任何組合。在特定具體實例中,各伺服器可包括硬體、軟體或嵌入式邏輯組件或兩個或多於兩個此類組件之組合,以用於進行由伺服器實施或支援之適當功能性。
在特定具體實例中,計算系統114包含處理器116及記憶體118。處理器116經程式化以實施儲存於記憶體118或記憶體單元中之電腦可執行指令。計算系統114亦可包含一或多個資料儲存區,例如與儲存與使用者相關聯之所有實體環境的實體物件及裝置之資訊及資料相關的物件及裝置庫124。資料儲存區可用以儲存各種類型的資訊。在特定具體實例中,儲存於資料儲存區中之資訊可根據特定資料結構來組織。在特定具體實例中,各資料儲存區可為關聯式資料庫、列式資料庫、相關性資料庫或其他合適的資料庫。儘管本發明描述或說明特定類型之資料庫,但本發明涵蓋任何合適類型之資料庫。
在特定具體實例中,計算系統114包含所儲存程式指令,其經組織為影像捕捉引擎120、地圖產生引擎122、眼球追蹤及眼球凝視引擎128、意圖識別引擎130及一或多個機器學習模型132,該一或多個機器學習模型又可包含電腦可執行指令。
影像捕捉引擎120經程式化或經組態以接收穿戴AR裝置102之使用者周圍的實體環境或使用者正在體驗的實體環境之影像。影像捕捉引擎120接收使用者周圍及所處的實體環境之實時串流、移動影像或視訊片段、圖像等。實時串流、移動影像或視訊片段、圖像等係作為一或多個感測器資料自與AR裝置102相關聯及/或與計算系統114自身相關聯之數位靜態攝影機、數位移動影像或視訊攝影機予以接收。
地圖產生引擎122經程式化或經組態以藉由使用自AR裝置102接收及/或判定之實時串流及/或影像及/或感測器資料來判定及產生對應於實體環境之三維(3D)地圖。特定而言,地圖產生引擎122產生實體環境的以物件為中心之三維(3D)地圖。使用機器學習技術、電腦視覺技術、擴增實境應用程式、虛擬實境及混合實境相關技術以及用於在AR環境中產生3D地圖表示的現有技術來產生此以物件為中心之三維(3D)地圖。地圖產生引擎120進一步利用SLAM、物件追蹤、RGB、IMU及其他相關3D物件偵測管線以掃描實體環境之整個分區或區或區域或空間,且接著將來自實體環境之各實體物件表示為分類成物件表示之虛擬物件。舉例而言,實體物件可包括任何傢俱,如沙發、桌子、椅子;電器,諸如洗衣機、電冰箱、TV、智慧型插頭、智慧型裝置、智慧型燈;及其他房間界定物件,如廚房水槽、浴缸、門、窗、花盆、筆、書、瓶子等。在一具體實例中,地圖產生引擎120可包含用於以3D地圖中之場景形式進行物件偵測及表示的區域偵測器、全域偵測器及融合演算法。舉例而言,當使用者在不同空間或分區或區中移動時,人工實境裝置102必須以低延時提供同步、連續且更新之特徵圖,以便為使用者提供高品質、沉浸式且令人愉快的體驗。
實體環境中之各實體物件與一些特徵相關聯,且在特定具體實例中,地圖產生引擎122可評估彼等特徵,包括但不限於與各實體物件相關聯之實體、上下文及語義特徵、表面屬性及資料點,以及存在或存現於實體環境中之實體物件的其他相關特徵。舉例而言,在物件偵測期間,地圖產生引擎122可執行各種估計,諸如深度估計、大小估計、維度分割、實例分割(instance segmentation)、用於高度、寬度及長度之三個比例回歸偏移連同厚度估計,以及其他相關估計,以評估與各實體物件相關聯之特徵。在特定具體實例中,基於特徵評估,地圖產生引擎122可取決於實體環境之特定區或區域或空間中的使用者之AR裝置102的位姿而偵測各實體物件之空間位置,該實體物件包括智慧型裝置110a、…、110n及物件,如沙發、傢俱、水槽、燈、風扇等。另外,地圖產生引擎122產生實體環境之3D地圖表示,其取決於AR裝置102之位姿而偵測在使用者之視線內的所有實體物件。3D地圖中之物件表示係基於AR裝置102之位姿的6DOF且亦基於各實體物件相距使用者之視線的距離及其空間位置。舉例而言,若偵測到使用者在客廳中之位置為坐在面向TV之長沙發上,則當諸如燈、智慧型插頭、燈具、椅子、筆及書之各實體物件在使用者之視線內且偵測到在自使用者位置評估的距離處時,偵測到各實體物件在中心或邊桌上的空間位置。基於特徵評估,在以物件為中心之3D地圖中產生物件表示,包括但不限於限界框、黑框、深度框、完美像素等。在特定具體實例中,以物件為中心之3D地圖表示中的各物件表示可進一步與向量元素值相關聯且由向量元素值表示(例如以向量格式(x, y, z) [(r, g, b)])。
在特定具體實例中,地圖產生引擎122可以虛擬方式、以表示所有實體裝置110a、…、110n及如長沙發、地毯等之物件的鳥瞰圖及/或使用者視角之形式顯示實體環境之場景或影像或視訊的3D地圖表示。在特定具體實例中,所產生之一或多個3D地圖經索引及更新,以對應於使用者正在體驗的感興趣區域或區(例如,使用者家之「內部3D地圖」、廚房分區之「3D廚房地圖」或特定辦公室區域之「辦公室3D地圖」)。此等地圖可在本地端儲存(例如,儲存於使用者之裝置110a、…、110n上或計算系統114中)或經由雲端儲存器儲存。
在一個具體實例中,包括諸如智慧型裝置或IoT裝置之所有一或多個裝置110a、…、110n及諸如長沙發、人員、枕頭、玩具、盒子、椅子、鍋等之所有其他一或多個物件的所有實體物件與一或多個標籤、資訊標示資料、物件類型、分類符及識別碼相關聯。另外,所有一或多個裝置110a、…、110n及所有其他一或多個物件被分類成一或多個種類且儲存於計算系統114之資料儲存區中或物件及裝置庫124中。特定而言,所有一或多個裝置110a、…、110n及所有其他一或多個物件儲存於可為儲存單元之物件及裝置資料儲存庫126中,該儲存單元可呈以下各者中之任一者的形式:映射表、映射條目、清單格式、標記格式、查找表、資料結構、關聯式資料庫、物件資料庫、一般檔案系統、SQL資料庫或非SQL資料庫、物件儲存區、圖形資料庫或其他資料儲存器。
在特定具體實例中,一或多個裝置110a、…、110n及所有其他一或多個物件中之各者經指派有信賴分佈分數。信賴分佈分數之指派係基於一或多個因素,包括但不限於與各實體物件相關聯之執行個體,例如走廊中之燈泡對比任何燈泡、定義在過去及在目前時間(例如,即時地)偵測到相同實體物件之次數的因素、自動地識別實體物件之觀察及機器智慧的因素、將此類實體物件註冊至系統中之因素,或指定實體物件在實體環境中之重複存現的此類實體物件之連續性的因素,及/或與AR相關環境中之物件識別相關的其他相關因素。信賴分佈分數用以偵測及識別使用者可能存取及/或進行互動的一或多個裝置110a、…、110n及/或物件中之哪一者。在特定具體實例中,可結合各種機器學習模型使用與各實體物件及3D地圖中之物件表示相關聯的信賴分佈分數。舉例而言,信賴分佈分數可為用於訓練及更新機器學習模型之屬性或參數中之一者。以此方式,計算系統114可準確地識別使用者在目前時間(例如,當前或在即時時刻)可能有興趣進行存取且互動的一或多個裝置110a、…、110n及一或多個物件。另外,計算系統114可預測使用者在未來時刻將有興趣進行存取且互動的一或多個裝置110a、…、110n及一或多個物件中之哪一者。在特定具體實例中,計算系統114可利用人工智慧(artificial intelligence;AI)、基於AI之電腦視覺技術、深度學習類神經網路及/或機器智慧以表明用於自動化及/或預測與實體環境中之一或多個裝置110a、…、110n及一或多個物件互動及/或操作該一或多個裝置及該一或多個物件的使用者意圖的智慧行為。
在特定具體實例中,計算系統114可包括用於執行眼球追蹤及眼球凝視技術之眼球追蹤及眼球凝視引擎128。舉例而言,眼球追蹤及眼球凝視引擎128基於自組態於AR裝置(例如,眼球追蹤眼鏡) 102中之眼球追蹤單元及眼球凝視單元追蹤及接收到的眼球追蹤資料及眼球凝視資料而進行眼球追蹤及眼球凝視技術。計算系統114可經組態以使用目前先進技術的眼球追蹤凝視技術中之任一者來即時地判定使用者之各眼球的凝視。在一個實例中,眼球追蹤及眼球凝視引擎128可一次僅判定使用者之僅一個眼球的凝視,以將眼球光線置於特定參考座標中,例如以判定使用者之眼球正查看何處及哪一物件。在特定具體實例中,為判定使用者之眼球的凝視,計算系統114及/或眼球追蹤及眼球凝視引擎128可首先藉由使用現有的SLAM、IMU、RGB-D及其他定位技術來在以物件為中心之3D地圖表示中定位使用者。在3D地圖中定位使用者之後,判定使用者之各眼球的凝視且使各眼球凝視內聚以用於定位一或多個裝置110a、…、110n及一或多個物件中之各者的空間位置。當包括物件及裝置之上下文及語義特徵的資料點及特徵與包括與物件及裝置之資料儲存庫126相關聯的物件及裝置庫124中之物件及裝置之上下文及語義特徵的預定資料點及特徵匹配時,可識別一或多個裝置110a、…、110n及一或多個物件。特定而言,一或多個裝置110a、…、110n及一或多個物件中之各者所位於的空間位置在使用者凝視或使用者焦點的視線內。在一些具體實例中,一或多個裝置110a、…、110n及一或多個物件中之各者所位於的空間位置係在相距使用者凝視或使用者焦點之視線的預定距離處。基於使用者凝視方向,在3D地圖中判定感興趣區,例如感興趣區可為使用者可能正在查看的區或區域或空間或分區。在一實例中,在圍繞相交點或眼球凝視內聚點之半徑內或周圍判定感興趣區。當眼球凝視內聚被判定為在3D地圖中之特定裝置或物件處相交時,眼球凝視內聚由眼球凝視向量元素或值判定。在特定具體實例中,眼球追蹤及眼球凝視引擎128判定3D地圖之感興趣區中的實體裝置之一或多個表示。舉例而言,基於使用者之眼球凝視方向(例如使用者可能正在使用者之視線內查看(例如,使用者無法查看牆壁或門後方的某物)),將表示為3D地圖中之虛擬表示的一或多個裝置110a、…、110n及/或物件中之任一者判定為特定感興趣區。舉例而言,在根據使用者之眼球凝視方向的特定感興趣區中,可能存在智慧型IoT裝置或除IoT裝置以外的任何物件,諸如椅子、筆或鍋、桌子等。
在特定具體實例中,意圖識別引擎130經程式化或經組態以判定使用者存取表示為3D地圖中之物件表示(例如,虛擬裝置或物件)之特定實體裝置且與其進行互動的意圖。使用者之意圖係藉由判定指令及一或多個上下文信號來判定。指令可為明確的(例如,「開燈」)或隱含的(例如,「我在何處購買的」)。舉例而言,隱含指令亦可基於判定眼球追蹤及眼球凝視程序而無需參考實體裝置。意圖識別引擎130可進一步判定一或多個上下文信號,其可包括但不限於使用者與實體物件或裝置互動之意圖的種類、基於使用者先前在過去發佈之命令且基於其他因素而偵測到的命令之種類,其他因素諸如使用者之前已進行互動或使用者可能在目前時間進行互動的當天時間、自先前動作或意圖習得的使用者行為;或預測在目前時間之使用者行為、使用者及實體物件及/或裝置兩者之當前狀態及歷史狀態、使用者互動意圖之歷史上下文語義、在目前時間、過去時間或未來時間之天氣預報資訊、針對各實體物件或裝置而設定的預設設定、與各實體物件及/或裝置相關聯之優先級分數、使用者已展示互動之特定優先級或興趣的不同感興趣分區或區、上述因素中之各者的次數,以及對與各種實體物件及/或裝置互動特定的其他相關因素,包括用於訓練及更新機器學習模型之因素。另外,意圖識別引擎130經程式化或經組態以藉由利用人工智慧來判定使用者意圖,以用於即時且動態地自動判定此使用者意圖及/或用於即時且動態地自動預測此使用者意圖。
在特定具體實例中,意圖識別引擎130經程式化或經組態以在判定存取特定裝置及/或與特定裝置互動之意圖時判定及識別發佈至一或多個裝置110a、…、110m中之特定裝置及/或物件的命令。舉例而言,可使用機器學習模型、人工智慧及其他相關技術即時地判定及/或預測意圖存取特定裝置及/或與特定裝置互動之命令。命令可包括但不限於任何頭部示意動作、手部示意動作、語音示意動作、手指敲擊、拖放移動、手指捏合、旋轉移動、綻開示意動作、調整大小、選擇、移動、自然語言查詢及任何其他種類之AR相關互動命令。在特定具體實例中,可自一或多個控制器、指標(例如,滑鼠指標或雷射指標)、軌跡墊、一或多個按鈕、基於GUI之元件及典型地可穿戴或不可穿戴的用於與一或多個裝置110a、…、110n中之任一者進行互動的其他相關組件來判定命令。舉例而言,使用者可使用環形點選器或EMG可穿戴式裝置或平板電腦,以在實施眼球追蹤及眼球凝視程序時提供低摩擦單點選介面。
在特定具體實例中,意圖識別引擎120經程式化或經組態以判定使用者是否正存取一或多個裝置110a、…、110n中之任一者以與特定裝置或目標裝置互動。舉例而言,使用者404可使用如「Alexa」或「電冰箱」之其他IoT裝置,使用者可經由該等裝置與TV互動。舉例而言,使用者可對電冰箱說「打開」,且電冰箱必須指示TV打開其自身以遵循用於存取及/或互動之使用者指令。以此方式,IoT裝置中之任一者可用作媒體,使用者可經由該媒體存取實體環境中之目標裝置及/或與該目標裝置互動。
在特定具體實例中,意圖識別引擎130經程式化或經組態以經由進行可使用機器學習模型、人工智慧及其他相關技術之各種預測程序來判定及識別預測介面及使用者意圖。舉例而言,意圖識別引擎130自AR裝置102獲取實時串流及影像,且判定使用者在目前時間之歷史狀態及使用者之當前狀態,連同判定在目前時間在一或多個裝置110a、…、110n附近及/或周圍之使用者的位置。舉例而言,使用者之歷史狀態為使用者在此時刻之前來自何處或正在做何事,且使用者之當前狀態為使用者在目前時刻之位置,或預測使用者將在某一時刻之當前狀態等。藉由判定使用者之眼球凝視方向來識別使用者在目前時間最感興趣的感興趣區。另外,亦判定在目前時間存在於使用者體驗周圍或附近之所有一或多個裝置110a、…、110n之裝置歷史狀態及裝置當前狀態。舉例而言,裝置之歷史狀態及當前狀態可包括裝置模式,諸如開/關模式、與燈光調暗或增亮相關聯之模式,或智慧型風扇之速度、洗衣機之洗滌模式、冰箱之冷卻模式、烤箱之加熱模式及任何裝置之其他動態模式等。與各裝置110a、…、110n及存在於使用者眼球凝視方向上之物件相關聯的信賴分佈分數用以預測使用者意欲在某計算時間與裝置110a、…、110n或物件中之哪一者互動。舉例而言,假定在使用者之眼球凝視方向上存在四個實體物件,諸如TV、桌子、數位相框及智慧型燈。機器學習模型及/或意圖識別引擎130之輸出與使用者對與某些物件及裝置互動感興趣之機率及/或信賴分佈分數相關聯,例如60%確定使用者可能與智慧型燈互動,此係因為每次使用者在特定當天時間進入或存在於智慧型燈之分區中時,使用者可能「打開」智慧型燈或將智慧型燈之模式改變為開/關模式或自開/關模式改變。類似地,機率及/或信賴分佈分數為30%確定使用者希望與燈泡互動,且20%確定使用者希望與TV互動,等等。在一些實例中,基於針對對應裝置及意圖而估計的較高信賴分數,啟用互動。在特定具體實例中,基於諸如以下各者之因素而判定預測介面:使用者與實體物件或裝置互動之種類、基於使用者先前在過去發佈之命令而偵測到的命令之種類、期間使用者之前已進行互動或使用者可能在目前時間進行互動的當天時間、自先前動作或意圖習得的使用者行為;或預測在目前時間之使用者行為、使用者及實體物件及/或裝置兩者之當前狀態及歷史狀態、使用者互動意圖之歷史上下文語義、在目前時間、過去時間或未來時間之天氣預報資訊、針對各實體物件或裝置而設定的預設設定、與各實體物件及/或裝置相關聯之優先級分數、使用者已展示互動之特定優先級或興趣的不同感興趣分區或區,及上述所有因素中之各者的次數。舉例而言,假定在使用者之眼球凝視方向上存在五個實體物件,諸如恆溫器、TV、桌子、數位相框及智慧型燈。基於較早使用者行為及互動型樣,判定每當使用者坐在長沙發上,使用者將可能觀看TV,同時打開恆溫器以設定溫度。設定恆溫器亦可取決於天氣預報資訊,例如若判定天氣為下雨,則啟動恆溫器。另一實例假定使用者環境中存在新識別到的人員,且根據過去設定及使用者型樣,使用者改變數位相框中之相片。因此,意圖識別引擎130判定使用者意圖之此可能性且基於偵測使用者之頭部示意動作或其他種類之示意動作而發佈改變數位相框設定之命令。另一實例為機器學習模型及/或意圖識別引擎130學習使用者之行為,且預測在與較早上下文類似或相似之類似上下文中,使用者可能存取一或多個裝置110a、…、110n及/或物件中之哪一者及/或與哪一者互動。舉例而言,機器學習模型及/或意圖識別引擎130習得,當使用者在廚房使用智慧型手錶時,通常設定計時器。下一次,當偵測到使用者在特定當天時間期間或在某段持續時間內或帶著一些食物進入廚房時,機器學習模型及/或意圖識別引擎130可預測指示智慧型手錶自動地顯示相關聯之碼錶應用程式以用於設定計時器,或在加熱烤箱中之食物時察看設定的計時器。在一些實例中,使用者可發佈自然語言查詢。舉例而言,邊桌存在於使用者之位置周圍,且使用者之眼球凝視彼邊桌並說出「我在何處購買的」。彼邊桌之資訊及細節被自動地提供至使用者以供在AR裝置102及/或以通信方式與計算系統114連接或相關聯之一或多個裝置110a、…、110n中之任一者的圖形使用者介面上檢視。
在特定具體實例中,本發明不僅基於眼球追蹤及眼球凝視技術,而且基於使用者之位置判定使用者與一或多個實體物件互動之意圖。意圖偵測引擎130判定1)使用者在目前時間之位置(定位使用者);2)使用者在目前時間之位置周圍或附近的實體環境之區中偵測到的物件及/或裝置;3)使用者及使用者之位置周圍或附近之物件及/或裝置兩者的當前狀態。當人工實境系統102之使用者例如藉由在特定環境或房屋或建築物等之房間或區域或樓層或分區中移動而穿越整個實體環境時,人工實境裝置102必須以低延時提供同步、連續且更新之特徵圖,以便在使用者進入房間或區域或樓層或分區時,在存取區域之三維地圖時為使用者提供高品質、沉浸式、快速、無縫且令人愉快的體驗,同時減少互動所需之潛在延時及效能問題。特定而言,使用者正進入或所處的實體環境之實時影像串流係自AR裝置102接收且由影像捕捉引擎120判定。藉由地圖產生引擎122針對使用者所位於的當前感興趣區或接近當前感興趣區的使用者位置產生三維(3D)地圖。基於使用者之三維地圖及位置,包括電子裝置110a、…、110n及不同於彼等電子裝置110a、…、110n之其他物件(例如,人玩具、枕頭、椅子、地毯等)的實體物件之一或多個表示係藉由在與物件及裝置之資料儲存庫126相關聯的物件及裝置庫124中查找來定位及識別。當包括物件及裝置之上下文及語義特徵的資料點及特徵與包括與物件及裝置之資料儲存庫126相關聯的物件及裝置庫124中之物件及裝置之上下文及語義特徵的預定資料點及特徵匹配時,可識別物件及裝置。特定而言,相對於位置使用者之視場或鳥瞰圖中的實體物件經識別及表示為三維地圖中之一或多個表示,連同來自使用者位置之空間位置。意圖識別引擎130基於使用者之經偵測位置連同對當前感興趣區中之一或多個裝置110a、…、110n及一或多個物件的偵測而判定使得能夠即時動態地存取一或多個實體物件且與一或多個實體物件互動的使用者意圖。藉由使用經訓練機器學習模型及/或明確指令中之任一者實現使用者意圖,該等指令包括來自使用者之互動命令及/或用於此互動之預設命令。舉例而言,當判定使用者在廚房且說「打開」時,偵測到此命令係指廚房中之燈。另一實例為當使用者在廚房且使用智慧型手錶時,通常設定計時器。下一次,當偵測到使用者在特定當天時間期間或在某段持續時間內或帶著一些食物進入廚房時,機器學習模型及/或意圖識別引擎130可預測指示智慧型手錶自動地顯示相關聯之碼錶應用程式以用於設定計時器,或在加熱烤箱中之食物時察看設定的計時器。
在特定具體實例中,計算系統114包括一或多個機器學習模型132,該一或多個機器學習模型經預先訓練且基於各次互動之輸出及使用者使用各種命令對實體物件之存取而隨著時間定期進行訓練。舉例而言,機器學習模型132在安裝之前進行預先訓練,且隨著時間、以不同間隔週期性地及/或根據各使用者之體驗進行訓練,該等體驗與存取實體環境中之一或多個裝置110a、…、110n及一或多個物件中之任一者且與其進行互動的意圖相關聯。另外,機器學習模型132中之各者在具有或不具有更新某意圖之使用者明確命令的情況下即時動態地且自動地進行訓練。另外,在AR裝置102及計算系統114之組態期間訓練機器學習模型132,以用於在實體環境中之各次使用者體驗期間判定意圖。
在特定具體實例中,機器學習模型132亦基於命令而觀察、學習及訓練自身,該等命令可包括但不限於任何頭部示意動作、手部示意動作、語音示意動作、手指敲擊、拖放移動、手指捏合、旋轉移動、綻開示意動作、調整大小、選擇、移動、自然語言查詢及任何其他種類之AR相關互動命令;經由控制器、指標(例如,滑鼠指標或雷射指標)、元件及典型地可穿戴或不可穿戴的用於與一或多個裝置110a、…、110n中之任一者互動的其他相關組件的命令。舉例而言,使用者可使用提供低摩擦單點選介面之環形點選器或EMG可穿戴式裝置或平板電腦。以此方式,當機器學習模型132用以將上下文及命令快速地應用於使用者意圖時,使用者體驗為快速、低延時的且回應時間減少,該使用者意圖類似於在過去或在最近情境中之意圖。用於訓練一或多個機器學習模型132之因素示出於本文中之稍後章節中的 5A 5B中。
1B示出人工實境(AR)裝置102及穿戴AR裝置102作為可穿戴式裝置以將實體環境體驗為虛擬實境或混合實境之使用者136。在一具體實例中,AR裝置102亦可為非可穿戴式裝置,例如組態於行動電話或平板電腦中。作為實例,AR裝置102可為頭戴式顯示器(HMD)(例如,眼鏡),其包含框架、一或多個顯示器108及典型AR裝置102將包含且所屬技術領域中具有通常知識者將理解並感知的各種其他組件(圖中未示)。顯示器108可為透明或半透明從而允許穿戴HMD 102之使用者136經由顯示器108查看真實世界,且同時向使用者136顯示視覺人工實境內容。HMD 102可包括音訊裝置,該音訊裝置可將音訊人工實境內容提供至使用者136。HMD 102可包括可捕捉環境之影像及視訊的一或多個攝影機。HMD 102可包括眼球追蹤單元或系統以追蹤穿戴HMD 102之使用者的眼球凝視及輻輳移動。HMD 102可與能夠將人工實境內容提供至使用者136及自使用者接收命令及輸入之SLAM、IMU、RGB-D單元及物件識別單元整合。
1C示出人工實境(AR)裝置102及例如行動電話之使用者裝置110的實例。AR裝置102可包含頭戴式耳機,且使用者可穿戴可向使用者顯示視覺人工實境內之頭戴式耳機102。頭戴式耳機102可包括眼球追蹤單元及系統以判定使用者之眼球凝視方向。在特定具體實例中,頭戴式耳機102(AR裝置)以6DOF估計位姿,以判定使用者之空間位置及實體物件中之各者的空間位置,使得使用者102可經由控制器106執行某些功能。在特定具體實例中,使用者裝置110可與計算系統114整合,且可經由纜線或無線連接而連接至AR頭戴式耳機102。使用者裝置110可包含AR裝置102(例如,頭戴式耳機)及計算系統114之所有組件及單元,以基於眼球凝視評估、使用者位置及預測介面而判定使用者與實體物件互動之意圖。舉例而言,使用者裝置110可包含顯示器110aa、記憶體110ab、感測器110ac,及AR裝置102(例如,頭戴式耳機)及計算系統114可含有以用於判定使用者互動意圖之其他元件。一或多個控制器106可包括本文中並未明確展示以免混淆本發明之其他態樣的硬體、軟體及/或韌體之組合。
2示出根據一具體實例之實例應用程式設計介面(API)平台200。在特定具體實例中, 2展示API平台200,其包含AR裝置202、使用者裝置204、集線器或計算系統206,及IoT裝置中之一者,諸如平板電腦216。API平台200使得外部應用程式能夠與實施於3D地圖中之3D地圖能力介接。API平台200之目的與使得應用程式,例如在行動裝置204上或集線器206中或平板電腦216中運行之應用程式,能夠提供穩定介面相關聯,經由該穩定介面,查詢持久3D地圖之狀態且與對應於實體環境之實體物件的虛擬物件互動。在一具體實例中,API平台200使得裝置之異質集合能夠經由例如DDS訊息之標準訊息傳遞中間軟體連接,該等裝置包括行動裝置204或集線器206、平板電腦216或任何IoT裝置。API平台200中之各裝置能夠發送及接收DDS訊息。舉例而言,AR裝置202為具有AR特徵之一副智慧型眼鏡,且AR裝置202經組態以捕捉實體環境之場景的動態實時串流及影像且執行眼球追蹤及眼球凝視程序。AR裝置202連接至使用者裝置204,例如行動電話或膝上型電腦。AR裝置202使用DDS訊息將所捕捉之影像或實時串流交換或串流傳輸至行動電話204且跨越實體環境中之多個實體裝置而分佈。基於實體環境之所捕捉的實時串流或影像,行動電話204根據與使用者相關聯之AR裝置202的位姿而判定實體環境之區。特定而言,行動電話204提取實體物件之各種第一特徵以用於產生3D地圖,該等特徵諸如包括但不限於以下各者之特徵:實體、上下文及語義特徵、表面屬性,及與各實體物件相關聯之資料點,以及存在或存現於實體環境中之實體物件的其他相關特徵。行動電話或膝上型電腦204藉由使用DDS Pub/Sub通信訊息將與實體物件之經識別區、位姿、使用者位置及各種特徵相關的資料交換至集線器206或計算系統206。集線器206包含地圖應用程式208,以用場景圖編碼或定位在不同實體物件之間的空間關係之形式代管3D地圖,例如一本書及一支筆在桌子上,桌子靠著牆壁,TV安裝於牆壁上,智慧型燈在邊桌上方,等等。集線器206亦包含場景應用程式210以針對實體環境之整個區產生場景的以物件為中心之3D地圖表示,其中使用者正在體驗此環境或位於此環境中或周圍或附近。場景應用程式210不僅在環境中定位使用者,而且定位實體物件中之各者的所有空間位置,該等實體物件包括如智慧型插頭、智慧型電器、洗衣機、風扇、TV、加濕器之一或多個裝置及如筆、桌子上之書及靠著牆壁之桌子,以及偵測人。基於使各所偵測物件之特徵與物件庫212及物件資料儲存區214中之預定物件特徵匹配,識別各實體物件。然而,集線器206實施或充當人工智慧及機器學習模型以自動且動態地且即時地識別任何物件。因此,集線器206產生3D地圖中之物件表示的第二特徵,例如物件表示之第二特徵可包含虛擬表示,包括限界框、資料點、RGB-D表示及完美像素表示。集線器206經組態以判定使用者位置、使用者之眼球對特定裝置的眼球凝視內聚,以用於識別感興趣裝置、預測介面、基於使用者在實體環境之特定分區中之位置的感興趣裝置等。集線器206連接至諸如平板電腦216之感興趣的各種IoT裝置,該平板電腦經由DDS Pub/Sub通信訊息自集線器206接收所有資料及資訊。平板電腦216或IoT裝置包含經組態以自AR裝置202及/或集線器206獲取命令且執行命令的應用程式SDK 218。應用程式SDK 218經由執行不同組態之應用程式226的指令來處理使用者命令,且呼叫儲存於集線器206之記憶體單元中的特定應用程式函式220。
在特定具體實例中,API平台200向外部應用程式曝露與實體物件之第一特徵及物件表示之第二特徵相關聯的3D地圖表示之各種能力,該等外部應用程式可由各種IoT裝置204、206、216及/或在以物件為中心之3D地圖表示中表示的實體裝置中之任一者代管。舉例而言,API平台200針對以規則頻率公開之所有物件及所連接裝置而曝露當前物件狀態之快照。在一具體實例中,將物件庫214提供至TM應用程式,以儲存大量資料,諸如3D模型、紋理、材料或任何不可變後設資料,作為物件模型之部分。因此,此類大量資料可能無法經由訊息傳遞來傳輸。API平台200自即時眼球追蹤中曝露當前眼球向量。API平台200曝露使用者正查看或意欲互動之當前物件,其中經由近接及眼球凝視偵測此當前物件。API平台200向實體環境中之物件及/或裝置發佈命令,以改變狀態為使用者可改變之某些物件及/或裝置(例如,智慧型燈泡)的狀態。
在特定具體實例中,用於3D地圖表示之API平台200的各種能力可實施為DDS訊息。舉例而言,示出用於如位姿、限界框等之已知強資料類型的DDS方案,連同針對未由已知類型捕捉之任意資料類型將json物件嵌入DDS訊息中。集線器206經由DDS訊息以規則間隔來更新最新物件及裝置之狀態、眼球追蹤向量及使用者當前正查看或凝視之物件。
訊息類型 DDS方案 速率[Hz]
場景狀態:物件及裝置 struct DeviceStateMsg {                                                                                                                                                                                                                                                                                                                string deviceUid;                                                                                                                                                                                                                                                                                                             //Pose                                                                                                                                                                                                                                                                                                                       Se3Msg T_world_device;                                                                                                                                                                                                                                                                                                    };                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          struct ObjectStateMsg {                                                                                                                                                                                                                                                                                                                unsigned long long objectId;                                                                                                                                                                                                                                                                                                  //Pose                                                                                                                                                                                                                                                                                                                       Se3Msg T_world_object;                                                                                                                                                                                                                                                                                                        // 3D AABB                                                                                                                                                                                                                                                                                                                    AlignedBox3dMsg bbox3;                                                                                                                                                                                                                                                                                                          // Retrieval, library object id                                                                                                                                                                                                                                                                                               string prototypeId;                                                                                                                                                                                                                                                                                                    // Interactive state                                                                                                                                                                                                                                                                                                         string jsonState;                                                                                                                                                                                                                                                                                                         };                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  struct SceneStateMsg {                                                                                                                                                                                                                                                                                                            unsigned long long unixEpochTimeNs;                                                                                                                                                                                                                                                                                           // Devices pose                                                                                                                                                                                                                                                                                                               sequence<DeviceStateMsg> devices;                                                                                                                                                                                                                                                                                                  // Geometric state of objects                                                                                                                                                                                                                                                                                                 sequence<ObjectStateMsg> objects;                                                                                                                                                                                                                                                                                              }; 10(受AR眼鏡限制)
眼球向量 struct EyeVectorMsg {                                                                                                                                                                                                                                                                                                             string deviceUid;                                                                                                                                                                                                                                                                                                             Se3Msg T_world_eye;                                                                                                                                                                                                                                                                                                      };                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          struct EyeVectorArrayMsg {                                                                                                                                                                                                                                                                                                        unsigned long long unixEpochTimeNs;                                                                                                                                                                                                                                                                                           sequence<EyeVectorMsg> eyeVectors;                                                                                                                                                                                                                                                                                        }; 10(受AR眼鏡限制)
物件注意 struct ObjectAttentionMsg {                                                                                                                                                                                                                                                                                                       string deviceUid;                                                                                                                                                                                                                                                                                                             // Object selected by the attention mechanism                                                                                                                                                                                                                                                                                 unsigned long long attentionFocusObjectId;                                                                                                                                                                                                                                                                                };    struct ObjectAttentionArrayMsg {                                                                                                                                                                                                                                                                                                  unsigned long long unixEpochTimeNs;                                                                                                                                                                                                                                                                                           sequence<ObjectAttentionMsg> attentions;                                                                                                                                                                                                                                                                                  };   10
表1
在一具體實例中,應用程式使用DDS將命令發送至集線器206。不存在請求回應及應用程式發佈命令,且可觀察廣播場景狀態以判定任何突變動作是否產生任何改變。
訊息類型 DDS方案
命令請求 struct CommandMsg {     string applicationId;     unsigned long long requestNumber;        string commandJson; }
表2
在特定具體實例中,使用物件後設資料判定儲存於物件庫212中之靜態物件資訊。物件庫212包括json檔案、資源檔案,且潛在地包括用以與json檔案、資源檔案中之各者介接的C++類別之集合。使用以下實例說明後設資料方案: { "objectId": 42, "category": "Light", "name": "SYMFONISK Table lamp with WiFi speaker", "Img": { "name": "thumbs/SYMFONISK.png", "Dims": [200, 200] }, "interactiveElements": { "power": { "type": "Button" }, "color": { "type": "Selector", "states": ["red", "blue", "green"] }, "level": { "type": "Slider", "range": [0, 100] } } }
在一具體實例中,當發佈命令時,應用程式引用物件之互動元素: //實例1,將光強度改變某一增量 { "targetObjectId": 1234, "commandTarget": "level", "command": { "action": "Slider::Increment", "value": 10, } } //實例2,將光強度設定為特定值 { "targetObjectId": 1234, "commandTarget": "level", "command": { "action": "Slider::Set", "value": 25, } } //實例3:打開TV { "targetObjectId": 1234, "commandTarget": "power", "command": { "action": "Button::ON", } }
在一具體實例中,各物件之狀態可表示為json,作為SceneStateMsg之部分: { "interactiveElements": { "power": { "type": "Button" "value": tru }, "color": { "type": "Selector", "value": "red" }, "level": { "type": "Slider", "value": 25 } } }
3示出使用者302之實體環境300的實例,其中所有裝置及物件皆在使用者302之視線304內。 3展示客廳300作為實體環境之實例情境,且客廳300可僅為實體環境之部分或分區或區域或區。實體環境可係關於任何種類之環境,諸如辦公室、醫院、校舍以及類似的機構及實體。在圖3中,使用者302可能正穿戴AR裝置302a(作為智慧型眼鏡)且站立在客廳300中。在客廳300中,可能存在數目「n」個裝置及物件。在此實例情境中,可預測或判定使用者與存取此實體環境中之任何裝置及物件及/或與此實體環境中之任何裝置及物件互動的意圖相關聯,其中根據眼球凝視過程判定意圖。裝置可為安裝於牆壁上之TV單元306、智慧型燈308、燈具314以及緊鄰TV安裝於牆壁上之位置定位的智慧型插頭單元316及318。在同一客廳中,可能存在數目「n」個物件,諸如邊桌308a、中心桌310、皆放在中心桌310之頂部上的筆310a、書310b及花盆310c、具有三個坐墊之長沙發312等。任何環境中之各裝置及物件與以下各者相關聯:第一特徵對應屬性、參數、特徵、地理位置、結構參數、尺寸量測、對準量測、定位量測及大小參數連同深度量測、大小量測、定向量測、執行個體量測、用於高度量測、寬度量測及長度量測之三個比例回歸偏移連同厚度量測,及定義裝置及物件以用於識別其的其他相關量測及參數。在此情境下,假定客廳中之所有裝置及物件皆在客廳300中之對應空間位置處位於使用者302之視線304(以虛線或點線展示)內。另外,基於相距使用者之視線的某一距離,假定客廳中之所有裝置及物件位於使用者302之視線304內。位於預定距離內之裝置及物件被定位,例如位於與使用者302相距2公尺距離內之裝置及物件被定位。在一具體實例中,第一特徵中之各者由AR裝置302a準確地捕捉為實時串流或影像、移動影像、動態圖像或任何種類之影像,以用於產生以物件為中心之3D地圖。
4A示出實例,其展示與存在於感興趣區中之各裝置及物件相關聯且在實體環境中之使用者可視性之視線內的所有特徵之限界框及資料點。 4A示出來自 3之同一實例情境,其中與第一特徵相關聯之各裝置及物件係在實體環境中判定,且與3D地圖(例如,用於實體環境中之所有裝置及物件的以物件為中心之3D地圖表示)中之物件表示的對應第二特徵相關聯。實體環境包括許多區域、分區、範圍及空間,例如客廳、廚房、走廊、浴室等。區域、分區、區及空間中之各者可具有可基於區域之一或多個幾何性質的特定幾何尺寸。又,各區域、分區、範圍及空間可進一步含有劃分區。另外,由AR裝置402識別各裝置及物件,諸如安裝於牆壁上之TV單元406、智慧型燈408、燈具414及緊鄰TV單元406之位置定位的智慧型插頭單元416及418以及諸如邊桌408a、中心桌410、皆放在中心桌410之頂部上的筆410a、書410b及花盆410c、具有三個坐墊之長沙發412等的物件,以用於3D地圖(亦即,以物件為中心之3D地圖表示)中的物件表示。特定而言,AR裝置402經組態以捕捉客廳400之場景的影像,且偵測整個客廳400之各幾何尺寸,包括偵測各裝置及物件之第一特徵。在特定具體實例中,各裝置及物件之第一特徵表示為3D地圖中之物件表示的第二特徵,此取決於AR裝置402或使用AR裝置402之使用者之位姿的6DOF。舉例而言,各裝置及物件之第一特徵在以物件為中心之3D地圖中表示為限界框、完美像素、黑框、深度框、資料點RGB-D表示及任何虛擬表示等。在圖4A中,用限界框及資料點420表示TV單元406,用限界框及資料點424表示燈408,用限界框及資料點422表示邊桌408a,用限界框426表示智慧型插頭416,用限界框428表示智慧型插頭418,用限界框430表示燈具414,用限界框432表示中心桌410,用限界框434a表示筆410a,用限界框434b表示書且用限界框434c表示花盆,等等。在特定具體實例中,此等物件表示由計算系統114接收以藉由判定與各裝置及物件相關聯之第二特徵來偵測各裝置及物件。在一具體實例中,各裝置及各物件之第二特徵與對應於計算系統114中之物件資料儲存區126的物件及裝置庫124中之預定特徵匹配,以用於準確地辨識各裝置及物件。在一些具體實例中,若裝置及/或物件不與物件及裝置庫126中之預定特徵匹配,則此類裝置及物件被判定為新裝置及物件。在此類情境中,在物件及裝置庫126中更新新偵測到之裝置及物件,以便在下一次再次偵測到其時快速查找。在一些具體實例中,機器視覺、人工智慧、深度學習及機器學習之程序有助於即時準確地、自動地且動態地辨識各裝置及各物件。裝置及物件之識別用於在3D地圖中產生地圖表示。在特定具體實例中,用在各執行個體中產生之各3D地圖更新機器學習模型,連同更新實體環境中之特定位置中的各裝置及物件之執行個體或存在或存現。以此方式,可經由經更新機器學習模型以及即時且動態互動而判定用於判定使用者互動意圖之程序的人工智慧。
4B示出存現於使用者404之實體環境400之感興趣區中的裝置上之眼球追蹤及眼球凝視技術。 4B展示同一客廳400之 4A的側視透視圖。考慮使用者404之眼球正凝視客廳400中之某物的情境。AR裝置402基於AR裝置402及/或使用者404相對於三維地圖之位姿而評估眼球之凝視。類似地,判定與三維地圖內之視線相關聯的使用者404之另一眼球的凝視以用於執行眼球追蹤。使用者之兩個眼球的凝視與三維地圖內之視線相關聯。藉由計算眼球凝視內聚來偵測3D地圖中之感興趣區,以用於定位各裝置及物件在感興趣區中的空間位置。舉例而言,在 4B中展示使用者404之眼球凝視內聚的實例。眼球凝視內聚之點,偵測到之裝置及/或物件在眼球凝視內聚之相交點的半徑周圍及/或內。在一具體實例中,藉由評估在實體裝置處相交之眼球凝視向量元素來計算眼球凝視內聚。在 4B中,當在眼球凝視內聚之相交點的半徑內及/或周圍偵測到TV單元406時,判定使用者404凝視TV單元406。在此狀況下,使用者404之意圖為與TV單元406互動。舉例而言,藉由眼球凝視TV單元406,使用者404可說「打開」。程序必須打開TV單元406。使用者404亦可使用如「Alexa」或「電冰箱」之其他IoT裝置,使用者可經由該等裝置與TV互動。舉例而言,使用者404可對電冰箱說「打開」,且電冰箱必須指示TV打開其自身以遵循用於存取及/或互動之使用者指令。以此方式,IoT裝置中之任一者可用作媒體,使用者可經由該媒體存取實體環境中之目標裝置及/或與該目標裝置互動。
在一些實例中,其中在使用者之眼球凝視方向上可能存在多個裝置。在此類情境中,信賴分佈分數用以判定使用者可能與哪一裝置互動。舉例而言,在使用者之眼球凝視方向上,可能存在智慧型插頭(416、418)、TV單元406及智慧型燈。然而,TV單元406之信賴分佈分數高於智慧型插頭(416、418)及智慧型燈之信賴分數。又,諸如上下文信號之各種其他因素可包括但不限於:使用者與實體物件或裝置互動之意圖的種類、基於使用者先前在過去發佈之命令且基於其他因素而偵測到的命令之種類,其他因素諸如使用者之前已進行互動或使用者可能在目前時間進行互動的當天時間、自先前動作或意圖習得的使用者行為;或預測在目前時間之使用者行為、使用者及實體物件及/或裝置兩者之當前狀態及歷史狀態、使用者互動意圖之歷史上下文語義、在目前時間、過去時間或未來時間之天氣預報資訊、針對各實體物件或裝置而設定的預設設定、與各實體物件及/或裝置相關聯之優先級分數、使用者已展示互動之特定優先級或興趣的不同感興趣分區或區、上下文信號中之各者的次數。在一具體實例中,信賴分佈分數以及一或多個上下文信號中之各者彼此相關。舉例而言,基於一或多個上下文信號中之各者而評估信賴分佈分數,且基於信賴分佈分數而更新一或多個上下文信號中之各者。在特定具體實例中,基於偵測到之意圖及使用者404在所有執行個體中執行之互動的種類而更新機器學習模型,連同更新各意圖及互動之對應上下文信號及相關聯之信賴分佈分數。
5A 及圖 5B示出根據一具體實例之機器學習模型502與其使用情境及功能性。在特定具體實例中,一或多個機器學習模型132經預先訓練且基於各次互動之輸出及使用者使用各種命令對實體物件之存取而隨著時間定期進行訓練。舉例而言,機器學習模型502在安裝之前進行預先訓練,且隨著時間、以不同間隔週期性地及/或按照使用者之指令及設定及/或根據各使用者之體驗進行訓練,該等體驗與存取實體環境中之一或多個裝置及一或多個物件中之任一者且與其進行互動的意圖相關聯。另外,機器學習模型502中之各者在具有或不具有更新某意圖或日誌之使用者明確命令的情況下即時動態地且自動地進行訓練。另外,在AR裝置(來自 1A之102)及計算系統(來自 1A之114)之組態期間訓練機器學習模型502,以用於在實體環境中之各次使用者體驗期間判定意圖。舉例而言,儲存作為一或多個感測器資料自與AR裝置102相關聯及/或與計算系統114相關聯之數位靜態攝影機、數位移動影像、視訊攝影機接收的實時串流、移動影像或視訊片段、圖像等,且將其用以訓練及更新機器學習模型132。在一具體實例中,基於與實體環境之場景之實時串流、移動影像或視訊片段、圖像等相關的經更新之一或多個感測器資料而訓練或保持機器學習模型502。在特定具體實例中,產生實體環境之場景的以物件為中心之人工實境3D地圖表示的地圖產生引擎122用以訓練機器學習模型502。包括在實體環境之特定場景中偵測到的一或多個裝置(例如,智慧型及電子裝置)及除一或多個裝置以外之一或多個物件(例如,除智慧型及電子裝置以外的椅子、桌子、燈具、人員)之所有實體物件亦經更新至機器學習模型502,以準備好在使用者體驗之類似上下文中隨時存取及查找同一場景之各種3D地圖。與在實體環境之特定場景中偵測到的一或多個裝置及一或多個物件中之各者相關聯的特徵,例如與各實體物件相關聯之實體、上下文及語義特徵、表面屬性及資料點以及各實體物件之其他相關特徵,經更新至機器學習模型502。舉例而言,在物件偵測期間,進行各種估計,諸如深度估計、大小估計、維度分割、實例分割、用於高度、寬度及長度之三個比例回歸偏移連同厚度估計以及其他相關估計,以評估與各實體物件相關聯之特徵。在使用者體驗之各執行個體中,以規則間隔或即時動態地將與3D地圖產生相關之各估計更新至機器學習模型502。與各實體物件相關之空間位置資料亦作為虛擬資料即時動態地儲存及更新至機器學習模型502。在使用者體驗及互動期間偵測到之實體環境的場景或分區或區域之任何動態改變亦用以更新機器學習模型502,以利用電腦智慧或基於AI之智慧來自動化與使用者之互動或預測使用者在類似於或可相關於任何目前上下文之類似上下文中的自動化互動。此外,基於AR裝置102之位姿之6DOF的3D地圖中之物件表示經更新至機器學習模型502,該等物件表示包括各實體物件相距使用者之視線的距離及各實體物件之空間位置連同與各實體物件相關聯之向量值。
在特定具體實例中,基於使用者之指令以及一或多個上下文信號而即時動態地訓練及更新一或多個機器學習模型502。指令可為明確的(例如,「開燈」)或隱含的(例如,「我在何處購買」)。舉例而言,隱含指令亦可基於判定眼球追蹤及眼球凝視程序而無需參考實體裝置。一或多個上下文信號可包括但不限於物件執行個體狀態504、歷史狀態506以及當前狀態及上下文語義514,例如開關模式、暗模式、亮模式、速度模式、購買模式、運行模式,以及與裝置(與使用者互動之上下文相關聯)相關聯之各種其他狀態、自先前動作或意圖習得之使用者行為型樣508或預測在目前時間之使用者行為型樣508、使用者過去命令之型樣及上下文510、歷史上下文及語義512、使用者預報資訊516、物件識別資料518、使用者已展示互動之特定優先級或興趣的環境之不同分區/範圍520、使用者之前已進行互動或使用者可能在目前時間進行互動的時間、日期及持續時間資料522、在目前時間、過去時間或未來時間之天氣預報資訊524、經更新之3D地圖表示(例如,實體環境之虛擬表示) 526等。可能存在用於訓練及更新機器學習模型502之其他因素,包括但不限於使用者與實體物件或裝置互動之意圖的種類、基於使用者先前在過去發佈之命令而偵測到的命令之種類、針對各實體物件或裝置而設定之預設設定、與各實體物件及/或裝置相關聯之優先級分數、上述因素中之各者的次數,以及對與各種實體物件及/或裝置互動特定的其他相關因素,包括用於訓練及更新機器學習模型之因素。另外,機器學習模型之訓練及更新利用人工智慧以用於即時地且動態地自動判定使用者之此意圖及/或即時地且動態地自動預測使用者之此意圖。
在特定具體實例中,一或多個機器學習模型502。舉例而言,可使用機器學習模型、人工智慧及其他相關技術即時地判定及/或預測意圖存取特定裝置及/或與特定裝置互動之命令。命令可包括但不限於任何頭部示意動作、手部示意動作、語音示意動作、手指敲擊、拖放移動、手指捏合、旋轉移動、綻開示意動作、調整大小、選擇、移動、自然語言查詢及任何其他種類之AR相關互動命令。在特定具體實例中,可自一或多個控制器、指標(例如,滑鼠指標或雷射指標)、軌跡墊、一或多個按鈕、基於GUI之元件及典型地可穿戴或不可穿戴的用於與一或多個裝置及一或多個物件中之任一者互動的其他相關組件來判定命令。舉例而言,使用者可使用提供低摩擦單點選介面之環形點選器或EMG可穿戴式裝置或平板電腦。
在特定具體實例中,一或多個機器學習模型502用於經由進行各種預測程序來識別預測介面及使用者意圖。預測介面之識別與隨著時間更新之各種上下文信號相關聯,該等信號對應於各次使用者互動、意圖之信賴分佈分數及用於訓練及更新機器學習模型502之所有因素。舉例而言,假定在使用者之眼球凝視方向上存在四個實體物件,諸如TV、桌子、數位相框及智慧型燈。機器學習模型之輸出與使用者對與某些物件及裝置互動感興趣之機率及/或信賴分佈分數相關聯,例如60%確定使用者可能與智慧型燈互動,此係因為每次使用者在特定當天時間進入或存在於智慧型燈之分區中時,使用者可能「打開」智慧型燈或將智慧型燈之模式改變至開/關模式或自開/關模式改變。類似地,機率及/或信賴分佈分數為30%確定使用者希望與燈泡互動,且20%確定使用者希望與TV互動,等等。在一些實例中,基於針對對應裝置及意圖而估計的較高信賴分數,啟用互動。另一實例假定在使用者之眼球凝視方向上存在五個實體物件,諸如恆溫器、TV、桌子、數位相框及智慧型燈。基於較早使用者行為及互動型樣,判定每當使用者坐在長沙發上,使用者將可能觀看TV,同時打開恆溫器以設定溫度。設定恆溫器亦可取決於天氣預報資訊,例如若判定天氣為下雨,則啟動恆溫器。另一實例假定使用者環境中存在新識別到的人員,且根據過去設定及使用者型樣,使用者改變數位相框中之相片。因此,基於偵測使用者之頭部示意動作或其他種類之示意動作而識別改變數位相框設定之使用者意圖及命令的可能性。另一實例為機器學習模型502學習使用者之行為,且預測在與較早上下文類似或相似之類似上下文中,使用者可能存取一或多個裝置及/或一或多個物件中之哪一者及/或與哪一者互動。舉例而言,機器學習模型502習得,當使用者在廚房使用智慧型手錶時,通常設定計時器。下一次,當偵測到使用者在特定當天時間期間或在某段持續時間內或帶著一些食物進入廚房時,機器學習模型502可預測指示智慧型手錶自動地顯示相關聯之碼錶應用程式以用於設定計時器,或在加熱烤箱中之食物時察看設定的計時器。在一些實例中,使用者可發佈自然語言查詢。舉例而言,邊桌存在於使用者之位置周圍,且使用者之眼球凝視彼邊桌並說出「我在何處購買的」。彼邊桌之資訊及細節被自動地提供至使用者以供在AR裝置102及/或以通信方式與計算系統114連接或相關聯之一或多個裝置中之任一者的圖形使用者介面上加以檢視。
在特定具體實例中,訓練及更新一或多個機器學習模型502以用於經由在實體環境中定位使用者來識別使用者與實體物件互動之意圖。在特定具體實例中,本發明不僅基於眼球追蹤及眼球凝視技術,而且基於使用者之位置判定使用者與一或多個實體物件互動之意圖。意圖偵測引擎130判定1)使用者在目前時間之位置(定位使用者);2)使用者在目前時間之位置周圍或附近的實體環境之區中偵測到的物件及/或裝置;3)使用者及使用者之位置周圍或附近之物件及/或裝置兩者的當前狀態。當人工實境裝置102之使用者例如藉由在特定環境或房屋或建築物等之房間或區域或樓層或分區中移動而穿越整個實體環境時,人工實境裝置102必須以低延時提供同步、連續且更新之特徵圖,以便在使用者進入房間或區域或樓層或分區時,在存取區域之三維地圖時為使用者提供高品質、沉浸式、快速、無縫且令人愉快的體驗,同時減少互動所需之潛在延時及效能問題。針對使用者所位於的當前感興趣區或接近當前感興趣區的使用者位置產生三維(3D)地圖。基於三維地圖及使用者位置,定位及識別包括電子裝置及不同於彼等電子裝置之其他物件(例如,人玩具、枕頭、椅子、地毯等)的實體物件之一或多個表示。基於使用者之經偵測位置連同偵測當前感興趣區中之一或多個裝置及一或多個物件,偵測使得能夠即時動態地存取一或多個實體物件且與一或多個實體物件互動的使用者意圖。藉由使用經訓練或經更新之機器學習模型及/或明確指令中之任一者實現使用者意圖,該等指令包括來自使用者之互動命令及/或用於此互動之預設命令。另外,所得互動亦經更新至一或多個機器模型502,以用於在下一類似執行個體中之類似上下文中自動地、動態地且即時地使用經更新種類之互動。舉例而言,當判定使用者在廚房且說「打開」時,偵測到此命令係指廚房中之燈。另一實例為當使用者在廚房且使用智慧型手錶時,通常設定計時器。下一次,當偵測到使用者在特定當天時間期間或在某段持續時間內或帶著一些食物進入廚房時,可預測或偵測以指示智慧型手錶自動地顯示相關聯之碼錶應用程式以用於設定計時器,或在加熱烤箱中之食物時察看設定的計時器。
在特定具體實例中,一或多個機器學習模型502中之更新及經訓練資訊被更新為對應於各裝置及物件之信賴分佈分數528。另外,一或多個機器學習模型502中之更新及經訓練資訊被更新為對應於各裝置及物件之使用者意圖預測,以用於自動偵測及/或預測使用者與實體環境中之實體物件互動的意圖。作為實例,使用監督學習模型訓練一或多個機器學習模型502。
6描繪用於判定使用者與實體環境中之實體裝置互動之意圖的實例流程圖600。
流程圖600可開始於步驟602,其中計算系統(表示為 1A中之114)與人工實境(AR)102裝置相關聯。計算系統捕捉及/或接收穿戴AR裝置之使用者周圍的實體環境之影像。舉例而言,AR眼鏡即時提供串流感測器資料。
在步驟604處,計算系統存取對應於實體環境之三維(3D)地圖。在特定具體實例中,存取實體環境之實時且更新的以物件為中心之3D地圖,連同包括裝置及其他物件(例如,椅子、人員、桌子及非電子裝置等)之實體物件的屬性或特徵。所有實體物件皆在3D地圖表示中表示,其中實體物件在使用者之凝視視線內。實體裝置為智慧型裝置、智慧型單元及任何物聯網(IoT)裝置中之至少一者,且實體物件為不同於實體裝置之任何物件。啟用計算系統以判定及存取實體物件之各屬性或特徵。舉例而言,計算系統可動態地將燈泡識別為「嬰兒床上方的燈」或智慧型插頭「緊鄰水壺之插頭」。
在特定具體實例中,在實體環境(例如,使用者所位於的公寓)中判定各實體物件之3D數位對應項表示。所產生之3D地圖為具有幾何形狀及外觀之實體物件的高保真3D表示。3D地圖表示為介接提供主動可控狀態。舉例而言,使得3D地圖表示能夠與IoT裝置介接,與TV介接,或得到冰箱之溫度或與數位相框介接。各物件具有追蹤位置及定向,其表示為使用基準標記追蹤進行索引的3D動態物件。在一具體實例中,使用RGB、SLAM及IMU結合AR眼鏡及計算系統實現各實體物件及在實體環境中定位使用者。
在步驟606處,計算系統基於在影像中捕捉之實體物件的第一特徵及三維地圖中之物件表示的第二特徵而判定AR裝置相對於三維地圖之位姿。該位姿可為6DOF位姿中之一者或全部。自該(等)位姿,在3D地圖表示中判定及更新各裝置及物件之空間位置。又,亦判定使用者位置。在一具體實例中,基於在影像中捕捉之實體物件的第一特徵及三維地圖中之物件表示的第二特徵而判定AR裝置相對於三維地圖之位姿。第一特徵為在使用者之凝視視線內的實體物件之特徵及屬性。對應於虛擬表示中之特徵的各實體裝置之物件表示的第二特徵可包括三維地圖中之限界框或完美像素。在3D表示中以虛擬方式對應於實體物件之表示的虛擬物件之虛擬表示使得計算系統能夠偵測各實體裝置之空間位置。在一具體實例中,識別及偵測與使用者之視線相距預定距離的裝置及物件。舉例而言,位於與使用者相距2公尺距離內的裝置及物件被定位。
在步驟608處,計算系統可自使用者接收接收指令。該等指令可為明確的,例如「開燈」,或隱含的,例如「我在何處購買」、「尺寸為多少」、「什麼品牌」或「我在何處能找到不同的升級版本」。
在步驟610處,計算系統使用眼球追蹤及眼球凝視單元來判定使用者之眼球的凝視。在一具體實例中,所有的所捕捉影像資料、所偵測實體物件連同其所偵測特徵及屬性、使用者位置、實體環境之幾何形狀、3D地圖表示及/或使用者指令顯示在與AR眼鏡及/或計算系統(例如,行動電話)相關聯之螢幕上,例如顯示在AR眼鏡之右方螢幕上。計算系統進一步計算與三維地圖內之使用者視線相關聯的使用者之眼球的凝視,且進一步包含判定與三維地圖內之視線相關聯的使用者之另一眼球的凝視以用於執行眼球追蹤。
在步驟612處,計算系統基於凝視及位姿而計算三維(3D)地圖中之感興趣區。3D地圖中之感興趣區係基於凝視,且位姿係基於實體環境之特定區中的使用者之眼球凝視方向而計算。舉例而言,自使用者之眼球凝視,判定使用者看向已裝設或置放有TV、智慧型燈、玩具、長沙發及其他插頭之客廳的方向。以此方式,能夠查看物件且予以選擇以得到關於其之資訊的體驗實際上藉由自所追蹤AR眼鏡裝置使用即時眼球追蹤來即時且動態地為使用者加以啟用。另外,即時眼球追蹤利用使用者及實體環境上下文,且實現AR相關互動及體驗中之未來較低摩擦介面。舉例而言,可藉由一起使用即時SLAM、眼球追蹤及物件追蹤以顯現實體環境之當前即時視覺狀態(例如,公寓,藉由使用3D物件模型及實時狀態)的程序來建置時間機器架構。以此方式,真實空間經由AR及混合實境變為體驗之部分,其中使用者及實體環境之密集資訊提供用於未來AI之上下文。
在步驟614處,計算系統識別三維地圖之感興趣區中的實體裝置之一或多個表示。在一具體實例中,自使用者之各眼球的眼球凝視,可識別三維地圖之感興趣區中的實體裝置之一或多個表示。對應於3D地圖中之虛擬表示的一或多個表示取決於AR裝置或使用者之眼球凝視及位姿。藉由計算用於在感興趣區中定位各實體裝置之空間位置的眼球凝視內聚且接著偵測實體裝置是否可能在圍繞眼球凝視內聚之相交點的半徑內及/或周圍,實現一或多個表示之識別。藉由評估在實體裝置處相交之眼球凝視向量元素來計算眼球凝視內聚。舉例而言,眼球凝視及位姿可將眼球光線置於公寓參考座標中。可在使用者正查看或凝視之位置偵測各裝置及物件。對公寓中之各裝置及物件進行索引,在一些情境中可能會排除使用者。
在步驟616處,計算系統基於指令及一或多個上下文信號而判定使用者與對應於實體裝置之一或多個表示中之一者的實體裝置進行互動的意圖。當使用者凝視彼特定實體裝置及/或物件時,判定使用者與實體裝置及/或物件互動之意圖。
在步驟618處,計算系統基於所判定之使用者意圖而向實體裝置發佈命令。在一具體實例中,使用者經由對實體裝置之命令與實體裝置互動的意圖可為任何頭部示意動作、手部示意動作、語音示意動作、手指敲擊、拖放移動、手指捏合、旋轉移動、綻開示意動作、調整大小、選擇、移動、自然語言查詢及任何其他種類之AR相關互動命令。舉例而言,自然語言查詢可為「我在何處購買的」。使用者可經由基於在不參考實體裝置之情況下判定眼球追蹤之隱含命令及/或對實體裝置之明確參考與實體裝置互動。使用者亦可與在特定感興趣區處偵測到之使用者的位置互動,且偵測到所有更近的裝置。舉例而言,基於過去互動之使用者型樣,特定類型之互動,如基於在廚房偵測到之使用者位置而「開燈」或在時間超過晚上11點等時或在使用者離開tv區域一段時間時「關閉tv」。用於判定互動種類之其他因素係基於使用者命令之型樣、使用者行為型樣、歷史上下文語義、當前上下文語義、使用者預報以及相關型樣資訊、天氣預報資訊及當天時間。在一具體實例中,計算系統亦藉由使用機器學習模型作為選項來偵測預測介面。為了偵測預測介面,計算系統判定相對於目前時間之歷史狀態及包括使用者在目前時間之位置的當前狀態。接著,識別三維地圖中之使用者的感興趣區。基於感興趣區,藉由評估與實體裝置相關聯之信賴分佈分數來預測使用者與實體裝置互動之意圖。基於實體裝置之所評估信賴分佈分數對實體裝置執行命令。
本文中說明用於判定使用者互動意圖之眼球凝視程序的實例。當使用者查看物件且接著在物件上點選時,AR裝置或計算系統可在記憶體中查找且顯示關於彼物件之一些資訊。當使用者同樣在任何動態物件上點選時,程序亦可偵測該意圖。在一具體實例中,使用者可使用用於與智慧型插頭互動之平板電腦及環形點選器進行互動。使用者可將環置放於食指上以用拇指點選。EMG單點選亦可用於在任何物件上點選以用於互動。在點選後,平板電腦變成用於產生以物件為中心之3D地圖的3D地圖產生器(或檢查器)。3D地圖產生器呈現房間內之任何實體物件的屬性及實時狀態,且顯示除動態資訊以外亦展示物件之名稱及影像的概覽或檢查器視圖,以反映彼物件之位置、最後看到物件之時間及在使用者與物件之間的距離。藉由查看物件及在EMG無線點選器上點選,可檢視及存取任何物件之資訊。舉例而言,諸如冰箱、書、相框及床之四個物品可在使用者之眼球凝視方向的方向上,且使用者可在書物品上點選。當使用者特定地查看顯示關於與彼使用者相關聯之目標之額外資訊的書時,3D地圖產生器顯示關於與彼使用者相關聯之目標的額外資訊,該額外資訊如彼書之版本在何處可購得及哪些商店可能具有該等版本。舉例而言,若個人具有健康進食之目標,則亦可顯示個人化資訊,且相較於具有省錢目標的人員,可呈現及顯示與冰箱相關之不同資訊。
在特定具體實例中,揭示用於與實體物件互動之明確指令及命令。舉例而言,當使用者走進燈、凝視燈及點選時,燈會打開或關閉。使用者需要更走近燈與明確地觸發操作燈之動作相關聯。動作之隱含觸發可包括例如使用者可能拿著書且手中拿著書坐在沙發上。隱含命令與當使用者坐在沙發上時自動開燈相關聯。在一實例中,當使用者拿著一杯咖啡坐下時,可能會觀看TV。坐在沙發上且手中具有一個杯子不再開燈,而是打開TV,其係基於特定設定、使用者行為型樣、當天時間、信賴分佈分數或即時打開TV之機器智慧或人工智慧,及/或使用者所位於之場景的上下文及具有不同種類之物件的使用者過去互動型樣。在兩個人員在TV區域中進行會話之情境中,則在此情形下打開TV或暫停播放TV內容。此等設定可手動地改變或即時修改。然而,人工智慧亦可基於使用者行為及使用者預期之目標而自動地設定此等改變或稍後設定使用者動作之結果。
本發明係關於建立反映靜態物件之追蹤且用於追蹤動態物件的靜態索引器。因此,穩健地追蹤任何數目個物件以縮小在靜態索引技術(例如,動作捕捉系統OptiTrack)與無標記能力之間的效能差距。本發明亦係關於建置可在在實體世界與數位世界之間介接的實境之實體預測動態更新表示。在一具體實例中,一種允許偵測3D中之一般類別物件(如此房間中之所有椅子)而不必具有任何特定椅子或任何特定房間之特定訓練資料的方法。眼鏡能夠偵測第一次偵測到且之前尚未偵測到的物件。舉例而言,當在家中第一次使用AR眼鏡時,家中之許多物件可能在開箱即可被偵測到。另外,例如在公寓中之許多物件為製成物品,且因此有可能針對各物件獲得3D模型且將其儲存於物件庫中。當產生3D模型時,亦產生諸如精確幾何形狀、紋理及材料等之額外資訊,其可更精確地且更穩健地偵測物件且估計其位姿。
7示出實例電腦系統700。在特定具體實例中,一或多個電腦系統700執行本文中所描述或說明之一或多種方法之一或多個步驟。在特定具體實例中,一或多個電腦系統700提供本文中所描述或說明之功能性。在特定具體實例中,在一或多個電腦系統700上運行之軟體執行本文中所描述或說明的一或多種方法之一或多個步驟或提供本文中所描述或說明之功能性。特定具體實例包括一或多個電腦系統700之一或多個部分。本文中,在適當時,對電腦系統之參考可涵蓋計算裝置,且反之亦然。此外,在適當時,對電腦系統之參考可涵蓋一或多個電腦系統。
本發明涵蓋任何合適數目個電腦系統700。本發明涵蓋採取任何合適的實體形式之電腦系統700。作為實例而非作為限制,電腦系統700可為嵌入式電腦系統、系統單晶片(system-on-chip;SOC)、單板電腦系統(single-board computer system;SBC)(諸如,模組電腦(computer-on-module;COM)或模組系統(system-on-module;SOM))、桌上型電腦系統、膝上型電腦或筆記型電腦系統、互動式資訊站、大型電腦、電腦系統之網格、行動電話、個人數位助理(personal digital assistant;PDA)、伺服器、平板電腦系統、擴增/虛擬實境裝置,或此等中之兩者或多於兩者的組合。在適當時,電腦系統700可包括一或多個電腦系統700;為整體或分散式;橫跨多個位置;橫跨多個機器;橫跨多個資料中心;或駐留於雲端中,該雲端可包括一或多個網路中之一或多個雲端組件。在適當時,一或多個電腦系統700可在無實質空間或時間限制之情況下執行本文中所描述或說明的一或多種方法之一或多個步驟。作為實例而非限制,一或多個電腦系統700可即時或以批量模式執行本文中所描述或說明之一或多種方法之一或多個步驟。在適當時,一或多個電腦系統700可在不同時間或在不同位置處執行本文中所描述或說明的一或多種方法之一或多個步驟。
在特定具體實例中,電腦系統700包括處理器702、記憶體704、儲存器706、輸入/輸出(input/output;I/O)介面708、通信介面710及匯流排712。儘管本發明描述及說明具有在特定配置中之特定數目個特定組件的特定電腦系統,但本發明涵蓋具有在任何合適配置中之任何合適數目個任何合適組件的任何合適電腦系統。
在特定具體實例中,處理器702包括用於執行指令(諸如,組成電腦程式之彼等指令)之硬體。作為實例而非作為限制,為執行指令,處理器702可自內部暫存器、內部快取記憶體、記憶體704或儲存器706擷取(或提取)指令;對其進行解碼並執行其;且接著將一或多個結果寫入至內部暫存器、內部快取記憶體、記憶體704或儲存器706。在特定具體實例中,處理器702可包括用於資料、指令或位址之一或多個內部快取記憶體。在適當時,本發明涵蓋包括任何合適數目個任何合適內部快取記憶體的處理器702。作為實例而非限制,處理器702可包括一或多個指令快取記憶體、一或多個資料快取記憶體及一或多個轉譯後備緩衝器(translation lookaside buffer;TLB)。指令快取記憶體中之指令可為記憶體704或儲存器706中之指令的複本,且指令快取記憶體可加速處理器702對彼等指令的擷取。資料快取記憶體中之資料可為記憶體704或儲存器706中供在處理器702處執行的指令操作之資料的複本;供在處理器702處執行之後續指令存取或供寫入至記憶體704或儲存器706的在處理器702處執行的先前指令之結果;或其他合適資料。資料快取記憶體可加速處理器702進行的讀取或寫入操作。TLB可加速用於處理器702之虛擬位址轉譯。在特定具體實例中,處理器702可包括用於資料、指令或位址之一或多個內部暫存器。在適當時,本發明涵蓋包括任何合適數目個任何合適內部暫存器的處理器702。在適當時,處理器702可包括一或多個算術邏輯單元(arithmetic logic unit;ALU);為多核處理器;或包括一或多個處理器702。儘管本發明描述且說明特定處理器,但本發明涵蓋任何合適的處理器。
在特定具體實例中,記憶體704包括用於儲存供處理器702執行之指令或供處理器702操作之資料的主記憶體。作為實例而非作為限制,電腦系統700可將指令自儲存器706或另一來源(諸如,另一電腦系統700)載入至記憶體704。處理器702接著可將指令自記憶體704載入至內部暫存器或內部快取記憶體。為執行指令,處理器702可自內部暫存器或內部快取記憶體擷取指令並對其進行解碼。在指令執行期間或之後,處理器702可將一或多個結果(其可為中間或最終結果)寫入至內部暫存器或內部快取記憶體。處理器702接著可將彼等結果中之一或多者寫入至記憶體704。在特定具體實例中,處理器702僅執行一或多個內部暫存器或內部快取記憶體中或記憶體704(與儲存器706相對或在別處)中的指令且僅對一或多個內部暫存器或內部快取記憶體中或記憶體704(與儲存器706相對或在別處)中之資料進行操作。一或多個記憶體匯流排(其可各自包括位址匯流排及資料匯流排)可將處理器702耦接至記憶體704。如下文所描述,匯流排712可包括一或多個記憶體匯流排。在特定具體實例中,一或多個記憶體管理單元(memory management unit;MMU)駐留在處理器702與記憶體704之間且促進由處理器702請求之對記憶體704的存取。在特定具體實例中,記憶體704包括隨機存取記憶體(random access memory;RAM)。在適當時,此RAM可為揮發性記憶體。在適當時,此RAM可為動態RAM(dynamic RAM;DRAM)或靜態RAM(static RAM;SRAM)。此外,在適當時,此RAM可為單埠或多埠RAM。本發明涵蓋任何合適的RAM。在適當時,記憶體704可包括一或多個記憶體704。儘管本發明描述及說明特定記憶體,但本發明涵蓋任何合適的記憶體。
在特定具體實例中,儲存器706包括用於資料或指令之大容量儲存器。作為實例而非限制,儲存器706可包括硬碟機(hard disk drive;HDD)、軟碟機、快閃記憶體、光碟、磁光碟、磁帶或通用串列匯流排(Universal Serial Bus;USB)磁碟機或此等中之兩者或多於兩者的組合。在適當時,儲存器706可包括可抽換式或非可抽換式(或固定)媒體。在適當時,儲存器706可在電腦系統700內部或外部。在特定具體實例中,儲存器706為非揮發性固態記憶體。在特定具體實例中,儲存器706包括唯讀記憶體(read-only memory;ROM)。在適當時,此ROM可為遮罩程式化ROM、可程式化ROM(programmable ROM;PROM)、可抹除PROM(erasable PROM;EPROM)、電可抹除PROM(electrically erasable PROM;EEPROM)、電可改ROM(electrically alterable ROM;EAROM),或快閃記憶體或此等中之兩者或多於兩者的組合。本發明涵蓋採取任何合適實體形式的大容量儲存器706。在適當時,儲存器706可包括促進在處理器702與儲存器706之間的通信之一或多個儲存控制單元。在適當時,儲存器706可包括一或多個儲存器706。儘管本發明描述及說明特定儲存器,但本發明涵蓋任何合適的儲存器。
在特定具體實例中,I/O介面708包括硬體、軟體或其兩者,從而提供一或多個介面以用於在電腦系統700與一或多個I/O裝置之間的通信。在適當時,電腦系統700可包括此等I/O裝置中之一或多者。此等I/O裝置中之一或多者可實現在個人員與電腦系統700之間的通信。作為實例而非作為限制,I/O裝置可包括鍵盤、小鍵盤、麥克風、監視器、滑鼠、印表機、掃描器、揚聲器、靜態攝影機、手寫筆、平板電腦、觸控螢幕、軌跡球、視訊攝影機、另一合適之I/O裝置或此等中之兩者或多於兩者的組合。I/O裝置可包括一或多個感測器。本發明涵蓋任何合適的I/O裝置及用於其之任何合適的I/O介面708。在適當時,I/O介面708可包括一或多個裝置或軟體驅動程式,使得處理器702能夠驅動此等I/O裝置中之一或多者。在適當時,I/O介面708可包括一或多個I/O介面708。儘管本發明描述及說明特定I/O介面,但本發明涵蓋任何合適的I/O介面。
在特定具體實例中,通信介面710包括硬體、軟體或其兩者,從而提供一或多個介面以用於在電腦系統700與一或多個其他電腦系統700或一或多個網路之間的通信(諸如,基於封包之通信)。作為實例而非作為限制,通信介面710可包括用於與乙太網路或其他基於有線之網路通信的網路介面控制器(network interface controller;NIC)或網路配接器,或用於與無線網路(諸如,WI-FI網路)通信之無線NIC(wireless NIC;WNIC)或無線配接器。本發明涵蓋任何合適的網路及用於其之任何合適的通信介面710。作為實例而非限制,電腦系統700可與特用網路、個人區域網路(personal area network ;PAN)、區域網路(local area network;LAN)、廣域網路(wide area network;WAN)、都會區域網路(metropolitan area network;MAN)或網際網路之一或多個部分或此等網路中之兩者或多於兩者的組合通信。此等網路中之一或多者的一或多個部分可為有線或無線的。作為實例,電腦系統700可與無線PAN(wireless PAN;WPAN)(諸如,藍牙WPAN)、WI-FI網路、WI-MAX網路、蜂巢式電話網路(諸如,全球行動通信系統(Global System for Mobile Communication;GSM)網路)或其他合適的無線網路或此等網路中之兩者或多於兩者的組合通信。在適當時,電腦系統700可包括用於此等網路中之任一者的任何合適的通信介面710。在適當時,通信介面710可包括一或多個通信介面710。儘管本發明描述及說明特定通信介面,但本發明涵蓋任何合適的通信介面。
在特定具體實例中,匯流排712包括將電腦系統700之組件彼此耦接的硬體、軟體或其兩者。作為實例而非限制,匯流排712可包括加速圖形埠(Accelerated Graphics Port;AGP)或其他圖形匯流排、增強行業標準架構(Enhanced Industry Standard Architecture;EISA)匯流排、前側匯流排(front-side bus;FSB)、HYPERTRANSPORT(HT)互連、行業標準架構(Industry Standard Architecture;ISA)匯流排、INFINIBAND互連、低腳位(low-pin-count;LPC)匯流排、記憶體匯流排、微通道架構(Micro Channel Architecture;MCA)匯流排、周邊組件互連(Peripheral Component Interconnect;PCI)匯流排、PCI快速(PCI-Express;PCIe)匯流排、串列進階附接技術(serial advanced technology attachment;SATA)匯流排、視訊電子標準協會區域(Video Electronics Standards Association local;VLB)匯流排,或另一合適匯流排或此等匯流排中之兩者或多於兩者的組合。在適當時,匯流排712可包括一或多個匯流排712。儘管本發明描述及說明特定匯流排,但本發明涵蓋任何合適的匯流排或互連。
在本文中,在適當時,一或多個電腦可讀取非暫時性儲存媒體可包括一或多個基於半導體的或其他積體電路(integrated circuit;IC)(諸如,場可程式化閘陣列(field-programmable gate array;FPGA)或特殊應用IC(application-specific IC;ASIC))、硬碟機(HDD)、混合式硬碟機(hybrid hard drive;HHD)、光碟、光碟機(optical disc drives;ODD)、磁光碟、磁光碟機、軟碟、軟碟機(floppy disk drive;FDD)、磁帶、固態硬碟(solid-state drive;SSD)、RAM磁碟機、安全數位卡或磁碟機、任何其他合適之電腦可讀取非暫時性儲存媒體,或此等中之兩者或多於兩者的任何合適組合。在適當時,電腦可讀取非暫時性儲存媒體可為揮發性、非揮發性或揮發性與非揮發性的組合。
在本文中,除非另外明確指示或上下文另外指示,否則「或」係包括性且並非排他性的。因此,除非另外明確指示或上下文另外指示,否則本文中「A或B」意謂「A、B或其兩者」。此外,除非另外明確指示或上下文另外指示,否則「及」係聯合及各自兩者。因此,除非另外明確指示或上下文另外指示,否則本文中「A及B」意謂「A及B,聯合地或各自地」。
本發明之範圍涵蓋所屬技術領域中具有通常知識者將瞭解的本文中所描述或說明之例示性具體實例的所有改變、取代、變化、更改及修改。本發明之範圍不限於本文中所描述或說明的例示性具體實例。此外,儘管本發明將本文中各別具體實例描述且說明為包括特定組件、元件、特徵、功能、操作或步驟,但此等具體實例中之任一者可包括所屬技術領域中具有通常知識者將瞭解的本文中任何位置所描述或說明的組件、元件、特徵、功能、操作或步驟中之任一者的任何組合或排列。此外,所附申請專利範圍中對經調適以、經配置以、能夠、經組態以、經啟用以、經操作以或可操作以執行特定功能的設備或系統或設備或系統之組件的提及涵蓋只要彼設備、系統或組件如此經調適、經配置、能夠、經組態、經啟用、可操作或經操作,彼設備、系統、組件(不管係其抑或彼特定功能)即經啟動、接通或解除鎖定。另外,儘管本發明將特定具體實例描述或說明為提供特定優勢,但特定具體實例可提供此等優勢中之無一者、一些或全部。
100:分散式系統 102:人工實境(AR)裝置 104:處理器 106:記憶體/控制器 108:顯示器 110a:智慧型裝置 110aa:顯示器 110ab:記憶體 110ac:感測器 110b:行動裝置 110c:智慧型電器 110d:膝上型電腦 110n:裝置 112:資料通信網路 114:計算系統 116:處理器 118:記憶體 120:影像擷取引擎 122:地圖產生引擎 124:物件及裝置庫 126:物件及裝置資料儲存庫 128:眼球追蹤及眼球凝視引擎 130:意圖識別引擎 132:機器學習模型 134:鏈路 136:使用者 200:應用程式設計介面(API)平台 202:AR裝置 204:使用者裝置/行動裝置/行動電話/膝上型電腦/IoT裝置 206:集線器或計算系統/IoT裝置 208:地圖應用程式 210:場景應用程式 212:物件庫 214:物件資料儲存區 216:平板電腦/IoT裝置 218:應用程式SDK 220:特定應用程式函式 226:應用程式 300:實體環境/客廳 302:使用者 302a:AR裝置 304:視線 306:TV單元 308:智慧型燈 308a:邊桌 310:中心桌 310a:筆 310b:書 310c:花盆 312:長沙發 314:燈具 316:智慧型插頭單元 318:智慧型插頭單元 400:實體環境/客廳 402:AR裝置 404:使用者 406:TV單元 408:智慧型燈 408a:邊桌 410:中心桌 410a:筆 410b:書 410c:花盆 412:長沙發 414:燈具 416:智慧型插頭單元/智慧型插頭 418:智慧型插頭單元/智慧型插頭 420:限界框及資料點 422:限界框及資料點 424:限界框及資料點 426:限界框及資料點 428:限界框及資料點 430:限界框及資料點 432:限界框及資料點 434a:限界框及資料點 434b:限界框及資料點 434c:限界框及資料點 502:機器學習模型 504:物件執行個體狀態 506:歷史狀態 508:使用者行為型樣 510:使用者過去命令 512:歷史上下文及語義 514:當前狀態及上下文語義 516:使用者預報資訊 518:物件識別資料 520:環境之不同分區/範圍 522:時間、日期及持續時間資料 524:天氣預報資訊 526:經更新之3D地圖表示 528:信賴分佈分數 600:流程圖 602:步驟 604:步驟 606:步驟 608:步驟 610:步驟 612:步驟 614:步驟 616:步驟 618:步驟 700:實例電腦系統 702:處理器 704:記憶體 706:儲存器 708:輸入/輸出(I/O)介面 710:通信介面 712:匯流排
[ 1A]示出具有人工實境裝置(AR)、一或多個裝置及計算系統之分散式網路環境,該計算環境具有可實施一個具體實例之使用情境及主要功能元件。
[ 1B]示出人工實境(AR)裝置及使用者。
[ 1C]示出例示性人工實境(AR)裝置及使用者裝置。
[ 2]示出根據一具體實例之例示性應用程式設計介面(Application Programming Interface;API)平台。
[ 3]示出使用者之實體環境之實例,其中所有裝置及物件皆在使用者之視線內。
[ 4A]示出實例,其展示與存在於感興趣區中之各裝置及物件相關聯且在實體環境中之使用者可視性之視線內的所有特徵之限界框及資料點。
[ 4B]示出存現於使用者之實體環境之感興趣區中的裝置上之眼球追蹤及眼球凝視技術。
[ 5A] [ 5B]示出根據一具體實例之機器學習模型與其使用情境及功能性。
[ 6]描繪用於判定使用者與實體環境中之實體裝置互動之意圖的實例流程圖;及
[ 7]示出實例電腦系統。
600:流程圖
602:步驟
604:步驟
606:步驟
608:步驟
610:步驟
612:步驟
614:步驟
616:步驟
618:步驟

Claims (20)

  1. 一種藉由與人工實境(AR)裝置相關聯之計算系統進行之方法,其包含: 捕捉穿戴該AR裝置之使用者周圍的實體環境之影像; 存取對應於該實體環境之三維(3D)地圖; 基於在該影像中捕捉之實體物件的第一特徵及該三維地圖中之物件表示的第二特徵而判定該AR裝置相對於該三維地圖之位姿; 自該使用者接收指令; 使用眼球追蹤器判定該使用者之眼球的凝視; 基於該凝視及該位姿而計算該三維地圖中之感興趣區; 識別該三維地圖之該感興趣區中的實體裝置之一或多個表示; 基於該指令及一或多個上下文信號而判定該使用者與對應於該實體裝置之一或多個表示中之一者的實體裝置互動的意圖;及 基於該使用者之所判定之該意圖而向該實體裝置發佈命令。
  2. 如請求項1之方法,其中該使用者之該眼球的該凝視與該三維地圖內之視線相關聯,且進一步包含判定與該三維地圖內之該視線相關聯的該使用者之另一眼球的另一凝視以用於執行眼球追蹤。
  3. 如請求項2之方法,其進一步包含判定該使用者之各眼球的眼球凝視以用於藉由以下操作識別該三維地圖之該感興趣區中的該實體裝置之一或多個表示: 計算眼球凝視內聚以用於定位該感興趣區中之該實體裝置各者的空間位置;及 偵測圍繞該眼球凝視內聚之相交點的半徑內之該實體裝置。
  4. 如請求項3之方法,其中藉由評估在該實體裝置處相交之眼球凝視向量元素來計算該眼球凝視內聚。
  5. 如請求項1之方法,其中該實體裝置之一或多個表示各包含該三維地圖中之限界框或完美像素,以用於偵測該實體裝置之空間位置且基於相距該使用者之視線的預定距離。
  6. 如請求項1之方法,其中該實體裝置為智慧型裝置、智慧型單元及任何物聯網(IoT)裝置中之至少一者,且該實體物件為不同於該實體裝置之物件中之任一者。
  7. 如請求項1之方法,其中該使用者經由對該實體裝置之該命令與該實體裝置互動的該意圖包含任何頭部示意動作、手部示意動作、語音示意動作、手指敲擊、拖放移動、手指捏合、旋轉移動、綻開示意動作、調整大小、選擇、移動、一自然語言查詢及任何其他類型之AR相關互動命令。
  8. 如請求項7之方法,其中與該實體裝置之該使用者互動包含基於在不參考該實體裝置之情況下判定眼球追蹤之隱含互動及/或對該實體裝置之明確參考。
  9. 如請求1項之方法,其進一步包含藉由使用機器學習模型由以下操作來偵測預測介面: 判定相對於目前時間之歷史狀態及包括該使用者在該目前時間之位置的當前狀態; 識別該三維地圖中之該使用者的該感興趣區; 藉由評估與該實體裝置相關聯之信賴分佈分數自該機器學習模型預測該使用者與該實體裝置互動之該意圖;及 基於該實體裝置之所評估之該信賴分佈分數對該實體裝置執行該命令。
  10. 如請求項9之方法,其中該使用者與該實體裝置互動之該意圖的該預測係基於使用者命令之型樣、使用者行為型樣、歷史上下文語義、當前上下文語義、使用者預報以及相關型樣資訊、天氣預報資訊及當天時間。
  11. 一種包括指令之一或多個電腦可讀取非暫時性儲存媒體,該指令在由電腦系統之一或多個處理器執行時經組態以使該一或多個處理器進行以下操作: 捕捉穿戴AR裝置之使用者周圍的實體環境之影像; 存取對應於該實體環境之三維(3D)地圖; 基於在該影像中捕捉之實體物件的第一特徵及該三維地圖中之物件表示的第二特徵而判定該AR裝置相對於該三維地圖之位姿; 自該使用者接收指令; 使用眼球追蹤器判定該使用者之眼球的凝視; 基於該凝視及該位姿而計算該三維地圖中之感興趣區; 識別該三維地圖之該感興趣區中的實體裝置之一或多個表示; 基於該指令及一或多個上下文信號而判定該使用者與對應於該實體裝置之一或多個表示中之一者的實體裝置互動的意圖;及 基於該使用者之所判定之該意圖而向該實體裝置發佈命令。
  12. 如請求項11之一或多個電腦可讀取非暫時性儲存媒體,其中該使用者之該眼球的該凝視與該三維地圖內之視線相關聯,且進一步包含判定與該三維地圖內之該視線相關聯的該使用者之另一眼球的另一凝視以用於執行眼球追蹤。
  13. 如請求項12之一或多個電腦可讀取非暫時性儲存媒體,其中該指令在由該電腦系統之該一或多個處理器執行時經進一步組態以: 判定該使用者之各眼球的眼球凝視以用於藉由以下操作識別該三維地圖之該感興趣區中的該實體裝置之一或多個表示: 計算眼球凝視內聚以用於定位該感興趣區中之該實體裝置中各者的空間位置;及 偵測圍繞該眼球凝視內聚之相交點的半徑內之該實體裝置。
  14. 如請求項11之一或多個電腦可讀取非暫時性儲存媒體,其中該實體裝置之一或多個表示各包含該三維地圖中之限界框或完美像素,以用於偵測該實體裝置之空間位置且基於相距該使用者之視線的預定距離。
  15. 如請求項11之一或多個電腦可讀取非暫時性儲存媒體,其中該指令在由該電腦系統之該一或多個處理器執行時經進一步組態以: 藉由使用機器學習模型由以下操作來偵測預測介面: 判定相對於目前時間之歷史狀態及包括該使用者在該目前時間之位置的當前狀態; 識別該三維地圖中之該使用者的該感興趣區; 藉由評估與該實體裝置相關聯之信賴分佈分數自該機器學習模型預測該使用者與該實體裝置互動之該意圖;及 基於該實體裝置之所評估之該信賴分佈分數對該實體裝置執行該命令。
  16. 一種系統,其包含: 一或多個處理器;及 一或多個電腦可讀取非暫時性儲存媒體,其與該一或多個處理器通信且包含指令,該指令在由該一或多個處理器執行時經組態以使該系統進行以下操作: 捕捉穿戴AR裝置之使用者周圍的實體環境之影像; 存取對應於該實體環境之三維(3D)地圖; 基於在該影像中捕捉之實體物件的第一特徵及該三維地圖中之物件表示的第二特徵而判定該AR裝置相對於該三維地圖之位姿; 自該使用者接收指令; 使用眼球追蹤器判定該使用者之眼球的凝視; 基於該凝視及該位姿而計算該三維地圖中之感興趣區; 識別該三維地圖之該感興趣區中的實體裝置之一或多個表示; 基於該指令及一或多個上下文信號而判定該使用者與對應於該實體裝置之一或多個表示中之一者的實體裝置互動的意圖;及 基於該使用者之所判定之該意圖而向該實體裝置發佈命令。
  17. 如請求項16之系統,其中該指令在由該一或多個處理器執行時經進一步組態以使該系統進行以下操作:判定該使用者之各眼球的眼球凝視以用於藉由以下操作識別該三維地圖之該感興趣區中的該實體裝置之一或多個表示: 計算眼球凝視內聚以用於定位該感興趣區中之該實體裝置中各者的空間位置;及 偵測圍繞該眼球凝視內聚之相交點的半徑內之該實體裝置。
  18. 如請求項16之系統,其中該實體裝置之一或多個表示各包含該三維地圖中之限界框或完美像素,以用於偵測該實體裝置之空間位置且基於相距該使用者之視線的預定距離。
  19. 如請求項16之系統,其中該實體裝置為智慧型裝置、智慧型單元及任何物聯網(IoT)裝置中之至少一者,且該實體物件為不同於該實體裝置之物件中之任一者。
  20. 如請求項16之系統,其中該指令在由該一或多個處理器執行時經進一步組態以使該系統進行以下操作:藉由使用機器學習模型由以下操作來偵測預測介面: 判定相對於目前時間之歷史狀態及包括該使用者在該目前時間之位置的當前狀態; 識別該三維地圖中之該使用者的該感興趣區; 藉由評估與該實體裝置相關聯之信賴分佈分數自該機器學習模型預測該使用者與該實體裝置互動之該意圖;及 基於該實體裝置之所評估之該信賴分佈分數對該實體裝置執行該命令。
TW111140696A 2021-10-26 2022-10-26 用於經由人工實境裝置和實體裝置互動之方法和系統 TW202336563A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163271804P 2021-10-26 2021-10-26
US63/271,804 2021-10-26
US18/048,411 2022-10-20
US18/048,411 US12056275B2 (en) 2021-10-26 2022-10-20 Method and a system for interacting with physical devices via an artificial-reality device

Publications (1)

Publication Number Publication Date
TW202336563A true TW202336563A (zh) 2023-09-16

Family

ID=84406246

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111140696A TW202336563A (zh) 2021-10-26 2022-10-26 用於經由人工實境裝置和實體裝置互動之方法和系統

Country Status (5)

Country Link
US (1) US12056275B2 (zh)
EP (1) EP4423590A1 (zh)
CN (1) CN118176474A (zh)
TW (1) TW202336563A (zh)
WO (1) WO2023076341A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11315326B2 (en) * 2019-10-15 2022-04-26 At&T Intellectual Property I, L.P. Extended reality anchor caching based on viewport prediction

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106462231A (zh) 2014-03-17 2017-02-22 Itu 商业发展公司 计算机实现的视线交互方法和装置
US10007413B2 (en) 2015-04-27 2018-06-26 Microsoft Technology Licensing, Llc Mixed environment display of attached control elements
US10186086B2 (en) 2015-09-02 2019-01-22 Microsoft Technology Licensing, Llc Augmented reality control of computing device
CN111052046B (zh) 2017-09-29 2022-06-03 苹果公司 使用现实界面访问外部设备的功能

Also Published As

Publication number Publication date
US20230130770A1 (en) 2023-04-27
WO2023076341A1 (en) 2023-05-04
EP4423590A1 (en) 2024-09-04
US12056275B2 (en) 2024-08-06
CN118176474A (zh) 2024-06-11

Similar Documents

Publication Publication Date Title
US11748056B2 (en) Tying a virtual speaker to a physical space
US11068050B2 (en) Method for controlling display of virtual image based on eye area size, storage medium and electronic device therefor
US11580711B2 (en) Systems and methods for controlling virtual scene perspective via physical touch input
US11756294B2 (en) Scene classification
US12020379B2 (en) Virtual anchoring systems and methods for extended reality
US10733799B2 (en) Augmented reality sensor
WO2022170223A1 (en) User interactions in extended reality
KR20160106653A (ko) 조정된 스피치 및 제스처 입력
US20220301264A1 (en) Devices, methods, and graphical user interfaces for maps
KR20240072170A (ko) 원격 디바이스들과의 사용자 상호작용들
US12056275B2 (en) Method and a system for interacting with physical devices via an artificial-reality device
US20240281108A1 (en) Methods for displaying a user interface object in a three-dimensional environment
WO2023196258A1 (en) Methods for quick message response and dictation in a three-dimensional environment