-
以「人」为中心融合身份的相册基础(声纹那套的人脸版): - data:persons/photos/faces 三表 + 增量迁移 v3→v4(DDL 对过 Room,真机零数据损失) - vision/FaceEngine:ML Kit 检测+5点 → 相似变换对齐 → TFLite MobileFaceNet 512维 embedding(同人 0.976/异人 0.127,embed 44ms)。**不用 onnxruntime-android**—— 它和 sherpa 自带 libonnxruntime.so(自定义符号版本)无法共存,会弄坏音频 - vision/VisionClient:经 llama-swap 8080 的 vl 端点(Qwen2.5-VL-3B)出场景描述,只描场景不报人名 - vision/PhotoProcessor:人脸+embedding+VL+EXIF → 更新 photos 行 + 写 faces + 匹配 Person - vision/PhotoWorker + PhotoScheduler:导入只瞬时登记,重活交后台 worker 定时/闲时处理 (15min periodic + 导入触发 runNow,单轮 7min 预算,防并发),不阻塞导入 - vision/FaceMatcher:标注一张脸 → 回填其它照片同一人(同声纹回填) - ImageUtil:EXIF 时间/GPS、按方向解码、降 512px 喂 VL、embedding 打包 - 模型 w600k_mbf.tflite(6.5MB) 进 assets(实测还原 onnx cos=1.0) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>