Modified Viola–Jones algorithm with GPU accelerated training and parallelized skin color filtering-based face detection

  • Vikram Mutneja
  • Satvir Singh
Original Research Paper


Face detection is a prominent research domain in the field of digital image processing. Out of various algorithms developed so far, Viola–Jones face detection has been highly successful. However, because of its complex nature, there is need to do more exploration in its various phases including training as well as actual face detection to find the scope of further improvement in terms of efficiency as well as accuracy under various constraints so as to detect and process the faces in real time. Its training phase for the screening of large amount of Haar features and generation of cascade classifiers is quite tedious and computationally intensive task. Any modification for improvement in its features or cascade classifiers requires re-training of all the features through example images, which are very large in number. Therefore, there is need to enhance the computational efficiency of training process of Viola–Jones face detection algorithm so that further enhancement in this framework is made easy. There are three main contributions in this research work. Firstly, we have achieved a considerable speedup by parallelizing the training as well as detection of rectangular Haar features based upon Viola–Jones framework on GPU. Secondly, the analysis of features selected through AdaBoost has been done, which can give intuitiveness in developing more innovative and efficient techniques for selecting competitive classifiers for the task of face detection, which can further be generalized for any type of object detection. Thirdly, implementation of parallelization techniques of modified version of Viola–Jones face detection algorithm in combination with skin color filtering to reduce the search space has been done. We have been able to achieve considerable reduction in the search space and time cost by using the skin color filtering in conjunction with the Viola–Jones algorithm. Time cost reduction of the order of 54.31% at the image resolution of 640*480 of GPU time versus CPU time has been achieved by the proposed parallelized algorithm.


