GithubHelp home page GithubHelp logo

reza-zhu / sues-200-benchmark Goto Github PK

View Code? Open in Web Editor NEW
30.0 1.0 2.0 68.21 MB

SUES-200: A Multi-height Multi-scene Cross-view Image Benchmark Across Drone and Satellite

License: MIT License

Python 100.00%
benchmark cross-view dataset deep-learning drone pytorch satellite

sues-200-benchmark's Introduction

SUES-200: A Multi-height Multi-scene Cross-view Image Matching Benchmark Across UAV and Satellite

This paper has been accepted by IEEE Transactions on Circuits and Systems for Video Technology.

arXiv Link: https://arxiv.org/abs/2204.10704

Datasets

Download SUES-200 dataset. Notices: SUES-200 is ONLY available to academic research.

Google Drive Link: https://drive.google.com/file/d/1UyVyFJ_pRaJHIr_eBY2HL7gkS5y9UxqI/view?usp=share_link

百度网盘: https://pan.baidu.com/s/1mrd-7ADm57_OchAvO1XmNw 提取码:p836

天翼网盘(不限速): https://cloud.189.cn/t/yMnaEnR322Yj 提取码:veh7

My email : [email protected]

Pre-trained Weight

链接: https://pan.baidu.com/s/1aq51FLfg3bPG4xoNW1Usxw?pwd=rbnu 提取码: rbnu

Quickly Start

Installation

pip install timm pyyaml pytorch-metric-learning scipy pandas opencv-python grad-cam einops imgaug

Config File

default: settings.yaml

# dateset path
dataset_path: /media/data1/Datasets
weight_save_path: /media/data1/save_model_weight

# intial parameters
fp16 : 0  # apex
classes : 120 # 200*0.6=120
image_size: 384

# choose model
model : resnet

# super parameters
batch_size : 32
num_epochs : 80
drop_rate : 0.2
weight_decay : 0.0005
lr : 0.005

# test and evaluate


# if LPN
block : 4

# if SUES-200
height : 150

Split Dataset

python script/split_dataset.py --path your_path 
mkdir your_path/Dataset
mv your_path/Training your_path/Dataset
mv your_path/Testing your_path/Dataset

Train

python train.py --cfg settings.yaml

Test & Evaluate

Test basic model

python test_and_evaluate.py --cfg settings.yaml --name resnet_150_2022-04-25-10:26:34 --seq 3

Test Robustness to uncertainties

python test_and_evaluate_uncertainties.py --cfg settings.yaml --types ["snow", "fog"] --heights [150, 200]

Ablation Experiments

Test Distance Measurement Algorithm

python test_and_evaluate.py --dist Eu

Test Ensemble Strategies in Multiply Queries

# Max Pooling
python multi_test_and_evaluate_pooling.py --type max
# Voting
python multi_test_and_evaluate_voting.py

Citation

@ARTICLE{zhu2023sues,
  author={Zhu, Runzhe and Yin, Ling and Yang, Mingze and Wu, Fei and Yang, Yuncheng and Hu, Wenbo},
  journal={IEEE Transactions on Circuits and Systems for Video Technology}, 
  title={SUES-200: A Multi-height Multi-scene Cross-view Image Benchmark Across Drone and Satellite}, 
  year={2023},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/TCSVT.2023.3249204}}

TO-DO List

  • Improve README.md (ing...)

    • Evaluation methods
    • Visualization
    • Multiqueries
    • Draw heat map
    • ...
  • Support University-1652 (ing....)

  • ...

Chinese Version

双分支卷积网络训练和测试:

  1. 配置文件:settings.yaml

    该配置文件配置了

    • 数据集地址 dataset_path
    • 权重文件保存地址 weight_save_path
    • 选取不同高度的数据 height
    • 训练时选用的特征提取模型 model
    • 训练时的学习率 lr
    • 训练轮数 num_epoch
    • 模型中的drop out drop_rate
    • 训练时的批次大小 batch_size
  2. 开始训练:执行 train.py 会根据上面配置好的参数进行训练,比较好的模型权重会保存在权重文件保存地址下的save_model_weight文件夹中(训练时会自动创建该文件夹)

  3. 开始测试:执行 test_and_evaluate.py 会开始测试并输出测试结果,最后的结果会保存在save_model_weight中

基于网格搜素的自动调参数文件:AutoTuning.py

定义特征提取算法的文件:model_.py

CBAM_ResNet 算法模型定义:senet/cbam_resnet.py

数据集预处理,和其它一些算法在本数据集上的复现

数据集预处理文件夹:script

VLAD 复现代码:VLAD文件夹

NetVLAD 复现代码:NetVLAD文件夹,train_NetVLAD.py test_NetVlAD.py

sues-200-benchmark's People

Contributors

reza-zhu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

lddniupi iyeee

sues-200-benchmark's Issues

Question about "Split Dataset".

Hi, thank you for sharing your work.
It seems that there are some issues on the part of "Split Dataset". After I ran the code ''split_dataset.py'' according to the instructions, the "150" folder actually includes images of all heights, which also occurs in folders of other heights. I think the height folder should contain images of the corresponding height. Could you confirm if it's the code issue or if I misunderstood it. Thank you.
Look forward to your reply. : )

Question about weights

Hello!Thank you for your great work!
I don't know if there is a problem with my usage method, the results I got are far from what is in your paper, can you upload your weight file? Thank you so much!

您好!感谢您出色的工作!
不知道是不是我的使用方法有问题,我得出的结果数据和您论文中的相去甚远,可以上传一下您的权重文件吗?非常感谢!

About the SUES-200 dataset

Hello,
Thank you for your great work.

I tried to download the dataset from the Google Drive link, but I failed so many times because the file corrupted during the download progress. Could you upload the dataset on Google Drive again?

Thank you and best regards.

downing data

Hi ,Due to domestic network speed restrictions, data can be placed on Baidu Cloud Disk

您好!由于国内的网速限制,请问可以把数据集放在百度云上吗?万分感谢!

huggingface_hub resnet50 download error

Traceback (most recent call last):
File "train.py", line 148, in
train(opt.cfg)
File "train.py", line 46, in train
model = model_.model_dict[model_name](classes, drop_rate, share_weight=False, pretrained=True)
File "/mnt/mountA/xhy/SUES200/SUES-200-Benchmark-master/model_.py", line 53, in init
self.model_1 = timm.create_model("resnet50", pretrained=pretrained, num_classes=0)
File "/home/gaofen/.conda/envs/xhypy3.7/lib/python3.7/site-packages/timm/models/_factory.py", line 121, in create_model
**kwargs,
File "/home/gaofen/.conda/envs/xhypy3.7/lib/python3.7/site-packages/timm/models/resnet.py", line 1334, in resnet50
return _create_resnet('resnet50', pretrained, **dict(model_args, **kwargs))
File "/home/gaofen/.conda/envs/xhypy3.7/lib/python3.7/site-packages/timm/models/resnet.py", line 584, in _create_resnet
return build_model_with_cfg(ResNet, variant, pretrained, **kwargs)
File "/home/gaofen/.conda/envs/xhypy3.7/lib/python3.7/site-packages/timm/models/_builder.py", line 403, in build_model_with_cfg
strict=pretrained_strict,
File "/home/gaofen/.conda/envs/xhypy3.7/lib/python3.7/site-packages/timm/models/_builder.py", line 190, in load_pretrained
state_dict = load_state_dict_from_hf(pretrained_loc)
File "/home/gaofen/.conda/envs/xhypy3.7/lib/python3.7/site-packages/timm/models/_hub.py", line 188, in load_state_dict_from_hf
cached_file = hf_hub_download(hf_model_id, filename=filename, revision=hf_revision)
File "/home/gaofen/.conda/envs/xhypy3.7/lib/python3.7/site-packages/huggingface_hub/utils/_validators.py", line 118, in _inner_fn
return fn(*args, **kwargs)
File "/home/gaofen/.conda/envs/xhypy3.7/lib/python3.7/site-packages/huggingface_hub/file_download.py", line 1292, in hf_hub_download
"Connection error, and we cannot find the requested files in"
huggingface_hub.utils._errors.LocalEntryNotFoundError: Connection error, and we cannot find the requested files in the disk cache. Please try again or make sure your Internet connection is on.
感谢您的优秀工作,对我很有启发,我在运行您的代码时遇到了huggingface网站下载不了resnet的问题,我猜测是因为实验室服务器上没有vpn导致的。我在自己电脑上下载了resnet50的model.safetensors和pytorch_model.bin并上传到服务器上,但是不知道项目中代码要改哪里?或许您有更好的解决办法么,非常感谢您的工作~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.