BAB 3 METODE PERANCANGAN

dokumen-dokumen yang mirip
BAB 4 ANALISA DAN BAHASAN

BAB 2 KONSEP DASAR PENGENAL OBJEK

BAB 2 LANDASAN TEORI. fuzzy logic dengan aplikasi neuro computing. Masing-masing memiliki cara dan proses

BAB 2 LANDASAN TEORI

BAB 3 PERANCANGAN SISTEM

PEMANFAATAAN BIOMETRIKA WAJAH PADA SISTEM PRESENSI MENGGUNAKAN BACKPROPAGATION NEURAL NETWORK

BAB III METODE PENELITIAN. Desain penelitian untuk pengenalan nama objek dua dimensi pada citra

PERANCANGAN SISTEM PENGENALAN DAN PENYORTIRAN KARTU POS BERDASARKAN KODE POS DENGAN MENGGUNAKAN ARTIFICIAL NEURAL NETWORK

PERANCANGAN PROGRAM PENGENALAN BENTUK MOBIL DENGAN METODE BACKPROPAGATION DAN ARTIFICIAL NEURAL NETWORK SKRIPSI

BAB III METODOLOGI PENELITIAN

BAB 3 PERANCANGAN SISTEM

BAB 3 ANALISA DAN PERANCANGAN SISTEM

BAB III METODOLOGI PENELITIAN

BAB 3 METODE PERANCANGAN. 3.1 Evaluasi Metode dan Algoritma Stereo Vision. Evaluasi terhadap beberapa metode dan algoritma yang ada untuk memperoleh

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM APLIKASI

ALGORITMA LEARNING VECTOR QUANTIZATION UNTUK PENGENALAN BARCODE BUKU DI PERPUSTAKAAN UNIVERSITAS GALUH CIAMIS

BAB 3 ANALISIS DAN PERANCANGAN SISTEM PROGRAM APLIKASI HANDS RECOGNIZER

BAB III METODE PENELITIAN. ada beberapa cara yang telah dilakukan, antara lain : akan digunakan untuk melakukan pengolahan citra.

BAB III PERANCANGAN DAN IMPLEMENTASI SISTEM

BAB II DASAR TEORI. 2.1 Meter Air. Gambar 2.1 Meter Air. Meter air merupakan alat untuk mengukur banyaknya aliran air secara terus

BAB 2 LANDASAN TEORI

BAB III PERANCANGAN SISTEM

BAB III PERANCANGAN SISTEM

BAB III METODE PENELITIAN. menjawab segala permasalahan yang ada dalam penelitian ini.

BAB III METODE PENELITIAN

BAB IV HASIL DAN PEMBAHASAN. Implementasi antar muka dalam tugas akhir ini terdiri dari form halaman

BAB III METODE PENELITIAN. dan bahan, agar mendapatkan hasil yang baik dan terstruktur. Processor Intel Core i3-350m.

BAB 3 PERANCANGAN DAN PEMBUATAN SISTEM

Implementasi Algoritma Canny dan Backpropagation dalam Pengenalan Pola Rumah Adat

BAB 3 ANALISA DAN PERANCANGAN

Neural Network (NN) Keuntungan penggunaan Neural Network : , terdapat tiga jenis neural network Proses Pembelajaran pada Neural Network

SIMULASI PENGENALAN TULISAN MENGGUNAKAN LVQ (LEARNING VECTOR QUANTIZATION )

Klasifikasi Pola Huruf Vokal dengan Menggunakan Jaringan Saraf Tiruan

BAB III PERANCANGAN SISTEM. Pada dewasa sekarang ini sangat banyak terdapat sistem dimana sistem tersebut

Penggunaan Jaringan Syaraf Tiruanuntuk Membaca Karakter pada Formulir Nilai Mata Kuliah

Jurnal Ilmiah Komputer dan Informatika (KOMPUTA) IMPLEMENTASI JARINGAN SYARAF TIRUAN BACKPROPAGATION UNTUK MENGENALI MOTIF BATIK

BAB 3 METODOLOGI PENELITIAN. a. Spesifikasi komputer yang digunakan dalam penelitian ini adalah

BAB III ANALISIS DAN PERANCANGAN

Penerapan Jaringan Saraf Tiruan Metode Backpropagation Menggunakan VB 6

Algoritma Kohonen dalam Mengubah Citra Graylevel Menjadi Citra Biner

BAB II NEURAL NETWORK (NN)

SISTEM PENGENALAN BARCODE MENGGUNAKAN JARINGAN SYARAF TIRUAN LEARNING VECTOR QUANTIZATION

Implementasi Extreme Learning Machine untuk Pengenalan Objek Citra Digital

BAB II LANDASAN TEORI

BAB 2 LANDASAN TEORI. Pengenalan suara (voice recognition) dibagi menjadi dua jenis, yaitu

BAB 4. Sistem Yang Diusulkan

BAB III PROSEDUR DAN METODOLOGI

Aplikasi yang dibuat adalah aplikasi untuk menghitung. prediksi jumlah dalam hal ini diambil studi kasus data balita

