This website uses cookies to ensure you get the best experience. More about it
OK
Edge Boards for Home Computer Vision
I like doing some strange stuff with Computer Vision. For example a smart bird feeder and a camera for tracking the child, which were posted on Habr. At work, I do nearly the same things. So I monitor the current market of embedded devices for Computer Vision. I did the last review a year and a half ago. For Embedded, this is a long time. In this article, I will focus on recently released devices and some analysis of which of these devices can be used at home/for hobbies.

Edge Boards for Home Computer Vision
I like doing some strange stuff with Computer Vision. For example a smart bird feeder and a camera for tracking the child, which were posted on Habr. At work, I do nearly the same things. So I monitor the current market of embedded devices for Computer Vision. I did the last review a year and a half ago. For Embedded, this is a long time. In this article, I will focus on recently released devices and some analysis of which of these devices can be used at home/for hobbies.

The article will be constructed as follows:
Product hardware that has become a classic of production/hardware that has almost grown to such. You can take it and run it out of the box. Large OpenSource communities/personal frameworks. The deployment time of a trained network on such a piece of hardware is 1-2 days.
Product hardware that has almost become a classic, but for which there are too few open projects/documentation or where a part of the project is closed. In such projects you do not expect a big catch and most likely everything will work more or less. But it will not be possible to estimate in advance what you will need to do for network start and how to convert and transfer it.
Hardware that looks interesting, but there are no guides on them, no success stories, no detailed documentation.
There is a piece of hardware, but there is almost no information/you can't get it without requests. There is no use or success story in the market.
I have not personally used/tested all the above.
Not everything is listed. I'm sure I forgot something/don't know a lot. And I really hope that you will add something interesting in the comments.
I focus on devices with GPU/NPU or other inference accelerators. Of course there are all sorts of FPGAs and so on, but I do not consider them applicable for hobbyist projects.
1
2
3
Disclaimers for not to return in the future:
Part 1
Closest to the product
Jetson
Intel
Android phones
1
2
3
On the one hand this whole section could be reduced to a simple enumeration:
4
Other Embedded devices with a good processor without NPU/GPU.
And only Coral would have appeared on this list over the past 2 years. But in reality, everything is much more interesting. There have appeared not only new architectures, but implementations/revisions of old ones. That's what we'll talk about.
Jetson nano
Jetson xavier nx
Jetson agx
1
2
3
There are no new products in Jetson’s world. Now on sale:
4
Jetson tx2
On the 12th the GTS conference from NVIDIA started, but nothing new was announced, so most likely there will be nothing new for the next year.
There are Jetson implementations for other ecosystems. The most famous is AWS Panorama. Jetson located inside the Amazon ecosystem.
Jetson is definitely one of the most convenient platforms for hobbies. There is GPIO wiring, a lot of code that works out of the box. Neural networks do not need to be converted, it can be used in the original framework.
Of all the four Jetsons, the Nano is best suited for hobbies. It costs only $100, which is significantly less than $400 for the next in the NX series. Theoretically the TX2 is in the middle, but it's almost out of stock and it is less convenient board. There are a lot of projects on Jetson. For example which were in the media space —1, 2. Here is a good selection.
I have participated in about 5-7 projects where Jetson was the main platform. 2-3 of them have grown into high-grade products. But I have to say that I have never used it for a hobby. Why? Always it was some combination of factors. I had the first series Nano, there were power bugs. Sometimes additional performance was not needed. Sometimes I wanted to try something new.
Unlike Jetson, there are interesting things based on Movidius. First of all, these are M. 2 and mPCIe cards. Some even already were when I wrote the last review: 1, 2, 3.
Now there are a lot of them from different manufacturers.
Are they handy for any prototypes and hobbyist projects? It seems to me that there is a niche, but it is very narrow:
· when you need a lot of performance (there are builds with several movidiuses);
· when the USB connection is too unstable, but M.2/PCIe is enough (portable devices).
Secondly, there is a number of devices from luxonis. They had a big kickstarter company about OAK and OAK-D. OAK is a platform where movidius is not placed on the motherboard, but on the camera board. In addition they have several devices with movidius when it is on board 1, 2.
minus one USB connection is a plus to stability - for some projects it is useful;
fairly good design and bode;
you still can't get away from USB - most likely it will not come to production;
+
+
-
Here is a brief excerpt:
-
replaced good OpenVino with some muddy DepthAI;
more expensive than building it with original Movidius or Jetson Nano;
-
-
the camera has a good resolution, but a much more useful functionality for machine vision is failed (IR range, normal shutter speed/frequency control, synchronization with the flash, etc.)
I liked these two boards 1, 2 much more. But here it is immediately clear that the first one has a very weak processor, and the second one is expensive and has an extra connection.
FLIR, a fairly large camera manufacturer, also thought of movidius in the camera like luxonis. They released the FireFly DL which is much more grocery than the OAK and costs only $100 more (+lens).
To finish with Movidius: in terms of ease of use/availability of documentation or comments and support in my opinion Movidius is one of the most reasonable accelerators for its projects on neural networks. Its disadvantage is the difficult transition from production and necessity to convert the network. What has come out in recent years expands the possibilities of use. But still I do not have enough boards comparable to RPi 3 where movidius would stand directly on the board.
Google Coral. Here's a lot of new stuff. In my last review I was extremely dissatisfied with it — very limited boards, very buggy. But it is progressing. Bugs are fixed, a new line is released. There is almost everything the same as in movidius, but directly from the manufacturer: separate boards, sticks, M. 2, pci-e, pure chips, etc.
As the main framework there is a special tflite where are much less conversion losses. But as you can see there are still much less layers than in the ONNX.
Of the unmentioned advantages third-party manufacturers are already creating their solutions on the basis of Coral. For example Asus. Minuses — I heard only a few times that it was used in production. Usually for some simple tasks.
For myself I understand why I avoid Coral —I don't want to touch TensorFlow, other things being equal. Also it does not surpass the options above according to its current characteristics.
Phones. It is worth noting that many phones received support from coprocessor boards for neural networks. There are several frameworks for inferencing models on them. For example I described some of them here and here. The phone has become more convenient than embedded for the pilot and hobby in many cases. The main disadvantage is the lack of periphery. The second serious disadvantage for me is the internal application infrastructure. Of course Unity and Flutter simplify the logic of use. But still phones are much more complicated than Linux systems for me.
On the other hand, the phone already has a camera, an accelerometer and the Internet.
Other. By "other" I primarily mean systems where access to neural networks comes from the processor. For example you can greatly optimize networks in Intel processors due to OpenVINO. There is an optimization for Neon instructions on some processors such as the Raspberry PI. RPi4 can easily handle some real-time detection and tracking tasks. So if you need to use machine vision once a day to check the seedlings I think it will be suitable for you.
Part 2
It works, but not enough information is available
There is such a funny thing. In ML, 90% of knowledge is now open. There are articles, most of the publications are from OpenSource. Detailed frameworks on Nvidia and Intel. But the hardware board market has historically been different. Do you want to connect the camera via csi-mpi to your platform? Please buy an expensive protocol manual. Do you want to develop on our platform? To do this you need a special software that you can’t just download. And many iron producing firms do not think differently. As a result we have one and a half guides to the platform before purchasing it. Inability to test before purchase. Lack of forums on the topic. And the problem with each function in which something went wrong.
At the same time, the platforms are becoming more and more popular, more and more can be implemented. I primarily refer to such platforms:
· RockChip
· Gyrfalcon
I've seen both platforms in production, even experimented a little. But both platforms have an extremely awkward network transfer/usage framework.
RochChip. The main platform on which everything is done is Rockchip 3399Pro. The most popular implementation is probably Firefly, RockPiN10, or Toybrick.
What's funny is that the same ASUS has a version not only based on Google Coral, but also on RockChip. Now a new version is being developed - 1, 2.
In general RockChip's plus is that it is a board that all hardware developers love. There is a reference design, components, etc. Assembling the product is easier and faster than on Jetson. But the network transfer is very unpredictable. The documentation is short and semi-Chinese. It is not clear how it is supported. I have seen several projects where the networks were transferred. But it is impossible to guarantee that it is always feasible.
Gyrfalcon. The second example is Gyrfalcon which has a closed architecture, but I have seen projects on the basis of it.
It's funny that there are almost no boards based on it on sale. Something I found: 1, 2, 3.
If I understand correctly, Gyrfalcon is focused on the corporate market. Hence the closeness of the infrastructure and the small number of devices on sale. Globally nothing has changed since my last article.
Should you make your projects based on these platforms? Are they suitable for a hobby? In general this seems possible to me. The main thing is to have simple grids. Classification/basic detection, etc.
Such platforms are quite cheap and comparable to the OpenVINO/Jetson variants in price. But you need to understand clearly why to do this in such way. This could be:
· aspiration to make a product from your development,
· aspiration to build your own system,
· lack of some features in Jetson/RPi.
I have never felt such a need. But that might be logical for someone.
Part 3
Externally everything
looks good, there is some documentation, but no examples
Perhaps I will include only one Khadas VIM3 board here. Many people know about it, but I have not seen a single person who would have done something on it. It is available on the open market and easy to buy. Good speed parameters are declared.
According to the documentation it is quite simple to transfer models. But since no one has tried/tested the limitations are not clear. The board itself is based on the Amlogic A311D processor which contains an NPU module. Amlogic is positioned by many as a competitor to RockChip. But there are no comparisons of NPU modules.
Everything I said in the last section about projects is globally true here. The only thing that looks more pleasant to me is the Khades approach — the documentation is open, the gits are supported, everything seems to be in Russian English. Perhaps somehow I'll take a try, but for now I'm too lazy. The price looks good, at the level of Jetson.
Part 4
There is a hardware, but no information
Most of the boards here have very weak documentation. Some of the boards are debugging boards for mobile platforms. The other part are the boards specifically for ML, but there is almost no information and data available on the Internet.
BeagleV. The board has not yet been released, but it looks good. Developed on the basis of the U74 processor from Sinfive. The RISC-V architecture is used.
BeagleBoard is a weird board with a community around it. BeagleV board is partially built around this community. The board is based on a Texas Instruments NPU module. It seems that there are even some repositories:
TI framework for training neural networks. 55 stars on github.
Board repository. 88 stars.
1
2
There are no new products in Jetson’s world. Now on sale:
I'm not sure if this is a "popular" solution. But it may be possible to launch some basic networks.
Examples of true Edge (with minimal CPU usage and energy efficiency) are Sipeed Maixduino and Grove AI Hat. But the development on them is terrible judging to the reviews I've heard. Networks are poorly supported, performance is low. Here's an example of use. Well, in fact, all the problems of a regular Arduino.
Globally Qualcomm is a manufacturer of processors for mobile devices. But there is a certain number of embedded platforms on their basis. At the same time Qualcomm has its own SDK and its own platform for executing neural networks. I came across it about 2.5 years ago. At that time there was trash. The simplest layer of addition was not supported, not to mention splits or joins. In fact, only VGG worked for a three-channel input.
Now, according to the rumors, everything is better. In addition, Tensorflow lite should work normally. But Qualcomm is bad with the boards under the embedded. There is such a thing (but it costs almost 500 dollars). Or here is such (little information, but looks cool. For 300 dollars camera + body + accelerator — I think it’s not bad).
Roughly the same way Huawei behaves. There is a framework. I haven't used it. There are a certain number of boards. Tensorflow lite should work.
But it's hard for me to think of where it would make sense to use such a board.
Perhaps we should add a Module. After all it is a domestic manufacturer. But all the documentation is not openly posted, I have not heard about the successful application, etc.
But someone can probably apply it for the public sector.
In general the whole group of devices from the last part is very specific. Sometimes they may be useful for production. Sometimes to gain new skills. In any case the more platforms and development options the more interesting and wide choices we have.
In general the whole group of devices from the last part is very specific. Sometimes they may be useful for production. Sometimes to gain new skills. In any case the more platforms and development options the more interesting and wide choices we have.
Written by Anton Maltsev
Did you like this article?
Let`s get in touch!
Pb 1010 Lura, Sandnes,
Rogaland 4391, Norway
info@rembrain.ai
+47 94839463
RemBrain © 2021
Click to order
Let's meet
Total: 
We will be happy to present you RemBrain Cloud
Your Name
Email
Phone
Name of the company
Made on
Tilda