美颜处理方法、装置以及终端设备与流程

文档序号:12804789阅读:303来源:国知局
美颜处理方法、装置以及终端设备与流程

本发明涉及图像处理技术领域,尤其是涉及一种美颜处理方法、装置以及终端设备。



背景技术:

随着智能手机的快速发展,手机自拍、直播等已经成为很常用的移动用户使用场景,越来越多的人喜欢通过自拍或者直播,在网上分享拍摄的照片或者视频来展现自己。

现有的智能终端通过美颜软件,能够针对自拍的人脸图像自动进行磨皮、美白、瘦脸、眼部增强、五官立体等多种美颜功能,无需通过专业软件进行ps,可直接生成美颜效果的照片或者视频,非常方便快捷。

尽管现有的图像美化编辑软件能够实现美颜效果,但是往往会导致手机等终端设备的消耗过高,再加上终端设备的配置参差不齐,很容易使终端设备耗电量急剧增加,进而产生发烫现象。



技术实现要素:

有鉴于此,本发明的目的在于提供一种美颜处理方法、装置以及终端设备,能够在提高美颜效果的同时降低对终端设备的损耗,避免终端设备发烫现象的发生。

第一方面,本发明实施例提供了一种美颜处理方法,该方法用于对终端设备中的面部图像进行美化,该方法包括:

实时获取待处理图像;

对待处理图像进行人脸识别,获取人脸有效区域;

采用双边滤波法对人脸有效区域进行双边滤波处理,得到美颜处理结果;双边滤波法采用较低精度的着色语言编程实现。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,对待处理图像进行人脸识别,获取人脸有效区域,具体包括:

采用sobel边界检测滤镜,对待处理图像进行边界检测;

根据边界检测的结果,确定人脸有效区域。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,采用sobel边界检测滤镜,对待处理图像进行边界检测,具体包括:

通过sobel算子计算待处理图像的灰度值;

根据基于rgb色彩模式的阈值肤色识别准则,对待处理图像进行肤色检测。

结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,基于rgb色彩模式的阈值肤色识别准则,具体为:

r>95且g>40且b>20且r>g且r>b且max(r,g,b)-min(r,g,b)>15且abs(r-g)>15;

其中,r为红色索引值,g为绿色索引值,b为蓝色索引值,max()为取最大值函数,min()为取最小值函数,abs()为取绝对值函数。

结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,双边滤波法的算法具体为:

其中为归一化公式;

σs为空域高斯函数的标准差;

σr为值域高斯函数的标准差;

ω为卷积的定义域;

x、y为随机变量;

w为权重系数。

结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,待处理图像包括静态图像或者动态图像中的每一帧图像。

第二方面,本发明实施例还提供一种美颜处理装置,该装置包括:

图像获取单元,用于实时获取待处理图像;

人脸识别单元,用于对待处理图像进行人脸识别,获取人脸有效区域;

双边滤波单元,用于采用双边滤波法对人脸有效区域进行双边滤波处理,得到美颜处理结果。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,人脸识别单元包括:

边界检测模块,用于采用sobel边界检测滤镜,对待处理图像进行边界检测;

人脸有效区域确定模块,用于根据边界检测的结果,确定人脸有效区域。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,边界检测模块包括:

灰度值计算模块,用于通过sobel算子计算待处理图像的灰度值;

肤色检测模块,用于根据基于rgb色彩模式的阈值肤色识别准则,对待处理图像进行肤色检测。

第三方面,本发明实施例还提供一种终端设备,包括:处理器和存储器;

其中,处理器通过调用存储器中的代码或指令以执行如第一方面所述的方法。

本发明实施例提供的技术方案带来了以下有益效果:本发明实施例提供的美颜处理方法中,首先实时获取待处理图像,该图像为包含有人脸的图像,然后对该图像进行人脸识别,获取人脸有效区域,然后针对人脸有效区域,采用双边滤波法进行双边滤波处理,由于双边滤波不仅考虑到像素间的距离权重,还考虑到了像素之间的差异,因此,采用双边滤波法对图像人脸有效区域进行处理,不仅实现了模糊平滑图像的作用,而且很好地保留了边缘信息,使美颜效果更好。而且在双边滤波的实现过程中,采用了较低精度的着色语言进行编程,大大降低了对终端设备cpu的消耗,缓解了终端设备在对图像处理的时候发烫的问题。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明实施例一所提供的一种美颜处理方法的流程图;

图2示出了本发明实施例一所提供的美颜处理方法中步骤s12的具体流程图;

图3示出了本发明实施例一所提供的美颜处理方法中步骤s121的具体流程图;

图4示出了本发明实施例二所提供的一种美颜处理装置的结构图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前尽管现有的图像美化编辑软件能够实现美颜效果,但是往往会导致手机等终端设备的消耗过高,再加上终端设备的配置参差不齐,很容易使终端设备耗电量急剧增加,进而产生发烫现象。基于此,本发明实施例提供的一种美颜处理方法、装置以及终端设备,能够在提高美颜效果的同时降低对终端设备的损耗,避免终端设备发烫现象的发生。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种美颜处理方法进行详细介绍。

实施例一:

本发明实施例提供的一种美颜处理方法,该方法应用于ios操作系统中,可用于对终端设备中的面部图像进行美化,如图1所示,该美颜处理方法包括以下步骤:

s11:实时获取待处理图像。

在具体实现的时候,通过图形应用程序编程接口的子集(openglforembeddedsystems,简称opengles)获取相机中待处理的图像。对于视频直播的情况,会首先采集视频,然后获取每一帧图像,将每一帧图像作为待处理图像。

opengl(opengraphicslibrary,简称opengl)是指定义了一个跨编程语言、跨平台的编程接口规格的专业的图形程序接口,它应用于三维图像或二维图像,是一个功能强大,调用方便的底层图形库。因此,opengles是opengl三维图形api的子集,针对手机、掌上电脑(personaldigitalassistant,简称pda)以及游戏主机等嵌入式设备而设计。

对于应用程序编程接口(applicationprogramminginterface,简称api),它是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

s12:对待处理图像进行人脸识别,获取人脸有效区域。

由于美颜一般只针对人的面部进行美化,所以在获取到待处理图像后,首先得对其进行人脸识别,获取到需要进行美颜操作的人脸有效区域,具体的,参见图2所示,人脸有效区域的获取过程包括以下步骤:

s121:采用sobel边界检测滤镜,对待处理图像进行边界检测。

针对ios平台来说,美颜处理方法一般采用gpuimage框架来实现,首先将avcapturedevice替换成gpuimagevideocamera,删除诸如avcapturesession/avcapturedeviceinput/avcapturevideodataoutput,gpuimage实现了的部分进行初始化工作,为了改善视频处理性能,使美颜效果更好,采用gpuimagesobeledgedetectionfilter滤镜来检测有效的人脸轮廓区域。具体的检测过程如图3所示,包括以下步骤:

s1211:通过sobel算子计算待处理图像的灰度值。

索贝尔算子(sobeloperator)主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度之近似值。在图像的任何一点使用此算子,将会产生对应的灰度矢量或是其法矢量。

sobel卷积因子为:

该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。如果以a代表原始图像,gx及gy分别代表经横向及纵向边缘检测的图像灰度值,其公式如下:

具体计算如下:

gx=(-1)*f(x-1,y-1)+0*f(x,y-1)+1*f(x+1,y-1)

+(-2)*f(x-1,y)+0*f(x,y)+2*f(x+1,y)

+(-1)*f(x-1,y+1)+0*f(x,y+1)+1*f(x+1,y+1)

=[f(x+1,y-1)+2*f(x+1,y)+f(x+1,y+1)]-[f(x-1,y-1)+2*f(x-1,y)+f(x-1,y+1)]

gy=1*f(x-1,y-1)+2*f(x,y-1)+1*f(x+1,y-1)

+0*f(x-1,y)0*f(x,y)+0*f(x+1,y)

+(-1)*f(x-1,y+1)+(-2)*f(x,y+1)+(-1)*f(x+1,y+1)

=[f(x-1,y-1)+2f(x,y-1)+f(x+1,y-1)]-[f(x-1,y+1)+2*f(x,y+1)+f(x+1,y+1)]

其中f(a,b),表示图像(a,b)点的灰度值;

图像的每一个像素的横向及纵向灰度值通过以下公式结合,来计算该点灰度的大小:

通常,为了提高效率使用不开平方的近似值:

|g|=|gx|+|gy|

如果梯度g大于某一阀值,则认为该点(x,y)为边缘点。

然后可用以下公式计算梯度方向:

通过计算梯度方向可以得到像素变化的方向,进而勾勒出图像的边缘。sobel算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。对噪声具有平滑作用,提供精确的边缘方向信息。

在通过sobel算子计算待处理图像的灰度值之后,进行肤色检测,如下述步骤:

s1212:根据基于rgb色彩模式的阈值肤色识别准则,对待处理图像进行肤色检测。

在具体实现的时候,运用基于rgb色彩模式的阈值肤色识别准则,对待处理图像进行肤色检测,精确地获取人脸区域,能有效的降低程序的执行时间。其中,基于rgb色彩模式的阈值肤色识别准则,具体为:

r>95且g>40且b>20且r>g且r>b且max(r,g,b)-min(r,g,b)>15且abs(r-g)>15;

