首页> 中国专利> 用于图像中的与脸部有关的选择和处理的图像掩模

用于图像中的与脸部有关的选择和处理的图像掩模

摘要

在一些实现方式中,一种方法包括标识图像的一个或者多个脸部区域,脸部区域包括描绘人的一个或者多个脸部的至少部分的像素。基于标识脸部的脸部界标来标识脸部区域。该方法基于脸部区域确定用于脸部中的每个脸部的关联的脸部掩模,其中每个脸部掩模指示图像中的哪些像素描绘对应的脸部。可以通过应用脸部掩模来选择脸部像素以用于处理,并且可以通过逆应用脸部掩模来选择在脸部以外的图像像素。可以向用于选择的像素的调整的处理操作提供选择的像素。

著录项

  • 公开/公告号CN105359162A

    专利类型发明专利

  • 公开/公告日2016-02-24

    原文格式PDF

  • 申请/专利权人 谷歌公司;

    申请/专利号CN201480035737.5

  • 申请日2014-05-13

  • 分类号G06K9/00(20060101);G06K9/34(20060101);G06K9/46(20060101);G06T5/20(20060101);

  • 代理机构11256 北京市金杜律师事务所;

  • 代理人王茂华;辛鸣

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 14:35:31

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-05-29

    授权

    授权

  • 2018-03-16

    著录事项变更 IPC(主分类):G06K9/00 变更前: 变更后: 申请日:20140513

    著录事项变更

  • 2016-03-23

    实质审查的生效 IPC(主分类):G06K9/00 申请日:20140513

    实质审查的生效

  • 2016-02-24

    公开

    公开

说明书

相关申请的交叉引用

本申请要求对通过完全引用而结合于此、提交于2013年5月14 日的第13/894,384号美国专利申请的优先权。

背景技术

数字相机的流行和便利以及因特网通信的使用广泛已经使得用 户产生的图像(比如相片)变得普遍。例如,因特网平台和服务(比 如电子邮件、公告牌、论坛和社交联网服务)的用户发表图像以供他 们自己和其他人看见。然而,许多用户想要调整他们的图像以改变或 者强调照片中的特定目标或者部位。在一些示例中,用户想要带出特 定细节、提供更自然的颜色或者在图像中进行其它相似调整和/或可能 想要取消强调在图像中描绘的特定部分或者目标(比如对特定细节进 行平滑或者模糊)。

发明内容

本申请的实现方式涉及用于在图像中描绘的脸部的图像掩模和 使用这样的掩模以在图像中进行调整。在一些实现方式中,一种方法 包括标识图像的一个或者多个脸部区域,脸部区域包括描绘一个或者 多个人的一个或者多个脸部的至少一部分的像素。脸部区域基于标识 脸部的脸部界标被标识。该方法基于脸部区域确定用于脸部中的每个 脸部的关联的脸部掩模,其中每个脸部掩模指示图像中的哪些像素描 绘对应的脸部。在脸部以外的图像像素通过逆应用脸部掩模被选择, 并且向用于选择的像素的调整的处理操作提供选择的像素。

描述了该方法的各种实现方式和示例。关联的脸部掩模包括向每 个脸部区域添加连接的脸部像素,其中关联的脸部掩模包括人的近似 整个对应的脸部。例如,溅斑(blobbing)技术可以响应于像素颜色 在与像素相邻的一个或者多个其它像素的颜色的预定阈值内来向每 个脸部区域添加在每个脸部区域以外的连续皮肤像素。在另一实现方 式中,确定关联的脸部掩模包括确定在脸部区域内的像素的平均颜 色,确定近似地定义对应的人的关联的脸部的空间脸部部位,以及选 择空间脸部部位中的颜色与平均颜色相似的像素并且在脸部掩模中 指明选择的像素是脸部像素。平均颜色针对其被确定的像素可以是被 选择为在已知肤色的预定范围内的像素。确定空间脸部掩模部位可以 包括基于多个人的预定平均脸部比例估计用于空间脸部掩模部位的 宽度和高度。可以提供用于脸部掩模的下降区域,在该下降区域中, 像素被指明按照在从脸部部位到图像在脸部部位以外的部分的方向 上的逐渐地减少的数量被处理。在一些示例中,处理操作可以包括向 选择的像素应用高斯模糊和/或向选择的像素应用局部对比度增强。

一种方法可以在一些实现方式中包括标识在图像内的脸部区域, 其中脸部区域包括描绘人的脸部的至少一部分的像素。该方法选择在 脸部区域内的在已知为肤色的颜色的预定范围内的像素。为脸部区域 中的选择的像素确定特性肤色。为图像确定脸部掩模,该脸部掩模基 于与特性肤色的颜色阈值相似度指示图像中的哪些像素是描绘人的 皮肤的皮肤像素。

描述了以上方法的各种实现方式和示例。特性肤色可以是脸部区 域中的选择的像素的平均颜色。该方法还可以确定脸部区域中的选择 的像素的颜色的分布的指示(比如标准偏差),其中在确定在与特性 肤色的颜色阈值像素的中使用的颜色距离阈值时使用该分布。可以基 于脸部的一个或者多个脸部界标的脸部识别来标识脸部区域。

脸部掩模中的每个像素可以指示图像中的对应的像素与特性肤 色相似的程度和用于对应的像素的处理的程度。例如,可以在脸部掩 模中指示三个或者更多个相似度程度。选择像素可以包括将脸部区域 中的像素的颜色转换到不同色空间,并且校验脸部区域中的哪些像素 具有在色空间的指示已知肤色的至少一个预定范围中包括的颜色,其 中从选择排除具有在预定部位以外的颜色的像素。可以基于从标识的 脸部区域提供的脸部界标在图像中确定空间脸部部位。空间脸部部位 可以近似地定义人的脸部,其中脸部掩模中的皮肤像素限于在空间脸 部部位内的像素。可以在空间脸部部位以外确定下降区域,其中迫使 下降区域中的像素具有比空间脸部部位中的像素更少的处理分级。该 方法可以包括调整图像的如由脸部掩模指明的皮肤像素,其中调整包 括用于平滑图像中的脸部的一个或者多个描绘的特征的模糊滤波器。 该方法可以包括反转脸部掩模并且调整不是脸部掩模的皮肤像素的 像素以处理图像。

在一些实现方式中,一种系统可以包括存储设备和访问存储设备 并且操作用于执行操作的至少一个处理器。操作包括标识图像内的脸 部区域,该脸部区域包括描绘人的脸部的至少一部分的像素。操作选 择脸部区域内的在已知为肤色的颜色的预定范围内的像素。为脸部区 域中的选择的像素确定特性皮肤颜色。为图像确定脸部掩模,该脸部 掩模基于与特性肤色的颜色阈值相似度指示图像中的哪些像素是描 绘人的皮肤的皮肤像素。

附图说明

图1是可以用于这里描述的一个或者多个实现方式的示例网络环 境的框图;

图2是图示了根据一些实现方式的用于提供脸部图像掩模并且使 用脸部图像掩模以在图像中进行调整的示例方法的流程图;

图3是图示了根据一些实现方式的用于确定脸部图像掩模(比如 指示图像的皮肤像素的脸部皮肤掩模)的方法的流程图;

图4是指示已知肤色的预定范围的色空间图形的图解图示;

图5是图示了根据一些实现方式的用于确定指示图像的脸部像素 的脸部图像掩模的示例方法的流程图;

图6至图10是处理示例图像以确定脸部掩模并且调整图像像素 的示例的图解图示;以及

图11是可以用于这里描述的一个或者多个实现方式的示例设备 的框图。

具体实施方式

