Table of Contents
Fetching ...

GridOT -- a discrete optimal transport solver on grids

Johannes Rauch, Leo Zanotti

TL;DR

The paper addresses discrete optimal transport on grids with the squared Euclidean cost, a problem relevant to image processing. It introduces a high-performance C++ implementation of Schmitzer's sparse multi-scale solver, leveraging a modified network simplex from the LEMON library and internal neighborhood updates to avoid restarts. The main contributions are a memory-safe, template-based design that achieves roughly 2–4× speedups on the DOTmark benchmark and an open-source release. This work demonstrates practical gains for grid-based OT and provides a foundation for extending sparse, multi-scale techniques to other geometries and cost functions.

Abstract

We provide an improved implementation of Schmitzer's sparse multi-scale algorithm for discrete optimal transport on grids. We report roughly 2-4 times faster runtimes on the DOTmark benchmark. The source code is open source and publicly available.

GridOT -- a discrete optimal transport solver on grids

TL;DR

The paper addresses discrete optimal transport on grids with the squared Euclidean cost, a problem relevant to image processing. It introduces a high-performance C++ implementation of Schmitzer's sparse multi-scale solver, leveraging a modified network simplex from the LEMON library and internal neighborhood updates to avoid restarts. The main contributions are a memory-safe, template-based design that achieves roughly 2–4× speedups on the DOTmark benchmark and an open-source release. This work demonstrates practical gains for grid-based OT and provides a foundation for extending sparse, multi-scale techniques to other geometries and cost functions.

Abstract

We provide an improved implementation of Schmitzer's sparse multi-scale algorithm for discrete optimal transport on grids. We report roughly 2-4 times faster runtimes on the DOTmark benchmark. The source code is open source and publicly available.

Paper Structure

This paper contains 7 sections, 3 equations, 8 figures, 1 algorithm.

Figures (8)

  • Figure 1: The average runtimes in each dataset category and dimension from $32 \times 32$ to $128 \times 128$ together with the speedup factor. The red squares indicate the average runtimes of Schmitzer's solver while the blue dots correspond to the runtimes of our solver. The thick line illustrates the speedup factor.
  • Figure 2: Boxplots of the averaged runtimes for each pair in each dataset category and each dimension from $32 \times 32$ to $128 \times 128$. The runtimes of Schmitzer's solver are red while the runtimes of our solver are blue.
  • Figure :
  • Figure :
  • Figure :
  • ...and 3 more figures