三维人脸特征提取(精选7篇)
三维人脸特征提取 篇1
一、前言
特征提取是把数据模型转化为特征表示, 利用特征的可分性来区分各个数据模型。三维特征提取是三维人脸识别中的关键步骤, 有效简洁的特征是准确快速识别的前提。三维特征提取是把三维数据模型转化为特征表示, 利用特征的可分性来体现数据模型的特点。在三维人脸模型上进行特征提取, 可借鉴普通三维模型识别中的一些较普遍的特征, 也可根据人脸模型本身的独特之处设计一些专用的特征表示方法。现有方法对三维人脸模型提取的特征有几何特征[1,2]、统计特征[3]和频域特征[4,5]三类。由于理论基础和计算方法的不同, 这些特征具有不同的有效性和计算复杂度。
本文针对多姿态人脸识别问题, 提出一种基于法线球和傅立叶描述子的三维人脸特征提取方法, 对三维人脸提取姿态鲁棒特征。在二维图像处理中, 傅立叶描述符是一种具有平移、比例和旋转不变性的描述符。本文将传统一维傅立叶描述符特征引入到三维人脸识别中, 采用一种球形坐标下提取二维极坐标傅立叶描述符的特征提取方法, 该方法能大大减少数据量, 同时保持三维数据的空间结构关系信息。实验表明, 所提取的三维人脸特征具有平移、比例和旋转不变性, 对不同姿态模型鲁棒性强, 对不同个体模型可分性强等优点, 可以应用于多姿态三维人脸识别。
二、算法描述
本文提出的基于球形坐标映射和傅立叶描述符的三维人脸特征提取方法具体过程如下:首先将三维网格数据转换为二维球形坐标;然后, 用对二维图像具有平移、旋转和尺度不变性的傅立叶描述符来描述人脸特征, 该方法能显著降低计算的复杂性, 同时保留了旋转不变量的性质。
算法的流程如图1所示。其中, 三维人脸获取是算法的第一步, 该步骤得到一个描述输
入人脸的曲面。我们采用结构光激光扫描人脸来重建反映脸部特征的点和曲面形状。由于激光扫描仪自身的缺陷, 所获取的三维人脸数据存在较多的杂点, 为了不影响后续的工作, 在进行球形坐标映射之前, 需要对扫描得到的三维人脸数据进行预处理操作, 包括去掉无关背景及杂点等操作。
三、球形坐标映射
在对模型进行预处理操作后, 采用球形坐标映射将三维坐标空间映射到二维空间, 并且能够保持顶点间的空间关系。球形坐标映射可以被看作一种在二维空间对三维信息进行降采样的过程, 该过程仍然保留了较多的原始信息。为了达到该目的, 我们首先需要将点坐标映射到一个二维曲线空间。此处, 我们使用一个球形映射, 该映射用一个可行的方法来适应人脸网格的三维形状, 使其与网格尺寸相适应。该方法的具体描述如下[6]:
令为一个三维网格模型, 我们需要其上的每一个点, 在球形表面上都有一个与之相对应由极坐标描述的有序数偶对, 此处。该过程由下面的公式来得到:
图2给出了一个球形映射, r是网格M的半径, 我们通过使用由公式 (1) 给出的二维顶点映射, 将网格模型M存储在一个二维球形结构中, 记作二维球N。对该二维球N上的每个点, 存储其连续均值曲率H, 并将其在深度[0, 255]进行8位量化, 可以将其看作该点在二维球上的灰度值。则该二维球的数据存储形式为, 这可以被近似看作二维图像。其中, 连续均值曲率H可由文献[7]计算得到。
四、傅立叶描述符
傅立叶变换在图像处理中被广泛的应用, 由于其经常通过在频域内工作来克服一些局限, 比如:噪声和移位。
当一个区域边界上的点已被确定时, 可以从这些点中提取信息。这些信息就可以用来鉴别不同区域的形状。假如一个区域上由M个点可利用, 可以把这个区域看作是在复平面内, 纵坐标为虚轴, 横坐标为实轴。在边界上要分析每一个点的坐标, 可以用一个复数来表示, 即。从边界上任一点开始, 沿此边界跟踪一周就可以得到一个复数序列。这个复数序列叫做傅立叶描述符 (FD) [8]。
4.1传统傅立叶描述符
物体边界是一条封闭的曲线, 设其边界坐标为。可用复数的形式来表示给定边界上的每个点, 则该封闭曲线可描述为[9]:
对s (t) 进行离散傅立叶变换得到傅立叶变换系数an, 对这些系数进行归一化, 得到的就是描述目标边界的傅立叶描述符。an的计算公式为:
传统的傅立叶描述符应用广泛, 具有平移、旋转和尺度不变性, 但由于其通用性不高, 在目标形状脱节不能获取边界信息的场合难以适用。本节中, 我们采用文献[10]提出的基于傅立叶变换的描述算子来表征二元图像, 并根据人脸球形映射所得近似二维图像N的特殊情况对其进行了改进。
4.2二维极坐标傅立叶描述符
给定一幅形状图像。首先, 把I从笛卡尔坐标空间转换到极坐标空间, 得到。式中:R为径向距离的最大值;;将极坐标空间的原点定为目标形状的质心这样保证了变换后的目标形状具有平移不变性。
其次, 对Ip进行二维傅立叶变换, 得到初始变换系数数列FD:
此处。其中ρ和φ描述了所选半径和角度频率的数目;R, T分别为径向频率和角频率的分辨率。
然后, 为了获得旋转不变性, 对FD进行一定的处理——忽略其中的相位信息而只保留系数的幅值, 得到变换系数数列FD。
最后, 对变换系数数列FD进行尺度归一化, 取归一化后的向量V作为特征向量, 来表征一个人脸。尺度归一化的方法为将第一个系数除以包含图像的区域, 其他全部余下的系数除以第一个系数来得到。具体公式如下:
式中:area为目标区域的面积;m, n分别为选定的径向频率分辨率和角频率分辨率。
在以上计算二维极坐标傅立叶描述符的步骤中, 最主要的环节为点的定位方式, 我们采用令鼻尖点为笛卡尔空间的中心点。令二维球N的半径r为人脸公有部分区域数据在y轴上的平均半径, 在本文所用的人脸数据中, 平均半径为r=87.55mm, 则目标区域面积area为半径为r的圆的面积, 即。其中鼻尖点的确定通过采用Z值最大点来实现。同时, 还要加上一些限制条件使得该方法对所有模型有着同等的标准, 因此需要在进行球形坐标变换之前对人脸进行预配准。
通过在二维球上确定鼻尖点, 并令其为笛卡尔空间的中心点, 因此对绕纵向轴的左、右旋转影响不大。同时, 由于FD描述符的旋转、尺度不变的属性, 使得对平面内旋转的影响也很小。为了使不同模型提取的傅立叶描述符个数相同, 本文选用的径向频率和角频率分辨率均为16, 一共能够得到17*17个二维傅立叶描述符。
五、试验结果
5.1试验数据
试验主要考察基于球形坐标映射的二维极坐标傅立叶描述符特征对姿态的鲁棒性, 采用由三维激光扫描仪获取的50个人的三维人脸数据, 每个人包含7个不同姿态样本, 分别为正面、左平面内旋转45度、右平面内旋转45度、左绕纵向轴旋转15度、右绕纵向轴旋转15度、左绕纵向轴旋转45度、右绕纵向轴旋转45度。
5.2试验结果
对每一个个体的7种不同姿态分别得到17*17个二维极坐标傅立叶描述符, 形成特征向量。表1给出了相同个体的7种不同姿态三维人脸模型的二维极坐标傅立叶描述符特征, 由于篇幅有限, 仅列出前10项。
其中分别表示相同个体的7种不同姿态模型, 姿态分别为正面、左平面内旋转45度、右平面内旋转45度、左绕纵向轴旋转15度、右绕纵向轴旋转15度、左绕纵向轴旋转45度、右绕纵向轴旋转45度。表示所提取的傅立叶描述符特征的前10项。
同时试验还给出了两个不同个体在正面姿态下的二维极坐标傅立叶描述符特征, 同样由于篇幅限制, 仅列出前10项。
其中P1和P2分别表示两个不同个体的正面姿态模型。V1~V10表示所提取的傅立叶描述符特征的前10项。
从表1及表2可知, 同一个体的7种不同姿态三维人脸模型求得的傅立叶描述符相对接近, 而不同个体的傅立叶描述符之间差距较大。因此二维极坐标傅立叶描述符对三维人脸数据的姿态变化有着较为明显的鲁棒优势, 可以用于多姿态三维人脸的识别。
六、结论
基于傅立叶描述符具有平移、比例和旋转不变性的特性, 本文提出一种基于球形坐标映射和傅立叶描述符的特征提取方法。试验结果表明, 以提取的二维极坐标傅立叶描述符为特征, 不同姿态人脸数据间的特征描述值极为相似, 对姿态具有较强的鲁棒性。由此得出本文提取的特征有对不同姿态人脸模型鲁棒且可分性强等优点, 因此可以用于多姿态三维人脸模型的识别。
摘要:将傅立叶描述符和算法扩展应用于三维人脸特征提取的研究, 在对三维人脸模型进行预处理及二维球形映射的基础上, 建立了具有平移、比例和旋转不变性的三维人脸模型的二维极坐标傅立叶描述符特征表示。在多姿态三维人脸数据的实验结果表明三维人脸模型的特征描述有对不同姿态人脸模型鲁棒、可分性强等优点。
关键词:三维人脸特征提取,球形坐标映射,傅立叶描述符
参考文献
[1]Tae K K, Seok C K, Sang R K.Real-time normalization and feature extraction of 3D face data using curvature characteristics[C].IEEE International Workshop on Robot and Human Interactive Communication, Sep, 2001:74-79.
[2]Pan Gang, Wu Yi-jun, Wu Zhao-hui.3D face recognition by profile and surface matching[C].IEEE Proceedings of the International Joint Conference on Neural Networks.Jul, 2003, 3:2169-2174.
[3]Lu Xiao-guang, Jain A K.Automatic feature extraction for multiview 3D face recognition[C].In Proc.of IEEE Int’l Conf.on Automatic Face and Gesture Recognition, April, 2006:585-590.
[4]Iwasa T, Shima T, Sai M.3D eigenfaces for face modeling[C].Proc.ACCV’02, Jan.2002.
[5]Passalis G, Kakadiaris I A, Theoharis T.Evaluation of 3D Face Recognition in the presence of facial expressions:an Annotated Deformable Model approach[C].IEEE Computer Society Conference on Computer Vision and Pattern Recognition, June, 2005:171-178.
[6]Andrea F.Abate, Michele Nappi.3D Face Recognition using Normal Sphere and General Fourier Descriptor[C].Proceeding of the 18th international conferenceon Pattern Recognition, 2006.pp:1183-1186.
[7]M.J.Milory, C.Bradley, G.W.Vickers.Segmentation of a wraparound model using an active contour[J].Computer Aided Design.1997, 29 (4) :299-320.
[8]阮秋琦.数字图像处理学[M].北京:电子工业出版社, 2001.
[9]章毓晋.图像工程:上册——图像处理和分析[M].北京:清华大学出版社, 1999.
[10]D.Zhang, G.Lu.Shape-based image retrieval using generic Fourier descriptor[C], in Proceeding of Signal Processing:Image Communication 17, 2002:825-848.
三维人脸特征提取 篇2
近年来, 利用计算机对人面像识别有了广泛的应用, 但提高识别率的算法仍是计算机人面像识别的研究方向之一[1,2]。人脸特征的识别方法一直没有取得突破, 其主要原因是维数高, 计算量大, 受影响的因素多。三维人脸识别是未来人脸识别的重要方向[3]。人脸骨骼中对称轮廓线相对稳定, 作为人脸的拒绝分类器, 能实现三维人脸骨骼库中的快速分类, 为高效、快速识别人脸奠定了基础。
这里提出一种新的在正面X光骨骼标准照片中提取人脸对称轮廓线的算法, 先利用最小二乘拟合一个人脸骨骼模型, 根据主成分分析 ( Principal Component Analysis , PCA ) 方法校准人脸骨骼姿态, 投影出人脸骨骼的镜相平面, 再对镜相平面采用独立分量分析 (Independent Component Analysis, ICP) 方法配准, 三维人脸骨骼模型与镜像三维人脸骨骼模型之间的交线, 就是人脸骨骼的对称轮廓线。
1切割人脸骨骼模型
为了提取人脸骨骼的对称轮廓线, 先定位三维人脸骨骼模型, 确定参考点。对给定的人脸骨骼, 利用最小二乘方法拟合一个过人脸骨骼模型所有顶点的平面。利用三维人脸骨骼模型的顶点以及顶点的法向分布, 先将三维人脸骨骼模型顶点的集合设定为最小二乘拟合平面, 再将人脸骨骼分为两部分, 在位于最小拟合二乘平面上的那部分点集中寻找距离最小二乘拟合平面最远的顶点, 记为三维人脸模型的鼻尖点。
人脸骨骼也并不是一个刚性物体, 它的某些部位 (如下颌骨) 会随表情的变化而发生变形。文献[4]认为由于表情变化引起的人脸 (骨骼) 变形可以看作是一个等距 (保长) 的变换, 这些变换并不拉伸和破坏面部骨骼曲面, 或者更严格地说, 它不改变面部骨骼曲面上的度量, 因此人脸骨骼曲面的一些内在几何属性则与表情无关。因此可以环绕三维人脸鼻尖点一个半径为80~110 mm范围区域, 作为三维人脸骨骼模型, 它大约包含4 000~5 000个顶点。
2人脸骨骼姿态校准
得到三维人脸骨骼模型之后, 对三维人脸骨骼模型做PCA分析[5,6], 估计并校准人脸骨骼姿态[7]。姿态估计又称模型坐标的标准化[8]。在三维人脸骨骼模型中, 令S (P, K) 表示三维人脸骨骼模型, 其中P表示 N个点pi的集合, pi= (xi, yi, zi) ∈R3, 1≤i≤N;K是一个抽象单纯复形, 它包含与顶点pi相关的一些信息:顶点v={i}∈K, {i, j}∈K以及三角面f={i, j, k}∈K。令OS表示三维人脸骨骼模型S (P, K) 的质心, 首先计算三维人脸骨骼模型顶点分布的协方差矩阵如下:
通过对C做主成分分析, 得到C的三个特征值λ1≥λ2≥λ3, 以及与这三个特征值相对应的三个特征向量v1, v2, v3。通常, 特征向量v3表示三维人脸骨骼模型的最小二乘拟合平面的法向量;特征向量v1表示三维人脸骨骼模型的垂直方向;特征向量v2对应与三维人脸骨骼模型的水平方向。PCA算法的复杂度为O (N) 。
取OS为原点, v1为x坐标轴, v3为z坐标轴, 定义一个新的右手坐标系。这个坐标系反映了人脸骨骼的姿态, 并且只与三维人脸骨骼模型的顶点分布有关。通过将三维人脸骨骼模型旋转到这个新的坐标系下, 可以达到校准人脸骨骼姿态的目的, 效果如图1所示。
因为人脸骨骼不是绝对对称的, 它的对称平面并不经过它的质心, 且与某一主轴垂直。这主要有以下原因:
(1) 人脸骨骼本身并不是绝对对称的。
(2) 质心OS是通过对S中所有点求平均得到的, 但是三维人脸骨骼网格模型中的顶点分布是不均匀的。
(3) 三维人脸骨骼模型的边界是不规则的, 而且可能是非常不对称的。
使用新坐标系中的X, Y坐标平面为镜像平面, 得到S的一个镜像表示Sm (Pm, Km) 。过程如下:
式中:p
3模型配准
三维模型配准的本质可以用“求同存异”来概括, 利用两个三维模型相对应的部分, 在逐片配准的策略下, 先把两个模型分别按照一定规则进行分解[9,10];然后对分解后的子部分分别寻找对应关系以及计算转换参数, 最后再进行整体上的优化统一。计算它们之间的空间转换关系, 得到转换关系后就可以把其中一个模型转化到与另一个模型同样的尺寸和坐标系下。
由于求得的三维人脸骨骼模型的镜像平面不是严格意义下三维人脸骨骼模型的对称平面, 三维人脸骨骼模型S与其镜像模型Sm之间存在误匹配。ICP算法在参考图特征明显, 真实航迹的唯一性体现比较突出的情况下, 能快速收敛到最优解[11]。因而使用迭代最近点 ICP方法[12]可得到一个优化的配准。
ICP 方法是最流行的配准两个3D点集的方法。给定两个3D点集C1与C2时, ICP方法的配准步骤主要分为:
(1) 计算C2中每一个点在C1中的最近点 (对应点) ;
(2) 求取能使上述对应点对平均距离最小的刚体变换 (平移与旋转) ;
(3) 对C2应用上一步求得的刚体变换。
(4) 如果配准前后平均改变距离是在事先给定的一个阈值以下, 则迭代终止, 否则转步骤 (1) , 继续迭代过程。
在这种情形中, 要处理的点集分别为三维人脸骨骼模型S与其镜像模型Sm中的顶点集合。由于三维人脸骨骼模型的边界可能不规则, 如果直接对三维人脸骨骼模型S与其镜像模型Sm中的顶点集合应用ICP方法, 会造成S与Sm之间的误匹配, 因而得不到正确的对称平面。为了解决这个问题, 需要对S与Sm的边界做处理。
令N (i) 表示pi点的1环领域, 即N (i) ={i}∪{j|∃{i, j}∈K}, N (i1, i2, …, ik) =∪u=1, 2, …, kN (iu) 表示{p1, p2, …, pk}的1-环领域, 则可以递归地得到以下定义:
式中:Nn (i) 称为pi点的n-环领域。
令∂Sm表示Sm的边界点集, 定义:
式中:2nSm表示Sm的边界点集的n-环领域。
令pm′=pm∂nSm表示属于Sm但不属于∂nSm的那些点的集合。在实际配准过程中, 只考虑pm′中的顶点以及与pm′中点相对应的P的顶点, 这样可以有效减少由于三维人脸骨骼模型边界的不规则给ICP带来的影响。在系统中, 取n=3。
4对称轮廓线提取
在完成三维人脸骨骼模型S与镜像三维人脸骨骼模型Sm之间的配准之后, 就能很容易地提取三维人脸骨骼模型的对称平面了。定义:
式中:RICP与IICP分别表示上一步ICP算法输出的旋转矩阵与平移矩阵。使用p
5实验结果与结论
实验仿真, 从人脸骨骼图像库中, 取出5幅图像, 经上述步骤处理后, 得到5条人脸骨骼的对称轮廓线, 如图1所示。为了验证识别效果, 取其中一幅图像的对称轮廓线, 加入方差为0.2高斯白噪声, 分别计算与5个人的三维人脸骨骼模型中的轮廓线之间的平均Hausdorff 距离。Hausdorf距离的可作为人脸模型配准好坏的测度[3]。实验结果表明, 与自身的Hausdorff 距离最短。为检验可靠性, 将高斯白噪声的方差改为0.5和1, 其结果如表1所示。说明三维人脸骨骼模型中的轮廓线可作为人脸识别的拒绝分类器, 其效果如图1所示。
为检测本算法的韧性, 在相同条件进行100次蒙特卡洛仿真, 得到的结果如表2所示。
6结语
在此提出一种基于三维正面人脸骨骼提取人脸对称轮廓线的算法。该算法利用最小二乘方法拟合一个人脸骨骼模型, 采用PCA方法校准, ICP迭代配准镜相面, 利用人脸骨骼模型与镜相面的交线提取对称轮廓线。实验结果表明, 该算法具有较好的人脸分类功能, 可以作为人面像识别中的分类器。
摘要:在正面人面骨骼中, 对称轮廓线具有相对稳定的形状特征, 可以作为人面像识别的分类器。在此提出一种人面骨骼对称轮廓线的提取算法, 该算法利用最小二乘拟合人面骨骼模型, 找出定位点, 对姿态校准后, 投影为镜相面, 对镜相配准后, 由拟合骨骼模型与配准后的镜相面交线得到对称轮廓线。试验表明, 应用该算法得到的对称轮廓线具有较好的人脸分类功能。
关键词:三维人脸骨骼,PCA,镜相面,ICP
参考文献
[1]王玉杰, 师卫.人脸识别关键技术及面临的问题[J].科技情报开发与经济, 2008 (21) :156-157.
[2]庞春江, 高婉青.基于模糊混沌神经网络的人脸识别算法[J].计算机应用, 2008, 28 (6) :1 549-1 551.
[3]张翔, 周明全, 刘晓宁, 等.基于改进的轮廓线算法的三维人脸识别方法[J].计算机应用与软件, 2008, 25 (5) :22-24.
[4]Toshiaki Kondo, Hong Yan.Automatic Human Face Detec-tion and Recognition Under Non-uniform Illumination[J].Pattern Recognition, 1999, 32:1 707-1 718.
[5]Xie X D, Lam K M.Gabor-based Kernel PCA with DoublyNonlinear Mapping for Face Recognition with a SinglefaceImage[J].IEEE Trans.on Image Processing, 2006, 1 5 (9) :2 481-2 492.
[6]Nanni L, Maio D.Weighted Sub-Gabor for Face Recognition[J].Pattern Recognition Letters, 2007, 28:487-492.
[7]Zhang L, Razdan A, Fan G, et al.3D Face Authenticationand Recognition Based on Bilateral Symmetry Analysis[J].Visual Computer, 2004, 22:43-55.
[8]罗恒希, 陈雷霆, 何明耘.利用对称性实现三维人脸姿态的自动估计[J].计算机应用研究, 2008 (7) :2 187-2 189.
[9]Gilbert E G, Foo C P.Computing the Distance betweenSmooth Objects in 3D Space.RSD-TR-13-88.University ofMichigan[Z].1988.
[10]Gilbert E G, Johnson D W, Keerthi S S.A Fast Procedurefor Computing the Distance Between Complex Objects in3D Space[J].IEEE Robotics Automat., 1998, 4:193-203.
[11]任治新, 罗诗途, 吴美平, 等.基于改进ICP算法的地磁图匹配技术[J].计算机应用, 2008 (Z6) .351-354.
三维人脸特征提取 篇3
自动人脸识别算法主要是基于二维的灰度或者彩色图像[1]。随着三维成像技术的进步以及三维成像成本下降, 三维人脸识别方法受到了越来越多学者的关注。由于三维人脸数据或多或少仍然受到数据获取环境的影响, 在进行三维人脸识别之前, 通常需要先对三维人脸数据进行预处理, 其中包括去奇异值、中值滤波、空洞填补。有时还需要对人脸姿态进行单独的处理。最近三维特征点的自动检测与定位问题在参考文献[2]中得到了较好的解决。本文基于自动检测的特征点 (图1中标号分别为1、2、3、5、8) 空间坐标值和人脸本身是准左右对称的性质, 提出一种包括人脸姿态归一化在内的三维人脸预处理方法。该方法主要包括以下几步: (1) 基于特征点坐标, 得到人脸对称平面和本征平面, 分别为图2中的过坐标轴和坐标原点o的wov和uov平面; (2) 把人脸点云向本征平面进行投影, 根据特征点初始坐标及其投影点坐标, 确定人脸姿态, 对人脸姿态进行归一化; (3) 对归一化后人脸点云提取感兴趣的面部区域; (4) 对提取的面部区域在人脸深度方向进行去奇异点, 在人脸本征平面上进行空洞填补, 最后进行中值滤波。
1 人脸姿态的归一化
这里, 我们约定, 所有的计算都是在欧氏空间中进行的, 把经过轴uv以及鼻尖点的平面称为本征平面。并设相应的特征点的坐标为 (xi, yi, zi) , 其中x, y表示人脸水平方向, z表示人脸深度值, i对应图1中标号, 平面方程设为A·X+B·y+C·z+1=0, 对于这里应用, 不会出现平面过原点的情况。
1.1 本征平面方程的确定
由特征点1和3, 计算过鼻尖点人脸对称平面的方向向量, 即图2中的平面, 其中, 。接着进一步, 由以下三个条件以及一个约束条件得到本征平面的方程:
(1) 本征平面过鼻尖点5;
(2) 本征平面与对称平面垂直;
(3) 本征平面与经过鼻尖点5和鼻梁点2连线之间的夹角为/6 rad;
(4) 外加一个约束条件, 即限定特征点8和2位于本征平面的同一侧, 建立相应的线性方程组, 这样就确定本征平面的方程, 即图2中的uov。
1.2 基于本征平面的人脸姿态归一化
确定特征点1、3、5在本征平面上的投影点坐标, 设其投影点坐标分别为, 由三个投影点构成一个以特征点1和3为底边的等腰三角形, 过特征点5投影点向特征点1和3投影点的连线作垂线, 并设垂足点为Q, 可以确定Q点的坐标, 设为 () , 可以得到垂足点与特征点5投影点之间的距离, 设为。并且在进行人脸姿态归一化之后, 令鼻尖点5的坐标为坐标原点 (0, 0, 0) , 垂足点Q点坐标为 () , 并设特征点1和3的坐标为, 并令特征点1和3位于xoy平面内, 并且关于y轴对称, 这样的值为0, 并且, 的值等于, 余下的, 为未知量, 通过以下两个条件, 确定的值:
(1) 左右眼角点1和3之间的距离等于其在特征平面上投影点之间的距离;
(2) 左眼角点到垂足点之间的距离等于其在特征平面上投影点之间的距离。
这样就确定了姿态变化前后特征点1、3、5的坐标, 接着进行人脸姿态归一化。假定人脸姿态归一化由一个刚性的旋转变换和平移变换构成, 设为R和T, 首先根据鼻尖点在姿态归一化前后坐标关系确定T, 其中, 对于旋转变换R, 定义其为一个3×3的矩阵, 根据下式来确定。其中, 。解出R的值, 然后把R和T作用原始三维人脸数据。这样就得到了姿态归一化人脸点云数据。
2 人脸面部数据的提取、奇异点去除、空洞填补以及中值滤波
由于人脸点云数据是人脸在某个参考的坐标系下人脸的空间位置, 通常要进行人脸点云数据的奇异点去除、空洞填补以及中值滤波, 并且上述操作都是针对人脸点云数据的深度方向, 也就是z的值。为了叙述的方便, 我们采用的坐标轴分别为x、y、z轴。
2.1 面部感兴趣部分的提取
以鼻尖点为中心, 一个半径为r的球体, 落入球体区域内数据点作为感兴趣面部区域内数据点。
2.2 人脸深度方向奇异点的去除
首先对人脸的水平xy平面进行栅格化, 令栅格的长宽分别为l mm, 然后根据人脸点云数据x和y坐标值确定其落入的栅格, 然后, 统计落入栅格中的每个数据点, 统计其与周围栅格所包含的数据点欧氏距离, 得到一个阈值其中mean和std分别为距离平均值与方差, 如果当前点与其周围所有点之间的距离大于设定的阈值, 则该点为一个奇异点, 这里选择5×5的区域。
2.3 人脸空洞填补
在去除奇异点以及在扫描时, 在人脸面部区域出现空洞。这里采用的空洞填补方法是基于以下考虑的:
(1) 对提取的感兴趣的面部区域, 对应本征平面内, 在某个分辨率下, 每个栅格点都应该有值;
(2) 归一化后人脸姿态应该是正面且关于y轴对称的。
基于以上两点的考虑, 补洞方法如下:如果在某个栅格内没有数据点落入, 则为一个空洞点。首先判断该点关于y轴对称位置上是否有点, 如果有, 就把对称位置点z坐标的值赋给当前需要补洞的栅格点z坐标的值, 空洞点的xy坐标为当前栅格点中心点的xy坐标值;否则, 对其周围5×5区域进行判断, 采用一个邻域线性插值的方法, 得到当前待补洞的栅格点包含数据点的深度值, 其xy坐标值为当前栅格点的中心点坐标xy值;如果当前要补洞的点5×5区域不含数据点, 则表示该部分数据缺失过多, 即使进行空洞填补, 误差相对较大, 因此进行空洞填补的意义不大。
最后, 对所有人脸点云数据点的深度值进行中值滤波。至此, 人脸点云数据的预处理就全部完成。
3 实验结果与讨论
我们实验采用的数据库为FRGCv2.0的三维人脸数据集, 该数据集包含了557个不同个体的4948组点云数据, 每一组点云数据有一幅二维图像与之对应。大部分人脸姿态都是基本正面的, 其中部份包含了一些姿态变化和表情变化[3]。图3为人脸预处理的结果, 其中图像从左至右、从上至下, 六幅图分别为左侧视角下人脸本征平面、右侧视角下人脸本征平面、原始的三维人脸数据在xy平面垂直投影图、姿态归一化之后的人脸数据在xy平面内垂直投影图、经过去奇异点之后提取的感兴趣人脸面部区域向xy平面垂直投影图、对选取的人脸区域进行空洞填补和中值滤波后向xy平面垂直投影图。在实验的过程中, 我们发现有原始数据集中两组数据丢失了大部分的鼻子区域04505d222, 04814d22。
从图中可以看出, 对于非正面的姿态的人脸, 基于特征点的坐标以及人脸几何性质, 提出的姿态归一化方法把非正面姿态人脸矫正到了正面的姿态下, 同时实现了人脸面部感兴趣部位的提取、奇异点的去除、空洞填补、中值滤波处理等人脸预处理步骤, 达到预处理目标, 为后续的人脸识别相关操作奠定基础。
图3 FRGCv2.0三维人脸数据集中数据编号为04219d415的人脸预处理结果。a:定位的本征平面相对于人脸表面位置左视图, b:定位的本征平面相对于人脸表面位置右视图, c:原始人脸点云数据在xy平面垂直投影图, d:进行人脸姿态归一化后, 人脸点云数据在xy平面的垂直投影图, e:经过去奇异点提取的感兴趣面部区域在xy平面垂直投影图, f:对提取的面部区域, 进行空洞填补、中值滤波后在xy平面垂直投影图。
摘要:基于自动检测人脸特征点坐标, 利用人脸水平对称的性质, 提出一种新的三维人脸姿态预处理方法。首先基于人脸特征点坐标和人脸几何特性, 确定人脸本征平面, 实现人脸姿态归一化, 然后对归一化的人脸点云数据提取面部数据点, 最后对提取到的面部数据点去奇异点、中值滤波以及补洞。最后在FRGCv2.03D人脸数据库进行实验, 验证了提出的三维人脸数据预处理方法, 并取得了理想结果。
关键词:人脸点云,姿态归一化,本征平面,对称平面
参考文献
[1]A.F.Abate, M.Nappi, D.Riccio and G.Sabatino, “2D and 3D face recognition:A survey, ”Pattern Recognition Letters, vol.28, pp.1885-1906, 2007
[2]C.Creusot, N.Pears, J.Austin, “A machine-learning ap-proach to keypoint detection and landmarking on3D me-shes, ”International Journal of Computer Vision, in press, 2013.
三维人脸特征提取 篇4
如果能够在保证识别效果的基础上有效降低存储和计算量,使这一技术推广到常见的便携移动设备上,如利用智能手机进行银行转帐时,使用SIM+人脸鉴定的双重保险,将会给人们带来更加安全便捷的数字化服务。为与人脸识别过程相结合,在分析了遗传算法的基本过程和要素后,给出遗传算法在应用于人脸识别时的一种适应度评价方式和三个重要算子,通过实验分析,证实此方法效果明显。
1 基于遗传算法(GA)的人脸特征提取
遗传算法是Holland教授[6]于1975年提出的一种模拟生物体进化的抽象算法,具有“生成+检测”的特性。它利用编码空间代替问题参数空间,以适应函数作为评价依据,以编码群体为进化基础,并对群体中的个体进行遗传操作来实现选择和遗传机制,形成循环迭代,由群体中个体的不断进化逐渐接近问题的最优解。遗传算法的整个进化过程操作是随机的,但它所显现的特性并非完全随机,它在搜索过程中它能有效利用历史信息推测下一代,得到期望性能有所提高的寻优点集。
一般的遗传算法包含五大要素[7]:
1)参数编码(二进制编码、序列编码、树编码、自适应编码、大字符集等);
2)初始群体的敲定;
3)适应度函数的设计;
4)遗传操作的设计(遗传算子:选择、交叉、变异);
5)控制参数的设定。
其中遗传算子的作用就是模拟生物系统中“适者生存”,淘汰不能适应的染色体,把更有益的信息遗传到子代。
在生物模拟系统中,DNA由遗传的染色体构成,染色体在遗传算法中表示为比特序列。其中每个染色体用n位来表示。在执行遗传算法的第一步就是对各类中的每个个体进行编码,即编排单个个体的比特序列。在这里,对染色体的编码是通过获取个体的十进制值后转化为二进制编码来实现的,它是由0和1组成的序列。例如,对于已知的单个个体由8位(n=8)来表示时,则它的染色体为:X=x8,x7,x6,x5,x4,x3,x2,x1。
对群体中个体的染色体进行操作的三个算子:选择、交叉、变异。
选择算子,作用就是选择适应值较好的个体以生成交配池。这里采用轮盘赌(roulette whell)的方法来实现,以保证每个父代都有同等的概率Ps被选择。
交叉算子,在GA中模仿了自然界有性繁殖的基因重组过程,目的是将原有的优良基因遗传给子代。交叉操作一般分为三步:
从交配池中随机抽取出一对要交配的个体。
根据位串长度L,对要交配的一对个体进行长度[1,L-1]的位置交叉;
根据设定的交叉概率Pc(0
设在交配池中随机抽取一对个体:S1=a1,a2,a3,...,aL,S2=b1,b2,b3,...,bL,随机抽取交叉位x∈{1,2,...,L-1},此处以L=5,X=3为例对两个个体右侧部分染色体位串进行交换,得到两个新个体S1’=a1,a2,b3,b4,b5,S2’=b1,b2,a3,a4,a5。
变异算子,模拟的是自然界生物体进化中染色体某位基因发生突变的现象。在GA中,通过设定变异概率Pm随机反转某位的二进制字符值来实现。即,产生一个随机数P,若P
GA(后面提及的GA都是限定遗传算法在人脸识别中的应用)工作流程如下:
2 应用示例
设有L类样本,定义:
训练集X={X1,X2,X3,...XL}
第i个类的子集Xi={x1(i),x2(i),...,xNi(i)}
其中x1(i),x2(i)为i类的第1和第2个训练样本个体(图像),Ni为第i类样本的训练样本总数。所有图像训练样本的总数量N=N1+N2+...NL
1)对所有图像转换为列矢量,即,把每个位置的染色体变为向量。每个向量代表一个个体,位数取决于染色体所代表图像的灰度级,即图像像素的编码。假设一个灰度级为256的图像,其染色体应为8位(28=256),如图1,为一个m×n像素的图像。
2)每个类的初始种群从Ni中产生。因为交叉操作需成对进行,所以当Ni为奇数时,需要取一个测试图像进行配对交叉(仅对属于同一类的所有个体设置进行交叉操作,产生的新个体仍属于此类中)。
3)对每个类中的所有个体设置一个适应度函数,这里采用欧氏距离来衡量。设测试用例为q,与xij(第i类中的第j个个体)的适应度函数为:
4)新生成的类中的每个个体Ni都将符合最低适应度函数。
5)迭代递增+1。
6)如果算法执行超过最大迭代数T,或者群体产生的个体已达到最高适应度值,则认为此测试用例属于该类。否则,转到步骤3。
为说明交叉操作,设有某类中一对将要配对的个体a和b,在第4比特位进行切割交叉,将产生两个新个体c和d,如图2:
3 实验分析
实验使用了剑桥ORL库(共有40人,每人10幅,每幅92×112像素的256灰度级图片),实验机器平台为清华同方X46H型号,使用[8]的方法与遗传算法进行比较,先后进行了10次实验,取平均值得到结果如表1和表2:
从实验结果看,两种方法的识别率比较接近。首先,对比所用时间,两种方法在训练和识别同一组人脸时,在L=40,T<10,Pm<0.01,Pc=0.6的情况下,使用PCA方法的总耗时是GA的十倍。其次,对比存储空间,PCA方法在前期的预处理过程中,占用资源要比GA方法大很多。例如一幅92×112的图像,产生的协方差矩阵大小为10304×10304,如果协方差矩阵所表示的基本像素单元为8字节,那么6幅图像需要占用存储量6×10304^2×8b,相当于4.7GB的存储空间,要比普通的电脑全部内存还大;而GA即使在256灰度级图片上进行编码,存储6幅图像所占用空间为:92×112×6×8×2约966Kb,远远小于PCA。
4 总结
利用遗传算法良好的“生成+检测”特性来寻找优化问题的最优解,并在人脸识别中进行一次有效尝试,实验结果表明在不降低识别率的情况下,无论是计算时间还是所占在存储容量GA都要明显少于PCA。但本方法只适合在非固定用户群使用,这里使用单一的PCA降维方式进行实验对比只是为了更明显分析遗传算法的特点,并非反映PCA方法低效,相反,在固定用户群体的情况下,PCA只需进行一次前期训练即可完成以后的快速识别,这是GA所不能及的。相信在其他优化问题求解上,遗传算法会有更好的拓展空间。
参考文献
[1]王映辉.人脸识别:原理、方法与技术[M].北京:科学出版社,2010.
[2]Turk M,Pentland A.Eigenfaces for Recognition,Journal of Cognitive Neurosicence,1991,3(1):71-86.
[3]Zhao W,Krishnaswamy A,Chellappa R,et al.Discriminant Analysis of Principal Components for Face Recognition,Face Recognition:From Theory to Applications,H.Wechsler,P.J.Phillips,V.Bruce,F.F.Soulie,and T.S.Huang,eds.,Springer-Verlag,Berlin,1998:73-85.
[4]Yang M Q,Ahuja N,Kriegman D.Face recognition using kernel eigenfaces.Proc.ICIP,1:37-40.
[5]Lee J,Moghaddam B,Pfister H,et al.Finding Optimal Views for 3D Face Shape Modeling,Proc.of the International Conference onAutomatic Face and Gesture Recognition,FGR2004,17-19 May 2004,Seoul,Korea,pp.31-36.
[6]Holland J H.Outline for a logical theory of adaptive systems.Journal of the Association fo Computing Machinery,1962,9(3):297-314.
[7]李敏强,寇纪淞,林丹,等.遗传算法的基本理论与应用[M].北京:科学出版社,2002.
三维人脸特征提取 篇5
现有的人脸特征提取方法主要可分为两类[1,2]:(1)基于整体思想,把定位后的人脸灰度分布整个作为一个特征模式,通过数学变换方法实现特征提取,常用的有特征脸方法、奇异值特征方法等;(2)基于局部思想,先对面部各器官进行定位,在此基础上提取人脸特征模型,常用的有人脸几何特征提取方法、基于模板匹配的人脸特征提取方法等。
离散余弦变换(Discrete Cosine Transform,DCT)以其压缩比高、高低频信息分离能力强等优点,在人脸特征提取领域得到了广泛应用[3]。这些方法直接以整幅人脸的低频分量作为最终的鉴别特征,尽管可以对人脸特征维数进行一定的压缩,但是丢失了代表人脸边缘轮廓的局部细节特征,而且提取的特征中包含了由于遮挡、光照以及表情变化等原因产生的大量冗余信息,因此识别率相对较低。线性鉴别分析(Linear Discriminant Analysis, LDA)[4]的基本思想是将高维的模式样本投影到最佳鉴别空间,以达到抽取分类信息和压缩特征空间维数的效果,投影后使得模式在新的子空间中有最佳的可分离性。以上两种特征提取的方法并不是最优的方法,现提出一种基于分块离散余弦变换(Divided Discrete Cosine Transform, DDCT)与线性鉴别分析(Linear Discriminant Analysis, LDA)的人脸特征提取方法。
1 人脸分块DCT变换和特征提取
设f(x,y)为空域中一幅分辨率为m×n的人脸图像,则其对应的DCT变换和IDCT反变换公式为
式(2)中
图像DCT系数矩阵中包含了反映图像灰度和边缘轮廓的高低频分量。如果直接以整幅人脸图像DCT系数的低频分量作为人脸的鉴别特征,可以对人脸特征进行一定的压缩,但是代表人脸的边缘轮廓的高频分量也是实现图像有效分类的重要特征,完全摒弃这部分分量在降低鉴别特征维数的同时降低了正确识别率。另外,DCT低频系数包含了大量由于遮挡、光照以及表情变化等原因引起的冗余信息,直接以此作为鉴别特征会影响识别效果和识别时间。
基于以上原因,现采取分块DCT变换的方法来提取DCT系数特征矩阵,首先对人脸进行分块,并对每块人脸图像进行DCT变换,选取每个图像块的DCT系数的低频分量作为鉴别特征,这样不仅可以保留人脸的有效局部细节特征,而且可以淡化遮挡、光照,以及表情变化对图像本质特征的影响。为了验证此方法的有效性,采用Zig-zag系数选取方法,选择子块图像的前10个DCT系数作为低频分量,作为特征向量。以下是对一幅图像的分块。较多的图像分块可以提取到的特征矩阵更接近于人脸的本质特征[5]。
2 线性鉴别
Fisherface的人脸识别使用了线性鉴别分析得到特征值。LDA方法的基本思想是寻找一个线性变换,使得到的不同类的新特征可以最大限度地分离开。基于LDA的人脸识别方法中把一幅二维图像表示为一个高维空间中的一点。给定由L幅图像构成的训练集合{xi|i=1,2,…,N},每一个样本图像都表示为一个n=Iw×Ih维向量即xi∈Rn。其中Iw和Ih分别是图像的宽度和高度。xi属于某一类Zk,Zk是集合{Zk|k=1,2,C}的一个元素C是类的总数目。设类Zk有Nk个样本。LDA寻找一个变换矩阵W把xi变换为新的特征向量yi∈Rm,即:
其中矩阵W∈Rn×m的各列向量是正交的。LDA的关键是矩阵W的求解。
定义类间散布(between-class)矩阵Sb和类内(within-class)散布矩阵Sw分别为
其中u和uj分别是所有C类样本的平均向量和类Zj的平均向量
寻找一个最优的变换矩阵Wopt,使得类内散布矩阵Sw和类间散布矩阵Sb的比值最大
其中,{wi|i=1,2,…,m}是对称阵SundefinedSb做特征分解得到最大的m各特征向量。即
然而,在求Sundefined会遇到困难,因为通常Sw是不可逆的。因此在进行LDA变换之前先进行降维处理。先对图像进行DCT变换,将DCT的低频系数作为特征向量,再做LDA变换。
3 算法实现
根据上述各种方法的讨论,人脸特征提取方法的具体实现步骤如下:
(1) 对人脸图像进行DDCT变换,对人脸分块选择DCT系数构造人脸的DCT特征矩阵;
(2) 利用LDA对特征矩阵进行压缩降维,对特征进行组合,构造最终的人脸组合鉴别特征;
(3) 选取分类器对人脸组合鉴别特征进行分类识别。
4 仿真结果与分析
仿真在ORL人脸库上进行。该人脸库包含了40个人每人10幅共400幅人脸图片,这些图片是在不同的时间、不同光照条件、不同表情的情况下拍摄的面部正面或者近似正面的照片。每次去第一到第五幅照片作为样本进行训练,第六到第十幅照片进行识别。实验平台为P4 2.6GHz/512MB硬件环境下利用Matlab7.0对本文的方法进行仿真。分类器采用最小距离分类器。
仿真结果表明,本文的组合特征提取方法获得了较好的识别效果。图像分块DCT变换,可以是人脸图像聚焦在不同的区域和局部的细节特征,可以对冗余信息进行了压缩,获得了较好的识别效果。在特征提取和识别时间方面,要对每个图像块进行处理,因此在特征抽取和识别时间总时间比单一的特征提取方法稍多。
5 结论
提出了基于DDCT与LDA的组合人脸特征提取方法。首先对人脸进行分块,可以提取到反映人脸细节的不同区域的局部特征,这些局部特征在一定程度上有助于分类。其次,通过对特征的进一步压缩,降低特征维数。对人脸库的仿真结果表明,该特征提取方法的有效性。
参考文献
[1] Samal A,Iyengar P A.Automatic recognition and analysis of humanfaces and facial expresions:a survey.Pattern Recognition,1992;25(1):65—67
[2]卢健,王晖.SVD和DCT提取特征向量方法在人脸识别中的比较.武汉大学学报(信息科学版),2005;30(2):118—121
[3] Hafed Z M,Levine M D.Face recognition using the discrete cosinetransform.International Journal of Computer Vision,2001;43(3):167—188
[4] Belhumeur P,Hespanha J P,Kriegman D J.Eigenfaces vs fisherfac-es:recognition using class specific linear projection.IEEE Trans onPAMI,1997;19(7):711—720
三维人脸特征提取 篇6
人脸识别是当前模式识别领域内的一个热点研究课题[1]。寻找有效的特征是解决识别问题的关键。线性判别分析(Linear Discriminant Analysis,LDA)[2]是一种普遍用于特征提取的方法。LDA作为一种有监督的学习算法,其原理是使得降维后同类样本间的距离最小,而异类样本之间的距离最大。但在人脸识别领域存在大量的典型小样本问题,这就使得LDA中类内散布矩阵常常奇异。为了避免小样本问题,在文献[3,4,5]中提出了基于最大间距准则(Maximum Margin Criterion,MMC)的特征提取方法,该方法基于特征空间的类间散度矩阵和类离散度矩阵的差的最大化,从理论上解决了Fisher准则中因类内散度矩阵奇异而无法求解的问题。
由于MMC建立的中各分量间存在无序性,从而使得MMC所选择的特征向量并不是最有利于分类的,因此对特征空间进行特征选择是十分必要的。特征选择[6]是指从一组数量为D的特征中挑选出d(d<D)个对分类最有利的特征作为最优特征子集,达到降低特征空间维数的目的,是一个组合优化问题。因此可以使用解决优化问题的方法来解决特征选择问题。常用的方法有分枝定界法[6]、增l减r法[6]等,也可以使用遗传算法[7]、粒子群优化[8]等智能启发式算法。本文通过深入研究离散二进制粒子群(Binary Particle Swarm Optimization,BPSO)[9]优化算法,提出了将离散二进制粒子群算法对MMC所建立的特征空间进行选择,以提高人脸识别的准确率。为验证本文方法的有效性,在ORL和Yale人脸数据库上进行了仿真实验。
1 最大间距准则方法
设ω1,ω2,…,ωc为C个类别,X={X1,X2,…,XM}为这C类的M幅人脸图像训练样本集,则类间离散度矩阵Sb和类内离散度矩阵Sw定义为:
式(1)和式(2)中,Mi是第i(i=1,2,…,C)类的训练样本数目,且
式(3)中
最佳投影方向W由式(5)给出:
即φ1,φ2,…,φd可通过特征方程(Sb-Sw)X=λX的前d个最大的非零特征值所对应的单位特征矢量得到。
2 粒子群和离散二进制粒子群算法
2.1粒子群算法
在PSO算法中,每一个优化问题的解看作搜索空间中的一个“粒子”。每个粒子都有自己的位置和速度(决定飞行的方向和距离),以及一个被优化函数决定的适应值。各粒子记忆、追随当前的最优粒子,在解空间中搜索。在每次迭代中,粒子通过追踪个体极值和群体极值来更新自己的位置和速度。在标准PSO算法[8]中,速度和位置更新公式分别如式(6)和式(7)所示。设在n维目标搜索空间中,由m个粒子组成的种群为X={x1,x2,…,xm},每个粒子由n维向量表示,即xi=(xi1,xi2,…,xin)T,i=1,2,…,m。
vij(k+1)=wvij(k)+c1r1[pbestij(k)-xij(k)]+
c2r2[gbestij(k)-xij(k)] (6)
xij(k+1)=xij(k)+vij(k+1) (7)
其中,k=1,2,…为迭代次数,i=1,2,…,m;j=1,2,…,n;w称为惯性权重系数,c1,c2为正的学习因子,表示将粒子引向pbestij和gbestij的步长;r1,r2为在[0,1]之间的随机数;vij(k)为第k次迭代时第i个粒子的速度;xij(k)为第k次迭代时第i个粒子的所处位置;pbestij(k)为经过k次迭代后第i个粒子在j维搜索到的最优位置;gbestij(k)为经过k次迭代后整个种群在j维搜索到的最优位置。
2.2离散二进制PSO算法
标准PSO算法最初是用来对连续函数进行优化的,而实际中许多问题是组合优化问题,Kennedy等学者在连续PSO算法的基础上发展了离散二进制PSO[9]算法(Discrete Binary Partical Swarm Optimization, BPSO)来解决组合优化问题。与连续PSO算法不同,在BPSO算法中,第i个粒子位置的每一维xij限制为1或者0,速度vij则不做这种限制。使用速度更新位置时,vij值越大,粒子的位置xij越有可能选1,vij值越小,粒子的位置xij越接近0,即速度值代表了粒子位置接近于1的概率。BPSO的算法新的粒子位置更新公式如式(8)所示。除此以外,粒子个体历史最优位置和群体历史最优位置的计算方法,以及粒子速度的更新公式都与标准PSO相同。
式(8)中,sig
3 基于离散BPSO算法的人脸特征选择
对于特征空间的维数,若是较低虽然便于分析,但可能丢失部分有用的特征;若是较高则高维特征中可能带有噪声及其他冗余或不相关的特征,会使识别的结果发生偏差。本文提出BPSO算法与MMC相融合的人脸识别算法。首先通过MMC提取人脸特征空间,然后在此特征空间中,用BPSO算法进一步进行特征选择,自动得到最优特征子集,构成新的特征空间。
3.1粒子设计
设经过特征提取算法提取出的人脸特征个数为D,特征选择的任务就是从中选出d(d<D)个特征的最优组合。因此在BPSO算法中,每一个粒子的维数就是D,设群体规模为m,即粒子数为m个。每一个粒子代表了一个不同的特征子集,也就是一个候选解。第i个粒子(1≤i≤m)可表示为
3.2适应度函数设计
特征子集选择的目标是使用少量的特征达到相同或更好的分类效果,因此适应度函数的设计中应包含两部分内容[10]:识别准确率和所选择的特征数目。每个特征子集中含有一定数目的特征,如果有两个特征子集的准确率相同,则包含特征比较少的子集就应该被选中。在识别准确率和特征数目这两个因素中,识别准确率应该被重点考虑。基于此考虑,设计粒子的适应度函数如下:
式(9)、式(10)中,accuracy表示人脸识别的准确率,T表示待识别的人脸图像总数。δi取值为0或1,0表示第i幅人脸图像被正确识别,1表示其未被正确识别。一个粒子能够使分类器产生的识别准确率越高,同时选出的特征数目越少,它的适应度函数值就应该越低;在识别准确率相同的情况下,应该由所选特征数目的多少决定粒子的适应值。β为平衡识别准确率和所选特征数目的参数,β值越大,说明所选特征数目就越获得重视。经多次实验本文中β=10-4时,即可达到满意的效果。
3.3BPSO-MMC算法步骤
Step1 根据MMC算法得到待选择的人脸特征空间F;
Step2 设置算法参数:粒子数目N,进化代数为Q,惯性权重系数w的选取用线性递减法[10],学习因子c1=c2=2,最大速度vmax=6;
Step3 设置各粒子的初始位置pi和速度vi:将特征进行二进制编码,得到每个粒子的初始位置pi,并取pg为pi中最优的;将粒子速度限制在[vmin,vmax]区间上,-vmin=vmax=6,初始速度vi=vmin+(vmax-vmin)rand();
Step4 根据编码方案确定的特征子集,调用分类器测试并记录分类精度,根据式(9)计算每个粒子的适应度值;
Step5 对于每个粒子,比较它的适应度值和它经历过的最好位置pi的适应度值,如果更好则更新;
Step6 对于每个粒子,比较它的适应度值和群体所经历过的最好位置pg的适应度值,如果更好则更新,并重新设置pg的索引号;
Step7 根据式(6)、式(7)和式(8)更新粒子的速度和位置;
Step8 如果达到终止条件,则结束;否则转Step4继续迭代;
Step9 选取最终粒子中适应度最小的粒子解码,输出所要求的最优特征子集F′,并且用其作为新的投影方向集;
Step10 将训练样本和测试样本分别向F′投影,并用分类器进行识别,输出识别准确率。
4 实验结果及分析
为了更有效的评估BPSO-MMC算法,将其与LDA、MMC算法的识别效果在ORL和Yale人脸库上进行比较。
4.1实验1 在ORL人脸库上的实验
ORL人脸库由40人、每人10种不同的姿态及表情、共400幅图像组成,为112×92,灰度级为256。图像有侧面、正面;表情严肃、表情放松;睁眼、闭眼;微笑、不笑;戴眼镜、不戴眼镜等诸多差别,部分图像如图1所示。经图像预处理后[11],将人脸库中的图像分辨率调整为28×23。
在ORL人脸库中,分别取每个人的训练样本数为2,3,4,5,6,7,8,9,人脸库中除训练样本之外的人脸样本集均作为测试样本集。实验结果如表1所示,表中识别率和识别时间为10次实验的平均值。
4.2实验2 在Yale人脸库上的实验
Yale人脸数据库包括15位志愿者的165张图片,每人11张图像,其中包含在不同光照条件、不同表情和姿态变化的图像,部分图像如图2所示。经预处理将Yale人脸库中的图像大小都调整为25×25的标准图像。
在Yale人脸库中,分别取每个人的训练样本数为2,3,4,5,6,7,8,9,人脸库中除训练样本之外的人脸样本集均作为测试样本集。实验结果如表2所示,表中识别率和识别时间为10次实验的平均值。
从表1和表2中可以看出,BPSO-MMC算法随着每类训练样本数的增加,识别率也不断的增加。在相同数量的训练样本数下BPSO-MMC算法能得到较LDA算法和MMC算法更高的识别率。LDA算法由于受“小样本问题”的困扰,识别率较低且表现很不稳定。MMC法是LDA的改进算法,避免了类间离散度矩阵的求逆计算,在相同训练样本数目下,识别率较LDA算法优势更加明显。BPSO-MMC算法无论是在识别率还是识别时间方面都要优于其它特征提取方法,该方法经BPSO对MMC算法的特征空间进行优化选择,可以取得比LDA与MMC更好的效果。
5 结束语
本文根据二进制粒子群优化算法和最大间距准则(MMC)方法的优点,对MMC方法的特征向量进行优化选择,提出了BPSO-MMC人脸特征提取方法。在ORL和Yale人脸数据库上的实验结果表明,BPSO-MMC方法在识别率上优于MMC方法的识别率,更优于LDA方法得到的识别率,显著提高了识别性能,具有很好的应用价值。
参考文献
[1]王映辉.人脸识别——原理、方法与技术.北京:科学出版社,2010:10—28
[2] Belhumeur P N,Hespanha J P,Kriegman D J.Eigenfaces vs fisherfac-es:recognition using class specific linear projection.IEEE Transac-tions on Pattern Analysis and Machine Intelligence,1997;19(7):711—720
[3] Li H F,Jiang T,Zhang K S.Efficient and robsut feature extraction bymaximum margin criterion.IEEE Transactions on Neural Networks,2006;17(1):157—165
[4]李勇智,杨静宇,郑宇杰,夏永泉.基于最大间距准则(MMC)新的有效特征提取方法.系统仿真学报,2007;19(5):1061—1066
[5]程国,刘亚亚,丁正生.基于对称最大间距准则的人脸识别方法.科学技术与工程,2012;12(4):809—812
[6]张学工.模式识别(第三版).北京:清华大学出版社,2010:153—157
[7]张祥德,张大为,唐青松,等.仿生算法与主成分分析相融合的人脸识别方法.东北大学学报(自然科学版),2009;30(7):972—975
[8] Kennedy J,Eberhart R C.Particle swarm optimization.Proceedings ofthe IEEE International Conference on Neural Networks,Perth Austra-lin,1995:1942—1948
[9] Kennedy J,Eberhart R.C.A discrete binary version of the particalswarm algorithm.Proc of the Conf on Systems,Man,and Cybernet-ics.Piscataway:IEEE Press,1997:4104—4108
[10]张焕萍,宋晓峰,王惠南.基于离散粒子群和支持向量机的特征基因选择算法.计算机与应用化学,2007;24(9):1159—1161
三维人脸特征提取 篇7
目前,随着对小波技术领域的研究不断深入,小波分析技术在图形图像处理上的应用也越来越成熟,而小波的多重分辨的特性应用在人脸边缘检测上有着非常好的前景。
在一张图片中自动检测到人脸的边缘是一项富有挑战性的工作,人类善于从一张图片中找到物体的边界。人们不加任何思考就能够非常快的把图片中的物体边缘轮廓找出来,但是让计算机做相同的工作仍然需要做相当多的前期分析。
如何让计算机发现人脸的边缘并确定边缘,其中一个方法是检测图片的像素点,找到那些与其邻接像素点的像素值产生突变的点。而存在的一个问题就是有可能找到的是“伪边界”或者忽略了“真边界”。这个简单的算法思想让人们意识到并不是所有的边界都是一样的。一张图片中的物体有暗的区域,这里的边界线非常模糊不利于辨析。举个例子,一个穿黑色衣服的人倚靠在一个位于白雪皑皑山顶的黑色电话亭边上,人们能够很好的区别黑色电话亭与白雪覆盖的山头,但不能很好的区别黑衣人与黑色电话亭的边界。事实上,衣服与电话亭的像素点值的变化很小,因而,需要一种更加好的方法来探测这些边界。
通过对一些边界检测的算法研究,如下章所述的算法这包括一种新颖的基于小波的边缘检测算法。为了检测每种边界检测算法的先进性,通过手动测试各种算法从一张图片中找到存在边界的响应,来确定检测算法的精确性。
1 边界探测思想
一个物体的边界线可以通过分析其边界找到,这些边界线可以通过比较像素的亮度发生突然变化找到。大部分的边界探测函数是通过查找定位区域中大部分像素一阶导数发生突然变化的点,或者定位图片中二阶导数存在零交叉的像素点。有很多类型的边界检测算法,包括灰度边界探测、LoG、零交叉、高斯边界探测等。这里有早期提出的一阶微分边缘算子Robert算子、Sobel算子、Prewitt算子和Kirth算子等,但由于噪声很容易出现伪边界。有基于梯度方法的Sobel、Prewitt and roberts,通过这些方法找出图片中一阶导数的最大值和最小值。Marr和Hildreth指出LoG算法采用结合高斯滤波并查找二阶导数存在零交叉的像素点。零交叉算法则是不使用高斯滤波查找图片中二阶导数存在零交叉。高斯边界检测沿着边界通过使用平滑图片降低图片的噪点,其中应用最广泛的是Canny算子。
目前,关于单色图片比较流行的分割算法的基本方法是基于相似性或者基于不连续性。基于相似性的算法是将图片分割成若干预先定义的若干部分。基于不连续性基本思想是通过查找图片某部分的像素点的值发生突然变化。小波转换通过低通滤波和高通滤波将单一信号转化为低通波(相似性)和高通波(突变的不连续性),这样非常有效地将图片的两个基本性质应用到一个处理中。
2 算法基础
二维离散小波变换:假设φ(x)是一个一维的尺度函数,Ψ(x)是相应的小波函数,二维尺度函数φ(x,y)是可分离的,即φ(x,y)=φ(x)φ(y),那么可以得到一个二维小波变换的基础函数:
图像可以看作是二维矩阵,一般假设图像矩阵的大小为N×N,且有N=2n(n为非负整数),那么每次小波变换后,图像便分解为4个大小为原始尺寸(面积)的四分之一的子块频带区域。
如图一(a)所示,分别包含了相应频带的小波系数,相当于在水平方向上和竖直方向上进行隔点采样。进行下一层小波变换是将变换数据集中在LL频带上。图一(b)为二层小波变换的系数分布。
LL频带保持了原始图像的内容信息,图像的能量集中于此频带。
HL频带保持了图像水平方向上的高频边缘信息。
LH频带保持了图像竖直方向上的高频边缘信息。
HH频带保持了图像对角线方向上的高频边缘信息。
等式(1)到(4)说明了图像小波变换的数学原型,其中<●>表示内积运算。
3 Mallat算法
Mallat提出了一种基于小波分析的快速算法用于图像的分解与重构。二维图像信号f(x,y)的小波分解可以分成X轴和Y轴两个方向上的一维小波变换,即先沿X轴方向用Φ(x)(尺度函数)和Ψ(x)(小波函数)做分析,把f(x,y)分解成概貌和细节两部分,然后再沿Y轴的方向用Φ(x)和Ψ(x)做类似分析。这样得到4路输出,经Φ(x)和Ψ(x)处理得到f(x,y)的二维概貌,其余3路输出分别为X轴方向、Y轴方向和对角线XY方向的小波细节。它的重建也可由两个一维方向处理得到,从而可得到二维信号的Mallat算法,如图二所示。
边界探测思想的新颖性在于使用不连续小波变换,将图片分为子图片,包括细节图像和相似图像。相似图像看起来就像原始图像,但仅使用原始尺度的四分之一。可以从图一看出细节图片包含了边界信息细节,相似图片包含了更多的边界信息。为什么不对这张相似图片再使用D离散小波变换两次或者三次呢?发现相似图片包含边界信息,递归地使用离散小波变换6层分解,这项技术称之为多分辨率。在二维小波变换中把它分开来处理,意味着用一维的水平离散小波,接着是垂直方向的离散小波。为了得到一维离散小波,将一维输入信号分成两个流,并筛选。滤波是数字信号处理中的一个基本操作,输入信号是一个带系数的卷积。卷积公式描叙如下:
与所使用的滤波器有很大的关系,这样保证它们的系数能够很好的满足信号重建标准,更确切地说这些滤波器能有效的减小图像失真,并且不需要缩放。缓慢变化的信号保留在低通滤波频段,而急剧变化的信息包含在高频滤波波段。边界在图片中表现的是急剧变化的特性,所以可以通过滤波将这个特性分别出来,并且原始信号可以重建。相似信号和原始信号相似度很高,加入高频信息部分,就可以得到原来的信号。对于二维变换,可以沿着行进行滤波,产生两张子图片,每张子图片的大小都是原始图片的一半,高度与原始图片一致但是宽度只有原始图片的一半。接下来对这些子图片沿着列进行高通和低通滤波,这样每张基本图片又得到两张子图片,总共产生了四张子图片。把这些通过一级离散小波变换图片根据其使用的滤波器产生的子图标注为LL、LH、HL、HH。例如,HL是沿着行进行高通滤波和沿着列进行低通滤波,可以重复进行LL步骤多次。为了验证设计思想,使用6级小波变换。在接下来的每个频度都是上一频度的四分之一。可以看到图像的一个子图捕捉到了水平方向的边界信息,另外的图片捕捉到了竖直方向上的边界信息,剩下对角线上是细节子图。联合其它频度的三个细节子图构造一个该刻度全局细节图片,这利用了图片的自相似性,并且很好展示了图片中物体所包含的基本轮廓信息。
一旦使用离散小波变换,像素的数值不再是0到255之间的正整数,意味着它们可能不再是灰度图。使用标准差标记像素值,用黑色表示代表距离平均值的5个标准差,用白色表示其它的数值。根据经验发现5个标准差得到的结果很理想。在子图的细节部分,大的像素值对应大的差异,这也就是标准差思想保持了产生子图中存在大的差异,即这有可能是图片中存在的边界。
离散小波变换有很多小波可供选择(仅仅通过改变参数来改变小波),最初目标是期望通过使用离散小波转换发现得到的边界。开始仅仅使用Daubechies小波,得到了很好的效果,当然,也使用双正交小波。于是同时使用Daubechies 4系数小波和双正交样条2.2小波,可以发现一些细微的变化在对应的小波中。因为小波变换使用了多分辨率,所以可以用其它组合方法去验证算法的准确性。
在这个方法中图像的每个突出边缘部分被放大,允许自动将重要地方归一,这个方法得到的图像是最符合人们要求的图像。因为小波本质上的可分解性,在试验中,首次分解包含了非常多的细节信息,但很少能够得到利用。第二和第三次分解也非常显著的适合应用。虽然它们包含细节(边界)信息,但不包括细节部分的小的变化。最初执行六次离散小波变换,然而,通过实验发现只使用3次离散小波变换就能够满足需要。
4 边界提取
由于边缘线很不规则,很难用数学表达式的方式对它们进行精确的描叙,所以这里提出使用八向链码(Chain code)如图三来记录图片的边缘。
八个方向分别(0°,45°,90°,135°,180°,225°,270°,315°),这是一种可以精确表示不规则线的有效方法。在这种方法中,根据线上每一个点的相邻,为它定义一个方向码,线的链码就是它上面所有像素点的方向码序列。一条线可由它的一个端点坐标和以此端点为起点的链码来表示。在这里,首先找到一个用前面讨论方法发现的像素点,然后按照从左至右从上至下的搜索顺序查找黑点,符合如下条件的像素点一定为边界点。即它的右,右上、上左=上四个邻接的至少有一个是边界点,然后再按照右、右上、左、上左、左下、下、右下的顺序继续查找,一直到返回的点为起点止。判断是不是边界点很简单:如果它的上下左右四个邻接点都不是黑点,则它一定为边界点。基于离散小波人脸边缘特征的提取算法为:
(1)开辟内存缓冲区,初始化为255;
(2)将图像多次进行离散小波变换,定位出人脸边缘可能位置;
(3)在人脸区域中,选定任意像素位置,利用边界查找方法提取边界点,并且将内存中该点R、G、B值设为255;
(4)按照跟踪准则,重复执行(4),直到回到初始点;
(5)将内存缓冲区的八向链码值复制到初始图片中。
5 实验结果与分析
为了对本文提出的算法进行比较分析,这里采用了100张表情各异的人脸,用本文提出的边缘检测思想进行了实验,并且采用不同的小波和小波系数,检验能否准确地找到人脸边缘,所做实验结果如表一所示。
6 结束语
每个算法的边界检测结果都包含在表一中,从中很容易看到经过离散小波变换后,能够非常成功地定位测试图片中的物体边界。其中多种小波综合的边界探测思想成功率比较高。离散小波变换能够重复地变换出分辨率越来越小的相似图和细节图,理论上能够达到单个的像素。事实上,每次重复滤波分解所加载的一些系数最终变得非常有效。其实更深层次的使用离散小波分解不能够得到更加好的效果。这并不奇怪,为什么第三次滤波后的细节图片相比第二次滤波后的细节图片和第一次滤波后的细节图片包含更少的有用信息。第一次滤波和第二次滤波细节图包含了很多的边界,也包括那些人们并不感兴趣的边界信息,这就是为什么在背景中变化能够展示这些细节。可以把所有的细节(水平、竖直和对角线方向上)整合到一块来辨别全局细节图片。
因此,离散小波变换是一项非常好的人脸边界检测技术,尤其在加入自适应系数的时候。
参考文献
[1]肖冰,王映辉.人脸识别研究综述[J].计算机应用研究[J],2002(2):112-113.
[2]靳济芳.Visual C++小波变换技术与工程实践[M].北京:人民邮电出版社,2004.
[3]王聃,贾云伟,林福严.人脸识别系统中的特征提取[J].微计算机信息,2005,21(7):53-54.
[4]J.Canny.A computational approach to edge-detection.IEEE Pattern Analysis and Machine Intelligence,1986,8:679-698.
[5]R.C.Gonzalez,R.E.Woods,and S.L.Eddins.DigitalImage Processing using Matlab.Pearson Prentice Hall,Saddle river,NJ,2004.
[6]D.Marr and E.Hildreth.Theory of edge-detection.In proceeding of the Royal Society of London.Series B,volume 2007:187-217,1980.