一种基于微服务的多分析算法融合应用服务平台方法与流程

文档序号:21001892发布日期:2020-06-05 22:46阅读:477来源:国知局
一种基于微服务的多分析算法融合应用服务平台方法与流程

本发明属于视频智能分析技术领域,尤其涉及一种基于微服务的多分析算法融合应用服务平台方法。



背景技术:

本发明的缩略语和关键术语定义,即本发明出现的英文缩写术语在此提供对应的英文全称和中文译文,或中文专业术语的详细解释如下:

rest:表述性状态转移(representationalstatetransfer),rest是一种通过采用统一方式将所有信息抽象为资源来创建服务的方法,任何能够被命名的信息都能够作为一个资源。

rest使用一个资源标识符(uri)来标识组件之间交互所涉及到的特定资源。rest组件通过以下方式在一个资源上执行动作:使用一个资源表述来捕获资源的当前或预期的状态、在组件之间传递该表述,一个表述是一个字节序列,以及描述这些字节序列的表述元数据。rest服务通过http的方法动词来实现。

目前,视频智能分析是计算机视觉领域中的一项重要的应用研究,是以视频监控、视频检索、事件检测、目标定位为基础的,在借助计算机和视频采集设备,无需人监督的情况下,分析系统自动完成人类视觉的部分功能。如:人员定位、人员识别、车辆检索。智能视频分析技术实际上是一种信息数据挖掘和感知的特殊技术,它从视频数据源内分析、挖掘我们所关注的相关信息,这个过程实际上就是一种信息感知的过程。视频智能分析已在道路、广场的人员车辆密集区域或者热点区域场所得到了局部应用。各厂商的智能视频分析算法各有所长,特定厂商的算法针对特定类型的目标群体具有更好地分析效果。但是目前的视频解析系统中,还是采用单一厂商的算法,未考虑视频图像应用层面更充分地挥各厂商算法的优势,如何利用多种厂商算法的分析结果取得更为理想的实际应用效果。

如图1的单一厂商分析算法调用模式技术方案所示,现有技术方案都是由应用系统调用单一厂商的分析算法进行分析的模式。分析算法采用私有数据接口接入视频图像数据,分析算法提供私有应用接口支撑应用系统的应用。实现流程如下:

1,抓拍库建库流程:分析算法通过私有数据接口获取视频图像数据进行分析,提取特征值,实现建库。

2,,静态库和关注库建库流程:应用系统通过私有应用接口下发静态或者关注的图像数据给分析算法,分析算法提取特征值,实现建库。

3,图像比对流程:应用系统通过私有应用接口调用分析算法进行图像比对。

4,监测通知流程:应用系统通过私有应用接口调用分析算法进行监测。分析算法将抓拍库的图像数据与关注库的图像数据进行比对,比中向应用系统发送通知。

现有技术的缺点:各厂商的分析算法各有所长,特定厂商的算法针对特定类型的目标群体或场景具有更准确的分析效果,但是针对某些类型的目标群体或场景具有局限性,效果会比较差甚至无法分析。仅选用单一厂商的分析算法,无法规避算法本身的局限性。

1,在同样的计算资源条件下,针对不同的分析功能,各厂商分析算法的运算速度有较大差异,仅选用单一厂商的分析算法,无法有效地利用全局计算资源和获得最佳计算性能。仅选用单一厂商的分析算法,系统分析能力的可靠性完全依赖单个分析算法的运行的稳定性,当单个分析算法出现故障时,无法实现故障转移。

2,仅采用单一厂商分析算法,应用与分析算法的接口基本为分析算法的私有接口,应用当需要更换另一家厂商的分析算法,需要重新开发适配另一家厂商分析算法的接口,可扩展性和灵活性不强,开发成本和周期也比较长。

为了取得更好的分析效果,在视频解析应用中,开始探索由单一厂商算法分析向多厂商算法综合分析。多厂商算法综合分析是指针对同一视频解析功能,同时部署和应用若干家厂商的分析算法,对其分析结果进行二次综合分析。各厂商的产品由于其使用的算法原理、实现方案不同,其对不同场景的使用效果不尽相同、各有优劣,形成各自的具有差异性的解决方案。采用多算法方式进行二次分析,既有助于综合利用各算法的优势,避免单算法各自的特殊短板,扬长避短;又能通过算法之间的交叉印证,来检验各算法的智能分析效果,为评价算法的实际性能提供依据。

