Поделиться через


Указание модели распознавания лиц

Внимание

Доступ к службе "Распознавание лиц" ограничен на основе соответствия требованиям и критериев использования для реализации поддержки наших принципов ответственного ИИ. Служба "Распознавание лиц" доступна только для клиентов и партнеров, управляемых корпорацией Майкрософт. Используйте форму приема Распознавания лиц, чтобы подать заявку на доступ. Дополнительные сведения см. на странице с ограниченным доступом для лиц.

В этом руководстве показано, как указать модель распознавания лиц для обнаружения лиц, идентификации и сходства с помощью службы распознавания лиц Azure.

Служба распознавания лиц использует модели машинного обучения для выполнения операций с видимыми человеческими лицами на изображениях. Мы постоянно повышаем точность работы наших моделей, основываясь на отзывах клиентов и результатах исследования, а также реализуем эти улучшения в обновлениях моделей. Разработчики могут указать, какую версию модели распознавания лиц они хотели бы использовать, выбрав модель, которая лучше всего подходит для их варианта использования.

Совместимость моделей

Служба распознавания лиц Azure имеет четыре модели распознавания. Модели recognition_01 (опубликовано 2017), recognition_02 (опубликовано 2019) и recognition_03 (опубликовано 2020) постоянно поддерживаются для обеспечения обратной совместимости для клиентов, использующих FaceLists или PersonGroup, созданных с этими моделями. FaceList или PersonGroup всегда использует созданную модель распознавания, а новые лица становятся связанными с этой моделью при добавлении. Это невозможно изменить после создания, и клиентам необходимо использовать соответствующую модель распознавания с соответствующим FaceList или PersonGroup.

Вы можете перейти к использованию более поздних моделей распознавания. Тем не менее вам потребуется создать новые объекты FaceList и PersonGroup с любой моделью распознавания.

Модель recognition_04 (опубликована в 2021 г.) — это самая точная модель, доступная в настоящее время. Если вы являетесь новым клиентом, рекомендуем использовать именно эту модель. Recognition_04 обеспечивает улучшенную точность для сравнения сходства и сравнения сопоставления с пользователем. Recognition_04 улучшает распознавание зарегистрированных пользователей в масках (хирургических, № 95, тканевых). Теперь вы можете создавать надежные и удобные возможности работы для пользователей, позволяющие определить, носит ли зарегистрированный пользователь маску на лице, с помощью последней модели detection_03. Затем вы можете использовать последнюю модель recognition_04 для распознавания их личности. Каждая модель работает независимо от других, а порог достоверности, заданный для одной модели, не предназначен для сравнения с другими моделями распознавания.

Ознакомьтесь со сведениями о том, как задать выбранную модель в различных операциях по распознаванию лиц и одновременно избежать конфликтов моделей. Если вы являетесь опытным пользователем и хотите определить, следует ли вам использовать последнюю модель, перейдите к разделу Вычисление различных моделей. Вы можете оценить новую модель и сравнить результаты с помощью текущего набора данных.

Необходимые компоненты

Вы должны быть знакомы с концепциями обнаружения и идентификации лиц с помощью искусственного интеллекта. Если это не так, сначала ознакомьтесь со следующими руководствами.

Определение лиц с помощью указанной модели

Функция определения лиц выявляет визуальные ориентиры лиц людей и находит для них границы ограничивающих прямоугольников. Он также извлекает функции лица и сохраняет их временно до 24 часов для использования в идентификации. Все эти сведения образуют представление одного лица.

Модель распознавания используется при извлечении характеристик лиц, поэтому при выполнении операции обнаружения можно указать версию модели.

При использовании API обнаружения назначьте версию модели с параметром recognitionModel . Возможные значения:

  • recognition_01
  • recognition_02
  • recognition_03
  • recognition_04

При необходимости можно задать параметр returnRecognitionModel (по умолчанию — false), чтобы указать, следует ли возвращать в ответе recognitionModel. Таким образом, URL-адрес запроса для REST API обнаружения будет выглядеть следующим образом:

https://westus.api.cognitive.microsoft.com/face/v1.0/detect[?returnFaceId][&returnFaceLandmarks][&returnFaceAttributes][&recognitionModel][&returnRecognitionModel]&subscription-key=<Subscription key>

Если вы используете клиентскую библиотеку, можно присвоить значение recognitionModel, передав строку, представляющую версию. Если не назначать это значение, будет использоваться версия модели по умолчанию recognition_01. См. следующий пример кода для клиентской библиотеки .NET.

string imageUrl = "https://news.microsoft.com/ceo/assets/photos/06_web.jpg";
var faces = await faceClient.Face.DetectWithUrlAsync(url: imageUrl, returnFaceId: true, returnFaceLandmarks: true, recognitionModel: "recognition_01", returnRecognitionModel: true);

Примечание.

Для включения сценариев распознавания лиц в последующих шагах необходимо задать true параметр returnFaceId.

Определение лиц с помощью указанной модели

Служба распознавания лиц может извлечь данные лица из изображения и связать ее с объектом Person (например, с помощью вызова API "Добавить человека человека лица"), а несколько объектов Person можно хранить вместе в PersonGroup. Затем новое лицо можно сравнить с PersonGroupвызовом группы "Идентификация от человека "), а соответствующий человек в этой группе можно определить.

PersonGroup должен иметь одну уникальную модель распознавания для всех пользователей, и вы можете указать этот параметр при recognitionModel создании группы (создание группы пользователей или создание группы крупных пользователей). Если этот параметр не задан, будет использоваться исходная модель recognition_01. Группа всегда будет использовать модель распознавания, с которой он был создан, а новые лица при добавлении будут связываться с этой моделью. Его нельзя изменить после создания группы. Чтобы узнать, с какой моделью настроена PersonGroup, используйте API группы get Person с параметром returnRecognitionModel, заданным как true.

См. следующий пример кода для клиентской библиотеки .NET.

// Create an empty PersonGroup with "recognition_04" model
string personGroupId = "mypersongroupid";
await faceClient.PersonGroup.CreateAsync(personGroupId, "My Person Group Name", recognitionModel: "recognition_04");

В этом коде создается группа PersonGroup с идентификатором mypersongroupid, после чего для нее настраивается использование модели recognition_04 для извлечения характеристик лиц.

Соответственно, необходимо указать, какую модель следует использовать при обнаружении лиц для сравнения с этой PersonGroup (с помощью API обнаружения ). Используемая модель всегда должна соответствовать конфигурации PersonGroup. В противном случае операция завершится ошибкой из-за несовместимости моделей.

В API группы "Идентификация" нет изменений. Необходимо указать версию модели в обнаружении.

Поиск похожих лиц с указанной моделью

Можно также указать модель распознавания для поиска сходства. Вы можете назначить версию модели при recognitionModel создании FaceList с помощью API создания списка лиц или создания большого списка лиц. Если этот параметр не задан, по умолчанию используется модель recognition_01. Объект FaceList всегда будет использовать модель распознавания, с которой он был создан, а новые лица при добавлении будут связываться с этой моделью. После создания это изменить нельзя. Чтобы узнать, с какой моделью настроен FaceList, используйте API get Face List с параметром returnRecognitionModel как true.

См. следующий пример кода для клиентской библиотеки .NET.

await faceClient.FaceList.CreateAsync(faceListId, "My face collection", recognitionModel: "recognition_04");

Этот код создает объект FaceList с именем My face collection, используя модель recognition_04 для извлечения характеристик. При поиске этого списка лиц , похожих на новое обнаруженное лицо, это лицо должно быть обнаружено (обнаружение) с помощью модели recognition_04 . Как и в предыдущем разделе, модель должна быть согласованной.

В API "Поиск похожих" изменений нет. В обнаружении указывается только версия модели.

Проверка лиц с помощью указанной модели

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

Оценка различных моделей

Если вы хотите сравнить производительность различных моделей распознавания на собственных данных, вам потребуется выполнить описанные ниже действия.

  1. Создайте четыре объекта PersonGroupс помощью recognition_01, recognition_02, recognition_03 и recognition_04 соответственно.
  2. Используйте данные изображений для обнаружения лиц и зарегистрируйте их с объектами Person в этих четырех PersonGroup.
  3. Обучение пользователей спомощью API группы обучающего пользователя.
  4. Проверьте с помощью группы "Идентификация пользователей" во всех четырех группах PersonGroupи сравните результаты.

Если вы обычно указываете пороговое значение достоверности (от нуля до единицы; определяет степень уверенности модели для определения лица), возможно, вам потребуется использовать различные пороговые значения для разных моделей. Пороговое значение для одной модели не предназначено для совместного использования с другими и может приводить к другим результатам.

Следующие шаги

В этой статье вы узнали, как указать модель распознавания для использования с различными API службы распознавания лиц. Далее выполните инструкции из краткого руководства, чтобы приступить к работе с определением лиц.