Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Segmentasi Citra.

Presentasi serupa


Presentasi berjudul: "Segmentasi Citra."— Transcript presentasi:

1 Segmentasi Citra

2 Tujuan Memberikan pemahaman kepada mahasiswa tentang:
karakteristik dasar dari berbagai algoritma segmentasi proses filtering untuk mendeteksi titik, garis, dan tepi

3 Gambaran Umum Segmentasi membagi citra menjadi region-region atau objek-objek. Level sampai sejauh mana pembagian bisa dilakukan tergantung pada permasalahan yang diselesaikan.

4 Gambaran Umum Secara umum algoritma-algoritma segmentasi didasarkan pada satu di antara dua buah karakteristik intensitas, yaitu diskontinuitas dan similaritas. Pada kategori pertama, pendekatan yang dilakukan adalah mempartisi citra berdasarkan pada perubahan intensitas yang cukup cepat, seperti tepian citra. Kategori kedua didasarkan pada kemiripan area citra menurut kriteria yang sudah ditentukan. Thresholding, region growing, dan region splitting/merging adalah contoh-contoh metode pada kategori dua.

5 Deteksi Diskontinyuitas
Ada beberapa teknik untuk mendeteksi tiga macam diskontinyuitas tingkat keabuan dalam citra, yaitu : titik, garis dan tepi. Cara yang paling umum digunakan untuk mencari diskontinyuitas adalah dengan menjalankan suatu filter/mask pada seluruh area citra.

6 Deteksi Diskontinyuitas
Respon dari mask pada sembarang titik dihitung dengan: zi adalah tingkat keabuan dari piksel yang diasosiasikan dengan koefisien mask wi. Respons mask didefinisikan di lokasi titik pusat mask.

7 Deteksi Titik Suatu titik dinyatakan ada di pusat mask jika |R|T, dengan T adalah threshold nonnegatif. Idenya adalah, bahwa suatu titik terisolasi ( titik dengan tingkat keabuan yang sangat berbeda dengan background dan berlokasi di area yang homogen atau hampir homogen) akan sangat berbeda dengan sekitarnya, sehingga akan mudah dideteksi menggunakan tipe mask seperti pada gambar 10.2.a. Koefisien mask jika dijumlahkan adalah nol. Hal ini menunjukkan bahwa respon mask adalah nol pada area dengan tingkat keabuan konstan.

8 Deteksi Titik

9 Deteksi Garis Jika mask sebelah kiri dipindahkan pada seluruh citra, maka responnya akan lebih kuat pada garis dengan ketebalan satu piksel dan berorientasi horisontal. Koefisien mask jika dijumlahkan adalah nol. Hal ini menunjukkan bahwa respon mask adalah nol pada area dengan tingkat keabuan konstan.

10 Deteksi Garis Misalkan R1, R2, R3, dan R4, menyatakan respons dari mask. Anggaplah bahwa setiap mask dijalankan sendiri-sendiri pada suatu citra. Jika, pada satu titik citra, |Ri|>|Rj|, untuk semua ji, titik tersebut dikatakan lebih berasosiasi dengan garis dengan arah mask i. Contoh, jika sebuah titik |Ri|>|Rj|, dimana j=2,3,4, maka dapat dikatakan bahwa titik tersebut lebih berasosiasi dengan garis horisontal. Jika kita ingin mendeteksi garis dengan arah yang sudah ditentukan, kita bisa menggunakan mask yang sesuai dengan arah tersebut dan melakukan thresholding terhadap outputnya.

11 Deteksi Garis

12 Deteksi Tepi Tepi (edge) adalah himpunan piksel terhubung yang terletak pada boundary di antara dua region. Tepi ideal seperti diilustrasikan pada gambar 10.5.a adalah himpunan piksel terhubung (dalam arah vertikal), masing-masing terletak pada transisi step orthogonal dari tingkat keabuan. Pada prakteknya, ketidaksempurnaan optik, sampling, dan proses pengambilan data citra, akan menghasilkan tepi-tepi yang kabur, dengan derajat kekaburan ditentukan oleh faktor-faktor seperti kualitas peralatan yang digunakan untuk mengambil data citra, rata-rata sampling, dan kondisi pencahayaan. Akibatnya, tepi lebih banyak dimodelkan seperti “ramp” (lihat gambar fig 10.5.b). Ketebalan tepi ditentukan oleh panjang ramp. Panjang ramp ditentukan oleh kemiringan (slope), dan slope ditentukan oleh derajat kekaburan. Tepian yang kabur cenderung lebih tebal, dan tepian yang tajam cenderung lebih tipis.

13 Deteksi Tepi

14 Deteksi Tepi first derivative, bernilai positif ketika awal sampai akhir ramp, bernilai nol untuk daerah dengan gray level konstan. second derivative, bernilai positif ketika transisi pada sisi gelap dari edge, bernilai negatif pada transisi sisi terang dan bernilai nol di daerah ramp dan gray level konstan.

15 Deteksi Tepi Magnitude dari turunan pertama bisa digunakan untuk mendeteksi keberadaan edge pada suatu titik dalam citra (misalnya, menentukan apakah suatu titik berada pada ramp atau tidak). Tanda dari turunan kedua bisa digunakan untuk menentukan apakah suatu piksel edge terletak pada sisi gelap atau sisi terang dari edge. Property zero-crossing (garis lurus imajiner yang menghubungkan nilai ekstrim positif dan negatif dari turunan kedua akan melintasi nol di pertengahan edge) cukup berguna untuk menentukan pusat dari edge yang tebal.

16 Deteksi Tepi

17 Deteksi Tepi Agar dapat diklasifikasikan sebagai titik tepi, transisi tingkat keabuan pada titik tersebut harus cukup kuat dibandingkan background di sekitarnya. Untuk menentukan apakah suatu nilai “cukup signifikan” atau tidak, bisa digunakan threshold. Jadi, suatu titik di dalam citra merupakan bagian dari edge, jika turunan pertama 2-D nya lebih besar dari threshold. Himpunan titik-titik yang terhubung menurut kriteria keterhubungan tertentu didefinisikan sebagai edge. Istilah segmen edge digunakan jika ukuran edge relatif pendek dibanding ukuran citra. Permasalahan dalam segmentasi adalah bagaimana cara merangkai segmen-segmen edge ini menjadi edge yang lebih panjang. Edge juga bisa ditentukan menggunakan property zero crossings dari turunan kedua.

18 Operator Gradient Turunan pertama citra digital bisa menggunakan berbagai aproksimasi dari gradien 2-D. Gradien suatu citra f(x,y) pada lokasi (x,y) didefinisikan sebagai vektor : Magnitude vektor adalah : Arah gradien pada (x,y) adalah :

19 Operator Gradient Perhitungan gradien citra dilakukan dengan menghitung turunan parsial pada setiap lokasi piksel. Misalkan area 3x3 pada gambar 10.8.a menyatakan tingkat keabuan neighborhood suatu citra. Cara paling sederhana untuk mengimplementasikan turunan parsial order pertama pada titik z5 adalah dengan menggunakan operators gradient Roberts : Gx=(z9-z5) dan Gy=(z8-z6) Mask berukuran 2x2 menyulitkan untuk diimplementasikan karena tidak memiliki titik pusat. Pendekatan yang lebih sering digunakan adalah menggunakan mask berukuran 3x3.

20 Operator Gradient Mask Prewitt Gx=(z7+z8+z9) – (z1+z2+z3)
Gy=(z3+z6+z9) – (z1+z4+z7) Mask Sobel Gx=(z7+2z8+z9) – (z1+2z2+z3) Gy=(z3+2z6+z9) – (z1+2z4+z7)

