特征提取之Haar特征
1.Haar-like特征
Haar特征由边缘特征、线性特征、中心特征和对角线特征组合成特征模板。特征模板中有白色和黑色两种矩形,模板的特征值则为白色矩形像素减去黑色矩形像素之和。Haar特征反应了图像灰度变化的情况。
对于图中A,B,D这类特征V=sum(白)-sum(黑),而对于C来说则V=sum(白)-2*sum(黑)。
2.Haar-like特征的计算:积分图
积分图就是只遍历一次图像就可以求出图像中所有区域像素和的算法。其主要思想是将图像从起点到各个点所形成的矩形区域的像素之和作为一个数组的元素保存起来,当要计算某个区域的像素和时,则可以直接用公式计算。Haar-like特征值的计算为两个矩阵像素和的差,若用积分图计算,不管特征矩形的尺度如何变换,所花费的时间都是常量。
积分图构建:
(1)用s(i,j)表示行方向的累加和,初始化s(i,-1)=0;
(2)用ii(i,j)表示一个积分图像,初始化ii(-1,i)=0;
(3)逐行扫描图像,递归计算每个像素(i,j)行方向的累加和s(i,j)和积分图像ii(i,j)的值
s(i,j)=s(i,j-1)+f(i,j)
ii(i,j)=ii(i-1,j)+s(i,j)
(4)扫描图像一遍,当到达图像右下角像素时,积分图像ii就构造好了。
积分图构造好之后,图像中任何矩阵区域的像素累加和都可以通过简单运算得到如图所示
若求得D区域的像素和,则公式为:
sum(D)=ii(D)-ii(B)-ii(C)+ii(A)
3.Haar-like矩形特征扩展
扩展后的特征大致分为4种类型:边缘特征、线特征环、中心环绕特征和对角线特征:
在特征值的计算过程中,黑色区域的权值为负值,白色区域的权值为正值。而且权值与矩形面积成反比(使两种矩形区域中像素数目一致)。
竖直矩阵特征值计算:
对于竖直矩阵,与上面2处说的一样。
45°旋角的矩形特征计算:
对于45°旋角的矩形,我们定义RSAT(x,y)为点(x,y)左上角45°区域和左下角45°区域的像素和。公式表示为
为了节约时间,减少重复计算,可按如下递推公式计算: