一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于Darkdet-Net的低照度小样本目标检测方法

2022-07-31 07:35:23 来源:中国专利 TAG:
一种基于darkdet-net的低照度小样本目标检测方法
技术领域
:1.本发明涉及深度学习、低照度图像增强以及小样本目标检测技术,具体是一种基于darkdet-net的低照度小样本目标检测方法。
背景技术
::2.在计算机视觉领域中的重要任务之一是目标检测,目标检测已经被广泛应用于许多实际场景中,例如自动驾驶、行人检测等。而在目标检测真实应用场景中,照明度对于检测精度有着重要的影响。3.低照度指的是当被摄景物的光亮度低到一定程度而使摄像机输出的视频信号电平低到某一规定值时的景物光亮度值。通俗地说,低照度图像是在夜晚或者光照环境较差的条件下拍摄时所生成的图片。不充分的光照会严重损害并降低图像的视觉质量,可见度低、对比度差和存在色彩偏差等缺点不仅令人眼对图像的主观感受产生偏差,而且对于计算机视觉网络来说要识别低照度图像上的目标对象也具有一定的难度。4.现有的很多目标检测算法通常能在正常照明的条件下表现良好,但在处理低照度图像时却不尽人意。为了使得在低照度场景下与正常光照条件下有着相当的水平,需要一种有效的低照度目标检测方法。5.目标检测的泛化能力也很重要,大部分的目标检测器如果要对训练时未见过目标进行检测时需要大量新类数据进行重新训练,需要的代价较大,因此需要一个对于只有少量样本数的新类目标检测网络微调即fine-tuning方法。6.除了上述问题外,传统目标检测算法需要预先人为设定锚框即anchors,但anchors有着一些缺点,例如由于固定尺寸和纵横比而在处理形变较大和小目标物体时效果不佳等问题,因此需要一种无锚框即anchor-free的目标检测方法。7.综上所述,针对低照度、目标检测泛化能力、锚框的一些问题,急需一种无锚框的低照度小样本目标检测方法。技术实现要素:8.本发明的目的是针对现有技术的不足,而提供一种基于darkdet-net的低照度小样本目标检测方法。这种方法能够不受低光照环境影响检测出图像中的目标对象,并且能够快速泛化到新的检测类别上。9.实现本发明目的的技术方案是:10.一种基于darkdet-net的低照度小样本目标检测方法,包括如下步骤:11.1)对低照度图像数据集exdark进行处理和划分得到base类与小样本目标novel类,过程为:12.1-1)exdark数据集共计7363张低照度图像,包含12个常规目标类别,首先选取其中9个类为base类,base类包括bicycle、boat、bottle、bus、dog、table、motorbike、car、chair,其余3个类为novel类,novel类包括people、cup、cat,将base类以8:2的比例划分成两部分,其中80%为训练集、20%为测试集,训练集共4400张图片,测试集共1100张图片,共有5500张图片,base类结合novel类各选5张图片,构建base类和novel类的平衡训练集共60张图片;13.1-2)将所有低照度图片进行预处理,使图像缩放到统一的长×宽为650×650;14.2)训练exindark模块对输入的低照度图像进行特征提取:过程包括:15.2-1)exindark模块设有6个stage,第1个stage由1个9×9卷积层构成,第2至第3个stage分别由2组3×3卷积层与bir模块再加上1个dualpooling模块拼接而成,第4至第6个stage分别由2组3×3卷积层、dualattention模块与bir模块再加上1个dualpooling模块拼接而成,低照度图像往往具有可见度低、对比度差和存在色彩偏差等缺点,并且图片中部分信息也由于照度过低而损失,所以通过简单地堆积卷积层并不能很好地对有限的图片信息进行特征提取,如果在模型特征提取过程中不能学习到丰富的特征信息,将影响后续的检测过程,为了提高模型对低照度图像的特征提取能力,在dualattention模块中,分别经过1个3×3卷积层后的特征图采用空间注意力机制以及通道注意力机制,它们分别对空间维度和通道维度上的语义相互依赖进行建模,空间注意模块通过所有空间位置的特征加权和,有选择地聚合每个位置的特征,相似的特征将会相互关联,而不管它们之间的距离如何,同时通道注意模块通过整合所有通道图之间的相关特征,选择性地强调相互依赖的通道图,最后将两个注意模块的输出逐元素相加,以进一步改进特征表示,从而实现更丰富的特征提取结果,在bir模块的结构中采用2种归一化操作加强对低照度图像的特征处理:batchnormalization即bn、instancenormalization即in,bn注重对每个批次进行归一化,从而保证数据分布的一致性,能够很好地处理特征图的基础信息,比如挖掘图像色彩饱和度和亮度中照明偏亮的部分,in则更注重维护图片的风格信息,使用in不仅可以加速模型收敛,并且可以保持图像中各个实例对象之间的独立,不让它们混淆,避免造成特征模糊,然后把分别经过2种归一化操作的特征信息经过leakyrelu层激活来避免神经元“死亡”,然后在通道维度上拼在一起,在dualpooling模块中采用maxpooling与averagepooling并行2倍下采样,最大池化可以提取特征纹理,最大池化提取边缘等“最重要”的特征,平均池化可以保留背景信息,平均池化提取的特征更加平滑,然后在通道维度上拼在一起,之后采用1个1×1卷积层进行通道维度的压缩,一是避免通道维度急剧膨胀,二是使得特征从通道维度上进行融合;16.2-2)将步骤1-2)中预处理后的低照度图像作为exindark模块的输入,训练exindark模块对低照度图像进行特征提取,exindark模块的6个stage的输出特征图的尺寸分别为6×321×321、12×160×160、24×80×80、48×40×40,记为c4、96×20×20,记为c5和192×10×10,记为c6,详细参数设置如表1所示:17.表118.19.[0020][0021],其中concat为torch.concat,sum为逐元素相加;[0022]3)构造mlfa(multilevelfeatureaugmentation简称mlfa)模块对特征图进行多尺度特征的融合与增强,过程包括:[0023]3-1)将步骤2-2)得到的输出特征图c4、c5和c6作为mlfa模块的三个输入,mlfa模块设有1个dff(downfeaturefusion简称dff)模块和1个uff(upfeaturefusion,简称uff)模块以及一个dualattention模块,dff模块由多组包括1个3×3卷积层与1个dualpooling层的模块组成,uff模块主要由多组反卷积操作组成,特征图c4、c5和c6输入进dff模块,c4经过下采样之后与c5逐元素相加,记为c7,c5经过下采样之后与c6逐元素相加,记为c8,c7经过下采样之后与c8逐元素相加,记为c9,让高层特征图中丰富的语义信息向下流动,与低层特征图进行融合,接下来让低层特征图中准确的目标位置信息向上传输,把c9输入进uff模块进行解码,c9采用反卷积进行2倍上采样,记为c1,c1进行2倍上采样,记为c2,c9进行2倍上采样后与c3逐元素相加,记为c10,c9进行4倍上采样后与c10进行2倍上采样后再与c2逐元素相加,记为c11,并且c11作为最终输出,在dff模块这样的操作可能会把大量特征提取过程中冗余信息和噪声添加进来,在uff模块的过程中,这些无用信息和噪声会被一步一步地放大并最终输入到后续的目标检测头当中,因此在dff模块与uff模块之间加入一个dualattention模块,可以一定程度上抑制这些有害信息的传播;[0024]3-2)训练mlfa模块对特征图进行多尺度融合与增强,丰富的特征信息有利于模型进行目标检测时更准确地识别目标类别,mlfa中dff模块、dualattention模块、uff模块的输出特征图的尺寸分别为192×10×10、192×10×10、48×48×40,详细参数设置如表2所示:[0025]表2[0026][0027],其中sum为逐元素相加,down为3×3卷积层与一个dualpooling模块,up为反卷积操作;[0028]4)构造基于多头srattention的dethead模块对输入的特征图进行检测框预测与分类:过程包括:[0029]4-1)基于detr采用transformer进行目标检测思想,dethead模块包括2个transformer的encoder模块对输入的特征进行编码以及2个全连接层进行解码,考虑到detr的难收敛的问题,没有使用transformer的decoder部分,直接采用全连接层进行解码,encoder模块由1个多头srattention层、1个layernormalization层、1个feedforward层、1个layernormalization层组成,其中还有2个残差连接,采用多头srattention的特性对特征进行编码,多头srattention特点首先在于考虑到detr难以收敛主要问题在于attentionmap难以稀疏化,因此采用直接随机生成的attentionmap与经过全连接层学习并reshape操作后的attentionmap逐元素求和,避免detr的attentionmap难以稀疏化问题,其次在于希望利用多头srattention对于特征图照明度信息进行编码,提高对低照度图像的检测效果,feedforward层就是2个全连接层,分别进行分类和bbox坐标的回归;[0030]4-2)将步骤3-2)得到的特征图输入进dethead模块,之后采用pre_cls和pre_boxes这2个全连接层进行解码,得到50个检测框以及检测框对应的50个分类结果;[0031]5)在base类数据集进行目标检测训练并测试检测效果:过程包括:[0032]5-1)步骤4-2)得到的预测框相当于一个大小为50的集合,而真实的检测框相当于另一个集合,得到的预测框集合没有与真实的检测框建立一个一一对应关系,也就是接下来需要把预测出来的50个框与真实的检测框做最佳匹配,使得损失最小;[0033]5-2)模型在训练过程中的损失函数定义如公式(1)所示:[0034][0035]其中δ表示进行最佳匹配后的某种顺序,y={c,b}为预测的分类结果与检测框,为使得最佳匹配后真实分类结果与检测框,m为预测框的数量,标识只有类别不为背景时计算lcls使用交叉熵为损失,而lb使用计算预测框与真实框l1范数作为损失,即[0036]5-3)预测出来的50个框与真实的检测框做最佳匹配问题可以看作是二分图最佳匹配问题,二分图是特殊的网络流,最佳匹配相当于求最大或最小费用最大流,首先计算50个预测框与每个真实框的iou值作为权重,采用kuhn-munkres即km算法计算出预测框与真实框的最佳匹配,真实检测框的顺序记为km算法表示如公式(2)所示:[0037][0038]采用km算法找到一个使得损失最小的匹配序列,然后将得到的最小损失进行反向传播进行训练;[0039]5-4)训练完成之后进行测试,由于预测得到的是一个集合,并且在训练过程中经过km算法学习预测框与真实框一对一匹配,因此不存在重复框的情况,可以在测试时设置一个阈值,只有预测分类置信度大于阈值的预测框进行输出;[0040]6)基于base类和novel类平衡训练集进行小样本新类物体目标检测fine-tuning:过程如下:[0041]6-1)第一阶段根据步骤5)采用大量的base类数据样本对模型进行常规目标检测训练,网络的损失由步骤5-2)、5-3)所述组成;[0042]6-2)第二阶段是基于小样本fine-tuning,在保持整个exindark模块以及mlfa模块参数不变的情况下,模型其他部分重新随机初始化参数,之后再在步骤1-1)构建的base类和novel类平衡训练集上fine-tuning,这个过程采用余弦相似性取代交叉熵作为分类损失,与基于交叉熵的分类器相比,基于余弦相似性的分类器有助于减少类内方差,提高novel类的检测精度,同时减少base类检测精度的降低,尤其是当训练实例数量较少时,并且缩小学习速率。[0043]本技术方案采用exindark模块来提取低照度图像的特征信息,该模块结合了2种注意力机制、2种归一化操作以及2种池化操作来加强对低照度图像的特征处理,使得其能够很好地捕获图像上目标对象的特征;接着使用multilevelfeatureaugmentation模块对输出的不同尺寸的特征图进行多尺度特征融合与增强操作,丰富的特征信息有利于模型进行检测时更准确地识别目标类别;然后送入dethead模块,以提高模型进行检测时判断目标位置信息的准确性;最后使用base类进行常规的目标检测训练基础上保留特征提取模块权重再在base类和novel平衡的数据集上fine-tuning。[0044]这种方法能够不受低光照环境下拍摄的影响,对于产生的低照度图像仍然可以进行很好地识别来检测出图像中的目标对象,并且使用fine-tuning技术,可以快速学习对小样本新类物体的检测。附图说明[0045]图1为实施例中的darkdet-net结构示意图;[0046]图2为实施例中的stage2、stage3结构示意图;[0047]图3为实施例中的stage4、stage5、stage6结构示意图;[0048]图4为实施例中的dualattention模块结构示意图;[0049]图5为实施例中的bir模块结构示意图;[0050]图6为实施例中的dualpooling模块结构示意图;[0051]图7为实施例中的multilevelfeatureaugmentation模块结构示意图;[0052]图8为实施例中的downfeaturefusion模块结构示意图;[0053]图9为实施例中的upfeaturefusion模块结构示意图;[0054]图10为实施例中的dethead模块结构示意图;[0055]图11为实施中的sqattention结构示意图。具体实施方式[0056]下面结合附图和实施例对本发明的内容作进一步的阐述,但不是对本发明的限定。[0057]实施例:[0058]参照图1,一种基于darkdet-net的低照度小样本目标检测方法,包括如下步骤:[0059]1)对低照度图像数据集exdark进行处理和划分得到base类与小样本目标novel类,过程为:[0060]1-1)exdark数据集共计7363张低照度图像,包含12个常规目标类别,首先选取其中9个类为base类,base类包括bicycle、boat、bottle、bus、dog、table、motorbike、car、chair,其余3个类为novel类,novel类包括people、cup、cat),将base类以8:2的比例划分成两部分,其中80%为训练集、20%为测试集,训练集共4400张图片,测试集共1100张图片,共有5500张图片,base类结合novel类各选5张图片,构建base类和novel类的平衡训练集共60张图片;[0061]1-2)将所有低照度图片进行预处理,使图像缩放到统一的长×宽为650×650;[0062]2)训练exindark模块对输入的低照度图像进行特征提取:过程包括:[0063]2-1)exindark模块设有6个stage,第1个stage由1个9×9卷积层构成,如图2所示,第2至第3个stage分别由2组3×3卷积层与bir模块再加上1个dualpooling模块拼接而成,如图3所示,第4至第6个stage分别由2组3×3卷积层、dualattention模块与bir模块再加上1个dualpooling模块拼接而成,低照度图像往往具有可见度低、对比度差和存在色彩偏差等缺点,并且图片中部分信息也由于照度过低而损失,所以通过简单地堆积卷积层并不能很好地对有限的图片信息进行特征提取,如果在模型特征提取过程中不能学习到丰富的特征信息,将影响后续的检测过程,为了提高模型对低照度图像的特征提取能力,如图4所示,在dualattention模块中,分别经过1个3×3卷积层后的特征图采用空间注意力机制以及通道注意力机制,它们分别对空间维度和通道维度上的语义相互依赖进行建模,空间注意模块通过所有空间位置的特征加权和,有选择地聚合每个位置的特征,相似的特征将会相互关联,而不管它们之间的距离如何,同时通道注意模块通过整合所有通道图之间的相关特征,选择性地强调相互依赖的通道图,最后将两个注意模块的输出逐元素相加,以进一步改进特征表示,从而实现更丰富的特征提取结果,如图5所示,在bir模块的结构中采用2种归一化操作加强对低照度图像的特征处理:batchnormalization即bn、instancenormalization即in,bn注重对每个批次进行归一化,从而保证数据分布的一致性,能够很好地处理特征图的基础信息,比如挖掘图像色彩饱和度和亮度中照明偏亮的部分,in则更注重维护图片的风格信息,使用in不仅可以加速模型收敛,并且可以保持图像中各个实例对象之间的独立,不让它们混淆,避免造成特征模糊,然后把分别经过2种归一化操作的特征信息经过leakyrelu层激活来避免神经元“死亡”,然后在通道维度上拼在一起,如图6所示,在dualpooling模块中采用maxpooling与averagepooling并行2倍下采样,最大池化可以提取特征纹理,最大池化提取边缘等“最重要”的特征,平均池化可以保留背景信息,平均池化提取的特征更加平滑,然后在通道维度上拼在一起,然后采用1个1×1卷积层进行通道维度的压缩,一是避免通道维度急剧膨胀,二是使得特征从通道维度上进行融合;[0064]2-2)将步骤1-2)中预处理后的低照度图像作为exindark模块的输入,训练exindark模块对低照度图像进行特征提取,exindark模块的6个stage的输出特征图的尺寸分别为6×321×321、12×160×160、24×80×80、48×40×40,记为c4、96×20×20,记为c5和192×10×10,记为c6,详细参数设置如表1所示:[0065]表1[0066][0067][0068][0069],其中concat为torch.concat,sum为逐元素相加;[0070]3)构造mlfa(multilevelfeatureaugmentation简称mlfa)模块对特征图进行多尺度特征的融合与增强,如图7所示,过程包括:[0071]3-1)将步骤2-2)得到的输出特征图c4、c5和c6作为mlfa模块的三个输入,mlfa模块设有1个dff模块和1个uff模块以及一个dualattention模块,如图8所示,dff模块由多组包括1个3×3卷积层与1个dualpooling层的模块组成,如图9所示,uff模块主要由多组反卷积操作组成,特征图c4、c5和c6输入进dff模块,c4经过下采样之后与c5逐元素相加,记为c7,c5经过下采样之后与c6逐元素相加,记为c8,c7经过下采样之后与c8逐元素相加,记为c9,让高层特征图中丰富的语义信息向下流动,与低层特征图进行融合,接下来让低层特征图中准确的目标位置信息向上传输,把c9输入进uff模块进行解码,c9采用反卷积进行2倍上采样,记为c1,c1进行2倍上采样、记为c2,c9进行2倍上采样后与c3逐元素相加,记为c10,c9进行4倍上采样后与c10进行2倍上采样后再与c2逐元素相加,记为c11,并且c11作为最终输出,在dff模块这样的操作可能会把大量特征提取过程中冗余信息和噪声添加进来,在uff模块的过程中,这些无用信息和噪声会被一步一步地放大并最终输入到后续的目标检测头当中,因此在dff模块与uff模块之间加入一个dualattention模块,可以一定程度上抑制这些有害信息的传播;[0072]3-2)训练mlfa模块对特征图进行多尺度融合与增强,丰富的特征信息有利于模型进行目标检测时更准确地识别目标类别,mlfa中dff模块、dualattention模块、uff模块的输出特征图的尺寸分别为192×10×10、192×10×10、48×48×40,详细参数设置如表2所示:[0073]表2[0074][0075][0076],其中sum为逐元素相加,down为3×3卷积层与一个dualpooling模块,up为反卷积操作;[0077]4)构造基于多头srattention的dethead模块对输入的特征图进行检测框预测与分类:如图10所示,过程包括:[0078]4-1)基于detr采用transformer进行目标检测思想,dethead模块包括2个transformer的encoder模块对输入的特征进行编码以及2个全连接层进行解码,考虑到detr的难收敛的问题,没有使用transformer的decoder部分,直接采用全连接层进行解码,encoder模块由1个多头srattention层、1个layernormalization层、1个feedforward层、1个layernormalization层组成,其中还有2个残差连接,采用多头srattention的特性对特征进行编码,如图11所示,多头srattention特点首先在于考虑到detr难以收敛主要问题在于attentionmap难以稀疏化,因此采用直接随机生成的attentionmap与经过全连接层学习并reshape操作后的attentionmap逐元素求和,避免detr的attentionmap难以稀疏化问题,其次在于希望利用多头srattention对于特征图照明度信息进行编码,提高对低照度图像的检测效果,feedforward层就是2个全连接层,分别进行分类和bbox坐标的回归;[0079]4-2)将步骤3-2)得到的特征图输入进dethead模块,之后采用pre_cls和pre_boxes这2个全连接层进行解码,得到50个检测框以及检测框对应的50个分类结果;[0080]5)在base类数据集进行目标检测训练并测试检测效果:过程包括:[0081]5-1)步骤4-2)得到的预测框相当于一个大小为50的集合,而真实的检测框相当于另一个集合,得到的预测框集合没有与真实的检测框建立一个一一对应关系,也就是接下来需要把预测出来的50个框与真实的检测框做最佳匹配,使得损失最小;[0082]5-2)模型在训练过程中的损失函数定义如公式(1)所示:[0083][0084]其中δ表示进行最佳匹配后的某种顺序,y={c,b}为预测的分类结果与检测框,为使得最佳匹配后真实分类结果与检测框,m为预测框的数量,标识只有类别不为背景时计算lcls使用交叉熵为损失,而lb使用计算预测框与真实框l1范数作为损失,即[0085]5-3)预测出来的50个框与真实的检测框做最佳匹配问题可以看作是二分图最佳匹配问题,二分图是特殊的网络流,最佳匹配相当于求最大或最小费用最大流,首先计算50个预测框与每个真实框的iou值作为权重,采用kuhn-munkres即km算法计算出预测框与真实框的最佳匹配,真实检测框的顺序记为km算法表示如公式(2)所示:[0086][0087]采用km算法找到一个使得损失最小的匹配序列,然后将得到的最小损失进行反向传播进行训练;[0088]5-4)训练完成之后进行测试,由于预测得到的是一个集合,并且在训练过程中经过km算法学习预测框与真实框一对一匹配,因此不存在重复框的情况,可以在测试时设置一个阈值,只有预测分类置信度大于阈值的预测框进行输出;[0089]6)基于base类和novel类平衡训练集进行小样本新类物体目标检测fine-tuning:过程如下:[0090]6-1)第一阶段根据步骤5)采用大量的base类数据样本对模型进行常规目标检测训练,网络的损失由步骤5-2)、5-3)所述组成;[0091]6-2)第二阶段是基于小样本fine-tuning,在保持整个exindark模块以及mlfa模块参数不变的情况下,模型其他部分重新随机初始化参数,之后再在步骤1-1)构建的base类和novel类平衡训练集上fine-tuning,这个过程采用余弦相似性取代交叉熵作为分类损失,与基于交叉熵的分类器相比,基于余弦相似性的分类器有助于减少类内方差,提高novel类的检测精度,同时减少base类检测精度的降低,尤其是当训练实例数量较少时,并且缩小学习速率。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献