Peer Group Filtering (PGF) adalah algoritma nonlinier yang berfungsi untuk menghaluskan citra dan menghilangkan impulse noise pada citra berwarna. Misalkan x0(n) menyatakan vektor piksel citra yang memberikan ciri informasi warna pada posisi n yang berpusat pada window w x w. Urutkan semua piksel pada window tersebut berdasarkan jaraknya terhadap x0(n) dalam urutan ascending dan nyatakan sebagai xi(n), i = 0, …, k = w2 – 1. Ukuran jarak Euclidean yang digunakan adalah :

di(n) = ||x0(n) – xi(n)|| , i = 0, …, k (1)

d0(n) ≤ d1(n) ≤ … ≤ dk(n) (2)

Peer group yang berukuran m(n) untuk x0(n) dinyatakan dengan :

P(n) = {xi(n) , i = 0, …, m(n)-1} (3)

Peer group P(n) terdiri dari x0(n) dan titik-titik tetangganya dengan warna yang sama. Ide dasar dari PGF dapat diringkas dalam dua langkah :

1) Classification

Mengklasifikasi peer group dari setiap piksel x0(n). Jika x0(n) ditetapkan sebagai impulse noise dan tidak memiliki peer group, peer group pada lokasi tersebut diestimasi oleh piksel-piksel yang tersisa pada window tersebut.

2) Replacement

Mengganti x0(n) dengan rata-rata bobot dari anggota-anggota peer groupnya. Langkah ini dapat dianggap sebagai pemfilteran Gaussian dengan mask biner, yang mana nilai 1 mengindikasikan bahwa piksel adalah anggota peer group.

Tujuan dari perhitungan rata-rata dari anggota-anggota peer group dan bukan rata-rata dari window lokal adalah untuk menghindari pengkaburan tepian (edge blurring). Cara pemilihan ukuran m(n) yang sesuai untuk setiap peer group yang berdasarkan pada statistik lokal sangat penting demi kesuksesan algoritma PGF. Salah satu pendekatan adalah dengan mengeset nilai threshold T(n), sehingga m(n) memenuhi :

dm(n)-1(n) ≤ T(n) dan dm(n)(n) > T(n) (4)

Namun, karena sinyal dan statistik noise dapat berubah untuk citra yang berbeda atau bahkan untuk citra yang sama, sulit untuk mencari nilai T(n) yang optimal.

Jika terdapat dua cluster warna pada window, diskriminan linier Fisher yang memaksimalkan rasio dari inter-class scatter terhadap intra-class scatter dapat digunakan untuk memisahkan dua cluster tersebut. Namun, jika terdapat lebih dari dua cluster, pendekatan tersebut tidak dapat memisahkan cluster yang mengandung piksel pusat x0(n). Selain itu, kompleksitas komputasi sangat tinggi pada ruang 3-D.

Terdapat cara sederhana untuk mengatasi masalah tersebut dengan menggunakan jarak 1-D di(n) untuk estimasi diskriminan Fisher. Criterion (ukuran) yang dimaksimalkan adalah :

PGF - Criterion Fisher (5)

Algoritma tersebut menghitung J(i) untuk setiap i dan menemukan posisi cut-off di mana J(i) bernilai maksimum :

m(n) = arg max J(i) (6)

i

Dengan memaksimalkan criterion J(i), dua cluster warna pada window dapat dipisahkan. Jika terdapat lebih dari dua cluster warna, cluster yang mengandung x0(n) masih dapat dipisahkan dari cluster warna yang lainnya. Jika hanya terdapat satu cluster warna, peer group tidak akan mengandung semua titik pada window. Namun, x0(n) masih akan dihaluskan oleh anggota-anggota peer groupnya.

Untuk menghilangkan efek impulse noise, turunan pertama dari jarak di(n), fi(n), dihitung sebelum klasifikasi peer group :

fi(n) = di+1(n) – di(n) (7)

Pengujian dilakukan terhadap M titik pertama dan terakhir dari xi(n) untuk memeriksa apakah titik-titik tersebut termasuk impulse noise :

fi(n) ≤ α (8)

di mana M = w / 2, separuh dari ukuran window, dan α diset bernilai tinggi untuk citra yang sangat rusak dan diset bernilai rendah untuk citra yang sedikit rusak. Jika fi(n) tidak memenuhi kondisi tersebut, maka titik-titik terakhir xj(n) untuk j ≤ i atau j > i dianggap sebagai impulse noise dan dihilangkan. Kemudian dj(n) sisanya digunakan untuk mengestimasi peer group yang sebenarnya.

Asumsi yang mendasari pendekatan di atas adalah jika x0(n) termasuk impulse noise, maka x0(n) sangat berjauhan dari titik-titik lainnya pada window. Hal ini dapat dideteksi dengan nilai fi(n). Untuk menghilangkan noise lain yang mungkin ada dalam window yang dapat mempengaruhi hasil klasifikasi peer group, dilakukan pengujian terhadap M titik pertama dan terakhir.

Setelah penghilangan impulse noise dan klasifikasi peer group, piksel x0(n) diganti dengan rata-rata bobot dari anggota-anggota peer groupnya :

PGF - Replacement (9)

di mana wi adalah bobot Gaussian standar yang bergantung pada posisi relatif pi(n) terhadap x0(n).

Jika ingin menghilangkan impulse noise dan menghaluskan citra, M titik pertama diuji dengan persamaan (8). Jika tidak ada satu pun titik yang tidak memenuhi pengujian tersebut, maka x0(n) dianggap sebagai noise. Peer group pada kasus istimewa ini hanya memiliki satu anggota yang merupakan rata-rata vektor dari window lokal.

Langkah berikutnya adalah perhitungan jarak maksimum setiap peer group, T(n), dengan rumus berikut :

T(n) = dm(n)-1(n) (10)

Nilai T(n) mengindikasikan kehalusan region lokal. Bobot perseptual untuk setiap piksel v(n) dihitung dengan :

v(n) = exp(-T(n)) (11)

sehingga piksel-piksel pada detailed region memiliki bobot yang lebih rendah daripada piksel-piksel pada smooth region.

Rata-rata T(n), Tavg, mengindikasikan kehalusan keseluruhan citra. Secara umum, semakin besar nilai Tavg, semakin berkurang kehalusan citra dan semakin banyak jumlah cluster yang diperlukan untuk kuantisasi warna. Jumlah awal cluster N diestimasi dengan :

N = βTavg (12)

di mana β diset bernilai 2 pada percobaan.

PGF bermanfaat untuk pengindeksan warna efisien dalam aplikasi content based retrieval dan segmentasi citra berwarna. Gambar berikut menunjukkan hasil PGF dibandingkan dengan metode lain :

PGF - Hasil