transformasi haugh

Upload: hadratul-hendra

Post on 15-Oct-2015

133 views

Category:

Documents


1 download

TRANSCRIPT

  • 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