tarmiziAdam2005 / ADMM-Total-Variation

Some other ADMM total variation codes
17 stars 13 forks source link

Hello, could you please tell me how your sub-problems were derived in mathematical ways? Could you share with us?Thank you . #2

Open 16Meimei opened 3 years ago

tarmiziAdam2005 commented 3 years ago

Hi, Which particular sub-problem are you referring to ?

16Meimei commented 3 years ago

Hello, may I ask how the subproblem of U was derived by mathematical formula?

tarmiziAdam2005 commented 3 years ago

The first step is of course to define the augmented lagrangian function for the whole problem. Then, in order to solve for the U subproblem, we separate these problem and minimize them individually. In this case, we minimize U sepearately.

Now, referring to the code "ADMM_DeblurTV.m", the U subproblem is a least squares problem. In this regard, we need to solve a linear system. Because the blurring operator K has special structure, we can solve the resulting linear system via FFT (line 74). This is making use of the special structure of K and also the convolution theorem that states convolution in the time domain is equal to multiplication in the Fourier domain. You can refer to the paper [1] equations (2.3) and (2.4) and also [2] equations (14) and (15) and their explanation. However, for you to understand this in depth, there is recently a preprint that discusses this topic (FFT for solving linear system in image restoration) [3]. I recommend you check out [3].

[1] Wang, Yilun, et al. "A new alternating minimization algorithm for total variation image reconstruction." SIAM Journal on Imaging Sciences 1.3 (2008): 248-272.

[2] Chan, Stanley H., et al. "An augmented Lagrangian method for total variation video restoration." IEEE Transactions on Image Processing 20.11 (2011): 3097-3111.

[3] Helou, Majed El, et al. "Fourier-domain optimization for image processing." arXiv preprint arXiv:1809.04187 (2018).

16Meimei commented 3 years ago

How do you do variable substitution? Is it just v=Du?

tarmiziAdam2005 commented 3 years ago

Yes you are correct.

16Meimei commented 3 years ago

In that case, where did the numerator of line 80 rho* z-mu3 and the denominator rho come from?

tarmiziAdam2005 commented 3 years ago

Hi,

That comes from another constraint z = u associatted with the indicator functions. To minimize the TV deblurring problem, in that code I use two constraints v = Du and z = u.

If there is no indicator function, you can just minimize the TV deblurring problem with constraints v = Du and if i still remember well, rho*z - mu3 would not be there.

16Meimei commented 3 years ago

Thank you for your patient guidance. May I ask what the indicator function here represents?I haven't seen a model with an indicator function yet.

tarmiziAdam2005 commented 3 years ago

Hi,

The purpose of the indicator function in the TV deblurring model is to constraint the solution between [0, 255] which is the value of the pixels. This is some bound constraints on the pixel value. When we have an indicator function present in the TV model, then, one of the subproblems that we will minimize is a projection onto a convex set (POCS). Actually, there has been studies showng that having this type of constraint will somehow increase the restoration results. For example just one paper I can remember of right now [1] in section VI (b) of that paper.

[1] Beck, Amir, and Marc Teboulle. "Fast gradient-based algorithms for constrained total variation image denoising and deblurring problems." IEEE transactions on image processing 18.11 (2009): 2419-2434.

Just out of curiosty, may I know which institution you are affiliated with ? and position ?

16Meimei commented 3 years ago

Thank you for your help.I am a student at Beijing Jiaotong University in China.Just out of curiosity, may I know which organization and location you belong to?

tarmiziAdam2005 commented 3 years ago

You are most welcome. That is a very reputed university. I am an assistant professor at the Faculty of Engineering, School of Computing, University Teknologi Malaysia. My profile is here

If you like, I have some notes that I wrote some time ago regarding the application of ADMM to some problems involving image restoration and matrix completion (related to some of the codes here). There is one section, in the notes that formulates the indicator function for impulse noise restoration using ADMM. If you would like to go through the notes, I can send them to you. Just provide me your e-mail.

16Meimei commented 3 years ago

You are so excellent that you are my role model.I will appreciate it if you don't mind sharing your notes with me.My E-mail is mmjibjtu@gmail.com

tarmiziAdam2005 commented 3 years ago

Hi, I tried to email you the notes. However, it says that the email address does not exist. Do you have another email ?

16Meimei commented 3 years ago

Hi, could you please try these two email addresses? Thank you. 2320540569@qq.com or 13673715401@163.com