首页> 中国专利> 人工智能分析垂直解决方案集成器

人工智能分析垂直解决方案集成器

摘要

本发明公开了一种人工智能分析垂直解决方案集成器,其中,模型适配子系统用于以统一的格式对各机器学习模型定义属性,机器学习模型与分析对象相匹配;模型编排子系统用于根据用户需求链接和/或编排操作模块而形成相应的工作流,操作模块包括定义属性后的机器学习模型;核心控制器用于根据与用户需求相应的工作流创建分析任务;分析引擎用于接收分析任务并接收与该分析任务相应的分析对象,根据分析任务中的工作流执行相应的操作模块,对分析对象进行分析。本发明率先实现由用户无需编程即可自己定制所需的垂直解决方案,且即时交付、使用简单明了、成本低廉;它灵活且可扩展,并可针对不同的应用环境。

著录项

  • 公开/公告号CN113127195A

    专利类型发明专利

  • 公开/公告日2021-07-16

    原文格式PDF

  • 申请/专利权人 杭州岱名科技有限公司;

    申请/专利号CN202110338177.2

  • 发明设计人 谢俊清;王勇;李大维;

    申请日2021-03-30

  • 分类号G06F9/50(20060101);G06F8/34(20180101);G06N20/00(20190101);

  • 代理机构33200 杭州求是专利事务所有限公司;

  • 代理人陈昱彤

  • 地址 311200 浙江省杭州市萧山区宁围街道利一路188号天人大厦203室-31(自主分割)

  • 入库时间 2023-06-19 11:52:33

说明书

技术领域

本发明涉及一种人工智能分析垂直解决方案系统,属于人工智能分析领域。

背景技术

随着云计算和边缘计算技术的出现,互联网技术(Internet Technology,IT)服务可以在从边缘到云服务平台上提供。在这样的新兴的服务平台上,根据需求,服务可以完全部署在云中、完全部署在边缘、或者跨越边缘到云进行部署,甚至部署在端系统(例如移动终端)。此种服务基础结构已被IT行业广泛采用,并被用来承载并运行新兴的IT服务,例如人工智能(AI)分析服务(例如基于机器学习的分析,尤其是基于深度神经元网络的分析)。这些服务平台通常包括平台即服务(Platform as a Service,PaaS)、边缘即服务(Edge asa Service, EaaS)等。一些典型的产品包括Google App Engine、Microsoft Azure等。

人工智能分析是最为快速增长的应用服务之一。它可以对各种不同的分析对象,常见的如视频(video)、音频(audio)、图像(image)、语音(speech)、文本(text)等不同类型的数据中的一种或多种进行自动分析以获取关键的业务信息。早期的此类分析应用,主要依靠人工监视和回放来记录感兴趣事件数据。近年来,AI机器学习(特别是深度神经网络)极大地增强了分析的能力,从而可以在视频上进行运动检测、物体识别和跟踪、人脸识别、姿势识别、工业生产装配线的质量控制,在音频及文本上进行自然语言理解和分析,以及在视频、音频、图像、语音、文本等多元数据下进行隐私、安全性的自动分析。许多基于传统的服务平台(主要是针对端系统的编程库和软件开发包)以及PaaS和EaaS这样新兴的服务平台的人工智能分析应用已经广泛可用。但是,自人工智能分析应用出现以来,服务平台和用户需求之间一直存在很大的缺口:如何进行用户垂直解决方案系统的定制。例如,一个针对校车的人工智能分析应用可能需要以下功能:1)发现车上的每个人;2)识别并归类为学生、老师、父母和公交车司机;3)记录每位乘客的上/下车时间;4)识别并警告异常行为,例如学生和车辆发出特殊的声响、学生将身体的大部分伸到车窗外面;5)联系并提醒学校、家长、老师和执法人员。通常,这里的每个提到的功能仅需要基本的人工智能分析功能,大多数主要服务平台都能够提供这些分析功能。但是,用户很难直接从这些服务平台上获得一个集成的垂直领域解决方案(即校车人工智能分析应用),用户必须在这些服务平台提供的基本人工智能分析功能之上,额外进行编程开发来获得所需的垂直解决方案系统,这就对资源、交付时间和体验质量构成了重大挑战。

对于用户的垂直领域应用,可以使用不同的方式实施定制化,迄今为止可以将其分类如下:

(1)系统集成商:系统集成商根据用户要求构建垂直解决方案系统。它通过应用编程接口(API)与服务平台进行接口,在其实现的应用中调用服务平台的人工智能(AI)分析功能,例如人脸识别、对象跟踪和自然语言理解等。然而,这一般不能为用户提供令人满意的垂直解决方案。首先,技术人员需要调用机器学习模型库中的机器学习模型,然后手工编写各机器学习模型交互模式的代码,以此来形成垂直解决方案。因此,建立这样一个专门的垂直解决方案系统需要花费很长时间,而且成本很高。其次,一旦用户需求发生变化,机器学习模型的交互模式需相应发生变化,有时还要求需要修改或优化平台上的人工智能(AI)功能,使其针对不同用户需求所对应的不同的特定应用场景进行训练和优化以提高准确性和性能。显然,平台提供商很难同意为单个客户修改平台。因此,人工智能分析应用的性能会是一个主要问题。第三,系统集成商参与开发的通常是软件工程师,而不是垂直领域专家,因此,定制解决方案的质量和可靠性往往不理想。最后,平台限制提供机器学习模型:服务必须通过服务提供者拥有的平台,这在某些场景会构成严重的问题,例如,像金融机构这样的用户经常要求拥有从边缘到云的整个硬件和软件系统的所有权,而平台提供商则一般无法满足其要求。

(2)由平台提供商进行定制:总的来说,这不是他们的商业模式。他们不愿意为单个客户修改平台。通常,这种分析平台是由专职的大型团队构建的,而“垂直解决方案”可能涉及多个不同的系统组件。因此,从技术上讲,这是一个挑战。更何况,平台提供商的技术团队一般并不包括垂直解决方案应用系统的开发人员,这种方式还可能需要招募和管理应用系统开发团队,从而造成人员组织的复杂性。

(3)专业定制:有些专业的人工智能分析应用公司可以在某些特定的领域提供定制化的垂直解决方案,例如工业装配线监控和质量控制,显然,它的市场应用通常相当狭窄。此外,不同的用户对垂直解决方案可能仍然有不同的要求,仍然需要进行个性化定制,这意味着这些专业的人工智能分析应用公司需要重新编写代码,以适应机器学习模型交互模式发生的变化,这在成本和交货时间方面构成了挑战。

因此,以上方式在针对用户需求制定人工智能分析垂直解决方案时,无论是将垂直解决方案系统作为平台上的子系统,还是作为通过应用编程接口(API)与平台连接的独立系统,抑或是由专业的人工智能分析应用公司针对特定的领域提供定制化的垂直解决方案,由于需要通过调用机器学习模型库中的机器学习模型,并由技术人员手工编写各机器学习模型交互模式的代码,以此来形成垂直解决方案。一旦用户需求发生变化,则机器学习模型的交互模式发生变化,因此需要重新编写代码,在技术上尚无法实现由用户自己进行垂直解决方案的定制操作,更不能实现由用户自定义需求且自己进行垂直解决方案的定制操作。如何在技术上突破,从而在用户需求发生变化时,使得无需通过技术人员重新编写代码来获得新的人工智能分析垂直解决方案,进而实现由用户自己自定义需求并无需编写代码即可自己进行垂直解决方案的定制操作,成为自人工智能分析应用诞生以来人们一直期待解决但始终未能获得成功的技术难题。

发明内容

本发明所要解决的技术问题是:提供一种用户可自定义需求并无需编写代码即可自己进行定制操作的人工智能分析垂直解决方案集成器。

本发明解决其技术问题所采取的技术方案是:本发明人工智能分析垂直解决方案集成器包括编排系统和分析服务系统,所述编排系统包括模型适配子系统和模型编排子系统,所述分析服务系统包括核心控制器和一个以上分析引擎;所述模型适配子系统用于以统一的格式对各机器学习模型定义属性,所述机器学习模型与分析对象相匹配;所述模型编排子系统用于根据用户需求链接和/或编排操作模块而形成相应的工作流,所述操作模块包括定义属性后的机器学习模型;所述核心控制器用于根据与用户需求相应的工作流创建分析任务,将所创建的分析任务和相应的分析对象分配到相应的分析引擎上;所述分析引擎用于根据所分配到的分析任务中的工作流执行相应的操作模块,对相应的分析对象进行分析。

进一步地,本发明所述分析对象为机器学习模型能够分析的数据。

进一步地,本发明所述分析对象包括视频数据、音频数据、图像数据、语音数据、文本数据中的任一种或任几种。

进一步地,本发明所述核心控制器根据分析引擎的状态,将新建的分析任务和相应的分析对象分配到相应的分析引擎上。

进一步地,本发明所述操作模块还包括计算和逻辑处理模块。

进一步地,本发明中的工作流、用于描述工作流的配置文件、分析任务的执行状态、分析任务的执行结果中的任一种或任几种存储于存储器中。

进一步地,本发明所述定义属性包括定义机器学习模型的输入属性和输出属性。

进一步地,本发明所述定义属性还包括定义机器学习模型的运行环境配置。

进一步地,本发明所述核心控制器设置有管理界面,以使用户通过管理界面对分析引擎执行管理操作。

进一步地,本发明所述管理操作包括以下(a)至(d)项中的任一项或任几项:(a)查询分析任务的执行状态;(b)停止分析任务;(c)删除分析任务;(d)查看分析引擎的当前状态。

进一步地,本发明所述模型编排子系统设置有图形用户界面,以使用户通过图形用户界面向模型编排子系统输入用户需求,模型编排子系统根据用户需求链接和/或编排操作模块而形成相应的工作流并将结果显示在图形用户界面上。

进一步地,本发明所述模型编排子系统还用于根据用户需求推荐工作流和/或操作模块并在所述图形用户界面上显示。

进一步地,本发明所述分析引擎还用于将待执行的操作模块加载到本地硬件执行,和/或加载到云计算平台远程执行;所述核心控制器在本地运行或在云计算平台远程运行。

进一步地,本发明还包括供定义属性之前的机器学习模型进行训练的标注工具。

进一步地,所述机器学习模型位于本地和/或云计算平台。

进一步地,本发明还包括接口模块,用于从云计算平台调用机器学习模型。

与现有技术相比,本发明的有益效果是:

(1)本发明的人工智能分析垂直解决方案集成器为垂直解决方案的自动定制提供了方法。不同于现有技术主要是通过调用机器学习模型库中的机器学习模型,再由技术人员手工编写各机器学习模型交互模式的代码而形成垂直解决方案,本发明以统一格式对机器学习模型的属性进行定义,使得不同的机器学习模型无需通过编程而是按照时间、逻辑顺序等进行链接和/或编排形成工作流,因此,用户只需根据自己的人工智能分析需求编写简单的配置文件,且配置文件只需描述定义属性后的机器学习模型等各操作模块的链接和/或编排的时间、逻辑顺序等,无需进行编程,从而使人工智能分析垂直解决方案不再依赖繁琐和易错的代码编程,无需任何开发编程工作,首次实现由用户自己自定义需求并无需编写代码即可自己进行定制操作获得人工智能分析垂直解决方案,解决了自人工智能分析应用诞生以来人们一直期待解决但始终未能获得成功的技术难题。

(2)作为本发明的优选方案,用户甚至无需编写配置文件也能够方便地通过图形化的用户界面(User Interface ,UI)链接和/或编排操作模块来形成工作流,使用户自己自定义需求并自己进行人工智能分析垂直解决方案的定制操作更便捷,增强用户体验感,并大大地扩展了本发明的应用领域。

(3)机器学习领域目前限于使用在某个特定平台和软件框架下的机器学习模型,难以跨越不同硬件平台和软件框架使用不同的机器学习模型;而本发明以统一格式对机器学习模型的属性进行定义,形成工作流时可以链接和/编排基于不同硬件平台和软件框架的机器学习模型;同时,本发明形成工作流时既可链接自身携带的本地机器学习模型,又可链接云计算平台的机器学习模型。

(4)本发明率先实现由用户自定义需求且无需编写代码即可自己进行垂直解决方案的定制操作,无需任何开发编程工作,用户即使没有任何代码编程能力也能够使用本发明,无需诉诸系统集成商、平台提供商或专业的人工智能分析应用公司,且垂直解决方案可即时交付、成本低廉、可靠且可扩展。不同于现有技术中垂直解决方案的创建依赖于系统集成者和程序员,本发明率先实现了由最终用户以无编码的方式,按照其对人工智能分析应用的需求,创建人工智能分析应用系统。在此基础上,模型编排子系统的图形用户界面作为本发明实现无编码构造垂直解决方案的优选方案,无需编写配置文件,大大地扩展了本发明的应用领域,对人工智能分析应用的贡献尤为突出。

(5)本发明人工智能分析垂直解决方案集成器中的分析服务系统可以创建并执行用户自定义的人工智能分析任务。本发明可通过分析引擎,根据相应工作流的定义,按序执行工作流中的各个机器学习模型以及计算和逻辑处理模块(必要时),并按照用户的需求,将分析结果输出和存储,方便用户查询分析任务的执行状态、停止分析任务、删除分析任务、查看分析引擎的当前状态等。

(6)由于本发明可利用分析引擎执行工作流,而分析引擎可以在云中、在边缘、跨越边缘到云任选一处或多处任意布置,相应地,用户的垂直解决方案可以在云中、在边缘、跨越边缘到云任选一处或多处进行部署,甚至部署在端系统(例如移动终端),具有灵活的部署方式,而现有技术无法实现这一点。

附图说明

图1是本发明的一种实施方式中各主要组成部分的交互关系示意简图;

图2是本发明的模型编排子系统的图形用户界面的一种示意图;

图3是基于本发明人工智能分析垂直解决方案集成器的垂直解决方案在运行时从边缘到云部署的一个实施例。

具体实施方式

本发明提供了一种人工智能分析垂直解决方案集成器,它适用于云计算、边缘计算以及混合环境下,可由用户自定义需求且自己进行基于机器学习的人工智能分析垂直解决方案的定制操作。本发明技术可靠、可扩展、安全,并且具有低成本、短交付周期、高性能等特点。

本发明人工智能分析垂直解决方案集成器主要包括编排系统和分析服务系统,其中,编排系统包括模型适配子系统和模型编排子系统,分析服务系统包括核心控制器和分析引擎。分析服务系统中的分析引擎可以是一个,也可以是多个(即多于一个)。

