Remoção de Marca d'Água de IA · Versão com Verificação em Nível de Pixel
Remove marcas d'água brancas/semitransparentes do tipo 'XXAI生成' nos cantos de imagens geradas por IA (Doubao/Jimeng/Kolors, etc.). Diferencial: verificação em nível de pixel que não se autoengana, dupla sinalização cruzada anti-alucinação, votação objetiva com múltiplos candidatos — enquanto outros apenas "ajustam a IA e dizem que ficou bom", isso aqui é calculado.
Cenários de Uso
- Marcas d'água brancas/semitransparentes do tipo "XXAI生成" em cantos de imagens geradas por IA (Doubao/Jimeng/Kolors, etc.)
- Marca d'água sobre fundo relativamente uniforme (bloco de cor lisa / céu / mar / gradiente)
- Marca d'água no canto da imagem, não sobre o objeto principal
Pipeline Completa (Cadeia de Revezamento para Reduzir Erros Correlacionados)
A remoção de marca d'água é uma cadeia de quatro etapas: Localização → Amostragem do Fundo → Cobertura → Verificação. Cada etapa comete apenas um pequeno erro; em múltiplas etapas, a taxa de acerto cai drasticamente. Métodos da mesma fonte caem juntos na mesma armadilha. Versão completa = validação adicional em nós-chave + sinalização cruzada de diferentes princípios + votação com múltiplos candidatos.
① Localização (Dupla Sinalização Cruzada, Princípios Diferentes Obrigatórios)
- Sinal A – Método de Grade Ampliada: Amplie a área candidata e desenhe uma grade vermelha 10x10 (marcando x0-x9/y0-y9). Peça ao modelo visual que informe apenas "a marca d'água está em x?x?, y?y?" — confie apenas no intervalo da grade, não em descrições percentuais ou de pixel. Converta de volta para coordenadas originais e faça uma varredura precisa de pixel.
- Sinal B – Cluster de Densidade de Pixels: Não depende de modelo visual para análise de pixels. Para cor branca/semitransparente (r>180,g>180,b>180; semitransparente reduz para 140-150), some por linha para encontrar linhas densas de texto; encontre colunas consecutivas com pixels brancos >3 para determinar o alcance x do texto.
- A e B devem ambos localizar para travar a área da marca d'água; apenas A ou apenas B → reavalie, não cubra ainda (sinalização cruzada de diferentes princípios, evita que o mesmo modelo visual caia junto).
- Marca d'água pode estar no canto (ex.: área azul do mar) e não no objeto principal — primeiro varra toda a imagem por aglomerados densos de pixels brancos/semitransparentes, depois defina as coordenadas.
② Cobertura (Votação com Múltiplos Candidatos, Sem Decisão Arbitrária)
Gere vários candidatos e use indicadores objetivos para votar no melhor:
- Candidato 1: Faixa de fundo de mesma largura acima (ou à esquerda) da marca d'água, esticada verticalmente para a área da marca d'água (LANCZOS) — mais natural para fundos complexos
- Candidato 2: Preenchimento com cor média da esquerda/arredores + bordas da máscara com desfoque gaussiano (GaussianBlur 2px) — para fundos uniformes
- Candidato 3: Interpolação multidirecional
- Indicadores de Votação: Continuidade da textura da área (gradiente de borda) + Variância estatística de cor + Distância Euclidiana dos pixels vizinhos. O candidato com melhores indicadores vence, sem depender de "qual parece melhor".
- Adicione um padding de 6-8px à área coberta para evitar resquícios nas bordas do texto.
③ Verificação (Decisão em Nível de Pixel, Isolando Falsos Positivos Visuais)
- Execute o script
scripts/verify_watermark_removed.pycomo ground truth em nível de pixel: Compare a imagem original vs. a processada na área alvo, contando pixels brancos. Original 856 → Processada 2 = Removido ✅ - O modelo visual não participa da decisão, apenas da localização aproximada. Seus falsos positivos (ex.: áreas claras de pelos brancos/água/chamas em fundos complexos) são isolados pelo diff de pixel no nó, sem atrasar o progresso.
- Critério de resquício: Se na área alvo, a imagem processada tiver menos de 5% de pixels brancos em comparação com a original, considera-se removido.
Pipeline Completa (Gerencie como um Sistema Distribuído)
- Cada etapa tem entrada/saída fixa: dicionário bbox / lista de candidatos / indicadores, podendo ser testada e restaurada individualmente.
- De ponta a ponta: taxa de sucesso (taxa de pixel atingida) + custo (rodadas) + rastreabilidade, comparado com a linha de base de etapa única — só entra em produção se o ganho, descontados os custos, for positivo.
Principais Armadilhas (Baseadas em Experiência Real)
- O modelo visual pode alucinar "ainda tem marca d'água": Em fundos complexos (pelos brancos, respingos de água, áreas claras de chamas), ele pode repetidamente relatar "canto inferior direito com 'Doubao AI gerado'" mesmo após prova em nível de pixel de que foi removido. O diff de pixel é o árbitro final — uma vez que o valor esteja OK, não se deixe levar pelo modelo visual para refazer.
- O modelo visual diz "canto inferior direito" pode se referir a toda a região de 1/4 inferior direito; coordenadas precisas devem vir da análise de pixel (cluster de densidade branca por linha/coluna).
- Áreas claras da própria imagem (pelo branco de tigre, ondas brancas de cachoeira) podem interferir na detecção de branco — "original branca e processada também branca" espalhado por toda a imagem não é marca d'água, é conteúdo.
- Em fundos complexos, o estiramento vertical do fundo superior é mais natural que cor sólida; cor sólida é apenas para fundos uniformes (ex.: mar).
- Critério de resquício: Na área alvo, a imagem processada com menos de 5% de pixels brancos em relação à original é considerada removida.
Script
scripts/verify_watermark_removed.py— Verificação em nível de pixel se a marca d'água foi removida (comparação de pixels brancos entre original e processada)
Dependências
- Python 3,
PIL+numpy(pip install pillow numpy)
Limitações (Honesto)
- A etapa de cobertura usa "esticar/preencher com pixels vizinhos", que é essencialmente pseudo-restauração. Se a marca d'água cobrir conteúdo real (rosto, logo de produto, textura complexa), a cobertura resultará em distorção — seria necessária uma restauração real por IA (inpainting/Lama).
- Esta skill é boa para: Marcas d'água de canto em imagens geradas por IA, fundos relativamente uniformes, verificação de segurança em nível de pixel. Localização + Verificação são os pontos mais fortes.
🙋 Sobre o Autor
九品锦锂e | Transformo armadilhas que enfrentei em skills "prontas para usar", sem escrever livros didáticos.
Esta skill é a versão que eu mesmo uso diariamente. Se você tiver problemas ao usá-la, quiser funcionalidades avançadas, ou tiver outros cenários que gostaria que eu transformasse em skill, adicione meu WeChat diretamente com a observação "SkillHub" para prioridade:

Escaneie para adicionar o autor no WeChat · Comentário "SkillHub" para prioridade