首页> 中国专利> 遥感图像处理方法、装置、设备及介质

遥感图像处理方法、装置、设备及介质

摘要

本公开提供了一种遥感图像处理方法,可以应用于人工智能领域。遥感图像处理模型包括图像更新模块和矩阵更新模块,该方法包括:获取待除云的有云图像和有云图像的云层掩膜矩阵;将有云图像和云层掩膜矩阵输入图像更新模块,基于云层掩膜矩阵消除有云图像中预设区域的云层,输出更新的有云图像;将更新的有云图像输入矩阵更新模块,对云层掩膜矩阵进行更新,输出更新的云层掩膜矩阵;根据更新的有云图像和更新的云层掩膜矩阵,得到消除云层图像。本公开还提供了一种遥感图像处理装置、设备、存储介质和程序产品。

著录项

  • 公开/公告号CN114677590A

    专利类型发明专利

  • 公开/公告日2022-06-28

    原文格式PDF

  • 申请/专利权人 中国工商银行股份有限公司;

    申请/专利号CN202210305227.1

  • 发明设计人 张晓娟;邱一晋;张佳颖;

    申请日2022-03-25

  • 分类号G06V20/10;G06V10/82;G06N3/04;G06N3/08;

  • 代理机构中科专利商标代理有限责任公司;

  • 代理人孙蕾

  • 地址 100140 北京市西城区复兴门内大街55号

  • 入库时间 2023-06-19 15:47:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-06-28

    公开

    发明专利申请公布

说明书

技术领域

本公开涉及人工智能领域,具体涉及遥感图像处理领域,特别涉及一种遥感图像处理方法、装置、电子设备、计算机可读存储介质和计算机程序产品。

背景技术

目前通过遥感技术能够获取高空间分辨率和高光谱分辨率的遥感图像。但是,遥感图像非常容易受到气候因素的影响,云遮挡作为造成地物信息丢失的主要原因之一,遥感图像采集到的地面信息会由于稀疏或者完全模糊的云层覆盖,而产生不同程度的退化。云遮档中的厚云一般呈现为朵云的状态,在遥感图像中厚云不仅难以去除,而且被厚云遮挡的信息完全无效。

现有技术,去除遥感图像中厚云的算法包括使用传统的除云方法和基于深度学习的高分辨率遥感图像厚云去除方法。其中,传统的除云方法,如基于同态滤波方法和基于多光谱信息方法,在针对薄云或者云区面积较小时比较有效,但在厚云去除方面有一定的局限性;对于基于深度学习的高分辨率遥感图像厚云去除方法,在使用标准卷积遍历整个网络输入的有云遥感图像的情况下,其输出是根据有效像素和被遮盖像素计算得到的,由于被遮盖像素属于干扰信息,会使输出图像产生扭曲、模糊、颜色失真等视觉伪影。此外,在使用掩膜(MASK)对干扰信息进行遮盖时,随着网络层数的加深,网络会忽略云朵边界产生的有效信息,继而对最终损失造成影响。

现有技术存在对厚云遮盖的遥感图像的无法消除在恢复被厚云遮盖的信息过程中出现的各种图像失真信息,无法精确、有效的恢复被遮盖的地表信息。

发明内容

鉴于上述问题,本公开提供了一种遥感图像处理方法、装置、设备、介质和程序产品,用于处理遥感图像中的云层,并消除U-Net网络作为重建网络时可能出现的各类伪影,恢复被遮盖的地表信息。

根据本公开的第一个方面,提供了一种遥感图像处理方法,遥感图像处理模型包括图像更新模块和矩阵更新模块,该方法包括:获取待除云的有云图像和有云图像的云层掩膜矩阵;将有云图像和云层掩膜矩阵输入图像更新模块,基于云层掩膜矩阵消除有云图像中预设区域的云层,输出更新的有云图像;将更新的有云图像输入矩阵更新模块,对云层掩膜矩阵进行更新,输出更新的云层掩膜矩阵;根据更新的有云图像和更新的云层掩膜矩阵,得到消除云层图像。

根据本公开的实施例,其中,将有云图像和云层掩膜矩阵输入图像更新模块,基于云层掩膜矩阵消除有云图像中预设区域的云层,输出更新的有云图像包括:根据有云图像和云层掩膜矩阵,确定第一特征信息;基于第一特征信息调整用于对有云图像进行特征提取的卷积核的权重,确定第二特征信息;以及利用缩放因子调整第二特征信息的信息量,输出更新的有云图像。

根据本公开的实施例,其中,将更新的有云图像输入矩阵更新模块,对云层掩膜矩阵进行更新,输出更新的云层掩膜矩阵包括:确定在云层掩膜矩阵中待卷积的第一区域;在更新后的有云图像中确定与第一区域对应的第二区域;在第二区域存在未被云层遮盖的部分的情况下,将掩膜卷积核的中心位置对应的数值更新为1,得到第一区域掩膜卷积核;利用第一区域掩膜卷积核对第一区域进行卷积,以更新云层掩膜矩阵的第一区域;以及在云层掩膜矩阵的所有区域都完成卷积操作的情况下,输出更新的云层掩膜矩阵。

根据本公开的实施例,其中,根据更新的有云图像和更新的云层掩膜矩阵,得到消除云层图像包括:利用图像更新模块对更新的有云图像和更新的云层掩膜矩阵进行E次特征提取,直至恢复有云图像中被云层遮盖的全部信息,输出消除云层图像,其中,每次特征提取之后都会产生恢复预设区域信息的有云图像,E为大于等于2的整数;以及其中,在得到恢复预设区域信息的有云图像之后,在进行下一次特征提取之前,利用矩阵更新模块对此次更新的有云图像进行更新,得到此次更新的有云图像对应的云层掩膜矩阵。

根据本公开的实施例,其中,有云图像包括N个波段的遥感图像,遥感图像处理模型的输入为N个波段的遥感图像和云层掩膜矩阵,其中,N为大于等于2的整数。

根据本公开的实施例,训练样本集包括多个数据对,每个数据对包括有云训练图像、无云训练图像和云层掩膜训练矩阵,确定遥感图像处理模型包括:根据预设角度旋转有云训练图像和云层掩膜训练矩阵,得到扩充有云训练数据和对应的扩充云层掩膜训练矩阵;以及将扩充有云训练数据和对应的扩充云层掩膜训练矩阵作为待训练遥感图像处理模型的输入,得到遥感图像处理模型。

根据本公开的实施例,其中,获取待除云的有云图像和有云图像的云层掩膜矩阵包括:基于经配准的有云图像,根据预设步长将经配准的有云图像进行分割,得到待除云的有云图像,待除云的有云图像包括多个预设步长的图像块;以及根据待除云的有云图像,确定有云图像对应的云层掩膜矩阵,其中,将云层掩膜矩阵中有云区域标记为0,其他区域标记为1。

根据本公开的第二个方面,提供了一种遥感图像处理装置,遥感图像处理模型包括图像更新模块和矩阵更新模块,该装置包括:获取模块,用于获取待除云的有云图像和有云图像的云层掩膜矩阵;第一输出模块,用于将有云图像和云层掩膜矩阵输入图像更新模块,基于云层掩膜矩阵消除有云图像中预设区域的云层,输出更新的有云图像;第二输出模块,用于将更新的有云图像输入矩阵更新模块,对云层掩膜矩阵进行更新,输出更新的云层掩膜矩阵;消除模块,用于根据更新的有云图像和更新的云层掩膜矩阵,得到消除云层图像。

根据本公开的第三个方面,提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个指令,其中,当一个或多个指令被一个或多个处理器执行时,使得一个或多个处理器实现上述遥感图像处理方法。

根据本公开的第四个方面,提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现上述遥感图像处理方法。

根据本公开的第五个方面,提供了一种计算机程序产品,计算机程序产品包括计算机可执行指令,指令在被执行时用于实现上述遥感图像处理方法。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的遥感图像处理方法的系统架构;

图2示意性示出了根据本公开实施例的遥感图像处理方法的流程图;

图3示意性示出了根据本公开实施例的输出更新的有云图像的方法的流程图;

