Cara Mendeteksi Tapak Bangunan di QGIS Secara Otomatis
Saya menjalankan deteksi otomatis di sebuah zona pusat Paris dan mendapatkan 635 poligon dalam satu kali proses. Menentukan 82 poligon yang harus dipertahankan memakan waktu lebih lama daripada deteksinya, dan bagian kedua inilah yang hampir selalu tidak dibahas dalam tutorial.


Versi singkatnya. Untuk mendeteksi tapak bangunan di
secara otomatis: pasang plugin deteksi AI dari pengelola plugin, muat citra, gambar zona, beri nama objek, lalu jalankan. Anda mendapatkan layer poligon dalam CRS proyek. Kemudian saring output mentah berdasarkan skor keyakinan dan area, karena sebagian besar hasil yang dikembalikan bukan bangunan.
Apa itu tapak bangunan
Garis luar bangunan di tempat bangunan itu bertemu tanah, sebagai poligon datar. Bukan atap, bukan bidang tanah, bukan titik alamat.
Hal ini penting karena citra vertikal memberi Anda atap. Pada blok Haussmann lima lantai yang dipotret dekat nadir, pergeserannya kecil. Pada menara, tidak. Sebaiknya ketahui ini sebelum menjanjikan layer tapak bangunan kepada siapa pun.
Periksa dataset terbuka terlebih dahulu
Untuk banyak pekerjaan, Anda tidak perlu mendeteksi apa pun.
- OpenStreetMap sangat baik di mana pun para pemeta aktif, dan bangunan memiliki atribut. Muat dengan QuickOSM.
- Microsoft Global ML Building Footprints, lebih dari satu miliar bangunan yang diekstrak oleh mesin, paling kuat di Amerika Utara.
- Google Open Buildings mencakup Global South, tempat OSM paling jarang.

Muat salah satunya bersama citra Anda. Anda hanya melanjutkan ketika cakupannya memiliki celah, tahunnya keliru, atau tapaknya harus cocok dengan ortofoto tertentu yang diberikan klien.
Di bawah lima puluh bangunan, gambar sendiri
Digitasi dengan tangan. Gratis, presisi, dan untuk jumlah sebanyak itu saya tetap akan mengerjakannya sendiri. Aktifkan snapping terlebih dahulu (Project -> Snapping Options, vertex dan segment, topological editing aktif) atau Anda akan menghabiskan sore untuk menghapus sliver.
Sekitar bangunan ke-60, Anda mulai mengambil jalan pintas yang tidak akan pernah Anda ambil pada bangunan ke-6, dan Anda tidak menyadarinya. Semuanya sudah masuk ke dalam layer.
Cara otomatis
Plugin di sini adalah AI Segmentation, yang saya dan co-founder saya bangun di TerraLab, jadi baca bagian ini sambil mengetahui milik siapa tool ini. Plugin ini dipasang dari pengelola plugin seperti plugin lainnya: tanpa mengunduh manual, tanpa Python environment, tanpa kartu grafis khusus, karena modelnya berjalan di server kami. Windows, macOS, dan Linux.
Gambar zona, ketik buildings, tekan Detect. Itulah keseluruhan prompt, dalam bahasa Anda sendiri jika mau. Hasil mengalir kembali tile demi tile sebagai satu layer poligon dalam CRS proyek.

Satu-satunya pengaturan yang perlu dipelajari adalah precision, yaitu ukuran tile. Tile kecil memberi model pandangan dekat, yang dibutuhkan objek kecil. Tile besar memberinya konteks, yang dibutuhkan bidang pertanian. Tile juga yang Anda bayar: satu kredit per tile. Setiap akun mendapat jatah gratis setiap bulan, tanpa perlu kartu, dan Pro menaikkannya. Deteksi berjalan di server Eropa, kami tidak melatih model dengan citra Anda, dan tersedia model lokal kecil jika tidak ada data yang boleh meninggalkan mesin Anda.
Lalu panel memandu Anda melalui tiga langkah sebelum sesuatu menjadi layer: saring apa yang akan Dipertahankan, Koreksi apa yang terlewat oleh model, dan pilih output Bentuk. Panduan lengkap membahas ketiganya. Langkah pertama adalah tempat pekerjaan ini ditentukan, jadi bagian berikutnya membahasnya.
Penyaringan adalah keseluruhan pekerjaan
Output deteksi mentah adalah sekumpulan poligon kandidat dengan skor keyakinan. Pada citra padat, sebagian besar berukuran kecil dan tidak pasti. Saya mengekspor hasil Paris ini dengan kedua filter terbuka lebar, jadi setiap kandidat masuk ke layer: 635 poligon di atas 1.18 km².
Setengah dari hasil yang dikembalikan lebih kecil daripada tempat parkir: ventilasi, jendela atap, rumah pelindung tangga, gudang halaman. Semua itu benda nyata dalam citra, digambar dengan benar, tetapi bukan yang dimaksud siapa pun dengan tapak bangunan.
Jadi, lakukan penyaringan. Geser dua slider di panel, atau lakukan hal yang sama dari tabel atribut dengan Select by Expression:
"area_m2" >= 50 AND "score" >= 0.5
Hasilnya adalah 82 poligon dari 635, yang mencakup 222,338 m² dari total 263,658 m². Daripada begitu saja mempercayai ambang batas saya, geser sendiri. Warna hijau bertahan setelah filter Anda, warna putih tidak.

82 / 635polygons kept (13%)
84%of the built area (222,338 m²)
The same 635 detections the attribute table holds. Drop the confidence to zero and the courtyard sheds and skylights come back.
Perhatikan angka kedua saat Anda menggeser angka pertama. Membuang 87% poligon mengorbankan 16% area. Sisanya adalah noise yang sebenarnya akan Anda hapus dengan tangan juga, satu per satu, sambil bertanya-tanya apakah alatnya memang bagus.
Sesuaikan keduanya dengan pekerjaan. Survei gudang industri dapat menaikkan batas bawah area menjadi 200 m². Untuk memetakan permukiman informal, 50 m² membuang rumah nyata, jadi turunkan ke 15 dan lebih andalkan skor keyakinan.
Seperti apa hasil yang bersih
Paris adalah kasus yang sulit. Alat yang sama pada perumahan rumah terpisah sekitar 10 km di sebelah barat:

85m²
median polygon area
Paris run: 3.2 m²
0.79
median confidence
Paris run: 0.26
251polygons
kept, out of 251 returned
Paris run: 82 out of 635
Alat yang sama, kota yang sama, hampir tidak ada yang perlu dibuang. Yang berubah adalah struktur bangunannya, bukan modelnya.
Di mana ini gagal: blok padat yang berkesinambungan

Setiap poligon menelusuri selubung bangunan seluruh blok, mengikuti garis jalan dan memotong halaman dengan benar. Cocok untuk area terbangun atau permukaan kedap air, keliru jika Anda memerlukan satu poligon per alamat. Tidak ada model yang membaca citra vertikal dapat menemukan dinding bersama antara dua bangunan yang berdempetan, karena dari atas tidak ada apa pun yang bisa dilihat di sana.
Jadi saya tidak akan menggunakan deteksi otomatis untuk layer per alamat di pusat kota bersejarah. Data kadaster ditambah koreksi manual lebih unggul di sana.
Membersihkan geometri
Tiga tool native QGIS merapikan layer tapak, dan urutannya penting karena simplify memindahkan vertex yang baru saja Anda buat siku.
- Simplify, toleransi 0.5 m pada citra udara. Mengurangi jumlah vertex secara drastis tanpa menggeser batas ke titik yang akan Anda sadari.
- Orthogonalize. Membuat sudut yang hampir siku menjadi siku. Gunakan pada data terbuka atau pekerjaan yang ditelusuri dengan tangan, saat belum ada yang membuatnya siku.
- Delete holes, hanya jika Anda menginginkan tapak yang padat. Bukan pada hasil Paris: lubang-lubang itu adalah halaman dan sudah benar.
Pada layer yang terdeteksi, langkah 2 hampir tidak menghasilkan perubahan. Saya mengukurnya daripada berasumsi, dengan menjalankan Orthogonalize pada 190 bangunan terdeteksi dan membandingkan semua 1,845 sudut sebelum dan sesudahnya.
87.9%
corners already within 1° of square
before running anything
87.9%
after Orthogonalize
the same 1,845 corners
1.7cm
median vertex shift
9.1 cm at the worst

Sebanyak 12% yang tidak siku adalah teras-teras yang menempel. Lihat tepi bertingkat yang membentang di tengah blok. Tidak ada tool sudut yang dapat memperbaikinya, karena undakan itu mengikuti garis atap nyata, bukan kesalahan pemodelan.
Metode mana yang digunakan
| Dataset terbuka | Digitasi manual | Deteksi otomatis | |
|---|---|---|---|
| Biaya | Gratis | Gratis | Tingkat gratis, lalu berbayar |
| Penyiapan | Menit | Tidak ada | Menit |
| Cocok untuk | Area yang sudah tercakup dengan baik | Di bawah ~50 bangunan | Ratusan hingga ribuan |
| Cocok dengan citra Anda | Tidak | Ya | Ya |
| Konsisten di seluruh tim | Ya | Tidak | Ya |
| Blok padat yang berkesinambungan | Bervariasi | Ya | Hanya selubung blok |
| Sumber yang dapat dinyatakan | Dataset dan tahun perekaman | Anda | Citra Anda, dengan skor keyakinan |
Pertanyaan yang sering saya dapatkan
Apakah ini berfungsi pada citra drone? Lebih baik daripada citra satelit. Resolusi tanah lebih penting daripada sumbernya: ortofoto 5 cm memberikan batas yang lebih bersih dan keyakinan lebih tinggi daripada citra satelit 30 cm.
Apakah saya memerlukan GPU? Tidak. Kedua mode secara default berjalan di server kami, dan model lokal kecil berjalan di CPU Anda sendiri, lebih lambat dan kurang akurat. Jika Anda ingin semuanya tetap berada di mesin Anda, Geo-SAM dan samgeo gratis dan bagus, dan keduanya memang membutuhkan kartu NVIDIA.
Berapa biaya satu proses? Satu kredit per tile dalam mode otomatis, satu kredit per objek yang disimpan dalam mode semi-otomatis. Setiap akun mendapat jatah gratis setiap bulan, dan model lokal sama sekali tidak berbiaya.



