一种基于边缘检测与SIFT的人脸表情识别特征提取方法转让专利

申请号 : CN201810004825.9

文献号 : CN108038476B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 高天寒陈爽

申请人 : 东北大学

摘要 :

本发明提供一种基于边缘检测与SIFT的人脸表情识别特征提取方法,包括:获得包含人脸的图像;将图像划分为背景类和对象类,进行边缘检测后得到关于人脸信息的子图像,即对象类子图像;提取对象类子图像中的特征点,生成对象类子图像中关于表情信息的SIFT描述子。本发明在特征提取过程中去除掉背景对重要信息造成的等影响,对图像进行特征点提取得到的SIFT描述子,对于噪声、光照、部分遮挡以及仿射变换等的稳定性极高,提取到的图像中的SIFT描述子完成图像的匹配,同时利用PCA进行降维,加快了提取特征与匹配的时间,提高了匹配的效率以及准确率,非常适用于图像的识别、图像人脸识别与图像比对等方面。

权利要求 :

1.一种基于边缘检测与SIFT的人脸表情识别特征提取方法,其特征在于,包括:获得包含人脸的图像;

将图像划分为背景类和对象类,进行边缘检测后得到关于人脸信息的子图像,即对象类子图像;

提取对象类子图像中的特征点,生成对象类子图像中关于表情信息的SIFT描述子;

所述边缘检测,包括:

统计图像中背景类和对象类的像素个数;

计算对象类像素灰度中值和背景类像素灰度中值;

对图像的像素集合模糊化,利用模糊化的像素集合的隶属函数表示像素属于对象类的程度,隶属函数值越大像素属于对象类的概率越大;

计算背景类与对象类中像素灰度值偏离对应类像素灰度中值的程度;

对象类与背景类的距离最小时确定出图像中对象类子图像的边缘,得到对象类子图像,该子图像是关于人脸信息的子图像;

所述隶属函数如下所示:

式中,μij表示图像中的像素点(m,n)属于对象类的程度,xij表示图像中的像素点(m,n)的灰度值,xmax、xmin分别为图像中像素的最大灰度值、最小的灰度值;

所述提取对象类子图像中的特征点,生成对象类子图像中关于表情信息的SIFT描述子,包括:基于对象类子图像上的像素所构建的尺度空间进行灰度极值点检测,将灰度极值点作为候选特征点;

对候选特征点进行筛选,对特征点的梯度方向进行平滑滤波;

针对每一个特征点生成关于表情信息的SIFT描述子并对SIFT描述子降维处理;

所述基于对象类子图像上的像素所构建的尺度空间进行灰度极值点检测,包括:计算对象类子图像上每一个像素的二维高斯核;

针对对象类子图像上的每一个像素分别构建尺度空间,得到的所有尺度空间构成金字塔;

确定金字塔中的灰度极值点,作为候选特征点;

所述确定金字塔中的灰度极值点,包括:

将金字塔中间层的一个像素,与中间层中与该像素相邻的8个像素以及中间层的上下两个相邻层次内的与上述中间层的9个像素对应的像素共计26个像素,进行灰度值比较,若当前像素的灰度值为这27个像素灰度值中的最大值,标记当前像素为灰度极值点,记录其位置、曲率和尺度,将当前灰度极值点确定为候选特征点;否则舍弃该灰度极值点,利用中间层的下一个像素寻找灰度极值点;

所述对候选特征点进行筛选,包括:

将尺度小于设定阈值的候选特征点剔除,再将对边缘敏感的候选特征点去除,得到最终的特征点;

所述对边缘敏感的候选特征点,包括:Hessian矩阵值为负数的候选特征点,Hessian矩阵中主曲率不小于设定阈值的候选特征点;

所述对SIFT描述子降维处理,包括:

若干个特征点的SIFT描述子组成SIFT特征向量矩阵;

计算SIFT特征向量矩阵均值以及协方差矩阵;

