Início Watashi Games
← Voltar aos guias

Sob o capô: por que modelos de IA gerais falham ao colorir mangá

Um modelo geral vê uma imagem. Uma página de mangá é uma sequência de quadros com personagens recorrentes, texto impresso e sarjetas de preto puro. Aqui está o custo dessa diferença e como a eliminamos.

Sob o capô: por que modelos de IA gerais falham ao colorir mangá

Plausível não é o mesmo que certo

Qualquer modelo de imagem geral consegue colorir uma página de mangá. Cole uma em qualquer um deles e em menos de um minuto você terá algo de volta que, à primeira vista, parece bom. O problema começa na página dois, quando o mesmo personagem volta com outro cabelo. Depois volta um balão com o texto sutilmente redesenhado. Depois volta uma sarjeta de preto puro preenchida com arte inventada.

Nada disso significa que o modelo é ruim de desenho. Ele está fazendo exatamente aquilo para o que foi treinado: produzir uma imagem plausível. Uma página de mangá não é uma imagem. É uma sequência de quadros, compartilha um elenco, é impressa com texto real, é separada por pretos estruturais e pertence a um capítulo que precisa combinar com o anterior. Plausível por página é o objetivo errado, e nenhuma quantidade de prompting muda o objetivo.

O Watashi Colorizer foi construído em torno dessa diferença. Abaixo estão seis decisões de engenharia que decorrem dela. Não são exóticas, mas cada uma existe porque vimos algo falhar sem ela.

Black-and-white manga page before colorizationP&B
The same page, AI-colorizedCor
Uma página, colorizada como página: o personagem mantém o mesmo cabelo, olhos e roupa em todos os quadros, as sarjetas pretas continuam pretas, e o diálogo continua sendo o diálogo.

1. Pesos escolhidos por comparativo, não por press release

A maioria dos colorizadores é uma casca fina: a imagem do usuário vai para uma API pública e volta colorida. Isso faz com que a casca seja apenas tão boa quanto o que o fornecedor da API lançou neste trimestre, e significa que a ferramenta herda todos os pontos cegos daquele fornecedor, inclusive o conteúdo que ele se recusa a tocar.

Nós rodamos nossos próprios pesos em nossas próprias GPUs e os escolhemos por teste, não por reputação. Modelos candidatos enfrentam diretamente o modelo em produção, nas mesmas páginas reais, com uma pessoa comparando as saídas lado a lado. A maioria dos candidatos perde. Os que vencem vencem com evidência, e as derrotas são anotadas para que o mesmo beco sem saída não seja explorado duas vezes.

O motor atual é um ajuste fino especializado em colorização em vez de um modelo geral de prateleira, e essa é a maior razão de a pele parecer pele e de os fundos serem finalizados em vez de ficarem cinzentos.

2. Instruções validadas cláusula por cláusula

As instruções que enviamos com cada página não foram escritas de uma vez só. Elas foram montadas testando cada cláusula isoladamente e mantendo apenas o que mudava o resultado de forma mensurável.

Essa disciplina importa porque escrever prompts é cheio de intuições que se revelam invertidas. O exemplo mais claro do nosso próprio trabalho: uma linha listando cores que a pele nunca deve ter produziu uma página onde a pele saiu exatamente nessas cores. Nomear algo que você não quer torna aquilo mais provável, não menos, e a correção foi descrever apenas como é o resultado certo. Jamais teríamos descoberto isso raciocinando. Descobrimos testando uma cláusula e olhando o resultado.

Por isso o conjunto ativo é curto e cada parte merece seu lugar: comprometer-se com um tom de pele, finalizar todos os fundos, manter a anatomia na forma desenhada e preservar o traço e o texto exatamente. Remova qualquer uma delas e uma falha específica volta.

3. Enviar ao modelo mais da página

Modelos de imagem trabalham em um tamanho interno fixo. Envie um escaneamento grande e ele é reduzido antes mesmo de o modelo vê-lo, e tudo que é pequeno naquela página, rostos em um plano aberto, texto de uma placa ao fundo, hachuras finas, chega como um borrão. O modelo então coloriza o borrão, porque foi só isso que recebeu.

Descobrimos isso do jeito difícil, caçando um bug de colorização que não respondia a nenhuma quantidade de trabalho de prompt. A mesma região, recortada e enviada sozinha, voltava correta todas as vezes. O modelo sempre soube a resposta; ele nunca conseguiu ver a pergunta.

Por isso as páginas são ingeridas no maior tamanho que o motor realmente consegue usar, em vez de um padrão conveniente, e a saída é devolvida exatamente nas dimensões do arquivo que você enviou.

Black-and-white manga page before colorizationP&B
The same page, AI-colorizedCor
O detalhe sobrevive porque a página foi enviada em tamanho completo em vez de um padrão conveniente. Rostos pequenos, placas ao fundo e hachuras finas continuam legíveis após a colorização.

4. Ler a página como quadros, não como um retângulo

Uma página de mangá tem uma estrutura com a qual um modelo geral não tem motivo para se importar: bordas de quadro, sarjetas e separadores de preto puro que precisam continuar pretos. Colorize o retângulo e essa estrutura é tratada como textura. É assim que se acaba com uma sarjeta cheia de cenário inventado.

Nosso pipeline detecta limites de quadro e faixas de arte antes de qualquer colorização, e corta apenas em limites reais. Cortar no meio de um quadro é pior do que não cortar, porque as duas metades são colorizadas de forma independente e nunca combinam, então o divisor se recusa em vez de adivinhar.

  • Divisão consciente de quadros para que cada região receba toda a atenção do modelo
  • Preservação de sarjetas e níveis de preto para que os pretos estruturais continuem estruturais
  • Ancoragem de paleta para que personagens recorrentes mantenham o mesmo cabelo, olhos e roupas
  • Preservação de texto e traço para que os diálogos sobrevivam à colorização

Combinado com a ancoragem de paleta, na qual as cores de um personagem são fixadas em vez de readivinhadas, é isso que mantém um elenco fiel ao longo de uma página e de um capítulo, em vez de derivar um tom por página.

5. Um modo para páginas que ninguém mais resolve

A censura impressa japonesa coloca uma barra dura em preto e branco sobre a anatomia. Para um modelo de colorização isso é genuinamente ambíguo: sob a barra não há informação de pele com que trabalhar, então ele inventa algo, e inventa algo diferente a cada tentativa. Em nossos testes, a mesma página produziu marrom, cinza, laranja e rosa em quatro execuções do mesmo modelo.

Essa falha não se resolve por amostragem, porque você não consegue chegar por média a uma informação que não está na entrada. É preciso dizer ao modelo, explicitamente, o que é a barra e o que há embaixo dela. Por isso o tratamento de censura é um modo dedicado que você ativa para as páginas que precisam.

Ele é opcional por um motivo que vale dizer sem rodeios: descrever barras de censura a um modelo que não está olhando para nenhuma faz o modelo adicionar uma. A instrução é poderosa, e é exatamente por isso que ela fica restrita às páginas às quais se aplica, em vez de rodar em tudo.

6. Tratar a espera como parte do produto

Hospedar as próprias GPUs significa pagá-las, o que significa que elas dormem quando ociosas, o que significa que a primeira requisição depois de um período calmo espera o hardware acordar. Esse é um custo real de não ser uma casca fina, e fingir o contrário é como se perde gente no meio do trabalho.

Por isso o motor começa a aquecer no momento em que você escolhe o modelo, antes de terminar de selecionar os arquivos, o que elimina a espera por completo na maioria dos trabalhos. Quando a espera é inevitável, a tela de progresso diz isso em linguagem clara em vez de mostrar uma contagem regressiva que não consegue cumprir.

Um cronômetro que expira e recomeça é pior do que nenhum cronômetro: transforma um trabalho lento em uma mentira aparente. Se uma estimativa é superada, paramos de estimar e passamos para tempo decorrido honesto com uma explicação, e você pode ativar uma notificação para sair da aba com segurança.

Nada disso é mágica

Todos os itens acima são pouco glamourosos. Testar candidatos em vez de confiar no marketing. Validar instruções uma de cada vez. Dar pixels suficientes ao modelo. Respeitar a estrutura da página. Construir um modo para o caso difícil. Ser honesto sobre a espera.

O que faz a diferença não é nenhuma técnica isolada, mas o fato de uma página de mangá ser tratada como uma página de mangá, da ingestão à exportação. Essa é toda a distância entre algo plausível e algo publicável.

A ferramenta é gratuita para testar, e o jeito mais rápido de avaliar tudo isso é rodar uma página que você já conhece bem e ver se ela volta sendo a página que você desenhou.

Veja em uma página que você conhece

Publicado originalmente no Watashi Colorizer.

Mais guias do Colorizador