Skip to content
saimiri

A photo becomes a geometric logomark

Saimiri draws the construction grid of circles and lines over the subject, then keeps the regions a designer would keep. The result is a clean SVG made only of lines and arcs.

Across the evaluation photos: median IoU 0.929 against the subject, with 17 primitives.

DownloadHow it works

From photo to logo

One step uses AI, once per image. The rest is classical geometry.

  1. Segment the subjectA small model (U²-Netp) cuts the subject out of the photo.
  2. Fit lines and arcsThe outline is split into the fewest lines and circular arcs that follow it.
  3. Build the gridArcs become full circles and lines get overshoot: the designer's construction grid.
  4. Snap to the gridParallels, equal radii and tangencies are aligned, as long as the shape stays faithful.
  5. Pick the regionsThe grid cuts the image into faces; the ones inside the subject are kept.
  6. ExportA logo SVG and a construction sheet showing the grid behind it.

Examples

Each row is one photo: the subject, the construction grid with the final shape on top, and the logo alone. Across the 8 shown here the pipeline keeps the outline closely enough to be recognizable with few primitives; the median over the full evaluation set is an IoU of 0.929 with 17 primitives.

  • Arctic fox snow: the photoArctic fox snow: construction grid with the final shapeArctic fox snow: the logo

    Arctic fox snow · IoU 0.95 · 14 primitives, 14 path nodes · photo by Jonatan Pie (unsplash.com/@r3dmax) (CC0), source

  • Deer fence: the photoDeer fence: construction grid with the final shapeDeer fence: the logo

    Deer fence · IoU 0.96 · 18 primitives, 19 path nodes · photo by Balon Greyjoy (CC0), source

  • Elephant forest: the photoElephant forest: construction grid with the final shapeElephant forest: the logo

    Elephant forest · IoU 0.97 · 14 primitives, 13 path nodes · photo by Sultan Ahmed 09 (CC0), source

  • Kingfisher branch: the photoKingfisher branch: construction grid with the final shapeKingfisher branch: the logo

    Kingfisher branch · IoU 0.92 · 16 primitives, 18 path nodes · photo by Frank-2.0 (CC0), source

  • Rabbit leaping: the photoRabbit leaping: construction grid with the final shapeRabbit leaping: the logo

    Rabbit leaping · IoU 0.94 · 17 primitives, 14 path nodes · photo by Yu-Chan Chen (CC0), source

  • Saimiri branch: the photoSaimiri branch: construction grid with the final shapeSaimiri branch: the logo

    Saimiri branch · IoU 0.97 · 22 primitives, 19 path nodes · photo by formicacid (CC0), source

  • Saimiri foliage: the photoSaimiri foliage: construction grid with the final shapeSaimiri foliage: the logo

    Saimiri foliage · IoU 0.92 · 21 primitives, 16 path nodes · photo by w_endo (CC0), source

  • Swan lake: the photoSwan lake: construction grid with the final shapeSwan lake: the logo

    Swan lake · IoU 0.94 · 18 primitives, 23 path nodes · photo by Champ0999 (CC0), source