This repository maintains the official implementation of the paper Learning to Aggregate Multi-Scale Context for Instance Segmentation in Remote Sensing Images by Ye Liu, Huifang Li, Chao Hu, Shuang Luo, Yan Luo, and Chang Wen Chen, which has been accepted by TNNLS.
Please refer to the following environmental settings that we use. You may install these packages by yourself if you meet any problem during automatic installation.
- CUDA 11.8
- CUDNN 8.7.0.84
- Python 3.11.3
- PyTorch 2.0.1
- MMEngine 0.7.4
- MMCV 2.0.0
- MMDetection 3.0.0
- NNCore 0.3.6
- Clone the repository from GitHub.
git clone https://github.com/yeliudev/CATNet.git
cd CATNet
- Install dependencies.
pip install -r requirements.txt
- Set environment variable
export PYTHONPATH=$PWD:$PYTHONPATH
- Download the pre-processed datasets.
- Prepare the files in the following structure.
CATNet
βββ configs
βββ datasets
βββ models
βββ tools
βββ data
β βββ dior
β β βββ Annotations
β β βββ ImageSets
β β βββ JPEGImages
β βββ hrsid
β β βββ annotations
β β βββ images
β βββ isaid
β β βββ train
β β βββ val
β β βββ test
β βββ vhr
β βββ annotations
β βββ images
βββ README.md
βββ setup.cfg
βββ Β·Β·Β·
Run the following command to train a model using a specified config.
mim train mmdet <path-to-config> --gpus 4 --launcher pytorch
If an
out-of-memory
error occurs on iSAID dataset, please uncomment L22-L24 in the dataset code and try again. This will filter out a few images with more than 1,000 objects, largely reducing the memory cost.
Run the following command to test a model and evaluate results.
mim test mmdet <path-to-config> --checkpoint <path-to-checkpoint> --gpus 4 --launcher pytorch
We provide multiple pre-trained models here. All the models are trained using 4 NVIDIA A100 GPUs and are evaluated using the default metrics of the datasets.
Dataset | Model | Backbone | Schd | Aug | Performance | Download | |
---|---|---|---|---|---|---|---|
BBox AP | Mask AP | ||||||
iSAID | CAT Mask R-CNN | ResNet-50 | 3x | β | 45.1 | 37.2 | model | metrics |
CAT Mask R-CNN | ResNet-50 | 3x | β | 47.7 | 39.2 | model | metrics | |
DIOR | CATNet | ResNet-50 | 3x | β | 74.0 | β | model | metrics |
CATNet | ResNet-50 | 3x | β | 78.2 | β | model | metrics | |
CAT R-CNN | ResNet-50 | 3x | β | 75.8 | β | model | metrics | |
CAT R-CNN | ResNet-50 | 3x | β | 80.6 | β | model | metrics | |
NWPU VHR-10 |
CAT Mask R-CNN | ResNet-50 | 6x | β | 71.0 | 69.3 | model | metrics |
CAT Mask R-CNN | ResNet-50 | 6x | β | 72.4 | 70.7 | model | metrics | |
HRSID | CAT Mask R-CNN | ResNet-50 | 6x | β | 70.9 | 57.6 | model | metrics |
CAT Mask R-CNN | ResNet-50 | 6x | β | 72.0 | 59.6 | model | metrics |
If you find this project useful for your research, please kindly cite our paper.
@article{liu2024learning,
title={Learning to Aggregate Multi-Scale Context for Instance Segmentation in Remote Sensing Images},
author={Liu, Ye and Li, Huifang and Hu, Chao and Luo, Shuang and Luo, Yan and Chen, Chang Wen},
journal={IEEE Transactions on Neural Networks and Learning Systems},
year={2024}
}