Computer Vision boards in 2022

Computer Vision boards in 2022

Anton Maltsev

During the last 15 years, our team (rembrain.ai) has worked with many different embedded devices for computer vision projects. We started with early DaVinci and BlackFin platforms continue with Raspberry Pi (and compatible platforms) and then Jetson’s family. And so on, and so on….

I already made a lot of guides about platform comparison and testing. Here are the guides in English:

  1. CV boards in 2022 (20 min guide) - https://youtu.be/Hf4Ra59_DCA
  2. How to start neural networks on ESP32 - https://youtu.be/w_sCTPDuutQ
  3. Dog detection on ESP32 - from train to deploy - https://youtu.be/ms6uoZr-4dc

And here are guides and comparisons in Russian:

  1. https://habr.com/ru/company/recognitor/blog/551552/ (Edge платы для домашнего Computer Vision)
  2. https://www.youtube.com/watch?v=Kend6gDyRws (Выбор Edge платформы для Computer Vision проекта)
  3. https://www.youtube.com/watch?v=5yHgpS6O0A0 (Что появилось нового за год в мире Embedded для нейронных сетей)
  4. https://habr.com/ru/company/recognitor/blog/524980/ (Как запихать нейронку в кофеварку)
  5. https://habr.com/ru/company/recognitor/blog/468421/ (Ультимативное сравнение embedded платформ для AI)

But they are suffering from the same problems:

  1. You need to make universal criteria for each platform to compare (but sometimes the platforms are entirely different)
  2. The platforms are developing over time. Let’s take Google Coral. In 2019, when it was realized - it was a terrible platform (hard to start, hard to compile models). But today - one of the best.
  3. Some of the boards weren’t tested by myself. This is creating the possibility of error in the guides.

Problems with "usual" guides

So, I decide to make this guide, where:

  1. I will make the video for every platform
  2. I will update the results from time to time
  3. The criteria are more “production-like”
  4. All boards are tested by me in 2022


I will transfer this guide to Medium after I will reach 5-6 devices in the guide.

Current platforms and videos:

  1. Google Coral - https://youtu.be/hMnzSk35lSU
  2. Khadas Vim3 - https://youtu.be/ii-KpD-KdYw
  3. ESP32 - https://youtu.be/w_sCTPDuutQ  (The video was filmed before I made this guide. But in theory it is close to it, so I'll paste it here.)
  4. Raspberry Pi - https://youtu.be/EE2x3BhxubA
  5. Myriad X (NCS 2, Depth Ai (OAK,OAK-1,OAK-D,e.t.c.)) - https://youtu.be/ATaYQ3FBFxk
  6. Rock Pi 3A (RK3568, e.t.c.) - https://youtu.be/Sadmw6Rrj1Y
  7. Jetson Nano - https://youtu.be/ja7HPgJWcg4

Boards that I have and will append pretty soon:

  1. k210

Boards that I will probably take from friends to test:

  1. Sipeed MAIX-II
  2. Hailo-8

And here you can find the table - https://docs.google.com/spreadsheets/d/1BMj8WImysOSuiT-6O3g15gqHnYF-pUGUhi8VmhhAat4/edit?usp=sharing 

Let me describe the characteristics that I will compare:

How easy to work

  1. How easy is it to flash? It took half a day to flash Jetson TK1. For RPi - half an hour. Firmware is the point where your communication with the board begins after unboxing. I think we should start here.
  2. Easy to work with. When I was working with DaVinci - debugging take ages. Today all processes are usually much easy. Let’s speak about them. 
  3. Conventional Linux. I like when you can work with regular Ubuntu. And it makes me sad when no regular Linux on the board. Let’s check this.
  4. Community support. Big community - low amount of problems and a lot of solutions. Let’s check it. 


Models. Usually, NPUs are not very user-friendly. Let’s have a talk about “How easy are they to work with”. 

  1. Oficial Models Zoo. What models are supported? 
  2. Unofficial Models Zoo. Created by the community. 
  3. How easy is it to convert the random model? Why do I need the first two points if I can convert anything?!
  4. Easy to debug problems with the conversion. If export goes not as planned.


Production readiness / Hobby projects readiness / Board construction:

  1. Processor speed? A lot of computer vision systems required good processors. Let’s check them. To test it I will use the stress-ng (sudo apt-get install stress-ng) tool on Linux PC to make a comparison. 
  2. Mechanical parts, construction, temperature stability
  3. Easy to buy. Should I press the “Contact to require the price” button?... Or wait in a line for a few months.
  4. Pins for external connection. Will I be able to manipulate reality?



Speed Test. It’s hard to make a complicit understanding of “how fast the board” by 2-3 points in performance comparison. But I will try. 

  1. MobileNet v1
  2. MobileNet v2
  3. SSD MobileNet v1
  4. SSD mobileNet v2
  5. Yolov5S
  6. ResNet50


Price. There is a little trick here. Some boards are sold without an SD card. Some without a fan. Some are sold with a case. I put an approximate price at which you can buy what I'm testing. But in large quantities, it can be cheaper.

Summary

But this comparison will not be complete without:

  1. What does the workflow look like?
  2. Real project experience. Real products and not hobby ones.

But there will be no marks.






Report Page