小区门口的门卫老张,一天要干两种活。早上,业主王阿姨忘带门禁卡,她对老张说“我是3栋202的王秀兰”,老张翻开业主名册,对着照片瞅了瞅眼前的人,点点头放行——这叫“对号入座”:系统已经知道你是谁,只需要证明“你是你”。晚上,物业接到失窃报警,监控拍到一个模糊人影,老张拿着照片在整本名册几百户居民里翻找:这人到底是谁?——这叫“大海捞针”:系统不知道你是谁,要在整个数据库里找出“最像的那一个”。 同样都是“刷脸”,前者叫人脸 1:1 验证(Verification),后者叫人脸 1:N 识别(Identification)。它们共享同一套“看脸”流程,却在问题定义、算法难度、性能开销上天差地别。本文就用老张的视角,把这两种玩法的区别讲明白,帮你搞清楚:手机解锁为什么这么快?天网又是怎么在千万人中找到目标的?

岗位关联

一句话价值:搞懂 1:1 与 1:N 的区别,是你做生物识别产品选型、读懂人脸识别技术方案的第一块基石,避免“拿验证当识别、用识别做验证”的决策翻车。

目录
  1. 可视化演示
  2. 核心概念
  3. 通用流程
  4. 特征向量
  5. 核心指标
  6. 性能差异
  7. 应用场景
  8. 产品选型
  9. 发展趋势
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示数据流通过多阶段处理管道的完整流程,支持步进查看每个阶段的处理状态和关键指标。

本节配有交互动效(进入视口后自动加载,约 3KB)。

数据流模式 数据包从输入端进入管道,依次通过5个处理阶段 每个阶段对数据进行转换、过滤或聚合操作 Throughput = Data / Time 管道吞吐量受最慢阶段限制

核心概念

门卫老张的一天被分成两种活。上午,业主忘带卡,报上房号和姓名,老张翻册子、对照片,确认“就是本人”——这是对号入座;晚上,监控拍下贼影,老张拿着照片在整本册子里找“这是谁”——这是大海捞针。同样的“认脸”动作,因为“知不知道对方是谁”而走向完全不同的道路。

人脸识别系统里也有两台“大脑”分别干这两件事。系统先“看见脸、记住脸”,但处理完同一张脸后,任务分道扬镳:1:1 验证拿着“你声称的身份”去和这一张脸比对,答案只有两个——“是本人”或“不是本人”;1:N 识别不接收任何身份线索,把这张脸和库里每一张脸都比一遍,输出一个“最像排行榜”,告诉你“这人是 3 栋 402 的李四”。

从数学本质看,1:1 是一个二分类问题(是同一个人 / 不是同一个人),用相似度分数和阈值比较即可;1:N 是一个检索问题,先从全库召回 Top-K 个候选,再决定是否接受命中。两者常出现在同一个 SDK 里,但评价指标完全不同:1:1 看“能不能拦住冒名者”,1:N 看“能不能在一堆人里找对人”。

所以老张的活并不轻松:上午对号入座只要核对一人,又快又稳;晚上大海捞针却要过目几百户,又慢又险。理解了这两本册子的区别,就拿到了理解全文的钥匙。

通用流程

老张说,不管是认熟人还是抓小偷,他看人都分四步:先看见有人进来(检测),再让人家抬头看正脸(对齐),然后心里默默记住“圆脸、高鼻梁、左边有颗痣”(特征),最后对着册子比较(比对)。

计算机人脸识别的流程惊人地相似。第一步人脸检测(Face Detection):用目标检测网络在图片里框出“哪里有人脸”;第二步人脸对齐(Face Alignment):通过眼睛、鼻尖、嘴角等关键点把脸摆正,消除歪头、侧脸、俯仰带来的变形;第三步特征提取(Feature Extraction):把对齐后的人脸图喂给深度学习网络(如 FaceNet、ArcFace),输出一串代表这张脸的数字;第四步特征比对(Matching):计算这串数字和库中数字的相似度。

关键在于第四步的“次数”:1:1 只做一次比对,1:N 要做 N 次比对。前两步“看得到、看得正”的能力,加上第三步“记得住”的能力,在两个任务中完全可以共享——这也是为什么产业界常说“同一套人脸特征提取模型,既能做验证也能做识别”。

老张恍然大悟:原来我认人快,是因为前两步练得熟;而计算机更厉害的是第三步——它能把一张脸浓缩成几百个数字。怎么浓缩?下一节揭晓。

特征向量

老张记不住每张脸,他靠“圆脸、高鼻梁、左眼角有痣”这类特征认人;计算机更彻底——它把一张脸浓缩成 128 个或 512 个数字,像一串“数字指纹”。只要两个人长得像,指纹就接近;长得不像,指纹就离得远。

这串数字叫特征向量(Embedding)。深度学习网络把“人脸图片”映射到高维空间里的一个点:同一个人的不同照片,映射到的点挨得很近;不同人的照片,点离得很远。接下来系统只需要回答一个问题:这两个点有多近?

衡量“有多近”最常用的指标是余弦相似度——比较两个向量的方向是否一致。为了不受照片亮度、缩放等“长度”干扰,通常先把向量归一化,再计算夹角余弦:

老张懂了:所谓的“像不像”,在计算机眼里就是两个点之间的夹角大小。夹角小得像双胞胎,夹角大的是陌生人。

sim(A,B)=∑i=1dAiBi∑i=1dAi2×∑i=1dBi2\text{sim}(A, B) = \frac{\sum_{i=1}^{d} A_i B_i}{\sqrt{\sum_{i=1}^{d} A_i^2} \times \sqrt{\sum_{i=1}^{d} B_i^2}}
  1. 分子点积(同步程度):把两个向量对应维度的数字两两相乘再累加,得到 $A \cdot B$。两个人脸像不像,先看这串数字“同步”得多好。
    A⋅B=∑i=1dAiBiA \cdot B = \sum_{i=1}^{d} A_i B_i
  2. 分母模长(长度归一):$\|A\|$ 表示向量 A 的长度,用两个模长相乘做分母,把“整体明暗、缩放”带来的长度差异抹掉,只比较形状方向。
    ∑i=1dAi2\sqrt{\sum_{i=1}^{d} A_i^2}
  3. 整体相似度分数:分子除以分母后,结果落在 -1 到 1 之间。越接近 1 代表两张脸越像,接近 0 表示互不相关,接近 -1 表示完全相反。实际人脸系统阈值常设在 0.5~0.7 之间。
    sim(A,B)=A⋅B∥A∥×∥B∥\text{sim}(A, B) = \frac{A \cdot B}{\|A\| \times \|B\|}

核心指标

老张最头疼的是尺度问题。放得太松,小偷溜进来;卡得太严,业主自己被堵在门外。他定的标准,直接决定小区的安全感和住户的体验——人脸识别里也有同样的纠结。

这个“尺度”叫阈值(Threshold):相似度超过阈值就放行,低于阈值就拒绝。阈值一旦定下,就同时决定两个互相拉扯的指标——误识率 FAR 和 拒识率 FRR。

老张终于明白,没有绝对“最严”的门卫,只有最合适的松紧:手机解锁怕打扰用户,阈值放宽些;金库门禁怕丢钱,阈值收紧些。

FAR=FPFP+TN,FRR=FNFN+TPFAR = \frac{FP}{FP + TN}, \qquad FRR = \frac{FN}{FN + TP}
  1. 误识率 FAR(坏人漏网)分母 $FP + TN$ 是全部“冒名者”样本,分子 $FP$ 是被错误放行的冒名者人数。FAR 越高,混进来的坏人越多。
    FAR=FPFP+TNFAR = \frac{FP}{FP + TN}
  2. 拒识率 FRR(好人被拦)分母 $FN + TP$ 是全部“本人”样本,分子 $FN$ 是被错误拒绝的本人次数。FRR 越高,本人越常被关在门外。
    FRR=FNFN+TPFRR = \frac{FN}{FN + TP}
  3. 阈值此消彼长阈值抬高,判断变严,FAR 下降、FRR 上升;阈值降低则相反。两条曲线的交点叫等错误率 EER,常用来横向对比算法在平衡点上的综合水平。
    FAR↘  ⇒  FRR↗\text{FAR} \searrow \;\Rightarrow\; \text{FRR} \nearrow

性能差异

老张的值班室墙上贴着小区 300 户的业主册子,翻一遍要十分钟。可要是让他全城 1 亿人口里找一个人呢?逐页翻册子,翻到退休也翻不完——这就是 1:N 面对的真实难题。

1:1 验证本质只做一次比对,复杂度是常数级,毫秒级完成。1:N 识别朴素的做法是把查询向量和库里每一个向量依次比一遍,耗时随库容线性增长:

老张感叹:难怪天网能“秒找人”,原来人家翻的不是纸质册子,而是一套按相似度编好索引的数字档案柜——查得快,是因为档案摆得好。

T1:N=N×t1:1  ⟶  T1:N≈O(log⁡N)×t1:1T_{1:N} = N \times t_{1:1} \;\longrightarrow\; T_{1:N} \approx O(\log N) \times t_{1:1}
  1. 线性增长(朴素检索)把 1:N 看成“连做 N 次 1:1”,总耗时是单次比对的 N 倍。1000 万人的库就要做 1000 万次余弦计算,光靠蛮力不现实。
    T1:N=N×t1:1T_{1:N} = N \times t_{1:1}
  2. 索引加速(ANN)近似最近邻算法按相似度分桶建索引,先锁定少数候选桶再做精细比对,把查找次数从 N 降到 $\log N$ 量级。
    T1:N≈O(log⁡N)×t1:1T_{1:N} \approx O(\log N) \times t_{1:1}
  3. 工程组合拳GPU 批量并行计算、先粗筛后精排、分段式索引等手段,把亿级人脸库的查询压到百毫秒级,这就是 1:N 与 1:1 工程成本的分水岭。
    t1:N≪N×t1:1t_{1:N} \ll N \times t_{1:1}

应用场景

老张的设备升级了:白天门口装了刷脸门禁,晚上监控接入了街道的天网。前者对他喊“我是谁,你确认下”,后者问他“这人是谁,你找找”——恰是两种任务的典型分工。

1:1 验证天生适合“身份已被声明”的场景。手机人脸解锁:系统知道机主是谁,只需确认“解锁的人=机主”;支付软件刷脸付款同理。政务窗口的人证合一核验:身份证芯片里存着本人照片,现场拍一张,两张一比,就知道是不是本人。

1:N 识别则服务于“身份未知”的场景。城市安防监控从千万级人脸库中查找嫌疑人,是典型的 1:N 检索;智能相册把人脸自动归类,同一个人的照片收进同一个相簿,也是 1:N“找到你是谁”的日常应用。两者的技术栈同源,但评价逻辑不同:1:1 看误识率、拒识率与响应速度,1:N 看 Top-1 命中率与检索延迟。

老张总结自己的经验:门禁是“证明你来过”,天网是“找到你是谁”,一个图快图稳,一个图全图准。

产品选型

现在有物业公司来请教老张:我们小区该上什么人脸方案?老张反问:你是想让业主刷脸回家,还是想靠摄像头抓小偷?想清楚目的,预算和难度完全是两回事。

产品选型的第一问永远是场景:业务里是否已经存在“一个人的身份声明”?如果是——登录、支付、核验、门禁,选 1:1 验证,架构简单,按次调用云 API 即可;如果没有身份线索、需要在库里找人——监控布防、客户聚类、相册整理,选 1:N 识别,需要自建特征库与检索索引。

难度与成本差异也很直接:1:1 验证只需保证单次比对的速度与阈值精度,成本可低至每次请求几分钱;1:N 要维护千万级特征库、向量索引、GPU 集群和高并发检索服务,还要持续解决“库容增大后误识风险累积”的问题,成本高出一个量级。很多时候成熟产品会做混合方案:前端用 1:1 做人证核验,后台用 1:N 做黑名单布控,两类能力互补。

老张给出他的顾问心得:先问场景,再算账——门禁便宜但解决不了“找小偷”,天网强大但别拿来当门禁用。

发展趋势

老张快退休了,新来的“智能助手”帮他守门:眼睛更尖、记性更好、还能同时盯着几百个监控画面。老张看着它,仿佛看到了人脸识别的未来。

技术上有两个方向正在同时进化。一是更大的库:十亿级人脸库的检索延迟被压到百毫秒量级,靠的是超大规模向量索引、分布式检索与模型蒸馏;二是更安全的身份:特征加密、差分隐私、端侧计算让“人脸特征”不再以明文形式流动,从源头降低数据泄露风险。

多模态融合(人脸+声纹+步态)逐步解决单一模态被遮挡、光线差时的失效问题;端侧轻量化模型让 1:1 验证在手机本地离线完成,敏感数据不出设备。对从业者而言,理解 1:1 与 1:N 的差异,是读懂这些趋势的底层语言——无论技术怎么演进,“证明你是你”与“找出你是谁”始终是两种不同的任务。

老张最后把两本册子交给了助手——一本登记册用来对号入座,一本通缉册用来大海捞针。人工智能时代的大门,终究是对这两种能力同时敞开的。

AI 应用场景

政务与金融“人证合一”核验

阶段:身份核验 / 推理部署

解决的问题:传统人工比对身份证照片效率低、易疲劳,柜员看走眼就可能被冒名开户。AI 用 1:1 验证把“现场这张脸 = 证件照上这个人”收敛成一次毫秒级比对,结果客观可复现。

具体案例:银行开户时,客户面对摄像头拍一张照,系统与身份证芯片内的照片做 1:1 比对,相似度超过阈值即自动放行,全程 1 秒以内,冒名顶替的 FAR 被压到万分之一以下。

城市安防“天网寻人”

阶段:大规模检索 / 实时推理

解决的问题:监控视频海量,人工盯屏找嫌疑人如海里捞针。AI 1:N 识别把抓拍人脸与千万级在库人脸逐一比对,返回 Top-K 候选,把“找一个人”从几天缩短到几秒。

具体案例:公安系统录入嫌疑人照片后,与地铁站、商圈摄像头的实时抓拍流比对,命中即告警;亿级库借助 ANN 索引与 GPU 集群,单次检索压到几百毫秒。

智能相册“按人归类”

阶段:聚类检索 / 端侧推理

解决的问题:手机相册里几千张照片,手动按人整理几乎不可能。AI 1:N 识别先把每张脸提取成特征向量,再与相册中已有的人脸库比对,“这人是谁”一查便知。

具体案例:相册 APP 首次开启时扫描全部照片,为每张人脸建立 1:N 检索关系,自动生成“家人”“同事”等人物相簿,聚类准确率可达 95% 以上。

Python 演示

python63 行
import mathimport randomimport time def make_embedding(dim=128, seed=0):    # 生成一个模拟的人脸特征向量, 单位化后长度为 1    rnd = random.Random(seed)    vec = [rnd.gauss(0, 1) for _ in range(dim)]    norm = math.sqrt(sum(v * v for v in vec))    return [v / norm for v in vec] def noisy_copy(vec, noise=0.05, seed=7):    # 模拟同一张脸在不同光线下的特征扰动    rnd = random.Random(seed)    raw = [v + rnd.gauss(0, noise) for v in vec]    norm = math.sqrt(sum(v * v for v in raw))    return [v / norm for v in raw] def cosine_sim(a, b):    # 向量已归一化, 点积即余弦相似度    return sum(x * y for x, y in zip(a, b)) def verify(query_vec, enrolled_vec, threshold=0.5):    # 1:1 验证: 只比一次, 超过阈值即本人    score = cosine_sim(query_vec, enrolled_vec)    return score, score >= threshold def identify(query_vec, database):    # 1:N 识别: 和库里所有人比一遍, 返回最像的人    ranked = sorted(database, key=lambda item: -cosine_sim(query_vec, item[1]))    return ranked[0] def main():    user_vec = make_embedding(seed=1001)          # 机主登记的人脸特征    query_vec = noisy_copy(user_vec)              # 机主现场采集的特征     score, passed = verify(query_vec, user_vec, 0.5)    print("1:1 verify: score=%.4f passed=%s" % (score, passed))     impostor = make_embedding(seed=999)    score2, passed2 = verify(impostor, user_vec, 0.5)    print("1:1 verify: score=%.4f rejected=%s" % (score2, not passed2))     database = [(uid, make_embedding(seed=uid)) for uid in range(5001, 10000)]    database.append((1001, user_vec))             # 把机主混入人群库    rnd = random.Random(123)    rnd.shuffle(database)     t0 = time.time()    uid, vec = identify(query_vec, database)    cost = (time.time() - t0) * 1000    print("1:N identify: hit=%s score=%.4f cost=%.3f ms" %          (uid, cosine_sim(query_vec, vec), cost))     for n in (100, 500, 1000, 5000):        sub = database[:n]        t0 = time.time()        identify(query_vec, sub)        t1 = time.time()        print("db size %5d: linear search %.3f ms" % (n, (t1 - t0) * 1000)) if __name__ == "__main__":    main()
目的:用随机向量模拟人脸特征,演示 1:1 验证(单次比对 + 阈值判断)与 1:N 识别(全库检索排序)的实现差异,并实测 1:N 耗时随库容线性增长。
  1. vec = [rnd.gauss(0, 1) for _ in range(dim)]用高斯随机数模拟人脸特征向量,真实系统里这串数字来自深度学习网络的输出。
  2. norm = math.sqrt(sum(v * v for v in vec))计算向量模长,为归一化做准备。
  3. return [v / norm for v in vec]归一化成单位向量,让后续相似度只比方向不比长度。
  4. def noisy_copy(...)模拟同一张脸在不同光线角度下特征略有波动,所以验证结果不是 100%,而是一个相似度分数。
  5. return sum(x * y for x, y in zip(a, b))向量归一化后点积就是余弦相似度,一行代码完成核心计算。
  6. score, score >= threshold1:1 的本质:一个分数加一个阈值,输出“是/否”。
  7. sorted(database, key=lambda item: -cosine_sim(...))1:N 的朴素实现:把库中所有人比一遍再排序取第一。
  8. database.append((1001, user_vec))把机主悄悄混进 5000 人里,模拟“大海捞针”。
  9. for n in (100, 500, 1000, 5000)实测验证:库容翻倍,耗时近似线性翻倍。

