LBP特征
LBP特征呢网上比较多,就不多说了,就是邻域像素和中心点像素比较,二值化后排列成8位,将这8位组合成一个unsigned char变量,就是该中心点处的LBP特征,对每个点执行该运算,则形成一幅LBP图。
LBP等价模式
由于LBP取值范围是【0–255】,特征太多,所以抽取其中的等价模式,一共59个。抽取方式就是循环一圈,计算跳变次数,按跳变次数将LPB特征分为两类:
1、跳变次数不超过2次(如边缘、角点会有两次,平面则只有0次)
1、跳变次数超过2次
LBP直方图
按照等价模式,对一个图像区域进行LBP直方图统计,能得到59维的直方图向量。
分块LBP直方图
在人脸识别中,将人脸划分为77个区域,对每个区域进行LBP直方图进行统计,得到77*59维特征向量,这便是该人脸的特征向量
特征向量匹配识别
LBP特征向量匹配前,需要分别计算两幅图像的LBP特征向量,但是由于可能数据库的人脸大小和图像中检测到的人脸大小不一致,虽然是同一个人脸,缩放以后的LBP特征向量便不尽相同,可能方向一致,长度不一致。所以我们匹配的时候,就不能考虑采用直接欧式距离去度量两个向量的相似度,(但是如果我们进行归一化处理就可以避免这个问题)。
1、直方图交叉核方法
做这个的话,对于LBP特征,有一个要求,就是向量维度要相同
分三步走,先得到直方图交集:
计算交集直方图的梯度变化:
然后对梯度求和:
w
i
w_i
wi通常设置为
1
/
(
2
i
)
1/(2^i)
1/(2i):
得到的值越大越相似
个人觉得不如交核后的直方图与模板直方图做差,得到的值越小越相似,直接用向量投影
对于两个维度相同的直方图,做法就是取其交集(最小值)
对于两个维度不同的直方图,首先要将其划为维度相同的直方图,再取交集,如果a是模板,b是待匹配的直方图,则将b直方图先拉长到和a一样。对于按照顺序(从小到大或者从大到小)排列可以这么干,但是如果对于乱序排列的直方图,怎么干就有失偏颇。得先变为同序排列,再这么干
2、卡方检验
就是采用卡方检验来检测两个直方图的分布是否一致(相似)。
样本和期望分布的欧式距离为:
其相对偏差为:
对于一个大数而言(如1000),偏离±1单位的影响和对于一个小数而言(如10)的影响不可相提并论,而用这种相对偏差形式则可以很好避免这种情况。
人脸检测
人脸识别前,需要对人脸进行检测定位,方法很多,如VJ检测器
参考文献:
[1]Timo Ahonen, Abdenour Hadid:Face Recognition with Local Binary Patterns