×

Cara Menghitung MSE dan PSNR

Cara Menghitung MSE dan PSNR

5,364 Views

Ada beberapa parameter pengukuran kesalahan atau error dalam pemrosesan citra. Dua parameter yang paling umum digunakan adalah Mean Square Error (MSE) dan Peak Signal to Noise Ratio (PSNR).

Menghitung Nilai MSE

merupakan ukuran yang baik untuk mengukur kesamaan 2 buah citra. Misalkan kita memiliki 2 buah citra f dan g dengan dimensi yang MxN

(1)   \begin{equation*}  \begin{split} MSE & =\frac{\sum_{x=1}^{M} \sum_{y=1}^{N} e^{2}(x,y)}{M.N} \\ & = \frac{\sum_{x=1}^{M} \sum_{y=1}^{N} [h(x,y)-f(x,y)]^2}{M.N} \end{split} \end{equation*}

 

Semakin besar nilai MSE, maka semakin besar perbedaan antara 2 buah citra yang dibandingkan.

Menghitung Nilai PSNR

    \[ PSNR=20  \quad log_{10} \frac{nilai \quad max}{MSE^{\frac{1}{2}}} \]

Tak seperti MSE, nilai PSNR yang lebih besar mengindikasikan aproksimasi yang lebih dekat dari g pada f. Satuan yang digunakan PSNR adalah desibel (db). Oiya jangan salah ya mengenai function log.

Latihan menghitung MSE dan PSNR

Yuk kita coba menggunakan octave untuk penerapan rumus diatas, misalkan ada array h dan f akan dihitung nilai MSE dan PSNR nya

clc;clear all;close all;
h = [ 7 1 1;
      2 3 4;
      5 0 6]
f = [ 6 1 1;
      4 3 4;
      5 3 6]
M = size(h,1)
N = size(h,2)

#hitung nilai MSE
nilai_mse = sum(sum((h-f).^2))/(M*N)


nilai_max = max(max([h,f]))

#mencari nilai PSNR
nilai_PSNR  = 20 *log10(nilai_max/sqrt(nilai_mse))

hasil

h =

   7   1   1
   2   3   4
   5   0   6

f =

   6   1   1
   4   3   4
   5   3   6

M =  3
N =  3
nilai_mse =  1.5556
nilai_max =  7
nilai_PSNR =  14.983

 

See also  OCR Optical Character Recognition berbasis Machine Learning

You May Have Missed