system: [SYSTEM]

user: 3. 改进算法 3.1. DSPE算法 人脸超完备字典为 X = [ X 1 ， X 2 ， ⋯ ， X C ] ， X i 为属于第i类的人脸样本集合。 a) 最小二乘法求解鉴别信息权重： min t ‖ x i j − X i t ‖ 2 s . t I t = 1 (1) 其中 X i = [ x i 1 ， x i 2 ， ⋯ ， x i k ] ∈ R m × k ，I为全1行向量。 b) 人脸样本由鉴别信息权重重构后得到的残差由其它类的所有样本进行稀疏重构： min s ‖ s ‖ 1 s . t       ‖ e r − X s ^ ‖ < ε             I s = 0 (2) 其中 e r = x i j − X i t ˜ = x i j − X h ˜ ，超完备字典 X ^ = [ X 1 ， X 2 ， ⋯ ， X C ] ，其中 X i = O 。 c) 求解鉴别稀疏权重： 设 s ˜ 是(2)的最优解，则将 s ˜ 中的系数按照不同的类别进行分块，从而得 s ˜ = [ s ˜ 1 ， ⋯ ， s ˜ i − 1 ， O ， s ˜ i + 1 ， ⋯ ， s ˜ k ] ，再结合(1)的最优解假设是 t ˜ ，则更新后的鉴别稀疏权重设为 d ˜ = s ˜ + h ˜ = [ s ˜ 1 ， ⋯ ， s ˜ i − 1 ， t ˜ ， s ˜ i + 1 ， ⋯ ， s ˜ k ] ∈ R n 。 DSPE的目标函数为： max w       W T X M X T W s . t             W T X X T W = 1 (3) 其中 M = D + D T − D T D ，   D = [ d ˜ 1 ， d ˜ 2 ， ⋯ ， d ˜ n ] 。 3.2. 本文KDSPE算法 3.2.1. 核稀疏表示 假设原始样本通过非线性映射Φ变换到一个高维的特征空间H上，则X在高维特征空间H中的表示为： Φ ( X ) = [ Φ ( X 1 ) ， Φ ( X 2 ) ， Φ ( X 3 ) ， ⋯ ， Φ ( X C ) ] (4) 则高维空间的稀疏表示问题如下： min W     ‖ s ‖ 0         s . t     Φ ( X ) s = Φ ( b ) (5) 其中 Φ ( b ) 是原始空间的一个样本信号b映射到高维空间形成的。 考虑到实际环境噪声的影响，一般无法精确重构原始信号，设ε是误差容， (5)常被写成下列形式： min W     ‖ s ‖ 1         s . t     ‖ Φ ( X ) s − Φ ( b ) ‖ < ε (6) 因为 Φ ( X ) 和 Φ ( b ) 都是未知的，根据高维空间中的内积可以用核函数 K ( x ， y ) 求解，对于任意的 x ， y ，有 Φ ( x ) T Φ ( y ) = K ( x ， y ) ，再根据定理1，如下： 定理1：对任意的 ε ≥ 0 ，都存在 δ ≥ 0 ，只要 ‖ Φ ( X ) T Φ ( X ) s − Φ ( X ) T Φ ( b ) ‖ ≤ δ ，就一定有 ‖ Φ ( X ) s − Φ ( b ) ‖ ≤ ε 。 (6)的求解问题转换为： min W     ‖ s ‖ 1         s . t     ‖ Φ ( X ) T Φ ( X ) s − Φ ( X ) T Φ ( b ) ‖ ≤ δ (7) 3.2.2. KDSPE算法 根据3.2.1节的理论介绍，可将(1)，(2)分别表示如下： min t     ‖ Φ ( X i ) T Φ ( x i j ) − Φ ( X i ) T Φ ( X i ) t ‖         s . t     I t = 1 (8) min s     ‖ s ‖ 1         s . t     ‖ Φ ( X ^ ) T Φ ( e r ) − Φ ( X ^ ) T Φ ( X ^ ) s ‖ ≤ δ ，     I s = 0 (9) 得到的核鉴别稀疏权重设为 d ˜ ^ = s ˜ ^ + h ˜ ^ = [ s ˜ ^ 1 ， ⋯ ， s ˜ ^ i − 1 ， t ˜ ^ ， s ˜ ^ i + 1 ， ⋯ ， s ˜ ^ k ] 。 通过 d ˜ ^ 建立KDSPE目标函数： max W         W T Φ ( X ) M ^ Φ ( X ) T W s . t               W T Φ ( X ) Φ ( X ) T W = 1 (10) 其中 M ^ = D ^ + D ^ T − D ^ T D ^ ，   D ^ = [ d ˜ ^ 1 ， d ˜ ^ 2 ， ⋯ ， d ˜ ^ n ] 由拉格朗日乘子法的，设： L Φ ( W ， λ ) = W T Φ ( X ) M ^ Φ ( X ) T W − λ ( W T Φ ( X ) Φ ( X ) T − 1 ) (11) 对(11)求导得： Φ ( X ) M ^ Φ ( X ) T W = λ Φ ( X ) Φ ( X ) T W (12) 设投影向量 W = Φ ( X ) a 代入(12)求得前d个最大本征值的本征向量 a i ( i = 1 ， 2 ， ⋯ ， d ) ，求得映射 W K D S P E = [ a 1 ， a 2 ， ⋯ ， a d ] 。 3.3. 本文加密方案 3.3.1. 核鉴别稀疏矩阵欧式距离算法 通过KDSPE得到的核鉴别稀疏权重，计算两矩阵的欧氏距离来判断人脸相似性。两个n维向量 a ( x 11 ， x 12 ， ⋯ ， x 1 n ) 与 b ( x 21 ， x 22 ， ⋯ ， x 2 n ) 的欧式距离： d 12 = ∑ k = 1 n ( x 1 ， k − x 2 ， k ) 2 (13) 训练人脸字典的训练样本建立为20个人5张不同的人脸图像，经过图像预处理(这里取18个像素值)，得到这样一个矩阵：每列代表一个图像的所有像素： [ b 11 b 21 ⋯ b 100 ， 1 b 12 b 22 ⋯ b 100 ， 2 ⋮ ⋮ ⋱ ⋮ b 1 ， 18 b 2 ， 18 ⋯ b 100 ， 18 ] (14) 经过标准化得到一个 18 × 200 的标准化人脸字典矩阵。设两个不同的测试样本 b 1 和 b 2 ，由公式(8)，(9)分别得到相应的核鉴别稀疏矩阵： d ˜ ^ 1 = [ s ˜ ^ 1 ， 1 ， ⋯ ， s ˜ ^ 1 ， i − 1 ， t ˜ ^ 1 ， s ˜ ^ 1 ， i + 1 ， ⋯ ， s ˜ ^ 1 ， k ] d ˜ ^ 2 = [ s ˜ ^ 2 ， 1 ， ⋯ ， s ˜ ^ 2 ， i − 1 ， t ˜ ^ 2 ， s ˜ ^ 2 ， i + 1 ， ⋯ ， s ˜ ^ 2 ， k ] ，       k = 200 (15) 利用(15)计算两个矩阵的欧式距离： ∑ k = 1 n ( s ˜ ^ 1 ， k − s ˜ ^ 2 ， k ) 2 + ( t ˜ ^ 1 − t ˜ ^ 2 ) 2 ，     k ≠ i ， n = 200 (16) 3.3.2. 基于核鉴别稀疏表示的隐秘人脸识别方案 加密方案准备工作：为了方便同态加密的计算，在这里我们根据(13)式可以重新定义核稀疏矩阵的欧式距离为： d 12 2 = ∑ k = 1 n ( x 1 ， k − x 2 ， k ) 2 (17) 由公式(15)，(16)，(17)可知欧式距离的最大数量级为10 5 ，并设 d max = 10 5 ，我们对2.2节介绍的允许接受者获得其中k个秘密信息进行k赋值为1，然后设200对公钥对等分 d max ，每份500，这样构造出1-out-of-200的不经意传输协议，发送者是服务器，它的输出是 X 0 ， ⋯ ， X n − 1 。接收者是终端，它的输入是欧式距离 d E 。我们设协议映射规则为如果 ( d E ) mod ( d max ) 小于阈值 t i ，则 X i 等于1表示匹配，否则等于0表示不匹配，其中 d E ∈ [ 500 ⋅ i ， 500 ⋅ ( i + 1 ) ] 。 总体方案具体设计步骤： 1) 终端发送人脸图像的核稀疏矩阵 d ˜ ^ = [ s ˜ ^ 1 ， ⋯ ， s ˜ ^ i − 1 ， t ˜ ^ ， s ˜ ^ i + 1 ， ⋯ ， s ˜ ^ k ] 每一位的同态加密结果和每一位的平方值 d ˜ ^ 2 = [ s ˜ ^ 1 2 ， ⋯ ， s ˜ ^ i − 1 2 ， t ˜ ^ 2 ， s ˜ ^ i + 1 2 ， ⋯ ， s ˜ ^ k 2 ] 的加密结果。服务器接收到的同态加密后的数据分别就是： { E p k ( s ˜ ^ 1 ) ， ⋯ ， E p k ( s ˜ ^ i − 1 ) ， E p k ( t ˜ ^ ) ， E p k ( s ˜ ^ i + 1 ) ， ⋯ ， E p k ( s ˜ ^ k ) } 和 { E p k ( s ˜ ^ 1 2 ) ， ⋯ ， E p k ( s ˜ ^ i − 1 2 ) ， E p k ( t ˜ ^ 2 ) ， E p k ( s ˜ ^ i + 1 2 ) ， ⋯ ， E p k ( s ˜ ^ k 2 ) } ，对于服务器里数据库的每一个人脸图像的核稀疏矩阵 d ˜ ^ i ∈ { d ˜ ^ 1 ， ⋯ ， d ˜ ^ N } 做出以上同样的操作。 2) 服务器进行欧式距离的计算，针对向量中的每一位j，为了方便计算设 d ˜ ^ j 代表获得的核稀疏矩阵里的向量， d ˜ ^ j i 代表数据库里的每一个人脸图像的核稀疏矩阵里的向量。设 v j = ( d ˜ ^ j − d ˜ ^ j i ) 2 ，计算出每一位的加密后的距离 E p k ( v j ) 。然后利用同态加密的加法特性计算出总的加密距离 E p k ( d E ) = ∑ 1 k E p k ( v j ) 。 3) 服务器将计算出的 E p k ( d E ) ，发给终端，终端收到后进行解密，双方通过1-out-of-200不经意传输协议映射规则来进行匹配。