TESIS
Diajukan untuk melengkapi tugas dan memenuhi syarat memperolah ijazah Magister Teknik Informatika
PARINI 167038003
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2018
Diajukan untuk melengkapi tugas dan memenuhi syarat memperolah ijazah Magister Teknik Informatika
PARINI 167038003
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2018
HYBRID ALGORITMA LEARNING VECTOR QUANTIZATION (LVQ) PADA PENGENALAN WAJAH MENGGUNAKAN WEBCAM
TESIS
Saya mengakui bahwa Tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 10 Agustus 2018.
PARINI
167038003
PERNYATAAN PERSETUJUAN PUBLIKASI
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di bawah ini :
Nama : Parini
NIM : 167038003
Program Studi : Magister Teknik Informatika Jenis Karya Ilmiah : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul :
HYBRID ALGORITMA LEARNING VECTOR QUANTIZATION (LVQ) PADA PENGENALAN WAJAH MENGGUNAKAN WEBCAM
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasi tesis saya tanpa meminta izin dari saya selama tetap mencantum nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.
Demikian pernyataan ini dibuat dengan sebenarnya.
Medan, 10 Agustus 2018
PARINI
167038003
PANITIA PENGUJI TESIS
Ketua : Prof. Dr. Muhammad Zarlis
Anggota : 1. Prof. Dr. Herman Mawengkang
2. Dr. Syahril Efendi, ST., M.Kom 3. Prof. Dr. Tulus
4. Prof. Dr. Muhammad Zarlis
RIWAYAT HIDUP
DATA PRIBADI
Nama Lengkap : Parini, M.Kom
Tempat dan Tanggal Lahir : Hessa Air Genting, 22 Agustus 1991
Alamat Rumah : Hessa Air Genting, Kec. Air Batu, Kab. Asahan Telepon/ HP : 082361896088
Email : [email protected]
Instansi Tempat Bekerja : Kampus STMIK-AMIK ROYAL Kisaran
Alamat Kantor : -
DATA PENDIDIKAN
SD : SDN 014668 Huta Ginjang Tamat : 2004
SLTP : MTS Islamiyah HAG Tamat : 2007
SLTA : SMK Yapim Simpang Kawat Tamat : 2010
D3 : AMIK Royal Kisaran Tamat : 2013
S1 : STMIK Royal Kisaran Tamat : 2015
S2 : Teknik Informatika USU Tamat: 2018
Alhamdulillah, puji syukur kehadirat Allah SWT yang telah memberikan keselamatan dan kesehatan dalam menyelesaikan penelitian ini, tak lupa pula shalawat kepada Nabi Muhammad SAW salut untuk perinsip dan keteladanan, sunah menjadikan hidupku lebih bersemangat untuk tetap berada dijalan dan pengikutmu.
Untuk kedua pasang bidadariku Bapak dan Mamak dan suami tercinta yang tak pernah kenal lelah mengepakkan sayap kasih dan cintanya, meski peluh dan kerut di dahi yang tak pernah berhenti terlihat di setiap langkah kalian, tesis ini dedikasikan untuk kalian sebagai bukti baktiku kepada kalian, meski ku tahu ini tak akan pernah cukup untuk menggantikan semua peluh yang tertumpah disepanjang perjalan hidup untuk aku. Masih begitu ku ingat ketika ku lihat setiap peluh yang mengalir diantara kerut diwajah kalian, aku tahu begitu lelah, begitu lemah bahkan air mata ini selalu tertumpah ketika aku harus melihat kalian seperti itu, terimah kasih, telah mendengarkan setiap keluh kesahku, semua ingin ku selalu ingin engkau penuhi meski ku tahu terkadang sulit bagi kalian. Bila ditanya apa yang paling aku selalu ingin dari kalian, maka hal itu adalah “DOA” dan CINTA”. Karena doa lah yang paling di dengar oleh Allah, aku mencintai kalian biarkan sisa seluruh hidupku ku baktikan untuk kalian, tetaplah kepakkan sayap kasih dan cinta untuk aku. Karena kebahagian kalian adalah kebahagianku. Maka hal yang paling membuat aku bahagia adalah melihat kalian tersenyum bahagia karnaku.
Sosok yang begitu mulia, mereka adalah Bapak dan Ibu Yayasan Pendidikan Royal Teladan Asahan yang menaungi kampus STMIK-AMIK Royal Kisaran saya mengucapkan banyak ribuan terima kasih atas bantuan bapak dan ibu yang telah memberikan saya beasiswa untuk dapat melanjutkan pendidikan program pascasarjana Teknik Informatika di Universitas Sumatera Utara sampai dengan selesai.
Begitu juga untuk Bapak dan Ibu Dosen Universitas Sumatera Utara,
1. Bapak Prof. Dr. Runtung Sitepu, SH, M.Hum selaku Rektor Universitas Sumatera
Utara.
2. Bapak Prof Dr. Opim Salim Sitompul, M. Sc Selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi.
3. Bapak Prof. Dr. Muhammad Zarlis selaku Ketua Program Studi Magister Teknik Informatika beserta Bapak Dr. Syahril Efendi, S.Si., M.IT selaku Sekretaris Program Studi Magister Teknik Informatika beserta seluruh staf kependidikan dan pengajar program studi teknik informatika program Pascasarjana Fakultas Ilmu Komputer Universitas Sumatera Utara.
4. Bapak Prof. Dr. Herman Mawengkang selaku pembimbing pertama saya dan Bapak Dr. Syahril Efendi, S.Si., M.IT selaku pembing kedua yang telah membimbing saya hingga tesis ini terselesaikan dengan baik.
5. Bapak Prof Dr. Tulus selaku Penguji pertama saya dan Prof. Dr. Muhammad Zarlis selaku penguji kedua yang telah memberikan saran dan masukan serta arahan yang baik dalam menyelesaikan tesis ini.
Terima kasih untuk semua ilmu yang telah Bapak/Ibu berikan,Karena Ilmu adalah harta yang tak ternilai harganya, Bekal yang tak terganti untuk kami menjalani bahtera hidup ini.
Terimakasih juga buat keluarga dan sahabat khususnya buat M.TI KOM A USU 2016 dan teman yang sudah membantu penelitian ini sampai dengan selesai, Allah Maha Bijak menciptakan sahabat/teman tanpa harga, karena jika Allah memberikan harga, maka Aku tak kan mampu membelinya. Jika suatu hari, entah kapanpun aku tak bernafas lagi, ketahuilah sahabat, hadiah terindah yang pernah ku dapat adalah
“MENGENAL KALIAN”. buat keluarga dan sahabat terima kasih, semoga kita sukses. Amin…
Medan , 10 Agustus 2018
Parini
167038003
Pada penelitian ini dilakukan hybridisasi algoritma Learning Vector Quantization (LVQ) dengan Self Organizing Kohonen untuk pengenalan wajah menggunakan webcam. Teknik hybrid yang dilakukan adalah algoritma Kohonen digunakan untuk pembobotan awal dan hasil pembobotan tersebut dimasukkan ke algoritma LVQ untuk mendapatkan hasil pelatihan berupa bobot akhir yang digunakan untuk pengenalan wajah. Data yang digunakan pada penelitian ini adalah wajah berupa citra digital hasil akusisi dengan alat digital berupa camera yang akan digunakan untuk pembelajaran (learning data set) dan sekumpulan citra untuk pengujian (testing data set). Pada tahap awal proses citra wajah (preprocessing) digunakan untuk menyiapkan citra wajah input untuk dijadikan masukan ke dalam jaringan. Tahap preprocessing pada penelitian ini terbagi menjadi empat tahap yaitu pembacaan citra, grayscaling, deteksi tepi operator Sobel serta binerisasi. Hasi pengujian diperoleh persentase keberhasilan pengenalan pada wajah dengan algoritma LVQ sebesar 57.03 %, Kohonen sebesar 52.59 % dan Hybrid sebesar 68.88 %. Sedangkan rata-rata waktu proses pengenalan adalah untuk LVQ sebesar 2.64 detik, Kohonen sebesar 2.61 detik dan Hybrid 2.59 detik. Dari hasil diatas dapat disimpulkan bahwa dari segi akurasi algoritma Hybrid sedikit lebih unggul dari pada Kohonen yaitu 16.29 % dan dari segi waktu algoritma Hybrid lebih cepat dari algoritma LVQ sebesar 0.05 detik dan Kohonen sebesar rata- rata 0.02 detik.
Keyword: Pengenalan wajah, Jaringan Syaraf Tiruan, Learning Vector Quantization
(LVQ),Self Organizing Kohonen, Webcam.
HYBRID ALGORITMA LEARNING VECTOR QUANTIZATION (LVQ) PADA PENGENALAN WAJAH MENGGUNAKAN
WEBCAM
ABSTRACT
In this research, hybridization of Learning Vector Quantization (LVQ) algorithm with Self Organizing Kohonen for face recognition using webcam. Hybrid technique performed is Kohonen algorithm used for initial weighting and the result of weighting is inserted into LVQ algorithm to get result of training in the form of final weight used for face recognition. The data used in this study is the face of a digital image of the acquisition with a digital tool in the form of a camera that will be used for learning (learning data set) and a set of images for testing (testing data set). In the early stages of the process the image of the face (preprocessing) is used to prepare the image of the input face to be input into the network. The preprocessing stage in this research is divided into four stages: image readings, grayscaling, Sobel operator edge detection and binaryization. The result of the test is the percentage of facial recognition success with LVQ algorithm is 57.03%, Kohonen is 52.59% and Hybrid is 68.88%. While the average time of the introduction process is for LVQ of 2.64 seconds, Kohonen of 2.61 seconds and Hybrid 2.59 seconds. From the above results can be concluded that in terms of accuracy Hybrid algorithm slightly superior to the Kohonen is 16.29% and in terms of time Hybrid algorithm faster than LVQ algorithm of 0.05 seconds and Kohonen an average of 0.02 seconds.
Keyword: Facial recognition, Neural Network, Learning Vector Quantization (LVQ),
Self Organizing Kohonen, Webcam.
Hal
Persetujuan ii
Pernyataan ii
Pernyataan Persetujuan Publikasi i
Riwayat Hidup vi
Ucapan Terima Kasih vii
Abstrak ix
Abstract x
Daftar Isi xi
Daftar Tabel xiii
Daftar Gambar xiv
Bab I Pendahuluan 1
1.1. Latar Belakang Masalah 1
1.2. Rumusan Masalah 2
1.3. Batasan Penelitian 3
1.4. Tujuan Penelitian 3
1.5. Manfaat Penelitian 3
Bab II Landasan Teori 5
2.1 Pengenalan Pola 5
2.2 Citra 5
2.2.1 Citra Grasycale 6
2.2.2 Thresholding 7
2.3 Tahap Citra Processing Citra 8
2.4 Jaringan Syaraf Biologi 8
2.5 Jaringan Syaraf Tiruan (Neural Network) 10
2.6 Jaringan Syaraf LVQ 12
2.7 Jaringaan Syaraf SOM 13
Bab III Metodologi Penelitian 16
3.1 Metodologi Penelitian 16
3.1.1 Analisis Sistem 17
3.1.2 Bagan Rancangan Penelitian 18
3.2 Data yang digunakan 19
3.3 Pembacaan File Citra 20
3.4 Menghitung Nilai Citra Grayscale Citra 21
3.5 Deteksi Tepi 22
3.6 Binerasi 24
3.7 Flowchart Pengenalan Wajah dengan Algoritma LVQ 25 3.8 Flowchart Pengenalan Wajah dengan Algoritma SOM 27 3.9 Flowchart Pengenalan Wajah dengan Algoritma Hibridisasi 28
3.10 Perhitungan dengan LVQ 30
3.11 Perhitungan dengan SOM 37
3.12 Perhitungan dengan Hibridisasi 39
Bab IV Hasil dan Pembahasan 43
4.1 Pendahuluan 43
4.2 Analisis Proses 43
4.3 Hasil Analisis 45
4.3.1 Pemasukkan data training 45
4.3.2 Modul Training Algoritma Hybrid 46
4.3.3 Modul Recognition Algoritma Hybrid 47
4.4 Pembahasan 49
Bab V Kesimpulan dan Saran 52
5.1 Kesimpulan 52
5.2 Saran 52
Daftar Pustaka 53
Lampiran 54
Hal Tabel 2.1 Perbedaan JST Biologis dengan JST Tiruan 9
Tabel 3.1 Data Vektor 30
Tabel 3.2 Data Bobot 30
Tabel 3.3 Data Latih 31
Tabel 4.1 Parameter Jaringan Pengujian Agoritma 49
Tabel 4.2 Hasil Pengujian Penalan Wajah 50
DAFTAR GAMBAR
Hal
Gambar 2.1 Intensitas Grayscale 5
Gambar 2.2 Citra Grayscale 6
Gambar 2.3 Citra Threshold 7
Gambar 2.4 Alur Tahap Prepocessing Citra menjadi Threshold 7
Gambar 2.5 Susunan Neuron Biologis 9
Gambar 2.6 Model Sederhana Neuron 11
Gambar 2.7 Arsitektur Jaringan SOM 14
Gambar 3.1 Bagan Rancangan penelitian 18
Gambar 3.2 Citra Wajah 19
Gambar 3.3 Contoh Nilai Piksel Citra Warna 20
Gambar 3.4 Matriks Nilai RGB Citra Warna 21
Gambar 3.5 Matriks Nilai Grayscale 22
Gmbar 3.6 Dua Buah Matriks Kernel 22
Gambar 3.7 Citra 3X3 Pixel dengan dua filter 23
Gambar 3.8 Nilai Konvolusi (M) Sekitar Piksel 3x3 23 Gambar 3.9 Matriks Hasil Deteksi Tepi Citra 3X3 23
Gambar 3.10 Matriks Citra Biner 24
Gambar 3.11 Citra Wajah Biner 25
Gambar 3.12 Flow Chart Pengenalan Wajah dengan Algoritma LVQ 25 Gambar 3.13 Flow Chart Pengenalan Wajah dengan Algoritma LVQ (Lanjutan) 26 Gambar 3.14 Flow Chart Pengenalan Wajah dengan Algoritma SOM 27 Gambar 3.15 Flow Chart Pengenalan Wajah dengan Algoritma Hibridisasi 28 Gambar 3.16 Flow Chart Pengenalan Wajah dengan Algoritma Hibridisasi
(Lanjutan) 29
Gambar 4.1 Tampilan Pemasukan Data Training 46
Gambar 4.2 Tampilan Modul Training Algoritma Hybrid 47
Gambar 4.3 Tampilan Modul Recognition Algoritma Hybrid 48
1.1 Latar Belakang
Wajah merupakan komponen utama pada pokus tubuh manusia yang utama menjadi perhatian di dalam interaksi sosial untuk penanda atau mengenali seseorang, Oleh karena itu wajah digunakan untuk hal lain seperti untuk keperluan pencatatan data penduduk, proses pengamanan dan absensi dengan menggunakan proses pengenalan wajah.
Kebanyakan proses kehadiran di kantor ataupun diperusahaan dilakukan dengan mengisi buku kehadiran dengan menggunakan mesin sidikjari, ditinjau dalam keamanan, proses ini memiliki kelemahan yakni dalam proses kehadiran selalu mengalami human eror semacam scan siddik jari susah untuk diterima. Hal ini disebabkan status jari yang tidak konvensional, semacam basah, kotor, terlalu kering, atau pun luka pad jari dan akhirnya sistem tidak bisa menerima, maka pengendalian masalah tersebut membutuhkan suatu metode cepat tepat dan akurat.
Komponen dari ilmu komputer yang dapat menghasilkan mesin komputer dapat bekerja dengan cara yang cepat, tepat serta akurat adalah kecerdasan buatan (Artificial Intelligence). Salah satu bagiannya adalah jaringan syaraf tiruan (JST), Jaringan tersebut merupakan proses informasi dengan desain mengikuti gaya pengoperasian otak manusia untuk dapat melakukan suatu proses ajaran pada perubahan bobot. Dalam jaringan syaraf tiruan (JST) disusun untuk diaplikasikan secara spesifik, sama halnya dalam pemahaman pada pola ataupun dalam pembagian data dengan sistem pengkajian.
Pada sistem tersebut jaringan syaraf tiruan (JST) diinputkan pola agar dapat
memberikan jawaban yang bisa diterima pada jaringan.
Beberapa peneliti telah melakukan penelitian tentang jaringan syaraf tiruan (JST) diantaranya pada penelitian Rudy Chandra (2017) dengan judul penelitian Sistem Absensi Menggunakan Wajah pada Jaringan Syaraf Tiruan dengan Menggunakan Algoritma Learning Vector Quantization (LVQ) dengan hasil penelitian Maksimal Epoch sebesar 20 dan threshold 50 didapat akurasi ketepatan pengenalan pola wajah sebanyak 75% melalui 20 sampel dan 15 yang sesaui target karena dalam penelitian, penulis memakai algoritma Learning Vector Quantization (LVQ), dengan menyarankan sebaiknya dikombinasikan dengan algoritma SOM kohonen sehingga mendapatkan hasil yang lebih cepat dan akurat dalam mencari kecocokan wajah. Selanjutnya penelitian Emnita Br Ginting (2013) dengan judul penelian Kombinasi Algoritma Jaringan Syaraf Tiruan Learning Vector Quantization (LVQ) dan Self Organizing Kohonen pada kecepatan pengenalan pola tandatangan dengan kesimpulan aplikasi pada jaringan syaraf tiruan (JST) dalam mengkombinasi algoritma tersebut dapat mempercepat pada proses komputasi baik pada saat training/percobaan maupun saat recoqnition.
LVQ merupakan proses training bagi kelas yang masuk akal (kompetitif) terjaga dalam belajarnya secara reflkes/otomatis hal ini untuk dapat mengelompokkan seluruh vektor masukkan kedalam suatu kelas yang spesifik. Kelas tersebut dapat menghasilkan tergantung pada jarak antara vektor pada masukkan. Jika ada 2(dua) vektor masukkan yang mendekati maka pada lapisan yang kompetitif akan mengelompokkan ke 2(dua) vektor masukkan tersebut kedalam kelas yang sama.
Jaringan Self Organizing Maps (SOM) atau Kohonen yang merupakan bagian dari
versi jaringan syaraf tiruan (JST) yang dapat menerapkan cara atau proses pengkajian
tidak supervisi atau tidak terdidik (unsupervised learning) yang menyamai dengan versi
jaringan syaraf manusia dengan prilaku antropometric. dengan ditunjukkannya suatu
kemampuan yang dpaat menerima masukkan dan aksinya yang normal dimiliki pada
manusia (Valentruf, 1995). Kehebatan yang lain dari algoritma Self Organizing Maps
(SOM) atau Kohonen yakni dapat menggambarkan data yang berukuran tinggi kedalam
versi denah yang berukuran rendah. Merujuk penelitian diatas, dari kedua algoritma
yang dipaparkan penulis melakukan kombinasi algoritma dengan memilih kelebihan
pada algoritma tersebut dengan mengambil judul penelitian “ Hybrid Learning Vektor
Quantization (LVQ) Pada Pengenalan Wajah Menggunakan Webcam”
1.2 Rumusan Masalah
Adapun suatu rumusan masalah pada penelitian saya ini adalah bagaimana cara dalam sebuah peningkatan kecepatan pada sistem pengenalan pada wajah dengan meng- hybridkan algoritma learning vektor quantization (LVQ) dan algoritma self organizing maps (SOM) atau kohonen dan mengidentifikasikan wajah sebagai kunci absensi.
1.3 Batasan Masalah
Adapun batasan-batasan masalah pada penelitian saya ini adalah sebagai berikut:
1. Masukkan (input) pada data training/pelatihan dan percobaan berupa citra wajah berekstensi *.bmp.
2. Jumlah wajah yang akan diidentifikasikan sebanyak 10 wajah.
3. Wajah tidak akan terdeteksi apabila tidak memiliki dahi, mata, hidung, mulut, dan dagu.
4. Wajah yang dapat terdeteksi harus memiliki pencahayaan yang baik.
5. Akurasi dan kecepatan pada pengenalan pola wajah yang dilakukan dengan meng-hibridisasikan algoritma learning vector quantization (LVQ) dengan algoritma self organizing maps (SOM) atau kohonen.
1.4 Tujuan Penelitian
Adapun tujuan pada penelitian saya ini adalah sebagai berikut:
1. Meng-hibridisasikan algoritma learning vector quantization (LVQ) dengan algoritma self organizing maps (SOM) atau kohonen agar dapat mempercepat pengenalan pada pola wajah.
2. Untuk dapat mengimplementasikan jaringan syaraf tiruan learning vector quantization (LVQ) dalam penegenalan wajah serta menjadikan wajah sebagai kunci utama dalam proses salah satunya pada absensi.
1.5 Manfaat Penelitian
Manfaat penelitian saya iniadalah sebagai berikut:
1. Agar dapat mengaplikasikan pengenalan wajah pada absensi dengan cara kerja yang cepat, tepat dan akurat.
2. Menambah pengetahuan penulis dalam jaringan syaraf tiruan khusunya
mengkombinasi algoritma learning vector quantization (LVQ) dan algoritma self
organizing maps (SOM) atau kohonen.
BAB 2
LANDASAN TEORI
2.1 Pemahaman Pola
Pemahaman pada pola merupakan bagian ilmu untuk mengatogorikan atau memetakan sesuatu yang bersumberkan penilaian kuantitatif pada fitur (ciri) ataupun versi yang utama pada suatu objek. Pemahan pola sendiri merupakan suatu objek yang terkelompokkan dan dapat dicocokkan dan dapat diberi suatu nama. Pola juga bisa merupakan suatu kumpulan hasil atau pemantauan dan biasa dinyatakan dalam notasi vektor atau matriks (Putra, 2010).
2.2 Citra
Citra merupakan gambaran, kesamaan, ataupun suatu objek atau suatu imitasi (Sutoyo, dkk. 2009). Citra output merupakan proses rekaman data yang berupa optik seperti foto, yang berversi analog seperti sinyal yang ada di video, gambar yang dilayar televisi, atau berversi digital secara langsung di save pada media penyimpanan pada komputer.
Bentuk pada citra analog dan citra digital sering kita temui dalam kehidupan sehari-
hari, citra analog seperti foto yang tercetak dikertas, sebuah lukisan dikanvas atau kertas
dan lain sebagainya, citra ini berversi kontiniu, seperti gambar pada monitor televisi,
poto sinar-x, pengamatan pada alam, hasil scanan, gambar yang terekam pada suatu pita
kaset, dan lain sebagainya. Citra analog tidak dapat disajikan dikomputer sehingga
secara langsung tidak akan bisa diproses pada sebuah komputer.
Sedangkan pada citra digital merupakan citra mempunyai jenis dan ukuran file yang dapat diolah oleh komputer sehingga dapat terstruktur dalam model raster (grid). Pada setiap kotak (tile) yang terjadi dinamakan piksel dan mempunyai titik kordinat (x,y).
pada sumbu x (horizontal) : kolom (column), sumbu y (vertikal) : baris (row,line). Dan pada setiap piksel mempunyai nilai value atau number) yang menyatakan warna keabuan pada piksel tersebut. tingkat keabuan mencitrakan gray level (Ainun, 2014).
2.2.1 Citra Grasycale
Grasycale merupakan suatu derajat yang berwarna keabu-abuan dalam suatu piksel dan pada citra yang berisikan informasi intensitas dengan warna putih dan hitam.
Citra yang dapat dinyatakan Grayscale saat pada citra tidak mempunyai warna RGB atau bisa dikatakan suatu citra yang mempunyai nilai pada warna putih yang mempunyai pencahayaan yang paling tinggi sampai warna hitam mempunyai pencahayaan yang sangat rendah, seperti pada gambar 2.1 dibawah ini.
Gambar 2.1 Intensitas Grayscale
Citra grayscale yang terdiri dari sumbu x dan y dalam sebuah titik koordinat dan
mempunyai sebuah nilai pencahayaan pada masing-masingnya. Pada suatu citra
grayscale pada gambar mempunyai pencahayaan dengan nilai 0 disebut warna hitam
sampai 255 dengan warna putih dalam citra 8 bit-nya dan dapat dilihat pada gambar
2.2 dibawah ini.
Gambar 2.2 Citra Grayscale
Dalam perhitungan algoritma pada tingkat warna keabuan, piksel pada suatu citra yang terdapat warna RGB (Red, Green, dan Blue) di ubah menjadi warna pada tingkat keabuan (I) dengan menilai semua nilai dengan warna lalu dibagi menjadi tiga sehingga mendapatkan nilai rata-rata.
2.2.2 Thresholding
Threshold merupakan suatu cara untuk memperkuat citra dengan merubah citra menjadi hitam dan putih (2 bit). didalam threshold ini, harus menetapkan suatu variable yang dapat berfungsi sebagai batas untuk mengkonversi elemen matriks citra menjadi hitam atau putih. Jika dalam nilai elemen matriks, dikonversi menjadi nilai Nol/0 (hitam), jika diatas nilai ini, elemen dikonversi menjadi 1.Untuk citra RGB, terlebih dahulu diubah menjadi grayscale.
Gambar 2.3 Citra Threshold
2.3 Tahap Processing Citra
Pada tahap ini image akan diubah dari citra yang memiliki 3 layer RGB menjadi 8 bit derajat dengan warna keabuan dan akhirnya diubah kembali menjadi citra 2 bit yaitu wana hitam dan putih. Pada sistem thresholding ini merupakan sistem perubahan pencahayaan pada suatu citra, sehingga untuk membuat thresholding dengan derajat warna keabuan tahap preprosesing citra dapat dilihat seperti pada gambar 2.4.
Gambar 2.4 Alur Tahap Preprocessing Citra menjadi Threshold
2.4 Jaringan Syaraf Biologi
Pada Otak manusia mempunyai susunan yang obsesi yang luar biasa. Otak terdiri dari
neuron-neuron dan terkait yang merupakan sinapsis. Neuron dapat bekerja yang
didasari simpul/sinyal yang diberi untuk neuron. Neuron menyambungkannya pada
neuron lain. Yang diperkirakan manusia dapat mempunyai 1012 neuron serta 6x1018
sinapsisnya. Dengan total yang begitu banyak, otak juga dapat megidentifikasi pola,
dapat berhitung, dan meninjau organ-organ tubuh dengan kecepatan yang lebih tinggi
dibandingkan komputer digital (Puspitaningrum, 2006).
Gambar 2.5 Susunan Neuron Biologis
Dibawah ini merupakan perbedaan terminologis antara jaringan syaraf biologis dan tiruan dapat dilihat pada tabel 2.1 dibawah ini:
Tabel 2.1 Perbedaan Jaringan Syaraf Biologis dengan Jaringan Syaraf Tiruan (Puspitaningrum, 2010).
Komponen penting neuron ada 3 yaitu dendrit, soma dan axon. Dengan alur dendrit menerima sinyal dari neuron lain, lalu sinyal tersebut dapat berupa impuls elektrik yang dikirim melalui celah sinaptiknya melalui sistem kimia. Dan sinyal tersbut dapat dimodif dengan pilihan diperkuat ataupun diperlemah dicelah sinaptik.
Selanjutnya menjumlahkan semua sinyal yang masuk, jika jumlah tersebut cukup kuat
dan lebih dari batas ambang (threshold) , maka sinyal tersebut akan meneruskan ke sel
lain melalui axon. Penerusan dalam Frekuensi sinyal dapat berbeda antara satu sel
dengan yang lain. Neuron pada biologi adalah proses yang "fault tolerant" terdapat 2 hal yaitu:
1. Manusia dapat mengidentifikasi sinyal keluaran yang berbeda dari yang pernah diterima pada sebelumnya. Dengan contoh, manusia dapat mengidentifikasi wajahnya dengan yang pernah dilihat dari poto ataupun dapat mengidentifikasi wajahnya yang berbeda hal ini dikarenakan sudah lama tidak dijumpainya.
2. Pada Otak manusia tetap dapat bekerja walaupun ada beberapa neoronnya tidak mampu bekerja dengan baik, jika pada neuron rusak, neuron lain terkadang dapat dilatih untuk dapat menjadikan fungsi sel yang sudah rusak tersebut.
2.5 Jaringan Syaraf Tiruan (Neural Network (NN))
Pada jaringan syaraf tiruan (JST) adalah suatu proses pengkajian yang di gagaskan dari jaringan proses pengkajian bilogis yang terjadi dari jaringan sel syaraf yang terhubung satu dengan yang lainnya. (Silvia, 2007).
Beberapa jenis jaringan syaraf tiruan (JST) adalah sebagai berikut:
1. Jaringan syaraf tiruan (JST) merupakan suatu model proses informasi berbasis komputer yang dapat mempresentasikan dan memodelkan suatu sistem syaraf biologis.
2. Model matematik yang menyimpan sejumlah besar elemen proses yang dikumpulkan dalam lapisan.
3. Suatu proses komputasi yang dapat dibuat dari sejumlah elemen proses yang sederhana dan saling dikoneksikan agar dapat diproses dalam informasi melalui masukan dari luar dan dapat inresponsi keadaan yang dinamis.
4. Jaringan syaraf tiruan merupakan teknologi komputasi yang berbasis hanya pada model syaraf biologis dan mencoba mengaplikasikan tingkah laku dan kerja model syaraf.
5. Jaringan syaraf tiruan merupakan suatu proses informasi yang memiliki karakteristik sama dengan jaringan syaraf biologi. Jaringan syaraf tiruan dibentuk sebagai generalisasi model matematik dari jaringan syaraf biologi, dnegan asumsi bahwa:
a. Pemrosesan informasi terjadi pada banyak elemen sederhana (neuron).
b. Sinyal dikirimkan antara neuron-neuron dengan penghubung.
aktivasi yang dikenakan pada jumlah masukkan yang akan diterima. Besarnya keluaran ini selanjutnya dibandingkan dnegan suatu batas ambang.
Versi pada jaringan syaraf tiruan (JST) pada dasarnya merupakan fungsi model matematik yang merupakan sebagai fungsi istilah “jaringan” pada jaringan syaraf tiruan yang menyatakan pada interkoneksi dari beberapa neuron yang diletakkan pada lapisan yang berbeda. Secara umum, lapisan pada jaringan syaraf tiruan (KST) dibagi menjadi tiga bagian yaitu:
1. Pada lapisan masukan (Input layer) terdiri dari neuron yang dapat menerima data masukkan dari variabel x. Semua neuron pada lapisan ini dapat terhubung ke neuron pada lapisan tersembunyi atau langsung ke lapisan keluaran jika pada jaringan tidak menggunakan lapisan yang tersembunyi.
2. Lapisan yang tersembunyi (hidden layer) terdiri dari neuron yang dapat menerima data dari lapisan masukkan.
3. Lapisan keluaran (output layer) terdiri dari neuron yang menerima data dari lapisan yang tersembunyi atau langsung dari lapisan yang masukkan yang ilai keluarannya melambangkan hasil kalkulasi dari x menjadi nilai y.
Gambar 2.6 Model Sederhana Neuron
Secara Matematika, neuron adalah sebuah fungsi yang adapat menrima input dari
lapisan sebelumnya (lapisan ke-i). Dan dapat berfungsi mengolah sebuah vector untuk
dapat mengubah ke nilai skalar dengan komposisi non linear weighttedsum, dimana k
adalah fungsi utama yang sering disebut dengan fungsi aktivasi dan w adalah beban aatau weight.
2.6 Jaringan Syaraf Learning Vector Quantization (LVQ)
Learning vector quantizatin (LVQ) merupakan hubungan single layer yang terdiri dari 2 lapisan yaitu lapisan input dan lapisan output. (Nurkkhozin, dkk, 2011).
Menurut kusuma dewi (2003:258), learning vector quantization (LVQ) merupakan suatu metode untuk melakukan pembelajaran pada lapisan kompetitif yang terawasi.
Suatu lapisan kompetitif akan secara otomatis belajar untuk mengklasifikasikan vector-vector input.
Dengan kata lain, Learning Vector Quantization (LVQ) merupakan jaringan syaraf yang dengan tipe arsitekturnya pada jaringan lapis tunggal umpan maju (single layer feed forward) terdiri dari unit masukkan dan unit keluaran. Lapisan kompetitif akan secara otomatis belajar untuk dapat mengelompokkan vektor-vektor masukkan.
Kelas yang dapat sebagai hasil dari lapisan kompetitif tergantung pad ajarak antara vektor masukkan. Jika 2 vektor masukkanb mendekati sama maka lapisan kompetitif akan meletakkan kedua vektor masukkan tersebut kedalam kelas yang sama.
Algoritma:
1. Tetap: Bobot awal (w), Maksimum Epoch (MaxEpoch), dan Learning rate (α).
2. Masukkan :
a. Input : x (m,n); m merupakan jumlah input dan n merupakan jumlah data.
b. Target : T (1,n) 3. Penetapan kondisi awal:
a. Epoch=0;
4. Kerjakan jika : (epoch < MaxEpoch) a. Epoch = epoch + 1
b. Kerjakan untuk i=1 sampai dengan n
- Penentuan J hingga || X – wj || minimum (sebagai Cj (jarak Euclidian)).
- Perbaiki Wj dengan ketentuan:
1. Jika T = Cj maka: wj(baru) = wj(lama) + α (X - wj(lama))
2. jika T ≠ Cj maka : wj(baru) = wj(lama)- α (X - wj(lama))
2.7 Jaringan Syaraf Self Organizing Maps (SOM) atau Kohonen
Pada sistem pembelajaran yang tak terawasi ini tidak memerlukan target output.
Sehingga tidak dapat ditentukan hasil yang diharapkan selama sistem pembelajarannya, pada nilai bobot yang disusun dalam suatu range yang spesifik.
Tergantung pada nilai input yang diberikan sehingga tujuan pengkajian ini adalah mengklasifikasikan unit-unit yang hampir sama pada suatu area yang tertentu (puspitorini, 2008)
Pada jaringan syaraf self organizing Map (SOM) atau Kohonen merupakan pembelajaran yang tak terawasi (unsupervised learning). Dikenal pada tahun 1982 oleh Prof. Teuvo. Pada Jaringan ini lapisan yang yang berisi neuron dapat menyusun dirinya sendiri bersumberkan input nilai yang spesifik dalam klasifikasi yang dikenal dengan istilah cluster. Selama sistem pengorganisasian diri, custer yang memiliki vektor bobot sanagt cocok pada pola input (memiliki jarak dengan jarak yang paling dekat) yang akan dipilih sebagai pemenang. Neuron yang menjadi pemenang serta neuron-neuron dengan tetangganya akan dapat memperbaiki bobotnya. (Tae,2010)
Dalam pembelajaran algoritma ini dengan tujuan agar dapat merubah suatu pola
pada sinyal yang masuk sehingga mempunyai dimensi yang dapat berubah-ubah ke
suatu peta yang berdimensi satu atau dua. Sifat pada pemetaan yang mempunyai
jaringan syaraf Self Organing Maps (SOM) atau Kohonen yang dapat menirukan otak
manusia yang tidak terdapat pada suatu jaringan syaraf tiruan lainnya. Terdapat m
merupakan unit kelompok yang dapat tersusun didalam arsitektur satu ataupun dua
berdimensi dan sinyal masukkan sejumlah n. Vektor pada bobot untuk suatu unit yang
dapat diklasifikasikan dan disediakan satu contoh dari suatu pola masukkan yang
dapat bergabung dengan klasifikasi tersebut. Selama sistem pengorganisasian sendiri,
pada unit kelompok yang mempunyai vektor bobot yang paling tepat dengan pola
masukkan (ditandai dengan jarak Euclidean paling minimum) dipilih sebagai
pemenang. Unit pemenang dan unit tetangganya diperbaharui pada bobotnya. Dalam
susunan unit klasifikasi linier, dalam tetangga radius R disekitar unit klasifikasi
jaringan terdiri pada semua unit jaringan yang dapat memenuhi maksimal fungsi Aj:
(1,J-R<=j,=min(J+R,m). (Tae,2010).
Pada arsitektur jaringan syaraf kohonen dapat dilihat pada gambar 2.7
Gambar 2.7 Arsitektur Jaringan Algoritma Self Organizing Kohonen (Kusumadewi,2006)
Pada algoritma pengklasifikasian pada pola jaringan Self Organizing Maps (SOM) atau Kohonen (Tae, 2010):
Step 0 Inisialisasi yang pertama/awal Bobot wij (random/acak)
Nilai parameter pada learning rate () dan faktor penurunannya Bentuk dan jari-jari (r) topologi sekitarnya
Step 1 Selama kondisi penghentian bernilai salah, lakukan langkah 2 – 7 Step 2 Untuk setiap input vektor x, (i = 1, 2, …, n) lakukan langkah 3 – 5 Step 3 Hitung D(j) untuk semua j (j = 1, 2, …, m)
Step 4 Tentukan indeks J sedemikian sehingga D(j) minimum
Step 5 Untuk setiap unit j di sekitar J, modifikasi bobot
Step 6 Modifikasi parameter learning rate
α
t+1= 0.5 . α
tKondisi penghentian iterasi merupakan selisih antara wij pada saat itulah wij disebut
iterasi sebelumnya. Dan apabila semua wij hanya berubah sedikit saja maka iterasi itu
sudah mencapai konvergensi sehingga dapat dihentikan.
BAB 3
METODOLOGI PENELITIAN
3.1
Metode PenelitianMetode pada penelitian ini dilakukan analisis peningkatan kecepatan proses pada pengenalan wajah serta mengidentifikasi wajah pada proses absensi dengan hibridisasi algoritma LVQ dan SOM atau kohonen. Teknik Hybrid akan dilakukan adalah algoritma kohonen yang digunakan untuk pembobotan awal dan hasil pembobotan tersebut dimasukkan kealgoritma LVQ untuk mendapatkan hasil pelatihan berupa bobot akhir yang digunakan untuk pengenalan wajah.
Algoritma LVQ dapat memulai dalam pembelajaran pada lapisan kompetitif yang dapat terawasi (dengan supervisi) dimana jaringan ini akan otomatis belajar agar dapat mengelompokkan vektor masukkan. Kelas yang didapatkan dalam hasil dari lapisan kompetitif ini, maka hanya dapat bergantung pada jarak antara vektor masukkan. Setiap kelas dialihfungsikan pada salah satu array vektor dan dapat dijadikan sebagai inisialisasi bobot. Jika pada dua input yang mendekati sama, maka pada lapisan kompetitif akan meletakkkan kedua vektor masukkan tersebut kedalam kelas yang sama.
Algoritma SOM atau Kohonen (tanpa suvervisi) pada hubungan ini tidak akan
mendapatkan target. Maka dari itu jaringan dapat mengontrol bobot interkoneksi itu
sendiri. Pembelajaran yang tidak diawasi dapat diacu sebagai Self Organizing Learning
yaitu pembelajaran yang mengelompokkan yang tidak di training. Dalam sistem belajar
yang tidak diawasi pada jaringan akan dapat dikelompokkan seperti vektor-vektor input
yang ada pada kelas-kelas yang tidak sama.
waktu komputasinya yang berorde eksponensial. Hal ini berarti untuk data training yang cukup banyak dan dalam sistemnya menjadi sangat lemah dan lambat.
3.1.1 Analisis Sistem
Wajah merupakan bagian utama dari manusia yang mempunyai ciri yang unik dan lain pada setiap bentuk manusia yang ada. Wajah juga dapat digunakan untuk mengenali seseorang, salah satunya dengan sistem pengenalan pada wajah misalnya untuk absensi, pendataan penduduk maupun untuk sistem pengamanan.
Landasan kerja dari algoritma kohonen merupakan pengurangan pada node neighbor atau tetangganya, sehingga kesimpulannya hanya ada satu node output yang terpilih (winner node). Pada awalnya yang dilakukan dalam melakukan inisialisasi bobot untuk setiap node dengan nilai random/acak. Setelah diberikan bobot random/acak, maka jaringan diberi input sejumlah dimensi neuron input/node. Setelah itu input diterima pada jaringan tersebut, kemudian jaringan sejumlah dimensi node/neuron input. Setelah input diterima jaringan, kemudian jaringan memulai perhitungan pada jarak vektor yang didapatkan dengan menjumlahkan selisih/jarak antara input dengan vektor bobot.
Pada algoritma Learning Vector Quantization (LVQ) proses pengenalan wajah dimulai dengan proses training terhadap wajah-wajah untuk mendapatkan bobot akhir.
Pada proses pengujian, bobot akhir digunakan untuk dapat menghitung jarak antara bobot akhir dengan bobot wajah yang diinput, dimana jarak yang paling dekat merupakan wajah hasil pengenalan.
Pada algoritma hibridisasi, bobot yang telah dihasilkan dengan algoritma kohonen
digunakan sebagai bobot awal pada sistem training yang menggunakan algoritma
Learning Vector Quantization (LVQ). Dan pada tahap training bobot akhir yang didapat
dan digunakan untuk proses identifikasi pada wajah, apa sistem sudah dapat
menemukan target atau tidak. Pengujian sistem dilakukan sampai didapatkannya eror
yang paling rendah atau yang mendekati pada target. Bobot dan semua variabel yang
digunakan pada saat pengujian akan dapat digunakan jika persentase keakuratan pada
tahap pengujian tinggi, maka keakuratan hasil juga akan tinggi.
3.1.2 Bagan Rancangan Penelitian
Rancangan penelitian yang akan dilakukan adalah dengan mentraining pengenalan pada wajah dengan meng-hibridisasikan algoritma LVQ dan SOM atau Kohonen sehingga dapat dilihat dibawah ini pada gambar 3.1
Gambar 3.1 Bagan Rancangan Penelitian
Pra Processing Citra Start
Pembobotan LVQ Pembobotan
Kohonen
Training LVQ
Recognition Kohonen
Stop Akurasi/Waktu
Input Citra Wajah, Parameter jaringan
Hitung Akurasi/Waktu
Recognition LVQ Recognition LVQ Training LVQ
Jarak Vektor
Pembobotan Kohonen
Algoritma Kohonen Algoritma LVQ Algoritma Kombinasi
dan sekelompok citra pada training (testing data set). Proses praproses (preprocessing) citra merupakan kumpulan proses-proses yang digunakan untuk menyiapkan citra input dan dijadikan masukkan kedalam jaringan. Proses praposes pada penelitian ini terbagi menjadi empat tahap yaitu:
1. Pembacaan pada Citra 2. Grayscaling
3. Deteksi tepi pada operator sobel 4. Binerisasi
Citra pada wajah yang berukuran 350 x 250 pixel dapat dilakukan pembacaan untuk mendapatkan nilai-nilai pada pikselnya yang berupa nilai red, green, serta blue.
Selanjutnya dilakukan proses konversi ke grayscaling untuk mendapatkan satu nilai pada setiap pikselnya, selanjutnya citra tersebut diperjelas tepi-tepinya dengan proses pendeteksian tepi berbasis gradien menggunakan operator sobel. Analisis citra merupakan citra grayscale dengan skala 8 bit yang mempunyai pencahayaan warna yang dikira antara 0 untuk nilai minimum sampai dengan 255 yang menjadikan nilai maksimum.
Maka analisis citra dikenakan pada proses binerisasi yaitu dikonversikan ke dalam bilangan biner dengan proses threshold (pengambangan) sepanjang 350 x 250 pada setiap citra yang pikselnya sama dengan nilai intensitas warna ≤128 yang diberikan nilai 0, sementara untuk nilai intensitas pada warna >128 diberi nilai 1, sehingga akan diperoleh barisan nilai yang terdiri dari angka 0 dan 1 sebesar 87.500 piksel elemen.
Sebagai contoh citra pada wajah seperti pada gambar 3.2
Gambar 3.2 Citra Wajah
3.3
Pemahaman File CitraCitra pada warna sebesar 24-bit (true color) tidak ada palet RGB, karena pada nilai RGB secara langsung dipaparkan dalam data bitmap yang berbentuk bilangan biner. Dalam membaca nilai pada RGB nya, yang dapat melakukan dengan cara mencari header- header serta data bitmap yang berisikan informasi yang berdimensi, bentuk format dan nilai piksel pada citra. Setiap elemen data bitmap panjangnya 3 byte, masing-masing byte yang menyatakan komponen palet R, G, dan B. Pada setiap byte data dapat merepresentasikan 8 bit, sehingga pada citra warna ada 3 byte x 8 bit = 24 bit kandungan pada warna.
Citra warna yang setiap pixel-nya mengandung 24-bit dengan kandungan warna atau 8-bit untuk setiap warna dasar (R, G, dan B), kandungan nilai berkisar antara 0 (00000000) sampai 255 (11111111) untuk setiap warnanya. seperti pada nilai piksel citra warna seperti dilihat pada gambar 3.3
Gambar 3.3 Contoh Nilai Piksel Citra Warna
Contoh citra dapat dilihat pada gambar 3.2 di atas, header yang berisi informasi nama file, jenis format dan dimensi citra merupakan data yang pertama. Data bitmap yang dibawah terdapat pixel pertama memiliki nilai =100001111011010010100001.
Untuk dapat memiliki nilai RGB pada setiap pikselnya dengan menggunakan rumus sebagai berikut:
- Nilai (R) = c and 255 (3.1)
- Nilai (G) = (c and 65,280)/256 (3.2)
- Nilai (B) = ((c and 16,711,680)/256)/256 (3.3) Dimana (c) merupakan nilai piksel citra
Dilihat gambar 3.2 di atas, nilai piksel (0,0) adalah 111100001011010010111001 (24 bit). Nilai (R) dihitung pada persamaan 3.1 sebagai berikut:
Nilai (R) = 100001111011010010100001and 11111111
<Header>
<databitmap>
10000111101101001010000110010000101101001001011110110 1101011010010000001100100111010011000011001
11111110001011111110001
10010000100111100100000011001001110110010111111011111
Piksel 1 Piksel 2
Piksel n
Nilai (G) = (100001111011010010100001 and 1111111100000000)/100000000
= 10110100
= 180 (desimal)
Nilai komponen B dihitung dengan persamaan (3.3):
Nilai (B)= (100001111011010010100001 and
111111110000000000000000)/100000000/100000000
= 10000111
= 135 (desimal)
Sehingga diperoleh nilai piksel (0,0) 11110000 11110000 11111111:
R = 11110001 = 161 (desimal) G = 10110100 = 180 (desimal) B = 10010000 = 135 (desimal)
Pada penjelasan ini jumlah pada piksel yang dihitung sebanyak 25 piksel dan agar mendapatkan nilai pada RGB piksel seterusnya dilakukan sama seperti cara yang diatas dan seterusnya nilai pada RGB semua nilai piksel pada citra dimasukkan ke dalam matriks seperti pada gambar 3.4 dibawah ini
161,180,135 152,140,110 182,166,210 166,112,178 170,177,166 202,189,134 201,180,111 140,173,110 192.120,200 112,167,162 133,200,152 165,100,155 124,110,167 140,180,126 200,160,200 141,204,104 134, 80,144 140,110,115 150,180,150 160,210,220 56,100,110 147,140,165 143,230,173 140,212,210 150,212,150
Gambar 3.4 Matriks Nilai RGB Citra Warna
3.4
Menghitung Nilai Grayscale CitraMatriks citra pada warna dapat dilihat di gambar 3.3 diatas yang ditransformasikan menjadi citra grayscale yang menghitung nilai rata-rata warna red, green dan blue.
Perhitungan dalam matematik adalah sebagai berikut:
f
0(x,y) = (
( ) ( ) ( )) (3.4)
Menghitung nilai grayscale pada citra dapat dicontohkan pada gambar 3.3 diatas dengan memakai persamaan (3.6) adalah sebagai berikut:
f(0,0) = (
)= 158 f(0,1) = (
)= 134 f(0,2) = (
)= 186 f(0,3) = (
)= 152 f(0,4) = (
)= 171
untuk dapat menghitung nilai grayscale piksel seterusnya dilakukan sama seperti cara diatas, setelah itu hasil nilai grayscale matriks citra warna dapat dimasukkan kedalam matriks nilai grayscale seperti pada gambar 3.5 dibawah ini.
158 134 186 152 171 110 164 111 170 0 166 100 155 114 125 47 155 172 174 200 175 0 47 90 144
Gambar 3.5 Matriks Nilai Grayscale
3.5
Deteksi TepiFungsi deteksi tepi untuk dapat meyakinkan batas pada citra ataupun agar dapat mengembangkan penampakkan pada batas garis wajah. Penelitian ini difungsikan oleh operator sobel dengan dua buah kernel seperti gambar 3.6 dibawah ini.
-1 0 1 1 2 1
-2 0 2 0 0 0
-1 0 1 -1 -2 -1
Gambar 3.6 Dua Matriks Kernel
Pada citra wajah yang dilakukan pendeteksian pada tepi dengan mengambil 1 blok citra
3x3 piksel seperti pada gambar 3.7
166 100 155 -1 0 1 -1 -2 -1
Gambar 3.7 Matriks Citra 3x3 Pixsel dengan dua Filter
sx= 158(-1) + 134(-2) + 186(-1) +166(1) +100(2) + 155(1)
= 478
sv = 158(1)+110(2)+166(1)+186(-1)+111(-2)+ 155(-1)
= 452
Perhitungan nilai magnitudo (M) adalah berikut:
M = |sx| + |sy|
M = |478| + |452|
M = 930
Citra hasil konvolusi yang diperoleh dari perhitungan deteksi tepi untuk pixel/blok 3x3 adalah seperti pada gambar 3.8 dibawah ini.
* * *
* 930 *
* * *
Gambar 3.8 Nilai Konvolusi (M) sekitar pixel 3x3
Dari hasil konvolusi, maka nilai magnitudo dibagi secara rata untuk ke 9 pixel yaitu 930:9=103 dan dimasukkan kedalam matriks 3x3 seperti pada gambar 3.9 dibawah ini
103 103 103 103 103 103 103 103 103
Gambar 3.9 Matriks Hasil Deteksi Tepi Citra 3x3
3.6
BinerisasiPemisah citra grayscale bermanfaat untuk dapat mengambil pada bagian citra yang
merupakan titik gelap disebut (0) dan putih disebut (1). Pada Binerisasi dilakukan
dengan cara membagi citra menjadi ukuran 8x8 pada bagian subcitra, dan nilai intensitas atau pencahayaan rata-rata dari subcitra yang paling rendah digunakan menjadi nilai threshold (T). kemudian melakukan proses binerisasi pada citra dengan menggunakan nilai Threshold (T). ada persamaan yang digunakan untuk membuat binerisasi citra adalah sebagai berikut:
(3.5)
Dari matriks pada gambar 3.4 dilakukan perhitungan threshold untuk proses binerisasi dimana jika nilai grayscale <128, maka akan dimasukkan ke nilai 0, sedangkan jika nilai grayscale >T akan dimasukkan ke nilai 1.
Nilai pixsel (0,0) = 158, nilai pixsel 158>128, maka nilai biner = 1 Nilai pixsel (0,1) = 134, nilai pixsel 134>128, maka nilai biner = 1 Nilai pixsel (0,2) = 186, nilai pixsel 186>128, maka nilai biner = 1 Nilai pixsel (0,3) = 152, nilai pixsel 152>128, maka nilai biner = 1 Nilai pixsel (1,0) = 171, nilai pixsel 171>128, maka nilai biner = 1
Dari hasil perhitungan nilai threshold diatas dimasukkan ke dalam matriks citra biner seperti pada gambar 3.10 dibawah ini.
1 1 1 1 1
0 1 0 1 0
1 0 1 0 1
0 1 1 1 1
1 0 0 0 1
Gambar 3.10 Matriks Citra Biner
Pada g (x,y) merupakan citra biner hasil proses binerisasi pada citra wajah dengan skala keabuan f(x,y), dengan nilai threshold T. Citra hasil threshold ini menghasilkan wajah biner seperti pada gambar 3.11 dibawah ini.
𝒈(𝒙 𝒚) = 𝟏 𝒇 (𝒙 𝒚) > 𝑇 𝟎 𝒇 (𝒙 𝒚) ≤ 𝑻
Citra grayscale wajah Citra biner wajah Gambar 3.11 Citra Wajah Biner
Dengan diperolehnya citra wajah biner, maka tahap preprocessing citra sudah selesai dan selanjutnya citra biner pada gambar 3.11 diatas dilakukan proses pengenalan wajah.
3.7 Flow Chart Pengenalan Wajah dengan Algoritma LVQ
Adapun flow chart pada proses pendeteksian pada wajah dengan menggunakan Algoritma LVQ dan dapat dilihat pada gambar 3.12 dibawah ini.
Gambar 3.12 Flow Chart Pengenalan Wajah Algoritma LVQ
Start
Citra Wajah Pelatihan
Pendefinisi Input, Output dan Target
Penetapan Jml Klas, Jml Neuron, Maks Error
A
Gambar 3.13 Flow Chart Pengenalan Wajah Algoritma LVQ) Lanjutan
Pembentukan Jaringan LVQ
NET = Bobot,Jml Neuron,(1/JmlKlas)* MinErr (Jumkls))
Penetapan Parameter Pelatihan 1.MaksEpoch
2.MinError 3.DecError
Training Epoch=Epoch+1
Hasil Pengenalan Error <MinError atau
Epoch > MaksEpoch Penetapan Bobot Awal (Wij)
i=1,2,...,K. j=1,2,...,m Wij= 0-1
Inisialisasi Bobot AwalWijAwal
Perbaikan Bobot Wj
Jika T = Cj maka Wj=Wj+ MinError(Nilai Piksel) Jika T <> Cj maka Wj=Wj- MinError (Nilai Piksel)
Error=MinError*DecError
No
Yes
Selesai A
Gambar 3.14 Flow Chart Pengenalan Wajah menggunakan Algoritma SOM atau Kohonen
Start
Data Pelatihan
Inisialisasi Bobot Awal
Update Bobot
Menentukan jumlah Iterasi Maksimum
Menghitung jarak dengan Euclidian Distance
Maksimum Iterasi ?
Yes
No
Iterasi selesai
Pembentukan cluster
Data Cluster Baru
Selesai
3.9 Flow Chart Proses Pengenalan Wajah dengan Algoritma Hibridisasi
Adapun flow chart pada proses pengenalan wajah dengan menggunakan algoritma hibridisasi dpaat dilihat paa gambar 3.16 dibawah ini.
Gambar 3.16 Folw Chart Pengenalan Wajah dengan Algoritma Hibridisasi
Start
Data Pelatihan
Pendefinisian,Input, Output
Evaluasi Kesalahan Setiap Vektor Masukkan x Epoch=Epoch+1
Normalisasi semua bobot dan vektor Masukan (Nilai Piksel)
Simpan Bobot dengan kesalahan paling minimal
Neuron keluaran yang tidak pernah firing
/Aktif?
Yes
No
A B
Menghitung jarak dengan Euclidian Distance
Update bobot
Gambar 3.17 Flow Chart Pengenalan Wajah pada dengan Algoritma Hibridisasi (Lanjutan)
Keterangan:
Pada algoritma hibridisasi merupakan kombinasi algoritma learning vector quantization (LVQ) dnegan Self Organizing Maps (SOM) atau Kohonen, proses awal yang dilakukan adalah pendefinisian input (masukkan) dan output (keluaran). Penetapan bobot awal pada algoritma ini dilakukan dengan algoritma self organizing Maps (SOM) atau Kohonen, sehingga tidak diperlukan pembangkitan nilai acak (Pseudo Number Random Generator) yang berakibat waktu penentuan bobot dapat dipersingkat.
3.10
Perhitungan Dengan Algoritma LVQPada perhitungan dengan menggunakan algoritma Learning Vector Quantization (LVQ) ini tidak dapat menggunakan data (nilai piksel wajah) yang sebenarnya, namun dengan
Sesuaikan bobot dengan persamaan w’=w + MinErorr(x-w)
Perbaiki learning rate
Error=MinError* DecError
Hasil Pengenalan Error <MinError atau
Epoch > MaksEpoch No
Yes
Normalisasi Bobot
Selesai
memakai nilai yang sederhana dari sistem kerja perangkat lunak dapat digunakan dengan mudah untuk dipahami. Misalnya didapat 10 input vektor pada 2 kelas sebagai berikut:
Tabel 3.2 Data Input
NO MATRIKS TARGET
1 1, 0, 0, 0, 1,O 1
2 0, 0, 1, 0, 0, 1 1
3 0, 0, 1, 0, 1, 1 1
4 0, 1, 0, 0, 0, 1 1
5 1, 0, 1, 0, 1, 1 2
6 0, 1, 1, 1, 1, 0 2
7 0, 1,0, 1, 0, 0 2
8 0, 1, 1, 1, 1, 0 2
9 1, 0, 0, 1, 0, 1 2
10 0, 1, 1, 1, 1, 1 2
Dua inputan yang pertama akan diinisialisasi sebagai bobot:
Tabel 3.2 Data Bobot
NO MATRIKS BOBOT TARGET
1 1, 0, 0, 0, 1, 0 1
2 0, 1, 1, 1, 1, 0 2
Sedangkan 8 inputan sisanya akan digunakan sebagai data yang akan dilatih:
2 0, 0, 1, 0, 1, 0 1
3 0, 1, 0, 0, 0, 1 1
4 1, 0, 1, 0, 1, 1 1
5 0, 0, 1, 1, 0, 0 2
6 0, 1, 0, 1, 0, 0 2
7 1, 0, 0, 1, 0, 1 2
8 0, 1, 1, 1, 1, 1 2
Menjadi Nilai awal akan dipilih Learning Rate (α) = 0.05, dengan pengurangan sebesar 0.1* α, dan maksimum epoch (MaxEpoch) = 100.
Epoch ke-1 :
Data Ke-1 : (0, 0, 1, 0, 0, 1) Jarak bobot ke – 1
=
√( ) ( – ) ( – ) ( – ) ( – ) ( – )= 2
Jarak Pada bobot ke – 2
√( ) ( – ) ( – ) ( – ) ( – ) ( – )
= 2
Jarak terkecil adalah w ke-1 Target data ke-1 adalah 1
Karena target data ke-1 = w ke-1, maka w ke-1 baru adalah:
Wj(baru) = Wj(lama) + α ( Xi - Wj(lama) )
= 1 + 0.05*(0-1) = 0.95
= 0 + 0.05*(0-0) = 0
= 0 + 0.05*(1-0) = 0.05
= 0 + 0.05*(0-0) = 0
= 1 + 0.05*(0-1) = 0.95
= 0 + 0.05*(1-0) = 0.05
W1(baru) = (0.95, 0, 0.05, 0, 0.95, 0.05)
Data Ke-2 : (0, 0, 1, 0, 1, 0) Jarak bobot ke – 1
√( – ) ( – ) ( – ) ( – ) ( – ) ( – )
= 1.345
Jarak Pada bobot ke – 2
√( ) ( – ) ( – ) ( – ) ( – ) ( – )
= 1.414
Jarak terkecil adalah pada w ke-1 Target data ke-2 adalah 1
Karena target data ke-2 = w ke-1, maka w ke-1 baru adalah : Wj(baru) = Wj(lama) + α ( Xi - Wj(lama) )
= 0.95 + 0.05*(0-0.95) = 0.9025
= 0.00 + 0.05*(0-0.00) = 0
= 0.05 + 0.05*(1-0.05) = 0.0975
= 0.00 + 0.05*(0-0.00) = 0
= 0.95 + 0.05*(1-0.95) = 0.9525
= 0.05 + 0.05*(0-0.05) = 0.0475 W1(baru) = (0.9025, 0, 0.0975, 0, 0.9525, 0.0475)
Data Ke-3 : (0, 1, 0, 0, 0, 1) Jarak pada bobot ke – 1
√( – ) ( – ) ( – ) ( – ) ( – ) ( – )
= 1.907
Jarak Pada bobot ke – 2
=√( ) ( – ) ( – ) ( – ) ( – ) ( – )
= 2
Karena target data ke-3 = w ke-1, maka w ke-1 baru adalah : W
j(baru)= W
j(lama)+ α ( X
i- W
j(lama))
= 0.9025 + 0.05*(0-0.9025) = 0.8574
= 0.0000 + 0.05*(0-0.0000) = 0.0500
= 0.0975 + 0.05*(1-0.0975) = 0.0926
= 0.0000 + 0.05*(0-0.0000) = 0.0000
= 0.9525 + 0.05*(1-0.9525) = 0.9049
= 0.0475 + 0.05*(0-0.0475) = 0.0951
W
1(baru)= (0.8574, 0.0500, 0.0926, 0.0000, 0.9049, 0.0951)
Data Ke-4 : (1, 0, 1, 0, 1, 1) Jarak pada bobot ke – 1
√( – ) ( – ) ( – ) ( – ) ( – ) ( – )
= 1.293
Jarak pada bobot ke – 2
= √ (1- 0)2 + (0 – 1)2 + (1 – 1)2 + (0 – 1)2 + (1 – 1)2 + (1 – 0)2
= 2