Introduction
In this article, we introduce an example of endpoint AI using Lattice's FPGA.
Click here for an overview of Endpoint AI
All are based on the reference design provided by Lattice.
When implementing endpoint AI that completes processing on the terminal, we need to consider the balance between the required AI performance and the hardware specifications to be implemented.
Lattice FPGA's main features of "low power consumption" and "small size" can be utilized in "extremely limited power environment" such as battery drive and "physical space limited" such as portable equipment. It is very advantageous in cases where AI functions must be realized in a very limited environment.
In some cases, an FPGA with a minimum size of 2.15 x 2.55 mm consumes only 7 mW of power.
On the other hand, AI processing performance on Lattice FPGAs is somewhat limited compared to other large-scale hardware.
Please check out the video below to see how much processing can be done with a small, low-power AI chip.
1. Human detection
2. Gesture detection
3. 個人認証
1. Human detection
First of all, it is used to detect the upper body of a person, calculate the range coordinates, and count the number of objects.
device |
ECP5 |
CrossLink NX |
package size |
Minimum 10x10mm |
Minimum 3.7×4.1mm |
electric power |
850mW |
200mW |
image size |
224×224×3ch |
224×224×3ch |
processing speed |
10fps |
17fps |
model structure |
Mobilenet base |
Mobilenet base |
Many infrared sensors, such as infrared sensors, respond to objects other than people, and are suitable for AI processing to determine whether people are present or not.
For example, as shown below, it can be used to issue an alert when it is determined that a person has entered a dangerous area in a factory.
In the above case, the coordinates, range, and number of people can be detected, but if it is only ``whether there is a person'', it is possible to realize endpoint AI with a smaller chip.
device |
iCE40 Ultra Plus |
package size |
Minimum 2.15×2.55mm |
electric power |
7mW |
image size |
64×64×3ch |
processing speed |
5fps |
model structure |
Mobilenet base |
In the video, the FPGA is used to determine whether a person is present or not, and to control the motor, but it is possible to implement functions other than motor control by making use of the flexibility of the FPGA.
For example, it can be used as a monitor screen saver mode as shown below.
2. Gesture detection
It is used to detect hand shapes such as goo and pa, and to detect finger movements such as taps and slides.
In the example below, both static and dynamic gesture detection are supported by switching the FPGA configuration data.
It turns out that even a small FPGA like Lattice can handle a variety of use cases.
device |
iCE40 Ultra Plus |
package size |
Minimum 2.15×2.55mm |
electric power |
7mW |
image size |
32×32×1ch |
processing speed |
10fps |
model structure |
VGG8 like |
Such gesture detection can be used, for example, for non-contact operations such as display operations.
In addition, in order to obtain appropriate inference results, it is necessary to select the optimum sensor according to the actual usage environment of the product.
The following video introduces gesture detection with various sensors (image sensor, temperature sensor, proximity sensor).
All of these examples are for ultra-compact FPGAs (minimum package size 2.15 x 2.55mm/operating power about 7mW).
image sensor |
Temperature sensor |
proximity sensor |
|
color identification |
Possible |
Impossible |
Impossible |
Ambient brightness effect |
Big |
small |
During ~ |
Ambient temperature effect |
small |
Big |
small |
background effect |
Big |
small |
small |
3.個人認証
It is used to identify registered faces and perform personal authentication.
device |
ECP5 |
package size |
Minimum 10x10mm |
electric power |
850mW |
image size |
90×90×3ch |
processing speed |
2fps |
model structure |
VGG8 like |
For example, if it is implemented on a terminal for workers in a factory, it can be used to manage the operation history among employees on a three-shift system, or if it is a machine tool that requires advanced operating skills, it can be operated by anyone other than a specific person. You can imagine how to use it in such a way that it is prohibited.
Ready to start evaluating endpoint AI?
We have introduced some examples of endpoint AI. How was it?
I would be happy if you could get even a little bit of interest.
I explained as much as I could with the endpoint AI in the video and specification table, but I think it was difficult to judge whether it can actually be introduced in the company with various uses in the real environment. increase.
Evaluation of endpoint AI can be easily started with development support tools and evaluation boards.
If you are interested in how to do this, please see below.