这里描述的一个或者多个实现方式涉及用于在图像中描绘的脸 部的图像掩模和使用这样的掩模以在图像中进行调整。在一些实现方 式中,在图像中标识一个或者多个脸部区域,并且为每个脸部区域确 定关联的脸部掩模。脸部掩模指示图像中的哪些像素描绘对应的脸 部,例如,脸部的皮肤。在一些实现方式中,可以使用这里描述的一 种或者多种技术来确定脸部掩模。为了调整图像中的脸部(比如脸部 的皮肤),系统可以选择和调整与脸部掩模中的脸部相似对应的图像 像素而排除图像中的其它像素。为了调整图像的在脸部中未包括的部 分(比如图像中的背景),系统可以选择和调整与掩模非脸部像素对 应的图像像素而排除脸部像素。这些和其它描述的特征可以造成自动 地确定图像的特定部分和对这些特定部分的定义好的调整而未修改 不希望的部分。

系统可以标识图像的一个或者多个脸部区域,该一个或者多个脸 部区域包括描绘脸部或者脸部的部分的像素。可以使用脸部识别技术 来标识脸部区域,这些脸部识别技术例如可以使用和提供用于检测到 的脸部的脸部界标(比如眼睛和嘴巴指示)。可以基于脸部区域为每 个脸部确定脸部像素。

在一些实现方式中,通过选择脸部区域内的在已知为肤色的颜色 的预定范围内的像素来确定脸部掩模。例如,像素颜色可以被转换到 特定色空间并且关于哪些像素具有在色空间的指示已知皮肤色调的 预定范围中包括的颜色被校验。为具有预定范围中的颜色的选择的像 素比如通过将颜色平均来确定特性肤色。系统为图像确定脸部图像掩 模,该脸部图像掩模指示图像中的哪些像素是描绘人的皮肤的皮肤像 素。系统可以基于颜色与特性肤色的阈值相似度确定皮肤像素。在一 些示例中,可以在确定用于校验与特性肤色的相似度的颜色距离阈值 时使用脸部区域中的选择的像素的颜色的分布。一些示例可以基于来 自脸部区域的脸部界标确定图像中的空间脸部部位,其中空间脸部部 位近似地定义人的整个脸部,并且从空间面部区域中的像素确定皮肤 像素。这样的实现方式可以用来确定用户的脸部掩模,该脸部掩模未 包括脸部像素中的非皮肤部分、比如眼睛和嘴巴。掩模也可以被反转 和用来选择图像在脸部像素以外的部分。

其它实现方式可以按照其它方式确定脸部掩模。例如,系统可以 从脸部掩模中的脸部区域开始并且增加脸部区域的大小以扩展脸部 像素以包括人的近似整个脸部。在一些实现方式中,系统可以使用溅 斑技术以在脸部区域以外添加颜色相似皮肤像素,其中每个附加皮肤 像素直接地或者通过其它皮肤像素连接到脸部区域。其它实现方式可 以使用其它技术,比如发现图像中的具有与肤色相似的颜色的像素的 群集,以及向脸部像素部位添加连接到脸部区域的群集。一些实现方 式可以提供掩模,这些掩模包括人的脸部以及人的除了脸部之外的描 绘的皮肤部位。

在确定脸部掩模之后,如果系统要调整图像中的一个或者多个脸 部(比如调整脸部的皮肤),则选择与掩模脸部像素对应的图像像素 而从选择排除图像中的其它像素。向用于调整的处理操作(比如平滑 操作)提供脸部像素。如果系统要调整图像的在脸部中未包括的部分 (比如图像中的背景),则选择非脸部图像像素而排除与掩模脸部像 素对应的像素,并且向用于调整的处理操作(比如模糊或者对比度增 强)提供选择的非脸部像素。

这样的特征可以在一些实现方式中允许对图像的特定部分的自 动化的调整和增强而向图像的可能从这样的调整而可视质量下降的 其它部分提供保护。例如,可以平滑用户的脸部的皮肤而未模糊图像 的其它特征(比如脸部的非皮肤部分和非脸部部分(比如背景))。 相似地,可以调整和增强图像的非面部部分而未影响在图像中描绘的 脸部。用户可以避免对每个图像的令人厌烦的人工检查和调整。在一 些实现方式中,使用指示脸部的脸部界标的标识的脸部区域以及肤色 比较允许更准确地生成脸部图像掩模以及健壮(robust)地选择脸部 和皮肤。

图1图示了可以在这里描绘的一些实现方式中使用的示例网络环 境100的框图。在一些实现方式中,网络环境100包括一个或者多个 服务器系统(比如图1的示例中的服务器系统102)。服务器系统102 可以例如与网络130通信。服务器系统102可以包括服务器设备104 和数据库106或者其它存储设备。网络环境100也可以包括可以经由 网络130和/或服务器系统102相互通信的一个或者多个客户端设备 (比如客户端设备120、122、124和126)。网络130可以是任何类 型的通信网络、包括因特网、局域网(LAN)、无线网络、交换机或 者集线器连接等中的一项或者多项。

为了易于图示,图1示出了用于服务器系统102、服务器设备104 和数据库106的一个块,并且示出了用于客户端设备120、122、124 和126的四个块。服务器块102、104和106可以代表多个系统、服 务器设备和网络数据库,并且可以在与所示配置不同的配置中提供 块。例如,服务器系统102可以代表可以经由网络130与其它服务器 系统通信的多个服务器系统。在另一示例中,数据库106和/或其它存 储设备可以在从服务器设备104分离的服务器系统块中被提供并且可 以经由网络130与服务器设备104和其它服务器系统通信。也可以存 在任何数目的客户端设备。每个客户端设备可以是任何类型的电子设 备(比如计算机系统、便携设备、蜂窝电话、智能电话、平板计算机、 电视、TV机顶盒或者娱乐设备、个人数字助理(PDA)、媒体播放 器、游戏设备等)。在其它实现方式中,网络环境100可以不具有所 示部件和/或取代这里描述的单元或者除了这里描述的单元之外还可 以具有包括其它单元类型的其它单元。

在各种实现方式中,终端用户U1、U2、U3和U4可以使用相应 客户端设备120、122、124和126来与服务器系统102和/或相互通信。 在一个示例中,用户U1、U2、U3和U4可以经由在服务器系统102 上实施的社交网络服务相互交互,其中相应客户端设备120、122、124 和126向一个或者多个服务器系统(比如系统102)传输通信和数据, 并且服务器系统102向客户端设备提供适当数据,从而使得每个客户 端设备可以经由服务器系统102接收向社交网络服务上传的共享的内 容。在一些示例中,社交网络服务可以包括允许用户执行多种通信、 形成链接和关联、上传和发表共享的内容和/或执行其它社交有关功能 的任何系统。例如,社交网络服务可以允许用户向特定或者多个其他 用户发送消息、以与社交网络系统内的其他用户的关联的形式形成社 交链接、在用户列表、好友列表或者其它用户组中对其他用户分组、 发表或者发送包括文本、图像、视频序列、音频序列或者记录的内容 或者其它类型的内容以用于由社交网络服务的指明的用户集合访问、 向社交网络服务的其他用户发送多媒体信息和其它信息、参与与服务 的其他用户的实况视频、音频和/或文本聊天等。如这里所用,术语“社 交联网服务”可以包括有助于用户交互的软件和/或硬件系统,并且可 以包括在网络系统上实施的服务。在一些实现方式中,“用户”可以包 括一个或者多个程序或者虚拟实体以及与系统或者网络对接的人。

用户界面可以实现在客户端设备120、122、124和126上显示图 像和其它内容以及通信、隐私设置、通知和其它数据。可以使用客户 端设备上的软件(比如与服务器系统通信的应用软件或者客户端软 件)来显示这样的界面。可以在客户端设备的输出设备(比如显示屏 幕)上显示界面。

其它实现方式可以使用任何类型的系统和服务。例如,访问任何 类型的电子设备的用户可以利用这里描述的特征。一些实现方式可以 在从计算机网络断开或者间歇地连接到计算机网络的客户端或者服 务器系统上提供这里描述的特征。在一些示例中,具有显示屏幕的客 户端设备可以显示图像并且提供如这里描述的可由用户查看的特征 和结果。

图2是图示了用于提供脸部图像掩模并且使用脸部图像掩模以在 图像中进行调整的方法200的一个示例的流程图。在一些实现方式中, 可以例如在如图1中所示的服务器系统102上实施方法200。在其它 实现方式中,可以在系统(比如一个或者多个客户端设备)上实施方 法200的一些或者全部。在描述的示例中,系统包括一个或者多个处 理器或者处理电路和一个或者多个存储设备(比如数据库106或者其 它存储装置)。在一些实现方式中,一个或者多个服务器和/或客户端 的不同部件可以执行方法200的不同块或者其它部分。方法200可以 由程序指令或者代码实施,这些程序指令或者代码可以由一个或者多 个处理器(比如微处理器)或者其它处理电路实施并且可以被存储在 计算机可读介质(比如磁、光、电磁或者半导体存储介质(包括半导 体或者固态存储器、磁带、可拆卸计算机盘、随机存取存储器(RAM)、 只读存储器(ROM)、闪存、硬磁盘、光盘、固态存储器驱动))等 上。备选地,可以在硬件(逻辑门等)中或者在硬件和软件的组合中 实施这些方法。可以将方法200执行为在系统上运行的应用的部分或 者部件或者执行为与其它应用和操作系统结合运行的应用或者软件。

在一些实现方式中,方法200可以由系统自动地发起。例如,可 以定期地执行或者基于特定事件(比如一个或者多个原有图像被新上 传到系统或者可由系统访问)或者在系统的一个或者多个用户的定制 偏好中指定的条件执行该方法。一些实现方式可以基于用户输入来发 起方法200。用户可以例如已经从界面(比如社交联网界面或者其它 图形界面)选择了发起方法200。

在方法200的块202中,该方法获得用于处理的图像。图像可以 例如是由多个像素组成的数字图像,并且可以被存储在系统的或者以 别的方式可由系统访问的一个或者多个存储设备(比如连接的存储设 备(例如,本地存储设备)或者通过网络连接的存储设备)上。在各 种实现方式中,图像可以由该方法自动地选择例如作为来自多个图像 的相册或者其它汇集(比如在社交联网系统的用户的账户中提供的相 册)的图像。在一些实现方式中,系统可以基于评估可访问的图像的 一个或者多个特性(比如图像的颜色的分布、图像的时间戳和其它元 数据和/或在图像中描绘的标识和识别的内容(比如人、脸部或者对 象))确定获得哪个图像。备选地,用户可以提供或者指明一个或者 多个图像以处理。

在块204中,该方法标识图像中的一个或者多个脸部区域。在一 些实现方式中,通过用于图像的对象识别技术(比如脸部识别)来确 定脸部区域。在一些实现方式中,方法200可以在块204中实施脸部 识别以标识图像中的脸部区域。例如,方法200可以向在系统或者连 接的系统上实施的脸部识别器发送获得的图像,并且从识别器接收脸 部识别结果。脸部识别器可以使用多种技术中的任何技术来识别脸 部。在一些示例中,识别器可以通过标识具有已知的一般形状或者简 档并且空间上位于图像中(比如眼睛、鼻子和嘴巴)并且具有与彼此 (例如,嘴巴在眼睛以下等)和/或与其它可标识的特征(比如其它头 部特征、身体特征等)的已知空间关系的脸部界标(和/或其它特征) 来将对象标识为人脸。识别器可以在一些实现方式中识别图像中的脸 部而未发现描绘的人的身份。一些脸部识别器可以基于这样的标识的 脸部界标来提供脸部位置数据(比如指示脸部区域的脸部多边形的坐 标)。这样的输出脸部区域可以是块204中的标识的脸部区域或者可 以是标识的脸部区域的基础。一些实现方式还可以在块204中例如使 用如以下关于图3描述的用于确定空间脸部区域的相似技术来确定空 间脸部部位,该空间脸部部位比标识的脸部区域更精确地定义图像中 的描绘的脸部。

另外,脸部识别器或者其它脸部标识过程除了脸部位置数据之外 还可以提供其它脸部信息(例如,脸部多边形)。例如脸部识别器可 以提供在脸部中发现的脸部界标的位置作为输出以用于脸部标识过 程。例如,可以提供脸部界标中的一个或者多个脸部界标的空间坐标 (比如每只眼睛的中点、眼睛的左和右端点、指示嘴巴的空间范围的 两个或者更多点、鼻子的中点等)。此外,可以从识别器或者其它分 析提供信息,该信息指示脸部相对于图像的平面而言的标识的定向角 度(比如脸部是否被描绘为直接地与图像的平面相向或者成角度并且 看向一侧。

此外,一些实现方式可以提供关于由识别器标识的脸部或者人的 特性信息(比如其脸部被描绘的人的估计的年龄、性别和其它特性。 可以如以下描述的那样在确定脸部掩模时使用这样的信息。在一些示 例中,脸部识别器可以标识脸部并且基于来自社交联网服务或者其它 数据服务或者存储装置的数据识别描绘的人的身份,并且系统可以从 身份确定年龄、性别或者其它用户特性。例如,可以确定这样的特性 信息而未发现描绘的人的身份,或者也可以确定人的身份以求更精确 的信息。在一些实现方式中,可以基于用户的控制和支配这样的信息 的偏好限制对个人信息(包括用户特性)、比如年龄、性别、身份等)) 的访问。

在块206中,该方法校验是否将处理图像的脸部部分(比如皮肤) 或者是否将处理图像的非脸部部分(比如背景部位)。这一判决可以 由该方法自动地确定或者可以由用户指明。例如,在自动化的过程中, 该方法可以在来自特定汇集和/或具有预定特性的所有图像中以特定 方式处理一个类型的图像部分(比如脸部)和/或可以基于相似标准处 理图像的其它部分或者其它类型的部分。用户偏好可以用来确定将如 何处理图像(包括处理哪些部分)。在一些实现方式中,用户可以提 供输入,该输入指示是否将处理图像的脸部部分或者非脸部部分。

如果将处理图像中的脸部部分,则该方法继续块208,其中确定 用于图像的脸部图像掩模。脸部掩模是具有与图像像素对应的掩模像 素的像素映射,其中每个掩模像素指示对应的图像像素是否为脸部像 素。多种不同技术中的任何技术可以用来在特定实现方式中确定脸部 掩模。例如,在一些情况下,确定的脸部掩模可以是皮肤掩模,该皮 肤掩模指示图像的哪些像素属于描绘的人的脸部的皮肤,其中皮肤像 素未包括描绘其它脸部特征(比如眼睛和嘴巴)的像素。这允许执行 对皮肤像素的调整而未调整眼睛、嘴巴和其它脸部特征(比如用于皮 肤平滑)。以下关于图3描述了用于确定脸部皮肤掩模的一些实现方 式。用于确定脸部图像掩模的其它示例实现方式可以指明图像中的哪 些像素属于人的脸部(包括任何非皮肤脸部特征)。以下关于图5描 述了这样的实现方式的一些示例。一些实现方式无论将处理哪些图像 部分都可以使用相同掩模确定方法,而其它实现方式可以在块208中 选择特定脸部掩模确定方法,而其他实现方式可以在块208中选择特 定脸部掩模确定方法以用于与处理用户的脸部一起使用(例如,图3 的方法),并且可以如在块214中那样选择不同脸部掩模确定方法以 用于处理非脸部像素(例如,图5的方法)。块208的一些实现方式 可以提供掩模,该掩模指明附加皮肤像素(比如描绘人的暴露的皮肤 (例如,人的裸露的胳膊、胸部和腿部)的其它部分的像素)。

在块210中,该方法使用从块208产生的脸部图像掩模以选择图 像中的描绘的脸部的脸部像素。例如,如果在块208中确定的脸部掩 模是皮肤掩模,则可以选择脸部中的脸部皮肤像素,或者选择的像素 除了皮肤之外还可以包括脸部特征(比如眼睛、嘴巴等)。在一些实 现方式中,可以使用脸部掩模来选择在图像中描绘的所有脸部的脸部 像素。在其它实现方式中,选择的脸部像素在图像中的描绘的脸部的 子集中,并且已经从选择排除了一个或者多个其它脸部。这允许脸部 的子集由该方法处理。例如,一些实现方式可以检查用户偏好以寻找 已经被标识的并且与描绘的脸部关联的人(比如社交联网系统的用 户),并且如果那些偏好指示用户(一般地)不想让特定描绘的人的 脸部被调整,则可以从选择排除那些用户的脸部像素。例如,可以使 用可以在块202中提供脸部区域的脸部识别来执行对用户的标识。在 一个示例中,在社交联网服务中,可以比较识别的脸部与服务的用户 的脸部以标识在图像中描绘的哪些人也是服务的用户。一些图像可以 与标识符(比如描述在图像中描绘的内容的标签)关联,这些标签可 以被获得或者解析为对描绘的内容(比如描绘的人)的标识。

在块211中,该方法可以确定将影响对选择的像素的处理的参数。 例如,在一些实现方式中,在块202中接收关于与脸部关联的描绘的 人的估计的特性的信息,并且该信息可以用来调整对图像中的人的脸 部的特定处理类型(比如影响特定类型的滤波器)。在一些示例中, 年龄特性和一个或者多个年龄阈值可以用来确定例如将由高斯模糊 滤波器或者其它模糊滤波器对脸部执行多少模糊。在一个非限制示例 中,对于被估计为年龄40或者更老的人,对将向他们的脸部皮肤像 素应用的模糊将无限制,对于被估计在年龄16到40之间的人,从在 年龄40的全模糊到在年龄16的零模糊线性地按比例减少应用的模糊 数量,并且对于在年龄16以下的人,不应用模糊。相似地,脸部的 性别可以用来影响图像处理。在一个示例中,女性脸部可以被模糊到 正常程度,并且男性脸部可以被模糊到更少程度比如正常的75%(例 如,从而使得脸部特征或者特性(比如胡茬)将未被过于模糊,这可 能是不希望的)。也可以使用其它个人或者脸部特性。这样的确定的 参数可以在一些实现方式中被用户输入的参数超越。可以在一些实现 方式中如以上描述的那样限制对个人信息(包括用户特性(比如年龄、 性别等))的访问。

在块212中,该方法例如使用在块211中确定的任何参数来向选 择的脸部像素应用一个或者多个滤波器和/或其它调整。这可以由执行 先前块的相同系统或者软件模块执行或者可以由不同系统或者模块 执行。在一些实现方式中,基于对应的掩模像素对像素执行可变数量 的处理。例如,处理数量可以基于掩模像素颜色或者其它特征。在一 个示例中,白色掩模像素可以指示全处理,黑色掩模像素可以指示无 处理,并且灰色像素可以指示基于掩模像素中的灰色数量的部分处 理。

在一些示例中,应用的滤波器可以包括可以平滑脸部皮肤的特定 特征(比如皮肤毛孔、胞疱、皱纹或者其它脸部特征)的高斯模糊滤 波器。这样的滤波器可能不希望应用于未描绘人的脸部皮肤的其它像 素(比如人的眼睛、嘴唇、头发、衣服)和非脸部皮肤以及图像的包 围人的背景。这些其它像素未被选择并且因此在块212中未被滤波。 在一些实现方式中,可以在确定的掩模中包括一些非皮肤特征(比如 眼睛和嘴巴)作为脸部像素并且可以用脸部皮肤调整这些非皮肤特 征。在另一示例中,应用的滤波器可以包括对选择的像素的对比度和 /或饱和度调整或者调整选择的像素的颜色、光度和/或锐度的其它滤 波器。方法200的这一处理部分然后完成。在一些实现方式中,该方 法也可以使用确定的脸部掩模来对于非脸部像素在块214-218中对图 像执行处理。

如果如在块206中确定的那样将处理图像中的非脸部部分,则该 方法继续块214,其中确定用于图像的脸部图像掩模。与以上对于块 208描述的内容相似地,多个不同技术中的任何技术可以用来在特定 实现方式中确定脸部掩模。例如,在一些实现方式中,掩模可以指明 包括非皮肤特征(比如眼睛和嘴巴)的脸部像素,因为它可以旨在于 处理在人的脸部以外的图像部分(比如图像的背景部位)。在其它实 现方式中,可能希望处理图像的所有非皮肤部位,甚至眼睛和嘴巴, 在该情况下可以确定脸部皮肤掩模以指明脸部皮肤像素。一些实现方 式可以选择特定脸部掩模确定方法以用于在处理非脸部像素时在块 214中使用,并且如果如在块208-212中那样处理用户的脸部则可以 选择不同脸部掩模确定方法。以下关于图3和图5描述了示例实现方 式。在一些实现方式中,块214可以提供指明附加像素的掩模,这些 附加像素描绘人的暴露的皮肤(例如,人的裸露的胳膊、胸部和腿部) 的其它部分。

在块216中,该方法反转从块214产生的脸部图像掩模以选择图 像的在图像中的描绘的脸部中未包括的像素。在一些实现方式中,反 转脸部掩模可以包括逆应用脸部掩模以选择图像的在如由脸部掩模 定义的脸部外部、以外的像素或者排除在这些脸部内的图像像素。选 择非脸部像素可以包括选择图像中的将由脸部掩模指示为脸部像素 的区域排除的像素。例如,可以选择图像的背景部位的像素以及描绘 人的头发、衣服、身体和在脸部中未包括的其它部分的像素。在一些 实现方式中,来自块214的脸部掩模指明在人的脸部的边界内的所有 脸部特征(比如眼睛、嘴巴、耳朵等)。这允许选择图像的在脸部以 外的所有非脸部部分。在其它实现方式中,在块214中确定的脸部掩 模是脸部皮肤掩模,并且在块216中的选择的像素可以包括非皮肤脸 部特征。在其它情况下,例如如果仅希望处理图像的背景部分,则可 以使用皮肤掩模并且可以取消选择非皮肤脸部特征,因为它们是脸部 的部分。例如,该方法可以取消选择在皮肤掩模中指明的脸部的边界 内定位的任何像素。

在一些实现方式中,从选择排除在图像中描绘的所有脸部中的像 素。在其它实现方式中,在块216的操作中排除描绘的脸部的子集中 的像素并且选择一个或者多个其它描绘的脸部中的像素,从而使得可 以在效果上作为背景的部分处理一些脸部。例如,可能希望脸部的特 定子集保持被保护免于处理,而可以与图像的其它非脸部部分相似地 处理其它脸部。在一个示例中,用户可能希望仅特定人的脸部将保持 未模糊,而图像的所有其它像素将被模糊(包括其他人的脸部)。在 一些实现方式中,与以上描述的方式相似地,对脸部和人身份的标识 可以用来通知应当选择哪些脸部以用于处理。

在块217中,该方法可以确定将影响对选择的像素的处理的参数。 例如,在一些实现方式中,在块202中接收关于与脸部关联的描绘的 人的估计的特性的信息,并且可以使用该信息以调整对图像中的非脸 部或者非皮肤像素的特定处理类型(比如影响特定类型的滤波器)。 例如,一些实现方式可能希望仅如果描绘的脸部或者人属于特定年 龄、性别或者具有某个其它特性才处理图像中的非脸部像素。

在块218中,该方法向选择的非脸部图像像素应用一个或者多个 调整(比如一个或者多个滤波器和/或其它调整)。对图像的被定义为 在如由脸部掩模指明的描绘的脸部外部的或者排除这些脸部的区域 进行调整。这可以由执行先前块的相同系统或者软件模块执行或者可 以由不同系统或者模块执行。在一些实现方式中,与以上描述的方式 相似地基于对应的掩模像素对像素执行可变数量的处理。

在一些示例中,滤波器可以包括高斯模糊滤波器。例如,高斯滤 波器可以平滑图像的背景特征并且排除对所有脸部像素的这一处理 以留下脸部被清楚地描绘。在另一示例中,可以使用对比度调整(比 如局部对比度增强处理)以增强图像中的非脸部像素上的对比度和细 节。这样的调整可能对于人的脸部是不希望的,因为它可能带来不希 望的脸部特征(比如皮肤毛孔和皱纹)。这样的处理可以使用来自块 216的确定的脸部掩模,该脸部掩模包括用于皮肤和非皮肤脸部特征 的像素。在一些实现方式中,可能希望从脸部皮肤排除处理,但是希 望处理脸部非皮肤特征,并且因此可以使用脸部皮肤掩模(例如,如 参照图3描述的那样)。在另一示例中,滤波器可以包括对像素的对 比度和/或饱和度调整或者调整在确定的脸部掩模中未包括的像素或 者描绘的特征的颜色、光度、白平衡和/或锐度的其它滤波器。一些实 现方式可以对非脸部或者非脸部皮肤像素执行降噪,从而使得图像中 的脸部将未被降噪过程失真和/或将未被处理两次(例如,可以处理脸 部以用于平滑,并且然后排除脸部以用于对图像的非脸部部分执行的 去噪)。方法200的这一处理部分然后完成。在一些实现方式中,该 方法也可以在块208-212中对图像的脸部掩模像素执行处理。

在一些实现方式中,可以在服务器系统或者客户端系统上或者在 两个系统上执行在方法200中执行的处理。在一个非限制示例中,相 机、蜂窝电话或者其它便携设备捕获图像并且可以执行方法200。此 外,便携设备可以通过网络向服务器发送捕获的图像,并且服务器可 以使用方法200来处理图像。在一些实现方式中,便携设备可以处理 图像的低分辨率版本以用于更快处理、存储和在便携设备上显示,而 服务器可以处理图像的更高分辨率版本并且在用户账户(例如,网站、 社交联网系统等)中存储所得处理的高分辨率图像。

在一些实现方式中,可以并行执行块212和/或218中的处理。例 如,可以使用一个或者多个类型的滤波器来执行对脸部像素或者脸部 皮肤像素的处理,并且可以使用一个或者多个其它滤波器来基本上或 者部分地同时执行对非脸部和/或非脸部皮肤像素的处理,从而通过并 行化允许效率。

图3是图示了用于确定脸部图像掩模(比如指示图像的那些像素 描绘人的脸部皮肤的脸部皮肤掩模)的方法300的流程图。方法300 可以例如在图2的方法200中用来在块310和/或316中确定脸部掩模。 方法300可以由如以上描述的系统(比如服务器和/或客户端设备)实 施。

在块302中,该方法接收标识脸部区域的脸部信息。例如,如以 上对于方法200的块204而描述的那样,脸部信息可以描述由脸部识 别器识别的标识的脸部。在一些实现方式中,脸部区域可以是在由脸 部识别器提供的脸部框以内的区域,该脸部框可以是包围脸部的界标 特征的多边形、矩形或者其它成形的边界。例如,脸部区域可以是包 围人的眼睛、颊骨、鼻子和嘴巴的区域。以下描述的图7示出了脸部 区域的一个示例,或者可以在其它实现方式中提供更小区域(例如, 更接近地包围眼睛和嘴巴的界标特征)。接收的脸部信息也可以包括 关于脸部的其它信息(包括定义脸部界标(比如眼睛和嘴巴)的一个 或者多个坐标或者位置)。在一些实现方式中,也可以接收附加脸部 信息(比如指示脸部相对于图像平面的定向的信息,例如,脸部是否 从图像的平面直视(例如,注视拍摄图像的相机)、脸部被定向为直 视特定侧或者脸部在从参考方向估计的特定角度注视)。

在块304中,该方法将在块302中获得的脸部区域内的像素中的 每个像素的颜色转换到特定色空间。在一些示例中,可以将RGB(红 -绿-蓝)其它色模型像素转换到指示光度(Y)和两个色度值(Cb和 Cr)的YCbCr色空间。这样的色空间允许检查像素的颜色方面而未 包括光度或者亮度分量(不同于RGB像素的情况)。其它实现方式 可以将像素颜色转换到其它类型的色空间(比如从像素颜色相似地分 离出光度或者亮度分量的Lab(L*a*b)色空间或者其它色空间(比 如HSV(色调、饱和度值)等)。

在块306中,该方法检查在块302中获得的脸部区域内的像素的 转换的颜色、比较这些颜色与已知肤色的预定范围并且选择在预定颜 色范围内发现的脸部区域像素。在一些实现方式中,已知肤色的预定 范围可以被定义为色空间图形上的预定义的区段或者部位,该区段或 者部位指示已知的肤色的希望的范围。

例如,图4是示出了在YCbCr色空间中提供的色空间图形400 的一个示例的图解图示,该色空间图形指示已知肤色的预定范围。图 形轴指示颜色的Cb(水平)和Cr(竖直)分量。在图形中提供椭圆 形状的区段402以指示Cb和Cr值的哪些组合很可能是肤色或者色 调。例如,椭圆形状的区段402可以如图形400中所示在左上象限中。 在一些实现方式中,可以基于采样和检查群体(比如一般群体和/或更 具体的人集合)中的多个人的肤色来确定区段,其中人可以具有广泛 多种不同种族和肤色以包括宽广范围的实际肤色。对人的大量和广泛 多种图像的采样也可以用来获得肤色往往在特定色空间中聚集于何 处的指示,从而使得可以估计区段(比如区段402)。

在图4的示例中,来自脸部区域的像素颜色分布被示出为点404 (比如来自以下描述的在图6至图10中所示的脸部区域示例)。这 些点404中的一些点在椭圆形状的区段402以外,并且一些点在区段 402以内。该方法选择脸部区域中的具有在预定颜色范围内的颜色的 像素(比如与位于区段402中的点404对应的像素)。这一选择提供 来自图像的更多地可能描绘人的皮肤的像素。因此,在一个示例中, 如果脸部区域像素如图4中所示具有在色空间图形400的椭圆形状的 区段402内的Cb和Cr值,则选择该像素。

在一些实现方式中,该方法也可以通过执行边缘测试以进一步缩 减选择的集合中的像素来界定选择的脸部区域像素。例如可以比较像 素的光度与阈值,并且可以忽略和未选择具有在更低阈值以下或者在 更高阈值以上的光度的像素。这样的极暗或者亮像素更多地可能描绘 除了皮肤之外的脸部特征。这样的边缘测试也可以校验像素的饱和度 是否在预定阈值以外,并且如果这样则去除考虑这样的像素。在一些 实现方式中,如果这样的边缘测试计算成本更低,则可以当在块306 中比较脸部区域像素与色空间中的预定颜色范围之前执行这样的边 缘测试。在这样的情况下,可以对未被边缘测试标准排除的脸部区域 像素的合格集合执行块306的颜色比较。

回顾图3,在块308中,该方法确定用于选择的脸部区域像素的 特性肤色。例如,在一些实现方式中,特性肤色是选择的脸部区域像 素的平均颜色(例如,在用于选择的像素的三个R、G和B色通道中 的每个色通道中的平均色分量)。在块310中,该方法确定关于在选 择的脸部区域像素的集合内的颜色的分布的信息。在一些示例中,可 以对于每个色通道确定标准偏差。这一信息估计选择的脸部区域像素 中的颜色的分布多么宽地变化。

在块312中,该方法可以基于在块320中接收的脸部界标和/或其 它脸部信息确定空间脸部部位。在一些实现方式中,在块312中确定 的空间脸部部位可以是人的脸部的边界的比在块302中接收的脸部区 域更准确的表示。例如,脸部区域可以是近似地包围脸部的特定界标 (比如眼睛、颊骨和嘴巴)的部位,并且因此可以未定义脸部的全范 围和/或可以包括非脸部特征(比如头发、身体部分等)。空间脸部部 位可以调整这样的脸部区域以更准确地包括人的脸部的部位。

在一些实现方式中,可以通过检查脸部界标和其它接收的脸部信 息并且使用脸部和头部中的已知一般比例估计脸部和/或头部大小来 确定空间脸部部位。这样的脸部界标可以例如提供指示人的眼睛和嘴 巴的空间范围和/或中点的坐标以及用于鼻子的估计的鼻尖或者中点。 在一些示例中,该方法可以通过估计眼睛的中点隔开两个眼睛宽度来 确定眼睛宽度,并且可以通过估计头部为约5个眼睛宽度来估计头部 的宽度。脸部信息也可以包括脸部如何被定向的指示(例如,从图像 直视或者或者看向一侧和这样的定向的范围)。这一定向信息可以用 来基于透视和其它因素更佳地估计在眼睛之间的距离和头部的大小。 另外,可以基于经过眼睛绘制的线的角度和/或嘴巴的角度确定头部和 脸部在图像的平面内的角度。在一些实现方式中,关于头部相对于眼 睛的间距以及嘴巴的大小和间距而言的平均大小的一般地已知的数 据还可以用来确定对空间脸部部位的估计。例如,可以从基于眼睛间 距和嘴巴间距的数据获得或者确定头部和脸部大小的一般地已知的 比例以及在脸部的不同界标之间的一般地已知的比率。

在一些实现方式中,估计的空间脸部部位可以形状为椭圆形作为 对脸部的形状的近似。可以在其它实现方式中使用其它形状。估计的 脸部形状部位的大小可以被保守地确定为大以保证在该部位中包括 所有皮肤脸部像素。

在块314中,可以在块316中确定的空间脸部部位以外确定下降 区域。下降区域可以是掩模的“羽化”部位,该部位迫使在它的部位内 的图像像素被部分地处理而不是在空间脸部部位内的像素将被处理 的全程度。例如,下降区域中的像素被评估以确定与特性肤色的相似 性并且这些像素也被指明为具有比空间脸部部位中的像素更少的处 理分级。例如,下降区域可以是从空间脸部部位延伸出预定数量的区 段。在一个示例中,下降区域可以在一个非限制示例中是与空间脸部 部位相同的形状并且被确定为空间脸部部位的缩放的版本(例如,空 间脸部部位的大小的1.5倍)并且居中于空间脸部部位上。

在一些实现方式中,在下降区域中,待执行的处理数量可以被指 明为从在空间脸部部位的100%朝着在下降区域的外边缘的0%的连 续梯度。在一些实现方式中,下降区域中的下降可以非线性(例如, 在特定减少数量之后朝着0%的陡峭掉落)。下降区域允许在图像的 脸部掩模部位与非脸部部分之间的界面执行部分地处理的效果,从而 减少在图像的这两个部分之间的任何锐利对比度或者可视边界。在一 些实现方式中(比如在如在图2的块214-218中那样使用脸部掩模的 逆掩模以选择非脸部或者非脸部像素时的一些情况),可以从皮肤掩 模省略下降区域,例如,从而使得下降区域中的所有像素为视为脸部 皮肤像素。例如,如果处理包括对非脸部像素的对比度增强,则可以 无需下降区域。

在块316中,该方法比较空间脸部部位和下降区域内的像素与在 块308中确定的特性肤色,并且在块318中,该方法指明脸部掩模的 特定掩模像素以指示图像中的脸部皮肤像素。指明的掩模像素是与具 有在与特性肤色的阈值相似度内的颜色的图像像素对应的那些像素。 例如,校验每个像素的三个色通道中的每个色通道在阈值范围内。在 一些实现方式中,阈值范围基于在块308中选择的用于确定特性颜色 的像素的颜色的分布。例如,如在块310中确定的每个色通道的标准 偏差可以用作通道中的颜色的分布有多么宽的指示,并且阈值范围可 以基于标准偏差。例如,标准偏差越大,可以在块318中用来确定空 间脸部部位或者下降区域中的图像像素是否与将作为脸部掩模中的 脸部皮肤像素而指明的特性颜色充分地相似的阈值范围就越大。在其 它实现方式中,阈值范围可以是预定范围。

在一些实现方式中,也在掩模中指明了指示更少相似皮肤像素的 掩模像素以指示将对对应的图像像素执行的减少的处理数量。脸部掩 模的空间脸部部位中的每个掩模像素可以指示图像中的对应的像素 与特性肤色相似的可变程度并且由此指示用于对应的像素的处理程 度。在一些示例中,多个相似度程度可以在脸部掩模中由不同指明(例 如,两个、三个或者更多个相似度程度)指示。例如,掩模像素的特 性(比如颜色)可以用来指示在空间脸部部位内的部分相似度。在一 个非限制示例中,如以上确定的代表在特性肤色的阈值相似度内的图 像像素的掩模像素被视为全皮肤像素并且可以用掩模中的适当特性 (比如在这一示例中的白色)来指明。另外,具有不同颜色的阴影的 掩模像素可以代表在阈值以外、但是与阈值接近的图像像素,该阈值 可以指示与特性皮肤颜色的部分相似度程度,其中指示的阴影指示将 对对应图像像素执行的处理数量。在示例中,可以使用灰色掩模像素, 其中灰色像素与白色越接近,对它的图像像素执行越接近全皮肤像素 处理。在一个非限制示例中,50%灰度值可以指示用于对应的图像像 素的50%处理,以此类推。在一些实现方式中,可以对于具有在相似 度阈值与高于相似度阈值的第二阈值之间的色差的像素指明线性连 续程度分级,并且超出第二阈值则不执行处理。例如,全黑掩模像素 可以指示对应的图像像素无与特性肤色的颜色相似度并且对于对应 的图像像素不执行处理。

用于一些脸部掩模像素的这一部分处理允许在处理的脸部掩模 像素与非掩模像素之间的更平滑过渡,从而减少在这两个类型的像素 之间的锐利对比度或者可视边界。可以备选地使用其它阈值设置方案 和/或可以基于经过相似度阈值的颜色距离指明处理的非线性减少。例 如,处理的陡峭下降可以被指明为高于预定色差。相同相似程度指示 可以用于脸部掩模的下降区域中的掩模像素,其中迫使对应的图像像 素具有朝着下降区域的外边缘减少的处理数量。

在执行块318之后,所得脸部皮肤掩模指明空间脸部部位和下降 区域中的在可变程度上与特性肤色相似的脸部皮肤像素。脸部皮肤掩 模中的所有其它像素被指明为非脸部皮肤像素。

在一些实现方式中,可以对于在图像中标识的每个脸部区域分离 地和独立地执行方法300。因此,例如每个脸部区域可以让它自己的 特性肤色被确定和它自己的像素被选择用于包括在用于该脸部的皮 肤像素中,并且在一些实现方式中,每个脸部可以具有不同数量的执 行的处理(比如基于关联脸部或者人的特性的不同模糊数量)。可以 在一些实现方式中与以上描述的方式相似地基于用户输入、偏好或者 其它因素忽略并且在脸部掩模中未包括一些脸部区域和脸部。

图5是图示了用于确定脸部图像掩模的方法500的流程图,该脸 部图像掩模指示图像的哪些像素描绘人的脸部。方法500可以例如在 图2的方法200中用来在块310和/或316中确定脸部掩模。方法300 可以由如以上描述的系统(比如服务器和/或客户端设备)实施。

在块502中,该方法接收标识脸部区域的脸部信息。例如,如以 上对于方法200的块204而描述的那样,脸部信息可以描述由脸部识 别器识别的标识的脸部。在一些实现方式中,脸部区域可以是在由脸 部识别器提供的脸部框以内的区域,该脸部框可以是多边形、矩形或 者在脸部的界标特征周围的其它形状的边界。例如,脸部区域可以是 包围人的眼睛、颊骨、鼻子和嘴巴的区域。另外,脸部信息可以包括 关于脸部的其它信息(包括定义脸部界标(比如眼睛和嘴巴)的一个 或者多个坐标或者位置)。在一些实现方式中,如果脸部区域延伸超 出脸部界标以外阈值数量或者更多,则脸部区域可以被减少大小以更 接近地包围界标。

在块504中,该方法发现在脸部区域以外的具有与脸部区域像素 相似的颜色的附加像素,并且将那些附加像素连接到脸部区域。在一 些实现方式中,例如可以使用溅斑技术(例如,斑(blob)提取或者 连通分量分析)从脸部区域中的一个或者多个像素开始并且在从脸部 的中心向外的方向上递归地发现连接的相似像素。在这样的技术的一 些示例中,在脸部区域的外侧边缘上的像素可以开始该过程,并且可 以检查从脸部区域的中心离开的下一像素。可以在颜色上比较邻接检 查的像素的像素中的一个或者多个像素与检查的像素,并且如果颜色 相似(例如,在彼此的预定颜色阈值内),则可以用与相似邻接像素 相同的标注来标记检查的像素。如果在脸部区域中包括邻接像素中的 任何邻接像素,则可以向包括脸部区域的集合添加检查的像素和任何 相似颜色的邻居。然后可以从脸部区域更远处检查另一先前未检查的 像素。以这一方式,基于颜色相似度向脸部区域添加附加邻近皮肤像 素,直至已经经由连接像素添加了在图像中描绘的整个脸部。另外, 其它皮肤部位如果连接到脸部皮肤像素则也可以被包括在掩模中(比 如人的领口皮肤部位、耳朵等)。在一些实现方式中,可以同时和独 立地处理多个线程,其中每个线程处理在脸部区域周围的不同区域或 者网格空间中的连接的像素,并且在相同时间或者在相同时间段中发 现在脸部区域周围的各种位置的连接的像素。其它实现方式也可以通 过查找具有与脸部像素相似的颜色的像素的其它群集来发现人的其 它皮肤部位(例如,胳膊、胸部等)。

其它实现方式可以使用其它技术以用于发现脸部像素。在一个示 例中,可以确定脸部区域中的颜色范围(比如平均颜色或者如以上对 于图3而描述的那样相似地确定的特性颜色),并且可以比较图像中 的所有像素与脸部区域颜色范围,而且可以选择具有相似颜色(例如, 在阈值颜色范围内)的像素。选择脸部区域像素和连接到脸部区域像 素的选择的像素的任何群集作为脸部像素。

在块506中,掩模的脸部像素部位被定义为如在块504中发现的 脸部区域和具有相似颜色的连接到脸部区域的像素。这一部位被定义 为包括脸部像素,而掩模的其它像素被指明为非脸部像素。例如,可 以用掩模像素的特性(比如颜色)完成指明,例如,白色用于脸部像 素而黑色用于非脸部像素。在块508中,通过在脸部像素部位以外的 下降区域内提供梯度指明来羽化与定义的脸部像素部位相接的边缘。 例如,与以上参照图3描述的方式相似地,在下降区域内的像素可以 被指明为与内部脸部掩模像素相似地被100%处理并且从像素位于的 脸部部位越远处被处理越少数量从而逐渐地减少至在下降区域的外 边缘为0%。在一些实现方式中,下降区域可以在先前定义的脸部像 素部位内,或者在其它实现方式中,可以在脸部像素部位边界以外添 加下降区域。然后提供包括下降区域的所得脸部掩码以用于处理。

在一些实现方式中,可以对于在图像中标识的每个脸部区域分离 地和独立地执行方法500。因此,例如,每个脸部区域可以让它自己 的脸部像素部位基于个别脸部区域和连接的像素而被确定。可以在一 些实现方式中与以上描述的方式相似地基于用户输入、偏好或者其它 因素忽略一些脸部区域。

可以使用用于脸部掩模检测的其它实现方式。例如,一些图像可 以具有与它们关联的深度映射,该深度映射对于在图像中描绘的每个 特征指示距相机的各种深度或者距离。在图像中描绘的脸部和人通常 地在图像前景内。可以如以上描述的那样基于脸部区域确定脸部掩 模,并且已知在前景中(例如,在阈值距离内接近相机)的像素可以 连接到脸部区域并且被包括在掩模的脸部像素中,而可以从脸部像素 排除在背景中(例如,在从相机的阈值距离以外定位)的像素。

应当注意,可以在适当时按照与所示顺序不同的顺序和/或与其它 块同时地(部分地或者完全地)执行图2、图3和图5的方法。在一 些实现方式中,块可以在方法中多次、按照不同顺序和/或在不同时间 出现。在一些实现方式中,可以例如在如图1中所示的服务器系统102 上实施方法200、300和/或400。在一些实现方式中,一个或者多个 客户端设备除了服务器系统执行一个或者多个块或者取代服务器系 统执行那些块也可以执行那些块。

图6至图10是处理示例图像以确定脸部掩模并且调整图像像素 的一些示例的图解图示。如图6中所示的图像600可以是用于根据这 里描述的一个或者多个实现方式的脸部掩模和调整的基础。可以在一 些实现方式中在例如图1的客户端设备120、122、124和/或126的显 示设备或者服务器系统102上显示图像600。在其它实现方式中,可 以如这里描述的那样处理图像600而未被显示或者在所有处理完成之 后被显示。在一个非限制示例中,用户可以在例如用于社交联网服务 或者应用的客户端设备上的接口中查看图像600。

图7示出了在由脸部识别系统或者模块处理之后的图像600,从 而使得脸部区域702已经被标识用于在图像中描绘的人的脸部。脸部 区域702由可以围绕非皮肤脸部特征(比如眼睛和嘴巴)的界定框704 定义。来自脸部区域704的像素可以用于确定特性肤色(在图3中) 或者可以用作用于发现连接的像素的起点(在图5中,例如使用在脸 部部位内的更小脸部区域)。界标也可以由如图8中所示脸部识别过 程标识。

图8示出了在已经如在图3的块312中描述的那样基于脸部区域 702和任何其它接收的脸部信息为图像确定空间脸部部位802之后的 示例脸部掩模800。空间脸部部位802包围描绘的脸部的近似部位。 已经如对于图3的块314而描述的那样确定了下降区域804。在其它 实现方式中,可以例如如在图5的方法500中描述的那样尚未确定空 间脸部部位802。

图8也将从脸部标识过程接收的或者基于脸部信息确定的脸部界 标指示符示出为黑点。这样的界标指示符可以是眼睛的中心点、在眼 睛之间的中点、嘴巴的四个或者五个边界点、用于鼻子的鼻尖的点等。 例如,可以在图3的方法中确定更准确的空间脸部部位时使用界标点。

图8和图9示出了用于示例图像600的所得示例脸部掩模800。 在这一示例中,脸部掩模800是基于图3的过程、基于以上描述的脸 部区域702和空间脸部部位802确定的皮肤掩模。脸部掩模中的白色 像素指示图像的部分,这些部分描绘在原有图像600中描绘的人的脸 部皮肤,其中像素越白,该像素将被以后处理操作越完全地处理。黑 色像素指示图像的未描绘皮肤的部分。在这一示例中,在皮肤掩模中 未包括用户的眼睛、嘴巴和头发。掩模800中的灰色像素指示将根据 掩模像素的灰度级在更少程度上处理的皮肤像素的部分指明。

图10示出了已经基于图8和图9中所示脸部掩模800处理和调 整的已处理输出图像1000的示例。在这一示例中,图像1000已经让 高斯模糊应用于由脸部掩模指示的脸部皮肤像素。这一处理平滑皮肤 以去除皮肤特征中的一些皮肤特征而未影响图像的其它部分。如果使 用脸部掩模的逆掩模,则将模糊图像的其它部分而不是脸部皮肤部 分。

因此,描述的特征允许自动地选择图像的希望的脸部和/或非脸部 部分以用于处理。用户无需人工地选择任何区域或者边界以用于采 样、掩模化或者处理。另外,基于空间脸部区域和颜色相似度确定脸 部掩模,从而允许准确和高效地确定脸部和皮肤像素。

图11是可以用来实施这里描述的一些实现方式的示例设备1100 的框图。在一个示例中,设备1100可以用来实施图1的服务器设备 104以及执行这里描述的适当方法实现方式。服务器设备1100可以是 任何适当计算机系统、服务器或者其它电子或者硬件设备。例如,服 务器设备1100可以是大型机计算机、台式计算机、工作站、便携计 算机或者电子设备(便携设备、蜂窝电话、智能电话、平板计算机、 电视、TV机顶盒、个人数字助理(PDA)、媒体播放器、游戏设备 等)。在一些实现方式中,服务器设备1100包括处理器1102、存储 器1104和输入/输出(I/O)接口1106。

处理器1102可以是用于执行程序代码并且控制设备1100的基本 操作的一个或者多个处理器或者处理电路。“处理器”包括处理数据、 信号或者其它信息的任何适当硬件和/或软件系统、机制或者部件。处 理器可以包括具有通用中央处理单元(CPU)、多个处理单元、用于 实现功能的专用电路装置的系统或者其它系统。处理无需限于特定地 理位置或者具有时间限制。例如,处理器可以“实时”、“离线”、在“批 量模式中”等执行它的功能。处理的部分可以在不同时间和在不同位 置由不同(或者相同)处理系统执行。计算机可以是与存储器通信的 任何处理器。

通常地在设备1100中提供存储器1104以用于由处理器1102访 问,并且存储器1104可以是适合用于存储用于由处理器执行的指令 并且位置与处理器1102分离和/或与之集成的任何适当处理器可读存 储介质(比如随机存取存储器(RAM)、只读存储器(ROM)、电 可擦除只读存储器(EEPROM)、闪存等)。存储器1104可以存储 由处理器1102在服务器设备1100上操作的软件(包括操作系统1108 和一个或者多个应用引擎1110(比如图形编辑引擎、web主控引擎、 社交联网引擎等))。在一些实现方式中,应用引擎1110可以包括 使处理器1102能够执行这里描述的功能(例如,图2、图3和/或图5 的方法中的一些或者所有方法)的指令。存储器1104中的软件中的 任何软件可以备选地被存储在任何其它适当存储位置或者计算机可 读介质上。此外,存储器1104(和/或其它连接的存储设备)可以存 储在这里描述的特征中使用的隐私设置、内容和其它数据。存储器 1104和任何其它类型的存储装置(磁盘、光盘、磁带或者其它有形介 质)可以被视为“存储设备”。

I/O接口1106可以提供用于实现使服务器设备1100与其它系统 和设备对接的功能。例如,网络通信设备、存储设备(比如存储器和 /或数据库106)以及输入/输出设备可以经由接口1106通信。在一些 实现方式中,I/O接口可以连接到接口设备(比如输入设备(键盘、 指点设备、触屏、麦克风、相机、扫描仪等)和输出设备(显示设备、 扬声器设备、打印机、马达等))。

为了易于图示,图11为处理器1102、存储器1104、I/O接口1106 以及软件块1108和1110中的每个部件示出了一个块。这些块可以代 表一个或者多个处理器或者处理电路、操作系统、存储器、I/O接口、 应用和/或软件模块。在其它实现方式中,服务器设备1100可以不具 有所示的部件和/或取代这里所示的单元或者除了这里所示的单元之 外还可以具有包括其它类型的单元的其它单元。尽管系统102被描述 为执行如在这里的一些实现方式中描述的步骤,但是系统102或者相 似系统的任何适当部件或者部件组合或者与这样的系统关联的任何 一个或者多个适当处理器可以执行描述的步骤。

客户端也可以实施这里描述的特征和/或与这里描述的特征一起 使用,比如图1中所示的客户端设备120-126。示例客户端设备可以 包括一些与设备1100相似的部件(比如处理器1102、存储器1104 和I/O接口1106)。可以在存储器中提供和由处理器使用适合用于客 户端设备的操作系统、软件和应用(比如客户端群通信应用软件)。 用于客户端设备的I/O接口可以连接到网络通信设备以及输入和输出 设备(比如用于捕获声音的麦克风、用于捕获图像或者视频的相机、 用于输出声音的音频扬声器设备、用于输出图像或者视频的显示设备 或者其它输出设备)。例如,显示设备可以用来显示如这里描述的设 置、通知和权限,其中这样的设备可以包括任何适当显示设备(比如 LCD、LED或者等离子体显示屏幕、CRT、电视、监视器、触屏、3D 显示屏幕或者其它可视显示设备)。一些实现方式可以提供音频输出 设备(比如说出广告中的文本和/或描述设置、通知和权限的语音输出 或者合成)。

虽然已经关于其具体实现方式描述了说明书,但是这些具体实现 方式仅为例示性而非限制。在示例中举例说明的概念可以应用于其它 示例和实现方式。

在这里讨论的系统可以收集关于用户的个人信息或者可以利用 个人信息的情形中,可以向用户提供用于控制程序或者特征是否收集 用户信息(例如,关于用户的社交网络、用户特性(年龄、性别、职 业等)、社交动作或者活动、用户的偏好或者用户的当前位置)的信 息的机会。此外,可以在存储或者使用某些数据之前以一种或者多种 方式对待它,从而使得去除个人地可标识的信息。例如,可以对待用 户的身份,从而使得不能对于用户确定个人地可标识的信息或者可以 广义化用户的其中获得位置信息的地理位置(比如广义化成城市、ZIP 代码或者州级),从而使得不能确定用户的特定位置。因此,用户可 以具有对如何收集关于用户的信息和由服务器使用关于用户的信息 的控制。

注意,在本公开内容中描述的功能块、特征、方法、设备和系统 可以被集成或者划分成如本领域技术人员将知道的系统、设备和功能 块的不同组合。任何适当编程语言和编程技术可以用来实施特定实现 方式的例程。可以运用不同编程技术(比如过程或者面向对象)。例 程可以在单个处理设备或者多个处理器上执行。虽然可以按照具体顺 序执行步骤、操作或者计算,但是可以在不同特定实现方式中改变顺 序。在一些实现方式中,可以在相同时间执行如在本说明书中被示出 为依次的多个步骤或者块。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号