Сравнение двух объектов

FindFace Multi позволяет сравнить два объекта одного типа (например, два лица, два силуэта или два транспортных средства) и определить их сходство.

Чтобы выполнить сравнение, используйте следующий метод:

GET /verify

Запрос содержит следующие параметры QUERY-STRING:

Название

Тип

Описание

card_id

string

ID карточки, содержащей объекты, которые необходимо сравнить с основным объектом, указанным в параметре object1.

Ограничение: минимум 1 символ.

object1*

string

Выражение, представляющее собой ссылку на основной объект, который используется для сравнения. Необходимо указать одно из следующих выражений:

  • detection:<detection_id> (ID объекта, обнаруженного на фотографии)

  • faceevent:<event_id> (ID события с лицом)

  • carevent:<event_id> (ID события с транспортным средством)

  • bodyevent:<event_id> (ID события с силуэтом)

  • faceobject:<object_id> (ID объекта «Лицо»)

  • carobject:<object_id> (ID объекта «Транспортное средство»)

  • bodyobject:<object_id> (ID объекта «Силуэт»)

Ограничение: минимум 1 символ.

object2

string

Выражение, представляющее собой ссылку на определенный объект, который необходимо сравнить с основным объектом, указанным в параметре object1. Допустимо только одно выражение. Формат выражения такой же, как для параметра object1.

  • Если параметр card_id не задан, то объект, указанный в параметре object1, сравнивается с объектом, указанным в параметре object2.

  • Если параметр card_id задан, то параметр object2 игнорируется, и объект, указанный в параметре object1, сравнивается с каждым объектом того же типа в карточке.

Ограничение: минимум 1 символ.

CURL пример

curl -X GET "http://<findface-ip:port>/verify?object1=faceobject%3A4693621634822370700&object2=detection%3Ad1rqpj4kd5qs72mq5290" \
 -H "Authorization: Token <token>"

Например, чтобы сравнить два лица, выполните следующие действия:

  1. Используйте метод POST /detect, чтобы обнаружить лицо на фотографии. Скопируйте id обнаруженного лица.

  2. В параметре object1 метода GET /verify укажите скопированный id в следующем формате: detection:<detection_id>.

  3. В параметре object2 метода GET /verify укажите ID события с лицом, которое необходимо сравнить с лицом, указанным в параметре object1. Используйте следующий формат: faceevent:<event_id>.
    Если ответ успешен (200 OK), возвращается JSON-объект с полем confidence, которое содержит оценку степени схожести между двумя объектами (в данном случае — лицами).

Название

Тип

Описание

confidence*

number|object

Степень схожести между двумя векторами признаков в базе данных.

Если в запросе заданы параметры object1 и object2, то поле confidence содержит степень схожести, представленную в виде одного числового значения. Пример.

Если в запросе заданы параметры object1 и card_id, то поле confidence содержит объект, включающий следующие показатели:

  • степени схожести между объектом, указанным в параметре object1, и каждым объектом того же типа в карточке;

  • среднюю степень схожести (average_conf). Пример.

Ограничения: минимальное значение — 0, максимальное значение — 1.

Пример ответа (заданы параметры object1 и object2)

{
 "confidence": 0.86446184
}

Пример ответа (заданы параметры object1 и card_id)

{
 "confidence": {
   "face_objects": {
     "4689934075046362827": 0.7640308,
     "4693436597895149109": 0.9912036,
     "4693621634822370700": 0.8532853
   },
   "average_conf": 0.86950657
 }
}