1.一种基于深度学习的适用于多尺度目标检测的单阶段检测器设计方法,其特征在于,包括以下步骤:步骤一:对图像进行数据增强;
步骤二:获取高语义、高细节且大感受野的特征f,包括以下四个部分:
1)将输入图片通过骨干网络获得32倍下采样的语义信息充足的特征图fc;
2)与骨干网络并行,将输入图片进行16倍池化下采样,通过若干个卷积模块的浅层网络,获得编码丰富细节信息的特征图fd;
3)对fc和fd进行融合:将fc上采样得到 同时使用1×1卷积,确保fd和 特征维度完全一致,对 进行Sigmoid操作后和fd相乘得到fcd;
4)将fcd输入到多分支空洞卷积模块ASPP中,获得特征图f;
步骤三:基于步骤二得到的特征图f,将特征金字塔中的特征按分辨率高于特征图f和低于特征图f分为两类,对这两类特征采取不同的处理方法来构建适用于多尺度目标检测的特征金字塔;
步骤四:Anchor的自动生成,即Guide Anchor,包括以下三个部分:
1)在分类分支特征图fcls上接一个单通道的1×1卷积,并通过Sigmoid操作来获得某个位置是否放置Anchor的概率;
2)在回归分支特征图freg上接一个双通道的1×1卷积,用来计算某个位置放置的Anchor宽高两个参数;
3)利用回归分支生成的Anchor宽高的特征图计算卷积采样点偏差,分别对fcls和freg进行可变形卷积,得到用以对Anchor分类和回归的特征;
步骤五:损失函数的设计
整个网络的损失函数的表达式为
Loss=Lcls+Lreg+λ(Lloc+Lshape)式中,Lloc表示Anchor位置损失,Lshape表示Anchor形状分支的损失,Lcls表示Anchor的预测部分的分类损失,Lreg表示Anchor的预测部分的回归损失,λ为加权系数。
2.根据权利要求1所述的设计方法,其特征在于,所述步骤一的具体过程如下:
1)从训练图像中随机裁剪一块区域,但需确保裁剪区域存在目标;
2)对裁剪出的区域用零像素进行随机扩充;
3)将扩充图片缩放到输入分辨率大小。
3.根据权利要求1或2所述的设计方法,其特征在于,所述步骤二中的2)步中的卷积模块的个数为3个。
4.根据权利要求1所述的设计方法,其特征在于,所述步骤三的具体过程如下:
1)对特征金字塔中分辨率高于步骤二中获取到的f的特征,利用最近邻上采样扩大f的分辨率,再使用1×1卷积进行提纯;
2)对特征金字塔中分辨率小于和等于f的特征,直接对f利用指定步长的3×3卷积来获得。
5.根据权利要求1所述的设计方法,其特征在于,所述步骤五中各损失的计算方法如下:
1)在Anchor生成部分,考虑到正负样本处于极不平衡状态,因此采用FocalLoss来计算Anchor位置损失Lloc;
2)在Anchor生成部分,仅考虑宽高,利用GIoU Loss计算Anchor形状分支的损失Lshape;
3)对Anchor的预测包括分类和回归两部分,分类损失Lcls采用基于Softmax的交叉熵损失函数,回归损失Lreg采用Smooth L1损失函数。