CN114937304A - 基于同态加密的人脸表情识别方法 - Google Patents
基于同态加密的人脸表情识别方法 Download PDFInfo
- Publication number
- CN114937304A CN114937304A CN202210677979.0A CN202210677979A CN114937304A CN 114937304 A CN114937304 A CN 114937304A CN 202210677979 A CN202210677979 A CN 202210677979A CN 114937304 A CN114937304 A CN 114937304A
- Authority
- CN
- China
- Prior art keywords
- layer
- ciphertext
- output
- matrix
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/174—Facial expression recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
- G06V40/171—Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/172—Classification, e.g. identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Probability & Statistics with Applications (AREA)
- Collating Specific Patterns (AREA)
- Image Analysis (AREA)
Abstract
人脸面部表情识别在人类行为分析、智能人机交互等领域有广泛的应用。近年来,随着深度网络、卷积神经网络的发展,基于深度卷积神经网络的面部表情识别取得了巨大的成功。然而现有的基于云计算的神经网络会直接获得用户的人脸信息,这给用户的隐私数据带来了潜在的风险。本发明提出一种基于同态加密的隐私保护人脸识别算法。该方法采用基于层次的同态加密方案,结合传统特征提取方法和卷积神经网络。使用同态加密技术可以实现对加密后的数据做计算且不影响其结果,将加密后的人脸数据送入服务端进行表情识别;在同态加密之前对人脸表情图像进行关键点特征提取和筛选,解决了同态加密算法计算开销巨大而导致计算时间长的问题。本发明不仅保持了人脸表情加密之后分类的准确性,同时大大降低了同态加密识别的计算开销,实现了对用户人脸数据的隐私保护,有效提升了同态加密的人脸表情识别的实际应用体验。
Description
技术领域
本发明基于同态加密和卷积神经网络技术,研究了一种基于同态加密的人脸表情识别方法。为了降低计算开销,本发明将面部关键点提取与卷积网络相结合,不仅可以使算法更适用于人脸表情识别,还减少了加密网络的计算量。首先,在客户端对人脸表情图像进行面部关键点特征提取,形成人脸关键点特征图。对人脸关键点特征图进行预处理,首先对人脸关键点划分,之后计算特征的互信息并筛选。其次,使用未加密的明文数据进行训练和测试,将模型参数发送给服务端。然后,客户端对处理后的特征信息进行加密,将加密后的特征信息与加密参数一起发送给服务端,服务端进行密文识别预测。最后,服务端将加密后的结果发送回客户端,客户端进行解密得到最终识别结果。本发明具体涉及深度学习,同态加密,信息论等技术。
背景技术
面部表情识别技术(Facial Expression Recognition,FER)是计算机通过特定的算法提取表情特征信息,然后根据得到的特征信息完成表情的分类判别,是量化分析人类情感的基础和前提。使机器能够准确高效的读懂人类面部表情,是情感计算取得实质性进步的突破口,对于建立自然和谐的人机交互环境具有重要的推动作用。人脸表情识别存在着广泛的潜在应用场景,例如汽车的智能监控领域,以及人机交互,为用户定制个性化的需求和服务;还可以应用于智慧医疗领域,比如远程医疗、疼痛估计、自闭症关照、抑郁症识别等。
近年来,深度学习技术在图像与视频领域取得了长足发展,与传统定义的几何特征与外观特征不同,采用端到端的学习方法用于人脸表情识别的深度神经网络,可以从原始图像中学得深度特征,深度特征可描述针对特定问题的图像结构与抽象语义,可替代或补充传统的基于几何特征与外观特征提取方法。一般来说,深度学习网络的数据分类主要包括数据学习和预测两部分。在学习阶段,学习实体使用不同的方法学习数据集,并根据不同的数据特征将数据划分为不同的类。这种划分可以看作是一个反映数据结构的学习模型。然后在预测阶段,该模型作为分类器将传入的测试数据分类到相应的类。可以说数据越多,分类器的学习能力越好。同时,庞大的数据也带来昂贵的计算量,为了提高业务处理能力,应运而生了一系列加快运算的技术,其中云计算这一简捷快速的服务也顺势而生。云计算主要是为了缓解本地的计算压力,本地的电脑或服务器往往没有很强的计算能力,而云服务器可以由无数台有着强大计算能力的电脑构成,本地服务器可以将庞大的计算远程发送到云服务器,拥有着快速计算能力的云服务器便可以短时间内完成计算,极速地提高计算能力。
网络媒体与广大人民日常生活的日益紧密,使得面部表情识别技术极大满足了人们的生活需求,但与此同时也可能存在着信息被窃取的风险,一些用户的隐私敏感信息在不经意间遭到了泄露,最常见的情况是在网络中表情图像会泄露相关用户的人脸信息。如果我们不加以规范和控制,成为被不法分子利用的漏洞。随着人脸识别技术更为广泛应用,近几年,各式各样的人脸数据库也相继出现,云端存储成为了现行有效的资源存储方式。虽然这些平台能够给用户提供不完全可信的第三方存储服务,但是,这些平台的安全稳定性依旧存在问题,在这些云计算平台存储的数据信息可能会暴露给云服务商,间接导致用户隐私数据泄露等安全问题。传统的机器学习算法需要访问原始数据,这带来了潜在的安全和隐私风险,因此基于云计算的安全机器学习也变得越来越重要。
实现一个安全的基于云计算的机器学习预测主要有三大挑战:一是保证在此过程中两个实体的安全性,即云服务器提供者看不到用户的隐私数据,用户也看不到云服务器提供者的模型数据;二是保证在此过程中云服务器提供者预测的准确性,即在安全交互的过程中也能做到结果的准确;三是保证整个过程的效率,即从用户上传数据开始,到云服务器提供者做预测,最后将预测结果返回给用户,整个过程的时间合理。为了保证安全传输,最直接有效的手段是采用相关隐私保护方法,将数据加密,在密文的形式下进行一切相关计算。同态加密就是一个可以保证在密文下照常计算的手段,然而单是在明文下的机器学习计算量已经很大了,在密文下进行机器学习的计算量比明文下的还远复杂得多,而且人脸表情中包含着巨大的信息量,如何加快安全的机器学习运算效率已然成为一个急需解决的实际问题。
本发明提出了一种基于同态加密的人脸表情识别方法。该方法对用户的人脸隐私信息进行加密,对加密后的数据进行计算后,将分类的结果返还给用户,用户解密并获得结果。为了降低计算开销,本文将面部关键点检测与卷积网络相结合,不仅可以使算法更适用于人脸表情识别,还减少了加密网络的计算量。实验表明,在保持准确率的同时,本文提出的方法在效率上有很大的提升
发明内容
为了实现对人脸表情的安全识别预测,本发明设计实现了一种协议,使客户端能够使用由服务器持有的预测模型,而不暴露其数据。服务端使用CNN模型,并将其应用于加密数据。但首先,模型参数是通过对未加密的数据训练集进行训练来学习的。在预测阶段,将该模型应用于加密数据,使用来自SEAL库的函数来处理加密。
整体框架如图1所示,在客户端进行面部关键点提取和特征互信计算筛选,服务端会获得一个训练模型来预测人脸表情,这个模型是对处理后的面部特征信息在明文下进行训练得到的。上述训练网络在TensorFlow中实现,提取网络的权重和偏差。客户端将处理后的面部关键点编码为纯文本多项式,然后使用所选择的加密参数进行加密,使用SEAL库的FractionalEncoder和Encryptor对象实现FV加密方案。为了处理加密后的数据,服务器需要知道这些加密参数,但不应该知道用于解密的私钥。客户端生成公钥和私钥,使用这些参数构建SEAL Evaluator和服务器需要的其他对象,并将它们发送给服务器,保留私钥。
服务器在加密数据上使用提取的权重和偏差,使用SEAL Evaluator运行构建的预测网络。在预测阶段结束时,服务器既不能对结果进行解密以得出预测结果,也不能运行softmax层来获得最终的预测结果。但这对客户端有利,因为如果服务端可以运行softmax层或比较最后一层的输出,服务端就可以推断出预测结果是什么,而不必对结果解密。因此,服务器将最后k个值(k为类别个数)从输出层返回客户端,这本质上是对预测结果的掩蔽。然后,客户端解密从服务器接收到的k个值的数组。由于softmax是一个单调递增的函数,因此客户端可以将这k个值中最大值的索引作为预测结果。
因此,客户端可以使用一个服务器不能访问和获得预测结果的模型,同时服务器会执行所有的计算且对输入图像和预测结果都不知情。主要分为图像预处理,明文模型训练和密文识别预测三部分。
(1)图像预处理
本发明研究对象为人脸表情图像,同态加密表情识别的实现,在提供了保护人脸表情隐私的同时,也会使得识别加密之后的人脸表情需要消耗大量的时间,这是由同态加密的特性带来的。这也就导致了虽然识别的结果令人满意,但是所需的时间大大提升。这显然是不符合实际应用的需求,因此需要对此问题作出改善。使用人脸关键点提取和计算特征互信息值进行特征筛选结合的方法可以使算法更适用于,还会大大的提升加密后的密文识别效率。
(2)明文模型训练
模型使用RaFD人脸图像数据集进行训练和测试,数据集是一组67种模型的图片,其中包括8种情感表达,包括愤怒、厌恶、恐惧、幸福、悲伤、惊奇、蔑视和中立,每种情绪都以3个不同的注视方向显示,并且所有图片同时从五个相机角度拍摄,可以有效学习不同条件下的人脸特征。
(3)密文预测识别
预测阶段是在加密的领域中执行。在密文上可以执行的操作类型有逻辑限制,在不破坏密文的情况下执行的操作数量有噪声限制。在这一阶段使用了FV层次同态加密方案对数据进行加密,它允许对密文进行加法和乘法,并通过扩展,可以进行多项式和幂运算。因此,不能使用与训练阶段完全相同的网络。Softmax不能对加密的数据进行操作,因此不能在本阶段中使用。但由于它是一个单调递增的函数,所以可以跳过这个操作,通过比较最后一个全连接层输出的密文来给出预测。此外,由于卷积层有许多嵌套乘法运算,计算电路的复杂性增加,限制乘法深度是最优的。通过对算法进行一些调整和优化,使上述模型对加密数据进行处理,得到与训练网络相同的结果。
本发明与现有技术相比,具有以下明显的优势和有益效果:
首先,相比传统的人脸表情识别方法,本发明提出了一种基于同态加密的人脸表情识别方法。该方法对用户的人脸隐私信息进行加密,对加密后的数据进行计算后,将分类的结果返还给用户,用户解密并获得结果。为了降低计算开销,本方法将面部关键点检测与卷积网络相结合,不仅可以使算法更适用于人脸表情识别,还减少了加密网络的计算量。
实验证实,本方法在RaFD数据集上实现了98.13%的准确率,同时人脸关键点提取和互信息计算筛选特征也在时间效率上有很大提升。对于实现高效、准确的隐私保护人脸表情识别有着重要的应用价值。
附图说明:
图1基于同态加密的表情识别整体框架图
图2特征互信息值计算结果图
图3互信息阈值与准确率的关系图
图4处理后的特征进行神经网络训练模型图
具体实施方式
根据上述描述,以下是一个具体的实施流程,但本专利所保护的范围并不限于该实施流程。
步骤1:在客户端对人脸表情图像进行面部关键点特征提取,形成人脸关键点特征图
为了解决同态加密表情识别过程中时间消耗过大的问题,不直接使用表情图片进行识别,而是对表情图片先进行面部关键点的提取。采取现有的边界感知人脸对齐算法进行人脸关键点定位,输入原始表情图片后会得到一个包含98个关键点的人脸关键点特征图,图片大小归一化为256×256,关键点部分用彩色表示,其余部分用黑色。
步骤2:对人脸关键点特征图进行预处理
在使用步骤1所述方法进行面部关键点提取后,所有输入图片被归一化为256×256的人脸关键点特征图。然而对同态加密运算来说,256×256的大小还是会极大地影响运算效率,所以需要对提取到的人脸面部关键点进行进一步处理。
步骤2.1:人脸关键点划分
对98个人脸关键点进行划分,分为眉毛、眼睛、眼球、鼻梁、鼻翼、内嘴唇、外嘴唇、轮廓8个关键特征,用不同颜色表示;对人脸关键点特征图中的像素点计算RGB三通道颜色相似度,根据颜色分类后,保留RGB三通道的颜色值都大于230的像素点,将保留的像素点转换为灰度值,构成20×20的特征点图像;;
步骤2.2:特征互信息计算筛选
即使这样,每个像素点对于识别结果的影响还存在许多不同,使用互信息来衡量这400个像素对于识别结果的影响并进行筛选;
将一个像素点称为一个特征,那么有特征集合F={f1,f2,…,f400},其中特征fi的值在0-255之间;RaFD数据集的表情分类标签共有八种,包括愤怒、厌恶、恐惧、幸福、悲伤、惊奇、蔑视和中立;用集合L={l1,l2,…,l8}表示;假设一个数据集中,有n个图片,每个图片的分类结果都包括在L中;可以得到特征fi与分类标签之间的条件概率为:
表示同时满足特征fi=0和标签为l1的图片数量;然后,可以得到条件熵进一步得到平均互信息I(L;fi)=H(L)-H(L|fi),其中平均互信息的大小表示了每个特征与标签之间的相互依赖程度,因此根据所有特征与标签之间的平均互信息,就可以筛选出对同态加密表情识别过程中起决定作用的特征,从而起到进一步压缩数据,减少识别时间的目的,计算结果如图2所示。
对计算出互信息值的400个特征进行筛选,设定阈值l,对于互信息值小于l的特征我们选择舍弃,仅保留互信息值大于l的特征点;将保留的特征点作为神经网络的输入进行训练和测试,得到的准确率结果如图3所示。我们可以看到,随着阈值的增大,舍弃的特征点越多,保留的特征点越少,分类预测的准确率也逐渐降低;其中阈值为0.0462时的准确率与保留所有特征的准确率相差不多,而阈值再增大时,准确率降低较为明显,因此我们选择0.0462作为阈值,互信息值低于该阈值的特征被舍弃,此时剩余的特征为225个,作为分类神经网络的输入进行训练和测试。
步骤3:使用未加密的明文数据进行训练和测试,,其中的用来进行训练和测试的网络具体如下:
(1)卷积层:输入是一个15×15的矩阵。卷积核大小为1×3×3,步长为1,卷积核个数为3,输入通道数为1,得到3个输出通道;因此,这一层的输出尺寸为15×15×3;
(2)激活层:输入是前一层的15×15×3矩阵;采用平方函数作为激活函数,因此输出与输入具有相同的维数;
(3)平均池化层:用一个大小为2×2×1的窗口和步长为2来执行,因此输出的尺寸为8×8×3。
(4)卷积层:使用8个大小为3×3×3的核,步长为1;输入有3个通道,输出为8个通道。这里的输出尺寸是8×8×8;
(5)平均池化层:使用大小为2×2×1的窗口和步长为2再次执行平均池化;因此输出的尺寸为5×5×8;
(6)全连接层:5×5×8矩阵被扁平化为长度为200的数组;;全连接层是通过200×64的权重矩阵进行矩阵乘法来实现的;因此,输出是一个长度为64的数组。
(7)激活函数:这一层对上一层的每个节点的值进行平方操作。因此,输出还是一个长度为64的数组;
(8)全连接层:这一层将传入的64个节点连接到8个输出节点,每个节点对应于8个类中的每一个;它是通过将长度为64的数组乘以一个64×7的权值矩阵来实现的。
(9)softmax层:在8个输出节点上应用Softmax,它给出每个节点的概率值;得到概率最高的节点,对应的节点的索引为预测;;利用Softmax交叉熵函数计算由Softmax层得到结果后的损失;计算softmax层的向量输出与训练输入得到的标签之间的交叉熵;两个向量之间的交叉熵定义为
步骤4:客户端对处理后的特征信息进行加密,将加密后的特征信息与加密参数一起发送给服务端,服务端进行密文识别预测
预测阶段是在加密的领域中执行,即所有计算都是在加密的数据上进行,加密方案采用的是层次同态FV加密方案,它允许对密文进行加法和乘法,并通过扩展,可以进行多项式和幂运算。明文空间M是环Rt,密文空间C为Rq×Rq,其中q>>t,q和t都不需要是素数;在密文上可以执行的操作类型有逻辑限制,即只能执行乘法和加法操作,在不破坏密文的情况下执行的操作数量有噪声限制,一旦密文中的噪声预算达到零,密文就会被破坏,使其在解密时无法恢复;Softmax不能对加密的数据进行操作,因此不能在本阶段中使用。但由于它是一个单调递增的函数,所以跳过这个操作,通过比较最后一个全连接层输出的密文来给出预测结果。此外,由于卷积层的计算电路的复杂性很大,需要限制乘法深度,如步骤4.3所示。
步骤4.1编码
从所使用的HE方案的描述中可以清楚地看出,学习模型中的原子结构实数与HE方案中的原子结构Rt中的多项式之间存在不匹配。在保持同态运算的同时,需要一种编码方案进行映射操作,将消息m转换为它的多项式表示编码方案如下:
将要加密的实数以b位二进制的形式表示,形如 是用x替换2构造出来的,得到an为xn的系数,其中2d为分圆多项式的阶数, 表示整数集 为所有整数集合。为x的多项式,其系数属于然而,网络中的值不一定是整数,而是会有带有整数和小数部分的有理数;因此需要对它们进行分解,多项式的系数中,整数部分保留64个最低位系数,小数部分保留32个最高位系数;整数部分按照上述编码方案进行编码,小数部分被移动到多项式的最高次部分,并改变系数的符号。
步骤4.2参数选择
确定用于加密方案的参数对确定结果的正确性和网络的效率起着重要的作用,参数的决定有两个主要因素。一个是考虑噪声增长,另一个是考虑效率。每个阶段,密文都有一个特定的参量,称为不变噪声预算,以比特来衡量。新加密的密文中的噪声预算由加密参数决定。随着对密文的操作不断进行,噪声预算不断被消耗,且乘法与加法相比明显地增加了噪声。一旦密文中的噪声预算达到零,噪声就会溢出到包含消息的比特中,从而破坏消息,使其在解密时无法恢复。因此,选择足够大的参数以避免这种情况是非常重要的,但又不能太大,会导致计算变得昂贵且不再实用。需要确定的参数有多项式模数2d-1,系数模数q,明文模数t。多项式模越大,密钥越安全,方案也就越安全,但是更高的多项式模意味着更大的密文大小,导致操作变得很慢,效率低下,此参数的常用选择为1024、2048、4096、8192、16384、32768,选用4096作为多项式模。在新加密的密文中,密文的系数模数是影响噪声平衡的最重要因素,本发明所使用的微软SEAL库包含的函数自动为所选择的多项式模和所需的安全级别生成适当的系数模数,其中安全级别选择128位。明文模数选择18。
步骤4.3将加密后的数据和参数发送给服务端,服务端运行密文预测网络
将编码加密后的数据和选择好的参数发送给服务端,服务端运行密文预测网络,通过对明文训练网络进行一些调整和优化,使模型对加密数据进行处理,得到与明文训练网络相同的结果。该网络的输入是密文的15×15矩阵,每一个值对应加密后的所编码的像素值。对网络进行训练后得到模型参数,以每一层的权值和偏差的形式表示。该网络的结构与训练网络基本相同,只是省去了最终的softmax层。虽然网络的结构是相同的,但实现是非常不同的,因为所有的复杂操作,如卷积,需要简化为同态计算。
卷积层:我们在第一个卷积层中,输入矩阵的维数为15×15,有3个维数为3×3的核,步长为1,卷积的原始实现意味着矩阵进行((15+3-1)×(15+3-1)×3)的运算。每个矩阵运算都是两个3×3的矩阵中相应元素的乘法然后相加,这就导致在密文上进行867×9次乘法和867×8次加法,而这仅仅是在一层中。所以这个实现会非常低效,需要非常多的循环代码,这对同态计算来说尤其糟糕。因此,有必要对卷积运算进行优化。过滤器首先被平化成一个(卷积核高*卷积核宽*输入通道数,输出通道数)的二维矩阵,在本文所使用的网络中,会得到一个(9,3)的矩阵。将输入矩阵提取形如(批大小,输出高度,输出宽度,卷积核高度*卷积核宽度*输入通道数),得到一个(1,15,15,9)的块。对每个块计算过滤矩阵与重构之后的块的点积,例如,将(1,15,15,9)的块重构为(225,9)的矩阵,并计算与(9,3)矩阵的点积。
平均池化层和激活层:对于平均池化层和激活层,转换到加密领域更加简单。在平均池化层需要找到4个值的平均值,对4个密文进行同态相加并乘以0.25。在激活层中,使用平方函数作为激活函数,也就是密文与自身同态相乘。这是网络中唯一需要对两个密文执行乘法运算的步骤,使激活层成为网络中噪声消耗最多的部分。
全连接层:全连接层实现为矩阵大小为(1,输入节点)和(输入节点,输出节点)之间的矩阵乘法,从而得到一个大小矩阵(输出节点,1)。矩阵乘法通过同态加法和乘法实现。对于所有涉及权重和偏差的层面,需要注意的一点是由于权重和偏差是从一个运行在未加密数据上的训练网络中获得的,它们只是有理数,既没有编码也没有加密。一种方法是加密它们,然后执行同态乘法/加法。但是由于加密需要花费时间,而且在HE方案中,与将密文与一个未加密的有理函数相乘相比,将两个密码文本相乘会显著增加更多的噪声,因此权值和偏差保持未加密,并使用明文版本的同态乘法/加法函数。
步骤4.4处理噪声
在同态运算中,一些计算非常快地消耗非常大的噪声预算。避免信息中溢出噪声的一种方法是增加噪声预算。这可以通过增加密文的系数模数q来实现,但它对效率的影响非常大。因此本发明选择由客户端用私钥执行真正的解密,并重新加密密文,这种方式更安全,但需要通信开销。因此它用于在网络的最后一步噪声预算几乎完全被消耗的情况,这样就可以处理噪声且不必通过增加参数使过程效率极低。
步骤5:服务端将加密后的结果发送回客户端,客户端进行解密得到最终识别结果
服务器将最后8个值的数组从输出层返回客户端,这本质上是对预测结果的掩蔽。然后,客户端解密从服务器接收到的8个值的数组。由于softmax是一个单调递增的函数,因此客户端可以将这8个值中最大值的索引作为预测结果。
Claims (6)
1.基于同态加密的人脸表情识别方法,其特征在于:
步骤1:在客户端对人脸表情图像进行面部关键点特征提取,形成人脸关键点特征图;步骤2:对人脸关键点特征图进行预处理,首先对人脸关键点划分,之后计算特征的互信息并筛选;步骤3:使用未加密的明文数据进行训练和测试,将模型参数发送给服务端;步骤4:客户端对处理后的特征信息进行加密,将加密后的特征信息与加密参数一起发送给服务端,服务端进行密文识别预测;步骤5:服务端将加密后的结果发送回客户端,客户端进行解密得到最终识别结果。
2.根据权利要求1所述的方法,其特征在于:
步骤1在客户端对人脸表情图像进行面部关键点特征提取,形成人脸关键点特征图具体如下:
对表情图片先进行面部关键点的提取;采取现有的边界感知人脸对齐算法进行人脸关键点定位,输入原始表情图片后会得到一个包含98个关键点的人脸关键点特征图,图片大小归一化为256×256,关键点部分用彩色表示,其余部分用黑色。
3.根据权利要求1所述的方法,其特征在于:
步骤2对人脸关键点特征图进行预处理具体如下:
步骤2.1:人脸关键点划分
对98个人脸关键点进行划分,分为眉毛、眼睛、眼球、鼻梁、鼻翼、内嘴唇、外嘴唇、轮廓8个关键特征,用不同颜色表示;对人脸关键点特征图中的像素点计算RGB三通道颜色相似度,根据颜色分类后,保留RGB三通道的颜色值都大于230的像素点,将保留的像素点转换为灰度值,构成20×20的特征点图像;
步骤2.2:计算特征的互信息并筛选
即使这样,每个像素点对于识别结果的影响还存在许多不同,使用互信息来衡量这400个像素对于识别结果的影响并进行筛选;
将一个像素点称为一个特征,那么有特征集合F={f1,f2,…,f400},其中特征fi的值在0-255之间;表情分类标签共有k种,用集合L={l1,l2,…,lk}表示;假设一个数据集中,有n个图片,每个图片的分类结果都包括在L中;可以得到特征fi与分类标签之间的条件概率为:
对计算出互信息值的400个特征进行筛选,设定阈值l,对于互信息值小于l的特征选择舍弃,仅保留互信息值大于l的特征点,将保留的特征点作为神经网络的输入进行训练和测试;选择225个特征作为分类神经网络的输入进行训练和测试。
4.根据权利要求1所述的检测方法,其特征在于:
步骤3使用未加密的明文数据进行训练和测试,其中的用来进行训练和测试的网络具体如下:
(1)卷积层:输入是一个15×15的矩阵;卷积核大小为1×3×3,步长为1,卷积核个数为3,输入通道数为1,得到3个输出通道;因此,这一层的输出尺寸为15×15×3;
(2)激活层:输入是前一层的15×15×3矩阵;采用平方函数作为激活函数,因此输出与输入具有相同的维数;
(3)平均池化层:用一个大小为2×2×1的窗口和步长为2来执行,因此输出的尺寸为8×8×3;
(4)卷积层:使用8个大小为3×3×3的核,步长为1;输入有3个通道,输出为8个通道;这里的输出尺寸是8×8×8;
(5)平均池化层:使用大小为2×2×1的窗口和步长为2再次执行平均池化;因此输出的尺寸为5×5×8;
(6)全连接层:5×5×8矩阵被扁平化为长度为200的数组;全连接层是通过200×64的权重矩阵进行矩阵乘法来实现的;因此,输出是一个长度为64的数组;
(7)激活函数:这一层对上一层的每个节点的值进行平方操作;因此,输出还是一个长度为64的数组;
(8)全连接层:这一层将传入的64个节点连接到k个输出节点,每个节点对应于k个类中的每一个;它是通过将长度为64的数组乘以一个64×k的权值矩阵来实现的;
(9)softmax层:在k个输出节点上应用Softmax,它给出每个节点的概率值;得到概率最高的节点,对应的节点的索引为预测;利用Softmax交叉熵函数计算由Softmax层得到结果后的损失;计算softmax层的向量输出与训练输入得到的标签之间的交叉熵;两个向量之间的交叉熵定义为
5.根据权利要求1所述的检测方法,其特征在于:
步骤4客户端对处理后的特征信息进行加密,将加密后的特征信息与加密参数一起发送给服务端,服务端进行密文识别预测具体如下:
预测阶段是在加密的领域中执行,即所有计算都是在加密的数据上进行,加密方案采用层次同态加密FV加密方案;明文空间M是环Rt,密文空间C为Rq×Rq;在密文上可以执行的操作类型有逻辑限制,即只能执行乘法和加法操作,在不破坏密文的情况下执行的操作数量有噪声限制,一旦密文中的噪声预算达到零,密文就会被破坏,使其在解密时无法恢复;通过比较最后一个全连接层输出的密文,解密后选择最大的值来给出预测结果;此外,由于卷积层的计算电路的复杂性很大,需要限制乘法深度,如步骤4.3所示;
步骤4.1编码
将要加密的实数以b位二进制的形式表示,形如是用x替换2构造出来的,得到an为xn的系数,其中2d为分圆多项式的阶数, 表示整数集 为所有整数集合;为x的多项式,其系数属于然而,网络中的值不一定是整数,而是会有带有整数和小数部分的有理数;因此需要对它们进行分解,多项式的系数中,整数部分保留64个最低位系数,小数部分保留32个最高位系数;整数部分按照上述编码方案进行编码,小数部分被移动到多项式的最高次部分,并改变系数的符号;
步骤4.2参数选择
需要确定的参数有多项式模数2d-1,系数模数q,明文模数t;选用4096作为多项式模;使用的微软SEAL库包含的函数自动为所选择的多项式模和所需的安全级别生成系数模数,其中安全级别选择128位;明文模数选择18;
步骤4.3将加密后的数据和参数发送给服务端,服务端运行密文预测网络
将编码加密后的数据和选择好的参数发送给服务端,服务端运行的密文预测网络具体如下:该网络的输入是密文的15×15矩阵,每一个值对应加密后的所编码的像素值;对网络进行训练后得到模型参数,以每一层的权值和偏差的形式表示;该网络的结构与训练网络基本相同,只是省去了最终的softmax层;
卷积层:在第一个卷积层中,输入矩阵的维数为15×15,有3个维数为3×3的核,步长为1;
对卷积运算进行优化:过滤器首先被平化成一个(卷积核高*卷积核宽*输入通道数,输出通道数)的二维矩阵,在本文所使用的网络中,会得到一个(9,3)的矩阵;将输入矩阵提取形如(批大小,输出高度,输出宽度,卷积核高度*卷积核宽度*输入通道数),得到一个(1,15,15,9)的块;对每个块计算过滤矩阵与重构之后的块的点积;
平均池化层和激活层:对于平均池化层和激活层,转换到加密领域更加简单;在平均池化层需要找到4个值的平均值,对4个密文进行同态相加并乘以0.25;在激活层中,使用平方函数作为激活函数,也就是密文与自身同态相乘;
全连接层:全连接层实现为矩阵大小为(1,输入节点)和(输入节点,输出节点)之间的矩阵乘法,从而得到一个大小矩阵(输出节点,1);矩阵乘法通过同态加法和乘法实现;权值和偏差保持未加密,并使用明文版本的同态乘法/加法函数;
步骤4.4处理噪声
由客户端用私钥执行真正的解密,并重新加密密文。
6.根据权利要求1所述的检测方法,其特征在于:
步骤5服务端将加密后的结果发送回客户端,客户端进行解密得到最终识别结果具体如下:
服务器将最后k个值的数组,从输出层返回客户端,k为类别个数;然后,客户端解密从服务器接收到的k个值的数组;客户端将这k个值中最大值的索引作为预测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210677979.0A CN114937304A (zh) | 2022-06-16 | 2022-06-16 | 基于同态加密的人脸表情识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210677979.0A CN114937304A (zh) | 2022-06-16 | 2022-06-16 | 基于同态加密的人脸表情识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114937304A true CN114937304A (zh) | 2022-08-23 |
Family
ID=82868467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210677979.0A Pending CN114937304A (zh) | 2022-06-16 | 2022-06-16 | 基于同态加密的人脸表情识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114937304A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592521A (zh) * | 2023-11-28 | 2024-02-23 | 浙江大学 | 一种用于全同态cnn推理的批量编码方法 |
-
2022
- 2022-06-16 CN CN202210677979.0A patent/CN114937304A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117592521A (zh) * | 2023-11-28 | 2024-02-23 | 浙江大学 | 一种用于全同态cnn推理的批量编码方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Huang et al. | Toward semantic communications: Deep learning-based image semantic coding | |
US11729406B2 (en) | Video compression using deep generative models | |
CN110517329B (zh) | 一种基于语义分析的深度学习图像压缩方法 | |
US20190354806A1 (en) | Neural Networks for Discovering Latent Factors from Data | |
CN111401216B (zh) | 图像处理、模型训练方法、装置、计算机设备和存储介质 | |
Sun et al. | Supervised deep sparse coding networks for image classification | |
Peng et al. | A robust coverless steganography based on generative adversarial networks and gradient descent approximation | |
WO2022105117A1 (zh) | 一种图像质量评价的方法、装置、计算机设备及存储介质 | |
US11893762B2 (en) | Method and data processing system for lossy image or video encoding, transmission and decoding | |
US11501470B2 (en) | Geometric encoding of data | |
US11823490B2 (en) | Non-linear latent to latent model for multi-attribute face editing | |
Chamain et al. | End-to-End Image Classification and Compression with variational autoencoders | |
US20240104681A1 (en) | Image steganography utilizing adversarial perturbations | |
CN114937304A (zh) | 基于同态加密的人脸表情识别方法 | |
Sadeeq et al. | Image compression using neural networks: a review | |
Liu et al. | JPEG robust invertible grayscale | |
Li et al. | Coverless Video Steganography Based on Frame Sequence Perceptual Distance Mapping. | |
Chi et al. | An SMVQ compressed data hiding scheme based on multiple linear regression prediction | |
TW202348029A (zh) | 使用限幅輸入數據操作神經網路 | |
Wei et al. | Spatiotemporal features and local relationship learning for facial action unit intensity regression | |
Li et al. | An image watermark removal method for secure internet of things applications based on federated learning | |
CN113553957A (zh) | 一种多尺度预测的行为识别系统及方法 | |
MaungMaung et al. | Generative Model-Based Attack on Learnable Image Encryption for Privacy-Preserving Deep Learning | |
CN112966150A (zh) | 一种视频内容抽取的方法、装置、计算机设备及存储介质 | |
Jam et al. | Foreground-guided facial inpainting with fidelity preservation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |