# A Coordinate Descent Method for Total Variation Minimization

Authors: Hong Deng; Dongwei Ren; Gang Xiao; David Zhang; Wangmeng Zuo
Journal: Mathematical Problems in Engineering
 (2017)

---

## Abstract

Total variation (TV) is a well-known image model with extensive applications in various images and vision tasks, for example, denoising, deblurring, superresolution, inpainting, and compressed sensing. In this paper, we systematically study the coordinate descent (CoD) method for solving general total variation (TV) minimization problems. Based on multidirectional gradients representation, the proposed CoD method provides a unified solution for both anisotropic and isotropic TV-based denoising (CoDenoise). With sequential sweeping and small random perturbations, CoDenoise is efficient in denoising and empirically converges to optimal solution. Moreover, CoDenoise also delivers new perspective on understanding recursive weighted median filtering. By incorporating with the Augmented Lagrangian Method (ALM), CoD was further extended to TV-based image deblurring (ALMCD). The results on denoising and deblurring validate the efficiency and effectiveness of the CoD-based methods.


---

## Body

## 1. Introduction

Total variation (TV), also known as the ROF model [1], was introduced by Rudin et al. The TV model is effective in preserving sharp and salient edges while suppressing noise and has been extensively adopted as a regularizer in various image restoration applications, for example, deblurring [2, 3], superresolution [4, 5], inpainting [6, 7], and compressed sensing [8, 9].Recently, other image models, such as dictionary-based sparse coding [10–12] and nonlocal similarity [13–17], have been developed. Compared with these models, TV is much more efficient to be solved, making TV-based methods remain active in image and vision studies [17–24]. Moreover, TV may be complementary with the other models, and thus proper combination of them can lead to better performance [25, 26]. Besides, extensions of TV regularizer were also studied. For color images, TV can be extended to a class of vectorial TV (VTV) [27, 28], where interchannel correlation is taken into account to reduce the uneven color effects. While TV only considers first-order gradients, Total Generalized Variation (TGV) [29] was proposed to involve higher-order derivatives. For structure extraction, relative TV [30] was employed to distinguish structure from textures. Considering that the gradient distribution of each pixel is actually spatially variant, nonlocal extension of TV model [17, 31] was presented to leverage the similar patches for adaptive distribution estimation.A basic TV minimization problem is TV-based image denoising formulated as(1)minx12x-y2+λTVx,where TV(x) is the TV regularizer, λ is the trade-off parameter, and x and y are the latent clear image and the noisy observation, respectively. Various methods to solve TV denoising problem had been proposed and can be roughly categorized from three directions, that is, gradient based, Markov Random Fields (MRF) based, and CoD-based methods. First, gradient descent-based algorithms have been widely adopted in image processing tasks [18, 32–37]. As to TV minimization, gradient projection based PDE methods [1] originally were adopted to solve the associated nonlinear Euler-Lagrange equation. Following this line, a number of methods tried to directly solve primal variables [38–42]. To avoid nonsmoothness trap, the dual formulation of TV minimization was proposed and several variants came forward [43–45]. Recently, a hybrid primal dual scheme that alternatively solves primal and dual variables had been developed [46–48]. Most specially, Chambolle’s fixed point algorithm [43] solving dual variable is the most successful, which has been widely adopted in general image restoration methods, for example, TwIST [49], FISTA [50], and SALSA [51]. Second, TV minimization can be mapped to a class of binary MRFs [52–54], such that it can be solved by graph-cut techniques. Third, another entirely different direction is to employ CoD method, decomposing optimization problem with respect to each pixel and updating coordinate variables via some appropriate patterns. For the high efficiency of decomposed scalar optimizations, the CoD-based methods are usually efficient. However, the sole attempt based on CoD to solve TV minimization [55] only considers the anisotropic TV minimization, while isotropic TV minimization is unreachable for CoD-based methods, since it cannot be decomposed with respect to each pixel.In this paper, we systematically study the CoD-based methods for TV minimization problem. First, we provide a unified formulation of anisotropic and isotropic TV minimization problem based on multidirectional gradients representation, via which the isotropic TV regularizer can also be decomposed into a sequence of scalar convex problems with respect to each pixel. The scalar convex problem can be efficiently solved, and by sequentially updating each pixel, the CoD-based denoising (CoDenoise) algorithm converges fast. Due to the nondifferentiability of TV regularizer, CoDenoise may get stuck at nonstationary points [55–57]; however fortunately it is experimentally verified that CoDenoise can bypass nonstationary points and converge to optimal solution by adding small random perturbations. The CoDenoise algorithm only requires updating the pixels poisoned by noises, due to which the CoDenoise algorithm is more efficient than other methods, especially for low noise levels. Interestingly, the CoDenoise algorithm can be interpreted as the recursive weighted median operations on noisy images. Based on the more recent progress in weighted median filter [58, 59], the CoDenoise algorithm should be much more improved in terms of efficiency. Then, by combining variable splitting strategy and Augmented Lagrangian Method (ALM), we further embed CoDenoise algorithm to solve general image restoration problem, for example, image deblurring, resulting in the ALMCD algorithm. In deblurring problems, the blurry images are usually poisoned by relatively low level noises, and thus the incorporated CoDenoise algorithm for denoising subproblem contributes significantly to efficiency improvement of the ALMCD algorithm. Compared with TwIST, FISTA, and SALSA, ALMCD can obtain satisfactory results but is more efficient.Our contribution can be summarized from two aspects:(i)
We systematically study the CoD-based methods for TV minimization and develop an extremely simple unified CoD-based solution for both anisotropic and isotropic TV minimization. The resulting CoDenoise algorithm is more efficient than gradient based and MRF based methods and achieves satisfactory denoising results.(ii)
By incorporating with ALM, CoDenoise is extended to image deblurring problem. In the deblurring problems, the blurry images usually suffer from severe blur and relatively low level noises, and thus the proposed ALMCD algorithm with CoDenoise embedded for denoising subproblem is much more efficient and can concurrently provide satisfactory deblurring quality compared with several state-of-the-art methods.This paper is organized as follows: Section2 presents some preliminaries, including definition of TV regularizers and multidirectional gradient approximation of TV regularizers. The CoDenoise algorithm together with its convergence proof and computational complexity is proposed in Section 3. In Section 4, we embed CoDenoise to image deblurring. Section 5 demonstrates experimental results, and Section 6 ends this paper with some concluding remarks.


## 2. Preliminaries

In this section, we first present the definitions of the discrete anisotropic and isotropic TV operators. In previous studies, CoD-based solution is only available for anisotropic TV minimization problem. To address this, we then introduce the multidirectional gradient representation to establish the connection between the anisotropic and isotropic TV models, making it possible to use the unified CoD method for TV minimization.


### 2.1. The Discrete TV Operators

For an imagex with N=m×n pixels, the discrete gradient operators D including both horizontal gradient operator Dh and vertical gradient operator Dv are defined as(2)Dhxk,l=xk,l-xk,l-1,withxk,0=xk,n,Dvxk,l=xk,l-xk-1,l,withx0,l=xm,l,where k=1,2,…,m and l=1,2,…,n. The anisotropic TV regularizer [50, 60] is defined as(3)TVax=∑k=1m∑l=1nDhxk,l+Dvxk,l.With this definition, it is easy to obtain the anisotropic TV regularization with respect to coordinate as(4)TVaxk,l=xk,l-xk-1,l+xk,l-xk,l-1+xk,l-xk+1,l+xk,l-xk,l+1.Thus, the CoD method can be directly used to solve the anisotropic TV minimization problem. Similarly, the isotropic TV regularizer [50, 60] is defined as(5)TVix=∑k=1m∑l=1nDhxk,l2+Dvxk,l2.Apparently the isotropic TV cannot be decomposed with respect to coordinate (k,l) since the quadratic interactions with horizontal and vertical gradients, making the CoD method unfeasible to solve isotropic TV minimization problem. Therefore, to extend the results of CoD to isotropic TV minimization problem, we tempt to find a connection between TVa and TVi.


### 2.2. Multidirectional Gradients Approximation

