人脸识别模型的生成装置、方法及计算机可读存储介质转让专利

申请号 : CN201810311642.1

文献号 : CN108764024B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王义文王健宗肖京

申请人 : 平安科技(深圳)有限公司

摘要 :

本发明公开了一种人脸识别模型的生成装置,包括存储器和处理器,存储器上存储有可在处理器上运行的模型生成程序,该程序被处理器执行时实现如下步骤:采集从多个视角拍摄的用户的多张脸部图像并获取相机参数;将多张脸部图像两两匹配,获取匹配的特征点对,对特征点对筛选,获取匹配正确的特征点对的二维坐标。计算特征点对的三维坐标并构建用户脸部的三维点云数据;将三维点云数据转换为深度图像;获取预设数量的用户的深度图像和颜色图像,作为双通道卷积神经网络模型的输入,训练模型以确定模型参数。本发明还提出一种人脸识别模型的生成方法以及一种计算机可读存储介质。本发明提高了人脸识别的准确度。

权利要求 :

1.一种人脸识别模型的生成装置,其特征在于,所述装置包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的模型生成程序,所述模型生成程序被所述处理器执行时实现如下步骤:A1、采集从多个视角拍摄的用户的多张脸部图像,并获取用于拍摄所述多张脸部图像的相机参数;

A2、根据ORB算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对,通过预设的特征点筛选算法对匹配到的特征点对进行筛选,以删除匹配错误的特征点对,并获取匹配正确的特征点对在脸部图像上的二维坐标;

A3、将拍摄所述匹配正确的特征点对对应的图像的相机分别作为左相机和右相机,将所述左相机所在的坐标系作为世界坐标系,将所述右相机所在的坐标系作为右相机坐标系,根据所述左相机和所述右相机的相机参数计算所述左相机与所述右相机之间的空间转换矩阵,根据所述空间转换矩阵及摄像机的投射模型确定所述世界坐标系与所述右相机坐标系的关系式,根据所述关系式及所述二维坐标计算所述匹配正确的特征点对在世界坐标系中对应的三维坐标,并根据计算得到的三维坐标构建用户脸部的三维点云数据;

A4、将所述三维点云数据转换为深度图像,将所述多张脸部图像中的任意一张作为所述用户脸部的颜色图像;

A5、重复执行步骤A1至步骤A4,以获取预设数量的用户的深度图像和颜色图像,将所述深度图像和颜色图像作为预设的双通道卷积神经网络模型的输入,训练所述双通道卷积神经网络模型以确定模型参数,将确定模型参数的双通道卷积神经网络模型作为人脸识别模型,其中,所述双通道卷积神经网络模型将全连接层输出的特征向量作为所述双通道卷积神经网络模型的输出。

2.如权利要求1所述的人脸识别模型的生成装置,其特征在于,所述步骤A2包括:

根据ORB算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对;

按照预设的特征点筛选算法判断所述特征点对是否匹配正确,以筛选出匹配正确的特征点对;

计算匹配正确的特征点对的数量,并判断计算得到的数量是否大于第一预设阈值;

若是,则停止筛选,并获取匹配正确的特征点对在脸部图像上的二维坐标;

若否,则继续根据所述ORB算法获取匹配的特征点对,并根据所述特征点筛选算法对匹配到的特征点对进行筛选,直至匹配正确的特征点对的数量大于所述第一预设阈值。

3.如权利要求2所述的人脸识别模型的生成装置,其特征在于,所述按照预设的特征点筛选算法判断所述特征点对是否匹配正确,以筛选出匹配正确的特征点对的步骤包括:将获取的脸部图像分割为K×K个网格区域,统计每个网格区域内的匹配到的特征点在其L×L的邻域内匹配的特征点对的数量;

若统计的数量小于第二预设阈值,则判定该特征点为匹配错误的特征点对,若统计的数量大于或者小于所述第二预设阈值,则判定该特征点为匹配正确的特征点对。

4.如权利要求1至3中任一项所述的人脸识别模型的生成装置,其特征在于,所述左相机与所述右相机之间的空间转换矩阵为:其中,r1=cosγcosβ+sin2γsinβ,r2=-sinγcosα,r3=sinβsinγ-sin2γcosβ,r4=sinγcosβ+sinαsinβcosγ,r5=cos2γ,r6=sinγsinβ-sinαcosγsinβ,r7=-sinβcosα,r8=sinα,r9=cosαcosβ,α、β、γ分别为所述右相机相对于所述左相机在x、y、z三个方向上的角度变化,tx、ty、tz分别为所述右相机相对于所述左相机在x、y、z三个方向上的平移量。

5.如权利要求1至3中任一项所述的人脸识别模型的生成装置,其特征在于,所述相机参数包括用于从多个视角拍摄照片的多台相机的相对位置关系,以及相机的有效焦距。

6.一种人脸识别模型的生成方法,其特征在于,所述方法包括:

B1、采集从多个视角拍摄的用户的多张脸部图像,并获取用于拍摄所述多张脸部图像的相机参数;