为了更有效利用全局的计算资源,在视频解析应用中,实现计算资源的统一调度,实现全网分布式智能分析也成为一种趋势:视频解析任务按需调度下发、it能力随需而动;本地分析存储,结果汇聚,全网智能;能调动全局资源处理突发任务,实现负载均衡和故障转移。

为了实现对多种分析算法的标准化集成,建立统一规范的分析算法的集成接口,各分析算法只需按照标准的接口提供服务,就能很方便地被集成,方便各厂商的异构分析算法进行服务封装。



技术实现要素:

本发明的目的在于提供一种能够克服上述技术问题的基于微服务的多分析算法融合应用服务平台方法。

本发明所述方法包括以下步骤:

步骤1,建库流程:

步骤1.1,应用系统向多分析算法调度管理模块下发建库请求;

步骤1.1.1,请求携带中提取任务标识、建库所需的图像数据、图像库标识、建库使用的分析算法、建库类型的参数;

步骤1.1.2,建库使用的分析算法为可选项,能不选,也能指定多个分析算法进行建库;

步骤1.1.3,建库类型分为:仅传入图像、指定图像库全部提取、指定图像库部分提取;

步骤1.2,分析算法调度管理模块根据调度策略和当前资源情况进行任务和资源的调度,把建库任务分发给分析算法;

步骤1.2.1,根据调度策略和资源情况选择分析算法:当请求中携带了建库使用的分析算法,则选择请求中指定的分析算法;如请求中未携带,则选择建库服务运行状态正常的所有分析算法;

步骤1.2.2,根据建库类型选择图像数据:

步骤1.2.2.1,当建库类型为仅传入图像,则选择请求中携带的图像数据,并把这些图像数据保存到指定的图像库;

步骤1.2.2.2,当建库类型为指定图像库全部提取,则选择库中全部图像;

步骤1.2.2.3,当建库类型为指定图像库部分提取,则选择库中未使用指定分析算法提取特征的图像;

步骤1.2.3,把选择的图像数据分批发送给选择的分析算法,携带提取任务标识和图像数据;

步骤1.3,分析算法对建库所需的图像数据完成提取特征后,将特征数据异步返回给多分析算法调度管理模块。返回数据包括特征提取任务标识、图像标识、特征数据和算法标识;

步骤1.4,多分析算法调度管理模块将收到的特征数据保存到视频图像信息数据库;

步骤1.4.1,根据多分析算法调度管理模块根据某分析算法返回特征数据的提取任务标识、图像标识在图像库中找到对应的图像数据;

步骤1.4.2,当图像中对应的图像数据没有该分析算法的特征数据,则直接保存该分析算法的特征数据,否则,先删除已有的该分析算法的特征数据,再保存新收到的该分析算法的特征数据;

步骤1.5,多分析算法调度管理模块根据融合策略将综合后的建库结果返回给应用系统;

步骤1.5.1,多分析算法调度管理模块把建库任务中所有的图像数据都下发给分析算法,并保存了分析算法返回的特征数据之后,统计建库结果,即提取特征成功的图像数量和提取特征失败的图像数量;

步骤1.5.2,多分析算法调度管理模块把建库结果异步返回应用系统。

步骤2,图像比对流程:

步骤2.1,应用系统向多分析算法调度管理模块下发目标比对请求,请求中携带需要比对的目标图像、要比对的图像库范围、相似度阈值、分析算法(可选项,可多选)、是否需要融合结果的参数;

步骤2.2,分析算法调度管理模块根据调度策略和当前资源情况进行任务和资源的调度,把比对任务分发给分析算法;

步骤2.2.1,分析算法的选择:根据比对请求中指定的分析算法选择;

步骤2.2.1.1,根据业务场景和算法特点的匹配度选择;

步骤2.2.1.2,根据分析算法比对服务的运行状态进行选择;

步骤2.2.1.3,根据分析算法的综合评价选择较优的算法;

步骤2.2.1.4,根据分析算法中已建库图像数据的时空分布进行选择;

步骤2.2.2,把比对任务同时分发给选择的多个分析算法;

步骤2.3,分析算法把目标图像提取特征,将目标特征与指定图像库的所有目标的特征进行比对,把比对结果即相似度超过设定阈值的数据返回给多分析算法调度管理模块;

步骤2.4,多分析算法调度管理模块根据融合策略将融合后的比对结果返回给应用系统:

步骤2.4.1,待所有分析算法的比对结果返回后,记录所有比对结果,当部分算法在设定的时间内未返回比对结果,则视为超时,不再等待其返回结果;

