Upload
hadratul-hendra
View
132
Download
1
Embed Size (px)
Citation preview
ANALISIS ALGORITMA TRANSFORMASI HOUGH DALAM
MENDETEKSI LINGKARAN DAN ELIPS BERBASIS PENGOLAHAN
CITRA DIGITAL
ANALYSIS OF HOUGH TRANSFORM ALGORITHM FOR CIRCLE AND ELLIPSE
DETECTION BASED ON DIGITAL IMAGE PROCESSING
TUGAS AKHIR
Diajukan sebagai salah satu syarat untuk memperoleh gelar Sarjana Teknik
pada Fakultas Elektro dan Komunikasi Institut Teknologi Telkom
Oleh:
Andri Pranata Kusuma
111090175
S1 Teknik Telekomunikasi
FAKULTAS ELEKTRO DAN KOMUNIKASI
INSTITUT TEKNOLOGI TELKOM
BANDUNG
2013
INSTITUT TEKNOLOGI TELKOM No. Dokumen ITT-AK-FEK-PTT-PTT-FM-001/004
Jl. Telekomunikasi No. 1 Ters. Buah Batu
Bandung 40257 No. Revisi 00
FORMULIR LEMBAR PENGESAHAN
TUGAS AKHIR Berlaku Efektif 02 Mei 2011
LEMBAR PENGESAHAN
TUGAS AKHIR
ANALISIS ALGORITMA TRANSFORMASI HOUGH DALAM
MENDETEKSI LINGKARAN DAN ELIPS BERBASIS PENGOLAHAN
CITRA DIGITAL
ANALYSIS OF HOUGH TRANSFORM ALGORITHM FOR CIRCLE AND
ELLIPSE DETECTION BASED ON DIGITAL IMAGE PROCESSING
Andri Pranata Kusuma
111090175
Telah disetujui dan disahkan sebagai Tugas Akhir
Program Sl Teknik Telekomunikasi Fakultas Elektro dan Komunikasi
Institut Teknologi Telkom
Pembimbing I Pembimbing II
Koredianto Usman, ST., M.Sc. Suryo Adhi Wibowo, ST.,MT.
NIK : 02750290-1 NIK : 10870628-1
INSTITUT TEKNOLOGI TELKOM No. Dokumen ITT-AK-FEK-PTT-PTT-FM-001/004
Jl. Telekomunikasi No. 1 Ters. Buah Batu
Bandung 40257 No. Revisi 00
FORMULIR PERNYATAAN ORISINALITAS Berlaku Efektif 02 Mei 2011
HALAMAN PERNYATAAN ORISINALITAS
NAMA : ANDRI PRANATA KUSUMA NIM : 111090175 ALAMAT : JL. MASJID RT 012/01 NO.1A CIPINANG MELAYU, JAKARTA TIMUR
13620 No. Telp / Hp : 081321680644 Email : [email protected] Menyatakan bahwa Tugas Akhir ini merupakan karya orisinal saya sendiri, dengan judul :
ANALISIS ALGORITMA TRANSFORMASI HOUGH DALAM MENDETEKSI
LINGKARAN DAN ELIPS BERBASIS PENGOLAHAN CITRA DIGITAL
ANALYSIS OF HOUGH TRANSFORM ALGORITHM FOR CIRCLE AND ELLIPSE
DETECTION BASED ON DIGITAL IMAGE PROCESSING
Atas pernyataan ini, saya siap menanggung resiko / sanksi yang dijatuhkan kepada saya apabila
kemudian ditemukan adanya pelanggaran terhadap kejujuran akademik atau etika keilmuan
dalam karya ini, atau ditemukan bukti yang menunjukkan ketidakaslian karya ini.
Bandung, Januari 2013
Andri Pranata Kusuma 111090175
iv
LEMBAR PERSEMBAHAN
Katakanlah (Muhammad), Inilah jalanku yang lurus, aku dan orang-orang yang
mengikutiku mengajak (kamu) kepada Allah dengan ilmu. (QS Yusuf [12]: 108)
Dan perumpamaan-perumpamaan ini Kami buat untuk manusia; dan tiada yang
memahaminya kecuali orang-orang yang berilmu.(QS Al-Ankabuut[29]:43)
Tuntutlah ilmu, sesungguhnya menuntut ilmu adalah pendekatan diri kepada Allah Azza
wajalla, dan mengajarkannya kepada orang yang tidak mengetahuinya adalah sodaqoh.
Sesungguhnya ilmu pengetahuan menempatkan orangnya, dalam kedudukan terhormat
dan mulia (tinggi). Ilmu pengetahuan adalah keindahan bagi ahlinya di dunia dan di
akhirat." (HR Ar-Rabii')
Man Jadda Wajada = Siapa yang bersungguh-sungguh akan berhasil
Tugas Akhir ini kupersembahkan untuk
Papa dan Mamaku tercinta
Kedua adikku tersayang
Saudara, Sahabat, dan Teman-Temanku
Calon Pendamping Hidupku kelak
Dan
Pembaca yang giat mencari ilmu
v
ABSTRAK
Dalam aplikasi sensing robotic dan computer vision dibutuhkan sebuah algoritma
pengenalan pola. Pada tugas akhir ini dilakukan penelitian terhadap algoritma
Transformasi Hough dalam mendeteksi kurva tertutup sederhana seperti lingkaran atau
elips. Pada penelitian sebelumnya, algoritma Transformasi Hough telah digunakan dalam
pendeteksian jumlah sisi bangun geometri segi-N. Akan tetapi belum ada penelitian yang
menganalisis Transformasi Hough dalam mendeteksi dan membedakan kurva tertutup
sederhana.
Untuk mendeteksi objek elips dan lingkaran dalam sebuah citra digital, pertama-tama
dilakukan proses akuisisi citra dengan meng-capture objek dari webcam atau dengan
membangkitkan citra dari komputer. Lalu tahap preprocessing untuk mendapatkan garis
tepi objek. Kemudian digunakan Transformasi Hough Standar (SHT) dan dianalisis kurva
sinusoidal hasil transformasi tersebut. Lingkaran akan memiliki bentuk kurva sinusoidal
yang cukup teratur dibandingkan elips. Oleh karena itu pada penelitian kali ini akan
digunakan metode standar deviasi untuk membedakan objek lingkaran dan elips. Setelah
mendapatkan objek yang diinginkan, kemudian digunakan Transformasi Hough yang di
modifikasi (MHT) untuk merekonstruksi bangun tersebut.
Untuk menganalisis tingkat performasi algoritma dalam pendeteksian dan
rekonstruksi, maka diujikan 108 citra berbentuk lingkaran dan elips dengan warna dan
besar berbeda. Berdasarkan hasil uji, sistem dapat membedakan objek kurva tertutup
dengan akurasi 95,46% dan merekonstruksi kurva tertutup dengan akurasi sebesar 100%.
Waktu komputasi rata-rata dalam merekonstruksi lingkaran 4,86 detik dan merekonstruksi
elips 0,594 detik.
Kata Kunci : Transformasi Hough Standar (SHT), Standar Deviasi, Transformasi Hough
di Modifikasi (MHT), Lingkaran dan Elips
vi
ABSTRACT
Pattern recognition algorithm is very important for robotic sensing and computer
vision. On this thesis, Hough Transform Algorithm is tested to detect simple closed curve
like circle and ellipse. On the previous research, Hough Transform Algorithm was used to
detect the number of N-side from a geometry object. However, there is still no research to
analyze Hough Transform performance in detecting and differentiating simple closed
curve.
To detect an object such as ellipse and circle in a digital image, first the image is
acquired by capturing from a webcam or generating images from computer. Then the
preprocessing stage will be done to get its edges. Next the edges will be transformed using
Standard Hough Transform and the curve from Hough Transform will be analyzed. The
circle will have a more constant sinusoidal curve than the ellipse. Therefore, in this
research standard deviation method is used to differentiate those objects. After gaining the
expected ones, a Modified Hough Transform is used to reconstruct the objects.
To analyze the performance of algorithm, all the 108 images of cicrle and ellipse
with different color and size is tested. Based on the results, the system can detect and
distiguish circle and ellipse objects with 95,46% accuracy as well as reconstruct those
object with 100% accuracy. The average computation time in circle reconstruction is 4,86
seconds and ellipse reconstruction is about 0,594 seconds
Keywords : Standard Hough Transform (SHT), Modified Hough Transform (MHT),
Circle and Ellipse
vii
KATA PENGANTAR
Segala puji dan syukur sedalam-dalamnya penulis panjatkan ke hadapan Allah SWT,
karena berkat rahmat, taufiq, hidayah-NYA, Tugas akhir yang berjudul Analisis Algoritma
Transformasi Hough Dalam Mendeteksi Lingkaran dan Elips Berbasis Pengolahan Citra
Digital ini bisa diselesaikan sebagai salah satu syarat menyelesaikan program pendidikan
sarjana pada Fakultas Elektro dan Komunikasi, Institut Teknologi Telkom Bandung
Diharapkan Tugas Akhir ini dapat bermanfaat dalam pengembangan dunia keilmuan di
kampus Institut Teknologi Telkom yang berkaitan dengan cabang ilmu pengolahan sinyal
digital, dan selanjutnya bisa diimplementasikan ke dalam bidang robotik.
Penulis menyadari masih terdapat kekurangan dalam penyusunan Tugas Akhir ini.
Sehingga Penulis pun terbuka untuk menerima saran dan kritik yang bersifat membangun.
Dengan segala kerendahan hati, penulis berharap semoga Tugas Akhir ini dapat bermanfaat
dan penulis pada khususnya, serta bagi dunia pendidikan pada umumnya.
Bandung, Januari 2013
Penulis
viii
UCAPAN TERIMA KASIH
Puji syukur Penulis panjatkan kepada Allah SWT, Tuhan Yang Maha Esa, karena
atas rahmat dan hidayah-Nya Tugas Akhir ini dapat terselesaikan dengan baik. Shalawat
serta salam tidak lupa penulis curahkan kepada Nabi Besar Muhammad SAW,
keluarganya, sahabatnya serta pengikutnya.
Penulis sadar bahwa penulis tidak dapat menyelesaikan Tugas Akhir dan perkuliahan
di IT Telkom ini tanpa adanya bantuan dari lingkungan sekitar Penulis. Oleh karena itu,
penulis mengucapkan terima kasih kepada :
1. Ibu Penulis, Ibu Kusmiyati, SE. yang tidak ada hentinya memberikan perhatian,
berdoa, mengingatkan anaknya disetiap keadaan, dan rela datang ke Bandung
sendiri untuk mendampingi Penulis disaat sidang. Ayah Penulis, Bpk. Sumatno,
yang selalu memberikan semangat, berbagai jenis sokongan dan mengingatkan
untuk selalu tidak boleh jauh dari Allah. Ahmad Zuhdi Dwi Kusuma dan
Anita Putri Kusuma yang mendoakan kakaknya mengerjakan Tugas Akhir
supaya bisa lulus dan cepat kerja.
2. Keluarga besar Penulis, Nenek Penulis di Jakarta yang senantiasa mendoakan
cucu pertamanya, kakek, om, tante, saudara-saudaraku, dengan mengingat kalian
Penulis jadi termotivasi untuk mengerjakan Tugas Akhir ini.
3. Bapak Koredianto Usman, ST.,M.sc., selaku pembimbing pertama dan Bapak
Suryo Adhi Wibowo, ST., MT., selaku pembimbing kedua. Dua orang yang
selalu memotivasi penulis, mengingatkan deadline, dan membimbing penulis di
tengah kesibukannya.
4. Bapak Inung Wijayanto, ST.,MT. Selaku dosen wali Penulis yang
mengarahkan dan memudahkan segala urusan perwalian agar bisa lanjut sidang
dan cepat lulus dari kampus ini dan seluruh dosen IT Telkom atas bimbingannya
selama ini.
5. Issafitri Nur Rachmawati alias bebe alias calon ST 2014, atas doa, kesabaran,
dan kesediaannya ketika penulis sedang kalut mengingat Tugas Akhir untuk
mendengarkan segala keluhan dan curhatan. Ikut mencari pinjaman webcam
agar Penulis lancar dalam pengambilan data. Merelakan kamarnya dipakai untuk
pengambilan data TA, dan senantiasa memberi semangat kepada penulis. Terima
kasih cantik.
ix
6. Kak Anggunmeka Luhur Prasasti, ST. dan kak Dzikrina Khoirunnisak, ST.
yang telah membuka pikiran penulis dalam pengambilan judul dan pembimbing
dalam Tugas Akhir ini.
7. Anggi Permata Hadwi alias Tank, sahabat terbaik Penulis selama berkuliah di
IT Telkom. Teman seperjuangan di Kopma, teman motivasi, teman saingan, dan
teman curhat ketika Penulis masih berada di zaman kelabilan. Rodia Mardia,
sahabat sesama 3,5 tahun yang siap membantu dan mendengarkan keluh kesah
teman seperjuangannya ini.
8. Keluarga besar Kopma IT Telkom, kak Sugeng, kak DJ, kak Ardan, kak Kahfi,
Abang, Patur, kak Be, kak Unan, kak Ayu, kak Cus, kak Rebek, Kak Baal, kak
Arnas, kak Ria, kak Indah, kak Vira, Luthfi, Pras, Qori, Asuh, Edho, Ninis,
Evan, Rina, Dion, Adel, Sari, Mure, Adhi, Doni, Alfath, Zulfi, Fikri, Firda,
Dinda, Ebi, Vita, Madu, Hilda, Erty, Puji, Fajar, Andang, Krisna, Bowo, Richo,
Yudha, Ilham, teh Yuli, bibi untuk doa dan pembakaran yang semakin
membuat penulis semangat untuk lulus dari kampus ini.
9. Keluarga besar IMV, squad KRU dan bimbs of SAO, Tika, Noi, Rina, Dian,
Munawar, Syifa, Ika, Rizka, Rahma, Kun, Lintang, Audy, Kode, Heru, Umi,
Janu, Lala yang memberikan dukungan moril dan semangat.
10. Keluarga kelas TT-33-03, teman-teman yang saling memberikan semangat dan
motivasi dalam mengerjakan TA, Ayu, Aceng, Relung, Arga, Aul, Muflich,
Dwi. Risa yang sudah membantu memeriksa abstrak dan slide Bahasa Inggris .
Irna, Iqbal, Rizwan yang sudah menyempatkan waktu untuk datang ke sidang
Penulis. Dan Teman-teman TT-33-03 terbaik lainnya, Shid, Safrian, Rahmat,
Kompyang, Evan, Luthfi, Tika, Rizka, Mira dan teman lainnya.
Terima kasih untuk seluruh pihak yang tidak dapat dijabarkan satu per satu yang
telah membantu Penulis selama ini. Semoga Allah SWT Membalas semua kebaikan
dengan karunia-Nya.
x
DAFTAR ISI
LEMBAR JUDUL ......................................................................................................... i
LEMBAR PENGESAHAN ........................................................................................... ii
LEMBAR PERYATAAN ORISINALITAS ................................................................. iii
LEMBAR PERSEMBAHAN ........................................................................................ iv
ABSTRAK .................................................................................................................... v
ABSTRACT .................................................................................................................... vi
KATA PENGANTAR ................................................................................................... vii
UCAPAN TERIMA KASIH ......................................................................................... viii
DAFTAR ISI ................................................................................................................. x
DAFTAR GAMBAR ..................................................................................................... xiii
DAFTAR TABEL ......................................................................................................... xv
DAFTAR PERSAMAAN ............................................................................................. xvi
DAFTAR ISTILAH ....................................................................................................... xvii
DAFTAR SINGKATAN ............................................................................................... xix
BAB I PENDAHULUAN .............................................................................................. 1
1.1 Latar Belakang ....................................................................................................... 1
1.2 Tujuan .................................................................................................................... 2
1.3 Manfaat ................................................................................................................... 2
1.4 Perumusan masalah ................................................................................................ 2
1.5 Batasan Masalah ..................................................................................................... 3
1.6 Metodologi Penelitian ............................................................................................ 3
1.7 Sistematika Penulisan ............................................................................................ 4
1.8 Jadwal Pelaksanaan ................................................................................................ 5
BAB II DASAR TEORI ................................................................................................ 6
2.1 Citra Digital ............................................................................................................ 6
2.2 Citra RGB .............................................................................................................. 7
2.3 Model Warna HSV ................................................................................................. 7
2.4 Operasi Batas Ambang (Thresholding) .................................................................. 8
2.5 Deteksi Tepi ........................................................................................................... 9
2.6 Operasi Morfologi dalam Citra Digital .................................................................. 9
2.6.1 Operasi Dilasi dan Erosi ............................................................................... 10
xi
2.6.2 Operasi Opening ............................................................................................ 11
2.7 Transformasi Hough ............................................................................................... 12
2.7.1 Transformasi Hough Normal ........................................................................ 12
2.7.2 Transformasi Hough Diskrit ......................................................................... 13
2.8 Lingkaran ............................................................................................................... 13
2.9 Elips ....................................................................................................................... 14
2.10 Derau ...................................................................................................................... 15
BAB III PERANCANGAN SISTEM ........................................................................... 16
3.1 Masukan Sistem ..................................................................................................... 17
3.2 Derau/Gangguan .................................................................................................... 18
3.3 Pemrosesan Awal ................................................................................................... 19
3.4 Algoritma Transformasi Hough Standar (SHT) ..................................................... 21
3.5 Analisis SHT dalam Membedakan Elips dan Lingkaran ....................................... 24
3.6 Proses Deteksi Letak Posisi dan Rekonstruksi Elips dan Lingkaran ..................... 26
3.6.1 Analisis Algoritma Transformasi Hough dalam mendeteksi Lingkaran ....... 26
3.6.2 Analisis Algoritma Transformasi Hough dalam mendeteksi Elips ............... 28
BAB IV ANALISIS HASIL SIMULASI ..................................................................... 31
4.1 Proses Pengujian .................................................................................................... 31
4.2 Deteksi pada Citra yang dibangkitkan Komputer .................................................. 32
4.3 Deteksi pada Citra yang di-capture Webcam ........................................................ 33
4.4 Analisis Hasil Deteksi dan Kesalahan pada Citra Komputer dan Webcam ........... 34
4.5 Analisis Hasil Uji Tingkat Eksentrisitas Elips pada Citra Komputer dan
Webcam .................................................................................................................. 37
4.6 Hasil Uji Keandalan Sistem dengan Derau yang Dibangkitkan MATLAB .......... 38
4.6.1 Poisson .......................................................................................................... 38
4.6.2 Speckle .......................................................................................................... 39
4.6.3 Salt and Pepper .............................................................................................. 40
4.6.4 Gaussian ........................................................................................................ 42
4.7 Analisis Hasil Deteksi Objek Lingkaran dan Elips Sebenarnya pada Citra
yang di-capture Webcam ........................................................................................ 43
4.8 Pengujian dengan Objek Selain Elips dan Lingkaran ............................................. 45
xii
BAB V PENUTUP ......................................................................................................... 47
5.1 Kesimpulan ............................................................................................................ 47
5.2 Saran ....................................................................................................................... 48
DAFTAR PUSTAKA ...................................................................................................... xx
DAFTAR LAMPIRAN ................................................................................................. xxii
LAMPIRAN
xiii
DAFTAR GAMBAR
Gambar 2.1 Representasi citra dalam bentuk matriks .................................................... 6
Gambar 2.2 Kombinasi warna RGB .............................................................................. 7
Gambar 2.3 Model Warna HSV ..................................................................................... 8
Gambar 2.4 Citra masukan (kiri), citra grayscale (tengah), citra hasil
thresholding (kanan) .................................................................................. 8
Gambar 2.5 Citra masukan (kiri), hasil deteksi tepi canny (kanan) ............................... 9
Gambar 2.6 Citra masukan (kiri), hasil dilasi (tengah), hasil erosi (kanan) .................. 10
Gambar 2.7 Macam-macam elemen penstruktur (strel) ................................................. 11
Gambar 2.8 Citra masukan (kiri), hasil bwareaopen dengan 50 piksel yang
terhubung dihilangkan (kanan) ................................................................... 11
Gambar 2.9 Transformasi domain citra ke domain hough ............................................ 12
Gambar 2.10 Lingkaran ................................................................................................. 14
Gambar 2.11 Parameter Elips ........................................................................................ 14
Gambar 3.1 Diagram alir cara kerja sistem .................................................................... 16
Gambar 3.2 Contoh citra input yang dibangkitkan oleh computer ................................ 17
Gambar 3.3 Contoh citra input yang di-capture dari web-cam ..................................... 17
Gambar 3.4 Diagram blok preprocessing ...................................................................... 19
Gambar 3.5 Tahap pemrosesan awal (preprocessing) berdasarkan gambar .................. 21
Gambar 3.6 Representasi persamaan garis parameter rho(r), theta ............................... 22
Gambar 3.7 Contoh implementasi Standard Hough Transform (1) .............................. 22
Gambar 3.8 Contoh implementasi Standard Hough Transform (2) .............................. 23
Gambar 3.9 Local Maxima Hasil Transformasi Hough ................................................. 23
Gambar 3.10 Diagram alir proses pendeteksian dan pengklasifikasian ......................... 24
Gambar 3.11 Hasil Transformasi Hough standar terhadap citra lingkaran .................... 24
Gambar 3.12 Hasil Transformasi Hough standar terhadap citra elips ........................... 24
Gambar 3.13 Hasil Ekstraksi Transformasi Hough ........................................................ 25
Gambar 3.14 Diagram alir Algoritma Transformasi Hough untuk mendeteksi dan
merekonstruksi lingkaran .......................................................................... 27
Gambar 3.15 Hasil rekonstruksi dengan algoritma TransformasiHough
untuk lingkaran ......................................................................................... 28
xiv
Gambar 3.16 Diagram alir Algoritma Transformasi Hough untuk mendeteksi dan
merekonstruksi elips ................................................................................. 29
Gambar 3.17 Geometri sebuah Elips ............................................................................. 29
Gambar 3.18 Hasil rekonstruksi algoritma Transformasi Hough untuk elips ............... 30
Gambar 4.1 Rincian citra input ...................................................................................... 31
Gambar 4.2 Grafik perbandingan persentasi akurasi citra komputer ............................. 33
Gambar 4.3 Grafik perbandingan persentase akurasi citra webcam .............................. 34
Gambar 4.4 Citra komputer dan ditambah derau Poisson ............................................. 38
Gambar 4.5 Citra komputer dan ditambah derau Poisson ............................................. 38
Gambar 4.6 Grafik akurasi hasil uji derau Speckle dengan berbagai variance ............. 39
Gambar 4.7 Citra komputer dan ditambah derau Speckle (variance 0,3) ...................... 40
Gambar 4.8 Citra webcam dan ditambah derau Speckle (variance 0,3) ........................ 40
Gambar 4.9 Grafik akurasi hasil uji derau Salt and Pepper dengan berbagai
Kerapatan ................................................................................................... 41
Gambar 4.10 Citra webcam dan ditambah derau Salt & Pepper (density 0,2) .............. 41
Gambar 4.11 Citra komputer dan ditambah derau Salt & Pepper (density 0,2) ............ 41
Gambar 4.12 Grafik akurasi hasil uji derau Gaussian dengan mean=0 ........................ 42
Gambar 4.13 Grafik akurasi hasil uji derau Gaussian dengan variance=0,01 .............. 42
Gambar 4.14 Derau Gaussian dengan mean = 0
(var=0 kiri, var=0,2 tengah, var=0,5 kanan) ........................................... 43
Gambar 4.15 Derau Gaussian dengan variance = 0.01
(mean=0 kiri, mean=0,2 tengah, mean=0,5 kanan) ................................. 43
Gambar 4.16 Citra lingkaran yang terdeteksi sebagai elips karena bayangan (kiri=
citra masukan, tengah=model warna HSV, kanan=hasil threshold) ........ 44
Gambar 4.17 Citra lingkaran yang tidak terdeteksi karena terlalu gelap (kiri=
citra masukan, tengah=model warna HSV, kanan=hasil threshold) ........ 45
Gambar 4.18 Hasil transformasi segi sepuluh kedalam domain Hough ........................ 46
Gambar 4.19 Hasil transformasi segi dua belas kedalam domain Hough ..................... 46
xv
DAFTAR TABEL
Tabel 4.1 Perbandingan Hasil Uji Deteksi Lingkaran dan Elips .................................... 36
Tabel 4.2 Perbandingan Hasil Uji Tingkat Eksentrisitas ................................................ 38
Tabel 4.3 Perbandingan Hasil uji dengan derau Poisson ................................................ 39
Tabel 4.4 Hasil Uji Derau Speckle dengan Berbagai Variance ...................................... 40
Tabel 4.5 Hasil Uji Derau Speckle dengan Berbagai Variance ...................................... 41
Tabel 4.6 Hasil Uji Derau Gaussian dengan Mean=0 dan Berbagai Nilai Variance ..... 43
Tabel 4.7 Hasil Uji Derau Gaussian dengan Variance=0 dan Berbagai Nilai Mean ..... 43
Tabel 4.8 Perbandingan Hasil Uji Objek Sesungguhnya ................................................ 45
Tabel 4.9 Hasil Uji Objek Selain Lingkaran dan Elips ................................................... 45
xvi
DAFTAR PERSAMAAN
Persamaan (2.1) ............................................................................................................. 8
Persamaan (2.2) ............................................................................................................. 10
Persamaan (2.3) ............................................................................................................. 10
Persamaan (2.4) ............................................................................................................. 12
Persamaan (2.5) ............................................................................................................. 13
Persamaan (2.6) ............................................................................................................. 13
Persamaan (2.7) ............................................................................................................. 13
Persamaan (2.8) ............................................................................................................. 13
Persamaan (2.9) ............................................................................................................. 13
Persamaan (2.10) ........................................................................................................... 13
Persamaan (2.11) ........................................................................................................... 13
Persamaan (2.12) ........................................................................................................... 13
Persamaan (2.13) ........................................................................................................... 14
Persamaan (2.14) ........................................................................................................... 14
Persamaan (2.15) ........................................................................................................... 14
Persamaan (2.16) ........................................................................................................... 15
Persamaan (2.17) ........................................................................................................... 15
Persamaan (2.18) ........................................................................................................... 15
Persamaan (3.1) ............................................................................................................. 21
Persamaan (3.2) ............................................................................................................. 21
Persamaan (3.3) ............................................................................................................. 25
Persamaan (3.4) ............................................................................................................. 29
Persamaan (3.5) ............................................................................................................. 29
Persamaan (3.6) ............................................................................................................. 29
Persamaan (3.7) ............................................................................................................. 29
Persamaan (3.8) ............................................................................................................. 30
Persamaan (3.9) ............................................................................................................. 30
Persamaan (4.1) ............................................................................................................. 33
xvii
DAFTAR ISTILAH
Accumulator Array Tabel yang digunakan untuk meletakkan
parameter Transformasi Hough yaitu
parameter dari objek yang ingin
dideteksi dan bertambah jika terdapat
suatu kondisi yang terpenuhi.
Computer Vision Proses otomatis yang mengintegrasikan
sejumlah besar proses persepsi visual
seperti akuisisi citra, pengolahan citra,
pengenalan, dan pembuat keputusan.
Eksentrisitas Elips ( e ) Derajat kepipihan elips, secara teoretis
10
xviii
Transformasi Hough Standar (SHT) Transformasi yang digunakan untuk
mengubah domain citra menjadi domain
( , ) untuk mendeteksi keberadaan
garis.
Transformasi Hough dimodifikasi (MHT) Transformasi hough yang dimodifikasi
untuk mendeteksi dan merekonstruksi
suatu objek tertentu.
xix
DAFTAR SINGKATAN
Bi : Blue Input
BMP : Windows Bitmap Image File
Bo : Blue Output
CHT : Circular Hough Transform
EHT : Elliptical Hough Transform
Gi : Green Input
Go : Green Output
GST : Gray Scale Transformation
HSV : Hue, Saturation, Value
MHT : Modified Hough Transform
RGB : Red Green Blue
Ri : Red Input
Ro : Red Output
SHT : Standard Hough Transform
Strel : Structuring Element
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Bangun geometri 2 dimensi adalah sebuah bidang datar yang dibatasi oleh garis-garis
dan dimana titik ujung setiap garis terhubung dengan garis yang lain minimal tiga buah
garis, sehingga membentuk sebuah bangun tertutup[12]. Berbeda dengan bangun geometri,
Lingkaran dan elips merupakan kurva sederhana tertutup yang beraturan. Lingkaran adalah
himpunan titik-titik pada bidang dalam jarak tertentu (r), dari suatu titik tertentu, yang
disebut pusat[17]. Sedangkan elips didefinisikan sebagai tempat kedudukan titik-titik dalam
bidang yang jumlah jarak dari dua titiknya konstan. Suatu elips punya dua sumbu simetri,
yaitu sumbu sumbu utama (sumbu panjang) dan sumbu minor (sumbu pendek)[20]. Selain
itu yang membedakan antara elips dan lingkaran adalah nilai eksentrisitasnya. Elips
memiliki nilai eksentrisitas antara 0-1 sedangkan lingkaran memiliki nilai eksentrisitas
0[19].
Pada aplikasi sensing robotic atau computer vision, dibutuhkan sebuah algoritma
pengenalan pola. Hal ini bertujuan agar komputer dapat mengidentifikasi obyek-obyek
tertentu. Salah satu algoritma pengenalan pola adalah algoritma Transformasi Hough.
Transformasi Hough telah diperkenalkan oleh Paul Hough pada tahun 1962. Pada
implementasinya Transformasi Hough melakukan pemetaan titik-titik pada citra ke dalam
ruang parameter (Hough space) berdasarkan suatu fungsi dari bentuk yang ingin dideteksi.
Pada awalnya TH digunakan untuk mendeteksi garis pada sebuah citra. Namun oleh Duda
dan Hart[4], Transformasi Hough dikembangkan dalam pendeteksian kurva, umumnya
seperti lingkaran dan elips. Salah satu keunggulan dari Transformasi Hough adalah lebih
cepat dan lebih baik akurasinya dari Transformasi Radon[9].
Pada penelitian sebelumnya oleh Aji Atturmudzi[1], algoritma Transformasi Hough
digunakan dalam pendeteksian posisi mata dan oleh Dzikrina Khoirunnisak[9], telah
dilakukan penganalisisan terhadap performansi algoritma Transformasi Hough dalam
mengidentifikasi bangun geometri 2D segi-N. Namun belum ada penelitian yang
membahas bagaimana performansi algoritma Transformasi Hough dalam mendeteksi dan
membedakan kurva tertutup yaitu lingkaran dan juga elips. Banyak objek yang terbentuk
dari kurva tertutup, misal bola, piring, telur, sabun, dll. Oleh karena itu, kemampuan untuk
membedakan dan menganalisis elips dan lingkaran merupakan hal penting untuk
2
diimplementasikan agar objek-objek yang tersusun dari kurva tertutup tersebut dapat
terdeteksi dan dibedakan. Maka dari itu, pada penelitian kali akan dibuat dan dianalisis
suatu aplikasi untuk mendeteksi dan menganalisis objek lingkaran dan elips yang terdapat
pada sebuah citra digital dengan menggunakan algoritma Transformasi Hough.
1.2 Tujuan
Tujuan tugas akhir ini dapat dirumuskan sebagai berikut.
1. Mengimplementasikan aplikasi untuk mendeteksi dan menganalisis objek
lingkaran dan elips baik yang dibuat maupun objek sesungguhnya berbasis
pengolahan citra digital.
2. Menguji dan menganalisis simulasi sistem untuk deteksi objek buatan hasil
akuisisi webcam dan objek yang dibangkitkan lewat komputer
3. Menguji performansi Transformasi Hough dengan mengukur akurasi dan waktu
komputasi dalam mendeteksi dan menganalisis objek lingkaran dan elips.
4. Menguji dan menganalisis hasil implementasi sistem dengan derau yang memiliki
kerapatan yang berbeda.
1.3 Manfaat
Manfaat dari pelaksanaan tugas akhir ini adalah sebagai berikut.
1. Melengkapi penelitian sebelumnya dan bisa sebagai tambahan bahan perkuliahan
di mata kuliah computer vision.
2. Dasar pengenalan objek karena objek selain terbentuk dari bangun geometri,
objek-objek juga bisa terbentuk dari komponen lingkaran dan elips
3. Dapat digunakan dan diterapkan pada aplikasi sensing robotic.
1.4 Perumusan masalah
Perumusan masalah yang digunakan pada Tugas Akhir ini adalah:
1. Bagaimana melakukan tahap preprocessing dari objek lingkaran dan elips dalam
citra digital menggunakan MATLAB.
2. Bagaimana menggunakan algoritma Transformasi Hough untuk mengetahui
adanya objek lingkaran atau elips dari sebuah citra digital.
3. Bagaimana cara mendeteksi dan menganalisis objek lingkaran dan elips dari
sebuah citra digital.
3
4. Bagaimana pengaruh tingkat eksentrisitas elips terhadap proses pendeteksian
dengan Transformasi Hough.
5. Bagaimana pengaruh jenis citra masukan terhadap performansi sistem: citra
dengan derau dan citra tidak dengan derau.
6. Bagaimana pengaruh level derau terhadap performansi Transformasi Hough.
7. Bagaimana tingkat keberhasilan sistem berdasarkan waktu komputasi, tingkat
parameter akurasi, dan error.
1.5 Batasan masalah
Pengerjaan tugas akhir ini, dibatasi pada hal-hal sebagai berikut:
1. Masukan sistem merupakan citra dengan ukuran 640x480 piksel, memiliki format
*.bmp
2. Citra masukan didapat melalui akuisisi dari web-cam (untuk hasil aktual) dan
beberapa citra masukan didapat dengan dibangkitkan oleh software (CorelDRAW
X5) untuk pembuktian hasil teoretis.
3. Objek atau citra untuk pengujian eksentrisitas dibatasi dengan eksentrisitas 0.2,
0.3, 0.4, 0.5 , dan 0.8.
4. Citra masukan merupakan gambar lingkaran dengan jari-jari minimum piksel
sebesar 50 pixel dan maksimal piksel bernilai 150 piksel baik aktual maupun ideal
(CorelDRAW) dan elips.
5. Latar belakang objek berwarna putih.
6. Penambahan derau yang dibangkitkan lewat aplikasi MATLAB untuk menguji
performansi sistem (derau Gaussian, Salt & Pepper, Speckle, dan Poisson).
7. Alat bantu yang digunakan pada penelitian ini adalah MATLAB versi R2009a.
1.6 Metodologi Penelitian
Penelitian ini bersifat terapan, hasil akhir dari penelitian dapat diaplikasikan dan
diterapkan secara langsung. Metode yang digunakan untuk menyelesaikan tugas akhir ini
adalah dengan melakukan eksperimen. Eksperimen akan berlangsung di laboratorium IMV
dan tempat tinggal penulis. Eksperimen pertama yang dilakukan adalah mengakuisisi citra
dan menentukan kategori citra, apakah termasuk berderau atau tidak. Kemudian akan
dilakukan eksperimen pendeteksian bentuk dengan menggunakan Transformasi Hough
sehingga hasil keluarannya berupa deteksi bidang yang diinginkan. Dan tahap terakhir dari
4
deteksi ini adalah proses rekonstruksi (fitting) dari objek yang diteliti. Implementasi
Transformasi Hough ini dengan menggunakan platform MATLAB R2009a. Berdasarkan
hasil keluaran sistem maka akan dibuat analisis berdasarkan skenario yang dijalankan.
Kemudian dapat ditarik kesimpulan dari hasil analisis tersebut.
1.7 Sistematika Penulisan
Tugas akhir ini dibagi dalam beberapa topik bahasan yang disusun secara sistematis
sebagai berikut :
Bab I Pendahuluan
Bab ini membahas latar belakang, tujuan, manfaat, perumusan dan batasan
masalah, metodologi penelitian serta sistematika penulisan.
Bab II Dasar Teori
Bab ini membahas teori yang mendukung dan mendasari penulisan tugas
akhir ini, meliputi pengolahan citra digital, teori dasar algoritma
Transformasi Hough, karakteristik bangun Lingkaran dan Elips, serta teori
lain yang mendukung.
Bab III Perancangan Sistem
Dalam BAB III diuraikan tentang model perancangan sistem dari tahap
pemrosesan awal, sampai penggunaan Algoritma Transformasi Hough
dalam deteksi objek berbasis citra digital
Bab IV Analisis Hasil Simulasi
Bab ini membahas hasil simulasi yang diperoleh dan memberikan analisis
terhadap hasil simulasi tersebut. Objek masukan dalam keadaan tanpa derau
hingga objek diberikan derau dengan berbagai kerapatan dan analisis objek
kurva tertutup dalam kehidupan nyata.
BAB V Kesimpulan Dan Saran
Bab ini berisi kesimpulan dari analisisanalisis skenario yang telah
dilakukan dan saran untuk pengembangan lebih lanjut.
5
1.8 Jadwal Pelaksanaan
1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
1 Studi Literatur
2
Pengumpulan
Data
3
Implementasi
Perangkat
Lunak
4
Analisis
Performansi
5
Perbaikan
Sistem
6
Pengambilan
keputusan
7
Menulis
Buku/Laporan
Tugas Akhir
Des-12 Jan-13No Kegiatan
Sep-12 Okt-12 Nop-12
6
BAB II
DASAR TEORI
2.1 Citra Digital[9]
Citra digital merupakan citra yang dapat diolah oleh komputer. Sebuah citra digital
dapat didefinisikan sebagai fungsi 2-Dimensi, f(x,y) dimana x dan y merupakan koordinat
posisi, dan nilai dari f menunjukkan intensitas dari warna tiap piksel dari sebuah citra. Dan
dapat diwakili oleh sebuah matriks yang terdiri dari M kolom dan N baris, dimana
perpotongan antara kolom dan baris disebut piksel, yaitu elemen terkecil dari sebuah citra.
Setiap piksel f(x,y) memiliki nilai intensitas atau warna dari piksel di titik itu, sehingga
sebuah citra digital dapat ditulis dalam bentuk matriks berikut
( )
=
)1,1(...)1,1()0,1(
............
)1,1(......)0,1(
)1,0(...)1,0()0,0(
,
MNfNfNf
Mff
Mfff
yxf
Dan bila matriks tersebut diubah dalam bentuk matematisnya, maka:
1
2
3 4 5 X
1 0 0 25 70 83 f(1,3)
2 0 15 17 26 76
f(x,y)=
3 0 31 25 21 61
4
0 2 1 17 22
5 0 14 28 52 65 f(5,1)
Y
Gambar 2.1 Representasi citra dalam bentuk matriks
Piksel pada koordinat (5,1) bernilai intensitas 0 yang berarti warna piksel tersebut
hitam, piksel pada koordinat (1,3) bernilai 25 yang berarti warnanya terletak antara hitam
dan putih, dan seterusnya.
7
2.2 Citra RGB[19]
Citra RGB, yang biasa disebut juga citra true color, disimpan dalam array
berukuran m x n x 3 yang mendefinisikan warna merah, hijau, dan warna biru untuk setiap
pikselnya. Warna pada tiap piksel ditentukan berdasarkan kombinasi dari warna merah,
hijau, dan warna biru. RGB merupakan citra 24 bit dengan komponen merah, hijau, biru
yang masing-masing bernilai 8 bit sehingga intensitas kecerahan warna sampai 256 level
dan kombinasi warnanya kurang lebih sekitar 16 juta warna sehingga disebut true color.
Tingkat kecerahan paling rendah yaitu 0 untuk warna hitam dan putih bernilai 255.
Gambar 2.2 Kombinasi warna RGB
Masing-masing komponen warnanya dapat menyumbangkan tingkat kecerahan
masing-masing. Sebagai contoh, apabila semua warna memberi intensitas warna yang
sama, maka akan menjadi derajat keabuan dari hitam (intensitas warna level 0) sampai
putih (intensitas warna level 255). Begitu juga apabila kombinasi intensitas warna ada yg
paling dominan, maka kombinasi yang dihasilkan akan dominan dengan intensitas yang
paling besar. Misal intensitas warna merah adalah 255 sedangkan hijau dan biru memiliki
intensitas 0, maka akan menghasilkan warna kombinasi dominan biru.
2.3 Model Warna HSV[11]
Model warna HSV mendefinisikan warna dalam terminologi Hue, Saturation dan
Value. Hue menyatakan warna sebenarnya, seperti merah, hijau, biru, violet, kuning, dsb.
Saturation menyatakan tingkat kemurnian suatu warna, yaitu mengindikasikan seberapa
banyak warna putih diberikan pada warna. Value adalah derajat keterangan (brightness)
atau atribut yang menyatakan banyaknya cahaya yang diterima oleh mata tanpa
memperdulikan warna.
8
Gambar 2.3 Model Warna HSV
Karena model warna HSV merupakan model warna yang diturunkan dari model
warna RGB maka untuk mendapatkan warna HSV ini , kita harus melakukan proses
konversi warna dari RGB ke HSV. HSV merupakan salah satu cara untuk mendefinisikan
warna yang didasarkan pada roda warna. Hue mengukur sudut sekitar roda warna (merah
pada 0 derajat, 120 derajat di hijau, biru, di 240 derajat). Saturation yang menunjukkan
pada radius roda warna sehingga menunjukkan proporsi antara gelap (pusat) untuk warna
ke putih murni (di luar).Value Menunjukkan nilai kecerahan. Hue memiliki nilai antara 0
hingga 360 (derajat), Saturation and Value berkisar dari 0 hingga 100%.
2.4 Operasi Batas Ambang (Thresholding)[9]
Operasi Thresholding digunakan untuk mengubah citra dengan format skala
keabuan, yang mempunyai kemungkinan nilai lebih dari 2 ke citra biner yang memiliki 2
buah nilai (yaitu 0 dan 1). Fungsi yang digunakan adalah fungsi transformasi skala
keabuan (gray scale transformation/GST).
GST function adalah fungsi yang memetakan tingkat keabuan citra masukan (Ki) ke
tingkat keabuan citra output (Ko).Untuk citra true color fungsi ini diterapkan pada ketiga
elemen warna:
)(),(),(000 iii
BfBBGfGGRfRR === (2.1)
Gambar 2.4 Citra masukan (kiri), citra grayscale (tengah), citra hasil thresholding
(kanan)
9
2.5 Deteksi Tepi[19]
Tepi (edge) adalah bagian dari citra di mana intensitas kecerahan berubah secara
drastis menjadi derajat keabuan. Deteksi tepi (edge detection) adalah langkah awal untuk
melingkup operasi dalam citra. Tepi mencirikan batas-batas objek, oleh karena itu berguna
untuk proses identifikasi objek dalam citra. Deteksi tepi pada suatu citra adalah suatu
proses yang menghasilkan tepi-tepi dari obyek-obyek citra, tujuannya adalah :
1. Untuk meningkatkan penampakan garis batas suatu daerah dalam citra
2. Untuk memperbaiki detail dari citra yang kabur, yang terjadi karena efek dari proses
akuisisi citra
3. Serta untuk mengubah citra 2-Dimensi menjadi bentuk kurva.
Suatu titik (x,y) dikatakan sebagai tepi (edge) dari suatu citra bila titik tersebut
mempunyai perbedaan yang tinggi dengan tetangganya. Dalam objek berdimensi1,
perubahan dapat diukur dengan menggunakan fungsi turunan (derivative function).
Perubahan mencapai maksimum pada saat nilai turunan pertamanya mencapai nilai
maksimum atau nilai turunan kedua (2nd derivative) bernilai 0.
Pada penelitian tugas akhir ini metode deteksi yang digunakan adalah metode deteksi
tepi Canny (Canny Edge Detector). Metode pendeteksian Canny adalah metode
pendeteksian tepi yang baik, karena metode ini menggunakan 2 batas ambang (threshold)
berbeda untuk mendeteksi tepi kuat dan tepi lemah dan memasukkan tepi yang
lemah kedalam keluaran hanya saat tepi tersebut terhubung dengan tepi yang kuat.
Berikut adalah contoh dari hasil deteksi tepi menggunakan operator Canny.
Gambar 2.5 Citra masukan (kiri), hasil deteksi tepi canny (kanan)
2.6 Operasi Morfologi dalam Citra Digital
Operasi-operasi morfologi pada MATLAB menyediakan informasi tentang bentuk
atau struktur sebuah citra. Semua operasi morfologi bekerja pada citra biner. Beberapa dari
perintah-perintah tersebut, seperti fungsi perimeter dan angka Euler, memungkinkan untuk
melaksanakan operasi 4 sampai 8 tetangga yang berhubungan. Berikut operasi morfologi
yang digunakan dalam penelitian tugas akhir ini.
10
2.6.1 Operasi Dilasi dan Erosi[9]
Dilasi dan erosi merupakan proses operasi morfologi dalam pengolahan citra digital.
Operasi dilasi dilakukan untuk memperbesar ukuran segmen obyek, sedangkan operasi
erosi dilakukan untuk memperkecil ukuran segmen obyek.
Secara matematis, proses dilasi dapat dilihat pada Persamaan (2.2), sedangkan proses
erosi bisa dilihat pada Persamaan (2.3).
BASAD =),( (2.2)
BASAE =),( (2.3)
Dimana A merupakan objek yang akan didilasi/dierosi dengan objek S sebagai objek
yang mempunyai titik pusat.
Persamaan 2.2 menjelaskan bahwa arti dari dilasi merupakan proses penggabungan
titik-titik latar (0) menjadi bagian dari objek (1), berdasarkan strel (structuring element) S
yang digunakan.
Secara definisi, cara dilasi untuk setiap titik pada A, dilakukan hal berikut:
1. Letakkan titik poros S pada titik A tersebut
2. Beri angka 1 untuk semua titik yang terkena/tertimpa oleh struktu S pada posisi
tersebut
Operasi erosi adalah kebalikan dari operasi dilasi. Erosi merupakan proses
penghapusan titik-titik objek (1) menjadi bagian dari latar (0), berdasarkan strel
(structuring element) S yang digunakan. Persamaan 2.3 menjelaskan bahwa pada operasi
ini, ukuran obyek diperkecil dengan mengikis sekeliling obyek. Terdapat dua cara yang
dilakukan yaitu dengan mengubah semua titik batas menjadi titik latar dan dengan menset
semua titik di sekeliling titik latar menjadi titik latar.
Secara definisi, cara erosi untuk setiap titik pada A, dilakukan hal berikut:
1. letakkan titik poros S pada titik A tersebut
2. jika ada bagian dari S yang berada di luar A, maka titik poros dihapus/dijadikan
latar
Gambar 2.6 Citra masukan (kiri), hasil dilasi (tengah), hasil erosi (kanan)
11
Sama dengan fungsi dilate fungsi erode juga menggunakan (elemen penstruktur).
Gambar 2.7 Macam-macam elemen penstruktur (strel)[18]
2.6.2 Operasi Opening[18]
Operasi ini secara morfologi membuka citra biner dengan kata lain menghilangkan
objek tertentu. Dalam MATLAB fungsi yang digunakan adalah fungsi bwareaopen.
Fungsi tersebut menghilangkan objek biner yang saling terhubung yang memiliki jumlah
piksel dibawah piksel yang sudah ditentukan, kemudian memunculkan citra biner baru
tanpa objek yang ingin dihilangkan.
Gambar 2.8 Citra masukan (kiri), hasil bwareaopen dengan 50 piksel yang
terhubung dihilangkan (kanan)
12
2.7 Transformasi Hough[18]
Transformasi Hough adalah teknik ekstraksi fitur yang digunakan dalam proses
pengolahan citra digital. Transformasi Hough mengestimasi nilai parameter dengan
menggunakan mekanisme voting. Titik dalam kurva menyumbang suara untuk beberapa
kombinasi parameter. Parameter yang memperoleh suara terbanyak terpilih sebagai
pemenang (Local Maxima).
Pada awalnya Transformasi Hough diperkenalkan oleh Paul Hough tahun 1962 untuk
mendeteksi garis lurus pada sebuah citra. Pada tahun 1972 Transformasi Hough
dimodifikasi oleh Richard Duda dan Peter Hart yang dikenal dengan "Generalized Hough
Transform" dengan menggunakan parameter angle-radius dan slope-intercept.
2.7.1 Transformasi Hough Normal[25]
Transformasi Hough didefinisikan untuk fungsi A (x, y) sebagai:
( ) ( ) dxdyyxyxAH )sincos(,, =
(2.4)
di mana adalah fungsi delta-Dirac. Dengan A (x, y), setiap titik (x, y) dalam gambar
asli, A, berubah menjadi sincos yx += , dimana adalah jarak tegak lurus dari asal
garis pada sudut (sudut akan dibatasi untuk pi
13
threshold/T untuk ( ),H dan dengan menggunakan fungsi invers Hough, bisa diperoleh
gambar asli dengan garis yang terbentuk sejumlah T poin.
2.7.2 Transformasi Hough Diskrit[25]
Pada pemrosesan citra digital, dilakukan pendekatan secara diskrit dengan
melakukan sampling pada setiap komponennya. Citra digital dengan ukuran MxN,
memiliki komponen-komponen sebagai berikut [3]:
1,,1,0min
=+== Mmxmxxxm
K
(2.5)
1,,1,0min
=+== Nnynyyyn
K
(2.6)
1,,1,0min
=+== Tttt
K (2.7)
1,,1,0min
=+== Rrrr
K (2.8)
Transformasi Hough diskrit digunakan untuk pemrosesan citra digital dengan
melakukan sampling pada setiap komponen citra tersebut. Hough diskrit dapat
didefinisikan dengan persamaan berikut:
=m n
mnAH ])'[,(),( (2.9)
Dimana tanda kurung [] menunjukkan pembulatan ke integer terdekat, dan
sin)(cos)('minminyynxxm +++= (2.10)
Piksel yang diasumsikan memiliki jarak Dx dan Dy dalam arah x dan y. Fungsi delta-
Dirac didefinisikan sebagai:
[ ]( )', (2.11)
2.8 Lingkaran[19]
Lingkaran adalah tempat kedudukan titik-titik yang berjarak sama dari suatu titik
tetap. Titik tetap tersebut dinamakan pusat lingkaran. Suatu lingkaran memiliki persamaan
22
0
2
0)()( Ryyxx =+ (2.12)
1 = []
0
14
Dengan R adalah jari-jari lingkaran dan ),( 00 yx adalah koordinat pusat
lingkaran.Jika pusat lingkaran terdapat di (0,0) maka persamaan di atas dapat dituliskan
sebagai
222Ryx =+ (2.13)
Gambar 2.10 Lingkaran
Persamaan Lingkaran dapat pula dirumuskan dalam suatu persamaan parametrik,
yaitu
cos0
Rxx += (2.14)
sin0
Ryy += (2.15)
yang apabila dibiarkan menjalani t akan dibuat suatu lintasan berbentuk lingkaran dalam
ruang x-y.
2.9 Elips[18]
Elips didefinisikan sebagai kurva tertutup halus yang simetris terhadap sumbu
vertikal dan horizontalnya. Jarak antara 2 titik yang berlawanan letaknya, akan maksimum
pada sumbu mayornya dan akan minimum pada sumbu minornya.
Gambar 2.11 Parameter Elips
F1 dan F2 merupakan poin yang disebut fokus elips. Terletak pada sumbu mayor dan
sama jaraknya dari titik pusat. Jarak dari titik sembarang P terhadap dua titik fokus ini
selalu konstan yaitu sama dengan panjang sumbu mayornya ( )aPFPF 221=+ .
15
Eksentrisitas elips, yang biasanya dinotasikan dengan atau e, adalah rasio dari jarak
antara titik fokus terhadap panjang dari sumbu utama
a
f
a
b
a
bae =
=
==
2
2
22
1
(2.16)
eksentrisitas ini harus bernilai antara 0 dan 1, bernilai nol jika dan hanya jika a dan b
sama (lingkaran). Jika eksentrisitas elips cenderung ke 1 maka elips memiliki bentuk lebih
pipih melonjong.
Bentuk umum persamaan elips dengan titik pusat (0,0) adalah :
12
2
2
2
=+
b
y
a
x (2.17)
dimana a b, a dan b mempunyai tanda yang sama, tapi tidak sama besar. A merupakan
setengah dari panjang sumbu mayor dan b merupakan panjang sumbu minor, berlaku
sebaliknya.
Bentuk umum elips ini dapat diubah ke dalam bentuk standar elips dengan ( ),
adalah titik pusat elips selain (0,0) menjadi :
1)()(
2
2
2
2
=
+
b
y
a
x (2.18)
2.10 Derau (Noise)[9]
Noise (Derau) adalah citra atau gambar atau piksel yang mengganggu kualitas citra.
Derau (noise) dapat disebabkan oleh gangguan fisis (optik) pada alat akuisisi maupun
secara disengaja akibat proses pengolahan yang tidak sesuai. Pada beberapa pengolahan
citra, terkadang noise diperlukan untuk menguji performansi sistem, baik akurasi maupun
waktu komputasi yang diperlukan. Contoh adalah bintik hitam atau putih yang muncul
secara acak yang tidak diinginkan di dalam citra. bintik acak ini disebut dengan derau salt
& pepper.
16
BAB III
PERANCANGAN SISTEM
Secara umum sistem pendeteksian bangun komponen lingkaran atau elips dalam citra
yang dirancang dalam tugas akhir ini, dapat dilihat pada Gambar 3.1.
Gambar 3.1 Diagram alir cara kerja sistem
Untuk melakukan proses pendeteksian kurva tertutup, awalnya dilakukan akuisisi
citra atau proses mendapatkan citra. Citra berukuran 640x480 piksel ini nantinya
didapatkan lewat webcam atau kamera untuk hasil aktual dan untuk hasil teoretis
digunakan citra yang sudah disimpan dalam komputer. Setelah itu dilakukan tahap
preprocessing untuk mengurangi efek derau dan mendapatkan citra tepi elips atau
lingkaran berbentuk citra biner Setelah didapatkan citra tersebut, maka bisa dilakukan
tahap selanjutnya yaitu pemilihan deteksi. Dengan menggunakan Standard Hough
Transform, maka akan terbentuk hasil pengolahan tepi yang dihasilkan dari tahap
preprocessing.
Tahap tersebut akan mengklasifikasikan jenis bangun yang terdeteksi menjadi elips
atau lingkaran. Setelah itu dilakukan Transformasi Hough lagi dengan menggunakan
17
parameter berbeda untuk mendeteksi keberadaan lingkaran dan elips. Hasil yang
diharapkan kurva tertutup akan terdeteksi dan diketahui letaknya, dan sesuai dengan
dengan citra yang terlihat pada mata atau teoretis. Proses pengujian dilakukan dengan
tambahan-tambahan noise dalam citra masukan.
3.1 Masukan Sistem
Tahap pertama dalam cara kerja sistem ini adalah dengan memulai aplikasi yang
telah dibuat dengan menggunakan MATLAB R2009A. Kemudian kita masukan citra ke
dalam aplikasi tersebut. Berikut Beberapa kriteria masukan sistem:
8. Citra RGB dengan ukuran 640x480 piksel dan memiliki format *.bmp berlatar
putih
9. Citra masukan didapat melalui akuisisi dari web-cam atau kamera digital (untuk
hasil aktual), dan didapat dari file citra yang dibentuk dalam komputer untuk hasil
teoretis.
10. Masing-masing citra memiliki warna yang berbeda (merah, hijau, dan biru).
11. Penambahan derau yang dibangkitkan langsung dari MATLAB berupa
derau Gaussian, salt & pepper, speckle, dan poisson.
12. Citra masukan merupakan gambar lingkaran dengan minimum piksel
sebesar 50 pixel dan maksimal piksel bernilai 150 piksel baik aktual maupun ideal
(CorelDRAW) dan elips.
Gambar 3.2 Contoh citra input yang dibangkitkan oleh computer
Gambar 3.3 Contoh citra input yang di-capture dari web-cam
18
3.2 Derau/Gangguan[12]
Noise (Derau) adalah citra atau gambar atau piksel yang mengganggu kualitas citra.
Derau (noise) dapat disebabkan oleh gangguan fisis (optik) pada alat akuisisi maupun
secara disengaja akibat proses pengolahan yang tidak sesuai[9]. Pada beberapa pengolahan
citra, terkadang noise diperlukan untuk menguji performansi sistem, baik akurasi maupun
waktu komputasi yang diperlukan.
a. Gaussian, disebut juga Gaussian White Noise. Untuk menambahkan derau ini
pada MATLAB memerlukan masukan tambahan berupa rata-rata dan variasi.
Rata-rata dan variasi merupakan suatu konstanta real. Nilainya bisa positif
maupun negatif. Makin besar rata-rata dan variasinya maka citra akan semakin
kabur, sebaliknya makin kecil konstantanya efek pada citra makin tidak terlihat.
Nilai default adalah 0 untuk mean dan 0,01 untuk variance. Disebut white derau
karena pada saat nilai rata-rata dan variasinya besar maka citra seolah-olah hanya
terlihat seperti citra putih saja.
b. Salt & Pepper, untuk citra RGB titik-titik muncul dalam tiga warna yakni merah,
hijau dan biru, sedangkan pada citra grayscale, derau akan muncul dalam dua
warna yakni hitam dan putih. Derau ini memberikan efek on dan off pada
piksel. Pada MATLAB dapat diatur konstanta derau dengan range 0 sampai
dengan 1. Makin besar konstantanya citra akan semakin kabur, sebaliknya makin
kecil konstantanya efek pada citra makin tidak terlihat. Nilai default untuk
konstanta derau adalah 0,05.
c. Speckle, Speckle merupakan derau ganda. Derau ini ditambahkan pada citra
menggunakan persamaan 1*nIJ += , dimana n terdistribusi random seragam
dengan mean 0 dan variance V. V adalah konstanta non negative yang besarnya
dapat berubah-ubah. Default nilai untuk V adalah 0,04. Makin besar nilai V maka
citra akan semakin kabur.
d. Poisson, derau Poisson merupakan derau yang ditambahkan langsung pada citra
tanpa kita menambahkan parameter apapun, sehingga efeknya pada citra pun
tetap. Pada MATLAB, jika matrik citra adalah double precision, maka nilai piksel
masukannya dianggap sebagai mean dari distribusi Poisson dengan skala 1012.
Sebagai contoh jika piksel masukannya mempunyai nilai 5.5x10-12, maka piksel
keluaran akan dibangkitkan dari distribusi Poisson dengan mean 5,5 di
kembalikan lagi ke skala 1012. Jika matrik citra adalah single precision, maka
19
faktor skalanya menggunakan 106. Jika matrik citra adalah uint8 atau uint16,
maka nilai masukan piksel digunakan langsung tanpa faktor skala. Sebagai
contoh, jika masukan piksel uint8 mempunyai nilai 10, maka piksel keluaran akan
dibangkitkan dari distribusi Poisson dengan mean 10.
3.3 Pemrosesan Awal
Pemrosesan awal atau preprocessing adalah tahap untuk mempersiapkan citra hasil
akuisisi berupa frame RGB yang kemudian akan dijadikan binary frame atau black and
white. Tujuan dari tahap preprocessing ini diharapkan citra hasil keluaran memiliki noise
yang paling minimal agar bisa siap diolah ke tahap selanjutnya. Alur preprocessing
digambarkan dalam diagram alir berikut:
Gambar 3.4 Diagram blok preprocessing
Citra masukan RGB memiliki 3 layer yaitu layer merah, hijau, dan biru. Oleh karena
itu untuk memudahkan proses berikutnya, citra 3 layer tersebut pertama kali diproses
menjadi citra dengan model HSV (Hue, Saturation, Value). Model HSV dipilih karena
model tersebut Dalam penelitian ini, peneliti menggunakan ruang warna HSV. Hal ini
disebabkan HSV sangat cocok untuk mengidentifikasi warna-warna dasar, di mana warna
dasar ini digunakan dalam penelitian sebagai warna identifikasi robot. Selain itu, HSV
menoleransi terhadap perubahan intensitas cahaya[15].
20
Citra HSV kemudian bentuk citra biner (black & white) untuk lebih mempermudah
ke proses pendeteksian.
a. Pengisian (Fill). Tahap ini menggunakan fungsi imfill. Fungsi pengisian ini
bertujuan untuk mengisi bagian-bagian yang kosong di dalam area tertutup. Hal ini
diperlukan untuk menghindari celah kosong hasil proses pengubahan citra RGB ke citra
biner, bagian kosong dalam area tertutup sering terjadi di citra hasil akuisisi webcam,
misal karena efek cahaya yang kurang merata.
b. Pengikisan (Erode). Pengikisan pada MATLAB dapat dilakukan dengan fungsi
imerode. Erosi merupakan suatu metode untuk menipiskan objek. Pada tugas akhir
ini, erosi bertujuan untuk menghilangkan daerah yang tidak diinginkan untuk proses
lebih lanjut. Pada preprocessing ini digunakan erosi dengan strel disk dan jari-jari 10.
Elemen penstruktur disk dipilih karena objek yang dideteksi berupa kurva, sehingga
tujuan setelah melewati proses ini agar objek memiliki bentuk yang tidak berbeda dari
objek sebelumnya. Erosi ini cukup baik dalam menghilangkan spot putih/derau (bukan
citra utama) yang tersebar di sekitaran citra utama.
c. Opening. Fungsi yang digunakan yaitu bwareaopen. Fungsi ini bertujuan untuk
menghilangkan sekumpulan piksel dibawah batas tertentu. Pada tugas akhir kali ini,
batas piksel yang akan hilang adalah piksel yang saling terhubung dibawah 1000 piksel.
Proses ini membantu erosi apabila masih ada piksel derau yang tidak lolos hasil
pengikisan.
d. Penebalan (Dilation). Fungsi yang digunakan untuk penebalan dalam MATLAB yaitu
imfill. Penebalan/dilasi merupakan suatu metode untuk menebalkan objek. Setelah
dilakukan erosi untuk menghilangkan bagian-bagian yang bukan merupakan citra
utama, tentu ukuran citra utama juga akan mengecil. Maka dari itu, dibutuhkan proses
dilasi untuk menebalkan kembali citra utama. Pada preprocessing ini digunakan dilasi
dengan strel disk dengan jari-jari 10.
e. Deteksi Tepi (Edge Detection). Tahap ini menggunakan fungsi edge. Fungsi ini akan
mendeteksi tepi citra tergantung dari jenis deteksi tepi yang diinginkan. Deteksi tepi
pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari obyek citra.
Deteksi tepi yang digunakan dalam preprocessing ini adalah tipe canny.
f. Penipisan Tepi (Edge Thinning). Tahap ini menggunakan fungsi bwmorph dengan
operasi yang digunakan adalah thin. Operasi ini menipiskan objek menjadi sebuah
garis. Proses ini membuat piksel hasil deteksi tepi menjadi hanya 1 yang saling
21
terhubung. Proses ini diperlukan untuk meningkatkan akurasi deteksi posisi dengan
Transformasi Hough, agar letak objek semakin tepat.
Gambar 3.5 Tahap pemrosesan awal (preprocessing) berdasarkan gambar
3.4 Algoritma Transformasi Hough Standar (SHT)
Transformasi Hough bisa digambarkan sebagai transformasi dari sebuah titik dalam
daerah 2D kedalam ruang parameter, tergantung bentuk objek yang mau diidentifikasi.
Dasar fungsi Transformasi Hough adalah untuk mendeteksi garis lurus. Garis lurus
dibidang x,y dilukiskan sebagai
bxmy += *
(3.1)
Garis ini direpresentasikan di sistem koordinat kartesian dengan parameternya b dan
m, dimana m adalah slope (gradien) dan b sepagai intercept (pintasan). Faktanya adalah,
apabila terdapat garis yang tegak lurus terhadap sumbu horizontal bisa memberikan nilai
yang tak hingga untuk parameter m dan b, maka garis diubah parameternya dalam rho(r)
dan theta(), menjadi :
)sin(*)cos(* yx +=
],0[ piuntuk
(3.2)
22
Gambar 3.6 Representasi persamaan garis parameter rho(r), theta
Dimana r (rho) adalah jarak garis dengan titik origin, adalah sudutnya. Jadi
diberikan nilai x dan y, untuk setiap garis yang melalui titik (x,y) secara unik bisa
direpresentasikan dengan (, r). dan r memiliki ukuran yang berhingga. Nilai r punya
nilai maksimum 2 kali diagonal citra.
Sebuah proses deteksi tepi dibutuhkan untuk menyediakan sekumpulan piksel/titik
yang merepresentasikan batas dari sebuah ruang citra. Persamaan (3.1) berkorespondensi
dengan kurva sinusoidal dalam ruang (r, ). Jika beberapa titik terdapat dalam sebuah garis
yang sama, titik tersebut memproduksi sinusoid yang saling bersilangan dalam ruang
parameter garis tersebut.
Gambar 3.7 Contoh implementasi Standard Hough Transform (1)
Pada Transformasi Hough, pertama sebuah tabel atau array yang disebut akumulator
digunakan untuk mendeteksi keberadaan sebuah garis bxmy += * . Dengan kata lain,
akumulator tersebut menghitung voting untuk sekumpulan nilai parameter m dan b.
Transformasi Hough kemudian melanjutkan ke proses voting untuk menentukan piksel
mana yang kiranya adalah tepi dari citra. Jika ada nilai yang sudah cukup memungkinkan
23
piksel tersebut adalah sebuah tepi, maka tambahkan nilai parameter yang berkorespondensi
dengan garis tersebut, yang akan menyebabkan garis tersebut akan tampil di citra tepi.
Sebagai contoh gambar 3.7. tiap titik di gambar tersebut adalah titik dalam citra tepi.
Anggap ada beberapa garis yang melewati titik tersebut. 1 garis dimulai dari titik origin
(pusat) dan terletak tegak lurus terhadap garis utama kemudian di gambar. Panjang dan
sudut dari garis yang terbentuk itu dihitung dan di masukkan ke tabel yang terletak masih
di gambar 3.7.
Gambar 3.8 Contoh implementasi Standard Hough Transform (2)
Grafik di gambar 3.8 menunjukkan bagaimana perbedaan panjang berhubungan
dengan sudut yang berbeda pula. Titik ungu adalah titik yang menunjukkan dimana kurva
sinusoid saling bersilangan. Nilai dari parameter (sudut dan jarak) dari kurva yang
bersilangan tersebut dimasukkan ke dalam tabel untuk penelitian lebih lanjutnya seperti
rekonstruksi garis. Objek yang terdeteksi adalah objek yang mengumpulkan vote terbanyak
atau merupakan local maxima dari accumulator array.
Gambar 3.9 Local Maxima Hasil Transformasi Hough
Warna terang pada Transformasi Hough, menunjukkan nilai Local Maxima. Pada
Gambar 3.9 terdapat beberapa nilai puncak. Hal ini menunjukkan adanya beberapa jumlah
garis.
24
3.5 Analisis SHT dalam Membedakan Elips dan Lingkaran
Berikut adalah diagram alir dari proses pengklasifikasian :
Mulai
Masukan (Hasil Algoritma
Transformasi Hough Standar )
Penghitungan Jarak Piksel
Atas dengan Piksel Bawah
Analisis Standar Deviasi
(STDEV)
Klasifikasi hasil STDEV
e0,8 = Lingkaran
e>0,8 = Elips
Selesai
Gambar 3.10 Diagram alir proses pendeteksian dan pengklasifikasian
Untuk melakukan pengkalsifikasian objek penulis menerapkan Standard Hough
Transform atau dalam fungsi MATLAB nya adalah fungsi hough. Fungsi ini seperti
yang telah dijelaskan diatas, akan mengubah tiap-tiap piksel yang terdapat dalam citra tepi
menjadi parameter ( , ).
Gambar 3.11 Hasil Transformasi Hough standar terhadap citra lingkaran
Gambar 3.12 Hasil Transformasi Hough standar terhadap citra elips
25
Setelah mendapatkan hasil Transformasi Hough standar tersebut, untuk mata
manusia dapat melihat secara jelas bahwa terlihat perbedaan jarak kurva sinusoidal yang
signifikan antara deteksi elips dan lingkaran. Lingkaran cenderung memiliki pola
sinusoidal yang sama. Sedangkan elips memiliki pola sinusoidal yang lebih cekung. Hal ini
disebabkan oleh jarak origin atau titik pusat menuju piksel tepi apabila saat mendeteksi
lingkaran, pola piksel tepi lingkaran cenderung lebih teratur daripada elips.
Hasil Transformasi Hough kemudian akan di ekstraksi lagi, tujuannya agar bisa
dilakukan penghitungan perbedaan jarak piksel paling atas hasil ekstraksi dengan piksel
paling bawah hasil ekstraksi tersebut. Karena perbedaan terletak pada bagian kolom, maka
penghitungan dilakukan sampai semua piksel kolom dihitung.
Gambar 3.13 Hasil Ekstraksi Transformasi Hough
Hasil penghitungan tersebut berupa data-data jarak piksel atas ke piksel bawah. Oleh
karena itu, penulis menggunakan metode standar deviasi untuk mengklasifikasikan elips
dan lingkaran. Standar deviasi[22] adalah salah satu metode statistik yang digunakan untuk
menjelaskan homogenitas kelompok
=
=
n
i
ixx
nS
1
2)(1
1
(3.3)
Dimana:
ix = data ke i
x = nilai rata-rata sampel
n = banyaknya data
Untuk lingkaran diestimasi memiliki standar deviasi mendekati nol, ini dikarenakan
data perbedaan jarak piksel atas dan piksel bawah hasil ekstraksi Transformasi Hough
mendekati sama semua. Sedangkan untuk elips, data standar deviasi harusnya besar karena
data jarak piksel atas dan piksel bawahnya bervariasi.
26
Berikut rentang standar deviasi dan nilai puncak yang digunakan untuk membedakan
elips dan lingkaran.(rentang ini didapat dari hasil percobaan):
Standar deviasi 0.8 = Elips
3.6 Proses Deteksi Letak Posisi dan Rekonstruksi Elips dan Lingkaran
Setelah melewati proses pendeteksian jenis bangun yang ingin dideteksi, maka
proses selanjutnya adalah proses pendeteksian letak posisi dan rekonstruksi elips atau
lingkaran dari citra masukan.
Pada penelitian tugas akhir ini dilakukan algoritma 2 jenis pengembangan algoritma
Transformasi Hough (MHT). Di penelitian tugas akhir ini, apabila yang terdeteksi dalam
tahap klasifikasi adalah bangun lingkaran, maka Transformasi Hough untuk mendeteksi
lingkaran (Circular Hough Transform) diaktifkan. Sedangkan apabila yang terdeteksi
dalam tahap klasifikasi adalah bangun elips, maka Transformasi Hough untuk
pendeteksian Elips (Elliptical Hough Transform) diaktifkan. Fungsi Transformasi Hough
untuk deteksi Elips ini sudah dioptimasi sedemikian rupa agar dapat mendeteksi elips lebih
cepat.
3.6.1 Analisis Algoritma Transformasi Hough dalam mendeteksi Lingkaran[3]
Diagram alir dari proses Algoritma Transformasi Hough untuk mendeteksi dan
merekonstruksi lingkaran adalah sebagai berikut :
Gambar 3.14 Diagram alir Algoritma Transformasi Hough untuk mendeteksi dan
merekonstruksi lingkaran
Mengacu pada persamaan 2.13, persamaan lingkaran dengan sebagai pusat
lingkaran, dapat dibentuk menjadi persamaan 2.14 dan 2.15. Dimana (x0.y0) adalah titik
pusat lingkaran dan r adalah jari-jari atau radius lingkaran. Biasanya untuk mengurangi
waktu komputasi, jari-jari (r) diatur dalam inisialisasi algoritma/ditentukan terlebih dahulu.
Akan tetapi karena pada tugas akhir ini diperlukan sebuah algoritma yang dapat
27
mendeteksi secara otomatis, maka nilai jari-jari nilainya tidak diketahui. Oleh karena itu,
nilai jari-jari akan dicoba dalam rentang 40-170 piksel.
Algoritma dalam mendeteksi lingkaran dan proses rekonstruksi adalah sebagai
berikut :
1. Untuk setiap piksel tepi, sebuah lingkaran dibentuk dengan piksel tersebut sebagai
titik pusat dan radius (r).
2. Transformasi Hough untuk lingkaran ini menggunakan array 3 Dimensi, 2 Dimensi
pertama merepresentasikan koordinat untuk titik pusat lingkaran dan dimensi terakhir
adalah radius lingkaran.
3. Nilai array tersebut meningkat setiap lingkaran terbentuk dengan jari-jari tertentu
untuk semua piksel tepi.
4. Array tersebut menghitung berapa banyak lingkaran yang melewati koordinat piksel
tepi, dan lanjut ke proses voting untuk menemukan nilai tertinggi.
5. Koordinat origin lingkaran dalam gambar adalah koordinat dengan nilai tertinggi
dalam array.
Dibawah ini adalah hasil algoritma Transformasi Hough dalam mendeteksi lingkaran
Gambar 3.15 Hasil rekonstruksi dengan algoritma Transformasi Hough untuk
lingkaran
Pada gambar pertama merupakan citra tepi hasil preprocessing. Tahap selanjutnya,
dengan menggunakan algoritma yang sudah dipaparkan di atas, maka penumpukan terletak
di pusat lingkaran (gambar tengah), berbeda dengan Standard Hough Transform,
penumpukan ini bukan mencerminkan garis yang terdapat dalam citra tepi, melainkan titik
pusat sebuah lingkaran.
Nantinya parameter local maxima yang didapat dari proses Transformasi Hough
lingkaran ini, akan dilanjutkan ke proses rekonstruksi (gambar kanan), sekilas tidak ada
perbedaan dengan citra masukan. Sebenarnya gambar tersebut adalah hasil deteksi dengan
28
Transformasi Hough yang dilapiskan (superimposed) terhadap citra masukan. Terlihat dari
pinggir citra masukan yang seharusnya hitam, tetapi dilapisi garis berwarna merah. Pada
tahap ini akan terlihat posisi letak lingkaran yang tepat terhadap hasil rekonstruksi dari
Transformasi Hough.
3.6.2 Analisis Algoritma Transformasi Hough dalam mendeteksi Elips[14]
Untuk Elips yang sembarang, ada 5 parameter yang tidak diketahui, ),(00yx untuk
titik pusat elips, untuk orientasi elips, ),( ba untuk sumbu mayor dan sumbu minornya.
Berikut adalah diagram alir untuk proses deteksi posisi dan rekonstruksi elips :
Gambar 3.16 Diagram alir Algoritma Transformasi Hough untuk mendeteksi dan
merekonstruksi elips
Untuk setiap pasang piksel ),(11yx dan ),(
22yx dimisalkan kedua titik itu adalah 2
titik pada ujung sumbu mayor elips, kemudian kita hitung 4 parameter untuk elips yang
diiinginkan dengan persamaan sebagai berikut :
2
)(21
0
xx
x
+
= (3.4)
2
)(21
0
yyy
+
= (3.5)
2
])()[(2
21
2
21yyxx
a+++
= (3.6)
+
+=
)(
)(tan
21
211
yy
xx
(3.7)
Dimana ),(00yx adalah titik pusat dari elips yang di cari, a adalah separuh panjang
dari sumbu mayor dan merupakan orientasi elips.
29
Gambar 3.17 Geometri sebuah Elips
Gambar 3.15 merupakan geometri sebuah elips. 1f dan
2f merupakan fokus dari
elips. Fokus elips adalah 2 titik spesial di sebuah sumbu mayor elips dan memiliki jarak
yang sama jauhnya dari titik pusat. ),( yx merupakan titik ketiga untukmenghitung
parameter kelima. Jarak antara titik ),( yx dan ),(00yx akan lebih sedikit daripada jarak
antara ),(11yx dan ),(
00yx atau antara ),(
22yx dan ),(
00yx . Jadi setengah dari sumbu
minor bisa diestimasi dengan persamaan sebagai berikut :
)cos(
)sin(222
222
2
da
dab
=
(3.8)
Dimana cos adalah
+=
ad
fda
2cos
222
(3.9)
Secara konsisten dengan menggunakan persamaan (3.4)-(3.9) memungkinkan untuk
menghitung kelima parameter sebuah elips. Karena voting hanya dibutuhkan untuk
menentukan setengah panjang sumbu minor, maka array yang digunakan untuk deteksi
elips ini adalah array 1 Dimensi. Jika voting telah mencapai batas ambang (threshold),
maka sebuah elips ditemukan dan tampilkan seluruh parameter elips hasil deteksi tersebut.
Algoritmanya dalam mendeteksi elips dan proses rekonstruksi adalah sebagai
berikut:
1. Masukkan seluruh piksel tepi hasil tahap preprocessing kedalam sebuah array 1 D.
2. Kosongkan array akumulator.
3. Untuk setiap piksel ),(11yx maka lakukan tahap 4 sampai 14.
30
4. Untuk setiap piksel lainnya ),(22yx , jika jarak ),(
11yx dan ),(
22yx lebih besar dari
jarak yang dibutuhkan setidaknya untuk sepasang piksel yang dipertimbangkan,
maka lakukan tahap 5 sampai tahap 14.
5. Untuk setiap pasang ),(11yx dan ),(
22yx gunakan persamaan (3.4)-(3.7) untuk
menemukan titik pusat dan orientasi elips dan sumbu mayornya.
6. Untuk setiap piksel ketiga ),( yx , jika jarak antara ),( yx dan ),(00yx lebih besar dari
jarak yang dibutuhkan setidaknya untuk sepasang piksel yang dipertimbangkan,
maka lakukan tahap ke-7 sampai 9.
7. Gunakan persamaan (3.8) dan (3.9) untuk menghitung panjang sumbu minor.
8. Tambahkan array akumulator untuk panjang sumbu minor dengan 1.
9. Lakukan perulangan sampai seluruh piksel terhitunguntuk pasangan piksel ini.
10. Temukan nilai maksimum dalam array akumulator. Nilai tersebut menunjukkan
panjang sumbu minor elips yang ingin dideteksi.
11. Tampilkan seluruh parameter elips yang didapat.
12. Hilangkan piksel pada elips yang terdeteksi dari array piksel tepi.
13. Kosongkan array akumulator.
14. Lakukan perulangan sampai seluruh piksel terhitung.
15. Lakukan pelapisan elips yang terdeteksi dengan citra masukan.
16. Selesai.
Berikut adalah hasil rekonstruksi algoritma Transformasi Hough dalam mendeteksi
Elips
Gambar 3.18 Hasil rekonstruksi algoritma Transformasi Hough untuk elips
Gambar pertama adalah citra masukan, gambar tengah adalah hasil deteksi tepi
setelah melewati tahap preprocessing. Gambar paling kiri adalah contoh elips hasil deteksi
yang ditandai dengan warna merah yang dilapiskan (superimposed) terhadap citra
masukan.
31
BAB IV
ANALISIS HASIL SIMULASI
4.1 Proses Pengujian
Pada tugas akhir ini, sistem pendeteksi kurva tertutup lingkaran elips
diimplementasikan dengan menggunakan perangkat keras dan perangkat lunak untuk
membantu proses simulasi dan analisis sistem. Adapun uraian spesifikasi perangkat
tersebut adalah sebagai berikut:
a. Perangkat Keras
Prosesor : Intel(R) Core(TM) 2 Duo CPU [email protected]
Memori : 3072MB RAM
Tipe Sistem : 32-bit Operating System
VGA On Board : Intel GMA 4500MHD 128 Mb
Monitor : 14.0 Widescreen, Resolusi 1366x768
b. Perangkat Lunak
Sistem operasi Microsoft Windows 7 Professional
Bahasa pemrograman MATLAB versi R2009A
c. Webcam
Logitech, 2.1MP. Resolusi 640x480 piksel
Pada tugas akhir ini diujikan citra digital dengan rincian sebagai berikut
Gambar 4.1 Rincian citra input
Tiap-tiap Citra masukan diproses oleh perangkat lunak yang telah diimplementasikan
lewat MATLAB. Keluaran dari perangkat lunak itu berupa parameter dari elips dan
32
lingkaran yang terdeteksi dan rekonstruksi dari elips atau lingkaran tersebut. Selain itu juga
diketahui termasuk jenis bangun apa yang terdeteksi. Keluaran dinyatakan benar jika hasil
deteksi perangkat lunak sama dengan citra yang diketahui oleh penglihatan secara teoretis.
Presentasi keberhasilan diukur dari jumlah keluaran perangkat lunak yang benar dibagi
jumlah masukan dikali 100%.
%100xinputjumlah
benarjumlahakurasi =
(4.1)
Selain itu dibandingkan waktu komputasi untuk setiap kategori citra. Kemudian
dapat diambil kesimpulan dari pengujian yang telah dilakukan. Pengujian tersebut
dilakukan berulang dengan tambahan derau yang dibangkitkan MATLAB (Gaussian, Salt
& Pepper, Speckle, dan Poisson) untuk menguji keandalan sistem.
4.2 Deteksi pada Citra yang Dibangkitkan Komputer
Pada citra yang dibangkitkan dari komputer (menggunakan CorelDRAW X5), untuk
lingkaran didapatkan hasil uji yang terlampir pada lampiran A.1. Dari hasil pengujian
terhadap 27 citra lingkaran, dapat diketahui bahwa:
1. Jumlah error dalam melakukan pendeteksian jenis bangun = 0, sehingga
akurasinya 100%.
2. Jumlah error dalam melakukan pendeteksian posisi dan rekonstruksi = 0,
sehingga akurasinya 100%
3. Waktu komputasi rata-rata=4,628 detik, dengan waktu paling singkat 2,609 detik
dan waktu terlama 6,726 detik
Sementara, pada citra elips didapatkan hasil uji yang terlampir pada lampiran A.2.
dari hasil pengujian terhadap 27 citra elips, dapat diketahui bahwa:
1. Jumlah error dalam melakukan pendeteksian jenis bangun = 0, sehingga
akurasinya 100%.
2. Jumlah error dalam melakukan pendeteksian posisi dan rekonstruksi = 0,
sehingga akurasinya 100%.
3. Waktu komputasi rata-rata= 0,516 detik, dengan waktu paling singkat 0,268 detik
dan waktu terlama 0,799 detik.
33
Gambar 4.2 Grafik perbandingan persentasi akurasi citra komputer
Sehingga dapat disimpulkan bahwa dari 54 gambar yang dibangkitkan dari komputer
yang diujikan. Dapat diketahui bahwa:
1. Jumlah error dalam mendeteksi jenis bangun (lingkaran atau elips) = 0, sehingga
akurasinya 100%
2. Jumlah error dalam mendeteksi letak atau posisi setelah rekonstruksi = 0,
sehingga akurasinya 100%.
3. Waktu komputasi rata-rata dalam menggunakan Transformasi Hough deteksi
lingkaran adalah 4,628 detik dengan waktu paling singkat 2,609 detik dan waktu
terlama 6,726 detik.
4. Waktu komputasi rata-rata dalam menggunakan Transformasi Hough deteksi
Elips 0,516 detik, dengan waktu paling singkat 0,268 detik dan waktu terlama
0,799 detik.
4.3 Deteksi pada Citra yang di-capture Webcam
Pada citra yang di-capture oleh webcam, didapatkan hasil uji yang terlampir pada
lampiran A.3. Dari hasil pengujian terhadap 27 citra lingkaran, dapat diketahui bahwa:
1. Jumlah error dalam melakukan pendeteksian jenis bangun = 5, sehingga
akurasinya 81,48%.
2. Jumlah error dalam melakukan pendeteksian posisi dan rekonstruksi = 0,
sehingga akurasinya 100%.
3. Waktu komputasi rata-rata= 5,093 detik, dengan waktu paling singkat 0,269 detik
dan waktu terlama 7,563 detik.
Sementara, pada citra elips didapatkan hasil uji yang terlampir pada lampiran A.2.
dari hasil pengujian terhadap 27 citra elips, dapat diketahui bahwa:
80%
85%
90%
95%
100%
Jenis Posisi
Pe
rse
nta
si A
ku
rasi
Kategori
Lingkaran
Elips
34
1. Jumlah error dalam melakukan pendeteksian jenis bangun = 0, sehingga
akurasinya 100%.
2. Jumlah error dalam melakukan pendeteksian posisi dan rekonstruksi = 0,
sehingga akurasinya 100%.
3. Waktu komputasi rata-rata= 0,672 detik, dengan waktu paling singkat 0,264 detik
dan waktu terlama 1,145 detik.
Gambar 4.3 Grafik perbandingan persentase akurasi citra webcam
Sehingga dapat disimpulkan bahwa dari 54 gambar yang di-capture dari webcam
yang diujikan. Dapat diketahui bahwa:
1. Jumlah error dalam mendeteksi jenis bangun (lingkaran atau elips) = 0, sehingga
akurasinya 100%
2. Jumlah error dalam mendeteksi letak atau posisi setelah rekonstruksi = 0,
sehingga akurasinya 100%.
3. Waktu komputasi rata-rata dalam menggunakan Transformasi Hough deteksi
lingkaran (CHT) adalah 3,060 detik, dengan waktu paling singkat 2,056 detik dan
waktu terlama 4,232 detik
4. Waktu komputasi rata-rata dalam menggunakan Transformasi Hough deteksi
Elips (EHT) 0,264 detik, dengan waktu paling singkat 0,158 detik dan waktu
terlama 0,799 detik
4.4 Analisis Hasil Deteksi dan Kesalahan pada Citra Komputer dan Webcam
Secara keseluruhan dari 108 citra digital yang diujikan, dapat diketahui rincian hasil
deteksi pada tabel 4.1
20%
40%
60%
80%
100%
Jenis Posisi
Pe
rse
nta
si A
ku
rasi
Kategori
Lingkaran
Elips
35
Tabel 4.1 Perbandingan Hasil Uji Deteksi Lingkaran dan Elips
Parameter Komputer Webcam
Lingkaran Elips Lingkaran Elips
Jumlah Citra Uji 27 27 27 27
Jumlah Error Jenis bangun 0 0 5 0
Akurasi Jenis Bangun 100% 100% 81,84% 100%
Jumlah error posisi 0 0 0 0
Akurasi posisi 100% 100% 100% 100%
Waktu Komputasi rata-rata (s) 4,628 0,516 5,093 0,672
Waktu Komputasi Minimum (s) 2,609 0,268 0,269 0,264
Waktu Komputasi Maksimum (s) 6,726 0,799 7,563 1,145
Berdasarkan tabel tersebut, dapat disimpulkan:
1. Jumlah error dalam mendeteksi jenis bangun sebanyak 5, sehingga akurasi dalam
p