CN111507289A - 视频匹配方法、计算机设备和存储介质 - Google Patents
视频匹配方法、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN111507289A CN111507289A CN202010321932.1A CN202010321932A CN111507289A CN 111507289 A CN111507289 A CN 111507289A CN 202010321932 A CN202010321932 A CN 202010321932A CN 111507289 A CN111507289 A CN 111507289A
- Authority
- CN
- China
- Prior art keywords
- video
- video frame
- loss
- video source
- source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/48—Matching video sequences
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及一种视频匹配方法、计算机设备和存储介质。包括:获取视频源;将视频源输入至神经网络模型中进行特征提取,得到视频源中各个视频帧对应的特征向量;根据视频源中各个视频帧对应的特征向量和预设的视频库,在视频库中确定与视频源匹配的目标视频序列;其中,神经网络模型是根据正样本视频源和负样本视频源之间的损失、正样本视频源的各个视频帧之间的损失、负样本视频源的各个视频帧之间的损失进行训练得到的,正样本视频源的各个视频帧所包括的样本对象和待检测对象为同一类别的对象,负样本视频源的各个视频帧所包括的样本对象和待检测对象为不同类别的对象。采用本方法能够提高视频检测结果的准确性。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种视频匹配方法、计算机设备和存储介质。
背景技术
行人重识别(Person Re-Identification,简称Re-ID)也称为跨镜追踪技术,是指通过计算机视觉技术检索不同摄像头下的同一个目标人物。在利用计算机视觉技术实现行人重识别时,一般是通过深度学习网络对视频中的目标物进行提取,并将提取到的目标物和其他视频中的目标物进行匹配检测,确定不同视频中的目标物是否是同一个目标物。
在上述实现行人重识别过程中,由于需要用到深度学习网络,那么也就需要对深度学习网络预先进行训练,在常规训练深度学习网络的过程中,一般都是采用三元组损失函数(即采用正负样本视频之间的损失)来对深度学习网络进行训练,以得到训练好的深度学习网络。
然而利用上述方法训练的深度学习网络不准确,从而会导致最终得到的目标物的检测结果不准确。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高检测结果准确性的视频匹配方法、装置、计算机设备和存储介质。
一种视频匹配方法,该方法包括:
获取视频源;该视频源包括至少一个视频帧,每个视频帧中均包括待检测对象;
将视频源输入至神经网络模型中进行特征提取,得到视频源中各个视频帧对应的特征向量;
根据视频源中各个视频帧对应的特征向量和预设的视频库,在视频库中确定与视频源匹配的目标视频序列;目标视频序列包括至少两个目标视频源;
其中,神经网络模型是根据正样本视频源和负样本视频源之间的损失、正样本视频源的各个视频帧之间的损失、负样本视频源的各个视频帧之间的损失进行训练得到的,正样本视频源的各个视频帧所包括的样本对象和待检测对象为同一类别的对象,负样本视频源的各个视频帧所包括的样本对象和待检测对象为不同类别的对象。
在其中一个实施例中,上述神经网络模型的训练方法包括:
将正样本视频源的各个视频帧输入至初始神经网络模型,得到正样本视频源的各个视频帧对应的特征数据;以及,将负样本视频源的各个视频帧输入至初始神经网络模型,得到负样本视频源的各个视频帧对应的特征数据;
计算正样本视频源的各个视频帧对应的特征数据和负样本视频源的各个视频帧对应的特征数据之间的第一损失;
计算正样本视频源的各个视频帧对应的特征数据之间的第二损失,以及,计算负样本视频源的各个视频帧对应的特征数据之间的第三损失;
基于第一损失、第二损失以及第三损失对初始神经网络模型进行训练,得到神经网络模型。
在其中一个实施例中,若正样本视频源包括多个第一视频源,上述计算正样本视频源的各个视频帧对应的特征数据之间的第二损失,包括:
计算属于同一个第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第一类内损失;
计算属于不同的第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第二类内损失;
根据每个视频帧对应的第一类内损失和每个视频帧对应的第二类内损失,得到第二损失。
在其中一个实施例中,上述计算属于同一个第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第一类内损失,包括:
计算属于同一个第一视频源中任意一个视频帧对应的特征数据和其他视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第一相对距离;
将每个视频帧对应的第一相对距离和预设的第一距离阈值进行对比,得到每个视频帧的对比结果;
根据每个视频帧的对比结果,确定每个视频帧对应的第一类内损失。
在其中一个实施例中,上述根据每个视频帧的对比结果,确定每个视频帧对应的第一类内损失,包括:
若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将0确定为视频帧对应的第一类内损失;
若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将视频帧对应的第一相对距离,确定为视频帧对应的第一类内损失。
在其中一个实施例中,上述计算属于不同的第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第二类内损失,包括:
计算任意一个第一视频源中各个视频帧对应的特征数据和其他第一视频源中各个视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第二相对距离;
将每个视频帧对应的第二相对距离和预设的第二距离阈值进行对比,得到每个视频帧的对比结果;
根据每个视频帧的对比结果,确定每个视频帧对应的第二类内损失。
在其中一个实施例中,上述根据每个视频帧的对比结果,确定每个视频帧对应的第二类内损失,包括:
若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将0确定为视频帧对应的第二类内损失;
若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将视频帧对应的第二相对距离,确定为视频帧对应的第二类内损失。
在其中一个实施例中,上述第一距离阈值小于第二距离阈值。
一种视频匹配装置,该装置包括:
获取模块,用于获取视频源;该视频源包括至少一个视频帧,每个视频帧中均包括待检测对象;
提取模块,用于将视频源输入至神经网络模型中进行特征提取,得到视频源中各个视频帧对应的特征向量;其中,神经网络模型是根据正样本视频源和负样本视频源之间的损失、正样本视频源的各个视频帧之间的损失、负样本视频源的各个视频帧之间的损失进行训练得到的,正样本视频源的各个视频帧所包括的样本对象和待检测对象为同一类别的对象,负样本视频源的各个视频帧所包括的样本对象和待检测对象为不同类别的对象;
确定模块,用于根据视频源中各个视频帧对应的特征向量和预设的视频库,在视频库中确定与视频源匹配的目标视频序列;目标视频序列包括至少两个目标视频源。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取视频源;该视频源包括至少一个视频帧,每个视频帧中均包括待检测对象;
将视频源输入至神经网络模型中进行特征提取,得到视频源中各个视频帧对应的特征向量;
根据视频源中各个视频帧对应的特征向量和预设的视频库,在视频库中确定与视频源匹配的目标视频序列;目标视频序列包括至少两个目标视频源;
其中,神经网络模型是根据正样本视频源和负样本视频源之间的损失、正样本视频源的各个视频帧之间的损失、负样本视频源的各个视频帧之间的损失进行训练得到的,正样本视频源的各个视频帧所包括的样本对象和待检测对象为同一类别的对象,负样本视频源的各个视频帧所包括的样本对象和待检测对象为不同类别的对象。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取视频源;该视频源包括至少一个视频帧,每个视频帧中均包括待检测对象;
将视频源输入至神经网络模型中进行特征提取,得到视频源中各个视频帧对应的特征向量;
根据视频源中各个视频帧对应的特征向量和预设的视频库,在视频库中确定与视频源匹配的目标视频序列;目标视频序列包括至少两个目标视频源;
其中,神经网络模型是根据正样本视频源和负样本视频源之间的损失、正样本视频源的各个视频帧之间的损失、负样本视频源的各个视频帧之间的损失进行训练得到的,正样本视频源的各个视频帧所包括的样本对象和待检测对象为同一类别的对象,负样本视频源的各个视频帧所包括的样本对象和待检测对象为不同类别的对象。
上述视频匹配方法、装置、计算机设备和存储介质,可以将视频源的各个视频帧输入至训练好的神经网络模型中进行特征提取,得到各个视频帧对应的特征向量,并根据各个视频帧对应的特征向量在预设的视频库中得到与该视频源匹配的目标视频源序列,这里神经网络模型是通过正负样本视频源之间的损失、正样本视频源各个视频帧之间的损失以及负样本各个视频帧之间的损失进行训练得到的。在该方法中,由于在训练神经网络模型时,不仅考虑了正负样本视频源之间的损失,这样可以保证不同类别的视频源之间的距离足够远,同时还考虑了正样本视频源和负样本视频源各自的损失,这样可以保证同类别视频源之间的距离足够近,即可以保证同类别视频源的聚类结果是更好的,因此,利用该这多个损失训练的神经网络模型是更准确的,这样在利用该准确的神经网络模型对视频源进行检测时,得到的检测结果也是更准确的,即可以提高检测结果的准确性。
附图说明
图1为一个实施例中计算机设备的内部结构图;
图2为一个实施例中视频匹配方法的流程示意图;
图3为一个实施例中视频匹配方法的流程示意图;
图4为另一个实施例中视频匹配方法的流程示意图;
图5为一个实施例中视频匹配装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
视频再识别(re-id,re-identification),指的是通过计算机视觉技术检索一个目标是否在不同摄像头下出现,其作为图片re-id的一个衍生领域,在实际场景中具有广阔的应用。在现实的监控场景中,视频信息已广泛存在,所以必然存在大量的视频信息供模型使用,视频信息可以提供同一个人的不同角度不同行为的信息,基于丰富的视频信息,可以更加可靠地判断两个目标是否属于同一个人或物。同时,深度学习作为人工智能领域一个重要的分支,在图像和语音识别等领域已取得巨大的成功。其中,神经网络作为深度学习中的重要工具,已广泛应用于高校和企业中。截止目前,神经网络主要包含两种:卷积神经网络和循环(递归)神经网络,前者主要应用于图像识别,后者主要应用于语音领域。目前,将深度学习应用于re-id任务是目前的一种主流方法,为了实现该任务,在训练深度学习网络的过程中,需要将属于同一个目标图片序列聚类到一起,将属于不同目标的图片序列拉开一定距离,在常规训练深度学习网络的过程中,一般都是采用三元组损失函数(即采用正负样本视频之间的损失)来对深度学习网络进行训练,以得到训练好的深度学习网络。然而现有三元组损失函数仅仅针对相对距离进行惩罚,具体为:为了计算三元组损失函数,需要构造一个三元组,在该三元组中,包括一个锚点(目标图片序列),正样本图片序列和负样本图片序列。所谓正样本图片序列,就是与锚点具有同一个类别(id)的图片序列,所谓负样本图片序列,就是与锚点具有不同类别(id)的图片序列,假设正样本图片序列与锚点之间的距离为d1,负样本图片序列与锚点之间的距离为d2,现有的三元组损失函数,只要保证d2比d1大于给定的阈值就算完成了深度学习网络的训练,而其无法保证同一个类别之间的样本图片序列的距离足够紧凑,可能会导致同一类别的样本图片序列之间的误差过大,即无法确保聚类的效果,进而在利用该现有的方法训练的深度学习网络对图片序列进行检测时,得到的检测结果也不准确。本申请提供一种视频匹配方法、装置、计算机设备和存储介质,可以解决上述技术问题。
本申请提供的视频匹配方法,可以应用于计算机设备,该计算机设备可以是终端或服务器。以计算机设备为终端为例,其内部结构图可以如图1所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种视频匹配方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
需要说明的是,本申请实施例的执行主体可以是计算机设备,也可以是视频匹配装置,下面就以计算机设备为执行主体进行说明。
在一个实施例中,提供了一种视频匹配方法,本实施例涉及的是如何利用训练好的神经网络模型对待检测的视频源进行检测,得到目标视频序列的具体过程。如图2所示,该方法可以包括以下步骤:
S202,获取视频源;该视频源包括至少一个视频帧,每个视频帧中均包括待检测对象。
其中,待检测对象可以是人、动物、植物、物体等等。相应地,视频源就可以是对该人、动物、植物、物体等进行图像采集得到的视频源。视频源采集的视频帧的数量可以根据实际情况而定,例如10个视频帧、20个视频帧等等,这里视频源包括的各个视频帧之间具有时间连续性,示例地,视频源中的第二个视频帧是在第一个视频帧之后采集的,且是连续的两个时刻采集到的帧图像。这里的视频源也可以称为图片序列,各个视频帧也可以称为图片序列中的各个图片。另外,每个视频帧中都包括待检测对象,不过包括的待检测对象的姿态等可以相同或不相同。本实施例主要针对的是待检测对象为行人,视频源为行人的图片序列。
具体的,计算机设备可以通过与其相连的图像采集设备(例如摄像机、抓拍机、相机等)来对待检测对象进行图像采集,得到待检测对象的视频源,并将该待检测对象的视频源传输给计算机设备,计算机设备就可以得到视频源;当然,计算机设备也可以从预先存储有待检测对象的视频源的数据库中读取得到视频源;当然计算机设备还可以从云端读取得到视频源,当然计算机设备也可以采用其他方式来得到视频源,本实施例对视频源的获取方式不作具体限定。在本实施例中,获取的视频源中待检测对象的类别是未知的,以行人为例,类别可以是姓名、性别、年龄、职业等等。
S204,将视频源输入至神经网络模型中进行特征提取,得到视频源中各个视频帧对应的特征向量;其中,神经网络模型是根据正样本视频源和负样本视频源之间的损失、正样本视频源的各个视频帧之间的损失、负样本视频源的各个视频帧之间的损失进行训练得到的,正样本视频源的各个视频帧所包括的样本对象和待检测对象为同一类别的对象,负样本视频源的各个视频帧所包括的样本对象和待检测对象为不同类别的对象。
其中,这里的神经网络模型可以是ResNet(残差网络)模型、SeNet(Squeeze-and-Excitation Networks,压缩和激励网络)模型、GoogLeNet(Google Inception Net,谷歌初始网络,属于卷积神经网络)模型等,当然也可以是其他神经网络,本实施例主要使用的是ResNet50网络。
另外,在将视频源输入至神经网络模型处理之前,还可以对视频源中的各个视频帧进行预处理,这里的预处理可以是对各个视频帧上的像素值进行归一化处理,或者进行平均池化处理等等。
除此之外,在神经网络模型处理数据之前,还可以对神经网络模型进行训练,训练时可以是采用损失函数的值对初始神经网络模型进行训练的方式,这里损失函数也可以称为三元组损失函数,不过这里的三元组损失函数包括的损失有三部分,第一部分是正样本视频源与负样本视频源之间的损失,第二部分是正样本视频源的各个视频帧之间的损失,第三部分是负样本视频源的各个视频帧之间的损失,这里正样本视频源包括的样本对象的类别与负样本视频源包括的样本对象的类别不同,那么这里的三部分损失中,第一部分损失属于不同类别之间的类间损失,第二部分损失和第三部分损失属于相同类别之间的类内损失。可选的,这里的类内损失可以包括属于同类别且是同一个视频源的各个视频帧之间的类内损失,还可以包括属于同类别但不是同一个视频源的视频帧之间的类内损失。这里采用类内损失类间损失相结合的方式训练神经网络模型,可以保证同类样本之间的聚类效果更好,即同类样本之间的距离更近,更相似,也可以保证不同类的样本之间的距离足够远,使得后续更容易地区分出检测对象的类别,得到更好的匹配结果,因此,两者结合的方式训练神经网络模型,训练出来的神经网络模型的性能更好,也更准确。
具体的,在对视频源中的各个视频帧进行预处理之后,可以将预处理后的各个视频帧输入至训练好的神经网络模型中,对每个视频帧进行特征提取,得到每个视频帧对应的特征图,然后将每个视频帧对应的特征图转化成向量,记为特征向量,便于后续计算。
S206,根据视频源中各个视频帧对应的特征向量和预设的视频库,在视频库中确定与视频源匹配的目标视频序列;目标视频序列包括至少两个目标视频源。
其中,预设的视频库可以包括大量的视频源和视频帧的特征向量之间的对应关系,可以在视频匹配之前预先建立好,建立方式可以包括:预先收集大量的视频源,并提取得到每个视频源中的各个视频帧的特征向量,作为每个视频源的一组特征向量,并将视频源和其对应的一组特征向量绑定起来,得到视频库。另外,目标视频源指的是视频库中与视频源匹配程度最高的视频源,这里的匹配可以是视频源中的待检测对象和视频库的视频源中的对象的匹配,例如视频源中的待检测对象为某一个动物,那么就可以在视频库中匹配到与该动物相似的视频源。
具体的,计算机设备在得到视频源中各个视频帧对应的特征向量之后,可以将该视频源的各个视频帧的特征向量作为待匹配的一组向量,并将该待匹配的一组向量和预设的视频库中每个视频源对应的一组特征向量进行匹配,得到与该待匹配的一组向量匹配度较高的多组目标特征向量,并得到该多组目标特征向量对应的多个目标视频源,将该多个目标视频源组成目标视频序列输出给用户。其中,这里在将待匹配的一组特征向量和视频库中的某一组特征向量进行匹配时,可以是将两组特征向量的各个特征向量分别进行匹配,得到每个特征向量的匹配得分,然后对所有匹配得分取均值,并将均值作为这两组特征向量的匹配得分,匹配得分可以表征匹配程度,得分越高,匹配程度越高。
上述视频匹配方法中,可以将视频源的各个视频帧输入至训练好的神经网络模型中进行特征提取,得到各个视频帧对应的特征向量,并根据各个视频帧对应的特征向量在预设的视频库中得到与该视频源匹配的目标视频源序列,这里神经网络模型是通过正负样本视频源之间的损失、正样本视频源各个视频帧之间的损失以及负样本各个视频帧之间的损失进行训练得到的。在该方法中,由于在训练神经网络模型时,不仅考虑了正负样本视频源之间的损失,这样可以保证不同类别的视频源之间的距离足够远,同时还考虑了正样本视频源和负样本视频源各自的损失,这样可以保证同类别视频源之间的距离足够近,即可以保证同类别视频源的聚类结果是更好的,因此,利用该这多个损失训练的神经网络模型是更准确的,这样在利用该准确的神经网络模型对视频源进行检测时,得到的检测结果也是更准确的,即可以提高检测结果的准确性。
在另一个实施例中,提供了另一种视频匹配方法,本实施例涉及的是对神经网络模型进行训练的具体过程。在上述实施例的基础上,如图3所示,该神经网络模型的训练过程可以包括以下步骤:
S302,将正样本视频源的各个视频帧输入至初始神经网络模型,得到正样本视频源的各个视频帧对应的特征数据;以及,将负样本视频源的各个视频帧输入至初始神经网络模型,得到负样本视频源的各个视频帧对应的特征数据。
在本步骤中,正样本视频源中可以包括一个视频源,也可以包括多个视频源,其各个视频帧包括的样本对象的类别均相同。同样的,负样本视频源中可以包括一个视频源,也可以包括多个视频源,其各个视频帧包括的样本对象的类别也均相同,不过负样本视频源中的样本对象和正样本视频源中的样本对象不同。示例地,以样本对象为A行人和B行人为例,那么正样本视频源的各个视频帧包括的人是同一个A行人,负样本视频源的各个视频帧包括的人可以是同一个B行人,两者不相同。另外,这里不管是正样本视频源还是负样本视频源,得到的特征数据都可以是特征向量,便于后续计算使用。
S304,计算正样本视频源的各个视频帧对应的特征数据和负样本视频源的各个视频帧对应的特征数据之间的第一损失。
在本步骤中,计算第一损失时,可以将正样本视频源或负样本视频源中任意一个视频帧作为锚点,计算其他视频帧和该锚点视频帧之间的距离(这里的距离可以是欧式距离等,当然也可以是其他距离),并通过计算得到的距离和预设的距离间隔得到第一损失。
示例地,假设正样本视频源包括一个视频源,其包括的视频帧分别为(a1,a2),对各视频帧提取得到的特征分别为[f(a1),f(a2)],负样本视频源也包括一个视频源,其包括的视频帧分别为(b1,b2),对各视频帧提取得到的特征分别为[f(b1),f(b2)],假设锚点视频帧是正样本视频源中的a1,预设的距离间隔为α,那么这里可以计算f(a1)和f(a2)之间的距离与f(a1)和f(b1)、f(b2)之间的距离,通过计算的距离得到锚点视频帧和其他视频帧之间的损失,得到两个公式,如下公式(1)和(2):
在公式(1)中,若f(a1)和f(a2)之间的距离和α的和值大于f(a1)和f(b1)之间的距离,那么就是说,正样本视频源的各个视频帧之间的距离大于与负样本视频源之间的距离,即类间距离较小,那么就会产生损失,可以将f(a1)和f(a2)之间的距离和α的和值与f(a1)和f(b1)之间的距离的差值作为损失,若f(a1)和f(a2)之间的距离和α的和值不大于f(a1)和f(b1)之间的距离,那么就是说,正样本视频源的各个视频帧之间的距离小于与负样本视频源之间的距离,即正样本与负样本的距离比较远,那么此时可以认为没有损失,例如可以将损失设置为0等。同样的,对于公式(2)也采用上述方法进行判断,得到损失。当然同样的,也可以将其他视频帧作为锚点,得到对应的损失,最后将得到的所有损失取均值或求和等方式,得到最终的损失,记为第一损失,其为正样本视频源和负样本视频源之间的类间损失。
S306,计算正样本视频源的各个视频帧对应的特征数据之间的第二损失,以及,计算负样本视频源的各个视频帧对应的特征数据之间的第三损失。
在本步骤中,计算正样本视频源的各个视频帧之间的损失时,可以是以正样本视频源中任意一个视频帧为锚点,计算其他视频帧的特征数据与锚点视频帧的特征数据之间的距离,并通过距离和距离阈值的比较结果得到第二损失;还可以是以正样本视频源中任意一个视频帧为锚点,对其他视频帧的特征数据取均值,并计算取均值得到的特征数据和锚点视频帧的特征数据之间的距离,通过距离和距离阈值的比较结果得到第二损失;当然还可以是其他方式得到第二损失,这里不作具体限定,另外,这里的距离阈值可以根据实际情况而定。
同样的,负样本视频源可以采用和正样本视频源相同的方式进行计算,得到第三损失。
上述第二损失为正样本视频源的类内损失,可以包括正样本视频源中属于同一个视频源的视频帧之间的类内损失,也可以包括正样本视频源中属于不同视频源的视频帧之间的类内损失;同样的,第三损失为负样本视频源的类内损失,可以包括负样本视频源中属于同一个视频源的视频帧之间的类内损失,也可以包括负样本视频源中属于不同视频源的视频帧之间的类内损失。
S308,基于第一损失、第二损失以及第三损失对初始神经网络模型进行训练,得到神经网络模型。
具体的,在得到第一损失和第二损失和第三损失之后,可以对这三个损失求和或取均值,然后将和值或均值作为新的三元组损失函数的值,对神经网络模型进行训练,调整神经网络模型参数,当神经网络模型的损失函数的值小于预设的阈值时,或者当损失函数的值基本稳定时(即不再发生变化时),则可以确定神经网络模型已经训练好,否则还要继续训练,当训练好时可以固定神经网络模型的参数,便于下一步提取特征时使用。
本实施例提供的视频匹配方法,可以计算正样本视频源和负样本视频源之间的类间损失,以及可以计算正样本视频源和负样本视频源各自的类内损失,并通过计算得到的类内损失和类间损失一起对神经网络模型进行训练,得到训练好的神经网络模型。在本实施例中,由于采用类内损失和类间损失同时对神经网络模型进行训练,而类内损失可以反映同类视频源之间的聚类程度,类间损失可以反映不同类视频源之间可以区分开的程度,因此,利用本实施例的方法训练神经网络模型时,采用的损失更丰富,那么得到的神经网络模型就更加准确,最终利用该神经网络模型提取的特征也就更准确。
在另一个实施例中,提供了另一种视频匹配方法,本实施例涉及的是若正样本视频源包括多个第一视频源,如何计算正样本视频源对应的第二损失的具体过程。在上述实施例的基础上,如图4所示,上述S306可以包括以下步骤:
S402,计算属于同一个第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第一类内损失。
在本实施例中,正样本视频源包括的多个第一视频源的类别均相同,这里视频源的的类别指的是视频源的各视频帧中包括的对象是同类对象,例如是同一个人的不同姿态的视频源等。
在本步骤中,主要计算的是同类别且同视频源的各个视频帧之间的类内损失,可选的,可以采用如下步骤A1-A3来进行计算,如下:
步骤A1,计算属于同一个第一视频源中任意一个视频帧对应的特征数据和其他视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第一相对距离。
步骤A2,将每个视频帧对应的第一相对距离和预设的第一距离阈值进行对比,得到每个视频帧的对比结果。
步骤A3,根据每个视频帧的对比结果,确定每个视频帧对应的第一类内损失。
在步骤A1-A3中,两个视频帧之间的相对距离可以是欧式距离、2范数等等;第一距离阈值可以是根据实际情况而定的一个值。这里可以对同类别且同视频源的各个视频帧均进行第一相对距离计算,并将得到的第一相对距离和第一距离阈值进行对比,得到每个视频帧的对比结果,可选的,若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将0确定为视频帧对应的第一类内损失;若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将视频帧对应的第一相对距离,确定为视频帧对应的第一类内损失。示例地,假设一个视频帧中有3个视频帧,那么每个视频帧会得到2个第一相对距离,将每个视频帧的2个第一相对距离分别和第一距离阈值进行对比,每个视频帧会得到2个损失,然后每个视频帧将各自的2个损失取均值或求和,得到其本身最终的损失,记为其对应的第一类内损失。
S404,计算属于不同的第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第二类内损失。
在本步骤中,主要计算的是同类别但不同视频源的各个视频帧之间的类内损失,可选的,可以采用如下步骤B1-B3来进行计算,如下:
步骤B1,计算任意一个第一视频源中各个视频帧对应的特征数据和其他第一视频源中各个视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第二相对距离。
步骤B2,将每个视频帧对应的第二相对距离和预设的第二距离阈值进行对比,得到每个视频帧的对比结果。
步骤B3,根据每个视频帧的对比结果,确定每个视频帧对应的第二类内损失。
在步骤B1-B3中,两个视频帧之间的相对距离可以是欧式距离、2范数等等;第二距离阈值可以是根据实际情况而定的一个值,可以和第一距离阈值相同,也可以不同,本实施例中,第一距离阈值和第二距离阈值不同,可选的,第一距离阈值小于第二距离阈值;第一距离阈值小于第二距离阈值,这样可以保证属于同一个视频源的各视频帧之间的聚类效果更好,但同时也尽可能保证不同视频源之间的聚类效果较好。
这里可以对同类别但属于不同视频源的各个视频帧均进行第二相对距离的计算,并将得到的第二相对距离和第二相对距离阈值进行对比,得到每个视频帧的对比结果,可选的,若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将0确定为视频帧对应的第二类内损失;若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将视频帧对应的第二相对距离,确定为视频帧对应的第二类内损失。示例地,假设正样本视频源有2个第一视频源,分别包括3个视频帧,为(a1,a2,a3),(b1,b2,b3),可以计算a1与b1、b2、b3之间的第二相对距离,得到3个第二相对距离,对每个视频帧都如此计算,那么每个视频帧都会得到3个第二相对距离,将每个视频帧的3个第二相对距离分别和第二距离阈值进行对比,每个视频帧会得到3个损失,然后每个视频帧将各自的3个损失取均值或求和,得到其本身最终的损失,记为其对应的第二类内损失。
S406,根据每个视频帧对应的第一类内损失和每个视频帧对应的第二类内损失,得到第二损失。
具体的,在得到每个视频帧对应的第一类内损失和第二类内损失之后,可以将所有视频帧的第一类内损失和第二类内损失进行求和或取均值,得到最终的损失,记为第二损失。
需要说明的是,上述S402-S406是针对正样本视频源包括多个第一视频源时得到第二损失过程说明,相应地,负样本视频源也可以包括多个第二视频源,该第二视频源的数量可以和第一视频源的数量相同或不同,然后按照上述S402-S406对负样本视频源的第三损失进行计算,得到第三损失。
本实施例提供的视频匹配方法,若正样本视频源包括多个第一视频源,则可以计算同类别且同视频源的各个视频帧之间的类内损失,以及可以计算同类别但不同视频源的各个视频帧之间的类内损失,并将这两个类内损失作为正样本视频源的类内损失,这样可以全面保证正样本视频源的类内损失全部都计算到,即正样本视频源的类内损失更加丰富,从而在后续利用这些类内损失去训练神经网络模型时,能够保证样本视频源的聚类效果,这样训练的神经网络模型也更加准确。
在另一个实施例中,为了便于对本申请的技术方案进行更详细的说明,以下结合一个更加详细的实施例加以说明,该方法可以包括以下步骤S1-S13:
S1,获取样本视频源,包括正样本视频源和负样本视频源,正样本视频源包括多个第一视频源,负样本视频源包括多个第二视频源,样本视频源的各个视频帧均包括检测对象。
S2,将正样本视频源的各个视频帧输入至初始神经网络模型,得到正样本视频源的各个视频帧对应的特征数据;以及,将负样本视频源的各个视频帧输入至初始神经网络模型,得到负样本视频源的各个视频帧对应的特征数据。
S3,计算正样本视频源的各个视频帧对应的特征数据和负样本视频源的各个视频帧对应的特征数据之间的第一损失。
S4,计算属于同一个第一视频源中任意一个视频帧对应的特征数据和其他视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第一相对距离;将每个视频帧对应的第一相对距离和预设的第一距离阈值进行对比,得到每个视频帧的对比结果;若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将0确定为视频帧对应的第一类内损失;若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将视频帧对应的第一相对距离,确定为视频帧对应的第一类内损失。
S5,计算任意一个第一视频源中各个视频帧对应的特征数据和其他第一视频源中各个视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第二相对距离;将每个视频帧对应的第二相对距离和预设的第二距离阈值进行对比,得到每个视频帧的对比结果;若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将0确定为视频帧对应的第二类内损失;若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将视频帧对应的第二相对距离,确定为视频帧对应的第二类内损失。
S6,根据S4每个视频帧对应的第一类内损失和S5每个视频帧对应的第二类内损失,得到第二损失。
S7,计算属于同一个第二视频源中任意一个视频帧对应的特征数据和其他视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第一相对距离;将每个视频帧对应的第一相对距离和预设的第一距离阈值进行对比,得到每个视频帧的对比结果;若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将0确定为视频帧对应的第一类内损失;若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将视频帧对应的第一相对距离,确定为视频帧对应的第一类内损失。
S8,计算任意一个第二视频源中各个视频帧对应的特征数据和其他第二视频源中各个视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第二相对距离;将每个视频帧对应的第二相对距离和预设的第二距离阈值进行对比,得到每个视频帧的对比结果;若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将0确定为视频帧对应的第二类内损失;若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将视频帧对应的第二相对距离,确定为视频帧对应的第二类内损失。
S9,根据S7每个视频帧对应的第一类内损失和S8每个视频帧对应的第二类内损失,得到第三损失。
S10,基于第一损失、第二损失以及第三损失对初始神经网络模型进行训练,得到训练好的神经网络模型。
S11,获取视频源;该视频源包括至少一个视频帧,每个视频帧中均包括待检测对象。
S12,将视频源输入至训练好的神经网络模型中进行特征提取,得到视频源中各个视频帧对应的特征向量。
S13,根据视频源中各个视频帧对应的特征向量和预设的视频库,在视频库中确定与视频源匹配的目标视频序列。
应该理解的是,虽然图2-4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-4中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种视频匹配装置,包括:获取模块10、提取模块11和确定模块12,其中:
获取模块10,用于获取视频源;该视频源包括至少一个视频帧,每个视频帧中均包括待检测对象;
提取模块11,用于将视频源输入至神经网络模型中进行特征提取,得到视频源中各个视频帧对应的特征向量;其中,神经网络模型是根据正样本视频源和负样本视频源之间的损失、正样本视频源的各个视频帧之间的损失、负样本视频源的各个视频帧之间的损失进行训练得到的,正样本视频源的各个视频帧所包括的样本对象和待检测对象为同一类别的对象,负样本视频源的各个视频帧所包括的样本对象和待检测对象为不同类别的对象;
确定模块12,用于根据视频源中各个视频帧对应的特征向量和预设的视频库,在视频库中确定与视频源匹配的目标视频序列;目标视频序列包括至少两个目标视频源。
关于视频匹配装置的具体限定可以参见上文中对于视频匹配方法的限定,在此不再赘述。
在另一个实施例中,提供了另一种视频匹配装置,在上述实施例的基础上,上述装置还包括模型训练模块,该模型训练模块包括:提取单元、第一计算单元、第二计算单元和训练单元,其中:
提取单元,用于将正样本视频源的各个视频帧输入至初始神经网络模型,得到正样本视频源的各个视频帧对应的特征数据;以及,将负样本视频源的各个视频帧输入至初始神经网络模型,得到负样本视频源的各个视频帧对应的特征数据;
第一计算单元,用于计算正样本视频源的各个视频帧对应的特征数据和负样本视频源的各个视频帧对应的特征数据之间的第一损失;
第二计算单元,用于计算正样本视频源的各个视频帧对应的特征数据之间的第二损失,以及,计算负样本视频源的各个视频帧对应的特征数据之间的第三损失;
训练单元,用于基于第一损失、第二损失以及第三损失对初始神经网络模型进行训练,得到神经网络模型。
在另一个实施例中,提供了另一种视频匹配装置,在上述实施例的基础上,若正样本视频源包括多个第一视频源,上述第二计算单元还可以包括:第一计算子单元、第二计算子单元和确定子单元,其中:
第一计算子单元,用于计算属于同一个第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第一类内损失;
第二计算子单元,用于计算属于不同的第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第二类内损失;
确定子单元,用于根据每个视频帧对应的第一类内损失和每个视频帧对应的第二类内损失,得到第二损失。
可选的,上述第一计算子单元,还用于计算属于同一个第一视频源中任意一个视频帧对应的特征数据和其他视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第一相对距离;将每个视频帧对应的第一相对距离和预设的第一距离阈值进行对比,得到每个视频帧的对比结果;根据每个视频帧的对比结果,确定每个视频帧对应的第一类内损失。
可选的,上述第一计算子单元,还用于若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将0确定为视频帧对应的第一类内损失;若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将视频帧对应的第一相对距离,确定为视频帧对应的第一类内损失。
可选的,上述第二计算子单元,还用于计算任意一个第一视频源中各个视频帧对应的特征数据和其他第一视频源中各个视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第二相对距离;将每个视频帧对应的第二相对距离和预设的第二距离阈值进行对比,得到每个视频帧的对比结果;根据每个视频帧的对比结果,确定每个视频帧对应的第二类内损失。
可选的,上述第二计算子单元,还用于若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将0确定为视频帧对应的第二类内损失;若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将视频帧对应的第二相对距离,确定为视频帧对应的第二类内损失。
可选的,上述第一距离阈值小于第二距离阈值。
关于视频匹配装置的具体限定可以参见上文中对于视频匹配方法的限定,在此不再赘述。
上述视频匹配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
获取视频源;该视频源包括至少一个视频帧,每个视频帧中均包括待检测对象;
将视频源输入至神经网络模型中进行特征提取,得到视频源中各个视频帧对应的特征向量;
根据视频源中各个视频帧对应的特征向量和预设的视频库,在视频库中确定与视频源匹配的目标视频序列;目标视频序列包括至少两个目标视频源;
其中,神经网络模型是根据正样本视频源和负样本视频源之间的损失、正样本视频源的各个视频帧之间的损失、负样本视频源的各个视频帧之间的损失进行训练得到的,正样本视频源的各个视频帧所包括的样本对象和待检测对象为同一类别的对象,负样本视频源的各个视频帧所包括的样本对象和待检测对象为不同类别的对象。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
将正样本视频源的各个视频帧输入至初始神经网络模型,得到正样本视频源的各个视频帧对应的特征数据;以及,将负样本视频源的各个视频帧输入至初始神经网络模型,得到负样本视频源的各个视频帧对应的特征数据;计算正样本视频源的各个视频帧对应的特征数据和负样本视频源的各个视频帧对应的特征数据之间的第一损失;计算正样本视频源的各个视频帧对应的特征数据之间的第二损失,以及,计算负样本视频源的各个视频帧对应的特征数据之间的第三损失;基于第一损失、第二损失以及第三损失对初始神经网络模型进行训练,得到神经网络模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
计算属于同一个第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第一类内损失;计算属于不同的第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第二类内损失;根据每个视频帧对应的第一类内损失和每个视频帧对应的第二类内损失,得到第二损失。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
计算属于同一个第一视频源中任意一个视频帧对应的特征数据和其他视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第一相对距离;将每个视频帧对应的第一相对距离和预设的第一距离阈值进行对比,得到每个视频帧的对比结果;根据每个视频帧的对比结果,确定每个视频帧对应的第一类内损失。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将0确定为视频帧对应的第一类内损失;若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将视频帧对应的第一相对距离,确定为视频帧对应的第一类内损失。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
计算任意一个第一视频源中各个视频帧对应的特征数据和其他第一视频源中各个视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第二相对距离;将每个视频帧对应的第二相对距离和预设的第二距离阈值进行对比,得到每个视频帧的对比结果;根据每个视频帧的对比结果,确定每个视频帧对应的第二类内损失。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将0确定为视频帧对应的第二类内损失;若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将视频帧对应的第二相对距离,确定为视频帧对应的第二类内损失。
在一个实施例中,上述第一距离阈值小于第二距离阈值。
在一个实施例中,提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取视频源;该视频源包括至少一个视频帧,每个视频帧中均包括待检测对象;
将视频源输入至神经网络模型中进行特征提取,得到视频源中各个视频帧对应的特征向量;
根据视频源中各个视频帧对应的特征向量和预设的视频库,在视频库中确定与视频源匹配的目标视频序列;目标视频序列包括至少两个目标视频源;
其中,神经网络模型是根据正样本视频源和负样本视频源之间的损失、正样本视频源的各个视频帧之间的损失、负样本视频源的各个视频帧之间的损失进行训练得到的,正样本视频源的各个视频帧所包括的样本对象和待检测对象为同一类别的对象,负样本视频源的各个视频帧所包括的样本对象和待检测对象为不同类别的对象。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
将正样本视频源的各个视频帧输入至初始神经网络模型,得到正样本视频源的各个视频帧对应的特征数据;以及,将负样本视频源的各个视频帧输入至初始神经网络模型,得到负样本视频源的各个视频帧对应的特征数据;计算正样本视频源的各个视频帧对应的特征数据和负样本视频源的各个视频帧对应的特征数据之间的第一损失;计算正样本视频源的各个视频帧对应的特征数据之间的第二损失,以及,计算负样本视频源的各个视频帧对应的特征数据之间的第三损失;基于第一损失、第二损失以及第三损失对初始神经网络模型进行训练,得到神经网络模型。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
计算属于同一个第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第一类内损失;计算属于不同的第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第二类内损失;根据每个视频帧对应的第一类内损失和每个视频帧对应的第二类内损失,得到第二损失。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
计算属于同一个第一视频源中任意一个视频帧对应的特征数据和其他视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第一相对距离;将每个视频帧对应的第一相对距离和预设的第一距离阈值进行对比,得到每个视频帧的对比结果;根据每个视频帧的对比结果,确定每个视频帧对应的第一类内损失。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将0确定为视频帧对应的第一类内损失;若一个视频帧的对比结果为视频帧对应的第一相对距离小于第一距离阈值,则将视频帧对应的第一相对距离,确定为视频帧对应的第一类内损失。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
计算任意一个第一视频源中各个视频帧对应的特征数据和其他第一视频源中各个视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第二相对距离;将每个视频帧对应的第二相对距离和预设的第二距离阈值进行对比,得到每个视频帧的对比结果;根据每个视频帧的对比结果,确定每个视频帧对应的第二类内损失。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将0确定为视频帧对应的第二类内损失;若一个视频帧的对比结果为视频帧对应的第二相对距离小于第二距离阈值,则将视频帧对应的第二相对距离,确定为视频帧对应的第二类内损失。
在一个实施例中,上述第一距离阈值小于第二距离阈值。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种视频匹配方法,其特征在于,所述方法包括:
获取视频源;所述视频源包括至少一个视频帧,每个所述视频帧中均包括待检测对象;
将所述视频源输入至神经网络模型中进行特征提取,得到所述视频源中各个视频帧对应的特征向量;
根据所述视频源中各个视频帧对应的特征向量和预设的视频库,在所述视频库中确定与所述视频源匹配的目标视频序列;所述目标视频序列包括至少两个目标视频源;
其中,所述神经网络模型是根据正样本视频源和负样本视频源之间的损失、所述正样本视频源的各个视频帧之间的损失、所述负样本视频源的各个视频帧之间的损失进行训练得到的,所述正样本视频源的各个视频帧所包括的样本对象和所述待检测对象为同一类别的对象,所述负样本视频源的各个视频帧所包括的样本对象和所述待检测对象为不同类别的对象。
2.根据权利要求1所述的方法,其特征在于,所述神经网络模型的训练方法包括:
将所述正样本视频源的各个视频帧输入至初始神经网络模型,得到所述正样本视频源的各个视频帧对应的特征数据;以及,将所述负样本视频源的各个视频帧输入至初始神经网络模型,得到所述负样本视频源的各个视频帧对应的特征数据;
计算所述正样本视频源的各个视频帧对应的特征数据和所述负样本视频源的各个视频帧对应的特征数据之间的第一损失;
计算所述正样本视频源的各个视频帧对应的特征数据之间的第二损失,以及,计算所述负样本视频源的各个视频帧对应的特征数据之间的第三损失;
基于所述第一损失、所述第二损失以及所述第三损失对所述初始神经网络模型进行训练,得到所述神经网络模型。
3.根据权利要求2所述的方法,其特征在于,若所述正样本视频源包括多个第一视频源,所述计算所述正样本视频源的各个视频帧对应的特征数据之间的第二损失,包括:
计算属于同一个第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第一类内损失;
计算属于不同的第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第二类内损失;
根据所述每个视频帧对应的第一类内损失和所述每个视频帧对应的第二类内损失,得到所述第二损失。
4.根据权利要求3所述的方法,其特征在于,所述计算属于同一个第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第一类内损失,包括:
计算属于同一个第一视频源中任意一个视频帧对应的特征数据和其他视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第一相对距离;
将每个所述视频帧对应的第一相对距离和预设的第一距离阈值进行对比,得到每个视频帧的对比结果;
根据所述每个视频帧的对比结果,确定所述每个视频帧对应的第一类内损失。
5.根据权利要求4所述的方法,其特征在于,所述根据所述每个视频帧的对比结果,确定所述每个视频帧对应的第一类内损失,包括:
若一个所述视频帧的对比结果为所述视频帧对应的第一相对距离小于所述第一距离阈值,则将0确定为所述视频帧对应的第一类内损失;
若一个所述视频帧的对比结果为所述视频帧对应的第一相对距离小于所述第一距离阈值,则将所述视频帧对应的第一相对距离,确定为所述视频帧对应的第一类内损失。
6.根据权利要求4-5任意一项所述的方法,其特征在于,所述计算属于不同的第一视频源中各个视频帧对应的特征数据之间的损失,得到每个视频帧对应的第二类内损失,包括:
计算任意一个第一视频源中各个视频帧对应的特征数据和其他第一视频源中各个视频帧对应的特征数据之间的相对距离,得到每个视频帧对应的第二相对距离;
将每个所述视频帧对应的第二相对距离和预设的第二距离阈值进行对比,得到每个视频帧的对比结果;
根据所述每个视频帧的对比结果,确定所述每个视频帧对应的第二类内损失。
7.根据权利要求6所述的方法,其特征在于,所述根据所述每个视频帧的对比结果,确定所述每个视频帧对应的第二类内损失,包括:
若一个所述视频帧的对比结果为所述视频帧对应的第二相对距离小于所述第二距离阈值,则将0确定为所述视频帧对应的第二类内损失;
若一个所述视频帧的对比结果为所述视频帧对应的第二相对距离小于所述第二距离阈值,则将所述视频帧对应的第二相对距离,确定为所述视频帧对应的第二类内损失。
8.根据权利要求7所述的方法,其特征在于,所述第一距离阈值小于所述第二距离阈值。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010321932.1A CN111507289A (zh) | 2020-04-22 | 2020-04-22 | 视频匹配方法、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010321932.1A CN111507289A (zh) | 2020-04-22 | 2020-04-22 | 视频匹配方法、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111507289A true CN111507289A (zh) | 2020-08-07 |
Family
ID=71876626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010321932.1A Pending CN111507289A (zh) | 2020-04-22 | 2020-04-22 | 视频匹配方法、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111507289A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114037925A (zh) * | 2021-09-27 | 2022-02-11 | 北京百度网讯科技有限公司 | 目标检测模型的训练、检测方法、装置及电子设备 |
CN114283350A (zh) * | 2021-09-17 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 视觉模型训练和视频处理方法、装置、设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150248586A1 (en) * | 2014-03-03 | 2015-09-03 | Xerox Corporation | Self-learning object detectors for unlabeled videos using multi-task learning |
WO2018137358A1 (zh) * | 2017-01-24 | 2018-08-02 | 北京大学 | 基于深度度量学习的目标精确检索方法 |
CN109558821A (zh) * | 2018-11-21 | 2019-04-02 | 哈尔滨工业大学(深圳) | 一种视频中特定人物的服装件数计算方法 |
CN109961032A (zh) * | 2019-03-18 | 2019-07-02 | 北京字节跳动网络技术有限公司 | 用于生成分类模型的方法和装置 |
WO2019128367A1 (zh) * | 2017-12-26 | 2019-07-04 | 广州广电运通金融电子股份有限公司 | 基于Triplet Loss的人脸认证方法、装置、计算机设备和存储介质 |
CN110070067A (zh) * | 2019-04-29 | 2019-07-30 | 北京金山云网络技术有限公司 | 视频分类方法及其模型的训练方法、装置和电子设备 |
CN110163079A (zh) * | 2019-03-25 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 视频检测方法及装置、计算机可读介质和电子设备 |
WO2020006961A1 (zh) * | 2018-07-03 | 2020-01-09 | 北京字节跳动网络技术有限公司 | 用于提取图像的方法和装置 |
CN110858276A (zh) * | 2018-08-22 | 2020-03-03 | 北京航天长峰科技工业集团有限公司 | 一种识别模型与验证模型相结合的行人重识别方法 |
CN111008576A (zh) * | 2019-11-22 | 2020-04-14 | 高创安邦(北京)技术有限公司 | 行人检测及其模型训练、更新方法、设备及可读存储介质 |
-
2020
- 2020-04-22 CN CN202010321932.1A patent/CN111507289A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150248586A1 (en) * | 2014-03-03 | 2015-09-03 | Xerox Corporation | Self-learning object detectors for unlabeled videos using multi-task learning |
WO2018137358A1 (zh) * | 2017-01-24 | 2018-08-02 | 北京大学 | 基于深度度量学习的目标精确检索方法 |
WO2019128367A1 (zh) * | 2017-12-26 | 2019-07-04 | 广州广电运通金融电子股份有限公司 | 基于Triplet Loss的人脸认证方法、装置、计算机设备和存储介质 |
WO2020006961A1 (zh) * | 2018-07-03 | 2020-01-09 | 北京字节跳动网络技术有限公司 | 用于提取图像的方法和装置 |
CN110858276A (zh) * | 2018-08-22 | 2020-03-03 | 北京航天长峰科技工业集团有限公司 | 一种识别模型与验证模型相结合的行人重识别方法 |
CN109558821A (zh) * | 2018-11-21 | 2019-04-02 | 哈尔滨工业大学(深圳) | 一种视频中特定人物的服装件数计算方法 |
CN109961032A (zh) * | 2019-03-18 | 2019-07-02 | 北京字节跳动网络技术有限公司 | 用于生成分类模型的方法和装置 |
CN110163079A (zh) * | 2019-03-25 | 2019-08-23 | 腾讯科技(深圳)有限公司 | 视频检测方法及装置、计算机可读介质和电子设备 |
CN110070067A (zh) * | 2019-04-29 | 2019-07-30 | 北京金山云网络技术有限公司 | 视频分类方法及其模型的训练方法、装置和电子设备 |
CN111008576A (zh) * | 2019-11-22 | 2020-04-14 | 高创安邦(北京)技术有限公司 | 行人检测及其模型训练、更新方法、设备及可读存储介质 |
Non-Patent Citations (2)
Title |
---|
王兴柱;王儒敬;: "三元组在非监督行人再识别中的应用" * |
闵召阳;赵文杰;: "基于卷积神经网络检测的单镜头多目标跟踪算法" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114283350A (zh) * | 2021-09-17 | 2022-04-05 | 腾讯科技(深圳)有限公司 | 视觉模型训练和视频处理方法、装置、设备及存储介质 |
CN114283350B (zh) * | 2021-09-17 | 2024-06-07 | 腾讯科技(深圳)有限公司 | 视觉模型训练和视频处理方法、装置、设备及存储介质 |
CN114037925A (zh) * | 2021-09-27 | 2022-02-11 | 北京百度网讯科技有限公司 | 目标检测模型的训练、检测方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108009528B (zh) | 基于Triplet Loss的人脸认证方法、装置、计算机设备和存储介质 | |
CN109344742B (zh) | 特征点定位方法、装置、存储介质和计算机设备 | |
CN110443110B (zh) | 基于多路摄像的人脸识别方法、装置、终端及存储介质 | |
WO2022111506A1 (zh) | 视频动作识别方法、装置、电子设备和存储介质 | |
WO2018228218A1 (zh) | 身份识别方法、计算设备及存储介质 | |
CN109919977B (zh) | 一种基于时间特征的视频运动人物跟踪与身份识别方法 | |
CN109145717B (zh) | 一种在线学习的人脸识别方法 | |
US20210334604A1 (en) | Facial recognition method and apparatus | |
Abate et al. | I-Am: implicitly authenticate me—person authentication on mobile devices through ear shape and arm gesture | |
CN109299658B (zh) | 脸部检测方法、脸部图像渲染方法、装置及存储介质 | |
CN111667001B (zh) | 目标重识别方法、装置、计算机设备和存储介质 | |
CN112364827B (zh) | 人脸识别方法、装置、计算机设备和存储介质 | |
CN112149615B (zh) | 人脸活体检测方法、装置、介质及电子设备 | |
CN111666922A (zh) | 视频匹配方法、装置、计算机设备和存储介质 | |
CN110941978B (zh) | 一种未识别身份人员的人脸聚类方法、装置及存储介质 | |
WO2023173646A1 (zh) | 一种表情识别方法及装置 | |
CN108509994B (zh) | 人物图像聚类方法和装置 | |
CN111177469A (zh) | 人脸检索方法及人脸检索装置 | |
CN112966574A (zh) | 人体三维关键点预测方法、装置及电子设备 | |
CN111507289A (zh) | 视频匹配方法、计算机设备和存储介质 | |
CN111340213B (zh) | 神经网络的训练方法、电子设备、存储介质 | |
CN113780145A (zh) | ***形态检测方法、装置、计算机设备和存储介质 | |
CN111783674A (zh) | 一种基于ar眼镜的人脸识别方法和*** | |
CN113557546B (zh) | 图像中关联对象的检测方法、装置、设备和存储介质 | |
Abate et al. | Smartphone enabled person authentication based on ear biometrics and arm gesture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |