Teste de produto · Remover texto do vídeo · GUIA PRÁTICO
Remoção de legendas, marcas de água e comentários em vídeo testada: oito casos de sobreposição
Um logótipo fixo sobre um fundo simples é mais fácil de remover do que texto sobre um rosto ou tecido. Publicamos os oito resultados controlados, incluindo os casos em que a reparação quase não melhorou a imagem.
Comece pelo resultado: o conteúdo ocultado determina a dificuldade
«Remover legendas» não corresponde a um único nível de dificuldade. Pode tratar-se de uma marca fixa num canto sobre uma parede lisa, um logótipo sobre um rosto, texto translúcido sobre tecido, comentários em movimento, legendas de duas linhas ou texto sobre uma cena em mudança. O resultado depende de haver fundo limpo noutros fotogramas, de quanto da imagem está coberto, do movimento da sobreposição e de a textura original permanecer após a reparação.
Comparámos o preenchimento convencional de Telea com a configuração STTN selecionada no projeto na altura do teste. Os resultados melhoraram em fundos lisos e com poucos comentários em movimento. Num caso difícil, com uma marca de água a cobrir um rosto, o PSNR melhorou apenas 0,87 dB e o rosto reparado continuou visivelmente distorcido. O texto translúcido sobre tecido melhorou apenas 1,12 dB. Estes casos de falha permanecem na tabela; um resultado apelativo com um logótipo num canto não representa todos os vídeos.
Como foram construídas as oito cenas
Os testes controlados usam as mesmas imagens de uma entrevista da DVIDS, disponíveis em domínio público, cortadas para dois segundos e normalizadas para 640 por 360 píxeis a 24 fps, ou 48 fotogramas. Os responsáveis pelos testes acrescentaram logótipos sintéticos nos cantos, texto translúcido, legendas e comentários em movimento sobre fotogramas limpos. Assim, a imagem original fornece uma referência exata para os píxeis cobertos. O modelo de reparação recebe os fotogramas cobertos e uma máscara, não a imagem limpa. Os oito casos são variações da mesma fonte, não oito vídeos filmados de forma independente nem uma amostra de carregamentos de utilizadores.
A métrica principal é o PSNR dentro da região sintética coberta. Valores mais altos significam que os píxeis estão mais próximos da referência limpa conhecida. O ganho corresponde à configuração de reparação selecionada menos a linha de base Telea. Nos casos de legendas, usa-se STTN com máscaras ajustadas ao contorno das letras; nos restantes, usa-se STTN. O PSNR mede a distância entre píxeis, não se os espectadores acham a imagem natural. A tabela principal é calculada antes da codificação final do vídeo; os efeitos da codificação são apresentados à parte.
Os oito casos controlados
| Caso sintético | PSNR da linha de base Telea | Configuração selecionada | Ganho | Cobertura da máscara da sobreposição |
|---|---|---|---|---|
| Logótipo gráfico fixo · fundo liso | 33,87 dB | 41,94 dB | +8,08 dB | 100% |
| Logótipo gráfico fixo · sobre um rosto | 11,98 dB | 12,85 dB | +0,87 dB | 100% |
| Marca de água com texto translúcido · fundo liso | 36,24 dB | 43,38 dB | +7,15 dB | 100% |
| Marca de água com texto translúcido · textura de tecido | 15,52 dB | 16,64 dB | +1,12 dB | 100% |
| Comentários em movimento · uma linha simples | 16,49 dB | 33,34 dB | +16,85 dB | 100% |
| Comentários em movimento · duas linhas sobre uma pessoa | 17,44 dB | 28,15 dB | +10,71 dB | 99,92% |
| Legendas incorporadas · uma linha simples | 16,44 dB | 22,29 dB | +5,85 dB | 100% |
| Legendas incorporadas · caso difícil com duas linhas | 17,64 dB | 22,17 dB | +4,53 dB | 100% |
Um PSNR elevado significa que, nestes exemplos sintéticos, os píxeis cobertos ficaram mais próximos de uma referência limpa. Não garante um resultado visualmente agradável. O caso do logótipo sobre o rosto teve 100% de cobertura da máscara, mas os detalhes faciais ficaram visivelmente danificados; detetar todos os píxeis da sobreposição não é o mesmo que os restaurar corretamente. A comparação abaixo usa imagens públicas com uma legenda sintética e o resultado real de uma reparação feita no navegador.
O caso difícil de comentários em movimento também teve uma execução opcional com máscara refinada: obteve 24,91 dB com 99,60% de cobertura da máscara, em comparação com 28,15 dB e 99,92% com a máscara predefinida. Esta variante é útil para estudar o compromisso entre um contorno mais apertado e a semelhança entre píxeis, mas não substitui o resultado na tabela predefinida de oito casos. Ambos os valores continuam a ser medições numa única cena sintética.
Nova verificação das exportações comprimidas no fluxo real do navegador
O teste de referência principal mede o resultado do modelo antes da codificação. Também exportámos quatro ficheiros de teste como MP4 através do fluxo de trabalho local no navegador do QuietTake e medimos os ficheiros descodificados, para que o relatório não dependa apenas dos tensores internos do modelo. Cada resultado tem dois segundos, 640 por 360 e 48 fotogramas. O vídeo e o áudio foram descodificados sem erros, e a exportação manteve a faixa de áudio. Este teste usou WebGPU no Chromium num dispositivo Apple Silicon com 16 GiB de memória e o modelo já em cache no navegador. A transferência inicial do modelo, cerca de 98,5 MB nesta versão, não está incluída nos tempos.
| Tipo | PSNR da região coberta após codificação | MAE da região coberta (0–255) | MAE fora da região | Tempo decorrido no navegador |
|---|---|---|---|---|
| Logótipo gráfico | 38,58 dB | 2,47 | 2,30 | 23,4 s |
| Marca de água com texto translúcido | 30,25 dB | 4,61 | 2,30 | 23,4 s |
| Legendas de duas linhas | 21,99 dB | 14,50 | 2,31 | 20,4 s |
| Comentários em movimento | 24,16 dB | 5,57 | 2,30 | 23,0 s |
Um MAE de cerca de 2,3 fora da região deve-se sobretudo às diferenças de codificação H.264. Não significa que o modelo de reparação tenha regenerado todo o fotograma. Em contrapartida, a tabela do algoritmo é calculada antes da codificação, sobre os mesmos píxeis sintéticos. As duas tabelas correspondem a etapas diferentes e não devem ser subtraídas uma à outra. O tempo no navegador refere-se a este dispositivo, a amostras de dois segundos e a um modelo já em cache; não é uma garantia de velocidade em tempo real nem universal.
As amostras de entrada e saída e as atribuições são descritas no registo dos ficheiros multimédia da experiência. O vídeo acima é um MP4 produzido no navegador; as imagens de comparação mostram fotogramas reparados lado a lado com referências limpas e sobreposições sintéticas.
Porque é que uma boa pontuação pode resultar numa imagem danificada
Um logótipo fixo numa superfície lisa é mais fácil porque os píxeis próximos dão ao modelo um contexto plausível. Quando o logótipo cobre um rosto, os olhos, o nariz e os detalhes da pele ocultos podem não aparecer noutro fotograma; o modelo tem de os estimar. Um PSNR mais alto nesta pequena amostra não recupera detalhes reais da identidade. Em notícias, arquivos ou provas, não apresente píxeis gerados como factos históricos.
O texto translúcido sobre roupa também é difícil de reparar. A marca mistura-se com a cor do tecido, pelo que removê-la também altera a textura. Comentários esparsos em movimento podem deixar ver o fundo noutros fotogramas. Se as linhas se sobrepuserem, uma pessoa se mover rapidamente ou o fundo mudar, a reparação pode deixar fragmentos, rastos ou cintilação. As legendas sobre roupa, folhas ou padrões finos são sensíveis à largura da máscara e ao formato das letras.
A cobertura da máscara tem um denominador limitado: mede que parte de uma sobreposição sintética conhecida foi abrangida pela máscara gerada. Neste teste, a localização e o formato são controlados. As legendas reais acrescentam contornos, sombras, ruído de compressão e fundos em movimento. Uma cobertura de 99,6% não significa que «99,6% dos vídeos dos utilizadores serão corrigidos». É a cobertura de píxeis nesta experiência, não uma taxa de sucesso do produto.
Como rever um vídeo seu
Comece por uma cópia e escolha um intervalo representativo, de cerca de dois a cinco segundos, que inclua a sobreposição difícil. Inclua movimento, uma alteração de legenda ou um corte de cena, se for aí que surge o problema. Uma pré-visualização que mostra apenas o primeiro fotograma não chega quando a falha ocorre no final. Confirme que a região selecionada não inclui também rostos, placas, texto normal da cena ou objetos importantes; quanto maior for a região, mais píxeis o modelo terá de inventar.
Veja o vídeo uma vez à velocidade normal e, depois, examine a área reparada. Pause para observar a textura e os contornos do texto; reproduza-o sem interrupções para detetar restos, imagens fantasma, cintilação ou alterações bruscas de forma. Verifique se houve alterações fora da máscara em rostos, mãos, roupa e fundo. Inspecione o primeiro e o último fotogramas e, em seguida, avance para posições aleatórias em vez de rever apenas o fotograma de pré-visualização selecionado pela aplicação.
Reveja também o áudio. A entrada controlada contém um tom de teste sintético, e as exportações do navegador mantiveram uma faixa de áudio descodificável. Isso confirma o funcionamento do processo de exportação neste teste; não garante que todos os navegadores ou codecs preservem todas as bandas sonoras. Reproduza a exportação real, confirme a duração e a sincronização labial e investigue qualquer resultado inesperadamente silencioso em vez de deduzir o comportamento do áudio a partir de uma pré-visualização sem som.
Para reproduzir o teste de referência do algoritmo, execute o script de oito casos do projeto com as mesmas entradas, referências limpas e máscaras de avaliação. Os resultados brutos e a saída local do navegador são guardados separadamente. Indique a configuração do modelo, se foi usado o ajuste das máscaras ao contorno das letras, a resolução, a taxa de fotogramas, a estratégia de seleção dos fotogramas de referência e a etapa de codificação. Não combine valores de PSNR de etapas diferentes. O H.264 altera os píxeis descodificados, pelo que o MAE após a codificação não substitui a comparação do modelo antes da codificação.
A pontuação do teste de referência não é uma taxa de sucesso para os utilizadores
O PSNR da região coberta mede a distância em relação aos píxeis limpos conhecidos. É útil em testes sintéticos com referências exatas. Raramente os vídeos dos utilizadores incluem uma cópia sem obstruções de cada fotograma coberto, pelo que não é possível calcular a mesma pontuação para carregamentos comuns. Uma pontuação mais alta significa que, nestas condições, os píxeis ficaram mais próximos da referência. Não garante um movimento natural nem a recuperação da cena realmente oculta.
A cobertura da máscara também tem o seu próprio denominador: a proporção de píxeis de sobreposição conhecidos que foram incluídos numa máscara. Nos testes sintéticos, as posições e formas são controladas; nas legendas reais, há contornos, sombras e artefactos de compressão. Não transforme uma cobertura de 99,6% na afirmação de que «99,6% dos vídeos são limpos com sucesso». As questões práticas são saber se ficou algum texto, se foram apagados objetos normais e se a reparação cintila durante a reprodução.
O tempo de exportação de um excerto de dois segundos no navegador não é uma medida de velocidade em tempo real. A tarefa completa pode incluir descodificação do vídeo, transferência ou leitura do modelo em cache, deteção de texto, reparação, codificação do áudio e descarregamento do resultado. As transferências da primeira utilização são à parte. A GPU, o controlador, o navegador, o codec e a memória disponível influenciam a velocidade e as falhas. Os testes internos devem registar tanto as execuções com a cache fria como com a cache quente, e indicar alternativas de precisão usadas, fotogramas em falta ou erros do navegador.
Recomendações práticas para criadores
- Logótipo pequeno e fixo sobre um fundo liso: comece por uma pré-visualização curta e examine os contornos em relação à imagem.
- Legendas integradas na imagem ou comentários esparsos: verifique as mudanças de linha, o movimento dos motivos e os cortes de cena ao longo do intervalo.
- Marcas sobre um rosto, tecido ou objeto importante: verifique se os detalhes subjacentes ficaram distorcidos; mantenha o original se os detalhes gerados forem inaceitáveis.
- Faixa de legendas separada ou comentários do leitor: desative ou remova primeiro essa camada; reconstruir os píxeis da imagem é desnecessário e pode reduzir a qualidade.
- Entrevistas, notícias e arquivos: guarde o original, identifique a cópia reparada como editada e não apresente o fundo gerado como registo original.
Na ferramenta Remover texto do vídeo, pré-visualize um intervalo curto que inclua a parte mais difícil. Examine os contornos, as pessoas, o movimento e a banda sonora antes de exportar. Bons resultados com marcas simples e fixas não permitem prever o resultado nos casos difíceis que envolvem rostos e tecidos neste teste.
Método e limitações
O estudo de oito casos usa Python e OpenCV para avaliar os píxeis, além de exportações reais feitas localmente no navegador Chromium. As métricas são calculadas nas regiões de máscaras sintéticas, comparando-as com fotogramas de referência limpos; MAE é o erro médio absoluto por canal. O conjunto de reparação usa uma única entrevista de base em domínio público, com sobreposições sintéticas. Não abrange todos os planos, tipos de letra, resoluções, vídeos verticais, HDR ou comentários densos que ocupem todo o ecrã e se desloquem.
A execução no navegador usou Chromium WebGPU num dispositivo Apple Silicon com 16 GiB de memória. A descodificação bem-sucedida prova que os ficheiros são estruturalmente legíveis, não que todos os fotogramas estejam impecáveis. Os ficheiros do modelo já estavam em cache; a primeira utilização exige uma transferência maior. Uma GPU, um navegador, um controlador ou um codec de entrada diferentes podem alterar a velocidade ou causar falhas.
Estes testes não estimam a taxa de sucesso para carregamentos arbitrários atuais nem garantem a recuperação da imagem realmente oculta. As sobreposições densas e os detalhes humanos continuam a exigir verificação. Se os detalhes de cena gerados forem mais enganadores do que deixar uma marca visível, mantenha o original ou interrompa a reparação.