• Tidak ada hasil yang ditemukan

Pengenalan Pola Citra Menggunakan Metode Corner Detection Dan Backpropagation

N/A
N/A
Protected

Academic year: 2016

Membagikan "Pengenalan Pola Citra Menggunakan Metode Corner Detection Dan Backpropagation"

Copied!
93
0
0

Teks penuh

(1)

DETECTION DAN BACKPROPAGATION

SKRIPSI

YENNY AGUSTINA TONDANG

081402063

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

(2)

DETECTION DAN BACKPROPAGATION

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ijazah Sarjana Teknologi Informasi

YENNY AGUSTINA TONDANG 081402063

PROGRAM STUDI TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : PENGENALAN POLA CITRA MENGGUNAKAN

METODE CORNER DETECTION DAN BACKPROPAGATION

Kategori : SKRIPSI

Nama : YENNY AGUSTINA TONDANG

Nomor Induk Mahasiswa : 081402063

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Fakultas : ILMU KOMPUTER DAN TEKNOLOGI

INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA

Diluluskan di Medan, Juli 2014

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Sarah Purnamawati, S.T., M.Sc Dr. Erna Budhiarti Nababan, M. IT NIP. 19830226 201012 2003 NIP.

Diketahui/Disetujui oleh

Program Studi S1 Teknologi Informasi Ketua,

(4)

PERNYATAAN

PENGENALAN POLA CITRA MENGGUNAKAN METODE CORNER DETECTION DAN BACKPROPAGATION

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juli 2014

(5)

UCAPAN TERIMA KASIH

Segala puji dan syukur kepada Tuhan Yang Maha Esa, karena berkat kasih dan karunia-Nya penulis bisa menyelesaikan tugas akhir ini. Rasa syukur yang sangat dalam kepada Tuhan Yesus karena bimbingan dan penyertaanNya selalu kepada saya mulai dari awal hingga penyelesaian tugas akhir ini.

Proses penyusunan skripsi ini tidak lepas dari dukungan dan bantuan dari pihak lain. Oleh karena itu penulis mengucapkan terima kasih banyak kepada:

1. Keluarga penulis, mulai dari kedua orang tua penulis, Ibu, Bunga Uli Sinaga dan Ayah, Dasmen Tondang, adik-adik dan keluarga dekat yang selalu mengingatkan dan mendoakan, serta mendukung penulis melalui bantuan moril dan materi, sehingga penulis mampu menyelesaikan tugas akhir ini.

2. Ibu Dr. Erna Nababan, M.IT dan Ibu Sarah Purnamawati, S.T., M.Sc selaku dosen pembimbing yang telah memberikan saran, masukan, serta bersedia meluangan waktu, tenaga dan pikiran untuk membantu penulis menyelesaikan skripsi ini.

3. Dosen penasehat akademik. 4. Dosen penguji.

5. Seluruh dosen.

6. Teman-teman, senior dan junior Teknologi Informasi.

7. Dan seluruh staf Teknologi Informasi yang sudah membantu penulis dalam penyelesaian kelulusan.

Akhir kata, penulis memohon maaf bila dalam penulisan karya tulis ini terdapat beberapa kesalahan. Oleh karena itu, penulis mengharapkan adanya masukan-masukan yang membangun.

(6)

ABSTRAK

Indonesia, sebagai negara yang memiliki banyak sekali pulau dan budaya, memiliki potensi yang sangat besar untuk mengembangkan bidang pariwisata. Banyaknya objek pariwisata yang bisa digunakan untuk menambah devisi negara membutuhkan sebuah sistem dalam membantu pengguna dalam mencari objek yang dimiliki oleh pengguna. Dalam penelitian ini digunakan metode corner detection dan backpropgation (BP) untuk membantu pengguna dalam mengenali objek. Harris Corner Detection (HCD) akan mendapatkan titik-titik citra yang terdapat dalam citra. Hasil dari HCD akan dipelajari menggunakan backpropagation yang memberikan hasil dan informasi dari pencarian citra yang digunakan objek. Hasil dari penelitian ini menunjukkan bahwa metode HCD dan BP mampu mengenali citra dengan sangat baik baik dengan eror terkecil mencapai 0.02703%.

(7)

IMAGE PATTERN RECOGNITION USING CORNER DETECTION AND

BACKPROPAGATION

ABSTRACT

Indonesia, a country that has many islands and culture, has a huge potential to develop tourism. Many tourism objects that can be used to increase the division of the country require a system to assist users in finding objects owned by the user. This study used corner detection methods and backpropgation (BP) to assist users in recognizing objects. Harris Corner Detection (HCD) will get the points contained in the image of the image. The results of the HCD will be studied using backpropagation provide search results and information from the imagery used objects. The results of this study indicate that the HCD method and BP were able to identify image very well with the smallest error reached into 0.02703%.

(8)

DAFTAR ISI

Hal.

Persetujuan ii

Pernyataan iii

Ucapan Terima Kasih iv

Abstrak v

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 4

1.6 Metodologi Penelitian 5

1.7 Sistematika Penulisan 6

Bab 2 Landasan Teori 8

2.1 Pengertian Citra 8

2.1.1 Citra Analog 8

2.1.2 Citra Digital 9

2.2 Corner Detection 14

2.2.1 Harris Corner Detection (HCD) 16

2.2.1.1 Local Structure Matrix (LSM) 17 2.2.1.2 Corner Response Function (FCR) 21 2.2.1.3 Menentukan Nilai Corner Points 22 2.2.2 Algoritma Harris Corner Detection 22 2.3 Jaringan Saraf Tiruan (Neural Network) 23

2.3.1 Aristektur 24

2.3.2 Paradigma Pembelajaran 26

2.3.2.1 Pembelajaran Tak Terawasi (Unsupervised Learning) 27 2.3.2.2 Pembelajaran Terawasi (Supervised Learning) 27

2.3.3 Backpropagation 27

2.3.4 Algoritma Backpropagation 32

2.4 Format File JPEG 34

Bab 3 Analisis dan Perancangan Sistem 36

3.1. Identifikasi Masalah 36

3.2. Data yang Digunakan 36

3.3. Analisis Sistem 37

3.4. Perancangan Sistem 42

(9)

3.4.2 Use case spesifikasi 43

3.4.3 Diagram aktivitas 47

3.4.4 Diagram aliran data 51

3.4.5. Model entity-relationship 53

3.4.6. Perancangan menu sistem 54

3.4.7. Perancangan antarmuka 54

3.4.7.1. Rancangan tampilan awal dan halaman utama 54 3.4.7.2. Rancangan halaman daftar objek 56 3.4.7.3. Rancangan halaman galeri citra 56 3.4.7.4. Rancangan halaman pembelajaran 57 3.4.7.5. Rancangan halaman pengujian image 58

Bab 4 Implementasi dan Pengujian Sistem 61

4.1. Implementasi Sistem 61

4.1.1 Spesifikasi perangkat keras dan lunak yang digunakan 61 4.1.2 Implementasi perancangan antarmuka 62

4.1.3 Implementasi data 67

4.2. Pengujian Sistem 67

4.2.1 Rencana pengujian sistem 68

4.2.2 Kasus dan hasil pengujian sistem 68

4.2.3 Skenario pengujian 71

4.2.4 Hasil pengujian 75

Bab 5 Kesimpulan dan Saran 77

5.1 Kesimpulan 77

5.2 Saran 78

(10)

ABSTRAK

Indonesia, sebagai negara yang memiliki banyak sekali pulau dan budaya, memiliki potensi yang sangat besar untuk mengembangkan bidang pariwisata. Banyaknya objek pariwisata yang bisa digunakan untuk menambah devisi negara membutuhkan sebuah sistem dalam membantu pengguna dalam mencari objek yang dimiliki oleh pengguna. Dalam penelitian ini digunakan metode corner detection dan backpropgation (BP) untuk membantu pengguna dalam mengenali objek. Harris Corner Detection (HCD) akan mendapatkan titik-titik citra yang terdapat dalam citra. Hasil dari HCD akan dipelajari menggunakan backpropagation yang memberikan hasil dan informasi dari pencarian citra yang digunakan objek. Hasil dari penelitian ini menunjukkan bahwa metode HCD dan BP mampu mengenali citra dengan sangat baik baik dengan eror terkecil mencapai 0.02703%.

(11)

IMAGE PATTERN RECOGNITION USING CORNER DETECTION AND

BACKPROPAGATION

ABSTRACT

Indonesia, a country that has many islands and culture, has a huge potential to develop tourism. Many tourism objects that can be used to increase the division of the country require a system to assist users in finding objects owned by the user. This study used corner detection methods and backpropgation (BP) to assist users in recognizing objects. Harris Corner Detection (HCD) will get the points contained in the image of the image. The results of the HCD will be studied using backpropagation provide search results and information from the imagery used objects. The results of this study indicate that the HCD method and BP were able to identify image very well with the smallest error reached into 0.02703%.

(12)

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Teknologi merupakan salah satu media yang banyak digunakan untuk membantu pekerjaan manusia dengan memanfaatkan tools, process dan resources dalam pengolahannya. Penggunaan teknologi banyak dipakai pada hampir seluruh aspek kehidupan dan perannya digunakan untuk menjalin pertukaran data ataupun informasi (Simarmata, 2006). Pemakaian komputer dalam era informasi berkembang sangat pesat dan diimplemetasikan untuk menjawab berbagai kebutuhan manusia dalam melakukan proses komputasi, pemrosesan serta analisis data, hiburan dan lainnya.

Penggunaan internet pada saat ini mampu mengembangkan beberapa sektor wisata di Indonesia menjadi lebih maksimal sehingga mampu mendatangkan turis baik dari dalam negeri maupun luar negeri. Untuk menarik pihak wisatawan, banyak sekali materi yang bisa kita gunakan, salah satunya adalah dengan menggunakan media mulitimedia, baik berupa gambar ataupun video.

Gambar adalah media informasi yang sangat efektif karena terbukti handal dalam penyampaian informasi dengan penyajian yang lebih menarik bagi indera manusia. Gambar atau citra adalah sebuah representasi yang mirip dari sebuah objek (Jahne, 2005). Penggunaan citra banyak digunakan sebagai media periklanan untuk wisatawan agar dapat berkunjung ke suatu daerah.

(13)

Ada begitu banyak objek pariwisata yang dapat diperkenalkan kepada wisatawan dalam suatu wilayah, hanya saja tidak semua wisatawan tahu nama daerah wisata yang dicari. Salah satu masalah yang terjadi adalah kurang populernya suatu objek wisata yang ditawarkan. Dalam sebuah kasus tertentu, wisatawan yang pernah mengunjungi tempat tersebut hanya memiliki citra yang diambil di tempat tersebut tanpa tahu informasi penting mengenai wilayah tersebut seperti nama tempat, lokasi, keistimewaan yang ditawarkan, kekurangan, dan lain sebagainya.

Oleh sebab itu, dibutuhkan sebuah alat bantu dalam melakukan pencarian tempat wisata tersebut hanya dengan menggunakan sebuah citra. Citra yang dibawa pengguna dapat dicari dalam database, sehingga komputer dapat mengolah potongan citra tersebut dan menunjukan pada pengguna lokasi citra yang diberikan pengguna beserta dengan informasi yang dibutuhkan pengguna.

Namun, kesulitan dalam mencari citra yang diinginkan adalah banyaknya piksel data yang diolah karena citra memiliki warna, ukuran dan informasi yang berbeda. Tidak seperti manusia yang memiliki kemampuan untuk mengetahui persamaan dan perbedaan sebuah citra, komputer hanya dapat membedakan citra berdasarkan gradien, warna, ukuran piksel dan lain sebagainya. Selain itu, komputer juga tidak dapat mengolah informasi secara otomatis tanpa melakukan pembelajaran terlebih dahulu.

Dalam tugas akhir ini, Penulis melakukan pendekatan menggunakan metode corner detection dalam mengenali citra, yaitu dengan menggunakan titik-titik sudut

yang jelas pada sebuah citra yang kemudian akan dibandingkan antara satu dengan yang lain. Setiap titik dalam masing-masing citra akan di simpan ke dalam database dan dikelompokan berdasarkan modelnya sehingga dengan mudah dapat dilacak oleh komputer menggunakan backpropagation yang akan belajar mengolah citra yang dimasukkan oleh pengguna.

Metode corner detection banyak digunakan dalam computer vision atau machine vision untuk dapat mengenali objek dengan menggunakan citra. Konsep ini

(14)

dari fungsi frekuensi yang menciptakan noise pada suatu citra (Guelzim et al. 2011). Dalam beberapa kesempatan, corner detection juga digunakan untuk menjadi salah satu metode untuk melengkapi metode yang lainnya, seperti estimasi pengenalan mata (Kurniawan & Suwardi, 2012).

Backpropagation (BP) sendiri banyak digunakan untuk menangani masalah

pengenalan pola-pola kompleks, seperti pengenalan pola tulisan tangan (Devireddy & Rao, 2005), pengenalan bentuk wajah (Anam et al. 2009), pengambilan keputusan dalam bidang keuangan (Lee & To, 2010), prakiraan curah hujan (Vamsidhar et al. 2010), pengategorisasikan teks (Ramsundaram & Victor, 2010), inisialisasi (Ganatra et al. 2011), kompresi citra (Panda, 2012) dan masih banyak lainnya.

Dalam tugas akhir ini, Penulis akan menggunakan metode Harris Corner Detector dan Backpropagation untuk membantu pengguna dalam melakukan

pencarian dan pengenalan objek citra. Harris Corner Detector (HCD) memiliki kemampuan untuk mendeteksi sudut dalam suatu citra karena mampu menghasilan nilai yang konsisten walau dengan adanya rotasi, skala dan variasi pencahayaan maupun noise pada gambar. Penggunaan Harris Corner Detector didasarkan pada fungsi autokorelasi sinyal lokal dimana fungsi autokorelasi lokal akan menghitung perubahan lokal dan sinyal. Lalu hasil dari corner yang dihasilkan oleh sebuah citra akan diolah oleh backpropagation (BP) sehingga sistem dapat belajar dalam mengolah informasi yang dibutuhkan oleh pengguna dengan menggunakan citra.

1.2 Rumusan Masalah

(15)

1.3 Batasan Masalah

Guna mencegah meluasnya cakupan permasalahan yang akan dibahas dalam studi ini dan untuk membuat studi ini lebih terarah, maka dilakukan pembatasan masalah sebagai berikut:

1. Data yang digunakan berbentuk citra dengan format JPG dan berbentuk 2D, berukuran 200 x 200 piksel.

2. Data yang digunakan dibagi menjadi dua, yakni data pelatihan (training) yaitu data yang disimpan dalam database dan data pengujian (testing) yang diuji coba pada database.

3. Objek citra yang digunakan adalah landmark di Medan dan tidak menempel dengan objek lain. Objek tidak berotasi secara vertikal.

4. Objek pariwisata yang digunakan dalam penelitian ini hanya berupa bentuk bangunan.

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk menemukan sebuah penyelesaian dan memberikan informasi yang dibutuhkan dalam mengenal sebuah objek menggunakan metode corner detection dan backpropagation.

1.5 Manfaat Penelitian

Manfaat yang dapat diperoleh dari penelitian ini adalah:

1. Mengetahui kemampuan metode Harris Corner Detection (HCD) dan backpropagation (BP) untuk dapat mengenali citra dan informasi yang

(16)

2. Menambah pemahaman penulis tentang penggunaan metode Harris Corner Detection (HCD) dan backpropagation (BP) dalam pengenalan citra secara

otomatis untuk memudahkan pengenalan citra secara otomatis.

3. Sebagai referensi untuk penelitian lain yang membahas metode Harris Corner Detection (HCD) dan backpropagation (BP) dan penggunaannya pada bidang

lain.

1.6 Metodologi Penelitian

Metodologi penelitian yang digunakan pada penelitian ini adalah:

a. Studi Literatur

Studi literature digunakan dengan mengumpulkan bahan-bahan referensi terkait dengan sistem pengenalan objek citra menggunakan metode corner detection dan backpropagation.

.

b. Analisis

Pada tahapan ini, penulis akan melakukan analisis terhadap materi dan data yang mendukung dalam penyelesaian masalah sehingga dapat dirancang sebuah aplikasi yang akan diimplementasikan.

c. Perancangan

Pada tahap perancangan sistem dilakukan perancangan arsitektur, pengumpulan data, pelatihan, dan merancang antarmuka. Proses perancangan dilakukan berdasarkan hasil analisis studi literatur yang telah didapatkan.

d. Implementasi

(17)

e. Pengujian

Pada tahap ini dilakukan pengujian aplikasi yang telah dibuat guna memastikan aplikasi telah berjalan sesuai dengan apa yang diharapkan.

f. Dokumentasi dan Penyusunan Laporan

Pada tahap ini dilakukan dokumentasi hasil analisis dan implementasi penggunaan Harris Corner Detection (HCD) dalam pencarian dan informasi citra secara otomatis dengan menggunakan metode pembelajaran backpropagation.

1.7 Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut:

Bab 1 Pendahuluan

Pada bab ini merupakan pendahuluan yang berisikan tentang latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, metode penelitian dan sisitematika penulisan dari skripsi..

Bab 2: Landasan Teori

Pada bab ini membahas mengenai teori-teori yang digunakan untuk memahami permasalahan yang berkaitan dengan pengertian citra, format citra, corner detection, backpropagation dan penerapan yang digunakan dalam pembuatan aplikasi beserta

dengan pendukungnya.

Bab 3: Analisis dan Perancangan

Bab ini berisi analisis dan penerapan metode Harris Corner Detector (HCD) dan backpropagation (BP) untuk menemukan citra secara otomatis dalam database, serta

perancangan seperti pemodelan dengan flowchart, use case dan sequence diagram.

Bab 4: Implementasi dan Pengujian

(18)

Bab 5: Kesimpulan Dan Saran

(19)

BAB 2

LANDASAN TEORI

Pada bab ini membahas landasan atas teori-teori yang bersifat ilmiah untuk mendukung penulisan tugas akhir ini, beserta dengan penelitian sebelumnya. Teori-teori yang dibahas dalam bab ini mengenai pengertian citra, algoritma corner detection, Harris Corner Detection, backpropagation dan beberapa subpokok

pembahasan lain.

2.1 Pengertian Citra

Citra merupakan sebuah representasi yang mirip dengan sebuah objek dan terdiri dari sebuah array dua dimensi (Phillips, 2000). dapat dibentuk oleh variasi yang menerus dalam shading, warna, bentuk dan tekstur, yang dapat didefinisikan secara geometris dan kompleks (Simarmata, 2006). Citra sebagai output sistem perekam data dapat bersifat optik berupa foto, bersifat analog yang berupa sinyal video seperti layar televisi, dan juga bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan atau pita magnetik (Sutoyo et al. 2009).

2.1.1 Citra Analog

(20)

Gambar 2.1 Contoh Citra Analog pada Televisi

Gambar 2.2 Contoh Citra Analog hasil Scanner

2.1.2 Citra Digital

Citra yang akan digunakan pada penelitian ini menggunakan format citra digital. Proses digitalisasi pada citra juga merupakan proses pengubahan bentuk citra analog menjadi citra digital, sehingga dapat diolah menggunakan komputer. Pada Gambar 2.3 merupakan gambar elemen sistem pemrosesan citra digital.

Gambar 2.3 Elemen Pemrosesan Citra Digital

Media Penyimpanan

Komputer

Piranti Tampilan Digitizer

(21)

Operasi dari sistem pemrosesan citra tersebut dibagi menjadi empat kategori prinsip: digitalisasi, pemrosesan, penayangan dan penyimpanan. Digitizer (digital image acquistition system) digunakan untuk menangkap citra digital yang melakukan

penjelajahan citra dan mengonversi ke representasi numerik sebagai input bagi komputer digital. Digitizer terdiri dari tiga komponen dasar, iatu sensor citra yang bekerja sebagai pengukur intensitas cahaya, perangkat penjelajah yang berfungsi merekam hasil pengukuran intensitas pada seluruh bagian citra dan pengubah analog-ke-digital yang berfungsi melakukan pengubahan dak kuantitasi.

Hasil dari digitizer adalah matriks yang elemen-elemennya menyatakan nilai intensitas cahaya pada suatu titik. Contoh digitizer adalah kamera digital dan scanner. Komputer lalu digunakan untuk sistem permorsesan citra dan bervariasi dari komputer mikro sampai kamputer besar yang mampu melakukan bermacam fungsi digital dengan resolusi tinggi. Hasil pengolahan ini kemudian direpresentasikan kepada piranti tampilan yang dapat dilihat oleh manusia, sedangkan media penyimpanan berfungsi untuk menyimpan hasil konversi citra menjadi citra digital sehingga dapat disimpan secara permanen sehingga dapat diproses lagi.

Citra digital tersusun dalam bentuk kisi yang berisi nilai yang dipresentasikan dengan deretan bit. Sebuah citra dapat didefinisikan sebagai fungsi f(x,y), yang menyatakan derajat keabuan (gray level) pada koordinat x dan y. Koordinat x dinyatakan sebagai kolom dan y dinyatakan sebagai baris. Perpotongan antara baris dan kolom disebut dengan piksel (picture element), yaitu elemen terkecil dalam sebuah citra. Gambar 2.4 menunjukan posisi koordinat citra digital.

(22)

Citra digital berbentuk empat persegi panjang dan ukurannya dinyatakan sebagai tinggi x lebar (baris x kolom). Citra digital dengan tinggi N, lebar M dan memiliki derajat keabuan (grey level) L dapat disusun dengan fungsi sebagai berikut:

( , ) = yang dinyatakan dengan f(x,y). Oleh karena itu, sebuah citra digital dapat dilihat pada Gambar 2.5 berikut:

Gambar 2.5 Fungsi Matriks pada Citra

Dicontohkan sebuah citra memiliki ukuran sebesar 100 x 100 piksel dengan nilai yang beragam pada setiap pikselnya. Maka matriks yang terdiri dari 100 baris dan 100 kolom dapat dipresentasikan pada Gambar 2.6.

Gambar 2.6 Presentasi Matriks pada Citra

Piksel pertama pada koordinat (0,0) memiliki nilai sebesar 0, yang berarti berwarna hitam. Sedangkan piksel yang berada pada koordinat (0,1) memiliki nilai 255, yang berarti berwarna putih, dan koordinat (0,3) memiliki nilai 143 yang artinya warna piksel berada diantara hitam dan putih, begitulah membaca piksel seterusnya.

(23)

Nilai piksel pada sebuah citra memiliki nilai rentang tertentu yang terdiri dari rentang minimum dan maksimum. Jangkauannya juga berbeda berdasarkan jenis warnanya. Berikut adalah jenis-jenis citra berdasarkan nilai pikselnya (Putra, 2010; Gonzales et al. 2009; Burger & Burge, 2008; Jähne, 2005; Phillips, 2000):

1. Citra biner (binary image) atau juga dapat disebut citra monokrom adalah citra digital yang hanya terdiri dari dua warna, yaitu hitam dan putih pada tiap piksel. Warna hitam diwakili dengan 0 dan warna putih diwakili dengan 1. Contoh citra biner dapat dilihat pada Gambar 2.7 di bawah ini.

Gambar 2.7 Contoh Binary Image

2. Citra grayscale (grayscale image) merupakan citra yang memiliki warna hitam, keabuan dan putih dalam setiap pikselnya. Citra ini memiliki kedalaman piksel 8 bit, dengan rentang sebanyak 256 warna (28 = 256). Contoh citra grayscale dapat dilihat pada Gambar 2.8.

(24)

3. Citra warna (true color) merupakan citra yang menggunakan kombinasi dari tiga warna, yaitu: Red, Green dan Blue, sehingga disebut sebagai citra RGB. Setiap komponen warna yang terdapat pada piksel dapat mencapai 8 bit (28 = 256 warna) dengan format warna dapat dilihat pada Gambar 2.9.

Gambar 2.9 Format Warna RGB

Hal ini menyebabkan setiap piksel pada citra RGB membutuhkan media penyimpanan 3 byte. Jumlah kemungkinan kombinasi warna pada citra RGB adalah 224 atau lebih dari 16 juta warna. Contoh citra warna dapat dilihat pada Gambar 2.10.

(25)

2.2 Corner Detection

Banyak sekali informasi dalam sebuah citra yang dapat digunakan sebagai sebuah representasi sebuah citra. Informasi ini dapat berupa tepi, sudut, warna, garis dan masih banyak yang lainnya.

Corner detection adalah pendekatan yang digunakan dalam computer vision

untuk mengekstrak beberapa jenis feature, mengetahui karakteristik dari sebuah citra, lalu menyimpulkan isi suatu citra (Bhatia & Chabbra, 2011). Corner dapat didefinisikan sebagai perpotongan dari dua buah edge atau titik yang menghasilkan dua arah edge dominan yang berbeda pada sebuah local neighbor (Burger, 2008). Untuk mengenali corner dapat dilakukan dengan menggeser window ke segala arah sehingga pada satu waktu tertentu didapatlah sebuah perbedaan yang besar yang kemudian diindentifikasikan sebagai corner, seperti yang dapat dilihat pada Gambar 2.11.

Gambar 2.11 Cuplikan Windowing

Apabila window digeser ke segala arah tetapi menghasilkan simpulan bagian flat dari objek dan tidak mendapat nilai apapun, maka hasilnya akan menjadi Gambar

2.12 bagian A, karena tidak terjadi perubahan dalam arah manapun. Pada Gambar 2.12 bagian B terjadi bila window digeser ke segala arah dan menghasilkan simpulan yang menyatakan bagian tepi dari objek yang disebut edge. Bila terjadi perubahan intensitas yang tertumpu pada satu sudut dari berbagai arah atau edge ketika window digeser maka akan dihasilkan sudut dari objek yang disebut sebagai corner, seperti yang ditujukan pada Gambar 2.12 bagian C.

Window

(26)

A B C

Gambar 2.12 Ide Dasar Corner Detection

Corner detection banyak digunakan dalam motion detection (pendeteksi

gerak), image registration (pendaftaran citra), video tracking (pelacakan video), image mosaicing, panoroma stitching, 3D modeling dan pengenalan objek. Corner detector

yang baik harus memenuhi sejumlah kriteria, termasuk membedakan antara sudut-sudut yang benar dan salah, yang memiliki noise cukup besar, dan secara akurat dapat menentukan lokasi sudut.

Ketentuan dasar yang digunakan dalam menentukan sudut, yaitu: ketika sebuah edge didefiniskan dalam sebuah citra, maka sebuah corner point didefinisikan sebagai sebuah area yang menunjukan nilai gradien dalam arah yang sama. Sebuah detektor akan dapat mendeteksi titik sudut (corner) yang terdapat pada sebuah citra walau citra tersebut berubah arah.

Fungsi corner detector dapat dilihat pada Gambar 2.13. Di bawah terdapat sebuah segitiga yang berdiri tegak. Detektor akan mendeteksi sudut yang terdapat pada segitiga tersebut. Jika posisi segitiga diubah sedikit, maka detektor masih dapat mendeteksi sudut yang terdapat pada segitiga walau ada perubahan baik secara rotasi maupun tidak secara akurat.

