基于预学习字典的对称ADMM在人脸去噪上的应用
Application of Symmetric ADMM Based on Pre-Learned Dictionary in Face Denoising
DOI: 10.12677/mos.2024.132154, PDF, HTML, XML, 下载: 18  浏览: 41 
作者: 张静雯, 党亚峥, 倪诗皓:上海理工大学管理学院,上海
关键词: 预学习字典对称ADMM人脸去噪消融实验Pre-Learned Dictionaries Symmetric ADMM Face Denoising Ablation Study
摘要: 字典学习算法是图像去噪的常用方法,但字典训练是一个耗时的过程,且会丢失图像中的有效信息。本文提出一种基于预学习字典的低秩算法,将图像中的干净数据和结构化噪声用对应的字典和系数矩阵表示。首先通过消融实验证明模型各部分的作用,接着对部分损坏的图像进行训练并与其他算法对比,最后将算法训练出的映射矩阵用于测试数据。结果表明PLID对于噪声的处理优于其他算法,测试数据经过映射矩阵的线性变换后也可以去除噪声。
Abstract: Dictionary learning algorithm is a common method for image denoising, but dictionary training is a time-consuming process and can lose valid information in images. In this paper, a low-rank algorithm based on pre-learned dictionaries is proposed, which represents the clean data and structured noise in the image with the corresponding dictionaries and coefficient matrices. Firstly, the role of each part of the model is proved by ablation study, then the partially damaged images are trained and compared with other algorithms. Finally, the mapping matrix trained by the algorithm is used for the test data. The results show that PLID can deal with the noise better than other algorithms, and the test data can also remove the noise after the linear transformation of the mapping matrix.
文章引用:张静雯, 党亚峥, 倪诗皓. 基于预学习字典的对称ADMM在人脸去噪上的应用[J]. 建模与仿真, 2024, 13(2): 1630-1640. https://doi.org/10.12677/mos.2024.132154

1. 引言

随着机器学习和稀疏表示的重大进步,图像处理已成为一个重要的研究课题,由于受到成像设备或外界环境变化等因素的影响,图像中难免会存在不同程度的噪声。人们为了从图像中提取更多的有用信息,运用图像去噪技术来去除噪声。

字典学习是实现图像去噪的一种有效技术,但在传统的字典学习(K-SVD)中,字典训练是一个耗时的过程,稀疏表示大多通过设置固定的硬阈值来停止,导致图像中的有效内容丢失 [1] 。基于上述问题,一些研究对传统的字典学习算法进行改进,文献 [2] 提出了一种改进的K-SVD算法,用于稀疏表示去噪,该算法具有更快的执行速度。Song等人 [3] 提供了一种参数化的模糊自适应字典改编方法,嵌入了模糊集的新机制,将字典列的更新与稀疏表示的更新相结合。然而,基于K-SVD的去噪算法仅利用图像块的内部信息进行独立的稀疏编码,而不考虑与其他块相关的信息。

数据不同的组成部分可能具有不同的结构,它们位于不同的子空间中可以单独表示 [4] ,因此可以根据工作的特性构造特定的字典,这样可以有效地保留原始数据之间的局部几何结构 [5] 。基于此类想法,Chen等人 [6] 将RPCA的稀疏项替换为预学习的语音字典和系数矩阵的乘积,将背景噪声建模为低秩部分和残差之和,从而实现语音增强。Xu等人 [7] 基于预学习字典和自适应参数设置方法,选择平均重构质量最好的字典作为预学习字典来降低计算的复杂性,实验表明该算法的性能优于其他去噪算法。Wright等人 [8] 指出人脸的干净数据可以很好地用子空间来表征,且同一类的干净数据位于同一低维子空间中。此外,结构化噪声通常对应于人脸图像 [9] 中的面具、眼镜等,可以用字典和对应系数的乘积来表示。