求得协方差矩阵的特征向量与特征值,将最大的k个特征值所对应的特征向量组成变换矩阵,变换矩阵与SIFT描述子相乘,实现降维。

2.根据权利要求1所述的方法,其特征在于,所述统计图像中背景类和对象类的像素个数,具体是:根据图像得出反映灰度分布及灰度值频数信息的灰度直方图;利用给定阈值将图像的所有像素分为两类,大于给定阈值的一类称为对象类,小于给定阈值的一类称为背景类。

3.根据权利要求1所述的方法,其特征在于,所述计算对象类像素灰度中值和背景类像素灰度中值,具体是:分别从对象类中像素的灰度最小值与背景类中像素的灰度最小值开始统计,统计的像素个数达到对应类中像素总数的一半时的像素的灰度值为对应类像素灰度中值。

4.根据权利要求1所述的方法,其特征在于,所述对象类与背景类的距离通过如下对象类与背景类的距离函数计算:式中,J为对象类与背景类的距离函数;对象类中所有像素的灰度值偏离对象类像素灰度中值的程度之和开平方 表示对象类中所有像素的灰度值到对象类像素灰度中值的距离;背景类中所有像素的灰度值偏离背景类像素灰度中值的程度之和开平方表示背景类中所有像素的灰度值到背景类像素灰度中值的距离。

说明书 :

一种基于边缘检测与SIFT的人脸表情识别特征提取方法

技术领域

[0001] 本发明属于面部特征识别技术领域,特别是一种基于边缘检测与SIFT的人脸表情识别特征提取方法。

背景技术

[0002] 表情可以传播人类的想法与情感的方式,它包含大量有价值的信息;人脸表情识别是根据人脸自动进行表情鉴定的技术,依据人脸有个体差异性而对于自己本身比较稳定的特点,可以识别出人脸表情;它的实现主要通过图像以及信息点的比对,寻找两个特征点之间的映射关系过程。然而,由于人脸表情之间只存在微小的差别,特征点定位不准确等缺点,单纯的从传统的面部识别方法适用于人脸表情识别,效果不理想,效率较低,随之而来,人脸表情识别可应用于公共安全、访问控制等领域;因此,实现一种人脸表情识别方法是一个重要的研究方向。
[0003] 图像分割的目的是将整张图片分割成部分图像块,实现初步目标提取。它的一种重要途径是通过边缘检测,检测灰度级或者结构存在突变的地方,表示区域的结束,这样可以更好的将人脸进行分块,成为定位眉毛、眼睛、鼻子、嘴角、眼角等细节信息的关键步骤之一。

发明内容

