CN111295671A - 自主个人伴侣的模块化层次结构视觉系统 - Google Patents

自主个人伴侣的模块化层次结构视觉系统 Download PDF

Info

Publication number
CN111295671A
CN111295671A CN201880070732.4A CN201880070732A CN111295671A CN 111295671 A CN111295671 A CN 111295671A CN 201880070732 A CN201880070732 A CN 201880070732A CN 111295671 A CN111295671 A CN 111295671A
Authority
CN
China
Prior art keywords
classifier
generic
classifiers
tree
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201880070732.4A
Other languages
English (en)
Inventor
S.巴什基罗夫
M.泰勒
J.费曼德兹-里科
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Publication of CN111295671A publication Critical patent/CN111295671A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

一种利用对象识别方法的自主个人伴侣,所述方法依赖于对象分类器层次结构来对场景中的一个或多个对象进行归类。所述分类器层次结构由一组根分类器组成,所述一组根分类器被训练为基于分开的通用类别来辨别对象。每个根充当子级节点树的父级,其中每个子级节点包含其父级对象分类器的更具体的变体。所述方法包括遍历所述树以便基于越来越具体的对象特征对对象进行分类。系统还包括算法,所述算法被设计为最小化对象比较的次数,同时允许所述系统并发地对场景中的多个对象进行归类。

Description

