Commit b3ed37546eecb2ce4c18e8c85d4a83fe61e4405d

Authored by Josh Klontz
1 parent c8f25d49

update PPRegister to use tuned detector settings

Showing 1 changed file with 10 additions and 3 deletions
openbr/plugins/pp5.cpp
@@ -46,7 +46,7 @@ class PP5Initializer : public Initializer @@ -46,7 +46,7 @@ class PP5Initializer : public Initializer
46 { 46 {
47 TRY(ppr_initialize_sdk(qPrintable(Globals->sdkPath + "/share/openbr/models/pp5/"), my_license_id, my_license_key)) 47 TRY(ppr_initialize_sdk(qPrintable(Globals->sdkPath + "/share/openbr/models/pp5/"), my_license_id, my_license_key))
48 Globals->abbreviations.insert("PP5","Open+Expand+PP5Enroll!PP5Gallery"); 48 Globals->abbreviations.insert("PP5","Open+Expand+PP5Enroll!PP5Gallery");
49 - Globals->abbreviations.insert("PP5Register", "Open+PP5Enroll(true,requireLandmarks=true)+RenameFirst([eyeL,PP5_Landmark0_Right_Eye],Affine_0)+RenameFirst([eyeR,PP5_Landmark1_Left_Eye],Affine_1)"); 49 + Globals->abbreviations.insert("PP5Register", "Open+PP5Enroll(true,true,0.02,5,Frontal,1)+RenameFirst([eyeL,PP5_Landmark0_Right_Eye],Affine_0)+RenameFirst([eyeR,PP5_Landmark1_Left_Eye],Affine_1)");
50 Globals->abbreviations.insert("PP5CropFace", "Open+PP5Enroll(true)+RenameFirst([eyeL,PP5_Landmark0_Right_Eye],Affine_0)+RenameFirst([eyeR,PP5_Landmark1_Left_Eye],Affine_1)+Affine(128,128,0.25,0.35)+Cvt(Gray)"); 50 Globals->abbreviations.insert("PP5CropFace", "Open+PP5Enroll(true)+RenameFirst([eyeL,PP5_Landmark0_Right_Eye],Affine_0)+RenameFirst([eyeR,PP5_Landmark1_Left_Eye],Affine_1)+Affine(128,128,0.25,0.35)+Cvt(Gray)");
51 } 51 }
52 52
@@ -67,7 +67,7 @@ struct PP5Context @@ -67,7 +67,7 @@ struct PP5Context
67 { 67 {
68 ppr_context_type context; 68 ppr_context_type context;
69 69
70 - PP5Context(bool detectOnly = false, float adaptiveMinSize = 0.01f, int minSize = 4, ppr_landmark_range_type landmarkRange = PPR_LANDMARK_RANGE_COMPREHENSIVE) 70 + PP5Context(bool detectOnly = false, float adaptiveMinSize = 0.01f, int minSize = 4, ppr_landmark_range_type landmarkRange = PPR_LANDMARK_RANGE_COMPREHENSIVE, int searchPruningAggressiveness = 0)
71 { 71 {
72 ppr_settings_type default_settings = ppr_get_default_settings(); 72 ppr_settings_type default_settings = ppr_get_default_settings();
73 73
@@ -76,6 +76,7 @@ struct PP5Context @@ -76,6 +76,7 @@ struct PP5Context
76 default_settings.detection.detect_best_face_only = !Globals->enrollAll; 76 default_settings.detection.detect_best_face_only = !Globals->enrollAll;
77 default_settings.detection.enable = 1; 77 default_settings.detection.enable = 1;
78 default_settings.detection.min_size = minSize; 78 default_settings.detection.min_size = minSize;
  79 + default_settings.detection.search_pruning_aggressiveness = searchPruningAggressiveness;
79 default_settings.detection.use_serial_face_detection = 1; 80 default_settings.detection.use_serial_face_detection = 1;
80 81
81 default_settings.landmarks.enable = 1; 82 default_settings.landmarks.enable = 1;
@@ -260,7 +261,9 @@ class PP5EnrollTransform : public UntrainableMetaTransform @@ -260,7 +261,9 @@ class PP5EnrollTransform : public UntrainableMetaTransform
260 Q_PROPERTY(float adaptiveMinSize READ get_adaptiveMinSize WRITE set_adaptiveMinSize RESET reset_adaptiveMinSize STORED false) 261 Q_PROPERTY(float adaptiveMinSize READ get_adaptiveMinSize WRITE set_adaptiveMinSize RESET reset_adaptiveMinSize STORED false)
261 Q_PROPERTY(float minSize READ get_minSize WRITE set_minSize RESET reset_minSize STORED false) 262 Q_PROPERTY(float minSize READ get_minSize WRITE set_minSize RESET reset_minSize STORED false)
262 Q_PROPERTY(LandmarkRange landmarkRange READ get_landmarkRange WRITE set_landmarkRange RESET reset_landmarkRange STORED false) 263 Q_PROPERTY(LandmarkRange landmarkRange READ get_landmarkRange WRITE set_landmarkRange RESET reset_landmarkRange STORED false)
  264 + Q_PROPERTY(int searchPruningAggressiveness READ get_searchPruningAggressiveness WRITE set_searchPruningAggressiveness RESET reset_searchPruningAggressiveness STORED false)
263 265
  266 +public:
264 enum LandmarkRange 267 enum LandmarkRange
265 { 268 {
266 Frontal = PPR_LANDMARK_RANGE_FRONTAL, 269 Frontal = PPR_LANDMARK_RANGE_FRONTAL,
@@ -268,12 +271,15 @@ class PP5EnrollTransform : public UntrainableMetaTransform @@ -268,12 +271,15 @@ class PP5EnrollTransform : public UntrainableMetaTransform
268 Full = PPR_LANDMARK_RANGE_FULL, 271 Full = PPR_LANDMARK_RANGE_FULL,
269 Comprehensive = PPR_LANDMARK_RANGE_COMPREHENSIVE 272 Comprehensive = PPR_LANDMARK_RANGE_COMPREHENSIVE
270 }; 273 };
  274 + Q_ENUMS(LandmarkRange)
271 275
  276 +private:
272 BR_PROPERTY(bool, detectOnly, false) 277 BR_PROPERTY(bool, detectOnly, false)
273 BR_PROPERTY(bool, requireLandmarks, false) 278 BR_PROPERTY(bool, requireLandmarks, false)
274 BR_PROPERTY(float, adaptiveMinSize, 0.01f) 279 BR_PROPERTY(float, adaptiveMinSize, 0.01f)
275 BR_PROPERTY(float, minSize, 4) 280 BR_PROPERTY(float, minSize, 4)
276 BR_PROPERTY(LandmarkRange, landmarkRange, Comprehensive) 281 BR_PROPERTY(LandmarkRange, landmarkRange, Comprehensive)
  282 + BR_PROPERTY(int, searchPruningAggressiveness, 0)
277 283
278 Resource<PP5Context> contexts; 284 Resource<PP5Context> contexts;
279 285
@@ -290,7 +296,8 @@ class PP5EnrollTransform : public UntrainableMetaTransform @@ -290,7 +296,8 @@ class PP5EnrollTransform : public UntrainableMetaTransform
290 return new PP5Context(pp5EnrollTransform->detectOnly, 296 return new PP5Context(pp5EnrollTransform->detectOnly,
291 pp5EnrollTransform->adaptiveMinSize, 297 pp5EnrollTransform->adaptiveMinSize,
292 pp5EnrollTransform->minSize, 298 pp5EnrollTransform->minSize,
293 - (ppr_landmark_range_type) pp5EnrollTransform->landmarkRange); 299 + (ppr_landmark_range_type) pp5EnrollTransform->landmarkRange,
  300 + pp5EnrollTransform->searchPruningAggressiveness);
294 } 301 }
295 }; 302 };
296 303