Новости
2023-04-07

Как устроена видеоаналитика билайна. Взгляд изнутри

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

Нашей команде уже более 10 лет, и мы создаем решения для корпоративных клиентов билайна. Мы работаем в области машинного обучения и больших данных. У нас сформированы 12 продуктовых команд. Один из наших продуктов – это платформа для видеоаналитики.

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

Платформа видеоаналитики от билайн бизнес: Верхнеуровневое решение состоит из следующих компонентов: • кабинет клиента; • кабинет администратора; • backend-сервисы; • источники информации (это могут быть как камеры, которые передают видеопоток, так и информация с вычислительных плат, то есть передается результат уже обработанного видеоряда на вычислительной плате).

Есть два способа получения информации от внешних источников:

  1. Видеопоток с камеры.
  2. Результат обработки видеопотока на микрокомпьютере. Второй вариант используется в том случае, когда месторасположение камеры не подразумевает стабильного канала связи с серверной частью, например, в автобусах, на кораблях, в вагонах поездов или в каких-то удаленных местах. Подробнее хотелось бы остановиться на реализации инфраструктуры на микрокомпьютерах или вычислительных платах. Реализуется это все в Kubernetes, который еще называют k8s — это портативная платформа с открытым исходным кодом для управления сервисами. Но дело в том, что k8s сложен в настройке, требует значительных ресурсов и может подойти далеко не для каждого кейса. Его «младший брат» — это k3s, более легкое решение, своего рода дистрибутив Kubernetes. Мы взяли k3s как основу для инфраструктуры для микрокомпьютеров.

А теперь на одном примере расскажу, как в реальности происходит настройка системы с использованием микрокомпьютеров.

  1. Начальная настройка. На первом этапе происходит развертывание необходимой инфраструктуры на микрокомпьютере. Нам было важно организовать процесс и упаковать инфраструктуру так, чтобы прошивка занимала минимум времени. Мы упаковали инфраструктуру в k3s, прошивка одной платы заняла у нас не более часа вместе с установкой нужной ОС и jetpack (в случае использования Jetson).
  2. Мониторинг устройств. Конечно, бывают сбои. Например, сбои в питании микрокомпьютеров, в канале видеокамера → микрокомпьютер, в каких-то сетевых ограничениях со стороны заказчика.

Очевидно, что нужен мониторинг доступности и исправности работы. Мы организовали сбор основных метрик на основе telegraf и алертинг (система автоматического оповещения) в мессенджеры и почту.