Портируем видеоаналитику на новые платформы: 8 простых шагов

Упаковали свой опыт развертывания системы мониторинга транспортного потока — Smart Traffic System — на Rockchip и SOPHON в один стройный R&D пайплайн. Пошагово, со сроками. Как от сердца отрываем.

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

9406244d1c1b9d0b8d9637fb8eec2f08.jpg

Ну что, начнём?

Этап #1: выбор операционной системы и дистрибутивов (2–5 дней)

  1. Анализ документации и выбор ОС

    • Изучение документации по поддерживаемым операционным системам.

    • Анализ совместимости различных дистрибутивов с целевой аппаратной платформой.

    • Выбор наиболее подходящей операционной системы на основе требований проекта и возможности использования нейросетевых (или других) ускорителей.

  2. Установка и тестирование ОС

    • Установка выбранной операционной системы на целевое устройство.

    • Установка необходимых драйверов для аппаратного ускорителя.

    • Проведение базового тестирования ОС для проверки её корректной работы.

b60e63b7142b6f2cb3e33d9514067060.jpg

Этап #2: настройка аппаратно-программной среды (2–10 дней)

  1. Установка драйверов и библиотек

    • Установка драйверов для всех подключенных устройств и компонентов системы.

    • Установка библиотек для обработки видеопотоков (например, OpenCV, Gstreamer).

    • Установка библиотек для конвертации и inference обученных моделей с использованием аппаратных ускорителей (например, Rknn-toolkit, BMCV).

  2. Настройка среды разработки

    • Конфигурация среды разработки и настройка переменных окружения.

    • Проверка возможности запуска базовых скриптов и примеров от производителя для удостоверения в корректной настройке среды.

9143ad2cbc65bda0e5c07320652abd9a.jpg

Этап #3: запуск и анализ демонстрационных примеров (2–5 дней)

  1. Ознакомление с примерами

    • Изучение доступных демонстрационных примеров от производителя аппаратной платформы.

    • Запуск демонстрационных примеров на целевом устройстве.

    • Анализ производительности примеров и их соответствие целям проекта.

  2. Проверка производительности

    • Тестирование системы на базовых примерах для оценки её производительности.

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

b30790607816751e03eec7cdbf5a662f.jpg

Этап #4: конвертация модели детекции объектов (1–6 дней)

  1. Выбор модели для детекции объектов

Выбор оптимальной модели на основе требований к точности и производительности, а также доступных версий модели YOLO.

  1. Конвертация модели

    • Преобразование модели для работы на целевой аппаратной платформе (например, использование TensorRT).

    • Тестирование производительности конвертированной модели на целевом устройстве.

b11fdb455f30a8a6af5799bf1ebccc07.jpg

Этап #5: конвертация и тестирование трекера объектов (10–15 дней)

  1. Анализ и выбор трекеров объектов

    • Исследование доступных трекеров объектов (например, DeepSORT, ByteTracker).

    • Выбор оптимального трекера на основе требований к скорости и точности трекинга.

  2. Конвертация трекеров

    • Преобразование трекеров (конвертация моделей и подготовка препроцессинга и постпроцессинга) для работы на целевой платформе.

    • Тестирование производительности трекеров на целевом устройстве.

ed15e6030a658fccda9aff8ef2d2836d.jpg

Этап #6: интеграция детектора и трекера и оптимизация производительности (10–15 дней)

  1. Интеграция детектора и трекера

    • Объединение детектора и трекера в единую систему для обработки видеопотоков.

    • Проверка функциональности интегрированной системы.

  2. Оптимизация производительности

    • Оптимизация кода для достижения стабильной обработки видеопотоков в реальном времени.

    • Тестирование системы для обеспечения стабильности и высокой производительности.

12b64cf8fdc79186616ff99dc46b060b.jpg

Этап #7: экспериментальные настройки для повышения точности (от 3 дней)

  1. Оценка текущей точности

  2. Экспериментальные настройки моделей

  3. Финальная оценка точности

    • Проведение тестов на валидационных данных для подтверждения улучшений в точности.

    • Документирование достигнутого уровня точности и сравнение с целевыми показателями.

d12997db769f96d386df1243a7ebb464.jpg

Этап #8: установка и настройка административного интерфейса

  1. Подготовка к установке:

    • Проверка системных требований административного интерфейса.

    • Обеспечение совместимости интерфейса с новым устройством.

  2. Установка административного интерфейса:

  3. Интеграция в сервис компьютерного зрения (rtdts):

  4. Тестирование и проверка:

    • Проведение функционального тестирования административного интерфейса.

    • Проверка корректности работы всех функций и модулей интерфейса.

    • Исправление выявленных ошибок и повторное тестирование.

  5. Документация:

На этом всё. Был ли у вас аналогичный опыт? Будем рады обратной связи.

Подробнее о развертывании Smart Traffic System на устройствах Rockchip и Sophon в предыдущих статьях:

Подробнее о системе мониторинга транспортного потока Smart Traffic System — на официальном сайте.

© Habrahabr.ru