Scalable Simple Linear Iterative Clustering (SSLIC) Using a Generic and Parallel Approach

Lowekamp, Bradley1*,Chen, David,Yaniv, Ziv,Yoo, Terry
1.Lockheed Martin Contractor for Office of High Performance Computing and Communications National Library of Medicine
Abstract
Scalable Simple Linear Iterative Clustering (SSLIC) Using a Generic and Parallel Approach

Abstract

Superpixel algorithms have proven to be a useful initial step for segmentation and subsequent processing of images, reducing computational complexity by replacing the use of expensive per-pixel primitives with a higher-level abstraction, superpixels. They have been successfully applied both in the context of traditional image analysis and deep learning based approaches. In this work, we present a general- ized implementation of the simple linear iterative clustering (SLIC) superpixel algorithm that has been generalized for n-dimensional scalar and multi-channel images. Additionally, the standard iterative im- plementation is replaced by a parallel, multi-threaded one. We describe the implementation details and analyze its scalability using a strong scaling formulation. Quantitative evaluation is performed using a 3D image, the Visible Human cryosection dataset, and a 2D image from the same dataset. Results show good scalability with runtime gains even when using a large number of threads that exceeds the physical number of available cores (hyperthreading).

Keywords

SuperpixelsParallelPerformanceSegmentation
Manuscript
Source Code and Data

Source Code and Data

.circleciconfig.yml2.1 KB.gitignore288 B.travis.yml457 BCMakeLists.txt226 BCTestConfig.cmake230 BLICENSE11.1 KBREADME.rst1.4 KBappveyor.yml378 BdocInsightArticle.cls4.1 KBInsightJournal.ist220 BInsightJournal.sty35.2 KBInsightJournal.bib10.9 KBalgorithm.sty2.2 KBMakefile660 Balgorithmic.sty5.4 KBamssymb.sty14.9 KBdoubleWordCheck.pl410 Bfancyhdr.sty14.4 KBfloatflt.sty10.8 KBfncychap.sty10.1 KBimagesITKv5_speedup.eps48 KBITKv5_time.eps52.6 KBastronaut_sitk_slic.png420.1 KBastronaut_ski_slic.png424.6 KBbsub_slic_x59.png108.8 KBbsub_combined.png839.1 KBbsub_slic_y24.png179.9 KBbsub_slic_z2.png532.4 KBthread_speedup.eps30.6 KBthread_time.eps45.9 KBvh_slic_masked_110.png3.1 MBvh_slic_masked_110.jpg799.6 KBvh_slic_masked_1116.png2.8 MBvh_slic_masked_1116.jpg703.5 KBvh_slic_masked_487.png3.2 MBvh_slic_masked_487.jpg1003.3 KBitkSSLIC.tex66.7 KBtimes.sty857 BscriptsScalability Graphs and Analysis v5.ipynb346.2 KBScalability Graphs and Analysis.ipynb8.9 KBevaluation_ski.py1.5 KBperformance_vhm_lab.csv447 Bperformance_vhm_lab_100.csv3.7 KBperformance_vhm_lab_100_Platform-ITKv5.csv473 Bperformance_vhm_lab_100_Platform.csv475 Bperformance_vhm_lab_100_Pool-ITKv5.csv474 Bperformance_vhm_lab_100_Pool.csv473 Bperformance_vhm_lab_100_TBB-ITKv5.csv477 Bperformance_vhm_lab_100_TBB.csv472 Bvh3d_performance.py2.2 KBincludeitkSLICImageFilter.h8.5 KBitkSLICImageFilter.hxx29.2 KBsetup.py1.7 KBitk-module.cmake814 BtestCMakeLists.txt1.3 KBDataBaselineitkSLICImageFilterTest1.png24 KBitkSLICImageFilterTest3.png12 KBitkSLICImageFilterTest2.png15.6 KBInputVM1111Shrink-LAB.mha2.5 MBVM1111Shrink-RGB.png177.6 KBDockertest.sh442 BitkSLICImageFilterGTest.cxx5 KBitkSLICImageFilterTest.cxx4.2 KBwrappingCMakeLists.txt77 BitkSLICImageFilter.wrap601 B

Select a file to preview