DETEKSI KESIKUAN DAN KECACATAN KERAMIK
MENGGUNAKAN METODE TRANSFORMASI HOUGH
TUGAS AKHIR
Disusun oleh :
AMELIA KUSUMA WARDANI
NPM. 0934010199
J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
DETEKSI KESIKUAN DAN KECACATAN KERAMIK MENGGUNAKAN METODE TRANSFORMASI HOUGH
Disusun Oleh :
AMELIA KUSUMA WARDANI NPM. 0934010199
Telah dipertahankan dihadapkan dan diterima oleh Tim Penguji Skr ipsi Pr ogram Studi Teknik Infor matika Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional “Veteran” J awa Timur Pada Tanggal 13 J uni 2014
Mengetahui,
Dekan Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional ”Veteran” J awa Timur
Ir. Sutiyono, MT NIP. 19600713 198703 1 001 Pembimbing :
DETEKSI KESIKUAN DAN KECACATAN KERAMIK MENGGUNAKAN METODE TRANSFORMASI HOUGH
Disusun Oleh :
AMELIA KUSUMA WARDANI NPM. 0934010199
Telah disetujui mengikuti Ujian Negara Lisan Gelombang VTahun Akademik 2013/2014
Menyetujui,
Pembimbing Utama Pembimbing Pendamping
Intan Yuniar P., S.Kom, M.Sc Wahyu S. J . Saputr a, S.Kom, M.Kom NPT. 3 8006 04 0198 1 NPT. 3 8608 10 0295 1
Mengetahui,
Ketua J urusan Teknik Infor matika Fakultas Teknologi Industri UPN ”Veteran” J awa Timur
UCAPAN TERIMA KASIH
Ucapan terima kasih ini kami persembahkan sebagai perwujudan rasa syukur atas
terselesaikannya Skripsi. Ucapan terima kasih ini kami tujukan kepada :
1. Allah SWT, karena berkat rahmat dan berkahNya penulis dapat menyusun dan
menyelesaikan Tugas Akhir ini hingga selesai.
2. Bapak dan Ibu tercinta, serta keluarga tersayang, terima kasih atas semua doa,
dukungan serta harapan-harapannya pada saat penulis menyelesaikan Tugas
Akhir ini.
3. Bapak Ir. Sutiyono, MS selaku Dekan Fakultas Teknologi Industri. Serta Ibu
Dr. Ir. Ni Ketut Sari, MT selaku ketua jurusan Teknik Informatika, UPN
“Veteran” Jawa Timur.
4. Ibu Intan Yuniar Purbasari, S.Kom, M.Sc dan Bapak Wahyu S.J. Saputra,
S.Kom, M.Kom selaku Dosen Pembimbing yang telah meluangkan begitu
banyak waktu, tenaga dan pikiran serta dengan sabar membimbing penulis dari
awal hingga Laporan Tugas Akhir ini dapat terselesaikan.
5. Mas Ahmad Fashiha Hastawan, mentor virtual yang dengan kesabarannya telah
banyak membantu dan membimbing penulis dalam menyelesaikan Tugas Akhir
ini.
6. Wahyu, Mas Rully, Mas Asep, dan Febi yang telah berjasa banyak
menyumbangkan ide, saran dan sarana untuk penulis selama mengerjakan
7. Gadang, Firna, Kanti, Siska, Mas Nyo, Bang Satrio, Idham, Gabo, Lutfi, Man,
Adi, Umam, Arka, Radit, David, serta teman-teman Informatic Dhe lainnya
yang sudah mensupport dan menemani penulis selama masa kuliah.
8. Nuning dan Dindit —teman akrab yang laiknya saudara— yang banyak
memberi dukungan moril untuk penulis selama masa perjuangan di Surabaya,
pun sampai saat ini.
9. Meme, Kaksim, Ucup, Rijal, dan Kopral —teman-teman piknik seperjuangan
yang selalu dan selalu mengingatkan untuk segera merampungkan Tugas Akhir
ini.
10. Radiohead, Coldplay, Explosions in the Sky, Sigur Rós, First Aid Kit, The
Smiths, The Strokes, Efek Rumah Kaca, Pure Saturday, Dialog Dini Hari, Sore,
Float, The Trees and The Wild serta musisi-musisi lainnya yang banyak
menemani penulis melalui musik yang tak pernah jenuh diputar selama proses
Syukur Alhamdulillahi Rabbil ‘Alamin terucap ke hadirat Allah SWT atas segala limpahan Kekuatan-Nya sehingga dengan segala keterbatasan waktu, tenaga, pikiran dan keburutungan yang dimiliki peneliti, akhirnya peneliti dapat menyelesaikan Skripsi Yang berjudul “Deteksi Kesikuan dan Kecacatan Keramik Menggunakan Metode Transfomasi Hough” tepat waktu.
Skripsi dengan beban 4 SKS ini disusun guna di ajukan sebagai salah satu syarat untuk menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika, Fakultas Teknologi Industri, UPN “Veteran “ Jawa Timur.
Melalui Skripsi ini peneliti merasa mendapatkan kesempatan emas untuk memperdalam ilmu pengetahuan yang diperoleh selama di bangku perkulihan, terutama berkenaan tentang penerapan teknologi perangkat bergerak, Namun, penyusun menyadari bahwa Skripsi ini masih jauh dari sempurna. Oleh karena itu penyusun sangat mengharapkan saran dan kritik dari para pembaca untuk pengembangan aplikasi lebih lanjut.
Surabaya, April 2014
DAFTAR ISI
Halaman
ABSTRAK ... i
KATA PE NGANTAR ... ii
UCAPAN TERIMA KASIH ... iii
DAFTAR ISI ... v
1.6. Metodelogi Penelitian ... 4
1.7. Sistematika Penulisan ... 5
BAB II TINJ AUAN PUSTAKA ... 7
2.1. Penelitian Terdahulu ... 7
2.2. Artifical Intelligence ... 7
2.3. Image ... 8
2.4. Computer Vision ... 9
2.5. Pengolahan Citra Digital ... 13
2.5.1. Grayscale ... 16
2.5.2. Thresholding ... 16
2.5.3. Segmentasi Citra ... 19
2.5.5. Metode Canny ... 22
2.6. Transformasi Hough ... 23
2.6.1. Fungsi Garis ... 25
2.6.2. Array Akumulator ... 25
2.7. Matlab ... 27
BAB III METODOLOGI PENELITIAN ... 29
3.1. Data Set... 29
3.2. Analisis Data ... 29
3.3. Gambaran Aplikasi secara Umum ... 30
3.4. Perancangan Proses. ... 33
3.4.1. Grayscale ... 33
3.4.2. Thresholding. ... 34
3.4.3. Deteksi Tepi Canny... 35
3.4.4. Transformasi Hough. ... 36
3.4.5. Perhitungan Sudut. ... 39
3.5. Perancangan Tampilan Antarmuka. ... 40
BAB IV HASIL DAN PEMBAHASAN ... 43
4.1. Kebutuhan Hardware dan Software ... 43
4.2. Implementasi Data ... 44
4.3. Implementasi Antarmuka ... 44
4.4. Implementasi Proses ... 45
4.4.1. Proses Pilih Image. ... 45
4.4.2. Proses Deteksi Kesikuan dan Kecacatan. ... 46
4.5. Uji Program ... 47
4.5.1. Skenario Uji Program. ... 48
4.5.2. Pelaksanaan Uji Coba... 48
4.6. Analisa Aplikasi. ... 50
4.6.2. Pengujian Validitas Aplikasi……….…58
BAB V KESIMPULAN DAN SARAN ... 59
5.1. Kesimpulan ... 59
5.2. Saran ... 60
Penyusun : Amelia Kusuma War dani
Pembimbing I : Intan Yuniar Pur basar i, S.Kom, M.Sc
Pembimbing II : Wahyu S. J . Saputr a, S.Kom, M.Kom
ABSTRAK
Sistem computer vision yang handal diperlukan untuk melakukan sistem pengenalan yang konsisten terhadap beberapa kemungkinan gangguan, terutama untuk pengenalan objek yang memiliki karakter khusus, seperti deteksi kesikuan dan kecacatan keramik. Dengan salah satu metode yang diterapkan adalah dengan menggunakan Transformasi Hough.
Transformasi Hough adalah teknik ekstraksi fitur yang digunakan dalam proses pengolahan citra digital. Transformasi Hough menggunakan voting untuk menentukan garis. Untuk memilih lebih dari 1 garis, maka perlu memberikan nilai ambang batas (threshold) karena memang yang dibutuhkan adalah observasi terhadap nilai threshold yang diberikan. Untuk mendeteksi garis dengan cara menemukan semua garis yang ditentukan oleh dua buah piksel. Garis yang terdeteksi akan diketahui titik ujung dan titik pangkalnya dan dari titik-titik tersebut dihitung koefisien sudut dari dua garis yang saling tegak lurus untuk menentukan apakah suatu sudut keramik siku atau cacat.
Dari hasil pengujian sistem terhadap 30 citra, prosentase keberhasilan mencapai 100%. Hal ini menunjukkan bahwa sistem pengenalan yang telah dirancang ini berjalan dengan baik sesuai harapan perancang sistem. Namun tidak dapat dipungkiri terdapat beberapa faktor-faktor yang sangat mempengaruhi dalam hasil pengenalan terhadap citra keramik tersebut, seperti tingkat kecerahan, hasil deteksi tepi citra, hasil deteksi Transformasi Hough serta penentuan parameter toleransi perbedaan piksel dan panjang toleransi sudut.
PENDAHULUAN
1.1. Latar Belakang
Keramik pada awalnya berasal dari bahasa Yunani keramikos yang artinya suatu bentuk dari tanah liat yang telah mengalami proses pembakaran. Kamus dan ensiklopedia tahun 1950-an mendefinisikan keramik sebagai suatu hasil seni dan teknologi untuk menghasilkan barang dari tanah liat yang dibakar seperti gerabah, genteng, tembikar dan sebagainya. Tetapi saat ini tidak semua keramik berasal dari tanah liat. Definisi pengertian keramik terbaru mencakup semua bahan bukan logam dan anorgamik yang berbentuk padat. (Yusuf, 1998:2). Menurut Kamus Besar Bahasa Indonesia keramik memiliki arti barang-barang yang terbuat dari tanah liat, dicampur dengan bahan-bahan lain dan kemudian dibakar barang tembikar (porselen).
pengolahan citra. Perkembangan teknologi industri yang semakin canggih dan pengolahan citra yang sudah maju saat ini dapat diterapkan pada permasalahan pengklasifikasian kualitas keramik tersebut.
Penentuan kualitas keramik didasarkan pada sedikit banyaknya cacat yang teridentifikasi. Terdapat 2 kategori umum cacat keramik yaitu cacat permukaan (shadding, bertumpuk, bintik hitam, bubbles, cooling crack, crawling/cakar ayam, gelombang, glazur/terkelupas, goresan, pin holes, powdering, retak biskuit, tetesan air, masa melekat dan stempel kotor) dan cacat dimensi (ketebalan, kedataran permukaan, kesikuan dan kelurusan sisi). Berdasarkan permasalahan tersebut, dalam Tugas Akhir ini dilakukan penelitian untuk mengidentifikasi kesikuan pada keramik. Pendeteksian kesikuan dan kecacatan keramik menggunakan metode Transformasi Hough. Untuk mengidentifikasi kesikuan dan kecacatan keramik ditentukan dengan cara menghitung sudut kesikuannya.
1.2. Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan sebelumnya maka dapat dirumuskan masalah, yaitu :
a. Bagaimana membentuk kerangka luar keramik dalam mendeteksi citra kesikuan keramik?
b. Bagaimana mencari tiap sudut keramik dengan menerapkan Transformasi Hough?
1.3. Batasan Masalah
Adapun batasan-batasan masalah yang dibuat agar dalam pengerjaan tugas akhir ini dapat berjalan degan baik adalah sebagai berikut :
a. Penelitian difokuskan pada pengidentifikasian siku dan cacat keramik melalui pengolahan citra.
b. Keramik yang digunakan adalah keramik lantai yang memiliki ukuran 30 cm x 30 cm serta bermotif halus.
c. Pengambilan citra keramik dilakukan di dalam ruangan dengan menggunakan kamera digital.
d. Citra yang diproses adalah citra yang telah diedit untuk menghasilkan citra yang optimal.
e. Penentuan siku tidaknya keramik berdasarkan nilai sudut yang terdeteksi.
f. Metode yang digunakan untuk penelitian adalah Transformasi Hough.
g. Citra beresolusi 300x300 pixel berformat .jpg.
1.4. Tujuan
1.5. Manfaat
Manfaat dari penulisan tugas akhir ini adalah :
a. Untuk mengetahui keakurasian metode Transformasi Hough dalam mendeteksi kesikuan keramik.
b. Menyebarluaskan informasi tentang pemanfaatan pendeteksian tepi pada suatu citra yang dapat diaplikasikan dalam kehidupan sehari-hari.
c. Dapat dipergunakan sebagai dasar penelitian selanjutnya untuk pendeteksian kesikuan dan teknik-teknik pengolahan citra digital lainnya.
1.6. Metodologi Penelitian
Beberapa metode dan teknik yang dipergunakan dalam pengumpulan dan pengolahan data skripsi ini antara lain:
a. Library Research
Pada tahap ini, penulis mempelajari dan membaca buku diktat, referensi, buletin perpustakaan sebagai acuan yang berkaitan dengan permasalahan yang akan dibahas.
b. Documentation
Penulis melakukan pencatatan terhadap aktifitas yang berhubungan dengan pengamatannya, apabila diperlukan pencatatan.
c. Perancangan dan Pembuatan Sistem
adalah pembuatan sistem yang benar, agar sesuai dengan rancangan. Pada tahap ini juga dilakukan perancangan struktur data, algoritma dan diagram alur yang akan digunakan untuk implementasi dalam perangkat lunak yang akan dibuat. Kemudian dilakukan pengimplementasian struktur data dan algoritma yang telah dirancang ke dalam bahasa pemrograman.
d. Pengujian dan Evaluasi Perangkat Lunak
Tahap ini dulakukan pengujian pada perangkat lunak yang telah dibuat, pengevaluasian hasil yang diperoleh serta perbaikan program (revisi), jika hasil belum sesuai dengan tujuan yang diharapkan.
e. Pembuatan Naskah Skripsi
Pada tahap ini dilakukan pendokumentasian dari semua tahap agar dcatat dipelajari untuk pengembangan lebih lanjut. Memaparkan dasar-dasar teori dan metode yang terlibat di dalamnya, diantaranya desain perangkat lunak dan implementasinya, hasil pengujian sistem termasuk juga perbaikan.
1.7. Sistematika Penulisan
Dalam penyusunan tugas akhir, sistematika pembahasan diatur dan disusun dalam enam bab, dan tiap-tiap bab terdiri dari sub-sub bab. Untuk memberikan gambaran yang lebih jelas, maka diuraikan secara singkat mengenai materi dari bab-bab dalam penulisan tugas akhir ini sebagai berikut:
BAB I PENDAHULUAN
BAB II TINJ AUAN PUSTAKA
Bab ini menjelaskan mengenai landasan teori-teori pendukung pembuatan tugas akhir ini.
BAB III METODOLOGI PENELITIAN
Bab ini berisi tentang analisa dan perancangan sistem dalam pembuatan Tugas Akhir yang digunakan untuk mengolah sumber data yang dibutuhkan sistem anatara lain: Flowchart.
BAB IV HASIL DAN PEMBAHASAN
Pada bab ini akan membahas tentang kerja dari sistem secara keseluruhan. Pada bab ini menjelaskan tentang pelaksanaan uji coba dan evaluasi dari pelaksanaan uji coba dari program yang dibuat. Uji coba dapat dilakukan pada akhir dari tahap-tahap analisa sistem, desain sistem dan tahap penerapan sistem atau implementasi. Sasaran dari ujicoba program adalah untuk menemukan kesalahn-kesalahan dari program yang mungkin terjadi sehingga dapat diperbaiki.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dan saran dari penulis untuk pengembangan sistem.
DAFTAR PUSTAKA
TINJ AUAN PUSTAKA
2.1. Penelitian Terdahulu
Dalam penelitian terdahulu pengidentifikasian cacat kesikuan keramik dilakukan dengan menggunakan teknik morfologi dengan tujuan untuk mengklasifikasikan kualitas keramik secara otomatis. Penelitian yang dilakukan dengan mengimplementasikan teknik pengolahan citra dan pengoperasian morfologikal pada proses pendeteksian cacat pada keramik (Kurniawan, 2012). Cacat pada keramik diantaranya adalah cacat pada pinggiran dan sudut (kesikuan) keramik.
Dalam tugas akhir ini, penelitian lebih ditekankan pada keakuratan metode Transformasi Hough untuk mendeteksi kesikuan keramik. Hasil pendeteksian tepi adalah citra tepi yang nilai pixelnya menyatakan kekuatan tepi. Pixel tepi dinyatakan putih, sedangkan pixel bukan tepi dinyatakan hitam. Metode Canny adalah algoritma yang paling optimum dalam mendeteksi tepi citra. Setelah citra dideteksi tepi, selanjutnya akan dilakukan proses sesuai algoritma Transformasi Hough untuk menetukan kesikuan keramik dan perhitungan sudut kesikuan.
2.2. Artificial Intelligence
kemampuan penalaran manusia dengan mengorganisasi dan memanipulasi pengetahuan faktual dan heuristik. Bidang aktivitas AI meliputi sistem pakar, pengenalan bahasa alami, pengenalan suara, penglihatan komputer (Computer Vision) dan robotika (Anonim, 1996).
2.3. Image
Data masukan yang diproses adalah suatu image. Image merupakan sebuah representasi khusus dari suatu obyek, baik obyek dua dimensi maupun tiga dimensi. Di mana representasi tersebut dinyatakan dalam bentuk dua dimensi. Image dapat berbentuk nyata, maya, ataupun dalam bentuk optik. Selain itu, image juga dapat berupa rekaman, seperti video image, digital image, atau sebuah gambar. Image dapat dikategorikan sebagai menjadi 2, yaitu analog
image dan digital image.
Menurut Shapiro dan Stockman (2001), Analog image adalah image 2D F (x, y) yang memiliki ketelitian tidak terbatas dalam parameter spasial x dan y dan ketelitian tak terbatas pada intensitas tiap titik spasial (x, y).
Digital image adalah image2D I[r,c] yang direpresentasikan oleh array diskrit 2D dari intensitas sampel, dimana masing-masing titik direpresentasikan dengan ketelitian terbatas.
alat dan teknik pengambil gambar, seperti kamera digital, scanner, radar, dan sebagainya. Dapat pula disintesis dari data seperti fungsi matematika dan lain lain.
Pixel adalah sampel dari intensitas image yang terkuantisasi ke dalam nilai integer. Sementara Image merupakan array dua dimensi dari pixel-pixel
tersebut. Image inilah yang akan menjadi input awal dalam Computer Vision. Beberapa bentuk digital image yang sering digunakan dalam Computer Vision:
• Binary image, yaitu digital image dengan nilai pixel 1 atau 0.
• Gray scale image, yaitu digital image monokrom dengan satu nilai intensitas tiap pixel.
• Multispectral image, adalah image 2D yang memiliki vektor nilai pada tiap pixel, jika image-nya berwarna maka vektornya memiliki 3 elemen. • Labeled image, adalah digital image dimana nilai pixel-nya adalah simbol
dari alfabet terbatas.
2.4. Computer Vision
Computer Vision (sering disebut juga dengan Machine Vision) dapat dideskripsikan sebagai ilmu yang mempelajari metode yang dapat digunakan untuk membuat komputer mengerti gambar atau data banyak dimensi umumnya.
Sementara definisi Computer Vision adalah penyimpulan (deduksi) otomatis akan struktur atau properti dari dunia tiga dimensi dari satu atau lebih
properti-properti ini, atau secara singkatnya yaitu proses mengenali objek tertentu dari suatu image (Kulkarni, 2001).
Tujuan dari Computer Vision adalah untuk membuat keputusan yang berguna tentang objek dunia nyata dan keadaan (scene) berdasarkan image yang diambil. Untuk membuat keputusan akan objek nyata, sangat penting untuk membangun deskripsi atau model objek tersebut dari gambar. Karena itu dapat dikatakan bahwa tujuan dari Computer Vision adalah untuk membangun deskripsi keadaan dari image.
Artificial Intelligence digunakan untuk menganalisis keadaan dengan memproses representasi simbolik dari isi lingkungan setelah image telah diproses untuk diambil fiturnya. Banyak teknik dari Artificial Intelligence berperan penting didalam seluruh aspek Computer Vision. Pada dasarnya Computer Vision merupakan cabang dari Artificial Intelligence.
Secara garis besar tahapan tahapan dalam pemrosesan image dalam
Computer Vision terdiri dari: a. Image Acquisition
Tahapan awal dalam Computer Vision adalah Image Acquisition
(pengambilan digital image). Image Acquisition berhubungan dengan sensor yang mengambil image. Sensor yang digunakan bisa kamera atau scanner. Sifat dari sensor dan image yang dihasilkan ditentukan dari aplikasinya.
b. Image Enhancement
Setelah digital image diperoleh, tahapan selanjutnya adalah image enhancement yang termasuk dalam tahap prepocessing, image enhancement
mendukung tahapan selanjutnya. Tujuan dari image enhancement ini secara teknis untuk menghilangkan noise, memperhalus gambar, mempertajam gambar (menghilangkan blur), serta mengatur pencahayaan (brightness, contrast). Berdasarkan domainnya teknik peningkatan image dapat dibedakan menjadi 2 metode, yaitu domain spasial dan domain frekuensi.
Metode domain spasial didasarkan pada manipulasi langsung dari nilai
gray (keabuan) dari pixel-pixel suatu image. Sedangkan metode domain frekuensi didasarkan pada modifikasi fourier transform dari suatu image. Fourier transformmadalah suatu cara memetakan sinyal pada frekuensi-frekuensi komponennya.
Sementara beberapa teknik image enhancement yang digunakan antara lain:
• Grayscale manipulation (manipulasi nilai keabuan)
Merupakan teknik pemetaan intensitas dimana tiap pixel diberikan nilai keabuan yang baru untuk meningkatkan ketajaman gambar. Operasi ini tidak merubah bentuk dan geometri image, yang berubah cuma level intensitasnya. Teknik ini dilakukan dengan cara memproses histogram tingkat keabuan (gray level histogram) dari image.
Untuk mengubah image berwarna yang mempunyai nilai matrik masing-masing r, g dan b menjadi image grayscale dengan nilai s, maka konversi dapat dilakukan dengan mengambil rata-rata dari nilai r, g dan b sehingga dituliskan :
………..……….(2.1)
= + +
Histogram dalam computer vision adalah representasi dari image yang diperoleh dengan cara menghitung nilai tiap pixel. Singkatnya histogram merupakan grafik yang menggambarkan distribusi intensitas pixel dari suatu
image atau bagian tertentu di dalam citra. Histogram menunjukkan frekuensi kemunculan intensitas pada image.
Gambar 2.1. Image sebelum dilakukan manipulasi. (Kulkarni, 2001) Sementara gray level histogram adalah histogram yang menampilkan dalam tiap tingkat jumlah pixel dalam gambar yang memiliki tingkat keabuan (gray-level) tertentu. Histogram ini dimanipulasi dengan cara di stretch, shrink, atau slide.
• Filtering (convolution)
dikalikan dengan bobot dan ditambahkan sebagai nilai keseluruhan, jumlah tersebut menjadi nilai baru bagi pixel ditengah template, inilah yang menjadi pixel
bagi image baru. Proses ini diulang pada semua pixel dalam gambar. Operator yang sering digunakan adalah averaging, gaussian, dan median filtering.
Gambar 2.2. Image setelah dilakukan manipulasi (dari kiri ke kanan): stretch,
shrink dan slide pada histogramnya. (Kulkarni, 2001)
2.5. Pengolahan Citr a Digital
Citra mempunyai karakteristik yang tidak dimiliki oleh data teks, yaitu bahwa citra kaya dengan informasi. Citra juga dapat dikelompokkan menjadi dua yaitu citra tampak (foto, gambar, lukisan, apa yang nampak di layar monitor/televisi, hologram, dan lain-lain) dan citra tidak tampak (data foto/gambar dalam bentuk file, citra yang direpresentasikan dalam fungsi matematis). Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat optik berupa foto, analog berupa sinyal video seperti gambar pada monitor televisi, dan digital yang dapat langsung disimpan pada media penyimpan magnetik. Citra digital adalah citra yang disimpan dalam format digital (dalam bentuk file). Hanya citra digital yang dapat diolah menggunakan komputer. Jenis citra lain jika akan diolah dengan komputer harus diubah dulu menjadi citra digital. Citra digital tersusun atas sejumlah berhingga elemen, masing-masing memiliki lokasi dan nilai/intensitas tertentu. Elemen-elemen ini disebut elemen gambar, elemen citra, pels, dan juga piksel. Pencitraan (imaging) adalah kegiatan mengubah informasi dari citra tampak/citra non digital menjadi citra digital. Beberapa alat yang dapat digunakan untuk pencitraan adalah scanner, kamera digital, kamera sinar-x/sinar infra merah, dan lain-lain. Jadi, pengolahan citra digital adalah proses yang bertujuan untuk memanipulasi dan menganalisis citra digital dengan bantuan komputer. Masukannya adalah citra dan keluarannya juga citra tapi dengan kualitas lebih baik daripada citra masukan.
dan keluarannya juga berupa citra dengan kualitas lebih baik daripada citra inputan sebelumnya.
Gambar 2.3. Pengolahan citra (Agung Priyo, 2005)
Pengenalan Pola, mengelompokkan data numeric dan simbolik (termasuk citra) secara otomatis, oleh mesin (dalam hal ini komputer). Tujuan pengelompokan adalah untuk mengenali suatu objek di dalam citra. Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar mengklasifikasi objek-objek di alam sehingga mampu membedakan suatu objek dengan objek lainnya. Kemampuan sistem visual manusia inilah yang dicoba ditiru oleh mesin. Komputer menerima masukan berupa citra objek yang akan diidentifikasi, memproses citra tersebut dan memberikan keluaran berupa deskripsi objek didalam citra. (Agung Priyo, 2005)
Selain dalam dunia fotografi pengolahan citra digunakan juga dalam dunia kedokteran terutama untuk memperjelas citra hasil sinar-x organ tubuh manusia, pengolahan citra juga digunakan dalam bidang lain seperti penyiaran, telekomunikasi digital, sistem multimedia, bilogi, sistem penginderaan jauh, seni grafis, percetakan, militer, bidang pertanian dan masih banyak bidang lainnya.
Gambar 2.4 Pengenalan Pola (Agung Priyo, 2005) 2.5.1. Grayscale
Mencari tingkat keabuan adalah proses pengubahan warna citra menjadi format warna yang hanya berdasarkan tingkat keabuan. Proses ini menghilangkan informasi hue dan saturation dari piksel dan hanya meninggalkan nilai brightness. Setiap piksel dari tingkat keabuan citra memiliki nilai brightness antara 0 (hitam) sampai 255 (putih). Foto hitam putih merupakan contoh umum dari model warna tingkat keabuan. Walaupun disebut hitam putih, sesungguhnya foto tersebut terbentuk dari banyak warna abu-abu yang berbeda. Tujuan perhitungan tingkat keabuan adalah memudahkan proses selanjutnya yaitu proses thresholding. Dengan algoritma perhitungan tingkat keabuan, piksel dari suatu citra yang mengandung warna-warna RGB (merah, hijau dan biru) diubah menjadi warna-warna dalam berbagai tingkat keabuan dengan menjumlahkan nilai warna merah, hijau dan biru kemudian dibagi tiga sehingga didapatkan nilai rata-rata dari ketiga warna.
2.5.2. Thresholding
Thresholding adalah proses mengubah citra berderajat keabuan menjadi citra biner atau hitam putih sehingga dapat diketahui daerah mana yang termasuk
Citra Pengenalan pola
obyek dan background dari citra secara jelas. Salah satu metode yang sering digunakan dalam pengolahan citra digital atau image processing adalah
thresholding citra.
Tujuan dari thresholding adalah untuk memisahkan pixelyang mempunyai nilai keabuan (gray value) lebih tinggi dengan yang lebih rendah. Misalnya pixel
yang nilai keabuannya lebih tinggi diberi nilai biner 1 sedangkan pixel dengan nilai keabuan lebih rendah diberi nilai biner 0.
Berdasarkan penentuan nilai threshold-nya, metode thresholding dapat dibedakan menjadi metode manual dimana nilai threshold adalah tetap dan ditentukan secara manual, dan metode otomatis, dimana nilai threshold
ditentukan oleh sistem secara otomatis berdasarkan pengetahuan sistem akan objek, lingkungan dan aplikasinya (misalnya karakteristik intensitas objek, ukuran objek, daerah image yang diduduki objek, jumlah jenis objek dalam image).
Thresholding otomatis menganalisis penyebaran nilai keabuan dalam image
dengan menggunakan histogram dan pengetahuan akan aplikasi tersebut untuk menemukan threshold paling cocok.
Pada umumnya ada 2 (dua) jenis Thresholding yang sering di gunakan yaitu : Thresholding tunggal dan Thresholding ganda. Untuk Thresholding
tunggal, dapat dilihat melalui fungsi berikut :
g( , ) = 0 ( , ) <
1 ( , ) ≥ ...(2.2) Atau
g( , ) = 0 ( , ) ≥
1 ( , ) < ...(2.3)
Sedangkan untuk thresholding ganda, dapat dilihat melalui fungsi berikut :
g( , ) = 0 min≤ ( , ) ≤
1 ...(2.4)
Atau
g( , ) = 1 min≤ ( , ) ≤
0 ...(2.5)
Nilai Thresholding (T) dapat di peroleh dengan berbagai cara, salah satu caranya adalah dengan melakukan perhitungan sederhana, dimana nilai rata-rata jumlah piksel yang memiliki nilai dibawah T sama dengan nilai rata-rata jumlah piksel yang memiliki nilai diatas T. Untuk perhitungan ini, nilai T yang didapat untuk gambar yang memiliki histogram yang telah ter-equalize adalah berkisar antara 127 dan 128. Nilai dari maksimum T adalah nilai tertinggi dari system
warna yang digunakan dan nilai minimum dari T adalah nilai terendah dari system
2.5.3. Segmentasi Citr a
Segmentasi citra merupakan bagian dari proses pengolahan citra. Proses segmentasi citra ini lebih banyak merupakan suatu proses pra pengolahan pada sistem pengenalan objek dalam citra. Segmentasi citra (image segmentation) mempunyai arti membagi suatu citra menjadi wilayah-wilayah yang homogen berdasarkan kriteria keserupaan yang tertentu antara tingkat keabuan suatu piksel dengan tingkat keabuan piksel – piksel tetangganya, kemudian hasil dari proses segmentasi ini akan digunakan untuk proses tingkat tinggi lebih lanjut yang dapat dilakukan terhadap suatu citra, misalnya proses klasifikasi citra dan proses identifikasi objek. Adapun dalam proses segmentasi citra itu sendiri terdapat beberapa algoritma, diantaranya: algoritma Deteksi Titik, Deteksi Garis, dan Deteksi Sisi ( berdasarkan Operator Robert dan Operator Sobel ).
2.5.4. Deteksi Tepi
Deteksi tepi merupakan sebuah proses di mana proses tersebut berfungsi untuk mendeteksi garis tepi yang membatasi dua wilayah citra. Saat ini telah banyak operator – operator yang dapat digunakan dalam pembuatan deteksi tepi, contohnya adalah operator Robert , Prewitt, Sobel, serta operator turunan seperti
Laplace. Deteksi tepi itu sendiri bertujuan untuk menandai bagian yang menjadi detail citra, dan memperbaiki serta mengubah citra.
Pendeteksian tepi merupakan langkah pertama untuk melingkupi informasi di dalam citra. Tepi mencirikan batas-batas objek dan karena itu tepi berguna untuk proses segmentasi dan identifikasi objek di dalam citra. Tujuan operasi pendeteksian tepi adalah untuk meningkatkan penampakan garis batas suatu daerah atau objek di dalam citra. Karena tepi termasuk ke dalam komponen berfrekuensi tinggi, maka pendeteksian tepi dapat dilakukan dengan penapis lolos-tinggi. (Rinaldi Munir, 2004 )
Pendeteksian tepi menghasilkan citra tepi yang berupa citra biner (pixel tapi berwarna putih, sedangkan pixel bukan-tepi berwarna hitam). Rangkaian pixel-pixel tepi yang membentuk batas daerah disebut kontur. Pixel-pixel di dalam daerah dapat ditemukan dengan algoritma pengisian.
pengenalan plat kendaraan, aplikasi pengenalan sidik jari, dan untuk membedakan uang asli dengan uang palsu.
Terdapat beberapa teknik yang digunakan untuk mendeteksi tepi, antara lain:
• Operator gradien pertama (differential gradient)
mendeteksi tepi di dalam citra, yaitu operator gradien selisih-terpusat, operator Sobel, operator Prewitt, operator Roberts, operator
Canny.
• Operator turunan kedua (Laplacian)
Operator Laplace mendeteksi lokasi tepi khususnya pada citra tepi yang curam. Pada tepi yang curam, turunan keduanya mempunyai persilangan nol, yaitu titik di mana terdapat pergantian tanda nilai turunan kedua, sedangkan pada tepi yang landai tidak terdapat persilangan nol.
• Operator kompas (compass operator)
Digunakan untuk mendeteksi semua tepi dari berbagai arah di dalam citra. Operator kompas yang dipakai untuk deteksi tepi menampilkan tepi dari 8 macam arah mata angin yaitu Utara, Timur Laut, Timur, Tenggara, Selatan, Barat, Barat Daya, dan Barat Laut.
Contoh beberapa gradien pertama yang dapat digunakan untuk turunan pertama menghasilkan tepi yang lebih tebal, sedangkan turunan kedua menghasilkan tepi yang lebih tipis. Ada tiga macam tepi yang terdapat di dalam citra digital. Ketiganya adalah:
Tepi dengan perubahan intensitas yang tajam. Arah tepi berkisar 90°. b. Tepi landau
Disebut juga tepi lebar, yaitu tepi dengan sudut arah yang kecil. Tepi landau dapat dianggap terdiri dari sejumlah tepi-tepi lokal yang lokasinya berdekatan.
c. Tepi yang mengandung derau (noise)
Umumnya tepi yang terdapat pada aplikasi computer vision mengandung derau. Operasi peningkatan kualitas citra (image enhancement) dapat dilakukan terlebih dahulu sebelum pendeteksian tepi. (Rinaldi Munir, 2004)
2.5.5. Metode Canny
Salah satu algoritma deteksi tepi modern adalah deteksi tepi dengan menggunakan metode Canny. Deteksi tepi Canny ditemukan oleh Marr dan Hildreth yang meneliti pemodelan persepsi visual manusia.
Ada beberapa kriteria pendeteksi tepian paling optimum yang dapat dipenuhi oleh algoritma Canny:
a. Mendeteksi dengan baik (kriteria deteksi)
Kemampuan untuk meletakkan dan menandai semua tepi yang ada sesuai dengan pemilihan parameter-parameter konvolusi yang dilakukan. Sekaligus juga memberikan fleksibilitas yang sangat tinggi dalam hal menentukan tingkat deteksi ketebalan tepi sesuai yang diinginkan.
b. Melokalisasi dengan baik (kriteria lokalisasi)
Dengan Canny dimungkinkan dihasilkan jarak yang minimum antara tepi yang dideteksi dengan tepi yang asli.
Hanya ada satu respon untuk tiap tepi. Sehingga mudah dideteksi dan tidak menimbulkan kerancuan pada pengolahan citra selanjutnya. Pemilihan parameter deteksi tepi Canny sangat mempengaruhi hasil dari tepian yang dihasilkan. Beberapa parameter tersebut antara lain:
1. Nilai Standart Deviasi Gaussian 2. Nilai Ambang
Gambar 2.5. Jenis – jenis tepi. (Rinaldi Munir, 2004)
Di dalam Matlab untuk menghitung piksel warna putih dengan menggunakan fungsi nnz (number of nonzero entries). Pada callback edge detectionnya diberi imbuhan nnz kemudian pemanggilan variable dari deteksi tepi metode Canny.
2.6. Transfor masi Hough
transformasi citra yang dapat digunakan untuk mengisolasi atau dengan kata lain memperoleh fitur dari sebuah citra. Karena tujuan dari sebuah transformasi adalah mendapatkan suatu fitur yang lebih spesifik, Classical Hough Transform
merupakan teknik yang paling umum digunakan untuk mendeteksi objek yang berbentuk kurva seperti garis, lingkaran, elips dan parabola. Keuntungan utama dari Transformasi Hough adalah dapat mendeteksi sebuah tepian dengan celah pada batas fitur dan secara relatif tidak dipengaruhi oleh derau atau noise.
Menurut Brigida (2012), Transformasi Hough bekerja dengan memproyeksikan objek dari koordinat xy ke koordinat lingkaran. Sehingga sebuah garis bisa diwakilkan oleh 2 komponen, yakni jari-jari (rho) dan sudut (theta). Dengan kemampuannya mengembalikan 2 variabel ini kita bisa juga menggunakannya untuk rekonstruksi citra yakni perbaikan geometri kemiringan.
Transformasi Hough menspesifikasikan kurva dalam bentuk parametric. Kurva dinyatakan sebagai bentuk parametric (x(u, y(u)). Bentuk parametric tersebut menspesifikasikan titik-titik sepanjang kurva p = (x(u ), y(u )) ke titik akhir p² = (x(u²), y(u²)).
Transformasi Hough menggunakan voting untuk menentukan garis. Untuk memilih lebih dari 1 garis, maka perlu memberikan nilai ambang batas (threshold) karena memang yang dibutuhkan hanya observasi terhadap hasil threshold yang diberikan.
Dalam Matlab dikenal ada 3 parameter penting untuk Hough, yaitu: a. Hough: Untuk menghitung nilai dari Transformasi Hough.
didapat, kita akan mendapat nilai theta (kemiringan) dari citra. Demikian juga untuk mengetahui nilai rho terbesar.
c. Houghlines: Toolbox ini berkaitan dengan point ke 2, fungsi ini untuk mendeteksi garis dan melakukan plot pada figure sesuai nilai Hough yang dipilih menggunakan nilai ambang batas (threshold).
2.6.1. Fungsi Garis
Transformasi Hough memiliki beberapa perbedaan rumus yang diterapkan. Semuanya tergantung pada jenis objek yang dicari, misalnya untuk mencari objek garis akan digunakan fungsi garis seperti berikut ini:
………....(2.6) Dengan x dan y merupakan titik koordinat yang menyusun objek garis tersebut, sedangkan teta adalah sudut yang dibentuk antara objek garis dengan sumbu x, dan r merupakan jarak antara garis dengan titik pusat (0,0). Untuk lebih jelasnya dapat diilustrasikan dengan menggunakan gambar berikut:
Gambar 2.6. Fungsi garis Transformasi Hough. (Brigida, 2012) 2.6.2. Ar ray Akumulator
Secara umum Transformasi Hough bekerja dengan memanfaatkan sebuah deret Array yang dinamakan akumulator. Array akumulator ini memiliki dimensi
yang berbeda-beda tergantung dari jumlah parameter dari objek yang dicari. Misalnya pada Transformasi Garis Hough memerlukan 2 buah parameter yakni r dan teta, maka dibentuklah sebuah deret array akumulator yang berdimensi 2.
Gambar 2.7. Citra input array akumulator. (Brigida, 2012)
Pencarian kemudian dilakukan terhadap sebuah area pixel dengan mencari kemungkinan hubungan atau garis yang ada. Setiap kemungkinan hubungan garis dihitung nilai r dan teta–nya terhadap titik pusat. Selanjutnya menyimpan nilai r dan teta-nya dari setiap kemungkinan hubungan tersebut pada array akumulator. Nilai-nilai akumulator akan dipetakan ke dalam sebuah grafik yang dinamakan grafik akumulator dengan teta sebagai absis dan r sebagai koordinat. Berikut ini adalah salah satu contoh citra input dan bentuk grafik akumulatornya.
2.7. MATLAB
MATLAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi untuk komputasi masalah teknik. Matlab mengintegrasikan komputasi, visualisasi, dan pemrograman dalam suatu model yang sangat mudah untuk pakai dimana masalah-masalah dan penyelesaiannya diekspresikan dalam notasi matematika yang familiar. Penggunaan Matlab meliputi bidang–bidang:
• Matematika dan Komputasi • Pembentukan Algorithm • Akusisi Data
• Pemodelan, simulasi, dan pembuatan prototipe • Analisa data, explorasi, dan visualisasi
• Grafik Keilmuan dan bidang Rekayasa
Dalam lingkungan perguruan tinggi teknik, Matlab merupakan perangkat standar untuk memperkenalkan dan mengembangkan penyajian materi matematika, rekayasa dan kelimuan. Di industri, MATLAB merupakan perangkat pilihan untuk penelitian dengan produktifitas yang tingi, pengembangan dan analisanya. Fitur-fitur MATLAB sudah banyak dikembangkan, dan lebih kita kenal dengan nama toolbox. Sangat penting bagi seorang pengguna Matlab, toolbox mana yang mandukung untuk learn dan apply technologi yang sedang dipelajarinya. Toolbox ini merupakan kumpulan dari fungsi-fungsi MATLAB (Mfiles) yang telah dikembangkan ke suatu lingkungan kerja MATLAB untuk memecahkan masalah dalam kelas particular. Area-area yang sudah bisa dipecahkan dengan toolbox saat ini meliputi pengolahan sinyal, sistem kontrol,
Pada bab ini akan dijelaskan mengenai proses pembuatan program deteksi kesikuan dan cacat keramik menggunakan metode Transformasi Hough. Proses perancangan program dalam sub-bab ini akan dibagi menjadi beberapa tahap anatara lain: analisis, gambaran aplikasi secara umum, perancangan proses.
3.1. Data Set
Data set diperoleh dari pengambilan gambar di sebuah toko bangunan. Gambar diambil menggunakan kamera digital. Gambar yang diambil berupa keramik dengan ukuran 30x30, beberapa keramik normal dan keramik yang gompel dibagian sudutnya. Informasi mengenai data set dapat dilihat pada lampiran.
3.2. Analisis Data
Program untuk deteksi kesikuan keramik menggunakan metode Transformasi Hough. Bahasa pemrograman yang digunakan adalah Matlab. Citra diambil dengan menggunakan kamera digital setelah itu dilakukan tahap pre-processing untuk mendapatkan hasil yang optimal pada tahap proses pendeteksian kesikuan keramik dengan menggunakan Transformasi Hough.
biner. Citra biner adalah citra yang terdiri dari dua derajat keabuan. Untuk merubah citra tersebut menjadi citra biner, maka kita perlu suatu threshold. Setelah kedua proses tersebut selesai, maka akan dilakukan deteksi tepi dengan metode Canny untuk mendapatkan garis tepi pada image keramik. Setelah didapatkan garis tepi, dilakukan proses penentuan segmen garis dengan menggunakan Transformasi Hough. Hal ini bertujuan untuk mendapatkan nilai piksel dari garis tepi, kemudian Transformasi Hough akan memproses nilai piksel pada masing-masing garis untuk mendapatkan titik pangkal dan titik ujung masing-masing garis. Langkah selanjutnya adalah menghitung sudut pada keramik, sebelum menghitung sudut terlebih dahulu dilakukan pencarian titik-titik pada tiap garis yang saling berhimpit berdasarkan nilai piksel yang berdekatan pada titik pangkal dan titik ujung garis. Dalam hal ini, diberikan batas toleransi untuk nilai piksel dari titik yang berdekatan sebesar 3. Setelah didapatkan dua titik yang saling berhimpitan dari dua garis baru sudut keramik bisa dihitung. Jika nilai keempat sudut bernilai 90 maka keramik dinyatakan normal (tidak cacat), sedangkan jika terdapat salah satu sudut keramik yang bernilai kurang dari 90 atau tidak terdapat nilai sudutnya maka keramik dinyatakan cacat.
3.3. Gambaran Aplikasi secara Umum
Untuk alur program pendeteksian keramik yang pertama adalah memilih
image kemudian dilakukan proses grayscale, threshold, deteksi tepi Canny dan Transformasi Hough untuk menentukan segmen garis pada citra. Kemudian hasil
atan2 (abs ((x2-x1) * (y4-y3) - (y2-y1) * (x4-x3)), (x2-x1) * (x4-x3) + (y2-y1) * (y4-y3))
Gambar 3.1. Alur Pendeteksian Kesikuan Keramik
Image
Grayscale
Hasil
Hough Transform
Deteksi Tepi Canny
Threshold
Start
Secara garis besar untuk mendeteksi kesikuan keramik dengan metode Transformasi Hough melalui beberapa proses berikut:
1. Citra masukan berupa citra berwarna
Input diperoleh dari pengambilan gambar (image) melalui kamera digital, berupa gambar keramik. Setelah itu dilakukan pre-processing untuk mendapatkan hasil yang optimal. Gambar yang digunakan berformat .JPG. Gambar ini yang menjadi input awal bagi proses-proses selanjutnya.
Gambar 3.2. Gambar input 2. Baca inputan citra yang akan diproses menjadi:
• Grayscale
• Thresholding
• Deteksi tepi Canny
• Transformasi Hough • Hasil Keluaran 3. Output
3.4. Perancangan pr oses
Untuk mengetahui proses-proses yang dilakukan maka akan dijelaskan sebagai berikut:
3.4.1. Grayscale
Grayscale merupakan proses pengolahan citra dengan cara mengubah nilai-nilai piksel awal citra menjadi sebuah citra keabuan.
Gambar 3.3. FlowchartGrayscale
Langkah awal yang ditunjukkan pada Gambar 3.3 adalah citra masukan berwarna yang kemudian akan diproses menjadi citra grayscale. Citra keabuan adalah citra yang setiap pikselnya mengandung satu layer dimana nilai intensitasnya berada pada interval 0-255, sehingga nilai-nilai piksel pada citra keabuan tersebut dapat direpresentasikan dalam sebuah matriks yang dapat memudahkan proses perhitungan pada operasi berikutnya. Di dalam MATLAB untuk menggubah piksel RGB ( Red Green Blue) menjadi skala keabu – abuan dengan menggunakan fungsi rgb2gray.
Variabel gray berfungsi menampung hasil konversi citra RGB ke citra abu – abu. Citra dikonversi adalah citra kain batik yang ditampung dalam variable I. 3.4.2. Thresholding
Proses selanjutnya adalah melakukan thresholding pada image yang diperoleh dari proses grayscale dan pada image masukan awal.
Gambar 3.4. Flowchart Thresholding
Karena threshold dinormalisasikan dalam range [0, 1], maka harus diskalakan ke
range gray level yang benar dari citra sebelum digunakan. Flowchart bisa dilihat pada gambar 3.4.
3.4.3. Deteksi Tepi Canny
Pada proses ini akan dideteksi tepi. Deteksi tepi yang digunakan adalah
canny.
Gambar 3.5. Flowchart Deteksi Tepi Canny
Algoritma ini dikenal sebagai algoritma yang baik untuk mendeteksi tepi. Deteksi tepi ini pertama-tama menghaluskan gambar dengan menyingkirkan
mempunyai ruang kepalsuan yang tinggi. Algoritma ini lalu mengambil jalur sepanjang ruang tersebut dan menekan pixel yang tidak maximum (penekanan
non-maximum). Berikut adalah potongan baris program deteksi tepi Canny. BW=edge(gr ay,' canny');
Sesuai dengan flowchart algoritma Canny yang dapat dilihat pada gambar 3.5, dengan menggunakan metode Canny tepian yang dihasilkan lebih jelas, perbedaan tepian dengan background citra terlihat nyata. Noise pada citra masukan dapat dijadikan sebagai salah satu parameter yang menentukan tingkat tampilan dari beberapa metode untuk melacak tepian suatu objek.
3.4.4. Transfor masi Hough
Proses selanjutnya setelah deteksi tepi, dilakukan penentuan segmen garis lurus dengan menggunakan Transformasi Hough.
Pada umumnya, Transformasi Hough digunakan dengan gambar biner, dengan H = (ө , p) yang memberikan jumlah sinusoid yang melintasi di titik (ө, p), dan jumlah total poin terbentuk, dapat membentuk garis pada citra.
Misalkan citra tepi berukuran n = N X M pixel. Cara yang paling sederhana mendeteksi garis lurus adalah menemukan senua garis yang ditentukan oleh dua buah pixel dan memeriksa apakah sebagian dari pixel tepi termasuk ke dalam garis tersebut (cara exhaustive search).
Jumlah maksimum garis yang dideteksi adalah n(n-1)/2. Karena setiap
y = mx + c
c = y - mx
r = x cos ө + y sin ө
bentuk parametric dan menggunakan mekanisme pemungutan suara terbanyak
(voting) untuk menentukan nilai parameter yang tepat. Tinjau persamaan garis
lurus:
……….(3.1)
Dalam bentuk parametric, setiap garis dinyatakan sebagai (m’, c’) di dalam
ruang parameter m-c. Persamaan 3.1 dapat ditulis menjadi:
……….………….(3.2)
Sembarang titik (x,y) pada bidang planar X-Y berkoresponden dengan
sebuah garis lurus pada ruang parameter m-c. Dengan cara ini, maka setiap pixel
pada garis lurus di bidang citra berkoresponden dengan sejumlah garis lurus yang
melalui satu titik tertentu di ruang parameter m-c. Sifat ini dimanfaatkan untuk
mendeteksi garis lurus.
Model parametric pada persamaan 3.1 tidak dapat digunakan untuk
mendeteksi garis vertical atau hamper vertical karena gradiennya (m) menuju nilai
tak-berhingga. Karena itu, garis dinyatakan dalam representasi polar:
……….(3.3)
Yang dalam hal ini r adalah jarak garis ke titik asal. Sedangkan
Sembarang garis yang melalui (x1,y1) pada ruang x-y berkoresponden dengan
kurva sinusoida r = x1 cos ө + y1 sin ө pada ruang r-ө. Pixel-pixel yang terletak
segaris pada citra tepi berkoresponden dengan titik potong seluruh kurva
sinusoidanya pada ruang parameter r-ө. Flowchart Transformasi Hough dapat
Algoritma Transformasi Hough diperlihatkan pada tabel source code 3.1.
Algoritma tersebut mengasumsikan citra tepi disimpan dalam matriks
Edge[0..N-1,0..M-1]. Ruang parameter r-ө dinyatakan sebagai matriks P
yang berukuran nxm. Nilai cosinus dan sinus disimpan di dalam lookup table
COS[0..p-1] dan SIN[0..p-1].
Sour ce Code 3.1. Algoritma Transformasi Hough
void Hough(citra Edge, int N, int M, imatriks P, int n, int m, float *COS, float *SIN)
/* prosedur yang melakukan Transformasi Hough. Masukan: citra tepi Edge yang berukuran N x M. Keluaran: matriks parameter P yang berukuran n x m */
{
int k, l, i, j, kk, ll; float r, b;
float SQRTD =sqrt((float)N*(float)N + (float)M*(float)M); /* inisialisasi P[0..p-1, 0,,q-1] dengan 0 */
for(kk=0;kk<=p-1;kk++) for(ll=0;ll<=q-1;ll++) P[kk][ll]=0;
/*telusuri citra tepi. Jika pixel merupakan tepi, lakukan pemungutan
suara pada elemen matriks P yang bersesuaian. tetha dari –pi/2 sampai pi/2.
r dari –sqrt(N*N+M*M) sampai sqrt(N*N+M*M).*/ for (k=0;k<=N-1;k++)
/* Membuat tabel cosinus dan sinus untuk fungsi COS dan SIN. Masukan: m adalah jumlah baris tabel
Keluaran: tabel COS dan tabel SIN*/ {
int i;
3.4.5. Perhitungan Sudut
Dari proses Transformasi Hough akan didapatkan nilai titik pangkal dan
titik ujung dari setiap pixel pada garis lurus. Untuk titik pangkal garis lurus
digunakan variabel (xi, yi), untuk titik ujungnya digunakan variabel (xj, yj).
Sebelum dilakukan perhitungan sudut, dilakukan pendeteksian garis-garis
yang saling tegak lurus. Karena Transformasi Hough bekerja secara random
dalam penentuan garis (tidak berurutan), maka untuk mencari garis-garis yang
saling tegak lurus titik pangkal garis pertama digunakan perulangan untuk
mencari titik ujung garis lainnya yang saling berhimpit. Begitu seterusnya sampai
ditemukan 8 titik yang saling berhimpitan antara garis satu dengan garis lainnya.
Selanjutnya perhitungan sudut dihitung berdasarkan nilai titik-titik yang saling
berhimpitan tadi. Berikut rumus perhitungan sudut:
angle = atan² ((x2-x1)*(y4-y3)-(y2-1)*(x4-x3)),((x2-x1)*(x4-x3)+(y2-y1)*(y4-y3))
Dimana:
(x1, y1) = titik pangkal garis pertama
(x2, y2) = titik ujung garis pertama
(x3, y3) = titik pangkal garis kedua
(x4, y4) = titik ujung garis kedua
Dalam hal ini, diberikan batas toleransi untuk nilai piksel dari sebesar 3
untuk titik-titik yang saling berhimpitan. Jika titik-titik yang berhimpitan tersebut
cacat. Serta dari perhitungan sudut tersebut jika didapat nilai sudut adalah 90º,
maka keramik dinyatakan siku. Jika nilai sudut yang didapat kurang atau lebih
dari 90 º atau tidak terdapat nilai sudutnya maka keramik dinyatakan cacat.
Gambar 3.6. Flowchart Transformasi Hough
3.5. Perancangan Tampilan Antar muka
Pada perancangan antarmuka yang akan dibuat nantinya merupakan suatu
halaman untuk berinteraksi bagi pemakai/pengguna program dan diharapkan
deteksi kesikuan dan kecacatan keramik menggunakan metode Transformasi
Hough akan dirancang tampilan GUI maka akan menghasilkan 2 file yaitu
namafile.fig dimana GUI disimpan dan namafile.m dimana eksekusi program
terkumpul. Masing-masing fig-file ini menghasilkan m-file dengan nama yang
sama.
Table 3.1 berisi objek-objek yang dibutuhkan dalam perancangan tampilan/
antarmuka pada pembuatan program deteksi kesikuan dan kecacatan keramik
menggunakan metode Transformasi Hough.
Tabel 3.1. Perancangan Program
Fig-file Komponen Nama Fungsi
TAkeramik Text1 Deteksi Kesikuan… Judul
Panel1 Panel proses Background dari proses
Pushbutton1 Open Mengakses file inputan
Pushbutton2 Proses Memproses file inputan
Axes1 - Menampilkan citra
Axes2 - Menampilkan citra
Axes3 - Menampilkan citra
Axes4 - Menampilkan citra
Axes5 - Menampilkan citra
Axes6 - Menampilkan citra
Axes7 - Menampilkan citra
Panel2 Hasil pengamatan… Background dari hasil
Text2 Citra Menampilkan tulisan
Text3 Grayscale Menampilkan tulisan
Text4 Threshold Menampilkan tulisan
Text5 Edge detection Menampilkan tulisan
Text6 Hough transform Menampilkan tulisan
Text7 Keluaran akhir Menampilkan tulisan
Text8 - Menampilkan tulisan
Panel3 - Background dari logo
Axes8 - Menampilkan logo UPN
Pushbutton3 Keluar Keluar dari program
Tampilan antarmuka tersebut diharapkan dapat memudahkan pengguna
Pada Gambar 3.7 adalah rancangan tampilan awal antarmuka di mana di
dalamnya ada isi dari tabel 3.1.
43
BAB IV
HASIL DAN PEMBAHASAN
Pada bab IV ini akan dijelaskan mengenai implementasi, hasil uji coba dan
evaluasi dari rancangan program yang telah dibuat pada bab III. Bagian implementasi
aplikasi kali ini meliputi: lingkungan implementasi, implementasi data, implementasi
antarmuka dan implementasi proses.
4.1. Kebutuhan Har dwar e dan Softwar e
Pada bagian ini akan dijelaskan mengenai perangkat keras dan perangkat
lunak yang digunakan pada implementasi aplikasi ini.
Kebutuhan Har dwar e :
a) Komputer dengan processor Intel (R) Core(TM)2Duo CPU P8700 2,5GHz b) RAM (2048MB)
c) VGA Card share memory up to 1274 MegaByte
d) Monitor 14”
e) Hard Disk 320 GigaByte
Kebutuhan Softwar e :
a) Sistem Operasi Windows 7. b) Matlab 7.0
4.2. Implementasi Data
Seperti yang telah dijelaskan secara konseptual pada Bab 3, maka data yang
akan diimplementasikan pada aplikasi ini berupa gambar-gambar keramik yang telah
diambil melalui kamera digital yang nantinya akan diproses melalui beberapa
tahapan. Dimana output berupa tampilan jumlah sudut terdeteksi dan keterangan siku tidaknya suatu keramik.
4.3. Implementasi Antar muka
Pada implementasi antarmuka ini merupakan interaksi antara pemakai (user) dengan sistem. Halaman form utama ini merupakan tampilan awal saat program dijalankan. Pada form utama ini terdapat program secara keseluruhan beserta dengan prosedur-prosedur programnya. Pada masing – masing menu memiliki fungsi yang
berbeda – beda pada aplikasi ini. Berikut penjelasan dari setiap form pada menu utama ini :
a. Open : untuk memilih input gambar yang akan diproses.
b. Proses : untuk melakukan tahapan-tahapan proses eksekusi inputan.
c. Keluar : untuk keluar dari aplikasi ini.
Pada tampilan form utama terdapat 7 kolom yang mempunyai fungsi
berbeda-beda. Kolom pertama dengan nama citra berfungsi untuk menampilkan image yang
akan diproses. Kolom kedua dengan nama grayscale berfungsi untuk merubah citra yang berwarna menjadi keabu-abuan. Kolom ketiga diberi nama threshold berfungsi untuk merubah citra yang sudah digrayscale menjadi citra hitam putih. Kolom
proyek=guidata(gcbo);
[namafile,direktori]=uigetfile({'*.jpg';'*.png';
'*.tif''*.bmp';},'Buka Gambar');
if isequal(namafile,0)
return;
end;
I=imread(strcat(direktori,namafile));
set(proyek.figure1,'CurrentAxes',proyek.axes1);
set(imshow(I));
set(proyek.axes1,'Userdata',I);
set(proyek.figure1,'Userdata',I);
Kolom kelima menampilkan hasil dari hough transform berupa citra yang telah terdeteksi garisnya. Kolom keenam menampilkan hasil sudut, sedang kolom ketujuh
berupa textbox yang akan menampilkan keterangan siku tidaknya keramik.
4.4. Implementasi Proses
Bagian implementasi proses ini menjelaskan mengenai implementasi
proses-proses sesuai dengan konsep yang telah dibuat pada bab 3. Seperti yang telah
digambarkan dalam flowchart.
4.4.1. Pr oses Pilih Image
Proses Pilih Image merupakan proses yang bertujuan untuk memilih inputan berupa gambar yang akan ditampilkan pada form utama. (Source code 4.1)
4.4.2. Pr oses Deteksi Kesikuan dan Kecacatan Keramik
Pada tahap selanjutnya dilakukan segmentasi citra dan penentuan kesikuan
keramik dengan menekan tombol Proses. Image yang berwarna citra RGB akan diubah menjadi grayscale serta dithreshold untuk kemudian dilakukan deteksi tepi dengan menggunakan metode Canny. Kemudian citra akan terdeteksi garis tepinya. Setelah itu dilakukan proses Hough Transform untuk menentukan segmen garis. Dari Transformasi Hough akan didapat nilai piksel garis yang terdeteksi, kemudian
didapatkan titik pangkal dan titik ujung masing-masing garis. Setelah itu dilakukan
pencarian titik-titik yang saling berhimpitan untuk menghitung nilai dari
masing-masing sudut. Source code 4.2 menerangkan code untuk proses pendeteksian tepi
xlabel('\theta'), ylabel('\rho');
P = houghpeaks(H,26,'threshold',ceil(0.5*max(H(:))));
plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');
plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','red');
Sour ce Code 4.2. Proses Deteksi Kesikuan dan Kecacatan Keramik
4.5. Uji Coba Pr ogr am
Pada sub bab ini akan dibahas mengenai uji coba terhadap aplikasi yang telah
dibuat dan selanjutnya akan dievaluasi dari hasil uji coba tersebut. Uji coba
dilaksanakan untuk mengetahui kemampuan aplikasi dapat berjalan dengan baik
sesuai dengan rancangan. Evaluasi dilakukan untuk menentukan tingkat keberhasilan
4.5.1. Skenar io Uji Coba
Untuk memastikan bahwa aplikasi ini berjalan dengan baik, diperlukan
adanya skenario yang akan dicoba, antara lain :
a. Memilih inputan citra pada data set yang telah disediakan
b. Melakukan proses grayscale, threshold, edge detection, hough transform dan hasil keluaran. Hasil dari proses berupa tampilan keterangan kesikuan keramik 4.5.2. Pelaksanaa Uji Coba
Langkah pertama dalam membuat program deteksi kesikuan keramik
adalah dengan merancang tampilan program dengan menggunakan GUI pada
Matlab.
Ga mbar 4.1. Tampilan Awal Aplikasi
Setelah perancangan program dibuat dengan menggunakan GUI, dilakukan
terakhir adalah dengan mencoba program tersebut. Dengan menekan tombol Run, maka akan muncul figure tampilan seperti pada gambar 4.1.
Klik menu open pada tampilan program berfungsi untuk memasukkan citra pada data set yang akan diproses. Pada data set disediakan citra keramik sebanyak 30
gambar. Kemudian citra akan tampil pada form pertama seperti pada gambar 4.2.
Gambar 4.2. Tampilan Image yang telah dipilih
Tombol proses berfungsi untuk menjalankan proses deteksi kesikuan
keramik. Inputan citra yang akan diproses terlebih dahulu tampil pada kolom citra
yang berupa citra berwarna RGB (gambar 4.2).
Setelah menekan tombol proses maka akan muncul keenam tahapan proses
kolom yang tersedia sesuai dengan keterangan yang tertera pada tampilan figure. Dalam eksekusi tombol proses didapatkan juga keterangan apakah citra keramik yang
diuji siku atau cacat yang berupa message text seperti pada gambar 4.3. Jika semua proses pengujian selesai dan sudah didapatkan hasilnya, maka ditekan tombol keluar
untuk keluar dari aplikasi.
Gambar 4.3. Tampilan citra yang telah diproses
4.6. Analisa Aplikasi
Berdasarkan hasil uji coba yang telah dilakukan untuk mendeteksi kesikuan
dan kecacatan keramik, maka akan dilakukan analisa proses, antara lain sebagai
4.6.1. Analisis Pr oses Ber dasar kan Gambar
Pada analisa proses berdasarkan gambar didapatkan hasil gambar dari
program, mulai dari citra input sebagai citra awalan yang akan diproses dengan
segmentasi citra, Hough Transform dan keluaran akhir yang menampakkan hasil sudut dan keterangan kesikuan. Hasil output citra program bisa dilihat pada tabel 4.1.
Tabel 4.1. Tabel Uji Coba Citra Deteksi Kesikuan Keramik
Citr a Ker amik Hough Tr ansfor m Keluar an Akhir Keterangan
Keramik
siku-siku
Keramik
siku-siku
Keramik
Keramik
siku-siku
Keramik
siku-siku
Keramik
siku-siku
Keramik
siku-siku
Keramik
Keramik
siku-siku
Keramik
siku-siku
Terdapat
bagian
keramik
yang miring
Terdapat
bagian
keramik
yang miring
Terdapat
bagian
keramik
Terdapat
bagian
keramik
yang miring
Terdapat
bagian
keramik
yang miring
Terdapat
bagian
keramik
yang miring
Terdapat
bagian
keramik
yang miring
Terdapat
kecacatan
pada
Terdapat
kecacatan
pada
keramik
Terdapat
kecacatan
pada
keramik
Terdapat
kecacatan
pada
keramik
Terdapat
kecacatan
pada
keramik
Terdapat
kecacatan
pada
Terdapat
kecacatan
pada
keramik
Terdapat
kecacatan
pada
keramik
Terdapat
kecacatan
pada
keramik
Terdapat
kecacatan
pada
keramik
Terdapat
kecacatan
pada
Terdapat
kecacatan
pada
keramik
Terdapat
kecacatan
pada
keramik
Tabel 4.1 menjelaskan citra input untuk inputan awal lalu diproses ke
grayscale, threshold dan deteksi tepi dengan menggunakan metode Canny. Setelah itu dilakukan proses Transformasi Hough untuk mendapatkan segmen garis. Dari
segmen garis yang terdeteksi oleh Transfomasi Hough akan didapatkan nilai
pikselnya untuk masing-masing titik pangkal dan titik ujung dari segmen garis
tersebut. Dalam hal ini, diberikan batas toleransi jumlah piksel sebesar 3 untuk
titik-titik yang saling berhimpitan dari garis yang saling tegak lurus. Dari titik-titik-titik-titik
tersebut dilakukan perhitungan sudut. Jika sudut yang dihasilkan 90 maka keramik
dinyatakan siku atau tidak cacat, sedangkan jika sudut yang dihasilkan kurang atau
lebih dari 90 maka keramik dinyatakan miring. Jika pada citra uji ditemukan sudut
4.6.2. Pengujian Validitas Aplikasi
Berdasarkan pengujian terhadap citra uji yang sudah dilakukan, dapat
dilakukan penilaian tingkat keberhasilan program yang disajikan dalam Tabel 4.2.
Penilaian ini berdasarkan hasil visualisasi yang tampak dari citra keramik, proses
Transformasi Hough dan keluaran akhir. Beberapa keluaran akhir tidak selaras
dengan citra keramik dan proses Transformasi Hough.
Tabel 4.2. Penilaian Tingkat Keberhasilan Program Menguji Citra Uji
Nama Citr a Hasil Deteksi
Tr ansfomasi Hough Keluar an Akhir Keter angan
1_normal_1.jpg Keempat sudut
11_miring_1.jpg Terdapat sudut yang tampak tidak siku
tampak tidak siku sudut tidak suku siku/ Keramik miring
14_miring_4.jpg Terdapat sudut yang tampak tidak siku
15_miring_5.jpg Terdapat sudut yang tampak tidak siku
16_miring_6.jpg Terdapat sudut yang tampak tidak siku
17_miring_7.jpg Terdapat sudut yang tampak tidak siku
18_gompel_1.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Keramik gompel
19_gompel_2.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Keramik gompel
20_gompel_3.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Keramik gompel
21_gompel_4.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Keramik gompel
22_gompel_5.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Keramik gompel
23_gompel_6.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Keramik gompel
24_gompel_7.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Keramik gompel
25_gompel_8.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Keramik gompel
26_gompel_9.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Keramik gompel
27_gompel_10.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Keramik gompel
28_gompel_11.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Keramik gompel
29_gompel_12.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Keramik gompel
30_gompel_13.jpg Terdapat sudut yang tampak gompel
Terdapat sudut yang tampak gompel
Berdasarkan Tabel 4.2 ternyata citra keramik yang terindentifikasi siku
berdasarkan 30 dataset yang telah disediakan adalah 10 keramik, sedangkan yang
teridentifikasi tidak siku, miring atau gompel adalah 20 keramik. Maka prosentase
keberhasilan berdasarkan tabel 4.2 sesuai dengan kondisi keramik berdasarkan
penglihatan mata (lihat pada lampiran) adalah sebesar 100%. Hal ini menunjukkan
bahwa sistem pengenalan yang telah dirancang ini berjalan dengan baik sesuai
harapan perancang sistem. Namun tidak dapat dipungkiri terdapat beberapa
faktor-faktor yang sangat mempengaruhi dalam hasil pengenalan terhadap citra keramik
tersebut. Faktor-faktor yang mempengaruhi tersebut adalah tingkat kecerahan, hasil
deteksi tepi citra, hasil deteksi Transformasi Hough, serta faktor penentuan parameter