Commit 68a335abe88dcf38c11f2d65e6873d48693c840c

Authored by Austin Blanton
1 parent 1a5a4da1

Only include faces with the 3 landmarks (if requireLandmarks = true)

Showing 1 changed file with 12 additions and 5 deletions
openbr/plugins/pp5.cpp
@@ -309,14 +309,21 @@ class PP5EnrollTransform : public UntrainableMetaTransform @@ -309,14 +309,21 @@ class PP5EnrollTransform : public UntrainableMetaTransform
309 dst.file = src.file; 309 dst.file = src.file;
310 310
311 dst.file.append(PP5Context::toMetadata(face)); 311 dst.file.append(PP5Context::toMetadata(face));
  312 + dst += m;
312 if (requireLandmarks) { 313 if (requireLandmarks) {
313 - QPointF pt = dst.file.get<QPointF>("PP5_Landmark0_Right_Eye");  
314 - if (std::isnan(pt.x()) && std::isnan(pt.y())){  
315 - dst.file.fte = true; 314 + QPointF right = dst.file.get<QPointF>("PP5_Landmark0_Right_Eye");
  315 + QPointF left = dst.file.get<QPointF>("PP5_Landmark1_Left_Eye");
  316 + QPointF nose = dst.file.get<QPointF>("PP5_Landmark2_Nose_Base");
  317 + if (dst.file.get<int>("PP5_Face_NumLandmarks") >= 3 &&
  318 + !( std::isnan(right.x()) && std::isnan(right.y()) &&
  319 + std::isnan(left.x()) && std::isnan(left.y()) &&
  320 + std::isnan(nose.x()) && std::isnan(nose.y()) ))
  321 + {
  322 + dstList.append(dst);
316 } 323 }
  324 + } else {
  325 + dstList.append(dst);
317 } 326 }
318 - dst += m;  
319 - dstList.append(dst);  
320 327
321 // Found a face, nothing else to do (if we aren't trying to find multiple faces). 328 // Found a face, nothing else to do (if we aren't trying to find multiple faces).
322 if (!Globals->enrollAll) 329 if (!Globals->enrollAll)