跳转到主要内容
年龄估算功能在组合的年龄与被动活体检测中触发风险信号时会发出警告:预测年龄低于您的最低要求、无法计算年龄、主体未通过活体检测、未检测到人脸,或检测到呈现攻击。本页面列出了每个代码、触发条件以及如何配置工作流响应。

概述

年龄估算始终在单次调用中运行两项检测(被动活体检测和年龄回归模型),因此其警告会流经共享的活体检测管道,并标记有功能字段 LIVENESS。它们会显示在报告中的 age_estimation.warnings[](独立 API)或 liveness_checks[].warnings[](嵌入工作流中)下。警告对象的结构说明文档位于 数据模型 - 警告对象。 生成来源:
  • 独立 API:该 endpoint 会生成拒绝触发条件下列出的五种警告。
  • 工作流:共享的活体检测生成来源加上特定于年龄的检测。年龄警告仅在年龄估算流程(自适应年龄验证工作流或 AGE_ESTIMATION 工作流节点)中触发;普通的活体检测步骤会报告预估年龄,但绝不会触发年龄警告。
严重程度:五种自动拒绝风险(NO_FACE_DETECTED、LIVENESS_FACE_ATTACK、FACE_IN_BLOCKLIST、AGE_BELOW_MINIMUM、AGE_NOT_DETECTED)始终为 log_type: "error" 并强制设为 Declined;其余风险则根据阈值或配置的操作判定为 error / warning / information。

拒绝触发条件

在独立 API 上,只要触发任何警告,决策即为 Declined:
  • 年龄低于阈值:预测年龄严格低于 age_estimation_decline_threshold(默认值为 18;0 表示禁用年龄检测)。触发 AGE_BELOW_MINIMUM。
  • 无法计算年龄:无法估算人脸年龄(未检测到人脸,或没有可用于年龄模型的人脸)。触发 AGE_NOT_DETECTED。
  • 活体检测分数达到或低于阈值:score <= face_liveness_score_decline_threshold(默认值为 30);null 分数视为 0。触发 LOW_LIVENESS_SCORE。当触发 NO_FACE_DETECTED 时会被抑制,两者互斥。
  • 未检测到人脸:活体检测模型未发现人脸。触发 NO_FACE_DETECTED。
  • 呈现攻击:活体检测模型标记了屏幕、打印照片、面具或其他欺骗攻击。触发 LIVENESS_FACE_ATTACK。
在工作流中,年龄检测会将截断后的预估年龄(整岁)与配置的阈值进行比较:
  • 启用身份证件验证后备方案时(enable_id_verification_fallback,默认开启):低于 borderline_minimum_age_threshold(默认值为 18)的年龄会触发 AGE_BELOW_MINIMUM;处于临界区间的年龄(最高至 borderline_maximum_age_threshold)将继续进入证件验证而不是触发警告,且绝不会触发 AGE_NOT_DETECTED,未检测到年龄也会路由至证件验证。
  • 禁用后备方案时:未估算出年龄会触发 AGE_NOT_DETECTED,低于 minimum_age_threshold(默认值为 18)的年龄会触发 AGE_BELOW_MINIMUM。

可配置风险

以下风险允许您根据每个工作流设置调整阈值或操作: 工作流会话还会对照您的名单筛查人脸:FACE_IN_BLOCKLIST 始终自动拒绝(error),而 POSSIBLE_FACE_IN_BLOCKLIST 会将该会话移至“审核中”(In Review)。

生成的警告

示例

在工作流决策 payload(liveness_checks[].warnings[])中,每个警告还带有一个 node_id,用于标识触发该警告的工作流节点。

警告类型

根据您应用的配置,系统会为每个风险分配一个严重程度。严重程度分为三类:

相关内容

最后修改于 2026年11月7日