一种基于改进锚框的高光谱多目标检测方法
技术领域
本发明涉及高光谱图像识别领域,尤其涉及一种基于改进锚框的高光谱多目标检测方法。
背景技术
高光谱遥感技术的关键点在于高光谱仪的成像技术,是指在一定的波谱范围内观取目标连续的光谱信息的一种技术。而高光谱图像目标检测和目标识别是高光谱遥感技术领域非常热门的学研究方向。因为对于高光谱图像数据,适合高光谱图像目标检测的算法可以获取目标和背景的空间信息且获取丰富的光谱信息。已经广泛的应用与军事和民用领域。
高光谱图像本身具有数据量大、数据间关联、不同类传感器获取的图像数据差异性大、目标样本匮乏的特性。但是,传统的高光谱图像目标检测方法,需要人工进行特征提取,使得深层高光谱信息没有被充分挖掘的问题。且不当的特征提取方式最终会破坏原始的数据结构。
现有技术中,深度学习技术在图像、语音、自然语言处理等各方向的广泛应用,使得深度学习技术在高光谱图像多目标检测领域的应用成为可能。其可以利用深度神经网络所构成的复杂的数据表达和大量的参数估计,运用大量的数据来提取存在高光谱图像中的深层特征,并将其进行利用,对目标位置进行框定。现有技术中通过使用Faster RCNN,ACE等方法较有效的实现功能。但是在进行利用时,由于高光谱图像大量来自于卫星图像,各类目标在图像中占据的像素点十分稀少,按照定义其皆应该定义为小目标,以上网络在小目标的检测上效果并不理想。
发明内容
本发明要解决的技术问题是如何实现针对卫星高光谱图像的小目标检测,针对上述要解决的技术问题,现提出一种基于改进锚框的高光谱多目标检测方法。
为实现上述目的,本发明提供如下技术方案:
一种基于改进锚框的高光谱多目标检测方法,包括:
第一阶段,将输入的图像通过神经网络进行区域判定,通过相关先验知识确定产生锚点位置;
第二阶段,将对应锚点位置的特征图提取后,利用网络自动生成锚框,通过神经网络预测有效锚框个数,通过IOU关系,补充新的锚框,共同训练一个分类回归器,进行目标检测。
进一步的,所述第一阶段包括如下步骤:
步骤a1,通过特征提取层对图像特征进行提取;
步骤a2,通过FPN网络进行反卷积处理生成至少4个卷积层的新特征图;
步骤a3,通过三个尺度的空洞卷积进行特征提取,并进行级联操作,生成预测特征图,对每个锚点进行置信度预测,判断预测锚点是否为有效锚点。
进一步的,所述步骤a3中判断预测锚点是否为有效锚点的方法为:对每种尺度下的锚点计算其对应原图坐标框,如果与真实框重复面积超过坐标框面积的50%,则判断该坐标框为有效锚点框,标为正样本1,否则标为负样本0;预测生成的各尺度置信图为一种锚框掩膜,用于筛除掉无效的锚点。
进一步的,所述步骤a1中的特征提取层为采用VGG-16的特征提取层。
进一步的,所述第二阶段包括如下步骤:
步骤b1,根据阶段一生成的锚点有效性置信图,挑选出有效锚点框及其对应的多尺度特征图数据;
步骤b2,将收集到的特征图数据组合对应锚点框构成新的特征图,计算出有效锚框的坐标;
步骤b3,计算出锚框位置预测值,计算公式为,其中为每个有效锚点生成个锚框数,为识别目标的种类数;
步骤b4,判断有效锚框个数,将与真实框IOU>0.5的锚框计为有效锚框并计数;
步骤b5,增加有效锚框数目,根据有效锚框补充生成新有效锚框,计算出新有效锚框的坐标。
与现有技术相比,本发明的有益效果是:
本发明将Anchor mask网络作为第一阶段的区域判定,利用相关先验知识确立产生锚点位置,第二阶段将对应位置特征图提取后,利用网络自动生成锚框,并预测有效锚框个数。利用IOU关系,补充新的锚框,在不增加锚框总量的条件下增加有效锚框个数,共同训练一个分类回归器,进行目标检测,本发明有效的降低了锚框总量,提高了有效锚框数量,且第一阶段生成锚点位置点的锚框掩膜网络可以根据任务及先验知识进行设计,大大提高模型迁移能力。
附图说明
图1为本发明的方法流程示意图;
图2为本发明中的神经网络结构示意图;
图3为本发明中的真实框与预测框IOU>0.5时的锚框与锚点框回归坐标系图;
图4为图3的锚框与锚点框回归坐标系图中的封闭区域图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1-4所示,本具体实施方式披露了一种基于改进锚框的高光谱多目标检测方法,包括:第一阶段,将输入的图像通过神经网络进行区域判定,通过相关先验知识确定产生锚点位置;第二阶段,将对应锚点位置的特征图提取后,利用网络自动生成锚框,通过神经网络预测有效锚框个数,通过IOU关系,补充新的锚框,共同训练一个分类回归器,进行目标检测。
各阶段具体步骤如下,第一阶段包括如下步骤:
步骤a1,通过特征提取层对图像特征进行提取;
步骤a2,通过FPN网络进行反卷积处理生成至少4个卷积层的新特征图;
步骤a3,通过三个尺度的空洞卷积进行特征提取,并进行级联操作,生成预测特征图,对每个锚点进行置信度预测,判断预测锚点是否为有效锚点。
步骤a3中判断预测锚点是否为有效锚点的方法为:对每种尺度下的锚点计算其对应原图坐标框,如果与真实框重复面积超过坐标框面积的50%,则判断该坐标框为有效锚点框,标为正样本1,否则标为负样本0;预测生成的各尺度置信图为一种锚框掩膜,用于筛除掉无效的锚点。所述步骤a1中的特征提取层为采用VGG-16的特征提取层。
第二阶段包括如下步骤:
步骤b1,根据阶段一生成的锚点有效性置信图,挑选出有效锚点框及其对应的多尺度特征图数据;
步骤b2,将收集到的特征图数据组合对应锚点框构成新的特征图,计算出有效锚框的坐标;
步骤b3,计算出锚框位置预测值,计算公式为,其中为每个有效锚点生成个锚框数,为识别目标的种类数;
步骤b4,判断有效锚框个数,将与真实框IOU>0.5的锚框计为有效锚框并计数;
步骤b5,增加有效锚框数目,根据有效锚框补充生成新有效锚框,计算出新有效锚框的坐标。
可行的,本具体实施方式中的第一阶段,将图片设计输入尺寸为[512,512]的图片,以VGG-16作为特征提取层,选取其Conv3_3,Con4_3,Con5_3,Conv6层作为相应层次作为FPN 网络的相应处理层,之后利用FPN网络通过反卷积生成特征图大小为[16,16]的 Conv_32s,[32,32]的Conv_16s,[64,54]的Conv_8s,[128,128]的Conv_4s的新特征图,每个特征图使用三种尺度的空洞卷积进行特征提取,并进行级联操作,生成信道数为1536的特征图,对每个锚点进行置信度预测。预测锚点是否为有效锚点。本具体实施例中针对每种尺度下的锚点计算其对应原图坐标框,如果与真实框重复面积超过坐标框面积的
(锚点坐标必在真实框内),则认为该坐标框为有效锚点框,标为正样本1,否则标为负样本0;预测生成的各尺度置信图则为一种锚框掩膜,可用于筛除掉大量无效的锚点。在以 [512,512]为图片输入条件下,共会产生21824个锚点框。后面根据预测得分,将一定数量的锚点框带入下一阶段。
本具体实施例中的第二阶段过程如下,根据阶段一生成的锚点有效性置信图,挑选出有效锚点框及其对应的多尺度特征图数据,将收集到的特征图数据组合对应锚点框构成新的特征图。设每个有效锚点生成k个锚框,识别目标种类为num_cls,之后利用[1,1]生成信道数为(k+1)+k*(4+num_cls+4)的预测值。
设锚点的框中心坐标为[xpc,ypc],面积为spc,高宽比为rpc,本具体实施例中等于1。根据锚点先粗略产生k个锚框位置,设覆盖有效锚点框一半面积以上的真实框有n个,制作k个生成锚框的标签时,如果n>=k,则按照覆盖率比例排序制作回归标签参数;如果 n<k,则按照覆盖率排序后,多出部分进行填充。设生成的锚框中心为[xac,yac],面积为Sac,高宽比为rac。锚框与锚点框回归参数为[tx,ty,ts,tr],其计算公式如下:
xac=xpc exp(tax)
yac=ypc exp(tay)
Sas=Sps exp(taS)
rar=rpr exp(tar)
预测完毕后根据输出为k+1的值np,判断有效锚框个数(本文为与真实框IOU>0.5)。根据预测值np,保留预测锚框中的前np个锚框。根据参数制作锚框个数,此刻假设预测正确,则预测锚框与正式框IOU>0.5。为增加有效锚框数目,根据有效锚框补充生成更多可能的有效锚框。
为简化运算,假设真实框大小与预测锚框大小相同,若真实框与预测框IOU>0.5,将其建立在坐标系下,则如图2所示。
如果两大小相同的矩形框
u∈[1,2],以一矩形框从某一方向与另一矩阵交叉,则另一回归框的中心[x,y],满足下列公式:
化简可得公式为:
而随着Iou的增大,u逐渐减小,封闭区域越来越小,所以当两大小相同框IOU>0.5,一框的中心必在图4所示的封闭图像内。
我们在预测锚框中心与锚点连线在封闭图形的截取线段上按比例生成新的锚框中心生成新的锚框用于进一步的回归。
而锚框生成之后,则根据类似以往的RPN的回归方法,调整锚框位置及预测锚框分类,共需k*(num_cls+4)个参数。
(3)网络总体损失设计。
设网络总损失为losstotal,共由第一阶段置信图损失lossam和第二阶段的锚框生成损失 lossagreg、预测有效锚框损失lossnp,锚框分类losscls以及回归损失lossreg共同构成。
losstotal=lossam+lossagreg+lossnp+losscls+lossreg (1)
其中公式(2)中,m表示锚点个数,label
am_i表示第i个锚点框的标签值,scores
am_i表示第i个锚点框的正负得分值,i=1,...,m;公式(3)中g表示预测为有效锚框的数目, t
j∈[t
ax,t
ay,t
aS,t
r],表示锚框与锚点框的预测变换参数,
表示真实框与锚点框的预测变换参数,R表示其smooth
L1损失,i=1,...,g,j=1,2,3,4;公式(4)中v表示阶段1中的预测锚点个数,label
np_i表示第i个锚点框生成的有效锚框个数标签, scores
np_i表示第i个锚点框预测生成有效锚框个数,i=1,...,v;公式(5)中label
i表示第i个锚框的分类标签,scores
i表示第i个锚框预测的种类,i=1,...,kv;公式(6)中w表示预测为有效锚框的数目,t
j∈[t
x,t
y,t
W,t
H],表示锚框与预测框的预测变换参数,
表示真实框与锚框的预测变换参数,R表示其smooth
L1损失,i=1,...,g,j=1,2,3,4;具体转化过程与Faster R-CNN中相同。
以往的SSD及FPN等one-stage目标检测网络针对小目标检测效果并不理想,其中很大的原因就是受制于自定义锚框中有效框数量较少,以SSD-300为例,以VGG-16作为特征提取层,使用其CONV4层特征进行目标检测,其对应原图位置最小可至[8,8]的像素位置,而根据其锚框生成机制,共会生成8732个锚框,如果想要针对更小尺寸的目标例如Conv3并生成一定数量的锚框例如CONV3_3每个锚点生成4个锚框,则其锚框数量增加22500个,则其存储空间及运行速度都会受到严重影响。所以针对有效锚点生成更为有效的锚框能够加速目标的回归且可利用尺度更小的特征图信息实现小目标检测。本发明通过将Anchor mask 网络作为第一阶段的区域判定,利用相关先验知识确立产生锚点位置,第二阶段将对应位置特征图提取后,利用网络自动生成锚框,并预测有效锚框个数。利用IOU关系,补充新的锚框,在不增加锚框总量的条件下增加有效锚框个数,共同训练一个分类回归器,进行目标检测,本发明有效的降低了锚框总量,提高了有效锚框数量,且第一阶段生成锚点位置点的锚框掩膜网络可以根据任务及先验知识进行设计,大大提高模型迁移能力。
可行的,本具体实施例中高光谱图像目标检测过程可以按照如下的流程进行:
(1)采集图像,收集包含各类目标的高光谱图像,将其作为数据集。
(2)分割图片。针对卫星图像分辨率高,图片范围大的问题,将其裁剪为大小相同的512x512的图片,并记录其在原图的位置,保证可以复位。
(3)人为标定。利用labelImg软件,根据高光谱图像中的可见光部分对目标进行人为分割标定,保持所有图像标签一致。
(4)按照一定比例,将数据集分割为训练集,测试集。一般比例为7:3。
(5)将训练集和其对应标签带入本网络中,进行训练。使用VGG-16的源权重进行迁移学习。训练50-100个纪元(EPOCH)结束。
(6)利用测试集对网络训练结果进行测试,检测其效果。
(7)若效果不佳,则调节参数重新训练;若调节参数仍然效果不佳,则重新制作数据集。若效果良好,则可直接用于农作物影像分割,将大图按照尺寸裁剪后,记录其原始位置,讲各裁剪图片的预测结果按原图拼接后作为最终预测结果。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围内。