Obiektywne miary jakości to matematyczne formuły pozwalające porównywać ze sobą dwa sygnały (w naszym przypadku obrazy) i dostarczyć nam wartość tego podobieństwa. Zaprezentowane tutaj wzory dotyczą obrazów w skali odcieni szarości. Żeby działały one na obrazach kolorowych należy przeprowadzić pewne modyfikacje np. dołożyć trzecią pętlę.
MSE
Pierwszym i najważniejszym wzorem jest wzór na liczenie błędu średnio kwadratowego (MSE). Dla wyjaśnienia \(I\) to obraz źródłowy, \(K\) to obraz po modyfikacjach, a \(m\) i \(n\) to wymiary obrazu.
\[ MSE(K,I)=\dfrac{1}{m n}\sum_{i=0}^{m-1}\sum_{j=0}^{n-1}(I(i,j)-K(i,j))^2 \]
NMSE
Rozwinięciem MSE jest znormalizowany błąd średniokwadratowy NMSE (eng. Normalized Mean Square Error).
\[ NMSE(K,I)=\dfrac{MSE(K,I)}{MSE(K,0)}=\dfrac{\dfrac{1}{m n}\sum_{i=0}^{m-1}\sum_{j=0}^{n-1}(I(i,j)-K(i,j))^2}{\dfrac{1}{m n}\sum_{i=0}^{m-1}\sum_{j=0}^{n-1}(K(i,j))^2} \]
PSNR
Kolejnym z nich jest Szczytowy stosunek sygnału do szumu (PSNR - Peak Signal-to-Noise Ratio). Do wyliczenia go wykorzystujemy MSE i wartość \(MAX_{I}\) - która oznacza maksymalną dopuszczalna wartość sygnału, która dla sygnału zapisanego na uint8
wynosi \(255\).
\[ PSNR(K,I)=10* \log_{10} (\dfrac{(MAX_{I})^{2}}{MSE(K,I)}) \]
IF
IF (ang. Image Fidelity)
\[ IF(K,I)=1-\frac{\sum_{i=0}^{m-1}\sum_{j=0}^{n-1}(K(i,j)-I(i,j))^2 }{\sum_{i=0}^{m-1}\sum_{j=0}^{n-1}(K(i,j)I(i,j))} \]
SSIM
Ostatnią interesującą nas normą będzie SSIM (structural similarity index measure), tutaj jednak nie będziemy starali się go implementować, tylko wykorzystamy gotową implementację pochodzącą z biblioteki scikit-image
. Wszystko, co powinniście wiedzieć o jej wykorzystaniu, znajdziecie w dokumentacji.