一种基于FasterRCNN的遥感影像对象间空间关系的识别方法与流程

文档序号:15888618发布日期:2018-11-09 19:52阅读:550来源:国知局
一种基于Faster RCNN的遥感影像对象间空间关系的识别方法与流程

本发明涉及对象识别技术领域,尤其涉及一种基于fasterrcnn的遥感影像对象间空间关系的识别方法。

背景技术

目标检测和识别近年来一直是计算机视觉研究方面比较热门的领域,深度学习方面用于对象检测识别的网络模型也种类繁多。在这些算法模型中,fasterrcnn算法是在rcnn算法和fastrcnn算法的基础上进行了改进,是目标检测和识别领域较为经典的算法,也是我们本次方法中所采用的目标检测识别算法。

但是不论是深度学习模型还是目标检测算法,在常规计算机视觉研究领域多用于自然场景下的对象检测,就是检测自然场景中的单个的对象和物体,而极少涉及到高分辨率遥感影像中的对象间空间关系的检测和识别。确切而言,国内外对于遥感影像分类识别领域中的对象之间的空间关系检测识别这个部分还处于盲区。所以在遥感影像识别和地物分类方面存在以下问题。

在遥感影像中存在住宅、工业、道路等众多的地物种类,因此也就存在着更为复杂的空间关系,如何在高分辨率遥感影像中识别遥感影像中不同空间对象间复杂的空间关系并加以提取是遥感领域一个很重要的研究课题。空间关系是用来描述遥感影像的一个重要指标,不同的空间对象之间因为其空间位置不同而具有了特定的空间关系。遥感影像也正是由于其具有空间关系而与视觉研究领域常规的自然场景图区分开来。



技术实现要素:

本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于fasterrcnn的遥感影像对象间空间关系的识别方法。

本发明解决其技术问题所采用的技术方案是:

本发明提供一种基于fasterrcnn的遥感影像对象间空间关系的识别方法,该识别方法中的对象间空间关系为:高分遥感影像中的住宅和道路之间存在的相邻关系,该方法包括以下步骤:

数据获取:获取研究地段的高分辨率遥感影像;

数据预处理:对获取的遥感影像数据进行预处理,包括几何校正、大气校正、裁剪拼接;

切割影像数据:根据统计学中的正态分布的方法得到影像切割的尺度,通过编写脚本在软件arcgis中将研究需要的样本数据从预处理后的影像数据里面按确定的尺度切割出来,切割出来的样本数据以id加影像格式后缀名来命名,得到样本集;

制作样本集的标注:利用labelimg图形标注工具对切割好的样本集进行标注,并通过labelimg图形标注工具人工画出样本集中空间对象和空间关系的rectbox,得到每个样本数据对应影像的xml标注文件;

构建fasterrcnn网络结构:在深度学习系统tensorflow中构建fasterrcnn的网络结构,fasterrcnn网络结构包括:输入层、池化层、卷积层和输出层;

设定训练参数:根据研究需求对迭代次数进行设定,对fasterrcnn网络结构中的各个训练参数进行修改,训练参数包括类别名称、类别数量;

选取训练集、测试集和验证集:通过随机函数从样本集中选取训练集和测试集,设定每n个样本数据为一次循环,其中前n-1个样本数据为训练集,最后一个为测试集;并通过随机函数继续选取验证集;

对训练集进行训练:按预先设定的迭代次数在fasterrcnn网络结构中对训练集的样本数据进行迭代训练,并得到训练结果中各个类别的ap值;

测试fasterrcnn网络结构训练的模型:运行测试脚本文件,选取研究区域的测试集样本数据,输出网络模型训练后的影像结果并保存到对应的结果文件夹中。

进一步地,本发明的该方法中研究区域的遥感影像为quickbird获取的高分辨率卫星遥感影像数据。

进一步地,本发明的该方法中切割影像数据是利用python编写的脚本工具在arcgis中完成。

进一步地,本发明的该方法中训练集、验证集和测试集的产生是通过python中的随机函数来完成。

进一步地,本发明的设定训练参数的方法具体为:根据研究需求对fasterrcnn网格结构中的faster_rcnn_end2end.sh文件中的迭代次数进行设定,对fasterrcnn网格结构中的pascal_voc.py文件中self._classes函数中的类别名称进行修改,然后对vggnet_train.py与vggnet_test.py中的类别个数进行修改。

进一步地,本发明的该方法中选取训练集和测试集时,设定每6个样本数据为一次循环,其中前5个样本数据为训练集,最后一个为测试集。

本发明产生的有益效果是:本发明的基于fasterrcnn的遥感影像对象间空间关系的识别方法,基于fasterrcnn算法模型的基础上针对高分辨率遥感影像中的复杂的空间对象类型对遥感影像中不同类别的空间对象间的空间关系进行检测识别;遥感影像的图像复杂度较高,影像极具特殊性,如何将复杂的遥感对象间的空间关系进行识别和提取是遥感领域的一大难点,也是本发明的一大特色;将计算机视觉与面向对象的遥感影像分类方法跨学科融合,将前沿的深度学习思维fasterrcnn算法与传统的面向对象的遥感分类方法相结合,可以更好更优的对高分辨率遥感影像中的地物进行分类和识别,同时本发明也将对象识别在自然场景中的简单对象识别拓宽到复杂遥感地物间的空间关系识别,将对象识别的广度进一步延伸。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的方法流程图;

