Anda di halaman 1dari 34

Kelompok 2A: Ardian Majid_200602002, M Rizal Musthofa_200602025, Iqbal

Adriathama_200602006
Moch Miftahul Akhyar_200602022, Bangkit Ibnu Muadzin_200602028

Modul 2 deteksi tepi

1. PENDAHULUAN
Pada modul ini praktikan melakukan tiga percobaan. Pada percobaan pertama dilakukan percobaan
menggunakan kernel Sobel, kernel Isotropic, dan kernel Compass. Praktikan diarahkan untuk
menjelaskan mengenai garis abu- abu yang ditemukan pada pinggiran citra hasil konvolusi. Pada
percobaan kedua praktikan diarahkan untuk menentukan edge detector yang memberikan hasil terbaik
pada citra cameraman.tif. Pada percobaan terakhir praktikan diarahkan untuk menentukan edge detector
mana yang paling
terpengaruh performansinya terhadap noise
dengan menggunakan parameter error rate.

Penentuan tepian suatu objek dalam citra merupakan salah satu wilayah pengolahan citra digital yang
paling awal dan paling banyak diteliti. Proses ini seringkali ditempatkan sebagai langkah pertama dalam
aplikasi segmentasi citra, yang bertujuan untuk mengenali objek-objek yang terdapat dalam citra ataupun
konteks citra secara keseluruhan.

Deteksi tepi berfungsi untuk mengidentifikasi garis batas (boundary) dari suatu objek yang terdapat
pada citra. Tepian dapat dipandang sebagai lokasi piksel dimana terdapat nilai perbedaan intensitas citra
secara ekstrem. Sebuah edge detector bekerja dengan cara mengidentifikasi dan menonjolkan lokasi-lokasi
piksel yang memiliki karakteristik tersebut.

1.1 OPERATOR GRADIEN

Pada citra digital f(x,y), turunan berarah sepanjang tepian objek akan bernilai maksimum pada arah normal
dari kontur tepian yang bersesuaian. Sifat ini dipergunakan sebagai dasar pemanfaatan operator gradien
sebagai edge detector.

Operator gradien citra konvensional melakukan diferensiasi intensitas piksel pada arah baris dan kolom,
mengikuti persamaan local intensity variation berikut :

Nilai magnitudo gradien |∇(x,y)| dari persamaan di atas dapat dinyatakan sebagai berikut:

Operator gradien dapat direpresentasikan oleh dua buah kernel konvolusi Gx dan Gy, yang masing- masing
mendefinisikan operasi penghitungan gradien dalam arah sumbu x dan sumbu y yang saling tegak lurus.

Dalam kasus penghitungan gradien dengan persamaan local intensity variation, maka kernel Gx dan Gy
dapat dirumuskan seperti berikut:
Berikut adalah contoh fungsi Matlab untuk operasi penghitungan gradien orde satu:

Dari operator gradien konvensional di atas, dapat diturunkan berbagai operator gradien berikut:

1.1.1 Operator Selisih Terpusat

Operator selisih terpusat juga dikenal sebagai Centered Difference Edge Detector Mask, dan dinyatakan
sebagai kernel:

1.1.2 Operator Roberts

Operator Roberts memiliki ukuran kernel sebesar 2×2, yang direpresentasikan sebagai:

Contoh perintah menggunakan operator Roberts:

Contoh perintah menggunakan operator Roberts (matlab toolbox):

1.1.3 Operator Prewitt

Contoh perintah menggunakan operator Prewitt:


Contoh perintah menggunakan operator Prewitt (matlab toolbox):

1.1.4 Operator Sobel

Contoh perintah menggunakan operator Sobel:

Contoh perintah menggunakan operator Sobel (matlab toolbox):

1.1.5 Operator Isotropic

Contoh perintah menggunakan operator isotropic:


1.1.6 Operator Compass

Operator Compass bekerja menggunakan pola empat arah mata angin:

1.1.7 Operator Kirsch

Operator Kirsch bekerja menggunakan pola delapan


arah mata angin:

1.2 OPERATOR LAPLACIAN

Dalam kondisi transisi tepian yang lebih tidak ekstrem, penggunaan operator turunan kedua lebih
dianjurkan.

Representasi turunan kedua dalam bentuk kernel operator Laplacian adalah sebagai berikut:

Dengan berbagai macam pembobotan, kernel Laplacian tersebut dapat dimodifikasi menjadi beberapa
kernel konvolusi berikut :

Laplacian of Gaussian
Turunan kedua memiliki sifat lebih sensitif terhadap noise, selain itu juga menghasilkan double edge. Oleh
karena itu, operator Laplacian dalam deteksi tepi pada umumnya tidak dipergunakan secara langsung,
namun dikombinasikan dengan suatu kernel Gaussian menjadi sebuah operator Laplacian of Gaussian.

Fungsi transfer dari kernel Laplacian of Gaussian dapat dirumuskan sebagai berikut:
dimana σ merupakan standar deviasi dari kernel Gaussian.

Contoh perintah untuk mendeteksi tepian dengan menggunakan operator Laplacian of Gaussian (Matlab
toolbox) adalah:

1.3 OPERATOR CANNY

Salah satu algoritma deteksi tepi modern adalah deteksi tepi dengan menggunakan metoda Canny. Berikut
adalah diagram blok algoritma Canny :

Contoh perintah untuk mendeteksi tepian menggunakan metoda Canny (Matlab toolbox) :
2. METODOLOGI
Sebelum dilakukan percobaan perlu dipersiapkan hal utama yaitu sebagai berikut.
● Komputer/Laptop dengan software
Matlab.
● Citra yang ingin diproses/dioperasikan.

2.1 Percobaan 1 : Pendeteksian Kernel


Sobel,Compass, dan Isotropic
Akan dilakukan pendeteksian pinggiran menggunakan kernel sobel, isotropic dan compass dengan
menggunakan source code seperti pada bagian 2.1.5 -2.1.7 sebagai berikut:

2.1.1 Operator Sobel

Contoh perintah menggunakan operator Sobel:

Perintah menggunakan operator Sobel (matlab


toolbox):

2.1.2 Operator Isotropic

Perintah menggunakan operator isotropic:


1.1.1 Operator Kernel Compass
Berikut source code untuk menjalankan operator ini:

Berikut ini langkah langkah percobaan 1 yang disajikan dalam bentuk diagram pada gambar 3.1.

Siapkan Gambar cameraman.tif Membuka aplikasi MATLAB

Memindahkan serta menjalankan


source code sesuai dengan jenis
edge detector(Sobel,Compass,dan
Isotropic) dalam image format Menyimpan dan menganalisis
gambar-gambar yang diperoleh

Gambar 3.1 Diagram Percobaan 1

1.2 Percobaan 2 : Edge Detector


Akan dilakukan pendeteksian pinggiran menggunakan operasi gradient, Laplacian, dan Canny dengan
menggunakan source code sebagai berikut:
1.2.1 Operasi Gradien
1.2.1.1 Konvensional

Fungsi Matlab untuk operasi penghitungan gradien orde satu:


1.2.1.2 Selisih Terpusat

Fungsi Matlab untuk operasi ini adalah:

1.2.2 Operator Selisih Terpusat Perintah menggunakan source code berikut:

1.2.3 Operator Roberts

Contoh perintah menggunakan operator Roberts:

Contoh perintah menggunakan operator Roberts (matlab toolbox):

1.2.4 Operator Prewitt

Contoh perintah menggunakan operator Prewitt:

Contoh perintah menggunakan operator Prewitt (matlab toolbox):

Modul 2 kelompok 2a 9
1.2.5 Operator Sobel

Contoh perintah menggunakan operator Sobel:

Contoh perintah menggunakan operator Sobel (matlab toolbox):

1.2.6 Operator Isotropic

Contoh perintah menggunakan operator isotropic:

1.2.7 Operator Compass


Berikut source code untuk menjalankan operator ini:

Modul 2 kelompok 2a 1
1.2.8 Operasi Kirsch
Berikut source code untuk menjalankan operator ini: Siapkan Gambar cameraman.tif Membuka aplikasi MATLAB

Memindahkan serta menjalankan source code sesuai operator edge detector yang digunakan
Dengan fungsi kirschedge sebagai berikut:
Menyimpan dan menganalisis gambar- gambar yang di

Gambar 3.2 Diagram Percobaan 2

1.3 Percobaan 3: Perhitungan Error antara


Edge Detector yang tidak dan
menggunakan Noise

Pada tiap operator untuk setiap operasi


ditambahakan kode berikut dan menyeseuaikan
dengan kode tersebut.

3.2.9 Operasi Laplacian

Perintah untuk mendeteksi tepian dengan menggunakan operator Laplacian of Gaussian (Matlab toolbox)
adalah:

3.2.10 Operasi Canny

Perintah untuk mendeteksi tepian menggunakan metoda Canny (Matlab toolbox) :

Berikut ini langkah langkah percobaan 2 yang disajikan dalam bentuk diagram pada gambar 3.2.

Modul 2 kelompok 2a 1
Siapkan Gambar Membuka aplikasi MATLAB
cameraman.tif

Memindahkan serta Menyimpan nilai error dan


menjalankan source code menganalisis gambar-
image format gambar yang diperoleh

Gambar 3.3 Diagram Percobaan 3

Modul 2 kelompok 2a 1
2. HASIL DAN ANALISIS

2.1 PROBLEM 1 : Pendeteksian Kernel


Sobel,Compass, dan Isotropic

2.1.1 Operator Compass


Pada problem ini digunakan source code sebagai berikut.

Gambar 4.1.1 Citra awal

Gambar 4.1.2 Hasil konvolusi matriks utara

Modul 2 kelompok 2a 1
Gambar 4.1.3 Hasil konvolusi matriks selatan

Gambar 4.1.4 Hasil konvolusi matriks timur

Gambar 4.1.5 Hasil konvolusi matriks barat

Modul 2 kelompok 2a 1
Gambar 4.1.6 Hasil citra dari magnitude gradient

2.1.2 Operator Isotropic


Pada problem ini digunakan source code sebagai berikut.

Gambar 4.1.7 Hasil konvolusi mode X

Modul 2 kelompok 2a 1
Gambar 4.1.8 Hasil konvolusi mode Y

Gambar 4.1.9 Hasil citra dari magnitude gradient

2.1.3 Operator Sobel


Pada problem ini digunakan source code sebagai berikut.

Modul 2 kelompok 2a 1
Gambar 4.1.10 Hasil konvolusi Mode X

Gambar 4.1.11 Hasil konvolusi Mode Y

Gambar 4.1.12 Hasil citra dari magnitude gradient

Modul 2 kelompok 2a 1
Gambar 4.1.13 Hasil citra dari magnitude gradient dengan matlab toolbox

Deteksi tepi (edge detection) adalah operasi yang dijalankan untuk mendeteksi garis tepi (edges) yang
membatasi dua wilayah citra homogen yang memiliki tingkat kecerahan yang berbeda
(Sutoyo,2009). Deteksi tepi pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari objek-
objek citra, tujuannya adalah:
● Untuk menandai bagian yang menjadi detail citra.
● Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena error atau adanya efek dari
proses akuisisi citra.
● Serta untuk mengubah citra 2D menjadi bentuk kurva.
Metode atau operator Sobel merupakan operator yang menghindari adanya perhitungan gradient di titik
interpolasi. Operator Sobel menggunakan kernel ukuran 3x3 piksel untuk perhitungan gradien, dengan
pembobotan yang lebih besar pada piksel-piksel yang dekat dengan titik pusat. Operator Sobel
melakukan deteksi tepi dengan memperhatikan tepi vertikal dan horizontal.
Metode atau operator Isotropic merupakan operator yang menggunakan pembobotan piksel- piksel yang
lebih dekat dengan titik pusat kernel dengan nilai √2 (1.41421). Sehingga nilai pembobotan tersebut
berada diantara pembobotan operator Sobel dan Prewitt, yaitu 2 > 1.41421 > 1.
Dapat diamati dari percobaan dihasilkan citra akhir operator sobel dan operator Isotropik yang mirip. Hal
ini disebabkan oleh nilai bobot piksel pada Isotropik mendekati nilai bobot piksel pada operator Sobel.
Hasil citra yang menggunakan Matlab toolbox terlihat tidak terlalu merepresentasikan informasi

Modul 2 kelompok 2a 1
citra secara detail, termasuk berbagai tepian citra. Hal ini disebabkan oleh perintah edge
menambahkan suatu skema thresholding secara otomatis, sehingga dihasilkan citra keluaran yang
bersifat biner (bernilai 0 atau 1).
Terdapat garis abu-abu yang berada di pinggiran
citra masing-masing hasil konvolusi. Garis abu-abu
yang dihasilkan itu menandakan bahwa terjadi
perbedaan intensitas antara piksel yang
bersebelahan dengan orientasi.
Hasil tepian citra dari masing-masing operasi
diperoleh dengan cara mencari nilai magnitudo
gradien sesuai dengan teori yang ada. Semakin
besar nilainya, maka semakin jelas tepian citra
tersebut.
Saat menggunakan deteksi tepi compass, gambar
di- konvolusi dengan seperangkat kernel
konvolusi, yang masing-masing sensitif terhadap OPERASI GRADIEN KONVENSIONAL
tepi (edge) dalam orientasi yang berbeda.
Seluruh kernel dihasilkan dengan mengambil
salah satu kernel dan memutar koefisiennya
secara melingkar. Setiap kernel yang dihasilkan
sensitif terhadap orientasi tepi mulai dari 0°
hingga 315° dalam langkah 45°, di mana 0° sesuai
dengan tepi vertikal.

2.2 PROBLEM 2 : Edge Detector


Berikut ini merupakan hasil dari semua operasi
edge detector dengan berbagai operator.

OPERASI CANNY

OPERASI ISOTROPIK

OPERASI COMPASS

OPERASI KIRSCH

Modul 2 kelompok 2a 1
OPERASI LAPLACIAN

OPERASI SELISIH TERPUSAT

OPERASI PREWITT

OPERASI SOBEL

OPERASI ROBERT

Modul 2 kelompok 2a 2
Dari semua operasi edge detector yang dilakukan, operator Canny merupakan operator dengan hasil terbaik.
Dalam kasus edge detector ini yang disebut hasil terbaik citra yang semua elemennya terdeteksi dengan baik,
entah itu objek utama maupun objek-objek detail yang terdapat pada citra. Diantara dapat terlihat bahwa
gambar hasil operasi Canny mendekati kriteria sebagai gambar dengan edge detector terbaik dibandingkan
operasi lainnya yang telah dilakukan. Pada gambar hasil operasi Canny terlihat garis tepi yang jelas dan tegas
semua elemen pada gambar cameraman.tif, baik itu objek utama maupun objek-objek kecil pendukung
seperti bangunan di belakang si ‘kameramen’ hingga rumput-rumputnya semua dideteksi garis tepinya. Hasil
edge detector yang bagus dari ini merupakan hasil dari beberapa
tahapan proses pada operasi Canny yaitu image smoothing, differentiation, non-maximum suppression, dan edge
thresholding. Image smoothing atau pem-
blur-an gambar merupakan proses pengurangan derau dengan menggunakan filter Gaussian. Differentiation
adalah proses yang bertujuan untuk menghitung arah dan magnitudo gradien gambar. Gradien sendiri
merupakan operasi yang paling mendekati definisi dari sebuah edge. Selanjutnya adalah proses non-
maximum suppression yang merupakan proses yang bertujuan untuk membuang potensi gradien suatu
piksel dari kandidat edge yang bukan merupakan maksimum lokal pada piksel tersebut. Dari proses non-
maximum suppression ini akan dapat diperoleh lokasi spesifik dari edge yang dicari. Terakhir adalah edge
thresholding yang merupakan proses klasifikasi dengan dua buah nilai yaitu high- threshold dan low-threshold.
Dari klasifikasi tersebut akan diketahui apakah suatu piksel termasuk dalam kategori piksel edge. Dengan
terdapatnya proses filter derau dan thresholding, membuat operasi Canny memiliki keunggulan
dibandingkan dengan operasi yang lainnya yaitu, tahan terhadap derau serta dapat meminimalisir
kemungkinan kesalahan pada pemilihan edge yang tepat.

Modul 2 kelompok 2a 2
2.3 PROBLEM 3 : Perhitungan Error antara Edge Detector yang tidak dan menggunakan Noise
2.3.1 Operasi Gradien
2.3.1.1 Konvensional

Gambar 4.3.1 Hasil konvolusi dengan noise

Gambar 4.3.2. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise

Modul 2 kelompok 2a 2
2.3.1.2 Selisih Terpusat

Gambar 4.3.3 Hasil konvolusi dengan noise

Gambar 4.3.4. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise
2.3.1.3 Robert

Gambar 4.3.5Hasil konvolusi dengan noise

Modul 2 kelompok 2a 2
Gambar 4.3.6. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise

Gambar 4.3.7 Hasil konvolusi dengan noise dengan matlab toolbox

Gambar 4.3.8. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise degan matlab toobox

Modul 2 kelompok 2a 2
2.3.1.4 Prewitt

Gambar 4.3.9 Hasil konvolusi dengan noise

Gambar 4.3.10. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise

Gambar 4.3.11 Hasil konvolusi dengan noise dengan matlab toolbox

Modul 2 kelompok 2a 2
Gambar 4.3.12. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise noise dengan matlab toolbox

2.3.1.5 Sobel

Gambar 4.3.13 Hasil konvolusi dengan noise

Modul 2 kelompok 2a 2
Gambar 4.3.14. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise

Gambar 4.3.15 Hasil konvolusi dengan noise dengan matlab toolbox

Gambar 4.3.16. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise dengan matlab toolbox

Modul 2 kelompok 2a 2
2.3.1.6 Isotropic

Gambar 4.3.17 Hasil konvolusi dengan noise

Gambar 4.3.18. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise

2.3.1.7 Compass

Gambar 4.3.19 Hasil konvolusi dengan noise

Modul 2 kelompok 2a 2
Gambar 4.3.20. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise

2.3.1.8 Kirsch

Gambar 4.3.21 Hasil konvolusi dengan noise

Gambar 4.3.22. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise

Modul 2 kelompok 2a 2
2.3.2 Operasi Laplacian

Gambar 4.3.23Hasil konvolusi dengan noise

Gambar 4.3.24. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise

Modul 2 kelompok 2a 3
2.3.3 Operasi Canny

Gambar 4.3.25 Hasil konvolusi dengan noise

Gambar 4.3.26. Nilai Error untuk sinyal dengan atau tanpa ditambahkan noise

Modul 2 kelompok 2a 3
Nilai error pada tiap jenis edge detector adalah sebagai berikut.

No. Jenis Edge Detection Nilai Error


1 Robert (Toolbox) 0.0931
2 Compass 0.1651
3 Laplacian 0.2641
4 Sobel 0.3138
5 Prewitt (Toolbox) 0.3186
6 Kirsch 0.3251
7 Prewitt 0.3263
8 Isotropic 0.3351
9 Sobel (Toolbox) 0.354
10 Selisih Terpusat 0.3828
11 Canny 0.4059
12 Robert 0.4466
13 Konvensional 0.5025

Tabel 4.3 Nilai Error untuk Tiap Jenis Edge Detector

Untuk mendapatkan nilai sensitivitas dari suatu jenis operator yang dapat melakukan pendeteksian
tepi,akan dilakukan dengan cara membuat kondisi dimana nilai di tiap operasi akan ditambahkan
dengan noise salt and pepper. Noise yang dikeluarkan ada operasi salt and pepper merupakan jenis noise yang
tersebar merata. Nilai sensitivitas akan
menunjukkan seberapa besar perubahan nilai terhadap perubahan masukan. Semakin kecil nilai tersebut
semakin baik karena pengaruhnya terhadap noise lebih kecil.
Dari percobaan yang praktikan lakukan diperoleh nilai sensitivitas tertinggi yang dimiliki oleh operasi
gradien konvensional sebesar 0.5025 sedangkan yang terendah ialah operator robert yang berasal dari
MATLAB toolbox sebesar 0.0931.
Pada operasi gradien konvensional digunakan pendekatan berupa perubahan pixel yang berada
disampingnya (diferensiasi intensitas pada arah baris dan kolom) dan mengabaikan faktor spasial. Dan
pada operator konvensional tidak dilakukan proses smoothing yang biasa dilakukan dengan mengacu pada
intensitas yang berada disekitarnya. Dengan kata lain nilai satu pixel yang diperoleh akan tetap noise
walaupun ada pixel disekitarnya yang tidak noise.
Sedangkan pada operasi Robert yang merupakan built-in function yang dapat diakses melalui MATLAB
mendapatkan nilai sensitivitas terkecil dapat diakibatkan oleh batasan atau thresholding

Modul 2 kelompok 2a 3
dari built-in function tersebut. Tetapi pada implementasinya operasi Robert seharusnya memiliki
sensitivitas yang tinggi akibat (kernel 2x2) cara melakukan operasi pendeteksian dengan cara melakukan
diferensiasi terhadap arah sudut 𝝅/4 dan -𝝅/4. Tetapi perlu ditinjau kembali bahwa karakteristik dari
noise salt and pepper yang membuat pengaruh sudut yang ada pada operasi Robert tidak berpengaruh
akibat persebaran yang merata.
Namun, seharusnya nilai sensitivitas yang diperoleh dari operator Canny menjadi nilai yang terkecil[6].
Hal ini dibuktikan dengan adanya perbandingan jarak antar pixel yang terlokalisasi yang mana akan
menyebabkan nilai pixel tepi dan tepi asli akan berada di nilai minimum. Dan hanya akan menghasilkan
satu respons pada tiap satu tepi. Jadi yang dilakukan pada operator Canny ialah melakukan smoothing
citra untuk meminimalkan noise. Setelah itu diperoleh gradien citra dari daerah yang memiliki nilai derivat
spasial yang tinggi. Pembacaan akan dilakukan bila ditemukan pixel yang memiliki nilai dibawah
maksimum. Setelah itu dilakukan pula proses hysteresis dengan nilai pixel yang belum diubah untuk
dilihat apakah nilai magnitudo lebih atau kurang dari threshold (Bila lebih dari threshold akan diubah
menjadi nol bila kurang akan dijadikan tepi).
Pada operator lain nilai sensitivitas masih besar akibat nilai noise yang hanya bergantung pada pixel
masing masing. Noise dapat diminimalkan dengan menggunakan Filter (Low Pass atau Median Filter).

3. KESIMPULAN
Berdasarkan percobaan pengoperasian citra yang telah dilakukan dapat disimpulkan beberapa point
sebagai berikut.
● Terdapat garis abu-abu yang berada di pinggiran citra masing-masing hasil konvolusi. Garis abu-
abu yang dihasilkan itu menandakan bahwa terjadi perbedaan intensitas antara piksel yang
bersebelahan dengan orientasi.
● Kurangnya pengaruh noise salt pepper pada operator Robert akibat karakteristik dari noise
tersebut yang berlainan dengan operator Robert.
● Operator Canny memiliki error rate terkecil akibat proses hysteresis serta filter yang ada pada
operator tersebut.
OperatorGradien Konvensional
menghasilkan nilai error rate yang besar akibat
orientasi pendeteksian tepi.
● Edge detector yang paling baik dihasilkan
dengan menggunakan operasi Canny.
● Operasi Canny memiliki ketahanan yang
baik terhadap derau serta memiliki
proses thresholding yang dapat
meminimalisir kesalahan yang penentuan
edge yang tepat dari suatu gambar.

Modul 2 kelompok 2a 3
Modul 2 kelompok 2a 3

Anda mungkin juga menyukai