MASFNet
[TGRS 2025] A lightweight multiscale adaptive sampling fusion network for robust object detection in fog and low-light, achieving better performance with high speed and low complexity.
Install / Use
/learn @PolarisFTL/MASFNetREADME
📖 MASFNet: Multiscale Adaptive Sampling Fusion Network for Object Detection in Adverse Weather
<a href="https://ieeexplore.ieee.org/document/10955257" target="_blank"><img src="https://img.shields.io/badge/%F0%9F%93%9A Paper-IEEE-blue"></a>
<a href="https://huggingface.co/spaces/PolarisFTL/MASFNet" target="_blank"><img src="https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Demos-blue"></a>
<br />
Zhenbing Liu, Tianle Fang, Haoxiang Lu, Weidong Zhang, and Rushi Lan<br />
Computer Science and Information Security, Guilin University of Electronic Technology
An overview of the proposed MASFNet. MASFNet consists of four parts: 1) FAENet, 2) Backbone, 3) MSFNet, and 4) DH. Among them, the FAENet utilizes the Laplacian pyramid decomposition to split the input image into two different components, a low-frequency component (LF) and a high-frequency component (HF). The feature information of the input image is then adaptively enhanced through modular processing. Then, the output of FAENet is fed into the backbone for feature extraction. The backbone eventually outputs two different scale feature maps into MSFNet for multi-scale fusion. Finally, the DH detects targets and calculates the loss to optimize the model.
😶🌫️ Experiments

📢 News
<ul> <li>[2024-05-09] The paper is submitted. <li>[2025-04-01] The paper is accepted. <li>[2025-04-07] The paper is already available for viewing at Early Access. <li>[2025-04-29] The code has been uploaded. </ul>🔧 Requirements and Installation
- Python 3.6.2
- PyTorch 1.8.0
- Cudatoolkit 11.1.1
- Numpy 1.17.0
- Opencv-python 4.1.2.30
👽 Installation
# Clone the MASFNet
git clone https://github.com/PolarisFTL/MASFNet.git
# Install dependent packages
cd MASFNet
🚗 Datasets
| Dataset Name | Total Images | Train Set | Test Set | Google Drive | BaiduYun | | ------------ | ------------ | --------- | -------- | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | | RTTS | 4,322 | 3,889 | 433 | Link | Link (key:1234) | | ExDark | 7,363 | 6,626 | 737 | Link | Link (key:1234) | | VOC-Rain | 10,653 | 9,482 | 1,171 | Link | Link (key:1234) | | VOC-Snow | 10,653 | 9,482 | 1,171 | Link | Link (key:1234) |
🎈 Training and Testing
Run the following commands for training & testing:
🐻 You need to download the pre-training weights and datasets firstly.
| Name | Google | BaiduYun | | -------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------ | | VOC07+12+COCO | yolov4_tiny_weights_voc.pth | yolov4_tiny_weights_voc.pth (key:1234) | | COCO-Train2017 | yolov4_tiny_weights_coco.pth | yolov4_tiny_weights_coco.pth (key:1234) |
# train MASFNet for RTTS dataset
python tools/voc_annotations.py
# VOCdevkit_path='the path of RTTS dataset', data_name='rtts'
modify the config.py
# data_name='rtts'
python train.py
# during training, the result will be saved in the logs-rtts
# eval MASFNet for RTTS dataset
python tools/get_map.py
# data_name='rtts,
# vocdevkit_path='the path of RTTS dataset'
# model_path = 'los-rtts/best_epoch_weights.pth'
python tools/fps.py
# compute the speed of model
python tools/predict.py
# try to predict the image in adverse weather
The steps are the same if training other datasets.
🔥Model Performance
| Method | Dataset | Params | FLOPs | FPS | mAP (%) | Google Drive | BaiduYun | | ------------ | -------- | ------ | ----- | --- | ------- | --------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | | MASFNet-Fog | RTTS | 6.0M | 10.7G | 152 | 73.68 | Link | Link (key:1234) | | MASFNet-Dark | ExDark | 6.0M | 10.7G | 125 | 63.80 | Link | Link (key:1234) | | MASFNet-Rain | VOC-Rain | 6.0M | 10.7G | 213 | 60.13 | Link | Link (key:1234) | | MASFNet-Snow | VOC-Snow | 6.0M | 10.7G | 214 | 59.52 | Link | Link (key:1234) |
🔗Citation
If this work is helpful for your research, please consider citing the following BibTeX entry.
@article{liu2025masfnet,
title={MASFNet: Multi-scale Adaptive Sampling Fusion Network for Object Detection in Adverse Weather},
author={Liu, Zhenbing and Fang, Tianle and Lu, Haoxiang and Zhang, Weidong and Lan, Rushi},
journal={IEEE Transactions on Geoscience and Remote Sensing},
year={2025},
publisher={IEEE}
}
📨 Contact
If you have any questions, please feel free to reach me out at polarisftl123@gmail.com
🌻 Acknowledgement
This code is based on YOLOv4-Tiny & DENet. Thanks for the awesome work.
Related Skills
node-connect
339.5kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
339.5kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.9kCommit, push, and open a PR
