Posiding SENTIA 2009 – Politeknik Negeri Malang
IMPLEMENTASI METODE JARINGAN FUNGSI BASIS RADIAL (JFBR) PADA PERANCANGAN SOFTWARE PENGENALAN WAJAH Yoyok Heru P.I. T.Telekomunikasi, T.Elektro, Politeknik Negeri malang
[email protected] 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 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.
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
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 nonlinier 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 F-169
Posiding SENTIA 2009 – Politeknik Negeri Malang
JFBR diuraikan dalam persamaan (i) berikut; _ _
K
y
3. Struktur Pembelajaran Model Jaringan Fungsi basis Radial. Pembelajaran dengan metode Jaringan Fungsi Basis radial (JFBR) mempunyai strukur jaringan fungsi sebagai berikut;
(1)
w k ( u; t k ) w 0 k 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,
x1
F1(x) w1
w2
x2
F2(x)
Hiden Layer
Output Layer
Input Layer wk
Fk(x)
xD
k
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; 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 menunjukkan jumlah input dan k menunjukkan jumlah neuron hidden. Fungsi Gaussian yang dipilih pada kernel adalah: _ _
( u; tk )
exp(
1 2 k
_
_
|| u t k || 2 )
_
= jarak euclidean antara
X1,n
X1,1
X1,2
X1,3
X1,n
X2,n
X2,1
X2,2
X2,3
X2,n
Xm,1
Xm,2
Xm,3
Xm,n
Xm,1
Xm,2
Xm,3
Xm,n
i(x)
(2)
exp
x i , j )2
(x
(3)
2 i2
diperoleh matriks lapisan hidden berikut; exp
( x1,1 x1,1 ) 2 2
dengan exp
. 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
exp
2
exp
( x1,1 x1,2 ) 2 2
i
( x2,1 x1,1 ) 2 :
2
2
exp
......... exp
2
......... exp :
2 : :
:
:
:
2
exp
( xm,n x1,1 ) 2 2
2
......... exp
2 i
( x2,1 xm,n ) 2
i
:
i
( x1,1 xm,n ) 2 2
2
: ( xm,n x1,1 ) 2
sebagai
i
( x2,1 x1,2 ) 2 :
i
2
:
2
2 i
: ( x m,n x m,n ) 2
i
2
2 i
Gambar 4. Matrik fungsi Gauss c. Lapisan output, diperoleh dari jumlah perkalian antara nilai terbobot (wi) dengan matrik fungsi gaus dari lapisan hidden, persamaannya adalah;
_ _
data training || u
X1,3 X2,3
b. Lapisan hidden, level ini merupakan unit aktifasi yang menerima data dari lapisan input, dengan menggunakan formula Gaussian persamaan di bawah ini;
k
_
X1,2 X2,2
Gambar 3. Transformasi matriks data input
dengan : = pusat fungsi, tk = lebar deviasi || u t k ||
X1,1 X2,1
t k || .
F-170
Posiding SENTIA 2009 – Politeknik Negeri Malang
_
k
F( x )
( x
x i .w i )
Start
(4)
i 1
Capture citra wajah
Hasil akhir dari proses pembelajaran metode JFBR adalah matrik fungsi F, sebagai berikut; F1 1,1 1,2 ...... 1,k w1 ...... w F 2,1 2,2 2,k 2 2 : : : : : : : : : : : : Fk k ,1 k ,2 ...... k ,k w k
1
Praproses Data
2
Proses pembelajaran
Gambar 5. Matrik sistem JFBR
Ya
tidak
Proses Pengujian
tidak
Ya 3
5
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.
Proses Pembelajaran Data
4
Data Base Pembelajaran
Ya
END
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 masingmasing personal terdiri dari 9 posisi. Proses pengujian ;
Start
Siapkan data input JST A[m,n]
Aktifkan lapisan hidden dengan formulasi Gauss
( A)
Ai , j ) 2
(A
exp
2
2 i
Tentukan nilai output F(k) Hitung nilai Bobot FBR
wk
(
k ,k
( A))
1
tidak
selesai
6
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;
k ,k
Proses Uji data
.F k
End
Gambar 6. Diagram alir sistem JST
F-171
Posiding SENTIA 2009 – Politeknik Negeri Malang
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).
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]
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]
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]
F1(x)
i=0; j=0
w1 False
i<=Gb[bar] True
A[1,2]
F2(x)
w2
i=i+1
False
j<=Gb[kol] True
End
id=0; jd=0
Hiden Layer
Input Layer
Output Layer Baca piksel r,g,b pada Gb[I,j]
wk
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
Fk(x)
A[80,80]
Gambar 8. Aktifasi lapisan hidden dengan fungsi Gauss
False
True
jd<=Gb[kol]
( A1,1 A1,1 ) 2 2
exp
exp
2
2 i
2
exp
( A80,80 A1,2 ) 2
:
2 :
: :
: :
i
2
2
......... exp
Konversikan ke kromatik Cbd=0.596*r-0.274*g-0.322*b Crd=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))))
2 i
( A2,1 x80,80 ) 2
......... exp
2
: :
( A80,80 A1,1 ) 2
2
i
id=id+1
Baca piksel r,g,b pada Gb[id,jd]
( A1,1 A80,80 ) 2
......... exp
2
( A2,1 A1,2 ) 2 2 :
i
: : exp
( A1,1 A1,2 ) 2 2
i
( A2,1 A1,1 ) 2 2 :
k ,k
exp
2
False
True
Hasil Transformasi matriks input ke dalam fungsi gauss diperoleh matriks berukuran 6400 x 6400 dapat dituliskan; exp
id<=Gb[bar]
2
j=j+1
( A80,80 A80,80 )
i
2
jd=jd+1
i
2
Gambar 10. Diagram alir matriks fungsi Gauss pada lapisan hidden.
2 i
Gambar 9. Matriks fungsi Gauss
7. Pembobotan (w). Matriks fungsi Gauss pada level aktifasi
Matriks fungsi Gauss k,k pada Gambar 9. dengan k bernilai 6400, dengan menggunakan F-172
Posiding SENTIA 2009 – Politeknik Negeri Malang
nilainya adalah non-singular maka nilai bobot dapat dihitung dengan menggunakan metode pseudoinverse 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 2 x adalah vektor eigen milik maka ||Ax|| = T T T 2 x A Ax = x x = ||x|| sehingga,
|| Ax ||
2
2
JFBR No
(5)
0
Nama
posisi 1
posisi 3
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%
|| x || Gambar (11). di bawah menunjukkan diagram alir perhitungan nilai bobot untuk pembelajaran metode FBR,
posisi 2
TC
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
Start
JFBR No
Nama
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 True
J<=6400 False
J=j+1
J<=6400
True
True
End
Gambar 5.21 Diagram alir perhitungan nilai bobot
posisi 1
posisi 2
TC
waktu
TC
posisi 3 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%
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;
waktu
…..
…..
…..
Ketelitian : Ketelitian : 73% 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. - Metode JFBR tanpa gabungan secara real time
Tabel 1. Data hasil uji non - real time JFBR, dengan data input nilai kromatik F-173
Posiding SENTIA 2009 – Politeknik Negeri Malang
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.
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, People's Republic of China.
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.
F-174