Commit b174c493e8628dbe57d0fcd2146e878fcf39614d
1 parent
0a1b5b2e
Prelimnary framework in place
Showing
2 changed files
with
23 additions
and
2 deletions
openbr/plugins/distance.cpp
| ... | ... | @@ -208,8 +208,13 @@ private: |
| 208 | 208 | if (a.size() != b.size()) qFatal("Comparison size mismatch"); |
| 209 | 209 | |
| 210 | 210 | QList<float> distances; |
| 211 | - for (int i = 0; i < a.size(); i++) | |
| 212 | - distances.append(distance->compare(a[i],b[i])); | |
| 211 | + for (int i = 0; i < a.size(); i++) { | |
| 212 | + Template ai = a.file; | |
| 213 | + ai.m() = a[i].clone(); | |
| 214 | + Template bi = b.file; | |
| 215 | + bi.m() = b[i].clone(); | |
| 216 | + distances.append(distance->compare(ai,bi)); | |
| 217 | + } | |
| 213 | 218 | |
| 214 | 219 | switch (operation) { |
| 215 | 220 | case Mean: |
| ... | ... | @@ -228,6 +233,16 @@ private: |
| 228 | 233 | qFatal("Invalid operation."); |
| 229 | 234 | } |
| 230 | 235 | } |
| 236 | + | |
| 237 | + void store(QDataStream &stream) const | |
| 238 | + { | |
| 239 | + distance->store(stream); | |
| 240 | + } | |
| 241 | + | |
| 242 | + void load(QDataStream &stream) | |
| 243 | + { | |
| 244 | + distance->load(stream); | |
| 245 | + } | |
| 231 | 246 | }; |
| 232 | 247 | |
| 233 | 248 | BR_REGISTER(Distance, OperationDistance) | ... | ... |
openbr/plugins/quality.cpp
| ... | ... | @@ -179,7 +179,12 @@ class MatchProbabilityDistance : public Distance |
| 179 | 179 | } |
| 180 | 180 | } |
| 181 | 181 | |
| 182 | + qDebug() << "Genuines: " << genuineScores.mid(0,5); | |
| 183 | + qDebug() << "Impostors: " << impostorScores.mid(0,5); | |
| 184 | + | |
| 182 | 185 | mp = MP(genuineScores, impostorScores); |
| 186 | + | |
| 187 | + qDebug() << mp(-0.881882,true); | |
| 183 | 188 | } |
| 184 | 189 | |
| 185 | 190 | float compare(const Template &target, const Template &query) const |
| ... | ... | @@ -187,6 +192,7 @@ class MatchProbabilityDistance : public Distance |
| 187 | 192 | const float rawScore = distance->compare(target, query); |
| 188 | 193 | if (rawScore == -std::numeric_limits<float>::max()) return rawScore; |
| 189 | 194 | if (!Globals->scoreNormalization) return -log(rawScore+1); |
| 195 | + qDebug() << mp(rawScore, gaussian) << rawScore; | |
| 190 | 196 | return mp(rawScore, gaussian); |
| 191 | 197 | } |
| 192 | 198 | ... | ... |