尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Ente Photos 人脸识别功能全解析:端到端加密下的本地人物搜索与分组管理

Ente Photos 人脸识别功能全解析:端到端加密下的本地人物搜索与分组管理 Ente Photos 人脸识别功能全解析端到端加密下的本地人物搜索与分组管理【免费下载链接】ente End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente导读本文以 Ente Photos 官方文档 face-recognition.md 为主体系统讲解 Ente 人脸识别Face Recognition功能的完整工作流从启用机器学习、初始索引到查看与命名人物分组、合并/拆分分组、移除错误人脸、更换封面、忽略人物等日常管理操作并深入源码层揭示其端到端加密、完全离线的本地处理原理。读完本文你将掌握在移动端与桌面端正确开启并高效使用人脸识别的完整方案同时理解这一隐私优先搜索能力在 rust/crates/ml 与 rust/crates/photos 中的实现脉络。什么是 Ente 的人脸识别人脸识别是 Ente 机器学习Machine Learning能力的一部分用于按照片中的人物来查找和组织照片。启用后应用会自动完成以下工作检测照片中的所有人脸Face detection将相似人脸自动归组为人物分组Clustering允许你为分组命名以标识人物Naming按人名搜索特定人物Search查找包含特定人物的全部照片Discovery关键前提是所有检测与分组全部在本地设备上完成照片与人脸数据永远不会发送到 Ente 的服务器。这也是人脸识别区别于云端 AI 服务的核心设计。相关背景可参考 Machine learning 概览同一套本地机器学习体系还支撑魔法搜索Magic Search即自然语言搜索能力。如何启用人脸识别人脸识别默认关闭需要手动启用。它属于 Ente 的机器学习特性启用入口如下移动端iOS / Android打开设置Settings 机器学习Machine learning开启机器学习Machine learning与/或本地索引Local indexing等待索引完成。桌面端Mac / Windows / Linux打开设置Settings 偏好设置Preferences 机器学习Machine learning开启机器学习与/或本地索引并在应用内监控索引进度。[!NOTE]人脸识别在 photos.ente.comWeb 端不可用必须使用移动端或桌面端应用。启用过程中的两个关键开关从 Machine learning 指南 与 FAQ见 search-and-discovery.md 中#ml-local-processing-off与#ml-without-local-indexing可以明确这两个开关的语义机器学习Machine learning启用整个人脸识别与魔法搜索能力让设备具备使用 ML 索引的能力。本地索引Local indexing控制当前设备是否亲自执行索引计算。开启时设备会下载照片、运行 ML 模型、在本地构建索引关闭时设备跳过重负载工作改用其他设备如桌面端已生成的、通过端到端加密同步过来的索引。对于内存较小4-6GB但照片库很大的手机建议关闭移动端本地索引让桌面端负责索引再由索引同步支撑手机端的搜索体验。这一建议与源码中移动端设置页mobile/apps/photos/lib/ui/settings/ml/machine_learning_settings_page.dart对本地索引开关的管理逻辑一致。初始索引从零到人物分组启用后应用需要先完成一次本地索引过程如下下载应用将原图下载到本地设备以便离线分析处理ML 模型在设备上逐张分析照片索引在本地构建搜索索引加密同步索引经端到端加密后同步到你的其他设备进度以百分比展示例如Indexing... 45%。WiFi 下更快桌面端比移动端更快。索引完成后人脸会自动完成分组。索引提速建议大图库先在桌面端启用桌面端 CPU、内存与网络带宽更强索引存量照片更快索引结果会同步到移动端手机此后只需增量索引新照片。多设备可并行索引每个客户端都会检查某文件是否已索引避免重复与冲突但这不会整体提速因此仍推荐优先用桌面端。迁移前先启用如果你正把大图库导入 Ente先在导入前开启机器学习让应用在上传过程中顺带索引避免日后为索引再下载一遍原图。保持应用在前台初始索引期间保持应用打开不要后台杀进程。源码视角索引管线到底做了什么从源码可以还原一条清晰的人脸索引管线。入口是 rust/crates/ml/src/indexing.rs 中的analyze_image它按顺序执行人脸检测Detection调用 rust/crates/ml/src/face/detect.rs 的run_face_detection将图片预处理为 YOLO 输入后交给Model::FaceDetectionONNX 模型推理。后处理时只保留置信度 ≥MIN_SCORE_THRESHOLD0.5的检测框再通过greedy_non_max_suppressionIOU 阈值 0.4抑制重叠框得到包含边界框与 5 个关键点双眼、鼻尖、嘴角的检测结果。人脸对齐Alignment调用 rust/crates/ml/src/face/align.rs 的run_face_alignment基于 5 个关键点估算相似变换SVD 求解将人脸仿射矫正为固定112×112输入见 face/mod.rs 的FACE_INPUT_SIZE并按 MobileFaceNet 的归一化规则做1/127.5缩放同时用拉普拉斯方差计算模糊值用于后续质量过滤。人脸嵌入Embedding调用 rust/crates/ml/src/face/embed.rs 的run_face_embedding将 112×112×3 的对齐人脸送入Model::FaceEmbedding生成特征向量并对向量做 L2 归一化得到可用于相似度比较的人脸嵌入。人脸缩略图索引时还会为每个人脸裁剪生成 JPEG 缩略图见 rust/crates/ml/src/face/thumbnail.rs短边以 512px 为目标、最长边不超过 4096px并依据缩放比例自动选择 CatmullRom / Bilinear / Mitchell / Lanczos3 重采样滤镜。持久化与聚类人脸行face_id、检测框 JSON、嵌入、分数、模糊度等通过 rust/crates/photos/src/ml_db/queries/faces.rs 的UPSERT_FACE写入本地 SQLite 的faces表质量过滤阈值MINIMUM_QUALITY_FACE_SCORE 0.80、MEDIUM_QUALITY_FACE_SCORE 0.85也定义在该文件中。相似人脸的分组由移动端 face_clustering_service.dart 负责库较小时走完整聚类库较大时走线性聚类并通过mergeThreshold默认 0.30决定两个分组是否合并。人脸嵌入的近似最近邻检索则由 rust/crates/ml/src/vecdb 中的向量索引完成512 维、余弦距离。使用人脸识别查看、命名与搜索查看已识别的人脸移动端点击右下角的搜索图标 → 滚动到人物People区域 → 浏览所有已识别的人脸分组。对应实现见 people_section.dart。桌面端通过顶部标签进入People区域。为人物命名人脸完成分组后即可为分组命名以标识人物移动端打开 People 区域点击一个人物分组点击Add name或编辑图标输入人物姓名该人物随即可按姓名搜索桌面端打开某个人物分组点击Add a name若已存在其他已命名人物可从列表搜索并选择已有人员或选择New person新建新建时输入姓名并点击Add命名完成后即可在搜索栏中输入姓名搜索该人物。按人物搜索在搜索栏输入人名所有包含该人物的照片都会出现搜索范围覆盖全部相册搜索即时完成且完全在本地设备上进行通过复核建议提升分组质量FAQsearch-and-discovery.md 与#improve-face-recognition补充了一个进阶用法打开已命名的人物分组 → 顶部菜单点击Review suggestions→ 确认或拒绝模型给出的人脸建议。拒绝过的分组后续不会再被推荐且所有人工修正都会跨设备同步。命名一个高频人物会自动触发最相近分组的合并——先命名最常出现的人再逐个确认后续建议是快速整理大库的最佳路径。管理人物分组合并人物Merge同一人物被拆成多个分组时可通过赋予相同姓名来合并。移动端确保其中一个分组已有姓名打开第二个分组点击Add a name横幅不要输入文字直接点击列表里已存在的那个姓名两个分组即被合并桌面端同样使用Add a name按钮从列表中选择已有人员即可完成合并。拆分人物De-merge如果合并错了可以撤销合并。移动端打开该人物点击Review suggestions点击右上角的历史图标点击要拆分分组旁的减号图标桌面端打开该人物点击Review suggestions点击右上角的历史图标必要时撤销之前的合并从人物中移除错误人脸有时候错误的人脸被归入了某个人物分组移动端从 People 区域打开该人物点击右上角三个点溢出菜单选择Edit长按包含错误人脸的照片勾选要移除的照片在操作栏点击Remove桌面端目前编辑人物分组仅在移动端支持桌面端可以查看与命名人物但无法修改分组本身更换人物封面移动端打开人物分组长按希望设为封面的图片点击Use as cover桌面端桌面端暂不支持手动挑选封面默认使用最近一张图片。忽略某些人物可以让应用不再展示某些人脸分组。移动端确保该人物未命名若已命名先点击Remove person label在未命名分组内从右上角菜单点击Ignore person撤销忽略打开包含该人物的某张照片打开文件信息file info点击被忽略人物的人脸缩略图点击Show person桌面端使用右上角菜单的Ignore选项已命名则先Reset person撤销方式相同通过照片文件信息打开该人物选择Show person特殊场景婴幼儿照片人脸识别模型包括 Ente 使用的模型在处理婴儿与幼儿照片时普遍表现不佳——这个年龄段的面部变化极快导致分组困难。如果你发现一个混合分组里有好几个不同婴儿移动端打开该混合分组点击右上角菜单的mixed grouping选项模型会以更严格的设置重新评估不同婴儿通常会被拆分成不同分组[!NOTE]该功能目前仅在移动端可用。平台能力差异总览移动端iOS / Android✅ 查看已识别人脸✅ 命名人物✅ 合并与拆分人物✅ 移除错误人脸✅ 更换封面✅ 忽略人物✅ 处理混合分组桌面端Mac / Windows / Linux✅ 查看已识别人脸✅ 命名人物✅ 合并人物通过赋予相同姓名❌ 无法修改人物分组编辑、移除人脸❌ 无法更换封面✅ 可以忽略人物当前限制人脸分组管理编辑分组、移除错误人脸必须在移动端完成桌面端可以查看和命名人物但不能修改分组本身。Webphotos.ente.com❌ 不支持人脸识别必须使用移动端或桌面端应用隐私与安全人脸数据为什么安全Ente 人脸识别的隐私保证与整款应用一致均为端到端加密设备端处理On-device processing所有人脸检测与分组都在你的设备上完成人脸数据加密Encrypted face data人脸识别数据在同步前加密服务器零接触No server accessEnte 服务器永远看不到你的照片或人脸数据不用于训练Not used for training你的照片永远不会被用于训练任何 AI 模型Ente 或任何第三方都不会无第三方No third parties不会与任何第三方服务共享数据源码层面的佐证ML 索引、人脸嵌入存储与向量检索全部位于客户端本地代码rust/crates/ml、rust/crates/photos 中的 ml_db而服务端仓库server中不存在任何处理人脸原始数据的模块ML 生成的索引在跨设备同步前会按端到端加密处理详见 Machine learning 指南 与 Security and Privacy FAQ。更深一层ML 索引同步还需要网络下载模型、下载本地缺失的照片、同步加密索引但索引完成后的搜索、查看与命名全部离线可用不依赖网络连接。离线使用照片索引完成后人脸识别可以完全离线工作无网络搜索人物离线查看人物分组离线命名与管理人物所有操作都在本地设备完成初始索引需要下载照片WiFi 下更快但此后人脸识别无需联网即可使用。相应的FAQ 也确认ML 索引过程需要网络下载 ML 模型与本地缺失的照片完全索引完成后才可离线使用见 search-and-discovery.md。常见问题速查索引卡在 100% 但不出人脸确认使用的是移动端/桌面端应用而非 photos.ente.com尝试关闭再重新开启机器学习确认索引真正完成而非仅显示 100%重启应用。详见 search-and-discovery.md。人脸分组质量不佳婴儿照片使用mixed grouping仅移动端手动合并本应在一起的人物移除分组中的错误人脸清晰的正脸照片识别效果更好。详见 search-and-discovery.md。桌面端无法修改分组这是当前限制编辑分组请使用移动端。详见 search-and-discovery.md。索引期间性能问题移动端可关闭本地索引改用桌面端桌面端索引虽占用 CPU 但是暂时的大图库建议先在桌面端启用。详见 search-and-discovery.md。移动端不显示人脸桌面端已 100%尝试清除应用缓存与存储后重新登录等待数分钟让人脸数据同步Android设置 应用 Ente Photos 存储清除缓存与存储iOS删除重装应用。详见 search-and-discovery.md。People 区域空白但 ML 显示 100%先在桌面端用Ctrl F刷新或退出重新登录仍为空则从桌面端发送日志排查。详见 search-and-discovery.md。People 显示字母占位而非人脸缩略图这是缩略图尚未生成/原图尚未下载时的占位回退让应用保持前台并连接 WiFi 数分钟缩略图会逐步出现。详见 search-and-discovery.md。能否重置 ML 数据库重新检测目前没有内置的重置 ML 数据库与已检测人脸选项。详见 search-and-discovery.md。相关文档导航Machine learning 概览本地 ML 体系、索引流程、跨设备索引同步Magic search 指南自然语言搜索Search and Discovery 总览基础搜索日期、文件名、描述、相册Search and Discovery FAQ人脸识别与 ML 的完整 FAQSecurity and Privacy FAQML 隐私保证【免费下载链接】ente End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表