Viola–Jones GPU computing Face detection Features analysis Skin color filtering 


  1. 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. arXiv preprint arXiv:1306.1467 (2013)
  2. 2.
    Ban, Y., Kim, S.K., Kim, S., Toh, K.A., Lee, Sangyoun: Face detection based on skin color likelihood. Pattern Recognit. 47(4), 1573–1585 (2014)CrossRefGoogle Scholar
  3. 3.
    Bhutekar, S.J., Manjaramkar, A.K.: Parallel face detection and recognition on GPU. Int. J. Comput. Sci. Inf. Technol. 5(2), 2013–2018 (2014)Google Scholar
  4. 4.
    Bilgic, B., Horn, B.K.P., Masaki, I.: Efficient integral image computation on the GPU. In: Intelligent Vehicles Symposium (IV), 2010 IEEE, pp. 528–533. IEEE (2010)Google Scholar
  5. 5.
    Cheng, K.T., Wang, Y.C.: Using mobile GPU for general-purpose computing–a case study of face recognition on smartphones. In: 2011 International Symposium on VLSI Design, Automation and Test (VLSI-DAT), pp. 1–4. IEEE (2011)Google Scholar
  6. 6.
    Chouchene, M., Sayadi, F.E., Bahri, H., Dubois, J., Miteran, J., Atri, M.: Optimized parallel implementation of face detection based on GPU component. Microprocess. Microsyst. 39(6), 393–404 (2015)CrossRefGoogle Scholar
  7. 7.
    Egorov, A.D., Shtanko, A.N., Minin, P.E.: Selection of viola-jones algorithm parameters for specific conditions. Bull. Leb. Phys. Inst. 42(8), 244–248 (2015)CrossRefGoogle Scholar
  8. 8.
    Ge, W., Han, C., Quan, W.: Face detection in complex background based on adaboost algorithm and ycbcr skin color model. In: Ninth International Symposium on Multispectral Image Processing and Pattern Recognition (MIPPR2015), pp. 981312–981312. International Society for Optics and Photonics, Bellingham (2015)Google Scholar
  9. 9.
    Gondaliya, Divyesh S., Kamothi, Pratik P., Fudnawala, Vicky N., Patel, Kevin P., Patel, Hiren S., Naik, Sapan: Review on human face detection based on skin color and edge information. Int. J. Eng. Sci. Technol. 7(1), 12 (2015)CrossRefGoogle Scholar
  10. 10.
    Grgic, M., Delac, K., Grgic, S.: Scface-surveillance cameras face database. Multimed. Tools Appl. 51(3), 863–879 (2011)CrossRefGoogle Scholar
  11. 11.
    Griffin, G., Holub, A., Perona, P.: Caltech-256 object category dataset. Technical Report 7694, California Institute of Technology (2007)Google Scholar
  12. 12.
    Gupta, S., Dasgupta, A., Routray, A.: Analysis of training parameters for classifiers based on haar-like features to detect human faces. In: 2011 International Conference on Image Information Processing (ICIIP), pp. 1–4. IEEE (2011)Google Scholar
  13. 13.
    Hjelmås, E., Low, B.K.: Face detection: a survey. Comput. Vis. Image Underst 83(3), 236–274 (2001)CrossRefzbMATHGoogle Scholar
  14. 14.
    Huynh-Thu, Q., Meguro, M., Kaneko, M.: Skin-color extraction in images with complex background and varying illumination. In: Proceedings. Sixth IEEE Workshop on Applications of Computer Vision, 2002.(WACV 2002). pp. 280–285. IEEE (2002)Google Scholar
  15. 15.
    Ishii, I., Ichida, T., Gu, Q., Takaki, T.: 500-fps face tracking system. J. Real-Time Image Process. 8(4), 379–388 (2013)CrossRefGoogle Scholar
  16. 16.
    Jain, V., Learned-Miller, E.: Fddb: a benchmark for face detection in unconstrained settings. Technical Report UM-CS-2010-009, University of Massachusetts, Amherst (2010)Google Scholar
  17. 17.
    Jia, H., Zhang, Y., Wang, W., Xu, J.: Accelerating viola-jones facce detection algorithm on GPUs. In: 2012 IEEE 14th International Conference on High Performance Computing and Communication & 2012 IEEE 9th International Conference on Embedded Software and Systems (HPCC-ICESS), pp. 396–403. IEEE (2012)Google Scholar
  18. 18.
    Jiang, F., Shi, B., Fischer, M., Ekenel, H.K.: Effective discretization of Gabor features for real-time face detection. In: 2011 18th IEEE International Conference on Image Processing, pp. 2057–2060. IEEE (2011)Google Scholar
  19. 19.
    Kong, J., Deng, Y.: GPU accelerated face detection. In: 2010 International Conference on Intelligent Control and Information Processing (ICICIP), pp. 584–588. IEEE (2010)Google Scholar
  20. 20.
    Krpec, J., Němec, M.: Face detection cuda accelerating. In: ACHI 2012, The Fifth International Conference on Advances in Computer-Human Interactions, pp. 155–160. Citeseer (2012)Google Scholar
  21. 21.
    Kumar, V., Namboodiri, A., Jawahar, C.V.: Visual phrases for exemplar face detection. In: Proceedings of the IEEE International Conference on Computer Vision, pp. 1994–2002 (2015)Google Scholar
  22. 22.
    Kurmi, U.S., Srivastava, H.S., Agrawal, D., Baghel, R.K.: Performance evaluation of rgb skin color segmentation based face detection technique. Int. J. Eng. Univ. Sci. Res. Manag., 6(2), (2014)Google Scholar
  23. 23.
    Li, J., Zhang, Y.: Learning surf cascade for fast and accurate object detection. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 3468–3475 (2013)Google Scholar
  24. 24.
    Lu, Y., Zhou, J., Yu, S.: A survey of face detection, extraction and recognition. Comput. Inf. 22(2), 163–195 (2012)MathSciNetGoogle Scholar
  25. 25.
    Masek, J., Burget, R., Uher, V., Güney, S.: Speeding up viola-jones algorithm using multi-core gpu implementation. In: 2013 36th International Conference on Telecommunications and Signal Processing (TSP), pp. 808–812. IEEE (2013)Google Scholar
  26. 26.
    Mena, A.P., Mayoral, M.B., Díaz-Lópe E.: Comparative study of the features used by algorithms based on viola and jones face detection algorithm. In: International Work-Conference on the Interplay Between Natural and Artificial Computation, pp. 175–183, Springer International Publishing (2015)Google Scholar
  27. 27.
    Nasse, F., Thurau, C., Fink, G.A.: Face detection using gpu-based convolutional neural networks. In: International Conference on Computer Analysis of Images and Patterns, pp. 83–90. Springer Berlin, Heidelberg (2009)Google Scholar
  28. 28.
    Nguyen, T., Hefenbrock, D., Oberg, J., Kastner, R., Baden, S.: A software-based dynamic-warp scheduling approach for load-balancing the viola-jones face detection algorithm on gpus. J. Parallel Distrib. Comput. 73(5), 677–685 (2013)CrossRefGoogle Scholar
  29. 29.
    Oro, D., Fern’ndez, C., Segura, C., Martorell, X., Hernando, J.: Accelerating boosting-based face detection on gpus. In: 2012 41st International Conference on Parallel Processing (ICPP), pp. 309–318. IEEE (2012)Google Scholar
  30. 30.
    Owusu, E., Zhan, Y.Z., Mao, Q.R.: An svm-adaboost-based face detection system. J. Exp. Theor. Artif. Intell. 26(4), 477–491 (2014)CrossRefGoogle Scholar
  31. 31.
    Pandey, S., Sharma, S.: An Optimistic Approach for Implementing Viola Jones Face Detection Algorithm in Database System and in Real Time. In: International Journal of Engineering Research and Technology, Vol. 4, No. 07, IJERT (2015)Google Scholar
  32. 32.
    Pham, M.T., Cham, T.J.: Fast training and selection of haar features using statistics in boosting-based face detection. In: IEEE 11th International Conference on Computer Vision, 2007. ICCV 2007. pp. 1–7. IEEE (2007)Google Scholar
  33. 33.
    Sharma, B., Thota, R., Vydyanathan, N., Kale, A.: Towards a robust, real-time face processing system using cuda-enabled gpus. In: 2009 International Conference on High Performance Computing (HiPC), pp. 368–377. IEEE (2009)Google Scholar
  34. 34.
    Triantafyllidou, D., Tefas, A.: A fast deep convolutional neural network for face detection in big visual data. In: INNS Conference on Big Data, pp. 61–70. Springer, Berlin (2016)Google Scholar
  35. 35.
    Viola, P., Jones, M.J.: Robust real-time face detection. Int. J. Comput. Vis. 57(2), 137–154 (2004)CrossRefGoogle Scholar
  36. 36.
    Wang, W., Zhang, Y., Yan, S., Zhang, Y., Jia, H.: Parallelization and performance optimization on face detection algorithm with opencl: a case study. Tsinghua Sci. Technol. 17(3), 287–295 (2012)CrossRefGoogle Scholar
  37. 37.
    Wu, J., Brubaker, S.C., Mullin, M.D., Rehg, J.M.: Fast asymmetric learning for cascade face detection. IEEE Trans. Pattern Anal. Mach. Intell. 30(3), 369–382 (2008)CrossRefGoogle Scholar
  38. 38.
    Yang, D.W., Chen, C.W., Chang, C.H., Chang, Y.C., Shieh, M.D., Wang, J., Lo, C.C.: Face detection architecture design using hybrid skin color detection and cascade of classifiers. In: 2012 IEEE Asia Pacific Conference on Circuits and Systems (APCCAS), pp. 543–546. IEEE (2012)Google Scholar
  39. 39.
    Yang, S., Luo, P., Loy, C.C., Tang, X.: Wider face: a face detection benchmark. In: IEEE Conference on Computer Vision and Pattern Recognition (CVPR) (2016)Google Scholar
  40. 40.
    Zhang, C., Zhang, Z.: A survey of recent advances in face detection. In: Technical Report, (MSR-TR-2010-66), Microsoft Research (2010)Google Scholar
  41. 41.
    Zhu, J., Chen, Z.: Real time face detection system using adaboost and haar-like features. In: 2015 2nd International Conference on Information Science and Control Engineering (ICISCE), pp. 404–407. IEEE (2015)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2017

Authors and Affiliations

  1. 1.I.K. Gujral Punjab Techncial UniversityKapurthalaIndia

Personalised recommendations