[CVPR 26]CHAL: Causal-guided Hierarchical Anomaly-aware Learning for Moving Infrared Small Target Detection
Infrared small target detection is one highly special category of object detection, faced with tiny target imaging size and cluttered backgrounds. Currently, almost all existing methods are target-centered, directly learning the target features from backgrounds. However, due to weak target signals, they are often difficult in effectively capturing stable features. Sometimes, they cannot even distinguish real targets from background confounders. To overcome these problems, from an opposite perspective, we propose the first Causal-guided Hierarchical Anomaly-aware Learning (CHAL) framework. Breaking through target-centered paradigm, it focuses on background learning, while the targets are handled as the anomalies in backgrounds. In detail, to fulfill the goal, a spatio-temporal neural field is designed to model the background evolution patterns from generative perspective. Meanwhile, a hierarchical anomaly-aware learning is proposed to decompose anomaly discovery. Furthermore, to block the spurious correlations often caused by background confounders, and enhance true target causality, a causal-guiding mechanism is designed. The experiments on three infrared datasets verify the effectiveness and superiority of our CHAL. Even in visible-light scenarios, it still possesses obvious adaptivity.
- scipy==1.10.1
- numpy==1.24.4
- matplotlib==3.7.5
- opencv_python==4.9.0.80
- torch==2.0.0+cu118
- torchvision==0.12.0
- pycocotools==2.0.7
- timm==0.9.16
- python==3.8.19
- Tested on Ubuntu 22.04.6, with CUDA 12.0, and 1x NVIDIA 4090(24 GB)
- Datasets are available at DAUB-H (code: xkps), NUDT-MIRSDT and IRDST-R (code: kt4d). DAUB-H is the hard version of DAUB, IRDST-R is the reconstruced version of IRDST.
- You need to reorganize these datasets in a format similar to the
coco_train_multi.txtandcoco_val_multi.txtfiles we provided (.txt filesare used in training). We provide the.txt filesfor NUDT-MIRSDT, DAUB-H and IRDST-R. For example:
train_annotation_path = 'datasets/coco_train_multi.txt'
val_annotation_path = 'datasets/coco_val_multi.txt'- The folder structure should look like this:
- coco_train_multi.txt
- coco_val_multi.txt
DAUB-H
├─instances_train2017.json
├─instances_test2017.json
├─coco_train_DAUBH.txt
├─coco_val_DAUBH.txt
├─images
│ ├─1
│ │ ├─0.bmp
│ │ ├─1.bmp
│ │ ├─2.bmp
│ │ ├─ ...
│ ├─2
│ │ ├─0.bmp
│ │ ├─1.bmp
│ │ ├─2.bmp
│ │ ├─ ...
│ ├─3
│ │ ├─ ...
- Note: Please change settings for different datasets, including the txt files, and image paths. Besides, you should load the pretrained model weights for further training.
CUDA_VISIBLE_DEVICES=0 python train.py
- Usually
best_model.pthis not necessarily the best model. Please try different models for verification.
"model_path": './logs/model.pth'- You need to change the path of the
json fileof test sets. For example:
cocoGt_path = 'datasets/DAUB-H/instances_test2017.json'
dataset_img_path = 'datasets/DAUB-H/'python test.py- We support
videoandsingle-frame imageprediction.
mode = "predict"python predict.py- For bounding box detection, we use COCO's evaluation metrics, mAP50, Precision, Recall and F1 score.
IF any questions, please contact with Weiwei Duan via email: dwwuestc@163.com.
@InProceedings{Duan_2026_CVPR,
author = {Duan, Weiwei and Ji, Luping and Lei, Shipeng and Zhu, Sicheng and Huang, Jianghong and Ye, Mao},
title = {CHAL: Causal-guided Hierarchical Anomaly-aware Learning for Moving Infrared Small Target Detection},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
month = {June},
year = {2026},
pages = {21357-21366}
}

