Упражнение. Интеграция пользовательского визуального распознавания Azure

Завершено

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

Общие сведения о пользовательском визуальном распознавании Azure AI

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

Узнайте больше о Custom Vision.

Подготовка пользовательского визуального распознавания

Прежде чем начать работу, необходимо создать проект "Custom Vision". Самый быстрый способ создания проекта Пользовательского визуального распознавания — использовать портал Пользовательского визуального распознавания.

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

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

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

Подготовка сцены

  1. В окне проекта перейдите к ассетам>MRTK.Tutorials.AzureCloudServices>Prefabs>Manager.

    Скриншот Unity с окном Project, показывающим путь к префабу ObjectDetectionManager.

  2. Затем перетащите префаб ObjectDetectionManager в иерархию сцены.

    снимок экрана Unity с полями конфигурации компонента скрипта ObjectDetectionManager, показанными в инспекторе.

  3. В окне иерархии найдите и выберите объект ObjectDetectionManager. ObjectDetectionManager prefab содержит компонент ObjectDetectionManager (script) и, как видно из окна инспектора, зависит от параметров Azure и параметров проекта.

Получение учетных данных ресурса API Azure

Вы можете получить необходимые учетные данные для ObjectDetectionManager (script) настроек на портале Azure и на портале Custom Vision.

Извлечение учетных данных настроек Azure

Найдите и определите расположение ресурса Custom Vision типа когнитивных сервисов , созданного в разделе Подготовка сцены данного руководства. Выберите Обзор или ключей и конечных точек, чтобы получить необходимые учетные данные.

  • Идентификатор подписки Azure: Используйте идентификатор подписки из раздела Обзор.
  • Название группы ресурсов Azure: используйте название группы ресурсов из раздела Обзор.

Для имени группы Cognitive Serviceиспользуйте имя ресурса пользовательского визуального распознавания, за которым следует -Prediction.

  • конечной точки прогнозирования базы ресурсов: используйте конечную точку из ключей и конечной точки в ресурсе пользовательского визуального распознавания -Prediction.
  • ключ прогнозирования API: используйте ключ 1 из ключей и конечной точки в ресурсе Custom Vision -Prediction.

Получить учетные данные настроек проекта

На панели мониторинга пользовательского визуального распознавания откройте проект, выбранный для этого руководства, а затем щелкните значок настроек (шестеренка) в правом верхнем углу страницы, чтобы открыть страницу настроек. Вы найдете необходимые учетные данные в разделе Resources в правой части и в разделе Общие в левой части.

  • Resource Base Endpoint: используйте конечную точку из раздела ресурсов . Это должно соответствовать конечным точкам в разделе Ключи и конечные точки в ресурсе Custom Vision.
  • Ключ API: используйте ключ из раздела ресурсов. Это должно соответствовать ключу в разделе Ключей и конечных точек в ресурсе Custom Vision.
  • идентификатор проекта: используйте идентификатор проекта из раздела Общие.
  1. Теперь, когда ObjectDetectionManager (script) настроен правильно, найдите объект SceneController в иерархии вашей сцены и выберите его.

    скриншот Unity с полями конфигурации компонента скрипта SceneController, показанными в инспекторе.

  2. Поле диспетчера обнаружения объектов в компоненте SceneController пусто. Перетащите ObjectDetectionManager из иерархии в компонент SceneController и сохраните сцену.

    снимок экрана Unity с настроенным компонентом скрипта SceneController.

Сделать и загрузить изображения

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

  2. Откроется новое окно. Вы получите шесть фотографий, чтобы обучить модель для распознавания изображений. Выберите кнопку Камера и выполните AirTap на объекте, который хотите отслеживать. Сделайте это шесть раз.

    Совет

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

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

    Совет

    ObjectDetectionManager (script) напрямую отправляет изображения в службу Custom Vision. В качестве альтернативы API пользовательского визуального распознавания принимает URL-адреса изображений. В качестве упражнения можно изменить ObjectDetectionManager (script), чтобы передать изображения в хранилище BLOB-объектов.

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

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

Обнаружение объектов

Теперь можно испытать обученную модель. Запустите приложение. В главном меню выберите объект поиска и введите имя отслеживаемого объекта. Появится карточка объекта. Затем выберите кнопку Custom Vision. Объект *ObjectDetectionManager начнет записывать изображения в фоновом режиме с камеры. В меню будет указано ход выполнения приложения. Наведите камеру на объект, который использовался для обучения модели. Вскоре он должен обнаружить объект.