新闻详情

新闻详情

首页 / 资讯中心 / 详情

Lap人脸聚类算法原理:从检测到聚类的完整流程

发布时间:2026/9/28 18:11:32来源:尧图网络
Lap人脸聚类算法原理:从检测到聚类的完整流程
Lap人脸聚类算法原理从检测到聚类的完整流程【免费下载链接】lapAn offline-first photo manager for large local libraries项目地址: https://gitcode.com/GitHub_Trending/lap3/lapLap 是一款离线优先offline-first的照片管理工具它的人脸聚类人脸识别与人物分组功能完全在本地运行内置 RetinaFace 人脸检测模型与 MobileFaceNet 人脸特征模型配合 K 近邻图 Chinese Whispers 加权投票算法把数张照片里的人脸自动归为同一个人。下面带你完整拆解这条检测 → 过滤 → 特征提取 → 聚类 → 人物分组的流水线。一、检测阶段RetinaFace 多尺度找脸Lap 的人脸检测核心在 src-tauri/src/t_face.rs它通过 ONNX Runtime 加载det_500m.onnxRetinaFace/SCRFD 系列模型模型名定义见 src-tauri/src/t_common.rs。流程大致分四步智能缩放图片长边大于 640px 时缩放至 640px更小的图则向上取整到 32 的倍数模型步长要求并优先直接复用已生成的缩略图来加速索引多尺度锚点Anchor在 stride 为 8、16、32 的三个特征图上生成密集锚点分别负责检测大、中、小三类人脸相当于用三组放大镜扫过整张照片置信度初筛只有得分超过 0.6 的候选框进入下一步NMS 去重用 IoU交并比阈 0.4 的非极大值抑制把同一张脸被重复框出的多个候选框合并为最自信的那一个。二、质量过滤只留下认得清的人脸检测出人脸后Lap 会做两道质检见 t_face.rs 的 process_dynamic_image置信度过滤低于MIN_CONFIDENCE0.65的人脸直接丢弃模糊度过滤用**拉普拉斯方差Variance of Laplacian**计算清晰度得分低于MIN_BLUR_SCORE200.0的糊脸被排除——背景路人、过小的虚焦脸基本都会在这一关被挡掉这正是聚类结果干净的关键。三、特征提取MobileFaceNet 把脸变成向量对通过质检的每张人脸Lap 会在原图上把人脸框向外扩 20% 留白后裁出避免秃额头影响识别缩放至 112×112按(像素 - 127.5) / 128.0归一化送入w600k_mbf.onnxMobileFaceNet得到一个特征向量Embedding再做L2 归一化变成单位向量。单位向量让相似度计算退化为一次简单的点积点积越大越像同一个人。所有向量连同人脸框一起写入本地 SQLite 数据库src-tauri/src/t_sqlite.rs全程不上传任何图片数据。四、聚类阶段K 近邻图 Chinese Whispers 加权投票真正的把同一人的人脸分到一组发生在 src-tauri/src/t_cluster.rs算法分四步步骤做什么关键细节① 算距离两两计算余弦距离 1 − 相似度向量已归一化直接点积即可② 建图距离小于阈值 ε 的两人脸连边构建 K-NN 图每个节点只保留Top-80 条最强边K_NEIGHBORS内存有界且同一张照片里的两张脸绝不连边防止合影中不同人被强行合并③ 传播Chinese Whispers随机顺序遍历节点每个人脸看邻居的加权投票边权重 相似度²弱链接被平方惩罚改投得票最高的簇最多迭代 20 轮标签不再变化即收敛④ 成组每个簇生成一个 Person 记录批量写入人脸归属最后调用Person::update_all_thumbnails为每个人选一张最佳人脸作为头像阈值 ε 控制聚类的松紧程度。Lap 在设置页src-vite/src/views/Settings.vue提供四档可选对应余弦距离 [0.35, 0.45, 0.55, 0.65]定义于 src-vite/src/stores/configStore.jsVery High0.35最严格宁缺毋滥同一个人可能拆成几组可手动合并Low0.65最宽松不同人有被合并的风险。默认使用 Medium0.55对多数家庭相册是最平衡的选择。五、结果落地Person 视图与日常使用聚类完成后左侧栏的Person视图前端实现见 src-vite/src/components/Person.vue会展示每个人物的头像、照片数量点击即可浏览该人物的所有照片。如果某个人被拆成了两组Lap 支持合并人脸簇Face Merging把两个人手动合并成一个体验上类似其他照片 App 的编辑人物。六、隐私与性能一切都在本机️完全离线检测与识别模型均为本地 ONNX 文件可用 scripts/download_models.sh 查看其来源人脸向量也只存在本地 SQLite 中⚡索引可续传已处理过的图片不会重复计算进度通过face_index_progress事件实时推送到界面随时可取消省内存K-NN 图构建时就裁剪到 Top-K聚类前一次性预解析向量并释放中间数据避免大图内存峰值。总结Lap 的人脸聚类 RetinaFace 多尺度检测找得准置信度/清晰度双过滤留得住MobileFaceNet 单位向量认得出Top-80 K 近邻图 Chinese Whispers 加权投票分得开。整条链路离线、可中断、可续传配合四档可调的聚类松紧度让把几千张照片自动分成一张张人脸这件事变得既快又省心。【免费下载链接】lapAn offline-first photo manager for large local libraries项目地址: https://gitcode.com/GitHub_Trending/lap3/lap创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

聚水潭开放平台接入:从注册开发者到调通第一个接口(附官方签名算例) 2026/9/28 18:53:44

聚水潭开放平台接入:从注册开发者到调通第一个接口(附官方签名算例)

目录一、先说结论二、注册和资质认证2.1 注册2.2 资质认证:只能用企业三、创建应用:服务商还是自有商城四、申请接口权限五、测试环境:先在沙箱里跑通六、调第一个接口6.1 公共参数6.2 签名规则6.3 用官方算例验证你的签名6.4 第一个请求&…

阅读更多 →
Oracle考试总结:用TaoToken统一Key跑通OCP题库环境配置 2026/9/28 18:53:44

Oracle考试总结:用TaoToken统一Key跑通OCP题库环境配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
GitHub 46k Star 的 Claude Code 最佳实践开源了:TaoToken 统一 Key 接入配置骨架 2026/9/28 18:53:44

GitHub 46k Star 的 Claude Code 最佳实践开源了:TaoToken 统一 Key 接入配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
PCIe Gen6点亮实战:17道硬关与系统级稳定性指南 2026/9/28 18:53:37

PCIe Gen6点亮实战:17道硬关与系统级稳定性指南

1. 一张 PCIe Gen6 卡,从点亮到稳定,到底要过多少关?你手头刚拿到一块标着“PCIe Gen6 Ready”的加速卡,插进主板,按下电源——风扇转了,LED亮了,但系统 BIOS 里压根没识别到设备;或…

阅读更多 →
JVM跨平台与JIT即时编译:Java如何从字节码到机器码实现越跑越快 2026/9/28 18:53:37

JVM跨平台与JIT即时编译:Java如何从字节码到机器码实现越跑越快

2. 从源码到机器码:所谓"跨平台"其实是三层翻译的功劳面试Java岗位的时候,十有八九会被问到这个问题:JVM为什么能跨平台?标准答案谁都能背——"Java编译一次,到处运行",源码编译成字节…

阅读更多 →
一体化关节模组设计:从选型到热管理及可靠性实战 2026/9/28 18:53:37

一体化关节模组设计:从选型到热管理及可靠性实战

1. 一体化关节模组到底在解决什么问题第一次接触一体化关节模组的人,脑子里冒出来的画面通常是“电机加减速器拧在一起”。这个理解不算错,但只看到了壳子。真正做过机器人本体设计的人都知道,关节模组是把电机、减速器、编码器、驱动器、制动…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