Analysis of a GPU implementation of Viola-Jones’ Algorithm for Features Selection


  • Germán Ezequiel Lescano Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET )
  • Pablo Santana Mansilla Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)
  • Rosanna Costaguta Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET)


feature selection, CUDA, Viola-Jones, Algorithm, Adaboost


Faces and facial expressions recognition is an interesting topic for researchers in machine vision. Viola-Jones algorithm is the most spread algorithm for this task. Building a classification model for face recognition can take many years if the implementation of its training phase is not optimized. In this study, we analyze different implementations for the training phase. The aim was to reduce the time needed during training phase when using one computer with a cheap graphical processing unit (GPU). The execution times were analyzed and compared with previous studies. Results showed that combining C language, CUDA, etc., it is possible to reach acceptable times for training phase. Further research may involve the measurement of the performance of our approach computers with better GPU capacity and exploring a multi-GPU approach.


Download data is not yet available.


[1] Abualkibash, M.; ElSayed, A.; Mahmood, A.: Highly scalable, parallel and distributed Adaboost algorithm using light weight threads and web services on a network of multi-core machines. International Journal of Distributed and Parallel Systems (IJDPS), 4(3): 29-40, May 2013.
[2] Freund, Y.; Schapire, R.E.: A decision-theoretic generalization of on-line learning and an application to boosting. Journal of Computer and System Sciences, 55(1): 23-37. August 1997.
[3] Harris, M.: Optimizing parallel reduction in CUDA. Reporte técnico. 2007. Disponible en:
[4] Huang, Z.; Shi, X.: A distributed parallel AdaBoost algorithm for face detection. 2010 IEEE International Conference on Intelligent Computing and Intelligent Systems (ICIS). Vol 1: 147-150, Oct 2010.
[5] Morelli A., Padovani S.: Detección y Reconocimiento de Cara. Tesis de Licenciatura en Ciencias de la Computación. Universidad de Buenos Aires. 2011.
[6] Obukhov, A.: Haar Classifiers for Object Detection with CUDA. In: Wen-Mei W. Hwu (Ed.), GPU Computing Gems. 517-544. Burlington, MA 01803, USA, 2011.
[7] Sanders, J.; Kandrot, E.: CUDA C on multiple GPUs. In: CUDA by Example. An Introduction to General-Purpose GPU Programming. 213-236. Boston, MA 02116, USA, 2011.
[8] Papageorgiou, C.; Oren, M.; Poggio, T.: A general framework for object detection. International Conference on Computer Vision. 555-562, 04 January - 07 January, 1998.
[9] Taheri, S.; Patel, V.; Chellappa, R.: Component-Based Recognition of Faces and Facial Expressions. IEEE Transactions on Affective Computing, 4(4): pp. 360-371, October-December 2013.
[10] Tsai, P.; Hsu, Y.; Chiu, C; Chu, T.: Accelerating AdaBoost algorithm using GPU for multi-object recognition. 2015 IEEE International Symposium on Circuits and Systems (ISCAS), 738-741, May 2015.
[11] Viola P., Jones M.: Robust Real-Time Face Detection. International Journal of Computer Vision, 57(2): 137–154, May 2004.
[12] NVidia CUDA technology,
[13] Thrust,
[14] Lescano, G.; Santana-Mansilla, P.; Costaguta, R.: Experiences accelerating features selection in Viola-Jones algorithm. XXII Congreso Argentino de Ciencias de la Computación (CACIC 2016), Nov 2016.




How to Cite

Lescano, G. E., Santana Mansilla, P., & Costaguta, R. (2017). Analysis of a GPU implementation of Viola-Jones’ Algorithm for Features Selection. Journal of Computer Science and Technology, 17(01), p. 68–73. Retrieved from



Invited Articles