CN109074164B - 使用视线追踪技术标识场景中的对象 - Google Patents
使用视线追踪技术标识场景中的对象 Download PDFInfo
- Publication number
- CN109074164B CN109074164B CN201780027936.5A CN201780027936A CN109074164B CN 109074164 B CN109074164 B CN 109074164B CN 201780027936 A CN201780027936 A CN 201780027936A CN 109074164 B CN109074164 B CN 109074164B
- Authority
- CN
- China
- Prior art keywords
- determining
- individuals
- individual
- computing device
- scene
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 93
- 230000004044 response Effects 0.000 claims abstract description 86
- 238000004891 communication Methods 0.000 claims description 82
- 230000000007 visual effect Effects 0.000 claims description 30
- 238000005516 engineering process Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 35
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 19
- 238000012545 processing Methods 0.000 description 17
- 238000000537 electroencephalography Methods 0.000 description 16
- 230000033001 locomotion Effects 0.000 description 16
- 230000006855 networking Effects 0.000 description 11
- 238000005259 measurement Methods 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 10
- 239000007787 solid Substances 0.000 description 9
- 238000009877 rendering Methods 0.000 description 8
- 210000003811 finger Anatomy 0.000 description 7
- 238000010295 mobile communication Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 4
- 239000004065 semiconductor Substances 0.000 description 4
- 238000000844 transformation Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000004424 eye movement Effects 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013481 data capture Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 231100000430 skin reaction Toxicity 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 241000272878 Apodiformes Species 0.000 description 1
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241000414697 Tegra Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000007177 brain activity Effects 0.000 description 1
- OJIJEKBXJYRIBZ-UHFFFAOYSA-N cadmium nickel Chemical compound [Ni].[Cd] OJIJEKBXJYRIBZ-UHFFFAOYSA-N 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- VJYFKVYYMZPMAB-UHFFFAOYSA-N ethoprophos Chemical compound CCCSP(=O)(OCC)SCCC VJYFKVYYMZPMAB-UHFFFAOYSA-N 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- PXHVJJICTQNCMI-UHFFFAOYSA-N nickel Substances [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 1
- -1 nickel metal hydride Chemical class 0.000 description 1
- 238000012634 optical imaging Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 230000004478 pupil constriction Effects 0.000 description 1
- 230000010344 pupil dilation Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 210000003371 toe Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/013—Eye tracking input arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/5866—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/20—Scenes; Scene-specific elements in augmented reality scenes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- Databases & Information Systems (AREA)
- Library & Information Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Human Computer Interaction (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Computing Systems (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
描述了用于使用视线追踪技术来标识对象的技术和系统。计算系统可以至少部分地基于个体的图像、包括对象的场景的图像、或者两者,来确定或者推断个体正在请求对个体未知的对象进行标识。在一些情况下,个体的图像可以被用于确定个体的视线路径,并且未知对象可以在个体的视线路径内。另外,计算系统可以向至少一个个体发送对该对象进行标识的请求。从至少一个个体接收到的响应中的一个或者多个响应可以被提供以便对对象进行标识。
Description
背景技术
在生活中,人们会碰到遇见他们不熟悉的对象的情况。在一些情况下,孩子在家里或者在学校可能会发现他们不熟悉的对象。在其它情况下,成人可能会遇到与不熟悉的环境或者不熟悉的技术相关联的对象。当人们不知道这个对象是什么或者这个对象叫什么时,制定标识对象的请求可能会存在问题,而且颇费时间。另外,可能会难以标识针对未知对象的信息源并且难以获取与未知对象有关的准确信息。
发明内容
描述了使用视线追踪技术来标识场景中的对象的技术和系统。具体地,可以确定个体的视线并且还可以确定场景中的对象的位置。基于场景内对象的位置,计算设备可以确定对象在个体的视线的视野内。计算设备还可以分析输入数据以确定个体正在请求对对象进行标识。例如,输入数据可以包括可被分析以确定个体正在请求对对象进行标识的词语、声音、手势、生理数据、或者其组合。在一些实施方式中,词语、声音、手势、生理数据、或者其组合可以被分析以推断个体正在请求对对象进行标识。
在计算设备确定个体正在请求对对象进行标识之后,系统可以检查以确定对象是否被包括在数据库中,该数据库包括了关于多个对象的信息。在对象不存在于数据库的情况下,一个或者多个个体可以被标识,计算设备可以进行询问以标识未知对象。在一些情况下,一个或者多个个体可能具有某些特性,而在其它情况下,一个或者多个个体可能与具体特性集合不相关联。一个或者多个个体可以针对标识对象的请求提供响应。响应可以包括对象的标识符。在各种情况下,可以对标识符进行分析并且可以选择具体的标识符并将其提供给请求对对象进行标识的个体。
提供本发明内容的目的在于按照简化形式介绍构思的选择,在具体实施方式中会进一步描述这些构思。本发明内容既不旨在标识所要求保护的主题的关键特征或者本质特征,也不旨在用于限制所要求保护的主题的范围。
附图说明
参照附图来阐释具体实施方式,在附图中,附图标记最左侧的数字表示该附图标记首次出现的图。在相同或者不同的图中使用相同的附图标记表示相似或者相同的物品或者特征。
图1是使用视线追踪技术来标识对象的示例环境的示意图。
图2是使用视线追踪技术来标识对象的另一示例环境的示意图。
图3是示出了包括多个对象和个体的示例环境的图,个体提供了对象已被错误地标识的输入。
图4是示出了包括计算设备的示例环境的图,计算设备利用技术来正确地标识个体正在请求进行标识的对象。
图5是示出了使用视线追踪技术来标识对象的示例系统的框图。
图6是使用视线追踪技术来标识对象的第一示例过程的流程图。
图7是使用视线追踪技术来标识对象的第二示例过程的流程图。
图8A至图8C示出了通过追踪个体的视线来标识视线目标的示例细节。
图9A至图9F描述了用于获取视线追踪的校准数据的示例技术。
图10A至图10F描述了用于处理校准数据和其它数据以标识视线目标的示例技术。
图11是示出了用于从视线追踪数据确定视线目标的示例过程的方面的流程图。
图12是示出了可用于实施使用视线追踪技术来标识对象的方面的示例计算机架构的示意图。
图13是示出了能够实施使用视线追踪技术来标识对象的方面的示例分布式计算环境的示意图。
图14是示出了可用于实施使用视线追踪技术来标识对象的方面的另一示例计算设备架构的示意图。
具体实施方式
本文描述了使用视线追踪技术在场景中标识对象的系统和过程。具体地,可以使用视线追踪技术来标识个体未知的对象。在场景中可能包括未知的对象,该场景是包括个体的真实世界周围环境的真实世界场景。在其它实施方式中,在包括计算机生成的周围环境和对象的虚拟现实场景中可能包括未知的对象。在另一些实施方式中,在混合现实场景中可能包括未知的对象,混合现实场景同时包括个体的真实世界周围环境和计算机生成的周围环境和对象。
当个体在场景中遇到未知的对象时,个体可以向计算机实现的系统提供标识该对象的请求。例如,系统可以接收来自个体的可听输入,该可听输入使用言语表达(诸如,“那是什么?”)或者一个或者多个声音,以请求系统标识未知的对象。在另一示例中,系统可以接收来自个体的包括手势的输入以请求系统标识对象。举例说明,系统可以捕获个体指向对象的可视输入(诸如图像或者视频),并且确定个体正在请求对该对象进行标识。作为另一示例,系统可以捕获个体的眼睛的图像并且从个体的眼睛的移动(例如,预定次数的眨眼)推断个体正在请求对对象进行标识。在一些情况下,系统可以同时接收来自个体的可听输入和可视输入以请求对对象进行标识。在另一示例中,其它形式的输入可以被用于确定个体正在请求对对象进行标识。具体地,系统可以接收来自个体的文本输入以请求对对象进行标识。在另一示例中,系统可以获取生理数据以确定个体正在请求对对象进行标识。在一些实施方式中,系统可以使用脑电图(EEG)数据来确定个体正在请求对未知对象进行标识。
在系统确定个体正在请求对对象进行标识之后,系统可以标识该对象。系统可以使用视线追踪技术来标识对象。具体地,系统可以从一个或者多个面向用户的相机获取数据,一个或者多个面向用户的相机捕获个体的眼睛中的至少一只眼睛的图像。从该一个或者多个面向用户的相机获取的数据可以被用于确定眼睛位置数据,该眼睛位置数据限定出用户的至少一只眼睛的位置。系统可以至少部分地基于眼睛位置数据确定个体的视线。眼睛位置数据还可以被用于确定在场景内的个体的视线的视野。在一些实施方式中,个体的视线的视野在本文中可以被称为“视线路径”。另外,系统可以从一个或者多个面向环境的相机获取数据,一个或者多个面向环境的相机捕获个体正在观看的场景的图像。至少部分地基于眼睛位置数据和场景中对象的位置,系统可以确定用户正在观看的目标对象。通过这种方式,系统可以确定个体正在请求以由系统进行标识的对象。在具体实施方式中,个体正在看着的对象或者对象的一部分在本文中被称为“视线目标”。
系统可以解析包括关于多个对象的信息的数据库,以确定个体未知的对象是否被包括在数据库中。例如,系统可以确定对象的特性并且将场景中对象的特性与数据库中对象的特性进行比较。在一些情况下,可以从对象的图像获得对象的特性。在其它情况下,对象的特性可以与使用边缘检测技术由系统确定的对象的边界相对应。举例说明,系统可以利用分割技术来确定场景中的对象的边界。
在系统确定作为请求的主题的对象被包括在数据库中的实施方式中,系统可以从数据库获取关于对象的信息。例如,系统可以向个体提供数据库中存储的对象的标识符。举例说明,响应于来自个体的询问“那是什么?”,系统可以响应“那个对象是小提琴”。系统也可以提供附加信息,诸如与对象相关联的类别、如何使用对象、购买对象的选项、关于对象的历史信息等。
在系统确定对象未包括在对象的数据库中的实施方式中,系统可以与一个或者多个另外的个体进行电子通信以标识对象。在具体的实施方式中,系统可以向一组个体发送诸如电子邮件或者消息的通信,其中,通信包括标识对象的请求并且包括与对象有关的信息。例如,系统可以向这组个体发送通信,该通信包括由面向场景的相机捕获的对象的图像。在另一示例中,系统可以基于从场景获取的关于对象的数据来生成对象的渲染图(rendering)并且将该渲染图包括在发往这组个体的通信中。通信可以请求这组个体提供针对对象的标识符。另外,通信可以请求关于对象的附加信息,诸如对象的用途或者关于对象的附加信息的来源(例如,具有关于对象的信息的网站)。
系统可以接收来自这组个体的响应并且至少部分地基于响应确定针对对象的标识符。在一些实施方式中,系统可以标识阈值数目的响应中包括的一个或者多个词语并且将对象与该一个或者多个词语相关联。系统可以针对个体的标识对象的请求而生成包括与对象相关联的一个或者多个词语的响应。在一些情况下,可以可听地和/或可视地提供响应。系统也可以将关于对象的信息添加到先前标识出的对象的数据库中。通过这种方式,在另外的个体正在请求对对象进行标识的后续情形中,可以利用关于最近标识出的对象的信息。
通过使用视线追踪技术来标识对象,系统可以被用于标识对象,同时将用户的挫败感减小到最低程度。具体地,通过同时设置面向用户的相机和面向环境的相机,系统除了捕获个体正在观看的对象的图像之外,还可以捕获个体的眼睛位置和眼睛移动的图像。在一些情况下,面向用户的相机和面向环境的相机可以被包括在可穿戴计算设备中。例如,可穿戴计算设备可以包括眼镜或者头戴式显示器。通过在可穿戴计算设备中设置用于标识未知对象的硬件,提高了用户的便利性。在一些情况下,被执行以标识对象的操作中的至少一部分可能会发生在离可穿戴计算设备较远的位置处。通过这种方式,可以减小可穿戴计算设备的形状因子。因此,可穿戴计算设备可以是小型且轻质的,因为可穿戴计算设备中包括的计算部件的大小和重量可以被减小到最低程度。另外,系统可以从系统外部获取信息以便标识对象,而不会因为对象不存在于关于对象的信息的数据库中,导致向提出对对象进行标识的个体提供无法令人满意的答案。因此,通过向个体提供由多个信息源支持的确切答案,而不是提供不合逻辑的推论或者错误的答案,也降低了个体的挫败感。
这些和各种其它示例特征将通过阅读以下说明并且回顾相关联的附图而变得显而易见。然而,所要求保护的主题不限于解决在本公开的任何部分中提到的任何或者所有缺点或者提供在本公开的任何部分中提到的任何有益效果的实施方式。
图1是使用视线追踪技术来标识对象的环境100的示意图。环境100包括场景102,该场景102可以包括个体104和多个对象,诸如第一对象106、第二对象108和第三对象110。场景102可以是包括有形的物理对象的真实世界场景。在其它情况下,场景102可以是混合现实场景,该混合现实场景包括是有形的物理对象的对象并且包括对象的计算机生成的图像。另外,场景102可以是虚拟现实场景,在该虚拟现实场景中,对象是由计算机生成的。对象106、108、110可以占据场景102中的相应区域并且具有尺寸,诸如长度、宽度、高度、半径等。在各种实施方式中,对象106、108、110中的一个或者多个可以是三维的。在其它情景中,对象106、108、110中的一个或者多个可以是二维的。
环境100还包括计算设备112。在图1的说明示例中,计算设备112是可穿戴计算设备。在一些情况下,计算设备112可以包括眼镜。在其它实例中,计算设备112可以包括头戴式计算设备(headset computing device),诸如头戴式显示器。虽然计算设备112在图1的说明示例中被示出是可穿戴计算设备,但在其它情景中,计算设备112可以包括移动电话、平板计算设备、膝上型计算设备、便携式游戏设备、游戏机、电视机、或者其组合。计算设备112可以包括一个或者多个相机。例如,计算设备112可以包括面向用户的相机,面向用户的相机捕获个体104的图像。另外,计算设备112可以包括面向环境的相机,面向环境的相机捕获场景102的图像。计算设备112还可以包括一个或者多个深度感测相机。
个体104可能正看着对象106、108、110中的一个或者多个。个体104在特定时间正在观看的场景(诸如,图1的场景102)的部分在本文中可以被称为个体104的“视线路径”或者“视线的视野”。可以至少部分地基于确定个体104的视线来确定视线路径114。在图1的说明示例中,用附图标记114来表示个体112的视线路径的至少一部分。计算设备112可以确定个体104的视线路径114。在一些实施方式中,计算设备112可以通过利用面向用户的相机捕获个体104的眼睛中的至少一只眼睛的位置和/或移动的图像来确定个体104的视线路径114。另外,计算设备112可以至少部分地基于确定个体104的头部的移动和定向,来确定个体104的视线路径114。在各种实施方式中,计算设备112可以包括一个或者多个传感器,一个或者多个传感器获取可以被用于确定个体104的头部的移动和定向的数据。
计算设备112可以至少部分地基于个体104的视线路径114和由计算设备112的一个或者多个面向环境的相机捕获的场景102的图像,来确定场景102内个体104正在观看的一个或者多个对象。例如,可以使用立体成像技术来分析场景102的计算设备112捕获的图像以确定对象106、108、110离个体104的距离。由计算设备112的面向环境的相机捕获的场景102的图像也可以被用于确定场景内对象106、108、110的相应位置。基于对象106、108、110离个体104的距离、场景102内对象106、108、110的位置、个体104的视线路径114、或者其组合,计算设备112可以确定个体104正在观看对象106、108、110中的一个或者多个。
计算设备112可以被耦合到一个或者多个网络116。一个或者多个网络116可以包括有线网络、无线网络、或者其组合。例如,一个或者多个网络116可以包括局域无线网络、局域有线网络、或者广域无线网络。在一些情况下,一个或者多个网络116可以包括互联网。
个体104可以提供标识场景102内的对象的请求。例如,个体104可能不认识对象106、108、110中的一个或者多个,并且个体104可以经由计算设备112的一个或者多个输入设备提供标识(一个或多个)未知对象的请求。举例说明,计算设备112可以从个体104获取可听输入、可视输入、文本输入、触摸输入、或者其组合,可听输入、可视输入、文本输入、触摸输入、或者其组合指向标识场景102内的一个或者多个对象的请求。在说明示例中,个体104可以提供一个或者多个声音、一个或者多个词语、一个或者多个手势、或者其组合来指示标识场景102内的对象的请求。计算设备112可以分析来自个体104的输入并且确定个体104正在提供请求以标识场景102内的一个或者多个对象。在一些情况下,计算设备112可以至少部分地基于一个或者多个声音、一个或者多个词语、一个或者多个手势、或者其组合推断个体正在请求对对象进行标识。基于确定个体104正在请求对场景102内的一个或者多个对象进行标识,计算设备112可以利用个体104的视线路径114和对象106、108、110的图像来确定请求的视线目标。在示例实施方式中,计算设备112可以基于个体104的视线路径114、场景102内对象106、108、110的位置、对象106、108、110离个体104的距离、或者其组合来确定个体104正在请求计算设备112标识对象110。
计算设备112可以经由该一个或者多个网络116与对象标识系统118通信以标识个体112正在请求进行标识的视线目标。对象标识系统118可以被耦合到数据存储库120或者可以与数据存储库120通信。数据存储库120可以存储对象信息数据库122。对象信息数据库122可以包括关于多个对象的信息,关于多个对象的信息可以被用于对象标识。例如,对象信息数据库122可以存储多个对象的特性。举例说明,对象信息数据库122可以存储对象的尺寸、对象的颜色、对象的基于文本的描述、对象的部件、对象的类别、上述内容的组合等。另外,对象信息数据库122可以存储对象的图像。
基于确定个体104正在请求对场景102中的对象110进行标识,计算设备112可以将对象数据124发送至对象标识系统118。对象数据124可以包括对象110的图像。同样,对象数据124可以表示对象110的尺寸、对象110的颜色、对象110的其它特性、或者其组合。计算设备112可以从计算设备112捕获的对象110的一个或者多个图像中生成对象数据124。在一些情况下,计算设备112可以将附加数据发送至对象标识系统118以标识对象110。例如,计算设备112可以将与场景102有关的数据发送至对象标识系统118。举例说明,计算设备112可以将指示场景102的位置的位置数据发送至对象标识系统118。在另一示例中,计算设备112可以发送场景102的不仅仅包括对象110的图像。计算设备112发送至对象标识系统118的附加数据可以提供对象110的上下文(context)的指示,对象110的上下文也可以被用于标识对象110。
对象标识系统118可以确定对象数据124是否与对象信息数据库122中包括的对象相对应。在一些实施方式中,对象标识系统118可以结合对象信息数据库122中包括的对象的特性来分析对象数据124指示的对象110的特性。在各种实施方式中,对象标识系统118可以相对于对象信息数据库122中包括的对象的图像来分析对象数据124中包括的对象110的一个或者多个图像。在具体实施方式中,对象标识系统118可以执行图像匹配技术来确定对象110的图像是否与对象信息数据库122中包括的对象的图像匹配。
具体地,对象标识系统118可以确定在对象110的特性与对象信息数据库122中包括的对象的特性之间的相似度。例如,对象标识系统118可以确定对象110的特性在阈值量内与对象信息数据库122中包括的对象的特性相对应。举例说明,对象标识系统118可以确定对象110的形状的外形是否在特定阈值内与对象信息数据库122中包括的对象的形状的外形相对应。在另一说明示例中,对象标识系统118可以确定对象110的图像是否在阈值量内与对象信息数据库122中包括的对象的图像相对应。
在对象标识系统118标识出在对象信息数据库122中包括的与个体104正在请求进行标识的对象(诸如对象110)相对应的对象的情况下,对象标识系统118可以向计算设备112提供对象信息数据库122中存储的关于对象110的信息。例如,对象标识系统118可以向计算设备112提供关于对象110的信息,诸如对象110的标识符(例如,对象110的常用名称)。对象标识系统118还可以提供关于对象110的附加信息,诸如对象110的通常用途或者关于对象110的其它事实。
在对象标识系统118无法标识出对象信息数据库122中包括的与个体104正在请求进行标识的对象110相对应的对象的情景中,对象标识系统118可以与一组个体126通信以标识对象110。举例说明,对象标识系统118可以向这组个体126的计算设备发送标识请求128以标识对象110。在一些情况下,标识请求128可以包括电子邮件。在其它实例中,该标识请求128可以包括消息,诸如短消息服务(SMS)消息或者多媒体消息服务(MMS)消息。对象标识系统118可以将与对象数据124相对应的信息包括在标识请求128中。例如,标识请求128可以包括对象110的图像。在另一示例中,标识请求128可以包括对象110的一个或者多个特性。
响应于标识请求128,对象标识系统118可以接收来自这组个体126的计算设备的一个或者多个标识响应130。标识响应130可以包括正被请求进行标识的对象的标识符。在一些情况下,标识符可以包括对象的名称。在说明示例中,对象标识系统118可以接收来自这组个体126中的个体的针对对象110的标识响应130,该标识响应130包括对象110的标识符。标识响应130还可以包括附加信息,诸如对象110的用途、对象110的背景信息、与对象110有关的类别、上述内容的组合等。
在具体的设施方式中,对象标识系统118可以接收来自这组个体126的多个标识响应130。在这些情况中,对象标识系统118可以分析标识响应130以确定针对对象110的标识符。在各种实施方式中,对象标识系统118可以接收在来自这组个体126的标识响应130中的针对对象110的不同的标识符。对象标识系统118可以确定从这组个体126接收到的针对对象110的每个标识符的多个实例。另外,对象标识系统118可以确定与数目最多的标识响应130相关联的标识符是针对对象110的标识符。
对象标识系统118可以向计算设备112发送标识信息132,标识信息132指示针对对象110的标识符。标识信息132还可以包括附加信息,该附加信息被包括在来自这组个体的标识响应130中。进一步地,标识信息132可以包括用于进一步获取关于对象110的信息的一个或者多个链接。例如,标识信息132可以包括链接到包括关于对象110的信息的网站的链接。计算设备112可以利用一个或者多个输出设备来向个体104提供被包括在标识信息132中的数据。在一些情况下,一个或者多个输出设备可以是计算设备112的部件。在其它情况下,一个或者多个输出设备可以是接近个体112的另一电子设备的部件。举例说明,计算设备112可以经由一个或者多个扬声器向个体104提供指示对象110的标识符的可听信息。在另一说明示例中,计算设备112可以经由一个或者多个显示设备向个体104提供指示对象110的标识符的可视信息。在具体的实施方式中,计算设备112可以包括将关于对象110的信息投影到场景102中的投影仪。在其它实施方式中,计算设备112可以包括显示关于对象110的信息的显示设备。在另一些实施方式中,计算设备112可以向接近个体104的显示设备(诸如另一电子设备的显示设备)或者向场景102内的电视机发送信号,以显示关于对象110的信息。
在某些实施方式中,计算设备112可以接收来自个体104对提供的关于对象110的信息的反馈。在一些示例中,计算设备112可以接收指示个体104未要求对对象110进行标识而是要求对对象108进行标识的反馈。在其它情况下,计算设备112可以接收指示个体104不同意对象标识系统118提供的对象110的标识符的反馈。计算设备112可以将从个体104接收到的反馈的至少一部分提供给对象标识系统118。对象标识系统118然后可以执行另外的操作来标识未标识出对象。在具体的实施方式中,对象标识系统118可以与不同组个体进行通信以标识未标识出对象。在各种实施方式中,对象标识系统118可以将来自个体104的反馈的至少一部分提供给这组个体126中的一个或者多个个体。基于对象标识系统118从不同组个体或者这组个体126中的一个或者多个个体接收到的信息,对象标识系统118可以将针对未标识出对象的另一不同的标识符提供给计算设备112。在一些实施方式中,对象标识系统118在阈值量的时间之后、阈值次数的尝试之后或者其两者之后可以确定对象标识系统118无法标识个体104正在请求进行标识的对象。
虽然已经将多个操作描述为是由计算设备112执行,但是这些操作中的至少一部分可以由经由一个或者多个网络116与计算设备112通信的其它计算设备来执行。在一些情况下,对象标识系统118可以执行在图1的说明示例的描述中被归于计算设备112的操作中的一些操作。例如,被执行用于确定个体104正在观看的对象的操作的至少一部分可以由经由一个或者多个网络116与计算设备112通信的一个或者多个其它计算设备来执行。举例说明,计算设备112可以向对象标识系统118发送图像数据,诸如示出了个体104的至少一只眼睛的位置的图像数据和示出了场景102内的对象106、108、110的图像数据。对象标识系统118可以利用从计算设备112获得的图像数据来确定个体104的视线路径114并且标识对象106、108、110中的个体104正在观看的一个或者多个对象。对象标识系统112然后可以向计算设备112提供指示个体104的视线路径114和对象106、108、110中的个体104正在观看的一个或者多个对象的信息。通过在计算设备112之外的计算设备处执行与场景102中的对象的检测有关的一些操作和/或与确定个体104的视线路径114有关的一些操作,计算设备112可以具有更小的形状因子。这可以允许计算设备112包括更少的计算机处理资源、更少的存储器资源、更少的输入设备、更少的输出设备、上述的组合等。通过这种方式,可以使计算设备112的重量和/或大小最小化。
图2是使用视线追踪技术来标识对象的另一环境200的示意图。另一环境200包括在图1的环境100中所包括的部件中的一些部件。虽然图1的环境100的部件中的一些部件未被包括在另一环境200中,但是应该理解,图2的另一环境200中包括的特征可以与环境100的部件中的一个或者多个部件相结合地操作。
另一环境200包括对象标识系统118,对象标识系统118耦合到存储对象信息数据库122的数据存储库120。在一些实施方式中,对象信息数据库122可以根据一种或者多种格式存储信息。在图2的说明示例中,对象信息数据库122可以存储针对给定对象204的对象数据202。对象数据202可以包括标识符206,标识符206可以标识对象204。例如,标识符206可以包括指示对象204的名称的一个或者多个字母、符号或者词语。举例说明,标识符206可以包括通常被归于对象204的名称,诸如“灯”。在一些情况下,对象数据202可以包括多个标识符206。在说明示例中,可以将对象204与标识符206“灯”和“台灯”相关联。在其它示例中,标识符206可以指示对象204的一个或者多个名称并且包括在对象信息数据库122内的针对对象204的唯一标识符。该唯一标识符可以被用于标识对象信息数据库122内的对象204。
对象数据202还可以包括类别208,该类别208包括与标识符206中的一个或者多个标识符有关的广义词。例如,可以将对象204与“照明设备”或者“照明”的类别208相关联。另外,对象数据202可以包括描述对象204的特性210。举例说明,特性210可以包括对象204的轮廓、对象204的特征、对象204的尺寸、对象204的一种或者多种颜色、对象204的制造商、对象204的描述、对象204的一个或者多个位置、可能会发现对象204的上下文、上述内容的组合等。可选地,对象数据202可以包括图像数据212,图像数据212包括对象204的一个或者多个图像。
在具体的实施方式中,计算设备112可以获取关于个体正在请求进行标识的对象的数据,并且将对象数据124提供至对象标识系统118。对象标识系统118可以分析对象数据124并且针对要进行标识的对象确定未标识出对象特性214。例如,对象标识系统118可以确定未标识出对象的尺寸、未标识出对象的一种或者多种颜色、未标识出对象的轮廓、未标识出的对象的一个或者多个图像、上述内容的组合等。对象标识系统118可以将未标识出对象特性214与对象信息数据库122中存储的对象特性(诸如对象特性210)进行比较。在对象标识系统118确定在未标识出对象特性214之间的相似度与对象信息数据库122的对象的特性210相对应的情况下,对象标识系统118可以将对象数据202的至少一部分提供给计算设备112。举例说明,对象标识系统118可以将标识符206、类别208或者两者都提供给计算设备212。
另外,对象标识系统118可以利用未标识出对象特性214来确定未标识出对象类别216。在一些实施方式中,对象标识系统118可以将未标识出对象类别216与另外的特性(其与某些类别的物品相关联)进行比较。对象标识系统118可以标识与特性(其与未标识出对象特性214相对应)相关联的类别来确定未标识出对象类别216。
对象标识系统118还可以从计算设备112获取场景数据218。场景数据218可以指示包括未标识出对象的场景的特征。在具体的实施例中,场景数据218可以被用于确定场景特性220,该场景特性220指示场景中包括的另一些对象、场景中包括的地标、场景中包括的地理特征、针对场景的位置数据、上述内容的组合等。在一些情况下,场景数据218可以包括含有未标识出对象的场景的一个或者多个图像。进一步地,对象标识系统118可以利用场景特性220来确定针对未标识出对象的上下文222。例如,对象标识系统118可以分析场景特性220,并且由于在包括未标识出对象的场景中存在椅子、桌子、书、窗户等,而可以确定未标识出对象位于办公环境中。在一些实例中,未标识出对象的上下文222可以被对象标识系统118用来确定未标识出对象是否被包括在对象信息数据库122中。举例说明,对象标识系统118可以将未标识出对象的上下文222与对象信息数据库122中包括的对象的特性210进行比较以减少可能会与未标识出对象相对应的对象的数目。
在对象标识系统118使用对象数据124和/或场景数据218无法标识对象的情景中,对象标识系统118可以与一组或者多组个体通信以标识该对象。在一些实施方式中,对象标识系统118可以基于与每个组相关联的特性并且基于未标识出对象特性214从多组个体中进行选择。例如,可以指定其中一组个体标识具有某个特性集合的对象并且可以指定另一组个体标识具有不同特性集合的另一些对象。在各种实施方式中,这些组中包括的个体可以重叠。即,一个个体可以被包括在多个组中。可以根据个体的特性来组织这几组个体。举例说明,可以根据教育背景、工作经验、个体信息、地理位置、上述内容的组合等来组织这几组个体。通过这种方式,可以按照与他们可以更有可能标识的对象相对应的方式来组织这些个体。通过根据个体的特性来组织接收标识对象的请求的这几组个体,可以最大化标识对象的过程的效率。因此,可以最小化对计算资源和存储器资源的使用。而且,因为一部分特定的个体会接收到标识对象的请求而不是更大一组个体会接收到该请求,所以可以最小化对网络资源的使用。因此,在网络上交换的通信量被最小化。
在图2的说明示例中,另一环境200包括第一组个体224和第二组个体226来标识对象。第一组个体224可以与第一对象类别228、第一对象特性集合230和第一场景特性集合232相关联。即,对象标识系统118可以基于第一组个体224的第一特性集合来确定第一组个体224有可能标识与第一对象类别228相关联的对象、具有第一对象特性集合230的对象、以及在具有第一场景特性集合232的位置中的对象。另外,第二组个体226可以与第二对象类别234、第二对象特性集合236、和第二场景特性集合238相关联。因此,对象标识系统118可以基于第二组个体226的第二特性集合来确定第二组个体226有可能标识与第二对象类别234相关联的对象、具有第二对象特性集合236的对象、以及在具有第二场景特性集合238的位置中的对象。在说明示例中,对象标识系统118可以确定第一组个体224有可能标识与办公用品类别有关的对象、具有办公用品特性的对象、以及位于办公环境或者销售办公用品的商店中的对象。在另一说明示例中,对象标识系统118可以确定第二组个体226有可能标识与厨房用品类别有关的对象、具有厨房用品特性的对象、以及位于厨房、餐厅或者销售厨房用品的商店中的对象。
在对象标识系统118确定对象未被包括在对象信息数据库122中的情况下,对象标识系统118可以标识一组个体来标识该对象。在具体的实施方式中,对象标识系统118可以确定在未标识出对象特性214、未标识出对象类别216、场景特性220、上下文222、或者上述内容的组合与针对特定组个体的对应数据之间的相似度。对象标识系统118可以向特定组个体发送包括标识对象的请求的通信。另外,特定组个体可以向对象标识系统118发送标识出对象的响应。
在说明性实施方式中,对象标识系统118可以执行在未标识出对象特性214与第一对象特性集合230和第二对象特性集合236之间的第一比较。另外,对象标识系统118可以执行在未标识出对象类别216与第一对象类别228和第二对象类别234之间的第二比较。进一步地,对象标识系统118可以执行在场景特性220和上下文222与第一场景特性集合232和第二场景特性集合238之间的第三比较。至少部分地基于第一比较、第二比较、和/或第三比较,对象标识系统118可以确定第一组个体有可能标识未标识出对象。然后对象标识系统118可以向第一组个体224的计算设备发送与标识未标识出对象有关的通信。
图3是示出了环境300和个体104的图,环境300包括多个对象106、108、110,个体104提供了对象已被错误地标识的输入。具体地,环境300与图1的环境100相似,不同之处在于,在环境300中,图1的对象标识系统118提供的信息没有与个体104想要标识的对象相对应。在一些情况下,计算设备112、图1的对象标识系统118或者两者都可以确定个体104的视线路径114并且标识个体104想要标识的对象。在图1的说明示例中,计算设备112、图1的对象标识系统118或者两者都可以确定个体104想要标识第三对象110。在计算设备112、图1的对象标识系统118或者两者都提供了关于个体104未请求进行标识的对象的信息的情景中,计算设备112可以从个体104接收指示个体104正在请求对不相同的对象进行标识的输入。在图3的说明示例中,个体104提供了指示计算设备112提供的信息与个体104不想标识的对象有关的可听输入302。
图4是示出了环境400的图,环境400包括利用技术来正确地标识个体104正在请求进行标识的对象的计算设备112。具体地,在接收到来自个体104的指示计算设备112提供了有关环境400中个体104不想标识的对象的信息的输入302之后,计算设备112可以执行另外的操作来确定环境400中个体104正在请求进行标识的对象。例如,计算设备112可以将网格402投影到环境400中、投影到环境400中的其它对象上。在图4的说明示例中,计算设备112正在将网格402投影到第二对象108上。通过这种方式,计算设备112可以凸显环境400内的对象以更具体地确定个体104想要标识的对象。在一些情况下,计算设备112可以提供附加输出,该附加输出向个体104询问投影了网格402的对象是否是个体104想要标识的对象。另外,个体104可以提供可听输入、手势输入或者两者,可听输入、手势输入或者其两者指示投影了网格402的对象是个体104正在请求进行标识的实际对象。
图5是使用视线追踪技术来标识对象的示例系统500的框图。系统500包括计算设备502,计算设备502可以被用于执行操作中的至少一部分以使用视线追踪技术来标识对象。计算设备502可以与实体相关联,该实体是提供与使用视线追踪技术来标识对象有关的服务的服务提供商。另外,计算设备502可以与电子设备506的制造商、电子设备506的分销商或者两者相关联。计算设备502可以包括一个或者多个网络接口(未示出)以经由一个或者多个网络504与其它计算设备通信。一个或者多个网络504可以包括互联网、电缆网络、卫星网络、广域无线通信网络、有线局域网络、无线局域网络、或者公共交换电话网络(PSTN)中的一个或者多个。
在具体的实施例中,计算设备502可以经由一个或者多个网络504与电子设备506(其与个体508相关联)进行通信。电子设备506可以包括膝上型计算设备、平板计算设备、移动通信设备(例如,移动电话)、可穿戴计算设备(例如,手表、眼镜、健身追踪装置、头戴式显示器、珠宝)、便携式游戏设备、上述设备的组合等。个体508可以利用电子设备506来生成请求以标识个体508未知的对象。
计算设备502可以包括一个或者多个处理器,诸如处理器510。一个或者多个处理器510可以包括至少一个硬件处理器,诸如微处理器。在一些情况下,一个或者多个处理器510可以包括中央处理单元(CPU)、图形处理单元(GPU)、或者CPU和GPU两者、或者其它处理单元。另外,一个或者多个处理器510可以包括本地存储器,本地存储器可以存储程序模块、程序数据、和/或一个或者多个操作系统。
另外,计算设备502可以包括一个或者多个计算机可读存储介质,诸如计算机可读存储介质512。计算机可读存储介质512可以包括在任何用于存储信息(诸如计算机可读指令、数据结构、程序模块、或者其它数据)的技术中实施的易失性和非易失性存储器和/或可移动和不可移动介质。这种计算机可读存储介质512可以包括,但不限于,RAM、ROM、EEPROM、闪存或者其它存储器技术、CD-ROM、数字通用光盘(DVD)或者其它光学存储装置、磁盒、磁带、固态存储、磁盘存储、RAID存储系统、存储阵列、附网存储、存储区域网、云存储、可移动存储介质、或者可以被用于存储所需的信息并且可以由计算设备访问的任何其它介质。根据计算设备502的配置,计算机可读存储介质512可以是一种有形计算机可读存储介质并且可以是非暂时性存储介质。
计算机可读存储介质512可以被用于存储能够由一个或者多个处理器510执行的任何数目的功能组件。在许多实施方式中,这些功能组件包括指令或者程序,这些指令或者程序能够由一个或者多个处理器510执行并且在被执行时实施用于进行归于计算设备502的操作的运算逻辑。如本文所述,计算设备502的功能组件(其可以在一个或者多个处理器510上执行以用于实施与用视线追踪技术标识对象有关的各种功能和特征)包括视线追踪数据模块514、标识请求模块516、数据库模块518、组选择模块520、组通信模块522、标识符选择模块524和标识响应模块526。模块516、518、520、522、524、526中的一个或者多个可以被用于实施图1和图2的对象标识系统118。
计算设备502还可以包括,或者耦合至,数据存储库528,该数据存储库528可以包括,但不限于,RAM、ROM、EEPROM、闪存、一个或者多个硬盘、固态驱动、光学存储器(例如,CD、DVD)、或者其它非暂时性存储器技术。数据存储库528可以保持信息,该信息被计算设备502用来执行与使用视线追踪技术标识对象有关的操作。例如,数据存储库528可以包括对象信息数据库530。另外,数据存储库528可以存储与确定个体的视线有关的视线追踪信息532。
对象信息数据库530可以存储关于先前已经标识出的多个不同对象的信息。对于对象信息数据库530中包括的每个对象,对象信息数据库530可以存储对象的一个或者多个标识符、对象的一个或者多个类别、对象的一个或者多个特性、对象的一个或者多个上下文、对象的一个或者多个图像、或者上述内容的组合。在一些情况下,对象信息数据库530中包括的对象的标识符可以包括对象的常用名称、对象的制造商名称、对象的制造商编号、被用于在对象信息数据库530内标识对象的唯一标识符、通用产品代码(UPC)、对象的另一标识符、或者上述内容的组合。另外,对象信息数据库530中包括的对象的类别可以与多个对象相关联,并且可以由正在提供用于使用视线追踪技术标识对象的资源的实体(诸如服务提供商、电子设备506的制造商、电子设备506的分销商、或者上述的组合)来指定。进一步地,对象信息数据库530中包括的对象的上下文可以与对象所位于的环境的特性有关。在一些情况下,上下文可以包括特定位置,诸如伦敦塔,而在其它情况下,上下文可以包括更一般的位置,诸如厨房。上下文还可以包括经纬度坐标、另一地理位置标识符、或者两者。同样,对象信息数据库530中包括的对象的特性可以包括对象的形状、对象的尺寸、对象的轮廓、对象的特征、对象的一种或者多种颜色、包括对象的材料、该对象的纹理、上述的组合等。对象信息数据库530中包括的对象的图像可以包括对象的多个不同实例的图像、该对象的多个视角的图像、包括对象的场景的图像、上述内容的组合等。
数据存储库528中存储的视线追踪信息532可以包括用于确定个体的视线的信息。在一些情况下,视线追踪信息532可以包括一个或者多个个体的眼睛位置数据。另外,视线追踪信息532可以包括人们的面部特征的距离、参照点、以及可以被用于确定个体的视线的其它信息。可选地,视线追踪信息532的一些部分可以被缓存或者暂时存储以便进行视线计算。在进行视线计算之后,可以丢弃视线追踪信息532的至少一部分以最小化被用于使用视线追踪技术标识对象的存储器资源。
视线追踪数据模块514可以包括计算机可读指令,计算机可读指令能够由处理器510执行以获取可以被用于确定个体的视线路径的数据。在一些情况下,视线追踪数据模块514可以从电子设备506获取可以被用于确定个体(诸如,个体508)的视线的数据。例如,视线追踪数据模块514可以获取指示个体的至少一只眼睛的位置的数据。在各种实施方式中,视线追踪模块514可以获取个体的至少一只眼睛的图像并且分析该图像来确定个体的眼睛位置。个体的眼睛位置可以被用于确定个体的视线路径。在具体的实施方式中,个体的眼睛位置可以被用于确定个体正在看的方向。在一些情况下,个体的视线路径可以被近似为看入场景中的锥形视野或者三棱柱形视野。
视线追踪模块514还可以标识在个体的视线路径中包括的对象。在具体的实施方式中,视线追踪数据模块514可以获取指示在个体正在观看的场景中包括的对象的位置的信息。在一些情况下,视线追踪数据模块514可以获取场景的图像并且利用场景的图像来确定场景中包括的对象的位置。在说明示例中,视线追踪数据模块514可以确定在场景中包括的对象与场景的参照点之间的距离。另外,视线追踪数据模块514可以确定在场景中包括的对象与观看场景的个体之间的距离。视线追踪数据模块514可以确定在个体的视线路径与场景中的一个或者多个对象的位置之间的重叠。在个体的视线路径中包括的一个或者多个对象可以被指定为视线目标。
标识请求模块516可以包括计算机可读指令,计算机可读指令能够由处理器510执行以确定个体正在请求对个体未知的对象进行标识。在一些情况下,标识请求模块516可以从电子设备506获取请求。在其它情况下,标识请求模块516分析从电子设备506接收到的数据以确定个体正在请求标识对象。标识请求模块516可以从电子设备516获取可听数据、可视数据、传感器数据、或者上述的组合。可听数据可以包括一个或者多个词语、一个或者多个声音、或者两者。可视数据可以包括一个或者多个手势。另外,传感器数据可以包括生理数据,诸如EEG数据。标识请求模块516可以分析可听数据、可视数据、传感器数据、或者上述的组合,以确定个体正在请求对对象进行标识。
在具体的实施方式中,一个或者多个预定声音、一个或者多个预定词语、或者上述的组合可以被指定为指示对对象进行标识的请求。标识请求模块516可以确定在从电子设备506获取的可听数据与预定词语和/或预定声音之间的相似度。标识请求模块516可以确定可听数据的词语和/或声音相对于指示对对象进行标识的请求的预定词语和/或预定声音满足相似度阈值。在这些情况下,标识请求模块516可以确定已经接收到对对象进行标识的请求。在另一些实施方式中,一个或者多个预定手势可以被指定为指示对对象进行标识的请求。标识请求模块516可以确定在可视数据与一个或者多个预定手势之间的相似度。在一些情况下,标识请求模块516可以确定可视数据所指示的手势相对于预定手势中的至少一个预定手势满足相似度阈值,该预定手势被指定为指示对对象进行标识的请求。在这些实例中,标识请求模块516可以确定已经接收到对对象进行标识的请求。进一步地,一个或者多个预定EEG模式可以被指定为指示对对象进行标识的请求。标识请求模块516可以确定在传感器数据中包括的EEG模式与一个或者多个EEG模式之间的相似度,一个或者多个EEG模式被指定为指示对对象进行标识的请求。在各种实施方式中,标识请求模块516可以确定传感器数据的EEG模式相对于预定EEG模式满足相似度阈值,并且然后标识请求模块516可以确定已经接收到对对象进行标识的请求。
数据库模块518可以包括计算机可读指令,该计算机可读指令能够由处理器510执行以标识对象信息数据库530中包括的对象以及不存在于对象信息数据库530中的对象。例如,至少部分地基于视线追踪数据模块514和/或电子设备506所标识出的视线目标并且部分地基于标识请求模块516所接收到的对对象进行标识的请求,数据库模块518可以分析视线目标的特征以确定视线目标是否被存储在对象信息数据库530中。在具体的实施方式中,数据库模块518可以分析与视线目标有关的信息以确定视线目标的特性。另外,数据库模块518可以分析与视线目标所位于的场景有关的信息以确定场景的特性。在一些情况中,数据库模块518可以分析视线目标的一个或者多个图像、包括对象的场景的一个或者多个图像、或者两者,以确定对象的特性和/或场景的特性。进一步地,数据库模块518可以基于对对象的图像、场景的图像、或者两者进行分析来获得附加信息。举例说明,数据库模块518可以至少部分地基于对象的特性来确定对象的类别。同样,数据库模块518可以至少部分地基于场景的特性来确定对象的上下文。在各种实施方式中,对象的类别可以同与对象信息数据库530相关联的对象的一个或者多个类别相对应。另外,对象的上下文可以同与对象信息数据库530相关联的对象的一个或者多个上下文相对应。
数据库模块518可以确定对象的一个或者多个特性、对象的类别、场景的特性、对象的上下文、或者上述的组合与对象信息数据库530中包括的对象的对应特征之间的相似度。例如,数据库模块518可以确定在视线目标的特性与对象信息数据库530中包括的对象的特性之间的相似度。另外,数据库模块518可以确定在视线目标的类别与对象信息数据库530中包括的对象的类别之间的相似度。同样,数据库模块518可以确定在包括视线目标的场景的特性与包括对象信息数据库530的对象的场景的特性之间的相似度。进一步地,数据库模块518可以确定在视线目标的上下文与对象信息数据库530中包括的对象的上下文之间的相似度。在一些情况中,在视线目标的第一特性与对象信息数据库530中包括的对象的第二特性之间的相似度可以用数字表示,诸如表示为相似度分数。在各种实施方式中,相似度阈值可以被表示为相对于相似度分数的底数。
在数据库模块518确定在视线目标的特性与对象信息数据库530中包括的一个或者多个对象的特性之间的一个或者多个相似度满足相似度阈值的情况下,数据库模块518可以确定视线目标被包括在对象信息数据库530中。例如,数据库模块518可以确定在视线目标的一个或者多个特性与对象信息数据库530中包括的对象的对应特性之间的相似度满足相似度阈值。在这些情况下,数据库模块518可以确定视线目标与对象信息数据库530的对象相对应。举例说明,数据库模块518可以确定视线目标的轮廓相对于对象信息数据库530中包括的对象的轮廓满足相似度阈值。在另一说明示例中,数据库模块518可以确定视线目标的图像相对于对象信息数据库530中包括的对象的图像满足相似度阈值。
在数据库模块518确定在视线目标的一个或者多个特征与对象信息数据库530的对象的特征之间的相似度不满足相似度阈值的情况下,数据库模块518可以确定视线目标不存在于对象信息数据库530中。在示例中,数据库模块518可以确定视线目标的特性、视线目标的类别、视线目标的上下文、视线目标的场景的特性、或者上述的组合相对于对象信息数据库530中包括的对象的对应的对象特性、对象类别、场景特性、上下文、或者上述组合不满足相似度阈值。数据库模块518可以基于确定视线目标不存在于对象信息数据库530来调用组选择模块520。
组选择模块可以包括计算机可读指令,该计算机可读指令能够由处理器510执行以确定一组个体来提供对视线目标进行标识的请求。在一些情况中,组选择模块520可以访问个体列表并且确定对视线目标进行标识的请求将被发送至列表上包括的个体的一个或者多个计算设备。另外,组选择模块520可以标识列表中包括的个体的子集,以关于对视线目标进行标识进行联系。例如,组选择模块520可以在每次要发送对对象进行标识的请求时在列表中包括的一定数目的个体之间转动。
在具体的实施方式中,组选择模块520可以基于一个或者多个标准来评估列表中包括的个体,以确定出一组个体,来关于标识不存在于对象信息数据库530中的视线目标进行联系。在示例中,多组个体可以与对象的一个或者多个特征相关联,诸如对象的一个或者多个类别、对象的一个或者多个特性、场景的一个或者多个特性、对象的一个或者多个上下文、其它标准、或者上述的组合。组选择模块520可以确定在与这些组相关联的一个或者多个特征与要标识的对象的一个或者多个特征之间的相似度。举例说明,组选择模块520可以确定在与一组个体相关联的一个或者多个对象特性与要标识的对象的一个或者多个特性之间的相似度。在另一说明中,组选择模块520可以确定在与一组个体相关联的类别与要标识的对象的类别之间的相似度。在另一说明示例中,组选择模块520可以确定在与一组个体相关联的上下文与要标识的对象的上下文之间的相似度。进一步地,组选择模块520可以确定在与一组个体相关联的场景的一个或者多个特性与要标识的对象的场景的一个或者多个特性之间的相似度。在一些实施方式中,相似度可以用数字表示成相似度分数。
组选择模块520可以确定在一组个体的一个或者多个特征与对象的一个或者多个特征之间的相似度满足相似度阈值。在这些情况下,组选择模块520可以确定关于对对象进行标识将联系该组。在这些情况中,组选择模块520可以标识多个组,这些组相对于要标识的对象的一个或者多个特征满足相似度阈值。在一些情况中,组选择模块520可以对这些组进行排名。组选择模块520可以确定关于对对象进行标识将联系排名最高的组。在其它实例中,组选择模块520可以确定关于对对象进行标识将联系满足相似度阈值的多个组。在说明示例中,组选择模块520可以确定关于对对象进行标识将至少联系这组个体534。
组通信模块522可以包括计算机可读指令,该计算机可读指令能够由处理器510执行以向一组个体的计算设备(诸如一组个体534的计算设备)发送通信来标识对象。通信可以包括标识对象的请求。另外,通信可以包括与要标识的对象有关的信息。例如,通信可以包括要标识的对象的描述、要标识的对象的上下文、靠近要标识的对象的其它对象的描述、要标识的对象的一个或者多个图像、包括要标识的对象的场景的一个或者多个图像、或者上述组合。在具体的实施方式中,通信可以包括电子邮件、短信(例如,短消息服务(SMS)消息、多媒体消息服务(MMS)消息)、音频消息、视频消息、或者上述的组合。在其它实施方式中,组通信模块522可以经由移动设备应用与一组或者多组个体进行通信以标识对象。同样,组通信模块522可以生成与用户界面相对应的信息,该用户界面可访问一组或者多组个体并且可以捕获关于对对象进行标识的信息。在各种实施方式中,通信可以包括结构化表格,该结构化表格可以包括一个或者多个数据捕获元素,可以将对象的一个或者多个标识符提供在一个或者多个数据捕获元素中。
在一个或者多个图像被包括在发往至少一组个体的通信中的情景中,组通信模块522可以修改场景的图像,该场景包括要标识的对象。例如,包括对象的场景可以包括附加特征,诸如其它对象、个体、地标等。在一些情况中,图像中包括的附加特征可以被用于标识人员,或者可能不适合一些人观看到。组通信模块522可以分析图像并且标识可以从图像移除的与隐私或者不适当的内容有关的特征。另外,组通信模块522可以在将图像包括在发往与标识对象有关的一组个体的通信中之前,通过移除隐私相关的特征和/或不适当的内容,来修改图像。
组通信模块522可以从至少一组个体中的一个或者多个个体接收关于标识对象的请求的响应。组通信模块522还可以从响应中提取对象的标识符。在一些情况中,组通信模块522可以获取与发送至这组个体的通信的特定数据捕获元素有关的标识符。在其它情况下,组通信模块522可以解析响应的文本以确定对象的标识符。
标识符选择模块524可以包括计算机可读指令,该计算机可读指令能够由处理器510执行以分析从多组个体接收到的响应中包括的标识符。当接收到针对特定对象的响应时,标识符选择模块524可以从组通信模块522获取对象的标识符并且确定每个标识符的出现次数。然后,标识符选择模块524可以根据每个标识符的出现次数来对标识符排名。在一些情况下,标识符选择模块524可以标识具有最高排名的标识符,即,在响应中出现次数最高的标识符。标识符选择模块524可以将具有最高排名的标识符分给对象。在一些实施方式中,标识符选择模块524可以将响应中包括的多个标识符分给对象。例如,标识符选择模块524可以确定在响应中具有阈值出现次数的多个标识符。
在各种实施方式中,在标识符选择模块524已经确定对象的一个或者多个标识符之后,标识符选择模块524可以将对象添加到对象信息数据库530。例如,除了关于对象的其它信息(诸如,对象的特性、对象的一个或者多个上下文、对象所在场景的一个或者多个特性、对象的类别、或者上述的组合)之外,标识符选择模块524还可以存储对象的标识符。在一些情况中,对象信息数据库530中存储的与对象有关的信息可以从接收自至少一组个体的一个或者多个响应中获取。同样,标识符选择模块524可以利用与对象相关联的标识符来抓取网站以获取关于对象的信息并且将对应的信息存储在对象信息数据库530中。在一些情况中,可以将唯一标识符与对象相关联以便针对对象信息数据库530索引对象,从而可以针对后续的标识对象的请求而访问关于对象的信息。
标识响应模块526可以提供计算机可读指令,该计算机可读指令能够由处理器510执行以基于标识对象的请求向人们发送响应。标识响应模块526可以获取作为标识请求的主题的对象的标识符,并且将该标识符传送至提出该请求的个体的一个或者多个计算设备。在一些情况中,该通信可以包括电子邮件、SMS消息、MMS消息、音频消息、视频消息、或者上述的组合。在其它情况下,通信可以经由移动设备应用、用户界面(其能够经由网站访问)、或者两者来提供。进一步地,标识响应模块526可以生成数据,该数据可以被发送至电子设备(诸如电子设备506)并且被电子设备用来将标识符传送至个体。在一些情况中,被发送至电子设备的数据可以包括可听输出、可视输出、或者两者。
另外,标识响应模块526可以接收来自个体的计算设备的反馈,该反馈指示对象的标识符不正确、标识出了错误的对象、或者两者。在这些情况下,标识响应模块526可以与个体的电子设备进行通信以标识作为对象标识请求的主题的正确对象和/或调用组选择模块520、组通信模块522、或者两者以向至少一组个体发送标识正确对象的另一些请求。在一些情况下,新的请求可能会被发送至错误地标识了初始对象的相同组。在其它情况下,组选择模块520可以确定不同组以关于标识对象进行联系。在另一些实施方式中,标识符选择模块524可以被调用以从针对初始对象接收到的响应中选择不同的标识符以提供给个体。
系统500的电子设备506可以包括处理器536和计算机可读存储介质538。处理器536可以包括硬件处理单元,诸如中央处理单元、图形处理单元、或者两者。在实施方式中,计算机可读存储介质538可以包括在任何类型的用于存储信息(诸如计算机可读指令、数据结构、程序模块、或者其它数据)的技术中实施的易失性和非易失性存储器和/或可移动和不可移动介质。这种计算机可读存储介质538可以包括,但不限于,RAM、ROM、EEPROM、闪存或者其它存储器技术、CD-ROM、数字通用光盘(DVD)或者其它光学存储装置、固态存储、磁盘存储、可移动存储介质、或者可以被用于存储所需的信息并且可以由计算设备506访问的任何其它介质。根据计算设备506的配置,计算机可读存储介质538可以是一种有形计算机可读存储介质并且可以是非暂时性存储介质。电子设备506还可以包括一个或者多个网络接口(未示出)以经由一个或者多个网络504与其它计算设备通信。
电子设备506还可以包括一个或者多个输入/输出设备540。输入/输出设备540可以包括一个或者多个传感器。在至少一个示例中,输入/输出设备540可以包括(一个或多个)传感器,该传感器可以包括被配置为感测个体508的情况或者个体508的周围事物的任何设备或者设备的组合。输入/输出设备540可以包括用于追踪用户的眼睛移动或者视线、面部表情、瞳孔扩张和/或收缩、手势、和/或其它特性的一个或者多个面向用户的相机或者其它传感器。在一些示例中,输入/输出设备540可以包括用于捕获真实世界对象的图像和个体508的周围事物的图像的一个或者多个面朝外的相机或者环境相机。输入/输出设备540可以另外地或者可替代地包括一个或者多个生物传感器(例如,用于测量皮肤电反应的皮肤电反应传感器、心率监测仪、用于测量皮肤表面的温度的皮肤温度传感器、用于测量脑电活动的脑电图(EEG)设备、用于测量心电活动的心电图(ECG或者EKG)设备)、一个或者多个其它相机(例如,Web相机、红外相机、深度相机等)、麦克风或者用于测量语音的音量、语速等的其它声音传感器、光传感器、光学扫描仪等。
各个输入/输出设备540可以将数据输出至用于进行适当处理的一个或者多个模块(诸如视线追踪模块542、对象请求模块544、和对象响应模块546)。例如,面向用户的相机可以捕获视线追踪数据以确定一个或者多个视线目标和/或个体508的视线路径,该视线追踪数据可以由视线追踪模块542处理。然后,视线追踪模块542可以将视线目标和/或视线路径输出至对象请求模块544或者输出至计算设备502以生成标识视线目标的请求。
在另外的和/或可替代的示例中,输入/输出设备540可以包括被配置为检测电子设备506和其它对象的位置或者移动的任何设备或者设备的组合。例如,输入/输出设备540可以另外地和/或可替代地包括深度图传感器、光场传感器、陀螺仪、声呐传感器、红外传感器、指南针、加速度计、全球定位系统(GPS)传感器、和/或用于检测电子设备506和/或其它对象的位置或者移动的任何其它设备或者部件。输入/输出设备540还可以实现生成表示与电子设备506的互动(诸如用户手势)的数据。举例说明,输入/输出设备540可以实现生成限定一个或者多个对象(其可以包括电子设备506、电子设备506附近的物品、和/或用户)的位置和移动方面(例如,速度、方向、加速度)的数据。
在一些实施方式中,输入/输出设备540中的至少一些可以是电子设备506的一部分,或者内置于电子设备506中。更具体地说,电子设备506可以包括面向用户的相机传感器和/或环境相机,面向用户的相机传感器和/或环境相机被设置在电子设备506的鼻梁部件中或者与电子设备506的鼻梁部件集成在一起。如上所述,电子设备506可以包括一个或者多个输入/输出设备540的任何配置,一个或者多个输入/输出设备540可以是电子设备506的一部分,或者内置于电子设备506中。然而,在一些示例中,输入/输出设备540中的一个或者多个可以可移除地耦合至电子设备506,或者可以与电子设备506分离并且通信地耦合至电子设备506。在后一种情况中,来自输入/输出设备540的数据可以从输入/输出设备540传送至电子设备506,例如,经由有线和/或无线网络(诸如网络504)。
另外,输入/输出设备540可以包括一个或者多个输入接口,一个或者多个输入接口可以包括键盘、小键盘、鼠标、麦克风、触摸传感器、触摸屏、摇杆、控制按钮、滚动按钮、相机、神经接口、或者适合生成限定用户与电子设备506的互动的信号和/或数据的任何其它设备。举例说明,并非是限制性的,输入/输出设备540可以包括显示器(例如,全息显示器、抬头显示器、投影仪、触摸屏、液晶显示器(LCD)等)、扬声器、触觉接口等。
在至少一个示例中,电子设备506的显示设备可以包括硬件显示表面,该硬件显示表面可以被配置为透过硬件显示表面实现了对象的真实世界视图,而且还提供了对计算机生成的内容或者场景的渲染显示。硬件显示表面可以包括一个或者多个部件,诸如投影仪、屏幕、或者用于产生对对象和/或数据的显示的其它合适的部件。在一些配置中,硬件显示表面可以被配置为覆盖用户的至少一只眼睛。在一个说明示例中,硬件显示表面可以包括被配置为覆盖用户的两只眼睛的屏幕。硬件显示表面可以渲染一个或者多个图像或者使得显示一个或者多个图像,以便生成一个或者多个计算机生成的虚拟对象的视图或者立体图像。举例说明,对象可以是物品、数据、设备、人员、地方、或者任何类型的实体。在至少一个示例中,对象可以与功能或者特征相关联,该功能或者特征与应用相关联。一些配置可以使得电子设备506能够从图形上将全息用户界面和其它图形元素,与透过硬件显示表面看到的对象或者被显示在电子设备506的硬件显示表面上的渲染对象相关联。
电子设备506的硬件显示表面可以被配置为允许个体508观看来自不同环境的对象。在一些配置中,硬件显示表面可以显示计算机生成的虚拟对象的渲染图。另外,硬件显示表面的一些配置可以允许个体508透视硬件显示表面的具有可控透明度的可选择部分,从而使得个体508能够观看在他或她的周围环境中的对象。举例说明,个体508透过硬件显示表面看对象的透视图在本文中被称为对象的“真实世界视图”或者“物理对象的真实世界视图”。对象和/或数据的计算机生成的渲染图可以被显示在硬件显示表面的所选部分中、在硬件显示表面的所选部分周围或者在硬件显示表面的所选部分附近,使得个体508能够结合透过硬件显示表面的所选部分观察到的对象的真实世界视图来观看计算机生成的渲染图。
本文描述的一些配置同时提供了“透视显示器”和“增强现实显示器”。举例说明,“透视显示器”可以包括透明透镜,该透明透镜可以具有显示在其上的内容。“增强现实显示器”可以包括不透明的显示器,该不透明的显示器被配置为显示图像的渲染图上的内容,该图像可以来自任何来源,诸如来自被用于捕获环境的图像的相机的视频馈送。举例说明,本文描述的一些示例描述了在图像显示器上显示渲染内容。另外,本文描述的一些示例描述了在“透视显示器”上显示渲染内容的技术,使得用户能够利用该内容看到对象的真实世界视图。可以理解的是,本文描述的技术的示例可以适用于“透视显示器”、“增强现实显示器”、或者其变型和组合。举例说明,被配置为实现“透视显示器”、“增强现实显示器”、或者其组合的设备在本文中被称为能够提供“混合环境”或者“混合现实场景”的设备。
如前面阐释的,计算机可读存储介质538可以存储视线追踪模块542,视线追踪模块542能够由处理器536执行以确定个体508的视线路径。在一些情况中,可以基于个体508的一个或者多个图像来确定视线路径。例如,个体508的视线路径至少部分地基于个体508的至少一只眼睛的图像。计算机可读存储介质538还存储对象请求模块544,对象请求模块544包括指令,该指令能够由处理器536执行以确定个体508正在提供标识对象的请求。在一些情况下,对象请求模块544可以分析个体508的可视数据、个体508的可听数据、或者两者,以确定个体508正在请求对对象进行标识。
进一步地,对象响应模块546可以包括计算机可读指令,该计算机可读指令能够由处理器536执行以向个体508提供对象的标识符。具体地,对象响应模块546可以使得从计算设备502接收到的对象的标识符被显示在电子设备506的显示屏幕上。在其它情况下,对象响应模块546可以将从计算设备接收到的对象的标识符投影到包括个体508的场景中。在另一些情景中,对象响应模块546可以经由电子设备506的输出设备中的一个或者多个提供音频输出,该音频输出包括从计算设备502接收到的标识符。同样,当已经针对错误对象提供了标识符时,对象响应模块546可以执行操作以标识对象。例如,对象响应模块546可以改变场景中包括的一个或者多个其它对象的外观以凸显对象并且获取来自个体508的反馈,以确定凸显的对象中的一个对象是否是正确对象。在一些情况中,对象响应模块546可以使得电子设备506将网格投影到场景中的对象上。在其它情况中,对象响应模块546可以使得电子设备508使对象发光、使对象改变颜色、将符号投影到对象上或者对象周围、或者上述的组合。
在一些实施方式中,视线追踪模块542执行的操作中的至少一部分操作可以包括视线追踪数据模块514执行的操作,对象请求模块544执行的操作中的至少一部分操作可以包括标识请求模块516执行的操作,对象响应模块546执行的操作中的至少一部分操作可以包括标识响应模块526执行的操作,或者上述的组合。
在图6和图7的流程图中,每个框表示可以被实施在硬件、软件、或者其组合中的一个或者多个操作。在软件的上下文中,这些框表示计算机可执行指令,计算机可执行指令在由一个或者多个处理器执行时使得处理器执行上述操作。通常,计算机可执行指令包括执行特定功能或者实施特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。这些框被描述的顺序不旨在被解释为是限制性的,并且任何数目的所描述的操作都可以以任何顺序组合和/或并行地组合以实施这些过程。出于讨论的目的,可以参照上述的图1、2、3、4或5来描述过程600和700,虽然其它模型、框架、系统和环境也可以实施这些过程。
图6是使用视线追踪技术来标识对象的第一示例过程600的流程图。在602,过程600包括确定个体的视线路径。在一些情况中,可以通过捕获个体的至少一只眼睛的图像并且使用该图像来确定个体的一只或者多只眼睛的位置,以确定个体的视线路径。个体的至少一只眼睛的位置可以被用于确定个体的视线。可以通过个体的可穿戴计算设备来确定个体的视线路径。在这些情况下,可穿戴计算设备可以捕获个体的至少一只眼睛的位置的图像并且分析图像以确定个体的视线路径。在其它实施方式中,可以通过离个体的可穿戴计算设备较远的计算设备来确定个体的视线路径。在远程地确定出视线的情况下,可穿戴计算设备可以捕获个体的至少一只眼睛的图像并且将图像发送至远程服务器计算设备。远程服务器计算设备可以分析图像以确定个体的视线并且将指示个体的视线路径的信息发送回可穿戴计算设备。
在604,过程600包括确定场景中包括的对象的位置。可以基于场景的图像来确定对象的位置。例如,一个或者多个相机可以捕获场景的图像并且确定场景中的对象与一个或者多个相机的位置之间的距离。该距离可以被用于确定场景中包括的对象的位置。也可以通过个体的可穿戴计算设备来确定对象的位置,或者通过离得较远的服务器计算设备来确定对象的位置。在通过可穿戴计算设备确定对象的位置的情景中,可穿戴计算设备可以捕获场景的图像并且基于场景的图像来确定场景中对象的位置。在离得较远的服务器计算设备确定对象的位置的实施方式中,可穿戴计算设备可以捕获场景的图像并且将场景的图像发送至远程服务器计算设备。服务器计算设备可以分析图像以确定对象的位置,并且将指示对象的位置的指示发送至可穿戴计算设备。
在一些情况中,计算设备可以生成场景的至少一部分。可以通过计算设备将场景的计算机生成的部分投影到场景中。在其它实施方式中,可以经由计算设备的显示设备来显示场景的计算机生成的部分。另外,场景的至少一部分可以包括真实世界场景并且对象可以是真实世界场景中的有形的物理对象。
在606,过程600包括至少部分地基于对象的位置来确定对象在个体的视线路径内。在一些实施方式中,计算设备可以确定场景中与个体的视线路径对应的位置与场景中对象的位置重叠。通过这种方式,可以标识出视线目标。
在608,过程600包括接收输入数据,输入数据包括可听输入、可视输入、或者传感器输入中的至少一种,并且在610,过程600包括确定输入数据与对对象进行标识的请求相对应。可听数据可以包括词语、声音、或者两者;可视数据可以包括手势;并且传感器输入可以包括脑电图(EEG)模式。确定输入数据与对对象进行标识的请求相对应可以包括:相对于已经被预定为与对对象进行标识的请求相对应的信息,来分析输入数据。例如,某些词语和/或声音可以被预定为与对对象进行标识的请求相对应。在另一示例中,特定手势可以被预定为与对对象进行标识的请求相对应。在另一示例中,特定EEG模式可以与对对象进行标识的请求相对应。因此,确定输入数据与对对象进行标识的请求相对应可以包括:标识在可听数据、可视数据、或者传感器数据中的至少一种与预定声音、预定词语、预定手势、或者预定EEG模式中的至少一种之间的相似度。
在612,过程600包括从另一个体的另一计算设备接收对象的标识符。该标识符可以由接收到对对象进行标识的请求的一组个体中包括的个体提供。在具体的实施方式中,计算系统可以确定个体正在请求进行标识的对象未被包括在存储对象信息数据库的数据存储库中。计算系统可以通过将对象的特性、包括对象的场景的上下文、或者其两者与对象信息数据库中包括的对象的特性、对象信息数据库中包括的对象的上下文、或者其两者进行比较,来确定对象是否被包括在对象信息数据库中。可以基于对象的图像来确定对象的特性。可以通过基于场景的图像标识对象的场景的特性,来确定对象的上下文。在对象信息数据库中包括的对象的特性和上下文不与个体正在请求进行标识的对象的特性和上下文相对应的情况下,计算系统可以确定对象不存在于对象信息数据库中。在这些情况下,计算系统可以标识一组个体来与其通信,以标识对象。例如,计算系统可以将包括对对象进行标识的请求的通信发送至这组个体,并且这组中的至少一个成员可以将对象的标识符发送至计算系统或者发送至个体的计算设备。
在614,过程600包括生成输出数据,输出数据包括对象的标识符。该输出数据可以包括可听输出或者可视输出中的至少一种。可以将可视输出显示在显示设备上或者投影到场景中。可以经由计算设备的一个或者多个扬声器、场景中包括的一个或者多个扬声器、或者其两者来提供可听输出。
在一些情况下,标识符可能与错误的对象相关联。即,提供标识符所针对的对象可能不是个体正在请求进行标识的对象。在这些情况下,计算系统可以从个体接收指示已经标识出错误对象的输入。计算系统可以将网格或者符号的图像投影到场景中的不同对象上,以便试图确定个体正在请求进行标识的正确对象。响应于网格或者符号被投影到正确对象上,计算系统可以从个体接收指示要对另一对象进行标识的另一输入。
图7是使用视线追踪技术来标识对象的第二示例过程700的流程图。在702,过程700包括接收与对对象进行标识的请求有关的信息。该请求可以接收自个体的计算设备。在一些情况中,个体的计算设备可以将信息提供至计算系统以确定已经提供了对对象进行标识的请求。例如,计算系统可以接收指示词语、声音、手势、生理数据、或者上述的组合的数据,并且确定该数据对应于与对对象进行标识的请求相关联的预定的词语、声音、手势、生理数据、或者上述的组合。
另外,在704,过程700包括确定对象不存在于对象信息数据库中。具体地,计算系统可以执行在对象的图像的特征与对象信息数据库中包括的多个对象的图像的特征之间的比较。另外,计算系统可以确定图像与对象信息数据库中包括的多个对象中的各个对象的相似度分数。在计算系统确定相似度分数中的每个相似度分数低于阈值的情况下,计算系统可以确定对象不存在于对象信息数据库中。
在706,过程700包括从多组个体中标识一组个体。在一些情况中,可以至少部分地基于与对象相关联的类别和与该组相关联的类别来标识该组。例如,计算系统可以至少部分地基于对象的一个或者多个图像来确定对象的多个特性,并且然后至少部分地基于对象的多个特性来确定对象的类别。然后,计算系统可以确定对象的类别与同该组相关联的另一类别相对应,并且至少部分地基于与另一类别(其与该组相关联)相对应的对象的类别来选择该组。
在708,过程700可以包括将通信(其包括对对象进行标识的请求和对象的图像)发送至该组中包括的个体的计算设备。在具体的实施方式中,通信可以包括仅仅是要标识的对象的图像。在其它情况下,通信可以包括图像,该图像包括对象和对象所在场景中包括的其它特征。在一些实施方式中,计算系统可以通过移除场景的特征来过滤场景的图像。例如,计算系统可以标识场景中与对象不同的一个或者多个特征并且从图像移除该一个或者多个特征的至少一部分以产生经修改的图像,其中,经修改的图像包括该对象。举例说明,计算系统可以根据隐私过滤器而从图像移除特征,该隐私过滤器从图像移除个体信息或者不适当的信息中的至少一种。被发送至该组的计算设备的通信可以包括经修改的图像。
在710,过程700包括从该组的计算设备中的至少一部分计算设备接收响应。响应可以包括对象的多个标识符。进一步地,在712,过程700包括至少部分地基于响应中标识符的出现次数从多个标识符中选择标识符。在具体的实施方式中,计算系统可以确定与多个标识符中的每个标识符相关联的响应的数目并且至少部分地基于针对每个标识符的响应的数目来确定多个响应的排名。基于排名,计算系统可以确定与最大数目的响应相关联的标识符。随后,在714,过程700包括向个体的计算设备提供包括对象的标识符的附加信息。
现在参照图8A-8C、图9A-9F、图10A-10F和图11,以下部分描述了标识视线目标的技术。在具有面向用户的视线追踪相机的头戴式计算设备的背景下描述这些技术。然而,在这些部分中描述的技术也可以适用于其它类型的具有用于进行视线追踪的面向用户的相机的计算设备(例如,具有Web相机的计算机、具有面向用户的相机的平板或者智能手机、具有面向用户的相机的游戏机等)。图8A是具有一个或者多个硬件显示表面802和一个或者多个传感器804和804’的设备800(例如,计算设备112)的后视图。在至少一个示例中,(一个或多个)传感器804’是面向用户的并且可以被配置为追踪用户的至少一只眼睛的位置。另外,至少一个其它传感器804可以是面向场景的相机并且可以针对真实世界对象以便生成真实世界对象的图像数据。如下面将更详细地描述的,示例可以处理眼睛位置数据、图像数据和其它数据以标识视线目标,该视线目标是被显示在硬件显示表面802上的渲染对象或者透过硬件显示表面802的透明部分观看到的真实世界对象。如下面还将描述的,本文描述的示例还可以确定用户是否正看着硬件显示表面802的特定部分、真实世界对象的特定部分、或者渲染对象的特定部分。这种信息对于从视线追踪数据确定视线目标可能是有用的,其中,视线目标是对象标识请求的主题。
在图8A中,设备800包括面向用户的传感器804’中的两个,面向用户的传感器804’中的两个用于生成指示用户的至少一只眼睛的位置或者移动的数据或者信号。传感器804’可以是相机的形式或者用于追踪用户的至少一只眼睛的位置或者移动的另一合适的设备的形式。设备800还可以包括用于使用户能够观看一个或者多个对象的至少一个硬件显示表面802。如上所述,硬件显示表面802可以提供透过硬件显示表面802的真实世界对象的视图、以及提供可以被显示在硬件显示表面802上的渲染对象的图像。
图8B是图8A所示设备800的侧面剖视图806。图8B包括透过硬件显示表面802进行观看的用户的眼睛808。硬件显示表面802被配置为创建使得用户能够透过硬件显示表面802观看对象的透明部分。图8B示出了将真实世界对象810与硬件显示表面802的透明部分对齐的示例布置,硬件显示表面802的透明部分使用户能透过硬件显示表面802观看真实世界对象810。硬件显示表面802可以显示一个或者多个渲染对象。设备800还包括针对用户的至少一只眼睛808的至少一个传感器804’。
图8C示出了用户经由硬件显示表面802可以观察到的示例场景或者视图812。粗双线814示出了硬件显示表面802的边界。在该说明示例中,场景或者视图812包括被显示在硬件显示表面802上的真实世界对象816、第一渲染对象818和第二渲染对象820。真实世界对象816透过硬件显示表面802被观看。
在上述非限制性示例中,用户可以确定场景812包括用户无法标识的对象,诸如第二渲染对象818。例如,用户可以提供可听表达和/或手势来指示用户正在请求对第二渲染对象818进行标识。在具体的示例中,用户可以指着第二渲染对象并说“那是什么?”。设备800可以执行操作的至少一部分来提供对用户的请求的响应。另外,设备800可以与一个或者多个另外的计算设备进行通信以获取对该请求的响应。在确定与第二渲染对象818相关联的标识符时,设备800可以提供指示第二渲染对象818的标识符的输出。举例说明,设备800可以提供指示第二渲染对象818的标识符的可听输出、可视输出、或者两者。
为了促进这种示例的方面,设备800可以利用一种或者多种用于校准设备800的技术。以下部分结合图9A-9F描述了用于获取校准数据的技术的方面。随后的部分结合图10A-10F描述了设备800处理校准数据和其它数据以标识视线目标的示例情景的方面。
可以以多种方式来校准设备800。在一个示例中,设备800可以利用在预定位置处的多个图形元素的显示。在显示图形元素时,设备800可以提示用户看特定图形元素并且提供输入以验证用户正看着特定图形元素。当用户验证他或她正在看特定图形元素时,(一个或多个)传感器804’可以生成限定至少一只眼睛的位置的眼睛位置数据。响应于接收到来自用户的验证,可以将眼睛位置数据存储在存储器中的数据结构中。
图9A示出了可以由设备800的传感器804’捕获的示例视图900。从这个角度看,设备800可以确定限定了用户的至少一只眼睛808的位置的一个或者多个值。在一个说明示例中,这些值可以包括指示用户眼睛之间的距离的第二值(D2)、以及指示用户的至少一只眼睛与参照点902之间的距离的第三值(D3)、第四值(D4)和第五值(D5)。可以理解,通过使用一种或者多种图像处理技术,可以标识和利用眼睛的一个或者多个方面(诸如瞳孔)来确定眼睛位置。
另外,通过使用一种或者多种适当的技术,可以选择参照点902。参照点902可以基于用户的特征,例如鼻尖、眉毛、美人痣,或者参照点902可以在任意位置。在图9A的示例中,将用户眼睛之间的点用作参照点902。该示例参照点902是出于说明的目的而提供的,不应该被解释为具有限制性。可以理解的是,参照点902可以在任何合适的位置,其可以基于用户或者任何对象的可标识特征或者特性。
如上所述,设备800可以在硬件显示表面802的预定位置处生成多个图形元素。在将图形元素显示在硬件显示表面802上时,设备800可以提示用户看图形元素并且提供验证用户正在看图形元素的输入。图9B示出了可以由设备800生成以促进校准过程的图形元素906的示例视图904。在该示例中,设备800在观看区域的中心处生成图形元素906的渲染图。在显示图形元素906的同时,设备800可以生成针对用户的提示以验证他或她正在看图形元素906。该提示以及针对提示的用户响应可以包括手势、语音命令、或者其它适当类型的输入。
当设备800验证到用户正在看图形元素906时,设备800可以记录指示用户的至少一只眼睛808的位置和/或移动的一个或者多个值。例如,可以将上面描述的并且在图8B和图9A中示出的一个或者多个值存储在存储器的数据结构中。可以理解的是,可以存储和利用任何适当的值或者值的组合,包括但不限于:指示传感器804’与用户的至少一只眼睛808之间的距离的第一值(D1)、指示用户眼睛之间的距离的第二值(D2)、指示在至少一只眼睛808与参照点902之间的距离的其它值(D3、D4和D5)。这些值是出于说明的目的而提供的,不应该被解释为具有限制性。可以理解的是,这些值、这些值的子集、和其它测量结果的其它值都可以用于确定用户的一只或者多只眼睛的移动和/或位置。
可以在被显示在各种位置中的其它图形元素的显示期间测量其它的值集合。例如,如图9C所示,可以在显示第二图形元素908(如图9D所示)时测量第二值集合(D2’、D3’、D4’和D5’)。如图9E所示,可以在显示第三图形元素910(如图9F所示)时测量第三值集合(D2”、D3”、D4”和D5”)。
这些示例测量结果和图形元素的位置都是出于说明的目的而提供的。可以理解,可以将任何数目的图形元素放置在不同的位置以获得可以被用于校准设备800的测量结果。例如,设备800可以顺序地将图形元素显示在视图904的预定位置处,诸如视图904的每个角落。如可以理解的,在校准过程中可以使用更多或者更少的图形元素。
指示在每个预定位置处的至少一只眼睛808的位置的值可以被用于生成校准数据。校准数据可以被配置为使眼睛位置数据集合与标识图形元素的位置的数据相关联。
可以使用适合生成校准数据的任何已知的技术。可以理解,校准数据的生成可以包括外插、投影和/或估计技术,外插、投影和/或估计技术可以投影在眼睛位置数据集合与硬件显示表面802的各个部分和/或硬件显示表面802的像素之间的相关性。这些示例是出于说明的目的而提供的,不应该被解释为具有限制性,并且可以通过其它方式获取值和/或校准数据,包括:从一个或者多个远程资源接收这种校准数据。
一旦生成或者获取校准数据,这种数据和其它数据就可以被设备800用来确定用户是否正在看特定视线目标,该视线目标可以包括硬件显示表面802的一部分、渲染对象、渲染对象的一部分、真实世界对象、或者真实世界对象的一部分。图10A-10F描述了使用具有至少一个传感器804’的设备800来追踪用户的至少一只眼睛808的移动以标识视线目标的示例情景的方面。
现在参照图10A和图10B,示出和描述了表示视线目标的标识的示例情景。在该示例中,用户正在看示例视图812。如上面参照图8C概述的,示例视图812同时包括硬件显示表面802上的渲染对象(例如,第一渲染对象818和第二渲染对象820)的视图以及透过硬件显示表面802的真实世界对象816的视图。在用户正在看视图812时,(一个或多个)传感器804’可以使得生成一个或者多个测量出的值,诸如图10A中示出的值。在一些示例中,通过使用适当的技术的任何组合,可以将该值与校准数据和/或其它数据进行比较以标识视线目标。在该示例中,可以利用校准数据来处理在图10A中描绘的情景中测量出的一个或者多个值,以确定用户正在看真实世界对象816。在这种示例中,图10A中示出的一个或者多个测量出的值还可以被用于确定用户正在看界面的预定部分,诸如图10B中的硬件显示表面802的第一部分1000。
继续该示例,可以利用校准数据来处理在图10C中描绘的情景中测量出的一个或者多个值,以确定用户正在看第二渲染对象818。在这种示例中,图10C中示出的一个或者多个测量出的值还可以被用于确定用户正在看图10D中的硬件显示表面802的第二部分1002。
继续本示例,可以利用校准数据来处理在图10E中描绘的情景中测量出的一个或者多个值,以确定用户正在看第二渲染对象820。在这种示例中,可以利用校准数据来处理在图10E中示出的一个或者多个测量出的值以确定用户正在看图10F中的硬件显示表面802的第三部分1004。
在一些示例中,设备800可以利用来自资源的组合的数据,以确定用户是否正在通过硬件显示表面802看第二渲染对象820。如上面所概述的,安装至设备800的相机或者其它类型的传感器804(图8A)可以针对用户的视野。从相机生成的图像数据可以被分析以确定视野中的对象是否在图像数据的图像的预定位置中。如果对象被定位在图像的预定区域内,诸如图像的中心,则设备可以确定视线目标,利用眼睛位置数据处理这种数据。这种数据可以被用于补充其它类型的数据,诸如来自GPS的位置数据和/或从指南针或者加速度计生成的数据,以协助设备800来确定视线方向(例如左、右、上或者下)、和/或视线目标。
图11是示出了用于确定视线目标的示例过程1100的方面的流程图。在图11中,为了方便起见,以设备800为背景来描述操作。然而,这些操作也可适用于其它设备,包括但不限于计算设备112。
框1102示出了获取校准数据。在至少一个示例中,操作系统、应用、或者另一模块可以获取校准数据。校准数据可以被存储在计算机可读存储介质中的数据结构中以便稍后访问。校准数据可以由设备800生成或者校准数据可以从远程资源接收。在一些示例中,计算设备800的传感器可以被定位为追踪用户的至少一只眼睛的位置。传感器可以使得生成一个或者多个值,一个或者多个值使用户的至少一只眼睛的位置与硬件显示表面的特定部分或者位置相关联。这种示例可以利用设备800将一个或者多个图形元素显示在预定位置处的初始化过程。在显示一个或者多个图形元素期间,来自用户的一个或者多个输入可以指示用户正在看一个或者多个图形元素。响应于该输入,设备800可以生成校准数据,该校准数据包括使用户的至少一只眼睛的位置与标识硬件显示表面的特定位置或者部分相关联的值。
框1104示出了获取指示用户的至少一只眼睛的位置的传感器数据。在至少一个示例中,操作系统、应用、或者另一模块可以从一个或者多个传感器获取传感器数据。传感器数据可以被存储在(一个或多个)传感器数据收集模块中的数据结构中或者被存储在计算机可读存储介质中的某个位置以便稍后访问。如上面概述的,针对用户的至少一只眼睛的(一个或多个)传感器可以使得生成指示用户的至少一只眼睛的位置的传感器数据(例如,视线追踪数据)。可以对传感器数据进行处理以生成指示用户的视线方向的数据。如下面将描述的,可以用校准数据来处理指示用户的视线方向的数据,以确定用户是否正在看视线目标,该视线目标可以包括显示在硬件显示表面上的渲染对象。
框1106示出了获取对象的图像数据。在至少一个示例中,与计算机可读介质相关联的操作系统、应用、或者另一模块可以获取传感器数据。图像数据或者与对象有关的其它信息可以被存储在(一个或多个)传感器数据收集模块的数据结构中或者被存储在任何计算机可读存储介质中的某个位置以便稍后访问。在一些示例中,安装至计算设备800或者与计算设备800通信的相机或者其它类型的传感器可以针对用户的视野。该相机或者其它类型的传感器可以使得生成图像数据,该图像数据可以包括在用户的视野中的对象的一个或者多个图像。图像数据可以是任何适当的格式,并且可以由任何适当的传感器(可以包括使用深度图传感器、相机等)生成。
框1108示出了利用图像数据或者传感器数据来确定视线目标。在至少一个示例中,与计算机可读介质相关联的操作系统、应用、或者另一模块可以确定视线目标。例如,如果用户正在透过硬件显示表面802看对象的真实世界视图,则针对用户的视野的传感器可以生成真实世界对象的图像数据。图像数据可以被分析,以确定视野中的对象是否在图像数据的图像的预定位置中。例如,如果对象被定位在图像的预定区域内,诸如图像的中心,则计算设备800可以确定对象是视线目标。在另一示例中,可以利用校准数据和/或图像数据来处理指示用户的至少一只眼睛的位置的传感器数据(例如,视线追踪数据),以确定用户是否正在看显示在硬件显示表面上的渲染对象。这种示例可以被用于确定显示在硬件显示表面上的渲染对象是视线目标。
图12示出了用于计算机(诸如计算设备112、计算设备502、和/或电子设备506)的示例计算机架构1200的另一些细节,用于计算机的示例计算机架构1200能够执行用于利用视线追踪技术来标识对象的上面描述的程序组件。因此,图12所示的计算机架构1200示出了用于服务器计算机、移动电话、PDA、智能电话、台式计算机、笔记本计算机、平板计算机、膝上型计算机、和/或可穿戴计算机的架构。计算机架构1200是可以被用于完整地或者部分地执行本文提出的软件组件的方面的示例架构。
图12所示的计算机架构1200包括中央处理单元1202(“CPU”)、系统存储器1204(包括随机存取存储器1206(“RAM”)和只读存储器(“ROM”)1208)、以及将存储器1204耦合至CPU1202的系统总线1210。基本输入/输出系统(“BIOS”)被存储在ROM 1208中,基本输入/输出系统(“BIOS”)包含有助于(诸如在启动期间)在计算机架构1200内的元件之间传送信息的基本例程。计算机架构1200还包括用于存储操作系统1214、程序、(一个或多个)模块1216(例如,图1和图2的对象标识系统118和图5的模块514、516、518、520、522、524、526、542、544、和/或546)的大容量存储设备1212。另外地和/或可替代地,大容量存储设备1212可以存储传感器数据1218、图像数据1220(例如,照片、计算机生成的图像、关于场景中的真实和/或虚拟对象的对象信息、关于上述中的任何一种的元数据等)、校准数据1222、内容数据1224(例如,计算机生成的图像、视频、场景等)等,如本文所描述的。
大容量存储设备1212通过连接至总线1210的大容量存储控制器(未示出)连接至CPU 1202。大容量存储设备1212及其相关联的计算机可读介质为计算机架构1200提供非易失性存储。大容量存储设备1212、存储器1204、计算机可读存储介质512以及计算机可读存储介质538是根据本公开的计算可读介质的示例。虽然本文所包含的计算机可读介质的描述指的是大容量存储设备,诸如固态驱动器、硬盘或者CD-ROM驱动器,但本领域的技术人员应该理解,计算机可读介质可以是可由计算机架构1200访问的任何可用的计算机存储介质或者通信介质。
通信介质包括计算机可读指令、数据结构、程序模块、或者调制数据信号(诸如载波或者其它传输机制)中的其它数据,并且包括任何传送介质。术语“调制数据信号”是指按照对信号中的信息进行编码的方式来改变或者设置其特性中的一种或者多种特性的信号。举例说明,但非限制性的,通信介质包括有线介质(诸如有线网络或者直接有线连接)以及无线介质(诸如声学、RF、红外和其它无线介质)。上述中任何的组合也应该被包括在通信介质的范围内。
举例说明,但非限制性的,计算机存储介质可以包括在任何用于存储信息(诸如计算机可读指令、数据结构、程序模块、或者其它数据)的方法或技术中实施的易失性和非易失性、可移动和不可移动介质。例如,计算机存储介质包括,但不限于,RAM、ROM、可擦可编程只读存储器(“EPROM”)、电可擦可编程只读存储器(“EEPROM”)、闪存或者其它固态存储器技术、光盘只读存储器(“CD-ROM”)、数字通用光盘(“DVD”)、高清晰度/密度数字通用/视频盘(“HD-DVD”)、蓝光(BLU-RAY)光盘、或者其它光学存储、磁盒、磁带、磁盘存储或者其它磁存储设备、或者可以被用于存储所需的信息并且可以由计算机架构1200访问的任何其它介质。出于要求保护的目的,短语“计算机存储介质”、“计算机可读存储介质”及其变型不包括通信介质。
根据各种配置,计算机架构1200可以在使用了通过网络1226和/或另一网络(未示出)逻辑连接至远程计算机的联网环境中操作。计算机架构1200可以通过连接至总线1210的网络接口单元1228连接至网络1226。应当理解的是,网络接口单元1228也可以被用于连接至其它类型的网络和远程计算机系统。计算机架构1200还可以包括输入/输出控制器1230,输入/输出控制器1230用于接收和处理来自(一个或多个)输入设备或者(一个或多个)输入接口的输入,并且向输出设备或者输出接口提供输出。
应当理解的是,本文描述的软件组件在被加载到CPU 1202中并且被执行时,可以将CPU 1202和整体计算机架构1200从通用计算系统转换成为了促进本文提出的功能而定制的专用计算系统。CPU 1202可以由任何数目的晶体管或者其它离散电路元件构成,这些晶体管或者其它离散电路元件可以单独地或者共同地呈现任何数目的状态。更具体地,响应于本文描述的软件模块内包含的可执行指令,CPU 1202可以作为有限状态机操作。这些计算机可执行指令可以通过指定CPU 1202如何在状态之间转变来转换CPU 1202,从而转换构成CPU 1202的晶体管或者其它离散硬件元件。在一些示例中,(一个或多个)处理器510和/或(一个或多个)处理器536可以与CPU 1202相对应。
对本文提出的软件模块进行编码也可以转换本文提出的计算机可读介质的物理结构。在本说明书的不同实施方式中,物理结构的具体转换可以取决于多种因素。这种因素的示例可以包括,但不限于,用于实施计算机可读介质的技术、计算机可读介质是否被表征为主或者辅存储库等等。例如,如果计算机可读介质被实施为基于半导体的存储器,则可以通过转换半导体存储器的物理状态来将本文描述的软件编码在计算机可读介质上。例如,软件可以转换构成半导体存储器的晶体管、电容器、或者其它离散电路元件的状态。软件还可以转换这种部件的物理状态以便将数据存储在其上。
作为另一示例,可以使用磁技术或者光学技术来实施本文描述的计算机可读介质。在这种实施方式中,当将软件编码在磁性或者光学介质中时,本文提出的软件可以转换磁性或者光学介质的物理状态。这些转换可以包括改变给定磁性介质内的特定位置的磁性特性。这些转换还可以包括改变在给定光学介质内的特定位置的物理特征或者特性,以改变这些位置的光学特性。利用仅被提供来促进本讨论的前述示例,在不脱离本说明书的范围和精神的情况下,物理介质的其它转换也是可能的。
鉴于上述说明,应当理解的是,许多类型的物理转换发生在计算机架构1200中,以便存储和执行本文提出的软件组件。还应当理解,计算机架构1200可以包括其它类型的计算实体,包括手持计算机、嵌入式计算机系统、个人数字助理、以及本领域技术人员已知的其它类型的计算实体。可以设想,计算机架构1700可以不包括图12所示的组件中的所有组件,可以包括图12中未明确示出的其它组件,或者可以利用与图12所示的架构完全不同的架构。
图13描绘了能够执行本文描述的软件组件以使用视线追踪技术实施对对象进行标识的示例分布式计算环境1300。因此,图13所示的分布式计算环境1300可以被用于执行本文提出的软件组件的任何方面以实现本文描述的技术的方面。
根据各种实施方式,分布式计算环境1300包括计算环境1302,该计算环境1302在网络1304上操作、与网络1304通信、或者作为网络1304的一部分。在至少一个示例中,计算环境1300的至少一些可以与电子设备122、计算设备502、和/或电子设备506相对应。网络1304可以是或者可以包括上面参照图5描述的(一个或多个)网络504。网络1304还可以包括各种接入网络。一个或者多个客户端设备1306A-1306N(下文中统称为和/或一般称为“客户端1306”)可以经由网络1304和/或其它连接(图13中未图示)与计算环境1302通信。作为示例,图1和图2的计算设备112和图5的电子设备506可以与客户端设备1306A-1306Q(统称为“客户端1306”)中的一个或者多个相对应,其中,取决于所需的架构,Q可以是大于或者等于1的任何整数。在一种图示的配置中,客户端1306包括诸如膝上型计算机、台式计算机或者其它计算设备的计算设备1306A、板式或者平板计算设备(“平板计算设备”)1306B、诸如移动电话、智能电话或者其它移动计算设备的移动计算设备1306C、服务器计算机1306D、可穿戴计算机1306E、和/或其它设备1306N。应该理解,任何数目的客户端1306可以与计算环境1302通信。在本文中,参照图12和图14示出和描述了用于客户端1306的两种示例计算架构。应该理解,所示出的客户端1306和在本文中示出和描述的计算架构都是说明性的,都不应该以任何方式被理解为具有限制性。
在示出的配置中,计算环境1302包括应用服务器1308、数据存储库1310、以及一个或者多个网络接口1312。根据各种实施方式,应用服务器1308的功能可以由作为网络1304的一部分执行或者与网络1304通信的一个或者多个服务器计算机提供。在一些示例中,计算环境1302可以与图5中的一个或者多个计算设备502相对应或者代表图5中的一个或者多个计算设备502,该一个或者多个计算设备502经由(一个或多个)网络504和/或1304与一个或者多个计算设备506通信并且能够由一个或者多个计算设备506访问。
在至少一个示例中,应用服务器1308可以托管各种服务、虚拟机、门户网站(portals)、和/或其它资源。在示出的配置中,应用服务器1308可以托管用于执行应用或者其它功能的一个或者多个虚拟机1314。根据各种实施方式,虚拟机1314可以执行用于使用视线追踪技术实施对象标识的一个或者多个应用和/或软件模块。应用服务器1308还托管一个或者多个门户网站、链接网页、网站、和/或其它信息(“门户网站”)1316,或者提供一个或者多个门户网站、链接网页、网站、和/或其它信息(“门户网站”)1316的接入。门户网站1316可以被用于与一个或者多个客户端计算机通信。应用服务器1308可以包括一个或者多个邮箱服务1318。
根据各种实施方式,应用服务器1308还包括一个或者多个邮箱消息传送服务1320。邮箱服务1318和/或消息传送服务1320可以包括电子邮件(“email”)服务、各种个人信息管理(“PIM”)服务(例如,日历服务、联系人管理服务、合作服务等)、即时通讯服务、聊天服务、论坛服务、和/或其它通信服务。
应用服务器1308还可以包括一种或者多种社交网络服务1322。社交网络服务1322可以包括各种社交网络服务,包括但不限于:用于共享或者公布状态更新、即时消息、链接、照片、视频、和/或其它信息的服务;用于对文章、产品、博客、或者其它资源进行评论或者表示感兴趣的服务;和/或其它服务。在一些配置中,社交网络服务1322由社交网络服务、职业网络服务、社交网络服务、地理网络服务、同事网络服务等提供,或者包括社交网络服务、职业网络服务、社交网络服务、地理网络服务、同事网络服务等。在其它配置中,社交网络服务1322由其它服务、站点、和/或可能被或者可能未被明确地已知为社交网络提供商的提供商提供。例如,一些网站允许用户在各种活动和/或上下文(诸如阅读出版的文章、对商品或者服务进行评论、出版、合作、游戏等)期间经由电子邮件、聊天服务、和/或其它方式彼此互动。这种服务的示例包括,但不限于,来自华盛顿雷德蒙德的微软集团的服务和服务。其它服务也是可能且可设想的。
社交网络服务1322还可以包括评论、博客、和/或微博服务。这种服务的示例包括,但不限于,评论服务、评审服务、企业微博服务、消息传送服务、GOOGLE服务、和/或其它服务。应当理解,上述服务列表并非穷举,出于简洁起见,许多另外的和/或替代的社交网络服务1322都未在本文中提到。如此,上述配置是说明性的,不应该以任何方式被理解为具有限制性。根据各种实施方式,社交网络服务1322可以托管用于提供本文描述的功能(用于为计算设备提供情景感知位置共享服务)的一个或者多个应用和/或软件模块。例如,应用服务器1308中的任何一个应用服务器可以传送本文描述的功能和特征或者促进本文描述的功能和特征。例如,社交网络应用、邮件客户端、消息传送客户端、在手机上运行的浏览器、或者任何其它客户端1806可以与社交网络服务1322通信。
如图13所示,应用服务器1308还可以托管其它服务、应用、门户网站、和/或其它资源(“其它资源”)1324。其它资源1324可以部署以服务为导向的架构或者任何其它客户端-服务器管理软件。因此,可以理解,计算环境1302可以提供本文描述的基于视线的对象标识构思和技术与各种邮箱、消息传送、社交网络、和/或其它服务或者资源的整合。
如上面提到的,计算环境1302可以包括数据存储库1310。根据各种实施方式,数据存储库1310的功能由一个或者多个数据库提供,一个或者多个数据库在网络1304上操作或者与网络1304通信。数据存储库1310的功能还可以由一个或者多个服务器计算机提供,一个或者多个服务器计算机被配置为托管用于计算环境1302的数据。数据存储库1310可以包括、托管或者提供一个或者多个真实的或者虚拟的容器1326A-1326N(统称为和/或一般称为“容器1326”)。虽然在图13中未示出,但容器1326还可以托管或者存储数据结构和/或算法,数据结构和/或算法用于由远程计算设备的一个或者多个模块(例如,图5的模块514、516、518、520、522、524、526和/或图1和图2的对象标识系统118)执行。容器1326的方面可以与数据库程序、文件系统和/或利用安全访问特征来存储数据的任何程序相关联。容器1326的方面还可以使用产品或者服务(诸如ACTIVE 或者)来实施。
计算环境1302可以与网络接口1312通信或者可以由网络接口1312访问。网络接口1312可以包括各种类型的网络硬件和软件,各种类型的网络硬件和软件用于支持在两个或者更多个计算实体(包括,但不限于,客户端1306和应用服务器1308)之间的通信。应当理解,网络接口1312还可以被用于连接至其它类型的网络和/或计算机系统。
应该理解,本文描述的分布式计算环境1300可以利用任何数目的虚拟计算资源来提供本文描述的软件组件的任何方面,和/或提供可以被配置为执行本文描述的软件组件的任何方面的其它分布式计算功能。根据本文描述的构思和技术的各种实施方式,分布式计算环境1300将本文描述的软件功能作为服务提供给客户端1306。应该理解,客户端1306可以包括真实机器或者虚拟机,真实机器或者虚拟机包括但不限于:服务器计算机、网络服务器、个人计算机、平板计算机、游戏机、智能电视、移动计算实体、智能手机、和/或其它设备。如此,在其它方面,本文描述的构思和技术的各种配置使得被配置为访问分布式计算环境1300的任何设备都能够利用本文描述的功能来提供基于视线的验证。在一个具体示例中,如上面概述的,本文描述的技术可以至少部分地通过网络浏览器应用来实施,网络浏览器可以结合图13的应用服务器1308来工作。
图14是能够执行所描述的各种软件组件的计算设备的说明性计算设备架构1400,所描述的各种软件组件在一些示例中可用于实施基于视线的对象标识的方面。计算设备架构1400可适用于部分地由于形状因子、无线连接、和/或电池供电型操作而促进移动计算的计算实体。在一些配置中,计算实体包括,但不限于,移动电话、平板设备、板式设备、可穿戴设备、便携式视频游戏设备等。而且,计算设备架构1400的方面可以适用于传统台式计算机、便携式计算机(例如,膝上型计算机、笔记本计算机、超便携式计算机、和上网本)、服务器计算机、以及其它计算机系统。举例说明,并非是限制性的,计算设备架构1400可适用于图1、2、5、12和13中示出的客户端中的任何客户端。
图14所示的计算设备架构1400包括处理器1402、存储器部件1404、网络连接部件1406、传感器部件1408、输入/输出部件1410、以及功率部件1412。在图示的配置中,处理器1402与存储器部件1404、网络连接部件1406、传感器部件1408、输入/输出(“I/O”)部件1410、和功率部件1412通信。虽然在图14所示的各个部件之间未示出连接,但是这些部件可以交互以执行设备功能。在一些配置中,这些部件被布置为经由一个或者多个总线(未示出)通信。
处理器1402包括中央处理单元(“CPU”),该中央处理单元被配置为处理数据、执行一个或者多个应用程序的计算机可执行指令、并且与计算设备架构1400的其它部件进行通信以便执行本文描述的各种功能。处理器1402可以被用于执行本文提出的软件组件的方面。在一些示例中,处理器1402可以与上面参照图5和图12描述的(一个或多个)处理器510、536、和/或CPU 1202相对应。
在一些配置中,处理器1402包括图形处理单元(“GPU”),该图形处理单元被配置为加速由CPU执行的操作,包括但不限于:通过执行通用科学的和/或工程的计算应用以及图形密集型计算应用(诸如,高分辨率视频(例如,1080i、1080p、和更高分辨率)、视频游戏、三维(“3D”)建模应用等等)来进行的操作。在一些配置中,处理器1402被配置为与离散GPU(未示出)通信。在一些示例中,处理器1402可以另外地或者可替代地包括全息处理单元(HPU),该全息处理单元被具体地设计为处理并且整合来自头戴式计算设备的多个传感器的数据,并且处理任务(诸如,空间映射、手势标识、以及语音和言语标识)。在任何情况下,都可以根据协同处理CPU/GPU/HPU计算模型来配置CPU、GPU、和/或HPU,其中,根据处理任务的相应的强度在CPU、GPU、和/或HPU之间划分处理任务。例如,应用的连续部分可以在CPU上执行,通过GPU加速计算密集型部分,并且可以通过HPU来执行某些专门的功能(例如,空间映射、手势标识、以及语音和言语标识)。
在一些配置中,处理器1402是片上系统(“SoC”)、或者与下面将描述的其它部件中的一个或者多个一起被包括在片上系统(“SoC”)中。例如,SoC可以包括处理器1402、GPU、网络连接部件1406中的一个或者多个、以及传感器部件1408中的一个或者多个。在一些配置中,部分地利用层叠封装(“PoP”)集成电路封装技术来制造处理器1402。处理器1402可以是单核或者多核处理器。
可以根据ARM架构(可从英国剑桥的ARM HOLDINGS获得许可)来创建处理器1402。可替代地,可以根据x86架构(诸如,可从加利福尼亚山景城的英特尔集团(INTELCORPORATION)和其它公司获得)来创建处理器1402。在一些配置中,处理器1402是SNAPDRAGON SoC(可从加利福尼亚圣地亚哥的QUALCOMM获得)、TEGRA SoC(可从加利福尼亚圣克拉拉的NVIDIA获得)、HUMMINGBIRD SoC(可从韩国首尔的三星(SAMSUNG)获得)、开放式多媒体应用平台(“OMAP”)SoC(可从德克萨斯州达拉斯的TEXAS INSTRUMENTS获得)、上述SoC中任何一种SoC的定制版本、或者专用性SoC。
存储器部件1404包括随机存取存储器(“RAM”)1414、只读存储器(“ROM”)1416、集成存储内存(“集成存储库”)1418、和可移动存储内存(“可移动存储库”)1420。在一些配置中,RAM 1414或者其一部分、ROM 1416或者其一部分、和/或RAM 1414和ROM1416的一些组合被集成在处理器1402中。在一些配置中,ROM 1416被配置为存储固件、存储操作系统或者其一部分(例如,操作系统内核)、和/或存储用于从集成存储库1418和/或可移动存储库1420加载操作系统内核的引导程序。在一些示例中,存储器部件1404可以分别与上面参照图5和图12描述的计算机可读存储介质512、计算机可读存储介质538、和/或存储器1204相对应。
集成存储库1418可以包括固态存储器、硬盘、或者固态存储器和硬盘的组合。集成存储库1418可以被焊接或者连接至逻辑板,本文描述的处理器1402和其它部件也可以被连接到该逻辑板上。如此,集成存储库1418被集成在计算设备中。集成存储库1418被配置为存储操作系统或者其部分、应用程序、数据、和本文描述的其它软件组件。
可移动存储库1420可以包括固态存储器、硬盘、或者固态存储器和硬盘的组合。在一些配置中,设置可移动存储库1420来替代集成存储库1418。在其它配置中,可移动存储库1420被设置为附加的可选存储库。在一些配置中,可移动存储库1420在逻辑上与集成存储库1418相组合,使得总体的可用的存储库能够作为总体的组合的存储容量来使用。在一些配置中,将可移动存储库1420和集成存储库1418的总体的组合容量显示给用户,而不是可移动存储库1420和集成存储库1418的单独的存储容量。
可移动存储库1420被配置为插入可移动存储内存槽(未示出)或者其它机构中,通过该可移动存储内存槽或者其它机构,可移动存储库1420被插入和固定以便促进连接,可移动存储库1420通过该连接可以与计算设备的其它部件(诸如处理器1402)通信。可移动存储库1420可以体现为各种存储卡的格式,包括但不限于:PC卡、CompactFlash卡、记忆棒、安全数字(“SD”)、miniSD、microSD、通用集成电路卡(“UICC”)(例如,用户身份模块(“SIM”)或者通用SIM(“USIM”))、专用格式等。
可以理解,存储器部件1404中的一个或者多个可以存储操作系统。根据各种配置,操作系统包括,但不限于,来自SYMBIAN有限公司的SYMBIAN OS、来自华盛顿雷德蒙德的微软集团的WINDOWS MOBILE OS、来自微软集团的WINDOWS PHONE OS、来自微软集团的WINDOWS、来自加利福尼亚帕洛阿尔托的Hewlett-Packard公司的PALM WEBOS、来自加拿大安大略省滑铁卢的ResearchInMotion有限公司的BLACKBERRY OS、来自加利福尼亚库比蒂诺的苹果(APPLE)有限公司的IOS、以及来自加利福尼亚山景城的Google有限公司的ANDROID OS。还可设想其它操作系统。
网络连接部件1406包括无线广域网部件(“WWAN”部件)1422、无线局域网部件(“WLAN”部件)1424、以及无线个人局域网部件(“WPAN部件”)1426。网络连接部件1406促进去往网络1427或者另一网络(可以是WWAN、WLAN、或者WPAN)的通信,以及促进来自网络1427或者另一网络(可以是WWAN、WLAN、或者WPAN)的通信。虽然仅图示了网络1427,但网络连接部件1406可以促进与多个网络(包括图14的网络1427)的同时通信。例如,网络连接部件1406可以经由WWAN、WLAN、或者WPAN中的一个或者多个促进与多个网络的同时通信。在一些示例中,网络1427可以与如图1、5、12和13所示的(一个或多个)网络116、网络504、网络1226、和/或网络1304中的所有或者部分相对应。
网络1427可以是或者可以包括WWAN,诸如利用一种或者多种移动通信技术经由WWAN部件1422向使用计算设备架构1400的计算设备提供语音和/或数据服务的移动通信网络。移动通信技术可以包括,但不限于,全球移动通讯系统(“GSM”)、码分多址(“CDMA”)ONE、CDMA2000、通用移动通信系统(“UMTS”)、长期演进(“LTE”)、和微波存取全球互通(“WiMAX”)。而且,网络1427可以利用各种信道接入方法(可以由或者不能由前面提到的标准使用),包括但不限于:时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分复用(“OFDM”)、空分多址(“SDMA”)等。可以使用通用无线分组业务(“GPRS”)、增强数据速率的全球化改进(“EDGE”)、高速分组接入(“HSPA”)协议族(包括高速下行链路分组接入(“HSDPA”)、增强型上行链路(“EUL”)或者称为高速上行链路分组接入(“HSUPA”)、演进型HSPA(“HSPA+”)、LTE和各种其它当前和未来的无线数据接入标准)来提供数据通信。网络1427可以被配置为利用上述技术的任何组合来提供语音和/或数据通信。网络1427可以被配置为或者可以适应于利用未来一代技术提供语音和/或数据通信。
在一些配置中,WWAN部件1422被配置为提供与网络1427的双-多模连接。例如,WWAN部件1422可以被配置为提供与网络1427的连接,其中,网络1427经由GSM和UMTS技术或者经由技术的一些其它组合来提供服务。可替代地,多个WWAN部件1422可以被用于执行这种功能、和/或提供附加功能以支持其它非兼容性技术(即,不能被单个WWAN部件支持)。WWAN部件1422可以促进与多个网络(例如,UMTS网络和LTE网络)的相似连接。
网络1427可以是根据一个或者多个电气与电子工程师协会(“IEEE”)802.15标准(诸如IEEE 802.15a、802.15b、802.15g、802.15n、和/或未来的802.15标准,在本文中统称为WI-FI)操作的WLAN。也可设想草案802.15标准。在一些配置中,利用一个或者多个无线WI-FI接入点来实施WLAN。在一些配置中,无线WI-FI接入点中的一个或者多个是与用作WI-FI热点的WWAN具有连接的另一计算设备。WLAN部件1424被配置为经由WI-FI接入点连接至网络1427。可以经由各种加密技术(包括但不限于WI-FI保护接入(“WPA”)、WPA2、有线等效保密(“WEP”)等)来确保这种连接。
网络1427可以是根据红外数据协会(“IrDA”)、BLUETOOTH、无线通用串行总线(“USB”)、Z-Wave、ZIGBEE、或者一些其它短程无线技术操作的WPAN。在一些配置中,WPAN部件1426被配置为经由WPAN促进与其它设备(诸如外围设备、计算机、或者其它计算实体)的通信。
在至少一个示例中,传感器部件1408可以包括磁力计1428、环境光传感器1430、接近传感器1432、加速度计1434、陀螺仪1436、和全球定位系统传感器(“GPS传感器”)1438。可设想其它传感器(诸如,但不限于,温度传感器或者冲击检测传感器、应变传感器、湿度传感器)也可以被包含在计算设备架构1400中。
磁力计1428被配置为测量磁场的强度和方向。在一些配置中,磁力计1428将测量结果提供给存储在存储器部件1404中的一个存储器部件内的指南针应用程序,以向用户提供在包括基本方向东南西北的参照系中的准确方向。可以将类似的测量结果提供给包括指南针组件的导航应用程序。可设想由磁力计1428获得的测量结果的其它用途。
环境光传感器1430被配置为测量环境光。在一些配置中,环境光传感器1430将测量结果提供给存储在存储器部件1404中的一个存储器部件内的应用程序,以便自动调节显示器(下面将描述)的亮度以补偿低光和高光环境。可设想由环境光传感器1430获得的测量结果的其它用途。
接近传感器1432被配置为在不直接接触的情况下检测接近计算设备处是否存在对象或者事物。在一些配置中,接近传感器1432检测用户身体(例如,用户的脸部)的存在并且将该信息提供给存储在存储器部件1404中的一个存储器部件内的应用程序,该应用程序利用该接近信息来使能或者禁用计算设备的一些功能。例如,电话应用程序可以响应于接收到接近信息而自动禁用触摸屏(下面将描述),使得用户的脸部不会在通话期间一不小心结束通话或者使能/禁用电话应用程序内的其它功能。可设想由接近传感器1428检测到的接近的其它用途。
加速度计1434被配置为测量固有加速度。在一些配置中,来自加速度计1434的输出被应用程序用来作为输入机制以控制该应用程序的一些功能。例如,应用程序可以是视频游戏,在该视频游戏中,响应于经由加速度计1434接收到的输入来移动或者操纵角色、角色的一部分、或者对象。在一些配置中,来自加速度计1434的输出被提供给应用程序用于在风景模式和肖像模式之间切换、计算协调加速度、或者检测下降。可设想加速度计1434的其它用途。
陀螺仪1436被配置为测量和保持定向。在一些配置中,来自陀螺仪1436的输出被应用程序用来作为输入机制以控制该应用程序的一些功能。例如,陀螺仪1436可以被用于准确标识在视频游戏应用或者一些其它应用的3D环境内的移动。在一些配置中,应用程序利用来自陀螺仪1436和加速度计1434的输出来增强对应用程序的一些功能的控制。可设想陀螺仪1436的其它用途。
GPS传感器1438被配置为接收来自GPS卫星的信号用于计算位置。GPS传感器1438计算得到的位置可以被要求位置信息或者获益于位置信息的任何应用程序使用。例如,GPS传感器1438计算得到的位置可以被导航应用程序用来提供从该位置到目的地的方向或者从目的地到该位置的方向。而且,GPS传感器1438可以被用于向外部基于位置的服务(诸如E1515服务)提供位置信息。GPS传感器1438可以获取经由利用了网络连接部件1406中的一个或者多个的WI-FI、WIMAX、和/或蜂窝三角测量技术生成的位置信息,以协助GPS传感器1438获取固定位置。GPS传感器1438还可以用在辅助GPS(“A-GPS”)系统中。
在至少一个示例中,I/O部件1410可以与上面参照图12描述的输入/输出设备540相对应。另外和/或可替代地,I/O部件可以包括显示器1440、触摸屏1442、数据I/O接口部件(“数据I/O”)1444、音频I/O接口部件(“音频I/O”)1446、视频I/O接口部件(“视频I/O”)1448、以及相机1450。在一些配置中,显示器1440和触摸屏1442被组合。在一些配置中,数据I/O部件1444、音频I/O部件1446、以及视频I/O部件1448中的两个或者更多个被组合。I/O部件1410可以包括被配置为支持下述各种接口的离散处理器,或者可以包括内置于在处理器1402中的处理功能。
显示器1440是被配置为以可视的形式呈现信息的输出设备。具体地,显示器1440可以呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息数据、互联网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、和能够被以可视的形式呈现的任何其它信息。在一些配置中,显示器1440是利用了任何有源或者无源阵列技术和任何背光技术(如果使用了)的液晶显示器(“LCD”)。在一些配置中,显示器1440是有机发光二极管(“OLED”)显示器。在一些配置中,显示器1440是全息显示器。可设想其它显示器类型。
在至少一个示例中,显示器1440可以与计算设备112和/或电子设备506的硬件显示表面相对应。如上所述,硬件显示表面可以被配置为将全息用户界面和其它图形元素与透过硬件显示表面看到的对象或者被显示在硬件显示表面上的渲染对象图形地相关联。
触摸屏1442,在本文中也称为“支持触摸的屏幕”,是被配置为检测存在触摸和触摸位置的输入设备。触摸屏1442可以是电阻式触摸屏、电容式触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声脉冲标识触摸屏,或者可以利用任何其它触摸屏技术。在一些配置中,触摸屏1442被包含在显示器1440的顶部,作为透明层,以使用户能够使用一次或者多次触摸与显示器1440上呈现的对象或者其它信息互动。在其它配置中,触摸屏1442是触摸板,该触摸板被包含在计算设备的不包括显示器1440的表面上。例如,计算设备可以具有被包含在显示器1440的顶部上的触摸屏和在与显示器1440相对的表面上的触摸板。
在一些配置中,触摸屏1442是单点触摸式触摸屏。在其它配置中,触摸屏1442是多点触摸式触摸屏。在一些配置中,触摸屏1442被配置为检测离散触摸、单点触摸手势、和/或多点触摸手势。出于方便起见,它们在本文中被统称为手势。现在将描述多种手势。应该理解,这些手势是说明性的,不旨在限制随附权利要求书的范围。而且,所描述的手势、另外的手势、和/或替代的手势都可以被实施在软件中以与触摸屏1442一起使用。如此,开发者可以创建特定应用程序专用的手势。
在一些配置中,触摸屏1442支持用户在显示器1440上呈现的物品上轻击触摸屏1442一次的轻击手势。轻击手势可以被用于执行各种功能,包括但不限于:打开或者运行用户所轻击的东西。在一些配置中,触摸屏1442支持用户在显示器1440上呈现的物品上轻击触摸屏1442两次的双击手势。双击手势可以被用于执行各种功能,包括但不限于:分阶段地放大或者缩小。在一些配置中,触摸屏1442支持用户轻击触摸屏1442并且保持接触至少预定义时间的轻击和保持手势。轻击和保持手势可以被用于执行各种功能,包括但不限于:打开上下文专用菜单。
在一些配置中,触摸屏1442支持用户将手指放在触摸屏1442上并且在触摸屏1442上移动手指的同时保持与触摸屏1442接触的平移手势。平移手势可以被用于执行各种功能,包括但不限于:以受控速率移动屏幕、图像或菜单。也可设想多手指平移手势。在一些配置中,触摸屏1442支持用户在用户想要屏幕移动的方向上滑动手指的快滑手势。快滑手势可以被用于执行各种功能,包括但不限于:水平或者竖直滚动菜单或者页面。在一些配置中,触摸屏1442支持用户用两个手指(例如,拇指和食指)在触摸屏1442上进行捏合移动或者将两个手指移动分开的捏放手势。捏放手势可以被用于执行各种功能,包括但不限于:逐渐放大或者缩小网站、地图或者图片。
虽然已经参照使用一个或者多个手指来执行手势描述了上述手势,但是其它附加物(诸如脚趾)或者对象(诸如触控笔)也可以被用于与触摸屏1442交互。如此,上述手势应该被理解为是说明性的,不应该以任何方式被理解为具有限制性。
数据I/O接口部件1444被配置为促进将数据输入至计算设备和从计算设备输出数据。在一些配置中,数据I/O接口部件1444包括连接器,该连接器被配置为在计算设备与计算机系统之间提供有线连接,例如,用于同步操作的目的。连接器可以是专用连接器或者标准化的连接器,诸如USB、微型USB、迷你USB等。在一些配置中,连接器是用于将计算设备与另一设备(诸如,对接站、音频设备(例如,数码音乐播放器)、或者视频设备)对接的对接连接器。
音频I/O接口部件1446被配置为向计算设备提供音频输入和/或输出能力。在一些配置中,音频I/O接口部件1446包括被配置为收集音频信号的麦克风。在一些配置中,音频I/O接口部件1446包括被配置为向耳机或者其它外部扬声器提供连接的耳机插座。在一些配置中,音频I/O接口部件1446包括用于输出音频信号的扬声器。在一些配置中,音频I/O接口部件1446包括光学音频线缆输出。
视频I/O接口部件1448被配置为向计算设备提供视频输入和/或输出能力。在一些配置中,视频I/O接口部件1448包括视频连接器,该视频连接器被配置为接收来自另一设备(例如,视频媒体播放器,诸如DVD或者BLURAY播放器)的视频作为输入或者向另一设备(例如,监视器、电视、或者一些其它外部显示器)发送视频作为输出。在一些配置中,视频I/O接口部件1448包括用于输入/输出视频内容的高清多媒体接口(“HDMI”)、mini-HDMI、micro-HDMI、DisplayPort、或者专用连接器。在一些配置中,视频I/O接口部件1448或者其部分与音频I/O接口部件1446或者其部分进行组合。
相机1450可以被配置为捕获静态图像和/或视频。相机1450可以利用电荷耦合设备(“CCD”)或者互补金属氧化物半导体(“CMOS”)图像传感器来捕获图像。在一些配置中,相机1450包括闪光灯来协助在低光环境下拍摄照片。相机1450的设置可以被实施为硬件或者软件按钮。另外或者可替代地,由相机1450捕获的图像和/或视频可以被用于检测用户的非接触手势、面部表情、眼睛移动、或者其它移动和/或特性。
虽然未图示,但计算设备架构1400中还可以包括一个或者多个硬件按钮。这些硬件按钮可以被用于控制计算设备的一些操作方面。硬件按钮可以是专用按钮或者多用途按钮。硬件按钮可以是机械式的或者基于传感器的。
所图示的功率部件1412包括一个或者多个电池1452,一个或者多个电池1452可以连接至电池量表1454。电池1452可以是可再充电的或者一次性的。可再充电的电池类型包括,但不限于,锂聚合物、锂离子、镍镉、和镍金属氢化物。电池1452中的每个电池可以由一个或者多个电芯(cell)制成。
电池量表1454可以被配置为测量电池参数,诸如电流、电压和温度。在一些配置中,电池量表1454被配置为测量电池的放电率、温度、年龄和其它因素的影响,以预计在某个误差百分比内的剩余寿命。在一些配置中,电池量表1454将测量结果提供至应用程序,该应用程序被配置为利用该测量结果向用户呈现可用电量管理数据。电量管理数据可以包括已用电池百分比、剩余电池百分比、电池状况、剩余时间、剩余电量(例如,以瓦时计)、电流消耗、和电压。
功率部件1412还可以包括功率连接器,该功率连接器可以与前面提到的I/O部件1410中的一个或者多个部件进行组合。功率部件1412可以经由功率I/O部件与外部功率系统或者充电设备接口连接。
示例条款
可以结合以下条款来考虑本文提出的本公开。
A.在一些示例中,计算设备,包括:一个或者多个处理器;以及存储指令的一个或者多个计算机可读存储介质,该指令能够由该一个或者多个处理器执行以进行操作,该操作包括:获取个体的眼睛的第一图像;至少部分地基于第一图像来确定个体的视线路径;获取场景的至少一部分的第二图像,其中,该场景包括一个或者多个对象;至少部分地基于第二图像来确定场景中包括的对象的位置;至少部分地基于对象的位置来确定对象在个体的视线路径内;接收标识对象的输入;向一组个体的计算设备发送通信,该通信包括标识对象的请求;接收来自该组的成员的计算设备的响应,该响应包括对象的标识符;以及提供包括对象的标识符的输出。
B.根据条款A的计算设备,其中,计算设备与存储对象信息数据库的数据存储库进行通信,该对象信息数据库包括与多个对象有关的标识符、类别和特性。
C.根据条款B的计算设备,其中:操作还包括:确定对象的多个特性;执行将对象的多个特性与对象信息数据库中包括的多个对象的至少一部分对象的特性进行比较;以及至少部分地基于该比较来确定对象不存在于对象信息数据库中;以及至少部分地基于确定对象不存在于对象信息数据库而将通信发送至该组个体的计算设备。
D.根据条款A至C中任一条的计算设备,其中,操作还包括:从多组个体中选择该组,其中,多个组中的各个组均与对象特性集合、对象的类别、或者两者相关联。
E.根据条款D的计算设备,其中,操作还包括:执行将多个特性与同该组相关联的对象特性集合的另外的特性进行比较;基于比较确定针对对象和组的相似度分数;确定相似度分数高于阈值分数;以及其中,从多组个体中选择该组至少部分地基于相似度分数高于阈值分数。
条款F.根据条款A至E中任一条的计算设备,其中:该响应是从该组的计算设备接收到的多个响应中的一个响应;操作还包括:确定多个响应中包括的对象的多个标识符;确定与多个标识符中的每个标识符相关联的响应的数目;以及至少部分地基于针对每个标识符的响应的数目确定多个响应的排名;以及提供包括对象的标识符的输出是至少部分地基于该排名。
条款G.根据条款A至F中任一条的计算设备,其中,操作还包括:确定对象的多个特性;至少部分地基于对象的多个特性来确定对象的类别;以及通过将对象的多个特性存储在对象信息数据库中来将对象添加到对象信息数据库,以及其中,对象与对象信息数据库中的类别相关联。
条款H.在一些示例中,计算系统,包括:一个或者多个处理器;存储指令的一个或者多个计算机可读存储介质,该指令能够由一个或者多个处理器执行以进行操作,该操作包括:确定个体的视线路径;确定场景中包括的对象的位置;至少部分地基于对象的位置来确定对象在个体的视线路径内;接收包括可听输入、可视输入或者传感器输入中的至少一种的输入数据;确定输入数据与标识对象的请求相对应;从另一个体的另一计算设备接收对象的标识符;以及生成包括对象的标识符的输出数据。
条款I.根据条款H的计算系统,还包括:用于捕获个体的第一图像的第一相机;以及用于捕获场景的第二图像的第二相机;以及其中:至少部分地基于第一图像的至少一部分确定个体的视线路径;以及至少部分地基于第二图像的至少一部分来确定场景中包括的对象的位置。
条款J.根据条款I的计算系统,其中:第一图像和第二图像由电子设备捕获;操作还包括:将第一图像发送至远离电子设备的服务器计算设备;以及将第二图像发送至服务器计算设备;以及确定个体的视线路径是至少部分地基于从服务器计算设备接收到的指示个体的视线路径的第一信息;以及确定场景中包括的对象的位置是至少部分地基于从服务器计算设备接收到的指示对象的位置的第二信息。
条款K.根据条款H至J中任一条的计算系统,其中,操作还包括:至少部分地基于场景的图像来确定对象的特性,对象的特性包括对象的形状、对象的轮廓、对象的至少一种颜色、对象的至少一种尺寸、对象的用途或者对象的部件中的至少一种;至少部分地基于场景的图像来确定场景的特性;以及至少部分地基于场景的特性来确定对象的上下文,该上下文包括对象的位置、位置中的至少一个另一对象、或者两者。
条款L.根据条款K的计算系统,还包括:存储对象信息数据库的数据存储库,该对象信息数据库包括对象的上下文和对象的特性;其中,操作还包括:执行在对象的特性与对象信息数据库中存储的对象的特性之间的第一比较;执行在对象的上下文与对象信息数据库中存储的对象的上下文之间的第二比较;以及至少部分地基于第一比较和第二比较来确定对象不存在于对象信息数据库中。
条款M.根据条款K的计算系统,其中,操作还包括:至少部分地基于对象的特性和对象的上下文从多组个体中选择一组个体;以及向该组的计算设备发送通信,该通信包括对象的图像、对象的特性、或者对象的上下文中的至少一种;以及其中,另一个体被包括在该组中。
条款N.根据条款H至M中任一条的计算系统,还包括:确定计算系统接收到的另一输入数据指示输入数据与标识场景中的不同对象相对应;将可视指示器投影到场景中的另一对象上;确定又一输入数据与标识该另一对象的另一请求相对应;接收该另一对象的另一标识符;并且生成包括该另一对象的另一标识符的另一输出数据。
条款O.根据条款H至N中任一条的计算系统,其中,确定输入数据与标识对象的请求相对应包括以下操作中的至少一个操作:分析可听输入以标识与预定声音、预定词语或者两者相对应的声音、词语或者两者,预定声音、预定词语或者两者与标识对象的请求相关联;分析可视输入以标识与预定手势相对应的手势,预定手势与标识对象的请求相关联;或者分析传感器输入以标识与预定脑电图(EEG)模式相对应的EEG模式,预定脑电图(EEG)模式与标识对象的请求相关联。
条款P.根据条款O的计算系统,其中,操作还包括:确定在可视数据与预定词语、预定声音、或者两者之间的第一相似度分数;以及至少部分地基于第一相似度分数高于第一阈值来确定该一个或者多个词语、该一个或者多个声音、或者两者与预定词语中的一个预定词语、预定声音中的一个预定声音、或者两者相对应。
条款Q.根据条款O的计算系统,其中,操作还包括:确定在可视数据与预定手势之间的第二相似度分数;以及至少部分地基于第二相似度分数高于第二阈值来确定可视数据的手势与预定手势中的一个预定手势相对应。
条款R.根据条款O的计算系统,其中,操作还包括:确定在传感器数据与预定EEG模式之间的第三相似度分数;以及至少部分地基于第三相似度分数高于第三阈值来确定传感器数据的EEG模式与预定EEG模式中的一个预定EEG模式相对应。
条款S.根据条款H至R中任一条的计算系统,其中,计算系统包括第一计算设备和第二计算设备,第一计算设备包括位于第一位置的可穿戴计算设备,第二计算设备包括位于第二位置的服务器,第二位置远离可穿戴计算设备的第一位置。
条款T.根据条款H至S中任一条的计算系统,其中,输出数据包括由电子设备的扬声器呈现的可听输出或者被显示在显示设备上或被投影到场景中的可视输出中的至少一种。
条款U.根据条款H至T中任一条的计算系统,其中:场景由计算设备生成;并且场景经由该计算设备的显示设备显示,或者经由与该计算设备通信的显示设备显示。
条款V.根据条款H至U中任一条的计算系统,其中,场景的特征中的至少一部分特征被计算设备投影到场景中。
条款W.根据条款H至V中任一条的计算系统,其中,场景是真实世界场景并且对象是真实世界场景中包括的有形物理对象。
条款X.在一些示例中,计算机实现的方法,该方法包括:通过包括处理器和存储器的计算设备并且从另一计算设备接收与标识对象的请求有关的信息;通过计算设备确定对象不存在于对象信息数据库;通过计算设备从多组个体中标识一组个体;通过计算设备向该组的计算设备发送通信,该通信包括标识对象的请求以及对象的图像;通过计算设备从该组的计算设备中的至少一部分计算设备接收响应,该响应包括对象的多个标识符;通过计算设备至少部分地基于响应中标识符的出现次数而从多个标识符中选择标识符;以及通过计算设备向另一计算设备提供包括对象的标识符的附加信息。
条款Y.根据条款X的计算机实现的方法,其还包括:至少部分地基于包括对象的场景的图像来确定对象在个体的视线路径内;标识场景的与对象不同的一个或者多个特征;以及从图像中移除一个或者多个特征以产生包括对象的经修改的图像;其中,被发送至该组的计算设备的通信包括经修改的图像。
条款Z.根据条款X和Y的计算机实现的方法,其中,根据隐私过滤器从图像移除一个或者多个特征,以从图像中移除个体信息或者不适当信息中的至少一种。
条款AA.根据条款X至Z中任一条的计算机实现的方法,其还包括:至少部分地基于对象的一个或者多个图像来确定对象的至少一个特性;至少部分地基于对象的至少一个特性来确定对象的类别;以及确定对象的类别与另一类别相对应,另一类别与该组相关联,其中,至少部分地基于与同该组相关联的另一类别相对应的对象的类别来选择该组。
条款BB.根据条款X至AA中任一条的计算机实现的方法,其中,确定对象不存在于对象信息数据库包括:将对象的图像的特征与对象信息数据库中包括的多个对象的图像的特征进行比较;确定图像与对象信息数据库中包括的多个对象中的各个对象的相似度分数;以及确定相似度分数中的每个相似度分数低于阈值。
虽然本文在附图中图示了并且在具体实施方式中描述了本发明的方法和设备的各种实施例,但要理解,本发明不限于所公开的实施例,相反,在不脱离本公开的范围内,能够具有许多重新设置、修改和取代。
Claims (19)
1.一种计算设备,包括:
一个或者多个处理器;以及
存储指令的一个或者多个计算机可读存储介质,所述指令能够由所述一个或者多个处理器执行以执行操作,所述操作包括:
获取个体的眼睛的第一图像;
至少部分地基于所述第一图像来确定所述个体的视线路径;
获取场景中的至少一部分场景的第二图像,其中所述场景包括一个或者多个对象;
至少部分地基于所述第二图像来确定所述场景中包括的对象的位置;
至少部分地基于所述对象的所述位置来确定所述对象在所述个体的所述视线路径内;
接收用于标识所述对象的输入;
确定所述对象的多个特性;
从多组个体中选择一组个体,其中所述一组个体被已知与对象特性集合相关联,所述对象特性集合至少部分地与所述对象的所述多个特性相对应;
向所述一组个体的计算设备发送通信,所述通信包括对于标识所述对象的请求;
从所述一组个体的成员的计算设备接收响应,所述响应包括所述对象的标识符;以及
提供包括所述对象的所述标识符的输出。
2.根据权利要求1所述的计算设备,其中:
所述计算设备与存储对象信息数据库的数据存储库通信,所述对象信息数据库包括与多个对象有关的标识符、类别和特性。
3.根据权利要求2所述的计算设备,其中:
所述操作还包括:
执行所述对象的所述多个特性与所述对象信息数据库中包括的所述多个对象的至少一部分对象的特性的比较;以及
至少部分地基于所述比较来确定所述对象不存在于所述对象信息数据库中,其中至少部分地基于确定所述对象不存在于所述对象信息数据库,所述通信被发送至所述一组个体的所述计算设备。
4.根据权利要求1所述的计算设备,其中所述一组个体被已知与对象的类别相关联。
5.根据权利要求4所述的计算设备,其中所述操作还包括:
执行所述多个特性与所述对象特性集合的比较,所述对象特性集合与所述一组个体相关联;
基于所述比较来确定所述对象和所述一组个体的相似度分数;
确定所述相似度分数高于阈值分数;以及
其中从所述多组个体中选择所述一组个体至少部分地基于所述相似度分数高于所述阈值分数。
6.根据权利要求1所述的计算设备,其中:
所述响应是从所述一组个体的所述计算设备接收到的多个响应中的一个响应;
所述操作还包括:
确定所述多个响应中包括的所述对象的多个标识符;
确定与所述多个标识符中的每个标识符相关联的响应的数目;以及
至少部分地基于针对每个标识符的响应的所述数目来确定所述多个响应的排名;以及
提供包括所述对象的所述标识符的所述输出是至少部分地基于所述排名。
7.根据权利要求1所述的计算设备,其中所述操作还包括:
至少部分地基于所述对象的所述多个特性来确定所述对象的类别;以及
通过将所述对象的所述多个特性存储在对象信息数据库中来将所述对象添加到所述对象信息数据库,以及其中所述对象与所述对象信息数据库中的所述类别相关联。
8.一种计算系统,包括:
一个或者多个处理器;
存储指令的一个或者多个计算机可读存储介质,所述指令能够由所述一个或者多个处理器执行以执行操作,所述操作包括:
确定个体的视线路径;
确定场景中包括的对象的位置;
至少部分地基于所述对象的所述位置来确定所述对象在所述个体的所述视线路径内;
接收包括可听输入、可视输入或者传感器输入中的至少一种输入的输入数据;
确定所述输入数据与对于标识所述对象的请求相对应;
确定所述对象的标识符;
生成包括所述对象的所述标识符的输出数据;
确定接收到的另一输入数据指示所述输入数据与标识所述场景中的不同对象相对应;
将可视指示器投影到所述场景中的另一对象上;
确定另外的输入数据与对于标识所述另一对象的另一请求相对应;
确定所述另一对象的另一标识符;以及
生成包括所述另一对象的所述另一标识符的另一输出数据。
9.根据权利要求8所述的计算系统,还包括:
用于捕获个体的第一图像的第一相机;以及
用于捕获所述场景的第二图像的第二相机;以及
其中:
所述个体的所述视线路径至少部分地基于所述第一图像中的至少一部分第一图像而被确定;以及
所述场景中包括的所述对象的所述位置至少部分地基于所述第二图像中的至少一部分第二图像而被确定。
10.根据权利要求9所述的计算系统,其中:
所述第一图像和所述第二图像由电子设备捕获;
所述操作还包括:
将所述第一图像发送至服务器计算设备,所述服务器计算设备远离所述电子设备;以及
将所述第二图像发送至所述服务器计算设备;以及
确定所述个体的所述视线路径是至少部分地基于从所述服务器计算设备接收到的指示所述个体的所述视线路径的第一信息;以及
确定所述场景中包括的所述对象的所述位置是至少部分地基于从所述服务器计算设备接收到的指示所述对象的所述位置的第二信息。
11.根据权利要求8所述的计算系统,其中所述操作还包括:
至少部分地基于所述场景的图像来确定所述另一对象的特性,所述另一对象的所述特性包括以下至少一项:所述另一对象的形状、所述另一对象的轮廓、所述另一对象的至少一种颜色、所述另一对象的至少一个尺寸、所述另一对象的用途或者所述另一对象的部件;
至少部分地基于所述场景的所述图像来确定所述场景的特性;以及
至少部分地基于所述场景的所述特性来确定所述另一对象的上下文,所述上下文包括所述另一对象的位置。
12.根据权利要求11所述的计算系统,还包括:
存储对象信息数据库的数据存储库,所述对象信息数据库包括对象的上下文和所述对象的特性;
其中,所述操作还包括:
执行在所述另一对象的所述特性与所述对象信息数据库中存储的所述对象的所述特性之间的第一比较;
执行在所述另一对象的所述上下文与所述对象信息数据库中存储的所述对象的所述上下文之间的第二比较;以及
至少部分地基于所述第一比较和所述第二比较来确定所述另一对象不存在于所述对象信息数据库中。
13.根据权利要求11所述的计算系统,其中所述操作还包括:
至少部分地基于所述另一对象的所述特性和所述另一对象的所述上下文,来从多组个体中选择一组个体;以及
向所述一组个体的计算设备发送通信,所述通信包括以下至少一项:所述另一对象的图像、所述另一对象的所述特性或者所述另一对象的所述上下文。
14.根据权利要求8所述的计算系统,其中确定所述输入数据与对于标识所述对象的所述请求相对应包括以下至少一项:
分析所述可听输入以标识与预定声音、预定词语或者两者相对应的声音、词语或者两者,所述预定声音、预定词语或者两者与对于标识对象的请求相关联;
分析所述可视输入以标识与预定手势相对应的手势,所述预定手势与对于标识对象的请求相关联;或者
分析所述传感器输入以标识与预定脑电图(EEG)模式相对应的脑电图(EEG)模式,预定脑电图(EEG)模式与标识对象的请求相关联。
15.一种计算机实现的方法,包括:
获取个体的眼睛的第一图像;
至少部分地基于所述第一图像、由一个或多个处理器来确定所述个体的视线路径;
获取场景中的至少一部分场景的第二图像,其中所述场景包括一个或者多个对象;
至少部分地基于所述第二图像来确定所述场景中包括的对象的位置;
至少部分地基于所述对象的所述位置来确定所述对象在所述个体的所述视线路径内;
接收用于标识所述对象的输入;
确定所述对象的多个特性;
从多组个体中选择一组个体,其中所述一组个体被已知与对象特性集合相关联,所述对象特性集合至少部分地与所述对象的所述多个特性相对应;
向所述一组个体的计算设备发送通信,所述通信包括对于标识所述对象的请求;
从所述一组个体的成员的计算设备接收响应,所述响应包括所述对象的标识符;以及
提供包括所述对象的所述标识符的输出。
16.根据权利要求15所述的方法,还包括与存储对象信息数据库的数据存储库通信,所述对象信息数据库包括与多个对象有关的标识符、类别和特性。
17.根据权利要求16所述的方法,还包括:
执行所述对象的所述多个特性与所述对象信息数据库中包括的所述多个对象的至少一部分对象的特性的比较;以及
至少部分地基于所述比较来确定所述对象不存在于所述对象信息数据库中,其中至少部分地基于确定所述对象不存在于所述对象信息数据库,所述通信被发送至所述一组个体的所述计算设备。
18.根据权利要求15所述的方法,其中所述一组个体被已知与对象的类别相关联。
19.根据权利要求18所述的方法,还包括:
执行所述多个特性与所述对象特性集合的比较,所述对象特性集合与所述一组个体相关联;
基于所述比较来确定所述对象和所述一组个体的相似度分数;
确定所述相似度分数高于阈值分数;以及
其中从所述多组个体中选择所述一组个体至少部分地基于所述相似度分数高于所述阈值分数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110710490.4A CN113419629A (zh) | 2016-05-03 | 2017-04-28 | 使用视线追踪技术标识场景中的对象 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/145,568 US10068134B2 (en) | 2016-05-03 | 2016-05-03 | Identification of objects in a scene using gaze tracking techniques |
US15/145,568 | 2016-05-03 | ||
PCT/US2017/029996 WO2017192369A1 (en) | 2016-05-03 | 2017-04-28 | Identification of objects in a scene using gaze tracking techniques |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110710490.4A Division CN113419629A (zh) | 2016-05-03 | 2017-04-28 | 使用视线追踪技术标识场景中的对象 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109074164A CN109074164A (zh) | 2018-12-21 |
CN109074164B true CN109074164B (zh) | 2021-07-09 |
Family
ID=58672811
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110710490.4A Pending CN113419629A (zh) | 2016-05-03 | 2017-04-28 | 使用视线追踪技术标识场景中的对象 |
CN201780027936.5A Active CN109074164B (zh) | 2016-05-03 | 2017-04-28 | 使用视线追踪技术标识场景中的对象 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110710490.4A Pending CN113419629A (zh) | 2016-05-03 | 2017-04-28 | 使用视线追踪技术标识场景中的对象 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10068134B2 (zh) |
EP (1) | EP3452886A1 (zh) |
CN (2) | CN113419629A (zh) |
WO (1) | WO2017192369A1 (zh) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6343718B2 (ja) * | 2015-04-16 | 2018-06-13 | 楽天株式会社 | ジェスチャインタフェース |
US10698947B2 (en) * | 2015-09-03 | 2020-06-30 | Dmd Marketing Lp | User identification and tracking system |
US20180096504A1 (en) * | 2016-10-04 | 2018-04-05 | Facebook, Inc. | Controls and Interfaces for User Interactions in Virtual Spaces |
US10528614B2 (en) * | 2016-11-07 | 2020-01-07 | International Business Machines Corporation | Processing images from a gaze tracking device to provide location information for tracked entities |
US11119722B2 (en) * | 2016-11-08 | 2021-09-14 | Sharp Kabushiki Kaisha | Movable body control apparatus and recording medium |
US10401954B2 (en) * | 2017-04-17 | 2019-09-03 | Intel Corporation | Sensory enhanced augmented reality and virtual reality device |
JP7149289B2 (ja) | 2017-04-19 | 2022-10-06 | マジック リープ, インコーポレイテッド | ウェアラブルシステムのためのマルチモード実行およびテキスト編集 |
US11076005B2 (en) | 2017-06-09 | 2021-07-27 | DMD Marketing, LP | System and method for identifying and tagging users |
US10037343B1 (en) * | 2017-06-14 | 2018-07-31 | Civic Resource Group International Incorporated | Sector-based retrieval of information associated with geographic locations |
WO2019181441A1 (ja) * | 2018-03-20 | 2019-09-26 | 日本電気株式会社 | 情報処理装置、制御方法、及びプログラム |
EP3547079B1 (en) * | 2018-03-27 | 2021-08-25 | Nokia Technologies Oy | Presenting images on a display device |
JP6368881B1 (ja) * | 2018-04-09 | 2018-08-01 | チームラボ株式会社 | 表示制御システム,端末装置,コンピュータプログラム,及び表示制御方法 |
US10593118B2 (en) | 2018-05-04 | 2020-03-17 | International Business Machines Corporation | Learning opportunity based display generation and presentation |
WO2019237085A1 (en) | 2018-06-08 | 2019-12-12 | Vulcan Inc. | Session-based information exchange |
US20190378334A1 (en) * | 2018-06-08 | 2019-12-12 | Vulcan Inc. | Augmented reality portal-based applications |
US10902263B1 (en) * | 2018-06-26 | 2021-01-26 | Amazon Technologies, Inc. | Image processing system for object identification |
US10996831B2 (en) * | 2018-06-29 | 2021-05-04 | Vulcan Inc. | Augmented reality cursors |
US11823310B2 (en) * | 2018-09-07 | 2023-11-21 | Streem, Llc. | Context-aware selective object replacement |
CN110972203B (zh) | 2018-09-28 | 2023-09-01 | 苹果公司 | 基于无线通信信道带宽条件的电子设备内容提供调节 |
CN110972202B (zh) * | 2018-09-28 | 2023-09-01 | 苹果公司 | 基于无线通信信道带宽条件的移动设备内容提供调节 |
US20210392193A1 (en) * | 2018-12-04 | 2021-12-16 | Sony Group Corporation | Information processing device and information processing method |
US20200273345A1 (en) * | 2019-02-26 | 2020-08-27 | Aptiv Technologies Limited | Transportation system and method |
CN110008835B (zh) * | 2019-03-05 | 2021-07-09 | 成都旷视金智科技有限公司 | 视线预测方法、装置、系统和可读存储介质 |
CN110032278B (zh) * | 2019-03-29 | 2020-07-14 | 华中科技大学 | 一种人眼感兴趣物体的位姿识别方法、装置及系统 |
US11093262B2 (en) | 2019-07-29 | 2021-08-17 | Motorola Mobility Llc | Electronic devices and corresponding methods for switching between normal and privacy modes of operation |
US11189103B2 (en) * | 2019-08-01 | 2021-11-30 | Apple Inc. | Visual search refinement for computer generated rendering environments |
US11113375B2 (en) * | 2019-09-09 | 2021-09-07 | Motorola Mobility Llc | Electronic devices with proximity authentication and gaze actuation of companion electronic devices and corresponding methods |
CN113326714B (zh) * | 2020-02-28 | 2024-03-22 | 杭州海康威视数字技术股份有限公司 | 目标比对方法、装置、电子设备及可读存储介质 |
US11995774B2 (en) * | 2020-06-29 | 2024-05-28 | Snap Inc. | Augmented reality experiences using speech and text captions |
US20220021887A1 (en) * | 2020-07-14 | 2022-01-20 | Wisconsin Alumni Research Foundation | Apparatus for Bandwidth Efficient Video Communication Using Machine Learning Identified Objects Of Interest |
US20230141019A1 (en) * | 2021-11-10 | 2023-05-11 | Marthinus Smuts du Pre Le Roux | Attention Tracking of a Crowd |
US20230421983A1 (en) * | 2022-06-24 | 2023-12-28 | Rovi Guides, Inc. | Systems and methods for orientation-responsive audio enhancement |
US20240219720A1 (en) * | 2022-12-29 | 2024-07-04 | Meta Platforms, Inc. | Reading Out Scene Analysis for Users Wearing Head-mounted Devices |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182043A (zh) * | 2014-08-15 | 2014-12-03 | 北京智谷睿拓技术服务有限公司 | 对象拾取方法、对象拾取装置及用户设备 |
WO2015140106A1 (en) * | 2014-03-17 | 2015-09-24 | IT-Universitetet i København | Computer-implemented gaze interaction method and apparatus |
CN104951808A (zh) * | 2015-07-10 | 2015-09-30 | 电子科技大学 | 一种用于机器人交互对象检测的3d视线方向估计方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5337407A (en) * | 1991-12-31 | 1994-08-09 | International Business Machines Corporation | Method and system for identifying users in a collaborative computer-based system |
JP5194015B2 (ja) | 2006-09-05 | 2013-05-08 | インナースコープ リサーチ, インコーポレイテッド | 感覚的刺激への視聴者反応を決定する方法およびシステム |
WO2008077177A1 (en) | 2006-12-22 | 2008-07-03 | Neuro-Insight Pty. Ltd. | A method to evaluate psychological responses to visual objects |
US8520979B2 (en) | 2008-08-19 | 2013-08-27 | Digimarc Corporation | Methods and systems for content processing |
US20120191542A1 (en) | 2009-06-24 | 2012-07-26 | Nokia Corporation | Method, Apparatuses and Service for Searching |
US9280708B2 (en) | 2011-11-30 | 2016-03-08 | Nokia Technologies Oy | Method and apparatus for providing collaborative recognition using media segments |
US20140046922A1 (en) | 2012-08-08 | 2014-02-13 | Microsoft Corporation | Search user interface using outward physical expressions |
US10007336B2 (en) | 2013-09-10 | 2018-06-26 | The Board Of Regents Of The University Of Texas System | Apparatus, system, and method for mobile, low-cost headset for 3D point of gaze estimation |
US20150074206A1 (en) | 2013-09-12 | 2015-03-12 | At&T Intellectual Property I, L.P. | Method and apparatus for providing participant based image and video sharing |
US9607437B2 (en) * | 2013-10-04 | 2017-03-28 | Qualcomm Incorporated | Generating augmented reality content for unknown objects |
US20150102981A1 (en) | 2013-10-11 | 2015-04-16 | Microsoft Corporation | Eye tracking |
US9489401B1 (en) * | 2015-06-16 | 2016-11-08 | My EyeSpy PTY Ltd. | Methods and systems for object recognition |
-
2016
- 2016-05-03 US US15/145,568 patent/US10068134B2/en active Active
-
2017
- 2017-04-28 WO PCT/US2017/029996 patent/WO2017192369A1/en unknown
- 2017-04-28 CN CN202110710490.4A patent/CN113419629A/zh active Pending
- 2017-04-28 CN CN201780027936.5A patent/CN109074164B/zh active Active
- 2017-04-28 EP EP17722342.7A patent/EP3452886A1/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015140106A1 (en) * | 2014-03-17 | 2015-09-24 | IT-Universitetet i København | Computer-implemented gaze interaction method and apparatus |
CN104182043A (zh) * | 2014-08-15 | 2014-12-03 | 北京智谷睿拓技术服务有限公司 | 对象拾取方法、对象拾取装置及用户设备 |
CN104951808A (zh) * | 2015-07-10 | 2015-09-30 | 电子科技大学 | 一种用于机器人交互对象检测的3d视线方向估计方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3452886A1 (en) | 2019-03-13 |
WO2017192369A1 (en) | 2017-11-09 |
CN109074164A (zh) | 2018-12-21 |
US10068134B2 (en) | 2018-09-04 |
CN113419629A (zh) | 2021-09-21 |
US20170323158A1 (en) | 2017-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074164B (zh) | 使用视线追踪技术标识场景中的对象 | |
CN109154860B (zh) | 情感/认知状态触发记录 | |
CN109074441B (zh) | 基于注视的认证 | |
EP3469459B1 (en) | Altering properties of rendered objects via control points | |
US10268266B2 (en) | Selection of objects in three-dimensional space | |
US10762429B2 (en) | Emotional/cognitive state presentation | |
US10037626B2 (en) | Interaction with virtual objects based on determined restrictions | |
US10768772B2 (en) | Context-aware recommendations of relevant presentation content displayed in mixed environments | |
US20170315825A1 (en) | Presenting Contextual Content Based On Detected User Confusion | |
US20170351330A1 (en) | Communicating Information Via A Computer-Implemented Agent | |
US20170322679A1 (en) | Modifying a User Interface Based Upon a User's Brain Activity and Gaze | |
WO2021015892A1 (en) | Indication of presence awareness |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |