Определение возраста
Работа с методами API определения возраста#
Warning
Для использования методов необходимо использовать токен авторизации. Методы доступны только при использовании токена. В качестве авторизации используется Auth: HTTPBearer, то есть будет выдан токен UUID4, который нужно будет использовать при использовании описанных выше методов.
API Определения возраста включает в себя следующие методы:
- Определение возраста на изображении
- Получение конкретного результата распознавания возраста по task-id
- Получение истории результатов распознавания возраста
Методы не подразумевают сохранения изображения в базу данных. Определение возраста происходит за счет классификации изображения и его аналитики в моменте, 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)
}
}
- Идентификационный номер распознвания
- Время создания записи
- Тип распознавания
- Cтатус запроса: complete - успех , failed - Ошибка распознавания
- Распознанный возраст
- Является ли человек на изображении взрослым
- Результат валидации 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)
}
}
- тип ошибки при распознавании: 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"
}
}
]
}