Упаковали свой опыт развертывания системы мониторинга транспортного потока — Smart Traffic System — на Rockchip и SOPHON в один стройный R&D пайплайн. Пошагово, со сроками. Как от сердца отрываем.
Сохраняйте, чтобы под рукой иметь план на случай, если задумаете исследовать возможность развертывания системы видеоаналитики на целевом устройстве.
![](https://habrastorage.org/getpro/habr/upload_files/940/624/4d1/9406244d1c1b9d0b8d9637fb8eec2f08.jpg)
Ну что, начнём?
![](https://habrastorage.org/getpro/habr/upload_files/7a9/57f/3a0/7a957f3a07da6357b2a90ccfba756916.jpg)
Этап #1: выбор операционной системы и дистрибутивов (2-5 дней)
-
Анализ документации и выбор ОС
Изучение документации по поддерживаемым операционным системам.
Анализ совместимости различных дистрибутивов с целевой аппаратной платформой.
Выбор наиболее подходящей операционной системы на основе требований проекта и возможности использования нейросетевых (или других) ускорителей.
-
Установка и тестирование ОС
Установка выбранной операционной системы на целевое устройство.
Установка необходимых драйверов для аппаратного ускорителя.
Проведение базового тестирования ОС для проверки её корректной работы.
![](https://habrastorage.org/getpro/habr/upload_files/b60/e63/b71/b60e63b7142b6f2cb3e33d9514067060.jpg)
Этап #2: настройка аппаратно-программной среды (2-10 дней)
-
Установка драйверов и библиотек
Установка драйверов для всех подключенных устройств и компонентов системы.
Установка библиотек для обработки видеопотоков (например, OpenCV, Gstreamer).
Установка библиотек для конвертации и inference обученных моделей с использованием аппаратных ускорителей (например, Rknn-toolkit, BMCV).
-
Настройка среды разработки
Конфигурация среды разработки и настройка переменных окружения.
Проверка возможности запуска базовых скриптов и примеров от производителя для удостоверения в корректной настройке среды.
![](https://habrastorage.org/getpro/habr/upload_files/914/3ad/2cb/9143ad2cbc65bda0e5c07320652abd9a.jpg)
Этап #3: запуск и анализ демонстрационных примеров (2-5 дней)
-
Ознакомление с примерами
Изучение доступных демонстрационных примеров от производителя аппаратной платформы.
Запуск демонстрационных примеров на целевом устройстве.
Анализ производительности примеров и их соответствие целям проекта.
-
Проверка производительности
Тестирование системы на базовых примерах для оценки её производительности.
Выявление и документирование потенциальных проблем и узких мест.
![](https://habrastorage.org/getpro/habr/upload_files/b30/790/607/b30790607816751e03eec7cdbf5a662f.jpg)
Этап #4: конвертация модели детекции объектов (1-6 дней)
Выбор модели для детекции объектов
Выбор оптимальной модели на основе требований к точности и производительности, а также доступных версий модели YOLO.
-
Конвертация модели
Преобразование модели для работы на целевой аппаратной платформе (например, использование TensorRT).
Тестирование производительности конвертированной модели на целевом устройстве.
![](https://habrastorage.org/getpro/habr/upload_files/b11/fdb/455/b11fdb455f30a8a6af5799bf1ebccc07.jpg)
Этап #5: конвертация и тестирование трекера объектов (10-15 дней)
-
Анализ и выбор трекеров объектов
Исследование доступных трекеров объектов (например, DeepSORT, ByteTracker).
Выбор оптимального трекера на основе требований к скорости и точности трекинга.
-
Конвертация трекеров
Преобразование трекеров (конвертация моделей и подготовка препроцессинга и постпроцессинга) для работы на целевой платформе.
Тестирование производительности трекеров на целевом устройстве.
![](https://habrastorage.org/getpro/habr/upload_files/ed1/5e6/030/ed15e6030a658fccda9aff8ef2d2836d.jpg)
Этап #6: интеграция детектора и трекера и оптимизация производительности (10-15 дней)
-
Интеграция детектора и трекера
Объединение детектора и трекера в единую систему для обработки видеопотоков.
Проверка функциональности интегрированной системы.
-
Оптимизация производительности
Оптимизация кода для достижения стабильной обработки видеопотоков в реальном времени.
Тестирование системы для обеспечения стабильности и высокой производительности.
![](https://habrastorage.org/getpro/habr/upload_files/12b/64c/f8f/12b64cf8fdc79186616ff99dc46b060b.jpg)
Этап #7: экспериментальные настройки для повышения точности (от 3 дней)
-
Оценка текущей точности
Анализ текущей точности детекции и трекинга на тестовых данных.
-
Экспериментальные настройки моделей
Проведение серии экспериментов с различными гиперпараметрами моделей.
-
Финальная оценка точности
Проведение тестов на валидационных данных для подтверждения улучшений в точности.
Документирование достигнутого уровня точности и сравнение с целевыми показателями.
![](https://habrastorage.org/getpro/habr/upload_files/d12/997/db7/d12997db769f96d386df1243a7ebb464.jpg)
Этап #8: установка и настройка административного интерфейса
-
Подготовка к установке:
Проверка системных требований административного интерфейса.
Обеспечение совместимости интерфейса с новым устройством.
-
Установка административного интерфейса:
Инсталляция и настройка административного интерфейса (сервисы для админ панели).
-
Интеграция в сервис компьютерного зрения (rtdts):
Добавление нового способа inference в сервис.
Создание настроек для нового способа inference
-
Тестирование и проверка:
Проведение функционального тестирования административного интерфейса.
Проверка корректности работы всех функций и модулей интерфейса.
Исправление выявленных ошибок и повторное тестирование.
-
Документация:
Подготовка документации по установке и настройке интерфейса.
На этом всё. Был ли у вас аналогичный опыт? Будем рады обратной связи.
Подробнее о развертывании Smart Traffic System на устройствах Rockchip и Sophon в предыдущих статьях:
Есть ли жизнь после Nvidia? Часть 1: исследование возможностей Rockchip RK-3588S-PC
Есть ли жизнь после Nvidia? Часть 2: исследование возможностей SOPHON AI Micro Server SE5-16
Подробнее о системе мониторинга транспортного потока Smart Traffic System — на официальном сайте.
ivankudryavtsev
А в чем вы видите смысл и пользу от статьи? Чтобы читатель что <placeholder>?
Выглядит как статья ради ссылочной массы, потому что пользы от нее, я, в частном порядке, вижу ровно ноль.
CodeInsideTeam Автор
Иван, спасибо за комментарий.
Возможно для вас она оказалось примитивной, и вместе с тем, для тех людей, которые никогда не разворачивали софт на платформе, последовательность шагов может оказаться полезной.
ivankudryavtsev
Хорошо, что хоть вы сами в это верите)