CN113366489A - 检测增强现实目标 - Google Patents

检测增强现实目标 Download PDF

Info

Publication number
CN113366489A
CN113366489A CN202080008364.8A CN202080008364A CN113366489A CN 113366489 A CN113366489 A CN 113366489A CN 202080008364 A CN202080008364 A CN 202080008364A CN 113366489 A CN113366489 A CN 113366489A
Authority
CN
China
Prior art keywords
feature
interest
real
image
representations
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
CN202080008364.8A
Other languages
English (en)
Inventor
克里希南·拉姆纳斯
蔡尚轩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Facebook 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 Facebook Inc filed Critical Facebook Inc
Publication of CN113366489A publication Critical patent/CN113366489A/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/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/462Salient features, e.g. scale invariant feature transforms [SIFT]
    • 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
    • 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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Library & Information Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

在一个实施例中,一种方法包括接收深度学习(DL)特征表示和局部特征描述符,其中该DL特征表示和该局部特征描述符是从包括现实世界对象的第一描绘的图像中提取的;基于所接收的DL特征表示与存储的DL特征表示的比较,识别一组潜在匹配的DL特征表示,该存储的DL特征表示与多个增强现实(AR)目标相关联;基于所接收的一个或更多个局部特征描述符与存储的局部特征描述符的比较,从与该组潜在匹配的DL特征表示相关联的一组潜在匹配的AR目标中确定匹配的AR目标,该存储的局部特征描述符与该组潜在匹配的AR目标相关联,其中存储的局部特征描述符是从该组潜在匹配的AR目标中提取的;以及向客户端计算设备发送被配置为呈现与所确定的匹配的AR目标相关联的AR效果的信息。

Description

检测增强现实目标
技术领域
本公开总体上涉及增强现实环境。
背景
人工现实是一种在呈现给用户之前已经以某种方式进行了调整的现实形式,其可以包括例如虚拟现实(VR)、增强现实(AR)、混合现实(mixed reality,MR)、混杂现实(hybrid reality)或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或与捕获的内容(例如,现实世界(real-world)的照片)相结合生成的内容。人工现实内容可以包括视频、音频、触觉反馈、或其某种组合,且其中任何一个都可以在单个通道中或在多个通道中被呈现(例如向观看者产生三维效果的立体视频)。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合例如用于在人工现实中创建内容和/或在人工现实中使用(例如,在人工现实中执行活动)。可以在各种平台(包括连接到主计算机系统的头戴式显示器(HMD)、独立的HMD、移动设备或计算系统、或者能够向一个或更多个观看者提供人工现实内容的任何其他硬件平台)上实现提供人工现实内容的人工现实系统。
AR效果是被叠加或集成到现实世界场景的用户视图中的计算机生成的视觉效果(例如,图像和动画)。某些AR效果可以被配置为跟踪现实世界中的对象。例如,计算机生成的独角兽可以被放置在如在视频中捕获的现实世界桌子上。当桌子在所捕获的视频中移动(例如,由于照相机移动或桌子被搬走)时,所生成的独角兽可以跟随桌子,使得它继续出现在桌子的顶部上。为了实现这个效果,AR应用可以使用跟踪算法来跟踪出现在现实世界场景中的对象的位置和/或取向(orientation),并且使用得到的跟踪数据来生成适当的AR效果。因为当场景被观察时AR效果可以实时或接近实时地增强现实世界场景,所以可能需要实时或接近实时地生成跟踪数据,使得AR效果如所期望的出现。
特定实施例的概述
在特定实施例中,计算设备可以访问现实世界环境的图像,该图像可以包含现实世界对象的一个或更多个描绘(depiction),这些现实世界对象是AR效果的预期目标。例如,该计算设备可以是客户端计算设备,例如正在观看现实世界环境的智能手机,该现实世界环境包括存在AR效果(例如,存在于服务器数据库上)的Cowboy RoboNinja电影海报。可以使用第一机器学习模型为图像生成初始特征地图(feature map)。然后,可以使用单独的机器学习模型来识别特征地图内可能的感兴趣区域和对应的图像。基于先前的示例,如果海报是AR效果的感兴趣目标,则驻留在智能手机上的机器学习模型可以将特征地图内与包括Cowboy RoboNinja电影海报的图像部分相对应的区域识别为可能的感兴趣区域。然后,特征地图中与包括Cowboy RoboNinja电影海报的图像部分相对应的可能的感兴趣区域可以被发送到第二机器学习模型,该第二机器学习模型可以用于提取可能的感兴趣区域的深度学习(DL)特征表示。还可以从图像中的每个可能的感兴趣区域中提取局部特征描述符。这些局部特征描述符可以对应于具有可能的感兴趣区域的感兴趣点,并且可以基于可能的感兴趣区域内的空间有界图块(spatially bounded patch)来生成。对于每个可能的感兴趣区域,可以将提取的DL特征表示与存储的DL特征表示(例如,存储在DL特征数据库上)进行比较,以识别一组潜在匹配的DL特征表示。这些潜在匹配的DL特征表示中的每一个都可以与AR效果的AR目标相关联。基于先前的示例,包括Cowboy RoboNinja电影海报的图像部分的DL特征表示可以从智能手机被发送到包括存储的DL特征表示(例如,DL特征数据库)的服务器,并且在服务器处的比较可以产生一组20个潜在匹配的DL特征表示,其中每个潜在匹配的DL特征表示与对应于电影海报的潜在匹配的AR目标相关联。对于每个可能的感兴趣区域,提取的局部特征描述符可以与局部特征描述符(其与一组潜在匹配的DL特征表示相关联,可以被存储在局部特征数据库内)进行比较。局部特征描述符的比较可以进一步缩小潜在匹配的DL特征表示——例如,缩小至可能对应于单个匹配的AR目标的单个匹配的DL特征表示。基于先前的示例,局部特征描述符的比较可以将20个潜在匹配的AR目标缩小到单个匹配的AR目标——Cowboy RoboNinja电影海报。然后可以使与匹配的AR目标相关联的AR效果被呈现。作为示例而不是作为限制,在智能手机的显示器上观看Cowboy RoboNinja电影海报的用户可以在显示器上(在海报附近)看到Cowboy RoboNinja的化身(avatar)。
通过(1)将提取的DL特征表示与存储的DL特征表示(例如,存储在DL特征数据库中)进行比较,以及通过(2)进一步将提取的局部特征描述符与存储的局部特征描述符(例如,存储在局部特征数据库中)进行比较,可以极大地提高匹配过程的准确性和性能。它还有助于减少计算资源的消耗,这在处理图像比较时可能特别重要,因为图像比较是一项在计算上具有挑战性的任务。在快速将大量AR目标缩小到潜在匹配的AR目标的一个小子集时,DL特征比较可能是有效的。作为示例而不是作为限制,在DL特征数据库上的1200万个AR目标中,由于匹配的DL特征表示,20个AR目标可以被识别为潜在候选。然而,在某些情况下,DL特征比较过程可能会导致歧义。例如,提取的DL特征可能具有微小的变化(variation),这些变化在存储的DL特征表示中可能没有被充分考虑。作为另一个示例,相关联的机器学习模型可以被训练成检测一种或更多种现实世界对象类型(例如,与图像中的CowboyRoboNinja海报相关联的对象类型“海报”)的对象,并且注意特定的AR目标(例如,与特定的Cowboy RoboNinja海报相关联的AR目标),因此DL特征表示可能无法以足够的精度消除一种对象类型(例如,海报)的不同对象的歧义。在这些情况下,局部特征比较过程可能能够消除潜在匹配的AR目标的歧义,以准确地识别匹配的AR目标。在某些情况下,虽然局部特征比较过程可能是准确的,但是在大的集合上执行可能是耗时的且在计算上具有挑战性。通过将其缩小至小的子集(例如,20个AR目标),在使用局部特征比较查找匹配的AR目标时可以节省时间和计算资源。
本发明的实施例可以包括人工现实系统或结合人工现实系统来被实现。本文公开的实施例仅仅是示例,并且本公开的范围不限于它们。特定实施例可以包括本文公开的实施例的组件、元件、特征、功能、操作或步骤中的全部、一些,或不包括这些组件、元件、特征、功能、操作或步骤。根据本发明的实施例在所附权利要求中具体公开,涉及方法、存储介质、系统和计算机程序产品,其中在一个权利要求类别(例如方法)中提到的任何特征,也可以在另一个权利要求类别(例如系统)中要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何先前权利要求的有意往回引用(特别是多个从属关系)而产生的任何主题,从而权利要求及其特征的任何组合被公开了并且可以被要求保护,而不管所附权利要求中选择的从属关系如何。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。
在实施例中,一种方法可以包括,由服务器:
从客户端计算设备接收一个或更多个深度学习(DL)特征表示和一个或更多个局部特征描述符,其中DL特征表示和局部特征描述符是从现实世界环境的第一图像中提取的,该第一图像包括现实世界对象的第一描绘;
基于所接收的一个或更多个DL特征表示与多个存储的DL特征表示的比较,识别一组潜在匹配的DL特征表示,该多个存储的DL特征表示与多个增强现实(AR)目标相关联;
基于所接收的一个或更多个局部特征描述符与存储的局部特征描述符的比较,从与该组潜在匹配的DL特征表示相关联的一组潜在匹配的AR目标中确定匹配的AR目标,该存储的局部特征描述符与该组潜在匹配的AR目标相关联,其中该存储的局部特征描述符是从该组潜在匹配的AR目标中提取的;以及
向客户端计算设备发送被配置为呈现与所确定的匹配的AR目标相关联的AR效果的信息。
一个或更多个DL特征表示可以在客户端计算设备处通过以下方式被提取:
访问第一图像;
由第一机器学习模型生成与第一图像相关联的初始特征地图;
识别初始特征地图内的一个或更多个提议的感兴趣区域;
从该一个或更多个提议的感兴趣区域中选择一个或更多个可能的感兴趣区域,其中每个感兴趣区域可以与至少第一现实世界对象类型相关联,并且其中,可能的感兴趣区域中的一个可以与第一图像中对应于现实世界对象的第一描绘的部分相关联;以及
从可能的感兴趣区域中提取一个或更多个DL特征表示,其中每个提取的DL特征表示是第二机器学习模型的输出,该第二机器学习模型被训练成至少检测第一现实世界对象类型的对象。
一个或更多个局部特征描述符可以在客户端计算设备处通过以下方式被提取:
从第一图像中的与可能的感兴趣区域中的一个相关联的部分中提取与一个或更多个检测到的感兴趣点相关联的一个或更多个局部特征描述符,其中每个局部特征描述符是基于与第一图像内的空间有界图块相关联的信息生成的,该空间有界图块包括相应检测到的感兴趣点。
选择可能的感兴趣区域可以包括:
基于第三机器学习模型为每个提议的感兴趣区域计算置信度分数;以及
选择置信度分数大于阈值置信度分数的一个或更多个提议的感兴趣区域作为可能的感兴趣区域。
第二机器学习模型可以是卷积神经网络,并且每个提取的DL特征表示可以是卷积神经网络的平均池化层(average pooling layer)的输出。
存储的DL特征表示可以通过包括以下步骤的过程来确定:
传递包括现实世界对象的第二描绘的多个第二图像,其中该多个第二图像中的每一个包括现实世界对象的第一描绘的变化;以及
从多个第二图像中的每一个中提取一个或更多个DL特征表示。
在实施例中,一种方法可以包括:
将从多个第二图像中提取的DL特征表示表示为向量表示;以及
基于相应的向量表示,将DL特征表示与相应的AR目标相关联。
可以使用数据增强过程来合成地生成多个第二图像中的一个或更多个,该数据增强过程自动改变第一图像中的一个或更多个条件以生成一个或更多个第二图像。
一个或更多个条件可以包括视角、取向、尺寸、位置和照明条件(lightingcondition)中的一个或更多个。
所接收的一个或更多个DL特征表示与多个存储的DL特征表示的比较可以包括最近邻搜索(nearest-neighbor search)。
一个或更多个检测到的感兴趣点可以是在第一图像内检测到的拐角(corner)。
一个或更多个检测到的感兴趣点可以与第一图像内的现实世界对象相关联。
AR效果可以被锚定到现实世界对象,现实世界对象可以被实时地连续跟踪。
AR效果可以被配置为基于所述客户端计算设备的位置和取向来缩放自身。
AR效果可以是滤镜(filter)效果。
在实施例中,一种方法可以包括:基于与客户端设备的用户相关联的信息,授权用户接收与所确定的匹配的AR目标相关联的AR效果。
与用户相关联的信息可以包括用户亲和力(affinity)信息,该用户亲和力信息可以包括用户与AR效果之间的亲和力系数。
在实施例中,一个或更多个计算机可读非暂时性存储介质可以体现软件,该软件在被执行时可操作来:
从客户端计算设备接收一个或更多个深度学习(DL)特征表示和一个或更多个局部特征描述符,其中该DL特征表示和该局部特征描述符是从现实世界环境的第一图像中提取的,该第一图像包括现实世界对象的第一描绘;
基于所接收的一个或更多个DL特征表示与多个存储的DL特征表示的比较,识别一组潜在匹配的DL特征表示,该多个存储的DL特征表示与多个增强现实(AR)目标相关联;
基于所接收的一个或更多个局部特征描述符与存储的局部特征描述符的比较,从与该组潜在匹配的DL特征表示相关联的一组潜在匹配的AR目标中确定匹配的AR目标,该存储的局部特征描述符与该组潜在匹配的AR目标相关联,其中存储的局部特征描述符是从该组潜在匹配的AR目标的中提取的;以及
向客户端计算设备发送被配置为呈现与所确定的匹配的AR目标相关联的AR效果的信息。
一个或更多个DL特征表示可以在客户端计算设备处通过以下方式被提取:
访问第一图像;
由第一机器学习模型生成与第一图像相关联的初始特征地图;
识别初始特征地图内的一个或更多个提议的感兴趣区域;
从该一个或更多个提议的感兴趣区域中选择一个或更多个可能的感兴趣区域,其中每个感兴趣区域可以与至少第一现实世界对象类型相关联,并且其中,可能的感兴趣区域中的一个可以与第一图像中对应于现实世界对象的第一描绘的部分相关联;以及
从可能的感兴趣区域中提取一个或更多个DL特征表示,其中每个提取的DL特征表示可以是第二机器学习模型的输出,该第二机器学习模型被训练成至少检测第一现实世界对象类型的对象。
在实施例中,一种系统可以包括:一个或更多个处理器;以及一个或更多个计算机可读非暂时性存储介质,该一个或更多个计算机可读非暂时性存储介质耦合到一个或更多个处理器并且包括指令,该指令在由一个或更多个处理器执行时可操作来使系统:
从客户端计算设备接收一个或更多个深度学习(DL)特征表示和一个或更多个局部特征描述符,其中该DL特征表示和该局部特征描述符是从现实世界环境的第一图像中提取的,该第一图像包括现实世界对象的第一描绘;
基于所接收的一个或更多个DL特征表示与多个存储的DL特征表示的比较,识别一组潜在匹配的DL特征表示,该多个存储的DL特征表示与多个增强现实(AR)目标相关联;
基于所接收的一个或更多个局部特征描述符与存储的局部特征描述符的比较,从与该组潜在匹配的DL特征表示相关联的一组潜在匹配的AR目标中确定匹配的AR目标,存储的局部特征描述符与该组潜在匹配的AR目标相关联,其中存储的局部特征描述符可以是从该组潜在匹配的AR目标中提取的;以及
向客户端计算设备发送被配置为呈现与所确定的匹配的AR目标相关联的AR效果的信息。
在实施例中,一个或更多个计算机可读非暂时性存储介质可以体现软件,该软件在被执行时可操作来执行根据上述任何实施例的或在上述任何实施例内的方法。
在实施例中,一种系统可以包括:一个或更多个处理器;以及至少一个存储器,其耦合到处理器并包括由处理器可执行的指令,当执行该指令时,处理器可操作来执行根据上述任何实施例的或在上述任何实施例内的方法。
在实施例中,一种计算机程序产品,优选地包括计算机可读非暂时性存储介质,当在数据处理系统上被执行时,该计算机程序产品可以可操作来执行根据上述任何实施例的或在上述任何实施例内的方法。
附图简述
图1示出了正在通过客户端设备的显示器观看的现实世界环境的示例。
图2示出了示例深度学习(DL)特征提取过程。
图3示出了包括感兴趣区域的图像的示例。
图4示出了示例局部特征提取过程。
图5示出了特征匹配方法的示例。
图6示出了用于在现实世界环境中识别匹配的AR目标并呈现相关联的AR效果的示例方法。
图7示出了与社交网络系统相关联的示例网络环境。
图8示出了示例社交图。
图9示出了示例计算机系统。
示例实施例的描述
本发明的实施例可以包括人工现实系统或结合人工现实系统来被实现。在特定实施例中,计算设备可以访问现实世界环境的图像,该图像可以包含现实世界对象的一个或更多个描绘,这些现实世界对象是AR效果的预期目标。例如,该计算设备可以是客户端计算设备,例如正在观看现实世界环境的智能手机,该现实世界环境包括存在AR效果(例如,存在于服务器数据库上)的Cowboy RoboNinja电影海报。可以使用第一机器学习模型为图像生成初始特征地图。然后,可以使用单独的机器学习模型来识别特征地图内可能的感兴趣区域和对应的图像。基于先前的示例,如果海报是AR效果的感兴趣目标,则驻留在智能手机上的机器学习模型可以将特征地图内与包括Cowboy RoboNinja电影海报的图像部分相对应的区域识别为可能的感兴趣区域。然后,特征地图中与包括Cowboy RoboNinja电影海报的图像部分相对应的可能的感兴趣区域可以被发送到第二机器学习模型,该第二机器学习模型可以用于提取可能的感兴趣区域的深度学习(DL)特征表示。还可以从图像中的每个可能的感兴趣区域中提取局部特征描述符。这些局部特征描述符可以对应于具有可能的感兴趣区域的感兴趣点,并且可以基于可能的感兴趣区域内的空间有界图块来生成。对于每个可能的感兴趣区域,可以将提取的DL特征表示与DL特征数据库进行比较,以识别一组潜在匹配的DL特征表示。这些潜在匹配的DL特征表示中的每一个都可以与AR效果的AR目标相关联。基于先前的示例,包括Cowboy RoboNinja电影海报的图像部分的DL特征表示可以从智能手机被发送到包括DL特征表示数据库的服务器,并且在服务器处的比较可以产生一组20个潜在匹配的DL特征表示,其中每个潜在匹配的DL特征表示与对应于电影海报的潜在匹配的AR目标相关联。对于每个可能的感兴趣区域,提取的局部特征描述符可以与局部特征描述符(其与一组潜在匹配的DL特征表示相关联,可以被存储在局部特征数据库内)进行比较。局部特征描述符的比较可以进一步缩小潜在匹配的DL特征表示——例如,缩小至可能对应于单个匹配的AR目标的单个匹配的DL特征表示。基于先前的示例,局部特征描述符的比较可以将20个潜在匹配的AR目标缩小到单个匹配的AR目标——Cowboy RoboNinja电影海报。然后可以使与匹配的AR目标相关联的AR效果被呈现。作为示例而不是作为限制,在智能手机的显示器上观看Cowboy RoboNinja电影海报的用户可以在显示器上(在海报附近)看到Cowboy RoboNinja的化身。
通过(1)将提取的DL特征表示与存储在DL特征数据库中的DL特征表示进行比较,以及通过(2)进一步将提取的局部特征描述符与局部特征数据库进行比较,可以极大地提高匹配过程的准确性和性能。它还有助于减少计算资源的消耗,这在处理图像比较时可能特别重要,因为图像比较是一项在计算上具有挑战性的任务。在快速将大量AR目标缩小到潜在匹配的AR目标的一个小子集时,DL特征比较可能是有效的。作为示例而不是作为限制,在DL特征数据库上的1200万个AR目标中,由于匹配的DL特征表示,20个AR目标可以被识别为潜在候选。然而,在某些情况下,DL特征比较过程可能会导致歧义。例如,提取的DL特征可能具有微小的变化,这些变化在存储的DL特征表示中可能没有被充分考虑。作为另一个示例,相关联的机器学习模型可以被训练成检测一种或更多种现实世界对象类型(例如,与图像中的Cowboy RoboNinja海报相关联的对象类型“海报”)的对象,并且注意特定的AR目标(例如,与特定的Cowboy RoboNinja海报相关联的AR目标),因此DL特征表示可能无法以足够的精度消除一种对象类型(例如,海报)的不同对象的歧义。在这些情况下,局部特征比较过程可能能够消除潜在匹配的AR目标的歧义,以准确地识别匹配的AR目标。在某些情况下,虽然局部特征比较过程可能是准确的,但是在大的集合上执行可能是耗时的且在计算上具有挑战性。通过将其缩小至小的子集(例如,20个AR目标),在使用局部特征比较查找匹配的AR目标时可以节省时间和计算资源。
图1示出了正在通过客户端设备的显示器观看的现实世界环境的示例。在特定实施例中,计算设备可以访问现实世界环境的图像。在特定实施例中,图像可能已经被用户的客户端设备(例如,智能手机、平板电脑、可佩戴设备)的照相机或其他传感器捕获。在特定实施例中,计算设备可以是用户的客户端设备。在特定实施例中,计算设备可以是服务器计算机器(例如,本文描述的社交网络系统760的远程服务器),在这种情况下,计算设备可以在从客户端设备接收到图像之后访问该图像。在特定实施例中,如本文所述,由计算设备执行的任务可以部分由客户端设备执行,部分由服务器计算机器执行。在特定实施例中,可以在任何合适的时间点访问图像。作为示例而不是作为限制,客户端设备可以在捕获点之后立即或几乎立即从客户端设备的存储器缓存(memory cache)访问图像,使得当用户用客户端设备观看现实世界环境时,可以说实时地访问图像。例如,参考图1,客户端设备110的用户可能正在通过客户端设备110的显示器观看电影院大厅(例如,当AR应用(app)正在客户端设备110上执行时)。在该示例中,当用户继续观看电影院大厅时,计算设备可以连续访问图像流(a stream of images)。作为另一个示例而不是作为限制,图像可以是预先记录的图像。例如,用户可能正在观看预先录制的视频(在这种情况下,视频中的帧可以被提取作为图像)或先前捕获的照片。
在特定实施例中,图像可以包括对象(例如现实世界对象或虚拟对象)的描绘。作为示例而不是作为限制,参考图1,在客户端设备110上被观看的图像包括对象120的描绘,该对象120可以对应于现实世界的Cowboy RoboNinja电影海报。作为另一个示例而不是作为限制,对象可以是由另一个用户放置的虚拟对象,例如计算机生成的独角兽。感兴趣的对象的其他示例包括街道标志、产品标识和地标(例如,埃菲尔铁塔)。
图2示出了示例深度学习(DL)特征提取过程。在特定实施例中,计算设备可以生成与图像相关联的初始特征地图。在特定实施例中,该初始特征地图可以使用机器学习模型来生成。作为示例而不是作为限制,可以使用卷积神经网络(CNN)来生成初始特征地图,该卷积神经网络可以采用ResNet-50架构。生成的初始特征地图可以包括对图像的各种特征编码的信息。作为示例而不是作为限制,参考图2,图像210可以被传递通过CNN(或其他机器学习模型)来输出特征地图220,特征地图220可以包括图像210的各种特征的信息编码。
在特定实施例中,计算设备可以识别初始特征地图内的一个或更多个提议的感兴趣区域。参考图2,计算设备可以在特征地图220内识别几个感兴趣区域(例如,感兴趣区域230、240和250)。在特定实施例中,这些感兴趣区域中的每一个可以与图像中的不同特征相关联。在特定实施例中,感兴趣区域可以与这样的特征相关联,该特征可能对应于与感兴趣的对象相关联的图像部分。作为示例而不是作为限制,参考图2,感兴趣区域230可以包括图像210的部分(例如,图像210中描绘的Cowboy RoboNinja海报内的图片的拐角)的信息编码。在特定实施例中,感兴趣区域的识别可以由区域提议网络(region proposal network,RPN)来执行,该区域提议网络可以是例如CNN,该CNN被训练成识别可能对应于与特定对象相关联的图像部分(例如,由边界框限定的每个部分)的特征。作为示例而不是作为限制,RPN可以被训练成识别对应于图像中的电影海报(例如,参考图1,对应于对象120的CowboyRoboNinja电影海报)的特征。
在特定实施例中,计算设备可以从一个或更多个提议的感兴趣区域中选择一个或更多个可能的感兴趣区域。这些可能的感兴趣区域中的一个或更多个可能与对应于感兴趣的对象的图像部分相关联。作为示例而不是作为限制,参考图1,可能的感兴趣区域可以包括对应于对象120的Cowboy RoboNinja电影海报的描绘的一部分。在特定实施例中,对于每个提议的感兴趣区域,RPN可以计算置信度分数,该置信度分数可以对应于提议的感兴趣区域与感兴趣的对象相关联的可能性。作为示例而不是作为限制,置信度分数可以基于机器学习模型来计算。例如,在已经被训练成识别电影海报的RPN的情况下,包括矩形形状的信息编码的特征可以比包括圆形形状的信息编码的特征接收到更高的置信度分数。在特定实施例中,可能的感兴趣区域可以是置信度分数大于阈值置信度分数的提议的感兴趣区域。
在特定实施例中,计算设备可以从特征地图的一个或更多个可能的感兴趣区域中提取一个或更多个深度学习(DL)特征表示。在特定实施例中,DL特征表示可以是向量表示。在特定实施例中,一个或更多个感兴趣区域中的每一个可以被发送通过第一机器学习模型(例如,CNN),该第一机器学习模型已经被训练成检测一种或更多种现实世界对象类型(例如,与图像310中的Cowboy RoboNinja海报相关联的对象类型“海报”)的对象。作为示例而不是作为限制,CNN或其他机器学习模型的中间层可以输出DL特征表示。作为示例而不是作为限制,DL特征表示可以是平均池化层的输出。在该示例中,平均池化层可以是在传统的分类CNN中处于倒数第二层的层——例如,紧接在可以返回分类结果的全连接层(fullyconnected layer)之前的层。
在特定实施例中,可能已经用包括多个感兴趣的对象的描绘的训练图像集,使用深度学习过程训练了第一机器学习模型。作为示例而不是作为限制,可能已经通过将每张电影海报的10个图像(例如,电影海报的不同变化,它们考虑了不同的视角倾斜、取向差异、尺寸差异、位置差异、照明条件差异等)传递通过机器学习模型而将第一机器学习模型训练成检测电影海报。例如,包含Cowboy RoboNinja电影海报的来自几个角度的变化和对应的基本事实(ground-truth)标签(label)(例如,用于每个训练图像中出现海报的区域的边界框或分类标签)的10个图像可以被传递通过机器学习模型。在特定实施例中,训练图像可以用于以端到端的方式训练机器学习模型(换句话说,每个训练图像可以由初始机器学习模型顺序处理并被用来更新初始机器学习模型以生成特征地图、RPN和用于检测感兴趣的对象的第一机器学习模型)。这些不同的图像变化可以使用数据增强过程被合成地生成(例如,利用自动改变原始图像的特性的图像处理技术的任何合适的组合)。作为示例而不是作为限制,可以基于捕获的原始图像生成Cowboy RoboNinja电影海报的旋转或倾斜版本。替代地,不同的图像变化可以简单地在现实世界中的不同条件下(例如,不同的视角、取向、尺寸、位置、照明条件)被捕获。在特定实施例中,不同的图像变化可以是合成地生成的图像和捕获的图像的组合。在特定实施例中,在机器学习模型已经被训练之后,它可以被用于提取AR目标的图像的DL特征表示,并且存储所提取的DL特征表示(例如,存储在DL特征数据库中)。这些DL特征表示可以在DL特征数据库中与对应的AR目标和/或对应的AR效果相关联。作为示例而不是作为限制,可以从Cowboy RoboNinja电影海报的图像中提取DL特征表示,并且该DL特征表示可以用作对应的AR目标和/或AR效果在DL特征数据库中的索引。
在特定实施例中,可以使用该经训练的机器学习模型来确定DL特征表示。作为示例而不是作为限制,经训练的机器学习模型可用于将AR目标与(例如,在DL特征数据库内的)相关联的DL特征表示相关联。在特定实施例中,DL特征数据库可以包括多个存储的DL特征表示,这些存储的DL特征表示可以与多个增强现实(AR)目标相关联,这些AR目标可以是与一个或更多个AR效果相关联(例如,通过索引关联)的对象。在特定实施例中,这些AR目标可以对应于感兴趣的现实世界对象,或者感兴趣的虚拟对象。作为示例而不是作为限制,参考图1,DL特征数据库可以包括与对应于对象120的Cowboy RoboNinja电影海报相关联的DL特征表示。作为示例而不是作为限制,DL特征数据库可以包括与可能出现在图像中的计算机生成的独角兽相关联的DL特征表示。
在特定实施例中,基于从输入图像(例如,图像210)中提取的DL特征表示,计算设备可以从与存储的DL特征表示(例如,存储在DL特征数据库中)相关联的多个AR目标中识别一组潜在匹配的AR目标。该识别可以基于提取的DL特征表示与多个存储的DL特征表示的比较。作为示例而不是作为限制,该比较可以涉及向量比较(其中每个DL特征表示可以是向量表示),从而可以执行最近邻搜索来识别DL特征数据库中相似的DL特征表示。在该示例中,相似的DL特征表示的向量可以由于它们的相似性而位于d维向量空间的阈值区域内,使得相似的DL特征表示可以通过识别阈值区域内的所有向量而被识别。替代地或附加地,相似的DL特征表示可以通过确定d维空间中的向量之间的欧几里德距离(Euclidean distance)或余弦相似性而被识别。关于基于物品(items)在d维空间中的向量来确定它们的相似性的更多信息可以在2016年9月27日提交的美国专利申请第15/277938号中找到,该专利申请通过引用被并入本文。
图3示出了包括感兴趣区域的图像的示例。在特定实施例中,可以基于提取的DL特征表示与多个存储的DL特征表示的比较结果,在图像内识别一个或更多个可能的感兴趣区域。作为示例而不是作为限制,参考图3,Cowboy RoboNinja电影海报可以被识别为图像内的可能的感兴趣区域。
图4示出了示例局部特征提取过程。在特定实施例中,计算设备可以检测图像内的一个或更多个感兴趣点。在特定实施例中,只有可能的感兴趣区域可以被传递给局部特征提取过程,在这种情况下,计算设备可以仅检测对应于可能的感兴趣区域的图像部分内的感兴趣点。作为示例而不是作为限制,参考图3和图4,只有图像部分410(对应于图3中描绘的图像中的Cowboy RoboNinja电影海报)可以被传递通过局部特征提取过程(例如,因为只有图像部分410可能已经具有阈值置信度分数),使得计算设备可以仅使用图像部分410来检测感兴趣点。在特定实施例中,检测到的感兴趣点可以是拐角或图像中不同于周围区域的其他视觉特征。这些感兴趣点可以是能够在一系列相关图像中被跟踪的点。作为示例而不是作为限制,感兴趣点可以是当用户移动正在捕获一系列图像的客户端设备时能够被连续跟踪的点。这些检测到的感兴趣点中的一个或更多个可以与感兴趣的对象相关联。作为示例而不是作为限制,参考图3,感兴趣点310可以是Cowboy RoboNinja电影海报330的拐角。
在特定实施例中,计算设备可以从图像中提取一个或更多个局部特征描述符。这些局部特征描述符可以与一个或更多个检测到的感兴趣点相关联。作为示例而不是作为限制,参考图4,可以针对图像部分410提取几个感兴趣点(例如,感兴趣点420)的局部特征描述符。在特定实施例中,计算设备可以提取描述图像内的一个或更多个空间有界图块的局部特征描述符,其中每个图块包括检测到的感兴趣点。图块可以是检测到的感兴趣点周围的图像区域(例如,感兴趣点位于或靠近图块的中心)。作为示例而不是作为限制,参考图4,图块425可以对应于感兴趣点420。在特定实施例中,与感兴趣点相关联的图块可用于(例如,使用尺度不变特征变换(SIFT)、使用加速鲁棒特征(SURF))生成局部特征描述符,该局部特征描述符可以用作图块的表示。局部特征描述符可以包括感兴趣点在图像内的位置信息(例如,(x,y)坐标)。局部特征描述符还可以包括对应的尺度和取向信息。作为示例而不是作为限制,局部特征描述符可以被表示为向量,其中向量的长度表示尺度,并且向量的方向表示感兴趣点的取向。尺度参数可以反映例如由于捕获图像的照相机(例如,客户端设备的照相机)的距离而可能出现的尺寸差异。取向参数可以由在图块内检测到的照明强度梯度确定,这些梯度可以用于查找主导取向(dominant orientation),该主导取向可以用作描述图块的取向的方向锚(directional anchor)。图块的局部特征描述符还可以包括对图块中存在的视觉特征编码的信息。作为示例而不是作为限制,参考图4,图块425的局部特征描述符可以包括对图块的形状、颜色、纹理、照明强度和/或任何其他合适的视觉特征编码的信息。
在特定实施例中,计算设备可以从一组潜在匹配的AR目标中确定匹配的AR目标。匹配的AR目标可以是被确定为对图像中描绘的现实世界对象的高概率匹配的AR目标。作为示例而不是作为限制,参考图1,现实世界对象120(Cowboy RoboNinja电影海报)可以被确定匹配对应于Cowboy RoboNinja电影海报的AR目标。在特定实施例中,可以确定多个匹配的AR目标。
在特定实施例中,匹配的AR目标的确定可以基于提取的局部特征描述符与存储的局部特征描述符的比较,该存储的局部特征描述符与该组潜在匹配的AR目标相关联。存储的局部特征描述符可以被存储在(例如,本地的位于捕获图像的客户端设备处的、位于远程服务器处的)局部特征数据库上,该局部特征数据库可以例如包括将多个局部特征描述符与多个AR目标相关联的索引。在特定实施例中,存储的局部特征描述符(例如,存储在局部特征数据库中)可以考虑不同的视角、取向、尺寸、位置、照明条件或者任何其他潜在变化,这通过存储考虑这些变化(例如,利用合成地生成的图像、或者在不同设置下捕获的图像)的不同版本的局部特征描述符来实现。在特定实施例中,计算设备可以使用验证器过程(verifier process)(例如,几何验证器过程)通过识别合适的变换来确定两个局部特征描述符之间的匹配,该合适的变换可以使提取的局部特征描述符与存储的局部特征描述符匹配。作为示例而不是作为限制,参考图4,如果图像包括图像部分410的旋转版本(例如,如果海报被倾斜30度),则验证器过程仍然能够通过识别合适的变换来找到图块425的所提取的局部特征描述符与对应的存储的局部特征描述符之间的匹配(即使旋转版本没有被存储在局部特征数据库中),该合适的变换可以转换所提取的局部特征描述符(例如,近似图块的30度旋转的局部特征描述符的局部特征描述符)。在特定实施例中,验证器过程可能是特别有利的,因为它可以使得不需要存储局部特征的不同版本(因为验证器过程可以简单地识别用于在变化之间进行转换的合适变换)。在特定实施例中,图像可以具有多个局部特征描述符,这些局部特征描述符各自与局部特征数据库中的局部特征描述符进行比较。
在特定实施例中,DL特征数据库和局部特征数据库可以是单个主数据库。作为示例而不是作为限制,DL特征数据库可以将存储的DL特征表示与对应的存储的局部特征描述符相关联。在该示例中,从图像中提取的DL特征表示可以与主数据库中存储的DL特征表示进行比较,以识别20个潜在匹配的DL特征表示,其中每个潜在匹配的DL特征表示可以与相应的AR目标和相应的一组存储的局部特征描述符相关联。然后,局部特征比较可以将从图像中提取的局部特征描述符与20组存储的局部特征描述符进行比较,该20组存储的局部特征描述符与20个潜在匹配的DL特征表示相关联。根据该局部特征比较,单组局部特征描述符可以被确定为具有最佳匹配,在这种情况下,相关联的AR目标可以被识别为匹配的AR目标。
在特定实施例中,确定匹配的AR目标可以涉及为每个潜在匹配的AR目标计算匹配分数。匹配分数可以基于在提取的图像或图像部分的局部特征描述符与存储的特定AR目标的局部特征描述符之间识别的匹配的数量和/或质量。作为示例而不是作为限制,在图像和特定AR目标之间识别的匹配越多,可以为相应AR目标计算的匹配分数就越高。
图5示出了特征匹配方法的示例。在特定实施例中,可以从图像510确定图像部分515。图像部分515可以是可能的感兴趣区域(例如,由RPN提议的、具有阈值置信度分数的区域)。图像部分515可以被传递通过一个或更多个特征提取过程520,用于提取DL特征表示和局部特征描述符。提取的DL特征表示可以被传递通过DL特征比较过程530(例如,最近邻搜索过程)来识别一个或更多个潜在匹配540。潜在匹配可以被传递通过验证器过程550(例如,几何验证器过程),验证器过程550将图像510的局部特征描述符与一个或更多个潜在匹配540的局部特征描述符进行比较。如果有两个或更多个潜在匹配540,则验证器过程550可以从该两个或更多个潜在匹配540中识别单个匹配的AR目标560。如果只有一个潜在匹配540,则验证器过程可以简单地验证该潜在匹配540是匹配的目标560。
在特定实施例中,特征提取过程520可以在捕获图像510的客户端设备上执行。在这些实施例中,提取的DL特征表示和局部特征描述符可以被发送到服务器计算机器(例如,社交网络系统760)。在这些实施例中,可以在服务器计算机器处执行DL特征比较过程530和验证器过程550,然后服务器计算机器可以将与匹配的AR目标560相关联的AR效果发送回客户端设备。
在特定实施例中,图5中列出的所有步骤可以由服务器计算机器执行。作为示例而不是作为限制,客户端设备可以将图像510(例如,在一些初始预处理之后)或图像515发送到服务器,服务器可以执行特征提取过程520、DL特征比较过程530和验证器过程550。
在特定实施例中,图5中列出的所有步骤可以在客户端设备处本地执行,在这种情况下,DL特征数据库和局部特征数据库可以本地驻留在客户端设备上。在特定实施例中,图5中列出的任何步骤可以由客户端设备或服务器计算机器以任何合适的组合来执行。
在特定实施例中,计算设备可以使与匹配的AR目标相关联的一个或更多个AR效果在与第一用户相关联的客户端设备上被呈现。在特定实施例中,在AR效果被存储在服务器计算机器上的情况下(例如,在DL特征数据库和局部特征数据库在服务器计算机器上的情况下),服务器计算机器可以发送被配置为在客户端设备上呈现与匹配的AR目标相关联的AR效果的信息。在特定实施例中,在AR效果被本地存储在客户端设备上的情况下,客户端设备可以简单地从本地存储器检索被配置为呈现AR效果的信息。在特定实施例中,仅当客户端设备的用户被授权访问AR效果时,才可以呈现AR效果。作为示例而不是作为限制,可以基于与用户相关联的社交网络信息来授权用户。例如,与容纳AR效果的数据储存器相关联的服务器计算机器(例如,社交网络系统760)可以仅在与AR效果相关联的隐私设置允许的情况下向用户发送AR效果。作为另一个示例,AR效果可以指定基于特定类型的用户信息的其他标准(例如,仅允许将AR效果发送到至少为18岁的用户的客户端设备的年龄限制,仅允许将AR效果发送到具有AR效果的阈值亲和力系数的用户的客户端设备的用户亲和力信息)。
在特定实施例中,AR效果可以与匹配的AR目标相关联。作为示例而不是作为限制,包括3D Cowboy RoboNinja化身的AR效果可以与匹配的AR目标相关联(例如,在数据库的索引中相关联),该匹配的AR目标可以对应于Cowboy RoboNinja电影海报。在该示例中,当在客户端设备处捕获的图像内检测到Cowboy RoboNinja电影海报时,可以识别对应的AR目标,并且可以在客户端设备上呈现Cowboy RoboNinja化身。作为另一个示例而不是作为限制,当用户将客户端设备的照相机指向诸如埃菲尔铁塔的地标时,相关的信息或动画可以被呈现作为AR效果。作为另一个示例而不是作为限制,当用户将客户端设备的照相机指向餐馆标志时,午餐菜单可以被呈现作为AR效果。作为另一个示例而不是作为限制,当用户将客户端设备的照相机指向产品标识(例如,能量饮料的标识)时,诸如卡路里信息或产品广告的相关信息可以被呈现作为AR效果。在特定实施例中,在数据库在远程服务器上的情况下,远程服务器可以向客户端设备发送匹配的AR目标的AR效果。替代地,在数据库被本地存储在客户端设备上的情况下,客户端设备可以简单地访问它自己的存储器来检索AR效果。
在特定实施例中,AR效果的属性可以指示,当通过用户的客户端设备的显示器观看时,它被锚定到感兴趣的对象(例如,与AR目标匹配的现实世界对象)。这可能会使AR效果看起来像是用户的现实环境的一部分。在这些实施例中,可以呈现AR效果,使得即使当视图移动时(例如,当客户端设备的用户移动到不同的位置或者通过移动客户端设备的取向来改变视角时),AR效果看起来也被固定到对象。作为示例而不是作为限制,CowboyRoboNinja的3D化身可以持续,使得当通过客户端设备观看Cowboy RoboNinja电影海报时,它看起来被固定到该电影海报。在这些实施例中,AR效果可以进一步与感兴趣的对象对准,使得它基于客户端设备的位置而缩放和重新定向自身,从而考虑视角。作为示例而不是作为限制,随着客户端设备移动得离对应的电影海报越来越远,Cowboy RoboNinja化身可能变得越来越小。作为另一个示例而不是作为限制,当用户移动到Cowboy RoboNinja化身的一侧时,用户可以看到化身的该侧面(就像在现实世界对象的情况下一样)。为了保持AR效果的这种锚定和对准,可以实时地连续跟踪对应于AR目标的感兴趣对象。可以使用任何合适的跟踪算法来执行这种连续跟踪(例如,跟踪海报的拐角的SLAM跟踪算法)。关于对象跟踪的更多信息可以在2017年11月3日提交的美国专利申请第15/803428号和2018年8月24日提交的美国专利申请第16/112407号中找到,这些专利申请中的每一个通过引用被并入本文。
替代地,AR效果的属性可以指示它不被锚定到现实世界对象。作为示例而不是作为限制,AR效果可以是影响AR环境的整个视图的滤镜效果。例如,用于Cowboy RoboNinja海报的AR效果可以包括“狂野西部(Wild West)”滤镜,该滤镜使客户端设备的整个视图呈现好莱坞西部主题。
图6示出了用于在现实世界环境中识别匹配的AR目标并呈现相关联的AR效果的示例方法600。该方法可以从步骤610开始,在步骤610,计算设备可以从客户端计算设备接收一个或更多个深度学习(DL)特征表示和一个或更多个局部特征描述符,其中从现实世界环境的第一图像中提取DL特征表示和局部特征描述符,第一图像包括现实世界对象的第一描绘。在步骤620,计算设备可以基于所接收的一个或更多个DL特征表示与多个存储的DL特征表示的比较来识别一组潜在匹配的DL特征表示,该多个存储的DL特征表示与多个增强现实(AR)目标相关联。在步骤630,计算设备可以基于所接收的一个或更多个局部特征描述符与存储的局部特征描述符的比较,从与该组潜在匹配的DL特征表示相关联的一组潜在匹配的AR目标中确定匹配的AR目标,存储的局部特征描述符与该组潜在匹配的AR目标相关联,其中存储的局部特征描述符是从该组潜在匹配的AR目标中提取的。在步骤640,向客户端计算设备发送被配置为呈现与所确定的匹配的AR目标相关联的AR效果的信息。在适当的情况下,特定实施例可以重复图6的方法的一个或更多个步骤。尽管本公开描述并示出了图6的方法的特定步骤以特定顺序发生,但是本公开设想了图6的方法的任何合适的步骤以任何合适的顺序发生。此外,尽管本公开描述并示出了包括图6的方法的特定步骤的用于在现实世界环境中识别匹配的AR目标并呈现相关联的AR效果的示例方法,但是本公开设想了包括任何合适的步骤的用于在现实世界环境中识别匹配的AR目标并呈现相关联的AR效果的任何合适的方法,在适当的情况下,这些合适的步骤可以包括图6的方法的所有步骤、一些步骤或不包括图6的方法的步骤。此外,尽管本公开描述并示出了执行图6的方法的特定步骤的特定组件、设备或系统,但是本公开设想了执行图6的方法的任何合适步骤的任何合适的组件、设备或系统的任何合适的组合。一些或所有步骤可以被以任何合适的顺序顺序地执行,或者被并行执行。
本发明的实施例可以包括人工现实系统或结合人工现实系统来被实现。人工现实是一种在呈现给用户之前已经以某种方式进行了调整的现实形式,其可以包括例如虚拟现实(VR)、增强现实(AR)、混合现实(MR)、混杂现实或其某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或与捕获的内容(例如,现实世界的照片)相结合生成的内容。人工现实内容可以包括视频、音频、触觉反馈、或其某种组合,且其中任何一个都可以在单个通道中或在多个通道中被呈现(例如向观看者产生三维效果的立体视频)。另外,在一些实施例中,人工现实可以与应用、产品、附件、服务或其某种组合相关联,这些应用、产品、附件、服务或其某种组合例如用于在人工现实中创建内容和/或在人工现实中使用(例如,在人工现实中执行活动)。可以在各种平台(包括连接到主计算机系统的头戴式显示器(HMD)、独立的HMD、移动设备或计算系统、或者能够向一个或更多个观看者提供人工现实内容的任何其他硬件平台)上实现提供人工现实内容的人工现实系统。
系统概述
图7示出了与社交网络系统相关联的示例网络环境700。网络环境700包括通过网络710连接到彼此的客户端系统730、社交网络系统760和第三方系统770。尽管图7示出了客户端系统730、社交网络系统760、第三方系统770和网络710的特定布置,但是本公开设想了客户端系统730、社交网络系统760、第三方系统770和网络710的任何合适的布置。作为示例而不是作为限制,客户端系统730、社交网络系统760和第三方系统770中的两个或更多个可以直接连接到彼此,绕过网络710。作为另一示例,客户端系统730、社交网络系统760和第三方系统770中的两个或更多个可以全部或部分地在物理上或逻辑上彼此位于同一位置。此外,尽管图7示出了特定数量的客户端系统730、社交网络系统760、第三方系统770和网络710,但是本公开考虑了任何合适数量的客户端系统730、社交网络系统760、第三方系统770和网络710。作为示例而不是作为限制,网络环境700可以包括多个客户端系统730、社交网络系统760、第三方系统770和网络710。
本公开设想了任何合适的网络710。作为示例而不是作为限制,网络710的一个或更多个部分可以包括自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网的一部分、公共交换电话网(PSTN)的一部分、蜂窝电话网、或这些中的两个或更多个的组合。网络710可以包括一个或更多个网络710。
链路750可以将客户端系统730、社交网络系统760和第三方系统770连接到通信网络710或连接到彼此。本公开设想了任何合适的链路750。在特定实施例中,一个或更多个链路750包括一个或更多个有线(例如数字用户线路(DSL)或基于电缆的数据服务接口规范(DOCSIS))链路、无线(例如Wi-Fi或全球互通微波接入(WiMAX))链路、或光(例如同步光网络(SONET)或同步数字体系(SDH))链路。在特定实施例中,一个或更多个链路750各自包括自组织网络、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路750、或两个或更多个这种链路750的组合。链路750不必在整个网络环境700中相同。一个或更多个第一链路750可以在一个或更多个方面上不同于一个或更多个第二链路750。
在特定实施例中,客户端系统730可以是包括硬件、软件或嵌入式逻辑组件、或两个或更多个这样的组件的组合,并且能够执行由客户端系统730实现或支持的适当功能的电子设备。作为示例而不是作为限制,客户端系统730可以包括计算机系统,例如台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、GPS设备、照相机、个人数字助理(PDA)、手持电子设备、蜂窝电话、智能手机、增强/虚拟现实设备、其他合适的电子设备、或其任何合适的组合。本公开设想了任何合适的客户端系统730。客户端系统730可以使在客户端系统730处的网络用户能够访问网络710。客户端系统730可以使它的用户能够与在其他客户端系统730处的其他用户进行通信。
在特定实施例中,客户端系统730可以包括web浏览器732(例如MICROSOFTINTERNET EXPLORER、GOOGLE CHROME或MOZILLA FIREFOX),并且可以具有一个或更多个附加件、插件或其他扩展件(例如TOOLBAR或YAHOO TOOLBAR)。在客户端系统730处的用户可以输入统一资源定位符(URL)或将web浏览器732引导到特定的服务器(例如服务器762或与第三方系统770相关联的服务器)的其他地址,并且web浏览器732可以生成超文本传输协议(HTTP)请求并将HTTP请求传递到服务器。服务器可以接受HTTP请求,并响应于HTTP请求而向客户端系统730传递一个或更多个超文本标记语言(HTML)文件。客户端系统730可以基于来自服务器的HTML文件来显现网页用于呈现给用户。本公开设想了任何合适的网页文件。作为示例而不是作为限制,可以根据特定的需要从HTML文件、可扩展超文本标记语言(XHTML)文件或可扩展标记语言(XML)文件来显现网页。这样的页面还可以执行脚本(例如且没有限制,用JAVASCRIPT、JAVA、MICROSOFT SILVERLIGHT编写的脚本)、标记语言和脚本的组合(例如AJAX(异步JAVASCRIPT和XML))等。在本文,在适当的情况下,对网页的引用包括一个或更多个相应的网页文件(浏览器可以使用这些网页文件来显现网页),反之亦然。
在特定实施例中,社交网络系统760可以是可以托管在线社交网络的网络可寻址计算系统。社交网络系统760可以生成、存储、接收并发送社交网络数据(例如,用户简档数据、概念简档数据、社交图信息或与在线社交网络相关的其他合适的数据)。社交网络系统760可以由网络环境700的其他组件直接地或经由网络710来访问。作为示例而不是作为限制,客户端系统730可以使用web浏览器732或与社交网络系统760相关联的原生(native)应用(例如,移动社交网络应用、消息传送应用、另一合适的应用或其任何组合)直接地或经由网络710来访问社交网络系统760。在特定实施例中,社交网络系统760可以包括一个或更多个服务器762。每个服务器762可以是单一服务器(unitary server)或跨越多台计算机或多个数据中心的分布式服务器。服务器762可以具有各种类型,例如且没有限制,web服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适合于执行本文描述的功能或过程的另一服务器、或者其任何组合。在特定实施例中,每个服务器762可以包括硬件、软件或嵌入式逻辑组件、或用于执行由服务器762实现或支持的适当功能的两个或更多个这样的组件的组合。在特定实施例中,社交网络系统760可以包括一个或更多个数据储存器764。数据储存器764可以用于存储各种类型的信息。在特定实施例中,可以根据特定的数据结构来组织存储在数据储存器764中的信息。在特定实施例中,每个数据储存器764可以是关系数据库、纵列(columnar)数据库、相关性数据库或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开设想了任何合适类型的数据库。特定实施例可以提供使客户端系统730、社交网络系统760或第三方系统770能够管理、检索、修改、添加或删除存储在数据储存器764中的信息的接口。
在特定实施例中,社交网络系统760可以在一个或更多个数据储存器764中存储一个或更多个社交图。在特定实施例中,社交图可以包括多个节点——其可以包括多个用户节点(各自对应于特定用户)或多个概念节点(各自对应于特定概念)——以及连接节点的多条边。社交网络系统760可以向在线社交网络的用户提供与其他用户通信和互动的能力。在特定实施例中,用户可以经由社交网络系统760加入在线社交网络,且然后将关连(例如,关系)添加到社交网络系统760中的他们想要关连到的多个其他用户。在本文,术语“朋友”可以指社交网络系统760的任何其他用户,用户经由社交网络系统760与任何其他用户形成关连(connection)、关联(association)或关系。
在特定实施例中,社交网络系统760可以向用户提供对由社交网络系统760支持的各种类型的项目或对象采取动作的能力。作为示例而不是作为限制,项目和对象可以包括社交网络系统760的用户可以属于的组或社交网络、用户可能感兴趣的事件或日历条目、用户可以使用的基于计算机的应用、允许用户经由服务来购买或销售商品的交易、用户可以执行的与广告的互动、或其他合适的项目或对象。用户可以与能够在社交网络系统760中或者由第三方系统770的外部系统表示的任何事物进行互动,第三方系统770与社交网络系统760分离并且经由网络710耦合到社交网络系统760。
在特定实施例中,社交网络系统760能够链接各种实体。作为示例而不是作为限制,社交网络系统760可以使用户能够彼此互动以及从第三方系统770或其他实体接收内容,或者允许用户通过应用编程接口(API)或其他通信渠道与这些实体互动。
在特定实施例中,第三方系统770可以包括一种或更多种类型的服务器、一个或更多个数据储存器、一个或更多个接口(包括但不限于API)、一个或更多个web服务、一个或更多个内容源、一个或更多个网络或任何其他合适的部件(例如,服务器可以与这些部件通信)。第三方系统770可以由与操作社交网络系统760的实体不同的实体进行操作。然而,在特定实施例中,社交网络系统760和第三方系统770可以结合彼此来操作以向社交网络系统760或第三方系统770的用户提供社交网络服务。在这个意义上,社交网络系统760可以提供平台或骨干网,其他系统(例如第三方系统770)可以使用该平台或骨干网来在整个互联网上向用户提供社交网络服务和功能。
在特定实施例中,第三方系统770可以包括第三方内容对象提供者。第三方内容对象提供者可以包括可以被传递到客户端系统730的内容对象的一个或更多个源。作为示例而不是作为限制,诸如,内容对象可以包括关于用户感兴趣的事情或活动的信息,例如电影放映时间、电影评论、餐馆评论、餐馆菜单、产品信息和评论或其他合适的信息。作为另一示例而不是作为限制,内容对象可以包括激励内容对象(例如优惠券、折扣券、礼品券或其他合适的激励对象)。
在特定实施例中,社交网络系统760还包括用户生成的内容对象,其可以增强用户与社交网络系统760的互动。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统760的任何内容。作为示例而不是作为限制,用户将帖子从客户端系统730传送到社交网络系统760。帖子可以包括数据,例如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐或其他类似数据或媒体。内容还可以由第三方通过“通信渠道”(例如动态消息或流)来添加到社交网络系统760。
在特定实施例中,社交网络系统760可以包括各种服务器、子系统、程序、模块、日志和数据储存器。在特定实施例中,社交网络系统760可以包括下列项中的一项或更多项:web服务器、动作记录器、API请求服务器、相关性和排名引擎、内容对象分类器、通知控制器、动作日志、第三方内容对象暴露日志、推理模块、授权/隐私服务器、搜索模块、广告定位模块(advertisement-targeting module)、用户界面模块、用户简档储存器、关连储存器(connection store)、第三方内容储存器或位置储存器。社交网络系统760还可以包括合适的部件,例如网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台、其他合适的部件、或其任何合适的组合。在特定实施例中,社交网络系统760可以包括用于存储用户简档的一个或更多个用户简档储存器。用户简档可以包括例如,传记信息、人口统计信息、行为信息、社交信息或其他类型的描述性信息(例如工作经历、教育历史、爱好或偏好、兴趣、亲和力或位置)。兴趣信息可以包括与一个或更多个类别相关的兴趣。类别可以是一般的或特定的。作为示例而不是作为限制,如果用户“赞(like)”关于一种品牌的鞋的文章,该类别可以是品牌,或者“鞋”或“衣服”的一般类别。关连储存器可以用于存储关于用户的关连信息。关连信息可以指示具有相似或共同的工作经历、组成员资格、爱好、教育历史或者以任何方式相关或共享共同属性的用户。关连信息还可以包括在不同用户和内容(内部和外部)之间的用户定义的关连。web服务器可以用于经由网络710将社交网络系统760链接到一个或更多个客户端系统730或一个或更多个第三方系统770。web服务器可以包括邮件服务器或用于在社交网络系统760和一个或更多个客户端系统730之间接收并按规定路线发送消息的其他消息传送功能。API请求服务器可以允许第三方系统770通过调用一个或更多个API来访问来自社交网络系统760的信息。动作记录器可以用于从web服务器接收关于用户在社交网络系统760上或之外的动作的通信。结合动作日志,可以维护用户暴露于第三方内容对象的第三方内容对象日志。通知控制器可以向客户端系统730提供关于内容对象的信息。信息可以作为通知被推送到客户端系统730,或者信息可以响应于从客户端系统730接收的请求而从客户端系统730中被拉取。授权服务器可以用于实施社交网络系统760的用户的一个或更多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被分享。授权服务器可以例如通过设置适当的隐私设置来允许用户选择加入或选择退出使他们的动作由社交网络系统760记录或者与其他系统(例如,第三方系统770)分享。第三方内容对象储存器可以用于存储从第三方(例如第三方系统770)接收的内容对象。位置储存器可以用于存储从与用户相关联的客户端系统730接收的位置信息。广告定价模块可以组合社交信息、当前时间、位置信息或其他合适的信息以用通知的形式向用户提供相关广告。
社交图
图8示出了示例社交图800。在特定实施例中,社交网络系统760可以在一个或更多个数据储存器中存储一个或更多个社交图800。在特定实施例中,社交图800可以包括多个节点——其可以包括多个用户节点802或多个概念节点804——以及连接这些节点的多条边806。每个节点可以与唯一的实体(即,用户或概念)相关联,每个实体可以具有唯一的标识符(ID),例如唯一的号码或用户名。出于教导的目的,图8所示的示例社交图800以二维视觉地图表示被示出。在特定实施例中,社交网络系统760、客户端系统730或第三方系统770可以访问社交图800和相关社交图信息以用于合适的应用。社交图800的节点和边可以作为数据对象被存储在例如数据储存器(例如社交图数据库)中。这种数据储存器可以包括社交图800的节点或边的一个或更多个可搜索或可查询的索引。
在特定实施例中,用户节点802可以对应于社交网络系统760的用户。作为示例而不是作为限制,用户可以是与社交网络系统760或通过社交网络系统760互动或通信的个人(人类用户)、实体(例如,企业、公司或第三方应用)或(例如,个人或实体的)团体。在特定实施例中,当用户向社交网络系统760注册账户时,社交网络系统760可以创建对应于用户的用户节点802,并将用户节点802存储在一个或更多个数据储存器中。本文描述的用户和用户节点802在适当的情况下可以指注册的用户和与注册的用户相关联的用户节点802。另外或作为备选方案,在适当的情况下,本文描述的用户和用户节点802可以指没有向社交网络系统760注册的用户。在特定实施例中,用户节点802可以与由用户提供的信息或由各种系统(包括社交网络系统760)收集的信息相关联。作为示例而不是作为限制,用户可以提供他或她的姓名、简档图片、联系信息、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、偏好、兴趣或其他人口统计信息。在特定实施例中,用户节点802可以与对应于与用户相关联的信息的一个或更多个数据对象相关联。在特定实施例中,用户节点802可以对应于一个或更多个网页。
在特定实施例中,概念节点804可以对应于概念。作为示例而不是作为限制,概念可以对应于地点(例如,电影院、餐馆、地标或城市);网站(例如,与社交网络系统760相关联的网站或与web应用服务器相关联的第三方网站);实体(例如,个人、企业、团体、运动队或名人);资源(例如,音频文件、视频文件、数字照片、文本文件、结构化文档或应用),其可以位于社交网络系统760内或外部服务器(例如web应用服务器)上;不动产或知识产权(例如,雕塑、绘画、电影、游戏、歌曲、想法、照片或书面作品);游戏;活动;想法或理论;在增强/虚拟现实环境中的对象;另一个合适的概念;或者两个或更多个这样的概念。概念节点804可以与由用户提供的概念的信息或由各种系统(包括社交网络系统760)收集的信息相关联。作为示例而不是作为限制,概念的信息可以包括名称或标题;一个或更多个图像(例如,书籍的封面的图像);位置(例如,地址或地理位置);网站(其可以与URL相关联);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息;或者这样的信息的任何合适的组合。在特定实施例中,概念节点804可以与一个或更多个数据对象相关联,该一个或更多个数据对象对应于与概念节点804相关联的信息。在特定实施例中,概念节点804可以对应于一个或更多个网页。
在特定实施例中,社交图800中的节点可以表示网页(其可以被称为“简档页面”)或者由网页表示。简档页面可以由社交网络系统760托管或是社交网络系统760可访问的。简档页面也可以在与第三方系统770相关联的第三方网站上被托管。作为示例而不是作为限制,对应于特定外部网页的简档页面可以是特定外部网页,并且简档页面可以对应于特定概念节点804。简档页面可以由其他用户的全部或选定子集可查看。作为示例而不是作为限制,用户节点802可以具有相应的用户简档页面,其中相应的用户可以添加内容、作出声明或以其他方式表达他或她自己。作为另一示例而不是作为限制,概念节点804可以具有对应的概念简档页面,其中一个或更多个用户可以添加内容、作出声明或表达他们自己,特别是关于对应于概念节点804的概念。
在特定实施例中,概念节点804可以表示由第三方系统770托管的第三方网页或资源。第三方网页或资源可以包括表示动作或活动的内容、可选择的图标或其他图标或其他可交互对象(其可以例如用JavaScript、AJAX或PHP代码实现)、以及其他元素。作为示例而不是作为限制,第三方网页可以包括可选择的图标(例如“赞”、“签到(check-in)”、“吃”、“推荐”)或其他合适的动作或活动。查看第三方网页的用户可以通过选择图标之一(例如,“签到”)来执行动作,使得客户端系统730向社交网络系统760发送指示用户动作的消息。响应于该消息,社交网络系统760可以在对应于用户的用户节点802和对应于第三方网页或资源的概念节点804之间创建边(例如,签到类型边),并将边806存储在一个或更多个数据储存器中。
在特定实施例中,社交图800中的一对节点可以通过一条或更多条边806连接到彼此。连接一对节点的边806可以表示在该对节点之间的关系。在特定实施例中,边806可以包括或表示对应于在一对节点之间的关系的一个或更多个数据对象或属性。作为示例而不是作为限制,第一用户可以指示第二用户是第一用户的“朋友”。响应于该指示,社交网络系统760可以向第二用户发送“朋友请求”。如果第二用户确认“朋友请求”,则社交网络系统760可以在社交图800中创建将第一用户的用户节点802连接到第二用户的用户节点802的边806,并将边806作为社交图信息存储在一个或更多个数据储存器764中。在图8的示例中,社交图800包括指示在用户“A”和用户“B”的用户节点802之间的朋友关系的边806,以及指示在用户“C”和用户“B”的用户节点802之间的朋友关系的边。尽管本公开描述或示出了连接特定用户节点802的具有特定属性的特定边806,但是本公开设想了连接用户节点802的具有任何适当属性的任何适当边806。作为示例而不是作为限制,边806可以表示友谊、家庭关系、商业或雇佣关系、粉丝关系(包括例如,赞等)、关注者(follower)关系、访问者关系(包括例如,访问、查看、签到、分享等)、订购者关系、上级/下级关系、互惠关系、非互惠关系、另一种合适类型的关系、或两种或更多种这样的关系。此外,尽管本公开一般将节点描述为被关连,但是本公开也将用户或概念描述为被关连。在本文,对被连接的用户或概念的引用在适当的情况下可以指在社交图800中由一条或更多条边806连接的对应于那些用户或概念的节点。分别由两个节点表示的两个对象之间的分离度(degree of separation)是连接社交图800中的两个节点的最短路径中的边数。作为示例而非限制,在社交图800中,用户“C”的用户节点802经由多条路径连接到用户“A”的用户节点802,例如,直接通过用户“B”的用户节点802的第一路径,通过公司“Acme”的概念节点804和用户“D”的用户节点802的第二路径,以及通过代表学校“斯坦福”、用户“G”、公司“Acme”和用户“D”的用户节点802和概念节点804的第三路径。用户“C”和用户“A”具有2的分离度,因为连接它们相应节点的最短路径(即,第一路径)包括两条边806。
在特定实施例中,在用户节点802和概念节点804之间的边806可以表示由与用户节点802相关联的用户对与概念节点804相关联的概念执行的特定动作或活动。作为示例而不是作为限制,如图8所示,用户可以“赞”、“出席”、“播放”、“收听”、“烹饪”、“工作于”或“观看”概念,其中每个可以对应于边类型或子类型。对应于概念节点804的概念简档页面可以包括例如可选择的“签到”图标(例如,可点击的“签到”图标)或可选择的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,社交网络系统760可以响应于对应于相应动作的用户动作来创建“收藏夹”边或“签到”边。作为另一示例而不是作为限制,用户(用户“C”)可以使用特定的应用(声田(SPOTIFY),其为在线音乐应用)来收听特定的歌曲(“想象(Imagine)”)。在这种情况下,社交网络系统760可以在对应于用户的用户节点802和对应于歌曲和应用的概念节点804之间创建“收听”边806和“使用”边(如图8所示),以指示用户收听了歌曲并使用了应用。此外,社交网络系统760可以在对应于该歌曲和该应用的概念节点804之间创建“播放”边806(如图8所示),以指示该特定歌曲由特定应用播放。在这种情况下,“播放”边806对应于由外部应用(声田)对外部音频文件(歌曲“想象”)执行的动作。尽管本公开描述了连接用户节点802和概念节点804的具有特定属性的特定边806,但是本公开设想了连接用户节点802和概念节点804的具有任何适当属性的任何适当边806。此外,尽管本公开描述了表示单一关系的在用户节点802和概念节点804之间的边,但是本公开设想了表示一个或更多个关系的在用户节点802和概念节点804之间的边。作为示例而不是作为限制,边806可以表示用户喜欢并使用了特定概念。替代地,另一条边806可以表示用户节点802和概念节点804之间(如图8中所示,用户“E”的用户节点802和“声田”的概念节点804之间)的每种类型的关系(或者多个单一关系)。
在特定实施例中,社交网络系统760可以在社交图800中的用户节点802和概念节点804之间创建边806。作为示例而不是作为限制,(例如,通过使用由用户的客户端系统730托管的web浏览器或专用应用)查看概念简档页面的用户可以通过点击或选择“赞”图标来指示他或她喜欢由概念节点804表示的概念,这可以使用户的客户端系统730向社交网络系统760发送指示用户喜欢与概念简档页面相关联的概念的消息。响应于该消息,社交网络系统760可以在与用户相关联的用户节点802和概念节点804之间创建边806,如由在用户节点和概念节点804之间的“赞”边806所示的。在特定实施例中,社交网络系统760可以将边806存储在一个或更多个数据储存器中。在特定实施例中,边806可以由社交网络系统760响应于特定用户动作而自动形成。作为示例而不是作为限制,如果第一用户上传图片、观看电影或收听歌曲,则可以在对应于第一用户的用户节点802和对应于那些概念的概念节点804之间形成边806。尽管本公开描述了以特定方式形成特定边806,但是本公开设想了以任何合适的方式形成任何合适的边806。
社交图亲和力和系数
在特定实施例中,社交网络系统760可以确定各种社交图实体对于彼此的社交图亲和力(在本文可以称为“亲和力”)。亲和力可以表示在与线社交网络关联的特定对象(诸如用户、概念、内容、动作、广告)、与在线社交网络关联的其他对象、或其任何合适的组合之间的关系强度或感兴趣程度。还可以针对与第三方系统770或其他合适的系统相关联的对象来确定亲和力。可以为每个用户、主题或内容类型建立对社交图实体的总体亲和力。基于对与社交图实体相关联的动作或关系的持续监控,总体亲和力可以改变。尽管本公开描述了以特定方式确定特定亲和力,但是本公开设想了以任何合适的方式确定任何合适的亲和力。
在特定实施例中,社交网络系统760可以使用亲和力系数(在本文可以称为“系数”)来度量或量化社交图亲和力。系数可以表示或量化与在线社交网络相关联的特定对象之间的关系强度。系数还可以表示基于用户对特定动作的兴趣来度量用户将执行该动作的预测概率的概率或函数。以这种方式,可以基于用户的先前动作来预测用户的未来动作,其中可以至少部分地基于用户的动作的历史来计算系数。系数可以用于预测可位于在线社交网络内部或外部的任何数量的动作。作为示例而不是作为限制,这些动作可以包括各种类型的通信,例如发送消息、发布内容或对内容进行评论;各种类型的观察动作(例如访问或查看简档页面、媒体或其他合适的内容);关于两个或更多个社交图实体的各种类型的一致性信息(例如在同一群组中、在同一照片中被标记、在同一位置处签到或参加同一事件);或其他合适的动作。尽管本公开描述了以特定方式度量亲和力,但是本公开设想了以任何合适的方式度量亲和力。
在特定实施例中,社交网络系统760可以使用各种因素来计算系数。这些因素可以包括例如,用户动作、对象之间的关系类型、位置信息、其他合适的因素或其任意组合。在特定实施例中,当计算系数时,不同的因素可以被不同地加权。每个因素的权重可以是静态的,或者可以根据例如用户、关系类型、动作类型、用户的位置等来改变权重。可以根据因素的权重来组合这些因素的等级(rating),以确定用户的总系数。作为示例而不是作为限制,特定用户动作可以被分配等级和权重,而与特定用户动作相关联的关系被分配等级和相关权重(例如,因此权重总计为100%)。为了计算用户对特定对象的系数,分配给用户动作的等级可以包括例如,总系数的60%,而用户和该对象之间的关系可以包括总系数的40%。在特定实施例中,当确定用于计算系数的各种因素的权重时,社交网络系统760可以考虑各种变量,例如自信息被访问以来的时间、衰减因子、访问的频率、与信息的关系或与信息被访问了的对象的关系、与连接到对象的社交图实体的关系、用户动作的短期或长期平均值、用户反馈、其他合适的变量、或它们的任意组合。作为示例而不是作为限制,系数可以包括衰减因子,该衰减因子导致由特定动作提供的信号强度随时间衰减,使得在计算系数时更近的(more recent)动作更相关。等级和权重可以基于系数所基于的动作的持续跟踪而被持续更新。可以采用任何类型的过程或算法来对每个因素的等级和分配给这些因素的权重进行分配、组合、求平均等。在特定实施例中,社交网络系统760可以使用根据历史动作和过去的用户响应训练的机器学习算法,或者通过将用户暴露于各种选项并测量响应而从用户获得的数据,来确定系数。尽管本公开描述了以特定方式计算系数,但是本公开设想了以任何合适的方式计算系数。
在特定实施例中,社交网络系统760可以基于用户的动作来计算系数。社交网络系统760可以监控在线社交网络上、第三方系统770上、其他合适的系统上、或它们的任意组合上的这样的动作。可以跟踪或监控任何合适类型的用户动作。典型的用户操作包括查看简档页面、创建或发布内容、与内容交互、在图像中标记或被标记在图像中、加入群组、列出并确认事件出席情况、在不同地点签到、点赞特定页面、创建页面以及执行有助于社交动作的其他任务。在特定实施例中,社交网络系统760可以基于用户对特定类型内容的动作来计算系数。内容可以与在线社交网络、第三方系统770或另一合适的系统相关联。内容可以包括用户简档页面、帖子、新闻动态(news stories)、标题、即时消息、聊天室会话、电子邮件、广告、图片、视频、音乐、其他合适的对象或其任意组合。社交网络系统760可以分析用户的动作,以确定这些动作中的一个或更多个是否指示对主题、内容、其他用户等的亲和力。作为示例而不是作为限制,如果用户频繁发布与“咖啡”或其变型相关的内容,则社交网络系统760可以确定用户相对于概念“咖啡”具有高的系数。特定动作或动作类型可以被分配比其他动作更高的权重和/或等级,这可能影响计算的总系数。作为示例而不是作为限制,如果第一用户向第二用户发送电子邮件,则该动作的权重或等级可能高于第一用户简单地查看第二用户的用户简档页面的情况。
在特定实施例中,社交网络系统760可以基于特定对象之间的关系的类型来计算系数。参考社交图800,当计算系数时,社交网络系统760可以分析连接特定用户节点802和概念节点804的边806的数量和/或类型。作为示例而不是作为限制,通过配偶型边(表示两个用户结婚了)连接的用户节点802可以被分配比通过朋友型边连接的用户节点802更高的系数。换句话说,根据分配给特定用户的动作和关系的权重,可以确定对于关于用户的配偶的内容的总体亲和力比对于关于用户的朋友的内容的总体亲和力更高。在特定实施例中,用户与另一对象的关系可以影响关于计算该对象的系数的用户动作的权重和/或等级。作为示例而不是作为限制,如果用户在第一张照片中被标记,但仅仅赞第二张照片,则社交网络系统760可以确定用户关于第一张照片具有比第二张照片更高的系数,因为具有与内容的标记型(tagged-in-type)关系可以被分配比具有与内容的点赞型(like-type)关系更高的权重和/或等级。在特定实施例中,社交网络系统760可以基于一个或更多个第二用户与特定对象所具有的关系来计算第一用户的系数。换句话说,其他用户与对象的关连和系数可能影响第一用户关于该对象的系数。作为示例而不是作为限制,如果第一用户关连到一个或更多个第二用户或者对于一个或更多个第二用户具有高的系数,并且那些第二用户关连到特定对象或者对于特定对象具有高的系数,则社交网络系统760可以确定第一用户对于该特定对象同样应该具有相对高的系数。在特定实施例中,系数可以基于特定对象之间的分离度。较低的系数可以表示第一用户将分享对在社交图800中间接地关连到第一用户的用户的内容对象有兴趣的可能性降低。作为示例而不是作为限制,在社交图800中更靠近(即,分离度更少)的社交图实体可以比在社交图800中更远离的实体具有更高的系数。
在特定实施例中,社交网络系统760可以基于位置信息来计算系数。在地理上彼此更靠近的对象可以被认为比更远的对象彼此更相关或更感兴趣。在特定实施例中,用户对特定对象的系数可以基于对象的位置与和用户相关联的当前位置(或用户的客户端系统730的位置)的接近度。第一用户可能对更靠近第一用户的其他用户或概念更感兴趣。作为示例而不是作为限制,如果用户距机场一英里且距加油站两英里,则社交网络系统760可以基于机场与用户的接近度来确定用户对机场具有比加油站更高的系数。
在特定实施例中,社交网络系统760可以基于系数信息来执行关于用户的特定动作。系数可以用于基于用户对特定动作的兴趣来预测用户是否将执行该动作。当生成或向用户呈现任何类型的对象(例如广告、搜索结果、新闻动态、媒体、消息、通知或其他合适的对象)时,可以使用系数。该系数也可以被用来适当地对这些对象进行排名(rank)和排序(order)。以这种方式,社交网络系统760可以提供与用户的兴趣和当前环境相关的信息,增加了他们将找到这样的感兴趣的信息的可能性。在特定实施例中,社交网络系统760可以基于系数信息来生成内容。可以基于特定于用户的系数来提供或选择内容对象。作为示例而不是作为限制,系数可以用于为用户生成媒体,其中可以向用户呈现用户关于媒体对象具有高的总系数的媒体。作为另一示例而不是作为限制,该系数可以用于为用户生成广告,其中可以向用户呈现其关于广告对象具有高总体系数的广告。在特定实施例中,社交网络系统760可以基于系数信息来生成搜索结果。可以基于与查询用户的搜索结果相关联的系数来对特定用户的搜索结果进行评分或排名。作为示例而不是作为限制,对应于具有较高系数的对象的搜索结果在搜索结果页面上的排名可以高于对应于具有较低系数的对象的结果。
在特定实施例中,社交网络系统760可以响应于来自特定系统或过程的系数请求来计算系数。为了预测用户在给定情况下可能采取动作(或者可能是动作的对象)的可能性,任何过程都可以请求关于用户的计算出的系数。请求还可以包括用于计算系数的各种因素使用的一组权重。该请求可以来自在线社交网络上运行的进程(process)、来自第三方系统770(例如,经由API或其他通信渠道)、或者来自另一个合适的系统。响应于该请求,社交网络系统760可以计算系数(或者如果先前已经计算并存储了系数信息,则访问系数信息)。在特定实施例中,社交网络系统760可以度量关于特定过程的亲和力。不同的过程(在线社交网络的内部和外部)可以请求关于特定对象或对象集的系数。社交网络系统760可以提供与请求了亲和力的度量的特定过程相关的亲和力的度量。以这种方式,每个过程接收针对不同上下文调整的亲和力度量,其中该过程将使用亲和力度量。
结合社交图亲和力和亲和力系数,特定实施例可以利用在2006年8月11日提交的第11/503093号美国专利申请、2010年12月22日提交的第12/977027号美国专利申请、2010年12月23日提交的第12/978265号美国专利申请和2012年10月01日提交的第13/632869号美国专利申请(其中的每一个都通过引用并入)中公开的一个或更多个系统、组件、元件、功能、方法、操作或步骤。
隐私
在特定实施例中,在线社交网络的一个或更多个内容对象可以与隐私设置相关联。例如,对象的隐私设置(或“访问设置”)可以以任何合适的方式(诸如与对象相关联地、在授权服务器上用索引、以另一种合适的方式、或其任何组合)被存储。对象的隐私设置可以指定可以如何使用在线社交网络来访问(例如查看或分享)对象(或与对象相关联的特定信息)。在对象的隐私设置允许特定用户访问该对象的场合,该对象可以被描述为相对于该用户是“可见的”。作为示例而不是作为限制,在线社交网络的用户可以为用户简档页面指定隐私设置,即识别可以访问在用户简档页面上的工作经历信息的一组用户,因而排除其他用户访问该信息。在特定实施例中,隐私设置可以指定不应当被允许访问与对象相关联的某些信息的用户的“黑名单”。换句话说,黑名单可以指定一个或更多个用户或实体,对于该用户或实体来说,对象是不可见的。作为示例而不是作为限制,用户可以指定可以不访问与用户相关联的相册的一组用户,因而排除那些用户访问相册(同时也可能允许不在该组用户内的某些用户访问相册)。在特定实施例中,隐私设置可以与特定社交图元素相关联。社交图元素的隐私设置(诸如节点或边)可以指定可以如何使用在线社交网络来访问社交图元素、与社交图元素相关联的信息或与社交图元素相关联的内容对象。作为示例而不是作为限制,对应于特定照片的特定概念节点804可以具有指定照片只能由在照片中标记的用户及他们的朋友访问的隐私设置。在特定实施例中,隐私设置可以允许用户决定加入或决定退出使他们的行动由社交网络系统760记录或者与其他系统(例如,第三方系统770)分享。在特定实施例中,与对象相关联的隐私设置可以指定被允许的访问或访问的拒绝的任何合适的粒度。作为示例而不是作为限制,可以为特定用户(例如,只有我、我的室友和我的老板)、在特定分离度内的用户(例如,朋友或朋友的朋友)、用户团体(例如,游戏俱乐部、我的家庭)、用户网络(例如,特定雇主的雇员、特定大学的学生或校友)、所有用户(“公众”)、无用户(“私人的”)、第三方系统770的用户、特定应用(例如,第三方应用、外部网站)、其他适当的用户或实体、或其任何组合来指定访问或访问的拒绝。尽管本公开描述了以特定方式使用特定隐私设置,但是本公开设想以任何合适的方式使用任何合适的隐私设置。
在特定实施例中,一个或更多个服务器762可以是用于实施隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)的对存储在数据储存器764中的特定对象的请求,社交网络系统760可以向数据储存器764发送对该对象的请求。该请求可以识别与该请求相关联的用户,并且只有在授权服务器基于与该对象相关联的隐私设置确定该用户被授权访问该对象时才可以被发送到该用户(或者该用户的客户端系统730)。如果请求用户未被授权访问该对象,则授权服务器可以阻止所请求的对象从数据储存器764中被检索,或者可以阻止所请求的对象被发送给用户。在搜索查询上下文中,只有在查询用户被授权访问对象时才可以生成该对象作为搜索结果。换句话说,对象必须具有对查询用户可见的可见性。如果对象具有对用户不可见的可见度,则该对象可能从搜索结果被排除。尽管本公开描述了以特定方式实施隐私设置,但是本公开设想了以任何合适的方式实施隐私设置。
系统和方法
图9示出了示例计算机系统900。在特定实施例中,一个或更多个计算机系统900执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统900提供本文描述或示出的功能。在特定实施例中,在一个或更多个计算机系统900上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤,或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统900的一个或更多个部分。在本文,在适当的情况下,对计算机系统的引用可以包括计算设备,反之亦然。此外,在适当的情况下,对计算机系统的引用可以包括一个或更多个计算机系统。
本公开设想了任何合适数量的计算机系统900。本公开设想了计算机系统900采取任何合适的物理形式。作为示例而不是作为限制,计算机系统900可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(例如,模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式信息亭、大型机、计算机系统网状网、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、增强/虚拟现实设备、或者这些系统的两个或更多个的组合。在适当的情况下,计算机系统900可以包括一个或更多个计算机系统900;是整体式的或分布式的;跨越多个位置;跨越多台机器;跨越多个数据中心;或者驻留在云中,云可以包括在一个或更多个网络中的一个或更多个云组件。在适当的情况下,一个或更多个计算机系统900可以在没有实质性空间或时间限制的情况下执行本文描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而不是作为限制,一个或更多个计算机系统900可以实时地或以批处理模式来执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当的情况下,一个或更多个计算机系统900可以在不同的时间或在不同的位置处执行本文描述或示出的一个或更多个方法的一个或更多个步骤。
在特定实施例中,计算机系统900包括处理器902、存储器904、存储装置906、输入/输出(I/O)接口908、通信接口910和总线912。尽管本公开描述并示出了具有在特定布置中的特定数量的特定组件的特定计算机系统,但是本公开设想了具有在任何合适布置中的任何合适数量的任何合适组件的任何合适的计算机系统。
在特定实施例中,处理器902包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器902可以从内部寄存器、内部高速缓存、存储器904或存储装置906中检索(或取回)指令;将他们解码并执行它们;以及然后将一个或更多个结果写到内部寄存器、内部高速缓存、存储器904或存储装置906。在特定实施例中,处理器902可以包括用于数据、指令或地址的一个或更多个内部高速缓存。在适当的情况下,本公开设想了处理器902包括任何合适数量的任何合适的内部高速缓存。作为示例而不是作为限制,处理器902可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存、以及一个或更多个转译后备缓冲器(TLB)。在指令高速缓存中的指令可以是在存储器904或存储装置906中的指令的副本,并且指令高速缓存可以加速处理器902对那些指令的检索。在数据高速缓存中的数据可以是:在存储器904或存储装置906中的数据的副本,用于使在处理器902处执行的指令进行操作;在处理器902处执行的先前指令的结果,用于由在处理器902处执行的后续指令访问或者用于写到存储器904或存储装置906;或其他合适的数据。数据高速缓存可以加速由处理器902进行的读或写操作。TLB可以加速关于处理器902的虚拟地址转译。在特定实施例中,处理器902可以包括用于数据、指令或地址的一个或更多个内部寄存器。在适当的情况下,本公开设想了处理器902包括任何合适数量的任何合适的内部寄存器。在适当的情况下,处理器902可以包括一个或更多个算术逻辑单元(ALU);是多核处理器;或者包括一个或更多个处理器902。尽管本公开描述并示出了特定的处理器,但是本公开设想了任何合适的处理器。
在特定实施例中,存储器904包括用于存储用于使处理器902执行的指令或用于使处理器902操作的数据的主存储器。作为示例而不是作为限制,计算机系统900可以将指令从存储装置906或另一个源(例如,另一个计算机系统900)加载到存储器904。处理器902然后可以将指令从存储器904加载到内部寄存器或内部高速缓存。为了执行指令,处理器902可以从内部寄存器或内部高速缓存中检索指令并将它们解码。在指令的执行期间或之后,处理器902可以将一个或更多个结果(其可以是中间结果或最终结果)写到内部寄存器或内部高速缓存。处理器902然后可以将这些结果中的一个或更多个写到存储器904。在特定实施例中,处理器902仅执行在一个或更多个内部寄存器或内部高速缓存中或在存储器904(而不是存储装置906或其他地方)中的指令,并且仅对在一个或更多个内部寄存器或内部高速缓存中或在存储器904(而不是存储装置906或其他地方)中的数据进行操作。一个或更多个存储器总线(其可以各自包括地址总线和数据总线)可以将处理器902耦合到存储器904。如下所述,总线912可以包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(MMU)驻留在处理器902和存储器904之间,并且便于由处理器902请求的对存储器904的访问。在特定实施例中,存储器904包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口RAM或多端口RAM。本公开设想了任何合适的RAM。在适当的情况下,存储器904可以包括一个或更多个存储器904。尽管本公开描述并示出了特定的存储器,但是本公开设想了任何合适的存储器。
在特定实施例中,存储装置906包括用于数据或指令的大容量存储装置。作为示例而不是作为限制,存储装置906可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器、或这些中的两个或更多个的组合。在适当的情况下,存储装置906可以包括可移动或不可移动(或固定)介质。在适当的情况下,存储装置906可以在计算机系统900的内部或外部。在特定实施例中,存储装置906是非易失性固态存储器。在特定实施例中,存储装置906包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可变ROM(EAROM)、或闪存、或这些中的两个或更多个的组合。本公开设想了采用任何合适的物理形式的大容量存储装置906。在适当的情况下,存储装置906可以包括便于在处理器902和存储装置906之间的通信的一个或更多个存储装置控制单元。在适当的情况下,存储装置906可以包括一个或更多个存储装置906。尽管本公开描述并示出了特定的存储装置,但是本公开设想了任何合适的存储装置。
在特定实施例中,I/O接口908包括为在计算机系统900和一个或更多个I/O设备之间的通信提供一个或更多个接口的硬件、软件或两者。在适当的情况下,计算机系统900可以包括这些I/O设备中的一个或更多个。这些I/O设备中的一个或更多个可以实现在人和计算机系统900之间的通信。作为示例而不是作为限制,I/O设备可以包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态照相机、触笔、平板计算机、触摸屏、跟踪球、摄像机、另一个合适的I/O设备、或这些中的两个或更多个的组合。I/O设备可以包括一个或更多个传感器。本公开设想了任何合适的I/O设备以及用于它们的任何合适的I/O接口908。在适当的情况下,I/O接口908可以包括使处理器902能够驱动这些I/O设备中的一个或更多个的一个或更多个设备或软件驱动器。在适当的情况下,I/O接口908可以包括一个或更多个I/O接口908。尽管本公开描述并示出了特定的I/O接口,但是本公开设想了任何合适的I/O接口。
在特定实施例中,通信接口910包括提供用于在计算机系统900和一个或更多个其他计算机系统900或一个或更多个网络之间的通信(例如,基于包的通信)的一个或更多个接口的硬件、软件或两者。作为示例而不是作为限制,通信接口910可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络(例如Wi-Fi网络)进行通信的无线NIC(WNIC)或无线适配器。本公开设想了任何合适的网络和用于它的任何合适的通信接口910。作为示例而不是作为限制,计算机系统900可以与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或互联网的一个或更多个部分、或这些中的两个或更多个的组合进行通信。这些网络中的一个或更多个的一个或更多个部分可以是有线的或无线的。作为示例,计算机系统900可以与无线PAN(WPAN)(例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(GSM)网络)、或其他合适的无线网络、或这些中的两个或更多个的组合进行通信。在适当的情况下,计算机系统900可以包括用于这些网络中的任一个的任何合适的通信接口910。在适当的情况下,通信接口910可以包括一个或更多个通信接口910。尽管本公开描述并示出了特定的通信接口,但是本公开设想了任何合适的通信接口。
在特定实施例中,总线912包括将计算机系统900的组件耦合到彼此的硬件、软件或两者。作为示例而不是作为限制,总线912可以包括加速图形端口(AGP)或其他图形总线、扩展工业标准体系结构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT)互连、工业标准体系结构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线、微通道体系结构(MCA)总线、外围部件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或另一种合适的总线、或这些中的两个或更多个的组合。在适当的情况下,总线912可以包括一条或更多条总线912。尽管本公开描述并示出了特定总线,但是本公开设想了任何合适的总线或互连。
在本文,在适当的情况下,一个或更多个计算机可读非暂时性存储介质可以包括一个或更多个基于半导体的或其他集成电路(IC)(例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字(SECURE DIGITAL)卡或驱动器、任何其他合适的计算机可读非暂时性存储介质、或这些中的两个或更多个的任何合适组合。在适当的情况下,计算机可读非暂时性存储介质可以是易失性的、非易失性的或者易失性和非易失性的组合。
本文中,除非另有明确指示或通过上下文另有指示,否则“或”是包括一切的而非排他性的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A或B”意指“A、B或两者”。此外,除非另有明确指示或通过上下文另有指示,否则“和”既是联合的又是各自的。因此在本文,除非另有明确指示或通过上下文另有指示,否则“A和B”意指“A和B,联合地或各自地”。
本公开的范围包括本领域中的普通技术人员将理解的对本文描述或示出的示例实施例的所有改变、替换、变化、变更和修改。本公开的范围不限于本文描述或示出的示例实施例。此外,尽管本公开将本文的相应实施例描述并示为包括特定的组件、元件、特征、功能、操作或步骤,但是这些实施例中的任何一个可以包括本领域中的普通技术人员将理解的在本文任何地方描述或示出的任何组件、元件、特征、功能、操作或步骤的任何组合或置换。此外,在所附权利要求中对适合于、被布置成、能够、被配置成、实现来、可操作来、或操作来执行特定功能的装置或系统或装置或系统的组件的引用包括该装置、系统、组件,无论它或那个特定功能是否被激活、开启或解锁,只要该装置、系统或组件是这样被调整、被布置、使能够、被配置、被实现、可操作的、或操作的。此外,尽管本公开将特定实施例描述或示为提供特定优点,但是特定实施例可以提供这些优点中的一些、全部或不提供这些优点。

Claims (34)

1.一种方法,包括由服务器:
从客户端计算设备接收一个或更多个深度学习(DL)特征表示和一个或更多个局部特征描述符,其中,所述DL特征表示和所述局部特征描述符是从现实世界环境的第一图像中提取的,所述第一图像包括现实世界对象的第一描绘;
基于所接收的一个或更多个DL特征表示与多个存储的DL特征表示的比较,识别一组潜在匹配的DL特征表示,所述多个存储的DL特征表示与多个增强现实(AR)目标相关联;
基于所接收的一个或更多个局部特征描述符与存储的局部特征描述符的比较,从与所述一组潜在匹配的DL特征表示相关联的一组潜在匹配的AR目标中确定匹配的AR目标,所述存储的局部特征描述符与所述一组潜在匹配的AR目标相关联,其中,所述存储的局部特征描述符是从所述一组潜在匹配的AR目标中提取的;以及
向所述客户端计算设备发送被配置为呈现与所确定的匹配的AR目标相关联的AR效果的信息。
2.根据权利要求1所述的方法,其中,所述一个或更多个DL特征表示在所述客户端计算设备处通过以下方式被提取:
访问所述第一图像;
由第一机器学习模型生成与所述第一图像相关联的初始特征地图;
识别所述初始特征地图内的一个或更多个提议的感兴趣区域;
从所述一个或更多个提议的感兴趣区域中选择一个或更多个可能的感兴趣区域,其中,每个感兴趣区域与至少第一现实世界对象类型相关联,并且其中,所述可能的感兴趣区域中的一个与所述第一图像中对应于所述现实世界对象的所述第一描绘的部分相关联;以及
从可能的感兴趣区域中提取所述一个或更多个DL特征表示,其中,每个提取的DL特征表示是第二机器学习模型的输出,所述第二机器学习模型被训练成至少检测所述第一现实世界对象类型的对象。
3.根据权利要求2所述的方法,其中,所述一个或更多个局部特征描述符在所述客户端计算设备处通过以下方式被提取:
从所述第一图像中的与所述可能的感兴趣区域中的一个相关联的部分中提取与一个或更多个检测到的感兴趣点相关联的一个或更多个局部特征描述符,其中,每个局部特征描述符是基于与所述第一图像内的空间有界图块相关联的信息生成的,所述空间有界图块包括相应检测到的感兴趣点。
4.根据权利要求2所述的方法,其中,选择所述可能的感兴趣区域包括:
基于第三机器学习模型为每个提议的感兴趣区域计算置信度分数;以及
选择置信度分数大于阈值置信度分数的一个或更多个提议的感兴趣区域作为可能的感兴趣区域。
5.根据权利要求2所述的方法,其中,所述第二机器学习模型是卷积神经网络,并且其中,每个提取的DL特征表示是所述卷积神经网络的平均池化层的输出。
6.根据权利要求2所述的方法,其中,所述存储的DL特征表示通过包括以下步骤的过程来确定:
传递包括所述现实世界对象的第二描绘的多个第二图像,其中,所述多个第二图像中的每一个包括所述现实世界对象的所述第一描绘的变化;以及
从所述多个第二图像的每一个中提取一个或更多个DL特征表示。
7.根据权利要求6所述的方法,还包括:
将从所述多个第二图像中提取的DL特征表示表示为向量表示;以及
基于相应的向量表示,将所述DL特征表示与相应的AR目标相关联。
8.根据权利要求6所述的方法,其中,所述多个第二图像中的一个或更多个是使用数据增强过程合成地生成的,所述数据增强过程自动改变所述第一图像中的一个或更多个条件以生成一个或更多个第二图像。
9.根据权利要求8所述的方法,其中,所述一个或更多个条件包括视角、取向、尺寸、位置和照明条件中的一个或更多个。
10.根据权利要求1所述的方法,其中,所接收的一个或更多个DL特征表示与所述多个存储的DL特征表示的比较包括最近邻搜索。
11.根据权利要求1所述的方法,其中,一个或更多个检测到的感兴趣点是在所述第一图像内检测到的拐角。
12.根据权利要求1所述的方法,其中,一个或更多个检测到的感兴趣点与所述第一图像内的所述现实世界对象相关联。
13.根据权利要求1所述的方法,其中,所述AR效果被锚定到所述现实世界对象,其中,所述现实世界对象被实时地连续跟踪。
14.根据权利要求13所述的方法,其中,所述AR效果被配置为基于所述客户端计算设备的位置和取向来缩放自身。
15.根据权利要求1所述的方法,其中,所述AR效果是滤镜效果。
16.根据权利要求1所述的方法,还包括:基于与所述客户端设备的用户相关联的信息,授权所述用户接收与所确定的匹配的AR目标相关联的所述AR效果。
17.根据权利要求16所述的方法,其中,与所述用户相关联的所述信息包括用户亲和力信息,其中,所述用户亲和力信息包括所述用户与所述AR效果之间的亲和力系数。
18.一个或更多个计算机可读非暂时性存储介质,其体现软件,所述软件在被执行时能够操作来:
从客户端计算设备接收一个或更多个深度学习(DL)特征表示和一个或更多个局部特征描述符,其中,所述DL特征表示和所述局部特征描述符是从现实世界环境的第一图像中提取的,所述第一图像包括现实世界对象的第一描绘;
基于所接收的一个或更多个DL特征表示与多个存储的DL特征表示的比较,识别一组潜在匹配的DL特征表示,所述多个存储的DL特征表示与多个增强现实(AR)目标相关联;
基于所接收的一个或更多个局部特征描述符与存储的局部特征描述符的比较,从与所述一组潜在匹配的DL特征表示相关联的一组潜在匹配的AR目标中确定匹配的AR目标,所述存储的局部特征描述符与所述一组潜在匹配的AR目标相关联,其中,所述存储的局部特征描述符是从所述一组潜在匹配的AR目标中提取的;以及
向所述客户端计算设备发送被配置为呈现与所确定的匹配的AR目标相关联的AR效果的信息。
19.根据权利要求18所述的介质,其中,所述一个或更多个DL特征表示在所述客户端计算设备处通过以下方式被提取:
访问所述第一图像;
由第一机器学习模型生成与所述第一图像相关联的初始特征地图;
识别所述初始特征地图内的一个或更多个提议的感兴趣区域;
从所述一个或更多个提议的感兴趣区域中选择一个或更多个可能的感兴趣区域,其中,每个感兴趣区域与至少第一现实世界对象类型相关联,并且其中,所述可能的感兴趣区域中的一个与所述第一图像中对应于所述现实世界对象的所述第一描绘的部分相关联;以及
从可能的感兴趣区域中提取所述一个或更多个DL特征表示,其中,每个提取的DL特征表示是第二机器学习模型的输出,所述第二机器学习模型被训练成至少检测所述第一现实世界对象类型的对象。
20.一种系统,包括:一个或更多个处理器;以及一个或更多个计算机可读非暂时性存储介质,所述一个或更多个计算机可读非暂时性存储介质耦合到所述一个或更多个处理器并包括指令,所述指令在由所述一个或更多个处理器执行时能够操作来使所述系统:
从客户端计算设备接收一个或更多个深度学习(DL)特征表示和一个或更多个局部特征描述符,其中,所述DL特征表示和所述局部特征描述符是从现实世界环境的第一图像中提取的,所述第一图像包括现实世界对象的第一描绘;
基于所接收的一个或更多个DL特征表示与多个存储的DL特征表示的比较,识别一组潜在匹配的DL特征表示,所述多个存储的DL特征表示与多个增强现实(AR)目标相关联;
基于所接收的一个或更多个局部特征描述符与存储的局部特征描述符的比较,从与所述一组潜在匹配的DL特征表示相关联的一组潜在匹配的AR目标中确定匹配的AR目标,所述存储的局部特征描述符与所述一组潜在匹配的AR目标相关联,其中,所述存储的局部特征描述符是从所述一组潜在匹配的AR目标中提取的;以及
向所述客户端计算设备发送被配置为呈现与所确定的匹配的AR目标相关联的AR效果的信息。
21.一种方法,包括由服务器:
从客户端计算设备接收一个或更多个深度学习(DL)特征表示和一个或更多个局部特征描述符,其中,所述DL特征表示和所述局部特征描述符是从现实世界环境的第一图像中提取的,所述第一图像包括现实世界对象的第一描绘;
基于所接收的一个或更多个DL特征表示与多个存储的DL特征表示的比较,识别一组潜在匹配的DL特征表示,所述多个存储的DL特征表示与多个增强现实(AR)目标相关联;
基于所接收的一个或更多个局部特征描述符与存储的局部特征描述符的比较,从与所述一组潜在匹配的DL特征表示相关联的一组潜在匹配的AR目标中确定匹配的AR目标,所述存储的局部特征描述符与所述一组潜在匹配的AR目标相关联,其中,所述存储的局部特征描述符是从所述一组潜在匹配的AR目标中提取的;以及
向所述客户端计算设备发送被配置为呈现与所确定的匹配的AR目标相关联的AR效果的信息。
22.根据权利要求21所述的方法,其中,所述一个或更多个DL特征表示在所述客户端计算设备处通过以下方式被提取:
访问所述第一图像;
由第一机器学习模型生成与所述第一图像相关联的初始特征地图;
识别所述初始特征地图内的一个或更多个提议的感兴趣区域;
从所述一个或更多个提议的感兴趣区域中选择一个或更多个可能的感兴趣区域,其中,每个感兴趣区域与至少第一现实世界对象类型相关联,并且其中,所述可能的感兴趣区域中的一个与所述第一图像中对应于所述现实世界对象的所述第一描绘的部分相关联;以及
从可能的感兴趣区域中提取所述一个或更多个DL特征表示,其中,每个提取的DL特征表示是第二机器学习模型的输出,所述第二机器学习模型被训练成至少检测所述第一现实世界对象类型的对象。
23.根据权利要求22所述的方法,其中,所述一个或更多个局部特征描述符在所述客户端计算设备处通过以下方式被提取:
从所述第一图像中的与所述可能的感兴趣区域中的一个相关联的部分中提取与一个或更多个检测到的感兴趣点相关联的一个或更多个局部特征描述符,其中,每个局部特征描述符是基于与所述第一图像内的空间有界图块相关联的信息生成的,所述空间有界图块包括相应检测到的感兴趣点。
24.权利要求22或23所述的方法,其中,选择所述可能的感兴趣区域包括:
基于第三机器学习模型为每个提议的感兴趣区域计算置信度分数;以及
选择置信度分数大于阈值置信度分数的一个或更多个提议的感兴趣区域作为可能的感兴趣区域。
25.根据权利要求22至24中任一项所述的方法,其中,所述第二机器学习模型是卷积神经网络,并且其中,每个提取的DL特征表示是所述卷积神经网络的平均池化层的输出。
26.根据权利要求22至25中任一项所述的方法,其中,所述存储的DL特征表示通过包括以下步骤的过程来确定:
传递包括所述现实世界对象的第二描绘的多个第二图像,其中,所述多个第二图像中的每一个包括所述现实世界对象的所述第一描绘的变化;以及
从所述多个第二图像的每一个中提取一个或更多个DL特征表示。
27.根据权利要求26所述的方法,还包括:
将从所述多个第二图像中提取的DL特征表示表示为向量表示;以及
基于相应的向量表示,将所述DL特征表示与相应的AR目标相关联;和/或
其中,所述多个第二图像中的一个或更多个是使用数据增强过程合成地生成的,所述数据增强过程自动改变所述第一图像中的一个或更多个条件以生成一个或更多个第二图像;
可选地,其中,所述一个或更多个条件包括视角、取向、尺寸、位置和照明条件中的一个或更多个。
28.根据权利要求21至27中任一项所述的方法,其中,所接收的一个或更多个DL特征表示与所述多个存储的DL特征表示的比较包括最近邻搜索。
29.根据权利要求21至28中任一项所述的方法,其中,一个或更多个检测到的感兴趣点是在所述第一图像内检测到的拐角;和/或
其中,一个或更多个检测到的感兴趣点与所述第一图像内的所述现实世界对象相关联。
30.根据权利要求21至29中任一项所述的方法,其中,所述AR效果被锚定到所述现实世界对象,其中,所述现实世界对象被实时地连续跟踪;和/或
其中,所述AR效果被配置为基于所述客户端计算设备的位置和取向来缩放自身;和/或
其中,所述AR效果是滤镜效果。
31.根据权利要求21至30中任一项所述的方法,还包括:基于与所述客户端设备的用户相关联的信息,授权所述用户接收与所确定的匹配的AR目标相关联的所述AR效果;
可选地,其中,与所述用户相关联的所述信息包括用户亲和力信息,其中,所述用户亲和力信息包括所述用户与所述AR效果之间的亲和力系数。
32.一个或更多个计算机可读非暂时性存储介质,其体现软件,所述软件在被执行时能够操作来执行根据权利要求21至31中任一项所述的方法,或者能够操作来:
从客户端计算设备接收一个或更多个深度学习(DL)特征表示和一个或更多个局部特征描述符,其中,所述DL特征表示和所述局部特征描述符是从现实世界环境的第一图像中提取的,所述第一图像包括现实世界对象的第一描绘;
基于所接收的一个或更多个DL特征表示与多个存储的DL特征表示的比较,识别一组潜在匹配的DL特征表示,所述多个存储的DL特征表示与多个增强现实(AR)目标相关联;
基于所接收的一个或更多个局部特征描述符与存储的局部特征描述符的比较,从与所述一组潜在匹配的DL特征表示相关联的一组潜在匹配的AR目标中确定匹配的AR目标,所述存储的局部特征描述符与所述一组潜在匹配的AR目标相关联,其中,所述存储的局部特征描述符是从所述一组潜在匹配的AR目标中提取的;以及
向所述客户端计算设备发送被配置为呈现与所确定的匹配的AR目标相关联的AR效果的信息。
33.根据权利要求32所述的介质,其中,所述一个或更多个DL特征表示在所述客户端计算设备处通过以下方式被提取:
访问所述第一图像;
由第一机器学习模型生成与所述第一图像相关联的初始特征地图;
识别所述初始特征地图内的一个或更多个提议的感兴趣区域;
从所述一个或更多个提议的感兴趣区域中选择一个或更多个可能的感兴趣区域,其中,每个感兴趣区域与至少第一现实世界对象类型相关联,并且其中,所述可能的感兴趣区域中的一个与所述第一图像中对应于所述现实世界对象的所述第一描绘的部分相关联;以及
从可能的感兴趣区域中提取所述一个或更多个DL特征表示,其中,每个提取的DL特征表示是第二机器学习模型的输出,所述第二机器学习模型被训练成至少检测所述第一现实世界对象类型的对象。
34.一种系统,包括:一个或更多个处理器和一个或更多个计算机可读非暂时性存储介质,所述一个或更多个计算机可读非暂时性存储介质耦合到所述一个或更多个处理器并且包括指令,所述指令在由所述一个或更多个处理器执行时能够操作来使所述系统执行根据权利要求21至31中任一项所述的方法或者执行:
从客户端计算设备接收一个或更多个深度学习(DL)特征表示和一个或更多个局部特征描述符,其中,所述DL特征表示和所述局部特征描述符是从现实世界环境的第一图像中提取的,所述第一图像包括现实世界对象的第一描绘;
基于所接收的一个或更多个DL特征表示与多个存储的DL特征表示的比较,识别一组潜在匹配的DL特征表示,所述多个存储的DL特征表示与多个增强现实(AR)目标相关联;
基于所接收的一个或更多个局部特征描述符与存储的局部特征描述符的比较,从与所述一组潜在匹配的DL特征表示相关联的一组潜在匹配的AR目标中确定匹配的AR目标,所述存储的局部特征描述符与所述一组潜在匹配的AR目标相关联,其中,所述存储的局部特征描述符是从所述一组潜在匹配的AR目标中提取的;以及
向所述客户端计算设备发送被配置为呈现与所确定的匹配的AR目标相关联的AR效果的信息。
CN202080008364.8A 2018-11-07 2020-01-03 检测增强现实目标 Pending CN113366489A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/183,683 US20200143238A1 (en) 2018-11-07 2018-11-07 Detecting Augmented-Reality Targets
PCT/US2020/012264 WO2020097632A1 (en) 2018-11-07 2020-01-03 Detecting augmented-reality targets

Publications (1)

Publication Number Publication Date
CN113366489A true CN113366489A (zh) 2021-09-07

Family

ID=69411561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080008364.8A Pending CN113366489A (zh) 2018-11-07 2020-01-03 检测增强现实目标

Country Status (5)

Country Link
US (1) US20200143238A1 (zh)
JP (1) JP2022531812A (zh)
KR (1) KR20220112666A (zh)
CN (1) CN113366489A (zh)
WO (1) WO2020097632A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10936055B2 (en) * 2019-01-24 2021-03-02 Dell Products, L.P. Encoding content for virtual, augmented, and mixed reality (xR) applications in connectivity-constrained environments
US11351991B2 (en) 2019-03-25 2022-06-07 Zoox, Inc. Prediction based on attributes
US11021148B2 (en) * 2019-03-25 2021-06-01 Zoox, Inc. Pedestrian prediction based on attributes
US11062454B1 (en) 2019-04-16 2021-07-13 Zoox, Inc. Multi-modal sensor data association architecture
US11089439B2 (en) * 2019-07-02 2021-08-10 Charles Hohman Systems and methods for real-world networking using augmented reality interface
KR20210053036A (ko) * 2019-11-01 2021-05-11 엘지전자 주식회사 인공지능 서버
US20210383096A1 (en) * 2020-06-08 2021-12-09 Bluhaptics, Inc. Techniques for training machine learning
US20230008097A1 (en) * 2021-07-07 2023-01-12 Thomas E. Holdman Customized animated art
US20230351666A1 (en) * 2022-04-27 2023-11-02 Snap Inc. Augmented reality experience power usage prediction
US11886767B2 (en) 2022-06-17 2024-01-30 T-Mobile Usa, Inc. Enable interaction between a user and an agent of a 5G wireless telecommunication network using augmented reality glasses

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007003498A1 (de) * 2007-01-24 2008-07-31 Siemens Ag Abstandsregelung
US20140225924A1 (en) * 2012-05-10 2014-08-14 Hewlett-Packard Development Company, L.P. Intelligent method of determining trigger items in augmented reality environments
KR20190121273A (ko) * 2019-10-07 2019-10-25 엘지전자 주식회사 차량 정보 연계 컨텐츠 제공 장치 및 방법
WO2019205284A1 (zh) * 2018-04-23 2019-10-31 太平洋未来科技(深圳)有限公司 Ar成像方法和装置
CN110443898A (zh) * 2019-08-12 2019-11-12 北京枭龙科技有限公司 一种基于深度学习的ar智能终端目标识别系统及方法
JP2019211913A (ja) * 2018-06-01 2019-12-12 日本電信電話株式会社 特徴量抽出装置、方法、及びプログラム
CN110619026A (zh) * 2018-06-04 2019-12-27 脸谱公司 移动持久性增强现实体验

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007011762A (ja) * 2005-06-30 2007-01-18 Olympus Corp 領域抽出装置及び領域抽出方法
JP6131859B2 (ja) * 2012-01-30 2017-05-24 日本電気株式会社 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム、通信端末およびその制御方法と制御プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102007003498A1 (de) * 2007-01-24 2008-07-31 Siemens Ag Abstandsregelung
US20140225924A1 (en) * 2012-05-10 2014-08-14 Hewlett-Packard Development Company, L.P. Intelligent method of determining trigger items in augmented reality environments
WO2019205284A1 (zh) * 2018-04-23 2019-10-31 太平洋未来科技(深圳)有限公司 Ar成像方法和装置
JP2019211913A (ja) * 2018-06-01 2019-12-12 日本電信電話株式会社 特徴量抽出装置、方法、及びプログラム
CN110619026A (zh) * 2018-06-04 2019-12-27 脸谱公司 移动持久性增强现实体验
CN110443898A (zh) * 2019-08-12 2019-11-12 北京枭龙科技有限公司 一种基于深度学习的ar智能终端目标识别系统及方法
KR20190121273A (ko) * 2019-10-07 2019-10-25 엘지전자 주식회사 차량 정보 연계 컨텐츠 제공 장치 및 방법

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
""Release5_features_v_may_9"", 3GPP TSG_SA\\WG5_TM *
DEVAKI O’RIORDAN;DAVID G. KIELY;B. RONAN O’DRISCOLL: "Reversible pulmonary artery perfusion abnormalities in the postpartum period as a precursor to the development of pulmonary arterial hypertension:", PULMONARY CIRCULATION, vol. 8, no. 3 *
YU WU;LING XUE;CHAO LI;ZHANG XIONG: "TDARS, a Fusion Based AR System for Machine Readable Travel Documents", LECTURE NOTES IN COMPUTER SCIENCE, 4558 *
李晶皎;赵越;王爱侠;李贞妮;杨丹;: "基于改进FREAK的增强现实实时注册算法", 小型微型计算机系统, no. 01 *
马晓;张番栋;封举富;: "基于深度学习特征的稀疏表示的人脸识别方法", 智能系统学报, no. 03 *

Also Published As

Publication number Publication date
KR20220112666A (ko) 2022-08-11
WO2020097632A1 (en) 2020-05-14
US20200143238A1 (en) 2020-05-07
JP2022531812A (ja) 2022-07-12

Similar Documents

Publication Publication Date Title
US10423656B2 (en) Tag suggestions for images on online social networks
CN108604315B (zh) 使用深度学习模型识别实体
CN113366489A (zh) 检测增强现实目标
CN112639682A (zh) 在增强现实环境中的多设备地图构建和协作
CN112639891A (zh) 在增强现实环境内的内容的建议
US20180101540A1 (en) Diversifying Media Search Results on Online Social Networks
CN111712832A (zh) 使用机器学习的自动图像校正
CN110619026A (zh) 移动持久性增强现实体验
US20180144256A1 (en) Categorizing Accounts on Online Social Networks
US10032303B2 (en) Scrolling 3D presentation of images
US20170132510A1 (en) Identifying Content Items Using a Deep-Learning Model
US10699320B2 (en) Marketplace feed ranking on online social networks
CA2913461C (en) Tag suggestions for images on online social networks
CN111179105A (zh) 生成离线内容
US10541001B2 (en) Video highlights
CN111164653A (zh) 在社交网络系统上生成动画
CN111226262A (zh) 合成动画
EP3166025A1 (en) Identifying content items using a deep-learning model
CN110852143B (zh) 在增强现实环境中的交互式文本效果

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
CB02 Change of applicant information

Address after: California, USA

Applicant after: Yuan platform Co.

Address before: California, USA

Applicant before: Facebook, Inc.

CB02 Change of applicant information