File size: 2,220 Bytes
e7659ff
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
---
license: apache-2.0
tags:
  - medical-image-segmentation
  - mamba
  - unet
  - pytorch
datasets:
  - synapse
---

# LGFVM-UNet — Synapse Multi-organ Segmentation

Implementation of **"A Local-Global Fusion Vision Mamba UNet Framework for Medical Image Segmentation"**
published in *Engineering Applications of Artificial Intelligence* (2026).

## Model Description

LGFVM-UNet combines:
- **LGF-VSS block**: parallel multi-scale convolutions + Mamba SSM fused via QuadGate dynamic gating
- **MCFB**: Multi-level Cross-scale Feature Fusion Block with spatial-channel dual attention
- **Adaptive Hierarchical Loss**: gradient statistics-based dynamic supervision weighting

## Performance on Synapse Multi-organ Dataset

| Method | DSC (%) ↑ | HD95 ↓ |
|--------|-----------|--------|
| UNet | 71.98 | 22.39 |
| TransUNet | 82.42 | 25.54 |
| MSVM-UNet | 87.41 | 8.91 |
| **LGFVM-UNet (paper)** | **88.74** | **6.65** |

## Training Config

- Optimizer: AdamW (lr=1e-4, weight_decay=1e-4)
- Batch size: 32
- Epochs: 200 (early stopping patience=15)
- Scheduler: CosineAnnealingLR
- Input size: 224×224
- GPU: NVIDIA RTX 4090

## Usage

```python
import torch
from models.vmunet.vmunet import LGFVMUNet

model = LGFVMUNet(
    num_classes=9,
    input_channels=3,
    depths=[2, 2, 2, 2],
    depths_decoder=[2, 2, 2, 1],
    drop_path_rate=0,
    use_full_scale_skip=True,
)

checkpoint = torch.load("best_model.pth", map_location="cpu")
model.load_state_dict(checkpoint)
model.eval()

# Input: (B, 3, 224, 224)
# Output: (B, 9, 224, 224) logits
with torch.no_grad():
    logits, _ = model(image)
    pred = torch.argmax(torch.softmax(logits, dim=1), dim=1)
```

## Citation

```bibtex
@article{li2026lgfvmunet,
  title={A Local-Global Fusion Vision Mamba UNet Framework for medical image segmentation},
  author={Li, Yanbo and Mao, Zihan and Qin, Feiwei and Peng, Yong and Zhang, Guodao and Xi, Xugang and Ma, Xiaoqin and Yu, Huanhuan and Zhou, Yu and Zhu, Zhu},
  journal={Engineering Applications of Artificial Intelligence},
  volume={169},
  pages={113987},
  year={2026},
  publisher={Elsevier}
}
```

## Source Code

[https://github.com/NicoleDyson/LGFVM-UNet](https://github.com/NicoleDyson/LGFVM-UNet)