simple-vpr-demo / README.md
Oliver Grainge
push
62aa98e

A newer version of the Gradio SDK is available: 6.0.0

Upgrade
metadata
title: Visual Place Recognition Demo
emoji: 🗺️
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 4.44.0
app_file: app.py
pinned: false
license: mit
short_description: Upload a query image to find similar places

Visual Place Recognition Demo

This is a Visual Place Recognition (VPR) demo using EigenPlaces model. Upload a query image to find similar places in our database of 400+ images from various cities.

How it works

  1. Upload a query image
  2. The model extracts visual features from your image
  3. It compares these features with pre-computed features from 400+ database images
  4. Returns the most similar matches with similarity scores and location information

Dataset

  • Database: 400+ images from various cities
  • Cities: Melbourne, Boston, and others
  • Metadata: Each image includes place ID, city, and GPS coordinates

Model

  • Architecture: EigenPlaces with ResNet50 backbone
  • Descriptor Dimension: 2048
  • Similarity Metric: Cosine similarity

Usage

  1. Upload a query image using the interface
  2. Adjust the number of matches you want to see (1-10)
  3. Click "Find Matches" to get results
  4. View the matched images and their metadata

Technical Details

The demo uses:

  • EigenPlaces model for visual feature extraction
  • Pre-computed descriptors for fast similarity search
  • Cosine similarity for matching
  • Gradio for the web interface

Files

  • app.py: Main Gradio application
  • model.py: Model loading and descriptor computation
  • dataset.py: Dataset handling and ground truth lookup
  • data/: Contains database images, query images, and ground truth JSON