Real-Time Online Video Object Silhouette Extraction Using Graph Cuts on the GPU

  • Zachary A. Garrett
  • Hideo Saito
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5716)


Being able to find the silhouette of an object is a very important front-end processing step for many high-level computer vision techniques, such as Shape-from-Silhouette 3D reconstruction methods, object shape tracking, and pose estimation. Graph cuts have been proposed as a method for finding very accurate silhouettes which can be used as input to such high level techniques, but graph cuts are notoriously computation intensive and slow. Leading CPU implementations can extract a silhouette from a single QVGA image in 100 milliseconds, with performance dramatically decreasing with increased resolution. Recent GPU implementations have been able to achieve performance of 6 milliseconds per image by exploiting the intrinsic properties of the lattice graphs and the hardware model of the GPU. However, these methods are restricted to a subclass of lattice graphs and are not generally applicable. We propose a novel method for graph cuts on the GPU which places no limits on graph configuration and which is able to achieve comparable real-time performance in online video processing scenarios.


Graph Construction Online Video Lattice Graph Graphic Processor Current Vertex 
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.


  1. 1.
    Goldberg, A.V., Tarjan, R.E.: A new approach to the maximum flow problem. Journal of the ACM 35, 921–940 (1988)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Greig, D.M., Porteous, B.T., Seheult, A.H.: Exact maximum a posteriori estimation for binary images. Journal of the Royal Statistical Society 51(2), 271–279 (1989)Google Scholar
  3. 3.
    Boykov, Y., Veksler, O., Zabih, R.: Markov random fields with efficient approximations. IEEE Conference on Computer Vision and Pattern Recognition, 648–655 (1998)Google Scholar
  4. 4.
    Boykov, Y., Veksler, O., Zabih, R.: Fast approximate energy minimization via graph cuts. IEEE Transactions on Pattern Analysis and Machine Intelligence 23 (2001)Google Scholar
  5. 5.
    Boykov, Y., Kolmogorov, V.: An experimental comparison of min-cut/max-flow algorithms for energy minimization in vision. IEEE Transactions on Pattern Analysis and Machine Intelligence 26, 359–374 (2004)CrossRefzbMATHGoogle Scholar
  6. 6.
    Juan, O., Boykov, Y.: Active graph cuts. IEEE Computer Society Conference on Computer Vision and Pattern Recognition 1, 1023–1029 (2006)Google Scholar
  7. 7.
    Hussein, M., Varshney, A., Davis, L.: On implementing graph cuts on cuda. First Workshop on General Purpose Processing on Graphics Processing Units (2007)Google Scholar
  8. 8.
    Vineet, V., Narayanan, P.: Cuda cuts: Fast graph cuts on the gpu. In: IEEE Conference on Computer Vision and Pattern Recognition: Workshop on Visual Computer Vision on GPUs, June 2008, pp. 1–8 (2008)Google Scholar
  9. 9.
    Boykov, Y., Funka-Lea, G.: Graph cuts and efficient n-d image segmentation. Int. J. Comput. Vision 70(2), 109–131 (2006)CrossRefGoogle Scholar
  10. 10.
    Lombaert, H., Sun, Y., Grady, L., Xu, C.: A multilevel banded graph cuts method for fast image segmentation. In: Proceedings of the Tenth IEEE International Conference on Computer Vision (ICCV 2005), Washington, DC, USA, vol. 1. IEEE Computer Society, Los Alamitos (2005)Google Scholar
  11. 11.
    Garrett, Z., Saito, H.: Live video object tracking and segmentation using graph cuts. In: International Conference on Image Processing, pp. 1576–1579. IEEE, Los Alamitos (2008)Google Scholar
  12. 12.
    nVidia: NVIDIA CUDA Compute Unified Device Architecture - Programming Guide (2007)Google Scholar
  13. 13.
    Farrugia, J.P., Horain, P., Guehenneux, E., Alusse, Y.: Gpucv: A framework for image processing acceleration with graphics processors. In: 2006 IEEE International Conference on Multimedia and Expo., pp. 585–588 (2006)Google Scholar
  14. 14.
    Fung, J., Mann, S.: Openvidia: parallel gpu computer vision. In: Proceedings of the 13th annual ACM International Conference on Multimedia, pp. 849–852. ACM, New York (2005)CrossRefGoogle Scholar
  15. 15.
    Hong, B.: A lock-free multi-threaded algorithm for the maximum flow problem. In: IEEE International Parallel and Distributed Processing Symposium, pp. 1–8. IEEE, Los Alamitos (2008)Google Scholar
  16. 16.
    Anderson, R., Setubal, J.C.: A parallel implementation of the push-relabel algorithm for the maximum flow problem. J. Parallel Distrib. Comput. 29(1), 17–26 (1995)CrossRefGoogle Scholar
  17. 17.
    Yu, T., Xu, N., Ahuja, N.: Reconstructing a dynamic surface from video sequences using graph cuts in 4d space-time. In: 17th International Conference on Pattern Recognition, pp. 245–248. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  18. 18.
    Harris, M.: Gpgpu: Beyond graphics. In: Game Developers Conference (2004)Google Scholar
  19. 19.
    nVidia: Cuda zone – the resource for cuda developers (2009),
  20. 20.
    Harish, P., Narayanan, P.J.: Accelerating large graph algorithms on the GPU using CUDA. In: Aluru, S., Parashar, M., Badrinath, R., Prasanna, V.K. (eds.) HiPC 2007. LNCS, vol. 4873, pp. 197–208. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  21. 21.
    Martin, D., Fowlkes, C., Tal, D., Malik, J.: A database of human segmented natural images and its application to evaluating segmentation algorithms and measuring ecological statistics. In: Proc. 8th Int’l Conf. Computer Vision, July 2001, vol. 2, pp. 416–423 (2001)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Zachary A. Garrett
    • 1
  • Hideo Saito
    • 1
  1. 1.Department of Information and Computer ScienceKeio UniversityYokohamaJapan

Personalised recommendations