Multi-Scale Structural Similarity
Full-Reference Quality Metrics
The Multi-Scale Structural Similarity (MS-SSIM) metric extends the SSIM index by combining luminance information at the highest resolution level with texture and contrast information at multiple downscaled resolutions or scales. The different scales account for the variability in the perception of image detail caused by factors such as the viewing distance to the image, the distance between the scene and the sensor, and the resolution of the image capture sensor.
When an image has maximal pixel differences , the MS-SSIM equals zero. As image differences decreases, its value increases.
The smaller der MS-SSIM values the greater the difference between the pixels.
The MS-SSIM can only be calculated for gray scale images. However, if you use RGB image most implementations will treat each channel as an unique gray scale image.
Only images showing the same scene should be compared.
Images from a traffic surveillance camera in Germany is used to show the MS-SSIM results.
The global MS-SSIM score is for the R: 0.768 G: 0.778 B: 0.785
The global MS-SSIM score is for the R: 0.887 G: 0.892 B: 0.893
Tools and Libraries
In Python the package sewar contains multiple image quality metrics. One of them is the MS-SSIM.
pip install sewar
from sewar.full_ref import msssim from PIL import Image img1 = Image.open('Reference_Image.png') img2 = Image.open('Image_Dark.png') msssim(img1,img2)
Within the MATLAB Image Processing Toolbox a function to calculate the MS-SSIM exists:
ref = imread('Reference_Image.png'); dark = imread('Image_Dark.png'); sun = imread('Image_Sunshine.png'); score = multissim(dark,ref) fprintf('\nThe MS-SSIM score for the dark image %0.4f\n', score); score = multissim(dark,ref) fprintf('\nThe MS-SSIM score for the sunny image %0.4f\n', score);
A detailed description can be found at the Mathworks Website.