自主个人伴侣的模块化层次结构视觉系统
技术领域
本公开涉及智能机器人,并且更具体地涉及在自主机器人内实现的针对用户个性化的自动化伴侣,并且还涉及通过人工智能来构建和实现伴侣。
背景技术
机器人现已存在。机器人随时会出于各种原因而与其人类所有者进行交互。这些机器人一直以来都作为机器人助手而存在,包括被设计用来陪伴其所有者的机器人宠物。尽管处理能力有限并且外观造型受到约束,但这些早期的机器人宠物仍然可以在一定程度上自主地四处移动、感测即时环境、具有用于执行任务的可编程智能以及与它们的人类所有者交互(例如,说话、吠叫、触摸等)。这些早期的机器宠物以计算机能力、视觉传感器系统和发音器为特征,以促进一个或多个特征,诸如智能、对象感测、个性和移动。例如,这些机器人宠物可以与对象(例如,球)交互、与其所有者沟通、与其环境交互、与其所有者玩耍、来回走动等。而且,这些机器人宠物可以被编程以参与机器人足球联赛。此外,随着所有者通过交互对机器人宠物进行培养,这些机器人宠物可以成长并成熟。而且,这些机器人宠物可以基于它们的培养方式形成个性。
这些早期的机器人即将达到更高级别的能力,部分地包括提高的智能、意识、协助、交互、个性和移动。
正是在这种情景下提出了本公开的实施方案。
发明内容
本公开的实施方案涉及用于实现为人工智能(AI)的自主个人伴侣的系统和方法。根据本公开的一个实施方案,AI利用以已被识别为与用户在情景上相关的信息为基础经由深度学习引擎而训练的模型来实现向用户提供个性化协助的目标。在一个实施方案中,经训练的模型充当用于AI的行为选择策略。AI可以被配置为感知在不同的专有操作系统下运行的其他数字资产(例如,电话联系人、日历、电话、家庭自动化、游戏控制台等)并与之交换数据。AI可以集成到可移动平台中,并配置为自主地移动以自我定位成最佳地接收数据、收集数据、感测环境以及传递数据。AI可以与后端服务器交互以进行处理,其中AI可以在本地级别处理请求,或者在本地级别预处理请求,然后在后端服务器完全处理那些请求。另外,实施方案涉及用于对象识别的模块化层次结构视觉系统。例如,AI可以利用对象识别的方法,该方法依赖于对象分类器的层次结构来对场景中的对象进行归类。分类器层次结构包括根或通用分类器,上述根或通用分类器被训练为基于分开的通用类别来辨别对象。通用分类器充当通用分类器特有的分类器树的父级节点,其中树中的节点包含通用类别的越来越具体的变体(或对象类别)。遍历树以基于匹配越来越具体的分类器对对象进行分类。
在一个实施方案中,描述了一种由自主个人伴侣执行的用于对象识别的方法。该方法包括识别场景的图像中的对象。该方法包括:使用针对对象确定的对象数据从定义对象的广义归类的通用分类器组中选择第一通用分类器,所述第一通用分类器被选择为表示对象,每个通用分类器形成对应的分类器层次结构树的一部分,其中通用分类器作为所述树的父级节点。该方法包括:通过将第一通用分类器的第一分类器树中的一个或多个级别处的分类器与对象数据进行匹配来遍历所述第一树,直到到达最深级别处的分类器,以识别对象的对象类别。
在另一个实施方案中,描述了一种存储用于实现方法的计算机程序的非暂时性计算机可读介质。该计算机可读介质包括用于识别场景的图像中的对象的程序指令。计算机可读介质包括用于使用针对对象确定的对象数据从定义对象的广义归类的通用分类器组中选择第一通用分类器的程序指令,所述第一通用分类器被选择为表示对象,每个通用分类器形成对应的分类器层次结构树的一部分,其中通用分类器作为所述树的父级节点。计算机可读介质包括用于通过将第一通用分类器的第一分类器树中的一个或多个级别处的分类器与对象数据进行匹配来遍历所述第一树直到到达最深级别处的分类器以识别对象的对象类别的程序指令。
在又一个实施方案中,公开了一种计算机系统,其中计算机系统包括:处理器;以及存储器,该存储器耦合到处理器并且具有指令,
通过自主个人伴侣执行的用于识别对象的方法。由计算机系统执行的方法包括识别场景的图像中的对象。该方法包括:使用针对对象确定的对象数据从定义对象的广义归类的通用分类器组中选择第一通用分类器,所述第一通用分类器被选择为表示对象,每个通用分类器形成对应的分类器层次结构树的一部分,其中通用分类器作为所述树的父级节点。该方法包括:通过将第一通用分类器的第一分类器树中的一个或多个级别处的分类器与对象数据进行匹配来遍历所述第一树,直到到达最深级别处的分类器,以识别对象的对象类别。
通过以下结合附图的详细描述,本公开的其他方面将变得显而易见,所述附图通过示例的方式说明本公开的原理。
附图说明
通过参考以下结合附图的描述可以最佳地理解本公开,在附图中:
图1A是根据本公开的一个实施方案的通过人工智能(AI)实现的自主个人伴侣控制的例示。
图1B例示了根据本公开的一个实施方案的用于构建AI的示例神经网络,其中AI用于实现用于用户的自主个人伴侣。
图2例示了根据本公开的一个实施方案的支持通过AI实现的自主个人伴侣控制的系统。
图3A是根据本公开的一个实施方案的通过AI实现的自主个人伴侣的框图。
图3B例示了可以用于执行本公开的各种实施方案的各方面的示例装置100的部件。
图4A例示了根据本公开的一个实施方案的支持玩游戏应用程序的用户的玩游戏过程(game play)的自主个人伴侣。
图4B例示了根据本公开的一个实施方案的由在图4A中介绍的用户玩的游戏应用程序的三维(3D)游戏世界与用户的物理环境的集成,其中自主个人伴侣被配置为响应于用户的注视方向而将3D游戏世界的一部分投射到物理环境中。
图4C例示了根据本公开的一个实施方案的在图4A至图4B中介绍的游戏应用程序的3D游戏世界的集成的另一示例,其中游戏应用程序的3D游戏世界的扩展部分被投射在显示器旁边,其中显示器示出游戏应用程序的主视图,其中扩展部分示出3D游戏世界的一部分或者为游戏应用程序提供补充信息。
图5例示了根据本公开的一个实施方案的由第一用户使用头戴式显示器(HMD)玩的游戏应用程序的3D虚拟现实(VR)世界与物理环境的集成,其中自主个人伴侣被配置为响应于用户的注视方向而将VR游戏世界的一部分投射到物理环境中,以允许观众并行地参与第一用户的VR游戏世界的体验。
图6A例示了根据本公开的一个实施方案的使用AI实现的用于用户的自主个人伴侣的示例性形式。
图6B例示了根据本公开的实施方案的示例性自主个人伴侣,所述自主个人伴侣被配置为具有一系列能力,其中部分地包括图像的投射、对附近环境的感测以及提供辅助声音。
图6C例示了根据本公开的一个实施方案的包括无人机组件的示例性自主个人伴侣,该无人机组件被配置为具有一个或多个特征,例如图像捕获和图像投射。
图6D例示了根据本公开的一个实施方案的包括旋转顶部部分的示例性自主个人伴侣,该旋转顶部部分被配置为具有一个或多个特征,例如图像捕获和图像投射。
图6E例示了根据本公开的一个实施方案的包括一个或多个附件(appendage)的示例性自主个人伴侣,其中附件可以采取控制器的形式,其中附件/控制器可以从伴侣中移除。
图7是根据本公开的一个实施方案的场景的例示,其中可以使用通过人工智能构建的分类器层次结构对场景中的一个或多个目标对象进行识别。
图8A是根据本公开的一个实施方案的使用人工智能来构建分类器层次结构中的分类器的训练阶段的示例性例示,每个分类器被配置为基于对应对象的内部表示来辨别该对象。
图8B是根据本公开的一个实施方案的在图8A中构建的分类器的使用阶段的例示,其中分类器层次结构的分类器被配置为分析对象输入数据以生成概率,该概率可以用于确定输入对象是否符合由分类器表示的对象类别。
图8C是根据本公开的一个实施方案的例示使用分类器层次结构来识别场景的目标对象的数据流程图。
图9是根据本公开的一个实施方案的例示用于使用通过人工智能构建的具有各种类型的特性(例如,视觉特性、音频特性、文本特性等)的分类器层次结构来进行对象识别的方法的流程图。
图10是根据本公开的一个实施方案的以图像帧内的对象为目标来用于使用通过人工智能构建的具有视觉特性的分类器层次结构来识别对象的目的的例示。
具体实施方式
尽管以下详细描述出于例示的目的包含许多具体细节,但是本领域的任何普通技术人员将理解,以下细节的许多变型和修改是在本公开的范围内。因此,下文描述的本公开的各方面是在不失本说明所附权利要求的一般性并且不对本说明所附权利要求施加限制的情况下阐述的。
一般而言,本公开的各种实施方案描述了实现深度学习(也称为机器学习)技术以构建针对用户个性化的AI模型的系统和方法。这样,个人伴侣被实现为AI,其中AI利用以已被识别为在情景上与用户相关的信息为基础经由深度学习引擎而训练的模型来实现向用户提供个性化协助的目标。经训练的模型可以充当AI的行为选择策略。AI模型是通过可移动的自主个人伴侣实现的。可以将AI配置为感知在不同的专有平台下运行的其他数字资产并与之交换数据。可以将AI集成到可移动平台内以在环境中自主移动,以最佳地接收数据、收集数据、感测环境、传递数据,以最佳地感测和/或映射环境;以及其他特征。在一些实现方案中,自主个人伴侣可配置为与后端服务器交互以进行处理,其中AI可以在本地级别处理请求,或者在本地级别预处理请求,然后在后端服务器完全处理那些请求。
此外,本公开的各种实施方案提供了一种模块化层次结构视觉系统,其中出于对象识别的目的而捕获场景的数据。分类器层次结构由一组根分类器组成,上述一组根分类器经过训练以基于分开的通用类别来辨别对象。每个根分类器充当子级节点树的父级节点,其中每个子级节点包含由根分类器表示的其父级对象分类器的更具体的变体。一种用于对象识别的方法涵盖了遍历子级节点树,以便基于越来越具体的对象特征对对象进行分类。系统还包括算法,该算法被设计为最小化对象比较的次数,同时允许系统并发地对场景中的多个对象进行归类。
以上是对各种实施方案的一般性理解,现在将参考各个附图描述实施方案的示例细节。
图1A例示了根据本公开的实施方案的用于构建和实现通过对应的AI模型实现的自主个人伴侣的系统100A。特别地,自主个人伴侣100被配置为作为数字伴侣与对应用户对接,例如以向用户提供服务。另外,自主个人伴侣100可以通过网络150(例如,互联网)由后端服务器(例如,个人伴侣建模器和应用器140)支持,其中后端服务器提供人工智能和/或深度机器学习(例如,通过深度机器学习引擎190)用于构建和应用个性化的AI模型,每个模型与其相应的用户相对应。例如,一个或多个伴侣100a至100n被配置为支持在全世界一个或多个位置的多个用户。
每个自主个人伴侣100被配置为提供为其相应的用户提供服务(例如,支持)的多种能力。一般地,伴侣100可以应用户的请求提供其服务,或者可以自主地提供服务或在适当的时间为用户提供服务(例如,感测用户的需求,或者确定在情景上相关的动作、随机生成,等等)。例如,自主个人伴侣100可以被配置为向用户提供数字协助,诸如对执行各种操作(例如,搜索信息、购买商品和/或服务等)的用户搜索请求进行处理;自主地生成与用户相关的搜索请求;自主地生成在情景上与用户相关的动作(例如,在注意到食品储藏室是空的并且前一晚举行过聚会之后,通过电子商务供应商购买薯片);向玩游戏应用程序的用户提供游戏协助(例如,提供有助于在对应的游戏应用程序中导航的提示和帮助);通过将三维(3D)游戏空间集成在物理世界内来扩展游戏应用程序的所显示游戏空间;以及其他特征。
另外,自主个人伴侣100可以向用户提供陪伴,诸如,与用户保持对话,向用户提供数字协助,通过对话与用户建立关系,以及在整个的一个时间段或多个时间段内陪伴用户。伴侣100可以提示用户做出响应,就像人类或动物伴侣一样。例如,伴侣100可以建议在伴侣100和用户之间开始玩纸牌游戏,或者可以建议观看显示器(例如,远离伴侣100的固定显示器或与该伴侣集成的显示器)上的数字内容,或者可以使游戏控制器提示用户玩游戏应用程序。
由自主个人伴侣100执行的动作中的至少一些动作在情景上与用户相关。也就是说,由于伴侣100在情景上感知到用户当前所处的环境并且能够构建和/或访问对于用户而言个性化的AI模型,因此可以针对用户正在体验的情景来定制由伴侣100生成的动作。例如,当用户发出看似通用的请求(例如,“昨晚的分数是多少?”)时,基于用于用户的AI模型和当前日期,伴侣100将确定该请求的当前情景,并且提供适当且相关的响应:“勇士队以101-97获胜。”该响应是在情景上相关的,因为AI模型将用户定义为“勇士队”的球迷,并且其中用户仅关注国家篮球协会(NBA)的“金州勇士队”的比赛。此外,该响应在情景上与用户是相关的,因为AI模型还将用户定义为四月季后赛期间的NBA球迷,并且他不关心其他运动的任何分数。因为当前日期是在四月,所以伴侣100可以通过互联网搜索前一天晚上“勇士队”的分数。
如图1A中所示出的,许多个人伴侣100a至100n被配置为与对应用户对接,作为他们相应的数字伴侣。出于简洁和清楚的目的,描述了伴侣100a,并且该描述表示伴侣100a至100n中提供的特征。特别地,每个伴侣被实现在可移动的机器人105内,其中机器人可以采取任何适合的外观造型。通过人工智能110支持每个伴侣,该人工智能既可以本地分布在机器人105中,也可以分布在后端服务器140中。在一个实施方案中,AI 110被配置为用于部分地向对应用户提供服务的本地AI模型120a的一部分。使用AI 110获知的该信息可以与或可以不与后端服务器140共享,该后端服务器也可以负责取决于收集和/或习得的信息的类型来构建本地AI 120a。例如,敏感信息可以被本地处理以构建本地AI模型120a,但是可以不与后端服务器140共享。
另外,伴侣100a的AI 110包括本地AI模型120a的版本,其中模型120a对于对应用户是个性化的,并且其中AI 110被配置用于实现AI模型120a。特别地,术语“本地AI模型”用于指示AI模型对应于特别的或本地化的用户。存储在机器人105的外观造型内的本地AI模型120a可以是完整版本的AI模型,或者可以是基础模型,该基础模型自主地提供完整版本的AI模型可用的某一能力子集。完整版本的AI模型也由提供AI建模和应用的后端服务器140存储和访问。这样,伴侣100a可以独立于后端服务器140运作,并且提供完整的能力集合(如果完整版本的本地AI模型存储在机器人105处)或有限的能力集合(如果较低版本的本地AI模型存储在机器人105处)。另一方面,伴侣100a可以与后端服务器140协作地运作,并且提供由本地AI模型120a提供的完全能力集合。例如,机器人105处的本地AI模型120a与被更好地配置(更快和更多的资源)以执行大部分AI处理的后端服务器140处的本地AI模型120a协作地工作(例如,可以预处理数据)。
如图1A中所示出的,本地数据115a由伴侣100a(诸如由机器人105)收集。机器人105处的AI 110可以使用本地数据115a,以使用存储在机器人105处的任何AI能力来帮助构建本地AI模型120a。另外,可以将本地数据115a传递到后端服务器140处的个人伴侣建模器和应用器,以使用机器学习引擎190的AI能力来构建本地AI模型120a(例如,基于标记和场景选择算法实现最近的邻居)。如所示出的,一个或多个本地AI模型120a至120n被生成并存储在后端服务器140处,用于支持一个或多个用户。
因为伴侣100a至100n中的每个伴侣的本地数据115都被传递到后端服务器处的个人伴侣建模器和应用器,所以可以将每个本地数据进行聚合以生成全局AI模型130。聚合的本地数据可以被存储为全局数据135。
图1B例示了根据本公开的一个实施方案的示例神经网络,该示例神经网络用于通过由个人伴侣建模器和应用器140的基于神经网络的学习引擎190实现的训练为对应用户构建本地AI模型。在一个实施方案中,深度学习引擎190可以被实现为执行标记识别以对用户行为进行分类。特别地,图1A的系统100A中的建模器和应用器140被配置为识别用户行为模式并对在自主个人伴侣100向用户提供服务时可能有用并且适合的那些模式做标记。另外,在一个实施方案中,神经网络可以在伴侣100的AI 110内实现。为用户得到的本地AI模型120部分地定义了用户的以及与用户相关的行为、生物特征、动作、情绪、预期、期望、喜好、需要、需求和环境(用于提供情景)。个人伴侣建模器和应用器140可以是任何计算装置,特别地,包括直接地或通过网络(例如,本地网络、互联网等)与自主个人伴侣101a至101n中的每个自主个人伴侣耦合的后端服务器计算装置。
具体地,建模器140中的机器学习引擎190被配置为分析与用户有关的本地数据115,其中本地数据115部分地由自主个人伴侣100收集。与监测用户(例如,控制器输入、请求、动作、行为、响应等)以及用户的环境相关联地收集本地数据115。如以下将描述的,出于收集数据的目的,伴侣100被配置有监测和/或发出请求的各种特征(例如,相机、有源致动器、无源传感器、控制器、鼠标、扫描仪等)。基本上,可以收集和使用与用户相关联的任何相关信息,以部分地定义用户和理解用户所存在的情景,以及预测用户感受如何、将如何行动或将如何响应各种条件和/或刺激。这样,深度学习引擎190能够对与用户有关的信息进行分类,使得对应的本地AI模型120可以为用户提供最佳服务,并且其中只需最少的用户输入即可提供服务。例如,可以使用AI模型120(例如,通过深度学习引擎190的实现)来理解用户做出的请求,以预测用户将需要或可能想要什么,并提供满足那些请求和预测的服务。
在另一实施方案中,除了本地数据115之外,其他数据(例如,全局数据135)可以可选地由多个个人伴侣100a至100n利用和/或收集,并且还可以用于为对应用户构建本地AI模型120。基本上,全局数据135是为所有用户收集的所有本地数据115的聚合。特别地,一些数据可以是通用的,并且适合于在为所有用户或至少某一用户子集(各种大小的)构建所有的AI模型时使用。另外,全局数据135可以用于构建对于任何用户可能通用的全局AI模型130。此外,全局数据135可以用于构建各种全局AI模型,每个全局AI模型都针对特别的用户分组(例如,通过人口统计、地区、音乐品味、学校教育等进行分组)。
这样,本地数据115和某一部分的全局数据135被馈送到基于机器学习的引擎190。该引擎190利用人工智能(包括受监督的学习算法、强化学习或其他基于人工智能的算法)来为对应用户构建本地AI模型120。
以这种方式,在学习和/或建模阶段期间,深度学习引擎190使用数据来在给定一组输入数据的情况下,预测给定用户的反应、动作、需要和/或需求。这些反应、动作、需要和/或需求通常可以按用户行为分类,因此,在给定一些输入数据的情况下,AI模型120通常可以用于对对应用户的行为进行识别和/或分类,并提供对AI的适当响应(例如,确定通过个人伴侣实现的AI的外在行为)。例如,输入数据可以是用户的特定请求,其中AI模型120用于生成响应,并且其中该响应与由自主个人伴侣100提供的服务有关。另外,输入数据可以是响应所针对的环境数据的集合,无论任何有针对性的用户输入或请求为何,其都可以用于预测用户的反应、动作、需要和/或需求。例如,AI模型120可以用于在用户不必明确地传递请求的情况下预测用户可能想要和/或需要什么服务。
随着时间的推移,AI模型120可以对用户行为进行识别和/或分类,并且响应于输入数据的近似集合,应用于AI模型来预测用户的行为、动作、响应、需要和/或需求。例如,标记识别和场景选择可以用于按标记对用户行为进行识别和分类,并提供AI响应,该AI响应预测用户的需要和/或需求并提供响应于那些需要和/或需求的服务。例如,在前面介绍的示例中,用户仅对四月的NBA分数感兴趣,因此,对体育比赛分数的任何请求都可以用来预测用户的需要和需求,包括理解该用户是“金州勇士队”的球迷,并且在四月,该用户仅对“勇士队”所参与的比赛的分数感兴趣,所有这些都会引起关于“勇士队”参加的最新比赛的分数的响应(例如,如通过AI模型120实现的)。其他示例可用于描述AI模型120的构建。例如,AI模型120可以用于定义用户的某些生物特征。在一种情况下,可以定义用户的步态,使得个人伴侣可以感测和跟踪正在靠近的人的脚步,并确定其是与AI模型120相关联的对应用户。AI模型120可以用于确定用户通常在下午5:00返回家中并坐下来观看数字内容。这样,个人伴侣100可以应用户对伴侣100的请求,将用户最近感兴趣的内容(例如,狂热地观看医疗剧节目)上传到已经播放或准备播放的显示器。
神经网络190表示用于分析数据集以确定对应用户的响应、动作、行为、需要和/或需求的自动化分析工具的示例。不同类型的神经网络190是可能的。在示例中,神经网络190支持可以由深度学习引擎190实现的深度学习。因此,可以实现使用受监督的或不受监督的训练的深度神经网络、卷积深度神经网络和/或递归神经网络。在另一示例中,神经网络190包括支持强化学习的深度学习网络。例如,神经网络190被设置为支持强化学习算法的马尔可夫决策过程(MDP)。
通常,神经网络190表示互连节点的网络,诸如人工神经网络。每个节点从数据中获知一些信息。可以通过互连在节点之间交换知识。向神经网络190的输入激活一组节点。进而,这组节点激活其他节点,从而传播关于输入的知识。在其他节点上重复该激活过程直到提供输出为止。
如所例示的,神经网络190包括节点的层次结构。在最低的层次结构级别处,存在输入层191。输入层191包括一组输入节点。例如,这些输入节点中的每一个都被映射到本地数据115,该本地数据是在由自主个人伴侣100对用户和与用户相关联的环境进行监测和/或询问期间通过致动器主动地收集或通过传感器被动地收集的。
在最高的层次结构级别处,存在输出层193。输出层193包括一组输出节点。例如,输出节点表示与本地AI模型120的一个或多个部件有关的决策(例如,预测)。如前所述,输出节点可以针对给定的一组输入来识别用户的预测或预期响应、动作、行为、需要和/或需求,其中输入可以定义各种场景(例如,直接请求、当日时间、各种行为模式等)。可以将这些结果与从先前的交互以及对用户和/或环境的监测中获得的预定和真实结果进行比较,以便细化和/或修改由深度学习引擎190使用的参数,以针对给定的一组输入来迭代地确定用户的适当的预测或预期响应、动作、行为、需要和/或需求。也就是说,在细化参数时,神经网络190中的节点获知AI模型120的可以用于做出这样的决策的参数。
特别地,隐藏层192存在于输入层191与输出层193之间。隐藏层192包括“N”个的隐藏层,其中“N”是大于或等于1的整数。进而,隐藏层中的每个隐藏层还包括一组隐藏节点。输入节点互连到隐藏节点。同样,隐藏节点互连到输出节点,使得输入节点不直接互连到输出节点。如果存在多个隐藏层,则输入节点互连到最低隐藏层的隐藏节点。进而,这些隐藏节点互连到下一个隐藏层的隐藏节点,依此类推。下一个最高隐藏层的隐藏节点互连到输出节点。互连连接两个节点。互连具有可以获知的数值权重,使得神经网络190适应于输入并且能够学习。
通常,隐藏层192允许在与输出节点对应的所有任务之间共享关于输入节点的知识。为此,在一个实现方案中,通过隐藏层192将变换f应用于输入节点。在示例中,变换f是非线性的。可以使用不同的非线性变换f,包括例如线性整流函数f(x)=max(0,x)。
神经网络190还使用代价函数c来找到最优解。代价函数测量由神经网络190针对给定输入x输出的被定义为f(x)的预测与地面真值或目标值y(例如,预期结果)之间的偏差。最优解表示没有任何解的代价低于最优解的代价的情况。对于这种地面真值标签可用的数据,代价函数的示例是预测和地面真值之间的均方误差。在学习过程期间,神经网络190可以使用反向传播算法来采用不同的优化方法以获知最小化代价函数的模型参数(例如,隐藏层192中的节点之间的互连的权重)。这种优化方法的示例是随机梯度下降。
在示例中,用于神经网络190的训练数据集可以来自同一数据域。例如,针对给定的一组输入或输入数据来训练神经网络190以学习用户的预测或期望响应、动作、行为、需要和/或需求。在该例示中,数据域包括针对用户与基线输入数据的交互而收集的会话数据。在另一示例中,训练数据集来自不同的数据域,以包括除基线以外的输入数据。
这样,神经网络190可以针对给定的一组输入来识别用户的预期响应、动作、行为、需要和/或需求。基于这些预测结果,神经网络190还可以定义用于为对应用户提供(例如,环境和用户的)情景感知服务的AI模型120。
图2例示了根据本公开的一个实施方案的支持通过对应用户的本地AI模型120实现的自主个人伴侣100的系统200。个人伴侣100被配置为基于本地AI模型120向用户提供服务,除其他外,该本地AI模型能够通过识别用户行为的模式来预测用户的响应、动作、行为、需要和/或需求,用户行为的模式在被分类到各标记中时可以用于选择场景以及提供将场景考虑在内的AI响应,该AI响应预测用户的需要和/或需求并提供响应那些需要和/或需求的服务。
如前所述,个人伴侣100可以独立于后端服务器140或连同该后端服务器工作,该后端服务器执行本地AI模型120的建模以及本地AI模型的应用。特别地,如前所述,后端服务器140包括深度学习引擎190,该深度学习引擎被配置用于针对任何一组给定的输入(例如,定义由用户驱动或体验的给定场景的输入),部分地学习和/或建模用户的响应、动作、行为、需要和/或需求,以便构建和应用支持并提供对对应用户的服务的本地AI模型120。特别地,本地AI模型构建器210被配置为与基于神经网络的引擎对接,以构建被存储在存储设备230中的一个或多个本地AI模型120a至120n。另外,全局AI模型构建器215被配置为与深度学习引擎对接,以构建先前描述的并且也存储在存储设备230中的一个或多个全局AI模型130a至130p。例如,出于在深度学习引擎190内应用对应的AI模型的目的,AI模型构建器210和215可以操作以对在深度学习引擎190内定义的参数进行设置,上述参数定义输入层191、隐藏层192和输出层193中的各个节点。
自主个人伴侣100可以在其外观造型(例如,自主机器人外壳)内并通过后端服务器140、或者上述的组合来实现本地AI模型120。如前所述,伴侣100可以独立于后端服务器来实现本地AI模型120,诸如在执行不太复杂的AI操作(例如,打开房间灯的请求)时,或者在网络连接受限或没有网络连接时。另外,伴侣100可以与后端服务器协作地实现本地AI模型120。例如,伴侣100可以通过本地AI模型120执行初步操作,该本地AI模型被本地化以便结构化或调节输入参数(例如,定义要执行的操作),使得输入参数易于传递(例如,减少和/或压缩)到后端服务器140,其中AI模型120内的大多数人工智能是由AI模型应用器220和/或深度学习引擎190执行的。
如图2中所示出的,自主个人伴侣100位于用户的同一环境内,使得所述自主个人伴侣可以向用户提供服务。伴侣100能够直接通过有线或无线连接(未示出)或者通过本地网络250与一个或多个数字或物理对象和/或实体对接,其中网络250可以包括有线或无线连接。图2示出了伴侣100与各种数字和/或物理对象的对接。可以想到与其他数字和/或物理对象的附加对接。如所示出的,伴侣100可以经由有线或无线连接直接地(例如,有线或无线对等通信)或通过本地网络250(例如,蓝牙、Wi-Fi、局域网等)与本地环境中的对象对接。另外,本地网络250与广域网或互联网150可通信地耦合,以促进通过本地网络250通信的各种数字和物理对象与其他远程对象(例如,后端服务器140、其他服务器等)的通信。
例如,出于对伴侣100再充电、或者与基站通信以接收软件更新、以及其他示例性使用情况的目的,伴侣100可以与基站260对接,诸如将基站260和伴侣100中的一者或两者移动到相同或近似相同的位置。
另外,伴侣100可以与本地服务器240对接,其中服务器240可以包括游戏控制台241、塔式计算机243等。例如,游戏控制台241可以将数据的主流提供给显示器265,并且还可以向伴侣100提供主流的概要或完整版本,使得伴侣100可以访问可以在用户玩游戏的同时显示(例如,通过伴侣100的显示器)或传递(例如,音频)给用户的有用信息(例如,游戏协助)。塔243可以提供伴侣100可以控制或利用的附加特征,诸如搜索操作、文件存储等。
在一个实施方案中,伴侣100可以对接和/或实现映射更新系统375,所述映射更新系统可以位于伴侣100内或远离该伴侣。映射更新系统375被配置为连续地映射伴侣100所处的环境。例如,更新可以作为在伴侣100上执行的其他应用程序的后台进程发生。以这种方式,当对象在环境中四处移动或被新放入环境中时,映射更新系统375能够辨别该移动和/或放入以连续地更新环境内的对象和结构的映射。这样,部分地基于更新后的映射,伴侣100能够在环境中四处移动而不与对象碰撞。伴侣100可能需要移动才能将该伴侣置于最佳位置来提供服务。例如,出于保持对话或响应请求等的目的,伴侣100可能需要移动到更靠近用于投射图像的墙壁,或者可能需要移动到更靠近用户,以更好地聆听用户。
作为另外的示例,出于控制那些资产内的操作或访问那些数字资产内的数据的目的,伴侣100可以与一个或多个数字资产270对接。例如,数字资产可以包括在处理器或操作系统内诸如通过本地服务器240实现的日历特征,在这种情况下,伴侣100可以负责基于日历特征来更新或创建条目或者获得即将到来的日历日期等。
在又一示例中,伴侣100可以与一个或多个辅助系统275对接。例如,辅助系统275可以包括头戴式显示器(HMD),使得个人伴侣可以接收来自通过HMD显示的虚拟现实(VR)内容的更新,以便提供要在HMD内显示的与VR内容一致的附加内容(例如,提供增强VR的信息—从而实现增强现实)。
而且,伴侣100可以与家庭自动化系统280对接,该家庭自动化系统被配置为使家庭的运作自动化(例如,设置用于取暖和制冷的恒温器、通风控制、窗帘、网络连接、数字内容传递和呈现、包括洗衣机和烘干机的家用电器等)。这样,伴侣100可以指示家庭自动化系统280关闭娱乐室中的灯,以便在用户玩游戏的同时为显示器提供最佳的照明。
另外,伴侣100可以与移动电话285对接以访问和/或控制由电话285提供的各种特征。例如,伴侣100可以与电话285上的流媒体音乐特征连接以广播音乐。
图3A是根据本公开的一个实施方案的通过用户的本地AI模型实现的自主个人伴侣100的框图。如先前所介绍的,伴侣100被配置为与对应用户对接以通过本地AI模型120提供任何类型的(例如,数字的、物理的等)服务。本地AI模型120可以是与后端服务器140协作以部分地预测用户的行为、响应、动作、反应、需要和/或需求的分布式模型。尽管在图3A中示出了伴侣100的各种示例性部件,但是其他功能和/或部件也得到很好的支持。
如图3A中所示出的,伴侣100包括被配置为管理整体操作的系统控制器355。例如,控制器355可以管理可由各种部件使用以便促进伴侣100的操作的的硬件和软件资源。另外,控制器355可以控制设置在伴侣100内的一个或多个部件(例如,马达320、深度传感器305等),包括部件之间的对接和协作。
驱动控制器265被配置为管理由伴侣100实现的移动性功能。运动能力部分地由马达组件320(例如,电式、燃料式等)或其他用于推进的装置提供,并且驱动组件375被配置为使伴侣100运动。在一些实现方案中,驱动组件275可以包括:一个或多个轮子;或者被配置为提供伴侣100的移动的其他装置(例如,悬停能力)。在一些情况下,陀螺仪380可以将稳定性信息提供给驱动控制器365,以便使伴侣100在静止位置时或在移动时保持在正确的取向上。
伴侣100可以包括被配置用于帮助该伴侣在当前环境中导航的部件。例如,深度传感器305和接近传感器335可以提供与环境中的固定和移动对象有关的信息。特别地,接近传感器335可以被配置为确定对象的位置紧靠伴侣100(例如,通过检测表面)。深度传感器305还可以被配置为确定伴侣100的环境内的近处和远处对象的位置。也就是说,传感器305和335能够确定与伴侣100在环境内的放置有关的对象深度,并且通过连续更新来生成环境的映射,该映射包括对象在环境内的位置(新的和更新的)。另外,深度传感器305可以被配置为确定对象的组成,诸如确定对象是硬的(例如,金属桌子)还是软的(例如,沙发)。深度传感器和接近传感器可以采用多种技术中的一种技术来确定环境内的对象的位置和/或组成,包括使用电磁场、感应、射频、热变化、红外频率、气流等。此外,图像可以由相机325和/或视频记录器370捕获,以便提供对象信息(例如,对象的相关定位)以及提供其他用途和服务(例如,用户的个人图像和视频捕获、视频游戏记录、日常活动记录等)。
另外,映射更新系统345可以部分地使用由深度传感器305和接近传感器335提供的信息,以便对环境进行映射。可以出于映射的目的而访问其他信息和/或数据,以包括建筑蓝图、由相机325、视频记录器370捕获的图像等。映射系统345可以配置为提供环境的三维(3D)视图。例如,由各种部件收集的数据和/或第三方信息可以用于生成环境的一种或多种类型的映射。这些映射包括二维和3D映射。此外,如前所述,映射更新系统375使用一种或多种工具(例如,深度传感器305和接近传感器335等)连续地映射环境。例如,可以发现在环境中四处移动或被放入环境中的对象,使得将对象的位置更新到环境的映射中。其他类型的映射包括环境的图像和视频演示。在一个实施方案中,该信息可以用于映射用户的家,其中可以确定房间的位置,可以对房间的墙壁进行分类(例如,出于确定哪面墙壁可以用作投射屏幕的目的),可以存储和提供各房间的实际和虚拟图像,并且可以生成房屋的视频和虚拟演示(例如,出于保险、房地产展示等目的)。
在另一个实施方案中,伴侣100可以包括用于娱乐、通信等目的的显示系统310。例如,显示系统310可以用于与用户通信,诸如当提供用户的互联网搜索结果时,或者出于一个或多个目的而询问用户(例如,询问用户的总体健康状况、弄清用户的各种请求等)。另外,显示系统310可以用作主要游戏显示器(示出由来自游戏控制台的主要游戏流流式传输的、玩游戏应用程序的用户的玩游戏过程),或者用作用于提供次要游戏流(例如,与用户的玩游戏过程有关的信息)的辅助显示器。显示系统310可以被配置为示出电影或其他数字内容。显示系统310可以连同扬声器或音频系统330来工作,用于提供与显示器所提供的图像或视频有关的音频。例如,可以将用户的玩游戏过程的音频与在显示器上呈现的玩游戏过程的视频关联地且同步地呈现。
此外,伴侣100可以包括用于娱乐、通信等目的的投射系统340。投射系统可以提供与显示系统310相似的功能,以包括:提供与用户的通信;或者显示来自由控制台或后端流媒体服务提供的游戏应用程序的主流;提供次要数据流(例如,作为游戏应用程序的辅助屏幕,提供次要或补充信息,或者连同主要显示器,提供游戏世界的扩展视图);显示数字内容等。另外,可以通过投射系统340提供其他特征。因为投射的图像可能比显示系统大,所以可以提供扩展视图选项。例如,可以通过伴侣100的投射系统340来呈现不同类型的(例如,全息、3D等)视频和/或成像。
记录系统317被配置为捕获由伴侣100收集和/或生成的数字信息的视频和/或音频。例如,可以收集并存储玩游戏应用程序的用户的玩游戏过程(例如,视频和音频)。附加信息(诸如当用户正在玩游戏应用程序时来自用户的附加音频)可以由记录系统317收集,并且与玩游戏过程的视频和音频结合在一起。
另外,用户跟踪系统350可以被配置为跟踪用户的总体和具体移动。总体移动包括用户在环境内的整体身体移动。具体移动可以针对身体的一部分,诸如确定用户的头部或躯干的移动。例如,跟踪系统可以确定用户的各个身体部位的取向,并跟踪头部或身体的转动。跟踪系统350可以收集由一个或多个其他部件提供的数据,包括来自相机325或视频记录器370、深度传感器305、接近传感器335或其他跟踪传感器(例如,集成式或第三方传感器,诸如通过游戏控制台提供)等的图像和视频。
图3B例示了可以用于执行本公开的各种实施方案的各方面的示例装置100的部件。例如,图3B例示了根据一个实施方案的适合于实现提供支持用户的服务的装置的示例性硬件系统,其中该装置被配置为提供通过本地AI模型实现的服务,该本地AI模型能够部分地预测对应用户的行为、动作、反应、响应、需要和/或需求。该框图例示了可以并入有或可以是适合于实践本发明的实施方案的个人计算机、视频游戏控制台、个人数字助理或其他数字装置的装置100。装置100包括用于运行软件应用程序和可选地操作系统的中央处理单元(CPU)302。CPU 302可以包括一个或多个同构或异构处理核心。
根据各种实施方案,CPU 302是具有一个或多个处理核心的一个或多个通用微处理器。可以使用具有微处理器架构的一个或多个CPU来实现另外的实施方案,上述微处理器架构特别适用于被配置用于深度学习、内容分类和用户分类的应用程序的高度并行和计算密集型应用程序,诸如媒体和交互式娱乐应用程序。例如,CPU 302可以被配置为包括本地化的AI引擎(例如,深度学习引擎)110,所述引擎被配置为支持和/或执行关于部分地预测用户的用户行为、动作、响应、反应、需要和/或需求的学习操作,并基于该预测提供服务。而且,AI引擎110被配置为在伴侣100处应用用户的本地AI模型120。另外,CPU 302可以提供如由图3A中所示出的伴侣100的一个或多个部件提供的附加功能,诸如控制器355、驱动控制器、映射更新系统345等。
CPU 302还可以提供与由自主个人伴侣100捕获的场景中的对象的识别有关的并且通过实现分类器层次结构的模块化层次结构数据(例如,视觉)系统来实现的附加功能。通过首先将对象与定义广义对象归类的通用分类器进行匹配,然后遍历与匹配的通用分类器相关联的分类器子级节点的树,来识别所捕获的场景中的对象。随着树被遍历,与对象输入数据匹配的通用分类器的子级节点是使用人工智能使用越来越具体的训练数据集构建的更具体的分类器。当到达最深级别的末端分类器时,遍历过程完成,其中末端分类器具有识别对象的对象类别。例如,CPU 302包括数据捕获模块710,所述数据捕获模块被配置用于捕获各种类型的数据(例如,视频、音频、文本等)。为了例示,数据捕获模块710可以包括视频和/或图像捕获模块370',所述视频和/或图像捕获模块被配置用于捕获场景或环境的视频数据和/或图像数据。例如,视频/图像捕获模块370可以类似于图3A的视频记录器370或图像相机325而配置。另外,数据捕获模块710可以包括音频捕获装置317',所述音频捕获装置被配置用于捕获场景或环境的音频数据。例如,音频捕获装置317’可以类似于图3A的传声器315或记录系统317而配置。此外,数据捕获模块710可以包括文本捕获装置715,所述文本捕获装置被配置用于捕获在场景和/或环境内发现的文本数据。出于捕获各种其他类型的数据(例如,触觉、压力、温度等)的目的,在数据捕获装置710内可以包括附加的捕获装置。
CPU 302包括被配置用于识别场景中的对象的分类器模块720。分类器构建器729被配置为构建分类器层次结构中的每个分类器。特别地,每个分类器呈现为具有独立的训练数据集。在分类器层次结构中,使用更广义的训练数据集来训练顶部附近的分类器,并且使用越来越具体的训练数据集来训练层次结构中更深的分类器。每个分类器包括定义其相应的对象类别或对象归类的内部表示的一组权重。在图8A中进一步例示了用于构建分类器的训练过程。另外,分类器模块720包括用于定位场景内的对象的对象标识符721,以用于使用分类器层次结构识别对象的目的。特别地,通用分类器标识符723被配置为确定目标对象属于哪个通用类别(例如,“球”、“生物”等)。一旦识别出通用类别,就使用遍历模块725遍历与匹配的通用分类器相关联的子级节点树,以确定在遍历过程结束时的子级节点分类器,其中对象与由该末端分类器表示的对象类别相匹配。在遍历过程期间选定的分类器生成的概率超过了余量或阈值,从而指示目标对象属于对应分类器的类别。具体地,末端分类器表示作为父级类别变体的对象类别。例如,变体包括在由对应的根或通用分类器定义的、被标示为“圆形对象”的对象的通用类别内的“棒球”、“足球”或“排球”。
如所示出的,映射更新系统345可以通过位于伴侣100内的基于硬件的装置来实现。特别地,映射更新系统345被配置为生成伴侣100所处的环境的映射。该映射可以包括本地化的定位系统,诸如定义环境空间内的位置的新生成的和/或格式化的坐标系。例如,坐标系可以并入有全球定位系统(GPS)或3D笛卡尔坐标系、系统的混合(例如,使定义建筑物房间的平面图与每个房间的单独坐标系对接)或者任何适合的定位系统的值。
存储器304存储供CPU 302使用的应用程序和数据。存储设备306为应用程序和数据提供非易失性存储设备和其他计算机可读介质,并且可以包括固定磁盘驱动器、可移动磁盘驱动器、闪存装置和CD-ROM、DVD-ROM、蓝光、HD-DVD或其他光学存储装置、以及信号传输和存储介质。用户输入装置308将来自一个或多个用户的用户输入传送给装置100,所述用户输入装置的示例可以包括键盘、鼠标、操纵杆、触摸板、触摸屏、静态或视频记录器/相机和/或传声器。网络接口314允许装置100经由电子通信网络与其他计算机系统通信,并且可以包括通过局域网和广域网(诸如互联网)的有线或无线通信。音频处理器312适于根据由CPU 302、存储器304和/或存储设备306提供的指令和/或数据来生成模拟或数字音频输出。装置100的部件,包括CPU 302、存储器304、数据存储设备306、用户输入装置308、网络接口310和音频处理器312,经由一个或多个数据总线322连接。
图形子系统314还与数据总线322和装置100的部件连接。图形子系统314包括图形处理单元(GPU)316和图形存储器318。图形存储器318包括用于存储输出图像的每个像素的像素数据的显示存储器(例如,帧缓冲器)。图形存储器318可以与GPU 316集成在同一装置中、作为分开的装置与GPU 316连接、和/或在存储器304内实现。像素数据可以直接从CPU302提供给图形存储器318。替代性地,CPU 302向GPU 316提供定义期望的输出图像的数据和/或指令,GPU 316根据所述数据和/或指令生成一个或多个输出图像的像素数据。定义期望的输出图像的数据和/或指令可以存储在存储器304和/或图形存储器318中。在实施方案中,GPU 316包括3D渲染能力,以用于根据对场景的几何形状、照明、阴影、纹理、运动和/或相机参数进行定义的指令和数据生成输出图像的像素数据。GPU 316还可以包括能够执行着色器程序的一个或多个可编程执行单元。在一个实施方案中,GPU 316可以在AI引擎190’内实现,以提供附加的处理能力,诸如用于AI或深度学习功能。
图形子系统314从图形存储器318周期性地输出要在显示装置310上显示的或者要被投射系统340投射的图像的像素数据。显示装置310可以是能够响应于来自装置100的信号而显示视觉信息的任何装置,包括CRT、LCD、等离子体和OLED显示器。例如,装置100可以向显示装置310提供模拟或数字信号。
应当理解,本文所述的实施方案可以在任何类型的客户端装置上执行。在一些实施方案中,客户端装置是头戴式显示器(HMD)或投射系统。
图4A至图4C例示了根据本公开的一个实施方案的在对应用户的家庭环境内的自主个人伴侣100的示例性实现方案。如前所述,伴侣100被配置为通过本地AI模型120向用户提供服务,其中AI模型120可以独立于任何后端服务器工作,或者可以在AI模型120位于后端服务器处的情况下以分布式方式工作,以部分地预测用户的行为、响应、动作、反应、需要和/或需求。尽管伴侣100被配置为在各种场景下提供各种服务,但是图4A至图4C仅示出了用户450正在玩在游戏控制台241上执行(或者在后端服务器处执行并通过游戏控制台流式传输)的游戏应用程序的场景,以及伴侣100能够向用户450的玩游戏过程提供补充信息的场景。
如所示出的,用户位于家庭环境410中,诸如娱乐室中。该房间包括两面墙壁415A和415B。环境410包括沙发405。用户可以访问游戏控制台241。特别地,游戏应用程序正在与用户450的玩游戏过程相关联地通过游戏控制台241(或任何其他装置)来执行和/或流式传输,其中玩游戏过程(诸如)通过控制器420来响应用户输入。创建玩游戏过程的主流,其中玩游戏过程的视频被传递到显示器310。另外,可以通过音频系统(未示出)提供玩游戏过程的音频。游戏应用程序可以是开放式公路赛车游戏,其中用户正在扮演比赛中的汽车的驾驶员。屏幕截图425示出了传递到显示器310的视频流的图像,并且包括在前挡风玻璃外面和在赛车仪表板上方的视图,该视图示出了迎面而来的道路以及方向盘和仪表板中的各种仪表。
另外,伴侣100位于环境410中,并且包括:机器人外观造型105;以及被配置为实现用户450的本地AI模型120的AI 110。例如,AI 110可以是与后端服务器140处的AI引擎190协作的AI引擎190'。通过AI 110实现的本地AI模型120被配置为部分地向用户450提供与玩游戏过程有关的服务。这样,伴侣100可以可通信地耦合到游戏控制台241,以至少接收关于游戏应用程序和/或玩游戏过程的信息。例如,该信息可以包括游戏的标题和版本、玩游戏过程的游戏状态。另外,伴侣100可以包括在游戏应用程序的次要流中提供的信息。例如,游戏控制台241可以生成用于在显示器310上呈现的主流以及通过伴侣100(例如,经由显示器、投射、扬声器等)呈现的次要流。
在一个实施方案中,伴侣100被配置为提供支持用户的玩游戏过程的补充信息,其中该信息可以与用户和正在玩游戏应用程序的其他玩家的玩游戏过程有关。在一些实现方案中,该信息可以提供与游戏应用程序有关的一般信息。补充信息可以向用户420提供协助以推进玩游戏过程。例如,该协助可以呈指导形式,以帮助用户420实现目标(例如,通过某一等级),并且可以包括示出控制器输入的视觉提示,所述控制器输入通常或直接地帮助用户实现游戏应用程序内的目标。对通过伴侣应用程序提供的补充信息的详细描述在2017年3月31日提交的题为“GAME PLAY COMPANION APPLICATION”的共同未决专利申请(美国专利申请序列号15/476,597)中提供,所述申请的全部内容以引用的方式并入本文中。
图4B例示了如图4A中所介绍的与游戏控制台241对接以提供与用户450的玩游戏过程有关的补充信息的自主个人伴侣100。例如,图4B示出了环境410内的用户450正在玩在游戏控制台241上执行或通过该游戏控制台流式传输的游戏应用程序。特别地,图4B例示了游戏应用程序的三维(3D)游戏世界和用户的物理环境的集成。如所示出的,伴侣100被配置为将游戏应用程序的3D游戏世界的一部分投射到物理环境410中。例如,伴侣100能够将3D世界的视图扩展到显示器310上呈现的内容之外,显示器继续示出屏幕截图425。特别地,与在显示器310上呈现主视频流(并且包括屏幕截图425)同时地,伴侣100将视频流(包括屏幕截图430)作为游戏应用程序的次要流进行投射。
另外,根据本公开的一个实施方案,可以响应于用户450的注视方向做出由伴侣100提供的投射。例如,伴侣100的(或与伴侣100协同工作的)注视跟踪系统被配置为在玩游戏过程期间捕获用户450的注视方向。作为例示,当用户赛车时,可以在环境410内定向地提供声音,这可以触发头部移动。如所示出的,用户450的头部急剧地向右转动。如在显示器310上的主流中所显示的,支持其他触发,诸如指向右侧的箭头。例如,伴侣100中的声音定位器和投射系统可以产生声音,该声音源自或被使得源自环境410中的一位置,该位置也对应于游戏应用程序的游戏世界内的起始点。声音可能来自试图超过用户450控制的驾驶员的竞争对手的引擎,并且可能源自驾驶员的右侧,或者更具体地源自驾驶舱的右侧。当用户的头部向右转动以获取对超车赛车手更好的视图时,游戏世界的从用户450的角度观看到的该部分的投射呈现在区域443中的墙壁415A上,其中该投射被大致呈现在游戏世界中对象的适当位置并且与用户扮演的角色的位置有关,其中角色位置与用户450的物理位置相关联。如所示出的,辅助信息的投射的屏幕截图430包括在右侧超车的78号赛车。
在一个实施方案中,区域443可能是在先前完成的对环境410的映射过程期间发现的。映射过程发现区域443可以适合于显示补充信息和/或内容。伴侣100可以相对于环境410中的墙壁415A和/或用户450定位自身,以适当地呈现补充信息。
图4C例示了根据本公开的一个实施方案的在图4A至图4B中介绍的游戏应用程序的3D游戏世界的集成的另一示例,其中游戏应用程序的3D游戏世界的扩展被投射在示出用户450的玩游戏过程的主流的显示器310旁边。如所示出的,代替将次要或补充信息投射在墙壁415A上,将信息投射在就在显示器310的右侧的墙壁415B上。例如,在对环境410的映射过程期间,可以确定墙壁415A不能支持图像的投射。也就是说,即使伴侣100被投射到墙壁415A上,视频流也将是不可见的(例如,墙壁415A包含书架)。这样,伴侣100可以将补充信息投射在区域440中的墙壁415B上,这在某种程度上能传达游戏世界中的投射中的对象的适当位置感,尤其是相对于示出游戏应用程序的主视频的显示器310来说。在另一实现方案中,投射是在显示器310上呈现的视频流的扩展。这样,伴侣100将补充视频流投射到区域440上,以包括与图4B的屏幕截图430相似的屏幕截图430′,其包括处于超车位置的78号赛车。屏幕截图430’被投射到驾驶舱的右侧,如通过显示器310上呈现的角色驾驶员的视角(例如,屏幕截图425)所表示。
在一个实施方案中,在墙壁415B上的投射可以由用户450的视线偏离显示器310来触发。如所示出的,用户450的头部没有像在游戏环境中那样转动大约90度,而是更像是转动45度来观看墙壁415B的区域440。在其他实施方案中,投射可以在游戏应用程序的执行期间由伴侣100自主地产生。例如,补充信息可以由伴侣100自动地投射以提供增强的用户体验。在那种情况下,可以在其他时间在环境410内的其他位置处提供其他补充信息。
图5例示了根据本公开的一个实施方案的由用户550使用头戴式显示器(HMD)515所玩的游戏应用程序的3D虚拟现实(VR)世界与物理环境510的集成。如图5所示出的,用户550正在玩游戏应用程序,该游戏应用程序与用户550的玩游戏过程相关联地在游戏控制台241上执行(或者在后端服务器处执行并通过游戏控制台或通过任何其他装置流式传输),其中玩游戏过程(诸如)通过控制器420和/或HMD 515的移动来响应用户输入。
如前所述,伴侣100被配置为通过本地AI模型120向用户提供服务,其中AI模型120可以独立于任何后端服务器工作,或者可以在AI模型120位于后端服务器处的情况下以分布式方式工作,以部分地预测用户的行为、响应、动作、反应、需要和/或需求。伴侣100包括:机器人外观造型105;以及用于实现与用户550相对应的AI模型120的人工智能。
更特别地,伴侣100被配置为将游戏应用程序的虚拟现实(VR)游戏世界的一部分投射到物理环境510中。例如,可以将VR游戏世界投射520到环境510中的墙壁(未示出)上。投射520也可以通过由伴侣100控制的物理显示器来进行。以这种方式,用户550所体验到的视图也可以被呈现给观众555。在一个实施方案中,根据本公开的一个实施方案,响应于用户550的注视方向进行投射,以允许观众555并行参与用户550的VR游戏世界的体验。这样,如果环境510适合于投射,则随着用户550在观察VR游戏世界时改变取向,伴侣100也可以将投射520改变到环境510内的不同位置,以紧密地对应于VR游戏世界中的适当位置。也就是说,如果用户550的头部逆时针转动90度,则可以将在用户550左侧以及在观众555左侧的墙壁上进行投射520。以这种方式,观众可以获取对由伴侣应用程序投射到物理环境510中的VR游戏世界的感受。
图6A至图6E例示了根据本公开的实施方案的自主个人伴侣的各种示例性形式,其中伴侣可以通过如图1至图5中示出的伴侣100来实现。图6A至图6H中示出的伴侣被配置为通过本地AI模型120向对应用户提供服务,其中AI模型120可以独立于任何后端服务器工作,或者可以在AI模型120位于后端服务器处的情况下以分布式方式工作,以部分地预测用户的行为、响应、动作、反应、需要和/或需求。
特别地,图6A例示了根据本公开的一个实施方案的通过用户的AI模型实现的针对用户的伴侣600A的示例性形式。尽管图6A示出了通用外观造型,但是伴侣600A可以在任何适合的外观造型内实现。例如,本体601被示出为具有圆锥形的形状,其下部部分的直径小于上部部分的直径。上部壳体605可以从本体601突出,以促进伴侣600A的附加特征。
特别地,伴侣600A在下部部分包括一个或多个轮子609,或者包括用于为伴侣600A提供二维或三维移动性的任何适合的装置。以这种方式,伴侣600A可以根据需要在环境内四处移动以提供其服务。例如,伴侣600A可以独立地在环境中四处移动以捕获环境的最佳图像,或者选择最佳位置用于投射视频和/或图像。另外,本体601可以在一个位置旋转,以为环境内的伴侣600A提供最佳取向。
图6B例示了根据本公开的实施方案的示例性自主个人伴侣600B,所述自主个人伴侣被配置为具有一系列能力,其中部分地包括图像的投射、对附近环境的感测以及提供辅助声音。特别地,伴侣600B被示出为具有关于本体601的并且先前在图6A中介绍过的通用外观造型。另外,示出轮子609以表示在环境中运动的能力。
伴侣600B包括布置在整个本体601中的扬声器610。另外,扬声器610可以位于伴侣600B的其他部分中,诸如在上部壳体605中。显示器310位于本体601的表面上,并且被配置为在为对应用户执行服务时呈现信息和/或数据。例如,显示器310可以在向用户询问以得到响应时显示文本,或者响应于来自用户的询问而呈现视频或文本。显示器310还可以呈现其他补充信息,诸如与玩游戏应用程序的用户的玩游戏过程相关联地生成的信息。
伴侣600B包括用于感测环境的一个或多个传感器,其中传感器可以位于伴侣表面上的各个位置。例如,深度传感器305可以位于本体601的上部部分的表面上,其中深度传感器被配置为确定环境内的近处和远处对象的位置。一个或多个深度传感器305也可以用于确定对象的组成或对象的表面硬度。另外,一个或多个接近传感器335可以位于上部壳体605的表面中,其中接近传感器可以被配置为确定在伴侣600B附近的对象的位置。如前所述,深度传感器和接近传感器可以采用各种技术(例如,电磁场、感应、射频、热变化、红外频率、气流等),如由信号625所示出的,以确定对象的位置。
另外,本体601的上部部分包括被配置为捕获环境的音频记录的一个或多个传声器315。例如,可以记录对应用户的音频以捕获用户的现场反应,这可以在以后的时间重放。而且,所记录的音频可以与由位于胶囊状物650中的视频记录器370捕获的所记录视频同步。而且,图像相机325可以位于胶囊状物650中。图像相机325和视频记录器370的组合允许伴侣600B捕获用户和/或环境的视频和/或图像。
如所示出的,胶囊状物650具有各种程度的运动和取向。胶囊状物650附接到提升机构655,并且可以相对于伴侣600B的本体601上下移动。例如,胶囊状物650可以升高自身以获取环境的更好视图,诸如当相机325或记录器370被物体(例如,墙壁、沙发、家具、书架等)遮挡时。另外,胶囊状物650可以围绕提升机构655的轴旋转,使得该旋转可以相对于静态本体601发生。
伴侣600B的上部壳体可以包括一个或多个投射系统340。如前所述,投射系统340可以将补充信息投射到环境的表面(例如,房间的墙壁)上。如前所述,可以通过环境的映射来确定表面。当伴侣600B正在向用户提供服务时,补充信息可以用于与用户进行交流。
图6C例示了根据本公开的一个实施方案的包括无人机组件651的示例性自主个人伴侣600C,该无人机组件配置有一个或多个特征,例如图像捕获和图像投射。如所示出的,伴侣600C具有先前介绍的一个或多个特征,其中包括通用地表示的本体601、用于移动的装置(例如,示出的轮子609)、显示器310、接近传感器335和投射系统340的投射仪。为了清楚起见,未示出先前介绍的其他特征。
特别地,伴侣600C包括无人机组件651,该无人机组件在静止位置时联接至上部壳体605(或能够接纳组件651的任何其他适合的表面区域)。例如,出于为电池充电的目的,无人机组件651可以与上部壳体605对接。可以想到远离伴侣600C的其他静止位置,诸如分开的基站。此外,无人机组件651可通信地耦合至伴侣600B的一个或多个部件,诸如控制器355。出于捕获图像和视频的目的,图像相机325和/或视频记录器370可以位于无人机组件651上。其他部件也可以位于组件651上,诸如投射系统640的投射仪。
如所示出的,无人机组件651能够在环境内到处移动。可以想到用于提供移动的任何适合的装置,诸如螺旋桨系统、气流系统、软风系统、系留系统等。这样,无人机组件651能够在整个环境中在三个维度上移动,并且可以在环境内旋转自身。移动可以是有必要的,以便将相机325和/或视频记录器370置于更好的位置用于捕获图像和/或视频。例如,当从与伴侣100的本体601和上部壳体605对应的某一点拍摄时,沿特定方向的房间的视图可能被物体遮挡。无人机组件651可以被部署到不受物体阻碍(例如,笔直)的位置,以便捕获视图。
图6D例示了根据本公开的一个实施方案的示例性自主个人伴侣600D,所述自主个人伴侣包括配置有一个或多个特征的旋转顶部部分630。示出了伴侣600D以例示适合于实现对应用户的本地AI模型120的不同外观造型。如所示出的,伴侣600D包括基座620。在基座620内设置有:移动性装置,诸如轮子609′;或先前描述的用于运动的任何其他适合的装置。
特别地,伴侣600D包括顶部部分630,该顶部部分可以包括相机325、视频记录器370、深度传感器305、接近传感器335等。为了例示,顶部部分630可以围绕基座620旋转。以这种方式,伴侣600D可以使自身取向为向用户最佳地提供服务(例如,使自身置于与用户交流的良好位置)。也就是说,将伴侣600D的移动特征和旋转顶部部分630相组合,伴侣在其环境内的各种取向都是可能的。例如,顶部部分630可以朝向环境中的对象旋转,以使相机系统具有对象的良好视图。此外,伴侣600D可以移动到更靠近对象,以使相机系统具有对象的具有更好视图。
在一些实现方案中,顶部部分630的旋转能够传达情绪或显示伴侣600D的某些行为。在那种情况下,顶部部分630可以配备有被编程为示出情绪的多色照明。例如,在顶部部分630上示出了灯带631。带631中的每个灯可以根据对应模式来打开或关闭。另外,带631中的每个光可以根据对应模式示出一系列颜色。表632示出了灯光模式(例如,开/关、颜色序列等)的列表,其中每种模式可以与伴侣100的对应情绪相关联。例如,模式1可以与第一种高兴情绪相关联,并且模式2可以与第二种高兴类型相关联。其他情绪可以通过其他模式来展现,诸如示出冷漠、愤怒、悲伤、忧郁等。
图6E例示了根据本公开的一个实施方案的包括一个或多个附件640的示例性自主个人伴侣600E。如所示出的,伴侣600E具有先前介绍的一个或多个特征,其中包括通用地表示的本体601以及用于移动的装置(例如,示出的轮子609)。为了清楚起见,未示出先前介绍的其他特征。
特别地,附件640可以提供控制器功能。例如,出于在游戏控制台上或者在后端服务器处执行游戏应用程序期间提供控制指令的目的,附件640可以包括控制器420,并且可以与游戏控制台241对接。在一个实施方案中,附件640中的一个或多个附件可以被移除,以便于操纵和处置。以这种方式,用户可以以处置游戏控制器的正常方式与附件640对接。
在一个实施方案中,每个附件640配置有能够耦合到基座充电端口的再充电端口。内部电池(未示出)位于对应附件640内。基座充电端口可以位于本体601上,诸如在与枢轴点602相关联的连接内。以这种方式,当将附件640放回到本体601上时,可能会发生内部电池的充电。也就是说,在一个实施方案中,电力(例如,电荷)通过伴侣600E的本体601传递到附件640的内部电池。在另一个实施方案中,电力沿相反方向传递,使得电力从内部电池传递至伴侣600E。以这种方式,附件640可以被配置为用于向伴侣600E供电的主要再充电介质,并且可以被移除以电耦合和/或通信地耦合到与本体601分开的基座充电站。当附件640解耦(例如,再充电)时,伴侣600E可以使用内部电池源继续运行,其中一旦附件640再次耦合至本体601,就可以对电池源再充电。
在一个实施方案中,附件640充当伴侣600E的臂。例如,附件640可以围绕本体601上的枢轴点602移动。附件640的移动可以提供某种通信。例如,附件640的移动模式可以用信号表示伴侣600E的问候。在另一示例中,附件640可以从本体601向外延伸以示出伴侣600E的欢迎姿态。在又一示例中,附件640可以被延伸以与用户握手或击拳。可以想到其他运动。另外,在其他实施方案中,附件可以是任何形式或配置。例如,被配置为伴侣600E的附件的头部或上部壳体605可以与本体601分离。
根据本公开的实施方案,本发明的实施方案支持用于自主个人伴侣的各种替代外观造型。其他实施方案直接地或通过网络提供两个自主个人伴侣100之间的通信。作为例示,每个伴侣都可能正在执行与建筑物中的房间的映射有关的操作,该映射需要在房间中四处移动,其中一个伴侣或两个伴侣在其移动期间可以感测到附近的另一个伴侣。出于彼此通信的目的,伴侣还可以将自身移动到适当位置。在一个实现方案中,每个伴侣都可以与对应的QR码相关联。QR码可以用于交换识别信息。例如,QR码提供对与对应伴侣有关的信息的访问(例如,经由后端服务器)。这样,伴侣可以将自身移动到可以传递QR码的位置(例如,使示出第一伴侣的QR码的显示器处于第二伴侣的相机系统的观看范围内)。一旦被捕获,则QR码可以通过网络被传递到服务器,以访问有关与捕获的QR码关联的伴侣的识别信息。以这种方式,可以在伴侣之间交换识别信息。
模块化层次结构视觉系统和方法
因此,本公开的各种实施方案描述了实现机器学习技术以构建针对用户个性化的AI模型的系统和方法。本地AI模型通过可移动的自主个人伴侣来实现,其中自主个人伴侣可配置为向用户提供在情景方面相关的且个性化的协助。先前在图1至图6中介绍了个人伴侣。通过过滤在深度学习引擎190内用于生成模型的主观和/或客观输入数据来实现本地AI模型的个性化。如果不执行过滤,则将使用同一数据集构建所有AI模型(本地AI模型和全局AI模型),这样,所有AI模型都是相同的,因此具有相同的个性(例如,对于给定的输入集合将实现相同的结果)。以这种方式,生成具有不同个性的本地AI模型,使得每个AI模型可以是唯一的,并且反映对应用户的个性或者与对应用户的个性相关联。
另外,本发明的实施方案公开了由自主个人伴侣捕获且使用分类器的分类器层次结构的环境内的对象的识别,当上述分类器的分类器层次结构被遍历时可以识别对象。捕获场景以获得各种类型的数据,其中场景包括一个或多个对象。可以隔离与特别的对象有关的数据以进行进一步分析,其中数据可以包括视频、图像、音频、文本、温度、压力、触觉、声纳、红外线等。可以对有关数据进行分析以确定目标对象和所识别对象(例如,来自所捕获的场景)属于可以通过机器学习构建的分类器层次结构内的哪个对象类别。分类器层次结构由一组根分类器组成,上述一组根分类器被训练为基于分开的通用类别辨别对象。每个根分类器充当子级节点树的父级节点,其中每个子级节点包含由根分类器或通用分类器表示的其父级对象类别的更具体变体。一种用于对象识别的方法包括遍历子级节点树,以便基于越来越具体的对象特征对对象进行分类。系统还包括算法,该算法被设计为最小化对象比较的次数,同时允许系统并发地对场景中的多个对象进行归类。
图7是根据本公开的一个实施方案的场景700的例示,其中可以使用通过人工智能构建的分类器层次结构对场景中的一个或多个目标对象进行识别。场景可以是在某一时刻的用户5的环境。例如,用户5可以在家庭房间中,该家庭房间包括搁置在桌子745上的灯740。显示器760可以安装在墙壁(未示出)上。显示器可以示出视频帧,该视频框是处于接棒球765的姿势的棒球手套761的特写。在场景中,用户5正在使用被识别为球750(更具体地说,棒球)的对象与狗730玩接球游戏。
场景的数据由自主个人伴侣100捕获。个人伴侣包括:具有任何适合的本体的机器人105;以及人工智能110,两者均已在前面描述。另外,个人伴侣100被配置为使用分类器的分类器层次结构(例如,分类器层次结构820)来识别场景700中的对象。对于场景700中的目标对象,通过匹配和连接层次结构中不同级别处的分类器来遍历分类器层次结构,直到到达最深级别处的末端分类器。末端分类器表示可以用于识别目标对象的对象类别。
个人伴侣100被配置为使用各种技术来捕获场景700。所捕获的数据可以包括视频、图像、音频、文本、温度、压力、触觉以及其他信息。在图7中,个人伴侣100可以捕获场景700的各个部分。例如,个人伴侣可以捕获和/或隔离虚线731a与731b之间的图像数据,其中所捕获的数据包括对象—狗730。另外,个人伴侣可以捕获和/或隔离虚线733a与733b之间的图像数据,其中所捕获的数据包括多个对象,上述多个对象包括用户5、棒球750和狗730。此外,个人伴侣可以捕获和/或隔离虚线751a与751b之间的图像数据,其中所捕获的数据包括对象—棒球750。而且,个人伴侣可以捕获和/或隔离虚线741a与741b之间的图像数据,其中所捕获的数据包括多个对象,上述多个对象包括:显示器760的部分;显示器上的视频图像的部分,包括手套761和棒球765的部分;灯740;以及桌子745的部分。
尽管在整个申请中被讨论为用于识别对象的图像数据,但是所捕获的数据可以包括各自与场景中的对象相关联的各种类型的数据。另外,对象自身可以采取各种形式,以包括可见形式以及不可见形式(例如,风、声音、存在等)。
图8A是根据本公开的一个实施方案的使用人工智能来构建分类器层次结构中的分类器的训练阶段的示例性例示,每个分类器被配置为基于对应对象的内部表示来辨别该对象。特别地,对象训练数据804被呈现给人工智能,诸如由神经网络190实现的人工智能。例如,对象训练数据可以包括对象的图像804a。仅出于例示目的并提供对象或其相关对象的一致性示例,该对象可以是棒球。这样,图像804a可以包括棒球(例如,在一个或多个图像中捕获了真实的棒球)。另外,对象训练数据804可以包括标签804b。例如,标签804b可以提供对象为棒球的肯定标识。另外,可以提供标签以进一步描述对象,诸如棒球对象可以落入对象的广义归类—“运动”的范围内。例如,运动归类包括所有在运动中使用的球。
将对象训练数据提供给神经网络190以执行分类器训练。具体地,分类器训练模块809被配置为接收特定对象(棒球)或对象归类(例如,圆形对象、球类运动等)特有的训练数据并构建分类器,该分类器可以辨别之后捕获的与通过训练数据定义的对象内部表示相匹配的对象。例如,对于棒球特有的训练数据,神经网络190的分类器训练模块809能够构建棒球分类器808,该棒球分类器定义作为棒球的对象类别的内部表示。特别地,内部表示可以包括通过人工智能确定的一组权重810(例如,w1、w2…wn)。
棒球分类器808能够分析之后捕获的对象或目标对象,并确定目标对象属于由棒球分类器定义的对象类别的概率,该概率由棒球分类器使用表示目标对象的数据来生成。在一些实现方案中,棒球分类器可以生成目标对象属于该对象类别的概率,以及目标对象不属于该对象类别的概率(例如,其中两个概率之和等于1)。例如,当棒球分类器808生成的概率超过余量时,则目标对象可以被识别为符合表示棒球的对象类别。也就是说,目标对象被辨别或识别为“棒球”。特别地,图8B是根据本公开的一个实施方案的在图8A中构建的分类器的使用阶段的例示,其中分类器层次结构的分类器被配置为分析对象输入数据以生成概率,该概率可以用于确定输入对象是否符合由分类器表示的对象类别。
具体地,捕获图像的数据。例如,可以使用视频捕获装置来捕获场景的图像,其中场景包括一个或多个对象。可以提取数据或图像中的目标对象以包括输入对象数据766。例如,图像1070可以包括与棒球765相关联的对象数据766。在遍历分类器层次结构时,将对象数据作为输入提供给一个或多个分类器。如所示出的,将对象数据766作为输入提供给棒球分类器808以生成概率,该概率可以用于确定与对象数据766相关联的对象是否符合由棒球分类器808表示的对象类别。也就是说,分类器808确定目标对象是否为棒球。
例如,在给定输入对象数据766的情况下,分类器808生成输入对象数据属于由分类器808表示的对象类别的概率。该概率是部分地基于训练期间定义的分类器808的权重而生成的。如所示出的,由输入对象数据766表示的目标对象具有82%的概率符合由棒球分类器808表示的对象类别。
图8C是根据本公开的一个实施方案的例示使用分类器层次结构来识别场景的目标对象的数据流程图。例如,图8C提供了图8B中描述的分类器使用过程的数据流。如所示出的,接收到来自场景的图像1070。可以从图7中介绍的场景700捕获图像1070(例如,使用自主个人伴侣100的图像捕获装置),其中场景包括:在显示器上示出的棒球765;以及灯740。特别地,可以分析图像1070以识别图像1070内的图像对象,诸如针对棒球的图像对象766和针对灯的图像对象。本发明的实施方案可以用于遍历分类器层次结构820以辨别或识别那些目标对象和/或所识别对象(例如,棒球765或灯740)。
为辨认的目标的所识别对象是棒球765。所捕获的图像中的棒球765的关联图像对象由对象数据766表示。出于识别目标对象属于哪个对象类别的目的,将对象数据766作为输入提供给分类器层次结构820。具体地,将对象数据766作为输入提供到组830中的每个通用分类器中,诸如家具分类器831、圆形对象分类器835……生物分类器832。在给定对象数据766的情况下,执行通用分类器以识别匹配的通用分类器。
例如,组830中被组合的所有通用分类器将使用同一输入对象数据766生成多个概率。概率指示对象数据766有多紧密地符合由组830中的每个通用分类器表示的通用类别。特别地,对应的通用分类器包括一组对应的权重,上述一组对应的权重定义了对应的对象类别的内部表示,并且可以用于生成对象数据符合对应的对象类别的概率。所述一组对应的权重是从供应给神经网络190的对应训练数据而习得。具体地,如前所述,每个分类器被执行并生成对象数据属于对应的通用分类器的类别(例如,父级类别)的对应概率。在一个实施方案中,将匹配的通用分类器选定为在表示棒球766的对象数据与由匹配的分类器表示的通用/父级类别(例如,圆形对象835)相匹配的多个概率中具有最高概率。
如图8C中所示出的,针对所捕获图像1070中的(目标对象棒球765的)对象数据766选择圆形对象通用分类器835,如路径895a中所示出的。在一个实施方案中,将圆形对象通用分类器835选择为具有表示棒球766的对象数据与由匹配的分类器表示的通用/父级类别(例如,圆形对象835)相匹配的最高概率。概率也可能超过预定义的余量。在另一实施方案中,当通用分类器的相应概率超过预定义的余量时,选择这些通用分类器。
每个通用分类器具有子级节点树或分类器树850(在由通用分类器定义的父级分类器之下的子级分类器)。分类器树包括在父级或通用分类器之下的一个或多个分类器层次结构级别。也就是说,每个级别连接到至少一个其他级别。例如,充当树850的父级节点的圆形对象分类器835具有至少一个分类器层次结构级别860,包括运动分类器861和地球仪分类器865。可以在子级分类器节点或级别之下定义附加级别。例如,在运动分类器861之下存在分类器层次结构级别870,其包括棒球分类器808、篮球分类器871、足球分类器872和排球分类器873。而且,在地球仪分类器865之下可以定义另一个层次结构级别880,其包括世界地图集分类器881和热气球分类器882。图8C是示例性的,并且可以包括在父级节点之下以一个或多个级别布置的一个或多个子级节点(例如,在树850中在较高的父级节点之下以父子关系布置的n个子级节点)。
使用越来越具体的训练数据集对每个后续的更低级别中的分类器进行训练。例如,用于学习圆形对象分类器850的训练数据包括可以被定义为圆形对象(诸如棒球和热气球)的广义对象集。在下一个级别处,使用更具体的训练数据集来学习/构建更具体的分类器,诸如运动分类器861(例如,基于棒球、篮球、网球、排球等进行训练)和地球仪分类器865(例如,基于地图集、热气球等进行训练)。在下一个更低级别处,可以使用甚至更具体的训练数据集来学习/构建甚至更具体的分类器,诸如在运动分类器861之下的那些分类器,包括使用各种棒球训练的棒球分类器808、使用各种篮球训练的篮球分类器871、使用各种足球训练的足球分类器872以及使用各种排球训练的排球873。
一旦通用分类器835被选择和/或匹配,则使用对象数据766遍历与通用分类器835相关联的对应的子级节点树或分类器树850。特别地,使用该级别的相应分类器来分析分类器树中每个级别处的每个子级节点。如图8C中所示出的,从由通用分类器835所表示的父级节点开始向下遍历树到下一个级别860,其中包括运动分类器860和地球仪分类器865。也就是说,使用输入对象数据766来分析级别860中的分类器,以确定对象数据与由上述级别中的分类器中的相应分类器表示的对象类别的紧密匹配程度。例如,运动分类器861将生成概率,该概率指示表示棒球的对象数据766与由运动分类器861表示的对象类别的紧密匹配程度。如图8C中所示出的,运动分类器861生成对象数据766符合由运动分类器定义的对象类别的68%概率,并且地球仪分类器865生成对象数据766符合由地球仪分类器定义的对象类别的32%概率。运动分类器861被选择为具有最高概率。另外,运动分类器861生成的概率超过预定义的余量。这样,推测对象数据766属于由运动分类器861表示的运动类别(例如,与运动有关的对象类别)。另外,由于未选择地球仪分类器865—因为它具有较低的概率或不满足预定义的阈值—所以不执行在地球仪分类器865之下的子级节点。
这样,通过分类器树850的路径进行至下一个级别870,以确定哪个分类器与输入对象数据766相匹配。也就是说,使用输入对象数据766对具有如运动分类器861的父级节点的级别870中的分类器进行分析,以确定对象数据与由上述级别中的分类器中的相应分类器表示的对象类别的紧密匹配程度。而且,由于已将地球仪分类器865从考虑范围中移除,所以未对具有如地球仪分类器865的父级节点的级别880中的分类器进行分析。在运动分类器861之下的级别870处的每个分类器节点对对象数据766进行处理,以产生由该相应分类器表示对象数据766的概率。例如,棒球分类器808被执行以生成概率,该概率指示表示棒球的对象数据766与由棒球分类器表示的对象类别的紧密匹配程度。类似的过程用于生成针对篮球分类器871、足球分类器872和排球分类器873的概率。如所示出的,棒球分类器生成对象数据766符合由棒球分类器808定义的对象类别(棒球)的82%概率。类似地,篮球分类器生成32%概率,足球分类器生成12%概率,并且排球分类器生成42%概率。例如,棒球分类器808被选择为具有最高概率和/或超过预定义余量。这样,推断出由对象数据766表示的目标对象(例如,棒球765)符合由棒球分类器808表示的棒球对象类别,并且是棒球。
在一个实施方案中,通过匹配在每个级别处的生成超过阈值的概率的分类器,来遍历具有如圆形对象分类器835的父级节点的分类器树850。末端分类器(例如,棒球分类器808)被选择为位于分类器树850的最深级别处。如果具有超过预定义阈值的概率的多于一个分类器位于最深级别处,则将具有最高概率的分类器选择为末端分类器。例如,如先前介绍的那样,将具有一个或多个对象的图像输入到包括通用分类器的分类器层次结构中。具有超过预定义余量的输出概率的通用分类器被放入或保留在活动列表中,并且上述通用分类器的子级分类器节点(在对应的子级节点或分类器树中)将被递归地执行。活动列表中不超过预定义余量的通用分类器被从活动列表中移除,并且上述通用分类器的子级节点被递归地移除(例如,不执行)。对象(或场景)描述由当前在活动列表中的分类器组成,因为正在观察属于活动列表中的分类器类别的对象。
在一个实施方案中,例如如图8C中所描述的,可以容易地修改分类器层次结构,而无需更改层次结构的其余分类器。也就是说,包括分类器层次结构的层次结构视觉系统是模块化的,使得可以改变任何部分而无需更改系统的其余部分。例如,可以修改(例如,编辑、移除、移动等)任何父级或通用分类器或者子级分类器,而无需改变其他分类器。而且,可以将新的父级或通用分类器或者子级分类器添加到分类器层次结构,而无需修改其他分类器。由于分类器层次结构是模块化的,因此对树的修改不需要附加的再训练(例如,使用人工智能来构建对分类器层次结构的修改)。也就是说,分类器层次结构是可缩放的,并且被配置为可在任何级别处引入新的分类器。以这种方式,可以将新的对象类别(例如,父级或通用类别)及其对应的子类别(例如,父级类别的变体或对象类别)添加到树中,或从树中移除。
可以快速地且使用有限的资源执行分类器层次结构的遍历。也就是说,使用树搜索来识别对象的特性节省了计算资源,使得可以使用有限的资源来执行遍历。一旦构建了分类器层次结构,就可以执行树的遍历(例如,使用可编程处理器、专用的或预先编程的处理器或芯片等),而无需诸如在人工智能模式下使用GPU处理器。取代地,经由被组织成简单分类器级别的分类器层次结构的遍历来执行对所捕获数据的分析。通过在根级别(更通用的对象类型,诸如圆形对象)处检测分类器,然后向下进行到具有定义对象类别的具体变体(例如,球对象类别的棒球变体)的特征的子分类器,可以发生树的遍历。
在一个实施方案中,场景内的一个或多个所识别对象还可以为对应的场景提供情景化。例如,在场景700中可以被识别的对象可以包括狗、球、人。这些对象的情景化可以例示人与狗在玩接球游戏。
在一个实施方案中,使用最近识别的父级或通用分类器的活动列表,以及包括最近未识别的父级或通用分类器的非活动列表,来使分类器层次结构(例如,树820)的遍历更高效且更快速。特别地,首先尝试和/或采样活动列表中的分类器层次结构的仅少量父级或通用分类器(例如,基于视频帧中的场景的对象的数据)。这些父级或通用分类器被包括在活动列表815中,该活动列表定义了最近被搜索的对象。其余的父级或通用分类器被包括在非活动列表中,该非活动列表定义了最近未被搜索的对象的父级类别。换句话说,非活动列表包含过时的父级或通用分类器。
在搜索过程中,如果活动列表中的父级或通用分类器未给出肯定的结果,则可以将该分类器移动至非活动列表。另外,在一次一个地对活动列表中的分类器进行尝试或采样(并且可能地,失败了)之后,一次一个地对非活动列表上的分类器进行尝试或采样。在该情况下,如果非活动列表中的分类器给出肯定的结果,则可以将该父级或通用分类器移动至活动列表。通过避免通向过时对象的路径,活动列表和非活动列表提供了一种高效的搜索和遍历分类器层次结构的方式。也就是说,在分类器层次结构中,如果父级或通用分类器在活动列表上,则该父级或通用分类器的子分类器在搜索中被考虑的机会更高。在一个实施方案中,与关联于较低优先级的情景相比,较高优先级的情景与最近被搜索的对象相关联。这样,与较低优先级的情景的对象相比,与较高优先级的情景相关联的较高优先级的父级或通用分类器在同一情景中与对象对应的机会较大。
利用对自主个人伴侣的各个模块的详细描述,图9的流程图900公开了根据本公开的一个实施方案的用于使用通过人工智能构建的具有各种类型的特性(例如,视觉特性、音频特性、文本特性等)的分类器层次结构来进行对象识别的方法。如先前所描述的,流程图900可以在先前描述的和/或与后端服务器140组合的伴侣100内(例如,在AI引擎190内)来实现。在另一实施方案中,流程图900可以使用伴侣100的可编程的或专用的或预先编程的处理器来实现。
在910处,该方法包括识别场景的图像中的对象。这可以包括捕获场景的数据,其中场景包括一个或多个对象。特别地,自主个人伴侣被配置为捕获与环境—诸如用户所处的环境—有关的各种类型的数据。也就是说,所捕获的数据包括与用户和/或用户所处的环境有关的数据。在一个实施方案中,数据由为用户提供服务的自主个人伴侣捕获。例如,个人伴侣可以连续地捕获环境的数据,以便使用户的体验情景化。在一个实施方案中,自主个人伴侣可以被配置为捕获与环境—诸如用户所处的环境—有关的视频和/或图像数据(例如,收集视觉数据)。在一个实施方案中,个人伴侣可以连续地捕获环境的视频/图像数据,以便使用户的体验情景化。情景化允许个人伴侣向用户提供相关服务(例如,无需用户输入)和/或更好地理解来自用户的请求(将请求置于发出请求的环境的当前情景内)。在另一实施方案中,个人伴侣应用户的请求正在捕获与环境有关的数据。
所捕获的数据可以是与环境的情景化相关的任何类型。例如,数据可以包括与用户和/或环境有关的所捕获的音频和视觉数据。自主个人伴侣的图像捕获系统可以用于捕获环境的特别场景的视频和/或图像数据,其中场景可以是一个时刻或连续的时刻。可以操纵图像捕获系统以最佳地捕获数据,诸如:移动系统的镜头以聚焦在特别的对象上,移动镜头以避免眩光,调整镜头的设定以在噪声量最低的情况下捕获数据。另外,可以出于识别对象的目的捕获其他类型的数据。例如,所捕获的数据可以包括图像数据、视频数据、音频数据、文本数据、温度数据、压力数据、红外线数据、声波数据、次声波数据、超声波数据等。
在一个实施方案中,涉及捕获数据的动作中的至少一个动作包括移动自主个人伴侣。如前所述,仅出于例示的目的,移动可以包括将个人伴侣定位得更靠近用户和/或主观对象,以便处于更好的收集数据的位置。关于用户,个人伴侣可能出于各种目的而移动,包括但不限于:处于更好的与用户进行交流的位置;跟随用户,使得当用户在整个房间或房屋或建筑物中移动时,个人伴侣也随用户移动;将个人伴侣定位在有助于将图像投射到可显示表面(例如,房间的墙壁)上的位置;等等。类似地,可以移动个人伴侣以最佳地捕获与环境有关的数据,包括:移动到更靠近对象,移动离开耀眼的阳光,移动远离遮挡对象等。在一种实现方案中,可以操纵个人伴侣的图像捕获系统以最佳地捕获数据,诸如:移动系统的镜头以聚焦在特别的对象上,移动镜头以避免眩光,调整镜头的设定以在噪声量最低的情况下捕获数据,等等。
特别地,分析所捕获的数据以隔离与对象有关的数据。这可以在后处理中或者在数据捕获时执行。例如,可以操纵捕获系统以主要捕获与第一对象有关的数据(例如,将镜头聚焦到主要包括第一对象的目标区域)。另一方面,在后处理中,解析所捕获的数据以确定仅与第一对象相关的数据。
在920处,该方法包括:使用针对对象确定的对象数据从定义对象的广泛归类的通用分类器组中选择第一通用分类器,所述第一通用分类器被选择为表示对象,每个通用分类器形成对应的分类器层次结构树的一部分,其中通用分类器作为树的父级节点。
如前所述,可以通过确定通过使用输入数据执行通用分类器组中的每个通用分类器而生成的多个概率来选择第一通用分类器。每个通用分类器包括对对应对象类别的内部表示进行定义的一组对应的权重(例如,棒球分类器包括定义棒球的权重)。例如,所述一组对应的权重是从供应给神经网络的对应训练数据而习得。每个通用分类器生成输入数据属于由对应的通用分类器的权重表示且使用该对应的通用分类器的权重的对象类别的概率。特别地,在通用分类器组中,第一通用分类器具有最高概率和/或超过预定义余量,因此,输入与第一通用分类器相匹配。
在930处,该方法包括:通过将第一通用分类器(例如,父级节点)的第一分类器树(例如,在父级节点之下的子级节点树)中的一个或多个级别处的分类器与对象数据进行匹配来遍历所述第一树,直到到达最深级别处的末端分类器(棒球分类器),以识别对象(场景中的棒球)的对象类别(例如,棒球)。第一树在父级分类器之下包括一个或多个分类器层次结构级别,使得后续的更低级别包括使用更具体的训练数据进行训练的更具体的分类器。另外,第一树中的每个分类器包括在使用适当的训练数据进行训练期间计算出的一组对应的权重。
遍历包括从直接在第一通用分类器下方的下一个最高级别开始,确定至少一个概率,其中该至少一个概率通过使用对象数据执行下一个最高级别的一个或多个分类器来生成。对象数据与该级别中具有最高概率和/或超过预定义余量的匹配分类器相匹配。如果有一个相邻的更低级别连接到匹配的分类器,则将该相邻的更低级别标示为下一个最高级别。使用下一个最高级别递归地执行该过程,直到没有另外的相邻的或更低的级别,其中最后一个匹配的分类器是末端分类器。
在一个实施方案中,遍历包括在每个级别处选择和/或匹配超过预定义余量的分类器,并且在每个级别处递归地应用该方法,直到到达最深级别。末端分类器(例如,棒球分类器808)被选择为位于分类器树的最深级别处。如果具有超过预定义阈值的概率的多于一个分类器位于最深级别处,则将具有最高概率的分类器选择为末端分类器。
在一个实施方案中,可以通过实现父级或通用分类器的活动和非活动列表来过滤分类器层次结构的遍历。活动列表包括与对象的父级类别相关联的父级或通用分类器,上述对象包括使用分类器层次结构最近识别的对象。在其他实施方案中,活动列表包括与环境的情景化相关联的父级或通用分类器,上述环境包括使用分类器层次结构识别的对象。另一方面,非活动列表包括与使用分类器层次结构最近未识别的对象(例如,过时的对象)相关联的父级或通用分类器。也就是说,这些对象可以与个人伴侣最近未遇到的环境的情景化相关联。例如,如果是在深夜,则较早的情境化可能是用户准备工作,并且与该情境化相关的对象将与当天晚些时候发生的环境的任何当前情境化无关(例如,休息并在游戏控制台上玩游戏应用程序)。这样,该方法可以包括:在分析非活动列表中的父级或通用分类器之前,先分析与当前的情景化对应的活动列表中的父级或通用分类器。这样,由于可以不分析非活动列表上的父级或通用分类器,因此需要较少的计算,因为过时的父级或通用分类器在第一次通过父级或通用分类器时未被首先考虑在内。
特别地,可以使用最近识别的父级或通用分类器的活动列表,以使分类器层次结构(例如,树820)的遍历更高效且更快速。特别地,通过执行通用分类器的活动列表中的分类器来确定第一子集的概率,该活动列表包括具有最近识别出对象的相关分类器的分类器。当第一通用分类器在活动列表中时,对象数据与具有第一子集的概率内的最高概率和/或超过预定义阈值的第一通用分类器相匹配。
而且,可以使用最近识别的父级或通用分类器的活动列表以及父级或通用分类器的非活动列表,以使分类器层次结构(例如,树820)的遍历更高效且更快速。特别地,执行通用分类器的活动列表中的分类器来确定第一子集的概率,该活动列表包括具有最近识别出对象的相关分类器的分类器。可以确定对象数据可能不与活动列表中的任何分类器匹配(例如,不满足阈值)。这样,可以执行通用分类器的非活动列表中的分类器来确定第二子集的概率,该非活动列表包括不太相关的分类器。当第一通用分类器在非活动列表中时,对象数据与具有第二子集的概率内的最高概率和/或超过预定义阈值的第一通用分类器相匹配。
图10是根据本公开的一个实施方案的以图像帧内的对象为目标来用于使用通过人工智能构建的具有视觉特性的分类器层次结构来识别对象的目的的例示。在一个实施方案中,操纵个人伴侣的图像捕获系统以聚焦在目标区域上,其中目标区域可以包括场景中的对象。这可以通过在捕获图像时使目标区域居中位于图像的中心来实现。可以执行该操作以使所捕获的数据集中以仅分析与对象有关的数据。在一个实现方案中,以图像数据为目标以在处理之前仅包括相关数据,诸如通过放大第一对象,或通过将个人伴侣移动到更靠近第一对象的位置。在其他实现方案中,通过后处理来分析图像数据,以从所捕获的数据集中识别与第一对象相关联的相关数据。例如,对象可以在所捕获的图像中居中。如图10中所示出的,第一所捕获图像1070可以包括先前在图7中介绍的在线741a与741b之间捕获和/或框住的图像。第一所捕获图像1070包括显示器760的一部分,该部分示出了棒球765的数字图像。另外,第一所捕获图像1070可以包括被放置在桌子上的灯740。如所示出的,竖直线1075b和水平线1075a形成用于识别所捕获图像1070的中心的参考系统,其中棒球765偏离中心。
出于识别的目的,可以将棒球765确定为感兴趣的对象,因此,可以通过图像的第二再捕获(例如,操纵图像捕获系统或伴侣)或通过后处理,使未识别的对象765在新捕获的或修改后的图像帧1080内居中。这样,如由包括竖直线1085b和水平线1085a的参考系统所指示的,球765现在在所捕获图像帧1080中居中。尽管灯740完全处在图像帧1070中,但是在图像帧1080中,仅捕获了灯740的一部分。可以执行附加的操纵和/或编辑(例如,操纵图像捕获系统和/或后处理)以进一步隔离所捕获的图像帧,以仅包括棒球765。
因此,在各个实施方案中,本公开描述了被配置用于识别场景内的对象的系统和方法,该场景由自主个人伴侣捕获并且使用分类器层次结构,当遍历上述分类器层次结构时可以识别感兴趣的对象。
应当理解,可以使用本文所公开的各种特征将本文所定义的各种实施方案组合或汇编成具体的实现方案。因此,所提供的示例仅仅是一些可能的示例,而不限于通过组合各种元素以定义更多实现方案而成为可能的各种实现方案。在一些示例中,在不脱离所公开的或等同的实现方案的精神的情况下,一些实现方案可以包括较少的元素。
本公开的实施方案可以用各种计算机系统配置来实践,所述配置包括手持式装置、微处理器系统、基于微处理器的或可编程的消费性电子设备、小型计算机、大型计算机等。本公开的实施方案也可以在分布式计算环境中实践,其中由通过基于有线的或无线的网络被链接的远程处理装置来执行任务。
考虑到上述实施方案,应当理解,本公开的实施方案可以采用涉及存储在计算机系统中的数据的各种计算机实现的操作。这些操作是需要对物理量进行物理操纵的操作。本文所述的形成本公开的实施方案的一部分的任何操作都是有用的机器操作。本公开的实施方案还涉及用于执行这些操作的装置或设备。该设备可以根据所需目的而专门构造,或者该设备可以是由计算机中存储的计算机程序选择性地激活或配置的通用计算机。特别地,各种通用机器可以与根据本文的教导撰写的计算机程序一起使用,或者可以更方便地构造更专门化的设备来执行所需的操作。
本公开还可以体现为计算机可读介质上的计算机可读代码。计算机可读介质是可以存储数据的任何数据存储装置,该数据随后可以由计算机系统读取。计算机可读介质的示例包括硬盘驱动器、网络附接存储设备(NAS)、只读存储器、随机存取存储器、CD-ROM、CD-R、CD-RW、磁带以及其他光学和非光学数据存储装置。计算机可读介质可以包括分布在耦合网络的计算机系统上的计算机可读有形介质,使得计算机可读代码以分布式方式被存储和执行。
尽管按具体顺序描述了方法操作,但是应当理解,可以在操作之间执行其他内务操作,或者可以调整操作使得所述操作在稍微不同的时间发生,或者可以将操作分布于允许以与处理相关联的各种间隔发生处理操作的系统中,只要以期望的方式执行覆盖操作的处理即可。
虽然出于清楚理解的目的相当详细地描述了前述公开内容,但显而易见的是,可以在所附权利要求的范围内实践某些改变和修改。因此,本公开的实施方案应被认为是例示性的而非限制性的,并且本公开的实施方案不限于本文给出的细节,而是可以在所附权利要求的范围和等同物内进行修改。

Claims (20)

1.一种识别方法,其包括:
识别场景的图像中的对象;
使用针对所述对象确定的对象数据从定义对象的广义归类的通用分类器组中选择第一通用分类器,所述第一通用分类器被选择为表示所述对象,每个通用分类器形成对应的分类器层次结构树的一部分,其中所述通用分类器作为所述树的父级节点;以及
通过将所述第一通用分类器的第一分类器树中的一个或多个级别处的分类器与所述对象数据进行匹配来遍历所述第一树,直到到达最深级别处的末端分类器,以识别所述对象的对象类别。
2.如权利要求1所述的方法,其中所述选择第一通用分类器还包括:
通过执行所述通用分类器组来生成多个概率,其中所述多个概率中的每个概率定义所述对象数据与对应的通用分类器的紧密匹配程度;以及
将所述对象数据与所述第一通用分类器进行匹配,其中所述第一通用分类器生成所述多个概率中的最高概率。
3.如权利要求2所述的方法,其中确定多个概率还包括:
通过执行通用分类器的活动列表中的分类器来生成第一子集的概率,所述活动列表包括具有最近识别出的对象类别的分类器,所述第一通用分类器在所述活动列表中;以及
将所述对象数据与生成所述第一子集的概率中的最高概率的所述第一通用分类器进行匹配。
4.如权利要求1所述的方法,其中所述选择第一通用分类器还包括:
生成通过执行所述通用分类器组而生成的多个概率,其中所述多个概率中的每个概率定义所述对象数据与对应的通用分类器的紧密匹配程度;以及
对于生成超过余量的概率的每个通用分类器,通过将对应树中的一个或多个级别处的分类器与所述对象数据进行匹配来遍历对应的分类器树,匹配的所述分类器生成超过所述余量的概率,其中所述第一通用分类器的所述第一分类器树的所述末端分类器处于所有对应的分类器树的最深级别。
5.如权利要求1所述的方法,其中所述遍历第一分类器树包括:
遍历所述第一分类器树,直到到达所述最深级别处的所述末端分类器,以识别所述对象类别,所述第一树在所述父级节点之下包括一个或多个分类器层次结构级别,使得后续的更低级别包括使用更具体的训练数据而训练的更具体的分类器,所述第一树中的每个分类器包括基于对应训练数据的一组对应权重,其中所述遍历包括:
从直接在作为所述父级节点的所述第一通用分类器下方的下一个最高级别开始,确定通过使用所述对象数据执行所述下一个最高级别的一个或多个分类器而生成的至少一个概率;
将所述对象数据与所述级别的生成最高概率的匹配分类器进行匹配;
确定相邻的更低级别是否连接到所述匹配分类器;
将所述相邻的更低级别标示为下一个最高级别;以及
递归地执行,直到不存在相邻的更低级别为止,其中所述匹配分类器是所述末端分类器。
6.如权利要求1所述的方法,其还包括:
使用自主个人伴侣的图像捕获系统来捕获所述场景的所述图像;以及
使所述个人伴侣移动到更靠近所述对象,以更好地捕获所述图像。
7.如权利要求6所述的方法,其还包括:
识别所述图像的目标区域,其中所述目标区域包括所述对象;以及
在捕获所述图像时使所述目标区域居中位于所述图像的中心处。
8.如权利要求1所述的方法,其还包括:
通过移除现有的分类器或添加新的分类器来修改所述第一分类器树。
9.一种存储用于实现识别方法的计算机程序的非暂时性计算机可读介质,所述计算机可读介质包括:
用于识别场景的图像中的对象的程序指令;
用于使用针对所述对象确定的对象数据从定义对象的广义归类的通用分类器组中选择第一通用分类器的程序指令,所述第一通用分类器被选择为表示所述对象,每个通用分类器形成对应的分类器层次结构树的一部分,其中所述通用分类器作为所述树的父级节点;以及
用于通过将所述第一通用分类器的第一分类器树中的一个或多个级别处的分类器与所述对象数据进行匹配来遍历所述第一树直到到达最深级别处的末端分类器以识别所述对象的对象类别的程序指令。
10.如权利要求9所述的计算机可读介质,其中所述用于选择第一通用分类器的程序指令还包括:
用于通过执行所述通用分类器组来生成多个概率的程序指令,其中所述多个概率中的每个概率定义所述对象数据与对应的通用分类器的紧密匹配程度;以及
用于将所述对象数据与所述第一通用分类器进行匹配的程序指令,其中所述第一通用分类器生成所述多个概率中的最高概率。
11.如权利要求10所述的计算机可读介质,其中所述用于确定多个概率的程序指令还包括:
用于通过执行通用分类器的活动列表中的分类器来生成第一子集的概率的程序指令,所述活动列表包括具有最近识别出的对象类别的分类器,所述第一通用分类器在所述活动列表中;以及
用于将所述对象数据与生成所述第一子集的概率中的最高概率的所述第一通用分类器进行匹配的程序指令。
12.如权利要求9所述的计算机可读介质,其中所述用于遍历第一分类器树的程序指令包括:
用于遍历所述第一分类器树直到到达所述最深级别处的所述末端分类器以识别所述对象类别的程序指令,所述第一树在所述父级节点之下包括一个或多个分类器层次结构级别,使得后续的更低级别包括使用更具体的训练数据而训练的更具体的分类器,所述第一树中的每个分类器包括基于对应训练数据的一组对应权重,其中所述遍历包括:
从直接在作为所述父级节点的所述第一通用分类器下方的下一个最高级别开始,用于确定通过使用所述对象数据执行所述下一个最高级别的一个或多个分类器而生成的至少一个概率的程序指令;
用于将所述对象数据与所述级别的生成最高概率的匹配分类器进行匹配的程序指令;
用于确定相邻的更低级别是否连接到所述匹配分类器的程序指令;
用于将所述相邻的更低级别标示为下一个最高级别的程序指令;以及
用于递归地执行直到不存在相邻的更低级别为止的程序指令,其中所述匹配分类器是所述末端分类器。
13.如权利要求9所述的计算机可读介质,其还包括:
用于使用自主个人伴侣的图像捕获系统来捕获所述场景的所述图像的程序指令;以及
用于使所述个人伴侣移动到更靠近所述对象以更好地捕获所述图像的程序指令。
14.如权利要求9所述的计算机可读介质,其还包括:
用于通过移除现有的分类器或添加新的分类器来修改所述第一分类器树的程序指令。
15.一种计算机系统,其包括:
处理器;以及
存储器,所述存储器耦合到所述处理器并具有存储在所述存储器中的指令,所述指令在由所述计算机系统执行时,使所述计算机系统执行识别方法,所述方法包括:
识别场景的图像中的对象;
使用针对所述对象确定的对象数据从定义对象的广义归类的通用分类器组中选择第一通用分类器,所述第一通用分类器被选择为表示所述对象,每个通用分类器形成对应的分类器层次结构树的一部分,其中所述通用分类器作为所述树的父级节点;以及
通过将所述第一通用分类器的第一分类器树中的一个或多个级别处的分类器与所述对象数据进行匹配来遍历所述第一树,直到到达最深级别处的末端分类器,以识别所述对象的对象类别。
16.如权利要求15所述的计算机系统,其中在所述方法中选择第一通用分类器还包括:
通过执行所述通用分类器组来生成多个概率,其中所述多个概率中的每个概率定义所述对象数据与对应的通用分类器的紧密匹配程度;以及
将所述对象数据与所述第一通用分类器进行匹配,其中所述第一通用分类器生成所述多个概率中的最高概率。
17.如权利要求16所述的计算机系统,其中在所述方法中确定多个概率还包括:
通过执行通用分类器的活动列表中的分类器来生成第一子集的概率,所述活动列表包括具有最近识别出的对象类别的分类器,所述第一通用分类器在所述活动列表中;以及
将所述对象数据与生成所述第一子集的概率中的最高概率的所述第一通用分类器进行匹配。
18.如权利要求15所述的计算机系统,其中所述遍历第一分类器树包括:
遍历所述第一分类器树,直到到达所述最深级别处的所述末端分类器,以识别所述对象类别,所述第一树在所述父级节点之下包括一个或多个分类器层次结构级别,使得后续的更低级别包括使用更具体的训练数据而训练的更具体的分类器,所述第一树中的每个分类器包括基于对应训练数据的一组对应权重,其中所述遍历包括:
从直接在作为所述父级节点的所述第一通用分类器下方的下一个最高级别开始,确定通过使用所述对象数据执行所述下一个最高级别的一个或多个分类器而生成的至少一个概率;
将所述对象数据与所述级别的生成最高概率的匹配分类器进行匹配;
确定相邻的更低级别是否连接到所述匹配分类器;
将所述相邻的更低级别标示为下一个最高级别;以及
递归地执行,直到不存在相邻的更低级别为止,其中所述匹配分类器是所述末端分类器。
19.如权利要求15所述的计算机系统,所述方法还包括:
使用自主个人伴侣的图像捕获系统来捕获所述场景的所述图像;以及
使所述个人伴侣移动到更靠近所述对象,以更好地捕获所述图像。
20.如权利要求15所述的计算机系统,所述方法还包括:
通过移除现有的分类器或添加新的分类器来修改所述第一分类器树。
CN201880070732.4A 2017-09-29 2018-09-13 自主个人伴侣的模块化层次结构视觉系统 Pending CN111295671A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/721,637 2017-09-29
US15/721,637 US11869237B2 (en) 2017-09-29 2017-09-29 Modular hierarchical vision system of an autonomous personal companion
PCT/US2018/050969 WO2019067229A1 (en) 2017-09-29 2018-09-13 MODULAR HIERARCHICAL VISION SYSTEM OF AN AUTONOMOUS PERSONAL COMPANION