常见误区

误区我觉得 1:1 只比一张脸,肯定比 1:N 安全多了,毕竟 1:N 要从那么多人里找人,找错人的概率更大。

正解安全性不由“比对几次”决定,而由阈值、算法精度共同决定。1:1 若阈值定得过低,同样会把冒名者放进来;1:N 因为候选多,误识风险会随库容累积,所以 1:N 通常要求更高的阈值和更严的复核。安全是“阈值 + 算法 + 场景”的系统结果,不是任务类型的结果。

为何常见:人们直觉上把“比较次数少”等同于“更可靠”,忽略了阈值和指标才是关键变量。

误区1:N 不就是把这张脸和库里的脸各做一次 1:1 吗?做 N 次 1:1 就完事了,没什么特别的。

正解原理上对,工程上不可行。百万级库用暴力比对,延迟和成本都不可接受。工程实现要用向量索引(ANN)、GPU 批量计算、先粗筛后精排等手段,把 O(N) 降到近似 O(log N)。所以“1:N 等于 N 次 1:1”只是概念模型,不是实现方式。

为何常见:教科书上 1:N 的朴素定义就是 N 次比对,初学者很容易把它当成实际实现。

误区把相似度阈值调到 0.9 以上,肯定谁都冒充不了,系统绝对安全。

正解阈值升高会同时推高拒识率 FRR,本人频繁被误拒,用户体验崩塌。正确做法是按场景目标在 FAR 与 FRR 之间取平衡:手机解锁宁松勿紧(FRR 要低),金库门禁宁紧勿松(FAR 要低),并借助等错误率 EER 对比算法综合水平。

为何常见:只盯着“防坏人”一个维度,忽略了“误伤好人”的成本,忘了两个指标此消彼长。

误区反正都是人脸比对,我用 1:1 当 1:N 用,或者反过来,应该差不多吧。

正解两者问题定义不同:1:1 需要身份声明(你知道该比谁),1:N 不需要身份声明(要在库里找是谁)。没有身份声明时无从做 1:1;反过来,把 1:N 用在“只需确认本人”的场景是性能浪费。选型错误会导致要么跑不通、要么成本爆炸。

为何常见:二者共享检测、对齐、特征提取流程,又常出现在同一个 SDK 里,给人“差不多”的错觉。

面试题

Q1. 1:1 人脸验证的核心任务是什么?

单选题 · easy

  • A.从一群人里找出他是谁
  • B.核验这张脸是否为其本人← 正确答案
  • C.统计画面里的人脸数量
  • D.美化照片让脸变得更好看

答案:B。1:1 验证的核心是“证明你是你”:系统已知你声称的身份,只需把当前脸与已登记的那张脸比对,输出“是/否”。A 是 1:N 的任务,C 是人脸检测的任务,D 是图像美化的任务。

Q2. 下列哪个场景属于 1:N 识别?

单选题 · easy

  • A.手机刷脸解锁屏幕
  • B.人脸识别考勤打卡
  • C.天网寻找嫌疑人← 正确答案
  • D.刷脸支付确认本人

答案:C。天网在监控画面中找嫌疑人是典型的 1:N:没有身份声明,要在库里检索“是谁”。手机解锁、考勤打卡、刷脸支付都是先确定“该是谁”再做 1:1 验证。

Q3. 余弦相似度越接近哪个值,说明两张人脸特征越像?

单选题 · mid

  • A.值越接近 -1
  • B.值越接近 0
  • C.值越接近 1← 正确答案
  • D.值越接近 π

答案:C。余弦相似度衡量两个特征向量的方向一致性,归一化后值域为 [-1, 1],越接近 1 表示方向越一致,即两张脸越像;0 代表无相关性,-1 代表方向完全相反。

Q4. 把相似度阈值调高,会产生什么效果?

单选题 · mid

  • A.误识率和拒识率都变高
  • B.误识率变高拒识率变低
  • C.误识率变低拒识率变高← 正确答案
  • D.误识率和拒识率都变低

答案:C。阈值是判定“是否同一人”的门槛。调高阈值后,冒名者相似度更难达标,FAR 下降;但本人受光线角度影响也可能不达标,FRR 上升——两者此消彼长。

Q5. 1:N 识别库容到千万级时,工程上常用哪种优化?

单选题 · hard

  • A.采用 ANN 索引近似检索← 正确答案
  • B.暴力遍历全体库中人脸
  • C.把相似度阈值调到最高
  • D.把所有照片转成黑白的

答案:A。千万级库容下暴力比对不可行,工程上常用近似最近邻(ANN)索引:树形结构、哈希分桶、图索引先锁定候选集再做精排。调高阈值和转黑白照片不能解决检索规模问题。

Q6. 人脸识别通用流程包含哪些环节?

多选题 · mid

  • A.人脸检测与人脸对齐← 正确答案
  • B.深度网络提取特征← 正确答案
  • C.计算特征间的相似度← 正确答案
  • D.把照片压缩成小文件

答案:ABC。完整流程是检测 → 对齐 → 特征提取 → 比对,A、B、C 依次对应前三步与比对环节。D“压缩文件”是文件存储概念,与人脸识别流程无关。

Q7. 手机人脸解锁本质上是哪类任务?

单选题 · easy

  • A.1:N 的大规模识别
  • B.人脸关键点检测
  • C.1:1 的身份验证← 正确答案
  • D.通用图像的分类

答案:C。手机解锁时系统已知机主身份,只需验证“解锁的人 = 机主”,属于 1:1 验证,不需要在全库中检索“你是谁”。B 是对齐环节的子任务,D 与身份判断无关。

Q8. 以下哪些是 1:N 识别比 1:1 验证更困难的原因?

多选题 · hard

  • A.库容越大检索耗时越长← 正确答案
  • B.缺少身份线索只能盲比← 正确答案
  • C.候选越多误识别风险高← 正确答案
  • D.特征提取流程完全不同

答案:ABC。1:N 的难点在于:库容大导致检索耗时上升;没有身份线索只能与所有人盲比;候选越多,出现高分冒名者的概率越大。但特征提取流程与 1:1 完全相同,D 错误。

Q9. 误识率 FAR 描述的是下列哪种情况?

单选题 · mid

  • A.把照片误判成视频
  • B.把侧脸误判成正脸
  • C.把本人错误地拒之门外
  • D.把冒名者错误地放进来← 正确答案

答案:D。FAR 误识率衡量“冒名者被放行”的比例,即把坏人当好人放进来。C 是拒识率 FRR 描述的情形,A、B 属于输入质量与姿态问题,不属于 FAR。

Q10. 下列属于 1:1 验证应用场景的有?

多选题 · easy

  • A.政务窗口人证合一核验← 正确答案
  • B.手机刷脸支付确认← 正确答案
  • C.智能相册归集相同人脸
  • D.天网追查在逃嫌疑人

答案:AB。政务人证合一和刷脸支付都是“已知身份、确认本人”,属于 1:1;智能相册按人脸归类和天网找嫌疑人都是在身份未知时检索,属于 1:N。