Процессорные платы Firefly- замена существующих решений или очередная игрушка?

Омега Индастрал – официальный дистрибьютор Firefly в России – сообщает, пополнении линейки компьютеров для задач промышленной автоматики и AI

На нашем складе сегодня (Дата размещения статьи) доступны:

  1. AIO-3399Pro-JD4 (версия 3/16 Ram/Rom).
  2. ROC-RK3588-PC (версия 16/128 Ram/Rom)
  3. C40PL Open Source AI Camera (C Процессором RV1126)

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

Установка Операционной Системы:

Есть несколько вариантов установки, и у всех есть свои плюсы и минусы.

  1. Установка через HOST PC с предустановленной UBUNTU- Самый стабильный и проверенный вариант. Для этого надо установить на хост машину Linux_upgrade_tool. Что делается в 5 команд, в командной строке, а 6-й уже заливается готовый образ в плату (после ее перевода в режим прошивки). Решение стабильное
  2. SD_Firmware_Tool – но как говорилось в одном прекрасном фильме «План, был надёжный как швейцарский нож⁠⁠», но работает данный способ не очень стабильно, и годится только для обновлений системы.
  3. Использовать предустановленный Android
  4. ADB Installation под Windows через AndroidTool – Вариант рабочий, но в моем случае не работал на компьютере с Антивирусом Касперского на ПК.

И да по стабильности порядок именно такой.

 

Заливка образа

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

  1. Качаем последнюю версию Linux upgrade Tool c сайта https://en.t-firefly.com/doc/download/142.html
  2. Запускаем терминал в папке с файлом

Вводим следующие команды:


unzip Linux_Upgrade_Tool_xxx ## распаковываем вашу версию файла

cd Linux_Upgrade_Tool_xxx            ## заходим в созданную папку

sudo mv upgrade_tool /usr/local/bin              ##перемещаем папку

sudo chown root:root /usr/local/bin/upgrade_tool      ##Изменяем привелегии папки

sudo chmod a+x /usr/local/bin/upgrade_tool              ##Прописываем права для запуска


Далее качаем нужный нам образ, заходим в папку с ним, запускаем терминал, переводим плату в режим Recovery путем зажатия соответствующей кнопки на плате перед подачей питания, подаем питание и через 3-5 секунд отпускаем кнопку Recovery.

 

Возвращаемся в терминал и вводим команду:


sudo upgrade_tool uf @название образа@


Ждем полной заливки образа на наше устройство и перезагружаем его. Первый запуск может идти достаточно долго.

 

А вот теперь можно и по характеристикам сравнить:

* Часть хар-к указана с учетом плат на складе и их особенностей (не все интерфейсы могут быть выведены или выведены путем преобразования интерфейсов.)

Так какое выбрать решение?

C40PL Open Source AI Camera на RV1126

Хорошее решение для нейронных сетей как Pose detection для определения странного поведения, или непредвиденных ситуаций, что подойдет как школам/торговым центрам/больницам. Определения и идентификации сотрудников/посторонних лиц, а также соблюдений правил ТБ. А также определения номеров и лиц для задач СКУД.

 

AIO-3399Pro-JD4

Данное решение подойдет уже для большего круга задач, помимо всех выше перечисленных задач, на данной платформе уже можно реализовывать POS терминалы, рекламные щиты, информационные стенды с промышленными дисплеями за счет встроенного LVDS интерфейса и eDP интерфейса. Из чего появляются уже дополнительные применения как тагетированная реклама, продвинутые сценарии HMI. И использование более нагруженных нейронных сетей.

 

ROC-RK3588-PC

Самое производительное решение на базе Rockchip. Подойдет для обработки изображений с нескольких камер в различных сценариях применения, От СКУД до промышленных линий. Для обработки изображений с нескольких камер и их последующей склейки, для кругового обзора. Создание простых автономных роботов и другие задачи.

 

Все выше перечисленные модели имеют Mipi интерфейс для камер, но камера на данный момент доступна только одна. Так что советуем использовать с данными решениями USB и Ethernet камеры.

Так же отсутствует дополнительная защита на интерфейсах, и общие токи на все интерфейсы не велики (преобразователей уровня не стоит), так что перед подключением периферии советуем ознакомится с документацией на процессор. Но тут не будет 200мА как на каком-нибудь Arduino Uno, это надо учесть.

 

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

А именно: CPU- Занимается основной работой системы/ перенаправлением и обработкой пакетов данных, NPU – занимается работой с нейро сетью, А видео ядро(mali) уже занимается отрисовкой и работой с Open-CV. Что в том же Jetson приходилось распределять по ядрам CUDA ищя ту самую Золотую Середину.

Так же производитель не оставил нас без набора разработчика RKNN Toolkit  для преобразования ваших нейронных сетей и их оценки.

Производителем Rockchip было выпущено 2 отдельных набора RKNN Toolkit, выбирать их следует из выбранного вами процессора для дальнейшей работы, а именно:

  1. RKNN Toolkit V1+LIGHT для процессоров: RK3399Pro(D), RK1806, RK1808, RV1109, RV1126
  2. RKNN Toolkit V2 RK3566, RK3568, RK3588, RK3588S, RV1103, RV1106
  3. RKNN Toolkit V2 LIGHT  RK3566, RK3568, RK3588, RK3588S

Для работы с данными пакетами требуется уровень не ниже Middle-разработчика, так как вам понадобятся знания таких пакетов виртуализации как virtualenv или conda. Т.к. данные пакеты позволяют использовать иные версии python (от предустановленной) и python библиотек от тех, зависимости с которыми прописаны в системе. Так же по запросу предоставляется докер контейнер на 5Гб со всеми предустановленными пакетами и примерами для последующей проверки работоспособности и разработки своего проекта.

Результаты тестовых примеров я тут показывать не буду, а вот запустить Yolo v5 с самым легким датасетом на COCO, думаю будет интересно. Сразу скажу, что запускал все через virtualenv и RKNN light т.к. так быстрее и для первого приближения понятно. Так же советую изучить данный ресурс: https://github.com/airockchip/rknn_model_zoo

На ней получаются не плохие результаты, если оптимизировать код то обещают и до 55 обрабатываемых кадров в секунду.

платформа yolo v5 (fps)
rk3399 19
rk3588 33

*Так же можно изучить тесты другого инженера, что он выложил на свой Github https://github.com/Zhou-sx/yolov5_Deepsort_rknn

 

Рабочие температуры

В данном разделе поговорим о рабочих температурах и тротлинге.

Для всех решений справедливо следующее: до +58С на процессоре все решения работают стабильно. На +60С уже начинаются зависания и тротлинг.

Более отчетливо это видно на системах без активного охлаждения, а именно C40PL Open Source AI Camera и AIO-3399Pro-JD4 (куллер не входит в комплектацию к данной плате). На них в зависимости от загруженности температура только растет, и при комнатной температуре AIO-3399Pro-JD4 при 100% загрузке уже через минуту выходит на максимальную температуру и начинает пропускать такты.

Система же с активным охлаждением тоже не избавлена от данной проблемы, но тут это решается программно. Если же мы не будем ничего делать, то активное охлаждение будет включаться только при достижении температуры в +60С на процессоре. И при +55С возвращаться на 30-40% мощности. В большинстве задач, это не столь критично, т.к. температура поднимается до этих значений только при загрузке всех процессоров на 90%. Но если вам все-же необходимо запускать систему «на все деньги», то предлагаю вам обратиться к следующей инструкции:


  1. Открываем терминал
  2. Вводим следующие команды:

sudo systemctl stop firefly-fan                      ##убиваем процесс отвечающий за управление куллером. Куллер может остановится, так что без перекуров переходим к следующим 2-м командам.

sudo /usr/bin/firefly_fan_control ROC-RK3588S-PC [0-100]  ## задает шкалу от 0 до 100 в процентах.

sudo /usr/bin/firefly_fan_control ROC-RK3588S-PC XXX              ## запускаем куллер на % который подставляем вместо XXX. Для большинства задачь хватает 50%, для максимальной нагрузки 75-100%.


На фотографии ниже как раз показано как ROC-RK3588S-PC при загрузке 80-90% в течении пары часов справляется с активной системой охлаждения.

 

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

 

Все вопросы по приобретению можете писать  на нашу почту: Info@omega-i.ru  или через корзину из нашего каталога :

Одноплатные компьютеры FIREFLY

Промышленые компьютеры в корпусе FIREFLY

Несущие платы и средства разработки