However, if f and h are constrained in some manner then the set of soultions to this problem is greatly reduced. This is the general technique adopted by blind deconvolution algorithms. They start with some sort of estimate for both h and f, and by constraining these in a specific manner they try to obtain the original image. Summarizing, the key to blind deconvolution is to constrain both h and f reducing the set of feasible solutions and hopefully producing output that approaches the original image.
Several algorithms have been developed for blind deconvolution. The most common is the Iterative Blind Deconvolution algorithm. Others include the Minimized Constraints method, McCallum's Simulated Annealing algorithm, and the Blind Superresolution algorithm[3], and the Generalized Projection algorithm[4].
Iterative Blind Deconvolution
Matlab implementation of IBD
Performance analysis of IBD
Minimized Constraints method
Matlab implementation of Minimized Constraints