CN115735231A - 基于产品数据的增强现实内容 - Google Patents

基于产品数据的增强现实内容 Download PDF

Info

Publication number
CN115735231A
CN115735231A CN202180046068.1A CN202180046068A CN115735231A CN 115735231 A CN115735231 A CN 115735231A CN 202180046068 A CN202180046068 A CN 202180046068A CN 115735231 A CN115735231 A CN 115735231A
Authority
CN
China
Prior art keywords
product
content
visual effect
user
client application
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
CN202180046068.1A
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 CN115735231A publication Critical patent/CN115735231A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/2431Multiple classes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0641Shopping interfaces
    • G06Q30/0643Graphical representation of items or shoppers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • 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
    • 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
    • G06V40/165Detection; Localisation; Normalisation using facial parts and geometric relationships
    • 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/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/2621Cameras specially adapted for the electronic generation of special effects during image pickup, e.g. digital cameras, camcorders, video cameras having integrated special effects capability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • H04N5/272Means for inserting a foreground image in a background image, i.e. inlay, outlay
    • H04N2005/2726Means for inserting a foreground image in a background image, i.e. inlay, outlay for simulating a person's appearance, e.g. hair style, glasses, clothes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Data Mining & Analysis (AREA)
  • Geometry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Architecture (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

在一个或更多个实现方式中,可以获得关于多个产品的信息。与每个产品对应的视觉效果可以被应用于包括在用户内容中的对象,以改变包括在用户内容中的对象的外观。增强现实内容可被实现以引起对包括在用户内容中的一个或更多个对象的外观的改变。在各种示例中,与不同产品相关的多个视觉效果可以被应用于包括在用户内容中的对象。可以产生用户界面,该用户界面包括关于应用于包括在用户内容中的对象的每个产品的信息。

Description

基于产品数据的增强现实内容
优先权要求
本专利申请要求于2020年6月29日提交的美国申请序列号62/705,472的优先权的权益,该美国申请通过引用整体并入本文。
背景技术
由客户端设备执行的应用可以用于生成内容。例如,客户端应用可以用于生成消息传递内容、图像内容、视频内容、音频内容、媒体叠加、文件、创意作品、其组合等。在各种情况下,客户端应用还可以用于从产品的卖方购买产品。
附图说明
在不一定按比例绘制的附图中,相同的附图标记可以在不同视图中描述类似的部件。为了容易地识别对任何特定元件或动作的讨论,附图标记中的一个或多个最高位数字是指该元件被首次引入时所在的图号。以示例而非限制的方式示出了一些实现方式。
图1是根据一个或更多个示例实现方式的用于通过网络交换数据(例如,消息和相关联的内容)的架构的图形表示。
图2是根据一些示例的可以具有客户端侧功能和服务器侧功能两者的系统的图形表示。
图3是示出根据一个或更多个示例实现方式的可以存储在服务器系统的数据库中的数据的示意图。
图4是示出根据一个或更多个示例实现方式的可以由客户端应用生成的内容的示例框架的示意图。
图5是示出根据一个或更多个示例实现方式的用于确定用于使用增强现实内容来修改个人外观的一个或更多个产品的架构的图形表示。
图6是示出根据一个或更多个示例实现方式的用于确定用于使用增强现实内容来修改个人外观的产品列表的过程的示例操作的流程图。
图7是示出根据一个或更多个示例实现方式的用于应用增强现实内容来修改个人外观的过程的示例操作的流程图。
图8是根据一个或更多个示例实现方式的包括用户界面元件的用户界面的图示,该用户界面元件能够被选择以发起提供视觉效果选项来修改包括在用户内容中的对象的外观的过程。
图9是根据一个或更多个示例实现方式的包括与第一产品分类对应的第一数目的视觉效果选项的用户界面的图示,所述第一数目的视觉效果选项可以应用于修改个人外观。
图10是根据一个或更多个示例实现方式的包括与第二产品分类对应的第二数目的视觉效果选项的用户界面的图示,所述第二数目的视觉效果选项可以应用于修改个人外观。
图11是根据一个或更多个示例实现方式的包括用户界面元件的用户界面的图示,该用户界面元件能够被选择以查看用于修改个人外观的产品列表。
图12是根据一个或更多个示例实现方式的包括用于修改个人外观的产品列表的用户界面的图示。
图13是示出根据一个或更多个示例实现方式可以从一个或更多个机器可读介质读取和执行指令以执行本文中描述的任何一种或更多种方法的计算机系统形式的机器的部件的框图。
图14是示出根据一个或更多个示例实现方式的可以与本文中描述的一个或更多个硬件架构结合使用的代表性软件架构的框图。
具体实施方式
个人可以访问包括关于产品的信息的内容。该信息可以包括使用该产品的其他个人的一个或更多个图像。在产品是美容产品的情况下,个人可以访问显示在应用于另外的个人之后的美容产品的内容。例如,内容可以显示应用于个人面部的美容产品,例如口红、眼影、粉底、遮瑕膏、粉饼等。在许多情况下,在内容中的应用美容产品的个人与观看内容的个人具有不同的面部特征。由于这些原因,对于个人而言,想象美容产品在应用于其面部时的样子可能具有挑战性。因此,购买美容产品可以亲自执行,并且可以在使用美容产品的样品进行一定量的实验之后进行。
在一些现有系统中,可以产生显示一个或更多个美容产品应用于个人面部的模拟。然而,在模拟中应用一个或更多个美容产品的个人通常不是选择在模拟中应用的美容产品的用户。在这些情况下,将美容产品应用于另外的个人的面部可能不会反映美容产品在应用于用户面部时的样子。在另外的情况下,现有系统可以在先前捕获的用户图像中而不是用户的实时图像中产生应用于用户面部的美容产品的模拟。现有系统通常还受限于可以用于产生模拟的产品源的数目。此外,用于共享模拟、共享关于模拟中使用的产品的信息以及与现有系统的其他用户交互的选项通常是有限的。
本文中描述的系统、方法、技术、指令序列和计算机器程序产品旨在基于用户选择的产品数据生成增强现实内容。增强现实内容可以被实现为基于通过应用一个或更多个产品产生的视觉特征来引起对包括在用户内容中的一个或更多个对象的外观的改变。在一个或更多个示例中,服务器系统可以获得与多个产品相关的信息并且生成多个选项,所述多个选项可由客户端应用的用户选择以针对个人应用产品的一个或更多个特征。服务器系统可以分析关于多个产品的信息,并且确定可以产生的与客户端应用的用户的图像相关的多个视觉效果。在各种示例中,视觉效果可以通过实现与一个或更多个视觉效果对应的增强现实内容来产生,所述一个或更多个视觉效果与由用户选择以针对用户应用一个或更多个产品的选项相关。在一个或更多个说明性示例中,客户端应用还可以包括消息收发功能或社交网络功能中的至少一个。因此,用户可以经由消息或社交网络中的至少一个与用户的联系人共享产品信息。客户端应用的用户还可以与用户的联系人共享在增强现实内容被实现为将与产品相关的一个或更多个视觉效果应用于客户端应用的用户的图像内容或视频内容中的至少一个时生成的内容。
在一个或更多个实现方式中,服务器系统可以获取关于多个美容产品的信息。该信息可以指示美容产品的特征,例如颜色、色度、纹理、微光、哑光、光泽度、厚度、其一个或更多个组合等。服务器系统可以确定将美容产品应用于个人的面部特征的视觉效果。在各种示例中,当美容产品被应用于个人的面部特征时,服务器系统可以确定对个人外观的修改。另外,服务器系统可以生成增强现实内容,该增强现实内容可以被实现为当将一个或更多个美容产品应用于个人的面部特征时产生对个人外观的改变。
在一个或更多个说明性示例中,服务器系统可以获得关于具有相应分类的多个美容产品的信息。例如,服务器系统可以获得关于多个遮瑕膏的信息。在各种示例中,遮瑕膏中的至少一些可以由同一实体供售卖或由同一实体制造。在附加示例中,遮瑕膏的至少一部分可以由多个不同的实体供售卖或由多个不同的实体制造。此外,遮瑕膏可以各自与相应的特征集相关联。在一个或更多个实现方式中,遮瑕膏可以基于可能应用遮瑕膏的个人的不同肤色而具有不同的特征。服务器系统可以生成多个选项,这些选项显示在用户界面中,并且可由客户端应用的用户选择,以将具有不同特征的遮瑕膏应用于用户的图像内容。为了说明,服务器系统可以生成能够被选择以应用与较浅肤色对应的遮瑕膏的第一数目的选项,以及能够被选择以应用与较深肤色对应的遮瑕膏的第二数目的选项。每个可选选项可以与增强现实内容相关联,该增强现实内容可以被实现为基于所选择的遮瑕膏的特征来修改客户端应用的用户的外观。在一个或更多个示例中,可以关于由正在执行客户端应用的实例的客户端设备的摄像装置捕获的实时图像内容来实现增强现实内容。服务器系统还可以生成能够被选择以应用与其他类别的美容产品(例如,口红、眼影、眼线等)相关的视觉效果的选项。以这种方式,客户端应用的用户可以选择关于多个不同的美容产品的多个选项,并且创建整体外观。
服务器系统还可以确定与由客户端应用的用户选择的选项对应的美容产品,并且向用户提供与产品相关的信息。例如,服务器系统可以基于由各个用户做出的将美容产品应用于包括在图像内容或视频内容中的至少一个中的用户面部特征的选择而向客户端应用的用户确定定价信息、评级、评论、可用性信息、产品名称、产品卖方、其一个或更多个组合等。在各种示例中,客户端应用可以显示一个或更多个用户界面,该用户界面示出了与对应于用户选择的美容产品相关的信息,并且示出了购买对应于用户选择的美容产品的选项。
因此,本文中描述的系统、方法、技术、指令序列和计算机器程序产品提供了各种实现方式,以聚合关于多个不同的产品的信息并且生成应用与产品相关的视觉效果的增强现实内容。以这种方式,本文中描述的实现方式提供了有效的方式以提供比现有系统更多的用于修改客户端应用的用户外观的选项,并且提供了购买产品的有效技术。此外,本文中描述的实现方式使得具有比现有系统更稳健能力的客户端应用的用户能够共享和修改在与产品相关的视觉效果被应用以修改包括在图像内容或视频内容中的至少一个中的个人外观时产生的内容。例如,本文中描述的实现方式可以针对单个应用,该应用具有消息收发功能、社交网络功能以及基于关于供经由客户端应用购买的产品产生的视觉效果来改变图像内容中的个人外观的功能。另外,客户端应用可以包括现有系统中不存在的功能,该功能使得能够进一步修改通过将来自一个或更多个产品的视觉效果应用于用户内容而生成的内容,例如应用一个或更多个附加叠加、一个或更多个动画或者一个或更多个滤镜。
图1是用于通过网络交换数据(例如,消息和相关内容)的架构100的图形表示。架构100可以包括多个客户端设备102。客户端设备102可以单独包括但不限于移动电话、台式计算机、膝上型计算设备、便携式数字助理(PDA)、智能电话、平板计算设备、超级本、上网本、多处理器系统、基于微处理器或可编程的消费者电子系统、游戏控制台、机顶盒、车载计算机、可穿戴设备、其一个或更多个组合、或者用户可以使用其来访问在架构100中包括的一个或更多个部件的任何其他通信设备。
每个客户端设备102可以托管包括客户端应用104和一个或更多个第三方应用106的多个应用。用户可以使用客户端应用104创建内容例如视频、图像(例如,照片)、音频和媒体叠加。在一个或更多个说明性示例中,客户端应用104可以包括使得用户能够创建和交换内容的社交网络功能。在各种示例中,客户端应用104可以包括可以用于在由各种客户端设备102执行的客户端应用104的实例之间发送消息的消息收发功能。使用客户端应用104创建的消息可以包括视频、一个或更多个图像、音频、媒体叠加、文本、使用一个或更多个创建工具制作的内容、注释等。在一个或更多个实现方式中,客户端应用104可以用于查看和生成交互式消息、查看客户端应用104的其他用户在地图上的位置、与客户端应用104的其他用户聊天等。
一个或更多个用户可以是人、机器或与客户端设备(例如,客户端设备102)交互的其他装置。在示例实现方式中,用户可以不是架构100的一部分,但可以经由客户端设备102或其他装置与架构100的一个或更多个部件交互。在各种示例中,用户可以向客户端设备102提供输入(例如,触摸屏输入或字母数字输入),并且该输入可以被传送至架构100中的其他实体。在这种情况下,架构100中的其他实体可以响应于用户输入将信息传送至客户端设备102以呈现给用户。以这样的方式,用户可以使用客户端设备102与架构100中的各种实体交互。
客户端应用104的每个实例能够与客户端应用104的另一实例、一个或更多个第三方应用106或者服务器系统108中的至少一个进行通信并且交换数据。在客户端应用104的实例之间、在第三方应用106之间以及在客户端应用104的实例与服务器系统108之间交换的数据包括功能(例如,调用功能的命令)以及有效载荷数据(例如,文本、音频、图像、视频或其他多媒体数据)。在客户端应用104的实例之间、在第三方应用106之间以及在客户端应用104的至少一个实例与至少一个第三方应用106之间交换的数据可以直接从由客户端设备102执行的应用的实例和由附加客户端设备102执行的应用的实例进行交换。此外,在客户端应用104之间、在第三方应用106之间以及在至少一个客户端应用104与至少一个第三方应用106之间交换的数据可以从由客户端设备102执行的应用的实例间接(例如,经由一个或更多个中间服务器)传送至由其他客户端设备102执行的应用的另一实例。在一个或更多个说明性示例中,在应用之间的间接通信中使用的一个或更多个中间服务器可以包括在服务器系统108中。
第三方应用106可以独立于客户端应用104并且与客户端应用104不同。第三方应用106可以独立于客户端应用104由客户端设备102下载和安装。在各种实现方式中,第三方应用106可以在客户端应用104被下载和安装之前或之后由客户端设备102下载和安装。第三方应用106可以是由与提供客户端应用104的实体或组织不同的实体或组织提供的应用。第三方应用106可以由客户端设备102使用与客户端应用104相比不同的登录凭证来访问。即,第三方应用106可以维护第一用户帐户,而客户端应用104可以维护第二用户帐户。在一个或更多个实现方式中,可以由客户端设备102访问第三方应用106以执行各种活动和交互,例如听音乐、观看视频、跟踪运动、查看图形元件(例如,贴纸)、与其他用户通信等。作为示例,第三方应用106可以包括社交网络应用、约会应用、骑乘或汽车共享应用、购物应用、交易应用、游戏应用、成像应用、音乐应用、视频浏览应用、运动跟踪应用、健康监测应用、图形元素或贴纸浏览应用或者任何其他合适的应用。
服务器系统108经由一个或更多个网络110向客户端应用104提供服务器侧功能。根据一些示例实现方式,服务器系统108可以是云计算环境。例如,在一个说明性示例中,服务器系统108以及与服务器系统108相关联的一个或更多个服务器可以与基于云的应用相关联。在一个或更多个实现方式中,客户端设备102和服务器系统108可以经由一个或更多个网络110耦接。
服务器系统108支持被提供给客户端应用104的各种服务和操作。这样的操作包括向客户端应用104发送数据、从客户端应用104接收数据以及处理由客户端应用104生成的数据。作为示例,该数据可以包括消息内容、媒体内容、客户端设备信息、地理位置信息、媒体注释和叠加、消息内容持久性条件、社交网络信息以及实况事件信息。通过经由客户端应用104的用户界面(UI)可用的功能来调用和控制架构100内的数据交换。
虽然架构100的某些功能在本文中被描述为由客户端应用104或由服务器系统108执行,但是将某些功能定位在客户端应用104内或服务器系统108内是设计选择。例如,在技术上可能优选的是:最初在服务器系统108内部署某些技术和功能,但稍后将该技术和功能迁移到其中客户端设备102具有足够处理能力的客户端应用104。
服务器系统108包括应用编程接口(API)服务器112,应用编程接口(API)服务器112耦接至应用服务器114并向应用服务器114提供编程接口。应用服务器114通信地耦接至数据库服务器116,数据库服务器116有助于访问一个或更多个数据库118。一个或更多个数据库118可以存储与由应用服务器114处理的信息相关联的数据。一个或更多个数据库118可以是存储诸如以下信息的存储设备:未经处理的媒体内容、来自用户的原始媒体内容(例如,高质量媒体内容)、经处理的媒体内容(例如,格式化以与客户端设备102共享并在客户端设备102上观看的媒体内容)、与媒体内容项相关的上下文数据、与用户设备(例如,计算或客户端设备102)相关的上下文数据、媒体叠加、媒体叠加智能部件或智能元件、用户数据、用户设备信息、媒体内容(例如,视频和图像)、媒体内容数据(例如,与视频和图像相关联的数据)、计算设备上下文数据、序列化数据、会话数据项、用户设备位置数据、映射信息、交互消息使用数据、交互消息度量数据等。一个或更多个数据库118还可以存储与第三方服务器、客户端设备102、客户端应用104、用户、第三方应用106等相关的信息。
API服务器112接收和发送客户端设备102与应用服务器114之间的数据(例如,命令和消息有效载荷)。具体地,应用程序接口(API)服务器112提供接口集合(例如,例程和协议),接口集合可以由客户端应用104调用或查询以调用应用服务器114的功能。应用程序接口(API)服务器112公开由应用服务器114支持的各种功能,包括帐户注册、登录功能、经由应用服务器114将消息从客户端应用104的一个实例发送至客户端应用104的另一实例、将媒体文件(例如,图像、音频、视频)从客户端应用104发送至应用服务器114,以及针对另一客户端应用104的可能访问、设置媒体内容的集合(例如,图库、故事、消息集合或媒体集合)、检索客户端设备102的用户的朋友的列表、检索这样的集合、检索消息和内容、向社交图添加和删除朋友、定位社交图内的朋友;以及打开应用事件(例如,与客户端应用104相关)。
服务器系统108还可以包括web服务器120。web服务器120耦接至应用服务器114,并且向应用服务器114提供基于web的接口。为此,web服务器120通过超文本传输协议(HTTP)和若干其他相关协议处理传入的网络请求。
应用服务器114托管多个应用和子系统,包括消息收发应用系统122、媒体内容处理系统124、社交网络系统126、视觉效果选项系统128和产品列表系统130。消息收发应用系统122实现了多种消息处理技术和功能,特别地涉及对从客户端应用104的多个实例接收的消息中包括的内容(例如,文本和多媒体内容)的聚合和其他处理。例如,消息收发应用系统122可以经由有线网络(例如,因特网)、普通老式电话服务(POTS)或无线网络(例如,移动、蜂窝、WIFI、长期演进(LTE)或蓝牙)使用电子邮件(email)、即时消息收发(IM)、短消息服务(SMS)、文本、传真或语音(例如,IP语音(VoIP))消息来传递消息。消息收发应用系统122可以将来自多个源的文本和媒体内容聚合成内容集合。然后,由消息收发应用系统122使这些集合对客户端应用104可用。鉴于针对数据的其他处理器和存储器密集处理的硬件要求,也可以由消息收发应用系统122在服务器侧执行这样的处理。
媒体内容处理系统124专用于通常针对在消息收发应用系统122处的消息或其他内容项的有效载荷内接收的图像、音频或视频执行各种媒体内容处理操作。媒体内容处理系统124可以访问一个或更多个数据存储装置(例如,数据库118)以检索存储的数据以在处理媒体内容时使用并且存储经处理的媒体内容的结果。
社交网络系统126支持各种社交网络功能和服务,并且使这些功能和服务可用于消息收发应用系统122。为此,社交网络系统126维护并访问数据库118内的实体图。由社交网络系统126支持的功能和服务的示例包括识别客户端应用104的特定用户与其有关系或正在“关注”其的其他用户,并且还包括识别特定用户的兴趣和其他实体。社交网络系统126可以访问与用户的朋友中的每个朋友或其他社交网络连接相关联的定位信息,以确定他们住在哪里或当前在地理上位于哪里。另外,社交网络系统126可以维护用户的朋友中的每个朋友的定位简档,该定位简档指示用户的朋友居住的地理位置。
视觉效果选项系统128可以获得关于多个产品的信息,并且生成与针对个人或环境应用产品对应的视觉效果。获得的关于产品的信息可以被存储为产品数据132。产品数据132可以包括供经由客户端应用104购买的一个或更多个产品的一个或更多个特征。例如,产品数据132可以包括产品标识符、产品描述、产品定价信息、产品评论、产品评级、产品卖方、产品制造者、产品尺寸信息或指示产品视觉特征的附加信息中的至少一个。产品的视觉特征可以被存储为视觉特征数据134。视觉特征数据134可以包括颜色信息、纹理信息、形状信息、亮度信息、色度信息、微光信息、哑光信息或光泽度信息中的至少一个。
产品数据132还可以包括对象数据136。对象数据136可以指示与产品相关的对象。为了说明,对象数据136可以指示可以应用产品的至少一部分的对象。在产品是美容产品的情况下,对象数据136可以指示应用美容产品的面部特征。例如,对象数据136可以指示口红将被应用于个人的嘴唇,或者眼影将被应用于个人的眼睛附近的区域。在产品的至少一部分是衣物或珠宝的情况下,对象数据136可以指示穿戴衣物或珠宝的身体部位。
对象数据136还可以包括一个或更多个对象的一个或更多个标识符。例如,包括在对象数据136中的对象可以与分类相关联。在各种示例中,包括在对象数据136中的对象可以根据与该对象相关的类别来分类。在一个或更多个说明性示例中,包括在对象数据136中的一个或更多个对象可以被分类为一种面部特征,例如眼睛、鼻子、嘴唇、下巴、脸颊、前额等。在一个或更多个实现方式中,包括在对象数据136中的对象可以基于与包括在由数据库118存储的对象库中的对象相关的相似性的量来分类。在一个或更多个示例中,由数据库118存储的对象库可以指示对象的特征和对象的标识符。
在一个或更多个示例中,可以基于包括在产品数据132中的元数据来确定对象数据136。元数据可以指示包括在产品数据132中的产品特征、产品标识符或产品分类中的至少一个。在一个或更多个附加示例中,可以分析包括在产品数据132中的图像内容以确定对象的特征。例如,可以针对产品数据132实现一种或更多种对象识别技术,以识别包括在产品数据132中的一个或更多个对象。这些可以包括例如基于外观的过程,所述基于外观的过程搜索诸如边缘、照明或颜色的变化或者形状或尺寸的变化的特征。各种其他技术利用梯度生成和匹配或直方图分析来进行对象识别。其他技术包括基于特征的技术,例如可以利用解释树、几何散列或不变性分析。此外,也可以在本主题技术的范围内使用诸如尺度不变特征变换(SIFT)或加速鲁棒特征(SURF)技术的技术。在一个或更多个说明性示例中,可以检测包括在产品数据132中的个人的面部特征。在这些情况下,可以实现模板匹配技术、神经网络技术(例如,使用深度神经网络或卷积神经网络等)、Fisher线性判别技术、最大拒绝分类器技术、支持向量机技术、边缘过滤技术、边缘检测技术等来确定可以与包括在产品数据132中的产品相关的面部特征。
视觉效果选项系统128可以分析产品数据132,以确定与产品相关的一个或更多个视觉效果。当产品应用于个人或环境时,视觉效果可以对应于对个人外观或环境的改变。例如,在产品包括美容产品的情况下,当美容产品应用于个人的面部时,视觉特征可以对应于对个人面部特征的改变。在附加示例中,当产品是衣服或珠宝时,当该衣服或珠宝被个人穿戴时,视觉效果可以指示对个人外观的改变。视觉特征可以包括视觉效果,该视觉效果包括在产品数据132中包括的一个或更多个图像或者一个或更多个视频中的至少一个中。视觉特征可以指示与包括在产品数据132中的对象相关的颜色、形状、色度、尺寸或纹理中的至少一个。在各种示例中,与产品数据132对应的元数据可以指示与包括在产品数据132中的一个或更多个对象对应的视觉特征。在一个或更多个附加示例中,可以分析产品数据132以确定与包括在产品数据132中的产品相关的一个或更多个视觉特征。例如,可以实现一个或更多个基于外观的过程来确定与包括在产品数据132中的产品相关的视觉效果,所述基于外观的过程搜索诸如边缘、照明或颜色的变化或者形状或尺寸的变化的特征。可以实现各种其他技术,这些技术利用梯度生成和匹配或直方图分析来识别与包括在产品数据132中的一个或更多个对象对应的视觉效果。
由视觉效果选项系统128确定的视觉效果可以被存储为视觉效果选项数据138。视觉效果选项数据138可以指示由客户端应用104的用户可选择的视觉效果,以根据视觉效果来修改图像内容。在一个或更多个说明性示例中,客户端应用104的用户可以使得生成包括图像内容或视频内容中的至少一个的用户内容140。在各种示例中,用户内容140可以包括在客户端设备102的摄像装置的视场中捕获的实时内容。在附加示例中,用户内容140可以包括存储在客户端设备102的存储器中的先前由客户端设备102的摄像装置捕获的图像内容或视频内容中的至少一个。在一个或更多个示例中,视觉效果选项数据138可以对应于由客户端应用104结合用户内容140显示的用户界面元件,该用户界面元件能够被选择以基于与所选择的产品相关的视觉效果来引起对用户内容140的改变。为了说明,视觉效果选项数据138可以对应于用户界面元件,该用户界面元件能够被选择以使用户内容140发生与包括在用户内容140中的对象相关的颜色、形状、尺寸、色度或纹理中的至少一个相关的变换。
视觉效果选项数据138可以对应于增强现实(AR)内容142。AR内容142可以包括滤镜、叠加或引起关于用户内容的外观的变换的其他内容中的至少一个。在一个或更多个示例中,AR内容142可以基于由客户端应用104的用户选择的视觉效果选项使一个或更多个效果被应用于包括在用户内容140中的一个或更多个对象,以产生经修改的用户内容144。在一个或更多个说明性示例中,选择视觉效果选项以将口红的色度应用于包括在用户内容140中的客户端应用104的用户的嘴唇可以使得实现AR内容142例如滤镜或叠加,AR内容142根据口红的色度来修改用户的嘴唇的外观。
在一个或更多个实现方式中,由AR内容142生成的经修改的用户内容144可以由客户端应用的用户使用客户端应用104的消息收发功能或社交网络功能中的至少一个来共享。例如,客户端应用104的用户可以使用客户端应用104生成包括经修改的用户内容144的消息,并且将与该消息对应的数据与指示该消息的一个或更多个接收方的附加数据一起发送至服务器系统108。消息收发应用系统122然后可以将包括经修改的用户内容144的消息发送至一个或更多个接收方的一个或更多个客户端设备102。一个或更多个接收方然后可以使用客户端应用104来访问该消息。另外,客户端应用104的用户可以使用客户端应用104的社交网络功能来共享经修改的用户内容144。在一个或更多个说明性示例中,客户端应用104的用户可以生成社交网络内容例如帖子或消息,该社交网络内容可由客户端应用104的一个或更多个附加用户经由客户端应用104的社交网络功能来访问。在各种示例中,社交网络系统126可以使包括经修改的用户内容144的社交网络内容可由所生成的包括经修改的用户内容144的社交网络内容的客户端应用104的用户的一个或更多个联系人来访问。
产品列表系统130可以确定用于产生经修改的用户内容144的一个或更多个产品。例如,产品列表系统130可以基于由客户端应用104的用户对一个或更多个视觉效果的选择来确定与应用于用户内容140以产生经修改的用户内容144的一个或更多个视觉效果对应的一个或更多个产品。产品列表系统130可以生成产品列表数据146。产品列表数据146可以包括关于用于产生视觉效果的一个或更多个产品的信息,该视觉效果修改用户内容140以产生经修改的用户内容144。例如,客户端应用104的用户可以选择与具有各种特征的衬衫、裤子和鞋子对应的视觉效果选项。可以修改用户内容140,使得经修改的用户内容144包括穿戴衬衫、裤子和鞋子的客户端应用104的用户。产品列表系统130可以基于产品数据132的与衬衫、裤子和鞋子对应的一部分来确定产品列表数据146。为了说明,产品列表系统130可以基于产品数据132来确定衬衫、裤子和鞋子中的每一个的标识符、品牌或名称。产品列表系统130还可以确定衬衫、裤子和鞋子的定价信息、尺寸信息、评级、评论、描述信息、其一个或更多个组合等。继续该示例,产品列表系统130可以将与衬衫、裤子和鞋子相关的信息存储为产品列表数据146的至少一部分,并且生成包括产品列表数据146的与衬衫、裤子和鞋子对应的一部分的一个或更多个用户界面。在一个或更多个示例中,一个或更多个用户界面可以包括能够被选择以发起用于购买衬衫、裤子或鞋子中的至少一个的金融交易的一个或更多个用户界面元件。
图2是示出根据一些示例的关于服务器系统108的另外的细节的框图。具体地,服务器系统108被示出为包括客户端应用104和应用服务器114。服务器系统108包含多个子系统,这些子系统在客户端侧由客户端应用104支持并且在服务器侧由应用服务器114支持。这些子系统包括例如短暂定时器系统202、集合管理系统204、增强系统206、地图系统208、游戏系统210、视觉效果选项系统128和产品列表系统130。
短暂定时器系统202负责实施由客户端应用104和消息收发应用系统122对内容的临时或时间受限访问。短暂定时器系统202并入了多个定时器,这些定时器基于与消息或消息的集合(例如,故事)相关联的持续时间和显示参数,选择性地实现经由客户端应用104访问(例如,用于呈现和显示)消息和相关联的内容。下面提供关于短暂定时器系统202的操作的另外的细节。
集合管理系统204负责管理媒体的组或集合(例如,文本、图像、视频和音频数据的集合)。内容(例如,消息,包括图像、视频、文本和音频)的集合可以被组织成“事件图库”或“事件故事”。可以使这样的集合在指定时间段例如在与内容有关的事件的持续时间内可用。例如,可以使与音乐会相关的内容在该音乐会的持续时间内作为“故事”可用。集合管理系统204还可以负责向客户端应用104的用户界面发布提供存在特定集合的通知的图标。
此外,集合管理系统204包括使得集合管理器能够管理和策展特定内容集合的策展接口212。例如,策展接口212使得事件组织者能够策展与特定事件相关的内容集合(例如,删除不适当的内容或冗余消息)。另外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来自动地策展内容集合。在某些示例中,可以为将用户生成的内容包括到集合中而向用户支付补偿。在这样的情况下,集合管理系统204进行操作以自动地为使用其内容向这样的用户进行支付。
增强系统206提供使得用户能够增强(例如,注释或以其他方式修改或编辑)与经由客户端应用104产生的内容相关联的媒体内容例如消息的各种功能。例如,增强系统206提供与用于由服务器系统108处理的内容的媒体叠加的生成和发布相关的功能。增强系统206基于客户端设备102的地理位置可操作地向客户端应用104提供媒体叠加或增强(例如,图像滤镜)。在另一示例中,增强系统206基于其他信息(例如,客户端设备102的用户的社交网络信息)可操作地向客户端应用104提供媒体叠加。媒体叠加可以包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、标志、动画和声音效果。视觉效果的示例包括颜色叠加。音频和视觉内容或视觉效果可以被应用于客户端设备102处的媒体内容项(例如,照片)。例如,媒体叠加可以包括可以叠加在由客户端设备102拍摄的照片之上的文本或图像。在另一示例中,媒体叠加包括定位标识叠加(例如,威尼斯海滩)、实况事件名称或商家名称叠加(例如,海滩咖啡馆)。在另一示例中,增强系统206使用客户端设备102的地理位置来识别包括客户端设备102的地理位置处的商家名称的媒体叠加。媒体叠加可以包括与商家相关联的其他标记。媒体叠加可以被存储在数据库118中并且通过数据库服务器116访问。
在一些示例中,增强系统206提供基于用户的发布平台,基于用户的发布平台使得用户能够选择地图上的地理位置并且上传与所选择的地理位置相关联的内容。用户还可以指定应当向其他用户提供特定媒体叠加的情况。增强系统206生成包括所上传的内容的媒体叠加并且将所上传的内容与所选择的地理位置相关联。
在其他示例中,增强系统206提供基于商家的发布平台,基于商家的发布平台使商家能够经由出价过程来选择与地理位置相关联的特定媒体叠加。例如,增强系统206将最高出价商家的媒体叠加与对应地理位置相关联持续预定义时间量。
地图系统208提供各种地理位置功能,并且支持由客户端应用104呈现基于地图的媒体内容和消息。例如,地图系统208使得能够在地图上显示(例如,存储在图3的简档数据308中的)用户图标或化身,以在地图的上下文中指示用户的“朋友”的当前定位或过去定位以及由这些朋友生成的媒体内容(例如,包括照片和视频的消息的集合)。例如,可以在客户端应用104的地图界面上将用户从特定地理位置发布到服务器系统108的消息在地图的该特定定位的上下文内显示给特定用户的“朋友”。用户还可以经由客户端应用104与服务器系统108的其他用户(例如,使用适当的状况化身)共享他或她的定位和状态信息,其中该定位和状态信息在客户端应用104的地图界面的上下文内被类似地显示给所选择的用户。
游戏系统210在客户端应用104的上下文内提供各种游戏功能。客户端应用104提供游戏界面,该游戏界面提供可以由用户在客户端应用104的上下文内启动并与服务器系统108的其他用户一起玩的可用游戏的列表。服务器系统108还使特定用户能够通过从客户端应用104向其他用户发出邀请来邀请这样的其他用户参与玩特定游戏。客户端应用104还支持在游戏上下文内的语音消息收发和文本消息收发两者(例如,聊天),为游戏提供排行榜,并且还支持提供游戏内奖励(例如,钱币和物品)。
视觉效果选项系统128可以确定与一个或更多个产品相关的视觉效果,并且确定能够被选择以将视觉效果应用于包括在用户内容中的一个或更多个对象的选项。增强系统206可以生成对应于与视觉效果选项中的一个或更多个相关联的视觉效果的增强现实内容。在一个或更多个示例中,对视觉效果选项的选择可以触发增强现实内容的实现,以使得发生与对应于所选择的视觉效果选项的视觉效果相关的用户内容的一个或更多个变换。以这种方式,视觉效果选项系统128可以结合增强系统206进行操作,以修改与视觉效果相关的用户内容,该视觉效果对应于将一个或更多个产品的特征应用于包括在用户内容中的一个或更多个对象。产品列表系统130可以结合视觉效果选项系统128进行操作,以确定与由客户端应用104的用户已经选择的视觉效果选项对应的一个或更多个产品。然后,产品列表系统130可以提供由个人使用以修改用户内容的产品列表。在各种示例中,产品可以经由客户端应用104售卖。
图3是示出根据一个或更多个示例实现方式的可以存储在服务器系统108的数据库118中的数据结构300的示意图。虽然数据库118的内容被示出为包括多个表,但是应当理解,数据可以存储在其他类型的数据结构(例如,作为面向对象的数据库)中。
数据库118包括存储在消息表302内的消息数据。对于任何特定的一条消息,该消息数据包括至少消息发送方数据、消息接收方(或接收者)数据和有效载荷。
实体表304存储实体数据,并且(例如,参考地)链接至实体图306和简档数据308。在实体表304内维持其记录的实体可以包括个人、公司实体、组织、对象、地点、事件等。不管实体类型如何,服务器系统108存储关于其的数据的任何实体可以是被识别的实体。每个实体设置有唯一标识符以及实体类型标识符(未示出)。
实体图306存储关于实体之间的关系和关联的信息。仅作为示例,这样的关系可以是基于兴趣的或基于活动的社交关系、职业关系(例如,在共同的公司或组织工作)。
简档数据308存储关于特定实体的多种类型的简档数据。基于由特定实体指定的隐私设置,简档数据308可以被选择性地使用并呈现给架构100的其他用户。在实体是个人的情况下,简档数据308包括例如用户名、电话号码、地址、设置(例如,通知和隐私设置)以及用户选择的化身表示(或这样的化身表示的集合)。然后,特定用户可以选择性地将这些化身表示中的一个或更多个包括在经由架构100传送的消息内容或其他数据中以及包括在由客户端应用104向其他用户显示的地图界面上。化身表示的集合可以包括“状态化身”,其呈现用户可以选择在特定时间传送的状态或活动的图形表示。
在实体是团体的情况下,除了团体名称、成员和相关团体的各种设置(例如,通知)之外,团体的简档数据308还可以类似地包括与团体相关联的一个或更多个化身表示。
数据库118还在增强表310中存储增强数据例如叠加或滤镜。增强数据与视频(视频的数据存储在视频表314中)和图像(图像的数据存储在图像表316中)相关联并且被应用于视频和图像。
在一个示例中,滤镜是在向接收方用户呈现期间显示为叠加在图像或视频上的叠加。滤镜可以是各种类型,包括当发送用户正在编写消息时由客户端应用104呈现给发送用户的一组滤镜中的用户选择的滤镜。其他类型的滤镜包括地理位置滤镜(也称为地理滤镜),其可以基于地理位置被呈现给发送用户。例如,基于由客户端设备102的全球定位系统(GPS)单元确定的地理位置信息,由客户端应用104可以在用户界面内呈现特定于附近或特殊位置的地理位置滤镜。
另一类型的滤镜是数据滤镜,其可以由客户端应用104基于在消息创建过程期间由客户端设备102收集的其他输入或信息选择性地呈现给发送用户。数据滤镜的示例包括特定定位处的当前温度、发送用户行进的当前速度、客户端设备102的电池寿命或当前时间。
可以存储在图像表316内的其他增强数据包括增强现实内容项(例如,对应于应用镜头或增强现实体验)。增强现实内容项可以是可以被添加至图像或视频的实时特殊效果和声音。
如上所述,增强数据包括增强现实内容项、叠加、图像变换、AR图像以及指代可以应用于图像数据(例如,视频或图像)的修改的类似项。这包括实时修改,其在使用客户端设备102的设备传感器(例如,一个或多个摄像装置)捕获图像时对图像进行修改并且然后在修改的情况下在客户端设备102的屏幕上显示图像。这还包括对存储的内容(例如可以被修改的图库中的视频片段)的修改。例如,在可以访问多个增强现实内容项的客户端设备102中,用户可以使用具有多个增强现实内容项的单个视频片段来查看不同的增强现实内容项将如何修改所存储的片段。例如,通过针对内容选择不同的增强现实内容项,可以将应用不同伪随机运动模型的多个增强现实内容项应用于相同的内容。类似地,实时视频捕获可以与所示出的修改一起使用,以示出当前由客户端设备102的传感器捕获的视频图像将如何修改所捕获的数据。这样的数据可以仅显示在屏幕上而不存储在存储器中,或者由设备传感器捕获的内容可以在进行修改或不进行修改(或两者)的情况下被记录并存储在存储器中。在一些系统中,在一些系统中,预览功能可以显示不同的增强现实内容项在同一时间在显示器的不同窗口中的外观。例如,这可以实现同时在显示器上查看具有不同伪随机动画的多个窗口。
因此,使用增强现实内容项的数据和各种系统或使用该数据修改内容的其他此类变换系统可以涉及视频帧中对象(例如,脸、手、身体、猫、狗、表面、物体等)的检测,在这些对象离开视场、进入视场以及在视场四处移动时跟踪这些对象,以及在跟踪这些对象时对其进行修改或变换。在各种实现方式中,可以使用用于实现这样的变换的不同方法。一些示例可以涉及生成一个或更多个对象的三维网格模型,以及在视频内使用模型的变换和动画纹理来实现变换。在其他示例中,可以使用对象上的点的跟踪来将图像或纹理(其可以是二维或三维的)放置在所跟踪的位置处。在又一另外的示例中,可以使用视频帧的神经网络分析来将图像、模型或纹理放置在内容(例如,图像或视频帧)中。因此,增强现实内容项既指用于在内容中创建变换的图像、模型和纹理,也指通过对象检测、跟踪和放置来实现这样的变换所需的附加建模和分析信息。
可以利用保存在任何类型的计算机化系统的存储器中的任何类型的视频数据(例如,视频流、视频文件等)来执行实时视频处理。例如,用户可以加载视频文件并将其保存在设备的存储器中,或者可以使用设备的传感器生成视频流。另外,可以使用计算机动画模型来处理任何对象,例如人的面部和人身体的各部分、动物或非生物(例如,椅子、汽车或其他对象)。
在一些示例中,当与要变换的内容一起选择特定修改时,要变换的元件由计算设备识别,并且然后如果要变换的元件存在于视频的帧中,则检测并跟踪要变换的元件。根据修改请求来修改对象的元件,从而变换视频流的帧。对于不同类型的变换,可以通过不同的方法来执行对视频流的帧的变换。例如,对于主要是指改变对象元件的形式的帧变换,计算对象的每个元件的特征点(例如,使用主动形状模型(ASM)或其他已知方法)。然后,针对对象的至少一个元件中的每一个生成基于特征点的网格。该网格用于在视频流中跟踪对象的元件的后续阶段。在跟踪过程中,针对每个元件的提及的网格与每个元件的位置对准。然后,在网格上生成附加点。基于修改请求针对每个元件生成第一点的第一集合,并且基于第一点的集合以及修改请求针对每个元件生成第二点的集合。然后,可以通过基于第一点的集合和第二点的集合以及网格修改对象的元件来变换视频流的帧。在这样的方法中,也可以通过跟踪和修改背景来改变或扭曲经修改的对象的背景。
在一些示例中,使用对象的元件改变对象的一些区域的变换可以通过计算对象的每个元件的特征点并基于所计算的特征点生成网格来执行。在网格上生成点,然后基于这些点生成各种区域。然后,通过将每个元件的区域与至少一个元件中的每个元件的位置对准来跟踪对象的元件,并且可以基于修改请求来修改区域的属性,从而变换视频流的帧。根据具体的修改请求,可以以不同的方式来变换所提及的区域的属性。这样的修改可以涉及:改变区域的颜色;从视频流的帧中移除至少一部分区域;将一个或更多个新对象包括在基于修改请求的区域中;以及修改或扭曲区域或对象的元件。在各种实现方式中,可以使用这样的修改或其他类似修改的任何组合。对于要被动画化的某些模型,可以选择一些特征点作为要用于确定针对模型动画的选项的整个状态空的间控制点。
在使用面部检测来变换图像数据的计算机动画模型的一些示例中,使用特定面部检测算法(例如,Viola-Jones)在图像上检测面部。然后,将主动形状模型(ASM)算法应用于图像的面部区域以检测面部特征参考点。
可以使用适用于面部检测的其他方法和算法。例如,在一些实现方式中,使用界标来定位特征,该界标表示在所考虑的大多数图像中存在的可区分点。例如,对于面部界标,可以使用左眼瞳孔的定位。如果初始界标不可识别(例如,如果人带眼罩),则可以使用次级界标。这样的界识别过程可以用于任何这样的对象。在一些示例中,界标的集合形成形状。可以使用形状中的点的坐标将形状表示为向量。利用使形状点之间的平均欧几里德距离最小化的相似变换(允许平移、缩放和旋转)将一个形状与另一形状对准。平均形状是经对准的训练形状的均值。
在各种示例中,从与由全局面部检测器确定的面部的位置和尺寸对准的平均形状开始搜索界标。然后,这样的搜索重复以下步骤:通过每个点周围的图像纹理的模板匹配来调整形状点的定位而建议暂定形状,并且然后使暂定形状符合全局形状模型,直至发生收敛。在一个或更多个系统中,单独模板匹配是不可靠的,并且形状模型对弱模板匹配的结果进行池化,以形成较强的整体分类器。整个搜索从粗略分辨率到精细分辨率在图像金字塔的每个级别上重复。
变换系统可以在客户端设备(例如,客户端设备102)上捕获图像或视频流,并且在客户端设备102上本地执行复杂的图像操纵,同时保持适当的用户体验、计算时间和功耗。复杂的图像操纵可以包括大小和形状改变、情绪转换(例如,将面部从皱眉变为微笑)、状态转换(例如,使对象变老、减少表观年龄、改变性别)、风格转换、图形元件应用以及由已经被配置成在客户端设备102上高效地执行的卷积神经网络实现的任何其他合适的图像或视频操纵。
用于变换图像数据的计算机动画模型可以由系统使用,在该系统中,用户可以使用具有作为在客户端设备102上操作的客户端应用104的一部分而操作的神经网络的客户端设备102来捕获用户的图像或视频流(例如,自拍)。在客户端应用104内操作的变换系统确定图像或视频流内的面部的存在,并且提供与用于变换图像数据的计算机动画模型相关联的修改图标,或者计算机动画模型可以被呈现为与本文中描述的界面相关联。修改图标包括可以改变,所述改变可以是作为修改操作的一部分的用于修改图像或视频流内的用户的面部的基础。一旦选择了修改图标,则变换系统发起将用户的图像转换以反映所选择的修改图标(例如,在用户上生成笑脸)的处理。一旦图像或视频流被捕获并且指定的修改被选择,则经修改的图像或视频流可以呈现在客户端设备102上显示的图形用户界面中。变换系统可以在图像或视频流的一部分上实现复杂的卷积神经网络,以生成和应用所选择的修改。也就是说,一旦修改图标被选择,用户就可以捕获图像或视频流并且实时或接近实时地呈现修改结果。此外,当正在捕获视频流时,修改可以是持久的,并且所选择的修改图标保持被切换。机器学习的神经网络可以用于实现这样的修改。
呈现由变换系统执行的修改的图形用户界面可以向用户提供附加的交互选项。这样的选项可以基于用于发起特定计算机动画模型的选择和内容捕获的界面(例如,从内容创建者用户界面发起)。在各种实现方式中,在对修改图标的初始选择之后,修改可以是持久的。用户可以通过轻击或以其他方式选择正由变换系统修改的面部来打开或关闭修改,并且将其存储以供稍后查看或浏览到成像应用的其他区域。在由变换系统修改多个面部的情况下,用户可以通过轻击或选择在图形用户界面内修改和显示的单个面部来全局地打开或关闭修改。在一些实现方式中,可以单独地修改一组多个面部中的各个面部,或者可以通过点击或选择图形用户界面内显示的各个面部或一系列各个面部来单独切换这样的修改。
故事表312存储关于消息和相关联的图像、视频或音频数据的集合的数据,所述消息和相关联的图像、视频或音频数据被编译成集合(例如,故事或图库)。特定集合的创建可以由特定用户(例如,在实体表304中维持针对其的记录的每个用户)发起。用户可以以已由该用户创建和发送/广播的内容集合的形式创建“个人故事”。为此,客户端应用104的用户界面可以包括用户能够被选择以使得发送用户能够将特定内容添加至他或她的个人故事的图标。
集合还可以构成“实况故事”,该“实况故事”是手动地、自动地或使用手动技术和自动技术的组合创建的来自多个用户的内容的集合。例如,“实况故事”可以构成来自不同定位和事件的用户提交内容的策展流。可以例如经由客户端应用104的用户界面向其客户端设备启用了定位服务并且在特定时间处于共同定位事件处的用户呈现将内容贡献给特定实况故事的选项。可以由客户端应用104基于他或她的定位向用户标识实况故事。最终结果是从社群角度讲述的“实况故事”。
另一类型的内容集合被称为“定位故事”,该“定位故事”使得其客户端设备102位于特定地理位置(例如,在学院或大学校园)内的用户能够对特定集合做出贡献。在一些示例中,对定位故事的贡献可能需要二级认证来验证终端用户属于特定组织或其他实体(例如,是大学校园中的学生)。
如以上提及的,视频表314存储视频数据,在一个示例中,该视频数据与其记录被维持在消息表302内的消息相关联。类似地,图像表316存储与其消息数据被存储在实体表304中的消息相关联的图像数据。实体表304可以使来自增强表310的各种增强与存储在图像表316和视频表314中的各种图像和视频相关联。
数据库118还可以存储产品列表数据表318。产品列表数据表318可以存储产品列表,其中每个列表中的各个产品被应用于生成用户内容的修改版本。例如,包括在产品列表数据表318的列表中的产品可以与应用于用户内容中的对象以生成用户内容的修改版本的一个或更多个视觉效果相关。
图4是示出根据一些实现方式的内容400的示例框架的示意图。内容400可以由客户端应用104生成。在各种示例中,内容400可以由客户端应用104的第一实例生成,并且被传送至客户端应用104的第二实例或服务器系统108中的至少一个。在内容400包括消息的情况下,内容400可以用于填充存储在数据库118内并可由应用服务器114访问的消息表302。在一个或更多个实现方式中,内容400可以作为客户端设备102或应用服务器114中的至少一个的“在途”或“飞行中”数据存储在存储器中。内容400被示出为包括以下组成部分的至少一部分:
·内容标识符402:标识内容400的唯一标识符。
·内容文本有效载荷404:要由用户经由客户端设备102的用户界面生成并且包括在内容400中的文本。
·内容图像有效载荷406:由客户端设备102的摄像装置部件捕获或从客户端设备102的存储器部件检索并且包括在内容400中的图像数据。发送或接收的内容400的图像数据可以存储在图像表316中。
·内容视频有效载荷408:由摄像装置部件捕获或从客户端设备102的存储器部件检索并且包括在内容400中的视频数据。发送或接收的内容400的视频数据可以存储在视频表314中。
·内容音频有效载荷410:由麦克风捕获或从客户端设备102的存储器部件检索并且包括在内容400中的音频数据。
·内容增强数据412:表示要应用于内容400的内容图像有效载荷406、内容视频有效载荷408或内容音频有效载荷410的增强的增强数据(例如,滤镜、贴纸或其他注释或增强)。发送或接收的内容400的增强数据可以存储在增强表310中。
·内容持续时间参数414:以秒为单位的参数值,其指示内容400的一个或更多个部分(例如,内容图像有效载荷406、内容视频有效载荷408、内容音频有效载荷410)要经由客户端应用104呈现给用户或使其对于用户可访问的时间量。
·内容地理位置参数416:与消息的内容有效载荷相关联的地理位置数据(例如,纬度坐标和经度坐标)。多个内容地理位置参数416值可以被包括在有效载荷中,这些参数值中的每一个与关于包括在内容中的内容项(例如,内容图像有效载荷406内的特定图像或者内容视频有效载荷408中的特定视频)相关联。
·内容故事标识符418:标识与内容400的内容图像有效载荷406中的特定项相关联的一个或更多个内容集合(例如,在故事表312中标识的“故事”)的标识符值。例如,可以使用标识符值将内容图像有效载荷406内的多个图像各自与多个内容集合相关联。
·内容标签420:每个内容400可以用多个标签来标记,所述多个标签中的每一个指示包括在内容有效载荷中的内容的主题。例如,在包括在内容图像有效载荷406中的特定图像描绘动物(例如,狮子)的情况下,标签值可以被包括在指示相关动物的内容标签420内。标签值可以基于用户输入手动生成,或者可以使用例如图像识别自动生成。
·内容发送方标识符422:指示在其上生成内容400并且从其发送内容400的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
·内容接收者标识符424:指示内容400寻址到的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
·产品标识符426:包括在由产品列表数据表318存储的产品列表中的一个产品的标识符或多个产品的多个标识符。在一个或更多个说明性示例中,产品标识符426可以指示与应用于内容400的图像内容或视频内容中的至少一个的一个或更多个视觉效果相关的产品的标识符。
内容400的各组成部分的数据(例如,值)可以对应于指向在其内存储有数据的表中的定位的指针。例如,内容图像有效载荷406中的图像值可以是指向图像表316内的定位(或地址)的指针。类似地,内容视频有效载荷408内的值可以指向存储在视频表314内的数据,存储在内容增强412内的值可以指向存储在增强表310中的数据,存储在内容故事标识符418内的值可以指向存储在故事表312中的数据,并且存储在内容发送方标识符422和内容接收者标识符424内的值可以指向存储在实体表304内的用户记录。此外,产品标识符426的值可以指向存储在包括产品列表数据表318的数据结构内的数据。
图5是示出根据一个或更多个示例实现方式的用于确定用于使用增强现实内容来修改个人外观的一个或更多个产品的架构500的图形表示。架构500可以包括产品信息502。产品信息502可以包括与供经由客户端应用104购买的一个或更多个产品相关的信息。例如,产品信息502可以包括产品描述信息、产品定价信息、产品评论、产品评级、产品标识符、产品卖方、产品制造者或产品可用性信息中的至少一个。在一个或更多个示例中,产品信息502可以包括与供经由客户端应用104购买的产品对应的文本内容、视频内容、音频内容或图像内容中的至少一个。
在图5的说明性示例中,产品信息502可以包括第一产品数据504、第二产品数据506,直至第N产品数据508。第一产品数据504可以包括关于供经由客户端应用104购买的第一产品的信息,并且第二产品数据506可以包括关于供经由客户端应用104购买的第二产品的信息。另外,第N产品数据508可以包括与可用于经由客户端应用104购买的第N产品相关的信息。在各种示例中,包括在产品信息502中的产品中的至少一个是美容产品。
产品信息502可以由服务器系统108获得。在一个或更多个示例中,产品信息502可以从聚合关于多个产品的信息的第三方获得。在一个或更多个附加示例中,产品信息502可以从产品卖方、产品制造者或产品用户中的至少一个获得。在一个或更多个实现方式中,可以使用与由提供产品信息502的实体例如第三方产品信息聚合器、产品卖方、产品制造者或其一个或更多个组合实现的API相关的应用编程接口(API)调用来获得产品信息502。
服务器系统108可以分析产品信息502,以确定在将产品应用于与客户端应用104的用户相关的内容时可能产生的视觉效果。在各种示例中,视觉效果选项系统128可以分析产品信息502,以确定响应于将产品特征应用于与客户端应用104的用户相关的内容而产生的视觉效果。视觉效果可以修改与客户端应用104相关的内容的一部分的外观。为了说明,视觉效果可以修改与客户端应用104相关的内容的一部分的颜色、纹理、色度或其他视觉特性中的至少一个。在一个或更多个示例中,视觉效果可以改变包括在与客户端应用104相关的内容中的对象的外观。例如,视觉效果可以修改包括在与客户端应用104相关的内容中的个人的面部特征的外观或者个人的面部特征附近的区域。
在一个或更多个示例中,视觉效果选项系统128可以实现一种或更多种颜色识别技术、一种或更多种纹理识别技术、一种或更多种色度识别技术或者一种或更多种边缘检测技术中的至少一种,以确定在将产品应用于与客户端应用104相关的内容时产生的一个或更多个视觉效果。视觉效果选项系统128还可以分析包括在产品信息502中的元数据,以确定与产品相关联的一个或更多个视觉效果。在一个或更多个说明性示例中,第一产品数据504可以包括指示与第一产品相关联的一个或更多个视觉效果的元数据。元数据可以由第一产品的制造者或第一产品的卖方中的至少一个提供。在附加示例中,元数据可以由产品信息的聚合器提供。在另外的示例中,视觉效果选项系统128可以基于从实现服务器系统108的服务提供者的代表获得的输入来确定与单个产品相关的视觉效果。例如,实现服务器系统108的服务提供者的代表可以检查与一个或更多个产品相关的信息,并且经由计算设备的一个或更多个输入设备提供输入,该输入指示响应于将一个或更多个产品应用于一个或更多个对象或环境而产生的视觉效果。
另外,视觉效果选项系统128可以分析产品信息502,以确定具有基于将产品应用于对象而被修改的外观的一个或更多个对象。被实现以确定具有被一个或更多个产品修改的外观的一个或更多个对象的对象识别技术的示例可以包括基于外观的过程,所述基于外观的过程搜索诸如边缘、照明或颜色的变化或者形状或尺寸的变化的特征。各种其他技术利用梯度生成和匹配或直方图分析来进行对象识别。其他技术包括基于特征的技术,例如可以利用解释树、几何散列或不变性分析。此外,诸如尺度不变特征变换(SIFT)或加速鲁棒特征(SURF)技术的技术也可以在本主题技术的范围内使用。此外,可以实现模板匹配技术、神经网络技术(例如,使用深度神经网络或卷积神经网络等)、Fisher线性判别技术、最大拒绝分类器技术、支持向量机技术、边缘过滤技术、边缘检测技术等来确定具有可以通过与包括在产品信息502中的一个或更多个产品对应的视觉效果修改的外观的一个或更多个对象。
视觉效果选项系统128还可以对包括在产品信息502中的产品进行分类。视觉效果选项系统128可以基于产品特征来确定产品的分类。在一个或更多个示例中,视觉效果选项系统128可以基于产品特征之间的相似性度量来确定产品的分类。例如,视觉效果选项系统128可以分析第一产品的第一特征和第二产品的第二特征,以确定第一产品与第二产品之间的相似性度量。在相似性度量满足阈值相似性度量的情况下,视觉效果选项系统128可以确定第一产品和第二产品包括在同一分类中。
在附加示例中,单独的分类可以与一个或更多个标准相关联。在这些场景中,视觉效果选项系统128可以相对于分类标准来分析产品的特征,并且确定产品特征与分类标准之间的相似性度量。在相似性度量满足阈值相似性度量的情况下,视觉效果选项系统128可以确定该产品包括在该分类中。在另外的示例中,视觉效果选项系统128可以基于包括在产品信息中的分类标识符来确定相应的产品分类。为了说明,第一产品数据504可以指示第一产品被分类为第一件衣服例如衬衫,并且第二产品数据506可以指示第二产品被分类为第二件衣服例如裤子。在另一说明性示例中,第一产品数据504可以指示第一产品被分类为第一美容产品例如遮瑕膏,并且第二产品数据506可以指示第二产品被分类为第二美容产品例如眼影。
视觉效果选项系统128可以确定至少第一产品分类510和第二产品分类512。尽管图5的说明性示例示出了第一产品分类510和第二产品分类512,但是视觉效果选项系统128可以确定针对包括在产品信息502中的产品的更多分类。第一产品分类510包括第一产品514。第一产品514可以与第一对象数据516和第一视觉效果518相关。第一对象数据516可以指示具有可以通过将第一产品514应用于一个或更多个对象而改变的外观的一个或更多个对象。第一视觉效果518可以指示对包括在第一对象数据516中的对象的外观的修改。例如,包括在第一对象数据516中的对象可以具有响应于将第一产品514应用于该对象而基于第一视觉效果518中的至少一个而改变的外观。
另外,第一产品分类510还可以包括第二产品520。第二产品520可以与第二对象数据522和第二视觉效果524相关。第二对象数据522可以指示具有可以通过将第二产品520应用于一个或更多个对象而改变的外观的一个或更多个对象。第二视觉效果524可以指示对包括在第二对象数据522中的对象的外观的修改。尽管图5的说明性示例示出了第一产品分类510中的第一产品514和第二产品520,但是第一产品分类510可以包括一个或更多个附加产品以及与一个或更多个附加产品对应的相应对象数据和视觉效果。
第二产品分类512可以包括第三产品526。第三产品526可以与第三对象数据528和第三视觉效果530相关。第三对象数据528可以指示具有可以通过将第三产品526应用于一个或更多个对象而改变的外观的一个或更多个对象。第三视觉效果530可以指示对包括在第三对象数据528中的对象的外观的修改。例如,包括在第三对象数据528中的对象可以具有响应于将第三产品526应用于对象而基于第三视觉效果530中的至少一个而改变的外观。
另外,第二产品分类512还可以包括第四产品532。第四产品532可以与第四对象数据534和第四视觉效果536相关。第四对象数据534可以指示具有可以通过将第四产品532应用于一个或更多个对象而改变的外观的一个或更多个对象。第四视觉效果536可以指示对包括在第四对象数据534中的对象的外观的修改。尽管图5的说明性示例示出了第二产品分类512中的第三产品526和第四产品532,但是第二产品分类512可以包括一个或更多个附加产品以及与一个或更多个附加产品对应的相应对象数据和视觉效果。
在一个或更多个说明性示例中,第一产品分类510和第二产品分类512可以对应于美容产品。例如,第一产品分类510可以对应于口红,并且第二产品分类512可以对应于眼影。在这些情况下,第一产品514可以包括第一口红,并且第二产品520可以包括第二口红。在这些示例中,第一产品514的第一视觉效果518可以具有第一组特征,并且第二产品520的第二视觉效果524可以具有第二组特征。为了说明,第一视觉效果518可以具有第一颜色、第一微光、第一光泽、第一纹理或其一种或更多种组合,并且第二视觉效果524可以具有第二颜色、第二微光、第二光泽、第二纹理或其一种或更多种组合。以这种方式,将第一产品514应用于个人的嘴唇可以以不同于将第二产品520应用于个人的嘴唇的方式修改个人嘴唇的外观。在各种示例中,第一产品514和第二产品520可以由同一制造者制造。第一产品514和第二产品520还可以用于经由相同的一个或更多个卖方售卖。在附加示例中,第一产品514和第二产品520可以由不同的制造者制造。第一产品514和第二产品520还可以用于由不同的卖方售卖。在一个或更多个实现方式中,包括在第一产品分类510中的产品可以包括口红集合,该口红集合可以包括具有修改个人嘴唇的外观的多种不同颜色、色度、纹理或光泽特征的调色板。
在一个或更多个附加说明性示例中,第三产品526可以包括第一眼影,并且第四产品532可以包括第二眼影。在这些示例中,第三产品526的第三视觉效果530可以具有第一组特征,并且第四产品532的第四视觉效果536可以具有第二组特征。为了说明,第三视觉效果530可以具有第一颜色、第一色度、第一厚度范围、第一纹理或其一种或多种组合,并且第四视觉效果536可以具有第二颜色、第二色度、第二厚度范围、第二纹理或其一种或多种组合。以这种方式,将第三产品526应用于个人眼睛周围的区域可以以不同于将第四产品532应用于个人眼睛区域的方式修改该区域的外观。在各种示例中,第三产品526和第四产品532可以由同一制造者制造。第三产品526和第四产品532还可以用于经由相同的一个或更多个卖方购买。在附加示例中,第三产品526和第四产品532可以由不同的制造者制造。第三产品526和第四产品532还可以用于由不同的卖方购买。在一个或更多个实现方式中,包括在第二产品分类512中的产品可以包括眼影集合,该眼影集合可以包括具有修改个人眼睛周围的区域的外观的多种不同颜色、色度、厚度范围或纹理特征的调色板。
客户端设备102可以存储或显示用户内容538。用户内容538可以由客户端设备102的摄像装置540捕获。在一个或更多个示例中,用户内容538可以包括图像内容、视频内容或音频内容中的至少一个。用户542可以操作客户端设备102以捕获用户内容538。另外,用户内容538可以包括在摄像装置540的视场中捕获的实时内容。在另外的示例中,用户内容538可以包括先前经由摄像装置540捕获并存储在客户端设备102的存储器中的内容。在各种示例中,用户内容538可以是经由客户端应用104捕获或显示的内容中的至少一种。
服务器系统108可以向客户端设备102发送视觉效果选项信息544。在一个或更多个示例中,用户542可以使客户端应用104从服务器系统108请求视觉效果选项信息544。例如,用户542可以使客户端应用104请求与能够被选择以修改用户内容538的至少一部分的外观的选项对应的信息。为了说明,用户542可以经由客户端应用104向服务器系统108发送请求,以确定在将产品应用于用户内容538的至少一部分时可以如何修改用户内容538的至少一部分的外观。在一个或更多个说明性示例中,用户542可以使得客户端应用104请求指示用户542的一个或更多个面部特征可以如何响应于将一个或更多个美容产品应用于一个或更多个面部特征而被修改的信息。
客户端应用104可以生成第一用户界面546。第一用户界面546可以显示第一视觉效果选项548。第一视觉效果选项548可以基于视觉效果选项信息544来生成。在一个或更多个示例中,第一用户界面546还可以显示用户内容538的至少一部分。在一个或更多个示例中,第一用户界面546可以包括用户内容538的一部分的放大版本。在一个或更多个说明性示例中,第一视觉效果选项548可以指示可以应用于包括在用户内容538中的一个或更多个对象的视觉效果的范围。第一视觉效果选项548可以包括能够被选择以将一个或更多个视觉效果应用于用户内容538的用户界面元件。第一视觉效果选项548也可以与可以被应用于产生与第一视觉效果选项548对应的视觉效果的一个或更多个产品相关。在各种示例中,对与第一视觉效果选项548中的至少一个对应的用户界面元件的选择可以使得与产品相关的视觉效果被应用于包括在用户内容538中的对象。为了说明,对与第一视觉效果选项548中的一个对应的用户界面元件的选择可以使得诸如滤镜或叠加的增强现实内容被实现以修改包括在用户内容538中的至少一个对象的外观。将视觉效果应用于包括在用户内容538中的对象可以使得客户端应用104生成第一修改用户内容550。以这种方式,第一修改用户内容550可以对应于用户内容538的修改版本,其中第一视觉效果选项548中的至少一个被应用于包括在用户内容538中的至少一个对象。基于用户542对与至少一个第一视觉效果选项548对应的至少一个用户界面元件的选择,第一修改用户内容550可以包括摄像装置540的视场中包括的实时内容的修改版本。
在一个或更多个实现方式中,响应于对第一视觉效果选项548中的至少一个的选择,客户端应用104或服务器系统108中的至少一个可以确定与第一视觉效果选项548中所选择的一个相关联的对象。例如,响应于对与第一产品514的第一视觉效果518对应的第一视觉效果选项548中的一个的选择,客户端应用104或服务器系统108中的至少一个可以识别包括在第一对象数据516中的对象。在一个或更多个说明性示例中,对与唇彩对应的第一视觉效果选项548中的一个的选择可以使得客户端应用104或服务器系统108中的至少一个确定唇彩与嘴唇相关联。然后,客户端应用104或服务器系统108中的至少一个可以识别用户内容538内的嘴唇。在识别用户内容538内的嘴唇之后,客户端应用104或服务器系统108中的至少一个可以通过修改嘴唇的外观来使得与所选择的第一视觉效果选项548对应的一个或更多个视觉效果被应用于用户内容538中识别的嘴唇。
在各种示例中,客户端应用104或服务器系统108中的至少一个可以实现一种或更多种对象识别技术,以识别包括在用户内容中的对应于与所选择的第一视觉效果选项548相关的至少一个对象的一个或更多个对象。在一个或更多个实现方式中,由客户端应用104或服务器系统108中的至少一个实现的用于识别包括在用户内容538中的对象(该对象对应于与所选择的第一视觉效果选项548相关的对象)的对象识别技术可以包括基于外观的过程,所述基于外观的过程搜索诸如边缘、照明或颜色的变化或者形状或尺寸的变化的特征。各种其他技术利用梯度生成和匹配或直方图分析来进行对象识别。其他技术包括基于特征的技术,例如可以利用解释树、几何散列或不变性分析。此外,诸如尺度不变特征变换(SIFT)或加速鲁棒特征(SURF)技术的技术也可以在本主题技术的范围内使用。此外,模板匹配技术、神经网络技术(例如,使用深度神经网络或卷积神经网络等)、Fisher线性判别技术、最大拒绝分类器技术、支持向量机技术、边缘过滤技术、边缘检测技术等。
客户端应用104还可以生成第二用户界面552。第二用户界面552可以显示第二视觉效果选项554。第二视觉效果选项554可以基于视觉效果选项信息544来生成。在一个或更多个说明性示例中,第二视觉效果选项554可以指示可以应用于包括在用户内容538中的一个或更多个对象或者第一修改用户内容550的视觉效果的范围。第二视觉效果选项554可以包括能够被选择以将一个或更多个视觉效果应用于用户内容538或第一修改用户内容550的用户界面元件。第二视觉效果选项554也可以与可以被应用于产生与第二视觉效果选项554对应的视觉效果的一个或更多个产品相关。在各种示例中,对与第二视觉效果选项554中的一个对应的用户界面元件的选择可以使得与产品相关的视觉效果被应用于包括在用户内容538或第一修改用户内容550中的对象。为了说明,对与第二视觉效果选项554中的至少一个对应的用户界面元件的选择可以使得诸如滤镜或叠加的增强现实内容被实现以修改包括在用户内容538或第一修改用户内容550中的至少一个对象的外观。将视觉效果应用于包括在用户内容538或第一修改用户内容550中的对象可以使得客户端应用104生成第二修改用户内容556。以这种方式,第二修改用户内容556可以对应于用户内容538的修改版本或第一修改用户内容550的修改版本,其中第二视觉效果选项554中的至少一个被应用于包括在用户内容538或第一修改用户内容550中的至少一个附加对象。
在一个或更多个示例中,第二用户界面552还可以显示用户内容538的至少一部分。在一个或更多个实现方式中,第二用户界面552可以显示用户内容538的至少一部分的放大版本。基于用户542对与至少一个第二视觉效果选项554对应的至少一个用户界面元件的选择,第二修改用户内容556可以包括摄像装置540的视场中包括的实时内容的修改版本。在各种示例中,第二用户界面552可以显示第一修改用户内容550的至少一部分。在这些情况下,响应于对第一视觉效果选项548中的至少一个的选择而对用户内容538做出的修改可以示出在第二用户界面552中。在一个或更多个示例中,第一视觉效果选项548可以对应于由包括在第一产品分类510中的产品产生的视觉效果,并且第二视觉效果选项554可以对应于由包括在第二产品分类512中的产品产生的视觉效果。通过应用一个或更多个第一视觉效果选项548和一个或更多个第二视觉效果选项554两者,可以创建关于用户内容538的整体外观。因此,用户542可以响应于对至少一个第一视觉效果选项548的选择通过选择要针对包括在第一修改用户内容550中的对象应用的至少一个第二视觉效果选项55来建立用户内容538中的一个或更多个对象的经修改的外观。在一个或更多个说明性示例中,第一视觉效果选项548可以对应于响应于将口红应用于用户542的嘴唇而产生的视觉效果,并且第二视觉效果选项可以对应于响应于将眼影应用于用户542的眼睛附近区域而产生的视觉效果。在这些场景中,第一修改用户内容550可以显示与应用于用户542的嘴唇的第一视觉效果选项548中所选择的一个对应的口红,并且第二修改用户内容556可以显示与应用于用户542的嘴唇的第一视觉效果选项548中所选择的一个对应的口红以及与应用于用户542的眼睛附近区域的第二视觉效果选项554中所选择的一个对应的眼影两者。
另外,产品列表系统130可以确定应用于由客户端应用104生成的内容的一个或更多个产品。在图5的说明性示例中,产品列表系统130可以生成包括用于修改用户内容538中包括的一个或更多个对象的外观的产品的列表。例如,产品列表系统130可以获得指示对至少一个第一视觉效果选项548的选择的信息。产品列表系统130还可以获得指示对至少一个第二视觉效果选项554的选择的信息。产品列表系统130可以确定与应用于用户内容538或第一修改用户内容550的第一视觉效果选项548或第二视觉效果选项554中的至少一个对应的产品。产品列表系统130还可以从产品信息502中获得与产品相关的信息。然后,产品列表系统130可以生成产品列表数据558,产品列表数据558包括产品列表和与包括在列表中的产品相关的信息,其中产品列表包括被应用于修改用户内容538或第一修改用户内容550中的至少一个中包括的一个或更多个对象的外观的一个或更多个产品。产品列表数据558可以响应于来自客户端设备102的请求而被发送至客户端设备102,以获得与用于创建关于用户内容538或第一修改用户内容550中包括的一个或更多个对象的一个或更多个视觉效果的一个或更多个产品相关的信息。
客户端应用104可以生成第三用户界面560。第三用户界面560可以包括产品列表562。产品列表562可以由客户端应用104使用产品列表数据558来生成。产品列表562可以包括与用于修改用户内容538或第一修改用户内容550中的至少一个中包括的一个或更多个对象的外观的视觉效果对应的产品的标识符。产品列表562还可以包括关于与用于修改用户内容538或第一修改用户内容550中的至少一个中包括的一个或更多个对象的外观的视觉效果对应的一个或更多个产品的附加信息,例如一个或更多个产品的相应描述、一个或更多个产品的相应标识符、与一个或更多个产品相关的相应定价信息、一个或更多个产品的一个或更多个相应评级、一个或更多个产品的一个或更多个相应评论、与一个或更多个产品相关的相应图像内容、与一个或更多个产品相关的相应视频内容、与一个或更多个产品相关的相应音频内容、或者与一个或更多个产品相关的相应可用性信息。在一个或更多个示例中,第三用户界面560可以包括能够被选择以购买产品列表562中包括的一个或更多个产品的一个或更多个选项。
图6和图7示出了用于生成和应用与供经由客户端应用104购买的产品相关的增强现实内容项的过程的流程图。所述过程可以以由一个或更多个处理器执行的计算机可读指令实施,使得所述过程的操作可以部分地或全部地由客户端应用104或服务器系统108中的至少一个的功能部件来执行。因此,在一些情况下,下面描述的过程是通过参考其示例的方式。然而,在其他实现方式中,关于图6和图7描述的过程的操作中的至少一些可以部署在各种其他硬件配置上。因此,关于图6和图7描述的过程并不旨在限于服务器系统108或客户端设备102,并且可以全部地或部分地由一个或更多个附加部件来实现。尽管所描述的流程图可以将操作示出为顺序过程,但是操作中的许多操作可以并行或同时执行。另外,可以重新布置操作的顺序。过程在其操作完成时终止。过程可以对应于方法、程序、算法等。方法的操作可以全部地或部分地执行,可以与其他方法中的一些或所有操作结合执行,并且可以通过任何数目的不同系统(例如,本文中描述的系统)或者其任何部分(例如,包括在任何系统中的处理器)来执行。
图6是示出根据一个或更多个示例实现方式的用于确定用于使用增强现实内容来修改个人外观的产品列表的过程600的示例操作的流程图。在操作602处,过程600可以包括获得包括关于供经由客户端应用购买的一个或更多个产品的信息的产品数据。产品数据可以从一个或更多个产品的一个或更多个卖方、一个或更多个产品的一个或更多个制造者或者一个或更多个产品数据的聚合器中的至少一个获得。产品数据可以包括与供经由客户端应用购买的一个或更多个产品相关的文本内容、视频内容、音频内容或图像内容中的至少一个。在一个或更多个示例中,产品数据可以包括供经由客户端应用购买的一个或更多个产品的定价信息、产品描述、评级、评论、可用性信息、其一个或更多个组合等。
另外,在操作604处,过程600可以包括分析产品数据,以确定响应于针对客户端应用的用户的用户内容应用产品而产生的一个或更多个视觉效果。用户内容可以包括在客户端设备的至少一个摄像装置的视场中捕获的实时内容。用户内容还可以包括先前由客户端设备的至少一个摄像装置捕获并且存储在客户端设备的存储器或客户端设备可访问的远程存储定位中的至少一个中的内容。
在一个或更多个示例中,可以使用一种或更多种对象识别技术、一种或更多种特征识别技术、一种或更多种图像特征提取计算技术或者一种或更多种图像特征分类计算技术中的至少一种来分析产品数据,以确定由供经由客户端应用购买的一个或更多个产品产生的一个或更多个视觉效果。为了说明,可以分析图像内容或视频内容中的至少一个,以确定当应用一个或更多个产品时产生的一个或更多个视觉效果。在一个或更多个附加示例中,可以分析元数据以确定通过将至少一个产品应用于用户内容而产生的一个或更多个视觉效果。在各种示例中,产品数据可以包括元数据,该元数据包括颜色信息、纹理信息、色度信息、亮度信息、厚度信息、其一个或更多个组合等,指示响应于将一个或更多个产品应用于用户内容的至少一部分而产生的一个或更多个视觉效果。在一个或更多个说明性示例中,一个或更多个产品可以包括美容产品。在这些场景中,响应于将至少一个美容产品应用于个人的至少一个面部特征,一个或更多个视觉效果可以对应于对个人的一个或更多个面部特征的外观的改变。
在操作606处,过程600可以包括确定应用于用户内容的视觉效果。在各种示例中,可以基于对与视觉效果对应的用户界面元件的选择来确定要应用于用户内容的视觉效果。包括在用户内容中的对象可以与供经由客户端应用购买的相应产品相关联。例如,耳环可以与耳垂相关联,鞋子可以与脚相关联,并且眼线可以与睫毛相关联。可以识别与视觉效果相关的对象,并且可以将视觉效果应用于该对象,以产生用户内容的修改版本。在一个或更多个实现方式中,可以通过实现增强现实内容(例如,叠加或滤镜)来应用视觉效果,该增强现实内容根据视觉效果来修改像素数据。不同的视觉效果可以与不同的增强现实内容项相关联。
此外,在操作608处,过程600可以包括确定与视觉效果对应的产品。在一个或更多个示例中,数据库可以存储包括多个产品和各个产品的特征的产品数据。多个产品的特征可以包括视觉效果,该视觉效果用于响应于针对对象应用产品来修改对象或对象附近的区域中的至少一者的外观。在这些情况下,过程600可以包括识别与数据库中的所选择的视觉效果对应的产品。在一个或更多个示例中,客户端应用可以向服务器系统发送指示视觉效果已经被选择以修改包括在用户内容中的对象的外观的信息。然后,服务器系统可以查询数据库以确定对应于视觉效果的产品。
在操作610处,过程600还可以包括生成产品列表,该产品列表包括用于将至少一个视觉效果应用于用户内容的至少一个产品。在一个或更多个示例中,产品列表可以包括已经被应用于修改用户内容的一个或更多个部分的外观的产品的标识符。产品列表还可以包括关于产品的附加信息,例如定价信息、卖方信息、制造者信息、评级信息、评论信息、与产品相关的图像内容、与产品相关的视频内容、与产品相关的音频内容或者与产品相关的可用性信息中的至少一个。在各种示例中,产品列表可以被包括在由执行客户端应用的实例的客户端设备显示的用户界面中。用户界面还可以包括能够被选择以购买包括在产品列表中的至少一个产品的至少一个用户界面元件。
图7是示出根据一个或更多个示例实现方式的用于应用增强现实内容来修改个人外观的过程700的示例操作的流程图。在操作702处,过程700可以包括接收用户输入以修改用户内容。在一个或更多个示例中,可以显示包括用户内容的用户界面。用户界面可以结合客户端应用来显示。客户端应用可以包括消息收发功能或社交网络功能中的至少一个。另外,客户端应用可以用于购买一个或更多个产品。
用户内容可以包括在客户端设备的至少一个摄像装置的视场中捕获的图像内容或视频内容中的至少一个。用户内容可以包括在客户端设备的至少一个摄像装置的视场中捕获的实时内容。用户内容还可以包括先前经由客户端设备的至少一个摄像装置捕获的内容。用户界面还可以包括能够被选择以启动一个或更多个工具来修改用户内容的一个或更多个用户界面元件。在一个或更多个示例中,一个或更多个用户界面元件可以包括能够被选择以将一个或更多个视觉效果应用于包括在用户内容中的一个或更多个对象的用户界面元件。可以通过将产品应用于包括在用户内容中的一个或更多个对象来产生一个或更多个视觉效果。
在操作704处,过程700可以包括确定能够被选择以修改用户内容的一个或更多个视觉效果。一个或更多个视觉效果可以改变包括在用户内容中的一个或更多个对象的外观。一个或更多个视觉效果可以与可以应用于包括在用户内容中的一个或更多个对象的产品或产品分类相关。在各种示例中,可以获得用户输入,该用户输入指示用户已经选择应用于包括在用户内容中的一个或更多个对象的产品分类或一个或者更多个产品。基于对产品分类或者一个或更多个产品的选择,可以确定与产品分类相关联的一个或更多个视觉效果或者与一个或更多个产品相关联的一个或更多个视觉效果。为了说明,产品或产品分类与其对应的视觉效果之间的关联可以被存储在客户端设备可访问的数据存储器中。
另外,在操作706处,过程700可以包括结合用户内容显示一个或更多个视觉效果选项。例如,在对能够被选择以修改用户内容的用户界面元件的选择之后,可以显示包括用户内容和能够被选择以修改用户内容的一个或更多个视觉效果选项的附加用户界面。在一个或更多个示例中,与产品或产品分类相关联的各个视觉效果可以对应于能够被选择以将一个或更多个视觉效果应用于包括在用户内容中的至少一个对象的相应用户界面元件。在一个或更多个说明性示例中,视觉效果选项可以对应于一种或更多种颜色或者一种或更多种眼影色度。在这些场景中,附加用户界面可以包括能够被选择以将眼影的相应颜色或色度应用于包括在用户内容中的个人的眼睛附近区域的个人用户界面元件。在各种示例中,眼影的每种颜色或色度可以对应于可以经由客户端应用购买的至少一个产品。在一个或更多个说明性示例中,一个或更多个视觉效果选项可以包括一系列颜色、色度、纹理等。在这些情况下,视觉效果选项可以由至少一个用户界面元件来显示,该用户界面元件可以包括滑块用户界面元件。
此外,在操作708处,过程700可以包括基于关于一个或更多个视觉效果选项的用户输入来确定要应用于用户内容的视觉效果。用户输入可以包括对与视觉效果对应的用户界面元件的选择。在操作710处,过程700可以包括使用应用视觉效果的增强现实内容来修改包括在用户界面中的对象或对象附近的区域中的至少一者的外观。例如,可以选择单独的视觉效果选项来应用相应的增强现实内容,以将视觉效果应用于对象或对象附近的区域中的至少一者。在一个或更多个说明性示例中,增强现实内容可以包括可以应用于用户内容的叠加或滤镜中的至少一个。在一个或更多个示例中,客户端应用或服务器系统中的至少一个可以确定对应于所选择的视觉效果选项的对象。然后,客户端应用或服务器系统中的至少一个可以分析用户内容以识别用户内容中的对象。然后,增强现实内容可以被实现为基于所选择的视觉效果选项来修改对象、对象附近的区域或者两者。在各种示例中,用户界面可以包括可以应用一个或更多个视觉效果的对象的放大版本,例如一个或更多个对象的初始放大率的1.25倍、1.50倍、1.75倍、2倍、2.5倍、3倍、4倍或5倍。
在操作712处,过程700还可以包括获得指示与视觉效果对应的产品的信息。视觉效果可以是应用于对象或对象附近的区域中的至少一者的产品的模拟。基于所选择的视觉效果选项,可以通过查询存储有指示与视觉效果相关联的一个或更多个产品的信息的数据存储器来确定对应于视觉效果选项的产品。在一个或更多个示例中,与产品相关的信息可以显示在由客户端应用产生的用户界面中。在各种示例中,用户界面可以包括与应用于用户内容的一个或更多个视觉效果对应的一个或更多个产品的列表。用户界面可以包括关于产品的信息,例如产品标识符、产品描述、产品定价信息、产品评级、产品可用性、其一个或更多个组合等。在一个或更多个实现方式中,用户界面还可以包括能够被选择以发起购买产品的金融交易的用户界面元件。
图8是根据一个或更多个示例实现方式的包括用户界面元件802的用户界面800的图示,用户界面元件802能够被选择以发起提供视觉效果选项来修改包括在用户内容804中的一个或更多个对象的外观的过程。用户界面元件802可以是多个用户界面元件806中的一个,每个用户界面元件能够被选择以启动关于用户内容804的不同类型的功能。在各种示例中,多个用户界面元件中的至少一部分可以能够被选择以实现关于用户内容804的增强现实内容。用户界面800可以经由客户端设备102的显示设备来显示。另外,用户界面800可以由客户端应用(例如客户端应用104)来显示,客户端应用包括消息收发功能或社交网络功能中的至少一个。在一个或更多个示例中,用户内容804可以包括在客户端设备102的至少一个摄像装置808的视场内捕获的内容。
图9是根据一个或更多个示例实现方式的包括与第一产品分类对应的第一数目的视觉效果选项902的用户界面900的图示,第一数目的视觉效果选项902可以应用于修改个人外观。用户界面900可以经由客户端设备102的显示设备来显示。另外,用户界面900可以由客户端应用(例如,客户端应用104)来显示,客户端应用包括消息收发功能或社交网络功能中的至少一个。在一个或更多个示例中,可以响应于对图8的用户界面元件802的选择来显示用户界面900。
用户界面900可以包括图8的用户内容804的第一放大视图904。第一放大视图904可以对应于用户内容804的一部分,例如包括在用户内容804中的一个或更多个对象的放大视图。例如,视觉效果选项902可以与面部特征相关联,并且第一放大视图904可以包括相对于包括在用户界面800中的面部特征的视图被放大的面部特征的至少一部分。在图9的说明性示例中,个人的眼睛在第一放大视图904内相对于包括在用户界面800中的个人眼睛的视图被放大。
多个视觉效果选项902可以各自对应于修改包括在第一放大视图904中的一个或更多个对象的外观的视觉效果。多个视觉效果选项902可以对应于包括在产品分类中的一个或更多个产品。在图9的说明性示例中,一个或更多个视觉效果选项902可以对应于可以应用于第一放大视图904中所示的个人眼睛附近的区域906的眼影的颜色或色度中的至少一个。在各种示例中,与视觉效果选项902中的每一个相关的眼影类型可以与由不同制造者制造或由不同卖方出售的产品相关联。诸如滤镜或叠加的增强现实内容可以被实现为将一个或更多个所选择的视觉效果选项902应用于区域906。在图9的说明性示例中,第一视觉效果选项908被示出为被选择。在这些场景中,可以根据第一视觉效果选项908的颜色、色调、纹理或其他视觉特性中的至少一个来修改区域906的外观。
用户界面900可以包括关于第一视觉效果选项908的附加信息。例如,用户界面900可以包括可以被应用于产生与第一视觉效果选项908对应的视觉效果的产品的标识符910。用户界面900还可以包括与将视觉效果选项中的至少一个应用于包括在第一放大视图904中的对象相关的指令912。用户界面900还可以包括用户界面900中未示出的信息,例如与多个视觉效果选项902相关的分类的标识符或者与视觉效果选项902中所选择的一个相关的颜色或色度的标识符。此外,用户界面900可以包括用户界面元件914,该用户界面元件914能够被选择以显示附加用户界面以将不同数目的视觉效果应用于用户内容804,或者显示已经应用一个或更多个视觉效果的用户内容804的版本。
图10是根据一个或更多个示例实现方式的包括与第二产品分类对应的第二数目的视觉效果选项1002的用户界面1000的图示,第二数目的视觉效果选项1002可以应用于修改个人外观。用户界面1000可以经由客户端设备102的显示设备来显示。另外,用户界面1000可以由客户端应用(例如,客户端应用104)来显示,客户端应用包括消息收发功能或社交网络功能中的至少一个。在一个或更多个示例中,可以响应于对图9的用户界面元件914的选择来显示用户界面1000。
用户界面1000可以包括图8的用户内容804的第二放大视图1004。第二放大视图1004可以对应于用户内容804的一部分,例如包括在用户内容804中的一个或更多个对象的放大视图。例如,视觉效果选项1002可以与面部特征相关联,并且第二放大视图1004可以包括相对于包括在用户界面800中的面部特征的视图被放大的面部特征的至少一部分。在图10的说明性示例中,个人的脸颊在第二放大视图1004内相对于包括在用户界面800中的个人脸颊的视图被放大。
多个视觉效果选项1002可以各自对应于修改包括在第二放大视图1004中的一个或更多个对象的外观的视觉效果。多个视觉效果选项1002可以对应于包括在产品分类中的一个或更多个产品。在图10的说明性示例中,一个或更多个视觉效果选项1002可以显示在滑块用户界面元件中,并且对应于可以应用于第二放大视图1004中所示的个人面部的区域1006的化妆粉底的颜色、厚度或色度中的至少一个。在各种示例中,与视觉效果选项1002中的每一个相关的化妆粉底的类型可以与由不同制造者制造或由不同卖方出售的产品相关联。可以执行诸如滤镜或叠加的增强现实内容以将一个或更多个所选择的视觉效果选项1002应用于区域1006。在这些场景中,可以根据视觉效果选项1002中所选择的一个的颜色、色调、纹理或其他视觉特性中的至少一个来修改区域1006的外观。
用户界面1000可以包括关于视觉效果选项1002的附加信息。例如,用户界面1000可以包括与将视觉效果选项1002中的至少一个应用于包括在第二放大视图1004中的对象相关的指令1008。尽管在图10的说明性示例中未示出,但是用户界面1000还可以包括与视觉效果选项1002相关的附加信息,例如与视觉效果选项1002相关的产品的一个或更多个标识符、与多个视觉效果选项1002相关的分类的标识符或者与视觉效果选项1002中所选择的一个相关的颜色或色度的标识符。此外,用户界面1000可以包括用户界面元件1010,该用户界面元件1010能够被选择以显示附加用户界面以将不同数目的视觉效果应用于用户内容804,或者显示已经应用一个或更多个视觉效果的用户内容804的版本。
图11是根据一个或更多个示例实现方式的包括用户界面元件1102的用户界面1100的图示,用户界面元件1102能够被选择以查看用于修改个人外观的产品列表。用户界面1100可以经由客户端设备102的显示设备来显示,并且由客户端设备102执行的客户端应用(例如,客户端应用104)来产生。在各种示例中,用户界面1100可以包括作为图8的用户内容804的修改版本的经修改的用户内容1104。在各种示例中,经修改的用户内容1104可以包括由一个或更多个视觉效果(例如,经由用户界面900或用户界面1000添加的一个或更多个视觉效果)修改的用户内容804的版本。
用户界面1100还可以包括可单独选择以进一步修改经修改的用户内容1104的一个或更多个第一用户界面元件1106。为了说明,第一用户界面元件1106可以包括能够被选择以向经修改的用户内容1104添加文本内容(例如,字幕)的用户界面元件。另外,第一用户界面元件1106可以包括能够被选择以向经修改的用户内容1104添加图像叠加(例如,与客户端应用的用户的定位相关的图像叠加或者与经修改的用户内容1104相关的主题)的用户界面元件。在各种示例中,一个或更多个第一用户界面元件1106可以能够被选择以将滤镜应用于经修改的用户内容1104。可以选择一个或更多个第一用户界面元件1106中的至少一个以启动可以用于修改经修改的用户内容1104的一个或更多个创建工具。一个或更多个创建工具可以包括一个或更多个绘图工具或者一个或更多个绘画工具中的至少一个。
用户界面1100还可以包括一个或更多个第二用户界面元件1108。第二用户界面元件1108中的至少一个可以能够被选择以将经修改的用户内容1104保存至客户端设备102的存储器。另外,第二用户界面元件1108中的至少一个可以能够被选择以将经修改的用户内容1104保存至与客户端设备102的用户相关的内容项的集合。此外,用户界面1100可以包括能够被选择以共享经修改的用户内容1104的第三用户界面元件1110。在一个或更多个示例中,对第三用户界面元件1110的选择可以生成附加用户界面,该附加用户界面包括针对经修改的用户内容1104的一个或更多个接收方或者一个或更多个目的地中的至少一个。在各种示例中,第三用户界面元件1110可以能够被选择以生成用于共享经修改的用户内容1104的消息。在一个或更多个附加示例中,第三用户界面元件1110可以能够被选择以经由向客户端应用104的用户的社交网络的发布来共享经修改的用户内容1104。
图12是根据一个或更多个示例实现方式的包括用于修改个人外观的产品列表1202的用户界面1200的图示。用户界面1200可以经由客户端设备102的显示设备来显示,并且由客户端设备102执行的客户端应用(例如,客户端应用104)来产生。在一个或更多个示例中,可以响应于对图11的用户界面元件1102的选择来产生用户界面1200。在各种示例中,包括在产品列表1202中的产品可以对应于应用于用户内容804并且用于产生用户内容804的修改版本的一个或更多个视觉效果。
在图12的说明性示例中,产品列表1202可以包括关于一个或更多个产品的信息,例如关于第一产品1206的第一信息1204、关于第二产品1210的第二信息1208以及关于第三产品1214的第三信息1212。第一产品1206、第二产品1210或第三产品1214中的至少一个可以被应用于修改包括在用户内容中的个人外观。第一信息1204、第二信息1208和第三信息1212可以至少包括相应产品的标识符、相应产品的卖方、相应产品的定价信息以及相应产品的评级信息。用户界面1200还可以包括能够被选择以发起用于购买第一产品1206、第二产品1210或第三产品1214中的一个或更多个的交易的用户界面元件1216。
图13是示出根据一些示例实现方式的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文中讨论的方法中的任何一种或更多种方法的机器1300的部件的框图。具体地,图13示出了呈计算机系统的示例形式的机器1300的图形表示,在机器1300内可以执行用于使机器1300执行本文中讨论的方法中的任何一种或更多种方法的指令1302(例如,软件、程序、应用、小程序、app或其他可执行代码)。因此,指令1302可以用于实现本文中描述的模块或部件。指令1302将通用的未经编程的机器1300转换成被编程为以所描述的方式执行所描述和所示出的功能的特定机器1300。在替选实现方式中,机器1300作为独立设备操作,或者可以耦接(例如,联网)至其他机器。在联网部署中,机器1300可以在服务器-客户端网络环境中以服务器机器或客户端机器的身份操作,或者在对等(或分布式)网络环境中作为对等机器操作。机器1300可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web设备、网络路由器、网络交换机、网络桥接器或者能够顺序地或以其他方式执行指定要由机器1300采取的动作的指令1302的任何机器。此外,虽然仅示出了单个机器1300,但是术语“机器”还应当被视为包括单独地或联合地执行指令1302以执行本文中讨论的方法中的任何一种或更多种方法的机器的集合。
机器1300可以包括可以被配置成例如经由总线1310彼此通信的处理器1304、存储器/存储装置1306和I/O部件1308。在示例实现方式中,处理器1304(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器或其任何合适的组合)可以包括例如可以执行指令1302的处理器1312和处理器1314。术语“处理器”旨在包括多核处理器1304,所述多核处理器1304可以包括可以同时执行指令1302的两个或更多个独立处理器(有时被称为“核”)。尽管图10示出了多个处理器1304,但是机器1300可以包括具有单个核的单个处理器1312、具有多个核的单个处理器1312(例如,多核处理器)、具有单个核的多个处理器1312、1314、具有多个核的多个处理器1312、1314、或者其任何组合。
存储器/存储装置1306可以包括诸如主存储器1316或其他存储器存储装置的存储器以及存储单元1318,两者均可由处理器1304经由总线1310访问。存储单元1318和主存储器1316存储体现本文中描述的方法或功能中的任何一种或更多种方法或功能的指令1302。指令1302还可以在其由机器1300执行期间完全地或部分地驻留在主存储器1316内、存储单元1318内、处理器1304中的至少一个内(例如,在处理器的高速缓存存储器内)或者其任何合适的组合内。因此,主存储器1316、存储单元1318以及处理器1304的存储器是机器可读介质的示例。
I/O部件1308可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量值等的各种部件。包括在特定机器1300中的特定I/O部件1308将取决于机器的类型。例如,诸如移动电话的便携式机器将很可能包括触摸输入设备或其他这样的输入机构,而无头服务器机器将很可能不包括这样的触摸输入设备。应当理解,I/O部件1308可以包括图10中未示出的许多其他部件。仅出于简化以下讨论的目的,根据功能对I/O部件1308进行分组,并且该分组决不是限制性的。在各种示例实现方式中,I/O部件1308可以包括用户输出部件1320和用户输入部件1322。用户输出部件1320可以包括视觉部件(例如,诸如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT)的显示器)、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。用户输入部件322可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、操轨迹球、纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸手势的定位或力的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
在另外的示例实现方式中,I/O部件1308可以包括生物计量部件1324、运动部件1326、环境部件1328或位置部件1330以及各种其他部件。例如,生物计量部件1324可以包括用于检测表达(例如,手表达、面部表达、声音表达、身体姿态或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑电波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的部件。运动部件1326可以包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)等。环境部件1328可以包括例如照明传感器部件(例如,光度计)、温度传感器部件(例如,检测环境温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,用于出于安全而检测危险气体的浓度或用于测量大气中的污染物的气体检测传感器)、或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。位置部件1330可以包括定位传感器部件(例如,GPS接收器部件)、海拔传感器部件(例如,检测气压的高度计或气压计,根据气压可以得到海拔)、取向传感器部件(例如,磁力计)等。
可以使用各种技术来实现通信。I/O部件1308可以包括可操作以将机器1300耦接至网络1334或设备1336的通信部件1332。例如,通信部件1332可以包括网络接口部件或与网络1334对接的其他合适的设备。在另外的示例中,通信部件1332可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、
Figure BDA0004022843110000411
部件(例如,
Figure BDA0004022843110000412
低功耗)、
Figure BDA0004022843110000413
部件以及经由其他模态提供通信的其他通信部件。设备1336可以是另一机器1300或各种外围设备中的任何外围设备(例如,经由USB耦接的外围设备)。
此外,通信部件1332可以检测标识符,或者包括可操作以检测标识符的部件。例如,通信部件1332可以包括射频识别(RFID)标签阅读器部件、NFC智能标签检测部件、光学阅读器部件(例如,用于检测诸如通用产品码(UPC)条形码的一维条形码、诸如快速响应(QR)码的多维条形码、Aztec码、数据矩阵、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(Ultra Code)、UCC RSS-2D条形码和其他光学码的光学传感器)或者声学检测部件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信部件1332得到各种信息,例如经由因特网协议(IP)地理位置得到定位、经由
Figure BDA0004022843110000414
信号三角测量得到定位、经由检测可以指示特定定位的NFC信标信号得到定位等。
图14是示出包括示例软件架构1402的系统1400的框图,示例软件架构1402可以与本文中描述的各种硬件架构结合使用。图14是软件架构的非限制性示例,并且应当理解,可以实现许多其他架构以有助于本文中描述的功能。软件架构1402可以在诸如图10的机器1300的硬件上执行,机器1300包括处理器1304、存储器/存储装置1306和输入/输出(I/O)部件1308等。代表性硬件层1404被示出并且可以表示例如图13的机器1300。代表性硬件层1404包括具有相关联的可执行指令1408的处理单元1406。可执行指令1408表示软件架构1402的可执行指令,包括本文中描述的方法、部件等的实现方式。硬件层1404还包括也具有可执行指令1408的存储器或存储模块存储器/存储装置1410中的至少一个。硬件层1404还可以包括其他硬件1512。
在图14的示例架构中,软件架构1402可以被概念化为层的堆栈,其中每个层提供特定功能。例如,软件架构1402可以包括诸如操作系统1414、库1416、框架/中间件1418、应用1420和呈现层1422的层。在操作上,层内的应用1420或其他部件可以通过软件堆栈来激活API调用1424,并且响应于API调用1424接收消息1426。所示的层在本质上是代表性的,并且并非所有软件架构都具有所有的层。例如,一些移动操作系统或专用操作系统可能不提供框架/中间件1418,而其他操作系统可能提供这样的层。其他软件架构可以包括附加的或不同的层。
操作系统1414可以管理硬件资源并且提供通用服务。操作系统1414可以包括例如内核1428、服务1430和驱动器1432。内核1428可以充当硬件层与其他软件层之间的抽象层。例如,内核1428可以负责存储器管理、处理器管理(例如,调度)、部件管理、联网、安全设置等。服务1430可以为其他软件层提供其他公共服务。驱动器1432负责控制底层硬件或与底层硬件对接。例如,根据硬件配置,驱动器1432包括显示驱动器、摄像装置驱动器、
Figure BDA0004022843110000421
驱动器、闪存驱动器、串行通信驱动器(例如,通用串行总线(USB)驱动器)、
Figure BDA0004022843110000422
驱动器、音频驱动器、电力管理驱动器等。
库1416提供由应用1420、其他部件或层中的至少一个使用的公共基础设施。库1416提供以下功能:该功能允许其他软件部件以比与底层操作系统1414功能(例如,内核1428、服务1430、驱动器1432)直接对接的方式更容易的方式来执行任务。库1416可以包括系统库1434(例如,C标准库),该系统库1434可以提供诸如存储器分配功能、字符串操纵功能、数学功能等功能。另外,库1416可以包括API库1436,例如媒体库(例如,用于支持诸如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG的各种媒体格式的呈现和操纵的库)、图形库(例如,可以用于在显示器上的图形内容中呈现二维和三维的OpenGL框架)、数据库库(例如,可以提供各种关系数据库功能的SQLite)、web库(例如,可以提供web浏览功能的WebKit)等。库1416还可以包括各种其他库1438,以向应用1420和其他软件部件/模块提供许多其他API。
框架/中间件1418(有时也被称为中间件)提供可以由应用1420或其他软件部件/模块使用的较高级别的公共基础设施。例如,框架/中间件1418可以提供各种图形用户界面功能、高级资源管理、高级定位服务等。框架/中间件1418可以提供可以由应用1420或其他软件部件/模块使用的广泛的其他API,其中一些API可以专用于特定操作系统1414或平台。
应用1420包括内置应用1440和第三方应用1442。代表性内置应用1440的示例可以包括但不限于联系人应用、浏览器应用、书籍阅读器应用、定位应用、媒体应用、消息收发应用或者游戏应用。第三方应用1442可以包括由除特定平台的供应商之外的实体使用ANDROIDTM或IOSTM软件开发工具包(SDK)开发的应用,并且可以是在诸如IOSTM、ANDROIDTM
Figure BDA0004022843110000431
电话的移动操作系统或其他移动操作系统上运行的移动软件。第三方应用1442可以激活由移动操作系统(例如,操作系统1414)提供的API调用1424以有助于本文中描述的功能。
应用1420可以使用内置操作系统功能(例如,内核1428、服务1430、驱动器1432)、库1416以及框架/中间件1418来创建UI以与系统的用户互进行交互。替选地或附加地,在一些系统中,可以通过呈现层例如呈现层1422发生与用户的交互。在这些系统中,应用/部件“逻辑”可以与和用户交互的应用/部件的方面分离。
术语表:
该上下文中的“载波信号”是指能够存储、编码或携载由机器1300执行的暂态或非暂态指令1302的任何无形介质,并且包括数字或模拟通信信号或其他无形介质,以有助于这样的指令1302的通信。可以使用暂态或非暂态传输介质经由网络接口设备并且使用多个公知的传输协议中的任何一个通过网络110、1334发送或接收指令1302。
该上下文中的“客户端设备”是指与通信网络110、1334对接以从一个或更多个服务器系统或其他客户端设备102获得资源的任何机器1300。客户端设备102可以是但不限于移动电话、台式计算机、膝上型计算机、PDA、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程的消费者电子产品、游戏控制台、机顶盒或用户可以用于访问网络110、1334的任何其他通信设备。
该上下文中的“通信网络”是指网络110、1334的一个或更多个部分,网络110、1334可以是自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、
Figure BDA0004022843110000441
网络、另一类型的网络或者两个或更多个这样的网络的组合。例如,网络110、1334或网络的一部分可以包括无线或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何数据传输技术,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、增强型数据速率GSM演进(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动通信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他数据传输技术、其他长距离协议或其他数据传输技术。
该上下文中的“短暂消息”是指可以在时间有限的持续时间内访问的消息。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送方设置。替选地,访问时间可以是默认设置或者由接收方指定的设置。无论设置技术如何,消息都是暂时的。
该上下文中的“机器可读介质”是指能够临时或永久地存储指令1302和数据的部件、设备或其他有形介质,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁介质、高速缓存存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(EEPROM))和/或其任何合适的组合。术语“机器可读介质”可以被视为包括能够存储指令1302的单个介质或多个介质(例如,集中式或分布式数据库或者相关联的高速缓存和服务器)。术语“机器可读介质”还应当被视为包括能够存储由机器1300执行的指令1302(例如,代码)的任何介质或多个介质的组合,使得指令1302在由机器1300的一个或更多个处理器1304执行时使机器1300执行本文中描述方法中的任何一种或更多种。因此,“机器可读介质”是指单个存储装置或设备,以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。术语“机器可读介质”不包括信号本身。
该上下文中的“部件”是指具有以下边界的设备、物理实体或逻辑:所述边界由功能或子例程调用、分支点、API或者对特定处理或控制功能提供分区或模块化的其他技术来定义。部件可以经由其接口与其他部件组合以执行机器处理。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元,以及通常执行相关功能中的特定功能的程序的一部分。部件可以构成软件部件(例如,体现在机器可读介质上的代码)或硬件部件。“硬件部件”是能够执行某些操作的有形单元,并且可以以某种物理方式来配置或布置。在各种示例实现方式中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置为进行操作以执行如本文中描述的某些操作的硬件部件。
也可以机械地、电子地或以其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久地配置成执行某些操作的专用电路系统或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(FPGA)或ASIC。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路系统。例如,硬件部件可以包括由通用处理器1304或其他可编程处理器执行的软件。一旦通过这样的软件被配置,则硬件部件成为被唯一地定制成执行所配置的功能的特定机器(或机器1300的特定部件)并且不再是通用处理器1304。应当理解,可以出于成本和时间考虑来推动在专用且永久配置的电路系统中或在临时配置(例如,通过软件配置)的电路系统中机械地实现硬件部件的决策。因此,短语“硬件部件”(或“硬件实现的部件”)应当被理解为包含有形实体,即被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式操作或者执行本文中描述的某些操作的实体。考虑硬件部件被临时配置(例如,被编程)的实现方式,无需在任一时刻对硬件部件中的每一个进行配置或实例化。例如,在硬件部件包括通过软件配置而成为专用处理器的通用处理器1304的情况下,该通用处理器1304可以在不同时间被配置为分别不同的专用处理器(例如,包括不同的硬件部件)。软件相应地对特定处理器1312、1314或处理器1304进行配置,以例如在一个时刻构成特定硬件部件并且在不同的时刻构成不同的硬件部件。
硬件部件可以向其他硬件部件提供信息以及从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为通信地耦接。在同时存在多个硬件部件的情况下,可以通过在两个或更多个硬件部件之间或之中(例如,通过适当的电路和总线)进行信号传输来实现通信。在多个硬件部件在不同时间被配置或实例化的实现方式中,可以例如通过将信息存储在多个硬件部件可以访问的存储器结构中并且在存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作并且将该操作的输出存储在与其通信地耦接的存储器设备中。然后,另外的硬件部件可以在随后的时间访问存储设备,以检索所存储的输出并对其进行处理。
硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源(例如,信息的集合)进行操作。在本文中描述的示例方法的各种操作可以至少部分地由被临时配置(例如,通过软件)或永久配置成执行相关操作的一个或更多个处理器1304来执行。无论是临时配置还是永久配置,这样的处理器1304可以构成进行操作以执行本文中描述的一个或更多个操作或功能的处理器实现的部件。如本文中使用的,“处理器实现的部件”是指使用一个或更多个处理器1304实现的硬件部件。类似地,在本文中描述的方法可以至少部分地由处理器实现,其中特定的处理器1312、1314或处理器1304是硬件的示例。例如,方法的操作中的至少一些可以由一个或更多个处理器1304或者处理器实现的部件来执行。此外,一个或更多个处理器1304还可以进行操作以支持“云计算”环境中的相关操作的执行或作为“软件即服务”(SaaS)操作。例如,操作中的至少一些可以由计算机组(作为包括处理器1304的机器1300的示例)来执行,其中这些操作可以经由网络110(例如,因特网)并且经由一个或更多个适当的接口(例如,API)来访问。某些操作的执行可以分布在处理器之间,不仅驻留在单个机器1300内,而且跨多个机器部署。在一些示例实现方式中,处理器1304或处理器实现的部件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实现方式中,处理器1304或处理器实现的部件可以跨多个地理位置分布。
该上下文中的“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器码”等)操纵数据值并且产生被应用于操作机器1300的对应输出信号的任何电路或虚拟电路(通过在实际处理器1304上执行的逻辑模拟的物理电路)。处理器1304例如可以是CPU、RISC处理器、CISC处理器、GPU、DSP、ASIC、RFIC或其任何组合。处理器1304还可以是具有可以同时执行指令1302的两个或更多个独立处理器1304(有时被称为“核”)的多核处理器。
该上下文中的“时间戳”是指标识某个事件何时发生(例如给出日期和一天中时间,有时精确到几分之一秒)的字符或编码信息的序列。
在不脱离本公开内容的范围的情况下,可以对所公开的实现方式进行改变和修改。这些和其他改变或修改旨在包括在如所附权利要求中表达的本公开内容的范围内。
本公开内容的示例方面
方面1.一种方法,包括:由一个或更多个计算设备获得产品数据,所述产品数据包括关于供经由客户端应用购买的一个或更多个产品的信息;由所述一个或更多个计算设备中的至少一个计算设备分析所述产品数据,以确定响应于针对所述客户端应用的一个或更多个用户应用所述一个或更多个产品中的至少一个产品而产生的一个或更多个视觉效果;由所述一个或更多个计算设备中的至少一个计算设备基于指示对与视觉效果对应的用户界面元件的选择的用户输入来确定应用于用户内容的所述视觉效果,所述用户内容对应于所述客户端应用的用户;由所述一个或更多个计算设备中的至少一个计算设备确定与所述视觉效果对应的产品;以及由所述一个或更多个计算设备中的至少一个计算设备生成包括所述产品的产品列表,所述产品列表中的各个产品对应于用于修改所述用户内容的至少一个视觉效果。
方面2.根据方面1所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备确定产品的多个分类;由所述一个或更多个计算设备中的至少一个计算设备确定包括在所述多个分类的第一分类中的第一数目的产品的第一视觉效果;以及由所述一个或更多个计算设备中的至少一个计算设备确定包括在所述多个分类的第二分类中的第二数目的产品的第二视觉效果。
方面3.根据方面2所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备确定与所述第一视觉效果对应的第一数目的视觉效果选项,所述第一视觉效果修改与第一对象相关的第一外观;由所述一个或更多个计算设备中的至少一个计算设备确定与所述第二视觉效果对应的第二数目的视觉效果选项,所述第二视觉效果修改与不同于所述第一对象的第二对象相关的第二外观。
方面4.根据方面3所述的方法,其中,所述第一视觉效果修改第一面部特征的颜色、色度或纹理中的至少一个,并且所述第二视觉效果修改第二面部特征的颜色、色度或纹理中的至少一个。
方面5.根据方面3所述的方法,其中,所述第一视觉效果包括与第一增强现实内容项对应的第一视觉效果,所述第一增强现实内容项与包括在所述用户内容中的第一对象相关地应用所述第一视觉效果;并且所述第二视觉效果包括与第二增强现实内容项对应的第二视觉效果,所述第二增强现实内容项与包括在所述用户内容中的第二对象相关地应用所述第二视觉效果。
方面6.根据方面5所述的方法,包括由所述一个或更多个计算设备中的至少一个计算设备获得经修改的用户内容,所述经修改的用户内容包括与所述第一对象相关地应用的所述第一视觉效果以及与所述第二对象相关地应用的所述第二视觉效果。
方面7.根据方面5所述的方法,其中,所述第一视觉效果对应于由第一制造者制造的第一产品,并且所述第二视觉效果对应于由第二制造者制造的第二产品,并且所述方法包括由所述一个或更多个计算设备中的至少一个计算设备并且经由所述客户端应用接收购买所述第一产品或所述第二产品中的至少一个的请求。
方面8.根据方面1至7中任一项所述的方法,包括:由所述一个或更多个计算设备中的至少一个计算设备获得包括所述用户内容的修改版本的消息,所述用户内容的修改版本包括应用于包括在所述用户内容中的对象的所述视觉效果;以及由所述一个或更多个计算设备中的至少一个计算设备向所述消息的接收方的客户端设备发送所述消息,所述消息能够经由由所述接收方的所述客户端设备执行的所述客户端应用的实例来访问。
方面9.一种系统,包括:一个或更多个硬件处理器;以及包括计算机可读指令的一个或更多个非暂态计算机可读存储介质,所述计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行操作,所述操作包括:获得产品数据,所述产品数据包括关于供经由客户端应用购买的一个或更多个产品的信息;分析所述产品数据,以确定响应于针对所述客户端应用的一个或更多个用户应用所述一个或更多个产品中的至少一个产品而产生的一个或更多个视觉效果;基于指示对与视觉效果对应的用户界面元件的选择的用户输入来确定应用于用户内容的所述视觉效果,所述用户内容对应于所述客户端应用的用户;确定与所述视觉效果对应的产品;以及生成包括所述产品的产品列表,所述产品列表中的各个产品对应于用于修改所述用户内容的至少一个视觉效果。
方面10.根据方面9所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加的计算机可读指令,所述附加的计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行包括如下操作的附加操作:通过实现一种或更多种对象识别技术来分析所述产品数据以确定与所述产品对应的对象,其中,所述视觉效果被应用于所述对象或所述对象附近的区域中的至少一者;以及通过实现图像特征提取计算技术或图像特征分类计算技术中的至少一种来分析所述产品数据以识别所述视觉效果。
方面11.根据方面9或10所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加的计算机可读指令,所述附加的计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行包括如下操作的附加操作:基于与所述产品数据相关的元数据来确定所述视觉效果对应于所述产品,所述元数据由聚合与多个产品对应的信息服务提供者提供;以及基于所述元数据确定与所述产品相关的对象,其中,所述视觉效果被应用于所述对象或所述对象附近的区域中的至少一者。
方面12.根据方面10所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加的计算机可读指令,所述附加的计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行包括如下操作的附加操作:分析所述用户内容以确定包括在所述用户内容中的附加对象;确定包括在所述用户内容中的所述附加对象与对应于所述产品的所述对象之间的相似性度量;确定所述相似性度量至少是阈值相似性度量;以及实现关于所述附加对象的增强现实内容项,以将所述视觉效果应用于所述附加对象或所述附加对象附近的区域中的至少一者。
方面13.根据方面10所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加的计算机可读指令,所述附加的计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行包括如下操作的附加操作:获得包括所述用户内容的修改版本的社交网络内容,所述用户内容的修改版本包括应用于所述用户内容内的所述对象的所述视觉效果;以及使得所述社交网络内容能够由所述客户端应用的用户的一个或更多个联系人访问。
方面14.根据方面9至13中任一项所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加的计算机可读指令,所述附加的计算机可读指令在由一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行包括如下操作的附加操作:通过与一个或更多个分类标准相关地分析所述产品的一个或更多个特征来确定所述产品的分类,所述分类包括在多个产品分类中;并且所述视觉效果包括在与所述分类对应的多个视觉效果中。
方面15.一种方法,包括:由一个或更多个计算设备接收修改用户内容的用户输入,所述用户内容在摄像装置的视场内捕获;由所述一个或更多个计算设备中的至少一个计算设备确定能够被选择以修改所述用户内容的一个或更多个视觉效果选项,所述一个或更多个视觉效果选项与供经由客户端应用购买的一个或更多个产品相关;由所述一个或更多个计算设备中的至少一个计算设备显示所述客户端应用的用户界面,所述用户界面包括所述一个或更多个视觉效果选项以及所述用户内容的至少一部分;由所述一个或更多个计算设备中的至少一个计算设备基于选择所述一个或更多个视觉效果选项中的视觉效果选项的用户输入来确定要应用于所述用户内容的视觉效果,其中,所选择的视觉效果选项对应于所述视觉效果;由所述一个或更多个计算设备中的至少一个计算设备使用应用所述视觉效果的增强现实内容来修改包括在所述用户内容中的对象或所述对象附近的区域中的至少一者的外观;以及由所述一个或更多个计算设备中的至少一个计算设备获得指示与所述视觉效果对应的产品的信息。
方面16.根据方面15所述的方法,还包括:由所述一个或更多个计算设备中的至少一个计算设备显示所述客户端应用的第一用户界面,所述第一用户界面包括附加用户内容和与第一产品分类对应的第一数目的视觉效果选项;以及由所述一个或更多个计算设备中的至少一个计算设备显示所述客户端应用的第二用户界面,所述第二用户界面包括所述附加用户内容和与第二产品分类对应的第二数目的视觉效果选项。
方面17.根据方面16所述的方法,还包括:由所述一个或更多个计算设备中的至少一个计算设备根据与包括在所述第一数目的视觉效果选项中的第一视觉效果选项相关的第一视觉效果来修改包括在所述附加用户内容中的第一对象的第一外观,以产生所述附加用户内容的第一修改版本;以及由所述一个或更多个计算设备中的至少一个计算设备根据与包括在所述第二数目的视觉效果选项中的第二视觉效果选项相关的第二视觉效果来修改包括在所述附加用户内容中的第二对象的第二外观,以产生所述附加用户内容的第二修改版本。
方面18.根据方面17所述的方法,其中,所述第一对象包括所述附加用户内容中包括的个人的第一面部特征,并且所述第二对象包括所述个人的第二面部特征。
方面19.根据方面17所述的方法,还包括:由所述一个或更多个计算设备中的至少一个计算设备显示所述客户端应用的包括产品列表的第三用户界面,所述产品列表包括对应于与所述第一视觉效果相关的第一产品的第一产品信息以及对应于与所述第二视觉效果相关的第二产品的第二产品信息。
方面20.根据方面17所述的方法,其中,所述第一用户界面包括所述附加用户内容的第一部分的放大版本,所述第一部分包括所述第一对象;所述第二用户界面包括所述附加用户内容的第二部分的放大版本,所述第二部分包括所述第二对象。

