feat: add YuNet detector option, multi-scale detection, and streamlined CLI

- Add YuNet face detector as alternative option (built into OpenCV)
- Add multi-scale detection (1.0x + 1.5x) to catch faces at different distances
- Add NMS to remove duplicate detections from multi-scale
- Move frame interval and clustering settings to advanced options
- Increase default blur padding from 25% to 40%
- Change default frame interval from 30 to 15
- Change default confidence threshold from 0.7 to 0.8
- Add limitations section to README (extreme angles, small faces, motion blur)
- Require scikit-learn>=1.3.0 for HDBSCAN support
This commit is contained in:
fiatcode 2026-03-01 01:54:27 +07:00
parent baf1899616
commit 236e0d2ff2
7 changed files with 553 additions and 27 deletions

7
uv.lock generated
View file

@ -1,6 +1,11 @@
version = 1
revision = 3
requires-python = ">=3.11"
resolution-markers = [
"python_full_version >= '3.13'",
"python_full_version == '3.12.*'",
"python_full_version < '3.12'",
]
[[package]]
name = "certifi"
@ -460,7 +465,7 @@ requires-dist = [
{ name = "opencv-python" },
{ name = "questionary" },
{ name = "rich" },
{ name = "scikit-learn" },
{ name = "scikit-learn", specifier = ">=1.3.0" },
{ name = "uniface" },
]