CN107771336A - 基于颜色分布的图像中的特征检测和掩模 - Google Patents

基于颜色分布的图像中的特征检测和掩模 Download PDF

Info

Publication number
CN107771336A
CN107771336A CN201680027310.XA CN201680027310A CN107771336A CN 107771336 A CN107771336 A CN 107771336A CN 201680027310 A CN201680027310 A CN 201680027310A CN 107771336 A CN107771336 A CN 107771336A
Authority
CN
China
Prior art keywords
mask
pixel
image
feature
color
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.)
Granted
Application number
CN201680027310.XA
Other languages
English (en)
Other versions
CN107771336B (zh
Inventor
杰森·张
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN107771336A publication Critical patent/CN107771336A/zh
Application granted granted Critical
Publication of CN107771336B publication Critical patent/CN107771336B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/751Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/758Involving statistics of pixels or of feature values, e.g. histogram matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

实现涉及基于颜色分布在图像中的图像特征检测和掩模。在一些实现中,用于确定图像的掩模的计算机实现的方法包括确定图像中描绘的被检测的特征的空间函数,所述函数相对于估计的特征边界指示图像的像素。基于包括特征区域和非特征区域的图像的多个区域中的每个区域中的一个或多个颜色值分布,确定每个所述区域的相应颜色似然分布。基于空间函数和一个或多个颜色似然分布确定置信度掩模。置信度掩模对于图像的多个像素中的每个像素指示像素是特征像素的关联置信度。使用置信度掩模对图像中的像素应用修改。

Description

基于颜色分布的图像中的特征检测和掩模
相关申请的交叉引用
本申请要求2015年9月15日提交的、名称为“FEATURE DETECTION AND MASKING INIMAGES BASED ON COLOR DISTRIBUTIONS”的美国非临时专利申请No.14/855,297的优先权,其全部内容通过引用并入本文。
背景技术
数码相机的普及和便利性以及互联网通信的广泛使用已经使用户制作的图像(例如照片)变得无所不在。例如,互联网平台和服务(如电子邮件、论坛、照片库和网络服务等)的用户发布自己和其他人的图片用于查看。用户可以将图像发布到用于私人查看(例如,朋友或其他小群体用户)的网络服务和/或由许多用户公开查看。可以由用户以各种方式编辑图像,例如使用图像编辑程序来手动编辑图像。
发明内容
实现通常涉及图像中基于颜色分布的特征检测和掩模。在一些实现中,一种确定图像的掩模的计算机实现的方法包括:确定图像中描绘的被检测的特征的空间函数,其中所述空间函数相对于从被检测的特征估计的特征边界选择像素。基于图像的多个区域中的每个区域中的一个或多个颜色值分布,确定每个区域的相应颜色似然分布,其中所述区域包括特征区域和非特征区域。基于空间函数和一个或多个颜色似然分布来确定置信度掩模,其中所述置信度掩模对于图像的多个像素中的每个像素指示所述像素是特征像素的关联置信度。使用所述置信度掩模对图像中的像素应用修改。
描述该方法的各种实现和示例。例如,被检测的特征可以是被检测的皮肤特征,例如包括在被检测的面部中的面部皮肤或描绘皮肤的其他特征。置信度掩模可以基于后验概率掩模,并且确定空间函数可以包括确定被检测的特征的先验概率掩模。先验概率掩模可以基于特征边界,并且对于图像中的多个像素中的每一个像素,指示像素是特征像素的关联第一概率。后验概率掩模可以基于先验概率掩模和一个或多个颜色似然分布,并且对于图像的多个像素中的每一个像素指示像素是特征像素的关联第二概率。
确定置信度掩模可以包括将先验概率掩模与颜色似然分布中的至少一个相乘。在其中被检测的特征是皮肤特征的另一示例中,确定置信度掩模可以包括确定后验特征掩模,其指示对于图像的多个像素中的每一个像素,像素是皮肤特征像素的关联概率,确定后验非特征掩模,其指示对于图像的多个像素中的每一个像素,所述像素不是皮肤特征像素的关联概率,并且基于后验特征掩模和后验非特征掩模来确定置信度掩模。后验概率特征掩模可以基于特征区域的颜色似然分布,并且后验非特征掩模可以基于非特征区域的颜色似然分布中的至少一个。例如,确定置信度掩模可以包括确定后验特征掩模与后验非特征掩模的比率。
该方法还可以包括模糊空间函数,其中确定置信度掩模是基于模糊的空间函数。被检测的特征可以是包括在被检测的面部中的面部皮肤,其中面部可以包括一个或多个被检测的面部标志,其中特征边界是基于一个或多个被检测的面部标志估计的面部边界。该方法可以进一步包括使用机器学习技术来确定面部边界,该机器学习技术基于一个或多个被检测的面部标志的位置来确定面部边界,其中机器学习技术利用具有所指示的面部边界的多个训练图像训练。
确定每个区域的相应颜色似然分布可以包括基于特征边界来确定图像的区域分割,其中区域分割指示包括图像的特征区域和非特征区域的多个区域。可以为区域分割的每个区域中的图像的像素确定颜色值分布,并且可以基于对于区域的一个或多个颜色值分布来确定每个区域的相应颜色似然分布。在一些实现中,颜色值分布可以包括直方图,并且可以对直方图进行归一化。该方法还可以包括模糊一个或多个颜色值分布。例如,模糊颜色值分布可以包括沿着对于不同颜色通道的颜色值近似相等的轴来模糊分布值。
在一些示例中,多个区域可以包括与非特征区域不同的一个或多个面部标志区域,并且可以包括口区域、眼睛区域和眉区域中的至少一个,其中对于一个或多个面部标志区域中的每一个确定相应的颜色似然分布。在一些示例中,置信度掩模可以基于后验特征掩模和后验非特征掩模,其中后验非特征掩模是基于将先验概率掩模与对于非特征区域和面部标志区域的颜色似然分布的组合相乘。
在一些实现中,一种确定图像的掩模的系统包括:存储设备;和至少一个处理器,其可操作以访问所述存储设备并且被配置为:基于图像的多个区域中的每个区域中的一个或多个颜色值分布,确定每个区域的相应颜色似然分布,其中所述区域包括特征区域和非特征区域。处理器被配置为至少基于所述特征区域的颜色似然分布来确定概率特征掩模,其中所述概率特征掩模对于图像的多个像素中的每个像素指示所述像素是特征像素的关联概率。处理器被配置为至少基于非特征区域的颜色似然分布来确定概率非特征掩模,其中所述概率掩模对于图像的多个像素中的每个像素指示所述像素不是特征像素的关联概率。处理器还被配置为基于概率特征掩模和概率非特征掩模来确定作为结果的置信度掩模,并且使用作为结果的概率掩模对图像中的像素的颜色值应用修改。
描述了系统的各种实现和示例。例如,颜色值分布可以包括直方图,并且处理器可以被进一步配置成模糊每个直方图。图像特征可以是包括在被检测的面部中的面部皮肤,并且多个区域可以包括一个或多个面部标志区域,其例如可以包括口区域、眼睛区域和/或眉区域。处理器可以被配置为确定一个或多个面部标志区域中的每一个的相应颜色似然分布,并且至少基于非特征区域的颜色似然分布和一个或多个面部标志区域的颜色似然分布来确定被检测的面部的概率非特征掩模。
在一些实现中,一种非暂时性计算机可读介质,其上存储有用于确定图像的皮肤掩模的软件指令,并且所述软件指令在由处理器执行时使所述处理器执行操作。所述操作包括:确定图像中描绘的被检测的皮肤特征的先验概率掩模,其中先验概率掩模是基于从被检测的皮肤特征估计的皮肤特征边界,并且其中先验概率掩模对于图像中的多个像素的每一个像素,指示所述像素是皮肤特征像素的关联第一概率。操作包括基于图像的多个区域中的每个区域中的一个或多个颜色值分布,确定每个所述区域的相应颜色似然分布,其中所述区域包括皮肤特征区域和非特征区域。操作包括基于先验概率掩模和颜色似然分布来确定被检测的皮肤特征的后验概率掩模,其中所述后验概率掩模对于图像的多个像素中的每一个像素,指示所述像素是皮肤特征像素的关联第二概率。操作包括基于后验概率掩模对图像中的像素应用修改。描述了计算机可读介质的各种实现和示例。例如,一个或多个颜色值分布可以包括直方图,并且操作可以进一步包括模糊每个直方图。
在一些实现中,确定图像的掩模的系统包括用于确定图像中描绘的被检测的特征的空间函数的装置,其中空间函数相对于从被检测的特征估计的特征边界来选择图像的像素。该系统包括用于基于每个区域中的一个或多个颜色值分布来确定图像的多个区域中的每个区域的相应颜色似然分布的装置,其中该区域包括特征区域和非特征区域。该系统包括用于基于空间函数和一个或多个颜色似然分布来确定置信度掩模的装置,其中置信度掩模对于图像的多个像素中的每个像素指示像素是特征像素的关联置信度。该系统包括使用置信度掩模对图像中的像素应用修改的装置。
描述了系统的各种实现和示例。例如,被检测的特征可以是被检测的皮肤特征,例如包括在被检测的面部中的面部皮肤或描绘皮肤的其他特征。置信度掩模可以基于后验概率掩模,并且用于确定空间函数的装置可以包括用于确定被检测的特征的先验概率掩模的装置。先验概率掩模可以基于特征边界,并且对于图像中的多个像素中的每一个,指示像素是特征像素的关联第一概率。后验概率掩模可以基于先验概率掩模和一个或多个颜色似然分布,并且对于图像的多个像素中的每一个,指示像素是特征像素的关联第二概率。
用于确定置信度掩模的装置可以包括用于将先验概率掩模与至少一个颜色似然分布相乘的装置。在被检测的特征是皮肤特征的另一示例中,用于确定置信度掩模的装置可以包括用于确定后验特征掩模的装置,该后验特征掩模指示对于图像的多个像素中的每一个,像素是皮肤特征像素的关联概率,用于确定后验非特征掩模的装置,该后验非特征掩模指示对于图像的多个像素中的每一个,像素不是皮肤特征像素的关联概率,以及用于基于后验特征掩模和后验非特征掩模确定置信度掩模的装置。后验概率特征掩模可以基于特征区域的颜色似然分布,并且后验非特征掩模可以基于非特征区域的至少一个颜色似然分布。例如,用于确定置信度掩模的装置可以包括用于确定后验特征掩模与后验非特征掩模的比率的装置。
该系统还可以包括用于模糊空间函数的装置,其中用于确定置信度掩模的装置使用经模糊的空间函数。被检测的特征可以是包括在被检测的面部中的面部皮肤,其中面部可以包括一个或多个被检测的面部标志,其中特征边界是基于一个或多个被检测的面部标志估计的面部边界。该系统还可以包括使用机器学习技术来确定面部边界的装置,该机器学习技术基于一个或多个被检测的面部标志的位置来确定面部边界,其中机器学习技术被具有指示的面部边界的多个训练图像训练。
用于确定每个区域的相应颜色似然分布的装置可以包括基于特征边界来确定图像的区域分割,其中区域分割指示包括图像的特征区域和非特征区域的多个区域。用于确定相应颜色似然分布的装置可以确定区域分割的每个区域中的图像的像素的颜色值分布,并且可以基于区域的一个或多个颜色值分布来确定每个区域的相应颜色似然分布。在一些实现中,颜色值分布可以包括直方图,并且可以对直方图进行归一化。该系统还可以包括用于模糊一个或多个颜色值分布的装置。例如,用于模糊颜色值分布的装置可以包括用于模糊沿着对于不同颜色通道的颜色值近似相等的轴的分布的值的装置。
附图说明
图1是可用于本文所述的一个或多个实现的示例网络环境的框图;
图2是示出根据一些实现来确定用于图像的掩模的示例方法的流程图;
图3是示出根据一些实现来确定用于图像中被检测的特征的空间函数的示例方法的流程图;
图4是示出根据一些实现来确定用于在图像中确定的区域的颜色似然分布的示例方法的流程图;
图5A、5B和5C是模糊和内插颜色值直方图的示例的示意图;
图6是示出根据一些实现来确定用于图像特征的置信度掩模的示例方法的流程图;
图7是示例输入图像的示意图;
图8是示出在图7的示例图像中被检测的面部标志点的示例图像的示意图。
图9是确定特征边界之后的示例图像的示意图;
图10是基于图9的图像和特征边界确定的示例先验概率特征掩模的示意图;
图11是在用于确定颜色值分布的示例图像中分割的多个区域的示意图;
图12是基于图11的分割区域中的颜色值分布确定的示例似然特征掩模的示意图;
图13是基于图12的先验概率特征掩模和颜色似然分布确定的示例后验概率特征掩模的示意图;
图14是基于图9的图像和特征边界确定的示例先验概率非特征掩模的示意图;
图15是基于图11的一个或多个分割区域中的颜色值分布确定的示例似然非特征掩模的示意图;
图16是基于图14的先验概率非特征掩模和图15的颜色似然分布确定的后验概率非特征掩模的示例的示意图;
图17是基于图16的后验概率非特征掩模与面部标志区域的一个或多个颜色似然分布组合确定的后验概率非特征掩模的另一示例的示意图;
图18是基于图13的后验概率特征掩模和图17的后验概率非特征掩模确定的示例作为结果的推导的置信度掩模的示意图;以及
图19是可用于本文所述的一个或多个实现的示例设备的框图。
具体实施方式
本文所述的一个或多个实现涉及在图像中基于颜色分布的图像特征检测和掩模(例如皮肤检测和掩模)。在一些示例中,预期的要掩模的图像特征可以是皮肤特征,例如包括在被检测的面部中的面部皮肤或描绘皮肤的其他身体部分。一些示例系统可以获得描绘一个或多个被检测的特征的图像,例如一个或多个面部的面部皮肤或图像中描绘的其他特征的图像。在一些实现中,系统可以确定一个或多个被检测的特征中的每一个的置信度掩模,其中掩模指示图像中的每个像素是否是特征像素的置信度。置信度掩模可以基于图像的多个区域(包括特征区域(例如面部皮肤的区域))和一个或多个非特征区域(例如,不描绘面部皮肤的区域)的颜色似然分布。使用置信度掩模,可以对图像中的特征的像素应用修改,例如,以改变特征的一个或多个像素的颜色值。修改可以替代地或附加地应用于未包括在特征中的像素的颜色值。
例如,在一些实现中,系统可以确定用于被检测的特征的空间函数,该空间函数相对于从被检测的特征估计的特征边界指示或选择图像的像素。例如,如果特征是面部的面部皮肤,则空间函数可以基于用作皮肤特征边界的椭圆。在一些实现中,确定空间函数可以包括确定指示作为特征像素的像素的先验概率掩模。一些实现可以模糊空间函数,使得置信度掩模是基于经模糊的空间函数。
在各种实现中,可以基于在图像的区域中的每一个中的一个或多个颜色值分布来确定图像的区域的颜色似然分布。例如,特征区域(例如,面部皮肤区域)可以是基于被检测的面部标志(例如眼睛、眉、鼻和口)确定为在被检测的面部内的面部区域。非特征区域可以是面部区域外的图像的区域,例如背景区域。还可以或替代地使用其它非特征区域,包括在空间边界内的非皮肤面部标志区域,例如为相应的非皮肤面部标志确定的眼睛区域、眉区域和/或口区域。颜色似然分布可以基于每个区域中的一个或多个颜色值分布,例如,在一些实现中分布可以是直方图。例如,可以确定面部皮肤区域中的颜色分布,非特征区域(例如,背景区域)中的颜色分布以及非特征面部标志区域(例如,眼睛区域、眉区域和/或口区域)中的颜色分布。一些实现可以模糊颜色值分布。例如,与模糊之前相比,该分布可以模糊,例如增加表示一个或多个区域的颜色的范围。例如,模糊可以包括模糊每个颜色通道,和/或模糊沿着不同颜色通道的颜色值近似相等的轴的分布的值(例如,沿着在RGB颜色空间红色通道值、绿色通道值和蓝色通道值近似相等的轴)。一些实现可以在色值分布中的离散值之间内插。
一些实现可以将置信度掩模确定为基于作为先验概率掩模和一个或多个颜色似然分布的空间函数的结果的推断的置信度掩模。例如,可以通过将先验概率掩模与颜色似然分布中的至少一个相乘来确定后验概率掩模。在一些实现中,用于被检测的皮肤特征的作为结果的推断的置信度掩模可以基于后验特征掩模和后验非特征掩模,例如后验特征掩模与后验非特征掩模的比率。后验特征掩模可以指示关联像素是特征像素的概率,并且后验非特征掩模可以指示关联像素不是特征像素的概率。
各种描述的特征可以允许系统确定指示图像的像素描绘特定特征(例如皮肤特征)的概率的掩模。例如,描述的特征可以提供图像中的哪些像素是面部皮肤像素的准确指示,允许将图像修改准确应用于面部皮肤区域和/或不描绘面部皮肤的图像区域。例如,诸如模糊操作的图像修改(例如,通过对图像的一个或多个编辑操作执行)可以对面部皮肤像素执行平滑化,例如根据用户期望去除或减少皮肤瑕疵。面部皮肤掩模的使用可以使面部皮肤光滑,而不会使背景区域以及眼睛、眉、头发、口或其他非皮肤区域模糊。其他皮肤特征或图像特征可以使用确定的掩模通过对图像的一个或多个编辑操作来类似地修改。
描述的特征可以允许图像的皮肤像素(或其他特征像素)在确定的像素掩模中自动、快速并准确地识别。例如,描述的特征可以提供适合于基于标志的图像中的特征(例如基于面部标志的面部)的先验概率掩模,允许特征像素(例如面部皮肤像素)的准确识别。经过训练的技术可以基于经过训练的数据来确定准确的特征边界(例如,面部边界)。在一些实现中,可以独立于其它掩模值来执行每个图像像素的掩模值的确定,并且可以有效地并行化。与不使用背景像素和其他非特征像素的知识的技术相比,特征可以利用特征和非特征像素之间的比较(例如,比率),其允许减少误报。此外,可以使用颜色值的分布(例如,直方图),其可以比样本集或单个高斯更能代表图像区域颜色。颜色值分布的模糊可以允许在每个区域中表示更大范围的颜色值,例如,允许对于可能具有接近高概率或高置信度像素的颜色值的颜色值的像素的更准确的概率或置信度确定。使用一个或多个描述的特征,对于图像处理可能不需要图像的小型化,因为处理速度是有效且快速的,从而允许更快的处理准确度。
使用本文所述的一个或多个特征的系统可以提供准确且有质量的结果。该系统可以通过基于像素的特征或非特征状态自动对图像像素应用修改,以及避免繁琐的手动编辑图像以对诸如面部的图像特征应用所需的修改来减少用户的时间和精力。此外,描述的特征可以减少可能需要手动执行的存储和编辑图像所需的处理资源。
本文讨论的系统和方法可以收集关于用户的个人信息或可以利用个人信息(例如,用户数据)的情况下,向用户提供一个或多个机会来控制如何收集关于用户的信息并将其用于一个或多个描述的特征。向用户提供对程序或特征是否收集用户数据的控制(例如,关于用户的社交网络的信息,用户特性(年龄、性别、职业等),社会动作或活动,用户偏好,用户创建或提交的内容、用户当前位置等)。向用户提供对程序或特征是否收集关于该特定用户或与该程序或特征相关的其他用户的用户信息的控制。向个人信息待收集的每个用户都呈现一个或多个选项,以允许对与该用户相关的信息收集进行控制,以提供关于该信息是否被收集以及哪些部分信息将被收集的许可、同意或授权。例如,可以通过通信网络向用户提供一个或多个控制选项。此外,某些数据可以在存储或使用之前以一种或多种方式处理,以便消除个人可识别信息。例如,可以对用户的身份进行处理,使得不能确定用户的个人可识别信息,或者用户的地理位置可以被泛化为更大的区域,使得不能确定用户的特定位置。
本文所述的“图像”可以是静止图像,单个图像或独立图像,或者可以是包括在一系列图像中的图像(例如视频帧的视频序列中的帧),或以不同类型的图像序列中的图像。例如,本文描述的实现可以与单个图像或与来自图像的一个或多个系列或视频序列的一个或多个图像一起使用。
图1示出了可以在本文所描述的一些实现中使用的示例网络环境100的框图。在一些实现中,网络环境100包括一个或多个服务器系统,例如图1的示例中的服务器系统102。例如,服务器系统102可以与网络130进行通信。服务器系统102可以包括服务器设备104和数据库106或其他存储设备。网络环境100还可以包括一个或多个客户端设备,例如客户端设备120,122,124和126,其可以经由网络130彼此通信和/或与服务器系统102通信。网络130可以是任何类型的通信网络,包括互联网、局域网(LAN)、无线网络、交换机或集线器连接等中的一种或多种。在一些实现中,网络130可以包括设备之间的对等通信132,例如使用对等无线协议。
为了便于说明,图1示出了服务器系统102,服务器设备104和数据库106的一个框,并且示出了客户端设备120,122,124和126的四个框。服务器框102,104和106可以表示多个系统、服务器设备和网络数据库,并且可以以与所示不同的配置提供框。例如,服务器系统102可以表示可以经由网络130与其他服务器系统通信的多个服务器系统。在一些示例中,数据库106和/或其他存储设备可以在与服务器设备104分离的服务器系统框中提供,并且可以经由网络130与服务器设备104和其他服务器系统通信。此外,可以存在任何数量的客户端设备。每个客户端设备可以是任何类型的电子设备,例如台式计算机、膝上型计算机、便携式或移动设备、蜂窝电话、智能电话、平板计算机、电视机、电视机顶盒或娱乐设备、可穿戴设备(例如,显示眼镜、手表、耳机、臂环、珠宝等)、个人数字助理(PDA)、媒体播放器、游戏设备等。一些客户端设备也可以具有类似于数据库106或其它储存器的本地数据库。在其他实现中,网络环境100可以不具有所示的所有组件和/或作为这里所述那些的替代或除此之外可具有包括其他元件类型的其他元件。
在各种实现中,终端用户U1,U2,U3和U4可以使用相应的客户端设备120,122,124和126与服务器系统102通信和/或彼此通信。在一些示例中,用户U1,U2,U3和U4可以经由在相应的客户端设备和/或服务器系统102上运行的应用和/或经由在服务器系统102上实现的网络服务(例如社交网络服务或其他类型的网络服务)彼此交互。例如,相应的客户端设备120,122,124和126可以向和从一个或多个服务器系统(例如,系统102)传送数据。在一些实现中,服务器系统102可以向客户端设备提供适当的数据,使得每个客户端设备可以接收上传到服务器系统102和/或网络服务的传送内容或共享内容。在一些实现中,“用户”可以包括一个或多个程序或虚拟实体,以及与系统或网络对接的人。
用户界面可以使得能够在客户端设备120,122,124和126(或者在服务器系统102上)上显示图像、视频、数据和其他内容以及通信、隐私设置、通知和其他数据。可以使用客户端设备上的软件、服务器设备上的软件和/或在服务器设备104上执行的客户端软件和服务器软件(例如应用软件或与服务器系统102通信的客户端软件)的组合来显示这样的接口。用户界面可以由客户端设备或服务器设备的显示设备(例如,显示屏幕、投影仪等)显示。在一些实现中,在服务器系统上运行的应用程序可以与客户端设备通信,以接收在客户端设备处的用户输入并且在客户端设备处输出诸如视觉数据、音频数据等的数据。
在一些实现中,服务器系统102和/或一个或多个客户端设备120-126可以提供图像编辑程序和/或图像显示程序。图像编辑程序可以允许系统(例如,客户端设备或服务器系统)提供用于编辑和显示图像的选项,其一些示例在本文中描述。图像编辑程序可以提供在与服务器系统或客户端设备相关联的显示设备上显示的关联用户界面。用户界面可以向用户提供用于为一个或多个图像选择图像和编辑选项、编辑模式、显示模式等的各种选项。
本文描述的特征的其他实现可以使用任何类型的系统和/或服务。例如,作为社交网络服务的替代或除此以外可以使用照片收集服务或其他联网服务(例如,连接到互联网)。任何类型的电子设备可以利用本文描述的特征。一些实现可以提供在与计算机网络断开或间歇连接的客户端或服务器设备上描述的特征。在一些示例中,包括或连接到显示设备的客户端设备可以检查并显示存储在客户端设备本地的存储设备上的图像(例如,未经由通信网络连接),并且可以提供本文描述的对用户可视的特征和结果。
图2是示出用于确定图像中描绘的特征的掩模的方法200的一个示例的流程图。可以为图像中描绘的任何图像特征确定掩模。例如,方法200和本文中的示例可以指皮肤特征,其可以是图像中描绘皮肤的图像特征(例如,对象或区域),例如面部的面部皮肤、面部的一部分、面部和颈部区域的皮肤,描绘皮肤的身体部分或部分等。可以在其他实现中确定用于诸如动物的部分或部分、景观特征、对象、纪念碑等的其他图像特征的掩模。
在一些实现中,方法200可以例如在如图1所示的服务器系统102上实现。在其他实现中,方法200中的一些或全部可以在如图1所示的一个或多个客户端设备120,122,124或126、一个或多个服务器设备、和/或在服务器设备和客户端设备两者上实现。在所描述的示例中,实现系统包括一个或多个数字处理器或处理电路(“处理器”)以及一个或多个存储设备(例如,数据库106或其他存储器)。在一些实现中,一个或多个服务器和/或客户端的不同组件可以执行方法200的不同框或其他部分。
一些实现可以基于用户输入启动方法200。例如,用户可以从显示的用户界面中选择方法200的启动。在一些实现中,方法200或其部分可以在用户指导下经由用户输入执行。
在一些实现中,方法200或该方法的部分可以由系统自动启动。例如,可以周期性地执行或基于一个或多个特定事件或条件(例如,由用户打开的应用,接收一个或多个新上传到系统或由系统可访问的图像)、自从上次执行方法200以来已经期满的预定时间段和/或可以在系统的设置中指定的一个或多个其它条件执行该方法(或其部分)。在一些实现中,这样的条件可以由用户在用户的存储的自限定偏好中指定(可被用户许可访问)。在一个示例中,服务器系统可以接收从一个或多个用户上传的一个或多个输入图像,并且可以对新上传的图像执行方法200。在另一示例中,系统(服务器或客户端)可以为可访问图像的大量集合(例如,用户的图像集合(如果接收到用户许可))执行方法200。在另一示例中,照相机、蜂窝电话、平板计算机、可穿戴设备或其他客户端设备可以捕获图像并且可以执行方法200。附加或替代地,客户端设备可以将一个或多个捕获的图像通过网络发送到服务器,并且该服务器可以使用方法200处理图像。
在框201中,检查在方法200的实现中是否已经获得了使用用户数据的用户许可。例如,用户数据可以包括用户偏好、关于用户的社交网络和联系人的信息、用户特征(身份、姓名、年龄、性别、职业等)、社会和其他类型的行为和活动、内容、评级和用户创建或提交的意见、用户当前位置、历史用户数据等。在一些实现中,本文描述的方法的一个或多个框可以使用这样的用户数据。如果从其用户数据已经可用于方法200的相关用户获得用户许可,则在框202中,确定本文中的方法的框可以通过如对于那些框所描述的用户数据的可能的使用来实现,并且该方法继续到框204。如果尚未获得许可,则在框203中确定在不使用用户数据的情况下实现框,并且该方法继续到框204。在一些实现中,如果尚未获得用户许可,则不执行方法200的其余部分。
在方法200的框204中,获得用于处理的图像。该图像可以是例如由多个像素构成的数字图像,并且可以存储在系统的一个或多个存储设备上或者系统可访问的,例如连接的存储设备,例如本地存储设备,连接到或与系统可访问的网络通信的存储设备等。例如,图像可以是由相机拍摄的照片,从捕获的视频流或其他视频数据中提取的图像帧,或从不同的源导出的图像资。
在一些实现中,用户可以提供、选择或指定要获得以供处理的一个或多个图像。在一些实现中,可以通过该方法自动获得图像,例如,作为来自存储的多个图像的集合的图像,例如,来自用户的相册,由用户提交的存储的图像池等。来自用户的集合的图像的自动获得是由如框202所示的用户的许可,例如经由由框204访问的存储的用户偏好来执行。集合可以被本地存储并且可由执行方法200的系统访问,和/或可以被远程存储在服务器或客户端设备上,例如,作为在网络服务的用户的帐户中提供的一个或多个相册。在一些实现中,系统可以基于评估可访问图像的一个或多个特性来确定要选择的图像,例如图像的时间戳和其他元数据、图像的颜色分布、图像中识别的内容或描述内容的标签、例如用户偏好的用户数据等(具有用户许可而访问)。
例如,在一些实现中,系统可以自动(例如,在没有人为干预的情况下)选择特定图像进行处理。例如,这样的选择可以基于用户数据来确定(经用户许可),包括存储的用户偏好,用户对其他图像进行的先前修改的用户历史,指示用户偏好的社交数据(例如,用户所做的先前的评论、评级等),基于用户存储的日历或计划的近期或即将到来的事件,用户访问或要访问的位置(例如,由用户携带的设备上的GPS传感器检测到),用户的活动(例如,由用户访问的位置感测或推断),等。
在框205中,确定用于图像中的被检测的特征的空间函数,该被检测的特征是要为其确定掩模的期望的图像特征。例如,该特征可以是在图像中被检测的、意图用于掩模的多个特征之一。例如,如在下面对图3所述,可以基于诸如面部识别技术、身体识别技术、对象识别技术等的一种或多种图像识别技术来检测特征。空间函数可以是指示相对于从被检测的特征估计的特征边界的图像的像素。例如,空间函数可以近似地指示图像的哪些像素是描绘期望特征的特征像素。例如,在一些实现中,空间函数可以提供指示特征像素和非特征像素的像素地图,和/或可以指示其中是特征像素的形状。
在一些实现中,空间函数可以指示已经基于被检测的特征来估计的特征边界。在一些示例中,特征边界可以被估计为椭圆、圆形、多边形、不规则形状等。例如,如果被检测的特征是面部的面部皮肤,则面部可以包括在被检测的面部区域内的面部标志位置,如眼睛、眉、鼻和口。在一些实现中可以检测和使用其他标志(例如头发等)。这些面部标志位置可用于估计特征边界。在一些实现中,可以基于机器学习技术(例如使用多个训练图像训练)来确定特征边界。下面描述确定皮肤特征边界的一些示例。其他类型的特征可以包括其他类型的标志,例如可用于检测图像中的身体部分的该身体部分的点(例如,检测手用的手指端点,检测臂或腿用的关节的位置或中心,检测躯干用的肚脐等)。
在一些实现中,确定空间函数可以包括确定被检测的特征的先验概率掩模。先验概率掩模可以基于特征边界,并且可以对于图像中的每个像素(或图像的一个或多个部分中的每个像素)指示像素是特征像素的关联概率。下面参照图3描述确定用于被检测的皮肤特征的空间函数的一些示例。
在框206中,为图像中确定的多个区域中的每一个确定颜色似然分布。颜色似然分布可以是在图像中已被分割的特定区域中出现的颜色的概率分布。在一些实现中,可以基于被检测的特征来分割区域,其中一个或多个区域是特征区域,并且一个或多个区域是非特征区域。例如,如果被检测的特征(和期望的掩模特征)是面部的面部皮肤,则一个或多个被分割的区域可以是假定描绘图像中至少一部分面部皮肤的特征区域。在图像中被分割的其他区域可以包括一个或多个非特征区域,例如面部皮肤外部的图像的背景区域或其他皮肤特征。在一些实现中,图像的附加区域可以被分割。例如,面部的眼睛、眉和口可以被分割为不描绘面部皮肤特征的不同的非特征区域。
可以为每个这样的被分割的区域确定颜色似然分布。例如,在一些实现中,可以从关联区域中的颜色值分布(例如关联区域中的颜色值的直方图)导出每个颜色似然分布。在一些实现中,每个颜色似然分布可以是与图像(或图像的一个或多个部分)相对应的似然掩模。下面参照图4描述确定一个或多个颜色似然分布的一些示例。
在框208中,基于空间函数和一个或多个颜色似然分布来针对特征确定置信度掩模。例如,置信度掩模可以是像素地图,其指示在图像的多个像素中的每一个像素处,像素是特征像素的关联置信度(例如,置信度值或水平)。在一些示例中,置信度掩模可以是或可以基于指示像素是特征像素的多个像素中的每一个像素处的关联概率的概率掩模。例如,置信度掩模可以基于后验概率特征掩模(也称为后验特征掩模)和后验概率非特征掩模(也称为后验非特征掩模)。例如,后验特征掩模可以是后验面部皮肤掩模,并且后验非特征掩模可以是后验非面部皮肤掩模。例如,后验特征掩模可以使用所确定的特征区域的颜色似然分布来发现图像内的特征着色像素,并且使用用于先验概率掩模的空间函数,以将特征着色像素限制到图像的特定特征空间区域。例如,在一些实现中,置信度掩模可以指示图像中描绘的面部的皮肤像素。一些实现可以提供置信度掩模,其指示描绘人身体上的暴露皮肤的非面部部分的皮肤特征像素,例如人的颈部、裸露的臂或腿等。下面参照图5描述确定置信度掩模(例如推断的置信度掩模)的一些示例。
在框210中,使用框208的置信度掩模(例如,基于该置信度掩模)将一个或多个修改应用于图像中的特征的像素。例如,可以使用一个或多个编辑操作(例如,应用一个或多个过滤器等)将修改应用于特征的颜色值。在一些实现中,置信度掩模的每个像素值(例如,置信度值)可以指示输入图像的对应像素的修改的程度或强度。在一些实现中,置信度掩模可以用作二进制掩模,例如,其中掩模的每个像素指示输入图像的关联像素是否描绘被检测的皮肤特征。该二进制指示可以允许系统确定应该修改图像的哪个(如果有的话)像素。例如,掩模中高于阈值的置信度值(或概率)可以被认为表示关联像素是特征像素,并且低于阈值置信度的置信度可以被认为指示关联像素是非特征像素。例如,面部皮肤的置信度掩模可以指示描绘诸如眼睛、眉和口的面部标志的像素的非特征像素。这允许在不修改其他面部非皮肤区域的情况下对面部皮肤像素进行调节。
在一些示例中,可以将任何各种修改应用于图像,包括模糊、对比度调节(例如,应用局部对比度)、亮度调节、饱和度调节、亮度调节等。在一些实现或情况下,修改可以使用置信度掩模应用于图像的特征像素。一些实现或情况可以使用置信度掩模将一个或多个修改应用于图像的非特征像素。例如,如果该特征是面部皮肤,则修改可以应用于被检测的面部之外的背景像素和/或面部的眼睛、头发、口等,和/或由置信度掩模掩模的特定皮肤特征之外的皮肤区域。一些实现可以将一个或多个修改不同地(例如,以不同的量级(magnitude)或其他参数)应用于特征像素和非特征像素。
在一些实现中,可以在框202中获得的图像中检测多个特征。如果检测到多个这样的特征,则在一些实现中可以对于每个被检测的特征执行框205至208。例如,可以在图像中检测多个面部,并且可以对于每个这样的面部的面部皮肤或被检测的面部的子集来确定置信度掩模。在一些实现中,可以使用不同的置信度掩模将相同或不同的修改应用于图像。例如,可以使用为该面部确定的一个置信度掩模将一种类型或量级的模糊修改应用于图像中的一个面部的面部皮肤,并且可以使用为该面部皮肤确定的不同的置信度掩模将不同类型或量级的模糊修改应用于在图像中的不同面部的面部皮肤。一些实现可以包括框208的单个置信度掩模中的多个特征(例如,对于多个面部)。
在各种实现中,作为框210的结果的修改图像可以存储在一个或多个可访问的存储设备上。可以使修改后的图像由系统另外输出,例如显示在显示屏上,经由通信网络等传送到另一系统。
图3是示出用于确定图像(例如对于图2的框205)中的被检测的特征的空间函数的示例方法300的流程图。其他方法可以替代地用于框205。
在框302中,确定在图像中的特征。在图3的一些示例中,该特征是图像中的描绘皮肤的皮肤特征(例如,对象或区域),例如面部的面部皮肤,面部的一部分,描绘皮肤的身体部分或部分。其他类型的特征可以在其他实现中确定并处理。例如,可以在图像中检测例如识别或辨识皮肤特征,并且该皮肤特征可以是图像中被检测的多个皮肤特征之一。例如,可以基于一个或多个图像识别技术来检测皮肤特征。在各种实现中,方法300可以执行图像识别技术和/或将获得的图像发送到在系统或连接的系统上实现的识别器,并且从识别器接收识别结果。
在一些示例中,皮肤特征是面部的面部皮肤,并且可以使用一种或多种面部识别技术来检测面部皮肤的面部。例如,一些面部识别技术可以检查图像以发现诸如眼睛、眉、鼻和口的面部标志来检测图像中的面部。在各种实现中,面部识别技术可以检查彼此和/或与其他可识别特征(例如其他头部特征、身体特征等)具有特定位置、轮廓和/或空间关系的面部标志的图像,检查并比较图像部分与一般参照图案图像,和/或执行其他技术以检测图像中的面部。面部识别技术可以检测图像中的面部,而不会确定所描绘的人的身份。例如,可以检测图像中的一般面部特征以确定一般面部的位置,而不用确定与面部相关联的任何人身份或特性或用户数据。例如,如果检测到面部的用户没有获得许可,则可以使用这种一般的面部检测。
一些面部识别器可以提供面部位置数据,例如面部区域的坐标,例如围绕被检测的面部部分的面部多边形(或其他形状),其中多边形具有基于所识别的面部标志近似接近被检测的面部的分割。在一些实现中,可以确定面部位置数据之外的面部信息。例如,面部识别技术可以提供在面部中发现的面部标志的点或其他位置用于面部识别处理。例如,可以提供在一个或多个面部标志上的点的空间坐标,例如每个眼睛的中点、指示眼睛的空间范围的点(例如,眼睛的左和右端点、眼睛的居中的顶点和底点等)、指示口的空间范围的点、鼻子的中点、下颌的中心点等。此外,可以提供指示面部相对于图像平面的取向的被识别的角度(例如面部是否被描述为直接面向图像的平面),或者面部面对指定侧面或方向的角度的大小的信息。例如,可以基于面部标志相对于彼此和其他面部特征的位置来估计这样的角度。
如果从确定了其身份的用户获得了用户许可,某些实现可以确定与被检测的面部相关联的人(例如,用户)的身份和/或其他特征。在一些实现中,参考与所识别的用户相关联的用户许可数据,以确定方法300是否具有在被检测的面部上执行该方法的处理的许可。根据用户管理这些信息的控制和偏好,限制包括用户特征(如年龄、性别、身份等)的个人信息访问。对于没有收到这种许可的面孔(或人的其他描绘的特征),没有确定身份和其他用户特征。在一些实现中,如果获得用户许可,可以提供关于面部被识别的关联人的特征信息,例如该人估计的年龄、性别和其他特征。在一些实现中,这样的信息可以用于确定是否处理图像。在一些示例中,面部识别技术可以识别面部并基于可许可获得的用户数据和/或来自社交网络服务或其他网络服务、数据服务或存储器的数据来识别被描绘的人的身份,并且系统可能能够从该身份确定年龄、性别和/或其他用户特征。在一些其他示例中,可以在不确定描绘的人的身份的情况下来确定这些特征信息。
在一些实现中,在框302中确定的皮肤特征可以是面部的面部皮肤以外的皮肤特征。例如,可以检测人体的一个或多个皮肤特征,例如包括臂、腿、躯干、手、脚等的暴露皮肤部分的身体附属部分。一些技术可以基于各种身体附件的已知图案和/或取向(例如基于骨架模型或其他模型)检查完整人体,或人体的一部分的图像。例如,一些技术可以检测完整的人体或其部分,并且可以例如基于这些部分的已知形状的检测和/或基于其他形状的检测(例如,面部或手部皮肤)并检查在被检测的身体的其余部分的类似颜色,将被检测的身体的部分检测为暴露的皮肤。在一些实现中,识别技术可以例如,基于检测如由形状、纹理、颜色等所指示的被检测人员穿戴的衣服,排除被检测的身体的非皮肤区域。如果已经从相关用户获得了用户许可,一些技术可以确定用户身份或被检测的特征的其他身份。
在框304中,为被检测的特征确定特征边界。例如,特征边界可以是皮肤特征边界,例如作为面部皮肤的皮肤特征的面部边界。可以使用多种不同技术中的任一种来确定边界。在一些示例中,可以基于为皮肤特征确定的一个或多个特征标志来确定皮肤特征边界。例如,椭圆、多边形或其他标准化形状可以居中或以其他方式定位,以根据其到面部标志(例如眼睛、鼻和口)的距离来估计面部的边界。
在一些实现中,可以使用一个或多个机器学习技术来估计特征边界。例如,对于面部皮肤特征边界,可以改变描绘面部的多个训练图像以包括在图像中的面部上手动添加(例如,由用户)的椭圆(或其他形状)以近似限定面部区域。可以例如基于椭圆与面部标志位置之间的距离、面部和椭圆定向等,通过训练图像馈送机器学习技术,以学习如何将椭圆放置在新被检测的面部上,以将整个面部近似约束在椭圆中。一些实现可以例如,基于平均的相对距离,训练图像等,确定皮肤边界形状,以便放置在其他类型的被检测的皮肤特征上。
在框306中,基于在框304中确定的特征边界,为被检测的特征确定先验概率特征掩模。先验概率特征掩模可以是指示在面罩的多个像素中的每个像素处,该图像的关联像素是特征像素的估计概率的像素地图。例如,在一些实现中,先验概率特征掩模可以为图像的所有对应像素提供概率,或者为图像中的覆盖小于图像的整个区域的一个或多个部分。
可以基于特征边界来估计先验概率特征掩模。例如,先验概率特征掩模可以是一种先验概率皮肤掩模,其可以指示位于皮肤特征边界内的一个或多个区域中的像素的皮肤像素的高概率,以及在皮肤特征边界外的一个或多个区域中的像素的皮肤像素的低概率。在一些示例中,如果皮肤特征边界是估计为围绕作为面部皮肤的皮肤特征的椭圆,则先验概率特征掩模可以具有在对应椭圆内的高概率像素和在椭圆之外的低概率像素。在一些示例中,高概率掩模像素可以指示关联像素为皮肤特征像素的100%概率,并且低概率掩模像素可以指示关联像素为皮肤特征像素的0%概率。
在框308中,先验概率特征掩模被模糊。例如,用于确定先验概率特征掩模的特征边界的边缘可以被模糊,从而在先验概率特征掩模中提供从边界的一侧到边界的另一侧的概率的逐渐转变。在一些示例中,如果先验概率特征掩模示出为具有高概率像素的椭圆,则椭圆的边缘或边界区域可以被模糊,使得掩模像素的概率从椭圆内的高概率像素逐渐变为椭圆之外的低概率像素,例如以逐渐降低的概率。在一些实现中,可以在先验概率特征掩模上使用其他类型的模糊或渐变。在基于边界创建先验概率特征掩模之前,一些实现可以模糊特征边界,从而在先验概率特征掩模中包括模糊边缘到边界区域。
在框310中,可以在一些实现中确定一个或多个先验概率非特征掩模。例如,用于图像的估计背景区域的先验概率非特征掩模可以是在框306和308中确定的先验概率特征掩模的倒数。先验概率非特征掩模包括指示对应的图像像素不是皮肤特征像素(例如,如果皮肤特征是面部皮肤,则不是面部皮肤像素)的估计概率的掩模像素。
在一些实现中,也可以为图像中被检测的一个或多个其他非特征区域中的每一个确定先验概率非特征掩模。例如,如果该特征是面部皮肤特征,则这样的非特征区域可以包括特定的面部标志(例如,眼睛、眉和口)。在一个示例中,用于眼睛区域的先验概率非特征掩模可以具有用于估计眼睛区域的较浅的阴影像素,以指示那些区域是非皮肤区域的高概率,以及用于图像的所有其他区域的较深的阴影像素。类似地,口区域的先验概率非特征掩模可以具有用于估计的口区域的较浅的阴影像素和用于图像的其他区域的较深的阴影像素。类似于上面对于方框308所述,在先验非特征掩模中的面部标志区域可以被模糊。在一些实现中,可以将多个面部标志先验掩模彼此组合和/或与背景先验非特征掩模组合以提供组合先验概率非特征掩模。
图4是示出用于确定图像中确定的区域(例如,对于图2的框206)的颜色似然分布的示例方法400的流程图。其他方法可替代地用于框206。方法400(和/或本文所述的其他方法)的处理可以使用各种不同颜色空间中的任一种来执行,例如HSV(色调饱和度值)、HSL(色调饱和度亮度)、RGB(红-绿-蓝)、YCbCr等。
在框402中,基于特征边界(例如,在图3的框304中确定)和/或基于一个或多个特征标志来为特征确定区域分割。区域分割也可以或者替代地基于被检测的特征的其他特性。区域分割可以在图像中提供可以被指定为特征区域或非特征区域的多个像素区域,例如具有特征或非特征的天然标签。在一些实现中,一个或多个区域可以被指定为皮肤特征区域,例如指示皮肤颜色并且包括在图像的指定皮肤特征中的像素。例如,如下所述,可以确定被假设为包含用于确定特征掩模的特征像素的特征区域。在一些示例中,为了提供分割的特征区域主要包括实际特征颜色值的更大似然,可以基于特征边界和/或特征标志在图像的区域中限定特征区域。在一个示例中,如果特征是面部的面部皮肤并且标志是面部标志,则可以将面部皮肤区域限定为图像中的面部边界内部以及面部的眼睛和下颌标志点之间的区域。例如,皮肤区域可以被限定为具有大致沿着口标志“下方”的下颌区域的边界。在一些实现中,可以例如基于已知相对于特征(例如,皮肤)的所描绘的部分定位的特征检测和/或标志来分割附加特征区域。在一些实现中,其他类型的皮肤特征或其部分可以与图像的其他部分分割成一个或多个区域。例如,身体检测技术可以确定人的手在图像中的位置,并且这种被检测的手的一部分可以被分割为皮肤区域。
也可以被分割可以被假设为具有非特征像素的一个或多个非特征区域。例如,一个或多个非特征区域可以被限定为特征边界之外的背景区域。在面部皮肤特征的一个示例中,非特征区域可以被限定为在面部的椭圆边界之外。在一些实现中,可以分割附加的非特征区域。在面部的面部皮肤特征的一个示例中,可以限定覆盖描绘面部标志的图像的面部标志区域。例如,由眼睛标志点指示的近似区域可以被分割为每只眼睛的非特征区域。类似地,其他非特征区域可以被分割成大体覆盖被检测的标志(包括面部的眉和口)。一些实现可以检测并分割其他类型的非特征区域,包括头发(例如头发、胡子、胡须等)、脸上的眼镜等。
一些实现可以使用其他前景和背景分割技术来确定图像中的背景非特征区域和/或确定可用于确定特征区域分割的前景像素(例如,面部和身体像素)。例如,一些技术可以使用与图像相关联的深度信息,其中深度信息指示来自捕获图像的深度启用的(depth-enabled)相机的图像中的每个像素的距离。这样的信息可以用于确定背景像素,例如离相机更远距离的像素。其他技术也可用于确定前景和背景像素。例如,如果图像是多个图像帧的视频序列中的帧,则可以检查多个帧以估计图像中的前景区域(例如,可能在帧之间移动)和背景区域(例如,可能保持静止)。
在框404中,在框402中分割的每个区域(或在分割区域的子集中的每一个)中确定像素的颜色值分布。例如,在一些实现中,一个或多个颜色值分布可以被实现为直方图。在一些实现中,特定区域的颜色值分布可以包括在该区域中具有在该区域中发现的每个特定颜色值的像素数的计数,或者具有每个限定的颜色值范围内的颜色值。例如,在一些实现中,每个计数可以是具有与表示特定颜色范围的直方图(其中限定了多个条块)相关联的条块中的颜色值的像素数。在一个示例中,直方图可以具有用于每个10个颜色值的条块,使得颜色值0-9在条块1中,颜色值10-19在条块2中,等等,直到最大颜色值,例如255。对于条块1确定具有0至9范围内的颜色值的像素数的计数,对于条块2确定具有在10-19范围内的颜色值的像素数的计数。可以为使用的颜色空间的每个颜色通道(例如,如果使用RGB颜色空间,则为红色通道、绿色通道和蓝色通道)的相关区域确定这样的直方图,从而提供三维(3D)直方图。也可以替选地使用其他颜色空间。各种实现可以提供不同的条块大小或者可以以其他方式确定分布。
因此,分割的特征区域的颜色值分布可以指示具有每个颜色值范围的像素数。该分布可以指示该区域中最常见的颜色值的范围。类似地,可以为框402中分割的一个或多个非特征区域中的每一个确定颜色值分布。
在框406中,一个或多个颜色值分布被模糊。例如,每个区域的每个分布可以被独立模糊。在一些实现中,每个颜色值分布是直方图,并且模糊包括模糊直方图。例如,可以在直方图函数(例如,在每个可能的颜色值或条块处的相关区域中的计数数)和内核函数之间执行卷积以获得经模糊的直方图。在一些示例中,内核函数可以是可以导致直方图函数的扩展和/或平坦化的高斯函数。这可以允许颜色值计数扩展到在分布中的较大范围的颜色值,例如,与在模糊之前的分布相比,允许每个区域由颜色分布中的更大范围的颜色值表示。例如,与未模糊的分布相比,模糊可以提供对于可能不存在于关联区域中但是与存在于关联区域中的颜色值接近的颜色值的概率或置信度的更好指示。另外,经模糊的直方图(例如,3D直方图)是颜色分布的有效表示。
参照图5A和5B,示出了模糊颜色值直方图的示例。在图5A中,一维直方图500指示在特定颜色通道中图像的特定分割区域(例如,面部皮肤区域)在整个范围的颜色值中的不同范围中的像素数。颜色值的每个范围都被分组为条块,例如条块1,条块2等。在此示例中,对于条块1已经发现了大的像素计数,对于条块5已经发现较小的像素计数,对于条块7已经发现了不同的像素计数,并且没有发现其他颜色值条块的像素。在该示例中,条块2与条块1相邻,因此比不相邻的条块3-8更接近条块1的值。在一个示例中,具有在条块2中但与条块1的值接近的颜色值的输入图像的像素可以被指派为零的概率,即使其具有或接近特征颜色(如肤色)的颜色值。
在图5B中,经模糊的直方图520是模糊图5A的直方图500的示例简化结果(例如使用一个或多个高斯核函数)。在一些实现中,相同的高斯函数可以用于所有的直方图条块。一些实现可以使用不同的功能,例如,对于直方图中的每个条块或多个条块的每一个的不同的高斯函数。
直方图520已被模糊以使得条块2,3和其它以前的零计数条块具有更高的像素计数,并且例如,条块1具有较低的计数。这种模糊可以允许例如条块2中具有接近条块1的颜色值的颜色值的肤色像素被指定对于与直方图的区域相关联的像素类型(例如,皮肤像素)的较高概率或置信度(例如,较高计数值)。相比之下,未模糊的直方图可造成对于具有条块2中的颜色值的像素,将作为皮肤像素的概率确定为概率为零。类似地,条块3,4,6和8在模糊直方图520中具有非零计数值,并且条块5和7具有稍微降低的计数值。因此,计数值已经扩展到其他颜色值范围,以为该范围内的任何特定颜色值提供更平均的概率。
返回参照图4,在各种实现中,可以对框408中的颜色值分布执行一种或多种各种类型的模糊操作。在一些示例中,模糊操作可以提供分别沿着直方图的每种颜色通道的独立的模糊。例如,模糊操作可以使用具有身份相关矩阵的3D高斯内核。在使用3D直方图的一些示例中,该模糊操作可以包括对于一个颜色通道在第一维度的模糊操作,对于第二颜色通道在与第一维度正交的第二维度的模糊操作,以及对于第三颜色通道在与第一和第二维度正交的第三维度的模糊操作。
在不同类型的模糊操作的另一示例中,模糊操作可以是沿着不同颜色通道的颜色值近似相等的轴的相关模糊。例如,模糊可以包括沿着红色通道值、绿色通道值和蓝色通道值近似相等的轴的分布的模糊值。在一些示例中,在RGB颜色空间中的3D直方图中,可以沿着R=G=B轴执行相关模糊。这可以允许将计数扩展到直方图的其他条块中,该其他条块代表具有光照变化的颜色值(例如较深或较浅的颜色值)但表示相同的所描绘的特征。例如,如果所表示的特征在图像中变得更亮,例如,基于图像的区域中增加的光照,所有颜色通道通常一起移动大致相同的量。
在一些实现中,可以对颜色值分布执行多种类型的模糊操作。例如,可以沿着每个颜色通道在直方图上执行独立的模糊,然后可以对经模糊的直方图执行沿着如上所述的轴的相关模糊操作。在另一示例中,可以对直方图执行相关的模糊操作,随后沿着每个颜色通道执行独立的模糊。
在框408中,每个经模糊的颜色值分布中的条块值可以在一些实现中被内插以提供比对于每个条块具有恒定值的直方图更连续的概率函数。例如,内插值可以在相邻的条块值之间估计,例如颜色值分布中相邻条块的颜色值范围的中点之间。在一些示例中,该方法可以线性地(或在3D中三重线性地)内插到该条块的中点之间。图5C示出了概率函数530的一个示例,其是图5B的直方图的中间点之间的线性内插,以提供用于各种颜色值的更连续的范围概率值。
在框410中,颜色值分布可以被归一化。例如,可以对颜色值的计数进行归一化,使得分布中的所有计数加和成特定总值,例如值1。这可以允许颜色值的归一化计数基于图像的相关联的分割区域中的颜色值分布,指示出现在该区域中的那些颜色值的概率或置信度。在一些实现中,可以在框406的模糊之前执行归一化。
在框412中,经模糊的颜色值分布被提供为颜色似然分布。例如,框410的标准化可以使直方图中的计数值求和为归一化总计(例如1)。如果相应像素具有落在与该计数值相关联的条块中的颜色值,这可以允许每个归一化计数值被用作指示图像的相应像素是由该分布指示的像素的类型(例如,特征像素或非特征像素)的似然率的概率。
在一些实现中,对于图像的不同分割区域的类似类型的多个分布可以例如在框406,408和/或410的归一化、内插和/或模糊之前或之后被组合。在一个示例中,背景区域的颜色值分布是对于非特征区域,并且面部皮肤特征的眼睛区域的颜色值分布也用于非特征区域。可以将背景区域的颜色值分布与眼睛区域的颜色值分布组合。例如,眼睛直方图的颜色值可以被添加到背景区域的直方图中,并且组合的直方图可以在框406,408和410中被归一化和模糊。在一些实现中,可以以不同的顺序提供处理,例如可以在组合的直方图中组合来自不同区域的颜色值之后执行组合直方图的模糊。类似地,被检测的面部的眉区域和口区域的颜色值分布是用于非特征区域并且这些分布可以与背景区域和/或眼睛区域的分布组合,以提供对于所有这些分割的非特征区域的组合的颜色值分布。在一些实现中,如果在图像中分割多个特征区域,则可以像对于非特征区域所述类似地组合多个特征区域的颜色值分布,以提供与多个特征区域相关联的颜色似然分布。
在一些实现中,可以在框412中将一个或多个颜色似然分布中的每一个或其组合确定为指示基于像素的图像上的似然分布的似然掩模。例如,似然掩模的每个掩模像素可以对应于图像的像素,其中似然掩模的掩模像素可以指示该像素是与掩模相关联的类型的概率。例如,如果掩模是从特征颜色值分布(例如面部肤色值)导出的特征似然掩模,则掩模像素可以指示对应图像像素是特征像素(例如,面部皮肤像素)的概率。类似地,在掩模是从非特征颜色值分布导出的非特征似然掩模时,每个掩模像素可以指示对应图像像素是非特征像素的概率。在一些实现中,可以在框412中确定多种类型的似然掩模,例如特征掩模和非特征掩模。在另一示例中,似然掩模可以包括面部皮肤掩模、背景非特征掩模、眼睛非特征掩模、眉非特征掩模和口非特征掩模(和/或用于图像的其他分割区域的其他似然掩模)。
可以基于相关联的颜色值分布来确定似然掩模。例如,对于似然掩模的每个掩模像素位置,可以检查图像的对应图像像素的颜色值。该颜色值可以在掩模的相关联的颜色值分布中的适当颜色值条块中查找,以获得作为条块的值的结果的概率值。在如框408所描述的使用颜色值的内插分布的一些实现中,可以在内插分布中查找颜色值以发现线性内插概率值。
例如,如果似然掩模是面部皮肤似然掩模,则在面部皮肤区域的颜色值分布中查找颜色值,或者如果似然掩模是非特征似然掩模,则在非特征区域(例如,背景区域和/或非皮肤面部标志区域)的适当分布值中查找颜色值。在颜色值分布中的查找基于该颜色值条块的颜色值的计数(或者基于在条块之间内插的值)并且基于包括分布的归一化和/或模糊的任何处理,获得该颜色值的概率值。获得的概率值可以在似然掩模中提供,例如,在下面的示例中可视化为黑色和白色之间的阴影。可以类似地确定似然掩模的每个掩模像素。例如,在一些实现中,可以部分地或完全地并行地确定掩模像素,例如,在确定一个或多个其他掩模像素的同时确定一个掩模像素以允许快速处理。一些实现可以部分或完全地依次确定掩模像素。
在一些实现中,关于如何在框402中分割区域可能存在较少的信息,例如,没有来自图像的被检测的特征,没有用于特征的空间函数或边界等。在一些这样的实现中,区域可以基于一般图像特性(例如边缘、纹理、相似颜色或图像中发现的其他特征)进行分割,并且可以基于这些区域来估计颜色值分布。在一些这样的实现中,该方法可以在区域的分割和区域的颜色值分布的估计之间交替。例如,可以在图像中确定初始区域,例如,对初始区域的分割进行随机猜测。可以为分割中的每个区域估计颜色分布。可以基于估计的颜色分布来分割图像。然后可以重复对图像的颜色分布和后续分割的估计,直到汇聚、直到特定时间点、或直到某种其他条件。
图6是示出了基于空间函数和一个或多个颜色似然分布来确定特征(例如,对于图2的框208)的置信度掩模的示例方法600的流程图。其他方法可以替代地用于框208。
在框602中,确定后验概率特征掩模。可以基于框306的先验概率特征掩模和在框410中确定的图像的特征区域的颜色似然分布来确定后验概率特征掩模。例如,先验概率特征掩模可以乘以特征区域的颜色似然分布,以获得后验概率特征掩模。后验概率特征掩模指示其每个像素处的图像的对应像素被包括在图像中被检测的特征(例如皮肤特征,如面部皮肤)的表示中的概率。后验概率特征掩模可以包括与图像的所有像素相对应的掩模像素,或者与图像的像素的一部分相对应的掩模像素,例如,对于小于图像的整个区域的图像的一个或多个区域。
在框604中,确定后验概率非特征掩模。可以基于框310的先验概率非特征掩模和在框410中确定的图像的非特征区域的至少一个颜色似然分布来确定后验概率非特征掩模。例如,可以将特定非皮肤区域的先验概率非特征掩模乘以该非皮肤区域的对应颜色似然分布,以获得该区域的后验概率非特征掩模。
在一些示例实现中,后验概率非特征掩模可以基于背景非面部皮肤区域,例如图像中的面部皮肤特征区域的皮肤边界之外的区域。在一些实现中,后验概率非特征掩模可以基于多个非特征区域,例如背景区域和/或其他非面部皮肤区域,例如眼睛区域、眉区域和口区域。在一些实现中,多个区域可以各自具有确定的后验非特征掩模,并且用于各种非特征区域的多个后验非特征掩模可以被组合成组合的后验非特征掩模。
后验概率非特征掩模指示其每个像素处的图像的对应像素不包括在图像中被检测的特征的表示中的概率。后验概率非特征掩模可以包括与图像的所有像素相对应的掩模像素,或者与图像的像素的一部分相对应的掩模像素,例如,对于小于图像的整个区域的图像的一个或多个区域。
在框606中,确定后验似然比以提供被检测的特征的作为结果的推断的置信度掩模。例如,可以将后验似然比确定为框602的后验概率特征掩模与框604的后验概率非特征掩模的比率,以确定作为结果的推断的置信度掩模。例如,每个推断的置信度掩模像素值可以是后验概率特征掩模与后验概率非特征掩模的对应掩模像素值的该比率的结果。在一些实现中,可以在框606中确定后验似然比的对数。因此,推断的置信度掩模值可以基于后验似然比的结果来推断。
在一些示例中,该比率可以增加作为结果的面部皮肤掩模中的皮肤限定,因为在推断的置信度掩模中使用像素是面部皮肤的概率和像素不是面部皮肤的概率。例如,如果在特定掩模像素处该比率的结果大于1,则图像的对应像素是面部皮肤像素的概率大于该像素是非面部皮肤像素的概率。类似地,如果在掩模像素处该比率的结果小于1,则图像的相应像素是非面部皮肤像素的概率大于该像素是面部皮肤像素的概率。该比率的结果的量级可以表示对应像素是面部皮肤像素或非面部皮肤像素的置信度。例如,如果面部皮肤像素的概率相对较低,例如0.1,并且非面部皮肤像素的概率相对较高,例如0.9,则该比率低,并且可以向作为结果的掩模提供指示面部皮肤像素的低概率的像素值。如果面部皮肤像素的概率与非面部皮肤像素的概率近似相同,则该比率接近1,并且可以向作为结果的掩模提供指示面部皮肤像素的中间概率的像素值,指示像素的特征状态的不确定性的量。与后验特征和非特征掩模类似,作为结果的推断的置信度掩模可以包括图像的所有像素,或者图像的一部分像素(例如,比图像的整个区域小的图像的一个或多个区域)的掩模像素。
在框608中,可以将变换应用于推断的置信度掩模,以将推断的置信度掩模的值缩放到期望的值范围。例如,可以应用线性变换,例如,实验确定的参数可以乘以和/或添加到掩模像素值的偏移量。在一些实现中,作为结果的概率掩模中的值的范围可以被夹紧到期望的范围。例如,该方法可以对由框606产生的后验似然比的对数执行线性变换。在一个示例中,输出置信度掩模可以被提供为m*log(X/Y)+b,其中X和Y分别是特征和非特征后验概率掩模,m和b是学习常数。然后可以将置信度掩模值强制在特定的颜色值范围中。例如,在某些实现中或其他实现中的其他范围内,掩模值可以被强制为0到255之间。
在适当的情况下,方法200-400和/或600的各种框和操作可以以不同于所示的顺序和/或至少部分同时地执行。例如,一些实现可以以不同次数和/或基于与提供用于显示的图像无关的事件执行方法的框。在一些实现中,框可以以不同的顺序,和/或在方法的不同时间或阶段发生多次。
在一些实现中,方法200-400和/或600可以例如在服务器系统(例如,图1所示的服务器系统102)上实现。在一些实现中,替代或者除了这些框的服务器系统以外,一个或多个客户端设备(例如,图1所示的客户端设备)可以执行一个或多个框。例如,图像可以存储在客户端设备上,并且可以在服务器设备上确定和/或存储一个或多个分布和/或掩模,反之亦然。
图7-18是使用本文所述的一个或多个特征来确定图像中描绘的面部皮肤的预期特征的特征掩模的示例的示意图。这些图示出了表示具有像素的图像的面部的线条图,例如最初由相机拍摄的数字照片或类似类型的图像。在一些实现中,图7-18中示出的图像可以显示在用户界面中,用户界面又可以显示在诸如图1的客户端设备120,122,124和/或126的显示设备上,或者在一些实现中显示在服务器系统102上。在一些实现中,可以如本文所述处理图像,并且以其他类型的用户界面、应用程序的一个或多个屏幕或显示设备的其他视觉输出来显示。在其他实现中,可以在不显示图像或可以以其他方式显示图像的情况下如本文所述处理图像。
图7示出了可以如上所述获得的用于处理的示例图像700。在一些实现中,图像700可以是由相机捕获的图像。图像描绘了包括面部皮肤作为期望被掩模的皮肤特征的面部702。
图8示出了使用如上所述的一种或多种面部识别技术在图像700中检测到面部702(包括面部皮肤)之后的示例图像800。例如,可以使用一种或多种面部识别技术来检测图像中包括眼睛、眉、鼻、口等的面部标志。在该示例中,面部标志点802已经由面部识别技术确定,如图8中的X符号所示,其中点802位于面部标志的内部或边缘,该面部标志包括眼睛、眉、眼睛之间鼻的中心、鼻尖、鼻孔的左侧和右侧、鼻子底部的中心、脸颊两侧和下颌。其他面部标志点可以使用其他面部识别技术或实现来确定。
图9示出了已经为图像700确定了皮肤特征边界之后的示例图像900。在该示例中,皮肤特征边界是作为椭圆902的面部边界。椭圆902已经基于面部标志点802(基于面部的面部标志确定的)被定位在面部702。例如,在一些实现中,可以基于面部702的面部标志点802的间隔来确定椭圆902,例如,眼睛上方、嘴或下颌下方到左右眼睛的预定平均距离等,其中平均距离可以基于样本面部。在一些实现中,可以使用机器学习技术,例如,其中可以向机器学习技术提供具有手动绘制的椭圆的多种多样的多个训练图像。机器学习技术可以发现并跟踪标志和手动椭圆之间的距离,使得该技术基于面部的面部标志确定如何在新图像的面部上定位新的椭圆902。
图10示出了基于具有边界椭圆902的图像900确定的示例先验概率特征掩模1000。先验概率特征掩模1000在与图像900中的椭圆902相对应的位置处提供椭圆形区域1002。图9的椭圆902内的图像区域被认为是特征像素(面部皮肤像素),并且椭圆902之外的区域被认为是非特征像素(非面部皮肤像素)。掩模1000是图像700的特征像素的概率的初始近似估计,并且是基于由椭圆902建立的空间边界。
在该示例中,先验概率掩模1000在指示图像的对应像素是皮肤像素(在这种情况下为面部皮肤像素)的100%(估计)概率的掩模的像素处显示白色。类似地,先验概率掩模1000在指示图像的对应像素是面部皮肤像素的0%(估计)概率的掩模的像素处显示黑色。在该示例中,掩模的椭圆形区域1002已经被模糊,使得区域1002的边界是灰色的,指示从区域1002的内部到区域1002外部的掩模区域的概率的梯度或逐渐变化。
图11示出了示例图像1100,其中在图像700中分割的多个区域用于确定颜色值分布,例如,如图4的框402所描述的。该区域可以例如基于确定的皮肤特征(例如图9的椭圆902)和/或基于为皮肤特征确定的标志(例如图8的面部标志点802)的确定的空间边界。
在该示例中,面部区域1102已被分割为皮肤区域,以确定面部皮肤的颜色值分布。例如,面部区域1102可以基于面部标志点802和/或基于椭圆902来确定。在一个示例中,面部区域1102可以通过绘制在眼睛点和鼻子的中点之间分割,在眼睛的左右极端和椭圆902的侧面之间的分割,沿着椭圆902的侧面的分割,到下颌标志点的分割等来确定。在一些实现中,可以使用图像中描绘的其他皮肤特征(手、臂、脚、脚等)等来确定用于确定颜色值的皮肤分布的附加或替代皮肤区域,例如在椭圆902内的面部的不同部分。
也分割一个或多个非特征区域。例如,在一些实现中可以分割非特征背景区域1104。在该示例中,背景区域1104从面部边界椭圆902的边界向外延伸以包括在椭圆902之外的图像的一个或多个区域。例如,非特征背景区域1104可以延伸到预定的或任意的外部椭圆边界1106或形成不同的形状以限制为该区域的颜色值分布确定的颜色值的数量,或者在一些实现中,区域1104可以延伸到图像的边界。
在一些实现中,可以分割附加的或替代的非特征区域。在该示例中,可以在面部边界椭圆902内分割各种非特征区域。例如,可以基于限定面部的被检测的眼睛的多个标志点802来确定眼睛区域1110。眉区域1112可以基于界定面部眉的标志点802来确定。口区域1114可以基于限定面部口的标志点802来确定。其他非特征区域可以在一些实现中确定,例如头发、眼镜、面部毛发等的部分。
图12示出了基于上面对于图11描述的一个或多个分割区域中的颜色值分布确定的示例特征似然掩模1200。例如,特征似然掩模1200可以基于面部皮肤区域1102中的颜色值分布。类似于上文参照图4的示例所描述的,可以在面部皮肤区域1102中确定皮肤颜色值分布,并且该分布可以被模糊、内插和/或归一化。颜色似然分布可以根据经处理的颜色值分布来确定,其中特征似然掩模1200基于与图像的像素相对应的掩模像素提供颜色似然分布。
示例特征似然掩模1200包括对于图像的像素的较浅的颜色像素,其基于面部皮肤区域1102的颜色值分布,被发现具有作为面部皮肤的高概率。特征似然掩模1200还包括图像的像素的深色像素,其被发现具有作为面部皮肤的低概率。例如,面部周围的头发区域,面部之外的图像的背景区域,眼睛区域,眉毛区域和口区域是较深的阴影,以指示作为面部皮肤的较低的概率。虚线白线在图12的示例掩模1200中示出,仅用于参考,以指示相应图像的躯干和背景区域的位置。这些虚线不存在于实际似然掩模1200中。
特征似然掩模1200的一些其它区域也可以被指派为较深阴影的像素,例如在前额反射区域1202中。在该示例中,区域1202表示面部前额皮肤上的镜面高光,其(在图像700中)主要显示从皮肤反射的光的颜色而不是皮肤颜色(例如,不是从皮肤的漫射特性获得的颜色)。这些类型的高光可以在掩模1200中更深,因为它们的像素没有类似于面部皮肤区域1102中的较高概率颜色值的颜色值。
图13示出了基于图10的先验概率特征掩模1000确定的后验概率特征掩模1300和上面对于图12描述的颜色似然分布(例如,特征似然掩模1200)的示例。后验概率特征掩模1300指示图像的像素是面部皮肤像素的概率,例如,较高概率以在像素中的较浅阴影指示,并且较低概率以在像素中较深阴影指示。其他实现可以用其他阴影或颜色值来表示概率或置信度。
例如,可以从先验特征掩模1000和特征似然掩模1300的组合来确定后验概率特征掩模1300。在一些实现中,将先验特征掩模1000乘以特征似然掩模1300以获得后验概率特征掩模1300。结果是先验特征掩模1000的模糊椭圆提供空间极限,使得仅椭圆内的像素具有作为面部皮肤像素的零以上的概率,并且特征似然掩模1200指示椭圆内的面部皮肤像素。先验特征掩模1000的椭圆的模糊边缘提供面部皮肤像素的逐渐衰减,例如,显示为在面部周围的颈部和耳朵处的较浅的阴影到较深的阴影的渐变。
图14示出了基于具有边界椭圆902的图像900确定的示例先验概率非特征掩模1400。先验概率非特征掩模1400在与图像900中的椭圆902相对应的位置处提供椭圆形区域1402。图9的椭圆902内的区域被认为是面部皮肤像素,并且椭圆902之外的区域被认为是非特征像素,例如,不具有面部肤色值的像素。掩模1400可以是图像700的非特征像素的概率的初始近似估计。
在该示例中,先验概率非特征掩模1400在椭圆内的掩模的像素处显示深色,其指示图像的对应像素为面部皮肤像素的低(例如接近0%)概率。类似地,先验概率非特征掩模1400在椭圆之外的掩模的像素处显示较浅的阴影(例如,接近于白色),其指示图像的对应像素是非皮肤非面部像素的接近100%的概率。在该示例中,椭圆形区域1402已经被模糊,使得从区域1402的内部到区域1402外部的掩模区域提供概率的梯度或逐渐变化。
图15示出了基于上述对于图11描述的一个或多个分割区域中的颜色值分布确定的示例非特征似然掩模1500。例如,非特征似然掩模1500可以基于背景区域1104中的颜色值分布。与上述图12的特征似然掩模1200类似,可以在背景区域1104中确定非特征颜色值分布,并且该分布可以被模糊、内插、和/或归一化。颜色似然分布可以根据经处理的颜色值分布来确定,其中非特征似然掩模1500在与图像的像素相对应的像素基础上提供颜色似然分布。
非特征似然掩模1500包括用于图像的像素的较浅的颜色像素,其基于颜色值分布非特征背景区域1104,被发现具有作为非面部皮肤的高概率(例如,在椭圆902之外)。在该示例中,在背景区域1104中采样的像素具有在背景区域中的大多数颜色值,并且这些像素具有最浅的阴影(例如,接近于白色)。非特征似然掩模1500还包括用于图像的像素的中度阴影的颜色像素,其被发现具有作为非面部皮肤的较低概率。例如,面部皮肤区域,面部标志,面部周围的头发区域,颈部区域和图像下方的躯干区域是中度阴影的,以指示基于在背景区域1104中的颜色值分布作为非面部皮肤的较低概率。在一个示例中,恰好在头部和躯干之外的背景区域的像素的颜色值可以确定被假定为非特征背景像素的大部分颜色值,其中中度阴影区域具有与那些背景像素不同的像素颜色值,因此显示为作为非特征像素的较低概率。
在确定图像的其他非特征区域的一些实现中,例如在上述图11中描述的区域中的一些面部标志区域(例如,眼睛、眉和/或口),可以为那些非特征区域确定一个或多个非特征似然掩模。例如,在一些实现中,可以为图11的眼睛区域1110确定非特征似然掩模,其中图像的眼睛像素具有最浅的阴影(例如,接近于白色)并且掩模的大多数其他像素是较深的阴影。类似地,可以为图11的眉区域1112确定非特征似然掩模,其中图像的眉像素具有最浅的阴影(例如,接近白色),并且掩模的大多数其他像素是较深的阴影。可以为图11的口区域1114确定非特征似然掩模,其中图像的口像素具有最浅的阴影(例如,接近白色),并且掩模的大多数其他像素是较深的阴影。在一些实现中可以组合两个或更多个非特征似然掩模。例如,单个非特征似然掩模可以包括用于眼睛、眉和口像素的较浅的阴影区域。在一些实现中,单个非特征似然掩模可以包括用于这种面部标志区域的较浅的阴影区域以及图15所示的较浅阴影的背景区域。
图16示出了基于图14的先验概率非特征掩模1400所确定的后验概率非特征掩模1600以及对于上述图15的背景区域的颜色似然分布(例如,非特征似然掩模1500)的示例。后验概率非特征掩模1600指示图像的像素是非特征像素的概率,例如,不是面部皮肤像素,其中较高概率以像素中的较浅阴影指示,并且较低概率以像素的较深阴影指示。其他实现可以指示具有其他阴影或颜色值的概率。面部的一些面部特征以虚线示出用于参考,其中因为仅使用背景区域颜色值分布来确定用于确定掩模1600的非特征似然掩模1500,因此在该示例中面部特征与面部皮肤是相同阴影。
例如,可以从先验非特征掩模1400和非特征似然掩模1500的组合来确定后验概率非特征掩模1600。在一些实现中,将先验非特征掩模1400乘以非特征似然掩模1500以获得后验概率非特征掩模1600。先验非特征掩模1400的模糊椭圆提供空间极限,使得仅椭圆内的像素具有作为非面部皮肤像素的低概率,并且非特征似然掩模1500指示椭圆之外的非面部皮肤像素的概率。
先验前非特征掩模1400的椭圆的模糊边缘可以提供从低概率非特征像素到更高概率非特征像素的逐渐衰减,例如,显示为从椭圆的中心向颈部和面部周围的耳朵从较深阴影到较浅阴影的渐变。
图17示出了另一个后验概率非特征掩模1700的示例,其在一些实现中可以基于后验概率非特征掩模1600与面部标志区域的一个或多个颜色似然分布(例如,非特征似然掩模)的组合来确定。与图16的后验非特征掩模1600一样,后验概率非特征掩模1700指示图像的像素是非特征像素的概率,例如,不具有面部肤色值的像素,其中较高的概率是以像素的较浅阴影指示,较低的概率是以像素的较深阴影指示。其他实现可以指示其他阴影或颜色值的概率。
后验概率非特征掩模1700包括基于为眼睛区域1110、眉区域1112和口区域1114确定的非特征颜色值分布(和/或非特征似然掩模)确定包括非特征像素的面部标志的较浅阴影(例如,接近于白色)的掩模区域1702。在一些实现中,可以在与从图像的背景区域的颜色值分布确定的掩模1600的掩模区域相同的掩模图像中确定标志掩模区域1702。例如,可以基于在所有非特征颜色值分布(包括背景分布和面部标志分布,例如其中可以为每个颜色值选择分布的最高概率处)中查找对应图像像素的颜色值来确定掩模1700中的像素的值。一些实现可以将多个非特征颜色分布组合成用于确定组合的非特征似然掩模的组合的非特征颜色分布,其接下来用于确定后验概率非特征掩模。在一些实现中,可以在一个或多个分离的图像掩模中确定面部标志非特征概率区域1702,并与后验非特征掩模(例如,掩模1600)组合以提供后验非特征掩模1700。例如,通过在掩模1600的对应区域上叠加或写入面部标志掩模区域1702,可以将面部标志掩模区域1702添加到后验非特征掩模1600中。在一些实现中,可以从后验非特征掩模1700省略一个或多个面部标志掩模区域。
一些实现可以基于被检测的面部标志的位置(例如,图8的面部标志点802)的几何形状来增加指示面部标志区域1702的非特征(非皮肤)状态的值。例如,可以在面部标志点或基于面部标志点生成的标志形状的预定或阈值距离之内增加(例如,由较浅的阴影表示)的掩模像素的值。
图18示出了基于图13的后验概率特征掩模1300和图17的后验概率非特征掩模1700确定的示例作为结果的推断的置信度掩模1800。在一些实现中,如上对于图6的框606所述,可以确定后验似然比以提供作为结果的推断的置信度掩模1800。例如,后验概率特征掩模1300与后验概率非特征掩模1700的比率可以确定推断的置信度掩模1800。在一些实现中,该比率可以增加作为结果的置信度掩模中的皮肤限定。例如,皮肤像素可以以在作为结果的掩模1800中比在后验概率皮肤掩模1300中浅的阴影指示,指示使用该比例导致更多的皮肤概率。
各种实现和应用可以使用本文所描述的一个或多个特征。例如,可以使用一个或多个所描述的方面或特征来确定皮肤特征如面部皮肤、手部皮肤、手臂皮肤和/或腿部皮肤的掩模,从而允许修改这些皮肤特征。可以使用如本文所述的皮肤掩模来对出现在视频内容中的多个帧中的皮肤特征应用修改。在一些视频应用中,可以在多个连续帧中跟踪在一个帧中发现的皮肤特征并将其假设是相同的,例如使用光流和/或其他技术来估计特定像素如何在帧之间移动。为一帧确定的分割区域和皮肤掩模可以在不必从过程开始确定新的区域和皮肤掩模的情况下按照连续帧所需的位置移位并使用。
在一些实现中,不确定空间函数和先验概率掩模,并且可以基于如上所述的分割区域来确定颜色值分布。在一些示例中,可以基于没有先验概率皮肤掩模的似然皮肤掩模来确定作为结果的推断的置信皮肤掩模。
在一些实现中,可以检测除皮肤特征之外的图像特征,并且可以使用如上对面部皮肤掩模所述的一个或多个特征,类似地确定图像掩模。例如,可以使用可以检测图像中的动物、纪念碑、对象、景观特征或其他特征的图像识别技术,例如,基于识别的图像特征如上所述类似地估计特征像素的空间边界和先验概率掩模以及非特征像素的先验概率掩模。可以相对于识别的特征分割区域,并且为这些区域确定颜色值分布。可以基于与上述皮肤特征相似的颜色值分布和先验掩模来确定特征像素的后验概率特征掩模和非特征像素的后验概率非特征掩模。可以基于后验特征掩模和后验非特征掩模来确定作为结果的推断的置信度掩模,例如,类似于上述描述。
图19是可用于实现本文所述的一个或多个特征的示例设备1900的框图。在一个示例中,设备1900可用来实现服务器设备(例如,图1的服务器设备104)的计算机设备,并且执行本文描述的适当的方法实现。设备1900可以是任何适当的计算机系统、服务器或其它电子或硬件设备。例如,设备1900可以是主机计算机、台式计算机、工作站、便携式计算机或电子设备(便携式设备、移动设备、蜂窝电话、智能电话、平板计算机、电视、TV机顶盒、个人数字助理(PDA)、媒体播放器、游戏设备、可穿戴设备等)。在某些实现中,设备1900包括处理器1902、存储器1904以及输入/输出(I/O)接口1906。
处理器1902可以是用以执行程序代码并控制设备1900的基本操作的一个或多个处理器或处理电路。“处理器”包括处理数据、信号或其它信息的任何适当硬件和/或软件系统、机构或组件。处理器可包括具有通用中央处理单元(CPU)、多个处理单元、用于实现功能的专用电路或其它系统的系统。处理不需要局限于特定地理位置,或者具有时间限制。例如,处理器可“实时地”、“离线”、以“批量模式”等执行其功能。可在不同的时间且在不同的位置由不同(或相同)的处理系统来执行处理的各部分。计算机可以是与存储器通信的任何处理器。
通常在设备1900中提供存储器1904以便供处理器1902访问,并且存储器1904可以是任何适当的处理器可读存储介质,诸如随机存取存储器(RAM)、只读存储器(R0M)、电可擦只读存储器(EEPROM)、闪存等,其适合于存储指令以便由处理器执行,并与处理器1902分开定位和/或与之集成。存储器1904可以存储由处理器1902在服务器设备1900上操作的软件,包括操作系统1908和一个或多个应用1910,例如图形编辑引擎、web托管引擎、社交联网引擎等。在一些实现中,应用1910可以包括使得处理器1902能够执行本文所述功能的指令,所述功能例如图2-6的方法中的一些或全部。例如,应用1910可以包括一个或多个图像编辑应用1912,包括用于接收用户输入、选择输入图像、修改图像的像素(例如,通过对输入图像应用编辑操作)、以及提供导致在设备1900的显示设备上显示图像的输出数据的图像编辑程序。例如,图像编辑程序可以响应于用户输入提供显示的用户界面,以基于所选择的选项来显示可选择的选项/控制和图像。其他应用或引擎1914还可以或可选地被包括在应用1910中,例如媒体显示应用、通信应用、web托管引擎或应用、社交网络引擎或应用等。存储器1904中的任何软件可以替代地存储在任何其他合适的存储位置或计算机可读介质上。可以将存储器1904中的任何软件替换地存储在任何其它适当存储位置或计算机可读介质上。另外,存储器1904(和/或其它已连接的存储设备)可以存储图像(例如,输入图像,像素掩模(特征掩模和非特征掩模)等),面部标志点和边界形状,参数和因素,用户偏好以及在本文所述的特征中使用的数据。可以将存储器1904和任何其它类型的储存器(磁盘、光盘、磁带或其它有形介质)视为“储存器(storage)”或“存储设备(storage device)”。
I/O接口1906可以提供用以使得能够将服务器设备1900与其它系统和设备对接的功能。例如,网络通信设备、诸如存储器和/或数据库106的存储设备以及输入/输出设备可以经由接口1906通信。在某些实现中,I/O接口可以连接到包括输入设备(键盘、指针设备、触摸屏、麦克风、照相机、扫描仪等)和输出设备(显示设备、扬声器设备、打印机、电机等)的接口设备。显示设备1920是可以用于显示内容的输出设备的一个示例,例如,如本文所述的图像编辑界面或其他输出应用中提供的一个或多个图像。显示设备1920可以经由本地连接(例如,显示总线)和/或经由网络连接而连接到设备1900,并且可以是任何合适的显示设备,其一些示例在下面描述。
为了便于图示,图19示出了用于处理器1902、存储器1904、1/0接口1906以及软件框1908和1910中的每一个的一个框。这些框可表示一个或多个处理器或处理电路、操作系统、存储器、I/O接口、应用和/或软件模块。在其它实现中,设备1900可不具有所示的所有组件和/或可具有其它元素,包括作为本文所示的元素的替代或除此之外的其它类型的元素。虽然服务器系统102被描述为执行如在本文中的某些实现中描述的操作,但系统102或类似系统的任何适当组件或组件组合或者与此类系统相关联的任何适当的一个或多个处理器可执行所述操作。
客户端设备还可以实现本文所述的特征和/或与其一起使用,所述客户端设备例如图1中所示的客户端设备120-126。示例客户端设备可以是包括与设备1900类似的某些组件的计算机设备,例如处理器1902、存储器1904以及I/O接口1906。可以在存储器中提供适合于客户端设备的操作系统、软件和应用并被处理器使用,例如图像编辑软件、客户端群组通信应用软件等。可以将用于客户端设备的I/O接口连接到网络通信设备以及到输入和输出设备,例如用于捕捉声音的麦克风、用于捕捉图像或视频的照相机、用于输出声音的音频扬声器设备、用于输出图像或视频的显示设备或者其它输出设备。例如,显示设备1920可以连接到(或包括在设备1900中)以显示如本文所述的预处理和后处理,其中这种显示设备可以包括任何合适的显示设备,例如LCD、LED、等离子显示屏、CRT、电视、监视器、触摸屏、3D显示屏、投影仪或其他视觉显示设备。一些实现可以提供音频输出设备,例如口述文本的语音输出或合成。
本文描述的一种或多种方法(例如,图2-4和6的方法)可以由计算机程序指令或代码(其可以在计算机上执行)来实现。例如,代码可以由一个或多个数字处理器(例如,微处理器或其他处理电路)实现,并且可以存储在包括以下各项的计算机程序产品上:非暂时计算机可读介质(例如,存储介质)例如磁性,光学,电磁或半导体存储介质,包括半导体或固态存储器,磁带,可移动计算机磁盘,随机存取存储器(RAM),只读存储器(ROM),闪速存储器,刚性磁盘,光盘,固态存储器驱动器等。程序指令也可以包含在电子信号中,并且作为电子信号提供,例如以从服务器传送的软件即服务(SaaS)的形式(例如,分布式系统和/或云计算系统)。或者,一个或多个方法可以在硬件(逻辑门等)中实现,或者在硬件和软件的组合中实现。示例硬件可以是可编程处理器(例如现场可编程门阵列(FPGA)、复杂可编程逻辑设备)、通用处理器、图形处理器、专用集成电路(ASIC)等。可以执行一个或多个方法作为在系统上运行的应用的一部分或组件,或者作为与其他应用和操作系统一起运行的应用或软件。
本文描述的一种或多种方法可以在能够在任何类型的计算设备上运行的独立程序、在web浏览器上运行的程序、在移动计算设备(例如蜂窝电话、智能手机、平板计算机、可穿戴设备(手表、臂带、首饰、头饰、智能眼镜、眼镜等),膝上型计算机等)上运行的移动应用(“app”)中运行。在一个示例中,可以使用客户端/服务器架构,例如,移动计算设备(作为客户端设备)将用户输入数据发送到服务器设备,并从服务器接收用于输出的最终输出数据(例如,用于显示)。在另一示例中,可以在移动计算设备上的移动应用(和/或其他app)内执行所有计算。在另一示例中,计算可以在移动计算设备与一个或多个服务器设备之间进行拆分。
虽然已经关于其特定实现描述了描述,但是这些具体实现仅仅是说明性的而不是限制性的。示例中所示的概念可以应用于其他示例和实现。
在这里所讨论的系统可收集关于用户的个人信息或者可利用个人信息的情况下,可为用户提供控制程序或特征是否收集用户信息(例如,关于用户的社交网络的信息、用户特性(年龄、性别、职业等)、社交动作或活动、用户的偏好、由用户创建或提交的内容或用户的当前位置)的机会。另外,某些数据在其被存储或使用之前可以被以一个或多个方式处理,以便消除个人可识别信息。例如,可处理用户的身份,使得对于用户而言不能确定个人可识别信息,或者可将在该处获得位置信息的用户地理位置泛化(例如城市、邮政编码或州级别),使得不能确定用户的特定位置。因此,用户可控制如何收集关于用户的信息并由服务器使用。
注意,可将本公开中所述的功能框、特征、方法、设备以及系统集成或划分成如本领域的技术人员将已知的系统、设备以及功能块的不同组合,这是本领域技术人员已知的。可使用任何适当的编程语言和编程技术来实现特定实现的例程。可采用不同的编程技术,诸如面向过程或对象的。例程可在单个处理设备或多个处理器上执行。虽然可按照特定顺序提出步骤、操作或计算,但在不同的特定实现中可改变该顺序。在一些实现中,可同时地执行在本说明书中被示为连续的多个步骤或操作。

Claims (20)

1.一种确定图像的掩模的计算机实现的方法,所述方法包括:
确定所述图像中描绘的被检测的特征的空间函数,其中所述空间函数相对于从所述被检测的特征估计的特征边界指示所述图像的像素;
基于所述图像的多个区域中的每个区域中的一个或多个颜色值分布,确定每个所述区域的相应颜色似然分布,其中所述区域包括特征区域和非特征区域;
基于所述空间函数和所述颜色似然分布中的一个或多个颜色似然分布,确定置信度掩模,其中所述置信度掩模对于所述图像的多个像素中的每个像素指示所述像素是特征像素的关联置信度;以及
使用所述置信度掩模对所述图像中的像素应用修改。
2.根据权利要求1所述的方法,其中,所述被检测的特征是被检测的皮肤特征。
3.根据权利要求1所述的方法,其中,所述置信度掩模是基于后验概率掩模,
其中确定所述空间函数包括确定所述被检测的特征的先验概率掩模,其中所述先验概率掩模是基于所述特征边界,并且对于所述图像中的多个像素中的每个像素指示所述像素为特征像素的关联第一概率,以及
其中所述后验概率掩模是基于所述先验概率掩模和所述一个或多个颜色似然分布,并且对于所述图像的所述多个像素中的每个像素指示所述像素是特征像素的关联第二概率。
4.根据权利要求1所述的方法,进一步包括模糊所述空间函数,其中确定所述置信度掩模是基于所模糊的空间函数。
5.根据权利要求2所述的方法,其中所述被检测的皮肤特征是包括在被检测的面部中的面部皮肤,其中所述被检测的面部包括一个或多个被检测的面部标志,其中所述特征边界是基于所述一个或多个被检测的面部标志估计的面部边界。
6.根据权利要求5所述的方法,进一步包括使用机器学习技术来确定所述面部边界,所述机器学习技术基于所述一个或多个被检测的面部标志的位置来确定所述面部边界,其中所述机器学习技术是利用具有所指示的面部边界的多个训练图像来训练的。
7.根据权利要求1所述的方法,其中,确定每个区域的相应颜色似然分布包括:
基于所述特征边界来确定所述图像的区域分割,其中所述区域分割指示包括所述图像的所述特征区域和所述非特征区域的多个区域;
确定在所述区域分割的每个区域中的所述图像的像素的所述一个或多个颜色值分布;以及
基于所述区域的一个或多个所述颜色值分布,确定所述区域分割的多个区域中的每一个区域的所述相应颜色似然分布。
8.根据权利要求1所述的方法,其中,所述颜色值分布包括直方图,并且进一步包括归一化所述区域的所述直方图。
9.根据权利要求1所述的方法,进一步包括模糊一个或多个所述颜色值分布。
10.根据权利要求9所述的方法,其中,模糊所述颜色值分布包括沿着不同颜色通道的颜色值近似相等的轴模糊一个或多个分布的值。
11.根据权利要求3所述的方法,其中,确定所述后验概率掩模包括将所述先验概率掩模与所述颜色似然分布中的至少一个相乘。
12.根据权利要求3所述的方法,其中所述被检测的特征是被检测的皮肤特征,并且其中确定所述被检测的皮肤特征的所述置信度掩模包括:
基于所述特征区域的所述颜色似然分布来确定后验特征掩模,并且对于所述图像的多个像素中的每个像素指示所述像素是皮肤特征像素的关联概率;
基于所述非特征区域的所述一个或多个颜色似然分布中的至少一个来确定后验非特征掩模,并且对于所述图像的多个像素中的每个像素指示所述像素不是皮肤特征像素的关联概率;以及
基于所述后验特征掩模和所述后验非特征掩模,确定所述置信度掩模。
13.根据权利要求12所述的方法,其中,确定所述置信度掩模包括确定所述后验特征掩模与所述后验非特征掩模的比率。
14.根据权利要求3所述的方法,其中所述被检测的特征是包括在被检测的面部中的面部皮肤,并且其中所述多个区域包括与所述特征区域不同的一个或多个面部标志区域,其中所述一个或多个面部标志区域至少包括以下中的一个:口区域、眼睛区域和眉区域,以及
其中确定每个区域的所述相应颜色似然分布包括确定所述一个或多个面部标志区域中的每一个的相应颜色似然分布。
15.根据权利要求14所述的方法,其中所述置信度掩模是基于后验特征掩模和后验非特征掩模,其中所述后验非特征掩模是基于将所述先验概率掩模与所述非特征区域和所述一个或多个面部标志区域的所述颜色似然分布的组合相乘。
16.一种确定图像的掩模的系统,所述系统包括:
存储设备;以及
至少一个处理器,所述至少一个处理器可操作为访问所述存储设备并且被配置为:
基于所述图像的多个区域中的每个区域中的一个或多个颜色值分布,确定每个区域的相应颜色似然分布,其中所述区域包括被估计为描绘图像特征的至少一部分的特征区域以及被估计为不描绘所述图像特征的非特征区域;
至少基于所述特征区域的所述颜色似然分布,确定概率特征掩模,其中所述概率特征掩模对于所述图像的多个像素中的每个像素指示所述像素是特征像素的关联概率;
至少基于所述非特征区域的所述颜色似然分布,确定概率非特征掩模,其中所述概率非特征掩模对于所述图像的多个像素中的每个像素指示所述像素不是特征像素的关联概率;
基于所述概率特征掩模和所述概率非特征掩模,确定作为结果的置信度掩模;以及
使用所述作为结果的置信度掩模对所述图像中的像素应用修改。
17.根据权利要求16所述的系统,其中所述一个或多个颜色值分布包括直方图,并且其中所述至少一个处理器进一步被配置为模糊每个所述直方图。
18.根据权利要求16所述的系统,其中所述特征是包括在被检测的面部中的面部皮肤,并且其中所述多个区域包括一个或多个面部标志区域,其中所述一个或多个面部标志区域包括以下中的至少一个:口区域、眼睛区域和眉区域,以及
其中所述至少一个处理器被配置为确定所述一个或多个面部标志区域中的每一个面部标志区域的相应颜色似然分布,以及
其中所述至少一个处理器被配置为至少基于所述非特征区域的所述颜色似然分布和所述一个或多个面部标志区域的所述颜色似然分布,确定所述被检测的面部皮肤的所述概率非特征掩模。
19.一种非暂时性计算机可读介质,其上存储有用于确定图像的皮肤掩模的软件指令,并且所述软件指令在由处理器执行时使所述处理器执行操作,所述操作包括:
确定所述图像中描绘的被检测的皮肤特征的先验概率掩模,其中所述先验概率掩模是基于从所述被检测的皮肤特征估计的皮肤特征边界,并且其中所述先验概率掩模对于所述图像中的多个像素的每一个像素,指示所述像素是皮肤特征像素的关联第一概率;
基于所述图像的多个区域中的每个区域中的一个或多个颜色值分布,确定每个所述区域的相应颜色似然分布,其中所述区域包括皮肤特征区域和非特征区域;
基于所述先验概率掩模和所述颜色似然分布,确定所述被检测的皮肤特征的后验概率掩模,其中所述后验概率掩模对于所述图像的多个像素中的每一个像素,指示所述像素是皮肤特征像素的关联第二概率;以及
基于所述后验概率掩模,对所述图像中的像素应用修改。
20.根据权利要求19所述的计算机可读介质,其中所述一个或多个颜色值分布包括直方图,并且其中所述操作进一步包括模糊所述直方图中的每一个。
CN201680027310.XA 2015-09-15 2016-09-14 基于颜色分布的图像中的特征检测和掩模 Active CN107771336B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/855,297 2015-09-15
US14/855,297 US9864901B2 (en) 2015-09-15 2015-09-15 Feature detection and masking in images based on color distributions
PCT/US2016/051740 WO2017048845A1 (en) 2015-09-15 2016-09-14 Feature detection and masking in images based on color distributions

Publications (2)

Publication Number Publication Date
CN107771336A true CN107771336A (zh) 2018-03-06
CN107771336B CN107771336B (zh) 2021-09-10

Family

ID=57083354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680027310.XA Active CN107771336B (zh) 2015-09-15 2016-09-14 基于颜色分布的图像中的特征检测和掩模

Country Status (4)

Country Link
US (1) US9864901B2 (zh)
EP (1) EP3338217B1 (zh)
CN (1) CN107771336B (zh)
WO (1) WO2017048845A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109671024A (zh) * 2017-10-17 2019-04-23 奥多比公司 局部颜色范围选择
CN110766687A (zh) * 2019-10-31 2020-02-07 深圳市中科同辉科技有限公司 一种布鲁氏杆菌病方法、装置、计算机设备和存储介质
CN110837403A (zh) * 2018-08-17 2020-02-25 埃森哲环球解决方案有限公司 机器人过程自动化
TWI786316B (zh) * 2018-07-20 2022-12-11 日商N Tech股份有限公司 附標籤之影像資料的製作方法、檢查方法、程式、附標籤之影像資料的製作裝置及檢查裝置

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9864901B2 (en) * 2015-09-15 2018-01-09 Google Llc Feature detection and masking in images based on color distributions
US9552626B1 (en) * 2015-10-07 2017-01-24 Adobe Systems Incorporated Digital image blemish removal
CN105678813A (zh) * 2015-11-26 2016-06-15 乐视致新电子科技(天津)有限公司 一种肤色检测方法及装置
US10210615B2 (en) * 2016-03-10 2019-02-19 Sony Corporation System and method for extrinsic camera parameters calibration by use of a three dimensional (3D) calibration object
CN109074601A (zh) * 2017-02-03 2018-12-21 松下知识产权经营株式会社 学得模型生成方法、学得模型生成装置以及学得模型利用装置
CN108229279B (zh) 2017-04-14 2020-06-02 深圳市商汤科技有限公司 人脸图像处理方法、装置和电子设备
CN108229278B (zh) 2017-04-14 2020-11-17 深圳市商汤科技有限公司 人脸图像处理方法、装置和电子设备
US20180311512A1 (en) * 2017-04-28 2018-11-01 C-Rad Positioning Ab Patient monitoring
US10552985B2 (en) * 2017-06-14 2020-02-04 Behr Process Corporation Systems and methods for determining dominant colors in an image
US10922878B2 (en) * 2017-10-04 2021-02-16 Google Llc Lighting for inserted content
US10853624B2 (en) * 2017-10-17 2020-12-01 Sony Corporation Apparatus and method
WO2019095117A1 (zh) * 2017-11-14 2019-05-23 华为技术有限公司 一种人脸图像检测方法及终端设备
US11145096B2 (en) 2018-03-07 2021-10-12 Samsung Electronics Co., Ltd. System and method for augmented reality interaction
WO2019207524A1 (en) * 2018-04-25 2019-10-31 Seesure Single image completion from retrieved image collections
KR102468309B1 (ko) * 2018-04-26 2022-11-17 한국전자통신연구원 영상 기반 건물 검색 방법 및 장치
US11116442B1 (en) * 2018-06-10 2021-09-14 CAPTUREPROOF, Inc. Image integrity and repeatability system
CN108989839A (zh) * 2018-08-27 2018-12-11 深圳艺达文化传媒有限公司 推介视频的主角选择方法及相关产品
JP6949795B2 (ja) * 2018-09-25 2021-10-13 富士フイルム株式会社 画像処理装置、画像処理システム、画像処理方法、及びプログラム
CN109408653B (zh) * 2018-09-30 2022-01-28 叠境数字科技(上海)有限公司 基于多特征检索和形变的人体发型生成方法
WO2020073982A1 (en) * 2018-10-11 2020-04-16 Shanghaitech University System and method for extracting planar surface from depth image
US11055887B2 (en) * 2018-11-29 2021-07-06 Adobe Inc. Modifying digital content with digital effects using facial skin mask
CN111526422B (zh) * 2019-02-01 2021-08-27 网宿科技股份有限公司 一种视频帧中目标对象的拟合方法、系统及设备
CN111526421B (zh) 2019-02-01 2021-10-22 网宿科技股份有限公司 视频掩码信息的生成、弹幕防遮挡方法、服务器及客户端
US10909357B1 (en) * 2019-02-15 2021-02-02 Snap Inc. Image landmark detection
US10885606B2 (en) * 2019-04-08 2021-01-05 Honeywell International Inc. System and method for anonymizing content to protect privacy
KR20200125531A (ko) * 2019-04-25 2020-11-04 주식회사 마이셀럽스 언어 단위와 이용 내역 간의 연관도를 이용한 항목 추천 관리 방법
CN110348358B (zh) * 2019-07-03 2021-11-23 网易(杭州)网络有限公司 一种肤色检测系统、方法、介质和计算设备
US11399208B2 (en) * 2019-09-24 2022-07-26 International Business Machines Corporation Packet priority for visual content
CA3148187A1 (en) 2019-10-18 2021-04-22 Shadrian Strong Geospatial object geometry extraction from imagery
US11727587B2 (en) * 2019-11-12 2023-08-15 Geomagical Labs, Inc. Method and system for scene image modification
JP7534866B2 (ja) * 2020-04-21 2024-08-15 キヤノン株式会社 画像処理装置及び方法、プログラム、記憶媒体
US11710344B2 (en) * 2020-04-27 2023-07-25 Qualcomm Incorporated Compact encoded heat maps for keypoint detection networks
US11127225B1 (en) 2020-06-01 2021-09-21 Microsoft Technology Licensing, Llc Fitting 3D models of composite objects
US11461989B2 (en) * 2020-12-04 2022-10-04 Himax Technologies Limited Monitor method and monitor system thereof wherein mask is used to cover image for detecting object
US11995743B2 (en) * 2021-09-21 2024-05-28 Samsung Electronics Co., Ltd. Skin tone protection using a dual-core geometric skin tone model built in device-independent space
US20230319223A1 (en) * 2022-03-29 2023-10-05 Disney Enterprises, Inc Method and system for deep learning based face swapping with multiple encoders

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6332038B1 (en) * 1998-04-13 2001-12-18 Sharp Kabushiki Kaisha Image processing device
CN101034481A (zh) * 2007-04-06 2007-09-12 湖北莲花山计算机视觉和信息科学研究院 一种肖像画的自动生成方法
CN101236599A (zh) * 2007-12-29 2008-08-06 浙江工业大学 基于多摄像机信息融合的人脸识别检测装置
CN101383001A (zh) * 2008-10-17 2009-03-11 中山大学 一种快速准确的正面人脸判别方法
US8406482B1 (en) * 2008-08-28 2013-03-26 Adobe Systems Incorporated System and method for automatic skin tone detection in images
CN103020579A (zh) * 2011-09-22 2013-04-03 上海银晨智能识别科技有限公司 人脸识别方法及系统、人脸图像的眼镜框去除方法与装置
CN104766316A (zh) * 2015-03-31 2015-07-08 复旦大学 中医望诊中新型嘴唇分割算法

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS52156624A (en) 1976-06-22 1977-12-27 Fuji Photo Film Co Ltd Detection of skin color of color film
US6263113B1 (en) 1998-12-11 2001-07-17 Philips Electronics North America Corp. Method for detecting a face in a digital image
US6282317B1 (en) 1998-12-31 2001-08-28 Eastman Kodak Company Method for automatic determination of main subjects in photographic images
US6690822B1 (en) 2000-10-20 2004-02-10 Eastman Kodak Company Method for detecting skin color in a digital image
US7215828B2 (en) 2002-02-13 2007-05-08 Eastman Kodak Company Method and system for determining image orientation
US20030174869A1 (en) * 2002-03-12 2003-09-18 Suarez Anthony P. Image processing apparatus, image processing method, program and recording medium
US7082211B2 (en) * 2002-05-31 2006-07-25 Eastman Kodak Company Method and system for enhancing portrait images
GB2395853A (en) 2002-11-29 2004-06-02 Sony Uk Ltd Association of metadata derived from facial images
US7039222B2 (en) 2003-02-28 2006-05-02 Eastman Kodak Company Method and system for enhancing portrait images that are processed in a batch mode
JP4461789B2 (ja) 2003-03-20 2010-05-12 オムロン株式会社 画像処理装置
US7844076B2 (en) 2003-06-26 2010-11-30 Fotonation Vision Limited Digital image processing using face detection and skin tone information
US20090041297A1 (en) 2005-05-31 2009-02-12 Objectvideo, Inc. Human detection and tracking for security applications
CN1975762A (zh) 2006-12-11 2007-06-06 浙江大学 一种皮肤检测方法
US8644600B2 (en) 2007-06-05 2014-02-04 Microsoft Corporation Learning object cutout from a single example
US8218862B2 (en) * 2008-02-01 2012-07-10 Canfield Scientific, Incorporated Automatic mask design and registration and feature detection for computer-aided skin analysis
EP2277141A2 (en) 2008-07-30 2011-01-26 Tessera Technologies Ireland Limited Automatic face and skin beautification using face detection
US9189886B2 (en) 2008-08-15 2015-11-17 Brown University Method and apparatus for estimating body shape
US8385609B2 (en) 2008-10-21 2013-02-26 Flashfoto, Inc. Image segmentation
US8295557B2 (en) 2009-01-12 2012-10-23 Arcsoft Hangzhou Co., Ltd. Face image processing method
US7916905B2 (en) 2009-02-02 2011-03-29 Kabushiki Kaisha Toshiba System and method for image facial area detection employing skin tones
US8311355B2 (en) 2009-06-05 2012-11-13 Apple Inc. Skin tone aware color boost for cameras
JP5463866B2 (ja) 2009-11-16 2014-04-09 ソニー株式会社 画像処理装置および画像処理方法、並びにプログラム
US8638993B2 (en) 2010-04-05 2014-01-28 Flashfoto, Inc. Segmenting human hairs and faces
US8824808B2 (en) * 2011-08-19 2014-09-02 Adobe Systems Incorporated Methods and apparatus for automated facial feature localization
US9020185B2 (en) 2011-09-28 2015-04-28 Xerox Corporation Systems and methods for non-contact heart rate sensing
US8908904B2 (en) * 2011-12-28 2014-12-09 Samsung Electrônica da Amazônia Ltda. Method and system for make-up simulation on portable devices having digital cameras
US9070195B2 (en) 2012-06-10 2015-06-30 Apple Inc. Method and system for auto-enhancing photographs with saturation adjustments
US8983152B2 (en) * 2013-05-14 2015-03-17 Google Inc. Image masks for face-related selection and processing in images
US9256950B1 (en) * 2014-03-06 2016-02-09 Google Inc. Detecting and modifying facial features of persons in images
KR102357326B1 (ko) * 2014-11-19 2022-01-28 삼성전자주식회사 얼굴 특징 추출 방법 및 장치, 얼굴 인식 방법 및 장치
US9928601B2 (en) * 2014-12-01 2018-03-27 Modiface Inc. Automatic segmentation of hair in images
EP3254283B1 (en) * 2015-03-27 2021-05-12 Google LLC User sliders for simplified adjustment of images
US9864901B2 (en) * 2015-09-15 2018-01-09 Google Llc Feature detection and masking in images based on color distributions
US9547908B1 (en) * 2015-09-28 2017-01-17 Google Inc. Feature mask determination for images

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6332038B1 (en) * 1998-04-13 2001-12-18 Sharp Kabushiki Kaisha Image processing device
CN101034481A (zh) * 2007-04-06 2007-09-12 湖北莲花山计算机视觉和信息科学研究院 一种肖像画的自动生成方法
CN101236599A (zh) * 2007-12-29 2008-08-06 浙江工业大学 基于多摄像机信息融合的人脸识别检测装置
US8406482B1 (en) * 2008-08-28 2013-03-26 Adobe Systems Incorporated System and method for automatic skin tone detection in images
CN101383001A (zh) * 2008-10-17 2009-03-11 中山大学 一种快速准确的正面人脸判别方法
CN103020579A (zh) * 2011-09-22 2013-04-03 上海银晨智能识别科技有限公司 人脸识别方法及系统、人脸图像的眼镜框去除方法与装置
CN104766316A (zh) * 2015-03-31 2015-07-08 复旦大学 中医望诊中新型嘴唇分割算法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109671024A (zh) * 2017-10-17 2019-04-23 奥多比公司 局部颜色范围选择
TWI786316B (zh) * 2018-07-20 2022-12-11 日商N Tech股份有限公司 附標籤之影像資料的製作方法、檢查方法、程式、附標籤之影像資料的製作裝置及檢查裝置
CN110837403A (zh) * 2018-08-17 2020-02-25 埃森哲环球解决方案有限公司 机器人过程自动化
CN110837403B (zh) * 2018-08-17 2023-04-28 埃森哲环球解决方案有限公司 机器人过程自动化
CN110766687A (zh) * 2019-10-31 2020-02-07 深圳市中科同辉科技有限公司 一种布鲁氏杆菌病方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
US9864901B2 (en) 2018-01-09
WO2017048845A1 (en) 2017-03-23
EP3338217B1 (en) 2021-06-16
US20170076142A1 (en) 2017-03-16
EP3338217A1 (en) 2018-06-27
CN107771336B (zh) 2021-09-10

Similar Documents

Publication Publication Date Title
CN107771336A (zh) 基于颜色分布的图像中的特征检测和掩模
US20210073953A1 (en) Method for applying bokeh effect to image and recording medium
US11321385B2 (en) Visualization of image themes based on image content
US9547908B1 (en) Feature mask determination for images
CN109173263B (zh) 一种图像数据处理方法和装置
US10049477B1 (en) Computer-assisted text and visual styling for images
US8983152B2 (en) Image masks for face-related selection and processing in images
US8692830B2 (en) Automatic avatar creation
CN106056064B (zh) 一种人脸识别方法及人脸识别装置
AU2011253980B2 (en) Method, apparatus and system for identifying distracting elements in an image
CN108764091A (zh) 活体检测方法及装置、电子设备和存储介质
US10936853B1 (en) Skin tone assisted digital image color matching
CN110287771B (zh) 图像手掌区域提取方法及装置
US20160092726A1 (en) Using gestures to train hand detection in ego-centric video
CN105303161A (zh) 一种多人拍照的方法及装置
US9256950B1 (en) Detecting and modifying facial features of persons in images
CN109903291A (zh) 图像处理方法及相关装置
WO2019142127A1 (en) Method and system of creating multiple expression emoticons
CN107172354A (zh) 视频处理方法、装置、电子设备及存储介质
KR20210007276A (ko) 영상 생성 장치 및 방법
CN110866139A (zh) 一种化妆处理方法、装置及设备
CN114187166A (zh) 图像处理方法、智能终端及存储介质
US20160140748A1 (en) Automated animation for presentation of images
US20190347469A1 (en) Method of improving image analysis
US9916497B2 (en) Automated embedding and blending head images

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
GR01 Patent grant
GR01 Patent grant