20/06/2011 1
DARAH PADA CITRA FUNDUS RETINA MENGGUNAKAN ALGORITMA COMBINED CROSS POINT NUMBER
Kata Kunci: Citra Fundus Retina, Segmentasi Citra, Deteksi Titik Potong pembuluh, Combined Cross Point Number.
Penyusun Tugas Akhir :
SANNY HIKMAWATI (NRP : 5107.100.142)
Dosen Pembimbing :
Prof.Ir. Handayani Tjandrasa, M.Sc, Ph.D. Nanik Suciati, S.Kom, M.Kom, Dr.Eng.
• Beberapa penyakit mata dapat diatasi dengan
diagnosa dini secara tepat
• Identifikasi dari pembuluh darah pada retina dapat
memberikan informasi tentang gangguan mata
• Gangguan mata yang terjadi bisa berupa
pertumbuhan pembuluh darah yang abnormal yang
berakibat pada perubahan pada titik potong
pembuluh darah tersebut.
• Deteksi titik potong pembuluh darah bisa
menjadi alat untuk mengetahui adanya anomali
pada retina mata
• Combined cross point number merupakan
metode yang dapat digunakan untuk mendeteksi
titik potong pembuluh darah retina.
1.
Bagaimana memahami metodologi Combined Cross-Points
Number untuk mendeteksi titik potong pembuluh darah pada
citra fundus retina
2.
Bagaimana menyusun suatu algoritma deteksi titik potong citra
retina dan merancang sistem yang sesuai dengan metode yang
digunakan.
3.
Bagaimana menyusun skenario uji coba terhadap sistem yang
telah dibuat, mengamati kinerja sistem yang telah dibuat dan
mengidentifikasi kendala yang mungkin timbul.
4.
Berapa tingkat kebenaran yang dihasilkan dari deteksi titik
potong pada citra retina dengan menggunakan metode
Combined Cross-Point Number
• Aplikasi merupakan implementasi dari metode
combined cross point number untuk melakukan
deteksi titik potong terhadap pembuluh darah pada
retina.
• Implementasi dilakukan dengan menggunakan
Matlab 7.6.
• Citra retina yang digunakan dibatasi untuk citra
retina yang diperoleh dari DRIVE database.
Tujuan dari tugas akhir ini adalah membangun
aplikasi deteksi titik potong pembuluh citra retina
dengan menggunakan Matlab yang
mengimplementasikan metode Combined
Cross-Point Number.
Tahap Preprocessing
20/06/2011 7 Pengubahan citra green channel Penghilangan derau dengan median filterPerbaikan kontras citra dengan contrast limited
adaptive histogram equalization
Citra masukan
Citra hasil tahap
Tahap Segmentasi
Perancangan
Perangkat Lunak (2)
Citra tersegmentasi Citra hasil tahap
preprocessing
Segmentasi cita menggunakan k-means clustering
Tahap Deteksi Titik
Potong Pembuluh
20/06/2011 9
Proses thinning Citra hasil tahap
segmentasi
Menghitamkan
background citra Proses pruning
Menghitung jumlah cross over point pada
layer luar Menghitung jumlah
cross over point pada layer dalam
Skenario Uji Coba :
1. Perbandingan hasil akurasi deteksi titik potong pembuluh
citra dari proses iterasi pruning yang berbeda-beda.
2. Perbandingan hasil akurasi deteksi titik potong pembuluh
citra dengan nilai kontras yang berbeda-beda.
Hasil Akurasi Deteksi Titik potong 65%
20/06/2011 11
Uji Coba 1 – 1
(2 kali iterasi)
Citra hasil deteksi Citra green
Uji Coba 1 – 1
(5 kali iterasi)
Citra masukan
01_test.tif
Citra hasil deteksi Citra green
channel
Hasil Akurasi Deteksi Titik potong 76%
20/06/2011 13
Uji Coba 1 – 1
(8 kali iterasi)
Citra hasil deteksi Citra green
Hasil Akurasi Deteksi Titik potong 74%
Uji Coba 1 – 1
(11 kali iterasi)
Citra masukan
01_test.tif
Citra hasil deteksi Citra green
Hasil Akurasi Deteksi Titik potong 69%
20/06/2011 15
Uji Coba 1 – 1
(14 kali iterasi)
Citra hasil deteksi Citra green
Hasil uji coba 1 dilakukan pada 10 citra DRIVE
Database yang berbeda-beda
Evaluasi Uji Coba 1
No Jumlah iterasi Rata-rata Nilai Akurasi (%)
1 2 63,11
2 5 82,45
3 8 69,31
4 11 62,75
Hasil Akurasi Deteksi Titik potong 11,76%
20/06/2011 17
Uji Coba 2 – 1 (nilai
kontras 0,0275)
Citra hasil deteksi Citra green
Hasil Akurasi Deteksi Titik potong 38,89%
Uji Coba 2 – 1 (nilai
kontras 0.0475)
Citra masukan
03_test.tif
Citra hasil deteksi Citra green
Hasil Akurasi Deteksi Titik potong 83,69%
20/06/2011 19
Uji Coba 2 – 1 (nilai
kontras 0,0675)
Citra hasil deteksi titik potong Citra green
Hasil Akurasi Deteksi Titik potong 52%
Uji Coba 2 – 1 (nilai
kontras 0,0875)
Citra masukan
03_test.tif
Citra hasil deteksi Citra green
Hasil Akurasi Deteksi Titik potong 36,12%
20/06/2011 21
Uji Coba 2 – 1 (nilai
kontras 0,1075)
Citra hasil deteksi Citra green
Hasil Akurasi Deteksi Titik potong 29,22%
Uji Coba 2 – 1 (nilai
kontras 0,1275)
Citra masukan
03_test.tif
Citra hasil deteksi Citra green
Hasil uji coba 2 dilakukan pada 10 citra DRIVE
Database yang berbeda-beda
20/06/2011 23
No Nilai Kontras Rata-rata Nilai Akurasi (%) 1 0.0275 7,44 2 0.0475 47,21 3 0.0675 82,45 4 0.0875 61,95 5 0.1075 46,18 6 0.1275 36,28
• Algoritma ini dapat mendeteksi titik potong pembuluh
dengan baik pada citra fundus mata berwarna sehingga
didapatkan hasil deteksi titik potong pembuluh darah
pada citra retina dengan rata – rata nilai akurasi sebesar
82,45%
• Jumlah iterasi yang terlalu sedikit pada morphological
pruning menyebabkan nilai akurasi kecil. Jumlah iterasi
yang terlalu besar menyebabkan nilai akurasi yang kecil.
Kesimpulan(1)
• Nilai kontras yang dipilih terlalu kecil menyebabkan nilai
akurasi kecil. Apabila nilai kontras terlalu besar
menyebabkan nilai akurasi yang kecil.
Hasil pada saat proses segmentasi masih banyak
menghasilkan percabangan pada pembuluh darah.
Perlu pengembangan metode untuk proses
segmentasi sehingga diperoleh hasil segmentasi
yang lebih baik agar kesalahan pendeteksian titik
potong pembuluh darah citra retina bisa berkurang.
Approach, 2010
[2] A.M. Aibinu, M.I. Iqbal, M. Nilsson, M.J.E. Salami, Automatic diagnosis of diabetic retinopathy from fundus images using digital signal and image processing techniques, in: International Conference on Robotics, Vision, Information, and Signal Processing, Penang, Malaysia, November 2007, pp. 510–515.
[3] Youssef,A., "Image Downsampling and Upsampling Methods", Department of EECS, The George Washington University. [4] Gonzalez, R. C. and Woods, R. E. Digital Image Processing Using MATLAB, Prentice Hall, Upper Saddle River, NJ. 2004. [5] Gonzalez R.C., Woods R.E, Digital Image Processing, Third Edition, Prentice Hall, 2008
[6] Wikipedia. 2011. Channel, <URL: http://en.wikipedia.org/wiki/Channel_(digital_image) diakses 5 Mei 2011>. [7] Chek Koon Teo, Digital Enhancement of Night Vision and Thermal Images, December 2003
[8] A.Hidayanto, dkk, Analisis Deteksi Tepi pada citra berdasarkan perbaikan kualitas citra, 2005
[9] Homepages, 2011, <URL: http://homepages.inf.ed.ac.uk/rbf/HIPR2/thin.htm diakses 20 Mei 2011 >
[10] Sarigul, E., Abbott, A.L., dan Schmoldt, D.L. , Rule-driven defect detection in CT images of hardwood logs. Computers and Electronics in Agriculture, 2003, 41, 1-3:101-119.
[11] Ge, F., Wang, S., dan Liu, T., Image-Segmentation Evaluation From the Perspective of Salient Object Extraction. Proceeding of the 2006 IEEE Computer Society Conference on Computer Vision and Pattern Recognition.
[12] The DRIVE database, Image Sciences Institute, University Medical Center Utrecht, The Netherlands <URL : http://www.isi.uu.nl/Research/Databases/DRIVE/S, diakses 11 Oktober 2010>
[13] Wiwin Sulistyo, dkk, Analisis Penerapan Metode Median Filter Untuk Mengurangi Noise Pada Citra Digital, Konferensi Nasional Sistem dan Informatika, Bali, November 2009
Perhitungan akurasi dengan menggunakan persamaan:
20/06/2011 29
Dimana:
R = Citra hasil dari proses deteksi A = Citra ground truth
= irisan citra hasil proses deteksi dan citra ground truth
= semua piksel pembuluh darah pada citra proses deteksi dan ground truth
-Tujuan :
Menghilangkan derau pada citra dan menghaluskan citra.
Median filter adalah suatu teknik filtering digital nonlinear yang sering digunakan untuk menghilangkan derau. Teknik tersebut menitik beratkan pada nilai median atau nilai tengah dari jumlah total nilai keseluruhan piksel yang ada di sekelilingnya.
Teknik ini bekerja dengan cara mengisi nilai dari setiap piksel dengan nilai median
tetangganya. Proses pemilihan median ini diawali dengan terlebih dahulu mengurutkan nilai-nilai piksel tetangga, baru kemudian dipilih nilai tengahnya.
Penghilangan Derau dengan
Median Filter
• Contrast Limited Adaptive Histogram Equalization (CLAHE) termasuk teknik perbaikan citra yang digunakan untuk memperbaiki kontras pada citra. CLAHE memperbaiki local contrast pada citra. CLAHE merupakan generalisasi dari Adaptive Histogram Equalization (AHE). Berbeda dengan histogram equalization yang beroperasi pada keseluruhan
region pada citra, CLAHE beroperasi pada region yang kecil yang
disebut dengan tile. Kontras terutama pada area yang homogen bisa dibatasi untuk mengurangi adanya derau yang mungkin muncul pada citra dengan cliplimit.
• Formula dari histogram Equalization adalah sebagai berikut :
Contrast Limited Adapive Histogram
k j j r k k T r p r S 0
k j jn
n
0n
n
r
P
r(
k)
k• Histogram dari suatu citra digital dengan range tingkat [0…L-1] adalah sebuah fungsi diskrit h(rk)=nk, dengan rk adalah tingkat keabuan ke-k dan nk merupakan jumlah piksel dalam citra yang memiliki tingkat keabuan rk
• Normalisasi histrogram dilakukan dengan membagi setiap nilai nk dengan total jumlah piksel dalam citra, yang dinyatakan dengan n.
• p(rk) menyatakan estimasi probabilitas kemunculan tingkat keabuan rk.
• Sumbu horisontal dari histogram menyatakan nilai tingkat keabuan rk.
Sumbu vertikal menyatakan nilai dari p(rk) = nk/n (jika nilainya dinormalisasi).
Interpolasi Bilinear
• Interpolasi bekerja dengan cara menggunakan data yang sudah diketahui untuk mengistimasi nilai suatu data yang belum diketahui
• Interpolasi bilinear menghitung 2x2 ketetanggan dari dari piksel yang telah diketahui nilainya untuk menghitung nilai piksel yang belum diketahui. Perhitungannya menggunakan rata – rata bobot dari ke empat piksel untuk mndapatkan nilai interpolasi. Hasil dari interpolassi lebih halus efeknya pada citra daripada emnggunakan nearest neighbor
• Contoh dari interpolasi bilinear seperti pada gambar di bawah ini.
•
• Segmentasi citra merupakan suatu proses pengelompokkan citra menjadi beberapa region berdasarkan kriteria tertentu.
• Tujuan dari segmentasi citra adalah untuk menemukan karakteristik khusus yang dimiliki suatu citra.
• Citra disederhanakan dan atau direpresentasikan dalam gambaran yang lebih mudah untuk di analisis
20/06/2011 37
• Caranya untuk menghitamkan background pada citra adalah
sebagai berikut :
• Mencari red channel citra
• Mengubah citra red channel menjadi citra biner berdasarkan
threshold citra tersebut.
• Menghitamkan piksel – piksel yang alamatnya sama dengan
alamat piksel hitam pada citra biner
• Melakukan deteksi tepi pada citra red channel menggunakan
deteksi tepi sobel
• Menghitamkan piksel – piksel citra hasil segmentasi yang
alamatnya sama dengan alamat piksel putih pada citra yang telah
terdilasi
Deteksi Tepi Sobel
Deteksi tepi (Edge Detection) pada suatu citra adalah suatu proses yang menghasilkan tepi-tepi dari obyek-obyek citra.
Tujuan edge detection:
• Untuk menandai bagian yang menjadi detil citra
• Untuk memperbaiki detil dari citra yang kabur, yang terjadi karena derau • Deteksi Tepi Sobel dengan parameter sensitivitas threshold sebesar
0.127
• Secara sederhana, operator sobel menghitung gradien dari intensitas citra pada setiap titik sehingga didapatkan kemungkinan arah yang terbesar yang bertambah dari warna yang terang sampai warna gelap dan laju perubahan pada masing-masing arah. Hasilnya akan menunjukkan
seberapa halus citra akan melakukan perubahan pada titik tersebut. Oleh karena itu, nantinya sebagian citra akan mewakili suatu edge.
20/06/2011 41
• Algoritma dari proses thinning adalah sebagai berikut : • A) 1. 2< N(p1) <=6 2. T(p1)=1 3. P2.P4.P6 = 0 4. P4.P6.P8=0 • B) 1. 2< N(p1) <=6 2. T(p1)=1 3. P2.P4.P8 =0 4. P2.P6.P8=0
• Penjelasan secara umum dari algoritma di atas adalah sebagai berikut:
• pada proses A piksel p1 dihapus jika tetangga piksel antara 2-6, Transisi dari 0-1 jumlahnya 1, hapus titik yang berada di kanan, bawah, dan ujung kiri atas
• Pada Proses B kondisi 1 dan 2 sama dengan kondisi pada proses A, untuk
kondisi ketiga dan keempat, titik yang dihapus adalah titik yang berada di kiri, atas dan ujung kanan bawah
Proses Thinning (2)
• Algoritma Lainnya adalah dengan cara :
• Kita bisa mendefinisikan thinning menggunakan serangkaian structuring
element sebagai berikut :
• Prosesnya adalah menguruskan A satu pass dengan B1, selanjutnya
menguruskan hasilnya satu pass dengan B2, dan selanjutnya, sampai A
dikuruskan satu pass dengan Bn. Keseluruhan proses diulang sampai tidak
ada lagi perubahan yang terjadi.
)
)...)
)
((...((
}
{
B
A
B
1B
2B
nA
20/06/2011 43
• Morphological Pruning adalah transformasi yang menghilangkan
endpoint dari citra yang telah mengalami proses thinning dan memproses
sampai stabilitas tercapai.
• Proses Morphological Pruning merupakan proses pemangkasan cabang (branches) yang tidak diperlukan.
• Cabang yang tidak diperlukan biasanya muncul sebagai hasil dari
Proses Pruning
• Persamaan untuk pruning adalah sebagai berikut
• X1 digunakan untuk mendeteksi end point agar mendapatkan hasil seperti yang diinginkan, dimana A adalah citra masukan, dan B adalah structuring
element. 3 1 4 2 3 8 1 1 2 1
)
(
)
*
(
}
{
X
X
X
A
H
X
X
B
X
X
B
A
X
k k
20/06/2011 45
• X2 digunakan untuk merestore karakter ke bentuk aslinya
dengan branches yang telah diremove
• Langkah ketiga merupakan dilasi end points selama 3 x ,
dengan H adalah structuring element
• X4 merupakan gabungan dari langkah pertama dan ketiga .
• X4 adalah hasil dari proses pruning
Proses deteksi Titik Potong
• Metode ini mencari titik potong citra dengan menghitung jumlah
crossover point yang berada di sekitar piksel. Metode ini menggunakan window dengan ukuran 5x5. Window terdiri dari pusat piksel dengan 8 tetangga pada layer yang dalam dan dikelilingi oleh 16 piksel tetangga pada layer luar.
• Ilustrasi dari window yang digunakan pada metode ini adalah seperti pada gambar di bawah ini :
Contoh Interpolasi bilinear
• Formula dari interpolasi bilinear adalah sebagai berikut : • s’ = (1-y)((1-x)gA(s) + xgB(s))+ y((1-x)gC(s) + xgD(s))
• Interpolasi bilinear pada metode
Clahe digunakan untuk mengeliminasi