B2、根据ORB算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对,通过预设的特征点筛选算法对匹配到的特征点对进行筛选,以删除匹配错误的特征点对,并获取匹配正确的特征点对在脸部图像上的二维坐标;

B3、将拍摄所述匹配正确的特征点对对应的图像的相机分别作为左相机和右相机,将所述左相机所在的坐标系作为世界坐标系,将所述右相机所在的坐标系作为右相机坐标系,根据所述左相机和所述右相机的相机参数计算所述左相机与所述右相机之间的空间转换矩阵,根据所述空间转换矩阵及摄像机的投射模型确定所述世界坐标系与所述右相机坐标系的关系式,根据所述关系式及所述二维坐标计算所述匹配正确的特征点对在世界坐标系中对应的三维坐标,并根据计算得到的三维坐标构建用户脸部的三维点云数据;

B4、将所述三维点云数据转换为深度图像,将所述多张脸部图像中的任意一张作为所述用户脸部的颜色图像;

B5、重复执行步骤B1至步骤B4,以获取预设数量的用户的深度图像和颜色图像,将所述深度图像和颜色图像作为预设的双通道卷积神经网络模型的输入,训练所述双通道卷积神经网络模型以确定模型参数,将确定模型参数的双通道卷积神经网络模型作为人脸识别模型,其中,所述双通道卷积神经网络模型将全连接层输出的特征向量作为所述双通道卷积神经网络模型的输出。

7.如权利要求6所述的人脸识别模型的生成方法,其特征在于,所述步骤B2包括:

根据ORB算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对;

按照预设的特征点筛选算法判断所述特征点对是否匹配正确,以筛选出匹配正确的特征点对;

计算匹配正确的特征点对的数量,并判断计算得到的数量是否大于第一预设阈值;

若是,则停止筛选,并获取匹配正确的特征点对在脸部图像上的二维坐标;

若否,则继续根据所述ORB算法获取匹配的特征点对,并根据所述特征点筛选算法对匹配到的特征点对进行筛选,直至匹配正确的特征点对的数量大于所述第一预设阈值。

8.如权利要求7所述的人脸识别模型的生成方法,其特征在于,所述按照预设的特征点筛选算法判断所述特征点对是否匹配正确,以筛选出匹配正确的特征点对的步骤包括:将获取的脸部图像分割为K×K个网格区域,统计每个网格区域内的匹配到的特征点在其L×L的邻域内匹配的特征点对的数量;

若统计的数量小于第二预设阈值,则判定该特征点为匹配错误的特征点对,若统计的数量大于或者小于所述第二预设阈值,则判定该特征点为匹配正确的特征点对。

9.如权利要求6至8中任一项所述的人脸识别模型的生成方法,其特征在于,所述左相机与所述右相机之间的空间转换矩阵为:其中,r1=cosγcosβ+sin2γsinβ,r2=-sinγcosα,r3=sinβsinγ-sin2γcosβ,r4=2

sinγcosβ+sinαsinβcosγ,r5=cosγ,r6=sinγsinβ-sinαcosγsinβ,r7=-sinβcosα,r8=sinα,r9=cosαcosβ,α、β、γ分别为所述右相机相对于所述左相机在x、y、z三个方向上的角度变化,tx、ty、tz分别为所述右相机相对于所述左相机在x、y、z三个方向上的平移量。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有模型生成程序,所述模型生成程序可被一个或者多个处理器执行,以实现如权利要求6至9中任一项所述的人脸识别模型的生成方法的步骤。

说明书 :

人脸识别模型的生成装置、方法及计算机可读存储介质

技术领域

[0001] 本发明涉及人脸识别技术领域,尤其涉及一种人脸识别模型的生成装置、方法及计算机可读存储介质。

背景技术

[0002] 人脸识别是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行识别的一系列相关技术。现有技术中人脸识别技术均为二维人脸识别,二维人脸识别通常是利用摄像机或摄像头采集含有人脸的二维图像,并对该二维图像中检测和跟踪人脸,进而对该检测到的人脸进行识别。但是采集二维的人脸图像进行识别时,很容易受到姿态、表情、光照以及脸部化妆等非几何外观变化的影响,导致人脸识别的准确度低。

发明内容