图4示意性示出了根据本公开实施例的输出更新的云层掩膜矩阵的方法的流程图;

图5示意性示出了根据本公开实施例的得到消除云层图像的方法的流程图;

图6示意性示出了根据本公开实施例的遥感图像处理模型;

图7示意性示出了根据本公开实施例的确定遥感图像处理模型的方法的流程图;

图8示意性示出了根据本公开实施例的获取待除云的有云图像和云层掩膜矩阵的方法的流程图;

图9示意性示出了根据本公开实施例的遥感图像处理装置的结构框图;以及

图10示意性示出了根据本公开实施例的适于遥感图像处理方法的电子设备的方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

本公开的实施例提供了一种遥感图像处理模型的训练方法,包括:基于原始云层图像数据,确定训练样本集,训练样本集包括多个数据对,每个数据对包括有云图像、无云图像和云层掩膜矩阵;根据有云图像和云层掩膜矩阵,确定更新的有云图像;基于更新后的有云图像,对云层掩膜矩阵进行更新,得到更新的云层掩膜矩阵;基于更新的有云图像和更新的云层掩膜矩阵,得到消除云层图像;以及根据消除云层图像和无云图像,调整遥感图像处理模型的参数,得到训练好的遥感图像处理模型。

图1示意性示出了根据本公开实施例的遥感图像处理方法的系统架构。

如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如图像处理类应用、视频处理类应用、图像编辑类应用等(仅为示例)。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。

需要说明的是,本公开实施例所提供的异常行为分类模型的训练方法一般可以由服务器105执行。相应地,本公开实施例所提供的异常行为分类模型的训练装置一般可以设置于服务器105中。本公开实施例所提供的异常行为分类模型的训练方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的异常行为分类模型的训练装置也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

以下将基于图1描述的系统架构,通过图2~图7对公开实施例的遥感图像处理模型的训练方法进行详细描述。

图2示意性示出了根据本公开实施例的遥感图像处理方法的流程图。

如图2所示,该方法包括操作S201~S204。

在操作S201,获取待除云的有云图像和所述有云图像的云层掩膜矩阵。

根据本公开的实施例,由于通过遥感卫星拍摄的遥感图像会受到云层的影响,拍摄的遥感图像上会存在被云层遮盖的部分。在获取待除云的有云图像之后,对该待除云的有云图像进行处理,得到该有云图像中对应的云层数据,并根据对应的云层数据确定云层掩膜矩阵。

根据本公开的实施例,有云图像中包含被云层遮盖部分和未被云层遮盖部分,有云图像对应的云层掩膜矩阵能够表现有云图像中的初始云层数据,利用云层掩膜矩阵可以恢复云层遮盖部分与未被遮盖部分的连接处的部分信息。

在操作S202,将有云图像和云层掩膜矩阵输入图像更新模块,基于云层掩膜矩阵消除有云图像中预设区域的云层,输出更新的有云图像。

根据本公开的实施例,将有云图像和云层掩膜矩阵输入图像更新模块后,图像更新模块能够根据输入的云层掩膜矩阵,由外向内地减小有云图像中的云层,输出更新的有云图像。具体的,云层遮盖部分与未被遮盖部分的连接处包含部分隐含信息,在利用云层掩膜矩阵对有云图像进行特征提取的情况下,能够减小有云图像中被云层遮盖部分的面积,恢复部分被云层遮盖的信息。由于云层遮盖部分和未遮盖部分的连接处是不规则的,所以每次恢复的区域为连接处的部分区域,进而使得云层呈现由外到内的减小趋势。

在操作S203,将更新的有云图像输入矩阵更新模块,对云层掩膜矩阵进行更新,输出更新的云层掩膜矩阵。

根据本公开的实施例,由于更新的有云图像中云层遮盖面积发生了变化,此时的云层掩膜矩阵包含的云层信息与更新的有云图像中包含的云层存在差异,需要将更新的有云图像输入矩阵更新模块,利用更新的有云图像对云层掩膜矩阵进行更新,输出更新的云层掩膜矩阵。更新的云层掩膜矩阵与更新的有云图像中包含的云层信息相对应。

根据本公开的实施例,矩阵更新模块能够存储每次更新的云层掩膜矩阵,以便利用输入的更新有云图像实现云层掩膜矩阵的下一次更新。

在操作S204,根据更新的有云图像和更新的云层掩膜矩阵,得到消除云层图像。

根据本公开的实施例,更新的有云图像恢复了被云层遮盖部分的部分信息,不能恢复被云层遮盖的全部信息,所以需要对更新的有云图像和更新的云层掩膜矩阵继续进行多次特征提取,直到将有云图像中被云层遮盖的信息被全部恢复,得到消除云层图像。

根据本公开的实施例,遥感图像处理模型是利用开源数据库包括的遥感图像数据预先训练好的模型。

本公开通过对有云图像和云层掩膜矩阵进行特征提取,降低干扰信息对遥感图像处理模型输出结果的影响,消除各类视觉伪影,提升网络的重建精度;通过自动更新云层掩膜矩阵,避免因云层掩膜矩阵不更新造成的损失的影响,提高了遥感图像处理模型的处理精确度,实现对遥感图像中厚云的去除。

根据本公开的实施例,遥感图像处理方法可以应用到遥感图像处理领域,确定准确的消除云层图像,提高遥感图像处理的准确性。此外,遥感图像处理方法还可以应用到金融领域,利于金融机构、企业实现准确的资产评估,减少由于图像处理失真带来的资产评估损失。

例如,针对于农业,在对植被绿化程度进行评估时,可以利用本公开的遥感图像处理方法,获取消除云层的准确图像,进而对植被了绿化程度实现准确评估;针对于金融评估,在资产机构对实体施工项目进行评估时,资产机构可以根据消除云层的准确图像确定该实体施工项目的准确进度,进而评估该实体项目的风险情况。

例如,建筑物A在施工过程中由于资金短缺,需要向银行B进行贷款,银行B需要对该建筑物A的位置信息、施工进度等信息进行评估。在对建筑物A进行评估时,采用该建筑物A的多幅遥感图像。

由于空中云层遮盖的原因,该建筑物A的部分信息被云层遮挡,此时获取的有云图像无法显示建筑物A被遮盖部分的具体信息,银行B也就无法根据有云遥感图像,对建筑物A进行准确的评估。并且利用现有消除云层技术在对厚云遮盖的遥感图像进行处理时,无法消除在恢复被厚云遮盖的信息过程中出现的各种图像失真信息,仍然无法精确、有效的恢复被遮盖的地表信息。这就会造成银行B对该项目的评估结果出现偏差,导致资金损失。

通过利用本公开提供的遥感图像处理方法得到的消除云层图像,能够帮助银行或其他资产机构获取消除云层图像的准确信息,便于银行或其他资产机构进行准确的资产评估,减小资金损失风险。

图3示意性示出了根据本公开实施例的输出更新的有云图像的方法的流程图。

如图3所示,该方法包括操作S301~S303。

在操作S301,根据有云图像和云层掩膜矩阵,确定第一特征信息。

根据本公开的实施例,根据输入遥感图像处理模型的有云图像和云层掩膜矩阵,将该有云图像与该云层掩膜矩阵点乘,得到用于后续特征提取的第一特征信息矩阵。

在操作S302,基于第一特征信息调整用于对有云图像进行特征提取的卷积核的权重,确定第二特征信息。

根据本公开的实施例,利用卷积核对第一特征信息进行特征提取,但是由于提取的特征信息存在差异,调整卷积核的权重对第一特征信息进行处理,得到第二特征信息。

在操作S303,利用缩放因子调整第二特征信息的信息量,输出更新的有云图像。

根据本公开的实施例,由于第一特征信息是根据有云图像和云层掩膜矩阵得到的,随着云层掩膜矩阵的更新,卷积核对应区域内已知元素增多,通过缩放因子可以调整不同数量有效值的输入量,得到更新的有云图像。

根据本公开的实施例,对输入的有云图像和云层掩膜矩阵进行的特征提取可以满足如下公式:

其中,W表示卷积核的权重,b表示相应的偏置。X表示当前卷积滑动窗的输入,x'表示对当前输入进行特征提取后的输出,M表示相应的二值云层掩膜矩阵,

图4示意性示出了根据本公开实施例的输出更新的云层掩膜矩阵的方法的流程图。

如图4所示,该方法包括操作S401~S405。

在操作S401,确定在云层掩膜矩阵中待卷积的第一区域。

根据本公开的实施例,在对有云图像和云层掩膜矩阵进行特征提取之后,需要对云层掩膜矩阵进行更新,将更新后的云层信息匹配到云层掩膜矩阵中。每次更新都会缩小云层遮盖部分的面积,所以需要确定未更新云层掩膜矩阵待卷积的第一区域。在实际应用中,对云层掩膜矩阵中不包含云层信息的部分进行卷积不能提取信息,所以待卷积的第一区域一般指包含云层信息的部分。

在操作S402,在更新后的有云图像中确定与第一区域对应的第二区域。

根据本公开的实施例,更新后的有云图像包含的云层信息也会相应的发生更新,在确定云层掩膜矩阵中待卷积的第一区域之后,在更新后的有云图像中确定与第一区域对应的第二区域,以便根据更新后的有云图像确定更新后的云层信息。

在操作S403,在第二区域存在未被云层遮盖的部分的情况下,将掩膜卷积核的中心位置对应的数值更新为1,得到第一区域掩膜卷积核。

根据本公开的实施例,第二区域存在未被云层遮盖的部分表明当前第二区域存在未被遮盖的地表信息,此时将用于对云层掩膜矩阵进行更新的掩膜卷积核的中心位置对应的数值更新为1,得到第一区域掩膜卷积核。

在操作S404,利用第一区域掩膜卷积核对第一区域进行卷积,以更新云层掩膜矩阵的第一区域。

根据本公开的实施例,由于第一区域掩膜卷积核的中心位置为1,利用第一区域掩膜卷积核对云层掩膜矩阵的第一区域进行卷积时,云层掩膜矩阵的第一区域都会被更新为包含地表信息的矩阵。云层掩膜矩阵作为正向传递的一部分,如果保证更新的信息都被应用,则云层掩膜矩阵最终将成为一个全1的矩阵,继而完成缺失信息补全的目的。

在操作S405,在云层掩膜矩阵的所有区域都完成卷积操作的情况下,输出更新的云层掩膜矩阵。

根据本公开的实施例,根据更新的有云图像对云层掩膜矩阵所有待卷积的第一区域进行更新后,就会得到包含更新后云层信息的云层掩膜矩阵。

根据本公开的实施例,对云层掩膜矩阵进行更新可以满足公式:

其中,M表示相应的二值云层掩膜矩阵,m'表示对当前输入进行卷积后的输出。

图5示意性示出了根据本公开实施例的得到消除云层图像的方法的流程图。

如图5所示,该方法包括操作S501~S502。

在操作S501,利用图像更新模块对更新的有云图像和更新的云层掩膜矩阵进行E次特征提取,直至恢复有云图像中被云层遮盖的全部信息,输出消除云层图像。

根据本公开的实施例,由于对更新的有云图像和更新的云层掩膜矩阵进行特征提取恢复的信息有限,每次特征提取都会产生恢复预设区域信息的有云图像,所以需要利用图像更新模块进行E次的特征提取,直至恢复有云图像中被云层遮盖的全部信息,输出消除云层图像,E为大于等于2的整数。例如,E为5,对输入的有云图像和云层掩膜矩阵进行5次特征提取,输出消除云层图像。

在操作S502,其中,在得到恢复特定预设区域信息的有云图像之后,在进行下一次特征提取之前,利用矩阵更新模块对此次更新的有云图像进行更新,得到此次更新的有云图像对应的云层掩膜矩阵。

根据本公开的实施例,更新的有云图像是已恢复预设区域信息的有云图像,下一次进行有云图像的更新时,需要本次恢复区域的信息,因此下次更新需要更新的云层掩膜矩阵。根据本次更新的有云图像能够更新云层掩膜矩阵,以便利用更新的云层掩膜矩阵对有云图像进行下一次更新,即有云图像和云层掩膜矩阵的更新是交替进行的。

根据本公开的实施例,用于训练遥感图像处理模型的训练集来自于Landsat8遥感卫星,每个有云图像包括N个波段的遥感图像,所以遥感图像模型的输入包括N个波段的遥感图像和所述云层掩膜矩阵,其中,N为大于等于2的整数。例如,有云图像包括9个波段的遥感图像,遥感图像处理模型的输入为9个波段的遥感图像和云层掩膜矩阵。

图6示意性示出了根据本公开实施例的遥感图像处理模型。

根据本公开的实施例,如图6所示,使用Python+Pytorch框架搭建基于自适应部分卷积的U-Net网络。网络的输入为:网络的输入为N+1,前N个通道为遥感图像,第N+1个通道为对应云层掩膜矩阵。U-Net共五层,其中编码器中的卷积操作全部由自适应的部分卷积层来完成,在解码阶段使用反卷积进行上采样。为了解码器的与编码器做一个风格上的融合和逼近,通过跳跃链接将对应编码器提取到的特征数据和云层掩膜矩阵链接。

图7示意性示出了根据本公开实施例的确定遥感图像处理模型的方法的流程图。

如图7所示,该方法包括操作S701~S702。

在操作S701,根据预设角度旋转有云训练图像和云层掩膜训练矩阵,得到扩充有云训练数据和对应的扩充云层掩膜训练矩阵。

根据本公开的实施例,训练样本集包括多个数据对,每个数据对包括有云训练图像、无云训练图像和云层掩膜训练矩阵。

根据本公开的实施例,训练样本集从开源数据集RICE获取的。开源数据集RICE包括薄云数据集RICE1和厚云数据集RICE2,其中厚云数据集RICE2来自于Landsat8遥感卫星。从开源数据库获取的原始云层图像数据包含450对图像,每一对图像包括有云图像数据、无云图像数据和云层掩膜数据组成。

根据本公开的实施例,对原始云层图像数据的有云图像数据、无云图像数据和云层掩膜数据进行处理,得到训练样本集中对应的有云训练图像、无云训练图像和云层掩膜训练矩阵。例如,对有云图像数据、无云图像数据进行数据扩充、配准处理;对云层掩膜数据进行二值化处理,得到二值云层掩膜矩阵。

根据本公开的实施例,遥感图像处理模型采用U-Net网络,包括编码器和解码器,编码器的每个卷积层都与编码器的下个卷积层相连,同时还与解码器中对应的卷积层相连。

根据本公开的实施例,遥感图像处理模型利用python的OpenCV库对有云训练图像和云层掩膜训练矩阵进行预设角度的旋转,得到扩充有云训练数据和对应的扩充云层掩膜训练矩阵。具体的,预设角度包括0°、90°、180°,对有云训练图像和云层掩膜训练矩阵进行随机的预设角度的旋转。例如,先对有云训练图像和云层掩膜训练矩阵进行90°旋转,然后进行180°,在向另一个方向进行90°旋转,在进行旋转过程,旋转角度都是随机的。

在操作S702,将扩充有云训练数据和对应的扩充云层掩膜训练矩阵作为待训练遥感图像处理模型的输入,得到遥感图像处理模型。

根据本公开的实施例,对有云训练图像和云层掩膜训练矩阵进行旋转后,可以扩充训练样本集的样本数量,然后将扩充有云训练数据和对应的扩充云层掩膜训练矩阵作为待训练遥感图像处理模型的输入,对遥感图像处理模型进行训练。

根据本公开的实施例,根据训练过程中得到的消除云层图像和对应无云训练图像,得到待训练遥感图像处理模型的损失函数。根据损失函数调整待训练遥感图像处理模型的参数,在满足预设条件的情况下得到训练好的遥感图像处理模型。

根据本公开的实施例,对遥感图像处理模型进行训练的网络初始参数的分布服从均值为0,标准差为0.05的正态分布,Relu为层与层之间的激活函数。使用Adam算法进行优化,初始学习率设置为0.0001,共迭代500000次,每隔20000次学习率变为原来的0.8。该遥感图像处理模型的损失函数包括有效区域的损失、云层遮挡区域的损失和正则约束项损失,具体的损失函数满足:

L=L

其中,L为整个网络的损失函数,L

根据本公开的实施例,经过训练后,损失函数中p为5,q为0.1。

有效区域的损失函数满足:

其中,M表示相应的二值云层掩膜矩阵,f(w,b,x

云层遮挡区域的损失函数满足:

其中,M表示相应的二值云层掩膜矩阵,f(W,b,x

正则约束项的损失函数满足:

其中,x

图8示意性示出了根据本公开实施例的获取待除云的有云图像和云层掩膜矩阵的方法的流程图。

如图8所示,该方法包括操作S801~S802。

在操作S801,基于经配准的有云图像,根据预设步长将经配准的有云图像进行分割,得到待除云的有云图像,待除云的有云图像包括多个预设步长的图像块。

根据本公开的实施例,在获取原始云层图像数据之后,利用专业的遥感图像软件对有云图像和无云图像进行配准。配准之后,按照固定步长对经过配准的有云图像进行分割,将其分割为固定大小的图像块合集,得到待除云的有云图像。

在操作S802,根据待除云的有云图像,确定有云图像对应的云层掩膜矩阵,其中,将云层掩膜矩阵中有云区域标记为0,其他区域标记为1。

根据本公开的实施例,根据待除云的有云图像对云层掩膜进行二值化处理,将有云区域对应的位置标记为0,其他没有被云层遮盖的部分标记为1,得到只包含0、1的二值化云层掩膜矩阵。

根据本公开的实施例,在对有云图像和无云图像进行配准之后,按照70%、20%和10%的比例将配准的图像分别划分为数据集、验证集和测试集。训练样本集包括数据集和验证集,用于对遥感图像处理模型进行训练,测试集用于对训练好的遥感图像处理模型进行测试。

图9示意性示出了根据本公开实施例的遥感图像处理装置的结构框图。

如图9所示,该实施例的遥感图像处理模型的训练装置900包括获取模块901、第一输出模块902、第二输出模块903和消除模块904。

获取模块901,用于获取待除云的有云图像和有云图像的云层掩膜矩阵。在一实施例中,获取模块901可以用于执行前文描述的操作S201,在此不再赘述。

第一输出模块902,用于将有云图像和云层掩膜矩阵输入图像更新模块,基于云层掩膜矩阵消除有云图像中预设区域的云层,输出更新的有云图像。在一实施例中,第一输出模块902可以用于执行前文描述的操作S202,在此不再赘述。

第二输出模块903,用于将更新的有云图像输入矩阵更新模块,对云层掩膜矩阵进行更新,输出更新的云层掩膜矩阵。在一实施例中,第二输出模块903可以用于执行前文描述的操作S203,在此不再赘述。

消除模块904,用于根据更新的有云图像和更新的云层掩膜矩阵,得到消除云层图像。在一实施例中,消除模块904可以用于执行前文描述的操作S204,在此不再赘述。

根据本公开的实施例,所述第一输出模块902包括第一确定单元、第二确定单元和第三确定单元。

第一确定单元用于根据有云图像和云层掩膜矩阵,确定第一特征信息。在一实施例中,第一确定单元可以用于执行前文描述的操作S301,在此不再赘述。

第二确定单元用于基于第一特征信息调整用于对有云图像进行特征提取的卷积核的权重,确定第二特征信息。在一实施例中,第二确定单元可以用于执行前文描述的操作S302,在此不再赘述。

第三确定单元用于利用缩放因子调整第二特征信息的信息量,输出更新的有云图像。在一实施例中,第三确定单元可以用于执行前文描述的操作S303,在此不再赘述。

根据本公开的实施例,所述第二输出模块903包括第一矩阵确定单元、第二矩阵确定单元、第三矩阵确定单元、第四矩阵确定单元和第五矩阵确定单元。

第一矩阵确定单元用于确定在云层掩膜矩阵中待卷积的第一区域。在一实施例中,第一矩阵确定单元可以用于执行前文描述的操作S401,在此不再赘述。

第二矩阵确定单元用于在更新后的有云图像中确定与第一区域对应的第二区域。在一实施例中,第二矩阵确定单元可以用于执行前文描述的操作S402,在此不再赘述。

第三矩阵确定单元用于在第二区域存在未被云层遮盖的部分的情况下,将掩膜卷积核的中心位置对应的数值更新为1,得到第一区域掩膜卷积核。在一实施例中,第三矩阵确定单元可以用于执行前文描述的操作S403,在此不再赘述。

第四矩阵确定单元用于利用第一区域掩膜卷积核对第一区域进行卷积,以更新云层掩膜矩阵的第一区域。在一实施例中,第四矩阵确定单元可以用于执行前文描述的操作S404,在此不再赘述。

第五矩阵确定单元用于在云层掩膜矩阵的所有区域都完成卷积操作的情况下,输出更新的云层掩膜矩阵。在一实施例中,第五矩阵确定单元可以用于执行前文描述的操作S405,在此不再赘述。

根据本公开的实施例,所述消除模块904包括特征提取单元和更新单元。

特征提取单元用于利用图像更新模块对更新的有云图像和更新的云层掩膜矩阵进行E次特征提取,直至恢复有云图像中被云层遮盖的全部信息,输出消除云层图像,其中,每次特征提取之后都会产生恢复预设区域信息的有云图像,E为大于等于2的整数。在一实施例中,特征提取单元可以用于执行前文描述的操作S501,在此不再赘述。

更新单元用于在得到恢复预设区域信息的有云图像之后,在进行下一次特征提取之前,利用矩阵更新模块对此次更新的有云图像进行更新,得到此次更新的有云图像对应的云层掩膜矩阵。在一实施例中,更新单元可以用于执行前文描述的操作S502,在此不再赘述。

根据本公开的实施例,该遥感图像处理装置还包括预处理模块,预处理模块包括第一预处理单元和第二预处理单元。

第一预处理单元用于根据预设角度旋转有云训练图像和云层掩膜训练矩阵,得到扩充有云训练数据和对应的扩充云层掩膜训练矩阵。在一实施例中,第一预处理单元可以用于执行前文描述的操作S701,在此不再赘述。

第二预处理单元用于将扩充有云训练数据和对应的扩充云层掩膜训练矩阵作为待训练遥感图像处理模型的输入,得到遥感图像处理模型。在一实施例中,第二预处理单元可以用于执行前文描述的操作S702,在此不再赘述。

根据本公开的实施例,获取模块901包括配准单元和标记单元。

配准单元用于基于经配准的有云图像,根据预设步长将经配准的有云图像进行分割,得到待除云的有云图像,待除云的有云图像包括多个预设步长的图像块。在一实施例中,配准单元可以用于执行前文描述的操作S801,在此不再赘述。

标记单元用于根据待除云的有云图像,确定有云图像对应的云层掩膜矩阵,其中,将云层掩膜矩阵中有云区域标记为0,其他区域标记为1,得到云层掩膜矩阵。在一实施例中,标记单元可以用于执行前文描述的操作S802,在此不再赘述。

图10示意性示出了根据本公开实施例的适于遥感图像处理模型的电子设备的方框图。

如图10所示,根据本公开实施例的电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。处理器1001例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1001还可以包括用于缓存用途的板载存储器。处理器1001可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 1003中,存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此相连。处理器1001通过执行ROM1002和/或RAM1003中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1002和RAM1003以外的一个或多个存储器中。处理器1001也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,电子设备1000还可以包括输入/输出(I/O)接口1005,输入/输出(I/O)接口1005也连接至总线1004。电子设备1000还可以包括连接至I/O接口1005的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1002和/或RAM 1003和/或ROM1002和RAM1003以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的遥感图像处理模型的训练方法。

在该计算机程序被处理器1001执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1009被下载和安装,和/或从可拆卸介质1011被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被处理器1001执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号