技术分享 | 基于Intel Analytics Zoo的人脸识别应用与实践(上)

2019-07-22 16:57:24 浏览数 (1)

技术分享

AnalyticsZoo是由Intel开源,基于Apache Spark、TensorFlow、Keras和BigDL的大数据分析 AI平台,能够帮助用户利用Spark的各种流水线、内置模型、特征操作等,构建基于大数据的深度学习端到端应用。

今天分享的这篇文章主要介绍了Analytics Zoo的相关功能、特点,并详细介绍了Analytics Zoo在AI人脸识别上的应用与Demo实践,让我们一起来了解一下吧~

1开源大数据分析 AI平台:Analytics Zoo

Apache Spark 与 Apache Hadoop 等大数据平台多年来已成为业内大数据存储和分析处理的事实标准,但由于缺乏对主流AI深度学习框架的支持,对人工智能一直心有余而力不及。BigDL和Analytics Zoo填补了大数据分析与AI结合的空白。

BigDL是一套基于Spark分析流水线、以有机方式构建而成的分布式深度学习框架。作为 Spark 标准组件,其可以直接在现有的 Hadoop 和 Spark 集群上运行,也能够和 Spark 大数据生态系统里面的不同组件非常好地整合在一起。虽然BigDL提供了完整的功能和完善的API,但是要想轻松自如的用好它其实并不容易。于是,Analytics-Zoo应运而生。

Analytics Zoo是由Intel开源的一个高阶大数据分析与AI平台,它能够帮助用户利用Spark的各种流水线、内置模型、特征操作等,构建基于大数据的深度学习端到端应用。其最大的优势就是能够基于现有Spark与英特尔至强服务器,无缝运行各类主流深度学习框架和模型,包括 TensorFlow、Keras、caffe以及 BigDL等,方便企业在已有的大型ApacheHadoop/Spark 集群之上进行分布式AI训练或推理。

某种意义上讲,Analytics Zoo是Spark和BigDL的扩充,它一方面提供了将基于BigDL的深度学习模型与数据应用进行衔接的方法,另一方面又提供了大量预训练过的深度学习模型和丰富的使用案例。例如,图像分析模型、文本处理模型、文本匹配模型、异常检测模型以及用于序列预测的序列到序列模型等。

另外,其拥有的高级API,能够简化应用程序开发流程;还能够以非常简单的方式建立端到端分析或AI流水线,并实现生产化。整个流水线能够在 Spark/Hadoop集群之上实现扩展,从而进行分布式训练与推理,降低训练用基础设施的独立成本,同时节约训练基础设施与分析基础设施之间的集成开发成本。

2基于Analytics Zoo的人脸识别应用

近年来,随着摄像头的广泛使用,智能门禁、安防监控、人证识别等各种视频AI应用层出不穷。众多应用需求中,身份的识别对比无疑是其中关键,目前通过人脸来快速识别确认人员身份是常用的一种方法。采用快速人脸检测识别技术可以从视频图像中实时检测出人脸,并与人脸数据库进行实时比对,从而实现快速身份识别。目前,人脸识别产品已广泛应用于金融、司法、军队、公安、边检、政府、航天、电力、工厂、教育、医疗及众多企事业单位等领域。

在本人脸识别应用中,我们选择使用基于Analytics Zoo进行人脸识别框架的搭建,以满足场景所需的多样化数据的增减,清洗,管理,分析和可扩展。Analytics Zoo作为开发深度学习应用的平台,可以方便的读取与处理存放Spark集群上的数据,并且在集群上进行训练与预测时也不需要对集群环境进行特殊的配置要求,搭建的视频应用可部署运行在云端,降低服务器维护的成本。

基于Analytics Zoo的人脸识别一般流程如下图所示。首先Producer程序从视频源服务器中解码、逐帧读取视频画面发布至Kafka集群。Spark Client Driver从Kafka节点订阅视频流数据,并提交任务至Spark集群进行分布式流处理。利用Analytics Zoo预训练的人脸识别网络模型,Spark各节点可以同时对多路视频的图像帧中的人脸进行检测和对比,最终识别人脸。

基于AnalyticsZoo的人脸识别处理流程

明天小编将继续为大家介绍

基于Analytics Zoo的人脸识别Demo实践的部分

敬请期待

未完待续

0 人点赞