一种基于语义特征和度量学习的小样本目标检测方法及系统与流程

专利2022-05-09  16


本发明属于图像检测技术领域,具体涉及一种基于语义特征和度量学习的小样本目标检测方法及系统。



背景技术:

深度学习模型在目标检测任务中取得了巨大的成功主要是因为深度神经网络可以从数据中学习更高级、更深层次的特征。然而深度学习模型严重依赖于大量的带标签数据,但人工数据标注费时费力、价格昂贵,并且在某些应用领域本来就没有足够的数据积累。深度学习在数据密集型的应用中达到了令人满意的效果,然而当带标签的数据样本很少时或数据集很小时,会受到阻碍。

基于度量学习的小样本目标检测模型的输入是查询-目标图像对,输出是目标图像中与查询图像相似的区域。模型在基类上训练时,查询图像与目标图像的标签都是已知的,训练的目的是学习查询图像和目标图像之间的相似性度量,与类别无关,然后在测试阶段直接将学习到的度量用到新类数据集上。基于度量学习的小样本目标检测模型的本质思想是学习目标图像中各候选框与查询图像之间在视觉域空间中的相似性度量。该类模型只关注候选框内前景对象的视觉域特征与查询图像的视觉域特征是否相似,不去关注待检测目标具体属于哪一类,与类别无关,查询图像的目标类别信息并没有被用到。因此,使用该类模型进行小样本目标检测,会出现不同类相似目标的错检问题和同类不相似目标的漏检的问题。

而类别所对应的语义域知识,如类别名称、类别属性等都是对一个类别的概括。不论目标之间在视觉域中存在多大的差异,对于同类的所有目标来说,其类别名称都是固定不变的;并且对于不同类目标来说,不论在视觉上多么接近,其类别名称都是有差异性的。零样本学习方法使用了视觉域与语义域两个域的信息,通过学习视觉域与语义域之间的联系,实现了给定新类语义域信息(类别属性、类别名称等),在没有视觉域图像数据的场景下对新类类对象的识别。因此,考虑到已有基于度量学习的模型存在的问题,结合零样本学习思想,本发明利用已有模型未用到的查询图像的类别名称作为语义知识,通过自然语言处理领域中word2vec工具计算每个类别名称对应的词向量,将其作为语义特征,设计合理的特征对齐模块,将语义特征嵌入到视觉特征中,实现知识传递,以获得更好、更丰富的查询图像的特征,进而提升检测结果。

目前基于度量学习的小样本目标检测方法主要通过学习目标图像中各候选框与查询图像之间的相似性度量,不论是在训练过程还是在测试过程,模型只关注候选框与查询图像是否为相似区域,而不去关注具体的类别。使用该类方法进行小样本目标检测,会出现不同类相似目标的错检问题和同类不相似目标的漏检的问题。



技术实现要素:

本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于语义特征和度量学习的小样本目标检测方法及系统,在训练过程中,通过利用基类中查询图像已知的类别标签作为语义知识,使用自然语言处理领域中的word2vec工具计算对应的语义特征,将该语义特征传递到视觉域空间中,与视觉域特征结合,得到包含类别语义信息的特征。通过引入该语义信息,拉大不同类目标之间的距离,缩小同类目标间的距离;解决同类目标外观可能差异太大,不同类目标外观可能差异太小所导致的错检、漏检的问题,提升在基类与新类数据上的检测精度。

本发明采用以下技术方案:

一种基于语义特征和度量学习的小样本目标检测方法,包括以下步骤:

s1、对类别集合c进行划分,根据类别划分得到基类类别与新类类别,并根据基类类别与新类类别将图像数据集划分为基类图像数据集与新类图像数据集;

s2、根据步骤s1得到的基类图像数据集和新类图像数据集分别构造形式为查询图像-目标图像的成对的基类数据集与新类数据集;

s3、根据步骤s1中划分的新类类别与基类类别得到类别对应的名称,将类别名称作为一个词语,计算类别名称对应的词向量作为语义空间特征vc,得到类别的语义空间特征集合;

s4、构造基于语义特征的知识传递模块a,给定查询图像的类别c,在步骤s3得到的语义空间特征集合中获取类别c对应的语义空间特征vc,与视觉空间特征f(x)进行级联,然后送入知识传递模块a的特征对齐网络中,将视觉空间特征与语义空间特征进行融合,输出融合语义信息后的特征f'(x)作为最终的查询图像的特征;

s5、使用fasterr-cnn作为检测模型的主框架,构造基于类别名称的知识传递与度量学习的小样本目标检测模型并进行训练,以fasterr-cnn为主框架的基于度量学习的小样本目标检测模型包括特征提取网络f、候选区域生成网络rpn、度量模块m,结合步骤s4的知识传递模块a构成基于类别名称的知识传递与度量学习的小样本目标检测模型;

s6、使用步骤s2构造的成对的基类数据集作为训练数据集,然后将查询-目标图像对、查询图像的类别名称与其对应的标签信息分批次输入步骤s5中构造的基于度量学习的小样本目标检测模型中进行训练,每批次大小为k;

s7、将步骤s2中构造的成对的新类数据集或基类数据集中成对的查询-目标图像对以及查询图像的类别名称输入步骤s6训练后的基于语义特征和度量学习的小样本目标检测模型中,得到对于新类或基类的检测结果,即在目标图像中找到与查询图像属于同类别的目标实例,完成检测任务。

具体的,步骤s1中,将coco2017数据集中的80个类别划分为4组,将包含三组类别作为基类,包含基类类别目标的图像组成基类数据集用于模型训练;将剩余一个类别作为新类,将包含剩余类别目标的图像组成新类数据集用于测试。

具体的,步骤s2中,对步骤s1中的新类数据集和基类数据集中所包含的图像,使用预训练好的maskr-cnn对图像中的目标进行过滤,然后只使用maskr-cnn检测出的标签信息训练,训练时随机选择一幅图像,然后获取对应图像上的目标的标签信息,根据位置标签进行裁剪缩放作为查询图像p,然后随机选择包含查询图像中目标类别的其它图像作为目标图像i,构造查询-目标图像对作为基于度量学习的小样本目标检测模型的输入。

具体的,步骤s3中,将属于基类类别与新类类别的类别名称看成一个词语,作为语义信息,输入到在百万数量级的词典和上亿的数据集上训练后的word2vec中得到对应词向量,视每一类得到的d维词向量vc为类别在语义空间中的语义特征,得到最终类别的语义特征集合fs={vc|c∈cb∪cn}。

具体的,步骤s4中,构造基于语义特征的知识传递模块,包括一个特征对齐网络;特征对齐网络使用一个可学习的全连接层构成,用于学习语义特征与视觉特征之间的融合关系,给定查询图像的类别c,在步骤s3得到的语义空间特征集合fs中获取类别c对应的语义空间特征vc,与查询图像对应的视觉空间特征f(p)进行级联,然后送入知识传递模块的特征对齐网络中,将视觉空间特征与语义空间特征进行融合,输出融合语义信息后的特征f'(p)作为最终的查询图像的特征。

具体的,步骤s5中,使用fasterr-cnn作为检测模型的主框架,构造基于类别名称的知识传递与度量学习的小样本目标检测模型并进行训练;

以fasterr-cnn为主框架的基于度量学习的小样本目标检测模型包括特征提取网络f、候选区域生成网络rpn、度量模块m,结合步骤s4中构造的基于知识传递的特征对齐模块a构成基于类别名称的知识传递与度量学习的小样本目标检测模型;采用resnet-50作为特征提取网络f的骨干网络,用于提取查询图像与目标图像的特征f(p)和f(i),候选区域生成网络rpn用于生成包含前景对象的候选框区域;度量模块m使用两层的mlp网络,并以softmax二分类为结尾;使用基于知识传递的特征对齐模块a将查询图像的语义知识传递到视觉空间中,根据步骤s4得到最终的查询图像特征f'(p),度量模块m的输入是经过roipooling后目标图像上每个候选框的特征和查询图像的特征f'(p),输出两者间的相似度,保留相似度最高的候选框作为检测结果。

进一步的,步骤s5中,构造目标检测损失函数l对基于语义特征和度量学习的小样本目标检测模型进行训练,目标检测损失函数l为:

其中,为fasterr-cnn中的交叉熵损失,为回归损失,为基于边界的排名损失。

具体的,步骤s6具体为:

s601、在步骤s2成对的构造的基类数据集中随机选择一对查询-目标图像对,目标图像为i,查询图像为p,并取查询图像对应标签信息中的类别名称cp作为语义知识;

s602、将目标图像i与查询图像p分别送入步骤s5构造的特征提取网络f中,得到对应的目标图像特征f(i)与查询图像特征f(p);

s603、根据查询图像p的类别名称cp在步骤s3中得到的语义特征集合fs={vc|c∈cb∪cn}中找到对应的特征向量vc;

s604、将目标图像特征f(i)作为rpn网络的输入,用rpn区域生成网络生成anchors,对anchors进行裁剪过滤,然后通过softmax对anchors进行二分类,判断属于前景或者后景,使用边界框回归修正anchors的位置信息;

s605、将步骤s604得到的anchors的位置信息映射到步骤s602得到的目标图像特征f(i),使用roipooling获取anchors对应的特征集合f(bboxesi);

s606、将步骤s603得到的语义特征向量vc与步骤s602得到的查询图像特征f(p)输入步骤s4构造的基于语义特征的知识传递模块中,得到最终融合类别语义信息的查询图像特征f'(p);

s607、将第i个候选框特征f(bboxesi)与步骤s606得到的查询图像特征f'(p)拼接在一起,送入步骤s5构造的度量模块m中,输出目标图像中第i个候选框特征与查询图像特征f'(p)的相似性分数;

s608、根据步骤s604得到的修正后anchors的位置信息、步骤s607得到的相似性分数与查询-目标图像对的标签信息,利用目标检测损失函数中的交叉熵损失和边框回归损失以及基于边界的排名损失对小样本目标检测模型进行联合训练。

具体的,步骤s7具体为:

s701、给定步骤s2中构造的成对的基类数据集或新类数据集中成对的查询-目标图像对,查询图像的标签信息已知,目标图像的标签信息不可用;记查询图像为p,目标图像为i,查询图像对应的类别名称为cp;

s702、将步骤s701得到的查询-目标图像对送入经过步骤s6训练后的基于语义特征与度量学习的小样本目标检测模型中的特征提取网络中,得到查询图像的特征f(p)与目标图像的特征f(i);

s703、根据查询图像p的类别名称cp在步骤s3中得到的语义特征集合fs={vc|c∈cb∪cn}找到对应的特征向量vc;

s704、将步骤s702得到的目标图像特征f(i)作为rpn区域生成网络的输入,用rpn区域生成网络生成目标图像中包含前景对象的候选框区域信息;

s705、将候选框信息映射到步骤s702得到的目标图像特征f(i),使用roipooling获取候选框集合对应的特征集合{f(bboxesi)};

s706、将步骤s703得到的语义特征向量vc与步骤s702得到的查询图像特征f(p)输入步骤s6训练后的模型中的基于语义特征的知识传递模块,得到最终融合了类别语义信息的查询图像的特征f'(p);

s707、在步骤s705得到的候选框特征集合{f(bboxesi)},取第i个候选框特征f(bboxesi)与查询图像特征f'(p)拼接在一起,送入度量模块中,输出目标图像中第i个候选框特征与查询图像特征f'(p)的相似性分数,遍历候选框特征集合,得到目标图像中所有候选框特征与查询图像特征的相似性分数集合;

s708、设置阈值为0.75,根据步骤s707得到的相似性分数集合,输出所有相似性分数高于阈值的目标图像中候选框位置信息与其相似性分数,候选框包含的前景对象与查询图像属于同一类,完成基于类别名称的知识传递与度量学习的小样本目标检测任务。

本发明的另一技术方案是,一种基于语义特征和度量学习的小样本目标检测系统,包括:

划分模块,对类别集合c进行划分,根据类别划分得到基类类别与新类类别,并根据基类类别与新类类别划分图像数据集为基类图像数据集与新类图像数据集;

数据模块,根据划分模块得到的基类图像数据集和新类图像数据集分别构造形式为查询图像-目标图像的成对的基类数据集与新类数据集;

特征模块,根据划分模块划分的新类类别与基类类别得到类别对应的名称,将类别名称作为一个词语,计算类别名称对应的词向量作为语义空间特征vc,得到类别的语义空间特征集合;

融合模块,构造基于语义特征的知识传递模块a,给定查询图像的类别c,在特征模块得到的语义空间特征集合中获取类别c对应的语义空间特征vc,与视觉空间特征f(x)进行级联,然后送入知识传递模块的特征对齐网络中,将视觉空间特征与语义空间特征进行融合,输出融合语义信息后的特征f'(x)作为最终的查询图像的特征;

网络模块,使用fasterr-cnn作为检测模型的主框架,构造基于类别名称的知识传递与度量学习的小样本目标检测模型并进行训练,以fasterr-cnn为主框架的基于度量学习的小样本目标检测模型包括特征提取网络f、候选区域生成网络rpn、度量模块m,结合融合模块中的知识传递模块a构成基于类别名称的知识传递与度量学习的小样本目标检测模型;

训练模块,使用数据模块构造的成对的基类数据集作为训练数据集,然后将查询-目标图像对、查询图像的类别名称与其对应的标签信息分批次输入网络模块中构造的基于度量学习的小样本目标检测模型中进行训练,每批次大小为k;

检测模块,将数据模块中构造的成对的新类数据集或基类数据集中成对的查询-目标图像对以及查询图像的类别名称输入训练模块训练后的基于语义特征和度量学习的小样本目标检测模型中,得到对于新类或基类的检测结果,即在目标图像中找到与查询图像属于同类别的目标实例,完成检测任务。

与现有技术相比,本发明至少具有以下有益效果:

本发明一种基于语义特征和度量学习的小样本目标检测方法,将查询图对应的类别语义名称作为知识,使用自然语言处理领域的word2vec工具计算对应的词向量作为语义特征,并与查询图的图像特征进行融合;由于基类和新类数据中查询图像的类别信息已知,基于语义特征的知识传递模块可以将查询图像对应类别在语义空间中的特征传递到视觉域空间中,丰富最终的查询图像的特征,使其包含潜在的语义知识,通过类别间语义知识的差异性和同类语义知识的一致性加大了不同类目标之间的距离,缩小了同类目标之间的距离,利用不同语义类别目标在语义空间中具有的语义差异性,增加不同类目标之间的距离,缓解现有基于度量学习的小样本目标检测模型出现的不同类别但外观视觉较相似目标的错检问题和相同语义类别但外观视觉差异较大的漏检的问题,提升基于度量学习的小样本检测模型在基类与新类上的检测精度。

进一步的,小样本学习的目的是利用大量的带标签样本数据对模型进行训练,使模型可以实现对仅有少量带标签的新的类别的数据进行识别。因此,根据小样本学习的设置要求,对类别集合c进行划分,根据类别划分得到用于基类类别与新类类别,并根据基类类别与新类类别划分图像数据集为基类图像数据集与新类图像数据集;使用基类数据集对检测模型进行训练,并利用训练后的检测模型实现在新类数据集上的检测。

进一步的,基于度量学习的小样本目标检测方法的输入为查询-目标图像对,输出为目标图像中与查询图像属于同类别的目标。因此,对s1中的新类数据集和基类数据集中包的图像,使用预训练好的maskr-cnn对图像中太小或遮挡太多的目标进行过滤。仅使用maskr-cnn可以检测出的目标的标签信息训练,训练时随机选择一幅图像,然后获取对应图像上的目标的标签信息,根据位置标签进行裁剪缩放作为查询图像p,然后随机选择包含查询图像中目标类别的其它图像作为目标图像i,构造查询-目标图像对作为基于度量学习的小样本目标检测模型的输入。

进一步的,在自然语言处理中,word2vec是一种用来产生词向量(wordembedding)的开源工具,由浅层的神经网络组成,通过在百万数量级的词典和上亿的数据集上高效地训练,可以将每个词映射到一个词向量上,这些词向量可以很好地度量词与词之间的相似性。为了得到类别名称在语义空间的特征向量,本发明使用自然语言处理中的word2vec工具。具体做法是,将类别名称看成一个词语,作为语义知识,输入到word2vec中得到其对应词向量,视得到的词向量为该类别在语义空间中的语义特征。根据步骤s1中划分的新类类别与基类类别得到类别对应的名称,将类别名称作为一个词语,计算类别名称对应的词向量作为语义空间特征vc,得到类别的语义空间特征集合;

进一步的,人类在学习新概念,新事物时,除了利用可以看到的视觉域中的图像数据外,也会联合使用文本描述等其他域的信息作为知识,以加深对一个类别的认识和了解。在语义空间中,同一个类别的语义名称是一致的、固定不变的;并且不同类别的语义名称是存在差异的。因此语义空间的信息对同类目标之间的识别和不同类别目标之间的区分是有帮助的,构造基于语义特征的知识传递模块a。给定查询图像的类别c,在步骤s3得到的语义空间特征集合中获取类别c对应的语义空间特征vc,与视觉空间特征f(x)进行级联,然后送入知识传递模块的特征对齐网络中,将视觉空间特征与语义空间特征进行融合,输出融合语义信息后的特征f'(x)作为最终的查询图像的特征;在训练过程中可以指导模型在学习相似性度量时除了关注视觉域特征外,也可以关注到具体的类别信息,以更好地完成检测任务。

