SvgIt turns raster images (PNG, JPG, …) into clean, compact SVG. It started as a fork of visioncortex/vtracer and grew a fully-owned tracing pipeline plus an optional ML layer, all wrapped in a small axum HTTP service with a live-preview UI — drag, paste, or upload an image and it converts live as you tune parameters.
The project is built in three levels:
- Level 1 — a thin service wrapping the VTracer core, with a parameter UI for live tuning.
- Level 2 — a dependency-free, fully-owned classical pipeline: LAB color quantization → region segmentation → contour tracing → RDP simplify → Schneider curve-fit → layering → minified SVG, producing exactly-N-color output.
- Level 3 — an ML layer (PyTorch → ONNX, run embedded in Rust via
ort): salient-object background removal, FastSAM "segment everything," and CNN edge/corner refinement.
Engines
- VTracer — the upstream core: stacked color clustering + curve tracing.
- Owned — the dependency-free Level-2 pipeline; exact N-color flat output with background removal and edge refinement.
- Segment — FastSAM segmentation into a layered SVG, one
<g>per detected object.