基于NXP i.mx8m mini的人工智能架构下之人脸辨识解决方案

人脸辨识技术是近年热门科技。在iPhone手机的演进下,苹果去在推出了Face ID功能取代了指纹辨识,让一般消费者也注意人脸辨识的应用。在人脸辨识系统被广泛讨论之下:一张独立且唯一的脸,可以确认使用者身份,取代传统的密码输入。此技术快速的运用在智能家居,公司门禁,甚至警政系统。

人工智能(AI)技术加持成就人脸辨识系统
人脸辨识的技术核心,是在人脸上取出具有“辨别度”的特征值。也就是说,同个人在在不一样打扮,表情与视角的情境之下,还具有非常类似的特征值。相反地,对于不同人的人脸,因为具有“辨别度”的特征值是不同的,必需很容易区别出来。人脸辨识的一般步骤为:人脸侦测、人脸校正、人脸特征值的撷取。

在使用人工智能(AI)之前,使用特定算法:每个工程师必须开不同的算法,使用不同的滤波器,去准确达到人脸侦测、人脸校正、人脸特征值的撷取以达到人脸辨识效果。这种方法非常的旷日废时。而且会因不同的硬体架构,不同的硬体加速,必须修改不同的演算逻辑,或是运动不同的滤波器。所以,此种方式的人脸辨识在跨平台上的应用就会有所限制。而现在广泛使用人工智能(AI)技术来实现人脸辨识。

所谓的人工智能(AI)是电脑科学的一个领域,达到学习、解决问题和模式辨识。在这过程中必须让电脑可以做到"机器学习(ML)"甚至"深度学习(DL)"。机器学习 (ML) 和深度学习 (DL) 这都是需要强大运算能力的t超级电脑与庞大的资料库。因此,以前的人工智能(AI)系统架构,必须与云端平台(例如AWS, Google..)连线才能实现。而为了使终端设备(Edge)在不联网的情境下也能实现人工智能(AI), 许多开源公司开始开发?有的学习模型(Model Firmwork)并提供产业界使?。但仍亟需解决的问题:如何整合各家开源公司所提供的学习模型(Model Firmwork)。 

以下为基于NXP i.mx8m mini的人工智能架构下之人脸辨识解决方案:
在此方案中,先介绍eIQ( edge Intelligence Quotient )这个软体的平台。其主要功能为在edge端直接inference(推理) 学习模型(Model Firmwork),并得出计算出最终结果。在不同的开源公司中,其学习模型(Model Firmwork)也有所不同。
例如:TensorFlow/TensorFlow Lite: 由谷歌(Google)提供的 Model framework, Caffe/Caffe2: 由脸书(Facebook)提供的 Model framework。

eIQ软体的平台, 整合?前流?的故种不同的开源学习模型,根据各家开源学习模组所擅?的领域,可以直接在NXP产品(MPU与MCU)上执?并且完全不受?扰可独立的进?运作,替客?节省成本以及开发时程。 如下:

在此架构下:
品佳集团将教导客户在Linux Kernel 4.14.98的基础上,使?Yocto Project开发环境,如何编译Opencv, tensorflow-lite等应?程式及学习库 。接着整合TensorFlow的机器学习过程,训练"MobilFaceNets"模型,将其转换成在TensorFlow Lite人脸辨识学习模型。在Yocto Project开发环境,整合eIQ人工智能软体系统。并将上诉得到的人脸辨识学习模型 inference(推理) 致i.mx8m mini的系统架构之中。这样一来,客户即可以在i.mx8m mini的系统架构实现人脸辨识的功能。

以下为部分工具架设与程式码编译:




硬体实现如下:
应用MIPI-CSI的相机模组,取得即时的人脸影像。并加人脸影像传输到恩智浦的处理芯片i.mx8m mini。i.mx8m mini运用芯片中的处理器四核A53(1.6GHz)核芯 与绘图器GC NanoUltra 3D的加成运算能力,运行eIQ人工智能软体系统,达到人脸辨识的功能。可以由MIPI-DSI输出得到判读得结果。



场景应用图

sceneryUrl