其中,r为红色索引值,g为绿色索引值,b为蓝色索引值,max为取最大值函数,min为取最小值函数,abs为取绝对值函数。

s122:根据边界检测的结果,确定人脸有效区域。

通过上述对待处理图像灰度值的计算以及肤色的识别,进一步根据边界检测结果来确定出人脸有效区域。

s13:采用双边滤波法对人脸有效区域进行双边滤波处理,得到美颜处理结果。

在确定出人脸有效区域,也就是需要真正进行美颜处理的区域后,进一步采用双边滤波法对人脸有效区域进行双边滤波处理,即采用gpuimagebilateralfilter滤镜对人脸有效区域进行处理。在整个双边滤波实现过程中,采用较低精度的着色语言进行编程,通过优化opengl的glsl着色语言的精度实现编程,达到优化美颜磨皮并降低cpu消耗的目的。

具体的,双边滤波的边缘保持特性主要是通过在卷积的过程中组合空域函数和值域核函数来实现,典型的核函数为高斯分布函数,如下所示:

其中为归一化公式;

σs为空域高斯函数的标准差;σr为值域高斯函数的标准差;ω为卷积的定义域;x、y为随机变量;w为权重系数。可见,在图像的平坦区域,也就是人脸有效区域,f(y)-f(x)的值变化很小,对应的值域权重接近于1,此时空域权重起主要作用,相当于直接对此区域进行高斯模糊,在边缘区域,也就是人脸与头发接触的区域,f(y)-f(x)会有较大的差异,此时值域系数会下降,从而导致此处整个核函数的分布的下降,而保持了边缘的细节信息。

双边滤波法由于不只考虑了位置对中心像素的影响,还考虑了卷积核中像素与中心像素之间相似程度的影响,根据位置影响与像素值之间的相似程度生成两个不同的权重表,在计算中心像素的时候加以考虑这两个权重,从而实现双边低通滤波,因此,双边滤波法可以很好的保留边缘的同时消除噪声。

本发明实施例提供的美颜处理方法中,首先实时获取待处理图像,该图像为包含有人脸的图像,然后对该图像进行人脸识别,获取人脸有效区域,然后针对人脸有效区域,采用双边滤波法进行双边滤波处理,由于双边滤波不仅考虑到像素间的距离权重,还考虑到了像素之间的差异,因此,采用双边滤波法对图像人脸有效区域进行处理,不仅实现了模糊平滑图像的作用,而且很好地保留了边缘信息,使美颜效果更好。而且在双边滤波的实现过程中,采用了较低精度的着色语言进行编程,大大降低了对终端设备cpu的消耗,缓解了终端设备在对图像处理的时候发烫的问题。

实施例二:

本发明实施例提供一种美颜处理装置,如图4所示,该装置包括:图像获取单元21、人脸识别单元22以及双边滤波单元23。

图像获取单元21,用于实时获取待处理图像;人脸识别单元22,用于对待处理图像进行人脸识别,获取人脸有效区域;双边滤波单元23,用于采用双边滤波法对人脸有效区域进行双边滤波处理,得到美颜处理结果。

其中,人脸识别单元22包括:

边界检测模块221,用于采用sobel边界检测滤镜,对待处理图像进行边界检测;人脸有效区域确定模块222,用于根据边界检测的结果,确定人脸有效区域。

边界检测模块221具体包括:

灰度值计算模块2211,用于通过sobel算子计算待处理图像的灰度值;肤色检测模块2212,用于根据基于rgb色彩模式的阈值肤色识别准则,对待处理图像进行肤色检测。

本发明实施例中提供的美颜处理装置中,各个单元或者模块的具体实现可参见前述方法实施例,在此不再赘述。

本发明实施例提供的美颜处理装置中,首先通过图像获取单元21实时获取待处理图像,该图像为包含有人脸的图像,然后通过人脸识别单元22对该图像进行人脸识别,获取人脸有效区域,然后针对人脸有效区域,通过双边滤波单元23进行双边滤波处理,由于双边滤波不仅考虑到像素间的距离权重,还考虑到了像素之间的差异,因此,采用双边滤波单元23对图像人脸有效区域进行处理,不仅实现了模糊平滑图像的作用,而且很好地保留了边缘信息,使美颜效果更好。而且在双边滤波的实现过程中,采用了较低精度的着色语言进行编程,大大降低了对终端设备cpu的消耗,缓解了终端设备在对图像处理的时候发烫的问题。

实施例三:

本发明实施例提供一种终端设备,包括:处理器和存储器。其中,处理器通过调用存储器中的代码或指令以执行如实施例一所述的方法。

本发明实施例中提供的终端设备中,指令或代码具体实现过程可参见前述方法实施例,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1