Default the HTTP service to cross-check OFF (opt in via BGFILTER_CROSS_CHECK)

The cross-model veto adds one extra large-model inference per request
(measured ~35 s/image on CPU: 14.4 s -> 49.1 s), which is too slow as a
service default. The service now disables it regardless of the config
default; BGFILTER_CROSS_CHECK=1 re-enables it (GPU or quality-first
deployments). CLI behaviour is unchanged (still on by default).

Startup log and /healthz report the effective state.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-04 20:57:39 +08:00
parent 578bd1f4d8
commit 11c591e5b5
2 changed files with 13 additions and 1 deletions
+5
View File
@@ -173,6 +173,11 @@ Config comes from `BGFILTER_CONFIG` (defaults to `configs/default.yaml` when pre
caps input size (default ~4MP → `413`); `BGFILTER_PRELOAD=1` loads the default models at
startup. Run a single worker (`--workers 1`) — each worker loads its own copy of the models.
Unlike the CLI, the service defaults the **cross-model veto to off** — it adds one
extra large-model inference (~35 s/image on CPU, 14 s → 49 s total). Opt in with
`BGFILTER_CROSS_CHECK=1` (worth it on GPU or when hair-gap residue matters more than
latency); `/healthz` reports the effective state as `crossCheck`.
## Quality Check
The quality checker measures alpha validity and edge spill on semi-transparent edge