Separating image signal from constant noise sources
I'm working on image signal from a sensor where the incoming signal consist of high degree of constant noise. The noise patterns are multiple, both with very low frequency and very high frequency but not as high as gaussian or uniform noise. I want to retrieve the original signal from a set of images with as much of this noise removed. I'm thinking about trying to formulate a method which is modified Independent Component Analysis (ICA). Standard noise removal procedures does not work exactly because the noise is not gaussian or uniform, but independent signal which are constant across images. I hope this can be exploited.
I here use the formulation the the observed signal for i'th image is denoted y_i
and the original clean signal is x_i
and y_i = f(x_i)
and f(.)
is the function I want to somehow understand better to hopefully retrieve a better approximation for x_i
.
What I have tried:
- The low and high frequency noise can approximately be removed using bandpass filtering, but this comes with a loss to the information which I want to use later on.
- PCA does not accurately find the patterns we want.
- ICA does not fit this setting out of the box, but seems to find some of the patterns I want.
- Subtracting the mean across all images from each image gets us pretty close, but not all the way. This suggest that to a degree, the problem can be modeled as
y_i = x_i + b
since the average will strengthen constant signals such asb
here.
I'm guessing problem can probably be modelled quite well by a(bx_i + c) = y_i
(element by element multiplication and addition), but since a, b, c
and x_i
are all unknown, I don't have good ideas on how to progress. It might be that some of the artifacts are akin to a convolution, but for now I assume each pixel is independent of neighboring pixels. Are there any methods for taking a jab at this problem.
Topic image-preprocessing noise parameter-estimation
Category Data Science