🧠 GroupKAN: Rethinking Nonlinearity with Grouped Spline-based KAN Modeling for Efficient Medical Image Segmentation
📌 Official PyTorch implementation of GroupKAN: Rethinking Nonlinearity with Grouped Spline-based KAN Modeling for Efficient Medical Image Segmentation
GroupKAN revisits the design of nonlinear representations in medical image segmentation by introducing grouped spline-based functional modeling.
It integrates two novel components — Grouped KAN Transform (GKT) and Grouped KAN Activation (GKA) — into a lightweight and interpretable U-shaped backbone.
Figure 1. Overall architecture of GroupKAN. The Grouped KAN Transform and Activation efficiently model intra-group dependencies with learnable spline functions.
-
🔹 Efficient Grouped Nonlinearity:
Splits features into groups and applies spline-based transformations, reducing full-channel complexity from O(C²) to O(C²/G). -
🔹 Interpretable Functional Mapping:
Each group learns localized nonlinearities, providing clearer feature attribution in medical segmentation. -
🔹 Compact Yet Powerful:
Achieves +1.1% IoU gain over U-KAN with 47.6% fewer parameters (3.02M vs. 6.35M).
Figure 2. Accuracy–complexity comparison across models. GroupKAN achieves better accuracy with nearly half the parameters of U-KAN.
| Model | Params (M) | GFLOPs | Avg. IoU ↑ | Avg. F1 ↑ |
|---|---|---|---|---|
| U-Net | 31.04 | 436.9 | 75.84 | 85.37 |
| U-KAN | 6.35 | 14.02 | 78.69 | 87.26 |
| GroupKAN (Ours) | 3.02 | 7.72 | 79.80 | 88.07 |
Figure 3. GroupKAN produces more accurate and sharper segmentation results across BUSI, GlaS, and CVC datasets.
GroupKAN exhibits improved activation–mask alignment and interpretable feature distributions compared with U-KAN.
Figure 4. Activation maps align more closely with anatomical boundaries, showing improved interpretability.
git clone https://github.com/GroupKAN/GroupKAN.git
cd GroupKAN
conda create -n groupkan python=3.10
conda activate groupkan
pip install -r requirements.txtpython train.py --dataset busi --input_size 256 --epochs 400 --batch_size 8python val.py --weights checkpoints/groupkan_best.pth --dataset glas| Dataset | Image Size | Params (M) | IoU (%) | F1 (%) | Checkpoint |
|---|---|---|---|---|---|
| BUSI | 256×256 | 3.02 | 67.66 | 80.52 | KANet_Busi |
| GlaS | 512×512 | 3.02 | 88.11 | 93.67 | KANet_GLAS |
| CVC | 256×256 | 3.02 | 87.15 | 93.09 | KANet_CVC |
- Release segmentation code
- Release pre-trained checkpoints
- Add demo and visualization scripts
This work is inspired by U-KAN
and the Kolmogorov–Arnold Network (KAN).
We thank the open-source community for their valuable contributions.
For questions and collaborations, please reach out to
Guojie Li ([email protected]).



