Commit 9f15f251cafe40c1f1f7ad7d24dbe343f5a2db1e
1 parent
772439c4
implemented RootNorm transform
Showing
3 changed files
with
33 additions
and
1 deletions
sdk/plugins/algorithms.cpp
| @@ -42,7 +42,7 @@ class AlgorithmsInitializer : public Initializer | @@ -42,7 +42,7 @@ class AlgorithmsInitializer : public Initializer | ||
| 42 | Globals->abbreviations.insert("OpenBR", "FaceRecognition"); | 42 | Globals->abbreviations.insert("OpenBR", "FaceRecognition"); |
| 43 | Globals->abbreviations.insert("GenderEstimation", "GenderClassification"); | 43 | Globals->abbreviations.insert("GenderEstimation", "GenderClassification"); |
| 44 | Globals->abbreviations.insert("AgeEstimation", "AgeRegression"); | 44 | Globals->abbreviations.insert("AgeEstimation", "AgeRegression"); |
| 45 | - Globals->abbreviations.insert("FaceRecognitionHoG", "Open+Cvt(Gray)+Cascade(FrontalFace)+ASEFEyes+Affine(64,64,0.25,0.35)+Gradient+Bin(0,360,8,true)+Merge+Integral+IntegralSampler+ProductQuantization:ProductQuantization"); | 45 | + Globals->abbreviations.insert("FaceRecognitionHoG", "Open+Cvt(Gray)+Cascade(FrontalFace)+ASEFEyes+Affine(64,64,0.25,0.35)+Gradient+Bin(0,360,8,true)+Merge+Integral+IntegralSampler+RootNorm+ProductQuantization:ProductQuantization"); |
| 46 | 46 | ||
| 47 | // Generic Image Processing | 47 | // Generic Image Processing |
| 48 | Globals->abbreviations.insert("SIFT", "Open+KeyPointDetector(SIFT)+KeyPointDescriptor(SIFT):KeyPointMatcher(BruteForce)"); | 48 | Globals->abbreviations.insert("SIFT", "Open+KeyPointDetector(SIFT)+KeyPointDescriptor(SIFT):KeyPointMatcher(BruteForce)"); |
sdk/plugins/normalize.cpp
| @@ -224,6 +224,30 @@ class RowWiseMeanCenterTransform : public Transform | @@ -224,6 +224,30 @@ class RowWiseMeanCenterTransform : public Transform | ||
| 224 | 224 | ||
| 225 | BR_REGISTER(Transform, RowWiseMeanCenterTransform) | 225 | BR_REGISTER(Transform, RowWiseMeanCenterTransform) |
| 226 | 226 | ||
| 227 | +/*! | ||
| 228 | + * \ingroup transforms | ||
| 229 | + * \brief dst=sqrt(norm_L1(src)) proposed as RootSIFT in \cite Arandjelovic12 | ||
| 230 | + * \author Josh Klontz \cite jklontz | ||
| 231 | + */ | ||
| 232 | +class RootNormTransform : public UntrainableTransform | ||
| 233 | +{ | ||
| 234 | + Q_OBJECT | ||
| 235 | + | ||
| 236 | + void project(const Template &src, Template &dst) const | ||
| 237 | + { | ||
| 238 | + const Mat &m = src; | ||
| 239 | + dst.m() = Mat(m.rows, m.cols, m.type()); | ||
| 240 | + for (int i=0; i<m.rows; i++) { | ||
| 241 | + Mat temp; | ||
| 242 | + cv::normalize(m.row(i), temp, 1, 0, NORM_L1); | ||
| 243 | + cv::sqrt(temp, temp); | ||
| 244 | + temp.copyTo(dst.m().row(i)); | ||
| 245 | + } | ||
| 246 | + } | ||
| 247 | +}; | ||
| 248 | + | ||
| 249 | +BR_REGISTER(Transform, RootNormTransform) | ||
| 250 | + | ||
| 227 | } // namespace br | 251 | } // namespace br |
| 228 | 252 | ||
| 229 | #include "normalize.moc" | 253 | #include "normalize.moc" |
share/openbr/openbr.bib
| @@ -86,6 +86,14 @@ | @@ -86,6 +86,14 @@ | ||
| 86 | 86 | ||
| 87 | 87 | ||
| 88 | % Papers | 88 | % Papers |
| 89 | +@ inproceedings{Arandjelovic12, | ||
| 90 | + Author={Arandjelovic, R. and Zisserman, A.}, | ||
| 91 | + Booktitle={Computer Vision and Pattern Recognition (CVPR), 2012 IEEE Conference on}, | ||
| 92 | + Title={Three things everyone should know to improve object retrieval}, | ||
| 93 | + Month={June}, | ||
| 94 | + Year={2012} | ||
| 95 | + Pages={2911-2918}} | ||
| 96 | + | ||
| 89 | @inproceedings{belhumeur11, | 97 | @inproceedings{belhumeur11, |
| 90 | Author = {Belhumeur, P.N. and Jacobs, D.W. and Kriegman, D.J. and Kumar, N.}, | 98 | Author = {Belhumeur, P.N. and Jacobs, D.W. and Kriegman, D.J. and Kumar, N.}, |
| 91 | Booktitle = {Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on}, | 99 | Booktitle = {Computer Vision and Pattern Recognition (CVPR), 2011 IEEE Conference on}, |