NeuralSVG: representação implícita para geração de vetores a partir de texto
(sagipolaczek.github.io)- NeuralSVG é uma pesquisa da ICCV 2025 que gera SVG a partir de prompts de texto, convertendo-os em formas ordenadas e editáveis
- Métodos anteriores de geração texto-vetor podem ser difíceis de usar como gráficos vetoriais realmente editáveis, porque a saída é excessivamente parametrizada ou porque a estrutura em camadas é tratada como algo secundário
- A cena SVG inteira é codificada nos pesos de uma pequena rede MLP e otimizada para corresponder à condição textual com Score Distillation Sampling (SDS)
- A regularização por dropout aninhado induz cada forma a ter um papel significativo de forma independente, preservando a estrutura aproximada da cena mesmo quando apenas um pequeno número de formas é mantido
- Com uma única representação treinada, é possível ajustar no momento da inferência a paleta de cores de acordo com a cor de fundo, a proporção da imagem e o número de traços do esboço
Uma abordagem voltada à geração de SVG editável
- Gráficos vetoriais são um meio importante no design por permitirem criar conteúdo visual independente de resolução e editável
- Com os avanços dos modelos visão-linguagem e dos modelos de difusão, cresceu o interesse em geração de gráficos vetoriais a partir de texto
- Abordagens existentes podem ter duas limitações
- A saída é excessivamente parametrizada
- A estrutura em camadas, que é uma função central dos gráficos vetoriais, é tratada como um objetivo secundário
- Com base na importância de uma representação SVG com camadas, o NeuralSVG propõe uma representação neural implícita para gerar gráficos vetoriais a partir de prompts de texto
Como a cena é codificada em uma pequena MLP
- O NeuralSVG, inspirado no NeRF, codifica a cena inteira nos pesos de uma pequena rede MLP
- A otimização usa Score Distillation Sampling (SDS)
- Para criar uma representação ordenada, introduz uma técnica de regularização baseada em dropout
- Isso incentiva cada forma aprendida a ter um papel significativo e ordenado dentro da cena completa
- Mesmo alterando o número de formas mantidas na renderização final, é possível capturar a estrutura aproximada da cena com poucas formas
Controle dinâmico no momento da inferência
- Ao usar uma representação neural, o SVG gerado a partir de uma única representação treinada pode ser ajustado dinamicamente de acordo com a entrada do usuário
- Exemplos de controles compatíveis incluem
- Alterar a cor de fundo para renderizar diferentes paletas de cores no SVG resultante
- Apresentar resultados tanto para cores de fundo observadas durante o treinamento quanto para cores de fundo não observadas
- Comparar os resultados da otimização do NeuralSVG com proporções de imagem 1:1 e 4:1
- Gerar esboços com diferentes números de traços usando uma única rede
1 comentários
Opiniões no Hacker News
Excelente. Acho que a utilidade da geração vetorial é muito maior do que a da geração raster, como DALL-E e Midjourney, que até agora receberam muita atenção
Saídas raster são difíceis de lidar porque, para iterar até um resultado realmente utilizável, é preciso fazer upscale ou inpainting com chamadas posteriores a IA generativa, enquanto vetores gerados são, por natureza, escaláveis e fáceis de editar
Em especial, esses resultados têm baixa complexidade, com cada forma composta pelo menor número possível de pontos, o que traz uma grande vantagem para a experiência de edição com intervenção humana. Em visuais generativos, acho que criar representações simplificadas é mais difícil e mais valioso do que criar representações complexas e bagunçadas
Claro, ainda não é adequada para criar imagens fotográficas ou com texturas densas, que o Midjourney faz bem. Mais ou menos no ano passado, em https://gwern.net/dropcap, era preciso usar um fluxo meio complicado, criando no Midjourney e passando pelo Recraft, mas, se eu fosse criar uma capitular hoje, acho que o modelo mais recente do Recraft por si só bastaria
É um trabalho sobre os ombros de gigantes, e o original não é meu. Também dá para usar via npm
Claro, funcionam bem para interfaces texto-para-música. No momento estou criando um codec de áudio esparso, focado principalmente em sons naturais, e uso pressupostos baseados em física, ainda que de forma bem grosseira, para induzir uma representação esparsa
https://blog.cochlea.xyz/sparse-interpretable-audio-codec-pa...
Gosto muito desse modo de geração incremental. A linguagem não é precisa o suficiente para descrever exatamente o produto final, então gerar etapas intermediárias é uma abordagem muito poderosa
Gostaria de ver essa abordagem também na geração de música. Ferramentas como o Suno são legais, mas, pessoalmente, eu preferiria muito mais que elas gerassem MIDI e configurações de instrumentos em vez do áudio em si
Talvez seja uma boa lição para ferramentas generativas. É possível gerar um bom ponto de partida, mas o que as pessoas realmente querem está na cauda longa. Por isso, incluir capacidade de ajustes precisos é o que diferencia uma demo pronta de uma ferramenta poderosa
Está escrito “Code coming soon”, e os exemplos são muito bons, mas não sei qual é o grau de reprodutibilidade
https://github.com/chaosprint/RaveForce
RaveForce é um conjunto de ferramentas no estilo OpenAI Gym para experimentos de geração musical. Gosto do Suno, mas, no fim, para trabalhar preciso de MIDI, XML ou amostras sem perda
Só aplicar o Sonnet a animações SVG já era impressionante, mas isto parece poder ser muito mais poderoso
Exemplo divertido: https://gist.github.com/scosman/701275e737331aaab6a2acf74a52...
Sempre achei que gerar representações intermediárias era o caminho a seguir. Criar ASTs em vez de gerar sintaxe concreta, SVGs em vez de PNGs, wireframes ou rigging e scripts em vez de uma sequência de imagens para animação
Com uma representação intermediária, basta modificar e renderizar. Se você já tem o resultado renderizado, no fim é só polvilhar uma camada de pozinho mágico de IA
Talvez um dia os modelos generativos sejam fortes o suficiente para permitir controle fino apenas com linguagem natural, mas, até lá, este método parece ter vantagens em controlabilidade, interoperabilidade com ferramentas existentes como Intellisense ou editores de imagem, e modelos menores e mais baratos que não precisam lidar com espaços de pixels de alta dimensão
Estou curioso para ver que resultado este modelo produziria para o prompt de teste de geração de SVG por LLM do Simon Willison: “gere um SVG de um pelicano andando de bicicleta”
A velocidade de evolução da IA é bastante impressionante, e ela vai continuar melhorando, o que também dá um pouco de medo
Tentei vários modelos, mas eles erraram de forma desastrosa. O Claude se sai razoavelmente bem em “gere um SVG de um pelicano andando de bicicleta”
Muito bom. Eu precisava converter uma máscara de bits em SVG e queria pular uma etapa intermediária, então encontrei isto enquanto procurava artigos em que um modelo de segmentação produz SVG
https://arxiv.org/abs/2311.05276
A geração de esboços é incrível. E, além disso, parece vir quase de graça
Parece que vai abrir muitas oportunidades para ferramentas de documentação. Muito legal, e quero testar assim que o código for publicado
Gostei. De modo semelhante, também espero ver geração de texto para diagramas. Algo como Pic/Pikchr na era dos LLMs
Muito legal. Tenho usado o Claude para colocar animações em SVG e tem funcionado bastante bem