Структуры данных распознавания лиц
В этой статье описываются структуры данных, используемые в службе распознавания лиц для операций распознавания лиц. Эти структуры данных содержат данные на лицах и лицах.
Внимание
Доступ к службе "Распознавание лиц" ограничен на основе соответствия требованиям и критериев использования для реализации поддержки наших принципов ответственного ИИ. Служба "Распознавание лиц" доступна только для клиентов и партнеров, управляемых корпорацией Майкрософт. Используйте форму приема Распознавания лиц, чтобы подать заявку на доступ. Дополнительные сведения см. на странице с ограниченным доступом для лиц.
Структуры данных, используемые с идентификацией
API распознавания лиц использует структуры данных контейнера для данных распознавания лиц в виде объектов Person . Существует три типа контейнеров для этой цели, перечисленные от самых старых до самых новых. Мы рекомендуем всегда использовать самую новую.
PersonGroup
PersonGroup — это самая маленькая структура данных контейнера.
- При создании PersonGroup необходимо указать модель распознавания. При добавлении лиц в этот PersonGroup эта модель используется для их обработки. Эта модель должна соответствовать версии модели с идентификатором лица из API обнаружения.
- Необходимо вызвать API обучения, чтобы сделать все новые данные лица отражены в результатах идентификации API. К ним относятся добавление и удаление лиц и добавление и удаление лиц.
- Для подписки на бесплатный уровень она может содержать до 1000 человек. Для платной подписки S0 она может содержать до 10 000 человек.
PersonGroupPerson представляет человека для идентификации. Он может содержать до 248 лиц.
Группа больших пользователей
LargePersonGroup — это более поздняя структура данных, представленная для поддержки до 1 миллиона сущностей (для подписки уровня S0). Он оптимизирован для поддержки крупномасштабных данных. Он использует большинство функций PersonGroup : модель распознавания должна быть указана во время создания, а API обучения необходимо вызвать перед использованием.
Каталог person
PersonDirectory — это новая структура данных такого рода. Она поддерживает большую масштабируемую и более высокую точность. Каждый ресурс Распознавания лиц Azure имеет одну структуру данных PersonDirectory по умолчанию. Это плоский список объектов PersonDirectoryPerson - он может содержать до 20 миллионов.
PersonDirectoryPerson представляет человека для идентификации. На основе старой модели PersonGroupPerson она позволяет добавлять лица из разных моделей распознавания в один и тот же человек. Однако операция "Идентификация" может соответствовать только лицам, полученным с той же моделью распознавания.
DynamicPersonGroup — это упрощенная структура данных, которая позволяет динамически ссылаться на PersonDirectoryPerson. Для этого не требуется операция обучения: после обновления данных она готова к использованию с API идентификации.
Вы также можете использовать список идентификаторов пользователя на месте для операции "Идентификация". Это позволяет указать более узкие группы для идентификации. Это можно сделать вручную, чтобы повысить производительность идентификации в больших группах.
Приведенные выше структуры данных можно использовать вместе. Например:
- В системе управления доступом PersonDirectory может представлять всех сотрудников компании, но меньшая DynamicPersonGroup может представлять только сотрудников, имеющих доступ к одному полу здания.
- В системе подключения полетов PersonDirectory может представлять всех клиентов авиакомпании, но DynamicPersonGroup представляет только пассажиров на определенном рейсе. Список идентификаторов человека на месте может представлять пассажиров, которые внесли изменения в последнюю минуту.
Дополнительные сведения см. в руководстве по PersonDirectory. Быстрое сравнение между LargePersonGroup и PersonDirectory:
Подробный сведения | LargePersonGroup | PersonDirectory |
---|---|---|
Capacity | LargePersonGroup может содержать до 1 миллиона объектов PersonGroupPerson. | Коллекция может хранить до 20 миллионов удостоверений PersonDirectoryPerson . |
PersonURI | /largepersongroups/{groupId}/persons/{personId} |
(/v1.0-preview-or-above)/persons/{personId} |
Тип собственности | Объекты PersonGroupPerson принадлежат исключительно БольшойpersonGroup, к которой они принадлежат. Если вы хотите, чтобы одно и то же удостоверение сохранялось в нескольких группах, вам потребуется создать пользователя большой группы пользователей и добавить лицо большого человека для каждой группы по отдельности, в конечном итоге с набором идентификаторов пользователей в нескольких группах. | Объекты PersonDirectoryPerson хранятся непосредственно внутри PersonDirectory в виде неструктурированного списка. Вы можете использовать список идентификаторов пользователя на месте для идентификации из каталога пользователя или при необходимости создать группу динамических пользователей и гибридно включить пользователя в группу. Созданный объект PersonDirectoryPerson можно ссылаться на несколько DynamicPersonGroup без дублирования. |
Модель | Модель распознавания определяется largePersonGroup. Новые лица для всех объектов PersonGroupPerson становятся связанными с этой моделью при добавлении к ней новых лиц. | Объект PersonDirectoryPerson подготавливает отдельное хранилище для модели распознавания. Модель можно указать при добавлении новых лиц, но API идентификации может соответствовать только лицам, полученным с той же моделью распознавания, которая связана с лицами запроса. |
Обучение | Необходимо вызвать API обучения, чтобы сделать все новые данные лица и человека отражены в результатах api идентификации. | Нет необходимости выполнять вызовы обучения, но API, например Add Person Face , становится длительной операцией, что означает, что следует использовать заголовок ответа "Operation-Location" для проверки завершения обновления. |
Очистка | Удаление группы больших пользователей также удаляет все объекты PersonGroupPerson , которые он содержит, а также их данные лица. | Удаление группы динамических пользователей приведет только к отмене ссылок personDirectoryPerson. Сведения об удалении фактического пользователя и данных лиц см. в разделе "Удалить пользователя". |
Структуры данных, используемые с поиском похожих данных
В отличие от API идентификации, API find Similar используется в приложениях, где регистрация человека трудно настроить (например, изображения лиц, захваченные из видеоанализа, или из анализа фотоальбома).
FaceList
FaceList представляет плоский список сохраненных лиц. Он может содержать до 1000 лиц.
LargeFaceList
LargeFaceList — это более поздняя версия, которая может содержать до 1000 000 лиц.
Следующий шаг
Теперь, когда вы знакомы со структурами данных лица, напишите скрипт, который использует их в операции идентификации.