StarVector: un modelo base para generar gráficos vectoriales SVG a partir de imágenes y texto

Introducción general

StarVector es un proyecto de código abierto creado por desarrolladores como Juan A. Rodríguez para convertir imágenes y texto en gráficos vectoriales escalables (SVG). Esta herramienta utiliza un modelo de lenguaje visual que entiende el contenido de las imágenes y las instrucciones textuales para generar código SVG de alta calidad. Su principal característica es que convierte el proceso de vectorización en una tarea de generación de código adecuado para iconos, diagramas técnicos, logotipos, etc. StarVector se entrena con el conjunto de datos SVG-Stack, que contiene más de 2 millones de muestras SVG reales, lo que garantiza resultados precisos y variados. El proyecto cuenta actualmente con el apoyo de ServiceNow Research y Mila, entre otros, y se actualizó por última vez en marzo de 2025.

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

 

Lista de funciones

  • Generar SVG a partir de una imagen: Introduzca una imagen de píxeles y genere el código gráfico vectorial correspondiente.
  • Generar SVG a partir de texto: Cree gráficos SVG totalmente nuevos a partir de descripciones de texto.
  • Compatibilidad con una amplia gama de elementos gráficos: elementos básicos de SVG como trazados, elipses, polígonos y texto.
  • Vectorización de alta precisión: los SVG resultantes conservan los detalles y son aptos para el zoom.
  • Código abierto y gratuito: el código está abierto al público, los usuarios pueden descargarlo y modificarlo libremente.

 

Utilizar la ayuda

El uso de StarVector requiere cierta base técnica, ya que se trata de un proyecto basado en código. A continuación se detallan los pasos de instalación y funcionamiento para ayudar a los usuarios a empezar rápidamente.

Proceso de instalación

  1. Preparar el entorno
    • Asegúrate de que tienes Python 3.11.3 instalado en tu ordenador. puedes comprobar la versión con el comando:
      python --version
      
    • Si no es así, descárgalo e instálalo desde https://www.python.org.
    • Instala Git para descargar código de GitHub. Descárguelo en https://git-scm.com.
  2. Creación de un entorno virtual
    • Abra un terminal y escriba el siguiente comando para crear un nuevo entorno Python:
      conda create -n starvector python=3.11.3 -y
      
    • Activar el entorno:
      conda activate starvector
      
  3. Descargar código StarVector
    • Introdúcelo en el terminal:
      git clone https://github.com/joanrod/star-vector.git
      
    • Vaya a la carpeta del proyecto:
      cd star-vector
      
  4. Instalación de dependencias
    • Actualice pip e instale las bibliotecas necesarias:
      pip install --upgrade pip
      pip install -e .
      
    • Esto instalará todos los paquetes Python necesarios para que StarVector funcione.
  5. Configuración de variables de entorno
    • Las siguientes variables deben configurarse si desea entrenar el modelo o utilizar funciones avanzadas:
      export HF_HOME=<模型存储路径>
      export HF_TOKEN=<你的 Hugging Face 令牌>
      export WANDB_API_KEY=<你的 Weights & Biases 令牌>
      export OUTPUT_DIR=<输出路径>
      
    • Pueden introducirse en el terminal o escribirse en el archivo de configuración del entorno.

Utilización

Generar SVG a partir de imágenes

  1. Preparación de la imagen
    • Seleccione una imagen de icono, logotipo o diagrama técnico para guardarla en un formato común (como PNG o JPG).
    • Nota: StarVector no es adecuado para trabajar con paisajes naturales o ilustraciones complejas, es mejor utilizar gráficos sencillos.
  2. código en ejecución
    • Coloca la imagen en la carpeta del proyecto y escríbela en el terminal:
      python scripts/image_to_svg.py --input <图像路径> --output <输出SVG路径>
      
    • Por ejemplo:
      python scripts/image_to_svg.py --input icon.png --output icon.svg
      
  3. Ver resultados
    • El archivo SVG generado se guarda en la ruta especificada. Puede abrirse para inspeccionarlo con un navegador o un software de gráficos vectoriales (por ejemplo, Inkscape).

Generar SVG a partir de texto

  1. Introducir comandos de texto
    • Abra un terminal y ejecute el script de generación de texto:
      python scripts/text_to_svg.py --text "一个红色圆形" --output circle.svg
      
    • Sea lo más específico posible, por ejemplo, "una estrella negra de cinco puntas" o "una caja rectangular azul".
  2. Comprobar la salida
    • El archivo SVG generado se guardará en la ruta especificada, ábralo para ver si cumple las expectativas.

Funciones avanzadas: modelos de formación

  • Si desea entrenar el modelo usted mismo, puede utilizar el conjunto de datos SVG-Stack.
  • Ejecute el comando de entrenamiento (StarVector-1B por ejemplo):
deepspeed scripts/train.py --data_path <SVG-Stack路径> --output_dir <输出路径>
  • Nota: La formación requiere un ordenador con una configuración superior y puede requerir soporte de GPU.

habilidad operativa

  • ajustar los componentes durante las pruebasSi los resultados generados no son satisfactorios, compruebe si la imagen de entrada es demasiado compleja o si la descripción del texto es clara.
  • personalizaciónLos parámetros se pueden ajustar en el código, como aumentar el número de muestras para mejorar la precisión.
  • Ver documento: El archivo README.md en el directorio raíz del proyecto tiene más instrucciones, por lo que se recomienda leerlo detenidamente.

Con estos pasos, puedes generar fácilmente archivos SVG a partir de imágenes o texto. El proceso de instalación dura unos 10-20 minutos y es fácil de usar, por lo que resulta adecuado para diseñadores o desarrolladores con conocimientos básicos de programación.

 

escenario de aplicación

  1. Diseño de iconos
    Los diseñadores pueden utilizar StarVector para convertir rápidamente bocetos en iconos vectoriales, ahorrando tiempo de trazado manual.
  2. documento técnico
    Los ingenieros pueden utilizarlo para generar diagramas o organigramas que pueden incrustarse directamente en documentos o páginas web.
  3. Demostraciones educativas
    Los profesores pueden generar gráficos didácticos con descripciones de texto para demostrar visualmente los conceptos.
  4. desarrollo web
    Los desarrolladores pueden utilizarlo para crear rápidamente elementos web ampliables y aumentar la velocidad de carga.

 

CONTROL DE CALIDAD

  1. ¿Puede StarVector procesar fotos?
    No se puede. Está diseñado para iconos, logotipos y diagramas técnicos y no es adecuado para imágenes naturales o ilustraciones complejas.
  2. ¿Tengo que pagar?
    No. StarVector es un proyecto de código abierto y el código y la funcionalidad básica son de uso gratuito.
  3. ¿Puede editarse el SVG generado?
    Sí. Los SVG generados tienen un formato estándar y pueden editarse en Inkscape o Illustrator.
  4. ¿Y si falla la instalación?
    Compruebe que la versión de Python es correcta, asegúrese de que su conexión de red funciona o busque mensajes de error en el terminal.
© declaración de copyright

Artículos relacionados

Sin comentarios

Debe iniciar sesión para participar en los comentarios.
Acceder ahora
ninguno
Sin comentarios...