การใช้งาน PyTorch อย่างเป็นทางการของ OpenStreetView-5M: เส้นทางมากมายสู่ Global Visual Geolocation
ผู้เขียนคนแรก: Guillaume Astruc, Nicolas Dufour, Ioannis Siglidis
ผู้เขียนคนที่สอง: Constantin Aronssohn, Nacim Bouia, Stephanie Fu, Romain Loiseau, Van Nguyen Nguyen, Charles Raude, Elliot Vincent, Lintao XU, Hongyu Zhou
ผู้เขียนคนสุดท้าย: โลอิก แลนดริเยอ
สถาบันวิจัย: Imagine, LIGM, Ecole des Ponts, Univ Gustave Eiffel, CNRS, Marne-la-Vallée, ฝรั่งเศส
OpenStreetView-5M เป็นการวัดประสิทธิภาพการระบุตำแหน่งทางภูมิศาสตร์แบบเปิดขนาดใหญ่แห่งแรกของภาพ Street View
เพื่อให้เข้าใจถึงความยากของเกณฑ์มาตรฐาน คุณสามารถเล่นบัญชีทดลองของเราได้
ชุดข้อมูลของเราถูกใช้ในการวัดประสิทธิภาพที่ครอบคลุมซึ่งเรานำเสนอโมเดลที่ดีที่สุด
สำหรับรายละเอียดและผลลัพธ์เพิ่มเติม โปรดดูเอกสารและหน้าโครงการของเรา
OpenStreetView-5M โฮสต์อยู่ที่huggingface/datasets/osv5m/osv5m หากต้องการดาวน์โหลดและแตกไฟล์ให้รัน:
python scripts/download-dataset.py
สำหรับวิธีต่างๆ ในการนำเข้าชุดข้อมูล โปรดดู DATASET.md
โมเดลที่ดีที่สุดของเราบน OSV-5M สามารถพบได้ในหน้ากอด
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 } ,
}