UTS-Aplikasi JST

[Kembali ke Cover]

Aplikasi Identifikasi Citra Api Berbasis Jaringan Syaraf Tiruan Metode Perceptron untuk Robot Pemadam Api
Bahan Presentasi Untuk Mata Kuliah JST
Semester Genap 2019


Dosen : Darwison, M.T


Oleh:
Fallahati Alhamdi
1610952021


Jurusan Teknik Elektro
Fakultas Teknik
Universitas Andalas
Padang
2019


Referensi

a. Neural Network Design, Hagan, Martin, Howard Demuth and Mark Belle, T, PWS Publishing Company, 1996

b. Neural Networks In Computer Intelligence, Fu, LiMin, Mc.Graw-Hill International Editions, 1994

c. Neural Network Toolbox : for use with MATLAB, Demuth, Howard and Mark Belle, Mathworks, 2002

d. Architectures, Algorithms, and Applications, Zimmerman, H.J., Kluwer Publishing Co, 1997

e. Principles of Artificial Neural Network, Graupe,D, World Scientific Publishing Co, Pte, Ltd. 2007

f. http://mahasiswa.dinus.ac.id/docs/skripsi/jurnal/19796.pdf




1. Judul [Kembali]

Judul dari aplikasi ini adalah Identifikasi Citra Api Berbasis Jaringan Syaraf Tiruan Metode Perceptron untuk Aplikasi Robot Pemadam Api.

2. Tujuan [Kembali]

Tujuan dari aplikasi ini, diharapkan pembaca mampu membuat dan merancang kamera pendeteksi api dengan metode jaringan syaraf tiruan.

3. Pendahuluan [Kembali]

Salah satu divisi KRI (kontes robot indonesia) adalah KRPAI (kontes robot pemadam api Indonesia). Kontes robot KRPAI 2016 mengusung sebuah tema “Robot Cerdas SAR Pemadam Api”, Kontes ini mensimulasikan sebuah rumah yang berbentuk labirin, robot harus bisa mengatasi halangan dan aksessori, melewati lorong, memasuki ruang, dan menemukan serta mematikan api (lilin) .

Robot yang dirancancang didalam kontes KRPAI harus bisa mendeteksi api dengan akurat. Namun secara umum robot KRPAI masih mempunyai beberapa kendala yang disebabkan oleh kemampuan deteksi sensor yang digunakan. Sensor yang umum digunakan adalah sensor TPA-81 dan sensor UVtron. Kedua sensor tersebut mempunyai kendala diantaranya, sensor TPA-81 bekerja mendeteksi api dengan cara membaca suhu api, Untuk mendeteksi api dengan sensor TPA-81, posisi sensor harus lurus dengan sumber api karena sensor TPA-81 mempunyai deteksi sudut vertikal yang kecil, hal ini berpengaruh ketika sumber api (lilin) mulai berubah ketinggian karena sifat lilin lamakelamaan meleleh jika dipanaskan (dibakar). Sedangkan sensor UV-tron mendeteksi api dengan cara membaca sinar Ultraviolet yang dipancarkan oleh api. sensor UV-tron dapat terganggu kinerjanya oleh pencahayaan yang digunakan di dalam ruang kontes karena beberapa jenis lampu penerangan juga memancarkan sinar ultraviolet, hal ini tentu saja menggangu sistem kerja sensor UV-tron ketika mendeteksi sinar ultraviolet yang dipancarkan oleh api .

Berdasarkan beberapa kendala yang telah dijelaskan sebelumnya, peneliti bermaksud membuat sistem deteksi api menggunakan kamera digital, kamera akan diimplementasikan sebagai sensor untuk mendeteksi api. sifat kamera dengan sudut deteksi cukup lebar dan dapat mengambil gambar tanpa terganggu oleh sinar Ultraviolet diharapkan mampu menggatikan sensor TPA-81 maupun sensor UV-tron untuk mendeteksi api. Penelitian ini mengusulkan metode jaringan saraf tiruan dalam mengenali api dan pengolahan citra berdasarkan warna dan pola. Jaringan saraf tiruan mampu mengenali sebuah gambar menggunakan data-data fisik dari gambar seperti bentuk (pola), tekstur dan warna, algoritma jaringan saraf tiruan digunakan untuk mengenali api setelah gambar api dicari cirinya menggunakan fitur ekstaksi ciri .

Salah satu model dari (JST) jaringan saraf tiruan yang dapat melakukan pelatihan terhadap pola sebuah citra adalah model perceptron, model ini merupakan bentuk jaringan saraf tiruan yang digunakan untuk mengklasifikasikan suatu pola tertentu yang dikenal dengan pemisahan linear. Algoritma yang digunakan oleh peceptron akan mengatur bobot dan biasnya melalui proses pembelajaran untuk mengenali pola. Semua pola gambar akan melalui proses training (pelatihan / pembelajaran) pada proses ini semua pola gambar akan dipelajari oleh metode perceptron setelah itu jaringan yang telah dibentuk oleh perceptron akan melalui proses pelatihan.

4. Teori [Kembali]

Perceptron

Perceptron adalah salah satu metode Jaringan Syaraf Tiruan (JST) sederhana yang menggunakan algoritma training untuk melakukan klasifikasi secara linier. Perceptron digunakan untuk melakukan klasifikasi sederhana dan membagi data untuk menentukan data mana yang masuk dalam klasifikasi dan data mana yang missclasifikasi (diluar klasifikasi). Perceptron dapat kita gunakan untuk memisahkan data yang dapat kita bagi menjadi 2 kelas, misalnya kelas C1 dan kelas C2.

Perceptron dalam Jaringan Syaraf Tiruan memiliki bobot yang bisa diatur dalam suatu ambang batas (threshold). Melalui proses pembelajaran (learning), Algotirma Perceptron akan mengatur parameter-parameter bebasnya.

Algoritma Perceptron



1. Inisialisasi semua inputan, matriks vector, target, dan learning rate.

2. Kita lakukan pengecekan untuk semua vector yang misclassification dengan menggunakan rumus berikut :

rumus vektor missclasification perceptron 

3. Misclassification dapat juga dicari dengan rumus aktivasi, seperti berikut :

rumus aktivasi perceptron



Jaringan terdiri dari beberapa unit masukan ( ditambah sebuah bias ), dan memiliki sebuah unit keluaran. Hanya saja fungsi aktivasi merupakan fungsi biner ( atau bipolar ), tetapi memiliki kemungkinan nilai -1, 0 atau 1.

Dengan ketentuan untuk suatu harga threshold θ yang ditentukan sebagai berikut :

ketentuan treshold perceptron 


4. Jika hasilnya bernilai negatif, maka terjadi miss classification dan kalikan hasilnya dengan negatif learning rate. Kemudiah hasilnya disimpan dalam bentuk matriks untuk seluruh inputan yang miss clasification.

5. Kemudian lakukan perubahan bobot yang baru dengan menggunakan rumus :


rumus menemukan bobot baru 


6. Kemudian ulangi langkah 2 hingga tidak terdapat lagi vector misclassification.


Beberapa hal yang perlu diperhatikan dalam algoritma Perceptron :
  1. Iterasi dilakukan terus menerus sehingga semua pola memiliki keluaran jaringan yang sama dengan targetnya (jaringan sudah memahami pola).
  2. Pola perubahan bobot hanya dilakukan pada pola yang mengandung kesalahan (output/keluaran jaringan != target). Perubahan yang dilakukan adalah hasil kali unit masukan dengan target. Perubahan bobot hanya terjadi jika masukan != 0).
  3. Kecepatan iterasi ditentukan oleh laju pemahaman (learning rate -alpha)( 0 <= alpha (a) <= 1 ) yang digunakan. Semakin besar nilai a (alpha) maka semakin sedikit iterasi yang diperlukan untuk pembelajaran. Namun sebaliknya jika nilai a (alpha) terlalu besar maka akan merusak pola yang sudah benar sehingga pembelajaran menjadi lambat.

Alat

Objek penelitian diambil menggunakan kamera webcam logitech c170, kamera ini memiliki spesifikasi sebagai berikut :

1. Camera Logitech C170


Tabel 4. 1 Spesifikasi logitech c170

Gambar 4.1 logitech c170

2. Laptop

Sedangkan untuk pengolahan citra dan simulasi deteksi api laptop asus A43s dengan spesifikasi sebagai berikut :
Processor : Intel Core i3 5010 2.1 Ghz
RAM : 10 GB
Harddisk : 500 GB


3. Objek

Objek yang akan dideteksi oleh kamera

Penempatan objek dalam pengambilan gambar disesuaikan dengan rule KRPAI yaitu jarak minimal kamera dengan objek diantara 0 cm sampai 29 cm dan jarak maksimal kamera dengan objek 150 cm.

Skema Perancangan

Perancangan Sistem Deteksi Api Perancangan sistem pada penelitian ini ditunjukkan oleh gambar 1.2.1.

Gambar 4. 2 Blok diagram sistem deteksi api

  Berdasarkan gambar 3.2 ada 2 sistem yang dibuat dalam penelitian ini, yaitu sistem pelatihan api jaringan syaraf tiruan dan sistem pengujian deteksi api jaringan saraf tiruan. Sistem pelatihan merupakan sistem yang digunakan sebagai tahap belajar jaringan saraf tiruan, sedangkan sistem penggunaan jaringan hasil sebagai pengambil keputusan untuk mendeteksi api.

Pembuatan sistem deteksi api

1. Ekstarksi video frame Video hasil pengambilan citra diekstraksi menjadi citra singgle frame
dan disimpan kedalam citra digital dengan format ekstensi file *.jpg. gambar 1.3.1 berikut ini adalah diagram alir ekstraksi video frame.



Gambar 4.3 Diagram alir ektraksi video frame

2. Pengolahan citra
Pengolahan citra bertujuan untuk menonjolkan ciri dari suatu citra atau meningkatkan kualitas citra sehingga didapatkan data yang sesuai dengan kebutuhan, gambar 1.3.2 berikut ini adalah diagram alir program pengolahan citra.


Gambar 4.4 Diagram alir pengolahan citra

3. Preprocessing citra
Langkah pertama yang dilakukan peniliti dalam mengolah citra adalah memanggil citra kedalam matlab, format default warna citra saat dipanggil kedalam matlab adalah Ruang warna RGB. Warna ini merupakan warna primer yang terdiri dari 3 unsur warna yaitu merah, hijau, dan biru. Citra RGB kemudian ekstraksi menjadi 3 matrik penyusunya yaitu nilai warna merah, hijau dan biru. Selain dari segi warna citra juga dilihat dari segi tingkat pencahayaan yaitu dengan merubah ruang warna RGB ke ruang warna YCbCr. citra YCbCr juga diektraksi menjadi 3 matrik yang terdiri dari Y untuk luminance, Cb untuk chrominance blue, dan Cr untuk chrominance red.

4. Konversi matrik citra ke vektor kolom.
Sebelum di inputkan kedalam JST citra biner hasil cropping yang berupa data matrik harus dijadikan vektor kolom.
Urutan penyusunan kolom pola biner ditunjukan oleh gambar 4.5


Gambar 4.5 Ekstraksi ciri citra biner

Piksel citra matrik citra dengan koordinat yang ditunjukkan oleh gambar 4.5 (a) disusun menjadi matrik vektor satu kolom dengan urutan penyusunan yang ditunjukkan oleh gambar 4.5 (b). Data dari vektor kolom membentuk sebuah pola biner yang berbeda dari masing - masing citra, setiap anggota vektor kolom akan menjadi inputan (neuron) untuk JST, neuron – neuron ini kemudian diproses oleh JST sesuai dengan targetnya.

5. Penerapan Algoritma JST untuk Pendeteksi Api [Kembali]

1. Menentukan Nilai Input dan Target

Sebelum citra diklasifikasikan oleh JST, citra diekstraksi atau diambil cirinya sebagai neuron inputan JST dalam tahap ini peneliti menggunakan pola biner penyusun citra biner. Matrik citra biner yang berbentuk baris dan kolom dengan dimensi ukuran 300 300 dijadikan pola biner dalam satu kolom menggunakan perintah ‘input = [citra(1:end)]'’ dimana input adalah hasil berupa pola biner didalam satu kolom, dan ‘[citra(1:end)]'’ adalah perintah untuk membaca citra dengan urutan pembacaan dimulai dari piksel baris pertama hingga baris terakhir piksel. Hasil data citra yang dijadikan vektor kolom jika ditunjukan dalam figure plot (gambar 5.3 (a)).

Gambar 5.1 Memasukkan input dengan variabel 'citra'


Gambar 5.2 Memasukkan nilai target dengan variabel 


(a)


(b)
Gambar 5.3


Gambar 5.3 (a) grafik berwarna biru menunjukan data yang bernilai 1 terletak dibaris antara 2.000 dan 10.000 dari jumlah keseluruhan data yang ditunjukan oleh gambar 5.3 (b). Gambar (b) merupakan ukuran data dimana 90.000 adalah jumlah data dan 1 adalah dimensi matrik, yang berarti data tersebut terdiri hanya satu kolom.

2. Penyettingan Tool JST

Pelatihan jaringan saraf tiruan menggunakan model perceptron ditunjukkan oleh diagram alir gambar 5.4

Gambar 5.4 Diagram alir pelatihan peceptron

Jaringan saraf yang digunakan pada penelitian ini adalah jaringan model perceptron, jaringan ini memiliki 1 lapisan layer. Perceptron digunakan untuk mengklasifikasikan pola biner citra api dan pola biner citra bukan api berdasarkan target yang diberikan. Untuk membentuk
jaringan perceptron pada matlab adalah memanggil tool sebagai berikut ;

net = newp (PR,S,TF,LF)

PR = matriks ordo Rx2 yang menyatakan nilai minimum dan maksimum tiap unit. (nama varabelnya 'citra')
S = jumlah neuron target. (dimasukkan dengan nama variabel 'target')
TF = fungsi aktivasi biner. defaultnya adalah fungsi threshold ‘hardlim’.
LF = fungsi pelatihan, defaultnya adalah ‘learnp’.

3. Pelatihan Jaringan

Setelah jaringan perceptron dibentuk, kemudian dilakukan pelatihan dengan mememberi data input berupa pola citra biner sebagai neuron dan mencari nilai bobot dan bias secara otomatis, perintahnya adalah sebagai berikut :

net = train(net, input, target);

net = jaringan yang dibentuk dipanggil
input = masukan perceptron yaitu pola biner dari vektor citra
target= hasil yang diinginkan


Gambar 5.5 Pelatihan Perceptron


4. Menampilkan Output

Pembentukan jaringan perceptron menggunakan tool yang sudah disediakan oleh matlab. Proses perhitungan model perceptron dalam tool matlab sedikit berbeda dengan terori yang dibahas pada bab II, dalam matlab aturan yang dipakai perceptron adalah sebagai berikut :
a) Masukan dan target yang dipakai bebas (tidak harus biner/bipolar).
b) Threshold pada fungsi aktivasi yang dipakai adalah 0.
c) Fungsi aktivasi perceptron dalam matlab menggunakan default hardlim.





d) Tidak menggunakan laju pemahaman. Bobot diubah berdasarkan error yang terbentuk dari selisih antara target dengan keluaran jaringan (=f(net)). Perubahan bobot bukan merupakan hasil kali antara target dan masukan. Misalkan
P= (x1, x2, x3, xn)^t  adalah masukan yang diberikan ke jaringan dengan target = , dan a = (=f(net)).
Perubahan bobot yang dilakukan
adalah :









Perubahan bobot hanya dilakukan jika target ≠ keluaran jaringan. Untuk mengubah bobot erdasarkan selisih antara target dengan output digunakan perintah ‘learnp’ perintah ini akan menyimpan perubahan bobot selama proses iterasi berlangsung.
Jaringan perceptron yang dibentuk memiliki arsitektur sebagai berikut



Gambar 5.6 Arsitektur jaringan yang digunakan.

x1, x2, x3, x4, ..., x90.000 merupakan pola citra biner sebagai neuron input yang akan kalkulasi oleh summing junction, b dan w merupakan bias dan bobot yang diset awal dengan nilai = 0 oleh perintah ‘newp’ bias dan bobot dirubah ketika target ≠ output jaringan. Fungsi aktivasi menggunakan ‘hardlim’ karena jaringan hanya mempunyai 2 kemungkinan dengan memiliki 1 keluaran jaringan +. Pelatihan perceptron dilakukan dengan memberikan 7 variasi data latih yang dicuplik, pencuplikan video dilakukan dengan mengambil 10 frame diawal video, 10 frame ditengah dan 10 frame diakhir video.

Untuk mengetahui output jaringan
digunakan perintah berikut ini :

output = sim(net,input);

Output jaringan didapatkan dari perhitungan target dan input yang memenuhi threshold fungsi aktivasi. Setelah jaringan dibentuk kemudian hasil pelatihan berupa bobot dan bias disimpan dengan format file *.mat. Setelah listing dibuat maka akan menjadi seperti gambar 5.5 dibawah.


Gambar 5.7 Listing Program 


Gambar 5.4 menunjukkan bahwa jaringan mempunyai 1 lapis layer dengan input 90.000 neuron dan 1 output. Terdapat goal dengan 100 iterasi namun jaringan berhasil mengenali seluruh pola pada epoch ke 9 sehinggga tidak ada selisih target dengan keluaran jaringan dan iterasi dihentikan. Peforma jaringan best training performace teletak pada epoch ke 0 dengan nilai 0.61905 yang ditunjukan oleh grafik gambar 5.3



Gambar 5.8 Performa pengenalan jaringan menggunakan perhitungan mae.

Gambar 3.2.3 merupakan grafik peforma jaringan dalam mengenali data latih, grafik tersebut menunjukkan bahwa iterasi diselesaikan dalam 9 epoch. Dengan performa jaringan didapatkan dengan menghitung hasil peramalan menggunakan metode MAE (mean absolute error) .




Tabel 5.1 Peforma jaringan setiap epoch


6. Program [Kembali]

//Menentukan nilai variabel input dan target
input = [citra(1:end)]
target =[target(1:end)];

//Memanggil tool pelatihan jaringan
net = newp (input,target,'hardlim','learnp')
net.trainParam.epochs = 3;

//Melakukan perintah pelatihan jaringan berdasarkan setting pada listing diatas
net = train(net, input, target);

//Menampilkan output
output = sim(net,input);

7. Link Download [Kembali]





Tidak ada komentar:

Posting Komentar