一种基于单张图像的肤色人脸检测方法及系统技术方案

技术编号:11009268 阅读:110 留言:0更新日期:2015-02-05 15:17
本发明专利技术公开了一种基于单张图像的肤色人脸检测方法及系统,涉及图像处理技术领域,旨在提供一种基于单张图像的肤色人脸检测方法及系统,以实现快速人脸检测。本发明专利技术技术要点:根据图像每个像素点的RGB值计算该像素点的YCbCr值;计算每个像素点为肤色像素点的概率P值;将P值归一化到0~255之间得到肤色分布图;将所述肤色分布图进行二值化处理得到压缩后的二值化肤色分布图;计算待检测矩形区域的人脸肤色均值;当人脸肤色均值average大于设定人脸肤色阈值时,则认为所述矩形区域为人脸区域。

【技术实现步骤摘要】
一种基于单张图像的肤色人脸检测方法及系统
本专利技术涉及图像处理
,尤其涉及人脸检测技术。
技术介绍
随着移动互联网的快速发展,基于手机的运用越来越多,其中基于手机拍照的运用最为明显。人脸识别是机器视觉在手机运用最为典型的一个技术,其中人脸检测是人脸识别前的一个必备且重要的步骤。随着相机的像素越来越高,怎么快速的在一张图片上检测到人脸区域就显得越来越重要。
技术实现思路
本专利技术所要解决的技术问题是:针对上述存在的问题,提供一种基于单张图像的肤色人脸检测方法及系统,以实现快速人脸检测。本专利技术提供了一种基于单张图像的肤色人脸检测方法,包括:步骤1:根据图像每个像素点的RGB值计算该像素点的YCbCr值;步骤2:根据每个像素点的Cb值与Cr值依次计算公式得到每个像素点为肤色像素点的概率;其中C为肤色协方差矩阵,M为肤色均值二维列向量,Cx为包含某个像素点的Cb值与Cr值的二维列向量;步骤3:将P值归一化到0~255之间得到肤色分布图;步骤4:将所述肤色分布图进行二值化处理,再将二值化处理后的肤色分布图的每个像素的P值改写为0或1得到压缩后的二值化肤色分布图;步骤5:计算下面的公式将压缩后的二值化肤色分布图转换为积分图:I(0,0)=pixel(0,0),以及I(x,y)=pixel(x,y)+I(x-1,y)+I(x,y-1)-I(x-1,y-1);pixel(x,y)为压缩后的二值化肤色分布图中横坐标为x,纵坐标为y的像素点的P值;压缩后的二值化肤色分布图的坐标原点为图像左上方的顶点;步骤6:根据待检测矩形区域的四个顶点坐标(rect.left,rect.top),(rect.right,rect.top),(rect.left,rect.bottom),(rect.right,rect.bottom)计算待检测矩形区域的人脸肤色均值:步骤7:当人脸肤色均值average大于设定人脸肤色阈值时,则认为所述矩形区域为人脸区域。进一步,还包括步骤8:当两个人脸区域中心横坐标之差的绝对值小于或等于这两个人脸区域1/2宽度之和,且两个人脸区域中心纵坐标之差的绝对值小于或等于这两个人脸区域1/2高度之和,以及同时满足两个人脸区域相交面积大于或等于任意一个人脸区域面积的60%的条件时,则将所述两个人脸区域合并为一个人脸区域。进一步,步骤8中,采用下面的公式进行人脸区域合并:令第一人脸区域的四个顶点坐标为(rect1.left,rect1.top),(rect1.right,rect1.top),(rect1.left,rect1.bottom),(rect1.right,rect1.bottom),第二人脸区域的四个顶点坐标为(rect2.left,rect2.top),(rect2.right,rect2.top),(rect2.left,rect2.bottom),(rect2.right,rect2.bottom);合并后的人脸区域为(rect′.left,rect′.top),(rect′.right,rect′.top),(rect′.left,rect′.bottom),(rect′.right,rect′.bottom);rect′.top=min(rect1.top,rect2.top);rect′.bottom=max(rect1.bottom,rect2.bottom);rect′.left=min(rect1.left,rect2.left);rect′.right=max(rect1.right,rect2.right)。所述步骤3进一步包括将步骤2得到的P值与255相乘,取乘积的整数部分,或者按照四舍五入的方式将所述乘积转化为整数。所述步骤4进一步包括:将所述肤色分布图进行OTSU二值化处理,经过OTSU二值化处理后的图像每个像素的P值为0或255,然后将255改写为1。本专利技术还提供了一种与上述方法步骤一一对应的基于单张图像的肤色人脸检测系统。由于采用了上述技术方案,本专利技术的有益效果是:1.对肤色分布图像进行二值化压缩处理,大大节省了存储资源,同时为后续的积分图计算节省了运算资源,提高了人脸区域检测速度。2.对于一张确定的图像,先将其积分图计算出来并存储,当其他模块给出待检测区域的四个顶点坐标后,就能仅通过三次加减法得到该区域的积分值,而不需要每当其他模块给出一个检测区域就要做一次积分。进一步节省了运算资源,提高了检测速度。综上所述,本专利技术提供的人脸检测方法在保证精度条件下,使人脸区域检测的速度有明显的提升。附图说明本专利技术将通过例子并参照附图的方式说明,其中:图1为本专利技术流程图。图2为本专利技术中人脸检测区域合并过程示意图。图中标记:1为第一人脸检测区,2为第二人脸检测取,3为合并后的人脸检测区。具体实施方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。如图1,以128×128像素的图像为例,本专利技术包括以下步骤:步骤1:根据图像每个像素点的RGB值计算该像素点的YCbCr值;在一个具体实施例中依据以下公式将RGB值转换为YCbCr值:Y=0.299*R+0.587*G+0.114*B;Cb=128-0.1687*R-0.3312*G+0.5*B;Cr=128+0.5*R-0.4186*G+0.0813*B。步骤2:根据像素点的Cb值与Cr值计算二维高斯模型公式得到像素点为肤色像素点的概率。遍历整个图像,得到每个像素为肤色像素点的概率。其中C为肤色协方差矩阵,M为肤色均值二维列向量,Cx为包含某像素点的Cb值与Cr值的二维列向量肤色方差、肤色均值均为经验值,根据人种不同其取值不同,本实施例中M取值为步骤3:将P值归一化到0~255之间得到肤色分布图。在一个具体实施例中,将步骤2得到的P值与255相乘,取乘积的整数部分,或者按照四舍五入的方式将所述乘积转化为整数。根据高斯模型计算出来的P值是介于0~1之间的一个概率值,将其乘以255后,其乘积为介于0~255之间的值,此步骤需要用8个字节来表示每个像素的肤色概率信息,因此需要将乘积转换为整数。步骤4:将所述肤色分布图进行二值化处理,再将二值化处理后的肤色分布图的每个像素的P值改写为0或1得到压缩后的二值化肤色分布图。具体做法是,将所述肤色分布图进行OTSU二值化处理,经过OTSU二值化处理后的图像每个像素的概率信息为0或255。由于处理后的图像的概率信息只有两种状态,因此可将原来由8个byte表示的概率信息压缩为0或1表示的概率信息,每个像素的肤色概率信息仅需要用1个byte就能存储完。这样大大节省了图像处理过程中的存储资源。步骤5:计算下面的公式将压缩后的二值化肤色分布图转换为积分图:I(0,0)=pixel(0,0),以及I(x,y)=pixel(x,y)+I(x-1,y)+I(x,y-1)-I(x-1,y-1);pixel(x,y)为压缩后的二值化肤色分布图中横坐标为x,纵坐标为y的像素点的P值;压缩后的二值化肤本文档来自技高网...
一种基于单张图像的肤色人脸检测方法及系统

