Imaging plays a key role in many diverse areas, such as astronomy, remote sensing, microscopy or tomography, just to name few. Due to imperfections of measuring devices (optical degradations, limited size of sensors, camera shake) and instability of observed scene (object motion, air turbulence), captured images are blurred, noisy and of insufficient spatial or temporal resolution. Image restoration methods try to improve their quality.
For principle reasons, these methods need to know the type of degradation process and make less or more restrictive assumptions about the scene or the image we want to get. Intuitively, the more restrictions we are able to prescribe the better results we can achieve. Very general ones are for example simple smoothing constraints assuming that the image contains large homogenous areas. More restrictive are those allowing only a certain type of blurring (out-of-focus or motion blur in a certain direction) or for example the assumption that the whole scene is planar.
Another possibility which makes the problem easier is to consider more than one image of the same scene (multiframe imaging). In this case, we need much less additional knowledge about the scene or degradation process.
Blind deconvolution method based on ARD priors and Variational Bayes with natural handling of regions in the input which violate the blurring model. MATLAB code available!
General framework for decomposition and approximation of space-variant blur with an efficient deconvolution algorithm using the alternating direction method of multipliers (ADMM). MATLAB code available!
Convolutional sparse coding is an interesting alternative to standard sparse coding in modelling shift-invariant signals, giving impressive results for example in unsupervised learning of visual features. In this work we show that the most time-consuming parts can be computed non-iteratively in the Fourier domain using the matrix inversion lemma. MATLAB code available!
Single image blind deconvolution implemented in smartphones. We can remove motion blur from photos taken by a mobile phone using gyroscope data. Everything runs on the phone and you get a sharp image in less than 10s. Android code available!
Another mobile application for a related problem of super-resolution is available here.
Single channel blind deconvolution algorithm which utilizes ultra sparse gradient prior in MAP framework. Augmented Lagrangien method is used for optimization. MATLAB code available!
Fast implementation of the multichannel blind deconvolution and superresolution algorithm. Everything works in the Fourier domain. We can perform deconvolution of several Mpixel images in less than a minute. MATLAB code available!
To simplify the problem, the blur is usually assumed to be homogenous in the whole image. Because the blur can be modeled by convolution in this case, the reverse problem to find the sharp image is called deconvolution. If a mathematical description of the blur is not available, which is the case in most real situations, we refer to the problem as blind deconvolution. One way to overcome the instability typical for deconvolution of a single image is to use multiple images capturing the same scene but blurred in a different way, so called multichannel blind deconvolution.
Super-resolution is the process of combining a sequence of low resolution images in order to produce a higher resolution image or sequence.
We developed one of the best known super-resolution algorithms. You can either read more about the algorithm and super-resolution in general or download directly its Matlab implementation here (BSR application).
A mobile application of super-resolution is available here.
The blur caused by camera motion is a serious problem in many areas of optical imaging such as remote sensing, aerial reconnaissance or digital photography. As a rule, this problem occurs when low ambient light conditions prevent an imaging system from using sufficiently short exposure times, resulting in a blurred image due to the relative motion between a scene and the imaging system. For example, the cameras attached to airplanes and helicopters are blurred by the forward motion of the aircraft and vibrations. Similarly when taking photographs by hand under dim lighting conditions, camera shake leads to objectionable blur.
Read more about this topic and about an algorithm we developed for deblurring of images degraded by a special type of camera motion.
|Contact person:|| Filip Šroubek
|Involved people:||Jan Flusser, Filip Šroubek, Michal Šorel, Barbara Zitová|