图2-1是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的结果图实例1-1;

图2-2是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的结果图实例1-2;

图3-1是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的结果图实例2-1;

图3-2是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的结果图实例2-2;

图4-1是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的结果图实例3-1;

图4-2是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的结果图实例3-2;

图5-1是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的结果图实例4-1;

图5-2是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的结果图实例4-2;

图6-1是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的结果图实例5-1;

图6-2是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的结果图实例5-2;

图7-1是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的结果图实例6-1;

图7-2是本发明实施例基于fasterrcnn的遥感影像空间对象及空间关系的识别方法的结果图实例6-2。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明实施例的基于fasterrcnn的遥感影像对象间空间关系的识别方法,包括以下步骤:

步骤s1、数据获取:获取研究地段的的高分辨率遥感影像,本实例中采用的是2009年10月拍摄的武汉市光谷区域60cm分辨率的quickbird遥感。

步骤s2、数据预处理:对获取的遥感影像数据进行预处理,包括几何校正、大气校正、裁剪处理等。·

步骤s3、切割影像数据:根据统计学中的正态分布的方法得到影像切割的最佳尺度(即300×300),利用python编写的脚本工具在arcgis中将研究需要的数据从原始影像里面按300×300的尺度切割出来,切出来的样本以id加影像格式后缀名来命名,如:“000001.gif”来命名,最终进行合适的选取得到实验所需要的数据集“样本集”。

步骤s4、制作样本集的标注:利用labelimg图形标注工具对切割好的数据集进行标注,人工借助labelimg画样本集中空间对象和空间关系的rectbox,然后得到每一幅影像的xml标注文件,标注文件内容包含除了住宅(residence)、工业(industry)和道路(road)这三个单独的类别之外,还包含住宅(residence)和道路(road)这两者之间的空间相邻关系的一个类,本研究定义其名称为相邻(adjoin2).

步骤s5、构建fasterrcnn网络结构:在tensorflow中构建fasterrcnn的网络结构,fasterrcnn网络结构包括:输入层、池化层、卷积层和输出层。

200×200大小的图片经过输入层进入网络,经过5次卷积、池化层提取特征图,然后一路进入候选区域提议网络(rpn)来提取检测区域,将检测区域的结果和特征图一起输入到roipooling层(针对矩形框的池化层),输出的结果经过全连接层一路进入softmax分类层对候选区域进行分类,另一路进入窗口回归层在原图中确定候选区域的位置,最后将两路的结果叠加在一起,得到对象间空间关系的类别及准确位置。

本研究中的fasterrcnn网络结构是基于voc2007数据集来训练的,所以需要改变对应的网络结构,改变后的网络结构如下表所示:

表1fasterrcnn网络结构图

步骤s6、设定训练参数:根据研究需求对faster_rcnn_end2end.sh文件中的迭代次数进行一个合理的设定,对fasterrcnn中的pascal_voc.py文件中self._classes函数中的类别名称进行修改,然后对vggnet_train.py与vggnet_test.py中的类别个数进行修改。

步骤s7、选取训练集、测试集和验证集:在总的478个样本集中利用一个随机函数选取出来训练集和测试集的样本规模,具体设定为每6个样本为一次循环,其中前5个为训练集,最后一个为测试集,验证集的样本也是通过随机函数产生。

步骤s8、对训练集进行训练:按预先设定的迭代次数在fasterrcnn中对训练集的样本进行迭代训练,并得到训练结果各个类的ap值(识别的精度)。

所有的样本不能一次性通过神经网络,我们就将样本进行分批处理,每50个样本作为一个batch,每次向网络输入一个batch,待所有的batch都通过神经网络完成训练后,即完成一次迭代训练,经过实验,迭代次数在10000次左右取得较好的结果且不会引起过拟合。所有的训练样本完成训练后,我们将测试集的样本输入网络,网络就会根据训练的结果将测试集中的对象及对象间空间关系以矩形框的形式表示出来,最后网络会统计检测出来的框与我们制作样本时绘制的框,计算出每个样本不同类别的查准率p和查全率r的值,最后根据这两个值计算p(r)曲线在0到1之间的面积值即为该类的ap值,取各类别ap值的平均即为map值。

各个类的ap值如下表所示。由表可知,各个对象的类的ap值均在0.75以上,而住宅和工业单类精度则高达0.9以上,对于住宅和道路的邻近关系这种空间关系的识别也达到了0.7324的精度,这是迭代次数设置为2万次出现的结果,表明本发明对于遥感影像中空间关系的识别达到了较为理想的结果。

表2基于fasterrcnn的影像分类ap值

步骤s9、测试fasterrcnn网络训练的模型:运行demo.py文件,选取研究区域的测试集样本,输出网络模型训练后的影像结果并保存到对应的result文件夹下面,其中黄色的框表示空间相邻关系的识别框,而红色框表示单独的对象识别框。

由图中识别结果可知,经过fasterrcnn训练之后输出的影像结果对于住宅和道路的相邻关系有较理想的识别结果,而单类对象的精度高达0.9以上,因此本发明的思路是可行的。

应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。

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