BAB 4 HASIL DAN BAHASAN. Percobaan dilakukan dengan menggunakan dua buah objek berbeda, seperti

BAB IV HASIL DAN PEMBAHASAN. Tabel 4.1 Kebutuhan Perangkat Keras. Perangkat Keras Spesifikasi Processor Intel Core i3. Sistem Operasi Windows 7

Tujuan Penelitian Tujuan penelitian ini adalah untuk melakukan deteksi penyakit pada daun rose dengan menggunakan metode ANN.

DAFTAR ISI. Lembar Pengesahan Penguji... iii. Halaman Persembahan... iv. Abstrak... viii. Daftar Isi... ix. Daftar Tabel... xvi

BAB III METODE PENELITIAN

BAB 2 LANDASAN TEORI

BAB 3 METODOLOGI PENELITIAN

BAB 3 ANALISIS DAN PERANCANGAN

BAB III METODELOGI PENELITIAN. Alat yang digunakan dalam penelitian ini adalah: a. Prosesor : Intel Core i5-6198du (4 CPUs), ~2.

BAB 2 LANDASAN TEORI

BAB II LANDASAN TEORI

BAB III ANALISIS DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN

BAB II LANDASAN TEORI

BAB 3 IMPLEMENTASI SISTEM

BAB III METODE PENELITIAN

BAB 4 PENGUJIAN DAN ANALISIS SISTEM

pbab 4 IMPLEMENTASI DAN EVALUASI PROGRAM APLIKASI uji coba terhadap program aplikasi pengenalan plat nomor kendaraan roda empat ini,

BAB II LANDASAN TEORI

BAB IV HASIL DAN PEMBAHASAN. perangkat. Alat dan bahan yang digunakan sebelum pengujian:

BAB 3 METODOLOGI. seseorang. Hal inilah yang mendorong adanya perkembangan teknologi

BAB 1 PENDAHULUAN. saham harus memperhatikan dengan baik keadaan ekonomi yang sedang berlangsung.

METODOLOGI PENELITIAN

BAB 1 PENDAHULUAN Latar Belakang

Bab III ANALISIS&PERANCANGAN

Pengenalan Tulisan Tangan Dengan Menggunakan Metode Diagonal Feature Extraction dan K-Nearest Neighbour. Yustar Pramudana

BAB 4 IMPLEMENTASI DAN EVALUASI

IMPLEMENTASI DEEP LEARNING BERBASIS TENSORFLOW UNTUK PENGENALAN SIDIK JARI

BAB 1 PENDAHULUAN Latar belakang masalah

Implementasi Jaringan Syaraf Tiruan Backpropagation Untuk Pengenalan Citra Digital Menggunakan Deteksi Tepi

BAB 2 LANDASAN TEORI

Program Aplikasi Komputer Pengenalan Angka Dengan Pose Jari Tangan Sebagai Media Pembelajaran Interaktif Anak Usia Dini

BAB 3 PERANCANGAN SISTEM

BAB III METODOLOGI PENELITIAN. Gambar 3.1 merupakan desain penelitian yang akan digunakan pada

BAB II TINJAUAN PUSTAKA

ANALISIS DAN PERANCANGAN APLIKASI PENGENAL DAN PENGHITUNG POLIGON MENGGUNAKAN ARTIFICIAL NEURAL NETWORKS METODE BACKPROPAGATION

APLIKASI JARINGAN SYARAF TIRUAN PADA PENGENALAN POLA TULISAN DENGAN METODE BACKPROPAGATION

IDENTIFIKASI TANDA TANGAN MENGGUNAKAN ALGORITMA DOUBLE BACKPROPAGATION ABSTRAK

BAB 3 PROSEDUR DAN METODOLOGI. menawarkan pencarian citra dengan menggunakan fitur low level yang terdapat

BAB 4 HASIL DAN ANALISA

KLASIFIKASI POLA HURUF VOKAL DENGAN MENGGUNAKAN JARINGAN SARAF TIRUAN BACKPROPAGATION. Dhita Azzahra Pancorowati

BAB III METODOLOGI PENELITIAN

SISTEM PENGENALAN KARAKTER DENGAN JARINGAN SYARAF TIRUAN ALGORITMA PERCEPTRON

UKDW BAB 1 PENDAHULUAN. 1.1 Latar Belakang Masalah

BAB 3 PERANCANGAN SISTEM. Sistem sortir mur dan baut ini terdiri dari beberapa rangkaian sub sistem yang

BAB 2 LANDASAN TEORI

Presentasi Tugas Akhir

Identifikasi Abnormalitas Paru-Paru Pada Citra Foto Thorax (Chest X-Ray) menggunakan Metode Wavelet Daubechies dan Jaringan Syaraf Tiruan

BAB 3 METODOLOGI PENELITIAN

BAB II TINJAUAN PUSTAKA. menggunakan PCA, kemudian penelitian yang menggunakan algoritma Fuzzy C-

