Dbrain
Ask or search…
K
Comment on page

Сравнение лиц

Сравниваем лица на двух изображениях и даем оценку их схожести
Рассказываем про сервис, чтобы вы понимали его возможности. Воспользоваться им пока что нельзя.
Сервис обычно используют, чтобы подтвердить принадлежность документа человеку. На одном изображении ожидают лицо человека, на втором — документ, удостоверяющий личность. Документ мы рекомендуем брать из ответа сервиса «Классификация документов». Сервис сравнивает лицо человека с фотографией из документа и даёт оценку их схожести. Сервис можно использовать и в других бизнес-сценариях.
Если на изображении несколько лиц, сервис выберет лицо, которое занимает большую площадь кадра. Помимо сравнения лиц сервис сообщает дополнительную информацию о положении головы, глазах и рте.
Когда сервис заработает, вам понадобится эта информация:
Чтобы воспользоваться сервисом, отправьте POST-запрос на URL https://latest.dbrain.io/face_distance

Параметры запроса к сервису

Возврат найденных областей изображения

return_crops — в данный момент не работает
Поведение по умолчанию: return_crops=false — сервис не возвращает найденные области изображения.
Если вам нужны найденные сервисом области изображения, укажите return_crops=true. Сервис вернёт в ответе API в параметре crop найденные области изображения с лицами.

Тело запроса к API

Сервис ожидает два изображения в атрибутах image1 и image2.

Изображение

image1 — string ($binary)
image2 — string ($binary)
Оба изображения обязательны для передачи в запросе. Сервис ожидает изображение в двоичном виде.
Перед началом работы с сервисами, советуем заглянуть в раздел «Общая информация о сервисах». В нем перечислили форматы файлов, которые поддерживают сервисы, описали общие для всех сервисов параметры API, а также расшифровали коды ошибок.

В ответе на запрос API:

Иллюстрация к понятиям yaw, pitch и roll
  • task_id — идентификатор запроса
  • items — массив, содержащий смысловую часть ответа сервиса
    • distance — number от 0 до 1, чем больше число, тем сильнее различаются лица
    • same_face — boolean
      • true — если distance меньше 0.8
      • false — если distance больше или равен 0.8
    • reason — текстовое описание ошибки; возможные значения:
      • More than one face detected on image 1 — найдено более 1 лица на изображении 1
      • More than one face detected on image 2 — найдено более 1 лица на изображении 2
      • No face detected on image1 — лицо не найдено на изображении 1
      • No face detected on image2 — лицо не найдено на изображении 2
      • Head yaw is too high on image 1 — поворот головы относительно вертикальной оси превышает ±5 градусов (здесь и далее ISO/IEC 19794-5) на изображении 1
      • Head yaw is too high on image 2 — поворот головы относительно вертикальной оси превышает ±5 градусов (здесь и далее ISO/IEC 19794-5) на изображении 2
      • Head pitch is too high on image 1 — наклон головы вверх или вниз относительно горизонтальной оси, проведённой через уши превышает ±5 градусов на изображении 1
      • Head pitch is too high on image 2 — наклон головы вверх или вниз относительно горизонтальной оси, проведённой через уши превышает ±5 градусов на изображении 2
      • Head roll is too high on image 1 — наклон головы налево или направо относительно горизонтальной оси, проведённой через нос превышает ±5 градусов на изображении 1
      • Head roll is too high on image 2 — наклон головы налево или направо относительно горизонтальной оси, проведённой через нос превышает ±5 градусов на изображении 2
      • Left eye closed on image 1 — левый глаз закрыт на изображении 1
      • Left eye closed on image 2 — левый глаз закрыт на изображении 2
      • Left eye occluded on image 1 — левый глаз заслонён более чем на 5% на изображении 1
      • Left eye occluded on image 2 — левый глаз заслонён более чем на 5% на изображении 2
      • Right eye closed on image 1 — правый глаз закрыт на изображении 1
      • Right eye closed on image 2 — правый глаз закрыт на изображении 2
      • Right eye occluded on image 1 — правый глаз заслонён более чем на 5% на изображении 1
      • Right eye occluded on image 2 — правый глаз заслонён более чем на 5% на изображении 2
      • Mouth occluded on image 1 — рот заслонён более чем на 5% на изображении 1
      • Mouth occluded on image 2 — рот заслонён более чем на 5% на изображении 2
    • faces1 и faces2 — объекты, содержащие информацию о лице с изображения 1 и изображения 2 соответственно:
      • confidence — number от 0 до 1, уровень уверенности модели, что на изображении найдено именно лицо, а не что-то другое
      • rotation — integer, в котором закодирована ориентация лица
        • 0 — поворот не требуется
        • 1 — требуется поворот на 90 градусов
        • 2 — требуется поворот на 180 градусов
        • 3 — требуется поворот на 270 градусов
      • crop — $string, изображение лица в формате base64
      • coords — массив, координаты документа на изображении по четырём точкам: верхний левый угол, верхний правый, нижний левый, нижний правый
      • head — объект, содержащий оценку положения головы в трёх измерениях
        • yaw — number от -180 до 180: оценка поворота головы налево или направо относительно вертикальной оси, где 0 — нет поворота.
        • pitch — number от -180 до 180: оценка наклона головы вверх или вниз относительно горизонтальной оси, проведённой через уши, где 0 — нет наклона.
        • roll — number от -180 до 180: оценка наклона головы налево или направо относительно горизонтальной оси, проведённой через нос, где 0 — нет наклона.
      • left_eye — объект, содержащий оценку левого глаза
        • open — true/false, где true — глаз открыт
        • occluded — number от 0 до 1, где 0 — глаз ничем не заслонён, а 1 — глаз полностью заслонён
      • right_eye — объект, содержащий оценку правого глаза
        • open — true/false, где true — глаз открыт
        • occluded — number от 0 до 1, где 0 — глаз ничем не заслонён, а 1 — глаз полностью заслонён
      • mouth — объект, содержащий оценку рта
        • occluded — number от 0 до 1, где 0 — рот ничем не закрыт, а 1 — рот полностью закрыт
  • task_tags — теги, если они переданы в параметре task_tags
  • page_count — число страниц в файле, актуально для PDF и DJVU
  • traceback — сообщение об ошибке. Содержит информацию о том, где произошла ошибка в коде и какие функции были вызваны перед ней. Это сообщение может помочь разработчикам понять причину возникновения ошибки и исправить ее. Передайте сообщение нашей службе поддержки в телеграм.
Остальные поля не несут практического смысла. Оставили их для совместимости со старыми версиями.
Last modified 17d ago