本发明属于计算机视觉技术领域,涉及一种对高分辨遥感图像舰船目标精确检测的方法,具体来说是一种基于全卷积神经网络(fcn)框架的高分辨遥感图像舰船目标精确检测方法。
背景技术
目标检测是计算机视觉中重要且富有挑战性的任务,近几年来,基于常规自然图像的目标检测取得了重大的进展,前沿的目标检测算法(如fasterr-cnn,yolo,ssd,maskr-cnn等)都是在常规自然图像数据集上实验的。
和常规自然图像不同,遥感图像中的舰船目标有其特殊性,例如尺度多样性,视角多样性,小目标密集问题,多方向问题,背景复杂度高等诸多特点,如果同常规数据集一样,以水平框标注的方式对遥感图像中的舰船目标进行检测,在舰船目标比较密集的情况下,相邻舰船目标的真值框的iou(intersectionofunion)会比较大,导致基于常规自然图像的目标检测框架在高分辨遥感图像上的检测效果并不理想。因此采用旋转的矩形框来标注舰船目标,即以矩形框中心点的坐标,矩形框的长度和宽度以及角度共五个参数来表示旋转的矩形框,这样可以精确的表示舰船目标而且减小相邻舰船目标的真值框的iou,因此需要合理的检测模型来对高分辨遥感图像的密集舰船目标进行检测。
技术实现要素:
要解决的技术问题
为了避免现有技术的不足之处,本发明提出一种基于高分辨遥感图像的密集舰船目标精确检测方法。
技术方案
一种基于高分辨遥感图像的密集舰船目标精确检测方法,其特征在于步骤如下:
步骤1:对高分辨遥感图像进行归一化操作,使得高分辨遥感数据集分布符合标准正态分布,即使得高分辨遥感数据集服从于均值为0,标准差为1的分布,然后将图像放缩到固定的大小,然后按照图片的放缩比例对标注的舰船目标坐标的位置进行修改;
步骤2:构建网络模型,网络模型分为特征提取模块、特征融合模块和输出模块,其中特征提取模块采用的网络结构是在经典的残差网络结构的基础上再加入一个残差块,特征融合模块是将得到的卷积特征上采样,并和得到的卷积特征进行特征融合,将特征融合模块得到的特征图通过1×1的卷积核同时得到三种特征图,分别为得分图、位置图以及角度图,其中得分图负责预测特征图上每个点属于舰船目标的概率,位置图负责预测特征图的每个点到其所在目标框四条边的距离,角度图负责预测特征图的每个点所在目标框的角度;
步骤3:根据标注的高分辨遥感图像舰船目标框,计算得分图、位置图和角度图的真值:根据人工标注的舰船目标框,将目标框的四个点等比例向内缩小生成旋转的矩形框作为需要回归的目标框,需要回归的目标框每条边的长度为原始目标框的0.5-0.7倍,将需要回归的目标框对应到特征融合模块得到的特征图上,框内点的计算得分图设置为1,其余点为0;位置图具有四个通道,分别表示目标框内点到框四条边的距离,然后将计算得到的距离以图像的大小进行归一化;角度图为点所在目标框的角度,取值为-45度到45度之间,然后进行归一化,使得角度取值在0-1之间;
步骤4:每次在高分辨遥感图像训练集中随机选取图片作为网络输入,将网络得到的输出结果以及通过人工标注的目标框计算得到的真值计算目标函数,通过梯度下降算法来对整个网络的参数进行更新;其中目标函数由三部分组成,分别是得分图的损失、位置图的损失和角度图的损失;
得分图某点的损失函数设置为ls=-(1-pt)γlog(pt),令
位置图某点的损失函数设置为
角度图某点的损失函数设置为
因此在特征图上某点的总目标函数为l=αls+p*(βlg+ωlθ),其中α、β、ω分别得分图,位置图和角度图的权重;
步骤5:重复步骤4对整个网络进行训练,直到训练次数达到预先设定的值;
步骤6:把测试集的图片作为网络的输入,利用网络得到的得分图、位置图和角度图对目标框进行预测:若得分图上的某点得分大于设定的阈值,则根据该点的位置图和角度图得到舰船的目标框;按此操作完成所有点的预测后,通过非极大值抑制得到最终的检测结果。
步骤1中图像的固定的大小的宽和高均取512。
步骤4中的γ的取值为2或3。
步骤5中的设定的值为50000-70000次。
步骤6中的设定的阈值取0.7。
有益效果
本发明提出的一种基于高分辨遥感图像的密集舰船目标精确检测方法,克服了传统的目标检测框架无法有效地对高分辨遥感数据集中有倾斜且密集的舰船目标进行检测,通过端到端的检测实现了对高分辨遥感图像舰船目标的快速检测,即使在舰船目标特别密集的情况下,也能够非常有效的对舰船进行精确检测。
附图说明
图1基于高分辨遥感图像的密集舰船目标精确检测框架图
具体实施方式
现结合实施例、附图对本发明作进一步描述:
本发明是在标注形式为旋转矩形框的高分辨遥感数据上训练模型,然后通过训练好的模型对密集舰船目标进行检测。本发明基于fcn的架构对高分辨遥感图像中的舰船进行检测。首先通过卷积神经网络对遥感图像进行特征提取,然后通过上采样,和卷积神经网络提取的卷积特征进行特征融合。在特征融合得到的特征图上的每一个点上独立的进行目标预测,具体做法是在得到的特征图上的每个点同时预测属于目标的得分,以及该点到所在目标框四条边的距离和该点所在目标框的角度。当特征图上的某点属于目标的得分大于设定的阈值时,可以通过特征图上点到所在目标框四条边的距离和点所在目标框的角度来计算检测出的目标框。由于是在特征图上的每一个点独立且密集的进行目标预测,因此最后将预测的目标框通过非极大值抑制来得到最终的目标检测结果。
一种基于高分辨遥感图像的密集舰船目标精确检测方法,步骤如下:
步骤1:对高分辨遥感图像进行归一化操作,使得数据分布符合标准正态分布;
步骤2:构建网络模型,特征提取层在经典的残差网络结构的基础上再加入一个残差块,然后将得到的卷积特征上采样,并和得到的卷积特征进行特征融合,最后通过1×1的卷积核同时得到不同作用的特征图,分别为得分图,位置图以及角度图,其中得分图负责预测特征图上每个点属于舰船目标的概率,位置图负责预测特征图的每个点到其所在目标框四条边的距离,角度图负责预测特征图的每个点所在目标框的角度;
步骤3:根据标注的高分辨遥感图像舰船目标框,计算得分图,位置图和角度图的真值;
步骤4:每次在高分辨遥感图像训练集中随机选取一批图片作为网络输入,将网络得到的输出结果以及通过人工标注的目标框计算得到的真值计算目标函数,通过小批量梯度下降算法来对整个网络的参数进行更新;
步骤5:重复步骤4对整个网络进行训练,直到训练次数达到预先设定的值;
步骤6:把测试集的图片作为网络的输入,利用网络得到的得分图,位置图和角度图得到预测的舰船目标框,然后将得到的舰船目标框通过非极大值抑制得到最终的检测结果。
具体实施例:
步骤1:对高分辨遥感图像进行归一化操作,使得高分辨遥感数据集分布符合标准正态分布,即使得高分辨遥感数据集服从于均值为0,标准差为1的分布,然后将图像放缩到固定的大小,图像的宽和高放缩到512,然后按照图片的放缩比例对标注文件中的舰船目标坐标值进行修改;
步骤2:构建网络模型,如附图1所示,网络模型分为特征提取模块,特征融合模块和输出模块,其中特征提取模块采用的网络结构是在经典的残差网络结构的基础上再加入一个残差块,特征融合模块是将得到的卷积特征上采样,并和得到的卷积特征进行特征融合,将特征融合模块得到的特征图通过1×1的卷积核同时得到三种特征图,分别为得分图,位置图以及角度图,其中得分图负责预测特征图上每个点属于舰船目标的概率,位置图负责预测特征图的每个点到其所在目标框四条边的距离,角度图负责预测特征图的每个点所在目标框的角度;
步骤3:根据标注的高分辨遥感图像舰船目标框,计算得分图,位置图和角度图的真值,具体做法是根据人工标注的舰船目标框,将目标框的四个点等比例向内缩小生成旋转的矩形框作为需要回归的目标框,需要回归的目标框每条边的长度为原始目标框的0.5到0.7倍,将需要回归的目标框对应到特征融合模块得到的特征图上,框内点的计算得分图设置为1,其余点为0。位置图具有四个通道,分别表示目标框内点到框四条边的距离,然后将计算得到的距离以图像的大小进行归一化。角度图为点所在目标框的角度,取值为-45度到45度之间,然后进行归一化,使得角度取值在0-1之间;
步骤4:每次在高分辨遥感图像训练集中随机选取一批图片作为网络输入,通常每次选取的图片个数为8-16,将网络得到的输出结果以及通过人工标注的目标框计算得到的真值计算目标函数,通过小批量梯度下降算法来对整个网络的参数进行更新。其中目标函数由三部分组成,分别是得分图的损失,位置图的损失和角度图的损失。
得分图某点的损失函数设置为ls=-(1-pt)γlog(pt),令
位置图某点的损失函数设置为
角度图某点的损失函数设置为
因此在特征图上某点的总目标函数为l=αls+p*(βlg+ωlθ),其中α,β,ω分别得分图,位置图和角度图的权重。
步骤5:重复步骤4对整个网络进行训练,直到训练次数达到预先设定的值,设置为50000-70000次;
步骤6:把测试集的图片作为网络的输入,利用网络得到的得分图,位置图和角度图对目标框进行预测,具体而言,若得分图上的某点得分大于设定的阈值(这里取0.7),则根据该点的位置图和角度图得到舰船的目标框;按此操作完成所有点的预测后,通过非极大值抑制得到最终的检测结果。