Naturalness Image Quality Evaluator

No-Reference Quality Metrics


The Natural Image Quality Evaluator (NIQE) metric makes only use of measurable deviations from statistical regularities observed in natural images, without training on human-rated distorted images, and, indeed without any exposure to distorted images. It is based on the construction of a quality aware collection of statistical features based on a simple and successful space domain natural scene statistic (NSS) model. These features are derived from a corpus of natural, undistorted images.


The lower the NIQE value, the better. A NIQE value of 0 is the best.


NIQE is trained with an image dataset so its performance and validity heavily depends on the training data.


Images from a traffic surveillance camera in Germany is used to show the NIQE results.

Standard image with NIQE score 3.75


Dark image with NIQE score 4.64


Dark image with NIQE score 3.93


Tools and Libraries


There is one python repository implementing NIQE for grayscale images.


The MATLAB Image Processing Toolbox contains a function to calculate the NIQE score:

standard = imread('Reference_Image.png');
dark = imread('Image_Dark.png');
sun = imread('Image_Sunshine.png');

score = niqe(standard);
fprintf('\nThe NIQE score for the standard image %0.4f\n', score);

score = niqe(dark);
fprintf('\nThe NIQE score for the dark image %0.4f\n', score);

score = niqe(sun);
fprintf('\nThe NIQE score for the sunny image %0.4f\n', score);

A detailed description can be found at the Mathworks Website.