解决活体检测与人脸比对问题

为什么活体检测分数会偏低,为什么人脸比对有时会失败或不应该通过却通过了,以及你可以在工作流中调整哪些设置。

Short answer

先区分两件事:摄像头是否正常工作,以及检测本身是否失败?摄像头从未打开 属于环境问题(应用内浏览器、权限被拒绝、摄像头被占用)。检测失败则属于阈值 或采集质量问题。

活体检测用于确认摄像头前是一个真实的人;人脸比对用于确认这个人就是证件上的那个人。当其中任意一项得分偏低或出现警告时,几乎总能归结到几种常见原因之一。

#摄像头从未打开

在假定生物识别检测失败之前,先排除这种情况 - 它在用户报告中的表现和「自拍步骤没有生效」是一样的:

  • 应用内浏览器。 在另一个应用内置的浏览器中打开的核验链接,通常根本无法获取摄像头权限。请让用户在手机的常用浏览器中打开链接。
  • 权限之前被拒绝过。 一旦有人拒绝某个网站的摄像头访问权限,浏览器会记住这个选择,流程也无法再次弹出请求。他们需要在网站设置中重新启用它。
  • 摄像头已被占用。 另一个标签页、应用或视频通话占用了摄像头就会导致这种情况。在某些设备上,麦克风权限请求也可能连带占用摄像头。
  • 设备根本没有摄像头。 例如没有摄像头的桌面用户。是否在桌面端提供自拍步骤,是一个工作流设置。

#活体检测得分低或未检测到人脸

  • 未检测到人脸 - 光线不佳、人脸不在画面内,或采集过程中出现技术问题。请让用户在光线更好的环境下重新拍摄,保持人脸居中且没有遮挡。
  • 活体检测分数偏低 - 可能是真实的低质量采集(光线不佳、摄像头分辨率低),也可能是可疑的仿冒行为(照片、屏幕重放、面具)。如果你在真实用户身上看到这种情况,建议要求重新提交,而不是直接拒绝。
  • 检测到仿冒攻击LIVENESS_FACE_ATTACK)- 系统发现了强有力的仿冒证据。这种情况是故意设计的,会自动拒绝该会话。
A session in the Didit console with the Liveness tab and the More options menu
  1. 先看采集到的自拍照 - 大多数失败在这里就能看出来。
  2. 「事件」会告诉你用户是否重试过,以及重试了多少次。
  3. 如果问题出在采集上,可以从这里重新打开会话,让用户再试一次。
从会话入手排查:先看采集内容,再看时间线。

如果低活体检测分数集中出现在特定设备上,请检查你的工作流使用的是哪种方式:主动式方法(3D Flash、3D Action)在老旧手机和光线昏暗的环境中,明显比被动活体检测更难通过。参见活体检测的工作原理

#人脸比对结果看起来不对

人脸比对会将自拍照与证件上的照片进行比较,得出一个相似度分数,再对照你工作流设置的阈值:

  • 分数低于审核阈值 - 会话将进入审核中,等待人工确认。
  • 分数低于拒绝阈值 - 会话会被自动拒绝。
  • 自拍照或证件照片中未找到人脸 - 通常会提示用户重新拍摄自拍照(会有几次尝试机会),之后才会将其视为最终结果。

这个分数还会受到一些与身份本身无关的因素影响:陈旧的证件照片、严重磨损的卡片、眼镜、帽子、拍照后新长出的胡须,或证件上分辨率很低的证件照。这些都会合理地拉低真实本人的得分。

如果一位真实用户反复无法通过人脸比对,或者你发现了一些你认为不应该通过的通过案例,解决方法是调整审核阈值和拒绝阈值。参见人脸比对分数与阈值

#真实的老客户被标记为重复

活体检测步骤还会针对你已经核验过的所有人运行一次 1:N 人脸检索。你自己的回头客户会与自己匹配上 - 这是预期行为,而不是欺诈信号。请始终如一地传入 vendor_data,以便两次会话都能归结到同一个人。参见重复账户与人脸检索

#减少证件采集环节的欺诈

如果你发现用户提交的是证件的照片而不是实时扫描实体证件,或者有第三方在替他人拍摄证件,你工作流中的证件核验和活体检测设置可以帮你收紧这一环节:

  • 将采集方式限制为仅限实时摄像头,去掉上传路径。
  • 使用跨摄像头人脸比对检查,它会将证件采集期间摄像头拍到的人脸与自拍照进行比对,并将不匹配的情况转入审核或拒绝,而不是悄无声息地放行。
Important

去掉上传路径会提高保障级别,但也会降低完成率。使用受限设备、摄像头损坏, 或桌面端摄像头质量较差的用户会直接失败,而不是回退到其他方式。请根据具体 流程判断哪一点更重要,而不是在所有流程中一刀切地应用它。

#同一个人但证件很旧的情况

对于证件照拍摄于十年前的情况,无论怎么调整阈值都很难可靠地判断正确。更好的解决方案是使用更强的检查方式:NFC 会直接从芯片中读取证件照,这与签发机构持有的图像完全相同,从而彻底消除了印刷质量这个变量。参见NFC 芯片核验

#相关文章