1.本发明涉及一种遥感图像舰船检测方法,特别是一种基于动态边界覆盖的并行遥感图像舰船检测方法。
背景技术:2.随着航天技术、信息技术和传感器技术的飞速发展,卫星遥感图像的空间分辨率与时间分辨率也大大提高,遥感技术的应用领域持续扩大,遥感图像的计算机自动处理也越来越受到人们的重视。目标识别与分割是计算机自动处理中的一个重要环节,是许多应用的重要组成部分,该类算法因为操作复杂所以非常耗时,使得某些需要快速目标识别的应用难以完成,提高海量遥感数据的目标识别与处理的速度,一直是遥感数据处理的研究内容之一。
3.1954年,uene amdahl开发出首台商用机器ibm704,并行加速理念随之提出;1964年,首台高性能大规模并行计算机研制成功,多功能单元并行技术成为其核心技术;1965年,分时操作系统multics诞生,并行计算思想首次被引入操作系统层面,极大地提升了应用程序的性能与编程效率,该系统虽终因资金短缺而宣布失败,但催生了unix系统、c语言两大极具影响力的软件;1966年,michael flynn依循指令流、数据流等倍数特点提出了flynn分类法,此外,还有handler等分类法,主要是依循执行或结构特征等对并行计算系统加以分类,多元分类方法有助于用户根据应用需求选择合适的并行系统,还有面向庞大数值的并行算法、并行程序设计技术等,极大地推动了并行计算在科学计算领域的应用。计算机并行计算的快速发展,使得gpu的计算能力和存储器带宽已经超过主流cpu,而cpu的多核编程也同时也成为提高处理能力的方式之一。计算机的并行计算技术与海量遥感数据处理的结合已经越来越紧密。
4.目前基于深度学习的图像目标检测方法主要分为两大类,一类是以 fast-rcnn和faster-rcnn为代表的候选区域检测方法,该类方法检测精度较好,但是由于需要生成候选框,检测速度较慢。基于该类目标检测算法思想而提出的目标分割算法mask-rcnn将兴趣区域池化层替换成了兴趣区域对齐层,即通过双线性插值来保留特征图上的空间信息,从而完成了像素级预测。第二类是以yolo和ssd为代表的回归目标检测算法,该类方法直接回归出目标类别,检测精度较第一类略低,但是检测速度快于第一类方法。目前,随着人们对检测算法了解的加深,第二类基于回归的目标检测算法得到大幅改进,经过改进之后的第二类算法不仅在检测精度上可以跟第一类算法相媲美,检测速度更是接近于实时检测。
5.由于遥感卫星图像一般宽高较大,所以要进行遥感图像的目标检测和分割功能首先需要将图像裁剪到合适的大小,传统算法主要是根据经验进行图像切分,极易造成同一目标舰船被切分到两个甚至更多的图片中,从而造成漏检或者错检;而且由于一副卫星图像往往可以被切分成几十张待检测图像,所以在保证遥感卫星图像检测准确度的同时还要兼顾检测速度,传统检测算法往往精度不高而速度较慢;并且在并行计算过程中,如果使用确定的单一数值定于进程数容易造成机器的资源冲突或者资源使用不充分。
技术实现要素:6.本发明解决的技术问题是:克服现有技术的不足,提供一种基于动态边界覆盖的并行遥感图像舰船检测方法,充分利用处理器资源,在保证检测精度的基础上,提高了检测速度,达到准实时目标检测与分割。
7.本发明的技术方案是:一种基于动态边界覆盖的并行遥感图像舰船检测方法,其特征在于步骤如下:
8.进行原始遥感卫星数据影像预处理;
9.设定不同的重叠值,以该重叠值切分原始遥感卫星数据影像,得到遥感卫星切分数据;
10.结合原始ssd深度学习网络模型,修改网络结构,得到训练之后的模型网络;
11.将遥感卫星切分数据输入训练之后的模型网络,进行舰船目标分割,得到舰船目标矢量数据;
12.对舰船目标矢量数据后处理,并进行数据的剔除、拼接、转换和统计。
13.所述遥感图像数据预处理包括遥感数据增强和数据降位。
14.所述遥感数据增强包括:进行遥感图像数据左右、上下旋转为主的遥感数据增强。
15.所述设定不同的重叠值,以该重叠值切分原始遥感卫星数据影像,得到遥感卫星切分数据,包括:首先使用传统目标检测算法faster rcnn进行卫星图片的舰船识别,估算原始遥感影像中舰船的大小和面积,据此设定不同的重叠值,以该重叠值切分原始遥感卫星数据影像,得到遥感卫星切分数据。
16.设定不同的重叠值,包括:根据原始遥感影像中舰船的大小和面积,保证每个识别的舰船目标至少在一块子图像上完整出现。
17.所述结合原始ssd深度学习网络模型,修改网络结构,得到训练之后的模型网络,包括:结合原始ssd深度学习网络模型,修改网络结构,将最后一层分类网络改为全卷积网络,实现目标分割。
18.结合原始ssd深度学习网络模型,修改网络结构,得到训练之后的模型网络,还包括:将串行深度学习网络改为多gpu并行网络结构,加速网络模型的训练。
19.在将遥感卫星切分数据输入训练之后的模型网络过程中,在尽量节省资源的情况下,多进程处理图片。
20.所述对舰船目标矢量数据后处理,并进行数据的剔除、拼接、转换和统计,包括:将舰船目标矢量数据进行坐标转换,将小图片坐标转换为分割前的大图坐标,并且使用非极大值抑制方法进行数据的剔除、拼接、转换和统计。
21.本发明与现有技术相比的优点在于:
22.1、提出并实现遥感数据动态分割算法:现有技术通常采用以个人经验确定分割重叠大小的方法,而本发明提出遥感数据动态分割算法,根据原始遥感影像中舰船的大小和面积,据此设定不同的重叠值,以该切分重叠值切分原始遥感卫星数据影像,有效解决了现有方法容易将船只切分到不同图片中的情况,提高了模型检测准确率。
23.2、提出改进ssd目标识别网络:现有技术通常使用mask rcnn作为特征提取网络,而本发明通过将经典目标识别网络模型ssd的最后一层分类网络改进为全卷积网络,提高网络层特征提取能力的同时实现目标分割。比较现有方法提高了模型训练速度,节省了模
型训练时间。
24.3、实现动态进程控制并行方法:现有技术通常使用固定进程数的方式加快图片检测过程,但是运行服务器资源不一,可用进程数动态更改,固定进程数不利于充分发挥服务器性能。而本发明使用动态进程控制并行的方法,相比现有固定进程方法,本发明在动态检测机器可用资源的基础上定义并行进程数目,充分利用处理器资源,在保证检测精度的基础上,提高了检测速度,达到准实时目标检测与分割。
附图说明
25.图1基于动态边界覆盖的并行遥感图像舰船检测结果shapefile图。
26.图2基于动态边界覆盖的并行遥感图像舰船检测原图。
27.图3传统分割方法图片切分结果示意图。
28.图4遥感数据动态分割方法图片切分结果示意图。
29.图5本发明算法流程图。
具体实施方式
30.本发明提出一种基于动态边界覆盖的并行遥感图像舰船检测方法,首先提出遥感影像动态切分算法,通过设定不同的重叠值,进行动态切分,有效缩短了识别时间、提高资源利用率并提高了舰船识别的准确率;其次通过改进原始 ssd算法的特征提取网络,提高网络层的特征提取能力并实现目标分割;再次,在动态检测机器可用资源的基础上定义并行进程数目,充分利用处理器资源,在保证检测精度的基础上,提高了检测速度,达到准实时目标检测与分割。
31.本发明提出遥感数据动态切分算法,遥感图像的分块识别可以保证识别结果不变,但是切割方式同样值得重视,如果切割图像时将某个识别目标切割成了两个或者更多的子区域,而这些子区域又分别位于不同的子图像上,则可能丢失此目标,从而造成漏检。这里我们使用动态边界覆盖的方法来解决此问题,相邻的子图像之间有一定宽度的图像覆盖,而覆盖的宽度我们使用根据识别目标的大小来决定,首先使用传统图像分割算法估算待检测图像中目标的大小,动态确定覆盖度的设定,尽量保证每个识别目标至少在一块子图像上完整出现,从而确保识别结果的完备性。但是每个识别目标被多个子图像同时覆盖可能会产生多个相同的结果。为了消除识别结果的冗余性,合并识别结果时需要检查所有的识别结果,使合并的识别结果与原始图像的整体识别结果一致。
32.本发明提出改进ssd的目标分割算法,虽然ssd算法使用不同网络层的特征图进行预测输出,提升了检测精度,但是各个特征图之间相互独立,没有很好地利用浅层特征图位置信息丰富而深层特征图语义信息丰富的特点,忽视了上下文联系。本文考虑到实时性的需要,使用基于特征对应元素逐位相加融合方法,设计出一种特征图融合模块,使用多特征融合的方式对不同网络层的多尺度特征图进行融合,从而增强基础网络的特征提取能力;并且在特征提取网络之后加入反卷积层,使特征图的大小与输入图片一致,从而达到像素级分类,完成目标分割功能。
33.以下结合附图及具体的实施例对本发明的技术方案做进一步的描述。
34.实施例:
35.本发明技术方案结合kaggle比赛,根据aribus公司提供的舰船数据进行数据处理及网络训练,详细步骤如下:
36.1首先对aribus公司提供的训练数据,进行数据预处理,主要包括以数据左右、上下旋转为主的遥感数据增强、将4通道tif文件提取rgb通道做数据降位。
37.2实现遥感数据动态分割算法,首先使用传统目标检测算法faster rcnn 进行aribus公司提供的训练数据图片进行舰船识别,估算原始遥感影像中舰船的大小和面积,由于该数据集中舰船体积较大,据此设定重叠值为400,以该切分重叠值切分原始遥感卫星数据影像,若按照现有图片分割方法结果如图3 所示,本文提出的遥感数据动态分割算法结果如图4所示;
38.3结合原始ssd深度学习网络模型,修改网络结构,使用多特征融合的方式对不同网络层的多尺度特征图进行融合,从而增强基础网络的特征提取能力,使用单个图片大小为768*768的airbus数据集进行模型训练,将串行深度学习网络改为多gpu并行网络结构,加速网络模型的训练。
39.4实现动态进程控制并行方法,针对机器性能定义不同的进程数目,从而满足在尽量节省资源的情况下,并行处理数据,大大加快了遥感数据检测的速度。
40.5将经过步骤1-2数据预处理的遥感卫星切分数据输入经步骤3训练之后的模型网络,进行舰船目标分割,在输入过程中使用动态进程控制并行方法,获取服务器最佳进程数,本次实例中使用进程数为3,并行处理图片。
41.6实现数据后处理,将步骤5的输出结果进行坐标转换,将小图片坐标转换为分割前的大图坐标,并且使用非极大值抑制方法进行数据的剔除、拼接、转换和统计,原始遥感数据如图2所示,检测结果如图1所示。
42.7输出为shapefile矢量文件。
43.本发明算法流程图参见图5;
44.本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。