21 Operator Gradient Hasil penjumlahan semua koefisien dalam mask adalah nol, yang menunjukkan bahwa mask akan memberikan respon 0 pada area dengan tingkat keabuan konstan. Pendekatan berikut sering digunakan untuk mengaproksimasi magnitude dari gradient : f|Gx|+|Gy| Mask memberikan hasil yang invariant hanya untuk edge vertikal dan horisontal, tetapi tidak isotropic (invariant terhadap rotasi) Dimungkinkan untuk memodifikasi mask berukuran 3x3 sehingga mask memiliki respon paling kuat pada arah diagonal.

22 Operator Gradient

23 Operator Gradient

24 Operator Gradient

25 Operator Gradient

26 Laplacian Laplacian fungsi 2-D f(x,y) adalah turunan kedua yang didefinisikan sebagai berikut : Mask Laplacian pada gambar bersifat isotropic untuk pertambahan rotasi 90 dan 45. Laplacian biasanya tidak digunakan dalam bentuk aslinya untuk deteksi tepi karena : Sangat sensitif terhadap noise Magnitude dari Laplacian menghasil tepi ganda, hal ini adalah efek yang tidak diinginkan karena menjadikan proses segmentasi semakin kompleks Arah edge tidak dapat diketahui

27 Laplacian Peranan Laplacian pada proses segmentasi adalah :
Penggunaan “property zero crossing” untuk mendeteksi lokasi edge Untuk mengetahui apakah suatu piksel berada pada sisi gelap atau sisi terang dari edge

28 Laplacian Pada kategori pertama, Laplacian dikombinasikan dengan proses penghalusan untuk menemukan edge dengan menggunakan property zero crossing. Fungsi Gaussian berikut : r2=x2+y2 dan  is deviasi standard. Mengkonvolusikan fungsi Gaussian dengan citra akan mengaburkan citra, dengan derajat pengkaburan yang ditentukan oleh nilai . Laplacian dari h (turunan kedua dari h berkaitan dengan r) adalah : Fungsi di atas disebut dengan “Laplacian of a Gaussian” (LoG).

29 Laplacian

30 Laplacian Karena turunan kedua adalah operasi linier, maka mengkonvolusikan citra dengan 2h sama halnya dengan mengkonvolusikan citra dengan fungsi penghalusan, diikuti dengan menghitung Laplacian dari hasil penghalusan.

31 Laplacian

32 Tujuan Memberikan pemahaman kepada mahasiswa tentang algoritma untuk menggabungkan edge dan mendeteksi boundary, baik proses lokal maupun global.

33 Penggabungan Edge dan Deteksi Boundary
Idealnya, metode-metode yang didiskusikan sebelumnya seharusnya menghasilkan piksel-piksel yang terletak pada edge. Tetapi, pada prakteknya, himpunan piksel yang dihasilkan jarang membentuk edge yang lengkap, karena keberadaan noise, pencahayaan yang tidak sama, atau sebab lain yang menyebabkan terjadinya diskontinuitas intensitas. Jadi, algoritma edge biasanya diikuti dengan prosedur penggabungan untuk merangkai piksel-piksel edge menjadi sebuah edge yang lengkap.

34 Pemrosesan Lokal Pendekatan yang paling sederhana untuk menggabung titik-titik edge adalah dengan menganalisis karakteristik piksel pada neighborhood berukuran kecil (3x3 atau 5x5) di sekitar titik (x,y) pada sebuah citra yang telah menjadi bagian dari edge. Semua titik yang mirip dengan kriteria yang telah ditentukan akan digabung, sehingga membentuk kumpulan piksel yang menjadi bagian dari edge. Dua hal yang digunakan untuk menetapkan kemiripan piksel adalah : Kekuatan respon dari operator gradient yang digunakan untuk menghasilkan piksel edge Arah vektor gradient

35 Pemrosesan Lokal Sebuah piksel edge dengan koordinat (x0, y0) di dalam neighborhood dari (x, y) dikatakan memiliki magnitude yang mirip dengan piksel pada (x, y) jika E adalah threshold non negatif. Sebuah piksel edge dengan koordinat (x0, y0) di dalam neighborhood dari (x, y) dikatakan memiliki arah yang mirip dengan piksel pada (x, y) jika A adalah threshold sudut non negatif. Sebuah titik pada neighborhood dari (x, y) digabung dengan piksel pada (x, y) jika memenuhi kriteria magnitude dan arah.

36 Pemrosesan Lokal

37 Pemrosesan Global  Teori Graph
Deteksi dan penggabungan edge dilakukan dengan merepresentasikan segmen-segmen edge dalam bentuk graph dan mencari graph yang memiliki path dengan cost rendah. Representasi graph memiliki performance yang cukup baik dengan keberadaan noise. Tetapi, prosedurnya lebih kompleks dan memerlukan waktu proses yang lama.

38 Pemrosesan Global  Teori Graph
Graph G=(N,U) adalah himpunan node N yang tidak kosong dan berhingga, beserta himpunan pasangan tak berurut U yang terdiri dari elemen-elemen N. Tiap pasang (ni,nj) dari U disebut arc. Graph yang arc-nya berarah disebut graph berarah. Jika arc berarah dari node ni ke node nj, maka nj dikatakan sebagai successor dari node parent ni. Proses pengidentifikasian successors dari sebuah node disebut ekspansi node. Level 0 dari graph terdiri dari satu buah node, yang disebut node root, dan node pada level terakhir disebut node goal (tujuan).

39 Pemrosesan Global  Teori Graph
Cost c(ni,nj) bisa diasosiasikan dengan setiap arc(ni,nj). Rangkaian node n1, n2, …,nk dengan setiap node ni menjadi sucessor dari node ni-1, disebut path dari n1 ke nk. Cost dari keseluruhan path adalah :

40 Pemrosesan Global  Teori Graph
Elemen edge didefinisikan sebagai boundary di antara dua piksel p dan q, sedemikian sehingga p, q adalah tetangga-4. Elemen edge diidentifikasi dengan koordinat xy dari titik p dan q. Dengan kata lain, elemen edge didefinisikan sebagai pasangan (xp,yp)(xq,yq). Edge adalah serangkaian elemen edge yang terhubung.

41 Pemrosesan Global  Teori Graph
Tiap elemen edge, didefinisikan dengan piksel p dan q, memiliki cost berikut: c(p,q)=H-[f(p)-f(q)] H adalah tingkat keabuan tertinggi dalam citra, dan f(p) dan f(q) adalah tingkat keabuan dari p dan q. Ketetapan yang digunakan, titik p berada pada sisi kanan dari arah lintasan sepanjang elemen-elemen edge. Diasumsikan bahwa edge mulai pada baris teratas dan berhenti pada baris terbawah.

42

43 Pemrosesan Global  Teori Graph

44 Tujuan Memberikan pemahaman kepada mahasiswa tentang
Berbagai algoritma thresholding untuk menggabungkan edge dan mendeteksi boundary Algoritma segmentasi berbasis region

45 Thresholding Histogram sebelah kiri mewakili citra f(x,y), yang tersusun atas objek terang di atas background gelap. Piksel-piksel objek dan background dikelompokkan menjadi dua mode yang dominan. Cara untuk mengekstrak objek dari dari background adalah dengan memilih threshold T yang memisahkan dua mode tersebut. Sembarang titik (x,y) yang memenuhi f(x,y)>T disebut titik objek; selain itu, titik disebut titik background.

46 Thresholding Histogram sebelah kanan terbagi menjadi tiga mode. Misalkan, citra terdiri atas dua objek terang di atas background gelap. Thresholding multilevel digunakan untuk mengklasifikasikan suatu titik (x,y) sebagai bagian dari sebuah class objek. Titik (x,y) menjadi bagian dari suatu suatu objek jika T1<f(x,y)T2, dan menjadi bagian dari objek yang lain jika f(x,y)>T2, dan menjadi bagian dari background jika f(x,y) T1.

