一种基于全局语义边界注意网络的SAR图像船只实例分割方法

专利2024-11-18  35


一种基于全局语义边界注意网络的sar图像船只实例分割方法
技术领域
1.本发明属于合成孔径雷达(synthetic aperture radar,sar)图像解译技术领域,涉及一种基于全局语义边界注意网络的sar图像船只实例分割方法。


背景技术:

2.合成孔径雷达(sar)是一种出色的传感器。它可以通过测量目标的雷达散射特性提供高分辨率的观测图像,不受光线和天气影响,广泛应用于测量、交通、海洋、遥感等社区。船只监视有利于救灾、交通管制和渔业监测,是当前研究的热点。与光学、红外和高光谱传感器相比,sar对海洋气候变化环境的适应性更强,更适合于船只监测。因此,利用sar进行船只监视越来越受到重视。
3.传统的方法通常依靠专家经验手工制作特征,费时费力,限制了更广泛的推广。近年来,基于深度学习的检测、分类及识别方法在各个领域得到迅速发展,尤其在行人检测、人脸识别、图像分类、语音翻译等方面有着深入而广泛的应用。将深度学习引入到sar船只实例分割中具有较大的应用潜力。越来越多的学者对基于深度学习的sar船只实例分割方法进行了更多的研究。例如,苏浩等人采用了基于卷积神经网络的模型对遥感图像进行实例分割,但没有考虑sar船只的特征,影响了精度的进一步提高。高飞等人提出了一种无锚框实例分割网络,但该模型不能处理复杂的场景和案例。赵丹培等人提出了一种基于协同注意的sar船只实例分割方法,但他们的方法仍然遗漏了许多小型船只和近海船只。总的来说,现有的大多数sar船只实例分割方法的目标框定位能力有限,使得分割精度有待进一步提高。
4.因此,为了解决这一问题。本文提出了一种基于全局语义边界注意网络的sar图像船只实例分割方法,通过提高目标框的定位能力,从而提高实例分割精度。该方法主要包含两个模块用于提高目标框的定位能力,第一个模块为全局上下文信息建模模块,由内容感知特征重组子网络、多视野域特征提取子网络、全局特征自注意子网络三部分串联而成。全局上下文信息建模模块通过更大的视野域建模船只周围环境的长距离依赖关系,从而有效地减少背景干扰,提取得到更具分辨能力的区域特征。第二个模块为边界注意预测模块,由边界注意特征提取子网络、边界粗定位子网络、边界精定位子网络、边界指导分类重评分子网络四部分串联而成。边界注意预测模块有别于传统的边界回归模块,该模块并未采用输出中心点和尺寸信息预测边界框,而是采用输出四条边界各自的信息从而实现边界框预测。在hrsid数据集上的实验结果表明,所提方法优于其他基于深度学习的实例分割方法。


技术实现要素:

5.本发明属于合成孔径雷达(sar)图像解译技术领域,公开了一种基于全局语义边界注意网络的sar船只实例分割方法,用来解决现有技术中目标框定位能力有限的问题。该方法基于深度学习理论,主要包括全局上下文信息建模模块和边界注意预测模块两部分。
全局上下文信息建模模块通过多次增强特征的语义信息,建立长距离依赖关系,从而有效地减少背景干扰。边界注意预测模块通过两次预测目标的边界信息,从而提高目标框的定位能力。实验证明,在hrsid数据集上,基于全局语义边界注意网络的sar船只实例分割方法平均精度ap为57.3%,现有其他基于深度学习的sar船只实例分割方法中的最高平均精度为55.4%。基于全局语义边界注意网络的sar船只实例分割方法提高了船只实例分割精度。
6.为了方便描述本发明的内容,首先作以下术语定义:
7.定义1:传统hrsid数据集获取方法
8.hrsid数据集是一个常用的sar图像船只实例分割数据集,英文全称为high-resolution sar images dataset。该数据集源于136张、分辨率范围为1米到5米不等的全景sar图像,每张全景sar图像在重叠比为百分之25的设置下通过滑窗机制得到多张sar图像切片,其切片的尺寸为800
×
800像素,最终得到的总切片数为5604,切片中包含的船只总数为16951。hrsid数据集将百分之65的切片设置为训练集,将余下百分之35的切片设置为测试集。hrsid数据集获取方法详见“wei s,zeng x,qu q,et al.hrsid:a high-resolution sar images dataset for ship detection and instance segmentation[j].ieee access,2020,8:1-1.”。
[0009]
定义2:传统残差骨干网络构建方法
[0010]
残差骨干网络是一种常用的骨干网络,由来自microsoft research的4位学者提出的卷积神经网络,在2015年的imagenet大规模视觉识别竞赛(imagenet large scale visual recognition challenge,ilsvrc)中获得了图像分类和物体识别的优胜。相比与常规的骨干网络,残差骨干网络通过增加若干条残差连接,降低梯度消失和梯度爆炸的概率,可以实现更快速的优化,因此残差骨干网络中的卷积层数往往可以比常规的骨干网络中的卷积层数更多。网络深度学为101层的残差网络是残差网络中较为常用的结构之一。具体来说,网络深度为为101层的残差网络首先通过尺寸为7
×
7,卷积核个数为64,步长为2的卷积层进行特征提取,然后通过3
×
3最大池化实现两倍下采样,作为第一阶段的特征图输出。然后通过若干个残差模块的堆叠,分别提取第二阶段、第三阶段、第四阶段、第五阶段的输出。区别在于,每个阶段所使用的残差模块个数不同,以及每个阶段的残差模块中卷积层的卷积核个数不同。得益于残差模块中的跨连接结构,卷积网络可以在实现深层次堆叠的同时,避免梯度消失、梯度爆炸和退化问题,可以较快速的进行网络优化,提取更具区分能力的抽象特征。经典的残差网络构建方法详见“k.he et al.,“deep residual learning for image recognition,”ieee conf.comput.vis.pattern recognit.,2016,pp.770-778.”。
[0011]
定义3:传统区域推荐网络构建方法
[0012]
区域推荐网络是在faster r-cnn中被提出。faster r-cnn针对fast r-cnn算法中区域推荐算法耗时的缺点,提出了区域推荐网络代替选择性搜索算法,通过引入共享卷积特征图的概念,将区域推荐网络和fast r-cnn融合为一个网络,从而实现较快速的目标检测。并且,区域推荐网络通过预设尺寸不同、长宽比不同的锚框,一定程度还增强了检测网络的多尺度检测的能力,从而提高了目标的检测精度。具体来说,区域推荐网络以一整张图片为输入,输出一系列区域推荐框的位置信息以及置信度。其中,置信度代表了该区域推荐框为前景的概率。区域推荐网络包含两个子网络,第一个子网络为骨干网络,该网络被区域推荐网络和fast r-cnn所共用的,这一机制也被称为共享卷积特征图,其最终目的是节省
目标检测的计算资源消耗。区域推荐网络的第二个子网络由一个中间层、一个分类层、一个回归层共同组成。其中,中间层本质上是一个全连接层;分类层和回归层本质上都是一个尺寸为3
×
3的卷积层。需要注意的是,分类层和回归层是并行的两个模块,它们的输入均是中间层的输出。另外,第二个子网络的工作原理与卷积操作的原理类似,都是采用了滑窗机制。具体来说,第二个子网络的输入特征图的一个局部区域。在前向传播阶段,第二个子网络在特征图上进行滑动,每滑动一个位置,就计算该位置对应若干个锚框的分类和回归信息。经典的区域推荐网络构建方法详见“ren s,he k,girshick r,et al.faster r-cnn:towards real-time object detection with region proposal networks[j].ieee transactions on pattern analysis&machine intelligence,2017,39(6):1137-1149.”。
[0013]
定义4:传统感兴趣区域特征提取模块构建方法
[0014]
感兴趣区域特征提取模块最早在fast r-cnn论文中提出,用于根据感兴趣区域的坐标值在特征图上提取得到相对应的固定大小的局部特征。fast r-cnn论文中提出的感兴趣区域特征提取模块为roi pooling,其基本思想是通过两次量化,通过最大池化操作得到固定大小的局部特征。然而,两次量化往往会带来一些精度损失,从而使得提取得到的局部特征与感兴趣区域的坐标值不一致。因此,在mask r-cnn论文中,提出了roi align进行感兴趣区域特征提取,其主要思想是舍弃量化操作,采用双线性插值计算对应坐标点的特征值,从而使得提取得到的局部特征与感兴趣区域的坐标值一致。roi align现在已经成为了主流的感兴趣区域特征提取模块实现。详细的感兴趣区域特征提取模块构建方法详见“he k,gkioxari g,p doll
á
r,et al.mask r-cnn[j].ieee transactions on pattern analysis&machine intelligence,2017.”。
[0015]
定义5:传统卷积层构建方法
[0016]
卷积层是深度学习神经网络中的基本模块,其基本作用是提取输入数据的抽象特征,便于后续的分类、回归等网络执行相关任务。卷积层通常包含多个卷积核,卷积核是实现将输入的特征图或者图片中的一小部分矩形区域内的值分别加权然后求和作为输出的一个节点。每个卷积核需要人工指定多个参数。一类参数是卷积核所处理的节点矩阵的长和宽,这个节点矩阵的尺寸也是卷积核的尺寸。另外一类卷积核的参数是处理得到的单位节点矩阵的深度,单位节点矩阵的深度也是卷积核的深度。在卷积操作过程中,每个卷积核在输入数据上滑动,然后计算整个卷积核与输入数据相对应位置的内积,之后将内积通过非线性函数得到最终结果,最后所有对应位置的结果组成了一张二维的特征图。每个卷积核都会生成一张二维的特征图,多个卷积核生成的特征图相叠加组成了一个三维的特征图。通常情况下,卷积层采用的卷积核尺寸为3
×
3或5
×
5,卷积核的深度由前一层的特征通道数决定,卷积核的个数由设计者自行决定。经典的卷积层构建方法详见“范丽丽,赵宏伟,赵浩宇,胡黄水,王振.基于深度卷积神经网络的目标检测研究综述[j].光学精密工程,2020,28(05):1152-1164.”。
[0017]
定义6:传统像素重组构建方法
[0018]
像素重组最初提出来用于图像的超分辨任务,后续逐渐在图像的分类和检测任务当中得到应用。像素重组是一种上采样方法,可以对缩小后的特征图进行有效的放大,可以作为反卷积或最近邻插值的替代。经典的像素重组构建方法详见“https://blog.csdn.net/djfjkj52/article/details/123829282”。
[0019]
定义7:传统空洞卷积层构建方法
[0020]
空洞卷积层与标准卷积层类似,只是在标准卷积层的基础上增加了膨胀率参数,从而增加了卷积层的采样域大小,最终实现感受野大小的增加。空洞卷积层通过增加感受野,一定程度上可以提取得到全局信息,增强输出特征图中的语义信息,有利于神经网络区分目标和背景干扰。经典的空洞卷积层构建方法详见“https://blog.csdn.net/qq_30241709/article/details/88080367”。
[0021]
定义8:传统级联操作
[0022]
级联是网络结构设计中重要的一种操作,用于将特征联合,多个卷积特征提取框架提取的特征融合或者是将输出层的信息进行融合,从而增强网络的特征提取能力。级联方法详见“https://blog.csdn.net/alxe_made/article/details/80506051?utm_medium=distribute.pc_relevant.none-task-blog-blogcommendfrommachinelearnpai2-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-blogcommendfrommachinelearnpai2-3.channel_param”。
[0023]
定义9:传统全局特征自注意构建方法
[0024]
全局特征自注意模块用于提取输入的非局部特征,该模块的基本思想是通过为输入的每个像素点计算与其他所有像素点的相似度权重,然后利用相似度权重对相应的像素点进行加权求和,作为该像素点的输出。相比于卷积层而言,全局特征自注意模块的视野域更大,并不局限于局部视野域,因此可以提取全局信息,增强特征图中的语义信息。经典的全局特征自注意构建方法详见“wang x,girshick r,gupta a,et al.non-local neural networks[j].2017.”。
[0025]
定义10:传统全连接层构建方法
[0026]
全连接层是神经网络结构中的一种结构,用于进一步提取特征。与卷积层不同的是,全连接层的输入和输出节点数量需要预先设置,且其参数量和计算量远超过卷积层的参数量和计算量,因此全连接层往往只出现在神经网络结构中的某一个部分。经典的全连接层方法详见“haoren wang,haotian shi,ke lin,chengjin qin,liqun zhao,yixiang huang,chengliang liu.a high-precision arrhythmia classification method based on dual fully connected neural network[j].biomedical signal processing and control,2020,58”。
[0027]
定义11:传统卷积注意力模块构建方法
[0028]
卷积注意力模块主要包括池化,卷积,激活函数三个部分。具体来说,对于输入特征f来说,首先会通过一个通道层面的最大池化和一个通道层面的平均池化,从而分别得到一个二维的特征图,然后将两个特征图进行拼接操作,最后通过卷积核激活函数得到空间注意力图ms。空间注意力模块的具体表达式如式ms(f)=σ(f7×7([avgpool(f);maxpool(f)]))所示。其中,f7×7代表卷积操作,其卷积核尺寸为7
×
7,σ代表sigmoid激活函数。需要注意的是,在本章中,为了提取多种视野域的特征,本章采用两个空间注意力模块并行提取特征,其卷积层的卷积核尺寸分别为7
×
7和3
×
3。经典的卷积注意力模块构建方法如“woo,s.;park,j.;lee,j.y.;kweon,i.s.j.s.,cham,cbam:convolutional block attention module.2018.”。
[0029]
定义12:传统边界粗定位子网络构建方法
[0030]
边界粗定位子网络以边界特征作为输入,输出对应边界的大致定位。具体来说,边界粗定位子网络把目标空间划分为多个离散的区间,对于给定的边界特征,边界粗定位子网络只给出对应边界属于哪一个区间的参数(即s
x-right
,s
x-left
,s
y-right
,和s
y-left
),而不给出更精确的边界回归值。其中,s
x-right
代表垂直向靠右侧的边界置信度,s
x-left
代表垂直向靠左侧的边界置信度,s
y-right
代表水平向靠右侧的边界置信度,s
y-left
代表水平向靠左侧的边界置信度。经典的边界粗定位子网络构建方法详见“wang j,zhang w,cao y,et al.side-aware boundary localization for more precise object detection[j].2019.”。
[0031]
定义13:传统边界精定位子网络构建方法
[0032]
边界精定位子网络是在边界粗定位的基础上,对边界的位置进行再次修正。该过程与传统的边界分类回归类似,将边界粗定位中的预测框作为先验知识,输出目标框与预测框之间的坐标偏置和尺寸偏置,从而得到更精确的边界预测值。经典的边界精定位子网络构建方法详见“wang j,zhang w,cao y,et al.side-aware boundary localization for more precise object detection[j].2019.”。
[0033]
定义14:传统掩码子网络构建方法
[0034]
掩码子网络在mask r-cnn中被提取,该子网络以边界预测网络的结果作为输入,输出目标区域的像素级二分类结果,可以实现对目标和背景的像素级区分,从而提取目标的边缘信息。经典的掩码子网络构建方法详见“he k,gkioxari g,p doll
á
r,et al.mask r-cnn[j].ieee transactions on pattern analysis&machine intelligence,2017.”。
[0035]
定义15:经典的adam算法
[0036]
经典的adam算法是一种对随机梯度下降法的扩展,最近在计算机视觉和自然语言处理中广泛应用于深度学习应用。经典的adam与经典的随机梯度下降法是不同的。随机梯度下降保持一个单一的学习速率,用于所有的权重更新,并且在训练过程中学习速率不会改变。每一个网络权重都保持一个学习速率,并随着学习的展开而单独地进行调整。该方法从梯度的第一次和第二次矩的预算来计算不同参数的自适应学习速率。经典的adam算法详见“kingma,d.;ba,j.adam:a method for stochastic optimization.arxiv 2014,arxiv:1412.6980.”。
[0037]
定义16:传统前向传播方法
[0038]
前向传播方法是深度学习当中最基本的一个方法,主要是将输入依据网络中的参数和连接方法进行前向推理,从而得到网络的输出。前向传播方法详见“https://www.jianshu.com/p/f30c8daebebb”。
[0039]
定义17:传统非极大值抑制方法
[0040]
非极大值抑制(nms)方法是目标检测领域中用来去除冗余检测框的算法。在经典的检测网络的前向传播结果中,常常会出现同一目标对应多个检测框的情况。因此,需要一种算法从同一目标的多个检测框中筛选出一个质量最好、得分最高的检测框。非极大值抑制通过计算重叠率阈值进行局部最大搜索。非极大值抑制方法详见“https://www.cnblogs.com/makefile/p/nms.html”。
[0041]
定义18:传统召回率和精确率计算方法
[0042]
召回率r指在所有的正样本中预测正确的数量,表达式为精确率p
指预测为正例的结果中,正确的个数所占的比例表达式为其中,tp(true positive)表示被模型预测为正值的正样本;fn(false negative)表示被模型预测为负值的负样本;fp(false positive)表示为被模型预测为负值的正样本。召回率和精确率曲线p(r)指以r为自变量,p为因变量的函数,以上参数数值的求法详见文献“李航.统计学习方法[m].北京:清华大学出版社,2012.”。
[0043]
本发明提供一种基于全局语义边界注意网络的sar船只实例分割方法,它包括以下步骤:
[0044]
步骤1、初始化数据集
[0045]
按照定义1中传统的hrsid数据集获取方法获取hrsid数据集,将hrsid数据集中的训练集记为d
test
,训练集记为d
train

