تنفيذ PyTorch الرسمي لـ OpenStreetView-5M: الطرق العديدة لتحديد الموقع الجغرافي المرئي العالمي.
المؤلفون الأوائل: غيوم أستروك، نيكولا دوفور، إيوانيس سيجليديس
المؤلفون الثانيون: كونستانتين أرونسون، نسيم بويا، ستيفاني فو، رومان لوازو، فان نغوين نغوين، تشارلز رود، إليوت فنسنت، لينتاو شو، هونغيو تشو
المؤلف الأخير: لويك لاندريو
معهد الأبحاث: Imagine، LIGM، Ecole des Ponts، Univ Gustave Eiffel، CNRS، مارن لا فاليه، فرنسا
OpenStreetView-5M هو أول معيار لتحديد الموقع الجغرافي مفتوح واسع النطاق لصور التجوّل الافتراضي.
للتعرف على مدى صعوبة المعيار، يمكنك تشغيل العرض التوضيحي الخاص بنا.
تم استخدام مجموعة البيانات الخاصة بنا في معيار شامل نقدم أفضل نموذج له.
لمزيد من التفاصيل والنتائج، يرجى مراجعة صفحة الورقة والمشروع.
تتم استضافة OpenStreetView-5M في Huggingface/datasets/osv5m/osv5m. لتحميله واستخراجه قم بتشغيل:
python scripts/download-dataset.py
للتعرف على الطرق المختلفة لاستيراد مجموعة البيانات، راجع DATASET.md
يمكن أيضًا العثور على أفضل نموذج لدينا على OSV-5M على 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)
لإعادة إنتاج النتائج للنموذج على Huggingface، قم بتشغيل:
python evaluation.py exp=eval_best_model dataset.global_batch_size=1024
لتكرار جميع تجارب ورقتنا، نقدم نصوصًا مخصصة في scripts/experiments
.
لتثبيت بيئة conda الخاصة بنا، قم بتشغيل:
conda env create -f environment.yaml
conda activate osv5m
لتشغيل معظم الطرق، تحتاج أولاً إلى حساب QuadTrees مسبقًا (حوالي 10 دقائق):
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
استخدم المجلد configs/exp لتحديد التجربة التي تريدها. لا تتردد في استكشاف ذلك. تحتوي جميع النماذج التي تم تقييمها من الورقة على ملف تكوين مخصص
# 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 } ,
}