← Back to Blog

Dari label QGIS ke detektor bangunan baru dan dataset baru dalam satu jam

by Geoalert
Dari label QGIS ke detektor bangunan baru dan dataset baru dalam satu jam

Kami terus bereksperimen dengan agen AI, dan kali ini kasusnya adalah validasi pemetaan dan deteksi konstruksi. Perlu dikatakan bahwa ini adalah satu lagi alur kerja disruptif dalam pemetaan berbasis AI. Dalam eksperimen ini kami memberi agen AI sebuah proyek QGIS berisi 487 poligon yang digambar manual, lalu bertanya: apakah label ini cukup baik untuk melatih detektor konstruksi baru bertingkat rendah? Sekitar 30 menit kemudian, agen sudah melatih pengklasifikasi perubahan dengan label tersebut dan memeriksa setiap label. Agen menandai 10% label untuk dihapus atau diperbaiki dan menemukan bangunan baru yang terlewat oleh kartografer kami.

Tugas

Proyek pendahuluan

Area proyek berada di Karnataka, India, sekitar 9 × 8 km. Area ini memadukan blok kota yang padat dengan desa, perkebunan kelapa, dan lahan pertanian. Targetnya adalah konstruksi baru bertingkat rendah: terutama rumah satu dan dua lantai, gudang, dan kavling yang baru dibersihkan.

  • Dataset awal dibuat dengan plugin Mapflow untuk QGIS. Lokasi konstruksi dilabeli secara manual sebagai kotak (bbox) atau area convex hull, lalu model Mapflow Buildings diterapkan untuk membuat garis batas bangunan di dalam area tersebut.
  • Berdasarkan hasil anotasi, kami memperkirakan akurasi model untuk deteksi konstruksi sekitar 70% untuk 90% lokasi konstruksi.
  • Klasifikasi konstruksi berdasarkan tahapan diperkirakan lebih rendah, dengan interval kepercayaan yang lebih lebar. Untuk meningkatkan akurasi ini, kami meminta pelanggan menggunakan citra yang lebih detail seperti foto udara, tetapi ternyata mahal dan tidak sesuai anggaran proyek, sehingga ide ini kami tinggalkan.

Alur kerja agentik

Masukan untuk agen adalah:

  • Sebuah proyek QGIS (.qgz) dengan dua lapisan citra: mosaik global tahun 2023 ("sebelum") dan scene baru beresolusi tinggi ("sesudah").
  • Sebuah GeoJSON berisi 487 poligon perubahan konstruksi dengan atribut stage (completed / new / kosong). Hanya 110 label yang memiliki tahapan, terlalu sedikit untuk dipelajari, sehingga pengklasifikasi diminta mengabaikannya dan memperlakukan semua poligon sebagai satu kelas "perubahan konstruksi".

Prompt-nya hanya satu kalimat: gunakan label ini sebagai label pelatihan untuk perubahan konstruksi, validasi label tersebut, dan temukan label yang hilang atau salah.

Apa yang dilakukan agen

Agen membaca proyek, menentukan langkah-langkahnya, lalu menulis dan menjalankan skripnya sendiri.

  1. Membaca proyek QGIS
  2. Mengunduh citra
  3. Menyelaraskan tanggal citra. Inilah bagian yang menarik! Kedua citra bergeser 3–8 m, dan pergeserannya berbeda-beda di seluruh scene. Agen mengukur pergeseran pada grid jendela citra dan menyelaraskan mosaik 2023 ke citra baru, sehingga sisa galatnya turun menjadi sekitar 0,8 m.
  4. Memeriksa setiap label. Agen memotong cuplikan sebelum/sesudah untuk masing-masing dari 487 poligon dan meninjaunya dalam lembar berisi 28 cuplikan. Lalu sekitar 90 kasus yang meragukan dibuka kembali dalam ukuran lebih besar.
  5. Melatih pengklasifikasi dengan label. Agen menjalankan ResNet-18 yang sudah dilatih sebelumnya pada kedua tanggal dan melatih regresi logistik pada fitur kedua tanggal beserta selisihnya. Pengujian dilakukan pada blok spasial yang belum pernah dilihat model: AUC 0,96.
  6. Mencari yang terlewat. Agen mengurutkan lokasi tanpa label berdasarkan "tampak terbangun sekarang, tampak kosong pada 2023". Agen meninjau 108 kandidat teratas satu per satu dan mengambil sampel lebih jauh di daftar untuk memperkirakan berapa banyak yang terlewat.
  7. Menyerahkan hasil. Agen menghasilkan GeoJSON label dengan qa_flag per poligon, daftar kandidat yang terlewat, dan halaman laporan berisi cuplikan citra.

Apa yang ditemukan

Dari 487 label, 88% sudah benar, dan masalahnya mengelompok dalam beberapa pola.

MasalahLabelSeperti apa
Sudah terbangun pada 202323Rumahnya ada di kedua citra, atau tidak ada yang berubah
Hanya ganti atap14Tapak sama; atap hijau menjadi biru, atau atap merah menjadi oranye
Poligon terlalu luas9Kotak mencakup rumah lama beserta perluasan barunya; salah satunya 2,4 ha
Pembongkaran3Gudang dibongkar, tidak ada yang dibangun
Belum pasti8Atap di atas dinding yang sudah ada, atau hanya ganti atap? Citra 2023 terlalu buram untuk memastikan

Temuan yang lebih besar adalah apa yang tidak ada. Di antara 108 kandidat teratas, agen mengonfirmasi 39 bangunan baru tanpa label dan 29 lokasi konstruksi atau kavling yang dibersihkan. Sampel lebih jauh di daftar menambah beberapa lagi. Jika tingkat temuan diekstrapolasi, scene ini kemungkinan memuat 100–200 bangunan baru tanpa label, sehingga kelengkapan (recall) label bangunan sekitar 70–80%. Perlu dicatat, angka ini mengukur seberapa lengkap label manual, bukan akurasi model, jadi belum menguji perkiraan awal kami sebesar ~70%.

Bangunan baru yang terlewat dan ditemukan oleh pengklasifikasi. Kotak sian menandai kandidat: lahan kosong pada 2023 (kiri), rumah atau gudang baru sekarang (kanan).

Pedesaan dan perkotaan padat gagal dengan cara berbeda

Kedua lingkungan ini merusak label dengan cara yang berlawanan, sehingga set pelatihan perlu mencakup keduanya dengan sengaja.

  • Pedesaan: terlewat. Sebagian besar bangunan tanpa label adalah rumah tunggal di kebun kelapa, gudang di tepi ladang, dan kompleks baru di pinggir desa. Dari 42 bangunan terlewat yang terkonfirmasi, 35 memiliki kurang dari lima label dalam radius 500 m, dan sebagian besar tidak memiliki label sama sekali. Anotator berfokus pada area dengan banyak perubahan dan melewatkan tile yang tampak kosong — begitulah alur kerja anotasi kami di QGIS dibangun (berganti antara lapisan citra lama <> baru dan mencari perbedaan dengan mata). Model yang dilatih dengan data seperti itu belajar mengabaikan konstruksi yang terpencil.
  • Perkotaan padat: label salah. Sekitar 9 dari 10 label salah dan label ganti-atap berada di klaster padat, dengan lima label lain atau lebih dalam radius 500 m. Ketika atap-atap berdempetan, atap biru baru atau lantai tambahan terlihat seperti bangunan baru (juga faktor mata manusia), dan citra 2023 yang buram memperburuknya.
  • Anotator memerlukan aturan tertulis untuk kasus batas. Ganti atap, perluasan, pembongkaran, dan pembersihan lahan dilabeli di beberapa tempat tetapi tidak di tempat lain.
  • Selaraskan citra sebelum memotong cuplikan. Pergeseran beberapa meter membuat setiap tepi rumah yang tidak berubah menjadi piksel "perubahan" palsu. Hal ini paling berpengaruh di area padat, tempat bangunan kecil dan saling berimpitan.

Menutup siklus dengan Mapflow

Selanjutnya agen sendiri menambahkan 45 bangunan yang terlewat ke set pelatihan. Prosesnya memakan waktu sekitar 12 menit dalam sesi Mapflow SAM yang terhubung melalui MCP.

  1. Agen menempatkan satu titik pada setiap bangunan yang terlewat di 42 lokasi terkonfirmasi. Tongkat ajaib Mapflow membuat garis batas setiap bangunan dari titiknya.
  2. Percobaan pertama menggunakan skala kasar 2,3 m dan menghasilkan bentuk yang longgar. Mengganti skala tongkat ke 0,29 m memperbaikinya. Agen menyesuaikan parameter ini sendiri.
  3. Lembar kontrol berisi semua garis batas menangkap empat kesalahan: tembok pagar, perkerasan, bercak gelap, dan tanah kosong. Agen menghapusnya dan merapikan sisanya menjadi persegi panjang.

24 dari 45 tapak baru. Setiap pasangan menampilkan citra 2023 di kiri dan citra baru dengan garis batas Mapflow di kanan.

Hasilnya langsung digabungkan ke label pelatihan: 446 label yang dipertahankan setelah pemeriksaan ditambah 45 tapak baru, total 491.

Upaya, biaya, dan langkah berikutnya

Proses agen memakan waktu sekitar 26 menit dan sekitar $6,30 untuk penggunaan model. Meninjau 487 pasangan sebelum/sesudah dan menelusuri 75 km² secara manual untuk mencari yang terlewat akan memakan waktu beberapa hari atau lebih bagi anotator kami.

Seluruh sesi pemeriksaan pemetaan menghabiskan sekitar $31. Tabel menunjukkan rinciannya per langkah, berdasarkan log penggunaan sesi. Modelnya adalah Claude Opus 5.5, salah satu yang paling mahal.

LangkahLangkah agenToken berbobot hargaBiaya (USD)
Pemeriksaan label: tile, penyelarasan, pengklasifikasi, tinjauan, laporan732,28M6,31
Tapak dengan Mapflow SAM (total)612,75M7,59
 Unggah citra ke Mapflow, siapkan sesi150,51M1,40
 Tempatkan titik di 42 lokasi191,12M3,10
 Sesi SAM: tongkat ajaib, tinjauan, persegi panjang, ekspor170,68M1,89
 Perbarui tulisan dan dokumen proyek100,43M1,19
Draf tulisan blog130,73M2,01
Suntingan dari komentar554,44M12,28
Perbaikan dokumen proyek50,61M1,67
Cek penggunaan80,30M0,82
Total21511,1M~31

Tabel ini hanya menghitung penggunaan model oleh agen. Biaya area Mapflow ditambahkan di atasnya. Dengan $1 per km² dan minimum 1 km², biayanya sekitar $75 untuk seluruh scene. Mengirim hanya jendela 200 m di sekitar 42 bangunan yang terlewat, sebagai satu area multi-bagian, menurunkannya menjadi sekitar $2. Membuat garis batas semua bangunan baru memerlukan sekitar 5% area, $4 (lihat tabel penskalaan).

Bisakah agen membuat garis batas 45 bangunan tanpa SAM? Agen tetap memerlukan titik-titiknya ($3,10), lalu menggambar setiap poligon secara visual dan memeriksa serta memperbaikinya dalam 2–3 putaran, sekitar 25 langkah tambahan. Biayanya sekitar $6 dalam token, kira-kira sama dengan jalur SAM ($5 dalam token ditambah biaya Mapflow $2–4). Perbedaannya ada pada kualitas. Sudut yang ditempatkan manual pada citra 0,58 m meleset 1–2 piksel, sekitar 1 m, yang berarti galat luas sekitar 25% untuk rumah 150 m². SAM menempelkan garis batas ke tepi atap.

Menskalakan ke seluruh Karnataka

Pada skala negara bagian, biaya hampir seluruhnya beralih ke biaya area Mapflow. Token agen menjadi biaya tetap yang kecil, dan itu bergantung pada tiga optimasi:

  • Deteksi perubahan berjalan sebagai kode. Pengklasifikasi yang telah dilatih dijalankan sebagai kode biasa tanpa agen di dalam loop. Ekstraksi fitur memakan sekitar 340 detik CPU untuk scene 75 km² ini, sekitar 4,5 detik per km².
  • Agen hanya meninjau. Agen memeriksa sampel sekitar 200 deteksi per distrik, bukan setiap label.
  • SAM hanya melihat jendela perubahan. Pembuatan garis batas berjalan pada jendela 100 m di sekitar deteksi, dikirim sebagai satu area multi-bagian per distrik. Tanpa klik tongkat ajaib per bangunan.

Di Maddur, jendela 100 m mencakup 5% area untuk bangunan yang benar-benar baru dan 16% untuk semua yang ditandai detektor saat ini. Tabel mengasumsikan 5% area dikirim ke Mapflow: jendela 100 m di sekitar semua bangunan baru, setiap distrik dikirim sebagai satu area multi-bagian. Untuk 42 bangunan yang terlewat saja cukup 2%.

SkalaLuas (km²)Luas yang dikirim ke Mapflow (5%)Komputasi deteksiBiaya Mapflow pada $1/km²Token agenTotalPer km²
Uji ini (Maddur)753,8 km² (ditagih 4)< $0,01$4$11$15$0,20
Satu distrik (rata-rata)6.200310 km²~$1$310~$10~$321$0,052
Karnataka (31 distrik)191.8009.590 km²$30–50$9.590~$350~$9.980$0,052
Sebagai pembanding: seluruh negara bagian dikirim ke Mapflow191.800191.800 km²$30–50$191.800~$350~$192.200$1,00

Pada skala negara bagian, token agen berjumlah sekitar $20 untuk membangun dan melatih ulang pipeline, ditambah sekitar $10 per distrik untuk tinjauan sampel dan menjalankan Mapflow. Menjalankan pemeriksaan penuh oleh agen scene demi scene akan menghabiskan sekitar $16.000 (2.560 scene × $6,30). Biaya citra tidak termasuk. Begitu pula biaya pelatihan ulang untuk meningkatkan presisi detektor, yang akan memperkecil jendela dan biayanya.

Kesimpulan

Ini bukan kesimpulan akhir, melainkan potret eksperimen kami saat ini dengan teknologi yang berubah sangat cepat.

Alur kerja berbasis agen yang memanfaatkan GPU yang dapat diskalakan dengan model terbuka (kasus Mapflow) adalah metode yang ampuh untuk tugas validasi pemetaan yang memakan waktu: lebih akurat dan lebih cepat daripada agen yang bekerja sendiri, dengan biaya yang kurang lebih sama. Pada skala negara bagian, alur kerja yang dioptimalkan sekitar 1,6× lebih murah daripada menjalankan agen scene demi scene ($10 ribu vs $16 ribu) dan sekitar 20× lebih murah daripada menjalankan Mapflow di seluruh Karnataka. Perbedaan yang sangat besar!

Ini tidak menyingkirkan kartografer; perannya justru bergeser: anotator + supervisor. Selanjutnya, kami akan melatih ulang model dengan pasangan citra yang sudah dibersihkan dan diselaraskan, lalu menjalankan audit yang sama untuk mengukur peningkatannya di wilayah baru.

Menulis tulisan ini ternyata memakan waktu lebih lama daripada melatih pengklasifikasi dan menjalankan pipeline agentik (tidak termasuk anotasi citra awal).

Kita berada di masa perubahan yang transformatif, tidak mengejutkan. Yang masih mengejutkan kami adalah betapa cepatnya perubahan itu.

Selamat memetakan! 🗺️