使用本发明集成器时,用户首先使用编排系统来定制满足其特定的人工智能分析应用需求(即用户需求)的解决方案。用户根据人工智能分析应用需求选择操作模块,将选择的操作模块进行链接和/或编排而形成工作流,操作模块主要为定义属性后的机器学习模型,根据用户对人工智能分析的需求,必要时还可包括计算和逻辑处理模块等其它模块。用户可以通过编写配置文件的方式描述工作流,即描述形成工作流的各操作模块的链接和/或编排的时间、逻辑顺序等。其中,各操作模块的链接和/或编排的时间主要指各操作模块的链接和/或编排先后顺序;各操作模块的链接和/或编排的逻辑顺序主要指各操作模块的分支、与或和并发等关系。与现有技术不同,本发明中的配置文件只需描述工作流中各操作模块的链接和/或编排的时间、逻辑顺序等,不需要进行编程,因此,对于用户来说,要简单和容易掌握得多,实现由用户自己自定义需求并无需编写代码即可自己进行人工智能分析垂直解决方案的定制操作。本发明使用计算和逻辑处理模块作为操作模块,形成工作流时亦免除了用户编程的必要。不仅如此,本发明还可实现用户无需编写配置文件而直接使用编排系统的图形化的用户界面,通过拖拉操作模块进行链接和/或编排而形成工作流,这样用户可以很方便地使用本发明人工智能分析垂直解决方案集成器。然后,在实际应用场景下,用户使用分析服务系统来运行相应人工智能分析应用的工作流,进行人工智能分析以获取分析结果。图1简要地示出了本发明人工智能分析垂直解决方案集成器的一种实施方式中各主要组成部分之间的交互关系。

以下对本发明进行具体的说明。

模型适配子系统的主要功能是以统一的格式(例如JSON、XML等格式)对不同的机器学习(ML)模型定义属性,以使各机器学习模型之间可以相互连接、相互操作。机器学习模型与人工智能分析对象相匹配,以使机器学习模型能够对分析对象进行分析处理。作为本发明的一种实施方式,分析对象通常为视频(video)、音频(audio)、图像(image)、语音(speech)、文本(text)、以及其它可由机器学习模型进行分析的数据中的任一种或多种数据,从而实现人脸识别、行人检测、车辆检测、姿势识别、自然语言识别、自然语言理解、文本到语音转换等包括视频分析、音频分析、图像分析、语音分析和文本分析等在内的一种或多种用户人工智能分析应用需求。本发明可优选深度学习模型来提供用户所需的各种人工智能分析功能。目前已知的机器学习模型均可用于本发明,例如,用于自然语言理解的BERT模型、用于文本转化为语音的DeepVoice模型、用于视频和图像目标检测的Yolov5模型、用于人脸识别的FaceNet模型、用于视频和图像目标跟踪的DeepSort模型、用于人体姿势检测的OpenPose模型等。这些机器学习模型既可以来自开源社区,也可以来自人工智能的系统厂商(包括硬件厂商、软件厂商和云计算平台厂商等)。

机器学习模型往往在模型的功能、模型框架(例如有Tensorflow、Pytorch、Caffe等各种不同的模型框架)、模型执行的硬件平台(例如有CPU、GPU、VPU、FPGA等不同的硬件平台)、硬件资源的要求(例如内存、GPU存储等不同的要求)、输入参数和格式、输出结果和格式、以及模型的计算结构、权重和文件格式(例如深度神经网络或其它文件格式)等方面有很大的不同。目前,深度学习领域对机器学习模型的神经网络使用统一方式进行描述,其作用是使不同的机器学习模型可转换为同一种编程语言和软件框架实现其功能,然而,这种对神经网络按统一方式进行描述的方法并不能形成工作流,不能实现不同机器学习模型的交互。并且,由于机器学习模型的神经网络本身发生转换和改变,使原有机器学习模型的准确性和处理性能受到了影响。为此,本发明通过模型适配子系统对各机器学习模型的属性统一格式,使得不同的机器学习模型可通过时间、逻辑顺序等进行链接和/或而形成工作流,并且对机器学习模型的神经网络本身不进行任何转换和改变,保证原有机器学习模型的准确性和处理性能不会受到模型转换的影响。本发明可根据分析对象确定机器学习模型所需定义的属性,常见的为输入属性和输出属性。输入属性和输出属性的具体内容通常与分析对象有关。以视频分析为例,输入属性通常包括以下属性中的一种或多种,例如:图片调整后的高度;图片调整后的宽度;图片通道数;图片通道顺序、批量;预测置信度阈值;输入预处理程序,例如,输入展开(从统一属性到机器学习模型特定的属性)、图片大小调整和转换等。输出属性一般与分析对象有关,有时还随机器学习模型的自身功能的不同而不同。依然以视频分析为例,对象检测、人脸识别等都是常见的以视频为分析对象的机器学习模型的功能,它们的输出属性也各不相同。对于具有对象检测功能的机器学习模型而言,输出属性通常可包括以下属性中的一种或多种:a)检测出的对象的位置;b)检测出的对象的类别的名称,例如班级名称、数组中的人员;c)检测置信度,例如置信度为0.72;d)输出后处理程序,例如输出包装(从机器学习模型特定的属性到统一的属性)、转换等。对于具有人脸识别功能的机器学习模型而言,输出属性通常可包括以下属性中的一种或多种:a)检测出的人脸的位置;b)检测置信度;c)识别出的人脸所对应的ID,例如姓名、身份证号码等。

目前,在机器学习领域,不同硬件平台和软件框架的机器学习模型是独立的,难以集成在一起运行。作为优选方案,本发明进一步通过对机器学习模型的运行环境配置(Runtime)以统一格式进行定义,使形成工作流时可以按时间、逻辑顺序等链接和/编排基于不同硬件平台和软件框架的机器学习模型,由此通过模型适配子系统将不同运行态环境下的机器学习模型都容纳下来,给用户更广泛的机器学习模型的选择。

机器学习模型的运行环境配置(Runtime)可根据机器学习模型是来自于本地还是来源于云计算平台进行区分。其中,针对来自于本地的机器学习模型,机器学习模型的运行环境配置(Runtime)一般可包括机器学习的模型框架(例如,Tensorflow、PyTorch、Caffe、PaddlePaddle和ONNX等)、模型文件、模型执行的硬件平台(例如CPU、GPU、VPU)等;针对来源于云计算平台的机器学习模型,机器学习模型的运行环境配置一般可包括提供该云计算平台的云服务供应商以及访问该平台的用户名/密码、访问云计算平台上的机器学习模型的RESTful Web服务的URL、输入/输出属性与Web服务的参数的映射关系等。

由于模型适配子系统对人工智能分析的机器学习模型的属性以统一的格式进行了定义,使各机器学习模型之间可以相互连接、相互操作,从而可以在构造垂直解决方案时将它们链接和/或编排在一起。后续的链接和/或编排工作则由模型编排子系统来完成。

模型编排子系统的主要功能是根据用户需求(即用户的人工智能分析应用需求)链接和/或编排操作模块而形成工作流。用户需求最终可通过包括定义属性后的机器学习模型在内的操作模块对分析对象进行智能分析而完成。用户需求常见的例子包括车站客流统计、查找特定特征的人员和车辆、智能停车、园区监控等,用户还可以自定义其它需求。而这些用户需求都可以通过链接和/或编排操作模块形成工作流来实现。操作模块主要为定义属性后的机器学习模型。作为本发明的优选实施方式,根据用户需求的不同,必要时操作模块可能还包括计算和逻辑处理模块。

例如,进行特定特征人员和车辆的查找时,用户可使用模型编排子系统链接和/或编排支持目标检测和特征提取过滤的机器学习模型来实现,此时,形成工作流的操作模块为定义属性后的机器学习模型,但不包括计算和逻辑处理模块。进行客流统计时,用户可使用模型编排子系统链接和/或编排行人检测机器学习模型、行人跟踪机器学习模型以及跨线统计计算模块来实现,此时,定义属性后的机器学习模型和计算和逻辑处理模块均为用于形成工作流的操作模块,其中,跨线统计计算模块为计算和逻辑处理模块。跨线统计计算模块的主要功能为通过输入的用户指定的线段或区域,以及行人跟踪的输出结果,对行人是否跨线进行判断和统计,并输出结果。

按照对人工智能分析的具体需求,用户使用模型编排子系统链接和/或编排操作模块而形成工作流。用户通常可根据人工智能分析的具体需求的不同确定链接和/或编排操作模块的逻辑和时间顺序等,由此相应形成了工作流的逻辑和时间顺序,按此逻辑和时间顺序分析视频、音频、图像、语音、文本等数据以及其它分析对象,满足用户对各种分析对象的具体的人工智能分析需求。例如,对于客流统计的需求,可以通过串联行人检测机器学习模型、行人跟踪机器学习模型和跨线统计计算模块形成的工作流来实现。由此,用户可根据自己的特定需求自定义工作流,并实现由用户自己进行人工智能分析垂直解决方案的定制操作。对于相同的人工智能分析需求,在满足人工智能分析需求得到实现的情况下,不同的用户可根据自身的习惯、喜好等对链接和/或编排的机器学习模型的逻辑和时间顺序进行适当的调整。

作为本发明的优选实施方式,模型编排子系统所形成的工作流可存储于存储器中,该存储器可以是模型编排子系统的组成部分,亦可以是独立存在的存储器(例如,独立存在的数据仓库)。

如前所述,作为本发明的一种实施方式,根据用户对人工智能分析的具体需求的不同,工作流可以仅由定义属性后的机器学习模型链接和/或编排形成,也可以由定义属性后的机器学习模型和计算和逻辑处理模块等链接和/或编排形成。例如,可以仅包含一个定义属性后的机器学习模型,也可以是多个定义属性后的机器学习模型的组合,还可以是一个或多个定义属性后的机器学习模型与一个或多个计算和逻辑处理模块的组合,等等。例如,当用户仅需要进行人脸识别时,作为本发明的一种实施方式,工作流可仅需包含人脸识别的机器学习模型,而非为多个机器学习模型的组合;当用户需要进行客流统计的人工智能分析时,作为本发明的一种实施方式,工作流可包含具有行人检测和行人跟踪等人工智能分析功能的多种机器学习模型和计算和逻辑处理模块;当用户需要进行包含人脸识别、客流统计等多种人工智能分析时,作为本发明的一种实施方式,工作流可包含具有人脸识别、行人检测和行人跟踪等人工智能分析功能的各种机器学习模型和计算和逻辑处理模块。计算和逻辑处理模块可以由垂直解决方案系统供应商提供,也可以由用户自行定义。计算和逻辑处理模块可用于进行一些数学计算和逻辑处理,例如跨线计算(计算并判断目标对象是否进入或离开一个区域)、置信度阈值比较(目标检测或分类的置信度是否大于或小于一个阈值)等。计算和逻辑处理模块可以适用于一元数据(例如,单一的分析对象),也可以适用于多元数据(例如,多个分析对象)。例如,对于客流统计的人工智能分析,可由定义属性后的支持行人检测和行人跟踪的机器学习模型和跨线统计计算模块链接和/或编排而形成工作流来实现。又例如,对于智能校车的人工智能分析,异常判断可由计算和逻辑处理模块对音频分析的结果、视频分析的人体姿势检测的结果等多元数据进行“逻辑或”处理。

作为本发明的一种优选实施方式,模型编排子系统还可用于根据用户对人工智能分析的需求,向用户推荐可满足其需求的工作流、定义属性后的机器学习模型、以及计算和逻辑处理模块等,而现有技术不能实现该推荐功能。

作为本发明的一种示例,图2示出了一种图形用户界面的形式。参见图2,模型编排子系统在向用户推荐可满足其需求的工作流、定义属性后的机器学习模型和计算和逻辑处理模块时,可向用户提供以下建议:a)具有所需特定分析功能的工作流(例如,客流统计);b)可能可以组合在一起形成工作流以用来实现用户需求的定义属性后的机器学习模型(例如,人脸检测、行人检测、物体跟踪、人头检测、语音识别、文本识别等);c)可能可以与定义属性后的机器学习模型组合在一起形成工作流以用来实现用户需求的计算和逻辑处理模块(例如,跨线统计计算模块)。这些推荐可根据用户所输入的对人工智能分析的具体需求的描述和/或关键字(例如,人脸识别、客流统计、行人检测等),由模型编排子系统对工作流、定义属性后的机器学习模型、以及计算和逻辑处理模块进行匹配获得的。例如,如果用户的需求是在执行客流统计分析任务,则模型编排子系统会选择已编排好的客流统计的工作流和/或行人检测模型和跨线检测模块作为推荐建议。

如果模型编排子系统同时向用户推荐了工作流和定义属性后的机器学习模型(视具体的人工智能分析需求,推荐有时还包括计算和逻辑处理模块),则用户可从中选择一种。若选择的是工作流,则可以直接在应用场景中使用,对分析对象进行分析;若选择的是定义属性后的机器学习模型,则用户可以将所选择的定义属性后的机器学习模型通过模型编排子系统进行链接和/或编排,形成针对用户人工智能分析需求的相应的工作流;若根据用户需求同时选择了定义属性后的机器学习模型和计算和逻辑处理模块,则用户可以将所选择的定义属性后的机器学习模型和计算和逻辑处理模块通过模型编排子系统进行链接和/或编排,形成针对用户人工智能分析需求的相应的工作流。

作为本发明的优选方案,如果用户对所构建的垂直解决方案的分析结果满意,则可将该垂直解决方案所对应的工作流或用于描述该工作流的配置文件存储于存储器中,之后如遇同样的人工智能分析需求,则模型编排子系统可优先推荐该工作流作为垂直应用解决方案,以便进行反复使用。存储器可以为模型编排子系统的组成部分,亦可以单独存在(例如为独立的数据仓库)。

作为本发明的一种实施方式,用户可以根据自己的人工智能分析需求,通过编写配置文件来链接和/或编排操作模型而形成工作流。作为本发明的优选实施方式,模型编排子系统还可设置有图形用户界面(UI),以使用户通过图形用户界面向模型编排子系统输入用户需求,模型编排子系统根据用户需求链接和/或编排操作模块(例如为定义属性后的机器学习模型、计算和逻辑处理模块等)而形成工作流并将结果(例如,所形成的工作流的流程图)显示在图形用户界面上。以下结合图2所示的实施例作进一步的说明。

图2示出了模型编排子系统的图形用户界面的一种实施方式的示意图。作为图形用户界面的优选实施方式,模型编排子系统的图形用户界面可分为备选区1和编辑区2等区块。备选区1可列出模型编排子系统根据用户需求推荐的所有工作流、操作模块(例如为能够满足用户需求的定义属性后的机器学习模型、计算和逻辑处理模块等)、以及分析对象的“输入/输出”等。分析对象的输入与输出对应于用户需求的人工智能分析应用所要求的输入与输出。例如,输入可以是视频输入、音频输入等;而输出可以是视频输出、音频输出、分析结果数据输出等。当用户输入关于用户需求的描述和/或关键字时,模型编排子系统能够在备选区1列出符合用户需求的已有工作流和/或操作模块(即定义属性后的机器学习模型、计算和逻辑处理模块等)。用户从备选区1中将选中的工作流和/或操作模块拖动到工作流的编辑区2进行链接和/或编排操作,从而形成满足用户需求的工作流,并将结果(作为结果的表现形式之一,图2展现的是所形成的工作流的流程图)显示在图形用户界面的编辑区2上。作为本发明的一种实施方式,工作流的流程图也可以以描述该工作流的配置文件的形式存储于存储器中。作为本发明的另一种实施方式,模型编排子系统也可以不向用户推荐与用户需求相匹配的工作流和/或操作模块,而是直接根据用户需求链接和/或编排相应的操作模块而形成工作流,并将结果显示在图形用户界面上。若最终形成多种可满足用户需求的工作流,作为本发明的一种实施方式,可将这些工作流全部显示,用户可以翻页查看;也可以提供一个列表,用户点击其中一个,则显示该工作流。模型编排子系统的图形用户界面的工作流的编辑可以参照通用的工作流程编辑工具,例如开源的Activiti Modeler系统、Flowable系统以及Microsoft的Visio等。

根据用户的需求链接和/或编排而成的工作流,可由分析服务系统进行执行,供用户在实际应用场景里反复使用。分析服务系统包括核心控制器和分析引擎。接下来具体描述核心控制器和分析引擎。

核心控制器的主要功能是根据与用户需求对应的工作流创建分析任务,并将所创建的分析任务和相应的分析对象分配到相应的分析引擎上进行执行。具体说明如下:

核心控制器可在本地运行或在云计算平台远程运行。模型编排子系统根据用户需求选择并链接和/或编排操作模块而形成工作流后,每当用户需要运行相应用户需求的人工智能分析工作时,核心控制器根据与用户需求对应的工作流创建分析任务(例如,客流统计、人脸识别等)。作为本发明的优选实施方式,核心控制器所创建的分析任务可存储于存储器中,该存储器可以是核心控制器的组成部分,亦可以为独立的存储器(例如为独立的数据仓库)。核心控制器将所创建的分析任务以及该任务需要分析的相应的分析对象(例如,视频、音频、图像、语音、文本、其它类型的机器学习模型可分析的数据或其它类型的分析对象的任一种或任几种)分配到相应的分析引擎上进行执行。

分析任务的分配方式可以包括但不限定于固定分配、轮转分配、根据各分析引擎的状态进行分配等。若分配方式为“固定分配”时,不同的分析任务各自存在可用于接收该分析任务的固定的分析引擎,一旦建立了分析任务,则直接将新建的分析任务和相应的分析对象直接分配到固定的分析引擎中。若分配方式为“轮转分配”时,各分析任务并不存在固定的分析引擎,而是在不同的分析引擎中依次轮流进行分配。作为本发明的优选实施方案,核心控制器还可根据各分析引擎的状态确定可以接收分析任务的分析引擎。在确定可以接收分析任务的分析引擎时,一般可考虑分析引擎是否正常运行、是否空闲等状态,从正常运行且空闲的分析引擎中选择可接收新建分析任务的分析引擎,并将新建分析任务和相应分析对象分配到所选择的分析引擎上。通常,可通过CPU、内存、硬盘的使用率等判断分析引擎是否空闲。

在本发明中,核心控制器将所创建的分析任务需要分析的分析对象分配到相应的分析引擎时可以有多种方式。例如,由核心控制器指令分析引擎从摄像头中获取与用户需求有关的视频数据(如图3所示)、由核心控制器指令摄像头向分析引擎推送视频数据、由核心控制器从摄像头中获取视频数据后转发给分析引擎等。

分析引擎的主要功能是根据分配到的分析任务中的工作流执行相应的操作模块,使用满足用户需求的定义属性后的机器学习模型、计算和逻辑处理模块(根据用户需求认为有必要时)等操作模块,对相应的分析对象进行分析,从而完成分析任务。

作为本发明的一种实施方式,分析引擎可将待执行的操作模块(即根据分配到的分析任务中的工作流所需执行的相应的操作模块)加载到本地硬件执行,和/或加载到云计算平台远程执行,相应地,分析引擎可以在云中、在边缘、跨越边缘到云任选一处或多处任意布置,由此,本发明的人工智能分析垂直解决方案集成器可完全部署在云中,或者完全部署在边缘上,或者跨越边缘到云进行部署,或者在云中、在边缘、跨越边缘到云任选一处或多处进行部署,甚至部署在端系统(例如移动终端),具有灵活的部署方式。作为本发明的一种实施方式,核心控制器可在本地运行或在云计算平台远程运行。由此可见,本发明可将人工智能分析垂直解决方案集成器中的模型适配子系统、模型编排子系统、核心控制器、分析引擎分别在云中、边缘、跨越边缘到云的任选一处或多处进行布置,甚至在端系统(例如移动终端)进行部署。图3示出了进行人工智能分析时的一种典型的跨越边缘到云的部署方式。图3中,分析对象为摄像头采集的视频数据,分析引擎分别分布在边缘上和云中,而核心控制器则分布在云中;对于需要实时分析的任务,核心控制器可以将其分配到位于边缘的分析引擎中;而对于需要复杂分析功能,且对实时要求不高的分析任务,核心控制器可以将其分配到位于云中的分析引擎中。

分析引擎根据分配到的分析任务中的工作流中的逻辑和时间顺序执行相应的操作模块,操作模块中包括可满足该分析任务的定义属性后的机器学习模型和计算及逻辑处理模块(根据用户需求认为有必要时),利用操作模块中的机器学习模型和计算及逻辑处理模块(必要时)对分析对象进行分析。作为本发明的一种实施方式,若被调用的机器学习模型位于本地,则可将本地的机器学习模型按照其定义后的输入属性加载到分配到分析任务的分析引擎上进行执行,执行的结果按照机器学习模型定义后的输出属性输出到下一操作模块或作为最终分析结果输出;若被调用的机器学习模型位于云平台,则可通过构造访问相应云服务供应商的请求,按照其定义后的输入属性调用云平台的机器学习模型,从云平台返回的结果按照机器学习模型定义后的输出属性输出到下一操作模块或作为最终分析结果输出。分析引擎执行完分析任务后输出最终分析结果。

作为本发明的优选实施方式,可将分析任务的执行状态和/或分析任务的执行结果等存储于存储器中。作为一种实施方式,用于存储执行状态的存储器可以是核心控制器、分析引擎的组成部分,亦可以为独立的存储器(例如为独立的数据仓库)。对执行状态进行存储可便于用户对执行状态进行查询。作为一种实施方式,用于存储执行结果的存储器可以是分析引擎的组成部分,亦可以为独立的存储器(例如为独立的数据仓库)。对执行结果进行存储,以便之后具有同样的用户需求时,用户可通过查询该执行结果来考虑是否直接调用已有的垂直应用解决方案。

作为本发明的优选实施方式,核心控制器可设置管理界面,以使用户可通过管理界面对分析引擎执行管理操作。作为一种实施方式,管理操作可包括以下(a)至(d)项中的任一项或任几项:(a)查询分析任务的执行状态;(b)停止分析任务;(c)删除分析任务;(d)查看分析引擎的当前状态。

作为优选实施方式,本发明还可包括用于从云计算平台调用机器学习模型的接口模块,从而可使用该接口模块将位于云或平台服务提供商所提供的云计算平台(而非位于本地)的具有人工智能分析功能的机器学习模型链接和/或编排到构建的工作流中作为垂直解决方案,这将极大地促进与其它人工智能分析服务提供商的合作与协作。

此外,由于对机器学习模型进行训练可提高其准确性和性能,作为优选实施方式,本发明还可包括用于供定义属性之前的机器学习模型训练的标注工具,由此用户能够对其需求场景下的原始数据(如原始视频、音频、图像、语音、文本等)进行标注,以方便用户对应用于工作流中的机器学习模型进行增强的再训练,提高针对用户需求的分析处理性能。具体地说,对于用于链接和/或编排以完成特定用户需求的工作流的机器学习模型,用户可以调用内置的标注工具对来自用户的特定的原始数据(如原始视频、音频、图像、语音、文本等)进行标注,并用这些标注后的数据来对相应的机器学习模型进行增强训练,从而使得该机器学习模型对于其应用需求得到优化。

基于机器学习模型的多元数据分析是IT行业的一个新趋势,到2023年,仅中国的人工智能市场规模就将迅速增长至979亿美元。目前,已经有许多大型人工智能服务平台以及新兴公司提供的平台投入运营。然而,可用的服务平台与用户的需求之间存在巨大的缺口:垂直领域解决方案和系统集成商都需要进行定制。而且,由于交付周期长且性能不确定,因此价格昂贵。不仅如此,所有流行的边缘到云的人工智能分析平台仅包含人工智能分析模型,例如人脸识别、对象跟踪和姿势识别,以及用于用户接口的API。它们都不具备垂直解决方案的定制和自动化构建能力。本发明垂直解决方案集成器是一项突破性技术,它可以用户自定义需求并自己进行定制操作来实现垂直解决方案的自动定制,从而填补这一空白。本发明首次在机器学习模型的集成和运行中应用工作流,使人工智能分析垂直解决方案不再依赖繁琐和易错的代码编程,即便是不懂代码编程的用户也能够方便地通过编写配置文件链接和编排不同的操作模块而形成工作流来实现人工智能分析的应用需求,或者甚至不用编写配置文件而通过图形用户界面拖拉满足操作模块而形成工作流来实现人工智能分析的应用需求,由此,不仅可实现由用户自己进行垂直解决方案的定制操作,而且同时实现了由用户自定义需求,解决了自人工智能分析应用诞生以来人们一直期待解决但始终未能获得成功的技术难题。相对于现有技术,应用本发明获得解决方案价格便宜,可扩展,可靠并且具有即时交付和高性能的特点。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号