CN111527496B - 基于面部辨识生成个性化表情符号和嘴唇同步视频的系统和方法 - Google Patents
基于面部辨识生成个性化表情符号和嘴唇同步视频的系统和方法 Download PDFInfo
- Publication number
- CN111527496B CN111527496B CN201880084294.7A CN201880084294A CN111527496B CN 111527496 B CN111527496 B CN 111527496B CN 201880084294 A CN201880084294 A CN 201880084294A CN 111527496 B CN111527496 B CN 111527496B
- Authority
- CN
- China
- Prior art keywords
- user
- image
- expression
- face
- neutral
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000001815 facial effect Effects 0.000 title claims description 194
- 230000014509 gene expression Effects 0.000 claims abstract description 219
- 230000007935 neutral effect Effects 0.000 claims abstract description 106
- 238000013507 mapping Methods 0.000 claims description 18
- 206010011469 Crying Diseases 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000000284 resting effect Effects 0.000 claims description 3
- 210000000887 face Anatomy 0.000 description 87
- 230000006855 networking Effects 0.000 description 50
- 230000000694 effects Effects 0.000 description 39
- 230000009471 action Effects 0.000 description 27
- 230000009466 transformation Effects 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 13
- 238000001514 detection method Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 230000003993 interaction Effects 0.000 description 10
- 230000008451 emotion Effects 0.000 description 9
- 230000001747 exhibiting effect Effects 0.000 description 8
- 238000013475 authorization Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 5
- 238000011524 similarity measure Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 235000014510 cooky Nutrition 0.000 description 2
- 230000008921 facial expression Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 241000222511 Coprinus Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 210000005069 ears Anatomy 0.000 description 1
- 210000004709 eyebrow Anatomy 0.000 description 1
- 210000001061 forehead Anatomy 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/40—Analysis of texture
-
- 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
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/54—Extraction of image or video features relating to texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/758—Involving statistics of pixels or of feature values, e.g. histogram matching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/761—Proximity, similarity or dissimilarity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/174—Facial expression recognition
- G06V40/175—Static expression
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/174—Facial expression recognition
- G06V40/176—Dynamic expression
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/02—Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
- G11B27/031—Electronic editing of digitised analogue information signals, e.g. audio or video signals
- G11B27/036—Insert-editing
-
- 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
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Business, Economics & Management (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
系统、方法和非暂时性计算机可读介质可以获得第一用户的第一图像,该第一用户的第一图像描绘具有中性表情或位置的第一用户的面部。可以识别描绘具有中性表情或位置的第二用户的面部的第二用户的第一图像,其中基于对阈值的满足,第二用户的面部类似于第一用户的面部。可以基于描绘具有不同于中性表情或位置的表情或位置的第二用户的面部的第二用户的第二图像,来生成描绘具有不同于中性表情或位置的表情或位置的第一用户的面部的第一用户的第二图像。
Description
发明领域
本技术涉及社交网络领域。更具体地,本技术涉及用于基于面部辨识(facialrecognition)生成各种媒体效果的技术。
背景
现今,人们常常出于各种各样的目的而利用计算设备(或系统)。例如,用户可以使用他们的计算设备来彼此交互、创建内容、分享内容和查看内容。在某些情况下,用户可以利用他或她的计算设备来访问社交网络系统(或服务)。用户可以经由社交网络系统提供、发布、分享和访问各种内容项,例如状态更新、图像、视频、文章和链接。在一些实施例中,面部辨识可以结合内容项来被执行。
概述
本公开的各种实施例可以包括系统、方法和非暂时性计算机可读介质,其被配置为获得第一用户的第一图像,该第一用户的第一图像描绘第一用户的具有中性表情(neutral expression)或位置的面部。可以识别描绘第二用户的具有中性表情或位置的面部的第二用户的第一图像,其中基于对阈值的满足,第二用户的面部类似于第一用户的面部。可以基于描绘第二用户的具有不同于中性表情或位置的表情或位置的面部的第二用户的第二图像来生成描绘第一用户的具有不同于中性表情或位置的表情或位置的面部的第一用户的第二图像。
在一些实施例中,识别第二用户的第一图像包括比较第一用户的第一图像中的第一用户的面部点(facial point)和第二用户的第一图像中的第二用户的面部点,其中第一用户的面部点和第二用户的面部点之间的匹配度满足阈值。
在某些实施例中,生成第一用户的第二图像包括将第一用户的第一图像中的第一用户的面部点映射到第二用户的第二图像中的第二用户的面部点。
在一个实施例中,基于第一用户的第二图像为第一用户生成个性化表情符号(emoticon)。
在一些实施例中,第二用户的第一图像被包括在第二用户演唱歌曲的视频中,并且基于第一用户的第二图像生成第一用户的嘴唇同步视频。
在某些实施例中,识别第二用户的第一图像包括比较第一用户的第一图像中的至少一个区域的纹理和第二用户的第一图像中的对应区域的纹理,其中第一用户的第一图像中的至少一个区域的纹理和第二用户的第一图像中的至少一个区域的纹理之间的匹配度满足阈值。
在一个实施例中,复制第二用户的第一图像中的至少一个区域的一部分,以生成第一用户的第二图像。
在一些实施例中,比较第一用户的第一图像中的至少一个区域的纹理和第二用户的第一图像中的对应区域的纹理包括:确定第一用户的第一图像中的至少一个区域的纹理特征和第二用户的第一图像中的至少一个区域的纹理特征。
在某些实施例中,图像被表示为值的矩阵,并且图像的纹理特征包括以下中的一个或更多个:值的平均值或值的中值。
在一个实施例中,不同于中性表情的表情包括以下中的一种或更多种:高兴表情、悲伤表情、愤怒表情、惊讶表情、哭泣表情、微笑表情、大笑表情或皱眉表情。
本公开的各种实施例可以包括系统、方法和非暂时性计算机可读介质,其被配置为获得用户的第一图像,该用户的第一图像描绘用户的具有特定表情的面部。可以确定特定表情的关键点(key point)。特定表情的关键点可以被放大。基于放大的关键点,可以生成描绘用户的具有特定表情的放大版本的面部的用户的第二图像。
在一些实施例中,特定表情包括以下中的一种或更多种:高兴表情、悲伤表情、愤怒表情、惊讶表情、哭泣表情、微笑表情、大笑表情或皱眉表情。
在某些实施例中,用户的面部由多个面部点表示,并且特定表情的关键点是面部点的子集。
在一个实施例中,基于面部检测来识别多个面部点。
在一些实施例中,放大特定表情的关键点包括移动特定表情的关键点中的一个或更多个。
在某些实施例中,特定表情的关键点中的一个或更多个移动各自选择的距离。
在一个实施例中,各自选择的距离是不同的距离。
在一些实施例中,关键点中的一个或更多个不移动。
在某些实施例中,特定表情的放大版本描绘特定表情的所增大的幅度。
在一个实施例中,特定表情与表示特定表情的特性的特定位置中的关键点相关联。
应当理解,从附图中和从下面的详细描述中,所公开的技术的许多其他特征、应用、实施例和/或变型将是明显的。本文描述的结构、系统、非暂时性计算机可读介质和方法的附加和/或替代实现可以被使用而不偏离所公开的技术的原理。
附图简述
图1示出了根据本公开的实施例的示例系统,其包括被配置为基于面部辨识提供各种媒体效果的示例面部效果生成模块。
图2示出了根据本公开的实施例的示例媒体效果生成模块,其被配置为基于面部辨识来生成各种媒体效果。
图3A示出了根据本公开的实施例的用于基于面部辨识提供个性化表情符号的示例场景。
图3B示出了根据本公开的实施例的用于基于面部辨识来提供嘴唇同步视频的示例场景。
图3C示出了根据本公开的实施例的用于基于面部辨识提供放大的表情的示例场景。
图4示出了根据本公开的实施例的用于基于面部辨识提供各种媒体效果的示例第一方法。
图5示出了根据本公开的实施例的用于基于面部辨识提供各种媒体效果的示例第二方法。
图6示出了根据本公开的实施例的可以在各种场景中使用的示例系统的网络图。
图7示出了根据本公开的实施例的可以在各种场景中使用的计算机系统的示例。
附图仅为了说明的目的描绘了所公开的技术的各种实施例,其中附图使用相似的参考数字来标识相似的元素。本领域中的技术人员将从下面的讨论中容易认识到,在附图中示出的结构和方法的替代实施例可以被采用而不偏离本文描述的所公开的技术的原理。
详细描述
基于面部辨识技术的媒体效果生成
人们出于各种各样的目的使用计算设备(或系统)。计算设备可以提供不同种类的功能。用户可以利用他们的计算设备来产生信息、访问信息和分享信息。在一些情况下,用户可以利用计算设备来与传统社交网络系统(例如,社交网络服务、社交网络等)进行交互或参与传统社交网络系统。社交网络系统可以提供用户可以通过其发布内容项的资源。在一个示例中,内容项可以呈现在用户的简档页面上。作为另一个示例,内容项可以通过供用户访问的信息流(feed)来被呈现。
在特别出现在计算机技术领域中的传统方法下,面部辨识可以结合与社交网络系统相关联的内容项来被执行。作为示例,可以基于面部辨识来识别照片中用户的关连(connection),并且用户可以标记一个或更多个所识别的关连。然而,基于用户的面部辨识,传统方法不会提供个性化媒体效果,或者仅提供有限的个性化媒体效果。例如,传统方法不会(例如,基于用户的面部特征)提供为特定用户生成的个性化媒体效果。
植根于计算机技术的改进的方法可以克服与在计算机技术领域中特别出现的传统方法相关联的前述和其他缺点。基于计算机技术,所公开的技术可以基于面部辨识为用户提供各种媒体效果。作为示例,所公开的技术可以为用户提供个性化表情符号。对于特定用户,描绘具有中性表情的用户面部的图像可以与描绘具有中性表情的另一用户面部的图像相匹配。可以有描绘具有不同表情的其他用户的面部的图像。不同表情的示例可以包括高兴、悲伤、愤怒等。描绘具有中性表情的用户面部的图像可以被映射到描绘具有不同表情的其他用户面部的图像,以便创建描绘不同表情的用户的个性化表情符号。作为另一示例,所公开的技术可以为用户提供嘴唇同步视频。对于特定用户,描绘处于中性位置(neutralposition)的用户面部的图像可以与被包括在另一用户演唱歌曲的视频中的、描绘处于中性位置的另一用户的面部的图像相匹配。描绘处于中性位置的用户的面部的图像可以被映射到描绘演唱歌曲的另一用户的面部的视频,以便创建用户演唱歌曲的个性化嘴唇同步视频。作为又一示例,所公开的技术可以为用户提供放大的表情。对于特定用户,可以获得描绘具有特定表情的用户的图像。表情的示例可以包括高兴、悲伤、愤怒等。可以提取并放大表情的关键点,以便增大表情的幅度或范围。以这种方式,所公开的技术可以为用户提供个性化媒体效果,这可以使得生成与社交网络系统相关联的内容项的体验更加有趣。下面提供了与所公开的技术相关的附加细节。
图1示出了根据本公开的实施例的示例系统100,其包括被配置为基于面部辨识提供各种媒体效果的示例面部效果生成模块102。面部效果生成模块102可以包括面部检测模块104、面部相似性识别模块106、面部点映射模块108和媒体效果生成模块110。在一些情况下,示例系统100可以包括至少一个数据储存器120。在该附图和本文的所有附图中示出的部件(例如,模块、元件、步骤、块等)仅仅是示例性的,且其他实现可以包括附加的、更少的、集成的、或不同的部件。一些部件可能未被示出,以便不使相关细节模糊。在各种实施例中,结合面部效果生成模块102描述的一个或更多个功能可以以任何合适的组合来被实现。虽然为了说明性的目的,结合与社交网络系统相关联的基于面部辨识的媒体效果来描述所公开的技术,但是所公开的技术可以应用于任何其他类型的系统和/或内容。
面部检测模块104可以检测图像中的面部。例如,面部检测模块104可以检测图像中面部的面部点。面部点也可以被称为“面部标志(facial landmark)”。面部点涉及与人类面部上的解剖点相对应的图像数据,在各种条件(例如照明条件、取向等)下,对于不同的人可以以一致的方式自动检测该图像数据。例如,面部点可以指示嘴唇、眼睛、鼻子、眉毛、下巴、前额、耳朵或其他面部特征的某些突出点(prominent point)的位置。面部点的具体位置可以根据特定的人而变化,并且仅举一些例子,可以例如使用所选的基于图像尺寸的坐标系或在图像中被描绘的主题来被表达,在该图像中面部点被描绘。在一些实施例中,由面部检测模块104在图像中检测到的面部可以呈现各种表情。表情或面部表情的示例可以包括高兴、悲伤、愤怒、惊讶、哭泣、微笑、大笑、皱眉等。在某些情况下,图像中的面部可能没有呈现任何表情并且可能处于静止状态。这种缺乏表情可以被称为“中性表情”。在某些实施例中,由面部检测模块104检测到的、参与运动或说话的面部可以与处于与运动或说话相关联的各种位置的面部点相关联。例如,图像中的面部可能会说出特定的音节或单词。在一些情况下,图像中的面部和相应的面部点可以处于没有任何运动或说话或者处于静止状态的位置。这样的位置可以被称为“中性位置”。因此,中性表情和中性位置可以指示面部处于静止状态的相同状态。本文提供的所有示例都是为了说明性的目的,并且可以有许多变型和其他可能性。
面部相似性识别模块106可以识别与输入图像中的面部相似的一个或更多个面部。例如,面部相似性识别模块106可以接收描绘特定人的面部的输入图像,并搜索其他人的面部的图像,以识别与输入图像中的面部相似的一个或更多个面部。如上所述,面部检测模块104可以检测输入图像中的面部和其他图像中的面部。例如,输入图像中的面部的面部点和其他图像中的面部的面部点可以由面部检测模块104确定。在一些实施例中,面部相似性识别模块106可以搜索描绘与输入图像中的面部相同或相似的表情的面部图像。例如,如果输入图像中的面部表情是中性表情,则可以识别描绘中性表情的面部图像。在某些实施例中,面部相似性识别模块106可以搜索描绘与输入图像中的面部相同或相似的面部点位置的面部图像。例如,如果输入图像中的面部处于中性位置,则可以搜索描绘中性位置的面部图像。如本文所讨论的,输入图像中的面部可以被称为“输入面部”。
面部相似性识别模块106可以比较输入面部的面部点和其他图像中的面部的面部点,以便识别与输入面部相似的面部。如本文所使用的,这种相似的面部有时被称为输入面部的“相似面部(similar face of)”、“相似面部(similar face to)”或“相似面部(similar face for)”。如果各个面部点的位置相同或在特定程度(degree)或范围(extent)上相似,则两个面部或其对应的面部点可以被认为是相似的或匹配的。在一些情况下,具有在预定量内与输入面部的面部点相似的面部点的面部可以被选择为与输入面部相似的面部。例如,所选相似面部的面部点和输入面部的面部点之间的匹配度或匹配范围可以满足阈值。在一些实施例中,面部相似性识别模块106可以确定指示输入面部的面部点和另一个面部的面部点之间的匹配度或匹配范围的相似性度量。作为示例,可以基于输入面部的面部点和另一个面部的面部点之间的距离来确定相似性度量。如果相似性度量满足阈值,则可以选择一个面部作为输入面部的相似面部。如下所述,输入面部的相似面部可以用于生成各种媒体效果。例如,可以有描绘除中性表情之外的各种表情的相似面部的图像,其可以用来为输入面部创建个性化表情符号。或者,可以有相似面部演唱歌曲的视频,其可以用来为输入面部创建个性化嘴唇同步视频。
在一些实施例中,面部相似性识别模块106可以在识别输入图像中的面部的相似面部时考虑除面部点之外的附加因素。附加因素的示例可以包括输入面部的纹理。可以比较两个图像或两个图像的区域的纹理,以确定两个图像或区域的纹理是否相似。在某些实施例中,图像或其区域可以被表示为值的矩阵。在某些情况下,值的矩阵可以基于图像数据(例如像素数据)。作为示例,每个值可以从0到255的范围内进行选择。在一些实施例中,可以计算或提取与纹理相关的特征(“纹理特征”),以便比较两个图像或两个图像的区域的纹理。纹理特征的示例可以包括图像或图像区域中的值的平均值、图像或图像区域中的值的中值以及其他度量。面部相似性识别模块106可以比较两个图像的纹理特征,以便识别与输入面部相似的面部。如果两个图像或两个图像的区域的纹理特征值的比较满足阈值,则可以认为两个图像或两个图像的区域的纹理相似或匹配。作为示例,两个图像或两个图像的区域的纹理特征值的比较可以包括纹理特征值之间的差。在一些实施例中,面部相似性识别模块106可以确定相似性度量,该相似性度量指示与输入面部相关的图像或图像区域的纹理和与另一个面部相关的图像或图像区域的纹理之间的匹配度或匹配范围。作为示例,可以基于输入面部的纹理特征和另一面部的纹理特征的值来确定相似性度量。如果相似性度量满足阈值,则输入面部的图像或图像区域的纹理和另一面部的图像或图像区域的纹理可以被认为匹配。面部相似性识别模块106可以选择具有与输入面部相似的面部点和相似的纹理的面部,作为输入面部的相似面部。对纹理的考虑可以导致选择在年龄、性别、种族和其他可以影响面部外观的因素方面与输入面部最佳匹配的相似面部。
如上所解释的,面部相似性识别模块106可以基于面部点和/或诸如纹理的附加因素来识别输入面部的相似面部。在某些实施例中,面部相似性识别模块106可以选择输入面部的相似面部,使得相似面部具有与输入面部相似的面部点和相似的纹理。面部相似性识别模块106可以使用相似面部的图像来填充输入面部的生成输入面部的其他图像所需的部分。例如,面部相似性识别模块106可以使用描绘中性表情的面部输入图像来生成描绘除中性表情之外的各种表情的面部图像。类似地,面部相似性识别模块106可以使用描绘中性位置的面部输入图像来生成描绘处于与运动或说话相关联的各种位置的面部点的面部图像。然而,描绘中性表情的面部输入图像可能不显示生成呈现除中性表情之外的表情的面部图像所需的面部的某些部分。或者,呈现中性位置的面部输入图像可能不显示处于不同于中性位置的位置的面部点。作为示例,描绘中性表情的面部输入图像可能不显示牙齿,这可能是生成描绘微笑表情的面部图像所需要的。在该示例中,面部相似性识别模块106可以选择输入面部的相似面部,使得相似面部在嘴部区域周围具有与输入面部相似的纹理。面部相似性识别模块106可以使用描绘微笑表情的相似面部的图像中的相似面部的牙齿,以便生成描绘微笑表情的输入面部的图像。因为考虑了面部相关部分的纹理,所以来自相似面部的部分在输入面部的所生成的图像中看起来更自然。本文提供的所有示例都是为了说明性的目的,并且可以有许多变型和其他可能性。
面部点映射模块108可以将输入面部映射到输入面部的相似面部。例如,如上所述,输入面部的相似面部可以由面部相似性识别模块106确定。作为示例,面部点映射模块108可以将输入面部的面部点映射到呈现不同表情的相似面部的面部点,以便生成呈现不同表情的输入面部的图像。例如,可以确定将输入面部的面部点映射到呈现不同表情的相似面部的面部点的变换,并将该变换应用于输入面部及其对应的面部点。作为另一个示例,面部点映射模块108可以将输入面部的面部点映射到呈现不同位置的相似面部的面部点,以便生成呈现不同位置的输入面部的图像。例如,可以确定将输入面部的面部点映射到呈现不同位置的相似面部的面部点的变换,并将其该变换应用于输入面部及其对应的面部点。在一些实施例中,面部点映射模块108可以确定将呈现中性表情或中性位置的输入面部的面部点映射到呈现中性表情或中性位置的相似面部的面部点的变换,并且还确定将呈现中性表情或中性位置的相似面部的面部点映射到呈现另一表情或另一位置的相似面部的面部点的变换。然后,面部点映射模块108可以将所确定的变换应用于输入面部及其对应的面部点,使得输入面部被变换以呈现由相似面部描绘的其他表情或其他位置。本文提供的所有示例都是为了说明性的目的,并且可以有许多变型和其他可能性。
媒体效果生成模块110可以基于面部辨识生成各种媒体效果。例如,媒体效果生成模块110可以创建个性化表情符号、个性化嘴唇同步视频和放大的表情。本文更详细地描述了媒体效果生成模块110的功能。
在一些实施例中,面部效果生成模块102可以部分或全部地被实现为软件、硬件或其任意组合。通常,如本文讨论的模块可以与软件、硬件或其任何组合相关联。在一些实现中,模块的一个或更多个功能、任务和/或操作可以由软件例程、软件过程、硬件和/或其任何组合来实施或执行。在一些情况下,面部效果生成模块102可以部分或全部地被实现为在一个或更多个计算设备或系统上(例如在服务器系统或客户端计算设备上)运行的软件。在一些情况下,面部效果生成模块102可以部分或全部地在诸如图6的社交网络系统630的社交网络系统(或服务)内实现,或者被配置为与社交网络系统(或服务)结合或集成进行操作。类似地,在一些实例中,面部效果生成模块102可以部分或全部地在客户端计算设备(例如图6的用户设备610)内实现,或被配置为与客户端计算设备结合或集成进行操作。例如,面部效果生成模块102可以被实现为运行在用户计算设备或客户端计算系统上的专用应用(例如,app)、程序或小应用(applet),或在这些专用应用(例如,app)、程序或小应用中被实现。包含或实现用于执行面部效果生成模块102的功能的指令的应用可以由开发者创建。应用可以被提供给存储库或在存储库中被维护。在某些情况下,可以通过网络(例如,互联网)将应用上传或以其他方式传输到存储库。例如,与应用的开发者相关联或受其控制的计算系统(例如,服务器)可以向存储库提供或传输应用。存储库可以包括例如“app”商店,在该商店中可以维护应用以供用户访问或下载。响应于用户下载应用的命令,可以通过网络将应用从存储库提供或以其他方式传输到与用户相关联的计算设备。例如,与存储库的管理者相关联或在其控制下的计算系统(例如,服务器)可以使得或允许应用被传输到用户的计算设备,从而用户可以安装并运行应用。在某些情况下,应用的开发者和存储库的管理者可以是不同的实体,但在其他情况下可以是同一实体。应当理解,许多变型是可能的。
数据储存器120可以被配置成存储并维护各种类型的数据,例如与面部效果生成模块102的支持和操作相关的数据。由数据储存器120维护的数据可以包括例如与面部辨识、媒体效果、个性化表情符号、个性化嘴唇同步视频、放大的表情、机器学习模型等相关的信息。数据储存器120还可以维护与社交网络系统相关联的其他信息。与社交网络系统相关联的信息可以包括关于用户、社交关连、社交互动、位置、地理围栏区域、地图、地点、事件、群组、帖子、通信、内容、账户设置、隐私设置和社交图的数据。社交图可以反映社交网络系统的所有实体及其交互。如示例系统100中所示,面部效果生成模块102可以被配置为与数据储存器120通信和/或操作。在一些实施例中,数据储存器120可以是客户端计算设备内的数据储存器。在一些实施例中,数据储存器120可以是与客户端计算设备通信的服务器系统的数据储存器。
图2示出了根据本公开的实施例的示例媒体效果生成模块202,其被配置为基于面部辨识来生成各种媒体效果。在一些实施例中,可以用示例媒体效果生成模块202来实现图1的媒体效果生成模块110。如图2的示例所示,示例媒体效果生成模块202可以包括个性化表情符号模块204、嘴唇同步视频模块206和表情放大模块208。
个性化表情符号模块204可以为特定用户生成个性化表情符号。个性化表情符号模块204可以获得描绘具有中性表情的用户面部的输入图像。在一些实施例中,用户可以提供输入图像。在其他实施例中,可以在用户的计算设备上对图像执行面部辨识,以便识别用户的输入图像。作为示例,可以选择用户的输入图像,使得用户具有中性表情、用户面向前方、并且照明条件令人满意。如上所述,面部检测模块104可以检测输入图像和/或其他图像中的用户的面部。
个性化表情符号模块204可以基于输入图像为特定用户识别相似面部。例如,如上所述,用户的相似面部可以由面部相似性识别模块106识别。可以搜索其他人的面部图像来为用户识别相似面部。例如,不同人的面部图像可以存储在数据库或存储设备中。如上所述,面部检测模块104可以检测其他人的面部。通过比较描绘中性表情的用户的输入图像和也描绘中性表情的其他人的面部图像,可以识别用户的相似面部。其他人的面部图像也可以包括呈现除了中性表情之外的各种表情的其他人的面部图像。表情的示例可以包括高兴、悲伤、愤怒、惊讶、哭泣、微笑、大笑、皱眉等。
个性化表情符号模块204可以基于描绘不同表情的相似面部的图像为特定用户生成个性化表情符号。为用户确定的相似面部可以具有相关联的图像,这些图像描绘具有各种表情(例如高兴、悲伤、愤怒等)的相似面部。用户的面部点可以被映射到呈现不同于中性表情的表情的相似面部的面部点,以便为该用户生成描绘该表情的个性化表情符号。如上所述,用户的面部点可以由面部点映射模块108映射到相似面部的面部点。作为示例,可以有描绘微笑表情的相似的人的图像。用户的面部点可以例如直接映射到呈现微笑表情的相似的人的面部点,以便为用户生成描绘微笑表情的个性化表情符号。作为另一个示例,可以有描绘皱眉表情的相似的人的图像。用户的面部点可以例如直接映射到描绘皱眉表情的相似的人的面部点,以便为用户生成描绘皱眉表情的个性化表情符号。在一些实施例中,个性化表情符号模块204可以通过确定变换序列来为特定用户生成描绘特定表情的个性化表情符号。例如,可以确定用于将呈现中性表情的用户的面部点映射到呈现中性表情的相似面部的面部点的变换。此外,可以确定用于将呈现中性表情的相似面部的面部点映射到呈现特定表情的相似面部的面部点的变换。这些变换可以应用于描绘中性表情的用户图像,以为用户生成描绘特定表情的个性化表情符号。以这种方式,对于相似面部的图像中描绘的任何表情,可以为用户生成个性化表情符号。在一些实施例中,个性化表情符号模块204可以基于机器学习技术为特定用户生成个性化表情符号。
当基于描绘中性表情的特定用户的图像生成个性化表情符号时,个性化表情符号中的用户面部的一个或更多个部分可能需要根据相似面部的一个或更多个图像来被填充或复制。作为示例,如果个性化表情符号呈现微笑表情,则描绘中性表情的用户图像不显示用户的牙齿。因此,相似面部的牙齿可以用于为用户生成描绘微笑表情的个性化表情符号。如上所解释的,可以确定特定用户的相似面部,使得相似面部或相似面部的一部分的纹理匹配用户的面部或面部的一部分。因为相似面部和用户面部具有匹配的纹理,所以根据相似面部填充的用户面部的一部分可以看起来自然或平滑。
通过将用户的面部点映射到相似面部的面部点来为特定用户生成个性化表情符号可以有利地促进快速生成表情以及从有限的数据集泛化表情。例如,可以为许多用户从描绘各种表情的少数相似面部的有限图像集合中生成个性化表情符号。另一方面,基于某些机器学习技术为特定用户生成个性化表情符号可能需要大量的训练数据,包括描绘不同表情的大量人员的图像。然而,可能很难获得描绘某些表情(例如哭泣或悲伤)的人的图像,因为人们不太可能捕获具有这些表情的图像。
在某些实施例中,个性化表情符号模块204可以基于描绘各种表情的用户图像来为特定用户生成个性化表情符号。例如,用户可以上传描绘不同表情(例如高兴、悲伤、愤怒等)的用户图像。在这些实施例中,直接根据用户上传的图像为用户生成个性化表情符号,而不是将具有中性表情的用户面部图像映射到描绘各种表情的相似面部图像。
嘴唇同步视频模块206可以为特定用户生成个性化嘴唇同步视频。例如,可以基于其他人演唱歌曲的一个或更多个视频为用户生成歌曲的嘴唇同步视频。另一个人演唱歌曲的视频(嘴唇同步视频从其生成)可以被称为“驱动视频(driver video)”。例如,不同人演唱不同歌曲的视频可以存储在数据库或存储设备中。类似于个性化表情符号模块204,嘴唇同步视频模块206可以获得描绘处于中性位置的用户面部的输入图像。例如,输入图像中用户的面部点可能没有呈现任何运动或说话,并且可能处于静止位置。在一些实施例中,用户可以提供输入图像。在其他实施例中,可以在用户的计算设备上对图像执行面部辨识,以便为用户识别输入图像。如上所述,面部检测模块104可以检测输入图像和/或其他图像中的用户的面部。
类似于个性化表情符号模块204,嘴唇同步视频模块206可以基于输入图像为特定用户识别相似面部。不同人参与口头表达(例如说话或唱歌)的视频可以被维护。一个人(例如,在说话或唱歌的人)的视频可以包括描绘处于不同位置的这个人的面部点的图像或帧。例如,演唱歌曲的人的视频可以包括描绘处于中性位置的人的面部点的图像或帧。可以从视频中选择描绘处于中性位置的人的图像或帧作为参考图像,该参考图像可以与描绘中性位置的用户的输入图像进行比较,以便为用户识别相似面部。例如,如上所述,用户的相似面部可以由面部相似性识别模块106识别。通过比较描绘中性位置的用户的输入图像和也描绘中性位置的其他人的面部参考图像,可以识别用户的相似面部。
嘴唇同步视频模块206可以基于参与口头表达的用户的相似面部的视频,来为特定用户生成口头表达(例如歌曲)的个性化嘴唇同步视频。对于相似面部的视频的一个或更多个图像或帧,用户的面部点可以被映射到相似面部的面部点,以便为用户生成个性化嘴唇同步视频的相应图像或帧。如上所述,用户的面部点可以由面部点映射模块108映射到相似面部的面部点。在一些实施例中,嘴唇同步视频模块206可以应用一系列变换来为用户生成嘴唇同步视频的帧。例如,可以确定用于将呈现中性位置的用户的面部点映射到呈现中性位置的相似面部的面部点的变换。然后,对于相似面部的视频的帧,可以确定用于将呈现中性位置的相似面部的面部点映射到在帧中呈现特定位置的相似面部的面部点的变换。对于相似面部的视频的帧,可以将变换应用于描绘中性位置的用户的输入图像,以生成嘴唇同步视频的相应帧。在一些实施例中,嘴唇同步视频模块206可以基于机器学习技术为特定用户生成个性化嘴唇同步视频。
在某些实施例中,嘴唇同步视频模块206可以最初生成相似面部的变换视频或扭曲视频(warped video)。例如,将描绘中性位置的用户的面部点映射到描绘中性位置的相似面部的面部点的变换可以应用于相似面部的视频的一个或更多个帧,以便生成扭曲视频。这样,相似面部的面部点可以在扭曲视频中被重新定位,以更好地对应于用户的面部点。在这些实施例中,嘴唇同步视频模块206然后可以为扭曲视频的帧确定变换,该变换将处于中性位置的相似面部的面部点映射到帧中处于另一位置的相似面部的面部点。扭曲视频的帧的变换可以应用于用户的输入图像,以便为用户生成嘴唇同步视频的帧。
如上结合个性化表情符号所述,可以确定特定用户的相似面部,使得相似面部具有与用户面部相似的面部点和相似的纹理。从输入图像中缺失的用户面部部分可以根据相似面部的相应部分被填充或者复制。因为相似面部和用户面部具有匹配的纹理,所以根据相似面部填充的用户面部部分看起来会自然或平滑。
表情放大模块208可以为特定用户生成放大或夸张的表情。表情放大模块208可以获得描绘具有特定表情的用户面部的输入图像。在一些实施例中,输入图像可以来自视频。表情的示例可以包括高兴、悲伤、愤怒、惊讶、哭泣、微笑、大笑、皱眉等。如上所述,面部检测模块104可以检测输入图像中的用户的面部。特定的表情可以与处于特定位置的关键点相关联,这些关键点表示该表情的特性。例如,表情的关键点可以是表情的面部点的子集。可以在输入图像中为用户的面部识别特定表情的关键点。表情放大模块208可以选择性地修改或放大表情的关键点,以生成描绘表情的放大版本的用户图像。例如,表情放大模块208可以将表情的关键点中的一个或更多个移动预定的量或距离和/或在预定的方向上进行移动。关键点中的一个或更多个可以移动不同的量或距离和/或在不同的方向移动。在某些情况下,一些关键点在放大的表情的生成中没有被移动。通过这种方式,表情的幅度或范围可以看起来增大了。作为示例,如果表情是微笑表情,则描绘该表情的放大版本的用户图像可以显示具有增大的微笑的用户。作为另一个示例,如果该表情是皱眉表情,则描绘该表情的放大版本的用户图像可以显示具有增大的皱眉的用户。许多变型是可能的。在某些实施例中,表情放大模块208可以为特定用户生成淡化的表情(toned down expression)。表情放大模块208可以选择性地修改或淡化表情的关键点,以生成描绘该表情的淡化或缩小版本(reduced version)的用户图像。在表情的缩小版本中,表情的幅度或范围可以看起来被减小。作为示例,如果该表情是微笑表情,则描绘该表情的缩小版本的用户的图像可以显示具有减小的微笑的用户。作为另一个示例,如果该表情是皱眉表情,则描绘该表情的缩小版本的用户图像可以显示具有减小的皱眉的用户。在某些实施例中,描绘表情的放大版本或缩小版本的用户图像可以被包括在视频中。在一些实施例中,可以基于机器学习技术来生成描绘表情的放大版本或缩小版本的用户图像。
图3A示出了根据本公开的实施例的用于基于面部辨识提供个性化表情符号的示例场景300。例如,如本文所讨论的,个性化表情符号可以由面部效果生成模块102生成。在示例场景300中,获得描绘中性表情的特定用户的输入图像310a。搜索描绘中性表情的其他人的面部图像,以为特定用户识别相似面部。在示例场景300中,通过搜索来为用户识别相似面部的图像315a。像图像310a一样,图像315a描绘呈现中性表情的相似面部。可以有描绘各种其他表情的相似面部的各种图像。例如,相似面部的图像315b描绘微笑表情。输入图像310a中特定用户的面部点可以被直接映射到图像315b中相似面部的面部点,以便生成描绘微笑表情的特定用户的图像310b。在一些实施例中,可以确定将输入图像310a中特定用户的面部点映射到图像315a中相似面部的面部点的变换,并且可以确定将图像315a中相似面部的面部点映射到图像315b中相似面部的面部点的变换。在这些实施例中,所确定的变换可以应用于输入图像310a,以便生成图像310b。描绘其他表情的特定用户的图像可以以类似的方式生成。本文提供的所有示例都是为了说明性的目的,并且可以有许多变型和其他可能性。
图3B示出了根据本公开的实施例的用于基于面部辨识提供嘴唇同步视频的示例场景320。例如,如本文所讨论的,面部效果生成模块102可以生成嘴唇同步视频。在示例场景320中,获得描绘中性位置的特定用户的输入图像330a。可以有各种人的视频,例如,演唱特定歌曲的各种人的视频。可以从视频中获得描绘中性位置的这些人的图像,并对其进行搜索来为特定用户识别相似面部。在示例场景320中,为用户识别相似面部的图像335a。演唱特定歌曲的相似面部的视频可以包括多个图像或帧335a-335c。每个帧335a-335c可以描绘具有处于不同位置的面部点的相似面部。输入图像330a中特定用户的面部点可以直接映射到帧335b中相似面部的面部点,以便为特定用户生成嘴唇同步视频的帧330b。输入图像330a中特定用户的面部点也可以直接映射到帧335c中相似面部的面部点,以便为特定用户生成嘴唇同步视频的帧330c。在一些实施例中,可以确定将输入图像330a中特定用户的面部点映射到帧335a中相似面部的面部点的变换,并且可以确定将帧335a中相似面部的面部点映射到帧335b中相似面部的面部点的变换。在这些实施例中,所确定的变换可以应用于输入图像330a,以便生成帧330b。可以以类似的方式确定变换并将其应用于输入图像330a,以便生成帧330c。本文提供的所有示例都是为了说明性的目的,并且可以有许多变型和其他可能性。
图3C示出了根据本公开的实施例的用于基于面部辨识提供放大的表情的示例场景340。例如,如本文所讨论的,面部效果生成模块102可以生成放大的表情。在示例场景340中,获得描绘特定表情的特定用户的输入图像350。特定表情的关键点被识别并放大,以便生成图像355,该图像355描绘具有该表情的放大版本的特定用户。在示例场景340中,特定表情是微笑表情,并且微笑表情在图像355中被放大。本文提供的所有示例都是为了说明性的目的,并且可以有许多变型和其他可能性。
图4示出了根据本公开的实施例的用于基于面部辨识提供各种媒体效果的示例第一方法400。应当理解,除非另有说明,否则基于本文讨论的各种特征和实施例,可以以类似或替代的顺序或并行地执行附加的、更少的或替代的步骤。
在框402,示例方法400可以获得第一用户的第一图像,该第一用户的第一图像描绘具有中性表情或位置的第一用户的面部。在框404,示例方法400可以识别第二用户的第一图像,该第二用户的第一图像描绘具有中性表情或位置的第二用户的面部,其中基于对阈值的满足,第二用户的面部类似于第一用户的面部。在框406,示例方法400可以基于描绘具有不同于中性表情或位置的表情或位置的第二用户的面部的第二用户的第二图像,生成描绘具有不同于中性表情或位置的表情或位置的第一用户的面部的第一用户的第二图像。结合本公开的各种特征和实施例的其他合适的技术是可能的。
图5示出了根据本公开的实施例的用于基于面部辨识提供各种媒体效果的示例第二方法500。应当理解,除非另有说明,否则基于本文讨论的各种特征和实施例,可以以类似或替代的顺序或并行地执行附加的、更少的或替代的步骤。
在框502,示例方法500可以获得用户的第一图像,该用户的第一图像描绘具有特定表情的用户的面部。在框504,示例方法500可以确定特定表情的关键点。在框506,示例方法500可以放大特定表情的关键点。在框508,示例方法500可以基于放大的关键点,生成描绘具有特定表情的放大版本的用户的面部的用户的第二图像。结合本公开的各种特征和实施例的其他合适的技术是可能的。
设想了可以有与本公开的各种实施例相关联的许多其他用途、应用、特征、可能性和/或变型。例如,在某些情况下,用户可以选择是否选择加入(opt-in)以利用所公开的技术。例如,所公开的技术还可以确保保持各种隐私设置、偏好和配置,并且可以防止私人信息被泄露。在另一示例中,本公开的各种实施例可以随着时间的推移而学习、改进和/或被完善。
社交网络系统-示例实现
图6示出了根据本公开实施例的可以在各种场景中被利用的示例系统600的网络图。系统600包括一个或更多个用户设备610、一个或更多个外部系统620、社交网络系统(或服务)630和网络650。在实施例中,关于上述实施例讨论的社交网络服务、提供者和/或系统可以被实现为社交网络系统630。为了说明的目的,图6所示的系统600的实施例包括单个外部系统620和单个用户设备610。然而在其他实施例中,系统600可以包括更多个用户设备610和/或更多个外部系统620。在某些实施例中,社交网络系统630由社交网络提供者操作,而外部系统620与社交网络系统630分离,因为它们可以由不同的实体操作。然而在各种实施例中,社交网络系统630和外部系统620协同操作以向社交网络系统630的用户(或成员)提供社交网络服务。在这个意义上,社交网络系统630提供了平台或骨干网,其他系统(例如外部系统620)可以使用该平台或骨干网来通过互联网向用户提供社交网络服务和功能。
用户设备610包括可以接收来自用户的输入并经由网络650来传输并接收数据的一个或更多个计算设备。在一个实施例中,用户设备610是执行例如Microsoft Windows兼容操作系统(OS)、Apple OS X和/或Linux发行版的传统计算机系统。在另一个实施例中,用户设备610可以是具有计算机功能的设备,例如智能手机、平板电脑、个人数字助理(PDA)、移动电话等。用户设备610被配置成经由网络650进行通信。用户设备610可以执行允许用户设备610的用户与社交网络系统630交互的应用(例如,浏览器应用)。在另一实施例中,用户设备610通过由用户设备610的原生(native)操作系统(例如iOS和ANDROID)提供的应用编程接口(API)来与社交网络系统630交互。用户设备610被配置成使用有线和/或无线通信系统经由网络650来与外部系统620和社交网络系统630进行通信,网络650可以包括局域网和/或广域网的任何组合。
在一个实施例中,网络650使用标准通信技术和协议。因此,网络650可以包括使用诸如以太网、802.11、全球互通微波接入(WiMAX)、3G、4G、CDMA、GSM、LTE、数字用户线路(DSL)等技术的链路。类似地,在网络650上使用的网络协议可以包括多协议标签交换(MPLS)、传输控制协议/互联网协议(TCP/IP)、用户数据报协议(UDP)、超文本传输协议(HTTP)、简单邮件传输协议(SMTP)、文件传输协议(FTP)等。可以使用包括超文本标记语言(HTML)和可扩展标记语言(XML)的技术和/或格式来表示通过网络650交换的数据。此外,可以使用诸如安全套接字层(SSL)、传输层安全(TLS)和互联网协议安全(IPsec)的常规加密技术来对所有或一些链路进行加密。
在一个实施例中,用户设备610可以通过使用浏览器应用612处理从外部系统620和从社交网络系统630接收的标记语言文档614来显示来自外部系统620和/或来自社交网络系统630的内容。标记语言文档614识别内容以及描述内容的格式或呈现的一个或更多个指令。通过执行包括在标记语言文档614中的指令,浏览器应用612使用由标记语言文档614所描述的格式或呈现来显示所识别的内容。例如,标记语言文档614包括用于生成并显示具有多个帧(frame)的网页的指令,这些帧包括从外部系统620和社交网络系统630检索的文本和/或图像数据。在各种实施例中,标记语言文档614包括数据文件,该数据文件包括可扩展标记语言(XML)数据、可扩展超文本标记语言(XHTML)数据或其他标记语言数据。此外,标记语言文档614可以包括JavaScript对象简谱(JSON)数据、带填充的JSON(JSONP)和JavaScript数据,以便于在外部系统620和用户设备610之间的数据交换。用户设备610上的浏览器应用612可以使用JavaScript编译器来对标记语言文档614进行解码。
标记语言文档614还可以包括或链接到应用或应用框架,例如FLASHTM或UnityTM应用、SilverLightTM应用框架等。
在一个实施例中,用户设备610还包括一个或更多个cookie 616,cookie616包括指示用户设备610的用户是否登录到社交网络系统630内的数据,这可以实现从社交网络系统630传递到用户设备610的数据的修改。
外部系统620包括一个或更多个web服务器,其包括一个或更多个网页622a、622b,这些网页使用网络650被传递到用户设备610。外部系统620与社交网络系统630分离。例如,外部系统620与第一域相关联,而社交网络系统630与单独的社交网络域相关联。被包括在外部系统620中的网页622a、622b包括标记语言文档614,其识别内容并且包括指定所识别的内容的格式或呈现的指令。
社交网络系统630包括用于社交网络(包括多个用户)并且向社交网络的用户提供与社交网络的其他用户通信并交互的能力的一个或更多个计算设备。在一些实例中,社交网络可以由图(即,包括边和节点的数据结构)表示。其他数据结构也可以用来表示社交网络,包括但不限于数据库、对象、类、meta元素、文件或任何其他数据结构。社交网络系统630可以由操作者掌管、管理或控制。社交网络系统630的操作者可以是人、自动化应用或用于管理内容、调整策略和收集在社交网络系统630内的使用度量的一系列应用。可以使用任何类型的操作者。
用户可以加入社交网络系统630,且然后添加对他们希望关连到的社交网络系统630的任何数量的其他用户的关连。如在本文所使用的,术语“朋友”指社交网络系统630的任何其他用户,用户经由社交网络系统630与任何其他用户形成关连、关联(association)或关系。例如在实施例中,如果在社交网络系统630中的用户被表示为在社交图中的节点,则术语“朋友”可以指在两个用户节点之间形成的并直接连接两个用户节点的边。
关连可以由用户明确地添加,或者可以由社交网络系统630基于用户(例如,作为同一教育机构的校友的用户)的共同特性来自动创建。例如,第一用户特别地将特定的其他用户选择为朋友。在社交网络系统630中的关连通常在两个方向上,但不需要是这样,因此术语“用户”和“朋友”取决于参考系。在社交网络系统630的用户之间的关连通常是双边的(“双向的”)或“相互的”,但是关连也可以是单边的或“单向的”。例如,如果鲍勃和乔都是社交网络系统630的用户并且关连到彼此,则鲍勃和乔是彼此的关连。另一方面,如果鲍勃希望关连到乔以查看由乔传递到社交网络系统630的数据,但是乔不希望形成相互关连,则单边关连可以被建立。在用户之间的关连可以是直接关连;然而,社交网络系统630的一些实施例允许经由一个或更多个级别的关连或分离度的关连是间接的。
除了建立并维护在用户之间的关连并允许在用户之间的交互之外,社交网络系统630还向用户提供对由社交网络系统630支持的各种类型的项目采取动作的能力。这些项目可以包括社交网络系统630的用户可能属于的群组或网络(即,人、实体和概念的社交网络)、用户可能感兴趣的事件或日历条目、用户经由社交网络系统630可以使用的基于计算机的应用、允许用户借助由社交网络系统630提供或通过社交网络系统630提供的服务来购买或销售项目的交易、以及用户可以在社交网络系统630上或外执行的与广告的交互。这些仅仅是用户可以在社交网络系统630上对其作用的项目的几个示例,并且许多其他项目是可能的。用户可以与能够在社交网络系统630中或在外部系统620中被表示的、与社交网络系统630分离的、或者经由网络650耦合到社交网络系统630的任何事物进行交互。
社交网络系统630也能够链接各种实体。例如,社交网络系统630使用户能够通过API、web服务或其他通信渠道来与彼此以及外部系统620或其他实体进行交互。社交网络系统630生成并维护包括由多条边互连的多个节点的“社交图”。社交图中的每个节点可以表示可以作用于另一个节点和/或可以由另一个节点作用的实体。社交图可以包括各种类型的节点。节点的类型的示例包括用户、非个人实体、内容项、网页、群组、活动、消息、概念以及可以由社交网络系统630中的对象表示的任何其他事物。在社交图中的两个节点之间的边可以表示在两个节点之间的特定类型的关连或关联,这可以由节点关系或由节点中的一个节点在另一个节点上所执行的动作产生。在一些情况下,在节点之间的边可以被加权。边的权重可以表示与该边相关联的属性,例如在节点之间的关连或关联的强度。不同类型的边可以具有不同的权重。例如,当一个用户“赞(like)”另一个用户时创建的边可以被赋予一个权重,而当一个用户加另一个用户为好友(befriend)时创建的边可以被赋予不同的权重。
作为示例,当第一用户将第二用户识别为朋友时,在社交图中生成将表示第一用户的节点和表示第二用户的第二节点连接的边。当各种节点与彼此关联(relate)或交互时,社交网络系统630修改连接各种节点的边以反映关系和交互。
社交网络系统630还包括用户生成的内容,这增强了用户与社交网络系统630的交互。用户生成的内容可以包括用户可以添加、上传、发送或“发布”到社交网络系统630的任何内容。例如,用户将帖子从用户设备610传递到社交网络系统630。帖子可以包括数据(例如状态更新或其他文本数据)、定位信息、图像(例如照片)、视频、链接、音乐或其他类似数据或媒体。内容也可以由第三方添加到社交网络系统630。内容“项”被表示为在社交网络系统630中的对象。以这种方式,通过经由各种通信渠道发布各种类型的媒体的文本和内容项来鼓励社交网络系统630的用户与彼此进行通信。这种通信增加了用户与彼此的交互,并增加了用户与社交网络系统630交互的频率。
社交网络系统630包括web服务器632、API请求服务器634、用户简档储存器636、关连储存器638、动作记录器640、活动日志642和授权服务器644。在本发明的实施例中,社交网络系统630可以包括用于各种应用的附加的、更少的或不同的部件。没有示出其他部件(例如网络接口、安全机构、负载平衡器、故障转移服务器、管理和网络操作控制台等),以便不使系统的细节模糊。
用户简档储存器636维护关于用户账户的信息,包括传记、人口统计和其他类型的描述性信息,例如工作经历、教育历史、爱好或偏好、定位以及由用户声明或由社交网络系统630推断的信息等。该信息存储在用户简档储存器636中,使得每个用户被唯一地识别。社交网络系统630还在关连储存器638中存储描述在不同用户之间的一个或更多个关连的数据。关连信息可以指示具有相似或共同的工作经历、组成员资格、爱好或教育历史的用户。另外,社交网络系统630包括在不同用户之间的用户定义的关连,允许用户指定他们与其他用户的关系。例如,用户定义的关连允许用户生成与其他用户的关系,这些关系并行于用户的真实生活关系,例如朋友、同事、伙伴等。用户可以从预定义类型的关连中进行选择,或者根据需要定义他们自己的关连类型。与社交网络系统630中的其他节点(例如非个人实体、存储桶(bucket)、集群中心、图像、兴趣、页面、外部系统、概念等)的关连也存储在关连储存器638中。
社交网络系统630维护关于对象的数据,用户可以与该对象交互。为了维护该数据,用户简档储存器636和关连储存器638存储由社交网络系统630维护的相应类型的对象的实例。每种对象类型都有适于存储适合于对象的类型的信息的信息字段。例如,用户简档储存器636包含具有适于描述用户的账户的字段和与用户的账户相关的信息的数据结构。当特定类型的新对象被创建时,社交网络系统630初始化相应类型的新数据结构,给它分配唯一的对象标识符,并开始根据需要来向对象添加数据。例如,这可能在用户成为社交网络系统630的用户时出现,社交网络系统630在用户简档储存器636中生成用户简档的新实例,给用户账户分配唯一标识符,并开始用由用户提供的信息来填充用户账户的字段。
关连储存器638包括适于描述用户与其他用户的关连、与外部系统620的关连或与其他实体的关连的数据结构。关连储存器638还可以使关连类型与用户的关连相关联,用户的关连可以结合用户的隐私设置来被使用以调节对关于用户的信息的访问。在本发明的实施例中,用户简档储存器636和关连储存器638可以被实现为联合数据库(federateddatabase)。
存储在关连储存器638、用户简档储存器636和活动日志642中的数据使社交网络系统630能够生成社交图,该社交图使用节点来识别各种对象并且使用连接节点的边来识别在不同对象之间的关系。例如,如果第一用户与社交网络系统630中的第二用户建立关连,则来自用户简档储存器636的第一用户和第二用户的用户账户可以充当社交图中的节点。由关连储存器638存储的在第一用户和第二用户之间的关连是在与第一用户和第二用户相关联的节点之间的边。继续该示例,第二用户然后可以在社交网络系统630内向第一用户发送消息。可以被存储的发送消息的动作是在社交图中的表示第一用户和第二用户的两个节点之间的另一条边。另外,消息本身可以被识别并被包括在社交图中,作为关连到表示第一用户和第二用户的节点的另一个节点。
在另一示例中,第一用户可以在由社交网络系统630维护的图像中(或者可选地,在由在社交网络系统630外部的另一系统维护的图像中)标记第二用户。图像本身可以被表示为社交网络系统630中的节点。该标记动作可以在第一用户和第二用户之间创建边,以及在每个用户和图像之间创建边,图像也是社交图中的节点。在又一示例中,如果用户确认参加事件,则用户和事件是从用户简档储存器636获得的节点,其中事件的参加是在可以从活动日志642检索的节点之间的边。通过生成并维护社交图,社交网络系统630包括描述许多不同类型的对象以及在这些对象当中的交互和关连的数据,提供了社交相关信息的丰富源。
web服务器632经由网络650来将社交网络系统630链接到一个或更多个用户设备610和/或一个或更多个外部系统620。web服务器632提供网页以及其他网络相关内容,例如Java、JavaScript、Flash、XML等。web服务器632可以包括邮件服务器或用于在社交网络系统630和一个或更多个用户设备610之间接收并按规定路线发送消息的其他消息传送功能。消息可以是即时消息、排队消息(例如,电子邮件)、文本和SMS消息或者任何其他合适的消息格式。
API请求服务器634允许一个或更多个外部系统620和用户设备610通过调用一个或更多个API函数来调用来自社交网络系统630的访问信息。API请求服务器634还可以允许外部系统620通过调用API来向社交网络系统630发送信息。在一个实施例中,外部系统620经由网络650向社交网络系统630发送API请求,并且API请求服务器634接收该API请求。API请求服务器634通过调用与API请求相关联的API来处理该请求以生成适当的响应,API请求服务器634经由网络650来将该响应传递到外部系统620。例如,响应于API请求,API请求服务器634收集与用户相关联的数据(例如已经登录到外部系统620内的用户的关连),并将所收集的数据传递到外部系统620。在另一实施例中,用户设备610以与外部系统620相同的方式经由API来与社交网络系统630进行通信。
动作记录器640能够从web服务器632接收关于在社交网络系统630上和/或外的用户动作的通信。动作记录器640用关于用户动作的信息来填充活动日志642,使社交网络系统630能够发现由它的用户在社交网络系统630内和在社交网络系统630外采取的各种动作。特定用户相对于在社交网络系统630上的另一个节点采取的任何动作可以通过在活动日志642中或在类似数据库或其他数据仓库中维护的信息来与每个用户的账户相关联。被识别并存储的由用户在社交网络系统630内采取的动作的示例可以包括例如,添加到另一个用户的关连、向另一个用户发送消息、从另一个用户读取消息、查看与另一个用户相关联的内容、参加由另一个用户发布的事件、发布图像、尝试发布图像、或与另一个用户或另一个对象交互的其他动作。当用户在社交网络系统630内采取动作时,该动作被记录在活动日志642中。在一个实施例中,社交网络系统630将活动日志642维护为条目的数据库。当在社交网络系统630内采取动作时,该动作的条目被添加到活动日志642。活动日志642可以被称为动作日志。
此外,用户动作可以与在社交网络系统630外部的实体(例如与社交网络系统630分离的外部系统620)内出现的概念和动作相关联。例如,动作记录器640可以从web服务器632接收描述用户与外部系统620的交互的数据。在该示例中,外部系统620根据在社交图中的结构化动作和对象来报告用户的交互。
用户与外部系统620交互的动作的其他示例包括用户表达对外部系统620或另一实体的兴趣、用户将讨论外部系统620或在外部系统620内的网页622a的评论发布到社交网络系统630、用户将统一资源定位符(URL)或与外部系统620相关联的其他标识符发布到社交网络系统630、用户参加与外部系统620相关联的事件、或者由用户进行的与外部系统620相关的任何其他动作。因此,活动日志642可以包括描述在社交网络系统630的用户和与社交网络系统630分离的外部系统620之间的交互的动作。
授权服务器644实施社交网络系统630的用户的一个或更多个隐私设置。用户的隐私设置确定与用户相关联的特定信息可以如何被分享。隐私设置包括与用户相关联的特定信息的规范以及信息可以被分享的一个或更多个实体的规范。信息可以被分享的实体的示例可以包括其他用户、应用、外部系统620、或可能潜在地访问信息的任何实体。可以由用户分享的信息包括用户账户信息(例如简档照片)、与用户相关联的电话号码、用户的关连、由用户采取的动作(例如添加关连)、改变用户简档信息等。
可以以不同的粒度水平提供隐私设置规范。例如,隐私设置可以识别要与其他用户分享的特定信息;隐私设置识别工作电话号码或一组特定的相关信息(例如,包括简档照片、家庭电话号码和状态的个人信息)。可选地,隐私设置可以应用于与用户相关联的所有信息。也可以以不同的粒度水平指定可以访问特定信息的该组实体的规范。信息可以分享的不同组的实体可以包括例如,用户的所有朋友、朋友的所有朋友、所有应用、或所有外部系统620。一个实施例允许该组实体的规范包括实体的枚举。例如,用户可以提供被允许访问某些信息的外部系统620的列表。另一实施例允许规范包括一组实体以及不被允许访问信息的例外。例如,用户可以允许所有外部系统620访问用户的工作信息,但是指定不被允许访问工作信息的外部系统620的列表。某些实施例将不被允许访问某些信息的例外的列表称为“黑名单”。属于由用户指定的黑名单的外部系统620被阻止访问在隐私设置中指定的信息。信息的规范的粒度和信息被分享的实体的规范的粒度的各种组合是可能的。例如,所有个人信息可以和朋友分享,而所有工作信息可以和朋友的朋友分享。
授权服务器644包含确定与用户相关联的某些信息是否可以由用户的朋友、外部系统620和/或其他应用和实体访问的逻辑。外部系统620可能需要来自授权服务器644的授权来访问用户的更私密且敏感的信息,例如用户的工作电话号码。基于用户的隐私设置,授权服务器644确定另一用户、外部系统620、应用、或另一实体是否被允许访问与用户相关联的信息,包括关于由用户采取的动作的信息。
在一些实施例中,社交网络系统630可以包括面部效果生成模块646。如本文更详细讨论的,可以用面部效果生成模块102来实现面部效果生成模块646。在一些实施例中,面部效果生成模块646的一个或更多个功能可以在用户设备610中实现。
硬件实现
前述过程和特征可以由各种机器和计算机系统架构以及在各种网络和计算环境中实现。图7示出了根据本发明实施例的可以用于实现本文描述的一个或更多个实施例的计算机系统700的示例。计算机系统700包括用于使计算机系统700执行本文讨论的过程和特征的指令集。计算机系统700可以连接(例如,联网)到其他机器。在联网部署中,计算机系统700可以在客户端-服务器网络环境中的服务器机器或客户端机器的能力下进行操作,或者作为在对等(peer-to-peer)(或分布式)网络环境中的对等机器来进行操作。在本发明的实施例中,计算机系统700可以是社交网络系统630、用户设备610和外部系统620、或者其部件。在本发明的实施例中,计算机系统700可以是在构成全部或部分社交网络系统630的许多服务器当中的一个服务器。
计算机系统700包括处理器702、高速缓存704以及存储在计算机可读介质上的指向本文描述的过程和特征的一个或更多个可执行模块和驱动程序。另外,计算机系统700包括高性能输入/输出(I/O)总线706和标准I/O总线708。主桥(host bridge)710将处理器702耦合到高性能I/O总线706,而I/O总线桥712将两个总线706和708耦合到彼此。系统存储器714和一个或更多个网络接口716耦合到高性能I/O总线706。计算机系统700还可以包括视频存储器和耦合到视频存储器的显示设备(未示出)。大容量存储装置718和I/O端口720耦合到标准I/O总线708。计算机系统700可以可选地包括键盘和定点设备、显示设备、或耦合到标准I/O总线708的其他输入/输出设备(未示出)。共同地,这些元件旨在表示广泛类别的计算机硬件系统,包括但不限于基于由加利福尼亚州圣克拉拉(Santa Clara)的英特尔公司制造的x86兼容处理器和由加利福尼亚州森尼维尔(Sunnyvale)的超威半导体(AMD)公司制造的x86兼容处理器以及任何其他合适的处理器的计算机系统。
操作系统管理并控制计算机系统700的操作,包括往返软件应用(未示出)的数据输入和输出。操作系统提供在系统上执行的软件应用和系统的硬件部件之间的接口。可以使用任何合适的操作系统,例如LINUX操作系统、可从加利福尼亚州库比蒂诺(Cupertino)的苹果计算机公司获得Apple Macintosh操作系统、UNIX操作系统、操作系统、BSD操作系统等。其他实现方式是可能的。
将在下面更详细地描述计算机系统700的元件。特别是,网络接口716提供在计算机系统700和各种网络(诸如以太网(例如,IEEE 802.3)网络)中的任一种、背板等之间的通信。大容量存储装置718提供数据和编程指令的永久存储,以执行由上面识别的相应计算系统实现的上述过程和特征,而系统存储器714(例如,DRAM)提供当由处理器702执行时的数据和编程指令的临时存储。I/O端口720可以是提供在可以耦合到计算机系统700的附加外围设备之间的通信的一个或更多个串行和/或并行通信端口。
计算机系统700可以包括各种系统架构,并且计算机系统700的各种部件可以被重新排列。例如,高速缓存704可以与处理器702一起在芯片上。可选地,高速缓存704和处理器702可以封装在一起作为“处理器模块”,其中处理器702被称为“处理器核心”。此外,本发明的某些实施例可以既不需要也不包括所有上述部件。例如,耦合到标准I/O总线708的外围设备可以耦合到高性能I/O总线706。此外,在一些实施例中,可以仅存在单个总线,其中计算机系统700的部件耦合到该单个总线。此外,计算机系统700可以包括附加部件,例如附加处理器、存储设备或存储器。
一般来说,本文描述的过程和特征可以被实现为操作系统或特定应用、部件、程序、对象、模块、或被称为“程序”的指令系列的一部分。例如,一个或更多个程序可以用于执行本文描述的特定过程。程序通常包括在计算机系统700中的各种存储器和存储设备中的一个或更多个指令,其当由一个或更多个处理器读取并执行时使计算机系统700执行操作以执行本文描述的过程和特征。可以在软件、固件、硬件(例如,专用集成电路)、或其任何组合中实现本文描述的过程和特征。
在一个实现中,本文描述的过程和特征被实现为由计算机系统700在分布式计算环境中单独或共同地运行的一系列可执行模块。前述模块可以由硬件、存储在计算机可读介质(或机器可读介质)上的可执行模块、或者两者的组合来实现。例如,模块可以包括由在硬件系统中的处理器(例如处理器702)执行的多个指令或指令系列。最初,指令系列可以存储在存储设备(例如大容量存储装置718)上。然而,指令系列可以存储在任何合适的计算机可读存储介质上。此外,指令系列不需要存储在本地,并且可以经由网络接口716从远程存储设备(例如网络上的服务器)被接收。指令从诸如大容量存储装置718的存储设备被复制到系统存储器714中,且然后由处理器702进行访问和执行。在各种实现中,一个或更多个模块可以由在一个或更多个位置上的一个或多个处理器(例如在并行处理环境中的多个服务器)执行。
计算机可读介质的示例包括但不限于可记录类型的介质(例如易失性和非易失性存储器设备);固态存储器;软盘和其他可移动盘;硬盘驱动器;磁性介质;光盘(例如,光盘只读存储器(CDROM)、数字通用盘(DVD));其他类似的非暂时性(或暂时性)、有形(或非有形)存储介质;或任何类型的介质,其适用于存储、编码或携带用于由计算机系统700执行的一系列指令,以执行本文描述的过程和特征中的任一个或更多个。
为了解释的目的,阐述了许多具体细节,以便提供对本描述的透彻理解。然而对于本领域中的技术人员将明显,可以在没有这些具体细节的情况下实践本公开的实施例。在一些实例中,以框图形式示出了模块、结构、过程、特征和设备,以便避免使本描述模糊。在其他实例中,功能框图和流程图被示出为表示数据和逻辑流。框图和流程图的部件(例如,模块、块、结构、设备、特征等)可以以不同于如在本文明确描述并描绘的方式来被不同地组合、分离、移除、重新排序和替换。
在本说明书中对“一个实施例”、“实施例”、“其他实施例”、“一系列实施例”、“一些实施例”、“各种实施例”等的提及意指关于实施例描述的特定特征、设计、结构或特性被包括在本公开的至少一个实施例中。例如,短语“在一个实施例中”或“在实施例中”在说明书中的不同地方中的出现并不一定都指同一实施例,也不是与其他实施例相互排斥的单独的或可选的实施例。此外,无论是否存在对“实施例”等的明确提及,都描述了各种特征,这些特征可以多方面地被组合并且包括在一些实施例中,但是在其他实施例中也可以多方面地被省略。类似地,描述了各种特征,其可以是对于一些实施例而不是其他实施例的优先选择或要求。
本文使用的语言主要为了可读性和教学目的而被选择,并且它可以不被选择为描写或限制创造性主题。因此,意图是本发明的范围不由该详细描述限制,而是由在基于它的申请上发布的任何权利要求进行限制。因此,本发明的实施例的公开旨在是说明性的,而不是对在所附权利要求中阐述的本发明的范围的限制。
Claims (20)
1.一种计算机实现的方法,包括:
由计算系统获得第一用户的第一图像,所述第一用户的第一图像描绘所述第一用户的具有中性表情或中性位置的面部,其中,所述中性表情或中性位置指示面部处于静止状态的相同状态;
由所述计算系统识别第二用户的第一图像,所述第二用户的第一图像描绘所述第二用户的具有中性表情或中性位置的面部,其中,基于对阈值的满足,所述第二用户的面部类似于所述第一用户的面部;和
由所述计算系统基于所述第二用户的第二图像为所述第一用户生成个性化表情,其中,为所述第一用户生成所述个性化表情还包括:
基于描绘所述第二用户的具有不同于所述中性表情或中性位置的表情或位置的面部的所述第二用户的所述第二图像,生成描绘所述第一用户的具有不同于所述中性表情或中性位置的表情或位置的面部的所述第一用户的第二图像;以及
基于所述第一用户的所述第二图像为所述第一用户生成所述个性化表情。
2.根据权利要求1所述的计算机实现的方法,其中,识别所述第二用户的第一图像包括比较所述第一用户的第一图像中的所述第一用户的面部点和所述第二用户的第一图像中的所述第二用户的面部点,其中,所述第一用户的面部点和所述第二用户的面部点之间的匹配度满足所述阈值。
3.根据权利要求2所述的计算机实现的方法,其中,生成所述第一用户的第二图像包括将所述第一用户的第一图像中的所述第一用户的面部点映射到所述第二用户的第二图像中的所述第二用户的面部点。
4.根据权利要求3所述的计算机实现的方法,还包括基于所述第一用户的第二图像为所述第一用户生成个性化表情符号。
5.根据权利要求3所述的计算机实现的方法,其中,所述第二用户的第一图像被包括在所述第二用户演唱歌曲的视频中,并且其中,所述方法还包括基于所述第一用户的第二图像生成所述第一用户的嘴唇同步视频。
6.根据权利要求3所述的计算机实现的方法,其中,识别所述第二用户的第一图像包括比较所述第一用户的第一图像中的至少一个区域的纹理和所述第二用户的第一图像中的对应区域的纹理,其中,所述第一用户的第一图像中的所述至少一个区域的纹理和所述第二用户的第一图像中的至少一个区域的纹理之间的匹配度满足阈值。
7.根据权利要求6所述的计算机实现的方法,其中,复制所述第二用户的第一图像中的所述至少一个区域的一部分,以生成所述第一用户的第二图像。
8.根据权利要求6所述的计算机实现的方法,其中,比较所述第一用户的第一图像中的所述至少一个区域的纹理和所述第二用户的第一图像中的对应区域的纹理包括:确定所述第一用户的第一图像中的所述至少一个区域的纹理特征和所述第二用户的第一图像中的所述至少一个区域的纹理特征。
9.根据权利要求8所述的计算机实现的方法,其中,图像被表示为值的矩阵,并且所述图像的纹理特征包括以下中的一个或更多个:所述值的平均值或所述值的中值。
10.根据权利要求1所述的计算机实现的方法,其中,不同于所述中性表情的表情包括以下中的一种或更多种:高兴表情、悲伤表情、愤怒表情、惊讶表情、哭泣表情、微笑表情、大笑表情或皱眉表情。
11.一种系统,包括:
至少一个硬件处理器;和
存储器,其存储指令,当由所述至少一个处理器执行时,所述指令使得所述系统执行:
获得第一用户的第一图像,所述第一用户的第一图像描绘所述第一用户的具有中性表情或中性位置的面部,其中,所述中性表情或中性位置指示面部处于静止状态的相同状态;
识别第二用户的第一图像,所述第二用户的第一图像描绘所述第二用户的具有中性表情或中性位置的面部,其中,基于对阈值的满足,所述第二用户的面部类似于所述第一用户的面部;和
基于所述第二用户的第二图像为所述第一用户生成个性化表情,其中,为所述第一用户生成所述个性化表情还包括:
基于描绘所述第二用户的具有不同于所述中性表情或中性位置的表情或位置的面部的所述第二用户的所述第二图像,生成描绘所述第一用户的具有不同于所述中性表情或中性位置的表情或位置的面部的所述第一用户的第二图像;以及
基于所述第一用户的所述第二图像为所述第一用户生成所述个性化表情。
12.根据权利要求11所述的系统,其中,识别所述第二用户的第一图像包括比较所述第一用户的第一图像中的所述第一用户的面部点和所述第二用户的第一图像中的所述第二用户的面部点,其中,所述第一用户的面部点和所述第二用户的面部点之间的匹配度满足所述阈值。
13.根据权利要求12所述的系统,其中,生成所述第一用户的第二图像包括将所述第一用户的第一图像中的所述第一用户的面部点映射到所述第二用户的第二图像中的所述第二用户的面部点。
14.根据权利要求13所述的系统,还包括基于所述第一用户的第二图像为所述第一用户生成个性化表情符号。
15.根据权利要求13所述的系统,其中,所述第二用户的第一图像被包括在所述第二用户演唱歌曲的视频中,并且其中,所述指令还使得所述系统执行:基于所述第一用户的第二图像生成所述第一用户的嘴唇同步视频。
16.一种包括指令的非暂时性计算机可读介质,当由计算系统的至少一个硬件处理器执行时,所述指令使得所述计算系统执行一种方法,所述方法包括:
获得第一用户的第一图像,所述第一用户的第一图像描绘所述第一用户的具有中性表情或中性位置的面部,其中,所述中性表情或中性位置指示面部处于静止状态的相同状态;
识别第二用户的第一图像,所述第二用户的第一图像描绘所述第二用户的具有中性表情或中性位置的面部,其中,基于对阈值的满足,所述第二用户的面部类似于所述第一用户的面部;和
基于所述第二用户的第二图像为所述第一用户生成个性化表情,其中,为所述第一用户生成所述个性化表情还包括:
基于描绘所述第二用户的具有不同于所述中性表情或中性位置的表情或位置的面部的所述第二用户的所述第二图像,生成描绘所述第一用户的具有不同于所述中性表情或中性位置的表情或位置的面部的所述第一用户的第二图像;以及
基于所述第一用户的所述第二图像为所述第一用户生成所述个性化表情。
17.根据权利要求16所述的非暂时性计算机可读介质,其中,识别所述第二用户的第一图像包括比较所述第一用户的第一图像中的所述第一用户的面部点和所述第二用户的第一图像中的所述第二用户的面部点,其中,所述第一用户的面部点和所述第二用户的面部点之间的匹配度满足所述阈值。
18.根据权利要求17所述的非暂时性计算机可读介质,其中,生成所述第一用户的第二图像包括将所述第一用户的第一图像中的所述第一用户的面部点映射到所述第二用户的第二图像中的所述第二用户的面部点。
19.根据权利要求18所述的非暂时性计算机可读介质,其中,所述方法还包括基于所述第一用户的第二图像为所述第一用户生成个性化表情符号。
20.根据权利要求18所述的非暂时性计算机可读介质,其中,所述第二用户的第一图像被包括在所述第二用户演唱歌曲的视频中,并且其中,所述方法还包括基于所述第一用户的第二图像生成所述第一用户的嘴唇同步视频。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311793359.4A CN117690176A (zh) | 2017-12-28 | 2018-01-02 | 用于生成个性化表情符号和嘴唇同步视频的系统和方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/857,098 | 2017-12-28 | ||
US15/857,098 US10573349B2 (en) | 2017-12-28 | 2017-12-28 | Systems and methods for generating personalized emoticons and lip synching videos based on facial recognition |
PCT/US2018/012112 WO2019133029A1 (en) | 2017-12-28 | 2018-01-02 | Systems and methods for generating personalized emoticons and lip synching videos based on facial recognition |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311793359.4A Division CN117690176A (zh) | 2017-12-28 | 2018-01-02 | 用于生成个性化表情符号和嘴唇同步视频的系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111527496A CN111527496A (zh) | 2020-08-11 |
CN111527496B true CN111527496B (zh) | 2024-01-05 |
Family
ID=67058380
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880084294.7A Active CN111527496B (zh) | 2017-12-28 | 2018-01-02 | 基于面部辨识生成个性化表情符号和嘴唇同步视频的系统和方法 |
CN202311793359.4A Pending CN117690176A (zh) | 2017-12-28 | 2018-01-02 | 用于生成个性化表情符号和嘴唇同步视频的系统和方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311793359.4A Pending CN117690176A (zh) | 2017-12-28 | 2018-01-02 | 用于生成个性化表情符号和嘴唇同步视频的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10573349B2 (zh) |
EP (1) | EP3732650A4 (zh) |
JP (1) | JP6990310B2 (zh) |
KR (1) | KR20200094207A (zh) |
CN (2) | CN111527496B (zh) |
WO (1) | WO2019133029A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10972656B2 (en) | 2018-06-22 | 2021-04-06 | International Business Machines Corporation | Cognitively coaching a subject of a photograph |
US11048745B2 (en) * | 2018-06-22 | 2021-06-29 | International Business Machines Corporation | Cognitively identifying favorable photograph qualities |
CN110532405B (zh) * | 2019-08-15 | 2023-01-10 | 咪咕文化科技有限公司 | 多媒体文件处理方法、通信设备及计算机可读存储介质 |
KR20220096070A (ko) | 2020-12-30 | 2022-07-07 | (주)라이언로켓 | 인공신경망을 이용한 게임 캐릭터 입모양 합성 장치 |
KR20220096067A (ko) | 2020-12-30 | 2022-07-07 | (주)라이언로켓 | 인공신경망을 이용한 애니메이션 캐릭터 입모양 합성 장치 |
KR102251781B1 (ko) | 2020-12-30 | 2021-05-14 | (주)라이언로켓 | 인공신경망을 이용한 입모양 합성 장치 및 방법 |
KR20220096064A (ko) | 2020-12-30 | 2022-07-07 | (주)라이언로켓 | 인공신경망을 이용한 실시간 방송 입모양 합성 장치 |
KR20220096073A (ko) | 2020-12-30 | 2022-07-07 | (주)라이언로켓 | 인공신경망을 이용한 사용자 맞춤형 광고 출력 장치 |
KR20220096065A (ko) | 2020-12-30 | 2022-07-07 | (주)라이언로켓 | 인공신경망을 이용한 더빙 영화 입모양 합성 장치 |
KR20220096068A (ko) | 2020-12-30 | 2022-07-07 | (주)라이언로켓 | 인공신경망을 이용한 화상 통화 끊김 시 입모양 합성 장치 |
KR20220096066A (ko) | 2020-12-30 | 2022-07-07 | (주)라이언로켓 | 인공신경망을 이용한 온라인 강의 현지화 장치 |
KR20220096071A (ko) | 2020-12-30 | 2022-07-07 | (주)라이언로켓 | 인공신경망을 이용한 뮤직비디오 현지화 장치 |
KR20220096072A (ko) | 2020-12-30 | 2022-07-07 | (주)라이언로켓 | 인공신경망을 이용한 정치인 홍보영상 합성 장치 |
KR20220096069A (ko) | 2020-12-30 | 2022-07-07 | (주)라이언로켓 | 인공신경망을 이용한 다자간 화상 회의 입모양 합성 장치 |
KR20220101403A (ko) * | 2021-01-11 | 2022-07-19 | 주식회사 딥브레인에이아이 | 립싱크 영상 생성 장치 및 방법 |
CN112818147A (zh) * | 2021-02-22 | 2021-05-18 | 维沃移动通信有限公司 | 图片处理方法、装置、设备及存储介质 |
KR20230039114A (ko) | 2021-09-13 | 2023-03-21 | 이찬석 | 사진촬영을 이용한 이모티콘 자동생성 시스템 |
KR102627033B1 (ko) | 2023-05-08 | 2024-01-19 | 주식회사 알마로꼬 | 인공지능 기술을 이용한 참여형 컨텐츠를 생성하는 시스템 및 방법 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004004320A1 (en) * | 2002-07-01 | 2004-01-08 | The Regents Of The University Of California | Digital processing of video images |
CN101777116A (zh) * | 2009-12-23 | 2010-07-14 | 中国科学院自动化研究所 | 一种基于动作跟踪的脸部表情分析方法 |
CN101836219A (zh) * | 2007-11-01 | 2010-09-15 | 索尼爱立信移动通讯有限公司 | 基于面部表情生成音乐播放列表 |
CN103824059A (zh) * | 2014-02-28 | 2014-05-28 | 东南大学 | 一种基于视频图像序列的人脸表情识别方法 |
CN106415664A (zh) * | 2014-08-21 | 2017-02-15 | 华为技术有限公司 | 生成消息与社交网络应用的用户面部表情库的系统和方法 |
CN107004287A (zh) * | 2014-11-05 | 2017-08-01 | 英特尔公司 | 化身视频装置和方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7663628B2 (en) * | 2002-01-22 | 2010-02-16 | Gizmoz Israel 2002 Ltd. | Apparatus and method for efficient animation of believable speaking 3D characters in real time |
US8009966B2 (en) * | 2002-11-01 | 2011-08-30 | Synchro Arts Limited | Methods and apparatus for use in sound replacement with automatic synchronization to images |
US7133535B2 (en) | 2002-12-21 | 2006-11-07 | Microsoft Corp. | System and method for real time lip synchronization |
NZ587526A (en) * | 2008-01-31 | 2013-06-28 | Univ Southern California | Facial performance synthesis using deformation driven polynomial displacement maps |
KR101615719B1 (ko) | 2009-09-18 | 2016-04-27 | 삼성전자주식회사 | 사용자의 3차원 얼굴 표정 추출 방법 및 장치 |
US8705813B2 (en) * | 2010-06-21 | 2014-04-22 | Canon Kabushiki Kaisha | Identification device, identification method, and storage medium |
US8839118B2 (en) | 2010-06-30 | 2014-09-16 | Verizon Patent And Licensing Inc. | Users as actors in content |
CN104170374A (zh) | 2012-03-14 | 2014-11-26 | 谷歌公司 | 在视频会议期间修改参与者的外观 |
US8848068B2 (en) * | 2012-05-08 | 2014-09-30 | Oulun Yliopisto | Automated recognition algorithm for detecting facial expressions |
US20140153832A1 (en) * | 2012-12-04 | 2014-06-05 | Vivek Kwatra | Facial expression editing in images based on collections of images |
JP6207210B2 (ja) * | 2013-04-17 | 2017-10-04 | キヤノン株式会社 | 情報処理装置およびその方法 |
US9576175B2 (en) * | 2014-05-16 | 2017-02-21 | Verizon Patent And Licensing Inc. | Generating emoticons based on an image of a face |
KR101997500B1 (ko) * | 2014-11-25 | 2019-07-08 | 삼성전자주식회사 | 개인화된 3d 얼굴 모델 생성 방법 및 장치 |
JP6624794B2 (ja) | 2015-03-11 | 2019-12-25 | キヤノン株式会社 | 画像処理装置、画像処理方法及びプログラム |
US20170069124A1 (en) | 2015-04-07 | 2017-03-09 | Intel Corporation | Avatar generation and animations |
US9532004B1 (en) * | 2016-05-12 | 2016-12-27 | Google Inc. | Animated user identifiers |
-
2017
- 2017-12-28 US US15/857,098 patent/US10573349B2/en active Active
-
2018
- 2018-01-02 KR KR1020207020055A patent/KR20200094207A/ko active IP Right Grant
- 2018-01-02 CN CN201880084294.7A patent/CN111527496B/zh active Active
- 2018-01-02 WO PCT/US2018/012112 patent/WO2019133029A1/en unknown
- 2018-01-02 EP EP18893616.5A patent/EP3732650A4/en active Pending
- 2018-01-02 JP JP2020532677A patent/JP6990310B2/ja active Active
- 2018-01-02 CN CN202311793359.4A patent/CN117690176A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004004320A1 (en) * | 2002-07-01 | 2004-01-08 | The Regents Of The University Of California | Digital processing of video images |
CN101836219A (zh) * | 2007-11-01 | 2010-09-15 | 索尼爱立信移动通讯有限公司 | 基于面部表情生成音乐播放列表 |
CN101777116A (zh) * | 2009-12-23 | 2010-07-14 | 中国科学院自动化研究所 | 一种基于动作跟踪的脸部表情分析方法 |
CN103824059A (zh) * | 2014-02-28 | 2014-05-28 | 东南大学 | 一种基于视频图像序列的人脸表情识别方法 |
CN106415664A (zh) * | 2014-08-21 | 2017-02-15 | 华为技术有限公司 | 生成消息与社交网络应用的用户面部表情库的系统和方法 |
CN107004287A (zh) * | 2014-11-05 | 2017-08-01 | 英特尔公司 | 化身视频装置和方法 |
Non-Patent Citations (7)
Title |
---|
Reginald B. Adams, Jr 等.Emotion in the Neutral Face: A Mechanism for Impression Formation.《Cognition & Emotion》.2012,第26卷(第3期),431-441. * |
吕培 等.表情数据库无关的人脸表情转移.《计算机辅助设计与图形学学报》.2016,第28卷(第01期),68-74. * |
宋红 等.多表情人脸肖像的自动生成.《电子学报》.2013,第41卷(第08期),1494-1499. * |
张静波 等.基于模型的面部图像生成方法.《计算机与数字工程》.2001,(第03期),46-51. * |
贾熹滨 等.基于动态图像序列的表情识别.《北京工业大学学报》.2013,第39卷(第09期),1360-1365. * |
陈洪 等.基于图像的个性化卡通系统.《软件学报》.2002,第2002卷(第09期),1813-1822. * |
魏冉 等.融合人脸多特征信息的表情识别系统.《中国图象图形学报》.2009,第14卷(第05期),792-800. * |
Also Published As
Publication number | Publication date |
---|---|
CN111527496A (zh) | 2020-08-11 |
US20190206441A1 (en) | 2019-07-04 |
US10573349B2 (en) | 2020-02-25 |
EP3732650A1 (en) | 2020-11-04 |
EP3732650A4 (en) | 2021-01-20 |
CN117690176A (zh) | 2024-03-12 |
KR20200094207A (ko) | 2020-08-06 |
WO2019133029A1 (en) | 2019-07-04 |
JP6990310B2 (ja) | 2022-01-12 |
JP2021512382A (ja) | 2021-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111527496B (zh) | 基于面部辨识生成个性化表情符号和嘴唇同步视频的系统和方法 | |
US10452898B2 (en) | Systems and methods for providing augmented reality overlays | |
US10025972B2 (en) | Systems and methods for dynamically generating emojis based on image analysis of facial features | |
US20190205627A1 (en) | Systems and methods for generating amplified facial expressions based on facial recognition | |
US20190138656A1 (en) | Systems and methods for providing recommended media content posts in a social networking system | |
US9704029B2 (en) | Systems and methods for identifying users in media content based on poselets and neural networks | |
US9851812B2 (en) | Systems and methods for providing functionality based on device orientation | |
US10699454B2 (en) | Systems and methods for providing textual social remarks overlaid on media content | |
US10325154B2 (en) | Systems and methods for providing object recognition based on detecting and extracting media portions | |
US20200322295A1 (en) | Systems and methods to selectively combine video streams | |
US10438014B2 (en) | Systems and methods for sharing media content with recognized social connections | |
US20190205929A1 (en) | Systems and methods for providing media effect advertisements in a social networking system | |
US10621417B2 (en) | Systems and methods for generating content | |
US10474923B2 (en) | Systems and methods for incremental character recognition to recognize characters in images | |
WO2018125762A1 (en) | Systems and methods for providing augmented reality overlays | |
US10496750B2 (en) | Systems and methods for generating content | |
US11663477B2 (en) | Systems and methods for generating music recommendations | |
US10593124B1 (en) | Systems and methods for content creation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: California, USA Applicant after: Yuan platform Co. Address before: California, USA Applicant before: Facebook, Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |