Recentemente, estivemos investigando sistemas de watermarking de última geração capazes de incorporar informações diretamente nos dados de imagem, mantendo as alterações quase imperceptíveis ao olho humano.

Analisamos três implementações proeminentes: TrustMark da Adobe, Watermark Anything da Meta e SynthID do Google. No processo, descobrimos um método simples, porém eficaz, de remoção de watermarks que preserva a imagem.

Resumo dos sistemas de watermarking

Cada sistema adota uma abordagem distinta para o problema de watermarking, com diferenças notáveis em capacidade de payload, licenciamento e disponibilidade pública.

TrustMark

TrustMark é a implementação de watermarking da Adobe para a Content Authenticity Initiative (CAI). Ele incorpora um payload de 100 bits em imagens de resolução arbitrária.

O TrustMark é open source sob a licença MIT. Os detalhes de implementação estão documentados no artigo que o acompanha (arXiv:2311.18297), e o código completo—incluindo modelos de encoding, decoding e remoção—está publicamente disponível no GitHub. O trabalho foi publicado no ICCV 2025.

Watermark Anything (WAM)

Watermark Anything (WAM) implementa watermarking localizado, permitindo que múltiplas watermarks de 32 bits sejam incorporados em regiões distintas da imagem, possibilitando o rastreamento de elementos individuais dentro de uma única imagem.

O WAM é licenciado sob MIT, com artigo público (arXiv:2411.07231) e código disponível. Os pesos do modelo pré-treinado estão disponíveis para download. O trabalho foi aceito no ICLR 2025.

SynthID

SynthID é o sistema de watermarking do Google para conteúdo gerado por IA, com suporte a imagens, áudio, texto e vídeo. O Google afirma robustez contra transformações comuns, incluindo corte, filtragem, alterações de frame rate e compressão com perdas.

Diferentemente do TrustMark e do WAM, a arquitetura de watermarking de imagens do SynthID não é documentada publicamente. Nenhum código ou pesos de modelo estão disponíveis. O Google opera um portal de verificação “SynthID Detector” restrito a “parceiros confiáveis”, descrito como uma colaboração com “jornalistas e profissionais de mídia”.

Em 20 de novembro de 2025, o Google lançou um detector público de SynthID via aplicativo Gemini. Os usuários podem fazer upload de imagens e consultar se elas contêm watermarks SynthID. A implementação tem limitações notáveis: não indica regiões específicas com watermark, possui limite de taxa de requisições, e só detecta watermarks dos próprios sistemas de IA do Google.

Denoising

Durante nossa análise do TrustMark, notamos que a Adobe fornece modelos pré-treinados (TrustMark-RM) especificamente para remoção de watermarks TrustMark.

O artigo do TrustMark fornece a seguinte justificativa (Página 2, Seção 3, “Methodology”):

“We treat watermarking and removal as 2 separate problems, since the former involves trading-off between two data sources (watermark and image content) while the latter resembles a denoising task.

Esse enquadramento é significativo. Em princípio, um watermark invisível constitui uma perturbação estruturada aplicada a uma imagem. Assim, da perspectiva de um modelo de denoising, essa perturbação deveria ser indistinguível de outras formas de ruído.

Direcionamos nossa exploração para modelos de diffusion, que permanecem extremamente populares como sistemas de geração de imagens relativamente leves, capazes de rodar em hardware de consumo.

Modelos de diffusion são treinados explicitamente para denoising. O processo reverso de diffusion remove iterativamente o ruído das imagens, transformando ruído gaussiano em uma saída coerente.

Hipotetizamos que aplicar o processo de denoising de um modelo de diffusion a uma imagem com watermark pode remover o watermark como efeito colateral da operação de denoising.

Infográfico representando o processo de diffusion

Experimento

Testamos essa hipótese usando um modelo baseado em SDXL (WAI-Illustrious-SDXL v15), ajustado para imagens em estilo anime.

Para avaliação, selecionamos um frame de “【OSHI NO KO】 Season 3 | Official Trailer 2 | Crunchyroll”, conteúdo que provavelmente não foi gerado por IA. O frame foi cortado, redimensionado e convertido para JPEG para produzir nossa imagem base.

Imagem original - frame cortado do trailer da Season 3 de Oshi no Ko
Imagem original - frame cortado do trailer da Season 3 de Oshi no Ko

TrustMark

