本发明涉及机器学习技术领域,尤其涉及一种基于深度学习的零样本图像目标检测方法和装置。
背景技术:
深度学习技术的迅速发展与大规模类别的标注数据推动了计算机视觉任务的发展与进步,包括图像识别、目标检测与图像分割。其中,目标检测技术作为计算机视觉任务中一个有着广泛适用范围和需求的基础任务,受到了广泛的关注。然而,传统的目标检测只能检测已知类别的物体,不能检测未知类别的物体,这严重限制了其易用性和通用性。
在此基础上,提出了零样本目标检测的概念。零样本目标检测旨在根据提供的描述性信息把数据匹配到对应的描述上,从而实现未知类别的分类。零样本目标检测既可以对已知类别的物体进行检测,还可以对未知类别的物体进行检测,解决了传统的目标检测不能检测未知类别的物体的缺陷。
但是,现有的零样本目标检测方法大多使用传统的目标检测框架寻找物体,而后将描述性信息和物体信息嵌入到语义空间进行匹配和分类,此种方法需有监督地训练检测器,而制作带标签的训练数据耗时费力;且检测物体时未用到描述性信息,缺乏目的性,容易过拟合于训练集,召回率低。
技术实现要素:
本发明提供一种基于深度学习的零样本图像目标检测方法和装置,用以解决现有技术中制作带标签的训练数据进行训练耗时费力,且检测物体时缺乏目的性的问题。
本发明提供一种基于深度学习的零样本图像目标检测方法,包括:
给出待检测图像和目标描述文本;
将所述待检测图像和目标描述文本输入至文本语义引导检测模型,得到所述文本语义引导检测模型输出的目标检测结果;
所述文本语义引导检测模型是基于图块语义引导检测模型导出的;
所述文本语义引导检测模型编码的文本语义特征与所述图块语义引导检测模型编码的图块语义特征匹配,所述文本语义特征对应的描述文本与所述图块语义特征对应的图块表征同一目标。
根据本发明提供的一种基于深度学习的零样本图像目标检测方法,所述文本语义引导检测模型是基于如下步骤组合确定的:
将所述图块语义引导检测模型中的图块语义编码层替换为文本语义编码层,得到所述文本语义引导检测模型;
所述图块语义编码层用于编码目标检测图块的图块语义特征,所述文本语义编码层用于编码所述目标描述文本的文本语义特征,所述图块语义编码层和所述文本语义编码层构成视觉语义编码器结构;
所述视觉语义编码器用于计算所述图块语义特征和所述文本语义特征之间的距离,并基于计算所得的结果对所述目标检测图块和所述目标描述文本进行匹配。
根据本发明提供的一种基于深度学习的零样本图像目标检测方法,所述文本语义引导检测模型包括图像编码层、文本语义编码层和语义引导检测层,所述图块语义引导检测模型包括所述图像编码层、图块语义编码层和所述语义引导检测层;
所述语义引导检测层在所述文本语义引导检测模型中基于所述文本语义编码层输出的文本语义特征,利用所述图像编码层输出的图像特征进行目标检测;
所述语义引导检测层在所述图块语义引导检测模型中基于所述图块语义编码层输出的图块语义特征,利用所述图像编码层输出的图像特征进行目标检测。
根据本发明提供的一种基于深度学习的零样本图像目标检测方法,所述语义引导检测层具体用于:
通过多头注意力机制融合语义引导特征和初始位置特征,并基于融合所得的特征进行目标检测;
所述语义引导特征在所述文本语义引导检测模型中为所述文本语义特征,在所述图块语义引导检测模型中为所述图块语义特征。
根据本发明提供的一种基于深度学习的零样本图像目标检测方法,所述文本语义引导检测模型是基于clip架构和detr架构构建的。
本发明还提供一种基于深度学习的零样本图像目标检测装置,包括:
确定单元,用于给出待检测图像和目标描述文本;
检测单元,用于将所述待检测图像和目标描述文本输入至文本语义引导检测模型,得到所述文本语义引导检测模型输出的目标检测结果;所述文本语义引导检测模型是基于图块语义引导检测模型导出的;所述文本语义引导检测模型编码的文本语义特征与所述图块语义引导检测模型编码的图块语义特征匹配,所述文本语义特征对应的描述文本与所述图块语义特征对应的图块表征同一目标。
本发明提供的基于深度学习的零样本图像目标检测方法和装置,在图块语义引导检测模型基础上,导出文本语义引导检测模型;将待检测图像和目标描述文本输入至文本语义引导检测模型,得到文本语义引导检测模型输出的目标检测结果,解决了制作带标签的训练数据进行训练耗时费力,且检测物体时缺乏目的性的问题;提高了基于深度学习的零样本图像目标检测方法的可复用性和通用性,降低了模型的复杂度,能够有目的的进行目标检测,提高了召回率。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于深度学习的零样本图像目标检测方法的流程示意图之一;
图2是本发明提供的视觉语义编码器的结构示意图;
图3是本发明提供的基于深度学习的零样本图像目标检测方法的流程示意图之二;
图4是本发明提供的图块语义引导检测模型的结构示意图;
图5是本发明提供的文本语义引导检测模型的结构示意图;
图6是本发明提供的基于深度学习的零样本图像目标检测装置的结构示意图;
图7是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,传统的机器学习技术只能识别已知类别的物体,不能识别未未知类别的物体。而零样本目标检测能够根据随机给出的描述性信息,对场景中无论是已知类别,还是未知类别的物体进行检测。零样本目标检测旨在根据提供的描述性信息把数据匹配到对应的描述上,从而实现未见类别的分类。
目标检测是计算机视觉的基础任务,它既需要找到物体在图像中的位置,也要对物体进行分类。然而传统的目标检测只能检测已知类别的物体,且需要大量的标注,耗时费力,严重限制了其易用性和通用性。
针对上述情况,本发明提供一种基于深度学习的零样本图像目标检测方法,图1是本发明提供的基于深度学习的零样本图像目标检测方法的流程示意图之一,如图1所示,该方法包括:
步骤110,给出待检测图像和目标描述文本。
此处,待检测图像即需进行目标检测的图像,待检测图像可以是各个类型的图像,待检测图像可以是风景图像,也可以是人物图像,本发明实施例对此不作具体限定。
目标描述文本为描述待检测图像中需要检测的目标的文本,目标描述文本与待检测图像中的目标对应。例如,检测目标为苹果,待检测图像中包含有苹果的图像,目标描述文本可以是“红色果实”。
步骤120,将待检测图像和目标描述文本输入至文本语义引导检测模型,得到文本语义引导检测模型输出的目标检测结果;
文本语义引导检测模型是基于图块语义引导检测模型导出的;
文本语义引导检测模型编码的文本语义特征与图块语义引导检测模型编码的图块语义特征匹配,文本语义特征对应的描述文本与图块语义特征对应的图块表征同一目标。
此处的文本语义引导检测模型即在目标描述文本所表征的文本语义引导下对待检测图像进行目标检测的模型。目标检测结果为待检测图像中目标描述文本所描述的目标的检测结果,例如待检测图像中的目标检出框的大小和位置。
文本语义引导检测模型是在图块语义引导检测模型的基础上得到的。其中,图块语义引导检测模型即在图块所表征的图块语义引导下对待检测图像进行目标检测的模型,图块语义引导检测模型是通过图像裁剪召回法对初始模型进行训练得到的。图像裁剪召回法为对输入初始模型的图像进行裁剪,将裁剪后得到的图块和未裁剪的图像输入至初始模型,根据初始模型输出的结果和图块对初始模型进行训练的方法,其目的在于作为检测目标的图块和模型检出的图块尽量一致。由于图块语义引导模型在训练时应用的图块即可以作为训练的标签,因此图块语义引导模型的训练无需任何标注,即可实现零样本训练。
文本语义引导检测模型和图块语义引导检测模型的区别在于,文本语义引导检测模型是应用文本语义特征引导目标检测,图块语义引导检测模型是应用图块语义特征引导目标检测。其中,文本语义特征即文本语义引导检测模型对目标描述文本进行编码后得到的特征;图块语义特征即图块语义引导检测模型对目标检测图块进行编码后得到的特征,文本语义特征与图块语义特征是互相匹配的。文本语义引导检测模型编码的文本语义特征对应的描述文本与图块语义引导检测模型编码的图块语义特征对应的图块,两者表征同一目标,因此可以直接将图块语义引导检测模型中用于编码图块语义特征的部分替换为用于编码文本语义特征的部分,从而基于图块语义引导检测模型得到文本语义引导检测模型。
具体地,经过步骤110后得到待检测图像和目标描述文本,将待检测图像和目标描述文本输入至文本语义引导检测模型,文本语义引导检测模型根据输入的待检测图像和目标描述文本相应输出目标检测结果。
其中,将待检测图像和目标描述文本输入至文本语义引导检测模型,文本语义引导检测模型应用目标描述文本的文本语义特征对待检测图像进行目标检测,并输出目标检测结果。
在将待检测图像和目标描述文本输入至文本语义引导检测模型之前,还可以预先训练得到文本语义引导检测模型,文本语义引导检测模型的训练方法包括如下步骤:首先,构建初始模型,基于图像裁剪召回法对初始模型进行训练,从而得到图块语义引导检测模型。随即,基于图块语义引导检测模型,导出文本语义引导检测模型。需要说明的是,此处的初始模型可以是在预训练的零样本学习模型和目标检测模型的基础上构建的。
需要说明的是,文本语义引导检测模型是一种具有高召回率的端到端的零样本目标检测结构,并且可以在无标注的情况下训练,节省了人工标注所带来的巨大成本。
本发明提供的基于深度学习的零样本图像目标检测方法,在图块语义引导检测模型基础上,导出文本语义引导检测模型;将待检测图像和目标描述文本输入至文本语义引导检测模型,得到文本语义引导检测模型输出的目标检测结果,解决了制作带标签的训练数据进行训练耗时费力,且检测物体时缺乏目的性的问题;提高了基于深度学习的零样本图像目标检测方法的可复用性和通用性,降低了模型的复杂度,能够有目的的进行目标检测,提高了召回率。
基于上述实施例,文本语义引导检测模型是基于如下步骤组合确定的:
将图块语义引导检测模型中的图块语义编码层替换为文本语义编码层,得到文本语义引导检测模型;
图块语义编码层用于编码目标检测图块的图块语义特征,文本语义编码层用于编码目标描述文本的文本语义特征,图块语义编码层和文本语义编码层构成视觉语义编码器结构;
视觉语义编码器用于计算图块语义特征和文本语义特征之间的距离,并基于计算所得的结果对目标检测图块和目标描述文本进行匹配。
具体地,在将图块语义引导检测模型中的图块语义编码层替换为文本语义编码层,得到图块语义引导检测模型之前,还需构建初始模型,通过图像裁剪召回法对初始模型进行训练,得到图块语义引导检测模型。具体在训练过程中,对输入的图像进行裁剪,得到输入图像的图块;将图像和图块输入至初始模型,得到初始模型输出的结果;根据初始模型输出的结果和图块对初始模型的参数进行调整,直至初始模型输出的结果与图块一致,结束训练,将训练完成的初始模型作为图块语义引导检测模型。
其中,图块语义引导检测模型包括图块语义编码层,图块语义引导检测模型中的图块语义编码层用于对目标检测图块进行编码,得到目标检测图块的图块语义特征。
此后,将图块语义引导检测模型中的图块语义编码层替换为文本语义编码层,将替换后的模型作为文本语义引导检测模型。文本语义引导检测模型包括文本语义编码层,文本语义编码层用于对目标描述文本进行编码,得到目标描述文本的文本语义特征。
需要说明的是,图块语义引导检测模型中的图块语义编码层和文本语义引导检测模型中的文本语义编码层共同构成视觉语义编码器结构。通过视觉语义编码器计算图块语义引导检测模型中的图块语义编码层编码的图块语义特征和文本语义引导检测模型中的文本语义编码层编码的文本语义特征之间的距离,得到图块语义特征和文本语义特征的计算结果;根据计算结果,对目标检测图块和目标描述文本进行匹配。
基于上述实施例,图2为视觉语义编码器的结构示意图,如图2所示,视觉语义编码器由图块语义编码层和文本语义编码层构成。
视觉语义编码器能够分别将待检测图像和目标描述文本嵌入到同一个语义空间中。此语义空间中,相近语义的距离较近,相远语义的距离较远,因此能够将待检测图像和目标描述文本进行匹配。
其中,图块语义编码层由一个backbone和mha(multi-headattention,多头注意力机制)组成,将待检测图像(image)输入至图块语义编码层中的visionencoderbackbone(视觉编码器主干网络)进行特征提取,将visionencoderbackbone输出的特征输入visionencodermha(visionencodermulti-headattention,多头注意力机制视觉编码器)进一步进行特征提取,并由visionencodermha输出imageembedding。
文本语义编码层由一个transformer构成。将目标描述文本(text)输入至文本语义编码层中的semanticencodertransformer(语义编码转换器)进行特征特征提取,并由semanticencodertransformer输出textembedding。
将图块语义编码层输出的imageembedding与文本语义编码层输出的textembedding进行matching(匹配),使得文本语义编码层输出的文本语义特征对应的描述文本与图块语义编码层输出的图块语义特征对应的图块表征同一目标。
基于上述实施例,基于图像裁剪召回法,训练得到图块语义引导检测模型,包括:
获取样本图像,对样本图像进行图块裁剪,得到样本图像的目标图块;
将样本图像及其目标图块输入初始模型,得到初始模型输出的检测图块;
基于目标图块和检测图块调整初始模型的参数,得到图块语义引导检测模型。
具体地,在根据图像裁剪召回法训练得到图块语义引导检测模型之前,除了需构建初始模型之外,还需获取样本图像,并对样本图像进行图块裁剪,得到裁剪后的目标图块。目标图块可以是在样本图像中裁剪并进行数据增强得到的,也可以是在样本图像中裁剪后进行其他处理得到的,本发明实施例对此不做具体限定。
在此之后,可对初始模型进行训练,得到图块语义引导检测模型。图块语义引导检测模型的训练方法包括如下步骤:首先,将获取的样本图像及样本图像的目标图块输入至初始模型,初始模型应用目标图块引导样本图像进行目标检测,并由初始模型输出检测图块。随即,基于检测图块和样本图像的目标图块,对初始模型的参数进行调整,直至初始模型输出的检测图块与样本图像的目标图像表征同一目标,结束训练,得到图块语义引导检测模型。
基于上述实施例,图3为本发明提供的基于深度学习的零样本图像目标检测方法的流程示意图之二,如图3所示,该方法包括:
步骤310,基于图像裁剪召回法训练初始模型;
步骤320,得到图块语义引导检测模型;
步骤330,基于图块语义引导检测模型导出文本语义引导检测模型;
步骤331,将待检测图像和目标描述文本输入至文本语义引导检测模型;
步骤332,得到文本语义引导检测模型输出的目标检测结果。
其中,文本语义引导检测模型编码的文本语义特征与图块语义引导检测模型编码的图块语义特征匹配,文本语义特征对应的描述文本与图块语义特征对应的图块表征同一目标。
基于上述实施例,图4为图块语义引导检测模型的结构示意图,如图4所示,图块语义引导检测模型由图块语义编码层、fpn(featurepyramidnetwork,特征金字塔)和一个deformabletransformer组成。
图块语义引导检测模型的训练过程包括:将样本图像(image)和对样本图像进行裁剪后得到的目标图块(patch)输入至图块语义引导检测模型中的visionencoderbackbone进行特征提取,将visionencoderbackbone输出的特征分别输入fpn和visionencodermha,得到fpn输出的特征金字塔和visionencodermha输出的patchembedding。
将特征金字塔输入deformabletransformerencoder(编码器)进行进一步提取特征。将deformabletransformerencoder输出的特征输入transformerdecoder(解码器)进行特征的解码。
将输出的patchembedding作为classquery(查询类)和背景类query(backgroundclassquery,查询背景类),classquery和backgroundclassquery共同作为检测的目标类,将检测的目标类以mha的方式送入图块语义引导检测模型中的transformerdecoder。与此同时,transformerdecoder同样以mha的方式从deformabletransformerencoder输出的特征和可学习的objectquery(查询对象)中提取特征。最后由图块语义引导检测模型中的transformerdecoder输出各个目标图块的位置及其分类结果。
需要说明的是,图块语义引导检测模型的训练过程是无监督的,仅需提供样本图像。由于在裁剪时能够确定目标图块patch的位置box,因此无需对样本图像进行标注。
基于上述实施例,初始模型中包括图块语义编码层,图块语义编码层的参数固定不变。
具体地,通过图像裁剪召回法对初始模型进行训练得到图块语义引导检测模型。其中,初始模型中包括图块语义编码层,图块语义编码层用于对输入的对象进行编码,得到图块语义特征。
需要说明的是,上述基于目标图块和检测图块调整初始模型的参数,不包括对初始模型中图块语义编码层的参数进行调整,图块语义编码层的参数是固定不变的,即训练得到图块语义引导检测模型中图块语义编码层的参数与初始模型中图块语义编码层的参数是一致的。由于图块语义编码层的参数是固定不变的,且图块语义编码层编码的图块语义特征与文本语义编码层编码的文本语义特征匹配,才能将图块语义引导检测模型中用于编码图块语义特征的图块语义编码层替换为用于编码文本语义特征的文本语义编码层,从而得到文本语义引导检测模型。
基于上述实施例,文本语义引导检测模型包括图像编码层、文本语义编码层和语义引导检测层,图块语义引导检测模型包括图像编码层、图块语义编码层和语义引导检测层;
语义引导检测层在文本语义引导检测模型中基于文本语义编码层输出的文本语义特征,利用图像编码层输出的图像特征进行目标检测;
语义引导检测层在图块语义引导检测模型中基于图块语义编码层输出的图块语义特征,利用图像编码层输出的图像特征进行目标检测。
具体地,文本语义引导检测模型中包括三个层,分别为图像编码层、文本语义编码层和语义引导检测层。
其中,图像编码层用于对输入文本语义引导检测模型中的待检测图像进行编码,得到待检测图像的图像特征;文本语义编码层用于对输入文本语义引导检测模型中的目标描述文本进行编码,得到目标描述文本的文本语义特征;语义引导检测层用于根据文本语义编码层输出的目标描述文本的文本语义特征,利用图像编码层输出的图像特征进行目标检测,得到目标检测结果。
图块语义引导检测模型中也包括三个层,分别为图像编码层、图块语义编码层和语义引导检测层。
其中,图像编码层用于对输入图块语义引导检测模型中的样本图像进行编码,得到样本图像的图像特征;图块语义编码层用于对输入图块语义引导检测模型中的样本图像的目标图块进行编码,得到目标图块的图块语义特征;语义引导检测层用于根据图块语义编码层输出的目标图块的图块语义特征,利用图像编码层输出的图像特征进行目标检测,得到目标检测结果。
文本语义引导检测模型中图像编码层的参数与图块语义引导检测模型中图像编码层的参数一致;文本语义引导检测模型中语义引导检测层的参数与图块语义引导检测模型中语义引导检测层的参数一致。
基于上述实施例,语义引导检测层具体用于:
通过多头注意力机制融合语义引导特征和初始位置特征,并基于融合所得的特征进行目标检测;
语义引导特征在文本语义引导检测模型中为文本语义特征,在图块语义引导检测模型中为图块语义特征。
此处,多头注意力机制(multi-headattention,mha)即通过多个注意力头,从输入特征中选取多个特征。每个注意力头关注的输入特征的不同部分。采用多头注意力机制能让关注重点从多个维度进行。
多头注意力机制包括多层多头注意力机制层,每层多头注意力机制层的注意力头数量为多个,多层不同的多头注意力机制层可有效的进行特性融合。
语义引导特征包括文本语义引导检测模型中的文本语义编码层编码的文本语义特征,以及图块语义引导检测模型中的图块语义编码层编码的图块语义特征。
初始位置特征为目标检测框架detr(detectiontransformer)已有的objectquery。
具体地,在得到待检测图像的图像特征和目标描述文本的文本语义特征后,语义引导检测层通过多头注意力机制融合语义引导特征和初始位置特征,得到融合后的特征,根据融合后得到的特征进行目标检测。
本发明实施例提供的基于深度学习的零样本图像目标检测方法,通过多头注意力机制,对语义引导特征和初始位置特征进行融合,根据融合后得到的特征进行目标检测,解决了传统方案中在检测物体时缺乏目的性的问题,实现有目的的进行目标检测,从而提高了模型检测的召回率。
基于上述实施例,步骤120包括:
将待检测图像输入至图像编码层,得到图像编码层输出的图像特征;
将目标描述文本输入至文本语义编码层,得到文本语义编码层输出的文本语义特征;
将图像特征和文本语义特征输入至语义引导检测层,得到语义引导检测层输出的目标检测结果。
具体地,将经过步骤110得到的待检测图像输入至文本语义引导检测模型中的图像编码层,得到图像编码层输出的待检测图像的图像特征;将目标描述文本输入至文本语义引导检测模型中的文本语义编码层,得到文本语义编码层输出目标描述文本的文本语义特征。
将待检测图像的图像特征和目标描述文本的文本语义特征输入至文本语义引导检测模型中的语义引导检测层,由语义引导检测层根据文本语义编码层输出的文本语义特征,对图像编码层输出的图像特征进行目标检测,并输出目标检测结果。
基于上述实施例,文本语义引导检测模型是基于clip架构和detr架构构建的。
此处,clip架构是一种零样本学习(zero-shotlearning)框架,clip架构基于多种技术对图像进行理解,多种技术包括零样本学习、自然语言理解和多模态学习等,其降低了深度学习需要的数据标注量。clip框架是一个开源视觉语义编码器。clip框架使用对比学习的方法,在无需标注的情况下使用在大量附有文本信息的图片上进行训练,在imagenet数据集上取得超过resnet的效果。
需要说明的是,本申请中可以将clip框架作为基础的视觉语义编码器,也可以使用对比学习的方法去训练得到新的视觉语义编码器,本发明实施例对此不做具体限定。使用clip框架可以借助clip框架优秀的性能,将文本语义引导检测模型有效地泛化到日常物品上。
detr(detectiontransformer)架构即目标检测框架,detr架构包含三个主要组件:cnn骨干网、编码器-解码器transformer、前馈网络。其中,首先由cnn骨干网将输入图像生成特征图;然后将cnn骨干网的输出转换为一维特征图,并将其作为输入传递到transformer编码器,该编码器的输出是n个固定长度的向量,其中n是模型假设的图像中的对象数。transformer解码器借助自身和编码器-解码器注意机制将这些嵌入解码为边界框坐标;最后,前馈神经网络预测边界框的标准化中心坐标,高度和宽度,而线性层使用softmax函数预测类别标签。
具体地,在clip架构和detr架构的基础上,构建文本语义引导检测模型。文本语义引导检测模型可以表示为clip-detr架构下的模型,clip-detr框架融合零样本学习框架clip和端到端的目标检测框架detr。clip-detr框架由视觉语义编码器的主体部分构成,视觉语义编码器的主体部分由backbone、fpn、deformabletransformerencoder、transformerdecoder、box头和class头组成。
clip-detr框架在训练时,加入clip架构下的图块语义编码层构建classquery;在推理时,加入clip架构下的文本语义编码层构建classquery。
clip-detr框架在目标检测框架detr已有的objectquery基础上,引入classquery作为待检测类别的目标描述文本的文本语义特征,并使用多头注意力机制mha将objectquery和classquery进行融合,实现有目的的进行目标检测,从而提高模型检测的召回率。
其中,classquery在训练时,由样本图像及其目标图块经过图块语义编码层得到;在推理时,由目标描述文本经过文本语义编码层得到。
clip-detr是一种具有高召回率的端到端的零样本目标检测结构,并且可以在无需标注的情况下训练,节省了人工标注所带来的巨大成本。clip-detr使用多头注意力机制融合输入的目标描述文本,使其能够有目的的检测物体。
此外,clip-detr通过图像裁剪召回法训练得到,图像裁剪召回法能够在无需标注地情况下进行训练。clip-detr框架结构简单,方法巧妙,其易用性、可拓展性和可解释性强,对于通用性ai的技术进步有着重要意义。
基于上述实施例,图5为文本语义引导检测模型的结构示意图,如图5所示,文本语义引导检测模型推理模型结构由文本语义编码层、fpn和deformabletransformer组成。
文本语义引导检测模型的输入为待检测图像和目标描述文本,目标描述文本中添加一个“background”文本,加入背景作为分类的一种。
将待检测图像输入至文本语义引导检测模型中的visionencoderbackbone进行特征提取,将visionencoderbackbone输出的特征输入fpn,得到fpn输出的特征金字塔;将特征金字塔输入deformabletransformerencoder进行进一步提取特征,将deformabletransformerencoder输出的特征输入transformerdecoder进行特征的解码。
将目标描述文本输入至文本语义引导检测模型中的semanticencodertransformer进行编码,将semanticencodertransformer输出的textembedding作为classquery,将classquery以mha的方式送入文本语义引导检测模型中的transformerdecoder。
transformerdecoder各layer由三层mha和mlp与残差架构组成,三层mha依次提取objectquery,deformabletransformerencoder和classquery的特征。最后输出每个objectquery对应的类别和box。transformer作为检测头组成一个泛化性良好、召回率和计算效率高的文本语义引导检测模型。
需要说明的是,objectquery是作为检测的proposal,与其他需要密集(dense)先验候选(proposal),且需要正负样本分配和非极大值抑制等复杂处理的方法相比,objectquery非常稀疏,能够降低模型复杂度。classquery为检测提供语义信息,使得网络能够有目的地进行检测,提高召回率。
本发明实施例提供的文本语义引导检测模型,仅在收集带有文本信息的图片,且无需二次标注的情况下,利用objectquery和classquery分别提供proposal和语义信息,并使用多头注意力机制将其融合,既降低了模型的计算复杂度,也提高了模型的召回率。在使用大规模训练模型的情况下,能够有效地泛化到日常物品上。本发明实施例提供的文本语义引导检测模型是一种基于深度学习的无监督零样本图像目标检测模型,它提高了ai模型的通用性,具有广阔的应用前景。
下面对本发明提供的基于深度学习的零样本图像目标检测装置进行描述,下文描述的基于深度学习的零样本图像目标检测装置与上文描述的基于深度学习的零样本图像目标检测方法可相互对应参照。
图6是本发明提供的基于深度学习的零样本图像目标检测装置的结构示意图。如图6所示,该装置包括:
确定单元610,用于给出待检测图像和目标描述文本;
检测单元620,用于将所述待检测图像和目标描述文本输入至文本语义引导检测模型,得到所述文本语义引导检测模型输出的目标检测结果;所述文本语义引导检测模型是基于图块语义引导检测模型导出的;所述文本语义引导检测模型编码的文本语义特征与所述图块语义引导检测模型编码的图块语义特征匹配,所述文本语义特征对应的描述文本与所述图块语义特征对应的图块表征同一目标。
本发明提供的基于深度学习的零样本图像目标检测装置,在图块语义引导检测模型基础上,导出文本语义引导检测模型;将待检测图像和目标描述文本输入至文本语义引导检测模型,得到文本语义引导检测模型输出的目标检测结果,解决了制作带标签的训练数据进行训练耗时费力,且检测物体时缺乏目的性的问题;提高了基于深度学习的零样本图像目标检测方法的可复用性和通用性,降低了模型的复杂度,能够有目的的进行目标检测,提高了召回率。
基于上述实施例,确定单元610用于:
将所述图块语义引导检测模型中的图块语义编码层替换为文本语义编码层,得到所述文本语义引导检测模型;
所述图块语义编码层用于编码目标检测图块的图块语义特征,所述文本语义编码层用于编码所述目标描述文本的文本语义特征,所述图块语义编码层和所述文本语义编码层构成视觉语义编码器结构;
所述视觉语义编码器用于计算所述图块语义特征和所述文本语义特征之间的距离,并基于计算所得的结果对所述目标检测图块和所述目标描述文本进行匹配。
基于上述实施例,所述文本语义引导检测模型包括图像编码层、文本语义编码层和语义引导检测层,所述图块语义引导检测模型包括所述图像编码层、图块语义编码层和所述语义引导检测层;
所述语义引导检测层在所述文本语义引导检测模型中基于所述文本语义编码层输出的文本语义特征,利用所述图像编码层输出的图像特征进行目标检测;
所述语义引导检测层在所述图块语义引导检测模型中基于所述图块语义编码层输出的图块语义特征,利用所述图像编码层输出的图像特征进行目标检测。
基于上述实施例,检测单元620用于:
通过多头注意力机制融合语义引导特征和初始位置特征,并基于融合所得的特征进行目标检测;
所述语义引导特征在所述文本语义引导检测模型中为所述文本语义特征,在所述图块语义引导检测模型中为所述图块语义特征。
基于上述实施例,所述文本语义引导检测模型是基于clip架构和detr架构构建的。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communicationsinterface)720、存储器(memory)730和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行基于深度学习的零样本图像目标检测方法,该方法包括:给出待检测图像和目标描述文本;将所述待检测图像和目标描述文本输入至文本语义引导检测模型,得到所述文本语义引导检测模型输出的目标检测结果;所述文本语义引导检测模型是基于图块语义引导检测模型导出的;所述文本语义引导检测模型编码的文本语义特征与所述图块语义引导检测模型编码的图块语义特征匹配,所述文本语义特征对应的描述文本与所述图块语义特征对应的图块表征同一目标。
此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于深度学习的零样本图像目标检测方法,该方法包括:给出待检测图像和目标描述文本;将所述待检测图像和目标描述文本输入至文本语义引导检测模型,得到所述文本语义引导检测模型输出的目标检测结果;所述文本语义引导检测模型是基于图块语义引导检测模型导出的;所述文本语义引导检测模型编码的文本语义特征与所述图块语义引导检测模型编码的图块语义特征匹配,所述文本语义特征对应的描述文本与所述图块语义特征对应的图块表征同一目标。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于深度学习的零样本图像目标检测方法,该方法包括:给出待检测图像和目标描述文本;将所述待检测图像和目标描述文本输入至文本语义引导检测模型,得到所述文本语义引导检测模型输出的目标检测结果;所述文本语义引导检测模型是基于图块语义引导检测模型导出的;所述文本语义引导检测模型编码的文本语义特征与所述图块语义引导检测模型编码的图块语义特征匹配,所述文本语义特征对应的描述文本与所述图块语义特征对应的图块表征同一目标。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。