docs: add missing dedup step, fix auto-stop description in How It Works

- Step 5 (near-duplicate removal) was added in v0.4.4 but never
  documented; added between embedding and diversity selection
- Auto-stop was described as 'stops when similarity exceeds threshold'
  which is backwards; it stops when the next candidate's distance to
  already-selected images falls below the threshold (too similar, not
  enough new information)
- Renumbered steps 5-8 to 6-9
- Tightened hard-example weighting description to match the code
This commit is contained in:
2026-06-14 16:06:45 +00:00
parent ec074fd279
commit fe4cfac7b5
+14 -8
View File
@@ -43,24 +43,30 @@ Immich library
• Objects → SigLIP (Vision Transformer) → 768-dim vector • Objects → SigLIP (Vision Transformer) → 768-dim vector
│ │
▼ ▼
5. Diversity selection 5. Near-duplicate removal — greedy cosine-distance pass drops burst shots
and near-identical photos before clustering runs; the highest-quality
image from each near-duplicate group is kept
│
▼
6. Diversity selection
• K-Medoids clustering → one representative per natural group • K-Medoids clustering → one representative per natural group
• Farthest Point Sampling → fill remaining slots with maximally spread picks • Farthest Point Sampling → fill remaining slots with maximally spread picks
• Hard example weighting — unusual angles and low-confidence detections • Hard example weighting — low-confidence detections get a distance boost
are biased toward selection, since those are where models tend to fail so unusual angles and harder looks are preferred over easy frontals
• Auto mode: stops when similarity to the existing set exceeds a threshold • Auto mode: stops when the next candidate is too similar to those already
(20 % of median pairwise distance for faces, 10 % for objects) selected (distance threshold = 20 % of median pairwise distance for
faces, 10 % for objects)
│ │
▼ ▼
6. Download full-resolution originals from Immich 7. Download full-resolution originals from Immich
│ │
▼ ▼
7. Crop and process 8. Crop and process
• Face mode: EXIF-corrected, landmark-aligned 112×112 crop (ArcFace format) • Face mode: EXIF-corrected, landmark-aligned 112×112 crop (ArcFace format)
• Object mode: YOLOv9c detection → one crop per matched instance • Object mode: YOLOv9c detection → one crop per matched instance
│ │
▼ ▼
8. Deliver 9. Deliver
• Face mode: upload crops to Frigate's face registration API • Face mode: upload crops to Frigate's face registration API
↳ below MAX_AUTO_IMAGES — upload freely ↳ below MAX_AUTO_IMAGES — upload freely
↳ at cap + QUALITY_REPLACEMENT=true — with Frigate scoring active, ↳ at cap + QUALITY_REPLACEMENT=true — with Frigate scoring active,