README.md

July 17, 2026 · View on GitHub

🔬 Related Resources

These work are parts of our research on
Closely-Spaced Infrared Small Target Unmixing
For a comprehensive collection of papers, datasets, and resources, visit:

📚 View Awesome-CSIST-Unmixing

intro

This repository contains the official implementation of the following papers:

DISTA-Net: Dynamic Closely-Spaced Infrared Small Target Unmixing
Shengdong Han, Shangdong Yang, Yuxuan Li, Xin Zhang, Xiang Li, Jian Yang, Ming-Ming Cheng, Yimian Dai
ICCV 2025. Paper Link | 中文论文翻译 | 博客解读 | 视频讲解

SeqCSIST: Sequential Closely-Spaced Infrared Small Target Unmixing
Ximeng Zhai, Bohan Xu, Yaohong Chen, Hao Wang, Kehua Guo, Yimian Dai
IEEE TGRS 2025. Paper Link | 博客解读 | 视频讲解

Beyond Unfolding: 60× Faster One-Stage Unmixing for Closely-Spaced Infrared Small Targets
Ximeng Zhai, Zheng Wang, Zhu Liu, Yaohong Chen, Hao Wang, Kehua Guo, Ming-Ming Cheng Yimian Dai
arXiv. Paper Link

📘 Introduction

An open-source ecosystem for the unmixing of closely-spaced infrared small targets including:

  • CSIST-100K, a publicly available benchmark dataset for single-frame CSIST Umixing;

  • SeqCSIST, a publicly available benchmark dataset specifically designed for multi-frame CSIST Umixing.

  • CSO-mAP, a custom evaluation metric for sub-pixel detection;

  • GrokCSO, an open-source toolkit featuring DISTA-Net and other models.


🗂 Datasets

CSIST-100K Dataset

A synthetic dataset for multi-target sub-pixel resolution analysis under diffraction-limited conditions. Download: Baidu Pan / OneDrive.

ParameterValue/Range
Imaging Size11×11 pixels
σPSFσ_{PSF}0.5 pixel
Targets per Image1–5 (random)
Intensity Range220–250 units (uniform)
Spatial ConstraintsSub-pixel coordinates within a pixel + 0.52 Rayleigh unit separation

SeqCSIST Dataset

A synthetic dataset specifically designed for multi-frame CSIST Unmixing, consisting of 100,000 frames organized into 5,000 random trajectories. Download: Baidu Pan

🏗 Networks

net1

Architecture of the proposed DISTA-Net. The overall framework consists of multiple cascaded stages. Each stage contains three main components: a dual-branch dynamic transform module (F(k)\mathcal{F}^{(k)}) for feature extraction, a dynamic threshold module (Θ(k)\Theta^{(k)}) for feature refinement, and an inverse transform module (F~(k)\tilde{\mathcal{F}}^{(k)}) for reconstruction.

net2

Architecture of the proposed DeRefNet. The overall framework consists of three main modules: a sparsity-driven feature extraction module for effective CSIST feature extraction through nonlinear learnable and sparsifying transforms, a positional encoding module for temporal information enhancement to enable finer sub-pixel target localization, and a temporal deformable feature alignment (TDFA) module for dynamic reference-based refinement through multi-frame deformable alignment at the feature level.

net3

Overview of the FOCUS framework and its physics-constrained optimization strategy. (a-b) The architecture utilizes a coarse-to-fine flow via DMM and SMM modules, incorporating Isomorphic Source-Generation Units (ISGU) that bifurcate intensity and mask paths to ensure discrete source recovery. (c-e) Comparison of label characteristics and predictive evolution between standard super-resolution (SR) and the proposed unmixing paradigm. The evolution under joint LMSE, LSparsity, and LEnergy constraints, visualized through the optimization vectorgraph, illustrates the competitive equilibrium achieved to maintain structural sparsity and flux conservation for high-fidelity signal reconstruction.

📈 Comparison with state-of-the-art methods

compare1

compare2

compare3

📘GrokCSO Instructions

🛠️Environment Preparation

Installation

$ conda create --name grokcso python=3.9 
$ source activate grokcso

Step 1: Install PyTorch

# CUDA 12.1  
conda install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia  

Step 2: Install OpenMMLab 2.x Codebases

$ pip install -U openmim
$ pip install mmcv==2.1.0 -f https://download.openmmlab.com/mmcv/dist/cu121/torch2.1/index.html

$ pip install mmdet

Step 3: Install grokcso

$ git clone https://github.com/GrokCV/GrokCSO.git
$ cd grokcso
$ python setup.py develop

🚀Run Script

✨Train a model:

# c = 3  
$ CUDA_VISIBLE_DEVICES=1 python tools/train.py --config configs/Agrok/dista.py  
  
# c = 5  
$ CUDA_VISIBLE_DEVICES=1 python tools/train.py --config configs/c_5/dista.py  
  
# c = 7  
$ CUDA_VISIBLE_DEVICES=1 python tools/train.py --config configs/c_7/dista.py   

✨Test a model:

# c = 3  
$ CUDA_VISIBLE_DEVICES=1 python tools/test.py --config configs/fdist/dista.py --checkpoint /pth/dista/epoch_47.pth --work-dir work_dir/dista
  
# c = 5  
$ CUDA_VISIBLE_DEVICES=1 python tools/test.py --config configs/c_5/dista.py --checkpoint /pth/dista/c_5/epoch_105.pth --work-dir work_dir/dista/c_5
  
# c = 7  
$ CUDA_VISIBLE_DEVICES=1 python tools/test.py --config configs/c_7/dista.py --checkpoint /pth/dista/c_7/epoch_246.pth --work-dir work_dir/dista/c_7

🎁Citation

@inproceedings{han2025dista,
  title={{DISTA-Net}: Dynamic Closely-Spaced Infrared Small Target Unmixing},
  author={Han, Shengdong and Yang, Shangdong and Li, Yuxuan and Zhang, Xin and Li, Xiang and Yang, Jian and Cheng, Ming-Ming and Dai, Yimian},
  booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
  pages={14655--14664},
  year={2025}
}

@article{zhai2025seqcsist,
  title={{SeqCSIST}: Sequential Closely-Spaced Infrared Small Target Unmixing},
  author={Zhai, Ximeng and Xu, Bohan and Chen, Yaohong and Wang, Hao and Guo, Kehua and Dai, Yimian},
  journal={IEEE Transactions on Geoscience and Remote Sensing},
  year={2025},
  publisher={IEEE}
}