aditya wikan mahastama - gunadarma

Post on 15-Oct-2021

9 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

PENGOLAHAN CITRA DIGITAL

Aditya Wikan Mahastamamahas@ukdw.ac.id

UNIV KRISTEN DUTA WACANA – GENAP 1213

5

Pemfilteran Citra;

Sharpening, Blurring

dan Noise Reduction

• Pada pengolahan citra digital, filter digunakan untuk

(1) menekan frekuensi tinggi pada citra seperti pada

memperhalus citra (smoothing), atau (2) menekan

frekuensi rendah seperti pada memperjelas atau

Pemfilteran Citra (Image Filtering)

frekuensi rendah seperti pada memperjelas atau

mendeteksi tepi pada citra.

• Tujuan: membuat citra menjadi tampak lebih baik,

atau tampak lebih jelas untuk analisis.

• Disebut juga penyaringan citra / penapisan citra.

• Apa beda dengan peningkatan citra? Peningkatan

citra bertujuan menormalisasi nilai-nilai yang perlu,

sebelum dilakukan olah lebih lanjut atau analisis

pada sebuah citra � termasuk pada tahapan image

Peningkatan Citra

(Image Enhancement)?

pada sebuah citra � termasuk pada tahapan image

preprocessing di computer vision

• Hasil peningkatan citra terlihat lebih nyaman secara

visual dan perseptif.

• Peningkatan citra telah kita lakukan dua minggu lalu

(operasi titik: thresholding, modifikasi brightness,

kontras, clipping; perataan histogram, transformasi)

• Pemfilteran citra dapat dilakukan pada ruang lingkup

frekuensi maupun spasial

• Pemfilteran citra pada ruang lingkup frekuensi akan

mengubah citra ke domain frekuensi, mengalikannya

Domain Pemfilteran Citra

mengubah citra ke domain frekuensi, mengalikannya

dengan sebuah fungsi filter/penapis frekuensi, kemudian

mentransformasikan kembali hasilnya ke ruang lingkup

spasial.

• Fungsi filter bekerja untuk mengurangi (attenuates)

frekuensi tertentu dan memperkuat frekuensi lainnya,

misalnya fungsi lowpass sederhana menghasilkan nilai 1

untuk frekuensi kurang dari ambang dan 0 untuk lainnya.

• Pemfilteran citra pada ruang lingkup spasial adalah

melakukan konvolusi (to convolve) citra input f(i,j)

dengan fungsi filter/penapis h(i,j)

Domain Pemfilteran Citra

• Rumus ini sama dengan perkalian pada ruang

frekuensi, tetapi pada kenyataannya implementasi

digitalnya bervariasi, karena fungsi filter yang

digunakan harus disimulasikan dalam bentuk kernel

diskret tertentu

• A kernel is a (usually) smallish matrix of numbers that is

used in image convolutions. Differently sized kernels

containing different patterns of numbers give rise to

different results under convolution.

Kernel

different results under convolution.

• For instance a 3×3 kernel that implements a mean filter:

• Kernel menggunakan konsep piksel tetangga

(neighbouring pixels), di mana matriks kernel dibuat

dengan asumsi bahwa nilai sebuah piksel bisa dipengaruhi

oleh piksel-piksel tetangganya

Konsep Piksel Tetangga

oleh piksel-piksel tetangganya

• Piksel tetangga adalah sejumlah piksel yang bersebelahan

langsung (adjacent) dengan sebuah piksel pusat.

A B C

H P D

G F E

A B C

H P D

G F E

A B C

H P D

G F E

4-tetangga + 4-tetangga x 8-tetangga

• Konvolusi diskret dapat didefinisikan sebagai operasi

“geser dan kalikan” (‘shift and multiply’), di mana kita

menggeser kernel sepanjang permukaan citra dan

mengalikan elemennya dengan nilai intensitas piksel

Konvolusi Diskret

mengalikan elemennya dengan nilai intensitas piksel

ybs. pada citra

• Untuk kernel persegi dengan ukuran M × M, kita

dapat menghitung citra outputnya dengan rumus

berikut:

• Citra input: Kernel:

Konvolusi Diskret - Contoh

5 5 6 6

5 4 4 7

0 0 2 2

0 1 1 3

¼ ¼ ¼

¼ ¼ ¼

¼ ¼ ¼

• Maka hasil perhitungan konvolusi daerah di atas

adalah:

g(2,2) = 5×¼ + 5×¼ + 6×¼ + 5×¼ + 4×¼ + 4×¼ + 0×¼

+ 0×¼ + 2×¼

0 1 1 3

• Konvolusi dilakukan sampai semua piksel citra input

terkena perhitungan konvolusi

Konvolusi Diskret - Contoh

5 5 6 6

5 4 4 7

5 5 6 6

5 4 4 7

5 5 6 6

5 4 4 7

5 5 6 6

5 4 4 7

• Piksel yang berubah pada citra

output:

5 4 4 7

0 0 2 2

0 1 1 3

5 4 4 7

0 0 2 2

0 1 1 3

5 4 4 7

0 0 2 2

0 1 1 3

5 5 6 6

5 ? ? 7

0 ? ? 2

0 1 1 3

5 4 4 7

0 0 2 2

0 1 1 3

5

5

55• Jika diperlukan, dapat dilakukan

padding dengan menyalin nilai

piksel terdekat, supaya nilai piksel

input yang tidak ada – tetapi

Konvolusi Diskret - Contoh

5 6 6

4 4 7

0 0 2 2

5

5

5

input yang tidak ada – tetapi

dibutuhkan – dapat terpenuhi

• Piksel hasil konvolusi pada citra

output:

(memungkinkan mendapatkan

nilai baru untuk piksel tepi)

? 5 6 6

5 4 4 7

0 0 2 2

0 1 1 3

0 0 2 2

0 1 1 3

• Berkebalikan dengan ruang lingkup frekuensi, adalah

memungkinkan untuk mengimplementasikan filter

non-linier pada ruang lingkup spasial.

• Dalam kasus seperti ini, maka penjumlahan dalam

Ruang Lingkup Spasial

• Dalam kasus seperti ini, maka penjumlahan dalam

fungsi konvolusi diganti dengan sebuah operator

non-linier:

• Contoh operator non linier adalah fungsi pengurutan,

median, dsb.

• Untuk penapis frekuensi, lebih jelasnya anda

dipersilakan membaca artikel berikut dari University

of Edinburgh – School of Informatics:

Filter/Penapis Frekuensi

• http://homepages.inf.ed.ac.uk/rbf/HIPR2/freqfilt.ht

m

dan

• http://homepages.inf.ed.ac.uk/rbf/HIPR2/fourier.ht

m

• Hasil dari penapis spasial ditentukan oleh elemen

matriks kernel, dan dapat menghasilkan efek yang

berbeda-beda terhadap citra input, misalnya:

• Sharpening (penajaman)

Filter/Penapis Spasial

• Sharpening (penajaman)

• Blurring (pengaburan)

• Noise reduction (pengurangan derau)

• Edge detection (deteksi tepi)

• Lainnya

• Kernel untuk sharpening/penajaman citra

menggunakan prinsip bahwa intensitas piksel pusat

harus lebih diperkuat pada arah yang berlawanan

terhadap tetangganya.

Sharpening/Penajaman

terhadap tetangganya.

• Contoh kernel untuk penajaman citra:

0 -1 0

-1 5 -1

0 -1 0

1 1 1

1 -8 1

1 1 1

courtesy

http://docs.gimp.org/en/plug-in-convmatrix.html

courtesy

http://www.imagesincontext.com/IICFeatures/

convolution-filter.htm

• Kernel untuk blurring/pengaburan menggunakan

prinsip bahwa nilai piksel pusat harus dibuat

mendekati piksel tetangganya (mengurangi

perbedaan)

Blurring/Pengaburan

perbedaan)

• Contoh kernel untuk pengaburan citra:

1 1 1

1 1 1

1 1 1

courtesy

http://docs.gimp.org/en/plug-in-convmatrix.html

• Kernel untuk emboss didasarkan pada prinsip

memperkuat edge pada satu arah tertentu, tanpa

menghilangkan warna lainnya. Arah penguatan

ditunjukkan perubahan dari elemen negatif ke positif

Contoh lainnya: Emboss

ditunjukkan perubahan dari elemen negatif ke positif

• Contoh kernel untuk emboss:

-2 -1 0

