一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于海量图片的分布式人脸比对系统及方法与流程

2021-10-24 04:26:00 来源:中国专利 TAG:数据处理 分布式 海量 比对 方法


1.本发明涉及数据处理技术领域,具体涉及一种基于海量图片的分布式人脸比对系统及方法。


背景技术:

2.当前人脸识别技术主要是针对少量的人脸底库(数百~数千张),进行全量扫描比对。随着社区治理越来越重要,针对社区场景下人脸底库将会到达海量级别(数十~数百万张人脸底库,如区级、市级的平台),采用传统人脸识别技术势必会造成很高的比对延时和很大的资源消耗,甚至会导致内存溢出等问题使系统崩溃。


技术实现要素:

3.本发明的目的在于针对现有技术中社区场景下海量人脸地库,人脸识别耗费资源、比对延时高,甚至会导致内存溢出的不足之处,提供一种基于海量图片的分布式人脸比对系统及方法,以加速海量人脸底库场景下人脸识别速度的目的。
4.为实现上述目的,本发明提供一种基于海量图片的分布式人脸比对系统,所述基于海量图片的分布式人脸比对系统包括:抓拍队列、人脸识别客户端、分布式人脸识别模块;所述抓拍队列,用于记录抓拍图片,所述抓拍图片为社区内部人脸抓拍摄像机拍摄生成;所述人脸识别客户端,用于将所述抓拍图片分发到分布式人脸识别模块;所述分布式人脸识别模块,用于根据所述抓拍图片中的结构化信息,从人脸底库中获取比对集,基于所述比对集通过分布式的方式识别所述抓拍图片。
5.优选地,所述分布式人脸识别模块为主从式分布式架构;所述人脸识别客户端,还用于根据负载均衡策略从所述分布式人脸识别模块中挑选一个人脸识别服务实例作为主节点,并将所述抓拍图片的人脸比对任务分发至所述分布式人脸识别模块中的所述主节点;所述分布式人脸识别模块中的所述主节点,用于根据所述抓拍图片中的结构化信息,从人脸底库中获取比对集,将所述比对集分割为n个子任务,所述n为分布式人脸识别模块的实例个数;所述分布式人脸识别模块,还用于根据本地缓存的人脸比对服务实例信息,将其他的服务实例设置为从节点,并将所述子任务划分给所述从节点;所述分布式人脸识别模块中的所述从节点,用于在接收到所述子任务后回复ack应答,并开始执行所述子任务。
6.优选地,所述分布式人脸识别模块,还用于对未回复ack应答的从节点,所述主节点进行重试,重试后仍然失败,则剔除对应的从节点,并根据成功应答的节点数量重新划分子任务。
7.优选地,所述分布式人脸识别模块,还用于当任意节点返回匹配成功信息给所述主节点,则所述主节点向其他从节点发送停止任务指令,并向所述人脸识别客户端返回匹配人脸信息;所述分布式人脸识别模块,还用于当所有节点都未找到匹配的人脸,则所述主节点将所述人脸底库中全量人脸数据进行划分成新的子任务,并将所述新的子任务划分给所述从节点。
8.优选地,所述基于海量图片的分布式人脸比对系统还包括:半结构化的人脸底库;所述人脸底库,用于存储已登记人脸数据,并通过小区地址、性别、年龄维度将所述已登记人脸数据进行结构化存储。
9.此外为实现上述目的,本发明还提出一种基于海量图片的分布式人脸比对方法,其基于所述基于海量图片的分布式人脸比对系统,所述基于海量图片的分布式人脸比对系统包括:抓拍队列、人脸识别客户端、分布式人脸识别模块;所述基于海量图片的分布式人脸比对方法包括以下步骤:所述抓拍队列记录抓拍图片,所述抓拍图片为社区内部人脸抓拍摄像机拍摄生成;所述人脸识别客户端将所述抓拍图片分发到分布式人脸识别模块;所述分布式人脸识别模块根据所述抓拍图片中的结构化信息,从人脸底库中获取比对集,基于所述比对集通过分布式的方式识别所述抓拍图片。
10.优选地,所述分布式人脸识别模块为主从式分布式架构;所述人脸识别客户端将所述抓拍图片分发到分布式人脸识别模块的步骤,具体包括:所述人脸识别客户端根据负载均衡策略从所述分布式人脸识别模块中挑选一个人脸识别服务实例作为主节点,并将所述抓拍图片的人脸比对任务分发至所述分布式人脸识别模块中的所述主节点;相应地,所述分布式人脸识别模块基于所述比对集通过分布式的方式识别所述抓拍图片,具体包括:所述分布式人脸识别模块中的所述主节点根据所述抓拍图片中的结构化信息,从人脸底库中获取比对集,将所述比对集分割为n个子任务,所述n为分布式人脸识别模块的实例个数;所述分布式人脸识别模块根据本地缓存的人脸比对服务实例信息,将其他的服务实例设置为从节点,并将所述子任务划分给所述从节点;所述分布式人脸识别模块中的所述从节点在接收到所述子任务后回复ack应答,并开始执行所述子任务。
11.优选地,在所述分布式人脸识别模块中的所述从节点在接收到所述子任务后回复ack应答,并开始执行所述子任务的步骤之后,还包括:所述分布式人脸识别模块对未回复ack应答的从节点,所述主节点进行重试,重试后仍然失败,则剔除对应的从节点,并根据成功应答的节点数量重新划分子任务。
12.优选地,在所述分布式人脸识别模块中的所述从节点在接收到所述子任务后回复ack应答,并开始执行所述子任务的步骤之后,还包括:
所述分布式人脸识别模块当任意节点返回匹配成功信息给所述主节点,则所述主节点向其他从节点发送停止任务指令,并向所述人脸识别客户端返回匹配人脸信息;所述分布式人脸识别模块当所有节点都未找到匹配的人脸,则所述主节点将所述人脸底库中全量人脸数据进行划分成新的子任务,并将所述新的子任务划分给所述从节点。
13.优选地,所述基于海量图片的分布式人脸比对系统还包括:半结构化的人脸底库;在所述分布式人脸识别模块根据所述抓拍图片中的结构化信息,从人脸底库中获取比对集,基于所述比对集通过分布式的方式识别所述抓拍图片的步骤之前,还包括:所述人脸底库存储已登记人脸数据,并通过小区地址、性别、年龄维度将所述已登记人脸数据进行结构化存储。
14.本发明中,基于海量图片的分布式人脸比对系统包括:抓拍队列、人脸识别客户端、分布式人脸识别模块;所述抓拍队列记录抓拍图片,所述抓拍图片为社区内部人脸抓拍摄像机拍摄生成,同时起到异步和解耦的作用;所述人脸识别客户端将所述抓拍图片分发到分布式人脸识别模块,同时起到负载均衡的作用;所述分布式人脸识别模块根据所述抓拍图片中的结构化信息,从人脸底库中获取比对集,基于所述比对集通过分布式的方式识别所述抓拍图片,加速海量人脸底库场景下人脸识别的速度,降低资源消耗,避免内存溢出等问题。
附图说明
15.图1为本发明基于海量图片的分布式人脸比对系统第一实施例的结构框图;图2为本发明基于海量图片的分布式人脸比对系统第二实施例的结构框图;图3为本发明实施例中人脸比对任务的比对流程示意图;图4为本发明基于海量图片的分布式人脸比对方法实施例的流程示意图。
16.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
17.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
18.参照图1,提出本发明基于海量图片的分布式人脸比对系统第一实施例。
19.在第一实施例中,所述基于海量图片的分布式人脸比对系统包括:抓拍队列、人脸识别客户端、分布式人脸识别模块;所述抓拍队列,用于记录抓拍图片,所述抓拍图片为社区内部人脸抓拍摄像机拍摄生成。
20.应理解的是,图1中,多个人脸抓拍摄像机对待识别人进行人脸抓拍,生成所述抓拍图片。图1中,所述抓拍队列为kafka人脸抓拍队列,所述分布式人脸识别模块为分布式半结构化人脸识别模块。所述抓拍队列用于记录社区内部人脸抓拍摄像机产生的抓拍图片,同时起到异步和解耦的作用。抓拍队列服务需要连接社区内所有摄像头,并设置抓拍监听。社区内部人脸抓拍摄像机产生的人脸抓拍图片,会上传到抓拍队列,由人脸抓拍队列保存,抓拍队列由kafka或者消息队列(rabbit)实现。kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
21.所述人脸识别客户端,用于将所述抓拍图片分发到分布式人脸识别模块。
22.需要说明的是,拍图片由人脸识别客户端(client)分发至分布式人脸识别模块。人脸识别client属于抓拍数据消费&分发模块,用于将抓拍图片分发到分布式识别模块,同时通过随机或者轮询调用人脸识别服务实例的方式,起到负载均衡的作用。人脸识别client通过元数据管理模块获取人脸识别服务实例的地址。
23.所述分布式人脸识别模块,用于根据所述抓拍图片中的结构化信息,从人脸底库中获取比对集,基于所述比对集通过分布式的方式识别所述抓拍图片。
24.在具体实现中,所述分布式人脸识别模块为主从式分布式架构,通过分布式并行计算加速海量人脸底库场景下人脸识别的速度。人脸比对任务由人脸识别client分发至某一个人脸识别服务实例,该服务实例即为此次比对任务的主节点,主节点负责将任务分割为n个子任务,所述n为分布式人脸识别模块的实例个数。
25.所述分布式人脸识别模块,上述主节点根据本地缓存的人脸比对服务实例信息,将其他的服务实例设置为从节点,并将比对子任务划分给从节点。
26.所述分布式人脸识别模块,从节点在接收到子任务后回复ack应答,并开始执行子任务。对未回复ack应答的从节点,主节点进行重试(如3次),重试后仍然失败,则剔除对应从节点,并根据成功应答的节点数量重新划分子任务。
27.所述分布式人脸识别模块,从节点完成人脸比对任务后(如找到匹配的人脸,或者子任务中所有人脸都不匹配),则向主节点返回执行结果。
28.所述分布式人脸识别模块,当任意节点返回匹配成功信息给主节点,则主节点向其他从节点发送停止任务指令,并向客户端返回匹配人脸信息。当所有节点都为找到匹配的人脸,则主节点向客户端返回匹配失败。
29.人脸识别服务实例可以动态添加或删除,保证高度的可扩展性。所述分布式人脸识别模块对出现故障的人脸识别服务实例具有高度的容错性,保证所有人脸比对任务都分发至正常的人脸识别服务实例中。
30.在本实施例中,所述抓拍队列记录抓拍图片,所述抓拍图片为社区内部人脸抓拍摄像机拍摄生成,同时起到异步和解耦的作用;所述人脸识别客户端将所述抓拍图片分发到分布式人脸识别模块,同时起到负载均衡的作用;所述分布式人脸识别模块根据所述抓拍图片中的结构化信息,从人脸底库中获取比对集,基于所述比对集通过分布式的方式识别所述抓拍图片,加速海量人脸底库场景下人脸识别的速度,降低资源消耗,避免内存溢出等问题。
31.参照图2,基于上述系统第一实施例,提出本发明基于海量图片的分布式人脸比对系统第二实施例。
32.在本实施例中,所述分布式人脸识别模块为主从式分布式架构;所述人脸识别客户端,还用于根据负载均衡策略从所述分布式人脸识别模块中挑选一个人脸识别服务实例作为主节点,并将所述抓拍图片的人脸比对任务分发至所述分布式人脸识别模块中的所述主节点;所述分布式人脸识别模块中的所述主节点,用于根据所述抓拍图片中的结构化信息,从人脸底库中获取比对集,将所述比对集分割为n个子任务,所述n为分布式人脸识别模块的实例个数;
所述分布式人脸识别模块,还用于根据本地缓存的人脸比对服务实例信息,将其他的服务实例设置为从节点,并将所述子任务划分给所述从节点;所述分布式人脸识别模块中的所述从节点,用于在接收到所述子任务后回复ack应答,并开始执行所述子任务。
33.可理解的是,在本系统中,所述主节点并不固定,每次比对任务,人脸识别客户端会根据负载均衡策略,挑选一个人脸识别服务实例,被挑选的人脸服务实例即为本次比对任务的主节点。主节点仅针对单次比对任务而言,在下一次比对任务中,可能是其他人脸识别服务实例作为主节点。n为分布式人脸识别模块的实例个数,例如部署了3个人脸识别模块,则n即为3。
34.所述分布式人脸识别模块通过分布式的方式加速海量人脸底库场景下人脸识别的速度。该模块一般由三个服务实例组成,如图2中的人脸识别服务实例1、人脸识别服务实例2和人脸识别服务实例3,三个服务实例分别简称a、b、c,当人脸识别client将待识别的人脸图片分发至某一个服务实例(例如a),则a被选择为主节点,b、c即为从节点。
35.a 通过抓拍图片中的结构化信息,所述结构化信息包括小区地址(id)、抓拍人性别和抓拍人年龄等。所述小区id通过抓拍设备位置信息得到,所述抓拍人性别通过抓拍摄像机得到,所述抓拍人年龄通过抓拍摄像机得到,从人脸底库中获取比对集,所述比对集即符合上述小区id、性别、年龄范围的人脸底库数据。
36.如图2所示,a通过元数据管理模块或本地缓存信息获取其他服务实例的地址(即b和c),根据服务实例的数量(此处为3)对上述比对集进行均匀划分,也可对上述比对集根据不同服务实例的cpu/内存进行加权划分。
37.a将划分后的人脸底库的范围信息(非实际数据)以及待比对的抓拍人脸数据发送给b、c;a、b、c进行并行人脸识别;a、b、c中有任意一个服务实例识别成功,则将结果发送给主节点a;比对成功后,主节点a向其他从节点(b、c)发送停止比对命令,本次比对结束;如果未比对成功,则也向a发送比对结果;如上述结构化比对集中的数据未识别成功,则退化成全量比对,仍然由主节点a分发比对任务给从节点;a将最终的比对结果发送给人脸识别client。若比对成功,则将对应的人脸底库数据信息发送给client;比对失败,则仅发送未识别。
38.进一步地,在本实施例中,所述分布式人脸识别模块,还用于对未回复ack应答的从节点,所述主节点进行重试,重试后仍然失败,则剔除对应的从节点,并根据成功应答的节点数量重新划分子任务。
39.进一步地,在本实施例中,所述分布式人脸识别模块,还用于当任意节点返回匹配成功信息给所述主节点,则所述主节点向其他从节点发送停止任务指令,并向所述人脸识别客户端返回匹配人脸信息;所述分布式人脸识别模块,还用于当所有节点都未找到匹配的人脸,则所述主节点将所述人脸底库中全量人脸数据进行划分成新的子任务,并将所述新的子任务划分给所述从节点。
40.进一步地,所述基于海量图片的分布式人脸比对系统还包括:半结构化的人脸底库;所述人脸底库,用于存储已登记人脸数据,并通过小区地址、性别、年龄维度将所述已登记人脸数据进行结构化存储。
41.需要说明的是,半结构化人脸底库用来存储已登记的社区居民人脸数据或者重点布防人员的人脸数据,并通过小区id、性别、年龄等维度进行结构化存储,结构化存储可以减少无用的人脸数据扫描,大大提高人脸识别的效率。图2中所述半结构化人脸底库为半结构化redis人脸底库。
42.本实施例中的比对流程如图3所示,上述比对集仅为部分人脸底库数据,例如抓拍人脸信息为{

communityid
’ꢀ
:
ꢀ‘
1001’,
ꢀ‘
age’: 20,
ꢀ‘
sex’:
ꢀ‘
male’, facedata:
ꢀ‘
xxxx’},则比对集包含的数据为:小区id为1001,且性别为男,年龄在15~25之间的人脸数据。该处理后,可能将百万级的人脸数据底库降低至数千级,即在1000000张底库图片中,只需要比较1000张即可。
43.在具体实现中,所述分布式人脸识别模块主节点根据抓拍图片中的结构化信息(小区id——通过抓拍设备位置信息得到、抓拍人性别——通过抓拍摄像机得到、抓拍人年龄——通过抓拍摄像机得到),以及结构化底库信息,初步刷选出匹配的人脸作为结构化比对集,然后将比对集划分为比对子任务给从节点。
44.当结构化比对集中未找到出匹配的人脸(有多种原因,如抓拍性别、年龄不正确),则主节点负责将人脸底库中全量人脸数据进行划分,然后将子任务划分给从节点。
45.在本实施例中,所述人脸底库存储已登记人脸数据,并通过小区地址、性别、年龄维度将所述已登记人脸数据进行结构化存储,结构化存储可以减少无用的人脸数据扫描,大大提高人脸识别的效率。实现了一种低延迟、低资源消耗、满足海量人脸底库的人脸识别系统。并可根据实际负载、数据量、计算资源等要求,进行动态增减比对服务实例节点。
46.参照图4,提出本发明基于海量图片的分布式人脸比对方法第一实施例。
47.在本实施例中,所述基于海量图片的分布式人脸比对系统包括:抓拍队列、人脸识别客户端、分布式人脸识别模块;所述基于海量图片的分布式人脸比对方法包括以下步骤:步骤s10,所述抓拍队列记录抓拍图片,所述抓拍图片为社区内部人脸抓拍摄像机拍摄生成。
48.应理解的是,图1中,多个人脸抓拍摄像机对待识别人进行人脸抓拍,生成所述抓拍图片。图1中,所述抓拍队列为kafka人脸抓拍队列,所述分布式人脸识别模块为分布式半结构化人脸识别模块。所述抓拍队列用于记录社区内部人脸抓拍摄像机产生的抓拍图片,同时起到异步和解耦的作用。抓拍队列服务需要连接社区内所有摄像头,并设置抓拍监听。社区内部人脸抓拍摄像机产生的人脸抓拍图片,会上传到抓拍队列,由人脸抓拍队列保存,抓拍队列由kafka或者消息队列(rabbit)实现。kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
49.步骤s20,所述人脸识别客户端将所述抓拍图片分发到分布式人脸识别模块。
50.需要说明的是,拍图片由人脸识别客户端(client)分发至分布式人脸识别模块。人脸识别client属于抓拍数据消费&分发模块,用于将抓拍图片分发到分布式识别模块,同
时通过随机或者轮询调用人脸识别服务实例的方式,起到负载均衡的作用。人脸识别client通过元数据管理模块获取人脸识别服务实例的地址。
51.步骤s30,所述分布式人脸识别模块根据所述抓拍图片中的结构化信息,从人脸底库中获取比对集,基于所述比对集通过分布式的方式识别所述抓拍图片。
52.在具体实现中,所述分布式人脸识别模块为主从式分布式架构,通过分布式并行计算加速海量人脸底库场景下人脸识别的速度。人脸比对任务由人脸识别client分发至某一个人脸识别服务实例,该服务实例即为此次比对任务的主节点,主节点负责将任务分割为n个子任务。
53.所述分布式人脸识别模块,上述主节点根据本地缓存的人脸比对服务实例信息,将其他的服务实例设置为从节点,并将比对子任务划分给从节点。
54.所述分布式人脸识别模块,从节点在接收到子任务后回复ack应答,并开始执行子任务。对未回复ack应答的从节点,主节点进行重试(如3次),重试后仍然失败,则剔除对应从节点,并根据成功应答的节点数量重新划分子任务。
55.所述分布式人脸识别模块,从节点完成人脸比对任务后(如找到匹配的人脸,或者子任务中所有人脸都不匹配),则向主节点返回执行结果。
56.所述分布式人脸识别模块,当任意节点返回匹配成功信息给主节点,则主节点向其他从节点发送停止任务指令,并向客户端返回匹配人脸信息。当所有节点都为找到匹配的人脸,则主节点向客户端返回匹配失败。
57.人脸识别服务实例可以动态添加或删除,保证高度的可扩展性。所述分布式人脸识别模块对出现故障的人脸识别服务实例具有高度的容错性,保证所有人脸比对任务都分发至正常的人脸识别服务实例中。
58.在本实施例中,所述抓拍队列记录抓拍图片,所述抓拍图片为社区内部人脸抓拍摄像机拍摄生成,同时起到异步和解耦的作用;所述人脸识别客户端将所述抓拍图片分发到分布式人脸识别模块,同时起到负载均衡的作用;所述分布式人脸识别模块根据所述抓拍图片中的结构化信息,从人脸底库中获取比对集,基于所述比对集通过分布式的方式识别所述抓拍图片,加速海量人脸底库场景下人脸识别的速度,降低资源消耗,避免内存溢出等问题。
59.继续参照图4,基于上述方法第一实施例,提出本发明基于海量图片的分布式人脸比对方法第二实施例。
60.在本实施例中,所述分布式人脸识别模块为主从式分布式架构;所述步骤s20,具体包括:所述人脸识别客户端根据负载均衡策略从所述分布式人脸识别模块中挑选一个人脸识别服务实例作为主节点,并将所述抓拍图片的人脸比对任务分发至所述分布式人脸识别模块中的所述主节点。
61.相应地,所述步骤s30,具体包括:所述分布式人脸识别模块中的所述主节点根据所述抓拍图片中的结构化信息,从人脸底库中获取比对集,将所述比对集分割为n个子任务,所述n为分布式人脸识别模块的实例个数;所述分布式人脸识别模块根据本地缓存的人脸比对服务实例信息,将其他的服务
实例设置为从节点,并将所述子任务划分给所述从节点;在接收到所述子任务后回复ack应答,并开始执行所述子任务。
62.可理解的是,所述主节点并不固定,每次比对任务,人脸识别客户端会根据负载均衡策略,挑选一个人脸识别服务实例,被挑选的人脸服务实例即为本次比对任务的主节点。主节点仅针对单次比对任务而言,在下一次比对任务中,可能是其他人脸识别服务实例作为主节点。n为分布式人脸识别模块的实例个数,例如部署了3个人脸识别模块,则n即为3。
63.所述分布式人脸识别模块通过分布式的方式加速海量人脸底库场景下人脸识别的速度。该模块一般由三个服务实例组成,如图2中的人脸识别服务实例1、人脸识别服务实例2和人脸识别服务实例3,三个服务实例分别简称a、b、c,当人脸识别client将待识别的人脸图片分发至某一个服务实例(例如a),则a被选择为主节点,b、c即为从节点。
64.a 通过抓拍图片中的结构化信息,所述结构化信息包括小区地址(id)、抓拍人性别和抓拍人年龄等。所述小区id通过抓拍设备位置信息得到,所述抓拍人性别通过抓拍摄像机得到,所述抓拍人年龄通过抓拍摄像机得到,从人脸底库中获取比对集,所述比对集即符合上述小区id、性别、年龄范围的人脸底库数据。
65.如图2所示,a通过元数据管理模块或本地缓存信息获取其他服务实例的地址(即b和c),根据服务实例的数量(此处为3)对上述比对集进行均匀划分,也可对上述比对集根据不同服务实例的cpu/内存进行加权划分。
66.a将划分后的人脸底库的范围信息(非实际数据)以及待比对的抓拍人脸数据发送给b、c;a、b、c进行并行人脸识别;a、b、c中有任意一个服务实例识别成功,则将结果发送给主节点a;比对成功后,主节点a向其他从节点(b、c)发送停止比对命令,本次比对结束;如果未比对成功,则也向a发送比对结果;如上述结构化比对集中的数据未识别成功,则退化成全量比对,仍然由主节点a分发比对任务给从节点;a将最终的比对结果发送给人脸识别client。若比对成功,则将对应的人脸底库数据信息发送给client;比对失败,则仅发送未识别。
67.进一步地,在本实施例中,所述分布式人脸识别模块中的所述从节点在所述分布式人脸识别模块中的所述从节点在接收到所述子任务后回复ack应答,并开始执行所述子任务的步骤之后,还包括:所述分布式人脸识别模块对未回复ack应答的从节点,所述主节点进行重试,重试后仍然失败,则剔除对应的从节点,并根据成功应答的节点数量重新划分子任务。
68.进一步地,在本实施例中,在所述分布式人脸识别模块中的所述从节点在接收到所述子任务后回复ack应答,并开始执行所述子任务的步骤之后,还包括:所述分布式人脸识别模块当任意节点返回匹配成功信息给所述主节点,则所述主节点向其他从节点发送停止任务指令,并向所述人脸识别客户端返回匹配人脸信息;所述分布式人脸识别模块当所有节点都未找到匹配的人脸,则所述主节点将所述人脸底库中全量人脸数据进行划分成新的子任务,并将所述新的子任务划分给所述从节点。
69.进一步地,所述基于海量图片的分布式人脸比对系统还包括:半结构化的人脸底库;在所述步骤s30之前,还包括:所述人脸底库存储已登记人脸数据,并通过小区地址、性别、年龄维度将所述已登记人脸数据进行结构化存储。
70.需要说明的是,半结构化人脸底库用来存储已登记的社区居民人脸数据或者重点布防人员的人脸数据,并通过小区id、性别、年龄等维度进行结构化存储,结构化存储可以减少无用的人脸数据扫描,大大提高人脸识别的效率。图2中所述半结构化人脸底库为半结构化redis人脸底库。
71.本实施例中的比对流程如图3所示,上述比对集仅为部分人脸底库数据,例如抓拍人脸信息为{

communityid
’ꢀ
:
ꢀ‘
1001’,
ꢀ‘
age’: 20,
ꢀ‘
sex’:
ꢀ‘
male’, facedata:
ꢀ‘
xxxx’},则比对集包含的数据为:小区id为1001,且性别为男,年龄在15~25之间的人脸数据。该处理后,可能将百万级的人脸数据底库降低至数千级,即在1000000张底库图片中,只需要比较1000张即可。
72.在具体实现中,所述分布式人脸识别模块主节点根据抓拍图片中的结构化信息(小区id——通过抓拍设备位置信息得到、抓拍人性别——通过抓拍摄像机得到、抓拍人年龄——通过抓拍摄像机得到),以及结构化底库信息,初步刷选出匹配的人脸作为结构化比对集,然后将比对集划分为比对子任务给从节点。
73.当结构化比对集中未找到出匹配的人脸(有多种原因,如抓拍性别、年龄不正确),则主节点负责将人脸底库中全量人脸数据进行划分,然后将子任务划分给从节点。
74.在本实施例中,所述人脸底库存储已登记人脸数据,并通过小区地址、性别、年龄维度将所述已登记人脸数据进行结构化存储,结构化存储可以减少无用的人脸数据扫描,大大提高人脸识别的效率。实现了一种低延迟、低资源消耗、满足海量人脸底库的人脸识别系统。并可根据实际负载、数据量、计算资源等要求,进行动态增减比对服务实例节点。
75.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
76.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为标识。
77.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