O que é e como funciona na prática
Transformers de colorização são modelos baseados na arquitetura transformer treinados para transformar imagens em preto e branco ou esmaecidas de volta para cores. A ideia básica é que o modelo analisa a estrutura espacial da imagem com atenção multihead e gera um mapa de cores que se encaixa nas formas detectadas. O resultado costuma ser bem melhor que os métodos clássicos baseados em transferência de cores, principalmente em cenas com iluminação complexa. Na minha experiência, a maior diferença entre um modelo "comercial" e um que você adapta localmente é o pré-processamento. A maioria dos modelos espera imagens normalizadas entre -1 e 1, com resolução múltipla de 64px. Se você passar uma foto de celular em 4032x3024, o modelo vai simplesmente falhar ou travar. O workaround que eu uso é redimensionar para 1024px no lado maior, aplicar um leve sharpen com unsharp mask de raio 2 e sigma 1 antes de passar no modelo, e depois redimensionar de volta. O efeito colateral é que o sharpen ajuda o transformer a refinar as bordas de cor sem gerar aquele ruído colorido típico.
Como começar com transformer colorir
O caminho mais direto hoje é usar modelos open-source do Hugging Face. Os mais estáveis atualmente são o Deoldify (versão stabilizada), o modelos baseados em SDXL com adapters de colorização, e alguns work's do DiffusionBee. Para rodar localmente com boa performance, você precisa de uma GPU com pelo menos 8GB de VRAM se quiser usar modelos grandes. Com 6GB dá para rodar versões menores mas o tempo por imagem sobe consideravelmente. Aqui está o fluxo que eu recomendo:
- Instale PyTorch com CUDA compatível com sua GPU. Versão 2.1+ funciona bem com os modelos atuais.
- Baixe um checkpoint do modelo. Para transformer colorir, o Checkpoint do Deoldify Artistic funciona bem como ponto de partida, mas eu pessoalmente prefiro modelos fine-tunados em datasets específicos porque o modelo genérico tende a saturar cores em peles humanas.
- Configure o ambiente com xformers ou Flash Attention se sua GPU suportar. Isso corta o tempo de inferência em cerca de 40% em imagens grandes.
- Rode com seed fixa para manter consistência se você for processar múltiplas imagens de uma série.
Um problema real que eu encontrei e que quase ninguém menciona: modelos de colorização via transformer tendem a ignorar completamente sombras e reflexos quando a imagem original tem alto contraste. Eu estava colorizando fotos antigas de arquitetura e o modelo pintava paredes inteiras de uma cor sólida, como se não percebesse a direção da luz. A solução foi fazer um preprocessing com um mapa de profundidade gerado por um modelo como o MiDaS, passar esse mapa junto como condicional, e adicionar um leve prompt negativo de "flat lighting, uniform color". O resultado ganhou camadas que o modelo sozio jamais criaria.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Limitações que ninguém destaca
Transformers de colorização não são mágica. Eles não sabem a cor real de algo, eles predizem a cor mais provável baseada no treino. Isso significa que se você pedir para colorir uma foto de um carro vermelho de 1967, o modelo provavelmente vai colocar azul ou verde porque carros naqueles datasets são predominantemente nessas cores. Não existe forma confiável de forçar uma cor específica sem inpainting manual ou controle com masks. O segundo problema prático é o tempo. Uma imagem de 1024x1024 num modelo transformer completo com atenção espalhada leva entre 8 e 25 segundos por imagem dependendo do hardware. Se você tem um álbum inteiro de 200 fotos, esquece fazer processo batch sem automação. Eu usei um script Python com batch size 4 e pipeline assíncrono que reduziu meu tempo total de cerca de 90 minutos para 22 minutos, mas o setup inicial leva mais tempo que o processo em si.
Para quem quer apenas colorir rápido sem configurar GPU, existem opções online. O processamento via API paga por imagem e sai caro em volume. Para projetos pequenos, vale a pena. Para séries grandes, o investimento em hardware local se paga em uma semana de uso. Se o seu objetivo é colorizar vídeos frame a frame, aqui está a verdade nua: o flickering entre frames é brutal. Nenhum transformer colorir atual mantém consistência temporal automaticamente. Você precisa de um passo extra de suavização temporal pós-processamento ou usar modelos específicos treinados para vídeo, que são muito mais pesados e ainda assim produzem artefatos em movimentos rápidos. Para uso profissional, o fluxo continua sendo colorização manual em software como DaVinci Resolve com referências de cores do modelo como guia, não como resposta final.
O transformer colorir é uma ferramenta útil no meio do fluxo, não uma solução completa. Ele economiza horas de trabalho braçal em cores primárias, mas os ajustes finos em pele, reflexos e consistência temporal ainda dependem de intervenção humana. Quem trata isso como solução pronta para tudo acaba gastando mais tempo corrigindo erros do modelo do que fazendo o trabalho à mão desde o início.