PERANGKAT LUNAK PENGKONVERSI TEKS TULISAN TANGAN MENJADI TEKS DIGITAL

PENGOLAHAN CITRA DIGITAL

Transkripsi:

BAB 3 METODE PERANCANGAN 3.1 Konsep dan Pendekatan Tujuan utama yang ingin dicapai dalam pengenalan objek 3 dimensi adalah kemampuan untuk mengenali suatu objek dalam kondisi beragam. Salah satu faktor yang menentukan keberhasilan pengenalan suatu objek 3 dimensi adalah kondisi pencahayaan. Kamera yang umum digunakan sebagai sensor dalam pengenalan objek 3 dimensi bekerja dengan cara menangkap pantulan cahaya dari objek observasi. Pencahayaan yang kurang baik akan menyebabkan kurangnya informasi yang didapatkan oleh kamera, yang tentunya akan mempengaruhi proses pengolahan gambar dan pengenalan. Selain itu, faktor pencahayaan juga dapat menyebabkan terjadinya bayangan danrefleksi pada objek observasi, yang dapat mengakibatkan kesalahan persepsi akan bentuk objek tersebut. Faktor lain yang tidak kalah pentingnya adalah orientasi objek. Hal ini dikarenakan, informasi gambar yang didapatkan dari objek bisa berubah seiring berubahnya orientasi objek. Selain kemampuan pengenalan yang baik, suatu sistem pengenalan juga harus dapat melakukan pemrosesan secara sederhana. Hal ini penting agar sistem tersebut nantinya dapat diimplementasikan secara luas, atau dengan kata lain dapat digunakan pada komputer yang memiliki spesifikasi setara processor Intel Core 2 Duo. Namun demikian, reliabilitas sistem juga harus tetap dijaga. 3.1.1 Mono Vision vs Stereo Vision Salah satu keunggulan stereo vision dibandingkan mono vision adalah informasi kedalaman yang bisa diperoleh dari perbandingan kedua gambar yang ditangkap. Pada stereo vision, perbedaan sudut pandang objek yang dapat menghasilkan informasi disparity mapakan bergantung pada pengkondisian objek 3 dimensi dan jarak fokus kamera. Fitur untuk mengubah dan menyesuaikan jarak fokus kamera tersebut hanya dimiliki oleh kamera dengan spesifikasi tinggi. 29

30 Sehingga penggunaan kamera spesifikasi rendah dalam aplikasi stereovision tidak disarankan. Selain itu, perhitungan disparity map pada stereo vision membutuhkan waktu komputasi yang cukup lama. Oleh karena itu, pada skripsi ini digunakan mono vision untuk menyederhanakan pemrosesan objek 3 dimensi ke dalam bentuk 2 dimensi. Diharapkan, dengan melakukan pengambilan gambar suatu objek 3 dimensi dari beberapa sudut pandang yang berbeda, informasi 2 dimensi yang didapatkan cukup untuk menutupi hilangnya informasi kedalaman akibat konversi 3 dimensi ke 2 dimensi. 3.1.2 Canny vs Susan Edge Detection Algoritma yang digunakan pada SUSAN tidak bergantung pada penghalusan gambar sebelum gambar tersebut diproses. SUSAN juga tidak memperhitungkan turunan dari ruang pixel pada gambar, melainkan menentukan tepi objek dengan membandingkan intensitas suatu pixel dengan pixel disekitarnya. Hal inilah yang menyebabkan metode SUSAN lebih tahan terhadap noise yang disebabkan oleh pencahayaan yang bervariasi. Selain itu, tepi yang dihasilkan metode SUSAN cenderung lebih kontinu dibandingkan metode Canny. Namun metode SUSAN kurang dapat mendeteksi tepian objek yang samar. Kelebihan yang dimiliki SUSAN ini dianggap lebih sesuai untuk diaplikasikan pada sistem yang akan dibuat pada skripsi ini. 3.1.3 Descriptor Comparison Descriptor yang dimaksud di sini adalah kumpulan nilai numerik yang menggambarkan fitur-fitur khusus dari suatu objek sehingga dapat dibedakan dengan objek lainnya. Dengan kata lain, descriptor di sini juga berfungsi untuk menyederhanakan pemrosesan, karena informasi dari gambar yang diolah hanya yang penting-penting saja. Pada skripsi ini, descriptor yang digunakan harus memiliki sifat scale-invariant dan orientation-invariant, karena diharapkan sistem