Publications (1)

Publication Number Publication Date
CN111295671A true CN111295671A (zh) 2020-06-16

Family

ID=63794647

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880070732.4A Pending CN111295671A (zh) 2017-09-29 2018-09-13 自主个人伴侣的模块化层次结构视觉系统

Country Status (5)

Country Link
US (1) US11869237B2 (zh)
EP (1) EP3688665A1 (zh)
JP (1) JP7028966B2 (zh)
CN (1) CN111295671A (zh)
WO (1) WO2019067229A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112200170A (zh) * 2020-12-07 2021-01-08 北京沃东天骏信息技术有限公司 图像识别方法、装置、电子设备和计算机可读介质

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108062246B (zh) * 2018-01-25 2019-06-14 北京百度网讯科技有限公司 用于深度学习框架的资源调度方法和装置
KR102551550B1 (ko) * 2018-04-20 2023-07-06 삼성전자주식회사 오브젝트에 대한 정보를 검색하기 위한 전자 장치 및 이의 제어 방법
US11583997B2 (en) * 2018-09-20 2023-02-21 Sony Group Corporation Autonomous robot
US11676043B2 (en) * 2019-03-04 2023-06-13 International Business Machines Corporation Optimizing hierarchical classification with adaptive node collapses
CN110569913A (zh) * 2019-09-11 2019-12-13 北京云迹科技有限公司 场景分类器训练方法、装置、场景识别方法及机器人
US11651621B2 (en) * 2019-10-23 2023-05-16 Samsung Electronics Co., Ltd. Electronic device and method for controlling the electronic device
WO2022133330A1 (en) * 2020-12-18 2022-06-23 Strong Force Vcn Portfolio 2019, Llc Robot fleet management and additive manufacturing for value chain networks
CN111125400B (zh) * 2019-12-27 2022-03-15 中山大学 虚拟现实与增强现实场景下基于关系约束的场景图谱优化方法
JP7465133B2 (ja) 2020-03-26 2024-04-10 キヤノン株式会社 情報処理装置、情報処理方法
SG10202006357UA (en) * 2020-07-01 2020-09-29 Alipay Labs Singapore Pte Ltd A Document Identification Method and System
CN112750448B (zh) * 2020-08-07 2024-01-16 腾讯科技(深圳)有限公司 声音场景的识别方法、装置、设备及存储介质
US11922368B1 (en) * 2020-12-11 2024-03-05 Amazon Technologies, Inc. Object classification exception handling via machine learning
US11361421B1 (en) 2021-05-21 2022-06-14 Airbnb, Inc. Visual attractiveness scoring system
US11200449B1 (en) 2021-05-21 2021-12-14 Airbnb, Inc. Image ranking system
CN113361593B (zh) * 2021-06-03 2023-12-19 阿波罗智联(北京)科技有限公司 生成图像分类模型的方法、路侧设备及云控平台
JP7082239B1 (ja) 2021-06-09 2022-06-07 京セラ株式会社 認識装置、端末装置、認識器構築装置、認識器修正装置、構築方法、及び修正方法
EP4220550A4 (en) 2021-12-07 2024-01-31 Rakuten Group Inc INFORMATION PROCESSING APPARATUS, INFORMATION PROCESSING METHOD, PROGRAM AND LEARNING MODEL

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030059106A1 (en) * 2001-09-27 2003-03-27 Koninklijke Philips Electronics N.V. Computer vision system and method employing hierarchical object classification scheme
CN1838150A (zh) * 2005-03-09 2006-09-27 西门子共同研究公司 学习判别模型的概率推进树架构
CN104978328A (zh) * 2014-04-03 2015-10-14 北京奇虎科技有限公司 一种获取层级分类器以及文本分类的方法及装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4198676B2 (ja) 2004-12-28 2008-12-17 株式会社東芝 ロボット装置、ロボット装置の移動追従方法、および、プログラム
JP5892361B2 (ja) 2011-08-02 2016-03-23 ソニー株式会社 制御装置、制御方法、プログラム、及びロボット制御システム
US20140270347A1 (en) * 2013-03-13 2014-09-18 Sharp Laboratories Of America, Inc. Hierarchical image classification system
JP2016103094A (ja) 2014-11-27 2016-06-02 株式会社豊田自動織機 画像処理方法、画像処理装置、および画像処理プログラム
US20170046613A1 (en) * 2015-08-10 2017-02-16 Facebook, Inc. Systems and methods for content classification and detection using convolutional neural networks
US9928605B2 (en) * 2015-09-25 2018-03-27 Intel Corporation Real-time cascaded object recognition
JP6779641B2 (ja) 2016-03-18 2020-11-04 株式会社Spectee 画像分類装置、画像分類システム及び画像分類方法
KR101822895B1 (ko) * 2016-04-07 2018-01-29 엘지전자 주식회사 차량 운전 보조 장치 및 차량
WO2018017467A1 (en) * 2016-07-18 2018-01-25 NantOmics, Inc. Distributed machine learning systems, apparatus, and methods

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030059106A1 (en) * 2001-09-27 2003-03-27 Koninklijke Philips Electronics N.V. Computer vision system and method employing hierarchical object classification scheme
CN1838150A (zh) * 2005-03-09 2006-09-27 西门子共同研究公司 学习判别模型的概率推进树架构
CN104978328A (zh) * 2014-04-03 2015-10-14 北京奇虎科技有限公司 一种获取层级分类器以及文本分类的方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112200170A (zh) * 2020-12-07 2021-01-08 北京沃东天骏信息技术有限公司 图像识别方法、装置、电子设备和计算机可读介质
CN112200170B (zh) * 2020-12-07 2021-11-30 北京沃东天骏信息技术有限公司 图像识别方法、装置、电子设备和计算机可读介质

Also Published As

Publication number Publication date
WO2019067229A1 (en) 2019-04-04
JP7028966B2 (ja) 2022-03-02
JP2020535557A (ja) 2020-12-03
US20190102667A1 (en) 2019-04-04
EP3688665A1 (en) 2020-08-05
US11869237B2 (en) 2024-01-09

Similar Documents

Publication Publication Date Title
US11869237B2 (en) Modular hierarchical vision system of an autonomous personal companion
US20240062081A1 (en) Private artificial intelligence (ai) model of a user for use by an autonomous personal companion
US11568265B2 (en) Continual selection of scenarios based on identified tags describing contextual environment of a user for execution by an artificial intelligence model of the user by an autonomous personal companion
US10089772B2 (en) Context-aware digital play
US9183676B2 (en) Displaying a collision between real and virtual objects
US9292085B2 (en) Configuring an interaction zone within an augmented reality environment
US9286711B2 (en) Representing a location at a previous time period using an augmented reality display
US11158131B1 (en) System and method for generating augmented reality objects
JP2020000279A (ja) 仮想キャラクタを想定する自律行動型ロボット
WO2021046328A1 (en) Gesture-centric user interface
US10456682B2 (en) Augmentation of a gaming controller via projection system of an autonomous personal companion
KR20190099168A (ko) 이미지 기반 정보 제공 방법 및 장치
TW202316240A (zh) 自動化化身
WO2021029164A1 (ja) 画像処理装置、および画像処理方法、並びにプログラム
US20200254358A1 (en) Terminal for action robot and method of operating the same
WO2022044843A1 (ja) 情報処理装置、情報処理方法、及び、プログラム
US20240070969A1 (en) Multisensorial presentation of volumetric content
US20230218984A1 (en) Methods and systems for interactive gaming platform scene generation utilizing captured visual data and artificial intelligence-generated environment
WO2024085998A1 (en) Activation of partial pass-through on an artificial reality device

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