From b8a8c3d3bed4650c4ded6dc91a88eac6bd0e5beb Mon Sep 17 00:00:00 2001 From: Victor Kuznetsov Date: Sat, 5 Sep 2026 10:49:57 -0700 Subject: [PATCH] Improve visible-mark evaluation and Samsung masking --- data/calibration/samsung/README.md | 7 +- data/fixtures/visible/README.md | 9 +- data/fixtures/visible/samsung/example.png | Bin 3640943 -> 3650233 bytes docs/module-internals.md | 19 ++- docs/verification-plan.md | 38 +++++ scripts/detector_response.py | 6 +- scripts/fill_quality.py | 140 +----------------- scripts/render_visible_examples.py | 115 +++++++++----- src/remove_ai_watermarks/_text_mark_engine.py | 38 +++-- src/remove_ai_watermarks/samsung_engine.py | 48 +++++- tests/test_samsung_engine.py | 32 +++- tests/test_visible_fill_quality.py | 28 +++- 12 files changed, 273 insertions(+), 207 deletions(-) diff --git a/data/calibration/samsung/README.md b/data/calibration/samsung/README.md index 7955c90..87c066d 100644 --- a/data/calibration/samsung/README.md +++ b/data/calibration/samsung/README.md @@ -2,9 +2,10 @@ > **Status (built 2026-06-05):** flat black and gray Samsung Galaxy AI captures > were obtained and the detection asset was solved. The asset now supports -> detection and mask geometry only. Current removal localizes the wordmark and -> uses the shared fill backend. The text below records the capture plan and its -> locale and resolution limits. +> detection and detector-aligned alpha-mask geometry. Current removal aligns the +> solved alpha to the detector's winning template box and uses the shared fill +> backend. The text below records the capture plan and its locale and resolution +> limits. Goal: capture the Samsung Galaxy AI "✦ Contenuti generati dall'AI" visible wordmark over known flat backgrounds so we can rebuild and validate the silhouette used diff --git a/data/fixtures/visible/README.md b/data/fixtures/visible/README.md index d0905e0..a7f0694 100644 --- a/data/fixtures/visible/README.md +++ b/data/fixtures/visible/README.md @@ -8,11 +8,10 @@ does an engine that stops detecting its own example. ## What these files are Every example is SYNTHETIC: `scripts/render_visible_examples.py` composites the -mark's committed silhouette (the same font-rendered asset the detector matches) -onto a deterministic generated base photo at the engine's measured geometry. -The silhouettes are repository-owned font renders generated by -`scripts/render_vendor_silhouettes.py`; the gallery does not copy vendor raster -assets. +mark's committed alpha or silhouette onto a deterministic generated base photo at +the engine's measured geometry. Controlled provider captures were used to solve +some alpha assets, including Samsung's measured opacity; the remaining shapes are +repository-owned renders rather than copied vendor rasters. The examples demonstrate DETECTION geometry and house style, not vendor raster fidelity; real-world variants (fonts, opacities, sizes) are covered by the diff --git a/data/fixtures/visible/samsung/example.png b/data/fixtures/visible/samsung/example.png index b301d1a1c2e2e47fc07f4a9751ad26d7b168d160..64f50618e2a42f482326242fabd9da27f73726b5 100644 GIT binary patch delta 171303 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

utbwRXegL-LlWX9cpEs9aF%9!D>KR1!a5A-3wdD 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 O&b{!QC4cwbAOHVd{q`pS delta 161987 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 z%0D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 O#@8pDzw*4PKly*N&vN+y diff --git a/docs/module-internals.md b/docs/module-internals.md index 57a984e..09affd1 100644 --- a/docs/module-internals.md +++ b/docs/module-internals.md @@ -1326,7 +1326,7 @@ box grows), not the whole `footprint_mask`. Baidu extends right to the corner ta and LiblibAI extends left to the triangle logo; both inherit every guard around that arithmetic. -Doubao and Kling are deliberate sparse-mask exceptions because their alpha assets +Doubao, Kling, and Samsung are deliberate sparse-mask exceptions because their alpha assets supply more information than a rectangle. Doubao's continuous top-hat response locates the mark, then `DoubaoEngine.footprint_mask` resizes the alpha to that same winning `match_box` and masks only the glyphs. The canonical 2048-pixel fixture has bright @@ -1349,6 +1349,23 @@ seven, and regressed on one. The union is deliberate: replacing the old footprin with the synthetic core alone would overfit the font render and could discard a real variant stroke the pixel mask already found. +Samsung's binary front end now carries the location of its nominal-size template +match as well as the score. `SamsungEngine.footprint_mask` aligns the captured alpha +to that same box and masks only pixels above the measured 0.05 alpha floor, followed +by one pixel of dilation. The asset already contains the solved opacity, whose peak +is about 0.38; research renderers must composite it toward pure white exactly once. +Multiplying it by 0.38 again produced an unrealistically faint synthetic mark and +invalidated the first Samsung response curve. + +The mask geometry was checked on both retained flat provider captures and by a +paired 60-image constructed-reference ablation on 2026-09-04. At the native +1086-pixel capture width, the mask fell from about 19.7k pixels to 4.9k while one +fill still cleared the detector. Against the old rectangle, regional PSNR improved +on 55/60 images for OpenCV, 55/60 for MI-GAN, and 57/60 for LaMa; median paired +gains were 14.98, 10.38, and 14.87 dB respectively (two-sided sign-test +`p=1.04e-11`, `1.04e-11`, and `6.25e-14`). Explicit `force` has no detected box to +align and deliberately retains the conservative geometry fallback. + Yuanbao uses the polarity-independent `contrast` front end because its standard two-line mark can be light on dark scenes or dark on light scenes. Its detector and footprint both use the same best-match box. The separate one-line overlay diff --git a/docs/verification-plan.md b/docs/verification-plan.md index 5f49f96..2df5c5a 100644 --- a/docs/verification-plan.md +++ b/docs/verification-plan.md @@ -158,10 +158,48 @@ corpus would make the gate expensive and nondeterministic. Construct marked images from clean local references, compare each backend against the known original inside the affected footprint, and keep the report under `.local-eval/`. +#### Public clean-corpus run, 2026-09-04 + +The local source pool combined 186 Unsplash Lite photos and 235 Openverse Flickr +Creative Commons images. All 421 manifest entries were unique, every referenced +binary existed, and every SHA-256 matched before sampling. The report records only +source filenames and measurements under `.local-eval/`; no image bytes or private +corpus facts enter the repository. + +The 60-source, three-backend run produced 1,980 valid measurements for the 11 +non-Samsung marks. Every mark/backend pair had positive median PSNR recovery over +the stamped input. In paired comparisons, LaMa exceeded OpenCV by a median 1.20 dB +on 610 finite pairs and moved in the favorable direction on 432 versus 175 pairs +(two-sided sign-test `p=4.86e-26`). MI-GAN exceeded OpenCV by 0.31 dB in PSNR, but +its median SSIM was 0.0136 lower; backend preference is therefore metric- and +content-dependent rather than a universal ordering. + +The first Samsung rows from that run are rejected evidence: the forward model +multiplied the already-solved alpha asset by 0.38 a second time and composited +toward the generic 238 luma rather than the measured pure-white glyph. After fixing +that construction, a factorial ablation changed only the removal mask on the same +60 sources. The detector-aligned sparse mask improved PSNR over the old rectangle +on 55/60 OpenCV pairs, 55/60 MI-GAN pairs, and 57/60 LaMa pairs, with median gains +of 14.98, 10.38, and 14.87 dB (`p=1.04e-11`, `1.04e-11`, and `6.25e-14`). Relative +to the correctly stamped damaged input, median recovery was +13.27 dB for OpenCV, ++9.31 dB for MI-GAN, and +15.49 dB for LaMa. These are constructed-reference mask +quality results, not production recall. + ### B2. Detector response curves Use `scripts/detector_response.py` to sweep mark size, opacity, background, and aspect. Report detection and maskability separately. Generated reports stay under `.local-eval/`. +The corrected 2026-09-04 run contains 28,800 stamped cells and 1,800 matched clean +controls over 150 public clean backgrounds. Every mark had 0/150 control fires +(per-mark 95% Wilson upper bound 2.5%), and every detected cell was maskable. Nominal +constructed detection ranged from 54.0% for the Jimeng pill to 96.7% for Yuanbao +among the non-Samsung marks. Samsung reached 20.0%; the earlier 0.7% value is invalid +because it came from the double-attenuated renderer. Samsung still falls sharply on +busy synthetic backgrounds, so this grid identifies a detector-recall follow-up; it +does not justify lowering the threshold because the grid is adversarial and is not a +production-recall sample. The corrected report is +`.local-eval/detector-response-corrected-n150.jsonl`. + ### B3. Invisible round-trip, positive-control gated The open DWT-DCT detector is positive-only and carrier-fragile: "not found" on a fragile diff --git a/scripts/detector_response.py b/scripts/detector_response.py index 5e1aac2..31289be 100644 --- a/scripts/detector_response.py +++ b/scripts/detector_response.py @@ -82,7 +82,9 @@ REPO = Path(__file__).resolve().parents[1] sys.path.insert(0, str(REPO / "src")) sys.path.insert(0, str(REPO / "scripts")) -from fill_quality import SLOT_STAMPABLE, STAMPABLE, clean_sources, stamp_any, texture_of # noqa: E402 +from fill_quality import clean_sources, stamp_any, texture_of # noqa: E402 + +from remove_ai_watermarks import watermark_registry as wr # noqa: E402 OUT = REPO / ".local-eval" / "detector-response.jsonl" @@ -91,7 +93,7 @@ OUT = REPO / ".local-eval" / "detector-response.jsonl" # front-end was introduced for) and above it (a larger re-render, or an upscaled upload). SIZES = (0.6, 0.8, 1.0, 1.3) ALPHAS = (0.3, 0.5, 0.75, 1.0) -MARKS = (*STAMPABLE, *SLOT_STAMPABLE) +MARKS = tuple(wr.mark_keys()) def aspect_of(image: np.ndarray) -> str: diff --git a/scripts/fill_quality.py b/scripts/fill_quality.py index bfe7632..fc738bf 100644 --- a/scripts/fill_quality.py +++ b/scripts/fill_quality.py @@ -53,25 +53,6 @@ from invisible_quality_audit import _ssim # noqa: E402 -- path selects this wor CORPUS = REPO / ".local-eval" / "originals" OUT = REPO / ".local-eval" / "fill-quality.jsonl" -# Text marks: a bundled alpha PNG plus the engine's own corner geometry. -STAMPABLE = ( - "doubao", - "jimeng", - "qwen", - "kling", - "yuanbao", - "samsung", - "runninghub", - "baidu", - "liblib", - "microsoft", -) -# Marks with no bundled alpha asset. Both expose a default footprint via -# `footprint_mask(force=True)`, so they are stamped by fitting their own alpha source -# into that slot: Gemini's alpha is derived from its background captures, the pill's -# from its synthetic font-rendered silhouette. -SLOT_STAMPABLE = ("gemini", "jimeng_pill") - def psnr(a: np.ndarray, b: np.ndarray) -> float: mse = float(np.mean((a.astype(np.float64) - b.astype(np.float64)) ** 2)) @@ -86,122 +67,13 @@ def texture_of(box: np.ndarray) -> float: return float(np.median(cv2.magnitude(gx, gy))) -def engine_for(mark_key: str) -> Any: - """The TextMarkEngine instance for a mark key (the registry does not expose one).""" - import importlib - - mod = importlib.import_module(f"remove_ai_watermarks.{mark_key}_engine") - cls = next( - obj - for name, obj in vars(mod).items() - # Exclude the imported base class: it takes a `config` arg, the subclasses do not. - if isinstance(obj, type) and name.endswith("Engine") and name != "TextMarkEngine" - ) - return cls() - - -def composite(image: np.ndarray, alpha: np.ndarray, x: int, y: int) -> np.ndarray: - """The single forward model every stamp uses: ``stamped = (1-a)*bg + a*white``. - - ``alpha`` is float and clipped to [0,1] here, so a caller may pre-multiply it by an - opacity factor without worrying about overflow. Shared by ``stamp``/``stamp_slot`` - here and by ``scripts/detector_response.py`` (which imports it) so the model is - written ONCE. - """ - gh, gw = alpha.shape[:2] - out = image.copy() - roi = out[y : y + gh, x : x + gw].astype(np.float32) - a3 = np.clip(alpha, 0.0, 1.0)[..., None] - out[y : y + gh, x : x + gw] = np.clip(roi * (1 - a3) + 255.0 * a3, 0, 255).astype(np.uint8) - return out - - -def stamp( - image: np.ndarray, mark_key: str, *, size_mult: float = 1.0, alpha_mult: float = 1.0 -) -> tuple[np.ndarray, tuple[int, int, int, int]] | None: - """Composite a mark's alpha glyph into its canonical corner. Returns (stamped, bbox). - - ``size_mult`` scales the glyph box off the engine's nominal geometry and ``alpha_mult`` - its opacity -- both default to 1.0 (the geometry the engine assumes), and - `scripts/detector_response.py` sweeps them to build response curves. - """ - from remove_ai_watermarks._text_mark_engine import load_alpha_template - - engine = engine_for(mark_key) - cfg = engine.config - alpha = load_alpha_template(cfg.asset_name) - if alpha is None: - return None - - loc = engine.locate(image) - base = engine.scale_base(image) - gw = max(cfg.min_gw, int(cfg.alpha_width_frac * base * size_mult)) - gh = max(4, int(cfg.alpha_height_frac * base * size_mult)) - if gw < 8 or gh < 4 or gw > loc.w or gh > loc.h: - return None - - a = cv2.resize(alpha, (gw, gh), interpolation=cv2.INTER_AREA).astype(np.float32) * alpha_mult - x = loc.x + (loc.w - gw) // 2 - y = loc.y + (loc.h - gh) // 2 - return composite(image, a, x, y), (x, y, gw, gh) - - -def _slot_alpha(mark_key: str) -> np.ndarray | None: - """The alpha source for a mark that ships no bundled alpha PNG.""" - if mark_key == "gemini": - from remove_ai_watermarks.gemini_engine import _shared_engine - - # _shared_engine is the package's own lru_cache singleton: constructing - # GeminiEngine() per image reloads its captures, recomputes both alpha maps and - # rebuilds the whole template ladder -- the exact cost that singleton exists to - # avoid. Private attribute access is deliberate (no accessor exists); a - # measurement script may reach in, product code must not. - return np.asarray(_shared_engine()._alpha_large, dtype=np.float32) - if mark_key == "jimeng_pill": - from remove_ai_watermarks._text_mark_engine import load_alpha_template - - return load_alpha_template("jimeng_pill.png") - return None - - -def stamp_slot( - image: np.ndarray, mark_key: str, *, size_mult: float = 1.0, alpha_mult: float = 1.0 -) -> tuple[np.ndarray, tuple[int, int, int, int]] | None: - """Stamp a mark into its OWN default footprint slot (the `--no-detect` geometry). - - Used for gemini and the pill, which have no bundled alpha asset with corner - fractions. The mark is fitted into the middle of its slot so the fill has to - recover the same kind of region it would in production. ``size_mult``/``alpha_mult`` - match ``stamp`` (both default to 1.0). - """ - from remove_ai_watermarks.watermark_registry import get_mark - - alpha = _slot_alpha(mark_key) - if alpha is None: - return None - loc = get_mark(mark_key).localize(image, force=True) - if loc.mask is None: - return None - ys, xs = np.nonzero(loc.mask) - if ys.size == 0: - return None - y0, y1, x0, x1 = int(ys.min()), int(ys.max()), int(xs.min()), int(xs.max()) - bw, bh = x1 - x0 + 1, y1 - y0 + 1 - gw, gh = max(8, int(bw * 0.7 * size_mult)), max(8, int(bh * 0.7 * size_mult)) - a = cv2.resize(alpha, (gw, gh), interpolation=cv2.INTER_AREA).astype(np.float32) * alpha_mult - x, y = x0 + (bw - gw) // 2, y0 + (bh - gh) // 2 - # A large size_mult can grow the glyph past its slot and push x/y negative; guard so - # composite never writes out of bounds (numpy would wrap a negative index silently). - if x < 0 or y < 0 or x + gw > image.shape[1] or y + gh > image.shape[0]: - return None - return composite(image, a, x, y), (x, y, gw, gh) - - def stamp_any( image: np.ndarray, mark_key: str, *, size_mult: float = 1.0, alpha_mult: float = 1.0 ) -> tuple[np.ndarray, tuple[int, int, int, int]] | None: - fn = stamp if mark_key in STAMPABLE else stamp_slot - return fn(image, mark_key, size_mult=size_mult, alpha_mult=alpha_mult) + """Stamp via the same forward model that produces the verified gallery.""" + from render_visible_examples import stamp_image_mark + + return stamp_image_mark(mark_key, image, size_mult=size_mult, alpha_mult=alpha_mult) def clean_sources(n: int, seed: int = 11) -> list[Path]: @@ -241,7 +113,7 @@ def main() -> None: from remove_ai_watermarks.image_io import imread from remove_ai_watermarks.region_eraser import lama_available, migan_available - from remove_ai_watermarks.watermark_registry import fill, get_mark + from remove_ai_watermarks.watermark_registry import fill, get_mark, mark_keys backends = ["cv2"] + (["migan"] if migan_available() else []) + (["lama"] if lama_available() else []) print(f"backends under test: {backends}") @@ -255,7 +127,7 @@ def main() -> None: base = imread(str(src)) if base is None: continue - for key in (*STAMPABLE, *SLOT_STAMPABLE): + for key in mark_keys(): st = stamp_any(base, key) if st is None: continue diff --git a/scripts/render_visible_examples.py b/scripts/render_visible_examples.py index 7a97c3a..5211c26 100644 --- a/scripts/render_visible_examples.py +++ b/scripts/render_visible_examples.py @@ -5,8 +5,9 @@ sample of everything it supports and a canary test can hold both sides to it (mark registered without example; engine regressed on its canonical example). Every example is SYNTHETIC: a deterministic generated base photo with the mark's -own committed silhouette composited at the engine's measured geometry. The -silhouettes are repository-owned font renders, not copied vendor raster assets. +own committed alpha or silhouette composited at the engine's measured geometry. +Some alpha assets were solved from controlled provider captures; the other shapes +are repository-owned renders rather than copied vendor rasters. Regenerate with: uv run python scripts/render_visible_examples.py @@ -16,37 +17,31 @@ from __future__ import annotations import sys from pathlib import Path -from typing import TYPE_CHECKING import cv2 import numpy as np -if TYPE_CHECKING: - from collections.abc import Callable - _ROOT = Path(__file__).resolve().parents[1] sys.path.insert(0, str(_ROOT / "src")) from remove_ai_watermarks import watermark_registry as wr # noqa: E402 from remove_ai_watermarks.image_io import imread # noqa: E402 -ASSETS = _ROOT / "src" / "remove_ai_watermarks" / "assets" OUT = _ROOT / "data" / "fixtures" / "visible" # Composite strength per key: glyph target luma for the light-overlay class. -# Kling is a thin light-gray run (not near-white); Samsung is a faint overlay -# expressed by SCALING ITS ALPHA to 0.38 toward full white (see below); everything -# else is the bold near-white house style. +# Kling is a thin light-gray run. Samsung's solved asset already stores its faint +# measured opacity and was solved against pure white, so it must use 255 without a +# second attenuation. Everything else uses the bold near-white house style. _STRENGTH: dict[str, int] = { "kling": 208, + "samsung": 255, } _DEFAULT_STRENGTH = 238 # Base geometry: one canonical size per mark where the engine's size modes or # calibrated orientation matter, otherwise a plain 3:2 landscape frame. -# Samsung keeps the larger base: its overlay is faint (peak alpha ~0.38) and -# the real marks live on ~2958px phone photos -- at 1536 the example falls to 0.39, -# just under the engine's 0.40 gate. +# Samsung keeps the larger base because real marks live on ~2958px phone photos. _SIZE: dict[str, tuple[int, int]] = { "qwen": (1536, 1536), "liblib": (1152, 1536), @@ -73,22 +68,31 @@ def base_photo(w: int, h: int, seed: int = 7) -> np.ndarray: def _glyph_asset(name: str) -> np.ndarray: - at = imread(str(ASSETS / name), cv2.IMREAD_GRAYSCALE) + from remove_ai_watermarks._text_mark_engine import load_alpha_template + + at = load_alpha_template(name) if at is None: raise RuntimeError(f"missing silhouette asset: {name}") - return at.astype(np.float32) / 255.0 + return at def _composite_light(base: np.ndarray, alpha: np.ndarray, x: int, y: int, strength: int) -> np.ndarray: out = base.copy() h, w = alpha.shape[:2] roi = out[y : y + h, x : x + w].astype(np.float32) + alpha = np.clip(alpha, 0.0, 1.0) a3 = alpha[:, :, None] if alpha.ndim == 2 else alpha out[y : y + h, x : x + w] = np.clip(roi * (1 - a3) + strength * a3, 0, 255).astype(np.uint8) return out -def _text_mark_example(key: str, base: np.ndarray) -> np.ndarray: +def _stamp_text_mark( + key: str, + base: np.ndarray, + *, + size_mult: float, + alpha_mult: float, +) -> tuple[np.ndarray, tuple[int, int, int, int]] | None: engine = wr._engine(key) # the generator drives the engine's own config cfg = engine.config h, w = base.shape[:2] @@ -96,22 +100,27 @@ def _text_mark_example(key: str, base: np.ndarray) -> np.ndarray: # Opaque white pill with dark text/sparkle holes, at the measured inset. at = _glyph_asset("microsoft_alpha.png") long_side = max(w, h) - pw = int(0.152 * long_side) + pw = int(0.152 * long_side * size_mult) ph = max(4, int(pw / (at.shape[1] / at.shape[0]))) pad = int(0.010 * long_side) + if pw > w - pad or ph > h - pad: + return None pill = cv2.resize(at, (pw, ph)) x, y = w - pad - pw, pad out = base.copy() bright = (pill > 0.6)[:, :, None] - out[y : y + ph, x : x + pw] = np.where(bright, 245.0, 46.0).astype(np.uint8) - return out + target = np.where(bright, 245.0, 46.0).astype(np.float32) + blend = float(np.clip(alpha_mult, 0.0, 1.0)) + roi = out[y : y + ph, x : x + pw].astype(np.float32) + out[y : y + ph, x : x + pw] = np.clip(roi * (1 - blend) + target * blend, 0, 255).astype(np.uint8) + return out, (x, y, pw, ph) base_dim = {"short": min(w, h), "width": w, "long": max(w, h)}[cfg.scale_basis] # Size the glyph ON a ladder rung: the continuous front ends sweep only the # configured rungs, and a glyph sized between rungs collapses the NCC (the # comb-collapse qwen's own two-rung ladder exists to avoid). rung = max(cfg.ladder) if cfg.detect_frontend != "binary" else 1.0 - gw = int(cfg.alpha_width_frac * base_dim * rung) - gh = max(4, int(cfg.alpha_height_frac * base_dim * rung)) + gw = max(cfg.min_gw, int(cfg.alpha_width_frac * base_dim * rung * size_mult)) + gh = max(4, int(cfg.alpha_height_frac * base_dim * rung * size_mult)) loc = engine.locate(base) # Corner-hugging placement: the yuanbao/runninghub anchor gates demote a match # that does not hug the corner, and the real marks sit flush on the box's @@ -124,39 +133,67 @@ def _text_mark_example(key: str, base: np.ndarray) -> np.ndarray: x = loc.x y = loc.y if cfg.corner in ("tl", "tr") else loc.y + loc.h - gh x, y = max(0, x), max(0, y) + if x + gw > w or y + gh > h: + return None at = _glyph_asset(f"{key}_alpha.png") alpha = cv2.resize(at, (gw, gh)) - if key == "samsung": # faint overlay: peak alpha 0.38 toward FULL white - alpha = alpha * 0.38 - return _composite_light(base, alpha, x, y, _STRENGTH.get(key, _DEFAULT_STRENGTH)) + alpha = alpha * alpha_mult + return _composite_light(base, alpha, x, y, _STRENGTH.get(key, _DEFAULT_STRENGTH)), (x, y, gw, gh) -def _gemini_example(base: np.ndarray) -> np.ndarray: - from remove_ai_watermarks.gemini_engine import GeminiEngine, get_watermark_config, get_watermark_size +def _stamp_gemini( + base: np.ndarray, + *, + size_mult: float, + alpha_mult: float, +) -> tuple[np.ndarray, tuple[int, int, int, int]] | None: + from remove_ai_watermarks.gemini_engine import _shared_engine, get_watermark_config, get_watermark_size h, w = base.shape[:2] - eng = GeminiEngine() + eng = _shared_engine() size = get_watermark_size(w, h) alpha = eng.get_alpha_map(size) cfg = get_watermark_config(w, h) x, y = cfg.get_position(w, h) - return _composite_light(base, alpha.astype(np.float32), x, y, 255) + ah, aw = alpha.shape[:2] + gw, gh = max(8, int(aw * size_mult)), max(8, int(ah * size_mult)) + x, y = x + aw - gw, y + ah - gh + if x < 0 or y < 0 or x + gw > w or y + gh > h: + return None + resized = cv2.resize(alpha, (gw, gh), interpolation=cv2.INTER_AREA).astype(np.float32) * alpha_mult + return _composite_light(base, resized, x, y, 255), (x, y, gw, gh) -def _pill_example(base: np.ndarray) -> np.ndarray: +def _stamp_pill( + base: np.ndarray, + *, + size_mult: float, + alpha_mult: float, +) -> tuple[np.ndarray, tuple[int, int, int, int]] | None: h, w = base.shape[:2] at = _glyph_asset("jimeng_pill.png") - pw = max(24, int(0.161 * w)) + pw = max(24, int(0.161 * w * size_mult)) ph = max(8, int(pw * at.shape[0] / at.shape[1])) x, y = int(0.03 * w), int(0.03 * h) - alpha = cv2.resize(at, (pw, ph)) - return _composite_light(base, alpha, x, y, 232) + if x + pw > w or y + ph > h: + return None + alpha = cv2.resize(at, (pw, ph)) * alpha_mult + return _composite_light(base, alpha, x, y, 232), (x, y, pw, ph) -_BUILDERS: dict[str, Callable[[np.ndarray], np.ndarray]] = { - "gemini": _gemini_example, - "jimeng_pill": _pill_example, -} +def stamp_image_mark( + key: str, + base: np.ndarray, + *, + size_mult: float = 1.0, + alpha_mult: float = 1.0, +) -> tuple[np.ndarray, tuple[int, int, int, int]] | None: + """Composite one image mark using the gallery's verified forward model.""" + if key == "gemini": + return _stamp_gemini(base, size_mult=size_mult, alpha_mult=alpha_mult) + if key == "jimeng_pill": + return _stamp_pill(base, size_mult=size_mult, alpha_mult=alpha_mult) + return _stamp_text_mark(key, base, size_mult=size_mult, alpha_mult=alpha_mult) def build( @@ -177,8 +214,10 @@ def build_pair( """Return the clean synthetic source and the matching marked image.""" size = size or _SIZE.get(key, (1536, 1152)) clean = base_photo(*size, seed=seed) - builder = _BUILDERS.get(key) - marked = builder(clean) if builder is not None else _text_mark_example(key, clean) + stamped = stamp_image_mark(key, clean) + if stamped is None: + raise RuntimeError(f"could not stamp {key} at its nominal geometry") + marked, _box = stamped return clean, marked diff --git a/src/remove_ai_watermarks/_text_mark_engine.py b/src/remove_ai_watermarks/_text_mark_engine.py index 97e23e6..2ad671b 100644 --- a/src/remove_ai_watermarks/_text_mark_engine.py +++ b/src/remove_ai_watermarks/_text_mark_engine.py @@ -170,10 +170,11 @@ class TextMarkDetection: confidence: float = 0.0 region: tuple[int, int, int, int] = (0, 0, 0, 0) coverage: float = 0.0 # fraction of the box occupied by glyph pixels - # ROI-local (x0, y0, x1, y1) of the ladder sweep's best match, in the LOCATED BOX's - # coordinates. None for the ``binary`` front-end (it runs no sweep) and whenever no - # rung matched. ``footprint_mask`` bounds the fill with it, so carrying it here is - # what stops the mask path re-running a sweep the detector already ran. + # ROI-local (x0, y0, x1, y1) of the template's best match, in the LOCATED BOX's + # coordinates. Continuous front ends get it from the ladder sweep; ``binary`` gets + # it from its single nominal-size match. None whenever no template matched. + # ``footprint_mask`` bounds the fill with it, so carrying it here is what stops the + # mask path re-running a search the detector already ran. match_box: tuple[int, int, int, int] | None = None # The trust level this detection was taken at, mirroring detect()'s ``provenance``. # ``footprint_mask`` reuses a threaded detection only when it matches the STRICT @@ -258,9 +259,10 @@ def _rival_config(asset_name: str, fallback: TextMarkConfig) -> TextMarkConfig: return fallback -def template_match_score(box_mask: NDArray[Any], scale_base: int, config: TextMarkConfig) -> float: - """Zero-mean normalized correlation of the alpha-template glyph silhouette - (scaled to the mark's expected size) against the candidate ``box_mask``. +def _template_match_best( + box_mask: NDArray[Any], scale_base: int, config: TextMarkConfig +) -> tuple[float, tuple[int, int, int, int] | None]: + """Best nominal-size template score and its inclusive ROI-local box. ``TM_CCOEFF_NORMED`` keys on glyph SHAPE, not coverage, so a dense textured corner does not score highly -- only the actual glyph shape does. @@ -271,13 +273,21 @@ def template_match_score(box_mask: NDArray[Any], scale_base: int, config: TextMa """ sil = glyph_silhouette(config.asset_name) if sil is None or box_mask.size == 0: - return 0.0 + return (0.0, None) gw = min(box_mask.shape[1] - 1, max(config.min_gw, int(config.alpha_width_frac * scale_base))) gh = min(box_mask.shape[0] - 1, max(4, int(config.alpha_height_frac * scale_base))) if gw < config.min_gw or gh < 4: - return 0.0 + return (0.0, None) template = cv2.resize(sil, (gw, gh), interpolation=cv2.INTER_NEAREST) - return float(cv2.matchTemplate(box_mask, template, cv2.TM_CCOEFF_NORMED).max()) + result = cv2.matchTemplate(box_mask, template, cv2.TM_CCOEFF_NORMED) + _, score, _, top_left = cv2.minMaxLoc(result) + x, y = int(top_left[0]), int(top_left[1]) + return (float(score), (x, y, x + gw - 1, y + gh - 1)) + + +def template_match_score(box_mask: NDArray[Any], scale_base: int, config: TextMarkConfig) -> float: + """Zero-mean normalized correlation of the expected glyph against ``box_mask``.""" + return _template_match_best(box_mask, scale_base, config)[0] class TextMarkEngine: @@ -626,7 +636,10 @@ class TextMarkEngine: # front-end that binarizes; the continuous ones never build a blob. Below # the gate the detection stays at confidence 0.0 and the rival margin is # never consulted, so the score stays None here. - score = self._template_match_score(box, base) if coverage >= c.detect_min_coverage else None + if coverage >= c.detect_min_coverage: + score, match_box = _template_match_best(box, base, c) + else: + score = None else: score, match_box = self._ladder_best(image, loc) return TextMarkScan(loc, box, base, frame=image.shape[:2], coverage=coverage, score=score, match_box=match_box) @@ -850,7 +863,8 @@ class TextMarkEngine: themselves were the mask), but the inpaint reconstructs the whole wordmark rectangle from its surroundings, so a stroke missed by the top-hat is still covered. This drops the fixed alpha-template dependency, so a re-rendered or - differently-localized mark (e.g. a non-Italian Samsung string) is still masked. + differently-rendered mark can still be masked by engines that keep this default + rectangular policy. Engines with measured alpha footprints override this method. With ``force`` and no glyph found, falls back to the whole geometry box (the ``--no-detect`` path). The caller gates on detection. diff --git a/src/remove_ai_watermarks/samsung_engine.py b/src/remove_ai_watermarks/samsung_engine.py index 062431a..a418095 100644 --- a/src/remove_ai_watermarks/samsung_engine.py +++ b/src/remove_ai_watermarks/samsung_engine.py @@ -8,7 +8,7 @@ It is a faint, near-white semi-transparent overlay, the same overlay class as th Doubao/Jimeng marks but bottom-left. Detection matches the bundled glyph silhouette against the corner; removal is the -shared **localize -> fill** (the glyph-bbox :meth:`footprint_mask` feeds +shared **localize -> fill** (a detector-aligned alpha :meth:`footprint_mask` feeds ``region_eraser``), NOT reverse-alpha. This module shares :class:`remove_ai_watermarks._text_mark_engine.TextMarkEngine` and supplies only Samsung's tuned :class:`TextMarkConfig` (bottom-LEFT corner, a lower glyph @@ -27,8 +27,8 @@ from __future__ import annotations from typing import TYPE_CHECKING, Any -from remove_ai_watermarks import _text_mark_engine -from remove_ai_watermarks._text_mark_engine import TextMarkConfig, TextMarkEngine +from remove_ai_watermarks import _text_mark_engine, image_io +from remove_ai_watermarks._text_mark_engine import TextMarkConfig, TextMarkDetection, TextMarkEngine if TYPE_CHECKING: from numpy.typing import NDArray @@ -59,6 +59,13 @@ _ALPHA_NATIVE_WIDTH = 1086 _ALPHA_WIDTH_FRAC = 0.3195 # asset width / image width -- sizes the detection silhouette _ALPHA_HEIGHT_FRAC = 0.0378 +# The solved alpha carries a wide low-opacity halo. A 0.05 floor plus one-pixel +# dilation covered the visible strokes on both retained provider captures while +# reducing the fill from ~19.7k pixels to ~4.9k at 1086 px width. It also covers +# >=94% of every changed pixel on both deterministic gallery backgrounds. +_FOOTPRINT_ALPHA_FLOOR = 0.05 +_FOOTPRINT_DILATE = 1 + _CONFIG = TextMarkConfig( name="Samsung Galaxy AI", asset_name="samsung_alpha.png", @@ -100,3 +107,38 @@ class SamsungEngine(TextMarkEngine): def __init__(self) -> None: super().__init__(_CONFIG) + + def footprint_mask( + self, + image: NDArray[Any] | None, + *, + force: bool = False, + dilate: int | None = None, + detection: TextMarkDetection | None = None, + ) -> NDArray[Any] | None: + """Return the detector-aligned Samsung glyph footprint. + + Samsung's peak opacity is only about 0.38, so filling the enclosing wordmark + rectangle destroys substantially more real content than the overlay damaged. + The binary detector already found the captured silhouette at one exact box; + align the solved alpha to that box and mask its strokes only. Explicit + ``force`` has no trustworthy alignment and retains the shared geometry box. + """ + if force or image is None or image.size == 0: + return super().footprint_mask(image, force=force, dilate=dilate, detection=detection) + + image = image_io.to_bgr(image) + det = detection if detection is not None else self.detect(image) + alpha = _alpha_template() + if alpha is not None: + radius = _FOOTPRINT_DILATE if dilate is None else max(0, dilate) + aligned = self._aligned_alpha_mask( + image, + det, + alpha, + alpha_floor=_FOOTPRINT_ALPHA_FLOOR, + dilate=radius, + ) + if aligned is not None: + return aligned + return super().footprint_mask(image, force=False, dilate=dilate, detection=det) diff --git a/tests/test_samsung_engine.py b/tests/test_samsung_engine.py index d87b434..b895983 100644 --- a/tests/test_samsung_engine.py +++ b/tests/test_samsung_engine.py @@ -1,18 +1,20 @@ """Tests for the Samsung Galaxy AI visible-watermark engine. -No real Samsung sample is committed (the real-photo captures are gitignored, repo -is public), so detection/removal is exercised against a watermark synthesized from -the bundled alpha asset itself -- self-consistent and download-free. The mark is -anchored bottom-LEFT (unlike the bottom-right Doubao/Jimeng marks). +Detection and removal use both controlled flat provider captures and marks synthesized +from the bundled alpha asset. The mark is anchored bottom-LEFT (unlike the bottom-right +Doubao/Jimeng marks). """ from __future__ import annotations +from pathlib import Path + import cv2 import numpy as np import pytest from remove_ai_watermarks import watermark_registry as registry +from remove_ai_watermarks.region_eraser import erase_cv2 from remove_ai_watermarks.samsung_engine import ( _ALPHA_HEIGHT_FRAC, _ALPHA_NATIVE_WIDTH, @@ -130,6 +132,28 @@ class TestAlphaAssetAndRemoval: assert region is not None assert not SamsungEngine().detect(out).detected + def test_real_gray_capture_uses_a_sparse_detector_aligned_footprint(self): + """The faint real glyph must not turn its whole text rectangle into a hole.""" + path = Path(__file__).parents[1] / "data/calibration/samsung/samsung_gray_1.png" + image = cv2.imread(str(path), cv2.IMREAD_COLOR) + eng = SamsungEngine() + det = eng.detect(image) + + assert det.detected + assert det.match_box is not None + mask = eng.footprint_mask(image, detection=det) + assert mask is not None + assert np.count_nonzero(mask) < 10_000 + + out = erase_cv2(image, mask) + loc = eng.locate(image) + roi = np.s_[loc.y : loc.y + loc.h, loc.x : loc.x + loc.w] + clean_color = np.median(image[: image.shape[0] // 2].reshape(-1, 3), axis=0) + before_mae = float(np.mean(np.abs(image[roi].astype(np.float32) - clean_color))) + after_mae = float(np.mean(np.abs(out[roi].astype(np.float32) - clean_color))) + assert after_mae < before_mae * 0.25 + assert not eng.detect(out).detected + @pytest.mark.parametrize( ("w", "h"), [ diff --git a/tests/test_visible_fill_quality.py b/tests/test_visible_fill_quality.py index 0fc5143..78fa2c6 100644 --- a/tests/test_visible_fill_quality.py +++ b/tests/test_visible_fill_quality.py @@ -7,9 +7,10 @@ import numpy as np import pytest from remove_ai_watermarks import watermark_registry as wr -from scripts.fill_quality import SLOT_STAMPABLE, STAMPABLE, psnr, stamp_any +from scripts.detector_response import ALPHAS, SIZES +from scripts.fill_quality import psnr, stamp_any from scripts.invisible_quality_audit import _ssim -from scripts.render_visible_examples import build_pair +from scripts.render_visible_examples import _glyph_asset, build_pair, stamp_image_mark _IMAGE_KEYS = tuple(mark.key for mark in wr.known_marks()) @@ -49,11 +50,28 @@ def _score_box(clean: np.ndarray, filled: np.ndarray, changed: np.ndarray) -> tu ) -def test_full_quality_harness_covers_every_registered_image_mark() -> None: - assert {*STAMPABLE, *SLOT_STAMPABLE} == set(_IMAGE_KEYS) +def test_samsung_stamp_uses_the_solved_alpha_exactly_once() -> None: + """The asset already stores the measured ~0.38 peak opacity.""" + clean = np.full((1448, 1086, 3), 100, np.uint8) + stamped = stamp_image_mark("samsung", clean) + assert stamped is not None + marked, (x, y, w, h) = stamped + alpha = cv2.resize(_glyph_asset("samsung_alpha.png"), (w, h), interpolation=cv2.INTER_LINEAR) + expected = np.clip(100.0 * (1.0 - alpha) + 255.0 * alpha, 0, 255).astype(np.uint8) + assert np.array_equal(marked[y : y + h, x : x + w, 0], expected) + + +def test_detector_response_can_construct_every_declared_grid_cell() -> None: + """An out-of-search-range mark is a measured miss, not an omitted row.""" for key in _IMAGE_KEYS: clean, _marked = build_pair(key) - assert stamp_any(clean, key) is not None, key + for size_mult in SIZES: + for alpha_mult in ALPHAS: + assert stamp_any(clean, key, size_mult=size_mult, alpha_mult=alpha_mult) is not None, ( + key, + size_mult, + alpha_mult, + ) @pytest.mark.parametrize("key", _IMAGE_KEYS)