本方法涉及地理信息、遥感和深度学习技术领域,具体是一种基于gis技术和空间数据的地物检测maskr-cnn模型训练方法。
背景技术:
maskr-cnn模型是目前效果最好的图像识别检测深度学习模型之一,不少研究者和技术人员将其应用在遥感影像的地物检测上,即利用maskr-cnn模型自动在遥感影像上找到目标地物,并标识出来。相关研究成果和应用实践表明maskr-cnn模型在遥感影像的地物检测方面,有着相比传统方法较大的完整度和准确度的提升。
利用maskr-cnn模型进行遥感影像地物检测的前提是将大量已标注类别的地物图片样本输入模型进行样本训练,在具体训练实践中,研究者和技术人员需要花费大量的时间和精力去准备训练图片样本集,然后再使用样本集去训练模型。
现在用于地物检测maskr-cnn模型的训练流程通常是:首先在遥感影像上找到目标地物;然后裁剪得到包含地物的小范围影像图片,在上面勾绘地物范围和标注地物类型,并处理成符合要求的尺寸大小;最后将所有处理完毕的图片文件按照命名、文件层次等要求进行整理,提交给maskr-cnn模型进行若干轮次的权重训练,得到模型权重。上述方法存在以下不足:
(1)遥感影像具有数据量大、地理范围广的特点,通常包含有数量庞大的地物,为每个地物进行勾绘标注和图片裁剪的样本制作是非常繁重和易出错的工作;
(2)通过文件存储组织的样本图片集占用的存储空间大、缺乏组织管理、迁移使用需要重新拷贝等缺点;
(3)模型训练的样本提供缺乏灵活性,不能根据不同的训练要求场景自由方便地组织不同类型的样本集。
技术实现要素:
针对上述传统maskr-cnn模型训练方法的不足之处,面向深度学习技术在地学上应用的需要,本发明提出一种基于gis技术和空间数据的地物检测maskr-cnn模型训练方法,可实现样本数据集的自动生成和有效管理,能够直接对原始空间数据进行maskr-cnn模型权重的自动化训练,并提供了对训练结果的管理共享,极大程度地降低了训练过程中的人工工作量,这对于推动maskr-cnn模型在地物检测方面的深入应用有着非常好的促进作用。
为了解决上述技术问题,本法采用的技术方案是:一种基于gis技术和空间数据的地物检测maskr-cnn模型训练框架,包括如下步骤:
第一步、利用包含有目标地物的地物矢量数据,确定每个地物样本的空间范围并存入第一空间数据库,得到样本范围数据集;
第二步、利用所述样本范围数据集和所述地物矢量数据,确定每个样本范围内所包含的地物部分并存入第二空间数据库,得到地物掩膜数据集;
第三步、利用样本范围数据集、地物掩膜数据集和目标地物的遥感影像栅格数据构建地物样本库,所述目标地物的遥感影像栅格数据与所述地物矢量数据位于同一地理范围;
第四步、利用机器学习框架api和编程语言实现maskr-cnn模型,将其结构实现为可执行程序,将第三步所得的所述地物样本库作为模型训练的样本输入源;
第五步、利用样本输入源为地物样本库的maskr-cnn模型可执行程序,进行地物检测模型训练,将得到的模型权重结果放置在文件服务器进行共享,并将权重结果信息存储在第三空间数据库,得到模型训练结果库。
进一步的,所述权重结果信息包括权重结果文件名、存储路径、生成时间、训练参数等相关信息。
进一步的,在第一步中,确定每个地物样本的空间范围的方法是:对地物矢量数据中的每个地物,进行距离为d的空间缓冲区分析得到地物外拓多边形,d一般为5米,然后获取地物外拓多边形的最小外接矩形,将其作为一个地物样本的空间范围,即样本范围。
进一步的,所述第一步中对样本范围进行存储的第一空间数据库,是基于postgis拓展的postgresql数据库。
进一步的,在第二步中,确定每个样本范围内所包含的地物部分的方法是:将样本范围数据集中的每个样本范围与地物矢量数据进行空间相交分析,得到各个样本范围内部的地物多边形,即地物掩膜。
进一步的,对地物掩膜进行存储的第二空间数据库,是基于postgis拓展的postgresql数据库。
进一步的,在第三步中,构建地物样本库的方法是:首先针对样本范围数据集中的每个样本范围,利用gdal库获取样本范围内的遥感影像栅格数据,并调整图像通道,作为该样本的图像内容;然后在地物掩膜数据集中查找样本范围所对应的地物掩膜多边形和相关种类信息,并将其矢量栅格化,作为该样本的地物掩膜数据;分别获得的样本图像内容和样本地物掩膜数据一起构成一个地物训练样本,所有地物训练样本都通过上述方法生成,赋予唯一编号记录在数据库中,构成地物样本库。
进一步的,在第四步中,maskr-cnn模型实现方法是:利用tensorflow、keras机器学习框架和python编程语言将maskr-cnn模型结构予以实现,其中,以地物样本库作为maskr-cnn模型的训练样本来源,模型在训练过程中请求样本的方式是通过地物样本库中的样本编号来获取样本图像内容和样本地物掩膜数据。
进一步的,在第五步中,将模型权重结果的文件名、存储路径、生成时间、训练参数等信息存储至数据库进行信息共享,网络中其他终端可以在模型训练结果库检索获取到相关信息。
本发明的创新点在于:通过空间分析、空间数据库等技术,将遥感数据、矢量数据等空间数据制作为符合要求的模型训练样本,实现了地物检测样本的自动化生成,提高了样本的准备效率,降低了工作量,避免了冗余文件存储;地物样本库、模型训练结果均通过数据库进行管理和数据传递,并与maskr-cnn模型的具体实现相互融合,实现了maskr-cnn模型训练过程的规范化、信息化管理。实验结果表明,该技术能够实现从原始的空间数据到最终的模型权重结果的maskr-cnn模型自动化训练流程,是一种效率高、人工干预少、可靠的技术框架,可以较好地满足地物检测maskr-cnn模型训练的实际需要。
附图说明
图1是本发明确定地物样本空间范围的示意图;
图2是本发明确定样本范围内所包含的地物部分,得到地物掩膜的示意图;
图3是本发明利用样本范围数据集、地物掩膜数据集和遥感影像构建地物样本库的示意图;
图4是本发明利用机器学习框架和编程语言实现maskr-cnn模型并结合地物样本库的示意图;
图5是本发明将模型训练权重结果放置在文件服务器进行共享和相关信息存储在数据库的示意图。
具体实施方式
下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述。
本发明一种基于gis技术和空间数据的地物检测maskr-cnn模型训练框架其中一个实施例,包括以下步骤:
第一步、利用包含有目标地物的某一区域的地物矢量数据,对其中每个地物矢量多边形进行缓冲区和最小外接矩形的gis空间分析,得到一定大小且包含有地物位置的矩形空间范围,作为地物样本的空间范围并存入第一空间数据库,得到样本范围数据集(见图1)。
本步骤中,根据地物矢量多边形生成地物样本范围的具体方法是:对地物矢量多边形,进行距离为d的空间缓冲区分析得到地物外拓多边形,d一般为5米,然后获取地物外拓多边形的最小外接矩形,这个矩形是一个空间矢量多边形,表示了一定的空间范围,且地物的位置在该空间范围以内,该空间范围就作为样本的范围,称之为样本范围。每生成一个样本范围就将其存储到空间数据库中(本实例采用基于postgis拓展的postgresql空间数据库),并赋予唯一的索引编号,最终得到样本范围数据集。
第二步、对获得的样本范围数据集,将其所包含的每个样本范围与上一步使用的地物矢量数据分别进行空间相交分析,得到每个样本范围内部的地物多边形,作为地物掩膜存储在第二空间数据库中,由此得到地物掩膜数据集(见图2)。
本步骤中,一个样本范围与地物矢量数据进行空间相交分析后,会得到若干个地物矢量多边形(地物掩膜),其空间位置均不会超出样本范围的空间范围,对得到的地物掩膜多边形赋予唯一的索引编号,同时标记所在样本范围的索引编号,然后存储在第二空间数据库中,本实例所述第二空间数据库采用基于postgis拓展的postgresql空间数据库。
第三步、利用第一步中相同区域的遥感影像,根据样本范围数据集中的样本范围,获取样本范围内的遥感影像栅格数据作为样本图像内容;同时在地物掩膜数据集中,检索得到样本范围所对应的地物掩膜多边形和相关种类信息,并转换为符合样本要求的掩膜数据;样本图像内容和样本掩膜数据相结合成maskr-cnn模型所需的地物训练样本,相关信息存放在数据库,构成地物样本库(见图3)。
本步骤中,利用遥感影像和样本范围得到样本图像内容的具体方法是:以样本范围作为限定参数,利用gdal库获取样本范围内的遥感影像栅格数据,并调整图像的rgb通道,作为该样本的图像内容,其中gdal是一套用于读写空间栅格和矢量数据的跨平台开源库。将地物掩膜多边形转换为地物掩膜数据的方法是:将样本范围内的每个地物掩膜矢量多边形,通过矢量栅格化转换成栅格类型数据,栅格分辨率与本步骤使用的遥感影像相同,同时标注地物掩膜栅格的类型信息,作为该样本的掩膜数据。对于样本图像内容和样本掩膜数据构成的地物样本,赋予唯一编号,相关信息存储在关系型数据库中。
第四步、利用机器学习框架api和编程语言实现maskr-cnn模型,根据maskr-cnn模型的原理,将其结构实现为可执行程序。在具体程序实现中,将上一步的地物样本库与maskr-cnn模型的相结合,使地物样本库作为maskr-cnn模型的训练样本输入源(见图4)。
本步骤中,地物样本库与maskr-cnn模型结合的方法是:maskr-cnn模型在训练过程请求训练样本时,从地物样本库中检索地物样本的编号,然后根据编号得到样本图像内容和样本掩膜数据,从而输入模型结构进行运算。本步骤实现maskr-cnn模型所采用的机器学习框架为tensorflow和keras,编程语言为python。
第五步,将上一步得到的maskr-cnn模型可执行程序,执行模型训练并得到模型权重结果。模型权重结果自动存放在文件服务器进行网络共享,同时将其相关信息存储在数据库,构成模型训练结果库(见图5)。
本步骤中,将模型权重结果的文件名、存储路径、生成时间、训练参数等权重结果信息存储至数据库进行信息共享,网络中其他终端可以在模型训练结果库检索获取到相关信息,进而从文件服务器获取需要的模型权重结果,实现模型权重结果的有效分发共享
经过上述步骤,可以实现基于gis技术和空间数据的地物检测maskr-cnn模型训练框架。图1-图5为运用本方法,基于gis技术和空间数据的地物检测maskr-cnn模型训练框架的各步骤效果图。可以看到,各步骤分别实现了:(1)利用地物矢量数据,应用缓冲区、最小外接矩形的gis分析和空间数据库技术,构建样本范围数据集;(2)根据样本范围数据集和地物矢量数据,应用空间相交的gis分析和空间数据库技术,构建地物掩膜数据集;(3)根据样本范围数据集、地物掩膜数据集和地物遥感影像栅格数据,运用gdal库、矢量栅格化和数据库技术,构建地物样本库;(4)利用tensorflow和keras机器学习框架和python编程语言,利用地物样本库作为样本输入源,构建maskr-cnn可执行程序;(5)利用maskr-cnn可执行程序,进行maskr-cnn地物检测模型训练,运用文件服务器和数据库技术,构建模型训练结果库。
上述步骤(1)到步骤(3),利用地物矢量数据和地物遥感影像栅格数据,并结合gis、空间数据库等技术实现了地物样本制作中的图片裁剪和地物勾绘标注的计算机自动化生成,极大地降低了常规样本制作方法的工作量和出错率;步骤(3)中形成的地物样本库具有统一组织管理、存储冗余小、方便迁移使用的特点,克服了文件存储组织样本图片集的缺点;步骤(4)中将地物样本库作为maskr-cnn的样本输入源,可以利用数据库的筛选功能自由地组织不同类型地样本集,解决了常规模型训练的样本提供缺乏灵活性的缺点。以上各步骤处理过程都很好地围绕地物检测maskr-cnn模型训练框架展开,没有出现明显偏离。
在具体的实验中,以面积大约为3.2平方公里的某地区作为试验区,进行房屋地物样本制作与模型训练。在地物样本库生成阶段,使用包括3000个房屋矢量多边形的地物矢量数据和分辨率为5厘米遥感影像栅格数据,在6核e5-2420cpu和32gb内存的计算机下生成包含3000个房屋样本的地物样本库,并存储在基于postgis拓展的postgresql空间数据库中,地物样本库的生成时间大约为30分钟,平均一个样本0.6秒;在maskr-cnn模型实现阶段,maskr-cnn执行程序通过网络连接房屋地物样本库,并利用数据库sql语言控制样本的输入类型和数量;在模型训练阶段,maskr-cnn可执行程序在nvidiartx1080tigpu和16gb内存下执行模型训练,训练结果放置在iis服务器网络共享。整个实验过程从空间数据的输入到训练结果的网络共享,全程自动化进行,所用时间大约为24小时,相比传统方法,人工工作量小且花费时间少。因此,最终得到的基于gis技术和空间数据的地物检测maskr-cnn模型训练框架能够满足实际需求,为maskr-cnn模型的推广应用做出了贡献。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。