基于局部线性嵌入的人脸识别安全外包计算方法及系统

文档序号:36996411发布日期:2024-02-09 12:37阅读:17来源:国知局
基于局部线性嵌入的人脸识别安全外包计算方法及系统

本发明涉及人工智能的隐私保护,特别是涉及一种基于局部线性嵌入的人脸识别安全外包计算方法及系统。


背景技术:

1、本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。

2、人脸识别作为最常用的基于生物特征的身份认证技术之一,是一种重要的机器学习应用场景。人脸图像采集信息具有高维度、非线性等特点,而且容易产生某些冗余的、不准确信息,需要通过降维算法去除不准确的冗余信息。人脸图像的降维算法包括线性算法和非线性算法两大类,其中pca主成分分析算法(principal component analysis,pca)、线性判别分析算法(linear discriminant analysis,lda)等是线性降维算法,局部线性嵌入算法(locally linear embedding,lle)、多维尺度变换算法(multidimensional scaling,mds)等是非线性降维算法。为了加速人脸识别的计算过程,可以采用安全外包计算技术将人脸图像降维算法等计算任务委托给云计算平台等第三方服务提供商,以降低本地计算成本,提高计算效率。

3、云计算平台是将云计算、存储和服务资源按需提供给用户的计算模型。用户可以将复杂的计算任务外包至具有弹性计算资源的云服务平台,从而提高数据处理效率。但是,将数据发送和存储至云服务器的过程中存在安全风险,云服务方也可能做出窃取隐私数据、返回错误结果等不诚实行为。为了保护数据隐私,在实际应用中可采用具有隐私保护的安全外包计算方案,客户端先使用盲化因子对目标矩阵进行盲化处理,再将加密后的矩阵传输到云服务器执行相应计算,最后对云服务器返回的计算结果进行验证,确认计算结果无误后解密获得明文结果。

4、近年来,一些研究者提出了针对pca主成分分析算法、lda线性判别分析算法的安全外包计算方案,但是还没有研究者提出针对局部线性嵌入算法(lle)的安全外包计算方案。局部线性嵌入算法(lle)是一种非线性降维技术,用于将高维数据映射到低维空间,同时保持数据之间的局部线性关系,常用于完成图像特征提取、图像降维等任务,在人脸识别方面具有重要应用。局部线性嵌入算法中存在矩阵乘法、线性方程、特征值分解等密集计算,这类计算的时间复杂度为o(n3),如果用户在本地进行计算,会占用大量时间和资源,影响算法的整体效率。


技术实现思路

1、为了解决上述问题,本发明提出了一种基于局部线性嵌入的人脸识别安全外包计算方法及系统,将矩阵乘法、线性方程、特征值分解等计算外包至云服务器完成,降低客户端的计算复杂性,在云服务器不可信的情况下,保证数据安全性,实现安全、高效地人脸识别。

2、为了实现上述目的,本发明采用如下技术方案:

3、第一方面,本发明提供一种基于局部线性嵌入的人脸识别安全外包计算方法,应用于客户端,包括:

4、获取人脸图像训练集,根据人脸图像训练集生成第一阶段的待计算矩阵;

5、接收由可信第三方发送的在矩阵乘法运算、线性方程求解和特征值分解阶段对应的盲化因子;

6、根据盲化因子对当前阶段的待计算矩阵进行盲化处理,并将盲化后的待计算矩阵发送至云服务器;

7、接收云服务器发送的运算结果,并对运算结果进行验证,且在验证通过后进行解密,根据最后一个阶段解密后的运算结果进行人脸识别。

8、第二方面,本发明提供一种基于局部线性嵌入的人脸识别安全外包计算方法,应用于云服务器,包括:

9、接收客户端发送的当前阶段经盲化处理的待计算矩阵;其中,所述盲化处理为根据可信第三方发送的矩阵乘法运算、线性方程求解和特征值分解中对应阶段的盲化因子进行盲化处理;

10、对盲化处理的待计算矩阵进行当前阶段的运算,并将运算结果发送至客户端进行验证,以使客户端在验证通过后对运算结果进行解密,并根据最后一个阶段解密后的运算结果进行人脸识别。

11、第三方面,本发明提供一种基于局部线性嵌入的人脸识别安全外包计算方法,包括:

12、客户端获取人脸图像训练集,根据人脸图像训练集生成第一阶段的待计算矩阵;

13、可信第三方发送矩阵乘法运算、线性方程求解和特征值分解阶段对应的盲化因子;

14、客户端根据盲化因子对当前阶段的待计算矩阵进行盲化处理,并将盲化后的待计算矩阵发送至云服务器;

15、云服务器对盲化处理的待计算矩阵进行当前阶段的运算,并将运算结果发送至客户端;

16、客户端接收云服务器发送的运算结果,并对运算结果进行验证,且在验证通过后进行解密,根据最后一个阶段解密后的运算结果进行人脸识别。

