diff --git a/app/br/br.cpp b/app/br/br.cpp index 50204a8..133cd3c 100644 --- a/app/br/br.cpp +++ b/app/br/br.cpp @@ -131,12 +131,15 @@ public: } else if (!strcmp(fun, "evalClassification")) { check(parc == 2, "Incorrect parameter count for 'evalClassification'."); br_eval_classification(parv[0], parv[1]); + } else if (!strcmp(fun, "evalClustering")) { + check(parc == 2, "Incorrect parameter count for 'evalClustering'."); + br_eval_clustering(parv[0], parv[1]); + } else if (!strcmp(fun, "evalDetection")) { + check(parc == 2, "Incorrect parameter count for 'evalDetection'."); + br_eval_detection(parv[0], parv[1]); } else if (!strcmp(fun, "evalRegression")) { check(parc == 2, "Incorrect parameter count for 'evalRegression'."); br_eval_regression(parv[0], parv[1]); - } else if (!strcmp(fun, "evalClusters")) { - check(parc == 2, "Incorrect parameter count for 'evalClusters'."); - br_eval_clustering(parv[0], parv[1]); } else if (!strcmp(fun, "confusion")) { check(parc == 2, "Incorrect parameter count for 'confusion'."); int true_positives, false_positives, true_negatives, false_negatives; @@ -217,8 +220,9 @@ private: "-cat ... {gallery}\n" "-convert (Format|Gallery|Output) {output_file}\n" "-evalClassification \n" + "-evalClustering \n" + "-evalDetection \n" "-evalRegression \n" - "-evalClusters \n" "-confusion \n" "-plotMetadata ... \n" "-getHeader \n" diff --git a/openbr/core/classify.cpp b/openbr/core/classify.cpp index 200bc69..ea816be 100644 --- a/openbr/core/classify.cpp +++ b/openbr/core/classify.cpp @@ -81,15 +81,21 @@ void br::EvalClassification(const QString &predictedInput, const QString &truthI const float precision = counter.truePositive / (float)(counter.truePositive + counter.falsePositive); const float recall = counter.truePositive / (float)(counter.truePositive + counter.falseNegative); const float fscore = 2 * precision * recall / (precision + recall); - output->setRelative(count, i, 0); - output->setRelative(precision, i, 1); - output->setRelative(recall, i, 2); - output->setRelative(fscore, i, 3); + output->setRelative(count, i, 0); + output->setRelative(precision, i, 1); + output->setRelative(recall, i, 2); + output->setRelative(fscore, i, 3); } qDebug("Overall Accuracy = %f", (float)tpc / (float)(tpc + fnc)); } +void br::EvalDetection(const QString &predictedInput, const QString &truthInput) +{ + (void) predictedInput; + (void) truthInput; +} + void br::EvalRegression(const QString &predictedInput, const QString &truthInput) { qDebug("Evaluating regression of %s against %s", qPrintable(predictedInput), qPrintable(truthInput)); diff --git a/openbr/core/classify.h b/openbr/core/classify.h index ac39609..67f5340 100644 --- a/openbr/core/classify.h +++ b/openbr/core/classify.h @@ -23,6 +23,7 @@ namespace br { void EvalClassification(const QString &predictedInput, const QString &truthInput); + void EvalDetection(const QString &predictedInput, const QString &truthInput); void EvalRegression(const QString &predictedInput, const QString &truthInput); } diff --git a/openbr/openbr.cpp b/openbr/openbr.cpp index eca6d6f..8f909ca 100644 --- a/openbr/openbr.cpp +++ b/openbr/openbr.cpp @@ -77,19 +77,24 @@ float br_eval(const char *simmat, const char *mask, const char *csv) return Evaluate(simmat, mask, csv); } -void br_eval_classification(const char *predicted_input, const char *truth_input) +void br_eval_classification(const char *predicted_gallery, const char *truth_gallery) { - EvalClassification(predicted_input, truth_input); + EvalClassification(predicted_gallery, truth_gallery); } -void br_eval_clustering(const char *csv, const char *input) +void br_eval_clustering(const char *csv, const char *gallery) { - EvalClustering(csv, input); + EvalClustering(csv, gallery); } -void br_eval_regression(const char *predicted_input, const char *truth_input) +void br_eval_detection(const char *predicted_gallery, const char *truth_gallery) { - EvalRegression(predicted_input, truth_input); + EvalDetection(predicted_gallery, truth_gallery); +} + +void br_eval_regression(const char *predicted_gallery, const char *truth_gallery) +{ + EvalRegression(predicted_gallery, truth_gallery); } void br_finalize() diff --git a/openbr/openbr.h b/openbr/openbr.h index d4add7d..eca10dd 100644 --- a/openbr/openbr.h +++ b/openbr/openbr.h @@ -160,27 +160,35 @@ BR_EXPORT float br_eval(const char *simmat, const char *mask, const char *csv = /*! * \brief Evaluates and prints classification accuracy to terminal. - * \param predicted_input The predicted br::Input. - * \param truth_input The ground truth br::Input. + * \param predicted_input The predicted br::Gallery. + * \param truth_input The ground truth br::Gallery. * \see br_enroll */ -BR_EXPORT void br_eval_classification(const char *predicted_input, const char *truth_input); +BR_EXPORT void br_eval_classification(const char *predicted_gallery, const char *truth_gallery); /*! * \brief Evaluates and prints clustering accuracy to the terminal. * \param csv The cluster results file. - * \param input The br::input used to generate the \ref simmat that was clustered. + * \param gallery The br::Gallery used to generate the \ref simmat that was clustered. * \see br_cluster */ -BR_EXPORT void br_eval_clustering(const char *csv, const char *input); +BR_EXPORT void br_eval_clustering(const char *csv, const char *gallery); + +/*! + * \brief Evaluates and prints detection accuracy to terminal. + * \param predicted_gallery The predicted br::Gallery. + * \param truth_galery The ground truth br::Gallery. + * \see br_enroll + */ +BR_EXPORT void br_eval_detection(const char *predicted_gallery, const char *truth_gallery); /*! * \brief Evaluates regression accuracy to disk. - * \param predicted_input The predicted br::Input. - * \param truth_input The ground truth br::Input. + * \param predicted_input The predicted br::Gallery. + * \param truth_input The ground truth br::Gallery. * \see br_enroll */ -BR_EXPORT void br_eval_regression(const char *predicted_input, const char *truth_input); +BR_EXPORT void br_eval_regression(const char *predicted_gallery, const char *truth_gallery); /*! * \brief Wraps br::Context::finalize()