深度解析M1808 AI核心板硬件性能

近年来 , 随着人工智能技术的不断发展 , 相应的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核心板硬件性能】 M1808 AI核心板在不同维度的卓越硬件功能 , 使其具备了成为一款高端产品的基本要素 。相信这款产品对于构建智能物联系统 , 助力创造AIoT无限可能会有很好的推动作用 , ZLG未来也将致力更多此类优质产品的研发 。

    推荐阅读