深度解析M1808 AI核心板硬件性能
2020-02-26
来源:致远电子
近年来,随着人工智能技术的不断发展,相应的AI算法与产品方案也层出不穷。但是技术门槛高,产品稳定性参差不齐成为了制约行业发展的主要瓶颈。M1808 AI核心板是ZLG布局AI及计算机视觉领域的重要产品,旨在为用户提供“嵌入式”+“AI”解决方案平台,以AI算法赋能传统嵌入式硬件,除了提供稳定可靠的硬件平台之外,同时免费提供基于各种应用数据集训练的AI算法,极大降低了“嵌入式”和“AI”的开发门槛。
在当前热门的人脸识别领域,ZlG将人脸识别算法免费植入M1808 AI核心板中,为用户提供“硬件+软件+算法”系统化解决方案。这一方案既能够满足客户快速开发的需求,又能最大程度保证验证结果的精准度,可广泛应用于火车站、安检卡口、校园、小区、写字楼等出入管理场景。
本文将从主控平台,配套硬件以及检测Demo这三个方面对ZLG人脸识别解决方案做具体介绍。
一、主控平台
人脸识别的应用领域广泛,但解决方案的框架大体类似。ZLG紧跟行业发展,归纳出如下图所示人脸识别方案的框图。
图1.1
由框图可知,主控平台选择ZLG最新推出的M1808 AI核心板。作为一款面向人工智能开发平台的产品,M1808在视觉处理方面有着高运算速率、高运算精度以及低功耗的高性能表现。
图1.2 M1808核心板产品
如上图所示,M1808 AI核心板板载1.6GHz双核64位Cortex-A35架构的处理器RK1808,集成NPU峰值算力可达3.0TOPs,支持INT8/INT16/FP16混合运算,最大程度兼顾性能、功耗、运算精度,并支持TensorFlow/MXNet/PyTorch/Caffe等一系列框架的网络模型转换,兼容性强。其VPU视频处理单元支持全格式的1080P视频编解码,支持摄像头视频信号输入,并具有内置ISP。如图1.3所示为RK1808芯片功能方框图。
图1.3 处理器RK1808功能方框图
核心板整体功能特点一览:
MPU采用高性能64位的Cortex-A35处理器RK1808,工作频率可达1.6GHz;
集成 32KByte 一级指令缓存;集成 32KByte 一级数据缓存;
集成NPU(神经网络处理单元)协处理器;
支持最大1920 Int8 MAC operations per cycle;
支持最大64 FP16 MAC operations per cycle;
支持最大192 Int16 MAC operations per cycle;
512Kbyte内部缓冲空间;
支持支持全格式的H.264 1080p@60fps解码和H.264 1080p@30fps编码;
集成高品质的JPEG编/解码器;
内存:1GByte DDR4 SDRAM;
存储:4GByte eMMC;
Linux操作系统。
如图1.4所示为M1808_EV_Board评估板产品图片。
图1.4 M1808_EV_Board评估板产品
二、配套硬件
图像数据采集方面,M1808_EV_Board评估板为开发用户提供了1路CSI摄像头接口和1路可扩展USB接口。人脸检测识别方案可以选用USB接口的双目摄像头,以支持具有活体检测功能的人脸识别算法库。双目摄像头如图1.5所示。
图1.5 双目摄像头
图像显示方面,M1808评估板为用户提供MIPI-DSI接口和RGB接口两种液晶显示接口。本文介绍的人脸识别Demo运行显示是采用一款由ZLG生产的10.1寸LVDS接口的液晶显示屏LCD-1280800W101TC,如图1.6所示。摄像头采集的人脸将会以实时方框形式在液晶屏上标记显示。
图1.6 LCD-1280800W101TC 10.1寸LVDS液晶显示屏套件
三、人脸识别检测Demo
1.开发环境搭建
将M1808平台的交叉编译工具m1808-sdk-1.0-ga.tar.gz拷贝至开发主机Ubuntu下,并执行如下命令解压安装:
sudo mkdir -p /opt/zlg
sudo tar -xf m1808-sdk-1.0-ga.tar.gz –C /opt/zlg
在用户配置文件~/.bashrc中添加如下语句,保存后重新打开终端就可以直接使用该平台工具链,完成工具链环境搭建:
export PATH=/opt/zlg/m1808-sdk-1.0-ga/host/bin:$PATH
2.Demo程序
Demo采用Qt图形界面开发框架。在工程文件中添加OpenCV库、Sqlite3库和由ZLG算法团队研发的人脸识别算法库等相关库,之后内部程序通过调用相关库提供的各种接口,包括数据存储、模型构建初始化、人脸检测、人脸比对等API进行相关人脸检测识别功能的实现。
例如有关人脸检测功能实现,先定义rockx_handle_t类型的句柄,通过操作该句柄调用如下API完成指定功能模块的初始化:
rockx_ret_t rockx_create(rockx_handle_t* handle,rockx_module_t m,void* config,size_t config_size);
再调用人脸检测API实现人脸检测功能:
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);
Demo整体流程框图如下图1.7所示:
图1.7 Demo程序流程图
3.Demo效果
实际检测的人脸以绿色选框标记出来,Demo运行显示效果展示如图1.8所示:
图1.8 Demo展示效果
M1808 AI核心板在不同维度的卓越硬件功能,使其具备了成为一款高端产品的基本要素。相信这款产品对于构建智能物联系统,助力创造AIoT无限可能会有很好的推动作用,ZLG未来也将致力更多此类优质产品的研发。