The isotropic TV regularizer can be approximated by multidirectional gradients representation, and thus the anisotropic and isotropic TV models can be connected in a unified formulation [61]. For any pair of real numbers a and b, the identity(6)∫0π/2acos⁡θ+bsin⁡θ+bcos⁡θ-asin⁡θdθ∫0π/2cos⁡θ+sin⁡θdθ=a2+b2always holds, which can be discretized by Riemannian approximation. Now, let θL=θ1,θ2,…,θLT be a set of L points uniformly distributed in [0,π/2). Equation (6) can then be discretized as(7)Ia,b;L=∑i=1Lacos⁡θi+bsin⁡θi+bcos⁡θi-asin⁡θi∑i=1Lcos⁡θi+sin⁡θi.Thus we can approximate TV regularizer as(8)TVLx=∑k=1m∑l=1nIdhk,l,dvk,l;L=dL∑k=1m∑l=1n∑i=1Ldhk,lcos⁡θi+dvk,lsinθi+dvk,lcos⁡θi-dhk,lsin⁡θi,where dL=∑i=1Lcos⁡θi+sin⁡θi-1 and dh=Dhx and dv=Dvx. Equation (8) provides a unified formulation of anisotropic and isotropic TV models,(9)TVLx=TVax,L=1,TVix,L⟶∞.In later context, we will use TVL to represent the TV regularizers.


## 2.1. The Discrete TV Operators

For an imagex with N=m×n pixels, the discrete gradient operators D including both horizontal gradient operator Dh and vertical gradient operator Dv are defined as(2)Dhxk,l=xk,l-xk,l-1,withxk,0=xk,n,Dvxk,l=xk,l-xk-1,l,withx0,l=xm,l,where k=1,2,…,m and l=1,2,…,n. The anisotropic TV regularizer [50, 60] is defined as(3)TVax=∑k=1m∑l=1nDhxk,l+Dvxk,l.With this definition, it is easy to obtain the anisotropic TV regularization with respect to coordinate as(4)TVaxk,l=xk,l-xk-1,l+xk,l-xk,l-1+xk,l-xk+1,l+xk,l-xk,l+1.Thus, the CoD method can be directly used to solve the anisotropic TV minimization problem. Similarly, the isotropic TV regularizer [50, 60] is defined as(5)TVix=∑k=1m∑l=1nDhxk,l2+Dvxk,l2.Apparently the isotropic TV cannot be decomposed with respect to coordinate (k,l) since the quadratic interactions with horizontal and vertical gradients, making the CoD method unfeasible to solve isotropic TV minimization problem. Therefore, to extend the results of CoD to isotropic TV minimization problem, we tempt to find a connection between TVa and TVi.


## 2.2. Multidirectional Gradients Approximation

The isotropic TV regularizer can be approximated by multidirectional gradients representation, and thus the anisotropic and isotropic TV models can be connected in a unified formulation [61]. For any pair of real numbers a and b, the identity(6)∫0π/2acos⁡θ+bsin⁡θ+bcos⁡θ-asin⁡θdθ∫0π/2cos⁡θ+sin⁡θdθ=a2+b2always holds, which can be discretized by Riemannian approximation. Now, let θL=θ1,θ2,…,θLT be a set of L points uniformly distributed in [0,π/2). Equation (6) can then be discretized as(7)Ia,b;L=∑i=1Lacos⁡θi+bsin⁡θi+bcos⁡θi-asin⁡θi∑i=1Lcos⁡θi+sin⁡θi.Thus we can approximate TV regularizer as(8)TVLx=∑k=1m∑l=1nIdhk,l,dvk,l;L=dL∑k=1m∑l=1n∑i=1Ldhk,lcos⁡θi+dvk,lsinθi+dvk,lcos⁡θi-dhk,lsin⁡θi,where dL=∑i=1Lcos⁡θi+sin⁡θi-1 and dh=Dhx and dv=Dvx. Equation (8) provides a unified formulation of anisotropic and isotropic TV models,(9)TVLx=TVax,L=1,TVix,L⟶∞.In later context, we will use TVL to represent the TV regularizers.


## 3. The Unified Coordinate Descent Method for TV-Based Denoising

WithTVL regularizer, anisotropic and isotropic TV denoising models are reformulated in the unified form(10)minxFx=12x-y2+λTVLxwhich is exactly anisotropic TV-based denoising when L=1 and infinitely approximates isotropic TV-based denoising when L increases. We thus can decompose the objective function into a sequence of one-dimensional subproblems, which can be solved efficiently via simple convex optimization. With simple sequential updating pattern, we then obtain the unified CoD denoising algorithm for both anisotropic and isotropic TV minimization.


### 3.1. The Coordinate Subproblem

Let first present equivalent decomposition of theTVL image denoising objective function with respect to each pixel xk,l,(11)minxk,lFx=minxk,l⁡12x-y2+λTVLx=12xk,l-yk,l2+λdL∑i=1Lci+sixk,l-cixk,l-1+sixk-1,l+ci-sixk,l-cixk-1,l-sixk,l-1+ci+sixk,l-cixk,l+1+sixk+1,l+ci-sixk,l-cixk+1,l-sixk,l+1=12xk,l-yk,l2+λdL∑i=14Laixk,l-ci,where ci=cos⁡θi and si=sin⁡θi. Vectors a and c are both of length 4×L, which are the coefficients of xk,l and the combinations of its 4 neighbourhoods, respectively.


### 3.2. Solving Subproblem

For simplicity, we unify the formulation of subproblems as(12)minxfx=12x-b2+τ∑i=1daix-ci.The scalar optimization problem is convex but nonsmooth. We assumeai>0 (the case ai<0 can be easily generalized). Let (l1,l2,…,ld) be the permutation of (1,2,…,d) according to the ascending order of c1/a1,c2/a2,…,cd/ad. Let (s0,s1,…,sd) be an ascending sequence with s0=-∑j=1dalj, sd=∑j=1dalj, and si=∑j=1ialj-∑j=i+1dalj. Let gix=x-ci/ai. Thus, (12) is transformed to(13)minxfx=12x-b2+τ∑i=1dalix-cliali=12x-b2+τ∑i=1daliglix.The solution to (13) can be obtained by making its first-order derivative be 0,(14)∂fx=x-b+τ∑i=1dali∂glix=0.We then discuss the solution with different cases ofx:(1)
Whenx<cl1/al1,(15)∂fx=x-b+τs0=0.Thenx∗=b-τs0 is the optimal solution to (13), if x∗<cl1/al1.(2)
Whenx>cld/ald,(16)∂fx=x-b+τsd=0.Thenx∗=b-τsd is the optimal solution to (13), if x∗>cld/ald.(3)
Whencli/ali<x<cli+1/ali+1,(17)∂fx=x-b+τsi=0.Thenx∗=b-τsi is the optimal solution to (13), if cli/ali<x∗<cli+1/ali+1.(4)
Whenx=cli/ali,(18)∂fx=x-b+τ∂glix+τsi=0.Since∂gldx∈[-ali,ali], for x=cli/ali, we thus have(19)0∈∂fx=x-b+τsi-1,siand x∈b-τsi,b-τsi-1. Then x∗=cli/ali is the optimal solution to (13), if x∗∈b-τsi,b-τsi-1.As a summary, we notate procedures(1)–(4) as an operator,(20)x∗=Pτ,b,a,c.Interestingly, solution (20) can be interpreted as finding the median value of vector (28), which is discussed in Section 3.4.3.


### 3.3. CoDenoise

