This question is theoretical. Let's say you have three different highly compressed images of a same source image, each compressed with a different algorithm and thus "lossy" in different ways.

What would be the possible techniques to recover the best possible image, using the three different compressed versions ?


First of all, there are many solutions. Something better under one measure may be worse under another measure. So first you need to think about what is your quality measure(s) to evaluate a restored image.

Commonly, people use the "mean square error (MSE)" (or its log version, known as the peak signal noise ratio). Assume the ground-truth image is $X$, and the recovered image is $\hat{X}$. Then MSE is defined as $${\rm{MSE}}(X,\hat{X}) = \sum_{i,j}(X[i,j]-\hat{X}[i,j])^2/N$$ where $N$ is the number of pixels in $X$, and $X[i,j]$ denotes a pixels located at $i$th row and $j$th column in $X$.

Without loss of generality, say we have $n$ compressed counterparts are $C_1,C_2,\cdots,C_n$, and we reconstruct $\hat{X}$ as $$\hat{X}=f(C_1,C_2,\cdots,C_n)$$ where $f(\cdot)$ is a method to recover the original image from its compressed counterparts. And your objective is to find an appropriate function $f(\cdot)$ and minimizes the MSE.

To simplify the problem, people often restrict the function $f(\cdot)$ to some fixed type but with parameters to be learned from training data. For example, one simplest function can be the linear combination i.e. $$f(C_1,C_2,\cdots,C_n) = \sum_{k}w_kC_k$$ where $w_k$ is the weight of using the $k$th compressed image in the recovered image. This is a classic regression problem and can be solved easily (go and check the normal equation, which gives the closed form solution to find all $w_k$s). However, you should note the following things:

  • 1). if you donot have any training data, the above method does not work
  • 2). if your image is very large or your have many training images, computing the closed form solution is not a good idea, because of too many computations. Instead, you shall seek for methods like the stochastic gradient descent or similar ones.
  • 3). if I were you, I will go and read more about linear regression stuff. You will see interesting topics like how to prevent overfit by adding regularization, and how to include the Bayesian idea in this regression problem.
  • 4). my guess says the linear regression method is not the best way, but it is a very good start point. Later your may try other $f(\cdot)$, like kernel regressions, or adding more terms, e.g. the total variation term.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.