Animação em sprite parece um problema resolvido, até você tentar fazer uma. Cada quadro de um personagem de jogo 2D ainda é desenhado à mão, e o trabalho mais cansativo é o dos quadros intermediários, os que ligam uma pose-chave à outra. Kenneth Alonso e Gustavo Patow, do grupo GILAB da Universitat de Girona, na Espanha, publicaram no arXiv um artigo sobre interpolação automática de quadros-chave em sprites que ataca exatamente essa etapa, e com a premissa de fazer isso barato.

Os métodos de interpolação mais conhecidos, como o RIFE, foram treinados com grandes volumes de vídeo comum e sofrem com sprite. Eles borram a borda, criam fantasma em volta do personagem e lidam mal com a transparência. A dupla adaptou uma rede U-Net para o formato, com canal alfa tratado de verdade, refinamento do movimento em várias escalas e uma mistura controlada pela transparência que mantém a borda de pixel nítida. O código está aberto no GitHub.

O tamanho dos dados é o que mais destoa do resto da área. Em vez de milhões de exemplos, eles montaram 280 trios de quadros tirados de sprites de 18 jogos e usaram 196 para treinar. Num teste com 42 trios, medido pela métrica perceptual FLIP, o erro médio do método foi de 0,258, contra 0,313 do RIFE, 0,449 do fluxo óptico de Lucas-Kanade e 0,603 do CyclicGen. O treino levou de quatro a seis horas numa NVIDIA Tesla T4, uma GPU de 16 GB bem comum em nuvem, e cada quadro novo sai em 8 a 10 segundos.

Os autores dizem com todas as letras que pensaram em estúdios pequenos e médios. Na animação 2D tradicional, essa conversa sobre intercalação automática vem de longe, e ferramentas como o Toon Boom já mexem nesse pipeline faz tempo, como apareceu quando o Harmony 27 adotou USD. A diferença aqui é a escala, um modelo que um dev indie consegue treinar com o próprio acervo.

A base de dados não foi publicada por questões de propriedade intelectual, e esse detalhe pesa mais do que parece. Um modelo que rende mais com poucos exemplos parecidos com o estilo do jogo vai querer aprender com o acervo do próprio estúdio, ou seja, com o trabalho dos animadores da casa, e ainda não vi ninguém discutir o que esses animadores recebem por ter ensinado a máquina.