qianyu-dlut / MVANet

MIT License
109 stars 11 forks source link

MVANet

The official repo of the CVPR 2024 paper (Highlight), Multi-view Aggregation Network for Dichotomous Image Segmentation

PWC PWC PWC PWC
PWC

Introduction

Dichotomous Image Segmentation (DIS) has recently emerged towards high-precision object segmentation from high-resolution natural images. When designing an effective DIS model, the main challenge is how to balance the semantic dispersion of high-resolution targets in the small receptive field and the loss of high-precision details in the large receptive field. Existing methods rely on tedious multiple encoder-decoder streams and stages to gradually complete the global localization and local refinement.

Human visual system captures regions of interest by observing them from multiple views. Inspired by it, we model DIS as a multi-view object perception problem and provide a parsimonious multi-view aggregation network (MVANet), which unifies the feature fusion of the distant view and close-up view into a single stream with one encoder-decoder structure. Specifically, we split the high-resolution input images from the original view into the distant view images with global information and close-up view images with local details. Thus, they can constitute a set of complementary multi-view low-resolution input patches.

image

Moreover, two efficient transformer-based multi-view complementary localization and refinement modules (MCLM & MCRM) are proposed to jointly capturing the localization and restoring the boundary details of the targets.

image

We achieves state-of-the-art performance in terms of almost all metrics on the DIS benchmark dataset.

image

Here are some of our visual results:

image

I. Requiremets

  1. Clone this repository

    git clone git@github.com:qianyu-dlut/MVANet.git
    cd MVANet
  2. Install packages

conda create -n mvanet python==3.7
conda activate mvanet
pip install torch==1.10.1+cu102 torchvision==0.11.2+cu102 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu102/torch_stable.html 
pip install -U openmim
mim install mmcv-full==1.3.17
pip install -r requirements.txt

II. Training

  1. Download the pretrained model at Google Drive.
  2. Then, you can start training by simply run:
    python train.py

III. Testing

  1. Update the data path in config file ./utils/config.py (line 4~8)
  2. Replace the existing path with the path to your saved model in ./predict.py (line 14)

    You can also download our trained model at Google Drive.

  3. Start predicting by:
    python predict.py
  4. Change the predicted map path in ./test.py (line 17) and start testing:
    python test.py

You can get our prediction maps at Google Drive.

  1. You can get the FPS performance by running:
    python test_fps.py

To Do List

Citations

@article{yu2024multi,
  title={Multi-view Aggregation Network for Dichotomous Image Segmentation},
  author={Yu, Qian and Zhao, Xiaoqi and Pang, Youwei and Zhang, Lihe and Lu, Huchuan},
  journal={arXiv preprint arXiv:2404.07445},
  year={2024}
}