1.一种基于对称同态加密的隐私保护人脸识别方法,其特征在于:包括以下步骤:步骤1,初始化阶段:服务器基于卷积神经网络模型创建人脸分类模型,基于人脸分类模型构建用于分类人脸特征的n叉树,n表示n叉树中某一节点的最大分支数;客户端生成密钥和安全参数;
所述步骤1中,服务器基于卷积神经网络模型创建人脸分类模型的步骤,包括:服务器获取大量的人脸图像数据集和对应的标签,标签中标示了人脸特征的类别;
服务器用Keras库创建用于人脸特征分类的卷积神经网络模型,将人脸图像数据集作为卷积神经网络模型的输入,将对应的标签作为输出,对卷积神经网络模型进行训练,最后得到训练好的人脸分类模型;所述人脸分类模型具有T个,T为人脸特征的类别数量;
所述步骤1中,基于人脸分类模型构建用于分类人脸特征的n叉树,n表示n叉树中某一节点的最大分支数的步骤,包括:服务器基于训练好的T个人脸分类模型构建n叉树,该n叉树用于分类用户的人脸特征,构建n叉树的过程为:(1)定义节点结构:每个节点的数据域用于存储人脸特征的节点值,若该节点具有子节点,则该节点的数据域还存储了用于指向子节点的指针;
(2)创建n叉树的根节点:定义根节点的数据域为第一个用于分类人脸特征的节点值;
(3)添加子节点:基于根节点,对其添加子节点,对已有节点添加子节点,每个节点有1到n个子节点;
(4)叶子节点编号:n叉树的层数为T+1,每个叶子节点对应一个子集合,子集合中存储了符合从根节点到该叶子节点路径上所有的人脸特征,依据路径对该叶子节点进行唯一编号,编号同时对应于子集合;
(5)将训练得到的T个人脸分类模型匹配到n叉树除叶子节点的每层节点中,每层节点对应一种人脸分类模型,构建出基于人脸特征分类的编码方法FFCM,有P=FFCM(X),其中X表示人脸特征,P表示叶子节点或子集合的编号;
所述步骤1中,客户端生成密钥和安全参数的步骤,包括:客户端选择安全参数t
步骤2,用户注册阶段:客户端对用户的人脸图像进行降维处理后,计算对应的特征向量和特征值,从而得到该用户的人脸特征;并对用户的人脸特征进行加密后上传至服务器存储在n叉树叶子节点对应的子集合中;
所述步骤2中,客户端对用户的人脸图像进行降维处理后,计算对应的特征向量和特征值,从而得到该用户的人脸特征的步骤,包括:客户端采集用户U的M张人脸图像
每幅人脸图像
其中,N表示人脸图像
计算矩阵K的均值向量
计算协方差矩阵Q:
协方差矩阵Q的大小为N×N,T为矩阵的转置;对协方差矩阵Q进行特征值分解,得到特征向量e计算矩阵Q`=φ
Q`η
φ
φφ
φφ
通过计算φη
所述步骤2中,并对用户的人脸特征进行加密后上传至服务器存储在n叉树叶子节点对应的子集合中的步骤,包括:客户端将人脸特征
客户端将人脸特征
其中,C
客户端将人脸特征密文和编码(C
步骤3,用户身份认证阶段:客户端提取待认证用户的人脸特征后加密上传至服务器,服务器将待认证用户的人脸特征密文与n叉树叶子节点对应的子集合中存储的人脸特征密文进行密态相似度计算,并将相似度计算结果返回给客户端进行判断,客户端判断出该待认证用户是否已注册;
所述步骤3中,客户端提取待认证用户的人脸特征后加密上传至服务器的步骤,包括:客户端采集待认证用户U`的M张人脸图像每幅人脸图像
其中,N表示人脸图像
计算矩阵K`的均值向量
计算协方差矩阵Q`:
协方差矩阵Q`的大小为N×N,T为矩阵的转置;对协方差矩阵Q`进行特征值分解,得到特征向量e`计算矩阵Q``=φ`
Q``η`
φ`
φ`φ`Tφ`η`
φ`φ`
通过计算φ`η`
客户端将人脸特征
客户端将人脸特征
其中,C
客户端将人脸特征密文和编码(C
2.根据权利要求1所述的一种基于对称同态加密的隐私保护人脸识别方法,其特征在于:所述步骤3中,服务器将待认证用户的人脸特征密文与n叉树叶子节点对应的子集合中存储的人脸特征密文进行密态相似度计算,并将相似度计算结果返回给客户端进行判断,客户端判断出该待认证用户是否已注册的步骤,包括:服务器根据编码P在对应的子集合中遍历所有存储的人脸特征密文CE(d
其中,E(d
服务器将相似度计算结果E(d
d
其中,modμ和mod L表示取模运算;d客户端将d
3.根据权利要求2所述的一种基于对称同态加密的隐私保护人脸识别方法,其特征在于:所述否则客户端向服务器返回认证不通过的消息的步骤,包括:客户端向服务器返回认证不通过的消息,服务器首先在该子集合同层的其他子集合中计算相似度,再发送给客户端认证,若依然认证不通过,则服务器在该子集合的父节点所在层去计算相似度,直到遍历所有节点依然认证不通过,则该用户认证失败。