Implementasi resmi PyTorch dari OpenStreetView-5M: Banyak Jalan Menuju Geolokasi Visual Global.
Penulis pertama: Guillaume Astruc, Nicolas Dufour, Ioannis Siglidis
Penulis kedua: Constantin Aronssohn, Nacim Bouia, Stephanie Fu, Romain Loiseau, Van Nguyen Nguyen, Charles Raude, Elliot Vincent, Lintao XU, Hongyu Zhou
Penulis terakhir: Loic Landrieu
Lembaga Penelitian: Bayangkan, LIGM, Ecole des Ponts, Univ Gustave Eiffel, CNRS, Marne-la-Vallée, Prancis
OpenStreetView-5M adalah tolok ukur geolokasi terbuka berskala besar pertama untuk gambar streetview.
Untuk mengetahui tingkat kesulitan benchmark, Anda dapat memainkan demo kami.
Kumpulan data kami digunakan dalam tolok ukur ekstensif dan kami menyediakan model terbaik.
Untuk detail dan hasil lebih lanjut, silakan lihat halaman makalah dan proyek kami.
OpenStreetView-5M dihosting di huggingface/datasets/osv5m/osv5m. Untuk mengunduh dan mengekstraknya, jalankan:
python scripts/download-dataset.py
Untuk berbagai cara mengimpor kumpulan data, lihat DATASET.md
Model terbaik kami di OSV-5M juga dapat ditemukan di huggingface.
from PIL import Image
from models . huggingface import Geolocalizer
geolocalizer = Geolocalizer . from_pretrained ( 'osv5m/baseline' )
img = Image . open ( '.media/examples/img1.jpeg' )
x = geolocalizer . transform ( img ). unsqueeze ( 0 ) # transform the image using our dedicated transformer
gps = geolocalizer ( x ) # B, 2 (lat, lon - tensor in rad)
Untuk mereproduksi hasil model pada huggingface, jalankan:
python evaluation.py exp=eval_best_model dataset.global_batch_size=1024
Untuk mereplikasi semua eksperimen makalah kami, kami menyediakan skrip khusus dalam scripts/experiments
.
Untuk menginstal lingkungan conda kami, jalankan:
conda env create -f environment.yaml
conda activate osv5m
Untuk menjalankan sebagian besar metode, Anda perlu menghitung terlebih dahulu QuadTrees (kira-kira 10 menit):
python scripts/preprocessing/preprocess.py data_dir=datasets do_split=1000 # You will need to run this code with other splitting/depth arguments if you want to use different quadtree arguments
Gunakan folder configs/exp untuk memilih eksperimen yang Anda inginkan. Jangan ragu untuk menjelajahinya. Semua model yang dievaluasi dari makalah ini memiliki file konfigurasi khusus
# Using more workers in the dataloader
computer.num_workers=20
# Change number of devices available
computer.devices=1
# Change batch_size distributed to all devices
dataset.global_batch_size=2
# Changing mode train or eval, default is train
mode=eval
# All these parameters and more can be changed from the config file!
# train best model
python train.py exp=best_model computer.devices=1 computer.num_workers=16 dataset.global_batch_size=2
@article { osv5m ,
title = { {OpenStreetView-5M}: {T}he Many Roads to Global Visual Geolocation } ,
author = { Astruc, Guillaume and Dufour, Nicolas and Siglidis, Ioannis
and Aronssohn, Constantin and Bouia, Nacim and Fu, Stephanie and Loiseau, Romain
and Nguyen, Van Nguyen and Raude, Charles and Vincent, Elliot and Xu, Lintao
and Zhou, Hongyu and Landrieu, Loic } ,
journal = { CVPR } ,
year = { 2024 } ,
}