视频向量化方法及装置
技术领域
本发明涉及信息技术领域,尤其涉及一种视频向量化方法及装置。
背景技术
互联网时代是信息爆炸的时代,信息的数量以指数级增长。在视频领域,视频的数量以井喷式增长。目前,YouTube网站每分钟大约有60个小时的视频被上传,YouTube网站总的视频数量达到了数亿。如何对如此庞大数量的视频进行快速有效的分析和量化成为目前研究的重点。
目前,对视频进行向量化处理主要基于卷积神经网络的视频特征提取方法。该方法将视频进行逐帧分析,提取视频的每一帧图像分别进行向量化,具体来说,通过卷积神经网络对每张图像进行多维度的特征提取,再进行向量映射。由于对视频中的每帧图像分别进行向量化,导致视频向量化得到的数据量较大,且图像对应的向量的信息表示不明确,噪声较大。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,现有的视频向量化技术得到的数据量较大,且图像对应的向量的信息表示不明确,噪声较大。
解决方案
为了解决上述技术问题,根据本发明的一实施例,提供了一种视频向量化方法,包括:
采集目标用户的用户行为数据,并根据所述用户行为数据生成第一视频列表;
提取所述第一视频列表中的各个视频的前后视频的特征向量;
根据所述各个视频的前后视频的特征向量建立第一视频向量模型;
采集视频样本,并通过所述视频样本训练所述第一视频向量模型,得到第二视频向量模型;
通过所述第二视频向量模型对所述第一视频列表中的视频进行向量化。
对于上述方法,在一种可能的实现方式中,采集目标用户的用户行为数据,根据所述用户行为数据生成第一视频列表,包括:
采集指定时间段内的所述目标用户的所有用户行为数据;
从所采集的用户行为数据中筛选出有效的用户行为数据;
按照所述有效的用户行为数据对应的时间对所述有效的用户行为数据进行排序,得到所述第一视频列表。
对于上述方法,在一种可能的实现方式中,提取所述第一视频列表中的各个视频的前后视频的特征向量,具体用于:
采用式1提取所述第一视频列表中的第j个视频vj的前后视频的特征向量f(vj+k);
其中,vj+k表示所述第一视频列表中的第j+k个视频,K表示用于计算所述第j个视频vj对应的特征向量f(vj+k)的前后视频的个数,H(vj+k)表示所述第j+k个视频的初始向量;根据式2计算;
对于上述方法,在一种可能的实现方式中,根据所述各个视频的前后视频的特征向量建立第一视频向量模型,具体用于:
根据式3建立所述第一视频向量模型;
E(vj)=logp(vj|vj+k) 式3;
其中,-K<k<K,k≠0,p(vj|vj+k)根据式4确定;
p(vj|vj+k)=cosin[H(vj),f(vj+k)] 式4;
其中,cosin[H(vj),f(vj+k)]表示H(vj)与f(vj+k)之间的余弦距离。
对于上述方法,在一种可能的实现方式中,采集视频样本,包括:
从区间(0,1)中产生一个随机数;
若所述随机数落在区间Ii上,则将所述第一视频列表中的第i-1个视频作为所述视频样本;其中,Ii=(li-1,li),i=1,2...N,l0=0,i表示观看次数区间,N表示所述观看次数区间的总个数,counter(vj)表示所述第一视频列表中的第j个视频被所有用户观看的总次数,表示所述第一视频列表中的所有视频被所有用户观看的总次数。
为了解决上述技术问题,根据本发明的另一实施例,提供了一种视频向量化装置,包括:
第一视频列表生成模块,用于采集目标用户的用户行为数据,并根据所述用户行为数据生成第一视频列表;
前后视频特征向量提取模块,用于提取所述第一视频列表中的各个视频的前后视频的特征向量;
第一视频向量模型建立模块,用于根据所述各个视频的前后视频的特征向量建立第一视频向量模型;
视频向量模型训练模块,用于采集视频样本,并通过所述视频样本训练所述第一视频向量模型,得到第二视频向量模型;
向量化模块,用于通过所述第二视频向量模型对所述第一视频列表中的视频进行向量化。
对于上述装置,在一种可能的实现方式中,所述第一视频列表生成模块包括:
用户行为数据采集子模块,用于采集指定时间段内的所述目标用户的所有用户行为数据;
用户行为数据筛选子模块,用于从所采集的用户行为数据中筛选出有效的用户行为数据;
第一视频列表生成子模块,用于按照所述有效的用户行为数据对应的时间对所述有效的用户行为数据进行排序,得到所述第一视频列表。
对于上述装置,在一种可能的实现方式中,所述前后视频特征向量提取模块具体用于:
采用式1提取所述第一视频列表中的第j个视频vj的前后视频的特征向量f(vj+k);
其中,vj+k表示所述第一视频列表中的第j+k个视频,K表示用于计算所述第j个视频vj对应的特征向量f(vj+k)的前后视频的个数,H(vj+k)表示所述第j+k个视频的初始向量;根据式2计算;
对于上述装置,在一种可能的实现方式中,所述第一视频向量模型建立模块具体用于:
根据式3建立所述第一视频向量模型;
E(vj)=logp(vj|vj+k) 式3;
其中,-K<k<K,k≠0,p(vj|vj+k)根据式4确定;
p(vj|vj+k)=cosin[H(vj),f(vj+k)] 式4;
其中,cosin[H(vj),f(vj+k)]表示H(vj)与f(vj+k)之间的余弦距离。
对于上述装置,在一种可能的实现方式中,所述视频向量模型训练模块包括:
随机数产生子模块,用于从区间(0,1)中产生一个随机数;
视频样本采集子模块,用于若所述随机数落在区间Ii上,则将所述第一视频列表中的第i-1个视频作为所述视频样本;其中,Ii=(li-1,li),i=1,2...N,i表示观看次数区间,N表示所述观看次数区间的总个数,counter(vj)表示所述第一视频列表中的第j个视频被所有用户观看的总次数,表示所述第一视频列表中的所有视频被所有用户观看的总次数。
有益效果
通过采集目标用户的用户行为数据并生成第一视频列表,提取第一视频列表中各个视频的前后视频的特征向量以建立第一视频向量模型,采集视频样本训练第一视频向量模型得到第二视频向量模型,并根据第二视频向量模型对视频进行向量化,根据本发明实施例的视频向量化方法及装置无需对视频逐帧进行向量化,而是对视频的整体进行向量化,大大降低了视频向量化的数据量及噪声,提高了视频向量化的处理速度,且结合用户行为数据建立视频向量模型,从而使视频向量能够更准备地反映视频信息。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1示出根据本发明一实施例的视频向量化方法的实现流程图;
图2示出根据本发明一实施例的视频向量化方法步骤S101的一示例性的具体实现流程图;
图3示出根据本发明另一实施例的视频向量化装置的结构框图;
图4示出根据本发明另一实施例的视频向量化装置的一示例性的结构框图;
图5示出了本发明的另一个实施例的一种视频向量化设备的结构框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
实施例1
图1示出根据本发明一实施例的视频向量化方法的实现流程图。如图1所示,该方法主要包括:
在步骤S101中,采集目标用户的用户行为数据,并根据用户行为数据生成第一视频列表。
其中,目标用户的用户行为数据可以包括但不限于以下至少一项:目标用户观看视频的数据、目标用户评论视频的数据、目标用户订阅视频的数据和目标用户顶踩视频的数据。
在步骤S102中,提取第一视频列表中的各个视频的前后视频的特征向量。
在本发明实施例中,通过提取第一视频列表中的各个视频的前后视频的特征向量,从而在建立视频向量模型的过程中,考虑了目标用户观看的视频之间的相关性,从而能够提高视频向量模型的质量。
在步骤S103中,根据各个视频的前后视频的特征向量建立第一视频向量模型。
作为本发明实施例的一个示例,可以采用能够处理复杂特征的人工神经网络来建立第一视频向量模型。其中,复杂特征可以包括声音和视频等。该人工神经网络可以包括输入层、映射层和输出层。输入层的输入可以为第一视频列表中的各个视频的前后视频,例如,第一视频列表中的第j个视频为vj,则输入层的输入可以为vj的前K个视频和后K个视频,其中,前K个视频可以为vj-K,……,vj-1,后K个视频可以为vj+1,……,vj+K。其中,j和K为正整数。需要说明的是,K的值可以根据需要灵活设置。例如,K可以为2,在此不作限定。
需要说明的是,本示例中的人工神经网络可以利用现有的人工神经网络技术实现,在此不再对人工神经网络的工作原理进行赘述。
在步骤S104中,采集视频样本,并通过视频样本训练第一视频向量模型,得到第二视频向量模型。
作为本发明实施例的一个示例,在得到第二视频向量模型之后,该方法还可以包括:存储第二视频向量模型。
在步骤S105中,通过第二视频向量模型对第一视频列表中的视频进行向量化。
图2示出根据本发明一实施例的视频向量化方法步骤S101的一示例性的具体实现流程图。如图2所示,采集目标用户的用户行为数据,根据用户行为数据生成第一视频列表,包括:
在步骤S201中,采集指定时间段内的目标用户的所有用户行为数据。
在步骤S202中,从所采集的用户行为数据中筛选出有效的用户行为数据。
例如,可以将重复观看视频的用户行为数据确定为无效的用户行为数据,也可以将观看视频的完成比例很小的用户行为数据确定为无效的用户行为数据,在此不作限定。
在步骤S203中,按照有效的用户行为数据对应的时间对有效的用户行为数据进行排序,得到第一视频列表。
其中,有效的用户行为数据对应的时间可以为该有效的用户行为数据的发生时间。按照有效的用户行为数据对应的时间对有效的用户行为数据进行排序可以为:按照有效的用户行为数据由近到远的时间顺序对有效的用户行为数据进行排序。
作为本发明实施例的一个示例,在得到第一视频列表之后,可以存储该第一视频列表。
在一种可能的实现方式中,提取第一视频列表中的各个视频的前后视频的特征向量,具体用于:
采用式1提取第一视频列表中的第j个视频vj的前后视频的特征向量f(vj+k);
其中,vj+k表示第一视频列表中的第j+k个视频,K表示用于计算第j个视频vj对应的特征向量f(vj+k)的前后视频的个数,H(vj+k)表示第j+k个视频的初始向量;根据式2计算;
作为本发明实施例的一个示例,可以通过人工神经网络的映射层将第一视频列表的各个视频的前后视频的初始向量取和后进行非线性变换。例如,可以采用式1提取第一视频列表中的第j个视频vj的前后视频vj-K,……,vj-1,vj+1,……,vj+K的特征向量f(vj+k)。其中,K可以表示用于计算第j个视频vj对应的特征向量f(vj+k)的前后视频的个数,即第j个视频vj对应的特征向量f(vj+k)根据第j个视频vj和前K个视频和后K个视频的初始向量确定。
作为本发明实施例的一个示例,在采用式1提取第一视频列表中的第j个视频vj的前后视频vj-K,……,vj-1,vj+1,……,vj+K的特征向量f(vj+k)之前,该方法还可以包括:将第一视频列表中的各个视频进行初始化映射,得到各个视频的初始向量,且映射得到的视频的初始向量的值可以控制为大于0且小于1。例如,第一视频列表中第j+k个视频的初始向量为H(vj+k)。需要说明的是,随着视频向量模型的训练,视频向量将由初始向量收敛到某个值。
在一种可能的实现方式中,根据各个视频的前后视频的特征向量建立第一视频向量模型,具体用于:
根据式3建立第一视频向量模型;
E(vj)=logp(vj|vj+k) 式3;
其中,-K<k<K,k≠0,p(vj|vj+k)根据式4确定;
p(vj|vj+k)=cosin[H(vj),f(vj+k)] 式4;
其中,cosin[H(vj),f(vj+k)]表示H(vj)与f(vj+k)之间的余弦距离。
作为本发明实施例的一个示例,可以通过人工神经网络的映射层建立第一视频向量模型,并对第一视频向量模型进行训练优化,得到第二视频向量模型。在该示例中,可以采用最大似然估计算法训练优化第一视频向量模型。p(vj|vj+k)=cosin[H(vj),f(vj+k)]的值越小,则表明H(vj)与f(vj+k)的相似度越高。
在一种可能的实现方式中,采集视频样本,包括:从区间(0,1)中产生一个随机数;若随机数落在区间Ii上,则将第一视频列表中的第i-1个视频作为视频样本;其中,Ii=(li-1,li),i=1,2...N,l0=0,i表示观看次数区间,N表示观看次数区间的总个数,counter(vj)表示第一视频列表中的第j个视频被所有用户观看的总次数,表示第一视频列表中的所有视频被所有用户观看的总次数。例如,i=1对应的观看次数区间为0-20,i=2对应的观看次数区间为21-300,i=3对应的观看次数区间为301-1000,在此不作限定。
由于第一视频列表中视频数量较大,导致训练中的复杂度较高。因此,作为本发明实施例的一个示例,为了快速训练第一视频向量模型,可以利用负采样的方法来加速训练。负采样的方法能够用于提高视频向量模型的训练速度,并能够提高视频向量的质量。在第一视频列表中,各个视频被所有用户观看的总次数不同,对于被所有用户观看的总次数较多的视频,被选为负样本的概率较高;对于被所有用户观看的总次数较少的视频,被选为负样本的概率较低。
这样,通过采集目标用户的用户行为数据并生成第一视频列表,提取第一视频列表中各个视频的前后视频的特征向量以建立第一视频向量模型,采集视频样本训练第一视频向量模型得到第二视频向量模型,并根据第二视频向量模型对视频进行向量化,根据本发明实施例的视频向量化方法无需对视频逐帧进行向量化,而是对视频的整体进行向量化,大大降低了视频向量化的数据量及噪声,提高了视频向量化的处理速度,且结合用户行为数据建立视频向量模型,从而使视频向量能够更准备地反映视频信息。
实施例2
图3示出根据本发明另一实施例的视频向量化装置的结构框图。该装置可以用于运行图1或图2所示的视频向量化方法。为了便于说明,仅示出了与本发明实施例相关的部分。
如图3所示,该装置包括:第一视频列表生成模块31,用于采集目标用户的用户行为数据,并根据所述用户行为数据生成第一视频列表;前后视频特征向量提取模块32,用于提取所述第一视频列表中的各个视频的前后视频的特征向量;第一视频向量模型建立模块33,用于根据所述各个视频的前后视频的特征向量建立第一视频向量模型;视频向量模型训练模块34,用于采集视频样本,并通过所述视频样本训练所述第一视频向量模型,得到第二视频向量模型;向量化模块35,用于通过所述第二视频向量模型对所述第一视频列表中的视频进行向量化。
图4示出根据本发明另一实施例的视频向量化装置的一示例性的结构框图。图4中标号与图3相同的组件具有相同的功能,为简明起见,省略对这些组件的详细说明。为了便于说明,仅示出了与本发明实施例相关的部分。如图4所示:
在一种可能的实现方式中,所述第一视频列表生成模块31包括:用户行为数据采集子模块311,用于采集指定时间段内的所述目标用户的所有用户行为数据;用户行为数据筛选子模块312,用于从所采集的用户行为数据中筛选出有效的用户行为数据;第一视频列表生成子模块313,用于按照所述有效的用户行为数据对应的时间对所述有效的用户行为数据进行排序,得到所述第一视频列表。
在一种可能的实现方式中,所述前后视频特征向量提取模块32具体用于:采用式1提取所述第一视频列表中的第j个视频vj的前后视频的特征向量f(vj+k);
其中,vj+k表示所述第一视频列表中的第j+k个视频,K表示用于计算所述第j个视频vj对应的特征向量f(vj+k)的前后视频的个数,H(vj+k)表示所述第j+k个视频的初始向量;根据式2计算;
在一种可能的实现方式中,所述第一视频向量模型建立模块33具体用于:根据式3建立所述第一视频向量模型;
E(vj)=logp(vj|vj+k) 式3;
其中,-K<k<K,k≠0,p(vj|vj+k)根据式4确定;
p(vj|vj+k)=cosin[H(vj),f(vj+k)] 式4;
其中,cosin[H(vj),f(vj+k)]表示H(vj)与f(vj+k)之间的余弦距离。
在一种可能的实现方式中,所述视频向量模型训练模块34包括:随机数产生子模块341,用于从区间(0,1)中产生一个随机数;视频样本采集子模块342,用于若所述随机数落在区间Ii上,则将所述第一视频列表中的第i-1个视频作为所述视频样本;其中,Ii=(li-1,li),i=1,2...N,l0=0,i表示观看次数区间,N表示所述观看次数区间的总个数,counter(vj)表示所述第一视频列表中的第j个视频被所有用户观看的总次数,表示所述第一视频列表中的所有视频被所有用户观看的总次数。
需要说明的是,这样,通过采集目标用户的用户行为数据并生成第一视频列表,提取第一视频列表中各个视频的前后视频的特征向量以建立第一视频向量模型,采集视频样本训练第一视频向量模型得到第二视频向量模型,并根据第二视频向量模型对视频进行向量化,根据本发明实施例的视频向量化装置无需对视频逐帧进行向量化,而是对视频的整体进行向量化,大大降低了视频向量化的数据量及噪声,提高了视频向量化的处理速度,且结合用户行为数据建立视频向量模型,从而使视频向量能够更准备地反映视频信息。
实施例3
图5示出了本发明的另一个实施例的一种视频向量化设备的结构框图。所述视频向量化设备1100可以是具备计算能力的主机服务器、个人计算机PC、或者可携带的便携式计算机或终端等。本发明具体实施例并不对计算节点的具体实现做限定。
所述视频向量化设备1100包括处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory)1130和总线1140。其中,处理器1110、通信接口1120、以及存储器1130通过总线1140完成相互间的通信。
通信接口1120用于与网络设备通信,其中网络设备包括例如虚拟机管理中心、共享存储等。
处理器1110用于执行程序。处理器1110可能是一个中央处理器CPU,或者是专用集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1130用于存放文件。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1130也可以是存储器阵列。存储器1130还可能被分块,并且所述块可按一定的规则组合成虚拟卷。
在一种可能的实施方式中,上述程序可为包括计算机操作指令的程序代码。该程序具体可用于:实现实施例1中各步骤的操作。
本领域普通技术人员可以意识到,本文所描述的实施例中的各示例性单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件形式来实现,取决于技术方案的特定应用和设计约束条件。专业技术人员可以针对特定的应用选择不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如果以计算机软件的形式来实现所述功能并作为独立的产品销售或使用时,则在一定程度上可认为本发明的技术方案的全部或部分(例如对现有技术做出贡献的部分)是以计算机软件产品的形式体现的。该计算机软件产品通常存储在计算机可读取的非易失性存储介质中,包括若干指令用以使得计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。