| | --- |
| | tags: |
| | - model_hub_mixin |
| | - pytorch_model_hub_mixin |
| | - watermarking |
| | - latent-diffusion |
| | - stable-signature |
| | - watermark-extraction |
| | - computer-vision |
| | - research |
| | - non-commercial |
| | - pytorch |
| | license: cc-by-nc-4.0 |
| | --- |
| | |
| | # **MsgExtractor - Stable Signature Decoder** |
| |
|
| | **A version of the Stable Signature decoder from the Meta AI project “Stable Signature: Rooting Watermarks in Latent Diffusion Models.”** |
| |
|
| | --- |
| |
|
| | ## Model Summary |
| |
|
| | * **Model Type:** Custom PyTorch Model |
| | * **Task:** Watermark extraction from watermarked images |
| | * **Source:** Derived from [facebookresearch/stable_signature](https://github.com/facebookresearch/stable_signature) |
| | * **License:** **CC-BY-NC 4.0** (Attribution + Non-Commercial) |
| | * **Framework:** PyTorch |
| | * **Weights:** Ported from the original TorchScript decoder |
| | * **Architecture:** |
| |
|
| | * `HiddenDecoder(num_blocks, num_bits, channels, redundancy)` |
| | * `MsgExtractor(hidden_decoder, in_features, out_features)` |
| | * **Status:** Research-only, non-commercial |
| |
|
| | ### **Load the model** |
| |
|
| | ```python |
| | from modeling_msg_extractor import MsgExtractor |
| | import torch |
| | |
| | model = MsgExtractor.from_pretrained("ESmike/StableSignatureDecoder") |
| | model.eval() |
| | |
| | img = torch.randn(1, 3, 256, 256) # example input |
| | bits = model(img) |
| | print(bits.shape) |
| | ``` |
| |
|
| | ### Citation |
| |
|
| | If you use this model, you must cite the original Stable Signature paper: |
| |
|
| | ```bibtex |
| | @inproceedings{Fernandez2023StableSignature, |
| | title={The Stable Signature Rooting Watermarks in Latent Diffusion Models}, |
| | author={Fernandez, Pierre and Chappelier, Vivien and Nguyen-Hong, Son}, |
| | year={2023}, |
| | institution={Meta AI}, |
| | note={Original implementation at https://github.com/facebookresearch/stable_signature} |
| | } |
| | ``` |
| |
|
| |
|