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

一种图像处理方法、装置、计算机设备和存储介质与流程

2022-02-19 12:45:43 来源:中国专利 TAG:


1.本公开涉及图像处理技术领域,具体而言,涉及一种图像处理方法、装置、计算机设备和存储介质。


背景技术:

2.基于人工智能(artificial intelligence,ai)进行遥感图像解译的算法模型(即ai遥感检测模型)有多种,比如目标检测、影像分割、变化检测等,每种ai遥感检测模型对应有至少一套后处理算法,在应对不同的行业应用需求时,又会衍生成更多定制化的后处理功能,比如,建筑物提取模型的后处理可以包括去除小图斑、建筑物提取结果规则化、矢量化等功能,水体识别模型的后处理可以包括去除小斑块、边界模糊、边界生长、多模型结果融合等功能。针对不同的行业应用的任务需求,经常需要对后处理算法进行适当的调整,如在后处理算法中能够增加矢量化或去除小斑块等功能。
3.在后处理代码经常被修改的情况下,形成了很多不同任务的后处理算法的版本,不同版本的后处理算法之间可能包括具有重复功能代码,导致支持ai遥感检测模型以及后处理算法运行的平台存储过量的冗余代码,造成平台存储负荷量大,同时不同版本的后处理算法也难以统一管理;另外每次用户需要调整后处理算法时,都需要研发人员进行修改,维护代价较高,进而导致用户体验感降低。


技术实现要素:

4.本公开实施例至少提供一种图像处理方法、装置、计算机设备和存储介质。
5.第一方面,本公开实施例提供了一种图像处理方法,包括:
6.获取待处理图像;
7.基于所述待处理图像对应的目标任务,确定多个计算节点信息和执行流程信息;其中,所述多个计算节点信息分别对应的计算节点用于完成不同的预设功能;
8.基于所述多个计算节点信息和所述执行流程信息,生成所述执行流程信息对应的执行流程;其中,所述执行流程包括至少一个计算节点信息;
9.基于所述执行流程,生成计算图信息,并按照所述计算图信息对所述待处理图像进行处理,得到图像处理结果。
10.本方面中,利用抽象为不同预设功能的计算节点对应的计算节点信息和执行流程信息生成的执行流程,能够将后处理算法初步抽象为具有层级的架构,即计算节点和执行流程,之后,利用执行流程组成的计算图信息对待处理图像进行处理,进一步将后处理算法抽象为具有三层架构体系,即计算节点(第一层)、执行流程(第二层)和计算图(第三层)。针对具有层级架构的后处理算法,由于计算节点用于完成预设功能(比如单一的某一功能),因此利用已有的计算节点灵活的构建后处理计算图,使其满足目标任务的处理条件,针对不同的任务不用重复存储相同功能的代码块(对应于上述计算节点),避免了重复存储过量的冗余代码,降低了平台存储负荷量,提高了计算节点使用的灵活性,以及降低了对后处理
算法的管理难度。另外,构建和调整处理算法都不再需要研发人员进行代码调整,只需要工作人员配置计算图所需的信息,之后根据生成的计算图信息构建计算图对待处理图像进行处理即可,提高了图像处理的效率。
11.一种可选的实施方式中,所述计算节点信息包括对应的计算节点的输入信息和输出信息;
12.所述基于多个计算节点信息和所述执行流程信息,生成所述执行流程信息对应的执行流程,包括:
13.基于每个计算节点的输入信息和输出信息,确定多个计算节点之间的依赖关系信息;
14.基于确定的所述依赖关系信息和所述执行流程信息,生成所述执行流程信息对应的执行流程。
15.该实施方式,利用计算节点的输入信息和输出信息,能够自动确定计算节点之间的依赖关系信息,无需指定计算节点之间的执行顺序,就能够生成执行流程信息对应的执行流程,提高了目标任务的处理效率。
16.一种可选的实施方式中,在基于所述待处理图像对应的目标任务,确定多个计算节点信息之后,还包括:
17.在确定所述多个计算节点信息对应的计算节点中包括未被定义的计算节点的情况下,基于所述未被定义的计算节点的计算节点信息,生成对应的计算节点;
18.所述按照所述计算图信息对所述待处理图像进行处理,得到图像处理结果,包括:
19.按照所述计算图信息调用每个计算节点信息对应的计算节点对所述待处理图像进行处理,得到图像处理结果。
20.该实施方式,由于计算节点信息对应的计算节点中可能存在未被定义的计算节点,因此,需要根据未被定义的计算节点的计算节点信息,生成对应的计算节点,避免后续根据计算图进行任务执行时,因为调用未被定义的计算节点而出现图像处理的中断,有从而提高了图像处理的效率。
21.一种可选的实施方式中,所述执行流程信息包括对应的执行流程的执行次序;
22.所述基于所述执行流程,生成计算图信息,包括:
23.在确定所述目标任务存在多个所述执行流程信息的情况下,基于多个所述执行流程和每个执行流程的执行次序,生成计算图信息;
24.所述按照所述计算图信息对所述待处理图像进行处理,得到图像处理结果,包括:
25.基于所述执行次序,确定首个执行流程;
26.将所述待处理图像输入所述首个执行流程对应的首个计算节点,并按照所述首个执行流程、以及所述执行次序对应的其它执行流程进行处理,直到执行完所有的执行流程,得到所述图像处理结果。
27.该实施方式,由于计算图信息是根据每个执行流程的执行次序生成的,因此将待处理图像输入到首个执行流程之后,能够按照上述执行次序执行完计算图信息对应的计算图中的每个执行流程,保证了图像处理能够按照执行次序有条不紊的处理完毕。
28.一种可选的实施方式中,所述执行流程包括循环执行流程;
29.所述按照所述对所述待处理图像进行处理,得到图像处理结果,包括:
30.获取所述循环执行流程的上一个执行流程的输出信息,并将所述输出信息分割为多个子信息;
31.将所述多个子信息分别输入所述循环执行流程进行处理,分别得到每个子信息对应的处理结果信息;
32.基于每个子信息对应的处理结果信息,确定目标结果信息,并将所述目标结果信息输入所述循环执行流程的下一个执行流程,直到执行完所有的执行流程,得到所述图像处理结果。
33.该实施方式,由于需要处理的信息数据量较大,因此,可以利用循环执行流程分批处理信息分割后的子信息,对循环执行流程处理得到的每个子信息对应的处理结果信息进行融合,能够得到用于表征整个信息的处理结果的目标结果信息,从而能够保证流程的继续执行。该实施方式利用循环执行流程分批处理子信息,能够降低每次处理过程所调用的计算机资源,进而降低设备损耗。
34.一种可选的实施方式中,所述基于所述待处理图像对应的目标任务,确定多个计算节点信息和至少一个执行流程信息,包括:
35.获取所述目标任务对应的配置文件;
36.从所述配置文件中获取所述目标任务对应的多个计算节点信息和至少一个执行流程信息。
37.该实施方式,利用配置文件存储多个计算节点信息和至少一个执行流程信息,能够保证根据该配置文件能够较快的获取到用于生成计算图信息的上述计算节点信息和执行流程信息,保证了计算图信息生成的高效性和准确性。
38.一种可选的实施方式中,所述按照计算图信息对所述待处理图像进行处理,得到图像处理结果,包括:
39.获取历史存储的所述目标任务中待检测对象的标准检测结果;
40.按照计算图信息和所述标准检测结果,对所述待处理图像进行处理,得到图像处理结果。
41.该实施方式,标准检测结果可以根据具体的应用场景灵活设定,利用历史存储的标准检测结果来确定图像处理结果,能够提高图像处理方法的实用性,以及保证图像处理结果的准确性。
42.一种可选的实施方式中,所述待处理图像包括初始水体检测结果对应的第一遥感影像;所述目标任务包括水体检测任务;
43.所述按照所述计算图信息对所述待处理图像进行处理,得到图像处理结果,包括:
44.按照所述计算图信息中的执行流程对所述第一遥感影像进行处理,得到所述水体检测任务对应的目标水体检测结果。
45.该实施方式,利用已有的计算节点灵活的构建后处理计算图,使其满足水体检测任务中的后处理条件,针对该后处理中的不同任务,比如,边界模糊、边界生长等任务,不用重复存储相同功能的代码块(对应于上述计算节点),避免了重复存储过量的冗余代码,降低了平台存储负荷量,提高了计算节点使用的灵活性,以及降低了对水体检测任务中的后处理算法的管理难度。
46.一种可选的实施方式中,所述待处理图像包括初始建筑物检测结果对应的第二遥
感影像;所述目标任务包括建筑物检测任务;
47.所述按照所述计算图信息对所述待处理图像进行处理,得到图像处理结果,包括:
48.按照所述计算图信息中的执行流程对所述第二遥感影像进行处理,得到所述建筑物检测任务对应的目标建筑物检测结果。
49.该实施方式,利用已有的计算节点灵活的构建后处理计算图,使其满足建筑物检测任务中的后处理条件,针对该后处理中的不同任务,比如,去除小图斑、建筑物提取结果规则化、矢量化等任务,不用重复存储相同功能的代码块(对应于上述计算节点),避免了重复存储过量的冗余代码,降低了平台存储负荷量,提高了计算节点使用的灵活性,以及降低了对建筑物检测任务中的后处理算法的管理难度。
50.第二方面,本公开实施例还提供一种图像处理装置,包括:
51.图像获取模块,用于获取待处理图像;
52.信息确定模块,用于基于所述待处理图像对应的目标任务,确定多个计算节点信息和执行流程信息;其中,所述多个计算节点信息分别对应的计算节点用于完成不同的预设功能;
53.流程生成模块,用于基于所述多个计算节点信息和所述执行流程信息,生成所述执行流程信息对应的执行流程;其中,所述执行流程包括至少一个计算节点信息;
54.图像处理模块,用于基于所述执行流程,生成计算图信息,并按照所述计算图信息对所述待处理图像进行处理,得到图像处理结果。
55.一种可选的实施方式中,所述计算节点信息包括对应的计算节点的输入信息和输出信息;
56.所述流程生成模块,用于基于每个计算节点的输入信息和输出信息,确定多个计算节点之间的依赖关系信息;基于确定的所述依赖关系信息和所述执行流程信息,生成所述执行流程信息对应的执行流程。
57.一种可选的实施方式中,所述装置还包括节点生成模块,用于在基于所述待处理图像对应的目标任务,确定多个计算节点信息之后,在确定所述多个计算节点信息对应的计算节点中包括未被定义的计算节点的情况下,基于所述未被定义的计算节点的计算节点信息,生成对应的计算节点;
58.所述图像处理模块,用于按照所述计算图信息调用每个计算节点信息对应的计算节点对所述待处理图像进行处理,得到图像处理结果。
59.一种可选的实施方式中,所述执行流程信息包括对应的执行流程的执行次序;
60.所述图像处理模块,用于在确定所述目标任务存在多个所述执行流程信息的情况下,基于多个所述执行流程和每个执行流程的执行次序,生成计算图信息;基于所述执行次序,确定首个执行流程;将所述待处理图像输入所述首个执行流程对应的首个计算节点,并按照所述首个执行流程、以及所述执行次序对应的其它执行流程进行处理,直到执行完所有的执行流程,得到所述图像处理结果。
61.一种可选的实施方式中,所述执行流程包括循环执行流程;
62.所述图像处理模块,用于获取所述循环执行流程的上一个执行流程的输出信息,并将所述输出信息分割为多个子信息;将所述多个子信息分别输入所述循环执行流程进行处理,分别得到每个子信息对应的处理结果信息;基于每个子信息对应的处理结果信息,确
定目标结果信息,并将所述目标结果信息输入所述循环执行流程的下一个执行流程,直到执行完所有的执行流程,得到所述图像处理结果。
63.一种可选的实施方式中,所述信息确定模块,用于获取所述目标任务对应的配置文件;从所述配置文件中获取所述目标任务对应的多个计算节点信息和至少一个执行流程信息。
64.一种可选的实施方式中,所述图像处理模块,用于获取历史存储的所述目标任务中待检测对象的标准检测结果;按照计算图信息和所述标准检测结果,对所述待处理图像进行处理,得到图像处理结果。
65.一种可选的实施方式中,所述待处理图像包括初始水体检测结果对应的第一遥感影像;所述目标任务包括水体检测任务;
66.所述图像处理模块,用于按照所述计算图信息中的执行流程对所述第一遥感影像进行处理,得到所述水体检测任务对应的目标水体检测结果。
67.一种可选的实施方式中,所述待处理图像包括初始建筑物检测结果对应的第二遥感影像;所述目标任务包括建筑物检测任务;
68.所述图像处理模块,用于按照所述计算图信息中的执行流程对所述第二遥感影像进行处理,得到所述建筑物检测任务对应的目标建筑物检测结果。
69.第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的图像处理方法的步骤。
70.第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的图像处理方法的步骤。
71.关于上述图像处理装置、计算机设备和存储介质的效果描述参见上述图像处理方法的说明,这里不再赘述。
72.为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
73.为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
74.图1示出了本公开实施例所提供的一种图像处理方法的流程图;
75.图2示出了本公开实施例所提供的基于每个计算节点的输入信息和输出信息,确定计算节点之间的依赖关系信息的展示示意图;
76.图3示出了本公开实施例所提供的计算图的展示示意图;
77.图4示出了本公开实施例所提供的一种图像处理方法的应用场景的执行流程图;
78.图5示出了本公开实施例所提供的一种图像处理装置的示意图;
79.图6示出了本公开实施例所提供的一种计算机设备的结构示意图。
具体实施方式
80.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
81.另外,本公开实施例中的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
82.在本文中提及的“多个或者若干个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
83.经研究发现,针对ai遥感图像解译模型的后处理算法,传统技术在应用不同任务,对后处理算法进行临时调整时,需要研发人员修改后处理算法的代码。在后处理代码经常被修改的情况下,形成了很多不同任务的后处理算法的版本,不同版本的后处理算法之间可能包括具有重复功能代码,导致支持ai遥感检测模型以及后处理算法运行的平台存储过量的冗余代码,造成平台存储负荷量大,同时不同版本的后处理算法也难以统一管理;另外每次用户需要调整后处理算法时,都需要研发人员进行修改,维护代价较高,进而导致用户体验感降低。
84.基于上述研究,本公开提供了一种图像处理方法,利用抽象为不同预设功能的计算节点对应的计算节点信息和执行流程信息生成的执行流程,能够将后处理算法初步抽象为具有层级的架构,即计算节点和执行流程,之后,利用执行流程组成的计算图信息对待处理图像进行处理,进一步将后处理算法抽象为具有三层架构体系,即计算节点(第一层)、执行流程(第二层)和计算图(第三层)。针对具有层级架构的后处理算法,由于计算节点用于完成预设功能(比如单一的某一功能),因此利用已有的计算节点灵活的构建后处理计算图,使其满足目标任务的处理条件,针对不同的任务不用重复存储相同功能的代码块(对应于上述计算节点),避免了重复存储过量的冗余代码,降低了平台存储负荷量,提高了计算节点使用的灵活性,以及降低了对后处理算法的管理难度。另外,构建和调整处理算法都不再需要研发人员进行代码调整,只需要工作人员配置计算图所需的信息,之后根据生成的计算图信息构建计算图对待处理图像进行处理即可,提高了图像处理的效率。
85.针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
86.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
87.下面对本公开实施例中涉及到的特殊名词做进一步的解释:
88.1、后处理:图像经过ai遥感检测模型进行推理识别后,再进行一些拼接、融合、边缘模糊、细化等处理,使结果精度、展示效果得到进一步提升。
89.2、计算图:由计算节点(算子)和线(算子依赖关系)组成的一种抽象数据结构。
90.3、遥感解译,遥感图像的识别解析。
91.为便于对本实施例进行理解,首先对本公开实施例所公开的一种图像处理方法进行详细介绍,本公开实施例所提供的图像处理方法的执行主体一般为具有一定计算能力的计算机设备。在一些可能的实现方式中,该图像处理方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
92.下面以执行主体为计算机设备为例对本公开实施例提供的图像处理方法加以说明。
93.为便于对本实施例进行理解,首先对本公开实施例所公开的一种图像处理方法的应用场景进行介绍,本发明实施例提供的图像处理方法可以应用于遥感图像解译领域的图像识别的后处理,即为针对遥感图像的识别解析的后处理。示例性的,针对建筑物提取模型后处理可以包括去除小图斑、建筑物提取结果规则化、矢量化等功能;针对水体识别模型的后处理可以包括去除小斑块、边界模糊、边界生长、多模型结果融合等功能。
94.下面通过本公开实施例提供的图像处理方法,以应对不同的行业应用的任务需求,对遥感ai检测模型的后处理算法进行适当的调整。
95.参见图1所示,为本公开实施例提供的图像处理方法的流程图,所述方法包括步骤s101~s104,其中:
96.s101:获取待处理图像。
97.本步骤中,待处理图像可以包括已经经过ai遥感检测模型处理后输出的类别图像,即遥感解译的结果,表示ai遥感检测类别信息的图像。该待处理图像为需要进行后处理的结果图像,该结果图像可以是遥感图像,也可以不是遥感图像。
98.s102:基于待处理图像对应的目标任务,确定多个计算节点信息和执行流程信息;其中,多个计算节点信息分别对应的计算节点用于完成不同的预设功能。
99.本步骤中,目标任务可以为对待处理图像进行后处理的任务。目标任务不同,对应的后处理算法中包含的目标功能不同。示例性的,目标任务包括水体检测任务,具体的,水体检测任务可以包括前期遥感解译处理和后处理;其中,后处理可以是针对初始水体检测结果,即针对包含水体的图像进行遥感解译的结果(也即第一遥感影像),进行进一步处理的算法;该算法包含的目标功能可以为去除小斑块、边界模糊、边界生长、多模型结果融合等功能;或者,示例性的,目标任务包括建筑物检测任务,具体的,建筑物检测任务可以包括前期遥感解译处理和后处理;其中,后处理可以是针对初始建筑物检测结果,即针对包含建筑物的图像进行遥感解译的结果(也即第二遥感影像),进行进一步处理的算法;该算法包含的目标功能可以为去除小图斑、建筑物提取结果规则化、矢量化等功能。
100.这里,多个计算节点信息分别对应的计算节点用于完成不同的预设功能,其中,该预设功能可以包括单一的功能,即为目标功能中的最小功能。例如,目标功能包括建筑物提
取结果规则化,则该目标功能中的最小功能包括提取功能、结果规则化功能等。计算节点可以包括能够执行单一的预设功能的功能代码。计算节点信息可以包括计算节点的标识信息,比如名称、编号等。
101.以目标任务为对待处理图像进行去除小图斑、边界模糊和矢量化的后处理任务为例,基于目标任务中的第一子任务,即去除小图斑,确定去除小图斑对应的至少一个计算节点信息;基于目标任务中的第二子任务,即边界模糊,确定边界模糊对应的至少一个计算节点信息;基于目标任务中的第三子任务,即矢量化,确定矢量化对应的至少一个计算节点信息,这里,可以为确定出去除小图斑对应的计算节点a的名称和计算节点b的名称;边界模糊对应的计算节点c的名称;矢量化对应的计算节点d的名称、计算节点e的名称和计算节点f的名称等。
102.这里,每个执行流程信息对应一条执行流程,因此,每个执行流程信息包括其对应的执行流程中所包括的至少一个计算节点信息。延续上例,三个子任务对应有三个执行任务信息,即对应有三条执行流程,其中,第一执行流程信息包括其对应的第一条执行流程中所包括的计算节点a信息和计算节点b信息;第二执行流程信息包括其对应的第二条执行流程中所包括的计算节点c信息;第三执行流程信息包括其对应的第三条执行流程中所包括的计算节点d信息,计算节点e信息和计算节点f信息。
103.s103:基于多个计算节点信息和执行流程信息,生成执行流程信息对应的执行流程;其中,执行流程包括至少一个计算节点信息。
104.具体实施时,可以根据执行流程信息中的至少一个计算节点信息,以及每个计算节点信息对应的每个计算节点之间的依赖关系信息,生成该执行流程信息对应的执行流程,比如,计算节点a依赖计算节点b,则可以确定执行流程的执行顺序为先执行计算节点b,后执行计算节点a,这里,执行流程包括计算节点a的名称、计算节点b的名称以及各个计算节点之间的先后执行顺序,不包括计算节点a和计算节点b的功能代码。
105.这里,计算节点信息还包括对应的计算节点的输入信息和输出信息。确定每个计算节点之间的依赖关系信息,具体的,可以基于每个计算节点的输入信息和输出信息,确定多个计算节点之间的依赖关系信息;基于确定的依赖关系信息和执行流程信息,生成执行流程信息对应的执行流程。其中,输入信息/输出参数可以包括计算节点的输入参数/输出参数的标识和/或类型;输入参数/输出参数的类型,比如,可以为图像、数字或指针等参数类型。
106.示例性的,目标任务可以包括多个子任务,每个子任务分别对应至少一个执行流程信息,每个执行流程信息分别对应一个执行流程,因此,目标任务可以具有多个执行流程。
107.可以参见图2所示,其为基于每个计算节点的输入信息和输出信息,确定计算节点之间的依赖关系信息的展示示意图;其中,计算节点a信息中的输入参数的标识为a,输出参数的标识为c;计算节点b信息中的输入参数的标识为b,输出参数的标识为d;计算节点c信息中的输入参数的标识为c和d,输出参数的标识为e;计算节点d信息中的输入参数的标识为d,输出参数的标识为f;计算节点e信息中的输入参数的标识为e和f,输出参数的标识为g。之后,在确定了每个计算节点的输入信息和输出信息的情况下,由于计算节点c的输入参数的标识为计算节点a的输出参数的标识,则可以确定计算节点c依赖计算节点a,即确定计
算节点c与计算节点a之间的依赖关系信息。同理,能够确定出计算节点之间的依赖关系信息包括计算节点e依赖计算节点c和计算节点d,计算节点c依赖计算节点a和计算节点b,计算节点d依赖计算节点b。
108.之后,基于上述确定的依赖关系信息和执行流程信息,生成执行流程信息对应的执行流程,即可以包括执行流程a、b

c,执行流程b

d和执行流程c、d

e。
109.上述利用计算节点的输入信息和输出信息,能够自动确定计算节点之间的依赖关系信息,无需指定计算节点之间的执行顺序,就能够生成执行流程信息对应的执行流程,提高了目标任务的处理效率。
110.s104:基于执行流程,生成计算图信息,并按照计算图信息对待处理图像进行处理,得到图像处理结果。
111.执行流程信息可以包括对应的执行流程的执行次序。具体实施时,在确定目标任务存在多个执行流程信息的情况下,可以基于多个执行流程和每个执行流程的执行次序,生成计算图信息;之后,基于执行次序,确定首个执行流程;将待处理图像输入首个执行流程对应的首个计算节点,并按照首个执行流程、以及执行次序对应的其它执行流程进行处理,直到执行完所有的执行流程,得到图像处理结果。其中,其它执行流程包括除首个执行流程以外的,目标任务对应的多个执行流程。
112.这里,每个执行流程包括该执行流程所要执行的至少一个计算节点对应的计算节点信息。计算图信息包括计算图以及对该计算图的描述信息。其中,计算图的描述信息可以包括描述有至少一个执行流程和每个执行流程所要执行的至少一个计算节点信息,所述计算图的描述信息用于构建计算图。
113.示例性的,可以按照计算图的描述信息构建计算图,之后,运行计算图中的每个执行流程,按照执行次序在执行流程中计算每个计算节点(即调用各个计算节点的执行接口,完成计算),保证了图像处理能够按照执行次序有条不紊的处理完毕,得到图像处理结果。
114.参见图3所示,其为计算图的展示示意图,包括3个执行流程,其中,首个执行流程包括三个计算节点(s1,s2和s3,其中首个计算节点为s1)及其依赖关系信息,即s1→
s2→
s3,第二个执行流程包括两个计算节点(s4和s5)及其依赖关系信息,即s4→
s5,第三个执行流程包括两个计算节点(s6和s7)及其依赖关系信息,即s6→
s7。其中,执行次序分别为首先执行s1→
s2→
s3,之后执行s4→
s5,最后执行s6→
s7。
115.这里,执行流程为计算图的最小执行序列,能够完成至少一个目标功能(比如建筑物提取结果规则化),每个计算图至少具有一个执行流程,计算节点能够完成计算图中的最小预设功能(比如提取功能)。
116.执行目标任务,具体的,如图3所示,包括三个子任务,即每个子任务对应一个执行流程。可以按照计算图分别调取每个计算节点的输入参数/输出参数的接口,以及该计算节点的功能代码的执行接口,调用计算节点的功能代码执行目标任务。具体实施时,从首个执行流程的首个计算节点开始,调用该计算节点的功能代码处理输入参数,得到输出结果,将输出结果通过该计算节点的输出接口进行存储,等待下一计算节点输入输入参数时调用。示例性的,调用首个计算节点s1的功能代码,以及输入参数,即待处理图像,并利用s1的功能代码对该待处理图像进行处理,将输出结果存储到内存1中,之后,从内存1中调用计算节点s2的输入参数(即s1的输出结果),并对上一计算节点s1的输出结果进行进一步处理,并将处
理结果存储到内存2中,依次循环,直到执行完所有的执行流程,得到图像处理结果。
117.以目标任务包括水体检测任务为例,此时,待处理图像可以包括前期遥感解译处理后得到的初始水体检测结果对应的第一遥感影像。之后,按照计算图信息中的执行流程对第一遥感影像进行处理,得到水体检测任务对应的目标水体检测结果。
118.具体实施时,可以运行计算图中的每个执行流程,按照执行次序调取执行流程中的每个计算节点的功能代码,执行水体检测任务中的后处理任务,得到目标水体检测结果。
119.以目标任务包括建筑物检测任务为例,此时,待处理图像可以包括前期遥感解译处理后得到的初始建筑物检测结果对应的第二遥感影像。之后,按照计算图信息中的执行流程对第二遥感影像进行处理,得到建筑物检测任务对应的目标建筑物检测结果。
120.具体实施时,可以运行计算图中的每个执行流程,按照执行次序调取执行流程中的每个计算节点的功能代码,执行建筑物检测任务中的后处理任务,得到目标建筑物检测结果。
121.上述s101~s104,利用抽象为单一预设功能的计算节点对应的计算节点信息和执行流程信息生成的执行流程,能够将后处理算法初步抽象为具有层级的架构,即计算节点和执行流程,之后,利用执行流程组成的计算图信息对待处理图像进行处理,进一步将后处理算法抽象为具有三层架构体系,即计算节点(第一层)、执行流程(第二层)和计算图(第三层)。针对具有层级架构的后处理算法,由于计算节点用于完成单一的预设功能,因此利用已有的计算节点灵活的构建后处理计算图,使其满足目标任务的处理条件,针对不同的任务不用重复存储相同功能的代码块(对应于上述计算节点),避免了重复存储过量的冗余代码,降低了平台存储负荷量,提高了计算节点使用的灵活性,以及降低了对后处理算法的管理难度。另外,构建和调整处理算法都不再需要研发人员进行代码调整,只需要工作人员配置计算图所需的信息,之后根据生成的计算图信息构建计算图对待处理图像进行处理即可,提高了图像处理的效率。
122.在一些实施例中,如果s102中确定出的多个计算节点信息对应的计算节点中包括未被定义的计算节点,则在构建计算图的过程中,还需要生成该未被定义的计算节点。
123.具体实施时,在确定多个计算节点信息对应的计算节点中包括未被定义的计算节点的情况下,基于未被定义的计算节点的计算节点信息,生成对应的计算节点;按照计算图信息调用每个计算节点信息对应的计算节点对待处理图像进行处理,得到图像处理结果。
124.未被定义的计算节点可以为软件中未曾实现的算法,比如,未添加该计算节点的功能代码。定义计算节点可以是将该算法(功能代码)添加到软件中。
125.示例性的,未被定义的计算节点,可以是已经存储有该计算节点的功能代码,但还未配置有调用该计算节点的功能代码的执行接口,例如,在确定未被定义的计算节点未配置有调用建筑物提取结果规则化目标功能中的提取功能对应的功能代码的执行接口和结果规则化功能对应的功能代码的接口的情况下,用户可以为其配置调用提取功能对应的功能代码的执行接口(可以通过配置文件进行配置),以及为其配置调用结果规则化功能对应的功能代码的执行接口。之后,按照计算图的描述信息构建计算图(包括新定义的计算节点),之后,运行计算图中的每个执行流程,在执行流程中计算每个计算节点(即调用各个计算节点的执行接口,完成计算),直到得到图像处理结果。
126.示例性的,未被定义的计算节点,还可以是未存储有该计算节点的功能代码,以及
未配置有调用该计算节点的功能代码的执行接口。具体的,可以从历史任务的后处理算法中确定建筑物提取结果规则化的功能代码,并从中确定执行提取功能对应的功能代码和结果规则化功能对应的功能代码;之后,为其配置调用提取功能对应的功能代码的执行接口(可以通过配置文件进行配置),以及为其配置调用结果规则化功能对应的功能代码的执行接口,即可实现对该未被定义的计算节点的定义,生成对应的计算节点。
127.上述由于计算节点信息对应的计算节点中可能存在未被定义的计算节点,因此,需要根据未被定义的计算节点的计算节点信息,生成对应的计算节点,避免后续根据计算图进行任务执行时,因为调用未被定义的计算节点而出现图像处理的中断,有从而提高了图像处理的效率。
128.在一些实施例中,在某一执行流程的输入信息/输出信息所占内存较大的情况下,还可以分批处理该执行流程的输入信息,得到较小内存的处理结果信息,分批处理需要循环执行该执行流程,具体实施时,在执行流程包括循环执行流程的情况下,获取循环执行流程的上一个执行流程的输出信息,并将输出信息分割为多个子信息;将多个子信息分别输入循环执行流程进行处理,分别得到每个子信息对应的处理结果信息;基于每个子信息对应的处理结果信息,确定目标结果信息,并将目标结果信息输入循环执行流程的下一个执行流程,直到执行完所有的执行流程,得到图像处理结果。
129.这里,循环执行流程为循环执行的执行流程,其循环执行次数可以根据循环执行流程的输入信息/输出信息所占内存大小进行设定。循环执行流程的上一个执行流程的输出信息,即为循环执行流程的输入信息,将该输入信息分割为多个子信息。对所占内存较小的子信息进行处理,能够得到占用内存较小的处理结果信息(即循环执行流程的输出信息中的部分信息)。示例性的,已知预设最大内存为3g,在循环执行流程的输入信息所占内存为3g的情况下,由于循环执行流程的处理过程还包括很多中间信息,因此循环执行流程的输出信息所占内存要大于3g,所以,可以将上一个执行流程的输出信息分割为2个子信息,其循环执行流程的循环执行次数为2次。如果还考虑设备运行的性能影响的情况,则可以将上一个执行流程的输出信息分割为3个子信息,其循环执行流程的循环执行次数为3次。
130.分割方式,示例性的,在上一个执行流程的输出信息所占内存大于预设值的情况下,可以是将上一个执行流程的输出信息,按照每个子信息所占内存小于预设最大内存量,均分为多个子信息。示例性的,在上一个执行流程的输出信息所占内存小于预设值,并且处理结果所占内存大于预设值的情况下,分割处理结果,使其所占内存小于预设最大内存量,之后,根据分割数量,将上一个执行流程的输出信息均分为多个子信息。
131.之后,在一种情况下,可以基于分割得到的多个子信息之间的关联关系,将相关联的两个子信息作为相邻输入子信息,确定循环执行时的输入顺序;之后,按照处理后的输出顺序不断整合每个子信息对应的处理结果信息,得到目标处理结果。在另一种情况下,无顺序输入多个子信息,具体的,将多个子信息分别输入循环执行流程进行处理,可以得到每个子信息对应的处理结果信息,之后,将每个子信息对应的处理结果信息做最后的整合,能够得到整合后的目标处理结果。在不同的应用场景下,其数据整合过程不同,本公开实施例不进行具体限定。
132.这里,由于需要处理的信息数据量较大,因此,可以利用循环执行流程分批处理信息分割后的子信息,对循环执行流程处理得到的每个子信息对应的处理结果信息进行融
合,能够得到用于表征整个信息的处理结果的目标结果信息,从而能够保证流程的继续执行。该实施方式利用循环执行流程分批处理子信息,能够降低每次处理过程所调用的计算机资源,进而降低设备损耗。
133.在一些实施例中,用户可以预先配置目标任务对应的配置文件,之后,将配置文件下载到计算机设备中,以为执行目标任务对应的后处理功能做准备。
134.这里,配置文件包括多个计算节点信息、至少一个执行流程信息和运行计算图时所调用的各个计算节点的执行接口信息等,该配置文件用于为生成计算图信息配置信息。
135.针对s102,基于待处理图像对应的目标任务,确定多个计算节点信息和至少一个执行流程信息,具体的,首先,可以获取目标任务对应的配置文件;之后,可以从配置文件中获取目标任务对应的多个计算节点信息和至少一个执行流程信息。
136.示例性的,针对目标任务,可以从配置文件中获取至少一个执行流程信息,之后,创建至少一个执行流程事项,分别为每个执行流程事项添加该执行流程事项对应的至少一个计算节点信息,根据每个计算节点信息对应的计算节点之间的依赖关系信息,生成执行流程。
137.示例性的,目标任务为进行边界模糊和去除小斑块后处理。具体的,配置文件包括边界模糊功能对应的计算节点信息q1、去除小斑块对应的计算节点信息q2和q3、执行流程信息p1为边界模糊后处理、执行流程信息p2为去除小斑块后处理。之后,根据配置文件中的执行流程信息p1,确定执行流程p
′1为执行计算节点信息q1对应的计算节点;根据配置文件中的执行流程信息p2以及q2与q3之间的依赖关系信息,确定执行流程p
′2为先执行计算节点信息q2对应的计算节点,之后,执行计算节点信息q3对应的计算节点。之后,根据至少一个执行流程生成计算图信息,可以根据计算图信息调用计算节点对应的功能代码,即可执行后处理算法,完成对待处理图像的后处理过程,得到图像处理结果。
138.这里,利用配置文件存储多个计算节点信息和至少一个执行流程信息,能够保证根据该配置文件能够较快的获取到用于生成计算图信息的上述计算节点信息和执行流程信息,保证了计算图信息生成的高效性和准确性。
139.在一些实施例中,还可以获取历史存储的目标任务中待检测对象的标准检测结果;按照计算图信息和标准检测结果,对待处理图像进行处理,得到图像处理结果。其利用预先设置好的任务阈值信息能够得到精准的图像处理结果。
140.示例性的,以目标任务为水体检测任务为例,即待检测对象为水体,可以获取历史存储的、针对水体的标准检测结果,之后,按照计算图信息对第一遥感影像进行处理,得到水体检测任务对应的目标水体检测结果,之后,将目标水体检测结果与历史存储的、针对水体的标准检测结果进行对比,如果不匹配,则确定本次检测到的目标水体检测结果异常,需要重新进行检测。
141.这里,不同的应用场景,任务阈值信息不同,本公开实施例不进行具体限定,不脱离本公开的范围,本领域技术人员可以针对任务阈值信息做出多种代替和修改,这些代替和修改都应落在本公开的范围内。由于任务阈值信息可以根据具体的应用场景灵活设定,因此,上述利用预先设置好的任务阈值信息来定图像处理结果,能够提高图像处理方法的实用性,以及保证图像处理结果的准确性。
142.示例性的,参见图4所示,其为本公开实施例提供的一种图像处理方法的应用场景
的执行流程图,包括:
143.s401:创建后处理计算图事项。
144.该计算图事项用于接收执行流程和计算节点信息,生成计算图信息。
145.s402:添加执行流程事项。
146.添加执行流程实现目的为建立执行流程。添加执行流程事项,具体的,可以为根据配置文件中的执行流程信息,添加至少一个执行流程事项。执行流程事项用于接收计算节点信息。
147.s403:为每个执行流程事项添加计算节点信息。
148.s404:判断每个执行流程中的计算节点信息对应的计算节点是否被定义;如果已定义,则执行s405,如果未定义,则执行s408。
149.s405:根据每个执行流程事项添加的计算节点信息,以及每个计算节点信息对应的计算节点之间的依赖关系信息,确定每个执行流程事项对应的执行流程。
150.添加完计算节点信息后,该执行流程事项完成,之后,根据每个计算节点信息对应的计算节点之间的依赖关系信息,生成执行流程。该执行流程可以根据其内部的计算节点信息,调用该计算节点信息对应的计算节点。
151.s406:根据至少一个执行流程生成计算图信息;
152.s407:根据计算图信息调用计算节点对应的功能代码,执行后处理算法,完成对待处理图像的后处理过程,得到图像处理结果,结束流程。
153.s408:定义未定义的计算节点。
154.上述s401~s408的后处理过程,通过将遥感解译后处理算法分解成很多个计算节点,保持了计算节点能够完成的预设功能的单一化,后处理算法需要调整时,既不需要修改已有的预设功能,也不需要修改代码,仅仅改变后处理计算图信息中计算节点信息的组合方式,即可满足不同的后处理需求。
155.本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
156.基于同一发明构思,本公开实施例中还提供了与图像处理方法对应的图像处理装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述图像处理方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
157.参照图5所示,为本公开实施例提供的一种图像处理装置的示意图,所述装置包括:图像获取模块501、信息确定模块502、流程生成模块503和图像处理模块504;其中,
158.图像获取模块501,用于获取待处理图像;
159.信息确定模块502,用于基于所述待处理图像对应的目标任务,确定多个计算节点信息和执行流程信息;其中,所述多个计算节点信息分别对应的计算节点用于完成不同的预设功能;
160.流程生成模块503,用于基于所述多个计算节点信息和所述执行流程信息,生成所述执行流程信息对应的执行流程;其中,所述执行流程包括至少一个计算节点信息;
161.图像处理模块504,用于基于所述执行流程,生成计算图信息,并按照所述计算图信息对所述待处理图像进行处理,得到图像处理结果。
162.一种可选的实施方式中,所述计算节点信息包括对应的计算节点的输入信息和输出信息;
163.所述流程生成模块503,用于基于每个计算节点的输入信息和输出信息,确定多个计算节点之间的依赖关系信息;基于确定的所述依赖关系信息和所述执行流程信息,生成所述执行流程信息对应的执行流程。
164.一种可选的实施方式中,所述装置还包括节点生成模块505,用于在基于所述待处理图像对应的目标任务,确定多个计算节点信息之后,在确定所述多个计算节点信息对应的计算节点中包括未被定义的计算节点的情况下,基于所述未被定义的计算节点的计算节点信息,生成对应的计算节点;
165.所述图像处理模块504,用于按照所述计算图信息调用每个计算节点信息对应的计算节点对所述待处理图像进行处理,得到图像处理结果。
166.一种可选的实施方式中,所述执行流程信息包括对应的执行流程的执行次序;
167.所述图像处理模块504,用于在确定所述目标任务存在多个所述执行流程信息的情况下,基于多个所述执行流程和每个执行流程的执行次序,生成计算图信息;基于所述执行次序,确定首个执行流程;将所述待处理图像输入所述首个执行流程对应的首个计算节点,并按照所述首个执行流程、以及所述执行次序对应的其它执行流程进行处理,直到执行完所有的执行流程,得到所述图像处理结果。
168.一种可选的实施方式中,所述执行流程包括循环执行流程;
169.所述图像处理模块504,用于获取所述循环执行流程的上一个执行流程的输出信息,并将所述输出信息分割为多个子信息;将所述多个子信息分别输入所述循环执行流程进行处理,分别得到每个子信息对应的处理结果信息;基于每个子信息对应的处理结果信息,确定目标结果信息,并将所述目标结果信息输入所述循环执行流程的下一个执行流程,直到执行完所有的执行流程,得到所述图像处理结果。
170.一种可选的实施方式中,所述信息确定模块502,用于获取所述目标任务对应的配置文件;从所述配置文件中获取所述目标任务对应的多个计算节点信息和至少一个执行流程信息。
171.一种可选的实施方式中,所述图像处理模块504,用于获取历史存储的所述目标任务中待检测对象的标准检测结果;按照计算图信息和所述标准检测结果,对所述待处理图像进行处理,得到图像处理结果。
172.一种可选的实施方式中,所述待处理图像包括初始水体检测结果对应的第一遥感影像;所述目标任务包括水体检测任务;
173.所述图像处理模块504,用于按照所述计算图信息中的执行流程对所述第一遥感影像进行处理,得到所述水体检测任务对应的目标水体检测结果。
174.一种可选的实施方式中,所述待处理图像包括初始建筑物检测结果对应的第二遥感影像;所述目标任务包括建筑物检测任务;
175.所述图像处理模块504,用于按照所述计算图信息中的执行流程对所述第二遥感影像进行处理,得到所述建筑物检测任务对应的目标建筑物检测结果。
176.关于图像处理装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述图像处理方法实施例中的相关说明,这里不再详述。
177.基于同一技术构思,本技术实施例还提供了一种计算机设备。参照图6所示,为本技术实施例提供的计算机设备的结构示意图,包括:
178.处理器61、存储器62和总线63。其中,存储器62存储有处理器61可执行的机器可读指令,处理器61用于执行存储器62中存储的机器可读指令,所述机器可读指令被处理器61执行时,处理器61执行下述步骤:s101:获取待处理图像;s102:基于待处理图像对应的目标任务,确定多个计算节点信息和执行流程信息;其中,多个计算节点信息分别对应的计算节点用于完成不同的预设功能;s103:基于多个计算节点信息和执行流程信息,生成执行流程信息对应的执行流程;其中,执行流程包括至少一个计算节点信息;s104:基于执行流程,生成计算图信息,并按照计算图信息对待处理图像进行处理,得到图像处理结果。
179.上述存储器62包括内存621和外部存储器622;这里的内存621也称内存储器,用于暂时存放处理器61中的运算数据,以及与硬盘等外部存储器622交换的数据,处理器61通过内存621与外部存储器622进行数据交换,当计算机设备运行时,处理器61与存储器62之间通过总线63通信,使得处理器61在执行上述方法实施例中所提及的执行指令。
180.本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的图像处理方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
181.本公开实施例还提供一种计算机程序产品,包括计算机指令,所述计算机指令被处理器执行时实现上述的图像处理方法的步骤。其中,计算机程序产品可以是任何能实现上述图像处理方法的产品,该计算机程序产品中对现有技术做出贡献的部分或全部方案可以以软件产品(例如软件开发包(software development kit,sdk))的形式体现,该软件产品可以被存储在一个存储介质中,通过包含的计算机指令使得相关设备或处理器执行上述图像处理方法的部分或全部步骤。
182.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
183.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
184.另外,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
185.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得
一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
186.最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

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

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

相关文献