Therefore, the subproblem with respect toxk,l (11) can be solved by(21)xk,l=PλdL,yk,l,a,c.The following question is how to choose coordinate updating pattern. Li and Osher adopted the checkerboard pattern [55], in which the pixels are divided into black and white blocks. The pixels in the same group are not neighbors, and then the pixels in two blocks can be alternatively updated. Another greedy strategy is also popular [62], in which the selected coordinate makes the biggest contribution to the decrease of the energy function. And by the divide and conquer strategy, the corresponding coordinate can be searched with complexity Olog⁡N [63].The proposed CoDenoise algorithm adopted the simple cyclic updating pattern, sequentially sweeping each pixel. If the computed solution at new selected coordinate makes a big progress than that in last iteration (evaluated by a toleranceε0), then it will be updated. In our implementation, we use a binary mask matrix M to indicate whether a pixel will be updated or not. If any four neighbor of pixel k,l is updated, Mk,l is marked as 1, and the pixel k,l will be updated in the next iteration, otherwise 0. For the nondifferentiability of TV norm, the solution generated by CoDenoise may get stuck at nonstationary points, which can be easily bypassed by adding small random perturbations. The perturbations decrease along with the increasing iteration number.To stop the CoDenoise algorithm, we check whether the relative difference between two iterations is below toleranceε; that is,(22)xt-xt-1xt≤ε.The CoDenoise algorithm is summarized as Algorithm1.Algorithm 1:CoDenoise.
Input: y,L
Output: x.
(
1
)  Initialize t=0, M=zerosm,n,xt=y
(
2
)  while  not converged do
(
3
)
for each coordinate k,l  do.
(
4
)
if  Mk,l=0  then
(
5
)
x
k
,
l
(
t
+
1
)
=
P
λ
d
L
,
y
k
,
l
,
a
,
c
(
6
)
Set Mk,l as 1
(
7
)
if  xk,l(t+1)-xk,l(t)>ε0  then
(
8
)
Set Mk-1,l, Mk+1,l, Mk,l-1,
M
k
,
l
+
1 as 0
(
9
)
end if
(
10
)
end if
(
11
)
end for
(
12
)
t
=
t
+
1
(
13
)   end while


### 3.4. Convergence and Complexity

We first discuss the convergence of the CoDenoise algorithm and then analyze its computational complexity.


#### 3.4.1. Convergence

Theorem 1.
For the optimization problem equation (12), one can obtain its optimal solution using x∗=Pτ,b,a,c; then fx-fx∗≥1/2x-x∗2 holds for any x.Proof.
First, observe that(23)x-b2-x∗-b2=x-x∗2+2x∗-bx-x∗.
Supposecli/ali≤x∗≤cli+1/ali+1; then x∗-b+τ∑i=1dali∂glix∗=0. (1)
Ifcli/ali<x∗<cli+1/ali+1, we have x∗-b=-τsi. Therefore,(24)fx-fx∗=12x-x∗2+x∗-bx-x∗+τ∑j=1daljx-cljalj-τ∑j=1daljx∗-cljalj=12x-x∗2-τsix-x∗+τ∑j=1daljx-cljalj-τ∑j=1ialjx∗-cljalj+τ∑j=i+1daljx∗-cljalj≥12x-x∗2-τsix-x∗+τ∑j=1ialjx-cljalj-x∗-cljalj-τ∑j=i+1daljx-cljalj-x∗-cljalj=12x-x∗2-τsix-x∗+τ∑j=1iall-∑j=i+1dallx-x∗=12x-x∗2.(2)
Ifx∗=cli/ali, then 0∈x∗-b+τsi-1,si.So for somep∈-ali,ali, we have x∗-b=τ∑j=i+1dalj-∑j=1i-1alj-p. Therefore,(25)fx-fx∗=12x-x∗2+x∗-bx-x∗+τ∑j=1daljx-cljalj-τ∑j=1daljx∗-cljalj=12x-x∗2+τ∑j=i+1dalj-∑j=1i-1alj-px-x∗+τ∑j=1daljx-cljalj-τ∑j=1i-1aljx∗-cljalj+τ∑j=i+1daljx∗-cljalj-τp≥12x-x∗2+τ∑j=i+1dalj-∑j=1i-1alj-px-x∗-τ∑j=1i-1aljx-x∗+τ∑j=i+1daljx-x∗+τalix-cliali=12x-x∗2-τpx-x∗+τalix-x∗≥12x-x∗2.We hence conclude that, for anyx, fx-fx∗≥1/2x-x∗2 always holds.Theorem 2.
The sequencex(t) generated by the CoDenoise algorithm converges.Proof.
From (21), we have xk,l(t+1)=argminxk,l⁡F(t)xk,l, so F(t)xk,l(t+1)≤F(t)xk,l(t). It implies that the energy over all pixels decreases, Fx(t+1)≤Fx(t), and since it has lower bound 0, the sequence Fx(t) converges. From Theorem 1, we have that(26)xt-xt+1∞≤2Fxt-Fxt+11/2converges.


#### 3.4.2. Computational Complexity

First, we present the analysis of computational complexity of the operatorP. The operation with the heaviest computational cost is to sort vector(27)c1a1,c2a2,…,cdadwhich can be done by existing sorting algorithms, for example, max-heap sort, and thus the sorting the vectors in (11) can be done with computational complexity OLlog⁡L. Then, the optimal solution can be searched in OL at worst. And thus, the complexity of proximal operator P at worst is OL2log⁡L.Then, CoDenoise requires calling operatorPN′ times in each iteration, where N′ is the number of nonzero entries of mask matrix M, proportional to the noise level, and thus the computational complexity of CoDenoise is ON′L2log⁡L.


#### 3.4.3. Discussions

The proposed operator (20) can be interpreted as finding the median [55](28)x∗=mediancl1al1,…,cldald,p0,…,pd,where pi=b-τsi. Since the sequence si is nondescending, we have(29)pd≤⋯≤pi≤⋯≤p0.We discuss the equivalence of (28) and (20) using the following two cases:(1)
Suppose thatcli/ali<x∗<cli+1/ali+1. The optimal solution is(30)x∗=b-τsi=pi.Now we havecli/ali<x∗=pi<cli+1/ali+1, so(31)cl1al1≤⋯≤cliali<x∗=pi<cli+1ali+1≤⋯≤cldald.In the sequencecli/ali, there are i elements less than or equal to x∗ and d-i elements greater than or equal to x∗, and from (29), in the sequence pi, there are d-i elements less than or equal to pi and i elements greater than or equal to x∗. And thus, x∗ is the median (28). Specially, when x∗<cl1/al1, all the d elements in the sequence cli/ali are greater than or equal to x∗, and d elements in the sequence pi are less than or equal to x∗, and thus x∗ is the median (28). Also when x∗>cld/ald, the same conclusion can be similarly drawn.(2)
Suppose thatx∗=cli/ali, and it lies in pi,pi-1. Similarly, in the sequence cli/ali, there are i-1 elements less than or equal to x∗ and d-i elements greater than or equal to x∗, and from (29), in the sequence pi, there are d-i+1 elements less than or equal to x∗ and i elements greater than or equal to x∗. And thus, x∗ is the median (28).With the equivalence of proposed operator (20) and finding median value (28), the CoDenoise algorithm provides an interesting interpretation of the recursive weighted median operations on noisy image. By the recently great progress of studies on median filter or reweighted filter [58, 59], the computational efficiency of the proposed CoDenoise algorithm should be further improved.


## 3.1. The Coordinate Subproblem

Let first present equivalent decomposition of theTVL image denoising objective function with respect to each pixel xk,l,(11)minxk,lFx=minxk,l⁡12x-y2+λTVLx=12xk,l-yk,l2+λdL∑i=1Lci+sixk,l-cixk,l-1+sixk-1,l+ci-sixk,l-cixk-1,l-sixk,l-1+ci+sixk,l-cixk,l+1+sixk+1,l+ci-sixk,l-cixk+1,l-sixk,l+1=12xk,l-yk,l2+λdL∑i=14Laixk,l-ci,where ci=cos⁡θi and si=sin⁡θi. Vectors a and c are both of length 4×L, which are the coefficients of xk,l and the combinations of its 4 neighbourhoods, respectively.


## 3.2. Solving Subproblem

