CN113822135A - 基于人工智能的视频处理方法、装置、设备及存储介质 - Google Patents
基于人工智能的视频处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113822135A CN113822135A CN202110826981.5A CN202110826981A CN113822135A CN 113822135 A CN113822135 A CN 113822135A CN 202110826981 A CN202110826981 A CN 202110826981A CN 113822135 A CN113822135 A CN 113822135A
- Authority
- CN
- China
- Prior art keywords
- video
- processing
- sub
- channels
- sequence
- 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
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 48
- 238000003672 processing method Methods 0.000 title claims abstract description 32
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000012545 processing Methods 0.000 claims abstract description 230
- 239000013598 vector Substances 0.000 claims abstract description 116
- 238000013507 mapping Methods 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 62
- 238000000605 extraction Methods 0.000 claims abstract description 43
- 230000002776 aggregation Effects 0.000 claims abstract description 27
- 238000004220 aggregation Methods 0.000 claims abstract description 27
- 230000006870 function Effects 0.000 claims description 56
- 238000011176 pooling Methods 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 22
- 238000012549 training Methods 0.000 claims description 21
- 230000000694 effects Effects 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 abstract description 7
- 238000004364 calculation method Methods 0.000 description 7
- 238000012512 characterization method Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 4
- 238000003062 neural network model Methods 0.000 description 4
- 206010024796 Logorrhoea Diseases 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000007619 statistical method Methods 0.000 description 3
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical group C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013461 design 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
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供了一种基于人工智能的视频处理方法、装置、电子设备及计算机可读存储介质;涉及人工智能技术;方法包括:对视频的多个子视频序列分别进行特征提取处理,得到每个子视频序列的特征序列;对每个子视频序列的特征序列进行基于多个通道的编码处理,得到每个子视频序列对应多个通道的通道特征;对多个子视频序列分别对应的通道特征进行基于多个通道的特征聚合处理,得到维度与多个通道的数量关联的定长特征;对维度与多个通道的数量关联的定长特征进行映射处理,得到视频的嵌入向量;基于视频的嵌入向量进行视频应用处理,得到视频的应用结果。通过本申请,能够提升视频的应用效果。
Description
技术领域
本申请涉及人工智能技术,尤其涉及一种基于人工智能的视频处理方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(AI,Artificial Intelligence)是计算机科学的一个综合技术,通过研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,例如自然语言处理技术以及机器学习/深度学习等几大方向,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
相关技术中缺乏基于不定长的视频进行视频应用的有效方案,主要依赖于对视频进行视频切割,以获取固定长度的多个视频片段,并提取视频片段的嵌入特征以进行视频分类、视频召回等视频应用。但是,这种方案存在不定长输入问题,并且嵌入特征存在时序问题,进而影响视频应用的应用效果。
发明内容
本申请实施例提供一种基于人工智能的视频处理方法、装置、电子设备及计算机可读存储介质,能够提升视频的应用效果。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种基于人工智能的视频处理方法,包括:
对视频的多个子视频序列分别进行特征提取处理,得到每个所述子视频序列的特征序列;
对每个所述子视频序列的特征序列进行基于多个通道的编码处理,得到每个所述子视频序列对应所述多个通道的通道特征;
对所述多个子视频序列分别对应的所述通道特征进行基于所述多个通道的特征聚合处理,得到维度与所述多个通道的数量关联的定长特征;
对维度与所述多个通道的数量关联的定长特征进行映射处理,得到所述视频的嵌入向量;
基于所述视频的嵌入向量进行视频应用处理,得到所述视频的应用结果。
本申请实施例提供一种基于人工智能的视频处理装置,包括:
特征提取模块,用于对视频的多个子视频序列分别进行特征提取处理,得到每个所述子视频序列的特征序列;
编码模块,用于对每个所述子视频序列的特征序列进行基于多个通道的编码处理,得到每个所述子视频序列对应所述多个通道的通道特征;
聚合模块,用于对所述多个子视频序列分别对应的所述通道特征进行基于所述多个通道的特征聚合处理,得到维度与所述多个通道的数量关联的定长特征;
映射模块,用于对维度与所述多个通道的数量关联的定长特征进行映射处理,得到所述视频的嵌入向量;
应用模块,用于基于所述视频的嵌入向量进行视频应用处理,得到所述视频的应用结果。
上述技术方案中,所述基于多个通道的编码处理是通过编码模型实现的,所述编码模型包括多个级联的卷积层;所述编码模块还用于通过所述多个级联的卷积层中的第一个卷积层,对每个所述子视频序列的特征序列进行基于多个通道的卷积处理;
将所述第一个卷积层的卷积结果输出到后续级联的卷积层,通过所述后续级联的卷积层继续进行卷积处理和卷积结果输出;
将所述最后一个卷积层输出的卷积结果作为每个所述子视频序列对应所述多个通道的通道特征。
上述技术方案中,所述编码模块还用于通过所述多个级联的卷积层中的第j个卷积层中的所述多个通道分别对第j-1个卷积层输出的卷积结果进行卷积处理,得到所述多个通道分别对应的卷积结果;
对所述多个通道分别对应的卷积结果进行拼接处理,得到所述第j个卷积层的卷积结果;
通过所述第j个卷积层输出所述第j个卷积层的卷积结果;
其中,j为递增的自然数且取值范围为1<j≤N,N为所述卷积层的数量。
上述技术方案中,所述聚合模块还用于针对所述多个通道中的任一所述通道执行以下处理:
从每个所述子视频序列对应所述多个通道的通道特征中,获取每个所述子视频序列对应所述通道的子通道特征;
对所述多个子视频序列分别对应所述通道的子通道特征进行基于统计的池化处理,得到所述通道的统计特征;
对所述多个通道分别对应的统计特征进行拼接处理,得到维度与所述多个通道的数量关联的定长特征。
上述技术方案中,所述聚合模块还用于基于所述多个子视频序列分别对应所述通道的子通道特征进行均值处理,得到所述多个子视频序列对应所述通道的均值特征;
基于所述多个子视频序列分别对应所述通道的子通道特征进行方差处理,得到所述多个子视频序列对应所述通道的方差特征;
对所述多个子视频序列对应所述通道的均值特征、以及所述多个子视频序列对应所述通道的方差特征进行拼接处理,得到所述通道的统计特征。
上述技术方案中,所述映射处理是通过映射模型实现的,所述映射模型包括多个级联的全连接层;所述映射模块还用于通过所述多个级联的全连接层中的第一个全连接层,对维度与所述多个通道的数量关联的定长特征进行映射处理;
将所述第一个全连接层的映射结果输出到后续级联的全连接层,通过所述后续级联的全连接层继续进行映射处理和映射结果输出;
将所述最后一个全连接层输出的映射结果作为所述视频的嵌入向量。
上述技术方案中,所述特征提取处理是通过特征提取模型实现的,所述特征提取模型包括池化层以及多个级联的卷积层,每个所述子视频序列包括多个图像帧;所述特征提取模块还用于针对每个所述子视频序列中的任一所述图像帧执行以下处理:
通过所述多个级联的卷积层对所述图像帧进行级联的卷积处理,得到所述图像帧的卷积特征;
通过所述池化层对所述图像帧的卷积特征进行池化处理,得到所述图像帧的图像特征;
对所述多个图像帧分别对应的图像特征进行拼接处理,得到每个所述子视频序列的特征序列。
上述技术方案中,所述应用模块还用于基于所述视频的嵌入向量对候选相似视频进行相似度召回处理,得到所述视频的相似视频;或者,
基于所述视频的嵌入向量进行视频分类处理,得到所述视频所属的视频类型。
上述技术方案中,所述视频处理方法是通过视频处理模型实现的;所述装置还包括:
训练模块,用于通过初始化的所述视频处理模型对视频样本的定长特征进行映射处理,得到所述视频样本的嵌入向量;
基于所述视频样本的嵌入向量,构建所述视频处理模型的目标损失函数;
基于所述目标损失函数更新所述视频处理模型的参数,将所述视频处理模型的更新的参数作为训练后的所述视频处理模型的参数。
上述技术方案中,所述训练模块还用于基于所述视频样本的嵌入向量进行视频分类处理,得到所述视频样本的预测类型;
基于所述视频样本的预测类型以及所述视频样本的类型标签,构建所述视频处理模型的分类损失函数;
基于所述视频样本的嵌入向量、所述视频样本的相似视频样本的嵌入向量以及所述视频样本的不相似视频样本的嵌入向量,构建所述视频处理模型的嵌入损失函数;
对所述视频处理模型的分类损失函数、以及所述视频处理模型的嵌入损失函数进行加权求和处理,得到所述视频处理模型的目标损失函数。
上述技术方案中,所述训练模块还用于将所述视频样本的嵌入向量、与所述视频样本的相似视频样本的嵌入向量进行相似度处理,得到所述视频样本与所述相似视频样本之间的第一相似度;
将所述视频样本的嵌入向量、与所述视频样本的不相似视频样本的嵌入向量进行相似度处理,得到所述视频样本与所述不相似视频样本之间的第二相似度;
基于所述第一相似度以及所述第二相似度,构建所述视频处理模型的嵌入损失函数。
上述技术方案中,所述训练模块还用于从多个候选相似视频样本对中抽取至少一个候选视频样本,其中,所述多个候选相似视频样本对不包括所述视频样本;
基于所述候选视频样本与所述视频样本之间的相似度,对所述候选视频样本进行降序排序;
将降序排序结果中排序在后的部分所述候选视频样本进行降序排序作为所述视频样本的不相似视频样本。
本申请实施例提供一种用于视频处理的电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的基于人工智能的视频处理方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的基于人工智能的视频处理方法。
本申请实施例具有以下有益效果:
通过对视频的每个子视频序列的特征序列进行基于多个通道的编码,得到每个子视频序列的通道特征,并对通道特征进行基于多个通道的特征聚合,得到视频的定长特征,使得不定长视频输入得到有效处理,能够输入任意长度的视频,以提高输入视频的灵活性,从而提升视频处理过程中所耗费的计算资源的利用率;对定长特征进行映射,得到无时序的嵌入向量,从而无需考虑嵌入特征的时序问题,提高嵌入向量的准确性,进而提升视频的应用效果。
附图说明
图1是本申请实施例提供的视频处理系统的应用场景示意图;
图2是本申请实施例提供的电子设备的结构示意图;
图3-图5是本申请实施例提供的基于人工智能的视频处理方法的流程示意图;
图6是本申请实施例提供的特征提取模型的结构图;
图7是本申请实施例提供的编码模型的结构图;
图8是本申请实施例提供的模型学习框架。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,所涉及的术语“第一\第二”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)度量学习(Metric Learning):指给定一些相似的样本以及一些不相似的样本,通过学习相似度(距离)度量,使得原本相似的样本之间的相似度增大(或距离减小),同时原本不相似的样本之间的相似度减小(或距离增大)。在本申请实施例中,可以通过度量学习的方式训练视频处理模型。
2)图像识别:指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象,是应用深度学习算法的一种实践应用。图像识别是一种类别级别的识别,不考虑对象的特定实例,仅基于对象的类别(如人、狗、猫、鸟等)进行识别并给出对象所属类别。例如,大型通用物体识别开源数据集(imagenet)中的识别任务,识别出某个物体是1000个类别中的哪一个。
3)碎剪视频:一种把长视频分成很多短小片段,并按不同于原来的顺序重新组合成新视频的剪辑手法,例如原视频由A片段-B片段-C片段-D片段组成,A1片段-C片段-A2片段-D片段-B片段是一种碎剪视频,其中A1片段、A2片段为A片段中的某两个更小片段。
4)区块链:包括一系列按照产生的先后时间顺序相互接续的区块(Block),新区块一旦加入到区块链中就不会再被移除,区块中记录了区块链系统中节点提交的记录数据。
本申请实施例提供了一种基于人工智能的视频处理方法、装置、电子设备及计算机可读存储介质,能够提升视频的应用效果。
本申请实施例所提供的基于人工智能的视频处理方法,可以由终端/服务器独自实现;也可以由终端和服务器协同实现,例如终端独自承担下文所述的基于人工智能的视频处理方法,或者,终端向服务器发送针对视频的应用请求,服务器根据接收的针对视频的应用请求执行基于人工智能的视频处理方法,对定长特征进行映射,得到无时序的嵌入向量,从而基于无时序的嵌入向量提升视频的应用效果。
本申请实施例提供的用于视频处理的电子设备可以是各种类型的终端或服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器;终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、智能电视等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
以服务器为例,例如可以是部署在云端的服务器集群,向用户开放人工智能云服务(AI as a Service,AIaaS),AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务,这种服务模式类似于一个AI主题商城,所有的用户都可以通过应用程序编程接口的方式来接入使用AIaaS平台提供的一种或者多种人工智能服务。
例如,其中的一种人工智能云服务可以为视频处理服务,即云端的服务器封装有本申请实施例提供的视频处理的程序。用户通过终端(运行有客户端,例如视频客户端)调用云服务中的视频处理服务,以使部署在云端的服务器调用封装的视频处理的程序,对视频中每个子视频序列进行基于多个通道的编码,得到每个子视频序列对应多个通道的通道特征,并对所有通道特征进行基于多个通道的特征聚合,得到视频的定长特征,对定长特征进行映射处理,得到视频的无时序的嵌入向量,从而基于无时序的嵌入向量提升视频的应用效果,例如提升基于相似度的视频召回的准确性,提升视频分类的准确性,加快视频推荐效率,提升后期基于用户行为进行视频推荐的效果。
参见图1,图1是本申请实施例提供的视频处理系统10的应用场景示意图,终端200通过网络300连接服务器100,网络300可以是广域网或者局域网,又或者是二者的组合。
终端(运行有客户端,例如视频客户端)可以被用来获取针对视频的应用请求,例如,当用户打开终端上运行的视频客户端后,输入需要进行视频处理的视频后,终端自动获取针对视频的应用请求(包括用于视频处理的视频)。
在一些实施例中,终端中运行的客户端中可以植入有视频处理插件,用以在客户端本地实现基于人工智能的视频处理方法。例如,终端200调用视频处理插件,以实现基于人工智能的视频处理方法,对视频中每个子视频序列进行基于多个通道的编码,得到每个子视频序列对应多个通道的通道特征,并对所有通道特征进行基于多个通道的特征聚合,得到视频的定长特征,对定长特征进行映射处理,得到视频的无时序的嵌入向量,从而基于无时序的嵌入向量提升视频的应用效果。
作为一个应用示例,对于视频分类应用,由于输入的视频可能是不定长的,为了实现视频分类应用,相关技术中将不定长的视频进行视频切割或者视频填充,以获得定长的视频,再基于定长的视频进行视频分类,这种方案使得视频的内容不准确,从而影响视频分类的准确性。
为了解决视频分类的不准确的问题,终端调用视频处理插件,对视频(即不定长的视频)中每个子视频序列进行基于多个通道的编码,得到每个子视频序列对应多个通道的通道特征,并对所有通道特征进行基于多个通道的特征聚合,得到视频的定长特征,从而解决输入视频的不定长问题,并对定长特征进行映射处理,得到视频的无时序的嵌入向量,从而不考虑子视频序列的时序问题,以提升视频分类的准确性。
在一些实施例中,终端获取针对视频的应用请求后,调用服务器100的视频处理接口(可以提供为云服务的形式,即视频处理服务),服务器100基于针对视频的应用请求,对视频中每个子视频序列进行基于多个通道的编码,得到每个子视频序列对应多个通道的通道特征,并对所有通道特征进行基于多个通道的特征聚合,得到视频的定长特征,对定长特征进行映射处理,得到视频的无时序的嵌入向量,从而基于无时序的嵌入向量提升视频的应用效果。
作为一个应用示例,对于视频检索应用,由于输入的视频可能是不定长的,为了进行视频的相似度检索,相关技术中将不定长的视频进行视频切割,以获得视频片段,再基于视频片段的时序进行相似度比对,以判断两个视频是否相似,这种基于时序的相似判断不准确,从而影响视频检索的准确性。
为了解决视频检索的不准确的问题,终端获取针对视频的检索请求后,调用服务器的视频处理接口,服务器基于针对视频的检索请求,对视频(即不定长的视频)中每个子视频序列进行基于多个通道的编码,得到每个子视频序列对应多个通道的通道特征,并对所有通道特征进行基于多个通道的特征聚合,得到视频的定长特征,并对定长特征进行映射处理,得到视频的无时序的嵌入向量,从而解决视频时序问题,并基于无时序的嵌入向量进行视频的相似度比对,从而准确地检索出与视频相似的相似视频,以提升视频检索的准确性。
在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的视频处理方法,例如,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
在一些实施例中,多个服务器可组成为一区块链,而服务器100为区块链上的节点,区块链中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。其中,本申请实施例提供的基于人工智能的视频处理方法所相关的数据(例如视频处理的逻辑、视频的应用结果)可保存于区块链上。
下面说明本申请实施例提供的电子设备的结构,参见图2,图2是本申请实施例提供的电子设备500的结构示意图,以电子设备500是服务器为例说明,图2所示的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块553,用于经由一个或多个(有线或无线)网络接口520到达其他电子设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的基于人工智能的视频处理装置可以采用软件方式实现,图2示出了存储在存储器550中的基于人工智能的视频处理装置555,其可以是程序和插件等形式的软件,包括以下软件模块:特征提取模块5551、编码模块5552、聚合模块5553、映射模块5554、应用模块5555以及训练模块5556,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
如前所述,本申请实施例提供的基于人工智能的视频处理方法可以由各种类型的电子设备实施。参见图3,图3是本申请实施例提供的基于人工智能的视频处理方法的流程示意图,结合图3示出的步骤进行说明。
在步骤101中,对视频的多个子视频序列分别进行特征提取处理,得到每个子视频序列的特征序列。
作为获取视频的示例,当用户打开终端上运行的视频客户端后,输入需要进行视频处理的视频后,终端自动获取针对视频的应用请求(包括用于视频处理的视频),并将针对视频的应用请求发送至服务器,服务器接收到针对视频的应用请求后,解析针对视频的应用请求,得到用于视频处理的视频。
由于视频可能比较长、且视频处理模型输入的视频长度有限,需要对视频进行抽取处理,得到多个子视频序列,其中,子视频序列包括多个图像帧,例如对于视频Vi,每Fl长进行视频帧抽取,得到多个子视频序列(即子视频帧序列1、子视频帧序列2,……,子视频帧序列K),其中,每个子视频序列包括Fl帧图像,抽取子视频序列的方式可以是相邻子视频序列之间进行重叠抽取,也可以是不重叠抽取,即子视频帧序列1与子视频帧序列2之间可以存在重复帧,也可以不存在重复帧。
例如,在进行视频抽取,得到视频的多个子视频序列后,首先需要通过视频处理模型中的特征提取模型对每个子视频序列进行特征提取处理,得到每个子视频序列的特征序列,其中,特征序列用于表征子视频序列中的图像特征(image embedding),便于后续基于子视频序列的特征序列进行特征处理,以将视频的变长特征转换为定长特征,有效解决不定长视频的输入问题。
在一些实施例中,特征提取处理是通过特征提取模型实现的,特征提取模型包括池化层以及多个级联的卷积层,每个子视频序列包括多个图像帧;对视频的多个子视频序列分别进行特征提取处理,得到每个子视频序列的特征序列,包括:针对每个子视频序列中的任一图像帧执行以下处理:通过多个级联的卷积层对图像帧进行级联的卷积处理,得到图像帧的卷积特征;通过池化层对图像帧的卷积特征进行池化处理,得到图像帧的图像特征;对多个图像帧分别对应的图像特征进行拼接处理,得到每个子视频序列的特征序列。
如图6所示,针对任一子视频序列,将子视频序列包括的每个图像帧输入至特征提取模型中的第1个卷积层,通过第1个卷积层对图像帧进行卷积处理,得到图像帧的第一特征图,将图像帧的第一特征图输出至第2个卷积层,通过第2个卷积层对图像帧的第一特征图进行卷积处理,得到图像帧的第二特征图,依次进行上述卷积处理,直至第M个卷积层对图像帧的第M-1特征图进行卷积处理,得到图像帧的卷积特征,其中,M为大于2的正整数,并将图像帧的卷积特征输出至特征提取模型中的池化层,通过池化层对图像帧的卷积特征进行平均池化处理或最大池化处理,得到图像帧的图像特征(image embedding),对任一子视频序列的所有图像帧的图像特征进行拼接处理,得到任一子视频序列的特征序列。通过上述特征提取处理,能够初步提取子视频序列的特征序列,以基于特征序列节约后续处理的计算量。
其中,特征提取模型可以是卷积神经网络(例如ResNet101模型),还可以是深度神经网络等。
在步骤102中,对每个子视频序列的特征序列进行基于多个通道的编码处理,得到每个子视频序列对应多个通道的通道特征。
例如,由于多个子视频序列对应的特征序列是不定长的,为了能够将不定长特征序列转化为定长特征,可以先对每个子视频序列的特征序列进行基于多个通道的编码处理,得到每个子视频序列对应多个通道的通道特征,将通道特征与通道关联,以便后续基于通道特征进行特征聚合,将图像帧级别特征转换为定长的视频特征,解决不定长视频的输入问题。
需要说明的是,基于多个通道的编码处理是通过编码模型实现的,编码模型包括多个级联的卷积层。参见图4,图4是本申请实施例提供的基于人工智能的视频处理方法的流程示意图,图4示出图3的步骤102可以通过步骤1021-步骤1023实现:在步骤1021中,通过多个级联的卷积层中的第一个卷积层,对每个子视频序列的特征序列进行基于多个通道的卷积处理;在步骤1022中,将第一个卷积层的卷积结果输出到后续级联的卷积层,通过后续级联的卷积层继续进行卷积处理和卷积结果输出;在步骤1023中,将最后一个卷积层输出的卷积结果作为每个子视频序列对应多个通道的通道特征。
如图7所示,第1个卷积层对子视频序列的特征序列进行基于多个通道的编码卷积,得到第1个卷积层的卷积结果,并将第1个卷积层的卷积结果输出到第2个卷积层,第2个卷积层继续进行卷积编码和卷积结果输出,直至输出到第N个卷积层,通过第N个卷积层对第N-1个卷积层输出的卷积结果进行卷积编码,得到子视频序列对应多个通道的通道特征,其中,N为多个级联的卷积层的总数,N为大于2的正整数。其中,通过级联的卷积层进行卷积处理,能够逐步提取子视频序列的高阶特征,扩大感受野,以提取更多的视频信息。
例如,通过多个级联的卷积层中的第1个卷积层中的多个通道分别对特征序列进行卷积处理,得到第1个卷积层中多个通道分别对应的卷积结果,对第1个卷积层中多个通道分别对应的卷积结果进行拼接处理,得到第1个卷积层的卷积结果,将第1个卷积层的卷积结果输出至第2个卷积层;通过多个级联的卷积层中的第j个卷积层中的多个通道分别对第j-1个卷积层输出的卷积结果进行卷积处理,得到第j个卷积层中多个通道分别对应的卷积结果;对第j个卷积层中多个通道分别对应的卷积结果进行拼接处理,得到第j个卷积层的卷积结果;通过第j个卷积层输出第j个卷积层的卷积结果;其中,j为递增的自然数且取值范围为1<j≤N,N为卷积层的数量。
在步骤103中,对多个子视频序列分别对应的通道特征进行基于多个通道的特征聚合处理,得到维度与多个通道的数量关联的定长特征。
例如,在获得每个子视频序列对应多个通道的通道特征后,由于通道特征与通道关联,将个子视频序列分别对应的通道特征进行基于多个通道的特征聚合,得到视频的定长特征,其中,定长特征的维度与多个通道的数量,从而将图像帧级别特征转换为定长的视频特征,解决不定长视频的输入问题,并解决多个子视频序列的时序问题。
参见图5,图5是本申请实施例提供的基于人工智能的视频处理方法的流程示意图,图5示出图3的步骤103可以通过步骤1031-步骤1033实现:在步骤1031中,针对多个通道中的任一通道执行以下处理:从每个子视频序列对应多个通道的通道特征中,获取每个子视频序列对应通道的子通道特征;在步骤1032中,对多个子视频序列分别对应通道的子通道特征进行基于统计的池化处理,得到通道的统计特征;在步骤1033中,对多个通道分别对应的统计特征进行拼接处理,得到维度与多个通道的数量关联的定长特征。
需要说明的是,视频处理是通过视频处理模型实现的,视频处理模型包括统计池化层,该统计池化层不同于一般的最大池化层或平均池化层,而是基于统计方法进行池化处理。
例如,基于统计的池化处理过程如下所示:基于多个子视频序列分别对应通道的子通道特征进行均值处理,得到多个子视频序列对应通道的均值特征;基于多个子视频序列分别对应通道的子通道特征进行方差处理,得到多个子视频序列对应通道的方差特征;对多个子视频序列对应通道的均值特征、以及多个子视频序列对应通道的方差特征进行拼接处理,得到通道的统计特征。
作为示例,上述级联的卷积层输出了Kvi个子视频序列的1*512通道特征,即在视频处理模型需要学习的512个通道,均有Kvi个特征值。在统计池化中,对每个通道,求得Kvi个特征值的均值(即均值特征)和方差(即方差特征),最终得到512个均值mean_vi、512个方差std_vi,表示该视频在所有512个通道下的均值特征、方差特征;然后,对所有均值特征以及方差特征[mean_vi,std_vi]进行拼接,得到1*1024维的定长特征。
在步骤104中,对维度与多个通道的数量关联的定长特征进行映射处理,得到视频的嵌入向量。
例如,在获得视频的定长特征后,需要将定长特征转换为用于视频应用的嵌入向量,即通过视频处理模型中的全连接层对定长特征进行映射处理,得到视频的嵌入向量,该嵌入向量具有无时序的特征,从而去除多个子视频序列的时序影响,提高后续视频应用的效果。
需要说明的是,视频处理模型包括映射模型,映射处理是通过映射模型实现的,映射模型包括多个级联的全连接层;映射处理过程如下所示:通过多个级联的全连接层中的第一个全连接层,对维度与多个通道的数量关联的定长特征进行映射处理;将第一个全连接层的映射结果输出到后续级联的全连接层,通过后续级联的全连接层继续进行映射处理和映射结果输出;将最后一个全连接层输出的映射结果作为视频的嵌入向量。
例如,第1个全连接层对定长特征进行非线性映射处理,得到第1个全连接层的映射结果,并将第1个全连接层的映射结果输出到第2个全连接层,第2个全连接层继续进行非线性映射处理和映射结果输出,直至输出到第K个全连接层,通过第K个全连接层对第K-1个全连接层输出的映射结果进行非线性映射,得到视频的嵌入向量,其中,K为多个级联的全连接层的总数,K为大于2的正整数。其中,通过级联的全连接层进行非线性映射处理,能够逐步精化嵌入向量,以基于准确的嵌入向量进行视频应用。
在步骤105中,基于视频的嵌入向量进行视频应用处理,得到视频的应用结果。
需要说明的是,在获取准确的嵌入向量后,基于嵌入向量进行视频应用处理,得到视频的应用结果。例如,基于视频的嵌入向量对候选相似视频进行相似度召回处理,得到视频的相似视频,相似度召回的处理过程如下所示:计算视频库中的候选相似视频的嵌入向量,获取候选相似视频的嵌入向量与视频的嵌入向量之间的相似度,当相似度大于相似度阈值时,将候选相似视频作为视频的相似视频;基于视频的嵌入向量进行视频分类处理,得到视频所属的视频类型,即通过全连接层对视频的嵌入向量进行视频分类处理,得到预测的视频类型。
需要说明的是,视频处理方法是通过视频处理模型实现的;视频处理模型的训练过程包括:通过初始化的视频处理模型对视频样本的定长特征进行映射处理,得到视频样本的嵌入向量;基于视频样本的嵌入向量,构建视频处理模型的目标损失函数;基于目标损失函数更新视频处理模型的参数,将视频处理模型的更新的参数作为训练后的视频处理模型的参数。
承接上述示例,视频处理模型包括特征提取模型、编码模型、池化层、映射模型。通过特征提取模型对视频样本的多个子视频序列分别进行特征提取处理,得到每个子视频序列的特征序列,对每个子视频序列的特征序列进行基于多个通道的编码处理,得到每个子视频序列对应多个通道的通道特征,对多个子视频序列分别对应的通道特征进行基于多个通道的特征聚合处理,得到维度与多个通道的数量关联的定长特征,对维度与多个通道的数量关联的定长特征进行映射处理,得到视频样本的嵌入向量,并基于视频样本的嵌入向量,确定视频处理模型的目标损失函数的值后,可以判断目标损失函数的值是否超出预设阈值,当目标损失函数的值超出预设阈值时,基于目标损失函数确定视频处理模型的误差信号,将误差信息在视频处理模型中反向传播,并在传播的过程中更新各个层的模型参数。
这里,对反向传播进行说明,将训练样本数据输入到神经网络模型的输入层,经过隐藏层,最后达到输出层并输出结果,这是神经网络模型的前向传播过程,由于神经网络模型的输出结果与实际结果有误差,则计算输出结果与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层,在反向传播的过程中,根据误差调整模型参数的值,即根据输出结果与实际值之间的误差构建损失函数,并逐层求出损失函数对模型参数的偏导数,生成损失函数对各层模型参数的梯度,由于梯度的方向表明误差扩大的方向,因此对模型参数的梯度取反,与以各层模型的原始参数求和,将得到的求和结果作为更新后的各层模型参数,从而减小模型参数引起的误差;不断迭代上述过程,直至收敛。其中,视频处理模型为神经网络模型。
在一些实施例中,基于视频样本的嵌入向量,构建视频处理模型的目标损失函数,包括:基于视频样本的嵌入向量进行视频分类处理,得到视频样本的预测类型;基于视频样本的预测类型以及视频样本的类型标签,构建视频处理模型的分类损失函数;基于视频样本的嵌入向量、视频样本的相似视频样本的嵌入向量以及视频样本的不相似视频样本的嵌入向量,构建视频处理模型的嵌入损失函数;对视频处理模型的分类损失函数、以及视频处理模型的嵌入损失函数进行加权求和处理,得到视频处理模型的目标损失函数。
例如,当视频应用为相似度召回时,结合分类损失函数以及嵌入损失函数进行联合训练,以提高嵌入向量的准确性,实现视频的准确表征,以提高相似度比对的准确性;当视频应用为视频分类时,结合分类损失函数以及嵌入损失函数进行联合训练,以提高嵌入向量的准确性,实现视频的准确表征,以提高视频分类的准确性。
需要说明的是,构建视频处理模型的嵌入损失函数的过程如下所示:将视频样本的嵌入向量、与视频样本的相似视频样本的嵌入向量进行相似度处理,得到视频样本与相似视频样本之间的第一相似度;将视频样本的嵌入向量、与视频样本的不相似视频样本的嵌入向量进行相似度处理,得到视频样本与不相似视频样本之间的第二相似度;基于第一相似度以及第二相似度,构建视频处理模型的嵌入损失函数。
例如,嵌入损失函数的计算公式为Ltriplet=max(||xa-xp||-‖xa-xn‖+α,0),其中,α表示边界(margin),||xa-xp||表示视频样本a的嵌入向量(embedding)与相似视频样本p的embedding之间的L2距离,‖xa-xn‖表示视频样本a的embedding与不相似视频样本n的embedding之间的L2距离。通过嵌入损失函数,使得原本相似的样本之间的相似度增大(或距离减小),同时原本不相似的样本之间的相似度减小(或距离增大)。
在一些实施例中,基于视频样本的嵌入向量、视频样本的相似视频样本的嵌入向量以及视频样本的不相似视频样本的嵌入向量,构建视频处理模型的嵌入损失函数之前,从多个候选相似视频样本对中抽取至少一个候选视频样本,其中,多个候选相似视频样本对不包括视频样本;基于候选视频样本与视频样本之间的相似度,对候选视频样本进行降序排序;将降序排序结果中排序在后的部分候选视频样本进行降序排序作为视频样本的不相似视频样本。
例如,对于某个相似视频样本对中的视频样本x,从每个候选相似视频样本对中随机选择一个候选视频样本i,并计算候选视频样本i与视频样本x的距离,按距离从小到大排序,取前10个候选视频样本作为负样本(即视频样本x的不相似样本),分别与视频样本x的正样本(即相似视频样本对中另一个视频样本)组成三元组。
下面,将说明本申请实施例在一个实际的视频召回场景中的示例性应用。
视频相似判断是通过图像嵌入向量(embedding)根据时序逻辑判断两个视频是否相似实现的,例如对于由ABCD片段组成的视频a,其由BCD组成的视频b为视频a的重复视频,其中BCD为ABCD中一个具有相同片段顺序的子视频。基于图像embedding时序判断的方法对碎剪视频不起作用,即通过更小的视频片段、打乱原始视频顺序的方法产生视频,从而绕过审核中的时序约束,造成此类视频通过提前泄漏剧情等带来视频网站损失。如何对此类碎剪视频进行有效的识别,是视频相似度识别的一个难点。
相关技术中,视频表征方法包括2D特征联合时序逻辑方法以及R(2+1)D方法。其中,特征联合时序逻辑方法是采用2D图像表征模型对视频各帧抽取特征序列,采用时序判断逻辑判断两个视频是否重复,例如对于N帧视频a以及M帧视频b,当连续min(N,M)/2帧相似,则视频a与视频b重复;R(2+1)D方法是将视频剪成等长的片段,提取每个视频片段embedding,该方法应用到视频相似度判断中,还需要把两个待对比的视频的各自的多个视频片段embedding进行时序逻辑判断,从而判断两个视频是否为重复。
然而,上述视频表征方法存在以下问题:1)均需要时序逻辑辅助判断,而考虑到碎剪视频可能存在极短、极长等不同方式的视频切割,造成时序逻辑难以覆盖各种碎剪视频相似度判断场景;2)R(2+1)D方法在训练中需要固定视频片段的帧数,不能处理不等长视频的特征训练,也因此,在模型输出视频片段embedding后,依然需要时序逻辑进行最终的视频相似判断。
为了解决上述问题,本申请实施例提供一种基于人工智能的视频处理方法,通过支持变长序列输入的神经网络,实现由变长序列产生视频embedding,提升帧级别特征到视频特征的表征,通过解决神经网络对不同时长视频难以处理的问题以及视频无时序带来的表征困难问题,实现对任意碎剪视频的表征特征抽取,从而实现碎剪类视频检索召回。
如图8所示,本申请实施例通过深度神经网络(DNN,Deep Neural Network)中的变长特征学习模块(即编码模型)、定长特征学习模块(即映射模型)联合,并借助统计池化的方法,连接两个模块,最终在定长特征学习模块下输出定长的视频embedding,即变长特征学习模块DNN1支持不同长度的视频帧级别的特征序列输入,提取到指定时间窗口的帧序列特征(Frame feat)后,多个帧序列特征经过统计池化,产生定长特征(feat),并经过定长特征学习模块DNN2,最终得到表征完整视频的embedding。下面将具体说明本申请实施例提供的在变长输入下基于统计的视频embedding表征方法:
首先,本申请实施例的图像特征提取采用imagenet预训练的ResNet101的特征提取模块以及池化层的输出作为图像嵌入表征(image embedding),resnet101的网络结构如表1所示。
表1 ResNet101的结构表
其次,本申请实施例的神经网络如表2所示,包含变长特征学习模块(即conv1-conv4)以及定长特征学习模块(即Fc1-Fc2),另为了增强视频embedding学习效果训练中还设有表3所示的分类层,用于对视频进行分类,通过Fc2学到的视频embedding输入到表3的分类层Fc3学习视频分类任务,使得视频embedding对视频的表征能力更强,足以支持分类任务。
表2 embedding提取网络
表3 embedding的分类层(Nc为视频类别数量)
如图8所示,下面具体说明相关模型计算过程:
1)模型变长输入
不同于一般的视频卷积学习,由于本申请实施例要处理变长视频输入,需要首先对变长视频进行以下处理:
对于某待学习视频Vi,首先每Fl长进行视频帧抽取,得到子视频帧序列(抽取子视频的方式可以是前后相邻子视频间重叠1帧、不重叠、或重叠多帧等方式),假设该视频Vi共分了Kvi个子视频序列,把这些子视频序列对应的图像特征序列输入到模型,即定长特征学习模块DNN2。
2)模型对输入处理
如表2所示,模型的第一个模块conv1的输入为Fl个连续图像帧embedding(即子视频序列),Fl是预设的DNN1网络每次处理的帧长度(frame length),例如每次处理3帧,则输入为3*2048(1*2048为ResNet101输出的embedding长度),经过conv1的512个(通道的数量)卷积核学习后,最终conv1学习到3帧连续图像帧1*512向量的表征。对于Kvi个子视频图像特征序列经过conv1,每个子视频图像特征序列产生1*512向量特征,即共产生Kvi个1*512向量特征。
3)模型统计池化
本申请实施例的pooling层,不同于一般的均值或最大值池化,本申请实施例借助统计的方法进行特征聚合。
首先,conv4输出了Kvi个子视频序列的1*512特征向量(即通道特征),即在模型需要学习的512个通道,均有Kvi个特征值。在统计池化中,对每个通道,求得Kvi个特征值的均值和方差,最终得到512个均值mean_vi、512个方差std_vi,表示该视频Vi在所有512个通道下的均值特征、方差特征;然后,对所有均值特征以及方差特征[mean_vi,std_vi]进行拼接,得到1*1024维的定长特征。
至此,Kvi个变长的子视频序列经过conv4以及pooling层输出特征,产生了定长的1*1024维视频整体元素描述向量(即定长特征),该定长特征仅取决于conv4通道数量(512),而与输入视频长度无关。
4)定长特征学习
对于上述产生的1*1024维定长特征,经过由两个全连接层组成的定长特征学习模块的学习,最终产生视频Vi的embedding表征,该表征后续借助度量学习损失进行表征的优化。
下面具体说明相关模型的学习过程:
1)参数初始化:表1、表2参数采用方差为0.01、均值为0的高斯分布进行初始化。
2)数据准备
(a)准备视频相似度样本:视频对(即标注了两视频是否为相同视频或相似视频的样本对)。
(b)准备视频类别标签
对上述的视频对,任意抽取一个视频用于标注视频分类标签(如教育视频、艺术创作视频、书法、知识动画、体育比赛、新闻、交通监控、自拍才艺、带货、自然环境等),如无特别指定的类别,可以采用youtube-8M大规模开源分类视频数据集的类别作为分类类别。
(c)学习过程中的数据采样
相似度三元组(triplet)挖掘:本申请实施例采用triplet学习,以相似样本对作为输入,在每批(batch)的样本对(每batch的样本对的数量为bs)中进行如下挖掘得到三元组:对于某个样本x,从剩余的bs-1个样本对随机选择一个样本i,并计算样本i与样本x的距离,按距离从小到大排序,取前10个样本作为负样本,分别与样本x的正样本组成三元组,故每个样本x产生10个三元组,即整个batch得到10*bs个三元组。
上述三元组数据既用于度量学习(即三元组学习),也用于分类学习。
3)总体训练过程:对于全量样本对(共H个样本对),每bs个样本对为一个批次,共H/bs个批次,每1个批次进行模型前向计算并更新参数,当完成了全量H/bs次更新后,完成一个训练周期(epoch),共进行Z个epoch训练(或当连续10个epoch的平均损失没有下降)。
4)模型前向:将模型所有参数都设为需要学习状态,训练时神经网络对输入的视频样本进行前向计算,得到双分支预测结果(即嵌入向量预测结果em、分类预测结果fc)。将分类预测结果(Fc3的输出)与视频真实类别标签对比,计算模型的分类损失值(classification loss),基于视频样本的embedding表征计算三元组的损失(tripletloss),以上两个loss联合求和得到总损失。
下面说明损失函数的计算过程:
a)classification loss
采样多分类的交叉熵损失函数,如公式(1)所示:
其中,pic表示样本i属于c分类的预测概率,yic表示样本i的标签是否为c,当是c时,则yic=1,否则yic=0。
b)triplet loss
在batch样本中找到三元组(a,p,n)后,对这些三元组样本的embedding表征计算triplet loss。triplet loss的计算如公式(2)所示:
Ltriplet=max(||xa-xp||-||xa-xn||+α,0) (2)
其中,α表示margin,设为0.6,||xa-xp||表示样本a的embedding与样本p的embedding之间的L2距离,||xa-xn||表示样本a的embedding与样本n的embedding之间的L2距离。triplet loss的目的是使得锚样本与负样本的距离比与正样本的距离大于0.6。
c)总损失
总损失Ltotal的计算公式如公式(3)所示:
Ltotal=w1Lclass+w2Ltriplet (3)
其中,w为权重,可取1,或根据经验值调整。
5)模型参数更新过程:采用总损失进行梯度后向计算,得到全部模型参数的更新值,并更新网路。为了避免Fc3分类的效果过快对基础特征影响,对Fc3采用0.05的学习率,对其他网络特征采用0.005的学习率(比Fc3小10倍),每轮学习由总损失回传得到梯度后,根据不同的学习率更新网络权重。
综上,本申请实施例具有以下有益效果:
1)通过变长的视频子序列统计分析产生视频整体元素描述向量,创新性地实现变长视频学习embedding的深度学习方案;
2)通过分类与度量学习联合学习视频embedding表征,实现视频无时序的embedding表征;
3)基于视频embedding可进行有时序、无时序的视频相似度检索,如支持碎剪视频的无时序的相似度检索。
至此已经结合本申请实施例提供的电子设备的示例性应用和实施,说明本申请实施例提供的基于人工智能的视频处理方法。本申请实施例还提供基于人工智能的视频处理装置,实际应用中,基于人工智能的视频处理装置中的各功能模块可以由电子设备(如终端、服务器或服务器集群)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)、存储器协同实现。图2示出了存储在存储器550中的基于人工智能的视频处理装置555,其可以是程序和插件等形式的软件,例如,软件C/C++、Java等编程语言设计的软件模块、C/C++、Java等编程语言设计的应用软件或大型软件系统中的专用软件模块、应用程序接口、插件、云服务等实现方式,下面对不同的实现方式举例说明。
其中,基于人工智能的视频处理装置555包括一系列的模块,包括特征提取模块5551、编码模块5552、聚合模块5553、映射模块5554以及应用模块5555。下面继续说明本申请实施例提供的基于人工智能的视频处理装置555中各个模块配合实现视频处理方案。
特征提取模块5551,用于对视频的多个子视频序列分别进行特征提取处理,得到每个所述子视频序列的特征序列;编码模块5552,用于对每个所述子视频序列的特征序列进行基于多个通道的编码处理,得到每个所述子视频序列对应所述多个通道的通道特征;聚合模块5553,用于对所述多个子视频序列分别对应的所述通道特征进行基于所述多个通道的特征聚合处理,得到维度与所述多个通道的数量关联的定长特征;映射模块5554,用于对维度与所述多个通道的数量关联的定长特征进行映射处理,得到所述视频的嵌入向量;应用模块5555,用于基于所述视频的嵌入向量进行视频应用处理,得到所述视频的应用结果。
在一些实施例中,所述基于多个通道的编码处理是通过编码模型实现的,所述编码模型包括多个级联的卷积层;所述编码模块5552还用于通过所述多个级联的卷积层中的第一个卷积层,对每个所述子视频序列的特征序列进行基于多个通道的卷积处理;将所述第一个卷积层的卷积结果输出到后续级联的卷积层,通过所述后续级联的卷积层继续进行卷积处理和卷积结果输出;将所述最后一个卷积层输出的卷积结果作为每个所述子视频序列对应所述多个通道的通道特征。
在一些实施例中,所述编码模块5552还用于通过所述多个级联的卷积层中的第j个卷积层中的所述多个通道分别对第j-1个卷积层输出的卷积结果进行卷积处理,得到所述多个通道分别对应的卷积结果;对所述多个通道分别对应的卷积结果进行拼接处理,得到所述第j个卷积层的卷积结果;通过所述第j个卷积层输出所述第j个卷积层的卷积结果;其中,j为递增的自然数且取值范围为1<j≤N,N为所述卷积层的数量。
在一些实施例中,所述聚合模块5553还用于针对所述多个通道中的任一所述通道执行以下处理:从每个所述子视频序列对应所述多个通道的通道特征中,获取每个所述子视频序列对应所述通道的子通道特征;对所述多个子视频序列分别对应所述通道的子通道特征进行基于统计的池化处理,得到所述通道的统计特征;对所述多个通道分别对应的统计特征进行拼接处理,得到维度与所述多个通道的数量关联的定长特征。
在一些实施例中,所述聚合模块5553还用于基于所述多个子视频序列分别对应所述通道的子通道特征进行均值处理,得到所述多个子视频序列对应所述通道的均值特征;基于所述多个子视频序列分别对应所述通道的子通道特征进行方差处理,得到所述多个子视频序列对应所述通道的方差特征;对所述多个子视频序列对应所述通道的均值特征、以及所述多个子视频序列对应所述通道的方差特征进行拼接处理,得到所述通道的统计特征。
在一些实施例中,所述映射处理5554是通过映射模型实现的,所述映射模型包括多个级联的全连接层;所述映射模块还用于通过所述多个级联的全连接层中的第一个全连接层,对维度与所述多个通道的数量关联的定长特征进行映射处理;将所述第一个全连接层的映射结果输出到后续级联的全连接层,通过所述后续级联的全连接层继续进行映射处理和映射结果输出;将所述最后一个全连接层输出的映射结果作为所述视频的嵌入向量。
在一些实施例中,所述特征提取处理是通过特征提取模型实现的,所述特征提取模型包括池化层以及多个级联的卷积层,每个所述子视频序列包括多个图像帧;所述特征提取模块5551还用于针对每个所述子视频序列中的任一所述图像帧执行以下处理:通过所述多个级联的卷积层对所述图像帧进行级联的卷积处理,得到所述图像帧的卷积特征;通过所述池化层对所述图像帧的卷积特征进行池化处理,得到所述图像帧的图像特征;对所述多个图像帧分别对应的图像特征进行拼接处理,得到每个所述子视频序列的特征序列。
在一些实施例中,所述应用模块5555还用于基于所述视频的嵌入向量对候选相似视频进行相似度召回处理,得到所述视频的相似视频;或者,基于所述视频的嵌入向量进行视频分类处理,得到所述视频所属的视频类型。
在一些实施例中,所述视频处理方法是通过视频处理模型实现的;所述装置还包括:训练模块5556,用于通过初始化的所述视频处理模型对视频样本的定长特征进行映射处理,得到所述视频样本的嵌入向量;基于所述视频样本的嵌入向量,构建所述视频处理模型的目标损失函数;基于所述目标损失函数更新所述视频处理模型的参数,将所述视频处理模型的更新的参数作为训练后的所述视频处理模型的参数。
在一些实施例中,所述训练模块5556还用于基于所述视频样本的嵌入向量进行视频分类处理,得到所述视频样本的预测类型;基于所述视频样本的预测类型以及所述视频样本的类型标签,构建所述视频处理模型的分类损失函数;基于所述视频样本的嵌入向量、所述视频样本的相似视频样本的嵌入向量以及所述视频样本的不相似视频样本的嵌入向量,构建所述视频处理模型的嵌入损失函数;对所述视频处理模型的分类损失函数、以及所述视频处理模型的嵌入损失函数进行加权求和处理,得到所述视频处理模型的目标损失函数。
在一些实施例中,所述训练模块5556还用于将所述视频样本的嵌入向量、与所述视频样本的相似视频样本的嵌入向量进行相似度处理,得到所述视频样本与所述相似视频样本之间的第一相似度;将所述视频样本的嵌入向量、与所述视频样本的不相似视频样本的嵌入向量进行相似度处理,得到所述视频样本与所述不相似视频样本之间的第二相似度;基于所述第一相似度以及所述第二相似度,构建所述视频处理模型的嵌入损失函数。
在一些实施例中,所述训练模块5556还用于从多个候选相似视频样本对中抽取至少一个候选视频样本,其中,所述多个候选相似视频样本对不包括所述视频样本;基于所述候选视频样本与所述视频样本之间的相似度,对所述候选视频样本进行降序排序;将降序排序结果中排序在后的部分所述候选视频样本进行降序排序作为所述视频样本的不相似视频样本。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该电子设备执行本申请实施例上述的基于人工智能的视频处理方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的基于人工智能的视频处理方法,例如,如图3-图5示出的基于人工智能的视频处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (15)
1.一种基于人工智能的视频处理方法,其特征在于,所述方法包括:
对视频的多个子视频序列分别进行特征提取处理,得到每个所述子视频序列的特征序列;
对每个所述子视频序列的特征序列进行基于多个通道的编码处理,得到每个所述子视频序列对应所述多个通道的通道特征;
对所述多个子视频序列分别对应的所述通道特征进行基于所述多个通道的特征聚合处理,得到维度与所述多个通道的数量关联的定长特征;
对维度与所述多个通道的数量关联的定长特征进行映射处理,得到所述视频的嵌入向量;
基于所述视频的嵌入向量进行视频应用处理,得到所述视频的应用结果。
2.根据权利要求1所述的方法,其特征在于,
所述基于多个通道的编码处理是通过编码模型实现的,所述编码模型包括多个级联的卷积层;
所述对每个所述子视频序列的特征序列进行基于多个通道的编码处理,得到每个所述子视频序列对应所述多个通道的通道特征,包括:
通过所述多个级联的卷积层中的第一个卷积层,对每个所述子视频序列的特征序列进行基于多个通道的卷积处理;
将所述第一个卷积层的卷积结果输出到后续级联的卷积层,通过所述后续级联的卷积层继续进行卷积处理和卷积结果输出;
将所述最后一个卷积层输出的卷积结果作为每个所述子视频序列对应所述多个通道的通道特征。
3.根据权利要求2所述的方法,其特征在于,所述通过所述后续级联的卷积层继续进行卷积处理和卷积结果输出,包括:
通过所述多个级联的卷积层中的第j个卷积层中的所述多个通道分别对第j-1个卷积层输出的卷积结果进行卷积处理,得到所述多个通道分别对应的卷积结果;
对所述多个通道分别对应的卷积结果进行拼接处理,得到所述第j个卷积层的卷积结果;
通过所述第j个卷积层输出所述第j个卷积层的卷积结果;
其中,j为递增的自然数且取值范围为1<j≤N,N为所述卷积层的数量。
4.根据权利要求1所述的方法,其特征在于,所述对所述多个子视频序列分别对应的所述通道特征进行基于所述多个通道的特征聚合处理,得到维度与所述多个通道的数量关联的定长特征,包括:
针对所述多个通道中的任一所述通道执行以下处理:
从每个所述子视频序列对应所述多个通道的通道特征中,获取每个所述子视频序列对应所述通道的子通道特征;
对所述多个子视频序列分别对应所述通道的子通道特征进行基于统计的池化处理,得到所述通道的统计特征;
对所述多个通道分别对应的统计特征进行拼接处理,得到维度与所述多个通道的数量关联的定长特征。
5.根据权利要求4所述的方法,其特征在于,所述对所述多个子视频序列分别对应所述通道的子通道特征进行基于统计的池化处理,得到所述通道的统计特征,包括:
基于所述多个子视频序列分别对应所述通道的子通道特征进行均值处理,得到所述多个子视频序列对应所述通道的均值特征;
基于所述多个子视频序列分别对应所述通道的子通道特征进行方差处理,得到所述多个子视频序列对应所述通道的方差特征;
对所述多个子视频序列对应所述通道的均值特征、以及所述多个子视频序列对应所述通道的方差特征进行拼接处理,得到所述通道的统计特征。
6.根据权利要求1所述的方法,其特征在于,
所述映射处理是通过映射模型实现的,所述映射模型包括多个级联的全连接层;
所述对维度与所述多个通道的数量关联的定长特征进行映射处理,得到所述视频的嵌入向量,包括:
通过所述多个级联的全连接层中的第一个全连接层,对维度与所述多个通道的数量关联的定长特征进行映射处理;
将所述第一个全连接层的映射结果输出到后续级联的全连接层,通过所述后续级联的全连接层继续进行映射处理和映射结果输出;
将所述最后一个全连接层输出的映射结果作为所述视频的嵌入向量。
7.根据权利要求1所述的方法,其特征在于,
所述特征提取处理是通过特征提取模型实现的,所述特征提取模型包括池化层以及多个级联的卷积层,每个所述子视频序列包括多个图像帧;
所述对视频的多个子视频序列分别进行特征提取处理,得到每个所述子视频序列的特征序列,包括:
针对每个所述子视频序列中的任一所述图像帧执行以下处理:
通过所述多个级联的卷积层对所述图像帧进行级联的卷积处理,得到所述图像帧的卷积特征;
通过所述池化层对所述图像帧的卷积特征进行池化处理,得到所述图像帧的图像特征;
对所述多个图像帧分别对应的图像特征进行拼接处理,得到每个所述子视频序列的特征序列。
8.根据权利要求1所述的方法,其特征在于,所述基于所述视频的嵌入向量进行视频应用处理,得到所述视频的应用结果,包括:
基于所述视频的嵌入向量对候选相似视频进行相似度召回处理,得到所述视频的相似视频;或者,
基于所述视频的嵌入向量进行视频分类处理,得到所述视频所属的视频类型。
9.根据权利要求1-8任一项所述的方法,其特征在于,所述视频处理方法是通过视频处理模型实现的;所述视频处理模型的训练过程包括:
通过初始化的所述视频处理模型对视频样本的定长特征进行映射处理,得到所述视频样本的嵌入向量;
基于所述视频样本的嵌入向量,构建所述视频处理模型的目标损失函数;
基于所述目标损失函数更新所述视频处理模型的参数,将所述视频处理模型的更新的参数作为训练后的所述视频处理模型的参数。
10.根据权利要求9所述的方法,其特征在于,所述基于所述视频样本的嵌入向量,构建所述视频处理模型的目标损失函数,包括:
基于所述视频样本的嵌入向量进行视频分类处理,得到所述视频样本的预测类型;
基于所述视频样本的预测类型以及所述视频样本的类型标签,构建所述视频处理模型的分类损失函数;
基于所述视频样本的嵌入向量、所述视频样本的相似视频样本的嵌入向量以及所述视频样本的不相似视频样本的嵌入向量,构建所述视频处理模型的嵌入损失函数;
对所述视频处理模型的分类损失函数、以及所述视频处理模型的嵌入损失函数进行加权求和处理,得到所述视频处理模型的目标损失函数。
11.根据权利要求10所述的方法,其特征在于,所述基于所述视频样本的嵌入向量、所述视频样本的相似视频样本的嵌入向量以及所述视频样本的不相似视频样本的嵌入向量,构建所述视频处理模型的嵌入损失函数,包括:
将所述视频样本的嵌入向量、与所述视频样本的相似视频样本的嵌入向量进行相似度处理,得到所述视频样本与所述相似视频样本之间的第一相似度;
将所述视频样本的嵌入向量、与所述视频样本的不相似视频样本的嵌入向量进行相似度处理,得到所述视频样本与所述不相似视频样本之间的第二相似度;
基于所述第一相似度以及所述第二相似度,构建所述视频处理模型的嵌入损失函数。
12.根据权利要求10所述的方法,其特征在于,所述基于所述视频样本的嵌入向量、所述视频样本的相似视频样本的嵌入向量以及所述视频样本的不相似视频样本的嵌入向量,构建所述视频处理模型的嵌入损失函数之前,所述方法还包括:
从多个候选相似视频样本对中抽取至少一个候选视频样本,其中,所述多个候选相似视频样本对不包括所述视频样本;
基于所述候选视频样本与所述视频样本之间的相似度,对所述候选视频样本进行降序排序;
将降序排序结果中排序在后的部分所述候选视频样本进行降序排序作为所述视频样本的不相似视频样本。
13.一种基于人工智能的视频处理装置,其特征在于,所述装置包括:
特征提取模块,用于对视频的多个子视频序列分别进行特征提取处理,得到每个所述子视频序列的特征序列;
编码模块,用于对每个所述子视频序列的特征序列进行基于多个通道的编码处理,得到每个所述子视频序列对应所述多个通道的通道特征;
聚合模块,用于对所述多个子视频序列分别对应的所述通道特征进行基于所述多个通道的特征聚合处理,得到维度与所述多个通道的数量关联的定长特征;
映射模块,用于对维度与所述多个通道的数量关联的定长特征进行映射处理,得到所述视频的嵌入向量;
应用模块,用于基于所述视频的嵌入向量进行视频应用处理,得到所述视频的应用结果。
14.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至12任一项所述的基于人工智能的视频处理方法。
15.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时实现权利要求1至12任一项所述的基于人工智能的视频处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110826981.5A CN113822135A (zh) | 2021-07-21 | 2021-07-21 | 基于人工智能的视频处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110826981.5A CN113822135A (zh) | 2021-07-21 | 2021-07-21 | 基于人工智能的视频处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113822135A true CN113822135A (zh) | 2021-12-21 |
Family
ID=78912705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110826981.5A Pending CN113822135A (zh) | 2021-07-21 | 2021-07-21 | 基于人工智能的视频处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113822135A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076712A (zh) * | 2023-10-16 | 2023-11-17 | 中国科学技术大学 | 视频检索方法、系统、设备及存储介质 |
-
2021
- 2021-07-21 CN CN202110826981.5A patent/CN113822135A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117076712A (zh) * | 2023-10-16 | 2023-11-17 | 中国科学技术大学 | 视频检索方法、系统、设备及存储介质 |
CN117076712B (zh) * | 2023-10-16 | 2024-02-23 | 中国科学技术大学 | 视频检索方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111768008A (zh) | 联邦学习方法、装置、设备和存储介质 | |
US11423307B2 (en) | Taxonomy construction via graph-based cross-domain knowledge transfer | |
CN110781960B (zh) | 视频分类模型的训练方法、分类方法、装置及设备 | |
JP2022520000A (ja) | データ処理方法、データ処理装置、コンピュータプログラム及び電子装置 | |
CN111431819A (zh) | 一种基于序列化的协议流特征的网络流量分类方法和装置 | |
CN113240071A (zh) | 图神经网络处理方法、装置、计算机设备及存储介质 | |
CN113822135A (zh) | 基于人工智能的视频处理方法、装置、设备及存储介质 | |
CN113343020A (zh) | 基于人工智能的图像处理方法、装置及电子设备 | |
CN113762503A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
KR20220064604A (ko) | 기온예측시스템 | |
CN113688989B (zh) | 深度学习网络加速方法、装置、设备及存储介质 | |
CN114580533A (zh) | 特征提取模型的训练方法、装置、设备、介质及程序产品 | |
EP3683733A1 (en) | A method, an apparatus and a computer program product for neural networks | |
CN113760497A (zh) | 一种调度任务配置方法和装置 | |
CN113792163B (zh) | 多媒体推荐方法、装置、电子设备及存储介质 | |
CN116521761B (zh) | 基于人工智能的传感器运行行为挖掘方法及系统 | |
CN111291186A (zh) | 一种基于聚类算法的上下文挖掘方法、装置和电子设备 | |
CN116309151B (zh) | 图片去压缩失真网络的参数生成方法、装置和存储介质 | |
CN115661238B (zh) | 可行驶区域生成方法、装置、电子设备和计算机可读介质 | |
US20230128346A1 (en) | Method, device, and computer program product for task processing | |
CN115223083A (zh) | 视频的处理方法、装置、设备及存储介质 | |
CN117009782A (zh) | 数据向量化处理方法、装置、电子设备及存储介质 | |
CN113011555A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN118396767A (zh) | 基于用户转发行为的流行度预测方法、装置、设备及介质 | |
CN115438221A (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 |