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 113  
114 114 /*!
115 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 165 * \brief Xiaoyang Tan; Triggs, B.;
117 166 * "Enhanced Local Texture Feature Sets for Face Recognition Under Difficult Lighting Conditions,"
118 167 * Image Processing, IEEE Transactions on , vol.19, no.6, pp.1635-1650, June 2010
... ... @@ -128,7 +177,7 @@ class ContrastEq : public UntrainableTransform
128 177  
129 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 182 // Stage 1
134 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 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 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 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 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 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 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 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 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 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 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 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 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}}
... ...