diff --git a/.env.example b/.env.example index 86702f7..480fa46 100644 --- a/.env.example +++ b/.env.example @@ -23,7 +23,7 @@ STRATEGY=auto # YEARS_FILTER=10 # Only include images from the last N years (default: 10) # ── Image Quality ───────────────────────────────────────────────────────────── -# MIN_FACE_WIDTH=50 # Minimum face width in pixels (default: 50) +# MIN_FACE_WIDTH=90 # Minimum face width in pixels (default: 90, guarantees ≥8,100px crop) # FACE_MARGIN=0.15 # Padding around face crop as fraction (default: 0.15) # ENABLE_FACE_ALIGNMENT=true # Align face before cropping (default: true) # USE_FULL_RESOLUTION=true # Use full-res images vs thumbnails (default: true) diff --git a/tests/test_config.py b/tests/test_config.py index 6e247ed..e729763 100644 --- a/tests/test_config.py +++ b/tests/test_config.py @@ -17,7 +17,7 @@ def test_config_loads_defaults(monkeypatch): assert cfg.API_KEY == "test-key" assert cfg.OUTPUT_DIR == "./frigate_train" assert cfg.YEARS_FILTER == 10 - assert cfg.MIN_FACE_WIDTH == 50 + assert cfg.MIN_FACE_WIDTH == 90 assert cfg.MIN_FACE_COUNT == 0 assert cfg.BLUR_THRESHOLD == 100.0 assert cfg.MIN_CONFIDENCE == 0.7 diff --git a/winnow/config.py b/winnow/config.py index ad3be2f..30f5776 100644 --- a/winnow/config.py +++ b/winnow/config.py @@ -26,7 +26,7 @@ class _Config: YEARS_FILTER: int = 10 # Quality filtering - MIN_FACE_WIDTH: int = 50 + MIN_FACE_WIDTH: int = 90 BLUR_THRESHOLD: float = 100.0 MIN_CONFIDENCE: float = 0.7 MAX_AUTO_IMAGES: int = 80 @@ -56,7 +56,7 @@ class _Config: self.API_KEY = os.getenv("API_KEY") self.OUTPUT_DIR = os.getenv("OUTPUT_DIR", "./frigate_train") self.YEARS_FILTER = int(os.getenv("YEARS_FILTER", "10")) - self.MIN_FACE_WIDTH = int(os.getenv("MIN_FACE_WIDTH", "50")) + self.MIN_FACE_WIDTH = int(os.getenv("MIN_FACE_WIDTH", "90")) self.MIN_FACE_COUNT = int(os.getenv("MIN_FACE_COUNT", "0")) self.BLUR_THRESHOLD = float(os.getenv("BLUR_THRESHOLD", "100.0")) self.MIN_CONFIDENCE = float(os.getenv("MIN_CONFIDENCE", "0.7"))