A partir dessa original, derivamos uma versão com watermark usando o pacote Python oficial Adobe TrustMark (modelo versão Q) com o payload “kawaii”. Em seguida, processamos essa imagem com watermark através de dois pipelines de remoção:

  1. TrustMark-RM-Q: Modelo oficial de remoção da Adobe
  2. Denoising por diffusion: WAI-Illustrious-SDXL v15 com a configuração: 28 steps totais, step inicial 27, scheduler euler_ancestral, add_noise desativado

Comparação lado a lado
Comparação lado a lado

Em seguida, tentamos o decoding do TrustMark em todas as versões. Como esperado, a imagem original não continha payload recuperável. A saída do TrustMark-RM-Q e a saída processada por diffusion falharam em recuperar o segredo incorporado—sendo este último resultado o achado relevante para esta investigação.

Subjetivamente, avaliamos que a remoção baseada em diffusion produz qualidade de imagem superior em comparação ao TrustMark-RM-Q, embora ambos os resultados sejam fornecidos para comparação do leitor. No entanto, o modelo de diffusion introduz distorções localizadas. Esses artefatos são mais evidentes na tela do smartphone visível no lado esquerdo da imagem, onde o step de denoising alterou pequenos textos e detalhes da interface. Tais artefatos poderiam potencialmente ser tratados com esforço adicional (por exemplo, inpainting manual), mas apresentamos aqui a saída não modificada.

Watermark Anything (WAM)

Para o WAM, usamos os pesos mais recentes disponíveis na data do teste (21 de dezembro de 2025), baixados da URL fornecida no repositório oficial. Para reprodutibilidade, o checksum do arquivo é SHA2-256(wam_mit.pth) = 90ef232384e023bd63245eb0c131abd69d2afc7b8f17a71ccedceb542bf009e2.

Seguimos o notebook de inferência oficial (notebooks/inference.ipynb) do repositório da Meta com configurações padrão. Como o WAM suporta watermarking localizado de regiões arbitrárias da imagem, definimos proportion_masked = 1 para aplicar watermark na imagem inteira.

O WAM incorpora um payload de 32 bits. Para nosso teste, usamos a mensagem 01101101011011110110010100000000 (codificação ASCII de “moe” seguida de um terminador null-byte).

Comparação lado a lado
Comparação lado a lado

Em seguida, processamos a imagem com watermark através do mesmo pipeline de diffusion: WAI-Illustrious-SDXL v15, 28 steps totais, step inicial 27, scheduler euler_ancestral, add_noise desativado.

Saída processada por diffusion da imagem com watermark WAM - um step
Saída processada por diffusion da imagem com watermark WAM - um step

O decoder do WAM tenta a extração da mensagem independentemente de a imagem realmente conter um watermark, sempre produzindo uma saída de 32 bits. Calculamos a acurácia de bits como a proporção de bits corretamente recuperados em comparação com a mensagem incorporada.

Resultados para denoising por diffusion de um único step:

  • Original (sem watermark): extraído 00000000000000000000000000000000, acurácia de bits 0.53
  • Com watermark WAM: extraído 01101101011011110110010100000000, acurácia de bits 1.00
  • Após diffusion (1 step): extraído 00000100010000000000000010000000, acurácia de bits 0.56

A imagem com watermark foi decodificada perfeitamente. Após o processamento por diffusion, a acurácia de bits caiu para 0.56, marginalmente acima dos 0.50 esperados do acaso, e comparável aos 0.53 observados na original sem watermark.

No entanto, notamos que alguns bits na saída processada por diffusion ainda pareciam correlacionar com a mensagem original. Para determinar se algum sinal residual de watermark persistia, aplicamos um segundo step de diffusion usando parâmetros idênticos.

  • Após diffusion (2 steps): extraído 00000000000000000000000000000000, acurácia de bits 0.53

Saída processada por diffusion da imagem com watermark WAM - dois steps
Saída processada por diffusion da imagem com watermark WAM - dois steps

Com dois steps de denoising, a mensagem extraída correspondeu à saída de zeros observada na original sem watermark, com acurácia de bits idêntica, o que sugere remoção completa do sinal de watermark incorporado.

SynthID

Estendemos nossa análise ao sistema SynthID do Google. Diferentemente do TrustMark, watermarks SynthID não podem ser aplicados manualmente; eles são incorporados automaticamente pelas ferramentas de IA generativa do Google. Para obter uma versão com watermark SynthID de nossa imagem de teste, usamos as capacidades de edição de imagem do Google.

Especificamente, empregamos o Nano Banana Pro (designado internamente como gemini-3-pro-image-preview) através da interface Playground em aistudio.google.com. Testes iniciais revelaram que a incorporação do SynthID requer modificação substantiva da imagem; o watermark não é aplicado a imagens passadas sem alteração.

Para satisfazer esse requisito enquanto preservávamos o conteúdo da imagem, submetemos o frame original com instruções para modificar atributos específicos de cor:

Update the image as follows:
• Turn the character's clothing light blue
• Turn the bed sheets light blue
• Turn the pillow white
Do not structurally modify the image's elements, only their colors.

Em seguida, solicitamos a reversão dessas modificações, usando a original como referência:

Undo the modifications. Use the base image as a reference to restore the washed-out, muted light blue pillow color, and the whiteish appearance of the clothes and bed sheets. Retain the warm, yellowish late afternoon appearance.

Imagem modificada por IA do Google após restauração de cor
Imagem modificada por IA do Google após restauração de cor

A imagem resultante não é idêntica pixel a pixel à original, mas a consideramos suficientemente próxima para fins experimentais. Crucialmente, essa imagem agora carrega um watermark SynthID.

Em seguida, processamos essa imagem com watermark SynthID através do mesmo pipeline de diffusion usado para remoção do TrustMark: WAI-Illustrious-SDXL v15, 28 steps totais, step inicial 27, scheduler euler_ancestral, add_noise desativado.

Saída processada por diffusion da imagem com watermark SynthID
Saída processada por diffusion da imagem com watermark SynthID

Para verificação, usamos o detector público de SynthID acessível através do Gemini em gemini.google.com (configurado para modo “Fast”). Consultamos cada imagem com: “Does this image contain the SynthID watermark?”

Na imagem original (sem watermark), o Gemini confirmou que nenhum watermark SynthID foi detectado.

Avaliação do Gemini sobre a imagem original

Na imagem modificada por IA do Google, o Gemini detectou com sucesso o watermark SynthID.

Avaliação do Gemini sobre a imagem modificada por IA do Google

Na saída processada por diffusion, o Gemini reportou que nenhum watermark SynthID foi detectado. A resposta observou “inconsistências visuais frequentemente vistas em arte gerada por IA”, identificando especificamente distorções na região da tela do telefone, enquanto esclarecia que “esses não são prova definitiva de origem por IA por si só”.

Avaliação do Gemini sobre a saída processada por diffusion

Essa observação final está alinhada com nossos achados anteriores sobre artefatos localizados introduzidos pelo step de diffusion. No entanto, a análise heurística de artefatos visuais do Gemini opera independentemente da detecção de SynthID—o watermark em si não era mais recuperável, que era o objeto principal desta investigação.

Notas

O modelo usado é otimizado para imagens em estilo anime. A eficácia em domínios fotorrealísticos ou outros requer avaliação separada.

Os sistemas de watermarking analisados são projetados para robustez contra transformações comuns (compressão, corte, filtragem). Denoising baseado em diffusion representa uma classe distinta de transformação não explicitamente abordada em seu design.

A acessibilidade dessa técnica de remoção merece consideração ao avaliar sistemas de watermarking para fins de autenticação de conteúdo.

Todas as imagens e configurações usadas nesta investigação estão disponíveis para download. O arquivo contém:

  • 1_orig.jpg — Imagem de teste original (frame cortado e redimensionado do trailer da Season 3 de Oshi no Ko)
  • 1_trustmark-q.jpg — Versão com watermark TrustMark (modelo Q, payload “kawaii”)
  • 1_trustmark-rm-q.jpg — Watermark TrustMark removido via modelo oficial TrustMark-RM-Q
  • 1_trustmark-q-diffuse.jpg — Watermark TrustMark removido via único step de diffusion
  • 1_wam.jpg — Versão com watermark WAM (payload “moe”)
  • 1_wam-diffuse.jpg — Watermark WAM após único step de diffusion
  • 1_wam-diffusex2.jpg — Watermark WAM após dois steps de diffusion
  • 1_synthid.jpg — Versão com watermark SynthID (produzida via modificação e restauração de cor por IA do Google)
  • 1_synthid-diffuse.jpg — Watermark SynthID removido via único step de diffusion
  • comfyui-watermark-removal.json — Workflow ComfyUI usado para remoção baseada em diffusion; incluído para completude, embora a configuração seja mínima