-1 1 1

0 1 2

1 0 0

0 0 0

0 0 -1

courtesy

http://docs.gimp.org/en/plug-in-convmatrix.html

courtesy

http://www.imagesincontext.com/IICFeatures/

convolution-filter.htm

• Noise reduction (NR) termasuk pada kategori khusus

pengolahan citra yaitu image restoration atau

pemulihan citra

• Citra yang dipulihkan adalah citra yang rusak, yaitu

Noise Reduction/Pengurangan Derau

• Citra yang dipulihkan adalah citra yang rusak, yaitu

citra yang nilai intensitas pikselnya banyak berubah,

misalnya karena blur oleh sebab alamiah, tercemar

oleh noise (derau), dan distorsi geometris lensa.

• Bagaimana para ahli menemukan cara restorasi?

• Gambar yang bagus didegradasi dengan cara

tertentu (misal melalui simulasi perusakan dengan

sebuah rumus matematik), kemudian rumus tersebut

Pemulihan Citra

sebuah rumus matematik), kemudian rumus tersebut

di-invers untuk membuat restorasinya.

• Hasilnya sudah cukup baik

• Untuk mengukur keberhasilan sebuah image

restoration digunakan alat ukur berupa MSE (Mean

Square Error)

Pemulihan Citra

• Mean Square Error:

Pemulihan Citra

Blur ^Blur + Noise >

• Noise: informasi tidak diinginkan yang mencemari citra

• Bentuknya biasanya titik-titik atau piksel-piksel ber-intensitas beda yang mengganggu citra

• Noise biasanya terjadi pada saat akuisisi citra. (Kamera -> memotret, scanner -> proses scan, dan sebagainya)

Noise/Derau

memotret, scanner -> proses scan, dan sebagainya)

>10 secs exposure 0.1 sec exposure

• Cara untuk memodelkan (menciptakan tiruan) noise diantaranya:

• Gaussian Noise

• Rayleigh Noise

• Erlang (Gamma) Noise

Noise/Derau

• Erlang (Gamma) Noise

• Exponential Noise

• Uniform Noise

• Salt and Pepper (Impulse Noise)

Noise-noise diatas diciptakan berdasarkan Probabilty Density Function (PDF) kemudian diaplikasikan ke piksel yang bersangkutan. Probabilitasnya umumnya < 0.1.

Gaussian Noise

Rayleigh Noise

Erlang Noise

Exponential Noise

Uniform Noise

Salt and Pepper Noise

Salt and

Pepper

Noise:

Sederhana tapi

aneh. Mirip

gangguan

pada televisi

(interferensi

alat elektronik)

Gaussian

Noise:

Mendekati

noise pada

dunia nyata.

�Rumit

�Dihasilkan

oleh noise

generator

(photoshop,

matlab, dsb.)

• Pengurangan derau Gaussian bekerja berdasarkan persamaan

berikut:

• Pada ruang 1-D, persamaannya adalah:

Gaussian NR

• Dengan σ adalah deviasi standar

dari distribusi tersebut, dan asumsi

bahwa distribusi memiliki nilai

rata-rata 0, seperti diilustrasikan

oleh gambar berikut (σ = 1) :

• Pada ruang 2-D, Gaussian isotropik persamaannya adalah:

• Dengan σ adalah deviasi standar dari distribusi tersebut, dan

asumsi bahwa distribusi memiliki nilai rata-rata 0, seperti

Gaussian NR

asumsi bahwa distribusi memiliki nilai rata-rata 0, seperti

diilustrasikan oleh gambar berikut (σ = 1)

• Pendekatan diskret dari Gaussian NR dapat juga

disajikan dalam kernel, contoh berikut adalah kernel

untuk Gaussian NR dengan σ = 1,0

Gaussian NR

• Mean filter/filter rata-rata menggunakan hasil rata-

rata dari piksel pusat dan seluruh 8-tetangganya

untuk mendapatkan nilai intensitas baru

• Kernel untuk mean filter:

Mean Filter

• Kernel untuk mean filter:

• Citra Citra

input: output:

Mean Filter

5 5 6 6

5 4 4 7

0 0 2 2

0 1 1 3

5 5 6 6

5 3 4 7

0 0 2 2

0 1 1 3

• g(2,2) = 5×1/9 + 5× 1/9 + 6× 1/9 + 5× 1/9 + 4× 1/9 +

4× 1/9 + 0× 1/9 + 0× 1/9 + 2× 1/9

= 1/9 x (5 + 5 + 6 + 5 + 4 + 4 + 0 + 0 + 2)

= 1/9 x 31

= 3.4 dibulatkan menjadi 3

0 1 1 3 0 1 1 3

• Filter median menggunakan fungsi non-linier dengan

pengurutan statistika, sehingga termasuk dalam golongan

ordering filter bersama dengan modus, maksimum dan

minimum.

• Median filter mempertahankan detail lebih baik dari mean.

Median Filter

• Median filter mempertahankan detail lebih baik dari mean.

• Anggota satu blok 3x3 adalah: 0, 0, 2, 4, 4, 5, 5, 5, 6

dengan nilai median adalah 4

5 5 6 6

5 4 4 7

0 0 2 2

0 1 1 3

5 5 6 6

5 4 4 7

0 0 2 2

0 1 1 3

• Filter maksimum juga menggunakan fungsi non-linier

dengan pengurutan statistika, dengan mencari nilai

terbesar.

• Baik untuk noise spikes seperti salt and pepper.

Maximum Filter

• Baik untuk noise spikes seperti salt and pepper.

• Anggota satu blok 3x3 adalah: 0, 0, 2, 4, 4, 5, 5, 5, 6

dengan nilai maksimum adalah 6

5 5 6 6

5 4 4 7

0 0 2 2

0 1 1 3

5 5 6 6

5 6 4 7

0 0 2 2

0 1 1 3

• Filter minimum juga menggunakan fungsi non-linier

dengan pengurutan statistika, dengan mencari nilai

terkecil.

• Baik untuk noise spikes seperti salt and pepper.

Minimum Filter

• Baik untuk noise spikes seperti salt and pepper.

• Anggota satu blok 3x3 adalah: 0, 0, 2, 4, 4, 5, 5, 5, 6

dengan nilai minimum adalah 0

5 5 6 6

5 4 4 7

0 0 2 2

0 1 1 3

5 5 6 6

5 0 4 7

0 0 2 2

0 1 1 3

• Fungsi NR kadang kala juga disebut fungsi smoothing

karena efek yang dihasilkan menyerupai smoothing,

di mana detail akan hilang (ada yang menyebut juga

static blur – band. motion blur)

Noise Reduction

static blur – band. motion blur)

• Mean filter lebih cocok untuk menghilangkan noise

yang disebabkan oleh/noise yang jenisnya mirip

dengan gaussian noise (misal uniform noise)

• Ordering filter lebih cocok untuk menghilangkan

noise yang disebabkan oleh/noise yang jenisnya

mirip dengan salt and pepper noise (negative

exponential noise dan Rayleigh noise)

- Metode noise removal yang digunakan saat ini adalah low-pass filters, di mana apa yang sebenarnya dilakukan adalah semacam blurring (pengaburan) untuk menghilangkan intensitas piksel yang tidak dikehendaki, dengan cara menggantinya dengan

Noise Reduction

untuk menghilangkan intensitas piksel yang tidak dikehendaki, dengan cara menggantinya dengan intensitas piksel baru yang mempertimbangkan piksel tetangga.

Citra asli Derau salt and pepper

Citra hasil pemulihan

• Kernel dapat juga digunakan untuk memprediksi nilai piksel

yang hilang pada citra output sebagai akibat transformasi

geometris – misal dilatasi atau rotasi, dengan menggunakan

nilai intensitas piksel tetangga.

• Pada contoh di bawah, peramalan dilakukan dengan

Interpolasi

• Pada contoh di bawah, peramalan dilakukan dengan

g(2,2) = 1/8 x (5 + 5 + 6 + 5 + 4 + 0 + 0 + 2)

= 1/8 x 27

= 3.375 dibulatkan menjadi 3

5 5 6 6

5 ? 4 7

0 0 2 2

0 1 1 3

5 5 6 6

5 3 4 7

0 0 2 2

0 1 1 3

• Materi berikutnya: Edge Detection (Deteksi Tepi) dan

Interpolasi

SELESAI UNTUK TOPIK INI

top related