Claims (20)

1.一种方法,包括:
由一个或更多个计算设备获得产品数据,所述产品数据包括关于供经由客户端应用购买的一个或更多个产品的信息;
由所述一个或更多个计算设备中的至少一个计算设备分析所述产品数据,以确定响应于对所述客户端应用的一个或更多个用户应用所述一个或更多个产品中的至少一个产品而产生的一个或更多个视觉效果;
由所述一个或更多个计算设备中的至少一个计算设备基于指示对与视觉效果对应的用户界面元件的选择的用户输入来确定应用于用户内容的所述视觉效果,所述用户内容对应于所述客户端应用的用户;
由所述一个或更多个计算设备中的至少一个计算设备确定与所述视觉效果对应的产品;以及
由所述一个或更多个计算设备中的至少一个计算设备生成包括所述产品的产品列表,所述产品列表中的各个产品对应于用于修改所述用户内容的至少一个视觉效果。
2.根据权利要求1所述的方法,包括:
由所述一个或更多个计算设备中的至少一个计算设备确定产品的多个分类;
由所述一个或更多个计算设备中的至少一个计算设备确定包括在所述多个分类的第一分类中的第一数目的产品的第一视觉效果;以及
由所述一个或更多个计算设备中的至少一个计算设备确定包括在所述多个分类的第二分类中的第二数目的产品的第二视觉效果。
3.根据权利要求2所述的方法,包括:
由所述一个或更多个计算设备中的至少一个计算设备确定与所述第一视觉效果对应的第一数目的视觉效果选项,所述第一视觉效果修改与第一对象相关的第一外观;以及
由所述一个或更多个计算设备中的至少一个计算设备确定与所述第二视觉效果对应的第二数目的视觉效果选项,所述第二视觉效果修改与不同于所述第一对象的第二对象相关的第二外观。
4.根据权利要求3所述的方法,其中,所述第一视觉效果修改第一面部特征的颜色、色度或纹理中的至少一个,并且所述第二视觉效果修改第二面部特征的颜色、色度或纹理中的至少一个。
5.根据权利要求3所述的方法,其中,
所述第一视觉效果包括与第一增强现实内容项对应的第一视觉效果,所述第一增强现实内容项与包括在所述用户内容中的第一对象相关地应用所述第一视觉效果;并且
所述第二视觉效果包括与第二增强现实内容项对应的第二视觉效果,所述第二增强现实内容项与包括在所述用户内容中的第二对象相关地应用所述第二视觉效果。
6.根据权利要求5所述的方法,包括由所述一个或更多个计算设备中的至少一个计算设备获得经修改的用户内容,所述经修改的用户内容包括与所述第一对象相关地应用的所述第一视觉效果以及与所述第二对象相关地应用的所述第二视觉效果。
7.根据权利要求5所述的方法,其中,所述第一视觉效果对应于由第一制造者制造的第一产品,并且所述第二视觉效果对应于由第二制造者制造的第二产品,并且所述方法包括由所述一个或更多个计算设备中的至少一个计算设备并且经由所述客户端应用接收购买所述第一产品或所述第二产品中的至少一个的请求。
8.根据权利要求1所述的方法,包括:
由所述一个或更多个计算设备中的至少一个计算设备获得包括所述用户内容的修改版本的消息,所述用户内容的修改版本包括应用于包括在所述用户内容中的对象的所述视觉效果;以及
由所述一个或更多个计算设备中的至少一个计算设备向所述消息的接收方的客户端设备发送所述消息,所述消息能够经由由所述接收方的所述客户端设备执行的所述客户端应用的实例来访问。
9.一种系统,包括:
一个或更多个硬件处理器;以及
包括计算机可读指令的一个或更多个非暂态计算机可读存储介质,所述计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行操作,所述操作包括:
获得产品数据,所述产品数据包括关于供经由客户端应用购买的一个或更多个产品的信息;
分析所述产品数据,以确定响应于对所述客户端应用的一个或更多个用户应用所述一个或更多个产品中的至少一个产品而产生的一个或更多个视觉效果;
基于指示对与视觉效果对应的用户界面元件的选择的用户输入来确定应用于用户内容的所述视觉效果,所述用户内容对应于所述客户端应用的用户;
确定与所述视觉效果对应的产品;以及
生成包括所述产品的产品列表,所述产品列表中的各个产品对应于用于修改所述用户内容的至少一个视觉效果。
10.根据权利要求9所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加的计算机可读指令,所述附加的计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行包括如下操作的附加操作:
通过实现一种或更多种对象识别技术来分析所述产品数据以确定与所述产品对应的对象,其中,所述视觉效果被应用于所述对象或所述对象附近的区域中的至少一者;以及
通过实现图像特征提取计算技术或图像特征分类计算技术中的至少一种来分析所述产品数据以识别所述视觉效果。
11.根据权利要求9所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加的计算机可读指令,所述附加的计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行包括如下操作的附加操作:
基于与所述产品数据相关的元数据来确定所述视觉效果对应于所述产品,所述元数据由聚合与多个产品对应的信息的服务提供者提供;以及
基于所述元数据确定与所述产品相关的对象,其中,所述视觉效果被应用于所述对象或所述对象附近的区域中的至少一者。
12.根据权利要求10所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加的计算机可读指令,所述附加的计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行包括如下操作的附加操作:
分析所述用户内容以确定包括在所述用户内容中的附加对象;
确定包括在所述用户内容中的所述附加对象与对应于所述产品的所述对象之间的相似性度量;
确定所述相似性度量至少是阈值相似性度量;以及
实现关于所述附加对象的增强现实内容项,以将所述视觉效果应用于所述附加对象或所述附加对象附近的区域中的至少一者。
13.根据权利要求10所述的系统,其中,所述一个或更多个非暂态计算机可读存储介质包括附加的计算机可读指令,所述附加的计算机可读指令在由所述一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行包括如下操作的附加操作:
获得包括所述用户内容的修改版本的社交网络内容,所述用户内容的修改版本包括应用于所述用户内容内的所述对象的所述视觉效果;以及
使得所述社交网络内容能够由所述客户端应用的用户的一个或更多个联系人访问。
14.根据权利要求9所述的系统,其中,
所述一个或更多个非暂态计算机可读存储介质包括附加的计算机可读指令,所述附加的计算机可读指令在由一个或更多个硬件处理器执行时使所述一个或更多个硬件处理器执行包括如下操作的附加操作:通过与一个或更多个分类标准相关地分析所述产品的一个或更多个特征来确定所述产品的分类,所述分类包括在多个产品分类中;并且
所述视觉效果包括在与所述分类对应的多个视觉效果中。
15.一种方法,包括:
由一个或更多个计算设备接收修改用户内容的用户输入,所述用户内容在摄像装置的视场内捕获;
由所述一个或更多个计算设备中的至少一个计算设备确定能够被选择以修改所述用户内容的一个或更多个视觉效果选项,所述一个或更多个视觉效果选项与供经由客户端应用购买的一个或更多个产品相关;
由所述一个或更多个计算设备中的至少一个计算设备显示所述客户端应用的用户界面,所述用户界面包括所述一个或更多个视觉效果选项以及所述用户内容的至少一部分;
由所述一个或更多个计算设备中的至少一个计算设备基于选择所述一个或更多个视觉效果选项中的视觉效果选项的用户输入来确定要应用于所述用户内容的视觉效果,其中,所选择的视觉效果选项对应于所述视觉效果;
由所述一个或更多个计算设备中的至少一个计算设备使用应用所述视觉效果的增强现实内容来修改包括在所述用户内容中的对象或所述对象附近的区域中的至少一者的外观;以及
由所述一个或更多个计算设备中的至少一个计算设备获得指示与所述视觉效果对应的产品的信息。
16.根据权利要求15所述的方法,还包括:
由所述一个或更多个计算设备中的至少一个计算设备显示所述客户端应用的第一用户界面,所述第一用户界面包括附加用户内容和与第一产品分类对应的第一数目的视觉效果选项;以及
由所述一个或更多个计算设备中的至少一个计算设备显示所述客户端应用的第二用户界面,所述第二用户界面包括所述附加用户内容和与第二产品分类对应的第二数目的视觉效果选项。
17.根据权利要求16所述的方法,还包括:
由所述一个或更多个计算设备中的至少一个计算设备根据与包括在所述第一数目的视觉效果选项中的第一视觉效果选项相关的第一视觉效果来修改包括在所述附加用户内容中的第一对象的第一外观,以产生所述附加用户内容的第一修改版本;以及
由所述一个或更多个计算设备中的至少一个计算设备根据与包括在所述第二数目的视觉效果选项中的第二视觉效果选项相关的第二视觉效果来修改包括在所述附加用户内容中的第二对象的第二外观,以产生所述附加用户内容的第二修改版本。
18.根据权利要求17所述的方法,其中,所述第一对象包括所述附加用户内容中包括的个人的第一面部特征,并且所述第二对象包括所述个人的第二面部特征。
19.根据权利要求17所述的方法,还包括:
由所述一个或更多个计算设备中的至少一个计算设备显示所述客户端应用的包括产品列表的第三用户界面,所述产品列表包括对应于与所述第一视觉效果相关的第一产品的第一产品信息以及对应于与所述第二视觉效果相关的第二产品的第二产品信息。
20.根据权利要求17所述的方法,其中,
所述第一用户界面包括所述附加用户内容的第一部分的放大版本,所述第一部分包括所述第一对象;并且
所述第二用户界面包括所述附加用户内容的第二部分的放大版本,所述第二部分包括所述第二对象。
CN202180046068.1A 2020-06-29 2021-06-29 基于产品数据的增强现实内容 Pending CN115735231A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202062705472P 2020-06-29 2020-06-29
US62/705,472 2020-06-29
PCT/US2021/039706 WO2022006170A1 (en) 2020-06-29 2021-06-29 Augmented reality content based on product data

Publications (1)

Publication Number Publication Date
CN115735231A true CN115735231A (zh) 2023-03-03

Family

ID=79030725

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180046068.1A Pending CN115735231A (zh) 2020-06-29 2021-06-29 基于产品数据的增强现实内容

Country Status (5)

Country Link
US (2) US11978110B2 (zh)
EP (1) EP4172958A4 (zh)
KR (1) KR20230029945A (zh)
CN (1) CN115735231A (zh)
WO (1) WO2022006170A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11978110B2 (en) 2020-06-29 2024-05-07 Snap Inc. Generating augmented reality content based on user-selected product data

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11360733B2 (en) 2020-09-10 2022-06-14 Snap Inc. Colocated shared augmented reality without shared backend
US11949527B2 (en) 2022-04-25 2024-04-02 Snap Inc. Shared augmented reality experience in video chat

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100963236B1 (ko) 2007-11-01 2010-06-10 광주과학기술원 증강현실을 이용한 제품정보 제공 시스템 및 그 제공방법
US20130159895A1 (en) * 2011-12-15 2013-06-20 Parham Aarabi Method and system for interactive cosmetic enhancements interface
US11120495B2 (en) 2016-09-15 2021-09-14 GlamST LLC Generating virtual makeup products
KR20190005082A (ko) * 2017-07-05 2019-01-15 십일번가 주식회사 증강 현실을 통한 오프라인 상품의 온라인 판매 정보 제공 방법 및 이를 위한 장치
US20190244272A1 (en) * 2018-02-02 2019-08-08 Perfect Corp. Systems and Methods for Generating a Digital Signature for Virtual Application of Cosmetic Products
US20190266660A1 (en) * 2018-02-26 2019-08-29 Perfect Corp. Systems and methods for makeup consultation utilizing makeup snapshots
WO2022006170A1 (en) 2020-06-29 2022-01-06 Snap Inc. Augmented reality content based on product data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11978110B2 (en) 2020-06-29 2024-05-07 Snap Inc. Generating augmented reality content based on user-selected product data

Also Published As

Publication number Publication date
US20210409614A1 (en) 2021-12-30
EP4172958A1 (en) 2023-05-03
US11978110B2 (en) 2024-05-07
US20240212033A1 (en) 2024-06-27
EP4172958A4 (en) 2024-02-21
KR20230029945A (ko) 2023-03-03
WO2022006170A1 (en) 2022-01-06

Similar Documents

Publication Publication Date Title
US11893790B2 (en) Augmented reality item collections
US11237702B2 (en) Carousel interface for post-capture processing in a messaging system
US12073524B2 (en) Generating augmented reality content based on third-party content
US11910269B2 (en) Augmented reality content items including user avatar to share location
US11900504B2 (en) Augmented reality experiences for physical products in a messaging system
US12015671B2 (en) Analyzing augmented reality content usage data
CN115668263A (zh) 用于消息收发系统中的增强现实体验的物理产品的标识
US20210203627A1 (en) Post-capture processing in a messaging system
US11978110B2 (en) Generating augmented reality content based on user-selected product data
US20210203628A1 (en) Providing post-capture media overlays for post-capture processing in a messaging system
US20220101361A1 (en) Augmented reality content items to track user activity and redeem promotions
EP4172909A1 (en) Tracking usage of augmented reality content
US20220101416A1 (en) Templates to generate augmented reality content items that display product information
US11924153B2 (en) Messaging user interface element with reminders

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