Aprendizagem pessoal com IA
e orientação prática
豆包Marscode1

StarVector: um modelo básico para gerar gráficos vetoriais SVG a partir de imagens e texto

Introdução geral

O StarVector é um projeto de código aberto criado por desenvolvedores como Juan A. Rodriguez para converter imagens e textos em SVG (Scalable Vector Graphics). Essa ferramenta usa um modelo de linguagem visual que entende o conteúdo da imagem e as instruções textuais para gerar código SVG de alta qualidade. Seu principal recurso é transformar o processo de vetorização em uma tarefa de geração de código adequada para ícones, diagramas técnicos, logotipos etc. O StarVector é treinado no conjunto de dados SVG-Stack, que contém mais de 2 milhões de amostras reais de SVG, garantindo resultados precisos e variados. Atualmente, o projeto conta com o apoio da ServiceNow Research e da Mila, entre outros, e foi atualizado pela última vez em março de 2025.

StarVector:从图像和文字生成SVG矢量图的基础模型-1


 

Lista de funções

  • Gerar SVG a partir da imagem: insira a imagem de pixels e gere o código de gráficos vetoriais correspondente.
  • Gerar SVG a partir de texto: crie gráficos SVG totalmente novos com base em descrições de texto.
  • Suporte a uma ampla variedade de elementos gráficos: elementos básicos do SVG, como caminhos, elipses, polígonos e texto.
  • Vetorização de alta precisão: os SVGs resultantes mantêm os detalhes e são adequados para uso com zoom.
  • Código aberto e gratuito: o código é aberto ao público, os usuários podem fazer download e modificar livremente.

 

Usando a Ajuda

O uso do StarVector requer alguma base técnica, pois é um projeto baseado em código. Abaixo estão as etapas detalhadas de instalação e operação para ajudar os usuários a começar rapidamente.

Processo de instalação

  1. Preparação do ambiente
    • Certifique-se de ter o Python 3.11.3 instalado em seu computador. Você pode verificar a versão com o comando:
      python --version
      
    • Caso contrário, faça o download e instale-o em https://www.python.org.
    • Instale o Git para fazer download do código do GitHub. Faça o download em https://git-scm.com.
  2. Criação de um ambiente virtual
    • Abra um terminal e digite o seguinte comando para criar um novo ambiente Python:
      conda create -n starvector python=3.11.3 -y
      
    • Ativar o ambiente:
      conda activate starvector
      
  3. Baixar o código StarVector
    • Digite-o no terminal:
      git clone https://github.com/joanrod/star-vector.git
      
    • Vá para a pasta do projeto:
      cd star-vector
      
  4. Instalação de dependências
    • Atualize o pip e instale as bibliotecas necessárias:
      pip install --upgrade pip
      pip install -e .
      
    • Isso instalará todos os pacotes Python necessários para a execução do StarVector.
  5. Definição de variáveis de ambiente
    • As seguintes variáveis precisam ser configuradas se você quiser treinar o modelo ou usar recursos avançados:
      export HF_HOME=<模型存储路径>
      export HF_TOKEN=<你的 Hugging Face 令牌>
      export WANDB_API_KEY=<你的 Weights & Biases 令牌>
      export OUTPUT_DIR=<输出路径>
      
    • Elas podem ser inseridas no terminal ou gravadas no arquivo de configuração do ambiente.

Uso

Gerar SVG a partir de imagens

  1. Preparação da imagem
    • Selecione um ícone, logotipo ou imagem de diagrama técnico para salvar em um formato comum (como PNG ou JPG).
    • Observação: O StarVector não é adequado para trabalhar com paisagens naturais ou ilustrações complexas; é melhor usar gráficos simples.
  2. código de execução
    • Coloque a imagem na pasta do projeto e digite-a no terminal:
      python scripts/image_to_svg.py --input <图像路径> --output <输出SVG路径>
      
    • Por exemplo:
      python scripts/image_to_svg.py --input icon.png --output icon.svg
      
  3. Exibir resultados
    • O arquivo SVG gerado é salvo no caminho especificado. Ele pode ser aberto para inspeção com um navegador ou software de gráficos vetoriais (por exemplo, Inkscape).

Gerar SVG a partir de texto

  1. Inserir comandos de texto
    • Abra um terminal e execute o script de geração de texto:
      python scripts/text_to_svg.py --text "一个红色圆形" --output circle.svg
      
    • Seja o mais específico possível, por exemplo, "uma estrela preta de cinco pontas" ou "uma caixa retangular azul".
  2. Verificar saída
    • O arquivo SVG gerado será salvo no caminho especificado. Abra-o para ver se ele atende às expectativas.

Recursos avançados: Modelos de treinamento

  • Se quiser treinar o modelo por conta própria, você pode usar o conjunto de dados SVG-Stack.
  • Execute o comando de treinamento (StarVector-1B, por exemplo):
deepspeed scripts/train.py --data_path <SVG-Stack路径> --output_dir <输出路径>
  • Observação: O treinamento requer um computador com configuração mais alta e pode exigir suporte de GPU.

habilidade operacional

  • ajustar os componentes durante o testeSe os resultados gerados não forem satisfatórios, verifique se a imagem de entrada é muito complexa ou se a descrição do texto está clara.
  • personalizaçãoParâmetros: Os parâmetros podem ser ajustados no código, como o aumento do número de amostras para melhorar a precisão.
  • Ver documentoO arquivo README.md no diretório raiz do projeto contém mais instruções, portanto, é recomendável lê-lo com atenção.

Com essas etapas, você pode gerar facilmente arquivos SVG a partir de imagens ou texto. O processo de instalação leva cerca de 10 a 20 minutos e é fácil de usar, portanto, é adequado para designers ou desenvolvedores com habilidades básicas de programação.

 

cenário do aplicativo

  1. Design de ícones
    Os designers podem usar o StarVector para converter rapidamente esboços em ícones vetoriais, economizando tempo no traçado manual.
  2. documento técnico
    Os engenheiros podem usá-lo para gerar diagramas ou fluxogramas que podem ser incorporados diretamente em documentos ou páginas da Web.
  3. Demonstrações educacionais
    Os professores podem gerar gráficos instrucionais com descrições de texto para demonstrar visualmente os conceitos.
  4. desenvolvimento web
    Os desenvolvedores podem usá-lo para criar rapidamente elementos da Web com zoom e aumentar a velocidade de carregamento.

 

QA

  1. O StarVector pode processar fotos?
    Não é possível. Ele foi projetado para ícones, logotipos e diagramas técnicos e não é adequado para imagens naturais ou ilustrações complexas.
  2. Preciso pagar?
    Não. O StarVector é um projeto de código aberto e o código e a funcionalidade básica são de uso gratuito.
  3. O SVG gerado pode ser editado?
    Sim. Os SVGs gerados estão em um formato padrão e podem ser editados no Inkscape ou no Illustrator.
  4. E se a instalação falhar?
    Verifique se a versão do Python está correta, certifique-se de que a conexão de rede está funcionando ou procure mensagens de erro no terminal.
Não pode ser reproduzido sem permissão:Chefe do Círculo de Compartilhamento de IA " StarVector: um modelo básico para gerar gráficos vetoriais SVG a partir de imagens e texto
pt_BRPortuguês do Brasil