About the project

Inspiration

Modern image editors increasingly reject a whole image because one region trips a content filter — a logo, a face, an ID card — even when your actual edit has nothing to do with it. This over-refusal problem is the spark for Janus. The key insight: don't argue with the guardrail, route around it. If the editor never sees the sensitive region $s$, it has nothing to object to. Like the two-faced Roman god of gateways, one face removes $s$ on the way in, the other restores it on the way out.

What it does

Janus wraps any black-box editor in a three-stage pipeline:

$$i \xrightarrow{\text{mask}} i_{\text{masked}} \xrightarrow{\text{edit}} i_{\text{masked, edited}} \xrightarrow{\text{restore}} i_{\text{final}}$$

Mask the sensitive region $s$ out of the original → edit the sanitized image with an unmodified, restrictive model → restore the held-out $s$ back in. The edit you wanted lands, even around the region that would have blocked it — without ever exposing $s$.

Built With

Share this project:

Updates