IMPLEMENTASI METODE JARINGAN FUNGSI BASIS RADIAL (JFBR)
PADA PERANCANGAN SOFTWARE PENGENALAN WAJAH
Yoyok Heru P.I.
T.Telekomunikasi, T.Elektro, Politeknik Negeri malang
ABSTRAK
Model yang dikembangkan dalam penelitian ini adalah non-parametrik jaringan saraf tiruan (JST), karena model ini mempunyai struktur time series yang fleksibel. JST metode jaringan fungsi basis radial (JFBR) dapat digunakan untuk menguji data yang non-linier, sehingga metode ini sangat tepat diimplementasikan pada perancangan software pengenalan wajah yang mempunyai data non-linier. Tujuan dibangunnya software pengenalan wajah dengan sistem jaringan saraf tiruan (JST) metode JFBR adalah mengembangkan aplikasi metode ini pada proses pengenalan wajah baik secara real time maupun non real time.
Sistem JST yang dibangun adalah sebagai berikut: menyiapkan data input, memasukkan data pada lapisan input, mengaktifkan lapisan hidden dengan menggunakan formulasi Gauss, menentukan nilai output F(k), menghitung nilai bobot fungsi basis radial, yang terakhir adalah menyimpan bobot tersebut sebagai data hasil pembelajaran. Data yang diambil sebanyak 33 citra wajah orang dengan masing-masing menggunakan 3 posisi, ke 33 citra wajah mendapat perlakuan pembelajaran yang sama dan menghasilkan bobot yang disimpan dalam database. Untuk melakukan pengujian diambilkan data secara acak baik secara real time maupun non real time.
Software yang dibangan mampu melakukan proses pembelajaran dan proses pengujian pengenalan wajah,
dengan hasil uji performa sebagai berikut; Metode JFBR secara non real time dengan data input nilai kromatik
mempunyi akurasi rata-rata 93%, dengan rata-rata waktu pemrosesan data untuk 1 personal 1 posisi adalah 39 menit 43 detik. Metode JFBR secara real time dengan data input nilai kromatik mempunyi akurasi rata-rata 73%, dengan rata-rata waktu pemro-sesan data untuk 1 personal 1 posisi adalah 39 menit 43 detik.
Kata kunci : pengenalan wajah, Jaringan Fungsi Basis Radial (JFBR), perancangan software
1. PENDAHULUAN
Bidang pengenalan pola khususnya
pengenalan wajah merupakan hal yang sangat menarik dan layak mendapat perhatian untuk
diteliti. Karena aplikasi pengenalan wajah
mempunyai potensi komersial, seperti identifikasi tingkat kelelahan, identifikasi kriminal, otentifikasi user, dan yang lainnya.
Dua model yang dapat diimplementasikan dalam pengenalan wajah, yaitu model parametrik dan non-parametrik. Penggunaan model parametrik telah banyak dilakukan oleh beberapa peneliti diantaranya adalah Arun, et al (1997) yang meneliti penggunaan model parametrik pada pengenalan wajah dengan menggunakan transformasi features, kemudaian Lai dan Feng, et al (1999) meneliti pengenalan wajah menggunakan fourier holistik invarian. Sedangkan model non-parametrik salah satunya adalah model jaringan saraf tiruan. Model non-parametrik ini sering diaplikasikan dalam berbagai bidang sehingga berkembang sangat pesat. Selain model non-parametrik, Jaringan Saraf Tiruan (JST) mempunyai struktur fungsi time series yang fleksibel. JST model Fungsi Basis Radial (FBR) dapat dipakai juga untuk menguji non-linieritas dari data. Beberapa peneliti yang telah menggunakan model JFBR adalah White, et al (1989) meneliti
kondisi non-linier yang terabaikan pada time series dan deteksi non-linieritas pada data time series dengan menggunakan JST model FBR. Demikian juga penelitian yang dilakukan oleh Byung, et al (2004) tentang pengenalan wajah menggunakan metode Fungsi Basis Radial (FBR) pada Linear Discriminant Analysis (LDA), menunjukkan hasil rata-rata yang dicapai pada proses pengenalannya sebesar 93.5%.
Tujuan dibangunnya software pengenalan wajah dengan sistem jaringan saraf tiruan (JST) metode JFBR adalah mengembangkan aplikasi metode ini pada proses pengenalan wajah baik secara real time maupun non real time. Untuk mencapai tujuan ini perlu dirancang algoritma sebuah sistem yang mengimplementasikan sistem JST metode JFBR pada rekayasa software dengan cara melalui ekperimen.
2. Jaringan Fungsi Basis Radial(JFBR).
Haykin, et al (1994), Jaringan Fungsi Basis Radial (JFBR) adalah sebuah saraf feedforward multi lapis yang terdiri dari sebuah lapisan input, sebuah lapisan hidden bertindak sebagai proses non-linier dan sebuah lapisan output seperti ditunjukkan pada Gambar 1. Gambar ini menunjukkan adanya sebuah fungsi Gaussian yang merupakan fungsi basis radial. Terdapat pemetaan input-output dari
JFBR diuraikan dalam persamaan (i) berikut; K k _ k _ k (u;t ) w w y 1 0 (1) Dimana (u;t ) _ k _
adalah fungsi radial yang menghitung jarak antara vektor input u dengan
pusat fungsi tk. Pengaktifan pola unit pada lapisan
hidden sangat penting untuk menghitung bobot yang di bawa pada lapisan output, Gambar (1) berikut adalah struktur dari JFBR,
Gambar 1. Struktur JFBR dan fungsi Gaussian, Haykin, et al (1994).
Hasil dari FBR adalah nilai yang diperoleh dari perkalian antara lapisan aktifasi hidden dengan nilai bobot. Lapisan hidden merupakan bentuk radial dari lapisan input yang bertugas sebagai aktifasi yang diperoleh dari selisih antara titik input dengan pusat. Hubungan antara lapisan hidden dengan
output terdapat bobot yang disimbolkan k,
sedangkan 0 merepresentasikan bias, m
menunjuk-kan jumlah input dan k menunjukmenunjuk-kan jumlah neuron hidden. Fungsi Gaussian yang dipilih pada kernel adalah: ) || t u || exp( ) t ; u ( _ k _ k _ k _ 2 2 1 (2) dengan : k t = pusat fungsi, k = lebar deviasi || t u || _ k _
= jarak euclidean antara dengan
.
JFBR mempunyai kemampuan pendekatan umum, ini merupakan keuntungan yang diberikan oleh jaringan FBR. Keuntungan JFBR tersebut adalah mempunyai parameter non-linieritas, mempunyai metode pembelajaran yang efisien dan fleksibel. JFBR belajar mendekati peta input output yang diinginkan, yang hasilnya sangat ditentukan oleh data training ||u tk||
_ _
.
3. Struktur Pembelajaran Model Jaringan Fungsi basis Radial.
Pembelajaran dengan metode Jaringan Fungsi Basis radial (JFBR) mempunyai strukur jaringan
fungsi sebagai berikut;
x1 x2 xD k w1 w2 wk F1(x) F2(x) Fk(x) Input Layer Hiden Layer Output Layer
Gambar 2. Struktur Jaringan Fungsi Basis Radial dengan k output
Terlihat bahwa struktur dari JFBR mempunyai 3 lapis, yaitu lapisan input, lapisan hidden, dan lapisan output. Algoritma masing-masing lapisan adalah sebagai berikut;
a. Lapisan Input berfungsi sebagai masukan untuk lapisan hidden, dalam hal ini data input berupa nilai piksel yang sudah dikonversikan menjadi warna luminasi dan kromatik. Transformasi antar nilai kromatik piksel membentuk pola radial, dapat digambarkan sebagi berikut;
X1,1 X1,2 X1,3 X1,n X2,1 X2,2 X2,3 X2,n Xm,1 Xm,2 Xm,3 Xm,n X1,1 X1,2 X1,3 X1,n X2,1 X2,2 X2,3 X2,n Xm,1 Xm,2 Xm,3 Xm,n
Gambar 3. Transformasi matriks data input b. Lapisan hidden, level ini merupakan unit aktifasi
yang menerima data dari lapisan input, dengan menggunakan formula Gaussian persamaan di bawah ini; 2 2 2 i j , i i ) x x ( exp ) x ( (3)
diperoleh matriks lapisan hidden sebagai berikut; 2 2 , , 2 2 1 , 1 , 2 2 1 , 1 , 2 2 , 1 , 2 2 2 2 , 1 1 , 2 2 2 1 , 1 1 , 2 2 2 , 1 , 1 2 2 2 , 1 1 , 1 2 2 1 , 1 1 , 1 2 ) ( exp ... 2 ) ( exp 2 ) ( exp : : : : : : : : : : : : 2 ) ( exp ... 2 ) ( exp 2 ) ( exp 2 ) ( exp ... 2 ) ( exp 2 ) ( exp i n m n m i n m i n m i n m i i i n m i i x x x x x x x x x x x x x x x x x x
Gambar 4. Matrik fungsi Gauss
c. Lapisan output, diperoleh dari jumlah perkalian
antara nilai terbobot (wi) dengan matrik fungsi
) w . x x ( ) x ( F i k i i _ 1 (4)
Hasil akhir dari proses pembelajaran metode JFBR adalah matrik fungsi F, sebagai berikut;
k 2 1 k 2 1 k , k , k , k k , , , k , , , F : : F F w : : w w ... : : : : : : : : ... ... 2 1 2 2 2 1 2 1 2 1 1 1
Gambar 5. Matrik sistem JFBR
Pada penelitian ini nilai output ditentukan dengan menggunakan bantuan matriks eigen vektor (dengan
mencari nilai dan ) sehingga diperoleh nilai
bobot, kemudian nilai bobot tersebut disimpan dalam file sebagai data.
4. Rekayasa Software
Software yang dirancang bersumber pada implementasi jaringan saraf tiruan pada pengenalan wajah. Adapun langkah-langkah yang dilakukan seperti yang ditunjukkan oleh Gambar (6) dan Gambar (7) berikut;
Start
Siapkan data input JST A[m,n]
Aktifkan lapisan hidden dengan formulasi Gauss
2 2 , , 2 ) ( exp ) ( i j i k k A A A
Tentukan nilai output F(k)
Hitung nilai Bobot FBR
k k k k A F w ( ( )) 1. , End
Gambar 6. Diagram alir sistem JST
Start
Capture citra wajah
Praproses Data Proses pembelajaran Proses Pembelajaran Data
Proses Uji data
Data Base Pembelajaran Ya tidak END 1 2 4 5 3 Proses Pengujian selesai Ya tidak 6 Ya tidak
Gambar 7. Diagram alir aplikasi sistem JST pada pengenalan wajah.
Penjelasan diagram alir Gambar (6) dan Gambar (7) di atas adalah ;
Capture citra ;
a. Mengumpulkan data citra wajah dengan cara melakukan capture.
b. Memisahkan latar belakang dengan obyek. Pra-proses data ;
a. Memisahkan antara citra kulit dengan citra bukan kulit.
b. Melakukan segmentasi daerah wajah.
c. Menentukan pusat masa komponen wajah, seperti mata, pangkal hidung dan mulut. d. Melakukan rotasi agar diperoleh citra wajah
yang memenuhi letak horizontal dan vertikal. e. Mengambilan daerah wajah yang sudah
dirotasi.
f. Melakukan penskalaan area wajah dengan matrik 80 x 80 piksel.
Proses pembelajaran;
a. Pembelajaran dengan menggunakan metode JFBR murni
b. Pembelajaran dengan menggabungkan metode JFBR dan clustering K-means
c. Menyimpan nilai bobot hasil perhitungan yang ditentukan melalui matriks nilai eigen, kedalam data base bobot jika selisih antara bobot hasil perhitungan terhadap bobot data base lebih besar dari 1E-05. Dimana nilai 1E-05 diperoleh berdasarkan analisis data bobot uji dan
pembelajaran untuk obyek, posisi, dan
pencahayaaan yang sama.
d. Melakukan langkah pembelajaran a., b., dan c. sebanyak 33 data personal dengan masing-masing personal terdiri dari 9 posisi.
Dengan memperhatikan diagram alir Gambar 7. terlihat bahwa pada dasarnya langkah pengujian
data sama dengan proses pembelajaran,
perbedaan terletak pada langkah c proses pembelajaran di atas. Untuk proses pengujian nilai bobot tidak disimpan dalam data base tetapi di cocokan dengan nilai bobot hasil pembelajaran yang disimpan dalam data base dengan menggunakan metode gradient descent, dan mengambil keputusannya dengan root mean square (rms).
5. Desain JST model Fungsi Basis Radial
Model ini menggunakan matriks nilai kromatik sebagai data input, yang kemudian ditransformasikan terhadap nilai matriks itu sendiri sebagai pusat data input kemudian dimasukkan ke dalam fungsi Gauss untuk mengaktifkan lapisan hidden. Langkah-langkah yang dilakukan dalam merancang sistem JST adalah sebagai berikut; a. Data dirancang sebagai bilangan floating point
dari warna kromatik citra wajah dengan ukuran matriks 80 x 80. Dengan mengambil nilai kromatik warna.
b. Desain struktur JST Fungsi Basis Radial ditunjukkan pada Gambar 8. Struktur ini tampak bahwa lapisan hidden diaktifkan oleh fungsi Gauss Persamaan (iii). Struktur JST yang dirancang adalah sebagai berikut;
A[1,1] A[1,2] A[80,80] w1 w2 wk F1(x) F2(x) Fk(x) Input Layer Hiden Layer Output Layer
Gambar 8. Aktifasi lapisan hidden dengan fungsi Gauss
Hasil Transformasi matriks input ke dalam fungsi gauss diperoleh matriks berukuran 6400 x 6400 dapat dituliskan; 2 2 80 , 80 80 , 80 2 2 2 , 1 80 , 80 2 2 1 , 1 80 , 80 2 2 80 , 80 1 , 2 2 2 2 , 1 1 , 2 2 2 1 , 1 1 , 2 2 2 80 , 80 1 , 1 2 2 2 , 1 1 , 1 2 2 1 , 1 1 , 1 , 2 ) ( exp ... 2 ) ( exp 2 ) ( exp : : : : : : : : : : : : 2 ) ( exp ... 2 ) ( exp 2 ) ( exp 2 ) ( exp ... 2 ) ( exp 2 ) ( exp i i i i i i i i i k k A A A A A A x A A A A A A A A A A A
Gambar 9. Matriks fungsi Gauss
Matriks fungsi Gauss k,k pada Gambar 9.
dengan k bernilai 6400, dengan menggunakan
nilai = 1, dan dimasukkan masing-masing data kromatik seperti pada Persamaan (iii) diperoleh matriks fungsi Gauss dalam bilangan floating point.
6. Algoritma Aplikasi JFBR pada Software Pengenalan Wajah.
Dengan menggunakan struktur JST seperti yang telah ditunjukkan pada Gambar 6. terlihat bahwa data masukan yang berupa nilai kromatik matriks piksel wajah di transformasikan terhadap dirinya dengan aturan transformasi seperti berikut;
misal matriks wajah -> A[n,m]
A[1,1] -> A[1,1], A[1,2], A[1,3],...., A[n,m] A[1,2] -> A[1,1], A[1,2], A[1,3],...., A[n,m] ....
A[n,m] -> A[1,1], A[1,2], A[1,3],...., A[n,m] Transformasi matriks tersebut sebagai data input fungsi Gauss yang bertugas mengaktifkan lapisan hidden. Dalam penelitian ini matriks wajah yang digunakan mempunyai ordo [80 x 80] piksel, sehingga jumlah matriks yang dihasilkan pada lapisan hidden mempunyai ordo sebesar [6400 x 6400] piksel. Secara rinci ditunjukkan oleh diagram alir dibawah;
Start
Siapkan citra wajah->Gb[bar,kol]
siapkan wadah matrik Gauss cromatik biru ->Cb_Gaus[6400,6400] siapkan wadah matrik Gauss cromatik merah->Cr_Gaus[6400,6400]
i=0; j=0
i<=Gb[bar]
j<=Gb[kol]
id=0; jd=0
Baca piksel r,g,b pada Gb[I,j]
Konversikan ke kromatik Cbd=0.596*r-0.274*g-0.322*b Crd=0.211*r-0.523*g+0.312*b Baca piksel r,g,b pada Gb[id,jd]
id<=Gb[bar]
jd<=Gb[kol] Konversikan ke kromatik Cb[I,j]=0.596*r-0.274*g-0.322*b Cr[I,j]=0.211*r-0.523*g+0.312*b
Hitung fungsi Gauss
Cb_GAUS[I*80+id,j*80+jd]:=EXP(-(SQR(Cb[I,j]-Cbd)/(2*SQR(SD)))) Cr_GAUS[I*80+id,j*80+jd]:=EXP(-(SQR(Cr[I,j]-Crd)/(2*SQR(SD)))) jd=jd+1 j=j+1 id=id+1 i=i+1 End False True False True False True False True
Gambar 10. Diagram alir matriks fungsi Gauss pada lapisan hidden.
7. Pembobotan (w).
nilainya adalah non-singular maka nilai bobot dapat dihitung dengan menggunakan metode pseudo-inverse eliminasi Gauss. Untuk permasalahan ini, matriks wajah sering mempunyai nilai piksel sama yang menyebabkan matriks fungsi Gauss berbentuk singular, sehingga metode pseudo-inverse eliminasi Gauss tidak cocok. Metode yang dapat digunakan untuk menghitung nilai bobot adalah vektor eigen.
Leon, et al (1998) teorema yang digunakan jika A adalah matriks m x n, maka A mempunyai
suatu dekomposisi nilai singular. Bukti ATA adalah
matriks simetrik n x n, oleh karena semua nilai eigen-nya adalah bilangan real dan mempunyai matriks pendiagonal yang ortogonal yaitu V. Menyebabkan semua nilai eigennya adalah tak
negatif. Misalnya adalah nilai eigen dari ATA dan
x adalah vektor eigen milik maka ||Ax||2 =
xTATAx = xTx = ||x||2 sehingga, 0 2 2 || x || || Ax || (5)
Gambar (11). di bawah menunjukkan diagram alir perhitungan nilai bobot untuk pembelajaran metode FBR,
Start
Siapkan nilai Fungsi output sebanyak 6400 ->F[6400] Siapkan nilai Gauss kromatik merah ->Cr_Gauss[6400,6400]
Siapkan nilai Gauss kromatik biru ->Cb_Gauss[6400,6400]
i=1 j=1
Hitung nilai bobot Cr_w[I]=Cr_eigen[I,j]*F[i] Cb_w[I]=Cb_eigen[I,j]*F[i] (Simpan Cr_w dan Cb_w ke disk)
J=j+1 J<=6400 J=j+1 J<=6400 End True True False True
Gambar 5.21 Diagram alir perhitungan nilai bobot 8. Hasil Pengujian Software.
Software yang di hasilkan mampu menguji akurasi pengenalan wajah pada dua keadaan, yaitu non real time dan real time. Data non real time diperoleh dengan cara memberikan noise pada data wajah sedangkan real time diperoleh secara langsung proses peng-capture-an dari kamera. Masing-masing keadaan diambil 3 posisi, yaitu posisi 1 pada jarak sekitar 0.6m, posisi 2 pada jarak sekitar 1m, dan posisi 3 pada jarak sekitar 1.4m, dan hasilnya adalah sebagai berikut;
Tabel 1. Data hasil uji non - real time JFBR, dengan data input nilai kromatik
No Nama
JFBR
posisi 1 posisi 2 posisi 3
TC waktu TC waktu TC waktu
1 Harlinda 1 40'31" 1 40' 1 40' 2 Elik Rifqiatul 1 40' 1 40' 1 41' 3 Rohma Hid. 1 40' 1 40' 1 40' 4 Ety Kurniati 1 40' 1 40' 1 40' 5 Oktavianus 0 39' 1 40' 1 40' 6 Nova Candra 1 40' 0 40' 0 40' … ……… …… ….. …… ….. ….. ….. 27 Ariesta 1 40” 0 40” 0 40” 28 Asmaul H. 1 40” 1 40” 1 42” 29 Dwi B. 0 40” 1 40” 1 40” 30 Dedik 1 40” 1 40” 0 40” 31 Dewi K. 1 40” 1 42 1 40” 32 Ida Antika 1 41” 0 40” 1 40” 33 Viena Adhisti 1 40' 1 40'10" 1 40' Ketelitian : 95% Ketelitian : 90% Ketelitian : 95% Rata-rata ketelitian = 93% dengan TC : Tingkat Kecocokan
Tabel 2. Data hasil uji real time JFBR Murni, dengan data input nilai kromatik
No Nama
JFBR
posisi 1 posisi 2 posisi 3
TC waktu TC waktu TC waktu
1 Harlinda 1 40'31" 1 40' 0 40' 2 Elik Rifqiatul 1 40' 1 40' 1 41' 3 Rohma Hid. 1 40' 1 40' 1 40' 4 Ety Kurniati 1 40' 1 40' 1 40' 5 Oktavianus 0 39' 1 40' 1 40' 6 Nova Candra 0 40' 1 40' 0 40' …. ... …. ….. ….. ….. ….. ….. 26 Ardiyanto 1 40' 0 40' 0 40' 27 Ariesta 1 40' 1 40'29" 1 40' 28 Asmaul Hus. 1 39’ 1 39’ 1 39’ 29 Dwi Bangga 0 38’20” 1 38’ 0 38’30” 30 Dedik 1 38’ 1 38’ 1 38’ 31 Dewi Khol. 1 39’10” 1 39’10” 1 39’ 32 Ida Antika 1 39’ 1 39’ 1 39’ 33 Yuanita 1 39’ 1 39’ 1 39’ Ketelitian : 73% Ketelitian : 73% Ketelitian : 73%
dengan TC : Tingkat Kecocokan
9. Kesimpulan.
Kesimpulan yang diperoleh pada penelitian ini adalah software mampu melakukan pembelajaran dan pengujian dengan hasil sebagai beriut;
- Metode JFBR secara non real time dengan data input nilai kromatik mempunyi akurasi rata-rata 93%, dengan rata-rata waktu pemrosesan data untuk 1 personal 1 posisi adalah 39 menit 43 detik.
dengan data input nilai kromatik mempunyi akurasi rata-rata 73%, dengan rata-rata waktu pemro-sesan data untuk 1 personal 1 posisi adalah 39 menit 43 detik.
10. Daftar Pustaka
Arun, K., & Ranganath, S. (1997): Face recognition using transform features and neural
networks, Department of Electrical
Engineering, National University of Singapore, 10 Kent Ridge Crescent, Singapore 119260, Singapore.
Byung, Joo, Oh, (2004): Pengenalan Wajah menggunakan Radial Basis Fungsi (FBR) pada LDA, Proceeding of World Academy of Science, Engineering and Technology. Haykin, Simon. 1994. Neural Networks, Macmillan
College Publishing Company, New York. Lai, Huang, & Feng, Can, Guo, (1999): Face
recognition using holistic Fourier
invariant features, Department of
Mathematics, Zhongshan University,