1.一种基于多尺度特征融合的目标检测方法,其特征在于,包括以下步骤:
S1:构建目标检测模型,并对目标检测模型进行训练;
S2:获取待检测目标的图像数据;
S3:将待检测目标的图像数据输入经过训练的目标检测模型中;
所述目标检测模型首先基于图像数据提取多尺度的特征图;然后通过逐层特征融合和反馈特征融合的方式对低层特征图进行充分融合,得到对应的低层融合特征图;再通过注意力机制仅对高层特征图进行融合更新,得到对应的高层融合特征图;最后基于低层融合特征图和高层融合特征图生成对应的多尺度融合特征图;
通过动态平衡损失函数训练所述目标检测模型;动态平衡损失函数在平衡L1损失函数的基础上引入了动态策略,使得能够实现动态标签分配,并能够调整损失函数的形状;
动态标签分配通过如下公式表示:
上述式中:Label表示标签,Tnow表示当前阈值;
训练时,先计算提议框与其真实框之间的IoUs得到集合I,然后从集合I中选择第K个最大值来更新Tnow的阈值;
动态平衡损失函数通过如下公式表示:
上述式中:Lb表示动态平衡损失,α、b、γ通过公式αln(b+1)=γ相互约束;训练时,先计算提议框与其真实框之间的回归标签E,然后从回归标签E中选择第K个最小值来更新βnow;
通过微调因子fine_tune实现对损失函数形状的微整以消除导数不连续的影响,微调因子的公式如下:其中,fine_tune<γ;
S4:基于多尺度融合特征图完成目标检测。
2.如权利要求1所述的基于多尺度特征融合的目标检测方法,其特征在于:所述目标检测模型包括FPN网络、FFE网络和H‑BFP网络;
FPN网络,用于基于图像数据提取多尺度的特征图,然后从最高层次开始向下进行逐层特征融合,并输出未进行特征融合的高层特征图,以及对低层特征图进行特征融合得到的初步融合特征图;
FFE网络,用于基于图像数据提取多尺度的特征图,然后将对应尺度的特征图与FPN网络输出的初步融合特征图进行逐层特征融合和反馈特征融合,以生成对应的低层融合特征图;
H‑BFP网络,用于对高层特征图和低层融合特征图进行相加取平均,并提取对应的特征信息;然后基于特征信息和注意力机制对高层特征图进行融合更新,得到对应的高层融合特征图。
3.如权利要求2所述的基于多尺度特征融合的目标检测方法,其特征在于:FFE网络中包括反馈特征输入模块;反馈特征输入模块获取FPN网络输出的初步融合特征图,并通过两条分支实现初步融合特征图的输入;
分支一,用于将初步融合特征图作为反馈信息输入到FFE网络中,使得初步融合特征图能够与对应尺度的特征图进行逐层特征融合,以输出对应的深度融合特征图;
分支二,用于将初步融合特征图输入至FFE网络的输出位置,使得初步融合特征能够与FFE网络输出的深度融合特征图进行反馈特征融合,以生成对应的低层融合特征图。
4.如权利要求3所述的基于多尺度特征融合的目标检测方法,其特征在于:初步融合特征图与对应尺度的特征图进行逐层特征融合时,通过1*1卷积层调整FFE网络的输出,并将对应的通道大小调整为256,以输出对应的深度融合特征图。
5.如权利要求2所述的基于多尺度特征融合的目标检测方法,其特征在于:FFE网络中包括全局模块;全局模块用于对输入的初步融合特征图进行全局特征提取,以获取初步融合特征图中更丰富的特征语义信息。
6.如权利要求2所述的基于多尺度特征融合的目标检测方法,其特征在于:H‑BFP网络首先对FPN网络输出的高层特征图Ph进行下采样,得到对应的高层特征图Ph+1;然后将高层特征图Ph和Ph+1与FFE网络输出的低层融合特征图进行相加取平均,得到各层融合后的特征信息;再对特征信息进行no local操作,并通过特征信息采样的方式得到与高层特征图Ph和Ph+1对应尺度的高层融合特征图Ph′和Ph+1;再对高层融合特征图Ph′和P′h+1进行卷积和激活函数操作,分别计算得到对应的注意力特征图;最后基于高层融合特征图Ph′和P′h+1对应的注意力特征图分别计算Ph与Ph′的加权和,以及Ph+1与P′h+1加权和,进而更新高层融合特征图Ph′和P′h+1。
7.如权利要求6所述的基于多尺度特征融合的目标检测方法,其特征在于,通过如下公式更新高层特征图:Ph′=torch.sigmoid(self.conv(P′h))*Ph′+(1‑torch.sigmoid(self.conv(Ph′)))*Ph;
P′h+1=torch.sigmoid(self.conv(P′h+1))*Ph+1+(1‑torch.sigmoid(self.conv(P′h+1)))*Ph+1;
上述式中:Ph′、P′h+1表示高层融合特征图,Ph、Ph+1表示高层特征图,self.conv(P′h)表示Ph′经过卷积操作;self.conv(P′h+1)表示P′h+1经过卷积操作;torch.sigmoid(self.conv(Ph′))表示未更新高层融合特征图Ph′时计算的注意力特征图;torch.sigmoid(self.conv(P′h+1))表示未更新高层融合特征图P′h+1时计算的注意力特征图。