Bahan Presentasi untuk Matakuliah Jaringan Syaraf Tiruan
Semester Genap 2018-2019
Dosen : Darwison, MT
Dio Okta Mandala
(1610951034)
Referensi :
- Darmawan Dedi, 2010 "Pengenalan Wajah dengan Metode Backpropagation Menggunakan Kamera CCTV Inframerah" , Universitas Indonesia, Depok
- http://pemrogramanmatlab.com/
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS ANDALAS
PADANG
Dosen : Darwison, MT
Dio Okta Mandala
(1610951034)
Referensi :
- Darmawan Dedi, 2010 "Pengenalan Wajah dengan Metode Backpropagation Menggunakan Kamera CCTV Inframerah" , Universitas Indonesia, Depok
- http://pemrogramanmatlab.com/
JURUSAN TEKNIK ELEKTROPADANG
PENGENALAN WAJAH DENGAN METODE
BACKPROPAGATION MENGGUNAKAN
KAMERA CCTV INFRAMERAH
1. Tujuan [kembali]
Tujuan dari aplikasi UTS mata kuliah ini adalah merancang CCTV inframerah yang dapat mendeteksi wajah dengan menggunakan metode backpropagation
2. Pendahuluan [kembali]
Tujuan dari aplikasi UTS mata kuliah ini adalah merancang CCTV inframerah yang dapat mendeteksi wajah dengan menggunakan metode backpropagation
2. Pendahuluan [kembali]
Dengan
perkembangan teknologi sekarang ini, sudah banyak jenis-jenis sistem pendeteksi yang dikembangkan untuk kepentingan
pengguna teknologi itu sendiri. Sistem pendeteksi ini bisa digunakan pada sebuah benda maupun anggota tubuh manusia. Teknologi yang menggunakan tubuh
manusia sebagai objek deteksi adalah teknologi biometrik. Dimana teknologi biometrik inilah yang digunakan sebagai dasar dari sistem pendeteksi dari
dari anggota tubuh manusia. Dalam dunia
medis sudah dikenal kalau beberapa dari angota tubuh manusia memiliki perbedaan dengan manusia yang lainnya.
Seperti perbedaan pada kontur sidik jari,
retina mata dan wajah manusia. Selain itu anggota tubuh manusia juga dapat menghasilkan ekspresi yang berbeda seperti
senyum, sedih, marah dan lainlain.
Salah satu metode
yang digunakan dalam proses pendeteksian adalah metode Backpropagation atau Komputasi Balik yang lebih dikenal
merupakan bagian dari Jaringan Saraf Tiruan atau Neural
Network. Metode ini bias dipergunakan
untuk melakukan pendeteksian pada wajah yang sangat berguna untuk sistem keamanan berbasis komputer. Sehingga
proses pengenalan terhadap seseorang
dapat dilakukan dengan cepat.
Dan metode ini
dapat diaplikasikan pada sistem keamanan berbasis komputer dengan sistem akses. Dalam pengoprasian sistem keamanan yang beroperasi selama 24 jam terdapat masalah pada
penggunaan media kamera yang digunakan,
dimana kamera visible hanya mampu mengambil gambar dengan pencahayaan yang cukup. Untuk itu perlu
dipergunakannya kamera yang mampu beroperasi pada malam hari maupun siang hari, sehingga sistem keamanan
dapat bekerja selama 24 jam penuh.
Kamera Inframerah
·
Inframerah
Inframerah
(Infrared) adalah radiasi elektromagnetik dari Panjang gelombang lebih panjang dari cahaya tampak, tetapi
lebih pendek dari radiasi gelombang radio. Nama infrared secara bahasa
diartikan "bawah merah" yang dalam bahasa Latin infra berarti "bawah", dan red atau
warna merah dalam Bahasa inggris merupakan warna dari cahaya tampak dengan
gelombang terpanjang. Radiasi inframerah memiliki tiga kategori
jangkauan, Inframerah dengan jarak dekat dengan panjang gelombang 0,75 – 1,5 μm, Inframerah dengan jarak menengah dengan panjang
gelombang 1,50 – 10 μm dan Inframerah
dengan jarak jauh dengan panjang gelombang 10 – 100 μm. Inframerah ditemukan secara tidak sengaja oleh Sir William Herschell, astronom kerajaan Inggris ketika ia
sedang mengadakan penelitian mencari bahan penyaring optik
yang akan digunakan untuk mengurangi kecerahan gambar matahari dalam tata
surya teleskop.
Gambar 1. Seekor anjing yang diambil dalam cahaya inframerah
Dari gambar 1
dapat dilihat hasil gambar yang diambil dalam cahaya inframerah, dan dapat terlihat dengan jelas setiap
anggota tubuh dari anjing tersebut memancarkan warna yang berbeda. Perbedaan
warna tersebut mewakili suhu yang dipancarkan oleh bagian tubuh dari anjing
tersebut, semakin tinggi suhu yang dipancarkan maka warna yang ditampilkan akan
semakin terang. Dan warna gelap yang di tampilkan pada gambar mewakilkan
suhu yang rendah dari objek yang ditangkap.
·
Night
Vision
Penglihatan malam
atau night vision adalah kemampuan untuk melihat baik dalam arti dengan kemampuan biologis atau
teknologi dalam lingkungan gelap.
Kemampuan night vision dapat dicapai dengan menggunakan dua pendekatan yaitu meningkatkan batas spektrum gelombang
yang dapat dilihat atau meningkatkan kemampuan untuk melihat intensitas cahaya
yang kurang. Pada pendekatan pertama, kemampuan penglihatan mata manusia
dibatasi hanya pada batasan tertentu dalam gelombang elektromagnetik yang
disebut cahata tampak. Dengan meningkatkan batas spektrum gelombang cahaya
yang dapat dilihat, pengamat dapat melihat sumber-sumber cahaya tidak
tampak seperti gelombang inframerah atau ultraungu. Pendekatan yang kedua,
pengamat diberi kemampuang untuk
melihat cahaya walaupun dalam intensitas kecil. Hal ini dapat dicapai dengan menggunakan teknologi image intensifier.
Gambar 2. Gambar yang
diambil dengan teropong dengan kemampuan night vision
·
Kamera CCTV Inframerah
Kamera CCTV
infrared adalah jenis kamera CCTV yang digunakan untuk sistem keamanan yang menggunakan Infrared LED
dan Infrared filter dalam mengambil gambar. Sinar inframerah memang tidak dapat ditangkap oleh
mata telanjang manusia, namun sinar inframerah tersebut
dapat ditangkap oleh kamera digital
atau video handycam. Dengan adanya suatu teknologi yang berupa filter iR PF [4] yang berfungi sebagai penerus cahaya
inframerah, maka kemampuan kamera atau
video tersebut menjadi meningkat, seperti pengambilan gambar dalam kondisi gelap. Penggunaan kamera jenis ini
dikarenakan keunggulannya dalam menangkap gambar dalam penglihatan malam (night
vision). Pada saat malam hari kamera biasa (visible camera) tidak
dapat menangkap gambar dengan baik karena
kamera biasa memamfaatkan pencahayaan untuk mengambil gambar. Sedangkan kamera CCTV inframerah memamfaatkan cahaya
inframerah dan filter inframerah untuk menangkap gambar.
Gambar 3. Bentuk kamera yang digunakan Kamera CCTV IR Outdoor
JMK JK-212
Jaringan Syaraf Tiruan
Jaringan saraf
tiruan (JST) atau umumnya hanya disebut neural network (NN), adalah sistem pembelajaran berbentuk jaringan
yang terisnpirasi berdasarkan jaringan saraf manusia. Jaringan Saraf Tiruan merupakan system adaptasi yang dapat merubah strukturnya untuk
memecahkan masalah berdasarkan informasi yang masuk dan keluar melalui jaringan
tersebut. Bisa dikatakan, Jaringan Saraf
Tiruan adalah sebuah sistem pemodelan data statistik non-linier. Jaringan Saraf Tiruan dapat digunakan untuk memodelkan
hubungan yang kompleks antara input, hidden dan output yang berupa layer-layer untuk menemukan
pola-pola pada data. Untuk pola dari Jaringan Saraf Tiruan dapa dilihat pada gambar 4 yang terdiri dari input layer, hidden layer dan output layer.
Gambar 4. Gambar Pola Neural Network
Ø Data input
Data yang diambil
untuk proses pengenalan adalah gambar (image) dari wajah
orang-orang yang dijadikan contoh (sample) pengenalan. Proses pengambilan data dilakukan dengan perangkat (interface)
yang dipergunakan dalam sistem. Adapun perangkat yang digunakan dalam melakukan perancangan ini adalah:
·
Kamera CCTV IR Outdoor JMK JK-212
·
Gadmei external USB TV BOX UTV332
·
1 unit PC
- Prosesor Intel
Core 2 duo TE4300 @ 1.80 GHz
- Memory ( RAM ) 1
GB
- Operating System
Windows 7
- Matlab 7.8.0
- GOM Player
- ACDSee 10 Photo
Manager
1.
Langkah pertama yaitu mempersiapkan data
untuk proses pelatihan dan pengujian. Berikut
ini merupakan contoh data untuk proses pelatihan
No
|
Ciri/ Feature
|
Target
|
|||
Mata
|
Hidung
|
Mulut
|
Telinga
|
Nama Orang
|
|
1
|
0.35
|
0.47
|
0.88
|
0.34
|
Adi
|
2
|
0.59
|
0.11
|
0.90
|
0.56
|
Budi
|
3
|
0.19
|
0.89
|
0.54
|
0.38
|
Candra
|
4
|
0.36
|
0.90
|
0.39
|
0.82
|
Dedi
|
5
|
0.58
|
0.45
|
0.80
|
0.91
|
Erik
|
6
|
0.40
|
0.45
|
0.80
|
0.35
|
Adi
|
7
|
0.61
|
0.11
|
0.90
|
0.55
|
Budi
|
8
|
0.20
|
0.87
|
0.56
|
0.41
|
Candra
|
9
|
0.38
|
0.88
|
0.35
|
0.85
|
Dedi
|
10
|
0.57
|
0.46
|
0.82
|
0.92
|
Erik
|
11
|
0.33
|
0.45
|
0.85
|
0.37
|
Adi
|
12
|
0.55
|
0.14
|
0.90
|
0.57
|
Budi
|
13
|
0.18
|
0.87
|
0.55
|
0.40
|
Candra
|
14
|
0.38
|
0.89
|
0.37
|
0.85
|
Dedi
|
15
|
0.56
|
0.47
|
0.83
|
0.91
|
Erik
|
Sedangkan contoh
data untuk pengujian adalah sbb:
No
|
Ciri/ Feature
|
Target
|
|||
Mata
|
Hidung
|
Mulut
|
Telinga
|
Nama Orang
|
|
1
|
0.38
|
0.43
|
0.85
|
0.34
|
Adi
|
2
|
0.60
|
0.14
|
0.87
|
0.57
|
Budi
|
3
|
0.19
|
0.88
|
0.60
|
0.40
|
Candra
|
4
|
0.35
|
0.90
|
0.41
|
0.83
|
Dedi
|
5
|
0.59
|
0.45
|
0.78
|
0.93
|
Erik
|
2.
Langkah
berikutnya yaitu menyusun data latih beserta target latih sesuai dengan format
pemrograman JST di Matlab. Data latih disusun sehingga menjadi matriks
berukuran 4 x 15 seperti berikut ini
0.35
|
0.59
|
0.19
|
0.36
|
0.58
|
0.40
|
0.61
|
0.20
|
0.38
|
0.57
|
0.33
|
0.55
|
0.18
|
0.38
|
0.56
|
0.47
|
0.11
|
0.89
|
0.90
|
0.45
|
0.45
|
0.11
|
0.87
|
0.88
|
0.46
|
0.45
|
0.14
|
0.87
|
0.89
|
0.47
|
0.88
|
0.90
|
0.54
|
0.39
|
0.80
|
0.80
|
0.90
|
0.56
|
0.35
|
0.82
|
0.85
|
0.90
|
0.55
|
0.37
|
0.83
|
0.34
|
0.56
|
0.38
|
0.82
|
0.91
|
0.35
|
0.55
|
0.41
|
0.85
|
0.92
|
0.37
|
0.57
|
0.40
|
0.85
|
0.91
|
Sedangkan
target latih disusun menjadi matriks berukuran 1 x 15 seperti berikut ini
1
|
2
|
3
|
4
|
5
|
1
|
2
|
3
|
4
|
5
|
1
|
2
|
3
|
4
|
5
|
Keterangan:
1 = Adi, 2 = Budi, 3 = Candra, 4 = Dedi, 5 = Erik
3. Langkah
selanjutnya yaitu menuliskan coding pada script matlab seperti berikut ini
3.1 Coding untuk menuliskan data latih dan target latih pada matlab
3.1 Coding untuk menuliskan data latih dan target latih pada matlab
% Mempersiapkan data latih dan
target latih
data_latih =
[0.35,0.59,0.19,0.36,0.58,0.40,0.61,0.20,0.38,0.57,0.33,0.55,0.18,0.38,0.56;...
0.47,0.11,0.89,0.90,0.45,0.45,0.11,0.87,0.88,0.46,0.45,0.14,0.87,0.89,0.47;...
0.88,0.90,0.54,0.39,0.80,0.80,0.90,0.56,0.35,0.82,0.85,0.90,0.55,0.37,0.83;...
0.34,0.56,0.38,0.82,0.91,0.35,0.55,0.41,0.85,0.92,0.37,0.57,0.40,0.85,0.91];
target_latih =
[1,2,3,4,5,1,2,3,4,5,1,2,3,4,5];
[~,N] = size(data_latih);
3.2 Selanjutnya membuat coding Jaringan Syaraf Tiruan
Backpropagation dengan arsitektur 4-2-1 dan inisialisasi bobot awal secara
acak. Pada pemrograman ini digunakan fungsi aktivasi sigmoid biner (logsig)
pada hidden layer dan fungsi aktivasi linear (purelin) pada layer keluaran.
Sedangkan fungsi pelatihan menggunakan metode gradien descent
% Pembuatan JST
net = newff(minmax(data_latih),[2
1],{'logsig','purelin'},'traingdx');
net.IW{1,1} =
[-7.62,0.97,-2.60,-9.55;-5.83,-3.41,3.08,-4.44];
net.LW{2,1} = [-2.40,-2.67];
net.b{1,1} = [9.38;-2.7];
net.b{2,1} = 5.93;
3.3 Membuat coding
untuk memberikan parameter-parameter yang mempengaruhi proses pelatihan jst
seperti parameter jumlah epoch, target error, learning rate, momentum.
% Memberikan nilai untuk
mempengaruhi proses pelatihan
net.performFcn = 'mse';
net.trainParam.goal = 0.01;
net.trainParam.show = 20;
net.trainParam.epochs = 1000;
net.trainParam.mc = 0.95;
net.trainParam.lr = 0.1;
1.4 Membuat
coding untuk melakukan pelatihan jaringan
% Proses training
[net_keluaran,tr,Y,E] =
train(net,data_latih,target_latih);
sehingga muncul tampilan seperti berikut:
Pada tampilan tersebut ditunjukkan bahwa target error
(mse) tercapai pada epoch ke 506. Kita bisa melihat error (mse) yang dihasilkan
pada setiap epoch dengan meng-klik tombol ‘performance’ sehingga muncul
tampilan seperti berikut:
Sedangkan koefisien korelasi hasil pelatihan dapat
dilihat dengan meng-klik tombol ‘regression’ sehingga diperoleh:
Nilai koefisien
korelasi sebesar 0.99751 menunjukkan bahwa akurasi hasil proses pelatihan
sangat baik.
1.5 Untuk melihat nilai-nilai hasil pelatihan, kita dapat menuliskan coding
sbb:
% Hasil setelah pelatihan
bobot_hidden = net_keluaran.IW{1,1};
bobot_keluaran =
net_keluaran.LW{2,1};
bias_hidden = net_keluaran.b{1,1};
bias_keluaran = net_keluaran.b{2,1};
jumlah_iterasi = tr.num_epochs;
nilai_keluaran = Y;
nilai_error = E;
error_MSE =
(1/N)*sum(nilai_error.^2);
4. Langkah
terakhir yaitu proses pengujian jaringan
4.1 Data uji disusun seperti ditunjukkan oleh matriks berikut
4.1 Data uji disusun seperti ditunjukkan oleh matriks berikut
0.38
|
0.60
|
0.19
|
0.35
|
0.59
|
0.43
|
0.14
|
0.88
|
0.90
|
0.45
|
0.85
|
0.87
|
0.60
|
0.41
|
0.78
|
0.34
|
0.57
|
0.40
|
0.83
|
0.93
|
4.2 Dalam matlab
kita dapat menuliskan coding sbb:
% Performa jaringan
data_uji = [0.38,0.60,0.19,0.35,0.59;...
0.43,0.14,0.88,0.90,0.45;...
0.85,0.87,0.60,0.41,0.78;...
0.34,0.57,0.40,0.83,0.93];
hasil_uji =
round(sim(net_keluaran,data_uji))
sehingga diperoleh hasil pada command window seperti
berikut ini:
Hasil tersebut 100% sesuai dengan target uji yang
telah diberikan sebelumnya. Pada contoh ini ditunjukkan bahwa JST dapat
mengidentifikasi/ membedakan pola wajah seseorang berdasarkan ciri mata,
hidung, mulut, dan telinga dengan baik.
5. Link Download [kembali]
Download File
5. Link Download [kembali]
Download File