For simplicity, we unify the formulation of subproblems as(12)minxfx=12x-b2+τ∑i=1daix-ci.The scalar optimization problem is convex but nonsmooth. We assumeai>0 (the case ai<0 can be easily generalized). Let (l1,l2,…,ld) be the permutation of (1,2,…,d) according to the ascending order of c1/a1,c2/a2,…,cd/ad. Let (s0,s1,…,sd) be an ascending sequence with s0=-∑j=1dalj, sd=∑j=1dalj, and si=∑j=1ialj-∑j=i+1dalj. Let gix=x-ci/ai. Thus, (12) is transformed to(13)minxfx=12x-b2+τ∑i=1dalix-cliali=12x-b2+τ∑i=1daliglix.The solution to (13) can be obtained by making its first-order derivative be 0,(14)∂fx=x-b+τ∑i=1dali∂glix=0.We then discuss the solution with different cases ofx:(1)
Whenx<cl1/al1,(15)∂fx=x-b+τs0=0.Thenx∗=b-τs0 is the optimal solution to (13), if x∗<cl1/al1.(2)
Whenx>cld/ald,(16)∂fx=x-b+τsd=0.Thenx∗=b-τsd is the optimal solution to (13), if x∗>cld/ald.(3)
Whencli/ali<x<cli+1/ali+1,(17)∂fx=x-b+τsi=0.Thenx∗=b-τsi is the optimal solution to (13), if cli/ali<x∗<cli+1/ali+1.(4)
Whenx=cli/ali,(18)∂fx=x-b+τ∂glix+τsi=0.Since∂gldx∈[-ali,ali], for x=cli/ali, we thus have(19)0∈∂fx=x-b+τsi-1,siand x∈b-τsi,b-τsi-1. Then x∗=cli/ali is the optimal solution to (13), if x∗∈b-τsi,b-τsi-1.As a summary, we notate procedures(1)–(4) as an operator,(20)x∗=Pτ,b,a,c.Interestingly, solution (20) can be interpreted as finding the median value of vector (28), which is discussed in Section 3.4.3.


## 3.3. CoDenoise

Therefore, the subproblem with respect toxk,l (11) can be solved by(21)xk,l=PλdL,yk,l,a,c.The following question is how to choose coordinate updating pattern. Li and Osher adopted the checkerboard pattern [55], in which the pixels are divided into black and white blocks. The pixels in the same group are not neighbors, and then the pixels in two blocks can be alternatively updated. Another greedy strategy is also popular [62], in which the selected coordinate makes the biggest contribution to the decrease of the energy function. And by the divide and conquer strategy, the corresponding coordinate can be searched with complexity Olog⁡N [63].The proposed CoDenoise algorithm adopted the simple cyclic updating pattern, sequentially sweeping each pixel. If the computed solution at new selected coordinate makes a big progress than that in last iteration (evaluated by a toleranceε0), then it will be updated. In our implementation, we use a binary mask matrix M to indicate whether a pixel will be updated or not. If any four neighbor of pixel k,l is updated, Mk,l is marked as 1, and the pixel k,l will be updated in the next iteration, otherwise 0. For the nondifferentiability of TV norm, the solution generated by CoDenoise may get stuck at nonstationary points, which can be easily bypassed by adding small random perturbations. The perturbations decrease along with the increasing iteration number.To stop the CoDenoise algorithm, we check whether the relative difference between two iterations is below toleranceε; that is,(22)xt-xt-1xt≤ε.The CoDenoise algorithm is summarized as Algorithm1.Algorithm 1:CoDenoise.
Input: y,L
Output: x.
(
1
)  Initialize t=0, M=zerosm,n,xt=y
(
2
)  while  not converged do
(
3
)
for each coordinate k,l  do.
(
4
)
if  Mk,l=0  then
(
5
)
x
k
,
l
(
t
+
1
)
=
P
λ
d
L
,
y
k
,
l
,
a
,
c
(
6
)
Set Mk,l as 1
(
7
)
if  xk,l(t+1)-xk,l(t)>ε0  then
(
8
)
Set Mk-1,l, Mk+1,l, Mk,l-1,
M
k
,
l
+
1 as 0
(
9
)
end if
(
10
)
end if
(
11
)
end for
(
12
)
t
=
t
+
1
(
13
)   end while


## 3.4. Convergence and Complexity

We first discuss the convergence of the CoDenoise algorithm and then analyze its computational complexity.


### 3.4.1. Convergence

Theorem 1.
For the optimization problem equation (12), one can obtain its optimal solution using x∗=Pτ,b,a,c; then fx-fx∗≥1/2x-x∗2 holds for any x.Proof.
First, observe that(23)x-b2-x∗-b2=x-x∗2+2x∗-bx-x∗.
Supposecli/ali≤x∗≤cli+1/ali+1; then x∗-b+τ∑i=1dali∂glix∗=0. (1)
Ifcli/ali<x∗<cli+1/ali+1, we have x∗-b=-τsi. Therefore,(24)fx-fx∗=12x-x∗2+x∗-bx-x∗+τ∑j=1daljx-cljalj-τ∑j=1daljx∗-cljalj=12x-x∗2-τsix-x∗+τ∑j=1daljx-cljalj-τ∑j=1ialjx∗-cljalj+τ∑j=i+1daljx∗-cljalj≥12x-x∗2-τsix-x∗+τ∑j=1ialjx-cljalj-x∗-cljalj-τ∑j=i+1daljx-cljalj-x∗-cljalj=12x-x∗2-τsix-x∗+τ∑j=1iall-∑j=i+1dallx-x∗=12x-x∗2.(2)
Ifx∗=cli/ali, then 0∈x∗-b+τsi-1,si.So for somep∈-ali,ali, we have x∗-b=τ∑j=i+1dalj-∑j=1i-1alj-p. Therefore,(25)fx-fx∗=12x-x∗2+x∗-bx-x∗+τ∑j=1daljx-cljalj-τ∑j=1daljx∗-cljalj=12x-x∗2+τ∑j=i+1dalj-∑j=1i-1alj-px-x∗+τ∑j=1daljx-cljalj-τ∑j=1i-1aljx∗-cljalj+τ∑j=i+1daljx∗-cljalj-τp≥12x-x∗2+τ∑j=i+1dalj-∑j=1i-1alj-px-x∗-τ∑j=1i-1aljx-x∗+τ∑j=i+1daljx-x∗+τalix-cliali=12x-x∗2-τpx-x∗+τalix-x∗≥12x-x∗2.We hence conclude that, for anyx, fx-fx∗≥1/2x-x∗2 always holds.Theorem 2.
The sequencex(t) generated by the CoDenoise algorithm converges.Proof.
From (21), we have xk,l(t+1)=argminxk,l⁡F(t)xk,l, so F(t)xk,l(t+1)≤F(t)xk,l(t). It implies that the energy over all pixels decreases, Fx(t+1)≤Fx(t), and since it has lower bound 0, the sequence Fx(t) converges. From Theorem 1, we have that(26)xt-xt+1∞≤2Fxt-Fxt+11/2converges.


### 3.4.2. Computational Complexity

First, we present the analysis of computational complexity of the operatorP. The operation with the heaviest computational cost is to sort vector(27)c1a1,c2a2,…,cdadwhich can be done by existing sorting algorithms, for example, max-heap sort, and thus the sorting the vectors in (11) can be done with computational complexity OLlog⁡L. Then, the optimal solution can be searched in OL at worst. And thus, the complexity of proximal operator P at worst is OL2log⁡L.Then, CoDenoise requires calling operatorPN′ times in each iteration, where N′ is the number of nonzero entries of mask matrix M, proportional to the noise level, and thus the computational complexity of CoDenoise is ON′L2log⁡L.


### 3.4.3. Discussions

