Skip to main content
Log in

A GPU implementation for LBG and SOM training

  • ICONIP2009
  • Published:
Neural Computing and Applications Aims and scope Submit manuscript

Abstract

Vector quantization (VQ) is an effective technique applicable in a wide range of areas, such as image compression and pattern recognition. The most time-consuming procedure of VQ is codebook training, and two of the frequently used training algorithms are LBG and self-organizing map (SOM). Nowadays, desktop computers are usually equipped with programmable graphics processing units (GPUs), whose parallel data-processing ability is ideal for codebook training acceleration. Although there are some GPU algorithms for LBG training, their implementations suffer from a large amount of data transfer between CPU and GPU and a large number of rendering passes within a training iteration. This paper presents a novel GPU-based training implementation for LBG and SOM training. More specifically, we utilize the random write ability of vertex shader to reduce the overheads mentioned above. Our experimental results show that our approach can run four times faster than the previous approach.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  1. In fact, we do not need to swap the contents of the two sets of textures. We only need to swap their texture IDs.

References

  1. Linde Y, Buzo A, Gray RM (1980) An algorithm for vector quantizer design. IEEE Trans Commun 28(1):84–95

    Article  Google Scholar 

  2. Gray RM (1984) Vector quantization. IEEE Acoust Speech Signal Process Mag 1(1):4–29

    Google Scholar 

  3. Gersho A, Gray RM (1991) Vector quantization and signal compression. Kluwer, Norwell

    Google Scholar 

  4. Lu Z-M, Xu D-G, Sun S-H (2000) Multipurpose image watermarking algorithm based on multistage vector quantization. IEEE Trans Image Process 14(6):822–831

    Google Scholar 

  5. Tsang PWM, Tsang WH (1996) Preservation of interlaced patterns in encoding video signals using side match vector quantization smoothing regularization of MLP for Jacobian stabilization. IEEE Trans Consu Electron 42(1):112–120

    Article  MathSciNet  Google Scholar 

  6. Mukherjee D, Chae JJ, Mitra SK, Manjunath BS (2000) A source and channel-coding framework for vector-based data hiding in video. IEEE Trans Circuits Syst Video Technol 10:630–645

    Article  Google Scholar 

  7. Sim J-Y, Lee S-U (2008) Compression of 3D point visual data using vector quantization and rate-distortion optimization. IEEE Trans Multimed 10(3):305–315

    Article  Google Scholar 

  8. Pham T (2003) Alignment-free sequence comparison with vector quantization and hidden markov models. In CSB ’03: Proceedings of the IEEE computer society conference on bioinformatics, Washington, DC, USA, 2003, p 534, IEEE Computer Society

  9. Ramasubramanian V, Paliwal KK (1992) Fast k-dimensional tree algorithms for nearest neighborsearch with application to vector quantization encoding. IEEE Trans Signal Process 40(3):518–531

    Article  Google Scholar 

  10. Laha A, Chanda B, Pal NR (2006) Accelerated codebook searching in a som-based vector quantizer. IJCNN 2006. 2006, pp 3306–3311

  11. Kohonen T (2001) Self-organizing maps. Springer, Berlin

    Book  MATH  Google Scholar 

  12. Mark WR, Glanville RS, Akeley K, Kilgard MJ (2003) Cg: A system for programing graphics hardware in a C-like language. ACM Trans Graph 22(3):896–907

    Article  Google Scholar 

  13. Bolz J, Farmer I, Grinspun E, Schreoder P (2003) Sparse matrix solvers on the GPU: conjugate gradients and multigrid. ACM Trans Graph 22(3):917–924

    Article  Google Scholar 

  14. Leung CS, Wong TT, Lam PM, Choy KH (2006) An RBF-based image compression method for image-based rendering. IEEE Trans Image Process 15(1):1031–1041

    Article  Google Scholar 

  15. Garcia A, Shen HW (2005) GPU-based 3d wavelet reconstruction with tileboarding. Vis Comput 21(8–10):755–763

    Article  Google Scholar 

  16. Wong TT, Leung CS, Heng PA, Wang J (2007) Discrete wavelet transform on consumer-level graphics hardware. IEEE Trans Multimed 9(3):668–673

    Article  Google Scholar 

  17. Ho TY, Lam PM, Leung CS (2008) Parallelization of cellular neural networks on gpu. Pattern Recogn Lett 41(8):2684–2692

    MATH  Google Scholar 

  18. Bohn CA (1998) Kohonen feature mapping through graphics hardware. In: Proceedings of 3rd international conference on computational intelligence and neurosciences, pp 64–67

  19. Takizawa H, Kobayashi H (2006) Hierarchical parallel processing of large scale data clustering on a pc cluster with gpu co-processing. J Supercomput 36:219–234

    Article  Google Scholar 

  20. Togneri R, Lai E, Attikiouzel Y (1990) Kohonen’s algorithm for the numerical parametrisation of manifolds. Pattern Recognit Lett 11(5):313–319

    Article  MATH  Google Scholar 

  21. Leung CS, Chan LW (1997) Transmission of vector quantized data over a noisy channel. IEEE Trans Neural Netw 8(3):582–589

    Article  Google Scholar 

  22. Leung CS, Chan LW (1999) Design of trellis vetor quantizers using kohonen maps. Neural Netw 12(6):907–914

    Article  Google Scholar 

Download references

Acknowledgment

The work was supported by a research grant from the City University of Hong Kong (Project No.: 7002588).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tze-Yui Ho.

Appendix

Appendix

figure a

Rights and permissions

Reprints and permissions

About this article

Cite this article

Xiao, Y., Leung, C.S., Ho, TY. et al. A GPU implementation for LBG and SOM training. Neural Comput & Applic 20, 1035–1042 (2011). https://doi.org/10.1007/s00521-010-0403-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00521-010-0403-7

Keywords

Navigation