diff --git a/README.md b/README.md index f71f7d5..e9061c4 100644 --- a/README.md +++ b/README.md @@ -1 +1,6 @@ www.openbiometrics.org + + $ git clone https://github.com/biometrics/openbr.git + $ cd openbr + $ git submodule init + $ git submodule update diff --git a/sdk/plugins/filter.cpp b/sdk/plugins/filter.cpp index 5a0d6af..15fe345 100644 --- a/sdk/plugins/filter.cpp +++ b/sdk/plugins/filter.cpp @@ -113,6 +113,55 @@ BR_REGISTER(Transform, DoG) /*! * \ingroup transforms + * \brief Meyers, E.; Wolf, L. + * “Using biologically inspired features for face processing,” + * Int. Journal of Computer Vision, vol. 76, no. 1, pp 93–104, 2008. + * \author Scott Klum \cite sklum + */ + +class CSDN : public UntrainableTransform +{ + Q_OBJECT + + Q_PROPERTY(float s READ get_s WRITE set_s RESET reset_s STORED false) + BR_PROPERTY(int, s, 16) + + void project(const Template &src, Template &dst) const + { + if (src.m().channels() != 1) qFatal("ContrastEq::project expected single channel source matrix."); + + const int nRows = src.m().rows; + const int nCols = src.m().cols; + + Mat m; + src.m().convertTo(m, CV_32FC1); + + const int surround = s/2; + + for ( int i = 0; i < nRows; i++ ) + { + for ( int j = 0; j < nCols; j++ ) + { + int width = min( j+surround, nCols ) - max( 0, j-surround ); + int height = min( i+surround, nRows ) - max( 0, i-surround ); + + Rect_ ROI(max(0, j-surround), max(0, i-surround), width, height); + + Scalar_ avg = mean(m(ROI)); + + m.at(i,j) = m.at(i,j) - avg[0]; + } + } + + dst = m; + + } +}; + +BR_REGISTER(Transform, CSDN) + +/*! + * \ingroup transforms * \brief Xiaoyang Tan; Triggs, B.; * "Enhanced Local Texture Feature Sets for Face Recognition Under Difficult Lighting Conditions," * Image Processing, IEEE Transactions on , vol.19, no.6, pp.1635-1650, June 2010 @@ -128,7 +177,7 @@ class ContrastEq : public UntrainableTransform void project(const Template &src, Template &dst) const { - if (!src.m().channels() == 1) qFatal("ContrastEq::project expected single channel source matrix."); + if (src.m().channels() != 1) qFatal("ContrastEq::project expected single channel source matrix."); // Stage 1 Mat stage1; diff --git a/share/openbr/doc b/share/openbr/doc index 19d116e..1031e9e 160000 --- a/share/openbr/doc +++ b/share/openbr/doc @@ -1 +1 @@ -Subproject commit 19d116e16c35c55691e68ff137a48beb1f8ebf64 +Subproject commit 1031e9e416427f5dd8e9f4e7ff4dd74632626c22 diff --git a/share/openbr/openbr.bib b/share/openbr/openbr.bib index 9480bf9..562d5fc 100644 --- a/share/openbr/openbr.bib +++ b/share/openbr/openbr.bib @@ -1,151 +1,161 @@ -% OpenBR Authors -@misc{jklontz, author = {Joshua C. Klontz}, title = {jklontz at ieee.org}, howpublished = {https://github.com/jklontz}} -@misc{mburge, author = {Dr. Mark J. Burge}, title = {mburge at ieee.org}, howpublished = {https://github.com/mburge}} -@misc{bklare, author = {Dr. Brendan F. Klare}, title = {brendan.klare at ieee.org}, howpublished = {https://github.com/bklare}} -@misc{mmtaborsky, author = {M. M. Taborsky}, title = {mmtaborsky at gmail.com}, howpublished = {https://github.com/mmtaborsky}} +%% This BibTeX bibliography file was created using BibDesk. +%% http://bibdesk.sourceforge.net/ + + +%% Created for Scott Klum at 2013-01-11 13:06:08 -0500 + + +%% Saved with string encoding Unicode (UTF-8) + + + +@misc{sklum, + Author = {Scott J. Klum}, + Date-Added = {2013-01-11 18:03:58 +0000}, + Date-Modified = {2013-01-11 18:05:56 +0000}, + Howpublished = {https://github.com/sklum}, + Title = {scott.klum at gmail.com}} + +@misc{jklontz, + Author = {Joshua C. Klontz}, + Howpublished = {https://github.com/jklontz}, + Title = {jklontz at ieee.org}} + +@misc{mburge, + Author = {Dr. Mark J. Burge}, + Howpublished = {https://github.com/mburge}, + Title = {mburge at ieee.org}} + +@misc{bklare, + Author = {Dr. Brendan F. Klare}, + Howpublished = {https://github.com/bklare}, + Title = {brendan.klare at ieee.org}} + +@misc{mmtaborsky, + Author = {M. M. Taborsky}, + Howpublished = {https://github.com/mmtaborsky}, + Title = {mmtaborsky at gmail.com}} -% Software @misc{OpenBR, - author = {Joshua C. Klontz and Dr. Mark J. Burge}, - title = {{OpenBR} - {Open} {Biometric} {Recognition}}, - howpublished = {}, - year = {2012} -} + Author = {Joshua C. Klontz and Dr. Mark J. Burge}, + Title = {{OpenBR} - {Open} {Biometric} {Recognition}}, + Year = {2012}} @misc{CT8, - author = {Cognitec}, - title = {{FaceVACS-SDK} 8.5}, - howpublished = {www.cognitec-systems.de/FaceVACS-SDK.19.0.html}, - year = {2012} -} + Author = {Cognitec}, + Howpublished = {www.cognitec-systems.de/FaceVACS-SDK.19.0.html}, + Title = {{FaceVACS-SDK} 8.5}, + Year = {2012}} @misc{NEC3, - author = {NEC}, - title = {NEC {NeoFace} {SDK} 3.1.1}, - howpublished = {http://www.nec.com/en/global/solutions/security/product/neoface.html}, - year = {2012} -} + Author = {NEC}, + Howpublished = {http://www.nec.com/en/global/solutions/security/product/neoface.html}, + Title = {NEC {NeoFace} {SDK} 3.1.1}, + Year = {2012}} @misc{NT4, - author = {Neurotechnology}, - title = {Neurotec {Biometric} {SDK} 4.2}, - howpublished = {www.neurotechnology.com/megamatcher.html}, - year = {2012} -} + Author = {Neurotechnology}, + Howpublished = {www.neurotechnology.com/megamatcher.html}, + Title = {Neurotec {Biometric} {SDK} 4.2}, + Year = {2012}} @misc{PP4, - author = {PittPatt}, - title = {PittPatt {SDK} 4.2.2}, - howpublished = {www.pittpatt.com}, - year = {2010} -} + Author = {PittPatt}, + Howpublished = {www.pittpatt.com}, + Title = {PittPatt {SDK} 4.2.2}, + Year = {2010}} @misc{PP5, - author = {PittPatt}, - title = {PittPatt {SDK} 5.2.2}, - howpublished = {www.pittpatt.com}, - year = {2011} -} + Author = {PittPatt}, + Howpublished = {www.pittpatt.com}, + Title = {PittPatt {SDK} 5.2.2}, + Year = {2011}} -% Datasets @misc{GBU, - author = {NIST}, - title = {Face and Ocular Challenge Series ({FOCS})}, - howpublished = {www.nist.gov/itl/iad/ig/focs.cfm}, - year = {2010} -} + Author = {NIST}, + Howpublished = {www.nist.gov/itl/iad/ig/focs.cfm}, + Title = {Face and Ocular Challenge Series ({FOCS})}, + Year = {2010}} @misc{MEDS, - author = {NIST}, - title = {{NIST} Special Database 32 - Multiple Encounter Dataset ({MEDS})}, - howpublished = {www.nist.gov/itl/iad/ig/sd32.cfm}, - year = {2011} -} - -% Papers -@inproceedings{belhumeur11, - author={Belhumeur, P.N. and Jacobs, D.W. and Kriegman, D.J. and Kumar, N.}, - booktitle={Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on}, - title={Localizing parts of faces using a consensus of exemplars}, - year={2011}, - month=jun, - pages={545-552} -} - -@inproceedings{bolme09, - author={Bolme, D.S. and Draper, B.A. and Beveridge, J.R.}, - booktitle={Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on}, - title={Average of Synthetic Exact Filters}, - year={2009}, - month=jun, - pages={2105-2112} -} - -@article{jegou11, - author={Jégou, H. and Douze, M. and Schmid, C.}, - journal={Pattern Analysis and Machine Intelligence, IEEE Transactions on}, - title={Product Quantization for Nearest Neighbor Search}, - year={2011}, - month=jan, - volume={33}, - number={1}, - pages={117-128} -} + Author = {NIST}, + Howpublished = {www.nist.gov/itl/iad/ig/sd32.cfm}, + Title = {{NIST} Special Database 32 - Multiple Encounter Dataset ({MEDS})}, + Year = {2011}} + +@inproceedings{belhumeur11, + Author = {Belhumeur, P.N. and Jacobs, D.W. and Kriegman, D.J. and Kumar, N.}, + Booktitle = {Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on}, + Month = jun, + Pages = {545-552}, + Title = {Localizing parts of faces using a consensus of exemplars}, + Year = {2011}} + +@inproceedings{bolme09, + Author = {Bolme, D.S. and Draper, B.A. and Beveridge, J.R.}, + Booktitle = {Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on}, + Month = jun, + Pages = {2105-2112}, + Title = {Average of Synthetic Exact Filters}, + Year = {2009}} + +@article{jegou11, + Author = {J{\'e}gou, H. and Douze, M. and Schmid, C.}, + Journal = {Pattern Analysis and Machine Intelligence, IEEE Transactions on}, + Month = jan, + Number = {1}, + Pages = {117-128}, + Title = {Product Quantization for Nearest Neighbor Search}, + Volume = {33}, + Year = {2011}} @inproceedings{klare11, - title = {Spectrally Sampled Structural Subspace Features ({4SF})}, - author = {Klare, B.}, - booktitle = {Michigan State University Technical Report, {MSU-CSE-11-16}}, - year = {2011} -} + Author = {Klare, B.}, + Booktitle = {Michigan State University Technical Report, {MSU-CSE-11-16}}, + Title = {Spectrally Sampled Structural Subspace Features ({4SF})}, + Year = {2011}} @article{milborrow08, - author={S. Milborrow and F. Nicolls}, - title={Locating Facial Features with an Extended Active Shape Model}, - journal={ECCV}, - year={2008}, - note={www.milbo.users.sonic.net/stasm} -} - -@article{moghaddam97, - author={Moghaddam, B. and Pentland, A.}, - journal={Pattern Analysis and Machine Intelligence, IEEE Transactions on}, - title={Probabilistic Visual Learning for Object Representation}, - year={1997}, - month=jul, - volume={19}, - number={7}, - pages={696-710}, -} - -@inproceedings{phillips11, - author={Phillips, P.J. and Beveridge, J.R. and Draper, B.A. and Givens, G. and O'Toole, A.J. and Bolme, D.S. and Dunlop, J. and Yui Man Lui and Sahibzada, H. and Weimer, S.}, - booktitle={Automatic Face Gesture Recognition and Workshops (FG 2011), 2011 IEEE International Conference on}, - title={An Introduction to the Good, the Bad, and the Ugly Face Recognition Challenge Problem}, - year={2011}, - month=mar, - pages={346-353}, -} + Author = {S. Milborrow and F. Nicolls}, + Journal = {ECCV}, + Note = {www.milbo.users.sonic.net/stasm}, + Title = {Locating Facial Features with an Extended Active Shape Model}, + Year = {2008}} + +@article{moghaddam97, + Author = {Moghaddam, B. and Pentland, A.}, + Journal = {Pattern Analysis and Machine Intelligence, IEEE Transactions on}, + Month = jul, + Number = {7}, + Pages = {696-710}, + Title = {Probabilistic Visual Learning for Object Representation}, + Volume = {19}, + Year = {1997}} + +@inproceedings{phillips11, + Author = {Phillips, P.J. and Beveridge, J.R. and Draper, B.A. and Givens, G. and O'Toole, A.J. and Bolme, D.S. and Dunlop, J. and Yui Man Lui and Sahibzada, H. and Weimer, S.}, + Booktitle = {Automatic Face Gesture Recognition and Workshops (FG 2011), 2011 IEEE International Conference on}, + Month = mar, + Pages = {346-353}, + Title = {An Introduction to the Good, the Bad, and the Ugly Face Recognition Challenge Problem}, + Year = {2011}} @article{weiss08, - author={Weiss, Y. and Torralba A. and Fergus, J.}, - journal={Advances in Neural Information Processing Systems}, - title={Spectral Hashing}, - year={2008} -} + Author = {Weiss, Y. and Torralba A. and Fergus, J.}, + Journal = {Advances in Neural Information Processing Systems}, + Title = {Spectral Hashing}, + Year = {2008}} @mastersthesis{zauner10, - author={Zauner, C.}, - title={Implementation and Benchmarking of Perceptual Image Hash Functions}, - school={Upper Austria University of Applied Sciences, Hagenberg Campus}, - year={2010}, -} - -@inproceedings{zhu11, - author={Zhu, C. and Wen, F. and Sun J.}, - booktitle={Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on}, - title={A Rank-Order Distance Based Clustering Algorithm for Face Tagging}, - year={2011}, - month=jun, - pages={481-488}, -} + Author = {Zauner, C.}, + School = {Upper Austria University of Applied Sciences, Hagenberg Campus}, + Title = {Implementation and Benchmarking of Perceptual Image Hash Functions}, + Year = {2010}} + +@inproceedings{zhu11, + Author = {Zhu, C. and Wen, F. and Sun J.}, + Booktitle = {Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on}, + Month = jun, + Pages = {481-488}, + Title = {A Rank-Order Distance Based Clustering Algorithm for Face Tagging}, + Year = {2011}}