一种基于图像转换制作去云雾训练集的方法及装置与流程

文档序号:22217224发布日期:2020-09-15 19:05阅读:166来源:国知局
一种基于图像转换制作去云雾训练集的方法及装置与流程

本申请涉及人工智能技术领域,尤其涉及一种基于图像转换制作去云雾训练集的方法及装置。



背景技术:

云雾是影响卫星观测的主要障碍,对于去处云雾的研究在遥感领域一直备受重视,但基于深度学习的去云雾研究却发展缓慢。

深度学习是学习样本数据的内在规律和表示层次,从而帮助对于诸如文字,图像和声音等数据进行解释。好的样本数据是获得一个优秀的深度学习模型的基础。所谓好的样本数据集不仅是要有充足的数据量,并且数据类型应该及其适用于对应的研究目标。

在基于深度学习的去云研究领域,数据集的缺乏一直是限制领域发展的一大原因。目前并没有一款针对于图像去云的通用数据集。而在目前的基于深度学习的去云研究领域,研究者大都是采用物理模型来对影像生成模拟的云雾,这使得生成的云雾本身就具有规律性(即存在物理模型的先验)。所以,设计一种更加随机但具有真实性的云雾生成方法,从而制作一个去云雾训练数据集具有重要研究意义。



技术实现要素:

本申请提供了一种基于图像转换制作去云雾训练集的方法及装置,通过选取地势较低,长年多云的某地区为主要目标区域,下载此区域卫星遥感影像,分别选取其中合适的有云雾的区域和无云雾的区域建立有云数据集和无云数据集,利用cyclegan模型学习两类数据之间的转化关系,得到将无云影像转化为有云影像的云雾生成模型,可用于制作去云雾训练集。

本申请的实施例是这样实现的:

本申请实施例第一方面提供一种基于图像转换制作去云雾训练集的方法,所述方法包括:

对原始图像进行预处理,得到有云数据集和无云数据集;

基于所述有云数据集、无云数据集对cyclegan模型进行训练,得到云雾生成模型;

将新下载的原始无云影像输入所述云雾生成模型计算得到模拟云雾影像,所述模拟云雾影像、原始无云影像构成去云雾训练集。

本申请提供的技术方案包括以下有益效果:通过选取已有卫星遥感影像,建立有云数据集和无云数据集,训练cyclegan模型得到云雾生成模型,可以实现有云雾图像和无云雾图像的转化,得到去云雾训练集,具有实现简单,研究意义大的特点。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示出了本申请实施例一种基于图像转换制作去云雾训练集系统100的示意图;

图2示出了本申请实施例一种示例性计算设备200的示意图;

图3示出了本申请实施例一种基于图像转换制作去云雾训练集方法的流程示意图;

图4示出了本申请实施例有云数据集和无云数据集获取执行步骤示意图;

图5示出了本申请实施例云雾候选区、无云候选区示意图;

图6示出了本申请实施例有云影像、无云影像示意图;

图7示出了本申请实施例cyclegan模型训练步骤示意图;

图8示出了本申请实施例cyclegan模型训练结果示意图;

图9示出了本申请实施例云雾生成模型的输入输出影像示意图。

具体实施方式

现在将描述某些示例性实施方案,以从整体上理解本文所公开的装置和方法的结构、功能、制造和用途的原理。这些实施方案的一个或多个示例已在附图中示出。本领域的普通技术人员将会理解,在本文中具体描述并示出于附图中的装置和方法为非限制性的示例性实施方案,并且本发明的多个实施方案的范围仅由权利要求书限定。结合一个示例性实施方案示出或描述的特征可与其他实施方案的特征进行组合。这种修改和变型旨在包括在本发明的范围之内。

本说明书通篇提及的″多个实施例″、″一些实施例″、″一个实施例″或″实施例″等,意味着结合该实施例描述的具体特征、结构或特性包括在至少一个实施例中。因此,本说明书通篇出现的短语″在多个实施例中″、″在一些实施例中″、″在至少另一个实施例中″或″在实施例中″等并不一定都指相同的实施例。此外,在一个或多个实施例中,具体特征、结构或特性可以任何合适的方式进行组合。因此,在无限制的情形下,结合一个实施例示出或描述的具体特征、结构或特性可全部或部分地与一个或多个其他实施例的特征、结构或特性进行组合。这种修改和变型旨在包括在本发明的范围之内。

