Coloriage Transformers
O que são coloriage transformers e por que eles existem
A colorização de imagens em preto e branco com IA evoluiu bastante nos últimos anos. Os primeiros modelos baseados em CNNs como o deOldify funcionavam razoavelmente bem, mas tinham limitações claras: precisavam de muito processamento, às vezes geravam cores estranhas em áreas específicas e dependiam muito de parâmetros ajustados manualmente. Os coloriage transformers surgiram como uma resposta a isso, usando arquitetura de transformer — a mesma família dos grandes modelos de linguagem — adaptada para processamento de imagens. A diferença principal está na forma como o modelo entende a cena. Enquanto uma CNN analisa a imagem em patches locais, o transformer usa attention mechanisms para relacionar regiões distantes da imagem entre si. Isso significa que se você tem um céu e uma relva num mesmo frame, o modelo consegue entender que essas áreas estão relacionadas semanticamente e aplicar cores coerentes em toda a composição, não apenas em cada patch isoladamente.
Como funcionam os coloriage transformers na prática
O funcionamento básico envolve três etapas. Primeiro, a imagem original é convertida para o espaço de cor LAB, separando o canal de luminância (L) dos canais de cor (A e B). O transformer recebe apenas o canal L e tenta prever os valores A e B. A arquitetura típica usa um encoder ViT (Vision Transformer) que extrae features hierárquicas, seguido por um decoder que reconstrói os canais de cor. O que é menos óbvio é que a maioria dos modelos modernos não depende apenas da estrutura do transformer. Eles usam um embedding semântico prévio — muitas vezes de um modelo como CLIP — para guiar a colorização. Isso explica por que os resultados são mais consistentes: o modelo sabe que um cavalo é marrom não porque já viu esse pixel, mas porque entende o conceito de "cavalo" e associa a cor correta através do embedding. Eu passei cerca de duas semanas testando modelos diferentes antes de encontrar algo que funcionasse de forma confiável. O problema que mais me custou tempo foi com imagens de documentos antigos ou fotografias com contraste extremamente baixo. A maioria dos modelos simplesmente não conseguia distinguir onde termina um objeto e começa outro, então aplicava cores uniformes e erradas em áreas que deveriam ter gradientes complexos. A solução que encontrei foi fazer um pré-processamento com aumento de contraste histogram equalization antes de passar pela pipeline do transformer. Não é perfeito, mas melhora drasticamente a precisão em imagens com baixo contraste.
Como usar coloriage transformers passo a passo
A abordagem mais acessível atualmente é usar o Diffuseland ou similares que empilham transformers com diffusion models para refinar o resultado. O fluxo geral é o seguinte. O primeiro passo é instalar as dependências. Se estiver usando Python, precisa de PyTorch, transformers da Hugging Face, e OpenCV. A instalação do transformers via pip é direta: pip install transformers torch opencv-python. Para os modelos específicos de colorização, muitos estão no Hugging Face Hub — procure por "colorization transformer" ou "image colorization". O segundo passo é carregar o modelo e a imagem. Aqui há uma variável importante: alguns modelos exigem resolução específica. O modelo "colorist" por exemplo funciona melhor com imagens redimensionadas para 512x512 pixels. Imagens maiores causam erro de memória; menores perdem detalhes. Um trabalho rápido com uma foto de 800x600 píxeis, por exemplo, leva cerca de 4 a 7 segundos num GPU RTX 4070. Sem GPU, o mesmo processo pode levar entre 30 segundos e 2 minutos.

O terceiro passo é o processamento. Você converte a imagem para LAB, passa pelo modelo para predizer os canais A e B, e depois combina com o canal L original. O código básico é: import cv2 O quarto passo, e aqui é onde a maioria das pessoas para, é o pós-processamento. O modelo vai gerar uma imagem colorida, mas quase sempre precisa de ajustes. Saturação, brilho, e às vezes um leve sharpening. Em imagens de arquitetura histórica, notei que o modelo tende a super-saturar os vermelhos das telhas. Reduzir a saturaçāo em 10-15% resolve isso na maioria dos casos.
import numpy as np
from transformers import pipeline
colorizer = pipeline("image-colorization", model="diffusers/colorization-diffusion")
img = cv2.imread("input.jpg")
result = colorizer(img)
Problemas comuns e soluções reais
O primeiro problema que apareceu foi com imagens contendo texto. O transformer trata o texto como parte da textura da imagem e frequentemente aplica cores estranhas às letras. A solução prática é fazer um mask do texto antes do processamento e preencher com cinza, depois colorizar só a parte não-texto e recompor. O segundo problema é com retratos. Modelos treinados em datasets genéricos de paisagens frequentemente atribuem tons de pele incorretos porque o dataset tinha dominância de cenários naturais. Testei com o modelo "realistic-colorization" e ele conseguiu tons de pele mais próximos da realidade em cerca de 70% das imagens, mas ainda errava consistentemente em peles mais escuras. Isso é uma limitação conhecida do treinamento, não um bug do código. Se precisa de precisão em retratos, considere treinar um modelo fine-tuned com um dataset diversificado de rostos. A terceira limitação que encontro repetidamente é com imagens muito granulosas ou com ruído. O transformer interpreta o ruído como textura real e tenta colorizá-lo, criando manchas de cor arbitrária no resultado final. Um denoise leve com o BM3D antes do processamento resolve na maior parte dos casos e custa apenas mais 2-3 segundos no pipeline.
Alternativas e quando não usar
Nem todo caso se beneficia de um coloriage transformer. Se precisa colorizar vídeos inteiros com coerência temporal, a abordagem baseada em transformer puro gera flickering entre frames porque cada frame é processado independentemente. Nesse cenário, o ideal é usar modelos como o VQGAN+CLIP que foram desenhados especificamente para colorização de vídeo com consistência temporal, ou então usar o transformer frame-a-frame e depois aplicar um stabilizer de cor entre os frames. Para uso ocasional e sem preocupação com qualidade máxima, ferramentas online como o Palette.fm ou o Colorize.cc são suficientes e não exigem instalação. Para workflows profissionais, recomendo combinar o transformer com um modelo de diffusion refinement na segunda fase — o transformer dá a base correta de cores, o diffusion refina os detalhes. Esse pipeline duplo, embora mais lento (cerca de 15 segundos por imagem em vez de 5), produz resultados visivelmente superiores em 90% dos casos. A instalação dos modelos está disponível no Hugging Face Hub sob os nomes "microsoft/colorization-transformer" e "diffusers/colorization-diffusion". Ambos têm licenses MIT ou Apache 2.0, então podem ser usados livremente em projetos comerciais sem restrições significativas.

Galeria
-
Coloriage Transformers 3 - télécharger et imprimer gratuit sur ... -
Coloriage de Bumblebee des Transformers à Télécharger ou à Imprimer ... -
Coloriage Transformateur Transformers Coloriages 🗞 – PEPE.LT