首页> 中国专利> 一种基于Docker容器的人脸识别终端平台虚拟化的方法

一种基于Docker容器的人脸识别终端平台虚拟化的方法

摘要

一种基于Docker容器的人脸识别终端平台虚拟化的方法,包括步骤:S1:人脸识别算法模型设计和训练;S2:Docker封装;S3:Web前端设计;以及S4:Docker部署。本发明的基于Docker容器的人脸识别终端平台虚拟化的方法,将人脸识别算法封装到Docker容器中运行,并使用web前端页面,进行简易的参数设置。可以使得算法在PC电脑上开发完,通过Docker容器的方式发布,然后直接在各种芯片平台上运行,无需再次开发调试,最后通过web前端网页,简易设置算法相关参数,针对人脸识别算法,极大地提高开发效率,减少重复性开发工作。

著录项

  • 公开/公告号CN112612575A

    专利类型发明专利

  • 公开/公告日2021-04-06

    原文格式PDF

  • 申请/专利权人 深圳龙岗智能视听研究院;

    申请/专利号CN202011523559.4

  • 发明设计人 陈智敏;龙仕强;魏文应;林晓帆;

    申请日2020-12-22

  • 分类号G06F9/455(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构11440 北京京万通知识产权代理有限公司;

  • 代理人万学堂;王跃交

  • 地址 518116 广东省深圳市龙岗区龙城街道腾飞路龙岗创投大厦37楼

  • 入库时间 2023-06-19 10:29:05

说明书

技术领域

本发明涉及计算机技术领域,特别涉及一种基于Docker容器的人脸识别终端平台虚拟化的方法。

背景技术

随着深度学习和神经网络技术的不断成熟,基于卷积神经网络的人脸识别算法,在智能终端设备上,得到大规模应用。比如:人脸识别的闸机、人脸识别的门禁、人脸识别的考勤打卡机、监控视频中的人脸追踪、人脸识别移动支付等等。这些设备多种多样,部署到了不同环境下的各种场合,极大的方便了人们的生活。

上面的人脸识别算法,应用范围广泛,这就意味着算法本身,要适应不同环境,比如不同的光照强度、不同肤色的种族人群、不同的芯片设备、不同的控制对象、不同的安全系数等等。在现有的技术中,一般采用定制化方式来实现。定制化操作流程一般为:①在PC电脑上,一般使用Python语言,将算法设计好;②然后,根据芯片型号,一般使用C/C++语言,在芯片上重新实现该算法逻辑;③算法在某款芯片平台运行起来后,还需要技术人员,根据算法的应用场合和环境条件,比如根据光照、相机角度、人物成像大小等,设置config配置文件,并编译代码。至此,算法才能正常工作。上述开发流程,工作量极大、耗时长、技术难度高、稳定性不可控。每做一个人脸识别的应用,都要重做上面的开发流程,存在大量不必要的重复性劳动。

发明内容

本发明提供了一种基于Docker容器的人脸识别终端平台虚拟化的方法,利用Docker的虚拟化特性和Web网页前端的易用性,为人脸识别算法提供高可用、易配置的运行环境,以此解决人脸识别算法在不同智能终端设备可移植性差、配置复杂的问题。

本发明的技术方案如下:

一种基于Docker容器的人脸识别终端平台虚拟化的方法,包括以下步骤:S1:人脸识别算法模型设计和训练;S2:Docker封装;S3:Web前端设计;以及S4:Docker部署。

优选的,在上述基于Docker容器的人脸识别终端平台虚拟化的方法中,在步骤S1中,首先在PC电脑上,对人脸识别算法模型进行设计,建立卷积神经网络模型,并使用人脸图片数据集对人脸识别算法模型进行训练。

优选的,在上述基于Docker容器的人脸识别终端平台虚拟化的方法中,在步骤S2中,在PC电脑上,将人脸识别算法模型放入Docker容器内,并将Docker容器打包成Docker镜像。

优选的,在上述基于Docker容器的人脸识别终端平台虚拟化的方法中,在步骤S2中,使用Docker守护进程的命令,将Docker容器打包成为Docker镜像。

优选的,在上述基于Docker容器的人脸识别终端平台虚拟化的方法中,在步骤S3中,根据经验,将人脸识别算法中需要人为配置的参数,在web前端网页展示出来。

优选的,在上述基于Docker容器的人脸识别终端平台虚拟化的方法中,在步骤S3中,人脸识别算法运行在统一的Docker运行环境内,为Web前端做一个统一的参数配置接口,使其可以连接到所有的人脸识别算法的智能终端设备上,以此快速有效地配置人脸识别算法的参数。

优选的,在上述基于Docker容器的人脸识别终端平台虚拟化的方法中,在步骤S4中,在人脸识别的智能终端设备上,启动Docker守护进程,使用准备好的人脸识别算法的Docker镜像,创建一个Docker容器,并运行新创建的Docker容器,Docker容器会自动执行人脸识别算法。

根据本发明的技术方案,产生的有益效果是:

本发明实现了一种基于Docker容器的人脸识别终端平台虚拟化的方法,可以有效解决在不同平台的人脸识别智能识别设备中,需要将算法代码重写以及配置复杂的问题,即解决了在不同设备、不同应用场景下,人脸识别算法开发带来的重复性开发的问题,提高了开发效率,实现了算法的通用性部署,以及简易地调节参数。大部分人脸识别设备,都是嵌入式设备,操作系统配置多种多样,应用场景也多种多样。相比其他现有技术,本发明方法的算法的可移植性更好,易用性更强,可以大幅缩减开发周期和人力成本。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。

图1是本发明的基于Docker容器的人脸识别终端平台虚拟化的方法的流程图;

图2是Docker容器封装的示意图;以及

图3是Web前端参数设置页面的示意图。

具体实施方式

以下结合附图,通过具体实施例对本发明作进一步详细说明。

本发明的基于Docker容器的人脸识别终端平台虚拟化的方法,将人脸识别算法封装到Docker容器中运行,并使用web前端页面,进行简易的参数设置。可以使得算法在PC电脑上开发完,通过Docker容器的方式发布,然后直接在各种芯片平台上运行,无需再次开发调试,最后通过web前端网页,简易设置算法相关参数,针对人脸识别算法,极大地提高开发效率,减少重复性开发工作。

本发明的基于Docker容器的人脸识别终端平台虚拟化的方法的原理如下:利用Docker容器的虚拟化特性,隔离和建立算法运行环境,解决不同的芯片、不同的操作系统带来的差异性问题,实现算法的通用性部署。以及利用web前端网页的可视化特性,提高算法参数设置的易用性,方便算法部署时的调参。

如图1所示,本发明的基于Docker容器的人脸识别终端平台虚拟化的方法,包括如下步骤:

S1:人脸识别算法模型设计和训练。使用深度卷积神经网络,设计并训练人脸识别算法模型。具体地,首先在PC电脑上,对人脸识别算法模型进行设计,建立卷积神经网络模型,并使用人脸图片数据集对人脸识别算法模型进行训练。在该步骤中,可以从现有的公开的全球领先的卷积神经网络模型中,选取其中一个人脸识别的模型,比如洞见人脸识别深度卷积神经网络(insight face net)人脸识别算法。此外,也可以使用深度卷积神经网络,通过现有技术自行设计本发明的人脸识别算法模型。在模型设计完成后,使用人脸图片数据集,对神经网络模型进行训练。

S2:Docker封装。训练完成后,将人脸识别算法模型放入到Docker镜像中。具体地,包括在PC电脑上,将人脸识别算法模型放入Docker容器内,并将Docker容器打包成Docker镜像。

如图2所示,是Docker容器封装的示意图。Docker守护进程,是免费开源软件,可以在安装有Linux内核的操作系统的设备(如图2中的设备1、设备2......设备n)上运行。而Docker守护进程,则为每个容器(人脸识别算法容器和Web参数接收容器)分配独立的虚拟操作系统运行时环境,可以使得算法在容器中独立运行,不受硬件平台及其他应用程序的影响。这样,在PC电脑上的Docker容器内正常运行的人脸识别算法,在其他支持Docker容器运行的智能终端设备上,也可以正常运行,无需再次调试。

关于参数配置:通过TCP/IP协议,Docker容器和Web后端进行通信,Web后端和Web前端进行通信。这样,在Web前端页面进行参数设置,最终将设置的参数值传到Docker容器中,从而实现人脸算法模型的参数设置。基于一个容器一个任务的原则,将与Web前端通信的代码,放入到另一个单独的容器中,用它来接收和处理web前端发来的配置参数。Web前端和容器之间的通信,可以通过通用的TCP/IP网络通信协议进行通信。

S3:Web前端设计。根据经验,将人脸识别算法中需要人为配置的参数,在web前端网页展示出来。在该步骤中,人脸识别算法运行在统一的Docker运行环境内,为Web前端做一个统一的参数配置接口,使其可以连接到所有的人脸识别算法的智能终端设备上,以此快速有效地配置人脸识别算法的参数。

以往都是将这些参数值写到了一个配置文件中,然后根据智能终端设备的类型和应用场景,重新编译代码。即使可以通过web前端,将设置参数发送给人脸识别算法,最终却因为平台不统一,导致参数难以统一配置。因此,本发明通过统一性,解决复杂而重复的编译配置操作,提高开发效率,缩短开发周期。

如图3所示,Web前端参数设置页面的示意图。这些参数,是通过大量实验,进行人为观察统计,并根据卷积神经网络模型算法的特性得到的。目前这些参数包括但不限于:安全等级、算法深度、脸部大小、输入大小、模型版本、光照强度、锚框数量、锚框尺寸、边框绘制与否等等。对于脸部大小,当算法运行在考勤打卡机上,可以设置为大脸,而如果是在高清监控录像上,可以设置为小脸,根据应用场景设置参数,以此提高算法的运行效率和准确率。对于安全等级,科室之间门禁的安全等级,可以调低一些,保密室的安全等级,需要设置高一些。

S4:Docker部署。在人脸识别的智能终端设备上,启动Docker守护进程,使用准备好的人脸识别算法的Docker镜像,创建一个Docker容器,并运行新创建的Docker容器,Docker容器会自动执行人脸识别算法。

如图2所示,在PC电脑上,封装好人脸识别算法的Docker容器(即图2中的人脸识别算法容器),此时,就可以使用Docker守护进程的命令,将Docker容器打包成为Docker镜像。这样,人脸识别算法就可以通过Docker镜像,进行分发。让人脸识别的智能终端设备使用该Docker镜像,创建一个Docker容器,并启动运行即可。Docker容器运行后,会自动运行Docker容器内的人脸识别算法。Docker镜像的生成、Docker容器的创建、Docker容器的运行和部署等,都是Docker软件工具自带的通用性功能,简单快捷,用户量大,稳定性有保证。

本发明方法利用Docker容器的虚拟性,为人脸识别算法虚拟了一个统一的运行时环境,以此提高算法在不同智能终端设备部署时的可移植性。同时,根据我们算法工程师的经验,将经常需要人为配置的人脸识别算法的参数,在web前端展示,以此提高算法的配置简易性。

以上说明是依据本发明的构思和工作原理的最佳实施例。上述实施例不应理解为对本权利要求保护范围的限制,依照本发明构思的其他实施方式和实现方式的组合均属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号