Senin, 22 Juni 2009

TUGAS 7

Buatlah karya tulis editor yang berisi tentang Aplikasi Pengolahan Citra, terutama Image Retrieval, Pengenalan Angka dan Huruf, dan Deteksi Warna Kulit. Diposting pada blog masing-masing, kemudian cantumkan link-nya pada komentar dibawah ini, dengan memasukkan nomor dan nama. Ditunggu paling lambat tanggal 7 Juli 2009.

Aplikasi Pengolahan Citra


Image retrieval

Ada dua cara yang dapat dilakukan dalam pengambilan kembali suatu image atau image retrieval

a. context-based adalah pengambilan data dengan merujuk pada kandungan semantik berkaitan dengan image, biasanya berhubungan dengan deskripsi image misalnya keyword dari image.

b. content-based adalah pengambilan data dengan merujuk pada fitur image seperti warna, tekstur, bentuk, atau kombinasi atau yang biasa desebut dengan Content Based Image Retrieval (CBIR).


"Content-based" berarti pencarian yang sebenarnya akan menganalisa isi gambar. The term 'content' in this context might refer to colors, shapes, textures, or any other information that can be derived from the image itself. Istilah 'konten' dalam konteks ini mungkin merujuk pada warna, bentuk, textures, atau informasi lain yang dapat berasal dari gambar itu sendiri. Without the ability to examine image content, searches must rely on metadata such as captions or keywords, which may be laborious or expensive to produce. Tanpa kemampuan untuk memeriksa konten gambar, pencarian harus bergantung pada metadata seperti keterangan atau kata kunci, yang mungkin sulit atau mahal untuk memproduksi.

Pada perkembangannya teknik context based menjadi tidak praktis dikarenakan adanya ukuran basis data yang besar dan penilaian subjektif dalam mengartikan image dengan text. Untuk menghindari teknik ini, maka digunakan pendekatan lain dalam image retrieval yaitu content based.CBIR adalah salah satu metodologi untuk pemanggilan kembali data image berdasarkan content sebuah image. Teknik CBIR yang banyak digunakan adalah teknik warna, teknik tekstur, dan teknik bentuk. Pada sistem CBIR, content visual dari image akan diekstraksi dan diuraikan menggunakan metode pengekstrakan ciri. Untuk mendapatkan kembali image, user menginputkan query image. Kemudian sistem akan mengekstrak image tersebut sehingga menghasilkan fitur ciri image. Fitur ciri image query dan image dalam database akan dicari similaritynya. Image yang memiliki nilai similarity yang paling tinggi akan muncul diurutan teratas. Gambar dibawah ini memperlihatkan bentuk umum sistem CBIR. Pada image tersebut terdapat dua jalur utama yaitu query dan database. Pada kedua lajur tersebut terdapat visual content description yang akan digunakan untuk proses similarity comparison, indexing dan retrieval.


Sejarah

Istilah CBIR tampaknya ada berasal pada tahun 1992, ketika digunakan oleh T. Kato untuk menjelaskan percobaan otomatis menjadi media foto dari database, berdasarkan warna dan bentuk hadir. Since then, the term has been used to describe the process of retrieving desired images from a large collection on the basis of syntactical image features. Sejak itu, istilah ini telah digunakan untuk menjelaskan proses pengambilan gambar yang besar dari koleksi berdasarkan berhubung dgn sintaksis gambar fitur. The techniques, tools and algorithms that are used originate from fields such as statistics, pattern recognition, signal processing, and computer vision. Teknik, alat-alat dan algoritma yang digunakan berasal dari bidang seperti statistik, pengenalan pola, pemrosesan sinyal, dan visi komputer.



[1] Institut Teknologi Telkom: Content Based Image Retrieval (CBIR)
[2] Wikipedia: Image Retreival
[3] Murinto dkk: Deteksi Warna Kulit Wajah

Senin, 15 Juni 2009

Tugas 6

Buatlah program untuk mengimplementasikan beberapa metode thinning dan skletonizing.

Thinning dan Skeletoning

Pada dasarnya, proses skeletonizing dapat disamakan dengan proses thinning. Ada beberapa sumber yang menyamakan kedua istilah tersebut. Sementara beberapa sumber yang lainnya menyatakan bahwa thinning adalah salah satu metode yang dipakai dalam melakukan skeletonizing (thinning adalah bagian dari skeletonizing). Akan tetapi—untuk mempermudah pembahasan—maka pada makalah ini, kami menggunakan persepsi bahwa arti istilah “skeletonizing” adalah sama dengan istilah “thinning” untuk melakukan pembahasan mengenai topik “thinning” ini.