[0003] 本发明提供一种人脸识别模型的生成装置、方法及计算机可读存储介质,其主要目的在于提高人脸识别的准确度。
[0004] 为实现上述目的,本发明提供一种人脸识别模型的生成装置,该装置包括存储器和处理器,所述存储器中存储有可在所述处理器上运行的模型生成程序,所述模型生成程序被所述处理器执行时实现如下步骤:
[0005] A1、采集从多个视角拍摄的用户的多张脸部图像,并获取用于拍摄所述多张脸部图像的相机参数;
[0006] A2、根据预设的特征匹配算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对,通过预设的特征点筛选算法对匹配到的特征点对进行筛选,以删除匹配错误的特征点对,并获取匹配正确的特征点对在脸部图像上的二维坐标;
[0007] A3、根据所述二维坐标和所述相机参数计算匹配正确的特征点对对应的三维坐标,并根据计算得到的三维坐标构建所述用户脸部的三维点云数据;
[0008] A4、将所述三维点云数据转换为深度图像,将所述多张脸部图像中的任意一张作为所述用户脸部的颜色图像;
[0009] A5、重复执行步骤A1至步骤A4,以获取预设数量的用户的深度图像和颜色图像,将所述深度图像和颜色图像作为预设的双通道卷积神经网络模型的输入,训练所述双通道卷积神经网络模型以确定模型参数,将确定模型参数的双通道卷积神经网络模型作为人脸识别模型,其中,所述双通道卷积神经网络模型将全连接层的结果作为输出。
[0010] 可选地,所述步骤A2包括:
[0011] 根据预设的特征匹配算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对;
[0012] 按照预设的特征点筛选算法判断所述特征点对是否匹配正确,以筛选出匹配正确的特征点对;
[0013] 计算匹配正确的特征点对的数量,并判断计算得到的数量是否大于第一预设阈值;
[0014] 若是,则停止筛选,并获取匹配正确的特征点对在脸部图像上的二维坐标;
[0015] 若否,则继续根据所述特征匹配算法获取匹配的特征点对,并根据所述特征点筛选算法对匹配到的特征点对进行筛选,直至匹配正确的特征点对的数量大于所述第一预设阈值。
[0016] 可选地,所述按照预设的特征点筛选算法判断所述特征点对是否匹配正确,以筛选出匹配正确的特征点对的步骤包括:
[0017] 将获取的脸部图像分割为K×K个网格区域,统计每个网格区域内的匹配到的特征点在其L×L的邻域内匹配的特征点对的数量;
[0018] 若统计的数量小于第二预设阈值,则判定该特征点为匹配错误的特征点对,若统计的数量大于或者小于所述第二预设阈值,则判定该特征点为匹配正确的特征点对。
[0019] 可选地,所述根据所述二维坐标和所述相机参数计算匹配正确的特征点对对应的三维坐标的步骤包括:
[0020] 根据所述相机参数计算相机的之间的空间转换矩阵;
[0021] 根据所述空间转换矩阵和所述二维坐标计算匹配正确的特征点对对应的三维坐标。
[0022] 可选地,所述相机参数包括用于从多个视角拍摄照片的多台相机的相对位置关系,以及相机的有效焦距。
[0023] 此外,为实现上述目的,本发明还提供一种人脸识别模型的生成方法,该方法包括:
[0024] B1、采集从多个视角拍摄的用户的多张脸部图像,并获取用于拍摄所述多张脸部图像的相机参数;
[0025] B2、根据预设的特征匹配算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对,通过预设的特征点筛选算法对匹配到的特征点对进行筛选,以删除匹配错误的特征点对,并获取匹配正确的特征点对在脸部图像上的二维坐标;
[0026] B3、根据所述二维坐标和所述相机参数计算匹配正确的特征点对对应的三维坐标,并根据计算得到的三维坐标构建所述用户脸部的三维点云数据;
[0027] B4、将所述三维点云数据转换为深度图像,将所述多张脸部图像中的任意一张作为所述用户脸部的颜色图像;
[0028] B5、重复执行步骤B1至步骤B4,以获取预设数量的用户的深度图像和颜色图像,将所述深度图像和颜色图像作为预设的双通道卷积神经网络模型的输入,训练所述双通道卷积神经网络模型以确定模型参数,将确定模型参数的双通道卷积神经网络模型作为人脸识别模型,其中,所述双通道卷积神经网络模型将全连接层的结果作为输出。
[0029] 可选地,所述步骤B2包括:
[0030] 根据预设的特征匹配算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对;
[0031] 按照预设的特征点筛选算法判断所述特征点对是否匹配正确,以筛选出匹配正确的特征点对;
[0032] 计算匹配正确的特征点对的数量,并判断计算得到的数量是否大于第一预设阈值;
[0033] 若是,则停止筛选,并获取匹配正确的特征点对在脸部图像上的二维坐标;
[0034] 若否,则继续根据所述特征匹配算法获取匹配的特征点对,并根据所述特征点筛选算法对匹配到的特征点对进行筛选,直至匹配正确的特征点对的数量大于所述第一预设阈值。
[0035] 可选地,所述按照预设的特征点筛选算法判断所述特征点对是否匹配正确,以筛选出匹配正确的特征点对的步骤包括:
[0036] 将获取的脸部图像分割为K×K个网格区域,统计每个网格区域内的匹配到的特征点在其L×L的邻域内匹配的特征点对的数量;
[0037] 若统计的数量小于第二预设阈值,则判定该特征点为匹配错误的特征点对,若统计的数量大于或者小于所述第二预设阈值,则判定该特征点为匹配正确的特征点对。
[0038] 可选地,所述根据所述二维坐标和所述相机参数计算匹配正确的特征点对对应的三维坐标的步骤包括:
[0039] 根据所述相机参数计算相机的之间的空间转换矩阵;
[0040] 根据所述空间转换矩阵和所述二维坐标计算匹配正确的特征点对对应的三维坐标。
[0041] 此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有模型生成程序,所述模型生成程序可被一个或者多个处理器执行,以实现如上所述的人脸识别模型的生成方法的步骤。
[0042] 本发明提出的人脸识别模型的生成装置、方法及计算机可读存储介质,采集从多个视角拍摄的用户的多张脸部图像,并获取用于拍摄多张脸部图像的相机参数,根据预设的特征匹配算法对获取到的脸部图像两两匹配,获取匹配的特征点对,通过预设的特征点筛选算法对匹配到的特征点对进行筛选,以删除匹配错误的特征点对,保留正确的特征点对,提高后续步骤中获取脸部的深度图像的准确度,然后,获取匹配正确的特征点对在脸部图像上的二维坐标,根据二维坐标和相机参数计算匹配正确的特征点对对应的三维坐标,根据计算得到的三维坐标构建用户的脸部的三维点云数据,将三维点云数据转换为深度图像,构建一个双通道卷积神经网络模型,两个通道分别用于输入深度图像和颜色图像,将按照上述过程采集的多个用户的深度图像和颜色图像输入到该双通道卷积神经网络模型中进行训练,获取模型参数,本发明中采用深度图像作为模型的输入特征,体现出面部特征的三维特性,相较于传统的二维人脸特征的识别,这种识别方式不容易受到姿态、表情、光照等非几何外观变化的影响,提高了人脸识别的准确度。

附图说明

[0043] 图1为本发明人脸识别模型的生成装置较佳实施例的示意图;
[0044] 图2为本发明人脸识别模型的生成方法较佳实施例的流程图。
[0045] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0046] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0047] 本发明提供一种人脸识别模型的生成装置。参照图1所示,为本发明人脸识别模型的生成装置较佳实施例的示意图。
[0048] 在本实施例中,人脸识别模型的生成装置1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。
[0049] 该人脸识别模型的生成装置1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
[0050] 其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是人脸识别模型的生成装置1的内部存储单元,例如该人脸识别模型的生成装置1的硬盘。存储器11在另一些实施例中也可以是人脸识别模型的生成装置1的外部存储设备,例如人脸识别模型的生成装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括人脸识别模型的生成装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于人脸识别模型的生成装置1的应用软件及各类数据,例如模型生成程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
[0051] 处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行模型生成程序01等。
[0052] 通信总线13用于实现这些组件之间的连接通信。
[0053] 网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
[0054] 图1仅示出了具有组件11-14以及模型生成程序01的人脸识别模型的生成装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
[0055] 可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在人脸识别模型的生成装置1中处理的信息以及用于显示可视化的用户界面。
[0056] 在图1所示的装置实施例中,存储器11中存储有模型生成程序01;处理器12执行存储器11中存储的模型生成程序01时实现如下步骤:
[0057] A1、采集从多个视角拍摄的用户的多张脸部图像,并获取用于拍摄所述多张脸部图像的相机参数。
[0058] A2、根据预设的特征匹配算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对,通过预设的特征点筛选算法对匹配到的特征点对进行筛选,以删除匹配错误的特征点对,并获取匹配正确的特征点对在脸部图像上的二维坐标。
[0059] 以下实施例中,为了便于对方案进行说明,设定有两台设置在不同视角的相机采集用户的脸部图像,得到两张不同角度的脸部图像。同时,这两台相机之间的相对位置关系,和相机的有效焦距均为已知。
[0060] 按照预设的特征匹配算法对两张脸部图像进行特征点匹配,其中,预设的特征匹配算法可以是ORB(Oriented FAST and Rotated BRIEF)算法,ORB算法是一种快速特征点提取和描述的算法,能够对上述两张脸部图像进行特征点的检测和匹配,找出两张图像中匹配的特征点对。或者,在其他的实施例中,也可以采用SIFT(Scale-invariant feature transform,尺度不变特征变换)算法进行特征对的计算。但是,现有这些特征匹配算法匹配到的特征点对的数量都较少,且其中可能存在一定量的匹配错误的特征点。因此,在完成特征匹配后,需要对获取到的特征点对进行筛选,以删除那些匹配错误的特征点对,提高人脸识别的准确度。具体地,步骤A2可以包括如下细化步骤:
[0061] 根据预设的特征匹配算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对;
[0062] 按照预设的特征点筛选算法判断所述特征点对是否匹配正确,以筛选出匹配正确的特征点对;
[0063] 计算匹配正确的特征点对的数量,并判断计算得到的数量是否大于第一预设阈值;
[0064] 若是,则停止筛选,并获取匹配正确的特征点对在脸部图像上的二维坐标;若否,则继续根据所述特征匹配算法获取匹配的特征点对,并根据所述特征点筛选算法对匹配到的特征点对进行筛选,直至匹配正确的特征点对的数量大于所述第一预设阈值。
[0065] 其中,预设的特征点筛选算法具体如下,将获取的脸部图像分割为K×K个网格区域,其中,K值的大小可以根据采集的脸部图像的像素来确定,例如,照片的尺寸为1600×1600,则K值可以设置为80,则每一个网格区域中有20×20个像素点,其中,一个特征点对应于一个像素点,统计每个网格区域内的匹配到的特征点在其L×L的邻域内匹配的特征点对的数量,优选地,在一实施例中,L=3,则一网格区域的邻域为其周围相邻的其他8个网格区域。基于运动平滑性原理,匹配的特征点的邻域内必然有较多匹配的特征点,也就是说,如果有一对特征点是匹配的,那么在这个特征点的邻域内,必然存在一定数量的其他相匹配的特征点对,反之,若某一特征点匹配错误,那么在这个特征点的邻域内,匹配到的特征点的数量必然会非常少,甚至不存在其他匹配的特征点对。基于这样的原理,对按照预设的特征匹配算法匹配到的特征点对进行统计,以判断匹配结果是否正确。若在一特征点的邻域内,统计的特征点对的数量小于第二预设阈值,则判定该特征点为匹配错误的特征点对,若在一特征点的邻域内,统计的特征点对的数量大于或者小于第二预设阈值,则判定该特征点为匹配正确的特征点对。其中,第二预设阈值可以根据实际情况设置一个合理的值。
[0066] 此外,为了得到足够多的正确匹配的特征点对,在每一次匹配和筛选之后,确定筛选后匹配正确的特征点对的数量,并判断是否大于第一预设阈值。若小于第一预设阈值,则再次按照上述预设的特征匹配算法进行特征匹配,并再次对匹配结果进行筛选。按照这个过程不断地迭代计算,直至匹配正确的特征点对的数量大于第一预设阈值。或者,在其他实施例中,可以预先设置迭代计算的次数,在实际计算过程中,对迭代计算的次数进行统计,当迭代的次数达到预设的次数,则停止迭代,完整特征点对的匹配和筛选。
[0067] A3、根据所述二维坐标和所述相机参数计算匹配正确的特征点对对应的三维坐标,并根据计算得到的三维坐标构建所述用户脸部的三维点云数据。
[0068] A4、将所述三维点云数据转换为深度图像,将所述多张脸部图像中的任意一张作为所述用户脸部的颜色图像。
[0069] 在获取到匹配正确的特征点对之后,获取特征点对分别在两张脸部图像上的坐标。根据相机参数计算相机的之间的空间转换矩阵;根据空间转换矩阵和二维坐标计算匹配正确的特征点对对应的三维坐标。
[0070] 具体地,在本实施例中,假设左相机位于世界坐标系O-xyz,并且没有发生旋转,左相机拍摄的图像的坐标系定义为Ol-XlYl,左相机的有效焦距为fl;定义右相机的坐标系为Or-xryrzr,则右相机拍摄的图像的坐标系定义为Or-XrYr,左相机的有效焦距为fr。则根据摄像机的投射模型可以得到如下关系式:
[0071] 关系式1:
[0072] 关系式2:
[0073] 其中,s1、sr为比例系数。
[0074] 根据相机参数计算相机的之间的空间转换矩阵M:
[0075]
[0076] 其中,r1=cosγcosβ+sin2γsinβ,r2=-sinγcosα,r3=sinβsinγ-sin2γcosβ,r4=sinγcosβ+sinαsinβcosγ,r5=cos2γ,r6=sinγsinβ-sinαcosγsinβ,r7=-sinβcosα,r8=sinα,r9=cosαcosβ。α、β、γ分别第二台相机相对于第一台相机在三个方向上的角度变换。tx、ty、tz分别为第二台相机相对于第一台相机在三个方向上的平移量。α、β、γ、tx、ty、tz体现了两台相机之间的空间关系。
[0077] 而O-xyz坐标系与Or-xryrzr坐标系之间的位置关系可通过空间转换矩阵M表示为:
[0078] 关系式3:
[0079] 将关系式2代入到关系式3可以得到如下关系式4,即对于O-xyz坐标系中的空间点,两个摄像机面点之间的对应关系可以表示为关系式4。
[0080] 关系式4:
[0081] 在上述步骤A2中计算得到的匹配正确的特征点在两张图像上的坐标分别为(X1,Y1)、(Xr,Yr),相机焦距fl和fr为已知数,通过相机之间的位置关系可以计算出空间转换矩阵M,因此,通过上述关系式1可计算出x和y的值,根据上述关系式4可以计算出z的值。即得到与(X1,Y1)、(Xr,Yr)对应的三维空间点的坐标(x,y,z)。
[0082] 按照上述方法计算出每一个匹配的特征点对应的三维坐标,这些三维坐标对应的空间点构成形成脸部的三维点云。按照三维点云与深度图像之间的转换关系,将得到的三维点云转换为深度图像,将对应的多张两部图像中的任意一张作为该用户的颜色图像。
[0083] A5、重复执行步骤A1至步骤A4,以获取预设数量的用户的深度图像和颜色图像,将所述深度图像和颜色图像作为预设的双通道卷积神经网络模型的输入,训练所述双通道卷积神经网络模型以确定模型参数,将确定模型参数的双通道卷积神经网络模型作为人脸识别模型,其中,所述双通道卷积神经网络模型将全连接层的结果作为输出。
[0084] 构建一个双通道卷积神经网络模型,该模型不需要对输出进行分类,将全连接层的结果作为输出,输出结果为一个特征向量。该模型的一个通道的输入为颜色图像,另一个通道的输入为深度图像。按照上述过程获取多个用户的深度图像和颜色图像作为样本数据,将所有的样本数据按照预设比例分为训练样本和测试样本,对上述模型进行训练和验证,得到模型参数。将确定了模型参数的双通道卷积神经网络模型作为人脸识别模型。
[0085] 该人脸识别模型在应用时对人脸识别的过程如下:
[0086] 人脸注册过程:获取待注册用户的多视人脸图像,根据多视人脸图像获取待注册用户的脸部的深度图像和颜色图像,将深度图像和颜色图像输入到训练好的人脸识别模型中,得到该用户的人脸图像对应的特征向量。
[0087] 人脸识别过程:获取待识别用户的多视人脸图像,根据多视人脸图像获取待注册用户的脸部的深度图像和颜色图像,将获取的深度图像和颜色图像输入到训练好的人脸识别模型中,得到待识别用户的人脸图像对应的特征向量;计算待识别用户的特征向量与注册用户的特征向量之间的欧氏距离,若计算得到的欧式距离小于预设阈值,则判定待识别用户与已注册的用户为同一个人,否则,则判定待识别用户与已注册的用户不是同一个人。
[0088] 可以理解的是,在其他实施例中,也可以设置三台或者三台以上的相机采集更多视角的用户的脸部图像。在进行特征匹配时,进行两两匹配,得到多组三维点云数据,将多组三维点云数据融合为一组完整的点云数据。
[0089] 本实施例提出的人脸识别模型的生成装置,采集从多个视角拍摄的用户的多张脸部图像,并获取用于拍摄多张脸部图像的相机参数,根据预设的特征匹配算法对获取到的脸部图像两两匹配,获取匹配的特征点对,通过预设的特征点筛选算法对匹配到的特征点对进行筛选,以删除匹配错误的特征点对,保留正确的特征点对,提高后续步骤中获取脸部的深度图像的准确度,然后,获取匹配正确的特征点对在脸部图像上的二维坐标,根据二维坐标和相机参数计算匹配正确的特征点对对应的三维坐标,根据计算得到的三维坐标构建用户的脸部的三维点云数据,将三维点云数据转换为深度图像,构建一个双通道卷积神经网络模型,两个通道分别用于输入深度图像和颜色图像,将按照上述过程采集的多个用户的深度图像和颜色图像输入到该双通道卷积神经网络模型中进行训练,获取模型参数,本发明中采用深度图像作为模型的输入特征,体现出面部特征的三维特性,相较于传统的二维人脸特征的识别,这种识别方式不容易受到姿态、表情、光照等非几何外观变化的影响,提高了人脸识别的准确度。
[0090] 此外,本发明还提供一种人脸识别模型的生成方法。参照图2所示,为本发明人脸识别模型的生成方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
[0091] 在本实施例中,人脸识别模型的生成方法包括:
[0092] 步骤S10,采集从多个视角拍摄的用户的多张脸部图像,并获取用于拍摄所述多张脸部图像的相机参数。
[0093] 步骤S20,根据预设的特征匹配算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对,通过预设的特征点筛选算法对匹配到的特征点对进行筛选,以删除匹配错误的特征点对,并获取匹配正确的特征点对在脸部图像上的二维坐标。
[0094] 以下实施例中,为了便于对方案进行说明,设定有两台设置在不同视角的相机采集用户的脸部图像,得到两张不同角度的脸部图像。同时,这两台相机之间的相对位置关系,和相机的有效焦距均为已知。
[0095] 按照预设的特征匹配算法对两张脸部图像进行特征点匹配,其中,预设的特征匹配算法可以是ORB(Oriented FAST and Rotated BRIEF)算法,ORB算法是一种快速特征点提取和描述的算法,能够对上述两张脸部图像进行特征点的检测和匹配,找出两张图像中匹配的特征点对。或者,在其他的实施例中,也可以采用SIFT(Scale-invariant feature transform,尺度不变特征变换)算法进行特征对的计算。但是,现有这些特征匹配算法匹配到的特征点对的数量都较少,且其中可能存在一定量的匹配错误的特征点。因此,在完成特征匹配后,需要对获取到的特征点对进行筛选,以删除那些匹配错误的特征点对,提高人脸识别的准确度。具体地,步骤S20可以包括如下细化步骤:
[0096] 根据预设的特征匹配算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对;
[0097] 按照预设的特征点筛选算法判断所述特征点对是否匹配正确,以筛选出匹配正确的特征点对;
[0098] 计算匹配正确的特征点对的数量,并判断计算得到的数量是否大于第一预设阈值;
[0099] 若是,则停止筛选,并获取匹配正确的特征点对在脸部图像上的二维坐标;若否,则继续根据所述特征匹配算法获取匹配的特征点对,并根据所述特征点筛选算法对匹配到的特征点对进行筛选,直至匹配正确的特征点对的数量大于所述第一预设阈值。
[0100] 其中,预设的特征点筛选算法具体如下,将获取的脸部图像分割为K×K个网格区域,其中,K值的大小可以根据采集的脸部图像的像素来确定,例如,照片的尺寸为1600×1600,则K值可以设置为80,则每一个网格区域中有20×20个像素点,其中,一个特征点对应于一个像素点,统计每个网格区域内的匹配到的特征点在其L×L的邻域内匹配的特征点对的数量,优选地,在一实施例中,L=3,则一网格区域的邻域为其周围相邻的其他8个网格区域。基于运动平滑性原理,匹配的特征点的邻域内必然有较多匹配的特征点,也就是说,如果有一对特征点是匹配的,那么在这个特征点的邻域内,必然存在一定数量的其他相匹配的特征点对,反之,若某一特征点匹配错误,那么在这个特征点的邻域内,匹配到的特征点的数量必然会非常少,甚至不存在其他匹配的特征点对。基于这样的原理,对按照预设的特征匹配算法匹配到的特征点对进行统计,以判断匹配结果是否正确。若在一特征点的邻域内,统计的特征点对的数量小于第二预设阈值,则判定该特征点为匹配错误的特征点对,若在一特征点的邻域内,统计的特征点对的数量大于或者小于第二预设阈值,则判定该特征点为匹配正确的特征点对。其中,第二预设阈值可以根据实际情况设置一个合理的值。
[0101] 此外,为了得到足够多的正确匹配的特征点对,在每一次匹配和筛选之后,确定筛选后匹配正确的特征点对的数量,并判断是否大于第一预设阈值。若小于第一预设阈值,则再次按照上述预设的特征匹配算法进行特征匹配,并再次对匹配结果进行筛选。按照这个过程不断地迭代计算,直至匹配正确的特征点对的数量大于第一预设阈值。或者,在其他实施例中,可以预先设置迭代计算的次数,在实际计算过程中,对迭代计算的次数进行统计,当迭代的次数达到预设的次数,则停止迭代,完整特征点对的匹配和筛选。
[0102] 步骤S30,根据所述二维坐标和所述相机参数计算匹配正确的特征点对对应的三维坐标,并根据计算得到的三维坐标构建所述用户脸部的三维点云数据。
[0103] 步骤S40,将所述三维点云数据转换为深度图像,将所述多张脸部图像中的任意一张作为所述用户脸部的颜色图像。
[0104] 在获取到匹配正确的特征点对之后,获取特征点对分别在两张脸部图像上的坐标。根据相机参数计算相机的之间的空间转换矩阵;根据空间转换矩阵和二维坐标计算匹配正确的特征点对对应的三维坐标。
[0105] 具体地,在本实施例中,假设左相机位于世界坐标系O-xyz,并且没有发生旋转,左相机拍摄的图像的坐标系定义为Ol-XlYl,左相机的有效焦距为fl;定义右相机的坐标系为Or-xryrzr,则右相机拍摄的图像的坐标系定义为Or-XrYr,左相机的有效焦距为fr。则根据摄像机的投射模型可以得到如下关系式:
[0106] 关系式1:
[0107] 关系式2:
[0108] 其中,s1、sr为比例系数。
[0109] 根据相机参数计算相机的之间的空间转换矩阵M:
[0110]
[0111] 其中,r1=cosγcosβ+sin2γsinβ,r2=-sinγcosα,r3=sinβsinγ-sin2γcosβ,r4=sinγcosβ+sinαsinβcosγ,r5=cos2γ,r6=sinγsinβ-sinαcosγsinβ,r7=-sinβcosα,r8=sinα,r9=cosαcosβ。α、β、γ分别第二台相机相对于第一台相机在三个方向上的角度变换。tx、ty、tz分别为第二台相机相对于第一台相机在三个方向上的平移量。α、β、γ、tx、ty、tz体现了两台相机之间的空间关系。
[0112] 而O-xyz坐标系与Or-xryrzr坐标系之间的位置关系可通过空间转换矩阵M表示为:
[0113] 关系式3:
[0114] 将关系式2代入到关系式3可以得到如下关系式4,对于O-xyz坐标系中的空间点,两个摄像机面点之间的对应关系可以表示为关系式4。
[0115] 关系式4:
[0116] 在上述步骤S20中计算得到的匹配正确的特征点在两张图像上的坐标分别为(X1,Y1)、(Xr,Yr),相机焦距fl和fr为已知数,通过相机之间的位置关系可以计算出空间转换矩阵M,因此,通过上述关系式1可计算出x和y的值,根据上述关系式4可以计算出z的值。即得到与(X1,Y1)、(Xr,Yr)对应的三维空间点的坐标(x,y,z)。
[0117] 按照上述方法计算出每一个匹配的特征点对应的三维坐标,这些三维坐标对应的空间点构成形成脸部的三维点云。按照三维点云与深度图像之间的转换关系,将得到的三维点云转换为深度图像,将对应的多张两部图像中的任意一张作为该用户的颜色图像。
[0118] 步骤S50,重复执行步骤S10至步骤S40,以获取预设数量的用户的深度图像和颜色图像,将所述深度图像和颜色图像作为预设的双通道卷积神经网络模型的输入,训练所述双通道卷积神经网络模型以确定模型参数,将确定模型参数的双通道卷积神经网络模型作为人脸识别模型,其中,所述双通道卷积神经网络模型将全连接层的结果作为输出。
[0119] 构建一个双通道卷积神经网络模型,该模型不需要对输出进行分类,将全连接层的结果作为输出,输出结果为一个特征向量。该模型的一个通道的输入为颜色图像,另一个通道的输入为深度图像。按照上述过程获取多个用户的深度图像和颜色图像作为样本数据,将所有的样本数据按照预设比例分为训练样本和测试样本,对上述模型进行训练和验证,得到模型参数。将确定了模型参数的双通道卷积神经网络模型作为人脸识别模型。
[0120] 该人脸识别模型在应用时对人脸识别的过程如下:
[0121] 人脸注册过程:获取待注册用户的多视人脸图像,根据多视人脸图像获取待注册用户的脸部的深度图像和颜色图像,将深度图像和颜色图像输入到训练好的人脸识别模型中,得到该用户的人脸图像对应的特征向量。
[0122] 人脸识别过程:获取待识别用户的多视人脸图像,根据多视人脸图像获取待注册用户的脸部的深度图像和颜色图像,将获取的深度图像和颜色图像输入到训练好的人脸识别模型中,得到待识别用户的人脸图像对应的特征向量;计算待识别用户的特征向量与注册用户的特征向量之间的欧氏距离,若计算得到的欧式距离小于预设阈值,则判定待识别用户与已注册的用户为同一个人,否则,则判定待识别用户与已注册的用户不是同一个人。
[0123] 可以理解的是,在其他实施例中,也可以设置三台或者三台以上的相机采集更多视角的用户的脸部图像。在进行特征匹配时,进行两两匹配,得到多组三维点云数据,将多组三维点云数据融合为一组完整的点云数据。
[0124] 本实施例提出的人脸识别模型的生成方法,采集从多个视角拍摄的用户的多张脸部图像,并获取用于拍摄多张脸部图像的相机参数,根据预设的特征匹配算法对获取到的脸部图像两两匹配,获取匹配的特征点对,通过预设的特征点筛选算法对匹配到的特征点对进行筛选,以删除匹配错误的特征点对,保留正确的特征点对,提高后续步骤中获取脸部的深度图像的准确度,然后,获取匹配正确的特征点对在脸部图像上的二维坐标,根据二维坐标和相机参数计算匹配正确的特征点对对应的三维坐标,根据计算得到的三维坐标构建用户的脸部的三维点云数据,将三维点云数据转换为深度图像,构建一个双通道卷积神经网络模型,两个通道分别用于输入深度图像和颜色图像,将按照上述过程采集的多个用户的深度图像和颜色图像输入到该双通道卷积神经网络模型中进行训练,获取模型参数,本发明中采用深度图像作为模型的输入特征,体现出面部特征的三维特性,相较于传统的二维人脸特征的识别,这种识别方式不容易受到姿态、表情、光照等非几何外观变化的影响,提高了人脸识别的准确度。
[0125] 此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有模型生成程序01,所述模型生成程序01可被一个或多个处理器执行,以实现如下操作:
[0126] 本发明计算机可读存储介质具体实施方式与上述人脸识别模型的生成装置和方法各实施例基本相同,在此不作累述。
[0127] B1、采集从多个视角拍摄的用户的多张脸部图像,并获取用于拍摄所述多张脸部图像的相机参数;
[0128] B2、根据预设的特征匹配算法对获取到的多张脸部图像两两匹配,获取匹配的特征点对,通过预设的特征点筛选算法对匹配到的特征点对进行筛选,以删除匹配错误的特征点对,并获取匹配正确的特征点对在脸部图像上的二维坐标;
[0129] B3、根据所述二维坐标和所述相机参数计算匹配正确的特征点对对应的三维坐标,并根据计算得到的三维坐标构建所述用户脸部的三维点云数据;
[0130] B4、将所述三维点云数据转换为深度图像,将所述多张脸部图像中的任意一张作为所述用户脸部的颜色图像;
[0131] B5、重复执行步骤B1至步骤B4,以获取预设数量的用户的深度图像和颜色图像,将所述深度图像和颜色图像作为预设的双通道卷积神经网络模型的输入,训练所述双通道卷积神经网络模型以确定模型参数,将确定模型参数的双通道卷积神经网络模型作为人脸识别模型,其中,所述双通道卷积神经网络模型将全连接层的结果作为输出。
[0132] 需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
[0133] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0134] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。