Semantic vs instance segmentation: apa bedanya di GIS
Diterbitkan Diperbarui

Semantic segmentation (segmentasi semantik) memberi setiap piksel pada citra sebuah kelas: piksel ini bangunan, yang itu jalan, berikutnya pohon. Instance segmentation melangkah lebih jauh dan memisahkan objek-objek dalam satu kelas: piksel ini bangunan nomor 12, yang itu bangunan nomor 13.
Perbedaannya dalam satu kalimat
Semantic menjawab "berapa luasnya". Instance menjawab "berapa jumlahnya, dan yang mana". Panoptic, istilah ketiga, menjawab keduanya dalam satu peta.
Gambar yang sama diberi label dengan dua cara. Semantic segmentation mewarnai semua bangunan dengan warna yang sama. Instance segmentation memberi tiap bangunan garis luar dan nomornya sendiri.

| Semantic | Instance | Panoptic | |
|---|---|---|---|
| Output | Satu kelas per piksel | Satu mask per objek | Satu kelas per piksel, ditambah ID objek untuk benda yang bisa dihitung |
| Dua rumah yang bersentuhan | Satu mask | Dua objek | Dua objek |
| Apa yang dianggap objek | Tidak ada: kelas adalah sebuah permukaan | Setiap atap, tajuk pohon, kolam renang, atau mobil | Setiap benda yang bisa dihitung; permukaan tetap permukaan |
| Bisa dipakai untuk menghitung | Tidak | Ya | Ya, untuk kelas yang bisa dihitung |
| Penggunaan GIS yang umum | Tutupan lahan, persentase kanopi, permukaan kedap air, perubahan | Inventarisasi bangunan, pohon, kolam renang, dan panel | Peta seluruh scene, parsel tanaman |
| Model yang umum | U-Net, DeepLab | Mask R-CNN, keluarga Segment Anything | Dua head, atau satu model yang dilatih dengan label panoptic |
| Menjadi vektor di QGIS | Polygonize, lalu dibersihkan | Sudah satu poligon per objek | Polygonize kelasnya, pertahankan ID objek |

Apa yang diberikan masing-masing di peta
Model semantic memberi Anda permukaan untuk diukur, sedangkan model instance memberi Anda objek untuk dihitung.
Semantic adalah peta tutupan lahan dengan tepi yang tajam: mask bangunan, mask jalan, mask vegetasi. Cocok untuk statistik luas, permukaan kedap air, tutupan kanopi, dan perubahan antara dua tanggal. Tidak cocok untuk apa pun yang butuh hitungan.
Instance adalah inventaris. Setiap atap, tajuk pohon, atau kolam renang datang sebagai poligon tersendiri dengan barisnya sendiri di attribute table. Anda bisa menghitung, mengukur masing-masing, dan menambahkan tinggi ke tiap objek lewat join. Harganya, model harus memutuskan di mana satu objek berakhir. Itu sulit pada rumah deret, dan kegagalannya terlihat jelas: dua rumah menyatu, satu tajuk terpecah menjadi tiga.
Asal istilahnya. Keduanya istilah computer vision. Pada 2014, Long, Shelhamer, dan Darrell menunjukkan bahwa jaringan yang dilatih "end-to-end, pixels-to-pixels" bisa melakukan semantic segmentation. Pada 2017, Mask R-CNN menambahkan ke detektor objek "a branch for predicting an object mask", yaitu instance segmentation. Pada 2023, Segment Anything dilatih dengan "over 1 billion masks on 11M licensed and privacy respecting images", dan itulah keluarga model yang kini dijalankan alat instance di QGIS.
Panoptic segmentation, istilah ketiga
Panoptic segmentation memberi setiap piksel sebuah kelas, seperti semantic, dan juga memberi setiap objek yang bisa dihitung ID-nya sendiri, seperti instance. Kirillov dan rekan-rekannya menamai tugas ini pada 2018 dan mendefinisikannya sebagai tugas yang "unifies the typically distinct tasks of semantic segmentation (assign a class label to each pixel) and instance segmentation (detect and segment each object instance)".
Makalah itu membagi kelas menjadi dua jenis. Things adalah benda yang bisa dihitung: bangunan, mobil, pohon. Stuff adalah yang tak berbentuk pasti: rumput, air, permukaan jalan. Peta panoptic menghitung things dan mengukur stuff, dalam satu layer tanpa celah dan tanpa tumpang tindih. Makalah yang sama mengusulkan satu skor untuk keduanya, panoptic quality (PQ), "for all classes (stuff and things)".
Penggunaannya di GIS. Lahan pertanian adalah contoh yang paling jelas. PASTIS, benchmark dari Prancis, berisi 124.422 parsel pertanian dalam 2.433 deret waktu Sentinel-2 beresolusi 10 m per piksel, yang mencakup sekitar 4.000 km² wilayah Prancis. Setiap piksel membawa jenis tanaman sekaligus indeks parsel. Model semantic di dataset ini mengatakan "gandum di sini". Model panoptic mengatakan "gandum, parsel 57", sehingga Anda bisa menghitung lahan dan mengukur masing-masing. Makalah di baliknya menyebut segmentasi panoptic parsel dengan presisi piksel sebagai tugas dengan "major economic and environmental implications".
Dalam praktik, tim GIS jarang butuh model panoptic. Jalankan alat instance untuk things, alat semantic untuk stuff, lalu tumpuk kedua layer di QGIS. Hasilnya peta yang sama dalam dua langkah.
Apa yang dihitung mask semantic: tiga tile di Prancis, diukur
Jika Anda mempoligonkan mask bangunan semantic, yang Anda hitung adalah blok, bukan bangunan: pada 1 km² pusat kota Lens, peta tutupan lahan AI milik IGN, yang dibuat dari foto udara 20 cm, menghasilkan 269 blob bangunan, sedangkan register bangunan nasional mencatat 3.006 bangunan. Kami mengukurnya pada 23 September 2026 di tiga tile 1 km², masing-masing dicek terhadap bangunan BD TOPO milik IGN.
| Pada satu tile 1 km² | Lens, pusat kota | Liévin, rumah kota tambang | Paris 11e |
|---|---|---|---|
| Bangunan di BD TOPO (20 m² atau lebih) | 3.006 | 952 | 1.759 |
| Blob di mask AI 20 cm (IGN CoSIA) | 269 | 558 | 95 |
| Bangunan yang ditemukan dan berbagi blob | 97,5% | 63% | 99,5% |
| Median bangunan dalam blob itu | 30 | 2 | 31 |
| Blob di tutupan lahan 10 m (ESA WorldCover) | 1 | 29 | 1 |
| Luas, mask AI / footprint / "built-up" 10 m | 40,5 / 36,3 / 87,2 ha | 14,4 / 12,3 / 46,3 ha | 58,4 / 54,7 / 96,3 ha |
Mask yang lebih halus tidak memperbaiki hitungan. Mask menemukan 96 sampai 97% bangunan di tiap tile, tetapi rumah deret atau blok apartemen berbagi dinding, sehingga tidak ada piksel latar yang memisahkan dua rumah, baik pada 20 cm maupun 2 cm. Di Lens dan Paris, bangunan yang ditemukan mask berada, pada median, dalam blob berisi sekitar 30 bangunan.

Liévin menunjukkan di mana mask semantic memang menghitung dengan benar. Rumah tunggal muncul sebagai satu blob masing-masing, dan 344 dari 926 bangunan yang ditemukan di sana punya blob sendiri. Rumah kembar dan deretan rumah di kompleks tambang lama muncul sebagai satu blob per deret, itulah sebabnya bangunan median berada dalam blob berisi dua bangunan.

Untuk luas, mask semantic cukup dekat. Mask AI menghasilkan angka 7 sampai 17% di atas jumlah footprint, dan itu wajar: mask melihat atap, yang menjorok melewati dinding yang digambar BD TOPO, serta bangunan tambahan yang kecil. Kelas "built-up" 10 m bernilai 1,8 sampai 3,8 kali luas footprint, karena piksel 10 m yang berisi atap, halaman, dan trotoar diberi label built-up. Yang diukur adalah kawasan terbangun, bukan bangunan.
Pohon juga menyatu
Di tile Paris, 1.296 dari 1.583 pohon yang tercatat dalam inventaris kota berada di kanopi pohon pada mask AI (dalam jarak 2 m dari batang), dan 89% di antaranya berbagi satu blob kanopi dengan pohon lain dalam inventaris. Jalur pejalan kaki yang ditanami di sepanjang boulevard Richard-Lenoir adalah satu blob yang memuat 254 pohon inventaris. Menghitung tajuk dari mask kanopi berhasil untuk pohon yang berdiri sendiri, dan gagal di sepanjang jalan yang ditanami pohon.
Cara kami mengukurnya
Tile berupa kotak 1 km dalam Lambert 93 yang berpusat di Lens (50,432 N, 2,832 E), Cité Pasteur di Liévin (50,433 N, 2,762 E), dan boulevard Richard-Lenoir (48,860 N, 2,370 E). Blob adalah sekelompok piksel mask yang saling bersentuhan dengan luas 20 m² atau lebih, yaitu hasil QGIS Polygonize dengan pengaturan default, dan sebuah bangunan dianggap ditemukan jika setengah footprint-nya berada di bawah mask. CoSIA hanya diterbitkan sebagai peta bergaya, jadi kami membacanya pada sekitar 0,4 m dan memetakan setiap warna kembali ke kelasnya. Beberapa piksel tepi yang hilang dengan cara itu memecah blob, sehingga persentase di atas, kalau ada kekeliruan, justru terlalu rendah. Foto di balik CoSIA lebih tua daripada register yang kami bandingkan. BD TOPO kadang menggambar rumah kembar sebagai satu bangunan. Inventaris Paris tidak memuat pohon milik pribadi. Tiga tile adalah tiga tempat, bukan angka nasional.
Dari mask ke poligon di QGIS
Mask semantic butuh tiga atau empat langkah pemrosesan agar menjadi poligon yang bisa dipakai, sedangkan alat instance langsung memberikan poligonnya. Berikut masing-masing jalur beserta alat QGIS yang mengerjakannya.
Dari mask semantic
- Hilangkan bintik. Jalankan
Raster > Analysis > Sieve. Alat ini "removes raster polygons smaller than a provided threshold size (in pixels)" dan mengisinya dengan nilai tetangga terbesar, menurut manual QGIS. Ambang default adalah 10 piksel. Pada 20 cm, 10 piksel hanya 0,4 m², jadi naikkan agar sesuai dengan objek terkecil yang Anda perlukan. - Polygonize. Jalankan
Raster > Conversion > Polygonize (Raster to Vector). Alat ini "creates vector polygons for all connected regions of pixels in the raster sharing a common pixel value", dengan nilainya di field bernamaDNsecara default, menurut manual. Biarkan "Use 8-connectedness" tidak dicentang. Jika dicentang, dua piksel yang hanya bersentuhan di sudut akan menyatu, sehingga dua bangunan yang bertemu di satu sudut menjadi satu poligon. - Simpan kelasnya. Piksel latar juga membentuk poligon. Pilih
"DN" = 1(atau nilai kelas Anda) dan simpan seleksinya sebagai layer baru. - Putuskan apa arti satu feature. Untuk permukaan sebuah kelas, jalankan
Vector > Geoprocessing Tools > Dissolvetanpa field: Anda mendapat satu feature multipart dan satu angka luas. Untuk blob, centang "Keep disjoint features separate" (QGIS 3.32 atau lebih baru), atau jalankanMultipart to singlepartsdari Processing Toolbox, dan setiap blob menjadi barisnya sendiri. - Rapikan tepinya. Tepi piksel keluar berbentuk tangga. Panduan raster ke vektor membahas simplify, smooth, dan filter luas.
Setelah langkah 4, yang Anda miliki adalah satu poligon per blob, bukan per objek. Tabel Lens di atas menunjukkan seperti apa perbedaan itu: 269 blob untuk 3.006 bangunan.
Begitu pula cara dataset footprint besar dibuat. Global building footprints dari Microsoft dibangun dalam dua tahap: "Semantic Segmentation", yaitu mengenali piksel bangunan dengan deep neural network, lalu "Polygonization", yaitu mengubah piksel itu menjadi poligon. Sebuah piksel dianggap bangunan jika probabilitasnya di atas 0,5. Langkah poligon adalah tempat bangunan dipisahkan satu per satu, dan itu pekerjaan tambahan yang diserahkan model semantic kepada Anda.
Dari alat instance
- Jalankan alat pada sebuah zona. Setiap objek datang sebagai poligon tersendiri, satu baris di attribute table.
- Periksa multipart. Sebagian alat mengembalikan satu objek dalam beberapa potongan.
Multipart to singlepartsmemecahnya, lalu periksa yang terpecah sebelum Anda menghitung. - Ukur masing-masing. Tambahkan field dengan
$areadi field calculator, lalu saring sliver yang lebih kecil dari objek nyata terkecil. - Gabungkan data yang Anda punya. Setiap poligon bisa mengambil tinggi, alamat, atau ID register lewat spatial join, sesuatu yang tidak bisa dilakukan oleh permukaan kelas.
Dengan AI Segmentation, langkah 1 sampai 3 menyatu menjadi satu: ketik "bangunan" atau "kolam renang", pilih zona, dan setiap objek yang ditemukan kembali sebagai poligon tersendiri di layer baru. Dengan AI Agent, jalur semantic di atas berjalan dari satu kalimat di panel chat di dalam QGIS: Anda menjelaskan layer yang diinginkan, lalu AI Agent menjalankan alat QGIS yang sama, yaitu Sieve, Polygonize, dan Dissolve, dan memeriksa peta sebelum menjawab.
Alat QGIS mana yang menghasilkan yang mana
Sebagian besar plugin QGIS yang dibangun di atas model tutupan lahan bersifat semantic, dan alat yang dibangun di atas Segment Anything bersifat instance.
- Semantic: Deepness dan sebagian besar model yang tersedia di dalamnya, Semi-Automatic Classification Plugin, model tutupan lahan Mapflow.
- Instance: keluarga Segment Anything, yaitu Geo-SAM, samgeo, dan plugin SAM untuk QGIS. Satu objek per klik.
- AI Segmentation, plugin buatan kami di TerraLab untuk QGIS, adalah alat instance. Anda menyebutkan objeknya, misalnya bangunan, pohon, atau kolam renang, atau menggambar satu contohnya, dan plugin mengembalikan satu poligon per objek yang ditemukan di zona. Panduan footprint bangunan menunjukkan hasilnya pada blok yang padat. Jika bangunannya sudah dipetakan, pengunduh footprint gratis memberi Anda poligon instance itu sebagai GeoJSON tanpa menjalankan apa pun.
Pertanyaan yang sering diajukan
Jawaban singkat di bawah ini mencakup apa yang dicari orang di samping kedua istilah ini.
Apa perbedaan semantic, instance, dan panoptic segmentation?
Semantic segmentation memberi setiap piksel sebuah kelas. Instance segmentation memisahkan setiap objek dalam satu kelas ke dalam mask-nya sendiri. Panoptic segmentation melakukan keduanya sekaligus: setiap piksel mendapat kelas, dan setiap objek yang bisa dihitung, seperti bangunan atau mobil, juga mendapat ID sendiri.
Mana yang sebaiknya dipakai untuk proyek GIS?
Pakai semantic jika jawabannya berupa luas atau persentase: tutupan kanopi, permukaan kedap air, lahan banjir. Pakai instance jika jawabannya berupa jumlah atau atribut per objek: bangunan, pohon, kolam renang, panel surya. Jika Anda butuh keduanya, jalankan masing-masing satu, lalu tumpuk kedua layer.
Apakah object detection sama dengan instance segmentation?
Tidak. Object detection mengembalikan persegi panjang di sekeliling setiap objek. Instance segmentation mengembalikan garis luarnya, piksel demi piksel. Untuk peta, hampir selalu garis luar yang Anda butuhkan.
Bisakah mask semantic diubah menjadi instance?
Kadang bisa. Poligonkan mask-nya, lalu pisahkan poligon di bagian yang menyempit. Cara ini berhasil pada benda yang terpisah seperti tajuk pohon di kebun. Cara ini gagal pada rumah deret, karena tidak ada bagian menyempit untuk dipotong.
Apakah resolusi citra mengubah jawabannya?
Ya, tetapi tidak sebesar yang dikira orang. Pada 10 m, sebuah rumah hanya satu atau dua piksel dan tidak ada yang bisa dipisahkan, jadi tutupan lahan dari citra satelit bersifat semantic karena keadaan. Pada 20 cm, sebuah rumah terdiri dari ribuan piksel dan instance segmentation menjadi mungkin, tetapi mask semantic pada 20 cm tetap menggabungkan setiap rumah yang berbagi dinding: di pusat kota Lens, 97,5% bangunan yang ditemukannya berbagi blob.
Mengapa mask yang dipoligonkan menghasilkan satu poligon untuk satu blok penuh?
Karena rumah-rumah di blok itu berbagi dinding, sehingga tidak ada piksel latar di mask yang memisahkannya. Polygonize menggabungkan setiap piksel bersambung dengan nilai yang sama menjadi satu poligon. Hanya model instance, yang menggambar setiap objek sendiri-sendiri, yang memisahkannya.
Apakah Segment Anything termasuk instance segmentation?
Ya, dilihat dari outputnya: model ini mengembalikan satu mask per objek yang Anda tunjuk, jadi dua atap yang bersentuhan kembali sebagai dua mask. Namun model aslinya tidak memberi label kelas. Model memisahkan objek tanpa menamainya, dan alat QGIS yang dibangun di atasnya mengambil kelas dari klik atau prompt Anda.
Semantic dan instance segmentation sama-sama bagian dari kategori GeoAI yang lebih luas. Arti GeoAI membahas istilah yang kedua teknik ini menjadi contohnya. Pemetaan kanopi pohon menunjukkan kedua sisinya pada pohon: tutupan kanopi dari mask, atau satu poligon per tajuk. Hub AI QGIS merangkum apa yang bisa dan tidak bisa dilakukan AI di dalam QGIS.
, adalah alat instance. Anda menyebutkan objeknya, misalnya bangunan, pohon, atau kolam renang, atau menggambar satu contohnya, dan plugin mengembalikan satu poligon per objek yang ditemukan di zona. 

