CN115605897A - 用于消息收发系统中的物理产品的增强现实体验 - Google Patents

用于消息收发系统中的物理产品的增强现实体验 Download PDF

Info

Publication number
CN115605897A
CN115605897A CN202180035241.8A CN202180035241A CN115605897A CN 115605897 A CN115605897 A CN 115605897A CN 202180035241 A CN202180035241 A CN 202180035241A CN 115605897 A CN115605897 A CN 115605897A
Authority
CN
China
Prior art keywords
augmented reality
reality content
product
image data
selectable graphical
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
CN202180035241.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.)
Snap Inc
Original Assignee
Snap 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 Snap Inc filed Critical Snap Inc
Publication of CN115605897A publication Critical patent/CN115605897A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/755Deformable models or variational models, e.g. snakes or active contours
    • G06V10/7553Deformable models or variational models, e.g. snakes or active contours based on shape, e.g. active shape models [ASM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services

Abstract

本主题技术从多个可用增强现实内容生成器中选择增强现实内容生成器的集合,所选择的增强现实内容生成器的集合包括用于基于产品来提供增强现实内容的至少一个增强现实内容生成器。本主题技术使得能够显示包括可选图形项的轮播界面,每个可选图形项对应于相应的增强现实内容生成器。本主题技术在客户端设备处接收从多个可选图形项中对第一可选图形项的选择。本主题技术将与所选择的第一可选图形项相对应的第一增强现实内容生成器应用于第一图像数据。本主题技术使得显示第二图像数据,第二图像数据包括应用于第一图像数据的第一增强现实内容生成器。

Description

用于消息收发系统中的物理产品的增强现实体验
要求优先权
本申请要求于2020年3月31日提交的美国临时申请序列第63/002,956号的优先权的权益,该美国临时申请的全部内容出于所有目的通过引用并入本文。
背景技术
本申请总体上涉及利用电子设备来提供物理产品的增强现实体验。
附图说明
为了容易地标识对任何特定要素或动作的讨论,附图标记中的一个最高有效数字或多个最高有效数字指代该要素被首次引入时的图号。
图1是根据一些示例实施方式的在其中可以部署本公开内容的联网环境的图形表示。
图2是根据一些示例实施方式的消息收发客户端应用的图形表示。
图3是根据一些示例实施方式的如在数据库中维护的数据结构的图形表示。
图4是根据一些示例实施方式的消息的图形表示。
图5是根据一些示例实施方式的访问限制过程的流程图。
图6是示出根据一些示例实施方式的用于访问产品(例如,物理项)的产品目录服务的示例网络环境的框图,该示例网络环境包括上面在图1中讨论的消息收发系统的部分。
图7是示出根据某些示例实施方式的注释系统的各个模块的框图。
图8是示出根据一些实施方式的包括与物理项(例如,产品)的产品元数据相对应的附加信息的如图4中所描述的消息注释的结构的示意图。
图9是示出根据一些实施方式的存储在如图3中描述的产品表中的与物理项(例如,产品)的信息相对应的产品元数据的结构的示意图。
图10示出了根据一些实施方式的用于在客户端设备上显示项目的信息的示例界面。
图11示出了根据一些实施方式的用于基于项目来开发增强现实内容生成器(例如,用于提供AR体验)的应用的示例界面。
图12示出了描绘用于选择增强现实体验并将该增强现实体验应用于媒体内容(例如,图像或视频)的轮播以及在消息收发客户端应用104(或消息收发系统)中呈现所应用的增强现实体验的示例用户界面。
图13示出了根据一些示例实施方式的显示对媒体内容(例如,图像或视频)的增强现实体验的呈现以及在消息收发客户端应用104(或消息收发系统)中呈现所应用的增强现实体验的示例用户界面。
图14示出了根据某些示例实施方式的用于浏览由本主题系统提供的AR体验(例如,在上面讨论的轮播界面中提供的AR内容生成器)集合的示例用户界面。
图15是示出根据某些示例实施方式的提供用于选择特定增强现实内容生成器的轮播界面的方法的流程图。
图16是示出根据一些示例实施方式的在其中可以实现本公开内容的软件架构的框图。
图17是根据一些示例实施方式的呈计算机系统形式的机器的图形表示,在该计算机系统内可以执行指令集以使该机器执行讨论的方法中的任何一种或更多种方法。
具体实施方式
随着数字图像使用的增加、便携式计算设备的可负担性、数字存储介质的增加的容量的可用性以及网络连接的增加的带宽和可访问性,数字图像已经成为越来越多人日常生活的一部分。来自各种位置的兴趣广泛的用户可以捕获各种对象的数字图像,并且使其他人可经由网络(例如因特网)获得所捕获的图像。为了使用增强现实来增强用户对数字图像和内容的体验,并且使得计算设备能够对在各种变化条件(例如,图像尺度、噪声、照明、运动或几何失真的变化)下捕获的各种对象或特征进行识别可能是有挑战性的并且是计算密集的。在一方面,本主题技术提供了如下改进的系统,该改进的系统用于提供产品(其可以被购买)的增强现实体验,该产品的增强现实体验然后被应用于如本文进一步描述的这样的对象(例如,用户的面部)。
在各种设置中,移动计算设备的用户经常使用并且越来越多地利用消息收发系统,以便以便利的方式提供不同类型的功能。如本文所描述的,本主题消息收发系统提供了使得能够提供产品的增强现实体验的实际应用。本主题消息收发系统执行基于产品元数据来访问与给定产品相关的附加信息的处理,同时利用本主题消息收发系统的能力。本主题消息收发系统可以在具有对象(例如用户的面部)的场景中连同提供产品信息或其他信息一起呈现与产品有关的增强现实(AR)体验。在示例中,AR体验提供应用于对象(例如用户面部的表示)的AR内容,以用于在给定客户端设备上显示。这样的AR内容可以与产品相关,例如呈现美容产品将如何出现在用户面部的表示上。
因此,本主题技术被理解为有利地提供在呈现AR内容项方面的技术改进,以促进AR内容的自然且直观的呈现(例如,没有由于图形瓶颈和AR内容的低效处理而导致的滞后和丢帧),并且从而增加在包括(真实)物理项和AR内容项的混合的环境中的存在感。
在示例中,技术改进还涉及利用服务器或远程计算资源来处理和呈现AR内容,而在又一示例中,AR内容可以由给定计算设备呈现,并且然后被传播到其他计算设备以供呈现。通过本文描述的各种技术的组合和利用,与其他现有实现方式相比,可以减少显示AR内容项的等待时间(例如,用于生成AR内容并且随后在给定设备的相应显示器上呈现AR内容的持续时间),以提供更加沉浸和令人信服的用户体验。
如本文所提及的,短语“增强现实体验”、“增强现实内容项”、“增强现实内容生成器”包括或指代与如本文进一步描述的图像修改、过滤、LENSES、媒体覆盖、变换等相对应的各种图像处理操作。
图1是示出用于通过网络交换数据(例如,消息和相关联的内容)的消息收发系统100的示例的框图。消息收发系统100包括客户端设备102的多个实例,每个实例托管包括消息收发客户端应用104的多个应用。每个消息收发客户端应用104经由网络106(例如,因特网)通信地耦接至消息收发客户端应用104的其他实例和消息收发服务器系统108。
消息收发客户端应用104能够经由网络106与另一消息收发客户端应用104和消息收发服务器系统108进行通信和交换数据。在消息收发客户端应用104之间以及在消息收发客户端应用104与消息收发服务器系统108之间交换的数据包括函数(例如,调用函数的命令)以及有效载荷数据(例如,文本、音频、视频或其他多媒体数据)。
消息收发服务器系统108经由网络106向特定的消息收发客户端应用104提供服务器端功能。虽然消息收发系统100的某些功能在本文中被描述为由消息收发客户端应用104或由消息收发服务器系统108执行,但是在消息收发客户端应用104或消息收发服务器系统108内的某些功能的位置是设计选择。例如,在技术上可能优选的是最初在消息收发服务器系统108内部署某些技术和功能,但是稍后将该技术和功能迁移至其中客户端设备102具有足够处理能力的消息收发客户端应用104。
消息收发服务器系统108支持被提供给消息收发客户端应用104的各种服务和操作。这样的操作包括向消息收发客户端应用104发送数据、从消息收发客户端应用104接收数据以及处理由消息收发客户端应用104生成的数据。作为示例,该数据可以包括消息内容、客户端设备信息、地理位置信息、媒体注释和覆盖、消息内容持续条件、社交网络信息和实况事件信息。通过经由消息收发客户端应用104的用户界面(UI)可用的功能来调用和控制消息收发系统100内的数据交换。
现在具体转到消息收发服务器系统108,应用程序接口(API)服务器110耦接至应用服务器112并且向应用服务器112提供编程接口。应用服务器112通信地耦接至数据库服务器118,这有助于访问其中存储有与由应用服务器112处理的消息相关联的数据的数据库120。
应用程序接口(API)服务器110在客户端设备102与应用服务器112之间接收和发送消息数据(例如,命令和消息有效载荷)。具体地,应用程序接口(API)服务器110提供接口(例如,例程和协议)的集合,所述接口的集合可以由消息收发客户端应用104调用或查询,以便调用应用服务器112的功能。应用程序接口(API)服务器110公开由应用服务器112支持的各种功能,包括帐户注册、登录功能、经由应用服务器112从特定消息收发客户端应用104向另一消息收发客户端应用104发送消息、从消息收发客户端应用104向消息收发服务器应用114发送媒体文件(例如,图像或视频)以及用于另一消息收发客户端应用104的可能访问、媒体数据的集合(例如,故事)的设置、客户端设备102的用户的好友列表的检索、这样的集合的检索、消息和内容的检索、向社交图添加和删除好友、社交图内好友的位置以及打开应用事件(例如,涉及消息收发客户端应用104)。
应用服务器112托管多个应用和子系统,包括消息收发服务器应用114、图像处理系统116和社交网络系统122、产品目录系统124和增强现实系统126。消息收发服务器应用114实现许多消息处理技术和功能,尤其涉及包括在从消息收发客户端应用104的多个实例接收的消息中的内容(例如,文本和多媒体内容)的汇集和其他处理。如将更详细地描述的,来自多个源的文本和媒体内容可以被汇集成内容的集合(例如,被称为故事或库)。然后消息收发服务器应用114使这些集合可用于消息收发客户端应用104。鉴于用于这样的处理的硬件要求,消息收发服务器应用114还可以在服务器侧执行其他处理器和存储器密集型的数据处理。
应用服务器112还包括专用于执行各种图像处理操作的图像处理系统116,所述图像处理操作通常针对在消息收发服务器应用114处的消息的有效载荷内接收的图像或视频。
社交网络系统122支持各种社交联网功能服务,并且使这些功能和服务可用于消息收发服务器应用114。为此,社交网络系统122维护并访问数据库120内的实体图304(如图3所示)。社交网络系统122支持的功能和服务的示例包括特定用户与之有关系或“关注”其的消息收发系统100的其他用户的标识以及其他实体和感兴趣的特定用户的标识。
消息收发客户端应用104包括允许客户端设备102访问增强现实系统126的功能集合。增强现实系统126生成并维护增强现实内容生成器的列表。给定的增强现实内容生成器可以对应于用于利用增强现实内容补充所捕获的图像数据或视频数据以便提供增强现实体验的增强现实内容项(或一些其他图像修改、图像处理、变换、修改等)。
在一个或更多个实施方式中,增强现实系统126标识由消息收发客户端应用104捕获的一个或更多个图像中描绘的对象,并且确定对象的一个或更多个属性。增强现实系统126搜索与对象的一个或更多个属性相关联的一个或更多个增强现实内容项(例如,虚拟对象),并且(例如,基于关联和分配给每个属性的权重)对虚拟对象进行排序。增强现实系统126使排名最高的增强现实内容项的一个或更多个虚拟对象或图形元素被呈现在所捕获的图像之上。
应用服务器112通信地耦接至数据库服务器118,这有助于访问其中存储有与由消息收发服务器应用114处理的消息相关联的数据的数据库120。
产品目录系统124执行用于至少基于由消息收发客户端应用104提供的这样的产品的图像数据来验证产品的操作。在实施方式中,产品目录系统124可以将与这样的产品的制造商相关的信息(例如,元数据)以及用于验证产品的真实性的信息存储在数据库120中。下面针对图6更详细地讨论产品目录系统124。
图2是示出根据示例实施方式的关于消息收发系统100的另外的细节的框图。具体地,消息收发系统100被示出为包括消息收发客户端应用104和应用服务器112,其又包含多个一些子系统,即短暂定时器系统202、集合管理系统204和注释系统206。
短暂定时器系统202负责实施对消息收发客户端应用104和消息收发服务器应用114所允许的内容的短暂访问。为此,短暂定时器系统202结合了多个定时器,这些定时器基于与消息或消息的集合(例如,故事)相关联的持续时间和显示参数,短暂定时器系统202选择性地显示消息和相关联的内容以及使得能够经由消息收发客户端应用104访问消息和相关联的内容。下面提供关于短暂定时器系统202的操作的另外的细节。
集合管理系统204负责管理媒体的集合(例如,文本、图像视频和音频数据的集合)。在一些示例中,内容(例如,消息,包括图像、视频、文本和音频)的集合可以被组织成“事件库”或“事件故事”。可以使这样的集合在指定的时间段(例如内容所涉及的事件的持续时间)内可用。例如,可以使与音乐会有关的内容在该音乐会的持续期间内作为“故事”可用。集合管理系统204还可以负责发布向消息收发客户端应用104的用户界面提供特定集合的存在性的通知的图标。
集合管理系统204还包括允许集合管理器管理和策展内容的特定集合的策展接口208。例如,策展接口208使得事件组织者能够策展与特定事件相关的内容的集合(例如,删除不适当的内容或冗余消息)。另外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动地策展内容集合。在某些实施方式中,可以向用户支付补偿以将用户生成的内容包括到集合中。在这样的情况下,策展接口208进行操作以自动向这样的用户支付费用以使用其内容。
注释系统206提供使得用户能够注释或以其他方式修改或编辑与消息相关联的媒体内容的各种功能。例如,注释系统206提供与生成和发布用于由消息收发系统100处理的消息的媒体覆盖相关的功能。注释系统206基于客户端设备102的地理位置可操作地向消息收发客户端应用104供应媒体覆盖或补充(例如,图像过滤)。在另一示例中,注释系统206基于其他信息(例如客户端设备102的用户的社交网络信息)可操作地向消息收发客户端应用104供应媒体覆盖。媒体覆盖可以包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、标志、动画和声音效果。视觉效果的示例包括颜色覆盖。音频和视觉内容或视觉效果可以应用于客户端设备102处的媒体内容项(例如,照片)。例如,媒体覆盖可以包括可以覆盖在由客户端设备102拍摄的照片之上的文本。在另一示例中,媒体覆盖包括位置标识(例如,威尼斯海滩)覆盖、实况事件的名称或商家名称(例如,海滩咖啡馆)覆盖。在另一示例中,注释系统206使用客户端设备102的地理位置来标识包括在客户端设备102的地理位置处的商家的名称的媒体覆盖。媒体覆盖可以包括与商家相关联的其他标记。媒体覆盖可以存储在数据库120中并通过数据库服务器118被访问。
在一个示例实施方式中,注释系统206提供基于用户的发布平台,该发布平台使得用户能够选择地图上的地理位置,并且上传与所选择的地理位置相关联的内容。用户还可以指定特定媒体覆盖应当被提供给其他用户的环境。注释系统206生成包括所上传的内容的媒体覆盖并且将所上传的内容与所选择的地理位置相关联。
在另一示例实施方式中,注释系统206提供基于商家的发布平台,该发布平台使得商家能够经由竞价过程来选择与地理位置相关联的特定媒体覆盖。例如,注释系统206在预定义时间量内将最高出价商家的媒体覆盖与对应的地理位置相关联。
图3是示出根据某些示例实施方式的可以存储在消息收发服务器系统108的数据库120中的数据结构300的示意图。虽然数据库120的内容被示出为包括多个表,但是应当理解,数据可以存储在其他类型的数据结构中(例如,作为面向对象的数据库)。
数据库120包括存储在消息表314内的消息数据。实体表302存储实体数据,包括实体图304。其记录被维护在实体表302内的实体可以包括个人、公司实体、组织、对象、地点、事件等。不管类型如何,关于消息收发服务器系统108存储数据的任何实体都可以是被识别的实体。每个实体设置有唯一标识符以及实体类型标识符(未示出)。
实体图304还存储关于实体之间的关系和关联的信息。仅作为示例,这样的关系可以是基于感兴趣的或基于活动的社交关系、职业关系(例如,在共同的公司或组织工作)。
数据库120还以过滤器的示例形式将注释数据存储在注释表312中。其数据存储在注释表312内的过滤器与视频(其数据存储在视频表310中)或图像(其数据存储在图像表308中)相关联并且应用于视频(其数据存储在视频表310中)或图像(其数据存储在图像表308中)。在一个示例中,过滤器是在呈现给接收者用户期间被显示为覆盖在图像或视频上的覆盖。过滤器可以是各种类型,包括当发送用户正在编写消息时由消息收发客户端应用104向发送用户呈现的来自过滤器的库中的用户选择的过滤器。其他类型的过滤器包括地理位置过滤器(也称为地理过滤器),其可以基于地理位置呈现给发送用户。例如,基于由客户端设备102的GPS单元确定的地理位置信息,消息收发客户端应用104可以在用户界面内呈现特定于邻域或特定位置的地理位置过滤器。另一类型的过滤器是数据过滤器,其可以由消息收发客户端应用104基于在消息创建过程期间由客户端设备102收集的其他输入或信息来选择性地呈现给发送用户。数据过滤器的示例包括特定位置处的当前温度、发送用户行进的当前速度、客户端设备102的电池寿命或当前时间。
可以存储在图像表308内的其他注释数据是增强现实内容生成器(例如,对应于应用LENSES、增强现实体验或增强现实内容项)。增强现实内容生成器可以是可以添加至图像或视频的实时特殊效果和声音。
如上所述,增强现实内容生成器、增强现实内容项、覆盖、图像变换、AR图像和类似术语是指可以对视频或图像进行的修改。这包括实时修改,该实时修改在使用设备传感器捕获图像时修改该图像并且然后在设备的屏幕上显示具有修改的图像。这还包括对所存储的内容的修改,例如可以被修改的库中的视频剪辑。例如,在访问多个增强现实内容生成器的设备中,用户可以将单个视频剪辑与多个增强现实内容生成器一起使用来查看不同的增强现实内容生成器将如何修改所存储的剪辑。例如,通过针对内容选择不同的增强现实内容生成器,可以将应用不同伪随机运动模型的多个增强现实内容生成器应用于同一内容。类似地,实时视频捕获可以与所示出的修改一起使用,以示出当前由设备的传感器捕获的视频图像将如何修改所捕获的数据。这样的数据可以简单地被显示在屏幕上并且不被存储在存储器中,或者由设备传感器捕获的内容可以在有或没有修改(或两者)的情况下被记录并被存储在存储器中。在一些系统中,预览特征可以示出不同的增强现实内容生成器同时在显示器中的不同窗口内看起来如何。这可以例如使得能够同时在显示器上观看具有不同伪随机动画的多个窗口。
因此,数据以及使用增强现实内容生成器或其他这样的变换系统来使用该数据修改内容的各种系统可以涉及:对象(例如,面部、手、身体、猫、狗、表面、对象等)的检测;当这样的对象离开、进入视频帧中的视场以及在视场周围移动时对这样的对象进行跟踪;以及当跟踪这样的对象时对这样的对象进行修改或变换。在各种实施方式中,可以使用用于实现这样的变换的不同方法。例如,一些实施方式可以涉及生成一个或多个对象的三维网格模型,并且使用视频内的模型的变换和动画纹理来实现变换。在其他实施方式中,可以使用对对象上的点的跟踪来将图像或纹理(其可以是二维或三维的)放置在所跟踪的位置处。在又一实施方式中,视频帧的神经网络分析可以用于将图像、模型或纹理放置在内容(例如,视频的图像或帧)中。因此,增强现实内容生成器既涉及用于创建内容中的变换的图像、模型和纹理,又涉及实现利用对象检测、跟踪和放置的这样的变换所需的附加建模和分析信息。
可以利用保存在任何类型的计算机化系统的存储器中的任何类型的视频数据(例如,视频流、视频文件等)来执行实时视频处理。例如,用户可以加载视频文件并将它们保存在设备的存储器中,或者可以使用设备的传感器来生成视频流。另外,可以使用计算机动画模型来处理任何对象,例如人的面部和人体的部分、动物、或非生命事物(例如椅子、汽车或其他对象)。
在一些实施方式中,当连同要变换的内容一起选择特定修改时,计算设备标识要变换的元素,并且然后如果所述元素存在于视频帧中,则检测并跟踪它们。根据针对修改的请求来修改对象的元素,从而变换视频流的帧。可以通过用于不同类型的变换的不同方法来执行视频流的帧的变换。例如,对于主要涉及改变对象元素的形式的帧的变换,计算针对对象的每个元素的特征点(例如,使用主动形状模型(ASM)或其他已知方法)。然后,针对对象的至少一个元素中的每个元素生成基于特征点的网格。该网格用于跟踪视频流中的对象的元素的后续阶段。在跟踪过程中,所提及的针对每个元素的网格与每个元素的位置对准。然后,在网格上生成附加点。基于针对修改的请求来针对每个元素生成第一点的第一集合,并且基于第一点的集合和针对修改的请求来针对每个元素生成第二点的集合。然后,可以基于第一点和第二点的集合以及网格通过修改对象的元素来对视频流的帧进行变换。在这样的方法中,也可以通过跟踪和修改背景来改变或扭曲被修改对象的背景。
在一个或更多个实施方式中,可以通过计算针对对象的每个元素的特征点并基于所计算的特征点生成网格来执行使用对象的元素改变对象的一些区域的变换。在网格上生成点,并且然后生成基于这些点的各种区域。然后通过将针对每个元素的区域与针对至少一个元素中的每个元素的位置对准来跟踪对象的元素,并且可以基于针对修改的请求来修改区域的特性,从而变换视频流的帧。根据针对修改的特定请求,可以以不同的方式来对所提及的区域的特性进行变换。这样的修改可以涉及改变区域的颜色;从视频流的帧中去除区域的至少一些部分;将一个或更多个新对象包括到基于针对修改的请求的区域中;以及修改或扭曲区域或对象的元素。在各种实施方式中,可以使用这样的修改或其他类似修改的任何组合。对于要被动画化的某些模型,可以选择一些特征点作为要用于确定针对模型动画的选项的整个状态空间的控制点。
在使用面部检测来变换图像数据的计算机动画模型的一些实施方式中,使用特定的面部检测算法(例如,Viola-Jones)在图像上检测面部。然后,将主动形状模型(ASM)算法应用于图像的面部区域以检测面部特征参考点。
在其他实施方式中,可以使用适合于面部检测的其他方法和算法。例如,在一些实施方式中,使用表示在所考虑的大多数图像中存在的可区分点的界标(landmark)来定位特征。例如,对于面部界标,可以使用左眼瞳孔的位置。在初始界标不可标识的情况下(例如,如果人具有眼罩),则可以使用次级界标。这样的界标标识过程可以用于任何这样的对象。在一些实施方式中,界标的集合形成形状。可以使用形状中的点的坐标将形状表示为向量。利用使形状点之间的平均欧几里得距离最小化的相似性变换(允许平移、缩放和旋转)将一个形状与另一个形状对准。平均形状是对准的训练形状的平均。
在一些实施方式中,开始从与由全局面部检测器确定的面部的位置和大小对准的平均形状搜索界标。然后,这样的搜索重复以下步骤:通过对每个点周围的图像纹理进行模板匹配来调整形状点的位置来建议暂定形状,并且然后使暂定形状符合全局形状模型,直到出现收敛。在一些系统中,单独的模板匹配是不可靠的,并且形状模型汇集弱模板匹配器的结果以形成更强的整体分类器。在图像金字塔中的每一级处从粗分辨率到细分辨率重复整个搜索。
变换系统的实施方式可以在客户端设备(例如,客户端设备102)上捕获图像或视频流,并且在客户端设备102上本地执行复杂的图像操纵,同时保持适当的用户体验、计算时间和功耗。复杂的图像操纵可以包括大小和形状改变、情感变换(例如,将面部从皱眉改变为微笑)、状态变换(例如,使主体变老、减小外表年龄、改变性别)、风格变换、图形元素应用以及由已经被配置成在客户端设备102上有效执行的卷积神经网络实现的任何其他合适的图像或视频操纵。
在一些示例实施方式中,用于变换图像数据的计算机动画模型可以由如下系统使用,在该系统中,用户可以使用具有作为在客户端设备102上操作的消息收发客户端应用104的一部分而操作的神经网络的客户端设备102来捕获用户的图像或视频流(例如,自拍照)。在消息收发客户端应用104内操作的变换系统确定图像或视频流内面部的存在,并且提供与用于变换图像数据的计算机动画模型相关联的修改图标,或者计算机动画模型可以与本文描述的接口相关联地存在。修改图标包括可以是用于作为修改操作的一部分修改图像或视频流内的用户面部的基础的变化。一旦选择了修改图标,则变换系统发起转换用户的图像以反映所选择的修改图标的过程(例如,生成关于用户的微笑面部)。在一些实施方式中,一捕获图像或视频流并且选择了指定的修改,就可以在移动客户端设备上显示的图形用户界面中呈现修改后的图像或视频流。变换系统可以在图像或视频流的一部分上实现复杂的卷积神经网络,以生成和应用所选择的修改。也就是说,用户可以捕获图像或视频流,并且一旦选择了修改图标,就可以实时或接近实时地呈现修改后的结果。此外,在捕获视频流并且所选择的修改图标保持切换时,修改可以是持久的。机器教导的神经网络可以用于实现这样的修改。
在一些实施方式中,呈现由变换系统执行的修改的图形用户界面可以向用户提供附加的交互选项。这样的选项可以基于用于发起特定计算机动画模型的选择和内容捕获的界面(例如,从内容创建者用户界面发起)。在各种实施方式中,在初始选择修改图标之后,修改可以是持久的。用户可以通过轻敲或以其他方式选择正由变换系统修改的面部来切换修改的开或关,并对其进行存储以供稍后查看或浏览成像应用的其他区域。在变换系统修改多个面部的情况下,用户可以通过轻敲或选择在图形用户界面内修改和显示的单个面部来全局地切换修改的开或关。在一些实施方式中,可以分别修改多个面部的组中的各个面部,或者可以通过轻敲或选择图形用户界面内显示的各个面部或一系列各个面部来分别切换这样的修改。
在一些示例实施方式中,提供了图形处理流水线架构,其使得能够在对应的不同层中应用不同的增强现实体验(例如,AR内容生成器)。这样的图形处理流水线提供了可扩展呈现引擎,所述可扩展呈现引擎用于提供复合媒体(例如,图像或视频)中包括的多个增强现实体验,以由消息收发客户端应用104(或消息收发系统100)呈现。
如上面所提及的,视频表310存储视频数据,在一个实施方式中,视频数据与其记录被维护在消息表314中的消息相关联。类似地,图像表308存储与其消息数据存储在实体表302中的消息相关联的图像数据。实体表302可以将来自注释表312的各种注释与存储在图像表308和视频表310中的各种图像和视频相关联。
故事表306存储关于消息和相关联的图像、视频或音频数据的集合的数据,所述消息和相关联的图像、视频或音频数据被编译成集合(例如,故事或库)。特定集合的创建可以由特定用户(例如,其记录被维护在实体表302中的每个用户)发起。用户可以创建以已经由该用户创建和发送/广播的内容的集合的形式的“个人故事”。为此,消息收发客户端应用104的用户界面可以包括用户可选择以使得发送用户能够将特定内容添加至他或她的个人故事的图标。
集合还可以构成“实况故事”,“实况故事”是被手动地、自动地或使用手动和自动技术的组合来创建的来自多个用户的内容的集合。例如,“实况故事”可以构成来自不同位置和事件的用户提交的内容的策展流。其客户端设备具有启用的位置服务并且在特定时间处于共同位置事件的用户可以例如经由消息收发客户端应用104的用户界面被呈现有选项,以向特定实况故事贡献内容。可以由消息收发客户端应用104基于用户的位置向用户标识实况故事。最终结果是从社区角度讲述的“实况故事”。
另一类型的内容集合被称为“位置故事”,“位置故事”使得其客户端设备102位于特定地理位置(例如,在学院或大学校园)内的用户能够对特定集合做出贡献。在一些实施方式中,对位置故事的贡献可能需要第二程度的认证来验证终端用户属于特定组织或其他实体(例如,是大学校园中的学生)。
数据库120还将产品的数据存储在产品表316中,这使得产品目录系统124能够执行与提供针对产品(例如,可用于购买或销售的给定物理项)的增强现实体验相关的操作。在示例中,产品表316包括产品的目录(例如,列表)及其相关联的产品标识符,其可以与由产品目录系统124提供的产品元数据进行比较。如本文进一步描述的,产品目录系统124可以确定与特定产品相关联的产品元数据。如下面进一步描述的,这样的产品元数据包括产品标识符,该产品标识符可以被用作提供与产品有关的增强现实体验的处理的一部分。
图4是示出根据一些实施方式的消息400的结构的示意图,该消息400由消息收发客户端应用104生成以传送至另一消息收发客户端应用104或消息收发服务器应用114。特定消息400的内容用于填充存储在消息收发服务器应用114可访问的数据库120内的消息表314。类似地,消息400的内容作为客户端设备102或应用服务器112的“运输中”或“飞行中”数据被存储在存储器中。消息400被示出为包括以下要素:
·消息标识符402:标识消息400的唯一标识符。
·消息文本有效载荷404:要由用户经由客户端设备102的用户界面生成并且包括在消息400中的文本。
·消息图像有效载荷406:由客户端设备102的摄像机部件捕获或从客户端设备102的存储器部件检索并且包括在消息400中的图像数据。
·消息视频有效载荷408:由摄像机部件捕获或从客户端设备102的存储器部件检索并且包括在消息400中的视频数据。
·消息音频有效载荷410:由麦克风捕获或从客户端设备102的存储器部件检索并且包括在消息400中的音频数据。
·消息注释412:表示要应用于消息400的消息图像有效载荷406、消息视频有效载荷408或消息音频有效载荷410的注释的注释数据(例如,过滤器、贴纸或其他增强)。
·消息持续时间参数414:以秒为单位指示消息的内容(例如,消息图像有效载荷406、消息视频有效载荷408、消息音频有效载荷410)将被呈现或使得用户可经由消息收发客户端应用104访问的时间量的参数值。
·消息地理位置参数416:与消息的内容有效载荷相关联的地理位置数据(例如,纬度坐标和经度坐标)。多个消息地理位置参数值416可以被包括在有效载荷中,这些参数值中的每个参数值与关于包括在内容中的内容项(例如,消息图像有效载荷406内的特定图像或消息视频有效载荷408中的特定视频)相关联。
·消息故事标识符418:标识与消息400的消息图像有效载荷406中的特定内容项相关联的一个或更多个内容集合(例如,“故事”)的标识符值。例如,消息图像有效载荷406内的多个图像可以各自使用标识符值与多个内容集合相关联。
·消息标签420:每个消息400可以用多个标签来标记,多个标签中的每个标签指示包括在消息有效载荷中的内容的主题。例如,在包括在消息图像有效载荷406中的特定图像描绘动物(例如,狮子)的情况下,标签值可以包括在指示相关动物的消息标签420内。标签值可以基于用户输入手动生成或者可以使用例如图像识别自动生成。
·消息发送者标识符422:指示在其上生成消息400并且从其发送消息400的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
·消息接收者标识符424:指示消息400寻址到的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
消息400的各个要素的内容(例如,值)可以是指向在其内存储内容数据值的表中的位置的指针。例如,消息图像有效载荷406中的图像值可以是指向图像表308内的位置(或地址)的指针。类似地,消息视频有效载荷408内的值可以指向存储在视频表310内的数据,存储在消息注释412内的值可以指向存储在注释表312中的数据,存储在消息故事标识符418内的值可以指向存储在故事表306中的数据,并且存储在消息发送者标识符422和消息接收者标识符424内的值可以指向存储在实体表302内的用户记录。
图5是示出访问限制过程500的示意图,根据该访问限制过程500,对内容(例如,短暂消息502和相关联的数据的多媒体有效载荷)或内容集合(例如,短暂消息组504)的访问可以是时间受限的(例如,短暂的)。
短暂消息502被示出为与消息持续时间参数506相关联,消息持续时间参数506的值确定消息收发客户端应用104将向短暂消息502的接收用户显示短暂消息502的时间量。在一个实施方式中,根据发送用户使用消息持续时间参数506指定的时间量,接收用户可查看短暂消息502达到最多10秒。
消息持续时间参数506和消息接收者标识符424被示出为消息定时器512的输入,消息定时器512负责确定向由消息接收者标识符424标识的特定接收用户示出短暂消息502的时间量。特别地,仅在由消息持续时间参数506的值确定的时间段内向相关接收用户示出短暂消息502。消息定时器512被示出为向短暂定时器系统202的更一般化的实现提供输出,该短暂定时器系统202负责向接收用户显示内容(例如,短暂消息502)的总体定时。
图5中示出的短暂消息502被包括在短暂消息组504(例如,个人故事或事件故事中的消息的集合)内。短暂消息组504具有相关联的组持续时间参数508,组持续时间参数508的值确定短暂消息组504被呈现并可由消息收发系统100的用户访问的持续时间。例如,组持续时间参数508可以是音乐会的持续时间,其中,短暂消息组504是属于该音乐会的内容的集合。可替选地,当执行短暂消息组504的设置和创建时,用户(拥有用户或策展者用户)可以指定组持续时间参数508的值。
另外,短暂消息组504内的每个短暂消息502具有相关联的组参与参数510,组参与参数510的值确定在短暂消息组504的上下文内可访问短暂消息502的持续时间。因此,在短暂消息组504本身根据组持续时间参数508到期之前,特定的短暂消息组504可以“到期”并且在短暂消息组504的上下文中变得不可访问。组持续时间参数508、组参与参数510和消息接收者标识符424各自向组定时器514提供输入,组定时器514可操作地首先确定短暂消息组504的特定短暂消息502是否将被显示给特定接收用户,并且如果短暂消息组504的特定短暂消息502将被显示给特定接收用户,则确定显示多长时间。注意,由于消息接收者标识符424,短暂消息组504也知道特定接收用户的身份。
因此,组定时器514可操作地控制相关联的短暂消息组504以及包括在短暂消息组504中的单独的短暂消息502的总使用期限。在一个实施方式中,短暂消息组504内的每个短暂消息502在由组持续时间参数508指定的时间段内保持可查看和可访问。在另一实施方式中,在短暂消息组504的上下文内,某个短暂消息502可以基于组参与参数510而到期。注意,即使在短暂消息组504的上下文内,消息持续时间参数506也仍然可以确定向接收用户显示特定短暂消息502的持续时间。因此,消息持续时间参数506确定向接收用户显示特定短暂消息502的持续时间,而不管接收用户是在短暂消息组504的上下文之内还是之外查看该短暂消息502。
短暂定时器系统202还可以基于已经超过相关联的组参与参数510的确定而从短暂消息组504中可操作地移除特定的短暂消息502。例如,当发送用户已经建立了从发布起24小时的组参与参数510时,短暂定时器系统202将在指定的24小时之后从短暂消息组504中移除相关的短暂消息502。当针对短暂消息组504内的每个短暂消息502的组参与参数510已经到期时或者当短暂消息组504本身根据组持续时间参数508已经到期时,短暂定时器系统202还进行操作以移除短暂消息组504。
在某些使用情况下,特定短暂消息组504的创建者可以指定无期限的组持续时间参数508。在这种情况下,针对短暂消息组504内最后剩余的短暂消息502的组参与参数510的到期将确定短暂消息组504本身何时到期。在这种情况下,添加至短暂消息组504的具有新的组参与参数510的新的短暂消息502将短暂消息组504的寿命有效地延长到等于组参与参数510的值。
响应于短暂定时器系统202确定短暂消息组504已经到期(例如,不再是可访问的),短暂定时器系统202与消息收发系统100(并且例如特别是消息收发客户端应用104)进行通信,以使得与相关短暂消息组504相关联的标记(例如,图标)不再显示在消息收发客户端应用104的用户界面内。类似地,当短暂定时器系统202确定针对特定短暂消息502的消息持续时间参数506已经到期时,短暂定时器系统202使消息收发客户端应用104不再显示与短暂消息502相关联的标记(例如,图标或文本标识)。
图6是示出根据一些示例实施方式的用于访问来自产品(例如,用于销售的物理项)的产品目录服务的信息的示例网络环境600的框图,该示例网络环境600包括以上在图1中讨论的消息收发系统100的部分。然而,并非所有所描绘的部件均可以用于所有实现方式中,并且一个或更多个实现方式可以包括除图中所示部件之外的附加部件或不同部件。在不脱离本文所阐述的权利要求书的精神或范围的情况下,可以对部件的布置和类型做出改变。可以设置附加部件、不同部件或更少的部件。
如本文所述,客户端设备102被配置成选择增强现实内容(例如,对应于增强现实体验)。
出于说明性目的,网络环境600在图6中被示为包括客户端设备102、消息收发服务器系统108和产品目录服务系统602;然而,在一些实施方式中,网络环境600可以包括任何数量的电子设备和任何数量的服务器或包括多个服务器的数据中心。
在一个或更多个实现方式中,网络106可以是可以包括因特网或可以通信地耦接至因特网的电子设备的互连网络。网络106可以使例如客户端设备102与消息收发服务器系统108或产品目录服务系统602通信地(直接或间接地)耦接。
消息收发服务器系统108或产品目录服务系统602可以是诸如云计算或数据中心实现中的计算机网络或服务器组的一部分。如下面进一步描述的,消息收发服务器系统108或产品目录服务系统602存储或生成由客户端设备102请求或接收的信息。
如图所示,托管多个应用的客户端设备102经由网络106通信地耦接至消息收发服务器系统108和消息收发客户端应用104(例如,在另一客户端设备102上)的其他实例,所述多个应用包括先前在图1中描述的消息收发客户端应用104。消息收发服务器系统108包括上面在图1中描述的产品目录系统124。
在示例实施方式中,客户端设备102可以通过使用产品目录系统124来选择或访问针对给定产品的增强现实(AR)体验,例如增强现实(AR)内容生成器等。产品目录系统124可以访问产品目录服务系统602,产品目录服务系统602提供一个或更多个数据库620中的关于相应产品的产品信息/元数据。
产品目录系统124可以从客户端设备102接收至少所选择的AR体验的指示符(例如,如本文进一步描述的产品AR体验ID),并且对产品表316执行查找、搜索或选择操作以从数据库120检索产品元数据。在示例实施方式中,这样的产品元数据包括产品标识符(ID)。产品目录系统124向客户端设备102提供之前提及的产品元数据,这使得客户端设备102能够访问或启动所选择的AR体验以用于在客户端设备102上显示。
出于填充产品表316的目的,产品目录系统124可以与产品目录服务系统602进行通信。在示例中,产品目录系统124可以向相应服务器发送请求消息,以用于获得与给定物理项有关的元数据。该请求消息可以包括例如产品ID。在实施方式中,如在网络环境600中进一步示出的,这样的服务器是产品目录服务系统602。在实施方式中,产品目录服务系统602被实现为基于电子的服务(例如,网络服务),其可以由给定客户端电子设备(例如客户端设备102)基于特定消息协议中包括产品ID的请求消息来访问。响应于请求消息,产品目录服务系统602可以基于请求消息中所包括的产品ID来执行对与物理项相关的信息或元数据的搜索或数据库查询。
响应于该请求消息,产品目录服务系统602可以向产品目录系统124提供响应消息,在示例实施方式中,该响应消息包括响应于请求而来自数据库620的信息。产品目录系统124可以将接收到的信息存储到数据库120中。至少基于从数据库120中检索到的与产品相关的信息,客户端设备102可以提供用于显示(例如,在消息收发客户端应用104的UI上呈现)产品的AR体验。
在实施方式中,如以上在图6中描述的客户端设备102可以是例如便携式计算设备,例如膝上型计算机、智能电话、外围设备(例如,数码摄像机)、平板设备、可穿戴设备(例如手表、手环、头戴式耳机等)或任何其他合适的设备。之前提及的设备中的每个设备还可以支持触摸屏手势(例如,通过使用触摸屏)或者非触摸手势(例如,通过使用陀螺仪或运动传感器)。在一个或更多个实现方式中,客户端设备102可以例如在虚拟现实或增强现实环境中支持类似触摸屏的手势。在图6中,作为示例,客户端设备102被描绘为具有触摸屏的移动电子设备。在一个或更多个实现方式中,客户端设备102可以是如下面进一步描述的机器,或者可以包括所述机器的全部或一部分。客户端设备102可以包括如下文进一步详细描述的执行用于提供物理项(例如,产品)的AR体验的操作的部件。
图7是示出根据某些示例实施方式的注释系统206的各种模块的框图700。注释系统206被示出为包括图像数据接收模块702、产品信息模块704和增强现实内容生成器模块706。注释系统206的各个模块被配置成(例如,经由总线、共享存储器或交换机)彼此进行通信。这些模块中的任何一个或更多个模块可以使用一个或更多个计算机处理器710(例如,通过将这样的一个或更多个计算机处理器配置成执行针对该模块描述的功能)来实现,因此可以包括计算机处理器710中的一个或更多个(例如,由客户端设备102提供的处理器的集合)。
所描述的模块中的任何一个或更多个模块可以单独使用硬件(例如,机器(例如,机器1700)的计算机处理器710中的一个或更多个)或硬件和软件的组合来实现。例如,注释系统206的任何所描述的模块可以物理地包括被配置成执行本文针对该模块所描述的操作的一个或更多个计算机处理器710(例如,机器(例如,机器1700)的一个或更多个计算机处理器的子集或其中的一个或更多个计算机处理器710)的布置。作为另一示例,注释系统206的任何模块可以包括软件、硬件或软件和硬件两者,其将(例如,在机器(例如,机器1700)的一个或更多个计算机处理器之中的)一个或更多个计算机处理器710的布置配置成执行本文针对该模块描述的操作。因此,注释系统206的不同模块可以包括并配置这样的计算机处理器710的不同布置或这样的计算机处理器710在不同时间点处的单个布置。此外,注释系统206的任何两个或更多个模块可以被组合成单个模块,并且本文针对单个模块描述的功能可以在多个模块之间细分。此外,根据各种示例实施方式,本文中描述为在单个机器、数据库或设备中实现的模块可以跨多个机器、数据库或设备分布。
图像数据接收模块702接收由客户端设备102捕获的图像。例如,图像是由客户端设备102的光学传感器(例如摄像机)捕获的照片。图像包括一个或更多个真实世界特征,例如在图像中检测到的用户的面部或物理对象。在一些实施方式中,图像包括描述该图像的元数据。
至少部分地基于之前提及的分类之一,产品信息模块704可以执行用于确定针对特定产品的产品元数据的操作(例如,处理)。此外,产品信息模块704可以从本文描述的产品目录系统124接收产品元数据。
在实施方式中,增强现实内容生成器模块706使得可选图形项的显示以轮播布置(例如,轮播界面)被呈现。作为示例,用户可以利用各种输入来以与提供图形项的循环视图的轮播相对应的方式将可选图形项旋转到显示屏幕上以及旋转离开显示屏幕。轮播布置允许多个图形项占据显示屏幕上的特定图形区域。在示例中,对应于不同AR内容生成器的相应AR体验可以被组织成相应的组以包括在轮播布置上,从而使得能够按组旋转通过媒体覆盖。尽管提供了轮播界面作为示例,但是可以理解,也可以使用其他图形界面。例如,增强现实内容生成器的集合可以包括图形列表、滚动列表、滚动图形或者使得能够通过各种图形项进行导航以供选择的另一图形界面等。如本文所使用的,轮播界面是指以类似于循环列表的布置显示图形项,从而使得能够基于用户输入(例如,触摸或手势)通过循环列表进行导航以选择或滚动图形项。在示例中,可以在水平(或竖直)线或轴上呈现图形项的集合,其中,每个图形项被表示为特定缩略图像(或图标、化身等)。在任何一个时刻,轮播界面中的一些图形项可以被隐藏。在示例中,如果用户想要查看隐藏的图形项,则用户可以提供用户输入(例如,触摸、手势等)以在特定方向(例如,左、右、上或下等)上滚动图形项。之后,显示轮播界面的后续视图,其中,提供或呈现动画以呈现一个或更多个附加图形项以包括在界面上,并且其中,先前呈现的图形项中的一些可以隐藏在该后续视图中。在实施方式中,以这种方式,用户可以以循环方式来回导航图形项的集合。因此,可以理解,轮播界面可以通过在循环视图中仅显示来自图形项的集合的图像的子集来优化屏幕空间。
增强现实内容生成器模块706利用不同的对象或面部检测处理来检测图像中的对象或面部。在示例中,可以使用成像处理算法和识别技术来检测图像中的用户面部。基于所选择的AR内容生成器,增强现实内容生成器模块706可以基于从轮播界面选择的AR内容生成器来生成并呈现AR体验,以用于在给定客户端设备(例如,客户端设备102)上显示。在实施方式中,来自产品信息模块704的信息(例如,产品ID等)被增强现实内容生成器模块706用来呈现这样的AR内容。
增强现实内容生成器模块706基于由之前提及的模块中的至少一个模块提供的数据来执行内容的呈现以用于由消息收发客户端应用104显示。例如,增强现实内容生成器模块706基于与动画或根据产品信息向所接收的图像数据提供视觉或听觉效果相对应的算法或技术来执行各种操作,这将在本文中进一步描述。
增强现实内容生成器模块706基于由之前提及的模块中的至少一个模块提供的数据来执行消息的呈现以用于由消息收发客户端应用104显示。在示例中,增强现实内容生成器模块706利用图形处理流水线来执行图形操作以呈现消息以进行显示。在示例中,增强现实内容生成器模块706实现可扩展呈现引擎,该可扩展呈现引擎支持与相应媒体覆盖相对应的多个图像处理操作。
在一些实现方式中,增强现实内容生成器模块706提供将二维(2D)对象或来自三维(3D)世界(真实或假想)的对象呈现到2D显示屏幕上的图形系统。在一些实现方式中,这样的图形系统(例如,包括在客户端设备102上的图形系统)包括图形处理单元(GPU),用于执行图像处理操作以及呈现图形元素以进行显示。
在实现方式中,GPU包括逻辑图形处理流水线,逻辑图形处理流水线可以接收2D或3D场景的表示并且提供表示2D图像的位图的输出以进行显示。现有的应用编程接口(API)已经实现了图形流水线模型。这样的API的示例包括开放图形库(OPENGL)API和METAL API。图形处理流水线包括将一组顶点、纹理、缓冲器和状态信息转换成屏幕上的图像帧的多个阶段。在实现方式中,图形处理流水线的阶段之一是着色器,着色器可以用作应用于输入帧(例如,图像或视频)的特定媒体覆盖的一部分。着色器可以被实现为在通常执行若干计算线程的专用处理单元(也称为着色器单元或着色器处理器)上运行的代码,所述代码被编程成针对正在被呈现的片段生成适当等级的色彩和/或特定效果。例如,顶点着色器处理顶点的属性(位置、纹理坐标、色彩等),并且像素着色器处理像素的属性(纹理值、色彩、z深度和α值)。在一些实例中,像素着色器被称为片段着色器。
应当理解,可以提供其他类型的着色器处理。在示例中,在图形处理流水线内利用特定采样速率来呈现整个帧,或者以特定每像素速率执行像素着色。以这种方式,给定客户端设备(例如,客户端设备102)操作图形处理流水线,以将与对象相对应的信息转换成可以由电子设备显示的位图。
图8是示出根据一些实施方式的包括与产品的增强现实体验相对应的附加信息的如图4中所描述的消息注释412的结构的示意图。特别地,附加信息对应于用于呈现AR体验的消息中的信息。
在实施方式中,包括图8所示的附加数据的特定消息400的内容被用于填充存储在数据库120内的用于给定消息的消息表314,该数据库120然后可由产品目录系统124或消息收发客户端应用104访问。如示例实施方式中所示,消息注释412包括与消息的数据相对应的以下要素:
·产品增强现实体验标识符852:消息中利用的增强现实体验(例如,增强现实内容生成器、动画或效果,包括效果、LENSES、过滤器、图像修改器等)的标识符
·消息标识符854:消息的标识符
·资产标识符856:消息中资产的标识符的集合。例如,可以针对由特定AR内容生成器确定的多个资产包括相应的资产标识符。在实施方式中,这样的资产由发送者侧的AR内容生成器创建,被上传到消息收发服务器应用114,并且由接收者侧的AR内容生成器使用,以便重新创建消息。
·与附加元数据相对应的元数据862
图9是示出根据一些实施方式的存储在如图3中描述的产品表316中的与物理项(例如,产品)的信息相对应的产品元数据900的结构的示意图。
在实施方式中,图9所示的数据用于填充存储在数据库120内的产品表316,该数据库120然后可由产品目录系统124或消息收发客户端应用104访问。如示例实施方式中所示,产品元数据900包括以下要素:
·产品标识符902:从来自图像数据的物理识别标识符中提取的产品的标识符(例如,型号、部件号、唯一序列号等)
·产品增强现实体验标识符904:消息中利用的增强现实体验(例如,增强现实内容生成器、动画或效果,包括效果、LENSES、过滤器、图像修改器等)的标识符,其可以用于与图8中讨论的产品增强现实体验标识符852进行比较
·产品元数据906:与对应于产品标识符902的产品相关的信息
在一些实施方式中,本主题技术提供了用于开发(例如,创建和发布)增强现实体验(例如,AR内容生成器)的应用或工具。图10和图11中的以下讨论涉及这样的应用的方面,其涉及提供本文进一步讨论的产品的AR体验。
图10示出了用于在客户端设备上显示项目的信息的示例界面1000。如界面1000中所示,包括图形元素1010以提供用于指示项目对应于产品(例如,“购物”AR体验)的增强现实内容生成器(例如,其提供AR体验)的选项。在示例中,当在用于开发增强现实体验的应用或工具中创建新项目时,显示界面1000。
图11示出了用于基于项目来开发增强现实内容生成器(例如,用于提供AR体验)的应用的示例界面1100。如界面1100中所示,包括各种图形元素以修改和配置AR内容生成器的各个方面。如进一步示出的,AR内容生成器的预览在图形元素集合1110中示出,当被提供以用于在给定客户端设备(例如,客户端设备102)中显示时,该图形元素集合1110可以有利地提供AR内容生成器的模拟呈现。在实施方式中,应用可以是使得能够编辑所生成的给定增强现实内容(包括修改给定增强现实内容生成器的各种属性和交互特性,包括AR内容)的程序。此外,应用可以使得能够编辑与增强现实内容生成器相关联的产品的产品元数据(例如,产品ID等)。
图12示出了根据一些实施方式的描绘用于选择增强现实体验并将其应用于媒体内容(例如,图像或视频)的轮播以及在消息收发客户端应用104(或消息收发系统100)中呈现所应用的增强现实体验的示例用户界面。
在这样的用户界面的实施方式中,可选图形项1250可以以轮播布置被呈现,其中,可选图形项1250的一部分或子集在给定计算设备(例如,客户端设备102)的显示屏幕上可见。作为示例,用户可以利用各种输入来以与提供图形项的循环视图的轮播相对应的方式将可选图形项旋转到显示屏幕上以及旋转离开显示屏幕。因此,在用户界面中提供的轮播布置允许多个图形项占据显示屏幕上的特定图形区域。
如本文所描述的,由相应可选图形项表示的增强现实内容生成器可以被包括在轮播布置上,从而使得能够旋转各种增强现实内容生成器。此外,可以基于包括例如时间、日期、地理位置、与媒体内容相关联的元数据等的各种信号来选择增强现实内容生成器以包括在内。在图12的用户界面示例的轮播布置中,从由本主题系统提供的可用增强现实内容生成器中选择相应的增强现实内容生成器。在图12中,轮播界面中包括的可选图形项可以对应于不同产品的相应AR体验。
在以下讨论中,可选图形项对应于应用于媒体内容(例如,图像或视频数据)的相应的增强现实内容生成器。如用户界面1200所示,对应于轮播布置的可选图形项1250包括电子设备(例如,客户端设备102)的显示屏幕中的可选图形项1251。例如,经由客户端设备102的触摸屏幕接收滑动手势,并且响应于接收到该滑动手势,启用通过可选图形项进行导航,以便于选择特定增强现实(AR)内容生成器。
由用户经由触摸输入(例如,轻击或者通过在手势结束时的触摸释放)来选择可选图形项1251。在该示例中,可选图形项1251对应于与产品(例如,与所示口红相对应的美容/化妆产品)相对应的特定增强现实内容生成器(例如,提供增强现实体验),其包括在客户端设备102的显示屏幕上提供的图形效果或变换等。在实施方式中,与所选AR内容生成器相关联的产品元数据可以指定用于呈现AR内容的对象(例如,与以下示例中的嘴唇相对应的用户面部的一部分)。界面1200还包括可选图形项1254,该可选图形项1254使得在选择时能够显示具有其他产品的菜单和附加界面,这将在下面的图14中更详细地讨论。
在图12的第二示例中,在选择可选图形项1260(例如,对应于产品的特定颜色,该特定颜色是与如所示的口红不同的颜色)时,呈现不同的增强现实体验以进行显示,其中,提供口红的不同颜色作为媒体内容(例如,图像或视频数据)中的用户面部的部分(例如,嘴唇)上的增强现实内容1262。为了显示口红的另一种颜色,用户可以选择可选图形项1261,该可选图形项1261以增强现实内容1262的形式在用户面部的部分(例如,嘴唇)上呈现以显示口红的第二种不同颜色。以这种方式,界面1200使得用户能够选择产品的各种AR体验(例如,不同的口红颜色),这些AR体验呈现以显示产品的各方面,而不需要用户物理地试用或者在用户的实际(物理)面部上使用产品。
图13示出了根据一些实施方式的显示对媒体内容(例如,图像或视频)的增强现实体验的呈现并且在消息收发客户端应用104(或消息收发系统100)中呈现所应用的增强现实体验的示例用户界面。图13继续结合上文针对图12的界面1200描述的示例进行讨论。
如第一示例中所示,在用户选择了可选图形项1261(例如,所选的产品颜色)之后,由AR内容生成器(例如,对应于由可选图形项1251表示的产品)提供AR体验。在实施方式中,可选图形项1261是用于将不同AR内容呈现到用户面部的部分上的产品的AR内容生成器提供的选项。
如进一步所示,提供了可选图形项1354,该可选图形项1354在被选择时使得显示产品的附加信息。还提供了可选图形项1352以使得显示用户可能想要购买的用户的虚拟购物车中的产品集合。同样如图所示,提供了可选图形项1350,该可选图形项1350在被选择时启动用于购买产品(或用户在虚拟购物车中可能具有的产品集合)的过程。
如第二示例所示,用户已经选择了对应于与不同产品(例如,面部化妆品)相关联的不同AR内容生成器的可选图形元素1360。在该示例中,AR内容生成器已经提供AR内容1362,该AR内容1362被应用于用户面部的表示的不同部分(例如,左脸颊和右脸颊),以提供与不同产品相关联的AR体验。与AR内容生成器相关联的产品元数据可以包括确定将在用户面部的表示的左脸颊和右脸颊上呈现AR内容1362的信息。
尽管未明确示出,但是应当理解,可以选择与又一产品相对应的另一可选图形元素,该另一可选图形元素启动与针对所选产品的AR内容生成器相关联的AR体验。因此,本主题技术根据在轮播界面中选择的特定AR内容生成器来向用户提供不同的AR体验。
图14示出了用于浏览由本主题系统提供的AR体验(例如,在上述轮播界面中提供的AR内容生成器)集合的示例用户界面。在实施方式中,产品表316可以包括与相应产品相对应的产品元数据,其可以用于填充界面1400中示出的信息。
如界面1400所示,选项卡式菜单可以包括选项1405,选项1405在被选择时使界面1400基于来自产品表316的产品元数据显示各种产品的布置。如之前所讨论的,这样的产品可以基于由产品目录服务系统602提供的信息。
界面1400还包括搜索条1412,该搜索条1412使得能够输入搜索查询,然后在产品表316上执行该搜索查询。在实施方式中,可以在界面1400中提供给定搜索查询的结果以供用户查看。
在该示例中,图形元素1450对应于上面结合图12和图13讨论的产品(例如口红)。如进一步所示,图形元素1451表示虚拟购物车,该虚拟购物车用于启动购买在界面1400中提供的产品的过程。
在实施方式中,图形区域1455中所示的产品集合被用来选择对应的AR内容生成器以包括在如之前在图12和图13中所讨论的轮播界面中。此外,在选择图形元素1450时,可以提供图12的示例中所示的轮播界面以在客户端设备102上显示。
在选择图形元素1451时,在界面1410中示出了包括与图形元素1450相关联的同一产品的表示相对应的图形元素1460的各种图形元素和信息(例如,价格、数量、退货政策、产品说明、供应商等)。用户可以选择图形元素1462以启动购买由图形元素1460表示的产品(例如口红)的过程。
图15是示出根据某些示例实施方式的提供用于选择特定增强现实内容生成器的轮播界面的方法1500的流程图。方法1500可以体现在计算机可读指令中,所述计算机可读指令用于由一个或更多个计算机处理器执行,使得方法1500的操作可以由消息收发客户端应用104——特别是针对上面在图7中描述的注释系统206的各个部件——部分地或整体地被执行;因此,以下参照其通过示例的方式来描述方法1500。然而,应当理解,方法1500的至少一些操作可以被部署在各种其他硬件配置上,并且方法1500不旨在限于消息收发客户端应用104。
在操作1502处,增强现实内容生成器模块706从多个可用增强现实内容生成器中选择增强现实内容生成器的集合。在示例中,所选择的增强现实内容生成器的集合包括用于基于产品提供增强现实内容的至少一个增强现实内容生成器。在示例中,该产品对应于美容或化妆产品。
在操作1504处,增强现实内容生成器模块706使得能够显示包括可选图形项的轮播界面(例如,如前所讨论的用户界面1200)。可选图形项中的每个可选图形项对应于增强现实内容生成器的集合中的相应增强现实内容生成器。
在操作1506处,增强现实内容生成器模块706在客户端设备(例如,客户端设备102)处接收从可选图形项中对第一可选图形项的选择。在实施方式中,第一可选图形项是用于基于产品来应用第一增强现实内容的第一增强现实内容生成器。在示例中,第一增强现实内容生成器是由在如之前在图10和图11中所描述的消息收发系统中创建增强现实体验的应用创建的。
在操作1508处,增强现实内容生成器模块706将与所选择的第一可选图形项相对应的第一增强现实内容生成器应用于第一图像数据,第一图像数据是用摄像机捕获的。在示例中,所选择的增强现实内容生成器包括使得能够基于产品来处理第一图像数据的逻辑。
为了应用第一增强现实内容生成器,图像数据接收模块702可以接收由客户端设备102的光学传感器(例如,摄像机)捕获的图像数据。
在实施方式中,将第一增强现实内容生成器应用于第一图像数据包括:基于产品元数据,标识第一图像数据的部分以应用第一增强现实内容生成器,以及将第一增强现实内容生成器应用于第一图像数据的部分。第一图像数据的部分可以包括面部的表示的部分或者面部的特定面部特征。如之前所讨论的,在实施方式中,与产品相对应的产品元数据由产品目录服务提供。
在实施方式中,将第一增强现实内容生成器应用于第一图像数据生成了第二图像数据。因此,在示例中,呈现第二图像数据可以通过将第一增强现实内容生成器应用于第一图像数据来完成。
在操作1510处,增强现实内容生成器模块706使得能够显示第二图像数据,第二图像数据包括应用于第一图像数据的第一增强现实内容生成器。在实施方式中,呈现第一增强现实内容和第二图像数据以用于在客户端设备102的显示屏幕上显示。在示例中,第二图像数据的显示使得用户能够查看应用于用户面部的部分的产品的表示。
图16是示出示例软件架构1606的框图,该示例软件架构1606可以与本文中描述的各种硬件架构结合使用。图16是软件架构的非限制性示例,并且应当理解的是,可以实现许多其他架构以促进本文中描述的功能。软件架构1606可以在诸如图17的机器1700的硬件上执行,机器1700包括处理器1704、存储器1714和(输入/输出)I/O部件1718等。示出了代表性硬件层1652,并且该代表性硬件层1652可以表示例如图17的机器1700。代表性硬件层1652包括具有相关联的可执行指令1604的处理单元1654。可执行指令1604表示软件架构1606的可执行指令,所述可执行指令包括本文中描述的方法、部件等的实现方式。硬件层1652还包括也具有可执行指令1604的存储器或存储模块存储器/存储装置1656。硬件层1652还可以包括其他硬件1658。
在图16的示例架构中,软件架构1606可以被概念化为层的堆叠,在该层的堆叠中,每个层提供特定功能。例如,软件架构1606可以包括诸如操作系统1602、库1620、框架/中间件1618、应用1616和表示层1614的层。在操作上,这些层内的应用1616或其他部件可以通过软件堆栈调用API调用1608并且接收如在消息1612中的对API调用1608的响应。所示出的层在本质上是代表性的,并且不是所有软件架构都具有所有的层。例如,一些移动操作系统或专用操作系统可能不提供框架/中间件1618,而其他操作系统可能提供这样的层。其他软件架构可以包括另外的或不同的层。
操作系统1602可以管理硬件资源并且提供公共服务。操作系统1602可以包括例如核1622、服务1624和驱动器1626。核1622可以用作硬件层与其他软件层之间的抽象层。例如,核1622可以负责存储器管理、处理器管理(例如,调度)、部件管理、联网、安全设置等。服务1624可以为其他软件层提供其他公共服务。驱动器1626负责控制底层硬件或与底层硬件对接。例如,根据硬件配置,驱动器1626包括显示器驱动器、摄像装置驱动器、
Figure BDA0003943810730000271
驱动器、闪速存储器驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、
Figure BDA0003943810730000272
驱动器、音频驱动器、电源管理驱动器等。
库1620提供由应用1616或其他部件或层使用的公共基础设施。库1620提供如下功能,该功能允许其他软件组件以比与底层操作系统1602的功能(例如,核1622、服务1624或驱动器1626)直接对接的方式更容易的方式来执行任务。库1620可以包括系统库1644(例如,C标准库),系统库1644可以提供函数例如存储器分配函数、串操纵函数、数学函数等。另外,库1620可以包括API库1646,例如媒体库(例如,支持诸如MPREG4、H.264、MP3、AAC、AMR、JPG、PNG的各种媒体格式的呈现和操纵的库)、图形库(例如,可以用于在显示器上以图形内容呈现2D和3D的OpenGL框架)、数据库库(例如,可以提供各种关系数据库功能的SQLite)、网络库(例如,可以提供网络浏览功能的WebKit)等。库1620还可以包括各种其他库1648,以向应用1616和其他软件组件/模块提供许多其他API。
框架/中间件1618(有时也被称为中间件)提供可以由应用1616或其他软件组件/模块使用的较高级别的公共基础设施。例如,框架/中间件1618可以提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架/中间件1618可以提供可以由应用1616或其他软件组件/模块使用的广泛的其他API,其中一些可以专用于特定操作系统1602或平台。
应用1616包括内置应用1638或第三方应用1640。代表性内置应用1638的示例可以包括但不限于:联系人应用、浏览器应用、图书阅读器应用、位置应用、媒体应用、消息收发应用或游戏应用。第三方应用1640可以包括由除了特定平台的供应商之外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用,并且可以是在诸如IOSTM、ANDROIDTM
Figure BDA0003943810730000281
电话的移动操作系统或其他移动操作系统上运行的移动软件。第三方应用1640可以调用由移动操作系统(例如,操作系统1602)提供的API调用1608,以促进本文中描述的功能。
应用1616可以使用内置操作系统功能(例如,核1622、服务1624或驱动器1626)、库1620和框架/中间件1618来创建用户接口以与系统的用户进行交互。可替选地或另外地,在一些系统中,可以通过表示层例如表示层1614来进行与用户的交互。在这些系统中,应用/组件“逻辑”可以与应用/组件的与用户交互的方面分开。
图17是示出根据一些示例实施方式的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文所讨论的方法中的任一种或更多种方法的机器1700的部件的框图。具体地,图17示出了呈计算机系统的示例形式的机器1700的示意表示,在该机器1700内可以执行用于使机器1700执行本文讨论的方法中的任何一种或更多种方法的指令1710(例如,软件、程序、应用、小程序、app或其他可执行代码)。同样地,指令1710可以被用于实现本文中描述的模块或组件。指令1710将通用的未编程的机器1700转换成特定机器1700,该特定机器1700被编程成以所描述的方式执行所描述和所示出的功能。在替选实施方式中,机器1700作为独立装置进行操作或者可以耦接(例如,联网)至其他机器。在联网部署中,机器1700可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器1700可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web装置、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器1700采取的动作的指令1710的任何机器。此外,虽然仅示出了单个机器1700,但是术语“机器”还应被视为包括单独或联合执行指令1710以执行本文中讨论的方法中的任何一个或更多个方法的机器的集合。
机器1700可以包括处理器1704(包括处理器1708至处理器1712)、存储器/存储装置1706和I/O部件1718,它们可以被配置成例如经由总线1702彼此通信。存储器/存储装置1706可以包括存储器1714例如主存储器或其他存储装置以及存储单元1716,处理器1704能够例如经由总线1702访问存储器1714和存储单元1716两者。存储单元1716和存储器1714存储体现本文中描述的方法或功能中的任何一个或更多个方法或功能的指令1710。指令1710还可以在其被机器1700执行期间完全地或部分地驻留在存储器1714内、存储单元1716内、处理器1704中的至少一个内(例如,处理器的高速缓冲存储器内)或者它们的任何合适的组合内。因此,存储器1714、存储单元1716以及处理器1704的存储器是机器可读介质的示例。
I/O部件1718可以包括接收输入、提供输出、产生输出、传送信息、交换信息、捕获测量结果等的各种各样的部件。包括在特定机器1700中的具体I/O部件1718将取决于机器的类型。例如,诸如移动电话的便携式机器将很可能包括触摸输入装置或其他这样的输入机构,而无头服务器(headless server)机器将很可能不包括这样的触摸输入装置。应当理解的是,I/O部件1718可以包括图17中未示出的许多其他部件。I/O部件1718根据功能被分组,仅是为了简化下面的讨论,并且分组决不是限制性的。在各种示例实施方式中,I/O部件1718可以包括输出部件1726和输入部件1728。输出部件1726可以包括视觉部件(例如,诸如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、听觉部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。输入部件1728可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他定点仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的位置或力的触摸屏、或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
在其他示例实施方式中,I/O部件1718可以包括生物特征识别部件1730、运动部件1734、环境部件1736或定位部件1738以及各种其他部件。例如,生物特征识别部件1730可以包括用于检测表达(例如,手表达、面部表情、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1734可以包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件1736可以包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测周围温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、听觉传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近物体的红外传感器)、气体传感器(例如,出于安全考虑而检测危险气体的浓度或者测量大气中的污染物的气体检测传感器)或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。定位部件1738可以包括定位传感器部件(例如,GPS接收器部件)、海拔高度传感器部件(例如,检测可以从其得出海拔高度的气压的高度计或气压计)、取向传感器部件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O部件1718可以包括通信部件1740,该通信部件1740能够操作成分别经由耦接1724和耦接1722将机器1700耦接至网络1732或设备1720。例如,通信部件1740可以包括网络接口部件或其他合适的设备以与网络1732对接。在其他示例中,通信部件1740可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、
Figure BDA0003943810730000301
部件(例如,低功耗
Figure BDA0003943810730000302
)、
Figure BDA0003943810730000303
部件以及经由其他模态提供通信的其他通信部件。设备1720可以是另一机器或各种外围设备中的任何外围设备(例如,经由USB耦接的外围设备)。
此外,通信部件1740可以检测标识符或包括可操作以检测标识符的部件。例如,通信部件1740可以包括射频识别(RFID)标签读取器部件、NFC智能标签检测部件、光学读取器部件(例如,用于检测下述项的光学传感器:一维条形码诸如通用产品代码(UPC)条形码;多维条形码,诸如快速响应(QR)代码、Aztec代码、数据矩阵、数据图示符(Dataglyph)、麦克斯码(MaxiCode)、PDF417、超代码、UCC RSS-2D条形码和其他光学代码)、或者声学检测部件(例如,用于标识标记的音频信号的麦克风)。另外,可以经由通信部件1740得到各种信息,例如,经由因特网协议(IP)地理位置得到位置、经由
Figure BDA0003943810730000311
信号三角测量得到位置、经由检测可以指示特定位置的NFC信标信号得到位置等。
以下讨论涉及贯穿本主题公开内容提及的各种术语或短语。
“信号介质”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以有助于软件或数据的通信。术语“信号介质”应当被视为包括任何形式的经调制的数据信号、载波等。术语“经调制的数据信号”意指使其特性中的一个或更多个特性以对信号中的信息进行编码的这样的方式来设置或改变的信号。术语“传输介质”和“信号介质”意指相同的事物,并且可以在本公开内容中互换使用。
“通信网络”是指网络的一个或更多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、
Figure BDA0003943810730000312
网络、另一类型的网络、或者两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何数据传输技术,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、GSM演进的增强数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动通信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他数据传输技术、其他长距离协议或其他数据传输技术。
“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并且产生被应用以操作机器的对应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑模拟的物理电路)。例如,处理器可以是中央处理单元(CPU)、简化指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)或它们的任何组合。处理器还可以是具有可以同时执行指令的两个或更多个独立处理器(有时被称为“核”)的多核处理器。
“机器存储介质”指的是存储可执行指令、例程或数据的单个或多个存储设备或介质(例如,集中式或分布式数据库、或相关联的高速缓冲存储器和服务器)。因此,上述术语应被视为包括但不限于固态存储器以及光学和磁性介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质或设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FPGA和闪速存储器设备;磁盘,例如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。术语“机器存储介质”、“设备存储介质”、“计算机存储介质”意指相同的事物,并且在本公开内容中可以互换使用。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、经调制的数据信号和其他这样的介质,载波、经调制的数据信号和其他这样的介质中的至少一些被涵盖在术语“信号介质”中。
“部件”是指具有以下边界的设备、物理实体或逻辑,所述边界由功能或子例程调用、分支点、API或提供用于对特定处理或控制功能进行划分或模块化的其他技术来定义。部件可以经由它们的接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元并且可以是通常执行相关功能中的特定功能的程序的一部分。部件可以构成软件部件(例如,体现在机器可读介质上的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)可以通过软件(例如,应用或应用部分)被配置为操作成执行如本文中描述的某些操作的硬件部件。也可以机械地、电子地或其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件部件还可以包括通过软件被短暂配置成执行某些操作的可编程逻辑或电路系统。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件被配置,则硬件部件成为被唯一地定制成执行配置的功能的特定机器(或机器的特定部件),并且不再是通用处理器。将理解的是,可以出于成本和时间考虑来推动在专用且永久配置的电路系统中或在短暂配置(例如,通过软件配置)的电路系统中机械地实现硬件部件的决策。因此,短语“硬件部件”(或者“硬件实现的部件”)应当被理解成包含有形实体,即为被物理构造、永久配置(例如,硬连线)或短暂配置(例如,编程)成以某种方式进行操作或者执行本文中描述的某些操作的实体。考虑硬件部件被短暂配置(例如,被编程)的实施方式,无需在任一时刻对硬件部件中的每个硬件部件进行配置或实例化。例如,在硬件部件包括通过软件被配置成专用处理器的通用处理器的情况下,该通用处理器可以在不同时间处分别被配置为不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置一个特定处理器或多个特定处理器以例如在一个时刻处构成特定硬件部件并且在不同的时刻处构成不同的硬件部件。硬件部件可以向其他硬件部件提供信息并且从其他硬件部件接收信息。相应地,所描述的硬件部件可以被认为是通信上耦接的。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在其中多个硬件部件在不同时间处被配置或被实例化的实施方式中,可以例如通过将信息存储在多个硬件部件可以访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在通信上耦接的存储器设备中。然后,另外的硬件部件可以在随后的时间处访问存储器设备,以检索和处理所存储的输出。硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源进行操作(例如,信息的收集)。本文中描述的示例方法的各种操作可以至少部分地由暂时被配置(例如,由软件)或永久地被配置成执行相关操作的一个或更多个处理器来执行。无论是短暂配置还是永久配置,这样的处理器可以构成进行操作以执行本文描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中,特定的一个或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或更多个处理器或处理器实现的部件来执行。此外,一个或更多个处理器还可以进行操作以支持“云计算”环境中的相关操作的执行或者操作为“软件即服务”(SaaS)。例如,操作中的至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,其中,这些操作能够经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,API)被访问。某些操作的执行可以分布在处理器之间,不仅驻留在单个机器内,而且跨多个机器被部署。在一些示例实施方式中,处理器或处理器实现的部件可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的部件可以跨多个地理位置分布。
“载波信号”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以有助于这样的指令的通信。可以使用传输介质经由网络接口设备来通过网络发送或接收指令。
“计算机可读介质”是指机器存储介质和传输介质两者。因此,这些术语包括存储设备/介质和载波/经调制的数据信号两者。术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物,并且可以在本公开内容中可互换地使用。
“客户端设备”是指与通信网络接口以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。在本公开内容中,客户端设备也被称为“电子设备”。
“短暂消息”是指在时间有限的持续时间内可访问的消息。短暂消息可以是文本、图像、视频等。针对短暂消息的访问时间可以由消息发送者设置。可替选地,访问时间可以是默认设置或者由接收者指定的设置。无论设置技术如何,该消息都是暂时的。
“信号介质”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以有助于软件或数据的通信。术语“信号介质”应当被视为包括任何形式的经调制的数据信号、载波等。术语“经调制的数据信号”意指使其特性中的一个或更多个特性以对信号中的信息进行编码的这样的方式来设置或改变的信号。术语“传输介质”和“信号介质”意指相同的事物,并且可以在本公开内容中互换使用。
“通信网络”是指网络的一个或更多个部分,该网络可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、
Figure BDA0003943810730000351
网络、其他类型的网络或者两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何数据传输技术,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、GSM演进的增强数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动通信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他数据传输技术、其他长距离协议或其他数据传输技术。
“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并且产生被应用以操作机器的对应输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑模拟的物理电路)。例如,处理器可以是中央处理单元(CPU)、简化指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)或它们的任何组合。处理器还可以是具有可以同时执行指令的两个或更多个独立处理器(有时被称为“核”)的多核处理器。
“机器存储介质”指的是存储可执行指令、例程或数据的单个或多个存储设备或介质(例如,集中式或分布式数据库、或相关联的高速缓冲存储器和服务器)。因此,上述术语应被视为包括但不限于固态存储器以及光学和磁性介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质或设备存储介质的具体示例包括:非易失性存储器,包括例如半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FPGA和闪速存储器设备;磁盘,例如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。术语“机器存储介质”、“设备存储介质”、“计算机存储介质”意指相同的事物,并且在本公开内容中可以互换使用。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、经调制的数据信号和其他这样的介质,载波、经调制的数据信号和其他这样的介质中的至少一些被涵盖在术语“信号介质”中。
“部件”是指具有以下边界的设备、物理实体或逻辑,所述边界由功能或子例程调用、分支点、API或提供用于对特定处理或控制功能进行划分或模块化的其他技术来定义。部件可以经由它们的接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元并且可以是通常执行相关功能中的特定功能的程序的一部分。部件可以构成软件部件(例如,体现在机器可读介质上的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实施方式中,一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)可以通过软件(例如,应用或应用部分)被配置为进行操作以执行如本文中描述的某些操作的硬件部件。也可以机械地、电子地或其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件部件还可以包括通过软件被短暂配置成执行某些操作的可编程逻辑或电路系统。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件被配置,则硬件部件成为被唯一地定制成执行配置的功能的特定机器(或机器的特定部件),并且不再是通用处理器。将理解的是,可以出于成本和时间考虑来推动在专用且永久配置的电路系统中或在短暂配置(例如,通过软件配置)的电路系统中机械地实现硬件部件的决策。因此,短语“硬件部件”(或者“硬件实现的部件”)应当被理解成包含有形实体,即为被物理构造、永久配置(例如,硬连线)或短暂配置(例如,被编程)成以某种方式进行操作或者执行本文中描述的某些操作的实体。考虑硬件部件被短暂配置(例如,被编程)的实施方式,无需在任一时刻对硬件部件中的每个硬件部件进行配置或实例化。例如,在硬件部件包括通过软件配置成专用处理器的通用处理器的情况下,该通用处理器可以在不同时间处分别被配置为不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置一个特定处理器或多个特定处理器以例如在一个时刻处构成特定硬件部件并且在不同时刻处构成不同的硬件部件。硬件部件可以向其他硬件部件提供信息并且从其他硬件部件接收信息。相应地,所描述的硬件部件可以被认为是通信上耦接的。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在其中多个硬件部件在不同时间处被配置或被实例化的实施方式中,可以例如通过将信息存储在多个硬件部件可以访问的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作,并且将该操作的输出存储在通信上耦接的存储器设备中。然后,另外的硬件部件可以在随后的时间处访问存储器设备,以检索和处理所存储的输出。硬件部件还可以发起与输入或输出设备的通信,并且可以对资源进行操作(例如,信息的收集)。本文中描述的示例方法的各种操作可以至少部分地由被短暂地配置(例如,由软件)或被永久地配置成执行相关操作的一个或更多个处理器来执行。无论是短暂配置还是永久配置,这样的处理器可以构成进行操作以执行本文描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,本文中描述的方法可以至少部分地由处理器实现,其中,特定的一个或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或更多个处理器或处理器实现的部件来执行。此外,一个或更多个处理器还可以进行操作以支持“云计算”环境中的相关操作的执行或者操作为“软件即服务”(SaaS)。例如,操作中的至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,其中,这些操作能够经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,API)被访问。某些操作的执行可以分布在处理器之间,不仅驻留在单个机器内,而且跨多个机器被部署。在一些示例实施方式中,处理器或处理器实现的部件可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施方式中,处理器或处理器实现的部件可以跨多个地理位置分布。
“载波信号”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以有助于这样的指令的通信。可以使用传输介质经由网络接口设备来通过网络发送或接收指令。
“计算机可读介质”是指机器存储介质和传输介质两者。因此,这些术语包括存储设备/介质和载波/经调制的数据信号两者。术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物,并且可以在本公开内容中可互换地使用。
“客户端设备”是指与通信网络对接以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。
“短暂消息”是指在时间有限的持续时间内可访问的消息。短暂消息可以是文本、图像、视频等。针对短暂消息的访问时间可以由消息发送者设置。可替选地,访问时间可以是默认设置或者由接收者指定的设置。无论设置技术如何,该消息都是暂时的。

Claims (20)

1.一种方法,包括:
从多个可用增强现实内容生成器中选择增强现实内容生成器的集合,所选择的增强现实内容生成器的集合包括用于基于产品来提供增强现实内容的至少一个增强现实内容生成器;
使得显示包括多个可选图形项的轮播界面,每个可选图形项对应于所述增强现实内容生成器的集合中的相应增强现实内容生成器;
在客户端设备处接收从所述多个可选图形项中对第一可选图形项的选择,所述第一可选图形项包括第一增强现实内容生成器,所述第一增强现实内容生成器用于基于所述产品来应用第一增强现实内容;
将与所选择的第一可选图形项相对应的第一增强现实内容生成器应用于第一图像数据,所述第一图像数据是用摄像机捕获的;以及
使得显示第二图像数据,所述第二图像数据包括应用于所述第一图像数据的第一增强现实内容生成器。
2.根据权利要求1所述的方法,还包括:
经由所述客户端设备的触摸屏幕接收滑动手势;以及
响应于接收到所述滑动手势,使得通过所述多个可选图形项进行导航。
3.根据权利要求1所述的方法,其中,将所述第一增强现实内容生成器应用于所述第一图像数据来生成所述第二图像数据。
4.根据权利要求1所述的方法,其中,将所述第一增强现实内容生成器应用于所述第一图像数据包括:
基于产品元数据,标识所述第一图像数据的部分以应用所述第一增强现实内容生成器;以及
将所述第一增强现实内容生成器应用于所述第一图像数据的所述部分。
5.根据权利要求4所述的方法,其中,所述第一图像数据的所述部分包括面部的表示的部分或所述面部的特定面部特征。
6.根据权利要求1所述的方法,其中,使得显示所述第二图像数据包括:
呈现所述第一增强现实内容和所述第二图像数据。
7.根据权利要求1所述的方法,其中,所述第一增强现实内容生成器由在消息收发系统中创建增强现实体验的应用创建。
8.根据权利要求1所述的方法,其中,与所述产品相对应的产品元数据由产品目录服务提供。
9.根据权利要求1所述的方法,其中,所述产品对应于美容或化妆产品。
10.根据权利要求9所述的方法,其中,所述第二图像数据的显示使得用户能够查看应用于用户的面部的部分的产品的表示。
11.一种系统,包括:
处理器;以及
包括指令的存储器,所述指令在由所述处理器执行时使所述处理器执行操作,所述操作包括:
从多个可用增强现实内容生成器中选择增强现实内容生成器的集合,所选择的增强现实内容生成器的集合包括至少一个增强现实内容生成器,所述至少一个增强现实内容生成器用于基于产品来提供增强现实内容;
使得显示包括多个可选图形项的轮播界面,每个可选图形项对应于所述增强现实内容生成器的集合中的相应增强现实内容生成器;
在客户端设备处接收从所述多个可选图形项中对第一可选图形项的选择,所述第一可选图形项包括第一增强现实内容生成器,所述第一增强现实内容生成器用于基于所述产品来应用第一增强现实内容;
将与所选择的第一可选图形项相对应的第一增强现实内容生成器应用于第一图像数据,所述第一图像数据是用摄像机捕获的;以及
使得显示第二图像数据,所述第二图像数据包括应用于所述第一图像数据的第一增强现实内容生成器。
12.根据权利要求11所述的系统,其中,所述存储器包括另外的指令,所述另外的指令还使所述处理器执行另外的操作,所述另外的操作包括:
经由所述客户端设备的触摸屏幕接收滑动手势;以及
响应于接收到所述滑动手势,使得通过所述多个可选图形项进行导航。
13.根据权利要求11所述的系统,其中,将所述第一增强现实内容生成器应用于所述第一图像数据来生成所述第二图像数据。
14.根据权利要求11所述的系统,其中,所述存储器包括另外的指令,所述另外的指令还使所述处理器执行另外的操作,所述另外的操作包括:
基于产品元数据,标识所述第一图像数据的部分以应用所述第一增强现实内容生成器;以及
将所述第一增强现实内容生成器应用于所述第一图像数据的所述部分。
15.根据权利要求14所述的系统,其中,所述第一图像数据的所述部分包括面部的表示的部分或所述面部的特定面部特征。
16.根据权利要求11所述的系统,其中,所述存储器包括另外的指令,所述另外的指令还使所述处理器执行另外的操作,所述另外的操作包括:
呈现所述第一增强现实内容和所述第二图像数据。
17.根据权利要求11所述的系统,其中,所述第一增强现实内容生成器由在消息收发系统中创建增强现实体验的应用创建。
18.根据权利要求11所述的系统,其中,与所述产品相对应的产品元数据由产品目录服务提供。
19.根据权利要求11所述的系统,其中,所述产品对应于美容或化妆产品。
20.一种包括指令的非暂态计算机可读介质,所述指令在由计算设备执行时使所述计算设备执行操作,所述操作包括:
从多个可用增强现实内容生成器中选择增强现实内容生成器的集合,所选择的增强现实内容生成器的集合包括至少一个增强现实内容生成器,所述至少一个增强现实内容生成器用于基于产品来提供增强现实内容;
使得显示包括多个可选图形项的轮播界面,每个可选图形项对应于所述增强现实内容生成器的集合中的相应增强现实内容生成器;
在客户端设备处接收从所述多个可选图形项中对第一可选图形项的选择,所述第一可选图形项包括第一增强现实内容生成器,所述第一增强现实内容生成器用于基于所述产品来应用第一增强现实内容;
将与所选择的第一可选图形项相对应的第一增强现实内容生成器应用于第一图像数据,所述第一图像数据是用摄像机捕获的;以及
使得显示第二图像数据,所述第二图像数据包括应用于所述第一图像数据的第一增强现实内容生成器。
CN202180035241.8A 2020-03-31 2021-03-24 用于消息收发系统中的物理产品的增强现实体验 Pending CN115605897A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063002956P 2020-03-31 2020-03-31
US63/002,956 2020-03-31
PCT/US2021/070302 WO2021203119A1 (en) 2020-03-31 2021-03-24 Augmented reality experiences for physical products in a messaging system

