FR-DEV-3g — AI denoise #21

Open
opened 2026-09-05 16:20:11 +00:00 by dtourolle · 2 comments
Owner

FR-DEV-3g — AI denoise. Promoted into v1 scope by D11, and unbuilt.

Why D11 promoted it

Unlike AI masking, denoise has no manual fallback — it reaches a quality ceiling no conventional method matches, which is why photographers run a second application for it. Raw-domain joint demosaic-and-denoise is also markedly easier to build into a new pipeline than to retrofit, and the same component attacks the X-Trans artefact problem (FR-RAW-5). D11 names it the precondition for deferring AI masking: one learned stage earns the runtime a second could reuse.

What exists

Classical noise reduction only — ops/noise_reduction.rs, a bilateral filter in two arrangements, exact for luminance and separable for chroma. It is good, and it is not this.

models/ holds two face models. core/dr-segment/models/ holds a YOLO segmentation model. There is no denoise model, no learned demosaic, and no inference path that is not face or segmentation.

Blocked on

#22 — D13, model licensing, is still open for the models that already ship. Adding a third learned stage adds a third licence to answer for, and building the runtime before that is settled means owning the same problem in one more place.

Constraints when it does land

  • Inference local only — no cloud, no telemetry (NFR-SEC-4).
  • The stage is optional at runtime and its absence degrades gracefully.

See docs/outstanding.md §3.

**FR-DEV-3g — AI denoise.** Promoted into v1 scope by D11, and unbuilt. ## Why D11 promoted it Unlike AI masking, denoise has **no manual fallback** — it reaches a quality ceiling no conventional method matches, which is why photographers run a second application for it. Raw-domain joint demosaic-and-denoise is also markedly easier to build into a new pipeline than to retrofit, and the same component attacks the X-Trans artefact problem (FR-RAW-5). D11 names it the precondition for deferring AI masking: one learned stage earns the runtime a second could reuse. ## What exists Classical noise reduction only — `ops/noise_reduction.rs`, a bilateral filter in two arrangements, exact for luminance and separable for chroma. It is good, and it is not this. `models/` holds two face models. `core/dr-segment/models/` holds a YOLO segmentation model. There is no denoise model, no learned demosaic, and no inference path that is not face or segmentation. ## Blocked on #22 — D13, model licensing, is still open for the models that **already** ship. Adding a third learned stage adds a third licence to answer for, and building the runtime before that is settled means owning the same problem in one more place. ## Constraints when it does land - Inference **local only** — no cloud, no telemetry (NFR-SEC-4). - The stage is optional at runtime and its absence degrades gracefully. See `docs/outstanding.md` §3.
dtourolle added the developpipelineunmet-requirementsize:Lgpublocked labels 2026-09-05 16:20:11 +00:00
Author
Owner

Blocked on #22 (D13). Adding a third learned stage adds a third licence to answer for.

**Blocked on** #22 (D13). Adding a third learned stage adds a third licence to answer for.
Author
Owner

Removing blocked: both blockers have gone. D13 (#22) is closed with the licensing position recorded in requirements.md, and the inference engine now has roles beyond face and segmentation (e.g. the Inpainter role for MI-GAN, c5f07f9). The work itself is untouched — denoise is still only the classical ops/noise_reduction.rs.

Removing `blocked`: both blockers have gone. D13 (#22) is closed with the licensing position recorded in requirements.md, and the inference engine now has roles beyond face and segmentation (e.g. the Inpainter role for MI-GAN, c5f07f9). The work itself is untouched — denoise is still only the classical `ops/noise_reduction.rs`.
dtourolle removed the blocked label 2026-09-24 11:18:43 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dtourolle/DarkRoom#21