Выбрать платформу для работы с Computer Vision on the Edge сложно. На рынке представлены десятки плат. Если вы читаете об одном из них, вы хотите его использовать. Но когда вы пытаетесь - это не так хорошо.

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

Эта статья является результатом сравнения. Но если вы хотите узнать больше о платах, я сделал отдельное видео о каждой плате (с полным сравнением):

  1. Google Коралл
  2. Хадас Вим3
  3. ESP32 — (Видео было снято до того, как я сделал этот гайд. Но оно близко к нему, поэтому вставлю сюда. И дополнительно — https://youtu.be /ms6uoZr-4dc )
  4. Малина Пи
  5. Myriad X (NCS 2, Depth Ai (ДУБ, ДУБ-1, ДУБ-D и т. д.))
  6. Rock Pi 3A (RK3568 и т.д.) (и дополнительный — https://youtu.be/NHVPxPlY2lI о разработке)
  7. Джетсон Нано
  8. Хайло-8
  9. МАИКС-III

Надеюсь, это еще не все, и я дополню эту статью. На данный момент у меня есть:

  1. Плата К210 (о)
  2. Плата MAIX-II (о себе)

И я думаю, что добавлю их в это руководство. У меня уже есть видео о них, но оно довольно маленькое, и я не проверил в нем все критерии.

Вот видео о UnitV2 от m5stack (с процессором Sigmstar SSD202D). В настоящее время довольно сложно протестировать камеру путем полного сравнения, но я надеюсь, что сделаю это в будущем.

Плюс у меня есть список, который я планирую заказать и протестировать рано или поздно и добавить в эту или следующую статью:

  1. DEBIX Model A — он должен быть очень похож на Vim3, но с другой системой.
  2. K510 Dual RSIC-V64 — новая версия k210 представляет собой значительное ускорение по сравнению со старой платформой. Более удобная система
  3. Horizon X3 Pi AI Board — доска с большим сообществом, нацеленная на ROS. Но на борту есть аналог NPU, что делает платформу интересной для тестирования.
  4. VisionFive RISC-V — Плата с двумя модулями ускорения (NVDLA Engine и NPU). Когда я думал заказать его три месяца назад, меня остановили, потому что несколько тем на официальном форуме дали понять, что ни одна из них пока не может быть запущена (NNE не работает, NVDLA не работает). Я не думаю, что что-то еще изменилось.
  5. Orange Pi 5 — это процессор Rockchip RK3588S. Но у Orange Pi довольно развитая инфраструктура; было бы интересно сравнить с Rock Pi. Но скорее всего будет похоже. Также было бы интересно протестировать аналогичный Orange 4B.
  6. Насчет RockChip, было бы интересно протестировать что-нибудь на основе RK1808. Дешёвых плат (типа этой) много. А есть даже с камерами.
  7. KNEO STEM — модуль NPU, для которого нет отзывов.
  8. Sophon BM1880 — тоже интересная плата без большого количества отзывов.
  9. Xilinx Kria — плата FPGA. Я продолжаю хотеть собраться и попробовать. В последний раз, когда я пытался перенести математику на FPGA
  10. Ускоритель Axelera выглядит многообещающе.

Я знаю, что есть еще Beaglebone и JeVois. Но мне они показались немного устаревшими. У меня тоже не хватает сил тестировать платы без комплектной системы, такие как Arduino Portenta H7, Sony Spresense, Nordic Semi, Pi RP2040 и т.д. Но в некоторых случаях их тоже стоит учитывать!

Пойдем!

Вот финальная таблица со всеми досками:

https://docs.google.com/spreadsheets/d/1BMj8WImysOSuiT-6O3g15gqHnYF-pUGUhi8VmhhAat4/edit?usp=sharing

Но позвольте мне сначала объяснить все критерии.

Как легко работать

Насколько легко прошить? На прошивку Jetson TK1 ушло полдня. Для RPi — полчаса. Прошивка — это точка, с которой начинается ваше общение с платой после распаковки.

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

Обычный Linux. Мне нравится, когда можно работать с обычной Ubuntu. И мне грустно, когда на плате нет штатного линукса. Давайте проверим это.

Поддержка сообщества. Большое сообщество — мало проблем и много решений. Давайте проверим это.

На мой взгляд лучшая плата это RPi и NCS. Но они не являются полностью платами Computer Vision. Coral и Jetsons хороши, но не превосходны.

Поддержка моделей

Обычно NPU не очень удобны с точки зрения преобразования модели. Поговорим о моделях.

Официальный зоопарк моделей. Какие модели поддерживаются?

Неофициальный зоопарк моделей. Какое сообщество дает этой доске?

Насколько легко преобразовать случайную модель? Зачем мне первые два пункта, если я могу экспортировать что угодно?!

Проблемы с конвертацией легко устраняются. Если экспорт идет не так, как планировалось.

Как видите, три хороших платы и одна почти хорошая.

Готовность производства / Готовность хобби-проектов / Строительство досок

Некоторая дополнительная информация может позволить вам решить, стоит ли вам выбирать доску.

Скорость процессора? Многие системы компьютерного зрения требуют хороших процессоров. Давайте проверим их. Чтобы проверить это, я буду использовать инструмент stress-ng (Sudo apt-get install stress-ng) на ПК с Linux, чтобы провести сравнение.

Механические части, конструкция, термостойкость.

Легко купить. Должен ли я нажать кнопку «Связаться, чтобы узнать цену»?… Или подождать в очереди несколько месяцев?

Пины для внешнего подключения. Смогу ли я управлять реальностью?

Как видите, все платы выглядят практически одинаково, за исключением плат без Linux.

Тест скорости

По 2-3 баллам в сравнении производительности сложно составить соучастие в понимании насколько быстрая доска. Лучше посмотреть раздел Тест скорости в видео и проверить информацию здесь. Разные платы имеют разные структуры вывода, разные параметры и разное квантование.

Я везде использую размер партии = 1. И это не лучшая стратегия. Например, для Jetson это повысит производительность.

Но на мой взгляд, эти тесты могут ответить на несколько вопросов:

  1. Насколько быстрой является плата для небольших нейронных сетей?
  2. Насколько быстро работает доска для больших нейронных сетей?
  3. Какова оптимальная структура для запуска нейронной сети?

Я не буду комментировать тест скорости; на мой взгляд, нет «плохой» доски.

Цена

Для больших проектов цена имеет решающее значение. Но вы вряд ли сможете оценить реальную стоимость. Например:

  1. Стоимость Jetson была около 99$, но при нынешнем дефиците чипов его едва ли можно купить за 250
  2. Большая партия досок стоит меньше, чем маленькая.
  3. Вы можете прототипировать свою плату для некоторых чипов, что будет стоить дешевле.
  4. Дополнительная периферия увеличит стоимость. И на разных платах будет по-разному.

Вот небольшая таблица цен:

Потребляемая мощность

Кроме того, я попытался измерить энергопотребление.
Несколько важных замечаний:

  1. Я не могу измерить энергопотребление для каждой рассматриваемой платы (некоторые платы я отдаю друзьям, некоторые платы не имеют USB и т. д.)
  2. Стараюсь измерять только два режима: «холостой ход» и «работает NN». Но: некоторые платы имеют внутреннюю камеру, некоторые платы используют Wi-Fi, некоторые платы имеют дополнительную периферию и т.д. Никаких дополнительных деталей не подключаю, но
  3. Это «среднее» энергопотребление. Максимальный расход не пробовал замерять

Вот таблица:

Краткое содержание

Так. Я надеюсь, что это поможет вам выбрать доску. Но это очень маленькая статья. И позвольте мне порекомендовать еще несколько.

  1. Хорошая статья о том, что такое NPU и TPU, чем они отличаются и как оптимизирована математика: https://blog.inten.to/hardware-for-deep-learning-part-4-asic-96a542fe6a81
  2. Хорошая статья о сравнении платформ. Есть некоторые платформы, которые я не рассматривал + примеры сетей, которых у меня нет — https://qengineering.eu/deep-learning-with-raspberry-pi-and-alternatives.html
  3. Не очень подробное сравнение, но несколько интересных платформ, которые я еще не рассматривал — https://jfrog.com/connect/post/comparison-of-the-top-5-single-board-computers/
  4. Отличная и подробная статья, но досок мало — https://arxiv.org/pdf/2108.09457.pdf
  5. тест производительности ncnn для нескольких плат — https://github.com/nihui/ncnn-small-board

И, конечно же. Если хотите следить за моими статьями о досках Computer Vision — подписывайтесь на мои LinkedIn и youtube! Если у вас есть вопросы — задавайте их в комментариях и через e-mail (или мы можем проконсультировать ваш случай).