一种目标检索方法及装置与流程

文档序号:21976441发布日期:2020-08-25 19:09阅读:191来源:国知局
一种目标检索方法及装置与流程

本申请涉及计算机技术领域,尤其涉及一种目标检索方法及装置。



背景技术:

随着科技的发展,图像检索被应用到越来越多的场景中,用户有检索图像或某物体的需求,现有技术中,通常是针对不同类别的物体分别训练获得其分类模型,进而在检索时,基于分类模型识别物体类别,然后检索出与其同类别相似的物体,但是这种方式,需要预先针对不同类别的物体进行训练,因此训练的分类模型也仅适用于单一类别物体,例如,采用猫的图像进行训练的分类模型,并不适用于狗的分类和检索,通用性较差,若想检索其它类别物体,还需要重新训练,也降低了效率,增加了成本。



技术实现要素:

本申请实施例提供一种目标检索方法及装置,以提高目标检索的效率和通用性。

本申请实施例提供的具体技术方案如下:

一种目标检索方法,包括:

获取待检索对象;

从所述待检索对象中检测获得目标对应的图像区域,若从所述待检索对象中检测获得多个目标对应的图像区域,则将所述多个目标对应的图像区域通过终端展示给用户,并接收所述终端返回的用户输入的选择指令,其中,所述选择指令中至少包括选中的目标对应的图像区域;

根据所述选择指令中的目标对应的图像区域,获得所述目标的目标特征向量;

根据所述目标的目标特征向量,在检索数据库中进行检索,获得目标特征向量相似度大于阈值的对象,其中,所述检索数据库中至少包括多个关联的对象和对象中包括的各个目标的目标特征向量。

可选的,根据所述选择指令中的目标对应的图像区域,获得所述目标的目标特征向量,具体包括:

若所述待检索对象的类型为图像,则基于已训练的特征提取模型,以所述目标对应的图像区域为输入参数,对所述目标对应的图像区域进行特征提取,获得所述目标的图像特征向量,并将所述图像特征向量作为所述目标的目标特征向量。

可选的,从所述待检索对象中检测获得目标对应的图像区域,具体包括:

若所述待检索对象的类型为视频,则确定所述目标对应的图像区域在所述待检索对象的视频帧的位置信息;

并根据所述位置信息,对所述目标进行跟踪,确定所述目标在追踪到的各视频帧上的位置信息和对应的图像区域。

可选的,根据所述选择指令中的目标对应的图像区域,获得所述目标的目标特征向量,具体包括:

基于已训练的特征提取模型,分别对所述目标在对应的各视频帧中的图像区域,进行特征提取,获得所述目标在对应的各视频帧中的图像特征向量;

根据获得的所述目标在对应的各视频帧中的图像特征向量,确定所述目标的平均图像特征向量,并将所述平均图像特征向量,作为所述目标的目标特征向量。

可选的,根据所述目标的目标特征向量,在检索数据库中进行检索,获得目标特征向量相似度大于阈值的对象,具体包括:

将所述目标的目标特征向量,分别与所述检索数据库中各个簇类的中心目标特征向量进行比对,确定出相似度最高的簇类,其中,所述检索数据库中包括多个簇类,每个簇类中包括多个目标的目标特征向量,所述多个簇类是基于聚类算法将所述检索数据库中的各个目标进行聚类后获得的;

将所述目标的目标特征向量,与所述相似度最高的簇类中包括的各目标的目标特征向量进行比对,获得目标特征向量相似度大于阈值的目标;

根据目标与对象的关联关系,获得目标特征向量相似度大于阈值的对象。

可选的,所述检索数据库的获得方式为:

获取对象样本集,其中,所述对象样本集中包括多个对象样本,所述对象样本的类型为图像或视频;

分别从各个对象样本中检测获得各个目标对应的图像区域,并根据所述各个目标对应的图像区域,分别获得所述各个目标的目标特征向量;

将所述各个目标的目标特征向量,与对应的对象样本关联存储,并更新到检索数据库中。

一种目标检索装置,包括:

获取模块,用于获取待检索对象;

第一处理模块,用于从所述待检索对象中检测获得目标对应的图像区域,若从所述待检索对象中检测获得多个目标对应的图像区域,则将所述多个目标对应的图像区域通过终端展示给用户,并接收所述终端返回的用户输入的选择指令,其中,所述选择指令中至少包括选中的目标对应的图像区域;

第二处理模块,用于根据所述选择指令中的目标对应的图像区域,获得所述目标的目标特征向量;

检索模块,用于根据所述目标的目标特征向量,在检索数据库中进行检索,获得目标特征向量相似度大于阈值的对象,其中,所述检索数据库中至少包括多个关联的对象和对象中包括的各个目标的目标特征向量。

可选的,根据所述选择指令中的目标对应的图像区域,获得所述目标的目标特征向量时,第二处理模块具体用于:

若所述待检索对象的类型为图像,则基于已训练的特征提取模型,以所述目标对应的图像区域为输入参数,对所述目标对应的图像区域进行特征提取,获得所述目标的图像特征向量,并将所述图像特征向量作为所述目标的目标特征向量。

可选的,从所述待检索对象中检测获得目标对应的图像区域时,第二处理模块具体用于:

若所述待检索对象的类型为视频,则确定所述目标对应的图像区域在所述待检索对象的视频帧的位置信息;

并根据所述位置信息,对所述目标进行跟踪,确定所述目标在追踪到的各视频帧上的位置信息和对应的图像区域。

可选的,根据所述选择指令中的目标对应的图像区域,获得所述目标的目标特征向量时,第二处理模块具体用于:

基于已训练的特征提取模型,分别对所述目标在对应的各视频帧中的图像区域,进行特征提取,获得所述目标在对应的各视频帧中的图像特征向量;

根据获得的所述目标在对应的各视频帧中的图像特征向量,确定所述目标的平均图像特征向量,并将所述平均图像特征向量,作为所述目标的目标特征向量。

可选的,根据所述目标的目标特征向量,在检索数据库中进行检索,获得目标特征向量相似度大于阈值的对象时,检索模块具体用于:

将所述目标的目标特征向量,分别与所述检索数据库中各个簇类的中心目标特征向量进行比对,确定出相似度最高的簇类,其中,所述检索数据库中包括多个簇类,每个簇类中包括多个目标的目标特征向量,所述多个簇类是基于聚类算法将所述检索数据库中的各个目标进行聚类后获得的;

将所述目标的目标特征向量,与所述相似度最高的簇类中包括的各目标的目标特征向量进行比对,获得目标特征向量相似度大于阈值的目标;

根据目标与对象的关联关系,获得目标特征向量相似度大于阈值的对象。

可选的,针对所述检索数据库的获得方式,还包括建立模块,用于:

获取对象样本集,其中,所述对象样本集中包括多个对象样本,所述对象样本的类型为图像或视频;

分别从各个对象样本中检测获得各个目标对应的图像区域,并根据所述各个目标对应的图像区域,分别获得所述各个目标的目标特征向量;

将所述各个目标的目标特征向量,与对应的对象样本关联存储,并更新到检索数据库中。

一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一种目标检索方法的步骤。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种目标检索方法的步骤。

本申请实施例中,获取待检索对象,从待检索对象中检测获得目标对应的图像区域,并获得目标的目标特征向量,进而根据目标的目标特征向量,在检索数据库中检索获得相似度大于阈值的对象,这样,通过目标检测和特征提取即可以实现检索,无需区分类别,不需要针对不同类别目标分别进行训练,提高了效率,并且适用于各种类别物体,具有通用性,可以满足各种检索应用场景,并且若从待检索对象中检测获得多个目标对应的图像区域时,还可以由用户进行选择,从而检索用户实际所需检索的对象,更加满足用户需求,提高了准确性。

附图说明

图1为本申请实施例中目标检索方法流程图;

图2为本申请实施例中针对图像的检测和特征提取过程示意图;

图3为本申请实施例中针对视频的检测和特征提取过程示意图;

图4为本申请实施例中目标检索装置结构示意;

图5为本申请实施例中电子设备的结构示意图。

具体实施方式

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

