YuChuang1205/PAL

[🔥Accepted by ICCV2025🔥] Official code of the paper "From Easy to Hard: Progressive Active Learning Framework for Infrared Small Target Detection with Single Point Supervision"

Project: PAL — Progressive Active Learning for Infrared Small Target Detection

What it is: PAL is an open-source framework for detecting small infrared targets (tiny, dim objects in thermal images) using only single-point supervision — meaning each target is labeled with just one click (a point) instead of a full detailed outline. The project was accepted at ICCV 2025 and provides code, datasets, and a new training method.

The core idea: Instead of training a model on all samples equally, PAL uses a progressive active learning approach. The model first learns from easy examples, then gradually moves to harder ones, adapting to its own current ability. This mimics how organisms learn — starting simple and building up. The goal is to achieve performance close to full supervision (where every pixel is labeled) but with far less labeling effort.

What the project includes:

  • Many detection networks: Over 18 existing infrared small-target detection models (e.g., ACM, DNANet, UIUNet, MSDA-Net) are integrated and ready to use.
  • Multiple datasets: Supports four public datasets: SIRST, NUDT-SIRST, IRSTD-1k, and SIRST3.
  • Three label formats: Full supervision (dense masks), coarse single-point (a point somewhere on the target), and centroid single-point (a point at the target's center).
  • Easy switching: You can change the network, dataset, or label type by modifying just one parameter in the training script.
  • Pre-processed datasets: The authors provide ready-to-use datasets with point labels, so you don't have to generate them yourself.

How to use it:

  1. Download the provided dataset and unzip it into the project folder.
  2. Create a Python 3.8 Anaconda environment and install the required packages (torch, segmentation_models_pytorch, etc.).
  3. Run train_model.py to train a model (default settings use MSDA-Net, SIRST3, and coarse point labels).
  4. Run test_model.py to test the trained model.
  5. Use the evaluation scripts (cal_mIoU_and_nIoU.py, cal_PD_and_Fa.py) to compute performance metrics.

Results: The README shows quantitative results (tables) and qualitative visualizations (images) comparing PAL against other methods on the SIRST3 dataset and three individual datasets. The figures indicate that models using PAL achieve performance close to full supervision, and outperform a previous point-supervision method (LESPS).

Community: The authors encourage others to contribute their own networks via pull requests to build a collaborative ecosystem. They also provide a WeChat group for discussion and support.

Citation: If you use this project, please cite the paper:

Yu, Chuang, et al. "From easy to hard: Progressive active learning framework for infrared small target detection with single point supervision." Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV), 2025.

Related

  • Project
  • Project
  • Dispatch
  • Project
  • Project