Yuyun : Pembentukan Boundry Objek Pada ….
1
PEMBENTUKAN BOUNDARY OBJEK PADA CITRA DIGITAL MENGGUNAKAN ACTIVE CONTOUR MODELS Yuyun Yumiarty1 Abstrack :The creation of object boundary system in digital image is a system that have ability to detect of object boundary that referred by image. The system was implemented uses a method that have ability to follow a movement image object, therefore this method was used frequently in medical, actually to observe the human body organ. The method is known as active contour models. The developed software is called PBOCid that implemented uses Matlab version 6.2 program. The compilation uses Matlab compiler with XP operating system. The final result of this experiment is an image that can clearly explaining a boundary of an object that referred to image and the image displaying of the object segmentation. Keywords : active contour models, deformable curve, snake, boundary, object 1. PENDAHULUAN Pengenalan objek (object recognition) pada citra menjadi masalah yang tidak mudah. Untuk dapat mengenal objek, langkah pertama yang harus dilakukan adalah memisahkan objek-objek tersebut dari lingkungannya agar dapat diolah lebih lanjut. Dari pernyataan tersebut melalui suatu metoda segmentasi model-based yang sudah diterapkan dalam aplikasi biomedicine, maka akan dilakukan penelitian mengenai pengolahan citra yang akan mendukung proses pemisahan objek atau lebih dikenal dengan istilah segmentasi objek. Metode yang digunakan dikenal sebagai energy-minimizing active contour models (snakes). active mengacu pada deformabilitas atau fleksibilitas snake untuk memperkecil energi dinamis yang diadaptasi oleh suatu citra 2. Proses pengekstraksian batas-batas objek diinisialisasi oleh suatu kontur yang diperkirakan dekat dengan batas-batas objek atau region yang diharapkan dalam citra. Selanjutnya algoritma snake mengatur perkiraan ini dengan memperkecil total energi snake sedemikian sehingga mengunci batas-batas tersebut. Pengenalan kontur mendasari langkah segmentasi objek, ketidaksinambungan intensitas citra sebagai indikator batasan-batasan objek, dapat saja terjadi disebabkan oleh faktor perubahan refleksi permukaan objek. Hal ini mempengaruhi hasil interpretasi citra yang dilakukan. Melalui pengamatan tersebut, pada penelitian ini active contour models diterapkan bersama dengan suatu teknik edge detection, diharapkan mampu meningkatkan efektivitas proses perkiraan awal kontur objek dan pemastian kesinambungan titik-titik kontur dengan baik. Sehingga hasil segmentasi objek yang diharapkan menjadi lebih baik dengan tingkat ketepatan bentuk kontur yang lebih akurat. Sehingga pemanfaatan perangkat citra untuk mendukung proses analisis objek, dapat dilakukan lebih maksimal. 2. TINJAUAN PUSTAKA Pada dasarnya dalam bidang komputer terdapat tiga bidang studi yang berkaitan dengan data citra digital, namun tujuan ketiganya berbeda, yaitu : 1. Grafika Komputer (Computer Graphics) Grafika komputer bertujuan menghasilkan citra (lebih tepat disebut grafik atau picture) dengan primitif-primitif geometri seperti garis, lingkaran, dan sebagainya.
Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
2
Primitif-primitif geometri tersebut memerlukan data deskriptif untuk melukis elemen-elemen gambar. 2. Pengolahan Citra (Image Processing) Pengolahan citra bertujuan memperbaiki kualitas citra agar lebih mudah diinterpretasi oleh manusia atau mesin (dalam hal ini komputer). Teknik–teknik pengolahan citra mentransformasikan citra menjadi citra lain. Jadi masukkannya adalah citra dan keluarannya juga citra, namun citra keluaran mempunyai kualitas lebih baik dari pada citra masukan. 3. Pengenalan Pola (Pattern Recognition/ Image Interpretation) Pengenalan pola mengelompokkan data numerik dan simbolik (termasuk citra) secara otomatis oleh mesin (dalam hal ini komputer). Tujuan pengelompokkan adalah untuk mengenali suatu objek di dalam citra. Komputer menerima masukan berupa citra objek yang akan diidentifikasi memproses citra tersebut, dan memberikan keluaran berupa deskripsi objek di dalam citra. 2.1 Citra Digital Citra digital adalah gambar pada bidang dwimatra (dua dimensi) yang apabila ditinjau dari sudut matematis citra digital merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang dwimatra. Citra digital dapat dipandang sebagai suatu fungsi bernilai real yang terdefinisi pada suatu persegi panjang. Setiap titik pada persegi panjang tersebut dikaitkan dengan sebuah bilangan yang menyatakan intensitas warna citra di titik itu. Dalam prakteknya, persegi panjang tadi dibagi atas sejumlah persegi panjang kecil yang disebut pixel, yang merupakan singkatan dari picture element. Setiap piksel dikaitkan dengan sebuah bilangan bulat di {0, 1, 2, ..., 255}. Untuk mudahnya, diasumsikan bahwa citra berwarna hitam-putih. Piksel yang berwarna dominan hitam dikaitkan dengan bilangan 0, piksel yang berwarna dominan putih dikaitkan dengan bilangan 255, sementara piksel yang berwarna abu-abu dikaitkan dengan bilangan 1 sampai dengan 254 bergantung pada derajat keabuannya. Dari proses digitalisasi diperoleh matriks {aij} dengan aij {0, 1, 2, ... , 255} menyatakan intensitas warna piksel Pij yang berkaitan. 2.2 Boundary Objek Pendeteksian kontur merupakan langkah awal membentuk boundary objek pada sebuah citra digtal. Kontur adalah rangkaian piksel-piksel tepi yang membentuk batas daerah (region boundary). Batas daerah berguna untuk mendeskripsikan bentuk objek dalam tahapan analisis citra seperti pengenalan objek. Melalui bentuk kontur mata kita mampu mendeteksi tepi-tepi objek di dalam citra. Representasi kontur telah menjadi salah satu topik penting dalam computer vision. Representasi kontur dapat berupa senarai tepi (edge list) atau berupa kurva. Senarai tepi merupakan himpunan terurut piksel-piksel tepi. Representasi kontur ke dalam kurva merupakan representasi yang kompak dan mangkus untuk analisis citra3. Misalnya, rangkaian piksel tepi yang membentuk garis dapat direpresentasikan hanya dengan sebuah persamaan garis lurus. Kode rantai (chain code) adalah suatu notasi kode arah senarai tepi yang menggambarkan batasan-batasan objek di dalam suatu citra. Kode rantai menyediakan informasi yang dapat memudahkan proses analisis citra lebih lanjut seperti proses pengenalan pola (pattern recognition). Arah yang digunakan adalah delapan arah mata angin seperti terlihat pada gambar 1. Dimulai dari sebuah piksel tepi dan searah jarum jam, arah setiap piksel tepi yang membentuk batas objek dikodekan dengan salah satu dari delapan kode rantai. Kode rantai merepresentasikan batas objek dengan koordinat
Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
3
piksel tepi pertama, lalu diikuti dengan senarai kode rantai selanjutnya. Hal ini ditunjukkan pada gambar 2.
Gambar 1 Ketentuan Arah Kode Rantai 2 Titik Awal 0 x
0
2
4
0 2 6
6
4
2 0
4 2
2 4
2 4
0 6 6
0 6
6
4
4 6
Kode Rantai : (X), 020244202424466466006602
Gambar 2 Pengkodean Batas Objek dengan Kode Rantai 2.3 Active Contour Models Active contour models dikenal dengan istilah “snake” adalah suatu kurva dinamik yang digunakan untuk merunut batas-batas (boundary) objek pada citra, merupakan model pendeteksian kontur yang mampu membentuk kontur objek secara akurat. Dengan menerapkan fungsi energy-minimizing, diawali dengan penempatan deformable curve pada objek, snake energy mencari titik pada citra yang memiliki energi paling minimum, hal itu akan membuat kurva tertarik ke titik tersebut. Pada akhir proses, deformable curve akan menempati boundary dari objek yang diinginkan di dalam citra, sehingga informasi mengenai titik-titik deformable curve dapat diketahui. Snake algorithm merupakan algoritma dasar active contour models. Algoritma ini membangkitkan kurva dengan melakukan perpindahan gerak seperti gerakan ular untuk menemukan boundary objek di dalam citra. Dimulai dari titik awal, ular mengubah bentuk (dirinya) sendiri ke dalam penyesuaian dengan bentuk kontur terdekat yang paling mencolok 4. Mekanisme pendeteksian boundary objek dengan active contour models, dapat dilihat pada gambar 3.
Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
4
(a) (b) (c) Gambar 3 Mekanisme Pendeteksian Boundary Objek dengan Active Contour Models Keterangan : (a) Inisialisasi posisi deformable curve. (b) Proses iterasi (pengulangan) dilakukan, sehingga kurva tertarik ke arah boundary objek yang benar. (c) Deformable curve menempati (cover) boundary objek yang dituju. 2.4 Model Matematis Snake Energy Istilah active pada active contour models mengacu pada deformabilitas atau fleksibilitas snake untuk memperkecil energi dinamis yang diadaptasi oleh suatu citra. Proses pengekstraksian boundary objek diinisialisasi oleh suatu kurva yang diperkirakan dekat dengan batas-batas objek atau region yang dituju pada citra. Secara matematis snake energy dirumuskan dari tiga jenis energi, berupa internal energy, external energy, dan image force.5: E snake = ∫ E snake (v ( s ))ds
Pers. 1
= ∫ E int (v ( s ))ds + ∫ E image (v ( s )) ds + ∫ E con (v ( s )) ds
2
Pers.
Keterangan : v (s ) : nilai koordinat (x(s), y(s)), dengan nilai s [0,1] E int : internal energy E image : image force
E con
: external energy
Sehubungan dengan spesifikasi algoritma snake yang digunakan, hasil akhir dari snake energy kemungkinan berbeda sesuai dengan fungsi energi-energi apa saja yang didefinisikan. 2.4.1 Internal Energy Internal energy dirumuskan dalam fungsi : Eint = (α ( s ) | v s ( s ) | 2 +( β ( s ) | v ss ( s ) | 2 ) / 2
Pers. 3
Keterangan : α(s ) : fungsi kesinambungan (stretching) β(s ) : fungsi pelengkungan (bending)
Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
5
Fungsi α(s) dan β(s) merupkan internal energy yang mempengaruhi performansi snake seperti halnya selaput dan wadah tipis. Internal energy merupakan energi yang akan membuat titik-titik pada deformable curve tetap terhubung dengan menciptakan kondisi yang membuat setiap titik selalu terletak berdekatan pada jarak yang relatif sama. 2.4.2 Image Force Pada image force ini digunakan tiga jenis fungsi yaitu line, edge dan term, yang dirumuskan dalam fungsi : E image =Wline E line +Wedge E edge +Wterm E term
Pers. 4
Keterangan : E line E edge
E term
: energi line functional : energi edge functional : energi termination functional
Image forces diasosiasikan dengan feature yang menarik deformable curve pada citra. Dengan menggunakan image force kita dapat mengatur pada feature apakah sebuah titik dari deformable curve akan tertarik. Dengan kata lain image force dapat dipandang sebagai gaya yang terdapat pada citra yang akan menarik deformable curve pada feature yang diinginkan. Line functional adalah jenis image force yang paling sederhana. Line functional berpusat pada intensitas citra itu sendiri. Line functional dapat dirumuskan sebagai berikut : E line = I ( x, y )
Pers.
5 Line functional akan menentukan kemanakah deformable curve akan tertarik, jika nilai koefisiennya positif, maka deformable curve akan tertarik ke arah garis yang gelap, sedangkan jika sebaliknya deformable curve akan tertarik pada garis yang terang. Edge functional digunakan untuk menarik deformable curve ke arah sebuah sudut. Edge functional dapat dirumuskan sebagai berikut : E edge = − | ∆I ( x, y ) | 2
Pers. 6
Efek dari edge functional adalah untuk membuat deformable curve tertarik pada sebuah kontur yang memiliki gradien yang tinggi (misal dari hitam [0] ke putih [255]) semakin tinggi kontras dari gradien tersebut, maka daya tarik dari edge functional akan semakin besar. Termination functional adalah digunakan untuk mencari titik akhir dari sebuah segmen garis dan sudut. Dengan mengkombinasikan kedua fungsi line functional dan edge functional dengan termination functional, snake akan mampu bergerak menuju feature yang diinginkan dengan akurasi yang tinggi. 2.4.3 External Energy
Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
6
External energy membatasi deformabilitas dari deformable curve, batasan yang diberikan oleh external energy dapat mengambil berbagai bentuk diantaranya adalah pegas dan repulse. Pada hakekatnya biasanya eksternal energy hampir tidak pernah digunakan. Setiap bentuk external energy memiliki tujuan masing-masing. Berikut adalah contoh beberapa external energy yang biasa digunakan yaitu : Energi pegas dapat dirumuskan sebagai berikut : E x = −k (l − l 0 )
Pers. 7
Dengan k adalah nilai konstanta pembatas, l adalah jarak kontraksi atau perpanjangan pegas, dan lo adalah jarak relaksasi dari pegas. Energi repulse dapat dirumuskan sebagai berikut : Ex = 1/ d 2
Pers. 8
Dengan d adalah jarak lokasi tertentu 2.4.4 Minimalisasi Energy Snake Jika energi snake pada persamaan 3 dinyatakan sebagai fungsi dari v, v ' , v '' dan s, dan dengan asumsi bahwa E ( v ) adalah gabungan dari energi eksternal dan energi image, maka dihasilkanlah persamaan : f (v, v' , v' ' , s ) = (α | v' | 2 +β | v ' ' | 2 ) / 2 + E (v) Pers. 9 ( v ( s , t )), selanjutnya v dibuat bervariasi terhadap waktu Sehingga :
vt ( s, t ) =
Pers. 10
∂v( s, t ) ∂t
v t ( s, t ) = −(α( s )v ' ( s, t ))'+( β( s )v ' ' ( s, t ))' '+∇E (v ( s, t ))
Pers. 11 Apabila nilai vt = 0 , hal itu berarti energi snake telah minimum, maka solusi telah ditemukan. Untuk kepentingan komputasi maka persamaan diatas dapat didiskretisasi dengan finite difference, sehingga : αi (vi − vi −1 ) − αi +1 (v i +1 − vi ) +β i −1(vi −2 − 2vi −1 + vi ) − 2 βi (vi −1 − 2vi + vi +1 ) + βi +1 (vi − 2vi +1 + vi +2 ) + ( f x (i ), f y (i )) = 0 Pers. 12
Persamaan
euler
diatas dapat dituliskan dalam bentuk matriks sebagai Αx + f x ( x, y ) = 0 dan Αy + f ( x, y ) = 0 dengan A sebuah “pentagonal bended matriks” yaitu :
Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
7
d1 e1 0 … 0 a1 b1 c1 b 0 … 0 a 2 2 c2 d 2 c2 a b3 c3 d 3 e3 0 … 0 A= 3 … … … … … … … … en −1 0 … 0 a n −1 bn −1 c n −1 d n −1 0 an bn c n d n en 0 …
dengan : ai = βi −1 bi = −αi − 2 βi −1 − 2 β i
ci = α i + α i +1 + β i −1 + 4 β i + β i +1 d i = −αi +1 − 2 βi − 2 βi +1 ei = βi +1
Secara iteratif persamaan tersebut dapat diselesaikan, dengan mengasumsikan nilai f konstan pada selang waktu tertentu, sedemikian sehingga persamaan menjadi : x (t ) = ( A + γI )' (γx (t −1) − f x (t −1)) y (t ) = ( A +γI )' (γy (t −1) − f y (t −1))
Pers.14 Pers. 15
Dimana γ adalah sebuah time step kecil, dengan menggunakan rumusan diatas maka nilai x (t ) dan y (t ) dapat dihitung secara iteratif. 2.5 Eksperimen Perunutan Boundary Objek Salah satu objek di dalam citra pada gambar 4 berikut, akan dideteksi boundary objeknya. Terdapat 6 bentuk citra yang akan ditampilkan, mulai dari penempatan deformable curve pada citra awal sampai dengan pembentukan boundary objek menggunakan algoritma snake.
(a) Deformable Curve pada Citra Awal
(b) Finalisasi Kurva Snake pada Citra Awal
Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
8
(c) Finalisasi Kurva Snake pada Kedalaman Citra
(d) Finalisasi Kurva Snake pada Citra Awal Dengan Cakupan (C)
(e) Finalisasi Kurva Snake pada Citra Tepi
(f) Finalisasi Kurva Snake pada Citra Awal Dengan Cakupan (E)
Gambar 4 Hasil Pendeteksian Boundary Objek Menggunakan Algoritma Snake Dapat dikatakan bahwa snake mampu bekerja pada jenis citra yang berbeda-beda, proses yang dilakukan sangat tergantung pada faktor-faktor pendukungnya. Salah satu diantaranya yang paling penting adalah posisi dan ukuran dari kurva awal (deformable curve). Faktor ini sangat menentukan performansi dari snake. Tahapan preprocessing image yang digunakan juga dapat mempengaruhi gerakan snake mulai dari deformable curve, semakin dekat posisinya dengan boundary objek maka semakin cepat waktu yang dibutuhkan untuk merunut boundary tersebut, begitupun sebaliknya. Termasuk perbedaan penggunaan operator edge. 3. JALANNYA PENELITIAN Sistem yang akan dikembangkan ini bertujuan untuk melakukan pengolahan citra, dalam hal merunut boundary objek yang dituju pada citra. Umumnya boundary objek merupakan batas-batas daerah yang berguna untuk mendeskripsikan bentuk objek pada tahapan analisis citra, dengan tahapan-tahapan pengembangan sebagai berikut : a. Mengidentifikasi kebutuhan sistem, yang terdiri dari spesifikasi kebutuhan data masukan dan data keluaran sistem, serta spesifikasi fungsional sistem. b. Membuat model fungsional yang akan menggambarkan urutan-urutan proses yang harus dilakukan oleh sistem, disini akan jelas terlihat data apa saja yang menjadi masukan dan menjadi data keluaran dari sebuah proses. Data flow diagram digunakan sebagai notasi penggambaran model fungsional ini, dimulai dari gambaran global sistem yang dibuat dalam bentuk diagram konteks, kemudian untuk menjelaskan rincian dari masing-masing proses
Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
c.
d. e. f.
9
maka diturunkan ke level diagram dibawahnya berupa data flow diagram level 0, level 1 dan seterusnya. Membuat kamus data yang memuat daftar dan penjelasan dari data yang terdapat dalam data flow diagram. Kamus data bertujuan agar semua bagian yang terlibat dalam pengembangan perangkat lunak seperti sistem analis, pemrogram dan pengguna, memiliki presepsi yang sama tentang suatu data. Mendesain struktur data, struktur menu dan antarmuka sistem Pada tahap implementasi dibuatkan sebuah prototype berdasarkan analisa dan desain sistem. Pada tahapan ini dilakukan pemilihan bahasa pemrograman sesuai dengan kebutuhan. Tahapan akhir dari penelitian ini adalah tahapan pengujian, yaitu menguji prototype yang telah dibuat menggunakan metode Black Box, yaitu pengujian dilakukan dengan memasukkan suatu input dan memeriksa apakah output yang dihasilkan sesuai dengan apa yang direncanakan.
4. HASIL DAN PEMBAHASAN 4.1 Tahap Analisa dan Desain Sistem Fungsi-fungsi utama yang dimiliki oleh sistem adalah fungsi pemasukkan data, fungsi pembentukan deformable curve, fungsi pendeteksian boundary objek, fungsi penentuan ukuran objek dan fungsi segmentasi objek, alur proses dari fungsi-fungsi utama tersebut dapat dilihat pada gambar 5 berikut ini :
Gambar 5 Fungsi-Fungsi Utama Sistem
Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
10
1. Fungsi Pemasukan Data Fungsi pemasukan data, terdiri dari tahapan : a. Menentukan file citra mana yang akan diproses lebih lanjut. b. Membaca ukuran matriks file (N x M), dengan N sebagai ukuran baris dan M sebagai ukuran kolom, beserta nilai intensitas setiap pikselnya, selanjutnya mengalokasikan sebuah variabel matriksnya. c. Citra digital sebagai inputan pada sistem ini memiliki tingkat keabuan yang bervariasi, maka warna citra harus diseragamkan berdasarkan format pewarnaan citra grayscale antara 0 - 255, melalui proses grayscale terlebih dahulu. 2. Fungsi Pembentukan deformable curve Fungsi ini terdiri dari : a. Inisialisasi kurva awal (deformable curve), yang ditempatkan disekeliling objek yang dituju pada citra. Melalui penentuan titik-titik koordinat (x,y) sebagai titik koordinat kurva awal dilakukan oleh pengguna baik secara manual maupun secara otomatis dengan processing lebih dahulu. b. Jumlah titik koordinat (x,y) ditentukan oleh pengguna sebanyak N buah titik.
Deformable curve sebanyak 3 titik (37,47) (31,47) Posisi Deformable curve
(25,47)
(a) Deformable Curve pada Citra
(b) Titik-titik Koordinat Awal Deformable Curve Gambar 6 Mekanisme Pembentukan Deformable Curve
3. Fungsi Pendeteksian Boundary Objek Setelah mendapatkan titik-titik koordinat pada deformable curve, maka snake akan bekerja di daerah objek yang telah dibatasi kurva, beserta nilai dari α, β dan γ yang diinputkan oleh pengguna selanjutnya snake akan melakukan pendeteksian boundary objek melalui perhitungan : a. Internal energy dan image force b. Energi minimum snake Selanjutnya menampilkan citra hasil dengan boundary objeknya
Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
11
Deformable curve sebanyak 3 titik (37,45) (32,45) (27,45) Posisi Boundary Objek (a) Boundary Objek pada Citra
(b) Titik-titik Koordinat Akhir Deformable Curve
Gambar 7 Mekanisme Pendeteksian Boundary Objek 4. Fungsi Penentuan Ukuran objek Fungsi ini menghitung ukuran objek sebesar N satuan, menggunakan citra hasil dengan boundary objeknya untuk diidentifikasi lebih lanjut. Dengan rumusan persentase_intensitas = (ukuran_objek/luas_ citra) * 100. 5. Fungsi Segmentasi Objek Fungsi ini menampilkan citra hasil dari proses segmentasi objek yang dituju pada citra, yang selanjutnya membentuk citra baru hasil pemisahan objek dari citra asli. Gambaran umum sistem digambarkan pada diagram konteks berikut : File Citra Titik Koordinat Kurva Pengguna Alpha, Beta, Gamma
Sistem Pembentuka n Boundary Objek
Boundary Objek Citra Segmentasi Pengguna
Gambar 8 Diagram Konteks
Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
12
Gambar 9 Data Flow Diagram Level 0 Diagram level ini adalah proses rinci dari diagram konteks. Pada gambar 9 tampak proses-proses yang dimiliki yaitu : 1. Proses pemasukan data Proses pemasukkan data, dilakukan untuk menentukan file citra mana yang akan diproses lebih lanjut, dengan format file GIF. Data Citra akan diolah menjadi format citra tepi. 2. Proses penempatan defomable curve Deformable curve diletakkan di sekitar objek yang menjadi perhatian pada citra, datanya berupa titik-titik koordinat berjumlah N buah titik. 3. proses pendeteksian boundary objek Dimulai dari mengolah data deformable curve, selanjutnya proses pendeteksian boundary objek ini dilakukan dengan menghitung nilai rata-rata antar titik, menentukan neighborhood titik, menghitung energi kurva, dan energi kontinuitas, dengan melibatkan parameter alpha, beta dan gamma. Selanjutnya hasil-hasil perhitungan tadi digunakan untuk menghitung energi minimum snake, sedemikian sehingga deformable curve akan tertarik ke boundary objek yang sebenarnya. 4. Proses segmentasi objek Melalui data boundary objek yang diperoleh dari proses sebelumnya, proses ini dilakukan dengan membuat latar belakang berbentuk persegi (crop) dari objek yang dituju, sehingga diperoleh bentuk citra baru. 4.1 Tahap Implementasi Penempatan deformable curve menggunakan aksi mouse klik, dengan jumlah titik minimal 2 dan maksimal 360 buah titik, dengan pertimbangan ini adalah jumlah titik yang optimal dan mencukupi untuk perunutan boundary objek pada sebuah citra yang dilakukan oleh snake. Dengan implementasi struktur data berupa : Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
13
const JumMaxTitik = 360; Type Points = { X, Y, I : double } snakePoints : array [1 .. JumMaxTitik] of Points; Sistem ini diimplementasikan ke dalam satu program utama dengan nama file snakes.m, yang terintegrasi dengan seluruh file yang ada pada sistem implementasi antarmuka sistem pengguna menggunakan MATLAB 6.2, dibuat menggunakan komponen-komponen GUI yang terdiri dari text, pushbutton, edit text dan check box, axes, serta figure.
Gambar 10 Menu Utama Pada Snakes.m Melalui file snakes.m dengan kasus uji citra medis, nama file : spine.tif, proses-proses utama yang dilakukan adalah : (a) Masukan data citra (b) Penempatan deformable curve (c) Pendetaksian boundary objek (d) Segmentasi objek
Gambar 11 Proses Masukan Data Citra
Fokus, XI, N0. 02 Desember 2010
Yuyun : Pembentukan Boundry Objek Pada ….
14
Deformable curve
Gambar 12 Penempatan deformable curve dan pendeteksian boundary objek
(a) (b) Gambar 13 Citra segmentasi objek pada citra olah (a) dan citra awal (b) 5. KESIMPULAN Dari hasil penelitian diperoleh bahwa snake tidak dapat menemukan boundary objek dengan optimal, apabila posisi deformable curve terletak jauh dari objek yang dituju. Perunutan boundary pada objek dengan posisi berdekataan, akan menarik deformable curve pada objek yang lebih dekat dengannya dan bentuk objek berupa kurva (lengkungan) mempengaruhi performansi snake dalam menentukan ketepatan bentuk boundary objek yang sebenarnya.
Fokus, XI, N0. 02 Desember 2010
1
Dosen Jurusan Dakwah Program Studi D3 Manajemen Informatika M Kass, et all, Snakes: Active Contour Models (Int J Comput Vis. 1988), h 25 3 Rinaldi Munir, Pengolahan Citra Digital dengan Pendekatan Algoritmik, (Bandung: Informatika Bandung, 2004), h45 4 Ajid Singh., et all, Deformable Models in medical Image Analysis, (Los Alamitos:IEEE Computer Society Press, 2002), h 69 5 Kass, Op Cit., h 60 2