首页 > 范文大全 > 正文

基于肤色及AdaBoost算法的自动调焦人脸检测

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于肤色及AdaBoost算法的自动调焦人脸检测范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要: 提出一种结合肤色检测和AdaBoost算法的自动调焦实时人脸检测方法。采用肤色信息定位皮肤区域,针对AdaBoost算法对待检人脸尺寸小于训练样本人脸尺寸时检测率低的缺陷,并采用自动调焦算法调整图像大小后再利用AdaBoost算法进行人脸检测。实验结果表明,结合肤色信息和自动调焦后的AdaBoost算法性能较传统AdaBoost算法有明显提高,同时对小人脸图像也有更好的检测效果。关键词:人脸检测; 皮肤检测; AdaBoost; OpenCV

中图分类号:TN911-34; TP391.41 文献标识码:A

文章编号:1004-373X(2010)22-0094-03

Human-face Autofocus Detection Based on Complexion and AdaBoost Algorithm

LIU Qi, HUANG Ying, LIU Yun-feng

(School of Automation, Guangdong University of Technology, Guangzhou 510006, China)

Abstract: An autofocus and human face real-time detection method combining complexion detection with AdaBoost algorithm is proposed. The complexion information is adopted to locate the area of skin, and then the autofocus algorithm is utilized to adjust the image size before using AdaBoost algorithm to detect human-face in view of the low detection rate when the size of human-faces is smaller than that of training samples. The experiment results show that in comparison with the performance of traditional AdaBoost algorithm, the performance of AdaBoost algorithm combining skin color information with autofocus method is significantly improved. Tthe better effect of small face image detection is also acquired.

Keywords: human-face detection; skin detection; AdaBoost; OpenCV

收稿日期:2010-06-26

基金项目:国家自然科学基金资助项目(60272089);广东省自然科学基金资助项目(04009464)

人脸检测是指对输入的静态或视频流图像进行处理、判断其中是否存在人脸的过程。人脸检测技术在视频监控、视频检索、人脸识别、人机交互等领域应用广泛。人脸检测方法主要分为三类[1]:基于肤色的检测方法;基于形状的检测方法;基于特征的检测方法。基于肤色的检测方法利用肤色与周围环境的差异来检测人脸,基于形状的检测方法利用一些形状模板与人脸和五官的形状信息进行匹配而确定是否存在人脸,而基于特征的方法则采用诸如人脸灰度分布等特征来进行人脸检测。近年来,涌现了很多优秀的人脸检测方法,Paul Viola 和Michael Jones于2001年提出的adaboost算法[2],从根本上解决了人脸识别的实时性问题。Inalou SA等提出首先采用AdaBoost算法检测人脸[3],然后采用肤色模型去除部分误检区域,最后采用支持向量机(SVM)方法作更严格的检测,该方法降低了误检率,但是检测时间有所增加。Peng Yuxin等人提出采用肤色信息减少待扫描区域[4],然后再用AdaBoost算法精确定位人脸;刘栋、周激流等提出先采用融合肤色信息的图像差分方法缩小待检图像区域[5],然后用Adaboost算法实现人脸检测;上述方法减少了检测时间,同时也降低了误检率。但是当人脸尺寸小于训练样本尺寸时,上述方法检测率并不理想,针对以上问题,文中提出首先采用HSV肤色检测,确定可能存在人脸的区域,减少待检测图像区域。然后采用自动调焦算法将图像调整到适当大小,最后采用AdaBoost算法检测人脸。实验结果表明,该方法优于传统方法。

1 肤色检测

肤色检测中,背景的亮度经常变化,对肤色检测带来了一定程度的干扰,因此,选择合适的颜色空间消除这种干扰,能有效的提高肤色检测的性能。

HSV(hue,saturation,value)颜色空间是一种面向视觉感知的颜色模型,对应于圆柱坐标系中的一个圆锥形子集,如图1所示。其中亮度V∈[0,1],圆锥的顶面亮度最大,对应于V=1;色度H由绕V轴的旋转角给定,H∈[0°,360°],红色对应于角度0°,绿色对应于角度120°,蓝色对应于角度240°;饱和度S∈[0,1]。在圆锥的顶点(即原点)处,V=0,H和S无定义,代表黑色;圆锥的顶面中心处S=0,V=1,H无定义,代表白色。HSV颜色空间的优点在于将亮度(V)与反应颜色本质特征的参数色度(H)和饱和度(S)分离。选择反应颜色本质特征的饱和度分量和色度分量进行肤色分析,不仅能有效的消除了亮度分量的影响,同时也更利于色彩的聚类分析。

通过对200张黄色人种人脸图片进行肤色测试分析,经统计表明,比较合适的肤色分割区域为H∈[0°,53°],S∈[0.21,0.69]。程序中将RGB空间图像转换为HSV空间图像后判断H和SХ至康姆段,将不属于该范围的像素点的HSV分量均设置为0,表示黑色,其他区域则保持不变,采用OpenCV函数cvErode和cvDilate进行形态学操作,去除离散点后再转换为RGB空间的图像如图2所示。

图1 HSV色彩空间

图2 HSV肤色变换前后的结果

通常,皮肤区域在一副图像中的比例为40%左右,提取出包含皮肤区域的最小矩形图像做为待检测的图像,有利于减少人脸检测的时间。采用搜索算法计算该区域并用矩形标定后的结果如图3所示。

图3 矩形标定皮肤区域

2 AdaBoost分类器

AdaBoost算法的基本思想是选择一些由积分图计算出的关键特征构成弱分类器,然后将多个弱分类器合成强分类器,最后将强分类器级联起来构成最终的分类器。

2.1 扩张的Harr-like矩形特征

AdaBoost分类器采用了一组类似于Harr小波变换的滤波器来计算图像的特征值,选取Rainer Lienhart等人提出的扩张Harr-like矩形特征[6],部分典型的矩形特征如图4所示。

各矩形特征的特征值如式(1)所示:

featurej=∑i∈(1,2,…,N)wi×RectSum(ri)(1)