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.
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):
- Google Coral
- Khadas Vim3
- 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 )
- Raspberry Pi
- Myriad X (NCS 2, Depth Ai (OAK,OAK-1,OAK-D,e.t.c.))
- Rock Pi 3A (RK3568, e.t.c.)(and an additional one — https://youtu.be/NHVPxPlY2lI about development)
- Jetson Nano
I hope this is not all, and I will supplement this article. As of right now, I have:
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.
Also, my friend promised to let me test out Hailo-8, but I haven’t gotten around to it yet. By the documentation, Hailo 8 looks excellent. And now I ordered an m5stack (with Sigmstar SSD202D processor) to test it out.
Plus, I have a list that I plan to order and test sooner or later and add to this article or the next one:
- DEBIX Model A — It should be very similar to Vim3 but with a different system
- K510 Dual RSIC-V64 — The new version of k210 is a significant speedup over the old platform. More convenient system
- 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.
- 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.
- 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.
- 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.
- KNEO STEM — NPU module for which there are no reviews.
- Sophon BM1880 — as well, an exciting board without many reviews.
- 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
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!
Here is the final table with all the boards :
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.
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.
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.
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?
As you can see, all the board looks almost the same except for boards without Linux.
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.
But in my opinion, these tests can answer a few questions:
- How fast is the board for small neural networks?
- How fast is the board for the big neural networks?
- 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.
For big projects, the price is critical. But you can hardly estimate the actual cost. For example:
- Jetson’s cost was about 99$, but with the current chip shortage, you can barely buy it with 250
- A big consignment of boards costs less than a small one.
- For some chips, you can prototype your board, which will cost less.
- Additional periphery will increase the cost. And it will be different for the different boards.
Here is the small price table:
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.
- 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
- 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
- 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/
- An excellent and detailed article, but not many boards — https://arxiv.org/pdf/2108.09457.pdf
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).