TAN TIENIU (CN)
WANG WEI (CN)
HUANG YAN (CN)
CN103605972A | 2014-02-26 | |||
CN101021900A | 2007-08-22 | |||
CN103793718A | 2014-05-14 | |||
US20100228694A1 | 2010-09-09 |
北京亿腾知识产权代理事务所 (CN)
权 利 要 求 书 1、 一种人脸验证方法, 其特征在于, 所述方法包括: 步骤 1、利用主成分分析和线性判别分析对高維人脸特征数据分别进行预 处理, 其中包括设置主成分分析降維后的数据維度; 步骤 2、 建立判别式高阶玻尔兹曼机, 设置隐含层的节点数; 步骤 3、利用张量对角化的策略来减少该判别式高阶玻尔兹曼机的模型参 数; 步骤 4、把成对的人脸数据输入到判别式高阶玻尔兹曼机中, 利用随机梯 度下降算法来最大化关系类别的条件概率, 从而迭代地优化该玻尔兹曼机的 权重, 从而得到最终的判别式高阶玻尔兹曼机; 步骤 5、 向所述判别式高阶玻尔兹曼机模型输入待验证的成对人脸数据, 得到对应的验证结果数据。 2、 根据权利要求 1所述的方法, 其特征在于, 所述步骤 2中的所述判别 式高阶玻尔兹曼机的模型是包括两个数据输入层, 一个隐含层和一个类别输 出层的四层网络结构。 3、 根据权利要求 2所述的方法, 其特征在于, 所述两个数据输入层为成 对的训练人脸数据, 所述类别输出层表示人脸验证结果; 并且所述判别式高 阶玻尔兹曼机具有网络权重, 以根据当前层节点值获得下一层节点值。 4、 根据权利要求 3所述的方法, 其特征在于, 所述步骤 3中的张量对角 化的策略是将所述两个数据输入层和隐含层之间的三維权重立方体处理为多 个二維的权重矩阵。 5、 根据权利要求 1 所述的方法, 其特征在于, 所述判别式高阶玻尔兹曼 机的目标函数是负对数的关系类别的条件概率。 6、 一种人脸验证系统, 其特征在于, 所述系统包括: 网络建立模块、 网 络权重优化模块和数据验证模块, 其中: 所述网络建立模块, 用于建立判别式高阶玻尔兹曼机, 并设置网络隐含 层的节点数; 所述网络权重优化模块, 利用随机梯度下降算法来最小化该玻尔兹曼机 的目标函数来获得优化后的玻尔兹曼机权重, 从而得到最终的判别式高阶玻 尔兹曼机模型; 所述数据验证模块, 用于向所述判别式高阶玻尔兹曼机输入待验证的成 对人脸数据, 得到类别层两个节点值, 比较两个数值的相对大小即可得出人 脸验证结果数据。 |
本发明涉及一种人脸验证方法和系统, 尤其涉及一种基于判别式高阶玻 尔兹曼机的人脸验证方法和系统。 背景技术
人脸验证技术由于其广泛的应用一直是模式识 别领域的热点研究问题, 例如作为身份认证应用在海关和银行等。
给定一对人脸图像, 人脸验证的目标是是判断这两张人脸图像是否 表示 同一个人。 之前的工作主要是研究约束环境下的人脸验证 , 即实验中的人脸 图像都是在受控的环境因素下采集的, 包括固定的光照、 姿态和表情。 然而 在实际应用中, 这些因素都是不可控的, 例如视频监控中的人脸图像可能包 含任意的光照。 所以, 最近许多研究人员开始转而研究非约束环境下 的人脸 验证问题。 非约束环境因素下的人脸图像有非常大的类内 方差, 处理起来将 具有挑战性。
现有的人脸验证问题包含两个步骤: 数据特征表示和数据关系度量。 对 于数据特征表示, 人们通常使用一些人工设定的特征描述子来表 示人脸数据, 例如 LBP、 S I FT和 Gabor 等。 在得到成对的人脸数据表示后, 通常利用余弦 距离来度量每对图像的相似度大小, 进而可以判断这对图像是否表示同一个 人。 发明内容
本发明的目的是针对现有技术的缺陷, 提供一种人脸验证方法和系统, 以实现更适于具有精度要求的人脸验证。
为实现上述目的, 本发明提供了一种人脸验证方法, 所述方法包括: 步骤 1、利用主成分分析和线性判别分析对高維人 特征数据分别进行预 处理, 其中包括设置主成分分析降維后的数据維度;
步骤 2、 建立判别式高阶玻尔兹曼机, 设置隐含层的节点数;
步骤 3、利用张量对角化的策略来减少该判别式高 玻尔兹曼机的模型参 数;
步骤 4、把成对的人脸数据输入到判别式高阶玻尔 曼机中, 利用随机梯 度下降算法来最大化关系类别的条件概率, 从而迭代地优化该玻尔兹曼机的 权重, 从而得到最终的判别式高阶玻尔兹曼机;
步骤 5、 向所述判别式高阶玻尔兹曼机模型输入待验证 的成对人脸数据, 得到对应的验证结果数据。
本发明还提供了一种人脸验证系统, 所述系统包括: 网络建立模块、 网 络权重优化模块和数据验证模块, 其中:
所述网络建立模块, 用于建立判别式高阶玻尔兹曼机, 并设置网络隐含 层的节点数;
所述网络权重优化模块, 利用随机梯度下降算法来最小化该玻尔兹曼机 的目标函数来获得优化后的玻尔兹曼机权重, 从而得到最终的判别式高阶玻 尔兹曼机模型;
所述数据验证模块, 用于向所述判别式高阶玻尔兹曼机输入待验证 的成 对人脸数据, 得到类别层两个节点值, 比较两个数值的相对大小即可得出人 脸验证结果数据。
本发明人脸验证方法和系统, 通过在无监督玻尔兹曼机模型中引入数据 关系类别信息, 使模型判别力增强, 更适于具有精度要求的人脸验证。 附图说明 图 1 为本发明人脸验证方法的流程图;
图 2示出了本发明所使用的判别式高阶玻尔兹曼 结构示意图; 图 3是张量对角化方法的示意图;
图 4为本发明人脸验证系统的示意图;
图 5为不同的输入数据維度和不同的隐含结点数 时的实验效果变化图。 具体实施方式
下面通过附图和实施例, 对本发明的技术方案做进一步的详细描述。 发明人脸验证方法和系统主要是提出了一个更 有效的数据关系度量方 法, 可以在较大程度上提升人脸验证的精度。
图 1 为本发明人脸验证方法的流程图, 如图所示, 本发明具体包括如下 步骤:
步骤 101、利用主成分分析和线性判别分析对高維人 脸特征数据分别进行 预处理, 其中需要设置主成分分析降維后的数据維度;
其中, 主成分分析 (Principal Component Analysis, PGA) 是一种常用 的数据降維方法, 这种方法需要设定降維后的数据維度, 通常从几百到几千 不等。 线性判别分析 (Linear Discriminant Analysis, LDA) 是一种常用的 有监督的子空间学习方法, 处理后可以使得数据的判别性增强。
步骤 102、 建立判别式高阶玻尔兹曼机, 设置隐含层的节点数; 其中, 所述判别式高阶玻尔兹曼机为多层网络结构, 包括两个数据输入 层、 一个隐含层和一个类别输出层。 所述判别式高阶玻尔兹曼机的两个输入 层为成对的人脸训练数据, 比如人脸图像的特征表示。 在本发明一实施例中, 要求所有人脸数据保持相同的大小, 例如同样长度的向量; 类别输出层用于 表示成对人脸训练数据的验证结果, 由于人脸验证的结果只有两类, 即匹配 或者不匹配, 这里输出层只包含两个结点, 分别对应这两种类别; 该判别式 高阶玻尔兹曼机具有网络权重, 用于根据当前层节点值获得下一层节点值。 所述判别式高阶玻尔兹曼机的输入层和输出层 的节点数是固定的, 但是其隐 含层的节点数需要手工调节以使得该模型的效 果最优。
图 2示出了本发明一实施例中所使用的判别式高 玻尔兹曼机结构示意 图。 如图 2所示, 这是一个四层的网络, 每层中的圆形点表示网络节点。 底 部最左边两层分别代表两个人脸数据输入层, 输入层输入的是都是 I維的列向 量 x,yeR Ixl , 向量的每一維度用一个节点表示, 其取值都归一化为 0均值且方 差为 1。 最高层为类别输出层, 将人脸验证的类别表示为一个 2 維的向量 zeM 2xl , 向量的取值为 [1,0]或 [0, 1], 两种情况对应匹配或者不匹配。 中间的 隐含层是一个 K維的向量 heffi Kxl , 向量的每一維取值为 0或者 1。 h和 z的值都 可以由它们前面层的向量值计算得到, 其中 h与 X和 y层互相连接: y t
d t +∑U kt h k
e k
=∑ '' +∑ k ,
其中, σ (χ) = 1 / (1 + 、 x = ( Xl L , y = ( yj 、 h = ) keK 、 z = ( ) te(i2 )。 c = (c k ) keK 和 d = (d t ) 分别为隐含层和类别层的偏置参数。 W = (、 ) 是两个输入 层和隐含层之间的连接权重, 而 11 = (11 1{1 ) 1 ^^ 12) 是隐含层和类别层之间的连接 权重。
步骤 103、利用张量对角化的策略来减少该判别式高 阶玻尔兹曼机的模型 参数; 判别式高阶玻尔兹曼机含有大量的模型参数需 要进行学习, 当输入的 数据維度为几百时, 三維的权重张量 W就可能会含有上百万的权重参数。 这 样, 在训练数据量不是非常多的情况下, 很容易导致过拟合。 因此这里采用 张量对角化的方法来减少参数, 如图 3所示。 在 h轴上, 每个 h k 对应着一个权 重矩阵切片:
w k =(w ) 其中矩阵中的每个权重 \¾都对应着结点 Xi 和 yj 的连接关系。 隐含的假设 是 x中的任意一个结点都与 y中所以结点存在相关关系。 这样的假设对人脸数 据来说并不合适。 具体来说, 我们通常利用局部描述子来提取人脸关键点附 件的特征, 例如, 在人脸眼睛、 鼻子和嘴等部位提取 LBP 特征, 然后将这些 特征串联得到最终的特征。 所以 X和 y中每个结点仅仅表征了人脸的局部区 域, 如图 3 中的 R1 -R5所示。 当进行人脸验证时, 人们通常关心的是两幅人 脸图像中的相同位置例如眼睛是否是匹配的, 而不关心一个人的眼睛与另外 一个人的鼻子是否匹配。所以, 只有位置上临近的 Xi 结点和 yj 结点表示的人脸 区域一样时, 他们才存在较强的相关性, 如图 3 中的块对角化矩阵, 其中黑 色代表有相关性, 白色为没有相关性。 因此对于任意结点 Xi , 我们定义与其相 关的 -邻域的结点为 { yj ,j G [i-s,i + 4, 然后将每个权重矩阵切片 w. k 减少到 只保留其 2s + l个对角线上的权重: w k =(w ijk ) 这样整个权重张量 W中的参数量级即从 0(n 3 )减少为 0(n 2 )。 步骤 104、把成对的人脸数据输入到判别式高阶玻尔 兹曼机中, 利用随机 梯度下降算法来最大化关系类别的条件概率, 从而迭代地优化该玻尔兹曼机 的权重, 从而得到最终的判别式高阶玻尔兹曼机; 以图 2 中的网络为例进行说明, 把两个输入层数据, 中间的隐含层和类 别输出层表示一个判别式高阶玻尔兹曼机, 其能量函数 E(x,y,h,z)定义为:
E (x, y,h,z) (x ) 2
- ∑( y厂 bj ) 2 -∑ C A -∑d t z t
j k t
其中, a = 和 b = (b)^分别表示两个输入层的偏置项参数。 在能量函数的基础上可以得到输入层数据 x、 y和其关系类别 z的概率分 布 P (x, y,z):
为了学习模型参数, 通常的做法是利用随机梯度下降算法来最小化 目标 函数, 即最小化负对数的极大似然函数 L gra :
L gen =- lo g∑p( x ",y", z ") 其中 表示训练数据的索引。 目标函数!^关于参数 W的梯度可以如下进 行计算:
其中 <. >q 表示关于变量 q的期望。 但是, 计算上式中的第二项非常困难, 因为计算过程需要遍历变量 x、 y、 h和 z的所有取值状态。 使用!^作为目标 函数时的模型学习过程如图 6 所示。 另外, 为了简便计算过程, 我们还尝试 了一个判别式的目标函数, 即负对数下的关系类别的条件概率:
L dls =-log∑P(z«lx«,y«) 其中关于 z的条件分布 P(zlx,y)可以表示为:
不同于目标函数 L g , 在这种情况下目标函数!^关于参数 W的梯度可以 精确的计算出来:
δΜ
∑σ(Μ Λ ) 2 (M t , k )P(z t , lx,y
M tk =c k +¾ k x i y j +u to
ij
在得到梯度之后, 我们以迭代的方式参数对进行调整: dW
其中, f表示一个常数学习率。 步骤 1 05、向所述训练好的判别式高阶玻尔兹曼机模 输入待验证的成对 人脸数据, 比如 X和 y, 得到输出层节点值 z, 通过比较其中两个数值的相对 大小即可判断人脸验证的结果。 如果 > 则不匹配, 反之则匹配。
图 4 为本发明人脸验证系统的示意图, 如图所示, 本发明具体包括: 网 络建立模块 1、 网络权重优化模块 2和数据验证模块 3, 其中:
具体的, 网络建立模块 1 用于建立判别式高阶玻尔兹曼机, 并设置网络 隐含层的节点数; 判别式高阶玻尔兹曼机为多层网络结构, 包括两个输入数 据层, 一个隐含层和一个类别输出层。 输入层为训练成对的人脸数据, 输出 层表示训练成对人脸数据的验证结果; 判别式的判别式高阶玻尔兹曼机具有 网络权重, 用于根据当前层节点值获得下一层节点值。
网络权重优化模块 2 利用随机梯度下降算法来最小化该玻尔兹曼机 的目 标函数来获得优化后的玻尔兹曼机权重, 从而得到最终的判别式高阶玻尔兹 曼机模型。
数据验证模块 3 用于向判别式高阶玻尔兹曼机输入待验证的成 对人脸数 据, 得到类别层两个节点值, 比较两个数值的相对大小即可得出人脸验证结 果。
为了详细说明本发明的具体实施方式, 这里以两个图像数据集 (LFW 和 WDRef ) 为例说明。 LFW数据集包含 1 3233张来自于 5749个人的人脸图像。 其 中 1 680个人拥有 1 张图像, 而其余人的都有两张以上的图像。 WDRef 数据集 包括 99773张网络上的人脸图像, 其中 WDRef 与 LFW中的人脸数据没有重叠。 所有人脸图像都是直接从 I nternet上收集的, 在光照、 姿势等方面有非常大 的变化。
我们在两种设置下进行人脸验证实验:
1 ) 原始数据下的有监督学习, 即将 LFW的数据分成 1 0份, 取其中 9分 进行训练, 剩余 1份进行测试, 如此重复 1 0次。
2) 外在数据下的有监督学习。 利用 WDRef 数据进行训练, 在 LFW数据库 上进行测试。
具体步骤如下:
步骤 S1, 对于所有数据, 利用主成分分析将原始高維人脸 LBP特征降到 2000維度, 再利用线性判别分析进行处理。
步骤 S2, 使用一个四层的判别式高阶玻尔兹曼机模型, 其两个输入层、 隐含层和输出层分别包含 2000、 2000、 1000和 2个结点。
步骤 S3, 利用张量对角化的策略消去除对角线之外的网 络权重, 将权重 数量减少到 2 )。
步骤 S4, 利用梯度下降算法优化网络的目标函数^ l s, 其中梯度可以进 行精确计算而非近似。 优化是以迭代的方式进行, 这里设置最大迭代次数为 30可以保证收敛。
步骤 S6, 把测试的成对人脸数据输入到训练好的模型中 , 并在输出层输 出验证后的结果。 输出的结果是一个两維的向量, 比较两个值的相对大小即 可判断匹配或者不匹配。
我们对比了现今一些人脸验证精度最高的一些 方法。 通过 R0G 曲线的对 比可以发现在两种实验设置下, 我们的方法均取得了最好的实验结果。 此外, 我们测试了使用不同的输入数据維度和不同的 隐含结点数量时, 本发明的实 验效果变化情况。 如图 5所示, 横轴表示隐含结点的数量 (number of h i dden un i ts) , 纵轴表示人脸识别精度(accuracy), 图中每一条曲线代表一种数据 維度在不同隐含结点时的人脸验证精度变化情 况。 输入数据維度从 200 維变 化到 1000維, 隐含结点数量从 200个变化到 1200个。 从图中可以看出, 固 定隐含结点的数量, 随着使用输入数据的維度增大, 精度是上升的。 对于任 一输入数据的維度, 当隐含结点大于 400个时, 精度即保持稳定不再上升。
专业人员应该还可以进一步意识到, 结合本文中所公开的实施例描述的 各示例的单元及算法步骤, 能够以电子硬件、 计算机软件或者二者的结合来 实现, 为了清楚地说明硬件和软件的可互换性, 在上述说明中已经按照功能 一般性地描述了各示例的组成及步骤。 这些功能究竟以硬件还是软件方式来 执行, 取决于技术方案的特定应用和设计约束条件。 专业技术人员可以对每 个特定的应用来使用不同方法来实现所描述的 功能, 但是这种实现不应认为 超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法 的步骤可以用硬件、 处理 器执行的软件模块, 或者二者的结合来实施。 软件模块可以置于随机存储器
(RAM) 、 内存、 只读存储器 (ROM) 、 电可编程 R0M、 电可擦除可编程 R0M、 寄存器、 硬盘、 可移动磁盘、 GD-R0M、 或技术领域内所公知的任意其它形式 的存储介^中。
以上所述的具体实施方式, 对本发明的目的、 技术方案和有益效果进行 了进一步详细说明, 所应理解的是, 以上所述仅为本发明的具体实施方式而 已, 并不用于限定本发明的保护范围, 凡在本发明的精神和原则之内, 所做 的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。
Next Patent: DOPO DERIVATIVE, AND PREPARATION METHOD AND USE THEREOF