基于低秩张量填充方法的图像修复【初尝试】--凸优化方法yyds!
图像修复背景简介
研究者将常见的图像修复方法包括五类:基于偏微分方程的方法、基于样本的方法、基于稀疏表示的方法、基于低秩表示的方法、基于深度学习的方法。
偏微分方程方法的原理是利用已经构建的模型方程,将需要修复区域四周的有效信息由外向内扩散到需要修复区域中,通过有效地刻画图像的局部特征达到修复的目的。适用于有划痕、文字等小范围破损区域的自然图像;然而对于有大块损毁区域或者损毁比例非常高的情况会产生模糊效果。
已有的研究表明,现实应用中的图像具有近似低秩性。图像在计算机中以矩阵(张量)的形式存储,例如,一个彩色图像是一个具有列、行和颜色模式的三维对象。因此可以将图像修复问题转换为低秩矩阵(张量)填充问题来进行研究。由于关于张量的秩的定义非常复杂,现有的很多方法是将张量展平成为矩阵来处理,但是将多维数据降维会损失信息,造成性能下降。
设 I ∈ R n 1 × n 2 × n 3 \boldsymbol {\mathcal{I}} \in \mathbf{R}^{n_1 \times n_2 \times n_3} I∈Rn1×n2×n3为输入的损失图像(待修复), Ω \boldsymbol \varOmega Ω为能观察到的输入(像素)点集合,为使恢复的图像 L ∈ R n 1 × n 2 × n 3 \boldsymbol{\mathcal{L}} \in \mathbf{R}^{n_1 \times n_2 \times n_3} L∈Rn1×n2×n3的秩最低,同时在 Ω \boldsymbol \varOmega Ω上与 I \boldsymbol {\mathcal{I}} I一致,图像修复问题可用张量补全算法描述为:
m
i
n
i
m
i
z
e
L
r
a
n
k
(
L
)
s
u
b
j
e
c
t
t
o
P
Ω
(
L
)
=
P
Ω
(
I
)
\begin{aligned} &\underset{\boldsymbol{\mathcal{L}}}{\mathrm{minimize}} \quad \mathrm{rank}(\boldsymbol{\mathcal{L}})\\ &\mathrm{subject\, to} \quad P_{\varOmega}(\boldsymbol{\mathcal{L}})=P_{\varOmega}(\boldsymbol{\mathcal{I}}) \end{aligned}
Lminimizerank(L)subjecttoPΩ(L)=PΩ(I)
其中,
r
a
n
k
(
L
)
\mathrm{rank}(\boldsymbol{\mathcal{L}})
rank(L)是张量
L
\boldsymbol{\mathcal{L}}
L的秩,
P
Ω
P_{\varOmega}
PΩ是一个线性算子,作用是在输入像素点属于
Ω
\boldsymbol \varOmega
Ω时输出不变,否则输出为0。
现存的一个主要的问题是,张量秩没有很好的定义和紧凸松弛。研究者们提出了几种张量秩定义及其凸松弛,比如,CP秩、Tucker秩等。但是都有局限性,仍然有提高的空间。
Lu基于张量-张量积(tensor-tensor product,t-product)、张量奇异值分解等提出了张量核范数(tensor nuclear norm, NMM),并以此作为张量管秩的一种紧凸松弛,进而将优化问题转化为:
m
i
n
i
m
i
z
e
L
∥
L
∥
∗
s
u
b
j
e
c
t
t
o
P
Ω
(
L
)
=
P
Ω
(
I
)
\begin{aligned} &\underset{\boldsymbol{\mathcal{L}}}{\mathrm{minimize}} \quad \Vert \boldsymbol{\mathcal{L}}\Vert_*\\ &\mathrm{subject \, to} \quad P_{\varOmega}(\boldsymbol{\mathcal{L}})=P_{\varOmega}(\boldsymbol{\mathcal{I}}) \end{aligned}
Lminimize∥L∥∗subjecttoPΩ(L)=PΩ(I)
低秩张量填充的基本理论
张量的基本符号
本文中,标量用小写字母表示,比如: a a a,向量用黑体小写字母表示;比如: a \boldsymbol{a} a;矩阵用黑体大写字母表示,比如: A \boldsymbol{A} A;张量用黑体欧拉大写字母表示,比如: A \boldsymbol{\mathcal{A}} A。对于一个三阶张量 A ∈ R n 1 × n 2 × n 3 \boldsymbol{\mathcal{A}} \in \mathbf{R}^{n_1 \times n_2 \times n_3} A∈Rn1×n2×n3, A i j k \boldsymbol{\mathcal{A}}_{ijk} Aijk表示它的第 ( i , j , k ) (i,j,k) (i,j,k)个元素。适用MATLAB中的表示方法 A ( i , : , : ) , A ( : , i , : ) , A ( : , : , i ) \boldsymbol{\mathcal{A}}(i,:,:),\,\boldsymbol{\mathcal{A}}(:,i,:),\,\boldsymbol{\mathcal{A}}(:,:,i) A(i,:,:),A(:,i,:),A(:,:,i)分别表示第 i i i个水平切片,侧向切片和正面切片。
张量
A
\boldsymbol{\mathcal{A}}
A的块循环矩阵为:
b
c
r
i
c
(
A
)
=
[
A
(
1
)
A
(
n
3
)
⋯
A
(
2
)
A
(
2
)
A
(
1
)
⋯
A
(
3
)
⋮
⋮
⋱
⋮
A
(
n
3
)
A
(
n
3
−
1
)
⋯
A
(
1
)
]
\mathrm{bcric}(\boldsymbol{\mathcal{A}}) = \left[\begin{matrix} \boldsymbol{\mathcal{A}}^{(1)} & \boldsymbol{\mathcal{A}}^{(n_3)} & \cdots & \boldsymbol{\mathcal{A}}^{(2)} \\ \boldsymbol{\mathcal{A}}^{(2)} & \boldsymbol{\mathcal{A}}^{(1)} & \cdots & \boldsymbol{\mathcal{A}}^{(3)} \\ \vdots & \vdots & \ddots & \vdots \\ \boldsymbol{\mathcal{A}}^{(n_3)} & \boldsymbol{\mathcal{A}}^{(n_3-1)} & \cdots &\boldsymbol{\mathcal{A}}^{(1)}\end{matrix}\right]
bcric(A)=
A(1)A(2)⋮A(n3)A(n3)A(1)⋮A(n3−1)⋯⋯⋱⋯A(2)A(3)⋮A(1)
其中,
A
(
i
)
\boldsymbol{\mathcal{A}}^{(i)}
A(i)表示第
i
i
i个正面切片。
展开与折叠算子定义为:
u
n
f
o
l
d
(
A
)
=
(
A
(
1
)
A
(
2
)
⋮
A
(
n
3
)
)
,
f
o
l
d
(
u
n
f
o
l
d
(
A
)
)
=
A
\mathrm{unfold}(\boldsymbol{\mathcal{A}}) = \left( \begin{matrix}\boldsymbol{\mathcal{A}}^{(1)}\\\boldsymbol{\mathcal{A}}^{(2)}\\ \vdots \\ \boldsymbol{\mathcal{A}}^{(n_3)} \end{matrix}\right),\quad \mathrm{fold}(\mathrm{unfold}(\boldsymbol{\mathcal{A}}))=\boldsymbol{\mathcal{A}}
unfold(A)=
A(1)A(2)⋮A(n3)
,fold(unfold(A))=A
张量的基本知识
(张量积):张量
A
∈
R
n
1
×
n
2
×
n
3
\boldsymbol{\mathcal{A}}\in \mathbf{R}^{n_1\times n_2 \times n_3}
A∈Rn1×n2×n3和
B
∈
R
n
2
×
n
4
×
n
3
\boldsymbol{\mathcal{B}\in \mathbf{R}^{n_2 \times n_4 \times n_3}}
B∈Rn2×n4×n3的张量积定义为:
C
=
A
∗
B
\boldsymbol{\mathcal{C}} = \boldsymbol{\mathcal{A}}*\boldsymbol{\mathcal{B}}
C=A∗B
C
(
i
,
j
,
:
)
=
∑
k
=
1
n
2
A
(
i
,
k
,
:
)
∗
B
(
k
,
j
,
:
)
\boldsymbol{\mathcal{C}}(i,j,:) = \sum_{k=1}^{n_2}\boldsymbol{\mathcal{A}}(i,k,:)*\boldsymbol{\mathcal{B}}(k,j,:)
C(i,j,:)=k=1∑n2A(i,k,:)∗B(k,j,:)
(张量核范数):张量 A \boldsymbol{\mathcal{A}} A的核范数 ∥ A ∥ ∗ \Vert \boldsymbol{\mathcal{A}}\Vert_* ∥A∥∗是其离散傅里叶变换 A ^ \hat{\boldsymbol{\mathcal{A}}} A^的所有正面切片的奇异值的和。
张量核范数是范数,因此也是凸的,其证明可以参考相关文献。
优化求解过程
所建立的图像修复优化问题的目标函数是凸函数,等式约束是仿射的,所以是凸优化问题。为了减小计算复杂度,提高图像修复的效率,采用交替方向乘子法(Alternating Direction Method of Multipliers,ADMM)对优化问题进行求解。
交替方向乘子法一般形式
交替方向乘子法通常用于解决存在两个优化变量的只含等式约束的优化类问题,其一般形式为:
m
i
n
i
m
i
z
e
x
,
z
f
(
x
)
+
g
(
z
)
s
u
b
j
e
c
t
t
o
A
x
+
B
z
=
c
\begin{aligned} &\underset{x,z}{\mathrm{minimize}} \quad f(x)+g(z)\\ &\mathrm{subject \, to} \quad Ax+Bz = c \end{aligned}
x,zminimizef(x)+g(z)subjecttoAx+Bz=c
其中,
f
(
x
)
f(x)
f(x)和
g
(
z
)
g(z)
g(z)都是凸函数。
上述优化问题的增广拉格朗日函数为:
L
ρ
(
x
,
z
,
u
)
=
f
(
x
)
+
g
(
z
)
+
u
T
(
A
x
+
B
z
−
c
)
+
ρ
2
∥
A
x
+
B
z
−
c
∥
2
2
L_\rho (x,z,u) = f(x)+g(z)+u^{\mathrm{T}}(Ax+Bz-c)+\frac{\rho}{2}\Vert Ax+Bz-c \Vert_2^2
Lρ(x,z,u)=f(x)+g(z)+uT(Ax+Bz−c)+2ρ∥Ax+Bz−c∥22
交替方向乘子法每一步只更新一个变量而固定另外两个变量,如此交替重复更新。
为简化形式,如果令
w
=
u
ρ
\displaystyle w=\frac{u}{\rho}
w=ρu,则增广拉格朗日函数可以写成:
L
ρ
(
x
,
z
,
u
)
=
f
(
x
)
+
g
(
z
)
+
ρ
2
∥
A
x
+
B
z
−
c
+
w
∥
2
2
−
ρ
2
∥
w
∥
2
2
L_\rho (x,z,u) = f(x)+g(z)+\frac{\rho}{2}\Vert Ax+Bz-c+w \Vert_2^2-\frac{\rho}{2}\Vert w \Vert_2^2
Lρ(x,z,u)=f(x)+g(z)+2ρ∥Ax+Bz−c+w∥22−2ρ∥w∥22
缩放形式的
A
D
M
M
\mathrm{ADMM}
ADMM算法如下:
模型的优化求解过程
虽然图像修复优化问题是凸优化问题,但是其在 c v x \mathrm{cvx} cvx工具包中不易表示,并且求解过程会非常长,为了提高求解效率,下面给出图像修复优化问题的 A D M M \mathrm{ADMM} ADMM方法求解过程。
首先引入变量
E
\boldsymbol{\mathcal{E}}
E,使得
I
=
L
+
E
\boldsymbol{\mathcal{I}} = \boldsymbol{\mathcal{L}}+\boldsymbol{\mathcal{E}}
I=L+E,将优化问题\eqref{(2)}等价地写为如下形式:
m
i
n
i
m
i
z
e
L
,
E
∥
L
∥
∗
+
1
P
Ω
(
E
)
=
0
s
u
b
j
e
c
t
t
o
I
=
L
+
E
\begin{aligned} &\underset{\boldsymbol{\mathcal{L}},\boldsymbol{\mathcal{E}}}{\mathrm{minimize}} \quad \Vert \boldsymbol{\mathcal{L}}\Vert_*+\mathbf{1}_{P_{\varOmega}(\boldsymbol{\mathcal{E}})=\mathbf{0}}\\ &\mathrm{subject \, to} \quad \boldsymbol{\mathcal{I}} =\boldsymbol{\mathcal{L}}+\boldsymbol{\mathcal{E}} \end{aligned}
L,Eminimize∥L∥∗+1PΩ(E)=0subjecttoI=L+E
其中,
1
\mathbf{1}
1是示性函数。
增广拉格朗日函数为:
L
ρ
(
L
,
E
,
Y
)
=
∥
L
∥
∗
+
1
P
Ω
(
E
)
=
0
+
⟨
Y
,
I
−
L
−
E
⟩
+
ρ
2
∥
I
−
L
−
E
∥
F
2
L_\rho(\boldsymbol{\mathcal{L}},\boldsymbol{\mathcal{E}},\boldsymbol{\mathcal{Y}}) = \Vert \boldsymbol{\mathcal{L}} \Vert_* + \mathbf{1}_{P_{\varOmega}(\boldsymbol{\mathcal{E}})=\mathbf{0}}+ \left \langle \boldsymbol{\mathcal{Y},\boldsymbol{\mathcal{I}}-\boldsymbol{\mathcal{L}-\boldsymbol{\mathcal{E}}}} \right \rangle+\frac{\rho}{2}\Vert \boldsymbol{\mathcal{I}}-\boldsymbol{\mathcal{L}}-\boldsymbol{\mathcal{E}}\Vert_F^2
Lρ(L,E,Y)=∥L∥∗+1PΩ(E)=0+⟨Y,I−L−E⟩+2ρ∥I−L−E∥F2
令
μ
=
Y
ρ
\displaystyle \boldsymbol{\mu}=\frac{\boldsymbol{\mathcal{Y}}}{\rho}
μ=ρY,则增广拉格朗日函数可以写成:
L
ρ
(
L
,
E
,
Y
)
=
∥
L
∥
∗
+
1
P
Ω
(
E
)
=
0
+
ρ
2
∥
I
−
L
−
E
+
μ
∥
F
2
+
ρ
2
∥
μ
∥
F
2
L_\rho(\boldsymbol{\mathcal{L}},\boldsymbol{\mathcal{E}},\boldsymbol{\mathcal{Y}}) = \Vert \boldsymbol{\mathcal{L}} \Vert_* + \mathbf{1}_{P_{\varOmega}(\boldsymbol{\mathcal{E}})=\mathbf{0}}+ \frac{\rho}{2}\Vert \boldsymbol{\mathcal{I}}-\boldsymbol{\mathcal{L}}-\boldsymbol{\mathcal{E}+\mu}\Vert_F^2+\frac{\rho}{2}\Vert \boldsymbol{\mu}\Vert_F^2
Lρ(L,E,Y)=∥L∥∗+1PΩ(E)=0+2ρ∥I−L−E+μ∥F2+2ρ∥μ∥F2
基于
A
D
M
M
\mathrm{ADMM}
ADMM,用于求解优化问题的算法如下:
在这个算法中,关键是解决凸优化问题:
m
i
n
i
m
i
z
e
X
τ
∥
X
∥
∗
+
1
2
∥
X
−
Y
∥
F
2
\underset{\boldsymbol{\mathcal{X}}}{\mathrm{minimize}} \quad \tau \Vert \boldsymbol{\mathcal{X}}\Vert_*+\frac{1}{2}\Vert \boldsymbol{\mathcal{X}}-\boldsymbol{\mathcal{Y}}\Vert_F^2
Xminimizeτ∥X∥∗+21∥X−Y∥F2
论文中证明了上述凸优化问题有一个封闭形式的解,证明过程可以参考相关论文,这里只给出结论。
令
Y
=
U
∗
S
∗
V
∗
\boldsymbol{\mathcal{Y}} = \boldsymbol{\mathcal{U}}*\boldsymbol{\mathcal{S}}*\boldsymbol{\mathcal{V}}^*
Y=U∗S∗V∗是
Y
\boldsymbol{\mathcal{Y}}
Y的张量奇异值分解(tensor SVD),对于
τ
>
0
\tau >0
τ>0,定义张量奇异值阈值(the tensor Singular Value Thresholding, t-SVT)算子:
D
τ
(
Y
)
=
U
∗
S
τ
∗
V
∗
\mathcal{D}_\tau(\boldsymbol{\mathcal{Y}})=\boldsymbol{\mathcal{U}}*\boldsymbol{\mathcal{S}}_\tau*\boldsymbol{\mathcal{V}}^*
Dτ(Y)=U∗Sτ∗V∗
其中,
S
τ
=
i
f
f
t
(
(
S
ˉ
−
τ
)
+
,
[
]
,
3
)
\boldsymbol{\mathcal{S}}_\tau = \mathrm{ifft}((\bar{\boldsymbol{\mathcal{S}}}-\tau)_+,[],3)
Sτ=ifft((Sˉ−τ)+,[],3)
张量奇异值阈值算子是上述优化问题的解析解,即
D
τ
(
Y
)
=
a
r
g
m
i
n
X
τ
∥
X
∥
∗
+
1
2
∥
X
−
Y
∥
F
2
\mathcal{D}_\tau(\boldsymbol{\mathcal{Y}}) = \mathrm{arg}\,\underset{\boldsymbol{\mathcal{X}}}{\mathrm{min}} \quad \tau \Vert \boldsymbol{\mathcal{X}}\Vert_*+\frac{1}{2}\Vert \boldsymbol{\mathcal{X}}-\boldsymbol{\mathcal{Y}}\Vert_F^2
Dτ(Y)=argXminτ∥X∥∗+21∥X−Y∥F2
t
\mathrm{t}
t-
S
V
T
\mathrm{SVT}
SVT算法如下:
t
\mathrm{t}
t-
S
V
T
\mathrm{SVT}
SVT算法可用于求解算法3中
s
t
e
p
1
\mathrm{step1}
step1中的优化问题。进一步,将完整的可以直接用于
M
A
T
L
A
B
\mathrm{MATLAB}
MATLAB程序求解优化问题的算法总结如下:
变分法与低秩张量填充结合算法
变分法简述
对于矩阵
L
\boldsymbol{L}
L,其总变分算子可以表示为:
∥
L
∥
T
V
=
∥
D
x
L
∥
2
2
+
∥
D
y
L
∥
2
2
\Vert \boldsymbol{L}\Vert_{TV} = \Vert D_x\boldsymbol{L}\Vert_2^2+\Vert D_y\boldsymbol{L} \Vert_2^2
∥L∥TV=∥DxL∥22+∥DyL∥22
其中
D
x
D_x
Dx,和
D
y
D_y
Dy分别表示对矩阵
L
\boldsymbol{L}
L的
x
x
x和
y
y
y方向的求导算子:
D
x
L
=
v
e
c
(
L
(
x
+
1
,
y
)
−
L
(
x
,
y
)
)
D
y
L
=
v
e
c
(
L
(
x
,
y
+
1
)
−
L
(
x
,
y
)
)
\begin{aligned} D_x\boldsymbol{L} = \mathrm{vec}(\boldsymbol{L}(x+1,y)-\boldsymbol{L}(x,y))\\ D_y\boldsymbol{L} = \mathrm{vec}(\boldsymbol{L}(x,y+1)-\boldsymbol{L}(x,y)) \end{aligned}
DxL=vec(L(x+1,y)−L(x,y))DyL=vec(L(x,y+1)−L(x,y))
对于一个rgb三通道的图像张量
L
\boldsymbol{\mathcal{L}}
L,将其三个通道分别拆开得到三个矩阵
L
1
,
L
2
,
L
3
\boldsymbol{L}_1, \,\boldsymbol{L}_2,\,\boldsymbol{L}_3
L1,L2,L3,该图像的总变分算子定义为:
∥
L
∥
T
V
=
∥
L
1
∥
T
V
+
∥
L
2
∥
T
V
+
∥
L
3
∥
T
V
\Vert \boldsymbol{\mathcal{L}} \Vert_{TV} = \Vert\boldsymbol{L}_1 \Vert_{TV}+\Vert\boldsymbol{L}_2 \Vert_{TV}+\Vert\boldsymbol{L}_3 \Vert_{TV}
∥L∥TV=∥L1∥TV+∥L2∥TV+∥L3∥TV
采用变分法进行图像修复的优化问题为:
m
i
n
i
m
i
z
e
L
∥
L
∥
T
V
s
u
b
j
e
c
t
t
o
P
Ω
(
L
)
=
P
Ω
(
I
)
\begin{aligned} &\underset{\boldsymbol{\mathcal{L}}}{\mathrm{minimize}}\quad \Vert \boldsymbol{\mathcal{L}} \Vert_{TV}\\ &\mathrm{subject \, to}\quad P_\varOmega(\boldsymbol{\mathcal{L}}) = P_\varOmega(\boldsymbol{\mathcal{I}}) \end{aligned}
Lminimize∥L∥TVsubjecttoPΩ(L)=PΩ(I)
参考凸优化书
P
81
P81
P81,可以证明
∥
L
∥
T
V
\Vert \boldsymbol{\mathcal{L}} \Vert_{TV}
∥L∥TV关于每一个像素点的每一个通道的取值
x
i
x_i
xi是凸函数,并且约束也是凸的,因此优化问题是凸优化问题。
变分法与张量核范数加权
一个新的尝试是将变分法与张量核范数加权,优化问题是
m
i
n
i
m
i
z
e
L
∥
L
∥
∗
+
α
∥
L
∥
T
V
s
u
b
j
e
c
t
t
o
P
Ω
(
L
)
=
P
Ω
(
I
)
\begin{aligned} &\underset{\boldsymbol{\mathcal{L}}}{\mathrm{minimize}}\quad \Vert \boldsymbol{\mathcal{L}} \Vert_* + \alpha \Vert \boldsymbol{\mathcal{L}} \Vert_{TV}\\ &\mathrm{subject \, to}\quad P_\varOmega(\boldsymbol{\mathcal{L}}) = P_\varOmega(\boldsymbol{\mathcal{I}}) \end{aligned}
Lminimize∥L∥∗+α∥L∥TVsubjecttoPΩ(L)=PΩ(I)
其中,
α
\alpha
α是权重系数,用于平衡待修复图像的低秩性和连续性。
上述优化问题的等价优化问题为:
m
i
n
i
m
i
z
e
L
,
E
,
W
∥
L
∥
∗
+
1
P
Ω
(
E
)
=
0
+
α
∥
W
∥
T
V
s
u
b
j
e
c
t
t
o
I
=
L
+
E
L
=
W
\begin{aligned} &\underset{\boldsymbol{\mathcal{L}},\,\boldsymbol{\mathcal{E}},\,\boldsymbol{\mathcal{W}}}{\mathrm{minimize}}\quad \Vert \boldsymbol{\mathcal{L}} \Vert_* + \mathbf{1}_{P_{\varOmega}(\boldsymbol{\mathcal{E}})=\mathbf{0}} + \alpha \Vert \boldsymbol{\mathcal{W}} \Vert_{TV}\\ &\begin{aligned} \mathrm{subject\,to}\quad &\boldsymbol{\mathcal{I}} =\boldsymbol{\mathcal{L}}+\boldsymbol{\mathcal{E}}\\ &\boldsymbol{\mathcal{L}} = \boldsymbol{\mathcal{W}} \end{aligned} \end{aligned}
L,E,Wminimize∥L∥∗+1PΩ(E)=0+α∥W∥TVsubjecttoI=L+EL=W
优化问题\eqref{(8)}的增广拉格朗日函数为:
L
ρ
(
L
,
E
,
W
,
Y
1
,
Y
2
)
=
∥
L
∥
∗
+
1
P
Ω
(
E
)
=
0
+
α
∥
W
∥
T
V
+
⟨
Y
1
,
I
−
L
−
E
⟩
+
⟨
Y
2
,
L
−
W
⟩
+
ρ
2
∥
I
−
L
−
E
∥
F
2
+
ρ
2
∥
L
−
W
∥
F
2
\begin{aligned} L_\rho(\boldsymbol{\mathcal{L}},\boldsymbol{\mathcal{E}},\boldsymbol{\mathcal{W}},\boldsymbol{\mathcal{Y}}_1,\boldsymbol{\mathcal{Y}}_2) &= \Vert \boldsymbol{\mathcal{L}} \Vert_* + \mathbf{1}_{P_{\varOmega}(\boldsymbol{\mathcal{E}})=\mathbf{0}}+ \alpha \Vert \boldsymbol{\mathcal{W}} \Vert_{TV} + \left \langle \boldsymbol{\mathcal{Y}}_1,\boldsymbol{\mathcal{I}}-\boldsymbol{\mathcal{L}-\boldsymbol{\mathcal{E}}} \right \rangle+\left \langle \boldsymbol{\mathcal{Y}}_2,\boldsymbol{\mathcal{L}}-\boldsymbol{\mathcal{W}} \right \rangle\\ &+\frac{\rho}{2}\Vert \boldsymbol{\mathcal{I}}-\boldsymbol{\mathcal{L}}-\boldsymbol{\mathcal{E}}\Vert_F^2+\frac{\rho}{2}\Vert\boldsymbol{\mathcal{L}}-\boldsymbol{\mathcal{W}} \Vert_F^2 \end{aligned}
Lρ(L,E,W,Y1,Y2)=∥L∥∗+1PΩ(E)=0+α∥W∥TV+⟨Y1,I−L−E⟩+⟨Y2,L−W⟩+2ρ∥I−L−E∥F2+2ρ∥L−W∥F2
为简化形式,如果令
μ
=
Y
ρ
\displaystyle \boldsymbol{\mu} = \frac{\boldsymbol{\mathcal{Y}}}{\rho}
μ=ρY,则缩放形式的增广拉格朗日函数可以写成:
L
ρ
(
L
,
E
,
W
,
μ
1
,
μ
2
)
=
∥
L
∥
∗
+
1
P
Ω
(
E
)
=
0
+
α
∥
W
∥
T
V
+
ρ
2
∥
I
−
L
−
E
+
μ
1
∥
F
2
+
ρ
2
∥
L
−
W
+
μ
2
∥
F
2
+
ρ
2
∥
μ
1
∥
F
2
+
ρ
2
∥
μ
2
∥
F
2
\begin{aligned} L_\rho(\boldsymbol{\mathcal{L}},\boldsymbol{\mathcal{E}},\boldsymbol{\mathcal{W}},\boldsymbol{\mu}_1,\boldsymbol{\mu}_2) = &\Vert \boldsymbol{\mathcal{L}} \Vert_* + \mathbf{1}_{P_{\varOmega}(\boldsymbol{\mathcal{E}})=\mathbf{0}}+ \alpha \Vert \boldsymbol{\mathcal{W}} \Vert_{TV} \\ &+\frac{\rho}{2}\Vert \boldsymbol{\mathcal{I}}-\boldsymbol{\mathcal{L}}-\boldsymbol{\mathcal{E}}+\boldsymbol{\mu}_1\Vert_F^2+\frac{\rho}{2}\Vert\boldsymbol{\mathcal{L}}-\boldsymbol{\mathcal{W}+\boldsymbol{\mu}_2} \Vert_F^2+\frac{\rho}{2}\Vert\boldsymbol{\mu}_1\Vert_F^2+\frac{\rho}{2}\Vert\boldsymbol{\mu}_2\Vert_F^2 \end{aligned}
Lρ(L,E,W,μ1,μ2)=∥L∥∗+1PΩ(E)=0+α∥W∥TV+2ρ∥I−L−E+μ1∥F2+2ρ∥L−W+μ2∥F2+2ρ∥μ1∥F2+2ρ∥μ2∥F2
相对应的MATLAB求解算法过程如下:
写在后面
上述内容参考文献:(只列标题)
Tensor Robust Principal Component Analysis with a New Tensor Nuclear Norm
Low Rank Tensor Completion With a New Tensor Nuclear Norm Induced by Invertible Linear Transforms
Novel Methods for Multilinear Data Completion and De-noising Based on Tensor-SVD
Tensor Robust Principal Component Analysis Exact Recovery of Corrupted Low-Rank Tensors via Convex Optimization
关于matlab代码实现:这位大神给出了很好地解决方法,并且有相关解释:链接: https://github.com/canyilu/LibADMM-toolbox/blob/master/manual.pdf