[0046]
步骤2、搭建前向传播网络
[0047]
步骤2.1、搭建resnet-101骨干网络
[0048]
采用定义2中的传统经典的残差骨干网络构建方法构建网络层数为101的残差网络,记为res-101。
[0049]
步骤2.2、搭建区域推荐网络
[0050]
采用定义3中的经典的区域推荐网络构建方法构建区域推荐网络,将步骤2.1中得到的resnet-101骨干网络res-101作为区域推荐网络中的子网络,将搭建好的区域推荐网络记为rpn0。
[0051]
步骤2.3、搭建特征提取模块
[0052]
采用定义4中传统的感兴趣区域特征提取模块构建方法构建特征提取模块,将搭建好的特征提取模块记为fextract。
[0053]
步骤2.4、搭建全局上下文信息建模模块
[0054]
首先,采用定义5中传统的卷积层构建方法构建两个卷积层,分别记为conv1和conv2,然后采用定义6中传统的像素重组构建方法构建像素重组模块,记为pixelshuffle。按照表达式定义softmax层,记为softmax0,其中,zi为输入特征图上第i个结点的特征值,c代表输入特征图的通道数。将conv1,conv2,pixelshuffle,softmax串联起来,记为kplayer。按照表达式构建特征重组层,记为cz。其中,(i,j)代表l,f
(i+n,j+m)
代表f中位于(i+n,j+m)的特征向量,w
l'(n,m)
代表w
l'
中位于(n,m)处的权值。将kplayer与czlayer组合在一起,即完成内容感知特征重组子网络的搭建,将搭建好的内容感知特征重组子网络记为carafe。
[0055]
然后,采用定义7中传统的空洞卷积层构建方法分别构建膨胀率为2,3,4,5的空洞卷积层,分别记为d1,d2,d3,d4。采用定义8中传统的级联操作构建方法构建级联模块,记为concate。采用定义6中传统的卷积层构建方法构建卷积层,记为conv3。将d1,d2,d3,d4并联之后与concate和con3依次串联,即完成多视野域特征提取子网络的搭建,将搭建好的多视野域特征提取子网络记为mrblock。
[0056]
最后,采用定义9中传统的全局特征自注意构建方法构建全局特征自注意子网络,将搭建好的全局特征自注意子网络记为sablock。
[0057]
将特征重组子网络carafe、多视野域特征提取子网mrblock,全局特征自注意子网络sablock按顺序进行串联,即得到全局上下文信息建模模块,记为gcb。
[0058]
步骤2.5、搭建边界注意预测模块
[0059]
根据定义10传统的全连接层构建方法搭建三个全连接层,分别记为fc1、fc2、fc3。将fc1、fc2、fc3串联,即完成分类分支的搭建,记为clbranch,将clbranch输出的分类结果记为s。
[0060]
采用定义11传统的卷积注意力模块构建方法搭建卷积注意力模块,记为cbam。采用定义5传统的卷积层构建方法搭建四个卷积层,分别记为conv4、conv5、conv6、conv7。按照表达式定义两个softmax层,分别记为softmax1和softmax2,其中,zi为输入特征图上第i个结点的特征值,c代表输入特征图的通道数。将conv4,softmanx1,conv5按顺序串联,记为branchx,将conv6,softmax2,conv7按顺序串联,记为branchy。将branchx和branchy并联后加在cbam模块之后,即完成边界注意预测模块的搭建,记为baff。
[0061]
采用定义12传统的边界粗定位子网络构建方法搭建边界粗定位子网络,将搭建好的边界粗定位子网络记为bbcl,将bbcl的四个输出分别记为s
x-right
,s
x-left
,s
y-right
,and s
y-left

[0062]
采用定义13传统的边界精定位子网络构建方法搭建边界精定位子网络,将搭建好的边界精定位子网络记为brfl。
[0063]
以步骤2.5中clbranch输出的分类结果s和步骤2.6中bbcl输出的s
x-right
,s
x-left
,s
y-right
,and s
y-left
作为输入,按照式进行计算,即完成边界指导分类重评分子网络的搭建,记为cbcr。
[0064]
将baff,bbcl,brfl,cbcr按顺序串联,即完成边界注意预测模块的搭建,记为babp。
[0065]
步骤2.6、搭建掩码子网络
[0066]
根据定义14传统的掩码子网络构建方法搭建掩码子网络,将搭建好的掩码子网络记为mask。
[0067]
步骤2.7、搭建实例分割级联网络
[0068]
将步骤2.3得到的特征提取模块fextract,步骤2.4得到的全局上下文信息建模模块gcb,步骤2.5得到边界注意预测模块babp,步骤2.6得到的掩码子网络mask依次串联,得到第一个实例分割网络,记为seg1。
[0069]
重复步骤2.3,步骤2.4,步骤2.5,步骤2.6,并将各步骤中得到的模块或子网络依次串联,得到第二个实例分割网络,记为seg2。
[0070]
重复步骤2.3,步骤2.4,步骤2.5,步骤2.6,并将各步骤中得到的模块或子网络依次串联,得到第三个实例分割网络,记为seg3。
[0071]
将第一个实例分割网络seg1,第二个实例分割网络seg2,第三个实例分割网络seg3依次串联,即完成实例分割级联网络,记为caseg0。
[0072]
步骤3、训练区域推荐网络
[0073]
设置迭代参数epoch,初始化epoch值为1。
[0074]
步骤3.1、对区域推荐网络进行前向传播
[0075]
将步骤1中得到的训练集d
train
作为区域推荐网络rpn0的输入,按照定义16中的前向传播方法把训练集d
train
送入区域推荐网络rpn0进行运算,记网络rpn0的输出为result0。
[0076]
步骤3.2、对前向传播结果进行采样
[0077]
将步骤3.1得到的输入result0和训练集d
train
作为输入,按照公式计算方法计算result0中每个推荐框的iou值,将result0中iou大于0.5的输出作为正样本,记为result0p;将result0中iou小于0.5的输出作为负样本,记为result0n。统计负样本result0n中的总样本数为m。人为输入所需负样本数,记为n;人为输入所需等分iou的间隔数为nb,记第i个iou区间的样本数为mi。设置第i个区间的随机采样概率为对每个iou区间进行随机采样,将负样本所有iou区间的采样结果记为result0ns。
[0078]
统计正样本result0p中的样本数,记为p。设置随机采样概率为对result0p进行随机采样,将正样本采样结果记为result0ps。
[0079]
步骤3.3、对区域推荐网络进行训练和优化
[0080]
将步骤3.2中得到的正样本采样结果result0ps和负样本采样结果result0ns作为输入,按照定义4中的经典的adam算法对区域推荐网络进行训练和优化。得到训练和优化之后的区域推荐网络rpn1。
[0081]
步骤4、训练实例分割级联网络
[0082]
步骤4.1、对实例分割级联网络进行前向传播
[0083]
将步骤1中得到的训练集d
train
作为实例分割级联网络caseg0的输入,按照定义16中传统的前向传播方法把训练集d
train
送入实例分割级联网络caseg0进行运算,记实例分割级联网络caseg0的输出为result1。
[0084]
步骤4.2、对实例分割级联网络进行训练和优化
[0085]
将步骤4.1中得到的实例分割级联网络caseg0的输出result1作为输入,按照定义15中的经典的adam算法对实例分割级联网络进行训练和优化。得到训练和优化之后的实例分割级联网络caseg1。
[0086]
步骤5、进行交替训练
[0087]
判断步骤3中设置的epoch是否等于12。如果epoch不等于12,则令epoch=epoch+1、rpn0=rpn1、caseg0=caseg1,依次重复步骤3.1、步骤3.2、步骤3.3、步骤4.1、步骤4.2,然后返回步骤5对epoch进行再次判断;如果epoch等于12,则令训练后的区域推荐网络rpn1和训练后的平实例分割级联网络caseg1记为网络gcban,然后进行步骤6。
[0088]
步骤6、评估方法
[0089]
步骤6.1、前向传播
[0090]
以步骤6中得到网络gcban和步骤1中得到的测试集d
test
作为输入,采用定义16传
统的前向传播方法,得到检测结果,记为r。
[0091]
以检测结果r作为输入,采用定义17中传统的非极大值抑制方法,去除检测结果r1中的冗余框,具体步骤如下:
[0092]
步骤(1)首先令检测结果r1中得分最高的框,记为bs;
[0093]
步骤(2)然后采用计算公式为:计算检测结果r1所有框的重叠率阈值(iou);舍弃iou》0.5的框;
[0094]
步骤(3)从剩余框中选出得分最高的框bs;
[0095]
重复上述步骤(2)中计算iou和舍弃的过程,直到没有框可以舍弃,最后剩余的框即为最终检测结果,记为rf。
[0096]
步骤6.2、计算指标
[0097]
以步骤6.1中得到的检测结果rf作为输入,采用定义18中传统的召回率和精确率计算方法,求出网络的精确率p、召回率r和精确率和召回率曲线p(r);采用公式计算基于平衡学习的sar船只实例分割精度指标ap、ap
50
、ap
75
、aps、apm、ap
l

[0098]
本发明的创新点在于引入了全局上下文信息建模模块和边界注意预测模块,从而解决现有基于深度学习的sar船只实例分割方法中存在的目标框定位能力有限的问题。采用本方法的sar图像船只实例分割ap为57.3%,超过次优sar图像船只实例分割方法1.9个百分点;采用本方法的sar图像船只实例分割ap
50
为88.6%,超过次优sar图像船只实例分割方法2.8个百分点;采用本方法的sar图像船只实例分割ap
75
为68.9%,超过次优sar图像船只实例分割方法2.0个百分点;采用本方法的sar图像船只实例分割aps为57%,超过次优sar图像船只实例分割方法2.1个百分点;采用本方法的sar图像船只实例分割apm为64.3%,超过次优sar图像船只实例分割方法0.8个百分点;采用本方法的sar图像船只实例分割ap
l
为25.9%,超过次优sar图像船只实例分割方法6.2个百分点。综上,本方法可以实现较好的目标框定位,具有优秀的sar船只实例分割精度。
[0099]
本发明的优点在于能够克服现有技术存在的目标框定位能力有限的问题,提高sar图像中船只的实例分割精度。
附图说明
[0100]
图1为本发明中的基于全局语义边界注意网络的sar图像船只实例分割方法的流程示意图
[0101]
其中,1表示边界注意预测模块,2表示全局上下信息建模模块;
[0102]
图2为本发明中的基于全局语义边界注意网络的sar图像船只实例分割方法的的实例分割精度指标。
具体实施方式
[0103]
下面结合附图1、附图2对本发明的作进一步详细描述。
[0104]
步骤1、初始化数据集
[0105]
按照定义1中的hrsid数据集获取方法获取hrsid数据集,将hrsid数据集中的训练集记为d
test
,训练集记为d
train

[0106]
步骤2、搭建前向传播网络
[0107]
步骤2.1、搭建resnet-101骨干网络
[0108]
如图1所示,采用定义2中的经典的残差骨干网络构建方法构建网络层数为101的残差网络,记为res-101。
[0109]
步骤2.2、搭建区域推荐网络
[0110]
如图1所示,采用定义3中的经典的区域推荐网络构建方法构建区域推荐网络,将步骤2.1中得到的resnet-101骨干网络res-101作为区域推荐网络中的子网络,将搭建好的区域推荐网络记为rpn0。
[0111]
步骤2.3、搭建特征提取模块
[0112]
如图1所示,采用定义4中的感兴趣区域特征提取模块构建方法构建特征提取模块,将搭建好的特征提取模块记为fextract。
[0113]
步骤2.4、搭建全局上下文信息建模模块
[0114]
首先,采用定义5中的卷积层构建方法构建两个卷积层,分别记为conv1和conv2,然后采用定义6中的像素重组构建方法构建像素重组模块,记为pixelshuffle。按照表达式定义softmax层,记为softmax0,其中,zi为输入特征图上第i个结点的特征值,c代表输入特征图的通道数。将conv1,conv2,pixelshuffle,softmax串联起来,记为kplayer。按照表达式构建特征重组层,记为cz。其中,(i,j)代表l,f
(i+n,j+m)
代表f中位于(i+n,j+m)的特征向量,w
l'(n,m)
代表w
l'
中位于(n,m)处的权值。将kplayer与czlayer组合在一起,即完成内容感知特征重组子网络的搭建,将搭建好的内容感知特征重组子网络记为carafe。
[0115]
然后,采用定义7中的空洞卷积层构建方法分别构建膨胀率为2,3,4,5的空洞卷积层,分别记为d1,d2,d3,d4。采用定义8中的级联操作构建方法构建级联模块,记为concate。采用定义6中的卷积层构建方法构建卷积层,记为conv3。将d1,d2,d3,d4并联之后与concate和con3依次串联,即完成多视野域特征提取子网络的搭建,将搭建好的多视野域特征提取子网络记为mrblock。
[0116]
最后,采用定义9中的全局特征自注意构建方法构建全局特征自注意子网络,将搭建好的全局特征自注意子网络记为sablock。
[0117]
如图1所示,将特征重组子网络carafe、多视野域特征提取子网mrblock,全局特征自注意子网络sablock按顺序进行串联,即得到全局上下文信息建模模块,记为gcb。
[0118]
步骤2.5、搭建边界注意预测模块
[0119]
根据定义10的全连接层构建方法搭建三个全连接层,分别记为fc1、fc2、fc3。将fc1、fc2、fc3串联,即完成分类分支的搭建,记为clbranch,将clbranch输出的分类结果记为s。
[0120]
采用定义11的卷积注意力模块构建方法搭建卷积注意力模块,记为cbam。采用定
义5的卷积层构建方法搭建四个卷积层,分别记为conv4、conv5、conv6、conv7。按照表达式定义两个softmax层,分别记为softmax1和softmax2,其中,zi为输入特征图上第i个结点的特征值,c代表输入特征图的通道数。将conv4,softmanx1,conv5按顺序串联,记为branchx,将conv6,softmax2,conv7按顺序串联,记为branchy。将branchx和branchy并联后加在cbam模块之后,即完成边界注意预测模块的搭建,记为baff。
[0121]
采用定义12的边界粗定位子网络构建方法搭建边界粗定位子网络,将搭建好的边界粗定位子网络记为bbcl,将bbcl的四个输出分别记为s
x-right
,s
x-left
,s
y-right
,and s
y-left

[0122]
采用定义13的边界精定位子网络构建方法搭建边界精定位子网络,将搭建好的边界精定位子网络记为brfl。
[0123]
以步骤2.5中clbranch输出的分类结果s和步骤2.6中bbcl输出的s
x-right
,s
x-left
,s
y-right
,and s
y-left
作为输入,按照式进行计算,即完成边界指导分类重评分子网络的搭建,记为cbcr。
[0124]
如图1所示,将baff,bbcl,brfl,cbcr按顺序串联,即完成边界注意预测模块的搭建,记为babp。
[0125]
步骤2.6、搭建掩码子网络
[0126]
如图1所示,根据定义14的掩码子网络构建方法搭建掩码子网络,将搭建好的掩码子网络记为mask。
[0127]
步骤2.7、搭建实例分割级联网络
[0128]
将步骤2.3得到的特征提取模块fextract,步骤2.4得到的全局上下文信息建模模块gcb,步骤2.5得到边界注意预测模块babp,步骤2.6得到的掩码子网络mask依次串联,得到第一个实例分割网络,记为seg1。
[0129]
重复步骤2.3,步骤2.4,步骤2.5,步骤2.6,并将各步骤中得到的模块或子网络依次串联,得到第二个实例分割网络,记为seg2。
[0130]
重复步骤2.3,步骤2.4,步骤2.5,步骤2.6,并将各步骤中得到的模块或子网络依次串联,得到第三个实例分割网络,记为seg3。
[0131]
将第一个实例分割网络seg1,第二个实例分割网络seg2,第三个实例分割网络seg3依次串联,即完成实例分割级联网络,记为caseg0。
[0132]
步骤3、训练区域推荐网络
[0133]
设置迭代参数epoch,初始化epoch值为1。
[0134]
步骤3.1、对区域推荐网络进行前向传播
[0135]
将步骤1中得到的训练集d
train
作为区域推荐网络rpn0的输入,按照定义16中的前向传播方法把训练集d
train
送入区域推荐网络rpn0进行运算,记网络rpn0的输出作为result0。
[0136]
步骤3.2、对前向传播结果进行采样
[0137]
将步骤3.1得到的输入result0和训练集d
train
作为输入,按照公式计算方法计算result0中每个推荐框的iou值,将result0中iou大于
0.5的输出作为正样本,记为result0p;将result0中iou小于0.5的输出作为负样本,记为result0n。统计负样本result0n中的总样本数为m。人为输入所需负样本数,记为n;人为输入所需等分iou的间隔数为nb,记第i个iou区间的样本数为mi。设置第i个区间的随机采样概率为对每个iou区间进行随机采样,将负样本所有iou区间的采样结果记为result0ns。
[0138]
统计正样本result0p中的样本数,记为p。设置随机采样概率为对result0p进行随机采样,将正样本采样结果记为result0ps。
[0139]
步骤3.3、对区域推荐网络进行训练和优化
[0140]
将步骤3.2中得到的正样本采样结果result0ps和负样本采样结果result0ns作为输入,按照定义4中的经典的adam算法对区域推荐网络进行训练和优化。得到训练和优化之后的区域推荐网络rpn1。
[0141]
步骤4、训练实例分割级联网络
[0142]
步骤4.1、对实例分割级联网络进行前向传播
[0143]
将步骤1中得到的训练集d
train
作为实例分割级联网络caseg0的输入,按照定义16中的前向传播方法把训练集d
train
送入实例分割级联网络caseg0进行运算,记实例分割级联网络caseg0的输出作为result1。
[0144]
步骤4.2、对实例分割级联网络进行训练和优化
[0145]
将步骤4.1中得到的实例分割级联网络caseg0的输出result1作为输入,按照定义15中的经典的adam算法对实例分割级联网络进行训练和优化。得到训练和优化之后的实例分割级联网络caseg1。
[0146]
步骤5、进行交替训练
[0147]
判断步骤3中设置的epoch是否等于12。如果epoch不等于12,则令epoch=epoch+1、rpn0=rpn1、caseg0=caseg1,依次重复步骤3.1、步骤3.2、步骤3.3、步骤4.1、步骤4.2,然后返回步骤5对epoch进行再次判断;如果epoch等于12,则令训练后的区域推荐网络rpn1和训练后的平实例分割级联网络caseg1记为网络gcban,然后进行步骤6。
[0148]
步骤6、评估方法
[0149]
步骤6.1、前向传播
[0150]
以步骤6中得到网络gcban和步骤1中得到的测试集d
test
作为输入,采用定义16传统的前向传播方法,得到检测结果,记为r。
[0151]
以检测结果r作为输入,采用定义17中传统的非极大值抑制方法,去除检测结果r1中的冗余框,具体步骤如下:
[0152]
步骤(1)首先令检测结果r1中得分最高的框,记为bs;
[0153]
步骤(2)然后采用计算公式为:计算检测结果r1所有框的重叠率阈值(iou);舍弃iou》0.5的框;
[0154]
步骤(3)从剩余框中选出得分最高的框bs;
[0155]
重复上述步骤(2)中计算iou和舍弃的过程,直到没有框可以舍弃,最后剩余的框
即为最终检测结果,记为rf。
[0156]
步骤6.2、计算指标
[0157]
以步骤6.1中得到的检测结果rf作为输入,采用定义18中传统的召回率和精确率计算方法,求出网络的精确率p、召回率r和精确率和召回率曲线p(r);采用公式计算基于平衡学习的sar船只实例分割平均精度map。

技术特征:
1.一种基于全局语义边界注意网络的sar船只实例分割方法,其特征是它包括以下步骤:步骤1、初始化数据集按照传统的hrsid数据集获取方法获取hrsid数据集,将hrsid数据集中的训练集记为d
test
,训练集记为d
train
;步骤2、搭建前向传播网络步骤2.1、搭建resnet-101骨干网络采用经典的残差骨干网络构建方法构建网络层数为101的残差网络,记为res-101;步骤2.2、搭建区域推荐网络采用经典的区域推荐网络构建方法构建区域推荐网络,将步骤2.1中得到的resnet-101骨干网络res-101作为区域推荐网络中的子网络,将搭建好的区域推荐网络记为rpn0;步骤2.3、搭建特征提取模块采用传统的感兴趣区域特征提取模块构建方法构建特征提取模块,将搭建好的特征提取模块记为fextract;步骤2.4、搭建全局上下文信息建模模块首先,采用传统的卷积层构建方法构建两个卷积层,分别记为conv1和conv2,然后采用传统的像素重组构建方法构建像素重组模块,记为pixelshuffle;按照表达式定义softmax层,记为softmax0,其中,z
i
为输入特征图上第i个结点的特征值,c代表输入特征图的通道数;将conv1,conv2,pixelshuffle,soft max串联起来,记为kplayer;按照表达式构建特征重组层,记为cz;其中,(i,j)代表l,f
(i+n,j+m)
代表f中位于(i+n,j+m)的特征向量,w
l'(n,m)
代表w
l'
中位于(n,m)处的权值;将kplayer与czlayer组合在一起,即完成内容感知特征重组子网络的搭建,将搭建好的内容感知特征重组子网络记为carafe;然后,采用传统的空洞卷积层构建方法分别构建膨胀率为2,3,4,5的空洞卷积层,分别记为d1,d2,d3,d4;采用传统的级联操作构建方法构建级联模块,记为concate;采用传统的卷积层构建方法构建卷积层,记为conv3;将d1,d2,d3,d4并联之后与concate和co nv3依次串联,即完成多视野域特征提取子网络的搭建,将搭建好的多视野域特征提取子网络记为mrblock;最后,采用传统的全局特征自注意构建方法构建全局特征自注意子网络,将搭建好的全局特征自注意子网络记为sablock;将特征重组子网络carafe、多视野域特征提取子网mrblock,全局特征自注意子网络sablock按顺序进行串联,即得到全局上下文信息建模模块,记为gcb;步骤2.5、搭建边界注意预测模块采用传统的全连接层构建方法搭建三个全连接层,分别记为fc1、fc2、fc3;将fc1、fc2、fc3串联,即完成分类分支的搭建,记为clbranch,将clbranch输出的分类结果记为s;
采用传统的卷积注意力模块构建方法搭建卷积注意力模块,记为cbam;采用传统的卷积层构建方法搭建四个卷积层,分别记为conv4、conv5、conv6、conv7;按照表达式定义两个softmax层,分别记为softmax1和softmax2,其中,z
i
为输入特征图上第i个结点的特征值,c代表输入特征图的通道数;将conv4,softmanx1,conv5按顺序串联,记为branchx,将conv6,softmax2,conv7按顺序串联,记为branchy;将branchx和branchy并联后加在cbam模块之后,即完成边界注意预测模块的搭建,记为baff;采用传统的边界粗定位子网络构建方法搭建边界粗定位子网络,将搭建好的边界粗定位子网络记为bbcl,将bbcl的四个输出分别记为s
x-right
,s
x-left
,s
y-right
,和s
y-left
;采用传统的边界精定位子网络构建方法搭建边界精定位子网络,将搭建好的边界精定位子网络记为brfl;以步骤2.5中clbranch输出的分类结果s和步骤2.6中bbcl输出的s
x-right
,s
x-left
,s
y-right
,和s
y-left
作为输入,按照式进行计算,即完成边界指导分类重评分子网络的搭建,记为cbcr;将baff,bbcl,brfl,cbcr按顺序串联,即完成边界注意预测模块的搭建,记为babp;步骤2.6、搭建掩码子网络根据传统的掩码子网络构建方法搭建掩码子网络,将搭建好的掩码子网络记为mask;步骤2.7、搭建实例分割级联网络将步骤2.3得到的特征提取模块fextract,步骤2.4得到的全局上下文信息建模模块gcb,步骤2.5得到边界注意预测模块babp,步骤2.6得到的掩码子网络mask依次串联,得到第一个实例分割网络,记为seg1;重复步骤2.3,步骤2.4,步骤2.5,步骤2.6,并将各步骤中得到的模块或子网络依次串联,得到第二个实例分割网络,记为seg2;重复步骤2.3,步骤2.4,步骤2.5,步骤2.6,并将各步骤中得到的模块或子网络依次串联,得到第三个实例分割网络,记为seg3;将第一个实例分割网络seg1,第二个实例分割网络seg2,第三个实例分割网络seg3依次串联,即完成实例分割级联网络,记为caseg0;步骤3、训练区域推荐网络设置迭代参数epoch,初始化epoch值为1;步骤3.1、对区域推荐网络进行前向传播将步骤1中得到的训练集d
train
作为区域推荐网络rpn0的输入,按照前向传播方法把训练集d
train
送入区域推荐网络rpn0进行运算,记网络rpn0的输出为result0;步骤3.2、对前向传播结果进行采样将步骤3.1得到的输入result0和训练集d
train
作为输入,按照公式计算方法计算result0中每个推荐框的iou值,将result0中iou大于0.5的输出作为正样本,记为result0p;将result0中iou小于0.5的输出作为负样本,记为result0n;统计负样本
result0n中的总样本数为m;人为输入所需负样本数,记为n;人为输入所需等分iou的间隔数为n
b
,记第i个iou区间的样本数为m
i
;设置第i个区间的随机采样概率为对每个iou区间进行随机采样,将负样本所有iou区间的采样结果记为result0ns;统计正样本result0p中的样本数,记为p;设置随机采样概率为对result0p进行随机采样,将正样本采样结果记为result0ps;步骤3.3、对区域推荐网络进行训练和优化将步骤3.2中得到的正样本采样结果result0ps和负样本采样结果result0ns作为输入,按照经典的adam算法对区域推荐网络进行训练和优化;得到训练和优化之后的区域推荐网络rpn1;步骤4、训练实例分割级联网络步骤4.1、对实例分割级联网络进行前向传播将步骤1中得到的训练集d
train
作为实例分割级联网络caseg0的输入,按照传统的前向传播方法把训练集d
train
送入实例分割级联网络caseg0进行运算,记实例分割级联网络caseg0的输出为result1;步骤4.2、对实例分割级联网络进行训练和优化将步骤4.1中得到的实例分割级联网络caseg0的输出result1作为输入,按照经典的adam算法对实例分割级联网络进行训练和优化;得到训练和优化之后的实例分割级联网络caseg1;步骤5、进行交替训练判断步骤3中设置的epoch是否等于12;如果epoch不等于12,则令epoch=epoch+1、rpn0=rpn1、caseg0=caseg1,依次重复步骤3.1、步骤3.2、步骤3.3、步骤4.1、步骤4.2,然后返回步骤5对epoch进行再次判断;如果epoch等于12,则令训练后的区域推荐网络rpn1和训练后的平实例分割级联网络caseg1记为网络gcban,然后进行步骤6;步骤6、评估方法步骤6.1、前向传播以步骤6中得到网络gcban和步骤1中得到的测试集d
test
作为输入,采用传统的前向传播方法,得到检测结果,记为r;以检测结果r作为输入,采用传统的非极大值抑制方法,去除检测结果r1中的冗余框,具体步骤如下:步骤(1)首先令检测结果r1中得分最高的框,记为bs;步骤(2)然后采用计算公式为:计算检测结果r1所有框的重叠率阈值(iou);舍弃iou>0.5的框;步骤(3)从剩余框中选出得分最高的框bs;重复上述步骤(2)中计算iou和舍弃的过程,直到没有框可以舍弃,最后剩余的框即为最终检测结果,记为r
f
;步骤6.2、计算指标
以步骤6.1中得到的检测结果r
f
作为输入,采用传统的召回率和精确率计算方法,求出网络的精确率p、召回率r和精确率和召回率曲线p(r);采用公式计算基于平衡学习的sar船只实例分割精度指标ap、ap
50
、ap
75
、ap
s
、ap
m
、ap
l


技术总结
本发明公开了一种基于全局语义边界注意网络的SAR船只实例分割方法,用来解决现有技术中目标框定位能力有限的问题。本发明基于深度学习理论,主要包括全局上下文信息建模模块和边界注意预测模块两部分。全局上下文信息建模模块通过多次增强特征的语义信息,建立长距离依赖关系,从而有效地减少背景干扰。边界注意预测模块通过两次预测目标的边界信息,从而提高目标框的定位能力。本发明提供的方法平均精度AP优于现有其他基于深度学习的SAR船只实例分割方法。本发明能够克服现有技术存在的目标框定位能力有限的问题,提高SAR图像中船只的实例分割精度。的实例分割精度。的实例分割精度。


技术研发人员:张晓玲 柯潇 张天文 师君 韦顺军
受保护的技术使用者:电子科技大学
技术研发日:2022.04.29
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-10386.html

最新回复(0)