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.
- Membaca proyek QGIS
- Mengunduh citra
- 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.
- 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.
- 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.
- 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.
- Menyerahkan hasil. Agen menghasilkan GeoJSON label dengan
qa_flagper 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.
| Masalah | Label | Seperti apa |
|---|---|---|
| Sudah terbangun pada 2023 | 23 | Rumahnya ada di kedua citra, atau tidak ada yang berubah |
| Hanya ganti atap | 14 | Tapak sama; atap hijau menjadi biru, atau atap merah menjadi oranye |
| Poligon terlalu luas | 9 | Kotak mencakup rumah lama beserta perluasan barunya; salah satunya 2,4 ha |
| Pembongkaran | 3 | Gudang dibongkar, tidak ada yang dibangun |
| Belum pasti | 8 | Atap 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.
- Agen menempatkan satu titik pada setiap bangunan yang terlewat di 42 lokasi terkonfirmasi. Tongkat ajaib Mapflow membuat garis batas setiap bangunan dari titiknya.
- 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.
- 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.
| Langkah | Langkah agen | Token berbobot harga | Biaya (USD) |
|---|---|---|---|
| Pemeriksaan label: tile, penyelarasan, pengklasifikasi, tinjauan, laporan | 73 | 2,28M | 6,31 |
| Tapak dengan Mapflow SAM (total) | 61 | 2,75M | 7,59 |
| Unggah citra ke Mapflow, siapkan sesi | 15 | 0,51M | 1,40 |
| Tempatkan titik di 42 lokasi | 19 | 1,12M | 3,10 |
| Sesi SAM: tongkat ajaib, tinjauan, persegi panjang, ekspor | 17 | 0,68M | 1,89 |
| Perbarui tulisan dan dokumen proyek | 10 | 0,43M | 1,19 |
| Draf tulisan blog | 13 | 0,73M | 2,01 |
| Suntingan dari komentar | 55 | 4,44M | 12,28 |
| Perbaikan dokumen proyek | 5 | 0,61M | 1,67 |
| Cek penggunaan | 8 | 0,30M | 0,82 |
| Total | 215 | 11,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%.
| Skala | Luas (km²) | Luas yang dikirim ke Mapflow (5%) | Komputasi deteksi | Biaya Mapflow pada $1/km² | Token agen | Total | Per km² |
|---|---|---|---|---|---|---|---|
| Uji ini (Maddur) | 75 | 3,8 km² (ditagih 4) | < $0,01 | $4 | $11 | $15 | $0,20 |
| Satu distrik (rata-rata) | 6.200 | 310 km² | ~$1 | $310 | ~$10 | ~$321 | $0,052 |
| Karnataka (31 distrik) | 191.800 | 9.590 km² | $30–50 | $9.590 | ~$350 | ~$9.980 | $0,052 |
| Sebagai pembanding: seluruh negara bagian dikirim ke Mapflow | 191.800 | 191.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! 🗺️
