The Stack Overflow podcast is back! Listen to an interview with our new CEO.
8

There's a couple subquestions that I'll address separately: Convolution in the spatial domain (or correspondingly in the time domain for time-sampled signals) is equivalent to multiplication in the frequency domain. In sampled systems, there are some subtleties to boundary cases (i.e. when using the DFT, multiplication in the frequency domain actually gives ...


8

One word for that technique is superresolution. Robert Gawron has a blog post here and the Python implementation here. Usually, this technique relies on each image being slightly offset from the others. The only gain you'd get from not moving between shots would be to reduce the noise level.


8

Both are the MMSE estimators. The main difference is Wiener is the optimal for Gaussian Noise while Richardson Lucy assumes Poisson Noise. Poisson Noise is a better model for noise in photos captured by a Photo Diode. Computationally, in the case of Gaussian Noise and Linear Convolution the solution has a closed form solution in the Maximum Likelihood / ...


7

Since convolution describes the operation of a linear time-invariant (LTI) system, the question is if the effect of an LTI system can be compensated by another LTI system. In the discrete-time domain you can use the $\mathcal{Z}$-transform to analyze LTI systems. If a signal $x(n)$ (with $\mathcal{Z}$-transform $X(z)$) is filtered by a system with impulse ...


7

You cant't recover the original signal through deconvolution. A Gaussian kernel is in essence a lowpass filter, i.e. it will remove information at higher frequencies from the signal. Once it's gone, it's gone and you can't recover it. This problem shows up as "divide by zero" or "divide by a very small number", which then amplifies numerically noise of ...


6

Let's look at the case $x[n] \in \mathbb{R}$, where $x[n]$ is real. Autocorrelation is basically convolution of the signal with it's time inverse. This can be easily expressed in the frequency domain. $$ \mathscr{F}\Big\{ r_{xx}[n] \Big\} = \mathscr{F}\Big\{ x[n] \Big\} \cdot \mathscr{F}\Big\{ x[-n] \Big\} $$ $$R_{xx}(\omega) = X(\omega)\cdot X^*(\...


4

Here's the way I think about a discrete Wiener Filter Consider a sequence of observations $\mathbf{y} \in \Re^n $ Form a matrix from the input $\mathbf{x} \in \Re^{n+r-1}$ by shifting columns one sample each: $$ X= \begin{bmatrix} x_1 & x_2 & ... & x_r \\ x_2 & x_3 & & x_{r+1} \\ x_3 & x_4 & & x_{r+2} \\ ... & &...


4

Intuitively, if You move the sensor $ N $ steps each at the size of $ \frac{1}{N} $ of its resolution you can get $ \times N $ more resolution. It is like a polyphase representation of the signal. Using estimation methods, any movement which is not an (Event with zero probability) integer multiplication of the resolution of the sensor, namely, fractional ...


4

There is in general, as @Hilmar's answer points out, no unique solution to the question of a sequence that has the given perodic autocorrelation function. In the simplest case, that a shifted version $y$ of any sequence $x$ (e.g. $y[n] = x[n-3]$ for all $n$) has the same autocorrelation function as $x$. Similarly, $y[n] = x[-n]$ for all $n$ has the same ...


3

I will divide my answer into 3 sections. The Distribution of the Derivative of Images Take a real world image, any image. Apply the derivative operator on it (Namely apply the kernel $ \left[ 1, -1 \right] $ on it. Display the histogram of the filtered image. I took this image: The histogram I got is this: This distribution is very similar to Laplace ...


3

I hope you have not made mistake in the way computation is done for - I convolve the image in the spatial domain with a 5x5 box filter. I FFT the filter, FFT the degraded image, then divide the degraded image by the filter. Inverse FFT the result into an image and I get garbage. Suppose your image is 256x256 size, and Filter is 5x5 - in order to ...


3

Deconvolution is in the general case not possible, so it needs to be approximated with application specific constraints and requirements. Let's look at a simple 1-dimensional example that illustrates the problem. Assume you have an impulse response like your kernel, i.e. h = [1 1 1]. Then let's look at the output of a signal (which you can think of a line ...


2

The more independent data you have, the more constrained are the possible solution sets that could produce that data, usually. If any higher frequency content in the possible solution sets is constrained to not be completely arbitrary (which data derived from sub-pixel shifted sampling might so constrain), then the solution sets could possibly becomes ...


2

The Wiener Filter can also be derived by another (Easier) way. Let's assume the following model: $$ y = h \ast x + n $$ Namely the data is a result of a linear combination (Convolution) of $ x $ with Additive Noise. If we assume the noise model is Gaussian and our data is also formed by a Gaussian distribution then we should try to minimize (MAP ...


2

One approach you can take is to try to fit your data to an ARMA model. There are several implementations (as that link suggests). Also a good reference (if you're mathematically minded) is Lennart Ljung's book, System Identification: Theory for the User Most algorithms mentioned in the links use a mean square error criterion. Many algorithms work well (...


2

The idea is to represent all operation sing Matrices. Once it is done, it is easy to solve the problems as a Least Squares problems. The way to represent Convolution Operation using a Matrix is by Toeplitz Matrix. For 1D it is pretty straight forward to do (Just pay attention to boundary). So let's take the simple model in the comment: $$ g = f \circ h + ...


2

Approaches There are many methods for Deconvolution (Namely the degradation operator is linear and Time / Space Invariant) out there. All of them try to deal with the fact the problem is Ill Poised in many cases. Better methods are those which add some regularization to the model of the data to be restored. It can be statistical models (Priors) or any ...


2

What you want is $$x(t) = (x(t)\otimes h(t))\otimes h'(t)$$ where $\otimes$ denotes convolution. Taking $Z$ transform, $$X(z) = X(z) \times H(z) \times H'(z)$$ or $$H'(z) = \frac{1}{H(z)} \tag{1}$$ So you can deconvolve a convolution sum if you you have inverse transfer function as expressed in (1). For causal and stable system, the ROC of $H'(z)$ must ...


2

On the contrary, if you compute the convolution of a signal $x$ having a span of $M$ non-zero entries with a filter with a span of $N$ non-zero entries, then the resulting sequence will have $M+N-1$ non-zero entries, so that your system should be over-determined. Computing the minimizer $x$ of $\|[0,1,0]*y-[1,1,1]*x\|_2$ leads by standard variational ...


2

In this problem of finding the inverse system (if it exists) its intuitive to try differentiating the integral as the system input/output is given by: $$y(t) = \mathcal{T}\{x(t)\} = \int_{-\infty}^{3t} x(\tau) d\tau$$ Before differentiating te integral however, I would like to make this little change which is quite clear I assume: $$y(t/3) = \mathcal{T}\{x(...


2

Using more conventional notation, let $x_k$ and $y_k$ denote the $k$-th input and $k$-th output, respectively. $$\begin{array}{rl} y_1 &= 3 = \frac 12 x_1 + \frac 12 x_0\\ y_2 &= 4 = \frac 12 x_2 + \frac 12 x_1\\ y_3 &= 4 = \frac 12 x_3 + \frac 12 x_2\\ y_4 &= 6 = \frac 12 x_4 + \frac 12 x_3\\ y_5 &= 7 = \frac 12 x_5 + \frac 12 x_4\end{...


2

The question really depends on $ f \left( \cdot \right) $. Yet in order to show how to use FFT we can even use 1D signals. Let's rewrite the problem: $$ \hat{x} = \arg \min_{x} \frac{1}{2} \left\| K x - b \right\|_{2}^{2} + \frac{\lambda}{2} \left\| f \left( x \right) \right\|_{2}^{2} $$ The derivative is given by: $$ g = {K}^{T} \left( K x - b \right) + ...


2

All 3 of them fall into the category of Inverse Problems in the Image Processing world. Lets assume a Linear Model and then we will be able to show all 3 of them as parameters of the same framework. Then the differences will be clear and one could generalize it into Non Linear settings as well. Have a look on the following model: $$ y \approx A x + w $$ ...


2

Most of the information is given in my answer to 1D Deconvolution with Gaussian Kernel (MATLAB) (Which is related to Deconvolution of 1D Signals Blurred by Gaussian Kernel). Model The least squares model is simple. The objective function as a function of the data is given by: $$ f \left( x \right) = \frac{1}{2} \left\| h \ast x - y \right\|_{2}^{2} $$ ...


2

In the context of image processing (and machine vision as well), blurring is an operation that reduces the sharpness of an image by some lowpass filtering applied on it. There are different causes of blurring such as lens blur, motion blur, or just LSI (linear shift invariant) lowpass filtering. Deblurring refers to any restoration performed on the image ...


2

Let me present the following Diagram: So, both Deblurring and Deconvolution are operations within the family of Image Restoration (Which is a subset of Inverse Problem set). Basically we build the Image Restoration set by different Degradation Models. The one related to the question are: Linear Degradation Model Namely, the degradation is made by a Linear ...


1

This can be expressed with vectors and matrices as $f'(x) = M\cdot f(\nu)$. Here, the rows of $M$ correspond to an orthogonal set of sinusoidally varying basis vectors. Woah, there, that's a big step you're doing. So, you have your band-limited signal; it has to be band-limited, otherwise the $x_\text{max}$ limit in $(1)$ would be illegal. So, since it's ...


1

I would say you can classify using the following main properties: Blind Deconvolution. Non Blind Deconvolution. Then I'd follow: Linear Model. Time / Spatial Invariant Model. Time / Spatial Variant Model. Non Linear Model. Time / Spatial Invariant Model. Time / Spatial Variant Model. I think those are the main properties of a Deconvolution Problem. ...


1

In our days the Deep Neural Network methods certainly are generating best results. Due to the intense research going on in this field the best method is a moving target hence one can not pin point to one. One generation before them the best methods were based on Dictionary Learning. For example you can use the K-SVD for Single Image Super Resolution. Those ...


1

Some Remarks: 2nd Order Knowledge It seems you only have a knowledge about the Auto Correlation of your data (2nd Order) and not on its distribution. Hence methods you can apply are ones which minimizes only 2nd order functions of the noise (Such as MMSE). Wiener Filter Minimizes the MMSE As can be seen in the derivation of the Wiener Deconvolution Filter ...


Only top voted, non community-wiki answers of a minimum length are eligible