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)
NO
YES
Load gambar pertama
Ubah gambar ke Grayscale
Crop gambar
Load gambar selanjutnya
NO
Gambar terakhir?
Simpan gambar dalam bentuk matrix (.mat)
YES STOP
Gambar 3.1
Secara
Diagram Alir Image Database Creation
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 it = i ± (5% x 255)
Bandingkan intensitas pixel-pixel yang berada di dalam mask dengan intensitas pixel tengah (it)
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
NO
Apakah pixel terakhir?
YES Inisialisasi geometric threshold g = ¾ area mask
Scanning matrix SUSAN (scanning column)
YES
USAN < g?
USAN = g - USAN
NO
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 NonMaximum 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
Hitu ng magn itud e d an sudut dari gradien gambar Imag = √(Ix2 + Iy2)
Scanning Column
NO
Kondisi 1 ?
Θ = tan-1(Ix / Iy)
YES
Meniadakan pixel yang magnitudenya tidak maksimum di wilayah sudut
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)
Pixel terakhir?
YES
Operasi Closing
Operasi Bridging
pada kondisi 1
NO
Kondisi 2 ?
YES
Meniadakan pixel yang magnitudenya tidak maksimum di wilayah sudut pada kondisi 1
Operasi Thining
NO
Kondisi 3 ?
YES
Meniadakan pixel yang magnitudenya tidak maksimum di wilayah sudut
Operasi Shrinking
pada kondisi 1
NO
Kondisi 4 ?
YES
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 Ix 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 Iy 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 NonMaximum 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 lab el yang sama u ntuk pixel-pixel yang saling berhubungan dan label yang berbed a un tuk pixel yan g tidak berhubungan
Hitung jumlah label berbeda yang ditemukan (Lmax)
Inisialisasi matrix untuk masing-masing shape yang akan d iekstrak shape = zeros (width, height, Lma x-1)
Inisialisas i 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 = [x1,x2,…,xn] row = [y1,y2,…,yn]
Hitung posisi start koordinat x dan y X1 = ((width – xle ngth)/2) + 1 Y1 = ((height – ylength)/2) + 1
Hitung jarak antara xmin dengan xmax dan ymin dengan ymax Ylength = ymax - ymin + 1 Xlength = xmax - xmin + 1
n=n+1
L=L+1
NO shape(row(n)ymin+y1, column(n)xmin+x1, L-1) = 1
n = nmax ?
YES
NO
L = Lmax ?
YES 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 xc = 1/n ∑xn yc = 1/n ∑yn
Tentukan starting pixel x1 = xmax y1 = ymin
Tentukan starting direction (scanning pixel dari arah 0 kemudian dilanjutkan CW)
Pindah ke pixel selanjutnya, berdasarkan arah xn+1 = xn ± 1 yn+1 = yn ± 1
Hitung jarak dari centroid dn = √((xc - xn)2 + (yc yn)2)
Tentukan direction (scanning p ixel dimulai dari 1 pixel CC W dari arah sebelumnya kemudian dilanjutkan CW)
NO
xn = x1 & yn = y1 ?
YES 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 gx sementara koordinat y nya dilambangkan dengan gy. 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 epochd = 10000 msed = 10-5
Update weight & bias
Inisialisasi weight & bias dengan nilai random
Hitung output
Hitung jumlah iterasi epoch = epoch + 1
Hitung mse mse = 1/n ∑(t – an)2
NO epoch = epochd ?
NO
YES
mse ≤ msed ?
YES 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 msed ditetapkan pada10-5, dengan pertimbangan bahwa dengan nilai msed yang besar, keakuratan jaringan syaraf tiruan yang dibentuk menjadi berkurang, sementara nilai msed 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 epochd 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.