microbik.ru
1


Реализация объективных методов оценки изображения

(Метрики PSNR и SSIM)

Выполнил :

студент группы 819

Угаров Дмитрий

МФТИ 2009

  1. Зачем это нужно?

Сжатие изображений — применение алгоритмов сжатия данных к изображениям, хранящимся в цифровом виде. В результате сжатия уменьшается размер изображения, из-за чего уменьшается время передачи изображения по сети и экономится пространство для хранения. Сжатие изображений подразделяют на сжатие с потерями качества и сжатие без потерь. Сжатие без потерь часто предпочтительней для искусственно построенных изображений, таких как графики, иконки программ, либо для специальных случаев, например, если изображения предназначены для последующей обработки алгоритмами распознавания изображений. Алгоритмы сжатия с потерями при увеличении степени сжатия, как правило, порождают хорошо заметные человеческому глазу артефакты. Определение качества сжатия не является простой задачей. Самый эффективный и главный показатель качества это субъективное впечатление людей, просматривающих сжатые этим алгоритмом изображения. В этом и состоит суть субъективного тестирования - оценкой качества сжатой последовательности является среднее мнение группы экспертов о ее качестве (MOS, Mean Opinion Score). Минус этого метода в том что он во первых весьма дорогостоящий, во вторых очень медленный, поэтому для измерения уровня искажений при сжатии изображений часто применяют объективные техники измерений.

Объективные техники измерений — это математические модели, которые удачно моделируют результаты субъективной оценки качества, они основаны на критериях и метриках, что могут быть измерены объективно. Объективные методы классифицируются в соответствии с полезностью исходного сигнала, для которого обеспечивается высокое качество. Поэтому они классифицируются по трем категориям: полные эталонные (reference) методы, сокращенные эталонные (reference) методы и не эталонные (no reference) методы.

В данной работе рассмотрены две объективных техники измерения PSNR и SSIM.


  1. Метрика PSNR

Пиковое отношение сигнала к шуму (англ. peak signal-to-noise ratio) обозначается аббревиатурой PSNR и является инженерным термином, означающим соотношение между максимумом возможного значения сигнала и мощностью шума, искажающего значения сигнала. Поскольку многие сигналы имеют широкий динамический диапазон, PSNR обычно измеряется в логарифмической шкале в децибелах. PSNR наиболее часто используется для измерения уровня искажений при сжатии изображений. Проще всего его определить через среднеквадратичное отклонение (MSE), которое для двух монохромных изображений I и K размера m×n, одно из которых считается зашумленным приближением другого, вычисляется так:

c:\users\bloodfear\pictures\6c3e64eebd9a95fc64879611c88f5bfd.png

PSNR определяется так:

c:\users\bloodfear\pictures\c201dfd16c21e78e4c4596a710151f98.png

где MAXI — это максимальное значение, принимаемое пикселем изображения. Когда пиксели имеют разрядность 8 бит, MAXI = 255. Вообще говоря, когда значения сигнала представлены линейно с B битами на значение, максимально возможное значение MAXI будет 2B-1.

Для цветных изображений с тремя компонентами RGB на пиксель применяется такое же определение PSNR, но MSE считается по всем трем компонентам (и делится на утроенный размер изображения).

Данная метрика, по сути, аналогична среднеквадратичному отклонению, однако пользоваться ей несколько удобнее за счет логарифмического масштаба шкалы. Ей присущи те же недостатки, что и среднеквадратичному отклонению.
Следует отметить, что «хороший» PSNR не всегда гарантирует хорошее качество изображения, из-за того что зрительная система человека обладает нелинейным поведением.

Перейдем к рассмотрению программы реализующей расчет PSNR(язык реализации C#).Так выглядит программа после сразу после загрузки:


Кнопки вызывающие диалоговое окно выбора изображения



Кнопка расчета

3

6

2

1

7

5

4



Здесь после расчета будет значение метрики PSNR



Здесь будут Preview изображений после выбора основного изображения и изображения для сравнения

Здесь после расчета будет значение MSE




  1. Кнопки (1) и (2) вызовут диалоговое окно такого вида, где вы сможете выбрать нужные изображения для сравнения (например, прилагаемые к работе):




  1. После выбора изображений вы увидите preview этих изображений на местах (6) и (7):



  1. После нажатия кнопки «рассчитать» (3) , вы получите высчитанные значения MSE и PSNR на местах (4) и (5):



Для последующих расчетов программу не надо закрывать, можно просто выбрать новые изображения. Программа может работать как с монохромными изображениями, так и с цветными.

3. Метрика SSIM

Не так давно было разработано несколько более сложных и точных метрик, одной из которых является - метрика структурного сходства SSIM (англ. Structural SIMilaritySSIM). Они вычисляются по более сложным алгоритмам, но обоснованно считаются более точно учитывающими особенности восприятия человека.

SSIM это альтернатива PSNR, которая может лучше коррелировать с ощущаемым качеством сжатого изображения. Высчитывается она следующим образом. Рассматривается i-ый кадр размером K×L и значениями яркостных компонент , k=1÷K и l=1÷L. Выбирается окно W и веса для каждой j-ой точки окна, j=1÷J, J – количество пикселей в окне. Веса нормируются на единицу: . На практике, обычно выбирают квадратное окно с весами, распределенными симметрично относительно некоторого центра по Гауссу[5]. Для каждой точки данного кадра центр окна размещается в этой точке. Вычисляются средневзвешенные значения яркостной компоненты исходного и закодированного окна ( и ), средневзвешенные дисперсии яркостной компоненты исходного и закодированного окна ( и ), средневзвешенная ковариация между яркостными компонентами исходного и закодированного окон () по следующим формулам:







где – значение яркостной компоненты j-ой точки окна, центр которого расположен в точке с координатами (k,l) i-ого кадра.

Далее рассчитывается значение метрики SSIM в точке:



где и . – максимально возможное значение Yкомпоненты. Например, если для задания одного значения Yкомпоненты используется 8 бит, то максимальное значение есть . По умолчанию коэффициенты и .

усредняется по i-ому кадру в отдельности:



усредняется по всем N кадрам:



Наиболее полную информацию можно найти в статье "Image Quality Assessment: From Error Visibility to Structural Similarity" прилагаемой к работе.

Перейдем к рассмотрению программы реализующей расчет SSIM (язык реализации C++). В этой программе мною использовалась библиотека “OpenCV “ , так как она упрощает работу с изображениями. Дистрибутив библиотеки, описание установки и книга прилагаются к работе. Если вы хотите использовать эту библиотеку с другими языками программирования вам нужно воспользоваться EmguCV.

При запуске программа выдаст запрос на путь к файлу:



Пример пути к исходному изображению:

D:\\images\1.bmp ( на месте “D” вводится имя диска к которому вы обращаетесь, далее вводится путь на выбранном диске, каждая папка отделяется “\” )

После ввода нажмите клавишу “Enter”. Далее повторите действие только уже для сравниваемого изображения. Далее вы получите высчитанное значение SSIM.



Данная программа может работать со всеми типами изображений, которые поддерживает библиотека “OpenCV”