Parallel k-Means Image Segmentation Using Sort, Scan and Connected Components on a GPU

  • Michael Backer
  • Jan Tünnermann
  • Bärbel Mertsching
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7686)


Image segmentation is required to run fast and without supervision to speed up subsequent processes such as object recognition or other high level tasks. General purpose computing on the GPU is a powerful tool to perform efficient image processing and has been applied to the image segmentation problem. However, state-of-the-art approaches still perform parts of the computations on the CPU requiring costly data exchange with the main memory. In this paper we suggest a fully unsupervised color image segmentation that runs completely on the GPU including the calculation of region features. We compare our results to a popular CPU-based and a recent GPU-based method and report a computation time advantage.


Image Segmentation Color Space Cluster Centroid Single Instruction Multiple Data Color Image Segmentation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    NVIDIA CUDA (Compute Unified Device Architecture) C - Programming Guide (2012),
  2. 2.
    Abramov, A., Kulvicius, T.: Real-time Image Segmentation on a GPU. In: Facing the Multicore Challenge, vol. 5, pp. 3–5 (2011)Google Scholar
  3. 3.
    Aziz, M.Z., Mertsching, B.: Fast and Robust Generation of Feature Maps for Region-based Visual Attention. IEEE Trans. on Image Proc. 17(5), 633–644 (2008)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Batcher, K.E.: Sorting Networks and Their Applications. In: Spring Joint Computer Conference, AFIPS 1968, New York, USA, pp. 307–314 (1968)Google Scholar
  5. 5.
    Bishop, C.M.: Pattern Recognition and Machine Learning (Information Science and Statistics), ch. 9, vol. 4, pp. 424–427. Springer (2007)Google Scholar
  6. 6.
    Cates, J.E., Lefohn, A.E., Whitaker, R.T.: GIST: An Interactive, GPU-based Level Set Segmentation Tool for 3D Medical Images. Medical Image Analysis 8(3), 217–231 (2004)CrossRefGoogle Scholar
  7. 7.
    Cheng, H.D., Jiang, X.H., Sun, Y., Wang, J.: Color Image Segmentation: Advances and Prospects. Pattern Recognition 34(12), 2259–2281 (2001)zbMATHCrossRefGoogle Scholar
  8. 8.
    Coleman, G.B., Andrews, H.C.: Image Segmentation by Clustering. IEEE 67, 773–785 (1979)CrossRefGoogle Scholar
  9. 9.
    Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms, 2nd edn., ch. 21, pp. 498–524. The MIT Press (2001)Google Scholar
  10. 10.
    Everingham, M., Van Gool, L., Williams, C.K.I., Winn, J., Zisserman, A.: The PASCAL Visual Object Classes Challenge 2007 (VOC 2007) (2007), Results,
  11. 11.
    Farivar, R., Rebolledo, D., Chan, E., Campbell, R.: A Parallel Implementation of K-Means Clustering on GPUs. In: PDPTA, pp. 1–6 (2008)Google Scholar
  12. 12.
    Felzenszwalb, P.F., Huttenlocher, D.P.: Efficient Graph-Based Image Segmentation. International Journal of Computer Vision 59(2), 167–181 (2004)CrossRefGoogle Scholar
  13. 13.
    Flynn, M.J.: Some Computer Organizations and Their Effectiveness. IEEE Transactions on Computers C-21(9), 948–960 (1972)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Fulkerson, B., Soatto, S.: Really Quick Shift: Image Segmentation on a GPU. In: ECCV Workshops, vol. i, pp. 8–11 (2010)Google Scholar
  15. 15.
    Hong-tao, B., Li-li, H., Dan-tong, O., Zhan-shan, L., He, L.: K-Means on Commodity GPUs with CUDA. CSIE 3, 651–655 (2009)Google Scholar
  16. 16.
    Kalentev, O., Rai, A., Kemnitz, S., Schneider, R.: Connected Component Labeling on a 2D Grid Using CUDA. Journal of Parallel and Distributed Computing 71, 615–620 (2011)CrossRefGoogle Scholar
  17. 17.
    Roberts, M., Packer, M., Sousa, M., Mitchell, J.R.: A Work-Efficient GPU Algorithm for Level Set Segmentation. In: Conference on High Performance Graphics, HPG 2010, pp. 123–132 (2010)Google Scholar
  18. 18.
    Sengupta, S., Harris, M., Garland, M.: Efficient Parallel Scan Algorithms for GPUs. NVIDIA Technical Report NVR-2008-003 66(1), 1–17 (2008)Google Scholar
  19. 19.
    Shalom, S.A.A., Dash, M., Tue, M.: Efficient K-Means Clustering Using Accelerated Graphics Processors. In: Song, I.-Y., Eder, J., Nguyen, T.M. (eds.) DaWaK 2008. LNCS, vol. 5182, pp. 166–175. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  20. 20.
    Soman, J., Kishore, K., Narayanan, P.J.: A Fast GPU Algorithm for Graph Connectivity. In: IPDPS Workshops, pp. 1–8 (2010)Google Scholar
  21. 21.
    Stone, J.E., Gohara, D., Shi, G.: OpenCL: A Parallel Programming Standard for Heterogeneous Computing Systems. Computing in Science & Engineering 12(3), 66–73 (2010)CrossRefGoogle Scholar
  22. 22.
    Tomasi, C., Manduchi, R.: Bilateral Filtering for Gray and Color Images. In: ICCV, pp. 839–846 (1998)Google Scholar
  23. 23.
    Tünnermann, J., Mertsching, B.: Continuous Region-based Processing of Spatiotemporal Saliency. In: VISAPP, pp. 230–239 (2012)Google Scholar
  24. 24.
    Vedaldi, A., Soatto, S.: Quick Shift and Kernel Methods for Mode Seeking. In: Forsyth, D., Torr, P., Zisserman, A. (eds.) ECCV 2008, Part IV. LNCS, vol. 5305, pp. 705–718. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  25. 25.
    Zechner, M., Granitzer, M.: Accelerating K-Means on the Graphics Processor via CUDA. In: INTENSIVE, pp. 7–15 (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Michael Backer
    • 1
  • Jan Tünnermann
    • 1
  • Bärbel Mertsching
    • 1
  1. 1.GET LabUniversity of PaderbornPaderbornGermany

Personalised recommendations