(27)

2.2.1 Harris Corner Detection (HCD)

Operator ini dibangun oleh Harris dan Stephens didasarkan pada operator Moravec (Harris & Stephens, 1988) dan merupakan salah satu interest point detector yang cukup populer karena dapat mendeteksi sudut dengan stabil secara rotasi, skala, pencahayaan (Schmid et al. 2000). Interest point detection merupakan salah satu terminologi computer vision yang mengacu pada pendeteksian titik yang kemudian akan diproses. Secara umum fungsi detektor memiliki ciri umum yang terdiri dari fungsi matematika yang dapat ditemukan pada sebuah citra serta dapat ditekesi maupun terjadi perbedaan rotasi. Operator Harris juga sangat sensitif terhadap noise dalam sebuah citra (Guelzim et al. 2011).

Operator ini banyak digunakan sebagai salah satu proses dalam pengembangan robot vision. Kumpulan citra yang diambil menggunakan operator ini akan digunakan

dalam proses interpretasi robot. Sehingga robot dapat mengambil kesimpulan dalam perubahan citra. Harris corner detector didasarkan pada fungsi perubahan autorkorelasi, dimana perubahan sinyalnya dapat diukur dalam arah yang berbeda. Autokorelasi ini memiliki rumus matematis sebagai berikut:

( , ) = [ ( , ) − ( + ∆ + ∆ ) ] (2.2)

dimana:

1. (xi,yi) = titik pada jendela W (fungsi Gaussian) yang berpusat di (x,y) 2. I(.,.) = fungsi citra.

3. (∆ ,∆ ) = pergeseran W

Sementara itu, citra yang digeser dirumuskan dengan ekspansi Taylor, yakni:

+ ∆ + ∆ ≅ ( , ) + [ ( , ) ( , ) ] ∆

∆ (2.3)

(28)

( , ) = [ ( , ) − ( + ∆ + ∆ ) ]

dimana C(x,y) merupakan matriks auto correlation yang menangkap nilai intensitas dari struktur local neighbour.

Harris Corner Detection (HCD) menghitung nilai rata-rata matriks yang

diambil dari perubahan gradien citra, lalu mengombinasikan dengan nilai eigenvalues untuk mendapatkan nilai corner, yang diambil dari nilai maksimum posisi corner yang teridentifikasi. Ada beberapa tahap dalam mencari corner menggunakan operator ini, yaitu dengan mencari nilai local structure matrix, nilai corner response function (CRF), lalu menentukan nilai corner points (Burger & Burge, 2008).

2.2.1.1 Local Structure Matrix (LSM)

Perhitungan dimulai dari turunan parsial pertama (first partial derivative) fungsi citra I(u,v) dalam arah vertikal dan horisontal. Dimana persamaannya dapat dinyatakan

sebagai berikut:

Ix(u,v) = ( , ) dan Iy(u,v) = ( , ). (2.5)

(29)

A(u,v) = (u,v) (2.6)

B(u,v) = (u,v) (2.7)

C(u,v) = (u,v) . (u,v) (2.8)

yang ditafsirkan sebagai elemen dari local structure matrix M(u,v):

M = = . (2.9)

Selanjutnya, tiap-tiap ketiga fungsi A(u,v), B(u,v), dan C(u,v) dihaluskan dari kekusutan (convolution) menggunakan nilai Gaussian filter , . Dimana nilai Gaussian filternya menggunakan fungsi:

,

=

( )

(2.10)

untuk adalah standard derivation (simpangan baku) dari fungsi dan r adalah radius dari nilai tengah citra. Nilai piksel yang terletak pada tengah citra menerima nilai maksimum, sehingga dari nilai Gaussian filter , dapat menghasilkan nilai fungsi

matriks sebagai berikut:

= ∗ , ∗ ,

∗ , , =

̅

̅

̅

(2.11)

Karena matriks simetris, matriks dapat didefinisikan sebagai:

′ = 0

0

(2.12)

dimana dan adalah eigenvalues dari matriks yang didefinisikan sebagai:

, =

( )

(30)

= ̅+ ± ̅ − 2 ̅ + + 4 ̅ (2.13)

Untuk

trace = ̅+ dan det( ) = ̅ - ̅ (2.14)

Eigenvalues yang bernilai positif dan bilangan ril, memuat informasi penting

mengenai local image structure. Nilai hasil dari local image structure akan dipengaruhi oleh eigenvalues. Untuk menyeleksi corner yang baik harus melihat nilai eigenvalues, seperti yang ditunjukkan pada Gambar 2.14 berikut ini.

Gambar 2.14 Kurva Klasifikasi Corner, Flat, dan Edge (Harris-Stephens, 1988)

Dari Gambar 2.14 di atas, dapat kita lihat bahwa pengklasifikasian auto correlation sudah terlihat dengan jelas. Seperti yang sudah dibahas sebelumnya, ada

tiga hal yang mempengaruhi nilai eigenvalues dari operator ini, yaitu sebagai berikut:

(31)

Gambar 2.15 Representasi Eigenvalues Flat

2. Jika > 0 atau memiliki nilai positif yang besar dan = 0, atau sebaliknya nilai = 0 dan > 0, maka wilayah autokorelasi itu disebut sebagai edge, yang menyebabkan perubahan cukup besar dalam arah tegak lurus. Bentuk ilustrasinya dapat dilihat pada Gambar 2.16 di bawah ini.

Gambar 2.16 Representasi Eigenvalues Edge

(32)

Gambar 2.17 Representasi Eigenvalues Corner

2.2.1.2 Corner Response Function (FCR)

Dari persamaan (2.12) di atas, maka nilai selisih dari dua eigenvalues adalah

- = 2 . . ( ( ) ) − det ( ) (2.15)

dimana nilai (0,25 . ( ( ) ) ) > det ( ) dalam setiap kasus. Dalam sebuah corner nilai persamaan tersebut harus sekecil mungkin, yang kemudian di definiskan

dengan fungsi:

Q(u,v) = ( ) – α . ( ( ) )

= ( ̅ - ̅ ) – α . ̅+

(2.16)

sebagai sebuah nilai ukur dari kekuatan corner (corner strength). Q(u,v) disebut sebagai fungsi corner response (corner response function) dan mengembalikan nilai

maksimum. Dalam prakteknya, nilai α berada di antara 0,04 sampai 0,06 dengan nilai

maksimal 0,25. Semakin besar nilai α, maka semakin kecil sensitifitas dari detector

(33)

2.2.1.3 Menentukan Nilai Corner Points

Sebuah citra yang berlokasi pada (u,v) diseleksi sebagai sebuah kandidat corner points ketika:

Q(u,v) > tH (2.17)

dimana threshold (nilai ambang) tH diambil berdasarkan konten yang dan secara tipikal terletak di antara range 10.000 sampai 1.000.000 dalam sebuah citra. Jika nilai corner ci = (ui, vi, qi) yang sudah didapatkan akan diinput ke dalam:

Corners = [c1, c2, … cN] (2.18)

yang kemudian akan diurutkan secara descending (menurun) (qi qi+1) berdasarkan corner strength qi = Q(ui, vi) seperti yang sudah didefenisikan pada Pers. (2.17).

Untuk menekan nilai false corner yang berada di sekitar area true corner maka harus dibuat nilai spesifik untuk mengeliminasi nilai false corner. Memenuhi hal ini maka list Corners diletakan dimulai dari depan sampai belakang (front to back), dan nilai corner yang lemah akan terletak di bagian akhir list dimana bagian ini terdapat dalam daerah corner yang kuat, kemudian dihapus. Proses pengolahan corner detector dapat dilihat pada Gambar 2.18.

Gambar 2.18 Flowchart Corner Detector (Harris-Stephens, 1988)

2.2.2 Algoritma Harris Corner Detection

Berikut ini adalah algoritma Harris Corner Detection yang digunakan untuk mendeteksi corner (Harris-Stephens, 1988):

1. Melakukan perhitungan x dan y dari citra.

(34)

3. Mencari jumlah nilai produk dari tiap piksel yang kemudian dikalikan dengan fungsi Gaussian.

4. Mendefinisikan tiap piksel (x,y) ke dalam matriks M. 5. Menghitung nilai corner response R tiap piksel. 6. Menghitung nilai ambang R.

7. Menghitung nilai nonmax titik yang telah ditentukan. 8. Memasukkan nilai corner yang ditemukan.

2.3 Jaringan Saraf Tiruan (Neural Network)

Ketika manusia berpikir, aktivitas yang terjadi adalah aktivitas untuk mengingat, memahami, menyimpan, dan memanggil kembali apa yang pernah dipelajari oleh otak. Jaringan saraf tiruan hanya menirukan aktivitas tersebut. Hanya saja, manusia memiliki cara kerja yang lebih kompleks dan lebih rumit daripada yang diperkirakan (Pustpitaningrum, 2006).

Jaringan saraf tiruan (JSS) atau Neural Network (NN) merupakan salah satu bidang komputer yang menirukan aktivitas otak manusia, dimana komputer diusahakan agar berpikir seperti manusia. Jaringan Saraf Tiruan direpresentasikan sebagai toplogi graf yang terhubung antara yang satu dengan yang lain. Dimana dalam tiap garis (edge) memiliki titik (node) yang saling menghubungkan antara yang satu dengan yang lain. Titik-titik tersebutlah yang akan memasukkan sekaligus mengeluarkan informasi.

(35)

Gambar 2.19 Struktur Jaringan Saraf Tiruan (Muis, 2009)

2.3.1 Aristektur

Pembagian arsitektur jaringan saraf tiruan bisa dilihat dari kerangka kerja dan skema interkoneksi, yang dapat dilihat dari jumlah lapisan (layer) dan jumlah node pada setiap lapisan. Lapisan-lapisan penyusunnya dapat dibagi menjadi tiga, yaitu:

1. Lapisan input (input layer), yang menerima input dari dari luar dan merupakan penggambaran dari sebuah masalah.

2. Lapisan tersembunyi (hidden layer), yang tidak dapat secara langsung diamatai, di sini dilakukan proses pengolahan informasi.

3. Lapisan keluaran (output layer), yang merupakan hasil dari informasi terhadap sebuah permasalahan.

Berdasarkan lapisan ini, maka Jaringan Saraf Tiruan dapat dibagi ke dalam tiga macam arsitektur, yaitu:

1. Jaringan kompetitif (competitive layer), pada jaringan ini, sekumpulan neuron bersaing untuk mendapatkan hak aktif. Pada lapisan ini terdapat jaringan dengan lapisan kompetitif yang memiliki bobot -ε seperti yang ditunjukkan pada Gambar 2.20.

(36)

2. Jaringan lapisan tunggal (single layer net), dimana aristekturnya hanya memiliki satu buah lapisan. Jaringan ini hanya menerima input, kemudian langsung mengolahnya menjadi output tanpa harus melalui lapisan tersembunyi. Seperti yang ditunjukkan pada Gambar 2.21 terlihat lapisan input memiliki 3 neuron, yaitu X1, X2, dan X3. Lapisan output terdiri dari 2 neuron, yaitu Y1 dan Y2. Dimana kedua neuron tersebut saling berhubungan, yang thubungan masing-masing neuron memiliki bobot yang bersesuaian. Semua input akan berhubungan dengan setiap unit output.

Gambar 2.21 Jaringan Lapisan Tunggal (Single Layer Net) (Hermawan, 2006)

(37)

Gambar 2.22 Jaringan Saraf Multilapis (Multilayer Net) (Hermawan, 2006)

2.3.2 Paradigma Pembelajaran

(38)

2.3.2.1 Pembelajaran Tak Terawasi (Unsupervised Learning)

Pada pembelajaran ini, tidak terjadi proses penglasifikasian pola, sehingga sistem akan melakukan proses dengan sendirinya. Algoritma ini sehing kali memiliki perhitungan yang kompleks dan akurasinya lebih rendah dibandingkan dengan pembelajaran terawasi. Algoritma ini dirancang untuk belajar dengan cepat dan lebih praktis dalam hal kecepatan.

2.3.2.2 Pembelajaran Terawasi (Supervised Learning)

Pada pembelajaran ini mengasumsikan ketersediaan contoh-contoh penglasifikasian kelas-kelas pembelajaran, yang memanfaatkan keanggotan kelas dari setiap contoh pelatihan. Dengan informasi ini, sistem dapat mendeteksi kesalahan klasifikasi pola sebagai umpan balik ke dalam jaringan, sehingga mampu menghasilkan jawaban yang semirip mungkin dengan jawaban benar yang telah diketahui oleh jaringan.

Pembelajaran ini mengacu pada pencarian kemungkinan kombinasi bobot yang naik ataupun turun derajat kesalahannya. Sistem akan memanfaatkan informasi tersebut untuk mendefinisikan kesalahan numerik yang mencari penurunan kesalahan.

2.3.3 Backpropagation

Backpropagation (BP) merupakan salah satu algoritma yang sering digunakan untuk

menyelesaikan masalah-masalah yang rumit. Hal ini disebabkan karena jaringan dengan algoritma ini dilatih dengan menggunakan metode pembelajaran terbimbing. Pada jaringan diberikan pola masukan dan pola keluaran yang diinginkan.

Ketika suatu pola diberikan kepada jaringan, bobot-bobot diubah untuk memperkecil perbedaan pola keluaran dan pola yang diinginkan. Latihan ini dilakukan sehingga semua pola yang dikeluarkan jaringan dapat memenuhi pola yang diinginkan, seperti yang terlihat di arsitektur backpropagation pada Gambar 2.23.

Backpropagation menggunakan nilai eror output untuk mengubah nilai bobot

(39)

Gambar 2.23 Arsitektur Jaringan Backpropagation (Muis, 2009)

Algoritma backpropagation dimulai dengan memberikan pola masukan ke dalam lapisan. Setiap pola merupakan nilai aktivasi unit-unit masukan, yang memiliki bobot dan dihitung jumlahnya dengan menggunakan:

=

(2.19)

dimana: Xj = jumlah bobot unit masukan j

Yi = nilai masukan yang berasal dari unit i Wij = bobot dari unit i sampai ke j

Setelah jumlah bobot dari Xj dihitung dan ditemukan hasilnya, maka diterapkankanlah fungsi sigmoid yang akan menghasilkan nilai antara 0 dan 1. Pada algoritma backpropagation, fungsi sigmod yang dipakai memiliki persamaan:

( ) = 1

1 +

(2.20)

(40)

Di sini eror dihitung pada semua unit pengolah dan bobotpun diubah pada semua sambungan. Perhitungan dimulai dari lapisan keluaran dan mundur sampai lapisan masukan. Hasil keluaran dari umpan maju dibandingkan dengan hasil keluaran yang diinginkan. Berdasarkan perbedaan ini kemudian dihitung eror untuk tiap-tiap lapisan pada jaringan.

Pertama-tama, dihitung eror untuk lapisan keluaran, kemudian disesuaikan dengan setiap sambungan bobot-bobot yang menuju ke lapisan keluaran. Setelah itu dihitung nilai eror pada lapisan tersembunyi dan dihitung perubahan bobot yang menuju lapisan tersembunyi. Demikian proses dilakukan mundur sampai ke lapisan masukan secara iteratif. Jika j adalah salah satu unit pada lapisan keluaran, maka eror lapisan keluaran dapat ditentukan dengan persamaan:

= ( − ) ′( ) (2.21)

dimana: tj = keluaran yang diinginkan dari unit j aj = keluaran dari unit j

′( ) = turunan dari fungsi sigmoid Xj = hasil penjumlahan berbobot

Jika j adalah suatu lapisan tersembunyi, maka eror lapisan tersembunyi dapat ŋ = laju belajar (konvergensi)

δj = eror lapisan tersembunyi

(41)

Variabel ŋ menyatakan suatu konstanta belajar yang berharga antara 0,25 sampai 0,75. Nilai ini menunjukkan kecepatan belajar dari jaringan. Nilai yang terlalu tinggi dapat menyebabkan jaringan menjadi tidak stabil, sedangkan nilai yang terlalu kecil dapat menjadikan waktu belajar yang lama. Oleh karena ini pemilihan nilai ŋ harus seoptimal mungkin agar didapatkan proses belajar yangc cepat.

Begitu nilai keluaran dihitung, nilai tersebut akan dibandingkan dengan nilai keluaran yang dibutuhkan dengan nilai eror minumum E. Permukaan eror kadang-kadang mengalami penurunan sampai mencapai suatu kondisi minimum, yang kadang-kadang bisa naik kembali. Eror yang paling mimum, merupakan eror yang diinginkan. Eror minimum E dapat dipakai menggunakan persamaan:

= 1

2 ( − )

(2.24)

dimana: E = nilai eror minumum Yj = fungsi sigmoid dari unit j

dj = nilai keluaran yang ditetapkan dari unit j

Dalam backpropagation satu buah lapisan tersembunyi bisa dikatakan cukup memandai untuk menyelesaikan masalah sembarang fungsi sigmoid. Dengan menggunakan lebih dari satu buah lapisan tersembunyi, satu masalah lebih mudah untuk diselesaikan. Meskipun begitu, tidak ada ketentuan khusus mengenai banyaknya jumlah lapisan tersembunyi yang dibutuhkan (Ganatra et al. 2011). Dalam penelitian ini, penulis menggunakan 4 (empat) buah lapisan tersembunyi.

(42)

∆ = (2.25)

∆ = (2.26)

Jika eror tidak terjadi, maka menjadi 0 (nol) dan hal ini akan menyebabkan koreksi ∆ = 0, dengan kata lain pembaharuan bobot berlanjut dalam arah yang sama seperti yang sebelumnya. Jika parameter momentum digunakan, maka persamaan pembaharuan bobot dengan pelatihan t, dan t+1 untuk pelatihan selanjutnya, mengalami modifikasi sebagai berikut:

( + 1) = ( ) + + [ ( ) − ( −1) ] (2.27)

dimana: Z1 … Zn = nilai lapisan tersembunyi

Vij = bobot dari lapisan masukan dan lapisan tersembunyi Wij = bobot dari lapisan tersembunyi dan lapisan keluaran

