北京大学本科生毕业论文 线性特征 (3)(4) 特定方向特征 (5) 表 2 特征模板
5.2.3 检测器内特征总数3
特征模板可以在子窗口内以“ 任意” 尺寸“ 任意” 放置,每一种形态称为一个特征。找出子窗口所有特征,是进行弱分类训练的基础。 5.2.3.1 子窗口内的条件矩形
3
Paul Viola 和Michael J. Jones 在其关于boosted cascade 的同一篇论文的三个版本中(参见[19][20][21]),
对 24×24 检测器中所含的矩形特征数量的描述各不相同(分别为160,000、180,000、45,396)。这一节推导出了矩形特征数量的计算公式。 基于 AdaBoost 算法的人脸检测 赵楠
29
北京大学本科生毕业论文 m
A( x , y ) 1 1 m
B ( x , y ) 2 2
图 10 计算m×m检测器内所有可能的矩形的数量。
以 m×m 像素分辨率的检测器为例,其内部存在的满足特定条件的所有矩形的总数可以这样计算:
对于 m×m 子窗口,我们只需要确定了矩形左上顶点 A(x1, y1)和右下顶点
B(x2, y2),即可以确定一个矩形;如果这个矩形还必须满足下面两个条件(称为 (s, t)条件,满足(s, t)条件的矩形称为条件矩形):
1) 2)
x 方向边长必须能被自然数 s 整除(能均等分成 s 段);
y 方向边长必须能被自然数 t 整除(能均等分成 t 段);则,这个矩
形的最小尺寸为 s×t 或 t×s,最大尺寸为 [m/s]·s×[m/t]·t 或 [m/t]·t×[m/s]·s;其中[ ]为取整运算符。
5.2.3.2 条件矩形的数量
我们通过下面两步就可以定位一个满足条件的矩形:
30
基于 AdaBoost 算法的人脸检测 赵楠
北京大学本科生毕业论文 1) 确定 A(x1, y1):x1 ∈{1,2,?,m ? s,m ? s +1}, y1 ∈{1,2,?,m ?t,m ? t +1}; 2) 确定 A 点后,B 点只能在图 10 中阴影内(包括边缘)取值,因此有:
x2 ∈Χ = {x1 + s ?1,x1 + 2? s?1,?, x1 + (p ?1)?s ?1, x1 + p? s ?1}, y2 ∈Υ = {y1 +t ?1, y1 + 2?t ?1,?, y1 + (q ?1)?t ?1, y1 + q ?t ?1},其
m ? x1 +1
s
m ? y1 +1
t
中 p =,q =。并且知
道: Χ = p, Υ = q。
由上分析可知,在 m×m 子窗口中,满足(s, t)条件的所有矩形的数量为:
m?s+1 m?t+1
x1=1
y1=1
q
=
m
∑
x?1s=+11m
∑?1t=+1
m ? x1
+1+1
?
y
m ? yt s
1
1
m?s+1
= +1
∑
x1=1
m ? xs1 +1
?
m
∑
y?1=t+11
m ? ty
1
基于 AdaBoost 算法的人脸检测 赵楠 31
北京大学本科生毕业论文 ms s+ 1
mt?1
+1
+?
?
ms?1 +?mt
s +
t +t 1 +1
5.2.3.3 子窗口的特征矩形数量实际上,(s, t)条件描述了矩形特征的特征,下面
列出了不同矩形特征对应的 (s, t)条件:
特征模板 (s , t )条件 1 、 (1, 2) 2 、 (2, 1) 3 、 (1, 3) 4 、 (3, 1) 5 、 (2, 2) 表 3 特征模板的(s,t)条件
所以 m×m 子窗口中所有 5 种特征模板的特征总数量?m ,就是分别满足 5 个(s,t) 条件的矩形特征的数量的总和,即:
?m =?m(1,2) +?m(2,1) +?m(1,3) +?m(3,1) +?m(2,2)
特别地,由于特征模板 1 和 2、3 和 4 具有旋转对称性,则可以进一步简化为:
m( 2, 2)
5.2.3.4 结果
下面以 24×24 子窗口为例,具体计算其特征总数量: 特征模 板 基于 AdaBoost 算法的人脸检测 赵楠
数量
32
北京大学本科生毕业论文 1、 2、 2×?24(1,2) = 212+1+? 241 23231 242 +1+?232 = 2×(24 + 23+?+ 2 +1)×(12 +11+11+?+ 2 +1+1) = 2×300×144 = 2×43,200 = 86,400 3、 4、 2×?24(1,3) = 2 241 +1+? 231 243 34+1+?233 12 = 2×(24 + 23+?+ 2 +1)×(8 + 7 + 7 +?+1+1+1) = 2×300×92 = 2×27,600 = 55,200 5、 ? (242,2) +?2332+1242 232 242 232 +1 +?= (12 +11+11+?2 +1+1)×(12 +11+11+?+ 2 +1+1) =144×144 = 20,736 总数 ? 24 = 162,336 表 4 特征总数量的计算 下面列出了,在不同子窗口大小内,特征的总数量:
基于 AdaBoost 算法的人脸检测 赵楠
33