# How to Solve Blind Image Deblurring with Total Variation (TV) Prior Using ADMM?

As a continuation of the question How to Solve Non Blind Image Deblurring with Total Variation Prior Using ADMM? I would like to understand how could one solve the Blind Deblurring (Deconvolution) problem given that the blurring operator is linear and shift invariant yet unknown.

How to approach such problem? What can be said about the solution?

First, let's analyze the problem by formulating it. The model is given by:

$$\boldsymbol{y} = H \boldsymbol{x} + \boldsymbol{n}$$

Where $$\boldsymbol{y}$$ is the given image, $$H$$ is an unknown linear shift invariant blur operator, $$\boldsymbol{x}$$ is the image we're after and $$\boldsymbol{n}$$ is the added noise. We'll assume it is a White Noise (Independent of $$\boldsymbol{x}$$ and with no spatial correlation).

Then, the formulation of the problem can be given by:

$$\arg \min_{H, \boldsymbol{x}} \frac{1}{2} {\left\| H \boldsymbol{x} - \boldsymbol{y} \right\|}_{2}^{2}$$

The main issues with the Blind Deconvolution problem are:

1. There is a perfect solution: $$H = I$$ and $$\boldsymbol{x} = \boldsymbol{y}$$.
2. The problem is Ill Posed.
3. The problem isn't Convex.

This means we need to add priors. Better have one for the Kernel ($$H$$) and for the image ($$\boldsymbol{x}$$).

A very popular formulation with priors is given by:

\begin{aligned} \arg \min_{H, \boldsymbol{x}} \quad & \frac{1}{2} {\left\| H \boldsymbol{x} - \boldsymbol{y} \right\|}_{2}^{2} + \lambda {\left\| \boldsymbol{x} \right\|}_{TV} \\ \text{subject to} \quad & H \boldsymbol{1} = \boldsymbol{1} \\ & H \geq 1 \end{aligned}

Namely we add the following model / priors:

1. The gradients of the looked after image are distributed by Exponential Distribution.
2. The blur kernel is a low pass in the meaning its DC component (Its sum) is 1 and its coefficients are non negative.

Remark: In the above formulation the constraint $$H \boldsymbol{1} = \boldsymbol{1}$$ could actually be reduced to a single row of $$H$$ which contains all coefficients of the kernel. This can be done by assuming the kernel is Spatially Invariant. In case it is invariant then one needs to chose on which rows to employ. Usually excluding borders, etc...

There are some hyper parameters of this model:

1. The support of the blurring kernel (3 x 3, 5 x 5, etc..).
2. The initial guess for the iterative solver.

By iteratively optimizing:

1. Assume a given $$H$$ solve for $$\boldsymbol{x}$$.
This is just like solving the non blind deblurring problem.
2. Assume $$\boldsymbol{x}$$ is given and solve for $$H$$.
For this you may see my solution for Orthogonal Projection onto the Unit Simplex.

This is not a trivial task to solve. The fine tuning of the solver and hyper parameters requires some experience and domain knowledge.

• Isn't the constraint $H \mathbb{1} = \mathbb{1}$ requires $H$ to be the valid form of the convolution? As otherwise not all elements are on each row.
– Mark
Jun 23, 2021 at 17:43
• @Mark, Indeed. I should say that this constraint should be limited to the rows with the full kernel. Actually, if the model is LSI kernel it is enough to chose a single row. I will add this as a remark. Then the actual manner of the convolution doesn't matter.
– Royi
Jun 23, 2021 at 19:00