Skeletonizing—untuk selanjutnya akan digunakan istilah “thinning”—merupakan salah satu pemrosesan citra (image processing) yang digunakan untuk hal berikut.
a. Mengurangi suatu daerah (region) menjadi suatu grafik/ kurva dengan memperoleh kerangka (skeleton) dari daerah tersebut. Dengan demikian, image tersebut ditransformasikan menjadi bentuk struktural.
b. Mengurangi suatu daerah yang tebal atau bergumpal menjadi unit-unit dengan pixel-pixel tunggal. Dengan demikian, image tersebut ditransformasikan menjadi garis-garis pixel.
Kedua butir di atas (a dan b) sebenarnya memiliki inti yang sama, yang secara umum dapat disimpulkan sebagai berikut:
Thinning merupakan salah satu image processing yang digunakan untuk mengurangi ukuran dari suatu image (image size) dengan tetap mempertahankan informasi dan karakteristik penting dari image tersebut. Hal ini diimplementasikan dengan mengubah image awal dengan pola binary menjadi representasi kerangka (skeletal representation) image tersebut.

Thinning merupakan tahapan yang penting dalam proses image processing. Hal ini dikarenakan prosedur thinning memainkan peranan yang penting dalam suatu ruang lingkup yang luas dari masalah yang timbul dalam image processing. Ruang lingkup tersebut dapat bermula dari pengawasan otomatis dari sirkuit yang dicetak sampai pada penghitungan serat-serat asbes dalam penyaring udara.
Representasi kerangka dari suatu image—hasil dari proses thinning—memiliki sejumlah sifat dan ciri-ciri yang bermanfaat, diantaranya ukurannya yang kecil (karena pengurangan jumlah data dalam jumlah yang besar) dan pertahanan komponen struktur utama dari pola tersebut (komponen-komponen tersebut dapat digunakan pada saat penganalisaan bentuk).

Metodologi Image-Thinning

