CN111712848A - 在相机馈送中提供相应产品的数字模型 - Google Patents
在相机馈送中提供相应产品的数字模型 Download PDFInfo
- Publication number
- CN111712848A CN111712848A CN201780098272.1A CN201780098272A CN111712848A CN 111712848 A CN111712848 A CN 111712848A CN 201780098272 A CN201780098272 A CN 201780098272A CN 111712848 A CN111712848 A CN 111712848A
- Authority
- CN
- China
- Prior art keywords
- product
- digital model
- camera
- model
- digital
- 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
Links
- 230000009471 action Effects 0.000 claims abstract description 171
- 230000003190 augmentative effect Effects 0.000 claims abstract description 74
- 238000000034 method Methods 0.000 claims abstract description 64
- 230000004044 response Effects 0.000 claims abstract description 61
- 238000009877 rendering Methods 0.000 claims description 58
- 230000000694 effects Effects 0.000 claims description 46
- 230000003213 activating effect Effects 0.000 claims description 21
- 238000013507 mapping Methods 0.000 claims description 7
- 239000000047 product Substances 0.000 description 595
- 239000011521 glass Substances 0.000 description 75
- 230000000875 corresponding effect Effects 0.000 description 65
- 230000006855 networking Effects 0.000 description 39
- 238000004891 communication Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 210000000887 face Anatomy 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000003993 interaction Effects 0.000 description 8
- 238000000926 separation method Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 210000001508 eye Anatomy 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000001815 facial effect Effects 0.000 description 5
- 238000013475 authorization Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 210000001331 nose Anatomy 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 210000005069 ears Anatomy 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 210000001061 forehead Anatomy 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001737 promoting effect Effects 0.000 description 3
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 210000004709 eyebrow Anatomy 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000013403 standard screening design Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 240000004760 Pimpinella anisum Species 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 239000000872 buffer Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 210000003811 finger Anatomy 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000037303 wrinkles Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
- G06F1/1613—Constructional details or arrangements for portable computers
- G06F1/1633—Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
- G06F1/1684—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
- G06F1/1686—Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/16—Cloth
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Computer Graphics (AREA)
- Marketing (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开的一个或更多个实施例提供了一种增强现实呈现,包括结合相机流的产品的数字模型。例如,本文描述的系统和方法提供了与相应产品的数字模型相关联的行动召唤。响应于检测到对行动召唤的选择,本文描述的系统和方法提供数字模型。本文描述的系统和方法还激活网络系统应用的相机界面,并在相机界面内渲染产品的数字模型。以这种方式,该系统和方法通过在客户端设备上的增强现实呈现来提供试穿戴或以其他方式尝试产品的便携式用户体验。
Description
背景
多媒体通信提供了越来越流行的通过通信系统进行连接的方法。例如,在通信系统曾经只限于用户通过书面电子通信进行通信的情况下,用户现在可以通过数字媒体进行电子通信,数字媒体包括从个人计算设备(例如智能电话)捕获的图像或视频。事实上,通信系统现在使用户能够广播视频流来与共同用户通信。由于在线通信的日益普及,以及通过各种通信系统的用户所分享的数字媒体的量的不断增加,通信系统为商家、营销商和其他实体提供了一个理想的论坛,以提高对产品和服务的认识并促进产品和服务的销售。然而,使用传统的通信系统提高产品认识有许多缺点和限制。
例如,通过数字媒体提升认识的传统系统通常不能提供在数字媒体内描绘的商品或服务的真实感表示(realistic representation)。例如,在推广一件服装时,商家和营销商通常专业地制作图像或视频,在该图像或视频中,服装由模特在受控环境中(例如,用专业摄影)描绘。虽然专业地制作图像和视频可以有效地提升关于产品的正面认识,但许多消费者在没有看到产品在一般或更真实的环境中在自己身上看起来如何的情况下,在购买服装、配饰或其他产品时会犹豫不决。
一些商家和营销商提供虚拟信息亭(kiosk),使用户能够拥有在虚拟环境内虚拟地试穿服装的虚拟体验。然而,虚拟信息亭通常需要用户亲自前往商店或信息亭的其他物理位置,以便拥有试穿商家在信息亭上存储的有限选择的服装的体验。此外,虚拟信息亭包括体积庞大、价格昂贵的专用设备,这些设备基本上使虚拟体验局限于选定数量的商家和消费者。因此,提供虚拟信息亭不仅给商家带来巨大的成本,也给消费者带来不便和耗时的体验。传统系统导致这些和其他问题。
简要概述
本公开的一个或更多个实施例利用系统、方法和计算机可读介质来提供益处和/或解决本领域中的一个或更多个前述问题,所述系统、方法和计算机可读介质提供便携式且方便的用户体验,所述用户体验使得用户能够经由由客户端设备(例如,移动设备)提供的增强现实体验来试穿戴(try on)、查看或以其他方式尝试(sample)产品。具体而言,如下文将进一步详细描述的,系统、方法和计算机可读介质在客户端设备的相机馈送(feed)内渲染(render)产品的数字模型,以提供使用户能够试穿戴或尝试产品的增强现实体验。如下面将进一步详细描述的,系统、方法和计算机可读介质包括促进便携式且方便的用户体验的特征,该用户体验在适用于用户的环境中提供产品的真实感表示。
如下文将进一步详细描述的,本文描述的系统、方法和计算机可读介质包括通过将产品的数字模型和相机流(camera stream)进行组合来识别和提供增强现实体验。例如,如下文将进一步详细描述的,系统、方法和计算机可读介质包括检测用户对结合产品提供的行动召唤(call-to-action)的选择。响应于检测到用户对该行动召唤的选择,系统、方法和计算机可读介质促进激活客户端设备上的相机界面(camera interface)。除了激活客户端设备的相机之外,系统、方法和计算机可读介质通过在人的实况相机流上渲染产品的数字模型来提供增强现实体验。
本公开的一个或更多个实施例的附加特征和优点将在下面的描述中阐述,并且部分特征和优点将从描述中显而易见,或者可以通过这些示例实施例的实践来了解。
在涉及存储介质、方法和系统的所附权利要求中具体公开了根据本发明的实施例,其中,在一个权利要求类别(例如存储介质)中提到的任何特征也可以在另一个权利要求类别(例如方法、系统、计算机程序产品)中被要求保护。在所附权利要求中的从属性或往回引用仅为了形式原因而被选择。然而,也可以要求保护由对任何前面权利要求的有意往回引用(特别是多项引用)而产生的任何主题,使得权利要求及其特征的任何组合被公开并可被要求保护,而不考虑在所附权利要求中选择的从属性。可以被要求保护的主题不仅包括如在所附权利要求中阐述的特征的组合,而且还包括在权利要求中的特征的任何其他组合,其中,在权利要求中提到的每个特征可以与在权利要求中的任何其他特征或其他特征的组合相结合。此外,本文描述或描绘的实施例和特征中的任一个可以在单独的权利要求中和/或以与本文描述或描绘的任何实施例或特征的任何组合或以与所附权利要求的任何特征的任何组合被要求保护。
在根据本发明的实施例中,一种非暂时性计算机可读介质可以在其上存储指令,该指令当由至少一个处理器执行时,可以使计算设备:
检测对与产品的数字模型相关联的行动召唤的选择;
激活计算设备上的网络系统应用的相机界面,其中激活相机界面包括捕获相机流并在网络系统应用的相机界面内提供相机流;和
通过在网络系统应用的相机界面内结合相机流渲染产品的数字模型来生成增强现实体验。
指令当由至少一个处理器执行时,可以使计算设备:
在相机流内检测人的面部;
在相机流内识别该面部的一个或更多个特征;和
其中,结合相机流渲染产品的数字模型包括:基于该面部的所识别的一个或更多个特征在相机流内的位置,将产品的数字模型放置在相机流的一部分之上。
指令当由至少一个处理器执行时,可以使计算设备:
响应于检测到对行动召唤的选择,向网络系统提供对产品的数字模型的请求;和
在计算设备处接收产品的数字模型。
指令当由至少一个处理器执行时,可以使计算设备:
在相机界面内提供效果菜单,该效果菜单包括对应于产品的数字模型的可选择图标;和
通过检测对效果菜单内的可选择图标的选择,检测对与产品的数字模型相关联的行动召唤的选择。
指令当由至少一个处理器执行时,可以使计算设备:
检测产品在显示在计算设备的图形用户界面上的数字媒体内被描绘;
确定数字媒体内描绘的产品的数字模型存在;和
基于确定数字媒体内描绘的产品的数字模型存在,结合所显示的数字媒体提供行动召唤。
指令当由至少一个处理器执行时,可以使计算设备:
通过与产品相关联的第三方网站提供行动召唤;和
通过该第三方网站检测对行动召唤的选择。
指令当由至少一个处理器执行时,可以使计算设备经由与网络系统应用相关联的网络系统的共同用户的实况视频馈送并结合产品的数字模型来提供行动召唤。
指令当由至少一个处理器执行时,可以使计算设备:
识别与数字模型相关联的背景效果;和
在网络系统应用的相机界面内,响应于识别到与数字模型相关联的背景效果,结合产品的所渲染的数字模型提供该背景效果。
指令当由至少一个处理器执行时,可以使计算设备:
响应于检测到对与产品的数字模型相关联的行动召唤的选择,接收多个数字模型,该多个数字模型包括产品的数字模型和对应于该产品的相关产品的附加数字模型;和
在相机界面内提供与查看相关产品的数字模型相关联的可选择图标。
指令当由至少一个处理器执行时,可以使计算设备:
检测对与查看相关产品的数字模型相关联的可选择图标的选择;和
在网络系统应用的相机界面内并结合产品的数字模型,结合相机流渲染相关产品的数字模型。
在根据本发明的实施例中,一种方法可以包括:
由至少一个处理器生成产品的数字模型;
检测对与产品的数字模型相关联的行动召唤的选择;和
响应于检测到对行动召唤的选择,向客户端设备提供数字模型,使得客户端设备通过在网络系统应用的相机界面内渲染产品的数字模型,使得产品的数字模型出现在客户端设备捕获的相机流之上,来提供增强现实体验。
生成产品的数字模型可以包括:
生成产品的网格模型,该网格模型包括与产品相关联的结构和深度信息;
生成UV图,该UV图包括与产品相关联的表面外观信息;和
将UV图和网格模型进行组合,以创建产品的数字模型。
生成产品的数字模型可以包括:将网格模型的点映射到在客户端设备捕获的相机流内检测到的面部的对应参考特征。
提供增强现实体验可以包括:基于检测到的面部的参考特征的识别位置和产品的网格模型的对应映射点,在相机流内的位置渲染产品的数字模型。
在根据本发明的实施例中,一种方法可以包括:
在服务器设备处从客户端设备接收相机流;
由至少一个处理器通过在相机流内渲染产品的数字模型来生成增强现实体验;和
其中,向客户端设备提供数字模型包括向客户端设备提供增强现实体验。
在根据本发明的实施例中,一种方法可以包括:
向与客户端设备的用户相关联的网络系统的共同用户的一个或更多个客户端设备广播增强现实体验。
在根据本发明的实施例中,一种方法可以包括:
从客户端设备接收增强视频,该增强视频包括相机流和出现在相机流之上的产品的所渲染的数字模型;和
向与客户端设备的用户相关联的网络系统的一个或更多个共同用户的一个或更多个客户端设备广播增强视频。
在根据本发明的实施例中,系统可以包括:
至少一个处理器;
至少一个非暂时性计算机可读存储介质,其存储指令,该指令当被至少一个处理器执行时,可以使系统:
检测对与产品的数字模型相关联的行动召唤的选择;
激活计算设备上的网络系统应用的相机界面,其中,激活相机界面包括捕获相机流并在网络系统应用的相机界面内提供相机流;和
通过在网络系统应用的相机界面内结合相机流渲染产品的数字模型来生成增强现实体验。
指令当由至少一个处理器执行时,可以使系统:
在相机流内检测人的面部;
在相机流内识别该面部的一个或更多个特征;和
其中,结合相机流渲染产品的数字模型包括:基于该面部的所识别的一个或更多个特征在相机流内的位置,将产品的数字模型放置在相机流的一部分之上。
数字模型可以包括网格模型,该网格模型包括与对象的对应参考特征相关联的顶点,并且指令当由至少一个处理器执行时,可以使系统:
在相机流内检测对象;
确定检测到的对象的参考特征在相机流内的位置;和
基于检测到的对象的参考特征在相机流内的所确定的位置,在相机流内的位置渲染产品的数字模型。
在根据本发明的实施例中,优选地包括计算机可读非暂时性存储介质的计算机程序产品,当在数据处理系统上执行时,可操作来执行根据本发明或任何上述实施例的方法。
附图简述
参考附图来描述详细描述,附图中:
图1示出了根据一个或更多个实施例的实现AR产品模型呈现系统的环境的框图;
图2A-2B示出了根据一个或更多个实施例的示例图形用户界面,其示出了增强现实呈现;
图3A-3B示出了根据一个或更多个实施例的示例图形用户界面,其示出了另一增强现实呈现;
图4A-4B示出了根据一个或更多个实施例的示例图形用户界面,其示出了又一增强现实呈现;
图5示出了根据一个或更多个实施例的包括增强现实呈现的示例图形用户界面;
图6示出了根据一个或更多个实施例的用于为面部生成个性化网格模型的示例工作流;
图7示出了根据一个或更多个实施例的用于为对象生成数字模型的示例工作流;
图8示出了根据一个或更多个实施例的用于将个性化网格模型和数字模型进行组合以生成AR呈现的示例工作流;
图9示出了根据一个或更多个实施例的在服务器设备上实现的AR产品模型呈现系统的示意图;
图10示出了根据一个或更多个实施例的用于提供增强现实呈现的一系列动作的流程图;
图11示出了根据一个或更多个实施例的用于提供增强现实呈现的一系列动作的另一流程图;
图12示出了根据一个或更多个实施例的示例计算设备的框图;
图13示出了根据一个或更多个实施例的社交网络系统的示例网络环境的框图;和
图14示出了根据一个或更多个实施例的社交图。
详细描述
本公开的一个或更多个实施例包括AR产品模型呈现系统,该系统提供增强现实呈现或体验,该增强现实呈现或体验包括在客户端设备捕获的相机流内或以其他方式与该相机流结合的产品的数字模型。具体地,如下面将进一步详细描述的,AR产品模型呈现系统提供增强现实体验,其中客户端设备捕获相机流并经由客户端设备的图形用户界面显示相机流。此外,AR产品模型呈现系统识别产品的数字模型,并在相机流内的人上渲染产品的数字模型。
在一个或更多个实施例中,AR产品模型呈现系统生成产品的数字模型。例如,AR产品模型呈现系统接收、生成或以其他方式获得产品的数字模型和用于在相机流内渲染产品的数字模型的指令。如将在下面进一步详细描述的,AR产品模型呈现系统可以在服务器设备上生成产品的数字模型,或者可选地,从另一设备(例如,客户端设备、商家设备)接收产品的数字模型。
在已经为相应的产品创建了数字模型的情况下,AR产品模型呈现系统可以结合与产品相关联的数字媒体来提供行动召唤(例如可选择的产品链接)。作为示例,在商家、营销商或其他实体提供包括描绘产品的数字媒体(例如,图像或视频)的广告的情况下,AR产品模型呈现系统可以促进结合数字媒体提供产品链接,该产品链接包括用于获得产品的数字模型和提供增强现实呈现的指令,该增强现实呈现结合在相机流内捕获的人提供产品的数字模型。在一个或更多个实施例中,AR产品模型呈现系统结合数字媒体提供行动召唤。可选地,在一个或更多个实施例中,AR产品模型呈现系统提供数据,该数据使得商家、营销商或其他实体能够结合数字媒体提供行动召唤。
如下面将进一步详细描述的,AR产品模型呈现系统可以检测对行动召唤的选择,并触发结合相机流内的人呈现产品的数字模型。具体而言,在一个或更多个实施例中,AR产品模型呈现系统响应于检测到对行动召唤的选择而提供产品的数字模型。此外,AR产品模型呈现系统可以响应于检测到对行动召唤的选择,激活客户端设备上的网络系统应用的相机界面。一旦激活相机界面,客户端设备就捕获相机流并在相机界面内提供相机流。AR产品模型呈现系统可以进一步在相机流内在人上渲染产品的数字模型。
此外,在一个或更多个实施例中,AR产品模型呈现系统通过提供对应于各种产品的多个数字模型来使得用户能够试穿戴不同的产品。例如,响应于检测到对行动召唤的选择,AR产品模型呈现系统可以识别与不同产品相关联的多个数字模型并在相机流内提供该多个数字模型。
AR产品模型呈现系统通过使用户能够经由客户端设备的图形用户界面试穿戴或以其他方式查看各种产品在环境(context)中看起来如何来提供便携式用户体验。实际上,一旦接收到产品的数字模型,AR产品模型呈现系统就利用客户端设备上现有硬件的图像捕获能力来捕获相机流。此外,AR产品模型呈现系统利用客户端设备上的网络系统应用来提供AR呈现,该AR呈现包括在由客户端设备捕获的相机流的一部分之上的产品的数字模型。
如下所述,AR产品模型呈现系统还使得商家、营销商或其他实体能够从各种平台实现增强现实呈现。例如,通过提供包括用于获得产品的数字模型和激活相机界面的指令的可选择的行动召唤,AR产品模型呈现系统可以触发从不同平台呈现增强现实呈现。
此外,AR产品模型呈现系统提供了对来自任意数量的提供商(例如,商家、品牌方等)的产品的任意数量的数字模型的更大的可访问性,而不要求客户端设备在客户端设备上生成、存储或以其他方式维护过多数量的数字模型。事实上,通过向行动召唤提供用于获得产品的数字模型的指令,AR产品模型呈现系统提供对任意数量的数字模型的访问,而不利用客户端设备上的大量存储空间。如下面将进一步详细描述的,AR产品模型呈现系统包括附加的特征和功能,这些特征和功能促进选择性地检索各种产品的数字模型,而不会过度利用客户端设备的本地存储空间。
如本文所使用的,“数字模型”是指促进在图形用户界面内呈现对象的数字表示的数据。在一个或更多个实施例中,对象的数字模型包括对象的三维数字表示。在一个或更多个实施例中,数字模型指的是与品牌方、商家或其他实体相关联的产品的数字模型。除了对象本身的数字表示之外,数字模型还包括交互数据,该交互数据结合图形用户界面内显示的其他内容来确定对象的数字表示的位置和行为。例如,产品的数字模型可以包括用于将数字模型产品放置或以其他方式定位在相机流界面内所示的检测到的内容之上的指令。作为说明性示例,在数字模型对应于一副眼镜的情况下,该副眼镜的数字模型可以包括该副眼镜的三维表示和用于将眼镜定位在相机流内所示的面部的特定特征(例如,眼睛、前额、耳朵)之上的指令。此外,随着相机流的内容移动,该副眼镜的数字模型可以基于相机流内检测到的特征的更新定位而移动。
如本文所使用的,“产品”是指由商家、企业、个人或其他实体提供的对象。在一个或更多个实施例中,产品是指用户可以穿戴(wear)的对象。作为示例而非限制,产品可以指一件服装、帽子、珠宝、眼镜、化妆品、像智能手表这样的可穿戴设备或其他可穿戴对象。可选地,虽然本文描述的一个或更多个实施例具体指的是用户“试穿戴”的服装和其他对象,但是产品也可以指由商家、企业、个人或其他实体销售的不可穿戴的其他类型的对象。
如上所述,AR产品模型呈现系统可以在图形用户界面内结合相机流提供产品的数字模型。如本文所使用的,“相机流”指的是使用客户端设备的图像捕获硬件(例如,相机)捕获到的捕获视频、微速摄影(time lapse)、图像、一系列多个图像或其他数字内容。在一个或更多个实施例中,相机流指的是经由客户端设备的图形用户界面显示的捕获内容。在本文描述的一个或更多个实施例中,AR产品模型呈现系统提供增强现实呈现,该增强现实呈现包括在客户端设备的图形用户界面内显示的、结合产品的数字模型的相机流。在一个或更多个实现中,相机流是来自相机的实时馈送。
如上面进一步所述,在一个或更多个实施例中,AR产品模型呈现系统基于检测到的用户对行动召唤的选择来提供增强现实呈现。如本文所使用的,“行动召唤”指的是可选择的图形用户面部项目(graphical user face item),当选择该项目时,使得客户端设备执行一个或更多个动作。这些动作可以包括激活相机、打开应用、请求或下载产品的数字模型以用于增强现实体验。作为示例而非限制,在一个或更多个实施例中,行动召唤包括图形用户界面中的可选择的链接、可由相机扫描的QR或其他代码、可激活的图形用户界面元素等。
在一个或更多个实施例中,行动召唤是使设备自动(即,除了选择行动召唤之外没有进一步的用户输入)执行一个或更多个动作的触发器(trigger)。例如,行动召唤可以包括用于获得相应产品的数字模型并激活网络系统应用的相机界面以显示相机流的指令(例如,诸如JAVA脚本的嵌入式指令)。在一个或更多个实施例中,行动召唤是到网络系统应用的相机界面的深层链接(deep link),其触发激活相机并在相机界面内提供增强现实呈现。
现在将结合描绘示例性实施例的说明性附图提供关于AR产品模型呈现系统的附加细节。例如,图1示出了用于提供增强现实呈现的示例通信环境100的框图,该增强现实呈现包括在由客户端设备捕获的相机流内的产品的数字模型,或者以其他方式与该相机流结合的产品的数字模型。如图1所示,通信环境100包括服务器设备102,服务器设备102包括网络系统104和AR产品模型呈现系统106。通信环境100还包括客户端设备108,其具有用户112可以访问的网络系统应用110。通信环境还包括用户116(例如,商家、管理用户)可以访问的商家设备114。在一个或更多个实施例中,客户端设备108上的网络系统应用110包括AR产品模型呈现系统,其提供与服务器设备102上的AR产品模型呈现系统106类似的特征和功能。尽管如此,为了解释的目的,本文描述的一个或更多个实施例具体涉及在服务器设备102上实现的AR产品模型呈现系统106。
如图1所示,服务器设备102、客户端设备108和商家设备114中的每一个都可以通过网络118进行通信。网络118可以包括一个或多个网络,并且可以使用一个或更多个适于传输数据的通信平台或技术。在一个或更多个实施例中,网络118包括互联网或万维网(World Wide Web)。此外,或者作为替代,网络118可以包括使用各种通信技术和协议的各种其他类型的网络。下面解释与网络118相关的附加细节。
尽管图1示出了服务器设备102、客户端设备108和商家设备114的数量和布置,但是应当理解,通信环境100可以包括任意数量的设备,包括任意数量的服务器设备、客户端设备和商家设备。此外,这些设备中的一个或更多个设备可以绕过网络118,直接与服务器设备102通信或者经由替代通信网络与服务器设备102通信。
此外,客户端设备108或商家设备114可以指各种类型的计算设备。例如,这些设备中的一个或更多个设备可以包括移动设备,例如移动电话、智能手机、PDA、平板电脑或膝上型电脑。附加地或替代地,这些设备中的一个或更多个设备可以包括非移动设备,例如台式计算机、服务器或另一种类型的计算设备。参考图12描述了关于不同类型的计算设备的附加细节。
网络系统104可以指各种类型的网络系统,包括例如社交网络系统、电子消息系统或其他类型的网络系统,用户和共同用户的社群可以通过这些网络系统分享和访问数字内容。这样,虽然本文描述的一个或更多个示例具体指的是社交网络系统,但是应当理解,结合社交网络系统描述的特征和功能可以类似地应用于其他类型的网络系统。下面结合图13-14描述关于网络系统104(具体是示例社交网络系统)的附加细节。
在一个或更多个实施例中,网络系统应用110(例如,社交网络系统应用和/或电子消息应用)指与网络系统104相关联的一个或一组软件应用。在一个或更多个实施例中,网络系统应用110提供并控制客户端设备108上的各种特征和功能,以使用户112能够与网络系统104的其他用户交互,包括通过向网络系统104的其他用户分享数字内容。在一个或更多个实施例中,网络系统应用110指安装在相应计算设备上的本地(native)或混合应用。可选地,在一个或更多个实施例中,网络系统应用110指用于访问网络系统104的web浏览器(例如,通过相应计算设备上的web浏览器提供与网络系统104相关联的网站)。虽然图1示出了其中客户端设备108包括网络系统应用110的示例,但是在一个或更多个实施例中,商家设备114类似地包括网络系统应用110。
在一个或更多个实施例中,客户端设备108指的是相机流(例如,实况视频流)源自的客户端设备。可选地,客户端设备108可以指呈现从广播客户端设备接收并经由网络系统104接收的相机流的视图的客户端设备。因此,在一个或更多个实施例中,用户112可以向网络系统104的其他用户广播包括相机流的呈现,以及查看由网络系统104的其他用户分享的一个或更多个相机流。
在一个或更多个实施例中,AR产品模型呈现系统106促进生成相应产品的数字模型。例如,在一个或更多个实施例中,AR产品模型呈现系统106编辑对应于多个产品的数字模型的集合或目录。在一个或更多个实施例中,AR产品模型呈现系统106经由网络系统104(例如,经由商家设备114上的网络系统应用)提供在服务器设备上创建和存储数字模型的功能。例如,AR产品模型呈现系统106可以经由web浏览器或专用应用提供应用,该应用使得商家设备114能够在服务器设备102的存储空间上创建和存储数字模型。
除了在服务器设备102上生成数字模型之外,或者作为替代,AR产品模型呈现系统106可以从一个或更多个商家设备接收数字模型,并且将数字模型存储在服务器设备102的存储空间上。在一个或更多个实施例中,AR产品模型呈现系统106从商家设备114接收对应于与给定商家相关联的一个或更多个产品的数字模型。可选地,在一个或更多个实施例中,商家设备114在本地创建并存储对于相应提供的数字模型,并根据来自服务器设备102的请求(例如,响应于从客户端设备108接收到请求)来提供这些数字模型。
如上所述,AR产品模型呈现系统106可以提供与相应的数字模型相关联的行动召唤。例如,在一个或更多个实施例中,AR产品模型呈现系统106生成产品链接,该产品链接包括与获得数字模型以及触发网络应用系统110的相机界面的激活相关联的指令。这些指令还可以使客户端设备使用客户端设备108的图像捕获硬件(例如,前置相机或后置相机)来捕获相机流。在一个或更多个实施例中,产品链接包括结合与产品相关联的数字媒体(例如,图像、视频)提供的插件(plug-in)。例如,在一个或更多个实施例中,产品链接指的是与产品广告相关联地提供的可选择的链接或插件。
如下面将进一步详细描述的,AR产品模型呈现系统106可以经由各种平台提供行动召唤。例如,在一个或更多个实施例中,商家设备116经由与商家相关联的网站提供行动召唤。在一个或更多个实施例中,商家设备116通过从AR产品模型呈现系统106接收用于创建产品链接的数据来提供行动召唤,并且结合产品的数字媒体嵌入包括相关联的数据的产品链接(例如,嵌入在产品图像的一部分之上)。在另外的实施例中,行动召唤包括网页、数字或物理广告或产品本身上的QR或其他代码。
作为经由第三方网站提供行动召唤的替代,AR产品模型呈现系统106可以经由与网络系统104相关联的平台来提供行动召唤。例如,AR产品模型呈现系统106可以结合经由动态消息(newsfeed)、用户简档、群组简档或由网络系统104托管或以其他方式提供的其他页面显示的数字媒体来提供行动召唤。
作为另一个示例,AR产品模型呈现系统106可以经由增强现实呈现来提供行动召唤,该增强现实呈现包括相机流(例如,实况视频馈送)和产品的数字模型。例如,在一个或更多个实施例中,AR产品模型呈现系统106在源自客户端设备108的实况视频馈送的图形用户界面内提供可选择的产品链接。可选地,在一个或更多个实施例中,AR产品模型呈现系统106在客户端设备108的图形用户界面内为从不同客户端设备接收的视频流提供可选择的产品链接。
无论在哪个特定平台上提供行动召唤,行动召唤都可以包括用于提供增强现实呈现的类似指令,该增强现实呈现包括结合相机流的产品的数字模型。具体而言,在一个或更多个实施例中,行动召唤包括到网络系统应用110的深层链接,该深层链接使得客户端设备打开网络应用110并在网络应用110的相机界面内提供相机流。因此,即使行动召唤是通过独立于网络系统104或网络系统应用110的第三方网站或其他平台提供的,行动召唤仍然可以触发对网络系统应用110的相机界面的激活。
AR产品模型呈现系统106可以进一步检测用户对行动召唤的选择/激活。例如,在一个或更多个实施例中,客户端设备108或网络系统应用110检测对产品链接的选择。在其他实施例中,客户端设备108或网络系统应用110检测对图形用户界面元素的选择。在另外的实施例中,客户端设备108或网络系统应用110检测对QR码的扫描。响应于对行动召唤的选择/激活,网络系统应用110向AR产品模型呈现系统106提供指示。作为响应,AR产品模型呈现系统106可以识别与行动召唤相关联的数字模型,并将该数字模型提供给客户端设备108。在一个或更多个实施例中,AR产品模型呈现系统106从服务器设备102的存储空间中检索数字模型。可选地,在一个或更多个实施例中,AR产品模型呈现系统106向商家设备114(或其他远程设备)请求数字模型,商家设备114(或其他远程设备)直接或通过服务器设备102向客户端设备108提供产品的数字模型。
一旦接收到数字模型,网络系统应用110可以在网络系统应用110的相机界面内渲染产品的数字模型。具体地,响应于检测到用户对行动召唤的选择,网络系统应用110可以激活相机并提供由客户端设备捕获的相机流的显示。此外,网络系统应用110可以结合相机流渲染产品的数字模型,以生成包括相机流和产品的数字模型的增强现实呈现。例如,在一个或更多个实施例中,网络系统应用110在网络系统应用110的相机界面内的相机流之上渲染产品的数字模型(例如,叠加在相机流的一部分(例如人)之上)。
更具体地,网络系统应用110可以实时地分析相机馈送以识别面部或其他确定的对象或对象集。网络系统应用110然后可以实时跟踪所识别的对象的位置。网络系统应用110然后可以识别与数字模型相关联的元数据或渲染指令(rendering instruction),该元数据或渲染指令指示如何相对于所识别和所跟踪的对象定位数字模型。网络系统应用110然后可以根据渲染指令在相机流上渲染数字模型。
现在将给出关于通过客户端设备的图形用户界面提供增强现实呈现的附加细节。例如,图2A-5示出了根据一个或更多个实施例的具有图形用户界面204的移动设备202,该图形用户界面204用于提供包括产品的数字模型的增强现实呈现。如进一步所示,移动设备202包括位于移动设备202的前表面上的前置相机205。图2A-5示出了示例实施例,其中通过不同平台提供行动召唤,并且其使得移动设备202的网络系统应用110结合产品的数字模型提供相机流。应当理解,尽管图2A-5所示的图形用户界面示出了AR产品模型呈现系统106的不同特征和功能,但这通过示例而非限制的方式。因此,结合图2A-5的各个图形用户界面描述的AR产品模型呈现系统106的一个或更多个特征和功能可以类似地应用于图2A-5的任何图形用户界面。
图2A示出了示例图形用户界面204,其包括数字媒体206的馈送,该馈送向移动设备202的用户显示由网络系统104提供的内容。具体地,如图2A所示,馈送206包括由网络系统104的不同用户分享的多个帖子(post)208a-b。在一个或更多个实施例中,馈送206包括帖子,该帖子包括通过网络应用104的用户账户(例如,用户简档、个性化动态消息、数字论坛等)分享给移动设备202的用户的分享的照片、视频、消息、广告和其他内容。在一个或更多个实施例中,馈送206经由移动设备上的网络系统应用110的图形用户界面来提供。
如图2A所示,馈送206内的第一帖子208a包括产品图像210,该产品图像210包括一副眼镜212的照片。在一个或更多个实施例中,网络系统104基于向包括移动设备202的用户(例如,经由用户账户)的网络系统104的用户分享帖子208a的请求来提供帖子208a。例如,在网络系统104中具有账户的商家、营销商或其他实体可以请求分享(例如,经由广告竞价过程或其他方法)推广产品的赞助帖子。作为响应,网络系统104提供第一帖子208a,该帖子包括由商家、营销商或其他实体提供的产品图像210,并且包括对产品图像210内所显示的一副眼镜212的推广。作为分享产品图像210的替代,在一个或更多个实施例中,网络系统104使得商家、营销商或其他实体能够分享与相应产品相关联的视频、评论或其他数字媒体。
如图2A进一步所示,第一帖子208a包括试穿戴图标214(即,行动召唤)。在一个或更多个实施例中,AR产品模型呈现系统106结合帖子208a和/或产品图像210提供试穿戴图标214。例如,在一个或更多个实施例中,AR产品模型呈现系统106在帖子208a的标题(header)中提供试穿戴图标214(如图2A所示)。可选地,在一个或更多个实施例中,AR产品模型呈现系统106在产品图像210的一部分之上提供试穿戴图标214。
在一个或更多个实施例中,试穿戴图标214包括与帖子208a内所示的产品(例如,一副眼镜212)相关联的可选择的产品链接。例如,在一个或更多个实施例中,试穿戴图标214包括与帖子208a内所示的单个产品的数字模型相关联的链接。可选地,在一个或更多个实施例中,试穿戴图标214包括与各自的相应产品的多个数字模型相关联的链接。例如,在一个或更多个实施例中,选择试穿戴图标214提示AR产品模型呈现系统106提供相关联的产品和一个或更多个相关产品的数字模型。例如,试穿戴图标214可以包括用于获得一副眼镜212的数字模型以及与产品图像210中所示的这副眼镜212来自同一品牌方或商家的其他眼镜的数字模型的指令。
在一个或更多个实施例中,AR产品模型呈现系统106基于对相应产品的数字模型存在的确定而提供试穿戴图标214。例如,在一个或更多个实施例中,AR产品模型呈现系统106确定在服务器设备102上或以其他方式与服务器设备102相关联的存储空间包括帖子208a内所示的一对眼镜212的数字模型。可选地,AR产品模型呈现系统106可以从分享帖子208a的商家、营销商或其他实体接收产品的数字模型存在并且可以根据请求被提供的指示。相反,在AR产品模型呈现系统106无法识别在帖子或图像内示出的产品的数字模型的情况下,AR产品模型呈现系统106可以从帖子208a中除去试穿戴图标214。
在一个或更多个实施例中,AR产品模型呈现系统106可以使产品图像210、一副眼镜212或帖子208a本身起到可选择的行动召唤的作用,而不是如图2A所示提供试穿戴图标214。作为示例,在一个或更多个实施例中,AR产品模型呈现系统106使得移动设备202的用户能够选择产品图像210本身并触发相机界面的呈现,并提供这副眼镜212的数字模型。因此,在一个或更多个实施例中,帖子208a、产品图像210或产品图像210的特定部分(例如,对应于一副眼镜的部分)包括使移动设备202的用户能够接收产品的数字模型的行动召唤。
响应于检测到用户对行动召唤(例如,试穿戴图标214)的选择/激活,AR产品模型呈现系统106可以触发一系列动作。例如,响应于检测到试穿戴图标214的选择,AR产品模型呈现系统106向客户端设备提供这副眼镜212的数字模型。此外,网络系统应用110可以响应于检测到用户对行动召唤的选择,激活相机界面并提供由移动设备202的相机捕获的相机流。此外,网络系统应用110可以经由移动设备202的图形用户界面204在相机界面内渲染这副眼镜的数字模型。例如,网络系统应用110可以基于数字模型内包含的数据来渲染这副眼镜的数字模型。
为了说明,响应于检测到试穿戴图标214的选择,网络系统应用110可以提供图2B所示的图形用户界面204a。如图2B所示,网络系统应用110在图形用户界面204a内提供相机界面216,相机界面216包括由移动设备202的前置相机205(或另一相机)捕获的相机流218(例如,实况视频流)。如进一步所示,相机界面216包括相机控件220,其使得移动设备202的用户能够选择对相机流218的各种增强。例如,相机控件220可以包括边框(frame)、遮罩(mask)、背景和网络系统应用110可以在相机界面216内添加的其他类型的增强或效果,以对相机流218内所示的内容进行补充。
如上所述,网络系统应用110可以结合在相机流218内检测到的内容来提供所选产品的数字模型。例如,如图2B所示,相机界面216包括位于相机流218内所示的检测到的面部224之上的眼镜的数字模型222。在一个或更多个实施例中,网络系统应用110识别包括面部224的各种特征(鼻子、眼睛、耳朵、前额等)的检测到的面部224,并基于检测到的面部224和相关联的特征来定位眼镜的数字模型222。因此,如图2B所示,网络系统应用110将眼镜的数字模型222定位在眼睛之上,就像如果由个人佩戴,眼镜通常会出现的那样。
虽然本文描述的一个或更多个示例具体涉及将产品的数字模型定位在面部之上,但是AR产品模型呈现系统106可以类似地将数字模型放置在其他类型的可检测内容之上。例如,AR产品模型呈现系统106可以在相机流内检测手,并在手之上渲染手镯、戒指或手套的数字模型。作为另一示例,AR产品模型呈现系统106可以检测门、窗或具有可检测特征的其他对象,并且在相应的对象之上渲染花环、窗帘或其他对象的数字模型。因此,尽管本文描述的一个或更多个实施例具体涉及在相机流内所示的面部的一部分之上渲染对象,但是AR产品模型呈现系统106仍然可以在多种可检测对象之上渲染多种产品的数字模型。
在一个或更多个实施例中,网络系统应用110提供各种可选择的选项来修改眼镜的数字模型222。例如,在一个或更多个实施例中,网络系统应用110提供颜色选项226(或其他视觉选项),其使得用户能够在不同颜色之间切换。例如,用户可以在相机界面216上向上或向下滑动手指,并使眼镜的数字模型222改变颜色。此外,或者作为替代,在一个或更多个实施例中,相机界面216包括改变相机界面216内示出的眼镜的数字模型222的尺寸、透明度或其他外观的选项。
如进一步所示,网络系统应用110可以提供产品选项的菜单228,该菜单包括不同眼镜款式230a-d。例如,在一个或更多个实施例中,AR产品模型呈现系统106(例如,响应于检测到用户对试穿戴图标214的选择)获得对应于来自同一商家或品牌方的多副不同眼镜的多个数字模型,并在相机界面216内提供查看不同款式的数字模型的选项。例如,响应于检测到用户对试穿戴图标214的选择,AR产品模型呈现系统106可以向移动设备202提供任意数量的数字模型。以这种方式,商家或品牌方可以使移动设备的用户能够“试穿戴”不止一个特定产品款式。在一个或更多个实施例中,基于检测到在产品选项的菜单228内对可选眼镜款式230a-d之一的选择,AR产品模型呈现系统106用新的数字模型替换眼镜的数字模型222。
除了通常使移动设备202的用户能够查看不同产品的数字模型之外,AR产品模型呈现系统106还使用户能够购买相机界面216内所示的产品。例如,如图2B所示,相机界面216包括立即购物图标232,其使得移动设备202的用户能够购买由结合相机流218提供的眼镜的数字模型222所示的这副眼镜212。例如,立即购物图标232可以包括行动召唤,该行动召唤使得移动设备导航到与商家相关联的第三方网站。例如,在一个或更多个实施例中,响应于检测到对立即购物图标232的选择,AR产品模型呈现系统106将用户路由到第三方网站,在该第三方网站,用户可以输入支付信息并购买产品。可选地,在一个或更多个实施例中,AR产品模型呈现系统106在网络系统应用110的图形用户界面内提供支付界面,并使用户能够经由网络系统104(例如,使用网络系统104可访问的支付信息)购买产品。
尽管图2A-2B示出了用户可以“试戴”在社交网络系统上的帖子内所示的一副眼镜的示例,但是图3A-3B示出了用户可以“试戴”与眼镜商家或品牌方相关联的网站(例如,商家的第三方网站或网络系统中的商家的页面)或本地应用上所示的一副眼镜的另一示例。例如,图3A示出了上面结合图2A-2B描述的移动设备202。如图3A所示,图形用户界面204b包括网站/客户端应用显示302,该显示302包括结合产品提供的数字媒体。例如,显示302示出了产品图像304,产品图像304包括由与网站/客户端应用相关联的商家出售的一副眼镜306。如进一步示出的,显示器包括相关产品的菜单308,该菜单包括对应于商家销售的不同类型和风格的眼镜的不同款式310a-d。该显示还包括我的购物车(my cart)图标312,该图标使用户能够经由网站/客户端应用管理购物车,购物车包括网站上显示的任意数量的产品。
在一个或更多个实施例中,AR产品模型呈现系统106提供对网站上显示的一个或更多个产品的数字模型的访问。例如,商家可以(例如,在第三方服务器上或在网络系统104的存储空间上)存储网站上显示的一个或更多个产品的数字模型。例如,与网站相关联的商家可以创建产品图像中所示的这副眼镜306的数字模型,以及相关产品的菜单308中所示的每个款式310a-d的单独数字模型。
如图3A所示,网站显示302包括位于产品图像304的一部分之上的试穿戴图标314,该试穿戴图标314包括与上面结合图2A讨论的试穿戴图标214相似的特征和功能。具体地,试穿戴图标314包括行动召唤,该行动召唤包括使得网络系统应用110能够检索相关联产品的数字模型并提供包括该数字模型的AR体验的指令。
在一个或更多个实施例中,AR产品模型呈现系统106基于检测到显示302内示出或展示的对象对应于存储在服务器设备102上的数字模型而提供试穿戴图标314。例如,在一个或更多个实施例中,AR产品模型呈现系统106检测与产品的数字模型对应的对象,并提供包括可选择的链接的试穿戴图标314,该可选择的链接用于接收数字模型和在网络系统应用的相机界面内提供产品的数字模型(例如,经由独立于网站的插件)。在一个或更多个实施例中,网络系统应用110在本地检测网站显示302内所示的对象,并在移动设备202上提供试穿戴图标314,如图3A所示。
类似于上面结合图2B描述的示例图形用户界面204a,响应于检测到用户对试穿戴图标314的选择,移动设备202上的网络系统应用110提供图3B所示的图形用户界面204c。如图3B所示,网络系统应用110提供相机界面316,该相机界面316包括由移动设备202的前置相机205(或另一相机)捕获的相机流318。如进一步所示,相机界面316包括对应于图3A所示的一副眼镜306的眼镜的数字模型320。如图3B所示,并且类似于本文描述的一个或更多个实施例,网络系统应用110将眼镜306的数字模型320定位在相机流318内所示的被识别面部或轮廓的检测到的特征之上。此外,网络系统应用110可以跟踪面部特征,并实时更新眼镜306的数字模型320的位置,以便当捕获的面部在相机流中移动时,眼镜306停留在适当的位置。
作为对上面结合图2B描述的示例特征的替代或附加,AR产品模型呈现系统106可以提供与在相机界面316内提供眼镜306(或相关产品)的数字模型320相关联的附加特征。例如,如图3B所示,AR产品模型呈现系统106可以提供相关产品的菜单322,该菜单包括与相机界面316内描绘的这副眼镜306相关联的眼镜款式324a-e。在一个或更多个实施例中,移动设备202的用户通过在移动设备202的触摸屏上向上或向下滑动来滚动款式324a-e。如图3B所示,第一款式324a对应于眼镜306的数字模型320。如进一步所示,附加款式324b-e对应于与相关产品相关联的不同数字模型。
如图3B进一步所示,AR产品模型呈现系统106提供不同类型产品的菜单326,该菜单包括对应于不同类型产品的产品类型图标328a-d。例如,不同类型产品的菜单326包括衬衫图标328a、裤子图标328b、帽子图标328c和珠宝图标328d。在一个或更多个实施例中,各个产品类型图标328a-d与相应类型产品中的产品的一个或更多个数字模型相关联。例如,除了访问不同眼镜款式324a-e的数字模型之外,AR产品模型呈现系统106还可以附加地提供移动设备202的用户可能感兴趣的不同类型产品的一个或更多个模型。因此,响应于检测到用户对衬衫图标328a(或其他产品类型图标)的选择,网络系统应用110可以识别并渲染一件或更多件衬衫的一个或更多个数字模型。
图3B另外示出了产品信息图标330。响应于检测到产品信息图标330,AR产品模型呈现系统106提供包括关于由数字模型320表示的一副眼镜306的信息的产品信息窗口332。例如,产品信息窗口332包括一副眼镜306的描述。产品信息窗口332可以另外包括价格、颜色、尺寸或关于产品的其他相关信息。在一个或更多个实施例中,附加信息包括来自数字模型的数据。可选地,在一个或更多个实施例中,附加信息包括通过图3A所示的网站/应用获得的信息(例如,产品描述)。
在一个或更多个实施例中,AR产品模型呈现系统106还提供添加到衣柜选项334,该选项包括将相机界面316内示出的产品添加到移动设备202的用户感兴趣的产品列表的选项。例如,如图3B所示,产品信息窗口332包括添加到衣柜选项334,该选项334使得移动设备202的用户能够编辑现有的产品列表或向现有的产品列表添加。例如,在一个或更多个实施例中,AR产品模型呈现系统106为用户维护衣柜,该衣柜包括产品列表,该产品列表包括用户给予好评或明确地向列表添加的产品。
作为示例,响应于检测到对添加到衣柜选项334的选择,网络系统应用110(或AR产品模型呈现系统106)可以将相应产品的数字模型添加到与用户相关联的列表中。在一个或更多个实施例中,将产品添加到列表使得AR产品模型呈现系统106提供数字模型,该数字模型将被本地存储在移动设备202上。以这种方式,网络系统应用110可以提供对数字模型(以及列表上产品的其他数字模型)的快速访问(ready-access),即使是在移动设备202没有到服务器设备102的可靠连接的情况下。此外,网络系统应用110可以通过相机界面内提供的可选择图标提供对列表上的产品的数字模型的快速访问,即使最近没有选择产品的相应试穿戴图标。例如,在一个或更多个实施例中,网络系统应用110提供对应于先前添加到衣柜的产品并且对应于存储在移动设备202上的相应数字模型的可选择图标的菜单。
类似于上面结合图2B描述的图形用户界面204a,AR产品模型呈现系统106可以提供立即购物图标336,以使移动设备202的用户能够购买对应于相机界面316中所示的数字模型320的产品。例如,AR产品模型呈现系统106可以使移动设备202导航到经由与品牌方或商家相关联的网页提供的购买界面(例如,好像用户已经选择了图3A的我的购物车图标312)。可选地,在一个或更多个实施例中,AR产品模型呈现系统106经由网络系统104提供购物界面,用于通过网络系统104购买产品。
类似于图2A-3B,图4A-4B示出了包括图形用户界面204d的移动设备202。具体地,如图4A所示,图形用户界面204d包括网络系统应用110的相机界面402。相机界面402包括由前置相机205捕获的相机流404和效果菜单406,效果菜单406包括与相应的增强现实效果相关联的多个效果图标408a-d。效果图标408a-d可以对应于网络系统应用110可以结合相机流404提供的背景、交互式对象(例如,产品)、遮罩、过滤器(filter)或其他增强现实效果。
如图4A所示,效果菜单406包括与产品和/或相应品牌方相关联的赞助产品图标408c。在一个或更多个实施例中,AR产品模型呈现系统106使得商家、营销商或其他实体能够为提供与相应产品的数字模型相关联的赞助产品图标而出价。如图4A所示,AR产品模型呈现系统106提供对于与特定品牌方(“Shade Hut”)相关联的一副眼镜的赞助产品图标408c。因此,响应于检测到用户对赞助产品图标408c的选择,AR产品模型呈现系统106可以向网络系统应用110提供一副眼镜的数字模型,以在相机界面402内渲染。在一个或更多个实施例中,AR产品模型呈现系统106提供其他类型的赞助效果。例如,除了赞助的产品数字模型(例如,产品遮罩)之外,AR产品模型呈现系统106还可以提供赞助的背景、边框或其他类型的增强现实效果。
在一个或更多个实施例中,AR产品模型呈现系统106在检测到用户对赞助产品图标408c的选择之后(例如,响应于检测到用户对赞助产品图标408c的选择),提供数字模型。可选地,AR产品模型呈现系统106可以在检测到用户选择之前提供数字模型。例如,在一个或更多个实施例中,AR产品模型呈现系统106在从商家或品牌方接收到出价以在效果菜单406内推广产品时提供数字模型。因此,网络系统应用110可以提供赞助产品图标408c,而不提交对相应数字模型的请求(例如,响应于检测到用户选择)。
如图4B所示,AR产品模型呈现系统106生成AR体验,该AR体验包括(相机界面402内的)相机流404内的一个或更多个产品的数字模型。具体地,如图4B所示,AR产品模型呈现系统106在相机流404内提供一副眼镜的第一数字模型410a和一顶帽子的第二数字模型410b。每个数字模型410a-b对应于它们所代表的对象的相应数字模型。
如图4B所示,AR产品模型呈现系统106提供相关产品的菜单412,该菜单包括与所选产品图标408c相关的产品的产品图标414a-e。例如,响应于检测到用户对赞助产品图标408c的选择,AR产品模型呈现系统106提供相关产品的菜单412,该菜单包括一个或更多个相似品牌的产品(例如,来自Shades Hut的产品)或相似类型的产品(例如,来自同一商家或不同商家的不同类型的太阳镜)。每个产品图标414a-e对应于AR产品模型呈现系统106可以在相机流404内渲染的产品的相关数字模型。
在一个或更多个实施例中,AR产品模型呈现系统106使得移动设备202的用户能够从相关产品的菜单412中选择一个或多个产品图标414a-e。例如,如图4B所示,移动设备202的用户已经选择了对应于一副眼镜的第二产品图标414b和对应于帽子的第四产品图标414d。如相机流404中所反映的,AR产品模型呈现系统106基于对第二产品图标414b的选择来渲染一幅眼镜的第一数字模型410a,并且还基于对第四产品图标414d的选择来渲染帽子的第二数字模型410b。类似于本文描述的一个或更多个实施例,AR产品模型呈现系统106根据在相机流404内识别的面部特征,在相机流404内定位产品的数字模型410a-b。
除了提供产品模型作为AR体验的一部分之外,AR产品模型呈现系统106还可以提供附加的AR效果。例如,如图4B所示,AR产品模型呈现系统106提供背景420,背景420包括进一步增强AR呈现的背景内容。例如,基于检测到用户对帽子410b(例如,无边小便帽(beanie))的选择,AR产品模型呈现系统106可以提供与该产品相关的背景420。例如,图4B示出了AR产品模型呈现系统106提供包括山和树木的背景(例如,冬季背景)作为AR产品呈现的一部分。在一个或更多个实施例中,AR产品模型呈现系统106基于产品(或数字模型)和由与该产品相关联的商家、营销商或其他实体识别的背景(例如,针对滑雪或冬季相关产品的雪背景、针对海滩或夏季相关产品的海滩背景)之间的预定义关联来识别并渲染背景。可选地,在一个或更多个实施例中,AR产品模型呈现系统106使用户能够选择一个或更多个背景效果,以进一步增强所选产品的数字呈现。
如图4B所示,所显示的背景420包括静态图像,该静态图像包括位于在AR呈现内示出的人的检测到的面部后面的山和树木。可选地,在一个或更多个实施例中,所显示的背景420包括动态呈现,该动态呈现包括一个或更多个移动对象(例如,动物、风、雪),以进一步增强该呈现。在一个或更多个实施例中,背景420还包括结合对象的数字模型的显示(display)而示出(show)的AR效果或动画。例如,除了山和树木之外,背景420可以包括雪动画,该雪动画示出了在AR呈现内示出的人和/或产品后面和/或前面飘落的雪。
AR产品模型呈现系统106可以以多种方式渲染背景420。例如,在一个或更多个实施例中,AR产品模型呈现系统106过滤相机流404以包括结合背景420显示的所捕获视频的前景部分。例如,在一个或更多个实施例中,AR产品模型呈现系统106通过检测相机流404的前景部分和背景部分来分割相机流404。分割相机流404可以包括检测对象(例如,面部、轮廓、身体)、执行边缘检测、分析连续图像(例如,视频帧)的块、以及指定相机流404的前景部分来显示而过滤掉相机流404的任何背景部分。AR产品模型呈现系统106可以进一步提供AR背景420来代替相机流404的指定背景中被过滤掉的背景部分。
图5示出了根据本文描述的一个或更多个实施例的经由移动设备202a显示的又一示例图形用户界面204e。具体而言,如图5所示,AR产品模型呈现系统106提供实况视频界面502,该实况视频界面502包括由另一客户端设备202广播并经由网络系统104提供给移动设备202a的实况视频流504。例如,实况视频流504包括由广播用户向观看客户端设备202a的用户分享的视频流。具体地,实况视频界面502提供了上文结合图4B描述的相机流404的观看者视角。因此,在一个或更多个实施例中,图4B示出了来自广播客户端设备202的实况视频流的示例视角,而图5示出了来自观看者客户端设备202a的实况流的示例视角。虽然图5示出了其中AR产品模型呈现系统106经由移动设备202a提供增强现实呈现的示例,但是应当理解,结合图5的实况视频流描述的特征和功能可以类似地应用于由网络系统的各种用户分享的其他类型的数字内容(例如,用户生成的数字内容)。
如图5所示,实况视频界面502包括在实况视频流504内提供的增强现实效果,类似于上面结合图4A-4B描述的效果。具体地,如图5所示,实况视频界面502包括一副眼镜的第一数字模型506a和帽子的第二数字模型506b。此外,基于由广播客户端设备202上的网络系统应用110本地识别的面部特征,每个产品数字模型被定位在实况视频馈送内所示的面部之上。
如进一步示出的,AR产品模型呈现系统106提供产品菜单508,该产品菜单508包括实况视频流504内示出的每个产品的产品图标510a-b。具体而言,产品菜单508包括一副眼镜的第一图标510a和帽子的第二图标510b。AR产品模型呈现系统106另外为用户提供了对产品进行评价(例如,竖起大拇指)的选项,并向广播用户提供广播用户已经试穿戴的产品的评价。以这种方式,广播用户可以从实况视频流504的观看者接收对产品的即时反馈。作为对实况视频流内描绘的产品进行一般评价的替代,AR产品模型呈现系统106可以提供投票统计(poll),该投票统计使得观看用户能够在实况视频流内描绘的一个或更多个产品之间投票。
在一个或更多个实施例中,AR产品模型呈现系统106为实况视频流504内示出的一个或更多个产品提供附加信息窗口512。例如,响应于检测到用户对一副眼镜的第一图标510a的选择,AR产品模型呈现系统106提供包括产品描述(“80年代经典太阳镜”)的附加信息窗口512。附加信息窗口512可以包括价格信息、品牌信息、商店/位置信息、颜色信息以及与相应产品相关联的其他数据。
如进一步示出的,AR产品模型呈现系统106可以提供试穿戴选项514,该选项使得实况视频流504的观看者能够试穿戴实况视频流504内示出的一个或更多个产品。例如,图5在附加信息窗口512内示出了试穿戴图标514,试穿戴图标514包括与本文描述的其他试穿戴选项类似的特征和功能。例如,在一个或更多个实施例中,检测到对试穿戴图标514的选择使得AR产品模型呈现系统106获得所选产品的数字模型的副本,并利用由移动设备202a的相机捕获的相机流来渲染产品的数字模型。因此,响应于检测到用户对试穿戴图标514的选择,移动设备202a上的网络系统应用110可以激活类似于本文描述的其他相机界面的相机界面,并且在相机界面内渲染产品的数字模型。网络系统应用110另外可以提供各种选项、图标以及类似地在图2A-4B中描述的各种特征和功能。
除了试穿戴实况视频流504内所示的产品之外,在一个或更多个实施例中,AR产品模型呈现系统106使得实况视频流504的观看者能够购买实况视频流504内所示的一个或更多个产品。例如,图5示出了示例立即购物图标516,其使得移动设备202的用户能够购买与实况视频流504内所示的数字模型相关联的一个或更多个产品。具体地,响应于检测到用户对立即购物图标516的选择,AR产品模型呈现系统106可以提供购物界面,该购物界面包括购买所选产品(例如,一副眼镜)或实况视频流504内所示的任何产品的选项。
虽然图2A-5示出了在网络系统应用110的相机界面内提供增强现实呈现的示例,但是AR产品模型呈现系统106可以与馈送(例如,社交网络馈送)内联地(inline)提供或者在相关联的用户的馈送内提供增强现实呈现。例如,在一个或更多个实施例中,AR产品模型呈现系统106使得用户能够在网络系统104的其他用户可访问的动态消息内分享包括产品的数字模型的视频。在各个动态消息内向其他用户提供分享的视频的过程中,AR产品模型呈现系统106可以提供与分享的视频内显示的产品相关联的试穿戴图标,类似于本文描述的一个或更多个实施例。因此,除了由各个商家和广告商分享的赞助广告或帖子之外,AR产品模型呈现系统106另外结合由网络系统104的其他用户分享的数字媒体提供产品链接(例如,试穿戴图标)。
如在本文的一个或更多个实施例中所描述的,AR产品模型呈现系统106可以基于结合相机流内示出的动态内容而显示的产品的数字模型来提供包括该产品的数字模型的数字呈现。AR产品模型呈现系统106可以以多种方式生成数字呈现。作为示例,图6-8示出了一种或更多种示例技术和方法,用于生成对象的数字模型,并结合在实况视频流中显示的内容(例如,面部、轮廓等)在实况视频流内渲染对象。具体而言,图6-8示出了一种或更多种示例技术和方法,用于结合在客户端设备捕获的相机流内所示的检测到的面部来显示一副眼镜的数字模型。
在生成AR呈现的过程中,在一个或更多个实施例中,AR产品模型呈现系统106为面部生成网格模型。AR产品模型呈现系统106可以以多种方式为面部生成网格模型。作为图6中所示的说明性示例,AR产品模型呈现系统106可以为面部生成特征图602(例如,二维映射),该特征图602包括位于相机流内所示的个人面部周围的参考特征604。在一个或更多个实施例中,AR产品模型呈现系统106分析一个或更多个视频帧以生成包括检测到的参考特征604的特征图602。
如图6所示,特征图602包括检测到的面部特征的边缘,面部特征包括例如眼睛、眉毛、鼻子、嘴唇和面部的其他检测到的特征。除了通常映射检测到的对象之外,AR产品模型呈现系统106还可以映射检测到的面部的轮廓、皱纹和其他更详细的特征。在一个或更多个实施例中,AR产品模型呈现系统106可以映射面部的一个或更多个图像内显示的着色特征和其他基于外观的特征。
尽管图6示出了其中映射了面部的单个图像的示例,但是AR产品模型呈现系统106可以通过分析捕获的流的多个视频帧(例如,连续视频帧)来进一步细化参考特征604的识别位置。作为示例,AR产品模型呈现系统106可以分析相机流的初始帧(例如,关键帧),并进一步计算参考特征604在先前或后续视频帧的位置。AR产品模型呈现系统106还可以基于检测到的帧之间的移动和视频帧之间的光流(optical flow)的估计来应用加权因子。在一个或更多个实施例中,AR产品模型呈现系统106利用以下算法来细化参考特征604的确定位置:
其中t是视频帧的时间,0≤λ≤1是加权因子,是在时间t获得的特征位置,以及是估计的特征位置。此外,xT表示关键帧中的特征位置,并且wi是中从t到t+1的正向光流矢量。在一个或更多个实施例中,AR产品模型呈现系统106利用Garrido等人的Reconstructing Detailed Dynamic Face Geometry From Monocular Video中描述的基于光流的特征校正过程,其通过引用以整体并入本文。
除了生成和细化特征图602之外,AR产品模型呈现系统106还结合特征图602利用默认网格模型606来为检测到的面部生成个性化网格模型610。具体而言,在一个或更多个实施例中,AR产品模型呈现系统106识别默认网格模型606,该默认网格模型606包括通用面部的三维模型,该通用面部包括定义面部上各种点的多个顶点。默认网格模型606可以包括任意数量的顶点和网格线,这取决于客户端设备的计算能力。此外,AR产品模型呈现系统106可以基于检测到的面部的检测到的定位或角度来选择特定的默认网格模型606,以进一步提高生成个性化网格模型610的准确性。
如图6所示,AR产品模型呈现系统106可以实现面部网格生成器608,以基于默认网格模型606生成个性化网格模型610,并且该个性化网格模型610包括反映特征图602的参考特征604的位置的网格线和顶点。具体地,在一个或更多个实施例中,AR产品模型呈现系统106通过基于参考特征604的位置操纵默认网格模型606的顶点来生成个性化网格模型610。在一个或更多个实施例中,AR产品模型呈现系统106随着时间的推移细化个性化网格模型610,以反映参考特征604的细化定位和/或反映随着时间的推移用于生成个性化网格模型610的更准确或有效的建模方法。
如图6所示,AR产品模型呈现系统106可以生成包括三维网格的单个个性化网格模型610,该三维网格反映了整个面部、面部的一部分和/或包括个人的颈部和躯干的更大轮廓。在一个或更多个实施例中,AR产品模型呈现系统106针对面部或轮廓的不同角度生成多个个性化网格模型。例如,AR产品模型呈现系统106可以基于检测到观看相机的面部来生成和利用个性化网格模型610。AR产品模型呈现系统106可以基于个人向下、向上、向侧面观看的不同角度,或者基于面部的各种角度,类似地生成和利用不同的个性化网格模型,以提高提供数字呈现的准确性。
除了为个人的面部或轮廓生成网格模型之外,AR产品模型呈现系统106另外可以获得或以其他方式生成产品的数字模型,该数字模型包括用于渲染模型的三维表示的数据,该模型将结合相机流内所示的内容被显示。如上所述,在一个或更多个实施例中,AR产品模型呈现系统106基于产品的图像或三维模型生成数字模型。可选地,在一个或更多个实施例中,AR产品模型呈现系统106从第三方源接收数字模型。
图7示出了根据本文的一个或更多个实施例的用于为一副眼镜生成数字模型710的示例工作流。例如,在一个或更多个实施例中,AR产品模型呈现系统106接收一副眼镜的一个或更多个二维图像702,并基于二维图像702生成数字模型710。例如,AR产品模型呈现系统106可以通过获得从多个角度显示这副眼镜的多个图像来为这副眼镜生成数字模型710。AR产品模型呈现系统106可以通过从图像702收集一系列空间点来生成数字模型710,并且生成包括该副眼镜的深度信息和外观数据的模型。AR产品模型呈现系统106可以基于深度信息和外观数据生成数字模型710。可选地,在一个或更多个实施例中,AR产品模型呈现系统106接收对象的先前生成的三维模型。
在一个或更多个实施例中,AR产品模型呈现系统为这副眼镜生成代表这副眼镜的三维结构的三维网格706。在一个或更多个实施例中,AR产品模型呈现系统106利用与上文结合生成面部的个性化网格模型610所描述的类似技术来生成三维网格706。可选地,在一个或更多个实施例中,如图7所示,AR产品模型呈现系统106基于三个图像702来外推眼镜的网格706。
在一个或更多个实施例中,AR产品模型呈现系统106生成包括反映对象的结构和轮廓的任意数量的边和顶点的网格。AR产品模型呈现系统106可以基于多个参考点(例如,参考特征604)和/或客户端设备的计算能力来生成高分辨率网格,或者可选地,对三维模型704进行降采样或抽取。如图7所示,这副眼镜的网格模型706包括顶点和连接线,其示出了眼镜的结构和形状。
除了生成网格模型706之外,AR产品模型呈现系统106另外还可以将网格模型706的任意数量的顶点映射到另一个对象的参考点。例如,在一个或更多个实施例中,AR产品模型呈现系统106将网格模型706的特定顶点映射到对应于为面部或轮廓生成的特征图602的预定义参考特征604。以这种方式,AR产品模型呈现系统106可以映射网格模型706的特定顶点以相对于面部的移动参考特征604而移动,从而创建在AR呈现内示出的产品的真实感表示。为了说明,AR产品模型呈现系统106可以将眼镜上各个位置(例如,镜片、镜框、鼻梁架等)处的顶点映射到检测到的面部的相应的参考特征602(例如,鼻子、眉毛、眼睛等)。
如图7中进一步所示,AR产品模型呈现系统106可以生成UV图708,该UV图708包括与这副眼镜的外观相关联的附加信息。具体地,UV图708可以指三维模型708的二维表示,包括颜色、表面特征和映射到网格模型706的特定面的其他外观相关数据。AR产品模型呈现系统106可以使用多种方法或技术来生成UV图708。
作为示例,在一个或更多个实施例中,AR产品模型呈现系统106通过执行三维模型的UV参数化来生成UV图708。例如,AR产品模型呈现系统106可以利用各种UV参数化技术(包括例如重心映射、微分几何和/或各种非线性方法)来生成UV图708,该UV图708包括这副眼镜的外观数据与网格模型706的对应面、边和顶点之间的UV坐标映射。在一个或更多个实施例中,AR产品模型呈现系统106利用保形展平算法(conformal flattening algorithm)来计算三维模型704的表面和表面UV图708中反映的网格模型706的每个顶点之间的u-v坐标。
如图7所示,AR产品模型呈现系统106通过将网格模型706和UV图708进行组合来生成这副眼镜的数字模型710。在一个或更多个实施例中,AR产品模型呈现系统106通过将UV图708包裹在网格模型706周围从而将网格模型706的深度数据和交互数据与UV图708的外观数据相结合,来生成数字模型710。
利用个性化网格模型610以及包括网格模型706和UV图708的数字模型710,AR产品模型呈现系统106可以根据本文描述的一个或更多个实施例生成并提供AR呈现。例如,如图8所示,AR产品模型呈现系统106、AR产品模型呈现系统106提供AR呈现802,该AR呈现802包括在与相机流内检测到的面部806相对应的位置处显示的一副眼镜的数字模型804。AR呈现802可以包括与上面结合图2A-5描述的相似的特征。
如图8所示,尽管AR产品模型呈现系统106使用个性化网格模型610和一副眼镜的数字模型710,但是应当注意,个人面部的个性化网格模型706以及一副眼镜的网格模型708对客户端设备202的用户是透明的。事实上,尽管AR产品模型呈现系统106利用来自网格模型610、710中的每一个的深度信息来渲染包括来自UV图708的(例如,映射到检测到的面部806的相应参考特征604的)显示的外观数据的这副眼镜的数字模型804,但是AR产品模型呈现系统106不经由客户端设备202的图形用户界面显示网格模型610、710的线或顶点。
因此,AR产品模型呈现系统106根据数字模型710的顶点(例如,网格模型706和UV图708的顶点)和个性化网格模型610的相应参考特征604,在检测到的面部806上的位置渲染这副眼镜的数字模型804。当个体在捕获和广播相机流的同时移动时,AR产品模型呈现系统106可以更新这副眼镜的数字模型804的定位,以对应于参考特征604的变化位置,从而提供这副眼镜在个体上出现时的真实感表示。
现在转向图9,将提供关于AR产品模型呈现系统106的示例架构的部件和能力的附加细节,该AR产品模型呈现系统106可在以上结合图1描述的通信环境100中实现。具体地,图9示出了具有与上述一个或更多个实施例相关联的类似特征和功能的示例客户端设备108和服务器设备102。例如,AR产品模型呈现系统106和网络系统应用110可以协作来提供包括相机流和产品的数字模型的增强现实呈现。
如图9所示,客户端设备108包括一个或更多个相机902和网络系统应用110。网络系统应用110包括行动召唤提供器904和相机界面管理器906。如进一步所示,服务器设备102包括网络系统104,网络系统104包括AR产品模型呈现系统106。AR产品模型呈现系统106包括数字模型管理器908、行动召唤管理器910、呈现管理器912和包括产品数据916和模型数据918的数据储存器914。虽然图9示出了一个示例实施例,其中部件904-906在服务器设备102上实现,并且部件908-918在服务器设备102上实现,但是应当理解,部件904-918中的一个或更多个可以全部或部分地在服务器设备102、客户端设备108或所示设备的组合上实现。此外,或者作为替代,部件904-918中的一个或更多个可以在商家设备114上实现,如以上结合图1所讨论的。
如图9所示,客户端设备108包括一个或更多个相机902。例如,在客户端设备108指移动设备(例如,智能电话)的情况下,客户端设备108可以包括一个或更多个前置相机或后置相机。在一个或更多个实施例中,网络系统应用110激活一个或更多个相机902来捕获一个或更多个图像或视频。例如,相机902可以捕获包括一系列图像或视频的相机流。网络系统应用110可以上传、广播、流式传输或以其他方式传输相机流。在一个或更多个实施例中,网络系统应用110将相机流存储在客户端设备108上。
如图9中进一步所示,网络系统应用110包括经由客户端设备108的图形用户界面提供产品链接的行动召唤提供器904。例如,在一个或更多个实施例中,行动召唤提供器904结合与产品相关联的数字媒体来提供试穿戴图标。例如,行动召唤提供器904可以检测到经由客户端设备108的图形用户界面提供的数字媒体与产品相关联,并结合该数字媒体提供可选择的试穿戴图标。
行动召唤提供器904另外可以检测用户对产品链接的选择。例如,响应于检测到用户对产品链接的选择,行动召唤提供器904可以执行被包括在产品链接内的一个或更多个指令。在一个或更多个实施例中,响应于检测到用户对产品链接的选择,行动召唤提供器904向AR产品模型呈现系统106提供对相应产品的数字模型的副本的请求。在一个或更多个实施例中,行动召唤提供器904另外向相机界面管理器906指示已经选择了产品链接。
作为另一个示例,在一个或更多个实施例中,AR产品模型呈现系统106捕获相机流并在动态消息内渲染产品的数字模型。例如,AR产品模型呈现系统106可以使用客户端设备202的前置相机205来捕获相机流,并结合商家、营销商或其他实体希望推广的产品的数字模型来提供显示移动设备202的用户的面部的相机流,而不是在来自另一用户的分享视频流内渲染产品的数字模型。因此,作为看到包括产品的数字图像的帖子的替代,移动设备202的用户可以看到由移动设备捕获的并且包括产品的数字模型的相机流。此外,类似于本文所述的一个或更多个实施例,AR产品模型呈现系统106可以结合帖子提供产品链接,该产品链接触发激活网络系统应用110的相机界面,并提供类似于本文所述的一个或更多个实施例的增强现实呈现。
如图9中进一步所示,网络系统应用110包括相机界面管理器906。在一个或更多个实施例中,相机界面管理器906激活相机界面。例如,相机界面管理器906可以启动由相机902捕获相机流。此外,相机界面管理器906可以打开网络系统应用110的相机界面,该相机界面包括相机流以及用于修改相机流的呈现的一个或更多个控件。例如,相机界面管理器906可以提供使得客户端设备108的用户能够添加效果(例如,遮罩、背景等)的控件。此外,相机界面管理器906可以提供用于在客户端设备的相机902之间切换(例如,从前置相机切换到后置相机)的控件。相机界面管理器906可以进一步提供用于修改亮度、闪光或其他相机设置的控件。
除了提供相机流之外,相机界面管理器906另外可以结合相机流针对相应产品实现一个或更多个数字模型。例如,如上所述,除了产品的数字模型之外,增强现实模式可以包括与结合相机流渲染数字模型相关联的交互数据。在一个或更多个实施例中,相机界面管理器906根据数字模型的交互数据在相机流内渲染产品的数字模型。
作为一个示例,相机界面管理器906可以在相机流内识别面部和所识别面部的特征。在数字模型包括一副眼镜的数字模型以及指示该副眼镜应该如何与检测到的眼睛、前额、鼻子和耳朵交互的交互数据的情况下,相机界面管理器906可以相对于识别出的面部的检测到的特征渲染该副眼镜的数字模型。因此,相机界面管理器906可以将这副眼镜的数字模型定位为眼镜在佩戴该副物理眼镜的个人上所看起来的那样。
在一个或更多个实施例中,相机界面管理器906基于相机流内的移动内容来更新数字模型的定位。例如,在所识别的面部移动、旋转或以其他方式导致相机流内显示的内容改变的情况下,相机界面管理器906可以更新数字模型的角度、定位或其他特征,以匹配相机流的改变的内容。因此,相机界面管理器906可以在由相机902捕获的实况视频流或其他系列图像内提供产品的真实感表示。
如图9所示,AR产品模型呈现系统106包括数字模型管理器908。在一个或更多个实施例中,数字模型管理器908为相应的产品生成数字模型。例如,数字模型管理器908生成产品的数字模型和用于在相机流内渲染产品的数字模型的指令。数字模型管理器908可以在服务器设备102上生成数字模型。可选地,数字模型管理器908可以从其他设备(例如,商家设备114)接收一个或更多个先前生成的数字模型。
在一个或更多个实施例中,数字模型管理器908基于描绘产品的图像、一系列图像、或视频来生成数字模型。具体地,数字模型管理器908可以生成包括产品的三维表示的产品框架。此外,数字模型管理器908可以基于产品的三维框架生成包括产品的数字模型的遮罩。在一个或更多个实施例中,数字模型管理器908进一步生成行为或交互数据,其包括用于结合相机流内所示的内容来渲染标记(mark)和线框(wire frame)的指令。作为示例,AR产品模型呈现系统106可以基于显示由商家提供的产品的不同视角的多个图像来创建商家的数字模型。
除了生成或接收数字模型之外,数字模型管理器908还可以管理对数字模型的访问。例如,数字模型管理器908可以维护针对产品目录的数字模型数据库,并根据请求向客户端设备108提供数字模型的副本。例如,响应于检测到用户对产品链接的选择,数字模型管理器908可以提供数字模型的副本或提供对数字模型的远程访问,这使得相机界面管理器906能够在客户端设备108上的相机界面内渲染产品的数字模型。数字模型管理器908可以通过服务器设备102的数据储存器914存储任意数量的数字模型。可选地,数字模型管理器908可以远程访问存储在第三方设备(例如,商家设备114)上的数字模型。
如图9中进一步所示,AR产品模型呈现系统106包括行动召唤管理器910。在一个或更多个实施例中,行动召唤管理器910为与数字模型相关联的一个或更多个相应产品提供产品链接。例如,行动召唤管理器910可以在动态消息、简档页面或与网络系统104相关联的其他图形用户界面内提供产品链接。行动召唤管理器910可以在分享给网络系统104的用户的实况流内提供产品链接,在该实况流中示出了产品的数字模型。
除了在与网络系统104相关联的图形用户界面内提供产品链接之外,行动召唤管理器910还可以通过网页提供产品链接。例如,在一个或更多个实施例中,行动召唤管理器910识别在数字媒体内示出的产品,并在数字媒体的一部分之上或以其他方式结合数字媒体提供产品链接。可选地,在一个或更多个实施例中,行动召唤管理器910提供对用于创建产品链接的指令的访问,并且使得第三方设备(例如,商家设备114)能够创建产品链接,并且结合经由第三方网页显示的内容来提供产品链接。
如图9中进一步所示,AR产品模型呈现系统106包括呈现管理器912。在一个或更多个实施例中,呈现管理器912给客户端设备108提供数字模型以由网络系统应用110在本地渲染,该数字模型包括产品的数字模型和用于渲染产品的指令。可选地,呈现管理器912可以经由相机界面远程地渲染数字模型。例如,在相机界面包括由AR产品模型呈现系统106提供的web浏览器界面的情况下,呈现管理器912可以直接在web界面内渲染对象的数字模型。
如图9中进一步所示,AR产品模型呈现系统106包括包含产品数据916的数据储存器914。产品数据916可以包括与产品相关联的任何数据,包括例如品牌、商家、价格、网站或与相应产品相关联的其他数据。在一个或更多个实施例中,产品数据916包括数字媒体(例如,图像、视频),其中描绘了产品,并且AR产品模型呈现系统106可以使用该数字媒体来识别产品链接的结合数字媒体的放置。此外,产品数据916可以包括将一个或更多个模型与其他模型进行相关的数据。例如,AR产品模型呈现系统106可以利用产品数据916来识别与给定产品相关的一个或更多个产品。
如进一步所示,数据储存器包括模型数据918。模型数据918可以包括构成数字模型的任何数据。例如,模型数据918可以包括用于生成产品的三维数字模型的数据。此外,模型数据918可以包括用于结合相机界面内提供的相机流来渲染数字模型的数据。例如,模型数据918可以包括交互数据,该交互数据规定结合相机流内显示的检测到的内容对产品的数字模型的数字模型的行为或放置。
部件902-918中的每一个可以包括软件、硬件或两者。例如,部件902-918可以包括存储在计算机可读存储介质上并可由一个或更多个计算设备的处理器执行的一个或更多个指令。当由一个或更多个处理器执行时,AR产品模型呈现系统106的计算机可执行指令可以使得客户端设备和/或服务器设备执行本文描述的方法。可选地,部件902-918及其相应的元件可以包括硬件,例如用于执行特定功能或功能组的专用处理设备。另外,部件902-918可以包括计算机可执行指令和硬件的组合。
此外,部件902-918可以例如被实现为一个或更多个操作系统、一个或更多个独立应用、应用的一个或更多个模块、一个或更多个插件、一个或更多个库功能或可由其他应用调用的功能、和/或云计算模型。因此,部件902-918可以被实现为独立的应用,例如桌面或移动应用。此外,部件902-918可以被实现为托管在远程服务器上的一个或更多个基于web的应用。部件902-918也可以在一套移动设备应用或“app”中实现。
图1-9、相应的文本和示例提供了许多不同的系统和设备,这些系统和设备促进提供增强现实呈现,该增强现实呈现包括结合由客户端设备捕获的相机流的产品的数字模型。现在转到图10-11,这些图表示根据本文描述的一个或更多个实施例的用于提供增强现实呈现的一系列动作的流程图。尽管图10-11示出了根据示例实施例的动作,但是替代实施例可以省略、添加、重新排序和/或修改图10-11所示的任何动作。图10-11的动作可以作为方法的一部分来执行。可选地,非暂时性计算机可读介质可以包括指令,该指令当由一个或更多个处理器执行时,使得计算设备执行图10-11的动作。在另外的实施例中,系统可以执行图10-11的动作。
图10示出了根据本文描述的一个或更多个实施例的用于提供包括产品的数字模型的增强现实呈现的动作1000的流程图。如图10所示,动作1000包括检测对与包括产品的数字模型的产品的数字模型相关联的行动召唤(例如,可选择的产品链接)的选择的动作1010。例如,在一个或更多个实施例中,动作1010包括检测对与产品的数字模型相关联的行动召唤的选择,其中数字模型包括产品的数字模型和用于在客户端设备108的图形用户界面(例如,相机界面)内渲染产品的数据。在一个或更多个实施例中,动作1000包括响应于检测到对行动召唤的选择,向网络系统104提供对产品的数字模型的请求。此外,动作1000可以包括在客户端设备108处接收产品的数字模型。
此外,在一个或更多个实施例中,动作1000包括在与产品相关联的数字媒体的一部分之上提供行动召唤。例如,在一个或更多个实施例中,动作1000包括分析数字媒体以确定数字媒体与产品相关联。此外,动作1000可以包括基于确定数字媒体与产品相关联(例如,数字媒体包括产品的表示和/或源自与产品相关联的来源)来结合数字媒体提供与数字模型相关联的行动召唤。
动作1000可以包括通过各种平台结合数字媒体提供行动召唤。例如,在一个或更多个实施例中,动作1000包括使客户端设备108经由与产品相关联的第三方网站提供行动召唤,并且通过经由第三方网站检测对行动召唤的选择来检测对行动召唤的选择。在一个或更多个实施例中,动作1000包括使客户端设备108经由与网络系统应用相关联的网络系统的共同用户的实况视频馈送并结合产品的数字模型来提供行动召唤,并且通过在共同用户的实况视频馈送内检测对行动召唤的选择来检测对行动召唤的选择。在一个或更多个实施例中,动作1000包括使客户端设备108经由与网络系统应用110相关联的网络系统104的用户简档来提供行动召唤,并且经由网络系统104的用户简档来检测对行动召唤的选择。
如图10中进一步所示,动作1000包括通过捕获相机流和在客户端设备108上的网络系统应用110的相机界面内提供相机流来激活网络系统应用110的相机界面的动作1020。例如,在一个或更多个实施例中,动作1020包括激活计算设备上的网络系统应用110的相机界面,其中激活相机界面包括捕获相机流并在网络系统应用110的相机界面内提供该相机流。
如进一步所示,动作1000包括通过渲染产品的数字模型来生成增强现实体验的动作1030。例如,在一个或更多个实施例中,动作1030包括通过在网络系统应用的相机界面内结合相机流渲染产品的数字模型来生成增强现实体验。在一个或更多个实施例中,动作1000包括在相机流内检测人的面部,并在相机流内识别该面部的一个或更多个特征。此外,在一个或更多个实施例中,渲染产品的数字模型可以包括基于面部的所识别的一个或更多个特征在相机流内的位置,将产品的数字模型放置在相机流的一部分之上。
在一个或更多个实施例中,动作1000包括响应于检测到对行动召唤的选择,向网络系统104提供对产品的数字模型的请求。动作1000还可以包括在计算设备处接收产品的数字模型。
在一个或更多个实施例中,动作1000包括在相机界面内提供效果菜单,该效果菜单包括对应于产品的数字模型的可选择图标。动作1000还可以包括通过检测对效果菜单内的可选择图标的选择来检测对与产品的数字模型相关联的行动召唤的选择。此外,在一个或更多个实施例中,动作1000包括识别与数字模型相关联的背景效果。动作1000还可以包括在网络系统应用110的相机界面内,响应于识别到与数字模型相关联的背景效果,结合产品的所渲染的数字模型来提供该背景效果。
在一个或更多个实施例中,动作1000包括检测在计算设备的图形用户界面上显示的数字媒体内描绘了产品。动作1000还可以包括确定数字媒体内描绘的产品的数字模型存在。基于确定数字媒体内描绘的产品的数字模型存在,动作1000还可以包括结合所显示的数字媒体提供行动召唤。
在一个或更多个实施例中,动作100包括,响应于检测到对与产品的数字模型相关联的行动召唤的选择,接收多个数字模型,该多个数字模型包括产品的数字模型和对应于该产品的相关产品的附加数字模型。此外,动作1000可以包括在相机界面内提供与查看相关产品的数字模型相关联的可选择图标。此外,在一个或更多个实施例中,动作1000包括检测对与查看相关产品的数字模型相关联的可选择图标的选择。此外,动作1000可以包括在网络系统应用110的相机界面内并结合产品的数字模型来结合相机流渲染相关产品的数字模型。
此外,在一个或更多个实施例中,数字模型包括网格模型,该网格模型包括与对象(例如,面部、用户轮廓)的相应参考特征相关联(例如,映射到相应参考特征)的顶点。在一个或更多个实施例中,动作1000包括在相机流内检测对象,并确定检测到的对象的参考特征在相机流内的位置。此外,动作1000可以包括基于检测到的对象的参考特征在相机流内的确定位置,在相机流内的位置渲染产品的数字模型。
图11示出了根据本文描述的一个或更多个实施例的用于提供包括产品的数字模型的增强现实呈现的动作1100的流程图。如图11所示,动作1100包括生成产品的数字模型的动作1110。例如,在一个或更多个实施例中,动作1110包括由至少一个处理器生成包括与产品相关联的深度数据和外观数据的产品的数字模型。
在一个或更多个实施例中,生成产品的数字模型包括生成产品的网格模型,该网格模型包括与产品相关联的结构信息和深度信息。生成数字模型还可以包括生成UV图,该UV图包括与产品相关联的表面外观信息。生成数字模型还可以包括将UV图和网格模型模型进行组合以创建产品的数字模型。在一个或更多个实施例中,生成数字模型还包括将网格模型的点映射到在客户端设备捕获的相机流内检测到的面部(或另一检测到的对象)的对应参考特征。
如进一步所示,动作1100包括检测对与产品相关联的行动召唤的选择的动作1120。例如,在一个或更多个实施例中,动作1120包括检测对与产品的数字模型相关联的行动召唤的选择。如进一步所示,动作1100包括向客户端设备108提供数字模型使得客户端设备108通过在相机流中的人上渲染产品的数字模型来提供增强现实体验的动作1130。在一个或更多个实施例中,动作1130包括响应于检测到对行动召唤的选择,向客户端设备提供数字模型,使得客户端设备通过在网络系统应用的相机界面内渲染产品的数字模型,使得产品的数字模型出现在客户端设备捕获的相机流之上,来提供增强现实体验。在一个或更多个实施例中,提供增强现实体验包括基于检测到的面部(或其他对象)的参考特征的识别位置和产品的网格模型的对应映射点,在相机流内的位置渲染产品的数字模型。
在一个或更多个实施例中,动作1100包括在服务器设备102处从客户端设备108接收相机流。动作1100还可以包括由至少一个处理器通过在相机流内渲染产品的数字模型来生成增强现实体验。在一个或更多个实施例中,向客户端设备提供数字模型包括向客户端设备108提供增强现实体验。在一个或更多个实施例中,动作1100包括向与客户端设备108的用户相关联的网络系统104的共同用户的一个或更多个客户端设备广播增强现实体验。
在一个或更多个实施例中,动作1100包括从客户端设备108接收增强视频,该增强视频包括相机流和出现在相机流之上的产品的所渲染的数字模型。此外,在一个或更多个实施例中,动作1100包括向与客户端设备108的用户相关联的网络系统104的一个或更多个共同用户的一个或更多个客户端设备广播增强视频。
本公开的实施例可以包括或利用包括计算机硬件(例如,一个或更多个处理器和系统存储器)的专用或通用计算机,如下面更详细讨论的。本公开的范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。具体地,本文描述的一个或更多个过程可以至少部分地被实现为被包含在非暂时性计算机可读介质中并可由一个或更多个计算设备(例如,本文描述的任何媒体内容访问设备)执行的指令。通常,处理器(例如,微处理器)从非暂时性计算机可读介质(例如,存储器等)接收指令,并执行这些指令,从而执行一个或更多个过程(包括本文描述的一个或更多个过程)。
计算机可读介质可以是通用或专用计算机系统可以访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂时性计算机可读存储介质(设备)。承载计算机可执行指令的计算机可读介质为传输介质。因此,作为示例而非限制,本公开的实施例可以包括至少两种截然不同的计算机可读介质:非暂时性计算机可读存储介质(设备)和传输介质。
非暂时性计算机可读存储介质(设备)包括RAM、ROM、EEPROM、CD-ROM、(例如,基于RAM的)固态驱动器(“SSD”)、闪存、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储器、磁盘存储器或其他磁性存储设备、或者可以用于存储期望的以计算机可执行指令或数据结构的形式的程序代码方法且可以由通用或专用计算机进行访问的任何其他介质。
“网络”被定义为一个或更多个数据链路,其实现计算机系统和/或模块和/或其他电子设备之间的电子数据的传输。当信息通过网络或另一通信连接(硬连线、无线、或硬连线或无线的组合)被传输或提供到计算机时,计算机正确地将该连接视为传输介质。传输介质可以包括网络和/或数据链路,该网络和/或数据链路可以用于承载期望的以计算机可执行指令或数据结构的形式的程序代码方法且可以由通用或专用计算机进行访问。上述的组合也应该被包括在计算机可读介质的范围内。
此外,在到达各种计算机系统组件时,以计算机可执行指令或数据结构的形式的程序代码方法可以从传输介质自动被传输到非暂时性计算机可读存储介质(设备)(或反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以被缓冲在网络接口模块(例如,“NIC”)内的RAM中,然后最终被传输到计算机系统RAM和/或计算机系统处的不太易失的计算机存储介质(设备)。因此,应当理解,非暂时性计算机可读存储介质(设备)可以被包括在同样(或者甚至主要)利用了传输介质的计算机系统组件中。
计算机可执行指令包括例如当在处理器处被执行时使通用计算机、专用计算机或专用处理设备执行某个功能或功能组的指令和数据。在一些实施例中,在通用计算机上执行计算机可执行指令,以将通用计算机变成实现本公开的元素的专用计算机。例如,计算机可执行指令可以是二进制、中间格式指令(诸如汇编语言)或甚至源代码。尽管已经以特定于结构化特征和/或方法行为的语言描述了主题,应理解的是,随附权利要求中定义的主题不必需局限于所描述的特征或以上所描述的行为。相反,所描述的特征和行为被公开作为实施权利要求的示例形式。
本领域技术人员将理解,本公开可以在具有许多类型的计算机系统配置的网络计算环境中实施,计算机系统配置包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持设备、多处理器系统、基于微处理器的或可编程的消费者电子设备、网络PC、小型计算机、大型计算机、移动电话、PDA、平板计算机、寻呼机、路由器、交换机等。还可在分布式系统环境中实践本公开,在分布式系统环境中经网络链接(通过硬接线数据链路、无线数据链路或通过硬接线和无线数据链路的组合)的本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可位于本地和远程存储器存储设备中。
本公开的实施例还可以在云计算环境中实现。在本说明书中,“云计算”被定义为一种模型,用于实现对可配置计算资源的分享池的按需网络访问的模型。例如,可以在市场中采用云计算,以提供无处不在的且方便的对可配置计算资源的分享池的按需访问。可配置计算资源的分享池可以经由虚拟化来快速调配,并在管理工作量或服务提供商交互少的情况下进行释放,然后进行相应地扩展。
云计算模型可以由例如按需自助服务、广泛的网络访问、资源池、快速弹性、测量服务等的各种特征组成。云计算模型还可以展示各种服务模型,例如软件即服务(“SaaS”)、平台即服务(“PaaS”)和基础架构即服务(“IaaS”)。云计算模型还可以使用不同的部署模型(例如私有云、社区云、公有云、混合云等等)进行部署。在本说明书中和在权利要求书中,“云计算环境”是部署了云计算的环境。
图12以框图形式示出了示例性计算设备1200,其可以被配置为执行一个或更多个上述过程。在一个或更多个实施例中,根据计算设备1200的实现,服务器设备102、客户端设备108和商家设备114各自包括一个或更多个计算设备。如图12所示,计算设备可以包括处理器1202、存储器1204、存储设备1206、I/O接口1208和通信接口1210,它们可以通过通信基础设施1212通信耦合。尽管图12中示出了示例性计算设备1200,但是图12中示出的部件并不旨在进行限制。在其他实施例中可以使用附加的或替代的部件。此外,在某些实施例中,计算设备1200可以包括比图12中所示的部件更少的部件。现在将更加详细地描述图12所示的计算设备1200的部件。
在特定实施例中,处理器1202包括用于执行指令(例如构成计算机程序的那些指令)的硬件。作为示例而不是作为限制,为了执行指令,处理器1202可以从内部寄存器、内部高速缓存、存储器1204或存储设备1206检索(或获取)指令,以及将它们解码并执行它们。在特定实施例中,处理器1202可以包括用于数据、指令或地址的一个或更多个内部高速缓存。作为示例,而不是作为限制,处理器1202可以包括一个或更多个指令高速缓存、一个或更多个数据高速缓存、以及一个或更多个转译后备缓冲器(TLB)。在指令高速缓存中的指令可以是在存储器1204或存储设备1206中的指令的副本。
存储器1204可以用于存储数据、元数据和由处理器执行的程序。存储器1204可以包括一个或更多个易失性和非易失性存储器,例如随机存取存储器(“RAM”)、只读存储器(“ROM”)、固态盘(“SSD”)、闪存、相变存储器(“PCM”)或其他类型的数据储存器。存储器1204可以是内部或分布式存储器。
存储设备1206包括用于存储数据或指令的存储装置。作为示例,而不是作为限制,存储设备1206可以包括上述非暂时性计算机可读存储介质。存储设备1206可以包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器、或这些中的两个或更多个的组合。在适当的情况下,存储设备1206可以包括可移动或不可移动(或固定)介质。存储设备1206可以在计算设备1200的内部或外部。在特定实施例中,存储设备1206是非易失性固态存储器。在其他实施例中,存储设备1206包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)、或闪存、或这些中的两个或更多个的组合。
I/O接口1208允许用户向计算设备1200提供输入,从计算设备1200接收输出,以及以其他方式向计算设备1200传送数据和从计算设备1200接收数据。I/O接口1208可以包括鼠标、小键盘(keypad)或键盘、触摸屏、相机、光学扫描仪、网络接口、调制解调器、其他已知的I/O设备或这些I/O接口的组合。I/O接口1208可以包括用于向用户呈现输出的一个或更多个设备,包括但不限于图形引擎、显示器(例如显示屏)、一个或更多个输出驱动器(例如显示驱动器)、一个或更多个音频扬声器以及一个或更多个音频驱动器。在某些实施例中,I/O接口1208被配置为向显示器提供图形数据以呈现给用户。图形数据可以表示一个或更多个图形用户界面和/或可以服务于特定实现的任何其他图形内容。
通信接口1210可以包括硬件、软件或两者。无论如何,通信接口1210可以为计算设备1200与一个或更多个其他计算设备或网络之间的通信(例如,基于分组(packet-based)的通信)提供一个或更多个接口。作为示例而不是作为限制,通信接口1210可以包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络(例如WI-FI)进行通信的无线NIC(WNIC)或无线适配器。
另外或替代地,通信接口1210可以促进与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)或因特网的一个或更多个部分、或这些中的两个或更多个的组合的通信。这些网络中的一个或更多个网络的一个或更多个部分可以是有线的或无线的。作为示例,通信接口1210可以促进与无线PAN(WPAN)(例如,蓝牙WPAN)、WI-FI网络、WI-MAX网络、蜂窝电话网络(例如,全球移动通信系统(GSM)网络)、或其他合适的无线网络、或它们的组合进行通信。
通信基础设施1212可以包括将计算设备1200的部件彼此耦合的硬件、软件或两者。作为示例而不是作为限制,通信基础设施1212可以包括加速图形端口(AGP)或其他图形总线、扩展工业标准体系结构(EISA)总线、前端总线(FSB)、HYPERTRANSPORT(HT)互连、工业标准体系结构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线,微通道体系结构(MCA)总线、外围部件互连(PCI)总线、PCI-Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线、或其他合适的总线或其组合。
如上所述,在一个或更多个实施例中,网络系统104被链接到和/或实现为社交网络系统。社交网络系统可以使它的用户(例如个人或组织)能够与系统互动以及彼此互动。社交网络系统可以利用来自用户的输入来创建并在社交网络系统中存储与用户相关联的用户简档。用户简档可以包括人口统计信息、通信渠道信息以及关于用户的个人兴趣的信息。社交网络系统还可以用来自用户的输入来创建并存储用户与社交网络系统的其他用户的关系的记录,以及提供服务(例如,发帖墙(wall post)、照片分享、事件组织、消息传送、游戏或广告)以促进在用户之间或当中的社交互动。
社交网络系统可以存储用户的记录和在社交图中用户之间的关系,该社交图包括多个节点和连接节点的多条边。节点可以包括多个用户节点和多个概念节点。社交图的用户节点可以对应于社交网络系统的用户。用户可以是个人(人类用户)、实体(例如,企业、公司或第三方应用)或(例如,个人或实体的)团体。对应于用户的用户节点可以包括由用户提供的信息和由包括社交网络系统在内的各种系统收集的信息。
例如,用户可以提供他的或她的姓名、简档图片、居住城市、联系信息、出生日期、性别、婚姻状况、家庭状况、就业、教育背景、偏好、兴趣和将被包括在用户节点中的其他人口统计信息。社交图的每个用户节点可以具有相应的网页(通常称为简档页面)。响应于包括用户名的请求,社交网络系统可以访问对应于用户名的用户节点,并构建包括姓名、简档图片和与用户相关联的其他信息的简档页面。基于第一用户的一个或更多个隐私设置以及第一用户和第二用户之间的关系,第一用户的简档页面可以向第二用户显示第一用户的全部或部分信息。
概念节点可以对应于社交网络系统的概念。例如,概念可以表示现实世界的实体,例如电影、歌曲、运动队、名人、团体、餐馆、地方或地点。对应于概念的概念节点的管理用户可以通过提供概念的信息(例如,通过填写在线表格)来创建或更新概念节点,使得社交网络系统将信息与概念节点关联起来。例如但不是限制,与概念相关联的信息可以包括名称或标题、一幅或更多幅图像(例如,书籍的封面的图像)、网站(例如,URL地址)或联系信息(例如,电话号码、电子邮件地址)。社交图的每个概念节点可以对应于一个网页。例如,响应于包括名称的请求,社交网络系统可以访问对应于名称的概念节点,并构建包括名称和与概念相关联的其他信息的网页。
在一对节点之间的边可以表示在该对节点之间的关系。例如,在两个用户节点之间的边可以表示两个用户之间的友谊。对于另一个示例,社交网络系统可以构建概念节点(例如,餐馆、名人)的网页(或结构化文档),在网页中结合一个或更多个可选择按钮(例如,“赞”、“签到(check in)”)。用户可以使用由用户的客户端设备承载的web浏览器访问该页面,并选择可选择按钮,使得客户端设备向社交网络系统发送请求,以在用户的用户节点和概念的概念节点之间创建边,该边指示用户和概念之间的关系(例如,用户在餐馆签到,或者用户“喜欢”名人)。
作为示例,用户可以提供(或改变)他或她的居住城市,使得社交网络系统能够在对应于该用户的用户节点和对应于该用户声明为他或她的居住城市的城市的概念节点之间创建边。此外,任意两个节点之间的分离度(degree of separation)被定义为从一个节点遍历社交图到另外一个节点所需的最小跳数。两个节点之间的分离度可以被认为是由社交图中两个节点表示的用户之间或概念之间的相关性的度量。例如,具有通过边直接连接的用户节点(即,一级节点)的两个用户可以被描述为“关连的用户”或“朋友”。类似地,具有仅通过另一个用户节点连接的用户节点(即,二级节点)的两个用户可以被描述为“朋友的朋友”。
社交网络系统可以支持多种应用,例如照片分享、在线日历和事件、游戏、即时消息和广告。例如,社交网络系统还可以包括媒体分享能力。此外,社交网络系统可以允许用户将照片和其他多媒体文件发布到用户的简档页面(例如,时间线(timeline))或相册中,根据用户配置的隐私设置,社交网络系统的其他用户可以访问照片和其他多媒体文件。社交网络系统还可以允许用户配置事件。例如,第一用户可以用包括事件的时间和日期、事件的位置和被邀请参加事件的其他用户的属性来配置事件。被邀请的用户可以接收到事件的邀请并(例如通过接受邀请或拒绝它)做出回应。此外,社交网络系统可以允许用户维护个人日历。类似于事件,日历条目可以包括时间、日期、位置和其他用户的身份。
图13示出了社交网络系统的示例网络环境1300。在特定实施例中,社交网络系统1302可以包括一个或更多个数据储存器。在特定实施例中,社交网络系统1302可以存储社交图,该社交图包括用户节点、概念节点和节点之间的边,如前所述。每个用户节点可以包括对应于与用户相关联或描述用户的信息的一个或更多个数据对象。每个概念节点可以包括对应于与概念相关联的信息的一个或更多个数据对象。一对节点之间的每条边可以包括对应于与对应于该对节点的用户之间(或用户与概念之间,或概念之间)的关系相关联的信息的一个或更多个数据对象。
在特定实施例中,社交网络系统1302可以包括托管针对社交网络系统1302的操作的功能的一个或更多个计算设备(例如,服务器)。社交网络系统1302的用户可以使用诸如客户端设备1306的客户端设备来访问社交网络系统1302。在特定实施例中,客户端设备1306可以通过网络1304与社交网络系统1302交互。
客户端设备1306可以是台式计算机、膝上型计算机、平板计算机、个人数字助理(PDA)、车内或车外导航系统、智能电话或其他蜂窝或移动电话,或者移动游戏设备、其他移动设备或其他合适的计算设备。客户端设备1306可以执行一个或更多个客户端应用,例如web浏览器(例如,微软Windows Internet Explorer、火狐、苹果Safari、谷歌Chrome、Opera等),或本机或专用客户端应用(例如,用于iPhone或iPad的Facebook,用于安卓的Facebook等),以通过网络1304访问和查看内容。
网络1304可以代表客户端设备1306可以通过其访问社交网络系统1302的网络或网络集合(例如因特网、公司内联网、虚拟专用网络(VPN)、局域网(LAN)、无线局域网(WLAN)、蜂窝网络、广域网(WAN)、城域网(MAN)或两个或更多个这样的网络的组合)。
虽然这些方法、系统和用户界面利用了公开可获得的信息以及社交网络系统的用户提供的信息,但是这些信息的所有使用都要明确地服从所涉及的用户的所有隐私设置以及整个社交网络系统的隐私策略。
图14示出了示例社交图1400。在特定实施例中,社交网络系统1302可以在一个或更多个数据储存器中存储一个或更多个社交图1400。在特定实施例中,社交图1400可以包括多个节点——其可以包括多个用户节点1402或多个概念节点1404——以及连接节点的多条边1406。出于教导的目的,图14中示出的示例社交图1400以二维视觉图表示示出。在特定实施例中,社交网络系统1302、客户端设备1306或第三方系统1308可以访问社交图1400和相关社交图信息以用于合适的应用。社交图1400的节点和边可以作为数据对象被存储在例如数据储存器(例如社交图数据库)中。这种数据储存器可以包括社交图1400的节点或边的一个或更多个可搜索或可查询的索引。
在特定实施例中,用户节点1402可以对应于社交网络系统1302的用户。作为示例而不是作为限制,用户可以是与社交网络系统1302或通过社交网络系统1302进行交互或通信的个人(人类用户)、实体(例如,企业、公司或第三方应用)或(例如,个人或实体的)团体。在特定实施例中,当用户向社交网络系统1302注册账户时,社交网络系统1302可以创建对应于用户的用户节点1402,并将用户节点1402存储在一个或更多个数据储存器中。本文描述的用户和用户节点1402在适当的情况下可以指注册的用户和与注册的用户相关联的用户节点1402。另外或作为备选方案,在适当的情况下,本文描述的用户和用户节点1402可以指没有向社交网络系统1302注册的用户。在特定实施例中,用户节点1402可以与由用户提供的信息或由各种系统(包括社交网络系统1302)收集的信息相关联。作为示例而不是作为限制,用户可以提供他或她的姓名、简档图片、联系信息、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、偏好、兴趣或其他人口统计信息。社交图的每个用户节点可以具有相应的网页(通常称为简档页面)。响应于包括用户名的请求,社交网络系统可以访问对应于该用户名的用户节点,并构建包括名称、简档图片和与用户相关联的其他信息的简档页面。基于第一用户的一个或更多个隐私设置以及第一用户和第二用户之间的关系,第一用户的简档页面可以向第二用户显示第一用户的全部或部分信息。
在特定实施例中,概念节点1404可以对应于概念。作为示例而不是作为限制,概念可以对应于地点(例如,电影院、餐馆、地标或城市);网站(例如,与社交网络系统1302相关联的网站或与web应用服务器相关联的第三方网站);实体(例如,个人、企业、团体、运动队或名人);资源(例如,音频文件、视频文件、数字照片、文本文件、结构化文档或应用),其可以位于社交网络系统1302内或外部服务器(例如web应用服务器)上;不动产或知识产权(例如,雕塑、绘画、电影、游戏、歌曲、想法、照片或书面作品);游戏;活动;想法或理论;另一个合适的概念;或者两个或更多个这样的概念。概念节点1404可以与由用户提供的概念的信息或由各种系统(包括社交网络系统1302)收集的信息相关联。作为示例而不是作为限制,概念的信息可以包括名称或标题;一个或更多个图像(例如,书籍的封面的图像);位置(例如,地址或地理位置);网站(其可以与URL相关联);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息;或者这样的信息的任何合适的组合。在特定实施例中,概念节点1404可以与一个或更多个数据对象相关联,一个或更多个数据对象对应于与概念节点1404相关联的信息。在特定实施例中,概念节点1404可以对应于一个或更多个网页。
在特定实施例中,社交图1400中的节点可以表示网页(其可以被称为“简档页面”)或者由网页表示。简档页面可以由社交网络系统1302托管或是社交网络系统902可访问的。简档页面也可以在与第三方系统1308相关联的第三方网站上被托管。作为示例而不是作为限制,对应于特定外部网页的简档页面可以是特定外部网页,并且简档页面可以对应于特定概念节点1404。简档页面可以由其他用户的全部或选定子集可查看。作为示例而不是作为限制,用户节点1402可以具有相应的用户简档页面,其中相应的用户可以添加内容、做出声明或以其他方式表达他或她自己。作为另一示例而不是作为限制,概念节点1404可以具有相应的概念简档页面,其中一个或更多个用户可以添加内容、作出声明或表达他们自己,特别是关于对应于概念节点1404的概念。
在特定实施例中,概念节点1404可以表示由第三方系统1308托管的第三方网页或资源。第三方网页或资源除了其它元素以外还可以包括表示动作或活动的内容、可选择的图标或其他图标或其他可交互对象(其可以例如用JavaScript、AJAX或PHP代码实现)。作为示例而不是作为限制,第三方网页可以包括可选择的图标(例如“赞”、“签到(check in)”、“吃”、“推荐”或另一合适的动作或活动)。查看第三方网页的用户可以通过选择图标之一(例如,“吃”)来执行动作,使客户端设备1306向社交网络系统1302发送指示用户的动作的消息。响应于该消息,社交网络系统1302可以在对应于用户的用户节点1402和对应于第三方网页或资源的概念节点1404之间创建边(例如,“吃”边),并将边1406存储在一个或更多个数据储存器中。
在特定实施例中,社交图1400中的一对节点可以通过一条或更多条边1406连接到彼此。连接一对节点的边1406可以表示在该对节点之间的关系。在特定实施例中,边1406可以包括或表示对应于在一对节点之间的关系的一个或更多个数据对象或属性。作为示例而不是作为限制,第一用户可以指示第二用户是第一用户的“朋友”。响应于该指示,社交网络系统1302可以向第二用户发送“朋友请求”。如果第二用户确认“朋友请求”,则社交网络系统1302可以在社交图1400中创建将第一用户的用户节点1402连接到第二用户的用户节点1402的边1406,并将边1406作为社交图信息存储在一个或更多个数据储存器中。在图14的示例中,社交图1400包括指示在用户“A”和用户“B”的用户节点1402之间的朋友关系的边1406,以及指示在用户“C”和用户“B”的用户节点1402之间的朋友关系的边。尽管本公开描述或示出了连接特定用户节点1402的具有特定属性的特定边1406,但是本公开设想了连接用户节点1402的具有任何适当属性的任何适当边1406。作为示例而不是作为限制,边1406可以表示友谊、家庭关系、商业或雇佣关系、粉丝关系、关注者关系、访问者关系、订购者关系、上级/下级关系、互惠关系、非互惠关系、另一种合适类型的关系或两种或更多种这样的关系。此外,尽管本公开一般将节点描述为被连接,但是本公开也将用户或概念描述为被连接。在本文,对被连接的用户或概念的引用在适当的情况下可以指在社交图1400中由一条或更多条边1406连接的对应于那些用户或概念的节点。
在特定实施例中,在用户节点1402和概念节点1404之间的边1406可以表示由与用户节点1402相关联的用户朝着与概念节点1404相关联的概念执行的特定动作或活动。作为示例而不是作为限制,如图14所示,用户可以“赞”、“出席”、“播放”、“收听”、“烹饪”、“工作”或“观看”概念,其中每个可以对应于边类型或子类型。对应于概念节点1404的概念简档页面可以包括例如可选择的“签到”图标(例如,可点击的“签到”图标)或可选择的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,社交网络系统1302可以响应于对应于相应动作的用户动作来创建“收藏夹”边或“签到”边。作为另一示例而不是作为限制,用户(用户“C”)可以使用特定的应用(声田(SPOTIFY),其为在线音乐应用)来收听特定的歌曲(“漫步(Ramble On)”)。在这种情况下,社交网络系统1302可以在对应于用户的用户节点1402和对应于歌曲和应用的概念节点1404之间创建“收听”边1406和“使用”边(如图14所示),以指示用户收听了歌曲并使用了应用。此外,社交网络系统1302可以在对应于歌曲和应用的概念节点1404之间创建“播放”边1406(如图14所示),以指示特定歌曲被特定应用播放。在这种情况下,“播放”边1406对应于由外部应用(声田)对外部音频文件(歌曲“想象(Imagine)”)执行的动作。尽管本公开描述了连接用户节点1402和概念节点1404的具有特定属性的特定边1406,但是本公开设想了连接用户节点1402和概念节点1404的具有任何适当属性的任何适当边1406。此外,尽管本公开描述了表示单个关系的在用户节点1402和概念节点1404之间的边,但是本公开设想了表示一个或更多个关系的在用户节点1402和概念节点1404之间的边。作为示例而不是作为限制,边1406可以表示用户喜欢并使用了特定概念。替代地,另一条边1406可以表示用户节点1402和概念节点1404之间(如图14所示,用户“E”的用户节点1402和“声田”的概念节点1404之间)每种类型的关系(或多个单一关系)。
在特定实施例中,社交网络系统1302可以在社交图1400中的用户节点1402和概念节点1404之间创建边1406。作为示例而不是作为限制,(例如,通过使用由用户的客户端设备1306托管的web浏览器或专用应用)查看概念简档页面的用户可以通过点击或选择“赞”图标来指示他或她喜欢由概念节点1404表示的概念,这可以使用户的客户端设备1306向社交网络系统1302发送指示用户喜欢与概念简档页面相关联的概念的消息。响应于该消息,社交网络系统1302可以在与用户相关联的用户节点1402和概念节点1404之间创建边1406,如由在用户和概念节点1404之间的“赞”边1406所示。在特定实施例中,社交网络系统1302可以将边1406存储在一个或更多个数据储存器中。在特定实施例中,边1406可以由社交网络系统1302响应于特定用户动作而自动形成。作为示例而不是作为限制,如果第一用户上传图片、观看电影或收听歌曲,则可以在对应于第一用户的用户节点1402和对应于那些概念的概念节点1404之间形成边1406。尽管本公开描述了以特定方式形成特定边1406,但是本公开设想了以任何合适的方式形成任何合适的边1406。
在特定实施例中,广告可以是文本(其可以是HTML链接的)、一个或更多个图像(其可以是HTML链接的)、一个或更多个视频、音频、一个或更多个ADOBE FLASH文件、这些的合适组合、或者在一个或更多个网页上、在一个或更多个电子邮件中或者结合由用户请求的搜索结果呈现的以任何合适的数字格式的任何其他合适的广告。另外或作为备选方案,广告可以是一个或更多个赞助动态(sponsored story)(例如,在社交网络系统1302上的动态消息或即时动态栏(ticker item))。赞助动态可以是用户的社交动作(例如“点赞”页面、“点赞”或评论页面上的帖子、对与页面相关联的事件进行回复(RSVP)、对在页面上发布的问题进行投票、在某个地方签到、使用应用或玩游戏、或者“点赞”或分享网站),广告商例如,通过使社交动作呈现在用户的简档页面或其他页面的预定区域内、与和广告商相关联的附加信息一起呈现、在其他用户的动态消息或即时动态中被提升顺序(bump up)或以其他方式突出显示来推广社交动作、或者以其他方式推广社交动作。广告商可以付费来推广社交动作。作为示例而不是作为限制,广告可以被包括在搜索结果页面的搜索结果当中,其中赞助内容优于非赞助内容被推广。
在特定实施例中,广告可以被请求用于在社交网络系统网页、第三方网页或其他页面中显示。广告可以显示在页面的专用部分中,例如在页面的顶部处的标语(banner)区域中、在页面的侧面处的栏中、在页面的GUI中、在弹出窗口中、在下拉菜单中、在页面的输入字段中、在页面的内容的顶部之上或相对于页面的其他地方。另外或作为备选方案,广告可以显示在应用内。广告可以显示在专用页面内,在用户可以访问页面或利用应用之前要求用户与广告互动或观看广告。用户可以例如通过web浏览器来观看广告。
用户可以以任何合适的方式与广告互动。用户可以点击或以其他方式选择广告。通过选择广告,用户可以被引导到(或由用户正在使用的浏览器或其他应用)与广告相关联的页面。在与广告相关联的页面处,用户可以采取额外的动作,例如购买与广告相关联的产品或服务、接收与广告相关联的信息、或者订阅与广告相关联的简讯。可以通过选择广告的部件(如“播放按钮”)来播放具有音频或视频的广告。可选地,通过选择广告,社交网络系统1302可以执行或修改用户的特定动作。
广告还可以包括社交网络系统功能,用户可以与社交网络系统功能互动。作为示例而不是作为限制,广告可以使用户能够通过选择与赞同(endorsement)相关联的图标或链接来“点赞”或以其他方式来赞同该广告。作为另一示例而不是作为限制,广告可以使用户能够(例如,通过执行查询)搜索与广告商相关的内容。类似地,用户可以与另一用户(例如,通过社交网络系统1302)分享广告或(例如,通过社交网络系统1302)回复(RSVP)与广告相关联的事件。另外或作为备选方案,广告可以包括被引导到用户的社交网络系统背景。作为示例而不是作为限制,广告可以显示关于在社交网络系统1302内的已经采取与广告的主题相关联的动作的用户的朋友的信息。
在特定实施例中,社交网络系统1302可以确定各种社交图实体彼此之间的社交图亲和力(本文中其可以被称为“亲和力”)。亲和力可以表示在关联于在线社交网络的特定对象(诸如用户、概念、内容、动作、广告)、关联于在线社交网络的其他对象、或其任何合适的组合之间的关系强度或感兴趣程度。还可以针对与第三方系统或其他合适的系统相关联的对象来确定亲和力。可以为每个用户、主题或内容类型建立对社交图实体的总体亲和力。基于对与社交图实体相关联的动作或关系的持续监控,总体亲和力可以改变。尽管本公开描述了以特定方式确定特定亲和力,但是本公开设想了以任何合适的方式确定任何合适的亲和力。
在特定实施例中,社交网络系统1302可以使用亲和力系数(本文中其可以被称为“系数”)来估量或量化社交图亲和力。系数可以表示或量化与在线社交网络相关联的特定对象之间的关系强度。系数还可以表示基于用户对特定动作的兴趣来估量用户将执行该动作的预测概率的概率或函数。以这种方式,可以基于用户的先前动作来预测用户的未来动作,其中可以至少部分地基于用户的动作的历史来计算系数。系数可以用于预测可位于在线社交网络内部或外部的任意数量的动作。作为示例而不是作为限制,这些动作可以包括各种类型的通信,例如发送消息、发布内容或对内容进行评论;各种类型的观察动作,例如访问或查看简档页面、媒体或其他合适的内容;关于两个或更多个社交图实体的各种类型的巧合信息,例如在同一群组中、在同一照片中被标记、在同一位置处签到或参加同一事件;或其他合适的动作。尽管本公开描述了以特定方式估量亲和力,但是本公开设想了以任何合适的方式估量亲和力。
在特定实施例中,社交网络系统1302可以使用各种因素来计算系数。这些因素可以包括例如,用户动作、对象之间的关系类型、位置信息、其他合适的因素或其任意组合。在特定实施例中,当计算系数时,不同的因素可以被不同地加权。每个因素的权重可以是静态的,或者可以根据例如用户、关系类型、动作类型、用户的位置等来改变权重。可以根据因素的权重来组合这些因素的等级(rating),以确定用户的总系数。作为示例而不是作为限制,特定用户动作可以被分配等级和权重,而与特定用户动作相关联的关系被分配等级和相关权重(例如,因此权重总计为250%)。为了计算用户对特定对象的系数,分配给用户动作的等级可以包括例如,总系数的60%,而用户和该对象之间的关系可以包括总系数的40%。在特定实施例中,在确定用于计算系数的各种因素的权重时,社交网络系统1302可以考虑各种变量,例如,自信息被访问以来的时间、衰减因子、访问频率、与信息的关系或与对象的关系(关于该对象的信息被访问)、与关连到对象的社交图实体的关系、用户动作的短期或长期平均值、用户反馈、其他合适的变量或其任意组合。作为示例而不是作为限制,系数可以包括衰减因子,该衰减因子使由特定动作提供的信号的强度随时间而衰减,使得在计算系数时更近的动作更相关。等级和权重可以基于系数所基于的动作的持续跟踪而被持续更新。可以采用任何类型的过程或算法来对每个因素的等级和分配给这些因素的权重进行分配、组合、平均等。在特定实施例中,社交网络系统1302可以使用针对历史动作和过去的用户响应而训练的机器学习算法或者使用通过将用户暴露于各种选项并估量响应而从用户那里传送(farm)的数据来确定系数。尽管本公开描述了以特定方式计算系数,但是本公开设想了以任何合适的方式计算系数。
在特定实施例中,社交网络系统1302可以基于用户的动作来计算系数。社交网络系统1302可以监控在线社交网络上、在第三方系统1308上、在其他合适的系统上或其任意组合上的这些动作。可以跟踪或监控任何合适类型的用户动作。典型的用户动作包括查看简档页面、创建或发布内容、与内容互动、加入群组、列出并确认出席活动、在位置处签到、点赞特定页面、创建页面以及执行促进社交动作的其他任务。在特定实施例中,社交网络系统1302可以基于用户对特定类型内容的动作来计算系数。内容可以与在线社交网络、第三方系统1308或另一合适的系统相关联。内容可以包括用户、简档页面、帖子、新闻动态(newsstories)、标题、即时消息、聊天室会话、电子邮件、广告、图片、视频、音乐、其他合适的对象或其任意组合。社交网络系统1302可以分析用户的动作,以确定一个或更多个动作是否指示对主题、内容、其他用户等的亲和力。作为示例而不是作为限制,如果用户频繁发布与“咖啡”或其变型相关的内容,则社交网络系统1302可以确定用户关于概念“咖啡”具有高系数。特定动作或动作类型可以被分配比其他动作更高的权重和/或等级,这可能影响计算的总系数。作为示例而不是作为限制,如果第一用户向第二用户发送电子邮件,则该动作的权重或等级可能比如果第一用户简单地查看第二用户的用户简档页面更高。
在特定实施例中,社交网络系统1302可以基于特定对象之间的关系类型来计算系数。参考社交图1400,社交网络系统1302可以在计算系数时分析连接特定用户节点1402和概念节点1404的边1406的数量和/或类型。作为示例而不是作为限制,通过配偶型边(表示两个用户结婚了)连接的用户节点1402可以被分配比通过朋友型边连接的用户节点1402更高的系数。换句话说,根据分配给特定用户的动作和关系的权重,可以确定对关于用户配偶的内容的总体亲和力高于对关于用户朋友的内容的总体亲和力。在特定实施例中,用户与另一对象的关系可以影响关于计算该对象的系数的用户动作的权重和/或等级。作为示例而不是作为限制,如果用户在第一张照片中被标记但仅仅赞第二张照片,则社交网络系统1302可以确定用户关于第一张照片具有比第二张照片更高的系数,因为具有与内容的标记类型关系可以被分配比具有与内容的赞类型关系更高的权重和/或等级。在特定实施例中,社交网络系统1302可以基于一个或更多个第二用户与特定对象的关系来计算第一用户的系数。换句话说,其他用户与对象的关连和系数可能影响第一用户关于该对象的系数。作为示例而不是作为限制,如果第一用户关连到一个或更多个第二用户或者对于一个或更多个第二用户具有高系数,并且那些第二用户关连到特定对象或者对于特定对象具有高系数,则社交网络系统1302可以确定第一用户对于特定对象也应当具有相对高的系数。在特定实施例中,系数可以基于特定对象之间的分离度(degree of separation)。任意两个节点之间的分离度被定义为从一个节点到另一个节点遍历社交图所需的最小跳数。两个节点之间的分离度可以被认为是由社交图中两个节点表示的用户之间或概念之间的相关性的度量。例如,具有通过边直接连接的用户节点(即,一级节点)的两个用户可以被描述为“关连的用户”或“朋友”。类似地,具有仅通过另一个用户节点连接的用户节点(即,二级节点)的两个用户可以被描述为“朋友的朋友”。较低的系数可以表示第一用户将分享对在社交图1400中间接地关连到第一用户的用户的内容对象有兴趣的可能性降低。作为示例而不是作为限制,在社交图1400中更靠近(即,分离度更少)的社交图实体可以比在社交图1400中更远离的实体具有更高的系数。
在特定实施例中,社交网络系统1302可以基于位置信息来计算系数。地理上彼此更靠近的对象可以被认为比更远的对象彼此更相关或更感兴趣。在特定实施例中,用户对特定对象的系数可以基于对象的位置和与用户相关联的当前位置(或用户的客户端设备1306的位置)的接近度。第一用户可能对更靠近第一用户的其他用户或概念更感兴趣。作为示例而不是作为限制,如果用户距机场1英里且距加油站2英里,则社交网络系统1302可以基于机场与用户的接近度来确定用户对机场比对加油站有更高的系数。
在特定实施例中,社交网络系统1302可以基于系数信息执行关于用户的特定动作。系数可以用于基于用户对特定动作的兴趣来预测用户是否将执行该动作。当生成或向用户呈现任何类型的对象(例如广告、搜索结果、新闻动态、媒体、消息、通知或其他合适的对象)时,可以使用系数。该系数也可以被用来适当地对这些对象进行排列(rank)和排序(order)。以这种方式,社交网络系统1302可以提供与用户的兴趣和当前环境相关的信息,增加了他们将找到这种感兴趣的信息的可能性。在特定实施例中,社交网络系统1302可以基于系数信息生成内容。可以基于特定于用户的系数来提供或选择内容对象。作为示例而不是作为限制,该系数可以用于为用户生成媒体,其中可以向用户呈现用户关于媒体对象具有高总体系数的媒体。作为另一个示例而不是作为限制,系数可以用于为用户生成广告,其中可以向用户呈现用户对于被登广告的对象具有高的总系数的广告。在特定实施例中,社交网络系统1302可以基于系数信息生成搜索结果。可以基于与查询用户的搜索结果相关联的系数来对特定用户的搜索结果进行评分或排序。作为示例而不是作为限制,对应于具有较高系数的对象的搜索结果在搜索结果页面上的排名可以高于对应于具有较低系数的对象的结果。
在特定实施例中,社交网络系统1302可以响应于来自特定系统或过程的系数请求来计算系数。为了预测用户在给定情况下可能采取动作(或者可能是动作的对象)的可能性,任何过程都可以请求关于用户的计算出的系数。请求还可以包括用于计算系数的各种因素使用的一组权重。该请求可以来自在线社交网络上运行的进程(process)、来自第三方系统1308(例如,经由API或其他通信渠道)、或者来自另一个合适的系统。响应于该请求,社交网络系统1302可以计算系数(或者如果先前已经计算并存储了系数信息,则访问系数信息)。在特定实施例中,社交网络系统1302可以估量关于特定过程的亲和力。不同的过程(在线社交网络的内部和外部)可以请求关于特定对象或对象集的系数。社交网络系统1302可以提供与请求亲和力度量的特定过程相关的亲和力度量。以这种方式,每个过程接收针对不同上下文调整的亲和力度量,其中该过程将使用亲和力度量。
结合社交图亲和力和亲和力系数,特定实施例可以利用在2006年8月8日提交的美国专利申请第11/503093号、2010年12月22日提交的美国专利申请第12/977027号、2010年12月23日提交的美国专利申请第12/978265号和2012年10月1日提交的美国专利申请第13/632869号中公开的一个或更多个系统、部件、元件、功能、方法、操作或步骤,每一申请都通过引用以其整体并入本文。
在特定实施例中,在线社交网络的一个或更多个内容对象可以与隐私设置相关联。例如,对象的隐私设置(或“访问设置”)可以以任何合适的方式,诸如与对象相关联地、在授权服务器上用索引、以另一种合适的方式、或其任何组合被存储。对象的隐私设置可以指定可以如何使用在线社交网络来访问(例如,查看或分享)对象(或与对象相关联的特定信息)。在对象的隐私设置允许特定用户访问该对象的场合,该对象可以被描述为相对于该用户是“可见的”。作为示例而不是作为限制,在线社交网络的用户可以为用户简档页面指定识别可以访问在用户简档页面上的工作经历信息的一组用户的隐私设置,因而排除其他用户访问该信息。在特定实施例中,隐私设置可以指定不应当被允许访问与对象相关联的某些信息的用户的“黑名单”。换句话说,黑名单可以指定一个或更多个用户或实体,对象对这些用户或实体是不可见的。作为示例而不是作为限制,用户可以指定不可以访问与用户相关联的相册的一组用户,因而排除那些用户访问相册(同时也可能允许不在该组用户内的某些用户访问相册)。在特定实施例中,隐私设置可以与特定社交图元素相关联。社交图元素(例如节点或边)的隐私设置可以指定可以如何使用在线社交网络来访问社交图元素、与社交图元素相关联的信息、或与社交图元素相关联的内容对象。作为示例而不是作为限制,对应于特定照片的特定概念节点1404可以具有指定照片只能由在照片中标记的用户及他们的朋友访问的隐私设置。在特定实施例中,隐私设置可以允许用户决定加入或决定退出使他们的动作由社交网络系统1302记录或者与其他系统(例如,第三方系统1308)分享。在特定实施例中,与对象相关联的隐私设置可以指定被允许的访问或访问的拒绝的任何合适的粒度。作为示例而不是作为限制,可以为特定用户(例如,只有我、我的室友和我的老板)、在特定分离度内的用户(例如,朋友或朋友的朋友)、用户团体(例如,游戏俱乐部、我的家人)、用户网络(例如,特定雇主的雇员、特定大学的学生或校友)、所有用户(“公众”)、无用户(“私人的”)、第三方系统的用户、特定应用(例如,第三方应用、外部网站)、其他适当的用户或实体、或其任何组合来指定访问或访问的拒绝。尽管本公开描述了以特定方式使用特定隐私设置,但是本公开设想了以任何合适的方式使用任何合适的隐私设置。
在特定实施例中,一个或更多个服务器可以是用于实施隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)的对存储在数据储存器中的特定对象的请求,社交网络系统1302可以向数据储存器发送对该对象的请求。该请求可以识别与该请求相关联的用户,并且只有在授权服务器基于与该对象相关联的隐私设置确定该用户被授权访问该对象时才可以被发送给该用户(或者该用户的客户端设备1306)。如果请求用户未被授权访问该对象,则授权服务器可以阻止所请求的对象从数据储存器中被检索,或者可以阻止所请求的对象被发送给用户。在搜索查询上下文中,只有在查询用户被授权访问对象时才可以将对象生成为搜索结果。换句话说,对象必须具有对查询用户可见的可见性。如果对象具有对用户不可见的可见性,则可以从搜索结果中排除该对象。尽管本公开描述了以特定方式实施隐私设置,但是本公开设想了以任何合适的方式实施隐私设置。
在前述说明书中,已经参照本发明的特定示例性实施例描述了本发明。参考本文讨论的细节描述了本发明的各种实施例和方面,并且附图说明了各种实施例。上面的描述和附图是对本发明的说明,不应被理解为对本发明的限制。描述了许多具体细节以提供对本发明的各种实施例的透彻理解。
在不脱离本发明的精神或基本特征的情况下,本发明可以以其他特定形式实施。所描述的实施例在所有方面都应被认为仅仅是示意性的,而不是限制性的。例如,本文描述的方法可以用更少或更多的步骤/动作来执行,或者这些步骤/动作可以以不同的顺序来执行。另外,本文描述的步骤/动作可以重复,或者彼此并行地或者与相同或相似步骤/动作的不同实例并行地执行。因此,本发明的范围由所附权利要求书而不是由前面的描述来指示。在权利要求的等同含义和范围内的所有变化都将被包含在它们的范围内。
Claims (35)
1.一种非暂时性计算机可读介质,其上存储了指令,所述指令当由至少一个处理器执行时,使计算设备:
检测对与产品的数字模型相关联的行动召唤的选择;
激活所述计算设备上的网络系统应用的相机界面,其中激活所述相机界面包括捕获相机流并在所述网络系统应用的相机界面内提供所述相机流;和
通过在所述网络系统应用的相机界面内结合所述相机流渲染所述产品的数字模型来生成增强现实体验。
2.根据权利要求1所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
在所述相机流内检测人的面部;
在所述相机流内识别所述面部的一个或更多个特征;和
其中结合所述相机流渲染所述产品的数字模型包括:基于所述面部的所识别的一个或更多个特征在所述相机流内的位置,将所述产品的数字模型放置在所述相机流的一部分之上。
3.根据权利要求1所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
响应于检测到对所述行动召唤的选择,向网络系统提供对所述产品的数字模型的请求;和
在所述计算设备处接收所述产品的数字模型。
4.根据权利要求1所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
在所述相机界面内提供效果菜单,所述效果菜单包括对应于所述产品的数字模型的可选择图标;和
通过检测对所述效果菜单内的所述可选择图标的选择,检测对与所述产品的数字模型相关联的所述行动召唤的选择。
5.根据权利要求1所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
检测所述产品在显示在所述计算设备的图形用户界面上的数字媒体内被描绘;
确定所述数字媒体内描绘的所述产品的所述数字模型存在;和
基于确定所述数字媒体内描绘的所述产品的所述数字模型存在,结合所显示的数字媒体提供所述行动召唤。
6.根据权利要求1所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
通过与所述产品相关联的第三方网站提供所述行动召唤;和
通过所述第三方网站检测对所述行动召唤的选择。
7.根据权利要求1所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备经由与所述网络系统应用相关联的网络系统的共同用户的实况视频馈送并结合所述产品的数字模型来提供所述行动召唤。
8.根据权利要求1所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
识别与所述数字模型相关联的背景效果;和
在所述网络系统应用的相机界面内,响应于识别到与所述数字模型相关联的背景效果,结合所述产品的所渲染的数字模型提供所述背景效果。
9.根据权利要求1所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
响应于检测到对与所述产品的数字模型相关联的行动召唤的选择,接收多个数字模型,所述多个数字模型包括所述产品的数字模型和对应于所述产品的相关产品的附加数字模型;和
在所述相机界面内提供与查看所述相关产品的数字模型相关联的可选择图标。
10.根据权利要求9所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
检测对与查看所述相关产品的数字模型相关联的可选择图标的选择;和
在所述网络系统应用的相机界面内并结合所述产品的数字模型,结合所述相机流渲染所述相关产品的数字模型。
11.一种方法,包括:
由至少一个处理器生成产品的数字模型;
检测对与所述产品的数字模型相关联的行动召唤的选择;和
响应于检测到对所述行动召唤的选择,向客户端设备提供所述数字模型,使得所述客户端设备通过在网络系统应用的相机界面内渲染所述产品的数字模型,使得所述产品的数字模型出现在所述客户端设备捕获的相机流之上,来提供增强现实体验。
12.根据权利要求11所述的方法,其中,生成所述产品的数字模型包括:
生成所述产品的网格模型,所述网格模型包括与所述产品相关联的结构信息和深度信息;
生成UV图,所述UV图包括与所述产品相关联的表面外观信息;和
组合所述UV图和所述网格模型,以创建所述产品的数字模型。
13.根据权利要求12所述的方法,其中,生成所述产品的数字模型还包括将所述网格模型的点映射到在所述客户端设备捕获的相机流内检测到的面部的对应参考特征。
14.根据权利要求13所述的方法,其中,提供所述增强现实体验包括:基于检测到的面部的参考特征的识别位置和所述产品的网格模型的对应映射点,在所述相机流内的位置渲染所述产品的数字模型。
15.根据权利要求11所述的方法,还包括:
在服务器设备处从所述客户端设备接收所述相机流;
由所述至少一个处理器,通过在所述相机流内渲染所述产品的数字模型来生成所述增强现实体验;和
其中向所述客户端设备提供所述数字模型包括向所述客户端设备提供所述增强现实体验。
16.根据权利要求15所述的方法,还包括:
向与所述客户端设备的用户相关联的网络系统的共同用户的一个或更多个客户端设备广播所述增强现实体验。
17.根据权利要求11所述的方法,还包括:
从所述客户端设备接收增强视频,所述增强视频包括所述相机流和出现在所述相机流之上的所述产品的所渲染的数字模型;和
向与所述客户端设备的用户相关联的网络系统的一个或更多个共同用户的一个或更多个客户端设备广播所述增强视频。
18.一种系统,包括:
至少一个处理器;
至少一个非暂时性计算机可读存储介质,其存储指令,所述指令当被所述至少一个处理器执行时,使所述系统:
检测对与产品的数字模型相关联的行动召唤的选择;
激活所述计算设备上的网络系统应用的相机界面,其中激活所述相机界面包括捕获相机流并在所述网络系统应用的相机界面内提供所述相机流;和
通过在所述网络系统应用的相机界面内结合所述相机流渲染所述产品的数字模型来生成增强现实体验。
19.根据权利要求18所述的系统,其中,所述指令当由所述至少一个处理器执行时,使所述系统:
在所述相机流内检测人的面部;
在所述相机流内识别所述面部的一个或更多个特征;和
其中结合所述相机流渲染所述产品的数字模型包括:基于所述面部的所识别的一个或更多个特征在所述相机流内的位置,将所述产品的数字模型放置在所述相机流的一部分之上。
20.根据权利要求18所述的系统,其中,所述数字模型包括网格模型,所述网格模型包括与对象的对应参考特征相关联的顶点,并且其中,所述指令在由所述至少一个处理器执行时使所述系统:
在所述相机流内检测所述对象;
确定检测到的对象的参考特征在所述相机流内的位置;和
基于所述检测到的对象的参考特征在所述相机流内的所确定的位置,在所述相机流内的位置渲染所述产品的数字模型。
21.一种非暂时性计算机可读介质,其上存储了指令,所述指令当由至少一个处理器执行时,使计算设备:
检测对与产品的数字模型相关联的行动召唤的选择;
激活所述计算设备上的网络系统应用的相机界面,其中激活所述相机界面包括捕获相机流并在所述网络系统应用的相机界面内提供所述相机流;和
通过在所述网络系统应用的相机界面内结合所述相机流渲染所述产品的数字模型来生成增强现实体验。
22.根据权利要求21所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
在所述相机流内检测人的面部;
在所述相机流内识别所述面部的一个或更多个特征;和
其中结合所述相机流渲染所述产品的数字模型包括:基于所述面部的所识别的一个或更多个特征在所述相机流内的位置,将所述产品的数字模型放置在所述相机流的一部分之上。
23.根据权利要求21或22所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
响应于检测到对所述行动召唤的选择,向网络系统提供对所述产品的数字模型的请求;和
在所述计算设备处接收所述产品的数字模型。
24.根据权利要求21至23中任一项所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
在所述相机界面内提供效果菜单,所述效果菜单包括对应于所述产品的数字模型的可选择图标;和
通过检测对所述效果菜单内的所述可选择图标的选择,检测对与所述产品的数字模型相关联的所述行动召唤的选择;
和/或
其中所述指令在由所述至少一个处理器执行时使所述计算设备:
检测所述产品在显示在所述计算设备的图形用户界面上的数字媒体内被描绘;
确定所述数字媒体内描绘的所述产品的所述数字模型存在;和
基于确定所述数字媒体内描绘的所述产品的所述数字模型存在,结合所显示的数字媒体提供所述行动召唤。
25.根据权利要求21至24中任一项所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
通过与所述产品相关联的第三方网站提供所述行动召唤;和
经由所述第三方网站检测对所述行动召唤的选择;
和/或
其中所述指令在由所述至少一个处理器执行时,使所述计算设备经由与所述网络系统应用相关联的网络系统的共同用户的实况视频馈送并结合所述产品的数字模型来提供所述行动召唤。
26.根据权利要求21至25中任一项所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
识别与所述数字模型相关联的背景效果;和
在所述网络系统应用的相机界面内,响应于识别到与所述数字模型相关联的背景效果,结合所述产品的所渲染的数字模型提供所述背景效果。
27.根据权利要求21至26中任一项所述的非暂时性计算机可读介质,其中,所述指令当由所述至少一个处理器执行时,使所述计算设备:
响应于检测到对与所述产品的数字模型相关联的行动召唤的选择,接收多个数字模型,所述多个数字模型包括所述产品的数字模型和对应于所述产品的相关产品的附加数字模型;和
在所述相机界面内提供与查看所述相关产品的数字模型相关联的可选择图标;
可选地,其中所述指令当由所述至少一个处理器执行时,使所述计算设备:
检测对与查看所述相关产品的数字模型相关联的可选择图标的选择;和
在所述网络系统应用的相机界面内并结合所述产品的数字模型,结合所述相机流渲染所述相关产品的数字模型。
28.一种方法,包括:
由至少一个处理器生成产品的数字模型;
检测对与所述产品的数字模型相关联的行动召唤的选择;和
响应于检测到对所述行动召唤的选择,向客户端设备提供所述数字模型,使得所述客户端设备通过在网络系统应用的相机界面内渲染所述产品的数字模型,使得所述产品的数字模型出现在所述客户端设备捕获的相机流之上,来提供增强现实体验。
29.根据权利要求28所述的方法,其中生成所述产品的数字模型包括:
生成所述产品的网格模型,所述网格模型包括与所述产品相关联的结构信息和深度信息;
生成UV图,所述UV图包括与所述产品相关联的表面外观信息;和
组合所述UV图和所述网格模型,以创建所述产品的数字模型。
30.根据权利要求29所述的方法,其中,生成所述产品的数字模型还包括将所述网格模型的点映射到在所述客户端设备捕获的相机流内检测到的面部的对应参考特征。
31.根据权利要求30所述的方法,其中,提供所述增强现实体验包括:基于检测到的面部的参考特征的识别位置和所述产品的网格模型的对应映射点,在所述相机流内的位置渲染所述产品的数字模型。
32.根据权利要求30或31所述的方法,还包括:
在服务器设备处从所述客户端设备接收所述相机流;
由所述至少一个处理器通过在所述相机流内渲染所述产品的数字模型来生成所述增强现实体验;和
其中向所述客户端设备提供所述数字模型包括向所述客户端设备提供所述增强现实体验;
可选地,所述方法还包括:
向与所述客户端设备的用户相关联的网络系统的共同用户的一个或更多个客户端设备广播所述增强现实体验。
33.根据权利要求30至32中任一项所述的方法,还包括:
从所述客户端设备接收增强视频,所述增强视频包括所述相机流和出现在所述相机流之上的所述产品的所渲染的数字模型;和
向与所述客户端设备的用户相关联的网络系统的一个或更多个共同用户的一个或更多个客户端设备广播所述增强视频。
34.一种系统,包括:
至少一个处理器;
至少一个非暂时性计算机可读存储介质,其存储指令,所述指令当被所述至少一个处理器执行时,使所述系统:
检测对与产品的数字模型相关联的行动召唤的选择;
激活所述计算设备上的网络系统应用的相机界面,其中激活所述相机界面包括捕获相机流并在所述网络系统应用的相机界面内提供所述相机流;和
通过在所述网络系统应用的相机界面内结合所述相机流渲染所述产品的数字模型来生成增强现实体验。
35.根据权利要求34所述的系统,其中,所述指令当被所述至少一个处理器执行时,使所述系统:
在所述相机流内检测人的面部;
在所述相机流内识别所述面部的一个或更多个特征;和
其中结合所述相机流渲染所述产品的数字模型包括:基于所述面部的所识别的一个或更多个特征在所述相机流内的位置,将所述产品的数字模型放置在所述相机流的一部分之上;
和/或
其中所述数字模型包括网格模型,所述网格模型包括与对象的对应参考特征相关联的顶点,并且其中,所述指令在由所述至少一个处理器执行时使所述系统:
在所述相机流内检测所述对象;
确定检测到的对象的参考特征在所述相机流内的位置;和
基于所述检测到的对象的参考特征在所述相机流内的所确定的位置,在所述相机流内的位置渲染所述产品的数字模型。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/839,339 US10712811B2 (en) | 2017-12-12 | 2017-12-12 | Providing a digital model of a corresponding product in a camera feed |
US15/839,339 | 2017-12-12 | ||
PCT/US2017/066118 WO2019117893A1 (en) | 2017-12-12 | 2017-12-13 | Providing a digital model of a corresponding product in a camera feed |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111712848A true CN111712848A (zh) | 2020-09-25 |
Family
ID=66696739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780098272.1A Pending CN111712848A (zh) | 2017-12-12 | 2017-12-13 | 在相机馈送中提供相应产品的数字模型 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10712811B2 (zh) |
CN (1) | CN111712848A (zh) |
WO (1) | WO2019117893A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI793762B (zh) * | 2021-06-01 | 2023-02-21 | 大陸商深圳富桂精密工業有限公司 | 交互方法、裝置、伺服器及電腦可讀存儲介質 |
WO2023142964A1 (zh) * | 2022-01-27 | 2023-08-03 | 北京字跳网络技术有限公司 | 页面交互方法、装置、设备以及存储介质 |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018033137A1 (zh) * | 2016-08-19 | 2018-02-22 | 北京市商汤科技开发有限公司 | 在视频图像中展示业务对象的方法、装置和电子设备 |
WO2019079826A1 (en) | 2017-10-22 | 2019-04-25 | Magical Technologies, Llc | DIGITAL ASSISTANT SYSTEMS, METHODS AND APPARATUSES IN AN INCREASED REALITY ENVIRONMENT AND LOCAL DETERMINATION OF VIRTUAL OBJECT PLACEMENT AND SINGLE OR MULTIDIRECTIONAL OBJECTIVES AS GATEWAYS BETWEEN A PHYSICAL WORLD AND A DIGITAL WORLD COMPONENT OF THE SAME ENVIRONMENT OF INCREASED REALITY |
US10712811B2 (en) | 2017-12-12 | 2020-07-14 | Facebook, Inc. | Providing a digital model of a corresponding product in a camera feed |
US20190197789A1 (en) * | 2017-12-23 | 2019-06-27 | Lifeprint Llc | Systems & Methods for Variant Payloads in Augmented Reality Displays |
US11398088B2 (en) | 2018-01-30 | 2022-07-26 | Magical Technologies, Llc | Systems, methods and apparatuses to generate a fingerprint of a physical location for placement of virtual objects |
KR102450948B1 (ko) * | 2018-02-23 | 2022-10-05 | 삼성전자주식회사 | 전자 장치 및 그의 증강 현실 객체 제공 방법 |
US20200021553A1 (en) * | 2018-07-10 | 2020-01-16 | Talkin Things Sp. Z O.O. | Messaging system |
US11348252B1 (en) * | 2018-07-12 | 2022-05-31 | Nevermind Capital Llc | Method and apparatus for supporting augmented and/or virtual reality playback using tracked objects |
US11288733B2 (en) * | 2018-11-14 | 2022-03-29 | Mastercard International Incorporated | Interactive 3D image projection systems and methods |
US10891669B2 (en) * | 2018-12-19 | 2021-01-12 | UVNV, Inc. | Virtual sales assistant kiosk |
US20220350853A1 (en) * | 2019-01-09 | 2022-11-03 | Charles Isgar | System for obtaining websites having a geolocation near a location of a user computing device |
US11488208B2 (en) * | 2019-01-09 | 2022-11-01 | Charles Isgar | System for obtaining URLs of businesses based on geo-identification area |
US11467656B2 (en) | 2019-03-04 | 2022-10-11 | Magical Technologies, Llc | Virtual object control of a physical device and/or physical device control of a virtual object |
US11074759B2 (en) * | 2019-07-09 | 2021-07-27 | Josh Lehman | Apparatus, system, and method of providing a three dimensional virtual local presence |
US11270347B2 (en) * | 2019-07-09 | 2022-03-08 | Josh Lehman | Apparatus, system, and method of providing a three dimensional virtual local presence |
US11694574B2 (en) * | 2019-08-08 | 2023-07-04 | Lenovo (Singapore) Pte. Ltd. | Alteration of accessibility settings of device based on characteristics of users |
US20210097762A1 (en) * | 2019-09-26 | 2021-04-01 | Facebook Technologies, Llc | Effective Streaming of Augmented-Reality Data from Third-Party Systems |
US11533280B1 (en) * | 2019-09-30 | 2022-12-20 | Snap Inc. | Scan to share |
US11410396B2 (en) * | 2020-03-27 | 2022-08-09 | Snap Inc. | Passing augmented reality content between devices |
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 |
US11915305B2 (en) | 2020-04-01 | 2024-02-27 | Snap Inc. | Identification of physical products for augmented reality experiences in a messaging system |
US20210312523A1 (en) * | 2020-04-01 | 2021-10-07 | Snap Inc. | Analyzing facial features for augmented reality experiences of physical products in a messaging system |
US11521334B2 (en) | 2020-04-01 | 2022-12-06 | Snap Inc. | Augmented reality experiences of color palettes in a messaging system |
WO2021232049A1 (en) * | 2020-05-13 | 2021-11-18 | Bodygram, Inc. | Generation of product mesh and product dimensions from user image data using deep learning networks |
CN111652678B (zh) * | 2020-05-27 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 物品信息显示方法、装置、终端、服务器及可读存储介质 |
US11743340B2 (en) * | 2020-06-10 | 2023-08-29 | Snap Inc. | Deep linking to augmented reality components |
US11238660B2 (en) | 2020-06-10 | 2022-02-01 | Snap Inc. | Dynamic augmented reality components |
US20220101417A1 (en) * | 2020-09-28 | 2022-03-31 | Snap Inc. | Providing augmented reality-based clothing in a messaging system |
US11798202B2 (en) * | 2020-09-28 | 2023-10-24 | Snap Inc. | Providing augmented reality-based makeup in a messaging system |
KR20220078298A (ko) * | 2020-12-03 | 2022-06-10 | 삼성전자주식회사 | 적응적 증강 현실 스트리밍 제공 방법 및 이를 수행하는 장치 |
CN112905074B (zh) * | 2021-02-23 | 2022-11-22 | 北京达佳互联信息技术有限公司 | 交互界面展示方法、交互界面生成方法、装置及电子设备 |
US11544885B2 (en) * | 2021-03-19 | 2023-01-03 | Snap Inc. | Augmented reality experience based on physical items |
US11562548B2 (en) | 2021-03-22 | 2023-01-24 | Snap Inc. | True size eyewear in real time |
US11983462B2 (en) * | 2021-08-31 | 2024-05-14 | Snap Inc. | Conversation guided augmented reality experience |
CN115776575A (zh) * | 2021-09-06 | 2023-03-10 | 北京字跳网络技术有限公司 | 物品的展示方法、装置、电子设备和存储介质 |
WO2023129996A1 (en) * | 2021-12-30 | 2023-07-06 | Snap Inc. | Dynamically presenting augmented reality content generators |
WO2023129999A1 (en) * | 2021-12-30 | 2023-07-06 | Snap Inc. | Api to provide product cards |
WO2023130004A1 (en) * | 2021-12-30 | 2023-07-06 | Snap Inc. | Product cards by augmented reality content generators |
WO2023150426A1 (en) * | 2022-02-03 | 2023-08-10 | Daniel Goddard | Augmented reality positioning and matching system |
US20230410440A1 (en) * | 2022-06-21 | 2023-12-21 | Snap Inc. | Integrating augmented reality experiences with other components |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007011543A (ja) * | 2005-06-29 | 2007-01-18 | Dainippon Printing Co Ltd | 商品着用シミュレーションシステム、商品着用シミュレーション方法等 |
KR20090026372A (ko) * | 2007-08-31 | 2009-03-13 | 에스케이 텔레콤주식회사 | 영상통화 중 상품정보 추출 시스템 및 방법 |
CN102981603A (zh) * | 2011-06-01 | 2013-03-20 | 索尼公司 | 图像处理装置、图像处理方法和程序 |
US20130088490A1 (en) * | 2011-04-04 | 2013-04-11 | Aaron Rasmussen | Method for eyewear fitting, recommendation, and customization using collision detection |
US20160035133A1 (en) * | 2014-07-31 | 2016-02-04 | Ulsee Inc. | 2d image-based 3d glasses virtual try-on system |
CN105637512A (zh) * | 2013-08-22 | 2016-06-01 | 贝斯普客公司 | 用于创造定制产品的方法和系统 |
US20170270709A1 (en) * | 2016-03-07 | 2017-09-21 | Bao Tran | Systems and methods for fitting product |
US20170270581A1 (en) * | 2014-01-11 | 2017-09-21 | Grace Tang | System and method for peer virtual fitting |
CN107851278A (zh) * | 2015-07-15 | 2018-03-27 | 华为技术有限公司 | 一种用于手机中基于视频增强现实的虚拟试衣系统和方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0101371D0 (en) * | 2001-01-19 | 2001-03-07 | Virtual Mirrors Ltd | Production and visualisation of garments |
CA2659698C (en) * | 2008-03-21 | 2020-06-16 | Dressbot Inc. | System and method for collaborative shopping, business and entertainment |
WO2016089550A1 (en) | 2014-11-06 | 2016-06-09 | Grace Tang | System and method for image processing and virtual fitting |
US11615462B2 (en) * | 2016-02-16 | 2023-03-28 | Ohzone, Inc. | System for virtually sharing customized clothing |
US10712811B2 (en) | 2017-12-12 | 2020-07-14 | Facebook, Inc. | Providing a digital model of a corresponding product in a camera feed |
-
2017
- 2017-12-12 US US15/839,339 patent/US10712811B2/en active Active
- 2017-12-13 WO PCT/US2017/066118 patent/WO2019117893A1/en active Application Filing
- 2017-12-13 CN CN201780098272.1A patent/CN111712848A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007011543A (ja) * | 2005-06-29 | 2007-01-18 | Dainippon Printing Co Ltd | 商品着用シミュレーションシステム、商品着用シミュレーション方法等 |
KR20090026372A (ko) * | 2007-08-31 | 2009-03-13 | 에스케이 텔레콤주식회사 | 영상통화 중 상품정보 추출 시스템 및 방법 |
US20130088490A1 (en) * | 2011-04-04 | 2013-04-11 | Aaron Rasmussen | Method for eyewear fitting, recommendation, and customization using collision detection |
CN102981603A (zh) * | 2011-06-01 | 2013-03-20 | 索尼公司 | 图像处理装置、图像处理方法和程序 |
CN105637512A (zh) * | 2013-08-22 | 2016-06-01 | 贝斯普客公司 | 用于创造定制产品的方法和系统 |
US20170270581A1 (en) * | 2014-01-11 | 2017-09-21 | Grace Tang | System and method for peer virtual fitting |
US20160035133A1 (en) * | 2014-07-31 | 2016-02-04 | Ulsee Inc. | 2d image-based 3d glasses virtual try-on system |
CN107851278A (zh) * | 2015-07-15 | 2018-03-27 | 华为技术有限公司 | 一种用于手机中基于视频增强现实的虚拟试衣系统和方法 |
US20170270709A1 (en) * | 2016-03-07 | 2017-09-21 | Bao Tran | Systems and methods for fitting product |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI793762B (zh) * | 2021-06-01 | 2023-02-21 | 大陸商深圳富桂精密工業有限公司 | 交互方法、裝置、伺服器及電腦可讀存儲介質 |
WO2023142964A1 (zh) * | 2022-01-27 | 2023-08-03 | 北京字跳网络技术有限公司 | 页面交互方法、装置、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US10712811B2 (en) | 2020-07-14 |
WO2019117893A1 (en) | 2019-06-20 |
US20190179405A1 (en) | 2019-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10712811B2 (en) | Providing a digital model of a corresponding product in a camera feed | |
US10878631B2 (en) | Providing an augmented reality overlay for display over a view of a user | |
US11609945B2 (en) | Dynamically ranking media effects based on user and device characteristics | |
US11645806B2 (en) | Animating digital graphics based on dynamic attributes | |
US20180300917A1 (en) | Discovering augmented reality elements in a camera viewfinder display | |
US20180300916A1 (en) | Prompting creation of a networking system communication with augmented reality elements in a camera viewfinder display | |
US11611714B2 (en) | Generating customized, personalized reactions to social media content | |
US11138255B2 (en) | Providing combinations of pre-generated and dynamic media effects to create customized media communications | |
US20180300757A1 (en) | Matching and ranking content items | |
EP4246963A1 (en) | Providing shared augmented reality environments within video calls | |
US20230281940A1 (en) | Providing context-aware avatar editing within an extended-reality environment | |
US20180300756A1 (en) | Generating creation insights | |
US20230109386A1 (en) | Using social connections to define graphical representations of users in an artificial reality setting | |
EP3499447A1 (en) | Providing a digital model of corresponding product in a camera feed | |
WO2019027483A1 (en) | COMPOSITE ANIMATION | |
US20230162447A1 (en) | Regionally enhancing faces in a digital video stream | |
US20230360282A1 (en) | Generating shared augmented reality scenes utilizing video textures from video streams of video call participants | |
WO2023172471A1 (en) | Providing context-aware avatar editing within an extended-reality environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Yuan platform Co. Address before: California, USA Applicant before: Facebook, Inc. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200925 |