31 yang diciptakan dapat mengenali objek yang diberikan walaupun orientasi dan posisinya berubah. Dari semua descriptor yang ada, beberapa descriptor yang memenuhi kriteria ini antara lain pixel representation, centroid distance function, chain code, radial descriptor. Pixel representation memiliki tingkat kerumitan yang paling rendah diantara keempat algoritma. Kekurangan algoritma ini adalah pada bentuk descriptor yang tidak disederhanakan dengan baik, dan berpeluang memberatkan pemrosesan di tahap selanjutnya. Radial descriptor memiliki sifatinvariant terhadap rotasi yang hanya dapat berlaku pada perubahan orientasi satu sumbu, atau dengan kata lain 2 dimensi. Hal ini menjadi kekurangan utama dari metode ini, karena sistem membutuhkan descriptor yang bersifat invariant terhadap rotasi 3 dimensi. Centroid distance function dan chain code merupakan dua metode yang dapat saling mendukung dalam menangani masalah invariant terhadap rotasi 3 dimensi. Selain itu, tingkat kesulitan dari algoritma kedua metode tersebut cukup mudah. Dari kelebihankelebihan ini, kedua metode ini dianggap yang paling sesuai untuk digunakan pada sistem pengenalan objek 3 dimensi yang akan dibuat. 3.1.4 Fuzzy Logic vs Neural Network Dua algoritma yang umum digunakan untuk pengenalan objek adalah logika fuzzy dan jaringan syaraf tiruan. Perbedaan mendasar dari kedua metode tersebut dapat dilihat dari kemudahan pengaturan parameter beserta penentuan keputusan yang harus diambil terhadap masing-masing parameter tersebut. Logika fuzzy hanya dapat digunakan untuk memecahkan masalah yang solusinya dapat dipaparkan dalam bentuk pernyataan ifthen. Dengan kata lain, dibutuhkan pemodelan terdahulu akan hasil output yang diharapkan. Oleh karena itu, logika fuzzy membutuhkan input yang relatif konsisten agar dapat mengambil keputusan yang sesuai terhadap input tersebut.

32 Berbeda dengan logika fuzzy, jaringan syaraf tiruan dapat mentoleransi nilai input untuk mendapatkan output yang sesuai dengan target. Kelebihan ini dianggap lebih sesuai dengan tujuan yang ingin dicapai yang melibatkan beberapa kondisi berbeda dari pengambilan input yaitu kondisi pencahayaan dan orientasi objek. Terlebih lagi, metode ini tidak membutuhkan model matematika yang spesifik untuk menyelesaikan masalah tertentu. 3.2 Perancangan dan Pengembangan 3.2.1 Image Database Creation Proses pembentukan image database dilakukan dengan menggunakan fungsi-fungsi yang telah disediakan oleh MATLAB, seperti inisialisasi kamera, pengambilan snapshot, load dan save gambar. Sebelum mengambil gambar, pastikan sumbu horizontal kamera sejajar dengan sumbu horizontal objek dan sudut pandang kamera mengarah tepat pada titik pusat rotating platform. Hal ini dilakukan agar jarak antara titik pusat objek dengan kamera selalu samaseiring diputarnya rotating platform. Berikut ini adalah diagram alir dari proses pembentukan image database yang digunakan:

33 START Inisialisasi Kamera Posisikan Rotating Platform pada sudut 0 Simpan Gambar Pengambilan gambar oleh Kamera Sudut Rotating Platform = 165? Tambahkan 15 ke sudut Rotating Platform (Putar CW) Load gambar pertama Crop gambar Ubah gambar ke Grayscale Load gambar selanjutnya Gambar terakhir? Simpan gambar dalam bentuk matrix (.mat) STOP Gambar 3.1 Diagram Alir Image Database Creation Secara sederhana, proses pembentukan image database dilakukan dengan mengambil snapshot objek yang terletak pada tengah rotating platform dari sudut pandang yang berbeda-beda. Pengambilan gambar dilakukan setiap kenaikan 15 sudut rotating platform dimulai dari sudut 0 sampai dengan 165. Gambar-gambar yang didapatkan ini kemudian akan melalui proses cropping untuk mengekstrak bagian dari gambar yang mengandung informasi objek saja. Hal ini dilakukan untuk

34 mengurangi waktu pemrosesan gambar selanjutnya. Berikut adalah contoh hasil proses cropping. Gambar 3.2 Cropping: Uncropped (kiri); Cropped (kanan) Setelah proses cropping, proses selanjutnya yang dilakukan adalah grayscaling. Proses grayscaling adalah sebuah proses untuk mengkonversikan gambar dari RGB menjadi grayscale, dengan tujuan untuk menyederhanakan proses komputasi dari 24 bit menjadi 8 bit. Contoh hasil proses grayscaling dapat dilihat pada gambar berikut ini: Gambar 3.3 Grayscaling: RGB (kiri); Grayscale (kanan) Gambar-gambar yang sudah melalui proses cropping dan grayscaling kemudian akan disimpan dalam bentuk matriks (.mat) menggunakan Matlab. Setiap matriks yang dibuat akan berisikan gambar-gambar satu jenis objek yang diambil dari sudut pandang yang berbeda-beda.

