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.
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
- 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.
- Certifique-se de ter o Python 3.11.3 instalado em seu computador. Você pode verificar a versão com o comando:
- 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
- Abra um terminal e digite o seguinte comando para criar um novo ambiente Python:
- 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
- Digite-o no terminal:
- 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.
- Atualize o pip e instale as bibliotecas necessárias:
- 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.
- As seguintes variáveis precisam ser configuradas se você quiser treinar o modelo ou usar recursos avançados:
Uso
Gerar SVG a partir de imagens
- 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.
- 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
- Coloque a imagem na pasta do projeto e digite-a no terminal:
- 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
- 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".
- Abra um terminal e execute o script de geração de texto:
- 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
- Design de ícones
Os designers podem usar o StarVector para converter rapidamente esboços em ícones vetoriais, economizando tempo no traçado manual. - 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. - Demonstrações educacionais
Os professores podem gerar gráficos instrucionais com descrições de texto para demonstrar visualmente os conceitos. - desenvolvimento web
Os desenvolvedores podem usá-lo para criar rapidamente elementos da Web com zoom e aumentar a velocidade de carregamento.
QA
- 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. - 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. - 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. - 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.