CN114283350B - 视觉模型训练和视频处理方法、装置、设备及存储介质 - Google Patents
视觉模型训练和视频处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114283350B CN114283350B CN202111092197.2A CN202111092197A CN114283350B CN 114283350 B CN114283350 B CN 114283350B CN 202111092197 A CN202111092197 A CN 202111092197A CN 114283350 B CN114283350 B CN 114283350B
- Authority
- CN
- China
- Prior art keywords
- sample
- video
- visual
- video frame
- training
- 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.)
- Active
Links
- 230000000007 visual effect Effects 0.000 title claims abstract description 534
- 238000012549 training Methods 0.000 title claims abstract description 211
- 238000003672 processing method Methods 0.000 title claims abstract description 20
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 76
- 230000006870 function Effects 0.000 claims description 122
- 238000004590 computer program Methods 0.000 claims description 21
- 239000011159 matrix material Substances 0.000 claims description 21
- 238000000605 extraction Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 14
- 238000013473 artificial intelligence Methods 0.000 abstract description 11
- 238000012512 characterization method Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 16
- 230000000694 effects Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 10
- 230000004927 fusion Effects 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 101100365794 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sim3 gene Proteins 0.000 description 2
- 101100112995 Schizosaccharomyces pombe (strain 972 / ATCC 24843) sim4 gene Proteins 0.000 description 2
- 230000004075 alteration Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100421536 Danio rerio sim1a gene Proteins 0.000 description 1
- 241001425761 Parthenos sylvia Species 0.000 description 1
- 101100495431 Schizosaccharomyces pombe (strain 972 / ATCC 24843) cnp1 gene Proteins 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006386 memory function Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Landscapes
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种视觉模型训练和视频处理方法、装置、设备及存储介质,涉及人工智能技术领域,该方法包括:结合预训练和微调训练的方式对待训练的视觉模型进行训练获得目标视觉模型。每次迭代预训练中,基于样本视频帧集合中各个样本视频帧的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧的负样本视觉特征获得第一损失函数。在每次迭代微调训练中,基于样本视频帧集合中各个样本视频帧对应的预测视频类别获得第二损失函数,从而使得目标视觉模型的特征表征力会更强,特征区分度更高。采用目标视觉模型提取待处理视频帧的视觉特征并基于视觉特征进行视频相似性判决时,可以有效提高视频相似性判别的准确度。
Description
技术领域
本发明实施例涉及人工智能技术领域,尤其涉及一种视觉模型训练和视频处理方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,各种视频应用层出不穷,目标对象可以从各类视频应用中获取视频内容,也可以通过视频应用上传和分享视频内容。由于视频内容库对应的视频来源众多,导致视频内容库中往往存在大量重复的视频内容。在视频推荐场景下容易向用户推荐重复的视频内容,从而影响视频推荐效果。
相关技术在判别一个视频的相似视频时,采用哈希算法(比如均值哈希算法AHash)将视频帧进行哈希转化,生成一组二进制数字作为视频帧的视觉特征。然而,在对视频帧进行裁剪、缩放等情况下,采用上述方法提取的视觉特征差异较大,故基于视频帧的特征进行视频相似性判别时,容易将相似视频错误地判定为不相似的视频,从而导致相似视频检测的准确性较低。
发明内容
本申请实施例提供了一种视觉模型训练和视频处理方法、装置、设备及存储介质,用于提高检测相似视频的准确性。
一方面,本申请实施例提供了一种视觉模型训练方法,该方法包括:
获取样本数据,其中,所述样本数据包括多个不同样本视频各自对应的样本视频帧集合;
基于所述样本数据对待训练的视觉模型进行至少一次迭代预训练,输出预训练后的视觉模型,其中,在每次迭代预训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得相应的第一损失函数,并采用所述第一损失函数对所述待训练的视觉模型进行参数调整;
基于所述样本数据对预训练后的视觉模型进行至少一次迭代微调训练,输出已训练的目标视觉模型,其中,在每次迭代微调训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数,并采用所述第二损失函数对所述预训练后的视觉模型进行参数调整。
一方面,本申请实施例提供了一种视频处理方法,该方法包括:
从待处理视频中获取多个待处理视频帧;
采用已训练的目标视觉模型,对所述多个待处理视频帧分别进行特征提取,获得多个待处理视觉特征,所述已训练的目标视觉模型是采用上述视觉模型训练方法获得的;
基于所述多个待处理视觉特征和候选视频对应的多个候选视觉特征,确定所述待处理视频与所述候选视频之间的第二相似度;
若所述第二相似度大于第二阈值,则确定所述候选视频为所述待处理视频的相似视频。
一方面,本申请实施例提供了一种视觉模型训练装置,该装置包括:
第一获取模块,用于获取样本数据,其中,所述样本数据包括多个不同样本视频各自对应的样本视频帧集合;
预训练模块,用于基于所述样本数据对待训练的视觉模型进行至少一次迭代预训练,输出预训练后的视觉模型,其中,在每次迭代预训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得相应的第一损失函数,并采用所述第一损失函数对所述待训练的视觉模型进行参数调整;
微调训练模块,用于基于所述样本数据对预训练后的视觉模型进行至少一次迭代微调训练,输出已训练的目标视觉模型,其中,在每次迭代微调训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数,并采用所述第二损失函数对所述预训练后的视觉模型进行参数调整。
可选地,所述各个样本视频帧包括至少一个第一样本视频帧和至少一个第二样本视频帧;
所述预训练模块还用于:
基于选取的样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得相应的第一损失函数之前,采用所述待训练的视觉模型对所述至少一个第一样本视频帧进行特征提取,获得所述至少一个第一样本视频帧各自对应的第一正样本视觉特征;
采用参考视觉模型分别对所述至少一个第二样本视频帧进行特征提取,分别获得所述至少一个第二样本视频帧各自对应的第二正样本视觉特征。
可选地,所述预训练模块具体用于:
基于所述至少一个第一样本视频帧各自对应的第一正样本视觉特征,分别确定所述至少一个第一样本视频帧各自对应的预测画布区域;
基于所述至少一个第一样本视频帧各自对应的预测画布区域和所述至少一个第一样本视频帧各自对应的基准画布区域,确定第三损失函数;
采用所述第一损失函数和所述第三损失函数,对所述待训练的视觉模型进行参数值调整。
可选地,所述预训练模块还用于:在每次迭代预训练中,基于参数调整后的所述待训练的视觉模型,对所述参考视觉模型进行参数值调整。
可选地,所述微调训练模块还用于:
所述基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数之前,采用所述预训练后的视觉模型,分别对所述各个样本视频帧进行特征提取,获得所述各个样本视频帧各自对应的目标样本视觉特征;
基于获得的目标样本视觉特征,分别预测所述各个样本视频帧各自对应的预测视频类别。
可选地,所述微调训练模块具体用于:
基于所述各个样本视频帧各自对应的目标样本视觉特征,确定所述各个样本视频帧分别对应的预测画布区域;
基于所述各个样本视频帧分别对应的预测画布区域,以及所述各个样本视频帧分别对应的基准画布区域,确定第四损失函数;
采用所述第二损失函数和所述第四损失函数,对所述预训练后的视觉模型进行参数值调整。
可选地,所述第一获取模块具体用于:
获取多个样本视频,并从每个样本视频中获取多个样本视频帧;
基于所述多个样本视频各自对应的样本视频帧,分别确定所述多个样本视频各自对应的视频特征;
基于所述多个样本视频各自对应的视频特征,对所述多个样本视频去重,并将保留的样本视频对应的样本视频帧集合作为样本数据。
可选地,所述第一获取模块具体用于:
针对所述多个样本视频中的各个样本视频,分别执行以下步骤:
对一个样本视频中的多个样本视频帧按照时间顺序进行排列,并确定相邻两个样本视频帧之间的第一相似度;
将所述第一相似度大于第一阈值的两个样本视频帧划分为同一视频片段中的视频帧,获得至少一个视频片段;
将所述至少一个视频片段中,包含最多样本视频帧的视频片段,作为目标视频片段,并将所述目标视频片段中多个样本视频帧的平均视觉特征,作为所述一个样本视频的视频特征。
一方面,本申请实施例提供了一种视频处理装置,该装置包括:
第二获取模块,用于从待处理视频中获取多个待处理视频帧;
预测模块,用于采用已训练的目标视觉模型,对所述多个待处理视频帧分别进行特征提取,获得多个待处理视觉特征,所述已训练的目标视觉模型是采用上述视觉模型训练装置获得的;
匹配模块,用于基于所述多个待处理视觉特征和候选视频对应的多个候选视觉特征,确定所述待处理视频与所述候选视频之间的第二相似度;
判别模块,用于若所述第二相似度大于第二阈值,则确定所述候选视频为所述待处理视频的相似视频。
可选地,所述多个候选视觉特征为M个候选视觉特征,所述多个待处理视觉特征为N个待处理视觉特征,其中,M为大于1正整数,N为大于1正整数;
所述匹配模块具体用于:
针对所述M个候选视觉特征,分别执行以下步骤:确定一个候选视觉特征,分别与N个待处理视觉特征之间的特征相似度;
基于获得的特征相似度,构建M行N列的特征相似度矩阵,其中,所述特征相似度矩阵中的每个元素表示相应行和列分别对应的候选视觉特征与待处理视觉特征之间的特征相似度;
从所述特征相似度矩阵中,获取M个行特征相似度和N个列特征相似度,其中,每个行特征相似度为对应行中最大的特征相似度,每个列特征相似度为对应列中最大的特征相似度;
基于所述M个行特征相似度和所述N个列特征相似度,确定所述待处理视频与所述候选视频之间的第二相似度。
可选地,所述匹配模块具体用于:
基于所述M个行特征相似度确定行平均相似度;
基于所述N个列特征相似度确定列平均相似度;
基于所述行平均相似度和所述列平均相似度,确定所述待处理视频与所述候选视频之间的第二相似度。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述视觉模型训练方法和/或视频处理方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述视觉模型训练方法和/或视频处理方法的步骤。
一方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述视觉模型训练方法和/或视频处理方法的步骤。
本申请实施例中,结合预训练和微调训练的方式对待训练的视觉模型进行迭代训练,获得目标视觉模型,使得目标视觉模型的特征表征力会更强,特征区分度更高,从而提高目标视觉模型提取视觉特征的准确性。其次,每次迭代预训练中,基于样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得用于调参的第一损失函数,使待训练的视觉模型学习样本视频帧本身的特征,而不需要预先对每个样本视频帧进行标记,从而提高模型训练的效率以及模型的特征提取效果。另外,在每次迭代微调训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得用于调参的第二损失函数,使预训练后的视觉模型可以更好地学习区分不同的特征,输出区分度高的视觉特征。采用目标视觉模型,对多个待处理视频帧分别进行特征提取时,可以获得准确性高以及区分度高的多个待处理视觉特征,从而有效提高视频相似性判别的准确度。其次,基于视频帧级别的特征进行视频相似性判别,解决了视频中常出现的场景转换问题,提高了视频相似性判别结果的稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种视频应用的推荐界面的示意图;
图2为本申请实施例提供的一种系统架构示意图;
图3为本申请实施例提供的一种视觉模型训练方法的流程示意图;
图4为本申请实施例提供的一种视觉模型的结构示意图;
图5为本申请实施例提供的一种预训练方法的流程示意图;
图6为本申请实施例提供的一种预训练方法的流程示意图;
图7为本申请实施例提供的一种微调训练方法的流程示意图;
图8为本申请实施例提供的一种微调训练方法的流程示意图;
图9为本申请实施例提供的一种视频处理方法的流程示意图;
图10为本申请实施例提供的一种特征相似度矩阵的结构示意图;
图11为本申请实施例提供的一种视觉模型训练和视频处理方法的流程示意图;
图12为本申请实施例提供的一种视觉模型训练装置的结构示意图;
图13为本申请实施例提供的一种视频处理装置的结构示意图;
图14为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了方便理解,下面对本发明实施例中涉及的名词进行解释。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。本申请实施例中采用深度学习技术训练目标视觉模型,然后采用目标视觉模型提取视频中帧级别的视觉特征,再基于帧级别的视觉特征计算视频之间的相似度,并基于视频之间的相似度确定视频是否重复。
自监督学习:指用于机器学习的标注(ground truth)源于数据本身,而非来自人工标注,属于无监督学习。
度量学习(Metric Learning):一种空间映射的方法,其能够学习到一种特征(Embedding)空间。在此空间中,所有的数据都被转换成一个特征向量,并且相似样本的特征向量之间距离小,不相似样本的特征向量之间距离大,从而对数据进行区分。
ImageNet:用于视觉对象识别软件研究的大型可视化数据库。
下面对本申请实施例的设计思想进行介绍。
在对视频进行相似性判定的场景中,一般采用两种技术途径计算视频之间的相似度,第一种技术途径是基于视频整体特征计算视频之间的相似度,第二种是基于视频帧级别的特征计算视频之间的相似度。
在第一种技术途径中,需要将视频作为一个整体提取视频的整体特征,然而视频单一的整体特征不足以表示视频中常出现的场景转换问题,故基于视频整体特征计算视频之间的相似度时,准确性较低。
在第二种技术途径中,通常采用哈希算法(比如均值哈希算法AHash)将视频帧进行哈希转化,生成一组二进制数字作为视频帧的视觉特征。然而,在对视频帧进行裁剪、缩放等情况下,采用哈希算法提取的视觉特征差异较大,故基于视频帧的特征进行视频相似性判别时,容易将相似视频错误地判定为不相似的视频,从而导致相似视频检测的准确性较低。
通过分析发现,深度学习方法在图像分类、物体检测等领域都获得了好的效果,而视频帧也属于一种图像,鉴于此,本申请采用深度学习方法训练目标视觉模型,然后采用目标视觉模型提取视频中视频帧级别的特征,并基于视频帧级别的特征进行视频相似性判别。
具体来说,本申请实施例提供了一种视觉模型训练方法,在该方法中,先获取样本数据,其中,样本数据包括多个不同样本视频各自对应的样本视频帧集合。然后基于样本数据对待训练的视觉模型进行至少一次迭代预训练,输出预训练后的视觉模型,其中,在每次迭代预训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得相应的第一损失函数,并采用第一损失函数对所述待训练的视觉模型进行参数调整。
再基于样本数据对预训练后的视觉模型进行至少一次迭代微调训练,输出已训练的目标视觉模型,其中,在每次迭代微调训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数,并采用所述第二损失函数对所述预训练后的视觉模型进行参数调整。
本申请实施例中,结合预训练和微调训练的方式对待训练的视觉模型进行迭代训练,获得目标视觉模型,使得目标视觉模型的特征表征力会更强,特征区分度更高,从而提高目标视觉模型提取视觉特征的准确性。其次,每次迭代预训练中,基于样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得用于调参的第一损失函数,使待训练的视觉模型学习样本视频帧本身的特征,而不需要预先对每个样本视频帧进行标记,从而提高模型训练的效率以及模型的特征提取效果。另外,在每次迭代微调训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得用于调参的第二损失函数,使预训练后的视觉模型可以更好地学习区分不同的特征,输出区分度高的视觉特征。
在一种可能的实施方式中,在获得目标视觉模型之后,可以利用目标视觉模型提取视频中视频帧级别的特征,并基于视频帧级别的特征进行视频相似性判别。
具体地,从待处理视频中获取多个待处理视频帧,然后采用已训练的目标视觉模型,对多个待处理视频帧分别进行特征提取,获得多个待处理视觉特征。再基于多个待处理视觉特征和候选视频对应的多个候选视觉特征,确定待处理视频与候选视频之间的第二相似度。若第二相似度大于第二阈值,则候选视频为待处理视频的相似视频。
本申请实施例中,目标视觉模型是结合预训练和微调训练的方式获得的,使得目标视觉模型的特征表征力会更强,特征区分度更高,故采用目标视觉模型,对多个待处理视频帧分别进行特征提取时,可以获得准确性高以及区分度高的多个待处理视觉特征,从而有效提高视频相似性判别的准确度。其次,基于视频帧级别的特征进行视频相似性判别,解决了视频中常出现的场景转换问题,提高了视频相似性判别结果的稳定性。
上述视频相似性判别方法可以应用于各类场景下的视频去重,包括搜索场景下的视频去重、推荐场景下的视频去重、视频优选场景下的视频去重等。
举例来说,在视频推荐场景中,服务器基于用户账号在视频应用中的历史观看记录以及用户账号的用户基本属性信息,从视频库中确定与用户账号匹配的多个候选视频。采用上述视频相似性判别方法,确定多个候选视频中的重复视频,然后对多个候选视频进行去重,获得至少一个推荐视频。之后再将获得的推荐视频的相关内容发送至终端设备,终端设备在视频应用的视频推荐界面展示推荐视频的相关内容。具体如图1所示,视频应用的视频推荐界面包括第一推荐视频的封面图像101和第二推荐视频的封面图像102。
参考图2,其为本申请实施例提供的视觉模型训练方法以及视频处理方法所适用的系统架构图,该架构至少包括终端设备201以及服务器202,终端设备201的数量可以是一个或多个,服务器202的数量也可以是一个或多个,本申请对终端设备201和服务器202的数量不做具体限定。
终端设备201中可以安装具备模型训练功能和/或视频处理功能的目标应用,其中,目标应用可以是客户端应用、网页版应用、小程序应用等。终端设备201可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能电视、智能车载终端等,但并不局限于此。
服务器202可以是目标应用的后台服务器,为目标应用提供相应的服务,服务器202可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备201与服务器202可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本申请实施例中的视觉模型训练方法或视频处理方法可以由终端设备201执行,也可以由服务器202执行,也可以由终端设备201和服务器202共同执行,对此,本申请不做具体限定。
下面以视觉模型训练方法以及视频处理方法均由服务器202执行为例,进行以下具体说明:
模型训练阶段:
用户在终端设备201上提交样本数据,其中,样本数据包括多个不同样本视频各自对应的样本视频帧集合,终端设备201将样本数据发送至服务器202。
服务器202基于样本数据对待训练的视觉模型进行至少一次迭代预训练,输出预训练后的视觉模型,其中,在每次迭代预训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得相应的第一损失函数,并采用第一损失函数对待训练的视觉模型进行参数调整。
服务器202基于样本数据对预训练后的视觉模型进行至少一次迭代微调训练,输出已训练的目标视觉模型,其中,在每次迭代微调训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数,并采用第二损失函数对预训练后的视觉模型进行参数调整。在获得目标视觉模型之后,将目标视觉模型保存在服务器202中。
视频处理阶段:
用户在终端设备201上提交待处理视频,终端设备201将待处理视频发送至服务器202。服务器202从待处理视频中获取多个待处理视频帧,然后采用已训练的目标视觉模型,对多个待处理视频帧分别进行特征提取,获得多个待处理视觉特征。再基于多个待处理视觉特征和候选视频对应的多个候选视觉特征,确定待处理视频与候选视频之间的第二相似度。若第二相似度大于第二阈值,则确定候选视频为待处理视频的相似视频。服务器202将相似性判别结果发送至终端设备201。终端设备201可以在显示界面中展示相似性判别结果。
基于图2所示的系统架构图,本申请实施例提供了一种视觉模型训练方法的流程,如图3所示,该方法的流程可以由图2所示的终端设备201或服务器202执行,也可以由终端设备201和服务器202共同执行,包括以下步骤:
步骤S301,获取样本数据。
具体地,样本数据包括多个不同样本视频各自对应的样本视频帧集合。
在一种可能的实施方式中,样本视频帧集合包括从样本视频中抽取的原始视频帧。比如,以样本视频的中间帧为基础,在中间帧之前选取1秒的视频片段,在中间帧之后选取1秒的视频片段,然后在每秒的视频片段中抽取5个原始视频帧,将抽取的10个原始视频帧以及中间帧组成样本视频帧集合。需要说明的是,从样本视频中抽取原始视频帧的方法并不仅限于上述举例的一种方法,还可以采用其他的方式。
在一种可能的实施方式中,样本视频帧集合包括从样本视频中抽取的原始视频帧,以及对原始视频帧进行图像增强后获得的增强视频帧。
具体实施中,从样本视频中抽取至少一个原始视频帧之后,可以从获得的原始视频帧中选取至少一个原始视频帧进行图像增强,获得每个原始视频帧分别对应的至少一个增强视频帧。图像增强方式可以是以下方式中的一种或多种:
随机裁剪、随机翻转、随机光照变化、随机颜色变化、随机对比度变化、随机灰度化、随机添加画布、随机增加运动模糊等。采用获得的原始视频帧和增强视频帧组成样本视频帧集合。
在另一种可能的实施方式中,样本视频帧集合包括从样本视频中抽取的原始视频帧,以及对样本视频进行视频增强后,从增强视频中抽取的增强视频帧。
具体实施中,视频增强方式可以是以下方式中的一种或多种:随机裁剪、随机翻转、随机光照变化、随机颜色变化、随机对比度变化、随机灰度化、随机添加画布、随机增加运动模糊等。
本申请实施例中,对原始视频帧或原始视频进行增强后获得的增强视频帧,为原始视频帧的相似视频帧,将增强视频帧添加至样本视频帧集合后,不仅增大了样本视频帧集合的规模,同时提高了样本视频帧的多样性,故后续使用样本视频帧集合进行模型训练时,可以有效提高模型的稳定性和准确性。
步骤S302,基于样本数据对待训练的视觉模型进行至少一次迭代预训练,输出预训练后的视觉模型。
在每次迭代预训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得第一损失函数,并采用第一损失函数对待训练的视觉模型进行参数调整。
具体实施中,在每次迭代预训练中,可以采用不放回的方式从样本数据中随机选取一个样本视频帧集合,也可以预先对样本数据中的各个样本视频帧集合进行排序,然后按照排列顺序,从样本数据中选取一个样本视频帧集合。在选取样本视频帧集合后,可以采用样本视频帧集合中的所有或部分样本视频帧作为训练样本进行训练。
历史迭代预训练可以是本次迭代训练的前一次或多次迭代训练。历史迭代预训练中使用的其他样本视频帧可以是本次迭代训练的前一次或多次迭代训练中提取的全部或部分样本视觉特征。
由于样本数据中包含的各个样本视频帧集合分别对应不同的样本视频,故本次迭代预训练中选取的样本视频帧集合,与历史迭代预训练选取的样本视频帧集合对应不同的样本视频,因此,可以将本次迭代预训练中选取的样本视频帧集合中各个样本视频帧对应的视觉特征作为正样本视觉特征,将历史迭代预训练中选取的样本视频帧集合中各个样本视频帧对应的视觉特征作为负样本视觉特征。
基于获得的正样本视觉特征和负样本视觉特征,获得第一损失函数。在每次迭代预训练中,采用获得的第一损失函数对待训练的视觉模型进行参数调整,使模型提取的各个正样本视觉特征之间相似性越来越高,正样本视觉特征与负样本视觉特征之间相似性越来越低。迭代预训练的结束条件可以是迭代预训练次数达到预设次数,或者第一损失函数满足预设收敛条件。
在一种可能的实施方式,设置特征队列保存历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,并且在每次迭代预训练之后,对特征队列中的视觉特征进行更新。
具体地,每次迭代预训练之后,提取样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征后,将获得的所有或部分正样本视觉特征插入特征队列的队列尾部,同时删除特征队列中位于队列头部的相应数量的视觉特征。
采用特征队列保存历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,故不需要在每次迭代预训练过程中都提取负样本视觉特征,大大降低了对设备内存的占用,同时提高了模型训练的效率。其次,每次迭代预训练过程更新特征队列中的负样本视觉特征,保证了正负样本视觉特征之间的一致性和连续性,进而提高模型预训练的效果。
步骤S303,基于样本数据对预训练后的视觉模型进行至少一次迭代微调训练,输出已训练的目标视觉模型。
在每次迭代微调训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数,并采用所述第二损失函数对预训练后的视觉模型进行参数调整。
具体实施中,由于样本数据中包含的各个样本视频帧集合分别对应不同的样本视频,而一个样本视频帧集合中的各个样本视频帧对应一个样本视频,那么样本视频帧集合中各个样本视频帧各自对应的预测视频类别应该为同一视频类别。因此,在每次迭代微调训练过程中,采用第二损失函数对预训练后的视觉模型进行参数调整,使样本视频帧集合中各个样本视频帧各自对应的预测视频类别逐步对应一个视频类别。
迭代微调训练的结束条件可以是迭代微调训练次数达到预设次数,或者第二损失函数满足预设收敛条件。
需要说明的是,本申请实施例中涉及的视觉模型等神经网络结构均可保存于区块链上,后续不再赘述。
本申请实施例中,结合预训练和微调训练的方式对待训练的视觉模型进行迭代训练,获得目标视觉模型,使得目标视觉模型的特征表征力会更强,特征区分度更高,从而提高目标视觉模型提取视觉特征的准确性。其次,每次迭代预训练中,基于样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得用于调参的第一损失函数,使待训练的视觉模型学习样本视频帧本身的特征,而不需要预先对每个样本视频帧进行标记,从而提高模型训练的效率以及模型的特征提取效果。另外,在每次迭代微调训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得用于调参的第二损失函数,使预训练后的视觉模型可以更好地学习区分不同的特征,输出区分度高的视觉特征。
可选地,在上述步骤S301中,本申请实施例至少采用以下实施方式对获取的样本视频数据进行数据清洗,获得样本数据。
先获取多个样本视频,并从每个样本视频中获取多个样本视频帧。然后基于多个样本视频各自对应的样本视频帧,分别确定多个样本视频各自对应的视频特征。再基于多个样本视频各自对应的视频特征,对多个样本视频去重,并将保留的样本视频对应的样本视频帧集合作为样本数据。
具体地,从视频数据库中获取多个样本视频。针对每个样本视频,采用预设抽帧方式从样本视频中抽取多个样本视频帧。在获得多个样本视频各自对应的视频特征之后,针对多个样本视频帧中任意两个样本视频,计算两个样本视频各自对应的视频特征之间的余弦相似度。当余弦相似度大于预设阈值时,将这个两个样本视频判定为重复样本视频,然后去除两个样本视频中的一个样本视频。将多个样本视频帧中任意两个样本视频进行比对并去重后,将保留的样本视频对应的样本视频帧集合作为样本数据。
在一种可能的实施方式中,本申请实施例采用以下方式确定每个样本视频的视频特征:
对一个样本视频中的多个样本视频帧按照时间顺序进行排列,并确定相邻两个样本视频帧之间的第一相似度。将第一相似度大于第一阈值的两个样本视频帧划分为同一视频片段中的视频帧,获得至少一个视频片段。然后将至少一个视频片段中,包含最多样本视频帧的视频片段,作为目标视频片段,并将目标视频片段中多个样本视频帧的平均视觉特征,作为该样本视频的视频特征。
具体地,针对每个样本视频,采用ImageNet的预训练模型对样本视频中的每个样本视频帧进行特征提取,获得每个样本视频帧对应的样本视觉特征。
在一个样本视频中,每个样本视频帧对应一个播放时间。可以按照播放时间对样本视频中的多个样本视频帧进行排列,然后基于相邻两个样本视频帧分别对应的样本视觉特征之间的相似度,确定相邻两个样本视频帧之间的第一相似度。
也可以按照播放时间对多个样本视频帧分别对应的样本视觉特征进行排列,然后计算相邻两个样本视觉特征之间的相似度,并将相邻两个样本视觉特征之间的相似度,作为相应的两个样本视频帧之间的第一相似度。
将第一相似度大于第一阈值的两个样本视频帧划分为同一视频片段中的视频帧,获得至少一个视频片段。保留至少一个视频片段中包含最多样本视频帧的目标视频片段,然后对目标视频片段中多个样本视频帧分别对应的样本视觉特征进行加权平均,获得平均视觉特征,并将该平均视觉特征作为样本视频的视频特征。
本申请实施例中,在获得多个样本视频后,对样本视频进行清洗,去除多个样本视频中重复的样本视频,提高样本数据质量,进而提高模型训练的效果。
可选地,在上述步骤S302中,待训练的视觉模型的结构包括主干网络(backbone)、颈部网络(neck)、头部网络(head)。
主干网络(backbone)包括X个下采样模块,X个下采样模块逐级对样本视频帧进行特征提取,输出Y个不同尺寸的下采样样本特征,其中,1≤Y<X。具体实施中,主干网络(backbone)可以是Resnest50模型、Resnet50模型、Resnet18模型等,用于提取丰富且多层次的视觉特征。
颈部网络(neck)对Y个下采样样本特征进行特征融合,获得融合样本特征。
头部网络(head)基于融合样本特征进行预测,具体在进行预测时,可以采用单任务方式,也可以采用多任务方式。
举例来说,如图4所示,设定主干网络(backbone)包括4个下采样模块,分别为下采样模块1、下采样模块2、下采样模块3、下采样模块4。颈部网络(neck)包括上采样模块1和融合模块,头部网络(head)采用多任务方式基于融合样本特征进行预测,一个任务为基于融合样本特征确定样本视频帧中的预测画布区域,另一个任务为基于融合样本特征获得样本视频帧的样本视觉特征。
样本视频帧输入主干网络(backbone),主干网络(backbone)中的4个下采样模块逐级对样本视频帧进行特征提取,获得下采样样本特征1、下采样样本特征2、下采样样本特征3和下采样样本特征4。主干网络(backbone)输出下采样样本特征3和下采样样本特征4至颈部网络(neck)。
颈部网络(neck)中的上采样模块1对下采样样本特征4进行特征提取,获得与下采样样本特征3尺寸相同的上采样样本特征1。将上采样样本特征1与下采样样本特征3合并后输入融合模块。同时将下采样样本特征4输入融合模块,融合模块将输入的样本特征进行融合,输出融合样本特征至头部网络(head)。
头部网络(head)基于融合样本特征确定样本视频帧中的预测画布区域,以及基于融合样本特征,获得样本视频帧的样本视觉特征,其中,样本视觉特征为128维向量特征。
本申请实施例中,主干网络(backbone)采用多个下采样模块逐级对样本视频帧进行特征提取,然后输出部分下采样模块提取的样本特征至颈部网络(neck),这样在保留细节特征的同时,有效减少了计算量。其次,头部网络(head)支持多任务预测,从而提高模型训练的效果。
可选地,在上述步骤S303中,各个样本视频帧包括至少一个第一样本视频帧和至少一个第二样本视频帧。采用待训练的视觉模型对至少一个第一样本视频帧进行特征提取,获得至少一个第一样本视频帧各自对应的第一正样本视觉特征。采用参考视觉模型分别对至少一个第二样本视频帧进行特征提取,分别获得至少一个第二样本视频帧各自对应的第二正样本视觉特征。
在一种可能的实施方式中,基于获得的第一正样本视觉特征和第二正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得相应的第一损失函数。然后采用第一损失函数对待训练的视觉模型进行参数调整。
具体地,参考视觉模型可以是与待训练的视觉模型的结构相同的模型。至少一个第一样本视频帧包括从样本视频帧抽取的原始视频帧和/或者对原始视频帧进行图像增强后获得的增强视频帧。至少一个第二样本视频帧包括从样本视频帧抽取的原始视频帧和/或者对原始视频帧进行图像增强后获得的增强视频帧,第一样本视频帧和第二样本视频帧对应的原始视频帧不同。
在每次迭代预训练之后,可以将获得的第一正样本视觉特征和/或获得的第二正样本视觉特征添加至特征队列中,实现对特征队列更新。
举例来说,如图5所示,样本数据集中包括原始视频帧A和原始视频帧A对应的增强视频帧a1和增强视频帧a2,以及原始视频帧B和原始视频帧B对应的增强视频帧b1和增强视频帧b2。
在一次迭代过程中,从原始视频帧A、增强视频帧a1和增强视频帧a2中随机抽取一个视频帧,假设抽取了原始视频帧A。从原始视频帧B、增强视频帧b1和增强视频帧b2中随机抽取一个视频帧,假设抽取了原始视频帧B。
将原始视频帧A输入待训练的视觉模型,待训练的视觉模型对原始视频帧A,获得正样本视觉特征1。
将原始视频帧B输入参考视觉模型,参考视觉模型对原始视频帧B进行特征提取,获得正样本视觉特征2。
基于获得的各个正样本视觉特征,以及特征队列中保存的负样本视觉特征,获得第一损失函数,并基于第一损失函数进行梯度反传,对待训练的视觉模型进行参数调整。然后将正样本视觉特征2添加至特征队列,同时将特征队列中最早加入的一个视觉特征删除,实现对特征队列的更新。
本申请实施例中,采用自监督的方式对待训练的视觉模型进行预训练,使待训练的视觉模型学习样本视频帧本身的特征,而不需要预先对每个样本视频帧进行标记,从而提高模型训练的效率以及模型的特征提取效果。其次,特征队列保存有每次迭代预训练过程中需要的负样本视觉特征,而不需要每次都提取负样本视觉特征,从而大大节约了计算资源,同时提高了模型训练的效率。
在另一种可能的实施方式中,基于获得的第一正样本视觉特征和第二正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得第一损失函数。
基于至少一个第一样本视频帧各自对应的第一正样本视觉特征,分别确定至少一个第一样本视频帧各自对应的预测画布区域。然后基于至少一个第一样本视频帧各自对应的预测画布区域和至少一个第一样本视频帧各自对应的基准画布区域,确定第三损失函数。之后再采用第一损失函数和第三损失函数,对待训练的视觉模型进行参数值调整。
具体实施中,可以针对一个样本视频设置统一的基准画布区域,也可以针对每个样本视频帧分别设置基准画布区域。
举例来说,如图6所示,样本数据集中包括原始视频帧A和原始视频帧A对应的增强视频帧a1和增强视频帧a2,以及原始视频帧B和原始视频帧B对应的增强视频帧b1和增强视频帧b2。
在一次迭代过程中,从原始视频帧A、增强视频帧a1和增强视频帧a2中随机抽取一个视频帧,假设抽取了原始视频帧A。从原始视频帧B、增强视频帧b1和增强视频帧b2中随机抽取一个视频帧,假设抽取了原始视频帧B。
将原始视频帧A输入待训练的视觉模型,待训练的视觉模型对原始视频帧A,获得正样本视觉特征1。将原始视频帧B输入参考视觉模型,参考视觉模型对原始视频帧B进行特征提取,获得正样本视觉特征2。
基于获得的上述各个正样本视觉特征,以及特征队列中保存的负样本视觉特征,获得第一损失函数。将正样本视觉特征2添加至特征队列,同时将特征队列中最早加入的一个视觉特征删除,实现对特征队列的更新。基于第一损失函数进行梯度反传,对待训练的视觉模型进行参数调整。
基于正样本视觉特征1预测原始视频帧A中的预测画布区域1。基于原始视频帧A中的预测画布区域1和基准画布区域1,确定第三损失函数。然后基于第三损失函数进行梯度反传,对待训练的视觉模型进行参数调整。
本申请实施例中,采用自监督的方式对待训练的视觉模型进行预训练,使待训练的视觉模型学习样本视频帧本身的特征,而不需要预先对每个样本视频帧进行标记,从而提高模型训练的效率以及模型的特征提取效果。其次,在训练过程中选取样本视频中不同的原始视频帧作为输入,有效提高了模型的泛化能力,基于多个训练任务分别对应的损失函数调整模型参数,从而提高模型训练效果。
可选地,由于在每次迭代预训练中,获得的损失函数均是通过梯度反传对待训练的视觉模型进行参数调整,而没有对参考视觉模型进行调整。若一直不对参考视觉模型的参数进行调整,将导致待训练的视觉模型与参考视觉模型提取的特征之间的区别越来越大,从而影响模型的训练效果。
鉴于此,本申请在每次迭代预训练中,基于参数调整后的待训练的视觉模型,对参考视觉模型进行参数值调整。
具体地,每次迭代预训练之后,基于参数调整后的待训练的视觉模型,动量更新参考视觉模型中的参数,使参考视觉模型中的参数逐步靠近参数调整后的待训练中的参数,从而保证待训练的视觉模型与参考视觉模型提取特征的一致性,进而提高模型的训练效果。
可选地,在上述步骤S303中,本申请实施例至少提供以下几种实施方式对预训练后的视觉模型进行迭代微调训练:
实施方式一、采用预训练后的视觉模型,分别对各个样本视频帧进行特征提取,获得各个样本视频帧各自对应的目标样本视觉特征。然后基于获得的目标样本视觉特征,分别预测各个样本视频帧各自对应的预测视频类别。基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数,再采用第二损失函数对预训练后的视觉模型进行参数调整。
具体地,由于样本数据中各个样本视频帧集合分别对应不同的样本视频,因此,同一样本视频对应的样本视频帧的预测视频类别应该是相同的,而不同样本视频对应的样本视频帧的预测视频类别应该是不相同的。第二损失函数的具体形式可以是Arcface、Amsoftmax、Cosface等。
为了避免对每个样本视频帧标记视频类别,本申请实施例中,将分类任务设置为多分类任务,其中,视频类别的数量为样本数据包含的样本视频帧集合的数量。比如,样本数据中包括43万个不同的样本视频对应的样本视频帧集合,则将分类任务设置为一个43万类的分类任务。
举例来说,如图7所示,从样本视频帧集合中选取样本视频帧1、样本视频帧2、样本视频帧3和样本视频帧4。
将上述4个样本视频帧输入预训练后的视觉模型,预训练后的视觉模型分别对上述4个样本视频帧进行特征提取,获得样本视觉特征1、样本视觉特征2、样本视觉特征3和样本视觉特征4。
基于样本视觉特征1预测样本视频帧1对应的预测视频类别为视频类别W,基于样本视觉特征2预测样本视频帧2对应的预测视频类别为视频类别W,基于样本视觉特征3预测样本视频帧3对应的预测视频类别为视频类别W,基于样本视觉特征4预测样本视频帧4对应的预测视频类别为视频类别V。
基于上述4个样本视频帧分别对应的预测视频类别,确定第二损失函数,基于第二损失函数进行梯度反传,对预训练后的视觉模型进行参数调整。
本申请实施例中,基于同一样本视频对应的样本视频帧的预测视频类别相同,不同样本视频对应的样本视频帧的预测视频类别不相同为训练目标,对预训练后的视觉模型进行迭代微调训练,使预训练后的视觉模型可以更好地学习区分不同的特征,输出区分度高的视觉特征。其次,基于样本视频的数量设置相应数量的视频类别,故不需要人工标记每个样本视频帧的视频类别,从而降低了标注成本,提高了模型训练的效率。
实施方式二、采用预训练后的视觉模型,分别对各个样本视频帧进行特征提取,获得各个样本视频帧各自对应的目标样本视觉特征。然后基于获得的目标样本视觉特征,分别预测各个样本视频帧各自对应的预测视频类别。基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数。
基于各个样本视频帧各自对应的目标样本视觉特征,确定各个样本视频帧分别对应的预测画布区域。然后基于各个样本视频帧分别对应的预测画布区域,以及各个样本视频帧分别对应的基准画布区域,确定第四损失函数。采用第二损失函数和第四损失函数,对预训练后的视觉模型进行参数值调整。
具体地,可以针对一个样本视频设置统一的基准画布区域,也可以针对每个样本视频帧分别设置基准画布区域。
举例来说,如图8所示,从样本视频帧集合中选取样本视频帧1、样本视频帧2。
将上述2个样本视频帧输入预训练后的视觉模型,预训练后的视觉模型分别对上述2个样本视频帧进行特征提取,获得样本视觉特征1和样本视觉特征2。基于样本视觉特征1预测样本视频帧1对应的预测视频类别为视频类别W,基于样本视觉特征2预测样本视频帧2对应的预测视频类别为视频类别W。
基于上述2个样本视频帧分别对应的预测视频类别,确定第二损失函数。并采用第二损失函数进行梯度反传,对预训练后的视觉模型进行参数调整。
基于样本视觉特征1预测样本视频帧1中的预测画布区域k1,基于样本视觉特征2预测样本视频帧2中的预测画布区域k2。基于样本视频帧1中的预测画布区域k1和基准画布区域j1、以及样本视频帧2中的预测画布区域k2和基准画布区域j2,确定第四损失函数。基于第四损失函数进行梯度反传,对预训练后的视觉模型进行参数调整。
本申请实施例中,基于同一样本视频对应的样本视频帧的预测视频类别相同,不同样本视频对应的样本视频帧的预测视频类别不相同为训练目标,对预训练后的视觉模型进行迭代微调训练,使预训练后的视觉模型可以更好地学习区分不同的特征,输出区分度高的视觉特征。其次,基于多个训练任务分别对应的损失函数调整模型参数,从而有效提高模型的泛化能力以及准确性。
基于图2所示的系统架构图,本申请实施例提供了一种视频处理方法的流程,如图9所示,该方法的流程可以由图2所示的终端设备201或服务器202执行,也可以由终端设备201和服务器202共同执行,包括以下步骤:
步骤S901,从待处理视频中获取多个待处理视频帧。
具体地,采用预设抽帧方式从待处理视频中获取多个待处理视频帧。
举例来说,以待处理视频的中间帧为基础,确定中间帧之前的1秒的视频片段以及中间帧之后的1秒的视频片段,然后从每秒视频片段中抽取5个待处理视频帧,总共获得11个待处理视频帧。
步骤S902,采用已训练的目标视觉模型,对多个待处理视频帧分别进行特征提取,获得多个待处理视觉特征。
具体地,目标视觉模型的训练过程在前文中已有介绍,此处不再赘述。
针对每个待处理视频帧,待处理视频帧输入目标视觉模型之后,目标视觉模型中的主干网络(backbone)对待处理视频帧进行多级特征提取,输出两个不同尺寸的下采样特征至目标视觉模型中的颈部网络(neck),颈部网络(neck)将两个下采样特征进行融合,输出融合特征至目标视觉模型中的头部网络(head)。头部网络(head)将融合样本特征转化为待处理视觉特征。
步骤S903,基于多个待处理视觉特征和候选视频对应的多个候选视觉特征,确定待处理视频与候选视频之间的第二相似度。
步骤S904,判断第二相似度是否大于第二阈值,若是,则执行步骤S905,否则执行步骤S906。
步骤S905,确定候选视频为待处理视频的相似视频。
步骤S906,确定候选视频不是待处理视频的相似视频。
具体地,当候选视频为待处理视频的相似视频时,说明候选视频与待处理视频两者重复,当候选视频不是待处理视频的相似视频时,说明候选视频与待处理视频两者不重复。当帧级特征库中包括多个候选视频分别对应的多个候选视觉特征时,可以采用上述方式分别确定帧级特征库中每个候选视频是否为待处理视频的相似视频或重复视频。
本申请实施例中,目标视觉模型是结合预训练和微调训练的方式获得的,使得目标视觉模型的特征表征力会更强,特征区分度更高,故采用目标视觉模型,对多个待处理视频帧分别进行特征提取时,可以获得准确性高以及区分度高的多个待处理视觉特征,从而有效提高视频相似性判别的准确度。其次,基于视频帧级别的特征进行视频相似性判别,解决了视频中常出现的场景转换问题,提高了视频相似性判别结果的稳定性。
可选地,在上述步骤S903中,本申请实施例至少提供以下几种实施方式确定待处理视频与候选视频之间的第二相似度。
实施方式一、多个候选视觉特征为M个候选视觉特征,多个待处理视觉特征为N个待处理视觉特征,其中,M为大于1正整数,N为大于1正整数。
确定每个候选视觉特征,分别与N个待处理视觉特征之间的特征相似度。然后基于获得的特征相似度,构建M行N列的特征相似度矩阵,其中,特征相似度矩阵中的每个元素表示相应行和列分别对应的候选视觉特征与待处理视觉特征之间的特征相似度。从特征相似度矩阵中,获取M个行特征相似度和N个列特征相似度,其中,每个行特征相似度为对应行中最大的特征相似度,每个列特征相似度为对应列中最大的特征相似度。再基于M个行特征相似度和N个列特征相似度,确定待处理视频与候选视频之间的第二相似度。
具体地,候选视觉特征与待处理视觉特征之间的特征相似度可以是余弦相似度、欧氏距离、切比雪夫距离等。
在一种可能的实施方式中,从M个行特征相似度中确定最大行特征相似度,然后从N个列特征相似度中确定最大列特征相似度。之后再基于最大行特征相似度和最大列特征相似度,确定待处理视频与候选视频之间的第二相似度。
具体地,将最大行特征相似度与最大列特征相似度的平均值,作为待处理视频与候选视频之间的第二相似度。
在另一种可能的实施方式中,基于M个行特征相似度确定行平均相似度,具体满足以下公式(1):
其中,sim1表示行平均相似度,cs(i,j)表示特征相似度矩阵中第i行对应的候选视觉特征与第j列对应的待处理视觉特征之间的特征相似度。
基于N个列特征相似度确定列平均相似度,具体满足以下公式(2):
其中,sim2表示列平均相似度,cs(i,j)表示特征相似度矩阵中第i行对应的候选视觉特征与第j列对应的待处理视觉特征之间的特征相似度。
基于行平均相似度和列平均相似度,确定待处理视频与候选视频之间的第二相似度,具体满足以下公式(3):
Sim=(sim3+sim4)/2+min(0,(sim4-thd))…………………(3)
其中,Sim表示待处理视频与候选视频之间的第二相似度,sim3=max(sim1,sim2),sim4=min(sim1,sim2),thd为超参数,比如可以取值为0.35。
举例来说,设定待处理视频C中包括3个待处理视频帧,候选视频D中包括3个候选视频帧。采用已训练的目标视觉模型,对3个待处理视频帧分别进行特征提取,获得3个待处理视觉特征,分别为待处理视觉特征1、待处理视觉特征2和待处理视觉特征3。
采用已训练的目标视觉模型,对3个候选视频帧分别进行特征提取,获得3个候选视觉特征,分别为候选视觉特征1、候选视觉特征2和候选视觉特征3。
确定候选视觉特征1与待处理视觉特征1之间的特征相似度cs(1,1)=0.6,确定候选视觉特征1与待处理视觉特征2之间的特征相似度cs(1,2)=0.7,确定候选视觉特征1与待处理视觉特征3之间的特征相似度cs(1,3)=0.8。
确定候选视觉特征2与待处理视觉特征1之间的特征相似度cs(2,1)=0.7,确定候选视觉特征2与待处理视觉特征2之间的特征相似度cs(2,2)=0.5,确定候选视觉特征2与待处理视觉特征3之间的特征相似度cs(2,3)=0.9。
确定候选视觉特征3与待处理视觉特征1之间的特征相似度cs(3,1)=0.8,确定候选视觉特征3与待处理视觉特征2之间的特征相似度cs(3,2)=0.9,确定候选视觉特征3与待处理视觉特征3之间的特征相似度cs(3,3)=0.6。
基于获得的特征相似度,构建3行3列的特征相似度矩阵,具体如图10所示,特征相似度矩阵中第一行包括特征相似度cs(1,1)、cs(1,2)和cs(1,3)。特征相似度矩阵中第二行包括特征相似度cs(2,1)、cs(2,2)和cs(2,3)。特征相似度矩阵中第三行包括特征相似度cs(3,1)、cs(3,2)和cs(3,3)。
采用上述公式(1)可以获得,从特征相似度矩阵中选取的3个行特征相似度分别为cs(1,3)、cs(2,3)和cs(3,2),基于3个行特征相似度获得的行平均相似度为(0.8+0.9+0.9)/3=0.87。
采用上述公式(2)可以获得,从特征相似度矩阵中选取的3个列特征相似度分别为cs(3,1)、cs(3,2)和cs(2,3),基于3个列特征相似度获得的列平均相似度为(0.8+0.9+0.9)/3=0.87。
将获得的行平均相似度和列平均相似度代入上述公式(3),获得待处理视频C与候选视频D之间的相似度为0.87。
若预设的第二阈值为0.7,由于待处理视频C与候选视频D之间的相似度大于第二阈值,则确定候选视频D为待处理视频C的重复视频。
本申请实施例中,通过对待处理视频和候选视频进行视频帧级别的比对,确定待处理视频与候选视频是否为相似视频,故在待处理视频中出现场景转换时,依然可以获得准确性较高的判别结果,提高了视频相似性判别结果的稳定性。
实施方式二、按照播放时间多个待处理视觉特征进行排序,获得第一排序结果,同样地,按照播放时间对多个候选视觉特征进行排序,获得第二排序结果。确定排列序号相同的待处理视觉特征与候选视觉特征之间的特征相似度,然后将获得的特征相似度的平均值,作为待处理视频与候选视频之间的第二相似度。
举例来说,设定待处理视频C中包括3个待处理视频帧,候选视频D中包括3个候选视频帧。采用已训练的目标视觉模型,对3个待处理视频帧分别进行特征提取,获得3个待处理视觉特征,分别为待处理视觉特征1、待处理视觉特征2和待处理视觉特征3。按照播放时间对待处理视觉特征1、待处理视觉特征2和待处理视觉特征3进行排序,获得的第一排序结果为:待处理视觉特征2、待处理视觉特征1和待处理视觉特征3。
采用已训练的目标视觉模型,对3个候选视频帧分别进行特征提取,获得3个候选视觉特征,分别为候选视觉特征1、候选视觉特征2和候选视觉特征3。按照播放时间对候选视觉特征1、候选视觉特征2和候选视觉特征3进行排序,获得的第二排序结果为:候选视觉特征1、候选视觉特征2和候选视觉特征3。
确定待处理视觉特征2与候选视觉特征1之间的第一特征相似度,待处理视觉特征1与候选视觉特征2之间的第二特征相似度,待处理视觉特征3与候选视觉特征3之间的第三特征相似度。之后再将第一特征相似度、第二特征相似度和第三特征相似度的平均值,作为待处理视频与候选视频之间的第二相似度。
本申请实施例中,将多个待处理视觉特征和多个候选视觉特征分别按照时间进行排序后,基于排序结果确定待处理视觉特征与候选视觉特征之间的一一对应关系,然后计算待处理视觉特征与对应的候选视觉特征之间的特征相似度,再基于获得的多个特征相似度计算待处理视频与候选视频之间的相似度,而不需要确定每个待处理视觉特征分别与多个候选视觉特征之间的特征相似度,从而有效提高了视频相似性判别的效率。
为了更好地解释本申请实施例,下面结合具体实施场景介绍本申请实施例提供的一种视觉模型训练方法以及视频处理方法,该方法的流程可以由图2所示的终端设备201或服务器202执行,也可以由终端设备201和服务器202共同执行,如图11所示,包括以下步骤:
步骤一、模型训练阶段-基于自监督的模型预训练。
在进行预训练过程中,采用两个损失函数对待训练的视觉模型进行参数调整,分别为自监督损失函数(InfoNCE)以及画布分割损失函数(Dice loss)。基于样本数据对待训练的视觉模型进行第一预设次数的迭代预训练,输出预训练后的视觉模型。
在一次迭代预训练过程中,样本数据集中包括原始视频帧A和原始视频帧A对应的增强视频帧a1和增强视频帧a2,以及原始视频帧B和原始视频帧B对应的增强视频帧b1和增强视频帧b2。
在一次迭代过程中,从原始视频帧A、增强视频帧a1和增强视频帧a2中随机抽取一个视频帧,设定抽取了原始视频帧A。从原始视频帧B、增强视频帧b1和增强视频帧b2中随机抽取一个视频帧,设定抽取了原始视频帧B。
将原始视频帧A输入待训练的视觉模型,待训练的视觉模型对原始视频帧A,获得正样本视觉特征1。将原始视频帧B输入参考视觉模型,参考视觉模型对原始视频帧B进行特征提取,获得正样本视觉特征2。
基于获得的上述各个正样本视觉特征,以及特征队列中保存的负样本视觉特征,获得自监督损失函数。将正样本视觉特征2添加至特征队列,同时将特征队列中最早加入的一个视觉特征删除,实现对特征队列的更新。基于自监督损失函数进行梯度反传,对待训练的视觉模型进行参数调整。
基于正样本视觉特征1预测原始视频帧A中的预测画布区域1。基于原始视频帧A中的预测画布区域1和基准画布区域1,确定画布分割损失函数。然后基于画布分割损失函数进行梯度反传,对待训练的视觉模型进行参数调整。步骤二、模型训练阶段-基于度量学习的模型微调训练。
在进行微调训练过程中,采用两个损失函数对预训练后的视觉模型进行参数调整,分别为分类损失函数(Arcface)以及画布分割损失函数(Dice loss)。基于样本数据对预训练后的视觉模型进行第二预设次数的迭代微调训练,输出已训练的目标视觉模型。
在一次迭代微调训练过程中,从样本视频帧集合中选取样本视频帧1、样本视频帧2。将上述2个样本视频帧输入预训练后的视觉模型,预训练后的视觉模型分别对上述2个样本视频帧进行特征提取,获得样本视觉特征1和样本视觉特征2。
基于样本视觉特征1预测样本视频帧1对应的预测视频类别为视频类别W,基于样本视觉特征2预测样本视频帧2对应的预测视频类别为视频类别W。基于上述2个样本视频帧分别对应的预测视频类别,确定分类损失函数。并采用分类损失函数进行梯度反传,对预训练后的视觉模型进行参数调整。
基于样本视觉特征1预测样本视频帧1中的预测画布区域k1,基于样本视觉特征2预测样本视频帧2中的预测画布区域k2。基于样本视频帧1中的预测画布区域k1和基准画布区域j1、以及样本视频帧2中的预测画布区域k2和基准画布区域j2,确定画布分割损失函数。采用画布分割损失函数进行梯度反传,对预训练后的视觉模型进行参数调整。
步骤三、重复视频判别阶段。
对用户上传的待处理视频每秒抽取一个待处理视频帧,采用上述已训练的目标视觉模型,对多个待处理视频帧分别进行特征提取,获得多个待处理视觉特征。针对帧级特征库中每个候选视频对应的多个候选视觉特征。将多个待处理视觉特征与该候选视频对应的多个候选视觉特征进行逐帧比较,确定待处理视频与该候选视频之间的相似度。若相似度大于预设阈值,则确定该候选视频与待处理视频重复。采用上述方法可以确定帧级特征库中所有与待处理视频重复的候选视频。将待处理视频添加至帧级特征库后,可以将待处理视频以及待处理视频的重复视频进行关联标记,便于后续搜索场景、推荐场景、视频优选场景等场景下快速对视频进行去重。
本申请实施例中,采用自监督的方式对待训练的视觉模型进行预训练,获得预训练后的视觉模型,采用度量学习的方式对预训练后的视觉模型进行微调,使得目标视觉模型的特征表征力会更强,特征区分度更高,从而提高目标视觉模型提取视觉特征的准确性。采用目标视觉模型,对多个待处理视频帧分别进行特征提取时,可以获得准确性高以及区分度高的多个待处理视觉特征,从而有效提高视频相似性判别的准确度。其次,基于视频帧级别的特征进行视频相似性判别,解决了视频中常出现的场景转换问题,提高了视频相似性判别结果的稳定性。
为了验证本申请实施例提供的视觉模型训练方法的效果,本申请对采用其他训练方法获得模型的性能与本申请训练获得的目标视觉模型的性能进行了比较,比较结果如以下表1所示:
表1.
方案 | F1分数 |
自监督训练+Resnest+多任务 | 97.92 |
两阶段训练+Resnest+多任务 | 99.40 |
两阶段训练+本申请中的网络+多任务 | 99.80 |
其中,两阶段训练表示预训练和微调训练,多任务表示采用多个损失函数对模型参数进行调整,Resnest表示现有的一种网络,F1分数是统计学中用来衡量模型精确度的一种指标。
通过比较可知,在采用了两阶段训练后,F1分数会比只采用自监督有较大提升,采用了本申请中的网络后,F1分数持续提升。由此可见,本申请训练获得的目标视觉模型的性能相较于其他模型来说,准确性更高,性能更好。
基于相同的技术构思,本申请实施例提供了一种视觉模型训练装置的结构示意图,如图12所示,该装置1200包括:
第一获取模块1201,用于获取样本数据,其中,所述样本数据包括多个不同样本视频各自对应的样本视频帧集合;
预训练模块1202,用于基于所述样本数据对待训练的视觉模型进行至少一次迭代预训练,输出预训练后的视觉模型,其中,在每次迭代预训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得相应的第一损失函数,并采用所述第一损失函数对所述待训练的视觉模型进行参数调整;
微调训练模块1203,用于基于所述样本数据对预训练后的视觉模型进行至少一次迭代微调训练,输出已训练的目标视觉模型,其中,在每次迭代微调训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数,并采用所述第二损失函数对所述预训练后的视觉模型进行参数调整。
可选地,所述各个样本视频帧包括至少一个第一样本视频帧和至少一个第二样本视频帧;
所述预训练模块1202还用于:
基于选取的样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得相应的第一损失函数之前,采用所述待训练的视觉模型对所述至少一个第一样本视频帧进行特征提取,获得所述至少一个第一样本视频帧各自对应的第一正样本视觉特征;
采用参考视觉模型分别对所述至少一个第二样本视频帧进行特征提取,分别获得所述至少一个第二样本视频帧各自对应的第二正样本视觉特征。
可选地,所述预训练模块1202具体用于:
基于所述至少一个第一样本视频帧各自对应的第一正样本视觉特征,分别确定所述至少一个第一样本视频帧各自对应的预测画布区域;
基于所述至少一个第一样本视频帧各自对应的预测画布区域和所述至少一个第一样本视频帧各自对应的基准画布区域,确定第三损失函数;
采用所述第一损失函数和所述第三损失函数,对所述待训练的视觉模型进行参数值调整。
可选地,所述预训练模块1202还用于:
在每次迭代预训练中,基于参数调整后的所述待训练的视觉模型,对所述参考视觉模型进行参数值调整。
可选地,所述微调训练模块1203还用于:
所述基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数之前,采用所述预训练后的视觉模型,分别对所述各个样本视频帧进行特征提取,获得所述各个样本视频帧各自对应的目标样本视觉特征;
基于获得的目标样本视觉特征,分别预测所述各个样本视频帧各自对应的预测视频类别。
可选地,所述微调训练模块1203具体用于:
基于所述各个样本视频帧各自对应的目标样本视觉特征,确定所述各个样本视频帧分别对应的预测画布区域;
基于所述各个样本视频帧分别对应的预测画布区域,以及所述各个样本视频帧分别对应的基准画布区域,确定第四损失函数;
采用所述第二损失函数和所述第四损失函数,对所述预训练后的视觉模型进行参数值调整。
可选地,所述第一获取模块1201具体用于:
获取多个样本视频,并从每个样本视频中获取多个样本视频帧;
基于所述多个样本视频各自对应的样本视频帧,分别确定所述多个样本视频各自对应的视频特征;
基于所述多个样本视频各自对应的视频特征,对所述多个样本视频去重,并将保留的样本视频对应的样本视频帧集合作为样本数据。
可选地,所述第一获取模块1201具体用于:
针对所述多个样本视频中的各个样本视频,分别执行以下步骤:
对一个样本视频中的多个样本视频帧按照时间顺序进行排列,并确定相邻两个样本视频帧之间的第一相似度;
将所述第一相似度大于第一阈值的两个样本视频帧划分为同一视频片段中的视频帧,获得至少一个视频片段;
将所述至少一个视频片段中,包含最多样本视频帧的视频片段,作为目标视频片段,并将所述目标视频片段中多个样本视频帧的平均视觉特征,作为所述一个样本视频的视频特征。
本申请实施例中,结合预训练和微调训练的方式对待训练的视觉模型进行迭代训练,获得目标视觉模型,使得目标视觉模型的特征表征力会更强,特征区分度更高,从而提高目标视觉模型提取视觉特征的准确性。其次,每次迭代预训练中,基于样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得用于调参的第一损失函数,使待训练的视觉模型学习样本视频帧本身的特征,而不需要预先对每个样本视频帧进行标记,从而提高模型训练的效率以及模型的特征提取效果。另外,在每次迭代微调训练中,基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得用于调参的第二损失函数,使预训练后的视觉模型可以更好地学习区分不同的特征,输出区分度高的视觉特征。
基于相同的技术构思,本申请实施例提供了一种视频处理装置的结构示意图,如图13所示,该装置1300包括:
第二获取模块1301,用于从待处理视频中获取多个待处理视频帧;
预测模块1302,用于采用已训练的目标视觉模型,对所述多个待处理视频帧分别进行特征提取,获得多个待处理视觉特征,所述已训练的目标视觉模型是采用上述视觉模型训练装置获得的;
匹配模块1303,用于基于所述多个待处理视觉特征和候选视频对应的多个候选视觉特征,确定所述待处理视频与所述候选视频之间的第二相似度;
判别模块1304,用于若所述第二相似度大于第二阈值,则确定所述候选视频为所述待处理视频的相似视频。
可选地,所述多个候选视觉特征为M个候选视觉特征,所述多个待处理视觉特征为N个待处理视觉特征,其中,M为大于1正整数,N为大于1正整数;
所述匹配模块1303具体用于:
针对所述M个候选视觉特征,分别执行以下步骤:确定一个候选视觉特征,分别与N个待处理视觉特征之间的特征相似度;
基于获得的特征相似度,构建M行N列的特征相似度矩阵,其中,所述特征相似度矩阵中的每个元素表示相应行和列分别对应的候选视觉特征与待处理视觉特征之间的特征相似度;
从所述特征相似度矩阵中,获取M个行特征相似度和N个列特征相似度,其中,每个行特征相似度为对应行中最大的特征相似度,每个列特征相似度为对应列中最大的特征相似度;
基于所述M个行特征相似度和所述N个列特征相似度,确定所述待处理视频与所述候选视频之间的第二相似度。
可选地,所述匹配模块1303具体用于:
基于所述M个行特征相似度确定行平均相似度;
基于所述N个列特征相似度确定列平均相似度;
基于所述行平均相似度和所述列平均相似度,确定所述待处理视频与所述候选视频之间的第二相似度。
本申请实施例中,采用目标视觉模型,对多个待处理视频帧分别进行特征提取时,可以获得准确性高以及区分度高的多个待处理视觉特征,从而有效提高视频相似性判别的准确度。其次,基于视频帧级别的特征进行视频相似性判别,解决了视频中常出现的场景转换问题,提高了视频相似性判别结果的稳定性。
基于相同的技术构思,本申请实施例提供了一种计算机设备,该计算设备可以是图2所示的终端设备和/或服务器,如图14所示,包括至少一个处理器1401,以及与至少一个处理器连接的存储器1402,本申请实施例中不限定处理器1401与存储器1402之间的具体连接介质,图14中处理器1401和存储器1402之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器1402存储有可被至少一个处理器1401执行的指令,至少一个处理器1401通过执行存储器1402存储的指令,可以执行上述视觉模型训练方法和/或视频处理方法的步骤。
其中,处理器1401是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器1402内的指令以及调用存储在存储器1402内的数据,从而训练视觉模型和/或进行视频相似性判决。可选的,处理器1401可包括一个或多个处理单元,处理器1401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1401中。在一些实施例中,处理器1401和存储器1402可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1401可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1402可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1402是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1402还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述视觉模型训练方法和/或视频处理方法的步骤。
基于同一发明构思,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述视觉模型训练方法和/或视频处理方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (16)
1.一种视觉模型训练方法,其特征在于,包括:
获取样本数据,其中,所述样本数据包括多个不同样本视频各自对应的样本视频帧集合;
基于所述样本数据对待训练的视觉模型进行至少一次迭代预训练,输出预训练后的视觉模型,其中,在每次迭代预训练中,以各个正样本视觉特征之间相似性提高,以及正样本视觉特征与负样本视觉特征之间相似性降低为训练目标,基于选取的样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得相应的第一损失函数,并采用所述第一损失函数对所述待训练的视觉模型进行参数调整;
基于所述样本数据对预训练后的视觉模型进行至少一次迭代微调训练,输出已训练的目标视觉模型,其中,在每次迭代微调训练中,使样本视频帧集合中各个样本视频帧各自对应的预测视频类别逐步对应一个视频类别为训练目标,基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数,并采用所述第二损失函数对所述预训练后的视觉模型进行参数调整。
2.如权利要求1所述的方法,其特征在于,所述各个样本视频帧包括至少一个第一样本视频帧和至少一个第二样本视频帧;
所述基于选取的样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得相应的第一损失函数之前,还包括:
采用所述待训练的视觉模型对所述至少一个第一样本视频帧进行特征提取,获得所述至少一个第一样本视频帧各自对应的第一正样本视觉特征;
采用参考视觉模型分别对所述至少一个第二样本视频帧进行特征提取,分别获得所述至少一个第二样本视频帧各自对应的第二正样本视觉特征。
3.如权利要求2所述的方法,其特征在于,所述采用所述第一损失函数对所述待训练的视觉模型进行参数调整,包括:
基于所述至少一个第一样本视频帧各自对应的第一正样本视觉特征,分别确定所述至少一个第一样本视频帧各自对应的预测画布区域;
基于所述至少一个第一样本视频帧各自对应的预测画布区域和所述至少一个第一样本视频帧各自对应的基准画布区域,确定第三损失函数;
采用所述第一损失函数和所述第三损失函数,对所述待训练的视觉模型进行参数值调整。
4.如权利要求2或3所述的方法,其特征在于,在每次迭代预训练中,还包括:
基于参数调整后的所述待训练的视觉模型,对所述参考视觉模型进行参数值调整。
5.如权利要求1所述的方法,其特征在于,所述基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数之前,包括:
采用所述预训练后的视觉模型,分别对所述各个样本视频帧进行特征提取,获得所述各个样本视频帧各自对应的目标样本视觉特征;
基于获得的目标样本视觉特征,分别预测所述各个样本视频帧各自对应的预测视频类别。
6.如权利要求5所述的方法,其特征在于,所述采用所述第二损失函数对所述预训练后的视觉模型进行参数调整,包括:
基于所述各个样本视频帧各自对应的目标样本视觉特征,确定所述各个样本视频帧分别对应的预测画布区域;
基于所述各个样本视频帧分别对应的预测画布区域,以及所述各个样本视频帧分别对应的基准画布区域,确定第四损失函数;
采用所述第二损失函数和所述第四损失函数,对所述预训练后的视觉模型进行参数值调整。
7.如权利要求1所述的方法,其特征在于,所述获取样本数据,包括:
获取多个样本视频,并从每个样本视频中获取多个样本视频帧;
基于所述多个样本视频各自对应的样本视频帧,分别确定所述多个样本视频各自对应的视频特征;
基于所述多个样本视频各自对应的视频特征,对所述多个样本视频去重,并将保留的样本视频对应的样本视频帧集合作为样本数据。
8.如权利要求7所述的方法,其特征在于,所述基于所述多个样本视频分别对应的样本视频帧,分别确定所述多个样本视频各自对应的视频特征,包括:
针对所述多个样本视频中的各个样本视频,分别执行以下步骤:
对一个样本视频中的多个样本视频帧按照时间顺序进行排列,并确定相邻两个样本视频帧之间的第一相似度;
将所述第一相似度大于第一阈值的两个样本视频帧划分为同一视频片段中的视频帧,获得至少一个视频片段;
将所述至少一个视频片段中,包含最多样本视频帧的视频片段,作为目标视频片段,并将所述目标视频片段中多个样本视频帧的平均视觉特征,作为所述一个样本视频的视频特征。
9.一种视频处理方法,其特征在于,包括:
从待处理视频中获取多个待处理视频帧;
采用已训练的目标视觉模型,对所述多个待处理视频帧分别进行特征提取,获得多个待处理视觉特征,所述已训练的目标视觉模型是采用上述权利要求1至8任一所述的方法获得的;
基于所述多个待处理视觉特征和候选视频对应的多个候选视觉特征,确定所述待处理视频与所述候选视频之间的第二相似度;
若所述第二相似度大于第二阈值,则确定所述候选视频为所述待处理视频的相似视频。
10.如权利要求9所述的方法,其特征在于,所述多个候选视觉特征为M个候选视觉特征,所述多个待处理视觉特征为N个待处理视觉特征,其中,M为大于1正整数,N为大于1 正整数;
所述基于所述多个待处理视觉特征和候选视频对应的多个候选视觉特征,确定所述待处理视频与所述候选视频之间的第二相似度,包括:
针对所述M个候选视觉特征,分别执行以下步骤:确定一个候选视觉特征,分别与N个待处理视觉特征之间的特征相似度;
基于获得的特征相似度,构建M行N列的特征相似度矩阵,其中,所述特征相似度矩阵中的每个元素表示相应行和列分别对应的候选视觉特征与待处理视觉特征之间的特征相似度;
从所述特征相似度矩阵中,获取M个行特征相似度和N个列特征相似度,其中,每个行特征相似度为对应行中最大的特征相似度,每个列特征相似度为对应列中最大的特征相似度;
基于所述M个行特征相似度和所述N个列特征相似度,确定所述待处理视频与所述候选视频之间的第二相似度。
11.如权利要求10所述的方法,其特征在于,所述基于所述M个行特征相似度和所述N个列特征相似度,确定所述待处理视频与所述候选视频之间的第二相似度,包括:
基于所述M个行特征相似度确定行平均相似度;
基于所述N个列特征相似度确定列平均相似度;
基于所述行平均相似度和所述列平均相似度,确定所述待处理视频与所述候选视频之间的第二相似度。
12.一种视觉模型训练装置,其特征在于,包括:
第一获取模块,用于获取样本数据,其中,所述样本数据包括多个不同样本视频各自对应的样本视频帧集合;
预训练模块,用于基于所述样本数据对待训练的视觉模型进行至少一次迭代预训练,输出预训练后的视觉模型,其中,在每次迭代预训练中,以各个正样本视觉特征之间相似性提高,以及正样本视觉特征与负样本视觉特征之间相似性降低为训练目标,基于选取的样本视频帧集合中各个样本视频帧各自对应的正样本视觉特征,以及历史迭代预训练中使用的其他样本视频帧各自对应的负样本视觉特征,获得相应的第一损失函数,并采用所述第一损失函数对所述待训练的视觉模型进行参数调整;
微调训练模块,用于基于所述样本数据对预训练后的视觉模型进行至少一次迭代微调训练,输出已训练的目标视觉模型,其中,在每次迭代微调训练中,使样本视频帧集合中各个样本视频帧各自对应的预测视频类别逐步对应一个视频类别为训练目标,基于选取的样本视频帧集合中各个样本视频帧各自对应的预测视频类别,获得相应的第二损失函数,并采用所述第二损失函数对所述预训练后的视觉模型进行参数调整。
13.一种视频处理装置,其特征在于,包括:
第二获取模块,用于从待处理视频中获取多个待处理视频帧;
预测模块,用于采用已训练的目标视觉模型,对所述多个待处理视频帧分别进行特征提取,获得多个待处理视觉特征,所述已训练的目标视觉模型是采用上述权利要求12所述的装置获得的;
匹配模块,用于基于所述多个待处理视觉特征和候选视频对应的多个候选视觉特征,确定所述待处理视频与所述候选视频之间的第二相似度;
判别模块,用于若所述第二相似度大于第二阈值,则确定所述候选视频为所述待处理视频的相似视频。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~11任一权利要求所述方法的步骤。
15.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~11任一所述方法的步骤。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行权利要求1-11任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111092197.2A CN114283350B (zh) | 2021-09-17 | 2021-09-17 | 视觉模型训练和视频处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111092197.2A CN114283350B (zh) | 2021-09-17 | 2021-09-17 | 视觉模型训练和视频处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114283350A CN114283350A (zh) | 2022-04-05 |
CN114283350B true CN114283350B (zh) | 2024-06-07 |
Family
ID=80868588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111092197.2A Active CN114283350B (zh) | 2021-09-17 | 2021-09-17 | 视觉模型训练和视频处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114283350B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114882334B (zh) * | 2022-04-29 | 2023-04-28 | 北京百度网讯科技有限公司 | 用于生成预训练模型的方法、模型训练方法及装置 |
CN115115972A (zh) * | 2022-05-25 | 2022-09-27 | 腾讯科技(深圳)有限公司 | 视频处理方法、装置、计算机设备、介质及程序产品 |
CN115205763B (zh) * | 2022-09-09 | 2023-02-17 | 阿里巴巴(中国)有限公司 | 视频处理方法及设备 |
CN116308978B (zh) * | 2022-12-08 | 2024-01-23 | 北京瑞莱智慧科技有限公司 | 视频处理方法、相关装置及存储介质 |
CN118351039A (zh) * | 2023-01-12 | 2024-07-16 | 京东方科技集团股份有限公司 | 一种视频质量增强方法、模型训练方法及设备 |
CN118568290A (zh) * | 2023-02-28 | 2024-08-30 | 腾讯科技(深圳)有限公司 | 用于音视频匹配的模型训练方法、音视频匹配方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018132961A1 (en) * | 2017-01-18 | 2018-07-26 | Nokia Technologies Oy | Apparatus, method and computer program product for object detection |
CN111107435A (zh) * | 2019-12-17 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 视频推荐方法及装置、设备、存储介质 |
CN111291606A (zh) * | 2019-04-16 | 2020-06-16 | 北京潼荔科技有限公司 | 基于边缘计算的场景自适应目标识别人工智能方法及系统 |
CN111507289A (zh) * | 2020-04-22 | 2020-08-07 | 上海眼控科技股份有限公司 | 视频匹配方法、计算机设备和存储介质 |
CN112307883A (zh) * | 2020-07-31 | 2021-02-02 | 北京京东尚科信息技术有限公司 | 训练方法、装置、电子设备以及计算机可读存储介质 |
WO2021138855A1 (zh) * | 2020-01-08 | 2021-07-15 | 深圳市欢太科技有限公司 | 模型训练方法、视频处理方法、装置、存储介质及电子设备 |
CN113343941A (zh) * | 2021-07-20 | 2021-09-03 | 中国人民大学 | 一种基于互信息相似度的零样本动作识别方法及系统 |
CN113378784A (zh) * | 2021-07-01 | 2021-09-10 | 北京百度网讯科技有限公司 | 视频标签推荐模型的训练方法和确定视频标签的方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10402701B2 (en) * | 2017-03-17 | 2019-09-03 | Nec Corporation | Face recognition system for face recognition in unlabeled videos with domain adversarial learning and knowledge distillation |
US11295171B2 (en) * | 2019-10-18 | 2022-04-05 | Google Llc | Framework for training machine-learned models on extremely large datasets |
CN113508378B (zh) * | 2019-10-31 | 2024-07-05 | 华为技术有限公司 | 推荐模型的训练方法、推荐方法、装置及计算机可读介质 |
-
2021
- 2021-09-17 CN CN202111092197.2A patent/CN114283350B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018132961A1 (en) * | 2017-01-18 | 2018-07-26 | Nokia Technologies Oy | Apparatus, method and computer program product for object detection |
CN111291606A (zh) * | 2019-04-16 | 2020-06-16 | 北京潼荔科技有限公司 | 基于边缘计算的场景自适应目标识别人工智能方法及系统 |
CN111107435A (zh) * | 2019-12-17 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 视频推荐方法及装置、设备、存储介质 |
WO2021138855A1 (zh) * | 2020-01-08 | 2021-07-15 | 深圳市欢太科技有限公司 | 模型训练方法、视频处理方法、装置、存储介质及电子设备 |
CN111507289A (zh) * | 2020-04-22 | 2020-08-07 | 上海眼控科技股份有限公司 | 视频匹配方法、计算机设备和存储介质 |
CN112307883A (zh) * | 2020-07-31 | 2021-02-02 | 北京京东尚科信息技术有限公司 | 训练方法、装置、电子设备以及计算机可读存储介质 |
CN113378784A (zh) * | 2021-07-01 | 2021-09-10 | 北京百度网讯科技有限公司 | 视频标签推荐模型的训练方法和确定视频标签的方法 |
CN113343941A (zh) * | 2021-07-20 | 2021-09-03 | 中国人民大学 | 一种基于互信息相似度的零样本动作识别方法及系统 |
Non-Patent Citations (2)
Title |
---|
Unsupervised learning from videos using temporal coherency deep networks;Carolina Redondo-Cabrera等;Computer Vision and Image Understanding;20181011;1-15 * |
多模态特征融合与多任务学习的特种视频分类;吴晓雨;顾超男;王生进;;光学精密工程;20200513(05);186-195 * |
Also Published As
Publication number | Publication date |
---|---|
CN114283350A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114283350B (zh) | 视觉模型训练和视频处理方法、装置、设备及存储介质 | |
CN111523621B (zh) | 图像识别方法、装置、计算机设备和存储介质 | |
CN112734775B (zh) | 图像标注、图像语义分割、模型训练方法及装置 | |
CN109993102B (zh) | 相似人脸检索方法、装置及存储介质 | |
CN110866140A (zh) | 图像特征提取模型训练方法、图像搜索方法及计算机设备 | |
CN111680678B (zh) | 目标区域识别方法、装置、设备及可读存储介质 | |
CN111898703B (zh) | 多标签视频分类方法、模型训练方法、装置及介质 | |
CN113569895A (zh) | 图像处理模型训练方法、处理方法、装置、设备及介质 | |
CN116580257A (zh) | 特征融合模型训练及样本检索方法、装置和计算机设备 | |
CN112395487A (zh) | 信息推荐方法、装置、计算机可读存储介质及电子设备 | |
CN112101344B (zh) | 一种视频文本跟踪方法及装置 | |
CN115098732B (zh) | 数据处理方法及相关装置 | |
CN114358109A (zh) | 特征提取模型训练、样本检索方法、装置和计算机设备 | |
CN112749737A (zh) | 图像分类方法及装置、电子设备、存储介质 | |
CN115204301A (zh) | 视频文本匹配模型训练、视频文本匹配方法和装置 | |
CN113763385A (zh) | 视频目标分割方法、装置、设备及介质 | |
CN111898704A (zh) | 对内容样本进行聚类的方法和装置 | |
CN117152459A (zh) | 图像检测方法、装置、计算机可读介质及电子设备 | |
CN113408282B (zh) | 主题模型训练和主题预测方法、装置、设备及存储介质 | |
CN114463552A (zh) | 迁移学习、行人重识别方法及相关设备 | |
CN114677611B (zh) | 数据识别方法、存储介质及设备 | |
CN113395584B (zh) | 一种视频数据处理方法、装置、设备以及介质 | |
CN111091198B (zh) | 一种数据处理方法及装置 | |
CN117315090A (zh) | 基于跨模态风格学习的图像生成方法及装置 | |
CN117036392A (zh) | 图像检测方法及相关装置 |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40071967 Country of ref document: HK |
|
GR01 | Patent grant |