技术领域
本发明涉及机器学习技术领域,尤其是涉及基于支持与查询样本的小样本目标检测方法与系统。
背景技术
目标检测技术是计算机视觉任务中一个基础的任务,该任务旨在从图像中定位并分类出目标类别物体。目标检测技术的应用范围广泛,它为一些下游任务,例如实例分割,场景理解,姿态估计等任务,提供了基础的支持。已有深度目标检测模型在一些类别上取得了较好的准确率,但严重依赖于在大规模带标定数据集。然而在现实场景中,却面临着数据样本分布不均衡、以及样本无监督等问题,因此如何在样本量不足的情况下,进行有效的目标检测,成为了计算机视觉领域的开放式问题。小样本学习为解决这一类问题提供了一套系统的框架,即利用大量的基类(可见类)数据进行训练,即可在拥有少量数据的新类(未见类)上面进行预测。类似于小样本图像分类,小样本目标检测也将检测过程建模为一个个的轮次(episode),在每个轮次中,提供K张某个类别的支持样本的照片以及对应的标定框,要求在另一张不同的查询照片中定位出所有该类别的物体的位置,该设置被称为K-shot设置。此处的K一般较小,取值在1~30之间。
已有的小样本目标检测算法较少,现有的小样本目标检测大多是基于目标检测框架修改而来,且这些方法都存在着以下局限性:
1)基于一阶段目标检测框架修改而来的方法准确率往往较低。
2)基于两阶段目标检测框架修改而来的方法,往往没有充分利用支持样本的信息,来引导第一阶段的候选框的生成,以及第二阶段的候选框筛选。
3)在K-shot下,同等对待所有的支持样本,没有考虑到不同的支持样本对于当前查询样本的贡献度。
4)总体而言,已有的方法准确率较低,难以达到实际使用的级别。
小样本目标检测的应用场景较多,本发明例集中于其在超市的自动结算系统领域。在超市的自动结算系统中,大部分的自动结算需要店员手动对商品条码进行扫描,以便录入当前商品的价格等信息。然而,用扫描的方式录入商品时间消耗较大,结算效率较低,大大降低了用户的体验。
发明内容
为解决现有技术的不足,实现提高小样本目标检测准确率的目的,本发明采用如下的技术方案:
基于支持与查询样本的小样本目标检测方法,包括如下步骤:
S1,采样图像数据,在包含c类别的标定框的图像中,随机采样一组支持样本S和一张查询样本Q;
S2,支持样本和查询样本特征提取,分别得到支持样本、查询样本中,c类别标定框对应区域的特征,作为支持样本区域特征
S3,基于查询样本引导的支持样本加权,通过度量每个支持样本区域特征
S4,支持样本引导的查询样本特征增强,根据加权后的支持样本区域特征,对查询样本特征进行增强,并通过增强后的查询样本特征,生成与类别c相关的候选框,并进行微调;
S5,候选框的打分与筛选,通过度量加权后的支持样本区域特征和候选框特征的相似度,进行打分,通过分数阈值,筛选候选框;
S6,将筛选后的候选框与真实标定框,通过整体损失函数
其中,
然后将训练好的模型用到超市的场景中,向训练好的模型中输入查询样本,根据支持样本集合,得到查询样本中的所有目标的位置及类别。
进一步地,所述S2中的特征提取如下:
其中,
进一步地,所述S3中权重计算如下:
其中,
进一步地,所述卷积操作能够进一步提取语义信息,并将查询样本区域特征压缩到与候选框特征同一个语义空间。
进一步地,所述S4包括如下步骤:
S41,根据加权后的支持样本区域特征
其中,
使用生成的动态卷积核
其中,
S42,候选框生成,通过增强后的查询样本特征
进一步地,所述S42中对候选框进行的微调,是通过获取候选框的特征,经过三层的全连接网络后,并输出候选框的调整值(dx,dy,dh,dw),所述候选框的特征是候选框经过ROI Align操作后的特征,即查询样本区域特征
进一步地,所述S5中打分如下:
其中,
进一步地,所述S6中的整体损失函数:
其中,λ
其中,
其中,
进一步地,所述S6中的动态边距:
其中,
基于支持与查询样本的小样本目标检测系统,包括相互连接的图像获取装置和控制主机,所述控制主机包括依次连接的多层次特征提取器、查询样本引导的支持样本加权模块、支持样本引导的查询样本特征增强模块、多层次打分模块、混合损失函数模块;
所述多层次特征提取器,用于对获取的支持样本S和查询样本Q提取多层次的特征,分别得到支持样本、查询样本中,c类别标定框对应区域的特征,作为支持样本区域特征
所述查询样本引导的支持样本加权模块,通过度量每个支持样本区域特征
所述支持样本引导的查询样本特征增强模块,包括动态卷积核生成器、候选框生成和微调模块,动态卷积核生成器用于根据加权后的支持样本的区域特征
所述多层次打分模块,度量加权后的支持样本区域特征和候选框特征的相似度,进行打分,通过分数阈值,筛选候选框;
所述混合损失函数模块,通过对比类别c的候选框类别,使得目标检测系统能够区分前后景候选框,及区分不同的前景候选框,在以往的小样本目标检测方法中,往往存在两个问题:(1)假阳性问题,即如果查询样本中不存在支持样本类别c的物体,算法也会输出一些结果,这些输出就是假阳性结果;(2)前后景不平衡问题,在训练多层次打分模块的度量器的时候,大部分的候选框都是负样本,而类别c的正样本则非常少,造成了前后景不平衡的问题;为了解决上述问题,提出了混合损失模块,该模块融合的对比损失,动态边距和焦点损失函数,可以有效的解决上述两个问题。
本发明的优势和有益效果在于:
本发明小样本目标检测算法,可以应用在超市的结算系统,对用户商品进行检测和分类,以便快速统计出用户购买的商品的金额。如果使用传统的目标检测,则需要对超市的所有的商品提供大量的训练样本,才可以训练出较好的目标检测器。而如果使用本发明的小样本目标检测,则每个商品只需要提供少量(1-5张)样本,即可对该商品提供较好的检测效果,十分方便新商品的入库。
附图说明
图1是本发明的网络结构示意图。
图2是本发明中基于查询样本引导的支持样本加权示意图。
图3是本发明中动态卷积核生成器结构示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
本发明中,小样本目标检测问题的具体描述如下:与小样本图像分类类似,小样本目标检测的过程也是由一个个的轮次(episode)构成。在每个轮次中,我们首先随机选择一个类别c,以及K个c类别的支持样本S。在元训练阶段,我们需要训练检测器,使其可以根据提供的K个c类别的支持样本S从查询样本Q中检测出所有的c类别的物体。元测试阶段和元训练阶段类似,唯一的不同是元测试阶段,查询样本Q中的c类别物体的真实标定框是无法获取。所有的类别被划分为基类(可见类)和新类(未见类),其中基类用来训练,新类用来测试,基类和新类互不相交。在超市的自动结算系统中,支持样本为事先录入的商品的图片,查询样本为用户结算的时候的摄像头拍摄的照片。
本发明基于两阶段目标检测算法Faster-RCNN,在其基础上加入支持样本引导的查询特征增强模块,多层次打分模块,查询样本引导的支持样本加权模块,混合损失函数模块。本发明的技术方案具体介绍如下:
接下来的测试均采用resnet50作为卷积网络特征提取模块,并在ImageNet预训练的参数作为权重初始化。
如图1所示,一种基于支持与查询样本相互指导与混合损失函数的小样本目标检测方法,其步骤如下:
1、采样训练数据。在训练集中随机采样类别c,并在包含c类别的标定框的图像中随机采样出K张支持样本S和一张查询样本Q。本实施例中,K取值5。训练集为COCO 2017数据集中和PASCAL VOC中20个类不同的另外60个类的数据,测试集为COCO 2017中和PASCALVOC重合的20个类别的数据。
2、支持样本和查询样本特征提取。该步骤主要使用多层次特征提取器
上式中的
3、基于查询样本引导的支持样本加权。如图2所示,本发明中,使用查询样本引导的支持样本加权模块来对支持样本进行加权,并生成加权后的支持样本特征。在
上式中,
4、支持样本引导的查询特征增强。该过程使用支持样本引导的查询特征增强模块。包含以下步骤:
4.1首先,如图3所示,使用动态卷积核生成器
上式中,
上式中,
4.2候选框生成和微调。该步骤使用候选框生成和微调模块用来根据增强后的查询样本特征生成与类别c相关的候选框,并对候选框进行微调。
此处,候选框生成模块简称RPN,候选框微调简称CAR。CAR输入候选框的特征,经过三层的全连接网络后,并输出候选框的调整值(dx,dy,dh,dw)。此处,候选框的特征为候选框经过ROI Align后的固定尺寸的特征。此处,dx和dy用来调整候选框左上角的坐标,dh和dw用来调整高度和宽度。CAR是类别无关的,不区分不同的类别,所有的类别共享参数。训练时,每个图片都有ground truth的标定框,可以根据标定框和rpn输出的框框位置生成label,通过微调候选框的损失函数
5、候选框的打分和筛选。该步骤采用多层次打分模块对所有生成的候选框进行打分。记第j个候选框在所有层次的特征为
其中,
6、混合损失函数计算。
在训练过程中,得到筛选后的候选框后,将候选框与真实标定框进行比较,通过以下损失函数使得输出的候选框与真实标定框更接近,从而训练模型中的权值等参数;然后将训练好的模型用到超市的场景中,往该模型中输入查询样本,即可根据支持样本集合,得到查询样本中的所有目标的位置以及类别。
其中,前两个损失是RPN(候选框生成模块)的损失,分别为RPN的分类损失和回归损失。
混合损失函数主要解决假阳性和前后景不平衡问题。本发明通过融合对比损失、动态边距和焦点损失,来解决以上问题。
记
其整体为对比损失的形式,通过对比类别c的前景候选框和其他候选框,可以使得模型不仅仅学会区分前后景,也可以区分不同的前景,从而可以很好地解决假阳性问题。其中,
其中,
上式中的γ表示超参数,用来平衡不同的负样本项,
通过
通过混合对比损失,动态边距以及焦点损失,本发明提出的混合损失函数可以很好的解决假阳性问题和前后景不平衡问题。
一种基于支持与查询样本相互指导与混合损失函数的小样本目标检测系统,其包含以下模块:
1、摄像头
摄像头负责对用户购买的所有商品进行拍照。摄像头下面有一个工作台,用户将购买的所有商品铺开在工作台上,然后按下拍摄按键,摄像头完成拍照,并将拍摄好的照片传输到控制主机。摄像头和工作台之间的距离为1米。拍摄之前需要将商品平铺在工作台上,商品不能被其他商品遮挡。
2、控制主机
控制主机负责收集摄像头拍摄的照片,并对照片中铺开的商品应用本专利提出的小样本目标检测检测出每个商品的ID,并根据数据库中的商品信息,计算得到金额。控制主机运行本专利提出的小样本目标检测算法,该算法输入支持样本和当前摄像头拍摄得到的商品照片,输出摄像头拍摄到的商品照片中所有的商品位置标注框和商品的类别。控制主机运行的小样本目标检测算法,包含以下部件:
(1)多层次特征提取器。
多层次特征提取器
(2)支持样本引导的查询特征增强模块。
该模块包含以下几个子模块:动态卷积核生成器、候选框生成和微调模块。
动态卷积核生成器
候选框生成和微调模块用来根据增强后的查询样本特征生成与类别c相关的候选框,并对候选框进行微调。此处,本实施例使用区域提议网络来生成候选框,使用一个两层的全连接神经网络来实现候选框的微调。
(3)多层次打分模块。
多层次打分模块用来对生成的候选框进行打分和筛选。其输入每个候选框在不同的层次的特征,以及支持样本在不同的层次的特征,输出每个候选框的分数。该模块包含一个度量器
(4)查询样本引导的支持样本加权模块。
在以往的方法中,在K-shot设置下,对于c类的多个支持样本S,往往将他们的特征直接进行平均,以获得c类的支持特征。然而,直接进行特征平均的方法没有考虑到不同的支持样本对于当前查询样本的贡献度。本发明采用多层次打分模块的度量器,来度量每个支持样本对于查询样本的贡献度。
(5)混合损失函数模块。
在以往的小样本目标检测方法中,往往存在两个问题:1)假阳性问题。即如果查询样本中不存在支持样本类别c的物体,算法也会输出一些结果,这些输出就是假阳性结果。2)前后景不平衡问题。在训练多层次打分模块的度量器的时候,大部分的候选框都是负样本,而类别c的正样本则非常少,造成了前后景不平衡的问题。为了解决上述问题,提出了混合损失模块,该模块融合的对比损失,动态边距和焦点损失函数,可以有效的解决上述两个问题。
经过以上步骤,在查询样本中可以检测出所有的类别为c的物体。此处,在超市的自动结算系统中,每个类别为一个ID的商品。循环所有数据库中的商品,即可对所有的商品进行检测。
本申请还提供了以下验证试验,以进一步证明本申请的技术效果。
为了验证本方法的性能,在MS COCO数据集上进行训练和测试:
MS COCO数据集:其为目标检测基准数据集,一共包含了80个类别的标定物体,其中有20类也在PASCAL VOC数据集中出现。选取这公共的20类作为新类(未见类)用来测试,其余的60类作为基类(可见类)用来训练。
为了验证本方法的优越性,与以下几种现有的小样本目标检测方法对比:LSTD,Incremental,MetaYOLO,MetaDet,MetaRCNN,TFA,MPSR,Attention-RPN。其中,LSTD,TFA是基于微调的方法,其他则是基于元学习的方法。
在MS COOC数据集的实验结果:
表1:MS COCO数据集上的性能对比
如表1所示,列出了不同方法所采用的骨干网络。可见,本发明在使用Resnet-50的情况下就已经超过了SOTAs。如果使用Resnet-101作为骨干网络,本发明可以相对比Resnet-50带来进一步的提升,并且在AP,AP50,AP75指标上,分别超过SOTA 2.8%, 9.1%,1.1%。这些数据证明了本发明的有效性。此外,本发明在小体积的指标(AP
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
机译: 连续小样本图像的目标检测方法,装置和装置
机译: 基于虚拟和真正双胞胎空间的电力设备小样本的故障诊断方法和系统
机译: 基于金字塔技术的索引和查询的高光谱图像目标检测方法