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

用于视觉数据的算法解析、数据清洗及回调的能力平台的制作方法

2022-07-30 13:46:47 来源:中国专利 TAG:


1.本发明属于人工智能技术领域,涉及一种用于图片和视频数据的算法解析能力平台。


背景技术:

2.在智慧城市建设中,大数据发挥着重要作用,根据以往的智慧城市建设的经验,由于缺少统一的开发管理平台,只能独立建设各个城市应用,从而导致各个城市应用之间存在数据壁垒、应用壁垒问题,形成大量信息孤岛,无法发挥大数据的作用和价值。在构建统一的开发管理平台的过程中,往往会涉及到大量不同的服务,不同的服务采用的算法类型五花八门,不尽相同,同时不同类型算法的运行环境复杂,进而在对来自不同服务的数据进行处理时,难以进行统一的处理,处理后的数据格式不统一,无法满足用户对数据的应用需求。
3.ai普惠化已成为主流趋势,多样化的能力正逐步在多个行业领域和场景落地应用,在面对如城市级多领域应用时,需要对海量资源进行管理与分配以同时满足海量用户的ai能力需求,ai能力中心以实现算法的统一整合、提供解析算力、解析结果的标准化输出为目的,致力于解决算法的统一管理、统一调用以及算法适配等问题,满足多样化的ai算能需求。


技术实现要素:

