Adaptive Nonlocal Filtering: A Fast Alternative to Anisotropic Diffusion for Image Enhancement
Nonlinear anisotropic diffusion algorithms provide a significant improvement in image enhancement for segmentation, when compared to more traditional linear isotropic filters. However, the excessive computational cost of solving nonlinear PDE's (or applying large iterative filters) on images effectively precludes the use of these methods in real-time vision applications. In previous work, we showed that it is possible to adaptively estimate a "Greens Function Approximator", yielding an image enhancement technique which is about an order of magnitude faster, on a serial machine, than comparable nonlinear diffusion methods. Furthermore, the method is fully parallelizable, unlike the intrinsically serial diffusion methods. In the present paper, we show that an additional order of magnitude improvement is provided by a new image filtering paradigm, which we term nonlocal filtering. The basic idea is to adaptively determine a vector field (a form of skeletonization) of an image which specifies nonlocal application points for an image filter. We show one possible algorithm for determining this offset vector field which works well, and gives results which are comparable to, but two orders of magnitude faster than, nonlinear diffusion methods. Moreover, we show that applying an image filter guided by a vector field can be reduced to conventional local filtering acting on a pixel permutation of the original image. This allows the use of special purpose image filtering hardware and algorithms with no modification. The practical import of achieving high quality image enhancement for segmentation at real time rates, with no modification at all of conventional hardware and software filtering, is highly significant. From a theoretical point of view, the introduction of a geometry driven vector field, separate from the details of filter implementation, seems to provide a novel approach to image processing.