本发明属于图像检测技术领域,具体涉及一种基于k-组合均值特征增强的小样本目标检测方法及系统。
背景技术:
深度学习模型在目标检测任务中取得了巨大的成功主要是因为深度神经网络可以从数据中学习更高级、更深层次的特征。然而深度学习模型严重依赖于大量的带标签数据,但人工数据标注费时费力、价格昂贵,并且在某些应用领域本来就没有足够的数据积累。深度学习在数据密集型的应用中达到了令人满意的效果,然而当带标签的数据样本很少时或数据集很小时,会受到阻碍。
基于微调的小样本目标检测算法使用两个训练阶段实现对仅有少量带标签样本的新类别的检测,其中第一阶段使用大量带标签样本的基类数据对检测器进行训练,第二阶段使用少量带标签样本的新类数据对训练好的检测器进行微调。该类算法通过第一阶段的训练学习到的是类别之间的共同特征,然后在第二个微调阶段通过使用新类少量的带标签样本,对特征进行转换,加权求和后得到每个新类的类特征。现有性能比较好的基于微调的小样本目标检测模型首先使用大量带标签的基类数据训练一个检测器,然后固定模型中的特征提取器,使用少量的k个带标签的新类样本对分类器和回归器进行微调。由于微调阶段带标签样本的数量少,容易造成过拟合的问题。
技术实现要素:
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于k-组合均值特征增强的小样本目标检测方法及系统,通过利用每个新类别已知的k个目标,使用特征提取网络提取对应目标特征,对这些特征取
本发明采用以下技术方案:
一种基于k-组合均值特征增强的小样本目标检测方法,包括以下步骤:
s1、对类别集合c进行划分,根据类别划分得到用于训练的基类图像
s2、构造基于fasterr-cnn的二阶段目标检测模型;将步骤s1中得到的数据集
s3、固定步骤s2中在基类数据集上训练后的目标检测模型中的特征提取网络f、候选区域生成网络rpn,根据新类的类别数量为新类构造新的分类器
s4、将步骤s1得到的新类图像
s5、将步骤s4得到的每个新类的k个目标特征取
s6、将步骤s1中得到的新类图像
s7、将步骤s1中得到的m”n个新类图像
具体的,步骤s1中,将coco2014数据集中60个与pascalvoc数据集不相交的类别作为基类,剩余20个类别作为新类;基类图像
具体的,步骤s2中,基于fasterr-cnn的二阶段目标检测模型包括特征提取网络f、候选区域生成网络rpn、分类器
具体的,步骤s2中,对基于fasterr-cnn的二阶段目标检测模型进行训练具体为:
s201、在
s202、用rpn区域生成网络生成anchors,对anchors进行裁剪过滤,然后通过softmax对anchors进行二分类,判断属于前景或者后景,利用并使用边界框回归修正anchors的位置信息;
s203、将候选框信息映射到图像特征f(x),使用roipooling获取候选框集合对应的特征集合f(bboxesi);
s204、利用目标检测损失函数
进一步的,步骤s204中,目标检测损失函数l为:
其中,
具体的,步骤s4中,将新类中每类的k个带标签样本先输入到经过第一阶段训练后的特征提取模块中提取对应的k个图像的特征
进一步的,每一个新类在k幅图像上对应的固定大小的k个目标的特征样本集合
其中,
具体的,步骤s5具体为:
s501、在新类类别中,对新类类别i,取步骤s4中得到的第i类对应的k个目标的特征样本集合
s502、新建一个特征样本集合
s503、在特征样本集合
s504、重复步骤s503,直至遍历完
s505、重复步骤s501~步骤s504,直至获得所有新类类别的增强后的特征样本集合fea',完成基于k-组合均值的特征增强。
具体的,步骤s6具体为:
s601、将步骤s1中得到的新类图像
s602、使用步骤s5得到的新类的特征样本集合fea'及对应类别标签,根据步骤s2中的目标检测损失函数
本发明的另一技术方案是,一种基于k-组合均值特征增强的小样本目标检测系统,包括:
划分模块,对类别集合c进行划分,根据类别划分得到用于训练的基类图像
训练模块,构造基于fasterr-cnn的二阶段目标检测模型;将划分模块中得到的数据集
构造模块,固定训练模块中在基类数据集上训练后的目标检测模型中的特征提取网络f、候选区域生成网络rpn,根据新类的类别数量为新类构造新的分类器
特征模块,将划分模块得到的新类图像
组合模块,将特征模块得到的每个新类的k个目标特征取
微调模块,将划分模块中得到的新类图像
检测模块,将划分模块中得到的m”n个新类图像
与现有技术相比,本发明至少具有以下有益效果:
本发明一种基于k-组合均值特征增强的小样本目标检测方法,相较于固定检测器中特征提取模块,只对分类器与回归器进行微调的现有方法,由于利用新类数据每类k个目标的标签信息得到其对应的特征样本;通过对每类k个目标的特征样本取
进一步的,基于微调的小样本目标检测的任务设定为通过使用大量带标签的基类cb数据集xb对模型进行训练,其目的是从基类数据集中学习到一些与目标检测任务相关的知识,使模型可以实现仅使用少量的带标签的新类样本就可以对新类cn数据集xn进行目标检测。因此,对类别集合c进行划分,根据类别划分得到用于训练的基类图像
进一步的,fasterr-cnn为二阶段检测模型,首先根据网络提取的特征生成一系列的可能包含目标的候选区域,在这一阶段只判断候选区域为前景对象还是背景,然后再对这些候选区域进行细粒度的具体类别的分类与位置回归,完成检测任务。基于fasterr-cnn的二阶段目标检测模型包括特征提取网络f、候选区域生成网络rpn、分类器
进一步的,基于fasterr-cnn的二阶段目标检测模型的输入为每次从步骤s1中的基类图像
进一步的,目标检测损失函数l中
进一步的,对于新类数据集来说,带标签的样本数量非常少,为了更好地利用已有的新类的带标签样本特征,将步骤s1得到的新类图像
进一步的,在微调阶段,使用新类数据集对分类器与回归器进行微调。用于微调的新类中每一类都有k个带标签目标,这k个目标决定了该类中的普遍性特征,还有与其他类之间的区分性特征。由于已知这k个目标的标签信息,根据该标签信息使用第一阶段训练好的模型可以获得这k个目标的特征,将这k个特征取
进一步的,基于微调的小样本目标检测模型在新类上的检测效果差是因为新类中带标签的样本数量太少,模型容易产生过拟合的问题。为了更好地利用已有的新类的带标签样本特征,得到更多的属于新类的特征样本,扩充新类的特征样本集合,将步骤s4得到的每个新类的k个目标特征取
进一步的,为了使在基类上训练好的检测模型可以更好地完成在新类数据集上的检测,将步骤s1中得到的新类图像
综上所述,本发明利用每类k个带标签样本的标签信息,得到对应的特征,通过对这k个目标的特征进行
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明中第一阶段训练示意图;
图2为本发明中第二个微调阶段的示意图;
图3为本发明中k-目标特征获取示意图;
图4为本发明中基于k-组合均值的特征增强模块示意图;
图5为本发明中基于k-组合均值的特征增强模块的作用示意图;
图6为本发明中新类类别的划分图;
图7为k=3时新类中每个类别的ap值图;
图8为10-shot对比实验结果示例图,其中,(a)为现有基于微调的小样本目标检测模型结果图,(b)为本发明所提出的模型的检测结果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
在附图中示出了根据本发明公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。
本发明提供了一种基于k-组合均值特征增强的小样本目标检测方法,基于微调的小样本目标检测模型首先使用大量带标签的基类数据训练一个检测器,然后固定模型中的特征提取器,使用少量的k个带标签的新类样本对分类器和回归器进行微调。由于微调阶段带标签样本的数量少,容易造成过拟合的问题。本发明通过基于k-组合均值的特征增强模块在微调阶段为分类器提供更多新类的特征样本,缓解了小样本目标检测模型的过拟合问题,提升了目标检测精度。
本发明一种基于k-组合均值特征增强的小样本目标检测方法,包括以下步骤:
s1、对类别集合c进行划分,根据类别划分得到用于训练的基类图像
类别集合
s2、构造基于fasterr-cnn的二阶段目标检测模型;将步骤s1中基类数据集
请参阅图1,构造基于fasterr-cnn的二阶段目标检测模型,二阶段目标检测模型包括特征提取网络f、候选区域生成网络rpn、分类器
其中,使用resnet作为特征提取网络的backbone,用于对输入的图像进行特征提取;rpn网络是一个由两个全连接层组成的子网络,根据图像特征生成可能包含目标的候选框信息;根据rpn网络生成的候选框对原图像提取到的特征进行roipooling得到每个候选框的特征,然后使用基于cosine相似性度量函数的分类器
在基类上的训练过程具体为:
s201、在
s202、用rpn区域生成网络生成一堆anchors,对这些anchors进行裁剪过滤,然后通过softmax对这些anchors进行二分类,判断其属于前景(foreground)或者后景(background),即是物体or不是物体,利用并使用边界框回归修正anchors的位置信息;
s203、将候选框信息映射到图像特征f(x),使用roipooling获取候选框集合对应的特征集合f(bboxesi);
s204、利用目标检测损失函数
构造目标检测损失函数l,其优化目标为:
其中,
s3、固定步骤s2中在基类数据集上训练后的检测模型中的特征提取网络f、候选区域生成网络rpn,根据新类的类别数量为新类构造新的分类器
s4、将步骤s1中得到的新类图像
fasterr-cnn模型中的rpn网络主要关注的是所选候选框是否包含前景对象,经过第一阶段使用大量带标签样本训练后的rpn网络可以得到包含更多前景特征的候选框。roipooling则根据rpn所生成的候选框信息获得每个候选框的特征,并将每个候选框的特征处理成固定的尺寸大小。
请参阅图3,将新类中每类的k个带标签样本先输入到经过第一阶段训练后的特征提取模块中提取对应的k个图像的特征
其中,
s5、将步骤s4得到的每个新类的k个目标特征取
请参阅图4,具体步骤如下:
s501、在新类类别中,对新类类别i,取步骤s4中得到的第i类对应的k个目标的特征样本集合
s502、为该类新建一个特征样本集合
s503、在特征样本集合
s504、重复步骤s503,直至遍历完
s505、重复步骤s501~步骤s504,直至获得所有新类类别的增强后的特征样本集合fea',完成基于k-组合均值的特征增强。
请参阅图5,利用基于k-组合均值产生的不同目标组合的平均特征可以在一定程度上增强类别特征样本的数量,进而减轻微调过程中分类权重对带标签样本中目标的过度依赖,缓解小样本学习模型的过拟合问题。如图4所示,原有模型只使用候选框特征对分类器进行微调,由于每一类只有k个带标签样本,所以模型容易产生过拟合现象。如图4所示,增加了本章所提出的基于k-组合均值的特征增强模块后,除了原有的k个目标特征外,为分类器的微调提供了更多的特征样本,增加了特征样本的数量,使分类器可以学习到更好的分类权重,提高检测结果中的分类精度,进而了提升检测精度。
s6、将步骤s1中得到的新类图像
请参阅图2,具体步骤如下:
s601、将步骤s1中得到的新类图像
s602、使用步骤s5得到的新类的特征样本集合fea'及其对应类别标签,根据步骤s2中的目标检测损失函数
s7、将m”n个新类图像
本发明再一个实施例中,提供一种基于k-组合均值特征增强的小样本目标检测系统,该系统能够用于实现上述基于k-组合均值特征增强的小样本目标检测方法,具体的,该基于k-组合均值特征增强的小样本目标检测系统包括划分模块训练模块、构造模块、特征模块、组合模块、微调模块以及检测模块。
其中,划分模块,对类别集合c进行划分,根据类别划分得到用于训练的基类图像
训练模块,构造基于fasterr-cnn的二阶段目标检测模型;将划分模块中得到的数据集
构造模块,固定训练模块中在基类数据集上训练后的目标检测模型中的特征提取网络f、候选区域生成网络rpn,根据新类的类别数量为新类构造新的分类器
特征模块,将划分模块得到的新类图像
组合模块,将特征模块得到的每个新类的k个目标特征取
微调模块,将划分模块中得到的新类图像
检测模块,将划分模块中得到的m”n个新类图像
本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor、dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于基于k-组合均值特征增强的小样本目标检测方法的操作,包括:
对类别集合c进行划分,根据类别划分得到用于训练的基类图像
本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。
可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关基于k-组合均值特征增强的小样本目标检测方法的相应步骤;计算机可读存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:
对类别集合c进行划分,根据类别划分得到用于训练的基类图像
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合仿真图对本发明的效果做进一步的描述。
1.仿真条件
本发明仿真的硬件条件为:智能感知与图像理解实验室图形工作站,使用的gpu是nvidiageforcegtx1080ti,其显存为12g;并采用2个10核的cpu:intelxeone5-2360v4,主频是2.20ghz,内存是64gb;本发明仿真所使用的数据集coco数据集:本文方法所使用的数据集是coco2014数据集。coco2014数据集包含80个类别。根据小样本目标检测的任务设置,需要将数据集划分为基类与新类,并且两者间类别不相交。因此,参阅图6,将coco2014数据集中60个与pascalvoc数据集不相交的类别作为基类,其余20个类别作为新类。
2.仿真内容与结果
用本发明方法在上述仿真条件下进行实验,利用coco2014数据集中划分为基类的数据对fasterr-cnn进行第一阶段的有监督训练,然后设定不同的k值,在新类别中取k张作为带标签的样本图像,固定经过第一阶段训练后的特征提取器与rpn网络等模块,只对新构造的分类器与回归器进行微调,微调后使用新类数据集对模型性能进行测试。
将本发明所提出的基于k-组合均值的特征增强模块添加至现有基于微调的主流方法中进行比较,结果如表1所示:
表1
从表1的结果看本发明的方法在目标检测精度上取得了一定的提升。
表1中,frcn ft-full中frcn指fasterr-cnn,ft-full指在训练过程中,在第一个阶段使用基类与新类的所有带标签样本训练模型,并在第二个微调阶段使用新类数据对包括特征提取器的整个检测模型进行微调。tfa指在第一个训练阶段只使用基类数据,并在第二个训练阶段固定特征提取部分,只对分类器和回归器进行微调。w/fc指基于fc的分类器,w/cos指基于cosine的分类器。fe指本发明所提出的基于k-组合均值的特征增强模块。
从表1可以看出,本发明所提出的基于k-组合均值的特征增强模块的有效性,并且随着带标签样本的数量增加,发现提升的效果会有一定程度的增加。例如,请参阅图7,当k=3、5时,在原有精度的基础上提升了0.3到0.5。而当k=30时,发现精度提升了1.1。这是因为随着k值的增加,
请参阅图8,本发明所提出的基于k-组合均值的特征增强方法对于新类集合中的大部分类别的检测结果都有一定程度的提升,并且对于人、猫、牛、马等类别内目标变化较大的类别提升比较大,证明了该方法通过为模型提供了更多的特征样本数量,减缓了模型的过拟合问题,提升了检测精度。
请参阅图8,取带标签样本数量k=10,只对新类进行目标检测。图8(a)为原基于微调的模型的实验结果,图8(b)为添加了本章所提出的特征增强模块后的实验结果。由图8可以看出,对于人、狗等类别内多变的目标,添加平均特征后,可以增强类内目标特征的普遍性,削弱具体某个目标的影响,缓解了模型的过拟合问题,进而提升了检测精度。
综上所述,本发明一种基于k-组合均值特征增强的小样本目标检测方法及系统,利用每类k个带标签样本的标签信息,得到对应的特征,通过对这k个目标的特征进行
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
