一种改进的复杂背景遥感图像目标检测方法及系统

文档序号:29958930发布日期:2022-05-11 08:37阅读:161来源:国知局
一种改进的复杂背景遥感图像目标检测方法及系统

1.本发明属于遥感图像处理和目标检测技术领域,涉及一种遥感图像目标检测方法及系统,尤其涉及一种改进的复杂背景遥感图像目标检测方法及系统。


背景技术:

2.在计算机视觉领域中目标检测是最关键同时也是最基本的任务之一,近年来,目标检测技术受到深度学习的推动,从而对检测精度和速度产生巨大的提升。由于遥感图像的特殊性,在对目标图像中存在的小目标提取特征、定位及分类的过程中,因为遥感图像包含的复杂背景、分辨率低以及遥感目标的类型、尺寸等复杂多样,导致在检测的过程中往往具有不确定性。因此,在检测遥感图像目标方面仍具有极大挑战,在复杂背景下的遥感图像中针对小目标进行高精度的检测具有重大的意义。
3.当前,基于深度学习的目标检测随着计算机硬件技术的提高而获得极大的发展,基于卷积神经网络的目标检测算法分为两大类:一是双阶段的目标检测算法,如r-cnn、faster r-cnn等,二是单阶段的目标检测算法,如yolo算法系列、 ssd目标检测网络等。以上算法对于检测背景简单、分辨率高、大型且形状规则的目标有着很高的精确性,然而,若将上述算法直接应用于以上特征都不具备的遥感图像进行小目标的检测,很难取得令人满意的效果。


技术实现要素:

4.为了解决上述技术问题,本发明提出了一种改进的复杂背景遥感图像目标检测方法及系统,能够实现对遥感图像目标进行有效的检测,大大提高目标检测的精确度。
5.本发明的方法所采用的技术方案是:一种改进的复杂背景遥感图像目标检测方法,包括以下步骤:
6.步骤1:构建复杂背景遥感图像目标检测网络;
7.所述复杂背景遥感图像目标检测网络,包括特征提取网络、基于先验知识的锚框改进网络和基于iou优化的锚框补选增强网络;
8.所述特征提取网络,以vovnet作为基础网络,包括串联的3*3卷积层、并联的1*1卷积层,在vovnet中进行串联的第一层卷积层之前与最后层卷积后级联残差结构和自注意力层;残差结构有一层卷积层conv1*1、批量归一化bn和激活函数leaky-relu;vovnet连续的卷积层进行双向连接,既与后一层相连接,又在最后一个特征图一次性聚合所有特征;
9.所述基于先验知识的锚框改进网络,用于将特征提取网络输出的特征图使用调窗算法进行类型转化,提取有效的结构信息,然后提取先验信息;
10.所述基于iou优化的锚框补选增强网络,用于设置一个与真实锚框a相同大小的假锚框b,s
*
是a与b的交集面积,则
11.步骤2:训练复杂背景遥感图像目标检测网络;
12.步骤3:将待测遥感图像输入训练好的复杂背景遥感图像目标检测网络中进行目标检测,得到目标检测结果。
13.本发明的系统所采用的技术方案是:一种改进的复杂背景遥感图像目标检测系统,包括以下模块:
14.模块1,用于构建复杂背景遥感图像目标检测网络;
15.所述复杂背景遥感图像目标检测网络,包括特征提取网络、基于先验知识的锚框改进网络和基于iou优化的锚框补选增强网络;
16.所述特征提取网络,以vovnet作为基础网络,包括串联的3*3卷积层、并联的1*1卷积层,在vovnet中进行串联的第一层卷积层之前与最后层卷积后级联残差结构和自注意力层;残差结构有一层卷积层conv1*1、批量归一化bn和激活函数leaky-relu;vovnet连续的卷积层进行双向连接,既与后一层相连接,又在最后一个特征图一次性聚合所有特征;
17.所述基于先验知识的锚框改进网络,用于将特征提取网络输出的特征图使用调窗算法进行类型转化,提取有效的结构信息,然后提取先验信息;
18.所述基于iou优化的锚框补选增强网络,用于设置一个与真实锚框a相同大小的假锚框b,s
*
是a与b的交集面积,则
19.模块2,用于训练复杂背景遥感图像目标检测网络;
20.模块3,用于将待测遥感图像输入训练好的复杂背景遥感图像目标检测网络中进行目标检测,得到目标检测结果。
21.相对于现有技术,本发明的有益效果是:对场景不同下的遥感目标均具有更好的检测结果,本发明比初始算法具有更高的精度。对比现有的算法,本文的ssd算法的检测性能更加优越。在检测复杂背景下的遥感图像目标过程中,本发明表现出更高的精度和更优的鲁棒性。
附图说明
22.图1是本发明实施例的方法流程示意图;
23.图2是本发明实施例特征提取网络结构图;
24.图3是本发明与ssd算法进行检测结果对比图,其中,(a)现有的ssd算法,(b)为本发明的算法。
具体实施方式
25.为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
26.请见图1,本发明提供的一种改进的复杂背景遥感图像目标检测方法,包括以下步骤:
27.步骤1:构建复杂背景遥感图像目标检测网络;
28.本实施例的复杂背景遥感图像目标检测网络,包括特征提取网络、基于先验知识的锚框改进网络和基于iou优化的锚框补选增强网络;
29.本实施例的特征提取网络,以vovnet作为基础网络,包括串联的3*3卷积层、并联的1*1卷积层,在vovnet中进行串联的第一层卷积层之前与最后层卷积后级联残差结构和自注意力层;串联的3*3卷积层输入维度为64,输出维度为1024,并联的1*1卷积层输入维度为1024,输出维度为256;残差结构有一层卷积层conv1*1、批量归一化bn和激活函数leaky-relu,其中输入维度为64,输出维度为256;对于64维的图文特征向量,输入到3*3卷积层得到1024维的特征,同时经过残差结构输出256维的特征,1024维的特征再经过自注意力层后输入到并联的1*1卷积层,输出256维的特征;vovnet连续的卷积层进行双向连接,既与后一层相连接,又在最后一个特征图一次性聚合所有特征;
30.本实施例的特征提取网络里加入自注意力机制,特征图先在两个卷积核进行卷积,然后缩减特征图的通道数为原先1/8的目标特征空间和特征空间,第三次卷积得到矩阵。经过矩阵乘法,取得尺度特征矩阵,再通过softmax函数在列方向上进行尺度归一化,得到注意力矩阵。
31.为便于理解,下面以举例的方式对本实施例所构建的特征提取网络结构和参数进行介绍。
32.请见图2,本实施例的特征提取网络模型包括20层卷积层,每层卷积层设置参数如下:第一层卷积层conv1_1,卷积核大小为3*3,卷积核个数为64,步长为1;第二层卷积层conv1_2,卷积核大小为3*3,卷积核个数为64,步长为 1;第三层卷积层conv1_3,卷积核大小为3*3,卷积核个数为64,步长为1,激活函数为leaky-relu;第四层卷积层conv2_1,卷积核大小为3*3,卷积核个数为 128,步长为1;第五层卷积层conv2_2,卷积核大小为3*3,卷积核个数为128,步长为1;第六层卷积层conv2_3,卷积核大小为3*3,卷积核个数为128,步长为1,激活函数为leaky-relu;第七层卷积层conv3_1,卷积核大小为3*3,卷积核个数为256,步长为1;第八层卷积层conv3_2,卷积核大小为3*3,卷积核个数为256,步长为1;第九层卷积层conv3_3,卷积核大小为3*3,卷积核个数为 256,步长为1,激活函数为leaky-relu;第十层卷积层conv4_1,卷积核大小为 3*3,卷积核个数为512,步长为1;第十一层卷积层conv4_2,卷积核大小为3*3,卷积核个数为512,步长为1;第十二层卷积层conv4_3,卷积核大小为3*3,卷积核个数为512,步长为1,激活函数为leaky-relu;第十三层卷积层conv5_1,卷积核大小为3*3,卷积核个数为1024,步长为1;第十四层卷积层conv5_2,卷积核大小为3*3,卷积核个数为1024,步长为1;第十五层卷积层conv5_3,卷积核大小为3*3,卷积核个数为1024,步长为1,激活函数为leaky-relu;第十六层卷积层conv6_1,卷积核大小为3*3,卷积核个数为1024,步长为1;第十七层卷积层conv6_2,卷积核大小为3*3,卷积核个数为1024,步长为1;第十八层卷积层conv6_3,卷积核大小为3*3,卷积核个数为1024,步长为1,激活函数为leaky-relu;第十九层卷积层conv7,卷积核大小为1*1,卷积核个数为512,步长为1,激活函数为leaky-relu;第二十层卷积层conv8,卷积核大小为1*1,卷积核个数为256,步长为1,激活函数为leaky-relu。
33.本实施例的vovnet网络模型中进行串联的第一层卷积层之前与网络最后层卷积后级联之间添加一个残差结构,残差结构有一层卷积层conv1*1,激活函数为leaky-relu,以及批量归一化bn。
34.本实施例在特征提取网络里引入自注意力层,在自注意力层中特征图x的输入为c
×h×
w,c其是特征图的通道数,h是特征图的高度,w是特征图的宽度。特征图x先在h
×
w两
个卷积核进行卷积,然后缩减特征图的通道数c1的目标特征空间f(x)(c1=c/8,维度c1×h×
w)和特征空间g(x)(维度c1×h×
w),第三次卷积得到维度为c
×h×
w的矩阵h(x)。经过f和g的矩阵乘法,取得尺度特征矩阵s
ij
,再通过softmax函数在列方向上进行尺度归一化,得到注意力矩阵β
ji

[0035][0036]sij
=f(xi)
t
g(xi);
[0037]
其中,n表示尺度特征图矩阵中元素的数量,j表示区域,i表示位置,xi表示原始输入特征图;对特征空间h和注意力矩阵进行矩阵乘法运算,最终得到自注意力特征图;输出注意力层表示为:
[0038]
o=(o1,o2,o3...oi...on)∈rc×n;
[0039]
h(xi)=whxi;
[0040]
其中,wh表示特征空间h的特征向量。将权重加入自注意特征图,原始权重值为0,权重值的迭代由反向传播的神经网络完成:yi=γoi+xi,yi表示最终返回的特征图,γ表示自注意力特征图中初始值权重,初始值为0,oi为展开后的自注意力特征图。
[0041]
本实施例的基于先验知识的锚框改进网络,用于将特征提取网络输出的特征图使用调窗算法进行类型转化,充分提取有效的结构信息,对处理后的数据提取先验信息,即引入单调性与平滑性约束,避免数据中的幸存者偏差,提供额外的解释性;将图像的先验信息通过设计锚框来加快水平收敛。
[0042]
本实施例的调窗算法为设计锚框的算法,调窗算法是将特征图从第一个灰度自左向右进行面积累加,当累加的面积占到整个特征图面积的72%时对应的灰度值作为窗位,然后设定固定窗宽,本实施例将其改进,将特征图的局部极小值点的灰度值作为窗底,然后搜索剩余值中的最大值,令其灰度值作为窗位。
[0043]
本实施例提取先验信息包含设定初始曲线和构建判别函数,根据数据之间的联系以及图像的灰度信息设定初始值;对调窗处理的后的图像梯度特征和纹理特征,利用机器学习构造出判别函数d(x)=w
t
xi,其中w
t
为增广权向量,xi为增广模式向量。
[0044]
例如,引入单调性约束通过把特征分为单调性和非单调性分开处理,对于单调特征,采用线性分段变换:
[0045][0046]
其中,h为线性单调约束函数,a,b,c为单调约束的三个输入,x[d]为单调约束的输出,relu为激活函数,α[n]为加权,b[1]c[1]为常数值。
[0047]
例如,引入平滑性约束方法有很多,一种较佳的方法为:
[0048][0049]
其中,lk为平滑约束函数,δk为约束损失,sj为约束添加向量。
[0050]
根据各特征层的锚框尺度和下采样倍数计算出锚框的密度。设d为锚框铺设密度,
c为锚框尺度,p为下采样倍数。锚框铺设密度公式:
[0051][0052]
本实施例基于iou优化的锚框补选增强网络,用于设置一个与真实锚框a相同大小的假锚框b,s
*
是a与b的交集面积,则
[0053]
步骤2:训练复杂背景遥感图像目标检测网络;
[0054]
步骤2的具体实现包括以下子步骤:
[0055]
步骤2.1:利用遥感图像制作遥感图像数据集,并确定出训练数据集和测试数据集;
[0056]
本实施例针对收集卫星遥感图像,利用图像注释工具在遥感图像上注释出图像中待检测目标的属性,包括类别、位置和形状;将标注后的卫星遥感图像尺寸调整至预设输入图像的大小,形成卫星遥感图像数据集;将制作好的数据集分为训练集和测试集。
[0057]
在本发明实施例提供的方案中,确定图像训练集和测试集的方法为:根据预设比例7:3将收集到的遥感图像分为训练集和测试集,数据集中待检测种类包括飞机和汽车等。将训练数据集中的图像至少设置一个待检测的目标,比如汽车、飞机,然后通过自动和人工标注对图像中的待检测目标进行类型及位置的标注;将测试数据集中的图像至少设置一个待检测的目标,比如汽车、飞机,然后通过自动和人工标注对图像中的待检测目标进行类型及位置的标注标注,完成后将训练数据集以及测试数据集进行数据的预处理,预处理包括对图像大小的统一、图像翻转和颜色扭曲等。处理完成后进行数据的读取。
[0058]
步骤2.2:将训练数据输入特征提取网络进行特征提取,得到所需的特征图;
[0059]
步骤2.3:将得到的特征图输入到基于先验知识的锚框改进网络中进行目标标注;
[0060]
步骤2.4:将标注过的数据结果输入到基于iou优化的锚框补选增强网络中进行锚框选择,得到最合适的锚框;
[0061]
训练网络时进行选择所需锚框选择和丢弃多余锚框,采用锚框的补选增强解决,在经过分类置信度排序后,卷积神经网络丢掉分类置信度不高的锚点,丢弃的锚点中存在置信度阈值相差不多的锚点,容易导致网络的错误判断。
[0062]
例如,真实框内的特征映射点映射到原始输入,设置一个与真实框相同大小的假框,计算出两个框之间的单位。真实框面积为a,假框为b,s
*
是a与b的交集面积,sa+s
b-s
*
为a与b的并集面积。假设lb为假框中点到边框左边的距离,rb为假框中点到边框右边的距离,tb为假框中点到边框顶端的距离,bb为假框中点到边框底部的距离,同理,la为真实框中点到边框左边的距离,ra为真实框中点到边框右边的距离,ta为真实框中点到边框顶部的距离,ba为真实框中点到边框底部的距离。公式为:
[0063]
la=ra=(lb+rb)/2;
[0064]
ta=ba=(tb+bb)/2;
[0065]
sb=(lb+rb)
×
(tb+bb);
[0066]
sa=(la+ra)
×
(ta+ba);
[0067]s*
=[min(la,lb)+min(ra,rb)]
×
[min(ta,tb)+min(ba,bb)];
[0068][0069]
每次的网络迭代中将一部分淘汰的锚框继续加入后面的迭代训练,经过多次之后,主要的候选框都可以充分的训练。
[0070]
步骤2.5:将测试数据输入到训练后的复杂背景遥感图像目标检测网络,将检测结果与实际目标进行对比,若满足精度值map值为最大值时,则结束训练,获得训练好的复杂背景遥感图像目标检测网络;否则回转执行步骤2.2。
[0071]
本实施例训练构造好的检测模型,在pytoch深度学习框架下,利用标注好的训练数据集进行训练,直到网络达到最优,记录此刻的网络参数并保存,利用训练好的网络模型及保存的参数和建立的检测网络对测试数据进行目标检测,输出检测目标的类别信息和位置信息。
[0072]
步骤3:将待测遥感图像输入训练好的复杂背景遥感图像目标检测网络中进行目标检测,得到目标检测结果。
[0073]
请见图3,本实施例通过对比实验对本发明的效果做进一步的阐述。
[0074]
1.仿真条件;
[0075]
实验所用数据集遥感图像数据集为自己收集加上中科院大学高清航拍目标数据集(ucas-aod),共5000张图像,包含航拍图像下的飞机和汽车两类样本,将其分为两份,一份作为训练集一份为测试集。实验中,各方法所使用的语言都由python实现,且都在pytoch深度学习框架下完成。
[0076]
2.实验结果;
[0077]
实验比较了6种不同目标检测算法在同一数据集下的检测效果,本发明与比对方法的检测结果数据如下表:
[0078][0079]
通过上表可以得出,本发明算法对遥感图像目标的检测精度有较大提高。在给出的目标检测算法中,本文算法占据优势。从各项算法的检测精度来看,本文改进后的ssd算法相比于初始的ssd算法精度提高了11.56%,相比于fasterr-cnn、yolov4、fd-ssd、mean-ssd、fe-ssd,map值分别提高了10.53%、2.74%、1.89%、4.04%。
[0080]
从实验结果来看,本发明的目标检测算法(ssd(ours))具有更好的检测结果,证明改进后的算法比初始算法具有更高的精度。对比其他几种经典的算法,本发明的ssd算法的检测性能更加优越。
[0081]
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1