17、作为可选择的实施方式,盲化因子的生成过程为:根据待计算矩阵的规模生成单位矩阵il×l,若l为偶数,则且从k=1开始迭代运行下述过程:在(0,1)范围内随机生成一个浮点数ak,计算再随机选择尚未被选过的第ik行和第jk列,ik,jk∈[1,l],将第ik对角线元素设为ak,第jk对角线元素设为ak,第ik行、第jk列的元素设为bk,第jk行、第ik列的元素设为-bk,直至主对角线被填满,将其余元素填充为0,由此生成盲化矩阵,与随机实数共同构成盲化因子。

18、作为可选择的实施方式,盲化因子的生成过程为:根据待计算矩阵的规模生成单位矩阵il×l,若l为奇数,则且从k=1开始迭代运行下述过程:在(0,1)范围内随机生成一个浮点数ak,计算再随机选择尚未被选过的第ik行和第jk列,ik,jk∈[1,l],将第ik对角线元素设为ak,第jk对角线元素设为ak,第ik行、第jk列的元素设为bk,第jk行、第ik列的元素设为-bk,直至将最后一个对角线元素填充为1,并将其余元素填充为0,由此生成盲化矩阵,与随机实数共同构成盲化因子。

19、作为可选择的实施方式,在矩阵乘法运算阶段,其盲化因子为(ε1,k11,k12,k13),客户端对待计算矩阵和进行盲化处理后得到z1′=k11(ε1z)k12,z2′=k12t(ε1zt)k13;客户端对矩阵乘法的运算结果进行验证;具体地,选择随机向量r,若rc′=rz1′z2′成立,验证通过,使用盲化因子(ε1,k11,k12,k13)进行解密,得到其中,k11,k12,k13为盲化矩阵,ε1为随机实数。

20、作为可选择的实施方式,在线性方程求解阶段,其盲化因子为(ε2,k21,k22),客户端对解密后的矩阵乘法运算结果c和b进行盲化处理,计算c″=k21ck22,b′=k21(cε2+1);客户端对线性方程求解的运算结果进行验证,验证c″w′=b′是否成立,若验证通过,使用盲化因子(ε2,k21,k22)进行解密,得到权重向量w=k22w′-ε2;根据权重向量w构造权重矩阵w,根据权重矩阵w构造稀疏矩阵m=(i-w)t(i-w);其中,k21,k22为盲化矩阵,ε2为随机实数。

21、作为可选择的实施方式,在特征值分解阶段,其盲化因子为(k3,ε3,s),s与ε3均为随机数;客户端对稀疏矩阵m进行盲化处理,计算m′=k3(ε3m+si)k3t;客户端特征值分解的运算结果进行验证,选择随机向量r,若等式m′r=q′λ′(q′tr)成立,则验证通过,使用盲化因子(k3,ε3,s)进行解密,得到特征值矩阵特征向量矩阵q=k3tq′;其中,q′为m′的特征向量组成的矩阵,λ′为m′的特征值组成的对角矩阵。

22、作为可选择的实施方式,客户端根据特征值分解阶段解密后的运算结果对待识别人脸图像进行人脸识别的过程具体包括:选取特征值矩阵λ中除最小特征值外,次小的d个特征值对应的特征向量,将d个特征向量组成矩阵y;提取待识别人脸图像的投影矩阵ytest;对于ytest中的行向量ytest,计算ds=||ytest-yi||2,yi为矩阵y的元素,如果ds小于正阈值,则认为待识别人脸图像与矩阵y表示的图像属于同一个物体,否则不是。

23、第四方面,本发明提供一种基于局部线性嵌入的人脸识别安全外包计算系统,包括:

24、客户端,用于获取人脸图像训练集,根据人脸图像训练集生成第一阶段的待计算矩阵;接收盲化因子,根据盲化因子对当前阶段的待计算矩阵进行盲化处理,并将盲化后的待计算矩阵发送至云服务器;接收云服务器发送的运算结果,并对运算结果进行验证,且在验证通过后进行解密,根据最后一个阶段解密后的运算结果进行人脸识别;

25、可信第三方,用于发送矩阵乘法运算、线性方程求解和特征值分解阶段对应的盲化因子;

26、云服务器,用于对盲化处理的待计算矩阵进行当前阶段的运算,并将运算结果发送至客户端。

27、与现有技术相比,本发明的有益效果为:

28、本发明针对基于局部线性嵌入的人脸识别算法,提出一种隐私保护的安全外包计算方法,将矩阵乘法、线性方程、特征值分解等计算外包至云服务器完成,降低客户端的计算复杂性,而且不影响人脸识别算法的准确率,在云服务器不可信的情况下,仍然能够保证输入输出数据的安全性,并验证云服务器返回结果的正确性,实现安全、高效地人脸识别。

29、本发明设计一种新型的盲化因子生成方法,用于盲化局部线性嵌入外包计算的矩阵等原始数据,使得云服务器在计算的同时不能获得原始数据,在降低用户计算复杂性的同时保证了数据安全和个人隐私,并且盲化因子具备可快速乘法、可快速求逆的特征,使得盲化和解密步骤更加高效。

30、本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1