Создание приложения React Native для добавления пользователей в службу распознавания лиц

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

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

Пример приложения написан с использованием JavaScript и платформы React Native. Его можно развернуть на устройствах Android и iOS.

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

Внимание

Вопросы безопасности

  • Для локальной разработки и начального ограниченного тестирования допустимо (хотя и не рекомендуется) использовать переменные среды для хранения ключа API и конечной точки. Для пилотного и окончательного развертывания ключ API должен храниться в безопасном месте, что, вероятно, предполагает использование промежуточной службы для проверки токена пользователя, сгенерированного во время входа в систему.
  • Никогда не храните ключ API или конечную точку в коде и не фиксируйте их в системе контроля версий (например, Git). Если это произошло по ошибке, вам необходимо немедленно сгенерировать новый ключ/конечную точку API и отозвать предыдущие.
  • Рекомендуется использовать отдельные ключи API для разработки и производства.

Настройка среды разработки

  1. Клонируйте репозиторий git для примера приложения.

  2. Чтобы настроить среду разработки, следуйте документации React Native. Выберите React Native CLI Quickstart. Выберите свою ОС для разработки и Android в качестве целевой ОС. Выполните действия в разделах Установка зависимостей и Среда разработки Android.

  3. Загрузите предпочтительный текстовый редактор, например Visual Studio Code.

  4. Получите конечную точку FaceAPI и введите портал Azure на вкладке Обзор вашего ресурса. Не возвращайте свой ключ API Распознавания лиц в удаленный репозиторий.

    Предупреждение

    Только для локальной разработки и тестирования можно ввести ключ API и конечную точку в качестве переменных среды. Для окончательного развертывания храните ключ API в безопасном месте, а не в коде или переменных среды. Ознакомьтесь с руководством по проверке подлинности служб ИИ Azure для других способов проверки подлинности службы.

  5. Запустите приложение с помощью эмулятора виртуального устройства Android из Android Studio или на собственном устройстве Android. Чтобы протестировать приложение на физическом устройстве, следуйте соответствующей документации React Native.

Настройка приложения для бизнеса

Теперь, когда вы настроили пример приложения, вы можете настроить его в соответствии с вашими собственными потребностями.

Например, может потребоваться добавить сведения о конкретной ситуации на страницу согласия:

страница согласия в приложении

  1. Добавьте дополнительные инструкции для повышения точности проверки.

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

    • Размер лица (лиц, находящихся на удалении от камеры).
    • Ориентация лица (лица видны не полностью).
    • Плохое освещение (низкая освещенность или подсветка), что влияет на экспозицию и вызываем слишком много шума на изображении.
    • Окклюзион (частично скрытые или обструкированные лица), включая аксессуары, такие как шляпы или толстые очки
    • Размытие (например, при быстром перемещении лица во время снимка).

    Служба обеспечивает проверку качества изображения, чтобы на основании указанных выше факторов помочь вам выбрать, имеет ли изображение достаточное качество, чтобы добавить клиента или попытаться распознать лицо. Это приложение демонстрирует принципы доступа к кадрам с камеры устройства, определения качества и вывода сообщений в пользовательском интерфейсе, чтобы помочь получить изображение более высокого качества, выбрать кадры с лучшим качеством и добавить обнаруженное лицо в службу API распознавания лиц.

    страница приложения с инструкциями по получению изображения

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

    страница управления профилями

    Чтобы расширить функциональные возможности приложения и охватить все возможности, ознакомьтесь с обзором, где описаны дополнительные функции и передовые методы.

  3. Настройка базы данных для сопоставления каждого пользователя с их идентификатором

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

  4. Безопасные методы передачи ключа подписки и конечной точки в службу распознавания лиц см. в руководстве по безопасности служб искусственного интеллекта Azure.

Развертывание приложения

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

Когда вы будете готовы выпустить приложение для рабочей среды, создайте файл APK, готовый к выпуску, который является форматом файла пакета для приложений Android. Этот файл APK должен быть подписан с использованием закрытого ключа. С помощью этой сборки выпуска можно приступить к распространению приложения на устройства напрямую.

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

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

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

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