Skip to content

wangtong627/CMSA-Net

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🩺 CMSA-Net (MICCAI 2026)

Causal Multi-scale Aggregation with Adaptive Multi-source Reference for Video Polyp Segmentation


Tong Wang¹², Yaolei Qi¹, Siwen Wang², Imran Razzak², Guanyu Yang¹✉, Yutong Xie²✉

¹ Southeast University, China
² Mohamed bin Zayed University of Artificial Intelligence (MBZUAI), UAE

✉ Corresponding Author


arXiv Checkpoint Checkpoint Prediction Maps Prediction Maps

📢 News

  • [May, 2026] CMSA-Net has been accepted as a MICCAI 2026 Early Accept paper.
  • [Feb, 2026] Released prediction results for both PVT-V2-B2 and Res2Net50 backbones.
  • [Feb, 2026] CMSA-Net is available on arXiv.

📌 Abstract

Video polyp segmentation (VPS) is an important task in computer-aided colonoscopy, as it helps doctors accurately locate and track polyps during examinations. However, VPS remains challenging because polyps often look similar to surrounding mucosa, leading to weak semantic discrimination. In addition, large changes in polyp position and scale across video frames make stable and accurate segmentation difficult.

To address these challenges, we propose a robust VPS framework named CMSA-Net. The proposed network introduces a Causal Multi-scale Aggregation (CMA) module to effectively gather semantic information from multiple historical frames at different scales. By using causal attention, CMA ensures that temporal feature propagation follows strict time order, which helps reduce noise and improve feature reliability.

Furthermore, we design a Dynamic Multi-source Reference (DMR) strategy that adaptively selects informative and reliable reference frames based on semantic separability and prediction confidence. This strategy provides strong multi-frame guidance while keeping the model efficient for real-time inference.

Extensive experiments on the SUN-SEG dataset demonstrate that CMSA-Net achieves state-of-the-art performance, offering a favorable balance between segmentation accuracy and real-time clinical applicability.

🏗️ Framework Overview

Framework

Figure: Framework Overview.

📊 Experimental Results

Qualitative Results

Qualitative Results

Figure: Qualitative comparison of CMSA-Net against other SOTA methods.

Quantitative Comparison on SUN-SEG Dataset

Complete quantitative results on the SUN-SEG benchmark. Bold indicates the best performance.

Table 1. Quantitative comparison on SUN-SEG-Easy-Seen dataset.

Method Publication Backbone Sα↑ Eφ↑ Fβ↑ Dice↑ IoU↑ MAE↓
COSNet TPAMI'19 - 84.5 83.6 72.7 73.0 64.8 3.4
PCSA AAAI'20 - 85.2 83.5 68.1 70.9 60.4 3.9
2/3D MICCAI'20 - 89.5 90.9 81.9 82.9 75.6 2.1
PraNet MICCAI'20 R2-50 91.8 94.2 87.7 88.3 82.5 2.0
ACSNet MICCAI'20 R-34 92.0 94.2 87.4 88.2 82.8 1.7
SANet MICCAI'21 R2-50 91.6 93.3 86.6 87.2 82.0 1.8
SEPNet TCSVT'24 PVTv2-B2 93.1 96.2 88.3 89.6 83.4 1.7
PNS MICCAI'21 R2-50 90.6 91.0 83.6 84.1 78.3 2.0
PNS+ MIR'22 R2-50 91.7 92.5 84.8 85.5 78.7 2.1
MAST Arxiv'24 PVTv2-B2 92.5 96.2 87.8 89.3 82.7 1.6
SALI MICCAI'24 PVTv2-B2 90.2 93.2 84.9 85.8 78.9 2.4
SALI MICCAI'24 PVTv2-B5 90.7 93.7 85.1 86.2 79.6 2.2
STDDNet ICCV'25 R2-50 93.5 96.0 89.7 90.5 85.0 1.5
STDDNet ICCV'25 PVTv2-B2 94.1 96.9 90.5 91.5 86.1 1.4
Ours - R2-50 94.5 97.3 90.5 91.9 86.5 1.2
Ours - PVTv2-B2 95.1 97.5 91.6 92.6 87.6 1.1

Table 2. Quantitative comparison on SUN-SEG-Easy-Unseen dataset.

Method Publication Backbone Sα↑ Eφ↑ Fβ↑ Dice↑ IoU↑ MAE↓
COSNet TPAMI'19 - 65.4 60.0 43.1 42.3 34.2 7.3
PCSA AAAI'20 - 68.0 66.0 45.1 45.0 35.3 7.8
2/3D MICCAI'20 - 78.6 77.7 65.2 65.6 57.0 4.4
PraNet MICCAI'20 R2-50 78.1 78.8 66.3 66.5 58.2 5.2
ACSNet MICCAI'20 R-34 77.2 76.6 63.0 63.8 56.4 4.6
SANet MICCAI'21 R2-50 75.0 72.8 59.0 59.3 52.4 5.2
SEPNet TCSVT'24 PVTv2-B2 82.9 88.3 73.5 75.1 66.6 4.2
PNS MICCAI'21 R2-50 76.7 74.4 61.6 61.8 54.5 4.8
PNS+ MIR'22 R2-50 80.6 79.8 67.6 67.8 59.1 4.4
MAST Arxiv'24 PVTv2-B2 83.2 89.4 74.9 77.0 67.4 3.7
SALI MICCAI'24 PVTv2-B2 73.1 75.2 58.7 59.2 50.2 6.3
SALI MICCAI'24 PVTv2-B5 77.1 82.1 64.6 65.6 56.8 5.5
STDDNet ICCV'25 R2-50 81.7 83.0 72.1 72.4 64.3 3.7
STDDNet ICCV'25 PVTv2-B2 86.0 90.3 78.6 80.1 72.4 3.4
Ours - R2-50 84.4 90.1 75.3 77.5 69.2 3.5
Ours - PVTv2-B2 86.7 90.3 79.3 80.3 72.6 2.9

Table 3. Quantitative comparison on SUN-SEG-Hard-Seen dataset.

Method Publication Backbone Sα↑ Eφ↑ Fβ↑ Dice↑ IoU↑ MAE↓
COSNet TPAMI'19 - 78.5 77.2 62.6 63.3 54.1 4.6
PCSA AAAI'20 - 77.2 75.9 56.6 58.5 47.9 5.7
2/3D MICCAI'20 - 84.9 86.9 75.3 76.4 67.1 3.5
PraNet MICCAI'20 R2-50 88.4 91.9 83.1 83.9 76.6 3.1
ACSNet MICCAI'20 R-34 87.2 91.0 80.6 82.0 74.8 3.6
SANet MICCAI'21 R2-50 87.4 90.5 81.0 82.0 74.8 3.3
SEPNet TCSVT'24 PVTv2-B2 89.4 94.0 83.5 85.7 77.6 3.4
PNS MICCAI'21 R2-50 87.0 89.2 78.7 79.6 72.1 3.3
PNS+ MIR'22 R2-50 88.7 90.2 80.6 81.3 72.8 3.0
MAST Arxiv'24 PVTv2-B2 89.2 94.2 83.2 85.3 76.7 2.6
SALI MICCAI'24 PVTv2-B2 86.8 90.9 79.9 81.0 72.6 3.4
SALI MICCAI'24 PVTv2-B5 86.6 91.0 79.7 81.0 72.9 3.8
STDDNet ICCV'25 R2-50 91.3 95.2 86.9 88.1 81.0 2.3
STDDNet ICCV'25 PVTv2-B2 91.1 95.0 86.0 87.8 80.6 2.8
Ours - R2-50 92.7 96.1 87.1 89.8 83.0 1.8
Ours - PVTv2-B2 92.3 95.6 87.1 88.9 82.1 1.9

Table 4. Quantitative comparison on SUN-SEG-Hard-Unseen dataset.

Method Publication Backbone Sα↑ Eφ↑ Fβ↑ Dice↑ IoU↑ MAE↓
COSNet TPAMI'19 - 67.0 62.7 44.3 43.8 35.3 7.0
PCSA AAAI'20 - 68.2 66.0 44.2 45.0 35.1 8.0
2/3D MICCAI'20 - 78.6 77.5 63.4 64.4 55.8 4.4
PraNet MICCAI'20 R2-50 78.7 80.2 66.7 67.5 58.7 5.3
ACSNet MICCAI'20 R-34 76.2 77.6 61.0 62.4 54.7 5.3
SANet MICCAI'21 R2-50 75.3 73.6 59.0 59.5 52.7 5.5
SEPNet TCSVT'24 PVTv2-B2 84.7 89.5 74.5 77.4 68.4 3.9
PNS MICCAI'21 R2-50 76.7 75.5 60.9 61.5 53.9 5.0
PNS+ MIR'22 R2-50 79.8 79.3 65.4 66.1 57.1 5.0
MAST Arxiv'24 PVTv2-B2 85.6 91.3 77.2 79.9 70.8 3.1
SALI MICCAI'24 PVTv2-B2 72.8 75.9 56.9 57.9 48.7 6.8
SALI MICCAI'24 PVTv2-B5 76.5 81.3 62.0 63.6 54.7 5.7
STDDNet ICCV'25 R2-50 83.4 85.6 74.1 75.0 67.3 3.7
STDDNet ICCV'25 PVTv2-B2 86.3 90.2 78.1 80.2 72.2 3.5
Ours - R2-50 85.1 89.8 75.0 78.0 69.5 3.6
Ours - PVTv2-B2 87.3 91.0 79.6 81.3 73.7 2.9

