Wybór płyty Computer Vision w 2022 roku
Wybór platformy do pracy z Computer Vision on the Edge jest trudny. Na rynku dostępne są dziesiątki desek. Jeśli przeczytasz o jednym z nich, chcesz go użyć. Ale kiedy próbujesz - nie jest tak dobrze.

Próbowałem porównać wiele tanich desek na rynku . I to nie tylko pod względem szybkości. Próbowałem porównać platformy pod kątem ich „użyteczności”. Jak łatwo byłoby eksportować sieci, jak dobre jest wsparcie. I jak łatwo jest pracować.
Ten artykuł jest wynikiem porównania. Ale jeśli chcesz zobaczyć więcej o tablicach, przygotowałem inny film o każdej z nich (z pełnym porównaniem):
- Koral Google
- Khadas Vim3
- ESP32 — (Film został nakręcony przed stworzeniem tego przewodnika. Ale jest blisko, więc wkleję go tutaj. I dodatkowy —https://youtu.be/ms6uoZr-4dc)
- RaspberryPi
- Niezliczone X (NCS 2, głębokość Ai (dąb, dąb-1, dąb-d itp.))
- Rock Pi 3A (RK3568 itp.) (i dodatkowy —https://youtu.be/NHVPxPlY2lIo rozwoju)
- Jetsona Nano
- Hailo-8
- Płyta K210 ( około )
- Tablica MAIX-II ( o )
A teraz zamówiłem m5stack (z procesorem Sigmstar SSD202D), aby go przetestować (już przetestowany, film pojawi się wkrótce).
Dodatkowo mam listę, którą planuję zamówić i przetestować prędzej czy później i dodać do tego lub następnego artykułu:
- DEBIX Model A — powinien być bardzo podobny do Vim3, ale z innym systemem
- K510 Dual RSIC-V64 — Nowa wersja k210 to znaczne przyspieszenie w stosunku do starej platformy. Wygodniejszy system
- Tablica Horizon X3 Pi AI — tablica z dużą społecznością ukierunkowana bardziej na ROS. Ale na pokładzie jest odpowiednik NPU, co sprawia, że platforma jest interesująca do przetestowania.
- VisionFive RISC-V — Płyta z dwoma modułami akceleracyjnymi (silnik NVDLA i NPU). Kiedy myślałem o zamówieniu go trzy miesiące temu, zostałem zatrzymany, ponieważ kilka wątków na oficjalnym forum wyjaśniło, że żadnego z nich nie można jeszcze uruchomić ( NNE nie działa , NVDLA nie działa ). Myślę, że jeszcze nic się nie zmieniło.
- Orange Pi 5 — To jest Rockchip RK3588S. Ale Orange Pi ma dość zaawansowaną infrastrukturę; ciekawe byłoby porównanie z Rock Pi. Ale najprawdopodobniej będzie podobnie. Interesujące byłoby również przetestowanie Orange 4B, który jest podobny.
- Jeśli chodzi o RockChip, byłoby interesujące przetestować coś opartego na RK1808 . Istnieje wiele tanich desek (takich jak ta ). A są nawet tacy, którzy mają aparaty.
- KNEO STEM — moduł NPU, dla którego nie ma recenzji.
- Sophon BM1880 — również ekscytująca płyta bez wielu recenzji.
- Xilinx Kria — to płytka FPGA. Ciągle chcę się zebrać i wypróbować. Ostatnim razem próbowałem przenieść matematykę do FPGA
Chodźmy!
Oto stół finałowy ze wszystkimi planszami:
https://docs.google.com/spreadsheets/d/1BMj8WImysOSuiT-6O3g15gqHnYF-pUGUhi8VmhhAat4/edit?usp=sharing
Ale najpierw wyjaśnię wszystkie kryteria.
Jak łatwo pracować
Jak łatwo jest flashować? Flashowanie Jetsona TK1 zajęło pół dnia. Dla RPi — pół godziny. Firmware to punkt, w którym rozpoczyna się komunikacja z płytą po rozpakowaniu.
Łatwy w obsłudze. Kiedy pracowałem z DaVinci — debugowanie trwało wieki. Obecnie wszystkie procesy są zwykle znacznie łatwiejsze. Porozmawiajmy o nich.
Zwykły Linux . Lubię, kiedy możesz pracować ze zwykłym Ubuntu. I smuci mnie, gdy na pokładzie nie ma zwykłego Linuksa. Sprawdźmy to.
Społeczność. Duża społeczność — mała ilość problemów i dużo rozwiązań. Sprawdźmy to.

Moim zdaniem najlepsza płyta to RPi i NCS. Ale nie są to w pełni tablice Computer Vision. Coral i Jetsons są dobre, ale nie doskonałe.
Wsparcie modeli
Zwykle NPU nie są zbyt przyjazne dla użytkownika pod względem konwersji modelu. Porozmawiajmy o modelach.
Oficjalne zoo modeli . Jakie modele są obsługiwane?
Nieoficjalne zoo modeli . Co społeczność daje tej tablicy?
Jak łatwo jest przekonwertować model losowy? Po co mi pierwsze dwa punkty, skoro mogę cokolwiek wyeksportować?!
Łatwe do debugowania problemy z konwersją. Jeśli eksport nie pójdzie zgodnie z planem.

Jak widać trzy dobre deski i jedna prawie dobra.
Gotowość produkcyjna / Gotowość projektów hobbystycznych / Budowa płyty
Niektóre dodatkowe informacje mogą pozwolić ci zdecydować, czy powinieneś wybrać tablicę.
Szybkość procesora ? Wiele komputerowych systemów wizyjnych wymaga dobrych procesorów. Sprawdźmy je. Aby to przetestować, użyję narzędzia stress-ng (Sudo apt-get install stress-ng) na komputerze z systemem Linux, aby dokonać porównania.
Części mechaniczne , konstrukcja, stabilność temperaturowa.
Łatwy do kupienia. Czy powinienem nacisnąć przycisk „Kontakt w celu ustalenia ceny”?… A może czekać kilka miesięcy w kolejce?
Kołki do podłączenia zewnętrznego . Czy będę w stanie manipulować rzeczywistością?

Jak widać, cała płyta wygląda prawie tak samo, z wyjątkiem płyt bez Linuksa.
Test prędkości
Trudno jest dokonać współudziału w zrozumieniu „jak szybka jest płyta” o 2–3 punkty w porównaniu wydajności. Lepiej spojrzeć na części filmów „Test prędkości” i sprawdzić informacje tutaj . Różne płytki mają różne ramy wnioskowania, różne parametry i różną kwantyzację.
Wszędzie używam rozmiaru partii = 1. A to nie jest najlepsza strategia. Na przykład w przypadku Jetsona zwiększy to wydajność.

Ale moim zdaniem te testy mogą odpowiedzieć na kilka pytań:
- Jak szybka jest płyta dla małych sieci neuronowych?
- Jak szybka jest płyta dla dużych sieci neuronowych?
- Jaka jest optymalna struktura do uruchomienia sieci neuronowej?
Cena
W przypadku dużych projektów cena jest krytyczna. Ale trudno oszacować rzeczywisty koszt. Na przykład:
- Koszt Jetsona wynosił około 99 $, ale przy obecnym braku żetonów ledwo można go kupić za 250
- Duża partia desek kosztuje mniej niż mała.
- Możesz stworzyć prototyp swojej płyty dla niektórych żetonów, co będzie kosztować mniej.
- Dodatkowe peryferia zwiększą koszt. I będzie różny dla różnych płyt.

Pobór energii
Próbowałem też zmierzyć zużycie energii.
Kilka ważnych uwag:
- Nie mogę zmierzyć zużycia energii dla każdej rozważanej płyty (niektóre płyty daję znajomym, niektóre płyty nie mają USB itp.)
- Staram się mierzyć tylko dwa reżimy: „bezczynny” i „działający NN”. Ale: niektóre płyty mają wewnętrzną kamerę, niektóre płyty używają wifi, niektóre płyty mają dodatkowe peryferia itp. Nie podłączam żadnych dodatkowych części, ale
- To „średnie” zużycie energii. Nie próbowałem mierzyć maksymalnego zużycia

Streszczenie
Więc. Mam nadzieję, że pomoże to w wyborze deski. Ale to dość mały artykuł. A ja polecę jeszcze kilka.
- Dobry artykuł o tym, czym jest NPU i TPU, czym się różnią i jak zoptymalizowana jest matematyka:https://blog.inten.to/hardware-for-deep-learning-part-4-asic-96a542fe6a81
- Dobry artykuł o porównywaniu platform. Istnieje kilka platform, których nie sprawdziłem + przykłady sieci, których nie mam —https://qengineering.eu/deep-learning-with-raspberry-pi-and-alternatives.html
- Niezbyt szczegółowe porównanie, ale kilka ekscytujących platform, których jeszcze nie recenzowałem —https://jfrog.com/connect/post/comparison-of-the-top-5-single-board-computers/
- Doskonały i szczegółowy artykuł, ale niewiele tablic —https://arxiv.org/pdf/2108.09457.pdf
- test wydajności ncnn dla wielu płyt —https://github.com/nihui/ncnn-small-board