具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
为了降低笑脸检测的复杂度,以达到移动终端硬件处理的低复杂度要求,使笑脸检测应用于各种带摄像设备的移动终端,发明人考虑到,由于人的唇部包含较为丰富的人脸信息,因此在本发明实施例中,通过跟踪唇部的运动信息较为准确的检测到笑脸,这样计算的信息比人脸少,计算相对简单很多。
如图1所示,本发明实施例中,笑脸检测方法的处理流程可以包括:
步骤101、捕捉人脸视频图像中唇部的运动信息;
步骤102、根据所述唇部的运动信息,确定是否检测到笑脸。
由图1所示流程可以得知,本发明实施例中,捕捉人脸视频图像中唇部的运动信息;根据所述唇部的运动信息,确定是否检测到笑脸,与现有技术中的笑脸检测相比,计算信息较为人脸少,计算相对简单很多,可达到降低笑脸检测的复杂度的目的,能够适应于移动终端硬件处理的低复杂度要求,减少设备硬件成本,使用范围广、局限性较小,可用于各种带摄像设备的移动终端。
具体实施时,步骤101中捕捉人脸视频图像中唇部的运动信息可以有多种实施方式,只要能够捕捉到人脸视频图像中唇部的运动信息即可。例如可以采用现有的差分方法,利用差分图像算法捕捉人脸视频图像中唇部的运动信息,实施时可以包括:
将人脸视频图像中每连续两帧图像进行差分处理,获得每连续两帧图像的差分图像;
根据获得的差分图像,捕捉人脸视频图像中唇部的运动信息。
前述将当前人脸视频图像中每连续两帧图像进行差分处理,是指将每连续两帧图像相互进行比较,做“差分”或“相减”运算,从相减后获得的差分图像中可以确定变化较大的区域,而这些变化区域是与运动物体相对应的,对于实时性要求较高的笑脸检测而言,差分图像算法可以实现唇部的运动信息的迅速捕捉,从而迅速检测出笑脸。
考虑更进一步地提升检测的准确性,本发明实施例对前述现有的通过差分图像算法实现捕捉人脸视频图像中唇部的运动信息进行改进,分别获得连续三帧人脸视频图像中前两帧和后两帧的差分图像,进而获得这两帧差分图像中含有的唇部运动信息,根据唇部运动信息识别出人的笑脸图像,该方法也可称为双重差分算法。
具体实施时,步骤101中捕捉人脸视频图像中唇部的运动信息可以改进如下:
将连续三帧人脸视频图像中前两帧图像进行差分处理,获得所述前两帧图像的差分图像;
将所述连续三帧人脸视频图像中后两帧图像进行差分处理,获得所述后两帧图像的差分图像;
根据所述前两帧图像的差分图像、所述后两帧图像的差分图像,捕捉人脸视频图像中唇部的运动信息。
前述根据所述前两帧图像的差分图像、所述后两帧图像的差分图像,捕捉唇部的运动信息,与前述根据当前人脸视频图像与参考人脸视频图像的差分图像捕捉唇部的运动信息相比较,唇部运动信息捕捉的结果更为准确,从而能够实现更准确的笑脸检测功能。
具体的,根据所述前两帧图像的差分图像、所述后两帧图像的差分图像,捕捉人脸视频图像中唇部的运动信息,可以包括:
对所述前两帧图像的差分图像、所述后两帧图像的差分图像进行二值化处理;
对二值化处理后的所述前两帧图像的差分图像、所述后两帧图像的差分图像进行相与运算;
将相与运算后获得的图像进行垂直方向投影,将投影所得的边缘值作为唇角顶点位置;这里将相与运算后获得的图像进行垂直方向投影,可以将运动变化的位置初步确定下来,同时也排除了其他非唇部运动的干扰;图2为唇部示意图,如图2所示,由于唇角上扬时,唇角顶点位置投影所得像素值最小,即该值为边缘值,因而可将该边缘值作为唇角顶点位置;
计算下唇线的延长线与横向中心线的夹角。如图2所示,这里的下唇线的延长线是指从唇角顶点开始,按下唇线的已有弧度按照远离嘴唇方向延伸的曲线。需要说明的是,此处的横向中心线为经过唇角顶点且平行于横轴的直线,图2中以虚线示出。
在利用前述双重差分算法捕捉到人脸视频图像中唇部的运动信息后,实施步骤102,该步骤可具体实施为:将所述夹角与第一阈值进行比较;在所述夹角大于第一阈值时,检测出笑脸。这是由于若大于第一阈值,则可以认为夹角是笑脸所致。实施时还可在图像中框出大致的人脸区域标识,从而将检测结果标识出来。第一阈值可以由统计数据得出,或是根据需要得出,或是根据经验得出。
图2中示出了唇部的右侧部分,确定左侧部分下唇线的延长线与横向中心线的夹角与此类似。实施中,可在左侧夹角或右侧夹角大于第一阈值时,确定检测到笑脸;也可以左侧夹角和右侧夹角都大于第一阈值时,确定检测到笑脸。后面的实施例中均以一侧夹角为例进行说明。
前述实施例在具体实施时,可以按如图3所示的双重差分算法的处理流程进行实施,处理过程可以包括:
1、对第i-1帧人脸视频图像和第i帧人脸视频图像进行差分处理,获得第i-1帧与第i帧人脸视频图像的差分图像,即:
gi(x,y)=|fi(x,y)-fi-1(x,y)|
其中,fi-1(x,y)为第i-1帧人脸视频图像;fi(x,y)为第i帧人脸视频图像;gi(x,y)为第i帧与第i-1帧人脸视频图像的差分图像;i=2~N,N为人脸视频图像的帧数;
2、对第i帧人脸视频图像和第i+1帧人脸视频图像进行差分处理,获得第i+1帧与第i帧人脸视频图像的差分图像,即:
gi+1(x,y)=|fi+1(x,y)-fi(x,y)|
其中,fi+1(x,y)为第i+1帧人脸视频图像;gi+1(x,y)为第i+1帧与第i帧人脸视频图像的差分图像;
3、分别将获得的两帧差分图像进行二值化处理,即:
其中,gi′(x,y)为二值化处理后的第i帧与第i-1帧人脸视频图像的差分图像;gi+1′(x,y)为二值化处理后的第i+1帧与第i帧人脸视频图像的差分图像;T为第二阈值;
4、对二值化处理后的两帧差分图像进行相与运算:
其中,Di(x,y)为将二值化处理后的第i帧与第i-1帧人脸视频图像的差分图像、第i+1帧与第i帧人脸视频图像的差分图像进行相与运算后获得的图像。
前述的第二阈值可以按实际需要设置,例如按如下步骤,采用直方图进行计算:
1、计算人脸视频图像的灰度均值m和方差σ:
其中,f(xi,yj)为每个像素的灰度值;W为人脸视频图像的宽度;H为人脸视频图像的高度;这里的宽度和高度均指像素的个数;
2、计算差分图像gi(x,y)的均值mi和方差σi,根据计算出的均值mi和方差σi计算第二阈值T:
T=α·σi+mi
其中,α为权值系数。
将前述笑脸检测方法应用于移动终端上时,用户可以在打开照相功能的时候,选择笑脸检测功能,移动终端通过摄像头获取人脸视频图像,在后台进行预处理,这里的预处理包括前述的笑脸检测方法,检测到笑脸之后可以在当前的视图上采用框图显式标识,即在当前视图上用一个框标示出笑脸所在位置;具体实现流程可以如图4所示,包括:
步骤401、打开照相功能,启动笑脸检测;
步骤402、启动摄像头获取人脸视频图像;
步骤403、对人脸视频图像按前述双重差分算法捕捉唇部的运动信息;
步骤404、投影图像计算唇部的R值(笑脸度);这里的R值即前述下唇线的延长线与横向中心线的夹角;
步骤405、判断R值是否大于第一阈值;若是,则执行步骤406;否则执行步骤407;
步骤406、检测到笑脸,在视图上框图标识,即在当前视图上用一个框标示出笑脸所在位置;检测结束;
步骤407、重新检测人脸视频图像的输入,重复步骤402-步骤405,直至检测出笑脸,或者用户取消检测。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,可以包括上述实施例方法中的全部或部分步骤,所述的存储介质可以包括:ROM、RAM、磁盘、光盘等。
本发明实施例中还提供了一种笑脸检测装置、移动终端,如下面的实施例所述。由于该笑脸检测装置、移动终端解决问题的原理与笑脸检测方法相似,因此该笑脸检测装置、移动终端的实施可以参见方法的实施,重复之处不再赘述。
如图5所示,本发明实施例中,笑脸检测装置可以包括:
捕捉模块501,用于捕捉人脸视频图像中唇部的运动信息;
检测模块502,用于根据所述唇部的运动信息,确定是否检测到笑脸。
如图6所示,一个实施例中,捕捉模块501可以包括:
第一差分单元601,用于将所述人脸视频图像中每连续两帧图像进行连续差分处理,获得每连续两帧图像的差分图像;
第一唇部信息捕捉单元602,用于根据获得的差分图像,捕捉所述人脸视频图像中唇部的运动信息。
如图7所示,在另一个实施例中,捕捉模块501可以包括:
第二差分单元701,用于将连续三帧所述人脸视频图像中前两帧图像进行差分处理,获得所述前两帧图像的差分图像;将所述连续三帧所述人脸视频图像中后两帧图像进行差分处理,获得所述后两帧图像的差分图像;
第二唇部信息捕捉单元702,用于根据所述前两帧图像的差分图像、所述后两帧图像的差分图像,捕捉所述人脸视频图像中唇部的运动信息。
该实施例中,第二唇部信息捕捉单元702可具体用于:
对所述前两帧图像的差分图像、所述后两帧图像的差分图像进行二值化处理;
对二值化处理后的所述前两帧图像的差分图像、所述后两帧图像的差分图像进行相与运算;
将相与运算后获得的图像进行垂直方向投影,将投影所得的边缘值作为唇角顶点位置;
计算下唇线的延长线与横向中心线的夹角。
如图8所示,该实施例中,检测模块502可以包括:
比较单元801,用于将所述夹角与第一阈值进行比较;
笑脸检测单元802,用于在所述夹角大于第一阈值时,确定检测到笑脸。
该实施例中,第二差分单元701可具体用于按如下公式进行差分处理:
gi(x,y)=|fi(x,y)-fi-1(x,y)|
gi+1(x,y)=|fi+1(x,y)-fi(x,y)|
其中,fi-1(x,y)为第i-1帧所述人脸视频图像;fi(x,y)为第i帧所述人脸视频图像;fi+1(x,y)为第i+1帧所述人脸视频图像;gi(x,y)为第i帧与第i-1帧所述人脸视频图像的差分图像;gi+1(x,y)为第i+1帧与第i帧所述人脸视频图像的差分图像;i=2~N,N为所述人脸视频图像的帧数;
第二唇部信息捕捉单元702可具体用于按如下公式进行二值化处理:
其中,gi′(x,y)为二值化处理后的第i帧与第i-1帧所述人脸视频图像的差分图像;gi+1′(x,y)为二值化处理后的第i+1帧与第i帧所述人脸视频图像的差分图像;T为第二阈值;
以及,按如下公式进行相与运算:
其中,Di(x,y)为将二值化处理后的第i帧与第i-1帧所述人脸视频图像的差分图像、第i+1帧与第i帧所述人脸视频图像的差分图像进行相与运算后获得的图像。
图8所示检测模块502还可以包括:
计算单元803,用于按如下步骤进行计算所述第二阈值:
计算所述人脸视频图像的灰度均值m和方差σ:
其中,f(xi,yj)为每个像素的灰度值;W为所述人脸视频图像的宽度;H为所述人脸视频图像的高度;
计算差分图像gi(x,y)的均值mi和方差σi,根据计算出的均值mi和方差σi计算第二阈值T:
T=α·σi+mi
其中,α为权值系数。
本发明还提供一种移动终端,该移动终端可包括上述笑脸检测装置。
本发明实施例中,捕捉人脸视频图像中唇部的运动信息;根据所述唇部的运动信息,确定是否检测到笑脸。本发明实施例计算的信息量比现有技术中的笑脸检测计算整个人脸的信息量更少,计算相对简单很多,可达到降低笑脸检测的复杂度的目的,能够适应于移动终端硬件处理的低复杂度要求,减少设备硬件成本,使用范围广、局限性较小,可用于各种带摄像设备的移动终端。
本发明实施例的笑脸检测方法除应用于移动终端外,还可应用于其他的图像处理领域。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。