fix: raise BLUR_THRESHOLD default from 100 to 120 to match Frigate's floor
Frigate classifies images with Laplacian variance < 120 as "very blurry" and its own docs recommend avoiding blurry training data. Winnow was accepting images in the 100-120 range that Frigate considers too blurry. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -28,7 +28,7 @@ STRATEGY=auto
|
|||||||
# ENABLE_FACE_ALIGNMENT=true # Align face before cropping (default: true)
|
# ENABLE_FACE_ALIGNMENT=true # Align face before cropping (default: true)
|
||||||
# USE_FULL_RESOLUTION=true # Use full-res images vs thumbnails (default: true)
|
# USE_FULL_RESOLUTION=true # Use full-res images vs thumbnails (default: true)
|
||||||
# MIN_CONFIDENCE=0.7 # Minimum face detection confidence (default: 0.7)
|
# MIN_CONFIDENCE=0.7 # Minimum face detection confidence (default: 0.7)
|
||||||
# BLUR_THRESHOLD=100.0 # Laplacian blur threshold; lower = accept more blur (default: 100.0)
|
# BLUR_THRESHOLD=120.0 # Laplacian blur threshold; lower = accept more blur (default: 120.0)
|
||||||
# MAX_AUTO_IMAGES=80 # Hard cap on auto-diversity selection (default: 80)
|
# MAX_AUTO_IMAGES=80 # Hard cap on auto-diversity selection (default: 80)
|
||||||
|
|
||||||
# ── Caching & Models ──────────────────────────────────────────────────────────
|
# ── Caching & Models ──────────────────────────────────────────────────────────
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ def test_config_loads_defaults(monkeypatch):
|
|||||||
assert cfg.YEARS_FILTER == 10
|
assert cfg.YEARS_FILTER == 10
|
||||||
assert cfg.MIN_FACE_WIDTH == 90
|
assert cfg.MIN_FACE_WIDTH == 90
|
||||||
assert cfg.MIN_FACE_COUNT == 0
|
assert cfg.MIN_FACE_COUNT == 0
|
||||||
assert cfg.BLUR_THRESHOLD == 100.0
|
assert cfg.BLUR_THRESHOLD == 120.0
|
||||||
assert cfg.MIN_CONFIDENCE == 0.7
|
assert cfg.MIN_CONFIDENCE == 0.7
|
||||||
assert cfg.MAX_AUTO_IMAGES == 80
|
assert cfg.MAX_AUTO_IMAGES == 80
|
||||||
assert cfg.QUALITY_REPLACEMENT is True
|
assert cfg.QUALITY_REPLACEMENT is True
|
||||||
|
|||||||
+2
-2
@@ -27,7 +27,7 @@ class _Config:
|
|||||||
|
|
||||||
# Quality filtering
|
# Quality filtering
|
||||||
MIN_FACE_WIDTH: int = 90
|
MIN_FACE_WIDTH: int = 90
|
||||||
BLUR_THRESHOLD: float = 100.0
|
BLUR_THRESHOLD: float = 120.0
|
||||||
MIN_CONFIDENCE: float = 0.7
|
MIN_CONFIDENCE: float = 0.7
|
||||||
MAX_AUTO_IMAGES: int = 80
|
MAX_AUTO_IMAGES: int = 80
|
||||||
QUALITY_REPLACEMENT: bool = True
|
QUALITY_REPLACEMENT: bool = True
|
||||||
@@ -58,7 +58,7 @@ class _Config:
|
|||||||
self.YEARS_FILTER = int(os.getenv("YEARS_FILTER", "10"))
|
self.YEARS_FILTER = int(os.getenv("YEARS_FILTER", "10"))
|
||||||
self.MIN_FACE_WIDTH = int(os.getenv("MIN_FACE_WIDTH", "90"))
|
self.MIN_FACE_WIDTH = int(os.getenv("MIN_FACE_WIDTH", "90"))
|
||||||
self.MIN_FACE_COUNT = int(os.getenv("MIN_FACE_COUNT", "0"))
|
self.MIN_FACE_COUNT = int(os.getenv("MIN_FACE_COUNT", "0"))
|
||||||
self.BLUR_THRESHOLD = float(os.getenv("BLUR_THRESHOLD", "100.0"))
|
self.BLUR_THRESHOLD = float(os.getenv("BLUR_THRESHOLD", "120.0"))
|
||||||
self.MIN_CONFIDENCE = float(os.getenv("MIN_CONFIDENCE", "0.7"))
|
self.MIN_CONFIDENCE = float(os.getenv("MIN_CONFIDENCE", "0.7"))
|
||||||
self.MAX_AUTO_IMAGES = int(os.getenv("MAX_AUTO_IMAGES", "80"))
|
self.MAX_AUTO_IMAGES = int(os.getenv("MAX_AUTO_IMAGES", "80"))
|
||||||
self.QUALITY_REPLACEMENT = os.getenv("QUALITY_REPLACEMENT", "true").lower() in ("true", "1", "yes")
|
self.QUALITY_REPLACEMENT = os.getenv("QUALITY_REPLACEMENT", "true").lower() in ("true", "1", "yes")
|
||||||
|
|||||||
Reference in New Issue
Block a user