步骤2.4.2,当比对请求中,指定了不需要融合结果,则不进行融合,直接把各分析算法比对结果返回给应用系统,图像比对流程结束,反之,继续执行步骤2.4.3至步骤2.4.5;

步骤2.4.3,把n个分析算法ei(i=1,2…n)返回的比对结果(目标id,相似度ei)进行重新排序和合并归总,形成结果集(目标id、相似度e1、相似度e2。。。相似度en)形式;

步骤2.4.4,计算综合相似度,设定某个目标fj(j=1,2…m)在k个分析算法返回的结果中存在e1,e2…ek,k个分析算法对应的核验相似度阈值(能够认定为同一目标的相似度阈值)分别为t1,t2…tk,其中引擎ei返回的目标对象为fji(j=1,2…m),对应的相似度为sji(j=1,2…m)

1)标准化阈值

2)标准相似度(当sji≥ti)

(当sji<ti)

3)综合相似度

其中,α为多算法影响系数;

步骤2.4.5,根据综合相似度从高到低对各目标进行重新排序,将融合比对结果返回应用系统。

步骤3,监测通知流程:

步骤3.1,应用系统向多分析算法调度管理模块下发监测请求,请求中携带监测所需的图像或要监测的目标库、监测时间范围、监测空间范围、监测原因、监测级别、监测人、通知灵敏度即相似度阈值级别的信息;

步骤3.2,多分析算法调度管理模块根据调度策略和当前资源情况进行任务和资源的调度,把监测任务分发给分析算法;

步骤3.3,视频图像信息数据库实时采集抓拍目标图像数据;

步骤3.4,视频图像信息数据库把抓拍目标图像数据分发给各分析算法;

步骤3.5,分析算法对抓拍目标图像数据提取特征,并与关注库的目标图像特征进行比对,超过设定的相似度阈值,产生通知,并把通知推送给多分析算法调度管理模块;

步骤3.6,分析算法将抓拍目标的特征数据回传给视频图像信息数据库;

步骤3.7,多分析算法调度管理模块根据融合策略将融合后的通知结果返回给应用系统:

步骤3.7.1,识别重复通知:当同一个监测任务指定多家算法时,针对同一个监测任务中,相同时间点,同一个设备抓拍的同一目标,不同分析算法产生的通知,视为重复通知;

步骤3.7.2,过滤重复通知:只转发最先收到的通知,后续重复的通知不再转发;

步骤3.7.3,通知自动复核:调用其它分析算法进行监测目标与通知目标的比对,对于每个分析算法,当比对结果超过各自相应通知灵敏度级别对应的相似度阈值,则视为通过,根据其他分析算法比对是否通过的结果,根据投票策略,最终确定通知是否通过;

步骤3.7.4,将确认为非重复通知且通过复核的通知转发给应用系统。

本发明所述方法的优越效果是:

(1)取得了更好的分析效果:采用多分析算法融合后的分析结果,既有助于综合利用各算法的优势,避免单算法各自的特殊短板,扬长避短;通过算法之间的交叉印证来检验各算法的智能分析效果,为评价算法的实际性能提供依据。

(2)提高了计算资源的利用率:基于对各种分析算法的调度管理,实现了计算资源的统一调度,实现了分析任务按需调度下发,能更有效利用全局的计算资源。

(3)实现了负载均衡:能调动全局资源处理突发任务,实现负载均衡。

(4)实现了故障转移:当单算法出现运行故障,自动把分析任务分配给运行正常的算法,保证分析任务的正常执行。

(5)可扩展性更强:当平台需要集成新的分析算法时,新的分析算法只需按照标准的接口提供服务,就能很方便地被集成,多分析算法融合应用服务平台无需进行改动,应用系统也无需进行改动。当需要支持新的应用系统时,新的应用系统不需要和多个分析算法逐个适配分析算法,只需要调用应用服务。

附图说明

图1是现有技术的单一厂商分析算法调用模式技术方案示意图;

图2是本发明所述方法的多分析算法融合应用服务平台总体架构示意图;

图3是本发明所述方法的多分析算法融合应用服务平台软件架构示意图;

图4是本发明所述方法的多分析算法融合应用服务平台建库流程示意图;

图5是本发明所述方法的多分析算法融合应用服务平台图像比对流程示意图;

图6是本发明所述方法的多分析算法融合应用服务平台监测通知流程示意图;

图7是本发明所述方法的多分析算法融合人脸应用服务平台总体架构示意图;

图8是本发明所述方法的多分析算法融合人脸应用服务平台人脸建库流程示意图;

图9是本发明所述方法的多分析算法融合人脸应用服务平台人脸比对流程示意图;

图10是本发明所述方法的多分析算法融合人脸应用服务平台人脸监测通知流程示意图;

图11是本发明所述方法的多分析算法融合车辆应用服务平台总体架构示意图;

图12是本发明所述方法的多分析算法融合车辆应用服务平台车辆建库流程示意图;

图13是本发明所述方法的多分析算法融合车辆应用服务平台车辆比对流程示意图;

图14是本发明所述方法的多分析算法融合车辆应用服务平台车辆监测通知流程示意图。

具体实施方式

下面结合附图对本发明的实施方式进行详细描述。

本发明所述方法的多分析算法融合应用服务平台由多分析算法调度管理模块和视频图像信息数据库构成,如图2所示,其中多分析算法调度管理模块承担多分析算法的集成、任务调度、分析结果融合、算法评价的工作,视频图像信息数据库承担视频图像信息数据的汇聚、处理、存储和分发的工作,多分析算法调度管理模块与各厂商的分析算法之间采用统一规范的调度管理接口进行集成。多分析算法调度管理模块和分析算法采用数据服务接口从视频图像信息数据库获取视频图像数据,多分析算法调度管理模块向各应用系统提供应用服务接口,用以支撑应用系统的各种视频图像分析应用功能,本发明所述方法的多分析算法融合应用服务平台的软件架构件如图3所示,采用分层架构,分别为数据层、服务层和应用层。数据层:包括原始图像库、图像特征库、算法管理库、系统管理库,负责存储系统中的原始图像信息、图像特征值信息以及算法管理的相关信息;服务层包括多个分析算法的调度管理,向应用层提供多分析算法的视频图像分析和多分析算法的管理服务。系统通过分析算法管理调度接口与各分析算法对接,通过算法管理、运行监测、任务调度、结果融合、算法评价的模块对多个分析算法进行统一的调度和管理。通过建库服务、比对服务、监测通知服务对实现视频图像的分析应用服务。应用层包括算法信息管理、算法状态管理、算法配置、算法评价、系统管理的管理功能。

本发明所述方法的实施例1的技术方案包括以下步骤:

步骤1,多分析算法融合人脸应用服务平台的由人脸多分析算法调度管理模块和视频图像信息数据库构成,如图7所示,其中人脸多分析算法调度管理模块承担多分析算法的集成、任务调度、分析结果融合、算法评价的工作,视频图像信息数据库承担视频图像信息数据的汇聚、处理、存储和分发的工作,人脸多分析算法调度管理模块与各厂商的人脸分析算法之间采用统一规范的人脸调度管理接口进行集成,人脸多分析算法调度管理模块和人脸分析算法采用人脸数据服务接口从视频图像信息数据库获取视频图像数据,人脸多分析算法调度管理模块向各应用系统提供人脸应用服务接口,用以支撑应用系统的人脸图像分析应用功能。

步骤2,建库流程:

步骤2.1,应用系统向人脸多分析算法调度管理模块下发建库请求,请求中携带建库所需的人脸图像数据;

步骤2.2,人脸多分析算法调度管理模块根据调度策略和当前资源情况进行任务和资源的调度,把建库任务分发给分析算法;

步骤2.3,人脸分析算法对建库所需的人脸图像数据提取特征,将人脸特征数据返回给人脸多分析算法调度管理模块;

步骤2.4,人脸多分析算法调度管理模块将人脸特征数据保存到视频图像信息数据库;。

步骤2.5,人脸多分析算法调度管理模块根据融合策略将综合后的建库结果返回给应用系统。

步骤3,图像比对流程:

步骤3.1,应用系统向人脸多分析算法调度管理模块下发人脸比对请求,请求中携带需要比对的目标人脸图像、要比对的人脸库范围和设定的相似度阈值;

步骤3.2,人脸多分析算法调度管理模块根据调度策略和当前资源情况进行任务和资源的调度,把比对任务分发给分析算法;

步骤3.3,人脸分析算法把目标人脸图像提取特征,将目标人脸特征与指定人脸库的人脸特征进行比对,把比对结果即相似度超过设定阈值的人脸数据返回给人脸多分析算法调度管理模块;

