基于TensorFlow的人脸识别容器云平台框架
1 引言
为加强广播电视节目内容监管,广播电视播出机构、网络视听节目服
务单位须严把节目出口关,切实做好节目内容播出审核工作,落实播前审查、重播重审的节目管理制度。针对节目视频中出镜的特定特征筛查,目前主要依靠人工监看,而人工逐帧监看的准确率受限于工作人员的辨识能力,且长时间的节目视频监看也会因工作疲劳造成审核效率降低。
因此,随着人工智能技术在广播电视行业的深入应用,基于深度神经网络的人脸识别技术成为节目视频中内的节目视频审核。
本文分别在硬件抽象层和操作系
统层对比了虚拟化实现的差异,并结
合这两种虚拟化实现方式的特点,探
讨了容器云平台的框架设计。框架在
IaaS层的服务器虚拟化基础之上,构
建了GPU资源池以适应视频节目的大
规模并行处理,并在PaaS层以人脸识
别为主要着力点,引入TensorFlow、
Kubernetes的容器技术实现人脸识别
程序在CPU、GPU上并行部署和任务
虚拟化、网络虚拟化和存储虚拟化的
IaaS云环境,将服务器、交换机和存
储设备资源整合成统一的动态资源池,
并以虚拟机的方式对资源进行调度。
IaaS层虚拟化技术是建设云平台的基
础,通过整合硬件资源、提高利用率
实现减少设备运维数量,其主要技术
有KVM、Xen、VMware等。
随着大数据及机器学习处理集
规模的不断扩大,以虚拟机为基本单
元的应用部署方式已不适用于程序的
摘要:随着电视与网络视听节
目的蓬勃发展,基于人脸面部特征
识别的节目视频特定人物自动识
别的计算需求急剧增加。为提高计
算资源的利用率,建设具有资源弹
性伸缩和多租户特性的人脸识别
平台,本文在分析计算机系统各层
次虚拟化方式的基础上,提出了人
脸识别容器云平台框架。
关键词:容器云  TensorFlow
消费者协会投诉
虚拟化
93
. i
94
. i
快速构建和运行。2013年,容器技术Docker 得到广泛关注。与在硬件抽象层上的虚拟化技术不同,容器是建立在操作系统层上的虚拟化技术,将应用运行所需的操作系统内核、文件系统、进程环境封装,并以容器为资源调度的基本单元。与虚拟机相比,容器的特点如下:一是轻量性,容器只封装了程序所需的最小运行环境,计算、存储和网络的资源调度交由运行容器的操作系统完成;二是可移植性,能够将大数据及机器学习程序封装成容器,应用于相应环境中批量分发、快速构建;三是异构性,可兼容各种主流的IaaS 虚拟化技术,实现VMware、OpenStack 等平台虚拟机上的业务迁移。
但是,容器是建立在操作系统层上的虚拟化,同一操作系统之上运行的容器,它们共同依赖和共享相同
的操作系统环境。当操作系统崩溃时,容器只能迁移到内核兼容的操作系统环境中。显然,容器的高可用能力不如虚拟机。同时,由于操作系统的
存储资源和网络资源是预先配置好的,故容器在存储和网络配置上也不如虚拟机灵活。为适应日益增强的人脸识别数据处理压力,本文引入容器技术构建人脸识别云平台的PaaS 层,即在虚拟机中运行容器。虚拟机和容器融合的容器云平台,结合了虚拟机和容器的特点:一是单台虚拟机上可以运行多个容器的计算任务,容器云平台减少了虚拟机的大规模分发,提高了服务器计算资源的利用率,同时在资源调度的粒度上可以细化到程序的最小运行环境;二是程序的部署模板不再需要封装一个完整的操作系统,只需要将程序代码和必要的运行环境封装,大大降低了程序模板的磁盘存储
空间,也有利于程序模板的快速分发;三是利用虚拟机的虚拟化网络和多租户特性,可以实现人脸识别处理集多租户部署,将集资源分配给不同
部门使用。3 容器云平台框架设计
依上文分析,本文设计的容器
云平台划分为三个层级,如图1所示。IaaS 层采用InCloud Sphere 对形成计算资源池、存储资源池、网络资源池提供给虚拟机使用,并采用GPU 虚拟化技术提升大规模人脸识别的并行计算能力。虚拟化管理中心InCloud OpenStack 对IaaS 层的虚拟化资源池和虚拟机资源管理。IaaS 层的虚拟机为程序运行提供了必要的计算资源,但有效调配虚拟机的CPU、GPU 资源以加速人脸识别程序运行,须由运行在虚拟机操作系统内的容器完成资源调配。容器云平台的PaaS 层是运行在IaaS 层之上的,直接对人脸识别程序进行调度,主要负责人脸
识别应用运行时的进程资源配置。容器仓库将基于TensorFlow 的人脸识别程序以容器的方式封装成模板保存,Kubernetes 容器调度中心对人脸识别的容器调度、管理并实现业务的快速分发。SaaS 层的InCloud Manager
垄断竞争市场提供容器云平台访问的统一门户,并为不同部门用户分配对应人脸识别计算资源,实现节目视频人脸自动识别的计算资源多租户管理。
3.1 IaaS 层
3.1.1 服务器虚拟化
直接在主流的Intel x86架构服务器上安装虚拟化系统,创建的一个虚拟化层用于物理服务器硬件和操作系统间的资源封装与服务提供。本文的容器云平台IaaS 层设计采用了基于主流开源Xen 内核的InCloud Sphere,对服务器的CPU、内存、存储、网络等资源虚拟化,创建计算资源池、存储资源池和网络资源池。计算资源池
整合了云平台中所有服务器的CPU
图1  容器云平台框架图
行的操作系统屏蔽底层服务器硬件差异。存储资源池将服务器上硬盘整合成分布式存储集,分配给虚拟机作为操作系统硬盘使用,并采用分布式RAID技术存储数据,当服务器或硬盘宕机的时候保障数据不丢失。网络资源池在IaaS层的虚拟机之间创建虚拟交换机,实现虚拟机之间的网络流量交换和隔离。
3.1.2 GPU虚拟化
随着人工智能时代的来临,与主要用于逻辑运算和指令操作的CPU不同,基于大规模并发计算设计的GPU 更适合于计算密集型和大规模并行的人脸识别数据处理场景。云平台环境下的GPU虚拟化有三种方式,即设备拟机对GPU卡以独占的方式对其完
全控制。显然,由于虚拟机独占GPU
设备的计算资源,使用方式与在物理
服务器上相同,但是不具备云平台的
虚拟化资源池特性,因此虚拟机无法
实现高可用,降低了GPU资源使用
效率。为提高GPU资源效率,实现手机清理垃圾
GPU虚拟机的高可用性,Intel VT-s
和VMware vSGA技术基于应用程
序的接口重定向,在云环境的虚拟机
中模拟GPU设备功能。这种方式实现
了GPU虚拟机的高可用特性,提高了
资源使用效率,但是API接口通常使
用的是OpenGL或Direct3D的接口,
不具备在图形处理器上做科学计算功
能,不适合人脸识别的人工智能计算
一是主节点(Master),主要利用
CPU资源完成人脸识别计算节点的任
务分配,并对计算节点返回的参数结
果进行参数合并、参数更新;二是计
算节点(Worker),主要调用GPU资
源加载人脸识别所需的人脸训练模型
和训练样本,并计算得到模型的梯度
参数。主节点和计算节点程序均运行
在容器内,主节点容器只映射服务器
的CPU资源,计算节点容器映射服务
山行描写了哪四种景物器的GPU资源。TensorFlow并行计
算的数据处理流程图如图2所示。
(1)将训练模型的变量参数分成
n等份,其中每份变量参数分配给一
组TensorFlow容器处理。
(2)针对每组TensorFlow容器,
95 . i
96
. i
主节点容器将传入容器内的变量参数分成两等份,每份均由计算节点容器的一颗GPU 核心处理。
(3)在计算节点容器中,首先将模型、数据加载至GPU 缓存内,然后采用梯度计算的方式获得对应变量的参数梯度。
(4)主节点容器合并GPU 两颗核心的计算结果,然后再由管理节点合并每组容器的梯度结果。
(5)管理节点容器依据变量参数
的梯度方向更新变量值,并依此类推,直至模型训练收敛。
3.2.2 TensorFlow 容器调度
实时处理大规模的节目视频人
脸数据,快速扩容人脸识别计算能力,需要对数量众多的容器资源调度和管理。为实现虚拟机中TensorFlow 容器的自动分发、业务编排、任务调度和资源管理,人脸识别容器云平台框架将Kubernetes 与虚拟化管理中心结合,实现容器云平台的资源调度和管理。Kubernetes 是开源的容器管理引擎,具备如下特征:一是可移植性,支持与本文采用的OpenStack 云平台虚拟化架构对接;二是容器调度,具备部署、重启、删除、复制等人脸识别容器资源调度功能;三是大
数据存储,能够对接vSAN、Ceph、Hadoop 分布式存储文件系统,提供
更高的数据读写的IOPS 性能。
Kubernetes 采用分布式框架部署,分为容器管理中心和容器资源节点。容器管理中心的资源调度器和节点控制器负责管理容器集内的虚拟机操作系统资源,并将资源分配给对应的容器调用。本文将TensorFlow 容器管理中心和InCloud 虚拟化管理中心直接安装在InCloud 虚拟化中的容器云管集内,并基于InCloud 的多租户特性,将其余InCloud 主机划
分为不同的容器集,分配给各个云租户使用人脸识别计算资源。
TensorFlow 容器调度云平台将虚拟化主机划分为不同的集提供给
云租户使用。为实现对容器管理,首先在容器集的每个虚拟机中部署Pod 服务,用于监控和管理本虚拟机中的容器运行;然后,容器调度中心的主控服务在不同的容器集内创建TensorFlow 管理节点容器,用于管理对应集内的人脸识别任务。根据任务需要,TensorFlow 管理节点通过调用容器管理中心向集内的虚拟机中分发人脸识别容器。在人脸识别容器分发时,每一个虚拟机创建一个主节点和若干个计算节点,主节点用于管理虚拟机内的所有计算节点,计
算节点加载GPU 资源主要完成人脸识别任务请求。
4 实验验证和分析
4.1 实验设置
在人脸识别容器云平台的实验中,服务器配置12条容量为32GB 的DDR4内存,搭载2块Tesla M40 GPU 卡。存储资源池的交换机则由4台具备万兆交换能力的数据中心级别交换机组成,配置万兆以太网光接口,服务器采用双万兆光纤上行的方式接入。
人脸识别模型的训练和测试数据选择图像背景相对复杂,比较接近电视节目人脸识别的明星人脸数据库(MS-Celeb-1M),数据库通过搜索引擎采集包含十万个明星的超过一千万张的人脸图片,每张图片的尺寸设为150×150像素。为了优化计算复杂度,提高人脸识别效率,本文人脸识别模型选择目前广泛用于图像处理的深度残差网络模型,ResNet 模型设计深度为50层。
4.2 结果和分析
如图3所示,对比展现了使用标准数据集MS-Celeb-1M 中所有人脸数据训练ResNet 模型的效率。通过对比,可发现单纯使用CPU 训练人脸模型的消耗时间要远长于结合GPU 加速的方式,采用并行计算机制设计的GPU 芯片更适合机器学习的模型训练。服务器虚拟化自身也消耗了一部分服务器的CPU 计算资源,导致基于虚拟机的ResNet 模型训练要略慢于物理机,而在使用GPU 虚拟化方式后的虚拟机在模型训练时,主要依赖的是GPU 的并行运算能力,所以在CPU 资源富余的情况下,服务器虚拟化自身消耗对训练效率影响不明显。在容器
图3  ResNet 训练效率对比图
下转第100页
100
. i
术规范,现有的符合这两类的终端设备都可以接入。终端数据都存在公有云平台上,客户通过TCP/IP 和公有云平台通信,就可以访问这些终端的数据。
4.6 系统建设与维护极其方便
Mesh IoT 采用即插即用的模式,在工程建设时只要根据现场环境的情况合理部署节点,节点将自动连接需管理的设备传感器,并将数据通过楼内的LoRa 网络传输给网关,在云端进行配置即可运行。另外,由于Mesh IoT 具备对各个节点进行实时监控的功能,如果节点出现故障,则该节点会脱离网络并及时发出告警,但整个网络仍能正常运行,使得维护工作十分便捷。
5 特应用
除了基于LoRa 物联网的众多基本应用之外,由于Mesh IoT 结合了
蓝牙功能,所以可以提供基于室内的位置服务。
5.1 资产定位应用
对楼宇中的关键资产进行状态监控,并跟踪其位置信息,这对业主在设施管理中非常有效。例如,医院的检测仪器的使用位置、危险危化物品处置的轨迹跟踪等。
5.2 人员定位服务花开美利坚起点
在大型建筑物内,可以进行自助式定位和导航(大型购物商场的导购
等);对需要重点监测的人员(老人、小孩等),可以对其行动轨迹进行全程监控和分析,为其提供必要帮助;提供对医院重症人员的监护、看护等。
6 结语
Mesh IoT 通过采用Mesh 组网技术,实现了楼宇内的LoRa 无线通信网络,其突出的优势在于安装方便、组网
灵活,可实现楼宇的全面覆盖,通过与基于蓝牙技术还可以开发智能楼宇的基于位置服务的多种应用。因此,这种解决方案将为广电在开展窄带物联网建设和应用时提供一定的借鉴意义。
参考文献:
[1]中国信息通信研究院.物联网白皮书(2018)[R].北京:中国信息通信研究院,2018.[2]中国信息通信研究院.物联网终端安全白皮书(2019)[R].北京:中国信息通信研究院,2019.
[3]Butun,Ismail Pereira,Nuno Gidlund, et al.Security Risk Analysis of LoRaWAN and Future Directions[J].Future Inter-net,2019,11(1):3.
[4] Ke,Kai-Hsiang Lee,Huang-Chen.
Monitoring of Large-Area IoT Sensors Using a LoRa Wireless Mesh Network System:Design and Evaluation[J].IEEE Transactions on Instrumentation and Measurement,2018,67(9):2177-2187.
云框架中,TensorFlow 有效调度使用CPU 和GPU 资源,将一千万张图片训练数据分散到各核心并行计算,以此得到更高训练效率。最后,在设计的容器云框架中,基于MS-Celeb-1M 训练数据得到人脸ResNet 模型,而后在测试集上进行十折交叉验证,得到模型的准确率为0.95±0.01。
5 结语
为提高计算资源利用率,适应大规模音视频数据处理,建设具有资源弹性伸缩和多租户特性的人脸识别平台,
本文在分析虚拟化实现方式的基础上,提出了构建基于TensorFlow 的人脸
识别容器云平台框架。容器云平台提高了数据处理效率,缩短了人脸识别程序的处理时间,进一步提
升节目音视频出现的敏感人物检测效率,有效缓解人工监看工作量。随着智能技术在广电行业的应用,本文提出的框架也为进一步提曲奇的做法
高大规模音视频数据处理提供新的思路,并藉此推动“智慧广电”建设。
参考文献:
[1]苟明太.探究如何通过人脸识别技术监管电视节目内容[J].电视技术,2018, 42(10):117-120.
[2]高晨.基于人工智能的媒资系统敏感人物回溯研究[J].广播与电视技术,2019, 46(6):34-37.
[3]Mell Peter M,Grance Timothy.The NIST Definition of Cloud Computing[M].Maryland: National Institute of Standards and Technology,2011.
[4]Boettiger Carl.An introduction to Docker for reproducible research[J].A C M  S I G O P S  O p e r a t i n g  S y s t e m s Review,2015,49(1):71-79.
[5]Abadi Martin,Barham Paul,Chen Jianmin,et al.TensorFlow: a system for large-scale machine learning: Proceed-ing of OSDI'16 Proceedings of the 12th
USENIX conference on Operating Sys-tems Design and Implementation,2016[C].B e r k e l e y :U S E N I X  A s s o c i a t i o n , 2016:265-283.
[6]Bernstein David.Containers and Cloud: From LXC to Docker to Kubernetes[J].IEEE Cloud Computing,2015,1(3):81-84.
上接第96页

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。