The proposed operator (20) can be interpreted as finding the median [55](28)x∗=mediancl1al1,…,cldald,p0,…,pd,where pi=b-τsi. Since the sequence si is nondescending, we have(29)pd≤⋯≤pi≤⋯≤p0.We discuss the equivalence of (28) and (20) using the following two cases:(1)
Suppose thatcli/ali<x∗<cli+1/ali+1. The optimal solution is(30)x∗=b-τsi=pi.Now we havecli/ali<x∗=pi<cli+1/ali+1, so(31)cl1al1≤⋯≤cliali<x∗=pi<cli+1ali+1≤⋯≤cldald.In the sequencecli/ali, there are i elements less than or equal to x∗ and d-i elements greater than or equal to x∗, and from (29), in the sequence pi, there are d-i elements less than or equal to pi and i elements greater than or equal to x∗. And thus, x∗ is the median (28). Specially, when x∗<cl1/al1, all the d elements in the sequence cli/ali are greater than or equal to x∗, and d elements in the sequence pi are less than or equal to x∗, and thus x∗ is the median (28). Also when x∗>cld/ald, the same conclusion can be similarly drawn.(2)
Suppose thatx∗=cli/ali, and it lies in pi,pi-1. Similarly, in the sequence cli/ali, there are i-1 elements less than or equal to x∗ and d-i elements greater than or equal to x∗, and from (29), in the sequence pi, there are d-i+1 elements less than or equal to x∗ and i elements greater than or equal to x∗. And thus, x∗ is the median (28).With the equivalence of proposed operator (20) and finding median value (28), the CoDenoise algorithm provides an interesting interpretation of the recursive weighted median operations on noisy image. By the recently great progress of studies on median filter or reweighted filter [58, 59], the computational efficiency of the proposed CoDenoise algorithm should be further improved.


## 3.4.1. Convergence

Theorem 1.
For the optimization problem equation (12), one can obtain its optimal solution using x∗=Pτ,b,a,c; then fx-fx∗≥1/2x-x∗2 holds for any x.Proof.
First, observe that(23)x-b2-x∗-b2=x-x∗2+2x∗-bx-x∗.
Supposecli/ali≤x∗≤cli+1/ali+1; then x∗-b+τ∑i=1dali∂glix∗=0. (1)
Ifcli/ali<x∗<cli+1/ali+1, we have x∗-b=-τsi. Therefore,(24)fx-fx∗=12x-x∗2+x∗-bx-x∗+τ∑j=1daljx-cljalj-τ∑j=1daljx∗-cljalj=12x-x∗2-τsix-x∗+τ∑j=1daljx-cljalj-τ∑j=1ialjx∗-cljalj+τ∑j=i+1daljx∗-cljalj≥12x-x∗2-τsix-x∗+τ∑j=1ialjx-cljalj-x∗-cljalj-τ∑j=i+1daljx-cljalj-x∗-cljalj=12x-x∗2-τsix-x∗+τ∑j=1iall-∑j=i+1dallx-x∗=12x-x∗2.(2)
Ifx∗=cli/ali, then 0∈x∗-b+τsi-1,si.So for somep∈-ali,ali, we have x∗-b=τ∑j=i+1dalj-∑j=1i-1alj-p. Therefore,(25)fx-fx∗=12x-x∗2+x∗-bx-x∗+τ∑j=1daljx-cljalj-τ∑j=1daljx∗-cljalj=12x-x∗2+τ∑j=i+1dalj-∑j=1i-1alj-px-x∗+τ∑j=1daljx-cljalj-τ∑j=1i-1aljx∗-cljalj+τ∑j=i+1daljx∗-cljalj-τp≥12x-x∗2+τ∑j=i+1dalj-∑j=1i-1alj-px-x∗-τ∑j=1i-1aljx-x∗+τ∑j=i+1daljx-x∗+τalix-cliali=12x-x∗2-τpx-x∗+τalix-x∗≥12x-x∗2.We hence conclude that, for anyx, fx-fx∗≥1/2x-x∗2 always holds.Theorem 2.
The sequencex(t) generated by the CoDenoise algorithm converges.Proof.
From (21), we have xk,l(t+1)=argminxk,l⁡F(t)xk,l, so F(t)xk,l(t+1)≤F(t)xk,l(t). It implies that the energy over all pixels decreases, Fx(t+1)≤Fx(t), and since it has lower bound 0, the sequence Fx(t) converges. From Theorem 1, we have that(26)xt-xt+1∞≤2Fxt-Fxt+11/2converges.


## 3.4.2. Computational Complexity

First, we present the analysis of computational complexity of the operatorP. The operation with the heaviest computational cost is to sort vector(27)c1a1,c2a2,…,cdadwhich can be done by existing sorting algorithms, for example, max-heap sort, and thus the sorting the vectors in (11) can be done with computational complexity OLlog⁡L. Then, the optimal solution can be searched in OL at worst. And thus, the complexity of proximal operator P at worst is OL2log⁡L.Then, CoDenoise requires calling operatorPN′ times in each iteration, where N′ is the number of nonzero entries of mask matrix M, proportional to the noise level, and thus the computational complexity of CoDenoise is ON′L2log⁡L.


## 3.4.3. Discussions

The proposed operator (20) can be interpreted as finding the median [55](28)x∗=mediancl1al1,…,cldald,p0,…,pd,where pi=b-τsi. Since the sequence si is nondescending, we have(29)pd≤⋯≤pi≤⋯≤p0.We discuss the equivalence of (28) and (20) using the following two cases:(1)
Suppose thatcli/ali<x∗<cli+1/ali+1. The optimal solution is(30)x∗=b-τsi=pi.Now we havecli/ali<x∗=pi<cli+1/ali+1, so(31)cl1al1≤⋯≤cliali<x∗=pi<cli+1ali+1≤⋯≤cldald.In the sequencecli/ali, there are i elements less than or equal to x∗ and d-i elements greater than or equal to x∗, and from (29), in the sequence pi, there are d-i elements less than or equal to pi and i elements greater than or equal to x∗. And thus, x∗ is the median (28). Specially, when x∗<cl1/al1, all the d elements in the sequence cli/ali are greater than or equal to x∗, and d elements in the sequence pi are less than or equal to x∗, and thus x∗ is the median (28). Also when x∗>cld/ald, the same conclusion can be similarly drawn.(2)
Suppose thatx∗=cli/ali, and it lies in pi,pi-1. Similarly, in the sequence cli/ali, there are i-1 elements less than or equal to x∗ and d-i elements greater than or equal to x∗, and from (29), in the sequence pi, there are d-i+1 elements less than or equal to x∗ and i elements greater than or equal to x∗. And thus, x∗ is the median (28).With the equivalence of proposed operator (20) and finding median value (28), the CoDenoise algorithm provides an interesting interpretation of the recursive weighted median operations on noisy image. By the recently great progress of studies on median filter or reweighted filter [58, 59], the computational efficiency of the proposed CoDenoise algorithm should be further improved.


## 4. CoD for TV-Based Image Deblurring

T
V
L based image deblurring problem is formulated as(32)minx12Ax-y2+λTVLx,where A is convolution matrix, which is an ill-posed problem. By combining variable splitting and ALM, we employ ADMM to solve this problem.First, by introducing an auxiliary variableu, the TVL-based image deblurring problem is reformulated as(33)minx12Au-y2+λTVLxs.t.u=x.Then the augmented Lagrangian function of (33) is(34)L=12Au-y2+λTVLx+δ2x-u+q2,where δ is a positive penalty parameter and q is related to Lagrangian vector. Then, the two variables u and x can be updated alternatively until some convergence criterion is satisfied. Given x, the u-subproblem can be efficiently solved in Fourier domain,(35)u=F-1FATy+δx+qFATA+δI,where F and F-1 are Fourier and inverse Fourier transformation, respectively. Given u, the x-subproblem(36)argminxδ2x-u+q2+λTVLxcan be directly solved by the proposed CoDenoise algorithm. Finally, the parameters q and δ are updated. The overall algorithm is summarized as Algorithm 2.Algorithm 2:ALMCD.
Input:  y,A,L
Output:  x.
(
1
)  Initialize t=0,xt=y,precomputeFATA+δI
(
2
)  while not converged do
(
3
)   u(t+1)=F-1FATy+δx(t)+q(t)FATA+δI
(
4
)   x(t+1)=argminxδ2x-u(t+1)+q(t)2+λTVLx
(
5
)
q
(
t
+
1
)
=
q
(
t
)
+
u
(
t
+
1
)
-
x
(
t
+
1
)
(
6
)   update δ(t) to δ(t+1)
(
7
)  end while


## 5. Experimental Results

