发明内容
为了提高对遥感图像进行目标检测时的准确度,本申请提供遥感图像目标检测方法、装置、电子设备及介质。
第一方面,本申请提供一种遥感图像目标检测方法,采用如下的技术方案:
一种遥感图像目标检测方法,包括:
获取待测图像;
提取所述待测图像基于多个尺度的多个特征图;
将多个所述特征图输入至训练好的特征融合网络模型进行特征融合以生成多个融合特征图;基于所述融合特征图确定目标的分类和目标的边框界框位置;
其中,所述训练好的特征融合网络模型为基于多个训练好的normal cell和NAS-FPN网络模型生成的DARS-FPN网络模型,且所述训练好的normal cell为根据遥感图像集以及DARTS 算法训练生成的normal cell。
通过采用上述技术方案,提取了图像各个尺度的特征图后,将多个特征图输入至训练好的normal cell进行特征融合以生成初步融合特征,将初步融合特征输入至NAS-FPN网络模型,NAS-FPN网络模型对初步融合后的特征进行进一步融合后生成融合特征图,由于训练好的normal cell是针对于遥感图像目标检测进行针对性训练得到的神经单元结构,因此使得整个DARTS-FPN更适用于遥感图像,进而提升了网络模型对遥感图像进行目标检测时的准确性。
在另一种可能的实现方式中,所述提取所述待测图像基于多个尺度的多个特征图,包括:
提取所述待测图像基于训练好的Resnet网络模型生成的多个尺度的多个特征图。
在另一种可能的实现方式中,所述根据遥感图像集以及DARTS算法训练生成训练好的normal cell,包括:
根据所述遥感图像集以及DARTS算法训练生成初始normal cell和初始reductioncell;
基于所述初始normal cell和所述初始reduction cell堆叠生成验证网络模型;
将获取到的验证图片输入至所述验证网络模型以生成验证结果;
基于所述验证结果确定所述训练好的normal cell。
在另一种可能的实现方式中,将多个所述特征图输入至训练好的特征融合网络模型进行特征融合以生成多个融合特征图,之前还包括:
预测每个所述特征图的权重,并将每个所述特征图加权后输入至所述特征融合网络模型。
在另一种可能的实现方式中,所述基于所述融合特征图确定目标的分类和目标的边框界框位置,包括:
根据偏斜IoU计算方法,将旋转非极大值抑制作为基于偏斜IoU计算的后处理操作确定旋转边界框的回归;
其中,所述旋转边界框回归偏移量包括:
tx=(x-xa)/wa
ty=(y-ya)/ha
tw=log(w/wa)
th=log(h/ha)
tθ=θ-θa
其中x,y,w,h和θ分别表示框的中心坐标,宽度,高度和角度;变量x,xa和x分别用于地面真实框、锚框和预测框。
在另一种可能的实现方式中,所述方法还包括:
根据IoU-Smooth L1 loss损失函数确定所述旋转边界框的回归;
其中,所述IoU-Smooth L1 loss损失函数为:
其中,其中N表示锚框数量;
tn表示对象的标签;
pn是由Softmax函数计算的各个类别的概率分布,
t′n是一个二进制值(t′n=1表示前景,t′n=0表示背景,背景无回归);
v′nj表示预测的偏移矢量;
vnj表示地面真实的目标矢量;
uij,u′ij分别代表遮掩像素的标签和预测;
IoU表示预测框和地面真实框的重叠;
λ1,λ2,λ3表示的是超参数。
第二方面,本申请提供一种遥感图像目标检测装置,采用如下的技术方案:
一种遥感图像目标检测装置,包括:
获取模块,用于获取待测图像;
特征提取模块,用于提取所述待测图像基于多个尺度的多个特征图;
特征融合模块,用于将多个所述特征图输入至训练好的特征融合网络模型进行特征融合以生成多个融合特征图;
分类回归子网络模块,用于基于所述融合特征图确定目标的分类和目标的边框界框位置;
其中,所述训练好的特征融合网络模型为基于多个训练好的normal cell和NAS-FPN网络模型生成的DARS-FPN网络模型,且所述训练好的normal cell为根据遥感图像集以及DARTS 算法训练生成的normal cell。
在另一种可能的实现方式中,所述特征提取模块在提取所述待测图像基于多个尺度的多个特征图时,具体用于:
提取所述待测图像基于训练好的Resnet网络模型生成的多个尺度的多个特征图。
在另一种可能的实现方式中,所述特征融合模块在根据遥感图像集以及DARTS算法训练生成训练好的normal cell时,具体用于:
根据所述遥感图像集以及DARTS算法训练生成初始normal cell和初始reductioncell;
基于所述初始normal cell和所述初始reduction cell堆叠生成验证网络模型;
将获取到的验证图片输入至所述验证网络模型以生成验证结果;
基于所述验证结果确定所述训练好的normal cell。
在另一种可能的实现方式中,所述目标检测装置还包括注意力模块,所述注意力模块用于:
在将多个所述特征图输入至训练好的特征融合网络模型进行特征融合以生成多个融合特征图,之前预测每个所述特征图的权重,并将每个所述特征图加权后输入至所述特征融合网络模型。
在另一种可能的实现方式中,所述分类回归子网络模块在基于所述融合特征图确定目标的分类和目标的边框界框位置时,具体用于:
根据偏斜IoU计算方法,将旋转非极大值抑制作为基于偏斜IoU计算的后处理操作确定旋转边界框的回归;
其中,所述旋转边界框回归偏移量包括:
tx=(x-xa)/wa
ty=(y-ya)/ha
tw=log(w/wa)
th=log(h/ha)
tθ=θ-θa
其中x,y,w,h和θ分别表示框的中心坐标,宽度,高度和角度;变量x,xa和x’分别用于地面真实框、锚框和预测框。
在另一种可能的实现方式中,所述分类回归子网络模块在根据IoU-Smooth L1loss损失函数确定所述旋转边界框的回归时,具体用于:
根据IoU-Smooth L1 loss损失函数确定所述旋转边界框的回归;
其中,所述IoU-Smooth L1 loss损失函数为:
其中,其中N表示锚框数量;
tn表示对象的标签;
pn是由Softmax函数计算的各个类别的概率分布,
t′n是一个二进制值(t′n=1表示前景,t′n=0表示背景,背景无回归);
v′nj表示预测的偏移矢量;
vnj表示地面真实的目标矢量;
uij,u′ij分别代表遮掩像素的标签和预测;
IoU表示预测框和地面真实框的重叠;
λ1,λ2,λ3表示的是超参数。
第三方面,本申请提供一种电子设备,采用如下的技术方案:
一种电子设备,该电子设备包括:
一个或多个处理器;
存储器;
一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个应用程序配置用于:执行上述遥感图像目标检测方法。
第四方面,本申请提供一种计算机可读存储介质,采用如下的技术方案:
一种计算机可读存储介质,包括:存储有能够被处理器加载并执行上述遥感图像目标检测方法的计算机程序。
综上所述,本申请包括以下至少一种有益技术效果:
提取了图像各个尺度的特征图后,将多个特征图输入至训练好的normal cell进行特征融合以生成初步融合特征,将初步融合特征输入至NAS-FPN网络模型,NAS-FPN网络模型对初步融合后的特征进行进一步融合后生成融合特征图,由于训练好的normal cell是针对于遥感图像目标检测进行针对性训练得到的神经单元结构,因此使得整个DARTS-FPN更适用于遥感图像,进而提升了网络模型对遥感图像进行目标检测时的准确性。
具体实施方式
以下结合附图1-14对本申请作进一步详细说明。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
本申请实施例提供了一种遥感图像目标检测方法,由电子设备执行,参照图1,该方法包括:
步骤S101、获取待测图像。
其中,待测图像为遥感图像,待测图像可选用DOTA数据集中的图像,来验证确定整个遥感图像目标检测算法的目标识别效果。
DOTA数据集包含来自不同传感器和平台的2,806张航拍图像。图像大小范围从800× 800到4000×4000像素,并且包含显示各种比例,方向和形状的对象。数据集共标注了188282 个目标位置信息,每个实例都标有任意四边形。目标类别为15类:飞机、船、油罐、棒球场、网球场、篮球场、田径场、港口、桥梁、大型车辆、小型车辆、直升机、环岛、足球场和游泳池。
步骤S102、提取待测图像基于多个尺度的多个特征图。
对于本申请实施例,优选地,可以采用ResNet模型提取待测图像各个尺度的多个特征图。
其中,ResNet模型的卷积层是由多个残差块串联而成的,深度不同的ResNet模型的主要不同之处主要表现在卷积层的层数不同,训练ResNet模型时,需要设置的超参数主要包括设置批量训练的大小、学习速率的大小、分类数目与权值衰减率的选择等。
对于本申请实施例,使用预训练的ResNet-101模型作为基础网络进行初始化,训练阶段模型进行了600k次迭代训练,设置学习速率在从3e-4到3e-6之间发生变化,优化器使用 MOMENTUM,MOMENTUM的动量系数为0.9。
在ResNet模型中,同一卷积层内输入到残差模块的图像维度与输出图像的维度是相等的;特征图传递到不同的卷积层时,特征图的大小将变减小一半,但是卷积核的数量变为原来的两倍。
因此,将低层特征和高层特征融合,能够提高对目标识别的精度;在进行特征融合时,可采用特征金字塔网络。
步骤S103、将多个特征图输入至训练好的特征融合网络模型进行特征融合以生成多个融合特征图。
其中,训练好的特征融合网络模型为基于多个训练好的normal cell和NAS-FPN网络模型生成的DARS-FPN网络模型,且训练好的normal cell为根据遥感图像集以及DARTS算法训练生成的normal cell。
将NAS-FPN的P3-P7层单元结构替换为利用遥感数据集进行DARTS搜索到的单元结构normal cell,用来构建DARTS-FPN结构,得到的网络模型为如图2所示。
参照图3,对于本申请实施例,基于DARTS算法训练好的normal cell结构图3(a)所示,训练好的reduction cell如图3(b)所示。
步骤S104、基于融合特征图确定目标的分类和目标的边框界框位置。
参照图4,特征金字塔网络是一种典型的模型体系结构,特征金字塔采用一个主干模型,它将主干模型的特征层次中相邻的两层按顺序组合起来,是自顶向下的,连接方式为横向连接,从而进行特征金字塔的构建。
由于高级特征在语义上很强,然而分辨率却较低,因而它们被放大,并且通过与低分辨率特征进行结合的方式,从而可以生成高分辨率并且语义较强的特征表示。
在利用了特征提取网络和特征融合网络的FPN网络模型中,FPN左侧的网络负责提取不同尺度的特征图,右侧的网络将低分辨率的特征图经过放大后融合到高分辨率的特征图中,然后对不同尺度的特征图去预测物体的位置和类别。
本申请实施例基于ResNet模型生成5个特征图,将5个尺度的特征图分别表示为:{C3,C4,C5,C6,C7},其中C3、C4、C5是ResNet模型提取的三个尺度上的特征图,特征图 C6和特征图C7是将C5特征图池化后得到的。
参照图2和图3,C3特征图直接输入至NAS-FPN作为输入层P3,C4特征图与输入层P3基于训练好的normal cell融合后生成输入层P4,C5特征图与输入层P4基于训练好的normal cell融合后生成输入层P5,C6特征图与输入层P5基于训练好的normal cell融合后生成输入层P6,特征图C7与输入层P6基于训练好的normal cell融合后生成输入层P7。
具体地,基于normal cell进行特征融合时,C4特征图与输入层P3对应normalcell 中的Ck-1和Ck-2,输入层P4作为Ck;
具体地,基于normal cell进行特征融合时,C5特征图与输入层P4对应normalcell中的Ck-1和Ck-2,输入层P5作为Ck;
具体地,基于normal cell进行特征融合时,C6特征图与输入层P5对应normalcell中的Ck-1和Ck-2,输入层P6作为Ck;
具体地,基于normal cell进行特征融合时,特征图C7与输入层P6对应normalcell中的Ck-1和Ck-2,输入层P7作为Ck。
基于训练好的normal cell中的max_pool_3×3,avg_pool_3×3,sep_conv_3×3,sep_conv_5×5,dil_conv_5×5,skip_connect等操作进行特征融合。其中,训练好的normal cell 是针对于遥感图像目标检测专门训练的神经单元结构,使得整个DARTS-FPN更适用于遥感图像,提升了网络模型对遥感图像目标检测的准确性。
参照图5和图6,其中,NAS-FPN由多个merging cell堆叠而成,用来对网络提取的特征重新进行融合,得到新的不同尺度的特征图,即融合特征图,然后将融合特征图用于物体检测最后阶段的位置和类别预测。
其中,每个点代表一个特征层,同一行的特征层具有相同的分辨率,分辨率由下往上递减;箭头表示内层之间的连接,该图的结构是输入层位于左侧。金字塔网络左侧圆圈标记为输入,右侧圆圈标记为输出。(a)为基线FPN架构;(b~f)在RNN控制器的训练中通过神经架构搜索发现的7-cell NAS-FPN架构;(f)实验中最后收敛得出的NAS-FPN。
参照图7,左侧P3-P7方框是输入特征层(即上述的输入层P3、输入层P4、输入层P5、输入层P6以及输入层P7),中间和右侧的P3-P7方框是输出特征层。
参照图8,训练得到训练好的normal cell采用的方法为基于DARRS算法,其中,基于DARTS算法生成训练好的normal cell的过程包括步骤S1(图中未示出)和步骤S2。
其中,步骤S1(图中未示出)、搜索单元训练阶段,包括:
步骤S11(图中未示出)、确定搜索空间:网络共搜索两种目标单元,一种是normalcell,另一种是reduction cell;reduction cell把输出的特征图高度和宽度缩小一倍,用在网络的1/3和 2/3处;通过把normal cell和reduction cell不断堆叠得到表现好的卷积神经网络。具体地,目标单元是n个节点构成的有向无环图,包括:输入节点、中间节点、输出节点以及边,normal cell和reduction cell结构相同、操作不同,每一个节点x(i)是卷积神经网络中一个特征图的表示,并且每一条边(i,j)是节点x(i)到节点x(j)的操作o(i,j);目标单元有两个输入节点和一个输出节点,卷积神经网络中,单元的两个输入对应前两层的输出。
每一个中间节点都是根据所有的前节点计算的,如式(1)所示:
x(j)=∑i<jo(i,j)(x(i)) 式(1)
其中,输入节点:对于卷积网络来说,两个输入节点分别是前两层(layers)cell的输出,对于循环网络(Recurrent)来说,输入时当前层的输入和前一层的状态;中间节点:每一个中间节点都由它的前继通过边再求和得来;输出节点:由每一个中间节点连接起来。
其中,边代表的是operation(比如3×3的卷积),在收敛得到结构的过程中,两两节点中间所有的边(DARTS预定义了8中不同的操作)都会存在并参与训练,最后加权平均,这个权就是我们要训练的东西,我们希望得到的结果是效果最好的边它的权重最大。
预定义的8种操作分别为:max_pool_3×3,avg_pool_3×3,sep_conv_3×3, sep_conv_5×5,dil_conv_3×3,dil_conv_5×5,skip_connect,none。
步骤S12(图中未示出)、搜索空间连续松弛化:用O表示候选离散的操作集合(卷积、池化、零),其中应用于节点x(i)的某个函数o(·)表示某一种操作。为了让搜索空间连续,对所有的结构计算其softmax,如式(2)所示:
其中,成对节点之间混合权重的操作被向量α
(i,j)∈|O|进行参数化,此时的结构化搜索任务被简化成学习一系列连续的变量的过程α={α
(i,j)}。在搜索过程的最后,将每一个混合操作
替换为最可能的操作
从而得到一个离散的结构α。
步骤S13(图中未示出)、联合优化:松弛完成之后,目标是学习结构α和权重w,通过式(2)可知每个操作对应一个权值(即alpha),这就是我们要训练的参数,我们把这些alpha称作一个权值矩阵,alpha值越大代表的操作在这组边中越重要,收敛到最后得到一个权值矩阵,这个矩阵当中权值越大的边,留下来之后效果越好。通过前面定义的搜索空间,通过梯度下降优化alpha矩阵,我们把神经网络原有的权重称为W矩阵。
为了实现端到端的优化,通过同时优化两个矩阵使得结果变好,具体包括:在训练集上固定alpha矩阵的值,然后梯度下降W矩阵的值,在验证集上固定W矩阵的值,然后梯度下降alpha的值,循环往复直到这两个值都比较理想。
将验证集上的性能看做最终的目标或者拟合程度,DARTS的目标就是优化验证集上的损失。Ltrain和Lval分别表示训练和验证的损失,这两个损失不仅决定了结构α而且也决定了网络中的权重w,结构的搜索目标是找到最优α*使Lval(w*,α*)最小,然而架构搜索中的skip-connect操作如果在目标单元中所占比例比较大,整个卷积神经网络就会变浅,使其图像分类能力变弱。为了避免跳跃连接过度,在搜索架构时把验证损失Lval(w*,α*)与skip-coonect 操作联系到一起如式(4)。
其中,λ是一个常数,O
S代表跳跃连接操作,
表示架构矩阵,设置
架构矩阵跳跃操作为矩阵向量1,其他操作为矩阵向量0,累加跳跃连接操作个数,从而可知跳跃连接操作个数和整体验证损失函数成正比,那么为使整体验证损失最小,则网络搜索出来的单元包含的skip-connect操作也不会很多,这样设计验证损失函数阻碍跳跃连接的不公平优势,那么最后搜索出来的单元组成的卷积神经网络对图像分类任务的稳定性和准确率会有所提高。确定下来结构α之后,通过最小化训练损失得到权重w
*=argmax
wL
train(w,α
*),其双层优化公式如下:
其中,步骤S2(图中未示出)、整体模型训练测试阶段,包括:
步骤S21(图中未示出):用搜索单元训练阶段搜到的单元堆叠起来,并用normalcell和 reduction cell构建整个卷积神经网络。
步骤S22(图中未示出):将图像数据集分为训练集和测试集,将构造好的卷积神经网络在训练集上进行权值的训练,具体操作是输入图像,经过卷积神经网络之后求出网络的输出值与目标值之间的误差,当训练轮数少于设定的轮数,就将误差传回网络中,并更新权重,循环此操作,直至达到一定的训练轮数就停止训练,保存网络的结构和权重。
步骤S23(图中未示出):加载网络结构和权重,输入图像数据集在其上面进行图像测试。
进一步地,本申请实施例一种可能的实现方式,在步骤S102中,基于遥感图像集以及DARTS算法训练得到训练好的normal cell,包括:根据遥感图像集以及DARTS算法训练生成初始normal cell和初始reduction cell;基于初始normal cell和初始reduction cell堆叠生成验证网络模型;将获取到的验证图片输入至验证网络模型以生成验证结果;基于验证结果确定训练好的normal cell。
其中,经过DART算法训练后得到多个normal cell和reduction cell,且每个normal cell 分别对应有在识别准确度信息,将准确度信息最高的normal cell和reduction cell堆叠生成验证网络模型,并获取验证网络模型的识别准确度信息,识别准确度信息最高的normal cell作为训练好的normal cell。
其中,遥感图像集为NWPU-RESISC45数据集(Northwestern PolytechnicalUniversity, NWPU),选取NWPU-RESISC45数据集中的包括飞机、机场、棒球场、篮球场、海滩、桥梁、高尔夫球场、地面田径场、港口、停车场、轮船、体育场、油罐、网球场、环岛等15类数据,并对每类数据进行扩充,采用翻转、旋转、对比度增强、锐化等方法,将每类700幅图像扩充到每类1400幅图像,并将一半的训练数据作为验证集,如图3所示。
NWPU-RESISC45数据集是西北工业大学(Northwestern PolytechnicalUniversity, NWPU)创建的一个公开的遥感图像场景分类基准。数据集包含有45类遥感场景,每个类有 700幅图像,总共31500幅图像,图像像素大小为256×256。这45个场景包括飞机、机场、棒球场、篮球场、海滩、桥梁、灌木丛、教堂、圆形农田、云、商业区、密集住宅区、沙漠、森林、高速公路、高尔夫球场、地面田径场、港口、工业区、十字路口、岛屿、湖泊、草地、中型住宅区、移动房屋停放场、山脉,天桥、宫殿、停车场、铁路、火车站、矩形农田、河流、环岛、机场跑道、海冰、轮船、雪山、稀疏住宅、体育场、油罐、网球场、梯田、热电站、湿地。图像分辨率从0.2米到30米不等。数据集中所有的图像均来自Google地图,覆盖的区域包括全球100多个国家和地区,规模较大。同时该数据集中的天气、季节、光照、视角等因素变化比较丰富。
其中,参照图9,图9为验证网络模型的结构,构建遥感场景分类算法,从零开始训练网络模型,即采取随机初始化参数的方式,让网络通过训练学习得到遥感图像集的特征,并在测试集中检测性能。采用ReLU-Conv-BN来进行卷积操作,在这里每个卷积的使用次数为两次。分类网络是利用8个cell叠加进行构建的。第k个cell的第一和第二个节点分别是第k-2个和第k-1个cell的输出,并根据需要插入1×1卷积以调整维度。位于网络总深度的1/3和2/3处的cell是reduction cell,其它是normal cell,值得注意的是,与输入节点相邻的运算步长是2。
本申请实施例一种可能的实现方式,参照图10,将多个特征图输入至训练好的特征融合网络模型进行特征融合以生成多个融合特征图,之前还包括:预测每个特征图的权重,并将每个特征图加权后输入至特征融合网络模型。
主要是对于每个输入至DARTS-FPN的特征图预测常数权重,从而对每个特征图进行加权,使得有效的feature map权重大,无效或效果小的feature map权重小的方式训练模型达到更好的结果。即,将两个特征图输入至FPN结构中的normal cell进行融合过程前,首先预测每个特征图的权重,将每个特征图加权后在输入至normal cell进行特征融合。
优选地,本申请实施例预测常数权重采用的方法为SENet。参照图11,SENet(Squeeze-and-Excitation Networks),一个SE block,包含Squeeze和Excitation两部分。
其中,Ftr是一个标准的卷积操作,如公式5所示:
其中,Squeeze操作,即为压缩部分,原始feature map的维度为H*W*C,其中H是高度(Height), W是宽度(width),C是通道数(特征图)。Squeeze把H*W*C压缩为1*1*C,相当于把H*W 压缩成一维了,实际中是用global average pooling实现的。
H*W压缩成一维后,相当于这一维参数获得了之前H*W全局的视野,感受区域更广,如公式6所示:
其中,Excitation部分:得到Squeeze的1*1*C的表示后,加入一个FC全连接层(Fully Connected),对每个通道的重要性进行预测,得到不同特征图的重要性大小后再作用(激励) 到之前的feature map的对应特征图上,再进行后续操作,如公式7所示:
s=Fcx(z,W)=σ(g(z,W))=σ(W2δ(W1z)) 式(7)
其中,Reweight操作:将Excitation的输出的权重看做是每个特征通道的重要性,然后通过乘法逐通道加权到先前的特征上,完成在通道维度上的对原始特征的重标定,如公式8所示:
本申请实施例一种可能的实现方式,在步骤S104中,基于融合特征图确定目标的分类和目标的边框界框位置,包括:
其中,目标检测算法通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含感兴趣的目标,并调整区域边缘从而更准确地得到接近目标地面真实框的预测框,该预测框即为目标的边界框。不同的模型使用的区域采样方法可能不同,例如:以每个像素为中心生成多个大小和宽高比(aspect ratio)不同的边界框,这些边界框被称为锚框(anchor box),不同大小及宽高比的锚框对图像中目标物体的覆盖程度不同。
当锚框数量较多时,同一个目标上可能会输出较多相似的预测框,为了使结果更加简洁,可以移除相似的预测框。常用的方法叫作非极大值抑制(non-maximumsuppression,NMS)。非极大值抑制的工作原理为:对于一个预测框B,模型会计算各个类别的预测概率。设其中最大的预测概率为p,该概率所对应的类别即B的预测类别,将p称为预测框B的置信度。实践中,可以在执行非极大值抑制前将置信度较低的预测框移除,从而减小非极大值抑制的计算量。此外,还可以筛选非极大值抑制的输出,例如,只保留其中置信度较高的结果作为最终输出。
若该目标的地面真实框已知,对覆盖程度进行量化时,一种直观的方法是衡量锚框和地面真实框之间的相似度,Jaccard系数(Jaccardindex)可以衡量两个集合的相似度。给定集合A和B,它们的Jaccard系数即为二者交集大小除以二者并集大小:实际上,可以把边界框内的像素区域看作像素的集合。由此,可以用两个边界框的像素集合的Jaccard系数衡量这两个边界框的相似度。当衡量两个边界框的相似度时,通常将Jaccard系数称为交并比 (IntersectionoverUnion,IoU),即两个边界框相交面积与相并面积之比,交并比的取值范围在0和1之间:0表示两个边界框无重合像素,1表示两个边界框相等。
对于目标检测模型,训练时每个图像已标注了地面真实框的位置以及所含目标的类别,在生成锚框之后,为每个锚框预测类别以及偏移量,接着根据预测的偏移量调整锚框位置从而得到预测框,最后依据与锚框相似的地面真实框的位置和类别信息为锚框标注。对于目标检测模型,在应用时,将待测图片输入至训练好的目标检测模型,训练好的目标检测模型生成目标的边界框以及边界框中目标的类别。
通常,边框一般使用四维向量(x,y,w,h)来表示,分别表示边框的中心点坐标和宽高,P 代表原始的锚框,G代表目标的真实地面框,我们的目标是寻找一种关系使得输入原始的边框P经过映射得到一个跟真实地面框G更接近的回归边框G^。
边框回归的目的即是:给定(Px,Py,Pw,Ph)寻找一种映射f,使得 f(Px,Py,Pw,Ph)=(Gx^,Gy^,Gw^,Gh^)f(Px,Py,Pw,Ph)=(Gx^,Gy^,Gw^,Gh^)并且 (Gx^,Gy^,Gw^,Gh^)≈(Gx,Gy,Gw,Gh)。
对于本申请实施例,利用旋转RetinaNet网络作为基础网络构建多尺度特征提取网络,基础网络选用RetinaNet,并使用五个参数(x,y,w,h,θ)表示面向任意方向的矩形。在[-π/2,0)范围内,旋转角度θ是水平轴(x轴)逆时针旋转,即θ为与x轴的锐角,并且这个边的边长是w,另一条边边长是h,与OpenCV中,坐标系的左上角为原点,相对于x 轴来说,顺时针旋转的角度为正,反之逆时针旋转角度为负保持一致。
如图12所示,1为锚框,3为地面真实框,2为预测框,基于非极大值抑制算法得到融合特征图的边界框归回,边框回归中的偏移量包括地面真实框和锚框之间的偏移量,以及预测框和锚框之间的偏移量。
tx=(x-xa)/wa
ty=(y-ya)/ha
tw=log(w/wa)
th=log(h/ha)
tθ=θ-θa
t′x=(x′-xa)/wa
t′y=(y′-ya)/ha
t′w=log(w′-wa)
t′h=log(h′-ha)
t′θ=θ′-θa
其中,x,y,w,h,θ分别表示框的中心坐标、宽度、高度、角度;变量x,xa,x′分别表示地面真实框、锚框、预测框的x轴坐标,y,w,h,θ也用同样方式表示;地面真实框和锚框之间的偏移量包括:变量(tx,ty)表示地面真实框和锚框中心坐标(x,y) 之间的相对偏移量;(tw,th)则表示地面真实框和锚框间宽和高的尺度因子偏移量;tθ则表示旋转角度的偏移量;同理(t′x,t′y),(t′w,t′h)和t′θ分别表示预测框和锚框之间中心坐标偏移量,宽高尺度因子偏移量和旋转角度偏移量,即预测框和锚框之间的偏移量。
模型在训练时应用的损失函数为IoU-SmoothL1loss损失函数:
其中,其中N表示锚框数量;
tn表示对象的标签;
pn是由Softmax函数计算的各个类别的概率分布,
t′n是一个二进制值(t′n=1表示前景,t′n=0表示背景,背景无回归);
v′nj表示预测的偏移矢量;
vnj表示地面真实的目标矢量;
uij,u′ij分别代表遮掩像素的标签和预测;
IoU表示预测框和地面真实框的重叠;
λ1,λ2,λ3表示的是超参数。
其中,λ1,λ2,λ3的作用是用来控制权衡的,v′nj由预测框和锚框之间的偏移量确定,vnj由于地面真实框和锚框之间的偏移量确定。
上述实施例从方法流程的角度介绍一种遥感图像目标检测方法述实施例从虚拟模块或者虚拟单元的角度介绍了一种遥感图像目标检测装置,具体详见下述实施例。
一种遥感图像目标检测装置100,包括:
获取模块1001,用于获取待测图像;
特征提取模块1002,用于提取待测图像基于多个尺度的多个特征图;
特征融合模块1003,用于将多个特征图输入至训练好的特征融合网络模型进行特征融合以生成多个融合特征图;
分类回归子网络模块1004,用于基于融合特征图确定目标的分类和目标的边框界框位置;
其中,训练好的特征融合网络模型为基于多个训练好的normal cell和NAS-FPN网络模型生成的DARS-FPN网络模型,且训练好的normal cell为根据遥感图像集以及DARTS算法训练生成的normal cell。
在另一种可能的实现方式中,特征提取模块1002在提取待测图像基于多个尺度的多个特征图时,具体用于:
提取待测图像基于训练好的Resnet网络模型生成的多个尺度的多个特征图。
在另一种可能的实现方式中,特征融合模块1003在根据遥感图像集以及DARTS算法训练生成训练好的normal cell时,具体用于:
根据遥感图像集以及DARTS算法训练生成初始normal cell和初始reductioncell;
基于初始normal cell和初始reduction cell堆叠生成验证网络模型;
将获取到的验证图片输入至验证网络模型以生成验证结果;
基于验证结果确定训练好的normal cell。
在另一种可能的实现方式中,目标检测装置还包括注意力模块,注意力模块用于:
在将多个特征图输入至训练好的特征融合网络模型进行特征融合以生成多个融合特征图,之前预测每个特征图的权重,并将每个特征图加权后输入至特征融合网络模型。
在另一种可能的实现方式中,分类回归子网络模块1004在基于融合特征图确定目标的分类和目标的边框界框位置时,具体用于:
根据偏斜IoU计算方法,将旋转非极大值抑制作为基于偏斜IoU计算的后处理操作确定旋转边界框的回归;
其中,旋转边界框回归偏移量包括:
tx=(x-xa)/wa
ty=(y-ya)/ha
tw=log(w/wa)
th=log(h/ha)
tθ=θ-θa
t′x=(x′-xa)/wa
t′y=(y′-ya)/ha
t′w=log(w′-wa)
t′h=log(h′-ha)
t′θ=θ′-θa
式(9)
其中x,y,w,h和θ分别表示框的中心坐标,宽度,高度和角度;变量x,xa和x’分别用于地面真实框、锚框和预测框。
在另一种可能的实现方式中,分类回归子网络模块1004在根据IoU-Smooth L1loss 损失函数确定旋转边界框的回归时,具体用于:
根据IoU-Smooth L1 loss损失函数确定旋转边界框的回归;
其中,IoU-Smooth L1 loss损失函数为:
其中,其中N表示锚框数量;
tn表示对象的标签;
pn是由Softmax函数计算的各个类别的概率分布,
t′n是一个二进制值(t′n=1表示前景,t′n=0表示背景,背景无回归);
v′nj表示预测的偏移矢量;
vnj表示地面真实的目标矢量;
uij,u′ij分别代表遮掩像素的标签和预测;
IoU表示预测框和地面真实框的重叠;
λ1,λ2,λ3表示的是超参数。
本申请实施例还从实体装置的角度介绍了一种电子设备,如图14所示,图14所示的 电子设备1100包括:处理器1101和存储器1103。其中,处理器1101和存储器1103相连,如通过总线1102相连。可选地,电子设备1100还可以包括收发器1104。需要说明的是,实 际应用中收发器1104不限于一个,该电子设备1100的结构并不构成对本申请实施例的限定。
处理器1101可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP (Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1101也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1102可包括一通路,在上述组件之间传送信息。总线1102可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线1102可以分为地址总线、数据总线、控制总 线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1103可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器1103用于存储执行本申请方案的应用程序代码,并由处理器1101来控制执行。处理器1101用于执行存储器1103中存储的应用程序代码,以实现前述方法实施例所示的内容。
其中,电子设备包括但不限于:移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终 端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。还可以为服务器等。图14示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。