一种基于注意力网络尺度特征融合的遥感场景分类方法
技术领域
本发明涉及遥感影像处理
技术领域
,尤其涉及一种基于注意力网络尺度特征融合的遥感场景分类方法。背景技术
随着卫星传感器和遥感技术的不断发展,有大量高分辨率(HSR)遥感图像可供使用,这些高分辨率遥感图像往往包含丰富的空间和语义信息,被广泛应用于土地利用规划、智能农业、关键目标检测和军事等领域。高分辨率图像的场景分类是一个重要的研究课题,它旨在为每张图像赋予合理的语义标签。通常高分辨率场景包含丰富的语义信息和复杂的空间模式,因此对其精确分类是一项具有挑战性的任务。
由于遥感影像的获取时间、位置的不同,导致对同一类场景的获取时存在因为方向不一致而产生的纹理不一致、形状大小有明显的差异。同时也因为光照等环境因素的影响使得同一类别的地物类型颜色差异大。同一类别的地物类型遥感图像在纹理、形状和颜色上存在的差别。高分辨率遥感影像都是从高空中拍摄的,这就导致了遥感影像种的场景有许多不同的方向,同时遥感影像中传感器与被测对象之间的距离变化很大,这也导致了遥感影像的尺度变化。
在对遥感图像场景进行分类时,通常最能区别不同类别的信息都集中在局部特征区域,而传统的卷积神经网络更加注重对图像全局信息的处理,容易丢失图像的局部细节信息。最新的在细粒度图像分类任务中引入注意力机制而提出循环注意力卷积神经网络,是在三种不同的层次上采用边框回归机制,回归出图像最具区分性的特征区域,最后融合从三个层次上提取出的图像特征完成分类,进一步提升了细粒度图像的分类性能。但该研究是基于图像单一尺度和角度的深度特征,目前遥感影像在目标类别、地物类别、地物尺度等方面逐渐趋于多样性,导致遥感场景的尺度和角度变化较大。
遥感场景影像包含的目标尺度和角度具有多样性,导致图像在形状、纹理以及颜色上存在的较大差异。而传统的卷积神经网络更加注重对图像全局信息的处理,且以往的研究只基于图像单一尺度的深度特征,也忽略了图像因旋转角度而导致提取到的特征存在差异性。
发明内容
本发明要解决的技术问题在于针对现有技术中的缺陷,提供一种基于注意力网络尺度特征融合的遥感场景分类方法。
本发明解决其技术问题所采用的技术方案是:
本发明提供一种基于注意力网络尺度特征融合的遥感场景分类方法,该方法包括以下步骤:
训练阶段:
步骤1、输入包括多种类型遥感场景图像的训练数据集;
步骤2、对训练数据集进行预处理,使输入的图像在尺寸上保持一致,并对图像的像素值进行归一化处理;
步骤3、构建多选框注意力网络模型MS-APN作为图像分类模型,通过卷积神经网络提取遥感图像多个尺度的特征,使用多选框注意力网络模型得到图像不同尺度下的关注区域,对关注区域进行裁剪和缩放并输入到三层网络结构中;融合原始图像不同尺度的特征及其关注区域的影像特征,并且利用LBP全局特征表达,并输入到网络全连接层来完成分类预测;
步骤4、将训练数据集的图像输入多选框注意力网络模型MS-APN进行学习训练,使用两种损失函数交替训练的方式,直到两种损失函数都收敛,此时固定整个模型的参数,得到最终用于分类的多选框注意力网络模型MS-APN;
测试阶段:
步骤5、输入待识别的遥感图像,通过训练好的多选框注意力网络模型MS-APN,输出遥感图像中的场景分类结果。
进一步地,本发明的所述步骤1中输入的遥感场景图像包括多个不同的公开数据集,每个数据集包括多种类型的遥感场景,每个遥感场景包括多张图像。
进一步地,本发明的所述步骤2中对图像的像素值进行归一化处理的方法为:
输入的图像是RGB彩色三通道图像,图像的每个像素点的值的范围在0~255之间,将所有像素值的范围从[0,255]归一化到[0,1]之间,加速训练网络的初始迭代的收敛速度,公式如下:
yi,j=2xi,j/255
其中,xi,j表示预处理前的图像,yi,j表示预处理后的图像,其中i∈[0,223],j∈[0,223]。
进一步地,本发明的所述步骤3包括:
步骤3.1、多尺度特征提取:选用VGG-16作为图像分类子网络来提取遥感场景图像的多尺度特征,VGG-16网络由13层卷积层和3层全连接层组成,首先输入网络的场景图像经过2次2层3×3的卷积和最大池化下采样操作,再经过3次3层3×3的卷积和最大池化下采样操作,最后经过3层全连接层由softmax分类器输出所属类别的概率;
步骤3.2、注意力关注区域提取:采用不同的先验矩形框来选定关注区域,最后将提取到的多个特征区域采用联合识别定位到不同尺度下的关注区域;
步骤3.3、多尺度特征融合:融合原始图像不同尺度的特征及其关注区域的影像特征,并且利用LBP全局特征表达,并输入到网络全连接层来完成分类预测。
进一步地,本发明的所述步骤3.2的具体方法为:
如果APN输出的通道为正方形候选框中心点的坐标(ta,tb),th是正方形候选框的一半,N是正方形候选框的像素点个数,Wi和Hi分别表示第i个先验矩形框的长和宽的一半,经过比较设置i的最大值为3,定义第i个先验矩形框的长和宽的比值为Ki,则有:
N=(2th)2=4th 2,Ki=Wi/Hi
规定了先验矩形框的面积等于输出的正方形框的面积,于是:
N=2Wi×2Hi=4KiHi 2
得到一个新的关于Wi和Hi的表达式如下:
其中,int()为向下取整的函数;使用先验矩形框的左上角和右下角的两个顶点来表示矩形框,得到目标区域的左上角和右下角的坐标值:
ta(ul)=ta-Wi,tb(ul)=tb-Hi
ta(br)=ta+Wi,tb(br)=tb+Hi
其中,⊙表示元素点乘运算,Xatt表示被裁剪后的目标区域;M(·)函数是一个可导的裁剪函数,由于它连续函数的特征,所以更容易在神经网络的反向传播中进行优化:
其中,是sigmoid函数,公式表示为:
输出的结果是0至1的开区间,当k足够大时,只有当x值介于ta(ul)与ta(br)区间,y值介于tb(ul)与tb(br)区间,即在特征区域的点,该点通过裁剪函数M(·)时才趋近于1,其他的情况下M(·)趋近于0;最后利用双线性插值方法来放大选中的目标区域来得到下一个输入网络的尺度,公式为:
其中,m和n的值用以下公式来表示:
其中,(m,n)表示原图像关注区域的任意一点,(i,j)表示图像经过方法操作后对应的(m,n)的值,S表示图片放大尺寸,[·]和{·}分别为取整部分和小数部分。
进一步地,本发明的所述步骤3.1包括:
1)输入到网络模型的多尺度图像进入第一个尺度层的分类子网络进行特征提取和分类操作,得到第一个尺度层分类子网络预测正确分类标签的概率Pt (1);
2)第一个尺度层分类子网络提取到的特征输入到多选框注意力网络d1,得到目标区域,将目标区域进行剪裁和放大操作后,作为第二个尺度层的输入;
3)将第一个尺度层输出的多尺度特征图像输入到第二个尺度层分类子网络进行特征提取和分类,得到第二个尺度层分类子网络预测正确标签的概率Pt (2);
4)第二个尺度层分类子网络提取到的特征输入到多选框注意力网络d2,得到目标区域,将目标区域进行剪裁和放大操作后,作为第三个尺度层的输入;
5)将第二个尺度层输出的多尺度特征图像输入到第三个尺度层分类子网络进行特征提取和分类,得到第三个尺度层分类子网络预测正确标签的概率Pt (3);
6)通过设定网络模型的正确分类标签概率为Pt (3)大于Pt (2),Pt (2)大于Pt (1),从而确定多选框注意力网络提取的目标区域更加准确;
7)最后将三层分类子网络提取到的特征输入到LBP算子进行特征融合,从而完成场景分类任务。
进一步地,本发明的所述步骤4中:
MSA-CNN网络模型损失函数包含两Lcls和Lrank两个部分,其中Lcls表示类别损失函数,包含了三层分类网络中预测遥感图像类别相对真实类别标签产生的损失,Lrank表示网络前后两层中高层次网络预测的概率比低层次网络预测的概率低时产生的损失,联合损失函数使用两种损失函数交替训练的方式,模型的联合损失函数L(x)的公式为:
其中,Y(s)表示网络模型预测图像所属的类别,Y*表示遥感图像真实的类别,Pt (s)表示网络结构中S层预测正确标签的概率值,Lrank的计算公式为:
Lrank(Pt (s),Pt (s+1))=max{0,Pt (s)-Pt (s+1)+0.05}
其中,通过取最大值的方法,更新网络模型中S+1层预测真实类别概率小于S层预测真实类别概率时产生的损失值,促使网络模型预测真实类别的概率随着层次的递增逐渐升高,当Pt (s)-Pt (s+1)+0.05>0时,相邻层次网络之间的损失才会更新,其中额外增加0.05是为了防止双方均为0而导致损失停止不更新的情况。
进一步地,本发明的所述步骤4中:
MSA-CNN网络模型采用VGG-16网络与MS-APN循环交叉训练的方式,首先使用预训练的VGG-16网络的参数实现多尺度遥感影像的特征提取与分类子网络的初始化,利用VGG-16网络最后一层卷积层中响应值最高的区域初始化MS-APN的参数{ta,tb,th,Ki};然后固定MS-APN的参数,训练VGG-16子网络直至其损失函数Lcls收敛,固定VGG-16网络的参数,训练MS-APN直至其损失函数Lrank收敛,最后循环交叉训练MS-APN与VGG-16子网络,直至Lcls与Lrank联合损失函数都收敛,此时固定整个模型的参数,得到最终用于分类的模型并进行最后的场景分类预测。
本发明产生的有益效果是:本发明的基于注意力网络尺度特征融合的遥感场景分类方法,基于多尺度特征融合注意力模型来实现,遥感图像的类别多样性高,为了达到更好的实现效果,使用的是基于多选框注意力模型+LBP特征融合的方法,可有效解决同类技术应用的缺陷。1)本发明能提取到图像的多尺度和多角度特征;2)本发明更加关注分类图像的目标特征区域;3)本发明研究意义更大,对土地利用规划、智能农业、关键目标检测等有重要意义。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例的遥感影像场景分类流程图;
图2是本发明实施例的MS-APN作用原理;
图3是本发明实施例的LBP特征提取;
图4是本发明实施例的MSA-CNN网络模型结构。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例基于注意力网络尺度特征融合(MSA-CNN)的遥感场景分类方法,首先,通过卷积神经网络提取遥感影像多个尺度的特征,使用多选框注意力模型得到图像不同尺度下的关注区域,对关注区域进行裁剪和缩放并输入到三层网络结构中。然后,融合原始影像不同尺度的特征及其关注区域的影像特征,并且利用LBP全局特征表达,克服遥感图像因拍摄角度不同带来的差异性,最后输入到网络全连接层来完成分类预测。主要步骤分为数据集预处理、多尺度特征提取、注意力关注区域提取、特征融合与分类,遥感图像分类流程如图1所示。
1)多选框注意力模型
多选框注意力模型主要针对遥感场景分类时更加准确的定位到图像的关注区域。多选框注意力模型在三层网络特征训练过程中可以逐渐聚焦到关键区域,能更加准确。并且与分类网络的交替训练可以进行相互促进,是较优秀的非监督式网络。
2)分类子网络
网络的3个不同级别子网络的卷积层,这些卷积层就是从输入图像中提取特征,根据提取到的特征,一方面通过多选框注意力模型得到区域信息,另一方面就是传给全连接层(fc)和softmax层去预测该图像的类别概率,这其中的一个任务(task)就是做分类。
本发明实施例的具体步骤包括:
训练阶段:
步骤1、输入训练数据集;
UC Merced Land-Use数据集由加州大学通过对美国地质调查局国家地图下载的数据进行人工提取获得,该数据集于2010年发布,现已成为遥感影像场景分类研究最为广泛使用的数据集。UC Merced Land-Use数据集中共有2100张遥感影像,包含21类土地利用遥感场景,每个类别有100张影像,每张影像的分辨率均为256×256。
NWPU-RESISC45数据集由西北工业大学从Google Earth的遥感数据中人工截取获得,于2017年发布,该数据集是目前包含遥感场景种类和数目最多的公开数据集,可作为遥感影像场景分类的基准。NWPU-RESISC45数据集中共有31500张遥感影像,包含45类遥感场景,每个类别有700张图像,每张影像的分辨率与UC Merced Land-Use数据集相同,均为256×256。
高景1号影像数据集大小为24631×23945像素,取自中国湖北省武汉市江夏区,地形为平原,海拔20m,面积85.5km2,全色波段分率0.5m,多光谱波段分辨率2m,红、绿、蓝、近红外4个波段,实验前对遥感影像经过辐射、大气和正射校正等预处理。
步骤2、数据集的预处理;
由于总体分类网络中存在全连接层,要求输入的图像在尺寸上要保持一致,所以首先要将训练集和测试集的图像尺寸大小统一调整为224×224的规格来满足网络输入的要求。由于输入的图像是RGB彩色三通道图像,图像的每个像素点的值的范围在0~255之间,为了满足网络对输入数据的要求,将所有像素值的范围从[0,255]归一化到[0,1]之间,加速训练网络的初始迭代的收敛速度,公式如下:
yi,j=2xi,j/255 (1)
公式中xi,j表示预处理前的图像,yi,j表示预处理后的图像,其中i∈[0,223],j∈[0,223]。
步骤3、图片分类模型设计;
MSA-CNN模型通过卷积神经网络(VGG-16)提取遥感影像多个尺度的特征,使用多选框注意力模型(MS-APN)得到图像不同尺度下的关注区域,对关注区域进行裁剪和缩放并输入到三层网络结构中。然后,融合原始影像不同尺度的特征及其关注区域的影像特征,并且利用LBP全局特征表达,克服遥感图像因拍摄角度不同带来的差异性,最后输入到网络全连接层来完成分类预测。
步骤3.1、多尺度特征提取;
本发明选用VGG-16作为图像分类子网络来提取遥感场景影像的多尺度特征是由于VGG-16网络具有稳定的网络结构和特征提取能力,对于存在多尺度目标和背景信息复杂的遥感影像,其特征提取能力更强,保证了特征信息完整和结果精度。VGG-16网络由13层卷积层和3层全连接层组成,首先输入网络的场景影像经过2次2层3×3的卷积和最大池化下采样操作,再经过3次3层3×3的卷积和最大池化下采样操作,最后经过3层全连接层由softmax分类器输出所属类别的概率。
步骤3.2、注意力关注区域提取;
RA-CNN的注意力子网络(APN)由2个全连接层组成,使用APN模块来实现对遥感场景影像关注区域提取,但是这种提取关注区域的方式是固定使用正方形框定目标,这样就容易造成提取的关注区域含有不属于特征的部分或者原本属于多的特征的部分提取不完整。对于高分辨率遥感影像而言,图片中通常关注区域是不规则的几何形状,因此只是使用了正方形候选框更容易造成背景区域被计入。所以本发明采用不同的先验矩形框来选定目标区域,最后将提取到的多个特征区域采用联合识别可以更加准确的定位到目标区域。因此在原始APN注意力模型的基础上进行改进,如图2,提出多选框注意力网络模型MS-APN。
如果APN输出的通道为正方形候选框中心点的坐标(ta,tb),th是正方形候选框的一半,N是正方形候选框的像素点个数,Wi和Hi分别表示第i个先验矩形框的长和宽的一半,经过比较本发明设置i的最大值为3,可以定义第i个先验矩形框的长和宽的比值为Ki,则有:
N=(2th)2=4th 2,Ki=Wi/Hi (2)
规定了先验矩形框的面积等于输出的正方形框的面积,于是:
N=2Wi×2Hi=4KiHi 2 (3)
结合公式(2)和公式(3)可以得到一个新的关于Wi和Hi的表达式如下:
公式中int()为向下取整的函数。使用先验矩形框的左上角和右下角的两个顶点来表示矩形框。可以得到目标区域的左上角和右下角的坐标值:
确定了坐标值后,最终的裁剪后的区域Xatt可以表示为:
Xatt=X⊙M(ta,tb,th,Ki) (6)
其中⊙表示元素点乘运算,Xatt表示被裁剪后的目标区域。M(·)函数是一个可导的裁剪函数,由于它连续函数的特征,所以更容易在神经网络的反向传播中进行优化:
其中是sigmoid函数,公式可表示为:
输出的结果是0至1的开区间,当k足够大时,只有当x值介于ta(ul)与ta(br)区间,y值介于tb(ul)与tb(br)区间(即在特征区域的点),该点通过裁剪函数M(·)时才趋近于1,其他的情况下M(·)趋近于0。最后利用双线性插值方法来放大选中的目标区域来得到下一个输入网络的尺度,公式为:
上式中m和n的值可以用以下公式来表示:
其中(m,n)表示原图像关注区域的任意一点,(i,j)表示图像经过方法操作后对应的(m,n)的值,S表示图片放大尺寸,[·]和{·}分别为取整部分和小数部分。MS-APN算法可以简单解释为:当候选特征区域在右上角时,中心点会向右上角移动;当候选特征区域在左下角时,中心点会向左下角移动(其余位置同理);得到候选特征区域后,利用双线性插值法将候选特征区域放大至与原始输入尺寸相同。
步骤3.3、多尺度特征融合;
局部二值模式(LBP)是一种用来描述图像局部纹理特征的算子,具有灰度不变性和旋转不变性等优点。原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。首先以矩形左上角为起点,将相邻的8个像素的灰度值顺时针相连可产生8位二进制数,即得到该窗口中心像素点的LBP值,并用这个值来反映该区域的纹理信息。具体过程如图3所示。
整个MSA-CNN网络模型结构如图4所示。网络模型处理图像的算法步骤如下:
1)输入到网络模型的多尺度图像进入第一个尺度层的分类子网络进行特征提取和分类操作,得到第一个尺度层分类子网络预测正确分类标签的概率Pt (1);
2)第一个尺度层分类子网络提取到的特征输入到多选框注意力网络d1,得到目标区域,将目标区域进行剪裁和放大操作后,作为第二个尺度层的输入;
3)将第一个尺度层输出的多尺度特征图像输入到第二个尺度层分类子网络进行特征提取和分类,得到第二个尺度层分类子网络预测正确标签的概率Pt (2);
4)第二个尺度层分类子网络提取到的特征输入到多选框注意力网络d2,得到目标区域,将目标区域进行剪裁和放大操作后,作为第三个尺度层的输入;
5)将第二个尺度层输出的多尺度特征图像输入到第三个尺度层分类子网络进行特征提取和分类,得到第三个尺度层分类子网络预测正确标签的概率Pt (3);
6)通过设定网络模型的正确分类标签概率为Pt (3)大于Pt (2),Pt (2)大于Pt (1),从而确定多选框注意力网络提取的目标区域更加准确;
7)最后将三层分类子网络提取到的特征输入到LBP算子进行特征融合,从而完成场景分类任务。
步骤4、网络模型学习训练;
MSA-CNN网络模型损失函数包含两Lcls和Lrank两个部分,其中Lcls表示类别损失函数,包含了三层分类网络中预测遥感图像类别相对真实类别标签产生的损失,Lrank表示网络前后两层中高层次网络预测的概率比低层次网络预测的概率低时产生的损失,联合损失函数使用两种损失函数交替训练的方式,模型的联合损失函数L(x)的公式为:
其中,Y(s)表示网络模型预测图像所属的类别,Y*表示遥感图像真实的类别,Pt (s)表示网络结构中S层预测正确标签的概率值,Lrank的计算公式为:
Lrank(Pt (s),Pt (s+1))=max{0,Pt (s)-Pt (s+1)+0.05} (12)
其中,通过取最大值的方法,更新网络模型中S+1层预测真实类别概率小于S层预测真实类别概率时产生的损失值,促使网络模型预测真实类别的概率随着层次的递增逐渐升高,当Pt (s)-Pt (s+1)+0.05>0时,相邻层次网络之间的损失才会更新,其中额外增加0.05是为了防止双方均为0而导致损失停止不更新的情况。
MSA-CNN网络模型采用VGG-16网络与MS-APN循环交叉训练的方式,首先使用预训练的VGG-16网络的参数实现多尺度遥感影像的特征提取与分类子网络的初始化,利用VGG-16网络最后一层卷积层中响应值最高的区域初始化MS-APN的参数{ta,tb,th,Ki};然后固定MS-APN的参数,训练VGG-16子网络直至其损失函数Lcls收敛,固定VGG-16网络的参数,训练MS-APN直至其损失函数Lrank收敛,最后循环交叉训练MS-APN与VGG-16子网络,直至Lcls与Lrank联合损失函数都收敛,此时固定整个模型的参数,得到最终用于分类的模型并进行最后的场景分类预测。
测试阶段:
步骤5、输入待识别的图像
通过训练好的网络模型对测试集进行识别,输出遥感图像中的场景分类结果。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。