A transferência de estilo neural (NST) é uma classe de algoritmos de software que manipulam imagens digitais ou vídeos para adotar a aparência ou o estilo visual de outra imagem. Os algoritmos de NST são caracterizados pelo uso de redes neurais profundas para a transformação de imagens. Os usos comuns incluem a criação de arte artificial a partir de fotografias, como transferir a aparência de pinturas famosas para fotos fornecidas pelo usuário. Aplicativos móveis notáveis como DeepArt e Prisma empregam técnicas de NST, e artistas e designers em todo o mundo usam o método para desenvolver novas obras de arte com base em estilos existentes.
A NST é um exemplo de estilização de imagem, um problema estudado por mais de duas décadas dentro da renderização não fotorrealista. Os dois primeiros algoritmos de transferência de estilo baseados em exemplos foram as analogias de imagem e o quilting de imagem, ambos baseados na síntese de texturas por patches. As analogias de imagem exigiam um par de imagens de treinamento (uma foto e uma obra de arte que a retratasse) para aprender uma transformação, enquanto o quilting de imagem não precisava dessa etapa de processamento, mas foi demonstrado em apenas um estilo.
História
O primeiro método de NST foi publicado no artigo "A Neural Algorithm of Artistic Style" de Leon Gatys et al., originalmente lançado no ArXiv em 2015 e aceito na conferência CVPR em 2016. O artigo original usava uma arquitetura VGG-19 pré-treinada para reconhecimento de objetos no conjunto de dados ImageNet. Em 2017, o Google AI introduziu um método que permitia que uma única rede profunda de transferência de estilo convolucional aprendesse vários estilos simultaneamente, possibilitando a interpolação de estilo em tempo real, até mesmo em mídia de vídeo.
Matemática
A ideia da NST é pegar duas imagens: uma imagem de conteúdo \(\vec{p}\) e uma imagem de estilo \(\vec{a}\), e gerar uma terceira imagem \(\vec{x}\) que minimize uma combinação ponderada de duas funções de perda: uma perda de conteúdo \(\mathcal{L}_{\text{content}}(\vec{p}, \vec{x})\) e uma perda de estilo \(\mathcal{L}_{\text{style}}(\vec{a}, \vec{x})\). A perda total é uma soma linear: \(\mathcal{L}_{\text{NST}}(\vec{p}, \vec{a}, \vec{x}) = \alpha \mathcal{L}_{\text{content}}(\vec{p}, \vec{x}) + \beta \mathcal{L}_{\text{style}}(\vec{a}, \vec{x})\). Ao minimizar conjuntamente essas perdas, a NST gera uma imagem que combina o conteúdo da imagem de conteúdo com o estilo da imagem de estilo.
Ambas as perdas medem a similaridade entre imagens. A similaridade de conteúdo é a soma ponderada das diferenças quadráticas entre as ativações neurais de uma única rede neural convolucional (CNN) em duas imagens. A similaridade de estilo é a soma ponderada das matrizes de Gram dentro de cada camada. O artigo original usava uma CNN VGG-19, mas o método funciona para qualquer CNN.
Símbolos
Seja \(\vec{x}\) uma imagem de entrada para uma CNN. Seja \(F^l \in \mathbb{R}^{N_l \times M_l}\) a matriz de respostas dos filtros na camada \(l\) para a imagem, onde \(N_l\) é o número de filtros na camada \(l\), e \(M_l\) é a altura vezes a largura (número de pixels) de cada resposta de filtro.
Aplicações e Impacto
A NST encontrou uso generalizado em aplicações de consumo, particularmente aplicativos móveis que permitem aos usuários aplicar estilos artísticos às suas fotos em tempo real. DeepArt e Prisma estão entre os mais notáveis, popularizando a técnica para um público geral. Além dos aplicativos de consumo, a NST foi adotada por artistas digitais e designers para criar obras de arte inovadoras, e influenciou pesquisas subsequentes em IA generativa e geração de imagens. A capacidade da técnica de separar conteúdo de estilo em representações neurais também informou trabalhos em outras áreas de aprendizado profundo, como geradores baseados em estilo e adaptação de domínio.
Técnicas Relacionadas e Evolução
A NST faz parte de uma família mais ampla de métodos de estilização de imagem que antecedem o aprendizado profundo, incluindo abordagens baseadas em patches como analogias de imagem e quilting de imagem. A introdução de redes neurais profundas marcou um avanço significativo, permitindo uma transferência de estilo mais flexível e de maior qualidade. Desenvolvimentos posteriores, como o método do Google AI de 2017 para aprendizado multi-estilo, melhoraram a eficiência e o desempenho em tempo real. A NST também se relaciona com outras técnicas de manipulação de imagem baseadas em redes neurais, e seus princípios foram integrados em sistemas modernos de IA generativa, embora esses frequentemente usem arquiteturas diferentes, como modelos transformadores, em vez de redes convolucionais.
Limitações e Considerações
Os primeiros métodos de NST eram computacionalmente intensivos, exigindo otimização iterativa para cada imagem de saída, embora abordagens posteriores usando redes feed-forward tenham reduzido esse custo. A qualidade dos resultados depende da escolha das camadas e dos pesos das perdas, e o método pode às vezes produzir artefatos ou falhar em preservar detalhes finos. Como com muitas técnicas de inteligência artificial, a NST levanta questões sobre autoria e originalidade quando usada para criar obras de arte derivadas, embora essas não sejam exclusivas da NST.