Choosing Computer Vision board in 2022/2023

Anton Maltsev
7 min readSep 11, 2022

--

Choosing a platform to work with Computer Vision on the Edge is difficult. There are dozens of boards on the market. If you read about one of them, you want to use it. But when you try - it is not so good.

Image by the Author

I tried to compare a lot of the cheap boards on the market. And not only in terms of speed. I tried to compare the platforms by their “usability.” How easy it would be to export networks, how good the support is. And how easy it is to work.

This article is the result of the comparison. But if you want to see more about the boards, there is a different video I made about each board (with complete comparison):

  1. Google Coral
  2. Khadas Vim3
  3. ESP32 — (The video was filmed before I made this guide. But it is close to it, so I’ll paste it here. And an additional one — https://youtu.be/ms6uoZr-4dc )
  4. Raspberry Pi
  5. Myriad X (NCS 2, Depth Ai (OAK,OAK-1,OAK-D,e.t.c.))
  6. Rock Pi 3A (RK3568, e.t.c.)(and an additional one — https://youtu.be/NHVPxPlY2lI about development)
  7. Jetson Nano
  8. Hailo-8
  9. MAIX-III

I hope this is not all, and I will supplement this article. As of right now, I have:

  1. K210 board (about)
  2. MAIX-II board (about)

And I think that I will append them to this guide. I already have the video about them, but it’s pretty tiny, and I didn’t check all criteria in it.

Here is the video about UnitV2 from m5stack (with Sigmstar SSD202D processor). At this time, it’s pretty hard to test the camera through full comparison, but I hope I will do this in the future.

Plus, I have a list that I plan to order and test sooner or later and add to this article or the next one:

  1. DEBIX Model A — It should be very similar to Vim3 but with a different system
  2. K510 Dual RSIC-V64 — The new version of k210 is a significant speedup over the old platform. More convenient system
  3. Horizon X3 Pi AI Board — A board with a large community aimed more at ROS. But there is some NPU counterpart on board, which makes the platform interesting to test.
  4. VisionFive RISC-V — A board with two acceleration modules (NVDLA Engine and NPU). When I thought about ordering it three months ago, I got stopped because a few threads on the official forum made it clear that neither of them could be run yet (NNE not working, NVDLA not working). I don’t think anything has changed yet.
  5. Orange Pi 5 — This is a Rockchip RK3588S. But Orange Pi has its quite advanced infrastructure; it would be interesting to compare with Rock Pi. But it will most likely be similar. It would also be interesting to test the Orange 4B, which is similar.
  6. About RockChip, it would be interesting to test something based on the RK1808. There are a lot of cheap boards out there (like this one). And there are even some with cameras.
  7. KNEO STEM — NPU module for which there are no reviews.
  8. Sophon BM1880 — as well, an exciting board without many reviews.
  9. Xilinx Kria — is an FPGA board. I keep wanting to get my act together and try it out. The last time I tried to port math to an FPGA
  10. Axelera accelerator looks promising.

I know that there are also Beaglebone and JeVois. But they seemed a bit outdated to me. I also don’t have enough strength to test boards without a complete system, such as Arduino Portenta H7, Sony Spresense, Nordic Semi, Pi RP2040, etc. But in some cases, you should also consider them!

Let’s go!

Here is the final table with all the boards :

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

But let me explain all the criteria first.

How easy to work

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.

Easy to work with. When I was working with DaVinci — debugging took ages. Today all processes are usually much easy. Let’s speak about them.

Conventional Linux. I like when you can work with regular Ubuntu. And it makes me sad when there is no regular Linux on the board. Let’s check this.

Community support. Big community — low amount of problems and a lot of solutions. Let’s check it.

Image by the Author

In my opinion, the best board is RPi and NCS. But they are not fully Computer Vision boards. Coral and Jetsons are good but not excellent.

Models support

Usually, NPUs are not very user-friendly in terms of model conversion. Let’s talk about models.

Oficial Models Zoo. What models are supported?

Unofficial Models Zoo. What community give to this board?

How easy is it to convert the random model? Why do I need the first two points if I can export anything?!

Easy to debug problems with the conversion. If export goes not as planned.

Image by the Author

As you can see, three good boards and one almost good.

Production readiness / Hobby projects readiness / Board Construction

Some additional information can allow you to decide if you should choose the board.

Processor speed? A lot of computer vision systems require 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.

Mechanical parts, construction, temperature stability.

Easy to buy. Should I press the “Contact to require the price” button?… Or wait in line for a few months?

Pins for external connection. Will I be able to manipulate reality?

Image by the Author

As you can see, all the board looks almost the same except for boards without Linux.

Speed Test

It’s hard to make a complicit understanding of “how fast the board” by 2–3 points in performance comparison. It’s better to look at the “Speed test” parts of videos and check the information here. Different boards have different inference frameworks, different parameters, and different quantization.

I use batch size =1 everywhere. And this is not the best strategy. For example, for Jetson, it will increase performance.

Image by the Author

But in my opinion, these tests can answer a few questions:

  1. How fast is the board for small neural networks?
  2. How fast is the board for the big neural networks?
  3. What is the optimal framework to run a neural net?

I will not comment on the speed test; in my opinion, there is no “bad” board.

Price

For big projects, the price is critical. But you can hardly estimate the actual cost. For example:

  1. Jetson’s cost was about 99$, but with the current chip shortage, you can barely buy it with 250
  2. A big consignment of boards costs less than a small one.
  3. You can prototype your board for some chips, which will cost less.
  4. Additional periphery will increase the cost. And it will be different for the different boards.

Here is the small price table:

Image by the Author

Power consumption

Also, I tried to measure power consumption.
Few important notes:

  1. I can’t measure power consumption for every board in consideration (some boards I give to friends, some boards don’t have USB, e.t.c)
  2. I try to measure only two regimes: “idle” and “running NN”. But: some boards have an internal camera, some boards use wifi, some boards have additional periphery, e.t.c. I don’t connect any additional parts, but
  3. It’s “mean” power consumption. I didn’t try to measure a maximum consumption

Here is the table:

Image by the Author

Summary

So. I hope that this will help you to choose your board. But it’s a pretty small article. And let me recommend a few more.

  1. A good article on what is NPU, and TPU, how they differ, and how the math is optimized: https://blog.inten.to/hardware-for-deep-learning-part-4-asic-96a542fe6a81
  2. Good article on comparing platforms. There are some platforms I haven’t reviewed + examples for networks I don’t have — https://qengineering.eu/deep-learning-with-raspberry-pi-and-alternatives.html
  3. Not a very detailed comparison, but some exciting platforms I haven’t reviewed yet — https://jfrog.com/connect/post/comparison-of-the-top-5-single-board-computers/
  4. An excellent and detailed article, but not many boards — https://arxiv.org/pdf/2108.09457.pdf
  5. ncnn performance test for a bunch of boards — https://github.com/nihui/ncnn-small-board

And, of course. If you want to follow my articles about Computer Vision boards — subscribe on my LinkedIn and youtube! If you have a question — ask them in the comments and via e-mail (or we can consult your case).

--

--