Ask Your Question

Revision history [back]

Informative algorithms related to opencv

Based on the idea proposed in Informative websites related to OpenCV by Sturkmen, I think that it would also be useful to create a list about implementations based on papers and publications:

  1. implemented with OpenCV and/or
  2. that can be used/integrated easily with OpenCV

(maybe one toy example with each one would be fantastic)

As OpenCV is under the open-source BSD license, it would also be interesting that these algorithms would be BSD or similar. So, I am going to put my list (Maybe some algorithms should not be in this list, so do it together!).


TRACKING

  • Objet tracking

  • Real-time Compressive Tracking

(http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm) implementation integrated with opencv

Zhang, K., Zhang, L., & Yang, M. H. (2012). Real-time compressive tracking. In Computer Vision–ECCV 2012 (pp. 864-877). Springer Berlin Heidelberg.

  • Accurate scale estimation for robust visual tracking

Implemented in DLIB library http://dlib.net/

Danelljan, M., Häger, G., Khan, F., & Felsberg, M. (2014). Accurate scale estimation for robust visual tracking. In British Machine Vision Conference, Nottingham, September 1-5, 2014. BMVA Press. (winning algorithm from last year's Visual Object Tracking Challenge. )

FACE PROCESSING

  • Face pre-processing

  • Tan&Triggs processing

A efficient image pre-processing normalization algorithm to deal with difficult lighting conditions: Tan, X., & Triggs, B. (2010). Enhanced local texture feature sets for face recognition under difficult lighting conditions. Image Processing, IEEE Transactions on, 19(6), 1635-1650.

implementation: https://github.com/bytefish/opencv/blob/master/misc/tan_triggs.cpp (BSD license)

  • Real-Time Face Pose Estimation

One Millisecond Face Alignment with an Ensemble of Regression Trees Kazemi, V., & Sullivan, J. (2014, June). One millisecond face alignment with an ensemble of regression trees. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on (pp. 1867-1874). IEEE.

Implemented in DLIB library http://dlib.net/

  • Eye localization: Average of Synthetic Exact Filters

Bolme, D. S., Draper, B., & Beveridge, J. R. (2009, June). Average of synthetic exact filters. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on (pp. 2105-2112). IEEE.

implementation: https://github.com/laoyang/ASEF

  • Eye localization: Accurate eye centre localisation by means of gradient

Timm, F., & Barth, E. (2011, March). Accurate Eye Centre Localisation by Means of Gradients. In VISAPP (pp. 125-130).

implementation: https://github.com/trishume/eyeLike

FACE DETECTION

  • PICO Face detection

N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees", http://arxiv.org/abs/1305.4537

implementation: https://github.com/nenadmarkus/pico license: https://github.com/nenadmarkus/pico/blob/master/LICENSE

FRAMEWORKS

  • Deep learning: CAFFE

Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., ... & Darrell, T. (2014, November). Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the ACM International Conference on Multimedia (pp. 675-678). ACM.

Caffe is released under the BSD 2-Clause license. http://caffe.berkeleyvision.org/

CAFFE & Opencv: http://answers.opencv.org/question/72321/how-can-caffe-be-interfaced-using-opencv/

  • Machine learning framework: mlpack

mlpack: a scalable C++ machine learning library http://mlpack.org/

Curtin, R. R., Cline, J. R., Slagle, N. P., March, W. B., Ram, P., Mehta, N. A., & Gray, A. G. (2013). MLPACK: A scalable C++ machine learning library. The Journal of Machine Learning Research, 14(1), 801-805.

implementation: https://github.com/mlpack/mlpack (BSD License)

  • Machine learning framework: LIBSVM

LIBSVM -- A Library for Support Vector Machines https://www.csie.ntu.edu.tw/~cjlin/libsvm/

Chang, C. C., & Lin, C. J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology (TIST), 2(3), 27.

  • Framework for face processing and recognition

Open Source Biometric Recognition http://openbiometrics.org/ License: Apache 2.0 (requires Qt and OpenCV).

Klontz, J. C., Klare, B. F., Klum, S., Jain, A. K., & Burge, M. J. (2013, September). Open source biometric recognition. In Biometrics: Theory, Applications and Systems (BTAS), 2013 IEEE Sixth International Conference on (pp. 1-8). IEEE.

  • general purpose library

Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. It is open source software and licensed under the Boost Software License. http://dlib.net/

OpenCV image objects can be converted into a form usable by dlib routines by using cv_image. You can also convert from a dlib matrix or image to an OpenCV Mat using dlib::toMat().

  • human action recognition

https://github.com/DAIGroup/BagOfKeyPoses License: Apache 2.0 License

Chaaraoui, A. A., Climent-Pérez, P., & Flórez-Revuelta, F. (2013). Silhouette-based human action recognition using sequences of key poses. Pattern Recognition Letters, 34(15), 1799-1807. http://dx.doi.org/10.1016/j.patrec.2013.01.021

TEXTURE DESCRIPTORS

  • LBP Modification: High-Dimensional-LBP

implementation of high dimensional lbp feature for face recognition based on Chen, D., Cao, X., Wen, F., & Sun, J. (2013, June). Blessing of dimensionality: High-dimensional feature and its efficient compression for face verification. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on (pp. 3025-3032). IEEE.

Chen, B. C., Chen, C. S., & Hsu, W. (2014). Review and Implementation of High-Dimensional Local Binary Patterns and Its Application to Face Recognition. Inst. Inf. Sci., Academia Sinica, Taipei, Taiwan, Tech. Rep. TR-IIS-14-003.

implementation: https://github.com/bcsiriuschen/High-Dimensional-LBP

BACKGROUND SUBTRACTION

  • Background subtraction: BGSLibrary

implementation: https://github.com/andrewssobral/bgslibrary

Sobral, A. (2013, June). BGSLibrary: An opencv c++ background subtraction library. In IX Workshop de Visao Computacional (WVC’2013), Rio de Janeiro, Brazil.

Vehicle Detection, Tracking and Counting

  • Vehicle Detection, Tracking and Counting

web page: https://www.behance.net/gallery/Vehicle-Detection-Tracking-and-Counting/4057777 Vehicle tracking using Haar Cascades or Background Subtraction (BS)

AUGMENTED REALITY

  • Marker Detection for AR Applications

https://infi.nl/nieuws/marker-detection-for-augmented-reality-applications/

Hirzer, M. (2008, October). Marker detection for augmented reality applications. In Seminar/Project Image Analysis Graz.(http://studierstube.icg.tugraz.at/thesis/marker_detection.pdf)

Source code: https://infi.nl/files/overig/MarkerDetectionSource.zip

click to hide/show revision 2
No.2 Revision

updated 2015-10-20 08:27:29 -0600

berak gravatar image

Informative algorithms related to opencv

Based on the idea proposed in Informative websites related to OpenCV by Sturkmen, I think that it would also be useful to create a list about implementations based on papers and publications:

  1. implemented with OpenCV and/or
  2. that can be used/integrated easily with OpenCV

(maybe one toy example with each one would be fantastic)

As OpenCV is under the open-source BSD license, it would also be interesting that these algorithms would be BSD or similar. So, I am going to put my list (Maybe some algorithms should not be in this list, so do it together!).


TRACKING

  • Objet tracking

  • Real-time Compressive Tracking

(http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm) implementation integrated with opencv

Zhang, K., Zhang, L., & Yang, M. H. (2012). Real-time compressive tracking. In Computer Vision–ECCV 2012 (pp. 864-877). Springer Berlin Heidelberg.

  • Accurate scale estimation for robust visual tracking

Implemented in DLIB library http://dlib.net/

Danelljan, M., Häger, G., Khan, F., & Felsberg, M. (2014). Accurate scale estimation for robust visual tracking. In British Machine Vision Conference, Nottingham, September 1-5, 2014. BMVA Press. (winning algorithm from last year's Visual Object Tracking Challenge. )

FACE PROCESSING

  • Face pre-processing

  • Tan&Triggs processing

A efficient image pre-processing normalization algorithm to deal with difficult lighting conditions: Tan, X., & Triggs, B. (2010). Enhanced local texture feature sets for face recognition under difficult lighting conditions. Image Processing, IEEE Transactions on, 19(6), 1635-1650.

implementation: https://github.com/bytefish/opencv/blob/master/misc/tan_triggs.cpp (BSD license)

  • Real-Time Face Pose Estimation

One Millisecond Face Alignment with an Ensemble of Regression Trees Kazemi, V., & Sullivan, J. (2014, June). One millisecond face alignment with an ensemble of regression trees. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on (pp. 1867-1874). IEEE.

Implemented in DLIB library http://dlib.net/

  • Face landmarks detector (face alignment)

Cao X, Wei Y, Wen F, et al. Face alignment by explicit shape regression[J]. International Journal of Computer Vision, 2014, 107(2): 177-190.

implementation: https://github.com/delphifirst/FaceX/

  • Eye localization: Average of Synthetic Exact Filters

Bolme, D. S., Draper, B., & Beveridge, J. R. (2009, June). Average of synthetic exact filters. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on (pp. 2105-2112). IEEE.

implementation: https://github.com/laoyang/ASEF

  • Eye localization: Accurate eye centre localisation by means of gradient

Timm, F., & Barth, E. (2011, March). Accurate Eye Centre Localisation by Means of Gradients. In VISAPP (pp. 125-130).

implementation: https://github.com/trishume/eyeLike

FACE DETECTION

  • PICO Face detection

N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees", http://arxiv.org/abs/1305.4537

implementation: https://github.com/nenadmarkus/pico license: https://github.com/nenadmarkus/pico/blob/master/LICENSE

FRAMEWORKS

  • Deep learning: CAFFE

Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., ... & Darrell, T. (2014, November). Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the ACM International Conference on Multimedia (pp. 675-678). ACM.

Caffe is released under the BSD 2-Clause license. http://caffe.berkeleyvision.org/

CAFFE & Opencv: http://answers.opencv.org/question/72321/how-can-caffe-be-interfaced-using-opencv/

  • Machine learning framework: mlpack

mlpack: a scalable C++ machine learning library http://mlpack.org/

Curtin, R. R., Cline, J. R., Slagle, N. P., March, W. B., Ram, P., Mehta, N. A., & Gray, A. G. (2013). MLPACK: A scalable C++ machine learning library. The Journal of Machine Learning Research, 14(1), 801-805.

implementation: https://github.com/mlpack/mlpack (BSD License)

  • Machine learning framework: LIBSVM

LIBSVM -- A Library for Support Vector Machines https://www.csie.ntu.edu.tw/~cjlin/libsvm/

Chang, C. C., & Lin, C. J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology (TIST), 2(3), 27.

  • Framework for face processing and recognition

Open Source Biometric Recognition http://openbiometrics.org/ License: Apache 2.0 (requires Qt and OpenCV).

Klontz, J. C., Klare, B. F., Klum, S., Jain, A. K., & Burge, M. J. (2013, September). Open source biometric recognition. In Biometrics: Theory, Applications and Systems (BTAS), 2013 IEEE Sixth International Conference on (pp. 1-8). IEEE.

  • general purpose library

Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. It is open source software and licensed under the Boost Software License. http://dlib.net/

OpenCV image objects can be converted into a form usable by dlib routines by using cv_image. You can also convert from a dlib matrix or image to an OpenCV Mat using dlib::toMat().

  • human action recognition

https://github.com/DAIGroup/BagOfKeyPoses License: Apache 2.0 License

Chaaraoui, A. A., Climent-Pérez, P., & Flórez-Revuelta, F. (2013). Silhouette-based human action recognition using sequences of key poses. Pattern Recognition Letters, 34(15), 1799-1807. http://dx.doi.org/10.1016/j.patrec.2013.01.021

TEXTURE DESCRIPTORS

  • LBP Modification: High-Dimensional-LBP

implementation of high dimensional lbp feature for face recognition based on Chen, D., Cao, X., Wen, F., & Sun, J. (2013, June). Blessing of dimensionality: High-dimensional feature and its efficient compression for face verification. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on (pp. 3025-3032). IEEE.

Chen, B. C., Chen, C. S., & Hsu, W. (2014). Review and Implementation of High-Dimensional Local Binary Patterns and Its Application to Face Recognition. Inst. Inf. Sci., Academia Sinica, Taipei, Taiwan, Tech. Rep. TR-IIS-14-003.

implementation: https://github.com/bcsiriuschen/High-Dimensional-LBP

BACKGROUND SUBTRACTION

  • Background subtraction: BGSLibrary

implementation: https://github.com/andrewssobral/bgslibrary

Sobral, A. (2013, June). BGSLibrary: An opencv c++ background subtraction library. In IX Workshop de Visao Computacional (WVC’2013), Rio de Janeiro, Brazil.

Vehicle Detection, Tracking and Counting

  • Vehicle Detection, Tracking and Counting

web page: https://www.behance.net/gallery/Vehicle-Detection-Tracking-and-Counting/4057777 Vehicle tracking using Haar Cascades or Background Subtraction (BS)

AUGMENTED REALITY

  • Marker Detection for AR Applications

https://infi.nl/nieuws/marker-detection-for-augmented-reality-applications/

Hirzer, M. (2008, October). Marker detection for augmented reality applications. In Seminar/Project Image Analysis Graz.(http://studierstube.icg.tugraz.at/thesis/marker_detection.pdf)

Source code: https://infi.nl/files/overig/MarkerDetectionSource.zip

click to hide/show revision 3
No.3 Revision

updated 2015-10-20 08:46:09 -0600

berak gravatar image

Informative algorithms related to opencv

Based on the idea proposed in Informative websites related to OpenCV by Sturkmen, I think that it would also be useful to create a list about implementations based on papers and publications:

  1. implemented with OpenCV and/or
  2. that can be used/integrated easily with OpenCV

(maybe one toy example with each one would be fantastic)

As OpenCV is under the open-source BSD license, it would also be interesting that these algorithms would be BSD or similar. So, I am going to put my list (Maybe some algorithms should not be in this list, so do it together!).


TRACKING

  • Objet tracking

  • Real-time Compressive Tracking

(http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm) implementation integrated with opencv

Zhang, K., Zhang, L., & Yang, M. H. (2012). Real-time compressive tracking. In Computer Vision–ECCV 2012 (pp. 864-877). Springer Berlin Heidelberg.

  • Accurate scale estimation for robust visual tracking

Implemented in DLIB library http://dlib.net/

Danelljan, M., Häger, G., Khan, F., & Felsberg, M. (2014). Accurate scale estimation for robust visual tracking. In British Machine Vision Conference, Nottingham, September 1-5, 2014. BMVA Press. (winning algorithm from last year's Visual Object Tracking Challenge. )

FACE PROCESSING

  • Face pre-processing

  • Tan&Triggs processing

A efficient image pre-processing normalization algorithm to deal with difficult lighting conditions: Tan, X., & Triggs, B. (2010). Enhanced local texture feature sets for face recognition under difficult lighting conditions. Image Processing, IEEE Transactions on, 19(6), 1635-1650.

implementation: https://github.com/bytefish/opencv/blob/master/misc/tan_triggs.cpp (BSD license)

  • Real-Time Face Pose Estimation

One Millisecond Face Alignment with an Ensemble of Regression Trees Kazemi, V., & Sullivan, J. (2014, June). One millisecond face alignment with an ensemble of regression trees. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on (pp. 1867-1874). IEEE.

Implemented in DLIB library http://dlib.net/ http://dlib.net/

demo snippet: https://gist.github.com/berak/b23262a9cb08a9d0a6d3#file-dlib-landmarks-example

  • Face landmarks detector (face alignment)

Cao X, Wei Y, Wen F, et al. Face alignment by explicit shape regression[J]. International Journal of Computer Vision, 2014, 107(2): 177-190.

implementation: https://github.com/delphifirst/FaceX/

demo snippet: https://gist.github.com/berak/79aeb39b59222917c558#file-facex-example

  • Eye localization: Average of Synthetic Exact Filters

Bolme, D. S., Draper, B., & Beveridge, J. R. (2009, June). Average of synthetic exact filters. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on (pp. 2105-2112). IEEE.

implementation: https://github.com/laoyang/ASEF

  • Eye localization: Accurate eye centre localisation by means of gradient

Timm, F., & Barth, E. (2011, March). Accurate Eye Centre Localisation by Means of Gradients. In VISAPP (pp. 125-130).

implementation: https://github.com/trishume/eyeLike

FACE DETECTION

  • PICO Face detection

N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees", http://arxiv.org/abs/1305.4537

implementation: https://github.com/nenadmarkus/pico license: https://github.com/nenadmarkus/pico/blob/master/LICENSE

FRAMEWORKS

  • Deep learning: CAFFE

Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., ... & Darrell, T. (2014, November). Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the ACM International Conference on Multimedia (pp. 675-678). ACM.

Caffe is released under the BSD 2-Clause license. http://caffe.berkeleyvision.org/

CAFFE & Opencv: http://answers.opencv.org/question/72321/how-can-caffe-be-interfaced-using-opencv/

  • Machine learning framework: mlpack

mlpack: a scalable C++ machine learning library http://mlpack.org/

Curtin, R. R., Cline, J. R., Slagle, N. P., March, W. B., Ram, P., Mehta, N. A., & Gray, A. G. (2013). MLPACK: A scalable C++ machine learning library. The Journal of Machine Learning Research, 14(1), 801-805.

implementation: https://github.com/mlpack/mlpack (BSD License)

  • Machine learning framework: LIBSVM

LIBSVM -- A Library for Support Vector Machines https://www.csie.ntu.edu.tw/~cjlin/libsvm/

Chang, C. C., & Lin, C. J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology (TIST), 2(3), 27.

  • Framework for face processing and recognition

Open Source Biometric Recognition http://openbiometrics.org/ License: Apache 2.0 (requires Qt and OpenCV).

Klontz, J. C., Klare, B. F., Klum, S., Jain, A. K., & Burge, M. J. (2013, September). Open source biometric recognition. In Biometrics: Theory, Applications and Systems (BTAS), 2013 IEEE Sixth International Conference on (pp. 1-8). IEEE.

  • general purpose library

Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. It is open source software and licensed under the Boost Software License. http://dlib.net/

OpenCV image objects can be converted into a form usable by dlib routines by using cv_image. You can also convert from a dlib matrix or image to an OpenCV Mat using dlib::toMat().

  • human action recognition

https://github.com/DAIGroup/BagOfKeyPoses License: Apache 2.0 License

Chaaraoui, A. A., Climent-Pérez, P., & Flórez-Revuelta, F. (2013). Silhouette-based human action recognition using sequences of key poses. Pattern Recognition Letters, 34(15), 1799-1807. http://dx.doi.org/10.1016/j.patrec.2013.01.021

TEXTURE DESCRIPTORS

  • LBP Modification: High-Dimensional-LBP

implementation of high dimensional lbp feature for face recognition based on Chen, D., Cao, X., Wen, F., & Sun, J. (2013, June). Blessing of dimensionality: High-dimensional feature and its efficient compression for face verification. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on (pp. 3025-3032). IEEE.

Chen, B. C., Chen, C. S., & Hsu, W. (2014). Review and Implementation of High-Dimensional Local Binary Patterns and Its Application to Face Recognition. Inst. Inf. Sci., Academia Sinica, Taipei, Taiwan, Tech. Rep. TR-IIS-14-003.

implementation: https://github.com/bcsiriuschen/High-Dimensional-LBP

BACKGROUND SUBTRACTION

  • Background subtraction: BGSLibrary

implementation: https://github.com/andrewssobral/bgslibrary

Sobral, A. (2013, June). BGSLibrary: An opencv c++ background subtraction library. In IX Workshop de Visao Computacional (WVC’2013), Rio de Janeiro, Brazil.

Vehicle Detection, Tracking and Counting

  • Vehicle Detection, Tracking and Counting

web page: https://www.behance.net/gallery/Vehicle-Detection-Tracking-and-Counting/4057777 Vehicle tracking using Haar Cascades or Background Subtraction (BS)

AUGMENTED REALITY

  • Marker Detection for AR Applications

https://infi.nl/nieuws/marker-detection-for-augmented-reality-applications/

Hirzer, M. (2008, October). Marker detection for augmented reality applications. In Seminar/Project Image Analysis Graz.(http://studierstube.icg.tugraz.at/thesis/marker_detection.pdf)

Source code: https://infi.nl/files/overig/MarkerDetectionSource.zip

click to hide/show revision 4
No.4 Revision

updated 2015-10-20 08:46:56 -0600

berak gravatar image

Informative algorithms related to opencv

Based on the idea proposed in Informative websites related to OpenCV by Sturkmen, I think that it would also be useful to create a list about implementations based on papers and publications:

  1. implemented with OpenCV and/or
  2. that can be used/integrated easily with OpenCV

(maybe one toy example with each one would be fantastic)

As OpenCV is under the open-source BSD license, it would also be interesting that these algorithms would be BSD or similar. So, I am going to put my list (Maybe some algorithms should not be in this list, so do it together!).


TRACKING

  • Objet Object tracking

  • Real-time Compressive Tracking

(http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm) implementation integrated with opencv

Zhang, K., Zhang, L., & Yang, M. H. (2012). Real-time compressive tracking. In Computer Vision–ECCV 2012 (pp. 864-877). Springer Berlin Heidelberg.

  • Accurate scale estimation for robust visual tracking

Implemented in DLIB library http://dlib.net/

Danelljan, M., Häger, G., Khan, F., & Felsberg, M. (2014). Accurate scale estimation for robust visual tracking. In British Machine Vision Conference, Nottingham, September 1-5, 2014. BMVA Press. (winning algorithm from last year's Visual Object Tracking Challenge. )

FACE PROCESSING

  • Face pre-processing

  • Tan&Triggs processing

A efficient image pre-processing normalization algorithm to deal with difficult lighting conditions: Tan, X., & Triggs, B. (2010). Enhanced local texture feature sets for face recognition under difficult lighting conditions. Image Processing, IEEE Transactions on, 19(6), 1635-1650.

implementation: https://github.com/bytefish/opencv/blob/master/misc/tan_triggs.cpp (BSD license)

  • Real-Time Face Pose Estimation

One Millisecond Face Alignment with an Ensemble of Regression Trees Kazemi, V., & Sullivan, J. (2014, June). One millisecond face alignment with an ensemble of regression trees. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on (pp. 1867-1874). IEEE.

Implemented in DLIB library http://dlib.net/

demo snippet: https://gist.github.com/berak/b23262a9cb08a9d0a6d3#file-dlib-landmarks-example

  • Face landmarks detector (face alignment)

Cao X, Wei Y, Wen F, et al. Face alignment by explicit shape regression[J]. International Journal of Computer Vision, 2014, 107(2): 177-190.

implementation: https://github.com/delphifirst/FaceX/

demo snippet: https://gist.github.com/berak/79aeb39b59222917c558#file-facex-example

  • Eye localization: Average of Synthetic Exact Filters

Bolme, D. S., Draper, B., & Beveridge, J. R. (2009, June). Average of synthetic exact filters. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on (pp. 2105-2112). IEEE.

implementation: https://github.com/laoyang/ASEF

  • Eye localization: Accurate eye centre localisation by means of gradient

Timm, F., & Barth, E. (2011, March). Accurate Eye Centre Localisation by Means of Gradients. In VISAPP (pp. 125-130).

implementation: https://github.com/trishume/eyeLike

FACE DETECTION

  • PICO Face detection

N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees", http://arxiv.org/abs/1305.4537

implementation: https://github.com/nenadmarkus/pico license: https://github.com/nenadmarkus/pico/blob/master/LICENSE

FRAMEWORKS

  • Deep learning: CAFFE

Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., ... & Darrell, T. (2014, November). Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the ACM International Conference on Multimedia (pp. 675-678). ACM.

Caffe is released under the BSD 2-Clause license. http://caffe.berkeleyvision.org/

CAFFE & Opencv: http://answers.opencv.org/question/72321/how-can-caffe-be-interfaced-using-opencv/

  • Machine learning framework: mlpack

mlpack: a scalable C++ machine learning library http://mlpack.org/

Curtin, R. R., Cline, J. R., Slagle, N. P., March, W. B., Ram, P., Mehta, N. A., & Gray, A. G. (2013). MLPACK: A scalable C++ machine learning library. The Journal of Machine Learning Research, 14(1), 801-805.

implementation: https://github.com/mlpack/mlpack (BSD License)

  • Machine learning framework: LIBSVM

LIBSVM -- A Library for Support Vector Machines https://www.csie.ntu.edu.tw/~cjlin/libsvm/

Chang, C. C., & Lin, C. J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology (TIST), 2(3), 27.

  • Framework for face processing and recognition

Open Source Biometric Recognition http://openbiometrics.org/ License: Apache 2.0 (requires Qt and OpenCV).

Klontz, J. C., Klare, B. F., Klum, S., Jain, A. K., & Burge, M. J. (2013, September). Open source biometric recognition. In Biometrics: Theory, Applications and Systems (BTAS), 2013 IEEE Sixth International Conference on (pp. 1-8). IEEE.

  • general purpose library

Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. It is open source software and licensed under the Boost Software License. http://dlib.net/

OpenCV image objects can be converted into a form usable by dlib routines by using cv_image. You can also convert from a dlib matrix or image to an OpenCV Mat using dlib::toMat().

  • human action recognition

https://github.com/DAIGroup/BagOfKeyPoses License: Apache 2.0 License

Chaaraoui, A. A., Climent-Pérez, P., & Flórez-Revuelta, F. (2013). Silhouette-based human action recognition using sequences of key poses. Pattern Recognition Letters, 34(15), 1799-1807. http://dx.doi.org/10.1016/j.patrec.2013.01.021

TEXTURE DESCRIPTORS

  • LBP Modification: High-Dimensional-LBP

implementation of high dimensional lbp feature for face recognition based on Chen, D., Cao, X., Wen, F., & Sun, J. (2013, June). Blessing of dimensionality: High-dimensional feature and its efficient compression for face verification. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on (pp. 3025-3032). IEEE.

Chen, B. C., Chen, C. S., & Hsu, W. (2014). Review and Implementation of High-Dimensional Local Binary Patterns and Its Application to Face Recognition. Inst. Inf. Sci., Academia Sinica, Taipei, Taiwan, Tech. Rep. TR-IIS-14-003.

implementation: https://github.com/bcsiriuschen/High-Dimensional-LBP

BACKGROUND SUBTRACTION

  • Background subtraction: BGSLibrary

implementation: https://github.com/andrewssobral/bgslibrary

Sobral, A. (2013, June). BGSLibrary: An opencv c++ background subtraction library. In IX Workshop de Visao Computacional (WVC’2013), Rio de Janeiro, Brazil.

Vehicle Detection, Tracking and Counting

  • Vehicle Detection, Tracking and Counting

web page: https://www.behance.net/gallery/Vehicle-Detection-Tracking-and-Counting/4057777 Vehicle tracking using Haar Cascades or Background Subtraction (BS)

AUGMENTED REALITY

  • Marker Detection for AR Applications

https://infi.nl/nieuws/marker-detection-for-augmented-reality-applications/

Hirzer, M. (2008, October). Marker detection for augmented reality applications. In Seminar/Project Image Analysis Graz.(http://studierstube.icg.tugraz.at/thesis/marker_detection.pdf)

Source code: https://infi.nl/files/overig/MarkerDetectionSource.zip

click to hide/show revision 5
No.5 Revision

updated 2015-10-20 08:53:27 -0600

berak gravatar image

Informative algorithms related to opencv

Based on the idea proposed in Informative websites related to OpenCV by Sturkmen, I think that it would also be useful to create a list about implementations based on papers and publications:

  1. implemented with OpenCV and/or
  2. that can be used/integrated easily with OpenCV

(maybe one toy example with each one would be fantastic)

As OpenCV is under the open-source BSD license, it would also be interesting that these algorithms would be BSD or similar. So, I am going to put my list (Maybe some algorithms should not be in this list, so do it together!).


TRACKING

  • Object tracking

  • Real-time Compressive Tracking

(http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm) implementation integrated with opencv

Zhang, K., Zhang, L., & Yang, M. H. (2012). Real-time compressive tracking. In Computer Vision–ECCV 2012 (pp. 864-877). Springer Berlin Heidelberg.

  • Accurate scale estimation for robust visual tracking

Implemented in DLIB library http://dlib.net/

Danelljan, M., Häger, G., Khan, F., & Felsberg, M. (2014). Accurate scale estimation for robust visual tracking. In British Machine Vision Conference, Nottingham, September 1-5, 2014. BMVA Press. (winning algorithm from last year's Visual Object Tracking Challenge. )

FACE PROCESSING

  • Face pre-processing

  • Tan&Triggs processing

A efficient image pre-processing normalization algorithm to deal with difficult lighting conditions: Tan, X., & Triggs, B. (2010). Enhanced local texture feature sets for face recognition under difficult lighting conditions. Image Processing, IEEE Transactions on, 19(6), 1635-1650.

implementation: https://github.com/bytefish/opencv/blob/master/misc/tan_triggs.cpp (BSD license)

  • Real-Time Face Pose Estimation

One Millisecond Face Alignment with an Ensemble of Regression Trees Kazemi, V., & Sullivan, J. (2014, June). One millisecond face alignment with an ensemble of regression trees. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on (pp. 1867-1874). IEEE.

Implemented in DLIB library http://dlib.net/

demo snippet: https://gist.github.com/berak/b23262a9cb08a9d0a6d3#file-dlib-landmarks-example

  • Face landmarks detector (face alignment)

Cao X, Wei Y, Wen F, et al. Face alignment by explicit shape regression[J]. International Journal of Computer Vision, 2014, 107(2): 177-190.

implementation: https://github.com/delphifirst/FaceX/

demo snippet: https://gist.github.com/berak/79aeb39b59222917c558#file-facex-example

  • Eye localization: Average of Synthetic Exact Filters

Bolme, D. S., Draper, B., & Beveridge, J. R. (2009, June). Average of synthetic exact filters. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on (pp. 2105-2112). IEEE.

implementation: https://github.com/laoyang/ASEF

  • Eye localization: Accurate eye centre localisation by means of gradient

Timm, F., & Barth, E. (2011, March). Accurate Eye Centre Localisation by Means of Gradients. In VISAPP (pp. 125-130).

implementation: https://github.com/trishume/eyeLike

FACE DETECTION

  • PICO Face detection

N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees", http://arxiv.org/abs/1305.4537

implementation: https://github.com/nenadmarkus/pico https://github.com/nenadmarkus/pico

license: https://github.com/nenadmarkus/pico/blob/master/LICENSE

FRAMEWORKS

  • Deep learning: CAFFE

Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., ... & Darrell, T. (2014, November). Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the ACM International Conference on Multimedia (pp. 675-678). ACM.

Caffe is released under the BSD 2-Clause license. license.

http://caffe.berkeleyvision.org/

CAFFE & Opencv: http://answers.opencv.org/question/72321/how-can-caffe-be-interfaced-using-opencv/

  • Machine learning framework: mlpack

mlpack: a scalable C++ machine learning library http://mlpack.org/

Curtin, R. R., Cline, J. R., Slagle, N. P., March, W. B., Ram, P., Mehta, N. A., & Gray, A. G. (2013). MLPACK: A scalable C++ machine learning library. The Journal of Machine Learning Research, 14(1), 801-805.

implementation: https://github.com/mlpack/mlpack (BSD License)

  • Machine learning framework: LIBSVM

LIBSVM -- A Library for Support Vector Machines https://www.csie.ntu.edu.tw/~cjlin/libsvm/

Chang, C. C., & Lin, C. J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology (TIST), 2(3), 27.

  • Framework for face processing and recognition

Open Source Biometric Recognition http://openbiometrics.org/ License: Apache 2.0 (requires Qt and OpenCV).

Klontz, J. C., Klare, B. F., Klum, S., Jain, A. K., & Burge, M. J. (2013, September). Open source biometric recognition. In Biometrics: Theory, Applications and Systems (BTAS), 2013 IEEE Sixth International Conference on (pp. 1-8). IEEE.

  • general purpose library

Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. It is open source software and licensed under the Boost Software License. http://dlib.net/

OpenCV image objects can be converted into a form usable by dlib routines by using cv_image. You can also convert from a dlib matrix or image to an OpenCV Mat using dlib::toMat().

  • human action recognition

https://github.com/DAIGroup/BagOfKeyPoses

https://github.com/DAIGroup/BagOfKeyPoses

License: Apache 2.0 License

Chaaraoui, A. A., Climent-Pérez, P., & Flórez-Revuelta, F. (2013). Silhouette-based human action recognition using sequences of key poses. Pattern Recognition Letters, 34(15), 1799-1807. http://dx.doi.org/10.1016/j.patrec.2013.01.021

TEXTURE DESCRIPTORS

  • LBP Modification: High-Dimensional-LBP

implementation of high dimensional lbp feature for face recognition based on Chen, D., Cao, X., Wen, F., & Sun, J. (2013, June). Blessing of dimensionality: High-dimensional feature and its efficient compression for face verification. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on (pp. 3025-3032). IEEE.

Chen, B. C., Chen, C. S., & Hsu, W. (2014). Review and Implementation of High-Dimensional Local Binary Patterns and Its Application to Face Recognition. Inst. Inf. Sci., Academia Sinica, Taipei, Taiwan, Tech. Rep. TR-IIS-14-003.

implementation: https://github.com/bcsiriuschen/High-Dimensional-LBP

BACKGROUND SUBTRACTION

  • Background subtraction: BGSLibrary

implementation: https://github.com/andrewssobral/bgslibrary

Sobral, A. (2013, June). BGSLibrary: An opencv c++ background subtraction library. In IX Workshop de Visao Computacional (WVC’2013), Rio de Janeiro, Brazil.

Vehicle Detection, Tracking and Counting

  • Vehicle Detection, Tracking and Counting

web page: https://www.behance.net/gallery/Vehicle-Detection-Tracking-and-Counting/4057777 https://www.behance.net/gallery/Vehicle-Detection-Tracking-and-Counting/4057777

Vehicle tracking using Haar Cascades or Background Subtraction (BS)

AUGMENTED REALITY

  • Marker Detection for AR Applications

https://infi.nl/nieuws/marker-detection-for-augmented-reality-applications/

Hirzer, M. (2008, October). Marker detection for augmented reality applications. In Seminar/Project Image Analysis Graz.(http://studierstube.icg.tugraz.at/thesis/marker_detection.pdf)

Source code: https://infi.nl/files/overig/MarkerDetectionSource.zip

click to hide/show revision 6
No.6 Revision

updated 2015-10-20 09:08:23 -0600

berak gravatar image

Informative algorithms related to opencv

Based on the idea proposed in Informative websites related to OpenCV by Sturkmen, I think that it would also be useful to create a list about implementations based on papers and publications:

  1. implemented with OpenCV and/or
  2. that can be used/integrated easily with OpenCV

(maybe one toy example with each one would be fantastic)

As OpenCV is under the open-source BSD license, it would also be interesting that these algorithms would be BSD or similar. So, I am going to put my list (Maybe some algorithms should not be in this list, so do it together!).


TRACKING

  • Object tracking

  • Real-time Compressive Tracking

(http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm) implementation integrated with opencv

Zhang, K., Zhang, L., & Yang, M. H. (2012). Real-time compressive tracking. In Computer Vision–ECCV 2012 (pp. 864-877). Springer Berlin Heidelberg.

  • Accurate scale estimation for robust visual tracking

Implemented in DLIB library http://dlib.net/

Danelljan, M., Häger, G., Khan, F., & Felsberg, M. (2014). Accurate scale estimation for robust visual tracking. In British Machine Vision Conference, Nottingham, September 1-5, 2014. BMVA Press. (winning algorithm from last year's Visual Object Tracking Challenge. )

FACE PROCESSING

  • Face pre-processing

  • Tan&Triggs processing

A efficient image pre-processing normalization algorithm to deal with difficult lighting conditions: Tan, X., & Triggs, B. (2010). Enhanced local texture feature sets for face recognition under difficult lighting conditions. Image Processing, IEEE Transactions on, 19(6), 1635-1650.

implementation: https://github.com/bytefish/opencv/blob/master/misc/tan_triggs.cpp (BSD license)

  • Real-Time Face Pose Estimation

One Millisecond Face Alignment with an Ensemble of Regression Trees Kazemi, V., & Sullivan, J. (2014, June). One millisecond face alignment with an ensemble of regression trees. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on (pp. 1867-1874). IEEE.

Implemented in DLIB library http://dlib.net/

demo snippet: https://gist.github.com/berak/b23262a9cb08a9d0a6d3#file-dlib-landmarks-example

  • Face landmarks detector (face alignment)

Cao X, Wei Y, Wen F, et al. Face alignment by explicit shape regression[J]. International Journal of Computer Vision, 2014, 107(2): 177-190.

implementation: https://github.com/delphifirst/FaceX/

demo snippet: https://gist.github.com/berak/79aeb39b59222917c558#file-facex-example

  • Eye localization: Average of Synthetic Exact Filters

Bolme, D. S., Draper, B., & Beveridge, J. R. (2009, June). Average of synthetic exact filters. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on (pp. 2105-2112). IEEE.

implementation: https://github.com/laoyang/ASEF

  • Eye localization: Accurate eye centre localisation by means of gradient

Timm, F., & Barth, E. (2011, March). Accurate Eye Centre Localisation by Means of Gradients. In VISAPP (pp. 125-130).

implementation: https://github.com/trishume/eyeLike

FACE DETECTION

  • PICO Face detection

N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees", http://arxiv.org/abs/1305.4537

implementation: https://github.com/nenadmarkus/pico

license: https://github.com/nenadmarkus/pico/blob/master/LICENSE

FRAMEWORKS

  • Deep learning: CAFFE

Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., ... & Darrell, T. (2014, November). Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the ACM International Conference on Multimedia (pp. 675-678). ACM.

Caffe is released under the BSD 2-Clause license.

http://caffe.berkeleyvision.org/

CAFFE & Opencv: http://answers.opencv.org/question/72321/how-can-caffe-be-interfaced-using-opencv/

  • Machine learning framework: mlpack

mlpack: a scalable C++ machine learning library http://mlpack.org/

Curtin, R. R., Cline, J. R., Slagle, N. P., March, W. B., Ram, P., Mehta, N. A., & Gray, A. G. (2013). MLPACK: A scalable C++ machine learning library. The Journal of Machine Learning Research, 14(1), 801-805.

implementation: https://github.com/mlpack/mlpack (BSD License)

  • Machine learning framework: LIBSVM

LIBSVM -- A Library for Support Vector Machines https://www.csie.ntu.edu.tw/~cjlin/libsvm/

Chang, C. C., & Lin, C. J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology (TIST), 2(3), 27.

  • Framework for face processing and recognition

Open Source Biometric Recognition http://openbiometrics.org/ License: Apache 2.0 (requires Qt and OpenCV).

Klontz, J. C., Klare, B. F., Klum, S., Jain, A. K., & Burge, M. J. (2013, September). Open source biometric recognition. In Biometrics: Theory, Applications and Systems (BTAS), 2013 IEEE Sixth International Conference on (pp. 1-8). IEEE.

  • general purpose library

Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. It is open source software and licensed under the Boost Software License. http://dlib.net/

OpenCV image objects can be converted into a form usable by dlib routines by using cv_image. You can also convert from a dlib matrix or image to an OpenCV Mat using dlib::toMat().

  • human action recognition

https://github.com/DAIGroup/BagOfKeyPoses

License: Apache 2.0 License

Chaaraoui, A. A., Climent-Pérez, P., & Flórez-Revuelta, F. (2013). Silhouette-based human action recognition using sequences of key poses. Pattern Recognition Letters, 34(15), 1799-1807. http://dx.doi.org/10.1016/j.patrec.2013.01.021

TEXTURE DESCRIPTORS

  • LBP Modification: High-Dimensional-LBP

implementation of high dimensional lbp feature for face recognition based on Chen, D., Cao, X., Wen, F., & Sun, J. (2013, June). Blessing of dimensionality: High-dimensional feature and its efficient compression for face verification. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on (pp. 3025-3032). IEEE.

Chen, B. C., Chen, C. S., & Hsu, W. (2014). Review and Implementation of High-Dimensional Local Binary Patterns and Its Application to Face Recognition. Inst. Inf. Sci., Academia Sinica, Taipei, Taiwan, Tech. Rep. TR-IIS-14-003.

implementation: https://github.com/bcsiriuschen/High-Dimensional-LBP

BACKGROUND SUBTRACTION

  • Background subtraction: BGSLibrary

implementation: https://github.com/andrewssobral/bgslibrary

Sobral, A. (2013, June). BGSLibrary: An opencv c++ background subtraction library. In IX Workshop de Visao Computacional (WVC’2013), Rio de Janeiro, Brazil.

Vehicle Detection, Tracking and Counting

  • Vehicle Detection, Tracking and Counting

web page: https://www.behance.net/gallery/Vehicle-Detection-Tracking-and-Counting/4057777

Vehicle tracking using Haar Cascades or Background Subtraction (BS)

AUGMENTED REALITY

  • Marker Detection for AR Applications

https://infi.nl/nieuws/marker-detection-for-augmented-reality-applications/

Hirzer, M. (2008, October). Marker detection for augmented reality applications. In Seminar/Project Image Analysis Graz.(http://studierstube.icg.tugraz.at/thesis/marker_detection.pdf)

Source code: https://infi.nl/files/overig/MarkerDetectionSource.zip

Informative algorithms related to opencv

Based on the idea proposed in Informative websites related to OpenCV by Sturkmen, I think that it would also be useful to create a list about implementations based on papers and publications:

  1. implemented with OpenCV and/or
  2. that can be used/integrated easily with OpenCV

(maybe one toy example with each one would be fantastic)

As OpenCV is under the open-source BSD license, it would also be interesting that these algorithms would be BSD or similar. So, I am going to put my list (Maybe some algorithms should not be in this list, so do it together!).


TRACKING

  • Object tracking

  • Real-time Compressive Tracking

(http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm) implementation integrated with opencv

Zhang, K., Zhang, L., & Yang, M. H. (2012). Real-time compressive tracking. In Computer Vision–ECCV 2012 (pp. 864-877). Springer Berlin Heidelberg.

  • Accurate scale estimation for robust visual tracking

Implemented in DLIB library http://dlib.net/

Danelljan, M., Häger, G., Khan, F., & Felsberg, M. (2014). Accurate scale estimation for robust visual tracking. In British Machine Vision Conference, Nottingham, September 1-5, 2014. BMVA Press. (winning algorithm from last year's Visual Object Tracking Challenge. )

FACE PROCESSING

  • Face pre-processing

  • Tan&Triggs processing

A efficient image pre-processing normalization algorithm to deal with difficult lighting conditions: Tan, X., & Triggs, B. (2010). Enhanced local texture feature sets for face recognition under difficult lighting conditions. Image Processing, IEEE Transactions on, 19(6), 1635-1650.

implementation: https://github.com/bytefish/opencv/blob/master/misc/tan_triggs.cpp (BSD license)

  • Real-Time Face Pose Estimation

One Millisecond Face Alignment with an Ensemble of Regression Trees Kazemi, V., & Sullivan, J. (2014, June). One millisecond face alignment with an ensemble of regression trees. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on (pp. 1867-1874). IEEE.

Implemented in DLIB library http://dlib.net/

demo snippet: https://gist.github.com/berak/b23262a9cb08a9d0a6d3#file-dlib-landmarks-example

  • Face landmarks detector (face alignment)

Cao X, Wei Y, Wen F, et al. Face alignment by explicit shape regression[J]. International Journal of Computer Vision, 2014, 107(2): 177-190.

implementation: https://github.com/delphifirst/FaceX/

demo snippet: https://gist.github.com/berak/79aeb39b59222917c558#file-facex-example

  • Eye localization: Average of Synthetic Exact Filters

Bolme, D. S., Draper, B., & Beveridge, J. R. (2009, June). Average of synthetic exact filters. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on (pp. 2105-2112). IEEE.

implementation: https://github.com/laoyang/ASEF

  • Eye localization: Accurate eye centre localisation by means of gradient

Timm, F., & Barth, E. (2011, March). Accurate Eye Centre Localisation by Means of Gradients. In VISAPP (pp. 125-130).

implementation: https://github.com/trishume/eyeLike

FACE DETECTION

  • PICO Face detection

N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees", http://arxiv.org/abs/1305.4537

implementation: https://github.com/nenadmarkus/pico

license: https://github.com/nenadmarkus/pico/blob/master/LICENSE

FRAMEWORKS

  • Deep learning: CAFFE

Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., ... & Darrell, T. (2014, November). Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the ACM International Conference on Multimedia (pp. 675-678). ACM.

Caffe is released under the BSD 2-Clause license.

http://caffe.berkeleyvision.org/

CAFFE & Opencv: http://answers.opencv.org/question/72321/how-can-caffe-be-interfaced-using-opencv/

  • Machine learning framework: mlpack

mlpack: a scalable C++ machine learning library http://mlpack.org/

Curtin, R. R., Cline, J. R., Slagle, N. P., March, W. B., Ram, P., Mehta, N. A., & Gray, A. G. (2013). MLPACK: A scalable C++ machine learning library. The Journal of Machine Learning Research, 14(1), 801-805.

implementation: https://github.com/mlpack/mlpack (BSD License)

  • Machine learning framework: LIBSVM

LIBSVM -- A Library for Support Vector Machines https://www.csie.ntu.edu.tw/~cjlin/libsvm/

Chang, C. C., & Lin, C. J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology (TIST), 2(3), 27.

  • Framework for face processing and recognition

Open Source Biometric Recognition http://openbiometrics.org/ License: Apache 2.0 (requires Qt and OpenCV).

Klontz, J. C., Klare, B. F., Klum, S., Jain, A. K., & Burge, M. J. (2013, September). Open source biometric recognition. In Biometrics: Theory, Applications and Systems (BTAS), 2013 IEEE Sixth International Conference on (pp. 1-8). IEEE.

  • general purpose library

Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. It is open source software and licensed under the Boost Software License. http://dlib.net/

OpenCV image objects can be converted into a form usable by dlib routines by using cv_image. You can also convert from a dlib matrix or image to an OpenCV Mat using dlib::toMat().

  • human action recognition

https://github.com/DAIGroup/BagOfKeyPoses

License: Apache 2.0 License

Chaaraoui, A. A., Climent-Pérez, P., & Flórez-Revuelta, F. (2013). Silhouette-based human action recognition using sequences of key poses. Pattern Recognition Letters, 34(15), 1799-1807. http://dx.doi.org/10.1016/j.patrec.2013.01.021

TEXTURE DESCRIPTORS

  • LBP Modification: High-Dimensional-LBP

implementation of high dimensional lbp feature for face recognition based on Chen, D., Cao, X., Wen, F., & Sun, J. (2013, June). Blessing of dimensionality: High-dimensional feature and its efficient compression for face verification. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on (pp. 3025-3032). IEEE.

Chen, B. C., Chen, C. S., & Hsu, W. (2014). Review and Implementation of High-Dimensional Local Binary Patterns and Its Application to Face Recognition. Inst. Inf. Sci., Academia Sinica, Taipei, Taiwan, Tech. Rep. TR-IIS-14-003.

implementation: https://github.com/bcsiriuschen/High-Dimensional-LBP

  • Local Quantized Patterns (LQP)

implementation: https://github.com/franklan/LQP

(The project is based on the Opencv library when dealing with the pixels.)

ul Hussain, S., & Triggs, B. (2012). Visual recognition using local quantized patterns. In Computer Vision–ECCV 2012 (pp. 716-729). Springer Berlin Heidelberg.

Hussain, S. U., Napoléon, T., & Jurie, F. (2012). Face recognition using local quantized patterns. In British Machive Vision Conference (pp. 11-pages).

BACKGROUND SUBTRACTION

  • Background subtraction: BGSLibrary

implementation: https://github.com/andrewssobral/bgslibrary

Sobral, A. (2013, June). BGSLibrary: An opencv c++ background subtraction library. In IX Workshop de Visao Computacional (WVC’2013), Rio de Janeiro, Brazil.

Vehicle Detection, Tracking and Counting

  • Vehicle Detection, Tracking and Counting

web page: https://www.behance.net/gallery/Vehicle-Detection-Tracking-and-Counting/4057777

Vehicle tracking using Haar Cascades or Background Subtraction (BS)

AUGMENTED REALITY

  • Marker Detection for AR Applications

https://infi.nl/nieuws/marker-detection-for-augmented-reality-applications/

Hirzer, M. (2008, October). Marker detection for augmented reality applications. In Seminar/Project Image Analysis Graz.(http://studierstube.icg.tugraz.at/thesis/marker_detection.pdf)

Source code: https://infi.nl/files/overig/MarkerDetectionSource.zip

click to hide/show revision 8
retagged

Informative algorithms related to opencv

Based on the idea proposed in Informative websites related to OpenCV by Sturkmen, I think that it would also be useful to create a list about implementations based on papers and publications:

  1. implemented with OpenCV and/or
  2. that can be used/integrated easily with OpenCV

(maybe one toy example with each one would be fantastic)

As OpenCV is under the open-source BSD license, it would also be interesting that these algorithms would be BSD or similar. So, I am going to put my list (Maybe some algorithms should not be in this list, so do it together!).


TRACKING

  • Object tracking

  • Real-time Compressive Tracking

(http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm) implementation integrated with opencv

Zhang, K., Zhang, L., & Yang, M. H. (2012). Real-time compressive tracking. In Computer Vision–ECCV 2012 (pp. 864-877). Springer Berlin Heidelberg.

  • Accurate scale estimation for robust visual tracking

Implemented in DLIB library http://dlib.net/

Danelljan, M., Häger, G., Khan, F., & Felsberg, M. (2014). Accurate scale estimation for robust visual tracking. In British Machine Vision Conference, Nottingham, September 1-5, 2014. BMVA Press. (winning algorithm from last year's Visual Object Tracking Challenge. )

FACE PROCESSING

  • Face pre-processing

  • Tan&Triggs processing

A efficient image pre-processing normalization algorithm to deal with difficult lighting conditions: Tan, X., & Triggs, B. (2010). Enhanced local texture feature sets for face recognition under difficult lighting conditions. Image Processing, IEEE Transactions on, 19(6), 1635-1650.

implementation: https://github.com/bytefish/opencv/blob/master/misc/tan_triggs.cpp (BSD license)

  • Real-Time Face Pose Estimation

One Millisecond Face Alignment with an Ensemble of Regression Trees Kazemi, V., & Sullivan, J. (2014, June). One millisecond face alignment with an ensemble of regression trees. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on (pp. 1867-1874). IEEE.

Implemented in DLIB library http://dlib.net/

demo snippet: https://gist.github.com/berak/b23262a9cb08a9d0a6d3#file-dlib-landmarks-example

  • Face landmarks detector (face alignment)

Cao X, Wei Y, Wen F, et al. Face alignment by explicit shape regression[J]. International Journal of Computer Vision, 2014, 107(2): 177-190.

implementation: https://github.com/delphifirst/FaceX/

demo snippet: https://gist.github.com/berak/79aeb39b59222917c558#file-facex-example

  • Eye localization: Average of Synthetic Exact Filters

Bolme, D. S., Draper, B., & Beveridge, J. R. (2009, June). Average of synthetic exact filters. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on (pp. 2105-2112). IEEE.

implementation: https://github.com/laoyang/ASEF

  • Eye localization: Accurate eye centre localisation by means of gradient

Timm, F., & Barth, E. (2011, March). Accurate Eye Centre Localisation by Means of Gradients. In VISAPP (pp. 125-130).

implementation: https://github.com/trishume/eyeLike

FACE DETECTION

  • PICO Face detection

N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees", http://arxiv.org/abs/1305.4537

implementation: https://github.com/nenadmarkus/pico

license: https://github.com/nenadmarkus/pico/blob/master/LICENSE

FRAMEWORKS

  • Deep learning: CAFFE

Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., ... & Darrell, T. (2014, November). Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the ACM International Conference on Multimedia (pp. 675-678). ACM.

Caffe is released under the BSD 2-Clause license.

http://caffe.berkeleyvision.org/

CAFFE & Opencv: http://answers.opencv.org/question/72321/how-can-caffe-be-interfaced-using-opencv/

  • Machine learning framework: mlpack

mlpack: a scalable C++ machine learning library http://mlpack.org/

Curtin, R. R., Cline, J. R., Slagle, N. P., March, W. B., Ram, P., Mehta, N. A., & Gray, A. G. (2013). MLPACK: A scalable C++ machine learning library. The Journal of Machine Learning Research, 14(1), 801-805.

implementation: https://github.com/mlpack/mlpack (BSD License)

  • Machine learning framework: LIBSVM

LIBSVM -- A Library for Support Vector Machines https://www.csie.ntu.edu.tw/~cjlin/libsvm/

Chang, C. C., & Lin, C. J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology (TIST), 2(3), 27.

  • Framework for face processing and recognition

Open Source Biometric Recognition http://openbiometrics.org/ License: Apache 2.0 (requires Qt and OpenCV).

Klontz, J. C., Klare, B. F., Klum, S., Jain, A. K., & Burge, M. J. (2013, September). Open source biometric recognition. In Biometrics: Theory, Applications and Systems (BTAS), 2013 IEEE Sixth International Conference on (pp. 1-8). IEEE.

  • general purpose library

Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. It is open source software and licensed under the Boost Software License. http://dlib.net/

OpenCV image objects can be converted into a form usable by dlib routines by using cv_image. You can also convert from a dlib matrix or image to an OpenCV Mat using dlib::toMat().

  • human action recognition

https://github.com/DAIGroup/BagOfKeyPoses

License: Apache 2.0 License

Chaaraoui, A. A., Climent-Pérez, P., & Flórez-Revuelta, F. (2013). Silhouette-based human action recognition using sequences of key poses. Pattern Recognition Letters, 34(15), 1799-1807. http://dx.doi.org/10.1016/j.patrec.2013.01.021

TEXTURE DESCRIPTORS

  • LBP Modification: High-Dimensional-LBP

implementation of high dimensional lbp feature for face recognition based on Chen, D., Cao, X., Wen, F., & Sun, J. (2013, June). Blessing of dimensionality: High-dimensional feature and its efficient compression for face verification. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on (pp. 3025-3032). IEEE.

Chen, B. C., Chen, C. S., & Hsu, W. (2014). Review and Implementation of High-Dimensional Local Binary Patterns and Its Application to Face Recognition. Inst. Inf. Sci., Academia Sinica, Taipei, Taiwan, Tech. Rep. TR-IIS-14-003.

implementation: https://github.com/bcsiriuschen/High-Dimensional-LBP

  • Local Quantized Patterns (LQP)

implementation: https://github.com/franklan/LQP

(The project is based on the Opencv library when dealing with the pixels.)

ul Hussain, S., & Triggs, B. (2012). Visual recognition using local quantized patterns. In Computer Vision–ECCV 2012 (pp. 716-729). Springer Berlin Heidelberg.

Hussain, S. U., Napoléon, T., & Jurie, F. (2012). Face recognition using local quantized patterns. In British Machive Vision Conference (pp. 11-pages).

BACKGROUND SUBTRACTION

  • Background subtraction: BGSLibrary

implementation: https://github.com/andrewssobral/bgslibrary

Sobral, A. (2013, June). BGSLibrary: An opencv c++ background subtraction library. In IX Workshop de Visao Computacional (WVC’2013), Rio de Janeiro, Brazil.

Vehicle Detection, Tracking and Counting

  • Vehicle Detection, Tracking and Counting

web page: https://www.behance.net/gallery/Vehicle-Detection-Tracking-and-Counting/4057777

Vehicle tracking using Haar Cascades or Background Subtraction (BS)

AUGMENTED REALITY

  • Marker Detection for AR Applications

https://infi.nl/nieuws/marker-detection-for-augmented-reality-applications/

Hirzer, M. (2008, October). Marker detection for augmented reality applications. In Seminar/Project Image Analysis Graz.(http://studierstube.icg.tugraz.at/thesis/marker_detection.pdf)

Source code: https://infi.nl/files/overig/MarkerDetectionSource.zip

Informative algorithms related to opencv

Based on the idea proposed in Informative websites related to OpenCV by Sturkmen, I think that it would also be useful to create a list about implementations based on papers and publications:

  1. implemented with OpenCV and/or
  2. that can be used/integrated easily with OpenCV

(maybe one toy example with each one would be fantastic)

As OpenCV is under the open-source BSD license, it would also be interesting that these algorithms would be BSD or similar. So, I am going to put my list (Maybe some algorithms should not be in this list, so do it together!).


TRACKING

  • Object tracking

  • Real-time Compressive Tracking

(http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm) implementation integrated with opencv

Zhang, K., Zhang, L., & Yang, M. H. (2012). Real-time compressive tracking. In Computer Vision–ECCV 2012 (pp. 864-877). Springer Berlin Heidelberg.

  • Accurate scale estimation for robust visual tracking

Implemented in DLIB library http://dlib.net/

Danelljan, M., Häger, G., Khan, F., & Felsberg, M. (2014). Accurate scale estimation for robust visual tracking. In British Machine Vision Conference, Nottingham, September 1-5, 2014. BMVA Press. (winning algorithm from last year's Visual Object Tracking Challenge. )

FACE PROCESSING

  • Face pre-processing

  • Tan&Triggs processing

A efficient image pre-processing normalization algorithm to deal with difficult lighting conditions: Tan, X., & Triggs, B. (2010). Enhanced local texture feature sets for face recognition under difficult lighting conditions. Image Processing, IEEE Transactions on, 19(6), 1635-1650.

implementation: https://github.com/bytefish/opencv/blob/master/misc/tan_triggs.cpp (BSD license)

  • Real-Time Face Pose Estimation

One Millisecond Face Alignment with an Ensemble of Regression Trees Kazemi, V., & Sullivan, J. (2014, June). One millisecond face alignment with an ensemble of regression trees. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on (pp. 1867-1874). IEEE.

Implemented in DLIB library http://dlib.net/

demo snippet: https://gist.github.com/berak/b23262a9cb08a9d0a6d3#file-dlib-landmarks-example

  • Face landmarks detector (face alignment)

Cao X, Wei Y, Wen F, et al. Face alignment by explicit shape regression[J]. International Journal of Computer Vision, 2014, 107(2): 177-190.

implementation: https://github.com/delphifirst/FaceX/

demo snippet: https://gist.github.com/berak/79aeb39b59222917c558#file-facex-example

  • Eye localization: Average of Synthetic Exact Filters

Bolme, D. S., Draper, B., & Beveridge, J. R. (2009, June). Average of synthetic exact filters. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on (pp. 2105-2112). IEEE.

implementation: https://github.com/laoyang/ASEF

  • Eye localization: Accurate eye centre localisation by means of gradient

Timm, F., & Barth, E. (2011, March). Accurate Eye Centre Localisation by Means of Gradients. In VISAPP (pp. 125-130).

implementation: https://github.com/trishume/eyeLike

FACE DETECTION

  • PICO Face detection

N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees", http://arxiv.org/abs/1305.4537

implementation: https://github.com/nenadmarkus/pico

license: https://github.com/nenadmarkus/pico/blob/master/LICENSE

FACE RECOGNITION

  • Facenet

implementation: https://github.com/cmusatyalab/openface license: Apache License Version 2.0

This implementation uses Opencv in several steps

Schroff, F., Kalenichenko, D., & Philbin, J. (2015). Facenet: A unified embedding for face recognition and clustering. arXiv preprint arXiv:1503.03832.

FRAMEWORKS

  • Deep learning: CAFFE

Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., ... & Darrell, T. (2014, November). Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the ACM International Conference on Multimedia (pp. 675-678). ACM.

Caffe is released under the BSD 2-Clause license.

http://caffe.berkeleyvision.org/

CAFFE & Opencv: http://answers.opencv.org/question/72321/how-can-caffe-be-interfaced-using-opencv/

  • Machine learning framework: mlpack

mlpack: a scalable C++ machine learning library http://mlpack.org/

Curtin, R. R., Cline, J. R., Slagle, N. P., March, W. B., Ram, P., Mehta, N. A., & Gray, A. G. (2013). MLPACK: A scalable C++ machine learning library. The Journal of Machine Learning Research, 14(1), 801-805.

implementation: https://github.com/mlpack/mlpack (BSD License)

  • Machine learning framework: LIBSVM

LIBSVM -- A Library for Support Vector Machines https://www.csie.ntu.edu.tw/~cjlin/libsvm/

Chang, C. C., & Lin, C. J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology (TIST), 2(3), 27.

  • Framework for face processing and recognition

Open Source Biometric Recognition http://openbiometrics.org/ License: Apache 2.0 (requires Qt and OpenCV).

Klontz, J. C., Klare, B. F., Klum, S., Jain, A. K., & Burge, M. J. (2013, September). Open source biometric recognition. In Biometrics: Theory, Applications and Systems (BTAS), 2013 IEEE Sixth International Conference on (pp. 1-8). IEEE.

  • general purpose library

Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. It is open source software and licensed under the Boost Software License. http://dlib.net/

OpenCV image objects can be converted into a form usable by dlib routines by using cv_image. You can also convert from a dlib matrix or image to an OpenCV Mat using dlib::toMat().

  • human action recognition

https://github.com/DAIGroup/BagOfKeyPoses

License: Apache 2.0 License

Chaaraoui, A. A., Climent-Pérez, P., & Flórez-Revuelta, F. (2013). Silhouette-based human action recognition using sequences of key poses. Pattern Recognition Letters, 34(15), 1799-1807. http://dx.doi.org/10.1016/j.patrec.2013.01.021

TEXTURE DESCRIPTORS

  • LBP Modification: High-Dimensional-LBP

implementation of high dimensional lbp feature for face recognition based on Chen, D., Cao, X., Wen, F., & Sun, J. (2013, June). Blessing of dimensionality: High-dimensional feature and its efficient compression for face verification. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on (pp. 3025-3032). IEEE.

Chen, B. C., Chen, C. S., & Hsu, W. (2014). Review and Implementation of High-Dimensional Local Binary Patterns and Its Application to Face Recognition. Inst. Inf. Sci., Academia Sinica, Taipei, Taiwan, Tech. Rep. TR-IIS-14-003.

implementation: https://github.com/bcsiriuschen/High-Dimensional-LBP

  • Local Quantized Patterns (LQP)

implementation: https://github.com/franklan/LQP

(The project is based on the Opencv library when dealing with the pixels.)

ul Hussain, S., & Triggs, B. (2012). Visual recognition using local quantized patterns. In Computer Vision–ECCV 2012 (pp. 716-729). Springer Berlin Heidelberg.

Hussain, S. U., Napoléon, T., & Jurie, F. (2012). Face recognition using local quantized patterns. In British Machive Vision Conference (pp. 11-pages).

BACKGROUND SUBTRACTION

  • Background subtraction: BGSLibrary

implementation: https://github.com/andrewssobral/bgslibrary

Sobral, A. (2013, June). BGSLibrary: An opencv c++ background subtraction library. In IX Workshop de Visao Computacional (WVC’2013), Rio de Janeiro, Brazil.

Vehicle Detection, Tracking and Counting

  • Vehicle Detection, Tracking and Counting

web page: https://www.behance.net/gallery/Vehicle-Detection-Tracking-and-Counting/4057777

Vehicle tracking using Haar Cascades or Background Subtraction (BS)

AUGMENTED REALITY

  • Marker Detection for AR Applications

https://infi.nl/nieuws/marker-detection-for-augmented-reality-applications/

Hirzer, M. (2008, October). Marker detection for augmented reality applications. In Seminar/Project Image Analysis Graz.(http://studierstube.icg.tugraz.at/thesis/marker_detection.pdf)

Source code: https://infi.nl/files/overig/MarkerDetectionSource.zip

Informative algorithms related to opencv

Based on the idea proposed in Informative websites related to OpenCV by Sturkmen, I think that it would also be useful to create a list about implementations based on papers and publications:

  1. implemented with OpenCV and/or
  2. that can be used/integrated easily with OpenCV

(maybe one toy example with each one would be fantastic)

As OpenCV is under the open-source BSD license, it would also be interesting that these algorithms would be BSD or similar. So, I am going to put my list (Maybe some algorithms should not be in this list, so do it together!).


TRACKING

  • Object tracking

  • Real-time Compressive Tracking

(http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm) implementation integrated with opencv

Zhang, K., Zhang, L., & Yang, M. H. (2012). Real-time compressive tracking. In Computer Vision–ECCV 2012 (pp. 864-877). Springer Berlin Heidelberg.

  • Accurate scale estimation for robust visual tracking

Implemented in DLIB library http://dlib.net/

Danelljan, M., Häger, G., Khan, F., & Felsberg, M. (2014). Accurate scale estimation for robust visual tracking. In British Machine Vision Conference, Nottingham, September 1-5, 2014. BMVA Press. (winning algorithm from last year's Visual Object Tracking Challenge. )

FACE PROCESSING

  • Face pre-processing

  • Tan&Triggs processing

A efficient image pre-processing normalization algorithm to deal with difficult lighting conditions: Tan, X., & Triggs, B. (2010). Enhanced local texture feature sets for face recognition under difficult lighting conditions. Image Processing, IEEE Transactions on, 19(6), 1635-1650.

implementation: https://github.com/bytefish/opencv/blob/master/misc/tan_triggs.cpp (BSD license)

  • Real-Time Face Pose Estimation

One Millisecond Face Alignment with an Ensemble of Regression Trees Kazemi, V., & Sullivan, J. (2014, June). One millisecond face alignment with an ensemble of regression trees. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on (pp. 1867-1874). IEEE.

Implemented in DLIB library http://dlib.net/

demo snippet: https://gist.github.com/berak/b23262a9cb08a9d0a6d3#file-dlib-landmarks-example

  • Face landmarks detector (face alignment)

Cao X, Wei Y, Wen F, et al. Face alignment by explicit shape regression[J]. International Journal of Computer Vision, 2014, 107(2): 177-190.

implementation: https://github.com/delphifirst/FaceX/

demo snippet: https://gist.github.com/berak/79aeb39b59222917c558#file-facex-example

  • Eye localization: Average of Synthetic Exact Filters

Bolme, D. S., Draper, B., & Beveridge, J. R. (2009, June). Average of synthetic exact filters. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on (pp. 2105-2112). IEEE.

implementation: https://github.com/laoyang/ASEF

  • Eye localization: Accurate eye centre localisation by means of gradient

Timm, F., & Barth, E. (2011, March). Accurate Eye Centre Localisation by Means of Gradients. In VISAPP (pp. 125-130).

implementation: https://github.com/trishume/eyeLike

FACE DETECTION

  • PICO Face detection

N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees", http://arxiv.org/abs/1305.4537

implementation: https://github.com/nenadmarkus/pico

license: https://github.com/nenadmarkus/pico/blob/master/LICENSE

FACE RECOGNITION

  • Facenet

FaceNet: A Unified Embedding for Face Recognition and Clustering

This is a Python and Torch implementation of the CVPR 2015 paper FaceNet: A Unified Embedding for Face Recognition and Clustering by Florian Schroff, Dmitry Kalenichenko, and James Philbin at Google using publicly available libraries and datasets. Torch allows the network to be executed on a CPU or with CUDA.

implementation: https://github.com/cmusatyalab/openface license: Apache License Version 2.0

This implementation uses Opencv in several steps

Schroff, F., Kalenichenko, D., & Philbin, J. (2015). Facenet: A unified embedding for face recognition and clustering. arXiv preprint arXiv:1503.03832.

FRAMEWORKS

  • Deep learning: CAFFE

Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., ... & Darrell, T. (2014, November). Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the ACM International Conference on Multimedia (pp. 675-678). ACM.

Caffe is released under the BSD 2-Clause license.

http://caffe.berkeleyvision.org/

CAFFE & Opencv: http://answers.opencv.org/question/72321/how-can-caffe-be-interfaced-using-opencv/

  • Machine learning framework: mlpack

mlpack: a scalable C++ machine learning library http://mlpack.org/

Curtin, R. R., Cline, J. R., Slagle, N. P., March, W. B., Ram, P., Mehta, N. A., & Gray, A. G. (2013). MLPACK: A scalable C++ machine learning library. The Journal of Machine Learning Research, 14(1), 801-805.

implementation: https://github.com/mlpack/mlpack (BSD License)

  • Machine learning framework: LIBSVM

LIBSVM -- A Library for Support Vector Machines https://www.csie.ntu.edu.tw/~cjlin/libsvm/

Chang, C. C., & Lin, C. J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology (TIST), 2(3), 27.

  • Framework for face processing and recognition

Open Source Biometric Recognition http://openbiometrics.org/ License: Apache 2.0 (requires Qt and OpenCV).

Klontz, J. C., Klare, B. F., Klum, S., Jain, A. K., & Burge, M. J. (2013, September). Open source biometric recognition. In Biometrics: Theory, Applications and Systems (BTAS), 2013 IEEE Sixth International Conference on (pp. 1-8). IEEE.

  • general purpose library

Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. It is open source software and licensed under the Boost Software License. http://dlib.net/

OpenCV image objects can be converted into a form usable by dlib routines by using cv_image. You can also convert from a dlib matrix or image to an OpenCV Mat using dlib::toMat().

  • human action recognition

https://github.com/DAIGroup/BagOfKeyPoses

License: Apache 2.0 License

Chaaraoui, A. A., Climent-Pérez, P., & Flórez-Revuelta, F. (2013). Silhouette-based human action recognition using sequences of key poses. Pattern Recognition Letters, 34(15), 1799-1807. http://dx.doi.org/10.1016/j.patrec.2013.01.021

TEXTURE DESCRIPTORS

  • LBP Modification: High-Dimensional-LBP

implementation of high dimensional lbp feature for face recognition based on Chen, D., Cao, X., Wen, F., & Sun, J. (2013, June). Blessing of dimensionality: High-dimensional feature and its efficient compression for face verification. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on (pp. 3025-3032). IEEE.

Chen, B. C., Chen, C. S., & Hsu, W. (2014). Review and Implementation of High-Dimensional Local Binary Patterns and Its Application to Face Recognition. Inst. Inf. Sci., Academia Sinica, Taipei, Taiwan, Tech. Rep. TR-IIS-14-003.

implementation: https://github.com/bcsiriuschen/High-Dimensional-LBP

  • Local Quantized Patterns (LQP)

implementation: https://github.com/franklan/LQP

(The project is based on the Opencv library when dealing with the pixels.)

ul Hussain, S., & Triggs, B. (2012). Visual recognition using local quantized patterns. In Computer Vision–ECCV 2012 (pp. 716-729). Springer Berlin Heidelberg.

Hussain, S. U., Napoléon, T., & Jurie, F. (2012). Face recognition using local quantized patterns. In British Machive Vision Conference (pp. 11-pages).

BACKGROUND SUBTRACTION

  • Background subtraction: BGSLibrary

implementation: https://github.com/andrewssobral/bgslibrary

Sobral, A. (2013, June). BGSLibrary: An opencv c++ background subtraction library. In IX Workshop de Visao Computacional (WVC’2013), Rio de Janeiro, Brazil.

Vehicle Detection, Tracking and Counting

  • Vehicle Detection, Tracking and Counting

web page: https://www.behance.net/gallery/Vehicle-Detection-Tracking-and-Counting/4057777

Vehicle tracking using Haar Cascades or Background Subtraction (BS)

AUGMENTED REALITY

  • Marker Detection for AR Applications

https://infi.nl/nieuws/marker-detection-for-augmented-reality-applications/

Hirzer, M. (2008, October). Marker detection for augmented reality applications. In Seminar/Project Image Analysis Graz.(http://studierstube.icg.tugraz.at/thesis/marker_detection.pdf)

Source code: https://infi.nl/files/overig/MarkerDetectionSource.zip

Informative algorithms related to opencv

Based on the idea proposed in Informative websites related to OpenCV by Sturkmen, I think that it would also be useful to create a list about implementations based on papers and publications:

  1. implemented with OpenCV and/or
  2. that can be used/integrated easily with OpenCV

(maybe one toy example with each one would be fantastic)

As OpenCV is under the open-source BSD license, it would also be interesting that these algorithms would be BSD or similar. So, I am going to put my list (Maybe some algorithms should not be in this list, so do it together!).


TRACKING

  • Object tracking

  • Real-time Compressive Tracking

(http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm) implementation integrated with opencv

Zhang, K., Zhang, L., & Yang, M. H. (2012). Real-time compressive tracking. In Computer Vision–ECCV 2012 (pp. 864-877). Springer Berlin Heidelberg.

  • Accurate scale estimation for robust visual tracking

Implemented in DLIB library http://dlib.net/

Danelljan, M., Häger, G., Khan, F., & Felsberg, M. (2014). Accurate scale estimation for robust visual tracking. In British Machine Vision Conference, Nottingham, September 1-5, 2014. BMVA Press. (winning algorithm from last year's Visual Object Tracking Challenge. )

FACE PROCESSING

  • Face pre-processing

  • Tan&Triggs processing

A efficient image pre-processing normalization algorithm to deal with difficult lighting conditions: Tan, X., & Triggs, B. (2010). Enhanced local texture feature sets for face recognition under difficult lighting conditions. Image Processing, IEEE Transactions on, 19(6), 1635-1650.

implementation: https://github.com/bytefish/opencv/blob/master/misc/tan_triggs.cpp (BSD license)

  • Real-Time Face Pose Estimation

One Millisecond Face Alignment with an Ensemble of Regression Trees Kazemi, V., & Sullivan, J. (2014, June). One millisecond face alignment with an ensemble of regression trees. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on (pp. 1867-1874). IEEE.

Implemented in DLIB library http://dlib.net/

demo snippet: https://gist.github.com/berak/b23262a9cb08a9d0a6d3#file-dlib-landmarks-example

  • Face landmarks detector (face alignment)

Cao X, Wei Y, Wen F, et al. Face alignment by explicit shape regression[J]. International Journal of Computer Vision, 2014, 107(2): 177-190.

implementation: https://github.com/delphifirst/FaceX/

demo snippet: https://gist.github.com/berak/79aeb39b59222917c558#file-facex-example

  • Eye localization: Average of Synthetic Exact Filters

Bolme, D. S., Draper, B., & Beveridge, J. R. (2009, June). Average of synthetic exact filters. In Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on (pp. 2105-2112). IEEE.

implementation: https://github.com/laoyang/ASEF

  • Eye localization: Accurate eye centre localisation by means of gradient

Timm, F., & Barth, E. (2011, March). Accurate Eye Centre Localisation by Means of Gradients. In VISAPP (pp. 125-130).

implementation: https://github.com/trishume/eyeLike

  • Eye pupil localization (tracking)

Markuš, N., Frljak, M., Pandžić, I. S., Ahlberg, J., & Forchheimer, R. (2014). Eye pupil localization with an ensemble of randomized trees. Pattern recognition, 47(2), 578-587.

implementation: https://github.com/chrisjryan/eye-tracker

youtube video: https://www.youtube.com/watch?v=7J30yNHlXlQ

(This method uses the OpenCV library to identify eyes on faces and prepare these sub-images with previously-landmarked pupil information.)

FACE DETECTION

  • PICO Face detection

N. Markus, M. Frljak, I. S. Pandzic, J. Ahlberg and R. Forchheimer, "Object Detection with Pixel Intensity Comparisons Organized in Decision Trees", http://arxiv.org/abs/1305.4537

implementation: https://github.com/nenadmarkus/pico

license: https://github.com/nenadmarkus/pico/blob/master/LICENSE

FACE RECOGNITION

  • Facenet

FaceNet: A Unified Embedding for Face Recognition and Clustering

This is a Python and Torch implementation of the CVPR 2015 paper FaceNet: A Unified Embedding for Face Recognition and Clustering by Florian Schroff, Dmitry Kalenichenko, and James Philbin at Google using publicly available libraries and datasets. Torch allows the network to be executed on a CPU or with CUDA.

implementation: https://github.com/cmusatyalab/openface license: Apache License Version 2.0

This implementation uses Opencv in several steps

Schroff, F., Kalenichenko, D., & Philbin, J. (2015). Facenet: A unified embedding for face recognition and clustering. arXiv preprint arXiv:1503.03832.

FRAMEWORKS

  • Deep learning: CAFFE

Jia, Y., Shelhamer, E., Donahue, J., Karayev, S., Long, J., Girshick, R., ... & Darrell, T. (2014, November). Caffe: Convolutional architecture for fast feature embedding. In Proceedings of the ACM International Conference on Multimedia (pp. 675-678). ACM.

Caffe is released under the BSD 2-Clause license.

http://caffe.berkeleyvision.org/

CAFFE & Opencv: http://answers.opencv.org/question/72321/how-can-caffe-be-interfaced-using-opencv/

  • Machine learning framework: mlpack

mlpack: a scalable C++ machine learning library http://mlpack.org/

Curtin, R. R., Cline, J. R., Slagle, N. P., March, W. B., Ram, P., Mehta, N. A., & Gray, A. G. (2013). MLPACK: A scalable C++ machine learning library. The Journal of Machine Learning Research, 14(1), 801-805.

implementation: https://github.com/mlpack/mlpack (BSD License)

  • Machine learning framework: LIBSVM

LIBSVM -- A Library for Support Vector Machines https://www.csie.ntu.edu.tw/~cjlin/libsvm/

Chang, C. C., & Lin, C. J. (2011). LIBSVM: A library for support vector machines. ACM Transactions on Intelligent Systems and Technology (TIST), 2(3), 27.

  • Framework for face processing and recognition

Open Source Biometric Recognition http://openbiometrics.org/ License: Apache 2.0 (requires Qt and OpenCV).

Klontz, J. C., Klare, B. F., Klum, S., Jain, A. K., & Burge, M. J. (2013, September). Open source biometric recognition. In Biometrics: Theory, Applications and Systems (BTAS), 2013 IEEE Sixth International Conference on (pp. 1-8). IEEE.

  • general purpose library

Dlib is a general purpose cross-platform C++ library designed using contract programming and modern C++ techniques. It is open source software and licensed under the Boost Software License. http://dlib.net/

OpenCV image objects can be converted into a form usable by dlib routines by using cv_image. You can also convert from a dlib matrix or image to an OpenCV Mat using dlib::toMat().

  • human action recognition

https://github.com/DAIGroup/BagOfKeyPoses

License: Apache 2.0 License

Chaaraoui, A. A., Climent-Pérez, P., & Flórez-Revuelta, F. (2013). Silhouette-based human action recognition using sequences of key poses. Pattern Recognition Letters, 34(15), 1799-1807. http://dx.doi.org/10.1016/j.patrec.2013.01.021

TEXTURE DESCRIPTORS

  • LBP Modification: High-Dimensional-LBP

implementation of high dimensional lbp feature for face recognition based on Chen, D., Cao, X., Wen, F., & Sun, J. (2013, June). Blessing of dimensionality: High-dimensional feature and its efficient compression for face verification. In Computer Vision and Pattern Recognition (CVPR), 2013 IEEE Conference on (pp. 3025-3032). IEEE.

Chen, B. C., Chen, C. S., & Hsu, W. (2014). Review and Implementation of High-Dimensional Local Binary Patterns and Its Application to Face Recognition. Inst. Inf. Sci., Academia Sinica, Taipei, Taiwan, Tech. Rep. TR-IIS-14-003.

implementation: https://github.com/bcsiriuschen/High-Dimensional-LBP

  • Local Quantized Patterns (LQP)

implementation: https://github.com/franklan/LQP

(The project is based on the Opencv library when dealing with the pixels.)

ul Hussain, S., & Triggs, B. (2012). Visual recognition using local quantized patterns. In Computer Vision–ECCV 2012 (pp. 716-729). Springer Berlin Heidelberg.

Hussain, S. U., Napoléon, T., & Jurie, F. (2012). Face recognition using local quantized patterns. In British Machive Vision Conference (pp. 11-pages).

BACKGROUND SUBTRACTION

  • Background subtraction: BGSLibrary

implementation: https://github.com/andrewssobral/bgslibrary

Sobral, A. (2013, June). BGSLibrary: An opencv c++ background subtraction library. In IX Workshop de Visao Computacional (WVC’2013), Rio de Janeiro, Brazil.

Vehicle Detection, Tracking and Counting

  • Vehicle Detection, Tracking and Counting

web page: https://www.behance.net/gallery/Vehicle-Detection-Tracking-and-Counting/4057777

Vehicle tracking using Haar Cascades or Background Subtraction (BS)

AUGMENTED REALITY

  • Marker Detection for AR Applications

https://infi.nl/nieuws/marker-detection-for-augmented-reality-applications/

Hirzer, M. (2008, October). Marker detection for augmented reality applications. In Seminar/Project Image Analysis Graz.(http://studierstube.icg.tugraz.at/thesis/marker_detection.pdf)

Source code: https://infi.nl/files/overig/MarkerDetectionSource.zip