Skip to content
kamiuukamiPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

19 Commits

Folders and files

Repository files navigation

Tada

Turn what a photo knows about itself — depth, faces, bodies, colours, metadata — into images. Nothing is sent: every model runs on the device.

Use: open the page on your phone, choose a photo, pick a style, adjust, save. "Add to Home Screen" to keep it as an app.

Sister project of Notus: same screen, same gestures, same single static page.

How it works

  • Transform (rewrites the pixels) · Add (draws on top) · Export: each opens a drawer; pick an effect.
  • The drawer closes and the bar becomes Cancel / Done.
  • Hold the photo (still for a moment): a dot appears under your finger and its position sets the value, absolutely — across the photo for one option, across and up for options that go in pairs (shown normalized, 0…1 or −1…1).
  • Option row (the title): drag vertically to pick another option. The zone under it describes the option and shows its values.
  • Reset (top): all defaults. Choices picked by sliding a list (blend modes) apply when you release.
  • Done stacks the effect as a layer. Layers: reorder (↑ ↓), blend mode (press and slide through the list, or tap for the next), opacity (drag sideways), delete (×). Tap a layer name to reopen it and change its settings; the stack is never flattened. Effects stack in order, without masks; every analysis always runs on the original photo. Undo / redo / Reset at the top.
  • Tap the photo: full screen (pinch to zoom). Long press: the original.

Analyses

Computed the first time an effect needs them, kept until the next photo.

Analysis Model
Depth (0 far … 1 near, normals derived) Depth Anything V2 small, int8 (35 MB)
Faces (boxes, 106 landmarks, outline) SCRFD-2.5G + 2d106det (InsightFace)
Bodies (6 people × 17 keypoints) MoveNet MultiPose Lightning (19 MB)
Subject (matte) u2netp (4.5 MB)
Colours (k-means palette) —
Metadata (EXIF: camera, lens, exposure, date, GPS) —

Effects

The options set the data behind each effect (depth range, detection thresholds, joint confidence, smoothing…); the look has at most one or two options. Opacity and blend live in Layers.

  • Transform — Orbit (pixels back in 3D, camera turned around them) · Scan (lines lifted by depth) · Depth sort (pixel sort inside a depth slice) · Lens (depth of field) · Relight (light on the depth normals) · Depth map · Normal map · Mesh (face landmarks triangulated) · Warp (liquify from the landmarks) · Smear (limbs dragged along their bones) · Sort (pixel sort on the subject or the background) · Matte · Isolate (keep one dominant colour) · Swap (dominant colours exchanged).
  • Add — Slices (depth contour lines) · Echo (rings around the subject) · Graph (people linked to their nearest neighbours, with distances) · Face outline · Skeleton · Caption · Frame.

Exports JPEG or PNG, no EXIF.

Technical

A single static page, no build step. Inference: onnxruntime-web 1.22, WebAssembly, one thread.

index.html   the app
vendor/      onnxruntime-web (MIT)
models/      ONNX models (see licences)

Serve the folder as is (GitHub Pages, or python3 -m http.server).

Depth runs at 518 × 518 single-threaded: expect a few seconds on a phone the first time a style needs it.

Licences

  • Code: MIT, see LICENSE.
  • onnxruntime-web: MIT, © Microsoft.
  • depth.onnx: Depth Anything V2 small (Apache 2.0), ONNX export from fabio-sim/Depth-Anything-ONNX, weights quantised to int8 (MatMul/Gemm).
  • movenet.onnx: MoveNet MultiPose Lightning (Apache 2.0, Google), ONNX from Kazuhito00/MoveNet-Python-Example.
  • u2netp.onnx: U²-Net small (Apache 2.0), from danielgatis/rembg.
  • det_2.5g.onnx, 2d106det.onnx: released by InsightFace for non-commercial research use only — same caveat as Notus, to be replaced before any stable release.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages