CN108062499B - 一种人脸识别的方法、系统及平台 - Google Patents
一种人脸识别的方法、系统及平台 Download PDFInfo
- Publication number
- CN108062499B CN108062499B CN201610982679.8A CN201610982679A CN108062499B CN 108062499 B CN108062499 B CN 108062499B CN 201610982679 A CN201610982679 A CN 201610982679A CN 108062499 B CN108062499 B CN 108062499B
- Authority
- CN
- China
- Prior art keywords
- face recognition
- face
- subsystem
- server
- load balancing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000012545 processing Methods 0.000 claims abstract description 113
- 230000008569 process Effects 0.000 claims abstract description 52
- 238000013523 data management Methods 0.000 claims description 10
- 238000012216 screening Methods 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000009826 distribution Methods 0.000 abstract description 8
- 230000004044 response Effects 0.000 abstract description 7
- 230000000694 effects Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 7
- 230000001815 facial effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/161—Detection; Localisation; Normalisation
- G06V40/166—Detection; Localisation; Normalisation using acquisition arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature extraction; Face representation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Collating Specific Patterns (AREA)
Abstract
本发明公开了一种人脸识别的方法、系统及平台,用以解决现有技术存在负载均衡效果差、响应速率低的问题。该方法为:负载均衡子系统接收到人脸识别请求后,基于各个人脸识别子系统分别对应的平均负载值,选取出一个人脸识别子系统转发该人脸识别请求;人脸识别子系统接收到人脸识别请求后,选取预设数目的人脸识别服务器分别对人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理人脸信息时生成的处理结果,基于各个处理结果,获取人脸识别结果。这样,不仅考虑到了人脸识别子系统的平均负载值,保证了人脸识别请求的有效分配,也提高了人脸识别请求的处理效率和响应速率。
Description
技术领域
本发明涉及人脸识别技术领域,尤其涉及一种人脸识别的方法、系统及平台。
背景技术
人脸识别技术是基于人脸特征,对输入的图像或者视频进行人脸检测、定位、特征提取和比对等处理,从而识别出人脸身份的一种技术。具体地,人脸检测是从图片或视频流中检测出人脸的位置大小,并进行关键点定位;特征提取是在人脸检测的基础上,确定人脸特征后,对人脸特征进行描述和提取;人脸比对是将提取出的人脸特征与目标库中的特征进行比对,获取比对结果,进而,识别出人脸身份。
动态人脸识别技术是一种对动态视频中的人脸进行自动检测和识别的技术,被广泛应用于安防监控、商店监控、会场签到等众多领域。目前,对于某一路摄像头来说,若按每秒25帧,每帧有2张人脸来计算,则该路摄像头每秒平均采集50张人脸,这就要求人脸识别服务器对该路摄像头采集的人脸特征能够在秒级时间内进行识别并返回识别结果,显然,这对人脸识别服务器的性能要求很高。而在实际应用中,通常会采用多路摄像头同时采集动态视频,即多路摄像头在同一时刻向人脸识别服务器发送人脸识别任务,这不仅要求人脸识别服务器具有良好的处理性能,还要求人脸识别服务器具有并发处理功能,可以并行处理各路摄像头采集的动态视频,若人脸识别服务器的并行处理性能较差,则会出现响应不及时、人脸数据丢失等问题。
基于此,提出了一种分布式人脸识别系统,可通过该分布式人脸识别系统中的各台人脸识别服务器,对各路摄像头采集到的动态视频进行识别。而对于一个分布式人脸识别系统来说,由于各台人脸识别服务器的处理能力存在差异,当分布式人脸识别系统运行一段时间后,会出现部分人脸识别服务器有大量人脸识别任务(称为重载),而其它人脸识别服务器却没有人脸识别任务,处于空闲状态(称为轻载)的情况,此时,依然会出现网络堵塞、数据丢失等问题。显然,如何实现分布式人脸识别系统的负载均衡已成为人脸识别技术领域亟待解决的问题。
现有技术中,主要采用轮询调度(Round-Robin Scheduling)算法实现对人脸识别任务的调度,具体地,轮询调度算法的原理是:将人脸识别任务轮流分配给人脸识别系统中的各台人脸识别服务器,从第1台人脸识别服务器开始,直到第N台人脸识别服务器结束,再开始新的循环。
基于上述分析,轮询调度算法只适用于分布式人脸识别系统中的所有人脸识别服务器都有相同的软硬件配置的情况,即只适用于分布式人脸识别系统中的所有人脸识别服务器均具有相同的处理性能的情况。而在实际应用中,由于每台人脸识别服务器的处理性能并不相同,所以,每台人脸识别服务器在处理人脸识别任务时占用的时长和资源并不相同,这样,很容易造成各台人脸识别服务器的负载不均衡。显然,轮询调度算法并没有考虑每台人脸识别服务器的处理性能,负载均衡的效果较差。
发明内容
本发明实施例提供了一种人脸识别的方法、系统及平台,用以解决现有技术中的人脸识别方法存在负载均衡效果差、响应速率低的问题。
本发明实施例提供的具体技术方案如下:
一种人脸识别系统,包括:人脸信息采集子系统,负载均衡子系统,以及至少一个人脸识别子系统,其中,
上述人脸信息采集子系统,用于获取人脸信息,并向上述负载均衡子系统发送人脸识别请求,其中,上述人脸识别请求中至少携带有上述人脸信息;
上述负载均衡子系统,用于基于各个人脸识别子系统分别对应的平均负载值,从所有人脸识别子系统中,选取一个上述人脸识别子系统,并将上述人脸识别请求转发至选取的上述人脸识别子系统;
上述人脸识别子系统,用于从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对上述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理上述人脸信息后生成的处理结果,并基于各个处理结果,获取上述人脸信息对应的人脸识别结果。
较佳的,上述人脸信息采集子系统包括:至少一个摄像头,以及至少一个人脸信息采集器,其中,
上述摄像头,用于采集图像码流,并将采集到的图像码流发送至相应的人脸信息采集器;
上述人脸信息采集器,用于对接收到的图像码流进行检测,获取人脸信息,并将上述人脸信息携带在上述人脸识别请求中发送至上述负载均衡子系统。
较佳的,上述负载均衡子系统包括:主用负载均衡服务器,其中,
上述主用负载均衡服务器,用于获取每一个人脸识别子系统分别对应的平均负载值,并基于获取到的各个平均负载值,从所有的人脸识别子系统中,筛选出对应的平均负载值小于第一预设阈值的所有人脸识别子系统,以及从筛选出的所有人脸识别子系统中,选取一个人脸识别子系统,并将上述人脸识别请求转发至选取的上述人脸识别子系统。
较佳的,上述负载均衡子系统还包括:备用负载均衡服务器,其中,上述备用负载均衡服务器,用于实时获取上述主用负载均衡服务器的当前状态信息,并在确定上述当前状态信息不符合预设的运行条件时,转换为主用负载均衡服务器。
较佳的,上述主用负载均衡服务器获取每一个人脸识别子系统分别对应的平均负载值时,具体用于:
分别选取每一个人脸识别子系统执行以下步骤:
确定当前选取的一个人脸识别子系统;
基于上述一个人脸识别子系统的标识信息,从指定共享区域中,获取上述一个人脸识别子系统管辖的每一个人脸识别服务器分别对应的内存使用率和中央处理器CPU使用率;
基于每一个人脸识别服务器分别对应的内存使用率和表征上述内存使用率权重的第一预设参数,以及CPU使用率和表征上述CPU使用率的第二预设参数,分别计算每一个人脸识别服务器对应的负载值;
基于每一个人脸识别服务器分别对应的负载值,计算上述一个人脸识别子系统对应的平均负载值。
较佳的,上述主用负载均衡服务器从筛选出的所有人脸识别子系统中,选取一个人脸识别子系统时,具体用于:
按照平均负载值从低到高的顺序,对筛选出的每一个人脸识别子系统进行排序,获取人脸识别子系统候选队列;
从上述人脸识别子系统候选队列的前M个人脸识别子系统中,选取一个人脸识别子系统。
较佳的,上述人脸识别子系统,具体用于:
采用第一线程将接收到的人脸识别请求加入至人脸识别请求缓存队列;
采用第二线程从上述人脸识别请求缓存队列中,依次获取每一个人脸识别请求,每获取到一个人脸识别请求时,执行以下步骤:
对人脸识别请求中携带的人脸信息进行解析,获取人脸特征数据;
从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器作为目标人脸识别服务器集合;
基于上述预设数目以及预先保存的基准人脸特征数据库包含的基准人脸特征数据的数目,分别为上述目标人脸识别服务器集合中的每一台人脸识别服务器划分匹配范围;
分别向上述目标人脸识别服务器集合中的每一台人脸识别服务器发送相应的人脸匹配指示,指示上述目标人脸识别服务器集合中的每一台人脸识别服务器基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果;
基于各个处理结果,获取上述人脸信息对应的人脸识别结果。
较佳的,上述人脸识别子系统指示上述目标人脸识别服务器集合中的每一台人脸识别服务器基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果时,具体用于:
指示上述目标人脸识别服务器集合中的每一台人脸识别服务器分别执行以下操作:
按照人脸匹配指示中携带的匹配范围,将人脸匹配指示中携带的人脸特征数据分别与在上述匹配范围内的每一个基准人脸特征数据进行相似度匹配,生成相应的相似度匹配对;其中,一个相似度匹配对包含一个基准人脸特征数据对应的基准人脸标识,以及上述人脸特征数据与上述一个基准人脸特征数据之间的相似度;
将生成的各个相似度匹配对作为处理结果。
较佳的,上述人脸识别子系统基于各个处理结果,获取上述人脸信息对应的人脸识别结果时,具体用于:
基于各个处理结果,获取所有的相似度匹配对,并从所有的相似度匹配对中,筛选出对应的相似度不小于第二预设阈值的所有相似度匹配对;
将筛选出的所有相似度匹配对作为上述人脸信息对应的人脸识别结果;或者,按照相似度从高到低的顺序,对筛选出的每一个相似度匹配对进行排序,获取相似度匹配对队列后,将上述相似度匹配对队列的前N个相似度匹配对作为上述人脸信息对应的人脸识别结果;或者,从上述相似度匹配对队列的前N个相似度匹配对中,选取一个相似度匹配对作为上述人脸信息对应的人脸识别结果。
较佳的,上述人脸识别系统还包括:数据管理子系统;其中,上述数据管理子系统,用于更新上述基准人脸特征数据库,并对上述人脸识别系统进行升级。
较佳的,上述人脸识别系统还包括:网络服务子系统;其中,上述网络服务子系统,用于提供访问上述人脸识别系统的应用程序接口API以及提供展示上述人脸识别结果的展示页面。
一种人脸识别平台,包括:多个级联的上述人脸识别系统。
一种人脸识别的方法,包括:
负载均衡子系统接收人脸识别请求;
负载均衡子系统基于自身管辖的各个人脸识别子系统分别对应的平均负载值,从所有人脸识别子系统中,选取一个上述人脸识别子系统;
负载均衡子系统向选取的上述人脸识别子系统转发上述人脸识别请求,触发选取的上述人脸识别子系统执行以下操作:
从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对上述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理上述人脸信息后生成的处理结果;
基于各个处理结果,获取上述人脸信息对应的人脸识别结果。
较佳的,负载均衡子系统基于自身管辖的各个人脸识别子系统分别对应的平均负载值,从所有人脸识别子系统中,选取一个上述人脸识别子系统,包括:
负载均衡子系统获取自身管辖的每一个人脸识别子系统分别对应的平均负载值;
负载均衡子系统基于获取到的各个平均负载值,从所有的人脸识别子系统中,筛选出对应的平均负载值小于第一预设阈值的所有人脸识别子系统;
负载均衡子系统从筛选出的所有人脸识别子系统中,选取一个人脸识别子系统,并向选取的上述人脸识别子系统转发上述人脸识别请求。
较佳的,负载均衡子系统获取每一个人脸识别子系统分别对应的平均负载值,包括:
负载均衡子系统分别选取每一个人脸识别子系统执行以下步骤:
确定当前选取的一个人脸识别子系统;
基于上述一个人脸识别子系统的标识信息,从指定共享区域中,获取上述一个人脸识别子系统管辖的每一个人脸识别服务器分别对应的内存使用率和中央处理器CPU使用率;
基于每一个人脸识别服务器分别对应的内存使用率和表征上述内存使用率权重的第一预设参数,以及CPU使用率和表征上述CPU使用率的第二预设参数,分别计算每一个人脸识别服务器对应的负载值;
基于每一个人脸识别服务器分别对应的负载值,计算上述一个人脸识别子系统对应的平均负载值。
较佳的,负载均衡子系统从筛选出的所有人脸识别子系统中,选取一个人脸识别子系统,包括:
负载均衡子系统按照平均负载值从低到高的顺序,对筛选出的每一个人脸识别子系统进行排序,获取人脸识别子系统候选队列;
负载均衡子系统从上述人脸识别子系统候选队列的前M个人脸识别子系统中,选取一个人脸识别子系统。
一种人脸识别的方法,包括:
人脸识别子系统接收负载均衡子系统发送的人脸识别请求;其中,上述人脸识别子系统是上述负载均衡子系统接收到上述人脸识别请求后,基于各个人脸识别子系统分别对应的平均负载值,从各个人脸识别子系统中选取的;
人脸识别子系统从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对上述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理上述人脸信息后生成的处理结果;
人脸识别子系统基于各个处理结果,获取上述人脸信息对应的人脸识别结果。
较佳的,人脸识别子系统从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对上述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理上述人脸信息后生成的处理结果,包括:
人脸识别子系统对上述人脸识别请求中携带的人脸信息进行解析,获取人脸特征数据;
人脸识别子系统从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器作为目标人脸识别服务器集合;
人脸识别子系统基于上述预设数目以及预先保存的基准人脸特征数据库包含的基准人脸特征数据的数目,分别为上述目标人脸识别服务器集合中的每一台人脸识别服务器划分匹配范围;
人脸识别子系统分别向上述目标人脸识别服务器集合中的每一台人脸识别服务器发送相应的人脸匹配指示,指示上述目标人脸识别服务器集合中的每一台人脸识别服务器基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果。
较佳的,人脸识别子系统指示上述目标人脸识别服务器集合中的每一台人脸识别服务器基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果,包括:
人脸识别子系统指示上述目标人脸识别服务器集合中的每一台人脸识别服务器分别执行以下操作:
按照人脸匹配指示中携带的匹配范围,将人脸匹配指示中携带的人脸特征数据分别与在上述匹配范围内的每一个基准人脸特征数据进行相似度匹配,生成相应的相似度匹配对;其中,一个相似度匹配对包含一个基准人脸特征数据对应的基准人脸标识,以及上述人脸特征数据与上述一个基准人脸特征数据之间的相似度;
将生成的各个相似度匹配对作为处理结果。
较佳的,人脸识别子系统基于各个处理结果,获取上述人脸信息对应的人脸识别结果,包括:
人脸识别子系统基于各个处理结果,获取所有的相似度匹配对,并从所有的相似度匹配对中,筛选出对应的相似度不小于第二预设阈值的所有相似度匹配对;
将筛选出的所有相似度匹配对作为上述人脸信息对应的人脸识别结果;或者,按照相似度从高到低的顺序,对筛选出的每一个相似度匹配对进行排序,获取相似度匹配对队列后,将上述相似度匹配对队列的前N个相似度匹配对作为上述人脸信息对应的人脸识别结果;或者,从上述相似度匹配对队列的前N个相似度匹配对中,选取一个相似度匹配对作为上述人脸信息对应的人脸识别结果。
本发明实施例的有益效果如下:
本发明实施例中,在从所有的人脸识别子系统中,选取一个人脸识别子系统处理人脸识别请求时,考虑到了人脸识别子系统的平均负载值,保证了人脸识别请求的有效分配。而且,通过预设数目的人脸识别服务器分别对人脸识别请求进行处理,提高了人脸识别请求的处理效率和响应速率。
附图说明
图1A为本发明实施例中人脸识别系统的结构示意图;
图1B为本发明实施例中人脸识别系统的具体结构示意图;
图1C为本发明实施例中由两个人脸识别系统级联组成的人脸识别平台的功能结构示意图。
图2为本发明实施例中人脸识别方法的概况示意图;
图3A和图3B为本发明实施例中人脸识别方法的具体流程示意图;
图4为本发明实施例中负载均衡子系统的功能结构示意图;
图5为本发明实施例中人脸识别子系统的功能结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中的人脸识别方法存在人脸识别效率低、负载均衡效果差的问题,本发明实施例中,负载均衡子系统接收到人脸信息采集子系统发送的人脸识别请求后,基于各个人脸识别子系统分别对应的平均负载值,从各个人脸识别子系统中,选取一个人脸识别子系统,并将接收到的人脸识别请求转发至该选取出的人脸识别子系统;该选取出的人脸识别子系统接收到人脸识别请求后,会从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对该人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理该人脸信息时生成的处理结果,并基于各个处理结果,获取人脸识别结果。
本发明实施例提供了一种如图1A所示的人脸识别系统,包括:人脸信息采集子系统100,负载均衡子系统110,以及至少一个人脸识别子系统120,其中,
人脸信息采集子系统100,用于获取人脸信息,并向上述负载均衡子系统110发送人脸识别请求,其中,上述人脸识别请求中至少携带有上述人脸信息;
负载均衡子系统110,用于基于各个人脸识别子系统120分别对应的平均负载值,从各个人脸识别子系统120中,选取一个人脸识别子系统120,并将上述人脸识别请求转发至选取的人脸识别子系统120;
人脸识别子系统120,用于从自身管辖的所有人脸识别服务器121中,选取预设数目的人脸识别服务器121分别对上述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器121在处理上述人脸信息后生成的处理结果,并基于各个处理结果,获取人脸识别结果。
在具体实施时,参阅图1B所示,人脸信息采集子系统100包括:至少一个摄像头101,以及至少一个人脸信息采集器102,其中,
摄像头101,用于采集图像码流,并将采集到的图像码流发送至相应的人脸信息采集器102;
人脸信息采集器102,用于对接收到的图像码流进行检测,获取人脸信息,并将上述人脸信息携带在上述人脸识别请求中发送至负载均衡子系统110。
值得说的是,本发明实施例中,一个人脸信息采集器102可以对应一路摄像头101,也可以对应多路摄像头101,在此不作具体限定。
在具体实施时,参阅图1B所示,负载均衡子系统110包括:主用负载均衡服务器111,其中,
主用负载均衡服务器111,用于获取每一个人脸识别子系统120分别对应的平均负载值,并基于获取到的各个平均负载值,从所有的人脸识别子系统120中,筛选出对应的平均负载值小于第一预设阈值的所有人脸识别子系统120,以及从筛选出的所有人脸识别子系统120中,选取一个人脸识别子系统120,并将上述人脸识别请求转发至选取的人脸识别子系统120。
较佳的,为了保证人脸识别请求的实时分配,避免由于负载均衡子系统110中的主用负载均衡服务器111出现异常,导致人脸识别请求分配中断的问题,负载均衡子系统110还包括:备用负载均衡服务器112,其中,备用负载均衡服务器112,用于实时获取主用负载均衡服务器111的当前状态信息,并在确定上述当前状态信息不符合预设的运行条件时,转换为主用负载均衡服务器111。
较佳的,主用负载均衡服务器111获取每一个人脸识别子系统120分别对应的平均负载值时,具体用于:
分别选取每一个人脸识别子系统120执行以下步骤:
确定当前选取的一个人脸识别子系统120;
基于上述一个人脸识别子系统的标识信息,从指定共享区域中,获取上述一个人脸识别子系统120管辖的每一个人脸识别服务器121分别对应的内存使用率和中央处理器(Central Processing Unit,CPU)使用率;其中,上述一个人脸识别子系统120管辖的每一个人脸识别服务器121分别对应的内存使用率和CPU使用率是上述一个人脸识别子系统120上报至上述指定共享区域中的;
基于每一个人脸识别服务器121分别对应的内存使用率和表征上述内存使用率权重的第一预设参数,以及CPU使用率和表征上述CPU使用率的第二预设参数,分别计算每一个人脸识别服务器121对应的负载值;
基于每一个人脸识别服务器121分别对应的负载值,计算上述一个人脸识别子系统120对应的平均负载值。
较佳的,主用负载均衡服务器111从筛选出的所有人脸识别子系统120中,选取一个人脸识别子系统120时,具体用于:
按照平均负载值从低到高的顺序,对筛选出的每一个人脸识别子系统120进行排序,获取人脸识别子系统候选队列;
从上述人脸识别子系统候选队列的前M个人脸识别子系统120中,选取一个人脸识别子系统120。
较佳的,人脸识别子系统120,具体用于:
采用第一线程将接收到的人脸识别请求加入至人脸识别请求缓存队列;
采用第二线程从上述人脸识别请求缓存队列中,依次获取每一个人脸识别请求,每获取到一个人脸识别请求时,执行以下步骤:
对上述人脸识别请求中携带的人脸信息进行解析,获取人脸特征数据;
从自身管辖的所有人脸识别服务器121中,选取预设数目的人脸识别服务器121作为目标人脸识别服务器集合;
基于上述预设数目以及预先保存的基准人脸特征数据库包含的基准人脸特征数据的数目,分别为上述目标人脸识别服务器集合中的每一台人脸识别服务器121划分匹配范围;
分别向上述目标人脸识别服务器集合中的每一台人脸识别服务器121发送相应的人脸匹配指示,指示上述目标人脸识别服务器集合中的每一台人脸识别服务器121基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果;
基于各个处理结果,获取人脸识别结果。
较佳的,人脸识别子系统120指示上述目标人脸识别服务器集合中的每一台人脸识别服务器121基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果时,具体用于:
指示上述目标人脸识别服务器集合中的每一台人脸识别服务器121分别执行以下操作:
按照人脸匹配指示中携带的匹配范围,将人脸匹配指示中携带的人脸特征数据分别与在上述匹配范围内的每一个基准人脸特征数据进行相似度匹配,生成相应的相似度匹配对;其中,一个相似度匹配对包含一个基准人脸特征数据对应的基准人脸标识,以及上述人脸特征数据与上述一个基准人脸特征数据之间的相似度;
将生成的各个相似度匹配对作为处理结果。
较佳的,人脸识别子系统120基于各个处理结果,获取人脸识别结果时,具体用于:
基于各个处理结果,获取所有的相似度匹配对,并从所有的相似度匹配对中,筛选出对应的相似度不小于第二预设阈值的所有相似度匹配对;
将筛选出的所有相似度匹配对作为上述人脸识别结果;或者,按照相似度从高到低的顺序,对筛选出的每一个相似度匹配对进行排序,获取相似度匹配对队列后,从上述相似度匹配对队列的前N个相似度匹配对中,选取一个相似度匹配对作为上述人脸识别结果。
较佳的,上述人脸识别系统还包括:数据管理子系统130;其中,数据管理子系统130,用于更新上述基准人脸特征数据库,并对上述人脸识别系统进行升级。
较佳的,上述人脸识别系统还包括:网络服务子系统140;其中,网络服务子系统140,用于提供访问上述人脸识别系统的应用程序接口API以及提供展示上述人脸识别结果的展示页面。
采用上述人脸识别系统对人脸识别请求进行处理时,负载均衡子系统会根据各个人脸识别子系统对应的平均负载值,选取人脸识别服务器处理人脸识别请求,考虑到了人脸识别子系统的平均负载值,保证了人脸识别请求的有效分配。而且,通过人脸识别子系统中预设数目的人脸识别服务器分别对人脸识别请求进行处理,提高了人脸识别请求的处理效率。
基于同一发明构思,本发明实施例提供了一种如图1C所示的人脸识别平台,该人脸识别平台包括:多个级联的上述人脸识别系统。
可选地,级联的各个人脸识别系统之间可以共享数据管理子系统130和网络服务子系统140。当然,级联的各个人脸识别系统也可以各自包括一个共享数据管理子系统130和一个网络服务子系统140,在此不作具体限定。
采用上述人脸识别平台处理人脸信息,不仅可以实现对成百上千路摄像头采集到的图像码流的人脸检测,还可以实现对大量的人脸信息的识别,从而实现了对大量人脸信息的快速识别和响应。
基于此,本发明实施例还提供了一种人脸识别的方法,下面仅以一个人脸识别系统为例进行说明,参阅图2所示,人脸识别方法的流程如下:
步骤200:负载均衡子系统接收人脸识别请求。
在实际应用中,可以通过人脸信息采集子系统100对人脸信息进行采集,并将采集到的人脸信息携带在人脸识别请求中发送至负载均衡子系统110,具体地,可以采用但不限于以下方式:
人脸信息采集子系统100中的摄像头101采集图像码流,并将采集到的图像码流发送至相应的人脸信息采集器102。
人脸信息采集子系统100中的人脸信息采集器102对接收到的图像码流进行检测,获取人脸信息,并将上述人脸信息携带在上述人脸识别请求中发送至负载均衡子系统110。其中。上述人脸识别请求还可以携带有:摄像头101的互联网协议(Internet Protocol,IP)地址,以及摄像头101所在的通道号,等等;上述人脸信息可以是但不限于是:人脸图片。
具体地,负载均衡子系统110可以通过主用负载均衡服务器111接收上述人脸识别请求。较佳的,为了保证人脸识别请求的实时分配,避免由于负载均衡子系统110中的主用负载均衡服务器111出现异常,导致人脸识别请求分配中断的问题,负载均衡子系统110中还包括备用负载均衡服务器112,通过备用负载均衡服务器112实时获取主用负载均衡服务器111的当前状态信息,并在确定主用负载均衡服务器111的当前状态信息不符合预设的运行条件时(比如:主用负载均衡服务器111宕机时),备用负载均衡服务器112就会转换为主用负载均衡服务器111,从而,实现了主用负载均衡服务器111与备用负载均衡服务器112的无缝切换,保证了人脸识别请求的实施分配。
例如:假设在人脸识别系统的人脸信息采集子系统1中,有3路摄像头(即摄像头1—摄像头3),每路摄像头对应一个人脸信息采集器(即摄像头1对应人脸信息采集器1;摄像头2对应人脸信息采集器2;摄像头3对应人脸信息采集器3)。
假设摄像头1采集到图像码流数据1,将图像码流数据1发送至人脸信息采集器1。
人脸信息采集器1对图像码流数据1进行检测,获取到1张人脸图片(假设为人脸图片1),并将人脸图片1,摄像头1的IP地址1,以及摄像头1的通道号1等携带在人脸识别请求1中发送至负载均衡子系统1中的负载均衡服务器1(即主用负载均衡服务器)。
负载均衡子系统1中的负载均衡服务器1接收人脸识别请求1。与此同时,负载均衡子系统1中的负载均衡服务器2(即备用负载均衡服务器)会实时采集负载均衡服务器1的当前状态信息,并在确定负载均衡服务器1宕机时,转换为主用负载均衡服务器。
步骤201:负载均衡子系统基于各个人脸识别子系统分别对应的平均负载值,从各个人脸识别子系统中,选取一个上述人脸识别子系统。
较佳的,负载均衡子系统在执行步骤201时,可以采用但不限于以下方式:
首先,负载均衡子系统获取每一个人脸识别子系统分别对应的平均负载值。
具体地,负载均衡子系统可以通过分别选取每一个人脸识别子系统执行以下步骤的方式,获取每一个人脸识别子系统分别对应的平均负载值:
步骤1:负载均衡子系统确定当前选取的一个人脸识别子系统。
步骤2:负载均衡子系统基于上述一个人脸识别子系统的标识信息,从指定共享区域中,获取上述一个人脸识别子系统管辖的每一个人脸识别服务器分别对应的内存使用率和CPU使用率。
值得说的是,为了保证负载均衡子系统可以获取到每一个人脸识别子系统管辖的各个人脸识别服务器分别对应的内存使用率和CPU使用率,每一个人脸识别子系统会实时采集自身管辖的各个人脸识别服务器分别对应的内存使用率和CPU使用率,并将采集到的各个人脸识别服务器分别对应的内存使用率和CPU使用率周期性地(或者实时)上传至负载均衡子系统中的指定共享区域,以便负载均衡子系统可以获取到每一个人脸识别子系统管辖的各个人脸识别服务器分别对应的内存使用率和CPU使用率。
步骤3:负载均衡子系统基于每一个人脸识别服务器分别对应的内存使用率和表征上述内存使用率权重的第一预设参数,以及CPU使用率和表征上述CPU使用率的第二预设参数,分别计算每一个人脸识别服务器对应的负载值。
具体地,可以按照公式(1)分别计算每一个人脸识别服务器对应的负载值。
loadi=R1*CPUusage+R2*RAMusage 公式(1)
其中,loadi表征第i个人脸识别服务器的负载值;CPUusage表征第i个人脸识别服务器的CPU使用率;RAMusage表征第i个人脸识别服务器的内存使用率;R1表征RAMusage权重的第一预设参数;R2表征CPUusage权重的第二预设参数。具体地,R1和R2的取值可以根据不同的应用场景进行灵活配置,在默认情况下,R1和R2的取值均为1。
步骤4:负载均衡子系统基于每一个人脸识别服务器分别对应的负载值,计算上述一个人脸识别子系统对应的平均负载值。
具体地,可以按照公式(2)计算上述一个人脸识别子系统对应的平均负载值。
然后,负载均衡子系统基于获取到的各个平均负载值,从所有的人脸识别子系统中,筛选出对应的平均负载值小于第一预设阈值的所有人脸识别子系统。
最后,负载均衡子系统从筛选出的所有人脸识别子系统中,选取一个人脸识别子系统,并向选取的上述人脸识别子系统转发上述人脸识别请求。
具体地,负载均衡子系统从筛选出的所有人脸识别子系统中,选取一个人脸识别子系统时,可以采用但不限于以下方式:
负载均衡子系统按照平均负载值从低到高的顺序,对筛选出的每一个人脸识别子系统进行排序,获取人脸识别子系统候选队列,并从上述人脸识别子系统候选队列的前M个人脸识别子系统中,选取一个人脸识别子系统。较佳的,可以从上述人脸识别子系统候选队列的前M个人脸识别子系统中,选取第一个人脸识别子系统,即选取平均负载值最低的人脸识别子系统。
例如:继续沿用上例,下面仅以负载均衡服务器1对人脸识别请求1进行分配为例进行说明。假设人脸识别系统中有5个人脸识别子系统(即人脸识别子系统1—人脸识别子系统5),每个人脸识别子系统中有10个人脸识别服务器,即人脸识别子系统1中的10个人脸识别服务器为:人脸识别服务器1—人脸识别服务器10;人脸识别子系统2中的10个人脸识别服务器为:人脸识别服务器11—人脸识别服务器20;人脸识别子系统3中的10个人脸识别服务器为:人脸识别服务器21—人脸识别服务器30;人脸识别子系统4中的10个人脸识别服务器为:人脸识别服务器31—人脸识别服务器40;人脸识别子系统5中的10个人脸识别服务器为:人脸识别服务器41—人脸识别服务器50。
步骤1:负载均衡服务器1选取人脸识别子系统1。
步骤2:负载均衡服务器1基于人脸识别子系统1的标识信息(即人脸识别子系统1),从指定共享区域,获取人脸识别子系统1上传的10个人脸识别服务器(即人脸识别服务器1—人脸识别服务器10)分别对应的内存使用率和CPU使用率。
步骤3:负载均衡服务器1基于人脸识别服务器1的内存使用率1和表征内存使用率1权重的参数1,以及CPU使用率1和表征CPU使用率1的参数2,按照上述公式(1),计算人脸识别服务器1的负载值。
进一步地,负载均衡服务器1还需要采用步骤3中的计算方法,计算人脸识别服务器2—人脸识别服务器10的负载值,在此不再赘述。具体地,在计算人脸识别服务器2—人脸识别服务器10的负载值时,参数1和参数2的取值可以与计算人脸识别服务器1的负载值时的取值相同,也可以与计算人脸识别服务器1的负载值时的取值不同,在此不作具体限定。
步骤4:负载均衡服务器1基于人脸识别服务器1—人脸识别服务器10的负载值,按照上述公式(2),计算人脸识别子系统1对应的平均负载值1。
进一步地,负载均衡服务器1还需要采用步骤1—步骤4中的计算方法,计算人脸识别子系统2—人脸识别子系统5的平均负载值,在此不再赘述。
假设计算出的人脸识别子系统1的平均负载值1为20%;人脸识别子系统2的平均负载值2为60%;人脸识别子系统3的平均负载值3为15%;人脸识别子系统4的平均负载值4为65%;人脸识别子系统5对应的平均负载值5为25%。
步骤5:负载均衡服务器1基于获取到的5个人脸识别子系统分别对应的平均负载值,从人脸识别子系统1—人脸识别子系统5中,筛选出对应的平均负载值小于50%(即第一预设阈值)的人脸识别子系统1、人脸识别子系统3和人脸识别子系统5。
步骤6:负载均衡服务器1按照平均负载值从低到高的顺序,对人脸识别子系统1、人脸识别子系统3和人脸识别子系统5进行排序,获取到人脸识别子系统候选队列1:人脸识别子系统3、人脸识别子系统1、人脸识别子系统5。
步骤7:负载均衡服务器1从人脸识别子系统候选队列1中,选取平均负载值最小(15%)的人脸识别子系统3。
步骤202:负载均衡子系统向选取的上述人脸识别子系统转发上述人脸识别请求。
例如:继续沿用上例,负载均衡服务器1将接收到的人脸识别请求1转发至人脸识别子系统3,其中,人脸识别请求1中携带有:人脸图片1,摄像头1的IP地址1,以及摄像头1的通道号1等。
步骤203:人脸识别子系统接收负载均衡子系统发送的人脸识别请求。
例如:继续沿用上例,人脸识别子系统3接收负载均衡服务器1发送的人脸识别请求1,其中,人脸识别请求1中携带有:人脸图片1,摄像头1的IP地址1,以及摄像头1的通道号1等。
步骤204:人脸识别子系统从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对上述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理上述人脸信息后生成的处理结果。
较佳的,为了保证人脸识别请求的有序处理,避免由于人脸识别子系统忙碌,导致数据丢失的问题,人脸识别子系统120采用并行处理方式,对接收到的人脸识别请求进行处理,具体地,可以采用但不限于以下方式:
人脸识别子系统120采用第一线程将接收到的人脸识别请求加入至人脸识别请求缓存队列,与此同时,采用第二线程从上述人脸识别请求缓存队列中,依次获取每一个人脸识别请求进行处理。
具体地,人脸识别子系统120每获取到一个人脸识别请求时,执行以下步骤:
步骤1′:人脸识别子系统120对人脸识别请求中携带的人脸信息进行解析,获取人脸特征数据。
步骤2′:人脸识别子系统120从自身管辖的所有人脸识别服务器121中,选取预设数目的人脸识别服务器121作为目标人脸识别服务器集合。
较佳的,人脸识别子系统120可以选取自身管辖的所有人脸识别服务器121作为目标人脸识别服务器集合。
步骤3′:人脸识别子系统120基于上述预设数目以及预先保存的基准人脸特征数据库包含的基准人脸特征数据的数目,分别为上述目标人脸识别服务器集合中的每一台人脸识别服务器121划分匹配范围。
值得说的是,为了保证上述基准人脸特征数据库的准确性和完整性,上述人脸识别系统中的数据管理子系统130还会定期对该基准人脸特征数据库进行修改或删除无效的基准人脸特征数据,当然,数据管理子系统130还可以对上述人脸识别系统进行升级。
步骤4′:人脸识别子系统120分别向上述目标人脸识别服务器集合中的每一台人脸识别服务器121发送相应的人脸匹配指示,指示上述目标人脸识别服务器集合中的每一台人脸识别服务器121基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果。
具体地,人脸识别子系统120可以指示上述目标人脸识别服务器集合中的每一台人脸识别服务器121分别执行以下操作:
按照人脸匹配指示中携带的匹配范围,将人脸匹配指示中携带的人脸特征数据分别与在上述匹配范围内的每一个基准人脸特征数据进行相似度匹配,生成相应的相似度匹配对<Face ID,Score>,并将生成的各个相似度匹配对<FaceID,Score>作为处理结果,其中,一个相似度匹配对<Face ID,Score>包含一个基准人脸特征数据对应的基准人脸标识(即Face ID),以及上述人脸特征数据与上述一个基准人脸特征数据之间的相似度(即Score)。
例如:继续沿用上例,人脸识别子系统3采用线程1将接收到的人脸识别请求1加入至人脸识别请求缓存队列;采用线程2从人脸识别请求缓存队列中,依次获取每一个人脸识别请求进行处理。假设人脸识别请求缓存队列中仅存在人脸识别请求1,则此时,人脸识别子系统3从人脸识别请求缓存队列中,获取到的人脸识别请求即为人脸识别请求1。
步骤1′:人脸识别子系统3对人脸识别请求1中携带的人脸图片1进行解析,获取人脸特征数据1。
步骤2′:人脸识别子系统3选取自身管辖的10个(即预设数目)人脸识别服务器(即人脸识别服务器21—人脸识别服务器30)作为目标人脸识别服务器集合。
步骤3′:人脸识别子系统3根据自身管辖的人脸识别服务器的数目(10个),以及基准人脸特征数据库包含的基准人脸特征数据的数目(假设为100个),分别为人脸识别服务器21—人脸识别服务器30划分匹配范围。
比如:将匹配范围(基准人脸特征数据1—基准人脸特征数据10)划分给人脸识别服务器21;将匹配范围(基准人脸特征数据11—基准人脸特征数据20)划分给人脸识别服务器22,等等。
步骤4′:人脸识别子系统3分别向人脸识别服务器21—人脸识别服务器30发送相应的人脸匹配指示。其中,人脸识别子系统3向一个人脸识别服务器发送的人脸匹配指示中至少包括:分配给该一个人脸识别服务器的匹配范围和获取到的人脸特征数据1。
下面仅以人脸识别服务器21接收到人脸匹配指示后,获取到人脸匹配指示中携带的匹配范围(基准人脸特征数据1—基准人脸特征数据10)和人脸特征数据1时,将人脸特征数据1与匹配范围包含的一个基准人脸特征数据进行相似度匹配为例进行说明。
步骤5′:人脸识别服务器21接收到人脸匹配指示后,获取到人脸匹配指示中携带的匹配范围(基准人脸特征数据1—基准人脸特征数据10)和人脸特征数据1。
步骤6′:人脸识别服务器21将人脸特征数据1与在匹配范围内的基准人脸特征数据1进行相似度匹配,生成相似度匹配对<Face 1,99%>。其中,Face1表征基准人脸特征数据1对应的基准人脸标识,95%表征人脸特征数据1与基准人脸特征数据1之间的相似度。
步骤7′:人脸识别服务器21采用步骤6′中的相似度匹配方式,将人脸特征数据1分别与基准人脸特征数据2—基准人脸特征数据10进行相似度匹配,生成相应的相似度匹配对。
步骤8′:人脸识别服务器21获取到10个相似度匹配对后,将该10个相似度匹配对作为处理结果上报至人脸识别子系统3。
值得说的是,人脸识别服务器22—人脸识别服务器30也会采用步骤5′—步骤8′的方式获取处理结果,并上报至人脸识别子系统3,在此不再赘述。
步骤205:人脸识别子系统基于各个处理结果,获取上述人脸信息对应的人脸识别结果。
具体地,人脸识别子系统120在执行步骤205时,可以采用但不限于以下方式:
首先,人脸识别子系统120基于各个处理结果,获取所有的相似度匹配对,并从所有的相似度匹配对中,筛选出对应的相似度不小于第二预设阈值的所有相似度匹配对。
然后,人脸识别子系统120基于筛选出的所有相似度匹配对,获取上述人脸信息对应的人脸识别结果。
可选地,人脸识别子系统120可以采用但不限于以下三种方式,获取上述人脸信息对应的人脸识别结果:
第一种方式:人脸识别子系统120直接将筛选出的所有相似度匹配对作为上述人脸信息对应的人脸识别结果。
第二种方式:人脸识别子系统120按照相似度从高到低的顺序,对筛选出的每一个相似度匹配对进行排序,获取相似度匹配对队列后,将上述相似度匹配对队列的前N个相似度匹配对作为上述人脸信息对应的人脸识别结果。
第三种方式:人脸识别子系统120从上述相似度匹配对队列的前N个相似度匹配对中,选取一个相似度匹配对作为上述人脸信息对应的人脸识别结果。较佳的,可以选取相似度最高的相似度匹配对作为上述人脸信息对应的人脸识别结果。
例如:继续沿用上例,假设已获取到自身管辖的10个人脸识别服务器(即人脸识别服务器21—人脸识别服务器30)上报的处理结果。
首先,人脸识别子系统3获取到自身管辖的10个人脸识别服务器(即人脸识别服务器21—人脸识别服务器30)上报的处理结果后,基于各个处理结果,获取到100个相似度匹配对。
然后,人脸识别子系统3从100个相似度匹配对中,筛选出对应的相似度不小于95%(即第二预设阈值)的所有相似度匹配对(假设有<Face 1,99%>、<Face 19,96%>和<Face 77,98%>3对)。
其次,人脸识别子系统3按照相似度从高到低的顺序,对<Face 1,99%>、<Face19,98%>和<Face 77,96%>进行排序,获取到的相似度匹配对队列为<Face 1,99%>、<Face 77,98%>、<Face 19,96%>。
最后,人脸识别子系统3从相似度匹配对队列中选取相似度最高的<Face1,99%>作为人脸图片1的人脸识别结果1。
当然,人脸识别子系统3也可以直接将<Face 1,99%>、<Face 77,98%>和<Face19,96%>作为人脸图片1的人脸识别结果1,或者,将(<Face 1,99%>和<Face 77,98%>作为人脸图片1的人脸识别结果1,在此不作具体限定。
进一步地,人脸识别子系统120获取到上述人脸信息对应的人脸识别结果后,还可以将上述人脸识别结果,上述人脸信息,上述人脸信息对应的摄像机的IP地址,以及上述摄像机所在的通道号等打包成结果数据包(Result-package,RP),并将该RP发送至网络服务子系统140。这样,在用户需要查看上述人脸信息对应的人脸识别结果时,网络服务子系统140就可以为该用户提供展示上述人脸识别结果的展示页面。当然,网络服务子系统140还可以为用户提供访问上述人脸识别系统的应用程序接口(Application ProgramInterface,API)。
例如:继续沿用上例,人脸识别子系统3将人脸识别结果1<Face 1,99%>、人脸图片1、摄像机1的IP地址1和摄像机1的通道号1打包成RP数据包1,并将RP数据包1上报至网络服务子系统。
网络服务子系统保存RP数据包1,并在确定用户需要查看人脸识别结果1时,向用户显示一个展示页面,其中,该展示页面上至少包括以下任意一种或任意组合:人脸识别结果1<Face 1,99%>,人脸图片1,摄像机1的IP地址1,以及摄像机1的通道号1,等等。
下面采用具体的应用场景对上述实施例作进一步详细说明,参阅图3A和图3B所示,本发明实施例中,人脸识别方法的具体流程如下:
假设一路摄像头1对应一个人脸信息采集器1;负载均衡子系统包括主用负载均衡服务器(即负载均衡服务器1)和备用负载均衡服务器(即负载均衡服务器2),其中,负载均衡服务器1正常工作;有5个人脸识别子系统(即人脸识别子系统1—人脸识别子系统5),每个人脸识别子系统中有10个人脸识别服务器。
步骤300:摄像头1采集到图像码流数据1,将图像码流数据1发送至人脸信息采集器1。
步骤301:人脸信息采集器1对图像码流数据1进行检测,获取到1张人脸图片(假设为人脸图片1),并将人脸图片1,摄像头1的IP地址1,以及摄像头1的通道号1等携带在人脸识别请求1中发送至负载均衡子系统1中的负载均衡服务器1。
步骤302:负载均衡服务器1接收人脸识别请求1。
与此同时,负载均衡服务器2实时采集负载均衡服务器1的当前状态信息,并在确定负载均衡服务器1宕机时,转换为主用负载均衡服务器。
步骤303:负载均衡服务器1选取人脸识别子系统1,并基于人脸识别子系统1的标识信息:人脸识别子系统1,从指定共享区域,获取人脸识别子系统1上传的10个人脸识别服务器(即人脸识别服务器1—人脸识别服务器10)分别对应的内存使用率和CPU使用率。
步骤304:负载均衡服务器1基于人脸识别服务器1的内存使用率1和表征内存使用率1权重的参数1,以及CPU使用率1和表征CPU使用率1的参数2,按照下述公式,计算人脸识别服务器1的负载值。
loadi=R1*CPUusage+R2*RAMusage
步骤305:负载均衡服务器1采用步骤304中的计算方法,计算人脸识别服务器2—人脸识别服务器10的负载值。
步骤306:负载均衡服务器1基于人脸识别服务器1—人脸识别服务器10的负载值,按照下述公式,计算人脸识别子系统1对应的平均负载值1。
步骤307:负载均衡服务器1采用步骤303—步骤306中的计算方法,计算人脸识别子系统2—人脸识别子系统5的平均负载值。
假设计算出的人脸识别子系统1的平均负载值1为20%;人脸识别子系统2的平均负载值2为60%;人脸识别子系统3的平均负载值3为15%;人脸识别子系统4的平均负载值4为65%;人脸识别子系统5对应的平均负载值5为25%。
步骤308:负载均衡服务器1基于获取到的5个人脸识别子系统分别对应的平均负载值,从人脸识别子系统1—人脸识别子系统5中,筛选出对应的平均负载值小于50%(即第一预设阈值)的人脸识别子系统1、人脸识别子系统3和人脸识别子系统5。
步骤309:负载均衡服务器1按照平均负载值从低到高的顺序,对人脸识别子系统1、人脸识别子系统3和人脸识别子系统5进行排序,获取到人脸识别子系统候选队列1:人脸识别子系统3、人脸识别子系统1、人脸识别子系统5。
步骤310:负载均衡服务器1从人脸识别子系统候选队列1中,选取平均负载值最小(15%)的人脸识别子系统3,并将人脸识别请求1转发至人脸识别子系统3。
步骤311:人脸识别子系统3接收人脸识别请求1,并采用线程1将人脸识别请求1加入至人脸识别请求缓存队列;采用线程2从人脸识别请求缓存队列中,依次获取每一个人脸识别请求进行处理。
假设人脸识别请求缓存队列中仅存在人脸识别请求1,则此时,人脸识别子系统3从人脸识别请求缓存队列中,获取到的人脸识别请求即为人脸识别请求1。
步骤312:人脸识别子系统3对人脸识别请求1中携带的人脸图片1进行解析,获取人脸特征数据1。
步骤313:人脸识别子系统3选取自身管辖的10个(即预设数目)人脸识别服务器(即人脸识别服务器21—人脸识别服务器30)作为目标人脸识别服务器集合。
步骤314:人脸识别子系统3根据自身管辖的人脸识别服务器的数目(10个),以及基准人脸特征数据库包含的基准人脸特征数据的数目(假设为100个),分别为人脸识别服务器21—人脸识别服务器30划分匹配范围。
比如:将匹配范围(基准人脸特征数据1—基准人脸特征数据10)划分给人脸识别服务器21;将匹配范围(基准人脸特征数据11—基准人脸特征数据20)划分给人脸识别服务器22,等等。
步骤315:人脸识别子系统3分别向人脸识别服务器21—人脸识别服务器30发送相应的人脸匹配指示。其中,人脸识别子系统3向一个人脸识别服务器发送的人脸匹配指示中至少包括:分配给该一个人脸识别服务器的匹配范围和获取到的人脸特征数据1。
下面仅以人脸识别服务器21接收到人脸匹配指示后,获取到人脸匹配指示中携带的匹配范围(基准人脸特征数据1—基准人脸特征数据10)和人脸特征数据1时,将人脸特征数据1与匹配范围包含的一个基准人脸特征数据进行相似度匹配为例进行说明。
步骤316:人脸识别服务器21接收到人脸匹配指示后,获取到人脸匹配指示中携带的匹配范围(基准人脸特征数据1—基准人脸特征数据10)和人脸特征数据1。
步骤317:人脸识别服务器21将人脸特征数据1与在匹配范围内的基准人脸特征数据1进行相似度匹配,生成相似度匹配对<Face 1,99%>。其中,Face1表征基准人脸特征数据1对应的基准人脸标识,95%表征人脸特征数据1与基准人脸特征数据1之间的相似度。
步骤318:人脸识别服务器21采用步骤317中的相似度匹配方式,将人脸特征数据1分别与基准人脸特征数据2—基准人脸特征数据10进行相似度匹配,生成相应的相似度匹配对。
步骤319:人脸识别服务器21获取到10个相似度匹配对后,将该10个相似度匹配对作为处理结果上报至人脸识别子系统3。
值得说的是,人脸识别服务器22—人脸识别服务器30也会采用步骤5′—步骤8′的方式获取处理结果,并上报至人脸识别子系统3,在此不再赘述。
步骤320:人脸识别子系统3获取到自身管辖的10个人脸识别服务器(即人脸识别服务器21—人脸识别服务器30)上报的处理结果后,基于各个处理结果,获取到100个相似度匹配对。
步骤321:人脸识别子系统3从100个相似度匹配对中,筛选出对应的相似度不小于95%(即第二预设阈值)的所有相似度匹配对(假设有<Face 1,99%>、<Face 19,96%>和<Face 77,98%>3对)。
步骤322:人脸识别子系统3按照相似度从高到低的顺序,对<Face 1,99%>、<Face19,98%>和<Face 77,96%>进行排序,获取到的相似度匹配对队列为<Face 1,99%>、<Face 77,98%>、<Face 19,96%>。
步骤323:人脸识别子系统3从相似度匹配对队列中选取相似度最高的<Face 1,99%>作为人脸图片1的人脸识别结果1。
当然,人脸识别子系统3也可以直接将<Face 1,99%>、<Face 77,98%>和<Face19,96%>作为人脸图片1的人脸识别结果1,或者,将(<Face 1,99%>和<Face 77,98%>作为人脸图片1的人脸识别结果1,在此不作具体限定。
步骤324:人脸识别子系统3将人脸识别结果1<Face 1,99%>、人脸图片1、摄像机1的IP地址1和摄像机1的通道号1打包成RP数据包1,并将RP数据包1上报至网络服务子系统。
步骤325:网络服务子系统保存RP数据包1,并在确定用户需要查看人脸识别结果1时,向用户显示一个展示页面,其中,该展示页面上至少包括以下任意一种或任意组合:人脸识别结果1<Face 1,99%>,人脸图片1,摄像机1的IP地址1,以及摄像机1的通道号1,等等。
基于上述实施例,参阅图4所示,本发明实施例中,负载均衡子系统110至少包括:
接收模块400,用于接收人脸识别请求;
负载均衡模块401,用于基于各个人脸识别子系统分别对应的平均负载值,从所有人脸识别子系统中,选取一个上述人脸识别子系统;
发送模块402,用于向选取的上述人脸识别子系统转发上述人脸识别请求,触发选取的上述人脸识别子系统执行以下步骤:
从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对上述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理上述人脸信息后生成的处理结果;
基于各个处理结果,获取上述人脸信息对应的人脸识别结果。
较佳的,基于各个人脸识别子系统分别对应的平均负载值,从所有人脸识别子系统中,选取一个上述人脸识别子系统时,上述负载均衡模块401具体用于:
获取每一个人脸识别子系统分别对应的平均负载值;
基于获取到的各个平均负载值,从所有的人脸识别子系统中,筛选出对应的平均负载值小于第一预设阈值的所有人脸识别子系统;
从筛选出的所有人脸识别子系统中,选取一个人脸识别子系统,并向选取的上述人脸识别子系统转发上述人脸识别请求。
较佳的,负载均衡子系统110还包括:负载采集模块403和数据共享模块404,其中,
上述负载采集模块403,用于采集各个人脸识别子系统分别对应的资源使用率,并将各个人脸识别子系统分别对应的资源使用率上传至上述数据共享模块404,其中,一个人脸识别子系统对应的资源使用率包括:上述一个人脸识别子系统管辖的每一个人脸识别服务器分别对应的内存使用率和CPU使用率;
上述数据共享模块404,用于基于各个人脸识别子系统分别对应的标识信息,分别保存每一个人脸识别子系统对应的资源使用率。
较佳的,获取每一个人脸识别子系统分别对应的平均负载值时,上述负载均衡模块401具体用于:
分别选取每一个人脸识别子系统执行以下步骤:
确定当前选取的一个人脸识别子系统;
基于上述一个人脸识别子系统的标识信息,从数据共享模块(即上述指定共享区域)中,获取上述一个人脸识别子系统管辖的每一个人脸识别服务器分别对应的内存使用率和CPU使用率;
基于每一个人脸识别服务器分别对应的内存使用率和表征上述内存使用率权重的第一预设参数,以及CPU使用率和表征上述CPU使用率的第二预设参数,分别计算每一个人脸识别服务器对应的负载值;
基于每一个人脸识别服务器分别对应的负载值,计算上述一个人脸识别子系统对应的平均负载值。
较佳的,从筛选出的所有人脸识别子系统中,选取一个人脸识别子系统时,上述负载均衡模块401具体用于:
按照平均负载值从低到高的顺序,对筛选出的每一个人脸识别子系统进行排序,获取人脸识别子系统候选队列;
从上述人脸识别子系统候选队列的前M个人脸识别子系统中,选取一个人脸识别子系统。
基于上述实施例,参阅图5所示,本发明实施例中,人脸识别子系统120至少包括:
接收模块500,用于接收负载均衡子系统110发送的人脸识别请求;其中,上述人脸识别子系统120是上述负载均衡子系统110接收到上述人脸识别请求后,基于各个人脸识别子系统120分别对应的平均负载值,从各个人脸识别子系统120中选取的;
分配模块501,用于从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对上述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理上述人脸信息后生成的处理结果;
获取模块502,用于基于各个处理结果,获取上述人脸信息对应的人脸识别结果。
较佳的,从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对上述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理上述人脸信息后生成的处理结果时,上述分配模块501具体用于:
对上述人脸识别请求中携带的人脸信息进行解析,获取人脸特征数据;
从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器作为目标人脸识别服务器集合;
基于上述预设数目以及预先保存的基准人脸特征数据库包含的基准人脸特征数据的数目,分别为上述目标人脸识别服务器集合中的每一台人脸识别服务器划分匹配范围;
分别向上述目标人脸识别服务器集合中的每一台人脸识别服务器发送相应的人脸匹配指示,指示上述目标人脸识别服务器集合中的每一台人脸识别服务器基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果。
较佳的,指示上述目标人脸识别服务器集合中的每一台人脸识别服务器基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果时,上述分配模块501具体用于:
人脸识别子系统指示上述目标人脸识别服务器集合中的每一台人脸识别服务器分别执行以下操作:
按照人脸匹配指示中携带的匹配范围,将人脸匹配指示中携带的人脸特征数据分别与在上述匹配范围内的每一个基准人脸特征数据进行相似度匹配,生成相应的相似度匹配对;其中,一个相似度匹配对包含一个基准人脸特征数据对应的基准人脸标识,以及上述人脸特征数据与上述一个基准人脸特征数据之间的相似度;
将生成的各个相似度匹配对作为处理结果。
较佳的,基于各个处理结果,获取上述人脸信息对应的人脸识别结果时,上述获取模块502具体用于:
基于各个处理结果,获取所有的相似度匹配对,并从所有的相似度匹配对中,筛选出对应的相似度不小于第二预设阈值的所有相似度匹配对;
将筛选出的所有相似度匹配对作为上述人脸信息对应的人脸识别结果;或者,按照相似度从高到低的顺序,对筛选出的每一个相似度匹配对进行排序,获取相似度匹配对队列后,将上述相似度匹配对队列的前N个相似度匹配对作为上述人脸信息对应的人脸识别结果;或者,从上述相似度匹配对队列的前N个相似度匹配对中,选取一个相似度匹配对作为上述人脸信息对应的人脸识别结果。
综上所述,本发明实施例中,上述人脸信息采集子系统获取到人脸信息后,向上述负载均衡子系统发送携带有上述人脸信息的人脸识别请求;上述负载均衡子系统基于各个人脸识别子系统分别对应的平均负载值,从所有人脸识别子系统中,选取一个上述人脸识别子系统,并将上述人脸识别请求转发至选取的上述人脸识别子系统;上述人脸识别子系统从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对上述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理上述人脸信息后生成的处理结果,并基于各个处理结果,获取上述人脸信息对应的人脸识别结果。这样,在从所有的人脸识别子系统中,选取一个人脸识别子系统处理人脸识别请求时,考虑到了人脸识别子系统的平均负载值,保证了人脸识别请求的有效分配。而且,通过预设数目的人脸识别服务器分别对人脸识别请求进行处理,提高了人脸识别请求的处理效率和响应速率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (18)
1.一种人脸识别系统,其特征在于,包括:人脸信息采集子系统,负载均衡子系统,以及至少一个人脸识别子系统,其中,
所述人脸信息采集子系统,用于获取人脸信息,并向所述负载均衡子系统发送人脸识别请求,其中,所述人脸识别请求中至少携带有所述人脸信息;
所述负载均衡子系统,用于基于各个人脸识别子系统分别对应的平均负载值,从所有人脸识别子系统中,选取一个所述人脸识别子系统,并将所述人脸识别请求转发至选取的所述人脸识别子系统;
所述人脸识别子系统,用于从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对所述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理所述人脸信息后生成的处理结果,并基于各个处理结果,获取所述人脸信息对应的人脸识别结果;
其中,所述人脸识别子系统,具体用于:
采用第一线程将接收到的人脸识别请求加入至人脸识别请求缓存队列;
采用第二线程从所述人脸识别请求缓存队列中,依次获取每一个人脸识别请求,每获取到一个人脸识别请求时,执行以下步骤:
对人脸识别请求中携带的人脸信息进行解析,获取人脸特征数据;
从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器作为目标人脸识别服务器集合;
基于所述预设数目以及预先保存的基准人脸特征数据库包含的基准人脸特征数据的数目,分别为所述目标人脸识别服务器集合中的每一台人脸识别服务器划分匹配范围;
分别向所述目标人脸识别服务器集合中的每一台人脸识别服务器发送相应的人脸匹配指示,指示所述目标人脸识别服务器集合中的每一台人脸识别服务器基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果;
基于各个处理结果,获取所述人脸信息对应的人脸识别结果。
2.如权利要求1所述的人脸识别系统,其特征在于,所述人脸信息采集子系统包括:至少一个摄像头,以及至少一个人脸信息采集器,其中,
所述摄像头,用于采集图像码流,并将采集到的图像码流发送至相应的人脸信息采集器;
所述人脸信息采集器,用于对接收到的图像码流进行检测,获取人脸信息,并将所述人脸信息携带在所述人脸识别请求中发送至所述负载均衡子系统。
3.如权利要求1所述的人脸识别系统,其特征在于,所述负载均衡子系统包括:主用负载均衡服务器,其中,
所述主用负载均衡服务器,用于获取每一个人脸识别子系统分别对应的平均负载值,并基于获取到的各个平均负载值,从所有的人脸识别子系统中,筛选出对应的平均负载值小于第一预设阈值的所有人脸识别子系统,以及从筛选出的所有人脸识别子系统中,选取一个人脸识别子系统,并将所述人脸识别请求转发至选取的所述人脸识别子系统。
4.如权利要求3所述的人脸识别系统,其特征在于,所述负载均衡子系统还包括:备用负载均衡服务器,其中,
所述备用负载均衡服务器,用于实时获取所述主用负载均衡服务器的当前状态信息,并在确定所述当前状态信息不符合预设的运行条件时,转换为主用负载均衡服务器。
5.如权利要求3所述的人脸识别系统,其特征在于,所述主用负载均衡服务器获取每一个人脸识别子系统分别对应的平均负载值时,具体用于:
分别选取每一个人脸识别子系统执行以下步骤:
确定当前选取的一个人脸识别子系统;
基于所述一个人脸识别子系统的标识信息,从指定共享区域中,获取所述一个人脸识别子系统管辖的每一个人脸识别服务器分别对应的内存使用率和中央处理器CPU使用率;
基于每一个人脸识别服务器分别对应的内存使用率和表征所述内存使用率权重的第一预设参数,以及CPU使用率和表征所述CPU使用率的第二预设参数,分别计算每一个人脸识别服务器对应的负载值;
基于每一个人脸识别服务器分别对应的负载值,计算所述一个人脸识别子系统对应的平均负载值。
6.如权利要求3所述的人脸识别系统,其特征在于,所述主用负载均衡服务器从筛选出的所有人脸识别子系统中,选取一个人脸识别子系统时,具体用于:
按照平均负载值从低到高的顺序,对筛选出的每一个人脸识别子系统进行排序,获取人脸识别子系统候选队列;
从所述人脸识别子系统候选队列的前M个人脸识别子系统中,选取一个人脸识别子系统。
7.如权利要求1所述的人脸识别系统,其特征在于,所述人脸识别子系统指示所述目标人脸识别服务器集合中的每一台人脸识别服务器基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果时,具体用于:
指示所述目标人脸识别服务器集合中的每一台人脸识别服务器分别执行以下操作:
按照人脸匹配指示中携带的匹配范围,将人脸匹配指示中携带的人脸特征数据分别与在所述匹配范围内的每一个基准人脸特征数据进行相似度匹配,生成相应的相似度匹配对;其中,一个相似度匹配对包含一个基准人脸特征数据对应的基准人脸标识,以及所述人脸特征数据与所述一个基准人脸特征数据之间的相似度;
将生成的各个相似度匹配对作为处理结果。
8.如权利要求7所述的人脸识别系统,其特征在于,所述人脸识别子系统基于各个处理结果,获取所述人脸信息对应的人脸识别结果时,具体用于:
基于各个处理结果,获取所有的相似度匹配对,并从所有的相似度匹配对中,筛选出对应的相似度不小于第二预设阈值的所有相似度匹配对;
将筛选出的所有相似度匹配对作为所述人脸信息对应的人脸识别结果;或者,按照相似度从高到低的顺序,对筛选出的每一个相似度匹配对进行排序,获取相似度匹配对队列后,将所述相似度匹配对队列的前N个相似度匹配对作为所述人脸信息对应的人脸识别结果;或者,从所述相似度匹配对队列的前N个相似度匹配对中,选取一个相似度匹配对作为所述人脸信息对应的人脸识别结果。
9.如权利要求1所述的人脸识别系统,其特征在于,还包括:数据管理子系统;其中,所述数据管理子系统,用于更新所述基准人脸特征数据库,并对所述人脸识别系统进行升级。
10.如权利要求1-9任一项所述的人脸识别系统,其特征在于,还包括:网络服务子系统;其中,所述网络服务子系统,用于提供访问所述人脸识别系统的应用程序接口API以及提供展示所述人脸识别结果的展示页面。
11.一种人脸识别平台,其特征在于,包括:多个级联的如权利要求1-10任一项所述的人脸识别系统。
12.一种人脸识别的方法,其特征在于,包括:
负载均衡子系统接收人脸识别请求;
负载均衡子系统基于各个人脸识别子系统分别对应的平均负载值,从所有人脸识别子系统中,选取一个所述人脸识别子系统;
负载均衡子系统向选取的所述人脸识别子系统转发所述人脸识别请求,触发选取的所述人脸识别子系统执行以下操作:
从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对所述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理所述人脸信息后生成的处理结果;
基于各个处理结果,获取所述人脸信息对应的人脸识别结果;
其中,从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对所述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理所述人脸信息后生成的处理结果,包括:
采用第一线程将接收到的人脸识别请求加入至人脸识别请求缓存队列;
采用第二线程从所述人脸识别请求缓存队列中,依次获取每一个人脸识别请求,每获取到一个人脸识别请求时,执行以下步骤:
对人脸识别请求中携带的人脸信息进行解析,获取人脸特征数据;
从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器作为目标人脸识别服务器集合;
基于所述预设数目以及预先保存的基准人脸特征数据库包含的基准人脸特征数据的数目,分别为所述目标人脸识别服务器集合中的每一台人脸识别服务器划分匹配范围;
分别向所述目标人脸识别服务器集合中的每一台人脸识别服务器发送相应的人脸匹配指示,指示所述目标人脸识别服务器集合中的每一台人脸识别服务器基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果;
基于各个处理结果,获取所述人脸信息对应的人脸识别结果。
13.如权利要求12所述的人脸识别的方法,其特征在于,负载均衡子系统基于各个人脸识别子系统分别对应的平均负载值,从所有人脸识别子系统中,选取一个所述人脸识别子系统,包括:
负载均衡子系统获取每一个人脸识别子系统分别对应的平均负载值;
负载均衡子系统基于获取到的各个平均负载值,从所有的人脸识别子系统中,筛选出对应的平均负载值小于第一预设阈值的所有人脸识别子系统;
负载均衡子系统从筛选出的所有人脸识别子系统中,选取一个人脸识别子系统,并向选取的所述人脸识别子系统转发所述人脸识别请求。
14.如权利要求13所述的人脸识别的方法,其特征在于,负载均衡子系统获取每一个人脸识别子系统分别对应的平均负载值,包括:
负载均衡子系统分别选取每一个人脸识别子系统执行以下步骤:
确定当前选取的一个人脸识别子系统;
基于所述一个人脸识别子系统的标识信息,从指定共享区域中,获取所述一个人脸识别子系统管辖的每一个人脸识别服务器分别对应的内存使用率和中央处理器CPU使用率;
基于每一个人脸识别服务器分别对应的内存使用率和表征所述内存使用率权重的第一预设参数,以及CPU使用率和表征所述CPU使用率的第二预设参数,分别计算每一个人脸识别服务器对应的负载值;
基于每一个人脸识别服务器分别对应的负载值,计算所述一个人脸识别子系统对应的平均负载值。
15.如权利要求13或14所述的人脸识别的方法,其特征在于,负载均衡子系统从筛选出的所有人脸识别子系统中,选取一个人脸识别子系统,包括:
负载均衡子系统按照平均负载值从低到高的顺序,对筛选出的每一个人脸识别子系统进行排序,获取人脸识别子系统候选队列;
负载均衡子系统从所述人脸识别子系统候选队列的前M个人脸识别子系统中,选取一个人脸识别子系统。
16.一种人脸识别的方法,其特征在于,包括:
人脸识别子系统接收负载均衡子系统发送的人脸识别请求;其中,所述人脸识别子系统是所述负载均衡子系统接收到所述人脸识别请求后,基于各个人脸识别子系统分别对应的平均负载值,从各个人脸识别子系统中选取的;
人脸识别子系统从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对所述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理所述人脸信息后生成的处理结果;
人脸识别子系统基于各个处理结果,获取所述人脸信息对应的人脸识别结果;
其中,人脸识别子系统从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器分别对所述人脸识别请求中携带的人脸信息进行处理,获取每一台人脸识别服务器在处理所述人脸信息后生成的处理结果,包括:
人脸识别子系统对所述人脸识别请求中携带的人脸信息进行解析,获取人脸特征数据;
人脸识别子系统从自身管辖的所有人脸识别服务器中,选取预设数目的人脸识别服务器作为目标人脸识别服务器集合;
人脸识别子系统基于所述预设数目以及预先保存的基准人脸特征数据库包含的基准人脸特征数据的数目,分别为所述目标人脸识别服务器集合中的每一台人脸识别服务器划分匹配范围;
人脸识别子系统分别向所述目标人脸识别服务器集合中的每一台人脸识别服务器发送相应的人脸匹配指示,指示所述目标人脸识别服务器集合中的每一台人脸识别服务器基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果。
17.如权利要求16所述的人脸识别的方法,其特征在于,人脸识别子系统指示所述目标人脸识别服务器集合中的每一台人脸识别服务器基于人脸匹配指示中携带的匹配范围,对人脸匹配指示中携带的人脸特征数据进行处理,生成相应的处理结果,包括:
人脸识别子系统指示所述目标人脸识别服务器集合中的每一台人脸识别服务器分别执行以下操作:
按照人脸匹配指示中携带的匹配范围,将人脸匹配指示中携带的人脸特征数据分别与在所述匹配范围内的每一个基准人脸特征数据进行相似度匹配,生成相应的相似度匹配对;其中,一个相似度匹配对包含一个基准人脸特征数据对应的基准人脸标识,以及所述人脸特征数据与所述一个基准人脸特征数据之间的相似度;
将生成的各个相似度匹配对作为处理结果。
18.如权利要求17所述的人脸识别的方法,其特征在于,人脸识别子系统基于各个处理结果,获取所述人脸信息对应的人脸识别结果,包括:
人脸识别子系统基于各个处理结果,获取所有的相似度匹配对,并从所有的相似度匹配对中,筛选出对应的相似度不小于第二预设阈值的所有相似度匹配对;
人脸识别子系统将筛选出的所有相似度匹配对作为所述人脸信息对应的人脸识别结果;或者,按照相似度从高到低的顺序,对筛选出的每一个相似度匹配对进行排序,获取相似度匹配对队列后,将所述相似度匹配对队列的前N个相似度匹配对作为所述人脸信息对应的人脸识别结果;或者,从所述相似度匹配对队列的前N个相似度匹配对中,选取一个相似度匹配对作为所述人脸信息对应的人脸识别结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610982679.8A CN108062499B (zh) | 2016-11-08 | 2016-11-08 | 一种人脸识别的方法、系统及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610982679.8A CN108062499B (zh) | 2016-11-08 | 2016-11-08 | 一种人脸识别的方法、系统及平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108062499A CN108062499A (zh) | 2018-05-22 |
CN108062499B true CN108062499B (zh) | 2020-11-06 |
Family
ID=62137023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610982679.8A Active CN108062499B (zh) | 2016-11-08 | 2016-11-08 | 一种人脸识别的方法、系统及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108062499B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108055333A (zh) * | 2017-12-21 | 2018-05-18 | 创新科存储技术(深圳)有限公司 | 一种基于ufs的nas-cifs集群负载均衡方法 |
CN109086132A (zh) * | 2018-06-26 | 2018-12-25 | 深圳市买买提信息科技有限公司 | 一种人脸识别任务均衡调用方法、装置及终端设备 |
CN109165624B (zh) * | 2018-09-10 | 2021-09-24 | 湖北众锐智能技术股份有限公司 | 一种基于公有云的人脸识别分析方法 |
CN108921150B (zh) * | 2018-09-18 | 2024-08-20 | 深圳市华百安智能技术有限公司 | 基于网络硬盘录像机的人脸识别系统 |
CN109801420B (zh) * | 2019-01-25 | 2021-01-19 | 大匠智联(深圳)科技有限公司 | 基于归类算法的多并发人脸识别门禁系统及其识别方法 |
CN110738770A (zh) * | 2019-09-25 | 2020-01-31 | 浙江大华技术股份有限公司 | 人脸识别门禁处理方法、闸机、控制端和系统 |
CN110891032B (zh) * | 2019-11-27 | 2023-06-30 | 佛山市蠢材科技有限公司 | 一种人脸数据并行下发方法、装置及电子设备 |
CN111914746B (zh) * | 2020-07-31 | 2024-05-03 | 安徽华速达电子科技有限公司 | 一种缓解人脸识别设备负荷的方法及系统 |
CN112016466B (zh) * | 2020-08-28 | 2024-05-28 | 中移(杭州)信息技术有限公司 | 人脸识别方法、系统、电子设备和计算机存储介质 |
CN115393781A (zh) * | 2021-05-08 | 2022-11-25 | 华为技术有限公司 | 视频监控数据的处理方法及装置 |
CN113159000A (zh) * | 2021-05-26 | 2021-07-23 | 中国工商银行股份有限公司 | 人脸识别方法、装置及系统 |
CN113970046B (zh) * | 2021-10-22 | 2023-04-07 | 宿州学院 | 一种基于计算机高清人脸识别智能集成设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573611B (zh) * | 2013-10-11 | 2018-03-20 | 杭州海康威视数字技术股份有限公司 | 一种分布式人脸识别集群系统 |
CN105574506B (zh) * | 2015-12-16 | 2020-03-17 | 深圳市商汤科技有限公司 | 基于深度学习和大规模集群的智能人脸追逃系统及方法 |
CN105631430A (zh) * | 2015-12-30 | 2016-06-01 | 浙江宇视科技有限公司 | 一种人脸图像的匹配方法和装置 |
-
2016
- 2016-11-08 CN CN201610982679.8A patent/CN108062499B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108062499A (zh) | 2018-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062499B (zh) | 一种人脸识别的方法、系统及平台 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
US10932173B2 (en) | Access point selection | |
KR20160073409A (ko) | 서비스 처리 방법, 시스템 및 장치 | |
CN112446395B (zh) | 网络摄像机、视频监控系统及方法 | |
CN106033371A (zh) | 一种视频分析任务的调度方法及系统 | |
US10587844B2 (en) | Image analysis system for analyzing dynamically allocated camera image, integrated control system including same, and operation method therefor | |
CN111836102B (zh) | 视频帧的分析方法和装置 | |
US20190280945A1 (en) | Method and apparatus for determining primary scheduler from cloud computing system | |
CN105049509A (zh) | 一种集群调度方法、负载均衡器以及集群系统 | |
CN114584758A (zh) | 一种城市级监控视频质量评估方法及系统 | |
US20150079966A1 (en) | Methods for facilitating telecommunication network administration and devices thereof | |
EP2940600A1 (en) | Data scanning method and device | |
CN111343416B (zh) | 一种分布式图像分析方法、系统及存储介质 | |
CN106791648B (zh) | 一种监控视频分析方法及装置 | |
CN112040090A (zh) | 视频流处理方法、装置、电子设备和存储介质 | |
CN110708505B (zh) | 视频告警方法、装置、电子设备及计算机可读存储介质 | |
KR102477845B1 (ko) | 대용량 데이터 배치 처리를 위한 영상 데이터 처리 시스템 및 방법과 이를 위한 컴퓨터 프로그램 | |
US20140047454A1 (en) | Load balancing in an sap system | |
Gao et al. | StreamTune: dynamic resource scheduling approach for workload skew in video data center | |
CN111008611B (zh) | 排队时长的确定方法及装置、存储介质、电子装置 | |
KR101537723B1 (ko) | 영상 분석 필터의 우선 순위를 이용하는 영상 분석 시스템 및 영상 분석 방법 | |
US9875279B2 (en) | Data scanning method and apparatus | |
Fu et al. | Livetraj: Real-time trajectory tracking over live video streams | |
CN115082911A (zh) | 一种视频分析方法、装置及视频处理设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |