Smoothing is a fundamental task in low-level image processing that is used to suppress irrelevant details while preserving salient image structures. A popular approach is to perform non-linear aggregation of neighboring pixels using a kernel. This includes the classical bilateral and non-local means filters. The difficulty is that the brute-force implementation of these filters require intense computations. As a result, it is rather difficult to deploy them for real-time applications. The focus of the group is on developing scalable approximation algorithms that can dramatically cut down the computation load without visibly degrading the filtering quality. We are also working on fast high-dimensional extensions of kernel-based filtering, where the dimension of the kernel feature is large (color images, hyperspectral images, patch-based representations, etc).