Add geometric upper-bound gates: max face-area fraction, aspect window

Tested against real failure samples from the v2 run: full-frame feather
storm (area .64) and wide effect blob (area .70) now rejected; normal
and close-up faces pass. Note: stylized OP/ED emblems are geometrically
face-shaped and NOT catchable this way — documented, CCIP gate is the
answer for those.
This commit is contained in:
2026-10-18 11:04:53 -04:00
parent 940c59d6c9
commit 89b0f708d7
2 changed files with 39 additions and 4 deletions
+2
View File
@@ -59,6 +59,8 @@ context leaks onto the wrong card:
| `--conf` | 0.3 | detector confidence (model's own recommendation; it is high-precision) |
| `--min-width` / `--min-height` | 100 | minimum face box size in px |
| `--min-face-fraction` | 0.005 | face box area as fraction of frame — kills distant background extras; `0` disables |
| `--max-face-fraction` | 0.30 | face box area upper cap — kills detector meltdowns on full-frame ED/OP effects (feather storms etc.); `0` disables |
| `--min-aspect` / `--max-aspect` | 0.45 / 1.6 | face box W/H ratio window — effect blobs rarely keep face proportions |
| `--edge-margin` | 0 | require faces this far inside frame edges; `0` accepts edge-touching faces (original hard-rejected them) |
| `--scene-threshold` | 30.0 | PySceneDetect ContentDetector threshold (same as original) |
| `--imgsz` | 1280 | inference size; model was trained at 1280, `640` is faster at some recall cost |