BAB II LANDASAN TEORI - Implementasi Learning Vector Quantization Dan Deteksi Tepi Robert Untuk Pengenalan Citra Wajah

BAB II LANDASAN TEORI

2.1. Pengenalan Pola

  Pengenalan pola adalah suatu ilmu untuk mengklasifikasikan atau menggambarkan sesuatu berdasarkan pengukuran kuantitatif fitur (ciri) atau sifat utama dari suatu obyek. Pola sendiri adalah suatu entitas yang terdefinisi dan dapat diidentifikasikan serta diberi nama. Pola bisa merupakan kumpulan hasil atau pemantauan dan bisa dinyatakan dalam notasi vektor atau matriks (Putra, 2010). Pengenalan pola mengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh komputer. Tujuan pengelompokan ini adalah untuk mengenali suatu objek dalam citra. Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar mengklasifikasikan objek-objek di alam sehingga mampu membedakan suatu objek dengan objek lainya. Kemampuan visual manusia inilah yang dicoba ditiru oleh mesin atau dalam hal ini adalah komputer. Komputer menerima input berupa citra objek yang akan diidentifikasi, memproses citra tersebut dan memberikan output berupa deskripsi objek di dalam citra. Gambar 2.1 menunjukkan diagram kotak sederhana dari proses pengenalan pola.

  Pengenalan Deskripsi Citra Pola Objek

Gambar 2.1 Diagram Sederhana Proses Pengenalan Pola

  Sebuah citra objek yang akan dikenali oleh jaringan syaraf tiruan tidak begitu saja dimasukkan menjadi input sebuah jaringan syaraf tiruan, karena masih berupa data mentah dan belum sesuai dengan kriteria masukan untuk jaringan syaraf tiruan. Citra objek tersebut harus diproses terlebih dahulu, tujuannya untuk membantu kemampuan jaringan dalam mengkomputasikan informasi dari citra objek tersebut (Siregar, 2013).

  2.2. Wajah

  Wajah atau muka adalah bagian depan dari kepala manusia meliputi wilayah dari dahi hingga dagu, termasuk alis, mata, hidung, pipi, mulut, bibir, gigi, kulit, dan dagu. Wajah terutama digunakan untuk ekspresi wajah, penampilan, serta identitas. Tidak ada satu wajah pun yang serupa mutlak, bahkan pada manusia kembar identik sekalipun. Oleh sebab itu dengan melihat wajah, kita dapat mengenali atau mengidentifikasi seseorang dengan lebih mudah.

  2.3. Citra

  Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dan suatu obyek (Sutoyo, dkk. 2009). Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan.

  Dalam dunia sehari-hari dapat banyak dijumpai berbagai macam bentuk citra, baik itu citra analog ataupun citra digital. Citra analog yaitu seperti foto yang tercetak di kertas foto, gambar sebuah lukisan di kanvas atau ketas, dan lain sebagainya. Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televisi, foto sinar-X, foto yang tercetak di kertas foto, lukisan, pemnadangan alam, hasil CT scan, gambar-gambar yang terekam pada pita kaset, dan lain sebagainya. Citra analog tidak dapat direpresentasikan dalam komputer sehingga tidak bisa diproses di komputer secara langsung. Sedangkan Citra Digital adalah citra yang dapat diolah oleh komputer yang memiliki jenis dan ukuran file dari citra tersebut. Citra digital merupakan citra yang tersusun dalam bentuk raster (grid / kisi). Setiap kotak (tile) yang terbentuk disebut piksel dan memiliki koordinat (x,y). Sumbu x (horizontal) : kolom (column), sumbu y (vertikal) : baris (row,line). Setiap piksel memiliki nilai

  (value atau number) yang menunjukkan intensitas keabuan pada piksel tersebut. Derajat keabuan merepresentasikan grey level atau kode warna (Ainun, 2014).

2.4 Deteksi Tepi

  Tepi citra adalah pertemuan antara bagian objek dan bagian latar belakang. Dalam pengolahan citra, tepi objek ditandai oleh titik yang nilai keabuannya memiliki perbedaan yang cukup besar dengan titik yang ada di sebelahnya. Deteksi tepi adalah proses untuk menemukan perubahan intensitas yang berbeda nyata dalam sebuah bidang citra (Sutoyo, dkk. 2009), setelah dilakukan deteksi tepi akan dihasilkan citra biner. Citra biner merupakan citra yang hanya memiliki dua nilai yaitu hitam dan putih atau dalam bentuk nilai yaitu 0 dan 1. Tepi dari suatu citra mengandung informasi penting dari citra bersangkutan. Tepian citra dapat mempresentasikan objek-objek yang terkandung dalam citra tersebut, bentuk, dan ukurannya serta terkadang juga informasi tentang teksturnya (Putra, 2010). Deteksi tepi merupakan langkah pertama untuk melingkupi informasi di dalam citra. Tepi mencirikan batas-batas objek dan karena itu tepi berguna untuk proses segmentasi dan identifikasi objek di dalam citra. Deteksi tepi pada suatu citra memiliki tujuan sebagai berikut (Yunus, 2012) :

  1. Menandai bagian yang menjadi detail citra.

  2. Memperbaiki detail citra yang kabur karena error atau adanya efek dari proses akuisisi citra.

2.4.1 Operator Robert

  Operator Robert merupakan suatu teknik deteksi tepi sederhana dan memiliki tingkat komputasi yang cepat dan umumnya digunakan untuk citra grayscale (Putra, 2010). Selain itu algoritma Robert ini juga disebut sebagai operator silang yang menggunakan kernel ukuran 2x2 piksel, sehingga tepi yang dihasilkan berada pada tepi atas atau bawah.

  Operator Robert mengambil arah diagonal untuk penentuan arah perhitungan nilai gradientnya, dimana gradient dari arah-x dan arah-y dihitung dengan rumus (Yunus, 2012):

Gambar 2.2 Operator Silang

  Dalam bentuk mask konvolusi, operator Robert adalah : Kedua matriks diatas dapat diterapkan pada citra secara terpisah, baik untuk mendapatkan tepian horizontal maupun tepian vertikal. Contoh deteksi tepi robert :

  

(a) Citra asli (b) Citra hasil deteksi tepi robert

Gambar 2.3. Contoh Deteksi Tepi Robert

2.5. Jaringan Syaraf Tiruan

  dan operasi diilhami dari pengetahuan tentang sel saraf biologis di dalam otak, yang merupakan salah satu representasi buatan dari otak manusia yang selalu mencoba menstimulasi proses pembelajaran pada otak manusia tersebut. Kemampuan yang dimiliki JST dapat digunakan untuk belajar dan menghasilkan aturan atau operasi dari beberapa contoh atau input yang dimasukkan dan membuat prediksi tentang kemungkinan output yang akan muncul atau menyimpan karakteristik dari input yang disimpan kepadanya (Hermawan, 2006). Jaringan saraf tiruan disusun dengan asumsi yang sama seperti jaringan saraf biologis sebagai berikut (Siang, 2009) :

  1. Pengolahan informasi terjadi pada elemen-elemen pemrosesan (neuron-neuron).

  2. Sinyal antara dua buah neuron diteruskan melalui link-link koneksi.

  3. Setiap link koneksi memiliki bobot terasosiasi.

  4. Setiap neuron menerapkan sebuah fungsi aktivasi terhadap input jaringan (jumlah sinyal input berbobot). Tujuannya adalah untuk menentukan sinyal output. x1 w1

  x2 w2 Fungsi Aktivasi Y x3 w3 Ʃ

Gambar 2.4. Diagram Neuron Jaringan Syaraf Tiruan

  Keterangan : , ,..., : data masukkan , ,..., : bobot atau sinapsis

  Ʃ : penjumlah (menjumlahkan semua data masukan) y : data keluaran Pembagian arsitektur JST bisa dilihat dari kerangka kerja dan skema interkoneksi. Kerangka kerja JST bisa dilihat dari jumlah lapisan (layer) dan jumlah node pada setiap lapisan. Lapisan penyusun JST dapat dibagi menjadi tiga yaitu (Puspitaningrum, 2006) :

  1. Lapisan Masukan (Input Layer) Node-node di dalam lapisan input disebut unit-unit input. Unit-unit input menerima input dari dunia luar. Input yang dimasukkan merupakan penggambaran dari suatu masalah.

  2. Lapisan Tersembunyi (Hidden Layer) Node-node di dalam lapisan tersembunyi disebut unit-unit tersembunyi. Output dari lapisan ini tidak secara langsung dapat diamati. Letaknya berada diantara lapisan masukan dan lapisan keluaran. Lapisan tersembunyi ini hanya dapat dilihat pada arsitektur jaringan berlapis banyak (Multi Layer Network).

  3. Lapisan Keluaran (Output Layer) Node-node pada lapisan output disebut unit-unit output. Keluaran dari lapisan ini merupakan output jaringan saraf tiruan terhadap suatu masalah.

  Selanjutnya dalam JST setiap layer akan dihubungkan dengan layer-layer sebelum dan sesudahnya.

2.5.1.1 Single Layer Network

  Single layer network yang atau jaringan lapis tunggal hanya memiliki satu lapisan dengan bobot terhubung. Jaringan ini hanya menerima input kemudian secara langsung akan mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi (Hermawan, 2006).

X1 X2

  X3 Y1 Y2

Gambar 2.5. Single-Layer Network (Hermawan, 2006).

  Dapat dilihat bahwa dalam jaringan ini lapisan input memiliki 3 neuron aitu x1, x2, dan x3, sedangkan lapisan output memiliki 2 neuron yaitu y1 dan y2. Semua neuron di lapisan input saling berhubungan dengan semua lapisan ouput.

  2.5.1.2 Multi Layer Network

  Multi layer network atau jaringan berlapis banyak merupakan suatu jaringan yang memiliki satu atau lebih lapisan yang terletak diantara lapisan input dan lapisan output yang sering disebut lapisan tersembunyi. Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih sulit daripada dengan jaringan lapisan tunggal meskipun proses pelatihan lebih kompleks dan lama (Hermawan, 2006). X1 X2 X3 Lapisan Input Z1 Z2 Y Lapisan Output Tersembunyi Lapisan Gambar 2.6. Multi Layer Network (Hermawan, 2006).

  2.5.1.3 Reccurent Network

  Model jaringan recurrent mirip dengan jaringan layer tunggal ataupun ganda. Hanya saja, ada neuron output yang memberikan sinyal pada unit input (sering disebut feedback loop) (Siang, 2009).

