diff --git a/openbr/plugins/classification/lda.cpp b/openbr/plugins/classification/lda.cpp index 07ff553..762aa62 100644 --- a/openbr/plugins/classification/lda.cpp +++ b/openbr/plugins/classification/lda.cpp @@ -55,7 +55,6 @@ BR_REGISTER(Initializer, EigenInitializer) class PCATransform : public Transform { Q_OBJECT - friend class DFFSTransform; friend class LDATransform; protected: @@ -221,54 +220,6 @@ BR_REGISTER(Transform, PCATransform) /*! * \ingroup transforms - * \brief Computes Distance From Feature Space (DFFS) - * \br_paper Moghaddam, Baback, and Alex Pentland. - * "Probabilistic visual learning for object representation." - * Pattern Analysis and Machine Intelligence, IEEE Transactions on 19.7 (1997): 696-710. - * \author Josh Klontz \cite jklontz - * \br_property float keep Sets PCA keep property. Default is 0.95. - */ -class DFFSTransform : public Transform -{ - Q_OBJECT - Q_PROPERTY(float keep READ get_keep WRITE set_keep RESET reset_keep STORED false) - BR_PROPERTY(float, keep, 0.95) - - PCATransform pca; - Transform *cvtFloat; - - void init() - { - pca.keep = keep; - cvtFloat = make("CvtFloat"); - } - - void train(const TemplateList &data) - { - pca.train((*cvtFloat)(data)); - } - - void project(const Template &src, Template &dst) const - { - dst = src; - dst.file.set("DFFS", sqrt(pca.residualReconstructionError((*cvtFloat)(src)))); - } - - void store(QDataStream &stream) const - { - pca.store(stream); - } - - void load(QDataStream &stream) - { - pca.load(stream); - } -}; - -BR_REGISTER(Transform, DFFSTransform) - -/*! - * \ingroup transforms * \brief Projects input into learned Linear Discriminant Analysis subspace. * \author Brendan Klare \cite bklare * \author Josh Klontz \cite jklontz diff --git a/openbr/plugins/core/algorithms.cpp b/openbr/plugins/core/algorithms.cpp index d58ff34..f343826 100644 --- a/openbr/plugins/core/algorithms.cpp +++ b/openbr/plugins/core/algorithms.cpp @@ -34,7 +34,6 @@ class AlgorithmsInitializer : public Initializer Globals->abbreviations.insert("FaceRecognition", "FaceDetection+FaceRecognitionRegistration++++SetMetadata(AlgorithmID,-1):Unit(ByteL1)"); Globals->abbreviations.insert("GenderClassification", "FaceDetection+Expand+FaceClassificationRegistration+Expand+++Discard"); Globals->abbreviations.insert("AgeRegression", "FaceDetection+Expand+FaceClassificationRegistration+Expand+++Discard"); - Globals->abbreviations.insert("FaceQuality", "Open+Expand+Cascade(FrontalFace)+ASEFEyes+Affine(64,64,0.25,0.35)+ImageQuality+Cvt(Gray)+DFFS+Discard"); Globals->abbreviations.insert("MedianFace", "Open+Expand+Cascade(FrontalFace)+ASEFEyes+Affine(256,256,0.37,0.45)+Center(Median)"); Globals->abbreviations.insert("BlurredFaceDetection", "Open+LimitSize(1024)+SkinMask/(Cvt(Gray)+GradientMask)+And+Morph(Erode,16)+LargestConvexArea"); Globals->abbreviations.insert("DrawFaceDetection", "Open+Cascade(FrontalFace)+Expand+ASEFEyes+Draw(inPlace=true)");