掌桥专利:专业的专利平台
掌桥专利
首页

一种基于深度学习的航拍图像小目标检测方法

文献发布时间:2023-06-19 19:30:30


一种基于深度学习的航拍图像小目标检测方法

技术领域

本发明属于数字图像处理技术领域,涉及一种目标检测方法,具体涉及一种基于深度学习的航拍图像小目标检测方法。

背景技术

随着消费级无人机的普及,对无人机拍摄到的图像进行目标检测任务逐渐成为了一个热门的研究方向。一方面,无人机常常位于较高的位置进行拍摄,因此无人机图像的一个显著特点就是被拍摄物体常常较小。实验表明,当前主流的基于深度学习的通用目标检测模型对小目标检测的效果都不尽人意,检测精度一般远小于中等目标和大目标。另一方面,无人机的移动速度较快,灵活性高,使用一般的目标检测算法可能会使得模型推理时间大于被拍摄物体出现时间,导致出现漏检的情况。

随着深度学习的不断发展,越来越多的研究聚焦基于深度学习的目标检测方法。当下使用深度学习模型进行目标检测的主流方法,是采用小卷积核不断堆叠的方法来获取模型的感受野。这种方法目前应用最为广泛的为Kaiming He在Deep Residual Learningfor Image Recognition一文中提出的ResNet-50以及模型深度更深ResNet-101。这类方法的好处在于计算复杂度相对较低,模型容易收敛,但缺点也显而易见,当模型堆叠的深度到一定层数时,模型的精度提升会受到感受野的限制而十分困难,但模型参数量却因为网络加深而不断增大,因此不断堆叠小卷积核来提升精度的方法并不具有性价比。

发明内容

本发明提出一种针对小目标检测的骨干网络方法,通过使用大卷积核的方式来增强模型的有效感受野,使得模型可以学习到更多的小目标特征。此外,为了降低大卷积核模型带来的参数增加问题,本发明还使用了深度可分离卷积、结构重参数化等方法。

为实现以上目的,本发明采取以下技术方案:

一种基于深度学习的航拍图像小目标检测方法,其特征在于,包括以下步骤:

(1)对输入模型的训练数据进行预处理;

(2)对预处理后的数据进行数据增强,即随机裁剪、随机排列、随机缩放、加入马赛克后组合成一张图片;

(3)将增强后的数据输入使用大卷积核设计的骨干网络,大卷积核骨干网络对输入图像进行特征提取,训练模型参数,直至损失函数不再下降;

(4)训练结束后使用结构重参数化方法将小卷积核的卷积层与BN层进行重参数化,达到减小模型参数量的目的。

(5)使用训练好的模型对真实数据进行推理,得到小目标检测结果。

步骤(1)中的数据预处理包括数据集划分,调整输入尺寸。

步骤(2)中的数据增强包括对输入数据进行随机裁剪(Random Crop)、随机旋转(Random Rotation)、随机翻水平翻转(Random Horizontal Flip)、马赛克(Mosaic)后组合成新的训练数据,达到数据增广的效果,提高模型的泛化能力。

步骤(3)中的大卷积核骨干网络包括以下模块:

模块1:Stem模块,由两组普通卷积和深度可分离卷积组成,对输入数据进行下采样,并得到一些粗粒度的特征;

模块2:包含3个Stage,第i个Stage(i=1,2,3)包含若干个Block与Transition的组合,每个Block使用大卷积核的卷积进行计算,每个Transition用来下采样并调整通道数;

模块3:SPPCSPC模块,对模块2的输出进行池化。

步骤(3)所述的模块1:Stem模块,由两组普通卷积和深度可分离卷积组成。第一组中普通卷积的卷积核大小为3×3,步长Stride=2,深度可分离卷积的卷积核大小为3×3,步长Stride=1;第二组中普通卷积的卷积核大小为3×3,步长Stride=1,深度可分离卷积的卷积核大小为3×3,步长Stride=2。这一模块的目的是先使用小尺寸的卷积进行下采样,得到一些粗粒度的特征。

步骤(3)所述的模块2,其特征在于:本发明提出的方法中包含3个Stage,每个Stage包含一个使用大卷积核计算的Block模块和一个调整通道数和降采样Transition模块。其中,每个Block模块包含两个部分,第一个部分为大卷积核模块RepLK Block,第二个部分为前馈网络模块ConvFFN Block-S;

大卷积核模块RepLK Block的组成部分包括:一个BN层,一个K×K的大卷积,K×K大卷积前后各一个1×1的卷积,以及一个残差连接;

前馈网络模块ConvFFN Block的组成部分包括:一个BN层,一个SiLU激活函数,SiLU前后各一个1×1的卷积,以及一个残差链接;

步骤(3)所述模块2的三个Stage中,第i个(i=1,2,3)Stage中Block与Transition组合的个数分别为2个,2个,18个;每个大卷积核模块的卷积核尺寸分别为:K=27,K=27,K=13。

步骤(3)所述模块2的Transition过渡模块由两个部分组成,包括一个1×1,步长Stride=1的卷积和一个3×3,步长Stride=2的深度可分离卷积。

步骤(3)所述的SPPCSPC模块,包含以下模块:CBS模块,最大池化模块,融合模块。

其中,CBS模块,其特征在于,CBS模块由三个部分组成,分别为卷积层,BN层,SiLU层。最大池化模块,其特征在于,在经过若干个CBS模块处理后,对输入数据分别进行5×5,9×9和13×13的最大池化操作。融合模块,其特征在于,融合模块分为两个部分。第一部分将最大池化模块三个不同尺度的池化结果进行融合,第二部分将第一部分得到的结果进行两次CBS模块处理,然后再和经过一个CBS模块处理的SPPCSPC模块输入进行融合,最后将结果进行输出。

步骤(4)中的重参数化方法,具体为:在训练结束后,对模型中1×1和3×3的小卷积层和BN层进行重参数化。对于每个重参数块的输入x,输出记为O(x)。一次卷积核大小为k×k的卷积操作的公式为:

/>

其中,k为卷积核大小,W

其中,μ为均值,σ标准差,γ为BN层学习的比例因子,β为偏置。则一次含有一个3×3,1×1和一个残差链接的重参数块输出可以表示为:

O(x)=BN(Conv

步骤(5)中的模型推理包括以下步骤:

(1)摄像头采集数据;

(2)对采集到的数据进行数据预处理,如调整尺寸等;

(3)将预处理后的数据输入到训练好且完成重参数化的大卷积核网络模型中;

(4)大卷积核网络模型将输入图像进行特征提取,并将特征图交给后续的目标检测网络;

(5)模型返回预测结果,输出预测目标在图像中的坐标,类别以及置信度。

与现有方法相比,本发明的有益效果在于:

(1)本发明使用了一种大卷积核的骨干网络来提升模型的有效感受野,使得模型对小目标的检测能力得到较大的提升。这种提高感受野的方法基于CNN结构,不依赖于Attention机制的QKV计算,使得本发明的模型检测性能和基于Transformer结构模型相当,但模型参数量通过使用结构重参数化等方法保持在与大多数CNN结构的模型相同的水平。

(2)本发明提出的小目标检测方法具有很好的泛化能力,可以用于其他计算机视觉任务,如目标分类,目标分割,目标追踪等。

附图说明

图1是本发明方法的流程图;

图2是本发明方法的骨干网络结构图;

图3是本骨干网络中Stem的结构图;

图4是骨干网络中Stage的结构图;

图5是每个Stage中Block的结构图;

图6是骨干网络中SPPCSPC模块的结构图。

具体实施方式

本发明提出一种针对小目标检测的骨干网络方法,通过使用大卷积核的方式来增强模型的有效感受野,使得模型可以学习到更多的小目标特征。此外,为了降低大卷积核模型带来的参数提高问题,本发明还使用了深度可分离卷积,结构重参数化等方法。

下面结合附图和具体实施例对本发明作进一步详细描述:

如图1所示,一种基于深度学习的航拍图像小目标检测方法,其特征在于,包括以下步骤:

步骤(1)对输入模型的训练数据进行预处理;

步骤(2)对预处理后的数据进行数据增强,即随机裁剪、随机排列、随机缩放、加入马赛克后组合成一张图片;

步骤(3)将增强后的数据输入使用大卷积核设计的骨干网络,大卷积核骨干网络对输入图像进行特征提取,训练模型参数,直至损失函数不再下降;

步骤(4)训练结束后使用结构重参数化方法将小卷积核的卷积层与BN层进行重参数化,达到减小模型参数量的目的;

步骤(5)使用训练好的模型对真实数据进行推理,得到小目标检测结果。

进一步地,步骤(1)中的数据预处理包括数据集划分,调整输入尺寸。

进一步地,步骤(2)中的数数据增强包括对输入数据进行随机裁剪(RandomCrop)、随机旋转(Random Rotation)、随机翻水平翻转(Random Horizontal Flip)、马赛克(Mosaic)后组合成新的训练数据,达到数据增广的效果,提高模型的泛化能力。在本步骤中,随即裁剪,随机旋转,随机水平翻转均可以使用Pytorch框架的自带函数进行实现。

步骤(3)中的大卷积核骨干网络包括以下模块:

模块1:Stem模块,由两组普通卷积和深度可分离卷积组成,对输入数据进行下采样,并得到一些粗粒度的特征;

模块2:包含3个Stage,第i个Stage(i=1,2,3)包含若干个Block与Transition的组合,每个Block使用大卷积核的卷积进行计算,每个Transition用来下采样并调整通道数;

模块3:SPPCSPC模块,对模块2的输出进行池化。

进一步地,如图2所示,步骤(3)所述的模块1:Stem模块,由两组普通卷积和深度可分离卷积组成。第一组中普通卷积的卷积核大小为3×3,步长Stride=2,深度可分离卷积的卷积核大小为3×3,步长Stride=1;第二组中普通卷积的卷积核大小为3×3,步长Stride=1,深度可分离卷积的卷积核大小为3×3,步长Stride=2。这一模块的目的是先使用小尺寸的卷积进行下采样,得到一些粗粒度的特征。

进一步地,如图3所示,步骤(3)所述的模块2,其特征在于:本发明提出的方法中包含3个Stage,每个Stage包含一个使用大卷积核计算的Block模块和一个调整通道数和降采样Transition模块。其中,每个Block模块包含两个部分,第一个部分为大卷积核模块RepLKBlock,第二个部分为前馈网络模块ConvFFN Block-S;

进一步地,如图4所示,大卷积核模块RepLKBlock的组成部分包括:一个BN层,一个K×K的大卷积,K×K大卷积核层前后各一个1×1的卷积,以及一个残差连接;

进一步地,如图4所示,前馈网络模块ConvFFN Block的组成部分包括:一个BN层,一个SiLU激活函数,SiLU前后各一个1×1的卷积,以及一个残差链接;

进一步地,步骤(3)所述模块2的三个Stage中,第i个(i=1,2,3)Stage中Block与Transition组合的个数分别为2个,2个,18个;每个大卷积核模块的卷积核尺寸分别为:K=27,K=27,K=13。

进一步地,步骤(3)所述模块2的Transition过渡模块由两个部分组成,包括一个1×1,步长Stride=1的卷积和一个3×3,步长Stride=2的深度可分离卷积。

进一步地,如图6所示,步骤(3)所述的SPPCSPC模块,包含以下模块:CBS模块,最大池化模块,融合模块。

其中,CBS模块,其特征在于,CBS模块由三个部分组成,分别为卷积层,BN层,SiLU层。最大池化模块,其特征在于,在经过若干个CBS模块处理后,对输入数据分别进行5×5,9×9和13×13的最大池化操作。融合模块,其特征在于,融合模块分为两个部分。第一部分将最大池化模块三个不同尺度的池化结果进行融合,第二部分将第一部分得到的结果进行两次CBS模块处理,然后再和经过一个CBS模块处理的SPPCSPC模块输入进行融合,最后将结果进行输出。

进一步地,步骤(4)中的重参数化方法,具体为:在训练结束后,对模型中1×1和3×3的小卷积层和BN层进行重参数化。对于每个重参数块的输入x,输出记为O(x)。一次卷积核大小为K×K的卷积操作的公式为:

其中,K为卷积核大小,W

其中,μ为均值,σ标准差,γ为BN层学习的比例因子,β为偏置。则一次含有一个3×3,1×1和一个残差链接的重参数块输出可以表示为:

O(x)=BN(Conv

进一步地,步骤(5)中的模型推理包括以下步骤:

(1)摄像头采集数据;

(2)对采集到的数据进行数据预处理,如调整尺寸等;

(3)将预处理后的数据输入到训练好且完成重参数化的大卷积核网络模型中;

(4)大卷积核网络模型将输入图像进行特征提取,并将特征图交给后续的目标检测网络;

(5)模型返回预测结果,输出预测目标在图像中的坐标,类别以及置信度。

本发明具体实施途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。

相关技术
  • 一种基于深度学习的航拍图像杆塔标识牌故障诊断方法
  • 一种基于深度学习的航拍图像输电线路细小金具识别方法
  • 一种基于深度学习航拍异物图像实时检测方法
  • 一种基于深度学习的无人机航拍图像目标检测方法及系统
  • 一种基于特征融合和上采样的航拍图像小目标检测方法
技术分类

06120115938792