Metodologi dari thinning diartikan sebagai algoritma-algoritma atau prosedur-prosedur yang dapat digunakan untuk melakukan proses thinning tersebut. Suatu metode (algoritma/ prosedur) thinning yang baik seharusnya melindungi dan mempertahankan topologi, panjang, dan orientasi dari image yang di-thinning. Sementara itu, hasil proses thinning (skeletal representation) seharusnya mampu merepresentasikan fitur-fitur utama seperti penggabungan, pojok (sudut), dan titik akhir.
Secara umum, image-thinning berguna untuk mengurangi tresholded citra output yang dihasilkan dari edge detector, menjadi garis dengan ukuran ketebalan satu pixel saja. Untuk mewujudkan kegunaan ini, terdapat algoritma sederhana yang dapat diaplikasikan, yakni sebagai berikut:
Umpamakan semua piksel pada batas-batas daerah foreground (contohnya titik-titik pada foreground hanya memiliki satu background neighbour. Hapus semua titik yang memiliki foreground neighbour lebih dari satu. Lakukan berulang-ulang sampai konvergen.
Atau dengan rumus sederhana: thin (i, j) = i – hit -dan-miss (i, j)
Algoritma ini tidak bisa memberikan efek pada pixel-pixel di akhir garis. Cara ini dapat disempurnakan dengan cara melakukan hit-dan-miss dengan struktur elemen yang dirotasikan 900.
Namun, selain dari algoritma sederhana di atas, masih terdapat beberapa jenis metodologi dari image-thinning yang diklasifikasikan sebagai berikut:
a. berdasarkan tipe image yang akan dilakukan proses thinning.
1. Binary Image Algorithm
2. Gray-scale Image Algorithm

b. berdasarkan unsur-unsur image yang dipertimbangkan untuk melakukan proses thinning.
1. Local Algorithm
2. Non-local Algorithm

c. berdasarkan algortima matematika yang diterapkan dan hasil proses thinning yang dihasilkan.
1. Stentiford thinning Algorithm
2. Zhang Suen thinning Algorithm
3. Simple Edge Detection thinning Algorithm
4. Canny Edge Detection thinning Algorithm
5. Combination

Dari tiga klassifikasi di atas, kami lebih menekankan proses thinning dengan metodologi berdasarkan tipe image (yakni Binary Image Algorithm dan Gray-scale Image Algorithm). Oleh karena itu, dalam makalah ini, kami akan membahas lebih mendetil mengenai kedua algoritma tersebut. Selain itu, kami juga akan memperlihatkan hasil proses thinning suatu image dengan mengimplementasikan kedua algoritma tersebut.

Adapun penjelasan dari tiap klasifikasi metodologi di atas adalah sebagai berikut:
A. Berdasarkan tipe image yang akan dilakukan proses thinning.

Binary Image Algorithm
Seperti halnya operator morfologi lainnya, operasi thinning dipengaruhi oleh suatu struktur elemen. Struktur elemen biner yang digunakan dalam thinning adalah transformasi hit-dan-miss. (Mengenai struktur elemen dan transformasi hit-dan-miss akan dibahas pada bagian berikutnya).
Proses thinning dari suatu image i, dengan struktur elemen j, adalah:
thin (i, j) = i – hit -dan-miss (i, j)
dimana subtraksi (pengurangan) yang dilakukan disini adalah substraksi logik yang didefinisikan sebagai X-Y = X NOT Y
Gray-scale Image Algorithm
Gray-scale Thinning Algorithm diimplementasikan berdasarkan analisa binary image. Hal ini menyatakan bahwa untuk melakukan proses thinning pada gray-scale image, hal pertama yang harus dilakukan adalah meng-convert gray-scale image tersebut menjadi binary image terlebih dahulu. Proses ini dikenal dengan proses theresholding. Setelah itu, baru dapat dilakukan proses thinning sama seperti proses thinning pada binary image yang telah dijelaskan pada bagian sebelumnya. Dengan demikian:

gray-scale image algorithm
= (gray-scale image convert to binary image--theresholding) +
binary image algorithm
Dengan pendekatan ini (theresholding), algoritma penerapan thinning pada sebuah citra gray-scale menjadi tidak jauh berbeda dengan penerapannya pada citra biner. Yang membedakan keduanya hanyalah adanya proses thresholding pada tahap awal thinning untuk terlebih dahulu mengubah citra gray-scale tersebut menjadi sebuah citra biner.

Pada proses thresholding, ditetapkan suatu nilai batas / ambang, dimana elemen-elemen (piksel) pada citra yang nilainya lebih kecil daripada nilai batas tersebut ‘dimatikan’, dan elemen-elemen lainnya dianggap ‘menyala’, dan keduanya diubah nilainya sesuai statusnya (seperti dijelaskan pada bagian sebelumnya, kedua status ini hanya memiliki dua kemungkinan nilai, yaitu 0 atau 1).

Proses ini juga diterapkan dalam proses thinning citra berwarna, dengan terlebih dahulu mengubah citra berwarna (RGB) tersebut menjadi citra gray-scale. Hal ini dapat dilakukan dengan cara mengganti nilai setiap elemen dari citra berwarna dengan nilai rata-rata komponen merah, hijau, dan biru dari elemen tersebut.

Prinsip algoritma gray-scale thinning:
Kebanyakan gray-scale thinning algorithm dibangun untuk meng-extract objek dan menipiskannya untuk memisahkan dari image background. Berikut adalah algoritma thinning untuk gray-scale image:


Pustaka:

[1] Tugas Kelompok 6
[2] Andreas Nataniel dkk: Algoritma Thinning dan Penjelasannya
[3] A Thinning Algorithm
[4] A Skeletonization Algorithm

Senin, 08 Juni 2009

TUGAS 5

Buatlah program untuk mengenali angka dari 0 sampai 9, menggunakan metode histogram proyeksi.

Histogram Proyeksi


Proyeksi didefinisikan di sini sebagai suatu operasi yang biner gambar peta yang menjadi satu-dimensi array disebut histogram atau proyeksi profil. Nilai-nilai dari histogram adalah jumlah dari pixel hitam sepanjang arah tertentu. Dua jenis histograms ditentukan. Mereka adalah di 0-derajat (horizontal proyeksi histogram) dan 90 derajat (vertikal proyeksi histogram) dengan melihat pada sumbu horisontal y.

Suatu horisontal proyeksi histogram h (x) dari gambar biner ƒ (x, y) adalah jumlah pixel hitam diproyeksikan ke sumbu vertikal x. Suatu Vertikal proyeksi histogram v (y) dari gambar biner ƒ (x, y) adalah jumlah pixel hitam diproyeksikan ke horisontal sumbu y. Vertikal dan horisontal pada proyeksi histograms dari angka 2 adalah sebagai contoh ditampilkan pada gambar.


TUGAS
Buatlah program untuk mengenali angka dari 0 sampai 9, menggunakan metode histogram proyeksi.


Pustaka:

[1] Daniel X. Le, George R. Thoma: Automated portrait/landscape mode detection on a binary image
[2] PA - DIAN WULAN RAMADHANI: PEMBUATAN VIDEO PANORAMA DENGAN MENGGUNAKAN IMAGE MOSAIC DAN TRANSFORMASI EPIPOLAR

Rabu, 27 Mei 2009

TUGAS 4

Buatlah program untuk menghilangkan latar belakang dari suatu image sederhana yang terdiri dari obyek (kotak, lingkaran dan segitiga) dan latar belakang dengan beda warna yang berbeda.