一种肤色检测方法、装置及终端与流程

文档序号:19042904发布日期:2019-11-05 23:20阅读:191来源:国知局
一种肤色检测方法、装置及终端与流程
本发明涉及图像处理
技术领域
,具体涉及一种肤色检测方法、装置及终端。
背景技术
:目前,越来越多的智能手机、平板电脑等终端设有视频美颜功能,使得用户在视频通话、拍摄视频时,可以对视频中的人脸加入磨皮、美白等美颜效果,以得到人物视觉效果较好的视频。对人脸加入美颜效果首先需要识别出图片中的人脸区域,再识别出人脸区域中的肤色区域,一般只需对肤色区域加入美颜效果,而保留非肤色区域(例如眼睛、眉毛等)的真实性而不予美化。现有的视频肤色检测方案主要有,方案一:检测视频当前帧图片的人脸信息,根据主动形状模型(ActiveShapeModel,ASM)算法,得到人脸区域的大概轮廓,依据轮廓区域估计人脸的皮肤区域,规避掉一些可能误导的区域(比如眼睛,眉毛和嘴唇区域),依据估计出的人脸的肤色区域,根据事先设定好的皮肤阈值经验参数,对估计出的人脸的肤色区域进行阈值分割,在不同的肤色区域,均匀选择一定数量的肤色种子。根据选定的种子点,进行周边连通区域的蔓延和检测,从而可以检测到所有连通的肤色区域。方案二:从视频当前帧图片的灰度图中获取人脸区域,计算人脸区域的直方图,并找到该直方图的近似谷点,通过该近似谷点对人脸区域中的肤色区域和非肤色区域进行划分。然而,上述两种方案在视频中识别出人脸和未识别出人脸时肤色检测结果是离散的,会产生视觉上的跳变。技术实现要素:本发明实施例提供了一种肤色检测方法、装置及终端,在对视频进行肤色检测时,可以有效保证肤色检测结果的连续性。本发明实施例第一方面提供了一种肤色检测方法,包括:终端获取待进行肤色检测的视频,并获取该视频的当前帧图片,利用ASM算法等对当前帧图片进行人脸识别,根据识别结果确定当前帧图片的肤色查找表,根据当前帧图片的肤色查找表和当前帧图片之前的历史帧图片累计的肤色查找表可以得到肤色值连续的目标肤色查找表,并利用目标肤色查找表对当前帧图片进行肤色检测,从而在对视频进行肤色检测时,可以有效保证肤色检测结果的连续性。可选的,终端可以通过对当前帧图片的肤色查找表和当前帧图片之前的历史帧图片累计的肤色查找表进行加权平均的方式,得到肤色值连续的目标肤色查找表,实现了对当前帧图片的肤色查找表中的肤色值的自动学习,以及对历史帧图片累计的肤色查找表中的肤色值的自动遗忘,使得利用该目标肤色查找表对视频进行肤色检测时,可以得到连续的肤色检测结果。其中,目标肤色查找表中的肤色值=(1-ω)*历史帧图片累计的肤色查找表中的肤色值+ω*当前帧图片的肤色查找表中的肤色值,ω为加权系数,一般可取ω=5%。可选的,终端根据识别结果确定当前帧图片的肤色查找表的方式可以为:终端若识别到人脸,则根据第一模板图片集的第一肤色查找表,确定当前帧图片的人脸区域的肤色查找表,再根据人脸区域的肤色查找表和第二模板图片集的第二肤色查找表,确定当前帧图片的肤色查找表。其中,第一模板图片集包括的模板图片的数量大于第二模板图片集包括的模板图片的数量,利用覆盖范围更广的第一肤色查找表先确定人脸区域的肤色查找表,即确定人脸区域中的肤色区域,可以有效检测出人脸区域中的非肤色部分。终端若未识别到人脸,则直接根据第二肤色查找表,确定当前帧图片的肤色查找表,使得在没有识别到人脸的情况下仍然具备肤色检测能力。可选的,终端可以对经过肤色检测的当前帧图片进行导向滤波,得到蒙版图片,并对当前帧图片进行美化处理,得到经过美化的当前帧图片,再利用蒙版图片将当前帧图片和经过美化的当前帧图片进行融合,从而根据连续的肤色检测结果对视频进行美颜处理时可以消除视觉上的跳变现象,提供良好的视频美颜效果。本发明实施例第二方面提供了一种肤色检测装置,包括:获取模块,用于获取进行肤色检测的视频的当前帧图片。确定模块,用于对当前帧图片进行人脸识别,以确定当前帧图片的肤色查找表。具体的,确定模块若识别到人脸,则根据第一模板图片集的第一肤色查找表,确定当前帧图片的人脸区域的肤色查找表,再根据人脸区域的肤色查找表和第二模板图片集的第二肤色查找表,确定当前帧图片的肤色查找表。其中,第一模板图片集包括的模板图片的数量大于第二模板图片集包括的模板图片的数量。确定模块若未识别到人脸,则根据第二肤色查找表,确定当前帧图片的肤色查找表。确定模块,还用于根据当前帧图片的肤色查找表和当前帧图片之前的历史帧图片累计的肤色查找表,确定出目标肤色查找表。具体的,确定模块对当前帧图片的肤色查找表和所述当前帧图片之前的历史帧图片累计的肤色查找表进行加权平均,得到目标肤色查找表。其中,目标肤色查找表中的肤色值=(1-ω)*历史帧图片累计的肤色查找表中的肤色值+ω*当前帧图片的肤色查找表中的肤色值,ω为加权系数,一般可取ω=5%。检测模块,还用于利用目标肤色查找表对当前帧图片进行肤色检测,从而在对视频进行肤色检测时,可以有效保证肤色检测结果的连续性。可选的,该装置还包括:滤波模块,用于对经过肤色检测的当前帧图片进行导向滤波,得到蒙版图片。美化模块,用于对当前帧图片进行美化处理,得到经过美化的当前帧图片。融合模块,用于利用蒙版图片将当前帧图片和经过美化的当前帧图片进行融合,从而根据连续的肤色检测结果对视频进行美颜处理时可以消除视觉上的跳变现象,提供良好的视频美颜效果。本发明实施例第三方面提供了一种终端,包括:处理器和储存器,处理器和存储器通过总线连接,存储器存储有可执行程序代码,处理器用于调用存储器中的可执行程序代码,执行上述第一方面中任一项所描述的肤色检测方法。本发明实施例通过获取进行肤色检测的视频的当前帧图片,对该当前帧图片进行人脸识别,以确定该当前帧图片的肤色查找表,并根据该当前帧图片的肤色查找表和该当前帧图片之前的历史帧图片累计的肤色查找表,确定出肤色值连续的目标肤色查找表,从而利用该目标肤色查找表对该当前帧图片进行肤色检测,从而在对视频进行肤色检测时,可以有效保证肤色检测结果的连续性。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的一种终端的结构示意图;图2是本发明实施例提供的一种肤色检测方法的第一实施例流程示意图;图3是本发明实施例提供的一种肤色检测方法的第二实施例流程示意图;图4是本发明实施例提供的一种肤色标定方式的示意图;图5是本发明实施例提供的一种肤色检测装置的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例中所描述的终端具体可以包括但不限于:智能手机、平板电脑、数码相机、移动互联网设备(MobileInternetDevice,MID)等。请参阅图1,为本发明实施例提供的一种终端的结构示意图。本实施例中所描述的终端,包括:处理器101、存储器102、输出设备103和输入设备104,上述处理器101通过总线与存储器102、输出设备103和输入设备104连接。其中,上述处理器101具体可以为基带处理器、基带芯片、数字信号处理器(DigitalSignalProcessor,DSP)或者包括基带处理器和应用处理器在内的片上系统(SystemonChip,SOC)等。上述存储器102是终端的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器102可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器101的存储装置。上述输出设备103可以为显示器。上述输入设备104可以为触控面板、摄像头、麦克风等。上述存储器102,用于存储一组程序代码,上述处理器101调用存储器102中存储的程序代码,执行如下操作:处理器101获取待进行肤色检测的视频,并获取该视频的当前帧图片。处理器101对当前帧图片进行人脸识别,得到人脸识别结果,并根据人脸识别结果确定当前帧图片的肤色查找表。其中,肤色查找表也即3D查找表,存储有像素的像素值与肤色值的对应关系,像素值即红绿蓝(Red、Green、Blue,RGB)值,肤色查找表的构造可以是下标为像素值,下标对应的内容为肤色值。通过肤色查找表可以确定一个像素是否为肤色,对于任意一个像素,获取其像素值,从肤色查找表中查询其像素值对应的肤色值,再根据事先规定的肤色值与肤色、非肤色的对应情况确定该像素是否为肤色。具体的,处理器101对当前帧图片进行人脸识别,如果识别到人脸,则根据第一模板图片集的第一肤色查找表,确定当前帧图片的人脸区域的肤色查找表,再根据人脸区域的肤色查找表和第二模板图片集的第二肤色查找表,确定当前帧图片的肤色查找表;如果没有识别到人脸,则可以直接第二肤色查找表确定当前帧图片的肤色查找表。其中,第一模板图片集包括的模板图片的数量大于第二模板图片集包括的模板图片的数量。处理器101根据当前帧图片的肤色查找表和当前帧图片之前的历史帧图片累计的肤色查找表,确定用于对当前帧图片进行肤色检测的目标肤色查找表。具体的,处理器101可以对当前帧图片的肤色查找表和当前帧图片之前的历史帧图片累计的肤色查找表进行加权平均,从而得到用于对当前帧图片进行肤色检测的目标肤色查找表。即目标肤色查找表中的肤色值=(1-ω)*历史帧图片累计的肤色查找表中的肤色值+ω*当前帧图片的肤色查找表中的肤色值,ω为加权系数。处理器101利用目标肤色查找表对当前帧图片进行肤色检测。具体的,处理器101针对当前帧图片中的每一个像素,获取其像素值,从目标肤色查找表中,查询该像素值对应的肤色值,再根据事先规定的肤色值与肤色、非肤色的对应情况即可确定每一个像素是否为肤色。或者,处理器101也可以从目标肤色查找表中,确定出对应的肤色值对应肤色的目标像素值,将像素值为该目标像素值的像素确定为肤色,将其它像素确定为非肤色。进一步的,处理器101对经过肤色检测的当前帧图片进行导向滤波,得到蒙版图片,对当前帧图片进行美化处理,得到经过美化的当前帧图片,再利用该蒙版图片将当前帧图片和经过美化的当前帧图片进行融合。其中,蒙版图片即作为蒙版的图片,蒙版的作用是将不同灰度色值转化为不同的透明度,并作用到它所在的图层,使图层不同部位透明度产生相应的变化,黑色为完全透明,白色为完全不透明,灰色为半透明。融合即进行透明度混合,以获得两张图片的叠加效果。具体实现中,本发明实施例中所描述的处理器101、存储器102、输出设备103和输入设备104可执行本发明实施例提供的一种肤色检测方法的第一实施例和第二实施例中所描述的终端的实现方式,也可执行本发明实施例提供的一种肤色检测装置中所描述的肤色检测装置的实现方式,在此不再赘述。本发明实施例中,终端获取进行肤色检测的视频的当前帧图片,对该当前帧图片进行人脸识别,以确定该当前帧图片的肤色查找表,并根据该当前帧图片的肤色查找表和该当前帧图片之前的历史帧图片累计的肤色查找表,确定出肤色值连续的目标肤色查找表,从而利用该目标肤色查找表对该当前帧图片进行肤色检测,从而在对视频进行肤色检测时,可以有效保证肤色检测结果的连续性。请参阅图2,为本发明实施例提供的一种肤色检测方法的第一实施例流程示意图。本实施例中所描述的肤色检测方法,包括以下步骤:201、终端获取进行肤色检测的视频的当前帧图片。具体的,终端获取待进行肤色检测的视频,并获取该视频的当前帧图片。202、终端对当前帧图片进行人脸识别,以确定当前帧图片的肤色查找表。其中,肤色查找表也即3D查找表,存储有像素的像素值与肤色值的对应关系,像素值即RGB值,肤色查找表的构造可以是下标为像素值,下标对应的内容为肤色值。通过肤色查找表可以确定一个像素是否为肤色,对于任意一个像素,获取其像素值,从肤色查找表中查询其像素值对应的肤色值,再根据事先规定的肤色值与肤色、非肤色的对应情况确定该像素是否为肤色,例如,可以设定肤色值有第一数值、第二数值,像素值对应的肤色值为第一数值的像素为肤色,像素值对应的肤色值为第二数值的像素为非肤色。其中,各个肤色查找表可以初始化为所有像素均为非肤色的状态,即肤色值为空或者第二数值。以RGB深度是8比特,肤色值为1表示肤色,肤色值为0表示非肤色为例,则像素值的数量为28*28*28=224=16777216个,以十进制形式表示时,像素值的范围是:0~16777215(224-1),肤色查找表具体可以如表1所示,存储有像素值以及像素值对应的肤色值,在表1中,像素值为m、s时,对应的肤色值为1,则表示像素值为m或s的像素为肤色,像素值为0、n、224-1时,对应的肤色值为0,则表示像素值为0或n或224-1的像素为非肤色。像素值0……m……n……s……224-1肤色值0……1……0……1……0表1其中,终端通过对当前帧图片进行人脸识别以确定当前帧图片的肤色查找表的具体方式可以包括但不限于:方式一:检测当前帧图片的人脸信息,根据ASM算法,得到人脸区域的大概轮廓,依据轮廓区域估计人脸的皮肤区域,规避掉一些可能误导的区域(比如眼睛,眉毛和嘴唇区域),依据估计出的人脸的肤色区域,根据事先设定好的皮肤阈值经验参数,对估计出的人脸的肤色区域进行阈值分割,在不同的肤色区域,均匀选择一定数量的肤色种子。根据选定的种子点,进行周边连通区域的蔓延和检测,从而可以检测到所有连通的肤色区域,并可以将所有连通的肤色区域中各个像素的像素值在当前帧图片的肤色查找表中对应的肤色值设为第一数值,从而确定当前帧图片的肤色查找表。方式二:从当前帧图片的灰度图中获取人脸区域,计算人脸区域的直方图,并找到该直方图的近似谷点,通过该近似谷点对人脸区域中的肤色区域和非肤色区域进行划分,将人脸区域中的肤色区域中各个像素的像素值在当前帧图片的肤色查找表中对应的肤色值设为第一数值,从而确定当前帧图片的肤色查找表。203、终端根据当前帧图片的肤色查找表和当前帧图片之前的历史帧图片累计的肤色查找表,确定出目标肤色查找表。204、终端利用目标肤色查找表对当前帧图片进行肤色检测。具体的,目标肤色查找表可以通过对当前帧图片的肤色查找表和当前帧图片之前的历史帧图片累计的肤色查找表进行加权平均得到,例如,目标肤色查找表中的肤色值=(1-ω)*历史帧图片累计的肤色查找表中的肤色值+ω*当前帧图片的肤色查找表中的肤色值,ω为加权系数,可取ω=5%,从而得到的是肤色值连续的目标肤色查找表,实现了对当前帧图片的肤色查找表中的肤色值的自动学习,以及对历史帧图片累计的肤色查找表中的肤色值的自动遗忘。以RGB深度是8比特为例,第一数值可取255,第二数值可取0,当前帧图片的肤色查找表中的肤色值是离散的,为255(肤色)或0(非肤色),经过加权平均,目标肤色查找表中的肤色值则是连续的,范围是[0,255]。终端获取当前帧图片中每一个像素的像素值,从当前帧图片的目标肤色查找表中,查询每一个像素的像素值对应的肤色值,像素值对应的肤色值为255的像素确定为肤色,像素值对应的肤色值为0的像素确定为非肤色,而除0和255以外的其它肤色值,则是肤色值越大,置信度越高,对应的像素越接近于肤色,从而可以精确地检测出当前帧图片的肤色区域。可见,利用肤色值连续的肤色查找表对视频的每一帧图片进行肤色检测,可以实现对视频进行肤色检测时检测结果的连续。本发明实施例中,终端获取进行肤色检测的视频的当前帧图片,对该当前帧图片进行人脸识别,以确定该当前帧图片的肤色查找表,并根据该当前帧图片的肤色查找表和该当前帧图片之前的历史帧图片累计的肤色查找表,确定出肤色值连续的目标肤色查找表,从而利用该目标肤色查找表对该当前帧图片进行肤色检测,从而在对视频进行肤色检测时,可以有效保证肤色检测结果的连续性。请参阅图3,为本发明实施例提供的一种肤色检测方法的第二实施例流程示意图。本实施例中所描述的肤色检测方法,包括以下步骤:301、终端获取进行肤色检测的视频的当前帧图片。在执行步骤301之前,终端可以对两个模板图片集(即第一模板图片集集和第二模板图片集)分别进行肤色标定,以得到两张肤色查找表(即第一肤色查找表和第二肤色查找表),第一肤色查找表和第二肤色查找表用于对视频的肤色检测。假设第一肤色查找表对应第一模板图片集,第二肤色查找表对应第二模板图片集,终端对第一模板图片集和第二模板图片集分别进行肤色标定,以得到第一肤色查找表和第二肤色查找表的具体步骤可以如下:针对第一模板图片集包括的每一张模板图片,通过选定框的方式选中模板图片中的肤色区域,如图4所示的矩形选定框,通过在模板图片中的不同区域利用矩形选定框进行框选以选中肤色区域(例如人脸、脖子、胳膊、手部、腿部等),对于选定框选中的每一个图片区域,获取选定框选中的图片区域包括的像素总数和每一个像素的像素值,为便于对当前帧图片中的像素进行插值操作以得到肤色值连续的肤色检测结果,对选定框选中的图片区域包括的每一个像素的像素值损失预设位数的精度,本实施例以损失3位精度为例,则像素值加4,再右移3位,统计选中的图片区域中每一个像素值对应的像素数,确定出第一模板图片集包括的所有模板图片中,对应的像素数大于或等于像素总数预设比例(例如1%)的第一目标像素值,可以理解的是,第一目标像素值具体包括多个像素值。将像素值为第一目标像素值的像素认为是肤色,将像素值为其它像素值的像素认为是非肤色,从而将第一肤色查找表中第一目标像素值对应的肤色值设为第一数值(即肤色),将第一肤色查找表中除第一目标像素值之外的其它像素值对应的肤色值设为第二数值(即非肤色),从而完成第一肤色查找表的确定。在一些可行的实施方式中,可以先针对第一模板图片集包括的每一张模板图片的肤色查找表进行肤色值的设定,再将每一张模板图片的肤色查找表进行叠加即可得到第一肤色查找表,具体可以是:针对第一模板图片集包括的每一张模板图片,确定对应的像素数大于或等于像素总数预设比例(例如1%)的第一目标像素值,将模板图片的肤色查找表中第一目标像素值对应的肤色值设为第一数值,除第一目标像素值之外的其它像素值对应的肤色值设为第二数值,最后将每一张模板图片的肤色查找表进行叠加,可以是取并集的方式,即对于同一个像素值,只要在一张模板图片的肤色查找表中对于的肤色值为第一数值,则将第一模板图片集的第一肤色查找表中相应的肤色值设为第一数值,对于在第一模板图片集包括的所有模板图片的肤色查找表中对于的肤色值均为第二数值的像素值,则将第一模板图片集的第一肤色查找表中相应的肤色值设为第二数值,从而完成第一肤色查找表的确定。采用与上述同样的方式可以完成第二模板图片集的第二肤色查找表的确定。其中,第一模板图片集和第二模板图片集的区别在于:第一模板图片集包括的模板图片的数量大于第二模板图片集包括的模板图片的数量,即第一模板图片集的覆盖范围更广,相比于第二模板图片集,可以对更多的像素值进行肤色标定。其中,第一模板图片集具体可以包括终端在特定拍照参数下拍得的本地图片,以及互联网上的图片,第二模板图片集具体可以只包括终端在特定拍照参数下拍得的本地图片。第一模板图片集对应的特定拍照参数可以是多色温、自动曝光(AutomaticExposure,AE)、自动白平衡(AutomaticWhiteBalance,AWB)等,以拍得各个色温下的图片,以不漏检为原则,第二模板图片集对应的特定拍照参数可以是正常色温、AE、AWB等,以拍得正常色温下的图片,以不误检为原则。在一些可行的实施方式中,基于终端拍得的人物图片中,相比于人体的其它部位,人脸的肤色区域较大,代表性较强,第一模板图片集、第二模板图片集包括的模板图片可以是至少包括有人脸的图片。302、终端对当前帧图片进行人脸识别,若识别到人脸,则根据第一模板图片集的第一肤色查找表,确定当前帧图片的人脸区域的肤色查找表。具体实现中,终端如果从当前帧图片中识别到人脸,则根据第一肤色查找表,确定人脸区域的肤色查找表,包括:获取人脸区域中每一个像素的像素值,对每一个像素的像素值同样损失3位精度,从第一肤色查找表中,查询人脸区域中每一个像素损失3位精度后的像素值对应的肤色值,如果第一像素值对应的肤色值为第一数值,则损失3位精度后像素值为第一像素值的像素为肤色,进而将人脸区域的肤色查找表中第一像素值对应的肤色值也设为第一数值,对于损失3位精度后,对应的肤色值为第二数值的像素值,则将其在人脸区域的肤色查找表中对应的肤色值也设为第二数值,利用覆盖范围更广的第一肤色查找表先确定人脸区域的肤色查找表,即确定人脸区域中的肤色区域,可以有效检测出人脸区域中的非肤色部分,例如眼睛、嘴唇、眼镜、眉毛等,同时,还可以避免人脸识别出现偏差(例如识别出的人脸区域比实际区域偏大)时导致的肤色误检。303、终端根据人脸区域的肤色查找表和第二模板图片集的第二肤色查找表,确定当前帧图片的肤色查找表。具体实现中,对确定出的人脸区域的肤色查找表和第二肤色查找表通过取并集的方式,确定当前帧图片的肤色查找表,包括:如果人脸区域的肤色查找表和第二肤色查找表中,同一个像素值对应的肤色值有一个为第一数值或者均为第一数值,则可以将该同一个像素值在当前帧图片的肤色查找表中对应的肤色值设为第一数值;如果人脸区域的肤色查找表和第二肤色查找表中,同一个像素值对应的肤色值均为第二数值,则将该同一个像素值在当前帧图片的肤色查找表中对应的肤色值设为第二数值,通过第一肤色查找表、第二肤色查找表和人脸识别确定当前帧图片的肤色查找表,可以大大减少漏检率和误检率。在一些可行的实施方式中,终端如果从当前帧图片中没有识别到人脸,则可以直接根据覆盖范围较小的第二肤色查找表,确定当前帧图片的肤色查找表,包括:获取当前帧图片中每一个像素的像素值,从第二肤色查找表中,查询当前帧图片中每一个像素的像素值对应的肤色值,如果第二像素值对应的肤色值为第一数值,则像素值为第二像素值的像素为肤色,进而将当前帧图片的肤色查找表中第二像素值对应的肤色值也设为第一数值,对于对应的肤色值为第二数值的像素值,则将其在当前帧图片的肤色查找表中对应的肤色值也设为第二数值。第二肤色查找表是根据终端以不误检为原则,在拍照参数为正常色温、AE、AWB时拍得的第二模板图片集确定的,第二肤色查找表具有较好的肤色检测能力,可以使得在从当前帧图片中没有识别到人脸的情况下仍然具备肤色检测能力。304、终端根据当前帧图片的肤色查找表和当前帧图片之前的历史帧图片累计的肤色查找表,确定出目标肤色查找表。305、终端利用目标肤色查找表对当前帧图片进行肤色检测。具体实现中,终端获取当前帧图片中每一个像素的像素值,对每一个像素的像素值同样损失3位精度,从目标肤色查找表中,查询每一个像素损失3位精度后的像素值对应的肤色值,从而可以精确地检测出当前帧图片的肤色区域。或者,终端也可以利用目标肤色查找表对当前帧图片中的每一个像素进行插值,以得到肤色值连续的肤色检测结果。例如,对当前帧图片中的每一个像素进行四面体线性插值,以当前帧图片中的任意一个像素为例,四面体线性插值的步骤如下:分别在R/G/B三轴上以8为间隔单位,则整个颜色空间被切分为32768个均匀小立方体(立方体边长为8),将每个均匀立方体按照特定的规则划分成除面重叠之外没有任何重叠的六个四面体,再确定像素所属的四面体,已知四面体四个顶点的坐标值,根据当前帧图片的肤色查找表可知四个顶点的肤色值,通过线性插值即可插出像素的肤色值。306、终端对经过肤色检测的当前帧图片进行导向滤波,得到蒙版图片。具体实现中,导向滤波有两个输入,一个是输入图p,一个是导向图I,有一个输出q。本实施例中,p为插值结果,I为输入图像(即当前帧图片)的灰度图或单通道图,q为优化后的肤色检测结果图。其中,导向滤波是基于局部线性模型的,认为图像是一个二维函数,而且没法写出解析表达式,因此假设该函数的输入(导向图)与输出在一个窗口内满足线性关系如下:对式(1)两边取梯度,当导向图I有梯度时,输出q也有类似的梯度,q能够保持导向图I的边界。对式(1)做线性回归,即希望拟合函数的输出值和真实值p之间的差距最小:利用最小二乘法求出a和b:具体求某一点的输出值时,只需要将所有包含改点的线性函数平均即可:输出q的计算步骤可以如下:meanI=fmean(I)meanp=fmean(p)corrI=fmean(I*I)corrIp=fmean(I*p)varI=corrI–meanI*meanIcovIp=corrIp–meanI*meanpa=covIp/(varI+e)b=meanp–a*meanImeana=fmean(a)meanb=fmean(b)q=meana*I+meanb其中,fmean的功能是半径为20的窗口像素的平均值,e的作用是使除数不为0,e的值越小越好。307、终端对当前帧图片进行美化处理,得到经过美化的当前帧图片。308、终端利用该蒙版图片将当前帧图片和经过美化的当前帧图片进行融合。具体实现中,终端对当前帧图片加入美化处理效果,例如磨皮、美白等,再利用蒙版图片将当前帧图片和经过美化的当前帧图片进行融合(透明度混合),即result=(1-α)*image1+α*image2,其中,α为蒙版图片的透明度,image1为当前帧图片,image2为经过美化的当前帧图片,result为最终处理结果,从而得到具有肤色检测准确,消除视觉上的跳变现象,以及美颜效果良好的视频。本发明实施例中,终端获取进行肤色检测的视频的当前帧图片,根据第一模板图片集的第一肤色查找表,确定当前帧图片的人脸区域的肤色查找表,根据人脸区域的肤色查找表和第二模板图片集的第二肤色查找表,确定当前帧图片的肤色查找表,根据当前帧图片的肤色查找表和当前帧图片之前的历史帧图片累计的肤色查找表,确定出肤色值连续的目标肤色查找表,利用目标肤色查找表对当前帧图片进行肤色检测,对经过肤色检测的当前帧图片进行导向滤波,得到蒙版图片,对当前帧图片进行美化处理,得到经过美化的当前帧图片,利用蒙版图片将当前帧图片和经过美化的当前帧图片进行融合,从而在对视频进行肤色检测时,可以有效保证肤色检测结果的连续性,再根据连续的肤色检测结果对视频进行美颜处理时可以消除视觉上的跳变现象,提供良好的视频美颜效果。请参阅图5,为本发明实施例提供的一种肤色检测装置的结构示意图。本实施例中所描述的肤色检测装置,包括:获取模块501,用于获取进行肤色检测的视频的当前帧图片。确定模块502,用于对当前帧图片进行人脸识别,以确定当前帧图片的肤色查找表。具体的,确定模块502若识别到人脸,则根据第一模板图片集的第一肤色查找表,确定当前帧图片的人脸区域的肤色查找表,再根据人脸区域的肤色查找表和第二模板图片集的第二肤色查找表,确定当前帧图片的肤色查找表。其中,第一模板图片集包括的模板图片的数量大于第二模板图片集包括的模板图片的数量。确定模块502若未识别到人脸,则根据第二肤色查找表,确定当前帧图片的肤色查找表。确定模块502,还用于根据当前帧图片的肤色查找表和当前帧图片之前的历史帧图片累计的肤色查找表,确定出目标肤色查找表。具体的,确定模块502对当前帧图片的肤色查找表和所述当前帧图片之前的历史帧图片累计的肤色查找表进行加权平均,得到目标肤色查找表。其中,目标肤色查找表中的肤色值=(1-ω)*历史帧图片累计的肤色查找表中的肤色值+ω*当前帧图片的肤色查找表中的肤色值,ω为加权系数,一般可取ω=5%。检测模块503,还用于利用目标肤色查找表对当前帧图片进行肤色检测。可选的,该装置还包括:滤波模块504,用于对经过肤色检测的当前帧图片进行导向滤波,得到蒙版图片。美化模块505,用于对当前帧图片进行美化处理,得到经过美化的当前帧图片。融合模块506,用于利用蒙版图片将当前帧图片和经过美化的当前帧图片进行融合。可以理解的是,本实施例的肤色检测装置的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。本发明实施例中,终端获取进行肤色检测的视频的当前帧图片,对该当前帧图片进行人脸识别,以确定该当前帧图片的肤色查找表,并根据该当前帧图片的肤色查找表和该当前帧图片之前的历史帧图片累计的肤色查找表,确定出肤色值连续的目标肤色查找表,从而利用该目标肤色查找表对该当前帧图片进行肤色检测,从而在对视频进行肤色检测时,可以有效保证肤色检测结果的连续性。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存取存储器(RandomAccessMemory,简称RAM)等。以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1