XiaoBuL / CM-UNet

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CM-UNet: Hybrid CNN-Mamba UNet for Remote Sensing Image Semantic Segmentation

Introduction

Official implementation of the paper CM-UNet: Hybrid CNN-Mamba UNet for Remote Sensing Image Semantic Segmentation

Datasets

Folder Structure

├── CM-UNet (code)
├── data
│   ├── LoveDA
│   │   ├── Train
│   │   │   ├── Urban
│   │   │   │   ├── images_png (original images)
│   │   │   │   ├── masks_png (original masks)
│   │   │   │   ├── masks_png_convert (converted masks used for training)
│   │   │   │   ├── masks_png_convert_rgb (original rgb format masks)
│   │   │   ├── Rural
│   │   │   │   ├── images_png 
│   │   │   │   ├── masks_png 
│   │   │   │   ├── masks_png_convert
│   │   │   │   ├── masks_png_convert_rgb
│   │   ├── Val (the same with Train)
│   ├── vaihingen
│   │   ├── train_images (original)
│   │   ├── train_masks (original)
│   │   ├── test_images (original)
│   │   ├── test_masks (original)
│   │   ├── test_masks_eroded (original)
│   │   ├── train (processed)
│   │   ├── test (processed)
│   ├── potsdam (the same with vaihingen)

Install

conda create -n RS python==3.8
conda install cudatoolkit==11.8 -c nvidia
pip install torch==1.10.0+cu111 torchvision==0.11.0+cu111 torchaudio==0.10.0 -f https://download.pytorch.org/whl/torch_stable.html
conda install -c "nvidia/label/cuda-11.8.0" cuda-nvcc
conda install packaging
cd CM-UNet
pip install -r requirements.txt
cd geoseg/Mamba-UNet
cd mamba
python setup.py install
cd ../ ; cd causal-conv1d
python setup.py install

RUN

bash run_loveda.sh ${GPUID}

Results

  • Framework (CM-UNet)

  • Results on Potsdam

  • Results on Vaihingen

  • Results on LoveDA

Acknowledgement

Many thanks the following projects's contributions to CM-UNet.

About


Languages

Language:Python 90.1%Language:Cuda 7.0%Language:C++ 2.6%Language:C 0.3%Language:Shell 0.1%