Files
pholio/.gitattributes
T
chris.giteaandClaude Sonnet 5 d15c697e7c feat(recognition): add local face/animal detection pipeline
Add a face/animal recognition feature: local ONNX detection (YuNet+SFace
for faces with automatic person clustering, YOLOX-Nano for animal species)
behind an IRecognitionService seam mirroring IPlaceSearchService's local/
remote proxy pattern, with a separate engine seam so the ONNX backend can
be swapped later. Wired into the import/sync pipeline via TaskType.IMAGE_ANALYSIS
with a visible progress task, a startup backfill for existing libraries, and
a cheap perceptual-hash skip so metadata-only edits don't retrigger detection.
Detected regions are stored (new person/media_face_region tables) and shown
read-only in MediaInfoPane. Bundled ONNX weights (MIT/Apache-2.0) are tracked
via Git LFS.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JzvA5ySQUsYrMUTj7sHxFA
2026-09-13 19:41:04 -04:00

26 lines
885 B
Plaintext

# Normalize line endings to LF for everything Git considers text, so a file's on-disk bytes
# never depend on the OS or editor that last touched it. This matters most for Flyway migrations
# under src/main/resources/db/migration: Flyway checksums the file content it applies, and a
# CRLF/LF flip after a migration has already run invalidates that checksum on every other clone.
* text=auto eol=lf
*.sql text eol=lf
*.java text eol=lf
*.yaml text eol=lf
*.yml text eol=lf
*.properties text eol=lf
*.css text eol=lf
*.md text eol=lf
*.xml text eol=lf
*.jar binary
*.png binary
*.jpg binary
*.jpeg binary
*.ico binary
*.icns binary
# Bundled ONNX recognition models (src/main/resources/models/recognition/) — tens of MB each, stored via
# Git LFS rather than directly in history so a plain clone stays small unless LFS objects are pulled.
*.onnx filter=lfs diff=lfs merge=lfs -text