Обзор
Оценка возраста всегда выполняет две проверки за один вызов — пассивную проверку живости и модель регрессии возраста, — поэтому её предупреждения проходят через общий конвейер проверки живости и помечаются функцией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/. - Пассивная проверка живости — общая модель проверки живости, используемая в ответах оценки возраста.
- Модели данных — оценка возраста — эталонная схема с описанием каждого поля.