Commit 9b1a51056993f137cba0e287360b47d62cf159fa

Authored by Ben Klein
1 parent f6272818

Construct target and query FileLists inside matches block.

openbr/core/eval.cpp
@@ -100,7 +100,7 @@ static cv::Mat constructMatchingMask(const cv::Mat &scores, const FileList &targ @@ -100,7 +100,7 @@ static cv::Mat constructMatchingMask(const cv::Mat &scores, const FileList &targ
100 100
101 float Evaluate(const cv::Mat &scores, const FileList &target, const FileList &query, const QString &csv, int partition) 101 float Evaluate(const cv::Mat &scores, const FileList &target, const FileList &query, const QString &csv, int partition)
102 { 102 {
103 - return Evaluate(scores, constructMatchingMask(scores, target, query, partition), target, query, csv, 10); 103 + return Evaluate(scores, constructMatchingMask(scores, target, query, partition), QString(), QString(), csv, 0);
104 } 104 }
105 105
106 float Evaluate(const QString &simmat, const QString &mask, const QString &csv, int matches) 106 float Evaluate(const QString &simmat, const QString &mask, const QString &csv, int matches)
@@ -137,10 +137,10 @@ float Evaluate(const QString &simmat, const QString &mask, const QString &csv, i @@ -137,10 +137,10 @@ float Evaluate(const QString &simmat, const QString &mask, const QString &csv, i
137 truth = format->read(); 137 truth = format->read();
138 } 138 }
139 139
140 - return Evaluate(scores, truth, TemplateList::fromGallery(target).files(), TemplateList::fromGallery(query).files(), csv, matches); 140 + return Evaluate(scores, truth, target, query, csv, matches);
141 } 141 }
142 142
143 -float Evaluate(const Mat &simmat, const Mat &mask, const FileList &target, const FileList &query, const QString &csv, int matches) 143 +float Evaluate(const Mat &simmat, const Mat &mask, const QString &target, const QString &query, const QString &csv, int matches)
144 { 144 {
145 if (simmat.size() != mask.size()) 145 if (simmat.size() != mask.size())
146 qFatal("Similarity matrix (%ix%i) differs in size from mask matrix (%ix%i).", 146 qFatal("Similarity matrix (%ix%i) differs in size from mask matrix (%ix%i).",
@@ -265,14 +265,16 @@ float Evaluate(const Mat &simmat, const Mat &mask, const FileList &target, const @@ -265,14 +265,16 @@ float Evaluate(const Mat &simmat, const Mat &mask, const FileList &target, const
265 265
266 QString filePath = Globals->path; 266 QString filePath = Globals->path;
267 if (matches != 0) { 267 if (matches != 0) {
  268 + FileList targetFiles = TemplateList::fromGallery(target).files();
  269 + FileList queryFiles = TemplateList::fromGallery(query).files();
268 for (int i=0; i<topImpostors.size(); i++) { 270 for (int i=0; i<topImpostors.size(); i++) {
269 - lines.append("TI,"+QString::number(topImpostors[i].score)+","+target[topImpostors[i].target].get<QString>("Label")+":"  
270 - +filePath+"/"+target[topImpostors[i].target].name+":"+query[topImpostors[i].query].get<QString>("Label")+":"+filePath+"/"+query[topImpostors[i].query].name); 271 + lines.append("TI,"+QString::number(topImpostors[i].score)+","+targetFiles[topImpostors[i].target].get<QString>("Label")+":"
  272 + +filePath+"/"+targetFiles[topImpostors[i].target].name+":"+queryFiles[topImpostors[i].query].get<QString>("Label")+":"+filePath+"/"+queryFiles[topImpostors[i].query].name);
271 } 273 }
272 std::reverse(botGenuines.begin(), botGenuines.end()); 274 std::reverse(botGenuines.begin(), botGenuines.end());
273 for (int i=0; i<botGenuines.size(); i++) { 275 for (int i=0; i<botGenuines.size(); i++) {
274 - lines.append("BG,"+QString::number(botGenuines[i].score)+","+target[botGenuines[i].target].get<QString>("Label")+":"  
275 - +filePath+"/"+target[botGenuines[i].target].name+":"+query[botGenuines[i].query].get<QString>("Label")+":"+filePath+"/"+query[botGenuines[i].query].name); 276 + lines.append("BG,"+QString::number(botGenuines[i].score)+","+targetFiles[botGenuines[i].target].get<QString>("Label")+":"
  277 + +filePath+"/"+targetFiles[botGenuines[i].target].name+":"+queryFiles[botGenuines[i].query].get<QString>("Label")+":"+filePath+"/"+queryFiles[botGenuines[i].query].name);
276 } 278 }
277 } 279 }
278 280
openbr/core/eval.h
@@ -25,7 +25,7 @@ namespace br @@ -25,7 +25,7 @@ namespace br
25 { 25 {
26 float Evaluate(const QString &simmat, const QString &mask = "", const QString &csv = "", int matches = 0); // Returns TAR @ FAR = 0.001 26 float Evaluate(const QString &simmat, const QString &mask = "", const QString &csv = "", int matches = 0); // Returns TAR @ FAR = 0.001
27 float Evaluate(const cv::Mat &scores, const FileList &target, const FileList &query, const QString &csv = "", int parition = 0); 27 float Evaluate(const cv::Mat &scores, const FileList &target, const FileList &query, const QString &csv = "", int parition = 0);
28 - float Evaluate(const cv::Mat &scores, const cv::Mat &masks, const FileList &target, const FileList &query, const QString &csv = "", int matches = 0); 28 + float Evaluate(const cv::Mat &scores, const cv::Mat &masks, const QString &target = "", const QString &query = "", const QString &csv = "", int matches = 0);
29 float InplaceEval(const QString & simmat, const QString & target, const QString & query, const QString & csv = ""); 29 float InplaceEval(const QString & simmat, const QString & target, const QString & query, const QString & csv = "");
30 30
31 void EvalClassification(const QString &predictedGallery, const QString &truthGallery, QString predictedProperty = "", QString truthProperty = ""); 31 void EvalClassification(const QString &predictedGallery, const QString &truthGallery, QString predictedProperty = "", QString truthProperty = "");