跳到正文
← 全部指南

本地人脸检索 vs 云端人脸 API:什么时候离线更值得

云端 API 赢在规模,输在隐私;本地桌面索引正好相反。这篇把成本、准确率、速度,以及你的照片到底会去哪儿,摊开来对比一次。

发布于 2026-09-28 约 5 分钟

想在照片里找某个人,你有两条路:把素材库交给某个服务帮你索引,或者把索引留在自己机器上。两条路都走得通,但它们失败的方式完全不同。该选哪条,几乎完全取决于你的素材库里有什么、以及你愿意搬走多少。

这篇对比出自做本地方案的人之手,请带着这个前提读 —— 但下面这些失效方式是真实的,而且是很多人上传完之后才发现的。

根本区别

云端人脸 API本地桌面索引
照片去哪儿上传到服务商从不离开本机
索引存在哪服务商的服务器你的磁盘(~/.snapbyface/)
计费方式按调用量或按月一次性授权
接入方式API key、SDK、写代码装上,指向目录
规模上限百万级图片取决于你的磁盘和耐心
离线可用否是
典型用户做产品的开发者有个大素材库的普通人

云端真正赢的地方

这点得诚实:有些活儿,云端 API 就是更好的工程选择。

  • 超出单机规模的量。如果你要为产品索引百万级图片,本地桌面工具从形态上就不对。
  • 基础设施托管。不用分发模型文件,不用处理硬件差异。
  • 更广的人脸分析能力。服务商提供年龄估计、情绪识别、关键点数据 —— 这些是专注检索的工具刻意不做的功能。

如果你在做服务,用 API。这篇不是在跟这件事争论。

本地赢的地方

你的照片不会变成别人的资产

这就是全部论点,而且不是假设。上传个人素材库,意味着服务商会处理并存储从你家人、同事、以及任何入镜的人身上提取的人脸数据。这些数据受它的保留策略、它的泄露风险、它的条款约束 —— 不是你的。

本地索引把它反过来:每一步都在你自己的电脑上跑。SnapByFace 把它对你素材的全部了解——连同日志——放在 ~/.snapbyface/,不上传任何图片或视频,也没有账号,所以没有任何东西被同步到别处。

没有上传这个瓶颈

几百 GB 素材不会上传得很快。本地索立即开始干活,不依赖你的上行带宽 —— 而那通常是整个环节里最慢的数字。

成本可预测

云端价格随量增长。一次性授权不会。如果你要在这批素材库上反复检索好几年,这笔账就不接近了。

飞机上、棚里、隔离网里都能跑

对某些人来说,离线和网络隔离不是边缘场景,就是工作环境本身。

走本地的代价(也说清楚)

本地不是免费的:

  • 用你自己的硬件。索引吃你的 CPU。大素材库上它是个需要安排时间的后台任务,不是几秒钟就完事的东西。
  • 模型要随包分发。SnapByFace 安装包约 300 MB,因为人脸模型是打包进去的 —— 运行时不用下载,但安装文件更大。
  • 备份是你的责任。索引在你的磁盘上,盘坏了就得重建。
  • 没有弹性扩容。桌面索引很适合个人档案,很不适合数据中心。

一个通常不成立的折中

「只上传裁出来的人脸」听起来是折中,但你已经把最关键的东西 —— 生物特征数据 —— 交出去了,而且现在还要依赖服务商把它和别的东西隔开。它就该被当成上传,因为它本来就是。

怎么选

问三个问题:

  1. 这批素材放在别人服务器上,我能接受吗? 答案只要不是「能」,就选本地。
  2. 我在做产品,还是在解决自己的问题? 做产品 → API。自己的问题 → 本地工具。
  3. 这批库我会反复检索吗? 会 → 一次性成本更划算。

SnapByFace 做什么、不做什么

把本地方案说精确一点:

  • 做:索引你目录里的照片与视频,与你提供的参照照比对,全程在本机运行,结果可导出 CSV。
  • 不做:上传任何内容、要求注册账号、重命名或修改你的文件、识别你没添加过的人。

唯一外发的是可选的设备统计 ping —— 机器码、软件版本、操作系统、语言、激活状态与套餐。不含照片、人脸数据、文件路径与检索行为。默认开启,可在设置里关闭。

拿你自己的素材库试一下

免费试用就能跑完整的本地检索 —— 不需要账号,不需要上传。