步骤3.4,人脸多分析算法调度管理模块根据融合策略将融合后的比对结果返回给应用系统。

步骤4,监测通知流程:

步骤4.1,应用系统向人脸多分析算法调度管理模块下发监测请求,请求中携带监测所需的人脸图像或要监测的人脸库、监测时间范围、监测空间范围、布监测原因、监测级别、监测人、通知灵敏度即相似度阈值级别的信息;

步骤4.2,人脸多分析算法调度管理模块根据调度策略和当前资源情况进行任务和资源的调度,把监测任务分发给分析算法;

步骤4.3,视频图像信息数据库实时采集抓拍人脸图像数据;

步骤4.4,视频图像信息数据库把抓拍人脸图像数据分发给各人脸分析算法;

步骤4.5,人脸分析算法对抓拍人脸图像数据提取特征,并与关注库的人脸图像特征进行比对,超过设定的相似度阈值,就产生通知,并把通知推送给人脸多分析算法调度管理模块;

步骤4.6,人脸分析算法将抓拍人脸的特征数据回传给视频图像信息数据库;

步骤4.7,人脸多分析算法调度管理模块根据融合策略将融合后的通知结果返回给应用系统。

本发明所述方法的实施例2的技术方案包括以下步骤:

步骤1,多分析算法融合车辆应用服务平台由车辆多分析算法调度管理模块和视频图像信息数据库构成,如图11所示;其中车辆多分析算法调度管理模块承担多分析算法的集成、任务调度、分析结果融合、算法评价的工作,视频图像信息数据库承担视频图像信息数据的汇聚、处理、存储和分发的工作,车辆多分析算法调度管理模块与各厂商的车辆分析算法之间采用统一规范的车辆调度管理接口进行集成,车辆多分析算法调度管理模块和车辆分析算法采用车辆数据服务接口从视频图像信息数据库获取视频图像数据,车辆多分析算法调度管理模块向各应用系统提供车辆应用服务接口,用以支撑应用系统的车辆图像分析应用功能。

步骤2,建库流程:

步骤2.1,应用系统向车辆多分析算法调度管理模块下发建库请求,请求中携带建库所需的车辆图像数据;

步骤2.2,车辆多分析算法调度管理模块根据调度策略和当前资源情况进行任务和资源的调度,把建库任务分发给分析算法;

步骤2.3,车辆分析算法对建库所需的车辆图像数据提取特征,将车辆特征数据返回给车辆多分析算法调度管理模块;

步骤2.4,车辆多分析算法调度管理模块将车辆特征数据保存到视频图像信息数据库;

步骤2.5,车辆多分析算法调度管理模块根据融合策略将综合后的建库结果返回给应用系统。

步骤3,图像比对流程:

步骤3.1,应用系统向车辆多分析算法调度管理模块下发车辆比对请求,请求中携带需要比对的目标车辆图像、要比对的车辆库范围和设定的相似度阈值;

步骤3.2,车辆多分析算法调度管理模块根据调度策略和当前资源情况进行任务和资源的调度,把比对任务分发给分析算法;

步骤3.3,车辆分析算法把目标车辆图像提取特征,将目标车辆特征与指定车辆库的车辆特征进行比对,把比对结果即相似度超过设定阈值的车辆数据返回给车辆多分析算法调度管理模块;

步骤3.4,车辆多分析算法调度管理模块根据融合策略将融合后的比对结果返回给应用系统。

步骤4,监测通知流程:

步骤4.1,应用系统向车辆多分析算法调度管理模块下发监测请求,请求中携带监测所需的车辆号牌或要监测的车辆库、监测时间范围、监测空间范围、监测原因、监测级别、监测人的信息;

步骤4.2,车辆多分析算法调度管理模块根据调度策略和当前资源情况进行任务和资源的调度,把监测任务分发给分析算法;

步骤4.3,视频图像信息数据库实时采集抓拍车辆图像数据;

步骤4.4,视频图像信息数据库把抓拍车辆图像数据分发给各车辆分析算法;

步骤4.5,车辆分析算法对抓拍车辆图像数据提取特征,并与关注库的车辆特征进行比对,特征匹配就产生通知,并把通知推送给车辆多分析算法调度管理模块;

步骤4.6,车辆分析算法将抓拍车辆的特征数据回传给视频图像信息数据库;

步骤4.7,车辆多分析算法调度管理模块根据融合策略将融合后的通知结果返回给应用系统。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明公开的范围内,能够轻易想到的变化或替换,都应涵盖在本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1