用于图像中的与脸部有关的选择和处理的图像掩模的制作方法_5

文档序号:9602540阅读:来源:国知局
因素忽略并且在脸部掩模中未包括一些脸部区域和脸部。
[0066]图5是图示了用于确定脸部图像掩模的方法500的流程图,该脸部图像掩模指示图像的哪些像素描绘人的脸部。方法500可以例如在图2的方法200中用来在块310和/或316中确定脸部掩模。方法300可以由如以上描述的系统(比如服务器和/或客户端设备)实施。
[0067]在块502中,该方法接收标识脸部区域的脸部信息。例如,如以上对于方法200的块204而描述的那样,脸部信息可以描述由脸部识别器识别的标识的脸部。在一些实现方式中,脸部区域可以是在由脸部识别器提供的脸部框以内的区域,该脸部框可以是多边形、矩形或者在脸部的界标特征周围的其它形状的边界。例如,脸部区域可以是包围人的眼睛、颊骨、鼻子和嘴巴的区域。另外,脸部信息可以包括关于脸部的其它信息(包括定义脸部界标(比如眼睛和嘴巴)的一个或者多个坐标或者位置)。在一些实现方式中,如果脸部区域延伸超出脸部界标以外阈值数量或者更多,则脸部区域可以被减少大小以更接近地包围界标。
[0068]在块504中,该方法发现在脸部区域以外的具有与脸部区域像素相似的颜色的附加像素,并且将那些附加像素连接到脸部区域。在一些实现方式中,例如可以使用溅斑技术(例如,斑(blob)提取或者连通分量分析)从脸部区域中的一个或者多个像素开始并且在从脸部的中心向外的方向上递归地发现连接的相似像素。在这样的技术的一些示例中,在脸部区域的外侧边缘上的像素可以开始该过程,并且可以检查从脸部区域的中心离开的下一像素。可以在颜色上比较邻接检查的像素的像素中的一个或者多个像素与检查的像素,并且如果颜色相似(例如,在彼此的预定颜色阈值内),则可以用与相似邻接像素相同的标注来标记检查的像素。如果在脸部区域中包括邻接像素中的任何邻接像素,则可以向包括脸部区域的集合添加检查的像素和任何相似颜色的邻居。然后可以从脸部区域更远处检查另一先前未检查的像素。以这一方式,基于颜色相似度向脸部区域添加附加邻近皮肤像素,直至已经经由连接像素添加了在图像中描绘的整个脸部。另外,其它皮肤部位如果连接到脸部皮肤像素则也可以被包括在掩模中(比如人的领口皮肤部位、耳朵等)。在一些实现方式中,可以同时和独立地处理多个线程,其中每个线程处理在脸部区域周围的不同区域或者网格空间中的连接的像素,并且在相同时间或者在相同时间段中发现在脸部区域周围的各种位置的连接的像素。其它实现方式也可以通过查找具有与脸部像素相似的颜色的像素的其它群集来发现人的其它皮肤部位(例如,胳膊、胸部等)。
[0069]其它实现方式可以使用其它技术以用于发现脸部像素。在一个示例中,可以确定脸部区域中的颜色范围(比如平均颜色或者如以上对于图3而描述的那样相似地确定的特性颜色),并且可以比较图像中的所有像素与脸部区域颜色范围,而且可以选择具有相似颜色(例如,在阈值颜色范围内)的像素。选择脸部区域像素和连接到脸部区域像素的选择的像素的任何群集作为脸部像素。
[0070]在块506中,掩模的脸部像素部位被定义为如在块504中发现的脸部区域和具有相似颜色的连接到脸部区域的像素。这一部位被定义为包括脸部像素,而掩模的其它像素被指明为非脸部像素。例如,可以用掩模像素的特性(比如颜色)完成指明,例如,白色用于脸部像素而黑色用于非脸部像素。在块508中,通过在脸部像素部位以外的下降区域内提供梯度指明来羽化与定义的脸部像素部位相接的边缘。例如,与以上参照图3描述的方式相似地,在下降区域内的像素可以被指明为与内部脸部掩模像素相似地被100%处理并且从像素位于的脸部部位越远处被处理越少数量从而逐渐地减少至在下降区域的外边缘为0%。在一些实现方式中,下降区域可以在先前定义的脸部像素部位内,或者在其它实现方式中,可以在脸部像素部位边界以外添加下降区域。然后提供包括下降区域的所得脸部掩码以用于处理。
[0071]在一些实现方式中,可以对于在图像中标识的每个脸部区域分离地和独立地执行方法500。因此,例如,每个脸部区域可以让它自己的脸部像素部位基于个别脸部区域和连接的像素而被确定。可以在一些实现方式中与以上描述的方式相似地基于用户输入、偏好或者其它因素忽略一些脸部区域。
[0072]可以使用用于脸部掩模检测的其它实现方式。例如,一些图像可以具有与它们关联的深度映射,该深度映射对于在图像中描绘的每个特征指示距相机的各种深度或者距离。在图像中描绘的脸部和人通常地在图像前景内。可以如以上描述的那样基于脸部区域确定脸部掩模,并且已知在前景中(例如,在阈值距离内接近相机)的像素可以连接到脸部区域并且被包括在掩模的脸部像素中,而可以从脸部像素排除在背景中(例如,在从相机的阈值距离以外定位)的像素。
[0073]应当注意,可以在适当时按照与所示顺序不同的顺序和/或与其它块同时地(部分地或者完全地)执行图2、图3和图5的方法。在一些实现方式中,块可以在方法中多次、按照不同顺序和/或在不同时间出现。在一些实现方式中,可以例如在如图1中所示的服务器系统102上实施方法200、300和/或400。在一些实现方式中,一个或者多个客户端设备除了服务器系统执行一个或者多个块或者取代服务器系统执行那些块也可以执行那些块。
[0074]图6至图10是处理示例图像以确定脸部掩模并且调整图像像素的一些示例的图解图示。如图6中所示的图像600可以是用于根据这里描述的一个或者多个实现方式的脸部掩模和调整的基础。可以在一些实现方式中在例如图1的客户端设备120、122、124和/或126的显示设备或者服务器系统102上显示图像600。在其它实现方式中,可以如这里描述的那样处理图像600而未被显示或者在所有处理完成之后被显示。在一个非限制示例中,用户可以在例如用于社交联网服务或者应用的客户端设备上的接口中查看图像600。
[0075]图7示出了在由脸部识别系统或者模块处理之后的图像600,从而使得脸部区域702已经被标识用于在图像中描绘的人的脸部。脸部区域702由可以围绕非皮肤脸部特征(比如眼睛和嘴巴)的界定框704定义。来自脸部区域704的像素可以用于确定特性肤色(在图3中)或者可以用作用于发现连接的像素的起点(在图5中,例如使用在脸部部位内的更小脸部区域)。界标也可以由如图8中所示脸部识别过程标识。
[0076]图8示出了在已经如在图3的块312中描述的那样基于脸部区域702和任何其它接收的脸部信息为图像确定空间脸部部位802之后的示例脸部掩模800。空间脸部部位802包围描绘的脸部的近似部位。已经如对于图3的块314而描述的那样确定了下降区域804。在其它实现方式中,可以例如如在图5的方法500中描述的那样尚未确定空间脸部部位 802。
[0077]图8也将从脸部标识过程接收的或者基于脸部信息确定的脸部界标指示符示出为黑点。这样的界标指示符可以是眼睛的中心点、在眼睛之间的中点、嘴巴的四个或者五个边界点、用于鼻子的鼻尖的点等。例如,可以在图3的方法中确定更准确的空间脸部部位时使用界标点。
[0078]图8和图9示出了用于示例图像600的所得示例脸部掩模800。在这一示例中,脸部掩模800是基于图3的过程、基于以上描述的脸部区域702和空间脸部部位802确定的皮肤掩模。脸部掩模中的白色像素指示图像的部分,这些部分描绘在原有图像600中描绘的人的脸部皮肤,其中像素越白,该像素将被以后处理操作越完全地处理。黑色像素指示图像的未描绘皮肤的部分。在这一示例中,在皮肤掩模中未包括用户的眼睛、嘴巴和头发。掩模800中的灰色像素指示将根据掩模像素的灰度级在更少程度上处理的皮肤像素的部分指明。
[0079]图10示出了已经基于图8和图9中所示脸部掩模800处理和调整的已处理输出图像1000的示例。在这一示例中,图像1000已经让高斯模糊应用于由脸部掩模指示的脸部皮肤像素。这一处理平滑皮肤以去除皮肤特征中的一些皮肤特征而未影响图像的其它部分。如果使用脸部掩模的逆掩模,则将模糊图像的其它部分而不是脸部皮肤部分。
[0080]因此,描述的特征允许自动地选择图像的希望的脸部和/或非脸部部分以用于处理。用户无需人工地选择任何区域或者边界以用于采样、掩模化或者处理。另外,基于空间脸部区域和颜色相似度确定脸部掩模,从而允许准确和高效地确定脸部和皮肤像素。
[0081]图11是可以用来实施这里描述的一些实现方式的示例设备1100的框图。在一个示例中,设备1100可以用来实施图1的服务器设备104以及执行这里描述的适当方法实现方式。服务器设备1100可以是任何适当计算机系统、服务器或者其它电子或者硬件设备。例如,服务器设备1100可以是大型机计算机、台式计算机、工作站、便携计算机或者电子设备(便携设备、蜂窝电话、智能电话、平板计算机、电视、TV机顶盒、个人数字助理(PDA)、媒体播放器、游戏设备等)。在一些实现方式中,服务器设备1100包括处理器1102、存储器1104和输入/输出(I/O)接口 1106。
[0082]处理器1102可以是用于执行程序代码并且控制设备1100的基本操作的一个或者多个处理器或者处理电路。“处理器”包括处理数据、信号或者其它信息的任何适当硬件和/或软件系统、机制或者部件。处理器可以包括具有通用中央处理单元(CPU)、多个处理单元、用于实现功能的专用电路装置的系统或者其它系统。处理无需限于特定地理位置或者具有时间限制。例如,处理器可以“实时”、“离线”、在“批量模式中”等执行它的功能。处理的部分可以在不同时间和在不同位置由不同(或者相同)处理系统执行。计算机可以是与存储器通信的任何处理器。
[0083]通常地在设备1100中提供存储器1104以用于由处理器1102访问,并且存储器1104可以是适合用于存储用于由处理器执行的指令并且位置与处理器1102分离和/或与之集成的任何适当处理器可读存储介质(比如随机存取存储器(RAM)、只读存储器(R0M)、电可擦除只读存储器(EEPROM)、闪存等)。存储器1104可以存储由处理器1102在服务器设备1100上操作的软件(包括操作系统1108和一个或者多个应用引擎1110(比如图形编辑引擎、web主控引擎、社交联网引擎等))。在一些实现方式中,应用引擎1110可以包括使处理器1102能够执行这里描述的功能(例如
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1