Blog Archives

Jaringan Syaraf Tiruan untuk Identifikasi Jenis Bunga


Jaringan syaraf tiruan (neural network) merupakan algoritma yang mampu melakukan identifikasi suatu kelas berdasarkan ciri masukan yang diberikan. Algoritma ini akan melatihkan ciri masukan yang diberikan pada masing-masing kelas sehingga diperoleh suatu arsitektur jaringan dan bobot-bobot awal yang mampu memetakan ciri masukan ke dalam kelas keluaran.

Terdapat banyak jenis jaringan syaraf tiruan, di antaranya adalah backpropagation, perceptron, probablistik neural network, radial basis network, dll.

Berikut ini merupakan contoh pemrograman matlab (menggunakan matlab r2015b) untuk mengidentifikasi jenis bunga menggunakan algoritma jaringan syaraf tiruan radial basis network (rbfnn). Pada proses pelatihan jaringan digunakan 100 citra latih yang terdiri dari 50 citra bunga dengan jenis kansas state flower dan 50 citra bunga berjenis marguerite daisy. Sedangkan pada proses pengujian digunakan 60 citra uji yang terdiri dari 30 citra bunga kansas state flower dan 50 citra bunga marguerite daisy.

Citra bunga yang digunakan dalam pemrograman ini diunduh dari halaman website http://www.robots.ox.ac.uk/~vgg/data/flowers/17/. Contoh citra bunga yang digunakan ditunjukkan pada gambar berikut.

-read more->

Pengolahan Citra untuk Ekstraksi Ciri Objek


Ekstraksi ciri citra merupakan tahapan mengekstrak ciri atau informasi yang dimiliki oleh suatu objek dalam citra. Ciri atau informasi tersebut dapat digunakan untuk membedakan antara objek yang satu dengan objek lainnya.

Ekstraksi ciri citra merupakan tahapan yang sangat penting dalam sebuah sistem visi komputer. Tahapan ini menentukan baik tidaknya tingkat pengenalan objek yang dilakukan oleh komputer.

Dalam pemilihan ciri hendaknya memperhatikan hal-hal sebagai berikut:

  1. Secara visual, ciri apakah yang membedakan antara objek satu dengan lainnya. Apakah bentuknya, warnanya, teksturnya, ukurannya, atau geometrinya.
  2. Parameter apakah yang mewakili ciri tersebut. Misalnya secara visual antara objek satu dengan lainnya tampak berbeda ukurannya, maka parameter yang dapat digunakan untuk mengenali objek adalah luas.
  3. Menentukan jumlah parameter yang akan digunakan. Semakin banyak parameter pada umumnya tingkat pengenalan semakin baik. Namun harus dipastikan bahwa parameter-parameter yang digunakan benar-benar dapat membedakan antar objek.

Ciri yang diekstrak dalam tahapan ekstraksi ciri kemudian digunakan sebagai masukan dalam tahapan klasifikasi objek. Tahapan klasifikasi dapat menggunakan berbagai jenis algoritma ataupun dapat juga menggunakan aturan if else sederhana.

Berikut ini merupakan contoh pemrograman komputer menggunakan bahasa pemrograman MATLAB untuk melakukan ekstraksi ciri objek dalam citra digital. Citra yang digunakan adalah citra sand play set.jpg yang ditunjukkan pada gambar di bawah ini:

sand play set.jpg

-read more->

Pengolahan Video untuk Mendeteksi Warna


Deteksi warna dapat dilakukan dengan cara melakukan transformasi ruang warna citra. Berikut ini merupakan contoh pemrograman matlab mengenai deteksi warna merah pada ruang warna HSV yang terdiri dari Hue (H), Saturation (S), dan Value (V). Langkah-langkah pemrogramannya adalah sebagai berikut:
1. Membaca video asli
2. Mengekstrak setiap frame pada video asli
3. Melakukan transformasi ruang warna yang semula berada pada ruang warna RGB menjadi ruang warna HSV
4. Melakukan segmentasi warna merah pada ruang warna HSV berdasarkan nilai H (0.8 s.d 1), S (0.5 s.d 1) dan V (0.1 s.d 1)
5. Menjalankan seluruh frame hasil pengolahan secara sekuensial dalam bentuk video

Pada contoh ini digunakan video dengan spesifikasi:

Property Nilai
Title August Rush 2007.mp4
Durasi 5 detik
Panjang frame 640
Lebar frame 480
Frame rate 23 frame/ detik
Jumlah frame 119

Tampilan video yang digunakan yaitu

-read more->

Segmentasi Warna Citra Digital


Segmentasi citra merupakan suatu proses yang bertujuan untuk memisahkan antara region foreground dengan region background. Pemisahan tersebut didasarkan pada perbedaan karakteristik masing-masing region yang mencolok.