47 Thresholding Thresholding adalah operasi yang melakukan pengetesan terhadap fungsi T berikut : T = T[x,y,p(x,y),f(x,y)] f(x,y) adalah tingkat keabuan pada titik (x,y) dan p(x,y) menyatakan property lokal dari titik tersebut– sebagai contoh, tingkat keabuan rata dari neighborhood dengan pusat di (x,y). Citra hasil thresholding g(x,y) didefinisikan sebagai : Piksel dilabeli 1 (atau tingkat keabuan yang lain) jika menjadi bagian dari objek, dan dilabeli 0 (atau tingkat keabuan lain yang berbeda dengan objek) jika piksel tersebut menjadi bagian dari background.

48 Thresholding Jika T hanya tergantung pada f(x,y), threshold disebut global. Jika T tergantung pada f(x,y) dan p(x,y), threshold disebut lokal. Jika T tergantung pada koordinat spasial x dan y, threshold disebut dinamik atau adaptif.

49 Thresholding Global Teknik thresholding yang paling sederhana adalah mempartisi histogram dengan menggunakan sebuah threshold global T. Segmentasi dilakukan dengan memeriksa piksel demi piksel dari citra dan melabeli setiap piksel sebagai objek atau sebagai background, tergantung pada tingkat keabuan dari piksel tersebut, apakah lebih besar atau lebih kecil dari T. Sukses dari metode ini tergantung pada seberapa bagus partisi dari histogram.

50 Thresholding Global

51 Thresholding Global Thresholding global diharapkan bisa sukses pada lingkungan yang sangat terkontrol, misalnya pada aplikasi pengawasan industri (biasanya kontrol cahaya sangat bagus). Threshold pada contoh sebelumnya dispesifikasikan menggunakan pendekatan heuristic, berdasarkan pada pengamatan visual terhadap histogram. Algoritma berikut bisa digunakan untuk mendapatkan nilai T secara otomatis : Pilih estimasi awal untuk T. Lakukan segmentasi terhadap citra menggunakan T. Proses ini akan menghasilkan dua kelompok piksel : G1 terdiri dari semua piksel dengan nilai tingkat keabuan > T dan G2 yang terdiri dari piksel-piksel dengan nilai  T. Hitung rata-rata tingkat keabuan u1 dan u2 untuk piksel-piksel dalam region G1 dan G2. Hitung nilai threshold yang baru : T= ½ (u1+u2) Ulangi langkah 2 sampai 4 sampai beda T pada dua iterasi yang berurutan lebih kecil dari paramater T0 (didefiniskan sebelumnya).

52 Thresholding Global Jika area background dan area objek perbandingannya hampir sama, nilai awal yang baik untuk T adalah tingkat keabuan rata-rata dari citra. Jika area objek kecil dibandingkan area background (atau sebaliknya), satu kelompok piksel akan mendominasi histogram, sehingga nilai tengah antara tingkat keabuan maksimum dan minimum merupakan pilihan awal yang baik untuk T.

53 Thresholding Global Dengan algoritma iteratif dihasilkan T=125.4 setelah tiga iterasi. T diinisialisasi dengan tingkat keabuan rata-rata dan T0=0. Untuk mensegmentasi citra, digunakan nilai T=125.

54 Thresholding Adaptif Faktor imaging seperti pencahayaan yang tidak merata, menyebabkan histogram tidak bisa dipartisi dengan baik, sehingga citra tidak bisa disegmentasi dengan menggunakan sebuah threshold global. Untuk mengatasi hal ini, citra asal dibagi menjadi beberapa sub citra. Pada setiap subcitra, segmentasi dilakukan dengan menggunakan threshold yang berbeda. Hal penting: Bagaimana cara membagi citra dan bagaimana mengestimasi threshold untuk setiap subcitra. Karena threshold yang digunakan untuk setiap piksel tergantung pada lokasi piksel, maka thresholding disebut adaptif.

