Как оценить качество изображения: расчеты Psnr и Ssim на практике

Измерение качества изображения имеет важное значение в различных областях, таких как обработка изображений, сжатие и передача. Два распространенных показателя используются: коэффициент пикового сигнала к шуму (PSNR) и индекс структурного сходства (SSIM). В этой статье объясняется, как вычислять эти показатели на практике.

Понимание PSNR

PSNR измеряет разницу между сжатым или обработанным изображением и его исходной версией. Она выражается в децибелах (dB). Более высокие значения PSNR указывают на лучшее качество.

Чтобы рассчитать PSNR, сначала вычислите среднюю квадратную ошибку (MSE) между двумя изображениями:

MSE = (1/ (ширина × высота)) × Σ (I original - I processed)2

Тогда PSNR рассчитывается как:

PSNR = 10 × log10 (MAX I2 / MSE)

где MAX I - максимально возможное пиксельное значение изображения (например, 255 для 8-битных изображений).

Понимание SSIM

SSIM оценивает сходство между двумя изображениями на основе яркости, контрастности и структуры. Он обеспечивает значение между -1 и 1, где 1 указывает на идентичные изображения.

Индекс SSIM рассчитывается по формуле:

SSIM = [(2μ xμ y + C1)(2σ xy + C2)] / [(μ x2 + μ y2 + C1)(σ x2 + σ y2 + C2)]

где μ x и μ y являются средствами изображений x и y, σ x2 и σ y2 являются дисперсиями, σ xy является ковариацией, а C1, C2 являются константами для стабилизации деления.

Практические советы по расчету

Реализация этих вычислений обычно включает в себя использование библиотек обработки изображений, таких как OpenCV или scikit-image в Python. Эти библиотеки предоставляют функции для непосредственного вычисления PSNR и SSIM, упрощая процесс.