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 100  
101 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 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 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 145 if (simmat.size() != mask.size())
146 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 265  
266 266 QString filePath = Globals->path;
267 267 if (matches != 0) {
  268 + FileList targetFiles = TemplateList::fromGallery(target).files();
  269 + FileList queryFiles = TemplateList::fromGallery(query).files();
268 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 274 std::reverse(botGenuines.begin(), botGenuines.end());
273 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 25 {
26 26 float Evaluate(const QString &simmat, const QString &mask = "", const QString &csv = "", int matches = 0); // Returns TAR @ FAR = 0.001
27 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 29 float InplaceEval(const QString & simmat, const QString & target, const QString & query, const QString & csv = "");
30 30  
31 31 void EvalClassification(const QString &predictedGallery, const QString &truthGallery, QString predictedProperty = "", QString truthProperty = "");
... ...