55 Thresholding Adaptif

56 Thresholding Adaptif

57 Thresholding Adaptif Semua subcitra yang tidak berisi boundary antara objek dan background memiliki variance kurang dari 75. Semua subcitra yang berisi boundary memiliki variance melebihi 100. Tiap subcitra dengan variance lebih besar dari 100 disegmentasi dengan threshold yang dihitung pada subcitra tersebut dengan algoritma iteratif yang telah dibahas. Nilai awal untuk T adalah titik tengah antara tingkat keabuan maksimum dan minimum dalam subcitra. Semua subcitra dengan variance kurang dari 100 diperlakukan sebagai citra komposit, yang disegmentasi menggunakan threshold tunggal dan diestimasi menggunakan algoritma yang sama.

58 Thresholding Adaptif

59 Thresholding Adaptif dan Optimal Global
Threshold optimal adalah threshold yang menghasilkan rata-rata error segmentasi minimum. Permasalahan pada gambar di bawah adalah menemukan boundary dari rongga jantung secara otomatis pada cardioangiograms (citra sinar X yang telah diinjeksi dengan medium kontras).

60 Thresholding Adaptif dan Optimal Global
Sebelum segmentasi, semua citra dipra-proses sebagai berikut : Tiap piksel dipetakan dengan fungsi log untuk menghitung efek eksponensial yang disebabkan penyerapan radioaktif. Citra yang diambil sebelum pemberian medium kontras dikurangkan dengan citra yang diambil sesudah pemberian medium kontras, untuk memindahkan kolom spinal yang ada pada kedua citra. Beberapa angiogram dijumlahkan untuk mengurangi noise random.

61 Thresholding Adaptif dan Optimal Global
Untuk menghitung threshold optimal, citra dibagi menjadi 49 region dengan menempatkan grid berukuran 7 x 7 dengan overlap masing-masing citra sebesar 50% (ukuran citra 256 x 256 piksel). Masing-masing dari 49 region yang overlap berisi 64 x 64 piksel. Setelah 49 histogram dihitung, dilakukan tes bimodality untuk menghilangkan histogram-histogram yang unimodal.

62 Segmentasi Berbasis Region
Tujuan segmentasi adalah mempartisi citra ke dalam region-region. Segmentasi bisa diselesaikan dengan : Menemukan boundary di antara region berdasarkan diskontinuitas tingkat keabuan Melakukan thresholding berdasarkan distribusi tingkat keabuan dari piksel-piksel di dalam citra Menemukan region secara langsung

63 Segmentasi Berbasis Region
Misal R menyatakan region citra seluruhnya. Segmentasi bisa dipandang sebagai proses mempartisi R mejadi n subregion, R1, R2, …, Rn, sedemikian sehingga : Ri adalah region yang terhubung , i=1,2,…,n Ri  Rj =  untuk semua i dan j, i  j P(Ri)=TRUE untuk i=1,2,…,n P(Ri  Rj)=FALSE untuk i  j

64 Referensi Bab 10, “Image Segmentation”, Digital Image Processing, edisi 2, Rafael C. Gonzales dan Richard E. Woods, Prentice Hall, 2002

65 Final Membuat aplikasi editing image dengan menggunakan MATLAB yang memiliki fungsi antara lain : mengubah ke citra grayscale mengubah ke citra biner penambahan brightness invers warna rotasi 90 dan 180 flip horisontal dan vertikal smoothing average filter dan median filter histogram citra histogram equalization Citra frekuensi menambahkan noise gaussian, salt & pepper menambahkan noise speckle, poisson Deteksi titik deteksi garis horisontal, vertikal, diagonal deteksi tepi dengan filter gradien (prewit dan sobel) deteksi tepi dengan filter laplacian dan LoG


Download ppt "Segmentasi Citra."

Presentasi serupa


Iklan oleh Google