移动通信
关键词: LDP , 局部邻域 , 人脸识别 , Kirsch算子 , 鲁棒性
LDP 算法是将与Kirsch 算子运算后得到的一些负值的邻域灰度值作为中心灰度值的编码因子,这将会导致中心灰度值不能很好的反映邻域局部特征信息,从而降低识别率。针对于此,本文提出了一种改进的局部定向模式(CLDP)算法。该算法在LDP 的基础上,去掉邻域灰度值为负值的因子,对中心灰度值进行重新编码,由于该编码值是将与Kirsch 算子运算后的正值最大值作为图像边缘输出,使中心灰度值能很好反映邻域的局部特征信息,从而提高人脸的识别率。本文还将提出的CLDP 算法用在YALE,ORL,JAFFE 等人脸数据库中进行人脸识别。从实验的结果表明,该方法识别性能较LDP算法,LDN 算法以及ELDP 算法等更好的。
人脸识别系统主要包括四个模块:图像预处理模块,图像特征提取模块,图像训练模块和人脸图像的识别模块,其中最主要的核心部分就是图像特征的提取。好的特征提取算法应该满足不同类别的图像具有很大差异,同一类别的图像具有很小差别。到目前为止,特征提取主要包括两类方法:基于全局特征的提取方法和基于局部特征的提取方法。全局特征是指其特征向量的每一维都包含了人脸图像上所有部分(甚至所有像素)的信息,它反映的是人脸的整体属性。基于全局的特征方法主要包括:PCA,LDA,2DPCA,LPP 等 。与全局特征不同的是,局部特征信息的每一维都只对应人脸图像上的一个局部区域,它侧重于提取人脸的细节特征,基于局部特征的提取方法主要包括:LBP,LGBP,LDP 等 。局部特征对人脸的光照、表情和遮挡等变化不敏感,因此基于局部特征的提取方法相对于基于全局特征的提取方法具有更好的鲁棒性,在近些年来得到了更多的研究 。
近年来,LBP 算法因为其在纹理分析方面的简单性和优越性而得到了越来越多的重视。基本的LBP算子是一种有效的纹理描述符,其通过对中心像素的3×3 邻域进行编码操作。每个像素点以其邻域的中心像素灰度值作为判断的阈值,将中心像素灰度值与周围8 邻域的像素灰度值进行比较,如果邻域像素灰度值大于中心像素灰度值,则将其标记为1,否则标记为0(对于图像边缘的部分,存在一些邻域点不存在的,编码时设定该邻域点为0),从而每个像素点都可以得到一个8 位的二进制数,然后将该8 位二进制数转化为十进制数,该十进制数即为该中心像素点的LBP 值。因为LBP 编码的灵活性,LBP 算法可以很容易修改以适应其他不同类型问题的需要。为此,文献[9]提出了几种改进的LBP 算法。LBP 算法对单调线性的光照有很好的鲁棒性,但是其对于随机的噪声和非单调线性的光照变化非常的敏感。针对此因素,Jabid 等人 提出了鲁棒性更好的特征提取方法-LDP。LDP 算法和LBP 算法很相似,但它是通过与Kirsch 算子卷积求和后得到了中心像素点的邻域灰度值 。由于边缘梯度值比像素灰度值更稳定,所以LDP 算法对噪声的鲁棒性更好。基本的LDP 编码是将最主要的k 个邻域灰度值设为1(即和Kirsch 算子 卷积求和后绝对值的k 个最大数),然后将8 个方向的邻域值进行编码。这种方法会将最大的负数对应的邻域灰度值设为1,由于这些负数会干扰局部特征信息的提取,使得编码后的中心灰度值不能很好反应出该位置的局部特征信息,从而会降低人脸识别率。
针对与LDP 的这个缺点,Zhong Fujin 等人提出一种基于LDP 算法的ELDP(Enhanced Local DirectionalPatterns)算法 ,Adin Ramirez Rivera 等人提出了一种LDN(Local Directional Number Pattern)算法 。ELDP算法是在LDP 算法的基础之上得到的,首先它将与Kirsch 算子计算后的八个方向值进行排序,将最大的两个正值对应的位置设为1,其他位置设为0,然后将得到的两个位置为1 的序号作为八进制的两位数,再将其转化为十进制数作为该中心点的像素灰度值,即ELDP 值。LDN 算法首先同样是将与Kirsch 算子运算后的8 个方向值进行排序,选取最大的正值和最小的负值,然后将最大正值对应的序号作为八进制数的第1 位,将最小值的序号作为八进制数的第0 位,再将这个两位的八进制数转化为十进制数作为该中心点的像素灰度值,即LDN 值。
以上对LDP 进行改进的算法是对8 个邻域灰度值的序号进行编码,会丢失一些特征信息,针对这个问题,本文提出了一种基于LDP 算法改进后的局部定向模式(CLDP)。该算法通过与Kirsch 算子计算后得到的八个邻域灰度值重新进行编码,不对其求绝对值,考虑负数的存在,然后将8 个计算后的邻域值进行大小判别,将最大的k 个正值设为1,其他8-k 个邻域值设为0,再将这8 位二进制数转换为十进制数,用该十进制数值作为中心像素点的灰度值,即CLDP 值。CLDP 算法的编码避免了LDP 算法将运算后的邻域为负值作为编码因子,同时也避免了LDN 算法和ELDP 算法将运算后的最大邻域值所对应的序号作为编码因子,这样CLDP 值能更好的反应出该位置的局部特征信息。
本文提出的CLDP 算法用在三个人脸数据库中分别进行识别实验,并和LDP 算法,LDN算法以及ELDP算法进行比较。实验的结果表明,本文提出的方法具有较其他方法有着更好的识别性能。
1 CLDP 算法
1.1 LDP 算法
基于LBP 算法提出的局部定向模式(LDP),是将一个3×3 矩阵块(如下)分别与8 个Kirsch 算子M0~M7进行运算后得到的绝对值作为矩形块周围的像素灰度值,记为|mi|(i=0,1,…,7),然后选取k 个最大绝对值数作为主要特征,并且将这k 位赋值为1,其余(8-k)位赋值为0,如图1 所示。最后将这8 个数按照一定的顺序编码组成一个八位的二进制数,再将其转换为十进制数,用这十进制数作为该3×3 矩形块的中心点的LDP特征值。
全部0条评论
快来发表一下你的评论吧 !