lcybuaa/Git-10M

Dataset

The Git-10M dataset is a global-scale remote sensing image-text pair dataset, consisting of over 10 million image-text pairs with geographical locations and resolution information.

11

500 commits

1 linked in READMEs

updated Jun 28, 2025

See the code

README

The Git-10M dataset is a global-scale remote sensing image-text pair dataset, consisting of over 10 million image-text pairs with geographical locations and resolution information.

CC-BY-NC-ND-4.0 License: This dataset is not allowed to be modified or distributed without authorization!

Project Page: https://chen-yang-liu.github.io/Text2Earth/

View samples from the dataset

from datasets import load_dataset
import math

def XYZToLonLat(x,y,z):
    # Transform tile-location to (longitude,latitude)
    n = 2**z*1.0
    lon = x / n * 360.0 - 180.0  # longitude
    lat = math.atan(math.sinh(math.pi * (1 - 2.0 * y / n)))
    lat = math.degrees(lat)  # latitude
    return lon,lat


# load dataset
save_path = 'xxxxx'
ds = load_dataset.load('lcybuaa/Git-10M', cache_dir=save_path)
train_dataset = ds["train"]


for i, example in enumerate(train_dataset):
    # PIL image:
    image = example["image"]
    # filename of the image:
    img_name = example["img_name"]
    # visual quality score as shown in Fig. 5 of the paper.
    img_quality_score = example['img_quality_score']
    # caption of the image
    caption = example['caption']
    # word length of the caption as shown in Fig. 6 of the paper.
    caption_length = example['caption_length']
    # image spatial resolution as shown in Fig. 4 of the paper.
    resolution = example['resolution']
    # image Geolocation as shown in Fig. 3 of the paper.
    Google_location = example['Google_location']
    Level_TileZ, TileX, TileY = Google_location.split('_')
    longitude, latitude = XYZToLonLat(TileX, TileY, Level_TileZ)

    # More Tips:
    # Resolution = 2 ** (17 - Level_TileZ)

Git-RSCLIP: Remote Sensing Vision-Language Contrastive Pre-training Foundation Model

Git-RSCLIP is pre-trained using the contrastive learning framework on the Git-10M dataset. Git-RSCLIP is here:[Huggingface | Modelscope]

Compare the Top1-Acc of Zero-shot classification on multiple image classification datasets:

MethodOPTIMAL31RSC11RSICB128WHURS19RS2800/RSSCN7CLRSAverage score
CLIP0.60.450.250.770.520.560.52
RemoteCLIP0.820.670.340.930.520.660.65
GeoRSCLIP0.830.670.350.890.630.690.68
SkyCLIP500.770.600.380.780.550.610.62
(Git-RSCLIP) Ours0.950.670.520.940.640.650.73

BibTeX entry and citation info

@ARTICLE{Text2Earth,
  author={Liu, Chenyang and Chen, Keyan and Zhao, Rui and Zou, Zhengxia and Shi, Zhenwei},
  journal={IEEE Geoscience and Remote Sensing Magazine}, 
  title={Text2Earth: Unlocking text-driven remote sensing image generation with a global-scale dataset and a foundation model}, 
  year={2025},
  volume={},
  number={},
  pages={2-23},
  doi={10.1109/MGRS.2025.3560455}}

Contributors

lcybuaa

500 commits

lcybuaa/Git-10M

Dataset

The Git-10M dataset is a global-scale remote sensing image-text pair dataset, consisting of over 10 million image-text pairs with geographical locations and resolution information.

11

500 commits

1 linked in READMEs

updated Jun 28, 2025

See the code

README

The Git-10M dataset is a global-scale remote sensing image-text pair dataset, consisting of over 10 million image-text pairs with geographical locations and resolution information.

CC-BY-NC-ND-4.0 License: This dataset is not allowed to be modified or distributed without authorization!

Project Page: https://chen-yang-liu.github.io/Text2Earth/

View samples from the dataset

from datasets import load_dataset
import math

def XYZToLonLat(x,y,z):
    # Transform tile-location to (longitude,latitude)
    n = 2**z*1.0
    lon = x / n * 360.0 - 180.0  # longitude
    lat = math.atan(math.sinh(math.pi * (1 - 2.0 * y / n)))
    lat = math.degrees(lat)  # latitude
    return lon,lat


# load dataset
save_path = 'xxxxx'
ds = load_dataset.load('lcybuaa/Git-10M', cache_dir=save_path)
train_dataset = ds["train"]


for i, example in enumerate(train_dataset):
    # PIL image:
    image = example["image"]
    # filename of the image:
    img_name = example["img_name"]
    # visual quality score as shown in Fig. 5 of the paper.
    img_quality_score = example['img_quality_score']
    # caption of the image
    caption = example['caption']
    # word length of the caption as shown in Fig. 6 of the paper.
    caption_length = example['caption_length']
    # image spatial resolution as shown in Fig. 4 of the paper.
    resolution = example['resolution']
    # image Geolocation as shown in Fig. 3 of the paper.
    Google_location = example['Google_location']
    Level_TileZ, TileX, TileY = Google_location.split('_')
    longitude, latitude = XYZToLonLat(TileX, TileY, Level_TileZ)

    # More Tips:
    # Resolution = 2 ** (17 - Level_TileZ)

Git-RSCLIP: Remote Sensing Vision-Language Contrastive Pre-training Foundation Model

Git-RSCLIP is pre-trained using the contrastive learning framework on the Git-10M dataset. Git-RSCLIP is here:[Huggingface | Modelscope]

Compare the Top1-Acc of Zero-shot classification on multiple image classification datasets:

MethodOPTIMAL31RSC11RSICB128WHURS19RS2800/RSSCN7CLRSAverage score
CLIP0.60.450.250.770.520.560.52
RemoteCLIP0.820.670.340.930.520.660.65
GeoRSCLIP0.830.670.350.890.630.690.68
SkyCLIP500.770.600.380.780.550.610.62
(Git-RSCLIP) Ours0.950.670.520.940.640.650.73

BibTeX entry and citation info

@ARTICLE{Text2Earth,
  author={Liu, Chenyang and Chen, Keyan and Zhao, Rui and Zou, Zhengxia and Shi, Zhenwei},
  journal={IEEE Geoscience and Remote Sensing Magazine}, 
  title={Text2Earth: Unlocking text-driven remote sensing image generation with a global-scale dataset and a foundation model}, 
  year={2025},
  volume={},
  number={},
  pages={2-23},
  doi={10.1109/MGRS.2025.3560455}}

Contributors

lcybuaa

500 commits