In this section, we report the experimental results on image denoising and deblurring to validate the proposed CoD-based methods. First, as to the image denoising, CoDenoise is compared with three Chambolle’s works, that is, fixed points (CFP) algorithm on dual variables [43], first-order primal dual (CPD) algorithm [46], and graph cut- (CGC-) based algorithm [53]. Then, we compare ALMCD with several state-of-the-art deblurring algorithms with the denoising subproblem embedded, including accelerated IST algorithms, that is, TwIST [49] and FISTA [50], and ALM-based algorithm, that is, SALSA [51]. All the experiments ran on a 2.40 GHz Core(TM) i7-4700MQ processor. The CoDenoise algorithm is coded in C/C++, and ALMCD is coded in Matlab. We provide Matlab wrapper of CoDenoise which can be called by ALMCD. And for the parameter settings, the updating tolerances ϵ and ϵ0 are both set as 10-3. We set L=1 for anisotropic TV minimization and L=3 for isotropic TV minimization.


### 5.1. Image Denoising

As to the competing denoising algorithms, CFP and CPD are both only designed for isotropic TV minimization, and by modifying the projection step, CFP and CPD are easily applied to anisotropic TV minimization. Since only anisotropic TV model can be mapped to binary MRF, CGC is only feasible to anisotropic TV minimization. The denoising experiments were conducted on four 512 × 512 images, that is, Couple, Man, Hill, and Boat, shown in Figure1, which were degraded by different Gaussian noise levels, with standard deviation (std.) as 0.05, 0.10, 0.15, and 0.20. Corresponding to each noise level, the trade-off parameter was chosen as 0.04, 0.09, 0.16, and 0.23, respectively, with best PSNR values.Figure 1
Four test images.
(a)
Couple
(b)
Man
(c)
Hill
(d)
BoatFor the convexity of TV minimization problem, CFD and CPD are proved to converge to global optimal solution. From the PSNR and SSIM comparison of different algorithms, shown in Tables2 and 3, CoDenoise can also converge to the same solutions with CFD and CPD for each noise level. As to the computational efficiency shown in Table 1, for anisotropic TV denoising CoDenoise is much faster than all the competing algorithms, especially for low level noises, and for isotropic TV denoising CoDenoise has to handle more extra entries, thus being little computational expensive than CFP and comparable to CPD. Figure 2 delivers the visual denoising effect of different algorithms, and CoDenoise can achieve satisfactory denoising results.Table 1
CPU time(seconds) comparisons of different noise levels.
Image
Method
Anisotropic TV
Isotropic TV
0.05
0.10
0.15
0.20
0.05
0.10
0.15
0.20
Couple
CGC
1.021
1.301
1.678
2.255
—
—
—
—
CPD
0.701
0.505
0.513
0.519
0.633
0.574
0.578
0.603
CFP
0.443
0.390
0.369
0.362
0.434
0.424
0.427
0.415
CoD
0.165
0.164
0.229
0.315
0.612
0.627
0.607
0.620
Man
CGC
1.009
1.312
1.754
2.209
—
—
—
—
CPD
0.504
0.512
0.502
0.516
0.578
0.567
0.567
0.575
CFP
0.369
0.368
0.363
0.368
0.419
0.413
0.411
0.411
CoD
0.156
0.155
0.223
0.300
0.612
0.603
0.602
0.659
Hill
CGC
1.023
1.290
1.757
2.146
—
—
—
—
CPD
0.517
0.511
0.507
0.514
0.568
0.568
0.571
0.560
CFP
0.364
0.376
0.366
0.361
0.416
0.412
0.408
0.411
CoD
0.170
0.166
0.231
0.298
0.610
0.628
0.626
0.624
Boat
CGC
1.039
1.344
1.944
2.470
—
—
—
—
CPD
0.499
0.545
0.513
0.523
0.576
0.586
0.564
0.560
CFP
0.374
0.361
0.370
0.360
0.413
0.412
0.411
0.407
CoD
0.157
0.156
0.247
0.295
0.610
0.610
0.609
0.606
Avg.
CGC
1.023
1.312
1.783
2.270
—
—
—
—
CPD
0.555
0.518
0.509
0.518
0.589
0.573
0.570
0.575
CFP
0.388
0.374
0.367
0.363
0.420
0.415
0.414
0.412
CoD
0.162
0.160
0.232
0.302
0.611
0.617
0.611
0.627Table 2
PSNR comparisons of different noise levels.
Image
Method
Anisotropic TV
Isotropic TV
0.05
0.10
0.15
0.20
0.05
0.10
0.15
0.20
Couple
CGC
30.72
27.17
25.25
24.10
—
—
—
—
CPD
30.69
27.12
25.14
24.07
30.73
27.49
25.57
24.55
CFP
30.66
27.08
25.11
24.10
30.71
27.43
25.49
24.47
CoD
30.77
27.22
25.39
24.27
30.68
27.49
25.75
24.73
Man
CGC
31.10
27.84
26.16
25.10
—
—
—
—
CPD
31.15
27.93
26.21
25.15
31.38
28.35
26.61
25.61
CFP
31.12
27.90
26.21
25.15
31.35
28.29
26.58
25.49
CoD
31.22
27.86
26.21
25.09
31.25
28.21
26.62
25.51
Hill
CGC
31.00
27.96
26.42
25.44
—
—
—
—
CPD
31.07
28.13
26.58
25.72
31.19
28.42
26.87
25.99
CFP
31.04
28.09
26.58
25.72
31.16
28.36
26.80
25.90
CoD
31.10
27.97
26.44
25.33
31.14
28.34
26.88
25.84
Boat
CGC
30.85
27.48
25.66
24.43
—
—
—
—
CPD
30.89
27.48
25.52
24.31
31.03
27.91
26.09
24.88
CFP
30.85
27.44
25.5
24.35
31
27.84
25.94
24.78
CoD
30.94
27.5
25.76
24.56
30.96
27.81
26.12
25.00
Avg.
CGC
30.92
27.61
25.87
24.77
—
—
—
—
CPD
30.95
27.66
25.86
24.81
31.08
28.04
26.28
25.26
CFP
30.92
27.63
25.85
24.83
31.06
27.98
26.2
25.16
CoD
31.01
27.64
25.95
24.81
31.01
27.96
26.34
25.27Table 3
SSIM comparisons of different noise levels.
Image
Method
Anisotropic TV
Isotropic TV
0.05
0.10
0.15
0.20
0.05
0.10
0.15
0.20
Couple
CGC
0.928
0.838
0.744
0.689
—
—
—
—
CPD
0.930
0.837
0.746
0.689
0.931
0.852
0.769
0.713
CFP
0.929
0.837
0.748
0.692
0.93
0.850
0.766
0.710
CoD
0.931
0.840
0.760
0.699
0.931
0.854
0.781
0.726
Man
CGC
0.927
0.842
0.765
0.725
—
—
—
—
CPD
0.930
0.845
0.777
0.726
0.933
0.860
0.795
0.744
CFP
0.929
0.845
0.778
0.723
0.932
0.858
0.792
0.735
CoD
0.930
0.838
0.771
0.725
0.932
0.856
0.795
0.738
Hill
CGC
0.920
0.827
0.742
0.705
—
—
—
—
CPD
0.921
0.830
0.76
0.713
0.923
0.845
0.776
0.727
CFP
0.921
0.831
0.763
0.714
0.923
0.844
0.775
0.723
CoD
0.924
0.829
0.761
0.704
0.924
0.846
0.783
0.727
Boat
CGC
0.926
0.844
0.764
0.707
—
—
—
—
CPD
0.931
0.846
0.768
0.708
0.933
0.859
0.789
0.731
CFP
0.930
0.845
0.767
0.703
0.932
0.856
0.783
0.720
CoD
0.929
0.838
0.765
0.706
0.932
0.856
0.789
0.728
Avg.
CGC
0.925
0.838
0.764
0.706
—
—
—
—
CPD
0.928
0.839
0.763
0.709
0.930
0.854
0.782
0.729
CFP
0.927
0.839
0.764
0.708
0.929
0.852
0.779
0.722
CoD
0.929
0.836
0.762
0.707
0.930
0.853
0.787
0.730Figure 2
Denoising results comparison for isotropic TV model. The Gaussian noise is with std. 0.15, and the two values in each bracket are PSNR and SSIM, respectively.
(a)
Noised image (16.48, 0.508)
(b)
CPD (26.61, 0.795)
(c)
CFP (26.58, 0.792)
(d)
CoD (26.62, 0.795)


### 5.2. Image Deblurring

The proposed ALMCD algorithm is compared with TwIST, FISTA, and SALSA, where CFP is adopted to solve the involved denoising subproblem. In the experiments, the test images were degraded with Gaussian kernel with std. 7 and Gaussian noise with zero mean value and std.1×10-3. The trade-off parameter λ is set as 5×10-5 for all the four algorithms.Since blurry images usually suffer from severe blur and low level noise, the subproblem involved should be more efficiently solved by CoDenoise. Table4 presents the deblurring results comparison for anisotropic TV deblurring, and one can see that ALMCD is significantly faster than all the competing algorithms. Even though CoDenoise is slower than CFP for isotropic TV minimization, ALMCD is instead more efficient than the competing algorithms, shown in Table 5. Particularly, SALSA adopted the same variable splitting strategy with ALMCD, generating the same subproblems, so the efficiency superiority of ALMCD over SALSA heavily confirms that CoD-based method contributes more to efficiency improvement of ALMCD. In terms of deblurring quality, both PSNR and SSIM for anisotropic and isotropic TV models, shown in Tables 4 and 5, achieved by ALMCD are comparable to all the other competing algorithms. Figure 3 presents the visual deblurring results of Boat, from which one can see that the ALMCD can obtain visually plausible deblurring results. As a summary, CoD-based methods can provide comparable solutions compared with competing algorithms, while CoDenoise for anisotropic TV model is much more efficient than all the competing denoising algorithms, and ALMCD with CoDenoise embedded to solve denoising subproblem is much faster than state-of-the-art deblurring algorithms for both anisotropic and isotropic TV models.Table 4
Deblurring results comparison for anisotropic TV model. T stands for TwIST, F stands for FISTA, S stands for SALSA, and A stands for ALMCD.
Image
CPU time (seconds)
PSNR
SSIM
T
F
S
A
T
F
S
A
T
F
S
A
Couple
21.66
31.22
16.48
1.53
27.97
27.86
28.4
28.73
0.898
0.894
0.910
0.914
Man
39.03
37.42
13.79
1.55
28.46
28.08
28.73
28.87
0.893
0.881
0.899
0.904
Hill
26.48
31.52
17.12
1.57
29.36
29.2
29.58
29.58
0.895
0.888
0.908
0.904
Boat
33.01
34.37
14.59
1.44
28.11
27.6
28.32
28.67
0.907
0.890
0.899
0.911
Average
30.04
33.63
15.50
1.52
28.48
28.18
28.76
28.96
0.899
0.888
0.904
0.908Table 5
Deblurring results comparison for isotropic TV model. T stands for TwIST, F stands for FISTA, S stands for SALSA, and A stands for ALMCD.
Image
CPU time (seconds)
PSNR
SSIM
T
F
S
A
T
F
S
A
T
F
S
A
Couple
25.57
33.11
17.77
2.64
28.16
27.95
28.38
28.47
0.905
0.895
0.908
0.914
Man
22.69
34.94
14.28
2.51
28.42
28.22
28.65
28.62
0.892
0.885
0.899
0.899
Hill
17.00
33.57
18.94
2.53
29.21
29.34
29.55
29.53
0.888
0.891
0.890
0.902
Boat
23.66
33.31
15.29
2.57
28.10
27.73
28.30
28.38
0.907
0.893
0.909
0.913
Average
22.23
33.73
16.57
2.56
28.47
28.31
28.72
28.75
0.898
0.891
0.905
0.907Figure 3
Deblurring results for anisotropic TV model. The two values in each bracket are PSNR and SSIM, respectively.
(a)
Original image
(b)
TwIST (28.11, 0.907)
(c)
FISTA (27.60, 0.890)
(d)
Blurred image (22.15, 0.601)
(e)
SALSA (28.32, 0.899)
(f)
ALMCD (28.67, 0.911)


## 5.1. Image Denoising

As to the competing denoising algorithms, CFP and CPD are both only designed for isotropic TV minimization, and by modifying the projection step, CFP and CPD are easily applied to anisotropic TV minimization. Since only anisotropic TV model can be mapped to binary MRF, CGC is only feasible to anisotropic TV minimization. The denoising experiments were conducted on four 512 × 512 images, that is, Couple, Man, Hill, and Boat, shown in Figure1, which were degraded by different Gaussian noise levels, with standard deviation (std.) as 0.05, 0.10, 0.15, and 0.20. Corresponding to each noise level, the trade-off parameter was chosen as 0.04, 0.09, 0.16, and 0.23, respectively, with best PSNR values.Figure 1
Four test images.
(a)
Couple
(b)
Man
(c)
Hill
(d)
BoatFor the convexity of TV minimization problem, CFD and CPD are proved to converge to global optimal solution. From the PSNR and SSIM comparison of different algorithms, shown in Tables2 and 3, CoDenoise can also converge to the same solutions with CFD and CPD for each noise level. As to the computational efficiency shown in Table 1, for anisotropic TV denoising CoDenoise is much faster than all the competing algorithms, especially for low level noises, and for isotropic TV denoising CoDenoise has to handle more extra entries, thus being little computational expensive than CFP and comparable to CPD. Figure 2 delivers the visual denoising effect of different algorithms, and CoDenoise can achieve satisfactory denoising results.Table 1
CPU time(seconds) comparisons of different noise levels.
Image
Method
Anisotropic TV
Isotropic TV
0.05
0.10
0.15
0.20
0.05
0.10
0.15
0.20
Couple
CGC
1.021
1.301
1.678
2.255
—
—
—
—
CPD
0.701
0.505
0.513
0.519
0.633
0.574
0.578
0.603
CFP
0.443
0.390
0.369
0.362
0.434
0.424
0.427
0.415
CoD
0.165
0.164
0.229
0.315
0.612
0.627
0.607
0.620
Man
CGC
1.009
1.312
1.754
2.209
—
—
—
—
CPD
0.504
0.512
0.502
0.516
0.578
0.567
0.567
0.575
CFP
0.369
0.368
0.363
0.368
0.419
0.413
0.411
0.411
CoD
0.156
0.155
0.223
0.300
0.612
0.603
0.602
0.659
Hill
CGC
1.023
1.290
1.757
2.146
—
—
—
—
CPD
0.517
0.511
0.507
0.514
0.568
0.568
0.571
0.560
CFP
0.364
0.376
0.366
0.361
0.416
0.412
0.408
0.411
CoD
0.170
0.166
0.231
0.298
0.610
0.628
0.626
0.624
Boat
CGC
1.039
1.344
1.944
2.470
—
—
—
—
CPD
0.499
0.545
0.513
0.523
0.576
0.586
0.564
0.560
CFP
0.374
0.361
0.370
0.360
0.413
0.412
0.411
0.407
CoD
0.157
0.156
0.247
0.295
0.610
0.610
0.609
0.606
Avg.
CGC
1.023
1.312
1.783
2.270
—
—
—
—
CPD
0.555
0.518
0.509
0.518
0.589
0.573
0.570
0.575
CFP
0.388
0.374
0.367
0.363
0.420
0.415
0.414
0.412
CoD
0.162
0.160
0.232
0.302
0.611
0.617
0.611
0.627Table 2
PSNR comparisons of different noise levels.
Image
Method
Anisotropic TV
Isotropic TV
0.05
0.10
0.15
0.20
0.05
0.10
0.15
0.20
Couple
CGC
30.72
27.17
25.25
24.10
—
—
—
—
CPD
30.69
27.12
25.14
24.07
30.73
27.49
25.57
24.55
CFP
30.66
27.08
25.11
24.10
30.71
27.43
25.49
24.47
CoD
30.77
27.22
25.39
24.27
30.68
27.49
25.75
24.73
Man
CGC
31.10
27.84
26.16
25.10
—
—
—
—
CPD
31.15
27.93
26.21
25.15
31.38
28.35
26.61
25.61
CFP
31.12
27.90
26.21
25.15
31.35
28.29
26.58
25.49
CoD
31.22
27.86
26.21
25.09
31.25
28.21
26.62
25.51
Hill
CGC
31.00
27.96
26.42
25.44
—
—
—
—
CPD
31.07
28.13
26.58
25.72
31.19
28.42
26.87
25.99
CFP
31.04
28.09
26.58
25.72
31.16
28.36
26.80
25.90
CoD
31.10
27.97
26.44
25.33
31.14
28.34
26.88
25.84
Boat
CGC
30.85
27.48
25.66
24.43
—
—
—
—
CPD
30.89
27.48
25.52
24.31
31.03
27.91
26.09
24.88
CFP
30.85
27.44
25.5
24.35
31
27.84
25.94
24.78
CoD
30.94
27.5
25.76
24.56
30.96
27.81
26.12
25.00
Avg.
CGC
30.92
27.61
25.87
24.77
—
—
—
—
CPD
30.95
27.66
25.86
24.81
31.08
28.04
26.28
25.26
CFP
30.92
27.63
25.85
24.83
31.06
27.98
26.2
25.16
CoD
31.01
27.64
25.95
24.81
31.01
27.96
26.34
25.27Table 3
SSIM comparisons of different noise levels.
Image
Method
Anisotropic TV
Isotropic TV
0.05
0.10
0.15
0.20
0.05
0.10
0.15
0.20
Couple
CGC
0.928
0.838
0.744
0.689
—
—
—
—
CPD
0.930
0.837
0.746
0.689
0.931
0.852
0.769
0.713
CFP
0.929
0.837
0.748
0.692
0.93
0.850
0.766
0.710
CoD
0.931
0.840
0.760
0.699
0.931
0.854
0.781
0.726
Man
CGC
0.927
0.842
0.765
0.725
—
—
—
—
CPD
0.930
0.845
0.777
0.726
0.933
0.860
0.795
0.744
CFP
0.929
0.845
0.778
0.723
0.932
0.858
0.792
0.735
CoD
0.930
0.838
0.771
0.725
0.932
0.856
0.795
0.738
Hill
CGC
0.920
0.827
0.742
0.705
—
—
—
—
CPD
0.921
0.830
0.76
0.713
0.923
0.845
0.776
0.727
CFP
0.921
0.831
0.763
0.714
0.923
0.844
0.775
0.723
CoD
0.924
0.829
0.761
0.704
0.924
0.846
0.783
0.727
Boat
CGC
0.926
0.844
0.764
0.707
—
—
—
—
CPD
0.931
0.846
0.768
0.708
0.933
0.859
0.789
0.731
CFP
0.930
0.845
0.767
0.703
0.932
0.856
0.783
0.720
CoD
0.929
0.838
0.765
0.706
0.932
0.856
0.789
0.728
Avg.
CGC
0.925
0.838
0.764
0.706
—
—
—
—
CPD
0.928
0.839
0.763
0.709
0.930
0.854
0.782
0.729
CFP
0.927
0.839
0.764
0.708
0.929
0.852
0.779
0.722
CoD
0.929
0.836
0.762
0.707
0.930
0.853
0.787
0.730Figure 2
Denoising results comparison for isotropic TV model. The Gaussian noise is with std. 0.15, and the two values in each bracket are PSNR and SSIM, respectively.
(a)
Noised image (16.48, 0.508)
(b)
CPD (26.61, 0.795)
(c)
CFP (26.58, 0.792)
(d)
CoD (26.62, 0.795)


