Image Segmentation
Keras
ONNX
English
tensorflow
medical-imaging
segmentation
in-context-learning
interactive-segmentation
ct
mri
Instructions to use machauer-p/lisp-net with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Keras
How to use machauer-p/lisp-net with Keras:
# Available backend options are: "jax", "torch", "tensorflow". import os os.environ["KERAS_BACKEND"] = "jax" import keras model = keras.saving.load_model("hf://machauer-p/lisp-net") - Notebooks
- Google Colab
- Kaggle
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,3 +1,75 @@
|
|
| 1 |
---
|
|
|
|
| 2 |
license: mit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
---
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
language: en
|
| 3 |
license: mit
|
| 4 |
+
tags:
|
| 5 |
+
- medical-imaging
|
| 6 |
+
- segmentation
|
| 7 |
+
- in-context-learning
|
| 8 |
+
- interactive-segmentation
|
| 9 |
+
- tensorflow
|
| 10 |
+
- keras
|
| 11 |
+
- ct
|
| 12 |
+
- mri
|
| 13 |
+
- onnx
|
| 14 |
+
library_name: tensorflow
|
| 15 |
+
pipeline_tag: image-segmentation
|
| 16 |
---
|
| 17 |
+
|
| 18 |
+
# LISP-Net — Lightweight In-Context Slice Propagator Network
|
| 19 |
+
|
| 20 |
+
LISP-Net is a lightweight, purely convolutional framework for interactive volumetric medical image segmentation. Instead of sparse clicks, it uses a single dense 2D prompt — a reference image paired with a full mask — to derive structural guidance directly from the individual patient.
|
| 21 |
+
|
| 22 |
+
## Model Details
|
| 23 |
+
|
| 24 |
+
- **Architecture:** Asymmetrical dual-encoder U-Net with multi-resolution SE channel-attention
|
| 25 |
+
- **Parameters:** ~28M
|
| 26 |
+
- **Input:** Query image (128×128) + Prompt (reference image + binary mask, stacked as 2 channels)
|
| 27 |
+
- **Output:** Binary segmentation probability map (128×128)
|
| 28 |
+
- **Training data:** 208 patients across 7 datasets (NAKO, TotalSegmentator, MSD, BraTS-GLI, BraTS-MEN-RT, TopCoW MR, TopCoW CT)
|
| 29 |
+
|
| 30 |
+
## Performance
|
| 31 |
+
|
| 32 |
+
| Benchmark | vs. | Result |
|
| 33 |
+
|-----------|-----|--------|
|
| 34 |
+
| 2D (offset ±5) | UniverSeg | 0.798 vs. 0.597 DSC |
|
| 35 |
+
| 2D (offset ±12) | UniverSeg | 0.704 vs. 0.569 DSC |
|
| 36 |
+
| 3D (SSF only) | nnInteractive | 0.665 vs. 0.705 Vol. DSC |
|
| 37 |
+
| 3D (interactive) | nnInteractive | 0.879 vs. 0.810 Vol. DSC |
|
| 38 |
+
|
| 39 |
+
Peak GPU memory: 164–362 MB. Per-slice latency: ~14 ms (GPU) / ~150 ms (CPU).
|
| 40 |
+
|
| 41 |
+
## Usage
|
| 42 |
+
|
| 43 |
+
### Python (Keras)
|
| 44 |
+
|
| 45 |
+
```python
|
| 46 |
+
from inference.predictor import PromptUNetPredictor
|
| 47 |
+
|
| 48 |
+
# Downloads from Hugging Face automatically on first use
|
| 49 |
+
predictor = PromptUNetPredictor("Machauer-P/lisp-net")
|
| 50 |
+
|
| 51 |
+
mask = predictor.predict(query_image, prompt)
|
| 52 |
+
```
|
| 53 |
+
|
| 54 |
+
### ONNX (Browser / ONNX Runtime)
|
| 55 |
+
|
| 56 |
+
Download `lisp_net_332.onnx` and use with ONNX Runtime or integrate into a web application.
|
| 57 |
+
|
| 58 |
+
## Intended Use
|
| 59 |
+
|
| 60 |
+
- Interactive volumetric segmentation of CT and MRI
|
| 61 |
+
- Zero-shot generalization to novel anatomical targets without retraining
|
| 62 |
+
- Clinical research and annotation workflows
|
| 63 |
+
|
| 64 |
+
## Limitations
|
| 65 |
+
|
| 66 |
+
- Requires a full 2D dense annotation as initial prompt (higher upfront effort than sparse clicks)
|
| 67 |
+
- Optimized for medium-range propagation (offset ≤16 slices); distant slices may need prompt refreshes
|
| 68 |
+
|
| 69 |
+
## License
|
| 70 |
+
|
| 71 |
+
MIT
|
| 72 |
+
|
| 73 |
+
## Citation
|
| 74 |
+
|
| 75 |
+
Paper forthcoming. See [Machauer-P/lisp-net](https://github.com/Machauer-P/lisp-net) for updates.
|