目前,图像或视频检索被应用到越来越多的场景中,例如,拍摄一张照片识别出该照片中包含的物体,并检索出与该物体相似的图像,又例如,电商平台的商品搜索,拍摄一张商品图像后,搜索和该商品相似的商品图像。现有技术中的检索方法,主要是在检索时,基于分类模型识别物体类别,然后检索出与其同类别相似的物体,这样,用户给定一个包含特定物体的图像,可以检索出与其同类别的物体的图像,但是这种方式,需要预先针对不同类别的物体进行训练,因此训练的分类模型也仅适用于单一类别物体,例如,采用猫的图像进行训练的分类模型,并不适用于狗的分类和检索,通用性较差,若想检索其它类别物体,还需要重新训练,降低了效率,增加了成本。

因此,为解决上述问题,本申请实施例中提供了一种目标检索方法,检索数据库中存储有多个关联的对象和对象中包括的各个目标的目标特征向量,在检索时,从待检索对象中检测获得目标对应的图像区域,并且在确定检索出多个目标时,根据用户选择指令确定用户所选择的目标,更加满足用户检索需求,进而获得选择指令中目标的目标特征向量,根据目标的目标特征向量,在检索数据库中进行检索,获得目标特征相似度大于阈值的对象,这样,不需要针对不同类别的目标物体分别进行预先训练,在检索时不需要先确定其类别,实现了一种通用物体检索方式,可以满足各种检索应用场景,提高了通用性和灵活性,也提高了效率。

需要说明的是,本申请实施例中的目标检索方法主要应用于服务器端,例如用户通过终端输入包括某目标物体的图像,点击搜索,进而终端将该图像发送给服务器,服务器提取出该物体后,根据该物体的目标特征向量,在检索数据库中进行检索,匹配到相似度较高的图像,并返回给终端,终端展示检索到的图像。

基于上述实施例,参阅图1所示,为本申请实施例中目标检索方法流程图,该方法包括:

步骤100:获取待检索对象。

其中,所述待检索对象的类型可以为图像或视频,本申请实施例中并不进行限制,即用户可以检索与图像或视频中的目标相似的图像或视频。

步骤110:从待检索对象中检测获得目标对应的图像区域,并根据目标对应的图像区域,获得目标的目标特征向量。

执行步骤110时,具体包括:

s1、从待检索对象中检测获得目标对应的图像区域。

具体地,针对待检索对象的不同类型,获得目标对应的图像区域可以分为以下两种情况:

第一种情况:若待检索对象的类型为图像,则具体包括:基于已训练的检测模型,以待检索对象为输入参数,获得检测到的目标的检测框,将目标的检测框作为该目标的图像区域。

例如,检测模型可以为采用区域-卷积神经网络(region-convolutionalneuralnetworks,r-cnn)、快速区域-卷积神经网络(fastregion-convolutionalneuralnetworks,fastr-cnn)算法、多分类单杆检测器(singleshotmultiboxdetector,ssd)网络、只看一次的第三版(youonlylookoncev3,yolov3)网络等,本申请实施例中并不进行限制。

其中,ssd网络通常使用vgg-16作为基础网络,主干网络为vgg-16,vgg-16包含了多个卷积层。yolov3使用了darknet-53的前面的52层(没有全连接层),yolov3是一个全卷积网络,使用大量残差的跳层连接,并且为了降低池化带来的梯度负面效果,用卷积层(conv)的跨度(stride)来实现降采样。

即针对一张图像,即可以检测获得目标的一个图像区域。

第二情况:若待检索对象的类型为视频,则具体包括:确定目标对应的图像区域在待检索对象的视频帧的位置信息,并根据位置信息,对目标进行跟踪,确定目标在追踪到的各视频帧上的位置信息和对应的图像区域。

也就是说,针对视频,获得的目标的图像区域可能有多个,即通过检测模型和跟踪模型,确定目标出现的多个视频帧,并获得在检测和跟踪到的各视频帧中的图像区域。

本申请实施例中,针对视频,由于一个相同目标可能会出现在视频的多个视频帧中,例如,视频中小狗,从一个地方走到另一个地方,则会出现在视频中的多个视频帧中,为提高检索准确性,可以确定出该目标出现的所有视频帧,并且为了进一步提高效率,在某视频帧中检测到目标时,后续可以采用跟踪算法,确定在后续的各视频帧中是否跟踪到该目标,并确定出该目标在追踪到的各视频帧上的位置信息,获得对应的图像区域。

其中,跟踪算法可以采用基于开源计算机视觉库(opensourcecomputervisionlibrary,opencv)的跟踪算法,例如,核相关滤波算法(kernelcorrelationfilter,kcf)、深度分类(deepsort)算法等,本申请实施例中并不进行限制。

这样,通过检测和跟踪结合,确定出目标在视频中出现的各个视频帧上对应的图像区域,由于跟踪的难度更低,跟踪算法比检测算法速度更快,因此提高了计算效率和速度。

其中,追踪到的各视频帧可以为检测到包含目标的视频帧的从下一个视频帧开始的各连续视频帧,直到确定跟踪消失的视频帧,本申请实施例中并不进行限制。

当然,一个目标可能连续出现在多个视频帧中,中间消失一段时间,后续又继续出现,针对这种情况,本申请实施例中为保证准确性,确保是同一目标,因此可以只对连续出现的目标认为是同一目标,消失又检测出现后,认为是另一目标,重新计算其目标特征向量,例如,在视频的第一视频帧检测到某个人,则从第二视频帧开始采用跟踪算法,确定从第二视频帧开始连续的各视频帧是否跟踪到该人,若从第二视频帧到第10视频帧,确定跟踪到了,而第11视频帧没有跟踪到该人,则可以结束跟踪算法,获取到该人对应的图像区域为,分别从第一视频帧到第10视频帧中的图像区域。另外,若在第20视频帧又检测到了该人,可以从第21视频帧开始又触发跟踪算法进行跟踪,直至跟踪结束,例如确定从21视频帧到25视频帧跟踪到该人,则再针对该人,认为是另一个目标,确定其对应的图像区域为,从第20视频帧到25视频帧上的图像区域。

s2、根据目标对应的图像区域,获得目标的目标特征向量。

本申请实施例中,基于待检索对象的不同类型,在获得目标特征向量时,具体提供了不同的实施方式:

第一种实施方式:若待检索对象的类型为图像,则根据目标对应的图像区域,获得目标的目标特征向量,具体包括:

基于已训练的特征提取模型,以目标对应的图像区域为输入参数,对目标对应的图像区域进行特征提取,获得目标的图像特征向量,并将图像特征向量作为目标的目标特征向量。

其中,特征提取模型可以采用残差网络(residualnetwork,resnet)、vgg网络,本申请实施例中并不进行限制。

其中,vgg网络结构主要由卷积和全连接层组成。

例如,待检索对象为一张包括小狗的图像,通过检测模型,获得该小狗的检测框,将该小狗的检测框输入到特征提取模型,获得该小狗的目标特征向量。

第二种实施方式:若待检索对象的类型为视频,根据目标对应的图像区域,获得目标的目标特征向量,具体包括:

1)基于已训练的特征提取模型,分别对目标在对应的各视频帧中的图像区域,进行特征提取,获得目标在对应的各视频帧中的图像特征向量。

也就是说,本申请实施例中,针对视频,可以确定出目标所出现的所有视频帧,并确定出目标在出现的所有视频帧中的图像区域,进而可以采用特征提取模型,分别对各个图像区域进行特征提取,获得各个图像特征向量。

2)根据获得的目标在对应的各视频帧中的图像特征向量,确定目标的平均图像特征向量,并将平均图像特征向量,作为目标的目标特征向量。

例如,目标为小狗,小狗出现在视频中的第5视频帧到第15视频帧,分别对应的图像区域为图像区域1、图像区域2,…图像区域11,分别对图像区域1、图像区域2,…图像区域11进行特征提取后,确定对应的图像特征向量为图像特征向量a1、图像特征向量a2,…图像特征向量a15,将这11个图像特征向量求平均,即(a1+a2+…+a15)/11,获得的该平均图像特征向量,作为小狗的目标特征向量。

这样,针对同一个目标,采用出现的多个视频帧中的平均图像特征向量表示,可以提高准确性和性能,并且最终一个目标采用一个目标特征向量表示,而不是分别采用多个特征向量表示,也可以减少特征向量数量。

步骤120:根据目标的目标特征向量,在检索数据库中进行检索,获得目标特征向量相似度大于阈值的对象,其中,检索数据库中至少包括多个关联的对象和对象中包括的各个目标的目标特征向量。

具体地,将目标的目标特征向量与检索数据库中包括的各个目标的目标特征向量进行比对,检索相似的图像。

也就是说,本申请实施例中可以将目标的目标特征向量直接与检索数据库中的各个目标的目标特征向量进行比对,确定出相似度大于阈值的对象。

另外,本申请实施例中还提供了一种可能的实施方式,执行步骤120时具体包括:

1)将目标的目标特征向量,分别与检索数据库中各个簇类的中心目标特征向量进行比对,确定出相似度最高的簇类。

其中,检索数据库中包括多个簇类,每个簇类中包括多个目标的目标特征向量,多个簇类是基于聚类算法将检索数据库中的各个目标进行聚类后获得的。

并且,中心目标特征向量是簇类的中心点的目标特征向量,在确定中心点时,可以是分别与簇类中其它目标的目标特征向量对比,特征相似度的平均值最高的目标,本申请实施例中并进行限制。

2)将目标的目标特征向量,与相似度最高的簇类中包括的各目标的目标特征向量进行比对,获得目标特征向量相似度大于阈值的目标。

3)根据目标与对象的关联关系,获得目标特征向量相似度大于阈值的对象。

即本申请实施例中还可以预先对检索数据库中各个目标进行聚类,例如根据各个目标的目标特征向量进行聚类,这样,在比对时可以先找到相似度最高的簇类,然后再进行比对获得相似度大于阈值的对象,由于在比对簇类时,只需要与簇类的中心目标特征向量进行比对,因此可以提高效率,降低检索时间。

进而可以将检索结果发送给终端,终端可以展示检索到的对象,并且终端可以按照预设规则或方式,进行展示,例如,终端可以按照相似度大小,依次展示前预设数目个检索到的对象,又例如,终端可以按照相似度从高到低,依次展示各个检索到的对象。

本申请实施例中,针对图像,检索数据库中可以存储图像和图像中包括的各个目标的检测框,以及各个目标的目标特征向量,针对视频,检索数据库中可以存储视频、视频的关键帧、视频中包括的各个目标的图像区域和目标特征向量,当然并不进行限制,也可以根据需求在检索数据库中存储其它的信息。

这样,若检索到目标特征向量相似度大于阈值的目标所关联的图像时,向终端返回目标所关联的图像,若检索到目标特征向量相似度大于阈值的目标所关联的视频时,可以向终端返回该视频的关键帧,也可以返回整个视频,或者也可以确定该视频的链接地址,返回该视频的链接地址,以使用户通过终端点击该链接地址后,可以查看检索到的视频,本申请实施例中对此并不进行限制。

进一步地,对待检索对象进行目标检测时,有可能会检测出多个目标,例如一个图像中可能同时包括桌子和小狗,这时为提高检索准确性,本申请实施例中可以通过用户选择来确定用户实际所需的检测结果,具体提供了一种可能的实施方式:从待检索对象中检测获得目标对应的图像区域之后,还包括:

s1、若从待检索对象中检测获得多个目标对应的图像区域,则将多个目标对应的图像区域通过终端展示给用户。

s2、接收终端返回的用户输入的选择指令,并执行根据选择指令中的目标对应的图像区域,获得目标的目标特征向量的步骤,其中,选择指令中至少包括选中的目标对应的图像区域。

例如,检测到图像中包括小狗和桌子,并分别确定小狗和桌子对应的图像区域,可以将小狗的图像区域和桌子的图像区域都发送给终端,终端展示小狗的图像区域和桌子的图像区域,用户可以从中选择自己实际想要检索的目标,例如选中了小狗的图像区域,当然用户也可以同时选中多个,终端将用户输入的选择指令发送给服务器,进而服务器可以仅检索与小狗相似的图像,这样,可以提高检索准确性。

当然,本申请实施例中,也可以针对检测到的多个目标,分别进行检索,每个目标都可以在检索数据库中找到相似的图像,例如,分别针对小狗和桌子进行检索,检索出与小狗相似的图像和与桌子相似的图像,再发送给终端,终端可以同时展示分别针对小狗和桌子检索到的图像。

本申请实施例中,获取待检索对象,可以从待检索对象中获得目标对应的图像区域,并确定出目标的目标特征向量,进而可以直接根据目标的目标特征向量,进行检索,获得目标特征向量相似度大于阈值的对象,这样,检索时不需要进行类别识别,可以通过通用目标物体检测和特征提取,即可以实现通用目标物体的检索,可以满足各种检索应用场景,不需要针对不同类别物体预先进行训练,通用性强,也可以提高效率,降低成本。

基于上述实施例,下面对本申请实施例中的检索数据库进行说明。本申请实施例中的检索数据库中至少包括多个关联的对象和对象中包括的各个目标的目标特征向量,进一步地,针对检索数据库的获得方式,本申请实施例中提供了一种可能的实施方式:

s1、获取对象样本集,其中,对象样本集中包括多个对象样本,对象样本的类型为图像或视频。

其中,对象样本的获取方式,本申请实施例中并不进行限制,可以根据不同应用场景和业务需求来获得。

例如,对象样本可以从网络知识库中获取。

还例如,针对电商平台,则可以获取各个商家上传的商品图像,作为图像样本。

又例如,针对安防业务场景,可以接入各个安防设备的视频流,作为视频样本。

s2、分别从各个对象样本中检测获得各个目标对应的图像区域,并根据各个目标对应的图像区域,分别获得各个目标的目标特征向量。

具体地,根据对象样本的类型,可以分为两种情况:

第一种情况:若对象样本的类型为图像,根据检测模型对该对象样本进行检测,获得该对象样本中所有物体(目标)的检测框(即图像区域),然后分别将所有物体的图像区域,输入到特征提取模型,进行特征提取,获得所有物体的目标特征向量。

例如,针对一张图像进行检测,从该图像中检测获得人的检测框、树的检测框和小狗的检测框,并分别进行特征提取,获得人的目标特征向量,树的目标特征向量和小狗的目标特征向量。

第二种情况:若对象样本的类型为视频,对视频中每个视频帧进行目标检测和跟踪,针对任意一个目标,检测到包含该任意一个目标的视频帧时,即触发跟踪算法,根据该任意一个目标在该视频帧中的位置信息,对该任意一个目标进行跟踪,确定该任意一个目标在跟踪到的各个视频帧中的位置信息和图像区域,将该任意一个目标在各个视频帧中的图像区域,输入到特征提取模型,获得多个图像特征向量,并进行平均计算,确定该任意一个目标的平均图像特征,作为该任意一个目标的目标特征向量。

例如,对一个视频中每帧进行检测,检测到第一视频帧中包括人和椅子,则从第二视频帧开始分别对人和椅子进行跟踪,若跟踪到人出现在第二视频帧到第10视频帧,第11视频帧中未跟踪到该人,则针对该人的跟踪流程停止,计算该人分别在第一到第10视频帧中的图像区域的平均图像特征向量,并且若跟踪到椅子出现到第二视频帧到第5视频帧,到第6视频帧中未跟踪到该椅子,则结束椅子的跟踪流程,计算椅子在第一到第5视频帧对应的平均图像特征向量,另外,需要说明的是,在对视频帧中某目标进行跟踪时还可以同时对该视频帧进行检测,检测除跟踪到目标之外的其他目标,例如,第二视频帧中检测到新的目标,如小猫,则从第三视频帧开始对该小猫进行跟踪,直至跟踪结束,获得小猫的目标特征向量。

s3、将各个目标的目标特征向量,与对应的对象样本关联存储,并更新到检索数据库中。

例如,对象的类型为图像时,则可以存储图像,以及图像中的各个目标的检测框(即图像区域)和目标特征向量。

又例如,若对象的类型为视频,则可以存储视频,以及视频中包括的各个目标的目标特征向量(即检测和跟踪到的各个视频帧中图像区域的平均图像特征向量),并且为便于管理和检索,还可以关联存储视频的关键帧和目标的图像区域,这样,预先计算并存储各个目标的目标特征向量,而不需要在检索时实时计算,可以提高检索效率。

另外,需要说明的是,本申请实施例中,检索数据库中也可以不预先存储各个目标的目标特征向量,而在检索时再分别计算,对此本申请实施例中并不进行限制。

进一步地,建立检索数据库时,还可以预先对检索数据库中的各个目标进行聚类,获得多个簇类,并确定每个簇类的中心点和中心目标特征向量,进而在后续检索应用时,可以先与各个簇类的中心目标特征向量进行比对,再与确定出的簇类中包括的各个目标的目标特征向量进行比对,获得检索到的相似度高的对象,可以提高检索效率。

这样,本申请实施例中,通过对图像中各目标进行检测和特征提取,并且对视频的每个视频帧进行检测和跟踪,可以建立包括图像和视频的检索数据库,并且可以对任何类别目标进行检测,不需要分别针对不同特定类别分别建立检索数据库,通用性强,实现了通用物体检测和识别,更加方便接入不同的应用场景,例如接入安防或其它视频流等,适用各种场景。

下面采用具体应用场景,对上述实施例中目标检索方法的实现原理进行简单说明。

参阅图2所示,为本申请实施例中针对图像的检测和特征提取过程示意图。如图2所示,例如图像中包括狗和桌子,通过检测模型检测获得小狗的检测框和桌子的检测框,然后基于特征提取模型,分别对小狗的检测框和桌子的检测框进行特征提取,获得小狗的目标特征向量1和桌子的目标特征向量2。

参阅图3所示,为本申请实施例中针对视频的检测和特征提取过程示意图。如图3所示,例如,视频中包括小狗和桌子,对视频的每个视频帧进行检测,检测到包括小狗和桌子的视频帧时,分别对小狗和桌子进行跟踪,例如可能小狗一直在动,跟踪到多个视频帧,分别确定小狗在检测和跟踪到的视频帧中的图像区域,可能桌子一直未动,在后续视频帧中未跟踪到,则确定桌子在检测到的视频帧中图像区域,然后,基于特征提取模型,对桌子对应的一个图像区域进行特征提取,获得桌子的目标特征向量2,并分别对小狗对应的多个图像区域进行特征提取,获得小狗的各个图像区域分别对应的图像特征向量,求平均即获得小狗的目标特征向量1。

进而基于上述过程实现目标的检测和特征提取,之后可以应用于本申请实施例中的建库过程或检索过程,1)若是在建库过程,则可以将小狗的目标特征向量1和桌子的目标特征向量2,与对应的视频或图像进行关联存储,更新检索数据库;2)若在是检索过程,则可以从检索数据库中,分别检索与小狗的目标特征向量1和桌子的目标特征向量2相似度大于阈值的图像或视频,并发送给终端分别进行展示;另外针对检索过程,还可以有其它实施方式,例如,将小狗的图像区域和桌子的图像区域发送给终端,展示给用户,用户选择自己所需检索的目标,例如用户选择了小狗,则服务器可以仅检索与小狗的目标特征向量1相似度大于阈值的图像或视频,并返回给终端进行展示。

这样,本申请实施例中通过物体检测和特征提取,实现物体检索,无需限定物体类别,可以适用于所有物体,提供了一种通用物体检索方法,应用更加灵活和通用,提高了效率。

本申请实施例中的目标检索方法,由于其具有通用性,适用于各种业务场景,可以很方便地应用到不同业务场景,基于上述实施例,下面采用几个具体应用场景进行说明。

1)根据安防设备采集到视频流建立检索数据库,例如室外路边的摄像头。某户人家丢了狗,则可以通过终端上传一张狗的照片,服务器从该张照片中检测到狗的图像区域,并获得狗的目标特征向量,然后从检索数据库中进行检索,就可以检索到这只狗。

2)又例如,一个人的行李箱丢了,在附近的摄像头有这个功能,基于附近摄像头建立了检索数据库,则通过终端上传这个行李箱的照片,不管行李箱是静止在某地还是被人拉着走,都有机会找到这个行李箱。

这样,本申请实施例中不需要为了实现这个功能,而专门针对狗或行李箱进行训练和设计,可以获取大量图像或视频建立检索数据库,并可以直接基于本申请实施例中的目标检索方法来实现。

基于同一发明构思,本申请实施例中还提供了一种目标检索装置,该目标检索装置例如可以是前述实施例中的服务器,该目标检索装置可以是硬件结构、软件模块、或硬件结构加软件模块。基于上述实施例,参阅图4所示,本申请实施例中目标检索装置,具体包括:

获取模块40,用于获取待检索对象;

第一处理模块41,用于从所述待检索对象中检测获得目标对应的图像区域,若从所述待检索对象中检测获得多个目标对应的图像区域,则将所述多个目标对应的图像区域通过终端展示给用户,并接收所述终端返回的用户输入的选择指令,其中,所述选择指令中至少包括选中的目标对应的图像区域;

第二处理模块42,用于根据所述选择指令中的目标对应的图像区域,获得所述目标的目标特征向量;

检索模块43,用于根据所述目标的目标特征向量,在检索数据库中进行检索,获得目标特征向量相似度大于阈值的对象,其中,所述检索数据库中至少包括多个关联的对象和对象中包括的各个目标的目标特征向量。

可选的,根据所述选择指令中的目标对应的图像区域,获得所述目标的目标特征向量时,第二处理模块42具体用于:

若所述待检索对象的类型为图像,则基于已训练的特征提取模型,以所述目标对应的图像区域为输入参数,对所述目标对应的图像区域进行特征提取,获得所述目标的图像特征向量,并将所述图像特征向量作为所述目标的目标特征向量。

可选的,从所述待检索对象中检测获得目标对应的图像区域时,第二处理模块42具体用于:

若所述待检索对象的类型为视频,则确定所述目标对应的图像区域在所述待检索对象的视频帧的位置信息;

并根据所述位置信息,对所述目标进行跟踪,确定所述目标在追踪到的各视频帧上的位置信息和对应的图像区域。

可选的,根据所述选择指令中的目标对应的图像区域,获得所述目标的目标特征向量时,第二处理模块42具体用于:

基于已训练的特征提取模型,分别对所述目标在对应的各视频帧中的图像区域,进行特征提取,获得所述目标在对应的各视频帧中的图像特征向量;

根据获得的所述目标在对应的各视频帧中的图像特征向量,确定所述目标的平均图像特征向量,并将所述平均图像特征向量,作为所述目标的目标特征向量。

可选的,根据所述目标的目标特征向量,在检索数据库中进行检索,获得目标特征向量相似度大于阈值的对象时,检索模块43具体用于:

将所述目标的目标特征向量,分别与所述检索数据库中各个簇类的中心目标特征向量进行比对,确定出相似度最高的簇类,其中,所述检索数据库中包括多个簇类,每个簇类中包括多个目标的目标特征向量,所述多个簇类是基于聚类算法将所述检索数据库中的各个目标进行聚类后获得的;

将所述目标的目标特征向量,与所述相似度最高的簇类中包括的各目标的目标特征向量进行比对,获得目标特征向量相似度大于阈值的目标;

根据目标与对象的关联关系,获得目标特征向量相似度大于阈值的对象。

可选的,针对所述检索数据库的获得方式,还包括建立模块44,用于:

获取对象样本集,其中,所述对象样本集中包括多个对象样本,所述对象样本的类型为图像或视频;

分别从各个对象样本中检测获得各个目标对应的图像区域,并根据所述各个目标对应的图像区域,分别获得所述各个目标的目标特征向量;

将所述各个目标的目标特征向量,与对应的对象样本关联存储,并更新到检索数据库中。

基于上述实施例,参阅图5所示为本申请实施例中电子设备的结构示意图。

本申请实施例提供了一种电子设备,该电子设备可以包括处理器510(centerprocessingunit,cpu)、存储器520、输入设备530和输出设备540等,输入设备530可以包括键盘、鼠标、触摸屏等,输出设备540可以包括显示设备,如液晶显示器(liquidcrystaldisplay,lcd)、阴极射线管(cathoderaytube,crt)等。

存储器520可以包括只读存储器(rom)和随机存取存储器(ram),并向处理器510提供存储器520中存储的程序指令和数据。在本申请实施例中,存储器520可以用于存储本申请实施例中任一种目标检索方法的程序。

处理器510通过调用存储器520存储的程序指令,处理器510用于按照获得的程序指令执行本申请实施例中任一种目标检索方法。

基于上述实施例,本申请实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意方法实施例中的目标检索方法。

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

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

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

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

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1