4.基于现有技术的现状,本发明的目的是提供一种用于视觉数据的算法解析、数据清洗及回调的能力平台,旨在解决以下技术问题:整合不同类型算法复杂的运行环境,避免不同环境导致算法部署的差异化问题;实现远程启动、停止算法程序;统一不同算法程序解析后的结构化数据格式;对外提供算法接口能力等。
5.为了解决本发明的技术问题,本发明提供的其中一种技术方案是:用于视觉数据的算法解析、数据清洗及回调的能力平台,该平台包括:算法程序部署模块:用于对算法程序进行容器化部署;算法调用模块:用于提供调用算法容器的接口,实现对算法容器的调用;数据清洗模块:用于对算法解析的结构化数据进行清洗,转成统一格式输出;算法参数处理模块:用于对各类型算参数进行处理,提供算法的默认参数。
6.作为本发明的一种优选方式,所述算法程序部署模块将算法程序进行docker镜像封装,以docker镜像的方式提供部署包。
7.进一步地,所述算法调用模块采用python开发的web接口封装docker的远程接口,用以实现算法容器的远程调用。
8.进一步地,所述的数据清洗模块对算法解析后的数据进行python脚本清洗,统一转成json格式输出。
9.进一步地,所述算法参数处理模块收集每个类型算法对外暴露的参数配置,将其
封装成大的数组集合,并赋值初始值,作为算法任务的默认参数,供用户使用。
10.进一步地, 所述算法参数处理模块根据算法调用模块接口接收到的用户参数,选择算法默认参数推送解析服务或者将接收到的参数进行重新清洗封装再推送。
11.进一步地,web接口检测用户传递的参数是否有关键字段符合默认参数数组中的字段;如果有,则遍历参数数组进行数值替换操作,使用用户传递的参数替换相应的默认参数,将更新后的算法参数数组作为整体的参数推送到算法服务进行任务解析;如果没有,则直接使用默认的参数数组进行算法任务解析。
12.本发明提供的另一种技术方案是一种智能设备,所述智能设备包含所述的能力平台。
13.本发明还提供一种用于视觉数据的算法解析、数据清洗及回调的方法,该方法包括:用户将创建好的视觉数据解析任务发送至算法调用模块;算法调用模块的接口接收到任务请求后,调用接口,启动对应算法的docker容器;docker容器启动成功后,把任务添加到算法程序中,自动解析数据,并将解析后的结构化数据推送到数据清洗模块;数据清洗模块启动数据清洗脚本,将算法解析后的数据统一转成json格式推送到用户提供的接口中。
14.与现有技术相比,本发明具有的有益效果是:本发明为web应用开发者或者独立用户提供一套完整的识别调用算法并获取算法解析数据的能力平台。用户不需要对复杂的算法耗费太多的时间进行研究,只需要通过该平台的接口,按照指定的参数格式进行请求即可创建算法的解析任务,并接收到统一风格的算法解析结构化数据,用户拿到解析数据后可直接二次利用。
附图说明
15.图1为本发明实施例中用于视觉数据的算法解析、数据清洗及回调的能力平台的框架图;图2为本发明实施例中用于视觉数据的算法解析、数据清洗及回调的方法流程图。
具体实施方式
16.为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。附图中给出了本发明的较佳的实施例。但是,本发明可以以许多不同的形式来实现,并不限于本说明书所描述的实施例。相反地,提供这些实施例的目的是使对本发明公开内容的理解更加透彻全面。
17.实施例1 本实施例提供的用于视觉数据的算法解析、数据清洗及回调的能力平台,如图1所示,包括:(1)算法程序部署模块:该模块的功能是实现算法程序的部署和docker容器的启动。
18.算法作为一个独立运行的程序都有其特殊的运行环境,在实际业务场景中,可能
需要针对每台服务器的不同环境做适配处理,部署起来十分麻烦。因此,为了整合不同类型算法复杂的运行环境,避免不同环境导致算法部署的差异化问题,本发明采用docker容器化部署,通过编写dockerfile文件来封装docker镜像,实现对算法程序的docker镜像封装。
19.采用docker部署算法,不仅解决算法复杂多样的运行环境要求,同时能够提供接口启动算法程序的方式,实现平台动态调用算法。
20.(2)算法调用模块:该模块的主要功能是提供算法容器调用的接口。
21.算法能力平台需要对外提供服务的,这就要求平台能够自主启停算法和解析的任务推送。本发明采用的docker容器化部署,也是结合了这一特殊需求巧妙的解决了算法程序远程启动的需求。docker有自己的remote api(远程接口)服务,基于http接口,完全可以实现docker算法程序启停的接口化。本发明通过python编程语言,对docker的远程接口进行封装,web应用层只需要把算法启动命令行参数(python fastapi docker-api)post到python接口,就可以实现对应算法程序的启动和停止操作。
22.python采用高性能的异步框架fastapi开发出一套web接口,该接口的主要功能是封装docker远程接口,实现容器操作:1) 根据镜像名称拉取远程仓库镜像文件到本地;2) 推送本地镜像文件至远程仓库;3) 导入本地镜像包;4) 镜像打标签;5) 启动容器、停止容器、重启容器;6) 获取容器状态。
23.通过上述接口,可以在web层通过接口实现算法镜像文件的上传和启动,从而达到动态调度算法的目的。
24.(3)数据清洗模块:该模块的主要功能是对算法解析的结构化数据进行清洗处理,统一数据格式。
25.不同类型算法解析后的数据格式和内容均有所不同,例如:算法解析后获得的数据,一般包括但不限于图片流,视频流,json数据。第三方开发者在对于结构化数据的二次应用处理上存在很大的代码冗余,很大程度上会出现定制开发处理的情况。基于此,本发明采用python首先创建一个接口服务用于监听接收算法解析服务推送的解析数据,在接收到数据后,对数据进行清洗,将图片流和视频流数据全部转码处理成base64编码,全部转成json格式输出,最后生成一个大的字典数据类型,再以json的形式推送给调用者。这样固定住各个算法回调的数据格式,便于调用者后续的数据二次开发处理。
26.比如算法解析一张车辆卡口的抓拍图,会返回各个类型目标的信息,比如汽车目标,行人目标,二轮车目标,三轮车目标,人脸目标等。这些信息全部都是集成在一个庞大的json字符串内,而且其中还有各个目标图片的二进制流数据,这就导致了数据的可读性太差。但是经过python脚本的清洗,把数据分类分层级的显示,图片流数据直接存到服务器生成一个图片链接直接返回,这就大大简化了后续数据的二次开发。
27.(4)算法参数处理模块:该模块的主要功能是提供算法的通用公共配置参数,即默认参数;同时接收第三方接口传递的算法参数。
28.算法程序是个很复杂的应用程序,其中之一在于其复杂且多的参数配置,对于非
开发人员或普通用户来说要理解各个算法的详细参数配置是非常困难的,这在主观情绪上就降低了平台实用性和推广性。另一方面来说,用户只想看到解析结果,并不在意每个参数的详细配置情况。因此,本发明的平台提供算法的通用公共配置参数,即默认参数(算法理论上的最优参数配置),同时平台还能接收来自第三方接口传递的算法参数,二者是或的关系。
29.对算法参数的处理包括:首先收集每个类型算法对外暴露的参数配置,将其封装成大的数组集合,并赋值初始值,作为算法任务的默认参数。
30.web在创建算法解析任务接口后,检测接口接收的参数是否有关键字段符合算法参数数组中的字段,如果有,则遍历默认参数数组用用户传递的参数进行数值替换操作,最后将更新后的算法参数数组作为整体的参数推送到算法服务进行任务解析。如果web接口没有检测到算法参数的关键字段,则说明调用者没有给出相应的参数要求,那么就可以直接使用默认的参数数组进行算法任务创建。
31.对于普通用户,不传参数即表示使用平台提供的算法默认参数进行解析。对于开发者,可结合实际应用场景,对算法每一项参数进行优化调节,并将优化后的参数打包传递给平台对应的算法接口,平台接收到参数后会进行参数重新清洗并推送解析任务以达到最优的效果。
32.实施例2 本实施例提供一种用于视觉数据的算法解析、数据清洗及回调方法,以图片数据为例进行说明,流程如图2所示,具体过程和步骤如下:第一步,用户准备图片数据和一个接收数据的接口(支持tcp/udp协议)。
33.第二步,用户根据实际场景选择对应的算法,每类算法有唯一标识;第三步,用户创建解析任务,该任务携带算法标识和图片链接组装好参数信息,推送到对应的算法调用接口;第四步,算法调用接口接收到任务请求后,调用python接口,启动对应算法的docker容器,启动成功后,把任务添加到算法程序中,算法自动把解析数据,并将解析数据推送到数据清洗的接口脚本中;第五步,启动数据清洗脚本,接收算法解析的数据,清洗完毕后,把数据以json的形式推送到用户提供的接口中。
再多了解一些

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

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

相关文献