conda create -n UMFNet python=3.10 -y
conda activate UMFNet
pip install torch torchvision timm
pip install numpy opencv-python Pillow tqdm py-sod-metricsOr install all dependencies at once:
pip install -r requirements.txtSet the following environment variables to point to your dataset roots:
export UMFNET_SOD_ROOT=/path/to/unaligned_datasets # UVT20K, UVT2000, WeaklyAligned/Supported datasets:
| Split | Dataset | Description |
|---|---|---|
| Unaligned | UVT20K | Large-scale unaligned RGB-T pairs |
| Unaligned | UVT2000 | Unaligned RGB-T benchmark |
| Weakly aligned | U-VT5000 / U-VT1000 / U-VT821 | Weakly aligned variants of classic benchmarks |
Download a pretrained Swin-B checkpoint, then run:
export UMFNET_PRETRAIN=/path/to/swin_base_patch4_window12_384_22k.pth
export UMFNET_TEST_RGB_ROOT=/path/to/test/RGB/
export UMFNET_TEST_DEPTH_ROOT=/path/to/test/T/
export UMFNET_TEST_GT_ROOT=/path/to/test/GT/
bash run_umfnet_train.shDownload a Model checkpoint and Results,code="TJUT".
python UMFNet_test.py \
--pth_path ./Results/Result_UMFNet/UMFNet_best.pth \
--datasets UVT20K UVT2000 U-VT5000 U-VT1000 U-VT821 \
--save_predictions \
--save_root ./test_mapsMetrics reported: S-measure (Sm), E-measure (Em), Weighted F-measure (Fw). A metrics_summary.json is written to the output directory.
Please cite our work if it is useful for your research.
@inproceedings{umfnet2026,
title = {Uncertainty-Aware Modality Fusion for Unaligned RGB-T Salient Object Detection},
booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
year = {2026},
}This project is released under the Apache 2.0 license.