利用AdaBoost算法解决电视节目人物面部智能检测问题
2013-01-25文丨刘郭若伟
文丨刘 博 郭若伟 王 巍
利用AdaBoost算法解决电视节目人物面部智能检测问题
文丨刘 博 郭若伟 王 巍
本文在对人脸面部特点分析的基础上,比较了几种常用的面部智能检测方法,提出利用AdaBoost技术解决面部智能检测的基础问题。设计了面部智能检测流程,并对重要人物判别机制进行了设计。
面部智能检测; 面部特点; Adaboost; 智能监测
1 引 言
电视媒体作为最具影响力的大众传媒之一,担负着宣传党的方针政策,传达政令,引导舆论等多项社会职能。然而,发展迅猛的广播电视业也面临着诸多问题,如一些节目内容低俗引起了社会关注。因此,如何利用技术手段,杜绝被限制的人物出镜,防止违规节目播出,是电视节目智能监测领域的新课题。AdaBoost算法在面部智能检测方面的应用,恰好为电视节目人物智能监测提供可靠的技术支持。
2 面部智能检测技术
2.1 面部智能检测的特点
面部包含着很多的特点信息,其中一些特点有:几何特点、肤色特点和运动特点等。静止图像中的面部智能检测主要采用几何特点和肤色特点;电视节目中的面部智能检测主要采用运动特点。
基于几何特点的面部智能检测是提取面部一些简单的特点,然后对特点进行基于知识层面的分析[1]。基于肤色特点对于彩色的面部图像而言。基于运动特点,可以通过比较面部或者面部区域相对背景的位置移动就可以定位面部,比如利用面部简单的运动来定位面部。
2.2 面部智能检测方法
面部智能检测从不同的角度可以有很多种分类方法。主要思想就是对要检测的面部进行建模,比较待检测的区域和面部模型的匹配度,通过对匹配度的考察来得到可能存在的面部区域。下面是三种有代表性的面部智能检测方法。几何方法是根据人脸结构的已有信息,利用向量来代表这些特点;肤色也是面部的一个显著的特点;统计方法是将面部智能检测看成一般的模式识别的问题,通过判断这个数学高维向量所在的区域属于哪个模式即可完成对面部的检测[2]。
2.3 面部智能检测方法的评价指标
面部只能检测的主要评估指标有:误检率、检测率、检测速度以及鲁棒性四个方面。误检率指的是将非面部窗口误认为面部数目与图像中检测出的面部数值进行对比取值;检测率指的是正确检测出的面部数值与图像中总面部的数值对比;检测速度指的是面部检测过程中消耗的时间,在检测率较高、误检率较低的情况,速度越快越好;鲁棒性指的是检测系统对各种情况的适应能力,如面部姿态变化、背景噪声干扰及面部遮挡等情况。以上的四项指标相辅相成的。
3 利用 AdaBoost算法进行面部区域提取
Adaboost 是一种迭代算法,通过从大量的弱分类器中选取最具有分类能力的那些组合,构成一个强分类器。其基本原理是针对不同的训练对象调教同一个分类器(弱分类器),之后,将这些不同训练集上的得到的分类器联合起来,构成一个综合分类器(强分类器)。
多级分类器的结构如图1所示,前面一层的分类器对子窗口的图像进行分类后,如果分类结果为“是”,那么可能包含面部的窗口就传递到下一个分类器,并且触发下一个分类器进行处理,如此下去直到最后一个分类器。
图1 多级分类器结构
4 电视节目中的面部智能检测系统的设计
目前面部智能检测作为一个独立的研究课题,其应用背景已经远远超出了面部智能检测的范畴,面部信息处理成为基于内容的电视节目智能监测研究中的一个焦点问题。
4.1 电视节目智能监测中面部智能检测流程
本文设计的面部智能检测的步骤是这样的:首先用大量人物图像用Adaboost算法进行训练,得到一个AdaBoost算法形成的最终分类器,用最终分类器去区分面部和非面部;如果检测结果为面部区域,就对检测到的面部区域用肤色判别方法统计区域上的皮肤颜色的比例,从而判别其是否为面部图像;经过肤色比对的验证并确认为面部区域,接着运用特点比对进行人物判别,如果视频人物众多,可以优先比对重要人物的面部特点。面部智能检测的流程如图2所示。
图2 面部智能检测的流程
4.2 面部图像预处理及标准化
对各种识别算法,面部图像的预处理和标准化是面部智能检测一个必要的前期步骤,预处理的效果将会对后续的识别过程有非常大的影响。目前国内外针对面部智能检测的图像预处理多倾向于对面部的标准化,即通过面部的灰度、投影等信息确定面部边晃,并对图像进行剪裁和缩放,使得面部的关键部位在图像中的相对位置一致。
4.3 重要人物判定
在一些电视节目中往往会出现人物众多的情况,而其中一些的面部角色与电视节目毫无关系,而且有些人物不知道其身份,如果探测所有的面部并加以标识无关紧要又不现实。我们把人物的范围缩小,主要针对电视节目中的重要人物,比如国家领导人以及限制出境的人物等,这样就能在一定程度上探测出面部并进行过滤,将无关紧要人物滤掉。判断重要任务主要注重以下几点:
(1)人物面部在电视节目中出现的频率以及时间长短。一般来说,重要的人物曝光率较高,而且都会伴有重要事件出现,面部在镜头上持续的时间较长。根据以上特点,我们认为镜头出现的次数较多,持续时间较长的面部则代表着重要人物。此标准的界定与实现涉及到面部跟踪及面部识别的问题,因为面部出现的次数需要判定面部相关性的问题,即验证出现的面部是否是同一人,判断持续时间需要对面部出现的开始帧与结束帧的信息,从而产生面部跟踪报告。
(2)通过面部区域的出现位置判定人物的重要性。通过对电视节目的观察,发现重要人物的面部一般出现在图像的中央部位,不会出现在节目的边界处,因此可以根据人物出现的位置来界定其人物的重要性。
(3)根据面部区域的大小来识别重要人物。电视节目中的重要人物虽然可能不是特写镜头,但是面部的尺寸、在图像所占比例也有一定特点。
5 结 语
本文利用Adaboost算法,设计了快速面部检测判别流程。利用该算法,我们可以方便的在电视节目中识别出目标人员的面部特点。有助于广电监测部门迅速、准确地获取电视节目人物的脸部图像,对提高监测人员的工作效率、加强广播电视监管有重要意义。
[1] 郭志波 严云洋 杨静宇.一类视频序列中的人脸检测与实时跟踪算法.计算机工程与应用2007.43(28)
[2] 冯冬青 丁锴.视频中基于肤色模型的人脸检测.计算机应用与软件.2010.27(2)
(国家广播电影电视总局哈尔滨监测台,哈尔滨 150089)