Publications (1)

Publication Number Publication Date
CN115605897A true CN115605897A (zh) 2023-01-13

Family

ID=77856415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180035241.8A Pending CN115605897A (zh) 2020-03-31 2021-03-24 用于消息收发系统中的物理产品的增强现实体验

Country Status (5)

Country Link
US (1) US11900504B2 (zh)
EP (1) EP4128124A1 (zh)
KR (1) KR20220161461A (zh)
CN (1) CN115605897A (zh)
WO (1) WO2021203119A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893790B2 (en) 2020-03-30 2024-02-06 Snap Inc. Augmented reality item collections
US11900504B2 (en) 2020-03-31 2024-02-13 Snap Inc. Augmented reality experiences for physical products in a messaging system

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11409368B2 (en) * 2020-03-26 2022-08-09 Snap Inc. Navigating through augmented reality content
US11360733B2 (en) 2020-09-10 2022-06-14 Snap Inc. Colocated shared augmented reality without shared backend
WO2022147404A1 (en) * 2020-12-30 2022-07-07 Snap Inc. Automated content curation for generating composite augmented reality content
US11949527B2 (en) 2022-04-25 2024-04-02 Snap Inc. Shared augmented reality experience in video chat

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8982110B2 (en) * 2005-03-01 2015-03-17 Eyesmatch Ltd Method for image transformation, augmented reality, and teleperence
US20090231356A1 (en) 2008-03-17 2009-09-17 Photometria, Inc. Graphical user interface for selection of options from option groups and methods relating to same
KR101686913B1 (ko) 2009-08-13 2016-12-16 삼성전자주식회사 전자기기에서 이벤트 서비스 제공 방법 및 장치
US8451266B2 (en) * 2009-12-07 2013-05-28 International Business Machines Corporation Interactive three-dimensional augmented realities from item markers for on-demand item visualization
US20120116909A1 (en) * 2010-11-08 2012-05-10 Julio Cesar Saenz Reverse bidding system and method
US8190609B1 (en) * 2011-08-18 2012-05-29 Google Inc. Identifying alternative products
EP2801016A1 (en) * 2011-10-11 2014-11-12 Serge Media Inc. System and methods for content-search carousel for mobile-computing devices
WO2014031899A1 (en) 2012-08-22 2014-02-27 Goldrun Corporation Augmented reality virtual content platform apparatuses, methods and systems
US9336541B2 (en) * 2012-09-21 2016-05-10 Paypal, Inc. Augmented reality product instructions, tutorials and visualizations
US9269012B2 (en) 2013-08-22 2016-02-23 Amazon Technologies, Inc. Multi-tracker object tracking
US9841870B2 (en) 2014-08-21 2017-12-12 The Boeing Company Integrated visualization and analysis of a complex system
KR102505864B1 (ko) * 2015-05-06 2023-03-03 최명수 얼굴 이미지에 대응하여 메이크업 지도 콘텐트를 실시간으로 생성 및 적용하는 메이크업 지원 방법
US10147129B1 (en) 2015-06-26 2018-12-04 Amazon Technologies, Inc. Determining collections of similar items
US10007352B2 (en) 2015-08-21 2018-06-26 Microsoft Technology Licensing, Llc Holographic display system with undo functionality
CN106817394B (zh) * 2015-12-02 2020-06-23 阿里巴巴集团控股有限公司 传输产品配置参数的方法和服务器
KR20170090057A (ko) * 2016-01-28 2017-08-07 라경진 화장품 테스트 시스템 및 방법
US10114885B1 (en) 2016-05-23 2018-10-30 Amazon Technologies, Inc. Generating a set of representative items using a clustering-selection strategy
EP3535756B1 (en) 2016-11-07 2021-07-28 Snap Inc. Selective identification and order of image modifiers
US10043317B2 (en) * 2016-11-18 2018-08-07 International Business Machines Corporation Virtual trial of products and appearance guidance in display device
US10565795B2 (en) 2017-03-06 2020-02-18 Snap Inc. Virtual vision system
US10348658B2 (en) 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations
US10356341B2 (en) 2017-10-13 2019-07-16 Fyusion, Inc. Skeleton-based effects and background replacement
US10712811B2 (en) * 2017-12-12 2020-07-14 Facebook, Inc. Providing a digital model of a corresponding product in a camera feed
US10430016B2 (en) 2017-12-22 2019-10-01 Snap Inc. Augmented reality user interface control
US11209442B2 (en) 2017-12-22 2021-12-28 Google Llc Image selection suggestions
US10684764B2 (en) 2018-03-28 2020-06-16 Microsoft Technology Licensing, Llc Facilitating movement of objects using semantic analysis and target identifiers
US10375313B1 (en) * 2018-05-07 2019-08-06 Apple Inc. Creative camera
US10665008B2 (en) 2018-05-31 2020-05-26 Microsoft Technology Licensing, Llc Hybrid traversal of object sets
US20200020173A1 (en) 2018-07-16 2020-01-16 Zohirul Sharif Methods and systems for constructing an animated 3d facial model from a 2d facial image
KR102160092B1 (ko) * 2018-09-11 2020-09-25 스노우 주식회사 레이어드 마스크와 룩업테이블을 이용한 이미지 처리 방법 및 시스템
US11069094B1 (en) * 2019-05-13 2021-07-20 Facebook, Inc. Generating realistic makeup in a digital video stream
US11335088B2 (en) 2020-03-30 2022-05-17 Snap Inc. Augmented reality item collections
WO2021203119A1 (en) 2020-03-31 2021-10-07 Snap Inc. Augmented reality experiences for physical products in a messaging system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893790B2 (en) 2020-03-30 2024-02-06 Snap Inc. Augmented reality item collections
US11900504B2 (en) 2020-03-31 2024-02-13 Snap Inc. Augmented reality experiences for physical products in a messaging system

Also Published As

Publication number Publication date
US11900504B2 (en) 2024-02-13
WO2021203119A1 (en) 2021-10-07
EP4128124A1 (en) 2023-02-08
KR20220161461A (ko) 2022-12-06
US20210304453A1 (en) 2021-09-30

Similar Documents

Publication Publication Date Title
US11809507B2 (en) Interfaces to organize and share locations at a destination geolocation in a messaging system
US11816805B2 (en) Augmented reality content generator for suggesting activities at a destination geolocation
US11836826B2 (en) Augmented reality content generators for spatially browsing travel destinations
US20220101565A1 (en) Augmented reality content generators for identifying destination geolocations and planning travel
US11900504B2 (en) Augmented reality experiences for physical products in a messaging system
CN117157674A (zh) 用于第三方应用的增强现实内容中的面部合成
CN117321640A (zh) 包括面部合成的交互式增强现实内容
CN116420171A (zh) 程序地生成增强现实内容生成器
CN114902171A (zh) 消息系统中的捕获后处理
CN116685935A (zh) 确定注视方向以生成增强现实内容
CN115668119A (zh) 用于消息收发系统的具有标贴的回复界面
US20220101355A1 (en) Determining lifetime values of users in a messaging system
CN117099133A (zh) 叠加的增强现实内容中的面部合成
US20240161350A1 (en) Augmented reality experiences for physical products in a messaging system
EP4222685A1 (en) Utilizing lifetime values of users to select content for presentation in a messaging system

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