CN113568666B - 图像的处理方法、装置、存储介质和处理器 - Google Patents

图像的处理方法、装置、存储介质和处理器 Download PDF

Info

Publication number
CN113568666B
CN113568666B CN202110633244.3A CN202110633244A CN113568666B CN 113568666 B CN113568666 B CN 113568666B CN 202110633244 A CN202110633244 A CN 202110633244A CN 113568666 B CN113568666 B CN 113568666B
Authority
CN
China
Prior art keywords
target
module
configuration file
image
input data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110633244.3A
Other languages
English (en)
Other versions
CN113568666A (zh
Inventor
陈想
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Innovation Co
Original Assignee
Alibaba Innovation Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Innovation Co filed Critical Alibaba Innovation Co
Priority to CN202110633244.3A priority Critical patent/CN113568666B/zh
Publication of CN113568666A publication Critical patent/CN113568666A/zh
Application granted granted Critical
Publication of CN113568666B publication Critical patent/CN113568666B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Processing (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种图像的处理方法、装置、存储介质和处理器。其中,该方法包括:获取图像处理任务对应的待处理目标图像和配置文件,其中,配置文件用于从多个功能模块中确定出处理图像处理任务需要调用的目标功能模块;读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;根据配置文件调用目标功能模块构成的算法,对目标图像进行处理,以执行图像处理任务。本发明解决了现有技术中需要根据不同的视觉识别场景进行定制化的开发,导致视觉识别的效率较低的技术问题。

Description

图像的处理方法、装置、存储介质和处理器
技术领域
本发明涉及图像处理领域,具体而言,涉及一种图像的处理方法、装置、存储介质和处理器。
背景技术
计算机视觉目前在很多领域都具有广泛的应用,但不同应用场景下的算法方案差异较大,从而导致算法的处理流程所使用到的视觉算法类型都会有区别。
网络前向推理框架仅能用于网络在GPU上的前向推理,视觉算法开发者需要进行二次开发。在每个不同的应用场景中,由于算法方案的差异,在算法部署过程都需要进行定制化的代码开发、并行优化、接口对接,从而带来大量且重复的开发和工作量。
针对现有技术中需要根据不同的视觉识别场景进行定制化的开发,导致视觉识别的效率较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种图像的处理方法、装置、存储介质和处理器,以至少解决现有技术中需要根据不同的视觉识别场景进行定制化的开发,导致视觉识别的效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种图像的处理方法,包括:获取图像处理任务对应的待处理目标图像和配置文件,其中,配置文件用于从多个功能模块中确定出处理图像处理任务需要调用的目标功能模块;读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;根据配置文件调用目标功能模块构成的算法,对目标图像进行处理,以执行图像处理任务。
根据本发明实施例的另一方面,还提供了一种图像的处理方法,包括:服务器接收客户端发送的图像处理任务,图像处理任务包括:待处理目标图像和配置文件,其中,配置文件用于从多个功能模块中确定出处理图像处理任务需要调用的目标功能模块;服务器读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;服务器根据配置文件调用目标功能模块构成的算法,对目标图像进行处理;服务器将目标图像的处理结果返回至客户端。
根据本发明实施例的另一方面,还提供了一种图像的处理方法,包括:接收用于执行质检任务的图像处理指令,其中,图像处理指令包括:待处理的产品图像和配置文件,配置文件用于确定多个功能模块中质检任务需要调用的目标功能模块;读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;根据配置文件调用目标功能模块构成的算法,对产品图像进行处理,得到产品的属性信息;根据产品的属性信息确定产品的质检结果。
根据本发明实施例的另一方面,还提供了一种图像的处理方法,包括:接收用于疾病识别任务的图像处理指令,其中,图像处理指令包括:待处理的医疗影像和配置文件,配置文件用于确定多个功能模块中疾病识别任务需要调用的目标功能模块;读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;根据配置文件调用目标功能模块构成的算法,对医疗影像进行处理,以执行疾病识别任务。
根据本发明实施例的另一方面,还提供了一种图像的处理方法,包括:接收用于搜索任务的图像处理指令,其中,图像处理指令包括:待搜索的产品图像和配置文件,配置文件用于确定多个功能模块中搜索任务需要调用的目标功能模块;读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;根据配置文件调用目标功能模块构成的算法,对搜索任务进行处理,以执行搜索任务。
在本发明实施例中,获取图像处理任务对应的待处理目标图像和配置文件,其中,配置文件用于从多个功能模块中确定出处理图像处理任务需要调用的目标功能模块;读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;根据配置文件调用目标功能模块构成的算法,对目标图像进行处理,以执行图像处理任务。由此可知,本申请上述实施例基于一种模块化可自由组合的部署框架,将算法分解为功能模块,各功能模块间可以灵活组合,且能够根据模块间的组合关系自动进行并行化计算。在执行图像处理任务时,基于图像处理任务选择出目标功能模块,并基于配置文件对目标功能模块进行自由组合,从而能够执行不同的图像处理任务,而无需根据图像处理任务进行定制化开发,解决了现有技术中需要根据不同的视觉识别场景进行定制化的开发,导致视觉识别的效率较低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了一种用于实现图像的处理方法的计算设备(或移动设备)的硬件结构框图;
图2是根据本申请实施例1的一张图像的处理方法的流程图;
图3是根据本申请实施例1的一种组合部署框架的示意图;
图4是工业质检领域的图像处理任务的算法示意图;
图5是根据本申请实施例1的一种图4中算法的配置文件的示意图;
图6是根据本申请实施例的一种同步并行的示意图;
图7是根据本申请实施例的一种异步并行的示意图;
图8是根据本申请实施例2的一种图像的处理方法的流程图;
图9是根据本申请实施例3的一种图像的处理方法的流程图;
图10是根据本申请实施例4的一种图像的处理方法的流程图;
图11是根据本申请实施例5的一种图像的处理方法的流程图;
图12是根据本申请实施例6的一种图像的处理装置的示意图;
图13是根据本申请实施例7的一种图像的处理装置的示意图;
图14是根据本申请实施例8的一种图像的处理装置的示意图;
图15是根据本申请实施例9的一种图像的处理装置的示意图;
图16是根据本申请实施例10的一种图像的处理装置的示意图;
图17是根据本发明实施例11的一种计算设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,还提供了一种图像的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算设备或者类似的运算装置中执行。图1示出了一种用于实现图像的处理方法的计算设备(或移动设备)的硬件结构框图。如图1所示,计算设备10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的图像的处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的漏洞检测方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备10的通信供应商提供的无线网络。在一个实例中,传输模块106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,本申请提供了如图2所示的图像的处理方法。图2是根据本申请实施例1的一张图像的处理方法的流程图。
步骤S21,获取图像处理任务对应的待处理目标图像和配置文件,其中,配置文件用于从多个功能模块中确定出处理图像处理任务需要调用的目标功能模块。
具体的,上述图像处理任务与实际的功能相关,例如,可以是工业质检任务,可以是交通监测任务、还可以是信息检索功能等。相应的,上述待处理的目标图像可以是待进行质检的产品图像,交通视频以及待搜索的图像。
需要说明的是,获取的待处理的目标图像可以是单独的图像,还可以是多个图像构成的视频内容。在接收到的是视频内容的情况下,可以从视频内容中抽取视频帧,将抽取的视频帧作为目标图像执行下述步骤。
上述功能模块可以是预先生成的组合部署框架的功能模块。其将将各算法进行模块化分解得到多种功能模块。图3是根据本申请实施例1的一种组合部署框架的示意图,作为一种可选的实施例,结合图3所示,低层模块是Xcnn、TensorRT以及OnnxRuntime等网络前向推理框架,在此基础上,使用C/C++和Python进行二次开发,将计算机视觉算法进行模块化,形成各个功能模块,例如:图像预处理模块、批处理模块、检测算法模块、分割算法模块、分类算法模块、算法后处理模块以及功能后处理模块等多个模块化的算法操作(OP,Operation)。通过使用类似json格式的数据结构作为OP的输入和输出,保证了不同OP间的灵活组合。
上述配置文件是与图像处理任务对应的配置文件,可以通过生成配置文件来调整图像处理任务。预先生成的组合部署框架具有多种算法框架,通过配置文件,可以从功能模块中选择出目标功能模块进行自由组合。
步骤S23,读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点。
具体的,上述配置文件由每个目标功能模块对应的配置信息构成。上述目标功能模块的类型用于描述目标功能模块的功能,从而确定当前目标功能模块。输入数据节点用于描述当前目标功能模块的输入数据,输出数据节点用于描述目标功能模块的输出数据。
需要注意的的是,在上述方案中,配置信息并不描述各个目标功能模块之间连接关系,而是描述目标功能模块的输入数据和输出数据,从而使得各个目标功能模块的运行实际是独立的,并且可以实现功能模块自动的并行。
图4是工业质检领域的图像处理任务的算法示意图,图5是根据本申请实施例1的一种图4中算法的配置文件的示意图。在一种可选的实施例中,首先结合图4所示,上图所示为工业质检领域的算法示例,将待检测产品的产品图像作为输入的目标图像,对目标图像先进行尺寸归一化(Resize),然后同时输入检测(Detect)和分割(Segment)网络,分别进行目标的检测和语义分割。通过检测结果在原始图像数据上进行抠图(Crop)得到目标局部图像,同时在分割结果图上抠图得到目标局部语义分割图,接着基于目标局部图像和局部分割图进行目标属性(Attribue)的计算,得到待检测产品的产品参数(长度、面积、对比度等),最后将检测结果的尺寸按照Resize的参数映射到归一化前的原图尺寸。
上述算法流程中,需要调用的目标算法模块包括:数据输入模块、尺寸归一化模块、检测算法模块、分割算法模块、抠图算法模块(根据检测结果抠图以及根据分割结果抠图)以及输出模块。
算法流程可以分解为8个模块,这些功能模块使用上如图5所示的json配置文件即可完成组合。对于配置文件中的每个模块,type表示了模块的类型,bottoms和tops分别表示模块的输入和输出的数据节点,通过数据节点的关联即可实现模块的连接和组合。
结合图5所示,其定义了调用的每一个目标功能模块的配置信息。以数据输入模块(Data)为例,其数据输入节点bottoms为“data_list”,其数据输出节点tops为“input_images”,其类型type为“COpBatchCreator”。再以分割算法模块(Segment)为例,其数据输入节点bottoms为“resized_images”,其数据输出节点tops为“segment_results”,其类型type为“CFcnSegment”。
再结合图5可以看出,分割算法模块(Segment)的数据输入节点“resized_images”正是尺寸归一化模块(Resize)的输出数据节点,也即分割算法模块(Segment)根据尺寸归一化模块(Resize)的输出进行运算。正是基于配置信息所描述的这样的信息,使得运算过程中能够将多种功能模块连接,从而使得各种功能模块可以自由组合。
步骤S25,根据配置文件调用目标功能模块构成的算法,对目标图像进行处理,以执行图像处理任务。
在上述方案中,GPU通过读取配置文件,获得各个目标功能模块的类型信息、输入数据节点以及输出数据节点,根据这些信息即可将组合部署框架中的目标功能模块构成用于执行当前图像处理任务的算法。
本申请上述实施例获取图像处理任务对应的待处理目标图像和配置文件,其中,配置文件用于从多个功能模块中确定出处理图像处理任务需要调用的目标功能模块;读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;根据配置文件调用目标功能模块构成的算法,对目标图像进行处理,以执行图像处理任务。由此可知,本申请上述实施例基于一种模块化可自由组合的部署框架,将算法分解为功能模块,各功能模块间可以灵活组合,且能够根据模块间的组合关系自动进行并行化计算。在执行图像处理任务时,基于图像处理任务选择出目标功能模块,并基于配置文件对目标功能模块进行自由组合,从而能够执行不同的图像处理任务,而无需根据图像处理任务进行定制化开发,解决了现有技术中需要根据不同的视觉识别场景进行定制化的开发,导致视觉识别的效率较低的技术问题。
作为一种可选的实施例,每个功能模块独立监听指定存储区域,判断指定存储区域中是否具有输入数据节点所指示的输入数据,在指定存储区域中具有输入数据节点所指示的输入数据的情况下,功能模块根据输入数据启动执行,并将输出数据节点所指示的输出数据存储至指定存储区域。
上述方案中,预先在内存中设置一指定存储区域,功能模块的输出数据均存储至该指定存储区域。在运行阶段,框架中采用各功能模块独立监听数据的方式运行,也即,各个功能模块之间并不具有连接关系,而是每个功能模块独立监听指定存储区域,当监听到指定存储区出现其数据输入节点所指示的输入数据时,获取该数据输入进行运算。通过这样的方式,能够保证可并行执行的功能模块自动并行处理,提升运行效率。
仍在图4和图5的示例中,以检测算法模块(Detect)和分割算法模块(Segment)为例,检测算法模块(Detect)和分割算法模块(Segment)的数据输入节点均为尺寸归一化模块(Resize)的输出数据“resized_images”。当尺寸归一化模块(Resize)执行完成输出“resized_images”后将其存储至指定存储区域,检测算法模块(Detect)和分割算法模块(Segment)持续监听指定存储区域,当监听到指定存储区域出现“resized_images”时,获取“resized_images”运行,从而使得检测算法模块(Detect)和分割算法模块(Segment)无需设置就可以自动进行并行处理。
在组合成一个整体算法的各个功能模块中,存在有些模块是可以并行执行的,本申请通过各模块独立输入数据的方式,自动实现了模块的并行化执行。例如,图4中虚线内的部分,在执行过程中Detect+Crop和Segment+Crop可以自动并行执行。
作为一种可选的实施例,每个功能模块的输出数据的格式相同。
上述方案中在数据对接方面,功能模块的输出数据可以均为标准json的字符串,从而保证不同算法模块之间的数据结构能够保持一致。对于功能模块之间的算法差异,可以通过json中的不同字段进行适配。
例如,对于执行分类任务的功能模块,其输出的数据用于表示输入图像的分类,而对于执行识别任务的功能模块,其输出的数据还包括用于表示识别出的对象在输入图像中的位置的坐标信息,因此不同的功能模块的输出数据具有一定差异,基于这一情况,仍然保持全部功能模块的输出数据均为统一的标准json的字符串,而通过json中的不同字段对不同功能模块进行适配即可。
作为一种可选的实施例,图像处理任务具有多个待处理的目标图像,根据配置文件调用目标功能模块构成的算法,对目标图像进行处理,以执行图像处理任务,包括:将多个目标图像同时输入至算法,通过算法中的目标功能模块执行图像处理任务,其中,至少一个目标功能模块通过Batch加速对多个目标图像进行并行处理。
具体的,上述Batch加速用于表示,通过每次向送入功能模块多个目标图像,使得功能模块能够对多个目标图像进行并行处理,进而提高处理速度。
需要说明的是,目标功能模块的类型较多,并非所有的目标功能模块都能够进行Batch加速,而仅是对于网络推理部分(即在TensorRT、OnnxRuntime、Xcnn等网络前向推理框架的基础上使用C/C++和Python等语言进行二次开发得到的功能模块)可以使用Batch加速,例如,图像分割模块、分类模块等。
在上述方案中,对于算法对应的一个算法实例,可以支持多张目标图像同步输入,网络推理部分可以在同一个GPU硬件上使用Batch加速实现并行加速。
作为一种可选的实施例,配置信息还包括:算法对应的算法实例数量和目标功能模块对应的最大单次训练的样本数量。
具体的,一个算法可以对应有多个算法实例,多个算法实例可以部署在一个或多个GPU上。通过在配置信息中设置算法实例数量,可以为图像处理任务生成多个算法实例,目标功能模块对应的最大单词训练样本数量接最大BatchSize。
作为一种可选的实施例,算法对应多个算法实例,图像处理任务具有多个待处理的目标图像,根据配置文件调用目标功能模块构成的算法,对目标图像进行处理,以执行图像处理任务,包括:将多个目标图像按照算法实例数量分发至多个算法实例,其中,算法实例中的目标模块按照最大单次训练的样本数量并行执行图像处理任务,其中,每个目标功能模块通过Batch加速对多个目标图像进行并行处理。
上述方案可以实现多个算法实例的同步并行,对于GPU数量较多的场景,可以采用多个算法实例的方式实现并行加速。本实施例自动将目标图像按照算法实例进行分发,每个实例内部按照可支持最大BatchSize进行Batch加速,从而实现了多个层级的同步加速。实例数量、最大BatchSize的参数可以在配置文件中方便配置。
图6是根据本申请实施例的一种同步并行的示意图,结合图6所示,该示例中具有四个算法实例,每个算法实例均接收多个目标图像,由算法实例中目标功能模块按照最大BatchSize进行Batch加速,从而实现了同步并向处理,提高处理速度。
作为一种可选的实施例,算法对应多个算法实例,配置文件还包括异步调用信息,上述方法还包括:根据异步调用信息创建实例队列,其中,实例队列用于存放空闲的算法实例;通过实例队列对异步调用请求进行调度。
具体的,上述异步调用信息包括实例队列的长度,实例队列的长度用于确定该实例队列能够存放的算法实例的数量。
在读取到配置文件中的异步调用信息后,根据异步调用信息中的实例队列数量创建对应长度的实例队列。在接收到调用请求时,从实例队列中调用一个空闲的算法实例进行处理进行处理。当实例队列中的算法实例都在进行运算时,调用请求则需要进行等待。
在一种可选的实施例中,在交通领域,需要对路面交通的摄像头所采集的图像进行处理,由于每个路面交通的摄像头上传图像的时间并不是一致的,从而出现了对算法实例进行异步调用的情况。图7是根据本申请实施例的一种异步并行的示意图,结合图7所示,在这样的情况下,本实施例上述方案创建预设长度的实例队列,该实例队列用于存储空闲的算法实例(图7中的701、702、703),当接收到调用请求时,从实例队列中取出空闲的算法时候进行运算,当再次接收到调用请求时,仍然从实例队列中取出空闲的算法实例进行运算,直至实例队列中已不存在算法实例,此时调用请求需要进行等待。
上述异步并行方案在一对多(一个服务器对多个图像采集设备)的中心化部署方案中,能够实现算法实例的异步并行,对于需要异步调用的算法,支持多实例的异步并行,根据配置文件中的设置,创建包含多个实例的队列,对于异步调用的请求自动进行调度,实现异步执行加速。
作为一种可选的实施例,功能模块外部通过多种类型的接口进行封装。
在一种可选的实施例中,可以使得每个功能模块的接口统一,上述多种类型可以包括:C/C++、Java、Python、HTTP等多种调用方式,通过对功能模块进行多种类型的接口封装,使得可以满足多种应用场景下的实际部署需求。
作为一种可选的实施例,功能模块开放允许被更改的指定函数,当指定函数被更改时,将更改指定函数的功能模块记录在配置文件中。
上述方案中,为了满足更多样性的图像处理需求,在一种可选的实施例中,可以在一些功能模块中开放一些运行进行修改的指定函数,用户可以根据需求对指定函数进行修改。被修改的功能模块需要记录在配置文件中。
本申请上述实施例将算法进行模块化分解,能够支持各个算法模块间的灵活组合,并且可以根据模块之前的组合关系进行自动的并行计算,且每个算法模块都可以支持数据并行、异步加速等加速方式,另外在数据和接口方面实现了统一完善的支持。
本发明可以达到的技术效果,对于不同的场景,基于本发明的算法框架,视觉算法开发者无需进行代码开发,只需要进行配置文件的修改和适配,即可实现不同场景下各种视觉算法方案的部署,部署的算法能够自动实现并行加速,能够支持多种对接方式。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
根据本发明实施例,还提供了一种图像的处理方法,图8是根据本申请实施例2的一种图像的处理方法的流程图,如图8所示,该方法包括:
步骤S81,服务器接收客户端发送的图像处理任务,图像处理任务包括:待处理目标图像和配置文件,其中,配置文件用于从多个功能模块中确定出处理图像处理任务需要调用的目标功能模块。
具体的,上述服务器可以是部署在远端的云服务器。用户可以通过客户端向服务器发送图像处理任务。一种可选的方式中,客户端可以通过预设的应用程序向云服务器发送图像处理任务,在另一种可选的实施例中,客户端可以通过浏览器在提供图像处理服务页面向云服务器发送图像处理任务。
上述图像处理任务与实际的功能相关,例如,可以是工业质检任务,可以是交通监测任务、还可以是信息检索功能等。相应的,上述待处理的目标图像可以是待进行质检的产品图像,交通视频以及待搜索的图像。
需要说明的是,获取的待处理的目标图像可以是单独的图像,还可以是多个图像构成的视频内容。在接收到的是视频内容的情况下,可以从视频内容中抽取视频帧,将抽取的视频帧作为目标图像执行下述步骤。
上述功能模块可以是预先生成的组合部署框架的功能模块。其将将各算法进行模块化分解得到多种功能模块。图3是根据本申请实施例1的一种组合部署框架的示意图,作为一种可选的实施例,结合图3所示,低层模块是Xcnn、TensorRT以及OnnxRuntime等网络前向推理框架,在此基础上,使用C/C++和Python进行二次开发,将计算机视觉算法进行模块化,形成各个功能模块,例如:图像预处理模块、批处理模块、检测算法模块、分割算法模块、分类算法模块、算法后处理模块以及功能后处理模块等多个模块化的算法操作(OP,Operation)。通过使用类似json格式的数据结构作为OP的输入和输出,保证了不同OP间的灵活组合。
上述配置文件是与图像处理任务对应的配置文件,可以通过生成配置文件来调整图像处理任务。预先生成的组合部署框架具有多种算法框架,通过配置文件,可以从功能模块中选择出目标功能模块进行自由组合。
步骤S83,服务器读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点。
具体的,上述配置文件由每个目标功能模块对应的配置信息构成。上述目标功能模块的类型用于描述目标功能模块的功能,从而确定当前目标功能模块。输入数据节点用于描述当前目标功能模块的输入数据,输出数据节点用于描述目标功能模块的输出数据。
需要注意的的是,在上述方案中,配置信息并不描述各个目标功能模块之间连接关系,而是描述目标功能模块的输入数据和输出数据,从而使得各个目标功能模块的运行实际是独立的,并且可以实现功能模块自动的并行。
步骤S85,服务器根据配置文件调用目标功能模块构成的算法,对目标图像进行处理。
在上述方案中,GPU通过读取配置文件,获得各个目标功能模块的类型信息、输入数据节点以及输出数据节点,根据这些信息即可将组合部署框架中的目标功能模块构成用于执行当前图像处理任务的算法。
步骤S87,服务器将目标图像的处理结果返回至客户端。
在上述步骤中,服务器将处理结果返回给客户端。
本申请上述实施例服务器接收客户端发送的图像处理任务,图像处理任务包括:待处理目标图像和配置文件,其中,配置文件用于从多个功能模块中确定出处理图像处理任务需要调用的目标功能模块;服务器读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;服务器根据配置文件调用目标功能模块构成的算法,对目标图像进行处理;服务器将目标图像的处理结果返回至客户端。由此可知,本申请上述实施例基于一种模块化可自由组合的部署框架,将算法分解为功能模块,各功能模块间可以灵活组合,且能够根据模块间的组合关系自动进行并行化计算。在执行图像处理任务时,基于图像处理任务选择出目标功能模块,并基于配置文件对目标功能模块进行自由组合,从而能够执行不同的图像处理任务,而无需根据图像处理任务进行定制化开发,解决了现有技术中需要根据不同的视觉识别场景进行定制化的开发,导致视觉识别的效率较低的技术问题。
实施例3
根据本发明实施例,还提供了一种图像的处理方法,图9是根据本申请实施例3的一种图像的处理方法的流程图,如图9所示,该方法包括:
步骤S91,接收用于执行质检任务的图像处理指令,其中,图像处理指令包括:待处理的产品图像和配置文件,配置文件用于确定多个功能模块中质检任务需要调用的目标功能模块。
上述图像处理任务可以是工业质检任务。
需要说明的是,获取的待处理的产品图像可以是单独的图像,还可以是多个图像构成的视频内容。在接收到的是视频内容的情况下,可以从视频内容中抽取视频帧,将抽取的视频帧作为产品图像执行下述步骤。
上述功能模块可以是预先生成的组合部署框架的功能模块。其将将各算法进行模块化分解得到多种功能模块。图3是根据本申请实施例1的一种组合部署框架的示意图,作为一种可选的实施例,结合图3所示,低层模块是Xcnn、TensorRT以及OnnxRuntime等网络前向推理框架,在此基础上,使用C/C++和Python进行二次开发,将计算机视觉算法进行模块化,形成各个功能模块,例如:图像预处理模块、批处理模块、检测算法模块、分割算法模块、分类算法模块、算法后处理模块以及功能后处理模块等多个模块化的算法操作(OP,Operation)。通过使用类似json格式的数据结构作为OP的输入和输出,保证了不同OP间的灵活组合。
上述配置文件是与图像处理任务对应的配置文件,可以通过生成配置文件来调整图像处理任务。预先生成的组合部署框架具有多种算法框架,通过配置文件,可以从功能模块中选择出目标功能模块进行自由组合。
步骤S93,读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点。
具体的,上述配置文件由每个目标功能模块对应的配置信息构成。上述目标功能模块的类型用于描述目标功能模块的功能,从而确定当前目标功能模块。输入数据节点用于描述当前目标功能模块的输入数据,输出数据节点用于描述目标功能模块的输出数据。
需要注意的的是,在上述方案中,配置信息并不描述各个目标功能模块之间连接关系,而是描述目标功能模块的输入数据和输出数据,从而使得各个目标功能模块的运行实际是独立的,并且可以实现功能模块自动的并行。
步骤S95,根据配置文件调用目标功能模块构成的算法,对产品图像进行处理,得到产品的属性信息。
在上述方案中,GPU通过读取配置文件,获得各个目标功能模块的类型信息、输入数据节点以及输出数据节点,根据这些信息即可将组合部署框架中的目标功能模块构成用于执行当前图像处理任务的算法。
上述属性信息可以是产品在指定部位的尺寸信息等。
步骤S97,根据产品的属性信息确定产品的质检结果。
在上述步骤中,即可根据产品的属性信息确定产品的质检结果。
由上可知,本申请上述实施例接收用于执行质检任务的图像处理指令,其中,图像处理指令包括:待处理的产品图像和配置文件,配置文件用于确定多个功能模块中质检任务需要调用的目标功能模块;读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;根据配置文件调用目标功能模块构成的算法,对产品图像进行处理,得到产品的属性信息;根据产品的属性信息确定产品的质检结果。由此可知,本申请上述实施例基于一种模块化可自由组合的部署框架,将算法分解为功能模块,各功能模块间可以灵活组合,且能够根据模块间的组合关系自动进行并行化计算。在执行图像处理任务时,基于图像处理任务选择出目标功能模块,并基于配置文件对目标功能模块进行自由组合,从而能够执行不同的图像处理任务,而无需根据图像处理任务进行定制化开发,解决了现有技术中需要根据不同的视觉识别场景进行定制化的开发,导致视觉识别的效率较低的技术问题。
实施例4
根据本发明实施例,还提供了一种图像的处理方法,图10是根据本申请实施例4的一种图像的处理方法的流程图,如图10所示,该方法包括:
步骤S101,接收用于疾病识别任务的图像处理指令,其中,图像处理指令包括:待处理的医疗影像和配置文件,配置文件用于确定多个功能模块中疾病识别任务需要调用的目标功能模块。
具体的,上述待处理的医疗影像可以是血管摄影、心血管造影、电脑断层扫描以及核磁共振成像等。疾病识别任务用于基于医疗影像确定疾病。
需要说明的是,获取的待处理的待处理的医疗影像可以是单独的图像,还可以是多个图像构成的视频内容。在接收到的是视频内容的情况下,可以从视频内容中抽取视频帧,将抽取的视频帧作为待处理的医疗影像执行下述步骤。
上述功能模块可以是预先生成的组合部署框架的功能模块。其将将各算法进行模块化分解得到多种功能模块。图3是根据本申请实施例1的一种组合部署框架的示意图,作为一种可选的实施例,结合图3所示,低层模块是Xcnn、TensorRT以及OnnxRuntime等网络前向推理框架,在此基础上,使用C/C++和Python进行二次开发,将计算机视觉算法进行模块化,形成各个功能模块,例如:图像预处理模块、批处理模块、检测算法模块、分割算法模块、分类算法模块、算法后处理模块以及功能后处理模块等多个模块化的算法操作(OP,Operation)。通过使用类似json格式的数据结构作为OP的输入和输出,保证了不同OP间的灵活组合。
上述配置文件是与疾病识别任务对应的配置文件,可以通过生成配置文件来调整疾病识别任务。预先生成的组合部署框架具有多种算法框架,通过配置文件,可以从功能模块中选择出目标功能模块进行自由组合。
步骤S103,读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点。
具体的,上述配置文件由每个目标功能模块对应的配置信息构成。上述目标功能模块的类型用于描述目标功能模块的功能,从而确定当前目标功能模块。输入数据节点用于描述当前目标功能模块的输入数据,输出数据节点用于描述目标功能模块的输出数据。
需要注意的的是,在上述方案中,配置信息并不描述各个目标功能模块之间连接关系,而是描述目标功能模块的输入数据和输出数据,从而使得各个目标功能模块的运行实际是独立的,并且可以实现功能模块自动的并行。
步骤S105,根据配置文件调用目标功能模块构成的算法,对医疗影像进行处理,以执行疾病识别任务。
在上述方案中,GPU通过读取配置文件,获得各个目标功能模块的类型信息、输入数据节点以及输出数据节点,根据这些信息即可将组合部署框架中的目标功能模块构成用于执行当前疾病识别任务的算法。
实施例5
根据本发明实施例,还提供了一种图像的处理方法,图11是根据本申请实施例5的一种图像的处理方法的流程图,如图11所示,该方法包括:
步骤S111,接收用于搜索任务的图像处理指令,其中,图像处理指令包括:待搜索的产品图像和配置文件,配置文件用于确定多个功能模块中搜索任务需要调用的目标功能模块。
具体的,上述产品图像可以是待搜索的产品的图像,例如,待在电商平台上进行搜索的服装图像等。
需要说明的是,获取的待处理的待处理的产品图像可以是单独的图像,还可以是多个图像构成的视频内容。在接收到的是视频内容的情况下,可以从视频内容中抽取视频帧,将抽取的视频帧作为待处理的产品图像执行下述步骤。
上述功能模块可以是预先生成的组合部署框架的功能模块。其将将各算法进行模块化分解得到多种功能模块。图3是根据本申请实施例1的一种组合部署框架的示意图,作为一种可选的实施例,结合图3所示,低层模块是Xcnn、TensorRT以及OnnxRuntime等网络前向推理框架,在此基础上,使用C/C++和Python进行二次开发,将计算机视觉算法进行模块化,形成各个功能模块,例如:图像预处理模块、批处理模块、检测算法模块、分割算法模块、分类算法模块、算法后处理模块以及功能后处理模块等多个模块化的算法操作(OP,Operation)。通过使用类似json格式的数据结构作为OP的输入和输出,保证了不同OP间的灵活组合。
上述配置文件是与搜索任务对应的配置文件,可以通过生成配置文件来调整搜索任务。预先生成的组合部署框架具有多种算法框架,通过配置文件,可以从功能模块中选择出目标功能模块进行自由组合。
步骤S113,读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点。
具体的,上述配置文件由每个目标功能模块对应的配置信息构成。上述目标功能模块的类型用于描述目标功能模块的功能,从而确定当前目标功能模块。输入数据节点用于描述当前目标功能模块的输入数据,输出数据节点用于描述目标功能模块的输出数据。
需要注意的的是,在上述方案中,配置信息并不描述各个目标功能模块之间连接关系,而是描述目标功能模块的输入数据和输出数据,从而使得各个目标功能模块的运行实际是独立的,并且可以实现功能模块自动的并行。
步骤S115,根据配置文件调用目标功能模块构成的算法,对搜索任务进行处理,以执行搜索任务。
在上述方案中,GPU通过读取配置文件,获得各个目标功能模块的类型信息、输入数据节点以及输出数据节点,根据这些信息即可将组合部署框架中的目标功能模块构成用于执行当前搜索任务的算法。
实施例6
根据本发明实施例,还提供了一种用于实施上述实施例1的一种图像的处理装置,图12是根据本申请实施例6的一种图像的处理装置的示意图,结合图12所示,该装置1200包括:
获取模块1202,用于获取图像处理任务对应的待处理目标图像和配置文件,其中,配置文件用于从多个功能模块中确定出处理图像处理任务需要调用的目标功能模块;
读取模块1204,用于读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;
调用模块1206,用于根据配置文件调用目标功能模块构成的算法,对目标图像进行处理,以执行图像处理任务。
此处需要说明的是,上述获取模块1202、读取模块1204和调用模块1206对应于实施例1中的步骤S21至步骤S25,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算设备10中。
作为一种可选的实施例,每个功能模块独立监听指定存储区域,判断指定存储区域中是否具有输入数据节点所指示的输入数据,在指定存储区域中具有输入数据节点所指示的输入数据的情况下,功能模块根据输入数据启动执行,并将输出数据节点所指示的输出数据存储至指定存储区域。
作为一种可选的实施例,每个功能模块的输出数据的格式相同。
作为一种可选的实施例,图像处理任务具有多个待处理的目标图像,调用模块包括:输入子模块,用于将多个目标图像同时输入至算法,通过算法中的目标功能模块执行图像处理任务,其中,至少一个目标功能模块通过Batch加速对多个目标图像进行并行处理。
作为一种可选的实施例,配置信息还包括:算法对应的算法实例数量和目标功能模块对应的最大单次训练的样本数量。
作为一种可选的实施例,算法对应多个算法实例,图像处理任务具有多个待处理的目标图像,调用模块包括:分发子模块,用于将多个目标图像按照算法实例数量分发至多个算法实例,其中,算法实例中的目标模块按照最大单次训练的样本数量并行执行图像处理任务,其中,每个目标功能模块通过Batch加速对多个目标图像进行并行处理。
作为一种可选的实施例,算法对应多个算法实例,配置文件还包括异步调用信息,上述装置还包括:创建模块,用于根据异步调用信息创建实例队列,其中,实例队列用于存放空闲的算法实例;调用模块,用于通过实例队列对异步调用请求进行调度。
作为一种可选的实施例,功能模块外部通过多种类型的接口进行封装。
作为一种可选的实施例,功能模块开放允许被更改的指定函数,当指定函数被更改时,将更改指定函数的功能模块记录在配置文件中。
实施例7
根据本发明实施例,还提供了一种用于实施上述实施例2的一种图像的处理装置,图13是根据本申请实施例7的一种图像的处理装置的示意图,结合图13所示,该装置1300包括:
接收模块1302,用于接收用于执行质检任务的图像处理指令,其中,图像处理指令包括:待处理的产品图像和配置文件,配置文件用于确定多个功能模块中质检任务需要调用的目标功能模块;
读取模块1304,用于读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;
调用模块1306,用于根据配置文件调用目标功能模块构成的算法,对产品图像进行处理,得到产品的属性信息;
返回模块1308,用于根据产品的属性信息确定产品的质检结果。
此处需要说明的是,上述发送模块1302、读取模块1304、调用模块1306和返回模块1308对应于实施例2中的步骤S81至步骤S87,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算设备10中。
实施例8
根据本发明实施例,还提供了一种用于实施上述实施例3的一种图像的处理装置,图14是根据本申请实施例8的一种图像的处理装置的示意图,结合图14所示,该装置1400包括:
接收模块1402,用于接收用于疾病识别任务的图像处理指令,其中,图像处理指令包括:待处理的医疗影像和配置文件,配置文件用于确定多个功能模块中疾病识别任务需要调用的目标功能模块;
读取模块1404,用于读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;
调用模块1406,用于根据配置文件调用目标功能模块构成的算法,对医疗影像进行处理,以执行疾病识别任务。
此处需要说明的是,上述接收模块1402、读取模块1404和调用模块对应于实施例3中的步骤S91至步骤S95,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算设备10中。
实施例9
根据本发明实施例,还提供了一种用于实施上述实施例4的一种图像的处理装置,图15是根据本申请实施例9的一种图像的处理装置的示意图,结合图15所示,该装置1500包括:
接收模块1502,用于接收用于搜索任务的图像处理指令,其中,图像处理指令包括:待搜索的产品图像和配置文件,配置文件用于确定多个功能模块中搜索任务需要调用的目标功能模块;
读取模块1504,用于读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;
调用模块1506,用于根据配置文件调用目标功能模块构成的算法,对搜索任务进行处理,以执行搜索任务。
此处需要说明的是,上述接收模块1502、读取模块1504和调用模块1506对应于实施例4中的步骤S101至步骤S105,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算设备10中。
实施例10
根据本发明实施例,还提供了一种用于实施上述实施例5的一种图像的处理装置,图16是根据本申请实施例10的一种图像的处理装置的示意图,结合图16所示,该装置1600包括:
接收模块1602,用于接收用于搜索任务的图像处理指令,其中,图像处理指令包括:待搜索的产品图像和配置文件,配置文件用于确定多个功能模块中搜索任务需要调用的目标功能模块;
读取模块1604,用于读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;
调用模块1606,用于根据配置文件调用目标功能模块构成的算法,对搜索任务进行处理,以执行搜索任务。
此处需要说明的是,上述接收模块1602、读取模块1604和调用模块1606对应于实施例5中的步骤S111至步骤S115,三个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算设备10中。
实施例11
本发明的实施例可以提供一种计算设备,该计算设备可以是计算设备群中的任意一个计算设备设备。可选地,在本实施例中,上述计算设备也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算设备可以执行应用程序的漏洞检测方法中以下步骤的程序代码:获取图像处理任务对应的待处理目标图像和配置文件,其中,配置文件用于从多个功能模块中确定出处理图像处理任务需要调用的目标功能模块;读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;根据配置文件调用目标功能模块构成的算法,对目标图像进行处理,以执行图像处理任务。
可选地,图17是根据本发明实施例11的一种计算设备的结构框图。如图17所示,该计算设备A可以包括:一个或多个(图中仅示出一个)处理器1702、存储器1704、以外接设备1706。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的安全漏洞检测方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的系统漏洞攻击的检测方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端A。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取图像处理任务对应的待处理目标图像和配置文件,其中,配置文件用于从多个功能模块中确定出处理图像处理任务需要调用的目标功能模块;读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;根据配置文件调用目标功能模块构成的算法,对目标图像进行处理,以执行图像处理任务。
可选的,上述处理器还可以执行如下步骤的程序代码:每个功能模块独立监听指定存储区域,判断指定存储区域中是否具有输入数据节点所指示的输入数据,在指定存储区域中具有输入数据节点所指示的输入数据的情况下,功能模块根据输入数据启动执行,并将输出数据节点所指示的输出数据存储至指定存储区域。
可选的,上述处理器还可以执行如下步骤的程序代码:每个功能模块的输出数据的格式相同。
可选的,上述处理器还可以执行如下步骤的程序代码:图像处理任务具有多个待处理的目标图像,根据配置文件调用目标功能模块构成的算法,对目标图像进行处理,以执行图像处理任务,包括:将多个目标图像同时输入至算法,通过算法中的目标功能模块执行图像处理任务,其中,至少一个目标功能模块通过Batch加速对多个目标图像进行并行处理。
可选的,上述处理器还可以执行如下步骤的程序代码:配置信息还包括:算法对应的算法实例数量和目标功能模块对应的最大单次训练的样本数量。
可选的,上述处理器还可以执行如下步骤的程序代码:算法对应多个算法实例,图像处理任务具有多个待处理的目标图像,根据配置文件调用目标功能模块构成的算法,对目标图像进行处理,以执行图像处理任务,包括:将多个目标图像按照算法实例数量分发至多个算法实例,其中,算法实例中的目标模块按照最大单次训练的样本数量并行执行图像处理任务,其中,每个目标功能模块通过Batch加速对多个目标图像进行并行处理。
可选的,上述处理器还可以执行如下步骤的程序代码:算法对应多个算法实例,配置文件还包括异步调用信息,根据异步调用信息创建实例队列,其中,实例队列用于存放空闲的算法实例;通过实例队列对异步调用请求进行调度。
可选的,上述处理器还可以执行如下步骤的程序代码:功能模块外部通过多种类型的接口进行封装。
可选的,上述处理器还可以执行如下步骤的程序代码:功能模块开放允许被更改的指定函数,当指定函数被更改时,将更改指定函数的功能模块记录在配置文件中。
采用本发明实施例,提供了一种图像的处理方案。通过接收用于执行质检任务的图像处理指令,其中,图像处理指令包括:待处理的产品图像和配置文件,配置文件用于确定多个功能模块中质检任务需要调用的目标功能模块;读取配置文件中每个目标功能模块对应的配置信息,其中,配置信息包括:当前目标功能模块的类型、当前目标功能模块的输入数据节点以及当前目标功能模块的输出数据节点;根据配置文件调用目标功能模块构成的算法,对产品图像进行处理,得到产品的属性信息;根据产品的属性信息确定产品的质检结果。由此可知,本申请上述实施例基于一种模块化可自由组合的部署框架,将算法分解为功能模块,各功能模块间可以灵活组合,且能够根据模块间的组合关系自动进行并行化计算。在执行图像处理任务时,基于图像处理任务选择出目标功能模块,并基于配置文件对目标功能模块进行自由组合,从而能够执行不同的图像处理任务,而无需根据图像处理任务进行定制化开发,解决了现有技术中需要根据不同的视觉识别场景进行定制化的开发,导致视觉识别的效率较低的技术问题。
本领域普通技术人员可以理解,图17所示的结构仅为示意,计算设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图17其并不对上述电子装置的结构造成限定。例如,计算设备A还可包括比图17中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图17所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的图像的处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算设备群中的任意一个计算设备中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取图像处理任务对应的待处理目标图像和配置文件,其中,所述配置文件用于从多个功能模块中确定出处理所述图像处理任务需要调用的目标功能模块;读取所述配置文件中每个所述目标功能模块对应的配置信息,其中,所述配置信息包括:当前目标功能模块的类型、所述当前目标功能模块的输入数据节点以及所述当前目标功能模块的输出数据节点;根据所述配置文件调用所述目标功能模块构成的算法,对所述目标图像进行处理,以执行所述图像处理任务。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (15)

1.一种图像的处理方法,其特征在于,包括:
获取图像处理任务对应的待处理目标图像和配置文件,其中,所述配置文件用于从多个功能模块中确定出处理所述图像处理任务需要调用的目标功能模块;
读取所述配置文件中每个所述目标功能模块对应的配置信息,其中,所述配置信息包括:当前目标功能模块的类型、所述当前目标功能模块的输入数据节点以及所述当前目标功能模块的输出数据节点;
根据所述配置文件调用所述目标功能模块构成的算法,对所述目标图像进行处理,以执行所述图像处理任务;
其中,每个所述功能模块独立监听指定存储区域,判断所述指定存储区域中是否具有所述输入数据节点所指示的输入数据,在所述指定存储区域中具有所述输入数据节点所指示的输入数据的情况下,所述功能模块根据所述输入数据启动执行,并将所述输出数据节点所指示的输出数据存储至所述指定存储区域。
2.根据权利要求1所述的方法,其特征在于,每个所述功能模块的输出数据的格式相同。
3.根据权利要求1所述的方法,其特征在于,所述图像处理任务具有多个待处理的目标图像,根据所述配置文件调用所述目标功能模块构成的算法,对所述目标图像进行处理,以执行所述图像处理任务,包括:
将多个所述目标图像同时输入至所述算法,通过所述算法中的所述目标功能模块执行所述图像处理任务,其中,至少一个所述目标功能模块通过Batch加速对多个所述目标图像进行并行处理。
4.根据权利要求3所述的方法,其特征在于,所述配置信息还包括:所述算法对应的算法实例数量和所述目标功能模块对应的最大单次训练的样本数量。
5.根据权利要求4所述的方法,其特征在于,所述算法对应多个算法实例,所述图像处理任务具有多个待处理的目标图像,根据所述配置文件调用所述目标功能模块构成的算法,对所述目标图像进行处理,以执行所述图像处理任务,包括:
将多个所述目标图像按照所述算法实例数量分发至多个所述算法实例,其中,所述算法实例中的目标模块按照所述最大单次训练的样本数量并行执行所述图像处理任务,其中,每个所述目标功能模块通过Batch加速对多个所述目标图像进行并行处理。
6.根据权利要求1所述的方法,其特征在于,所述算法对应多个算法实例,所述配置文件还包括异步调用信息,所述方法还包括:
根据所述异步调用信息创建实例队列,其中,所述实例队列用于存放空闲的算法实例;
通过所述实例队列对异步调用请求进行调度。
7.根据权利要求1所述的方法,其特征在于,所述功能模块外部通过多种类型的接口进行封装。
8.根据权利要求1所述的方法,其特征在于,所述功能模块开放允许被更改的指定函数,当所述指定函数被更改时,将更改指定函数的功能模块记录在所述配置文件中。
9.一种图像的处理方法,其特征在于,包括:
服务器接收客户端发送的图像处理任务,所述图像处理任务包括:待处理目标图像和配置文件,其中,所述配置文件用于从多个功能模块中确定出处理所述图像处理任务需要调用的目标功能模块;
所述服务器读取所述配置文件中每个所述目标功能模块对应的配置信息,其中,所述配置信息包括:当前目标功能模块的类型、所述当前目标功能模块的输入数据节点以及所述当前目标功能模块的输出数据节点;
所述服务器根据所述配置文件调用所述目标功能模块构成的算法,对所述目标图像进行处理;
所述服务器将所述目标图像的处理结果返回至所述客户端;
其中,每个所述功能模块独立监听指定存储区域,判断所述指定存储区域中是否具有所述输入数据节点所指示的输入数据,在所述指定存储区域中具有所述输入数据节点所指示的输入数据的情况下,所述功能模块根据所述输入数据启动执行,并将所述输出数据节点所指示的输出数据存储至所述指定存储区域。
10.一种图像的处理方法,其特征在于,包括:
接收用于执行质检任务的图像处理指令,其中,所述图像处理指令包括:待处理的产品图像和配置文件,所述配置文件用于确定多个功能模块中所述质检任务需要调用的目标功能模块;
读取所述配置文件中每个所述目标功能模块对应的配置信息,其中,所述配置信息包括:当前目标功能模块的类型、所述当前目标功能模块的输入数据节点以及所述当前目标功能模块的输出数据节点;
根据所述配置文件调用所述目标功能模块构成的算法,对所述产品图像进行处理,得到所述产品的属性信息;
根据所述产品的属性信息确定所述产品的质检结果;
其中,每个所述功能模块独立监听指定存储区域,判断所述指定存储区域中是否具有所述输入数据节点所指示的输入数据,在所述指定存储区域中具有所述输入数据节点所指示的输入数据的情况下,所述功能模块根据所述输入数据启动执行,并将所述输出数据节点所指示的输出数据存储至所述指定存储区域。
11.一种图像的处理方法,其特征在于,包括:
接收用于疾病识别任务的图像处理指令,其中,所述图像处理指令包括:待处理的医疗影像和配置文件,所述配置文件用于确定多个功能模块中所述疾病识别任务需要调用的目标功能模块;
读取所述配置文件中每个所述目标功能模块对应的配置信息,其中,所述配置信息包括:当前目标功能模块的类型、所述当前目标功能模块的输入数据节点以及所述当前目标功能模块的输出数据节点;
根据所述配置文件调用所述目标功能模块构成的算法,对所述医疗影像进行处理,以执行所述疾病识别任务;
其中,每个所述功能模块独立监听指定存储区域,判断所述指定存储区域中是否具有所述输入数据节点所指示的输入数据,在所述指定存储区域中具有所述输入数据节点所指示的输入数据的情况下,所述功能模块根据所述输入数据启动执行,并将所述输出数据节点所指示的输出数据存储至所述指定存储区域。
12.一种图像的处理方法,其特征在于,包括:
接收用于搜索任务的图像处理指令,其中,所述图像处理指令包括:待搜索的产品图像和配置文件,所述配置文件用于确定多个功能模块中所述搜索任务需要调用的目标功能模块;
读取所述配置文件中每个所述目标功能模块对应的配置信息,其中,所述配置信息包括:当前目标功能模块的类型、所述当前目标功能模块的输入数据节点以及所述当前目标功能模块的输出数据节点;
根据所述配置文件调用所述目标功能模块构成的算法,对所述搜索任务进行处理,以执行所述搜索任务;
其中,每个所述功能模块独立监听指定存储区域,判断所述指定存储区域中是否具有所述输入数据节点所指示的输入数据,在所述指定存储区域中具有所述输入数据节点所指示的输入数据的情况下,所述功能模块根据所述输入数据启动执行,并将所述输出数据节点所指示的输出数据存储至所述指定存储区域。
13.一种图像的处理装置,其特征在于,包括:
获取模块,用于获取图像处理任务对应的待处理目标图像和配置文件,其中,所述配置文件用于从多个功能模块中确定出处理所述图像处理任务需要调用的目标功能模块;
读取模块,用于读取所述配置文件中每个所述目标功能模块对应的配置信息,其中,所述配置信息包括:当前目标功能模块的类型、所述当前目标功能模块的输入数据节点以及所述当前目标功能模块的输出数据节点;
调用模块,用于根据所述配置文件调用所述目标功能模块构成的算法,对所述目标图像进行处理,以执行所述图像处理任务;
其中,每个所述功能模块独立监听指定存储区域,判断所述指定存储区域中是否具有所述输入数据节点所指示的输入数据,在所述指定存储区域中具有所述输入数据节点所指示的输入数据的情况下,所述功能模块根据所述输入数据启动执行,并将所述输出数据节点所指示的输出数据存储至所述指定存储区域。
14.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至12中任意一项所述的图像的处理方法。
15.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至12中任意一项所述的图像的处理方法。
CN202110633244.3A 2021-06-07 2021-06-07 图像的处理方法、装置、存储介质和处理器 Active CN113568666B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110633244.3A CN113568666B (zh) 2021-06-07 2021-06-07 图像的处理方法、装置、存储介质和处理器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110633244.3A CN113568666B (zh) 2021-06-07 2021-06-07 图像的处理方法、装置、存储介质和处理器

Publications (2)

Publication Number Publication Date
CN113568666A CN113568666A (zh) 2021-10-29
CN113568666B true CN113568666B (zh) 2024-05-24

Family

ID=78161811

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110633244.3A Active CN113568666B (zh) 2021-06-07 2021-06-07 图像的处理方法、装置、存储介质和处理器

Country Status (1)

Country Link
CN (1) CN113568666B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115883874A (zh) * 2022-01-27 2023-03-31 北京中关村科金技术有限公司 一种基于文件的合规业务检测方法及装置
CN114647472B (zh) * 2022-03-24 2023-08-15 北京字跳网络技术有限公司 图片处理方法、装置、设备、存储介质和程序产品
CN114675863B (zh) * 2022-05-27 2022-10-04 浙江大华技术股份有限公司 算法配置文件更新方法及相关方法、装置、设备、介质
CN115809188B (zh) * 2022-08-03 2024-02-06 宁德时代新能源科技股份有限公司 图像检测算法的调试方法、装置、设备和存储介质
CN117453098A (zh) * 2023-10-17 2024-01-26 杭州海康机器人股份有限公司 应用于视觉平台的输入输出实现方法、装置及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019051797A1 (zh) * 2017-09-15 2019-03-21 广东欧珀移动通信有限公司 图像处理方法和装置、计算机设备、计算机可读存储介质
CN109960571A (zh) * 2017-12-14 2019-07-02 北京图森未来科技有限公司 一种多模块调度方法、装置及系统
CN110366740A (zh) * 2017-07-24 2019-10-22 奥林巴斯株式会社 图像处理装置和摄像装置
CN110442441A (zh) * 2019-08-07 2019-11-12 腾讯科技(深圳)有限公司 数据处理方法、装置、可读存储介质及终端设备
CN111240910A (zh) * 2020-01-02 2020-06-05 北京航天测控技术有限公司 设备健康管理微服务生成方法、装置、设备及可读介质
CN112163468A (zh) * 2020-09-11 2021-01-01 浙江大华技术股份有限公司 基于多线程的图像处理方法及装置
CN112269635A (zh) * 2020-10-16 2021-01-26 北京浪潮数据技术有限公司 一种功能模块配置方法、系统及电子设备和存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5115398B2 (ja) * 2008-08-27 2013-01-09 セイコーエプソン株式会社 画像処理装置、画像処理方法および画像処理プログラム
JP6757913B2 (ja) * 2016-02-26 2020-09-23 国立研究開発法人情報通信研究機構 画像クラスタリングシステム、画像クラスタリング方法、画像クラスタリングプログラム、および、コミュニティ構造検出システム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110366740A (zh) * 2017-07-24 2019-10-22 奥林巴斯株式会社 图像处理装置和摄像装置
WO2019051797A1 (zh) * 2017-09-15 2019-03-21 广东欧珀移动通信有限公司 图像处理方法和装置、计算机设备、计算机可读存储介质
CN109960571A (zh) * 2017-12-14 2019-07-02 北京图森未来科技有限公司 一种多模块调度方法、装置及系统
CN110442441A (zh) * 2019-08-07 2019-11-12 腾讯科技(深圳)有限公司 数据处理方法、装置、可读存储介质及终端设备
CN111240910A (zh) * 2020-01-02 2020-06-05 北京航天测控技术有限公司 设备健康管理微服务生成方法、装置、设备及可读介质
CN112163468A (zh) * 2020-09-11 2021-01-01 浙江大华技术股份有限公司 基于多线程的图像处理方法及装置
CN112269635A (zh) * 2020-10-16 2021-01-26 北京浪潮数据技术有限公司 一种功能模块配置方法、系统及电子设备和存储介质

Also Published As

Publication number Publication date
CN113568666A (zh) 2021-10-29

Similar Documents

Publication Publication Date Title
CN113568666B (zh) 图像的处理方法、装置、存储介质和处理器
CN105164644B (zh) 钩子框架
CN107633541B (zh) 一种图像特效的生成方法和装置
CN108496200A (zh) 图像数据预处理
CN110347389B (zh) 算法文件的处理方法、装置和系统
US11514263B2 (en) Method and apparatus for processing image
CN111695596A (zh) 一种用于图像处理的神经网络以及相关设备
CN108733496B (zh) 事件处理方法和装置
CN111737075A (zh) 执行顺序的确定方法及装置、存储介质、电子装置
CN114218052B (zh) 一种业务交互图生成方法、装置、设备及存储介质
CN112346947B (zh) 性能检测方法、装置、电子设备和计算机可读介质
CN108875516A (zh) 人脸识别方法、装置、系统、存储介质和电子设备
CN115033352A (zh) 多核处理器任务调度方法、装置及设备、存储介质
CN114625510A (zh) 一种任务处理系统、方法、装置及存储介质
CN115438768A (zh) 模型推理方法、装置、计算机设备及存储介质
CN111506393B (zh) 一种基于arm的虚拟化装置及其使用方法
CN111739649A (zh) 一种用户画像捕捉方法、装置及系统
CN109635832A (zh) 一种基于云平台的目标识别方法及系统
CN109658323A (zh) 图像获取方法、装置、电子设备和计算机存储介质
CN113590277A (zh) 任务状态切换方法、装置和电子系统
CN112579144B (zh) 数据处理方法及装置
CN114564286A (zh) 一种规则引擎告警方法及规则引擎告警系统
CN115221028A (zh) 程序调试方法及其装置
CN113326113A (zh) 任务处理方法及装置、电子设备和存储介质
CN111914583B (zh) 图形码的识别方法、装置以及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20240305

Address after: # 03-06, Lai Zan Da Building 1, 51 Belarusian Road, Singapore

Applicant after: Alibaba Innovation Co.

Country or region after: Singapore

Address before: Room 01, 45th Floor, AXA Building, 8 Shanton Road, Singapore

Applicant before: Alibaba Singapore Holdings Ltd.

Country or region before: Singapore

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant