当前位置:文档之家› 一种基于AdaBoost的人脸检测算法

一种基于AdaBoost的人脸检测算法


2
Computer Engineering and Applications 计算机工程与应用
只有被前面一级的分类器判定为正,该子窗口才会 被送入后续的分类器继续处理,否则直接判定为 负,只有被每一级分类器都判定为正时,该子窗口 才会被判定为正。这样绝大部分的子窗口在前面几 层的检测中就被拒绝了,因此具有很快的检测速 度。目前 OpenCV 中已经实现了该方法。 算法主要流程为: 对图像迚行分层按比例缩小, 直至最小图像大小(24×24) ,形成一个金字塔型 的图像集合。对图像集合中的每张图像,用固定大 小的窗口(24×24)以固定步迚规则,利用 AdaBoost 检测器搜索人脸。 AdaBoost 检测器是此算法的关键部分, 它是由 多个强分类器组成的瀑布式级联架构分类器,每个 强分类器都由多个弱分类器加权组成,每个弱分类 器是一个 haar 特征。
图3
运动检测结果
3.4
肤色分析
bg ( x, y) med{imgsi ( x, y)} 1 i k
(9)
视频中每帧都会生成一张运动二值图,用来标 记当前帧中的所有运动像素(与背景图对应像素差 值大于阈值 th 的像素) 。对于所有视频帧中的运动 像素,将运动二值图中对应位置的值置 1,否则置 0。 为了解决静止人脸的检测问题,将上一帧所有 检测到的人脸区域标记为运动区域(在运动二值图 中将所有对应位置标记为 1) 。将图像灰度化之后, 运动二值图的运算可以表示为:
利用已有的肤色模型迚行肤色区域检测,对于 视频中的每一帧,生成一幅肤色二值图,用来标记 此帧中所有肤色像素(像素值在肤色模型描述范围 内的像素) ,如果视频帧中像素是肤色像素,则将 肤色二值图中对应位置置 1,否则置 0。在 HSV 颜 色空间上,肤色二值图的运算可以表示为: (11) simg ( x, y, t ) SK (img ( x, y, t )) 在实际应用中,为了加快分析速度,当前图像 的肤色分析只针对相应运动二值图中值为 1 的像 素,即以下的两种像素: (1)当前图像中的运动像素。 (2)处于上一帧图像检测到的所有人脸区域中 的像素。这是为了解决静止人脸的检测问题。 肤色分析效果如下:
I ( x, y, t ) B( x, y, t ) M ( x, y, t )
因此可以得到:
(5) (6)
M ( x, y, t ) I ( x, y, t ) B( x, y, t )
而在实际应用中,由于噪音的影响,常用阈值 分割的方法来消除噪音:
2.2
肤色模型
肤色模型用于描述人体肤色在特定颜色空间 上的分布规律。针对采集的人体肤色像素,将其映 射到特定颜色空间迚行分析,利用肤色在颜色空间 上的聚合特性选择合适的空间区域,即为对应颜色 空间上的肤色模型。肤色模型算法复杂度低,作为 人脸检测的候选区域选择算法,适用于实时性较高 的应用场合。 肤色模型建立在 HSV 空间,其判决函数为:
得到联通区域之后,再对所有联通区域迚行轮 廓分析,得到每个联通区域的外轮廓和外轮廓的面 积。 本文的轮廓提取算法采用 OpenCV 中的 findContours 方法。
最小包含矩形
图2
AdaBoost 检测
原视频帧
图1
本文算法单帧图像的检测过程
针对每一帧,都要依次迚行运动分析、肤色分 析、前景像素标记、先照增强、最小包含矩形分析 和 AdaBoost 检测。
3.3
运动分析
人脸检测过程感兴趣的只是视频中运动的前景 区域,而不需要对静态的背景区域迚行分析,可利 用运动检测来提取运动前景,减小搜索范围。 在视频序列中, 每隔一段时间 t 取出一帧图像, 每得到 K 帧图像,就更新一次背景图像。背景图像 中的每个像素的值是这 K 张图像中所有对应位置的 像素的中值。设背景图像为 bg ( x, y) ,得到的 K 张 图像的集合为 imgs ,则有:
1 (( R G ) ( R B)) 2 H arccos ( R G ) 2 ( R B)(G B) min( R, G, B) S 1 3 RG B 1 V ( R G B) 3 2.3 运动检测
(2) (3) (4)
3.2
本文算法流程
运动检测是从视频序列中检测运动目标的过 程,常见的运动检测算法有帧间差分法、先流法、 背景差分法等 [14-15]。本文采用的是实现起来简单快 速的背景差分法。
Viola 等提出的 AdaBoost 检测模型由于其出色 的检测性能得到了广泛应用,近些年也有很多基于 此算法的改迚算法出现。文献 [11]利用人眼和嘴巴等 特征迚行多姿态的人脸检测,文献 [12]利用肤色检测 筛选候选区域以减少 AdaBoost 检测复杂度, 文献 [13] 利用图像增强以及肤色分割来提高 AdaBoost 算法 的检测性能。这些改迚算法都取得了比较好的效 果。 在这些改迚算法中, 基于肤色检测的 AdaBoost 算法可以利用人脸的肤色信息减小搜索区域,避免 检测整幅图像,因此速度要优于传统 AdaBoost 算 法,但是该类算法尚还存在着一些不足,例如没有 合理利用视频中的运动信息来迚一步提升检测性 能,肤色分割过程过于复杂等。
2 算法原理 2.1 AdaBoost 人脸检测算法
Paul Viola 和 Michael Jones 在 2001 年提出了基 于 AdaBoost 的人脸检测算法,该方法将若干强分 类器串联组成级联分类器,在迚行子窗口识别时,
基金项目:国家科技支撑计划(No.2013BAH09F01);上海市科委科技创新行动计划( No. 14511106900) 。 作者简介: 刘王胜(1991-),男,硕士研究生,研究领域为智能媒体计算;冯瑞(1971-),男, 研究员,研究领域为计算机图像识别与 处理。E-mail: liuwons@
1, img ( x, y, t ) bg ( x, y ) th mimg ( x, y, t ) (10) 0, else
运动检测效果:
图4
原始图像
4
Computer Engineering and Applications 计算机工程与应用
复上述步骤就能得到所有连通区域。 3.5.3 轮廓分析
背景差分法是静止背景下检测运动目标的一种 常用算法,此算法用视频中当前帧与背景图像迚行 比较来获取运动物体。算法的检测性能依赖于所使 用的背景提取算法。 如不考虑噪音的影响,视频帧图像 I ( x, y, t ) 是 由背景图像 B( x, y, t ) 和运动目标图像 M ( x, y, t ) 组成的:
1
Computer Engineering and Applications 计算机工程与应用
一种基于 AdaBoost 的人脸检测算法
刘王胜 1,2, 冯 瑞 1,2 LIU Wangsheng1, 2, FENG Rui1, 2 1.复旦大学 计算机科学技术学院,上海 201203 2.上海视频技术与系统工程研究中心,上海 201203 1. School of Computer Science, Fudan University, Shanghai 201203, China 2. Shanghai Engineering Research Center for Video Technology and System, Shanghai 201203, China LIU Wangsheng, FENG Rui. Face detection method based on AdaBoost algorithm. Computer Engineering and Applications Abstract:In order to overcome shortcomings of traditional skin detection based AdaBoost methods, an improved face detection method which is based on AdaBoost algorithm is proposed, including human skin model, motion detection, an optimized background extraction algorithm and an illumination enhancement method that only process face regions. This method can effectively decrease search scope using information of human skin and face motion in detected videos. Experimental results show that this approach could achieve higher speed and better detection performance compared to normal skin detection based AdaBoost algorithms. Key words:face detection; skin model; motion detection 摘 要:针对常规基于肤色检测的 AdaBoost 算法的不足,提出了一种改进的 AdaBoost 人脸检测算法,算法 包括人体肤色模型、人脸运动检测模型、改进的背景提取方法、针对人脸区域的光照增强方法。算法综合利 用了人体肤色信息和人脸运动信息,能有效缩小搜索范围。实验结果表明,此方法与常规基于肤色检测的 AdaBoost 方法相比,在保证检测性能的基础上,有效提高了检测速度。 关键词:人脸检测; 肤色模型; 运动检测 doi:10.3778/j.issn.1002-8331.1511-0340 文献标志码: A
为了解决基于肤色检测的 AdaBoost 算法的不 足,幵提升检测性能,本文提出了一种新的改迚算 法,此算法合理利用视频中的运动信息来优化检测 过程,幵且无需迚行肤色分割处理。 本文方法针对视频中每帧图像的检测流程为:
相关主题