Selasa, 30 April 2013

Pengidentifikasian Tanda Tangan Menggunakan Jaringan Saraf Tiruan



Sekarang ini, sudah cukup banyak teknologi yang menggunakan karakteristik alami manusia sebagai bahan dasar identifikasi, misalnya tanda tangan. Tanda tangan ini digunakan untuk mengenali karakteristik dan dijadikan sebuah ciri khas dari setiap manusia. Pengidentifikasian dengan model seperti ini disebut sebagai biometrik.  Pada umumnya, pengidentifikasian tanda tangan dengan cara mencocokan tanda tangan tersebut, cara ini masih dilakukan secara manual. Untuk mengintegrasikan sebuah sistem yang sesuai dengan teknologi sekarang ini, tanda tangan akan diubah dari bentuk fisik menjadi sebuah citra digital yang akan diproses nantinya. Proses pengidentifikasian ini membutuhkan sebuah jaringan saraf tiruan yang dapat mengidentifikasi tanda tangan secara komputasi. Terdapat beberapa metode jaringan saraf tiruan yang dapat digunakan, namun yang akan dibahas pada tulisan ini adalah jaringan saraf tiruan dengan metode backpropagation dan jaringan saraf tiruan dengan metode learning vector quantization (LVQ).

1. Metode Backpropagation

Pada pengidentifikasian tanda tangan dengan metode ini, beberapa langkah yang dilakukan adalah

  •   Segmentasi citra

Segmentasi dilakukan untuk memilih dan memisahkan objek dari citra secara keseluruhan. Objek tersebut merupakan bagian dari citra yang akan diolah atau dianalisis. Salah satu teknik segmentasi berdasarkan intensitas warna adalah metode klasterisasi rerata (mean clustering).  Dalam hal ini terdapat dua buah cluster (kelompok), dimana nilai dari masing masing kelompok tersebut dicari rata – ratanya, sehingga dapat terlihat jelas perbedaan antara kelompok pertama dan kedua. Berikut ini adalah penjelasan gambarnya:
         
               
  •       Ekstraksi ciri
Pada tahap ini, citra dibagi-bagi menjadi beberapa baris M dan kolom N. Setiap kotak dilakukan pemayaran piksel untuk menentukan piksel dengan nilai intensitas rendah yang ada didalamnya. Apabila kotak tersebut bernilai intensitas rendah (hitam) maka kotak akan bernilai 1, sedangkan apabila bernilai intensitas tinggi (putih) maka kotak akan bernilai 0. Data yang disimpan dalam bentuk matriks M×N sebagai masukan data untuk diproses melalui jaringan saraf tiruan perambatan balik. Berikut ini penjelasan gambarnya:

  • Proses algoritma 
          Berikut ini adalah gambaran arsitektur dari jaringan saraf tiruan metode backpropagation :

            


Algoritma umpan maju diuraikan dalam langkah-langkah atau alur prosedur sebagai berikut :
1. Setiap unit masukan (Xn, n = 1, …, n) menerima sinyal-sinyal masukan xn dan mengirimkan sinyal-sinyal ini ke unit-unit selanjutnya (unit-unit tersembunyi).
2. Setiap unit tersembunyi (Ih, h = 1, …, h) menjumlahkan sinyal-sinyal terbobotnya. Kemudian menerapkan fungsi aktivasinya untuk menghitung sinyal keluarannya :
Ih = f (i_inh)
lalu mengirimkannya pada semua unit lapis lapis keluaran.
3. Setiap unit keluaran (Ok, k = 1, …, k) menjumlahkan sinyal masukan terbobotnya. Kemudian menerapkan fungsi aktivasi untuk menghitung sinyal keluarannya :
ok = f (o_ink)
Setelah sinyal keluaran didapatkan maka dimulai tahapan prosedur penghitungan kesalahan dan selanjutnya perambatan balik nilai kesalahan ke lapis tersembunyi lalu ke lapis keluaran sebagaimana dijelaskan dalam langkah – langkah berikut :

4. Pada setiap unit keluaran (Ok, k = 1, …, k) menerima sebuah pola keluaran target yang berhubungan dengan pola masukan pelatihan, untuk menghitung informasi kesalahannya,
δk = (tk – ok) f’(ok)
Lalu menghitung besar koreksi bobotnya (untuk memperbaiki wkh) :
Δ wkh = ηδkIh
Selanjutnya menghitung besar koreksi biasnya (yang akan digunakan untuk memperbaiki θkh)
Δθkh = ηδk
dan mengirimkan δk ke unit-unit lapis tersembunyi.
5. Pada setiap unit tersembunyi (Ih, h = 1, …, h) jumlahkan masukan deltanya (dari unit-unit lapis keluaran). Kemudian hasil ini akan digunakan untuk menghitung besar informasi informasi kesalahannya,
δh = δ_inh f’(ih)
Lalu menghitung besar koreksi bobotnya (untuk memperbaiki whn),  
Δ whn = ηδhxn
Dan menghitung koreksi biasnya (untuk memperbaiki θhn),
Δ θhn = ηδh
Prosedur selanjutnya adalah proses perbaikan bobot dan bias dari unit input dan unit tersembunyi, diuraikan dalam langkah-langkah berikut :

6. Masing-masing unit keluaran Ok, (k = 1, …, k) diperbaiki bobot dan biasnya :
wkh (baru) = wkh (lama) + Δwkh
θkh (baru) = θkh (lama) + Δ θkh
7. Masing-masing unit tersembunyi (Ih, h = 1, …, h) diperbaiki bobot dan biasnya :

whn (baru) = whn(lama) + Δ whn
θhn (baru) = θhn (lama) + Δ θhn
8. Proses berhenti pada saat koreksi kesalahan mencapai minimum. 

Berikut ini adalah diagram alur dari softwarenya :

 

2. Metode Learning Vector Quantization (LVQ)


     Pada metode Learning Vector Quantization (LVQ) memiliki tahap yang hampir sama dengan metode back propagation, hanya saja berbeda pada proses algoritmanya saja. Learning Vector Quantization (LVQ) adalah suatu metode untuk melakukan pembelajaran pada lapisan kompetitif yang terawasi. Suatu lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan vektor-vektor input. Kelas-kelas yang didapatkan sebagai hasil dari lapisan kompetitif ini hanya tergantung pada jarak antara vektor-vektor input. Jika dua vektor input mendekati sama, maka lapisan kompetitif akan meletakkan kedua vektor input tersebut ke dalam kelas yang sama. Berikut ini adalah arsitektur dari metode LVQ :

Apabila digambarkan dengan flow chart, algoritma dari LVQ adalah sebagai berikut :
Dibawah ini adalah tampilan dari hasil aplikasi pengidentifikasian tanda tangan dengan metode LVQ :

Tidak ada komentar:

Posting Komentar