Pada contoh pemrograman ini, dilakukan segmentasi citra berdasarkan pada perbedaan warna antara foreground dengan background. Dalam citra digital, warna yang merupakan spektrum cahaya tampak (merah, jingga, kuning, hijau, biru, ungu) direpresentasikan oleh nilai Hue. Oleh sebab itu, proses segmentasi citra pada pemrograman ini dilakukan pada ruang warna HSV (Hue, Saturation, Value).

Langkah-langkah pemrograman matlab untuk melakukan segmentasi warna adalah sebagai berikut:
1. Membaca dan menampilkan citra asli. Citra yang digunakan adalah citra bird.jpg di mana foreground atau objek yang dimaksud adalah berupa burung.

clc; clear; close all; warning off all;

% Membaca citra asli
RGB = imread('bird.jpg');
figure, imshow(RGB);

diperoleh tampilan

-read more->

Pengolahan Citra Biner


Penghitungan terhadap atribut-atribut yang melekat pada suatu objek dalam citra digital secara sederhana dapat dilakukan dengan cara mengkonversi citra asli (RGB ataupun grayscale) menjadi citra biner terlebih dahulu. Setelah diperoleh citra biner, maka selanjutnya atribut-atribut (misalnya luas dan keliling) dapat dihitung. Namun terkadang citra biner tersebut perlu diolah lebih lanjut agar citra biner benar-benar tepat merepresentasikan objek yang dimaksud.

Berikut ini merupakan contoh pemrograman matlab untuk melakukan proses segmentasi  dan analisis citra. Langkah-langkah nya yaitu:
1. Membaca dan menampilkan citra asli. Citra yang digunakan adalah citra ‘airplane.jpg’ di mana objek yang dikehendaki adalah berupa pesawat, sedangkan background adalah berupa langit.

clc; clear; close all; warning off all;

Img = imread('airplane.jpg');
figure, imshow(Img);

sehingga diperoleh tampilan

-read more->

Pengolahan Citra untuk Deteksi Warna Kulit (Skin Detection)


Deteksi warna kulit (skin color detection) merupakan salah satu proses segmentasi yang memisahkan region objek dalam citra berdasarkan pada perbedaan warna. Objek yang memiliki warna tertentu dipisahkan dengan objek yang memiliki warna lainnya. Hasil segmentasi dapat digunakan untuk proses selanjutnya seperti ekstraksi ciri atau klasifikasi citra. Pada contoh ini, warna kulit didefiniskan dalam ruang warna  YCbCr dengan nilai Cb antara 77 s.d 127 dan nilai Cr antara 133 s.d 173.

Deteksi warna kulit merupakan salah satu tahapan awal dalam computer vision untuk mendeteksi hal-hal yang berkaitan dengan manusia (people detection). Deteksi warna kulit dapat dijadikan sebagai metode segmentasi  untuk pengenalan wajah (face recognition) maupun pengenalan organ tubuh lainnya. Sistem tersebut dapat dikembangkan lebih lanjut untuk sistem biometrik.

Langkah-langkah proses segmentasi warna kulit adalah sebagai berikut:
1. Melakukan penyeimbangan warna RGB (Color Balanced 24-bit RGB Image)
2. Melakukan transformasi ruang warna RGB menjadi YCbCr
3. Melakukan segmentasi warna kulit berdasarkan nilai Cb antara 77 s.d 127 dan nilai Cr antara 133 s.d 173
4. Menampilkan hasil segmentasi

Hasil segmentasi ditunjukkan pada gambar berikut:

No                     Citra Asli      Hasil Deteksi Warna Kulit
1 image1 image1out
2 image2 image2out
3 image3 image3out
4 image4 image4out

-read more->

Thresholding Citra


Citra digital merupakan representasi dari fungsi intensitas cahaya dalam bidang dua dimensi. Berdasarkan jenis warnanya, citra dapat dikelompokkan menjadi tiga jenis yaitu citra RGB, citra grayscale, dan citra biner.

Citra RGB

Citra Grayscale

Citra Biner

lena lena_gray lena_bw

Citra RGB merupakan citra yang tersusun oleh tiga kanal warna yaitu kanal merah, kanal hijau, dan kanal biru. Pada citra RGB 24-bit, masing-masing kanal warna memiliki nilai intensitas piksel dengan kedalaman bit sebesar 8-bit yang artinya memiliki variasi warna sebanyak 2^8 = 256 derajat warna (0 s.d 255). Setiap piksel pada citra RGB memiliki nilai intensitas yang merupakan kombinasi dari nilai R, G, dan B. Variasi warna pada setiap piksel pada citra RGB adalah sebanyak 256 x 256 x 256 = 16.777.216.

-read more->

%d bloggers like this: