Перейти к содержанию

Определение возраста

Работа с методами API определения возраста#

Warning

Для использования методов необходимо использовать токен авторизации. Методы доступны только при использовании токена. В качестве авторизации используется Auth: HTTPBearer, то есть будет выдан токен UUID4, который нужно будет использовать при использовании описанных выше методов.

API Определения возраста включает в себя следующие методы:

  1. Определение возраста на изображении
  2. Получение конкретного результата распознавания возраста по task-id
  3. Получение истории результатов распознавания возраста

Методы не подразумевают сохранения изображения в базу данных. Определение возраста происходит за счет классификации изображения и его аналитики в моменте, face-id или векторное представление лица в БД не сохраняется. Хранятся только результаты запроса, которые можно получить с помощью методов 2 и 3. Перед определением возраста изображение проходит проверку на liveness атаку и проверку качества изображения (замыленное, несколько лиц на фото и т.д.).

1. Определение возраста на изображении#

Метод POST /v1/events/age_detection позволяет получить результат распознавания возраста. В запросе поле image (изображение) является обязательным и представлено в формате multipart/form-data.

Ограничения: 1. Метод позволяет отправить только 1 фото 2. На изображении должно быть только 1 лицо 3. Размер лица на изображении должен быть больше 244x224 пикселей

В случае успешного распознавания вернется ответ вида:

{
  "id": "5583a204-6e53-4d86-8127-f5fa602690ee",  // (1)
  "creation_date": "2023-05-19T09:35:29.329966", // (2)
  "type": "age_detection",                       // (3)
  "status": "complete",                          // (4)
  "result": {
    "age": 62,                                   // (5)
    "is_adult": true,                            // (6)
    "exif_validate": "empty"                     // (7)
  }
}

  1. Идентификационный номер распознвания
  2. Время создания записи
  3. Тип распознавания
  4. Cтатус запроса: complete - успех , failed - Ошибка распознавания
  5. Распознанный возраст
  6. Является ли человек на изображении взрослым
  7. Результат валидации exif_data: valid - успешно прошло валидацию, suspicious - вызывает сомнения, compromised - подмена данных, empty - данные отсутствуют

При ошибке распознавания, ответ будет выглядеть слеющим образом:

{
  "id": "3cd3e529-62de-4e67-8416-553dcb2370a0",
  "creation_date": "2023-05-19T10:19:51.032599",
  "type": "age_detection",
  "status": "failed",
  "result": {},
  "error": {                                     
    "type": "many_faces"  // (1)
  }
}

  1. тип ошибки при распознавании: many_faces - в кадре более одного лица, no_face - в кадре лицо не обнаружено, image_quality - проблемы с качеством изображения, is_not_liveness - спуфинг атака, corrupted_image - битый файл

2. Получение конкретного результата распознавания возраста#

Метод GET /v1/events/age_detection/{age_detection_id} выдает ответ ранее полученного распознавания на основе его идентификационного номера{age_detection_id}. Параметр age_detection_idявляется обязательным.

  • Если запись переданного идентификационного номера существует, система выдаст ответ данного распознавания. Ответы полностью совпадают с примерами, описанными в п.1 Определение возраста на изображении.
  • Если запись переданного идентификационного номера отсутствуте, система выдаст ошибку с соответствующей информации.

3. Получение истории результатов распознавания возраста#

Метод GET /v1/events/age_detection позволяет получить список существующих распознаваний в системе. Для отображения (пагинации) результатов используется обязательные параметры limit и offset.

  • limit представляет собой целочисленное значение, определяющее ограничение на количество результатов. По умолчанию установлено значение 50.
  • offset также является целочисленным значением, определяющим смещение для пагинации результатов. Значение по умолчанию - 0.
{
  "limit": 50,
  "offset": 0,
  "total": 0, 
  "items": [
    {
      "id": "2cc172ba-9b03-4a76-a734-c4f483a61ece",
      "creation_date": "2023-05-19T11:44:46.680076",
      "type": "age_detection",
      "status": "complete",
      "result": {
        "age": 62,
        "is_adult": true,
        "exif_validate": "empty"
      }
    },
    {
      "id": "3cd3e529-62de-4e67-8416-553dcb2370a0",
      "creation_date": "2023-05-19T10:19:51.032599+00:00",
      "type": "age_detection",
      "status": "failed",
      "result": {},
      "error": {
        "type": "many_faces"
      }
    }
  ]
}