All scores are in percentage (%).

📂 Download Resources

We provide pretrained backbone weights, CMSA-Net model checkpoints, and predicted maps for reproducibility and comparison.

OneDrive

Resource PVT-V2-B2 Res2Net50
Backbone weights Download Download
Model checkpoints Download Download
Predicted maps Download Download

Google Drive

Resource PVT-V2-B2 Res2Net50
Backbone weights Download Download
Model checkpoints Download Download
Predicted maps Download Download

🛠️ Installation & Usage

Following are the steps to set up the environment and use the project code.

1. Prerequisites of Environment

We recommend using Anaconda to manage the environment. The code has been tested with Python 3.10, CUDA 11.8, PyTorch 2.1.1, and Torchvision 0.16.1.

  1. Create and activate the Conda environment:
conda create -n CMSANet python=3.10
conda activate CMSANet
  1. Install PyTorch and Torchvision with CUDA 11.8:
pip install torch==2.1.1+cu118 torchvision==0.16.1+cu118 --extra-index-url https://download.pytorch.org/whl/cu118

The corresponding wheel files are:

torch-2.1.1+cu118-cp310-cp310-linux_x86_64.whl
torchvision-0.16.1+cu118-cp310-cp310-linux_x86_64.whl
  1. Install other dependencies:
pip install numpy==1.26.0 \
        timm==0.5.4 \
        opencv-python==4.7.0.72 \
        scipy \
        tqdm \
        scikit-learn \
        tensorboard \
        six \
        Pillow

2. Prepare Data and Weights

Download the SUN-SEG dataset and place it under the project data directory, for example:

cmsa_project/data/SUN-SEG/

Download pretrained backbone weights and CMSA-Net checkpoints from the links above. By default, the scripts expect checkpoints under:

cmsa_project/snapshot/

3. Training

To train CMSA-Net, run:

python cmsa_project/scripts/my_train.py

Before training, please check cmsa_project/scripts/config.py and adjust dataset paths, GPU id, batch size, and output directory as needed.

4. Testing

To test CMSA-Net with a pretrained checkpoint, run:

python cmsa_project/scripts/my_test.py

By default, the testing script uses:

cmsa_project/snapshot/pvtv2b2/ckpt_epoch_005.pth

You can edit model_path and save_dir in cmsa_project/scripts/my_test.py to evaluate different checkpoints or save predictions to a different folder.

5. Evaluation

To evaluate prediction maps, run:

python cmsa_project/eval/vps_evaluator.py

Please make sure the ground-truth path and prediction path are correctly configured before running evaluation.

📰 Code

The main structure of the project is as follows.

- README.md
- cmsa_project
    - scripts
        - config.py
        - my_train.py
        - my_test.py
    - lib
        - backbone
            - CompressEncoder.py
            - Decoder.py
            - LightRFB.py
            - Res2Net_v1b.py
            - pvt_v2.py
        - dataloader
            - __init__.py
            - dataloader.py
            - preprocess.py
            - statistics.pth
        - model_arch
            - cmsa_net.py
            - misc_blocks.py
        - utils
            - __init__.py
            - utils.py
    - eval
        - dice_score.py
        - metrics.py
        - vps_evaluator.py
    - snapshot
        - pvtv2b2
        - r250

📖 Citation

If you find this work useful, please consider citing:

@article{wang2026cmsanet,
  title={CMSA-Net: Causal Multi-scale Aggregation with Adaptive Multi-source Reference for Video Polyp Segmentation},
  author={Tong Wang and Yaolei Qi and Siwen Wang and Imran Razzak and Guanyu Yang and Yutong Xie},
  journal={arXiv preprint arXiv:2602.22821},
  year={2026}
}

About

This repository contains the source code for CMSA-Net (MICCAI 2026 Early Accept).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages