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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Анализ текущей точности детекции и трекинга на тестовых данных.

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

    • Проведение серии экспериментов с различными гиперпараметрами моделей.

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

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

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

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

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

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

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

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

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

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

    • Добавление нового способа inference в сервис.

    • Создание настроек для нового способа inference

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

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

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

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

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

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


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

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

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

Комментарии (3)


  1. ivankudryavtsev
    30.07.2024 12:29

    А в чем вы видите смысл и пользу от статьи? Чтобы читатель что <placeholder>?

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


    1. CodeInsideTeam Автор
      30.07.2024 12:29

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


      1. ivankudryavtsev
        30.07.2024 12:29

        Хорошо, что хоть вы сами в это верите)