进一步的,fasterr-cnn为二阶段检测模型,首先根据网络提取的特征生成一系列的可能包含目标的候选区域,在这一阶段只判断候选区域为前景对象还是背景,然后再对这些候选区域进行细粒度的具体类别的分类与位置回归,完成检测任务。使用fasterr-cnn作为检测模型的主框架,构造基于度量学习的小样本目标检测模型;该模型包括特征提取网络f、候选区域生成网络rpn和度量模块m;采用resnet-50作为特征提取模块的骨干网络,用于提取查询图像与目标图像的特征f(p)和f(i),候选区域生成网络rpn用于生成包含前景对象的候选框区域;度量模块m使用两层的mlp网络,并以softmax二分类为结尾;为将语义空间的特征与视觉空间的特征联合起来。结合步骤s4构造的基于知识传递的特征对齐模块a,该模块实现了将语义域信息作为先验知识,嵌入到视觉域特征中,使最终得到的特征f(p')不仅包括视觉域的图像特征,还包括其语义域的语义特征,丰富查询图像在视觉空间中的特征f(p)。度量模块m的输入是经过roipooling后目标图像上每个候选框的特征和查询图像的特征f'(p),输出两者间的相似度,保留相似度高的候选框作为检测结果。

进一步的,基于度量学习的小样本检测任务的目的为在目标图像中找到与查询图像属于一类的目标,并对其进行识别与定位,因此,利用目标检测损失函数对小样本目标检测模型进行联合训练。实现对目标的定位,为了更好地隐式学习目标图像中前景对象特征与查询图像目标特征之间的相似性度量,以预测其相似性,采用基于边界的排名损失λ为0.1。损失可以拉大不同类之间的距离,将除目标外的其它前景对象与背景全部认为是负样本。通过这种做法可以更好地突出目标所在的位置。

进一步的,为了让模型可以实现基于度量学习的目标检测任务,使用步骤s2构造的成对的基类数据集作为训练数据集,对于每批作为输入的查询-目标图像对,提取图像对中查询图像的类别名称,在步骤s3得到的语义特征集合中找到该类别名称对应的语义特征,然后将图像对、查询图像对应的语义特征与对应的标签信息分批次输入步骤s5中构造的基于类别名称的知识传递与度量学习的小样本目标检测模型中进行训练,每批次大小为k。

进一步的,基于语义特征和度量学习的小样本目标检测的目的是通过使用大量成对的基类数据集与基类类别名称对应的语义特征训练目标检测模型,让模型根据成对基类数据集与基类的类别名称对应的语义特征,学习到语义特征与视觉特征之间的联系和查询图像与目标图像中各区域的相似性度量,进而实现在成对的新类数据集上的目标检测任务;因此,将步骤s2中构造的成对的新类数据集或基类数据集中成对的查询-目标图像对以及查询图像的类别名称输入s6训练后的基于语义特征和度量学习的小样本目标检测模型中,得到对于新类或基类的检测结果,即在目标图像中找到与查询图像属于同类别的目标实例,完成检测任务。

综上所述,本发明通过将查询图像的类别名称作为语义知识,使用word2vec计算出其对应的词向量作为语义特征,然后将语义特征使用特征对齐网络传递到视觉域特征中,使查询图像对应的目标特征包含潜在的类别语义信息。通过引入该语义信息,拉大不同类目标之间的距离,缩小同类目标间的距离。实验结果证明该发明在一定程度上解决了同类目标外观可能差异太大,不同类目标外观可能差异太小所导致的错检、漏检的问题,提升了在基类与新类数据上的检测精度。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

图1为本发明中基于语义特征和度量学习的小样本目标检测方法框架图;

图2为本发明中基于知识传递的特征对齐网络示意图;

图3为本发明中不同类别在视觉域空间和语义域空间的示意图;

图4为本发明中基于语义特征的小样本目标检测任务设定示意图;

图5为本发明中coco数据集划分图;

图6为实验结果对比示例图,其中,(a)为查询图像;(b)为已有的基于度量学习的coae模型的检测结果,(c)为增加本发明所提出的基于类别名称的知识传递方法的实验结果;

图7为实验结果对比示例图,其中,(a)为查询图像;(b)为已有的基于度量学习的coae模型的检测结果,(c)为增加本发明所提出的基于语义特征的知识传递方法的实验结果。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

在附图中示出了根据本发明公开实施例的各种结构示意图。这些图并非是按比例绘制的,其中为了清楚表达的目的,放大了某些细节,并且可能省略了某些细节。图中所示出的各种区域、层的形状及它们之间的相对大小、位置关系仅是示例性的,实际中可能由于制造公差或技术限制而有所偏差,并且本领域技术人员根据实际所需可以另外设计具有不同形状、大小、相对位置的区域/层。

本发明提供了一种基于语义特征和度量学习的小样本目标检测方法,

将查询图对应的类别语义名称作为知识,使用自然语言处理领域的word2vec工具计算对应的词向量作为语义特征,并与查询图的图像特征进行融合;采用基于语义特征的知识传递模块,利用语义知识在同类目标的语义一致性与不同类目标的语义差异性,使用特征对齐网络学习将语义特征嵌入到视觉特征中,实现知识传递,以获得更好、更丰富的查询图像的特征,提升在基类与新类数据上的检测精度。

请参阅图1,本发明一种基于语义特征和度量学习的小样本目标检测方法,包括以下步骤:

s1、对类别集合c进行划分,根据类别划分得到基类类别与新类类别,并根据基类类别与新类类别划分图像数据集为基类图像数据集与新类图像数据集;

将coco2017数据集中的80个类别划分为4组,将包含某三组类别作为基类,其包含基类类别的目标的图像组成基类数据集全部用于模型训练,b为基类,mb为基类图像的数量;将剩余一个类别作为新类,将包含剩余类别目标的图像组成新类数据集仅用于测试。xm∈rn×n,r表示实数域,ym={(cj,ij),j=1,...,nm},cj为图像xm中包含的第j个目标的类别信息,ij为其位置信息。

s2、构造“查询-目标”图像对作为基于度量学习的小样本目标检测模型的输入;

请参阅图2,对s1中划分基类数据集和新类数据集中的图像分别构造形式为“查询图像-目标图像”的成对的数据集,假定目标图像中至少包含一个与查询图像属于同一类别的实例对象;对于基类数据来说,查询图像与目标图像的标签信息均可用,而对于新类数据来说,只有查询图像中的标签信息可用。

对s1中的新类数据集和基类数据集中所包含的图像,使用预训练好的maskr-cnn对图像中太小或遮挡太多的目标进行过滤。仅使用maskr-cnn可以检测出的目标的标签信息训练,训练时随机选择一幅图像,然后获取对应图像上的目标的标签信息,根据位置标签进行裁剪缩放作为查询图像p,然后随机选择包含查询图像中目标类别的其它图像作为目标图像i,构造查询-目标图像对作为基于度量学习的小样本目标检测模型的输入。

s3、根据步骤s1中划分的新类类别与基类类别,得到类别对应的名称,将类别名称作为一个词语,计算类别名称对应的词向量作为语义空间中的语义特征,得到类别的语义特征集合;

根据步骤s1中划分的新类类别与基类类别,得到类别对应的名称,将类别名称看成一个词语,作为语义信息,输入到在百万数量级的词典和上亿的数据集上高效地训练后的word2vec中得到其对应词向量,视每一类得到的d维词向量vc为类别在语义空间中的语义特征,得到最终类别的语义特征集合fs={vc|c∈cb∪cn}。

s4、构造基于语义特征的知识传递模块a。给定查询图像p的类别c,在步骤s3得到的语义空间特征集合中获取类别c对应的语义空间特征vc,与视觉空间特征f(p)进行级联,然后送入知识传递模块的特征对齐网络中,将视觉空间特征与语义空间特征进行融合,输出融合语义信息后的特征f'(p)作为最终的查询图像的特征;

请参阅图2,基于语义特征的知识传递模块是一个可调节的嵌入模块,由一个特征对齐网络组成,具体为:

s401、构造基于语义特征的知识传递模块a,由一个特征对齐网络组成,是一个可调节的嵌入模块;

s402、使用一个可学习的全连接层构成特征对齐网络,并对其进行随机初始化;

s403、将语义空间的特征vc与视觉空间的特征f(p)进行级联作为输入,送入特征对齐网络中,实现视觉空间特征与语义空间特征的融合,输出融合了语义信息后的特征f'(p)。

请参阅图3,可以看出,在语义空间中,对同一个类别的语义描述是固定不变的,并且不同类别的语义描述是不同的。不论同类内目标之间外观的差异多大,其语义特征时一致的,而不论类间目标之间外观的差异多小,其语义特征时不同的。通过本发明提出的基于类别名称的知识传递方法,引入查询图像的类别名称作为先验知识,并将该先验知识传递到视觉空间中,就可以指导模型在学习相似性度量时除了关注视觉空间特征外,也可以关注到具体的类别信息,以缩小同类目标之间的距离,拉大不同类目标之间的距离,更好地完成检测任务。

s5、使用fasterr-cnn作为检测模型的主框架,构造基于类别名称的知识传递与度量学习的小样本目标检测模型并进行训练。

请参阅图1,具体为:

首先,构造基于度量学习的小样本目标检测模型,以fasterr-cnn为主框架的基于度量学习的小样本目标检测模型包括特征提取网络f、候选区域生成网络rpn、度量模块m;然后结合步骤s4中构造的基于知识传递的特征对齐模块a构成基于类别名称的知识传递与度量学习的小样本目标检测模型;

其中,采用resnet-50作为特征提取网络f的骨干网络,用于提取查询图像与目标图像的特征f(p)和f(i),resnet-50网络的参数对于查询图像与目标图像共享。候选区域生成网络rpn用于生成包含前景对象的候选框区域;度量模块m使用两层的mlp网络,并以softmax二分类为结尾;使用基于知识传递的特征对齐模块a将查询图像的语义知识传递到视觉空间中,根据步骤s5得到最终的查询图像特征f'(p),度量模块m的输入是经过roipooling后目标图像上每个候选框的特征和查询图像的特征f'(p),输出两者间的相似度,保留相似度高的候选框作为检测结果。

对基于语义特征和度量学习的小样本目标检测模型进行训练,训练损失具体为:

构造目标检测损失函数l,目标检测损失函数l的优化目标为:

其中,为fasterr-cnn中的交叉熵损失,为回归损失,λ为0.1,为基于边界的排名损失,具体为:

其中,m =0.7为前景的下限,m-=0.3为背景的上限。该损失的前半部分限制了前景和背景的置信度,增强目标图像中前景对象的特征;后半部分是ranking排序的损失,该损失并没有真正的设定排名的先后顺序,只是要求同类别的样本之间的置信度要小于0.3,而不同类别之间的置信度要大于0.7,限制了类别间的置信度。z为目标图像经过rpn网络后得到的anchors的数量,计算z个候选框的iou,若大于0.5则分为前景,其标签yi=1;若小于0.5,则将其分为背景,标签yi=0。目标图像中第i个候选框特征f(bboxi)与查询图像特征f(p')进行级联得到的特征向量。否则置为0。s=m(x)为度量网络m输出每个候选框为前景的预测概率值

s6、使用步骤s2构造的成对的基类数据集中成对的“查询-目标”图像对作为训练数据集,然后将查询-目标图像对、查询图像的类别名称与其对应的标签信息分批次输入步骤s5中构造的基于度量学习的小样本目标检测模型中进行训练,每批次大小为k;

请参阅图1,具体为:

s601、在步骤s2构造的基类“查询-目标”图像对集合中随机选择一对“查询-目标”图像对,目标图像为i,查询图像为p,并取查询图像对应标签信息中的类别名称cp作为语义知识;

s602、将目标图像i与查询图像p分别送入步骤s5构造的构造基于类别名称的知识传递与度量学习的小样本目标检测模型中的预训练好的特征提取网络f中得到对应的目标图像特征f(i)与查询图像特征f(p);

s603、根据查询图像p的类别名称cp在步骤s3中得到的语义特征集合fs={vc|c∈cb∪cn}找到其对应的特征向量vc;

s604、将目标图像特征f(i)作为rpn网络的输入,用rpn区域生成网络生成一堆anchors,对anchors进行裁剪过滤,然后通过softmax对anchors进行二分类,判断其属于前景(foreground)或者后景(background),即是物体或者不是物体,利用并使用边界框回归修正anchors的位置信息;

s605、将步骤s604得到的anchors的位置信息映射到步骤s602得到的目标图像特征f(i),使用roipooling获取anchors对应的特征集合f(bboxesi);

s606、将步骤s603得到的语义特征向量vc与步骤s602得到的查询图像特征f(p)输入步骤s4中构造的基于语义特征的知识传递模块a中,得到最终融合类别语义信息的查询图像特征f'(p);

s607、将第i个候选框特征f(bboxesi)与步骤s606得到的查询图像特征f'(p)拼接在一起,送入步骤s5构造的基于类别名称的知识传递与度量学习的小样本目标检测模型中的度量模块m中,输出目标图像中第i个候选框特征与查询图像特征f'(p)的相似性分数;

s608、根据s604得到的修正后anchors的位置信息、s607得到的相似性分数与查询-目标图像对的标签信息,利用目标检测损失函数中的交叉熵损失和边框回归损失以及基于边界的排名损失对小样本目标检测模型进行联合训练。

s7、将步骤s2中构造的成对的新类数据集或基类数据集中成对的“查询-目标”图像对以及查询图像的类别名称输入步骤s6训练后的基于语义特征和度量学习的小样本目标检测模型中,得到对于新类或基类的检测结果,即在目标图像找到与查询图像属于同类别的目标实例,完成检测任务。

请参阅图4,具体步骤如下:

s701、给定步骤s2中构造的成对的基类数据集或新类数据集中成对的查询-目标图像对,查询图像的标签信息已知,目标图像的标签信息不可用;记查询图像为p,目标图像为i,查询图像对应的类别名称为cp;

s702、将步骤s701得到的查询-目标图像对送入经过步骤s6训练后的基于语义特征与度量学习的小样本目标检测模型中的特征提取网络中,得到查询图像的特征f(p)与目标图像的特征f(i);

s703、根据查询图像p的类别名称cp在步骤s3中得到的语义特征集合fs={vc|c∈cb∪cn}找到对应的特征向量vc;

s704、将步骤s702得到的目标图像特征f(i)作为rpn区域生成网络的输入,用rpn区域生成网络生成目标图像中可能包含前景对象的候选框区域信息,即anchors信息;

s705、将候选框信息映射到步骤s702得到的目标图像特征f(i),使用roipooling获取候选框集合对应的特征集合{f(bboxesi)};

s706、将步骤s703得到的语义特征向量vc与步骤s702得到的查询图像特征f(p)输入步骤s6训练后的模型中的基于语义特征的知识传递模块,得到最终融合了类别语义信息的查询图像的特征f'(p);

s707、在步骤s705得到的候选框特征集合{f(bboxesi)},取第i个候选框特征f(bboxesi)与查询图像特征f'(p)拼接在一起,送入度量模块中,输出目标图像中第i个候选框特征与查询图像特征f'(p)的相似性分数;遍历候选框特征集合,得到目标图像中所有候选框特征与查询图像特征的相似性分数集合。

s708、设置阈值为0.75,根据s707得到的相似性分数集合,输出所有相似性分数高于阈值的目标图像中候选框位置信息与其相似性分数,认为这些候选框所包含的前景对象与查询图像属于同一类,完成基于类别名称的知识传递与度量学习的小样本目标检测任务。

本发明再一个实施例中,提供一种基于语义特征和度量学习的小样本目标检测系统,该系统能够用于实现上述基于语义特征和度量学习的小样本目标检测方法,具体的,该基于语义特征和度量学习的小样本目标检测系统包括划分模块、数据模块、特征模块、融合模块、网络模块、训练模块以及检测模块。

其中,划分模块,对类别集合c进行划分,根据类别划分得到基类类别与新类类别,并根据基类类别与新类类别划分图像数据集为基类图像数据集与新类图像数据集;

数据模块,根据划分模块得到的基类图像数据集和新类图像数据集分别构造形式为查询图像-目标图像的成对的基类数据集与新类数据集;

特征模块,根据划分模块划分的新类类别与基类类别得到类别对应的名称,将类别名称作为一个词语,计算类别名称对应的词向量作为语义空间特征vc,得到类别的语义空间特征集合;

融合模块,构造基于语义特征的知识传递模块a,给定查询图像的类别c,在特征模块得到的语义空间特征集合中获取类别c对应的语义空间特征vc,与视觉空间特征f(x)进行级联,然后送入知识传递模块的特征对齐网络中,将视觉空间特征与语义空间特征进行融合,输出融合语义信息后的特征f'(x)作为最终的查询图像的特征;

网络模块,使用fasterr-cnn作为检测模型的主框架,构造基于类别名称的知识传递与度量学习的小样本目标检测模型并进行训练,以fasterr-cnn为主框架的基于度量学习的小样本目标检测模型包括特征提取网络f、候选区域生成网络rpn、度量模块m,结合融合模块中的知识传递模块a构成基于类别名称的知识传递与度量学习的小样本目标检测模型;

训练模块,使用数据模块构造的成对的基类数据集作为训练数据集,然后将查询-目标图像对、查询图像的类别名称与其对应的标签信息分批次输入网络模块中构造的基于度量学习的小样本目标检测模型中进行训练,每批次大小为k;

检测模块,将数据模块中构造的成对的新类数据集或基类数据集中成对的查询-目标图像对以及查询图像的类别名称输入训练模块训练后的基于语义特征和度量学习的小样本目标检测模型中,得到对于新类或基类的检测结果,即在目标图像中找到与查询图像属于同类别的目标实例,完成检测任务。

本发明再一个实施例中,提供了一种终端设备,该终端设备包括处理器以及存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器用于执行所述计算机存储介质存储的程序指令。处理器可能是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor、dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其是终端的计算核心以及控制核心,其适于实现一条或一条以上指令,具体适于加载并执行一条或一条以上指令从而实现相应方法流程或相应功能;本发明实施例所述的处理器可以用于基于语义特征和度量学习的小样本目标检测方法的操作,包括:

对类别集合c进行划分,根据类别划分得到基类类别与新类类别,并根据基类类别与新类类别将图像数据集划分为基类图像数据集与新类图像数据集;根据基类图像数据集和新类图像数据集分别构造形式为查询图像-目标图像的成对的基类数据集与新类数据集;根据划分的新类类别与基类类别得到类别对应的名称,将类别名称作为一个词语,计算类别名称对应的词向量作为语义空间特征vc,得到类别的语义空间特征集合;构造基于语义特征的知识传递模块a,给定查询图像的类别c,在语义空间特征集合中获取类别c对应的语义空间特征vc,与视觉空间特征f(x)进行级联,然后送入知识传递模块a的特征对齐网络中,将视觉空间特征与语义空间特征进行融合,输出融合语义信息后的特征f'(x)作为最终的查询图像的特征;使用fasterr-cnn作为检测模型的主框架,构造基于类别名称的知识传递与度量学习的小样本目标检测模型并进行训练,以fasterr-cnn为主框架的基于度量学习的小样本目标检测模型包括特征提取网络f、候选区域生成网络rpn、度量模块m,结合知识传递模块a构成基于类别名称的知识传递与度量学习的小样本目标检测模型;使用成对的基类数据集作为训练数据集,然后将查询-目标图像对、查询图像的类别名称与其对应的标签信息分批次输入基于度量学习的小样本目标检测模型中进行训练,每批次大小为k;将成对的新类数据集或基类数据集中成对的查询-目标图像对以及查询图像的类别名称输入训练后的基于语义特征和度量学习的小样本目标检测模型中,得到对于新类或基类的检测结果,即在目标图像中找到与查询图像属于同类别的目标实例,完成检测任务。

本发明再一个实施例中,本发明还提供了一种存储介质,具体为计算机可读存储介质(memory),所述计算机可读存储介质是终端设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括终端设备中的内置存储介质,当然也可以包括终端设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了终端的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速ram存储器,也可以是非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。

可由处理器加载并执行计算机可读存储介质中存放的一条或一条以上指令,以实现上述实施例中有关基于语义特征和度量学习的小样本目标检测方法的相应步骤;计算机可读存储介质中的一条或一条以上指令由处理器加载并执行如下步骤:

对类别集合c进行划分,根据类别划分得到基类类别与新类类别,并根据基类类别与新类类别将图像数据集划分为基类图像数据集与新类图像数据集;根据基类图像数据集和新类图像数据集分别构造形式为查询图像-目标图像的成对的基类数据集与新类数据集;根据划分的新类类别与基类类别得到类别对应的名称,将类别名称作为一个词语,计算类别名称对应的词向量作为语义空间特征vc,得到类别的语义空间特征集合;构造基于语义特征的知识传递模块a,给定查询图像的类别c,在语义空间特征集合中获取类别c对应的语义空间特征vc,与视觉空间特征f(x)进行级联,然后送入知识传递模块a的特征对齐网络中,将视觉空间特征与语义空间特征进行融合,输出融合语义信息后的特征f'(x)作为最终的查询图像的特征;使用fasterr-cnn作为检测模型的主框架,构造基于类别名称的知识传递与度量学习的小样本目标检测模型并进行训练,以fasterr-cnn为主框架的基于度量学习的小样本目标检测模型包括特征提取网络f、候选区域生成网络rpn、度量模块m,结合知识传递模块a构成基于类别名称的知识传递与度量学习的小样本目标检测模型;使用成对的基类数据集作为训练数据集,然后将查询-目标图像对、查询图像的类别名称与其对应的标签信息分批次输入基于度量学习的小样本目标检测模型中进行训练,每批次大小为k;将成对的新类数据集或基类数据集中成对的查询-目标图像对以及查询图像的类别名称输入训练后的基于语义特征和度量学习的小样本目标检测模型中,得到对于新类或基类的检测结果,即在目标图像中找到与查询图像属于同类别的目标实例,完成检测任务。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中的描述和所示的本发明实施例的组件可以通过各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

下面结合仿真图对本发明的效果做进一步的描述

1.仿真条件

本发明仿真的硬件条件为:智能感知与图像理解实验室图形工作站,使用的gpu是nvidiageforcegtx1080ti,其显存为12g;并采用2个10核的cpu:intelxeone5-2360v4,主频是2.20ghz,内存是64gb。

本发明仿真所用数据集为coco2017数据集,coco2017数据集包含80个类别。根据基于度量学习的小样本目标检测的任务设置,需要将数据集划分为基类与新类,并且两者间类别不相交。因此,为了方便与其他主流方法进行对比,请参阅图5,将coco2017数据集划分为4组,若其中一组作为新类用于测试,则其他三组作为基类用于训练。

2.仿真内容与结果

用本发明方法在上述仿真条件下进行实验,利用coco2017数据集中划分为基类的“查询-目标”图像对和查询图像的类别名称学习查询图像与目标图像中包含的各前景对象之间的相似性度量、语义特征的传递,然后给定新类目标的查询图像、目标图像以及查询图像的类别名称,将学习到的相似性度量、语义知识的传递应用到少量带标签样本的新类数据上,实现小样本学习场景下的目标检测任务。

将本发明所提出的基于语义特征的知识传递模块添加至现有基于度量学习的主流方法中进行比较,结果如表1所示:

表1

从表1的结果看本发明的方法在基类和新类上的目标检测精度上都取得了一定的提升。

考虑到特征对齐模块虽然其语义特征向量作为固定权重,但相比于之前的基于度量学习的检测模型还是增加了一层卷积层。因此,为验证本发明所提出的将语义名称作为先验知识的有效性,在之前的模型的基础上增加了一层以保持与本章提出的模型同等的参数量,该层的参数使用词向量进行初始化,并随着网络的训练进行更新。对比实验结果如表2,可以看出,网络的加深对检测精度只带来0.1~0.2的提升,其提升程度远远小于本发明所引入的语义特征对检测精度带来0.2~0.4的提升。证明了本方法所取得的提升并不是因为网络的加深,说明了引入类别名称的词向量作为语义特征的可行性。

表2

请参阅图6,对比图6(b)、图6(c)的实验结果可以发现,本发明所提出的方法对于狗、人等类别内不同目标间存在较大的外观差异的类别的检测结果有一定的提升。具体原因是即使属于同类的目标在视觉域差距很大,但其类别名称在语义域是一致的,这种语义空间中的语义特征的一致性可以缩小同类目标在视觉域特征空间中的不相似性。

请参阅图7,对比图7(b)、图7(c)的实验结果可以发现,本发明所提出的方法对于在视觉域颜色、姿势等外观信息较为接近的不同类别的检测精度有一定的提升。具体原因是即使属于不同类别的目标在视觉域内很接近,但其类别名称在语义域是有区别的,对应的语义特征是不同的,这种差距可以增加不同类别目标在视觉域特征空间中的不相似性。

综上所述,本发明一种基于语义特征和度量学习的小样本目标检测方法及系统,通过将查询图像的类别名称作为语义知识,使用word2vec计算出其对应的词向量作为语义特征,然后将语义特征使用特征对齐网络传递到视觉域特征中,使查询图像对应的目标特征包含潜在的类别语义信息。通过引入该语义特征,增加不同类目标之间的距离,减小同类目标间的距离。在一定程度上解决了同类目标外观可能差异太大,不同类目标外观可能差异太小所导致的错检、漏检的问题,提升了在基类与新类数据上的检测精度。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。

转载请注明原文地址:https://doc.8miu.com/read-250441.html

最新回复(0)