Di Wang, Jing Zhang, Minqiang Xu, Lin Liu, Dongsheng Wang, Erzhong Gao, Chengxi Han, Haonan Guo, Bo Du
陶大成 和 张量培
更新 | 概述 | 数据集与模型 | 使用 | 声明
遥感相关工作:请参见遥感;
遥感监督预训练基础模型:请参见 RSP
100M 参数远程感测无监督预训练基础模型:请参见 RVSA;
大规模 RS 分割预训练数据集:请参见 SAMRS
其他应用程序:ViTAE | VSA | QFormer | ViTPose | Matting | Scene Text Spotting | Video Object Segmentation
2024.05.24
被 IEEE JSTARS 特刊“遥感领域解释促进的大规模预训练”接受
2024.03.30
代码、配置和日志已发布!
2024.03.29
变更检测微调模型已发布!
2024.03.29
语义分割微调模型已发布!
2024.03.28
已发布旋转物体检测微调模型!
2024.03.28
水平物体检测微调模型已发布!
2024.03.27
场景分类微调模型已发布!
2024.03.26
预训练模型已经发布!
2024.03.25
SOTA-RBB 预训练数据集已上传至 OneDrive 和百度!
2024.03.21
论文已发布在 arxiv 上!
这是论文的官方库:MTP: 通过多任务预训练推进遥感基础模型
图 1:MTP 的整体流程。
在本研究中,我们探索了用于遥感基础模型的多任务预训练(MTP)范式。通过使用共享编码器和任务特定解码器架构,我们在 SAMRS 数据集上进行多任务监督预训练,涵盖语义分割、实例分割和旋转物体检测。MTP 支持超过 3 亿参数的卷积神经网络和视觉变换器基础模型。预训练模型在各种遥感下游任务上进行微调,如场景分类、水平和旋转物体检测、语义分割和变化检测。我们希望这项研究能鼓励对遥感基础模型的进一步探索,并预期这些模型在遥感图像解释的各个领域得到广泛应用。
我们截取 DOTA-2.0 旋转边界框版本,并通过 SAM 生成分割标签,获得 SOTA-RBB。(原始 SAMRS 使用 DOTA-2.0 水平边界框版本)
SOTA-RBB 和原始 SAMRS 的 SIOR 和 FAST 一起用于实现 MTP。
我们已将 SOTA-RBB 上传到 OneDive 和百度。
预训练 | 预训练数据集 | Backbone | 骨干权重 | 模型权重 |
---|---|---|---|---|
MAE | 百万援助 | ViT-L | Baidu & OneDrive | - |
MAE + MTP | SAMRS | ViT-B+RVSA | Baidu & OneDrive | Baidu & OneDrive |
MAE + MTP | SAMRS | ViT-L+RVSA | Baidu & OneDrive | Baidu & OneDrive |
IMP + MTP | SAMRS | InternImage-XL | Baidu & OneDrive | Baidu & OneDrive |
预训练 | 数据集 | Backbone | OA | 配置 | 日志 | 权重 |
---|---|---|---|---|---|---|
MAE + MTP | EuroSAT | ViT-B+RVSA | 98.76 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | EuroSAT | ViT-L+RVSA | 98.78 | 配置 | 日志 | Baidu & OneDrive |
IMP + MTP | EuroSAT | InternImage-XL | 99.24 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | RESISC-45 | ViT-B+RVSA | 95.57 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | RESISC-45 | ViT-L+RVSA | 95.88 | 配置 | 日志 | Baidu & OneDrive |
IMP + MTP | RESISC-45 | InternImage-XL | 96.27 | 配置 | 日志 | Baidu & OneDrive |
预训练 | 数据集 | Backbone | 方法 | AP50 | 配置 | 日志 | 权重 |
---|---|---|---|---|---|---|---|
MAE + MTP | Xview | ViT-B+RVSA | RetinaNet | 16.40 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | Xview | ViT-L+RVSA | RetinaNet | 19.40 | 配置 | 日志 | Baidu & OneDrive |
IMP + MTP | Xview | InternImage-XL | RetinaNet | 18.20 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | DIOR | ViT-B+RVSA | Faster-RCNN | 79.00 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | DIOR | ViT-L+RVSA | Faster-RCNN | 81.70 | 配置 | 日志 | Baidu & OneDrive |
IMP + MTP | DIOR | InternImage-XL | Faster-RCNN | 78.30 | 配置 | 日志 | Baidu & OneDrive |
预训练 | 数据集 | Backbone | 方法 | mAP | 配置 | 日志 | 权重 |
---|---|---|---|---|---|---|---|
MAE + MTP | DIOR-R | ViT-B+RVSA | 定向-RCNN | 71.29 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | DIOR-R | ViT-L+RVSA | 定向-RCNN | 74.54 | 配置 | 日志 | Baidu & OneDrive |
IMP + MTP | DIOR-R | InternImage-XL | 定向-RCNN | 72.17 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | FAIR1M-2.0 | ViT-B+RVSA | 定向-RCNN | 51.92 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | FAIR1M-2.0 | ViT-L+RVSA | 定向-RCNN | 53.00 | 配置 | 日志 | Baidu & OneDrive |
IMP + MTP | FAIR1M-2.0 | InternImage-XL | 定向-RCNN | 50.93 | 配置 | 日志 | Baidu & OneDrive |
预训练 | 数据集 | Backbone | 方法 | mIOU | 配置 | 日志 | 权重 |
---|---|---|---|---|---|---|---|
MAE + MTP | SpaceNetv1 | ViT-B+RVSA | UperNet | 79.63 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | SpaceNetv1 | ViT-L+RVSA | UperNet | 79.54 | 配置 | 日志 | Baidu & OneDrive |
IMP + MTP | SpaceNetv1 | InternImage-XL | UperNet | 79.16 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | LoveDA | ViT-B+RVSA | UperNet | 52.39 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | LoveDA | ViT-L+RVSA | UperNet | 54.17 | 配置 | 日志 | Baidu & OneDrive |
IMP + MTP | LoveDA | InternImage-XL | UperNet | 54.17 | 配置 | 日志 | Baidu & OneDrive |
预训练 | 数据集 | Backbone | 方法 | F1 | 配置 | 日志 | 权重 |
---|---|---|---|---|---|---|---|
MAE + MTP | OSCD | ViT-B+RVSA | UNet | 53.36 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | OSCD | ViT-L+RVSA | UNet | 55.92 | 配置 | 日志 | Baidu & OneDrive |
IMP + MTP | OSCD | InternImage-XL | UNet | 55.61 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | WHU | ViT-B+RVSA | UNet | 94.32 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | WHU | ViT-L+RVSA | UNet | 94.75 | 配置 | 日志 | Baidu & OneDrive |
IMP + MTP | WHU | InternImage-XL | UNet | 95.59 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | LEVIR | ViT-B+RVSA | UNet | 92.22 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | LEVIR | ViT-L+RVSA | UNet | 92.67 | 配置 | 日志 | Baidu & OneDrive |
IMP + MTP | LEVIR | InternImage-XL | UNet | 92.54 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | SVCD/CDD | ViT-B+RVSA | UNet | 97.87 | 配置 | 日志 | Baidu & OneDrive |
MAE + MTP | SVCD/CDD | ViT-L+RVSA | UNet | 97.98 | 配置 | 日志 | Baidu & OneDrive |
IMP + MTP | SVCD/CDD | InternImage-XL | UNet | 98.33 | 配置 | 日志 | Baidu & OneDrive |
包 | 版本 | 包 | 版本 | 包 | 版本 | 包 | 版本 |
---|---|---|---|---|---|---|---|
Python | 3.8.17 | timm | 0.9.5 | MMEngine | 0.8.4 | MMDetection | 3.1.0 |
Pytorch | 1.10.0 | OpenCV | 4.8.0 | MMPretrain | 1.2.0 | MMRotate | 1.0.0rc1 |
Torchvision | 0.10.0 | MMCV | 2.0.0 | MMSegmentation | 1.0.0 | Open-CD | 1.1.0 |
包 | 版本 | 包 | 版本 | 包 | 版本 |
---|---|---|---|---|---|
Python | 3.8.0 | timm | 0.9.2 | MMEngine | 0.10.3 |
Pytorch | 1.10.0 | OpenCV | 4.7.0 | MMDetection | 2.28.2 |
Torchvision | 0.10.0 | MMCV-full | 1.6.1 | MMRotate | 0.3.4 |
该环境用于 FAIR1M-2.0 和 DOTA-V1.0 的多尺度预测。
-
从 SAMRS 数据集中下载 SOTA-RBB 和 SIOR 及 FAST 集合。 -
将 SAMRS 数据集中的*.pkl 转换为 COCO *.json。python scripts/convert_pkl_json.py
我们使用 SLURM 进行 MTP。这是预训练 ViT-L + RVSA 的一个例子:
srun -J mtp -p gpu --gres=dcu:4 --ntasks=32 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \
python main_pretrain.py \
--backbone 'vit_l_rvsa' --tasks 'ss' 'is' 'rd' \
--datasets 'sota' 'sior' 'fast' \
--batch_size 3 --batch_size_val 3 --workers 8 \
--save_path [folder path of saved model] \
--distributed 'True' --end_iter 80000 \
--image_size 448 --init_backbone 'mae' --port '16003' --batch_mode 'avg' --background 'True' --use_ckpt 'True' --interval 5000
通过设置 --ft
和 --resume
可以恢复训练
--ft 'True' --resume [path of saved multi-task pretrained model]
对于 Xview:使用 scripts/prepare_xview_dataset.py
,它包含以下功能:
将 geojson 转换为 yolo 格式的标签
划分训练集和测试集
裁剪图像和 YOLO 格式标签
将 yolo 格式标签转换为 COCO 格式 *.json
对于 DIOR:将*.xml 转换为 COCO *.json 格式以便输入到 MMDetection 中
python scripts/dior_h_2_coco.py
对于 FAIR1M:将*.txt 格式的 DOTA 文件转换为提交所需的*.xml 格式。
python scripts/dota_submit_txt_to_fair1m_xml.py --txt_dir [path of *.txt]
对于 SpaceNetv1:从 geojson 提取分割掩码
python scripts/process_spacenet.py
除了旋转检测,我们在 SLURM 上进行微调。以下是示例:
在 EuroSAT 上使用 MAE + MTP 预训练的 ViT-L + RVSA 进行训练和验证:
srun -J mmpretrn -p gpu --gres=dcu:4 --ntasks=8 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \
python -u tools/train.py configs/mtp/vit-rvsa-l-224-mae-mtp_eurosat.py \
--work-dir=/diwang/work_dir/multitask_pretrain/finetune/classification/eurosat/vit-rvsa-l-224-mae-mtp_eurosat \
--launcher="slurm" --cfg-options 'find_unused_parameters'=True
使用 MAE + MTP 预训练的 ViT-L + RVSA 作为主干网络的 Faster-RCNN 在 DIOR 上进行训练:
srun -J mmdet -p gpu --gres=dcu:4 --ntasks=4 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \
python -u tools/train.py configs/mtp/dior/faster_rcnn_rvsa_l_800_mae_mtp_dior.py \
--work-dir=/diwang/work_dir/multitask_pretrain/finetune/Horizontal_Detection/dior/faster_rcnn_rvsa_l_800_mae_mtp_dior \
--launcher="slurm"
然后测试和生成检测结果:
srun -J mmdet -p gpu --gres=dcu:4 --ntasks=4 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \
python -u tools/test.py configs/mtp/dior/faster_rcnn_rvsa_l_800_mae_mtp_dior.py \
/diwang/work_dir/multitask_pretrain/finetune/Horizontal_Detection/dior/faster_rcnn_rvsa_l_800_mae_mtp_dior/epoch_12.pth \
--work-dir=/diwang/work_dir/multitask_pretrain/finetune/Horizontal_Detection/dior/faster_rcnn_rvsa_l_800_mae_mtp_dior/predict \
--show-dir=/diwang/work_dir/multitask_pretrain/finetune/Horizontal_Detection/dior/faster_rcnn_rvsa_l_800_mae_mtp_dior/predict/show \
--launcher="slurm" --cfg-options val_cfg=None val_dataloader=None val_evaluator=None
1. 在 SLURM 上运行:
(使用 MMRotate 1.0.0rc1) 在 DIOR-R 上使用 Oriented-RCNN 进行训练,背骨网络为 MAE + MTP 预训练的 ViT-L + RVSA:
srun -J mmrot -p gpu --gres=dcu:4 --ntasks=4 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \
python -u tools/train.py configs/mtp/diorr/oriented_rcnn_rvsa_l_800_mae_mtp_diorr.py \
--work-dir=/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/diorr/oriented_rcnn_rvsa_l_800_mae_mtp_diorr \
--launcher="slurm"
(使用 MMRotate 1.0.0rc1) 在 DIOR-R 上进行测试以进行评估和可视化检测地图。
srun -J mmrot -p gpu --gres=dcu:4 --ntasks=8 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \
python -u tools/test.py configs/mtp/oriented_rcnn_rvsa_l_800_mae_mtp_diorr.py \
/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/diorr/oriented_rcnn_rvsa_l_800_mae_mtp_diorr/epoch_12.pth \
--work-dir=/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/diorr/oriented_rcnn_rvsa_l_800_mae_mtp_diorr/predict \
--show-dir=/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/diorr/oriented_rcnn_rvsa_l_800_mae_mtp_diorr/predict/show \
--launcher="slurm" --cfg-options val_cfg=None val_dataloader=None val_evaluator=None
(使用 MMRotate 0.3.4) 如果数据集在线评估,我们使用 --format-only
,以下是一个在 FAIR1M-2.0 上测试提交结果和可视化检测图的示例。
srun -J mmrot -p gpu --gres=dcu:4 --ntasks=16 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \
python -u tools/test.py configs/mtp/fair1m/oriented_rcnn_rvsa_l_800_mae_mtp_fair1m20.py \
/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/fair1mv2/oriented_rcnn_rvsa_l_800_mae_mtp_fair1m20/epoch_12.pth --format-only \
--show-dir=/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/fair1mv2/oriented_rcnn_rvsa_l_800_mae_mtp_fair1m20/predict/show \
--eval-options submission_dir=/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/fair1mv2/oriented_rcnn_rvsa_l_800_mae_mtp_fair1m20/predict/submit \
--launcher="slurm"
2. 在 GPU 服务器上运行:
(使用 MMRotate 1.0.0rc1) 在 DOTA-2.0 上使用带有 MAE + MTP 预训练的 ViT-L + RVSA 的 Oriented-RCNN 进行训练:
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 --nnodes=1 --master_port=40002 --master_addr=1.2.3.4 \
tools/train.py configs/mtp/dotav2/oriented_rcnn_rvsa_l_1024_mae_mtp_dota20.py \
--work-dir=/data/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/dotav2/oriented_rcnn_rvsa_l_1024_mae_mtp_dota20
(使用 MMRotate 1.0.0rc1)在 DOTA-2.0 上进行单尺度测试,以提交在线评估结果并可视化检测地图。
CUDA_VISIBLE_DEVICES=0 python tools/test.py configs/mtp/dotav2/oriented_rcnn_rvsa_l_1024_mae_mtp_dota20.py \
/data/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/dotav2/oriented_rcnn_rvsa_l_1024_mae_mtp_dota20/epoch_40.pth \
--work-dir=/data/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/dotav2/oriented_rcnn_rvsa_l_1024_mae_mtp_dota20/test \
--show-dir=/data/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/dotav2/oriented_rcnn_rvsa_l_1024_mae_mtp_dota20/test/vis
(使用 MMRotate 0.3.4) 在 DOTA-V1.0 上进行多尺度测试,以提交在线评估结果和可视化检测图。
CUDA_VISIBLE_DEVICES=0 python tools/test.py configs/mtp/dotav1/oriented_rcnn_rvsa_l_1024_mae_mtp_dota10.py \
/data/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/dotav1/oriented_rcnn_rvsa_l_1024_mae_mtp_dota10/epoch_12.pth --format-only \
--show-dir=/data/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/dotav1/oriented_rcnn_rvsa_l_1024_mae_mtp_dota10/predict/show \
--eval-options submission_dir=/data/diwang22/work_dir/multitask_pretrain/finetune/Rotated_Detection/dotav1/oriented_rcnn_rvsa_l_1024_mae_mtp_dota10/predict/submit
使用 MAE + MTP 预训练的 ViT-L + RVSA 的主干网络,在 SpaceNetv1 上训练 UperNet:
srun -J mmseg -p gpu --gres=dcu:4 --ntasks=8 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \
python -u tools/train.py configs/mtp/spacenetv1/rvsa-l-upernet-384-mae-mtp-spacenetv1.py \
--work-dir=/diwang22/work_dir/multitask_pretrain/finetune/Semantic_Segmentation/spacenetv1/rvsa-l-upernet-384-mae-mtp-spacenetv1 \
--launcher="slurm" --cfg-options 'find_unused_parameters'=True
在 SpaceNetv1 上进行准确性评估和生成预测地图的测试:
srun -J mmseg -p gpu --gres=dcu:4 --ntasks=8 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \
python -u tools/test.py configs/mtp/spacenetv1/rvsa-l-upernet-384-mae-mtp-spacenetv1.py \
/diwang22/work_dir/multitask_pretrain/finetune/Semantic_Segmentation/spacenetv1/rvsa-l-upernet-384-mae-mtp-spacenetv1/iter_80000.pth \
--work-dir=/diwang22/work_dir/multitask_pretrain/finetune/Semantic_Segmentation/spacenetv1/rvsa-l-upernet-384-mae-mtp-spacenetv1/predict \
--show-dir=/diwang22/work_dir/multitask_pretrain/finetune/Semantic_Segmentation/spacenetv1/rvsa-l-upernet-384-mae-mtp-spacenetv1/predict/show \
--launcher="slurm" --cfg-options val_cfg=None val_dataloader=None val_evaluator=None
在线评估:在 LoveDA 上测试以提交在线评估结果并生成预测图:
srun -J mmseg -p gpu --gres=dcu:4 --ntasks=4 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \
python -u tools/test.py configs/mtp/loveda/rvsa-l-upernet-512-mae-mtp-loveda.py \
/diwang22/work_dir/multitask_pretrain/finetune/Semantic_Segmentation/loveda/rvsa-l-upernet-512-mae-mtp-loveda/iter_80000.pth \
--work-dir=/diwang22/work_dir/multitask_pretrain/finetune/Semantic_Segmentation/loveda/rvsa-l-upernet-512-mae-mtp-loveda/predict \
--out=/diwang22/work_dir/multitask_pretrain/finetune/Semantic_Segmentation/loveda/rvsa-l-upernet-512-mae-mtp-loveda/predict/submit \
--show-dir=/diwang22/work_dir/multitask_pretrain/finetune/Semantic_Segmentation/loveda/rvsa-l-upernet-512-mae-mtp-loveda/predict/show \
--launcher="slurm" --cfg-options val_cfg=None val_dataloader=None val_evaluator=None
注意:在推理之后,LoveDA 的预测需要手动减少 1 以满足评估网站的要求
python scripts/change_loveda_label.py
在 WHU 上使用 UperNet 进行训练,主干网络为 MAE + MTP 预训练的 ViT-L + RVSA:
srun -J opencd -p gpu --gres=dcu:4 --ntasks=8 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \
python -u tools/train.py configs/mtp/whu/rvsa-l-unet-256-mae-mtp_whu.py \
--work-dir=/diwang22/work_dir/multitask_pretrain/finetune/Change_Detection/whu/rvsa-l-unet-256-mae-mtp_whu \
--launcher="slurm" --cfg-options 'find_unused_parameters'=True
测试准确性评估和生成预测图:
srun -J opencd -p gpu --gres=dcu:4 --ntasks=8 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \
python -u tools/test.py configs/mtp/whu/rvsa-l-unet-256-mae-mtp_whu.py \
/diwang22/work_dir/multitask_pretrain/finetune/Change_Detection/whu/rvsa-l-unet-256-mae-mtp_whu/epoch_200.pth \
--work-dir=/diwang22/work_dir/multitask_pretrain/finetune/Change_Detection/whu/rvsa-l-unet-256-mae-mtp_whu/predict \
--show-dir=/diwang22/work_dir/multitask_pretrain/finetune/Change_Detection/whu/rvsa-l-unet-256-mae-mtp_whu/predict/show \
--launcher="slurm" --cfg-options val_cfg=None val_dataloader=None val_evaluator=None
以重用分割解码器进行微调为例:
-
更改 MTP 保存权重的键:python scripts/change_ckpt.py
-
然后使用修正后的权重进行训练srun -J mmseg -p gpu --gres=dcu:4 --ntasks=8 --ntasks-per-node=4 --cpus-per-task=8 --kill-on-bad-exit=1 \ python -u tools/train.py configs/mtp/spacenetv1/rvsa-b-upernet-384-mae-mtp-spacenetv1.py \ --work-dir=/diwang22/work_dir/multitask_pretrain/finetune/Semantic_Segmentation/spacenetv1/rvsa-b-upernet-384-mae-mtp-spacenetv1_reuse_decoder \ --launcher="slurm" \ --cfg-options 'find_unused_parameters'=True load_from=[path of the revised weights]
其余步骤与常规测试相同。
如果您觉得 MTP 有帮助,请考虑为这个仓库点赞 ⭐ 并引用:
@ARTICLE{MTP,
author={Wang, Di and Zhang, Jing and Xu, Minqiang and Liu, Lin and Wang, Dongsheng and Gao, Erzhong and Han, Chengxi and Guo, Haonan and Du, Bo and Tao, Dacheng and Zhang, Liangpei},
journal={IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing},
title={MTP: Advancing Remote Sensing Foundation Model Via Multi-Task Pretraining},
year={2024},
volume={},
number={},
pages={1-24},
doi={10.1109/JSTARS.2024.3408154}}
该项目仅用于研究目的。若有其他问题,请联系 di.wang at gmail.com 或 whu.edu.cn。
- segment-anything, BBoxToolkit
- RSPrompter, InternImage, DIOR2COCO, ultralytics, spacenet_building_detection
- MMCV, MMEngine, MMPretrain, MMSegmentation, MMDetection, MMRotate, Open-CD
[1] 一项关于遥感预训练的实证研究,IEEE TGRS,2022 | 论文 | Github
Di Wang∗, Jing Zhang∗, Bo Du, Gui-Song Xia 和 Dacheng Tao
[2] 推进纯视觉变压器朝向遥感基础模型,IEEE TGRS,2022 | 论文 | Github
Di Wang∗, Qiming Zhang∗, Yufei Xu∗, Jing Zhang, Bo Du, Dacheng Tao 和 Liangpei Zhang
[3] SAMRS: 使用 Segment Anything 模型扩展遥感分割数据集,NeurIPS 数据集与基准跟踪,2023 | 论文 | Github
Di Wang∗, Jing Zhang, Bo Du, Minqiang Xu, Lin Liu, Dacheng Tao 和 Liangpei Zhang