主成分分析求解的模型适用于去除密集的高斯小噪声,但是对于非高斯噪声或离群点严重的噪声时,主成分分析法去噪效果很不理想,缺乏鲁棒性。针对主成分分析模型的缺点提出了鲁棒主成分分析模型。本文在鲁棒主成分分析的相关理论基础下,研究了鲁棒主成分分析的几种经典模型的去噪效果。通过实验数据及图片的效果,分析对比这几个模型的优缺点。 The model solved by principal component analysis is suitable for removing dense Gaussian small noise, but for non-gaussian noise or noise with serious outliers, the denoising effect of principal component analysis is not ideal and lacks robustness. A robust principal component analysis model was proposed to overcome the shortcomings of the PCA model. Based on the theory of robust principal component analysis, this paper studies the denoising effects of several classical models of RPCA. The advantages and disadvantages of these models are analyzed and compared through the results of experimental data and pictures.
王月兴,吕倩
辽宁师范大学,辽宁 大连
收稿日期:2019年5月25日;录用日期:2019年6月12日;发布日期:2019年6月19日
主成分分析求解的模型适用于去除密集的高斯小噪声,但是对于非高斯噪声或离群点严重的噪声时,主成分分析法去噪效果很不理想 [
关键词 :鲁棒主成分分析模型,低秩矩阵,图像除噪
Copyright © 2019 by author(s) and beplay安卓登录
This work is licensed under the Creative Commons Attribution International License (CC BY).
http://creativecommons.org/licenses/by/4.0/
在实际应用中可以将图像看作矩阵X。 X = A + E ,其中A是低秩矩阵,E为稀疏(噪声)矩阵 [
min A , E ‖ A ‖ ∗ + λ ‖ E ‖ 1 s .t . X = A + E (1)
其中 ‖ ⋅ ‖ 1 为矩阵的 l 1 范数, ‖ ⋅ ‖ ∗ 为矩阵的核范数。 λ = 1 / max ( m , n ) 。A是需要恢复的原矩阵,通常为
低秩的;E是未知的噪声矩阵;X是含噪声的矩阵。
对(1)构建增广拉格朗日函数得:
L μ ( A , E , Y ) = ‖ A ‖ ∗ + λ ‖ E ‖ 1 + 〈 X − A − E , Y 〉 + μ 2 ‖ X − A − E ‖ F 2
迭代低秩矩阵A为:
A * = arg min A L μ ( A , E , Y ) = arg min A ‖ A ‖ ∗ + 〈 X − A − E , Y 〉 + μ 2 ‖ X − A − E ‖ F 2 = D μ − 1 { X − E + μ − 1 Y }
迭代稀疏矩阵E为:
E * = arg min E L μ ( A , E , Y ) = arg min A λ ‖ E ‖ 1 + 〈 X − A − E , Y 〉 + μ 2 ‖ X − A − E ‖ F 2 = S λ μ − 1 { X − A + μ − 1 Y }
使用APG或ALM求解RPCA优化问题,每次迭代时要求对输入矩阵 X ∈ R m × n 进行SVD。RPCA模型中含有核范数,虽然在很多情况下这是可以接受的,但是随着X的增大或性能需求的增加更高时,每次进行SVD在计算上过于耗时。为了缓解这个问题,Cabral等人 [
min U , V , E 1 2 ( ‖ U ‖ F 2 + ‖ V ‖ F 2 ) + λ ‖ E ‖ 1 s .t . X = U V + E (2)
对(2)构建增广拉格朗日函数得:
L μ ( U , V , E , Y ) = 1 2 ( ‖ U ‖ F 2 + ‖ V ‖ F 2 ) + λ ‖ E ‖ 1 + 〈 X − U V − E , Y 〉 + μ 2 ‖ X − U V − E ‖ F 2
输出低秩矩阵A为:
A * = U * V *
其中:
迭代矩阵U为:
U * = arg min U L μ ( U , V , E , Y ) = arg min U 1 2 ‖ U ‖ F 2 + 〈 X − U V − E , Y 〉 + μ 2 ‖ X − U V − E ‖ F 2 (3)
对(3)式求导有:
∂ ∂ U ( 1 2 ‖ U ‖ F 2 + 〈 X − U V − E , Y 〉 + μ 2 ‖ X − U V − E ‖ F 2 ) = 0 U * = ( X − E + μ − 1 Y ) V T ( V V T + μ − 1 I ) − 1
迭代矩阵V为:
V * = arg min V L μ ( U , V , E , Y ) = arg min V 1 2 ‖ V ‖ F 2 + 〈 X − U V − E , Y 〉 + μ 2 ‖ X − U V − E ‖ F 2 (4)
对(4)式求导有:
∂ ∂ V ( 1 2 ‖ V ‖ F 2 + 〈 X − U V − E , Y 〉 + μ 2 ‖ X − U V − E ‖ F 2 ) = 0 V * = ( U T U + μ − 1 I ) − 1 U T ( X − E + μ − 1 Y )
迭代稀疏矩阵E为:
E * = arg min E L μ ( U , V , E , Y ) = arg min E λ ‖ E ‖ 1 + 〈 X − U V − E , Y 〉 + μ 2 ‖ X − U V − E ‖ F 2 = S λ μ - 1 { X − U V + μ − 1 Y }
由于RPCA和BPCA都适用于批量运算,因此每次观察到一个新的数据点时,都必须在所有数据上运行算法,对不是批量运算的应用程序来说并不是很适合。IRPCA模型 [
min P , E ‖ P ‖ * + λ ‖ E ‖ 1 s .t . X = P X + E (5)
对(5)构建增广拉格朗日函数得:
L μ ( P , E , Y ) = ‖ P ‖ * + λ ‖ E ‖ 1 + 〈 X − P X − E , Y 〉 + μ 2 ‖ X − P X − E ‖ F 2
输出低秩矩阵A为:
A * = P * X
迭代低秩矩阵P为:
arg min p L μ ( P , E , Y ) = arg min p ‖ P ‖ * + 〈 X − P X − E , Y 〉 + μ 2 ‖ X − P X − E ‖ F 2 = arg min p μ − 1 ‖ P ‖ * + 1 2 ‖ P X − ( X − E + μ − 1 Y ) ‖ F 2
迭代稀疏矩阵E为:
P k + 1 ∗ = D ( μ n ) − 1 { P k − n − 1 ( P k X − X + E − μ − 1 Y ) X T } E * = arg min E L μ ( P , E , Y ) = arg min λ E ‖ E ‖ 1 + 〈 X − P X − E , Y 〉 + μ 2 ‖ X − P X − E ‖ F 2 = S λ μ − 1 { X − P X + μ − 1 Y }
对于给定的数据矩阵 X ∈ R m × n ,RPCA试图恢复低秩矩阵 A ∈ R m × n ,可以认为是X在低维子空间上的投影,我们称之为主子空间。IRPCA将这一思想更进一步,尝试学习投影矩阵 P ∈ R m × n ,它将X投影到主子空间上,从而检索A (即 A = P X )。假设主子空间为r维,其中 r ≤ min ( m , n ) ,则需要学习一组基
向量 U = [ u 1 , u 2 , ⋯ , u r ] ∈ R m × r 张成主子空间。为了限制U,这里要求这组基向量是正交的,即 U T U = I 。
经典的主成分分析通常将这些基向量称为主成分。学习了主成分后,投影的数据点将表示为主成分的线性组合。换句话说,如果 V ∈ R m × n 是一个合适系数的矩阵,我们可以写成 A = U V 。
下面,根据前面的讨论,修改RPCA问题。我们可以写出 A = U V , U T U = I 。由于核范数的不变性,我们得到:
‖ A ‖ * = ‖ U V ‖ * = ‖ V ‖ *
建立标准正交鲁棒主成分分析模型 [
min V , E , U ‖ V ‖ * + λ ‖ E ‖ 1 s .t . X = U V + E , U T U = I (6)
对(6)构建增广拉格朗日函数得:
L μ ( V , E , U , Y ) = ‖ V ‖ * + λ ‖ E ‖ 1 + 〈 X − U V − E , Y 〉 + μ 2 ‖ X − U V − E ‖ F 2
输出低秩矩阵A为:
A * = U * V *
迭代矩阵V为:
V * = arg min V L μ ( V , E , U , Y ) = arg min V ‖ V ‖ * + 〈 X − U V − E , Y 〉 + μ 2 ‖ X − U V − E ‖ F 2 = D μ − 1 { U T ( X − E + μ − 1 Y ) }
迭代矩阵U:
U * = arg min U L μ ( V , E , U , Y ) = arg min U 〈 X − U V − E , Y 〉 + μ 2 ‖ X − U V − E ‖ F 2 = arg min U 1 2 ‖ ( X − E + μ − 1 Y ) − U V ‖ F 2
迭代稀疏矩阵E为:
E * = arg min E L μ ( V , E , U , Y ) = arg min E λ ‖ E ‖ 1 + 〈 X − U V − E , Y 〉 + μ 2 ‖ X − U V − E ‖ F 2 = S λ μ − 1 { X − U V + μ − 1 Y }
首先,选取大小规模为 650 × 650 的原始图片见,对原始图片添加含噪率为10%的椒盐噪声,详情见图1。设定算法迭代终止条件为 t o l = 1 e − 6 ,迭代最大次数为1000次,其他参数为默认值。算出各个算法恢复矩阵后的相对错误率,算法运行时间和算法达到收敛时迭代次数。从而能更准确的对各类算法进行对比总结。
图1. 原始图片与含有噪声的图片
由图2中的图像与图1对比和表1数据对比,我们可以看出传统的RPCA耗时时间最长,迭代次数最多,所得图像相对误差较大;BRPCA耗时与迭代次数均较少,但图像误差仅次于RPCA;IRPCA耗时时间与所需的迭代次数最短,所的图像较为清晰,误差较小;ORPCA所需时长与迭代次数略高于BRPCA,但所的图像最清晰,误差最小。
图2. 各算法去噪后的图片
算法 | Error | Time | Iteration |
---|---|---|---|
RPCA | 0.1551 | 227.3066 | 689 |
BRPCA | 0.1466 | 119.4432 | 222 |
IRPCA | 0.1229 | 97.7451 | 198 |
ORPCA | 0.1105 | 125.33 | 246 |
表1. 各算法去噪后的数据
在本文中,我们介绍了几种主成分分析模型,即RPCA模型,BRPCA模型,IRPCA模型和ORPCA模型,分析了他们的原理,模型的求解并进行了实验,通过实验我们可以发现,这几种模型对图片去噪是有效的,但是所需要的时间,迭代次数,以及误差大小各不相同,利用直观的图像和数据更加客观的反应各种算法的优缺点。
王月兴,吕 倩. 鲁棒主成分分析模型综述A Review of Robust Principal Component Analysis Models[J]. 应用数学进展, 2019, 08(06): 1107-1113. https://doi.org/10.12677/AAM.2019.86128
https://doi.org/10.1109/ICCV.2013.309
https://doi.org/10.1109/TIP.2012.2192742
https://doi.org/10.1162/NECO_a_00369