How fiaabsinthe/mavfacesorter works
FaceSort has two distinct image-grouping workflows in the supplied sources: a command-line RetinaFace/DeepFace pipeline described by the README, and a Streamlit uploader using InsightFace embeddings and DBSCAN in app.py. Both detect faces, associate them with images, group images, and produce downloadable or on-disk results. The app excerpt omits some UI and file-handling lines, so its uncertain internal wiring is not expanded.
Main entry points: app.py Streamlit interface · facesort.py CLI orchestrator
Components 20
CLI workflow
- CLI orchestrator
facesort.py - Image scan
facesort.py - Face extraction
facesort.py - Face matching
facesort.py - Person assignments
facesort.py
Web workflow
- Streamlit interface
app.py - Face detection
app.py - Face embeddings
app.py - Face clustering
app.py
Vision services
- RetinaFace
- DeepFace verification
- InsightFace analysis
- DBSCAN
Grouping and results
- Folder sorting
facesort.py - Image and output folders
facesort.py - Uploaded and output files
app.py - Person folders
app.py - ZIP download
app.py
Other components
- CLI user
- Photo uploader
Connections 25
- CLI user → CLI orchestrator: runs
- CLI orchestrator → Image scan: calls
- Image scan → Image and output folders: reads images
- CLI orchestrator → Face extraction: calls
- Face extraction → RetinaFace: extracts faces
- Face extraction → Face matching: checks faces
- Face matching → DeepFace verification: verifies identity
- Face matching → Person assignments: records matches
- CLI orchestrator → Folder sorting: calls
- Folder sorting → Person assignments: reads assignments
- Folder sorting → Image and output folders: copies images
- Photo uploader → Streamlit interface: uploads photos
- Streamlit interface → Uploaded and output files: saves uploads
- Streamlit interface → Face detection: starts sorting
- Face detection → Uploaded and output files: reads images
- Face detection → InsightFace analysis: detects faces
- Face detection → Face embeddings: collects embeddings
- Streamlit interface → Face clustering: clusters embeddings
- Face clustering → Face embeddings: reads embeddings
- Face clustering → DBSCAN: fits clusters
- Streamlit interface → Person folders: creates groups
- Person folders → Uploaded and output files: copies grouped images
- Streamlit interface → ZIP download: builds archive
- ZIP download → Uploaded and output files: reads output files
- Streamlit interface → Photo uploader: offers download