综上所述,本文提出了一种基于预学习字典的低秩算法用于人脸去噪,在算法中,干净数据和结构化噪声分别被建模为它们对应的字典和系数矩阵的乘积,并进一步描述重构误差与干净数据的联系,然后利用对称ADMM对所提的算法进行求解,最后,在AR数据集上验证所提算法的有效性。

2. 相关理论与方法

2.1. RPCA

RPCA [10] 旨在从损坏的观测矩阵X中恢复低秩矩阵L,其数学模型为:

min L , S r a n k ( L ) + λ S 0 s .t . X = L + S (2.1)

其中, r a n k ( L ) 为矩阵的秩, S 0 表示矩阵S中非零元素的个数。问题(2.1)是一个NP-难问题,在实际应用中通常转化为问题(2.2)

(2.2)

其中是矩阵L的奇异值的总和。 S 1 是矩阵中每个列向量的绝对值之和的最大值。

2.2. 聚类评价指标

评判聚类结果的好坏,除了凭直观感受评价可视化的结果外,还可以借助数值化的聚类有效性指标,本文使用的评价值指标有ACC,PUR [11] 、NMI [12] 。

2.2.1. PUR

纯度(Purity)为正确聚类的样本个数占总样本数的比例,可表示为

(2.3)

其中,N表示总的样本个数, Ω = { w 1 , w 2 , , w K } 表示正确的聚类结果, C = { c 1 , c 2 , , c J } 表示真实的聚类结果。 P U R [ 0 , 1 ] ,越接近1表示聚类的结果越好。

2.2.2. NMI

假定X是一个由n个样本点组成的样本集 X = { x 1 , x 2 , , x n } P = { C 1 , C 2 , , C K } 是正确的聚类结果, Q = { C 1 , C 2 , , C K } 是待和P比较的聚类结果。P和Q之间NMI指标(normalized mutual information)可表示为

(2.4)

NMI指标的最大值为1,最小值为0,值越大表示聚类结果越接近真实结果。

2.2.3. ACC

准确度(Accuracy)使用正确的聚类结果与真实的聚类结果进行匹配,可表示为

(2.5)

其中, r i s i 分别表示 x i 所对应的正确聚类结果和真实聚类结果,n表示总样本数, δ 表示指示函数,定义如下:

δ ( x , y ) = { 1 , x = y 0 , otherwise

ACC的取值范围为0到1,值越大表示聚类结果越好。

3. 模型的构建与求解

3.1. PLID模型的构建

本文将原始数据X分为干净数据、结构化噪声和残差部分,分别用 D c L c D s L s 和E表示。其中 D c L c 分别为干净数据的字典和系数矩阵, D s L s 分别为结构噪声的字典和系数矩阵,剩余残差 E = X D c L c D s L s 。A是将观测矩阵X转化为干净数据的映射矩阵,为此我们提出如下模型:

(3.1)

上式对于任意固定的字典 D s ,有 D s L s 1 D s 1 L s 1 ,所以系数矩阵可以直接控制稀疏性 [13] 。因此 D s L s D c L c 的稀疏性和低秩性分别由系数矩阵 L s L c 控制。为此将(3.1)式进一步调整后如下:

(3.2)

3.2. PLID模型的优化求解

对于模型(3.2)中的变量,本文利用对称交替方向乘子法(ADMM)解决该最小化问题 [14] 。首先,引入辅助变量Q,P,M,N得到如下的优化问题:

(3.3)

问题(3.3)对应的增广拉格朗日函数为

L μ ( L c , L s , A , P , Q , M , N , E ) = arg min A c , A s , A , P , Q , M , N , E Q + λ 1 P 1 + λ 2 ( λ 3 M 1 + N ) + 1 2 E F 2 + T r ( Y 1 T ( L c Q ) ) + μ 2 L c Q F 2 + T r ( Y 2 T ( L s P ) ) + μ 2 L s P F 2 + T r ( Y 3 T ( D c L c A X M ) ) + μ 2 D c L c A X M F 2 + T r ( Y 4 T ( A N ) ) + μ 2 A N F 2 + T r ( Y 5 T ( X D c L c D s L s E ) + μ 2 X D c L c D s L s E F 2 (3.4)

其中 Y 1 Y 2 Y 3 Y 4 Y 5 是拉格朗日乘子, μ > 0 是罚参数。

1) 求解Q的子问题,保持其他变量不变,更新Q:

Q = arg min Q Q + T r ( Y 1 T ( L c Q ) ) + μ 2 L c Q F 2 = arg min Q 1 μ Q + 1 2 Q ( L c + Y 1 μ ) F 2 = Ω 1 / μ ( H ) (3.5)

其中, H = L c + Y 1 μ , Ω 1 / μ ( H ) = U Ψ 1 / μ [ ] V T 表示奇异值阈值算子 [15] , Ψ ε [ x ] = sgn ( x ) max ( | x | ε , 0 ) 是收缩算子, U [ ] V 是H的奇异值分解。

2) 求解P的子问题,保持其他变量不变,更新P:

P = arg min P λ 1 P 1 + T r ( Y 2 T ( L s P ) ) + μ 2 L s P F 2 = arg min P λ 1 μ P 1 + 1 2 P ( L s + Y 2 μ ) F 2 = Ψ λ 1 / μ ( Γ ) (3.6)

其中, Γ = L s + Y 2 μ

3) 求解M的子问题,保持其他变量不变,更新M:

M = arg min M λ 1 λ 2 M 1 + T r ( Y 3 T ( D c L c A X M ) ) + μ 2 D c L c A X M F 2 = arg min M λ 1 λ 2 M 1 + μ 2 M ( D c L c A X + Y 3 μ ) F 2 = Ψ λ 2 λ 3 / μ ( Z ) (3.7)

其中, Z = D c L c A X + Y 3 μ

4) 求解N的子问题,保持其他变量不变,更新N:

N * = arg min N λ 2 N + T r ( Y 4 T ( A N ) ) + μ 2 A N F 2 = arg min N λ 2 N + μ 2 N ( A + Y 4 μ ) F 2 = Ω λ 2 / μ ( K ) (3.8)

其中, K = A + Y 4 μ , Ω λ 2 / μ ( K ) = U Ψ λ 2 / μ [ ] V T 是奇异值阈值算子。

5) 求解 L c 的子问题,保持其他变量不变,更新 L c

L c * = arg min L c T r ( Y 1 T ( L c Q ) ) + μ 2 L c Q F 2 + T r ( Y 3 T ( D c L c A X M ) ) + μ 2 D c L c A X M F 2 + T r ( Y 5 T ( X D c L c D s L s E ) + μ 2 X D c L c D s L s E F 2 (3.9)

该子问题的最优解为:

L c * = ( I + 2 D c T D c ) 1 K 1 (3.10)

其中, K 1 = Q + D c T ( A X + M D s L s E + X ) μ 1 ( Y 1 + D c T Y 3 D c T Y 5 )

6) 求解 L s 的子问题,保持其他变量不变,更新 L s

L s * = arg min L s T r ( Y 2 T ( L s P ) ) + μ 2 L s P F 2 + T r ( Y 5 T ( X D c L c D s L s E ) + μ 2 X D c L c D s L s E F 2 (3.11)

该子问题的最优解为:

L s * = ( I + D s T D s ) 1 K 2 (3.12)

其中, K 2 = P + D s T ( X D c L c E ) μ 1 ( Y 2 D s T Y 5 )

7) 求解A的子问题,保持其他变量不变,更新A:

A * = arg min A + T r ( Y 3 T ( D c L c A X M ) ) + μ 2 D c L c A X M F 2 + T r ( Y 4 T ( A N ) ) + μ 2 A N F 2 (3.13)

该子问题的最优解为:

A * = K 3 ( I + X X T ) 1 (3.14)

其中, K 3 = D c L c X T M X T + N + μ 1 ( Y 3 X T Y 4 )

8) 求解E的子问题,保持其他变量不变,更新E:

E * = arg min E 1 2 E F 2 + T r ( Y 5 T ( X D c L c D s L s E ) ) + μ 2 X D c L c D s L s E F 2 (3.15)

该子问题的最优解为:

E * = μ μ + 1 ( X D c L c D s L s + Y 5 μ ) (3.16)

算法1给出了求解优化问题(3.3)的PLID迭代过程

算法1. PLID迭代过程

3.3. 算法的复杂度分析

算法1中,Q和N涉及了对矩阵进行奇异值分解,所以求解 L c 和A的步骤是最耗时的。对于一个矩阵 X R m × n ,精确SVD的计算复杂度为 O ( min ( m n 2 , m 2 n ) ) 。因此,更新 Q R d c × n 的计算复杂度为 O ( min ( d c n 2 , d c 2 n ) ) ,类似的更新 N R m × m 的计算复杂度为 O ( m 3 )

4. 实验结果与讨论

在本节中,首先在ORL1和Yale2数据集上进行消融实验,验证PLID算法各个成分的有效性。其次对PLID算法的收敛性进行分析。最后在AR数据集 [16] 上与RPCA [10] ,PSSV [17] ,DRPCA [18] ,ARPCA [19] 等算法进行比较。表1总结了实验所用的数据集的特征。

Table 1. Description of the experimental dataset

表1. 实验数据集的描述

4.1. 预学习字典

在算法1的框架之外,需要提前学习字典 D c D s 。首先采用RPCA方法将原始数据分解为干净部分和结构化噪声,然后利用KSVD学习这两部分的字典 D c D s ,两个字典分别为干净数据字典和结构化噪声字典。本文对ORL,AR和Yale数据集干净部分和结构化噪声的两个字典的原子数分别设置为2和3。

4.2. 收敛性分析

当涉及到具有三个以上变量块的凸问题时,ADMM可能是发散的 [20] ,因此本文采用实验证明算法的收敛性,其中 r k = max { L c k + 1 Q k + 1 , L s k + 1 P k + 1 , D c L c k + 1 A k + 1 X M k + 1 , A k + 1 N k + 1 , X D c L c k + 1 D s L s k + 1 E k + 1 } < ε 图1可以看出,PLID在所有数据集中大约会在迭代80次收敛。

Figure 1. Convergence curves of PLID on three datasets

图1. PLID在三个数据集的收敛曲线

4.3. 消融实验

上述所提出的模型是由几个模块组成,为验证各个模块的相关性和有效性,我们对其进行消融实验,具体方式如下:

1) 为了评估预学习字典的作用,将PLID的完整版本与没有预学习字典的方法进行比较,即干净数据和结构化噪声不分解为字典和系数矩阵的乘积。

2) 理论上,对不同的数据分别进行预学习字典可以提高算法的恢复性能。为了证实这种潜在的优势,将完整版本的算法和它的简化版本进行比较,即字典用单位矩阵表示。

3) 为了验证正则项的作用,对PLID在参数 λ 2 为零和非零时的性能进行比较。

最后,用准确度(Accuracy, ACC),归一化互信息(normalized mutual information, NMI)和纯度(Purity, PUR)做为评价指标,对ORL和Yale数据集进行聚类实验,检验各个组件的聚类效果,所得结果汇总于表2。表中结果表明,PLID的每个模块在提高算法的性能方面发挥着积极和显著的作用。

4.4. 人脸去噪实验

首先随机在AR数据集上 [16] 选择5个类,然后进一步选择每类中14张无遮挡的干净图像和3张带眼镜的图像作为训练数据,剩下3张带眼镜图像作为每类的测试数据。将每张图片的大小重新调整为55 × 40,参数设置 λ 1 = 0.01 λ 2 = 0.5 / max ( m , n ) λ 3 = 1.8 。此外,我们将同时对每张图像添加如下的两种噪声:

Table 2. Cluster index analysis of different components of PLID

表2. PLID不同组成成分的聚类指标分析

1) 添加信噪比为15 dB的高斯噪声

2) 添加3个大小为5 × 5黑色遮挡块

Figure 2. Example of AR image corruption

图2. AR图像损坏示例

图2是添加两种噪声后的图像示例。下面将提出的算法与其他方法进行比较,并使用k-means方法对获得的干净数据进行聚类分析,聚类结果如表3所示。

Table 3. Clustering results of corrupted AR images

表3. 损坏的AR图像聚类结果

表3可以看出,PLID相比其它四种算法对损坏图像的聚类效果更好,体现了更好的性能。同时,图3展示了不同算法的恢复图像,很容易发现 RPCA,PSSV,DRPCA和ARPCA算法可以很好的处理一部分高斯噪声和黑色遮挡块,但是不能很好地处理人脸的眼镜遮挡。相比之下,本文所提的算法不仅去除了眼镜干扰,还很清晰地去掉了三个黑色块,说明PLID更适合处理复杂的噪声情况。

Figure 3. Example of recovery. (a) is the image damaged, (b)~(f) is the image reconstructed by RPCA, PSSV, DWRPCA, ARPCA, and PLID, respectively

图3. 算法恢复AR图像的可视化示例。(a) 是被噪声损坏的图像,(b)~(f) 分别是被RPCA,PSSV,DWRPCA,ARPCA和PLID重建的图像

此外,为了验证映射矩阵A对新样本(即测试数据)的有效性,先使用PLID通过训练数据求得A,然后对测试数据中5个类的10张带有太阳眼镜图像直接处理,恢复结果如图4所示。可以看出,添加噪声的测试样本在通过映射矩阵的线性变换后,也可以恢复出一张清晰的人脸。

Figure 4. Example of recovery of the test sample. The first row is the test sample with added noise, and the second row is the data AX reconstructed with mapping matrix A

图4. 测试样本的恢复示例。第一行是添加噪声的测试样本,第二行是利用映射矩阵A重构的数据AX

5. 结论

本文提出了一种基于预学习字典的低秩算法,该算法将干净数据和结构化噪声分别表示为字典矩阵和系数矩阵的乘积,同时在重构误差和低秩结构之间建立联系。预学习的字典可以表示小数据集中的子空间,可以提高图像的去噪性能。此外,基于训练数据得到的映射矩阵可以用于处理未参与训练的新样本。采用对称ADMM将优化模型的目标函数分解为若干个子问题进行求解,大大减少了数据集中恢复出干净数据的计算量并加快了算法的迭代速度。最后在AR数据集上的实验表明,该方法从噪声数据中恢复具有低秩结构的干净数据方面优于其他方法。

参考文献

[1] Chen, R., Pu, D., Tong, Y., et al. (2022) Image-Denoising Algorithm Based on Improved K-Singular Value Decomposition and Atom Optimization. CAAI Transactions on Intelligence Technology, 7, 117-127.
https://doi.org/10.1049/cit2.12044
[2] Sahoo, S.K. and Makur, A. (2015) Replacing K-SVD with SGK: Dictionary Training for Sparse Representation of Images. 2015 IEEE International Conference on Digital Signal Processing, Singapore, 21-24 July 2015, 614-617.
https://doi.org/10.1109/ICDSP.2015.7251947
[3] Song, X., Liu, Z., Yang, X. and Yang, J. (2014) A Parameterized Fuzzy Adaptive K-SVD Approach for the Multi-Classes Study of Pursuit Algorithms. Neurocomputing, 123, 131-139.
https://doi.org/10.1016/j.neucom.2013.06.017
[4] Liu, G., Lin, Z., Yan, S., et al. (2012) Robust Recovery of Subspace Structures by Low-Rank Representation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 35, 171-184.
https://doi.org/10.1109/TPAMI.2012.88
[5] Mairal, J., Bach, F. and Ponce, J. (2011) Task-driven Dictionary Learning. IEEE Transactions on Pattern Analysis and Machine Intelligence, 34, 791-804.
https://doi.org/10.1109/TPAMI.2011.156
[6] Chen, Z., Papadopoulos, H. and Ellis, D.P. (2014) Content-Adaptive Speech Enhancement by a Sparsely-Activated Dictionary plus Low Rank Decomposition. 2014 4th Joint Workshop on Hands-free Speech Communication and Microphone Arrays, Villers-les-Nancy, 12-14 May 2014, 16-20.
https://doi.org/10.1109/HSCMA.2014.6843242
[7] Xu, S., Yang, X. and Jiang, S. (2017) A Fast Nonlocally Centralized Sparse Representation Algorithm for Image Denoising. Signal Processing, 131, 99-112.
https://doi.org/10.1016/j.sigpro.2016.08.006
[8] Wright, J., Ma, Y., Mairal, J., et al. (2010) Sparse Representation for Computer Vision and Pattern Recognition. Proceedings of the IEEE, 98, 1031-1044.
https://doi.org/10.1109/JPROC.2010.2044470
[9] Zhou, P., Fang, C., Lin, Z., et al. (2018) Dictionary Learning with Structured Noise. Neurocomputing, 273, 414-423.
https://doi.org/10.1016/j.neucom.2017.07.041
[10] Candès, E. J., Li, X., Ma, Y. and Wright, J. (2011) Robust Principal Component Analysis? Journal of the ACM, 58, 1-37.
https://doi.org/10.1145/1970392.1970395
[11] Murphy, K. P. (2012) Machine Learning: A Probabilistic Perspective. MIT Press, Cambridge.
[12] Vinh, N. X., Epps, J. and Bailey, J. (2010) Information Theoretic Measures for Clusterings Comparison: Variants, Properties, Normalization and Correction for Chance. Journal of Machine Learning Research, 11, 2837-2854.
[13] Yu, S., Zhang, H. and Duan, Z. (2017) Singing Voice Separation by Low-Rank and Sparse Spectrogram Decomposition with Prelearned Dictionaries. Journal of the Audio Engineering Society, 65, 377-388.
https://doi.org/10.17743/jaes.2017.0009
[14] Chao, M.T., Han, D. R. and Cai, X.J. (2021) Convergence of the Peaceman-Rachford Splitting Method for a Class of Nonconvex Programs. Numerical Mathematics Theory Methods and Applications, 14, 438-460.
https://doi.org/10.4208/nmtma.OA-2020-0063
[15] Cai, J.F., Candès, E.J. and Shen, Z. (2010) A Singular Value Thresholding Algorithm for Matrix Completion. SIAM Journal on Optimization, 20, 1956-1982.
https://doi.org/10.1137/080738970
[16] Martinez, A. and Benavente, R. (1998) The AR Face Database. CVC Technical Report, 24, 1-10.
[17] Oh, T.H., Tai, Y.W., Bazin, J.C., et al. (2015) Partial Sum Minimization of Singular Values in Robust PCA: Algorithm and Applications. IEEE Transactions on Pattern Analysis and Machine Intelligence, 38, 744-758.
https://doi.org/10.1109/TPAMI.2015.2465956
[18] Wang, Q., Gao, Q., Sun, G., et al. (2020) Double Robust Principal Component Analysis. Neurocomputing, 391, 119-128.
https://doi.org/10.1016/j.neucom.2020.01.097
[19] Liu, Y., Gao, X., Gao, Q., et al. (2019) Adaptive Robust Principal Component Analysis. Neural Networks, 119, 85-92.
https://doi.org/10.1016/j.neunet.2019.07.015
[20] Chen, C., He, B., Ye, Y. and Yuan, X. (2016) The Direct Extension of ADMM for Multi-B-lock Convex Minimization Problems Is Not Necessarily Convergent. Mathematical Programming, 155, 57-79.
https://doi.org/10.1007/s10107-014-0826-5