理论教育 实现人脸检测的技巧和方法

实现人脸检测的技巧和方法

时间:2023-06-17 理论教育 版权反馈
【摘要】:对于摄像头采集的彩色图像,包含复杂的背景,需要将人脸检测出来,并把检测出来的人脸进行归一化处理。为了得到这个统计分布,在30s内取1000帧图像对人脸面部肤色的某一像素值进行观察。机器人实验系统利用肤色模型成功地进行了人脸检测,人脸检测结果如图8-18所示。图8-19 人脸检测结果a)标志后的人脸 b)预处理后的人脸

实现人脸检测的技巧和方法

对于摄像头采集的彩色图像,包含复杂的背景,需要将人脸检测出来,并把检测出来的人脸进行归一化处理。

采用YCbCr颜色模型。对输入彩色图像进行颜色空间转换,将其从相关性较高的RGB空间转换到颜色分量互不相关的YCbCr颜色空间。转换公式如下式所示:

978-7-111-57267-1-Chapter08-26.jpg

为了检测场景中的人脸区域,建立一个有效的肤色模型是非常重要的。统计方法是一种常用的工具,在此用一个随机变量表示像素值的变化。该随机变量的概率密度函数具有特定的统计分布形式,其参数通过训练数据来估计。为了得到这个统计分布,在30s内取1000帧图像对人脸面部肤色的某一像素值进行观察。从实验中发现,人的肤色在色度空间的分布符合二维高斯分布Nμδo),其中均值μ=E{χ},χ=(CrCb)T;假设CrCb颜色分量相互统计独立,则协方差δ=E{(x-μ)(x-μT}。根据肤色在色度空间的高斯分布,对于图像上任意一点从RGB颜色空间变换到YCbCr颜色空间,从而得到该点属于肤色区域的概率如下式所示:

PCrCb)=exp[-(x-uTδ-1x-u)/2]

(2π)3/2|δ|1/2 (8-2)

在实验中,属于肤色的CrCb颜色分量的均值取μ=(117.4361,156.5599)T,协方差δ如下式所示:

978-7-111-57267-1-Chapter08-27.jpg

通过肤色模型,将一副彩色图像转变为灰度图像,灰度值对应于该点属于皮肤区域的程度。然后,采用动态平均阈值法对图像进行二值化处理,结合水平灰度投影和垂直灰度投影,找到人脸区域的上下边界,对人脸进行标记。(www.daowen.com)

为方便对视频进行处理,定义了一个处理视频像素的结构体,其定义如下。

978-7-111-57267-1-Chapter08-28.jpg

视频数据是按BGR顺序在缓存中排列,利用capGetVideoFormatSize(hWnd)得到图像大小,利用capGetVideoFormat(hWnd,&bmi,dwFormatSize)获取图像格式,定义一个视频像素的指针指向视频数据PixelRGB∗pRGB=(PixelRGB∗)(lpVHdr->lpData)。这样就可以对数据进行处理了。

机器人实验系统利用肤色模型成功地进行了人脸检测,人脸检测结果如图8-18所示。其中图8-19a为标志后的人脸,图8-19b为预处理后的人脸。

978-7-111-57267-1-Chapter08-29.jpg

图8-19 人脸检测结果

a)标志后的人脸 b)预处理后的人脸

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