Шаблон определения посещаемости

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

Контекст и проблема

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

Компания Contoso хочет найти ненавязчивый защищенный способ определения демографических данных, постоянных клиентов и их реакции на витрины и продукты.

Решение

Этот шаблон для розничной аналитики использует многоуровневый подход к формированию выводов на пограничных устройствах. При использовании пакета средств разработки для искусственного интеллекта Пользовательского визуального распознавания для анализа в частном Azure Stack Hub, на котором запущены Azure Cognitive Services, отправляются только изображения с человеческими лицами. Анонимные статистические данные со всех магазинов отправляются в Azure для агрегирования и визуализации в Power BI. Объединение пограничных и общедоступных облаков позволяет компании Contoso использовать преимущества современных технологий на базе искусственного интеллекта, соблюдая требования своей корпоративной политики и уважая частную жизнь покупателей.

Footfall detection pattern solution

Ниже приведены общие принципы работы решения.

  1. Пакет разработки для искусственного интеллекта Пользовательского визуального распознавания получает настройки из центра Интернета вещей, который устанавливает среду выполнения IoT Edge и модель машинного обучения.
  2. Если модель видит человека, она делает снимок и отправляет его в хранилище BLOB-объектов Azure Stack Hub.
  3. Служба BLOB-объектов активирует Функцию Azure в Azure Stack Hub.
  4. Функция Azure вызывает контейнер с API Распознавания лиц для получения демографических данных и данных распознавания эмоций из изображения.
  5. Данные обезличиваются и отправляются в кластер Центров событий Azure.
  6. Кластер Центров событий отправляет данные в Stream Analytics.
  7. Stream Analytics выполняет статистическую обработку данных и отправляет их в Power BI.

Components

Это решение использует следующие компоненты.

Уровень Компонент Описание
Оборудование в магазине Пакет разработки для искусственного интеллекта Пользовательского визуального распознавания Обеспечивает фильтрацию снимков в магазине с помощью локальной модели машинного обучения, которая фиксирует только изображения людей для анализа. Безопасная подготовка и обновление с помощью Центра Интернета вещей.

Azure Центры событий Azure Концентраторы событий Azure предоставляют масштабируемую платформу для приема анонимных данных, которые корректно интегрируются с Azure Stream Analytics.
Azure Stream Analytics Задание Azure Stream Analytics выполняет статистическую обработку анонимных данных и группирует их в 15-секундные окна для визуализации.
Microsoft Power BI Power BI предоставляет простой в использовании интерфейс панели мониторинга для просмотра выходных данных Azure Stream Analytics.
Azure Stack Hub Служба приложений Поставщик ресурсов Службы приложений предоставляет основу для компонентов пограничной среды, включая функции размещения и управления для веб-приложений, API и функций.
Кластер обработчика Службы Azure Kubernetes (AKS). Поставщик ресурсов AKS с кластером обработчика AKS, развернутым в Azure Stack Hub, предоставляет масштабируемый отказоустойчивый механизм для запуска контейнера API Распознавания лиц.
Контейнеры API Распознавания лиц Cognitive Services в Azure Поставщик ресурсов Azure Cognitive Services с контейнерами API Распознавания лиц предоставляет демографические данные, данные распознавания эмоций и уникальные определения посетителей в закрытой сети Contoso.
Хранилище BLOB-объектов Изображения, полученные из пакета средств разработки для искусственного интеллекта, отправляются в хранилище BLOB-объектов Azure Stack Hub.
Функции Azure Функция Azure, выполняемая в Azure Stack Hub, получает входные данные из хранилища BLOB-объектов и управляет взаимодействиями с API Распознавания лиц. API выдает анонимные данные в кластер Центров событий, расположенный в Azure.

Проблемы и рекомендации

Во время выбора варианта реализации этого решения необходимо учитывать приведенные ниже моменты.

Масштабируемость

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

  • увеличить число единиц потоковой передачи Stream Analytics;
  • горизонтально увеличить масштаб развертывания API Распознавания лиц;
  • увеличить пропускную способность кластера Центров событий;
  • В крайних случаях может потребоваться перенести данные из Функций Azure на виртуальную машину.

Доступность

Так как это решение распределено по уровням, важно подумать о том, как справляться с сетевыми сбоями или отключениями электропитания. В зависимости от бизнес-требований вы можете реализовать механизм, который локально кэширует изображения, а затем перенаправляет их в Azure Stack Hub при восстановлении подключения. Если расположение достаточно велико, лучше всего развернуть в этом расположении Data Box Edge с контейнером API Распознавания лиц.

Управляемость

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

Безопасность

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

Дальнейшие действия

Дополнительные сведения о разделах, представленных в этой статье:

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