多分析引擎集成应用关键技术研究
2021-04-07公安部第一研究所赵惠芳
■文/公安部第一研究所 赵惠芳
关键字:人脸识别比对 多引擎集成应用 结果融合 接口
1 引言
当前,人脸识别技术已经广泛应用,为了取得更好的分析效果,在实际应用中开始探索由单一厂商算法分析向多厂商算法综合分析过渡的方法。多厂商算法综合分析是指针对同一人脸识别比对功能,同时部署和应用若干家厂商的分析算法,对其分析结果进行二次综合分析。采用多算法方式分析,既有助于综合利用各算法的优势,避免每个单算法的局限性,又可以通过算法之间的互相印证,来检验各算法的分析效果,为评价算法提供依据。
2 现状分析
现有各厂商的人脸分析系统在系统架构、部署模式和接口等方面各不相同,集成和融合非常复杂。单一算法分析模式主要存在以下问题:
一是分析能力局限。各厂商的分析算法各有所长,特定厂商的算法针对特定类型的目标群体或场景可能具有更准确的分析效果,但是针对某些类型的目标群体或场景具有局限性,效果比较差甚至无法分析。
二是资源利用率不高。在同样的计算资源条件下,针对不同的分析功能,各厂商分析算法的运算速度存在较大差异。仅选用单一厂商的分析算法,无法有效地利用全局计算资源和获得最佳计算性能。
三是稳定性依赖单一算法。仅选用单一厂商的分析算法,系统分析能力的可靠性完全依赖单个分析算法运行的稳定性,当单个分析算法出现故障时,无法实现故障转移。
四是可扩展性不强。仅采用单一厂商分析算法,应用与分析算法的接口基本为分析算法的私有接口,如果需要更换另一家厂商的分析算法,需要重新开发适配另一家厂商分析算法的接口,可扩展性和灵活性不强,且开发成本和周期较长。
当需要集成多家厂商的人脸算法时,如果采用各厂商系统直接堆叠部署,全局计算资源无法动态调配,各系统私有接口增加了集成的难度和工作量,各系统分析结果难以进行有效融合和评价。为了解决这些问题,亟需对人脸识别比对算法的集成应用进行研究,实现人脸算法的标准化集成、对应用系统提供标准化的人脸应用服务,基于多种算法优势互补实现综合解析结果优化。
3 人脸识别比对算法集成模式分类
人脸识别比对算法集成分为两种集成模式,即算法引擎集成模式和算法包集成模式。算法引擎指实现人脸识别比对功能的应用程序及其基础运行环境的完整框架,对外提供服务接口。算法包指实现视频图像内容分析、描述及检索等功能的一系列算法库的集合,对外提供函数接口。本文重点研究了算法引擎集成模式下,人脸识别比对算法的集成应用。对人脸识别比对多引擎集成应用的关键技术研究,主要围绕多引擎标准化集成、多引擎统一调度管理、多引擎分析结果融合、多引擎综合评价等方面展开。
4 多引擎标准化集成
4.1 总体架构
人脸识别比对多引擎集成应用的总体架构见图1。其中多引擎集成平台通过配置监测接口、人脸库管理接口、识别比对接口、综合分析接口、评价接口等统一的引擎接口实现对多个人脸识别比对引擎的集成。多引擎集成平台提供引擎配置管理、引擎运行监测、引擎调度管理、比对分析结果融合和综合评价等应用功能,并对外提供统一的配置检测、人脸库管理、识别比对、综合分析、评价等人脸识别比对应用服务接口,以支撑多个综合应用平台的人脸识别比对应用。
图1 人脸识别比对多引擎集成应用总体架构
4.2 接口设计
多引擎集成平台需要通过引擎接口集成异构的人脸识别比对引擎,并需要为异构的综合应用平台提供功能丰富的人脸识别比对应用服务接口,其接口需要满足以下需求:
1)各种不同平台、不同架构、不同开发语言的应用系统均可以方便的调用接口,接口应是跨平台、跨语言、调用简单的;
2)调用接口的应用系统数量、并发访问数量可能会有较大的变化,接口服务能力应是可伸缩的;
3)人脸识别比对应用服务的功能大多是实时交互,同步返回结果的,需要接口是低延迟的。
为了满足上述需求,考虑选择基于REST 架构、Http 协议和JSON 数据格式设计人脸识别比对服务接口。REST(Representational State Transfer)是一种架构风格,用于设计松耦合的web 应用,也常被用作web 服务的开发。在REST 架构中,数据和功能都被抽象为资源,通过URIs(Uniform ResourceIdentifiers)访问,可以通过一些简单的预设方法对资源进行操作,客户端和服务器端使用标准的接口和协议(典型的如HTTP)交互资源的表现层状态。REST 架构的6 个设计原则包括客户端-服务器模式、统一的接口、无状态、可缓存、分层系统和定制化代码等。基于REST 架构和Http 协议,各种应用系统都无需实现其他接口协议,调用非常方便简单。基于REST 架构,服务接口是无状态的,服务平台可以根据应用系统数量和并发访问量,动态调配服务能力,实现弹性伸缩。基于轻量级的REST 架构,采用简单的Json 数据格式,提高了接口交互和数据解析的效率,降低了接口访问的延迟时间。
此外,考虑到与相关标准的符合性,所有接口交互信息定义为REST 架构下的资源,使用URI 唯一标识。使用Http 协议的通用动词方法(POST 、DELETE、PUT、GET)实现对资源的操作。在接口设计中,消息体的格式采用XML Schema 进行描述,接口实际交互的消息体为JSON 格式消息体。
5 多引擎统一调度管理
5.1 关键业务流程
5.1.1 静态人脸库建库和比对流程
静态人脸库建库和比对流程见图2。静态人脸库用于保存已知身份人员的人脸图像数据,建库流程中首先建立静态人脸库,然后把静态人脸库的人脸图像下发给人脸识别比对引擎用于提取人脸特征,人脸识别比对引擎会保存人脸特征用于比对,并将提取的人脸特征返回给多引擎集成平台。多引擎集成平台在比对流程中将综合应用平台的比对请求分发给各人脸识别比对引擎,并接收返回的比对结果,然后根据融合策略对比对结果进行融合,并将融合后的结果返回给综合应用平台。
图2 静态人脸库建库和比对流程
5.1.2 动态人脸库监测通知流程
动态人脸库监测通知流程见图3。动态人脸库用于保存动态采集的人脸图像数据,人脸识别比对引擎通过订阅/通知的方式从多引擎集成平台获取动态人脸图像数据后,自动提取人脸特征。多引擎集成平台会将综合应用平台的监测请求分发给人脸识别比对引擎,人脸识别比对引擎将动态人脸库的人脸特征进行比对分析,根据设定的策略向多引擎集成平台推送通知。多引擎集成平台会根据去重策略对通知去重,并调用其它人脸识别比对引擎复核收到的通知,将经过去重和复核的通知转发给综合应用平台。
图3 动态人脸库监测通知流程
5.2 调度策略
多引擎集成平台支持基于多种调度策略,对人脸识别比对引擎进行统一调度管理,调度策略包含:根据指定的厂商、算法版本信息对人脸识别比对引擎进行调度;根据算法对业务场景的适应性进行调度;根据人脸识别比对引擎运行状态进行调度;根据人脸识别比对引擎的综合评价进行调度;根据人脸识别比对引擎的分析处理能力进行调度;根据人脸库数据在各人脸识别比对引擎的分布进行调度;根据用户偏好进行调度。
各人脸识别比对引擎分别独立部署,单个引擎发生宕机、离线或比对服务不可用时,不影响其他引擎的正常运行,多引擎集成平台会自动切换到运行正常的引擎。多引擎集成平台可以根据引擎当前的在线状态、比对服务健康状态和负载情况进行自动调度,实现对全局计算资源的有效利用,以及负载均衡和故障转移。
5.3 运行监测
人脸识别比对引擎都基于统一的Rest 服务接口向多引擎集成平台进行注册并发送心跳进行保活,多引擎集成平台可以通过心跳状态实时监测人脸识别比对引擎的在线状态。多引擎集成平台可以通过对人脸识别比对引擎的调用情况和返回结果进行监测,掌握各人脸识别比对引擎的运行状态,包括引擎负载情况、比对服务健康状态、响应时间等。
6 多引擎比对结果融合
6.1 1:1 比对结果融合
1:1 比对包括两种比对,一种是指定两张人脸图像进行1:1 比对;另一种是指定人脸图像与静态人脸库中指定身份人员人脸图像进行比对。1:1 比对的结果融合基于各引擎的比对结果,按照特定的融合策略计算人脸的综合相似度,并基于融合策略计算人脸合一性验证的综合阈值,综合相似度和综合阈值作为1:1 比对的融合结果输出。可以基于实际场景测试数据对各引擎比对结果的准确率进行评测,并根据评测结果动态调整融合参数,实现融合策略的逐步优化。
6.2 静态人脸库1:N 比对结果融合
如果静态人脸库1:N 比对使用的多个人脸识别比对引擎保存的人脸库数据是相同的,则基于各引擎的比对结果,按照特定的融合策略计算人脸的综合相似度,并基于综合相似度对人脸进行排序,作为融合分析结果输出。可以基于实际场景测试数据对各引擎比对结果的准确率进行评测,并根据评测结果动态调整融合参数,实现融合策略的逐步优化。如果静态人脸库1:N 比对使用的多个人脸识别比对引擎保存的人脸库数据不同,则基于数据分布对返回结果进行融合。
6.3 动态人脸库监测通知结果融合
动态人脸库监测通知结果融合,首先检查通知是否为重复通知,如果非重复通知,则调用其它引擎进行复核。根据其它引擎返回的复核结果和复核通过策略,确定其是否为有效通知。复核通过策略可采用投票式策略,可设置全票通过模式、多数通过模式等。
7 多引擎全面综合评价
人脸识别比对引擎的全面综合评价主要从比对准确率、识别比对速度、运行稳定性等维度考察。其中比对准确率可以通过比对结果人工确认、准确率自动评测考察。引擎识别比对速度可以从人脸提取特征速度、人脸比对响应时间等考察。引擎的运行稳定性通过对引擎的在线率、比对服务健康率等考察。
8 结语
上述关键技术的研究,已经应用在一些人脸识别比对应用场景中,取得了良好的应用效果。未来会逐步积累未比中的人脸图像,研究各类算法针对不同人员、不同场景的适用性,调整融合策略,提高多引擎分析结果融合的适用性。同时,可以研究将人工智能技术应用到多引擎比对结果融合中,进一步提高多引擎比对结果融合的准确度。