Upload
lamngoc
View
217
Download
0
Embed Size (px)
Citation preview
5
BAB 2
KAJIAN PUSTAKA
2.1. Image Processing
Data atau informasi tidak hanya disajikan dalam bentuk teks, tetapi juga
dapat berupa gambar, audio (bunyi, suara, musik), dan video. Keempat macam
data atau informasi ini sering disebut multimedia. Era teknologi informasi saat
ini tidak dapat dipisahkan dari multimedia. Situs web (website) di Internet dibuat
semenarik mungkin dengan menyertakan visualisasi berupa gambar atau video
yang dapat diputar. Beberapa waktu lalu istilah SMS begitu populer diantara
pengguna telepon genggam (handphone). Tetapi, saat ini orang tidak hanya
dapat mengirim pesan dalam bentuk teks tapi juga dalam bentuk gambar
maupun video yang dikenal dalam layanan MMS (Multimedia Message
Service).
Gambar (image) adalah istilah lain untuk gambar sebagai salah satu
komponen multimedia memegang peranan sangat penting sebagai bentuk
informasi visual. Gambar mempunyai karakteristik yang tidak dimiliki oleh data
teks, yaitu gambar kaya dengan informasi. Maksudnya sebuah gambar dapat
memberikan informasi lebih banyak daripada informasi tersebut disajikan dalam
bentuk tekstual.
Pengolahan gambar digital atau Digital Image Processing adalah bidang
yang berkembang sangat pesat sejalan dengan kemajuan teknologi pada industri
saat ini. Fungsi utama dari Digital Image Processing adalah untuk memperbaiki
kualitas dari gambar sehingga gambar dapat dilihat lebih jelas tanpa ada
6
ketegangan pada mata, karena informasi penting diekstrak dari gambar yang
dihasilkan harus jelas sehingga didapatkan hasil yang terbaik. Selain itu DIP
digunakan untuk memproses data yang diperoleh dalam persepsi mesin, yaitu
prosedur–prosedur yang digunakan untuk mengekstraksi informasi dari gambar
informasi dalam bentuk yang cocok untuk proses komputer.
Proses pengolahan gambar digital dengan menggunakan computer digital
terlebih dahulu mentransformasikan gambar ke dalam bentuk besaran-besaran
diskrit dari nilai tingkat keabuan pada titik-titik elemen gambar. Bentuk gambar
ini disebut gambar digital. Elemen-elemen gambar digital apabila ditampilkan
dalam layar monitor akan menempati sebuah ruang yang disebut dengan pixel
(picture elemen/pixel). Teknik dan proses untuk mengurangi atau
menghilangkan efek degradasi pada gambar digital meliputi perbaikan gambar
(image enhancement), restorasi gambar (image restoration), dan transformasi
spasial (spatial transformation). Subyek lain dari pengolahan gambar digital
diantaranya adalah pengkodean gambar (image coding), segmentasi gambar
(image segmentation), representasi dan diskripsi gambar (image representation
and description ).
Pengolahan gambar digital memiliki banyak aplikasi seperti pada bidang
penginderaan jarak jauh, robotik, pemetaan, biomedis, dan sebagainya.
Perlengkapan pengolahan gambar digital minimal terdiri atas alat pemasukan
data gambar berupa digitizer atau scanner, computer digital, alat penyimpanan
data dengan kapasitas yang besar.
Beberapa aplikasi image processing dapat iimplementasikan dalam
kehidupan sehari‐hari, seperti dalam wujud :
7
• Pengolahan informasi data planet yang diterima dari pesawat ruang
angkasa Voyager, diproses untuk meningkatkan kontras dan
kejernihannya.
• Dalam dunia kesehatan, seperti implementasi CAT Scan
(Computer‐Assisted Tomography), untuk memindai seluruh tubuh
manusia secara visual.
• Image processing juga digunakan pada model system radar dan sonar.
2.1.1. Citra
Secara harafiah, citra (image) adalah gambar pada bidang dwimatra (dua
dimensi). Gambar 2.1 adalah citra seorang gadis model yang bernama Lena, dan
gambar di sebelah kanannya adalah citra kapal di sebuah pelabuhan. Ditinjau
dari sudut pandang matematis, citra merupakan fungsi menerus (continue) dari
intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, objek
memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan cahaya ini
ditangkap oleh oleh alat-alat optik, misalnya mata pada manusia, kamera,
pemindai (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra
tersebut terekam.
Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat :
1. optik berupa foto,
2. analog berupa sinyal video seperti gambar pada monitor televisi,
3. digital yang dapat langsung disimpan pada suatu pita magnetik.
8
Citra yang dimaksudkan di sini adalah “citra diam” (still images). Citra
diam adalah citra tunggal yang tidak bergerak. Gambar 2.1 adalah dua buah citra
diam. Untuk selanjutnya, citra diam kita sebut citra saja.
(a) Lena (b) Kapal
Gambar 2.1 Citra Lena dan citra kapal
Citra bergerak (moving images) adalah rangkaian citra diam yang
ditampilkan secara beruntun (sekuensial) sehingga memberi kesan pada mata
kita sebagai gambar yang bergerak. Setiap citra di dalam rangkaian itu disebut
frame. Gambar-gambar yang tampak pada film layar lebar atau televisi pada
hakikatnya terdiri atas ratusan sampai ribuan frame.
2.1.2. Definisi Pengolahan Citra
Meskipun sebuah citra kaya informasi, namun seringkali citra yang kita
miliki mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau
derau (noise), warnanya terlalu kontras, kurang tajam, kabur (blurring), dan
9
sebagainya.Tentu saja citra semacam ini menjadi lebih sulit diinterpretasi karena
informasi yang disampaikan oleh citra tersebut menjadi berkurang.
Agar citra yang mengalami gangguan mudah diinterpretasi (baik oleh
manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra
lain yang kualitasnya lebih baik. Bidang studi yang menyangkut hal ini adalah
pengolahan citra (image processing).
Pengolahan citra adalah pemrosesan citra, khususnya dengan
menggunakan komputer, menjadi citra yang kualitasnya lebih baik. Sebagai
contoh, citra burung nuri pada Gambar 2.2 (a) tampak agak gelap, lalu dengan
operasi pengolahan citra kontrasnya diperbaiki sehingga menjadi lebih terang
dan tajam (b).
Umumnya, operasi-operasi pada pengolahan citra diterapkan pada citra
bila :
1. perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan
kualitas penampakan atau untuk menonjolkan beberapa aspek informasi
yang terkandung di dalam citra,
2. elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur,
3. sebagian citra perlu digabung dengan bagian citra yang lain.
10
(a) (b)
Gambar 2.2. (a) Citra burung nuri yang agak gelap, (b) Citra burung yang telah
diperbaiki kontrasnya sehingga terlihat jelas dan tajam
Di dalam bidang komputer, sebenarnya ada tiga bidang studi yang
berkaitan dengan data citra, namun tujuan ketiganya berbeda, yaitu:
1. Grafika Komputer (computer graphics).
2. Pengolahan Citra (image processing).
3. Pengenalan Pola (pattern recognition/image interpretation).
Hubungan antara ketiga bidang (grafika komputer, pengolahan citra,
pengenalan pola) ditunjukkan pada Gambar 2.3.
11
Gambar 2. 3. Tiga bidang studi yang berkaitan dengan citra
Grafika Komputer bertujuan menghasilkan citra (lebih tepat disebut
grafik atau picture) dengan primitif-primitif geometri seperti garis, lingkaran,
dan sebagainya. Primitif-primitif geometri tersebut memerlukan data deskriptif
untuk melukis elemen-elemen gambar. Contoh data deskriptif adalah koordinat
titik, panjang garis, jari-jari lingkaran, tebal garis, warna, dan sebagainya.
Grafika komputer memainkan peranan penting dalam visualisasi dan virtual
reality.
Gambar 2. 4. Struktur Grafika Komputer
Contoh grafika komputer misalnya menggambar sebuah ‘rumah’ yang
dibentuk oleh garis-garis lurus, dengan data masukan berupa koordinat awal dan
koordinat ujung garis (Gambar 2.5).
Grafika Komputer
Pengolahan Citra
deskripsi
Pengenalan Pola
citra citra
deskripsi
data deskriptif
Grafika Komputer
citra
12
Gambar 2. 5. (a) Program Grafika Komputer untuk membuat gambar ‘rumah (b)
Pengolahan Citra bertujuan memperbaiki kualitas citra agar mudah
diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Teknik-teknik
pengolahan citra mentransformasikan citra menjadi citra lain. Jadi, masukannya
adalah citra dan keluarannya juga citra, namun citra keluaran mempunyai
kualitas lebih baik daripada citra masukan. Termasuk ke dalam bidang ini juga
adalah pemampatan citra (image compression).
Gambar 2. 6. Struktur Pengolahan Citra
Pengubahan kontras citra seperti pada Gambar 2.2 adalah contoh operasi
pengolahan citra. Contoh operasi pengolahan citra lainnya adalah penghilangan
derau (noise) pada citra Lena (Gambar 2.7). Citra Lena yang di sebelah kiri
mengandung derau berupa bintik-bintik putih (derau). Dengan operasi penapisan
Pengolahan Citra
citra citra
13
(filtering), derau pada citra masukan ini dapat dikurangi sehingga dihasilkan
citra Lena yang kualitasnya lebih baik.
(a) (b)
Gambar 2.7. (a) Citra Lena yang mengandung derau, (b) hasil dari operasi penapisan
derau.
Pengenalan Pola mengelompokkan data numerik dan simbolik (termasuk
citra) secara otomatis oleh mesin (dalam hal ini komputer). Tujuan
pengelompokan adalah untuk mengenali suatu objek di dalam citra. Manusia
bisa mengenali objek yang dilihatnya karena otak manusia telah belajar
mengklasifikasi objek-objek di alam 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.
14
Gambar 2.8. struktur Pengenalan Pola
Contoh pengenalan pola misalnya citra pada Gambar 2.9 adalah tulisan
tangan yang digunakan sebagai data masukan untuk mengenali karakter ‘A’.
Dengan menggunakan suatu algoritma pengenalan pola, diharapkan komputer
dapat mengenali bahwa karakter tersebut adalah ‘A’.
Gambar 2.9. Citra karakter ‘A’ yang digunakan sebagai masukan untuk pengenalan
huruf
Pengolahan citra mempunyai aplikasi yang sangat luas dalam berbagai
bidang kehidupan kita antar lain :
1. Bidang Militer
a. Mengenali sasaran peluru kendali melalui sensor visual.
b. Mengidentifikasi pesawat musuh melalui radar.
c. Teropong malam hari (night vision)
Pengenalan Pola
Deskripsi objek citra
15
2. Bidang Medis / Kedokteran
a. Mendeteksi retak/patah tulang dengan CT Scan.
b. Rekonstuksi foto janin (USG).
c. Mendeteksi kanker (kanker otak)
3. Bidang Biologi
Pengenalan jenis kromosom melalui gambar mikroskopis
4. Bidang Pendidikan
Pengolahan pendaftaran mahasiswa menggunakan scanner.
5. Bidang Geografi dan Geologi
a. Pemetaan batas wilayah melalui foto udara / Landsat.
b. Mengenali jenis dan bentuk lapisan batuan bawah permukaan
bumi melalui rekonstruksi hasil seismic.
6. Bidang Kepolisian / Hukum
a. Pengelan pola sidik jari (finger print).
b. Rekonstruksi wajah pelaku kejahatan.
c. Pengenalan pola hasil uji balistik.
7. Bidang Perdagangan
a. Pembacaan barcode pada barang di swalayan.
b. Mengenali huruf / angka pada suatu formulir secara otomatis.
8. Bidang Hiburan
Pemampatan video (MPEG).
9. Komunikasi data
Pemampatan citra yang ditransmisi (Internet).
16
2.1.3. Histogram
Salah satu cara untuk memperbaiki suatu citra digital adalah dengan
mengatur level dari brightness dan contrast-nya. Pertama-tama, kami akan
menggambarkan variasi-sebuah brightness pada suatu citra dengan
menggunakan histogram citra tersebut dan bagaimana suatu citra dapat
dimanipulasi dengan merubah histogram citra tersebut.
Histogram akan menempatkan beberapa piksel dengan brightness level
mereka yang sesuai. Untuk piksel dengan ukuran level brightness sebesar 8-bit
maka brightness akan memiliki grey level yang berkisar antara nol (hitam)
sampai 255 (putih). Sehingga histogram yang memiliki nilai brightness yang
lebih kecil akan terlihat lebih gelap dibandingkan dengan yang memiliki nilai
lebih besar.
Gambar dibawah menunjukkan gambar sebuah ban mobil dengan
histogramnya. Histogram pada gambar tersebut menunjukkan bahwa tidak
semua grey level yang ada dalam histogram terpakai. Dapat kita lihat bahwa
histogram yang memiliki grey level dibawah 120 memiliki tingkat kegelapan
yang lebih gelap, dimana warna gelap tersebut dimiliki oleh ban mobil dan
bagian bawah mobil, serta bayangan mobil yang memiliki warna cenderung
hitam. Di sini juga terlihat bahwa apabila suatu gambar memiliki warna yang
cenderung gelap maka secara keseluruhan histogram akan berkonsentrasi kearah
kiri (hitam). Bandingkanlah gambar tersebut dengan gambar di bawahnya yang
mana gambar tersebut adalah gambar yang sama, tetapi telah dinaikkan nilai
17
brightness-nya. Sekarang histogram cenderung merata dan agak sedikit
terkonsentrasi ke arah kanan (putih).
Gambar 2.10. Gambar sebuah ban mobil dan histogramnya
Gambar 2.11. Gambar ban mobil dan histogramnya setelah dinaikkan nilai brightness-nya.
Disini kita dapat melihat bahwa kita belum memakai seluruh dari grey
level yang tersedia. Kita dapat menarik histogram citra tersebut sehingga semua
grey level yang tersedia sepenuhnya terpakai, dan teknik itu akan menghasilkan
citra yang lebih jelas.
Histogram ini juga dapat memperlihatkan kejanggalan bila didalam citra
tersebut terdapat noise apabila histogram yang ideal telah kita ketahui. Sehingga
kami dapat menghilangkan noise tersebut. Proses ini tidak hanya semata-mata
18
kami lakukan untuk mendapatkan citra yang lebih baik, tetapi juga untuk lebih
memudahkan tugas-tugas kami dalam teknik-teknik pemprosesan citra
selanjutnya.
2.1.4. Operasi Pengolahan Citra
Operasi-operasi yang dilakukan di dalam pengolahan citra banyak
ragamnya. Namun, secara umum, operasi pengolahan citra dapat
diklasifikasikan dalam beberapa jenis sebagai berikut:
1. Perbaikan kualitas citra (image enhancement).
Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan cara
memanipulasi parameter-parameter citra. Dengan operasi ini, ciri-ciri khusus
yang terdapat di dalam citra lebih ditonjolkan.
Contoh-contoh operasi perbaikan citra:
a. perbaikan kontras gelap/terang
b. perbaikan tepian objek (edge enhancement)
c. penajaman (sharpening)
d. pembrian warna semu (pseudocoloring)
e. penapisan derau (noise filtering)
Gambar 2.12 adalah contoh operasi penajaman. Operasi ini menerima
masukan sebuah citra yang gambarnya hendak dibuat tampak lebih tajam.
Bagian citra yang ditajamkan adalah tepi-tepi objek.
19
(a) (b)
Gambar 2.12. (a) Citra Lena asli, (b) Citra Lena setelah ditajamkan
2. Pemugaran citra (image restoration).
Operasi ini bertujuan menghilangkan/meminimumkan cacat pada citra.
Tujuan pemugaran citra hampir sama dengan operasi perbaikan citra. Bedanya,
pada pemugaran citra penyebab degradasi gambar diketahui.
Contoh-contoh operasi pemugaran citra:
a. penghilangan kesamaran (deblurring).
b. penghilangan derau (noise)
Gambar 2.13 adalah contoh operasi penghilangan kesamaran. Citra
masukan adalah citra yang tampak kabur (blur). Kekaburan gambar mungkin
disebabkan pengaturan fokus lensa yang tidak tepat atau kamera bergoyang pada
pengambilan gambar. Melalui operasi deblurring, kualitas citra masukan dapat
diperbaiki sehingga tampak lebih baik.
20
(a) (b)
Gambar 2.13. Kiri: Citra Lena yang kabur (blur), kanan: citra Lena setelah deblurring
3. Pemampatan citra (image compression).
Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam
bentuk yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal
penting yang harus diperhatikan dalam pemampatan adalah citra yang telah
dimampatkan harus tetap mempunyai kualitas gambar yang bagus. Contoh
metode pemampatan citra adalah metode JPEG. Perhatikan Gambar 2.14.
Gambar sebelah kiri adalah citra kapal yang berukuran 258 KB. Hasil
pemampatan citra dengan metode JPEG dapat mereduksi ukuran citra semula
sehingga menjadi 49 KB saja.
21
(a) (b)
Gambar 2.14. (a) Citra boat.bmp (258 KB) sebelum dimampatkan, (b) citra boat.jpg (49
KB) sesudah dimampatkan.
4. Segmentasi citra (image segmentation).
Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam beberapa
segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat dengan
pengenalan pola.
5. Pengorakan citra (image analysis)
Jenis operasi ini bertujuan menghitung besaran kuantitif dari citra untuk
menghasilkan deskripsinya. Teknik pengorakan citra mengekstraksi ciri-ciri
tertentu yang membantu dalam identifikasi objek. Proses segmentasi kadangkala
diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya.
Contoh-contoh operasi pengorakan citra:
a. Pendeteksian tepi objek (edge detection)
b. Ekstraksi batas (boundary)
c. Representasi daerah (region)
22
Gambar 2.15 adalah contoh operasi pendeteksian tepi pada citra Camera.
Operasi ini menghasilkan semua tepi (edge) di dalam citra.
(a) (b)
Gambar 2. 15. (a) Citra camera, (b) citra hasil pendeteksian seluruh tepi
6. Rekonstruksi citra (image reconstruction)
Jenis operasi ini bertujuan untuk membentuk ulang objek dari beberapa
citra hasil proyeksi. Operasi rekonstruksi citra banyak digunakan dalam bidang
medis. Misalnya beberapa foto rontgen dengan sinar X digunakan untuk
membentuk ulang gambar organ tubuh.
2.2. Computer Vision
Terminologi lain yang berkaitan erat dengan pengolahan citra adalah
computer vision atau machine vision. 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.
23
Hasil interpretasi ini mungkin digunakan untuk pengambilan keputusan
(misalnya menghindar kalau melihat mobil melaju di depan).
Computer vision merupakan proses otomatis yang mengintegrasikan
sejumlah besar proses untuk persepsi visual, seperti akuisisi citra, pengolahan
citra, klasifikasi, pengenalan (recognition), dan membuat keputusan.
Computer vision terdiri dari teknik-teknik untuk mengestimasi ciri-ciri
objek di dalam citra, pengukuran ciri yang berkaitan dengan geometri objek, dan
menginterpretasi informasi geometri tersebut. Mungkin berguna bagi anda untuk
mengingat persamaan berikut:
Vision = Geometry + Measurement + Interpretation
Proses-proses di dalam computer vision dapat dibagi menjadi tiga aktivitas:
1. Memperoleh atau mengakuisisi citra digital.
2. Melakukan teknik komputasi untuk memperoses atau memodifikasi data
citra (operasi-operasi pengolahan citra).
3. Menganalisis dan menginterpretasi citra dan menggunakan hasil pemrosesan
untuk tujuan tertentu, misalnya memandu robot, mengontrol peralatan,
memantau proses manufaktur, dan lain-lain.
mengklasifikasikan proses-proses di dalam computer vision dalam
hirarkhi sebagai berikut :
24
Gambar 2. 16. (a) Citra camera, (b) citra hasil pendeteksian seluruh tepi
Dari penjelasan di atas, dapat kita lihat bahwa pengolahan citra dan
pengenalan pola merupakan bagian dari computer vision. 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.
Jika dihubungkan dengan grafika komputer, maka computer vision
merupakan kebalikannya. Grafika komputer membentuk (sintesis) citra,
sedangkan computer vision mengoraknya (analisis). Pada masa awal kedua
bidang ini, tidak ada hubungan antara keduanya, tetapi beberapa tahun
belakangan kedua bidang tersebut berkembang semakin dekat. Computer vision
25
menggunakan representasi kurva dan permukaan dan beberapa teknik lain dari
grafika komputer, sedangkan grafika komputer menggunakan teknik -teknik di
dalam computer vision untuk memuat citra realistik (virtual reality).
2.3. Retrival Citra Berbasis Konten
RCBK adalah salah satu metodologi untuk pemanggilan kembali data
gambar berdasarkan content sebuah gambar. Teknik RCBK yang banyak
digunakan adalah teknik warna, teknik tekstur, dan teknik bentuk. Gambar 2.17
memperlihatkan bentuk umum system Retrival Citra Berbasis Konten (RCBK).
Gambar 2.17. Langkah Retrival Citra Berbasis Konten
Image Database Query Image
Feature Database
Indexing
Feature Extraction
Pre-processing
Retrival Result
Similarity Comparison
Feature Extraction
Pre-processing
26
Indexing, retrieval, dan database merupakan tiga hal yang tidak dapat
dipisahkan pada data dan informasi. Indexing yang baik akan sangat
menentukan kecepatan dan ketepatan retrieval data yang secara phisik sangat
ditentukan oleh model database yang digunakan. Gambar 2.17. menampilkan
hubungan antar data, struktur index dan retrieval.
Retrival Citra Berbasis Konten merupakan proses pengindeksan dan
pengambilan (melalui proses pencarian) gambar berdasarkan isi (fitur) dari
gambar. Jadi berbeda dengan teknik pengindeksan yang saat ini umum
digunakan, yaitu dengan pemberian tag atau deskripsi singkat secara manual
oleh manusia, yang mana selain sangat terbatas pada bahasa yang digunakan
bisa saja sebuah tag ataupun deskripsi singkat yang diberikan bersifat ambigu
atau memiliki makna yang berbeda, belum lagi jika memperhatikan adanya
faktor kesalahan manusia. Namun jika “tag” yang digunakan adalah fitur dari
gambar, yang mana seluruh proses pengambilan fitur tersebut dilakukan secara
otomatis, maka tentu akan mengatasi batasan-batasan seperti yang telah
disebutkan di atas yang terdapat pada sistem yang telah ada seperti saat ini pada
umumnya.
Sebuah gambar dapat direpresentasikan dengan berbagai macam cara,
diantaranya:
‐ Warna
Model warna RGB (red, green, blue) mendeskripsikan warna
sebagai kombinasi positif dari 3 warna, yaitu merah, hijau, dan
biru. Ciri warna suatu gambar dapat dinyatakan dalam bentuk
histogram dari gambar tersebut. Histogram menghitung jumlah
27
piksel pada masing-masing jenis warna dengan membaca masing-
masing piksel citra hanya sekali dan menambah jumlahnya pada
tempat penyimpan yang tepat di histogram.
‐ Bentuk
Ciri bentuk suatu gambar dapat ditentukan oleh tepi (sketsa), atau
besaran moment dari suatu gambar. Pemakaian besaran moment
pada ciri bentuk ini banyak digunakan dengan memanfaatkan
nilai-nilai transformasi fourier dari gambar.
Proses yang dapat digunakan untuk menentukan ciri bentuk
adalah deteksi tepi, threshold, segmentasi dan perhitungan
moment seperti (mean, median dan standard deviasi dari setiap
lokal gambar).
‐ Tekstur
Tekstur adalah properti bawaan pada semua citra permukaan,
seperti hutan, perkebunan, kain dan lainnya. Tekstur berisi
informasi penting tentang aransement struktur dari permukaan
dan hubungannya terhadap lingkungan sekitarnya. Walau mudah
bagi manusia untuk membedakannya, namun sangat sulit bagi
komputer digital untuk mendefinisikannya.
Ekstraksi fitur (feature extraction) adalah salah satu tahapan dalam
system RCBK yang berguna untuk mendapatkan karakteristik visual citra.
Segmentasi adalah bagian dari proses ekstraksi ciri. Segmentasi bertujuan untuk
mendapatkan segmen citra digital yang tegas antara layar belakang obyek pada
citra digital.
28
Dari ketiga fitur tersebut, yang menjadi pusat perhatian adalah warna.
Maka selanjutnya akan dibahas lebih lanjut tentang apa dan bagaimana fitur
tersebut diekstrak.
2.3.1. Ekstraksi Fitur Warna
Ada beberapa metoda untuk mengekstrak fitur visual
menggunakan vitur warna, yaitu:
• Histogram warna
Merupakan fitur warna yang paling banyak digunakan.
Histogram warna sangat efektif mengkarakterisasikan
distribusi global dari warna dalam sebuah image.
• Moment warna
Ini merupakan representasi yang padat dari fitur warna
dalam mengkarakterisasikan warna citra.
• Tag bahasa warna
Penggunaan distribusi warna secara global terkadang
tidak menguntungkan karena adanya keterbatasan
kemampuan penglihatan manusia. Oleh karena itu
diperkenalkanlah tag bahasa warna. Ini merupakan cara
untuk mengindentifikasi citra dengan menyebut nama dari
warna.
Fitur yang diekstrak adalah warna, sehingga digunakanlah
histogram HSV (Hue Saturation Value). Untuk mendapatkan nilai hue
dari tiap pixel, digunakan perhitungan sebagai berikut:
29
Dimisalkan r, g, dan b masing-masing mewakili tingkat warna
merah, hijau, dan biru dari sebuah pixel, dimana masing-masing nilai r,
g, dan b memiliki nilai terendah 0 dan nilai tertinggi 255. Selain itu kita
juga punya max yang mana isinya adalah max(r, g, b) dan min yang
mana isinya adalah min(r, g, b). Sehingga digunakan rumus untuk
mendapatkan nilai h (Hue) sebagai berikut:
0, jika max = min
(60o x + 360o) mod 360o, jika max = r
60o x + 120o, jika max = g
60o x + 240o, jika max = g
Sehingga h memiliki nilai minimum 0 dan nilai maksimum 360
(0° - 360°). Setelah itu untuk menghitung nilai saturation digunakanlah
rumus:
0, jika max = 0
= 1 - , selain itu
Sedangkan untuk menghitung v (value) dari gambar berdasarkan
rumus sebagai berikut:
V = max
Sebenarnya ada beberapa rumus lain untuk mendapatkan nilai
Hue, tetapi rumus di atas dipilih karena rumus tersebut setidaknya
g-b max-min
b-r max-min
r-g max-min
h =
max-min max
min max
S =
30
digunakan di dua halaman web yang ditemukan, yaitu
http://en.wikipedia.org/wiki/HSV_color_space#Conversion_from_RGB_
to_HSL_or_HSV (ensiklopedia online) dan
http://en.literateprograms.org/RGB_to_HSV_color_space_conversion_(
C)#Efficient_integer_version (ensiklopedia online yang berfokus pada
bidang pemrograman).
2.4. Information Retrieval
Information Retrieval merupakan bagian dari computer science yang
berhubungan dengan pengambilan informasi dari dokumen-dokumen yang
didasarkan pada isi dan konteks dari dokumen-dokumen itu sendiri. Berdasarkan
referensi dijelaskan bahwa Information Retrieval merupakan suatu pencarian
informasi (biasanya berupa dokumen) yang didasarkan pada
suatu query (inputan user) yang diharapkan dapat memenuhi keinginan user dari
kumpulan dokumen yang ada. Sedangkan, definisi query dalam Information
Retrieval menurut referensi merupakan sebuah formula yang digunakan untuk
mencari informasi yang dibutuhkan oleh user, dalam bentuk yang paling
sederhana, sebuah query merupakan suatu keywords (kata kunci) dan dokumen
yang mengandung keywords merupakan dokumen yang dicari dalam IRS.
Model yang terdapat dalam Information Retrieval terbagi dalam 3 model
besar, yaitu:
1. Set-theoretic models, model merepresentasikan dokumen sebagai
himpunan kata atau frase. Contoh model ini ialah standard Boolean
model dan extended Boolean model.
31
2. Algebratic model, model merepresentasikan dokumen dan
query sebagai vektor atau matriks similarity antara vektor dokumen
dan vektor query yang direpresentasikan sebagai sebuah nilai skalar.
Contoh model ini ialah vector space model dan latent semantic
indexing (LSI).
3. Probabilistic model, model memperlakukan proses pengembalian
dokumen sebagai sebuah probabilistic inference. Contoh model ini
ialah penerapan teorema bayes dalam model probabilistik.
Proses dalam Information Retrieval dapat digambarkan sebagai sebuah
proses untuk mendapatkan relevant documents dari collection documents yang
ada melalui pencarian query yang diinputkan user.
Gambar 2.18. Proses Information Retrieval
Sistem Information Retrieval berupaya untuk mengoptimalkan proses
pencarian dan akses pada dokumen yang telah disimpan dalam bentuk elektronik
secara cepat dan akurat. Dewasa ini teknik Information Retrieval telah
berkembang luas dengan dikembangkannya banyak model. Dari sekian banyak
model IR system yang dikembangkan, hampir sebagian besar dari model-model
32
tersebut membandingkan isi dari dokumen terhadap query hanya berdasarkan set
term index yang tersedia saja. Hal ini dapat mengakibatkan performa IR system
yang kurang baik dikarenakan dua faktor. Yang pertama, akan banyak dokumen
yang tidak berkaitan dengan konsep atau ide yang diharapkan dihasilkan oleh IR
system hanya dikarenakan dokumen tersebut mengandung term index yang
dimasukkan dalam query. Yang kedua, banyak dokumen relevan yang tidak
dihasilkan oleh IR system, dikarenakan dokumen tersebut tidak mengandung
term yang diindex oleh query. Model Latent Semantic Indexing (LSI)
merupakan salah satu model sistem Information Retrieval yang menerapkan
prinsip Vector Space Model (VSM) yang keistimewaannya adalah memecahkan
masalah semantic dalam term sehingga dokumen yang tidak mengandung term
yang diminta pun dapat ditemukan karena memiliki hubungan dengan term yang
diminta. Gambar arsitektur dari LSI dapat dilihat pada gambar 2.19.
Gambar 2.19. Arsitektur LSI
33
Dari ilustrasi pada gambar 2.19, dapat dilihat bahwa input dari LSI
terdiri dari 2 jenis yaitu koleksi data asal yang akan menjadi topik dari pencarian
yang dilakukan LSI dan input yang kedua adalah berupa set query yang
merupakan kata kunci dari data yang ingin dicari oleh user. Koleksi data
sebelum dapat digunakan dalam proses query akan memerlukan beberapa proses
persiapan sebelumnya yang terdiri dari proses Lexical Analysis untuk
mengidentifikasi tiap kata yang memiliki potensi menjadi term index. Kemudian
langkah selanjutnya adalah dengan membentuk Term Data Matrix sebagai
inverted file dari LSI. Langkah terakhir dalam persiapan data adalah proses
dekomposisi matrix, yaitu memecah Term Data Matrix menjadi 3 matrix baru
yang nilai dari elemen 3 matrix tersebut dapat mengungkap hubungan
keterkaitan antar term dari tiap data. Metode yang digunakan untuk dekomposisi
matrix ada 2 cara yaitu Singular Value Decomposition atau disingkat SVD dan
Semi Discrete Matrix Decomposition atau disingkat SDD. SDD sebenarnya
merupakan pengembangan lebih lanjut dari SVD dengan penyempurnaan pada
masalah ruang penyimpanan matrix. Namun SDD dibanding dengan SVD
terdapat penurunan pada tingkat akurasi dokumen yang dihasilkan sebagai
jawaban untuk set query yang diminta. Perbandingan dan perbedaan dari kedua
metode matrix dekomposisi tersebut dapat diamati pada tabel 2.1.
34
Tabel 2.1. Perbandingan SVD dengan SDD
SVD SDD Matrix SVD
Matrix U dan V pada SVD menggunakan bilangan real untuk elemen matrixnya
Matrix SDD Matrix X dan Y pada SDD menggunakan
kombinasi angka -1, 0, atau 1 untuk elemen matrixnya
Ruang Penyimpanan SVD membutuhkan ruang penyimpanan
sebesar k (m+n+1) untuk matrixnya
Ruang Penyimpanan SDD hanya membutuhkan ruang sebesar k
(m+n) untuk menyimpan matrixnya Perhitungan SVD
Nilai matrix SVD dicari berdasarkan nilai eigen dan vector eigen
Perhitungan SDD Nilai matrix SDD didapatkan dari hasil
iterasi matrix
2.5. Latent Semantic Indexing
Latent Semantic Indexing (LSI) adalah sebuah metode indexing dan
retrieval yang menggunakan sebuah teknik matematika yang disebut Singular
Value Decomposition (SVD) untuk mengidentifikasi pola-pola dalam hubungan-
hubungan antara kondisi-kondisi dan konsep-konsep yang terdapat dalam sebuah
koleksi teks tak berstruktur.
2.5.1. Sejarah Latent Semantic Indexing
Istilah LSI (Latent Semantic Indexing) mulai muncul pada tahun
2003 ketika Google membeli sebuah perusahaan bernama Applied
Semantics, dimana teknologi piranti lunak dikembangkan untuk dapat
mengekstrak dan mengorganisasikan informasi dari situs-situs web
layaknya manusia yang mengerjakan. Tujuan dari Google membeli
teknologi tersebut adalah untuk mencocokan iklan Adsense (milik
Google) dengan halaman web yang sesuai sehingga iklan yang relevan
akan muncul pada halaman yang tepat. Sebelumnya Adsense hanya
35
mencocokan kata kunci pada suatu halaman dengan kata kunci pada
iklan Adsense tersebut. Namun masalah segera muncul ketika jutaan
halaman dibuat hanya untuk berisi kata-kata kunci agar menarik
(menjebak) pengunjung untuk mengklik iklan.
Latent semantic indexing memberikan langkah penting bagi
proses pengindeksan dokumen. Selain mencatat kata-kata kunci di dalam
sebuah dokumen, ia juga mempelajari dokumen tersebut secara
keseluruhan. Walaupun demikian, algoritma LSI sebenarnya tidak bisa
untuk memahami arti dari kata-kata, ia hanya memperhatikan pola-pola
yang ada sehingga membuat algoritma ini seolah cerdas.
2.5.2. Singular Value Decomposition
SVD (Singular Value Decomposition) adalah salah satu teknik
untuk mengolah matriks dari cabang ilmu aljabar linear yang
diperkenalkan oleh Beltrami pada tahun 1873. SVD merupakan salah
satu alat matematis yang digunakan untuk merepresentasikan sebuah
matriks dan mampu melakukan berbagai analisis dan komputasi matriks.
Dalam aljabar linier, SVD adalah sebuah faktorisasi penting dari
sebuah matriks persegi bilangan real atau pun kompleks, dengan banyak
pengaplikasiannya di bidang signal processing dan statistic.
Dimisalkan A adalah sebuah matriks m kali n dimana entri-
entrinya diperoleh dari K (sekumpulan bilangan real atau pun kompleks).
Sehingga kemudian bentuk faktorisasinya adalah A = USVT dimana U
adalah sebuah matriks unitary m kali m dari K, sedangkan matriks S
36
adalah matriks diagonal m kali n dengan bilangan real non negative pada
diagonalnya, dan VT merupakan transpose konjugasi dari V (sebuah
matriks unitary n kali n dari K). Faktorisasi semacam ini disebut SVD
dari A.
Umumnya entri-entri diagonal Si,i disusun sedemikian rupa
sehingga bergaya non-increasing. Dalam kasus semacam ini, matriks
diagonal S ditentukan secara unik oleh A (walaupun matriks U dan V
tidak). Entri-entri diagonal dari S adalah singular values dari A.
Pada A = USVT , kolom-kolom dari V membentuk sebuah set
arah vektor berbasis “input” orthonormal untuk A (ini merupakan
eigenvector dari [AT][A]). Kolom-kolom dari U membentuk sebuah set
arah vektor berbasis “output” orthonormal untuk A (ini merupakan
eigenvector dari [A][AT]). Nilai-nilai dari diagonal matriks S adalah
singular values, yang mana bisa disebut sebagai “gain controls” scalar
yang mana setiap input yang bersangkutan dikali agar memberikan
output yang bersangkutan (ini merupakan akar kuadrat dari eigenvalue
yang bersangkutan dengan kolom-kolom yang sama pada U dan V).
2.5.3. K-means
Setelah proses SVD dilakukan, maka kumpulan feature vector
seolah membentuk kumpulan titik-titik koordinat di bidang dua dimensi.
Selanjutnya, dari titik-titik tersebut akan dibentuk kelonpok-kelompok
dengan menggunakan metode K-means clustering.
37
K-means clustering adalah sebuah metode analisa cluster yang
mana bertujuan untuk membagi n observasi ke dalam k cluster yang
mana tiap observasi merupakan anggota dari cluster berdasarkan titik
tengah terdekatnya.
Pada K-Means clustering, pengelompokan data dilakukan
berdasarkan jarak data ke titik pusat kelompok. Jumlah kelompok yang
ingin dibentuk ditentukan terlebih dahulu dan kemudian akan dicari
posisi titik pusat setiap kelompok dan data apa saja yang termasuk ke
dalam kelompok tersebut. Algoritma yang harus dilakukan adalah:
- Tentukan jumlah kelompok yang akan dibentuk.
- Tentukan posisi setiap pusat kelompok. Tidak ada aturan pasti
untuk menentukan posisi awal pusat kelompok. Cara yang
biasa digunakan adalah secara random atau dengan memilih
beberapa data sebagai pusat kelompok.
- Periksa jarak setiap data ke setiap pusat kelompok. Data
tersebut akan dimasukkan ke dalam kelompok yang terdekat
dengannya.
- Hitung kembali posisi setiap pusat kelompok dengan cara
menambahkan jarak tiap data ke pusat kelompok, kemudian
dibagi dengan banyaknya data kelompok tersebut.
- Periksa kembali setiap data untuk menentukan keanggotaan
data dengan menggunakan pusat kelompok yang baru. Bila
ternyata terjadi perubahan, maka pusat setiap kelompok harus
38
dihitung kembali. Proses ini dilakukan terus menerus hingga
tidak ada perubahan lagi pada keanggotaan data.
Metode ini merupakan salah satu metode yang paling mudah
diimplementasikan. Namun bila metode ini dilakukan berulang kali
untuk himpunan data yang sama, hasilnya belum tentu sama. Hasil
metode ini akan sangat tergantung pada penempatan pertama posisi pusat
kelompok yang biasanya dilakukan secara random.
Jika diberikan sekumpulan observasi (x1, x2, …, xn) dimana tiap
observasi merupakan sebuah vektor bilangan real pada sebuah ruang D
dimensi, kemudian k-means clustering membagi sekumpulan observasi
tersebut dinyatakan sebagai (k < n) S={S1,S2,…,Sk}.
Proses k-means clustering:
Gambar 2.20. k-means clustering
39
1. Dari sekumpulan data yang kita miliki ditentukan berapa jumlah
cluster yang mau dibentuk, misalnya k = 5.
Gambar 2.21. tampilan data pada k-means clustering
2. Lalu ditentukan 5 titik pusat bagi masing-masing cluster secara
random.
Gambar 2.22. tampilan hasil titik pusat yang telah dilakukan secara rando
40
3. Lalu semua titik dibandingkan jaraknya dengan kelima titik pusat
tersebut, titik pusat yang terdekat menjadi cluster bagi masing-
masing titik tersebut.
Gambar 2.23. tampilan titik pusat yang telah dibentuk pada masing-masing
cluster
4. Dari masing-masing cluster yang terbentuk tersebut dibentuk lagi
titik pusatnya masing-masing.
Gambar 2.24. tampilan titik pusat pada masing-masing cluster yang telah
dibentuk kembali
41
5. Kemudian langkah 3 sampai seterusnya diulang sampai terjadi
konvergensi.
2.5.4. Metode LSI lebih lanjut
Dimisalkan A adalah sebuah matriks berukuran m kali n dimana
tiap baris m adalah sebuah fitur yang diekstrak dari gambar dan tiap
kolom n adalah sebuah gambar.
G1 G2 G… … Gn
… … … … … F1
… … … … … F2
A = … … … … … F…
… … … … … …
… … … … … Fm
Jadi sebuah kolom adalah sebuah feature vector dari sebuah
gambar. Lalu dari sebuah matriks tersebut dipecah menjadi A = USVT.
Misal, ada 3 buah gambar yang memiliki kesamaan dan mau dibentuk
kelas/kategori sendiri, masing-masing gambar diambil 11 fitur:
42
1 1 1
0 1 1
1 0 0
0 1 0
1 0 0
A = 1 0 1
1 1 1
1 1 1
1 0 1
0 2 0
0 1 1
Sehingga setelah dilakukan proses dekomposisi diperolehlah
matriks-matriks sebagai berikut:
43
-0.4201 0.0748 -0.0460
-0.2995 -0.2001 0.4078
-0.1206 0.2749 -0.4538
-0.1576 -0.3046 -0.2006
-0.1206 0.2749 -0.4538 4.0989 0.0000 0.0000
U = -0.2626 0.3794 0.1547 S = 0.0000 2.3616 0.0000
-0.4201 0.0748 -0.0460 0.0000 0.0000 1.2737
-0.4201 0.0748 -0.0460
-0.2626 0.3794 0.1547
-0.3151 -0.6093 -0.4013
-0.2995 -0.2001 0.4078
-0.4945 0.6492 -0.5780 -0.4945 -0.6458 -0.5817
V = -0.6458 -0.7194 -0.2556 VT = 0.6492 -0.7194 0.2469
-0.5817 0.2469 0.7750 -0.5780 -0.2556 0.7750
Lalu selanjutnya dimensi bagi setiap feature vector direduksi
menjadi 2 dimensi, sehingga kita ambil Rank 2 Approximation (k = 2)
seperti terlihat pada gambar berikut:
44
-0.4201 0.0748 k = 2
-0.2995 -0.2001
-0.1206 0.2749
-0.1576 -0.3046
-0.1206 0.2749
U ≈ Uk = -0.2626 0.3794 S ≈ Sk = 4.0989 0.0000
-0.4201 0.0748 0.0000 2.3616
-0.4201 0.0748
-0.2626 0.3794
-0.3151 -0.6093
-0.2995 -0.2001
-0.4945 0.6492
V ≈ Vk = -0.6458 -0.7194 VT ≈ VTk = -0.4945 -0.6458 -0.5817
-0.5817 0.2469 0.6492 -0.7194 0.2469
45
Jadi, “koordinat” bagi tiap gambar bisa didapat dari matriks V, yaitu:
• G1 = (-0.4945, 0.6492)
• G2 = (-0.6458, -0.7194)
• G3 = (-0.5817, 0.2469)
Langkah pertama adalah merepresentasikan teks sebagai matriks
yang setiap barisnya mewakili kata yang unik dan setiap kolom mewakili
kalimat. Setiap sel berisikan frekuensi kemunculan kata di setiap kolom.
Selanjutnya, isi dari sel merupakan transformasi preliminary yang
detilnya akan dideskripsikan kemudian, yang masing–masing frekuensi
sel diberi bobot oleh sebuah fungsi yang menghasilkan keutamaan kata
dalam sebuah kalimat.
Selanjutnya, metode ini mengaplikasikan SVD (Singular Value
Decomposition) ke dalam matriks. Dalam SVD, matriks persegi
didekomposisi menjadi tiga matriks lainnya. Matriks pertama
mendeskripsikan baris asli sebagai vector turunan nilai factor orthogonal.
Satu matriks lagi mendeskripsikan kolom seperti sebelumnya. Matriks
ketiga adalah matriks diagonal yang memuat nilai skala jika ketiga
komponen matriks dikalikan.
Dari matriks-matriks yang telah dibuat, akan ditemukan kata
yang berhubungan dengan kata kunci yang dicari. Kemudian, dari kata-
kata tersebut, dicarilah halaman-halaman web yang sesuai dari daftar
alamat web yang terdapat pada basis data.
46
2.6. Supervised Learning
Supervised learning adalah teknik pembelajaran mesin dengan membuat
suatu fungsi dari data latihan. Data latihan terdiri dari pasangan nilai input
(biasanya dalam bentuk vektor), dan output yang diharapkan untuk input yang
bersangkutan. Tugas dari mesin supervised learning adalah memprediksi nilai
fungsi untuk semua nilai input yang mungkin, setelah mengalami sejumlah data
latihan.
Untuk mencapai tujuan ini, mesin harus dapat melakukan proses
generalisasi dari data latihan yang diberikan, untuk memprediksikan nilai output
dari input yang belum pernah diberikan sebelumnya dengan dara yang masuk
akal.