[0004] 本发明的目的在于提供一种基于边缘检测与SIFT的人脸表情识别特征提取方法。
[0005] 本发明的技术方案如下:
[0006] 一种基于边缘检测与SIFT的人脸表情识别特征提取方法,包括:
[0007] 获得包含人脸的图像;
[0008] 将图像划分为背景类和对象类,进行边缘检测后得到关于人脸信息的子图像,即对象类子图像;
[0009] 提取对象类子图像中的特征点,生成对象类子图像中关于表情信息的SIFT描述子。
[0010] 所述边缘检测,包括:
[0011] 统计图像中背景类和对象类的像素个数;
[0012] 计算对象类像素灰度中值和背景类像素灰度中值;
[0013] 对图像的像素集合模糊化;
[0014] 计算背景类与对象类中像素灰度值偏离对应类像素灰度中值的程度;
[0015] 对象类与背景类的距离最小时确定出图像中对象类子图像的边缘,得到对象类子图像,该子图像是关于人脸信息的子图像。
[0016] 所述统计图像中背景类和对象类的像素个数,具体是:根据图像得出反映灰度分布及灰度值频数信息的灰度直方图;利用给定阈值将图像的所有像素分为两类,大于给定阈值的一类称为对象类,小于给定阈值的一类称为背景类。
[0017] 所述计算对象类像素灰度中值和背景类像素灰度中值,具体是:
[0018] 分别从对象类中像素的灰度最小值与背景类中像素的灰度最小值开始统计,统计的像素个数达到对应类中像素总数的一半时的像素的灰度值为对应类像素灰度中值。
[0019] 所述对象类与背景类的距离通过如下对象类与背景类的距离函数计算:
[0020]
[0021] 式中,J为对象类与背景类的距离函数;对象类中所有像素的灰度值偏离对象类像素灰度中值的程度之和开平方 表示对象类中所有像素的灰度值到对象类像素灰度中值的距离;背景类中所有像素的灰度值偏离背景类像素灰度中值的程度之和开平方表示背景类中所有像素的灰度值到背景类像素灰度中值的距离。
[0022] 所述提取对象类子图像中的特征点,生成对象类子图像中关于表情信息的SIFT描述子,包括:
[0023] 基于对象类子图像上的像素所构建的尺度空间进行灰度极值点检测,将灰度极值点作为候选特征点;
[0024] 对候选特征点进行筛选,对特征点的梯度方向进行平滑滤波;
[0025] 针对每一个特征点生成关于表情信息的SIFT描述子并对SIFT描述子降维处理。
[0026] 所述基于对象类子图像上的像素所构建的尺度空间进行灰度极值点检测,包括:
[0027] 计算对象类子图像上每一个像素的二维高斯核;
[0028] 针对对象类子图像上的每一个像素分别构建尺度空间,得到的所有尺度空间构成金字塔;
[0029] 确定金字塔中的灰度极值点,作为候选特征点。
[0030] 所述确定金字塔中的灰度极值点,包括:
[0031] 在金字塔里将中间层的一个像素与其所在层次左右各4个相邻像素以及中间层的上下相邻层次内的与上述9个像素对应的18个像素比较灰度值,若当前像素的灰度值为这26个像素灰度值中的最大值,标记当前像素为灰度极值点,记录其位置、曲率和尺度,将当前灰度极值点确定为候选特征点;否则舍弃该灰度极值点,利用中间层的下一个像素寻找灰度极值点。
[0032] 所述对候选特征点进行筛选,包括:
[0033] 将尺度小于设定阈值的候选特征点剔除,再将对边缘敏感的候选特征点去除,得到最终的特征点;
[0034] 所述对边缘敏感的候选特征点,包括:Hessian矩阵值为负数的候选特征点,Hessian矩阵中主曲率不小于设定阈值的候选特征点。
[0035] 所述对SIFT描述子降维处理,包括:
[0036] 若干个特征点的SIFT描述子组成SIFT特征向量矩阵;
[0037] 计算SIFT特征向量矩阵均值以及协方差矩阵;
[0038] 求得协方差矩阵的特征向量与特征值,将最大的k个特征值所对应的特征向量组成变换矩阵,变换矩阵与SIFT描述子相乘,实现降维。
[0039] 有益效果:
[0040] 本发明在特征提取过程中去除掉背景对重要信息造成的等影响,利用SIFT描述子具有的尺度不变性、对图像的旋转、平移、光照以及一定程度上的仿射变换具有一定的不变性的优点,对图像进行特征点提取得到的SIFT描述子,对于噪声、光照、部分遮挡以及仿射变换等的稳定性极高,提取到的图像中的SIFT描述子完成图像的匹配,同时利用PCA进行降维,加快了提取特征与匹配的时间,提高了匹配的效率以及准确率,非常适用于图像的识别、图像人脸识别与图像比对等方面,克服了图像中人脸的旋转、光照等方面对人脸识别的影响;可以将这种方法应用于图像处理等研究领域。

附图说明

[0041] 图1是本发明具体实施方式的方法总体流程图;
[0042] 图2是本发明具体实施方式的边缘检测流程图;
[0043] 图3是本发明具体实施方式的步骤3的具体流程图。

具体实施方式

[0044] 下面结合附图对本发明的具体实施方式做详细说明。
[0045] 本实施方式提供一种如图1所示的基于边缘检测与SIFT的人脸表情识别特征提取方法,包括:
[0046] 步骤1、通过数码相机、手机或监控设备对人脸图片进行采集,获得包含人脸的图像。
[0047] 步骤2、将图像划分为背景类和对象类,进行边缘检测后得到关于人脸信息的子图像,即对象类子图像。
[0048] 如图2所示的边缘检测流程如下:
[0049] 步骤2.1、统计图像中背景类和对象类的像素个数。
[0050] 根据步骤1所获得的人脸图像,得出反映灰度分布及灰度值频数信息的灰度直方图。设L为该图像的总像素个数,His[i]表示该图像中灰度值为i的像素个数,利用给定阈值th将图像的所有像素分为两类,大于给定阈值th的一类称为对象类,小于给定阈值th的一类称为背景类。根据灰度直方图得到对象类的像素个数SumObject以及背景类的像素个数SumBackcround。
[0051] 计算公式如下:
[0052]
[0053]
[0054] 步骤2.2、计算对象类像素灰度中值和背景类像素灰度中值。
[0055] 基于反映灰度分布及灰度值频数信息的灰度直方图,分别从对象类中像素的灰度最小值与背景类中像素的灰度最小值开始统计,统计的像素个数达到对应类中像素总数的一半时的像素的灰度值为对应类像素灰度中值,设 为对象类像素灰度中值,为背景类像素灰度中值,设 表示对象类像素灰度中值所对应的像素个数,
表示背景类像素灰度中值所对应的像素个数。
[0056] 计算公式如下:
[0057]
[0058]
[0059]
[0060]
[0061] 步骤2.3、对图像的像素集合模糊化,利用模糊化的像素集合的隶属函数表示像素属于对象类的程度,隶属函数值越大像素属于对象类的概率越大。
[0062] 隶属函数如下所示:
[0063]
[0064] 式中,μij表示图像中的像素点(m,n)属于对象类的程度,xij表示图像中的像素点(m,n)的灰度值,xmax、xmin分别为图像中像素的最大灰度值、最小的灰度值。
[0065] 步骤2.4、计算背景类与对象类中像素灰度值偏离对应类中像素灰度中值的程度。
[0066] Pobject=his[i]/SumObject
[0067]
[0068] PBackGround=his[i]/SumBackcround
[0069]
[0070] 式中,VObiect为对象类中所有像素的灰度值偏离对象类像素灰度中值的程度之和;VBackGround为背景类中所有像素灰度值偏离背景类像素灰度中值的程度之和,PObiect表示灰度值为i的像素在对象类中出现的概率,PBackGround表示灰度值为i的像素在背景类中出现的概率,μ(i)表示灰度值为i的像素隶属于对应类的隶属程度, 表示灰度值为对
象类像素灰度中值的像素隶属于对象类的隶属程度, 表示灰度值为背景类像
素灰度中值的像素隶属于背景类的隶属程度。
[0071] 步骤2.5、对象类与背景类的距离最小时确定出图像中对象类子图像的边缘,得到对象类子图像,该子图像是关于人脸信息的子图像。
[0072] 可以采用如下对象类与背景类的距离函数计算对象类与背景类的距离:
[0073]
[0074] 式中,J为对象类与背景类的距离函数,具体以对象类与背景类中所有像素的灰度值到对应类灰度中值的距离和的平方来表达;对象类中所有像素的灰度值偏离对象类像素灰度中值的程度之和开平方 表示对象类中所有像素的灰度值到对象类像素灰度中值的距离,背景类中所有像素的灰度值偏离背景类像素灰度中值的程度之和开平方表示背景类中所有像素的灰度值到背景类像素灰度中值的距离。将J展开得到
项 反映出两类的差异程度,该值越大表示两类的方差差异越小,得
到的分割图像越不理想,J全面考虑了对象类和背景类之间的集中和差异程度。通过J(th*)求得对象类与背景类的距离函数最小值,进而确定出背景类子图像和对象类子图像的最佳分割阈值。
[0075]
[0076] 步骤3、提取对象类子图像中的特征点,生成对象类子图像中关于表情信息的SIFT描述子。
[0077] 如图3所示的步骤3的具体流程如下:
[0078] 步骤3.1、基于对象类子图像上的像素所构建的尺度空间进行灰度极值点检测,将灰度极值点作为候选特征点。
[0079] 步骤3.1.1、计算对象类子图像上每一个像素的二维高斯核;
[0080] 设I(x,y)表示对象类子图像,(x,y)为对象类子图像上的任意像素,L(x,y,σ)为I(x,y)的一种表示方式,其中σ为高斯核的标准差,*为在对象类子图像的x与y方向上的卷积。计算如下二维高斯核G(x,y,σ):
[0081]
[0082] L(x,y,σ)=G(x,y,σ)*I(x,,y)
[0083] 步骤3.1.2、针对对象类子图像上的像素分别构建尺度空间DoG,用D(x,y,σ)表示,表达式为:D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ),式中k为常数,助
[0084] 针对对象类子图像每一个像素执行步骤3.1.1~3.1.2,得到的所有尺度空间DoG构成DoG金字塔。
[0085] 步骤3.1.3、确定DoG金字塔中的灰度极值点,作为候选特征点:在DoG金字塔里,将中间层的一个像素与其所在层次左右各4个相邻像素以及中间层的上下相邻层次内的与上述9个像素对应的18个像素比较灰度值,若当前像素的灰度值为这26个像素灰度值中的最大值,标记当前像素为灰度极值点,记录其位置、曲率和尺度,将当前灰度极值点确定为候选特征点;否则舍弃该灰度极值点,利用中间层的下一个像素寻找灰度极值点。
[0086] 步骤3.2、对候选特征点进行筛选,对特征点的梯度方向进行平滑滤波。
[0087] 步骤3.2.1、将尺度小于设定阈值的候选特征点剔除;
[0088] 先将候选特征点的尺度空间表达式D(x,y,σ)泰勒展开最高至平方项,得到如下表达式:
[0089]
[0090] 其中的D为泰勒展开式中其余阶数高于二阶的项;X=(x,y,σ)T是候选特征点的偏移量,x、y分别是候选特征点的横纵坐标;
[0091] 再对泰勒展开的表达式D(X)进行求导,求出导数等于0时的候选特征点偏移量X′;
[0092]
[0093] 然后,针对每一个候选特征点均采用上式求得偏移量
[0094] 将候选特征点的偏移量 带入泰勒展开的表达式D(X):
[0095]
[0096] 若 低于设定阈值,则去除掉该候选特征点,本实施例中设定阈值取0.03。
[0097] 步骤3.2.2、引入Hessian矩阵对候选特征点进一步筛选,去除掉对边缘敏感的特征点:去除Hessian矩阵值为负数的候选特征点,去除Hessian矩阵中主曲率不小于设定阈值的候选特征点,得到最终的特征点;
[0098] Hessian矩阵定义为:
[0099]
[0100] 其中:
[0101]
[0102]
[0103]
[0104] Dxx为D(x,y,σ)对x求二阶偏导,Dxy为D(x,y,σ)分别对x、y求一阶偏导,Dyy为D(x,y,σ)对y求二阶偏导,构成Hessian矩阵。
[0105] Hessian矩阵的作用是求出主曲率,因为不稳定的候选特征点主方向响应会远大于其垂直方向,设α=max(λ1,λ2,...,λk),即Hessian矩阵主方向对应的特征值,β=min(λ1,λ2,...,λk),即为Hessian矩阵垂直方向对应的特征值,仅需要知道这两个特征值之比,即完成候选特征点的筛选,其中{λ1,λ2,...,λk}为Hessian矩阵的特征值,与D(X)的主曲率成正比。
[0106] α+β=Dxx+Dyy=Tr(H)
[0107] αβ=DxxDyy-Dxy2=Det(H)
[0108] 令α=γβ,则:
[0109]
[0110] 其中Tr(H)为矩阵的迹,Det(H)为矩阵的值,若Det(H)的值为负数,则将该候选特征点剔除。
[0111] 为D(X)的主曲率,其与α和β无关,只与γ有关,本实施例γ取10,若则剔除掉该候选特征点。
[0112] 步骤3.2.3、选取高斯函数对特征点的梯度方向进行平滑滤波;
[0113] 利用像素差计算梯度模m和梯度方向θ。
[0114]
[0115]
[0116] 其中,m(x,y)表示候选特征点的梯度模值,θ(x,y)表示候选特征点的梯度方向,L为图像与高斯核卷积。
[0117] 针对每一个特征点,在以其为中心的邻域内采样,统计梯度方向直方图,将当前特征点的每个邻域像素以加权的形式按梯度方向归到设定的像素梯度方向上(每10度划为一个像素梯度方向),得到像素梯度方向直方图,像素梯度方向直方图中的主峰值即为当前特征点的主像素梯度方向,像素梯度方向直方图中不小于80%主峰值的峰值为当前特征点的辅助像素梯度方向;邻域像素的权重为当前特征点的梯度模m与高斯函数的乘积。
[0118] 步骤3.3、针对每一个特征点生成关于表情信息的SIFT描述子并对SIFT描述子降维处理。
[0119] 步骤3.3.1、针对每一个特征点生成关于表情信息的SIFT描述子:以每一个特征点为中心选取16*16像素的区域,将这片区域以平分为4*4个子区域,计算各子区域内上下左右以及对角共8个方向的梯度方向直方图,得到一个具有8个方向的累积梯度模值的种子点,每个特征点由4*4个种子点描述,形成特征点128维的SIFT描述子。
[0120] SIFT(Scale-invariant feature transform)对光照、旋转等方面有很好的效果,在人脸识别上已经有很好的效果,但是由于SIFT提取到的特征点较多,维数较高,对于存储数据和计算方面,影响算法的实时性,而且,正确匹配的特征点只有小部分,存在误配点,使识别效率降低。
[0121] 步骤3.3.2、采用PCA算法对SIFT描述子降维处理。
[0122] 主成分分析法(Principle Component Analysis,PCA)是一种标准的降维方法,将n个特征降维到k个(n>k);把图像视作分布具有一定规律性的随机向量,根据人脸构造相似的特点,随机向量的分布可能不是随意的,通过主成分分析法可以得到人脸图像分布的主成分方法,用于描述人脸。它的主要特性是能够把多分段的信息尽可能少的聚集到新的组合图像中,它可以很好地克服SIFT维数过高的缺点。
[0123] 步骤3.3.2.1、若干个特征点的SIFT描述子组成SIFT特征向量矩阵;
[0124] 若干个特征点的128维SIFT描述子组成SIFT特征向量矩阵Xn=(x1,x2,...,xn),维数为n×128,其中的x1,x2,...,xn为n个特征向量;
[0125] 步骤3.3.2.2、计算SIFT特征向量矩阵均值 以及协方差矩阵Cx:
[0126]
[0127]
[0128] 步骤3.3.2.3、求得协方差矩阵Cx的特征向量ei与特征值λi,将最大的k个特征值ei所对应的特征向量组成变换矩阵A,变换矩阵与SIFT描述子相乘,实现降维。
[0129] 变换矩阵A维数为k×128,本实施例中k为36,因此形成36×128维的变换矩阵A。
[0130] yi=Axi
[0131] 其中,yi为36维SIFT描述子,xi为128维SIFT描述子。