相似视频的确定方法、实例表征模型的训练方法及设备与流程

文档序号:30641458发布日期:2022-07-05 22:18阅读:73来源:国知局
相似视频的确定方法、实例表征模型的训练方法及设备与流程

1.本技术实施例涉及人工智能技术领域,特别涉及一种相似视频的确定方法、实例表征模型的训练方法及设备。


背景技术:

2.在一些视频查重、视频推荐等领域涉及相似视频的检索。
3.在相关技术中,为了排查出相似的视频,通常是在待检测视频中提取全图的嵌入向量(embedding)来表征图像,再去视频数据库中进行相似视频的检测。
4.然后,上述方式中提取的是全图的嵌入向量来表征图像,通过全图的嵌入向量来表征图像容易导致相似视频的检测结果不准确。


技术实现要素:

5.本技术实施例提供了一种相似视频的确定方法、实例表征模型的训练方法及设备,能够提取图像中实例级别的表征,使得对于图像实例的表征更加贴近实例本身,在相似视频的检索过程中,通过实例表征模型提取实例表征,使得检测结果也能相对更加准确。所述技术方案如下。
6.根据本技术实施例的一个方面,提供了一种实例表征模型的训练方法,所述方法包括:通过所述实例表征模型,获取全量实例样本集合中的多个实例样本分别对应的中间层实例表征;根据所述全量实例样本集合中的多个实例样本分别对应的中间层实例表征,确定多个平均实例表征,所述平均实例表征是属于同一聚类集合的各个实例样本的中间层实例表征的平均表征;对于所述全量实例样本集合中的各个所述实例样本,根据所述实例样本的中间层实例表征与所述实例样本对应的最近平均实例表征之间的差异,确定所述实例样本的隐藏表征;其中,所述实例样本对应的最近平均实例表征是指所述多个平均实例表征中与所述实例样本的中间层实例表征最接近的平均实例表征;根据所述实例样本的隐藏表征,确定所述实例样本的最终实例表征,所述实例样本的最终实例表征用于反映所述实例样本所包含的实例的特征信息;根据所述全量实例样本集合中的各个所述实例样本的最终实例表征,确定所述实例表征模型的训练损失,以对所述实例表征模型的参数进行调整。
7.根据本技术实施例的一个方面,提供了一种相似视频的确定方法,所述方法包括:从查询视频中提取多个实例图像;通过实例表征模型获取各个所述实例图像的最终实例表征,所述实例图像的最终实例表征用于反映所述实例图像所包含的实例的特征信息;将各个所述实例图像的最终实例表征进行聚类筛选,确定所述查询视频的实例表
征信息;根据所述查询视频的实例表征信息和视频库中包含的各个候选视频的实例表征信息,从所述视频库中选择符合第二条件的候选视频,作为所述查询视频对应的相似视频。
8.根据本技术实施例的一个方面,提供了一种实例表征模型的训练装置,所述装置包括:中间层表征获取模块,用于通过所述实例表征模型,获取全量实例样本集合中的多个实例样本分别对应的中间层实例表征;平均表征确定模块,用于根据所述全量实例样本集合中的多个实例样本分别对应的中间层实例表征,确定多个平均实例表征,所述平均实例表征是属于同一聚类集合的各个实例样本的中间层实例表征的平均表征;隐藏表征确定模块,用于对于所述全量实例样本集合中的各个所述实例样本,根据所述实例样本的中间层实例表征与所述实例样本对应的最近平均实例表征之间的差异,确定所述实例样本的隐藏表征;其中,所述实例样本对应的最近平均实例表征是指所述多个平均实例表征中与所述实例样本的中间层实例表征最接近的平均实例表征;最终表征确定模块,用于根据所述实例样本的隐藏表征,确定所述实例样本的最终实例表征,所述实例样本的最终实例表征用于反映所述实例样本所包含的实例的特征信息;参数调整模块,用于根据所述全量实例样本集合中的各个所述实例样本的最终实例表征,确定所述实例表征模型的训练损失,以对所述实例表征模型的参数进行调整。
9.根据本技术实施例的一个方面,提供了一种相似视频的确定装置,所述装置包括:实例图像确定模块,用于从查询视频中提取多个实例图像;最终表征获取模块,用于通过实例表征模型获取各个所述实例图像的最终实例表征,所述实例图像的最终实例表征用于反映所述实例图像所包含的实例的特征信息;表征信息确定模块,用于将各个所述实例图像的最终实例表征进行聚类筛选,确定所述查询视频的实例表征信息;相似视频选择模块,用于根据所述查询视频的实例表征信息和视频库中包含的各个候选视频的实例表征信息,从所述视频库中选择符合第二条件的目标候选视频,作为所述查询视频对应的相似视频。
10.根据本技术实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述实例表征模型的训练方法,或实现上述相似视频的确定方法。
11.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述实例表征模型的训练方法,或实现上述相似视频的确定方法。
12.根据本技术实施例的一个方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中,处理器从所述计算机可读存储介质读取并执行所述计算机程序,以实现上述实例表征模型的训练方法,或实现上述相似视频的确定方法。
13.本技术实施例提供的技术方案可以包括如下有益效果:
在已有技术中,通过图像级别的表征并不能精确到每一个具体的实例,本技术通过提取实例级别的实例表征,能够更加贴合实例本身,提高了检测相似视频的准确度。
14.本技术还通过训练一个模型,可以利用该模型提取图像中的实例表征,用于排查相似视频。进一步地,通过根据实例样本的中间层表征与最近平均实例表征之间的差异,确定出实例样本的隐藏表征,基于隐藏表征确定出实例样本的最终实例表征并计算训练损失,基于训练损失调整实例表征模型的参数,通过将实例样本的最终实例表征与平均实例表征之间的差异通过隐藏表征进行放大,因此可以更好地训练实例表征模型,通过本技术提供的实例表征模型提取出来的最终实例表征更加贴近实例本身,缩小了最终实例表征与实例本身的差异。
附图说明
15.图1是本技术一个实施例提供的三元组学习过程的示意图;图2是本技术一个实施例提供的方案实施环境的示意图;图3是本技术一个实施例提供的实例表征模型的训练方法的流程图;图4是本技术一个实施例提供的全量实例样本集合的示意图;图5是本技术一个实施例提供的全量图像相似样本集合的示意图;图6是本技术一个实施例提供的实例表征模型的训练方法的示意图;图7是本技术一个实施例提供的实例表征模型的训练方法的流程图;图8是本技术一个实施例提供的相似视频的确定方法的流程图;图9是本技术另一个实施例提供的相似视频的确定方法的流程图;图10是本技术一个实施例提供的相似视频的确定方法的示意图;图11是本技术一个实施例提供的实例表征模型的训练装置的框图;图12是本技术另一个实施例提供的实例表征模型的训练装置的框图;图13是本技术一个实施例提供的相似视频的确定装置的框图;图14是本技术另一个实施例提供的相似视频的确定装置的框图;图15是本技术一个实施例提供的计算机设备的结构框图。
具体实施方式
16.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
17.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
18.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括自然语言处理技术、机器学习/深度学习等几大方向。
19.计算机视觉技术(computer vision,cv)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
20.机器学习(machine learning,简称ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
21.本技术实施例提供的方案涉及人工智能的计算机视觉和机器学习等技术,具体通过如下实施例进行说明。
22.在介绍本技术技术方案之前,先对本技术涉及的一些背景技术知识进行介绍说明。以下相关技术作为可选方案与本技术实施例的技术方案可以进行任意结合,其均属于本技术实施例的保护范围。本技术实施例包括以下内容中的至少部分内容。
23.深度学习:深度学习的概念源于人工神经网络的研究。含多隐层的多层感知器就是一种深度学习结构。深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。
24.嵌入向量(embedding):用于描述图像的特征,本技术中如无特殊说明,表征即指的嵌入向量。嵌入向量包括相似度表征、语义表征。嵌入向量不限于浮点特征,也可以是深度哈希特征。相似度表征是一种来自深度学习特征的图像表征,主要描述全图图像纹理、特征布局等一些表征信息、可以用于区分两张不同的图像。语义表征是一种来自语义学习的图像表征,主要描述图像中带有某些指定语义内容部位的表征,如用于描述狗的表征,则通过提取图像中狗所在位置的特征作为图像表征。
25.实例:相对于类别而言,如狗是一个类别,具体的某一只狗是狗类别的一个实例,从类别层次来看,有以下关系狗-品种-实例,如狗-金毛-我家的旺财,表示我家名叫“旺财”的那个动物是金毛品种的狗。对于一个视频,可能有多个狗实例——视频里那只黄色的狗、白色的狗都分别是一个具体的实例。
26.卷积神经网络(convolutional neural networks,简称cnn):是一类包含卷积计算且具有深度结构的前馈神经网络(feedforward neural networks,简称fnn),是深度学习(deep learning)的代表算法之一。卷积神经网络具有表征学习(representation learning)能力,能够按其阶层结构对输入信息进行平移不变分类。一般地,cnn的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来;其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。cnn由输入层、卷积层、激活函数、池化层、全连接层组成。
27.全连接层(fully connected layers,简称fc):在cnn结构中,经多个卷积层和池化层后,连接着1个或1个以上的全连接层。全连接层中的每个神经元与其前一层的所有神经元进行全连接,全连接层可以整合卷积层或者池化层中具有类别区分性的局部信息。
28.resnet-101(残差网络101):是残差网络的一种结构。残差网络通过直接将输入信息绕道传到输出,保护信息的完整性,整个网络则只需要学习输入、输出差别的那一部分,简化学习目标和难度。
29.随机梯度下降(stochastic gradient descent,简称sgd):每个数据都计算一下损失函数,然后求梯度更新参数。每次迭代使用一个样本来对参数进行更行,使得训练速度加快。由于不是在全部训练数据上的损失函数,而是在每轮迭代中,随机优化某一条训练数据上的损失函数,这样每一轮参数的更新速度大大加快。
30.三元组:从训练数据集中随机选一个样本,该样本称为anchor(锚点样本),然后再随机选取一个和anchor(记为x_a)属于同一类的样本和不同类的样本,这两个样本对应的称为positive(正样本,记为x_p)和negative(负样本,记为x_n),由此构成一个三元组。
31.三元组损失(triplet loss):针对三元组中的每个样本,训练一个参数共享或者不共享的网络,得到三个样本的表征,分别记为:f(x_a)、f(x_p)、f(x_n)。通过学习,让x_a和x_p表征之间的距离尽可能小,而x_a和x_n的表征之间的距离尽可能大,并且要让x_a与x_n之间的距离和x_a与x_p之间的距离之间有一个最小的间隔。图1示出了本技术一个实施例提供的三元组样本的学习过程。由图1中100可以看出,经过学习,负样本的表征到锚点样本的表征的距离变大了,而正样本的表征到锚点样本的表征的距离变小了。
32.k-means聚类算法:k-means聚类算法也称k均值聚类算法,是集简单和经典于一身的基于距离的聚类算法。它采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为类簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。k-means聚类算法是一种迭代求解的聚类分析算法,其步骤是随机选取k个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件。终止条件可以是没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,误差平方和局部最小。
33.欧式距离:也称欧几里得度量、欧几里得距离,是一个通常采用的距离定义它是在m维空间中两个点之间的真实距离,m为正整数。在二维和三维空间中的欧式距离就是两点之间的距离。
34.在一些实施例中,图像排重检索是确认两个图像是否相同或一张图像经过某些图像变换手段可以得到另一张图的任务成为图像排重识别,从图像库中查找某查询图像是否与库中图像重复的任务为图像排重检索。常规的图像检索是对数据库样本提取表征,根据query(查询)的表征与库样本表征进行距离计算获取最近距离的一些样本作为召回。
35.在一些实施例中,视频排重检索是对于海量视频存储下节省存储空间、或判别某用户上传视频是否和现有视频库中的视频相同或相似,需要排除或识别出相同或相似的视频或视频段,故视频排重识别需要确认两个视频是否相同或相似、或者是否存在相同或相似子视频段的任务。
36.在一些实施例中,图像相似度表征与检索是借助三元组度量与学习训练全图相似度表征模型,采用全图表征作为检索特征。将三元组样本输入到卷积神经网络,提取全图表征,并度量损失。然而,此种方法对于大背景下的物体表征不足,例如全图特征很难突出图中关键的物体,例如在池塘里游的一只鸭子,由于鸭子占据全图的比重很小,所以当采用全图表征的时候很难突出其中关键的物体,导致表征能力有限。图像全局表征过多捕捉到环境信息,而忽略画面物体,导致采用全图表征的排重系统召回很多环境相似但物体差异较大的视频,从而检索准确率不高。
37.在一些实施例中,根据实例类别进行表征再排重。借助图像检测先检测到图中的实例,然后对实例采用图像相似度表征进行表征,并对全视频抽取所有实例的表征取平均,如有10个实例,每个实例采用1x32的特征表征,对10个1x32表征取平均得到最终1x32的实例平均表征代表视频,以此进行视频特征检索召回。
38.然而,上述实施例中,对全图提取全图表征来进行排重,针对模版物体、生活物体类视频的物体表征不足,导致检索召回不准确。常规的全图表征训练方法无法对实例级别的物体充分表征,如相同品种的不同狗实例,在外貌等细节上是不同的,而现有训练系统无法突出这种差异,导致不能通过简单的抽取狗的检测框进行图像表征。除此之外,采用平均实例表征视频容易在实例间取平均下,忽略各实例的细微差异,同样容易造成细节特征被抹除而检索效果不准确。
39.本技术实施例提供的技术方案,通过训练一个实例表征模型,利用该模型可以提取视频中实例级别的表征信息,从而更准确地表达图像信息,更加贴近图像本身,使得基于实例级别的实例表征信息的相似视频的检索结果更加准确。
40.请参考图2,其示出了本技术一个实施例提供的方案实施环境的示意图。该方案实施环境可以包括:终端设备10和服务器20。
41.终端设备10包括但不限于手机、平板电脑、智能语音交互设备、游戏主机、可穿戴设备、多媒体播放设备、pc(personal computer,个人计算机)、车载终端、智能家电等电子设备。终端设备10中可以安装目标应用程序的客户端。
42.在本技术实施例中,上述目标应用程序可以是任何能够提供视频信息流内容服务的应用程序。典型地,该应用程序为视频类应用程序。当然,除了视频类应用程序之外,其它类型的应用程序中也可以提供信息流内容服务。例如,新闻类应用程序、社交类应用程序、互动娱乐类应用程序、浏览器应用程序、购物类应用程序、内容分享类应用程序、虚拟现实(virtual reality,vr)类应用程序、增强现实(augmented reality,ar)类应用程序等,本技术实施例对此不作限定。另外,对于不同的应用程序来说,其推送的视频也会有所不同,且相应的功能也会有所不同,这都可以根据实际需求预先进行配置,本技术实施例对此不作限定。可选地,终端设备10中运行有上述应用程序的客户端。在一些实施例中,上述信息流内容服务涵盖综艺、影视、新闻、财经、体育、娱乐、游戏等诸多垂直内容,并且用户可通过上述信息流内容服务享受到文章、图片、小视频、短视频、直播、专题、栏目等众多形式的内容服务。
43.服务器20用于为终端设备10中的目标应用程序的客户端提供后台服务。例如,服务器20可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件
服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器,但并不局限于此。
44.终端设备10和服务器20之间可通过网络进行互相通信。该网络可以是有线网络,也可以是无线网络。
45.本技术实施例提供的方法,各步骤的执行主体可以是计算机设备。计算机设备可以是任何具备数据的存储和处理能力的电子设备。例如,计算机设备可以是图2中的服务器20,可以是图2中的终端设备10,也可以是除终端设备10和服务器20以外的另一设备。
46.请参考图3,其示出了本技术一个实施例提供的实例表征模型的训练方法的流程图。该方法各步骤的执行主体可以是计算机设备。该方法可以包括如下几个步骤(410~450)中的至少一个步骤。
47.步骤410,通过实例表征模型,获取全量实例样本集合中的多个实例样本分别对应的中间层实例表征。
48.实例表征模型:能够提取一个特征充分表征该实例的模型。在一些实施例中,实例表征模型使用的是神经网络模型。可选地,实例表征模型包括卷积层、全连接层、池化层。
49.全量实例样本集合:表示全部实例的所有实例样本。在一些实施例中,全量实例样本集合中包括多个实例样本。其中,实例样本是指表示该实例的图像样本。图4示出了一种可能的全量实例样本集合的示意图,图4仅是示例性的,对于全量实例样本集合的数量本技术不作限定。图4中一共有三种实例,短头发男人-g先生、站立的男孩-小j、长发的女人-小n。对于短头发男人-g先生这个实例,a组中a1、a2、a3、a4均是实例样本。对于站立的男孩-小j这个实例,b组中b1、b2、b3、b4均是实例样本。对于长发的女人-小n这个实例,c组中c1、c2、c3、c4均是实例样本。在一些实施例中,a1~a4、b1~b4、c1~c4构成了全量实例样本集合。
50.在一些实施例中,全量实例样本集合中的所有实例样本均是属于同一类的。可选地,以人为类别对海量图片进行筛选,对于相似的图片进行分类,得到不同类别下的全量图像相似样本。可选地,以人为一个类别,筛选出海量图片中的所有狗的全量图像相似样本。在一些实施例中,利用大型通用物体识别开源数据集(imagenet)来识别物体是1000个类别中的某一个,以此来对海量图片进行归类,例如以人为一个类别,筛选出全量物体相似样本。可选地,借助开源的80种常见物体检测数据集coco模型来对海量图片进行分类筛选。可选地,也可以手动标注出所有相似的图像样本,作为全量图像相似样本。图5示出了一种可能的全量图像相似样本集合的示意图,图5仅是示例性的,对于全量图像相似样本集合的数量本技术不作限定。在经过人工标注相似之后,得到图5所示的全量图像相似样本集合,其中包括含有短头发男人-g先生这个实例的a组图像样本a1、a2、a3、a4,含有站立的男孩-小j这个实例的b组图像样本b1、b2、b3、b4,含有长发的女人-小n这个实例的c组图像样本c1、c2、c3、c4,从图5中可以看出,图像样本中除了包括实例本身以外,还包括有其他环境或者实例。
51.在相关技术中,是对于图像样本进行全图提取表征,所以很难精准的体现出具体的实例,例如c组中的图像样本中,除了小n之外,还有花等其他物体,如果使用全图表征,很可能无法准确地表征整张图像的关键点,同时在进行相似度判别时,会存在较大的误差。
52.在一些实施例中,对全量图像相似样本截取出其中的具体实例。例如图5中c组的图像,不仅有长发女人-小n这个实例还有花朵这个实例。可选地,利用开源物体检测模型
yolo v5来对全量图像相似样本集合进行检测,得到全量实例样本。可选地,对如图5所示的全量图像相似样本集合使用开源物体检测模型yolo v5来进行检测,可以得到如图4所示的全量实例样本。
53.本技术实施例提供的方案,可以截取图像中具体的实例,对于每个具体的实例进行后续的特征提取等工作,可以更加精准地表征该实例,进一步地可以更加准确地表示该图像。在表征更加精准的前提下,对于相似图像/视频的排重检索,其结果也就更加准确。
54.中间层表征:是表征的一种。在一些实施例中,实例表征模型是多层模型架构,中间层表征是其中某一层提取的特征。实例的中间层表征是指某一种能够表征实例的特征向量,与实例的最终表征又有所区分的表征。在一些实施例中,实例表征模型中含有五层卷积层,可选地,将第三层卷积的结果作为中间层表征。本技术对于卷积层的数量不作限定,对于中间层具体是哪一层不作限定。
55.步骤420,根据全量实例样本集合中的多个实例样本分别对应的中间层实例表征,确定多个平均实例表征,平均实例表征是属于同一聚类集合的各个实例样本的中间层实例表征的平均表征。
56.平均实例表征是多个中间层表征的平均。图6示出了一种可能的实例表征模型的训练方法的框图。其中m0表示实例表征模型,m0包括cnn以及fc。通过fc抽取实例样本的中间层表征,示例性地,图6中d是一个可能的中间层表征。根据实例样本的中间层表征确定出属于同一聚类集合的中间层表征的平均表征。示例性的,当如图4的全量实例样本集合输入到实例表征模型中时,对每一张实例样本输出一个中间层表征,考虑到短头发男人-g先生、站立的男孩-小j、长发的女人-小n各自特征并不相同,所以代表这三类的实例样本的中间层表征会各自形成聚类集合,在一些实施例中,如图4所示的样本集合有三个中间层表征的聚类集合,对每个聚类集合确定一个平均实例表征。可选地,对于短头发男人-g先生这个实例样本的四个中间层表征形成一个聚类集合,并对该聚类中心确定出一个平均实例表征,该平均实例表征用来表征短头发男人-g先生这个实例。本技术对从多个中间层表征中确定出平均实例表征的方法不作限定,示例性地,可以使用k-means聚类算法聚类出多个聚类中心,将聚类中心作为平均实例表征。具体的k-means聚类算法在本技术中的应用,见如下说明书,在此不作赘述。
57.步骤430,对于全量实例样本集合中的各个实例样本,根据实例样本的中间层实例表征与实例样本对应的最近平均实例表征之间的差异,确定实例样本的隐藏表征;其中,实例样本对应的最近平均实例表征是指多个平均实例表征中与实例样本的中间层实例表征最接近的平均实例表征。
58.全量实例样本集合中包括多个实例样本。在本技术实施例中,对于全量实例样本集合中各个实例样本确定隐藏表征,但是本技术不限于此,也可以对于全量实例样本集合中部分实例样本确定隐藏表征。当实例样本输入到实例表征模型中时,获取实例表征的中间层表征,当确定了实例表征的中间层表征之后,确定出实例样本对应的最近平均实例表征。在一些实施例中,通过实例表征与所有中间实例表征的距离关系,确定出距离实例表征最小的平均实例表征作为最近平均实例表征。本技术对于距离的计算不作限定,示例性地,通过计算欧式距离,判断与实例样本的中间层实例表征最接近的平均实例表征。
59.在一些实施例中,将图4中的b1作为一个实例样本输入到实例表征模型中,得到b1
的中间层表征,b1的最近平均实例表征是所有平均实例表征中与b1的中间层表征最接近的平均实例表征。示例性地,b1的最近平均实例表征是原先b组的中间层表征的聚类集合的平均实例表征。
60.隐藏表征:表征实例样本的中间层表征与平均实例表征之间的差异。在一些实施例中,将中间层表征与平均实例表征的差值确定为隐藏表征。将图4中的b1作为一个实例样本输入到实例表征模型中,得到b1的中间层表征,根据最近平均表征,确定出b1的隐藏表征,可以理解为隐藏表征是为了放大b1与平均实例表征的不同,进一步的通过隐藏表征提取这种差异。也就是说,平均实例表征是笼统的确定出一个集合的中心,但是体现每一个具体的实例样本之间的不同差异,而隐藏表征正是为了体现每个实例样本与平均实例表征之间的差异,将差异体现出来之后,可以更好的对于每一个具体的实例进行表征提取,使得最终的表征更加贴近实例本身。
61.步骤440,根据实例样本的隐藏表征,确定实例样本的最终实例表征,实例样本的最终实例表征用于反映实例样本所包含的实例的特征信息。
62.实例样本的最终实例表征用于反映实例样本所包含的实例的特征信息。在一些实施例中,最终实例表征是能相对准确表征一个实例的表征。对于隐藏表征进行最终表征学习,可以确定出实例样本的最终实例表征。在一些实施例中,实例表征模型中使用表征抽取模块,来进行最终表征学习。可选地,表征抽取模块是一个全连接层。
63.步骤450,根据全量实例样本集合中的各个实例样本的最终实例表征,确定实例表征模型的训练损失,以对实例表征模型的参数进行调整。
64.通过最终实例表征,确定实例表征模型的训练损失。基于损失,推算模型权重的梯度变化,并基于梯度变化对实例表征模型的参数进行调整。
65.具体的如何确定训练损失,在下述实施例中有较为详细的说明,在此不作赘述。
66.本技术实施例提供的技术方案,通过根据各个实例样本的中间层表征与最近平均实例表征之间的差异,确定出实例样本的隐藏表征,基于隐藏表征确定出实例样本的最终实例表征并计算训练损失,基于训练损失调整实例表征模型的参数,通过将实例样本的最终实例表征与平均实例表征之间的差异通过隐藏表征进行放大,因此可以更好地训练实例表征模型,通过本技术提供的实例表征模型训练出来的最终实例表征更加贴近实例本身,缩小了最终实例表征与实例本身的差异。
67.请参考图7,其示出了本技术另一个实施例提供的实例表征模型的训练方法的流程图。该方法各步骤的执行主体可以是计算机设备。
68.在一些实施例中,实例表征模型包括初始表征抽取网络、中间表征抽取网络、最终表征抽取网络。本技术实施例对于具体的实例表征模型的架构不作限定,对于模型具体的参数也不作限定。在一些实施例中,如图6所示,实例表征模型包括初始表征抽取网络m1、中间表征抽取网络m2、最终表征抽取网络m3。
69.该方法可以包括如下几个步骤(510~590)中的至少一个步骤。
70.步骤510,对于全量实例样本集合中的各个实例样本,通过初始表征抽取网络对实例样本进行处理,得到实例样本的初始实例表征。
71.在一些实施例中,初始表征抽取网络采用resnet-101的特征提取模块,参数如表1。参考图6,m1是一种可能的初始表征抽取网络。
72.表1表1是resnet-101的特征提取模块的参数。
73.步骤520,通过中间表征抽取网络对实例样本的初始实例表征进行处理,得到实例样本的中间层实例表征。
74.在一些实施例中,将卷积层的输出结果作为输入,输入到中间层表征网络。在一些实施例中,将采用conv5(卷积层5)输出结果作为输入,接入池化层、fc层,fc的参数如表2所示。参考图6,m2是一种可能的中间层表征抽取网络。fc层的输出是1*64的中间层表征。
75.表2表2是fc层的参数。
76.步骤530,对全量实例样本集合中的多个实例样本分别对应的中间层实例表征进行聚类处理,得到多个中间层实例表征集合。
77.在一些实施例中,从全量实例样本集合中的多个实例样本中,随机选取m个实例样本作为聚类中心,m为大于1的整数;对于全量实例样本集合中的每一个实例样本,分别计算实例样本的中间层实例表征与m个聚类中心的中间层实例表征之间的表征相似度;选择表征相似度的最小值对应的聚类中心,作为实例样本归属的聚类中心;执行多次迭代得到m个更新后的聚类中心,并根据m个更新后的聚类中心各自拥有的实例样本,得到m个中间层实例表征集合。
78.在一些实施例中,请参考图4,将图4中的所有实例样本作为全量实例样本集合,从
全量实例样本集合中的多个实例样本中,随机选取3个实例样本作为聚类中心;对于全量实例样本集合中的每一个实例样本,分别计算实例样本的中间层实例表征与3个聚类中心的中间层实例表征之间的表征相似度;选择表征相似度的最小值对应的聚类中心,作为实例样本归属的聚类中心;执行多次迭代得到3个更新后的聚类中心,并根据3个更新后的聚类中心各自拥有的实例样本,得到3个中间层实例表征集合,可选地,中间层表征实例集合中表征的实例是相同的。可选地,其中有一个中间层实例表征集合表征的是短头发男人-g先生。
79.在一些实施例中,通过计算距离来表示中间层表征到聚类中心的相似度,本技术对于距离不作限定,可选地,距离可以是欧式距离、余弦距离等中的至少一种。
80.步骤540,从每一个中间层实例表征集合中,选择作为聚类中心的实例样本的中间层实例表征,作为中间层实例表征集合对应的平均实例表征。
81.聚类中心也就是一个聚类集合的中心。在本技术实施例中,聚类中心所代表的的中间层表征最贴近实例原型。
82.在一些实施例中,在确定出多个中间层实例表征集合之后,再选择集合的聚类中心的中间层实例表征作为中间层实例表征集合对应的平均实例表征。
83.可选地,如图6中z所示,z就是一个聚类中心(图6中将聚类中心作了放大处理,实际中中间层表征并没有被放大,相同实例样本彼此之间中间层表征差别不大)。
84.步骤550,对于全量实例样本集合中的各个实例样本,根据实例样本的中间层实例表征与实例样本对应的最近平均实例表征之间的差异,确定实例样本的隐藏表征。
85.步骤560,通过最终表征抽取网络对实例样本的隐藏表征进行处理,得到实例样本的最终实例表征。
86.参考图6,m3是一种可能的最终表征抽取网络。最终表征学习模块的参数如表3。
87.表3表3是最终表征学习模块的参数。
88.步骤570,从全量实例样本集合包含的各个实例样本中,提取多个样本对,多个样本对包括多个正样本对和多个负样本对;其中,每个正样本对包括的两个实例样本对应于同一个实例,每个负样本对包括的两个实例样本对应于两个不同的实例。
89.在一些实施例中,将全量实例样本集合包含的各个实例样本,分为多个实例相似样本组,每个实例相似样本组中包括多个对应于同一实例的实例样本;从同一个实例相似样本组中提取两个实例样本,生成一个正样本对,得到多个正样本对;从两个不同的实例相似样本组中提取两个实例样本,生成一个负样本对,得到多个负样本对;根据多个正样本对和多个负样本对,得到多个样本对。
90.在一些实施例中,对于多个实例相似样本组中的目标实例相似样本组,从目标实例相似样本组中提取一个实例样本作为锚点样本;从除目标实例相似样本组之外的其他实例相似样本组中,分别提取至少一个实例样本作为锚点样本对应的负样本;获取锚点样本
与各个负样本之间的样本相似度;选择样本相似度满足第一条件的至少一个负样本,与锚点样本组建得到至少一个负样本对;基于多个实例相似样本组分别得到的至少一个负样本对,得到多个负样本对。在一些实施例中,第一条件是指负样本和锚点样本的样本相似度满足第一阈值条件,该第一阈值条件可以基于样本相似度进行设定。在一些实施例中,第一条件是样本相似度处于第一取值范围,比如第一取值范围为[50%,90%],将相似度处于[50%,90%]的负样本与锚点样本组建得到负样本对。在一些实施例中,第一条件是样本相似度排序位置处于第二取值范围,比如排序位置为[6,25],将相似度按照从小到大排序,将相似度的位置处于[6,25]的负样本与锚点样本组建得到负样本对。
[0091]
在一些实施例中,如图4所示的全量实例样本集合中,a组、b组、c组分别是一个实例相似样本组,可以看出三组分别对应一个实例原型,a组对应短头发男人-g先生,b组对应站立男孩-小j,c组对应长头发女孩-小n。可选地,从a组中提取两个实例样本,生成一个正样本对,可以得到多个正样本对;从两个不同的实例相似样本组中提取两个实例样本,生成一个负样本对,例如从a组合b组中各自提取一个样本,可以得到一个负样本对。最终得到多个正样本对和负样本对。
[0092]
在一些实施例中,将a组作为目标实例相似样本组,从a组中提取一个实例样本作为锚点样本,可选地,选择a1作为锚点样本,从a组中的其他实例样本中选择一个作为正样本,锚点样本和正样本属于同一个实例相似样本组。从除去a组以外的其他b组和c组中,分别提取一个实例样本作为锚点样本对应的负样本,得到负样本组,根据图4中的全量实例样本组,可以得到负样本组中的负样本有两个。接着,根据负样本到锚点样本的相似度,来选择至少一个负样本,作为目标负样本,与之前的锚点样本组建一个负样本对。在一些实施例中,将所有负样本的表征到锚点样本的表征的距离进行排序,选择距离大的负样本,作为目标负样本。
[0093]
在一些实施例中,全量实例样本集合中有f1个实例相似样本组,选择其中一个实例相似样本组作为目标实例相似样本组,从目标实例相似样本组中选出锚点样本和正样本,从剩下的f1-1个实例样本组中,各挑出一个实例样本构成负样本组,计算所有负样本的表征到锚点样本的距离,并将f1-1个距离值进行排序,按照距离从小到大的顺序去掉距离最小的前5个负样本,将第6至第25个样本确定为目标负样本。在一些实施例中,按照距离从小到大的顺序去掉前r1%个负样本,将后面r2%的负样本确定为目标负样本。本技术对于目标负样本的数量不作限定,其中f1为正整数,r1、r2为小于100的正数。
[0094]
通过去除一定数量的距离较小的负样本,使得挑选出来的样本大概率都是难负样本(相差较大的样本),能够保证难负样本较多,有利于后续的训练学习。
[0095]
将正样本、锚点样本、负样本称为三元组,下面对于利用三元组对实例表征模型进行训练。
[0096]
步骤580,根据正样本对包括的两个实例样本的最终实例表征之间的差异度,以及负样本对包括的两个实例样本的最终实例表征之间的差异度,确定实例表征模型的训练损失。
[0097]
在一些实施例中,相似度可以用欧式距离来表征。
[0098]
在一些实施例中,通过正样本对包括的两个实例样本的最终实例表征之间的欧氏距离,以及负样本对包括的两个实例样本的最终实例表征之间的欧式距离计算三元组损
失。
[0099]
步骤590,根据训练损失对实例表征模型的参数进行调整。
[0100]
表4表4是平均实例表征模块的参数,在全量实例样本集合的训练中,可以聚类出多个平均实例表征。
[0101]
利用训练损失对于实例表征模型中的参数进行调整,可选地,利用梯度回传调整模型参数,在一些实施例中,对表1~表4的数据都进行调整。
[0102]
本技术实施例对于实例表征模型的具体模块不作限定,对于具体模块中的参数也不作限定。
[0103]
在一些实施例中,实例表征模型的参数可以是提前设置好的,也可以通过三元组样本训练之后确定的。
[0104]
本技术实施例提供的技术方案,通过根据实例样本的中间层表征与最近平均实例表征之间的差异,确定出实例样本的隐藏表征,基于隐藏表征确定出实例样本的最终实例表征并计算训练损失,基于训练损失调整实例表征模型的参数,通过将实例样本的最终实例表征与平均实例表征之间的差异通过隐藏表征进行放大,因此可以更好地训练实例表征模型,通过本技术提供的实例表征模型训练出来的最终实例表征更加贴近实例本身,缩小了最终实例表征与实例本身的差异。
[0105]
结合图6,下面给出一种可能的实例表征模型的训练方法,该方法可以包括如下几个步骤(s1~s10,图中未示出)中的至少一个步骤。
[0106]
步骤s1~s4是初始化平均实例表征的过程。
[0107]
s1,标注数据准备。
[0108]
获取图像极度相似样本对(又称正样本对),标注图像样本对是否足够相似的标签,如从海量数据中抽取两张图作为一对,送给标注,标注返回每对是/否足够相似。由于模型用于排重系统,故两个样本需要极度相似才算相似样本。
[0109]
s2,确定全量实例样本。
[0110]
从图像相似样本对中通过检测模型检测出多个实例。可选地,借助开源的80种常见物体检测数据集coco训练的开源物体检测模型yolo v5对标注的相似图像样本对进行物体检测(运行对应指令为python detect.py
ꢀ‑‑
weights yolov5n6.pt
ꢀ‑‑
img 1280)。
[0111]
可选地,可以采用基于业务数据训练的检测模型,如对于游戏应用,针对各虚拟角色训练游戏虚拟角色检测模型,可以检测不同的虚拟角色,用于游戏排重。
[0112]
s3,获取全量实例样本的图像信息及中间层实例表征。
[0113]
对全量实例样本首先进行基础特征提取,可以采用resnet-101的特征提取模块,参数如表1。中间层表征采用conv5输出结果作为输入,接入fc模块抽取中间层表征;最终表征学习模块采用表3;网络模型中的平均实例表征结构如表4,表4的参数可以不断被更新。
[0114]
s4,确定平均实例表征。
[0115]
首先对全量实例样本抽取中间层表征,对中间层表征经过特征聚类的聚类中心表征有限个平均实例原型(一般单独的一个特征点称为一个实例特征,这里由于是采用聚类中心故称为“平均”),得到平均实例表征。
[0116]
可选地,可以利用在imagenet数据集上预训练好的参数作为本技术的实例表征模型的初始参数。可选地,也可以采用图像三元组按本技术的实例表征模型的训练方法进行网络预训练后,作为预训练好的参数初始化本技术的实例表征模型。
[0117]
下面s5~s10是更新网络参数的过程。
[0118]
s5,确定三元组样本。
[0119]
由于训练度量学习特征需要由实例anchor(锚点样本)、positive(正样本)、negative(负样本)(a、p、n)组成的三元组样本进行损失函数学习,三元组样本中a和p构成正样本对,a和n构成负样本对,在学习任务中,正样本对是需要特征足够接近——l2距离(样本之间的距离)足够小,从而可被相互检索到,而负样本对需要足够远离。在上述标注中已经获取的每个样本对,可以作为三元组的anchor(锚点样本)和positive(正样本)(随机选择一张图为anchor(锚点样本)即可)。
[0120]
由于计算机gpu(graphics processing unit,图像处理器)内存有限、整体训练中需要把全量正样本对(所有实例对,相同或相似实例对,人工标注出相似的图像,经过模型截取出实例,在图像相似的前提下,截取出来的也是相同或相似的实例对)分批次(batch)送入gpu训练,故对于每个正样本组中的挖掘负样本以一个批次(batch)内部挖掘进行。
[0121]
对每个batch(批次)的实例正样本组(每组随机抽取2个图像组成正样本对作为本次学习图像,假设共有bs个正样本组,则带学习的图像有bs对),分别进行如下方式挖掘实例负样本得到三元组:对某个样本对x中的x-anchor(锚点样本)(随机选择一张作为anchor(锚点样本)):从剩余的bs-1个样本对(每对随机选择一张图像——由于输入为实例正样本对故为实例图像)的样本中计算其与x-anchor(锚点样本)的距离,按距离从小到大排序,去除top5(在此不作限定)图像后,取前20个样本作为难负样本(由于需要学习的是极度相似样本的特征,认为距离越小越相似,而海量数据中,两张图为极度相似的概率比较低,故直接去掉top5的相似样本、剩余的样本可构成三元组中的难负样本),分别与x组成三元组,故每个样本对产生20个三元组,整个batch(批次)得到20*bs个三元组。为了保证负样本对挖掘有效,bs需要设置相对大一点的值,如1024,其中,bs为正整数。
[0122]
基于三元组的度量学习对难样本要求多,若都是简单样本,则模型无法学到具有区分度的表征。实际上前20个负样本里不能保证全是难负样本,但能保证难样本比较多,故对学习有利。
[0123]
对全量共m个实例正样本组,每次迭代(epoch,每次迭代会遍历一次所有正样本组)从每个实例正样本组中随机抽取2个样本组成正样本对,最终每次迭代需要处理m个实例正样本对,m为正整数。
[0124]
s6,确定三元组样本的中间层实例表征。
[0125]
将三元组样本输入到实例表征模型中后,得到中间层表征。
[0126]
s7,抽取平均实例表征中最接近三元组样本的中间层实例表征的表征,并确定三元组样本的隐藏表征。
[0127]
根据每个具体实例样本的中间层表征与目标平均实例表征(平均实例原型出来
的)间差异抽取到具有该实例特性的具备差异性的隐藏表征。目标平均实例表征是所有平均实例表征到样本的中间层表征距离最近的表征。
[0128]
s8,确定三元组样本的最终实例表征。
[0129]
进一步经过最终表征模块的学习得到该实例的最终表征。
[0130]
s9,确定三元组的训练损失。
[0131]
训练时神经网络对输入三元组的每张图片进行前向计算,获取表3的输出,计算损失。
[0132]
在batch(批次)样本中找到三元组(a,p,n)后,对这些三元组样本的最终表征计算损失。损失的计算如下,其中为margin(常数),表示两个embedding(嵌入向量)的l2距离。损失的目的是使得anchor(锚点样本)与negative(负样本)的距离比距离positive(正样本)的距离大于margin(常数),特征的margin(常数)设置为0.6(可以调整,一次迭代一般不变),公式如下:其中,表示的是三元组的损失,表示锚点样本的表征到正样本的表征的欧式距离,表示锚点样本的表征到负样本的表征的欧式距离。
[0133]
s10,更新网络参数。
[0134]
采用计算到的loss进行梯度后向计算,得到该阶段需要更新的网络参数的梯度,并更新参数值。每个批次的学习由该批次的损失回传得到梯度后,根据不同的学习率更新网络权重。参与学习的网络参数采用0.0005学习率,每10轮学习率调整为原来的0.1倍。
[0135]
每次迭代在抽取到m个正样本对后,每bs个正样本对为一个批次(batch,以batch为单位更新网络,一个batch(批次)的数据更新一次网络参数),共m/bs个批次,每1个批次样本先进行上述三元组挖掘,得到三元组样本后输入到模型中,进行模型前向计算,计算相应损失值、并借助sgd梯度回传计算到网路每个参数的梯度;根据梯度更新模型参数,当完成了全量m/bs次更新后,完成一个epoch(迭代);共进行k1个epoch(迭代)训练后结束(或当连续10个epoch(迭代)的平均loss(损失)没有下降),其中m、bs、k1均为正整数。
[0136]
请参考图8,其示出了本技术一个实施例提供的相似视频的确定方法的流程图。该方法各步骤的执行主体可以是计算机设备。该方法可以包括如下几个步骤(610~640)中的至少一个步骤。
[0137]
步骤610,从查询视频中提取多个实例图像。
[0138]
在一些实施例中,查询视频中包括多个实例,可选地,截取查询视频的每一帧画面,提取每一帧画面的实例图像,可选地,为了减少计算量,还可以每l帧截取一次视频画面,提取截取的画面的实例图像,l为正整数。
[0139]
步骤620,通过实例表征模型获取各个实例图像的最终实例表征,实例图像的最终实例表征用于反映实例图像所包含的实例的特征信息。
[0140]
将实例图像作为实例样本输入至实例表征模型中,得到各个实例图像的最终实例
表征。实例图像的最终实例表征用于反映实例图像所包含的实例的特征信息。在一些实施例中,实例图像的最终实例表征使用深度哈希特征反映实例图像所包含的实例的特征信息。
[0141]
步骤630,将各个实例图像的最终实例表征进行聚类筛选,确定查询视频的实例表征信息。
[0142]
对各个实例图像的最终实例表征进行聚类筛选是为了剔除边缘数据,例如偏差较大的数据或者不那么好的数据都进行筛选。
[0143]
在一些实施例中,查询视频的实例表征信息包括查询视频中的所有最终实例表征的实例表征信息。在一些实施例中,查询视频的实例表征信息包括:实例数量、实例表征数量、实例所属类别的数量、实例表征标识、实例所属类别的标识、实例所属视频的标识。例如,对于长发女孩-小n这个实例,根据最终筛选出来的最终实例表征,可以确定该实例下对应有多个最终实例表征。对于每一个最终实例表征都进行标号。在一些实施例中,查询视频的下有l1个实例,对于每个实例下,都有若干个最终实例表征,也即每个最终实例表征对应实例所属的类别、实例所属的视频,为了便于区分,对所有视频、类别、实例都进行编号,因此根据每个最终实例表征可以对应到该表征对应的实例、该实例下的最终表征数量、该实例对应的类别、该表征对应的视频、该视频下的实例数量。
[0144]
步骤640,根据查询视频的实例表征信息和视频库中包含的各个候选视频的实例表征信息,从视频库中选择符合第二条件的目标候选视频,作为查询视频对应的相似视频。
[0145]
在一些实施例中,视频库的实例表征信息包括视频库中包含的所有视频中的图像的最终实例表征的实例表征信息。在一些实施例中,视频库的实例表征信息包括:实例数量、实例表征数量、实例所属类别的数量、实例表征标识、实例所属类别的标识、实例所属视频的标识。在一些实施例中,第二条件是用于筛选目标候选视频的条件。在一些实施例中,第二条件是指目标候选视频的最终实例表征与查询视频的最终实例表征的相似度满足第二阈值条件,该第二阈值条件可以基于上述两者的最终实例表征的相似度来设定。在一些实施例中,第二条件是指目标候选视频的最终实例表征与查询视频的最终实例表征的相似度处于第三取值范围,比如第三取值范围是[90%,100%],将相似度处于[90%,100%]的候选视频作为目标候选视频。在一些实施例中,第二条件是指相似度的排序位置处于第四取值范围,比如第四取值范围是[1,10],将相似度按照从大到小的排序进行排序,将相似度的排序位置处于[1,10]的视频确定为目标候选视频。在一些实施例中,第二条件是指相似度满足第一阈值,比如第一阈值是0.9,将相似度达到0.9的视频确定为目标候选视频。
[0146]
在一些实施例中,根据查询视频的实例表征和视频库中包含的各个候选视频的实例表征之间的相似度关系,确定出相似视频。具体的如何根据相似度关系确定出相似视频,见下述实施例,在此不作赘述。本技术实施例提供的技术方案,通过获取查询视频的最终实例表征与实例表征信息,可以确定出视频库中与查询视频相似的目标候选视频,使得对于相似视频的选择更加准确,提高了检测结果的精度,通过实例表征信息,也可以更快地确定出相似视频,也提高了检测效率。
[0147]
本技术实施例提供的技术方案,不仅可以单独成为一种相似视频的确定方法,对视频排重结果进行排序,并返回排序后的结果,实现排重召回视频的更优输出,同时还可以和现有的相似视频的排重系统相结合,实现更优输出。
[0148]
请参考图9,其示出了本技术另一个实施例提供的相似视频的确定方法的流程图。该方法各步骤的执行主体可以是计算机设备。该方法可以包括如下几个步骤(710~792)中的至少一个步骤。
[0149]
步骤710,从查询视频中提取多个实例图像。
[0150]
步骤720,对于每一个实例图像,通过实例表征模型获取实例图像的中间层实例表征。
[0151]
在一些实施例中,通过初始表征抽取网络对实例图像进行处理,得到实例图像的初始实例表征;通过中间表征抽取网络对实例图像的初始实例表征进行处理,得到实例图像的中间层实例表征。
[0152]
图10示出了一个可能的相似视频检测方法的示意图。通过初始表征抽取网络m1对实例图像进行处理,得到实例图像的初始实例表征;通过中间表征抽取网络m2对实例图像的初始实例表征进行处理,得到实例图像的中间层实例表征。
[0153]
步骤730,根据实例图像的中间层实例表征和多个平均实例表征,确定实例图像的隐藏表征。
[0154]
从多个平均实例表征中,确定最近平均实例表征,最近平均实例表征是指与实例图像的中间层实例表征最接近的平均实例表征;根据实例图像的中间层实例表征与最近平均实例表征之间的差异,确定实例图像的隐藏表征。
[0155]
从平均实例表征抽取出和实例图像的中间层实例表征最接近的平均实例表征,在一些实施例中,通过计算实例图像的中间层实例表征和平均实例表征中的欧式距离,将欧式距离最小的对应的平均实例表征确定为实例图像的最近平均表征,将最近平均表征和中间层表征的差值确定为实例图像的隐藏表征。
[0156]
步骤740,通过实例表征模型根据实例图像的隐藏表征,确定实例图像的最终实例表征。
[0157]
通过最终表征抽取网络对实例图像的隐藏表征进行处理,得到实例图像的最终实例表征。
[0158]
在图9中,通过最终表征抽取网络m3对实例图像的隐藏表征进行处理,得到实例图像的最终实例表征。
[0159]
步骤750,对各个实例图像进行分类,得到多个实例图像类别,每个实例图像类别中包含至少一个实例图像。
[0160]
在一些实施例中,查询视频对应多个实例,每个实例对应不同的类别,所以对实例图像进行分类,将相同类别下的实例图像归类,也可以理解为形成上述实施例中全量实例样本集合。
[0161]
步骤760,将属于同一个实例图像类别的实例图像的最终实例表征进行聚类。
[0162]
对经过实例表征模型确定出来的最终实例表征进行聚类,在一些实施例中,通过k-means聚类算法对最终实例表征进行聚类,得到多个聚类集合以及多个聚类中心,将聚类集合中离聚类中心的距离大于第二阈值的最终实例表征去除,保留第二阈值内的最终实例表征,在一些实施例中,第二阈值为0.2。可选地,将所有距离进行才小到大排序,保留距离前r3%的最终实例表征,在一些实施例中,r3为40。可选地,保留距离为前r3%且满足第二阈值的最终实例表征,r3为不大于100的正数。
[0163]
步骤770,根据聚类结果确定查询视频的实例表征信息。
[0164]
根据聚类确定出来的最终实例表征,确定查询视频的实例表征信息。也即确定最终实例表征的实例数量、实例表征数量、实例所属类别的数量、实例表征标识、实例所属类别的标识、实例所属视频的标识。
[0165]
步骤780,根据查询视频的实例表征信息和视频库中包含的各个候选视频的实例表征信息,从视频库中选择多个候选视频作为召回视频。
[0166]
将视频库中的各个视频截取实例图像,输入到训练后的实例表征模型中,得到视频库中各个视频的最终实例表征,每个最终实例表征都对应实例表征信息,对应实例数量、实例表征数量、实例所属类别的数量、实例表征标识、实例所属类别的标识、实例所属视频的标识。当确定出视频库中的某个最终实例表征时,可以基于实例表征信息中该最终表征实例对应的视频标识,确定出该最终实例表征属于视频库中的哪一个视频。
[0167]
步骤790,基于查询视频的实例表征信息以及各个召回视频的实例表征信息,得到各个召回视频的匹配分。
[0168]
从视频库的最终实例表征中选出符合第三条件的最终实例表征作为目标实例表征,最终实例表征集合根据视频库中包含的各个候选视频中各个实例图像的最终实例表征确定;根据目标实例表征所属类别的权重信息、查询视频的实例表征信息中的实例数量和实例表征数量,得到召回视频相对于查询视频的匹配分,作为所述召回视频的匹配分;或,根据目标实例表征所属类别的权重信息、视频库的实例表征信息中的实例数量和实例表征数量,得到查询视频相对于召回视频的匹配分,作为所述召回视频的匹配分。在一些实施例中,第三条件是用于筛选目标实例表征的条件。在一些实施例中,第三条件是指目标实例表征与查询视频的最终实例表征的相似度满足第三阈值条件,该第三阈值条件可以基于上述两者的相似度来设定。在一些实施例中,第三条件是指视频库的最终实例表征与查询视频的最终实例表征的相似度处于第五取值范围,比如第五取值范围是[95%,100%],将相似度处于[95%,100%]的最终实例表征作为目标实例表征。在一些实施例中,第三条件是指相似度的排序位置处于第六取值范围,比如第六取值范围是[1,5],将最终实例表征的相似度按照从大到小的排序进行排序,将相似度的排序位置处于[1,5]的最终实例表征确定为目标实例表征。在一些实施例中,第三条件是指最终实例表征的相似度满足第三阈值,比如第三阈值是0.95,将相似度达到0.95的最终实例表征确定为目标实例表征。
[0169]
在一些实施例中,将视频库中的最终实例表征中到查询视频中的最终实例表征的距离小于第四阈值的表征确定为目标实例表征,目标实例表征是视频库的最终实例表征中与查询视频中的实例表征中有匹配的表征。可选地,第四阈值的大小是人为设定的,可选地,第四阈值是0.3。
[0170]
在一些实施例中,不同类别的物体有着不同的权重,可以将重要类别的物体的权重设置的高一些,而将相对不那么重要的类别的物体的权重设置的低一些,例如当查询视频主要是人物视频时,可以将人物的权重设置为1.5,而车或者动物的权重设置为1.5,通过这样的设置,可以使得在计算匹配分时,能够突出重点,有侧重点的设置类别权重,支持不同排重需求的定制化排序,对于以人物优先、或者物体优先排重等不同业务排重需求,可通过调节物体所属类别的检索重要性定制化设置,在排重计算匹配分时引入不同类别优先级,从而支持业务定制化排重效果。
[0171]
在一些实施例中,也可以对所有类别的物体设置相同的权重。
[0172]
在一些实施例中,匹配分是查询得分,是召回视频相对于查询视频的匹配分,根据目标实例表征所属类别的权重信息、查询视频的实例表征信息中的实例数量、实例表征数量,得到查询得分,查询得分与类别的权重成正比,与查询视频总实例数量成反比、该实例下总实例表征数量成反比。
[0173]
在一些实施例中,匹配分是数据库得分,是查询视频相对于召回视频的匹配分,根据目标实例表征所属类别的权重信息、视频库的实例表征信息中的实例数量、实例表征数量,得到查询视频相对于召回视频的匹配分,数据库得分与类别的权重成正比,与视频库总实例数量成反比、该实例下总实例表征数量成反比。
[0174]
在一些实施例中,将查询得分作为最终匹配分,按照匹配分的到小的顺序,返回召回视频。
[0175]
在一些实施例中,将数据库得分作为最终匹配分,按照匹配分的到小的顺序,返回召回视频。
[0176]
在一些实施例中,综合考虑查询得分与数据库得分,可选地,将查询得分与数据库得分进行加权,确定最终的匹配分。
[0177]
步骤792,根据各个召回视频的匹配分的大小关系,从各个召回视频中选择目标候选视频作为查询视频对应的相似视频。
[0178]
在一些实施例中,将匹配分按照从大到小的顺序,取前r4%的匹配分所对应的召回视频作为查询视频对应的相似视频,r4是小于100的正整数。在一些实施例中,r4的值为5,也即将匹配分按照从大到小的顺序,取前5%的匹配分所对应的召回视频作为查询视频对应的相似视频。
[0179]
结合图9所示的流程图,可选地,第二条件是将从视频库中取前r4%的匹配分所对应的视频作为查询视频对应的相似视频。本技术实施例提供的技术方案,通过获取查询视频的最终实例表征与实例表征信息,可以确定出视频库中与查询视频相似的目标候选视频,使得对于相似视频的选择更加准确,提高了检测结果的精度,通过实例表征信息,也可以更快地确定出相似视频,也提高了检测效率。
[0180]
通过定制物体类别的权重,可以实现有侧重的在视频库中进行筛选,进一步的提高了检索结果的准确性。
[0181]
结合图10,下面给出一种可能的建立实例库的方法,该方法可以包括如下几个步骤(q1~q4,图中未示出)中的至少一个步骤。
[0182]
q1,提取实例图像。
[0183]
对于视频库,每1s抽一帧,得到多帧全局图像,每张图像进行物体检测,得到多个物体框,并根据物体框截取到多个实例图像。
[0184]
q2,获取实例图像的最终表征。
[0185]
对截取的实例图像提取本技术所述实例表征模型的最终实例表征。
[0186]
q3,确定视频库的最终实例表征。
[0187]
对视频库的所有实例图像的最终实例表征(最多80个类别,由于coco共80类),对某个类别i的最终实例表征,用k-means聚类(聚类数量为ki,ki为正整数,ki=该类别检测到物体框数量/10,若该类别检测到的数量少于10则ki=1),得到ki个中心,表示选择了ki个实
例中心(这里的实例中心有可能重复,如当一辆车反复出现多次,则ki中可能有2个中心指示都是这辆车,但是两种不同的状态);对类别i的所有最终实例表征(假设针对某物体表征j),都从ki个中心中找到距离最近的那个中心x,表明该最终实例表征j可能属于x中心所代表的实例,从而每个中心都能找到其所可能包含的最终实例表征。对ki个中心,对每个中心可能包含的最终实例表征中,选择距离中心最近的前40%物体且最终实例表征间的距离(最终实例表征和中心表征的欧氏距离)小于thr(预定义值,如0.2,thr为正数)的,认为是该中心的实例。剩余的最终实例表征舍弃。最终得到ki个实例,每个实例包含一定数量的最终实例表征,最终确定出视频库的所有最终实例表征。
[0188]
q4,确定视频库的实例表征信息。
[0189]
上述视频库的最终实例表征存到库存里,每个最终实例表征的存储格式为embedding(嵌入向量)-》(embedding id(embedding identification,表征标识),实例 id(identification,标识),类别id,视频id,该视频该类别下总实例数n1,该视频下总类别数n2,该视频下总实例数n3,该实例总表征数n4),embedding(嵌入向量)后关联的信息是用于后续检索的。
[0190]
结合图10,下面给出一种可能的查询相似视频的方法,该方法可以包括如下几个步骤(p1~p4,图中未示出)中的至少一个步骤。
[0191]
p1,获取查询视频的最终实例表征以及实例表征信息。
[0192]
将查询视频输入到本技术中的实例表征模型,获得查询视频的最终实例表征,同时查询每个有实例表征的实例表征信息:embedding(嵌入向量)-》(embedding id(表征标识),实例 id,类别id,视频id,该视频该类别下总实例数nq1,该视频下总类别数nq2,该视频下总实例数nq3,该实例总embedding数nq4——用于查询的总embedding(嵌入向量)数量,nq2和nq3均为正整数)。
[0193]
p2,从视频库的最终实例表征中确定出目标实例表征以及目标实例表征对应的召回视频。
[0194]
对查询视频的每个embedding(嵌入向量)从库存的所有embedding(嵌入向量)中计算欧氏距离小于thr2(如0.3)的目标实例表征,并获取到目标实例表征的实例表征信息。由于目标实例表征的实例表征信息中包含了视频id,故此步骤可以获取召回的所有相似的视频。
[0195]
p3,计算召回视频的匹配分。
[0196]
统计查询视频与召回视频在相同类别下有匹配的实例数量n1,每个实例匹配的embedding(嵌入向量)数量n0(使用时针对不同的实例,如实例i,需要加下标区分,如n0_i),有匹配的类别数量n2,n1、n0均为非负整数,i为正整数。
[0197]
获取每类物体的检索重要性ci(预定义的权重,ci为非负数,如人物权重1.5,动物1,车0.8等,或所有类别都采用相同的权重1。此处可根据业务定制化,针对排重侧重点不同的业务非常有意义,如对用户上传的生活类小视频排重更倾向于对视频中的实物或动物需要区分清楚,而不在意是否是同一个人在介绍这些物体,此时人物权重可以设置为0.5,而其他物体权重可以设置为1;如对于淘宝直播类型,对视频中的货物更重视,此时人物权重可以为0,其他为1)。
[0198]
通过下式计算视频库针对查询视频的得分score_query(查询得分),以及查询视
频针对视频库的得分。对于score_query式子表示对每个有匹配的embedding(嵌入向量),计算其占查询视频总embedding(嵌入向量)比例并加权——该权重为:embedding(嵌入向量)所属类别权重ci/查询总实例数nq3,对score_db(视频库得分)亦然。其中n0_i表示查询视频的实例i的查询embedding(嵌入向量)中,与召回视频有匹配的embedding(嵌入向量)数量。视频库总实例数为n3,视频库总实例表征数为n4。数量。视频库总实例数为n3,视频库总实例表征数为n4。
[0199]
p4,根据匹配分将召回视频排序,得到相似视频。
[0200]
对所有视频库召回的视频计算score_query(查询得分),根据score(得分)从大到小排序,得到实例检索的排序结果返回。
[0201]
在一些实施例中,基于全图特征的表征中,也可以采用本技术的相似视频的排重方法。采用全图embedding(嵌入向量)从视频库召回视频,如对所有视频库每帧图像的embedding(嵌入向量)入库,对查询视频每帧图像embedding(嵌入向量)从库存中检索欧氏距离小于thr3(thr3为正数,如0.5)的embedding(嵌入向量),根据检索出来的embedding(嵌入向量)所属的视频id获得召回视频。对每个召回视频,采用上述步骤p3所述的方法计算匹配分,并对召回视频的匹配分进行排序,返回排序后的结果。
[0202]
本技术实施例提供的技术方案,通过获取查询视频的最终实例表征与实例表征信息,可以确定出视频库中与查询视频相似的目标候选视频,使得对于相似视频的选择更加准确,提高了检测结果的精度,通过实例表征信息,也可以更快地确定出相似视频,也提高了检测效率。
[0203]
下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
[0204]
请参考图11,其示出了本技术一个实施例提供的实例表征模型的训练装置的框图。该装置1100可以包括:中间层表征获取模块1110、平均表征确定模块1120、隐藏表征确定模块1130、最终表征确定模块1140和参数调整模块1150。
[0205]
所述中间层表征获取模块1110,用于通过所述实例表征模型,获取全量实例样本集合中的多个实例样本分别对应的中间层实例表征。
[0206]
所述平均表征确定模块1120,用于根据所述全量实例样本集合中的多个实例样本分别对应的中间层实例表征,确定多个平均实例表征,所述平均实例表征是属于同一聚类集合的各个实例样本的中间层实例表征的平均表征。
[0207]
所述隐藏表征确定模块1130,用于对于所述全量实例样本集合中的各个实例样本,根据所述实例样本的中间层实例表征与所述实例样本对应的最近平均实例表征之间的差异,确定所述实例样本的隐藏表征;其中,所述实例样本对应的最近平均实例表征是指所
述多个平均实例表征中与所述实例样本的中间层实例表征最接近的平均实例表征。
[0208]
所述最终表征确定模块1140,用于根据所述实例样本的隐藏表征,确定所述实例样本的最终实例表征,所述实例样本的最终实例表征用于反映所述实例样本所包含的实例的特征信息。
[0209]
所述参数调整模块1150,用于根据所述全量实例样本集合中的各个所述实例样本的最终实例表征,确定所述实例表征模型的训练损失,以对所述实例表征模型的参数进行调整。
[0210]
在一些实施例中,如图12所示,所述参数调整模块1150包括样本对提取子模块1152、损失确定子模块1154、参数调整子模块1156。
[0211]
所述样本对提取子模块1152,用于从所述全量实例样本集合包含的各个所述实例样本中,提取多个样本对,所述多个样本对包括多个正样本对和多个负样本对;其中,每个所述正样本对包括的两个实例样本对应于同一个实例,每个所述负样本对包括的两个实例样本对应于两个不同的实例。
[0212]
所述损失确定子模块1154,用于根据所述正样本对包括的两个实例样本的最终实例表征之间的差异度,以及所述负样本对包括的两个实例样本的最终实例表征之间的差异度,确定所述实例表征模型的所述训练损失。
[0213]
所述参数调整子模块1156,用于根据所述训练损失对所述实例表征模型的参数进行调整。
[0214]
在一些实施例中,如图12所示,所述样本对提取子模块1152包括分组单元1152a、样本对生成单元1152b、样本对提取单元1152c。
[0215]
所述分组单元1152a,用于将所述全量实例样本集合包含的各个所述实例样本,分为多个实例相似样本组,每个所述实例相似样本组中包括多个对应于同一实例的实例样本。
[0216]
所述样本对生成单元1152b,用于从同一个所述实例相似样本组中提取两个实例样本,生成一个所述正样本对,得到所述多个正样本对。
[0217]
所述样本对生成单元1152b,还用于从两个不同的所述实例相似样本组中提取两个实例样本,生成一个所述负样本对,得到所述多个负样本对。
[0218]
所述样本对提取单元1152c,根据所述多个正样本对和所述多个负样本对,得到所述多个样本对。
[0219]
在一些实施例中,所述样本对生成单元1152b,用于对于所述多个实例相似样本组中的目标实例相似样本组,从所述目标实例相似样本组中提取一个实例样本作为锚点样本。
[0220]
所述样本对生成单元1152b,用于从除所述目标实例相似样本组之外的其他实例相似样本组中,分别提取至少一个实例样本作为所述锚点样本对应的负样本。
[0221]
所述样本对生成单元1152b,用于获取所述锚点样本与各个所述负样本之间的样本相似度。
[0222]
所述样本对生成单元1152b,用于选择所述样本相似度满足第一条件的至少一个负样本,与所述锚点样本组建得到至少一个负样本对。
[0223]
所述样本对生成单元1152b,用于基于所述多个实例相似样本组分别得到的至少
一个负样本对,得到所述多个负样本对。
[0224]
在一些实施例中,如图12所示,所述平均表征确定模块1120包括表征聚类子模块1122、平均表征确定子模块1124。
[0225]
所述表征聚类子模块1122,用于对所述全量实例样本集合中的多个实例样本分别对应的中间层实例表征进行聚类处理,得到多个中间层实例表征集合。
[0226]
所述平均表征确定子模块1124,用于从每一个所述中间层实例表征集合中,选择作为聚类中心的实例样本的中间层实例表征,作为所述中间层实例表征集合对应的平均实例表征。
[0227]
在一些实施例中,所述表征聚类子模块1122,用于从所述全量实例样本集合中的多个实例样本中,随机选取m个实例样本作为聚类中心,m为大于1的整数。
[0228]
所述表征聚类子模块1122,用于对于所述全量实例样本集合中的每一个实例样本,分别计算所述实例样本的中间层实例表征与m个所述聚类中心的中间层实例表征之间的表征相似度。
[0229]
所述表征聚类子模块1122,用于选择表征最小相似度的最小值对应的聚类中心,作为所述实例样本归属的聚类中心。
[0230]
所述表征聚类子模块1122,用于执行多次迭代得到m个更新后的聚类中心,并根据所述m个更新后的聚类中心各自拥有的实例样本,得到m个所述中间层实例表征集合。
[0231]
在一些实施例中,所述实例表征模型包括初始表征抽取网络、中间表征抽取网络和最终表征抽取网络。
[0232]
在一些实施例中,所述中间层表征获取模块1110,用于对于所述全量实例样本集合中的各个所述实例样本,通过所述初始表征抽取网络对所述实例样本进行处理,得到所述实例样本的初始实例表征。
[0233]
所述中间层表征获取模块1110,用于通过所述中间表征抽取网络对所述实例样本的初始实例表征进行处理,得到所述实例样本的中间层实例表征。
[0234]
在一些实施例中,所述隐藏表征确定模块1130,用于通过所述最终表征抽取网络对所述实例样本的隐藏表征进行处理,得到所述实例样本的最终实例表征。
[0235]
本技术实施例提供的技术方案,通过根据实例样本的中间层表征与最近平均实例表征之间的差异,确定出实例样本的隐藏表征,基于隐藏表征确定出实例样本的最终实例表征并计算训练损失,基于训练损失调整实例表征模型的参数,通过将实例样本的最终实例表征与平均实例表征之间的差异通过隐藏表征进行放大,因此可以更好地训练实例表征模型,通过本技术提供的实例表征模型训练出来的最终实例表征更加贴近实例本身,缩小了最终实例表征与实例本身的差异。
[0236]
请参考图13,其示出了本技术一个实施例提供的相似视频的确定装置的框图。该装置1300可以包括:实例图像确定模块1310、最终表征获取模块1320、表征信息确定模块1330和相似视频选择模块1340。
[0237]
所述实例图像确定模块1310,用于从查询视频中提取多个实例图像。
[0238]
所述最终表征获取模块1320,用于通过实例表征模型获取各个所述实例图像的最终实例表征,所述实例图像的最终实例表征用于反映所述实例图像所包含的实例的特征信息;
所述表征信息确定模块1330,用于将各个所述实例图像的最终实例表征进行聚类筛选,确定所述查询视频的实例表征信息。
[0239]
所述相似视频选择模块1340,用于根据所述查询视频的实例表征信息和视频库中包含的各个候选视频的实例表征信息,从所述视频库中选择符合第二条件的目标候选视频,作为所述查询视频对应的相似视频。
[0240]
在一些实施例中,如图14所示,所述最终表征获取模块1320包括中间层表征获取子模块1322、隐藏表征确定子模块1324和最终表征确定子模块1326。
[0241]
所述中间层表征获取子模块1322,用于对于每一个所述实例图像,通过所述实例表征模型获取所述实例图像的中间层实例表征。
[0242]
所述隐藏表征确定子模块1324,用于根据所述实例图像的中间层实例表征和多个平均实例表征,确定所述实例图像的隐藏表征;其中,所述平均实例表征是属于同一聚类集合的各个实例样本的中间层实例表征的平均表征。
[0243]
所述最终表征确定子模块1326,用于通过所述实例表征模型根据所述实例图像的隐藏表征,确定所述实例图像的最终实例表征。
[0244]
在一些实施例中,所述隐藏表征确定子模块1324,用于从所述多个平均实例表征中,确定最近平均实例表征,所述最近平均实例表征是指与所述实例图像的中间层实例表征最接近的平均实例表征。
[0245]
所述隐藏表征确定子模块1324,用于根据所述实例图像的中间层实例表征与所述最近平均实例表征之间的差异,确定所述实例图像的隐藏表征。
[0246]
在一些实施例中,所述实例表征模型包括初始表征抽取网络、中间表征抽取网络和最终表征抽取网络。
[0247]
所述中间层表征获取子模块1322,用于通过所述初始表征抽取网络对所述实例图像进行处理,得到所述实例图像的初始实例表征。
[0248]
所述中间层表征获取子模块1322,用于通过所述中间表征抽取网络对所述实例图像的初始实例表征进行处理,得到所述实例图像的中间层实例表征。
[0249]
在一些实施例中,所述最终表征确定子模块1326,用于通过所述最终表征抽取网络对所述实例图像的隐藏表征进行处理,得到所述实例图像的最终实例表征。
[0250]
在一些实施例中,如图14所示,所述表征信息确定模块1330,用于对各个所述实例图像进行分类,得到多个实例图像类别,每个所述实例图像类别中包含至少一个实例图像。
[0251]
所述表征信息确定模块1330,用于将属于同一个所述实例图像类别的实例图像的最终实例表征进行聚类。
[0252]
所述表征信息确定模块1330,用于根据聚类结果确定所述查询视频的实例表征信息。
[0253]
在一些实施例中,如图14所示,所述相似视频选择模块1340包括召回视频确定子模块1342、匹配分确定子模块1344、视频选择子模块1346。
[0254]
所述召回视频确定子模块1342,用于根据所述查询视频的实例表征信息和所述视频库中包含的各个候选视频的实例表征信息,从所述视频库中选择多个候选视频作为召回视频。
[0255]
所述匹配分确定子模块1344,用于基于所述查询视频的实例表征信息以及各个所
述召回视频的实例表征信息,得到各个所述召回视频的匹配分。
[0256]
所述视频选择子模块1346,用于根据各个所述召回视频的匹配分的大小关系,从各个所述召回视频中选择所述目标候选视频作为所述查询视频对应的相似视频。
[0257]
在一些实施例中,所述匹配分确定子模块1344,用于从所述视频库的最终实例表征集合中选出符合第三条件的实例表征作为目标实例表征,所述最终实例表征集合根据所述视频库中包含的各个候选视频中各个实例图像的最终实例表征确定。
[0258]
所述匹配分确定子模块1344,用于根据所述目标实例表征所属类别的权重信息、所述查询视频的实例表征信息中的实例数量和实例表征数量,得到所述召回视频相对于所述查询视频的匹配分,作为所述召回视频的匹配分;或,所述匹配分确定子模块,用于根据所述目标实例表征所属类别的权重信息、所述视频库的实例表征信息中的实例数量和实例表征数量,得到所述查询视频相对于所述召回视频的匹配分,作为所述召回视频的匹配分。
[0259]
本技术实施例提供的技术方案,通过获取查询视频的最终实例表征与实例表征信息,可以确定出视频库中与查询视频相似的目标候选视频,使得对于相似视频的选择更加准确,提高了检测结果的精度,通过实例表征信息,也可以更快地确定出相似视频,也提高了检测效率。
[0260]
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0261]
图15示出了本技术一个示例性实施例提供的计算机设备的结构框图。
[0262]
通常,计算机设备1500包括有:处理器1501和存储器1502。
[0263]
处理器1501可以包括一个或多个处理核心,比如4核心处理器、15核心处理器等。处理器1501可以采用dsp(digital signal processing,数字信号处理)、fpga(field programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1501可以在集成有gpu,gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1501还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
[0264]
存储器1502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是有形的和非暂态的。存储器1502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1502中的非暂态的计算机可读存储介质存储有计算机程序,该计算机程序由处理器1501加载并执行以实现上述各方法实施例提供的实例表征模型的训练方法,或者相似视频的确定方法。
[0265]
本领域技术人员可以理解,图15中示出的结构并不构成对计算机设备1500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0266]
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有
计算机程序,所述计算机程序在被处理器执行时以实现上述实例表征模型的训练方法,或实现上述相似视频的确定方法。
[0267]
可选地,该计算机可读存储介质可以包括:rom(read-only memory,只读存储器)、ram(random access memory,随机存取存储器)、ssd(solid state drives,固态硬盘)或光盘等。其中,随机存取存储器可以包括reram(resistance random access memory,电阻式随机存取存储器)和dram(dynamic random access memory,动态随机存取存储器)。
[0268]
在示例性实施例中,还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中。终端设备的处理器从所述计算机可读存储介质中读取所述计算机程序,所述处理器执行所述计算机程序,使得所述终端设备执行上述实例表征模型的训练方法,或执行上述相似视频的确定方法。
[0269]
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本技术实施例对此不作限定。
[0270]
以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1