-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Face Gallery detects the faces in a pile of photos, works out which photos each person appears in, and lets you browse the result as face cards or as an interactive graph.
The frontend is hosted at face-gallery.mrbean.dev. The backend runs on your own machine, so your photos are never uploaded anywhere.
| I want to... | Go to |
|---|---|
| Try it with the least effort | Running Your Own Backend |
| Run both halves locally from source | Quick Start |
| Understand what the buttons do | Usage |
| Change tolerance, limits, or storage | Configuration |
| Call the API myself | API Reference |
| Fix a problem | Troubleshooting |
Processing runs in two passes.
The first pass scans every photo, detects faces, and builds a list of distinct people. A face is considered new when its encoding is further than the match tolerance from every person already found.
The second pass walks the photos again and links each detected face to its closest known person, recording the bounding box. Encodings computed in the first pass are reused, so no photo is encoded twice.
Detection runs on a copy scaled to at most 1600 px on the long edge, which is several times faster on large photos and costs no accuracy at the default tolerance. Face crops are always taken from the original resolution, so the face images stay sharp.
- Drag and drop photos or a ZIP archive
- Live progress over a WebSocket, with faces appearing as they are found
- List view — a card per person, with every photo they appear in
- Graph view — photos and faces as a node network, in square or radial layout, with hover highlighting, fullscreen, and a minimap
- Reversible merge — grouping two faces never deletes anything, so a wrong merge can be undone and the display face swapped at any time
- Rename, disable, or delete people
- Assign a face to a photo by hand, optionally drawing the bounding box
- Add more photos to an existing session and re-process
- Server-side thumbnails with a disk cache, and per-effect toggles for large graphs
A modern browser, and a machine that can run the backend.
Safari cannot be used with the hosted frontend. It blocks all mixed content, including requests to localhost. Chrome, Edge, and Firefox 84+ work.
Repository · Releases · Issues · MIT licensed
Getting started
Reference
Going further