## 5.2. Image Deblurring

The proposed ALMCD algorithm is compared with TwIST, FISTA, and SALSA, where CFP is adopted to solve the involved denoising subproblem. In the experiments, the test images were degraded with Gaussian kernel with std. 7 and Gaussian noise with zero mean value and std.1×10-3. The trade-off parameter λ is set as 5×10-5 for all the four algorithms.Since blurry images usually suffer from severe blur and low level noise, the subproblem involved should be more efficiently solved by CoDenoise. Table4 presents the deblurring results comparison for anisotropic TV deblurring, and one can see that ALMCD is significantly faster than all the competing algorithms. Even though CoDenoise is slower than CFP for isotropic TV minimization, ALMCD is instead more efficient than the competing algorithms, shown in Table 5. Particularly, SALSA adopted the same variable splitting strategy with ALMCD, generating the same subproblems, so the efficiency superiority of ALMCD over SALSA heavily confirms that CoD-based method contributes more to efficiency improvement of ALMCD. In terms of deblurring quality, both PSNR and SSIM for anisotropic and isotropic TV models, shown in Tables 4 and 5, achieved by ALMCD are comparable to all the other competing algorithms. Figure 3 presents the visual deblurring results of Boat, from which one can see that the ALMCD can obtain visually plausible deblurring results. As a summary, CoD-based methods can provide comparable solutions compared with competing algorithms, while CoDenoise for anisotropic TV model is much more efficient than all the competing denoising algorithms, and ALMCD with CoDenoise embedded to solve denoising subproblem is much faster than state-of-the-art deblurring algorithms for both anisotropic and isotropic TV models.Table 4
Deblurring results comparison for anisotropic TV model. T stands for TwIST, F stands for FISTA, S stands for SALSA, and A stands for ALMCD.
Image
CPU time (seconds)
PSNR
SSIM
T
F
S
A
T
F
S
A
T
F
S
A
Couple
21.66
31.22
16.48
1.53
27.97
27.86
28.4
28.73
0.898
0.894
0.910
0.914
Man
39.03
37.42
13.79
1.55
28.46
28.08
28.73
28.87
0.893
0.881
0.899
0.904
Hill
26.48
31.52
17.12
1.57
29.36
29.2
29.58
29.58
0.895
0.888
0.908
0.904
Boat
33.01
34.37
14.59
1.44
28.11
27.6
28.32
28.67
0.907
0.890
0.899
0.911
Average
30.04
33.63
15.50
1.52
28.48
28.18
28.76
28.96
0.899
0.888
0.904
0.908Table 5
Deblurring results comparison for isotropic TV model. T stands for TwIST, F stands for FISTA, S stands for SALSA, and A stands for ALMCD.
Image
CPU time (seconds)
PSNR
SSIM
T
F
S
A
T
F
S
A
T
F
S
A
Couple
25.57
33.11
17.77
2.64
28.16
27.95
28.38
28.47
0.905
0.895
0.908
0.914
Man
22.69
34.94
14.28
2.51
28.42
28.22
28.65
28.62
0.892
0.885
0.899
0.899
Hill
17.00
33.57
18.94
2.53
29.21
29.34
29.55
29.53
0.888
0.891
0.890
0.902
Boat
23.66
33.31
15.29
2.57
28.10
27.73
28.30
28.38
0.907
0.893
0.909
0.913
Average
22.23
33.73
16.57
2.56
28.47
28.31
28.72
28.75
0.898
0.891
0.905
0.907Figure 3
Deblurring results for anisotropic TV model. The two values in each bracket are PSNR and SSIM, respectively.
(a)
Original image
(b)
TwIST (28.11, 0.907)
(c)
FISTA (27.60, 0.890)
(d)
Blurred image (22.15, 0.601)
(e)
SALSA (28.32, 0.899)
(f)
ALMCD (28.67, 0.911)


## 6. Conclusion

In this paper, we propose a novel unified solution based on CoD method to solve TV minimization problems. With the unified formulation, both anisotropic and isotropic TV minimization can be decomposed into scalar problems that can be efficiently solved by convex optimization. With simple cyclic updating pattern and random perturbations, CoDenoise can empirically converge to the optimal solution. Also when applied in image deblurring, the CoDenoise algorithm embedded in ALMCD makes significant contributions in terms of efficiency, compared with competing deblurring algorithms. In terms of deblurring quality, ALMCD can provide comparable or superior results, validating the effectiveness of CoD-based methods. Furthermore, with the great improvements in weighted median filter or parallel implementation, the CoDenoise algorithm should be much more efficient. Also, CoD could be extended to other TV variants, for example, nonlocal TV and vectorial TV.



---

*Source: 3012910-2017-09-18.xml*