Commit b8f50134bbabb68ebb63a35a28fc081cf7489a4d

Authored by Scott Klum
1 parent c3080baf

Added CSDN filter

sdk/plugins/filter.cpp
@@ -113,6 +113,55 @@ BR_REGISTER(Transform, DoG) @@ -113,6 +113,55 @@ BR_REGISTER(Transform, DoG)
113 113
114 /*! 114 /*!
115 * \ingroup transforms 115 * \ingroup transforms
  116 + * \brief Meyers, E.; Wolf, L.
  117 + * “Using biologically inspired features for face processing,”
  118 + * Int. Journal of Computer Vision, vol. 76, no. 1, pp 93–104, 2008.
  119 + * \author Scott Klum \cite sklum
  120 + */
  121 +
  122 +class CSDN : public UntrainableTransform
  123 +{
  124 + Q_OBJECT
  125 +
  126 + Q_PROPERTY(float s READ get_s WRITE set_s RESET reset_s STORED false)
  127 + BR_PROPERTY(int, s, 16)
  128 +
  129 + void project(const Template &src, Template &dst) const
  130 + {
  131 + if (src.m().channels() != 1) qFatal("ContrastEq::project expected single channel source matrix.");
  132 +
  133 + const int nRows = src.m().rows;
  134 + const int nCols = src.m().cols;
  135 +
  136 + Mat m;
  137 + src.m().convertTo(m, CV_32FC1);
  138 +
  139 + const int surround = s/2;
  140 +
  141 + for ( int i = 0; i < nRows; i++ )
  142 + {
  143 + for ( int j = 0; j < nCols; j++ )
  144 + {
  145 + int width = min( j+surround, nCols ) - max( 0, j-surround );
  146 + int height = min( i+surround, nRows ) - max( 0, i-surround );
  147 +
  148 + Rect_<int> ROI(max(0, j-surround), max(0, i-surround), width, height);
  149 +
  150 + Scalar_<float> avg = mean(m(ROI));
  151 +
  152 + m.at<float>(i,j) = m.at<float>(i,j) - avg[0];
  153 + }
  154 + }
  155 +
  156 + dst = m;
  157 +
  158 + }
  159 +};
  160 +
  161 +BR_REGISTER(Transform, CSDN)
  162 +
  163 +/*!
  164 + * \ingroup transforms
116 * \brief Xiaoyang Tan; Triggs, B.; 165 * \brief Xiaoyang Tan; Triggs, B.;
117 * "Enhanced Local Texture Feature Sets for Face Recognition Under Difficult Lighting Conditions," 166 * "Enhanced Local Texture Feature Sets for Face Recognition Under Difficult Lighting Conditions,"
118 * Image Processing, IEEE Transactions on , vol.19, no.6, pp.1635-1650, June 2010 167 * Image Processing, IEEE Transactions on , vol.19, no.6, pp.1635-1650, June 2010
@@ -128,7 +177,7 @@ class ContrastEq : public UntrainableTransform @@ -128,7 +177,7 @@ class ContrastEq : public UntrainableTransform
128 177
129 void project(const Template &src, Template &dst) const 178 void project(const Template &src, Template &dst) const
130 { 179 {
131 - if (!src.m().channels() == 1) qFatal("ContrastEq::project expected single channel source matrix."); 180 + if (src.m().channels() != 1) qFatal("ContrastEq::project expected single channel source matrix.");
132 181
133 // Stage 1 182 // Stage 1
134 Mat stage1; 183 Mat stage1;
1 -Subproject commit 19d116e16c35c55691e68ff137a48beb1f8ebf64 1 +Subproject commit 1031e9e416427f5dd8e9f4e7ff4dd74632626c22
share/openbr/openbr.bib
1 -% OpenBR Authors  
2 -@misc{jklontz, author = {Joshua C. Klontz}, title = {jklontz at ieee.org}, howpublished = {https://github.com/jklontz}}  
3 -@misc{mburge, author = {Dr. Mark J. Burge}, title = {mburge at ieee.org}, howpublished = {https://github.com/mburge}}  
4 -@misc{bklare, author = {Dr. Brendan F. Klare}, title = {brendan.klare at ieee.org}, howpublished = {https://github.com/bklare}}  
5 -@misc{mmtaborsky, author = {M. M. Taborsky}, title = {mmtaborsky at gmail.com}, howpublished = {https://github.com/mmtaborsky}} 1 +%% This BibTeX bibliography file was created using BibDesk.
  2 +%% http://bibdesk.sourceforge.net/
  3 +
  4 +
  5 +%% Created for Scott Klum at 2013-01-11 13:06:08 -0500
  6 +
  7 +
  8 +%% Saved with string encoding Unicode (UTF-8)
  9 +
  10 +
  11 +
  12 +@misc{sklum,
  13 + Author = {Scott J. Klum},
  14 + Date-Added = {2013-01-11 18:03:58 +0000},
  15 + Date-Modified = {2013-01-11 18:05:56 +0000},
  16 + Howpublished = {https://github.com/sklum},
  17 + Title = {scott.klum at gmail.com}}
  18 +
  19 +@misc{jklontz,
  20 + Author = {Joshua C. Klontz},
  21 + Howpublished = {https://github.com/jklontz},
  22 + Title = {jklontz at ieee.org}}
  23 +
  24 +@misc{mburge,
  25 + Author = {Dr. Mark J. Burge},
  26 + Howpublished = {https://github.com/mburge},
  27 + Title = {mburge at ieee.org}}
  28 +
  29 +@misc{bklare,
  30 + Author = {Dr. Brendan F. Klare},
  31 + Howpublished = {https://github.com/bklare},
  32 + Title = {brendan.klare at ieee.org}}
  33 +
  34 +@misc{mmtaborsky,
  35 + Author = {M. M. Taborsky},
  36 + Howpublished = {https://github.com/mmtaborsky},
  37 + Title = {mmtaborsky at gmail.com}}
6 38
7 -% Software  
8 @misc{OpenBR, 39 @misc{OpenBR,
9 - author = {Joshua C. Klontz and Dr. Mark J. Burge},  
10 - title = {{OpenBR} - {Open} {Biometric} {Recognition}},  
11 - howpublished = {},  
12 - year = {2012}  
13 -} 40 + Author = {Joshua C. Klontz and Dr. Mark J. Burge},
  41 + Title = {{OpenBR} - {Open} {Biometric} {Recognition}},
  42 + Year = {2012}}
14 43
15 @misc{CT8, 44 @misc{CT8,
16 - author = {Cognitec},  
17 - title = {{FaceVACS-SDK} 8.5},  
18 - howpublished = {www.cognitec-systems.de/FaceVACS-SDK.19.0.html},  
19 - year = {2012}  
20 -} 45 + Author = {Cognitec},
  46 + Howpublished = {www.cognitec-systems.de/FaceVACS-SDK.19.0.html},
  47 + Title = {{FaceVACS-SDK} 8.5},
  48 + Year = {2012}}
21 49
22 @misc{NEC3, 50 @misc{NEC3,
23 - author = {NEC},  
24 - title = {NEC {NeoFace} {SDK} 3.1.1},  
25 - howpublished = {http://www.nec.com/en/global/solutions/security/product/neoface.html},  
26 - year = {2012}  
27 -} 51 + Author = {NEC},
  52 + Howpublished = {http://www.nec.com/en/global/solutions/security/product/neoface.html},
  53 + Title = {NEC {NeoFace} {SDK} 3.1.1},
  54 + Year = {2012}}
28 55
29 @misc{NT4, 56 @misc{NT4,
30 - author = {Neurotechnology},  
31 - title = {Neurotec {Biometric} {SDK} 4.2},  
32 - howpublished = {www.neurotechnology.com/megamatcher.html},  
33 - year = {2012}  
34 -} 57 + Author = {Neurotechnology},
  58 + Howpublished = {www.neurotechnology.com/megamatcher.html},
  59 + Title = {Neurotec {Biometric} {SDK} 4.2},
  60 + Year = {2012}}
35 61
36 @misc{PP4, 62 @misc{PP4,
37 - author = {PittPatt},  
38 - title = {PittPatt {SDK} 4.2.2},  
39 - howpublished = {www.pittpatt.com},  
40 - year = {2010}  
41 -} 63 + Author = {PittPatt},
  64 + Howpublished = {www.pittpatt.com},
  65 + Title = {PittPatt {SDK} 4.2.2},
  66 + Year = {2010}}
42 67
43 @misc{PP5, 68 @misc{PP5,
44 - author = {PittPatt},  
45 - title = {PittPatt {SDK} 5.2.2},  
46 - howpublished = {www.pittpatt.com},  
47 - year = {2011}  
48 -} 69 + Author = {PittPatt},
  70 + Howpublished = {www.pittpatt.com},
  71 + Title = {PittPatt {SDK} 5.2.2},
  72 + Year = {2011}}
49 73
50 -% Datasets  
51 @misc{GBU, 74 @misc{GBU,
52 - author = {NIST},  
53 - title = {Face and Ocular Challenge Series ({FOCS})},  
54 - howpublished = {www.nist.gov/itl/iad/ig/focs.cfm},  
55 - year = {2010}  
56 -} 75 + Author = {NIST},
  76 + Howpublished = {www.nist.gov/itl/iad/ig/focs.cfm},
  77 + Title = {Face and Ocular Challenge Series ({FOCS})},
  78 + Year = {2010}}
57 79
58 @misc{MEDS, 80 @misc{MEDS,
59 - author = {NIST},  
60 - title = {{NIST} Special Database 32 - Multiple Encounter Dataset ({MEDS})},  
61 - howpublished = {www.nist.gov/itl/iad/ig/sd32.cfm},  
62 - year = {2011}  
63 -}  
64 -  
65 -% Papers  
66 -@inproceedings{belhumeur11,  
67 - author={Belhumeur, P.N. and Jacobs, D.W. and Kriegman, D.J. and Kumar, N.},  
68 - booktitle={Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on},  
69 - title={Localizing parts of faces using a consensus of exemplars},  
70 - year={2011},  
71 - month=jun,  
72 - pages={545-552}  
73 -}  
74 -  
75 -@inproceedings{bolme09,  
76 - author={Bolme, D.S. and Draper, B.A. and Beveridge, J.R.},  
77 - booktitle={Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on},  
78 - title={Average of Synthetic Exact Filters},  
79 - year={2009},  
80 - month=jun,  
81 - pages={2105-2112}  
82 -}  
83 -  
84 -@article{jegou11,  
85 - author={Jégou, H. and Douze, M. and Schmid, C.},  
86 - journal={Pattern Analysis and Machine Intelligence, IEEE Transactions on},  
87 - title={Product Quantization for Nearest Neighbor Search},  
88 - year={2011},  
89 - month=jan,  
90 - volume={33},  
91 - number={1},  
92 - pages={117-128}  
93 -} 81 + Author = {NIST},
  82 + Howpublished = {www.nist.gov/itl/iad/ig/sd32.cfm},
  83 + Title = {{NIST} Special Database 32 - Multiple Encounter Dataset ({MEDS})},
  84 + Year = {2011}}
  85 +
  86 +@inproceedings{belhumeur11,
  87 + Author = {Belhumeur, P.N. and Jacobs, D.W. and Kriegman, D.J. and Kumar, N.},
  88 + Booktitle = {Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on},
  89 + Month = jun,
  90 + Pages = {545-552},
  91 + Title = {Localizing parts of faces using a consensus of exemplars},
  92 + Year = {2011}}
  93 +
  94 +@inproceedings{bolme09,
  95 + Author = {Bolme, D.S. and Draper, B.A. and Beveridge, J.R.},
  96 + Booktitle = {Computer Vision and Pattern Recognition, 2009. CVPR 2009. IEEE Conference on},
  97 + Month = jun,
  98 + Pages = {2105-2112},
  99 + Title = {Average of Synthetic Exact Filters},
  100 + Year = {2009}}
  101 +
  102 +@article{jegou11,
  103 + Author = {J{\'e}gou, H. and Douze, M. and Schmid, C.},
  104 + Journal = {Pattern Analysis and Machine Intelligence, IEEE Transactions on},
  105 + Month = jan,
  106 + Number = {1},
  107 + Pages = {117-128},
  108 + Title = {Product Quantization for Nearest Neighbor Search},
  109 + Volume = {33},
  110 + Year = {2011}}
94 111
95 @inproceedings{klare11, 112 @inproceedings{klare11,
96 - title = {Spectrally Sampled Structural Subspace Features ({4SF})},  
97 - author = {Klare, B.},  
98 - booktitle = {Michigan State University Technical Report, {MSU-CSE-11-16}},  
99 - year = {2011}  
100 -} 113 + Author = {Klare, B.},
  114 + Booktitle = {Michigan State University Technical Report, {MSU-CSE-11-16}},
  115 + Title = {Spectrally Sampled Structural Subspace Features ({4SF})},
  116 + Year = {2011}}
101 117
102 @article{milborrow08, 118 @article{milborrow08,
103 - author={S. Milborrow and F. Nicolls},  
104 - title={Locating Facial Features with an Extended Active Shape Model},  
105 - journal={ECCV},  
106 - year={2008},  
107 - note={www.milbo.users.sonic.net/stasm}  
108 -}  
109 -  
110 -@article{moghaddam97,  
111 - author={Moghaddam, B. and Pentland, A.},  
112 - journal={Pattern Analysis and Machine Intelligence, IEEE Transactions on},  
113 - title={Probabilistic Visual Learning for Object Representation},  
114 - year={1997},  
115 - month=jul,  
116 - volume={19},  
117 - number={7},  
118 - pages={696-710},  
119 -}  
120 -  
121 -@inproceedings{phillips11,  
122 - 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.},  
123 - booktitle={Automatic Face Gesture Recognition and Workshops (FG 2011), 2011 IEEE International Conference on},  
124 - title={An Introduction to the Good, the Bad, and the Ugly Face Recognition Challenge Problem},  
125 - year={2011},  
126 - month=mar,  
127 - pages={346-353},  
128 -} 119 + Author = {S. Milborrow and F. Nicolls},
  120 + Journal = {ECCV},
  121 + Note = {www.milbo.users.sonic.net/stasm},
  122 + Title = {Locating Facial Features with an Extended Active Shape Model},
  123 + Year = {2008}}
  124 +
  125 +@article{moghaddam97,
  126 + Author = {Moghaddam, B. and Pentland, A.},
  127 + Journal = {Pattern Analysis and Machine Intelligence, IEEE Transactions on},
  128 + Month = jul,
  129 + Number = {7},
  130 + Pages = {696-710},
  131 + Title = {Probabilistic Visual Learning for Object Representation},
  132 + Volume = {19},
  133 + Year = {1997}}
  134 +
  135 +@inproceedings{phillips11,
  136 + 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.},
  137 + Booktitle = {Automatic Face Gesture Recognition and Workshops (FG 2011), 2011 IEEE International Conference on},
  138 + Month = mar,
  139 + Pages = {346-353},
  140 + Title = {An Introduction to the Good, the Bad, and the Ugly Face Recognition Challenge Problem},
  141 + Year = {2011}}
129 142
130 @article{weiss08, 143 @article{weiss08,
131 - author={Weiss, Y. and Torralba A. and Fergus, J.},  
132 - journal={Advances in Neural Information Processing Systems},  
133 - title={Spectral Hashing},  
134 - year={2008}  
135 -} 144 + Author = {Weiss, Y. and Torralba A. and Fergus, J.},
  145 + Journal = {Advances in Neural Information Processing Systems},
  146 + Title = {Spectral Hashing},
  147 + Year = {2008}}
136 148
137 @mastersthesis{zauner10, 149 @mastersthesis{zauner10,
138 - author={Zauner, C.},  
139 - title={Implementation and Benchmarking of Perceptual Image Hash Functions},  
140 - school={Upper Austria University of Applied Sciences, Hagenberg Campus},  
141 - year={2010},  
142 -}  
143 -  
144 -@inproceedings{zhu11,  
145 - author={Zhu, C. and Wen, F. and Sun J.},  
146 - booktitle={Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on},  
147 - title={A Rank-Order Distance Based Clustering Algorithm for Face Tagging},  
148 - year={2011},  
149 - month=jun,  
150 - pages={481-488},  
151 -} 150 + Author = {Zauner, C.},
  151 + School = {Upper Austria University of Applied Sciences, Hagenberg Campus},
  152 + Title = {Implementation and Benchmarking of Perceptual Image Hash Functions},
  153 + Year = {2010}}
  154 +
  155 +@inproceedings{zhu11,
  156 + Author = {Zhu, C. and Wen, F. and Sun J.},
  157 + Booktitle = {Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on},
  158 + Month = jun,
  159 + Pages = {481-488},
  160 + Title = {A Rank-Order Distance Based Clustering Algorithm for Face Tagging},
  161 + Year = {2011}}