Topograph: An efficient Graph-Based Framework for Strictly Topology Preserving Image Segmentation

Laurin Lux, Alexander H. Berger, Alexander Weers, Nico Stucki, Daniel Rueckert +2 more
11/5/2024
cs.CVcs.LG

No official code found. Best implementation: AlexanderHBerger/Topograph (28 stars, MIT, last commit 2024-10-02).

Abstract

Topological correctness plays a critical role in many image segmentation tasks, yet most networks are trained using pixel-wise loss functions, such as Dice, neglecting topological accuracy. Existing topology-aware methods often lack robust topological guarantees, are limited to specific use cases, or impose high computational costs. In this work, we propose a novel, graph-based framework for topologically accurate image segmentation that is both computationally efficient and generally applicable. Our method constructs a component graph that fully encodes the topological information of both the prediction and ground truth, allowing us to efficiently identify topologically critical regions and aggregate a loss based on local neighborhood information. Furthermore, we introduce a strict topological metric capturing the homotopy equivalence between the union and intersection of prediction-label pairs. We formally prove the topological guarantees of our approach and empirically validate its effectiveness on binary and multi-class datasets. Our loss demonstrates state-of-the-art performance with up to fivefold faster loss computation compared to persistent homology methods.

View on arXivView PDF

Code Implementations(1)

MIT

Official Implementation of the topograph method for topology-preserving image segmentation.

280C++, PythonOct 1, 20242 years agoMIT

Similar Papers

Cite this paper

@article{lux2024topograph,
  title  = {Topograph: An efficient Graph-Based Framework for Strictly Topology Preserving Image Segmentation},
  author = {Laurin Lux and Alexander H. Berger and Alexander Weers and Nico Stucki and Daniel Rueckert and Ulrich Bauer and Johannes C. Paetzold},
  year   = {2024},
  eprint = {2411.03228},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2411.03228v2},
  journal = {ICLR 2024 2024}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2411.03228.svg)](https://codeofpaper.com/paper/2411.03228)

Discussion