δ = eror informasi

α = konstanta berkelanjutan

µ = momentum

(43)

2.3.4 Algoritma Backpropagation

Algoritma backpropagation dapat dibagi ke dalam dua bagian, yaitu: algoritma pelatihan dan algoritma aplikasi. Pada algoritma pelatihan terdapat 3 (tiga) tahap, yaitu: tahap umpan maju, tahap backpropagation error dan pembaharuan bobot. Sedangkan pada algoritma aplikasi hanya menggunakan tahap umpan maju. Berikut adalah algoritma backpropagation:

0. Inisialisasi bobot.

Tentukan angka pembelajaran (α).

Tentukan nilai ambang atau set siklus pelatihan (epoch) sebagai kondisi berhenti. 1. While kondisi berhenti tidak terpenuhi.

Do langkah ke-2 (dua) sampai ke-9 (sembilan).

2. Untuk setiap pasangan pelatihan, kerjakan langkah 3 (tiga) sampai langkah ke-8 (delapan).

Tahap umpan maju (feedforward)

3. Tiap unit masukan (xi, i = 1, …, n) menerima masukan xi dan diteruskan ke lapisan tersembunyi.

4. Tiap unit tersembunyi (zj, j = 1, …, p) menjumlahkan nilai masukan terbobot

_ = +

(2.31)

dengan menerapkan fungsi aktivasi hitung:

= ( _ ) (2.32)

dan dikirim ke unit-unit keluaran.

5. Tiap unit keluaran (yk, k = 1, …, m) menjumlahkan nilai masukan terbobot

_ = +

(44)

dengan menerapkan fungsi aktivasi hitung:

= ( _ ) (2.34)

Tahap backpropagation error

6. Tiap unit keluaran (yk, k = 1, …, m) menerima target pola yang berkaitan dengan pola input pembelajaran, yang kemudian dihitung nilai erornya menggunakan persamaan (2.19) dan dimodifikasi menjadi:

= ( − ) ′( _ ) (2.35)

gunakan koreksi bobot untuk memperbaiki nilai wjk pada persamaan (2.25) dan koreksi bias untuk memperbaiki nilai w0k menggunakan:

= (2.36)

lalu kirim ke lapisan tersembunyi di bawahnya.

7. Tiap unit tersembunyi (zj, j = 1, …, p) menjumlahkan delta inputnya dari unit-unit yang berada di atasnya.

_ =

(2.37)

Nilai ini dikalikan dengan turunan dari fungsi aktivasinya untuk mendapatkan nilai eror, seperti pada persamaan (2.24), sehingga menghasilkan:

= _ ′( _ ) (2.38)

gunakan koreksi eror pada persamaan (2.26) untuk memperbaiki nilai vij dan koreksi bias untuk memperbaiki nilai v0j menggunakan:

(45)

Tahap update bobot, bias dan indeks.

8. Tiap unit keluaran (yk, k = 1, …, m) memperbaharui bobot-bobot dan indeksnya (j = 0, 1, …, p) menggunakan persamaan (2.28), yang dapat disederhanakan sebagai:

( ) = ( ) + ∆ (2.40)

Tiap nilai unit tersembunyi (zj, j = 1, …, p) memperbaharui bobot dan indeksnya (i = 0, 1, …, n) menggunakan persamaan (2.30), yang dapat disederhanakan sebagai:

( ) = ( ) + ∆ (2.41)

9. Tes kondisi berhenti.

2.4 Format File JPEG

Pada penelitian ini, citra yang digunakan adalah citra berformat JPEG (Joint Photographic Expert Group) atau JPG. JPEG menggunakan teknik kompresi yang

menyebabkan kualitas citra turun (lossy compression). Setiap kali menyimpan file ke tipe JPG dari tipe lain, ukuran gambar akan mengecil, kualitas citra turun dan tidak dapat dikembalikan lagi. Pada gambar-gambar tertentu, penurunan kualitas citra hampir tidak terlihat oleh mata.

File JPEG digunakan untuk citra yang memiliki banyak warna karena format ini memiliki kedalaman warna 24 bit atau sekitar 16 juta warna dan umumnya digunakan untuk menyimpan citra hasil foto. Format file ini mampu menyimpan citra dengan mode warna RGB, CMYK dan grayscale. Karakteristik JPEG memiliki ekstensi .jpg atau .jpeg.

2.5 Penelitian Terdahulu

(46)

Pada tahun 2005, Devireddy dan Rao menggunakan metode BP untuk mendeteksi tulisan tangan. Pada penelitian tersebut dibuktikan bahwa sistem memiliki kemampuan untuk mengenali pola tanpa harus terpengaruh dari perubahan posisi dari sebuah nilai input. Citra juga dapat digunakan dalam pengenalan wajah menggunakan algoritma genetic dan BP untuk meningkatkan efisiensi kecocokan wajah (Anam et al. 2009). Selain itu, pendeteksian juga dapat dilakukan dengan mencari perbedaan rotasi perubahan sebuah cita menggunakan LED Angle (light-emitting diode deflection angle) sehingga dapat mengenali objek dari sudut berbeda (Li, 2011). Peneletian juga

dapat digunakan dengan menggabungkan beberapa metode untuk meningkatkan hasil pendeteksian yang lebih akurat, dengan menggunakan dua metode pendekatan (Bhatia, 2011).

Adapun beberapa penelitian sebelumnya yang telah dilakukan untuk mendeteksi cita berdasarkan masa lalunya, dapat dilihat pada Tabel 2.1.

Tabel 2.1 Penelitian Sebelumnya

No Judul Pengarang Tahun Kelebihan Kekurangan

1. Hand Written

2005 Mampu untk mengenali pola tanpa harus

2011 Hasil pendeteksian lebih akurat serta lebih mudah dan efisien

(47)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Bab ini secara garis besar membahas analisis metode Harris Corner Detection (HCD) dan Backpropagation (BP) pada sistem serta tahap-tahap yang akan dilakukan dalam perancangan sistem yang akan dibangun.

3.1. Identifikasi Masalah

Industri pariwisata adalah salah satu bidang yang banyak menggunakan media multimedia, baik berupa citra, animasi, video dan suara dalam memberikan suguhan berupa panaroma alam, objek wisata dan bentuk-bentuk kebudayaan yang biasa digunakan dalam menarik minat para wisatawan. Penggunaan media citra banyak digunakan sebagai salah satu objek dalam memperkenalkan wilayah tersebut.

Ada begitu banyak aplikasi yang digunakan dalam mengenali citra sehingga dapat menyuguhkan seluruh informasi dari sebuah. Hanya saja ada begitu banyak informasi yang terdapat dalam sebuah citra, yang berupa warna, panjang piksel, shape, tekstur dan lainnya. Pada penelitian ini, Penulis akan mencoba menggunakan

metode Harris Corner Detection dan Backpropagation dalam melakukan pengenalan citra pada objek dan memberikan informasi yang dibutuhkan pengguna.

3.2. Data yang Digunakan

(48)

1. Citra yang digunakan adalah citra yang diambil dari tampak depan sebuah objek.

2. Citra uji berupa citra yang akan dibandingkan (compare) dengan citra belajar dan sudah diuji sebelumnya.

3. Citra uji dapat berupa citra dengan objek yang sama tapi memiliki jarak dan posisi pengambilan yang berbeda

4. Objek yang digunakan pada penelitian ini ada 4 (empat).

3.3. Analisis Sistem

Penelitian ini menggunakan metode HCD dan BP yang akan memberikan hasil berupa persentase keakuratan pengenalan citra uji berdasarkan sumber citra yang sudah dipelajari oleh sistem sesuai dengan citra yang diinginkan. Pertama-tama, sudah disediakan terlebih dahulu objek-objek yang akan diuji beserta dengan banyaknya citra pembelajaran pada masing-masing objek.

Sistem akan menerima masukan berupa citra. Kemudian, citra tersebut akan diproses menggunakan metode HCD untuk menemukan setiap corner yang terdapat dalam citra. Hasil citra corner yang didapatkan akan disimpan dalam database dan diolah kembali dan disebut sebagi citra HCD. Citra HCD yang didapatkan akan diubah kembali ke dalam bentuk matriks dan selanjutnya diproses menggunakan BP. BP akan mempelajari seluruh citra yang yang sudah dimasukkan oleh pengguna sebelumnya sebagai data awal.

Sistem akan berjalan ketika pengguna mencari citra lain menggunakan citra berbeda. Sistem akan mengubah citra tersebut ke dalam bentuk citra HCD. Citra yang sudah diubah tersebut akan diolah kembali menggunakan BP. BP akan mencari bentuk objek yang mirip sesuai dengan pola citra yang sudah dipelajari oleh sistem lalu memberikan hasil dan informasi yang didapatkan dari data yang tersimpan serta besar persentase nilai eror kemiripan citra.

(49)
(50)

Cara kerja sistem pengenalan pola citra yang akan dibangun, dirancang untuk untuk penelitian ini beroperasi sebagai berikut:

1. Memasukkan nama objek dan detail objek.

2. Memasukkan citra pembelajaran pada masing-masing objek.

3. Melakukan pendeteksian titik pada citra menggunakan corner detection.

a. Dalam skripsi ini menggunakan operator Harris Corner Detection dengan persamaan (2.2). Dengan nilai turunan yang terdapat pada persamaan (2.5) pada citra input dan uji coba.

b. Menghiitung nilai perkalian produk piksel pada citra menggunakan persamaan (2.6), (2.7) dan (2.8).

c. Menentukan nilai window W(x,y), yang bernilai 1 apabila berada dalam window dan bernilai 0 jika berada diluar window. Dapat pula menggunakan

fungsi Gaussian, bila berada di luar window menggunakan persamaan (2.10). Hasil citra dapat dilihat dalam bentuk kurva pada Gambar 3.2. Dalam penelitian ini, penulis menggunakan Gaussian.

1. (b)

Gambar 3.2. Fungsi window klasik (a) dan Gaussian (b)

(51)

i. Bila nilai eigenvalues = 0, maka window “flat”

i. Bila nilai eignvalues < 0, maka window berupa “edge” ii. Bila nilai eigenvalues > 0, maka window berupa “corner”

e. Menentukan banyaknya nilai corner menggunakan persamaan (2.17) sesuai dengan banyaknya nilai threshold yang dimasukkan oleh pengguna.

f. Membuat nilai corner dengan persamaan (2.18) untuk menampung seluruh corner yang telah diseleksi. Lalu hapus seluruh corner yang tidak dibutuhkan.

g. Simpan hasil corner menjadi citra baru dalam bentuk matriks biner.

4. Menentukan nilai banyak unit input, hidden layer, nilai keluaran, angka pembelajaran, epoh maksimal, dan nilai toleransi eror.

5. Menentukan nilai bobot dan bias menggunakan insialisasi faktor skala Nguyen-Widrow (β) dengan definisi persamaan berikut:

= 0.7 ( ) / (3.1)

dimana: n = banyaknya unit input p = banyaknya unit tersembunyi

β = faktor skala

Prosedur penginisialisasian bias dan bobot, baik dari unit masukan ke unit tersembunyi, maupun dari unit tersembunyi ke unit keluaran berada dalam interval -β dan β yang dilakukan secara acak.

6. Melakukan pelatihan data yang telah dimasukkan dengan nilai epoh lebih kecil dari nilai epoh maksimum dan nilai eror lebih besar dari nilai eror toleransi.

(52)

i. Menerima nilai masukan untuk lapisan tersembunyi dengan menjumlahkan nilai masukan terbobot menggunakan persamaan (2.31).

i. Menghitung nilai fungsi aktivasi hitung persamaan (2.32) untuk dikirim ke unit keluaran.

ii. Menghitung nilai jumlah masukan nilai terbobot pada tiap unit keluaran menggunakan persamaan (2.33).

iii. Menghitung nilai fungsi aktivasi persamaan (2.34) untuk dikirm ke BP eror.

b. Setelah lajur maju selesai, selanjutnya dilakukan tahap laju mundur menggunakan backpropagation eror untuk mengecek eror tiap layer dan mengubah nilai parameter masukan pada layer pertama.

i. Menghitung nilai eror yang masuk ke dalam unit keluaran menggunakan persamaan (2.35).

i. Memperbaiki nilai bobot dan bias menggunakan koreksi bobot persamaan (2.36) untuk di kirim ke lapisan tersembunyi.

ii. Menjumlahkan delta input unit tersembunyi dari lapisan yang ada di atasnya menggunakan persamaan (2.37), yang akan dikalikan dengan fungsi aktivasi untuk mendapatkan nilai eror (2.38)

iii. Memperbaiki nilai bias menggunakan (2.39) dan koreksi bias menggunakan koreksi eror (2.26).

c. Memperbaharui nilai bobot dan bias menggunakan persamaan (2.40) dan (2.41) pada tiap-tiap unit lapisan.

(53)

e. Jika nilai epoh lebih kecil dari nilai maksimal epoh dan nilai eror lebih besar dari nilai batas kesalahan, maka menuju langkah (6.a).

7. Memberikan hasil citra yang telah diuji pada pengguna beserta dengan persentase eror yang telah didapatkan.

3.4. Perancangan Sistem

Pada tahap ini akan dilakukan perancangan bagaimana HCD dan BP melakukan pengolahan data untuk melakukan pengenalan citra sehingga memberikan informasi yang diinginkan. Pada tahap ini dilakukan juga perancangan tentang antarmuka sistem yang akan dibangun untuk memudahkan pengguna dalam melakukan operasi dalam sistem.

3.4.1 Use case diagram

Use case diagram merupakan pemodelan untuk interaksi antara pengguna dan sistem

yang akan dibangun (Schneider et al, 2001). Use case mendeskripsikan sebuah interaksi anatara satu atau lebih aktor dengan sistem informasi yang akan dibuat, berikut dengan kebutuhan yang telah dirancang pada sistem tersebut (Shalahuddin, 2011). Gambar 3.3 menggambarkan use case diagram dari sistem yang akan dibuat.

(54)

3.4.2 Use case spesifikasi

Use case spesifikasi melingkupi ilustrasi bagaimana pengguna menggunakan sebuah

sistem dari sudut pandang pengguna dan sangat berguna untuk menjelaskan masalah domain dalam komunikasi antara pengguna dan sistem (Schneider et al, 2001). Use case spesifikasi merupakan deskripsi dari use case diagram untuk setiap use case yang

sudah dirancang sebelumnya, use case spesifikasi menjelaskan bagaimana kerja sebuah use case dalam sebuah sistem. Use case spesifikasi untuk sistem dapat dilihat pada Tabel 3.1, Tabel 3.2, Tabel 3.3, Tabel 3.4, Tabel 3.5 dan Tabel 3.6.

Tabel 3.1 Use Case Spesifikasi untuk Form Utama

Tipe Use Case Penjelasan

Nama use case Form Utama

Aktor Pengguna

Deskripsi Use case ini digunakan oleh pengguna melihat daftar menu sistem.

Pre condition Semua jenis pengguna dapat mengakses use case ini tanpa syarat apapun.

Characteristic of activation Eksekusi dapat dilakukan oleh siapapun.

Basic flow 1. Pengguna menekan tombol Enter tampilan utama yang akan membawa pengguna ke menu Form Utama

2. Tombol Daftar Objek digunakan untuk melihat daftar objek.

3. Tombol Pengujian Image digunakan untuk menguji citra.

4. Tombol Pembelajaran digunakan untuk mengajari sistem.

Alternative flow -

Post condition Pada use case ini pengguna dapat melihat menu sistem yang sudah disediakan.

(55)

Tabel 3.2 Use Case Spesifikasi untuk Use Case Daftar Objek

Tipe Use Case Penjelasan

Nama use case Daftar Objek

Aktor Pengguna

Deskripsi Use case ini digunakan oleh pengguna untuk melihat melihat Daftar Objek.

Pre condition Semua jenis pengguna dapat mengakses use case ini tanpa syarat apapun

Characteristic of activation Eksekusi dapat dilakukan oleh siapapun

Basic flow 1. Pengguna menekan tombol Daftar Objek.

2. Sistem menampilkan daftar objek.

3. Use case ini berakhir ketika sistem telah selesai menampilkan tutorial aplikasi.

Alternative flow -

Post condition Pada use case ini pengguna dapat melihat daftar objek.

Limitations -

Tabel 3.3 Use Case Spesifikasi untuk Use Case Tambah Objek

Tipe Use Case Penjelasan

Nama use case Tambah Objek

Aktor Pengguna

Deskripsi Use case ini digunakan oleh pengguna untuk menambah objek

Pre condition Semua jenis pengguna dapat mengakses use case ini tanpa syarat apapun

Characteristic of activation Eksekusi dapat dilakukan oleh siapapun

Basic flow 1. Pengguna menekan tombol Add di Daftar Objek pada Form Daftar Objek.

2. Pengguna memasukkan nama objek dan detail. 3. Use case ini berakhir ketika pengguna menekan

tombol OK.

Alternative flow -

Post condition Pada use case ini pengguna dapat menambah objek.

(56)

Tabel 3.4 Use Case Spesifikasi untuk Use Case Tambah Citra

Tipe Use Case Penjelasan

Nama use case Tambah Citra

Aktor Pengguna

Deskripsi Use case ini digunakan oleh pengguna untuk menambah citra

Pre condition Semua jenis pengguna dapat mengakses use case ini tanpa syarat apapun

Characteristic of activation Eksekusi dapat dilakukan oleh siapapun

Basic flow 1. Pengguna menekan salah satu objek yang sudah dimasukkan sebelumnya pada Daftar Objek. 2. Sistem akan membawa pengguna ke form

pengisian citra.

3. Jika pengguna menekan tombol ‘+’ maka sistem akan membawa pengguna ke form Tambah Citra.

4. Cari citra yang akan dimasukkan dan tekan OK. 5. Citra yang akan dimasukkan akan diubah ke

dalam bentuk HCD dengan tombol ubah. 6. Citra yang sudah masuk akan dimunculkan

kembali pada form Daftar Citra.

7. Bila pengguna menekan tombol ‘-’ maka sistem akan menghapus citra yang dimasukkan sebelumnya dari form Daftar Citra.

8. Use case ini berakhir bila pengguna selesai mengisi citra sesuai dengan kebutuhan.

Alternative flow -

Post condition Pada use case ini pengguna dapat menabah citra ke dalam sistem.

(57)

Tabel 3.5 Use Case Spesifikasi untuk Use Case Pembelajaran

Tipe Use Case Penjelasan

Nama use case Pembelajaran

Aktor Pengguna

Deskripsi Use case ini digunakan oleh pengguna untuk melakukan pembelajaran pada citra yang sudah dimasukkan sebelumnya.

Pre condition Semua jenis pengguna dapat mengakses use case ini tanpa syarat apapun.

Characteristic of activation Eksekusi dapat dilakukan oleh siapapun

Basic flow 1. Pengguna menekan menu Pembelajaran pada Form Utama.

2. Sistem menampilkan kotak dialog yang akan diisi oleh pengguna secara lengkap.

3. Tekan tombol inisialisasi H-1: Form belum terisi dengan sempurna.

4. Sistem akan melakukan inisialisasi nilai awal dari BP yang akan diolah sesuai dengan informasi yang dimasukkan oleh pengguna. 5. Pengguna menekan tombol Pembelajaran agar

sistem belajar mengolah citra yang sudah dimasukkan oleh pengguna sebelumnya.

6. Sistem akan memberikan eror minimal yang didapatkan berdasarkan jumlah epoh maksimal. 7. Sistem akan membuka kembali tampilan Daftar

Objek dan pengguna menekan tombol Compare. 8. Muncul tampilan perbandingan eror citra yang

sudah diuji sebelumnya.

9. Use case berakhir bila sistem sudah menemukan eror minimal.

Alternative flow H-1: Form belum terisi dengan sempurna

Sistem memberikan pesan bahwa form pengisian belum terisi dengan sempurna oleh pengguna. Post condition Pada use case ini pengguna dapat melakukan

pembelajaran citra.

(58)

Tabel 3.6 Use Case Spesifikasi untuk Use Case Pengujian Citra

Tipe Use Case Penjelasan

Nama use case Pembelajaran

Aktor Pengguna

Deskripsi Use case ini digunakan oleh pengguna untuk melakukan pengujian dan pencarian citra.

Pre condition Semua jenis pengguna dapat mengakses use case ini tanpa syarat apapun.

Characteristic of activation Eksekusi dapat dilakukan oleh siapapun

Basic flow 1. Pengguna menekan menu Pengujian Citra pada untuk mengubah citra ke dalam bentuk HCD. 4. Sistem akan memunculkan kotak dialog hasil

eksekusi HCD.

5. Pengguna menekan tombol lakukan pengujian. 6. Sistem akan memberikan hasil dari pencarian

citra dan informasi yang didapatkan.

7. Use case berakhir bila sistem sudah

(59)

Gambar 3.4 Diagram Aktivitas untuk Melihat Daftar Objek

Pada Gambar 3.4 jika pengguna ingin melihat seluruh citra yang sudah diuji sebelumnya, pengguna dapat memilih menu lihat daftar objek kemudian sistem akan menampilkan semua objek yang ada di dalam database. Jika pengguna ingin menambah ataupun menghapus objek dan informasi yang terdapat pada salah satu citra, pengguna dapat mengelik salah satu objek dan menekan tombol Add untuk menambah dan Delete untuk menghapus, seperti yang ditunjukkan pada Gambar 3.5.

(60)

Pada Gambar 3.6 pengguna dapat menambah galeri citra dalam database untuk menambah nilai pembelajaran pada sistem. Pengguna memilih salah satu dari objek yang sudah disediakan sebelumnya lalu memasukkan citra atau menghapus citra menggunakan tombol ‘+’ untuk menambah citra atau ‘-’ untuk menghapus citra.

Gambar 3.6 Diagram Aktivitas Tambah Galeri

(61)

Gambar 3.7 Diagram Aktivitas untuk Pembelajaran

(62)

harris untuk mengeksekusi citra dalam bentuk HCD. Sistem akan memberikan hasilnya dalam dua bentuk citra berbeda. Pengguna kemudian menekan tombol pengujian agar sistem dapat memberikan hasil dan informasi dari citra yang diuji.

Gambar 3.8 Diagram Aktivitas untuk Pengujian Citra

3.4.4 Diagram aliran data

(63)

DFD dapat digunakan untuk merepresentasikan sebuah sistem atau perangkat lunak pada beberapa level abstraksi. DFD dapat dibagi menjadi beberapa level untuk mrepresentasikan aliran informasi atau fungsi yang lebih detail. DFD menyediakan mekanisme untuk pemodelan fungsional ataupun pemodelan aliran informasi. Oleh karena itu, DFD lebih sesuai digunakan untuk memodelkan fungsi-fungsi perangkat lunak yang akan diimplementasikan menggunakan pemrograman terstruktur karena pemrograman terstruktur membagi-bagi bagiannya dengan fungsi-fungsi dan prosedur-prosedur.

DFD level 0 menggambarkan sistem yang akan dibuat sebagai suatu entitas tunggal yang berintraksi dengan aktor maupun sistem lain. DFD level 0 digunakan untuk menggambarkan ineraksi antara sistem yang akan dikembangkan dengan entitas luar. Gambar DFD level 0 yang akan dibangun dapat dilihat pada Gambar 3.10.

Gambar 3.10 DFD Level 0 Sistem Pengenalan Pola Citra Menggunakan HCD & BP

Pada Gambar 3.10. DFD level 0 hanya memiliki satu aktor yang akan melakukan operasi pada sistem, yaitu pengguna. Aktor pengguna memiliki aktivitas input (input), yaitu citra asli dan parameter pengujian citra pembelajaran dan memiliki

(64)

DFD level 1 digunakan untuk menggambarkan modul-modul yang dalam sistem yang akan dikembangkan. DFD level 1 merupakan hasil pengembangan dari DFD level 0 yang sebelumnya dibuat. Gambar DFD level 1 dari sistem yang akan dibangun dapat dilihat pada Gambar 3.11.

Gambar 3.11 DFD Level 1 Sistem Pengenalan Pola

3.4.5. Model entity-relationship

(65)

Gambar 3.12 Model E-R

3.4.6. Perancangan menu sistem

Rancangan menu sistem dapat digunakan untuk melihat struktur menu yang terdapat pada sistem yang akan dibangun. Rancangan menu sistem yang akan dibangun dapat dilihat pada Gambar 3.15.

Gambar 3.13 Struktur Menu Sistem

3.4.7. Perancangan antarmuka

Perancangan antarmuka berisi gambaran umum tentang perancangan setiap tampilan yang terdapat pada aplikasi yang dibangun.

3.4.7.1. Rancangan tampilan awal dan halaman utama

(66)

Gambar 3.14 Rancangan Halaman Tampilan Awal

Pada halaman utama terdapat menu-menu utama untuk berpindah ke halaman lainnya. Rancangan tampilan halaman utama dapat dilihat pada Gambar 3.15.

Gambar 3.15 Rancangan Halaman Utama

Keterangan:

a. Menu “Daftar Objek” memungkinkan pengguna untuk melihat daftar objek yang sudah dimasukkan sebelumnya.

b. Menu “Pembelajaran” memungkinkan pengguna untuk melakukan pembelajaran sistem.

c. Menu “Pengujian Image” memungkinkan pengguna untuk melakukan pengujian atau pencarian citra.

Gambar

Gambar 2.17 Representasi  Eigenvalues Corner
Gambar 2.19 Struktur Jaringan Saraf Tiruan (Muis, 2009)
Gambar 2.21 Jaringan Lapisan Tunggal (Single Layer Net) (Hermawan, 2006)
Gambar 2.22 Jaringan Saraf Multilapis (Multilayer Net) (Hermawan, 2006)
+7

Referensi

Dokumen terkait

Studi Interaksi Obat Kemoterapi dengan Obat Penunjangnya pada Protokol Kemoterapi Kanker Anak di Rumah Sakit Kanker Dharmais.. Indonesian Journal

Write a function called count_values that takes a single dictionary as an argument and returns the number of dis- tinct values it contains. After doing a series of experiments, you

Larutan kitosan telah memiliki aktivitas antioksidan, mekanisme yang terbentuk yaitu adanya pengikatan radikal bebas oleh kitosan, gugus radikal OH + dari proses

Temuan penelitian menunjukkan bahwa perilaku ibu dalam memeriksakan kesehatan gigi dan mulut anak usia 6-12 tahun dengan kategori kurang baik lebih banyak terdapat

Setelah usulan/proposal dapat diterima Pihak Ketiga dan Pihak Ketiga menyerahkan objek hibah yang dimohonkan, maka SOPD/Unit Kerja yang membidangi langsung objek hibah

Since the 60% and 40% win options were presented to participants both in the context of a better and a worse alternative option, we additionally examined the effect of this

More precisely, the claim that all actions are cognitively repre- sented and selected in terms of their effects (e.g., Hommel et al., 2001 ) and the findings that action knowledge

If we map public locations to reliable locations and confined locations as unreliable, then the framework developed in Section 2 fits our requirements for such a definition; the