FaceRestoreWidget never exposes conf_threshold; workflow default 0.5 is locked from the GUI #24

Open
opened 2026-09-18 07:03:42 +00:00 by Mark · 0 comments
Owner

Reproduction

  1. Open AuraFrame, load an image with multiple faces (one clear, one partially occluded).
  2. Open the Face Restore panel.
  3. Try to lower the detection confidence to pick up the occluded face.

Observed

  • FaceRestoreWidget._build_ui (auraframe/gui/face_restore_widget.py:90-162) exposes Model combo, Restore Weight slider, and Blend Mode combo — but no conf_threshold control.
  • FaceRestoreWidget.get_settings() (line 196-203) returns only {model_id, restoration_weight, blend_mode}.
  • MainWindow._run_face_restore (auraframe/gui/main_window.py:451-469) calls self._run_pipeline("face_restore_only", {**settings, "conf_threshold": settings.get("conf_threshold", 0.5), ...}) — the settings.get("conf_threshold", 0.5) always falls back to 0.5 because the widget never sets it.
  • The workflow auraframe/workflows/face_restore_only.py:35 documents conf_threshold as a parameter and the DetectFacesNode (auraframe/pipeline/nodes/detect_faces.py:25) reads it from parameters and forwards to the SCRFD detector.

Root cause

The widget surface does not include a conf_threshold slider/spinbox. The value is hard-coded to 0.5 from the moment get_settings() is called.

Expected

  • A control in FaceRestoreWidget for conf_threshold (range 0.1-1.0, default 0.5) that flows through get_settings() into the workflow parameters — so users can tighten detection (cleaner results) or loosen it (more faces at the cost of false positives) from the GUI.

Severity

Low — the feature works at the workflow level; only the GUI surface is missing. Documented workflow parameter that the GUI cannot exercise.

## Reproduction 1. Open AuraFrame, load an image with multiple faces (one clear, one partially occluded). 2. Open the Face Restore panel. 3. Try to lower the detection confidence to pick up the occluded face. ## Observed - `FaceRestoreWidget._build_ui` (auraframe/gui/face_restore_widget.py:90-162) exposes Model combo, Restore Weight slider, and Blend Mode combo — but no `conf_threshold` control. - `FaceRestoreWidget.get_settings()` (line 196-203) returns only `{model_id, restoration_weight, blend_mode}`. - `MainWindow._run_face_restore` (auraframe/gui/main_window.py:451-469) calls `self._run_pipeline("face_restore_only", {**settings, "conf_threshold": settings.get("conf_threshold", 0.5), ...})` — the `settings.get("conf_threshold", 0.5)` always falls back to 0.5 because the widget never sets it. - The workflow `auraframe/workflows/face_restore_only.py:35` documents `conf_threshold` as a parameter and the DetectFacesNode (`auraframe/pipeline/nodes/detect_faces.py:25`) reads it from parameters and forwards to the SCRFD detector. ## Root cause The widget surface does not include a conf_threshold slider/spinbox. The value is hard-coded to 0.5 from the moment `get_settings()` is called. ## Expected - A control in `FaceRestoreWidget` for `conf_threshold` (range 0.1-1.0, default 0.5) that flows through `get_settings()` into the workflow parameters — so users can tighten detection (cleaner results) or loosen it (more faces at the cost of false positives) from the GUI. ## Severity Low — the feature works at the workflow level; only the GUI surface is missing. Documented workflow parameter that the GUI cannot exercise.
Sign in to join this conversation.
No description provided.