Wybór płyty Computer Vision w 2022 roku

Nov 30 2022
Wybór platformy do pracy z Computer Vision on the Edge jest trudny. Na rynku dostępne są dziesiątki desek.

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.

Obraz Autora

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):

  1. Koral Google
  2. Khadas Vim3
  3. ESP32 — (Film został nakręcony przed stworzeniem tego przewodnika. Ale jest blisko, więc wkleję go tutaj. I dodatkowy —https://youtu.be/ms6uoZr-4dc)
  4. RaspberryPi
  5. Niezliczone X (NCS 2, głębokość Ai (dąb, dąb-1, dąb-d itp.))
  6. Rock Pi 3A (RK3568 itp.) (i dodatkowy —https://youtu.be/NHVPxPlY2lIo rozwoju)
  7. Jetsona Nano
  8. Hailo-8
  1. Płyta K210 ( około )
  2. 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:

  1. DEBIX Model A — powinien być bardzo podobny do Vim3, ale z innym systemem
  2. K510 Dual RSIC-V64 — Nowa wersja k210 to znaczne przyspieszenie w stosunku do starej platformy. Wygodniejszy system
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. KNEO STEM — moduł NPU, dla którego nie ma recenzji.
  8. Sophon BM1880 — również ekscytująca płyta bez wielu recenzji.
  9. 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.

Obraz Autora

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.

Obraz Autora

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ą?

Obraz Autora

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ść.

Obraz Autora

Ale moim zdaniem te testy mogą odpowiedzieć na kilka pytań:

  1. Jak szybka jest płyta dla małych sieci neuronowych?
  2. Jak szybka jest płyta dla dużych sieci neuronowych?
  3. 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:

  1. Koszt Jetsona wynosił około 99 $, ale przy obecnym braku żetonów ledwo można go kupić za 250
  2. Duża partia desek kosztuje mniej niż mała.
  3. Możesz stworzyć prototyp swojej płyty dla niektórych żetonów, co będzie kosztować mniej.
  4. Dodatkowe peryferia zwiększą koszt. I będzie różny dla różnych płyt.
Obraz Autora

Pobór energii

Próbowałem też zmierzyć zużycie energii.
Kilka ważnych uwag:

  1. 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.)
  2. 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
  3. To „średnie” zużycie energii. Nie próbowałem mierzyć maksymalnego zużycia
Obraz Autora

Streszczenie

Więc. Mam nadzieję, że pomoże to w wyborze deski. Ale to dość mały artykuł. A ja polecę jeszcze kilka.

  1. 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
  2. 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
  3. 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/
  4. Doskonały i szczegółowy artykuł, ale niewiele tablic —https://arxiv.org/pdf/2108.09457.pdf
  5. test wydajności ncnn dla wielu płyt —https://github.com/nihui/ncnn-small-board