Fast and Compact Graph Cuts for the Boykov-Kolmogorov Algorithm
About
Computing a minimum $s$-$t$ cut in a graph is a solution to a wide range of computer vision problems, and is often done using the Boykov-Kolmogorov (BK) algorithm. In this paper, we revisit the BK algorithm from both a theoretical and practical point of view. We improve the analysis of the time complexity of the BK algorithm to $O(mn|C|)$ and propose a new algorithm, the fast and compact BK (fcBK) algorithm, with a time complexity of $O(m|C|)$, where $m$, $n$, and $|C|$ are the number of edges, number of vertices, and the capacity of the cut, respectively. We additionally propose a compact graph representation that allows our implementation to find a minimum $s$-$t$ cut in a graph with upwards of $10^9$ vertices and $10^{10}$ edges on a machine with 128 GB of memory. We find our implementation of the BK algorithm to be the fastest available implementation of the BK algorithm when evaluating on a comprehensive set of benchmark datasets, highlighting the importance of memory-efficient implementations. We make our implementations publicly available for further research and implementation development within minimum $s$-$t$ cut algorithms.
Related benchmarks
| Task | Dataset | Result | Rank | |
|---|---|---|---|---|
| 3D segmentation: oriented MRF | vessel orimrf 256 | Solve Time (s)0.41 | 5 | |
| 3D segmentation: separating surfaces | cells sd3 | Solve Time (s)21.01 | 5 | |
| 3D segmentation: sparse layered graphs (SLG) | 4Dpipe small | Solve Time (h)1.75 | 5 | |
| 3D segmentation: voxel-based | adhead n26c100 | Solve Time (s)17.08 | 5 | |
| 3D segmentation: voxel-based | adhead n6c100 | Solve Time (s)5.16 | 5 | |
| 3D U-Net segmentation cleaning | orimrf clean 256 | Solve Time (s)0.2 | 5 | |
| Decision tree field (DTF) | printed-graph 1 | Solve Time (s)0.17 | 5 | |
| Deconvolution | graph3x3 | Solve Time (ms)1 | 5 | |
| Mesh Segmentation | bunny segment | Solve Time (ms)38 | 5 | |
| Multi-view | BL06 camel-lrg | Solve Time (s)20.75 | 5 |