【ECCV2024】GeoText-1652 Benchmark

July 6, 2026 · View on GitHub

Towards Natural Language-Guided Drones: GeoText-1652 Benchmark with Spatial Relation Matching

Meng Chu¹, Zhedong Zheng²*, Wei Ji¹, Tingyu Wang³, Tat-Seng Chua¹

¹ School of Computing, National University of Singapore, Singapore
² FST and ICI, University of Macau, China
³ School of Communication Engineering, Hangzhou Dianzi University, China

Paper Poster Project Leaderboard Dataset Hugging Face Hugging Face

📰 News

  • 2026-06-29: We launched the official GeoText-1652 Leaderboard for tracking community submissions on the full test set and the 24GB test split. Pull requests are welcome via leaderboard/data.json.
  • We provide a GPU-friendly 24GB test split for CUDA out-of-memory cases. Download it from the Hugging Face dataset and use test_24G_version.json.

📚 About GeoText-1652

GeoText-1652 is a groundbreaking benchmark dataset for ECCV 2024, focusing on natural language-guided drone navigation with spatial relation matching. This dataset bridges the gap between natural language processing, computer vision, and robotics, paving the way for more intuitive and flexible drone control systems.

🌟 Key Features

  • Multi-platform imagery: drone, satellite, and ground cameras
  • Covers multiple universities with no overlap between train and test sets
  • Rich annotations including global descriptions, bounding boxes, and spatial relations

📊 Dataset Statistics

Training and test sets all include the image, global description, bbox-text pair and building numbers. We note that there is no overlap between the 33 universities of the training set and the 39 universities of the test sets. Three platforms are considered, i.e., drone, satellite, and ground cameras.

Split#Imgs#Global Descriptions#Bbox-Texts#Classes#Universities
Training (Drone)37,854113,562113,36770133
Training (Satellite)7012,1031,70970133
Training (Ground)11,66334,98914,76170133
Test (Drone)51,355154,065140,17995139
Test (Satellite)9512,8532,00695139
Test (Ground)2,9218,7634,02379339

🏆 Leaderboard

We maintain a community leaderboard for GeoText-1652. The primary ranking metric is r_mean, computed from Text R@1/R@5/R@10 and Image R@1/R@5/R@10. The tables below show a compact homepage view; see LEADERBOARD.md for all metrics, metadata, and submission details.

Primary Leaderboard: Full Test (951 buildings)

RankMethodText R@1Image R@1MeanLinks
1NGCG-MLLM (InternVL3.5-1B)25.834.448.2paper / code
2SAA-DGL (X2-VLM)16.729.439.7paper
3SAA-DGL (X-VLM)14.928.238.8paper
4HCCM14.728.838.2paper / code
5GeoText-1652 official checkpoint13.626.336.1paper / code

Hardware-friendly Split: 24GB Test

RankMethodText R@1Image R@1MeanLinks
1NGCG-MLLM (InternVL3.5-1B)45.758.369.3paper / code
2SAA-DGL (X2-VLM)31.953.361.4paper
3SAA-DGL (X-VLM)30.752.160.7paper
4GeoText-1652 official checkpoint29.950.158.7paper / code

To submit a result, open a pull request that adds your entry to leaderboard/data.json. See LEADERBOARD.md for the full submission format.

📁 Dataset Structure

This dataset is designed to support the development and testing of models in geographical location recognition, providing images from multiple views at numerous unique locations.

Directory Structure

GeoText_Dataset_Official/
├── test/
│ ├── gallery_no_train(250)/
│ │ ├── 0001/
│ │ │ ├── drone_view.jpg
│ │ │ ├── street_view.jpg
│ │ │ ├── satellite_view.jpg
│ │ ├── 0002/
│ │ ├── ... // More locations
│ │ ├── 0250/
│ ├── query(701)/
│ │ ├── 0001/
│ │ │ ├── drone_view.jpg
│ │ │ ├── street_view.jpg
│ │ │ ├── satellite_view.jpg
│ │ ├── 0002/
│ │ ├── ... // More locations
│ │ ├── 0701/
├── train/
│ ├── 0001/
│ │ ├── drone_view.jpg
│ │ ├── street_view.jpg
│ │ ├── satellite_view.jpg
│ ├── 0002/
│ ├── ... // More locations
│ ├── 0701/
├── test_951_version.json
├── train.json

Annotation Details

Example entry in train.json:

{
  "image_id": "0839/image-43.jpeg",
  "image": "train/0839/image-43.jpeg",
  "caption": "In the center of the image is a large, modern office building...",
  "sentences": [
    "The object in the center of the image is a large office building with several floors and a white facade",
    "On the upper middle side of the building, there is a street with cars driving on it",
    "On the middle right side of the building, there is a small parking lot with several cars parked in it"
  ],
  "bboxes": [
    [0.408688485622406, 0.6883664131164551, 0.38859522342681885, 0.6234817504882812],
    [0.2420489490032196, 0.3855597972869873, 0.30488067865371704, 0.2891976535320282],
    [0.7388443350791931, 0.8320053219795227, 0.5213109254837036, 0.33447015285491943]
  ]
}
  • Caption: Provides a global description for the entire image.
  • Sentences: Each sentence is aligned with a specific part of the image, related to the bounding boxes.
  • Bounding Boxes: Specified as arrays of coordinates in the format [cx, cy, w, h].

🛠️ Setup and Usage Guide

Prerequisites

  • Git
  • Git Large File Storage (LFS)
  • Conda

Installation Steps

  1. Clone the repository:

    git clone https://github.com/MultimodalGeo/GeoText-1652.git
    
  2. Install Miniconda:

    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    sh Miniconda3-latest-Linux-x86_64.sh
    
  3. Create and activate conda environment:

    conda create -n gt python=3.8
    conda activate gt
    
  4. Install requirements:

    cd GeoText-1652
    pip install -r requirements.txt
    
  5. Install and configure Git LFS:

    apt install git-lfs
    git lfs install
    
  6. Download dataset and model:

    git clone https://huggingface.co/datasets/truemanv5666/GeoText1652_Dataset
    git clone https://huggingface.co/truemanv5666/GeoText1652_model
    
  7. Extract dataset images:

    cd GeoText1652_Dataset/images
    find . -type f -name "*.tar.gz" -print0 | xargs -0 -I {} bash -c 'tar -xzf "{}" -C "$(dirname "{}")" && rm "{}"'
    
  8. Update configuration files:

    • Update re_bbox.yaml with correct paths
    • Update method/configs/config_swinB_384.json with correct ckpt path

Running the Model

From the Method directory:

cd Method

Evaluation

python3 run.py --task "re_bbox" --dist "l4" --evaluate --output_dir "output/eva" --checkpoint "/root/GeoText-1652/GeoText1652_model/geotext_official_checkpoint.pth"

Evaluation paths:

  • Full test (951 cases): GeoText1652_Dataset/test_951_version.json
  • 24GB GPU version (~190 cases): GeoText1652_Dataset/test_24G_version.json

24GB Version Results on Two 3090Ti:

| Text Query | Image Query |
|R@1  R@5  R@10|R@1  R@5  R@10|
|----|----|----|----|----|----| 
|29.9|46.3|54.1|50.1|81.2|90.3|

Full evaluation results are in the paper.

Leaderboard submissions should report the six metrics printed by Method/re_bbox.py: txt_r1, txt_r5, txt_r10, img_r1, img_r5, and img_r10.

Training

nohup python3 run.py --task "re_bbox" --dist "l4" --output_dir "output/train" --checkpoint "/root/GeoText-1652/GeoText1652_model/geotext_official_checkpoint.pth" &

🔗 Ecosystem

Explore our ecosystem for UAV & Spatial Intelligence 🚁

🚁 UAV & Spatial Intelligence

🎓 The University-1652 Family

🎓

University-1652

Multi-view Multi-source Benchmark
Ground · Drone · Satellite · ACM MM'20


GitHub stars

🌦️

University-WX

Multi-Weather Extension on the Fly
Pattern Recognition'24


GitHub stars

💬

GeoText-1652

Dense Text Extension
ECCV'24


GitHub stars

🚀 New Open-Source Releases

🛰️

GeoFuse

Road Maps as Free Geometric Priors

GitHub stars

🧠

UAVReason

Aerial Scene Reasoning & Generation Benchmark

GitHub stars

🗺️

Video2BEV

Drone Video → Bird's-Eye-View

GitHub stars

🚁

PairUAV

Paired UAV Data for Matching

GitHub stars

⭐ If you find our projects helpful, a star is the best support! ⭐

📄 Citation

If you find GeoText-1652 useful for your work, please cite:

@inproceedings{chu2024towards, 
  title={Towards Natural Language-Guided Drones: GeoText-1652 Benchmark with Spatial Relation Matching}, 
  author={Chu, Meng and Zheng, Zhedong and Ji, Wei and Wang, Tingyu and Chua, Tat-Seng}, 
  booktitle={ECCV}, 
  year={2024} 
}

🙏 Acknowledgements

We would like to express our gratitude to the creators of X-VLM for their excellent work, which has significantly contributed to this project.

Made with ❤️ by the GeoText-1652 Team