In this work, we propose an efficient algorithm for the calculation of the Betti matching, which can be used as a loss function to train topology aware segmentation networks. Betti matching loss builds on techniques from topological data analysis, specifically persistent homology. A major challenge is the computational cost of computing persistence barcodes. In response to this challenge, we propose a new, highly optimized implementation of Betti matching, implemented in C++ together with a python interface, which achieves significant speedups compared to the state-of-the-art implementation Cubical Ripser. We use Betti matching 3D to train segmentation networks with the Betti matching loss and demonstrate improved topological correctness of predicted segmentations across several datasets. The source code is available at https://github.com/nstucki/Betti-Matching-3D.
翻译:本文提出一种高效计算Betti匹配的算法,该算法可作为损失函数用于训练具备拓扑感知能力的分割网络。Betti匹配损失建立在拓扑数据分析技术基础上,特别是持续同调方法。主要挑战在于计算持续性条形码的计算成本较高。针对这一挑战,我们提出了一种全新高度优化的Betti匹配实现方案,采用C++编程语言开发并配备Python接口,相较于当前最先进的Cubical Ripser实现获得了显著的加速效果。我们利用Betti匹配三维技术,通过Betti匹配损失函数训练分割网络,并在多个数据集上证明了预测分割结果拓扑正确性的提升。源代码已发布于https://github.com/nstucki/Betti-Matching-3D。