引言
生物识别技术,顾名思义,利用用户独特的生理或行为特征进行身份识别和验证,比如指纹识别,人脸识别等,都属于生物识别技术。
然而,当前的生物识别系统存在很多缺陷。
- 生物识别特征不像传统的密码或令牌那样可以轻易更改。一旦生物识别特征被泄露/被盗,用户无法像修改密码一样修改自己的生物特征,只能使其永久泄露
- 生物识别特征有数据隐私问题、易受欺骗攻击以及在多变条件下难以准确识别等问题。
本文的主要立意是从第二点入手,探讨如何防止人脸识别等基于图像的识别系统的数据隐私问题。 主要研究目标是探索和验证图像扭曲技术的可行性,在保留特征向量的前提下保证用户图像数据的隐私。本文方法与传统方法不同,它避免了对原始生物识别数据的失真,而是采用先进的AI算法进行数据分析和模板生成。
本文算法核心是利用三元组网络的概念来开发一个复杂的生物识别数据比较度量,确保数据的安全性,同时保持其原始特性。实验上使用MNIST和LFW数据集进行一系列实验。
论文标题、机构、论文链接和项目地址(如有)
- 论文标题:Unrecognizable Yet Identifiable: Image Distortion with Preserved Embeddings
- 机构:Department of Applied Mathematics, V.N. Karazin Kharkiv National University, Ukraine; Department of Political Sciences, Communication and International Relations, University of Macerata, Italy
- 论文链接:arxiv.org/pdf/2401.15...
方法概述:图像扭曲技术与保留特征向量
1. 图像扭曲技术的基本原理
什么是图像扭曲技术?
图像扭曲技术指将原始图像转换为人眼无法识别 的形式,同时保持AI模型可识别的方法。
图像扭曲技术的核心?
这种技术的核心在于,即使图像经过了扭曲处理,其在模型中仍能构建一个近似于单射的特征表示,即我们必须要保证扭曲前的图像和扭曲后的图像,其在模型中的特征表示近似/相同。
图像扭曲技术的用途?
举个例子,假设我们构建一个简单的授权系统,功能包括用户注册和登录流程。
- 在用户注册时,系统通过生成函数 <math xmlns="http://www.w3.org/1998/Math/MathML"> G G </math>G处理用户的生物特征数据,并将其转换为一个模板数据 <math xmlns="http://www.w3.org/1998/Math/MathML"> T T </math>T存储在数据库中。
- 用户登录时,系统将输入图像 <math xmlns="http://www.w3.org/1998/Math/MathML"> X X </math>X与数据库中的模板 <math xmlns="http://www.w3.org/1998/Math/MathML"> T T </math>T进行比较,以验证用户身份。
- 图像扭曲技术的关键在于,可以直接使用安全比较度量 <math xmlns="http://www.w3.org/1998/Math/MathML"> d ∗ d^* </math>d∗来比较 <math xmlns="http://www.w3.org/1998/Math/MathML"> X X </math>X和 <math xmlns="http://www.w3.org/1998/Math/MathML"> T T </math>T ,而无需使用真实的用户图像 <math xmlns="http://www.w3.org/1998/Math/MathML"> X X </math>X,增加了安全性。如下图所示
图a和图b分别为传统方案,用户数据需要进行编码处理,而本文方案可以进行直接对比。
2. 为什么要保持特征向量相似性
在图像扭曲技术中,保持原始图像和扭曲后图像之间的特征向量相似性至关重要。这是因为特征向量是AI模型用于识别和验证图像的关键信息。如果特征向量在扭曲过程中发生了显著变化,那么AI模型可能无法正确识别或验证图像。
因此,研究者们开发了一系列损失函数,如L1距离、L2距离、结构相似性指数(SSIM)和Sobel距离,以确保在最大化图像差异的同时,最小化特征向量之间的差异。通过这种方式,即使图像在视觉上看起来完全不同,AI模型仍然能够识别出图像中的关键特征。
3. 三元组网络(triple network)
三元组网络目的是让同一类别的图像具有相似特征向量,而不同类别的图像的特征向量有较大差异。
一个三元组包括一个锚点图像(A)、一个正图像(P)和一个负图像(N)。锚点图像和正图像属于同一类别,而负图像属于不同类别。三元组网络的目标是使得锚点图像的嵌入与正图像的嵌入之间的距离小于与负图像嵌入之间的距离加上一个正边界值μ。即:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> d F ( A , P ) < d F ( A , N ) − µ d_F(A,P) < d_F(A,N) − µ </math>dF(A,P)<dF(A,N)−µ
通过这种方式,嵌入模型学习区分不同类别的图像,并生成区分度高的特征向量。事实上,三元组网络可以看成是三元组损失的一个具体实现,采用对比学习的思想,通过同时抽样多个正样本和负样本,在最小化类内间距的同时,最大化类间间距,从而保证识别效果。
如上图所示,在实际应用中,三元组网络使用三个具有共享参数的嵌入模型副本来处理输入的三元组图像,并计算损失以更新嵌入模型的权重。通过这种训练方式,嵌入模型能够有效地为图像生成具有区分度的低维特征表示,从而在保持图像特征向量相似性的同时,实现图像的扭曲和安全保护。
算法流程详解
本文同时提出了算法给对应的系统总体的pipeline,具体介绍如下:
1. 算法总体流程
对于用户输入的一个图片 <math xmlns="http://www.w3.org/1998/Math/MathML"> x x </math>x,首先通过一个模型 <math xmlns="http://www.w3.org/1998/Math/MathML"> G G </math>G,将其转化为一个人眼无法识别的隐私图片 <math xmlns="http://www.w3.org/1998/Math/MathML"> x ′ x' </math>x′,而后使用一个识别模型 <math xmlns="http://www.w3.org/1998/Math/MathML"> F F </math>F,计算出隐私图片 <math xmlns="http://www.w3.org/1998/Math/MathML"> x ′ x' </math>x′的嵌入向量,在和数据库中已有的嵌入向量进行比较,从而在保护用户输入图片的隐私的前提下,完成人脸识别流程。
2. 用户注册流程
如上图所示,用户在系统中注册面部识别功能 时,系统需要用户提供人脸照片,该照片通过生成函数G 进行处理。将图像转换为人眼无法识别的格式,处理后的数据都将被保存在数据库中,本文称之为"模板"数据T。
3. 用户登录流程
如图2所示,用户提供一张图像X,系统需要验证用户是否存在于数据库中。本文首先生成图像 <math xmlns="http://www.w3.org/1998/Math/MathML"> G ( X ) G(X) </math>G(X)并计算距离生成图像和模板图像间的距离 <math xmlns="http://www.w3.org/1998/Math/MathML"> d d </math>d。如果d(G(X), T)足够小,本文认为X和T属于同一人。
4. 转化模型G
登录流程和注册流程说完,接下来该说一下模型 <math xmlns="http://www.w3.org/1998/Math/MathML"> G G </math>G和模型 <math xmlns="http://www.w3.org/1998/Math/MathML"> F F </math>F的具体架构,首先是模型 <math xmlns="http://www.w3.org/1998/Math/MathML"> G G </math>G。
如之前所述,本文希望模型 <math xmlns="http://www.w3.org/1998/Math/MathML"> G G </math>G可以在让生成图片和原始图片人眼不可识别的同时,让生成图片在判别模型 <math xmlns="http://www.w3.org/1998/Math/MathML"> F F </math>F上计算出的嵌入向量和原始图片在判别模型 <math xmlns="http://www.w3.org/1998/Math/MathML"> F F </math>F上计算出的嵌入向量相近。即:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> max G E X ∼ p data [ d img ( G ( X ) , X ) ] while min G E X ∼ p data [ d emb ( F ∘ G ( X ) , F ( X ) ) ] \begin{gathered} \max {\mathcal{G}} \mathbb{E}{X \sim p_{\text {data }}}\left[d_{\text {img }}(\mathcal{G}(X), X)\right] \\ \text { while } \min {\mathcal{G}} \mathbb{E}{X \sim p_{\text {data }}}\left[d_{\text {emb }}(\mathcal{F} \circ \mathcal{G}(X), \mathcal{F}(X))\right] \end{gathered} </math>GmaxEX∼pdata [dimg (G(X),X)] while GminEX∼pdata [demb (F∘G(X),F(X))]
而想要同时优化一个最大化问题和最小化问题的话,当然是使用GAN网络了
5.判别模型F
判别模型 <math xmlns="http://www.w3.org/1998/Math/MathML"> F F </math>F则是使用之前提过的三元组网络。
三元组网络使用具有共享参数的嵌入模型。而其损失函数为:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> ℓ triplet ( T ; F ) ≜ ReLU ( d F ( A , P ) − d F ( A , N ) + μ ) \ell_{\text {triplet }}(\boldsymbol{T} ; \mathcal{F}) \triangleq \operatorname{ReLU}\left(d_{\mathcal{F}}(A, P)-d_{\mathcal{F}}(A, N)+\mu\right) </math>ℓtriplet (T;F)≜ReLU(dF(A,P)−dF(A,N)+μ)
实验结果分析
在本研究中,我们采用了MNIST和LFW数据集来验证我们提出的图像失真技术。MNIST数据集包含手写数字的灰度图像,而LFW(Labeled Faces in the Wild)数据集则包含多样化的人脸图像,用于评估面部识别系统。
对于LFW数据集,本文使用预训练的FaceNet架构,如图5所示。对于生成模型,本文决定采用U-Net架构
1. 图像距离比较
本文比较了同一数字的图像之间的L2距离,注意:这里指的是真实图像和生成的隐私图像之间的距离,从而描述隐私保护程度。真实图像与生成图像之间的距离越大越好。
如下表所示,MNIST数据集中各类距离最小值为0.773,尤其是数字1的最大距离为0.886。这表明神经网络产生了在均方误差(MSE)方面截然不同的图像。同时,对于MNIST数据集,"生成对生成"对的均方差保持不变,表明生成仍然保持数字彼此接近。而对于LFW数据集,情况相反:生成的面孔之间的距离显著。
2. 图像编码比较
本文应用PCA将 <math xmlns="http://www.w3.org/1998/Math/MathML"> R m R_m </math>Rm向量转换为 <math xmlns="http://www.w3.org/1998/Math/MathML"> R 3 R_3 </math>R3向量,并在3D图上进行可视化。结果显示,同一类别的嵌入在生成器变换下几乎没有改变,仍然彼此接近。
3. 模拟识别系统的性能
如图9所示,本文构建了一个模拟识别系统,并进行了实验。使用了三个类别的失真图像(对于MNIST数据集,具体为1,2,3)进行了验证。本文将其视为一个二分类问题:成功的登录尝试或无效的授权。本文构建了混淆矩阵,并计算了TP(真正例)、TN(真负例)、FP(假正例)和FN(假负例)的数量。然后,计算了以下指标:
- 准确率
- 精确度
- 召回率
- F1分数
本文选择了提供最佳F1分数的阈值,并构建了相应的混淆矩阵。如下所示:
结果表明,在图像失真下,准确性指标并没有显著差异。
结论与未来工作方向
本文提出了一种新颖的生物特征安全方法,该方法在确保原始生物特征数据的完整性的同时,保证了强大的安全性和隐私性。通过利用MNIST和LFW数据集以及先进的深度学习算法进行的实验结果,证明了这一创新系统的可行性和有效性。