【技术保护点】
一种基于单张图像的肤色人脸检测方法,其特征在于,包括:步骤1:根据图像每个像素点的RGB值计算该像素点的YCbCr值;步骤2:根据每个像素点的Cb值与Cr值依次计算P(Cb,Cr)=1/(2×π×|C|)×exp[-0.5(x-M)T×C-1×(x-M)],]]>得到每个像素点为肤色像素点的概率;其中C为肤色方差二维列向量,M为肤色均值二维列向量,x为包含某个像素点的Cb值与Cr值的二维列向量;步骤3:将P值归一化到0~255之间得到肤色分布图;步骤4:将所述肤色分布图进行二值化处理,再将二值化处理后的肤色分布图的每个像素的P值改写为0或1得到压缩后的二值化肤色分布图;步骤5:计算下面的公式将压缩后的二值化肤色分布图转换为积分图:I(0,0)=pixel(0,0),I(x,0)=Σi=0x-1pixel(i,0),I(0,y)=Σj=0y-1pixel(0,j)]]>以及I(x,y)=pixel(x,y)+I(x‑1,y)+I(x,y‑1)‑I(x‑1,y‑1);pixel(x,y)为压缩后的二值化肤色分布图中横坐标为x,纵坐标为y的像素点的P值;压缩后的二值化肤色分布图的坐标原点为图像左上方的顶点;步骤6:根据待检测矩形区域的四个顶点坐标(rect.left,rect.top),(rect.right,rect.top),(rect.left,rect.bottom),(rect.right,rect.bottom)计算待检测矩形区域的人脸肤色均值:average=I(rect.right,rect.bottom)-I(rect.right,rect.top)-I(rect.left,rect.bottom)+I(rect.left,rect.top)(rect.right-rect.left)×(rect.bottom-rect.top);]]>步骤7:当人脸肤色均值average大于设定人脸肤色阈值时,则认为所述矩形区域为人脸区域。...

【技术特征摘要】
1.一种基于单张图像的肤色人脸检测方法,其特征在于,包括:步骤1:根据图像每个像素点的RGB值计算该像素点的YCbCr值;步骤2:根据每个像素点的Cb值与Cr值依次计算得到每个像素点为肤色像素点的概率;其中C为肤色协方差矩阵,M为肤色均值二维列向量,Cx为包含某个像素点的Cb值与Cr值的二维列向量;步骤3:将P值归一化到0~255之间得到肤色分布图;步骤4:将所述肤色分布图进行二值化处理,再将二值化处理后的肤色分布图的每个像素的P值改写为0或1得到压缩后的二值化肤色分布图;步骤5:计算下面的公式将压缩后的二值化肤色分布图转换为积分图:I(0,0)=pixel(0,0),以及I(x,y)=pixel(x,y)+I(x-1,y)+I(x,y-1)-I(x-1,y-1);pixel(x,y)为压缩后的二值化肤色分布图中横坐标为x,纵坐标为y的像素点的P值;压缩后的二值化肤色分布图的坐标原点为图像左上方的顶点;步骤6:根据待检测矩形区域的四个顶点坐标(rect.left,rect.top),(rect.right,rect.top),(rect.left,rect.bottom),(rect.right,rect.bottom)计算待检测矩形区域的人脸肤色均值:步骤7:当人脸肤色均值average大于设定人脸肤色阈值时,则认为所述矩形区域为人脸区域。2.根据权利要求1所述的一种基于单张图像的肤色人脸检测方法,其特征在于,还包括步骤8:当两个人脸区域中心横坐标之差的绝对值小于或等于这两个人脸区域1/2宽度之和,且两个人脸区域中心纵坐标之差的绝对值小于或等于这两个人脸区域1/2高度之和,以及同时满足两个人脸区域相交面积大于或等于任意一个人脸区域面积的60%的条件时,则将所述两个人脸区域合并为一个人脸区域。3.根据权利要求2所述的一种基于单张图像的肤色人脸检测方法,其特征在于,步骤8中,采用下面的公式进行人脸区域合并:令第一人脸区域的四个顶点坐标为(rect1.left,rect1.top),(rect1.right,rect1.top),(rect1.left,rect1.bottom),(rect1.right,rect1.bottom),第二人脸区域的四个顶点坐标为(rect2.left,rect2.top),(rect2.right,rect2.top),(rect2.left,rect2.bottom),(rect2.right,rect2.bottom);合并后的人脸区域为(rect′.left,rect′.top),(rect′.right,rect′.top),(rect′.left,rect′.bottom),(rect′.right,rect′.bottom);rect′.top=min(rect1.top,rect2.top);rect′.bottom=max(rect1.bottom,rect2.bottom);rect′.left=min(rect1.left,rect2.left);rect′.right=max(rect1.right,rect2.right)。4.根据权利要求1所述的一种基于单张图像的肤色人脸检测方法,其特征在于,所述步骤3进一步包括将步骤2得到的P值与255相乘,取乘积的整数部分,或者按照四舍五入的方式将所述乘积转化为整数。5.根据权利要求1所述的一种基于单张图像的肤色人脸检测方法,其特征在于,所述步骤4进一步包括:将所述肤色分布图进行OTSU二值化处理,经过OTSU二值化处理后的图像每个像素的P值为0或2...

【专利技术属性】
技术研发人员:张楠
申请(专利权)人:成都品果科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1