[ECCV2024] Learning Camouflaged Object Detection from Noisy Pseudo Label (Poster)
December 16, 2025 · View on GitHub
This is the open-source repository for our paper Learning Camouflaged Object Detection from Noisy Pseudo Label, accepted at ECCV 2024!
Our Paper Can Be Seen at Paper
Framework Architecture


Performance



Training Process
Task Definition: Weakly Semi-Supervised Camouflaged Object Detection (WSSCOD)
We introduce a novel training protocol named Weakly Semi-Supervised Camouflaged Object Detection (WSSCOD), utilizing boxes as prompts to generate high-quality pseudo labels. WSSCOD leverages box annotations, complemented by a minimal amount of pixel-level annotations, to generate high-accuracy pseudo labels.
-
Dataset Division:
- : Pixel-level annotations , box annotations , and training images .
- : Box annotations and images, where represents the number of training sets.
-
Training ANet:
- Train ANet using dataset .
- Use as prompts and for supervision.
-
Generating Pseudo Labels:
- Use the trained ANet and dataset to predict pseudo labels .
-
Constructing the Weakly Semi-Supervised Dataset:
- Combine and to form .
-
Training PNet:
- Train PNet using the dataset .
- Evaluate performance with different and ratios:
- PNet: ,
- PNet: ,
- PNet: ,
- PNet: ,
Details: ANet and PNet Training
| Aspect | ANet (Auxiliary Network) | PNet (Primary Network) |
|---|---|---|
| Stage | First | Second |
| Objective | Generate high-accuracy pseudo labels | Main camouflaged object detection |
| Data Input | Subset with pixel and box annotations | Weakly semi-supervised dataset |
| Training Dataset | ||
| Annotations | Pixel-level and box | Pseudo labels and pixel-level |
| Supervision | Pixel-level for pseudo label generation | Pseudo labels and pixel-level |
| Input Prompts | Box annotations for camouflaged objects | Images and |
| Performance Evaluation | - | Different settings: PNet, PNet, PNet, PNet |
| Training Goal | Generate high-quality pseudo labels | Improve detection accuracy with various and ratios |
1. Download the Training and Test Sets
We have made the training and test sets available for download via the following links:
- Google Drive
- BaiDu Drive (Passwd: he37)
Once downloaded, place data.zip in the code/data directory and unzip it.
2. Train ANet
python code/TrainANet/TrainDDP.py --gpu_id 0 --ration 1
# ration represents the proportion of pixel-level labels
# we find that one card training is better than four or eight cards
3. Generate Pseudo Labels
python code/TrainANet/Test.py --ration 1
# ration represents the proportion of pixel-level labels
4. Train PNet
python code/TrainANet/TrainDDP.py --gpu_id 0 --ration 1 --q_epoch 20 --batchsize_fully 6 --batchsize_weakly 24
# ration represents the proportion of pixel-level labels
# q_epoch means we change the q to 1 at this epoch
# batchsize_fully means the number of fully annotated samples in a batch
# batchsize_weakly means the number of weakly annotated samples in a batch
5. Testing Process
python code/TrainPNet/Test.py --ration 1
# ration represents the proportion of pixel-level labels
Pretrained Weights and COD Results
For ANet
We release the weight and prediction maps of , , and at Biadu Link.
For PNet
| Model | Pretrained Weight | Prediction Description |
|---|---|---|
| PNet | Google Link | , |
| PNet | Google Link | , |
| PNet | Google Link | , |
| PNet | Google Link | , |
References
@inproceedings{zhang2025learning,
title={Learning Camouflaged Object Detection from Noisy Pseudo Label},
author={Zhang, Jin and Zhang, Ruiheng and Shi, Yanjiao and Cao, Zhe and Liu, Nian and Khan, Fahad Shahbaz},
booktitle={European Conference on Computer Vision},
pages={158--174},
year={2025},
organization={Springer}
}