概述
年龄估算始终在单次调用中运行两项检测(被动活体检测和年龄回归模型),因此其警告会流经共享的活体检测管道,并标记有功能字段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)。
生成的警告
示例
liveness_checks[].warnings[])中,每个警告还带有一个 node_id,用于标识触发该警告的工作流节点。
警告类型
根据您应用的配置,系统会为每个风险分配一个严重程度。严重程度分为三类:相关内容
- 年龄估算概述 — 功能表现、定价以及决策逻辑。
- 年龄估算报告 — 独立 API 和嵌入式工作流取值的完整响应结构。
- 独立 API 参考 —
POST /v3/age-estimation/请求和响应。 - 被动活体检测 — 年龄估算响应中使用的共享活体检测模型。
- 数据模型 — 年龄估算 — 规范的逐字段架构。