Портируем видеоаналитику на новые платформы: 8 простых шагов
Упаковали свой опыт развертывания системы мониторинга транспортного потока — Smart Traffic System — на Rockchip и SOPHON в один стройный R&D пайплайн. Пошагово, со сроками. Как от сердца отрываем.
Сохраняйте, чтобы под рукой иметь план на случай, если задумаете исследовать возможность развертывания системы видеоаналитики на целевом устройстве.
Ну что, начнём?
Этап #1: выбор операционной системы и дистрибутивов (2–5 дней)
Анализ документации и выбор ОС
Изучение документации по поддерживаемым операционным системам.
Анализ совместимости различных дистрибутивов с целевой аппаратной платформой.
Выбор наиболее подходящей операционной системы на основе требований проекта и возможности использования нейросетевых (или других) ускорителей.
Установка и тестирование ОС
Установка выбранной операционной системы на целевое устройство.
Установка необходимых драйверов для аппаратного ускорителя.
Проведение базового тестирования ОС для проверки её корректной работы.
Этап #2: настройка аппаратно-программной среды (2–10 дней)
Установка драйверов и библиотек
Установка драйверов для всех подключенных устройств и компонентов системы.
Установка библиотек для обработки видеопотоков (например, OpenCV, Gstreamer).
Установка библиотек для конвертации и inference обученных моделей с использованием аппаратных ускорителей (например, Rknn-toolkit, BMCV).
Настройка среды разработки
Конфигурация среды разработки и настройка переменных окружения.
Проверка возможности запуска базовых скриптов и примеров от производителя для удостоверения в корректной настройке среды.
Этап #3: запуск и анализ демонстрационных примеров (2–5 дней)
Ознакомление с примерами
Изучение доступных демонстрационных примеров от производителя аппаратной платформы.
Запуск демонстрационных примеров на целевом устройстве.
Анализ производительности примеров и их соответствие целям проекта.
Проверка производительности
Тестирование системы на базовых примерах для оценки её производительности.
Выявление и документирование потенциальных проблем и узких мест.
Этап #4: конвертация модели детекции объектов (1–6 дней)
Выбор модели для детекции объектов
Выбор оптимальной модели на основе требований к точности и производительности, а также доступных версий модели YOLO.
Конвертация модели
Преобразование модели для работы на целевой аппаратной платформе (например, использование TensorRT).
Тестирование производительности конвертированной модели на целевом устройстве.
Этап #5: конвертация и тестирование трекера объектов (10–15 дней)
Анализ и выбор трекеров объектов
Исследование доступных трекеров объектов (например, DeepSORT, ByteTracker).
Выбор оптимального трекера на основе требований к скорости и точности трекинга.
Конвертация трекеров
Преобразование трекеров (конвертация моделей и подготовка препроцессинга и постпроцессинга) для работы на целевой платформе.
Тестирование производительности трекеров на целевом устройстве.
Этап #6: интеграция детектора и трекера и оптимизация производительности (10–15 дней)
Интеграция детектора и трекера
Объединение детектора и трекера в единую систему для обработки видеопотоков.
Проверка функциональности интегрированной системы.
Оптимизация производительности
Оптимизация кода для достижения стабильной обработки видеопотоков в реальном времени.
Тестирование системы для обеспечения стабильности и высокой производительности.
Этап #7: экспериментальные настройки для повышения точности (от 3 дней)
Оценка текущей точности
Экспериментальные настройки моделей
Финальная оценка точности
Проведение тестов на валидационных данных для подтверждения улучшений в точности.
Документирование достигнутого уровня точности и сравнение с целевыми показателями.
Этап #8: установка и настройка административного интерфейса
Подготовка к установке:
Проверка системных требований административного интерфейса.
Обеспечение совместимости интерфейса с новым устройством.
Установка административного интерфейса:
Интеграция в сервис компьютерного зрения (rtdts):
Тестирование и проверка:
Проведение функционального тестирования административного интерфейса.
Проверка корректности работы всех функций и модулей интерфейса.
Исправление выявленных ошибок и повторное тестирование.
Документация:
На этом всё. Был ли у вас аналогичный опыт? Будем рады обратной связи.
Подробнее о развертывании Smart Traffic System на устройствах Rockchip и Sophon в предыдущих статьях:
Подробнее о системе мониторинга транспортного потока Smart Traffic System — на официальном сайте.