From ba5d667524feb1747dd1ed339c082ff6ef8ec8d4 Mon Sep 17 00:00:00 2001 From: Linghong Date: Fri, 10 Jul 2026 14:13:42 +0000 Subject: [PATCH] Disable despill by default (all lanes, incl. cpu-fast) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit despill pulls foreground chroma along the background-hue axis with no positional or semantic guard, so a subject sharing the background's hue (e.g. a blue suit on a blue backdrop) is desaturated and hue-shifted (measured ~ΔE 35, blue -> purple) — a false positive on correct colours. Flip the DespillSettings.enabled dataclass default to False so every lane that omits a despill section — notably cpu-fast — inherits it off, and mirror it in default.yaml. Re-enable per-config or with --despill when edge spill genuinely matters. Co-Authored-By: Claude Fable 5 --- bgfilter/settings.py | 7 ++++++- configs/default.yaml | 5 ++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/bgfilter/settings.py b/bgfilter/settings.py index fd8eefb..fe95a47 100644 --- a/bgfilter/settings.py +++ b/bgfilter/settings.py @@ -122,7 +122,12 @@ class ForegroundSettings: @dataclass(frozen=True) class DespillSettings: - enabled: bool = True + # Off by default: despill pulls foreground chroma along the background-hue axis + # with no positional or semantic guard, so a subject sharing the background's hue + # (e.g. a blue suit on a blue backdrop) is desaturated/hue-shifted (~ΔE 35, blue + # -> purple). This is the root default the cpu-fast lane inherits. Re-enable + # per-config or with --despill only when edge spill genuinely matters. + enabled: bool = False edge_low: float = 0.005 strength: float = 0.92 edge_expand_radius: int = 2 diff --git a/configs/default.yaml b/configs/default.yaml index 04d795a..b9b5192 100644 --- a/configs/default.yaml +++ b/configs/default.yaml @@ -110,7 +110,10 @@ foreground: bg_confidence_weight: 0.70 despill: - enabled: true + # Off: despill has no positional/semantic guard, so a subject sharing the + # background's hue (blue suit on a blue backdrop) gets desaturated/hue-shifted + # (~ΔE 35, blue -> purple). Re-enable per-job only when edge spill matters. + enabled: false edge_low: 0.005 strength: 0.92 edge_expand_radius: 2