发明内容
本申请实施例提供了一种视频特征提取方法、装置、设备以及存储介质,可以提升视频特征提取的准确性。所述技术方案如下:
一方面,提供了一种视频特征提取方法,所述方法包括:
从目标视频中获取多个视频帧;
将第一数量个所述视频帧输入第一特征提取模型,通过所述第一特征提取模型,提取所述目标视频的第一视觉特征,所述第一特征提取模型为以多个样本视频为训练样本,以所述多个样本视频对应的多个样本视频标签为监督训练得到的视觉特征提取模型;
将第二数量个所述视频帧输入第二特征提取模型,通过所述第二特征提取模型,提取所述第二数量个所述视频帧的所述第二数量个视频帧特征,所述第二特征提取模型为以多个样本视频帧为训练样本进行自监督训练得到的视觉特征提取模型;
将所述目标视频的第一视觉特征和所述第二数量个所述视频帧特征进行融合,得到所述目标视频的目标视觉特征。
在一种可能的实施方式中,所述通过所述第二特征提取模型,提取所述第二数量个所述视频帧的所述第二数量个视频帧特征包括:
通过所述第二特征提取模型,分别对所述第二数量个所述视频帧进行卷积处理,得到所述第二数量个所述视频帧的所述第二数量个视频帧特征。
在一种可能的实施方式中,所述第一特征提取模型的训练方法包括:
从所述多个样本视频中分别获取多个样本视频帧;
将所述样本视频帧输入第一模型,通过所述第一模型提取对应的第一样本视频的第一样本视觉特征;
通过所述第一模型,基于所述第一样本视觉特征,预测所述第一样本视频的预测视频标签;
基于所述预测视频标签和所述第一样本视频对应的样本视频标签之间的差异信息,对所述第一模型的模型参数进行调整;
响应于所述第一模型的模型参数符合第一目标条件,将所述第一模型确定为所述第一特征提取模型。
在一种可能的实施方式中,所述从所述多个样本视频帧中获取第一样本视频帧包括:
从所述多个样本视频帧中获取一个样本视频帧队列;
从所述样本视频帧队列中获取所述第一样本视频帧。
在一种可能的实施方式中,所述基于所述第一样本视频帧特征与所述参照视频帧特征之间的相似度,对所述第二模型的模型参数进行调整之后,所述方法还包括:
基于所述第二模型的模型参数,对所述参照模型的模型参数进行调整。
一方面,提供了一种视频特征提取装置,所述装置包括:
视频帧获取模块,用于从目标视频中获取多个视频帧;
第一输入模块,用于将第一数量个所述视频帧输入第一特征提取模型,通过所述第一特征提取模型,提取所述目标视频的第一视觉特征,所述第一特征提取模型为以多个样本视频为训练样本,以所述多个样本视频对应的多个样本视频标签为监督训练得到的视觉特征提取模型;
第二输入模块,用于将第二数量个所述视频帧输入第二特征提取模型,通过所述第二特征提取模型,提取所述第二数量个所述视频帧的所述第二数量个视频帧特征,所述第二特征提取模型为以多个样本视频帧为训练样本进行自监督训练得到的视觉特征提取模型;
特征融合模块,用于将所述目标视频的第一视觉特征和所述第二数量个所述视频帧特征进行融合,得到所述目标视频的目标视觉特征。
在一种可能的实施方式中,所述第一特征提取模型包括第一子模型和第二子模型,所述第一子模型用于提取所述目标视频的静态视觉特征,所述第二子模型用于提取所述目标视频的动态视觉特征,所述第一输入模块用于对所述第一数量个所述视频帧进行均匀采样,得到第三数量个所述视频帧,所述第三数量小于所述第一数量;将所述第三数量个所述视频帧输入所述第一子模型;将所述第一数量个所述视频帧输入所述第二子模型。
在一种可能的实施方式中,所述第一输入模块用于通过所述第一子模型的多个卷积核,对所述第三数量个所述视频帧进行卷积处理,得到所述目标视频的静态视觉特征;通过所述第二子模型的多个卷积核,对所述第一数量个所述视频帧进行卷积处理,得到所述目标视频的动态视觉特征;基于所述静态视觉特征和所述动态视觉特征,获取所述目标视频的第一视觉特征;其中,所述第一子模型中卷积核的数量大于所述第二子模型中卷积核的数量。
在一种可能的实施方式中,所述第一输入模块用于对所述静态视觉特征进行时空注意力处理,得到所述目标视频的第一静态特征;对所述动态视觉特征进行时空注意力处理,得到所述目标视频的第一动态特征;将所述第一静态特征与所述第一动态特征进行融合,得到融合特征;分别对所述融合特征和所述第一动态特征进行全局池化处理,得到所述目标视频的第二静态特征和第二动态特征;将所述第二静态特征和所述第二动态特征进行融合,得到所述目标视频的第一视觉特征。
在一种可能的实施方式中,所述第一输入模块用于对所述静态视觉特征进行通道注意力处理,得到与所述静态视觉特征对应的静态通道注意力权重;将所述静态通道注意力权重与所述静态视觉特征相乘,得到第三静态特征;对所述第三静态特征进行最大值池化处理、均值池化处理和空洞卷积处理,得到所述第三静态特征对应的第一时空注意力权重;将所述第三静态特征与所述第一时空注意力权重相乘后与所述静态视觉特征相加,得到所述第一静态特征。
在一种可能的实施方式中,所述第一输入模块用于对所述第三静态特征进行最大值池化处理和均值池化处理,得到第四静态特征;采用多个空洞率对应的不同空洞卷积核对所述第四静态特征进行卷积处理,得到多个第五静态特征;将所述多个第五静态特征相加后进行归一化处理,得到所述第三静态特征对应的第一时空注意力权重。
在一种可能的实施方式中,所述第一输入模块用于对所述动态视觉特征进行通道注意力处理,得到与所述动态视觉特征对应的动态通道注意力权重;将所述动态通道注意力权重与所述动态视觉特征相乘,得到第三动态特征;对所述第三动态特征进行最大值池化处理、均值池化处理和空洞卷积处理,得到所述第三动态特征对应的第二时空注意力权重;将所述第三动态特征与所述第二时空注意力权重相乘后与所述动态视觉特征相加,得到所述第一动态特征。
在一种可能的实施方式中,所述第一输入模块用于对所述第三动态特征进行最大值池化处理和均值池化处理,得到第四动态特征;采用多个空洞率对应的不同空洞卷积核对所述第四动态特征进行卷积处理,得到多个第五动态特征;将所述多个第五动态特征相加后进行归一化处理,得到所述第三动态特征对应的第二时空注意力权重。
在一种可能的实施方式中,所述第一输入模块用于分别对所述第二静态特征和所述第二动态特征进行均值池化处理,将均值池化处理后的所述第二静态特征和均值池化处理后的所述第二动态特征进行拼接,得到所述目标视频的第一视觉特征。
在一种可能的实施方式中,所述第二输入模块用于通过所述第二特征提取模型,分别对所述第二数量个所述视频帧进行卷积处理,得到所述第二数量个所述视频帧的所述第二数量个视频帧特征。
在一种可能的实施方式中,所述特征融合模块,用于对所述第二数量个所述视频帧特征进行均值池化处理,得到所述目标视频的第二视觉特征;将所述第一视觉特征和所述第二视觉特征进行拼接,得到所述目标视频的目标视觉特征。
在一种可能的实施方式中,所述第一特征提取模型的训练装置包括:
第一样本视频帧获取模块,用于从所述多个样本视频中分别获取多个样本视频帧;
第一样本输入模块,用于将所述样本视频帧输入第一模型,通过所述第一模型提取对应的第一样本视频的第一样本视觉特征;
标签预测模块,用于通过所述第一模型,基于所述第一样本视觉特征,预测所述第一样本视频的预测视频标签;
第一参数调整模块,用于基于所述预测视频标签和所述第一样本视频对应的样本视频标签之间的差异信息,对所述第一模型的模型参数进行调整;
第一模型获取模块,用于响应于所述第一模型的模型参数符合第一目标条件,将所述第一模型确定为所述第一特征提取模型。
在一种可能的实施方式中,所述第二特征提取模型的训练装置包括:
第二样本视频帧获取模块,用于从所述多个样本视频帧中获取第一样本视频帧;
数据增强模块,用于对所述第一样本视频帧进行两种方式的数据增强,得到第一增强视频帧和第二增强视频帧;
第二样本输入模块,用于将所述第一增强视频帧输入第二模型,通过所述第二模型提取所述第一增强视频帧的第一样本视频帧特征;
第三样本输入模块,用于将所述第二增强视频帧输入参照模型,通过所述参照模型提取所述第二增强视频帧的参照视频帧特征,所述参照模型和所述第二模型具有相同的模型结构;
第二模型参数调整模块,用于基于所述第一样本视频帧特征与所述参照视频帧特征之间的相似度,对所述第二模型的模型参数进行调整;
第二模型获取模块,用于响应于所述第二模型的模型参数符合第二目标条件,将所述第二模型确定为所述第二特征提取模型。
在一种可能的实施方式中,所述第二样本视频帧获取模块,用于从所述多个样本视频帧中获取一个样本视频帧队列;从所述样本视频帧队列中获取所述第一样本视频帧。
在一种可能的实施方式中,所述第二样本视频帧获取模块,还用于从所述多个样本视频中获取第二样本视频帧;
所述第三样本输入模块,还用于将所述第二样本视频帧输入所述参照模型,通过所述参照模型提取所述第二样本视频帧的第二样本视频帧特征;
所述第二模型参数调整模块,还用于基于所述第一样本视频帧特征与所述第二样本视频帧特征之间的相似度,对所述第二模型的模型参数进行调整。
在一种可能的实施方式中,所述第二模型参数调整模块,还用于基于所述第二模型的模型参数,对所述参照模型的模型参数进行调整。
一方面,提供了一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述计算机程序由所述一个或多个处理器加载并执行以实现所述视频特征提取方法。
一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条计算机程序,所述计算机程序由处理器加载并执行以实现所述视频特征提取方法。
一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述视频特征提取方法。
在本申请实施例中,在提取视频特征的过程中,引入了基于监督训练得到的第一特征提取模型和基于自监督训练的第二特征提取模型,由于第一特征提取模型是基于样本视频和样本视频对应的标签训练得到的,输出的第一视觉特征的目标性较强,比较适合为目标视频添加视频标签。第二特征提取模型是基于自监督训练得到的模型,而自监督模型预测特征的目标性没有监督模型那么强,因此第二特征提取模型提取的第二视觉特征包括更加丰富的信息,第一视觉特征和第二视觉特征之间形成互补,得到的目标视觉特征也就能够更加完整的反映目标视频的特征。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个参照人脸图像是指两个或两个以上的参照人脸图像。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识子模型使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
注意力权重:可以表示训练或预测过程中某个数据的重要性,重要性表示输入的数据对输出数据影响的大小。重要性高的数据其对应的注意力权重的值较高,重要性低的数据其对应的注意力权重的值较低。在不同的场景下,数据的重要性并不相同,模型的训练注意力权重的过程也即是确定数据重要性的过程。
图1是本申请实施例提供的一种视频特征提取方法的实施环境示意图,参见图1,该实施环境中可以包括终端110和服务器140。
终端110通过无线网络或有线网络与服务器140相连。可选地,终端110是智能手机、平板电脑、笔记本电脑、台式计算机、智能手表等,但并不局限于此。终端110安装和运行有支持视频播放的应用程序。
可选地,服务器是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
可选地,终端110泛指多个终端中的一个,本申请实施例仅以终端110来举例说明。
本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端仅为一个,或者上述终端为几十个或几百个,或者更多数量,此时上述实施环境中还包括其他终端。本申请实施例对终端的数量和设备类型不加以限定。
本申请实施例提供的视频特征提取方法能够应用在为视频添加视频标签和视频推荐的场景下,下面将分别对这两种应用场景进行介绍。
在为视频添加视频标签的场景下,服务器通过本申请实施例提供的技术方案得到目标视频的目标视觉特征之后,通过目标视觉特征在视频标签库中进行查询,获取与目标视觉特征对应的视频标签,为目标视频添加该视频标签。在一些实施例中,视频标签库包括多个类型的视频标签,比如包括视频类型标签、视频地区标签、视频看点标签、视频演员标签以及视频标题标签等。服务器能够通过目标视觉特征,为目标视频匹配不同类型的视频标签,从而能够增加目标视频的视频标签的丰富程度,后续能够基于丰富的视频标签为完善用户画像。
还有,在为视频添加视频标签的场景下,服务器在通过本申请实施例提供的技术方案获取目标视频的目标视觉特征之后,还能够将目标视觉特征作为后续多模态融合模型的输入,由多模态融合模型将目标视频的视觉特征、音频特征以及文本特征等特征进行融合,得到能够更加准确的表示目标视频的多模态特征。服务器基于该多模态特征进行视频标签添加,能够为目标视频添加更加贴切的视频标签。
在视频推荐的场景下,服务器通过本申请实施例提供的技术方案得到目标视频的目标视觉特征之后,能够将目标视觉特征与其他视频的视觉特征进行比较,得到目标视觉特征与其他视频的视觉特征之间的相似度。服务器将相似度最高的视觉特征对应的视频推荐给用户。当然,服务器还能够根据相似度对视频进行排序,优先向用户推荐相似度较高的视频。
在本申请实施例中,服务器可以借助两个模型来实现本申请提供的视频特征提取方法,该两个模型包括第一特征提取模型和第二特征提取模型,其中,第一特征提取模型是基于监督学习得到的视觉特征提取模型,第二特征提取模型是基于自监督学习得到的视觉特征提取模型。第一特征提取模型和第二特征提取模型均用于提取视频的视觉特征。
为了对本申请实施例提供的技术方案进行更加清楚的说明,首先对第一特征提取模型和第二特征提取模型的模型结构进行说明。
参见图2,图2示出了本申请实施例提供的第一特征提取模型,第一特征提取模型包括第一子模型201和第二子模型202,第一子模型201用于提取视频的静态视觉特征,第二子模型202用于提取视频的动态视觉特征,在一些实施例中,第一子模型被称为“Slow(慢速)”模型,第二子模型被称为“Fast(快速)”模型。第一子模型201包括多个尺寸的卷积核,每个尺寸对应于多个卷积核,在图2中,C即为第一子模型的卷积核的数量,T为第一子模型的采样频率。第二子模型202包括多个尺寸的卷积核,每个尺寸对应于多个卷积核,在图2中,βC为第二子模型的卷积核的数量,αT为第二子模型的采样频率,其中,β的取值范围为(0,1),α的取值范围为(1,+∞),在一些实施例中,α=4,β=1/8。也就是说,在本申请实施例中,第一子模型的卷积核数量大于第二子模型的卷积核数量,而卷积核的数量既能够决定特征提取的深度,也能够决定特征提取过程的计算速度。在一些实施例中,第一特征提取模型中还集成有两个时空注意力模块2031和2032,时空注意力模块2031和2032用于添加时空注意力权重。在一些实施例中,参见图3,图3示出了该时空注意力模块2031的结构,该时空注意力模块2031包括卷积层301、通道注意力层302、多尺度时空注意力层303以及激活层304。卷积层301用于对输入时空注意力模块2031的视觉特征进行卷积处理,通道注意力层302用于对不同通道的视觉特征进行通道注意力处理,多尺度时空注意力层303用于对视觉特征进行时空注意力处理,激活层304用于对时空注意力处理后的特征进行归一化处理,得到视觉特征的时空注意力权重,在一些实施例中,时空注意力模块2031与时空注意力模块2032具有相同的结构,在一些实施例中,若第一特征提取模型集成有时空注意力模块,那么第一特征提取模型也可以被称为“Slow Fast Net-MCBAM”。
在本申请实施例中,第二特征提取模型包括多个卷积层,第一特征提取模型通过多个卷积层来提取视频帧的视频帧特征。
在介绍完本申请实施例提供的第一特征提取模型和第二特征提取模型的结构之后,下面将基于第一特征提取模型和第二特征提取模型的结构,对第一特征提取模型和第二特征提取模型的训练方法进行说明,每个模型的训练方法可以包括数据准备过程和模型训练过程。
1、第一特征提取模型的训练方法包括:
在数据准备过程中,服务器获取多个样本视频和多个样本视频对应的样本视频标签。可选地,多个样本视频为不同类型的视频,比如为体育视频、动画视频、游戏视频或者电影视频等,本申请实施例不做限定。在一些实施例中,样本视频对应的样本视频标签由审核人员对样本视频进行审核时人工添加的视频标签。
在模型训练过程中,服务器从多个样本视频中分别获取多个样本视频帧。服务器将多个样本视频帧中的第一样本视频帧输入第一模型,通过第一模型提取第一样本视频的第一样本视觉特征。服务器通过第一模型,基于第一样本视觉特征,预测第一样本视频的预测视频标签。服务器基于预测视频标签和第一样本视频对应的样本视频标签之间的差异信息,对第一模型的模型参数进行调整。响应于第一模型的模型参数符合第一目标条件,服务器将第一模型确定为第一特征提取模型。
举例来说,服务器对第一模型的模型参数进行初始化,将第一样本图像输入第一模型中,由第一模型通过卷积层对第一样本图像进行卷积处理,得到第一样本图像对应的第一样本视觉特征。第一模型基于该第一样本视觉特征,确定第一样本图像对应于多个视频标签的概率,例如,第一模型可以输出一个用于表示概率的向量,[0.2,0.1,0.1,0.7……],其中不同数字用于表示第一样本图像对应于不同视频标签的概率,数字的数量用于表示视频标签的数量,数字表示对应视频标签的概率。服务器能够将最大数字对应的视频标签确定为预测视频标签。服务器基于预测视频标签和对应的样本视频标签之间的差异,调整第一模型的模型参数,直至第一模型的损失函数值达到目标函数值或迭代次数达到目标次数时,停止第一模型的训练,服务器将此时的第一模型作为第一特征提取模型,第一特征提取模型的训练过程也即是监督训练的过程,在一些实施例中,第一模型的损失函数为二类交叉熵。
2、第二特征提取模型的训练方法包括:
在数据准备过程中,服务器获取多个样本视频,可选地,多个样本视频为不同类型的视频,比如为体育视频、动画视频、游戏视频或者电影视频等,本申请实施例不做限定。
在模型训练过程中,服务器从多个样本视频帧中获取第一样本视频帧。服务器对第一样本视频帧进行两种方式的数据增强,得到第一增强视频帧和第二增强视频帧。服务器将第一增强视频帧输入第二模型,通过第二模型提取第一增强视频帧的第一样本视频帧特征。服务器将第二增强视频帧输入参照模型,通过参照模型提取第二增强视频帧的参照视频帧特征,参照模型和第二模型具有相同的模型结构。服务器基于第一样本视频帧特征与参照视频帧特征之间的相似度,对第二模型的模型参数进行调整。响应于第二模型的模型参数符合第二目标条件,服务器将第二模型确定为第二特征提取模型,第二特征提取模型的训练过程也即是自监督训练的过程。
其中,从多个样本视频帧中获取第一样本视频帧时,可以按照预设时间间隔进行采样,如每间隔0.1秒、1秒、2秒、5秒等采集一帧。
其中,数据增强的方式包括但不限于对视频帧进行旋转、镜像对称、随机修剪、色彩抖动、平移变换、噪声扰动以及对比度变换。
举例来说,参见图4,服务器能够通过一个参照模型来对第二特征提取模型进行训练。服务器能够从多个样本视频帧中获取一个样本视频帧队列。从样本视频帧队列中获取第一样本视频帧。服务器对第一样本视频帧进行两种不同方式的数据增强,也即是对第一样本视频帧进行旋转、镜像对称、随机修剪、色彩抖动、平移变换、噪声扰动以及对比度变换中的两种处理,得到第一增强视频帧和第二增强视频帧。由于第一增强视频帧和第二增强视频帧为第一样本视频帧采用不同数据增强方式得到的视频帧,而数据增强并不会改变第一样本视频帧的内容,那么第一增强视频帧和第二增强视频帧具有的相同的内容,第一增强视频帧和第二增强视频帧也就构成了一对正样本。第一增强视频帧和第二增强视频帧之间的不同之处与数据增强的方式相关,若采用不同的旋转角度来对第一样本视频帧进行数据增强,比如服务器将第一样本视频帧旋转90°得到第一增强视频帧,将第一样本视频帧旋转180°得到第二增强视频帧,那么第一增强视频帧和第二增强视频帧也就为内容相同,旋转角度不同的两个视频帧。服务器将第一增强视频帧和第二增强视频帧分别输入第二模型和参照模型,其中,第二模型和参照模型具有相同的模型结构。在一些实施例中,在对第二模型进行第一次迭代训练之前,服务器能够对第二模型和参照模型的模型参数进行统一的初始化,也即是将第二模型和参照模型的模型参数初始化为相同的模型参数。服务器通过第二模型和参照模型的多个卷积层,分别对第一增强视频帧和第二增强视频帧进行卷积处理,得到第一增强视频帧的第一样本视频帧特征以及第二增强视频帧的参照视频帧特征。服务器获取第一样本视频帧特征和参照视频帧特征之间的相似度,根据第一样本视频帧特征和参照视频帧特征之间的相似度,对第二模型的模型参数进行调整,调整的目标是使得第一样本视频帧特征和参照视频帧特征之间的相似度尽可能高,也即是使得第二特征提取模型在提取视频帧的视频帧特征时,能够专注于视频帧的内容。
在一种可能的实施方式中,为了进一步提高第二特征提取模型的特征提取能力,在模型训练过程中,服务器还能够在基于第一样本视频帧特征与参照视频帧特征之间的相似度,对第二模型的模型参数进行调整之后,从多个样本视频中获取第二样本视频帧。服务器将第二样本视频帧输入参照模型,通过参照模型提取第二样本视频帧的第二样本视频帧特征。服务器基于第一样本视频帧特征与第二样本视频帧特征之间的相似度,对第二模型的模型参数进行调整。
举例来说,服务器能够从多个样本视频帧中获取第二样本视频帧,第二样本视频帧与第一增强视频帧具有不同的内容,第二样本视频帧能够作为第一增强视频帧的一个负样本。服务器将作为负样本的第二样本视频帧输入参照模型,通过参照模型的多个卷积层,对第二样本视频帧进行卷积处理,得到第二样本视频帧的第二样本视频帧特征。服务器获取第一样本视频帧特征和第二样本视频帧特征之间的相似度,根据第一样本视频帧特征和第二样本视频帧特征之间的相似度,对第二模型的模型参数进行调整,调整的目标是使得第一样本视频帧特征和第二样本视频帧特征之间的相似度尽可能低。结合之前的描述,在服务器对第二模型进行训练过程中,对第一样本视频帧进行了数据增强,得到了作为正样本对的第一增强视频帧和第二增强视频帧。除此之外,服务器还获取了第二样本视频帧,第二样本视频帧和第一样本视频帧也就构成了负样本对。服务器能够通过正样本对和负样本对来对第二模型进行正反两个方面的训练,从而提高第二模型的特征提取能力。
另外,服务器不仅能够从多个样本视频帧中获取一个第二样本视频帧来对第二模型进行训练,还能够从多个样本视频帧中获取多个第二样本视频帧来对第二模型进行训练。举例来说,服务器能够将多个样本视频帧划分成多个队列。在训练过程中,服务器能够从多个队列中确定一个目标队列,目标队列也即是不包含第一样本视频帧的队列。服务器能够将该目标队列中的多个第二样本视频帧依次输入第二模型,基于第一增强视频帧分别与多个第二样本视频帧之间的相似度,对第二模型进行训练。
还有,服务器除了能够在模型训练过程中实时通过参照模型来获取第二样本视频帧的第二样本视频帧特征之外,也能够在模型训练之前,通过参照模型来生成一个字典,字典中存储有多个第二样本图像对应的第二样本视频帧特征。在模型训练过程中,直接从字典中获取第二样本视频帧特征作为第一增强视频帧特征的负样本即可。在这种实施方式下,第二样本视频帧特征是通过一个参照模型获取的,多个第二样本视频帧特征之间的一致性较好,通过这样的第二样本视频帧特征对第二模型进行训练,能够达到更好的训练效果。
在一种可能的实施方式中,服务器还能够在对第二模型的模型参数进行调整之后,基于第二模型的模型参数,对参照模型的模型参数进行调整。也就是说,在对第二模型进行训练的过程中,服务器还能够对参照模型进行训练,从而提高参照模型的特征提取能够力。由于第二模型的训练需要与参照模型形成互动,参照模型特征提取能力的提高,也就能够提高第二模型的特征提取能力。
举例来说,服务器能够采用动量更新(Momentum Update)的方法来对参照模型的模型参数进行调整,也即是,服务器能够采用下述公式(1)提供的方法,对参照模型的模型参数进行更新。
θk←mθk+(1-m)θq (1)
其中,θk为参照模型的模型参数,θq为第二模型的模型参数,m为动量系数。
为了对第二特征提取模型的训练方法进行更加清楚的说明,下面将结合上述各个可能的实施方式,通过一个例子来对第二特征提取模型的训练方法进行说明。
参见图5,服务器从每个样本视频中获取4个样本视频帧,从多个样本视频中获取的多个样本视频帧也就构成了一个图像训练集。服务器从图像训练集中获取一个样本视频帧队列,从样本视频帧队列中获取第一样本视频帧。服务器对第一样本视频帧进行两种方式的数据增强,得到第一增强视频帧和第二增强视频帧,在一些实施例中,第一增强视频帧也被称为Query图像Xq,第二增强视频帧也被成为Key图像Xk。服务器将Query图像输入第二模型,将Key图像输入参照模型,分别通过第二模型和参照模型的多个卷积层对Query图像和Key图像进行卷积处理,得到Query图像的第一样本视频帧特征和Key图像的参照视频帧特征,在一些实施例中,第二模型也可以被称为Query编码器,参照模型也可以为被称为Key编码器,相应的,第一样本帧特征被称为Query Embedding,参照样本帧特征被称为KeyEmbedding。服务器通过Key编码器提前生成了字典,字典包括多个第二样本视频帧特征。服务器将字典中的多个第二样本视频帧特征划分为多个批次(Batch),每个Batch包括多个第二样本视频帧特征。服务器构建一个对比损失函数(InfoNCE)来对第二模型进行训练,对比损失函数的形式参见公式(2),服务器通过对比损失函数来对第二模型的模型参数进行更新,通过第二模型的模型参数对参照模型的模型参数进行更新。
其中,L()为对比损失函数,W为第一样本视频帧特征,X1为参照视频帧特征,X2为第二样本视频帧特征,Y为标签,用于表示正样本还是负样本,在一些实施例中,Y=1表示正样本,Y=0表示负样本,Dw为视频帧特征之间的余弦相似度,N为第一样本视频帧的数量,m为阈值,由技术人员根据实际情况进行设置。
需要说明的是,上述说明中均是以采用服务器来对模型进行训练为例进行说明的,在其他可能的实现方式中,上述两个模型也可以由终端进行训练,或者通过终端与服务器之间的交互来进行模型训练,例如由终端收集两个模型的训练图像,并将两个模型的训练图像发送至服务器,由服务器对两个模型进行训练,本申请实施例对此不做限定。
除此之外,在训练上述两个模型之前,服务器可以将网络上开源的具有相似功能的模型作为初始模型,在初始模型的基础上进行训练,可以提高模型的收敛速度。
在本申请实施例中,可以由服务器或终端作为执行主体来实施本申请实施例提供的技术方案,也可以通过终端和服务器之间的交互来实施本申请提供的技术方法,本申请实施例对此不作限定。下面将以执行主体为服务器为例进行说明。
图6是本申请实施例提供的一种视频特征提取方法的流程图,参见图6,方法包括:
601、服务器从目标视频中获取多个视频帧。
其中,目标视频为任一类型的视频,比如为电视剧视频、游戏视频、教学视频以及电影视频等,本申请实施例对此不做限定。
602、服务器将第一数量个视频帧输入第一特征提取模型,通过第一特征提取模型,提取目标视频的第一视觉特征,第一特征提取模型为以多个样本视频为训练样本,以多个样本视频对应的多个样本视频标签为监督训练得到的视觉特征提取模型。
其中,由于第一特征提取模型是以多个样本视频对应的多个样本视频标签为监督训练得到的模型,第一特征提取模型提取的第一视觉特征也就为适合添加视频标签的视觉特征,第一特征提取模型的训练方法参见之前的描述,在此不再赘述。
603、服务器将第二数量个视频帧输入第二特征提取模型,通过第二特征提取模型,提取第二数量个视频帧的第二数量个视频帧特征,第二特征提取模型为以多个样本视频帧为训练样本进行自监督训练得到的视觉特征提取模型。
其中,由于第二特征提取模型是以多个样本视频帧为训练样本,采用自监督训练得到的视觉特征提取模型,那么第二特征提取模型提取的视频帧特征也就能够包含更多与视频帧内容相关的信息。相较于第一特征提取模型,第二特征提取模型提取的视频帧特征所携带的信息更加丰富、扩展性更好。
604、服务器将目标视频的第一视觉特征和第二数量个视频帧特征进行融合,得到目标视频的目标视觉特征。
其中,由于目标视觉特征是第一视觉特征和视频帧特征进行融合后得到的特征,相较于第一视觉特征包含了更多的与内容相关的信息,目标视频特征在用于添加新视频标签时,扩展性更好。
参见图7,示出了上述步骤601-604的流程示意图。
本申请实施例中,在提取视频特征的过程中,引入了基于监督训练得到的第一特征提取模型和基于自监督训练的第二特征提取模型,由于第一特征提取模型是基于样本视频和样本视频对应的标签训练得到的,输出的第一视觉特征的目标性较强,比较适合为目标视频添加视频标签。第二特征提取模型是基于自监督训练得到的模型,而自监督模型预测特征的目标性没有监督模型那么强,因此第二特征提取模型提取的第二视觉特征包括更加丰富的信息,第一视觉特征和第二视觉特征之间形成互补,得到的目标视觉特征也就能够更加完整的反映目标视频的特征。
在本申请实施例中,可以由服务器或终端作为执行主体来实施本申请实施例提供的技术方案,也可以通过终端和服务器之间的交互来实施本申请提供的技术方法,本申请实施例对此不作限定。下面将以执行主体为服务器为例进行说明。
图8是本申请实施例提供的一种视频特征提取方法的流程图,参见图8,方法包括:
801、服务器从目标视频中获取多个视频帧。
在一种可能的实施方式中,服务器对目标视频进行均匀采样,从目标视频中获取多个视频帧。在这种实施方式下,能够在保留目标视频内容的前提下,减少服务器需要处理的视频帧的数量,从而提高服务器处理的效率。
举例来说,服务器将目标视频分割为多个部分,每个部分中具有相同数量的视频帧,从每个部分中抽取一个视频帧,从多个部分中抽取的视频帧也就构成了一个视频帧集合。
在一种可能的实施方式中,服务器间隔固定时长从目标视频中获取视频帧,得到多个视频帧。在这种实施方式下,能够在减少目标视频中视频帧数量的前提下,最大程度的保留目标视频的内容,在减少服务器计算量的前提下,提高后续特征提取的准确性。
在一种可能的实施方式中,服务器从目标视频中随机获取多个视频帧。在这种实施方式下,服务器能够以更加灵活的方式从目标视频中获取视频帧。
在一种可能的实施方式中,服务器获取目标视频中的全部视频帧。在这种实施方式下,多个视频帧也就构成了目标视频的完整内容,提高后续视频特征提取的准确性。
需要说明的是,服务器能够通过上述任一种方式来从目标视频中获取视频帧,本申请实施例对此不做限定。
可选地,在服务器从目标视频中获取多个视频帧之后,服务器能够对视频帧进行尺寸变换,将不同尺寸的视频帧转化为同一尺寸的视频帧,其中,该同一尺寸为服务器训练第一特征提取模型和第二特征提取模型时采用样本视频帧的尺寸。
在这种实施方式下,服务器能够对目标视频中的多个视频帧进行预处理,将多个视频帧的尺寸调整为与训练特征提取模型时采用的样本视频帧相同,从而提高后续采用特征提取模型提取目标视频的视觉特征的准确性。
举例来说,不同目标视频的尺寸可能是不同的,比如A视频的尺寸为800×600,B视频的尺寸为1024×768,那么服务器能够分别对从A视频中获取的多个视频帧和从B视频中获取的多个视频帧进行尺寸变换,得到同一尺寸的多个视频帧。
802、服务器将第一数量个视频帧输入第一特征提取模型,通过第一特征提取模型,提取目标视频的第一视觉特征,第一特征提取模型为以多个样本视频为训练样本,以多个样本视频对应的多个样本视频标签为监督训练得到的视觉特征提取模型。
在一种可能的实施方式中,第一特征提取模型包括第一子模型和第二子模型,第一子模型用于提取目标视频的静态视觉特征,第二子模型用于提取目标视频的动态视觉特征。服务器对第一数量个视频帧进行均匀采样,得到第三数量个视频帧,第三数量小于第一数量。服务器将第三数量个视频帧输入第一子模型。服务器将第一数量个视频帧输入第二子模型。服务器通过第一子模型的多个卷积核,对第三数量个视频帧进行卷积处理,得到目标视频的静态视觉特征。服务器通过第二子模型的多个卷积核,对第一数量个视频帧进行卷积处理,得到目标视频的动态视觉特征。服务器基于静态视觉特征和动态视觉特征,获取目标视频的第一视觉特征。其中,第一子模型中卷积核的数量大于第二子模型中卷积核的数量。
举例来说,参见图2,第一特征提取模型包括第一子模型201和第二子模型202,服务器从多个视频帧中获取第一数量个视频帧,将第一数量个视频帧输入第二子模型202,在一些实施例中,第一数量为24,服务器通过均匀采样从多个视频帧中获取24个视频帧,将24个视频帧输入第二子模型202。需要说明的是,服务器将第一数量个视频帧输入第二子模型202时,是同时将第一数量个视频帧输入第二子模型202,也即是将第一数量个视频帧的二维像素矩阵按照时间顺序进行拼接,得到一个三维像素矩阵,以三个视频帧为例,若存在视频帧A、视频帧B以及视频帧C,为了便于理解,在下述说明过程中,均以视频帧为灰度图像(单通道图像)为例进行说明,其中,视频帧A对应的二维像素值矩阵为
视频帧B对应的二维像素值矩阵为
视频帧C对应的二维像素值矩阵为
服务器能够按照视频帧A、视频帧B以及视频帧C在目标视频中的出现顺序,将三个二维像素值矩阵
以及
进行叠加,得到一个三维像素值矩阵
服务器将该三维像素值矩阵
输入第二子模型202。服务器通过第二子模型202的多个三维卷积核,对三维像素值矩阵
进行卷积处理,得到目标视频的动态视觉特征
服务器从第一数量个视频帧中获取第三数量个视频帧,将第三数量个视频帧输入第一子模型201。在一些实施例中,若第一数量为24,那么第二数量可以为6。服务器能够通过均匀采样,从24个视频帧中获取6个视频帧,将6个视频帧输入第一子模型201。当然,与之前的描述同理,服务器也是将6个视频帧的二维像素值矩阵组成一个三维像素值矩阵,将三维像素值矩阵输入第一子模型201。服务器通过第一子模型201的多个三维卷积核,对三维像素值矩阵进行卷积处理,得到目标视频的静态视觉特征,其中,第一子模型201对6个视频帧进行卷积处理的过程与第二子模型202对24个视频帧进行卷积处理的过程属于同一发明构思,在此不再赘述。如之前介绍第一特征提取模型时所述,第一子模型201中卷积核的数量大于第二子模型202中卷积核的数量,在一些实施例中,第一子模型201为三维残差网络50(3D ResNet-50),其中50表示残差网络的模型层数,第二子模型202为轻量化的三维卷积网络,比如为三维残差网络18(3D ResNet-18)。服务器基于静态视觉特征和动态视觉特征,获取目标视频的第一视觉特征。
下面对服务器基于静态视觉特征和动态视觉特征,获取目标视频的第一视觉特征的方法进行说明。
在一种可能的实施方式中,服务器对静态视觉特征进行时空注意力处理,得到目标视频的第一静态特征。服务器对动态视觉特征进行时空注意力处理,得到目标视频的第一动态特征。服务器将第一静态特征与第一动态特征进行融合,得到融合特征。服务器分别对融合特征和第一动态特征进行全局池化处理,得到目标视频的第二静态特征和第二动态特征。服务器将第二静态特征和第二动态特征进行融合,得到目标视频的第一视觉特征。
在这种实施方式下,服务器能够分别对目标视频的静态视觉特征和动态视觉特征进行时空注意力处理,时空注意力处理也就使得服务器在对目标视频的静态视觉特征和动态视觉特征进行融合时,能够关注更有辨识力的时空位置,从而综合利用不同的视频帧,得到的第一视觉特征能够更加准确的反应目标视频的特征。
由于这种实施方式涉及较多的处理细节,为了更加清楚的进行说明,下面将分为几个部分对处理细节进行介绍。
第一部分,对服务器对动态视觉特征进行时空注意力处理,得到目标视频的第一动态特征的方法进行说明。
在一种可能的实施方式中,服务器对动态视觉特征进行通道注意力处理,得到与动态视觉特征对应的动态通道注意力权重。服务器将动态通道注意力权重与动态视觉特征相乘,得到第三动态特征。服务器对第三动态特征进行最大值池化处理、均值池化处理和空洞卷积处理,得到第三动态特征对应的第二时空注意力权重。服务器将第三动态特征与第二时空注意力权重相乘后与动态视觉特征相加,得到第一动态特征。
举例来说,参见图2,服务器将目标视频的动态视觉特征输入第一子模型201后面连接的时空注意力模块2031,服务器通过时空注意力模块2031的卷积层301对目标视频的动态视觉特征进行卷积处理,将卷积处理后的动态视觉特征输入通道注意力层302。服务器通过通道注意力层302,对卷积处理后的动态视觉特征分别进行一次最大值池化和一次均值池化,得到动态视觉特征对应的动态通道池化特征。服务器通过通道注意力层302,对动态通道池化特征进行多头通道注意力处理,对多头通道注意处理后的动态通道池化特征进行归一化处理,得到与动态视觉特征对应的动态通道注意力权重。服务器将动态通道注意力权重与动态视觉特征相乘,得到第三动态特征。服务器对第三动态特征进行最大值池化处理和均值池化处理,得到第四动态特征。服务器采用多个空洞率对应的不同空洞卷积核对第四动态特征进行卷积处理,得到多个第五动态特征。服务器将多个第五动态特征相加后进行归一化处理,得到第三动态特征对应的第二时空注意力权重。服务器将第三动态特征与第二时空注意力权重相乘后与动态视觉特征相加,得到第一动态特征。
下面通过一个具体的例子对上述实施方式进行说明。
若目标视频的动态视觉特征为
服务器将动态视觉特征
输入时空注意力模块2031,通过时空注意力模块2031的卷积层301对动态视觉特征
进行卷积处理,得到卷积处理后的动态视觉特征
服务器通过通道注意力层302,对卷积处理后的动态视觉特征
进行一次最大值池化和一次均值池化,将最大值池化和均值池化的结果进行拼接,得到动态通道池化特征
其中,第一行的数字为最大值池化的结果,第二行的数字为均值池化的结果。服务器通过通道注意力层302,对动态通道池化特征
进行多头通道注意力处理,得到向量(120,190,110)。服务器对向量(120,190,110)进行归一化处理,得到与动态视觉特征对应的动态通道注意力权重(0.29,0.45,0.26)。服务器将动态通道注意力权重(0.29,0.45,0.26)与卷积处理后的动态视觉特征
相乘,得到第三动态特征
服务器对第三动态特征
分别进行最大值池化处理和均值池化处理,得到第四动态特征
服务器采用三个空洞率分别为1、2和3的空洞卷积核
以及
对第四动态特征
进行卷积处理,得到三个第五动态特征
以及
需要说明的是,为了便于理解,这里以视频帧为灰度图像(单通道图像)为例进行了说明,说视频帧为彩色图像,比如为RGB三通道图像,那么相应的空洞卷积核也就为三维空洞卷积核。服务器将三个第五动态特征
以及
相加,得到矩阵
服务器对矩阵
进行归一化处理,得到第三动态特征对应的第二时空注意力权重
服务器将第三动态特征
与第二时空注意力权重
相乘,得到矩阵
服务器将矩阵
与动态视觉特征
相加,得到第一动态特征
其中,服务器将矩阵
与动态视觉特征
相加的过程,也可以被称为残差处理过程。
第二部分,对服务器对静态视觉特征进行时空注意力处理,得到目标视频的第一静态特征的方法进行介绍。
在一种可能的实施方式中,服务器对静态视觉特征进行通道注意力处理,得到与静态视觉特征对应的静态通道注意力权重。服务器将静态通道注意力权重与静态视觉特征相乘,得到第三静态特征。服务器对第三静态特征进行最大值池化处理、均值池化处理和空洞卷积处理,得到第三静态特征对应的第一时空注意力权重。服务器将第三静态特征与第一时空注意力权重相乘后与静态视觉特征相加,得到第一静态特征。
举例来说,参见图2,服务器将目标视频的静态视觉特征输入第二子模型202后面连接的时空注意力模块2032,服务器通过时空注意力模块2032的卷积层301对目标视频的静态视觉特征进行卷积处理,将卷积处理后的静态视觉特征输入通道注意力层302。服务器通过通道注意力层302,对卷积处理后的静态视觉特征分别进行一次最大值池化和一次均值池化,得到静态视觉特征对应的静态通道池化特征。服务器通过通道注意力层302,对静态通道池化特征进行多头通道注意力处理,对多头通道注意处理后的静态通道池化特征进行归一化处理,得到与静态视觉特征对应的静态通道注意力权重。服务器将静态通道注意力权重与静态视觉特征相乘,得到第三静态特征。服务器对第三静态特征进行最大值池化处理和均值池化处理,得到第四静态特征。服务器采用多个空洞率对应的不同空洞卷积核对第四静态特征进行卷积处理,得到多个第五静态特征。服务器将多个第五静态特征相加后进行归一化处理,得到第三静态特征对应的第二时空注意力权重。服务器将第三静态特征与第一时空注意力权重相乘后与静态视觉特征相加,得到第一静态特征。
下面通过一个具体的例子对上述实施方式进行说明。
若目标视频的静态视觉特征为
服务器将静态视觉特征
输入时空注意力模块2032,通过时空注意力模块2032的卷积层301对静态视觉特征
进行卷积处理,得到卷积处理后的静态视觉特征
服务器通过通道注意力层302,对卷积处理后的静态视觉特征
进行一次最大值池化和一次均值池化,将最大值池化和均值池化的结果进行拼接,得到静态通道池化特征
其中,第一行的数字为最大值池化的结果,第二行的数字为均值池化的结果。服务器通过通道注意力层302,对静态通道池化特征
进行多头通道注意力处理,得到向量(10,15,25)。服务器对向量(10,15,25)进行归一化处理,得到与静态视觉特征对应的静态通道注意力权重(0.2,0.3,0.5)。服务器将静态通道注意力权重(0.2,0.3,0.5)与卷积处理后的静态视觉特征
相乘,得到第三静态特征
服务器对第三静态特征
分别进行最大值池化处理和均值池化处理,得到第四静态特征
服务器采用三个空洞率分别为1、2和3的空洞卷积核
以及
对第四静态特征
进行卷积处理,得到三个第五静态特征
以及
需要说明的是,为了便于理解,这里以视频帧为灰度图像(单通道图像)为例进行了说明,说视频帧为彩色图像,比如为RGB三通道图像,那么相应的空洞卷积核也就为三维空洞卷积核。服务器将三个第五静态特征
以及
相加,得到矩阵
服务器对矩阵
进行归一化处理,得到第三静态特征对应的第一时空注意力权重
服务器将第三静态特征
与第一时空注意力权重
相乘,得到矩阵
服务器将矩阵
与静态视觉特征
相加,得到第一静态特征
其中,服务器将矩阵
与静态视觉特征
相加的过程,也可以称为残差处理过程。
第三部分,对服务器将第一静态特征与第一动态特征进行融合,得到融合特征的方法进行说明。
在一种可能的实施方式中,服务器能够将第一静态特征与第一动态特征相加,得到融合特征。
以第一静态特征
第一动态特征
为例进行说明,服务器将第一静态特征
与第一动态特征
相加,得到融合特征
在一些实施例中,服务器得到融合特征的方法,也可以被称为旁路连接,参见图2,旁路连接也即是第二子模型202“Fast”指向第一子模型201“Slow”的箭头,旁路连接的数量可以为一次或多次,本申请实施例对此不做限定。通过进行旁路连接,能够在数据处理过程中将第二子模型和第一子模型的处理结果进行结合,提高后续提取目标视频的目标视觉特征的准确性。
第四部分,对服务器分别对融合特征和第一动态特征进行全局池化处理,得到目标视频的第二静态特征和第二动态特征的方法进行说明。
在一种可能的实施方式中,服务器能够分别对融合特征和第一动态特征进行全局的均值池化处理,得到目标视频的第二静态特征和第二动态特征。
以融合特征
第一动态特征
为例进行说明,服务器对融合特征
进行全局的均值池化处理,得到目标视频的第二静态特征(232.24,280.87,298.44)。服务器对第一动态特征
进行全局的均值池化处理,得到目标视频的第二动态特征(142.75,168.7,162.45)。
第五部分,对服务器将第二静态特征和第二动态特征进行融合,得到目标视频的第一视觉特征的方法进行说明。
在一种可能的实施方式中,服务器分别对第二静态特征和第二动态特征进行均值池化处理,将均值池化处理后的第二静态特征和均值池化处理后的第二动态特征进行拼接,得到目标视频的第一视觉特征。
以第二静态特征(232.24,280.87,298.44),第二动态特征(142.75,168.7,162.45)为例进行说明。服务器对第二静态特征(232.24,280.87,298.44)进行均值池化处理,得到均值池化处理后的第二静态特征(270.5)。服务器对第二动态特征(142.75,168.7,162.45)进行均值池化处理,得到均值池化处理后的第二动态特征(157.9)。服务器将均值池化处理后的第二静态特征(270.5)和均值池化处理后的第二动态特征(157.9)进行拼接,得到目标视频的第一视觉特征(270.5,157.9)。
需要说明的是,在上述第一部分到第五部分的描述过程中,是以视频帧为灰度图像(单通道图像)为例进行说明的,在其他可能的实时方式中,视频帧也可以为彩色图像(多通道图像)。若视频帧为彩色图像,那么特征的维度会根据通道的数量对应的增加,但是每个通道的处理过程与灰度图像属于同一发明构思,在此不再赘述。
803、服务器将第二数量个视频帧输入第二特征提取模型,通过第二特征提取模型,提取第二数量个视频帧的第二数量个视频帧特征,第二特征提取模型为以多个样本视频帧为训练样本进行自监督训练得到的视觉特征提取模型。
其中,第二特征提取模型的训练方法参见之间模型训练部分的描述,在此不再赘述。第二数量可以由技术人员根据实际情况进行设置,或者由目标视频的时长决定,在一些实施例中,第二数量与步骤801中从目标视频中获取的多个视频帧的数量相同,若该多个视频帧是服务器每隔一秒从目标视频中获取的,那么第二数量也即是与目标视频的时长(秒数)相同。
在一种可能的实施方式中,服务器通过第二特征提取模型,分别对第二数量个视频帧进行卷积处理,得到第二数量个视频帧的第二数量个视频帧特征。
举例来说,若第二数量为3,那么服务器能够将视频帧A、视频帧B以及视频帧C分别输入第二特征提取模型,通过第二特征提取模型,分别对视频帧A、视频帧B以及视频帧C进行卷积处理,得到视频帧A对应的视频帧特征(1,1,1)、视频帧B对应的视频帧特征(1,0,1)以及视频帧C对应的视频帧特征(1,0,0)。
804、服务器对第二数量个视频帧特征进行均值池化处理,得到目标视频的第二视觉特征。
在一种可能的实施方式中,服务器分别对第二数量个视频帧特征进行全局的均值池化处理,将均值池化处理后的第二数量个视频帧特征进行拼接,得到目标视频的第二视觉特征。
以第二数量为3,视频帧A对应的视频帧特征(1,1,1)、视频帧B对应的视频帧特征(1,0,1)以及视频帧C对应的视频帧特征(1,0,0)为例进行说明,服务器对视频帧A对应的视频帧特征(1,1,1)进行全局的均值池化处理,得到均值池化处理后的视频帧特征(1)。服务器对视频帧B对应的视频帧特征(1,0,1)进行全局的均值池化处理,得到均值池化处理后的视频帧特征(0.66)。服务器对视频帧C对应的视频帧特征(1,0,0)进行全局的均值池化处理,得到均值池化处理后的视频帧特征(0.33)。服务器将三个均值池化后的视频帧特征进行拼接,得到目标视频的第二视觉特征(1,0.66,0.33)。
805、服务器将第一视觉特征和第二视觉特征进行拼接,得到目标视频的目标视觉特征。
举例来说,若目标视频的第一视觉特征为(270.5,157.9),目标视频的第二视觉特征为(1,0.66,0.33),那么服务器将第一视觉特征为(270.5,157.9)和第二视觉特征为(1,0.66,0.33)进行拼接,得到目标视频的目标视觉特征(270.5,157.9,1,0.66,0.33),服务器能够基于目标视觉特征(270.5,157.9,1,0.66,0.33)进行视频推荐或为目标视频添加视频标签,为目标视频添加视频标签的一个示例参见图9,901为视频标签的类型,902为视频标签,903为视频标签对应的概率。
需要说明是,在步骤803之后,服务器除了能够执行步骤804和805,得到目标视频的目标视觉特征之外,还能够通过执行下述步骤,来得到目标视频的多模态特征,其中,多模态特征包括目标视频的视觉特征、音频特征以及文本特征,文本特征也即是目标视频的字幕对应的特征。
在一种可能的实施方式中,服务器能够从目标视频中获取音频信息和字幕信息,将音频信息输入音频特征提取模型,得到目标视频的音频特征,将字幕信息输入文本特征提取模型,得到目标视频的文本特征。在一些实施例中,音频特征提取模型和文本特征提取模型均为采用监督训练得到的模型,分别具有从视频中提取音频特征和文本特征的能力。服务器将第二数量个视频帧特征、目标视频的音频特征和目标视频的文本特征输入多模态模型,通过多模态模型的聚合网络,将第二数量个视频帧特征、目标视频的音频特征和目标视频的文本特征进行融合,得到目标视频的多模态融合特征,在一些实施例中,聚合网络为NeXtVLAD(多模态视频分类)或TRN(Topology Representing Network,拓扑网络),本申请实施例对此不做限定。服务器将目标视频的多模态融合特征与目标视频的第一视觉特征进行融合,就能够得到目标视频的多模态特征。由于目标视频的多模态特征融合了目标视频的视觉特征、音频特征以及文本特征,那么该多模态特征也就能够更加完整的表示目标视频,通过该多模态特征进行后续的视频标签添加和视频推荐,能够取得更好的效果。
在实验过程中,将本申请实施例提供的视频特征提取方法集成在视频标签添加模型后,效果如下:
当前,通用的标签模型的基线指标为准确率=79.3%,召回率=57.3%,F1=66.5%,其中,F1为F1测度。
1)仅增加第一特征提取模型的第一子模型和第二子模型输出的视觉特征后,准确率提升至80.0%,召回率提升至59.9%,F1提升至68.5%,其中,第一子模型和第二子模型可以统称为“Slow Fast”。
2)在第一特征提取模型基础上加上时空注意力模块后,准确率提升至80.3%,召回率提升至60.9%,F1提升至69.3%,其中,第一特征提取模型加上时空注意力模块可以称为“Slow Fast Net-MCBAM”。
3)在此基础上再添加第二特征提取模型后,准确率提升至80.9%,召回率提升至62.0%,F1提升至70.2%,其中,第一特征提取模型加上时空注意力模块和第二特征提取模型可以统称为“Slow Fast Net-MCBAM+MoCo”,MoCo为实验过程中采用的第二特征提取模型。
具体数据如表格1所示。可见,采用本申请实施例提供的技术方案之后,视频标签模型的准确率和召回率有了明显的提高,能够证明本申请方案的有效性。
表1
本申请实施例中,在提取视频特征的过程中,引入了基于监督训练得到的第一特征提取模型和基于自监督训练的第二特征提取模型,由于第一特征提取模型是基于样本视频和样本视频对应的标签训练得到的,输出的第一视觉特征的目标性较强,比较适合为目标视频添加视频标签。第二特征提取模型是基于自监督训练得到的模型,而自监督模型预测特征的目标性没有监督模型那么强,因此第二特征提取模型提取的第二视觉特征包括更加丰富的信息,第一视觉特征和第二视觉特征之间形成互补,得到的目标视觉特征也就能够更加完整的反映目标视频的特征。
图10是本申请实施例提供的一种视频特征提取装置结构示意图,参见图10,装置包括:视频帧获取模块1001、第一输入模块1002、第二输入模块1003以及特征融合模块1004。
视频帧获取模块1001,用于从目标视频中获取多个视频帧。
第一输入模块1002,用于将第一数量个视频帧输入第一特征提取模型,通过第一特征提取模型,提取目标视频的第一视觉特征,第一特征提取模型为以多个样本视频为训练样本,以多个样本视频对应的多个样本视频标签为监督训练得到的视觉特征提取模型。
第二输入模块1003,用于将第二数量个视频帧输入第二特征提取模型,通过第二特征提取模型,提取第二数量个视频帧的第二数量个视频帧特征,第二特征提取模型为以多个样本视频帧为训练样本进行自监督训练得到的视觉特征提取模型。
特征融合模块1004,用于将目标视频的第一视觉特征和第二数量个视频帧特征进行融合,得到目标视频的目标视觉特征。
在一种可能的实施方式中,第一特征提取模型包括第一子模型和第二子模型,第一子模型用于提取目标视频的静态视觉特征,第二子模型用于提取目标视频的动态视觉特征,第一输入模块用于对第一数量个视频帧进行均匀采样,得到第三数量个视频帧,第三数量小于第一数量。将第三数量个视频帧输入第一子模型。将第一数量个视频帧输入第二子模型。
在一种可能的实施方式中,第一输入模块用于通过第一子模型的多个卷积核,对第三数量个视频帧进行卷积处理,得到目标视频的静态视觉特征。通过第二子模型的多个卷积核,对第一数量个视频帧进行卷积处理,得到目标视频的动态视觉特征。基于静态视觉特征和动态视觉特征,获取目标视频的第一视觉特征。其中,第一子模型中卷积核的数量大于第二子模型中卷积核的数量。
在一种可能的实施方式中,第一输入模块用于对静态视觉特征进行时空注意力处理,得到目标视频的第一静态特征。对动态视觉特征进行时空注意力处理,得到目标视频的第一动态特征。将第一静态特征与第一动态特征进行融合,得到融合特征。分别对融合特征和第一动态特征进行全局池化处理,得到目标视频的第二静态特征和第二动态特征。将第二静态特征和第二动态特征进行融合,得到目标视频的第一视觉特征。
在一种可能的实施方式中,第一输入模块用于对静态视觉特征进行通道注意力处理,得到与静态视觉特征对应的静态通道注意力权重。将静态通道注意力权重与静态视觉特征相乘,得到第三静态特征。对第三静态特征进行最大值池化处理、均值池化处理和空洞卷积处理,得到第三静态特征对应的第一时空注意力权重。将第三静态特征与第一时空注意力权重相乘后与静态视觉特征相加,得到第一静态特征。
在一种可能的实施方式中,第一输入模块用于对第三静态特征进行最大值池化处理和均值池化处理,得到第四静态特征。采用多个空洞率对应的不同空洞卷积核对第四静态特征进行卷积处理,得到多个第五静态特征。将多个第五静态特征相加后进行归一化处理,得到第三静态特征对应的第一时空注意力权重。
在一种可能的实施方式中,第一输入模块用于对动态视觉特征进行通道注意力处理,得到与动态视觉特征对应的动态通道注意力权重。将动态通道注意力权重与动态视觉特征相乘,得到第三动态特征。对第三动态特征进行最大值池化处理、均值池化处理和空洞卷积处理,得到第三动态特征对应的第二时空注意力权重。将第三动态特征与第二时空注意力权重相乘后与动态视觉特征相加,得到第一动态特征。
在一种可能的实施方式中,第一输入模块用于对第三动态特征进行最大值池化处理和均值池化处理,得到第四动态特征。采用多个空洞率对应的不同空洞卷积核对第四动态特征进行卷积处理,得到多个第五动态特征。将多个第五动态特征相加后进行归一化处理,得到第三动态特征对应的第二时空注意力权重。
在一种可能的实施方式中,第一输入模块用于分别对第二静态特征和第二动态特征进行均值池化处理,将均值池化处理后的第二静态特征和均值池化处理后的第二动态特征进行拼接,得到目标视频的第一视觉特征。
在一种可能的实施方式中,第二输入模块用于通过第二特征提取模型,分别对第二数量个视频帧进行卷积处理,得到第二数量个视频帧的第二数量个视频帧特征。
在一种可能的实施方式中,特征融合模块,用于对第二数量个视频帧特征进行均值池化处理,得到目标视频的第二视觉特征。将第一视觉特征和第二视觉特征进行拼接,得到目标视频的目标视觉特征。
在一种可能的实施方式中,第一特征提取模型的训练装置包括:
第一样本视频帧获取模块,用于从多个样本视频中分别获取多个样本视频帧。
第一样本输入模块,用于将样本视频帧输入第一模型,通过第一模型提取对应的第一样本视频的第一样本视觉特征。
标签预测模块,用于通过第一模型,基于第一样本视觉特征,预测第一样本视频的预测视频标签。
第一参数调整模块,用于基于预测视频标签和第一样本视频对应的样本视频标签之间的差异信息,对第一模型的模型参数进行调整。
第一模型获取模块,用于响应于第一模型的模型参数符合第一目标条件,将第一模型确定为第一特征提取模型。
在一种可能的实施方式中,第二特征提取模型的训练装置包括:
第二样本视频帧获取模块,用于从多个样本视频帧中获取第一样本视频帧。
数据增强模块,用于对第一样本视频帧进行两种方式的数据增强,得到第一增强视频帧和第二增强视频帧。
第二样本输入模块,用于将第一增强视频帧输入第二模型,通过第二模型提取第一增强视频帧的第一样本视频帧特征。
第三样本输入模块,用于将第二增强视频帧输入参照模型,通过参照模型提取第二增强视频帧的参照视频帧特征,参照模型和第二模型具有相同的模型结构。
第二模型参数调整模块,用于基于第一样本视频帧特征与参照视频帧特征之间的相似度,对第二模型的模型参数进行调整。
第二模型获取模块,用于响应于第二模型的模型参数符合第二目标条件,将第二模型确定为第二特征提取模型。
在一种可能的实施方式中,第二样本视频帧获取模块,用于从多个样本视频帧中获取一个样本视频帧队列。从样本视频帧队列中获取第一样本视频帧。
在一种可能的实施方式中,第二样本视频帧获取模块,还用于从多个样本视频中获取第二样本视频帧。
第三样本输入模块,还用于将第二样本视频帧输入参照模型,通过参照模型提取第二样本视频帧的第二样本视频帧特征。
第二模型参数调整模块,还用于基于第一样本视频帧特征与第二样本视频帧特征之间的相似度,对第二模型的模型参数进行调整。
在一种可能的实施方式中,第二模型参数调整模块,还用于基于第二模型的模型参数,对参照模型的模型参数进行调整。
需要说明的是:上述实施例提供的视频特征提取装置在提取视频特征时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的视频特征提取装置与视频特征提取方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例中,在提取视频特征的过程中,引入了基于监督训练得到的第一特征提取模型和基于自监督训练的第二特征提取模型,由于第一特征提取模型是基于样本视频和样本视频对应的标签训练得到的,输出的第一视觉特征的目标性较强,比较适合为目标视频添加视频标签。第二特征提取模型是基于自监督训练得到的模型,而自监督模型预测特征的目标性没有监督模型那么强,因此第二特征提取模型提取的第二视觉特征包括更加丰富的信息,第一视觉特征和第二视觉特征之间形成互补,得到的目标视觉特征也就能够更加完整的反映目标视频的特征。
本申请实施例提供了一种计算机设备,用于执行上述方法,该计算机设备可以实现为终端或者服务器,下面先对终端的结构进行介绍:
图11是本申请实施例提供的一种终端的结构示意图。该终端1100可以是:智能手机、平板电脑、笔记本电脑或台式电脑。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1100包括有:一个或多个处理器1101和一个或多个存储器1102。
处理器1101可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1101可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1101也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1102可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1102还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个计算机程序,该至少一个计算机程序用于被处理器1101所执行以实现本申请中方法实施例提供的视频特征提取方法。
在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105、摄像头组件1106、音频电路1107、定位组件1108和电源1109中的至少一种。
外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。
显示屏1105用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1101进行处理。此时,显示屏1105还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。
音频电路1107可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。
定位组件1108用于定位终端1100的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。
电源1109用于为终端1100中的各个组件进行供电。电源1109可以是交流电、直流电、一次性电池或可充电电池。
在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。
加速度传感器1111可以检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。
陀螺仪传感器1112可以终端1100的机体方向及转动角度,陀螺仪传感器1112可以与加速度传感器1111协同采集用户对终端1100的3D动作。
压力传感器1113可以设置在终端1100的侧边框和/或显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,可以检测用户对终端1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在显示屏1105的下层时,由处理器1101根据用户对显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。
指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。
光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101可以根据光学传感器1115采集的环境光强度,控制显示屏1105的显示亮度。
接近传感器1116用于采集用户与终端1100的正面之间的距离。
本领域技术人员可以理解,图11中示出的结构并不构成对终端1100的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
上述计算机设备还可以实现为服务器,下面对服务器的结构进行介绍:
图12是本申请实施例提供的一种服务器的结构示意图,该服务器1200可因配置或性能不同而产生比较大的差异,可以包括一个或多个处理器(Central Processing Units,CPU)1201和一个或多个的存储器1202,其中,所述一个或多个存储器1202中存储有至少一条计算机程序,所述至少一条计算机程序由所述一个或多个处理器1201加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器1200还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器1200还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括计算机程序的存储器,上述计算机程序可由处理器执行以完成上述实施例中的视频特征提取方法。例如,该计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括程序代码,该程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该程序代码,处理器执行该程序代码,使得该计算机设备执行上述视频特征提取方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
上述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。