- Mozilla.ai merilis OpenStreetMap AI Helper Blueprint, yang menghubungkan data OpenStreetMap dengan citra satelit untuk menemukan objek peta, lalu memverifikasinya oleh manusia sebelum dikontribusikan kembali
- Pendekatan ini memisahkan deteksi objek YOLOv11 dan segmentasi SAM2 alih-alih memakai LLM/VLM, sehingga masing-masing menangani identifikasi lokasi dan pembuatan kontur poligon
- Contoh pemetaan kolam renang menunjukkan alur pembuatan data pelatihan dengan tag
leisure=swimming_pooldan tile Mapbox, lalu mengunggah hasilnya ke Hugging Face Hub - Dalam proses inferensi, tile di sekitar titik minat digabungkan lalu dibandingkan dengan objek OpenStreetMap yang sudah ada untuk mengecualikan kandidat duplikat, dan hanya kandidat baru yang diperiksa manusia
- Pekerjaan yang sepenuhnya manual biasanya hanya mencapai 2–3 kolam renang per menit, tetapi Blueprint ini dapat menangani 10–15 bahkan dengan UX yang belum dioptimalkan, sehingga sekitar 5 kali lebih cepat
Mengapa menggunakan data OpenStreetMap untuk pemetaan AI
- Mozilla.ai merilis blueprint OpenStreetMap AI Helper karena menilai AI dapat mengurangi pekerjaan yang berulang dan lambat dalam komunitas kolaborasi terbuka
- Tujuannya bukan menggantikan pemeta dengan AI, melainkan mengurangi waktu untuk menemukan objek dan menggambar poligon sambil mempertahankan verifikasi manusia sebagai tahap akhir
- Tugas inti yang tetap harus ditangani manusia adalah memeriksa apakah data peta yang dihasilkan benar-benar akurat
- OpenStreetMap adalah peta terbuka yang dapat diedit di mana komunitas mapper membuat dan memelihara data seperti jalan, jalur pejalan kaki, kafe, dan stasiun kereta
- OpenStreetMap adalah salah satu basis data peta terbuka paling lengkap, dan jika digabungkan dengan sumber lain seperti citra satelit, dapat dimanfaatkan sebagai data pelatihan model AI
Memilih model computer vision ringan alih-alih LLM
- Banyak Map Features di OpenStreetMap direpresentasikan sebagai area berbentuk poligon
- Mencari dan menggambar poligon secara manual memakan banyak waktu, tetapi jika datanya cukup, model computer vision dapat dilatih khusus untuk tugas ini
- Blueprint ini menggunakan model non-LLM modern yang dibagi menjadi dua tahap
- YOLOv11 dan SAM2 ringan, cepat, dan cocok dijalankan secara lokal
- Bobot gabungan kedua model kurang dari 250MB
- Sebagai pembanding, SmolVLM yang disebutkan berukuran 4.5GB
Alur 3 tahap Blueprint
-
Tahap 1: Membuat dataset deteksi objek dari OpenStreetMap
- Mengambil data OpenStreetMap, menggabungkannya dengan citra satelit, lalu mengubahnya ke format yang sesuai untuk pelatihan
- Tersedia Create Dataset Colab yang bisa langsung dijalankan
- Dua API digunakan untuk mengumpulkan data OpenStreetMap
- Nominatim API: memungkinkan pengguna memilih area minat secara fleksibel
- Overpass API: mengunduh poligon yang sesuai dengan tag tertentu di dalam area yang dipilih
- Dalam contoh kolam renang, Galicia digunakan untuk pelatihan dan Viana do Castelo untuk validasi
- Tag targetnya adalah leisure=swimming_pool, dan objek yang juga memiliki location=indoor dikecualikan
- Setelah poligon diunduh, dipilih zoom level, lalu diidentifikasi tile yang memuat poligon tersebut pada level zoom itu
- Tile diunduh melalui Static Tiles API milik Mapbox
- Poligon dengan koordinat lintang-bujur diubah menjadi bounding box koordinat piksel berdasarkan masing-masing tile dan disimpan dalam Ultralytics YOLO format
- Dataset yang selesai kemudian diunggah ke Hugging Face Hub, dan dataset contohnya adalah mozilla-ai/osm-swimming-pools
-
Tahap 2: Fine-tuning model deteksi objek
- Setelah format dataset siap, YOLOv11 atau model lain yang didukung Ultralytics dapat di-fine-tune
- Tersedia Finetune Model Colab yang bisa langsung dijalankan
- Hyperparameter yang tersedia dapat dilihat pada dokumentasi pengaturan pelatihan dari Ultralytics
- Model yang telah dilatih juga diunggah ke Hugging Face Hub
- Model contohnya adalah mozilla-ai/swimming-pool-detector
-
Tahap 3: Berkontribusi ke OpenStreetMap
- Menjalankan inferensi pada banyak tile dengan model deteksi objek yang telah di-fine-tune
- Tersedia Run Inference Colab yang bisa langsung dijalankan
- Detektor kolam renang contohnya dapat dicoba di HuggingFace Demo
- Ada beberapa interaksi manusia yang dibutuhkan dalam proses inferensi
- Pertama, memilih titik minat di peta
- Bounding box dihitung di sekitar titik yang dipilih berdasarkan argumen
margin - Objek minat yang sudah ada di OpenStreetMap diunduh
- Semua tile diunduh dari Mapbox lalu digabungkan menjadi gambar bertumpuk
- Gambar bertumpuk kemudian dibagi lagi menjadi tile yang saling tumpang tindih
- Pada setiap tile, model deteksi objek YOLOv11 dijalankan
- Saat objek minat seperti kolam renang terdeteksi, bounding box dikirim ke SAM2 untuk mendapatkan mask segmentasi
- Poligon hasil prediksi dibandingkan dengan poligon yang sudah diunduh dari OpenStreetMap untuk menghindari unggahan duplikat
- Kandidat yang diidentifikasi sebagai objek baru ditampilkan satu per satu, lalu diverifikasi dan difilter secara manual oleh pengguna
- Objek yang dipilih pengguna untuk dipertahankan diunggah ke OpenStreetMap sebagai satu changeset
Kinerja dan implikasi praktis
- OpenStreetMap AI Helper Blueprint menunjukkan bahwa AI dapat memperkuat kontribusi pemetaan manusia sambil tetap menempatkan verifikasi manusia sebagai pusat proses
- Dalam proses yang sepenuhnya manual, hanya 2–3 kolam renang per menit yang dapat dipetakan
- Dengan Blueprint ini, bahkan saat UX belum dioptimalkan, 10–15 kolam renang dapat dipetakan dalam waktu yang sama, sekitar 5 kali lebih banyak
- Jika tersedia data OpenStreetMap berkualitas tinggi, model seperti YOLOv11 dapat dilatih untuk melakukan deteksi objek
- Tidak semua masalah perlu diselesaikan dengan LLM; untuk deteksi fitur peta dan pembuatan poligon, kombinasi computer vision ringan bisa menjadi pilihan yang lebih langsung
- Jika ingin melatih model untuk fitur peta lain atau berkontribusi ke repositori, Anda dapat menggunakan OpenStreetMap AI Helper Blueprint
- Blueprint lain yang telah dirilis dapat dilihat di Blueprints Hub
2 komentar
Setelah saya cari, sepertinya
Map Featurebiasanya diterjemahkan sebagai (fitur) objek peta.Pendapat Hacker News
Dari sudut pandang OpenStreetMap Foundation, objek peta yang terdeteksi AI tidak boleh langsung ditambahkan ke basis data
Algoritme punya masalah positif palsu, dan seperti pada tangkapan layar kedua dari terakhir, ada masalah ketika objek lurus atau persegi panjang dipetakan dalam bentuk yang bergelombang
Ini berharga sebagai alat bantu untuk menemukan objek peta yang terlewat, tetapi untuk memastikan objek yang terdeteksi digambar dengan benar, tetap diperlukan campur tangan manusia
Rujukan: https://wiki.openstreetmap.org/wiki/Import/Guidelines dan https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_...
Tanpa memodifikasi kode sumber, unggah otomatis tidak bisa dilakukan, dan di seluruh dokumentasi, tulisan yang ditautkan, serta contoh kode, verifikasi manusia ditekankan berulang kali
Saya tidak pernah mengunggah objek peta secara otomatis, dan bahkan sebelum melatih versi pertama, saya sendiri mengedit dan memberi label ratusan contoh kolam renang
Jika ada ide untuk memperbaiki prosedur guna mencegah unggahan objek peta otomatis, saya ingin mendengarnya dan mengimplementasikannya
Mungkin ada juga respons yang mengatakan alat ini sebaiknya tidak dipublikasikan sama sekali, tetapi saya rasa ada cara yang lebih baik dengan menerima AI sambil membahasnya secara terbuka
Memang ada kasus ketika poligon prediksi bergelombang, jadi disarankan untuk membuang hasil seperti itu
Meski begitu, demo ini tidak dipublikasikan sampai versi pertama model mencapai kualitas minimum
Di dalam kode juga ada logika penyederhanaan bentuk agar node pada poligon prediksi tidak menjadi terlalu banyak
Alat seperti ini kemungkinan besar sudah digunakan secara semi-otomatis, dan ini dapat membantu mengurangi risiko seluruh basis data tercemar
Deteksi kolam renang bagus, dan deteksi panel surya juga ada dalam daftar hal yang ingin saya coba
Banyak penolakan di sini terasa berasal dari asumsi bahwa OSM dapat tumbuh hanya dengan pemetaan manual
Namun sebagai seseorang yang membuat 60 ribu changeset selama 10 tahun, pada skala global, semangat sukarelawan saja tidak bisa “menyelesaikan” pemetaan sampai data peta menjadi sangat berguna
Diperlukan kerangka kerja yang dapat diskalakan untuk impor dan pemeliharaan data: cara meninggalkan anotasi tentang kualitas, sumber, dan tempat melaporkan bug sumber data, serta panduan bagi konsumen data
Misalnya, jika ingin membuat kueri “bisnis tipe X yang dipetakan manusia dalam 1 tahun terakhir”,
check datesampai batas tertentu bisa digunakanNamun sulit mengetahui seberapa akurat atribut itu, atau apakah pemeta yang memeriksa hanya melihat satu aspek seperti nama atau lokasi
Mungkin lebih baik mengambil dan memelihara data jam buka dari alltheplaces secara otomatis setiap bulan
Dari sudut pandang konsumen data, akan lebih baik jika mereka bisa memfilter hanya sumber tertentu yang mereka percayai, atau memanfaatkan data dengan keterbatasan yang diketahui seperti “titik minat yang diinferensikan AI” meskipun poligonnya tidak sempurna
https://community.openstreetmap.org/t/what-you-think-about-i...
https://www.openstreetmap.org/user/Mateusz%20Konieczny%20-%2...
https://codeberg.org/matkoniecz/list_how_openstreetmap_can_b...
Dalam kondisi saat ini, itu bisa memberi inspirasi, tetapi tidak kompatibel dengan OpenStreetMap
Tidak jelas bagaimana membedakan panel fotovoltaik dan kolektor panas surya
Secara tampilan hampir sama, tetapi fungsinya sangat berbeda
Setelah mengalami pemetaan otomatis secara langsung, orang jadi sangat berhati-hati
Saya menyeberangi Amerika Selatan dengan sepeda motor, dan di OSM ada banyak edit yang tampak otomatis, terutama di Brasil, sampai di beberapa wilayah hampir sulit digunakan
Bukan hanya jalan pedesaan, tetapi juga di kota-kota yang cukup besar
Saat bepergian saya biasanya memakai mapwithme, dan berusaha meninggalkan catatan foto yang menjelaskan masalahnya
Saya cenderung memotret pagar dan taman bermain, sementara orang lain memotret pemandangan
Bisa saja itu pemetaan otomatis, tetapi pemetaan jarak jauh saya sendiri pun kadang cukup berantakan ketika diperiksa di lapangan
Beberapa tahun lalu saya pernah bekerja di bidang ini, dan ada sangat banyak model, dataset, dan alat yang sudah ada
https://github.com/satellite-image-deep-learning
Saya sedang mengutak-atik QGIS, mendaftar ke beberapa API citra satelit publik dan privat, mengambil data, lalu bereksperimen
Badan antariksa Uni Eropa memiliki banyak sumber data bagus yang bisa diakses sepenuhnya secara publik bahkan tanpa akun pengguna
Saya menantikan untuk mencoba bekerja dengan kumpulan alat khusus machine learning baru ini
Google mungkin tidak mengizinkannya, tetapi Mapbox tampaknya mengizinkan jika untuk tujuan nonkomersial atau untuk OSM
Namun, ini hanya berlaku saat menggunakan data satelit, bukan data vektor Mapbox
Dalam ketentuannya disebutkan bahwa pelanggan tidak boleh melacak, menurunkan, atau mengekstrak konten, data, atau informasi dari layanan yang disediakan, tetapi ada pengecualian bahwa Mapbox Maps yang hanya terdiri dari citra satelit dapat dilacak dengan Studio atau perangkat lunak pihak ketiga untuk membuat dataset vektor turunan, asalkan tujuannya nonkomersial atau untuk OpenStreetMap
Bisa dibilang Mapbox cukup bermurah hati
https://wiki.openstreetmap.org/wiki/Bing_Maps#Aerial_imagery
Saya mengerjakan hal serupa beberapa bulan lalu
Meski untuk data geografi berskala lebih kecil: https://github.com/uav4geo/GeoDeep
Yang harus dipetakan bukan apa yang terlihat di citra satelit, melainkan hal yang merupakan fakta di lapangan
Hal yang dihalusinasikan AI sama sekali tidak boleh dikontribusikan
Kualitas tracing itu kadang sangat tidak konsisten, dan saya beberapa kali harus memperbaiki garis pantai yang melenceng aneh sampai jalan berada di atas laut
Jika alat ini cukup konsisten, mungkin saja lebih baik daripada kontributor OSM rata-rata
Namun sebaiknya dimulai dengan mensegmentasi rumah, jalan, dan area perairan, lalu membandingkannya dengan data saat ini untuk menemukan ketidaksesuaian dan menyorotinya sebagai target perbaikan
Tidak bisakah Mozilla fokus membuat browser yang bagus?
Saya ingin melihat lebih banyak detail tentang fine-tuning SAM/2 untuk mendeteksi kolam renang atau susunan panel surya
Keduanya akan sangat berguna jika dipetakan dalam proyek ketahanan komunitas, tetapi fine-tuning SAM2 sulit diikuti
Mencari dan mensegmentasi panel surya dengan model Yolov8 cukup berhasil, tetapi tepinya sangat berantakan sehingga membutuhkan pekerjaan pembersihan yang sangat besar
Saya melihat hasil SAM2 yang sudah dilatih dan tampilannya jauh lebih baik
Karena masalah akurasi, saya tidak akan memasukkannya ke OSM, tetapi di tempat lain ini cukup bisa dipakai
Data segmentasi OSM tidak cukup berkualitas untuk melatih model segmentasi dengan benar
Di sini digunakan model YOLO untuk prediksi kotak pembatas
Kotak pembatas dari OSM sudah cukup untuk tujuan ini, dan setiap kotak pembatas diteruskan sebagai prompt ke SAM2 agar ia melakukan segmentasi di dalamnya
Kami juga mencoba meneruskan titik pusat kotak sebagai prompt ke SAM, tetapi hasilnya lebih buruk
Setelah memasukkan berbagai masukan, kami merilis versi baru, dan semua kode yang mengunggah langsung ke OSM telah diganti dengan ekspor dalam format OsmChange
Semoga ini menjadi satu langkah ke arah yang benar, dan diskusi akan terus berlanjut di thread khusus di forum OSM