本申请中使用了流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当明确理解,流程图的操作可以不按顺序来精确地执行。相反,这些操作可以以相反的顺序或同时执行。而且,可以将一个或多个其他操作添加到流程图。一个或多个操作可以从流程图中移除。

图1是根据本申请的一些实施例所示的一种基于图像转换制作去云雾训练集系统100的示意图。基于图像转换制作去云雾训练集系统100是一个为可以制作去云雾训练集的平台。基于图像转换制作去云雾训练集系统100可以包括一个服务器110、至少一个存储设备120、至少一个网络130、一个或多个图像采集装置150-1、150-2......150-n。服务器110可以包括一个处理引擎112。

在一些实施例中,服务器110可以是一个单独的服务器或者一个服务器群组。所述服务器群可以是集中式的或分布式的(例如,服务器110可以是一个分布式的系统)。在一些实施例中,服务器110可以是本地的或远程的。例如,服务器110可以通过网络130访问存储在存储设备120中的数据。服务器110可以直接连接到存储设备120访问存储数据。在一些实施例中,服务器110可以在一个云平台上实现。所述云平台可以包括私有云、公共云、混合云、社区云、分布云、多重云等或上述举例的任意组合。在一些实施例中,服务器110可以在与本申请图2所示的计算设备上实现,包括计算设备200中的一个或多个部件。

在一些实施例中,服务器110可以包括一个处理引擎112。处理引擎112可以处理与服务请求相关的信息和/或数据以执行本申请描述的一个或多个功能。例如,处理引擎112可以基于图像采集装置150采集的信息,并通过网络130发送至存储设备120,用于更新存储在其中的数据。在一些实施例中,处理引擎112可以包括一个或多个处理器。处理引擎112可以包括一个或多个硬件处理器,例如中央处理器(cpu)、专用集成电路(asic)、专用指令集处理器(asip)、图像处理器(gpu)、物理运算处理器(ppu)、数字信号处理器(dsp)、现场可编辑门阵列(fpga)、可编辑逻辑器件(pld)、控制器、微控制器单元、精简指令集计算机(risc)、微处理器等或上述举例的任意组合。

存储设备120可以存储数据和/或指令。在一些实施例中,存储设备120可以存储从图像采集装置150获得的数据。在一些实施例中,存储设备120可以存储供服务器110执行或使用的数据和/或指令,服务器110可以通过执行或使用所述数据和/或指令以实现本申请描述的实施例方法。在一些实施例中,存储设备120可以包括大容量存储器、可移动存储器、挥发性读写存储器、只读存储器(rom)等或上述举例的任意组合。在一些实施例中,存储设备120可以在一个云平台上实现。例如所述云平台可以包括私有云、公共云、混合云、社区云、分布云、多重云等或上述举例的任意组合。

在一些实施例中,存储设备120可以与网络130连接以实现与基于图像转换制作去云雾训练集系统100中的一个或多个部件之间的通信。基于图像转换制作去云雾训练集系统100的一个或多个部件可以通过网络130访问存储在存储设备120中的数据或指令。在一些实施例中,存储设备120可以直接与基于图像转换制作去云雾训练集系统100的一个或多个部件连接或通信。在一些实施例中,存储设备120可以是服务器110的一部分。

网络130可以促进信息和/或数据的交换。在一些实施例中,基于图像转换制作去云雾训练集系统100中的一个或多个部件可以通过网络130向基于图像转换制作去云雾训练集系统100中的其他部件发送信息和/或数据。例如,服务器110可以通过网络130从图像采集装置150获取/得到请求。在一些实施例中,网络130可以是有线网络或无线网络中的任意一种,或其组合。在一些实施例中,网络130可以包括一个或多个网络接入点。例如,网络130可能包括有线或无线网络接入点,如基站和/或互联网交换点130-1、130-2等等。通过接入点,基于图像转换制作去云雾训练集系统100的一个或多个部件可能连接到网络130以交换数据和/或信息。

图像采集装置150可以将采集到的各种数据信息发送到基于图像转换制作去云雾训练集系统100中的一个或多个设备中。例如,图像采集装置150可以将采集数据发送至服务器110进行处理,或存储设备120中进行存储。

图2是根据本申请的一些实施例所示的一种示例性计算设备200的示意图。服务器110、存储设备120和图像采集装置150可以在计算设备200上实现。例如,处理引擎112可以在计算设备200上实现并被配置为实现本申请中所披露的功能。

计算设备200可以包括用来实现本申请所描述的系统的任意部件。例如,处理引擎112可以在计算设备200上通过其硬件、软件程序、固件或其组合实现。为了方便起见图中仅绘制了一台计算机,但是本申请所描述的与基于图像转换制作去云雾训练集系统100相关的计算功能可以以分布的方式、由一组相似的平台所实施,以分散系统的处理负荷。

计算设备200可以包括与网络连接的通信端口250,用于实现数据通信。计算设备200可以包括一个处理器220,可以以一个或多个处理器的形式执行程序指令。示例性的电脑平台可以包括一个内部总线210、不同形式的程序存储器和数据存储器包括,例如,硬盘270、和只读存储器(rom)230或随机存储器(ram)240,用于存储由计算机处理和/或传输的各种各样的数据文件。示例性的计算设备可以包括存储在只读存储器230、随机存储器240和/或其他类型的非暂时性存储介质中的由处理器220执行的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200也包括输入/输出部件260,用于支持电脑与其他部件之间的输入/输出。计算设备200也可以通过网络通讯接收本披露中的程序和数据。

为理解方便,图2中仅示例性绘制了一个处理器。然而,需要注意的是,本申请中的计算设备200可以包括多个处理器,因此本申请中描述的由一个处理器实现的操作和/或方法也可以共同地或独立地由多个处理器实现。例如,如果在本申请中,计算设备200的处理器执行步骤1和步骤2,应当理解的是,步骤1和步骤2也可以由计算设备200的两个不同的处理器共同地或独立地执行。

图3示出了本申请实施例一种基于图像转换制作去云雾训练集方法的流程示意图。

在步骤301中,对多景遥感影像进行预处理,得到有云数据集和无云数据集。

在一些实施例中,所述多景遥感影像来自于landsat8影像。例如可通过地理空间数据云获取2013-2018年某地区lansat8采集的影像,并对采集的影像进行辐射定标及大气矫正等预处理工作。目标区域可选取地势较低,长年多云的地区。

landsat8是美国陆地卫星计划的第八颗卫星,于2013年2月11号在加利福尼亚范登堡空军基地由atlas-v火箭搭载发射成功,最初称为ldcm(landsatdatacontinuitymission:陆地卫星数据连续性任务)。landsat8上携带oli(operationallandimager:陆地成像仪)和tirs(thermalinfraredsensor:热红外传感器)。

图4示出了本申请实施例有云数据集和无云数据集获取执行步骤示意图。

在步骤401中,将所述多景遥感影像划分为云雾候选区、无云候选区。

对landsat8采集的每景影像,分析其各区域的特性,将云雾强度大于预设阈值的区域作为云雾候选区,将云雾强度小于预设阈值的区域作为无云候选区,分别进行裁减并输出,如图5所示。其中,图5左侧为无云候选区,图5右侧为云雾候选区。

在步骤402中,对所述云雾候选区、无云候选区的图像进行裁剪。

对多景遥感影像进行裁剪,具体可以使用滑动窗口的方法进行裁剪,例如对影像分别按尺寸为240×240,步长为120×120的滑动窗口进行裁剪,以增加数据量。

在步骤403中,对裁剪后的影像进行清洗得到有云影像、无云影像。

对于裁剪后的影像,云雾类影像中注意剔除云量太少或云量太浓以至于完全无法看清地物的影像,无云影像中则主要剔除存在薄雾和点状云层的影像。

在步骤404中,所述有云影像构成有云数据集、所述无云影像构成无云数据集。

将清洗过后的影像分为有云数据集和无云数据集作为训练样本,有云和无云图像样本示例如图6所示。

在步骤302中,基于所述有云数据集、无云数据集对cyclegan模型进行训练,得到云雾生成模型。

cyclegan(cycle-consistentadversarialnetworks:循环一致性生成对抗网络)是一种可以学习两类不同影像之间的特性,实现两类影像相互转化的深度学习算法。

cyclegan模型最大的优点就是两类影像不需要一一对应,通过训练cyclegan模型得到一种随机且具有真实感的云雾生成模型,从而使得建立去云雾训练集成为可能。

图7示出了本申请实施例cyclegan模型训练步骤示意图。

在步骤701中,将所述有云数据集中的有云影像、无云数据集中的无云影像输入cyclegan模型。

在一些实施例中,可以将有云影像作为网络模型的输入,无云影像作为网络模型的输出,对cyclegan模型进行训练和学习。

在步骤702中,通过对初始cyclegan模型进行训练,计算并更新cyclegan模型的网络参数。

在一些实施例中,cyclegan模型的生成器可采用9层残差网络、判别器可采用3层基础判别器网络、图像尺寸可设置为240×240、学习速率设置为0.0002,图8示出了模型训练结果。

在步骤703中,当cyclegan模型的损失函数满足预设条件时,cyclegan模型收敛、训练完成;否则,继续训练。

在cyclegan模型的训练的过程中,设定损失函数并通过使所述损失函数的输出值最小化,来寻找最优参数,所述最优参数即权重和阈值。在一些实施例中,开可以通过网络模型训练达到预设的迭代次数,使得模型收敛得到最优参数。在一些实施例中,所述cyclegan模型的损失函数达到收敛条件时,得到网络模型的最优参数,得到云雾生成模型。

当cyclegan模型的损失函数不能够满足预设条件时,继续训练网络模型使得其趋于收敛。

在步骤303中,将新下载的原始无云影像输入所述云雾生成模型计算得到模拟云雾影像,所述模拟云雾影像、原始无云影像构成去云雾训练集。

在得到云雾生成模型后,从landsat8下载原始无云影像,并按240×240进行裁减预处理,输入上述得到的云雾生成模型,计算得到对应的模拟云雾影像,如图9所示。

所述模拟云雾影像、原始无云影像构成去云雾训练集。

本申请还提供了一种基于图像转换制作去云雾训练集的装置,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器执行所述计算机程序时执行如本申请实施例任一所述基于图像转换制作去云雾训练集的方法。

本申请提供的技术方案包括以下有益效果,通过选取已有卫星遥感影像,建立有云数据集和无云数据集,训练cyclegan模型得到云雾生成模型,可以实现有云雾图像和无云雾图像的转化,得到去云雾训练集,具有实现简单,研究意义大的特点。

此外,本领域技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为″数据块″、″模块″、″引擎″、″单元″、″组件″或″系统″。此外,本申请的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。

计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、rf、或类似介质,或任何上述介质的组合。

本申请各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如java、scala、smalltalk、eiffel、jade、emerald、c++、c#、vb.net、python等,常规程序化编程语言如c语言、visualbasic、fortran2003、perl、cobol2002、php、abap,动态编程语言如python、ruby和groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(lan)或广域网(wan)、或连接至外部计算机(例如通过因特网)、或在云计算环境中、或作为服务使用如软件即服务(saas)。

此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。

同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本申请对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

针对本申请引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本申请作为参考。与本申请内容不一致或产生冲突的申请历史文件除外,对本申请权利要求最广范围有限制的文件(当前或之后附加于本申请中的)也除外。需要说明的是,如果本申请附属材料中的描述、定义、和/或术语的使用与本申请所述内容有不一致或冲突的地方,以本申请的描述、定义和/或术语的使用为准。

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