Implementasi Neural Network Menggunakan HU Invariant Moment Untuk Mengenali Objek Tersebar

IMPLEMENTASI NEURAL NETWORK MENGGUNAKAN
HU INVARIANT MOMENT UNTUK MENGENALI
OBJEK TERSEBAR

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

RESTU SUHENDAR
10110014

PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS KOMPUTER INDONESIA
2014

BIODATA PENULIS
Nama Lengkap
NIM
Jenis Kelamin
Tempat,tanggal lahir

Agama
Alamat
No Telp
Email

Restu Suhendar
10110014
Laki – laki
Garut, 10 Juni 1991
Islam
Jln. Perkebunan Cisaruni RT 02 RW 03 Giriawas
Cikajang Garut
08987711838
restu.suhendar@gmail.com

PENDIDIKAN FORMAL
1998 - 2004
2004 - 2007
2007 - 2010
2010 - 2014


SDN GIRIAWAS 1
SMPN 1 CIKAJANG
SMAN 4 GARUT
UNIVERSITAS KOMPUTER INDONESIA

PENGALAMAN BERORGANISASI
2010 – 2014

SAUNG BUDAYA UNIKOM

DAFTAR ISI
ABSTRAK ............................................................................................................... i
ABSTRACT ............................................................................................................ ii
KATA PENGANTAR ........................................................................................... iii
DAFTAR ISI ........................................................................................................... v
DAFTAR GAMBAR ........................................................................................... viii
DAFTAR TABEL ................................................................................................... x
DAFTAR SIMBOL............................................................................................... xv
DAFTAR LAMPIRAN ...................................................................................... xviii

BAB 1

PENDAHULUAN .................................................................................. 1

1.1.

Latar Belakang Masalah ......................................................................... 1

1.2.

Rumusan Masalah .................................................................................. 2

1.3.

Maksud dan Tujuan ................................................................................ 2

1.4.

Batasan Masalah ..................................................................................... 3


1.5.

Metodologi Penelitian ............................................................................ 3

1.5.1.

Metode Pengumpulan Data .................................................................... 3

1.5.2.

Metode Pembangunan Perangkat Lunak ................................................ 4

1.6.

Sistematika Penulisan ............................................................................. 5

BAB 2

LANDASAN TEORI ............................................................................. 7


2.1.

Citra Digital ............................................................................................ 7

2.2.

Pengolahan Citra .................................................................................... 7

2.3.

Pengenalan Pola ...................................................................................... 7

2.4.

Computer Vision .................................................................................... 8

2.5.

Model Warna Pada Citra ........................................................................ 8


2.5.1.

Citra RGB ............................................................................................... 9

2.5.2.

Citra Keabuan ......................................................................................... 9

2.5.3.

Citra Biner ............................................................................................ 10

2.6.

Neighborhood Filtering (Convolution)................................................. 11

2.7.

Penghalusan Citra (Smoothing) ............................................................ 12


2.8.

Deteksi Tepi (Canny)............................................................................ 14

2.9.

Corner Detection (Harris) ..................................................................... 16

v

2.10.

Hu Invarian Moments ........................................................................... 16

2.11.

Neural Network .................................................................................... 17

2.12.


Backpropagation ................................................................................... 18

2.13.

C / C++ ................................................................................................. 20

2.14.

K-Fold Cross Validation ....................................................................... 21

2.15.

Confusion Matrix.................................................................................. 21

BAB 3

ANALISIS DAN KEBUTUHAN ALGORITMA ............................... 23

3.1.


Analisis Masalah .................................................................................. 23

3.2.

Analisis Sistem ..................................................................................... 23

3.2.1.

Preprosesing ......................................................................................... 24

3.2.2.

Perhitungan Hu Invariant Moments ..................................................... 25

3.2.3.

Pembelajaran ........................................................................................ 26

3.2.4.


Pengenalan ............................................................................................ 27

3.3.

Analisis Data Masukan ......................................................................... 28

3.4.

Analisis Metode / Algoritma ................................................................ 34

3.4.1.

Perhitungan Invarian Moment Hu ........................................................ 36

3.4.2.

Normalisasi Data Input ......................................................................... 43

3.4.3.


Pembentukan Target Output ................................................................. 44

3.4.4.

Arsitektur Neural Network ................................................................... 44

3.4.5.

Proses Pembelajaran Neural Network .................................................. 45

3.5.

Analisis Kebutuhan Perangkat Lunak .................................................. 56

3.5.1.

Analisis Kebutuhan Non Fungsional .................................................... 56

3.5.1.1.

Kebutuhan Perangkat Lunak ................................................................ 56

3.5.2.

Analisis Kebutuhan Fungsional ............................................................ 57

3.5.2.1.

Identifikasi Aktor .................................................................................. 57

3.5.2.2.

Diagram Use Case ................................................................................ 57

3.5.2.3.

Skenario Use Case ................................................................................ 57

3.5.2.4.

Activity diagram ................................................................................... 57

3.5.2.5.

Sequence diagram ................................................................................. 58

3.5.2.6.

Class Diagram ...................................................................................... 58

3.5.2.7.

Package Diagram .................................................................................. 58

3.5.2.8.

Deployment Diagram ........................................................................... 58

vi

3.6.

Perancangan Sistem .............................................................................. 58

3.6.1.

Perancangan Antar Muka ..................................................................... 59

3.6.1.1.

Perancangan Form ................................................................................ 59

3.6.1.2.

Perancangan Pesan ............................................................................... 60

3.6.2.

Jaringan Semantik ................................................................................ 62

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM ................................ 63

4.1.

Implementasi Perangkat Lunak ............................................................ 63

4.2.

Spesifikasi Implementasi Perangkat Lunak .......................................... 63

4.3.

Kriteria Pengujian dan Analisis Pengujian ........................................... 63

4.3.1.

Kriteria data latih dan data uji .............................................................. 64

4.3.2.

Pembagian data latih dan data uji ......................................................... 64

4.3.3.

Pelatihan ............................................................................................... 65

4.4.

Pengujian Akurasi Sistem..................................................................... 65

4.4.1.

Pengujian berdasarkan arsitektur neural network ................................. 65

4.4.2.

Pengujian berdasarkan learning rate dan momentum ........................... 70

BAB 5

KESIMPULAN DAN SARAN ............................................................ 83

5.1.

Kesimpulan ........................................................................................... 83

5.2.

Saran ..................................................................................................... 83

Daftar Pustaka ....................................................................................................... 85

vii

Daftar Pustaka
[1] K. Gurney, An Introduction to Neural Networks, London: CRC Press, 2003.
[2] A.

Khotanzad

dan

J.-h.

Lu,

“Classification

of

Invariant

Image

Representations,” IEEE Trans. on Acoustics, Speech, and Signal Processing,
vol. 38, 1990.
[3] R. Munir, Pengolahan Citra Digital, Departemen Teknik Informatika ITB,
2002.
[4] R. Szeliski, Computer Vision: Algorithms and Applications, New York:
Springer, 2010.
[5] A. Camurri dan G. Volpe, Gesture-Based Communication in HumanComputer Interaction, New York: Springer, 2004.
[6] R. C. Gonzalez dan R. E. Woods, Digital Image Processing Third Edition, New
Jersey: Pearce Prenctice Hall, 2008.
[7] T. M. Mitchell, Machine Learning, Singapore: McGraw-Hill, 1997.
[8] J. Han dan M. Kamber, Data Mining: Concepts and Techniques, San Fransisco:
Morgan Kaufmann Publishers, 2001.
[9] R. S. Pressman, Software Engineering : A Practitioner’s Approach. Fifth
Edition, New York: Mc Graw-Hill International Edition, 2002.

85

KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Allah SWT karena berkat rahmat dan
karunia-Nya, penulis dapat menyelesaikan skripsi yang berjudul “Implementasi
Neural Network Menggunakan Hu Invariant Moment Untuk Mengenali Objek
Tersebar”.
Skripsi ini disusun dengan maksud untuk memenuhi syarat kelulusan ujian
akhir Sarjana Program Strata Satu Program Studi Teknik Informati Fakultas Teknik
dan Ilmu Komputer Universitas Komputer Indonesia.
Pada proses penyusunan skripsi ini, penulis mendapat banyak bantuan,
dorongan, bimbingan, dan arahan serta dukungan yang sangat berarti dari berbagai
pihak, oleh karena itu, penulis ingin mengucapkan terima kasih yang sebesarbesarnya kepada :
1. Keluarga tercinta khususnya Ayah saya Mamat Ruchimat, Ibu saya
Mintarsih, Bapak Ojon, kakak-kakak saya Yuli Noor Fitriani, Indra
Hendiana, Wawan Setiawan, keponakan saya Naira Larasati dan Cakra yang
sangat saya cintai dan saya hormati yang telah memberikan kasih sayang, doa
dan motivasi yang sangat besar untuk menempuh tugas akhir.
2. Ibu Nelly Indriani W, S.Si., M. T. selaku pembimbing dan dosen wali kelas
IF-1 angkatan 2010, atas bimbingan, arahan, serta sarannya yang sangat
membantu dalam pembuatan tugas akhir.
3. Bapak Galih Hermawan, S. Kom., M. T. selaku reviewer/penguji atas
sarannya yang sangat membantu dalam penyempurnaan tugas akhir ini.
4. Ibu Dian Dharmayanti, S.T., selaku penguji atas sarannya yang sangat
membantu dalam penyempurnaan tugas akhir ini.
5. Sahabat terbaik Putri, Nunik, Ricky, Rahman, Aulia, Gilang, Yazid, Rhendy,
Taufik, Asep, Santo, Iip, Vaskal, Yopi, Yusan, Arie, Fakhrian, Elsa, Hari,
Teguh, Mae, Bella, Anita, Imran dan semua teman-temanku di Organisasi
SADAYA dan kelas IF-1 angkatan 2010 yang tidak bisa disebutkan satupersatu, atas perhatian, dukungan, dorongan, dan bantuan yang telah
diberikan.

iii

6. Seluruh dosen yang telah memberikan ilmunya dan staff UNIKOM yang telah
membantu
7. Seluruh pihak yang membantu penulis dalam menyelesaikan skripsi ini.

Penulis menyadari bahwa skripsi ini jauh dari sempurna, karena keterbatasan
kemampuan, pengetahuan, dan pengalaman penulis, oleh karena itu penulis
mengharapkan saran dan kritik yang membangun yang diharapkan sebagai bahan
perbaikan di masa yang akan dating.
Penulis juga berharap semoga kelak skripsi ini dapat bermanfaat bagi para
pembaca dan dapat dijadikan pertimbangan bagi pihak-pihak yang berkepentingan,
Amin.

Bandung, …………. 2014

Penulis

iv

BAB 1
PENDAHULUAN

1.1.

Latar Belakang Masalah
Pengenalan objek bertujuan menentukan kelompok atau kategori objek

berdasarkan ciri-ciri yang dimiliki oleh suatu pola objek. Dengan kata lain,
pengenalan objek membedakan suatu objek dengan objek lain. Pendekatan
pengenalan objek dalam computer vision telah banyak diimplementasikan terhadap
berbagai bidang, seperti pengenalan wajah, pengenalan citra karakter atau biasa
disebut dengan optical character recognition (OCR), bidang kelimuan robotika
(seperti robot yang dapat menembak objek tertentu secara otomatis) dan lain
sebagainya. Objek yang akan dikenali dapat berupa objek tersebar, seperti objek
yang memiliki bentuk dan posisi yang berbeda–beda, selain itu objek tersebar
dalam sebuah citra digital memungkinkan memiliki beragam perbedaan translasi
(translation), mempunyai beragam perbedaan rotasi (rotation), serta penskalaan
citra (scaling).
Neural network backpropagation dapat menjadi solusi permasalahan
tersebut, karena Neural network backpropagation merupakan salah satu Algoritma
Machine Learning yang dapat mengenal pola dan mengidentifikasi suatu objek citra
berdasarkan pelatihan yang diberikan. Neural network backpropagation adalah
jaringan dari sekelompok pemproses elemen, unit atau node-node yang dimodelkan
berdasarkan neuron otak [1]. Kemampuan pemproses disimpan di dalam kekuatan
koneksi antar neuron atau bobot (weights), kemampuan tersebut diperoleh dari
proses “adaptasi terhadap” atau “belajar dari” suatu set pola pelatihan [1].
Implementasi neural network backpropagation memungkinkan mengenal
banyak objek citra dalam satu arsitektur neural network. Akan tetapi implementasi
neural network backpropagation ketika digunakan untuk citra yang memiliki
beragam translasi, rotasi dan penskalaan citra tanpa dimanipulasi terlebih dahulu,
memungkinkan terjadinya proses pembelajaran yang memerlukan jumlah sampel
yang cukup banyak.

1

2

Algoritma yang memungkinkan menjadi solusi dari beragam translasi,
rotasi dan penskalaan objek dalam citra digital adalah Hu Invariant Moments [2].
Algoritma ini pertama kali dipublikasikan oleh Hu pada tahun 1961 [2]. Hu
Invariant Moments merupakan perangkat popular untuk mendeskripsikan ciri
geometri pada sistem indentifikasi objek dan pengenalan karakter. Nilai-nilai yang
dihasilkan dari Hu Invariant Moments ini terdiri dari tujuh nilai yang
menidentifikasikan ciri dari sebuah objek citra digital. Nilai-nilai tersebut bersifat
independen terhadap translasi, rotasi dan penskalaan. Hal ini dapat dimanfaatkan
sebagai masukan dari Machine Learning guna mengenali suatu objek.
Berdasarkan uraian pada latar belakang masalah, tujuan dari tugas akhir ini
yaitu, melakukan implementasi salah satu Machine Learning yaitu Neural Network
Backpropagation dengan menggabungkan metode Invarian Moment Hu sebagai
masukan machine learning guna mengenali dan mengklasifikasi objek-objek pada
citra digital dua dimensi. Penelitian sebagai topik untuk tugas akhir ini mengangkat
judul “IMPLEMENTASI NEURAL NETWORK MENGGUNAKAN HU
INVARIANT MOMENT UNTUK MENGENALI OBJEK TERSEBAR”.

1.2.

Rumusan Masalah
Berdasarkan latar belakang, identifikasi masalah dalam penulisan penelitian

ini adalah bagaimana mengenali objek yang tersebar acak dan memiliki beragam
translasi, rotasi dan penskalaan citra dengan data masukan pembelajaran yang
seminimal mungkin.

1.3.

Maksud dan Tujuan
Maksud dari penulisan tugas akhir ini yaitu, melakukan implementasi salah

satu machine learning yakni neural network backpropagation dengan bantuan
invarian moment hu yang independen terhadap translasi, rotasi dan penskalaan citra
guna mengenali dan mengklasifikasi objek citra tersebar.
Sedangkan tujuan yang ingin dicapai adalah mengetahui hasil akurasi
penggabungan neural network dan invarian moment hu pada pengenalan objek
tersebar.

3

1.4.

Batasan Masalah
Batasan masalah yang diterapkan dalam implementasi neural network

menggunakan hu invariant moment untuk mengenali objek tersebar ini antara lain:
a. Sistem yang dibangun berbasis desktop.
b. Input citra berupa citra tidak bergerak.
c. Objek yang akan dikenali hanya objek yang memiliki ciri empat sudut
(persegi / kotak).
d. Objek memiliki warna pinggiran yang kontras dari latar belakangnya.
e. Objek dalam citra tidak bertumpuk dan tidak terpotong.
f. Dalam implementasi sistem harus menggunakan kamera (webcam)
miniman 3 Mega Pixel (disarankan 5 Mega Pixel atau di atasnya).

1.5.

Metodologi Penelitian
Metodologi penelitian yang digunakan dalam implementasi Neural Network

Menggunakan Hu Invariant Moment Untuk Mengenali Objek Tersebar ini adalah
metode deskriptif. Metode deskriptif merupakan metode yang menggambarkan
fakta-fakta dan informasi dalam situasi atau kejadian dimana sekarang secara
sistematis, faktual dan akurat. Metode penelitian ini memiliki dua tahapan, yaitu
tahap pengumpulan data dan tahap pengumpulan perangkat lunak. meliputi
beberapa proses diantaranya :

1.5.1. Metode Pengumpulan Data
Metode pengumpulan data yang digunakan dalam penelitian ini adalah studi
literatur, yaitu pengumpulan data yang bersumber dari buku, jurnal, paper dan situs
internet untuk dijadikan referensi penulisan dan penelitian.

4

1.5.2. Metode Pembangunan Perangkat Lunak
Dalam membangun sistem ini, digunakan metode pengembangan perangkat
lunak dengan menggunakan metode waterfall sebagai berikut :

System/information
engineering
Analysis

Design

Code

Test

Gambar 1.1 Waterfall model [9]

a. System / Information engineering and modeling.
Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem
yang akan dianalisis ke dalam bentuk software. Kebutuhan tersebut terdiri dari
pemilihan bahasa pemprograman, pemilihan framework, materi-materi algoritma
dasar Neural Network, Hu Invarian Moment, penghalusan citra dan pendeteksian
kotak ( deteksi tepi Canny dan deteksi corner Harris ), selain itu mencari kebutuhan
yang akan digunakan sebagai bahan uji analisis yakni pengambilan citra objekobjek tersebar. Hal ini sangat penting, mengingat software harus dapat dimodelkan,
diimplementasikan dan diuji untuk mengetahui akurasi algoritma yang dianalisis.

b. Software Requirements Analysis.
Proses pencarian kebutuhan diintensifkan dan difokuskan pada software.
Untuk mengetahui sifat dari program yang akan dibuat, maka diperlukan
pemahaman tentang domain informasi dari software, misalnya fungsi yang
dibutuhkan, metode yang dibutuhkan, user interface, dsb. Proses ini mengacu pada
aktivitas sebelumnya (System / Information engineering and modeling) kemudian
didokumentasikan.

5

c. Design
Proses ini digunakan untuk mengubah kebutuhan-kebutuhan berdasarkan
kedua proses sebelumnya menjadi representasi ke dalam bentuk “blueprint”
software sebelum coding dimulai. Proses desain membantu mengimplementasikan
kebutuhan-kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti
aktivitas sebelumnya, maka proses ini juga didokumentasikan sebagai konfigurasi
dari software.

d. Code Generation
Proses ini bertujuan untuk mengubah hasil design hingga dapat dimengerti
oleh mesin. Mesin dalam hal ini adalah komputer. Bentuk yang dimaksud yakni ke
dalam bentuk bahasa pemrograman melalui proses coding. Tahap ini merupakan
implementasi dari tahap design secara teknis.

e. Testing.
Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari
error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah
didefinisikan sebelumnya sehingga implementasi algoritma dalam software dapat
dianalisis.

1.6.

Sistematika Penulisan
Sistematika penulisan tugas akhir ini disusun untuk memberikan gambaran

secara umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir
ini adalah sebagai berikut :

BAB 1 PENDAHULUAN
Bab ini akan membahas mengenai latar belakang masalah, perumusan
masalah, maksud dan tujuan, batasan masalah, metodologi penelitian yang
digunakan, serta sistematika penulisan.

6

BAB 2 LANDASAN TEORI
Bab ini berisikan berbagai konsep dasar dan teori-teori yang berkaitan
dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses
analisis permasalahan. Teori-teori yang berkaitan dimulai dari konsep dasar cintra
digital, pengolahan citra, pengenalan pola, computer vision dan model-model
warna. Berlanjut pada konsep yang dipilih sebagai metode preprosessing citra
diantaranya convolution, gaussian, penghalusan citra (smoothing) menggunakan
kernel gaussian, algoritma canny untuk deteksi tepi dan algoritma harris untuk
deteksi corner. Berlanjut pada konsep yang dipilih sebagai metode pengenalan
objek dalam citra yakni Neural Network Backpropagation dan Invarian Moment
Hu. Pembahasan teknologi yang digunakan yakni Compiler GCC dengan MingW
juga pemakaian framework QT untuk pembuatan UI, framework OpenCV yang
digunakan sebagai pengambilan data citra dan QT Creator yang digunakan sebagai UI
editor dan code editor C++. Terakhir pembahasan tools untuk memodelkan sistem
yakni UML.

BAB 3 ANALISIS DAN KEBUTUHAN ALGORITMA
Bab ini berisi analisis masalah serta menjelaskan keputusan pemecahan
persoalan yang ada. Didalamnya berisi analisis masalah, analisis masalah sistem,
analisis data masukan, analisis metode algoritma, analisis kebutuhan perangkat
lunak baik itu kebutuhan non fungsional maupun fungsional.

Pembahasan

pemodelan sistem menggunakan UML dengan mamakai use case, activity diagram,
sequence diagram, class diagram.

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini berisi hasil implementasi dari hasil analisis dan perancangan yang
telah dibuat disertai juga dengan hasil pengujian dalam hal ini keakurasian dari
implementasi aplikasi.

BAB 5 KESIMPULAN DAN SARAN
Bab ini akan dijelaskan mengenai kesimpulan terhadap hasil penelitian
berikut saran-saran

BAB 2
LANDASAN TEORI

2.1. Citra Digital
Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua
dimensi) [3]. Ditinjau dari sudut pandang matematis, citra merupakan fungsi
menerus (continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya
menerangi objek kemudian objek memantulkan kembali sebagian dari berkas
cahaya tersebut. Pantulan cahaya ini ditangkap oleh alat-alat optik, misalnya mata
pada manusia, kamera, pemindai (scanner), dan sebagainya. Sehingga bayangan
objek yang disebut citra tersebut terekam.

2.2. Pengolahan Citra
Pengolahan citra (image processing) adalah pemrosesan citra, khususnya
dengan menggunakan komputer, menjadi citra yang kualitasnya lebih baik [3].
Pengolahan citra ini sangat diperlukan karena walaupun citra sangat kaya dengan
informasi, namun seringkali citra mengalami penurunan mutu (degradasi),
misalnya mengandung cacat atau derau (noise), warnanya terlalu kontras, kurang
tajam, kabur (blurring), dan sebagainya. Tentu saja citra semacam ini menjadi lebih
sulit diinterpretasi karena informasi yang disampaikan oleh citra tersebut menjadi
berkurang.

Citra

Pengolahan Citra

Citra

Gambar 2.1 Pengolahan citra

2.3. Pengenalan Pola
Pengenalan pola merupakan kegiatan mengelompokkan data numerik dan
simbolik (termasuk citra) secara otomatis oleh mesin (dalam hal ini komputer) [3].
Tujuan pengelompokan adalah untuk mengenali suatu objek di dalam citra.

7

8

Manusia bisa mengenali objek yang dilihatnya karena otak manusia telah belajar
mengklasifikasi objek-objek di sekitarnya sehingga mampu membedakan suatu
objek dengan objek lainnya. Kemampuan sistem visual manusia inilah yang dicoba
ditiru oleh mesin. Komputer menerima masukan berupa citra objek yang akan
diidentifikasi, memproses citra tersebut, dan memberikan keluaran berupa deskripsi
objek di dalam citra.

Citra

Pengenalan Pola

Deskripsi Objek

Gambar 2.2 Pengolahan citra

2.4. Computer Vision
Computer vision merupakan proses otomatis yang mengintegrasikan
sejumlah besar proses untuk persepsi visual, seperti akuisisi citra, pengolahan citra,
klasifikasi, pengenalan (recognition), dan membuat keputusan [3]. Pada
hakikatnya, computer vision mencoba meniru cara kerja sistem visual manusia
(human vision). Human vision sesungguhnya sangat kompleks. Manusia melihat
objek dengan indera penglihatan (mata), lalu citra objek diteruskan ke otak untuk
diinterpretasi sehingga manusia mengerti objek apa yang tampak dalam pandangan
matanya. Hasil interpretasi ini mungkin digunakan untuk pengambilan keputusan
(misalnya menghindar kalau melihat mobil melaju di depan).
Pengolahan citra merupakan proses awal (preprocessing) pada computer
vision, sedangkan pengenalan pola merupakan proses untuk menginterpretasi citra.
Teknik-teknik di dalam pengenalan pola memainkan peranan penting dalam
computer vision untuk mengenali objek.

2.5. Model Warna Pada Citra
Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap
panjang gelombang cahaya yang dipantulkan oleh objek [3]. Setiap warna
mempunyai panjang gelombang (l) yang berbeda. Warna merah mempunyai

9

panjang gelombang paling tinggi, sedangkan warna ungu (violet) mempunyai
panjang gelombang paling rendah.
Warna-warna yang diterima oleh mata (sistem visual manusia) merupakan
hasil kombinasi cahaya dengan panjang gelombang berbeda. Penelitian
memperlihatkan bahwa kombinasi warna yang memberikan rentang warna yang
paling lebar adalah red (R), green (G), dan blue (B).
Dalam pembentukan citra digital model warna yang umum digunakan
antara lain sebagai berikut :

2.5.1. Citra RGB
Citra RGB, yang biasa disebut juga citra “true color”, disimpan dalam citra
berukuran

×

×

yang mendefinisikan warna merah (red), hijau (green),

dan warna biru (blue) untuk setiap pikselnya. Warna pada tiap piksel ditentukan
berdasarkan kombinasi dari warna red, green dan blue (RGB). RGB merupakan
citra 24 bit dengan komponen merah, hijau, biru yang masing-masing umumnya
bernilai 8 bit sehingga intensitas kecerahan warna sampai 256 level dan kombinasi
warnanya kurang lebih sekitar 16 juta warna sehingga disebut “true color”.

2.5.2. Citra Keabuan
Citra dengan derajat keabuan berbeda dengan citra RGB, citra ini
didefinisikan oleh satu nilai derajat warna. Umumnya bernilai 8 bit sehingga
intensitas kecerahan warna sampai 256 level dan kombinasi warnanya 256 varian.
Tingkat kecerahan paling rendah yaitu 0 untuk warna hitam dan putih bernilai 255.
Untuk mengkonfersikan citra yang memiliki warna RGB ke derajat keabuan
bisa menggunakan :

atau

� =

+ +�

� = .

( 2.1 )



+ .



+ .



( 2.2 )

10

2.5.3. Citra Biner
Citra biner merupakan citra yang didefinisikan oleh dua level warna yakni
hitam dan putih atau 0 (false) dan 1 (true). Untuk mengkonfersi citra yang memiliki
warna keabuan ke warna biner bisa menggunakan proses binary thresholding.
Secara sederhana, binary thresholding digunakan untuk menghilangkan informasi
citra yang memiliki derajat keabuan dibawah threshold yang ditentukan. Binary
thresholding dibagi menjadi dua tipe, yaitu :
a. Threshold Binary
Operasi ini dapat diekspesikan sebagai berikut :
,

={

,
,

Sehingga jika nilai pixel

,
,

>�
≤�
,

( 2.3 )
lebih besar dari nilai threshold, pixel baru

diinisialisasi dengan nilai 1. Sedangkan untuk nilai lainnya diinisialisasi dengan
nilai 0.

Gambar 2.3 Threshold binary
b. Threshold Binary, Inverted
Operasi ini dapat diekspesikan sebagai berikut :
,

={

,
,

Sehingga jika nilai pixel

,
,

,

>�
≤�

( 2.4 )

lebih besar dari nilai threshold, pixel baru

diinisialisasi dengan nilai 0. Sedangkan untuk nilai lainnya diinisialisasi dengan
nilai 1.

Gambar 2.4 Threshold binary inverted

11

2.6. Neighborhood Filtering (Convolution)
Convolution merupakan proses dimana citra dimanipulasi dengan
menggunakan eksternal mask atau kernel untuk menghasilkan citra yang baru
berdasarkan neighborhood operator atau local operator. Convolution digunakan
untuk local tone adjustment, bluring, mempertajam detail, menonjolkan tepi atau
menghilangkan noise [4]. Dalam citra yang memiliki fungsi dua dimensi, operasi
convolution didefinisikan sebagai berikut :
,

= ∑

+ , +

,

Fungsi penapis

∙ℎ

,

ℎ disebut juga

( 2.5 )

convolution filter, convolution mask,

convolution kernel. Ilustrasi convolution ditunjukan pada Gambar 2.5.

Gambar 2.5 Ilustrasi convolution
f ,

Sehingga convolution untuk f ,

=



+





+�∙

+



dapat didefinisikan sebagai berikut :
+



+



+



+



+

Operasi convolution dilakukan dengan menggeser kernel convolution pixel
per pixel. Hasil convolution disimpan di dalam matriks yang baru.

Gambar 2.6 Ilustrasi nilai hasil operasi convolusi

12

2.7. Penghalusan Citra (Smoothing)
Penghalusan citra (Smoothing) merupakan prosses untuk meminimalisir
noise atau mengaburkan citra. Dalam penghalusan citra operasi sederhana yang
dapat digunakan adalah average atau rata-rata. Citra yang akan diperhalus diconvolution dengan kernel h (m x n). Dimana kernel h dapat didefinisikan, sebagai
berikut :
ℎ= [



]∙

Hasil dari penghalusan dengan rata-rata ini dapat di lihat pada Gambar 2.7.

Gambar 2.7 Smoothing lena dengan average

Kernel lain yang dapat digunakan adalah kernel gaussian. Kernel gaussian
dinilai baik dalam penghalusan citra karena mementingkan pixel ketentanggan
terdekat. Fungsi gaussian dapat didefinisikan sebagai berikut :

,

Dimana

=

√ ��

√ ��



+


( 2.6 )

merupakan koefisien normalisasi pada fungsi gaussian.

Gambar 2.8 Menunjukan grafik dari fungsi gaussian.

13

Gambar 2.8 Grafik kernel gaussian

Hasil penghalusan dengan kernel gaussian ini dapat dilihat pada Gambar
2.9.

Gambar 2.9 Smoothing lena dengan kernel gaussian

14

2.8. Deteksi Tepi (Canny)
Canny merupakan algoritma pendeteksi tepi yang banyak digunakan dan
dianggap mempunyai kemampuan deteksi tepi yang baik karena bisa mencari dan
menandai semua tepi selain itu mementingkan tepi yang dianggap nyata dan tepi
yang terdeteksi hanya satu poin sehingga tepi lebih terlihat bersih.
Tahapan dari deteksi tepi canny adalah sebagai berikut :
a. Image Smoothing
Pada tahap pertama citra diterapkan smoothing dengan kernel Gaussian.
=



,

( 2.7 )

Dimana :
,

=

√ ��



+


b. Hitung turunan dari citra terfilter
Pada tahap ini matrix citra dihitung turunannya menggunakan Gaussian
turunan pertama.
∇ = ∇



∇ = �
[�






=

=








]

= ∇




+


+




= −

= −








+


+


Sehingga :
= [

′ ∗

]
]∗ = [
′ ∗


( 2.8 )

15

c. Hitung gradient magnitude dan orientasi gradient
Setelah

dan

didapatkan, tahapan selanjutnya adalah mencari

magnitude dan direction atau orientasi. Dengan cara :


= √

=

= �

+

( 2.9 )



( 2.10 )

d. Terapkan non-maximum suppression
Non-maximal supression bertujuan membuang potensi gradien di suatu
piksel dari kandidat tepi jika piksel tersebut bukan merupakan maksimal lokal pada
arah tepi di posisi piksel tersebut (di sinilah arah gradien diperlukan).

Gambar 2.10 (a) Non-maximum suppression (b) Kemungkinan direction tepi

� ,


={

,


, ∆
, >∆
,

, >∆
, �


e. Terapkan hysteresis threshold



′′

,

′′

( 2.11 )

Hysteresis thresholding adalah klasifikasi dengan dua buah nilai HighThreshold dan Low-Threshold. Suatu piksel disahkan sebagai piksel tepi jika
nilainya lebih besar atau sama dengan High-Threshold atau jika piksel tersebut

16

memiliki intensitas kekuatan tepi yang lebih besar dari Low-Threshold dan
terhubung dengan piksel yang nilainya lebih besar dari High-Threshold.

2.9. Corner Detection (Harris)
Harris Corner Detector diajukan oleh C. Harris dan M. Stephen pada Tahun
1988. Harris didasarkan pada moment matriks kedua yang digunakan untuk
ekstraksi ciri. Dalam deteksi sudut menggunakan Harris, konvolution dengan fungsi
Gaussian merupakan langkah paling penting karena akan menentukan keseluruhan
proses dan hasil akhir.
Tahapan dari deteksi corner harris adalah sebagai berikut :
1. Hitung turunan citra pada arah x dan y
Pada tahap ini matrix citra dihitung turunannya menggunakan Gaussian
turunan pertama.


=

∗ ,

=





( 2.12 )

2. Hitung kembali varian dari turunan citra di setiap pixel
=



=

,



,

=



,



( 2.13 )

3. Hitung convolusi dengan gaussian dan varian turunan citra di setiap pixel
=



,



=



=

4. Definisiakan setiap pixel (x,y) kedalam matrix :
,

,

=[

,

,

5. Cari respon dari setiap pixel
=





,





]

( 2.14 )

( 2.15 )

( 2.16 )

6. Threshold nilai R dan terapkan nonmax suppression.

2.10. Hu Invarian Moments
Hu Invarian Moment pertama kali dipublikasikan oleh Hu pada tahun 1961
dan Hu Invariant Moments di reformula oleh Li [5]. Nilai-nilai yang dihasilkan dari
Hu Invariant Moments ini terdiri dari tujuh nilai yang menidentifikasikan ciri dari
sebuah objek citra digital [6]. Nilai-nilai tersebut bersifat independen terhadap
translasi, rotasi dan penskalaan [6].

17

Momen yang mentransformasikan fungsi citra f(i,j) pada sistem diskrit
dinyatakan dengan persamaan :
�−
= ∑�−
= ∑ =

,

( 2.17 )

Dimana H dan W masing-masing merupakan tinggi dan lebar citra dan p =
0,1,2,… dan q = 0,1,2,… adalah integer. Selanjutnya, momen pusat untuk suatu
citra dinyatakan dengan :

Dimana :

�−
= ∑�−
= ∑ =


̅=

− ̅

−̅

,

( 2.18 )

� ̅=

( 2.19 )

Kemudian normalized central moments, didefinisikan sebagai berikut :




=�

,



+

=

+

( 2.20 )

Sehingga ketujuh nilai invariant moments dapat diturunkan dari moment
kedua dan ketiga sebagai berikut.
� = �

+ �

� = �

� = �

� = �

− �

� = �
� =

2.11.

+ �

+ �

+ �

− �

� = �


− �





− �


− �

+

+ �

+ �

− �

+ �



[ �






+ �

+ �

+ �

[ �
+ �

+ �

+ �

[ �

+ �

+ �

− �

[ �

[ �

− �



+ �

+ �





− �

]+

+ �

]+ �

+ �

+ �



]

+ �

+ �



− �



]+

] ( 2.21 )

Neural Network
Konsep Neural Network sebagian besar terinspirasi oleh pengamatan sistem

pembelajaran biologi yang dibangun oleh jaring yang sangat kompleks neuron yang
saling berhubungan. Neuron dalam Neural Network dianalogikan sebagai unit yang
memungkinkan saling terhubung secara sederhana dengan unit lainnya. Suatu unit
membutuhkan beberapa masukan nilai desimal (yang memungkinkan dari unit lain)

18

dan keluaran dari unit adalah nilai tunggal desimal (yang mungkinkan menjadi
masukan unit lain) [7]. Kemampuan pemprosessan disimpan di dalam kekuatan
koneksi interunit atau bobot (weights), kemampuan tersebut diperoleh dari proses
“adaptasi terhadap” atau “belajar dari” suatu set pola pelatihan [1].
Neural Network tercipta sebagai suatu generalisasi model matematis dari
pemahaman manusia (human cognition) yang didasarkan atas asumsi sebagai
berikut :
1. Pemrosesan informasi terjadi pada elemen sederhana yang disebut neuron
2. Sinyal mengalir diantara unit neuron melalui suatu penghubung
3. Setiap sambungan penghubung memiliki bobot yang bersesuaian. Bobot ini
akan digunakan untuk menggandakan / mengalikan sinyal yang dikirim
melaluinya.
4. Setiap sel syaraf akan menerapkan fungsi aktivasi terhadap sinyal hasil
penjumlahan berbobot yang masuk kepadanya untuk menentukan sinyal
keluarannya.

Model struktur neuron pada neural network dijelaskan pada Gambar 2.11.

Gambar 2.11 Model Unit Pengolah Neural Network

2.12. Backpropagation
Backpropagation merupakan algoritma pembelajaran neural network yang
cukup populer dan banyak digunakan.

Secara umum pada arsitektur Neural

Network Backpropagation, neuron-neuron akan dikumpulkan dalam lapisan-

19

lapisan yang disebut dengan layer. Neuron-neuron pada satu layer akan
dihubungkan. Bila neuron-neuron pada suatu layer (misal hidden layer) akan
dihubungkan dengan neuron-neuron pada layer lain (misal output layer) maka
setiap neuron pada layer tersebut (hidden layer) juga harus dihubungkan dengan
setiap neuron pada layer lainnya (output layer), ini sebut dengan terhubung penuh
(full connected). Informasi yang diberikan pada Neural Network ini akan merambat
dari lapisan ke lapisan, mulai dari lapisan masukan sampai ke lapisan keluaran
melalui hidden layer. Faktor terpenting dalam menentukan perlakuan suatu neuron
adalah fungsi aktivasi dan pola bobotnya [7]. Umumnya neuron-neuron yang
terletak pada layer yang sama akan memiliki keadaan yang sama sehingga pada
setiap layer yang sama neuron-neuron memiliki fungsi aktivasi yang sama.
Backpropagation memiliki dua konsep dasar yakni feed foward dan back
propagation dari error-nya. Algoritma neural network backpropagation adalah
sebagai berikut :
1. Menentukan Arsitektur Neural Network Struktur backpropagation terdiri dari
tiga tipe lapisan yang terhubung penuh (full connected), yaitu: input layer,
hidden layer dan output layer, dimana setiap layer di tambah satu bias.
2. Inisialisasi iterasi n = 1
,

3. Inisialisasi bobot

dengan nilai random.

4. Masukan pola input dan hitung respons jaringan neural network. Untuk setiap
neuron mengunakan rumus :
= (∑�

Dimana



�)

( 2.22 )

adalah fungsi sigmoid :

=

( 2.23 )

+ �−

5. Hitung nilai error output menggunakan Root Mean Square Error :
= √ ∑�









( 2.24 )

6. Jika Error lebih kecil dari target error atau jumlah iterasi lebih besar sama
dengan maksumum iterasi stop proses learning.
7. Hitung gradient ouput layer :
=

Dimana :





. ′

( 2.25 )

20



= turunan fungsi sigmoid.



=



( −

= (



+

)

)

8. Hitung gradient hidden layer :
= (∑�(

Dimana :








+



)

) ). ′

( 2.26 )

= keluaran dari neuron selanjutnya



= turunan fungsi sigmoid.
= (

9. Update bobot






− (



=

Dimana :

=

,

= ∆

+ ∆

+



)

− (

dengan rumus :

. .



+

+



)

.∆

( 2.27 )



= laju pembelajaran (learning rate)
= parameter momentum
10. Naikan harga n, kemudian kembali ke langkah 4 hingga langkah 6 terpenuhi.

2.13. C / C++
Tahun 1969, laboratorium Bell AT&T di Muray Hill, New Jersey
menggunakan bahasa assembly ini untuk mengembangkan sistem operasi UNIX.
Maksudnya adalah untuk membuat sistem operasi yang dapat bersifat
'programmer-friendly'.

Setelah

UNIX

berjalan,

Ken

Thomson,

seorang

pengembang sistem di laboratorium tersebut mengembangkan bahasa baru dengan
nama bahasa B. Huruf B ini diambil dari BCPL. Bahasa B ini kemudian digunakan
untuk menulis ulang atau merevisi sistem operasi UNIX. Oleh karena bahasa B ini
masih bersifat interpret dan lambat, maka pada tahun 1971, sistem operasi UNIX
kemudian ditulis ulang dengan menggunakan bahasa C, yaitu bahasa pemrograman

21

yang dikembangkan oleh Dennis Ritchie, seorang pengembang sistem di
laboratorium yang sama.
Sampai sekarang bahasa C masih digunakan untuk melakukan
pengembangan-pengembangan program dan sistem-sistem operasi, diantaranya
sistem operasi Windows. Alasan itulah yang menjadikan bahasa C sangat populer
di dunia pemrograman khususnya untuk industri perangkat lunak. Namun
sayangnya basa C merupakan bahasa yang masih tergolong susah untuk dipelajari
karena masih bersifat prosedural murni. Untuk membentur satu objek, kita harus
melakukan banyak sekali penulisan kode. Hal ini tentu dapat dikatakan sebagai
sebuah kelemahan. Untuk mengatasi masalah ini, pada tahun 1983, seorang doktor
bernama Bjane Stroustrup yang juga bekerja di laboratorium yang sama
menciptakan bahasa baru yaitu bahasa C++ yang meripakan hibryd dari bahasa C.
Bahasa C++ didasarkan atas bahasa C sehingga kita dapat melakukan kompilasi
program-program yang ditulis dalam bahasa C dengan menggunakan kompiler
C++. Keistimewaan dari bahasa C++ adalah karena bahasa ini mendukung
pemrograman berarah objek atau lebih sering dikenal dengan istilah Object
Oriented Programming (OOP).

2.14.

K-Fold Cross Validation
Pada metode k-fold cross validation, data dibagi menjadi k subset (fold)

yang saling bebas secara acak, yaitu S1, S2....Sk, yang diasumsikan memiliki
ukuran yang sama. Pelatihan dan pengujian dilakukan sebanyak k kali. Pada iterasi
ke-i subset S1 diperlakukan sebagai data pengujian dan subset lainnya sebagai data
pelatihan. Tingkat akurasi dihitung dengan membagi jumlah keseluruhan
klasifikasi yang benar dengan jumlah semua instance pada data awal [8].

2.15.

Confusion Matrix

Sebuah Confusion Matrix (Kohavi and Provost, 1998) berisi informasi tentang
klasifikasi atual dan hasil perkiraan yang dilakukan oleh sistem klasifikasi. Kinerja
sistem dievaluasi menggunakan tabel matrix. Tabel ini diperlukan untuk
menentukan kinerja suatu sistem klasifikasi.

22

BAB 3
ANALISIS DAN KEBUTUHAN ALGORITMA

3.1. Analisis Masalah
Neural network backpropagation merupakan salah satu Algoritma Machine
Learning yang dapat mengenal pola dan mengidentifikasi suatu objek citra
berdasarkan pelatihan yang diberikan. Akan tetapi dalam sebuah citra digital objek
tersebar memungkinkan memiliki posisi yang berbeda – beda, selain itu objek
tersebar dalam sebuah citra digital memungkinkan memiliki beragam perbedaan
translasi (translation), mempunyai beragam perbedaan rotasi (rotation), serta
penskalaan citra (scaling). Implementasi neural network ketika digunakan untuk
citra yang memiliki beragam translation, penskalaan dan rotasi tanpa dimanipulasi
terlebih dahulu, memungkinkan terjadinya proses pembelajaran yang memerlukan
jumlah sampel yang cukup banyak bahkan memungkinkan terjadinya kegagalan
dalam pengambilan keputusan mengenali objek. Sebagai solusi perbaikan
algoritma yang memungkinkan dari masalah tersebut yakni Hu Invariant Moments.
Nilai-nilai yang dihasilkan dari Hu Invariant Moments ini terdiri dari tujuh nilai
yang menidentifikasikan ciri dari sebuah objek citra digital. Nilai-nilai tersebut
bersifat independen terhadap translasi, rotasi dan penskalaan. Nilai-nilai ini dapat
dimanfaatkan sebagai satu sampel informasi tiap objek untuk inputan dari Machine
Learning guna mengenali suatu objek.

3.2. Analisis Sistem
Dalam penyelesaian masalah yang telah dijabarkan pada analisis masalah,
proses yang dilakukan dapat dikelompokan pada empat tahapan utama. Tahapan
proses tersebut dapat dilihat pada Gambar 3.1.

Gambar 3.1 Empat Proses Utama Sistem

23

24

3.2.1. Preprosesing
Citra penuh yang dijadikan masukan data diproses mulai dari dikonversi
citra RGB ke citra keabuan, memperbaiki kualitas citra, deteksi tepi, deteksi corner,
pemisahan objek-objek citra dari latar belakang.
Keluaran dari proses ini adalah lokasi objek-objek citra yang nantinya
digunakan untuk informasi kepada user tentang objek citra mana yang akan diolah
oleh sistem.
Untuk lebih jelasnya tahapan preprosesing dapat dilihat pada Gambar 3.2.

Gambar 3.2 Alur Proses Preprosesing Citra
1. RGB ke derajat keabuan
Citra digital inputan yang memiliki tiga chanel warna RGB dikonversi ke
satu chanel warna keabuan bertujuan untuk mengurangi beban proses sistem. Proses
ini menggunakan rumus (2.2).
2. Penghalusan Citra
Citra keabuan kemudian diperhalus untuk menanggulangi noise pada citra.
Penghalusan citra dilakukan dengan menggunakan kernel gaussian.
3. Deteksi Tepi
Pendeteksian tepi pada citra menggunakan algoritma canny.
4. Deteksi Corner
Pendeteksian corner pada citra menggunakan algoritma harris.

25

5. Pemisahan objek
Disini tepi dan corner yang telah didapat digunakan untuk ekstraksi ciri
objek yang akan diolah. Objek-objek pada citra yang akan diolah hanya objek yang
memiliki empat corner dan keempat corner saling terhubung oleh tepi objeknya
(kotak).

3.2.2. Perhitungan Hu Invariant Moments
Setelah lokasi objek-objek ditemukan objek dihitung ketujuh nilai
momentnya guna mendeskripsikan ciri-ciri objek citra. Tahapan proses ini dapat
dilihat pada Gambar 3.3.

Gambar 3.3 Alur Proses Perhitungan Hu Invariant Moments
1. Hitung moment
Hitung moment yang mentransformaskan fungsi citra pada sistem diskrit.
2. Hitung central moment
Setelah tahap pertama dilakukan hitung moment pusat objek citra. Tahap ini
menghasilkan tujuh nilai moment pusat citra.
3. Normalisasi central moment
Setelah moment pusat ditemukan langkah selanjutnya moment pusat citra
dinormalisasi.
4. Hitung ketujuh Moment Hu

26

Setelah dinormalisasi ketujuh moment hu dapat dihitung.
3.2.3. Pembelajaran
Dalam tahapan ini user dapat memberikan label kesetiap objek selain itu
dilakukan proses pembentukan neural network, proses pembelajaran neural
network dan dalam tahapan ini memungkinkan untuk menyimpan arsitektur beserta
hasil proses pembelajaran ke dalam file sehingga dapat digunakan dikemudian hari.
Keluaran dari proses ini adalah arsitektur beserta hasil proses pembelajaran
neural network. Arsitektur beserta hasil proses pembelajaran neural network ini
akan digunakan dalam proses selanjutnya yakni pengenalan objek.
Untuk lebih jelasnya tahapan pembelajaran dapat dilihat pada Gambar 3.4

Gambar 3.4 Alur Proses Pembelajaran
1. Pembuatan arsitektur neural network
Pembentukan neural network yang terdiri dari input layer yang beserta tujuh
neuron, beberapa hidden layer beserta neuronnya sesuai inputan user dan hidden
layer dengan jumlah neuron yang sesuai dengan jumlah objek citra yang akan di
proses.
2. Lihat Respon NN (Feed-Forward)
Ketujuh moment Hu objek citra dimasukan kedalam arsitektur neural
network yang telah dibuat guna dapat dilihat respon keluaran neural network
terhadap masukannya.

27

3. Pemeriksaan batas optimasi error dan maksimum iterasi
Dalam tahap ini respon neura network dihitung error responnya
menggunakan fungsi Root Mean Square Error (RMS) serta jumlah iterasinya. Jika
batas error ataupun batas maksimal iterasi belum terpenuhi maka lakukan tahap 4.
Akan tetapi jika batas error ataupun batas maksimum iterasi sudah terpenuhi proses
pembelajaran dihentikan.
4. Update bobot koneksi neuron (Back-Propagation)
Dalam proses ini neural network dilakukan proses pembelajaran
menggunakan backpropagation. Proses pembelajaran disini berarti bobot koneksi
akan diupdate berdasarkan respon selisih error yang didapatkan.

3.2.4. Pengenalan
Dalam tahapan ini nilai invarian moment objek-objek dimasukan satu
persatu dan dilihat respon dari neural network. Alur proses pengenalan dapat dilihat
pada Gambar 3.5.

Gambar 3.5 Alur proses pengenalan

28

3.3. Analisis Data Masukan
Dalam penerapan algoritma canny untuk deteksi tepi dan harris untuk
deteksi corner dalam preprosessing. Algoritma canny dan harris melakukan proses
berdasarkan perubahaan intensitas cahaya dalam suatu data citra oleh karena itu
data citra digital yang digunakan sebagai data masukan memerlukan citra objek
yang memiliki border intensitas cahaya yang kontras sehigga algoritma canny dan
harris dapat bekerja dengan baik. Contoh data citra yang dapat digunakan dapat
dilihat pada Gambar 3.6.

Gambar 3.6 Citra RGB yang memiliki objek dengan warna border kontras

Gambar 3.6 memiliki ukuran 32x32 pixel dengan model warna RGB dan
kedalaman warna 8bit. Nilai setiap pixel dapat dilihat pada Gambar 3.7.

29

Gambar 3.7 Nilai (R-G-B) pixel dari Citra
Gambar 3.6 memiliki 3 chanel warna RGB, guna mempermudah proses
perhitungan 3 chanel warna di konversi ke citra keabuan menggunakan persamaan

30

(2.2). Hasil konversi dapat dilihat pada Gambar 3.8 dan daftar nilia per pixel nya
dapat dilihat pada Gambar 3.9.

Gambar 3.8 Hasil konversi ke citra keabuan

Gambar 3.9 Nilai pixel Hasil konversi ke citra keabuan

31

Setelah citra keabuan didapatkan, citra dilakukan proses bluring sebagai
pencegahan dan penanggulangan terhadap noise pada citra. Proses tersebut
dilakukan dengan cara citra di konvolusi dengan kernel gaussian (2.6). Sebagai
contoh kasus kernel gaussian dibangkitkan dengan nilai � = . dan besar kernel
3x3. Hasil penghalusan dapat dilihat pada Gambar 3.10 dan Gambar 3.11

Gambar 3.10 Hasil penghalusan dengan gaussian

Gambar 3.11 Nilai pixel penghalusan dengan gaussian
Setelah citra diperhalus proses pendeteksian tepi dan corner dapat
dilakukan. Sebagai contoh kasus parameter canny dan harris menggunakan � = .
untuk gaussian turunun pertama dan besar kernel gaussian

serta

32

�ℎ

�ℎ





��

=

= ,

� �ℎ



��

=

dan

. Hasil pendeteksian tepi Canny dapat dilihat pada

Gambar 3.12 dan Gambar 3.13, sedangkan hasil pendeteksian corner Harris dapat
dilihat pada Gambar 3.14 dan Gambar 3.15.

Gambar 3.12 Hasil pendeteksian tepi canny

Gambar 3.13 Nilai pixel hasil deteksi tepi canny

33

Gambar 3.14 Hasil pendeteksian corner harris

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0