35 3.2.2 Training Proses training di sini bertujuan untuk mendapatkan nilai bobot dan bias yang optimal pada neural network agar dapat mengenali objek-objek tertentu. Load Image Database Image Preprocessing Image Processing ANN (Training) Gambar 3.4 Blok Diagram Training Proses training dimulai dengan membuka image database yang telah disimpan sebelumnya. Selanjutnya diikuti dengan proses pengolahan gambar yang memiliki alur sama seperti proses pengolahan gambar yang umum digunakan, yaitu terdiri dari image pre-processing dan image processing. Pada proses training ini, tahapan image preprocessing yang digunakan adalah proses SUSAN Edge Detection dan Non-Maximum Suppression. Tahapan image processing yang digunakan antara lain proses Shape Extraction, Centroid dan Chain Code with Length Estimation. Berikut ini adalah diagram blok yang menggambarkan tahapan dari image preprocessing dan image processing yang digunakan: SUSAN Edge Detection Non-Maximum Suppression Gambar 3.5 Diagram Blok Image Preprocessing Shape Extraction Centroid Chain Code with Length Estimation Gambar 3.6 Diagram Blok Image Processing

36 Pada skripsi ini, metode edge detection yang digunakan adalah SUSAN Edge Detection dengan pertimbangan metode ini memiliki tingkat pendeteksian yang lebih baik terutama pada kondisi gambar yang memiliki noise dan menghasilkan tepi yang continue. Berikut ini adalah diagram alir dari proses SUSAN Edge Detection yang digunakan:

37 START Inisialisasi jari-jari mask r = 5 Inisialisasi starting pixel x = 1 + r y = 1 + r Pindah ke pixel selanjutnya (scanning column) Tentukan toleransi intensitas i t = i ± (5% x 255) Bandingkan intensitas pixel-pixel yang berada di dalam mask dengan intensitas pixel tengah (it) Apakah pixel terakhir? Masukkan nilai USAN pada matrix SUSAN sesuai dengan posisi pixel tengah Hitung nilai USAN berdasarkan jumlah pixel di dalam mask yang memiliki intensitas sama dengan pixel tengah Inisialisasi geometric threshold g = ¾ area mask USAN = g - USAN Scanning matrix SUSAN (scanning column) USAN < g? USAN = 0 Apakah pixel terakhir? STOP Gambar 3.7 Diagram Alir SUSAN Edge Detection Berbeda dengan metode edge detection lain yang umum digunakan, contohnya Canny Edge Detection, SUSAN Edge Detection tidak menggunakan penurunan dari gambar untuk menentukan pixel

38 tepi, melainkan membandingkan intensitas masing-masing pixel pada gambar dengan intensitas pixel-pixel disekelilingnya yang berada dalam radius tertentu dan mencari nilai USAN. Proses ini dilakukan dengan melakukan scanning pixel per pixel pada gambar. Seiring dilakukannya scanning, akan diletakkan mask dengan radius tertentu pada pixel yang bersangkutan. Intensitas pixel-pixel yang berada dalam area mask akan dibandingan dengan intensitas pixel tersebut. Nilai USAN didapatkan dengan menghitung jumlah pixel di dalam area mask yang memiliki intensitas yang relatif sama dengan intensitas pixel tersebut. Nilai USAN ini digunakan untuk menggantikan nilai intensitas pixel yang bersangkutan. Setelah mendapatkan nilai USAN masing-masing pixel pada gambar, selanjutnya akan dilakukan proses geometric thresholding yang bertujuan untuk menghilangkan noise sekaligus membalik warna gambar hasil SUSAN Edge Detector sebelumnya agar pixel tepi yang dihasilkan berwarna putih sementara pixelbackground berwarna hitam. Nilai radius mask (r) yang digunakan adalah 5, dengan pertimbangan bahwa dengan nilai radius yang besar, pixel tepi yang didapatkan akan menjadi lebih tebal, sementara nilai radius yang terlalu kecil dapat menyebabkan pixel tepi yang tidak continue. Nilai geometric threshold yang digunakan adalah 0.75 dari nilai maksimum USAN yang mungkin. Nilai ini ditentukan berdasarkan analisa respon SUSAN Edge Detection terhadap gambar yang mengandung noise. Contoh hasil proses SUSAN Edge Detection dapat dilihat pada gambar berikut ini: Gambar 3.8 Sebelum SUSAN (kiri); Sesudah SUSAN (kanan)

39 Umumnya proses SUSAN Edge Detection selalu diikuti dengan proses Non-Maximum Suppresion. Tujuan dari proses Non- Maximum Suppresion adalah untuk mempertajam pixel tepi yang dihasilkan oleh proses SUSAN Edge Detection. Berikut ini adalah diagram alir dari proses Non-Maximum Suppression yang digunakan: START Konversi sudutsudut yang negatif ke positif Hitung magnitude dan sudut dari gradien gambar Imag = (Ix 2 + Iy 2 ) Θ = tan -1 (Ix / Iy) Kondisi 1. (Θ>315+22.5 && Θ<=0+22.5) (Θ>180-22.5 && Θ<=180+22.5) Kondisi 2. (Θ>45-22.5 && Θ<=45+22.5) (Θ>225-22.5 && Θ<=225+22.5) Kondisi 3. (Θ>90-22.5 && Θ<=90+22.5) (Θ>270-22.5 && Θ<=270+22.5) Kondisi 4. (Θ>135-22.5 && Θ<=135+22.5) (Θ>315-22.5 && Θ<=315+22.5) Scanning Column Pixel terakhir? Operasi Closing Kondisi 1? Meniadakan pixel yang magnitudenya tidak maksimum di wilayah sudut pada kondisi 1 Operasi Bridging Kondisi 2? Meniadakan pixel yang magnitudenya tidak maksimum di wilayah sudut pada kondisi 1 Operasi Thining Kondisi 3? Meniadakan pixel yang magnitudenya tidak maksimum di wilayah sudut pada kondisi 1 Operasi Shrinking Kondisi 4? Meniadakan pixel yang magnitudenya tidak maksimum di wilayah sudut pada kondisi 1 STOP Gambar 3.9 Diagram Alir Non-Maximum Suppression Proses Non-Maximum Suppression dilakukan dengan mencari besar dan arah dari gradien gambar, yang mana gradien yang dimaksud di sini adalah perubahan intensitas pada gambar. Besar dari

40 masing-masing pixel akan digunakan sebagai perbandingan untuk menentukan pixel-pixel mana yang memiliki intensitas maksimum. Untuk menentukan gradient gambar, pada mulanya dilakukan scanning pixel per pixel guna mencari perubahan intensitas pixel yang bersangkutan sepanjang sumbu x dan sumbu y. Perubahan intensitas sepanjang sumbu x atau I x didapat dengan mengurangkan intensitas pixel yang berada di sebelah kanan dengan pixel yang berada di sebelah kiri pixel yang bersangkutan kemudian membagi dua hasilnya. Sementara perubahan intensitas sepanjang sumbu y atau I y didapatkan dengan mengurangkan intensitas pixel yang berada di bawah dengan intensitas pixel yang berada di atas pixel yang bersangkutan kemudian membagi dua hasilnya. Perubahan intensitas ini digunakan untuk menentukan magnitude I dan arah gradien gambar menggunakan persamaan: Persamaan 3.1 Menentukan Magnitude dan Arah Gradien Arah masing-masing pixel digunakan untuk menentukan pixel mana disekelilingnya yang akan dibandingkan magnitudenya. Gambar 3.10 Penentuan Arah Gradien Gambar Misalkan arah pixel berada di antara 0 atau 180, maka pixel di sekelilingnya yang akan dibandingkan adalah pixel pada arah 0 dan 4, seperti yang ditunjukkan pada gambar di atas. Apabila ada di antara

41 kedua pixel tersebut yang memiliki magnitude lebih kecil dari magnitude pixel tengah, maka nilai pixel tersebut akan dinolkan. Setelah magnitude masing-masing pixel dibandingkan, pixelpixel yang akan tersisa hanyalah pixel-pixel dengan intensitas maksimum saja. Walaupun demikian, gambar yang didapatkan tidak selalu sempurna, dalam artian masih terdapat pixel tepi yang tebal atau kurang kontinu. Oleh karena itu perlu dilakukan operasi closing dan bridging untuk menyambungkan pixel-pixel tepi yang tidak terhubung, serta operasi thinning dan shrinking untuk mendapatkan pixel tepi dengan ketebalan satu pixel. Contoh hasil proses Non- Maximum Suppression dapat dilihat pada gambar berikut ini: Gambar 3.11 NMS: Sebelum NMS (kiri); Sesudah NMS (kanan) Sebelum pembentukan descriptor, gambar hasil proses nonmaximum suppression akan dipecah terlebih dahulu melalui proses shape extraction. Proses ini dilakukan karena sisi objek yang terlihat belum tentu sama ketika orientasi objek berubah terhadap kamera. Selain itu, iluminasi yang terdapat pada masing-masing sisi objek belum tentu sama ketika orientasi objek diubah. Oleh karena itu, informasi sisi objek harus didapatkan dari semua orientasi untuk mengurangi kemungkinan terjadinya kehilangan informasi baik karena pengaruh pencahayaan ataupun sudut pandang kamera.

42 START Beri label yang sama untuk pixel-pixel yang saling berhubungan dan label yang berbeda untuk pixel yang tidak berhubungan Hitung jumlah label berbeda yang ditemukan (L max) Inisialisasi matrix untuk masing-masing shape yang akan diekstrak shape = zeros (width, height, Lmax-1) Inisialisasi ukuran matrix untuk masing-masing shape yang akan diekstrak width = 160 height = 160 Inisialisasi label start L = 2 Cari koordinat x dan y pixel-pixel yang memiliki label L column = [x 1,x 2,,x n] row = [y 1,y 2,,y n] Hitung posisi start koordinat x dan y X1 = ((width xlength)/2) + 1 Y1 = ((height ylength)/2) + 1 Hitung jarak antara x min dengan x max dan y min dengan y max Y length = y max - y min + 1 X length = x max - x min + 1 n = n + 1 L = L + 1 shape(row(n)- y min +y 1, column(n)- x min +x 1, L-1) = 1 n = n max? L = L max? STOP Gambar 3.12 Diagram Alir Shape Extraction Proses shape extraction dimulai dengan pemberian label atau nomor pada semua pixel tepi yang ada pada gambar. Pixel-pixel tepi yang saling berhubungan akan diberikan label yang sama, sementara

