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

Я попытался сравнить много дешевых плат на рынке . И не только по скорости. Я попытался сравнить платформы по их «юзабилити». Как легко было бы экспортировать сети, насколько хороша поддержка. И как легко работать.
Эта статья является результатом сравнения. Но если вы хотите узнать больше о платах, я сделал отдельное видео о каждой плате (с полным сравнением):
- Google Коралл
- Хадас Вим3
- ESP32 — (Видео было снято до того, как я сделал этот гайд. Но оно близко к нему, поэтому вставлю сюда. И еще одно —https://youtu.be/ms6uoZr-4dc)
- Raspberry Pi
- Myriad X (NCS 2, Depth Ai (ДУБ, ДУБ-1, ДУБ-D и т. д.))
- Rock Pi 3A (RK3568 и т. д.) (и дополнительный —https://youtu.be/NHVPxPlY2lIо развитии)
- Джетсон Нано
- Хайло-8
- Плата K210 ( о )
- Плата MAIX-II ( о )
И вот заказал m5stack (с процессором Sigmstar SSD202D) для проверки (уже протестировал, скоро будет видео).
Плюс у меня есть список, который я планирую заказать и протестировать рано или поздно и добавить в эту или следующую статью:
- DEBIX Model A — он должен быть очень похож на Vim3, но с другой системой.
- K510 Dual RSIC-V64 — новая версия k210 — это значительное ускорение по сравнению со старой платформой. Более удобная система
- Horizon X3 Pi AI Board — Плата с большим сообществом, нацеленная больше на ROS. Но на борту есть аналог NPU, что делает платформу интересной для тестирования.
- VisionFive RISC-V — плата с двумя модулями ускорения (NVDLA Engine и NPU). Когда я думал о заказе три месяца назад, меня остановили, потому что несколько тем на официальном форуме дали понять, что ни одна из них еще не может быть запущена ( NNE не работает , NVDLA не работает ). Я не думаю, что что-то еще изменилось.
- Orange Pi 5 — это Rockchip RK3588S. Но у Orange Pi довольно развитая инфраструктура; было бы интересно сравнить с Rock Pi. Но скорее всего будет похоже. Также было бы интересно протестировать аналогичный Orange 4B.
- Насчет RockChip, было бы интересно протестировать что-нибудь на базе RK1808 . Есть много дешевых плат (например, эта ). А есть даже с камерами.
- KNEO STEM — модуль NPU, на который нет отзывов.
- Sophon BM1880 — тоже захватывающая плата без большого количества отзывов.
- Xilinx Kria — это плата FPGA. Я продолжаю хотеть собраться и попробовать. В последний раз, когда я пытался перенести математику на FPGA
Пошли!
Вот финальная таблица со всеми досками:
https://docs.google.com/spreadsheets/d/1BMj8WImysOSuiT-6O3g15gqHnYF-pUGUhi8VmhhAat4/edit?usp=sharing
Но позвольте мне сначала объяснить все критерии.
Как легко работать
Насколько легко прошить? На прошивку Jetson TK1 ушло полдня. Для RPi — полчаса. Прошивка — это точка, с которой начинается ваше общение с платой после распаковки.
Легко работать. Когда я работал с DaVinci, отладка занимала целую вечность. Сегодня все процессы обычно намного проще. Давайте поговорим о них.
Обычный линукс . Мне нравится, когда можно работать с обычной Ubuntu. И мне грустно, когда на плате нет штатного линукса. Давайте проверим это.
Поддержка сообщества. Большое сообщество — мало проблем и много решений. Давайте проверим это.

На мой взгляд лучшая плата это RPi и NCS. Но они не являются полностью платами Computer Vision. Coral и Jetsons хороши, но не превосходны.
Поддержка моделей
Обычно NPU не очень удобны с точки зрения преобразования модели. Поговорим о моделях.
Официальный зоопарк моделей . Какие модели поддерживаются?
Неофициальный зоопарк моделей . Какое сообщество дает этой доске?
Насколько легко преобразовать случайную модель? Зачем мне первые два пункта, если я могу экспортировать что угодно?!
Легко отлаживать проблемы с преобразованием. Если экспорт пойдет не так, как планировалось.

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

Как видите, все платы выглядят практически одинаково, за исключением плат без Linux.
Тест скорости
По 2-3 баллам в сравнении производительности сложно составить полное представление о том, «насколько быстрая плата». Лучше посмотреть части видео «Тест скорости» и проверить информацию здесь . Разные платы имеют разные структуры вывода, разные параметры и разное квантование.
Я везде использую размер партии = 1. И это не лучшая стратегия. Например, для Jetson это повысит производительность.

Но на мой взгляд, эти тесты могут ответить на несколько вопросов:
- Насколько быстрой является плата для небольших нейронных сетей?
- Насколько быстро работает доска для больших нейронных сетей?
- Какова оптимальная структура для запуска нейронной сети?
Цена
Для больших проектов цена имеет решающее значение. Но вы вряд ли сможете оценить реальную стоимость. Например:
- Стоимость Jetson была около 99$, но при нынешнем дефиците чипов его едва ли можно купить за 250
- Большая партия досок стоит меньше, чем маленькая.
- Вы можете прототипировать свою плату для некоторых чипов, что будет стоить меньше.
- Дополнительная периферия увеличит стоимость. И на разных платах будет по-разному.

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

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