In recent years, with the continuous development of artificial intelligence technology, corresponding AI algorithms and product solutions have emerged one after another. However, the high technical threshold and uneven product stability have become the main bottlenecks restricting the development of the industry. M1808 AI core board is an important product of ZLG in the field of AI and computer vision. It aims to provide users with an “embedded” + “AI” solution platform, enabling traditional embedded hardware with AI algorithms, in addition to providing a stable and reliable hardware platform In addition, AI algorithms based on various application datasets are provided free of charge, which greatly reduces the development threshold of “embedded” and “AI”.
In the current popular face recognition field, ZlG implants the face recognition algorithm into the M1808 AI core board for free, providing users with a systematic solution of “hardware + software + algorithm”. This solution can not only meet the needs of customers for rapid development, but also ensure the accuracy of verification results to the greatest extent. It can be widely used in access management scenarios such as railway stations, security checkpoints, campuses, communities, and office buildings.
This article will give a detailed introduction to ZLG’s face recognition solution from three aspects: main control platform, supporting hardware and detection demo.
1. Main control platform
Face recognition has a wide range of applications, but the framework of the solution is broadly similar. ZLG closely follows the development of the industry and summarizes the block diagram of the face recognition solution as shown in the figure below.
It can be seen from the block diagram that the main control platform selects the latest M1808 AI core board from ZLG. As a product for artificial intelligence development platform, M1808 has high computing speed, high computing precision and low power consumption in visual processing.
Figure 1.2 M1808 core board products
As shown in the figure above, the M1808 AI core board is equipped with a 1.6GHz dual-core 64-bit Cortex-A35 architecture processor RK1808, integrated NPU peak computing power of up to 3.0TOPs, supports INT8/INT16/FP16 hybrid operations, and maximizes performance and functionality. It also supports network model conversion of a series of frameworks such as TensorFlow/MXNet/PyTorch/Caffe, with strong compatibility. Its VPU video processing unit supports full-format 1080P video codec, supports camera video signal input, and has a built-in ISP. Figure 1.3 shows the functional block diagram of the RK1808 chip.
Figure 1.3 Functional block diagram of processor RK1808
List of overall features of the core board:
MPU adopts high-performance 64-bit Cortex-A35 processor RK1808, the working frequency can reach 1.6GHz;
Integrated 32KByte level one instruction cache; integrated 32KByte level one data cache;
Integrated NPU (Neural Network Processing Unit) coprocessor;
Supports up to 1920 Int8 MAC operations per cycle;
Support up to 64 FP16 MAC operations per cycle;
Supports up to 192 Int16 MAC operations per cycle;
512Kbyte internal buffer space;
Support full format H.264 1080p@60fps decoding and H.264 1080p@30fps encoding;
Integrated high-quality JPEG encoder/decoder;
Memory: 1GByte DDR4 SDRAM;
Storage: 4GByte eMMC;
Linux operating system.
Figure 1.4 shows the product picture of the M1808_EV_Board evaluation board.
Figure 1.4 M1808_EV_Board evaluation board product
2. Supporting hardware
In terms of image data acquisition, the M1808_EV_Board evaluation board provides 1-way CSI camera interface and 1-way expandable USB interface for development users. The face detection and recognition scheme can choose a binocular camera with a USB interface to support the face recognition algorithm library with the function of living body detection. The binocular camera is shown in Figure 1.5.
Figure 1.5 Binocular camera
In terms of image Display, the M1808 evaluation board provides users with two liquid crystal display interfaces, MIPI-DSI interface and RGB interface. The face recognition Demo operation display introduced in this article uses a 10.1-inch LVDS interface liquid crystal display LCD-1280800W101TC produced by ZLG, as shown in Figure 1.6. The faces captured by the camera will be marked and displayed on the LCD screen in the form of real-time boxes.
Figure 1.6 LCD-1280800W101TC 10.1 inch LVDS LCD display kit
3. Face Recognition Detection Demo
1. Build the development environment
Copy the cross compilation tool m1808-sdk-1.0-ga.tar.gz of the M1808 platform to the development host Ubuntu, and execute the following command to decompress and install:
sudo mkdir -p /opt/zlg
sudo tar -xf m1808-sdk-1.0-ga.tar.gz –C /opt/zlg
Add the following statement to the user configuration file ~/.bashrc, save and reopen the terminal to use the platform toolchain directly to complete the toolchain environment construction:
Demo uses the Qt graphical interface development framework. Add related libraries such as OpenCV library, Sqlite3 library and face recognition algorithm library developed by ZLG algorithm team to the project file, and then the internal program calls various interfaces provided by related libraries, including data storage, model building initialization, face detection , face comparison and other APIs to implement related face detection and recognition functions.
For example, regarding the realization of the face detection function, first define a handle of type rockx_handle_t, and call the following API to complete the initialization of the specified function module by operating the handle:
rockx_ret_t rockx_create(rockx_handle_t* handle, rockx_module_t m, void* config, size_t config_size);
Then call the face detection API to implement the face detection function:
rockx_ret_t rockx_face_detect(rockx_handle_t handle,rockx_image_t* in_img,rockx_object_array_t* face_array,rockx_async_callback callback);
The overall flow diagram of Demo is shown in Figure 1.7 below:
Figure 1.7 Demo program flow chart
The actual detected face is marked with a green check box, and the demo running display effect is shown in Figure 1.8:
Figure 1.8 Demo display effect
The excellent hardware functions of the M1808 AI core board in different dimensions make it possess the basic elements to become a high-end product. It is believed that this product will have a very good role in promoting the construction of intelligent IoT systems and helping to create infinite AIoT. ZLG will also devote itself to the research and development of more such high-quality products in the future.