Начиная с версии 1.1.0, Oz API Lite может принимать изображения и шаблоны в формате base64, а также возвращать в этом формате шаблоны биометрических проверок. Для включения этой опции необходимо в headers запроса передать Content-Transfer-Encoding = base64.
version – проверка версии компонентов
С помощью этого метода можно узнать, какие версии компонентов используются (начиная с версии 1.1.1).
Call GET /version
Входные параметры
-
Пример запроса
GET localhost/version
Успешный ответ метода
В случае успешного ответа метод возвращает сообщение со следующими параметрами.
Тип контента HTTP-ответа: “application/json”.
Выходные параметры
Наименование параметра
Тип
Описание
core
String
Версия API Lite.
tfss
String
Версия TFSS.
models
[String]
Массив версий моделей, где каждая запись содержит информацию о названии модели и ее версии.
health – проверка состояния биометрического процессора biometry
С помощью этого метода можно проверить, корректно ли работает процессор.
Вызов метода: GET /v1/face/pattern/health
Входные параметры
-
Пример запроса
GET localhost/v1/face/pattern/health
Успешный ответ метода
В случае успешного ответа метод возвращает сообщение со следующими параметрами.
Тип контента HTTP-ответа: “application/json”.
Выходные параметры
Наименование параметра
Тип
Описание
status
Int
0 – биометрический процессор работает корректно.
3 – биометрический процессор неработоспособен.
message
String
Сообщение.
Пример ответа
200 OK
Content-Type: application/json
{“status”: 0, message: “”}
extract – извлечение биометрического шаблона
Метод предназначен для извлечения биометрического шаблона из изображения.
Тип контента HTTP-запроса: “image/jpeg” или “image/png”
Вызов метода: POST /v1/face/pattern/extract
Входные параметры
Наименование параметра
Тип
Описание
Не указывается*
Stream
Обязательный параметр. Изображение для извлечения биометрического шаблона.
В заголовочном поле “Content-Type” должен быть указан тип контента.
*
Для параметров типа Stream имя указывать не нужно.
Для передачи данных в base64 необходимо в headers запроса передать Content-Transfer-Encoding = base64.
Пример запроса
POST localhost/v1/face/pattern/extract
Content-Type: image/jpeg
{Поток байт изображения}
Успешный ответ метода
В случае успешного ответа метод возвращает биометрический шаблон.
Тип контента HTTP-ответа: “application/octet-stream”.
Если в headers запроса передавалось поле Content-Transfer-Encoding со значением base64, то шаблон тоже вернется в base64.
Выходные параметры
Наименование параметра
Тип
Описание
Не указывается*
Stream
Биометрический шаблон, полученный из изображения
*
Для параметров типа Stream имя указывать не нужно.
Пример ответа
200 OK
Content-Type: application/octet-stream
{Поток байт биометрического шаблона}
compare – сравнение биометрических шаблонов
Метод предназначен для сравнения двух биометрических шаблонов.
Тип контента HTTP-запроса: “multipart/form-data”.
Вызов метода: POST /v1/face/pattern/compare
Входные параметры
Наименование параметра
Тип
Описание
bio_feature
Stream
Обязательный параметр.
Первый биометрический шаблон.
bio_template
Stream
Обязательный параметр.
Второй биометрический шаблон.
Для передачи данных в base64 необходимо в headers запроса передать Content-Transfer-Encoding = base64.
Пример запроса
POST localhost/v1/face/pattern/compare
Content-Type: multipart/form-data;
boundary=--BOUNDARY--
Content-Length: Длина тела сообщения
--BOUNDARY--
Content-Disposition: form-data; name=”bio_feature”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--
Content-Disposition: form-data; name=”bio_template”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--
Успешный ответ метода
В случае успешного ответа метод возвращает результат сравнения двух шаблонов.
Тип контента HTTP-ответа: “application/json”.
Выходные параметры
Наименование параметра
Тип
Описание
score
Float
Результат сравнения двух шаблонов
decision
String
Рекомендуемое решение по полученному score.
approved – положительный результат. Лица совпадают.
operator_required – требуется дополнительная проверка оператора.
declined – негативный результат. Лица не совпадают.
Пример ответа
200 OK
Content-Type: application/json
{“score”: 1.0, “decision”: “approved”}
verify – биометрическая верификация
Метод объединяет два описанных выше метода extract и compare – извлекает биометрический шаблон из изображения и сравнивает его с другим биометрическим шаблоном, который также передается в запросе.
Тип контента HTTP-запроса: “multipart/form-data”.
Вызов метода: POST /v1/face/pattern/verify
Входные параметры
Наименование параметра
Тип
Описание
sample
Stream
Обязательный параметр.
Изображение для извлечения биометрического шаблона.
bio_template
Stream
Обязательный параметр.
Биометрический шаблон, с которым производится сравнение.
Для передачи данных в base64 необходимо в headers запроса передать Content-Transfer-Encoding = base64.
Пример запроса
POST localhost/v1/face/pattern/verify
Content-Type: multipart/form-data;
boundary=--BOUNDARY--
Content-Length: Длина тела сообщения
--BOUNDARY--
Content-Disposition: form-data; name=”bio_template”
Content_type: application/octet-stream
{Поток байт биометрического шаблона}
--BOUNDARY--
Content-Disposition: form-data; name=”sample”
Content_type: image/jpeg
{Поток байт изображения}
--BOUNDARY--
Успешный ответ метода
В случае успешного ответа метод возвращает результат сравнения двух биометрических шаблонов.
Тип контента HTTP-ответа: “application/json”.
Выходные параметры
Наименование параметра
Тип
Описание
score
Float
Результат сравнения двух шаблонов
decision
String
Рекомендуемое решение по полученному score.
approved – положительный результат. Лица совпадают.
operator_required – требуется дополнительная проверка оператора.
declined – негативный результат. Лица не совпадают.
Пример ответа
200 OK
Content-Type: application/json
{“score”: 1.0, “decision”: “approved”}
extract_and_compare – извлечение из двух изображений и сравнение полученных шаблонов
Метод объединяет два описанных выше метода extract и compare. Он извлекает биометрические шаблоны из двух изображений, сравнивает их и в качестве ответа передает результат сравнения.
Тип контента HTTP-запроса: “multipart/form-data”.
Вызов метода: POST /v1/face/pattern/extract_and_compare
Входные параметры
Наименование параметра
Тип
Описание
sample_1
Stream
Обязательный параметр.
Первое изображение.
sample_2
Stream
Обязательный параметр.
Второе изображение
Для передачи данных в base64 необходимо в headers запроса передать Content-Transfer-Encoding = base64.
Пример запроса
POST localhost/v1/face/pattern/extract_and_compare
Content-Type: multipart/form-data;
boundary=--BOUNDARY--
Content-Length: Длина тела сообщения
--BOUNDARY--
Content-Disposition: form-data; name=”sample_1”
Content_type: image/jpeg
{Поток байт изображения}
--BOUNDARY--
Content-Disposition: form-data; name=”sample_2”
Content_type: image/jpeg
{Поток байт изображения}
--BOUNDARY--
Успешный ответ метода
В случае успешного ответа метод возвращает результат сравнения двух извлеченных биометрических шаблонов.
Тип контента HTTP-ответа: “application/json”.
Выходные параметры
Наименование параметра
Тип
Описание
score
Float
Результат сравнения двух извлеченных шаблонов
decision
String
Рекомендуемое решение по полученному score.
approved – положительный результат. Лица совпадают.
operator_required – требуется дополнительная проверка оператора.
declined – негативный результат. Лица не совпадают.
Пример ответа
200 OK
Content-Type: application/json
{“score”: 1.0, “decision”: “approved”}
compare_n – сравнение биометрических шаблонов 1:N
Метод предназначен для сравнения биометрических шаблонов в режиме 1:N.
Тип контента HTTP-запроса: “multipart/form-data”.
Вызов метода: POST /v1/face/pattern/compare_n
Входные параметры
Наименование параметра
Тип
Описание
template_1
Stream
Обязательный параметр.
Биометрический шаблон – кандидат(1).
templates_n
Stream
Обязательный параметр.
Список(N) биометрических шаблонов. Каждый биометрический шаблон должен быть передан отдельно, но необходимо чтобы имя параметра было templates_n. Также требуется, чтобы в заголовке был передан filename.
Для передачи данных в base64 необходимо в headers запроса передать Content-Transfer-Encoding = base64.
Метод объединяет два описанных выше метода extract и compare_n. Метод извлекает биометрический шаблон из изображения и сравнивает его cо списком биометрических шаблонов, которые также передаются в запросе.
Тип контента HTTP-запроса: “multipart/form-data”.
Вызов метода: POST /v1/face/pattern/verify_n
Входные параметры
Наименование параметра
Тип
Описание
sample_1
Stream
Обязательный параметр.
Изображение - кандидат(1).
templates_n
Stream
Обязательный параметр.
Список(N) биометрических шаблонов. Каждый биометрический шаблон должен быть передан отдельно, но необходимо чтобы имя параметра было templates_n. Также требуется, чтобы в заголовке был передан filename.
Для передачи данных в base64 необходимо в headers запроса передать Content-Transfer-Encoding = base64.
extract_and_compare_n – извлечение и сравнение полученных шаблонов 1:N
Метод объединяет два описанных выше метода extract и compare_n. Он извлекает биометрические шаблоны из изображения-кандидата и изображений из списка, а затем сравнивает их в режиме 1:N.
Тип контента HTTP-запроса: “multipart/form-data”.
Вызов метода: POST /v1/face/pattern/extract_and_compare_n
Входные параметры
Наименование параметра
Тип
Описание
sample_1
Stream
Обязательный параметр.
Изображение – кандидат(1).
samples_n
Stream
Обязательный параметр.
Список(N) изображений. Каждое изображение должно быть передано отдельно, но необходимо чтобы имя параметра было samples_n. Также требуется, чтобы в заголовке был передан filename.
Для передачи данных в base64 необходимо в headers запроса передать Content-Transfer-Encoding = base64.
Неверный Content-Type части multiparted HTTPзапроса
400
BPE-003001
Не удалось извлечь биометрический шаблон
400
BPE-003002
На биометрическом образце* отсутствует лицо
400
BPE-003003
На биометрическом образце* присутствует более одного лица
500
BPE-001001
Внутренняя ошибка биопроцессора
400
BPE-001002
Ошибка TFSS. Необходимо вызвать метод biometry health.
*
Биометрический образец – входное изображение.
Liveness
health – проверка состояния биометрического процессора liveness
Вызов метода: GET /v1/face/liveness/health
Входные параметры отсутствуют.
Пример запроса
GET localhost/v1/face/liveness/health
Успешный ответ метода
В случае успешного ответа метод возвращает сообщение со следующими параметрами.
Тип контента HTTP-ответа: “application/json”.
Выходные параметры
Наименование параметра
Тип
Описание
status
Int
0 - биометрический процессор работает корректно.
3 - биометрический процессор неработоспособен.
message
String
Сообщение.
Пример ответа
200 OK
Content-Type: application/json
{“status”: 0, message: “”}
detect – обнаружение презентационных атак
Метод detect предназначен для обнаружения презентационных атак. Он ищет лицо на каждом изображении или видео (с версии 1.2.0), отправляет найденные лица на анализ и возвращает результат.
Поддерживаются следующие Content-Type:
image/jpeg или image/png для изображения;
multipart/form-data для изображений, видео или архивов. Для добавления дополнительных параметров, влияющих на анализ, используйте payload.
Для извлечения лучшего кадра укажите в блоке analyses в payloadextract_best_shot = true (как в примере запроса ниже). В таком случае API Lite после анализа ваших медиафайлов вернет в ответе лучший кадр – изображение в base64 будет в analysis->output_images->image_b64. Лучший кадр можно извлекать только из видео или архивов.
Также в блоке analyses вы можете изменить порог для прохождения Liveness в параметре threshold_spoofing: если итоговая оценка выше значения этого параметра, результат анализа будет DECLINED, в ином случае проверка Liveness будет считаться пройденной.