Что такое видеоаналитика?

Видеоаналитика — это процесс, при котором видеопоток в реальном времени захватывается, обрабатывается, анализируется и визуализируется. В двух словах, задача состоит в том, чтобы преобразовать необработанные данные в интеллектуальные данные и создать оповещения и аналитику.

Поток:

· Захват данных (камера, датчики, хранилище)

· Расшифровать ленту

· Предварительная обработка данных

· Создание выводов с использованием машинного обучения и алгоритмов глубокого обучения.

· Кодировать ленту

· Принимать решения (аналитика, оповещения и ответы)

В чем проблема???

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

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

Так что делать???????

Решение: DeepStream

DeepStream SDK от NVIDIA — это набор инструментов, который предоставляет вам комплексное решение от сбора данных до развертывания службы/приложения в облаке. Это платформа с минимальным кодом, которая предоставляет вам необходимые инструменты и плагины для создания приложений на основе ИИ. DeepStream поставляется с подключаемыми модулями ускорения, которые обеспечивают выполнение всех тяжелых операций и вычислений на выделенных ускорителях, таких как GPU, DLA (ускоритель глубокого обучения)и VIC. Благодаря плагинам, оптимизированным для GPU, каждый сегмент конвейера может использовать мощность GPU и повышать эффективность (за исключением захвата, который обычно происходит в сети в большинстве случаев).

DeepStream поддерживает разработку как на C/C++, так и на Python. Он принимает все виды каналов, будь то камера USB/csi, видеофайл, RTSP, и использует оптимизированные модели искусственного интеллекта для получения информации.

С чего начать

1. Установите необходимые пакеты

sudo apt install \
libssl1.0.0 \
libgstreamer1.0-0 \
gstreamer1.0-tools \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-libav \
libgstrtspserver-1.0-0 \
libjansson4=2.11-1

2. Клонируем либрдкафку с Github

git clone https://github.com/edenhill/librdkafka.git

3. Настройте и соберите Kafka

cd librdkafka
git reset --hard 7101c2310341ab3f4675fc565f64f0967e135a6a
./configure
make
sudo make install
cd ..

4. Скопируйте сгенерированные библиотеки в каталог deepstream

sudo mkdir -p /opt/nvidia/deepstream/deepstream-6.0/lib
sudo cp /usr/local/lib/librdkafka* /opt/nvidia/deepstream/deepstream-6.0/lib
cd ..

5. Установите DeepStream SDK

Загрузите tar-пакет DeepStream здесь.

Загрузите deepstream_sdk_v6.0.0_jetson.tbz2 на свой модуль Jetson.

Следующая команда извлечет и установит DeepStream SDK на ваш модуль Jetson:

sudo tar -xvf deepstream_sdk_v6.0.0_jetson.tbz2 -C /
cd /opt/nvidia/deepstream/deepstream-6.0
sudo ./install.sh
sudo ldconfig

Почти готово …..

После установки DeepStream SDK выполните следующее, чтобы увеличить частоту:

sudo nvpmodel -m 0
sudo jetson_clocks

Установка привязки к питону

С помощью привязок python вы можете разрабатывать приложения ИИ в DeepStream, используя python в качестве основного языка. DeepStream поставляется с несколькими эталонными приложениями, которые вы можете использовать для разработки собственного приложения.

7. Клонируйте приложения Python

git clone https://github.com/NVIDIA-AI-IOT/deepstream_python_apps

8. Скопируйте эти файлы в каталог DeepStream.

sudo cp -r deepstream_python_apps /opt/nvidia/deepstream/apps

Теперь вы готовы РОК…..

Чтобы подробно ознакомиться с каждым приложением Python, перейдите по следующей ссылке:



Несколько примеров для справки