Dropdown

Ujian Tengah Semester : Jaringan Saraf TIruan untuk Identifikasi Wajah





Ujian Tengah Semester 

Jaringan Saraf TIruan untuk Identifikasi Wajah


1. Pengenalan [kembali]

Berikut ini merupakan contoh aplikasi pemrograman Jaringan Syaraf Tiruan Backpropagation sederhana untuk identifikasi wajah seseorang berdasarkan ciri mata, hidung, mulut, dan telinga.


2. Langkah-Langkah [kembali]


  1. Langkah pertama yaitu mempersiapkan data untuk proses pelatihan dan pengujian
    Berikut ini merupakan contoh data untuk proses pelatihan.
    NoCiri/ FeatureTarget
    MataHidungMulutTelingaNama Orang
    10.350.470.880.34Adi
    20.590.110.900.56Budi
    30.190.890.540.38Candra
    40.360.900.390.82Dedi
    50.580.450.800.91Erik
    60.400.450.800.35Adi
    70.610.110.900.55Budi
    80.200.870.560.41Candra
    90.380.880.350.85Dedi
    100.570.460.820.92Erik
    110.330.450.850.37Adi
    120.550.140.900.57Budi
    130.180.870.550.40Candra
    140.380.890.370.85Dedi
    150.560.470.830.91Erik
    Sedangkan contoh data untuk pengujian adalah sbb:
    NoCiri/ FeatureTarget
    MataHidungMulutTelingaNama Orang
    10.380.430.850.34Adi
    20.600.140.870.57Budi
    30.190.880.600.40Candra
    40.350.900.410.83Dedi
    50.590.450.780.93Erik
  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.350.590.190.360.580.400.610.200.380.570.330.550.180.380.56
    0.470.110.890.900.450.450.110.870.880.460.450.140.870.890.47
    0.880.900.540.390.800.800.900.560.350.820.850.900.550.370.83
    0.340.560.380.820.910.350.550.410.850.920.370.570.4
    Sedangkan target latih disusun menjadi matriks berukuran 1 x 15 seperti berikut ini :
    123451234512345
    Keterangan: 1 = Adi, 2 = Budi, 3 = Candra, 4 = Dedi, 5 =  Erik
  3. Langkah selanjutnya yaitu menuliskan coding pada script matlab seperti berikut ini :
    1. Coding untuk menuliskan data latih dan target latih pada matlab.
      1
      2
      3
      4
      5
      6
      7
      % 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);
    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
      1
      2
      3
      4
      5
      6
      % 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. Membuat coding untuk memberikan parameter-parameter yang mempengaruhi proses pelatihan jst seperti parameter jumlah epoch, target error, learning rate, momentum.
      1
      2
      3
      4
      5
      6
      7
      % 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;
    4. Membuat coding untuk melakukan pelatihan jaringan
      1
      2
      % Proses training
      [net_keluaran,tr,Y,E] = train(net,data_latih,target_latih);

      Sehingga muncul tampilan berikut ini :



    5. 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.

    6. Untuk melihat nilai-nilai hasil pelatihan, kita dapat menuliskan coding sbb:
      1
      2
      3
      4
      5
      6
      7
      8
      9
      % 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
    1. Data uji disusun seperti ditunjukkan oleh matriks berikut :
      0.380.600.190.350.59
      0.430.140.880.900.45
      0.850.870.600.410.78
      0.340.570.400.830.93
    2. Dalam matlab kita dapat menuliskan coding sbb:
      1
      2
      3
      4
      5
      6
      % 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.
3. Link Download [kembali]
Berikut link download : KLIK DISINI

4. Referensi [kembali]

  • Neural Networks In Computer Intelligence, Fu, LiMin, Mc.Graw-Hill International Editions, 1994
  • Pengenalan Wajah Manusia Menggunakan Analisis Komponen Utama (Pca)Dan Jaringan Syaraf Tiruan Perambatan-Balik. Zayuman Hidayat, Isnanto Rizal, Santoso Imam. 2011. Research Gate
  • Neural Network Toolbox : for use with MATLAB, Demuth, Howard and Mark Belle, Mathworks, 2002
  • Jaringan Saraf Tiruan Backpropagation untuk Pengenalan Wajah Metode Ekstraksi Fitur Berbasis Histogram, Kusmayanto Sigit,  2014. 

No comments:

Post a Comment