基于MaskR-CNN的航拍图建筑物检测和分割方法及装置与流程

文档序号:22132736发布日期:2020-09-08 13:12阅读:281来源:国知局
基于Mask R-CNN的航拍图建筑物检测和分割方法及装置与流程
本发明涉及人工智能检测
技术领域
,具体涉及一种基于maskr-cnn的航拍图建筑物检测和分割方法及装置。
背景技术
:随着国家经济的快速发展,中国城市化的速度也越来越快,城镇中各式各样的建筑物数量都在急剧增加,同时无人机航拍技术的成熟也使得城镇航拍图像和视频被广泛应用在城市规划任务中。在城市规划任务中,构建数字城市任务中的3d重建是发展的主要趋势,但是城镇建筑物的种类繁多和不断更新,比如城中村、城郊临时搭建的工厂由于结构各式各样、空间布局没有规律等问题,构建一个建筑物的3d数字模型是一个工作量很大的任务。建筑物的3d建模任务中首先需要构筑一个建筑物的整体,再对贴图等细节进行渲染和修改。一方面,获取一个建筑物的主体形状信息,可以通过建筑物的屋顶俯视轮廓快速得到。另一方面,随着无人机航拍等技术的快速发展,可以方便快速的获得大量城市建筑物的俯瞰航拍图。所以从这些建筑物航拍图像中检测和分割出建筑物的屋顶区域可以加快建筑物3d建模的速度,促进数字城市的发展,也是图像领域的重要研究方向。所以,将深度学习技术应用在建筑物航拍图图像的检测任务中,可以达到很好的效果和具有极高的研究价值。技术实现要素:对于大规模建筑物分割的场景,针对航拍图像中建筑物的检测和分割精度低、成本高的问题,本发明的目的在于提供一种基于maskr-cnn的航拍图建筑物检测和分割方法和装置来实现航拍图中建筑物高精度、高效率的全自动检测和分割。为实现上述目的,本发明提供了基于maskr-cnn的航拍图建筑物检测和分割方法,包括以下步骤:步骤1:采集城镇建筑物的清晰航拍图像并对图像中的建筑物轮廓进行标注,得到训练数据集和测试数据集;步骤2:搭建基于maskr-cnn的航拍图建筑物检测和分割方法的网络架构,所搭建的网络架构包括以下模块:特征提取模块,该模块使用深层卷积神经网络提取输入图像的高级特征表示;区域建议网络-rpn(regionproposalnetwork),用于从特征提取模块输出的图像特征映射图中提取出需要进行分类的候选区域roi(regionofinterest);roi区域分类器,用于对roi中的对象进行分类和输出边界框的坐标;roi区域分割网络,用于执行图像语义分割,生成每个候选区域的建筑物掩码;步骤3:将增强后的建筑物航拍图训练数据集作为网络的输入,通过迭代训练得到航拍图像分割模型,并且通过测试集数据对训练获得的分割模型进行测试和性能评估,得到最终的航拍图建筑物分割模型;步骤4:将所获得的模型应用于用户需要进行处理的建筑物航拍图,得到最终的建筑物航拍图像分割图。进一步的,所述步骤1中包括对训练样本进行非随机掩盖的数据增强,具体操作为对每一幅训练样本进行手工添加掩盖区域,在包括含有阴影部分干扰物的训练图片中,将掩盖区域选择位于阴影干扰物部分;在没有明显干扰的图片中,将掩盖区域选择位于建筑物对象边缘部分,掩盖区域的像素值设置为0,再对所有的图片使用标注工具进行轮廓标注;非随机掩盖方式为数据集添加更符合实际的噪声数据,增加了训练集的数据量以及样本多样性。进一步的,所述步骤2搭建基于maskr-cnn的航拍图建筑物检测和分割方法的网络架构中采用resnet-101-fpn作为特征提取网络,可以生成多尺度的特征图,在不增加计算量的同时,提升目模型对多尺度下小物体的精准快速检测能力。进一步的,所述步骤3网络在建筑物航拍图数据集上训练之前,通过使用在imagenet数据集上预训练的模型权重对用于特征提取的resnet-101网络参数进行初始化,并且使用在coco数据集上预训练的权重对rpn网络的参数进行初始化,使得模型能够为航拍图数据集中的图像生成有意义的图像特征和准确的候选区域,提高了网络在建筑物航拍图数据集上的训练速度和训练所得模型的准确度。进一步的,可以全自动的检测并分割出输入的航拍图中的所有建筑物。本发明还提供基于maskr-cnn的航拍图建筑物检测和分割装置,包括:图像输入模块,用于用户将待分割建筑物航拍图输入网络进行分割;图像深层特征提取模块,用于对输入图像数据进行深层特征提取,得到多尺度的特征图;候选区域获取模块,用于从输入航拍图像的特征图计算得到包含建筑物目标的候选区域;候选区域分类和修正模块,用于对rpn得到的候选区域进行分类和修正包围框;候选区域分割和输出模块,用于对修正后的候选区域进行分割,获取目标建筑物的形状掩码,并通过形状掩码和候选区域位置坐标计算出原图中建筑物屋顶轮廓的分割区域,得到最终的建筑物分割图像。进一步的,所述图像深层特征提取模块包括:通过已经预先训练好的resnet-101-fpn网络对输入航拍图进行计算得到多尺度的特征图像金字塔。进一步的,所述候选区域获取模块通过已经预先训练好的rpn网络可以为每个建筑物目标生成一个候选区域,以进行后续的分类和分割操作。进一步的,所述候选区域分割和输出模块包括一个训练好的全卷积神经网络计算得到建筑物的分割掩模,并通过形状掩码和候选区域位置坐标计算出原图中建筑物屋顶轮廓的分割区域,得到最终的建筑物分割图像。本发明具有以下技术效果:(1)本发明使用非随机掩盖的数据增强方法,解决了航拍图环境下建筑物屋顶的阴影等干扰物导致的模型分割精度不高的问题,提高了模型在建筑物航拍图的检测和分割任务中的分割精度和抗干扰性。本发明中采用非随机掩盖数据增强方式训练得到的模型可以有效的解决阴影等干扰物对建筑物顶部分割的影响。(2)本发明使用迁移学习的方法,节省了大量的训练时间以及解决了训练数据集有限的问题,对比不适用迁移学习的方法,大大提高了模型的检测和分割精度。(3)本发明所有步骤都在gpu中处理计算,网络的训练时间更短,并且系统的检测和分割效率更高附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例中基于maskr-cnn的航拍图建筑物检测和分割方法的流程图;图2为本发明实施例中步骤1中非随机掩盖和随机掩盖的数据增强方式对比图;图3为本发明实施例中步骤1中使用labelme标注建筑物区域的示意图;图4为本发明实施例中搭建的基于maskr-cnn的航拍图建筑物检测和分割的网络结构图;图5为本发明实施例中搭建的基于maskr-cnn的航拍图建筑物检测和分割的架构中的resnet-101-fpn网络结构图;图6为本发明实施例中提出的方法在采用不同数据增强方式后在干扰测试集上检测和分割精度对比图;图7为本发明实施例中的基于maskr-cnn的航拍图建筑物检测和分割方法的分割效果图;图8为本发明实施例提供的一种基于maskr-cnn的航拍图建筑物分割的装置结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为了便于对本
发明内容的描述,给出如下的定义描述:定义1:fpn为featurepyramidnetworks的简称,为本发明中特征提取网络中的组成部分。实施了1根据本发明实施例,提供了一种基于maskr-cnn的航拍图建筑物检测和分割方法,解决了传统分割方法步骤繁琐准确率低等问题。该方法流程图如图1所示,具体技术方案和步骤如下:步骤1:采集城镇建筑物的清晰航拍图像并对图像中的建筑物轮廓进行标注,得到训练数据集和测试数据集,并且使用非随机掩盖的数据增强方式增强训练数据集。具体地,包括以下步骤:步骤1.1:通过无人机拍摄获取不同城镇建筑物的航拍图像,并从中筛选出角度合适成像清晰的300张图片,从其中随机选出200张作为训练数据,再从剩下的100张中随机选出40张作为一般测试集,再从剩余60张图像中人工挑选出屋顶含有明显干扰物的建筑物图像10张,作为干扰测试集。步骤1.2:采用非随机掩盖方法对训练数据集进行增强,提高训练集的数据量以及样本多样性。如图2所示,非随机掩盖的操作方式对掩盖区域位置的选择分两种情况:(1)在含有阴影等干扰物的训练图片中,将掩盖区域选择位于建筑物对象中阴影等干扰物所在区域,如建筑物对象中存在多个干扰物,则选择其中干扰影响最大的一个作为掩盖区域;(2)在没有阴影等明显干扰的图片中,将掩盖区域选择位于建筑物对象边缘部分。掩盖区域的尺寸根据干扰物的大小人为设定,之后将掩盖区域的像素值全都设置为0。然后对增强后的训练数据集以及测试集图片进行标注。用labelme标注工具打开图像,用多边形工具勾勒出每一个完整的建筑物的顶部轮廓并设置标签为building,如图3示例,然后将标注文件逐一保存。步骤2:部署深度学习平台tensorflow2.6的环境,搭建基于maskr-cnn的航拍图建筑物检测和分割的网络架构,网络结构如图4所示。具体地,所构建的网络的第一模块为特征提取网络resnet-101-fpn,图5为resnet-101-fpn网络结构示意图。图中可看到resnet-101-fpn网络可以通过各区域连接路径的方向分为三个部分:(1)自下而上连接部分。这部分对输入图片进行特征提取,由resnet-101网络构成,根据输出特征图的大小可以resnet-101网络将分为5个阶段,这些阶段各自最后一层输出的特征图分别为conv1、conv2、conv3、conv4和conv5,分别将它们表示为c1、c2、c3、c4和c5。由于conv1尺寸最大会导致消耗过多内存,后续不会使用conv1生成最终特征图。(2)自上而下连接部分。这部分从上而下将不同大小的特征图分别标记为m5、m4、m3和m2,由最高层特征图m5开始向下进行上采样操作,m5是由c5经过1*1卷积得到。为了处理简单和减少训练参数,上采样操作采用最近邻上采样方法,采样倍数为2。(3)横向连接部分。这部分将上采样操作得到的特征图和自下而上连接部分生成相同大小的特征图进行加和操作,逐元素对位求和,然后将结果进行3x3卷积,目的是消除上采样的混叠效应,得到最终特征图。如m4是由c4经过1*1卷积得到的特征图和m5进行2倍上采样的特征图加和操作得到,然后m4再经过3x3卷积操作得到最终特征图p4,以此类推可得到特征图p3和p2。p5由m5直接进行3x3卷积得到,p6由m5经过2倍的下采样maxpooling操作得到,但是p6特征图只用在rpn中用来得到区域建议,不会作为roialign层的输入,计算p6的目的是让输入rpn网络的特征图金字塔包含的最小尺寸更小,有利于rpn网络设计更大尺寸的锚框,从而可以更好地检测出更大尺寸的目标。所以输入图片经过resnet-101-fpn网络提取特征后得到的rpn输入的是[p2,p3,p4,p5,p6],而作为后续roialign层的输入则是[p2,p3,p4,p5]。在工程实践中,由于航拍图影像数据量比较大、单个图片像素比较高等原因,提高网络的训练速度和分割速度也很重要,所以也可以根据对于时间与精度的实际需求特征提取网络中较深的resnet-101替换成为合适深度的残差网络。所构建的网络的第二模块为区域建议网络(rpn)。rpn的作用是利用特征图的信息计算出一组包含目标建筑物顶部区域的矩形候选区域在原图(输入图片)的坐标位置,包括中心点的坐标和矩形的长和宽的值。rpn的输入是图片经过resnet-101-fpn网络得到的不同尺度的特征图金字塔[p2,p3,p3,p5,p6],针对不同尺度的特征图分别进行候选区域的预测。为了预先生成一系列可供筛选和调整的候选区域,首先使用一个大小为3*3的卷积核对特征图进行卷积操作;然后rpn使用一个在特征提取网络输出的特征图上滑动的窗口,在所滑过的位置生成多种预先设置好长宽比与面积的锚框。由于[p2,p3,p3,p5,p6]特征金字塔本身就具有多种尺寸可用,因此对于特征金字塔中的每一层特征图都可以分配特定的锚框面积,特征图p2、p3、p4、p5、p6对应的锚框面积分别为32*32、64*64、128*128、256*256、512*512,每种面积的锚框分别包含1:1、1:2和2:1这三种长宽比,所以对于p2、p3、p4、p5、p6特征图上的每个点都会生成三个不同的锚框,同时还可以得到这些锚框相对于原图的位置坐标。对于生成的每个锚框,单独训练rpn网络判断原图中的锚框区域属于前景还是背景,如果该锚框属于前景则输出该锚框的前景得分和坐标修正值,修正值包括中心点位置的偏移量以及长和宽的变化倍数。在rpn训练时,如果一个锚框区域和真实标注区域的交并比(intersectionoverunion,iou)在0.5以上,那么就判定这个锚框区域属于前景(建筑物);如果该锚框与真实区域的交并比在0.5以下,那么就判定这个锚框就属于背景(非建筑物)。rpn训练完成后,特征提取网络输出的各层特征图进入rpn,rpn会对生成的每个锚框进行二分类,判断其为前景还是背景,并对其坐标位置进行修正,可能会产生大量具有很多重叠区域的锚框,这时根据每个修正后的锚框的前景得分进行排序筛选,最后利用非极大抑制为每个目标保留一个最精确的锚框作为候选区域,与特征图一起输入到roialign层进行后续的分类和分割等操作。所构建的网络的第三模块是roi区域分类器(roi区域分类网络),作用是对由rpn得到的候选区域进行分类和精修目标边界框。由rpn获取包含目标的矩形候选区域之后,传统方法会根据该矩形候选区域的位置在输入图片中裁剪出对应的区域,然后对该区域进行分类等操作。本章所提出的方法中,由特征提取网络得到的特征图和rpn网络得到的区域位置坐标输入到roialign层中,通过roialign层可以从特征图中精确地获取原图中的候选区域所对应的特征,并使用双线性插值法将该特征转换为7*7的固定尺寸作为roi区域分类网络的输入,从而得到每个候选区域的类别是否为建筑物屋顶和边界框的修正值,完成目标分类和框选的任务。所构建的网络的第四个模块是roi区域分割网络,由一个用于语义分割的全卷积神经网络fcn构成。由特征提取网络得到的特征图和rpn网络得到的区域位置坐标经过roialign层得到固定尺寸为14*14的特征图作为roi区域分割网络的输入,然后经过4个3*3的卷积层和一个2*2的反卷积层得到尺寸大小为28*28的输出,最后经过一个1*1的卷积层和sigmoid激活层得到最终的尺寸大小为28*28的输出,输出中每个点的值表示候选区域中所对应点属于目标建筑物屋顶的概率;最后,用0.5作为概率阈值得到候选区域目标建筑物屋顶的形状掩码,并通过形状掩码和候选区域位置坐标计算出原图中建筑物屋顶轮廓的分割区域,得到最终的建筑物分割图像。步骤3:将增强后的建筑物航拍图训练数据集作为网络的输入,通过迭代训练得到航拍图像分割模型,并且通过测试集数据对训练获得的分割模型进行测试和性能评估,得到最终的航拍图建筑物分割模型。具体地,包括以下步骤:在训练网络之前要选择初始化参数。迁移学习是一种机器学习方法,该方法将一个预训练的模型权重重新应用在另一个任务中,该方法可以节省大量的计算资源和时间资源,迁移学习特别适用于训练数据有限的领域特定任务。在本发明实施例中,使用在imagenet数据集上预训练的权重对resnet-101网络的参数进行初始化,并且使用在coco数据集上预训练的权重对rpn网络的参数进行初始化,最后在建筑物航拍图数据集上进行训练;本发明实施例中,训练的batchsize设置为2,迭代次数为40,当达到指定的迭代次数时,网络停止训练,得到航拍图数据集上的模型参数并保存;载入训练好的模型参数,对测试样本进行分割测试通过测试集数据对训练获得的模型进行测试和性能评估,得到最终的航拍图建筑物分割模型。步骤4:将所获得的模型应用于用户需要进行处理的建筑物航拍图,得到最终的建筑物航拍图像分割图。本发明实施例提供的方法应用在不同的测试集中,对比实验采用的是不同预训练方案和不同的数据增强方式下模型的性能,评估标准为平均精度map值,mapbbox和mapmask的数值越大说明模型的检测和分割精度越高。三种预训练方案下的模型在一般测试集上的模型检测和分割精度对比参见表1所示。采用不同数据增强方式在两种测试集上的模型检测和分割精度对比参见表2所示,分割对比效果图参见图6所示。表1训练方案mapbboxmapmaska.无预训练0.5520.359b.在imagenet上预训练0.8150.736c.在imagenet和coco上预训练0.9460.928表2以上实验结果表明了本发明中迁移学习方法的使用是所提出的建筑物检测和分割模型获得的高预测准确性的重要基础。本发明中采用非随机掩盖数据增强方式训练得到的模型可以有效的解决阴影等干扰物对建筑物顶部分割的影响。图7是本次发明实施例的最终目的。输入任意一张测试图片,输出一张检测和分割好的图片,如图7所示,三栋建筑物的楼顶都被矩形框识别为building,并且分割结果效果很不错。验证了本发明实施例的方法是行之有效的。实施例2以上详细介绍了一种基于maskr-cnn的航拍图建筑物检测和分割方法的流程,该方法也可以通过相应的装置实现,下面详细介绍该装置的结构和功能。本发明实施例提供的一种基于maskr-cnn的航拍图建筑物分割装置,该装置使用了实施例1中训练好的航拍图建筑物分割模型。该装置示意图如图8示,包括:图像输入模块,用于用户将待分割建筑物航拍图输入网络进行分割;图像深层特征提取模块,用于对输入图像数据进行深层特征提取,得到多尺度的特征图;候选区域获取模块,用于从输入航拍图像的特征图计算得到包含建筑物目标的候选区域;候选区域分类和修正模块,用于对rpn得到的候选区域进行分类和修正包围框;候选区域分割和输出模块,用于对修正后的候选区域进行分割,获取目标建筑物的形状掩码,并通过形状掩码和候选区域位置坐标计算出原图中建筑物屋顶轮廓的分割区域,得到最终的建筑物分割图像。作为本发明实施例的一个可选实施方式,图像深层特征提取模块包括:通过已经预先训练好的resnet-101-fpn网络提取输入航拍图的高维特征表示,得到一组多尺度的特征金字塔。候选区域获取模块包括一个训练好的rpn网络通过输入航拍图的特征图可以为图像中的每个建筑物生成一个候选区域。候选区域分割和输出模块包括:分割出每个候选区域中的建筑物,得到目标建筑物的形状掩码,并通过形状掩码和候选区域位置坐标计算出原图中建筑物屋顶轮廓的分割区域,然后将包含每个建筑物的分割结果的航拍图输出。作为本发明实施例的一个可选实施方式,预测和分割结果输出模块包括:预测和输出模块,用于输出航拍图中待分割目标建筑物分割结果。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1