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"

项目:PAL — 用于红外小目标检测的渐进式主动学习

它是什么: PAL 是一个开源框架,仅使用单点监督即可检测红外小目标(热成像中微小、暗淡的物体)——这意味着每个目标只需点击一次(一个点)即可标注,而无需完整的详细轮廓。该项目已被 ICCV 2025 录用,并提供了代码、数据集和一种新的训练方法。

核心思想: PAL 没有平等地对所有样本进行训练,而是采用了渐进式主动学习方法。模型首先从简单的样本中学习,然后逐渐转向更难的样本,以适应其当前的能力。这模仿了生物的学习方式——从简单开始,逐步积累。其目标是在远少于全监督(每个像素都被标注)标注工作量的情况下,实现接近全监督的性能。

项目包含内容:

  • 多种检测网络: 集成了超过 18 种现有的红外小目标检测模型(例如 ACM, DNANet, UIUNet, MSDA-Net),可直接使用。
  • 多个数据集: 支持四个公共数据集:SIRST, NUDT-SIRST, IRSTD-1k 和 SIRST3。
  • 三种标签格式: 全监督(密集掩码)、粗略单点(目标上的某个点)和质心单点(目标中心的一个点)。
  • 轻松切换: 只需修改训练脚本中的一个参数,即可更改网络、数据集或标签类型。
  • 预处理数据集: 作者提供了带有点标签的即用型数据集,因此您无需自己生成。

如何使用:

  1. 下载提供的数据集并将其解压到项目文件夹中。
  2. 创建一个 Python 3.8 Anaconda 环境并安装所需的包(torch, segmentation_models_pytorch 等)。
  3. 运行 train_model.py 来训练模型(默认设置使用 MSDA-Net, SIRST3 和粗略点标签)。
  4. 运行 test_model.py 来测试训练好的模型。
  5. 使用评估脚本(cal_mIoU_and_nIoU.py, cal_PD_and_Fa.py)来计算性能指标。

结果: README 展示了定量结果(表格)和定性可视化(图像),比较了 PAL 与其他方法在 SIRST3 数据集和三个独立数据集上的表现。图表显示,使用 PAL 的模型实现了接近全监督的性能,并优于之前的点监督方法 (LESPS)。

社区: 作者鼓励其他人通过 pull requests 贡献自己的网络,以建立一个协作生态系统。他们还提供了一个微信群用于讨论和支持。

引用: 如果您使用此项目,请引用该论文:

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.

相关

  • 项目
  • 项目
  • Dispatch
  • 项目
  • 项目