mirror of
https://github.com/wiltodelta/remove-ai-watermarks.git
synced 2026-08-09 23:50:40 +02:00
The shipped profile was certified by one oracle row, but only noise_std was pinned: long_side and fps -- two thirds of what the verifier was actually shown -- could move with a green suite. The test now derives the pin from data/evaluations/video-synthid-oracle.csv, so a default without a certifying row fails. The certified profile is a perturbation-to-signal ratio, not a bare noise_std. sd-vae-ft-mse publishes no scaling_factor key, so 0.18215 comes from the AutoencoderKL class default under an upper-unbounded diffusers pin. The loader now gates that value, carries it on VideoVaeRuntime, and passes it into encode and decode so the validated value is the applied value. video_synthid_sweep.py loads through the same function: the harness producing the certified rows was the one path exempt from the gate it exists to feed. psnr_db is measured against the already-resized frame and before the encoder, so it cannot see the downscale, the decimation, or the codec, and no in-loop metric can. scripts/video_fidelity_probe.py scores the delivered file end to end, streaming the way the engine does and sharing its frame-selection rule rather than copying it -- a frame-count check cannot catch a rule that reorders frames without changing how many. The manifest gains source geometry, vae, track, verbatim verdict and session fields. The two 2026-07-31 rows keep them empty: they were never recorded and are not recoverable. Verdicts now have four states, because the verifier's unclear reading logged as not_detected is the silent regression the manifest exists to prevent. docs/video-synthid-quality-research.md records the research behind this: the noise axis is worth about 2 dB and is nearly exhausted, resolution is the real prize but is an uncertified destruction axis rather than a free win, and every proposed autoencoder swap was refuted. First local measurements included. Verified: engine output is byte-identical before and after the refactor on a locally built clip, at noise_std 0.00 and 0.15. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
42 lines
2.4 KiB
Markdown
42 lines
2.4 KiB
Markdown
# Documentation
|
|
|
|
This documentation is split by purpose. Start with the user guides if you want
|
|
to run the tool. Use the maintainer references only when changing the code.
|
|
|
|
## User guides
|
|
|
|
| Page | Use it when |
|
|
| --- | --- |
|
|
| [Installation](installation.md) | You need the CLI, an optional model backend, or a development environment. |
|
|
| [CLI guide](cli.md) | You want a command for an image, video metadata or visible marks, a directory, or a specific watermark type. |
|
|
| [Python API](python-api.md) | You want to call the package from Python. |
|
|
| [Supported signals](supported-signals.md) | You need to know which visible marks, metadata formats, and invisible signals are covered. |
|
|
| [Known limitations](known-limitations.md) | You need the quality, device, format, or verification boundaries. |
|
|
| [Scope, safety, and legal notes](legal-and-safety.md) | You need the intended use and legal context. |
|
|
|
|
## Maintainer references
|
|
|
|
| Page | Purpose |
|
|
| --- | --- |
|
|
| [Module internals](module-internals.md) | Current architecture, invariants, and regression guards by module. |
|
|
| [Development](development.md) | Environment setup, dependency recovery, CI behavior, and fixture policy. |
|
|
| [Code provenance](code-provenance.md) | Required notices for licensed derivative work. |
|
|
| [Verification plan](verification-plan.md) | Verification methods, completed measurements, and remaining validation gaps. |
|
|
| [Release and distribution](release-and-distribution.md) | PyPI, Homebrew, Hugging Face Space, and release workflow. |
|
|
| [Watermarking landscape](watermarking-landscape.md) | Vendor signals and detection approaches. |
|
|
| [SynthID technical reference](synthid.md) | Mechanism, detector access, robustness, and implications for this project. |
|
|
|
|
## Research archive
|
|
|
|
These pages record experiments and the evidence behind past decisions. They are
|
|
not command references and may describe prototypes that were later removed.
|
|
The current behavior is defined by the code, tests, README, and user guides.
|
|
|
|
- [ControlNet removal research](controlnet-removal-pipeline-research.md)
|
|
- [Qwen improvement research](qwen-improvement-research.md)
|
|
- [Doubao reverse-alpha research](research-doubao-distillation.md)
|
|
- [SynthID identity research](synthid-robust-identity-research.md)
|
|
- [SynthID identity follow-up](synthid-robust-identity-research-2026-06-08.md)
|
|
- [Video SynthID quality research](video-synthid-quality-research.md)
|
|
- [Text protection research](text-protection-research.md)
|