2.5.2 Fungsi Aktivasi

  proses pembelajaran. Berikut beberapa fungsi aktivasinya dalam jaringan syaraf tiruan (Siang, 2009) :

  1. Fungsi threshold (batas ambang)

  a. Memiliki fungsi aktivasi yaitu :

  f(x)

  b. Tidak dapat menyelesaikan masalah yang tidak linier.

  2. Fungsi aktivasi sigmoid merupakan fungsi aktivasi yang memiliki beberapa syarat yaitu : kontinu, terdiferensial dengan mudah dan merupakan fungsi yang tidak turun sehingga fungsi aktivasi ini sering sekali dipakai. Fungsi sigmoid memiliki 2 jenis yaitu fungsi aktivasi sigmoid biner yang memiliki range (0,1) dan fungsi aktivasi sigmoid bipolar yang memiliki range (-1,1). dengan turunan f’(x) = f(x) (1-f(x))

  3. Fungsi Aktivasi Identitas f(x) = x Merupakan fungsi aktivasi yang sering dipakai apabila menginginkan output berupa sembarang bilangan riil (bukan hanya pada range [0,1] atau [-1,1].

2.6 Jaringan Syaraf Tiruan Learning Vector Quantization (LVQ)

  LVQ merupakan jaringan lapisan tunggal (single-layer net) di mana lapisan masukan terkoneksi secara langsung dengan setiap neuron pada keluaran. LVQ terdiri dari lapisan input (input layer), lapisan kompetitif dan lapisan output (output layer). Lapisan input dihubungkan dengan lapisan kompetitif oleh bobot. Dalam lapisan kompetitif, proses pembelajaran dilakukan secara terawasi. Input akan bersaing untuk dapat masuk ke dalam suatu kelas. Hasil dari lapisan kompetitif ini berupa kelas, yang kemudian akan dihubungkan dengan lapisan output. Jika jarak dua vektor masukan mendekati sama, maka lapisan kompetitif akan meletakkan kedua vektor masukan tersebut ke dalam kelas yang sama (Hidayati & Warsito, 2010). Metode LVQ akan melakukan pengenalan terlebih dahulu terhadap pola masukan yang harus disajikan dalam bentuk vektor agar dapat dicari kelasnya. Karena setiap neuron keluaran menyatakan kelas atau kategori tertentu, maka pola masukan dapat dikenali kelasnya berdasarkan neuron keluaran yang diperoleh. Metode LVQ mengenali pola masukan berdasarkan pada kedekatan jarak antara dua vektor yaitu vektor dari unit/neuron masukan dengan vektor bobot. Pengenalan dalam metode LVQ ini terdapat dua proses, yaitu proses pembelajaran dan proses pengujian.

2.6.1 Algoritma Pelatihan

  Algoritma pelatihan untuk jaringan LVQ antara lain adalah sebagai berikut (Agustina,dkk, 2010) :

  0. Tetapkan :

  a. Bobot awal variable input ke-j menuju ke kelas (cluster) ke-i: , dengan i = 1,2,….,k ; dan j = 1,2,…,m

  b. Maksimum epoch: MaxEpoch

  c. Parameter learning rate: α

  d. Pengurangan learning rate: Dec α

  e. Minimal learning rate yang diperbolehkan: Min α

  1. Masukkan :

  a. Data input: ; Dengan i = 1,2,….,n ; dan j = 1,2,….,m

  b. Target berupa kelas: Tk; Dengan k = 1,2,…., n

  2. Tetapkan kondisi awal; epoh=0;

  3. Kerjakan jika (epoch ≤ MaxEpoch) dan (α ≥ Minα)

  a. Epoch = epoch+1;

  b. Kerjakan untuk i =1 sampai n

  • i. Tentukan j sedemikian hingga | | minimum; ii. Perbaiki dengan ketentuan :
Keterangan : = vektor pelatihan (

  · Jika T = maka = + α ( -

  ) · Jika T

  ≠ maka = -

  α ( - )

  c. Kurangi nilai α

  Pengurangan α bisa dilakukan dengan : α = α – Dec α; atau dengan cara α = α*Dec α.

  T = kelas atau target yang benar untuk vektor pelatihan = vektor bobot untuk unit output j (

  = kelas yang direpresentasikan oleh unit output j | - | = jarak antara vektor input (bobot) dan unit output j

2.6.2 Arsitektur Jaringan LVQ

  • 1 || ||

  2 3

  4 5

  • 2 || y_in
  • 1 y_in 2 1 2 y 1 y 2 Gambar 2.7. Arsitektur JST LVQ (Hidayati & Warsito, 2010)

      6 1 w 11 -----w 12 --w 15 ---------------------w 16 --w 14 w 13 w 26 w 25 w 24 w 23 --w 22 --w 21 ||

    Gambar 2.7 memperlihatkan bahwa yang bertindak sebagai dendrit atau data masukan adalah - , yang bertindak sebagai sinapsis atau bobot adalah - ,

      sedangkan soma atau badan sel dari jaringan ini adalah perhitungan | - | dan yang bertindak sebagai akson atau data keluaran adalah y. menghubungkan setiap neuron masukan dengan neuron keluaran sehingga dapat dikatakan bahwa setiap neuron keluaran pada LVQ berhubungan dengan sebuah vektor bobot. Untuk melakukan proses pengenalan dan pembelajaran, LVQ menggunakan operasi-operasi vektor. Pola-pola akan disajikan dalam bentuk vektor. Pemrosesan yang terjadi pada setiap neuron adalah mencari jarak antara suatu vektor input ke bobot yang bersangkutan ( dan ). Dalam hal ini adalah vektor bobot yang menghubungkan setiap neuron pada lapisan input ke neuron pertama pada lapisan output, sedangkan adalah vektor bobot yang menghubungkan setiap neuron pada lapisan input ke neuron kedua pada lapisan output.