Target: memahami dan melakukan proses segmentasi citra menggunakan beberapa algoritma segmentasi
Tulisan ini adalah seri keempat dalam latihan dasar di Tutorial OBIA, sebelum melanjutkan membaca, baca dulu tahap-tahap sebelumnya:
- Download dan instalasi Definiens eCognition Developer
- Tahap pertama setelah membuka eCognition Developer
- Menulis Ruleset di eCognition Developer
Sekarang kita telah memiliki Ruleset yang berisi 2 parent process, yaitu “Segmentasi” dan “Klasifikasi”.
Pada latihan kali ini, kita akan belajar menerapkan dan memahami beberapa algoritma segmentasi yang tersedia di software eCognition.
Langkah 1: Chessboard Segmentation
1. Klik kanan pada parent process “Segmentasi”, lalu pilih Insert child process.
2. Pada Name, ketikkan “Chessboard Segmentation”, lalu Klik OK.
3. Pada “Chessboard Segmentation”, klik kanan à Insert child
4. Gunakan pengaturan seperti gambar di bawah ini. Klik Execute.
5. Ruleset kita akan nampak seperti ini.
6. Hasil dari proses segmentasi tersebut adalah seperti
7. Klik kanan pada rule Chessboard Segmentation (bukan pada parent processnya) lalu pilih edit (lihat gambar)
Ganti nilainya lalu klik Execute.
Cobalah mengulangi proses segmentasi ini dengan berbagai angka masukkan, misal 50, 200 dan 500.
Catatan: Seperti namanya, Chessboard Segmentation membagi citra menjadi objek-objek seperti papan catur. Objek-objek yang terbentuk berupa persegi dengan ukuran tertentu yang kita masukkan sebelumnya (Kita tadi menggunakan ukuran = 100 piksel). Jenis segmentasi ini akan berguna ketika kita membagi area kajian kita menjadi grid-grid ukuran tertentu. Selain itu, algoritma ini dapat dimanfaatkan untuk melakukan segmentasi berdasarkan data vektor yang sudah ada (tunggu tutorialnya).
Langkah 2: Membuat rule untuk reset
1. Klik kanan pada parent process “Segmentasi”, lalu pilih Insert child process.
2. Pada Name, ketikkan “Reset”, lalu Klik OK.
3. Pada “Reset”, klik kanan à Insert child
4. Pada Algorithm, pilih Delete image object level dan Level to Delete pilih Level_1.
Langkah 3: Quadtree Segmentation
1. Klik kanan pada parent process “Segmentasi”, lalu pilih Insert child process.
2. Pada Name, ketikkan “Quadtree Segmentation”, lalu Klik OK.
3. Pada “Quadtree Segmentation”, klik kanan à Insert child
4. Gunakan pengaturan seperti gambar di bawah ini. Klik Execute
5. Ruleset kita akan nampak seperti ini.
6. Hasil dari proses segmentasi tersebut adalah seperti ini.
7. Editlah rule untuk Quadtree based Segmentation. Coba gunakan berbagai variasi angka parameter dan bobot layer. Lihat hasilnya.
Catatan: Seperti namanya, Quadtree based segmentation membagi objek berdasarkan konsep quadtree. Citra dibagi menjadi empat persegi. Selanjutnya, setiap persegi dibagi lagi menjadi empat persegi, dan seterusnya sampa variabilitas homogen piksel dalam objek terpenuhi. Jenis segmentasi ini bermanfaat untuk digunakan pada kenampakan perkotaan yang didominasi oleh objek bangunan yang banyak memiliki sisi persegi.
Langkah 4: Multiresolution Segmentation
1. Reset hasil segmentasi sebelumnya.
2. Klik kanan pada parent process “Segmentasi”, lalu pilih Insert child process.
2. Pada Name, ketikkan “Multiresolution Segmentation”, lalu Klik OK.
3. Pada “Multiresolution Segmentation”, klik kanan à Insert child
4. Gunakan pengaturan di bawah ini.
5. Ruleset kita akan nampak seperti ini.
6. Hasil dari proses segmentasi tersebut adalah seperti ini.
7. Editlah rule untuk Multiresolution Segmentation. Coba gunakan berbagai variasi angka parameter dan lihat hasilnya.
Catatan: Penjelasan lengkap mengenai Multiresolution Segmentation dapat dibaca dalam post: Segmentasi citra algoritma Multiresolution Segmentation.
Langkah 4: Spectral Difference Segmentation
1. Reset hasil segmentasi sebelumya.
2. Klik kanan pada parent process “Segmentasi”, lalu pilih Insert child process.
3. Pada Name, ketikkan “Spectral Difference Segmentation”, lalu Klik OK.
4. Spectral Difference Segmentation merupakan algoritma post-segmentasi yang dilakukan untuk memperbaiki kualitas segmentasi. Untuk itu, kita buat dulu segmentasi Multiresolution Segmentation dengan nilai Scale = 10 (yang lain biarkan default)
Pada “Spectral Difference Segmentation”, klik kanan à Insert child (buat Multiresolution segmentation dengan nilai scale =10 dan beri nama Level_1)
Hasilnya sebagai berikut:
5. Selanjutnya, Pada “Spectral Difference Segmentation”, klik kanan à Insert child. Gunakan pengaturan di bawah ini.
7. Ruleset kita akan nampak seperti ini.
8. Hasil dari proses segmentasi tersebut adalah seperti ini.
9. Perbandingan sebelum dan sesudah segmentasi Spectral Difference Segmentation
Kembali ke latihan sebelumnya: Menulis Ruleset di eCognition Developer
Lanjut ke latihan berikutnya: Latihan klasifikasi berdasar sampel
Mas, saya mau tanya. Bagaimana menerapkan algoritma Support Vector Machine (SVM) pada proses klasifikasi citra tersebut? Terima kasih
Halo mas,
Masuk ke Insert Child Process –> Supervised Classification, lalu bagian Classification Type-nya ganti SVM. Kalau bingung, bisa tanya lagi, Mas