43 pixel-pixel tepi yang tidak terhubung satu sama lain akan diberikan label yang berbeda. Dengan demikian, tepian dari masing-masing sisi objek akan memiliki label yang berbeda. Kemudian, koordinat masing-masing pixel tepi akan dicari dan dikelompokkan berdasarkan label yang diberikan. Hal ini dilakukan agar masing-masing sisi objek dapat ditampilkan pada gambar yang berbeda. Berikut ini adalah diagram alir dari proses Shape Extraction yang digunakan: Gambar 3.13 Sebelum Shape Extraction(kiri); Sesudah Shape Extraction(kanan) Untuk menyederhanakan lebih lanjut masing-masing shape yang sudah diekstrak, guna meminimalisir banyak input jaringan syaraf tiruan, masing-masing shape akan direpresentasikan ke dalam bentuk descriptor. Descriptor merupakan representasi sederhana suatu gambar, yang berisikan fitur-fitur khusus dari gambar tersebut, sehingga dapat dibedakan dengan gambar lainnya. Pada skripsi ini, digunakan tipe descriptor Centroid Distance Function yang termasuk dalam golongan shape descriptor yang fungsinya adalah memetakan titik pusat gravitasi dari shape tertentu terhadap tepiannya (Yang, 2008). Ini dilakukan dengan pertimbangan bahwa descriptor ini merupakan representasi shape paling sederhana yang masih dapat mengembalikan bentuk asli dari shape yang direpresentasikan. Berikut ini adalah diagram alir dari proses pembentukan descriptor yang digunakan:

44 START Hitung centroid x c = 1/n x n y c = 1/n y n Tentukan starting pixel x 1 = x max y 1 = y min Tentukan starting direction (scanning pixel dari arah 0 kemudian dilanjutkan CW) Hitung jarak dari centroid d n = ((x c - x n ) 2 + (y c - y n ) 2 ) Pindah ke pixel selanjutnya, berdasarkan arah x n+1 = x n ± 1 y n+1 = y n ± 1 Tentukan direction (scanning pixel dimulai dari 1 pixel CCW dari arah sebelumnya kemudian dilanjutkan CW) x n = x 1 & y n = y 1? STOP Gambar 3.14 Diagram Alir Pembentukan Descriptor Tahap awal dalam pembentukan Centroid Distance Function adalah menentukan centroid dari masing-masing shape yang sudah diekstrak. Titik pusat gravitasi didapatkan dengan mencari rata-rata koordinat x dan koordinat y dari pixel tepi shape yang bersangkutan. Persamaan 3.2 Menentukan Titik Pusat Gravitasi Pada Gambar

45 Koordinat x titik pusat gravitasi dilambangkan dengan g x sementara koordinat y nya dilambangkan dengan g y. Contoh penempatan titik pusat gravitasi pada masing-masing shape yang diekstrak dapat dilihat pada gambar 3.15. Gambar 3.15 Centroid pada masing-masing shape yang diekstrak Setelah mendapatkan titik pusat gravitasi maka Centroid Distance Function dapat ditentukan. Pengukuran jarak dari centroid ke masing-masing pixel tepi ini dilakukan dengan menggabungkan proses chain code dan distance estimation. Chain code digunakan untuk menyusuri pixel-pixel tepi secara berurutan. Seiring pembentukan chain code, jarak dari centroid ke masing-masing pixel tepi yang dilalui akan dihitung menggunakan persamaan trigonometri biasa, yaitu dengan membandingkan koordinat titik pusat massa dengan pixel tepi yang bersangkutan. Jarak-jarak tersebutlah yang akan merepresentasikan shape yang diekstrak ke dalam bentuk vektor. Contoh grafik vektor Centroid Distance Function dapat dilihat pada gambar 3.16.

46 Gambar 3.16 Grafik Centroid Distance Function untuk masingmasing shape yang diekstrak Descriptor yang didapatkan dari proses sebelumnya akan digunakan sebagai input selama proses pelatihan jaringan syaraf tiruan. Keunggulan dari jaringan syaraf tiruan adalah ketahanan terhadap perubahan input dan dapat memberikan solusi terhadap suatu permasalahan sistem tanpa perlu pemodelan sistem terdahulu. Proses pembentukan Jaringan syaraf tiruan dilakukan dengan menggunakan fungsi-fungsi yang telah disediakan oleh MATLAB, seperti inisialisasi neural network dan neural network training. Berikut ini adalah diagram alir dari proses pelatihan jaringan syaraf tiruan yang digunakan:

47 START Inisialisasi epoch d = 10000 mse d = 10-5 Inisialisasi weight & bias dengan nilai random Hitung output Update weight & bias Hitung jumlah iterasi epoch = epoch + 1 Hitung mse mse = 1/n (t a n ) 2 epoch = epoch d? mse mse d? STOP Gambar 3.17 Diagram alir pelatihan jaringan syaraf tiruan Dalam proses perancangan suatu jaringan syaraf tiruan, terdapat beberapa hal penting yang perlu diperhatikan. Pertama-tama, jumlah input neuron ditentukan berdasarkan jumlah karakteristik yang akan digunakan untuk mempertimbangkan output yang dihasilkan. Pada skripsi ini, jumlah input neuron yang digunakan adalah 2000, yaitu sejumlah elemen dari masing-masing descriptor. Jumlah output jaringan ditentukan berdasarkan banyaknya kombinasi output yang diharapkan. Pada skripsi ini, jumlah output neuron yang digunakan adalah 2, dengan pertimbangan bahwa ke empat objek yang akan dideteksi dapat direpresentasikan dalam kombinasi angka 2-bit. Selain jumlah input dan output neuron, banyaknya hidden layer dan jumlah node pada masing-masing hidden layer juga harus dipertimbangkan. Banyaknya hidden layer menentukan kemampuan jaringan syaraf tiruan dalam memecahkan masalah. Jaringan syaraf

48 tiruan yang memiliki banyak hidden layer dapat memecahkan permasalahan yang lebih kompleks. Walaupun demikian, dalam memecahkan masalah yang relatif sederhana, penggunaan hidden layer yang banyak akan mengakibatkan waktu komputasi yang lama dibandingkan dengan yang menggunakan hidden layer sedikit. Oleh karena itu banyaknya hidden layer harus disesuaikan dengan kebutuhan masing-masing sistem. Pada skripsi ini, jumlah hidden layer yang digunakan adalah sebanyak 1 layer, dengan pertimbangan untuk menghemat waktu komputasi. Selain itu, jaringan syaraf tiruan dengan 1 hidden layer sudah dapat digunakan untuk memecahkan hampir semua jenis masalah. Jumlah node pada hidden layer menentukan seberapa besar ketahanan jaringan syaraf tiruan terhadap perubahan input. Semakin sedikit jumlah node pada hidden layer, maka jaringan syaraf tiruan yang dihasilkan akan memiliki ketahanan terhadap perubahan input yang semakin tinggi. Ketahanan yang tinggi tidak selalu berarti baik, karena dengan demikian dapat mengakibatkan kesalahan persepsi sewaktu proses pengenalan. Algoritma backpropagation menggunakan metode supervised learning, yang artinya target output yang diharapkan sudah ditentukan terlebih dahulu. Selama proses training, Jaringan syaraf tiruan akan berusaha untuk mengubah nilai bobot dan bias pada masing-masing neuron nya guna meminimalisir eror output, yaitu selisih antara target output denganoutputaktual yang didapat. Proses pelatihan Jaringan syaraf tiruan dimulai dengan menentukan parameter yang harus dicapai diakhir pelatihan. Pada skripsi ini, parameter yang dijadikan acuan adalah mean square error. Metode mean square error dipilih agar performa sistem dapat ditinjau secara menyeluruh, bukan hanya berdasarkan hasil akhirnya saja. Desired Mean Square Error atau mse d ditetapkan pada10-5, dengan pertimbangan bahwa dengan nilai mse d yang besar, keakuratan jaringan syaraf tiruan yang dibentuk menjadi berkurang, sementara nilai mse d yang terlalu kecil dapat menyebabkan waktu training menjadi sangat lama dan pengaruhnya terhadap peningkatan

49 keakuratan jaringan syaraf tiruan yang dihasilkan juga kurang signifikan. Jumlah maksimum iterasi yang diperbolehkan atau epoch d ditetapkan pada 10000, semata-mata untuk membatasi agar proses training tidak berlangsung terlalu lama. Apa bila selama proses training, iterasi yang dilakukan melebihi 10000, maka training tersebut dianggap gagal. Sehingga patokan suksesnya training lebih dilihat dari tercapainya Desired Mean Square Error. 3.2.3 Testing Proses testing di sini bertujuan untuk melakukan pengetesan terhadap keakuratan jaringan syaraf tiruan yang telah diperoleh dari proses training sebelumnya. Capture Image Image Preprocessing Image Processing ANN (Recognition) Gambar 3.18 Blok Diagram Testing Proses testing yang dilakukan hampir sama dengan proses training, hanya saja gambar yang akan diproses tidak diambil dariimage database, melainkan diambil secara langsung oleh kamera. Oleh karena itu, proses grayscaling juga harus ditambahkan ke dalam blok diagram image preprocessing, sehingga urutan image preprocessing yang digunakan meliputi grayscaling, SUSAN Edge Detection dan Non-Maximum Suppression. Tahapan image processing yang digunakan sama dengan yang dilakukan pada saat training, antara lain Shape Extraction, Centroid dan Chain Code with Length Estimation. Hasil descriptor yang didapat akan dimasukkan ke dalam jaringan syaraf tiruan yang telah diperoleh dari proses training sebelumnya. Output dari jaringan syaraf tiruan akan berupa tulisan berupa nama dari objek yang terdeteksi.