Google has introduced new Pull-Push noise reduction algorithms and Polyblur photo blur removal. Both algorithms are high-performance, allowing you to improve the quality of images on mobile devices in a few milliseconds.
At the first stage, Pull-Push divides the image into several areas, from which the main objects are removed and the noise level is determined by the brightness of the pixels. This process is repeated several times: at each iteration, the size of the regions changes, which allows you to reliably build a heat map of the noise, as shown in the image below.
After that, the image pyramid is built, i.e. a set of copies of it with different resolutions. For each of the copies, the pixel averaging operation is performed in accordance with the noise map obtained at the previous stage (Pull). Then, these copies are combined into a new image (Push). Example of the algorithm operation:
The algorithm for eliminating blurring is based on the idea that image blurring is the result of convolution of a clear image with a blurring filter. Therefore, to restore a clear image, it is necessary to determine the convolution kernel and perform the reverse convolution. The PolyBlur algorithm assumes that the kernel is a Gaussian function defined by three parameters: amplitude, width and direction. These parameters are determined by calculating the image gradient. Determining the Gaussian kernel and performing the inverse convolution is performed several times to achieve the best result. Example of the algorithm operation:
The new algorithms are already integrated into the Google Photos photo editor and are available to users.