| | --- |
| | license: mit |
| | --- |
| | ## π οΈ Requirements |
| |
|
| | ### Environment |
| | - **Python** 3.10+ |
| | - **PyTorch** 1.13.0+ |
| | - **CUDA** 11.6+ |
| | - **Ubuntu** 18.04 or higher / Windows 10 |
| |
|
| | ### Installation |
| |
|
| | ```bash |
| | # Create conda environment |
| | conda create -n dccs python=3.8 -y |
| | conda activate dccs |
| | |
| | # Install PyTorch |
| | pip install torch==1.13.0 torchvision==0.14.0 torchaudio==0.13.0 |
| | |
| | # Install dependencies |
| | pip install packaging |
| | pip install timm==0.4.12 |
| | pip install pytest chardet yacs termcolor |
| | pip install submitit tensorboardX |
| | pip install triton==2.0.0 |
| | pip install causal_conv1d==1.0.0 |
| | pip install mamba_ssm==1.0.1 |
| | |
| | # Or simply run |
| | pip install -r requirements.txt |
| | ``` |
| |
|
| | ## π Dataset Preparation |
| |
|
| | We evaluate our method on three public datasets: **IRSTD-1K**, **NUAA-SIRST**, and **SIRST-Aug**. |
| |
|
| | | Dataset | Link | |
| | |---------|------| |
| | | IRSTD-1K | [Download](https://github.com/RuiZhang97/ISNet) | |
| | | NUAA-SIRST | [Download](https://github.com/YimianDai/sirst) | |
| | | SIRST-Aug | [Download](https://github.com/Tianfang-Zhang/AGPCNet) | |
| |
|
| | Please organize the datasets as follows: |
| |
|
| | ``` |
| | βββ dataset/ |
| | β βββ IRSTD-1K/ |
| | β β βββ images/ |
| | β β β βββ XDU514png |
| | β β β βββ XDU646.png |
| | β β β βββ ... |
| | β β βββ masks/ |
| | β β β βββ XDU514.png |
| | β β β βββ XDU646.png |
| | β β β βββ ... |
| | β β βββ trainval.txt |
| | β β βββ test.txt |
| | β βββ NUAA-SIRST/ |
| | β β βββ ... |
| | β βββ SIRST-Aug/ |
| | β βββ ... |
| | ``` |
| |
|
| | ## π Training |
| |
|
| | ```bash |
| | python main.py --dataset-dir '/path/to/dataset' \ |
| | --batch-size 4 \ |
| | --epochs 400 \ |
| | --lr 0.05 \ |
| | --mode 'train' |
| | ``` |
| |
|
| | **Example:** |
| | ```bash |
| | python main.py --dataset-dir './dataset/IRSTD-1K' --batch-size 4 --epochs 400 --lr 0.05 --mode 'train' |
| | ``` |
| |
|
| | ## π Testing |
| |
|
| | ```bash |
| | python main.py --dataset-dir '/path/to/dataset' \ |
| | --batch-size 4 \ |
| | --mode 'test' \ |
| | --weight-path '/path/to/weight.tar' |
| | ``` |
| |
|
| | **Example:** |
| | ```bash |
| | python main.py --dataset-dir './dataset/IRSTD-1K' --batch-size 4 --mode 'test' --weight-path './weight/irstd1k_weight.pkl' |
| | ``` |
| |
|
| | ## π Results |
| |
|
| | ### Quantitative Results |
| |
|
| | | Dataset | IoU (Γ10β»Β²) | Pd (Γ10β»Β²) | Fa (Γ10β»βΆ) | Weights | |
| | |:-------:|:------------:|:----------:|:----------:|:-------:| |
| | | IRSTD-1K | 69.64 | 95.58 | 10.48 | [Download](https://drive.google.com/file/d/1KqlOVWIktfrBrntzr53z1eGnrzjWCWSe/view?usp=sharing) | |
| | | NUAA-SIRST | 78.65 | 78.65 | 2.48 | [Download](https://drive.google.com/file/d/13JQ3V5xhXUcvy6h3opKs15gseuaoKrSQ/view?usp=sharing) | |
| | | SIRST-Aug | 75.57 | 98.90 | 33.46 | [Download](https://drive.google.com/file/d/1lcmTgft0LStM7ABWDIMRHTkcOv95p9LO/view?usp=sharing) | |
| |
|
| |
|
| | ## π Project Structure |
| |
|
| | ``` |
| | DCCS/ |
| | βββ dataset/ # Dataset loading and preprocessing |
| | βββ model/ # Network architecture |
| | βββ utils/ # Utility functions |
| | βββ weight/ # Pretrained weights |
| | βββ main.py # Main entry point |
| | βββ requirements.txt # Dependencies |
| | βββ README.md |
| | ``` |
| |
|
| | ## π Acknowledgement |
| |
|
| | We sincerely thank the following works for their contributions: |
| |
|
| | - [BasicIRSTD](https://github.com/XinyiYing/BasicIRSTD) - A comprehensive toolbox |
| | - [MSHNet](https://github.com/ying-fu/MSHNet) - Scale and Location Sensitive Loss |