Skip to content

Latest commit

 

History

History

Approach#1-Editing_SVG_elements

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Approach #1 | Editing SVG elements

The system will allow users to edit the SVG UI elements by describing their desired changes in a text format, which will then be interpreted by a chatGPT-like system and applied to the SVG element.

Technology readiness Risks Complexity
🟢 Ready for implementation
🟡 Moderate risk
🟡 Moderately complex

Technologies

Following LLM for SVG editing [Paper], the input can be an optimized SVG with text instructions to edit it. The language Model can be tuned on the created target dataset using raster-to-vector tools.

🖼️ Visualization

Demo #1 Demo #2 Demo #3
SVGEditDemo1.png
SVGEditDemo2.png
SVGEditDemo3.png

Requirements

  • ML model: LLM
  • SVG optimizer: SVGO [Github]
  • Raster-to-vector tool:
  • Input: SVG component + text prompt
  • Output: edited SVG component
Dataset: Open-source SVG components with text description for finetuning LLM
  • Iconify: >150,000 open source SVG icons [Website] [Description] [Figma Plug-in] [Figma Plug-in Github]

  • FIGR-8: containing 17,375 classes of 1,548,256 images representing pictograms, ideograms, icons, emoticons or object or conception depictions (with both png and svg format) [Github]

    dataset_explanation.png

  • SVG Repo: with 500,000+ open-licensed SVG vector and icons [Website]

Relevant works

[Research]

  • LLM for SVG editing [Paper]

  • LLM for image editing [Github]: GroundingDINO [Github] + GLIGEN [Github]

  • Text prompt for image editing: InstructPix2Pix [Github];Prompt-to-prompt [Github]

Pros and Cons

🟢 Pros

  • It could leverage foundation models to understand image content in SVG format
  • Provides obvious AI performance on a cross-domain task
  • Has sufficient dataset

🔴 Cons

  • Generation quality has a risk of not meeting the designer's requirements since there is limited research on SVG generation
  • It might be limited on generated detailed SVG components