В этой статье описывается, как использовать мобильного робота с динамической потоковой камерой для реализации различных вариантов использования. Решение реализует систему, которая выполняется локально в Azure Stack Edge для приема и обработки видеопотока и служб ИИ Azure, выполняющих обнаружение объектов.
Архитектура
Скачайте файл Visio для этой архитектуры.
Рабочий процесс
Этот рабочий процесс описывает, как система обрабатывает входящие данные:
Камера, установленная на видео робота в режиме реального времени с помощью протокола ПОТОКОВой передачи в режиме реального времени (RTSP).
Контейнер в кластере Kubernetes в Azure Stack Edge считывает входящий поток и разбивает видео на отдельные изображения. Средство программного обеспечения с открытым исходным кодом с именем FFmpeg приема и обработки видеопотока.
Образы хранятся в локальной учетной записи хранения Azure Stack Edge.
Каждый раз, когда новый ключевой кадр сохраняется в учетной записи хранения, контейнер ai Vision выбирает его. Сведения о разделении логики на несколько контейнеров см. в разделе "Сведения о сценарии".
При загрузке ключевого кадра из контейнера хранилища контейнер ai Vision отправляет его в службы ИИ Azure в облаке. Эта архитектура использует Azure AI Vision, которая обеспечивает обнаружение объектов с помощью анализа изображений.
Результаты анализа изображений (обнаруженные объекты и оценка достоверности) отправляются в контейнер обнаружения аномалий.
Контейнер обнаружения аномалий хранит результаты анализа изображений и обнаружения аномалий в локальном База данных SQL Azure экземпляре Azure Stack Edge для дальнейшего использования. Использование локального экземпляра базы данных улучшает время доступа, что помогает свести к минимуму задержки в доступе к данным.
Обработка данных выполняется для обнаружения аномалий в входящего видеопотока в режиме реального времени. Если обнаружены аномалии, интерфейсный пользовательский интерфейс отображает оповещение.
Компоненты
Azure Stack Edge — это управляемое устройство Azure, которое переносит вычислительные ресурсы, хранилище и аналитику Azure на край. Эта архитектура использует ее для размещения служб Azure в локальной среде, близко к расположению, где происходит обнаружение аномалий, что снижает задержку.
Служба Azure Kubernetes (AKS) в Azure Stack Edge. Служба Azure Kubernetes (AKS) — это управляемая служба Kubernetes, которую можно использовать для развертывания контейнерных приложений и управления ими. В этой архитектуре мы используем версию AKS, которая работает на устройстве Azure Stack Edge для управления контейнерами, ответственными за логику системы.
Azure Arc — это мост, который расширяет службы Azure до края. Используя Azure Arc в этой архитектуре, мы можем управлять пограничными службами через облачный портал.
Azure AI Vision — это единая служба, которая предлагает возможности компьютерного зрения . В этой архитектуре функция анализа изображений используется для обнаружения объектов в ключевых кадрах видеопотока.
Хранилище BLOB-объектов Azure — это решение хранилища объектов Майкрософт для облака. В этой архитектуре он используется для хранения изображений ключевых кадров, извлеченных из видеопотока.
Azure SQL Edge — это небольшой, оптимизированный для пограничных вычислений модуль SQL с встроенным ИИ. В этой архитектуре мы специально пошли на пограничный модуль SQL для хранения метаданных анализа изображений, сохраняя его близко к службе, которая использует и обрабатывает.
Реестр контейнеров Azure — это реестр образов Docker и Open Container Initiative (OCI) с поддержкой всех артефактов OCI. В этой архитектуре реестр хранит образы контейнеров Docker для обнаружения аномалий и контейнеров визуального распознавания ИИ.
Azure Key Vault — это служба для обеспечения безопасного управления ключами в облаке. В этой архитектуре используется для хранения секретов и ключей, позволяющих системе взаимодействовать с внешними службами, где управляемое удостоверение недоступно.
Azure Monitor — это комплексное решение для мониторинга для сбора, анализа и реагирования на данные мониторинга из облачных и локальных сред. В этой архитектуре эта служба является основной платформой наблюдения для рабочей нагрузки.
Подробности сценария
Эта архитектура демонстрирует систему, которая обрабатывает видеопоток в режиме реального времени, сравнивает извлеченные данные в режиме реального времени с набором эталонных данных и принимает решения на основе результатов. Например, его можно использовать для предоставления запланированных проверок заборированного периметра вокруг защищенного расположения.
Архитектура использует Azure Stack Edge для обеспечения того, чтобы наиболее ресурсоемкие процессы выполнялись локально, близко к источнику видео. Эта конструкция значительно улучшает время отклика системы, что важно, когда немедленное реагирование на аномалию критически важно.
Так как части системы развертываются как независимые контейнеры в кластере Kubernetes, вы можете масштабировать только необходимые подсистемы в соответствии с требованиями. Например, если увеличить количество камер для видеопотока, можно масштабировать контейнер, отвечающий за прием видео и обработку, чтобы справиться с спросом, но сохранить остальную часть кластера на исходном уровне.
Отключение функциональных возможностей обнаружения объектов в службы искусственного интеллекта Azure значительно сокращает опыт, необходимый для развертывания этой архитектуры. Если ваши требования к обнаружению объектов не являются высоко специализированными, готовый подход, полученный из службы анализа изображений, достаточно и не требует знаний об машинном обучении.
Потенциальные варианты использования
Мониторинг безопасности периметра
Обнаружение небезопасной рабочей среды в фабрике
Обнаружение аномалий в автоматизированной строке сборки
Обнаружение отсутствия жидкости де-обледенения на самолете
Рекомендации
Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая представляет собой набор руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.
Надежность
Надежность гарантирует, что ваше приложение позволит вам выполнить ваши обязательства перед клиентами. Дополнительные сведения см. в разделе "Обзор основы надежности".
Одним из самых больших преимуществ использования Azure Stack Edge является то, что вы получаете полностью управляемые компоненты на локальном оборудовании. Все полностью управляемые компоненты Azure автоматически устойчивы на региональном уровне.
Кроме того, запуск системы в кластере Kubernetes позволяет выгрузить ответственность за сохранение работоспособности подсистем в системе оркестрации Kubernetes.
Безопасность
Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в разделе "Общие сведения о компоненте безопасности".
Управляемые удостоверения Microsoft Entra обеспечивают безопасность для всех компонентов этой архитектуры. Использование управляемых удостоверений устраняет необходимость хранения секретов в файлах кода или конфигурации. Это упрощает управление доступом, управление учетными данными и назначение ролей.
Оптимизация затрат
Оптимизация затрат заключается в сокращении ненужных расходов и повышении эффективности работы. Дополнительные сведения см. в разделе Обзор критерия "Оптимизация затрат".
Чтобы просмотреть пример ценообразования для этого сценария, используйте калькулятор цен Azure. Наиболее дорогими компонентами в сценарии являются Azure Stack Edge и Служба Azure Kubernetes. Эти службы обеспечивают емкость для масштабирования системы для решения повышенного спроса в будущем.
Стоимость использования служб ИИ Azure для обнаружения объектов зависит от времени выполнения системы. Приведенный выше пример ценообразования основан на системе, которая создает один образ в секунду и работает в течение 8 часов в день. Для этого сценария достаточно одного FPS. Однако если система должна работать в течение длительного периода времени, стоимость использования служб ИИ Azure выше:
Оптимизация производительности
Уровень производительности — это способность вашей рабочей нагрузки эффективно масштабироваться в соответствии с требованиями, предъявляемыми к ней пользователями. Дополнительные сведения см. в разделе "Общие сведения о эффективности производительности".
Так как код развертывается в кластере Kubernetes, вы можете воспользоваться преимуществами этой мощной системы оркестрации. Так как различные подсистемы разделены на контейнеры, можно масштабировать только самые требовательные части приложения. На базовом уровне с одним входящий видеотрансляции система может содержать только один узел в кластере. Эта конструкция значительно упрощает начальную конфигурацию. По мере роста спроса на обработку данных можно легко масштабировать кластер, добавляя узлы.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.
Автор субъекта:
- Ник Сологоуб | Главный руководитель по разработке программного обеспечения
Другие участники:
- Мик Альбертс | Технический писатель
- Frédéric Le Coquil | Главный инженер программного обеспечения
Чтобы просмотреть недоступные профили LinkedIn, войдите в LinkedIn.
Следующие шаги
Документация по продукту:
- Обнаружение объектов
- Ответственное использование ИИ
- Что такое Azure Stack Edge Pro 2?
- Служба Azure Kubernetes
- Обзор Azure Arc
Интерактивный путь обучения:
- Внедрение инноваций Azure в гибридные среды с помощью Azure Arc
- Общие сведения о Служба Azure Kubernetes
- Общие сведения о Azure Stack
- Анализ изображений с помощью службы Компьютерное зрение