3 poin oleh GN⁺ 2025-03-24 | 2 komentar | Bagikan ke WhatsApp
  • 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_pool dan 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
    • Deteksi objek: YOLOv11 dari Ultralytics menemukan lokasi fitur peta yang relevan dalam gambar
    • Segmentasi: SAM2 dari Meta menyempurnakan bentuk akurat objek yang terdeteksi menjadi kontur
  • 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

  • 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

 
depth221 2025-03-24

Setelah saya cari, sepertinya Map Feature biasanya diterjemahkan sebagai (fitur) objek peta.

 
GN⁺ 2025-03-24
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_...

    • Aplikasi demo dan contoh kode yang disediakan memiliki langkah yang mewajibkan manusia memverifikasi objek yang terdeteksi
      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
    • Poligon bergelombang pada tangkapan layar terjadi karena itu adalah poligon untuk tampilan yang digambar sebagai mask agar bisa ditumpangkan di atas gambar, dan poligon yang benar-benar diunggah tidak memiliki gelombang seperti itu
      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
    • Akan bagus jika menambahkan tag pada objek peta yang berasal dari machine learning
      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 date sampai batas tertentu bisa digunakan
    Namun 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

  • 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

    • Pemetaan jarak jauh dari balik meja selalu bisa menghasilkan peta yang buruk
      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
    • Saya penasaran wilayah Brasil yang mana
  • 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

    • Ini kumpulan sumber daya yang bagus
      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

  • Saya mengerjakan hal serupa beberapa bulan lalu
    Meski untuk data geografi berskala lebih kecil: https://github.com/uav4geo/GeoDeep

    • Pekerjaan yang keren, dan saya ingin membicarakan ide kolaborasi
  • 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

    • Di OSM, acuan untuk tracing sendiri sering kali adalah citra satelit
      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

    • Proyek ini tidak mencakup fine-tuning SAM2
      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