CN118119969A - 3d上装跟踪 - Google Patents
3d上装跟踪 Download PDFInfo
- Publication number
- CN118119969A CN118119969A CN202280066079.0A CN202280066079A CN118119969A CN 118119969 A CN118119969 A CN 118119969A CN 202280066079 A CN202280066079 A CN 202280066079A CN 118119969 A CN118119969 A CN 118119969A
- Authority
- CN
- China
- Prior art keywords
- video
- user
- elements
- image
- fashion item
- 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
- 230000011218 segmentation Effects 0.000 claims abstract description 116
- 238000000034 method Methods 0.000 claims abstract description 111
- 230000004044 response Effects 0.000 claims abstract description 76
- 230000033001 locomotion Effects 0.000 claims abstract description 50
- 230000003190 augmentative effect Effects 0.000 claims abstract description 6
- 238000004891 communication Methods 0.000 claims description 37
- 230000015654 memory Effects 0.000 claims description 33
- 230000008859 change Effects 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 55
- 230000006870 function Effects 0.000 description 49
- 230000004048 modification Effects 0.000 description 49
- 238000012986 modification Methods 0.000 description 49
- 238000010801 machine learning Methods 0.000 description 40
- 238000012549 training Methods 0.000 description 38
- 230000009466 transformation Effects 0.000 description 22
- 238000012545 processing Methods 0.000 description 20
- 230000000007 visual effect Effects 0.000 description 20
- 230000008451 emotion Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 9
- 230000001815 facial effect Effects 0.000 description 9
- 230000007423 decrease Effects 0.000 description 8
- 230000006855 networking Effects 0.000 description 7
- 230000001131 transforming effect Effects 0.000 description 7
- 230000008878 coupling Effects 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000013528 artificial neural network Methods 0.000 description 5
- 210000000887 face Anatomy 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 238000000844 transformation Methods 0.000 description 5
- 230000007704 transition Effects 0.000 description 5
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000001052 transient effect Effects 0.000 description 4
- 240000002836 Ipomoea tricolor Species 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 3
- 210000000988 bone and bone Anatomy 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 239000007789 gas Substances 0.000 description 3
- 239000011521 glass Substances 0.000 description 3
- 210000003128 head Anatomy 0.000 description 3
- 238000010079 rubber tapping Methods 0.000 description 3
- 238000013518 transcription Methods 0.000 description 3
- 230000035897 transcription Effects 0.000 description 3
- 208000001431 Psychomotor Agitation Diseases 0.000 description 2
- 206010038743 Restlessness Diseases 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 210000001503 joint Anatomy 0.000 description 2
- 210000002414 leg Anatomy 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 239000003973 paint Substances 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 241000282320 Panthera leo Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 210000000617 arm Anatomy 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000009194 climbing Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000356 contaminant Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 210000002310 elbow joint Anatomy 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 210000004394 hip joint Anatomy 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007620 mathematical function Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000005693 optoelectronics Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 210000000323 shoulder joint Anatomy 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
- 230000037303 wrinkles Effects 0.000 description 1
- 210000003857 wrist joint Anatomy 0.000 description 1
Classifications
-
- 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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/69—Involving elements of the real world in the game world, e.g. measurement in live races, real video
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2004—Aligning objects, relative positioning of parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2016—Rotation, translation, scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Multimedia (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Architecture (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
公开了用于执行以下操作的方法和系统,所述操作包括:接收视频,该视频包括对穿着时尚物品的人的描绘;生成视频中描绘的人的三维(3D)模型;生成视频中描绘的人穿着的时尚物品的分割;基于时尚物品的分割,勾勒3D模型的一部分;跟踪3D模型的一部分在视频中的移动;以及响应于跟踪3D模型的一部分在视频中的移动,修改一个或更多个增强现实元素在视频中的时尚物品上的显示定位。
Description
优先权声明
本申请要求于2021年9月30日提交的序列号为17/490,167的美国专利申请的优先权的权益,该美国专利申请通过引用整体并入本文中。
技术领域
本公开内容总体上涉及使用消息收发应用提供增强现实体验。
背景技术
增强现实(AR)是对虚拟环境的修改。例如,在虚拟现实(VR)中,用户完全沉浸在虚拟世界中,而在AR中,用户沉浸在将虚拟对象与现实世界组合或将虚拟对象叠加在现实世界上的世界中。AR系统旨在生成并呈现与现实世界环境真实地交互并且彼此之间进行交互的虚拟对象。AR应用的示例可以包括单人或多人视频游戏、即时消息收发系统等。
附图说明
在附图(其不一定按比例绘制)中,相似的数字可以在不同视图中描述类似部件。为了容易地标识对任何特定元素或动作的讨论,附图标记中的一个或多个最高有效数字是指该元素被首次引入时所在的图号。在附图中示出了一些非限制性示例,在附图中:
图1是根据一些示例的可以部署本公开内容的联网环境的图解表示。
图2是根据一些示例的消息收发客户端应用的图解表示。
图3是根据一些示例的在数据库中维护的数据结构的图解表示。
图4是根据一些示例的消息的图解表示。
图5是示出根据示例的示例AR时尚控制系统的框图。
图6、图7和图8是根据一些示例的AR时尚控制系统的输出的图解表示。
图9是示出根据一些示例的AR时尚控制系统的示例操作的流程图。
图10是根据一些示例的呈计算机系统形式的机器的图解表示,在该机器内可以执行一组指令以使该机器执行本文讨论的方法中的任何一种或更多种方法。
图11是示出可以在其中实现示例的软件架构的框图。
具体实施方式
下面的描述包括实施本公开内容的说明性示例的系统、方法、技术、指令序列和计算机器程序产品。在以下描述中,出于说明的目的,阐述了许多具体细节以便提供对各种示例的理解。然而,对于本领域技术人员而言明显的是,可以在没有这些具体细节的情况下实践示例。通常,不需要详细示出公知的指令实例、协议、结构和技术。
通常,VR和AR系统通过捕获用户的图像并另外地使用深度传感器获得在图像中描绘的现实世界身体的深度图来显示表示给定用户的图像。通过一起处理深度图和图像,VR和AR系统可以检测用户在图像中的定位,并且可以适当地修改图像中的用户或背景。虽然这样的系统可以很好地工作,但对深度传感器的需求限制了它们的应用范围。这是因为出于修改图像的目的而向用户设备添加深度传感器增加了设备的总成本和复杂度,从而使得它们的吸引力降低。
某些系统不需要使用深度传感器来修改图像。例如,某些系统允许用户替换在其中检测用户的面部的视频会议中的背景。具体地,这样的系统可以使用被优化用于识别用户的面部的专门技术来标识描绘用户面部的图像中的背景。然后,这些系统可以仅替换描绘背景的那些像素,使得在图像中现实世界背景被替选背景代替。然而,这样的系统通常无法识别用户的全身。因此,如果用户距摄像装置大于阈值距离,使得不仅仅是用户的面部被摄像装置捕获,则将背景替换为替选背景开始失效。在这种情况下,图像质量受到严重影响,并且用户的面部和身体中的多个部分可能被系统无意地移除,因为系统错误地将这样的部分标识为属于图像的背景而不是前景。此外,当在图像或视频馈送中描绘多于一个用户时,这样的系统无法适当地替换背景。因为这样的系统通常无法将图像中的用户的整个身体与背景区分开,因此这些系统也不能将视觉效果应用于用户身体的某些部分,例如衣服制品。
所公开的技术通过除了创建图像或视频中描绘的用户的整个身体模型之外还分割图像或视频中描绘的用户穿着的衣服制品、时尚物品或服装(例如,图像中描绘的用户穿着的衬衫)来提高使用电子设备的效率。通过对图像中描绘的用户穿着的或不同的相应用户穿着的衣服制品、时尚物品或服装进行分割并且创建整个身体模型,所公开的技术可以将一个或更多个视觉效果例如一个或更多个AR元素应用于图像或视频。在示例中,所公开的技术可以将一个或更多个基于游戏的AR元素应用于图像或视频中描绘的衬衫,并且然后允许用户与游戏交互,或者基于由用户执行的姿势或姿态向图像或视频中描绘的用户提供游戏体验。
在示例中,所公开的技术应用机器学习技术,以生成图像中描绘的用户穿着的衬衫(上装)的分割(例如,以将与用户穿着的衬衫或多个服装对应的像素和与图像的背景或用户的身体部位对应的像素区分开)。以这种方式,所公开的技术可以将一个或更多个视觉效果应用于用户所穿的在当前图像中已分割的衬衫。此外,通过生成衬衫的分割,可以独立于用户的身体部位诸如手的定位或与之分开地跟踪衬衫在视频馈送中的定位/位置。
因此,提供了这样的逼真显示,其示出了穿着衬衫(或上装)的用户,同时还以对于用户进行交互和选择而言直观的方式在衬衫上呈现AR元素。如本文中使用的,“衣服制品”、“时尚物品”和“服装”可互换地使用,并且应当被理解为具有相同的含义。这改善了用户在使用电子设备时的整体体验。此外,通过在不使用深度传感器的情况下执行这样的分割,减少了完成任务所需的系统资源的总量。
联网计算环境
图1是示出用于通过网络来交换数据(例如,消息及相关联的内容)的示例消息收发系统100的框图。消息收发系统100包括客户端设备102的多个实例,多个实例中的每个实例托管包括消息收发客户端104和其他外部应用109(例如,第三方应用)的若干应用。每个消息收发客户端104经由网络112(例如,因特网)通信地耦接至(例如,托管在相应的其他客户端设备102上的)消息收发客户端104的其他实例、消息收发服务器系统108以及外部应用服务器110。消息收发客户端104还可以使用应用程序接口(API)与本地托管的第三方应用例如外部应用109进行通信。
消息收发客户端104能够经由网络112与其他消息收发客户端104和消息收发服务器系统108进行通信并且交换数据。在消息收发客户端104之间以及在消息收发客户端104与消息收发服务器系统108之间交换的数据包括功能(例如,用于激活功能的命令)以及净荷数据(例如,文本、音频、视频或其他多媒体数据)。
消息收发服务器系统108经由网络112向特定消息收发客户端104提供服务器侧功能。虽然消息收发系统100的某些功能在本文被描述为由消息收发客户端104或由消息收发服务器系统108执行,但是某些功能的位置是在消息收发客户端104内还是在消息收发服务器系统108内可以是设计选择。例如,在技术上可能优选是:最初将某些技术和功能部署在消息收发服务器系统108内,但是后面将该技术和功能迁移至客户端设备102具有足够处理能力的消息收发客户端104。
消息收发服务器系统108支持向消息收发客户端104提供的各种服务和操作。这样的操作包括向消息收发客户端104发送数据、从消息收发客户端104接收数据以及对由消息收发客户端104生成的数据进行处理。作为示例,该数据可以包括消息内容、客户端设备信息、地理位置信息、媒体增强和覆盖(overlay)、消息内容持久化条件、社交网络信息和实况事件信息。通过经由消息收发客户端104的用户界面(UI)可用的功能来激活和控制消息收发系统100内的数据交换。
现在具体地转至消息收发服务器系统108,API服务器116耦接至应用服务器114并且向应用服务器114提供编程接口。应用服务器114通信地耦接至数据库服务器120,该数据库服务器120有助于对数据库126进行访问,该数据库126存储与由应用服务器114处理的消息相关联的数据。类似地,web服务器128耦接至应用服务器114并且向应用服务器114提供基于web的接口。为此,web服务器128通过超文本传输协议(HTTP)和若干其他相关协议处理传入的网络请求。
API服务器116在客户端设备102与应用服务器114之间接收和发送消息数据(例如,命令和消息净荷)。具体地,API服务器116提供一组接口(例如,例程和协议),该组接口可以由消息收发客户端104调用或查询以激活应用服务器114的功能。API服务器116公开由应用服务器114支持的各种功能,包括:帐户注册;登录功能;经由应用服务器114将消息从特定消息收发客户端104发送至另一消息收发客户端104;将媒体文件(例如,图像或视频)从消息收发客户端104发送至消息收发服务器118并用于另一消息收发客户端104的可能访问;设置媒体数据集合(例如,故事);检索客户端设备102的用户的朋友列表;检索这样的集合;检索消息和内容;在实体图(例如,社交图)中添加和删除实体(例如,朋友);在社交图中定位朋友;以及打开(例如,与消息收发客户端104相关的)应用事件。
应用服务器114托管若干服务器应用和子系统,包括例如消息收发服务器118、图像处理服务器122以及社交网络服务器124。消息收发服务器118实现若干消息处理技术和功能,特别是与从消息收发客户端104的多个实例接收到的消息中包括的内容(例如,文本和多媒体内容)的汇总和其他处理相关的消息处理技术和功能。如将进一步详细描述的,来自多个源的文本和媒体内容可以被汇总成内容的集合(例如,称为故事或图库(gallery))。然后,使这些集合对消息收发客户端104可用。鉴于数据的其他处理器和存储器密集型处理的硬件要求,也可以由消息收发服务器118在服务器侧执行这样的处理。
应用服务器114还包括图像处理服务器122,该图像处理服务器122专用于执行各种图像处理操作,通常针对在从消息收发服务器118发送或者在消息收发服务器118处接收的消息的净荷内的图像或视频执行各种图像处理操作。
图像处理服务器122用于实现增强系统208(图2中示出)的扫描功能。扫描功能包括当由客户端设备102捕获到图像时,在客户端设备102上激活并提供一个或更多个AR体验。具体地,客户端设备102上的消息收发客户端104可以用于激活摄像装置。摄像装置向用户显示一个或更多个实时图像或视频以及一个或更多个AR体验的一个或更多个图标或标识符。用户可以选择标识符中的给定标识符来启动对应的AR体验或执行所期望的图像修改(例如,替换视频中的用户穿着的服装或者为视频中的用户穿着的服装重新着色或者基于由用户执行的姿势修改服装)。
社交网络服务器124支持各种社交联网功能和服务并使这些功能和服务对消息收发服务器118可用。为此,社交网络服务器124维护并且访问数据库126内的实体图308(如图3所示)。由社交网络服务器124支持的功能和服务的示例包括标识消息收发系统100的特定用户与之有关系或该特定用户正在“关注”的其他用户,并且还包括标识特定用户的兴趣和其他实体。
返回至消息收发客户端104,外部资源(例如,第三方应用109或小程序(applet))的特征和功能经由消息收发客户端104的接口对用户可用。消息收发客户端104接收对用于启动或访问诸如外部应用109的外部资源(例如,第三方资源)的特征的选项的用户选择。外部资源可以是安装在客户端设备102上的第三方应用(外部应用109)(例如,“原生应用”),或者托管在客户端设备102上或者位于客户端设备102的远端(例如,在第三方服务器110上)的第三方应用的小规模版本(例如,“小程序”)。第三方应用的小规模版本包括第三方应用(例如,第三方独立应用的全规模、原生版本)的特征和功能的子集,并且使用标记语言文档来实现。在一个示例中,第三方应用的小规模版本(例如,“小程序”)是第三方应用的基于web的标记语言版本,并且被嵌入在消息收发客户端104中。除了使用标记语言文档(例如,*ml文件)之外,小程序可以包括脚本语言(例如,.*js文件或.json文件)和样式表(例如,*ss文件)。
响应于接收到对用于启动或访问外部资源(外部应用109)的特征的选项的用户选择,消息收发客户端104确定所选择的外部资源是基于web的外部资源还是本地安装的外部应用。在一些情况下,本地安装在客户端设备102上的外部应用109可以例如通过在客户端设备102的主页画面上选择与外部应用109对应的图标来独立于消息收发客户端104并且与消息收发客户端104分开地启动。这样的外部应用的小规模版本可以经由消息收发客户端104启动或访问,并且在一些示例中,小规模外部应用的任何部分都不能(或者有限部分才能)在消息收发客户端104之外被访问。可以通过消息收发客户端104从外部应用服务器110接收与小规模外部应用相关联的标记语言文档并对这样的文档进行处理来启动小规模外部应用。
响应于确定外部资源是本地安装的外部应用109,消息收发客户端104指示客户端设备102通过执行与外部应用109对应的本地存储的代码来启动外部应用109。响应于确定外部资源是基于web的资源,消息收发客户端104与外部应用服务器110进行通信以获得与所选择的资源对应的标记语言文档。消息收发客户端104然后处理获得的标记语言文档以在消息收发客户端104的用户界面内呈现基于web的外部资源。
消息收发客户端104可以向客户端设备102的用户或与这样的用户有关的其他用户(例如,“朋友”)通知一个或更多个外部资源中发生的活动。例如,消息收发客户端104可以向消息收发客户端104中的对话(例如,聊天会话)中的参与者提供与用户组中的一个或更多个成员当前或最近使用外部资源有关的通知。可以邀请一个或更多个用户加入活跃的外部资源或者启动(该朋友组中)最近使用过但当前不活跃的外部资源。外部资源可以向对话中的各自使用相应的消息收发客户端104的参与者提供与进入聊天会话中的用户组中的一个或更多个成员分享外部资源中的项、状况、状态或定位的能力。共享项可以是交互式聊天卡,聊天的成员可以利用该交互式聊天卡进行交互,以例如启动对应的外部资源、查看外部资源内的特定信息或者将聊天的成员带到外部资源内的特定位置或状态。在给定的外部资源内,可以在消息收发客户端104上向用户发送响应消息。外部资源可以基于外部资源的当前上下文将不同的媒体项选择性地包括在响应中。
消息收发客户端104可以向用户呈现可用的外部资源(例如,第三方或外部应用109或小程序)的列表以启动或访问给定的外部资源。该列表可以被呈现在上下文相关菜单中。例如,表示外部应用109(或小程序)中的不同外部应用的图标可以基于用户如何启动(例如,从对话界面或从非对话界面启动)菜单而变化。
消息收发客户端104可以向用户呈现一个或更多个基于游戏的AR体验,这些基于游戏的AR体验可以在图像中描绘的人(或用户)穿着的衣服制品(例如,衬衫)上被控制和呈现。作为示例,消息收发客户端104可以检测由客户端设备102捕获的图像或视频中的人。消息收发客户端104可以分割图像或视频中的衣服制品(或时尚物品),例如衬衫。虽然关于图像或视频中描绘的人(或客户端设备102的用户)穿着的衬衫讨论了所公开的示例,但类似的技术可以应用于任何其他衣服制品或时尚物品,例如,连衣裙、裤子、短裤、短裙、夹克、T恤、上衣、眼镜、珠宝、帽子、耳罩等。
响应于对衬衫进行分割,消息收发客户端104可以与人或用户的身体的定位分离地跟踪衬衫在视频中的二维/三维(2D/3D)定位。这使得消息收发客户端104能够在衬衫上呈现一个或更多个基于游戏的AR图形元素并且允许消息收发客户端104基于跟踪用户的身体部位相对于经分割的衬衫的移动来修改基于游戏的AR图形元素。
在一个示例中,消息收发客户端104可以生成图像或视频中描绘的人或用户的3D身体模型。消息收发客户端104可以勾勒3D身体模型中的与图像或视频中描绘的人或用户穿着的时尚物品对应的一部分。特别地,消息收发客户端104可以使用时尚物品的分割来标识和剪切出3D身体模型的与时尚物品分割对应的一组像素。消息收发客户端104可以跟踪该组像素(3D身体模型中的勾勒的一部分)的移动并且可以基于该组像素的移动来更新AR图形元素的显示定位。特别地,消息收发客户端104可以确定3D身体模型中的与图像或视频中描绘的用户或人穿着的时尚物品对应的一部分的移动的方向。消息收发客户端104可以基于移动的方向来更新AR图形元素的位置,以在描绘人或用户的视频的整个帧中维持AR图形元素在时尚物品上的定位。
作为一个示例,消息收发客户端104可以在图像中的用户或人穿着的衬衫上呈现AR游戏板。在这种情况下,消息收发客户端104可以在AR游戏板上生成与AR游戏板相关联的化身。消息收发客户端104可以检测图像中描绘的人所执行的身体姿势,并且可以基于身体姿势来控制化身的移动。具体地,消息收发客户端104可以确定人抬起其右手,并且作为响应,消息收发客户端104可以使化身在第一方向上移动。作为另一示例,消息收发客户端104可以确定人抬起其左手,并且作为响应,消息收发客户端104可以使化身在第二方向上移动。消息收发客户端104可以检测用户朝向第一侧倾斜。作为响应,消息收发客户端104可以将化身朝向相同的第一侧或者朝向相反侧移动。基于化身的当前位置,消息收发客户端104可以确定是增加还是减少与AR游戏板相关联的分数。当用户朝向第一侧倾斜时,用户穿着的衬衫的至少一部分改变定位。基于检测到身体模型中的与衬衫的该部分对应的一部分的这样的移动,消息收发客户端104可以类似地调整在衬衫上显示的AR游戏板的显示定位。
消息收发客户端104可以访问与AR游戏板相关联的目的或目标列表。消息收发客户端104可以将不同的目的和目标与AR游戏板上的不同位置相关联。响应于确定化身已经行进并且朝向目的和目标之一的给定位置靠近,消息收发客户端104可以使与AR游戏板相关联的分数增加。消息收发客户端104可以获得每个目的和目标的分数值。响应于化身达到给定的目的和目标,消息收发客户端104可以检索分数值,并且使当前分数递增所检索的分数值。
在示例中,消息收发客户端104可以生成化身以供在图像或视频中描绘的人或用户所穿的衬衫(或时尚物品)上显示。消息收发客户端104可以为化身选择随机姿态,或者可以访问与AR游戏体验相关联的化身姿态的列表。消息收发客户端104可以获得与所选择的姿态相关联的分数,并且可以调整化身的姿态以与所选择的姿态相匹配。消息收发客户端104可以呈现从指定值起倒计时(例如,从10秒起倒计时)的定时器。消息收发客户端104可以指示用户或人执行或镜像化身的姿态。消息收发客户端104可以应用身体跟踪过程,以确定人或用户所执行的姿态是否与化身的姿态相匹配。响应于检测到人或用户的姿态与化身姿态相匹配,消息收发客户端104访问与所选择的化身姿态相关联的分数,并且使用户或人的当前分数递增。响应于确定用户的姿态未能在定时器时段内(例如,在定时器到期之前)与化身的姿态相匹配,消息收发客户端104不更新用户或人的分数,并且可以使分数递减。然后,消息收发客户端104可以从姿态列表中访问新的姿态,并基于所访问的新的姿态来修改化身的姿态。消息收发客户端104在人或用户再次尝试镜像或匹配新的化身姿态时将定时器设置为指定值并开始倒计时。当用户改变姿态时,用户穿着的衬衫的至少一部分改变定位。基于检测到身体模型的与衬衫的该部分对应的一部分的这样的移动,消息收发客户端104可以类似地调整在衬衫上显示的化身的显示定位。
在示例中,消息收发客户端104可以在与客户端设备102相关联的显示器上呈现AR游戏界面。具体地,消息收发客户端104可以在外部显示屏幕上或在正呈现穿着衬衫的用户或人的图像或视频的同一显示器上呈现游戏应用界面。消息收发客户端104可以获得针对AR游戏界面的游戏控制器信息。对于不同类型的游戏,游戏控制器信息可以不同。在一些情况下,可以针对所有类型的AR游戏使用相同的控制器信息。控制器信息可以指定游戏控制器的视觉方面以及不同按钮或按键的布局。消息收发客户端104基于游戏控制器信息来生成AR游戏控制器。AR游戏控制器可以具有和与AR游戏界面相关联的物理控制器相同的外观。消息收发客户端104可以渲染AR游戏控制器,以用于在图像中描绘的用户或人穿着的衬衫或衣服制品上显示。AR游戏控制器可以包括多个AR按钮。基于检测到身体模型中的与衬衫的该部分对应的一部分的移动,消息收发客户端104可以类似地调整在衬衫上显示的AR游戏界面的显示定位。
消息收发客户端104可以跟踪图像或视频中的用户的身体部位(例如,用户的手)相对于AR游戏控制器的移动。消息收发客户端104可以检测身体部位和AR游戏控制器的与多个AR按钮中的第一AR按钮对应的区域之间的交叠。作为响应,消息收发客户端104可以例如从与AR游戏控制器相关联的控制器信息中获得与第一AR按钮相关联的功能或指令。消息收发客户端104可以向游戏应用界面发送指令,该指令包括与第一AR按钮相关联的功能或指令。以这种方式,游戏应用界面执行与第一AR按钮相关联的功能或指令。例如,第一AR按钮可以是与AR武器相关联的触发器。然后,消息收发客户端104可以指示游戏应用界面响应于用户的手与衬衫的呈现有第一AR按钮的区域交叠而激活AR武器或从AR武器发射一轮弹药。
消息收发客户端104可以检测身体部位和AR游戏控制器的与多个增AR按钮中的第二AR按钮对应的第二区域之间的交叠。作为响应,消息收发客户端104可以例如从与AR游戏控制器相关联的控制器信息中获得与第二AR按钮相关联的第二功能或指令。消息收发客户端104可以向游戏应用界面发送指令,该指令包括与第二AR按钮相关联的第二功能或指令。以这种方式,游戏应用界面执行与第二AR按钮相关联的第二功能或指令。例如,第二AR按钮可以是与AR化身或角色相关联的跳跃。然后,消息收发客户端104可以指示游戏应用界面响应于用户的手与衬衫的呈现有第二AR按钮的第二区域交叠而使化身或角色跳跃。
在示例中,消息收发客户端104可以在时尚物品上呈现乒乓球游戏。具体地,消息收发客户端104可以在游戏板上呈现AR球,该游戏板呈现于图像或视频中描绘的人或用户穿着的时尚物品上。消息收发客户端104可以基于图像或视频中描绘的人或用户的身体或身体部位(例如,一只手或双手)的3D移动,将AR球围绕游戏板的移动(操纵该球)动画化。例如,消息收发客户端104可以基于人或用户的身体部位的移动或定位,将从时尚物品的第一侧向时尚物品的第二侧移动或弹跳的AR球动画化。具体地,AR球可以被动画化为沿第一轨迹朝向图像或视频中描绘的用户或人穿着的衬衫的第一侧移动。消息收发客户端104可以沿衬衫的第一侧的边缘检测用户的左手的位置。消息收发客户端104可以确定AR球与左手在衬衫的第一侧的边缘接触。作为响应,消息收发客户端104可以使AR球沿第二轨迹朝向与衬衫的第一侧相对的第二侧弹跳,并且还使与用户或人相关联的分数递增。如果用户的左手未与AR球在衬衫的第一侧的位置接触或交叠,则消息收发客户端104可以将AR球动画化为从衬衫掉落,并且可以使与图像或视频中描绘的用户或人相关联的分数降低。消息收发客户端104可以沿衬衫的第二侧的边缘检测用户的右手的位置。消息收发客户端104可以确定AR球与右手在衬衫的第二侧的边缘接触。作为响应,消息收发客户端104可以使AR球沿第三轨迹朝向衬衫的第一侧弹跳,并且还使与用户或人相关联的分数递增。如果用户的右手未与AR球在衬衫的第二侧的位置接触或交叠,则消息收发客户端104可以将AR球动画化为从衬衫掉落,并且可以使与图像或视频中描绘的用户或人相关联的分数降低。
基于检测到身体模型中的与衬衫的一部分对应的一部分的移动,消息收发客户端104可以类似地调整在衬衫上移动的AR球的显示定位。即,可以基于球的动画轨迹和图像或视频中描绘的人的物理移动两者来移动AR球,以在人四处移动时维持AR球沿相同的轨迹和衬衫的部分的移动。例如,可以将AR球动画化为沿第一方向从衬衫的第一侧向衬衫的第二侧移动。在沿第一方向移动时,消息收发客户端104可以检测到3D身体模型在定位上已经移位,以相对于AR球沿第一方向移动时的初始定位朝向第二侧倾斜了10度或某个其他量。作为响应,消息收发客户端104可以将第一方向改变10度,以根据3D身体模型定位的改变来更新AR球的移动。这导致维持AR球沿第一方向从衬衫的第一侧向衬衫的第二侧的移动。
在一些情况下,消息收发客户端104可以选择第三轨迹,或者可以基于球与右手在何处接触来计算第三轨迹。如果球与手的顶部接触,则消息收发客户端104可以沿与第二轨迹形成65度角的第三轨迹使球反射。如果球与手的下部(例如,手的下半部分)接触,则消息收发客户端104可以沿与第二轨迹形成35度角的第三轨迹使球反射。
在示例中,消息收发客户端104可以在时尚物品上呈现这样的AR游戏:在该AR游戏中,一个或更多个AR对象看似从图像或视频中描绘的用户或人穿着的时尚物品中射出。例如,消息收发客户端104可以生成一个或更多个AR对象(例如,飞碟),并且可以将AR对象中的每个AR对象动画化为沿用户或人穿着的衬衫的表面法线从衬衫的一部分出来。可以连续地生成每个AR对象并且将其动画化,并且每个AR对象以不同的速率沿衬衫的表面法线在不同方向上飞出。每个AR对象可以具有不同的大小和形状(例如,在大小和形状上增大或减小)。速率可以随时间推移而增大或减小,并且AR对象可以被设置成在阈值时间段之后从显示器消失或移除。消息收发客户端104可以检测被动画为从衬衫出来的每个AR对象与用户的身体部位(例如,手)之间的接触。响应于确定身体部位在AR对象消失之前与AR对象接触,消息收发客户端104使与AR游戏相关联的分数递增。可以使分数递增一或递增基于所接触的AR对象的类型、样式、大小、速率或其他参数的某个因子。
在示例中,消息收发客户端104可以在图像或视频中描绘的用户穿着的时尚物品上呈现捕捉游戏。在这种情况下,消息收发客户端104可以在衬衫或时尚物品的一部分上呈现AR网或洞。网或洞的大小可以被指定为捕捉游戏的难度水平的因子(较小的网/洞比较大的网/洞导致更高难度水平)。消息收发客户端104可以生成一个或更多个AR对象(例如,飞碟),并且可以将AR对象中的每个AR对象动画化为沿图像或视频中描绘的用户或人穿着的衬衫的表面法线朝向用户或人飞行。可以连续地生成每个AR对象并将其动画化,并且每个AR对象以不同的速率沿衬衫的表面法线在不同方向上朝向用户或人飞行。每个AR对象可以具有不同的大小和形状(例如,在大小和形状上增大或减小)。速率可以随时间推移而增大或减小,并且AR对象可以被设置成在阈值时间段之后从显示器消失或移除。消息收发客户端104可以检测被动画化为朝向用户或人行进或飞行的每个AR对象与AR网或洞之间的接触。例如,用户或人可以在图像或视频中在3D中四处移动,以尝试将AR网或洞与飞行的AR对象对齐。响应于确定AR网或洞在AR对象消失之前与AR对象接触,消息收发客户端104使与AR游戏相关联的分数递增。可以使分数递增一或递增基于所接触的AR对象的类型、样式、大小、速率或其他参数的某个因子。
在示例中,消息收发客户端104在时尚物品上呈现AR绘制板。消息收发客户端104可以检测图像或视频中描绘的人的身体部位的移动。响应于检测到身体部位与AR绘制板交叠,消息收发客户端104向AR绘制板添加一个或更多个AR图形。例如,消息收发客户端104可以在AR绘制板上、沿着检测到身体部位在AR绘制板的定位上方移动的方向绘制线或给线涂色。消息收发客户端104可以基于身体部位与时尚物品的一部分交叠的姿态来开始和停止线的绘制。例如,如果用户的手处于握住拳头的姿态,则消息收发客户端104可以沿AR绘制板绘制对手的定位进行跟踪的线。如果用户的手转变为张开拳头姿态,则即使手仍与AR绘制板交叠,消息收发客户端104也停止绘制线。这使得用户能够无缝地且容易地控制在时尚物品上的AR绘制板上进行的绘制和书写。
在示例中,消息收发客户端104可以检测用户的身体部位的移动,并且可以基于身体部位来调整一个或更多个AR游戏元素或线的形状。例如,消息收发客户端104可以确定右手正在向上竖起两个手指。作为响应,消息收发客户端104可以使用于在AR绘制板上进行绘制的线的粗细度(weight)增加。随着更多手指抬起,使线粗细度增加或减小。类似地,可以基于手的构型(例如,抬起的手指的数目)来改变线的颜色。
在示例中,消息收发客户端104可以检测图像中描绘的人穿着的时尚物品上的一个或更多个褶皱。消息收发客户端104可以根据基于游戏的AR元素相对于褶皱的位置的定位来修改一个或更多个基于游戏的AR元素的移动。例如,AR球可以从衬衫的一侧向另一侧移动,并可以在具有基于褶皱的高度和位置的AR山周围被导航。如果AR球与给定AR山接触,则球的速度和轨迹基于山的高度而改变。在另一示例中,AR汽车可以基于图像或视频中描绘的用户的身体移动而移动。当汽车开始攀爬AR山中的给定AR山时,汽车的速度降低,而当汽车越过山峰并向山下行进时,汽车的速度(汽车沿衬衫移动的速率)增加。
在一个示例中,可以基于与资产相关联的非同质化通证(non-fungible token),生成球、汽车、化身、遥控器或本公开内容中讨论的任何其他AR游戏元素作为用户的独特资产。例如,消息收发客户端104可以允许用户购买给定的游戏元素,并且可以响应于用户完成对游戏元素的购买交易,将非同质化通证与游戏元素相关联。消息收发客户端104可以将购买的游戏元素添加至用户的帐户,并且可以将游戏元素作为独特资产添加至在衣服制品上呈现的AR游戏。在示例中,消息收发客户端104允许用户基于非同质化通证来创建独特的时尚物品。例如,消息收发客户端104可以捕获截图或视频,该截图或视频包括图像或视频中描绘的用户穿着的时尚物品并且包括一个或更多个基于游戏的AR元素或与之组合。消息收发客户端104可以生成这样的AR元素,该AR元素表示或包括图像或视频中描绘的用户穿着的与一个或更多个基于游戏的AR元素组合的时尚物品。消息收发客户端104可以生成非同质化通证,并且将非同质化通证与AR元素相关联。这使得用户或人能够与一个或更多个其他用户交换或出售作为独特资产的AR元素。
例如,消息收发客户端104可以生成文本,以用于显示在图像或视频中描绘的人穿着的衬衫上。可以响应于检测到来自图像或视频中描绘的人或其他用户的语音输入,在该人穿着的衬衫上渲染文本;或者可以基于来自图像或视频中描绘的人或其他用户的语音输入,用其他词语替换现有文本中的词语。例如,消息收发客户端104可以例如经由客户端设备102的麦克风接收与图像或视频中描绘的人相关联的语音输入。响应于接收到语音输入,消息收发客户端104可以对语音输入的特征或特性应用一个或更多个机器学习技术,以检测与语音输入相关联的特定情感或情绪,例如快乐、悲伤、惊讶、困惑、不安等。在一些示例中,消息收发客户端104可以搜索词语数据库,以标识与语音输入的情感或情绪相关联的一个或更多个词语。消息收发客户端104可以例如基于排序、流行度、用户简档、随机性、独特性或其任何组合来选择经标识的词语的子集。然后,消息收发客户端104可以将包括文本的AR元素添加至图像或视频中的人穿着的衬衫。消息收发客户端104可以在AR元素的文本中包括所选择的经标识的词语的子集。
在一些示例中,消息收发客户端104可以搜索图形(例如,表情符号或化身)数据库,以标识与语音输入的情感或情绪相关联的一个或更多个图形。消息收发客户端104可以例如基于排序、流行度、用户简档、随机性、独特性或其任何组合来选择经标识的图形的子集。然后,消息收发客户端104可以将包括图形的AR元素添加至图像或视频中的人穿着的衬衫。消息收发客户端104可以在AR元素的图形中包括所选择的经标识的词语的子集。
在另一实现方式中,消息收发客户端104可以应用一个或更多个已知技术来转录语音输入,以生成包括一个或更多个词语的语音输入的转录。消息收发客户端104可以生成包括转录的一个或更多个词语的AR元素,并且将AR元素添加至图像或视频中的人穿着的衬衫。
在一些实现方式中,消息收发客户端104可以检测在图像或视频中描绘的人穿着的衬衫上物理地书写的短语。消息收发客户端104可以对短语执行词语识别,以标识与描述情感或情绪的形容词相关联的词语。响应于标识与形容词相关联的词语,消息收发客户端104可以生成经标识的词语的AR版本,并且在AR版本中包括表示语音输入的文本。消息收发客户端104可以例如通过将词语的AR版本覆盖在图像或视频中描绘的人穿着的衬衫上的物理词语之上,利用词语的AR版本替换实际词语。以这种方式,消息收发客户端104可以生成新的文本或者修改图像或视频中描绘的人穿着的衬衫上的现有文本,以表示图像或视频中描绘的人的语音输入情感或特性。随着语音输入的特性或特征实时地改变(例如,从与快乐的情感或情绪相关联到与愤怒的情感或情绪相关联),消息收发客户端104可以更新图像或视频中描绘的人穿着的衬衫上显示的AR词语,以表示语音输入的不同特性或特征。
在一些实现方式中,消息收发客户端104可以检测在图像或视频中描绘的人穿着的衬衫上物理地绘制的徽章或徽标。消息收发客户端104可以检测与图像或视频中描绘的人相关联的语音输入中的命令。消息收发客户端104可以基于该命令生成徽章或徽标的AR版本,并且可以例如通过将徽章或徽标的AR版本覆盖到图像或视频中描绘的人穿着的衬衫上的物理徽章或徽标之上,用徽章或徽标的AR版本替换物理徽章或徽标。以这种方式,消息收发客户端104可以修改图像或视频中描绘的人穿着的衬衫上的现有徽章或徽标,以表示与图像或视频中描绘的人相关联的语音输入中的命令。
作为另一示例,消息收发客户端104可以调整图像或视频中的人穿着的衬衫上描绘的AR化身或表情符号的表情,以和与图像或视频中描绘的人相关联的语音输入的特性或特征(例如,语音输入的情感或情绪)相匹配。例如,消息收发客户端104可以检测与图像或视频中描绘的人相关联的语音输入。响应于检测到语音输入,消息收发客户端104可以将一个或更多个机器学习技术应用于语音输入的特性或特征,以检测与语音输入相关联的特定情感或情绪,例如快乐、悲伤、惊讶、困惑、不安等。消息收发客户端104可以搜索与语音输入的情感或情绪相关联的化身或表情符号表情的数据库。然后,消息收发客户端104可以调整图像或视频中描绘的人穿着的衬衫上显示的化身或表情符号的面部表情,以和与图像或视频中描绘的人相关联的语音输入的特性相匹配或相对应。
作为一个示例,消息收发客户端104可以基于与图像或视频中描绘的人相关联地接收到的语音输入来调整时尚物品图案、类型或风格。例如,消息收发客户端104可以处理与图像或视频中描绘的人相关联的语音输入。消息收发客户端104可以确定语音输入包括改变图片或视频中描绘的人穿着的时尚物品的风格、图案或类型的命令或请求。例如,语音输入可以请求将图片或视频中描绘的人穿着的衬衫改变成夹克。作为另一示例,语音输入可以请求将图像或视频中描绘的人穿着的短裙改变成连衣裙。作为另一示例,语音输入可以请求将图像或视频中描绘的人物穿着的短裤换成裤子。时尚物品或衣服可以实际应用于图像中描绘的人的身体,或者可以使用AR试穿体验在AR中应用。然后,消息收发客户端104可以选择与语音输入相关联的时尚物品图案、风格或类型中的给定一个(例如,当语音输入请求将衬衫改变为夹克时的AR夹克),以生成与所选择的时尚物品图案、风格或类型相关联的AR图形元素。消息收发客户端104将AR图形元素应用于图像或视频中描绘的人穿着的时尚物品。因此,消息收发客户端104输出或生成显示,在该显示中,图像或视频中描绘的人正穿着AR图形元素(例如,AR夹克),而不是穿着现实世界时尚物品(例如,衬衫)。
作为一个示例,消息收发客户端104可以基于与图像或视频中描绘的人相关联地接收到的语音输入来调整时尚物品颜色或图案。例如,消息收发客户端104可以处理与图像或视频中描绘的人相关联的语音输入。消息收发客户端104可以确定语音输入包括用于改变图像或视频中描绘的人穿着的时尚物品(例如,衬衫)的颜色或图案(从纯色到波尔卡点)的命令或请求。然后,消息收发客户端104可以确定与语音输入相关联的颜色或图案。消息收发客户端104可以填充下述图形以生成AR图形元素,该图形具有时尚物品(例如,衬衫)的分割的形状和大小并且包括通过语音输入指定的颜色或图案。即,消息收发客户端104可以获得图像或视频中描绘的人穿着的时尚物品的分割,并且生成这样的图形,该图形具有与分割相同的大小和形状并且用通过语音输入指定的颜色或图案填充。消息收发客户端104将AR图形元素应用于图像或视频中描绘的人穿着的时尚物品。因此,消息收发客户端104输出或生成显示,在该显示中,图像或视频中描绘的人穿着的时尚物品的颜色或图案响应于语音输入而改变。
作为一个示例,消息收发客户端104可以基于与图像或视频中描绘的人相关联地接收到的语音输入,选择时尚物品的在其上应用AR元素的区域。例如,消息收发客户端104可以处理与图像或视频中描绘的人相关联的语音输入。消息收发客户端104可以确定与语音输入相关联的音高或频率。然后,消息收发客户端104可以基于与语音输入相关联的音高或频率来选择时尚物品的区域。例如,响应于确定音高或频率在第一阈值以上,消息收发客户端104可以选择时尚物品的上部部分。响应于确定音高或频率介于第二阈值与第一阈值之间,消息收发客户端104可以选择时尚物品的中间部分。响应于确定音调或频率在第二阈值以下,消息收发客户端104可以选择时尚物品的下部部分。消息收发客户端104可以在所选择的部分处将AR图形元素(例如,文本或图形)应用于图像或视频中描绘的人穿着的时尚物品。随着语音输入的音调或频率随时间推移且实时地改变,AR图形元素的放置也可以实时地改变。
作为一个示例,消息收发客户端104可以基于与图像或视频中描绘的人相关联地接收到的语音输入的声学方向,选择时尚物品的在其上应用AR元素的区域。例如,消息收发客户端104可以处理与图像或视频中描绘的人相关联的语音输入。消息收发客户端104可以确定与语音输入相关联的声学方向。然后,消息收发客户端104可以选择时尚物品的在与语音输入相关联的声学方向的路径上的区域。作为示例,当用户在他们讲话时改变其头部的定位时,声学方向也改变并且朝向时尚物品的不同区域聚焦。消息收发客户端104可以在所选择的区域处将AR图形元素(例如,文本或图形)应用于图像或视频中描绘的人穿着的时尚物品。随着语音输入的声学方向随时间推移且实时地改变,AR图形元素的放置也可以实时地改变。
作为一个示例,消息收发客户端104可以显示AR音乐相关元素。在这种情况下,消息收发客户端104可以例如通过检测来自设备麦克风的音乐音频输入来确定在捕获单目图像或视频期间在客户端设备102上正在播放音乐文件。作为响应,消息收发客户端104可以获得以与正在播放的音乐同步的方式与音乐文件相关联的歌词并且生成与歌词的一部分对应的AR歌词(AR音乐相关元素),以供在衬衫上显示。在一个实现方式中,可以通过因特网从远程服务器访问与音乐文件相关联的歌词文件来获得歌词。在另一个实现方式中,可以通过将音乐文件的人声部分转录为对应的AR歌词来实时生成AR歌词。
消息收发客户端104可以呈现与正在回放的音乐的当前回放定位(例如,回放定位1:30(分:秒))对应的第一组AR歌词,以表示歌曲的当前演唱部分。在稍后的时间(例如,在指定的时间间隔例如2秒之后),消息收发客户端104可以用第二组歌词替换出第一组AR歌词以表示歌曲的当前演唱部分,第二组歌词对应于正在回放的音乐的当前、更早或更晚的回放定位(例如,回放定位1:32(分:秒))。AR歌词可以呈现在图像或视频中描绘的用户穿着的衬衫的中心或任何其他合适的位置(例如,袖子或衣领)处。在另一示例中,AR歌词的第一部分最初可以呈现在衬衫的第一部分(例如,衣领)上,然后当AR歌词的第二部分被动画化为进入衬衫的第二部分(例如,袖子)时,AR歌词的第一部分可以保持显示,然后,当AR歌词的第三部分(对应于跟随与歌词的第一部分和第二部分对应的显示定位的后续播放定位)被动画化为进入衬衫的第三部分(例如,中心)时,AR歌词的第一部分和第二部分可以保持显示。在AR歌词的第三部分显示在衬衫的第三部分之后,AR歌词的第四部分可以替换AR歌词的第一部分,使得在此时AR歌词的第四部分与AR歌词的第二部分和第三部分一起被呈现。
作为另一示例,消息收发客户端104可以确定在单目图像或视频的捕获期间在客户端设备102上正在播放音乐文件。作为响应,消息收发客户端104可以获得包括以与正在播放的音乐同步的方式与音乐文件相关联的音符的乐谱,并且基于该乐谱的音符或音符的一部分来生成部分AR音符(AR音乐相关元素)以供在衬衫上显示。在一个实现方式中,可以通过因特网从远程服务器访问与音乐文件相关联的乐谱来获得乐谱。在另一个实现方式中,可以通过将音乐文件的音乐部分转录成对应的AR乐谱实时地生成乐谱的AR音符。
消息收发客户端104可以呈现与正在回放的音乐的当前回放定位(例如,回放定位1:30(分:秒))对应的第一组AR音符(AR音乐相关元素),以表示歌曲的当前播放部分。在稍后时间(例如,在指定的时间间隔例如2秒之后)处,消息收发客户端104可以用正在回放的音乐的当前、更早或更晚回放定位(例如,回放定位1:32(分:秒))所对应的第二组音符替换出第一组AR音符,以表示歌曲的当前播放部分。AR音符可以呈现在图像或视频中描绘的用户穿着的衬衫的中心或任何其他合适的位置(例如,袖子或衣领)处。在另一示例中,AR音符的第一部分最初可以呈现在衬衫的第一部分(例如,衣领)上,然后当音符的第二部分被动画化为进入衬衫的第二部分(例如,袖子)时,AR音符的第一部分可以保持显示,然后,当AR音符的第三部分(对应于跟随与音符的第一部分和第二部分对应的显示定位的后续播放定位)被动画化为进入衬衫的第三部分(例如,中心)时,AR音符的第一部分和第二部分可以保持显示。在AR音符的第三部分显示在衬衫的第三部分上之后,音符的第四部分可以替换AR音符的第一部分,使得在此时音符的第四部分与AR音符的第二部分和第三部分一起被呈现。
在一个示例中,消息收发客户端104可以测量在客户端设备102上正在播放的音乐文件的节拍。消息收发客户端104可以基于节拍来调整将AR音符添加至衬衫/从衬衫上移除的动画节奏或速率。具体地,如果节拍为第一值,则消息收发客户端104可以以第一速率添加/移除AR音符;并且如果节拍为较大的第二值,则消息收发客户端104可以以较快的第二速率添加/移除AR音符。
在另一示例中,消息收发客户端104可以确定与在客户端设备上正在播放的音乐文件相关联的多个乐器。多个乐器中的第一个可以与音符的第一部分相关联,并且多个乐器中的第二个可以与音符的第二部分相关联。例如,多个乐器中的第一个可以包括吉他,并且可以对应于基于音符的第一部分产生的声音。多个乐器中的第一个可以包括鼓(包括钹或重音钹),并且可以对应于基于音符的第二部分与音符的第一部分一起或者在音符的第一部分之后产生的声音。
响应于确定多个乐器中的第一个与第一类型的乐器(例如,吉他或在高音频率范围内产生声音的乐器)相关联,消息收发客户端104可以将音符的第一部分显示在图像或视频中描绘的诸如用户穿着的衬衫的第一时尚物品(例如,服装)上。类似地,响应于确定多个乐器中的第二个与第二类型的乐器(例如,鼓或在低音频率范围内产生声音的乐器)相关联,消息收发客户端104可以将音符的第二部分显示在用户穿戴的诸如裤子或眼镜的第二时尚物品上。在另一个实现方式中,音符相对于图像中描绘的用户的定位可以基于音符产生的声音的频率。即,高于第二范围内的声音的频率的第一范围内的声音的频率可以定位在用户身体上的第一位置处穿着的时尚物品上,该时尚物品高于用户身体上的第二位置处穿着的另一时尚物品。在一些情况下,消息收发客户端104可以在客户端设备102上正在播放的音乐文件的一部分中检测到钹声音。作为响应,消息收发客户端104可以选择AR图形元素或效果(例如,星星、发光效果、闪光效果或任何其他合适的效果),并且生成与钹声音同时的AR图形元素或效果,以供显示。在一个示例中,与钹声音同时显示的AR图形元素或效果可以在图像或视频中的用户穿戴的眼镜的透镜上临时显示指定的时间段(例如,3秒),此后,与钹声音同时显示的AR图形元素或效果从显示中被移除。可以在音符呈现在图像或视频中描绘的用户穿着的其他时尚物品上时呈现该AR图形元素或效果。
在另一示例中,响应于确定多个乐器中的第一个与第一类型的乐器(例如,吉他或在高音频率范围内产生声音的乐器)相关联,消息收发客户端104可以在图像或视频中描绘的诸如用户穿着的衬衫的第一时尚物品(例如,服装)的第一部分上显示第一类型的AR图形元素(或根据第一节奏或速率修改第一时尚物品的第一部分上显示的给定AR元素)。类似地,响应于确定多个乐器中的第二个与第二类型的乐器(例如,鼓或在低音频率范围内产生声音的乐器)相关联,消息收发客户端104可以在用户穿着的第一时尚物品的第二部分上显示第二类型的AR图形元素(或根据第二节奏或速率修改第一时尚物品的第二部分上显示的给定AR元素)。例如,图像中描绘的衬衫的右肩部分可以根据吉他乐器的节奏来改变颜色,而衬衫的左肩部分可以根据音乐文件中的钢琴乐器的节奏来改变颜色。
在另一示例中,消息收发客户端104可以获得与客户端设备102上正在播放的音乐文件相关联的艺术家的图像或视频。消息收发客户端104可以生成包括艺术家的图像或视频的AR元素(AR音乐相关元素)并且将该AR元素显示在用户穿着的衬衫的一部分上。消息收发客户端104可以检测图像或视频中描绘的用户的左右手所做的姿势。基于姿势,消息收发客户端104可以调整衬衫上的包括艺术家的图像或视频的AR元素的纵横比。
在另一示例中,消息收发客户端104访问包括多个回放控制选项的音乐播放器。播放控制选项可以包括音乐选择选项、艺术家选择选项、播放选项、暂停选项、跳过选项、音量控制选项、音乐编辑选项(例如,速度、音高或频率改变)和/或任何其他合适的选项。消息收发客户端104可以生成一个或更多个AR音乐元素(AR音乐相关元素),每个AR音乐元素对应于多个回放控制选项中的不同回放控制选项。消息收发客户端104可以例如通过在用户穿着的衬衫的不同部分上呈现AR音乐元素,将一个或更多个AR音乐元素应用于图像或视频中描绘的用户穿着的衬衫。消息收发客户端104可以访问描绘用户的手的视频馈送,该视频馈送描绘了用户穿着的衬衫上的一个或更多个AR音乐元素。消息收发客户端104确定用户的手在视频馈送中的定位与用户穿着的衬衫上的多个回放控制选项中的给定回放控制选项(例如,暂停回放选项)交叠。作为响应,消息收发客户端104例如通过暂停回放来激活与多个回放控制选项中的给定回放控制选项相关联的音乐播放器功能。在一个实现方式中,对视频中描绘的用户的手应用身体跟踪模型,以确定用户的手在视频馈送中朝向与多个回放控制选项中的给定回放控制选项交叠的定位的移动。
在某些实现方式中,消息收发客户端104实现与图像或视频中描绘的用户穿着的时尚物品进行的多个方向的音乐交互。例如,消息收发客户端104可以启用第一交互,在该第一交互中使用声音作为触发器在图像或视频中描绘的用户或人穿着的时尚物品上呈现AR元素。在这种情况下,消息收发客户端104基于由客户端设备102访问或播放的音乐或声音文件的特性在时尚物品上呈现AR元素。在另一个示例中,消息收发客户端104可以实现第二交互,在该第二交互中音频是基于与图像或视频中描绘的用户或人穿着的时尚物品的用户交互来生成的。具体地,消息收发客户端104可以基于图像或视频中描绘的用户或人将手或身体部位相对于用户或人穿着的时尚物品放置在何处来生成不同的音频输出或声音。
在另一示例中,消息收发客户端104访问音乐创建应用,该音乐创建应用包括多个音乐创建选项。音乐创建选项可以包括音乐风格控制选项、音乐节拍控制选项、音乐乐器控制选项、音乐声音生成选项和任何其他合适的选项。消息收发客户端104可以生成一个或更多个AR音乐元素,每个AR音乐元素对应于多个音乐创建选项中的不同音乐创建选项。消息收发客户端104可以例如通过在用户穿着的衬衫的不同部分上呈现AR音乐AR元素,将一个或更多个AR音乐元素应用于图像或视频中描绘的用户穿着的衬衫。消息收发客户端104可以访问描绘用户的手的视频馈送,该视频馈送描绘了用户穿着的衬衫上的一个或更多个AR音乐元素。消息收发客户端104确定用户的手在视频馈送中的定位与用户穿着的衬衫上的多个音乐创建选项中的给定音乐创建选项(例如,音乐声音生成选项)交叠。作为响应,消息收发客户端104基于与多个音乐创建选项中的给定个音乐创建选项相关联的音符,生成音频信号或者修改客户端设备102上正在播放的当前音乐文件。在一个实现方式中,对视频中描绘的用户的手应用身体跟踪模型,以确定用户的手在视频馈送中朝向与多个回放控制选项中的给定回放控制选项交叠的定位的移动。
在一个示例中,用户的手可以被检测为与显示有第一AR音乐元素的衬衫的左袖部分交叠。作为响应,选择并激活第一音乐创建选项,以生成与第一音乐创建选项对应的音频信号。在另一示例中,用户的手可以被检测为与显示有第二AR音乐元素的衬衫的右袖部分交叠。作为响应,选择并激活第二音乐创建选项,以生成与第二音乐创建选项对应的音频信号。因此,消息收发客户端104使得不同的时尚物品和品牌能够通过音乐或音频生成来增强用户的情感体验。
系统架构
图2是示出根据一些示例的关于消息收发系统100的另外的细节的框图。具体地,消息收发系统100被示为包括消息收发客户端104和应用服务器114。消息收发系统100包含若干子系统,这些子系统在客户端侧由消息收发客户端104支持并且在服务器侧由应用服务器114支持。这些子系统包括例如短暂定时器系统202、集合管理系统204、增强系统208、地图系统210、游戏系统212、以及外部资源系统220。
短暂定时器系统202负责实施消息收发客户端104和消息收发服务器118对内容的临时或时间受限访问。短暂定时器系统202包含若干定时器,这些定时器基于与消息或消息的集合(例如,故事)相关联的持续时间和显示参数,选择性地实现经由消息收发客户端104访问消息和相关联的内容(例如,用于呈现和显示)。下面提供关于短暂定时器系统202的操作的另外的细节。
集合管理系统204负责管理媒体的合集或集合(例如,文本、图像视频和音频数据的集合)。内容(例如,消息,包括图像、视频、文本和音频)的集合可以被组织成“事件图库”或“事件故事”。这样的集合可以在指定的时间段内(例如,与内容相关的事件的持续时间内)可用。例如,可以使与音乐会有关的内容在音乐会的持续时间内作为“故事”可用。集合管理系统204还可以负责向消息收发客户端104的用户界面发布提供特定集合的存在的通知的图标。
此外,集合管理系统204还包括策展接口206,策展接口206允许集合管理者管理和策展特定内容集合。例如,策展接口206使得事件组织器能够策展与特定事件有关的内容的集合(例如,删除不适当的内容或冗余消息)。此外,集合管理系统204采用机器视觉(或图像识别技术)和内容规则来对内容集合进行自动策展。在某些示例中,可以针对将用户生成的内容包括到集合中而向用户支付补偿。在这样的情况下,集合管理系统204进行操作以自动地向这样的用户支付费用以使用其内容。
增强系统208提供使得用户能够增强(例如,注解或以其他方式修改或编辑)与消息相关联的媒体内容的各种功能。例如,增强系统208提供与生成和发布针对由消息收发系统100处理的消息的媒体覆盖(media overlay)有关的功能。增强系统208基于客户端设备102的地理位置可操作地向消息收发客户端104提供媒体覆盖或增强(例如,图像过滤器)。在另一示例中,增强系统208基于诸如客户端设备102的用户的社交网络信息的其他信息可操作地向消息收发客户端104提供媒体覆盖。媒体覆盖可以包括音频和视觉内容以及视觉效果。音频和视觉内容的示例包括图片、文本、徽标、动画和声音效果。视觉效果的示例包括颜色覆盖。音频和视觉内容或视觉效果可以被应用于客户端设备102处的媒体内容项(例如,照片)。例如,媒体覆盖可以包括可以覆盖在由客户端设备102拍摄的照片上的文本、图形元素或者图像。在另一示例中,媒体覆盖包括位置标识覆盖(例如,威尼斯海滩)、实况事件的名称或商家名称覆盖(例如,海滩咖啡馆)。在另一示例中,增强系统208使用客户端设备102的地理位置来标识包括客户端设备102的地理位置处的商家名称的媒体覆盖。媒体覆盖可以包括与商家相关联的其他标记。媒体覆盖可以被存储在数据库126中并且通过数据库服务器120进行访问。
在一些示例中,增强系统208提供基于用户的发布平台,该基于用户的发布平台使得用户能够在地图上选择地理位置并上传与所选择的地理位置相关联的内容。用户还可以指定特定媒体覆盖应当被提供给其他用户的环境。增强系统208生成包括所上传的内容并且将所上传的内容与所选择的地理位置相关联的媒体覆盖。
在其他示例中,增强系统208提供基于商家的发布平台,该基于商家的发布平台使得商家能够经由竞标过程选择与地理位置相关联的特定媒体覆盖。例如,增强系统208使最高出价商家的媒体覆盖与对应地理位置相关联达预定义时间量。增强系统208与图像处理服务器122通信以获得AR体验,并且在一个或更多个用户界面中呈现这样的体验的标识符(例如,作为实时图像或视频上的图标,或作为专用于所呈现的AR体验的标识符的界面中的缩略图或图标)。一旦选择了AR体验,则检索一个或更多个图像、视频或AR图形元素,并将其呈现为在由客户端设备102捕获的图像或视频之上的覆盖物。在一些情况下,摄像装置被切换至正面视角(例如,客户端设备102的前置摄像装置响应于特定AR体验的激活而被激活),并且来自客户端设备102的前置摄像装置而不是客户端设备102的后置摄像装置的图像开始显示在客户端设备102上。一个或更多个图像、视频或AR图形元素被检索并呈现为在由客户端设备102的前置摄像装置捕获和显示的图像之上的覆盖物。
在其他示例中,增强系统208能够经由网络112与另一客户端设备102上的另一增强系统208以及服务器通信并交换数据。交换的数据可以包括:标识共享AR会话的会话标识符;第一客户端设备102与第二客户端设备102(例如,多个客户端设备102,包括第一设备和第二设备)之间的变换,该变换用于将共享AR会话对准至共同原点;共同坐标系;功能(例如,用于激活函数的命令)以及其他净荷数据(例如,文本、音频、视频或其他多媒体数据)。
增强系统208将变换发送至第二客户端设备102,使得第二客户端设备102可以基于该变换来调整AR坐标系。以这种方式,第一客户端设备102和第二客户端设备102将它们的坐标系(coordinate systems and frames)同步以显示AR会话中的内容。具体地,增强系统208计算第二客户端设备102在第一客户端设备102的坐标系中的原点。然后,增强系统208可以基于从第二客户端设备102的角度来看的该原点在第二客户端设备102的坐标系中的位置来确定第二客户端设备102的坐标系中的偏移量。使用该偏移量生成变换,使得第二客户端设备102根据与第一客户端设备102的共同坐标系生成AR内容。
增强系统208可以与客户端设备102通信,以建立单独或共享的AR会话。增强系统208还可以耦接至消息收发服务器118以在共享AR会话中为客户端设备102建立电子群组通信会话(例如,群组聊天、即时消息收发)。可以使电子群组通信会话与由客户端设备102提供的会话标识符相关联以获得对电子群组通信会话和共享AR会话的访问权限。在一个示例中,客户端设备102首先获得对电子群组通信会话的访问权限,并且然后在电子群组通信会话中获得允许客户端设备102访问共享AR会话的会话标识符。在一些示例中,客户端设备102能够在无需应用服务器114中的增强系统208的帮助或与应用服务器114中的增强系统208通信的情况下访问共享AR会话。
地图系统210提供各种地理位置功能,并且支持由消息收发客户端104呈现基于地图的媒体内容和消息。例如,地图系统210使得能够在地图上显示(例如,存储在简档数据316中的)用户图标或化身,以指示用户的“朋友”的当前或过去位置,以及由这样的朋友在地图的上下文内生成的媒体内容(例如,包括照片和视频的消息的集合)。例如,可以在消息收发客户端104的地图界面上将用户从特定地理位置发布到消息收发系统100的消息在地图的该特定位置的上下文内显示给特定用户的“朋友”。用户还可以经由消息收发客户端104与消息收发系统100的其他用户(例如,使用适当的状态化身)共享他或她的位置和状态信息,其中该位置和状态信息在消息收发客户端104的地图界面的上下文内被类似地显示给选定用户。
游戏系统212在消息收发客户端104的上下文中提供各种游戏功能。消息收发客户端104提供游戏界面,该游戏界面提供可用游戏(例如,基于web的游戏或基于web的应用)的列表,该游戏可以由用户在消息收发客户端104的上下文内启动并且与消息收发系统100的其他用户一起玩。消息收发系统100还使得特定用户能够通过从消息收发客户端104向其他用户发出邀请来邀请这样的其他用户参与玩特定游戏。消息收发客户端104还支持玩游戏上下文内的语音消息收发和文本消息收发两者(例如,聊天)、为游戏提供排行榜,并且还支持提供游戏内奖励(例如,游戏币和物品)。
外部资源系统220向消息收发客户端104提供用于与外部应用服务器110通信以启动或访问外部资源的接口。每个外部资源(应用)服务器110托管例如基于标记语言(例如,HTML5)的应用或外部应用的小规模版本(例如,消息收发客户端104外部的游戏、实用程序、支付或骑乘共享应用)。消息收发客户端104可以通过从与基于web的资源相关联的外部资源(应用)服务器110访问HTML5文件来启动该基于web的资源(例如,应用)。在某些示例中,利用由消息收发服务器118提供的软件开发工具包(SDK)以JavaScript对由外部资源服务器110托管的应用进行编程。SDK包括具有可以由基于web的应用调用或激活的功能的API。在某些示例中,消息收发服务器118包括JavaScript库,该JavaScript库向给定的第三方资源提供对消息收发客户端104的某些用户数据的访问。HTML5被用作用于对游戏进行编程的示例技术,但是可以使用基于其他技术编程的应用和资源。
为了将SDK的功能集成到基于web的资源中,由外部资源(应用)服务器110从消息收发服务器118下载SDK或者由外部资源(应用)服务器110以其他方式来接收SDK。一旦被下载或接收,SDK就被包括为基于web的外部资源的应用代码的一部分。基于web的资源的代码然后可以调用或激活SDK的某些功能以将消息收发客户端104的特征集成至基于web的资源中。
存储在消息收发服务器118上的SDK有效地提供了外部资源(例如,第三方或外部应用109或小程序与消息收发客户端104)之间的桥接。这为用户提供了与消息收发客户端104上的其他用户交流的无缝体验,同时还保留了消息收发客户端104的外观和感觉。为了桥接外部资源与消息收发客户端104之间的通信,在某些示例中,SDK促进外部资源服务器110与消息收发客户端104之间的通信。在某些示例中,在客户端设备102上运行的WebViewJavaScriptBridge在外部资源与消息收发客户端104之间建立两个单向通信信道。在外部资源与消息收发客户端104之间经由这些通信通道异步地发送消息。每个SDK功能激活被作为消息和回调而发送。每个SDK功能通过构造独特的回调标识符以及发送具有该回调标识符的消息来实现。
通过使用SDK,并非所有来自消息收发客户端104的信息都与外部资源服务器110共享。SDK基于外部资源的需求来限制共享哪些信息。在某些示例中,每个外部资源服务器110将与基于web的外部资源对应的HTML5文件提供给消息收发服务器118。消息收发服务器118可以在消息收发客户端104中添加基于web的外部资源的视觉表示(例如,盒设计(boxart)或其他图形)。一旦用户选择视觉表示或者指示消息收发客户端104通过消息收发客户端104的图形用户界面访问基于web的外部资源的特征,消息收发客户端104则获得HTML5文件并且使访问基于web的外部资源的特征所需的资源实例化。
消息收发客户端104呈现针对外部资源的图形用户界面(例如,登录页面或标题画面)。在呈现登录页面或标题画面期间、之前或之后,消息收发客户端104确定所启动的外部资源是否先前已经被授权访问消息收发客户端104的用户数据。响应于确定启动的外部资源先前已被授权访问消息收发客户端104的用户数据,消息收发客户端104呈现外部资源的另一图形用户界面,其包括外部资源的功能和特征。响应于确定所启动的外部资源先前未被授权访问消息收发客户端104的用户数据,在显示外部资源的登录页面或标题画面的阈值时间段(例如,3秒)之后,消息收发客户端104滑动用于授权外部资源访问用户数据的菜单(例如,将菜单动画化为从画面底部浮现到画面的中间或其他部分)。该菜单标识外部资源将被授权使用的用户数据的类型。响应于接收到对接受选项的用户选择,消息收发客户端104将外部资源添加到已授权外部资源的列表,并且使得外部资源能够访问来自消息收发客户端104的用户数据。在一些示例中,由消息收发客户端104根据OAuth 2框架来授权外部资源访问用户数据。
消息收发客户端104基于被授权的外部资源的类型来控制与外部资源共享的用户数据的类型。例如,向包括全规模的外部应用(例如,第三方或外部应用109)的外部资源提供对第一类型的用户数据(例如,具有或不具有不同化身特性的用户的仅2D化身)的访问。作为另一示例,向包括外部应用的小规模版本(例如,第三方应用的基于web的版本)的外部资源提供对第二类型的用户数据(例如,支付信息、用户的2D化身、用户的3D化身、以及具有各种化身特性的化身)的访问。化身特性包括定制化身的外观和感觉(例如,不同姿态、面部特征、衣服等)的不同方式。
AR时尚控制系统224对图像(或视频)中描绘的用户穿着的时尚物品(例如衬衫)或者对图像(或视频)中描绘的多个用户各自穿着的多个时尚物品进行分割。下文结合图5示出并描述AR时尚控制系统224的示意性实现方式。
具体地,AR时尚控制系统224是可以由在客户端设备102上实现的AR/VR应用访问的部件。AR/VR应用使用RGB摄像装置来捕获用户和用户穿着的一个或多个服装(可替选地,称为时尚物品)的单目图像。AR/VR应用将各种经训练的机器学习技术应用于所捕获的穿着服装的用户的图像以分割图像中的用户所穿的服装(例如,衬衫、夹克、裤子、连衣裙等)并且将一个或更多个AR视觉效果(例如,基于游戏的AR元素)应用于所捕获的图像。对服装进行分割得到在图像或视频中出现的服装的边界的轮廓。经分割的服装的边界内的像素与用户所穿的服装或衣服对应。经分割的服装用于将用户所穿的衣服或服装与可以被单独分割和跟踪的图像中描绘的其他对象或元素诸如用户的身体部位(例如,手臂、头部、腿部等)以及图像的背景区分开。在一些实现方式中,AR/VR应用实时地或周期性地连续捕获穿着服装的用户的图像以连续地或周期性地更新所应用的一个或更多个视觉效果。这使得用户能够在现实世界中四处移动并且实时地查看一个或更多个视觉效果更新。
为了使AR/VR应用根据所捕获的RGB图像直接应用一个或更多个视觉效果,AR/VR应用从AR时尚控制系统224获得经训练的机器学习技术。经训练的机器学习技术对所捕获的RGB图像进行处理,以根据所捕获的图像生成与所捕获的RGB图像中描绘的用户穿着的服装对应的分割。
在训练中,AR时尚控制系统224获得包括对穿着不同服装的一个或更多个用户的描绘的第一多个输入训练图像。这些训练图像还提供与每个图像中描绘的用户穿着的服装的分割有关的真值信息(ground truth)。基于多个训练图像的特征来训练机器学习技术(例如,深度神经网络)。具体地,第一机器学习技术从给定训练图像中提取一个或更多个特征,并且估计给定训练图像中描绘的用户穿着的服装的分割。机器学习技术获得与训练图像对应的真值信息并且调整或更新一个或更多个系数或参数以改进对服装诸如衬衫的分割的后续估计。
数据架构
图3是示出根据某些示例的可以存储在消息收发服务器系统108的数据库126中的数据结构300的示意图。虽然数据库126的内容被示为包括若干表,但是将认识到,数据可以以其他类型的数据结构进行存储(例如,作为面向对象的数据库)。
数据库126包括存储在消息表302中的消息数据。对于任何特定的一个消息,该消息数据至少包括消息发送者数据、消息接收方(或接收者)数据和净荷。下面参照图4描述关于可以被包括在消息中并且被包括在存储于消息表302中的消息数据内的信息的另外的细节。
实体表306存储实体数据,并且(例如,以参考的方式)链接至实体图308和简档数据316。其记录被维护在实体表306内的实体可以包括个人、公司实体、组织、对象、地点、事件等。与实体类型无关地,消息收发服务器系统108存储关于其的数据的任何实体可以是被识别的实体。每个实体被提供独特标识符以及实体类型标识符(未示出)。
实体图308存储与实体之间的关系和关联有关的信息。仅作为示例,这样的关系可以是社交的、职业的(例如,在共同的公司或组织工作)、基于兴趣的或基于活动的。
简档数据316存储关于特定实体的多种类型的简档数据。基于由特定实体指定的隐私设置,简档数据316可以被选择性地使用并呈现给消息收发系统100的其他用户。在实体是个人的情况下,简档数据316包括例如用户名、电话号码、地址、设置(例如,通知和隐私设置)、以及用户选择的化身表示(或这样的化身表示的集合)。然后,特定用户可以将这些化身表示中的一个或更多个化身表示选择性地包括在经由消息收发系统100传送的消息的内容内以及包括在由消息收发客户端104向其他用户显示的地图界面上。化身表示的集合可以包括“状态化身”,其呈现用户可以选择在特定时间传达的状态或活动的图形表示。
在实体是团体的情况下,除了团体名称、成员以及针对相关团体的各种设置(例如,通知)之外,针对团体的简档数据316还可以类似地包括与团体相关联的一个或更多个化身表示。
数据库126还在增强表310中存储增强数据,例如覆盖物(overlay)或过滤器(filters)。增强数据与视频(视频的数据被存储在视频表304中)和图像(图像的数据被存储在图像表312中)相关联并且被应用于视频和图像。
数据库126还可以存储与单独的和共享的AR会话有关的数据。该数据可以包括在第一客户端设备102的AR会话客户端控制器与第二客户端设备102的另一AR会话客户端控制器之间传送的数据,以及在AR会话客户端控制器与增强系统208之间传送的数据。数据可以包括用于建立共享AR场景的共同坐标系、设备之间的变换、会话标识符、描绘身体的图像、骨骼关节位置、腕关节位置、脚等的数据。
在一个示例中,过滤器是在向接收方用户呈现期间被显示为覆盖在图像或视频上的覆盖物。过滤器可以是各种类型的,包括当发送用户正在编写消息时由消息收发客户端104呈现给发送用户的一组过滤器中的用户选择的过滤器。其他类型的过滤器包括地理位置过滤器(也称为地理过滤器),可以基于地理位置将其呈现给发送用户。例如,可以基于由客户端设备102的全球定位系统(GPS)单元确定的地理位置信息,由消息收发客户端104在用户界面内呈现特定于附近或特定位置的地理位置过滤器。
另一类型的过滤器是数据过滤器,该数据过滤器可以由消息收发客户端104基于在消息创建过程期间由客户端设备102收集的其他输入或信息选择性地呈现给发送用户。数据过滤器的示例包括特定位置处的当前温度、发送用户行进的当前速度、客户端设备102的电池寿命或当前时间。
可以被存储在图像表312内的其他增强数据包括AR内容项(例如,与应用AR体验对应)。AR内容项或AR项可以是可以被添加至图像或视频的实时特殊效果和声音。
如上所述,增强数据包括AR内容项、覆盖物、图像变换、AR图像、AR徽标或徽章以及涉及可以应用于图像数据(例如,视频或图像)的修改的类似项。这包括实时修改,实时修改在使用客户端设备102的设备传感器(例如,一个或多个摄像装置)捕获到图像时对图像进行修改并且然后在客户端设备102的屏幕上显示具有所述修改的图像。这还包括对所存储的内容(例如,图库中可以被修改的视频剪辑)的修改。例如,在能够访问多个AR内容项的客户端设备102中,用户可以将单个视频剪辑与多个AR内容项一起使用来查看不同的AR内容项将如何修改所存储的剪辑。例如,通过为内容选择不同的AR内容项,可以将应用不同伪随机移动模型的多个AR内容项应用于相同内容。类似地,可以将实时视频捕获与所示修改一起使用,以示出当前由客户端设备102的传感器捕获的视频图像将如何修改所捕获的数据。这样的数据可以仅在屏幕上显示而不存储在存储器中,或者由设备传感器捕获的内容可以在进行或不进行修改的情况(或者在这两种情况)下被记录并存储在存储器中。在一些系统中,预览特征可以同时示出不同的AR内容项在显示器中的不同窗口内看起来如何。这可以例如使得能够同时在显示器上查看具有不同伪随机动画的多个窗口。
因此,数据以及使用AR内容项的各种系统或使用该数据来修改内容的其他这样的变换系统可以涉及:对象(例如,面部、手、身体、猫、狗、表面、对象等)的检测;在这样的对象离开视频帧中的视场、进入视频帧中的视场以及在视频帧中的视场四处移动时对其进行跟踪;以及在跟踪这样的对象时对其进行修改或变换。在各种示例中,可以使用用于实现这样的变换的不同的方法。一些示例可以涉及:生成一个或多个对象的3D网格模型,以及在视频内使用模型的变换和动画纹理来实现变换。在其他示例中,可以利用对对象上的点进行跟踪来将图像或纹理(其可以是2D或3D的)放置在跟踪位置处。在又一示例中,可以使用对视频帧的神经网络分析来将图像、模型或纹理放置在内容(例如,图像或视频的帧)中。因此,AR内容项既指用于在内容中创建转换的图像、模型和纹理,也指使用对象检测、追踪和放置来实现这样的转换所需的附加的建模和分析信息。
可以利用保存在任何种类的计算机化系统的存储器中的任何种类的视频数据(例如,视频流、视频文件等)来执行实时视频处理。例如,用户可以加载视频文件并将它们保存在设备的存储器中,或者可以使用设备的传感器来生成视频流。此外,可以使用计算机动画模型来处理任何对象,例如人的面部和人体部位、动物、或非生命事物(例如椅子、汽车或其他对象)。
在一些示例中,当连同要变换的内容一起选择特定修改时,由计算设备来标识要变换的元素,并且然后如果所述元素存在于视频的帧中,则检测并跟踪它们。根据修改请求来修改对象的元素,从而变换视频流的帧。针对不同类型的变换,可以通过不同的方法来执行对视频流的帧的变换。例如,对于主要涉及改变对象的元素的形式的帧变换,计算对象的每个元素的特征点(例如,使用主动形状模型(Active Shape Model,ASM)或其他已知方法)。然后,针对对象的至少一个元素中的每个元素生成基于特性点的网格。该网格被用于跟踪视频流中的对象的元素的后续阶段。在跟踪过程中,将所提及的用于各元素的网格与各元素的位置对准。然后,在网格上生成附加点。基于修改请求针对每个元素生成第一组第一点,并且基于该组第一点和修改请求针对每个元素生成一组第二点。然后,可以通过基于该组第一点、该组第二点和网格修改对象的元素来对视频流的帧进行变换。在这样的方法中,也可以通过跟踪和修改背景来改变经修改对象的背景或使其发生扭曲。
在一些示例中,可以通过计算对象的每个元素的特性点以及基于所计算的特性点生成网格来执行使用对象的元素改变对象的一些区域的变换。在网格上生成点,然后基于所述点生成各种区域。然后通过将针对每个元素的区域与针对至少一个元素中的每个元素的位置对准来跟踪对象的元素,并且可以基于修改请求来修改区域的属性,从而对视频流的帧进行变换。取决于具体的修改请求,可以以不同的方式对所提及区域的属性进行变换。这样的修改可以涉及:改变区域的颜色;从视频流的帧中移除至少一些部分区域;将一个或更多个新对象包括在基于修改请求的区域中;以及修改或扭曲区域或对象的元素。在各种示例中,可以使用这样的修改的任何组合或其他类似修改。对于要被动画化的某些模型,可以选择一些特性点作为要用于确定针对模型动画的选项的整个状态空间的控制点。
在用于使用面部检测来变换图像数据的计算机动画模型的一些示例中,使用特定的面部检测算法(例如,Viola-Jones)在图像上检测面部。然后,将ASM算法应用于图像的面部区域以检测面部特征参考点。
可以使用适于面部检测的其他方法和算法。例如,在一些示例中,使用界标来定位特征,界标表示存在于所考虑的大多数图像中的可区分点。例如,对于面部界标,可以使用左眼瞳孔的位置。如果初始界标不可标识(例如,在人带眼罩的情况下),则可以使用次级界标。这样的界标标识过程可以用于任何这样的对象。在一些示例中,一组界标形成形状。可以使用形状中的点的坐标来将形状表示为矢量。利用使形状点之间的平均欧几里得距离最小化的相似性变换(其允许平移、缩放和旋转)来将一个形状与另一个形状对准。平均形状(mean shape)是经对准的训练形状的平均值。
在一些示例中,从与由全局面部检测器确定的面部的位置和大小对准的平均形状开始搜索界标。然后,这样的搜索重复以下步骤:通过对每个点周围的图像纹理进行模板匹配以调整形状点的位置来建议暂定形状,并且然后使暂定形状符合全局形状模型,直到发生收敛。在一些系统中,单独的模板匹配是不可靠的,并且形状模型对弱模板匹配的结果进行池化,以形成较强的整体分类器。在从粗分辨率到细分辨率的图像金字塔中的每一级处重复整个搜索。
变换系统可以在客户端设备(例如,客户端设备102)上捕获图像或视频流,并且在维持适当的用户体验、计算时间和功耗的同时,在客户端设备102上本地执行复杂的图像操纵。复杂的图像操纵可以包括大小和形状改变、情绪转变(例如,将面部从皱眉改变为微笑)、状态转变(例如,使主体变老、减小外表年龄、改变性别)、风格转变、图形元素应用以及由已经被配置成在客户端设备102上有效地执行的卷积神经网络实现的任何其他合适的图像或视频操纵。
在一些示例中,用于变换图像数据的计算机动画模型可以由下述系统使用:在所述系统中,用户可以使用具有神经网络的客户端设备102来捕获用户的图像或视频流(例如,自拍),其中神经网络作为在客户端设备102上操作的消息收发客户端104的一部分来操作。在消息收发客户端104内操作的变换系统确定图像或视频流内的面部的存在,并且提供与用于变换图像数据的计算机动画模型相关联的修改图标,或者计算机动画模型可以与本文描述的界面相关联地存在。该修改图标包括下述改变,所述改变可以是作为修改操作的一部分的用于修改图像或视频流内的用户面部的基础。一旦选择了修改图标,则变换系统发起转换用户的图像以反映所选择的修改图标(例如,为用户生成微笑面部)的处理。一旦捕获到图像或视频流并且选择了指定的修改,就可以在客户端设备102上显示的图形用户界面中呈现经修改的图像或视频流。变换系统可以针对图像或视频流的一部分实施复杂的卷积神经网络,以生成并应用所选择的修改。也就是说,用户可以捕获图像或视频流,并且一旦选择了修改图标,就可以实时或接近实时地向用户呈现修改后的结果。此外,在正捕获视频流并且所选择的修改图标保持切换时,修改可以是持久的。机器学习的神经网络可以用于实现这样的修改。
呈现由变换系统执行的修改的图形用户界面可以向用户提供附加的交互选项。这样的选项可以基于用于发起对特定计算机动画模型的选择和内容捕获的界面(例如,从内容创建者用户界面来发起)。在各种示例中,在最初选择了修改图标之后,修改可以是持久的。用户可以通过轻击或以其他方式选择正由变换系统修改的面部来开启或关闭修改,并将其存储以供后面观看或浏览到成像应用的其他区域。在由变换系统修改了多个面部的情况下,用户可以通过轻击或选择在图形用户界面内修改和显示的单个面部来全局地将修改切换为打开或关闭。在一些示例中,可以单独修改一组多个面部中的各个面部,或者可以通过轻击或选择图形用户界面内显示的单个面部或一系列面部来单独切换这样的修改。
故事表314存储与消息和相关联的图像、视频或音频数据的集合有关的数据,这些消息和相关联的图像、视频或音频数据被汇编成集合(例如,故事或图库)。特定集合的创建可以由特定用户(例如,其记录被维护在实体表306中的每个用户)发起。用户可以创建呈已经由该用户创建和发送/广播的内容的集合的形式的“个人故事”。为此,消息收发客户端104的用户界面可以包括用户可选择的图标,以使得发送用户能够将特定内容添加至他或她的个人故事。
集合还可以构成“实况故事”,该“实况故事”是手动地、自动地或使用手动技术和自动技术的组合创建的来自多个用户的内容的集合。例如,“实况故事”可以构成来自各种位置和事件的用户提交的内容的策展流。其客户端设备启用了位置服务并且在特定时间处于共同位置事件处的用户可以例如经由消息收发客户端104的用户界面而被呈现将内容贡献给特定实况故事的选项。可以由消息收发客户端104基于用户的位置向他或她标识实况故事。最终结果是从社区角度讲述的“实况故事”。
另一类型的内容集合被称为“位置故事”,“位置故事”使得其客户端设备102位于特定地理位置(例如,在学院或大学校园)内的用户能够对特定集合做出贡献。在一些示例中,对位置故事的贡献可能需要二级认证,以验证最终用户属于特定的组织或其他实体(例如,是大学校园的学生)。
如以上提及的,视频表304存储视频数据,在一个示例中,该视频数据与其记录被维护在消息表302内的消息相关联。类似地,图像表312存储与其消息数据被存储在实体表306中的消息相关联的图像数据。实体表306可以使来自增强表310的各种增强与存储在图像表312和视频表304中的各种图像和视频相关联。
经训练的机器学习技术307存储在AR时尚控制系统224的训练期间训练的参数。例如,经训练的机器学习技术307存储一个或更多个神经网络机器学习技术的经训练的参数。
分割训练图像309存储多个图像,每个图像描绘穿着不同服装的一个或更多个用户。存储在分割训练图像309中的多个图像包括对穿着不同服装的一个或更多个用户的各种描绘以及对服装的分割,该分割指示图像中的哪些像素对应于服装以及图像中的哪些像素对应于背景或用户的身体部位。即,分割提供了图像中描绘的服装的边界。这些分割训练图像309被AR时尚控制系统224用于训练机器学习技术,该机器学习技术用于生成对接收到的RGB单目图像中描绘的一个或更多个服装的分割。在一些情况下,分割训练图像309包括相应训练单目图像中描绘的一个或更多个身体的真值骨骼关键点,以增强对服装的各种区别属性(例如,肩带、衣领或袖子)的分割性能。在一些情况下,分割训练图像309包括图像中描绘的身体的多个图像分辨率。分割训练图像309可以包括经标记和未经标记的图像和视频数据。分割训练图像309可以包括对特定用户的全身的描绘、缺少对任何用户的描绘的图像(例如,负图像(negative image))、对穿着不同服装的多个用户的描绘以及对距图像捕获设备不同距离处的穿着服装的用户的描绘。
数据通信架构
图4是示出根据一些示例的消息400的结构的示意图,消息400由消息收发客户端104生成,以用于传送至另外的消息收发客户端104或消息收发服务器118。特定消息400的内容用于填充存储在可由消息收发服务器118访问的数据库126内的消息表302。类似地,消息400的内容作为客户端设备102或应用服务器114的“运输中(in-transit)”或“飞行中(in-flight)”数据存储在存储器中。消息400被示出为包括以下示例组成部分。
·消息标识符402:标识消息400的唯一标识符。
·消息文本净荷404:要由用户经由客户端设备102的用户界面生成并且包括在消息400中的文本。
·消息图像净荷406:由客户端设备102的摄像装置部件捕获的或从客户端设备102的存储器部件检索的并且包括在消息400中的图像数据。针对已发送或接收的消息400的图像数据可以存储在图像表312中。
·消息视频净荷408:由摄像装置部件捕获的或者从客户端设备102的存储器部件检索的并且包括在消息400中的视频数据。针对已发送或接收的消息400的视频数据可以存储在视频表304中。
·消息音频净荷410:由麦克风捕获的或从客户端设备102的存储器部件检索的并且包括在消息400中的音频数据。
·消息增强数据412:表示要应用于消息400的消息图像净荷406、消息视频净荷408或消息音频净荷410的增强的增强数据(例如,过滤器、标贴或其他标注或增强)。针对已发送或接收的消息400的增强数据可以存储在增强表310中。
·消息持续时间参数414:以秒为单位指示消息的内容(例如,消息图像净荷406、消息视频净荷408、消息音频净荷410)将经由消息收发客户端104呈现给用户或使其可由用户访问的时间量的参数值。
·消息地理位置参数416:与消息的内容净荷相关联的地理位置数据(例如,纬度坐标和经度坐标)。在净荷中可以包括多个消息地理位置参数416值,这些参数值中的每个参数值都与包括在内容中的内容项(例如,消息图像净荷406内的特定图像,或消息视频净荷408中的特定视频)相关联。
·消息故事标识符418:标识与消息400的消息图像净荷406中的特定内容项相关联的一个或更多个内容集合(例如,故事表314中标识的“故事”)的标识符值。例如,可以使用标识符值将消息图像净荷406内的多个图像各自与多个内容集合相关联。
·消息标签420:每个消息400可以用多个标签来标记,所述多个标签中的每一个指示消息净荷中包括的内容的主题。例如,在消息图像净荷406中包括的特定图像描绘动物(例如,狮子)的情况下,指示相关动物的标签值可以被包括在消息标签420内。标签值可以基于用户输入手动生成,或者可以使用例如图像识别自动生成。
·消息发送者标识符422:指示在其上生成消息400以及从其发送消息400的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
·消息接收者标识符424:指示消息400寻址到的客户端设备102的用户的标识符(例如,消息收发系统标识符、电子邮件地址或设备标识符)。
消息400的各组成部分的内容(例如,值)可以是指向在其内存储内容数据值的表中的位置的指针。例如,消息图像净荷406中的图像值可以是指向图像表312内的位置的指针(或图像表312内的位置的地址)。类似地,消息视频净荷408内的值可以指向存储在视频表304内的数据,存储在消息增强数据412中的值可以指向存储在增强表310中的数据,存储在消息故事标识符418中的值可以指向存储在故事表314中的数据,并且存储在消息发送者标识符422和消息接收者标识符424中的值可以指向存储在实体表306中的用户记录。
AR时尚控制系统
图5是示出根据示例的示例AR时尚控制系统224的框图。AR时尚控制系统224包括一组部件510,该组部件510对一组输入数据(例如,描绘穿着衬衫的用户的现实身体的单目图像501和上装分割训练图像数据502)进行操作。该组输入数据是在训练阶段期间从存储在数据库(图3)中的分割训练图像309获得的,并且是在例如消息收发客户端104使用AR/VR应用时从客户端设备102的RGB摄像装置获得的。AR时尚控制系统224包括机器学习技术模块512、骨骼关键点模块511、上装分割模块514、图像修改模块518、AR效果选择模块519、3D身体跟踪模块513、全身分割模块515和图像显示模块520。
在训练期间,AR时尚控制系统224从分割训练图像数据502接收给定训练图像或视频(例如,描绘穿着服装的用户的现实身体的单目图像501,诸如穿着衬衫(短袖、T恤或长袖)、夹克、背心、毛衣等)、下身服装(例如,裤子或短裙)、全身服装(例如,连衣裙或长大衣)或其任何合适的组合的用户的图像,或者描绘同时穿着上身服装、下身服装或全身服装的相应组合的多个用户的图像)。AR时尚控制系统224使用机器学习技术模块512将一个或更多个机器学习技术应用于给定训练图像或视频。机器学习技术模块512从给定训练图像或视频中提取一个或更多个特征以估计图像中描绘的用户穿着的服装的分割。例如,机器学习技术模块512获得描绘穿着衬衫的用户的给定训练图像或视频。机器学习技术模块512从图像中提取特征,并且分割或指定图像中哪些像素与用户穿着的衬衫对应,以及哪些像素与背景对应或者与用户的身体部位对应。即,由机器学习技术模块512输出的分割标识给定训练图像中的用户穿着的服装(例如,衬衫)的边界。
机器学习技术模块512检索与给定训练图像或视频相关联的服装分割信息。机器学习技术模块512将所估计的分割(在图像中存在多个用户的情况下,所估计的分割可以包括对图像中相应用户穿着的多个服装的标识)与作为分割训练图像数据502的一部分提供的真值服装分割进行比较。基于所述比较的差异阈值或偏差,机器学习技术模块512更新一个或更多个系数或参数并获得一个或更多个附加的分割训练图像或视频。在处理了指定数目时期(epoch)或批次(batch)训练图像之后以及/或者当差异阈值或偏差达到指定值时,机器学习技术模块512完成训练并且机器学习技术模块512的参数和系数被存储在经训练的机器学习技术307中。
在一些示例中,机器学习技术模块512实现机器学习技术的多个分割模型。机器学习技术模块512的每个分割模型可以在与特定分辨率相关联的不同组训练图像上进行训练。即,分割模型中的一个分割模型可以被训练成针对具有第一分辨率(或第一分辨率范围)的图像估计服装分割。分割模型中的第二个分割模型可以被训练成针对具有第二分辨率(或与第一分辨率范围不同的第二分辨率范围)的图像估计服装分割。以这种方式,可以训练并存储机器学习技术模块512的不同复杂度。当具有某些能力的给定设备使用AR/VR应用时,可以提供各种服装分割模型中的对应服装分割模型来执行与给定设备的能力匹配的服装分割。在一些情况下,可以提供由AR时尚控制系统224实现的每个机器学习技术的多个服装分割模型,其中每个服装分割模型被配置成以不同的复杂度水平进行操作。然后,具有适当复杂度水平的适当分割模型可以被提供给客户端设备102,以用于对一个或更多个图像中描绘的服装进行分割。
在一些示例中,在训练期间,机器学习技术模块512从骨骼关键点模块511接收2D骨骼关节信息。骨骼关键点模块511跟踪给定训练图像中描绘的用户的骨骼关键点(例如,头部关节、肩关节、髋关节、腿关节等),并且提供骨骼关键点的2D或3D坐标。机器学习技术模块512使用该信息来标识训练图像中描绘的服装的区别属性。
由机器学习技术模块512生成的服装分割被提供给上装分割模块514。上装分割模块514可以确定由骨骼关键点模块511输出的肘关节在距衬衫服装分割的边界的给定边缘阈值距离内的位置处。作为响应,上装分割模块514可以确定服装对应于T恤或短袖衬衫,以及给定边缘对应于衬衫的袖子。在这种情况下,上装分割模块514可以调整用于更新机器学习技术模块512的参数的损失函数或参数的权重,以改进对上身服装(例如,衬衫)的分割。更具体地,上装分割模块514可以确定在基于骨骼关节位置与服装分割的边界的比较而生成的服装分割中存在给定的区别属性。在这种情况下,上装分割模块514针对描绘具有区别属性的服装的训练图像来调整用于更新机器学习技术模块512的参数的损失函数或权重。类似地,上装分割模块514可以基于服装分割与对应于图像的背景的像素之间的差异来调整损失或参数权重。
上装分割模块514用于跟踪经分割的衬衫在视频的后续帧中的2D或3D位置。这使得一个或更多个AR元素能够被显示在衬衫上,并且随着衬衫的位置在屏幕上四处移动而维持处于其在衬衫上的相应位置处。以这种方式,上装分割模块514可以确定并跟踪衬衫的哪些部分目前在描绘用户的图像中被示出,并且选择性地调整所显示的对应AR元素。例如,在视频的第一帧中,给定AR元素可以显示在衬衫的左袖上。上装分割模块514可以确定在视频的第二帧中用户已向左转动,这意味着左袖不再出现在第二帧中。作为响应,上装分割模块514可以省略在衬衫的左袖上显示的给定AR元素的整体或省略给定AR元素的一部分。
在训练之后,AR时尚控制系统224从客户端设备102接收作为单个RGB图像的输入图像501(例如,描绘穿着服装的用户或穿着相应服装的多个用户的单目图像)。AR时尚控制系统224将经训练的机器学习技术模块512应用于所接收的输入图像501以提取图像的一个或更多个特征,从而生成图像501中描绘的一个或多个服装的分割。该分割被提供给上装分割模块514,以用于跟踪衬衫(上装)在视频的当前帧和后续帧中的2D或3D位置。
图6是根据一些示例的AR时尚控制系统224的输出的图解表示。具体地,图6示出了由上装分割模块514生成的服装分割600。在一个示例中,上装分割模块514生成第一服装分割612,其表示用户穿着的衬衫(上装)的像素位置。在另一示例中,上装分割模块514生成第二服装分割,其表示用户穿着的短袖衬衫(上装)的像素位置。在另一示例中,上装分割模块514生成第三服装分割,其表示用户穿着的夹克(上装)(未示出)的像素位置。
返回参照图5,AR效果选择模块519接收对与由客户端设备102捕获的图像或视频中描绘的人相关联的AR游戏应用的选择。基于所选择的AR游戏应用,AR效果选择模块519选择一个或更多个基于游戏的AR元素并且将一个或更多个基于游戏的AR元素应用于从上装分割模块514接收到的时尚物品(例如,衬衫)分割。与一个或更多个基于游戏的AR元素组合的该时尚物品分割被提供给图像修改模块518,以用于对描绘穿着具有一个或更多个基于游戏的AR元素的衬衫或时尚物品的用户的图像或视频进行渲染。
例如,可以向AR/VR应用的用户呈现用于选择AR游戏应用或体验的选项以控制基于游戏的AR元素在用户穿着的衬衫上的显示。响应于接收到对该选项的用户选择,摄像装置(例如,前置摄像装置或后置摄像装置)被激活,以开始捕获穿着衬衫(或上装或时尚物品)的用户的图像或视频。将描绘穿着衬衫(或上装或时尚物品)的用户的图像或视频提供给AR效果选择模块519,以将一个或更多个基于游戏的AR元素应用于衬衫。AR效果选择模块519例如基于由3D身体跟踪模块513和/或全身分割模块515检测到的用户的姿势或移动,来在用户穿着的衬衫(或上装或时尚物品)上显示的基于游戏的AR元素的各种应用/修改之间进行选择。图7和图8示出了可以由AR效果选择模块519选择和应用的视觉效果中的一个或更多个视觉效果的示意性输出。
图像修改模块518可以基于由视觉效果选择模块519选择的基于游戏的AR效果来调整由摄像装置捕获的图像。图像修改模块518例如通过基于服装分割来改变用户穿着的服装的颜色或遮挡模式并且将一个或更多个基于游戏的AR元素应用于图像或视频中描绘的用户穿着的时尚物品,来调整图像或视频中呈现的用户穿着服装的方式。图像显示模块520将由图像修改模块518进行的调整与所接收的描绘用户的身体的单目图像或视频相结合。该图像或视频由图像显示模块520提供给客户端设备102,并且然后可以被发送给另一用户或者被存储以供以后访问和显示。
在一些示例中,图像修改模块518从3D身体跟踪模块513接收表示图像中描绘的用户的3D位置的3D身体跟踪信息。3D身体跟踪模块513通过使用附加机器学习技术对图像501进行处理来生成3D身体跟踪信息。图像修改模块518还可以通过另一机器学习技术接收表示图像中哪些像素与用户的整个身体对应的全身分割。可以从全身分割模块515接收全身分割。全身分割模块515通过使用机器学习技术对图像501进行处理来生成全身分割。
图像修改模块518可以基于由上装分割模块514提供的服装分割以及用户的3D身体跟踪位置和用户的全身分割,来控制虚拟的或基于游戏的AR元素的显示。图像修改模块518和/或AR效果选择模块519可以根据如何响应于用户身体的移动而调整基于游戏的AR元素来控制游戏应用的进度。游戏应用的进度可以表示目的或游戏,并且可以确定用户在游戏中的分数。具体地,图像修改模块518可以控制AR元素相对于与服装分割对应的现实世界服装的遮挡模式。即,图像修改模块518确定用现实世界服装的像素遮挡AR元素的哪个部分,以及/或者还确定用AR元素的像素遮挡现实世界服装像素的哪个部分。图像修改模块518可以控制在图像或视频中描绘的用户穿着的时尚物品上显示的不同的基于游戏的AR元素如何基于用户的移动来四处移动或进行转变。图像修改模块518还可以确定图像或视频中描绘的用户的身体部位相对于下述基于游戏的AR元素之间的接触:这些基于游戏的AR元素被显示在图像或视频中描绘的用户穿着的时尚物品上或者朝向时尚物品移动。
在示例中,上装分割模块514从3D身体跟踪模块513接收图像或视频中描绘的人的3D模型。上装分割模块514基于上装的分割来标识或勾勒3D模型的一部分。例如,上装分割模块514可以生成3D模型中与上装分割对应的一部分的剪切。在实现方式中,上装分割模块514可以标识图像或视频中描绘的人的3D模型内的与上装分割的定位对应的像素集合。即,上装分割模块514可以将上装分割覆盖到人的3D模型之上,并且将该覆盖的部分映射到图像或视频中描绘的人或用户穿着的时尚物品。以这种方式,上装分割模块514可以专门跟踪图像或视频中描绘的人的3D模型中的与人或用户穿着的时尚物品对应的一部分的移动。
上装分割模块514可以确定3D模型中的已经被勾勒(标识为对应于上装分割)的一部分的定位的改变。基于这些改变,上装分割模块514可以更新显示在图像或视频中描绘的人或用户穿着的时尚物品上的AR元素的显示定位。例如,上装分割模块514可以与AR效果选择模块519通信,以在图像或视频中描绘的人或用户穿着的时尚物品上显示和更新一个或更多个AR元素。AR效果选择模块519可以在视频的第一帧中将一个或更多个AR元素显示在时尚物品的第一部分上,同时在第一帧中人定位第一位置处。在一个实现方式中,AR效果选择模块519可以在图像或视频中描绘的人或用户的衬衫口袋上显示一个或更多个AR元素。AR效果选择模块519可以确定在视频的第二帧中该人已经从第一位置移动到第二位置,这使得时尚物品的第一部分在视频的第二帧中被移动到新的位置。AR效果选择模块519可以基于已经勾勒为与上部服装分割对应的3D模型的定位的改变,确定从第一位置到第二位置的移动。作为响应,AR效果选择模块519可以更新一个或更多个AR元素在第二帧中的显示定位,以维持一个或更多个AR元素在时尚物品的第一部分上的显示。以这种方式,当人在视频中从第一位置移动到第二位置时,一个或更多个AR元素继续显示在衬衫口袋之上。
在另一示例中,AR效果选择模块519可以确定在描绘人或用户的视频中3D模型的与上装分割对应的一部分已经旋转指定量。在这种情况下,响应于确定在视频中3D模型的一部分已经旋转指定量,AR效果选择模块519将一个或更多个AR元素旋转指定量。作为另一示例,AR元素可以显示在图像或视频中的人或用户穿着的时尚物品的给定部分上。AR效果选择模块519可以在3D模型的一部分上标识时尚物品的给定部分,并且确定在第二帧中3D模型的一部分已经旋转指定量。作为响应,AR效果选择模块519可以确定时尚物品的一部分没有出现在第二帧中。例如,AR元素可以已经显示在人的左肩上。当人相对于摄像装置向左转动时,左肩不再出现。因此,AR效果选择模块519可以移除一个或更多个AR元素的至少一部分,以免于显示。
在另一示例中,上装分割模块514可以在UV坐标空间中生成时尚物品的2D表示。上装分割模块514可以确定UV坐标空间中的时尚物品的像素到UV坐标空间中的3D模型的一部分的像素的映射。例如,上装分割模块514可以将UV坐标空间中的上装分割覆盖到3D模型的UV表示上,以标识UV坐标空间中的与上装分割对应的3D模型的像素。上装分割模块514可以确定3D模型的像素在UV坐标空间中的定位的改变。基于这些改变,上装分割模块514可以更新在图像或视频中描绘的人或用户穿着的时尚物品上显示的AR元素的显示定位。
在一个示例中,如图7所示,AR效果选择模块519可以将一个或更多个AR元素730应用于由客户端设备102捕获的图像700中描绘的用户720穿着的衬衫710。一个或更多个AR元素730可以包括AR游戏板、用于控制游戏应用界面的AR游戏控制器、AR球游戏、AR捕获游戏、AR飞碟游戏或可以在用户的时尚物品上显示并通过用户执行的姿势进行交互的任何其他类型的AR游戏体验。其他类型的AR元素730可以包括AR音乐相关的AR元素(以上讨论的)、AR化身、AR语音转录、基于用户720的语音表达的AR元素等。
在示例中,AR效果选择模块519将AR绘制板作为一个或更多个AR元素730呈现在时尚物品上,例如呈现在图像700中描绘的人或用户720穿着的衬衫710上。AR效果选择模块519可以检测图像700或视频中描绘的人的身体部位的移动。响应于检测到身体部位与AR绘制板交叠,AR效果选择模块519将一个或更多个AR图形添加至AR绘制板。例如,AR效果选择模块519可以在AR绘制板上、沿检测到身体部位在AR绘制板的定位上方移动的方向绘制线或为线涂色。随着用户720在视频中四处移动,AR效果选择模块519可以更新衬衣上显示的AR元素730的显示定位。
例如,当用户720在视频的第一帧中处于第一定位时,AR元素730可以显示在衬衫710的第一部分上。AR效果选择模块519可以确定用户720的3D模型的与衬衫710对应的一部分(其已经基于衬衫710的分割剪切出或勾勒)在视频的第二帧中已经被移动到第二定位。作为响应,AR效果选择模块519可以计算移动的轨迹或路径,并且沿相同的轨迹或路径移动AR元素730。AR效果选择模块519还可以基于用户720的3D模型的与衬衫710对应的一部分的比例的改变来调整AR元素730的比例。
作为图8中所示的另一示例,AR效果选择模块519可以生成化身840,以供在图像800或视频中描绘的人或用户826穿着的衬衫810(或时尚物品)上显示。AR效果选择模块519可以为化身840选择随机姿态,或者可以访问与AR体验相关联的化身姿态的列表。化身840可以通过跟踪3D模型中的与衬衫810的分割对应的一部分的显示定位的改变,基于用户826的移动在视频中四处移动。例如,当用户826改变姿态和定位或者四处移动时,化身840可以维持处于相对于衬衫810的特定定位和取向。例如,如果用户826朝向左倾斜一定程度,则用户826的3D模型的一部分类似地被确定为向左倾斜一定程度。作为响应,AR效果选择模块519可以将化身840向左旋转一定程度,以维持化身840相对于衬衫810的移动的取向和定位。这使得化身840看起来是现实世界衬衫810的一部分。AR效果选择模块519可以确定化身840的第一部分显示在3D模型的第一部分上以及化身840的第二部分显示在3D模型的第二部分上。AR效果选择模块519可以确定,由于用户826在给定方向上扭转或转动,3D模型的第一部分不再可见,但第二部分保持可见。因此,AR效果选择模块519可以维持化身840的第二部分的显示,并且从显示中移除化身840的第一部分。
作为另一示例,AR效果选择模块519可以在用户826穿着的衬衫810上显示AR对象。AR对象可以具有顶部部分。在视频的第一帧中,当用户826站立时,顶部部分可以指向显示的顶部。AR效果选择模块519可以确定由于用户826在他/她的一侧躺下,因此视频的第二帧中的3D模型的一部分已经改变取向。即,在第一帧中,用户826的肩的顶部可以指向显示的顶部,并且在用户躺下之后,用户826的肩的顶部可以指向显示的右边缘。这导致3D模型的(基于衬衫810的分割而被勾勒的)一部分从定向在一个方向上改变为旋转90度并沿第二方向取向。作为响应,AR效果选择模块519可以更新AR对象,以使AR对象类似地旋转90度,使得AR对象的顶部部分从第一帧中指向显示的顶部改变为在第二帧中指向显示的右边缘。确定要对与衬衫810的分割对应的3D模型部分进行的3D轴线的其他改变可以类似地应用于AR对象。
在一个实现方式中,AR效果选择模块519可以允许用户826购买给定AR元素,并且可以响应于用户826完成对给定AR元素的购买交易而将非同质化通证与给定AR元素相关联。例如,AR效果选择模块519可以检测选择购买衬衫选项850的用户输入。作为响应,AR效果选择模块519可以捕获截图或视频,该截图或视频包括图像或视频中描绘的用户826穿着的时尚物品(例如,衬衫810)并且包括一个或更多个AR元素(例如,化身840,或者以上讨论的任何其他AR元素)或与之组合。AR效果选择模块519可以生成这样的AR元素,该AR元素表示或包括图像800或视频中描绘的用户826穿着的与一个或更多个AR元素组合的时尚物品。AR效果选择模块519可以生成非同质化通证,并且将非同质化通证与AR元素相关联。这使得用户826或人能够将AR元素作为独特资产与一个或更多个其他用户交换或进行出售。
图9是根据一些示例的由AR时尚控制系统224执行的过程900的流程图。尽管流程图可以将操作描述为顺序过程,但是这些操作中的许多操作可以被并行或同时执行。此外,可以对操作的顺序进行重新排列。在过程的操作完成时,过程被终止。过程可以对应于方法、程序等。方法的步骤可以全部或部分地执行,可以结合其他方法中的一些或全部步骤来执行,并且可以由任何数目的不同系统或其任何部分(例如,包括在任何系统中的处理器)来执行。
在操作901处,如以上所讨论的那样,AR时尚控制系统224(例如,客户端设备102或服务器)接收图像,该图像包括对穿着时尚物品的人的描绘。
在操作902处,如上面所讨论的那样,AR时尚控制系统224生成视频中描绘的人的3D模型。
在操作903处,如以上所讨论的那样,AR时尚控制系统224生成视频中描绘的人穿着的时尚物品的分割。
在操作904中,如以上所讨论的那样,AR时尚控制系统224基于对时尚物品的分割来勾勒3D模型的一部分。
在操作905处,如以上所讨论的那样,AR方式控制系统224跟踪3D模型的一部分在视频中的移动。
在操作906处,如以上所讨论的那样,AR时尚控制系统224响应于跟踪3D模型的一部分在视频中的移动,修改一个或更多个AR元素在视频中的时尚物品上的显示定位。
机器结构
图10是机器1000的图解表示,在该机器1000内可以执行用于使机器1000执行本文所讨论的方法中的任何一种或更多种方法的指令1008(例如,软件、程序、应用、小程序、app或其他可执行代码)。例如,指令1008可以使机器1000执行本文中描述的方法中的任何一个或更多个方法。指令1008将通用的未编程的机器1000变换成被编程为以所描述的方式执行所描述和所示出的功能的特定机器1000。机器1000可以作为独立设备操作,或者可以耦接(例如,联网)至其他机器。在联网部署中,机器1000可以在服务器客户端网络环境中以服务器机器或客户端机器的身份来操作,或者在对等(或分布式)网络环境中作为对等机器来操作。机器1000可以包括但不限于:服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能电器)、其他智能设备、web装置、网络路由器、网络交换机、网络桥接器或能够顺序地或以其他方式执行指定要由机器1000采取的动作的指令1008的任何机器。此外,虽然仅示出了单个机器1000,但是术语“机器”还应被认为包括单独地或联合地执行指令1008以执行本文中讨论的任何一种或更多种方法的机器的集合。例如,机器1000可以包括客户端设备102或者形成消息收发服务器系统108的一部分的若干服务器设备中的任何一个。在一些示例中,机器1000还可以包括客户端系统和服务器系统两者,其中特定方法或算法的某些操作在服务器侧执行,并且所述特定方法或算法的某些操作在客户端侧执行。
机器1000可以包括可以被配置成经由总线1040彼此通信的处理器1002、存储器1004和输入/输出(I/O)部件1038。在示例中,处理器1002(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另外的处理器或其任何合适的组合)可以包括例如执行指令1008的处理器1006和处理器1010。术语“处理器”旨在包括多核处理器,所述多核处理器可以包括可以同时执行指令的两个或更多个独立的处理器(有时被称为“核”)。尽管图10示出了多个处理器1002,但是机器1000可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器、或者其任何组合。
存储器1004包括主存储器1012、静态存储器1014以及存储单元1016,其均可由处理器1002经由总线1040访问。主存储器1004、静态存储器1014和存储单元1016存储体现本文所描述的方法或功能中的任何一种或更多种的指令1008。指令1008在其由机器1000执行期间还可以完全地或部分地驻留在主存储器1012内、驻留在静态存储器1014内、驻留在存储单元1016内的机器可读介质1018内、驻留在处理器1002中的至少一个处理器内(例如,在处理器的高速缓存存储器内)或者驻留在其任何合适的组合内。
I/O部件1038可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量结果等的各种部件。包括在特定机器中的特定I/O部件1038将取决于机器的类型。例如,便携式机器诸如移动电话可以包括触摸输入设备或其他这样的输入机构,而无头服务器机器将很可能不包括这样的触摸输入设备。应当认识到的是,I/O部件1038可以包括图10中未示出的许多其他部件。在各种示例中,I/O部件1038可以包括用户输出部件1024和用户输入部件1026。用户输出部件1024可以包括视觉部件(例如,显示器诸如等离子显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学部件(例如,扬声器)、触觉部件(例如,振动马达、阻力机构)、其他信号发生器等。用户输入部件1026可以包括字母数字输入部件(例如,键盘、被配置成接收字母数字输入的触摸屏、光电键盘或其他字母数字输入部件)、基于点的输入部件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触觉输入部件(例如,物理按钮、提供触摸或触摸姿势的位置和力的触摸屏或其他触觉输入部件)、音频输入部件(例如,麦克风)等。
在其他示例中,I/O部件1038可以包括生物计量部件1028、运动部件1030、环境部件1032、或定位部件1034以及各种其他部件。例如,生物计量部件1028包括用于检测表达(例如,手表达、面部表达、声音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、出汗或脑波)、标识人(例如,语音标识、视网膜标识、面部标识、指纹标识或基于脑电图的标识)等的部件。运动部件1030包括加速度传感器部件(例如,加速度计)、重力传感器部件、旋转传感器部件(例如,陀螺仪)。
环境部件1032包括例如一个或更多个摄像装置(具有静止图像/照片和视频能力)、照明传感器部件(例如,光度计)、温度传感器部件(例如,检测周围温度的一个或更多个温度计)、湿度传感器部件、压力传感器部件(例如,气压计)、声学传感器部件(例如,检测背景噪声的一个或更多个麦克风)、接近传感器部件(例如,检测附近对象的红外传感器)、气体传感器(例如,为了安全而检测危险气体的浓度或者测量大气中的污染物的气体检测传感器)或者可以提供与周围物理环境对应的指示、测量或信号的其他部件。
关于摄像装置,客户端设备102可以具有摄像装置系统,该摄像装置系统包括例如在客户端设备102的前表面上的前置摄像装置和在客户端设备102的后表面上的后置摄像装置。前置摄像装置可以例如用于捕获客户端设备102的用户的静止图像和视频(例如,“自拍”),该静止图像和视频然后可以用上述增强数据(例如,过滤器)进行增强。例如,后置摄像装置可以用于以更常规的摄像装置模式捕获静止图像和视频,其中,这些图像类似地用增强数据进行增强。除了前置摄像装置和后置摄像装置之外,客户端设备102还可以包括用于捕获360°照片和视频的360°的摄像装置。
此外,客户端设备102的摄像装置系统可以包括双后置摄像装置(例如,主摄像装置以及深度感测摄像装置),或者甚至在客户端设备102的前侧和后侧上包括三重、四重或五重后置摄像装置配置。例如,这些多个摄像装置系统可以包括广角摄像装置、超广角摄像装置、长焦摄像装置、微距摄像装置和深度传感器。
定位部件1034包括位置传感器部件(例如,GPS接收器部件)、海拔高度传感器部件(例如,检测气压的高度计或气压计,根据气压可以得到海拔高度)、取向传感器部件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O部件1038还包括通信部件1036,该通信部件1036可操作以经由相应的耦接或连接将机器1000耦接至网络1020或设备1022。例如,通信部件1036可以包括与网络1020对接的网络接口部件或其他合适的设备。在另外的示例中,通信部件1036可以包括有线通信部件、无线通信部件、蜂窝通信部件、近场通信(NFC)部件、部件(例如,/>低功耗)、/>部件以及经由其他模态提供通信的其他通信部件。设备1022可以是另一机器或各种外围设备中的任何外围设备(例如,经由USB耦接的外围设备)。
此外,通信部件1036可以检测标识符或包括能够进行操作以检测标识符的部件。例如,通信部件1036可以包括射频标识(RFID)标签阅读器部件、NFC智能标签检测部件、光学阅读器部件(例如,用于检测一维条形码诸如通用产品代码(UPC)条形码,多维条形码诸如快速响应(QR)码、Aztec码、数据矩阵、数据符号(Dataglyph)、最大码(MaxiCode)、PDF417、超码(Ultra Code)、UCC RSS-2D条形码以及其他光学码的光学传感器)或声学检测部件(例如,用于识别所标记的音频信号的麦克风)。此外,可以经由通信部件1036得出各种信息,例如经由因特网协议(IP)地理位置得出位置、经由信号三角测量得出位置、经由检测可以指示特定位置的NFC信标信号得出位置等。
各种存储器(例如,主存储器1012、静态存储器1014以及处理器1002的存储器)以及存储单元1016可以存储由本文中所描述的方法或功能中的任何一种或更多种方法或功能实现或使用的一组或更多组指令和数据结构(例如,软件)。在由处理器1002执行的情况下,这些指令(例如,指令1008)使各种操作实现所公开的示例。
可以利用传输介质经由网络接口设备(例如,通信部件1036中包括的网络接口部件)并且使用若干公知的传输协议中的任何一种传输协议(例如,超文本传输协议(HTTP)),通过网络1020来发送或接收指令1008。类似地,可以利用传输介质经由与设备1022的耦接(例如,对等耦接)来发送或接收指令1008。
软件架构
图11是示出软件架构1104的框图1100,该软件架构1104可以安装在本文中描述的设备中的任何一个或更多个上。软件架构1104由硬件支持,该硬件例如是包括处理器1120、存储器1126和I/O部件1138的机器1102。在该示例中,软件架构1104可以被概念化为层的堆栈,其中每个层提供特定功能。软件架构1104包括下述层,例如操作系统1112、库1110、框架1108和应用1106。在操作上,应用1106通过软件堆栈来激活API调用1150并且响应于API调用1150而接收消息1152。
操作系统1112管理硬件资源并提供公共服务。操作系统1112包括例如:核1114、服务1116以及驱动器1122。核1114用作硬件与其他软件层之间的抽象层。例如,核1114提供存储器管理、处理器管理(例如,调度)、部件管理、联网和安全设置等功能。服务1116可以针对其他软件层提供其他公共服务。驱动器1122负责控制底层硬件或与底层硬件对接(interface)。例如,驱动器1122可以包括显示驱动器、摄像装置驱动器、或/>低能耗驱动器、闪存驱动器、串行通信驱动器(例如,USB驱动器)、/>驱动器、音频驱动器、电力管理驱动器等。
库1110提供由应用1106使用的共用低级基础设施。库1110可以包括系统库1118(例如,C标准库),该系统库1118提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能。此外,库1110可以包括API库1124,例如媒体库(例如,用于支持各种媒体格式的呈现和操纵的库,所述各种媒体格式例如运动图像专家组-4(MPEG4)、高级视频编码(H.264或AVC)、运动图像专家组层-3(MP3)、高级音频编码(AAC)、自适应多速率(AMR)音频编解码器、联合图像专家组(JPEG或JPG)或便携式网络图形(PNG))、图形库(例如,用于在显示器上的图形内容中以2D和3D进行呈现的OpenGL框架)、数据库库(例如,提供各种关系数据库功能的SQLite)、web库(例如,提供web浏览功能的WebKit)等。库1110还可以包括各种其他库1128,以向应用1106提供许多其他API。
框架1108提供由应用1106使用的共用高级基础设施。例如,框架1108提供各种图形用户界面功能、高级资源管理以及高级位置服务。框架1108可以提供可以由应用1106使用的广泛的其他API,其中一些API可以特定于特定操作系统或平台。
在示例中,应用1106可以包括家庭应用1136、联系人应用1130、浏览器应用1132、书籍阅读器应用1134、位置应用1142、媒体应用1144、消息收发应用1146、游戏应用1148和诸如外部应用1140的各种各样的其他应用。应用1106是执行程序中定义的功能的程序。可以采用各种编程语言来创建以各种方式构造的应用1106中的一个或更多个,所述编程语言例如面向对象的编程语言(例如,Objective-C、Java或C++)或过程编程语言(例如,C或汇编语言)。在特定示例中,外部应用1140(例如,由特定平台的供应商以外的实体使用ANDROIDTM或IOSTMSDK开发的应用)可以是移动操作系统例如IOSTM、ANDROIDTM、Phone、或另一移动操作系统上运行的移动软件。在该示例中,外部应用1140可以激活由操作系统1112提供的API调用1150以促进本文中描述的功能。
术语表
“载波信号”是指能够存储、编码或携载用于由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或其他无形介质以促进这样的指令的传送。可以经由网络接口设备利用传输介质在网络上发送或接收指令。
“客户端设备”是指与通信网络对接以从一个或更多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、桌上型计算机、膝上型计算机、便携式数字助理(PDA)、智能电话、平板计算机、超级本、上网本、膝上型计算机、多处理器系统、基于微处理器或可编程消费电子产品、游戏控制台、机顶盒或用户可以用于访问网络的任何其他通信设备。
“通信网络”是指网络的一个或更多个部分,网络可以是自组织网络、内联网、外联网、虚拟专用网络(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、因特网、因特网的一部分、公共交换电话网(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、其他类型的网络或两个或更多个这样的网络的组合。例如,网络或网络的一部分可以包括无线网络或蜂窝网络,并且耦接可以是码分多址(CDMA)连接、全局移动通信系统(GSM)连接或其他类型的蜂窝或无线耦接。在该示例中,耦接可以实现各种类型的数据传输技术中的任何数据传输技术,诸如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、GSM演进的增强数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动通讯系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他数据传输技术、其他长距离协议或其他数据传输技术。
“部件”是指具有边界的设备、物理实体或逻辑,该边界由功能或子例程调用、分支点、API或者对特定处理或控制功能提供分区或模块化的其他技术定义。部件可以经由它们的接口与其他部件对接以执行机器过程。部件可以是被设计用于与其他部件一起使用的经封装的功能硬件单元,并且是通常执行相关功能中的特定功能的程序的一部分。
部件可以构成软件组件(例如,在机器可读介质上实施的代码)或硬件部件。“硬件部件”是能够执行某些操作并且可以以某种物理方式来配置或布置的有形单元。在各种示例中,可以通过软件(例如,应用或应用部分)将一个或更多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或更多个硬件部件(例如,处理器或处理器组)配置为进行操作以执行本文中所描述的某些操作的硬件部件。
也可以机械地、电子地或其任何合适的组合来实现硬件部件。例如,硬件部件可以包括被永久配置成执行某些操作的专用电路或逻辑。硬件部件可以是专用处理器,例如现场可编程门阵列(FPGA)或ASIC。硬件部件还可以包括通过软件临时配置成执行某些操作的可编程逻辑或电路。例如,硬件部件可以包括由通用处理器或其他可编程处理器执行的软件。一旦通过这样的软件而配置,硬件部件就成为被独特地定制成执行所配置功能的特定机器(或机器的特定部件),而不再是通用处理器。将认识到,可以出于成本和时间考虑来决定是机械地在专用且永久配置的电路中实现硬件部件还是在临时配置(例如,通过软件配置)的电路中实现硬件部件。因此,短语“硬件部件”(或“硬件实现的部件”)应当被理解成包含有形实体,即被物理构造、永久配置(例如,硬连线)或临时配置(例如,编程)成以某种方式进行操作或者执行本文中描述的某些操作的实体。
考虑硬件部件被临时配置(例如,被编程)的示例,无需在任一时刻对硬件部件中的每一个进行配置或实例化。例如,在硬件部件包括通过软件进行配置而变成专用处理器的通用处理器的情况下,可以在不同时间处将该通用处理器分别配置成不同的专用处理器(例如,包括不同的硬件部件)。软件相应地配置一个或多个特定处理器,以例如在一个时刻处构成特定硬件部件并且在不同时刻处构成不同的硬件部件。
硬件部件可以向其他硬件部件提供信息并且从其他硬件部件接收信息。因此,所描述的硬件部件可以被认为是通信地耦接的。在同时存在多个硬件部件的情况下,可以通过在硬件部件中的两个或更多个硬件部件之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在多个硬件部件在不同时间处被配置或被实例化的示例中,可以例如通过将信息存储在多个硬件部件具有访问权限的存储器结构中并且在该存储器结构中检索信息来实现这样的硬件部件之间的通信。例如,一个硬件部件可以执行操作并且将该操作的输出存储在与其通信地耦接的存储器设备中。然后,其他硬件部件可以在随后的时间处访问该存储器设备以检索所存储的输出并对其进行处理。硬件部件还可以发起与输入设备或输出设备的通信,并且可以对资源(例如,信息的集合)进行操作。
本文描述的示例方法的各种操作可以至少部分地由被临时配置(例如,通过软件)或被永久配置成执行相关操作的一个或更多个处理器来执行。无论是被临时地配置还是永久地配置,这样的处理器可以构成进行操作以执行本文中所描述的一个或更多个操作或功能的处理器实现的部件。如本文所使用的,“处理器实现的部件”是指使用一个或更多个处理器实现的硬件部件。类似地,在本文中描述的方法可以至少部分地由处理器实现,其中特定的一个或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或更多个处理器1002或处理器实现的部件来执行。此外,一个或更多个处理器还可以进行操作以支持“云计算”环境中的相关操作的执行或者作为“软件即服务”(SaaS)操作。例如,操作中的至少一些可以由一组计算机(作为包括处理器的机器的示例)来执行,其中这些操作可以经由网络(例如,因特网)并且经由一个或更多个适当的接口(例如,API)来访问。某些操作的执行可以分布在处理器之间,不是仅驻留在单个机器内,而是被跨若干机器部署。在一些示例中,处理器或处理器实现的部件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例中,处理器或处理器实现的部件可以跨若干地理位置分布。
“计算机可读存储介质”是指机器存储介质和传输介质二者。因此,术语包括存储设备/介质和载波/调制数据信号二者。术语“机器可读介质”、“计算机可读介质”和“设备可读介质”意指相同的事物,并且可以在本公开内容中互换地使用。
“短暂消息”是指可访问达有限持续时间的消息。短暂消息可以是文本、图像、视频等。短暂消息的访问时间可以由消息发送方设置。替选地,访问时间可以是默认设置或者由接收方指定的设置。无论设置技术如何,该消息都是暂态的。
“机器存储介质”是指存储可执行指令、例程和数据的单个或多个存储设备和介质(例如,集中式或分布式数据库,以及相关联的高速缓存和服务器)。因此,该术语应当被视为包括但不限于固态存储器以及光学和磁介质,包括处理器内部或外部的存储器。机器存储介质、计算机存储介质和/或设备存储介质的具体示例包括:非易失性存储器,作为示例包括:半导体存储器设备,例如可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、FPGA和闪存设备;磁盘,诸如内部硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM磁盘。术语“机器存储介质”、“设备存储介质”以及“计算机存储介质”意指相同的事物并且可以在本公开内容中互换地使用。术语“机器存储介质”、“计算机存储介质”和“设备存储介质”明确地排除了载波、调制数据信号和其他这样的介质,其中的至少一些被涵盖在术语“信号介质”中。
“非暂态计算机可读存储介质”是指能够存储、编码或携载由机器执行的指令的有形介质。
“信号介质”是指能够存储、编码或携载由机器执行的指令的任何无形介质,并且包括数字或模拟通信信号或有利于软件或数据的通信的其他无形介质。术语“信号介质”应当被视为包括任何形式的调制数据信号、载波等。术语“调制数据信号”指的是其特性中的一个或更多个特性被以将信息编码在该信号中的方式来设置或改变的信号。术语“传输介质”和“信号介质”指的是相同的事物,并且可以在本公开内容中互换使用。
在不脱离本公开内容的范围的情况下,可以对所公开的示例进行改变和修改。这些以及其他改变或修改旨在包括在如所附权利要求书中所表达的本公开内容的范围内。
Claims (20)
1.一种方法,包括:
由客户端设备的一个或更多个处理器接收视频,所述视频包括对穿着时尚物品的人的描绘;
由所述一个或更多个处理器生成所述视频中描绘的所述人的三维(3D)模型;
由所述一个或更多个处理器生成所述视频中描绘的所述人穿着的所述时尚物品的分割;
基于所述时尚物品的分割,勾勒所述3D模型的一部分;
跟踪所述3D模型的一部分在所述视频中的移动;以及
响应于跟踪所述3D模型的一部分在所述视频中的移动,修改一个或更多个增强现实(AR)元素在所述视频中的所述时尚物品上的显示定位。
2.根据权利要求1所述的方法,还包括:
生成一个或更多个基于游戏的AR元素作为所述一个或更多个AR元素;以及
将所述一个或更多个基于游戏的AR元素应用于所述人穿着的所述时尚物品。
3.根据权利要求1至2中任一项所述的方法,还包括:响应于检测到所述视频中描绘的所述人的身体部位的移动,修改所述一个或更多个AR元素的形状。
4.根据权利要求1至3中任一项所述的方法,还包括:响应于检测到所述视频中描绘的所述人的姿态,修改所述一个或更多个AR元素的形状。
5.根据权利要求1至4中任一项所述的方法,其中,所述一个或更多个AR元素与非同质化通证相关联,其中,响应于由所述视频中描绘的所述人或所述客户端设备的用户执行的购买交易,将所述非同质化通证与所述一个或更多个AR元素相关联。
6.根据权利要求1至5中任一项所述的方法,还包括:
生成AR对象,所述AR对象包括与所述一个或更多个AR元素组合的所述时尚物品;以及
生成与所述AR对象相关联的非同质化通证。
7.根据权利要求1至6中任一项所述的方法,还包括:当所述人在所述视频中四处移动时,维持所述一个或更多个AR元素在所述视频中的所述时尚物品上的位置。
8.根据权利要求7所述的方法,还包括:
在所述视频的第一帧中将所述一个或更多个AR元素显示在所述时尚物品的第一部分上,其中,在所述第一帧中,所述人定位在第一位置处;
确定在所述视频的第二帧中所述人已经从所述第一位置移动到第二位置,所述时尚物品的第一部分在所述视频的第二帧中被移动到新的位置;以及
更新所述一个或更多个AR元素在所述第二帧中的显示定位,以维持所述一个或更多个AR元素在所述时尚物品的第一部分上的显示。
9.根据权利要求7至8中任一项所述的方法,其中,所述第一部分包括衬衫口袋,其中,在所述人在所述视频中从所述第一位置移动到所述第二位置时,所述一个或更多个AR元素继续显示在所述衬衫口袋之上。
10.根据权利要求1至9中任一项所述的方法,还包括:
确定在所述视频中所述3D模型的一部分已经旋转指定量;以及
响应于确定在所述视频中所述3D模型的一部分已经旋转指定量,将所述一个或更多个AR元素旋转所述指定量。
11.根据权利要求10所述的方法,其中,所述一个或更多个AR元素显示在所述时尚物品的一部分上,还包括:
在所述3D模型的一部分上标识所述时尚物品的一部分;
确定在所述视频的第二帧中所述3D模型的一部分已经旋转指定量;
响应于确定所述3D模型已经旋转所述指定量,确定所述时尚物品的一部分没有出现在所述第二帧中;以及
响应于确定所述时尚物品的一部分没有出现在所述第二帧中,移除所述一个或更多个AR元素的至少一部分。
12.根据权利要求1至11中任一项所述的方法,还包括:
在UV坐标空间中生成所述时尚物品的二维(2D)表示;
确定所述UV坐标空间中的所述时尚物品的像素到所述UV坐标空间中的所述3D模型的一部分的像素的映射;
确定所述3D模型的一部分的像素在所述UV坐标空间中的定位的改变;以及
基于所述3D模型的一部分的像素在所述UV坐标空间中的定位的改变,修改所述一个或更多个AR元素的显示定位。
13.一种系统,包括:
客户端设备的处理器;以及
存储器部件,所述存储器部件上存储有指令,所述指令在由所述处理器执行时使所述处理器执行操作,所述操作包括:
接收视频,所述视频包括对穿着时尚物品的人的描绘;
生成所述视频中描绘的所述人的三维(3D)模型;
生成所述视频中描绘的所述人穿着的所述时尚物品的分割;
基于所述时尚物品的分割,勾勒所述3D模型的一部分;
跟踪所述3D模型的一部分在所述视频中的移动;以及
响应于跟踪所述3D模型的一部分在所述视频中的移动,修改一个或更多个增强现实(AR)元素在所述视频中的所述时尚物品上的显示定位。
14.根据权利要求13所述的系统,所述操作还包括:
生成一个或更多个基于游戏的AR元素作为所述一个或更多个AR元素;以及
将所述一个或更多个基于游戏的AR元素应用于所述人穿着的所述时尚物品。
15.根据权利要求13至14中任一项所述的系统,所述操作还包括:响应于检测到所述视频中描绘的所述人的身体部位的移动,修改所述一个或更多个AR元素的形状。
16.根据权利要求13至15中任一项所述的系统,所述操作还包括:响应于检测到所述视频中描绘的所述人的姿态,修改所述一个或更多个AR元素的形状。
17.根据权利要求13至16中任一项所述的系统,其中,所述一个或更多个AR元素与非同质化通证相关联,其中,响应于由所述视频中描绘的所述人或所述客户端设备的用户执行的购买交易,将所述非同质化通证与所述一个或更多个AR元素相关联。
18.根据权利要求13至17中任一项所述的系统,所述操作还包括:
生成AR对象,所述AR对象包括与所述一个或更多个AR元素组合的所述时尚物品;以及
生成与所述AR对象相关联的非同质化通证。
19.根据权利要求13至18中任一项所述的系统,所述操作还包括:在所述人在所述视频中四处移动时,维持所述一个或更多个AR元素在所述视频中的所述时尚物品上的位置。
20.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质上存储有指令,所述指令在由客户端设备的处理器执行时使所述处理器执行操作,所述操作包括:
接收视频,所述视频包括对穿着时尚物品的人的描绘;
生成所述视频中描绘的所述人的三维(3D)模型;
生成所述视频中描绘的所述人穿着的所述时尚物品的分割;
基于所述时尚物品的分割,勾勒所述3D模型的一部分;
跟踪所述3D模型的一部分在所述视频中的移动;以及
响应于跟踪所述3D模型的一部分在所述视频中的移动,修改一个或更多个增强现实元素在所述视频中的所述时尚物品上的显示定位。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/490,167 US11983826B2 (en) | 2021-09-30 | 2021-09-30 | 3D upper garment tracking |
US17/490,167 | 2021-09-30 | ||
PCT/US2022/045075 WO2023055825A1 (en) | 2021-09-30 | 2022-09-28 | 3d upper garment tracking |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118119969A true CN118119969A (zh) | 2024-05-31 |
Family
ID=83995641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280066079.0A Pending CN118119969A (zh) | 2021-09-30 | 2022-09-28 | 3d上装跟踪 |
Country Status (5)
Country | Link |
---|---|
US (2) | US11983826B2 (zh) |
EP (1) | EP4409522A1 (zh) |
KR (1) | KR20240076807A (zh) |
CN (1) | CN118119969A (zh) |
WO (1) | WO2023055825A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12148108B2 (en) | 2023-01-26 | 2024-11-19 | Snap Inc. | Light and rendering of garments |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12100156B2 (en) | 2021-04-12 | 2024-09-24 | Snap Inc. | Garment segmentation |
US11670059B2 (en) | 2021-09-01 | 2023-06-06 | Snap Inc. | Controlling interactive fashion based on body gestures |
US20230066179A1 (en) * | 2021-09-02 | 2023-03-02 | Snap Inc. | Interactive fashion with music ar |
US11673054B2 (en) | 2021-09-07 | 2023-06-13 | Snap Inc. | Controlling AR games on fashion items |
US11900506B2 (en) | 2021-09-09 | 2024-02-13 | Snap Inc. | Controlling interactive fashion based on facial expressions |
US11983826B2 (en) | 2021-09-30 | 2024-05-14 | Snap Inc. | 3D upper garment tracking |
US20230126839A1 (en) * | 2021-10-25 | 2023-04-27 | Paypal, Inc. | Detection of duplicated data for non-fungible tokens |
US20230169578A1 (en) * | 2021-12-01 | 2023-06-01 | Flipkart Internet Private Limited | Method and system for undertaking a transaction in a three-dimensional (3d) interactive environment |
Family Cites Families (241)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7859551B2 (en) | 1993-10-15 | 2010-12-28 | Bulman Richard L | Object customization and presentation system |
US5880731A (en) | 1995-12-14 | 1999-03-09 | Microsoft Corporation | Use of avatars with automatic gesturing and bounded interaction in on-line chat session |
US6023270A (en) | 1997-11-17 | 2000-02-08 | International Business Machines Corporation | Delivery of objects in a virtual world using a descriptive container |
WO1999046697A1 (fr) | 1998-03-11 | 1999-09-16 | Yasuo Nishizawa | Interverrouillage par http d'un outil accessoire agent a applications integrees sur serveur web |
US20020067362A1 (en) | 1998-11-06 | 2002-06-06 | Agostino Nocera Luciano Pasquale | Method and system generating an avatar animation transform using a neutral face image |
US6223165B1 (en) | 1999-03-22 | 2001-04-24 | Keen.Com, Incorporated | Method and apparatus to connect consumer to expert |
US6772195B1 (en) | 1999-10-29 | 2004-08-03 | Electronic Arts, Inc. | Chat clusters for a virtual world application |
JP2001230801A (ja) | 2000-02-14 | 2001-08-24 | Sony Corp | 通信システムとその方法、通信サービスサーバおよび通信端末装置 |
US6922685B2 (en) | 2000-05-22 | 2005-07-26 | Mci, Inc. | Method and system for managing partitioned data resources |
US20050206610A1 (en) | 2000-09-29 | 2005-09-22 | Gary Gerard Cordelli | Computer-"reflected" (avatar) mirror |
US8117281B2 (en) | 2006-11-02 | 2012-02-14 | Addnclick, Inc. | Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content |
US6910186B2 (en) | 2000-12-08 | 2005-06-21 | Kyunam Kim | Graphic chatting with organizational avatars |
US7925703B2 (en) | 2000-12-26 | 2011-04-12 | Numedeon, Inc. | Graphical interactive interface for immersive online communities |
US7953648B2 (en) | 2001-11-26 | 2011-05-31 | Vock Curtis A | System and methods for generating virtual clothing experiences |
EP1495447A1 (en) | 2002-03-26 | 2005-01-12 | KIM, So-Woon | System and method for 3-dimension simulation of glasses |
KR100493525B1 (ko) | 2002-05-03 | 2005-06-07 | 안현기 | 아바타 메일 제공시스템 및 방법 |
US8495503B2 (en) | 2002-06-27 | 2013-07-23 | International Business Machines Corporation | Indicating the context of a communication |
US7636755B2 (en) | 2002-11-21 | 2009-12-22 | Aol Llc | Multiple avatar personalities |
US20070168863A1 (en) | 2003-03-03 | 2007-07-19 | Aol Llc | Interacting avatars in an instant messaging communication session |
US7484176B2 (en) | 2003-03-03 | 2009-01-27 | Aol Llc, A Delaware Limited Liability Company | Reactive avatars |
US20070113181A1 (en) | 2003-03-03 | 2007-05-17 | Blattner Patrick D | Using avatars to communicate real-time information |
KR20040091331A (ko) | 2003-04-21 | 2004-10-28 | 홍지선 | 자연어처리기술을 이용하여 입력된 문자메시지와 그 문장내용에 상응하는 아바타 표현 방법 및 시스템 |
KR100762629B1 (ko) | 2003-08-26 | 2007-10-01 | 삼성전자주식회사 | 휴대단말기의 백업서비스 처리방법 |
US7342587B2 (en) | 2004-10-12 | 2008-03-11 | Imvu, Inc. | Computer-implemented system and method for home page customization and e-commerce support |
US7468729B1 (en) | 2004-12-21 | 2008-12-23 | Aol Llc, A Delaware Limited Liability Company | Using an avatar to generate user profile information |
US8488023B2 (en) | 2009-05-20 | 2013-07-16 | DigitalOptics Corporation Europe Limited | Identifying facial expressions in acquired digital images |
US10109315B2 (en) | 2005-03-01 | 2018-10-23 | Eyesmatch Ltd | Devices, systems and methods for auto-delay video presentation |
US8976160B2 (en) | 2005-03-01 | 2015-03-10 | Eyesmatch Ltd | User interface and authentication for a virtual mirror |
JP4473754B2 (ja) | 2005-03-11 | 2010-06-02 | 株式会社東芝 | 仮想試着装置 |
KR100714192B1 (ko) | 2005-04-08 | 2007-05-02 | 엔에이치엔(주) | 노출 부위가 가변되는 아바타 제공 시스템 및 그 방법 |
US7809192B2 (en) | 2005-05-09 | 2010-10-05 | Like.Com | System and method for recognizing objects from images and identifying relevancy amongst images and information |
US20060294465A1 (en) | 2005-06-22 | 2006-12-28 | Comverse, Inc. | Method and system for creating and distributing mobile avatars |
US8963926B2 (en) | 2006-07-11 | 2015-02-24 | Pandoodle Corporation | User customized animated video and method for making the same |
US7775885B2 (en) | 2005-10-14 | 2010-08-17 | Leviathan Entertainment, Llc | Event-driven alteration of avatars |
RU2396599C2 (ru) | 2005-12-31 | 2010-08-10 | Тенсент Текнолоджи (Шэньчжэнь) Компани Лимитед | Способ отображения трехмерного аватара и система, осуществляющая этот способ |
US20070176921A1 (en) | 2006-01-27 | 2007-08-02 | Koji Iwasaki | System of developing urban landscape by using electronic data |
US20100011422A1 (en) | 2006-02-16 | 2010-01-14 | Wee-World Limited | Portable account information |
JP4921550B2 (ja) | 2006-05-07 | 2012-04-25 | 株式会社ソニー・コンピュータエンタテインメント | ゲームプレイ中にコンピュータ生成アバターに感情的特徴を与える方法 |
WO2007134402A1 (en) | 2006-05-24 | 2007-11-29 | Mor(F) Dynamics Pty Ltd | Instant messaging system |
US20080158222A1 (en) | 2006-12-29 | 2008-07-03 | Motorola, Inc. | Apparatus and Methods for Selecting and Customizing Avatars for Interactive Kiosks |
US8504926B2 (en) | 2007-01-17 | 2013-08-06 | Lupus Labs Ug | Model based avatars for virtual presence |
GB0703974D0 (en) | 2007-03-01 | 2007-04-11 | Sony Comp Entertainment Europe | Entertainment device |
GB2447094B (en) | 2007-03-01 | 2010-03-10 | Sony Comp Entertainment Europe | Entertainment device and method |
WO2008134625A1 (en) | 2007-04-26 | 2008-11-06 | Ford Global Technologies, Llc | Emotive advisory system and method |
CN101071457B (zh) | 2007-04-28 | 2010-05-26 | 腾讯科技(深圳)有限公司 | 一种网络游戏中改变角色形象的方法、装置以及服务器 |
WO2008141125A1 (en) | 2007-05-10 | 2008-11-20 | The Trustees Of Columbia University In The City Of New York | Methods and systems for creating speech-enabled avatars |
WO2008151424A1 (en) | 2007-06-11 | 2008-12-18 | Darwin Dimensions Inc. | Metadata for avatar generation in virtual environments |
GB2450757A (en) | 2007-07-06 | 2009-01-07 | Sony Comp Entertainment Europe | Avatar customisation, transmission and reception |
US20090016617A1 (en) | 2007-07-13 | 2009-01-15 | Samsung Electronics Co., Ltd. | Sender dependent messaging viewer |
US8726194B2 (en) | 2007-07-27 | 2014-05-13 | Qualcomm Incorporated | Item selection using enhanced control |
US8146005B2 (en) | 2007-08-07 | 2012-03-27 | International Business Machines Corporation | Creating a customized avatar that reflects a user's distinguishable attributes |
US20090055484A1 (en) | 2007-08-20 | 2009-02-26 | Thanh Vuong | System and method for representation of electronic mail users using avatars |
US20090070688A1 (en) | 2007-09-07 | 2009-03-12 | Motorola, Inc. | Method and apparatus for managing interactions |
US8924250B2 (en) | 2007-09-13 | 2014-12-30 | International Business Machines Corporation | Advertising in virtual environments based on crowd statistics |
WO2009046342A1 (en) | 2007-10-04 | 2009-04-09 | Playspan, Inc. | Apparatus and method for virtual world item searching |
US20090106672A1 (en) | 2007-10-18 | 2009-04-23 | Sony Ericsson Mobile Communications Ab | Virtual world avatar activity governed by person's real life activity |
US8892999B2 (en) | 2007-11-30 | 2014-11-18 | Nike, Inc. | Interactive avatar for social network services |
US8151191B2 (en) | 2007-12-07 | 2012-04-03 | International Business Machines Corporation | Managing objectionable material in 3D immersive virtual worlds |
US20090158170A1 (en) | 2007-12-14 | 2009-06-18 | Rajesh Narayanan | Automatic profile-based avatar generation |
US20090177976A1 (en) | 2008-01-09 | 2009-07-09 | Bokor Brian R | Managing and presenting avatar mood effects in a virtual world |
US8495505B2 (en) | 2008-01-10 | 2013-07-23 | International Business Machines Corporation | Perspective based tagging and visualization of avatars in a virtual world |
WO2009101153A2 (en) | 2008-02-13 | 2009-08-20 | Ubisoft Entertainment S.A. | Live-action image capture |
EP2252955A1 (en) | 2008-03-03 | 2010-11-24 | Nike International Ltd. | Interactive athletic equipment system |
US9744466B2 (en) | 2008-03-13 | 2017-08-29 | Mattel, Inc. | Widgetized avatar and a method and system of creating and using same |
US20090234716A1 (en) | 2008-03-17 | 2009-09-17 | Photometria, Inc. | Method of monetizing online personal beauty product selections |
US8832552B2 (en) | 2008-04-03 | 2014-09-09 | Nokia Corporation | Automated selection of avatar characteristics for groups |
US20090265604A1 (en) | 2008-04-21 | 2009-10-22 | Microsoft Corporation | Graphical representation of social network vitality |
US8099462B2 (en) | 2008-04-28 | 2012-01-17 | Cyberlink Corp. | Method of displaying interactive effects in web camera communication |
US20090300525A1 (en) | 2008-05-27 | 2009-12-03 | Jolliff Maria Elena Romera | Method and system for automatically updating avatar to indicate user's status |
US20090303984A1 (en) | 2008-06-09 | 2009-12-10 | Clark Jason T | System and method for private conversation in a public space of a virtual world |
US8095878B2 (en) | 2008-06-23 | 2012-01-10 | International Business Machines Corporation | Method for spell check based upon target and presence of avatars within a virtual environment |
US8839327B2 (en) | 2008-06-25 | 2014-09-16 | At&T Intellectual Property Ii, Lp | Method and apparatus for presenting media programs |
CA2729630C (en) | 2008-06-30 | 2017-09-12 | Accenture Global Services Limited | Modification of avatar attributes for use in a gaming system via a moderator interface |
US20120246585A9 (en) | 2008-07-14 | 2012-09-27 | Microsoft Corporation | System for editing an avatar |
CA2732268C (en) | 2008-07-28 | 2020-07-21 | Breakthrough Performancetech, Llc | Systems and methods for computerized interactive skill training |
US8384719B2 (en) | 2008-08-01 | 2013-02-26 | Microsoft Corporation | Avatar items and animations |
US8832201B2 (en) | 2008-08-18 | 2014-09-09 | International Business Machines Corporation | Method, system and program product for providing selective enhanced privacy and control features to one or more portions of an electronic message |
US8648865B2 (en) | 2008-09-26 | 2014-02-11 | International Business Machines Corporation | Variable rendering of virtual universe avatars |
US8108774B2 (en) | 2008-09-26 | 2012-01-31 | International Business Machines Corporation | Avatar appearance transformation in a virtual universe |
US8869197B2 (en) | 2008-10-01 | 2014-10-21 | At&T Intellectual Property I, Lp | Presentation of an avatar in a media communication system |
US8683354B2 (en) | 2008-10-16 | 2014-03-25 | At&T Intellectual Property I, L.P. | System and method for distributing an avatar |
US20100115426A1 (en) | 2008-11-05 | 2010-05-06 | Yahoo! Inc. | Avatar environments |
US8745152B2 (en) | 2008-11-06 | 2014-06-03 | Disney Enterprises, Inc. | System and method for server-side avatar pre-rendering |
US8458601B2 (en) | 2008-12-04 | 2013-06-04 | International Business Machines Corporation | System and method for item inquiry and information presentation via standard communication paths |
WO2010074786A2 (en) | 2008-12-04 | 2010-07-01 | Total Immersion Software, Inc. | System and methods for dynamically injecting expression information into an animated facial mesh |
US20100162149A1 (en) | 2008-12-24 | 2010-06-24 | At&T Intellectual Property I, L.P. | Systems and Methods to Provide Location Information |
US9105014B2 (en) | 2009-02-03 | 2015-08-11 | International Business Machines Corporation | Interactive avatar in messaging environment |
JP2010183317A (ja) | 2009-02-05 | 2010-08-19 | Olympus Imaging Corp | 撮像装置、画像合成表示装置、画像合成表示方法、およびプログラム |
KR101558553B1 (ko) | 2009-02-18 | 2015-10-08 | 삼성전자 주식회사 | 아바타 얼굴 표정 제어장치 |
US20100227682A1 (en) | 2009-03-04 | 2010-09-09 | Microsoft Corporation | Awarding of avatar items in video game environment |
US8275590B2 (en) | 2009-08-12 | 2012-09-25 | Zugara, Inc. | Providing a simulation of wearing items such as garments and/or accessories |
US20110093780A1 (en) | 2009-10-16 | 2011-04-21 | Microsoft Corporation | Advertising avatar |
CN102687171B (zh) | 2009-10-16 | 2015-07-08 | 日本电气株式会社 | 人物检索装置及人物检索方法 |
KR20110070056A (ko) | 2009-12-18 | 2011-06-24 | 한국전자통신연구원 | 사용자 맞춤형 고품질 3d 아바타 생성 방법 및 그 장치 |
TWI434227B (zh) | 2009-12-29 | 2014-04-11 | Ind Tech Res Inst | 動畫產生系統及方法 |
US8484158B2 (en) | 2010-02-01 | 2013-07-09 | International Business Machines Corporation | Managing information about avatars across virtual worlds |
US20110239136A1 (en) | 2010-03-10 | 2011-09-29 | Oddmobb, Inc. | Instantiating widgets into a virtual social venue |
US9086776B2 (en) | 2010-03-29 | 2015-07-21 | Microsoft Technology Licensing, Llc | Modifying avatar attributes |
TWI439960B (zh) | 2010-04-07 | 2014-06-01 | Apple Inc | 虛擬使用者編輯環境 |
US8379920B2 (en) | 2010-05-05 | 2013-02-19 | Nec Laboratories America, Inc. | Real-time clothing recognition in surveillance videos |
US20110294564A1 (en) * | 2010-05-28 | 2011-12-01 | Microsoft Corporation | Animation for a productivity applications learning tool game |
US8692830B2 (en) | 2010-06-01 | 2014-04-08 | Apple Inc. | Automatic avatar creation |
US11393133B2 (en) | 2010-06-07 | 2022-07-19 | Affectiva, Inc. | Emoji manipulation using machine learning |
US20110298897A1 (en) | 2010-06-08 | 2011-12-08 | Iva Sareen | System and method for 3d virtual try-on of apparel on an avatar |
US8564621B2 (en) | 2010-08-11 | 2013-10-22 | International Business Machines Corporation | Replicating changes between corresponding objects |
JP2012065263A (ja) | 2010-09-17 | 2012-03-29 | Olympus Imaging Corp | 撮影機器 |
KR101514327B1 (ko) | 2010-11-04 | 2015-04-22 | 한국전자통신연구원 | 얼굴 아바타 생성 장치 및 방법 |
US20120124458A1 (en) | 2010-11-17 | 2012-05-17 | Nazareno Brier Cruzada | Social networking website & web-based system for collecting & presenting real-time user generated information on parties & events. |
US20120130717A1 (en) | 2010-11-19 | 2012-05-24 | Microsoft Corporation | Real-time Animation for an Expressive Avatar |
KR20120059994A (ko) | 2010-12-01 | 2012-06-11 | 삼성전자주식회사 | 표정 제어점을 이용한 아바타 제어 장치 및 방법 |
JP5722603B2 (ja) | 2010-12-03 | 2015-05-20 | 新日鉄住金ソリューションズ株式会社 | 拡張現実感提示装置、拡張現実感提示方法及びプログラム |
KR101445263B1 (ko) | 2010-12-22 | 2014-09-30 | 주식회사 케이티 | 맞춤형 콘텐츠 제공 시스템 및 방법 |
GB201102794D0 (en) | 2011-02-17 | 2011-03-30 | Metail Ltd | Online retail system |
US9839844B2 (en) | 2011-03-01 | 2017-12-12 | Disney Enterprises, Inc. | Sprite strip renderer |
CN201986710U (zh) | 2011-03-21 | 2011-09-28 | 刘彦君 | 数码音乐动漫t恤 |
EP2689396A4 (en) | 2011-03-21 | 2015-06-03 | Intel Corp | PROCESS FOR ADVANCED CHANGES WITH 3D FACE MODELING AND MARKING ALIGNMENT |
US20130103760A1 (en) | 2011-04-11 | 2013-04-25 | Robert K. Golding | Location-sensitive virtual identity system, apparatus, method and computer-readable medium |
US9330483B2 (en) | 2011-04-11 | 2016-05-03 | Intel Corporation | Avatar facial expression techniques |
US8989786B2 (en) | 2011-04-21 | 2015-03-24 | Walking Thumbs, Llc | System and method for graphical expression during text messaging communications |
US9241184B2 (en) | 2011-06-01 | 2016-01-19 | At&T Intellectual Property I, L.P. | Clothing visualization |
US10607411B1 (en) | 2011-07-15 | 2020-03-31 | Kevin Pezzino | Specialized garments for augmented reality and method |
CN103765479A (zh) | 2011-08-09 | 2014-04-30 | 英特尔公司 | 基于图像的多视点3d脸部生成 |
KR20130022434A (ko) | 2011-08-22 | 2013-03-07 | (주)아이디피쉬 | 통신단말장치의 감정 컨텐츠 서비스 장치 및 방법, 이를 위한 감정 인지 장치 및 방법, 이를 이용한 감정 컨텐츠를 생성하고 정합하는 장치 및 방법 |
US20130249948A1 (en) | 2011-08-26 | 2013-09-26 | Reincloud Corporation | Providing interactive travel content at a display device |
US8559980B2 (en) | 2011-09-02 | 2013-10-15 | John J. Pujol | Method and system for integrated messaging and location services |
US8890926B2 (en) | 2011-11-02 | 2014-11-18 | Microsoft Corporation | Automatic identification and representation of most relevant people in meetings |
US9251170B2 (en) | 2011-11-17 | 2016-02-02 | Verizon Patent And Licensing Inc. | Method and system for item selection based on characteristic matching |
US9782680B2 (en) | 2011-12-09 | 2017-10-10 | Futurewei Technologies, Inc. | Persistent customized social media environment |
US20130147933A1 (en) | 2011-12-09 | 2013-06-13 | Charles J. Kulas | User image insertion into a text message |
WO2013097139A1 (en) | 2011-12-29 | 2013-07-04 | Intel Corporation | Communication using avatar |
US8782565B2 (en) | 2012-01-12 | 2014-07-15 | Cisco Technology, Inc. | System for selecting objects on display |
US8810513B2 (en) | 2012-02-02 | 2014-08-19 | Kodak Alaris Inc. | Method for controlling interactive display system |
US10702773B2 (en) | 2012-03-30 | 2020-07-07 | Videx, Inc. | Systems and methods for providing an interactive avatar |
US9402057B2 (en) | 2012-04-02 | 2016-07-26 | Argela Yazilim ve Bilisim Teknolojileri San. ve Tic. A.S. | Interactive avatars for telecommunication systems |
US9357174B2 (en) | 2012-04-09 | 2016-05-31 | Intel Corporation | System and method for avatar management and selection |
US20130293530A1 (en) | 2012-05-04 | 2013-11-07 | Kathryn Stone Perez | Product augmentation and advertising in see through displays |
WO2013166588A1 (en) | 2012-05-08 | 2013-11-14 | Bitstrips Inc. | System and method for adaptable avatars |
JP5497931B2 (ja) | 2012-05-30 | 2014-05-21 | 株式会社コナミデジタルエンタテインメント | アプリケーション装置、アプリケーション装置の制御方法、及びプログラム |
US20150370320A1 (en) | 2014-06-20 | 2015-12-24 | Medibotics Llc | Smart Clothing with Human-to-Computer Textile Interface |
AU2013206649A1 (en) | 2012-07-05 | 2014-01-23 | Aristocrat Technologies Australia Pty Limited | A gaming system and a method of gaming |
US9147207B2 (en) | 2012-07-09 | 2015-09-29 | Stylewhile Oy | System and method for generating image data for on-line shopping |
US20140125678A1 (en) | 2012-07-11 | 2014-05-08 | GeriJoy Inc. | Virtual Companion |
US10116598B2 (en) | 2012-08-15 | 2018-10-30 | Imvu, Inc. | System and method for increasing clarity and expressiveness in network communications |
US20200019364A1 (en) | 2012-08-21 | 2020-01-16 | Renee Pond | Electronically Customizable Articles |
US20150206349A1 (en) | 2012-08-22 | 2015-07-23 | Goldrun Corporation | Augmented reality virtual content platform apparatuses, methods and systems |
US9461876B2 (en) | 2012-08-29 | 2016-10-04 | Loci | System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction |
US9936165B2 (en) | 2012-09-06 | 2018-04-03 | Intel Corporation | System and method for avatar creation and synchronization |
US9314692B2 (en) | 2012-09-21 | 2016-04-19 | Luxand, Inc. | Method of creating avatar from user submitted image |
US9746990B2 (en) | 2012-09-28 | 2017-08-29 | Intel Corporation | Selectively augmenting communications transmitted by a communication device |
US9501942B2 (en) | 2012-10-09 | 2016-11-22 | Kc Holdings I | Personalized avatar responsive to user physical state and context |
US20140129343A1 (en) | 2012-11-08 | 2014-05-08 | Microsoft Corporation | Dynamic targeted advertising avatar |
US9256860B2 (en) | 2012-12-07 | 2016-02-09 | International Business Machines Corporation | Tracking participation in a shared media session |
US9990373B2 (en) | 2013-02-06 | 2018-06-05 | John A. Fortkort | Creation and geospatial placement of avatars based on real-world interactions |
US9679332B2 (en) | 2013-02-28 | 2017-06-13 | Lg Electronics Inc. | Apparatus and method for processing a multimedia commerce service |
EP2976749A4 (en) | 2013-03-20 | 2016-10-26 | Intel Corp | AVATAR-BASED TRANSMISSION PROTOCOLS, SYMBOL GENERATION AND PUPPET ANIMATION |
US9460541B2 (en) | 2013-03-29 | 2016-10-04 | Intel Corporation | Avatar animation, social networking and touch screen applications |
CN105190700A (zh) | 2013-06-04 | 2015-12-23 | 英特尔公司 | 基于化身的视频编码 |
US9378576B2 (en) | 2013-06-07 | 2016-06-28 | Faceshift Ag | Online modeling for real-time facial animation |
US9104907B2 (en) | 2013-07-17 | 2015-08-11 | Emotient, Inc. | Head-pose invariant recognition of facial expressions |
US9177410B2 (en) | 2013-08-09 | 2015-11-03 | Ayla Mandel | System and method for creating avatars or animated sequences using human body features extracted from a still image |
US9706040B2 (en) | 2013-10-31 | 2017-07-11 | Udayakumar Kadirvel | System and method for facilitating communication via interaction with an avatar |
US9508197B2 (en) | 2013-11-01 | 2016-11-29 | Microsoft Technology Licensing, Llc | Generating an avatar from real time image data |
US9489760B2 (en) | 2013-11-14 | 2016-11-08 | Intel Corporation | Mechanism for facilitating dynamic simulation of avatars corresponding to changing user performances as detected at computing devices |
US9361510B2 (en) | 2013-12-13 | 2016-06-07 | Intel Corporation | Efficient facial landmark tracking using online shape regression method |
US9544257B2 (en) | 2014-04-04 | 2017-01-10 | Blackberry Limited | System and method for conducting private messaging |
US9503845B2 (en) | 2014-04-17 | 2016-11-22 | Paypal, Inc. | Image customization to enhance transaction experience |
US20170080346A1 (en) | 2014-05-01 | 2017-03-23 | Mohamad Abbas | Methods and systems relating to personalized evolving avatars |
EP4206870A1 (en) | 2014-06-14 | 2023-07-05 | Magic Leap, Inc. | Method for updating a virtual world |
US20160134840A1 (en) | 2014-07-28 | 2016-05-12 | Alexa Margaret McCulloch | Avatar-Mediated Telepresence Systems with Enhanced Filtering |
US10282057B1 (en) | 2014-07-29 | 2019-05-07 | Google Llc | Image editing on a wearable device |
US20160055370A1 (en) | 2014-08-21 | 2016-02-25 | Futurewei Technologies, Inc. | System and Methods of Generating User Facial Expression Library for Messaging and Social Networking Applications |
WO2016054164A1 (en) | 2014-09-30 | 2016-04-07 | Tcms Transparent Beauty, Llc | Precise application of cosmetic looks from over a network environment |
EP3614304A1 (en) | 2014-11-05 | 2020-02-26 | INTEL Corporation | Avatar video apparatus and method |
GB201420090D0 (en) | 2014-11-12 | 2014-12-24 | Knyttan Ltd | Image to item mapping |
KR102374446B1 (ko) | 2014-12-11 | 2022-03-15 | 인텔 코포레이션 | 아바타 선택 메커니즘 |
JP6462386B2 (ja) | 2015-02-05 | 2019-01-30 | 任天堂株式会社 | プログラム、通信端末及び表示方法 |
US10810797B2 (en) | 2015-05-22 | 2020-10-20 | Otoy, Inc | Augmenting AR/VR displays with image projections |
US10373244B2 (en) | 2015-07-15 | 2019-08-06 | Futurewei Technologies, Inc. | System and method for virtual clothes fitting based on video augmented reality in mobile phone |
WO2017029487A1 (en) | 2015-08-14 | 2017-02-23 | Metail Limited | Method and system for generating an image file of a 3d garment model on a 3d body model |
US10217286B1 (en) | 2015-09-21 | 2019-02-26 | Amazon Technologies, Inc. | Realistic rendering for virtual reality applications |
US20170087473A1 (en) | 2015-09-29 | 2017-03-30 | Sportsworld, Inc. | Virtual environments for managing and interacting with virtual sports leagues |
JP6742405B2 (ja) | 2015-09-29 | 2020-08-19 | バイナリーヴィーアール, インコーポレイテッドBinaryvr, Inc. | 表情検出機能を備えたヘッドマウントディスプレイ |
US20170118145A1 (en) | 2015-10-21 | 2017-04-27 | Futurefly Ltd. | Method of using emoji to control and enrich 3d chat environments |
US10176636B1 (en) | 2015-12-11 | 2019-01-08 | A9.Com, Inc. | Augmented reality fashion |
US10475225B2 (en) | 2015-12-18 | 2019-11-12 | Intel Corporation | Avatar animation system |
US20170199855A1 (en) | 2016-01-11 | 2017-07-13 | BuilderFish, LLC | System and method for providing a time-based presentation of a user-navigable project model |
KR20180104051A (ko) | 2016-01-19 | 2018-09-19 | 매직 립, 인코포레이티드 | 리플렉션들을 활용하는 증강 현실 시스템들 및 방법들 |
US9911073B1 (en) | 2016-03-18 | 2018-03-06 | Snap Inc. | Facial patterns for optical barcodes |
US20170312634A1 (en) | 2016-04-28 | 2017-11-02 | Uraniom | System and method for personalized avatar generation, especially for computer games |
US9959037B2 (en) | 2016-05-18 | 2018-05-01 | Apple Inc. | Devices, methods, and graphical user interfaces for messaging |
EP3465537A2 (en) | 2016-05-25 | 2019-04-10 | Metail Limited | Method and system for predicting garment attributes using deep learning |
US10657701B2 (en) | 2016-06-30 | 2020-05-19 | Sony Interactive Entertainment Inc. | Dynamic entering and leaving of virtual-reality environments navigated by different HMD users |
US10573048B2 (en) | 2016-07-25 | 2020-02-25 | Oath Inc. | Emotional reaction sharing |
US20180032818A1 (en) | 2016-07-27 | 2018-02-01 | International Business Machines Corporation | Providing a personalized fitting room experience |
US10534809B2 (en) | 2016-08-10 | 2020-01-14 | Zeekit Online Shopping Ltd. | Method, system, and device of virtual dressing utilizing image processing, machine learning, and computer vision |
US20180047200A1 (en) | 2016-08-11 | 2018-02-15 | Jibjab Media Inc. | Combining user images and computer-generated illustrations to produce personalized animated digital avatars |
KR102210150B1 (ko) | 2016-09-23 | 2021-02-02 | 애플 인크. | 아바타 생성 및 편집 |
US10192346B2 (en) * | 2016-09-28 | 2019-01-29 | Pixar | Generating UV maps for modified meshes |
US11202017B2 (en) | 2016-10-06 | 2021-12-14 | Fyusion, Inc. | Live style transfer on a mobile device |
WO2018075053A1 (en) | 2016-10-21 | 2018-04-26 | Siemens Aktiengesellschaft | Object pose based on matching 2.5d depth information to 3d information |
US10432559B2 (en) | 2016-10-24 | 2019-10-01 | Snap Inc. | Generating and displaying customized avatars in electronic messages |
US9965801B1 (en) | 2016-12-22 | 2018-05-08 | Capital One Services, Llc | Systems and methods for virtual fittings |
US20180182171A1 (en) | 2016-12-26 | 2018-06-28 | Drawsta, Inc. | Systems and Methods for Real-time Multimedia Augmented Reality |
WO2018129051A1 (en) | 2017-01-04 | 2018-07-12 | Advanced Functional Fabrics Of America | Uniquely identifiable articles of fabric and social networks employing them |
US10242503B2 (en) | 2017-01-09 | 2019-03-26 | Snap Inc. | Surface aware lens |
US10242477B1 (en) | 2017-01-16 | 2019-03-26 | Snap Inc. | Coded vision system |
US10402689B1 (en) | 2017-04-04 | 2019-09-03 | Snap Inc. | Generating an image mask using machine learning |
US11893647B2 (en) | 2017-04-27 | 2024-02-06 | Snap Inc. | Location-based virtual avatars |
US10949872B2 (en) | 2017-04-28 | 2021-03-16 | Snap Inc. | Methods and systems for server generation of interactive advertising with content collections |
US9980100B1 (en) | 2017-08-31 | 2018-05-22 | Snap Inc. | Device location based on machine learning classifications |
US10356341B2 (en) | 2017-10-13 | 2019-07-16 | Fyusion, Inc. | Skeleton-based effects and background replacement |
WO2019079790A1 (en) | 2017-10-21 | 2019-04-25 | Eyecam, Inc | ADAPTIVE GRAPHIC USER INTERFACE SYSTEM |
US10657695B2 (en) | 2017-10-30 | 2020-05-19 | Snap Inc. | Animated chat presence |
JP2019087226A (ja) | 2017-11-03 | 2019-06-06 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、情報処理システムおよび表情画像出力方法 |
US20190205627A1 (en) | 2017-12-28 | 2019-07-04 | Facebook, Inc. | Systems and methods for generating amplified facial expressions based on facial recognition |
KR20190097815A (ko) | 2018-02-13 | 2019-08-21 | 김민정 | 토탈 뷰티 스타일 추천 방법 |
WO2019162842A1 (en) | 2018-02-20 | 2019-08-29 | Hike Private Limited | A system and a method for customizing an image based on facial expressions |
US10719968B2 (en) | 2018-04-18 | 2020-07-21 | Snap Inc. | Augmented expression system |
US20200066052A1 (en) | 2018-08-23 | 2020-02-27 | CJ Technologies, LLC | System and method of superimposing a three-dimensional (3d) virtual garment on to a real-time video of a user |
US10719989B2 (en) | 2018-08-24 | 2020-07-21 | Facebook, Inc. | Suggestion of content within augmented-reality environments |
US11164026B2 (en) | 2018-10-16 | 2021-11-02 | International Business Machines Corporation | Graphical user interface generation based on image analysis |
JP6972043B2 (ja) | 2019-01-11 | 2021-11-24 | 株式会社東芝 | 情報処理装置、情報処理方法およびプログラム |
US10984575B2 (en) | 2019-02-06 | 2021-04-20 | Snap Inc. | Body pose estimation |
US11462011B2 (en) * | 2019-03-22 | 2022-10-04 | Dumas Holdings, Llc | System and method for augmenting casted content with augmented reality content |
CN110096156B (zh) | 2019-05-13 | 2021-06-15 | 东北大学 | 基于2d图像的虚拟换装方法 |
CN110310319B (zh) | 2019-06-12 | 2021-02-12 | 清华大学 | 光照分离的单视角人体服装几何细节重建方法及装置 |
EP3772040A1 (en) | 2019-07-30 | 2021-02-03 | Reactive Reality AG | Method and computer program product for producing 3-dimensional model data of a garment |
KR20220166794A (ko) * | 2020-02-29 | 2022-12-19 | 씨에프 인베스트먼츠, 엘엘씨 (디.비.에이. 기어) | 브랜디드 디지털 아이템 관리 장치 및 방법 |
CN111583355B (zh) * | 2020-05-09 | 2024-01-23 | 维沃移动通信有限公司 | 面部形象生成方法、装置、电子设备及可读存储介质 |
US20210375320A1 (en) | 2020-06-01 | 2021-12-02 | Facebook, Inc. | Post capture edit and draft |
US11544884B2 (en) | 2020-12-11 | 2023-01-03 | Snap Inc. | Virtual clothing try-on |
US11263821B1 (en) | 2021-01-20 | 2022-03-01 | Google Llc | Generating augmented reality prerenderings using template images |
US12100156B2 (en) | 2021-04-12 | 2024-09-24 | Snap Inc. | Garment segmentation |
US11670059B2 (en) | 2021-09-01 | 2023-06-06 | Snap Inc. | Controlling interactive fashion based on body gestures |
US20230066179A1 (en) | 2021-09-02 | 2023-03-02 | Snap Inc. | Interactive fashion with music ar |
US11673054B2 (en) | 2021-09-07 | 2023-06-13 | Snap Inc. | Controlling AR games on fashion items |
US11900506B2 (en) | 2021-09-09 | 2024-02-13 | Snap Inc. | Controlling interactive fashion based on facial expressions |
US11734866B2 (en) | 2021-09-13 | 2023-08-22 | Snap Inc. | Controlling interactive fashion based on voice |
US11983826B2 (en) | 2021-09-30 | 2024-05-14 | Snap Inc. | 3D upper garment tracking |
US11636662B2 (en) | 2021-09-30 | 2023-04-25 | Snap Inc. | Body normal network light and rendering control |
US11651572B2 (en) | 2021-10-11 | 2023-05-16 | Snap Inc. | Light and rendering of garments |
-
2021
- 2021-09-30 US US17/490,167 patent/US11983826B2/en active Active
-
2022
- 2022-09-28 WO PCT/US2022/045075 patent/WO2023055825A1/en active Application Filing
- 2022-09-28 KR KR1020247013344A patent/KR20240076807A/ko unknown
- 2022-09-28 CN CN202280066079.0A patent/CN118119969A/zh active Pending
- 2022-09-28 EP EP22793957.6A patent/EP4409522A1/en active Pending
-
2024
- 2024-04-10 US US18/631,860 patent/US20240257484A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12148108B2 (en) | 2023-01-26 | 2024-11-19 | Snap Inc. | Light and rendering of garments |
Also Published As
Publication number | Publication date |
---|---|
EP4409522A1 (en) | 2024-08-07 |
WO2023055825A1 (en) | 2023-04-06 |
KR20240076807A (ko) | 2024-05-30 |
US20230103125A1 (en) | 2023-03-30 |
US11983826B2 (en) | 2024-05-14 |
US20240257484A1 (en) | 2024-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11983826B2 (en) | 3D upper garment tracking | |
US11734866B2 (en) | Controlling interactive fashion based on voice | |
US20230065031A1 (en) | Controlling interactive fashion based on body gestures | |
US11900506B2 (en) | Controlling interactive fashion based on facial expressions | |
US20230066179A1 (en) | Interactive fashion with music ar | |
US11673054B2 (en) | Controlling AR games on fashion items | |
US11636662B2 (en) | Body normal network light and rendering control | |
CN118076980A (zh) | 根据姿态和言语输入推断意图 | |
US11832015B2 (en) | User interface for pose driven virtual effects | |
US12062084B2 (en) | Method, system, and machine-readable storage medium for VR-based connected portal shopping | |
US20230370557A1 (en) | Augmented reality unboxing experience | |
CN117642762A (zh) | 具有虚拟更衣室的定制广告 | |
CN118401912A (zh) | 增强现实开箱体验 | |
CN118435243A (zh) | 实时上身服装交换 | |
US11544885B2 (en) | Augmented reality experience based on physical items | |
CN118613834A (zh) | 实时服装交换 | |
US20240249346A1 (en) | Adaptive zoom try-on experience | |
US20240144545A1 (en) | Avatar fashion delivery | |
US20240249474A1 (en) | Image generation from text and 3d object | |
US20240249444A1 (en) | Synthetic view for try-on experience |
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 |