人脸比对分数与阈值

人脸比对返回的是一个相似度分数,具体每个区间怎么处理由你决定 - 以下是如何设置审核和拒绝阈值,既不会把审核队列淹没,也不会放任欺诈通过。

Short answer

人脸比对返回的是一个相似度分数,而不是简单的是或否。你需要设置两个阈值:低于拒绝阈值的会话会被拒绝, 介于两个阈值之间的会进入审核,高于审核阈值的会通过。 把阈值设在哪里是一项政策决策,也是同时影响你的欺诈率和审核队列的主要杠杆。

#这个分数意味着什么

Didit 控制台中的一个会话,Liveness 标签页里保存着人脸比对结果
  1. Liveness 中保存着自拍照、活体检测判定结果和人脸比对分数。
  2. Overview 显示了这个分数对会话判定结果产生了什么影响。
分数本身,以及它对判定结果产生的影响,都能在会话中看到。

人脸比对 1:1 将自拍照与证件上的证件照进行比对,返回一个相似度分数。 它衡量的是两张脸有多相似 - 从来都不是对身份的确定性证明,因为任何生物识别比对都无法做到这一点。

这正是平台给你两个阈值、而不是一个单一判定的原因。

#三个区间

区间处理方式
高于审核阈值自动通过
介于两个阈值之间会话进入审核中,交由人工判断
低于拒绝阈值会话自动被拒绝,附带 LOW_FACE_MATCH_SIMILARITY

两个阈值都在工作流的人脸比对步骤中设置,因此不同的工作流可以承载不同的风险偏好 - 一个高价值的开户流程和一个低风险的年龄检查,不需要用同一套设置。

#什么会真正拉低真实用户的分数

在调整任何设置之前,先了解哪些因素会影响真实用户的分数:

  • 证件照片的拍摄年份。 十年前拍摄的证件照,与本人的相似度自然会更低。
  • 印刷与扫描质量。 一些国家的证件照印得又小又低对比度;一张磨损的卡片情况更差。
  • 遮挡。 眼镜、帽子、浓妆,或者拍照时还没留的胡子。
  • 光线与摄像头。 昏暗的房间和廉价的前置摄像头,都会拉低相似度。

以上这些都不是欺诈,而且在某些市场比其他市场更常见。 如果你的用户群体偏向持有较旧的证件,一个针对崭新护照调优出来的阈值,会拒绝真实用户。

#如何选择阈值

这个取舍是对称且不可避免的:

  • 更严格的阈值能抓住更多冒名者,但也会把更多真实用户送去审核或拒绝。
  • 更宽松的阈值能放过更多真实用户,但也会放过更多冒名者。

一个切实可行的设置方法:

  1. 从默认值开始,先收集数据

    在改动任何设置之前,先让真实流量在默认设置下跑几百个会话。你无法凭直觉来调优。

  2. 查看进入审核区间的会话,弄清原因

    打开审核区间的会话。如果审核人员几乎全部批准通过,说明你的审核阈值定得太高 - 它只是在制造工作量,却没有产生任何有意义的判定。

  3. 查看被拒绝的会话

    如果被拒绝的会话大多是持有旧证件的真实用户,说明你的拒绝阈值对你的用户群体来说定得太高了。

  4. 一次只调整一个阈值

    改动一个,保持另一个不变,再重新测量。同时调整两个阈值,你无法判断到底是哪个起了作用。

Important

不要为了让某一个具体投诉消失而调整阈值。一个用户被拒绝并不是一个信号,为了让某一个案例通过而放宽阈值, 同样会为每一个冒名者放宽阈值。请用人工审核判定或重新提交来解决个案,只有出现规律性问题时才调整阈值。

#放宽审核区间并非没有代价

一个宽泛的审核区间让人感觉更安全 - 没有任何会话被自动拒绝,每一个临界情况都有人工看过。 但实际上,它把一个判定问题变成了一个人力问题:队列变长,审核变得不那么仔细,实际判定质量反而下降。 参见会话卡在审核中

#更强的检查胜过更好的阈值

如果人脸比对是你的薄弱环节,通常最有效的改动往往不是阈值本身:

  • NFC 从证件芯片中读取证件照 - 这是签发机构自己存档的图像,画质最高 - 从而消除了印刷质量退化这个变量。
  • 主动活体检测提高了呈现攻击的成本,因此一个临界分数是攻击的可能性也会随之降低。

#上线前测试你的阈值

沙盒专门为此准备了场景:decline_face_match_low_similarity 用于模拟明确的失败, review_face_match_borderline 用于模拟落在审核区间内的分数。 在真实用户遇到之前,用它们来确认你的工作流是否真的把每个区间路由到了你以为的地方。 参见在沙盒中测试