From ca4f10d5926ad1cd7ff04e3f82bf120f29208b62 Mon Sep 17 00:00:00 2001 From: Josh Klontz Date: Mon, 1 Apr 2013 18:30:39 -0400 Subject: [PATCH] serialization fixes --- openbr/plugins/algorithms.cpp | 2 +- openbr/plugins/integral.cpp | 2 +- openbr/plugins/quantize.cpp | 37 +++++++++++++++++++++++++++++++++++-- 3 files changed, 37 insertions(+), 4 deletions(-) diff --git a/openbr/plugins/algorithms.cpp b/openbr/plugins/algorithms.cpp index 2d0f24f..0615792 100644 --- a/openbr/plugins/algorithms.cpp +++ b/openbr/plugins/algorithms.cpp @@ -42,7 +42,7 @@ class AlgorithmsInitializer : public Initializer Globals->abbreviations.insert("OpenBR", "FaceRecognition"); Globals->abbreviations.insert("GenderEstimation", "GenderClassification"); Globals->abbreviations.insert("AgeEstimation", "AgeRegression"); - 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(2,L1,true):ProductQuantization(true)"); + Globals->abbreviations.insert("FaceRecognitionHoG", "{PP5Register+Affine(128,128,0.25,0.35)+Cvt(Gray)}+Gradient+Bin(0,360,9,true)+Merge+Integral+RecursiveIntegralSampler(4,2,8,LDA(.95)+Normalize(L1)+Div(3)+ProductQuantization(3,L1,true)[fraction=0.2]):ProductQuantization(true)"); // Generic Image Processing Globals->abbreviations.insert("SIFT", "Open+KeyPointDetector(SIFT)+KeyPointDescriptor(SIFT):KeyPointMatcher(BruteForce)"); diff --git a/openbr/plugins/integral.cpp b/openbr/plugins/integral.cpp index b45f2bd..2738668 100644 --- a/openbr/plugins/integral.cpp +++ b/openbr/plugins/integral.cpp @@ -248,7 +248,7 @@ class RecursiveIntegralSamplerTransform : public Transform void store(QDataStream &stream) const { transform->store(stream); - stream << (subTransform == NULL); + stream << (subTransform != NULL); if (subTransform != NULL) subTransform->store(stream); } diff --git a/openbr/plugins/quantize.cpp b/openbr/plugins/quantize.cpp index 2f9ed0e..a6f21ca 100644 --- a/openbr/plugins/quantize.cpp +++ b/openbr/plugins/quantize.cpp @@ -247,7 +247,7 @@ QVector ProductQuantizationLUTs; /*! * \ingroup distances * \brief Distance in a product quantized space \cite jegou11 - * \author Josh Klontz + * \author Josh Klontz \cite jklontz */ class ProductQuantizationDistance : public Distance { @@ -278,6 +278,36 @@ class ProductQuantizationDistance : public Distance BR_REGISTER(Distance, ProductQuantizationDistance) /*! + * \ingroup distances + * \brief Recurively computed distance in a product quantized space + * \author Josh Klontz \cite jklontz + */ +class RecursiveProductQuantizationDistance : public Distance +{ + Q_OBJECT + + float compare(const Template &a, const Template &b) const + { + float distance = 0; + for (int i=0; i(aData); + aData += sizeof(quint16); + bData += sizeof(quint16); + + const float *lut = (const float*)ProductQuantizationLUTs[index].data; + for (int j=0; j> index >> centers >> ProductQuantizationLUTs[index]; + stream >> index >> centers; + while (ProductQuantizationLUTs.size() <= index) + ProductQuantizationLUTs.append(Mat()); + stream >> ProductQuantizationLUTs[index]; } }; -- libgit2 0.21.4