[0039] 下面结合附图,对本发明的具体实施方案作进一步详细描述。
[0040] 基于张量分解的视频浓缩方法,其具体步骤描述如图1所示。该方法的发明构思是通过场景分隔算法,将视频文件以场景为标准分段,再将每一部分的视频逐帧读入并转化成张量求取其特征帧,然后利用特征帧重组视频以此达到视频浓缩的效果。下面详细叙述该浓缩方法的具体步骤:
[0041] S1:将待测视频逐帧迭代输入转化为灰度图像,从每帧的相同位置选取n×n的块,并将每个块的所有像素的DCT系数按序排列构成矢量:
[0042] Vi={c1,c2,c3……,cn×n}
[0043] 其中:Vi为第i帧中块的灰度值所构成的矢量,cj表示块中第j个像素的DCT系数,j=1,2,3,…,n×n。在本实施例中,n取值为8,即每个块的大小为8×8。灰度图可以通过DCT变换得到相应的DCT系数,具体变换过程可以采用现有方法进行,不再赘述。
[0044] S2:按设定的间隔步长,两两计算间隔帧之间的差别,若差别超过阈值则认为两帧之间发生了场景变化,否则认为两帧之间没有发生场景变化。
[0045] 具体的间隔步长可根据视频的特点进行调整,若视频场景切换较少,可以设定较大的步长,若视频场景切换十分频繁,可以设定较小的步长。本实施例中,设定间隔步长β,按照下列公式两两计算间隔帧之间的差异值:
[0046]
[0047] 其中:D(i,i+β)表示第i帧与第i+β帧之间的差异值,|·|表示向量的模;
[0048] 若1‑|D(i,i+β)|>T1,则认为第i帧与第i+β帧发生了场景的变化,属于不同场景;否则认为第i帧与第i+β帧之间没有发生场景变化,属于同一场景;其中T1为第一阈值,具体取值可以根据实际进行调整,|D(i,i+β)|表示D(i,i+β)的绝对值。
[0049] S3:根据S2的检测结果,对待测视频进行分段,使隶属于同一场景的所有帧划分至同一段中,再将每段视频表示为一个三阶张量;
[0050] S4:对每个张量进行张量分解获得特征张量。本实施例中,对每段视频的三阶张量进行张量分解获得特征张量是通过如下具体公式进行的:
[0051]
[0052] 式中, 为单个场景的视频张量,W为张量沿时间轴展开后的矩阵,ε为提取出的特征张量,上标T表示转置。
[0053] S5:从每个特征张量中提取特征图,在本实施例中提取特征张量的第一切片为特征图。在本实施例中,图2中展示了视频按场景分段后的若干特征图样本,其中a)~d)分别属于四个不同的场景。
[0054] S6:将所有场景的特征图帧按序逐帧重构为视频文件,该视频文件即为浓缩后的目标视频。
[0055] 在浓缩视频中,实际上是以提取出的特征图像帧代替了该场景对应的视频段,实验结果证明该视频可以非常有效的提取视频中的关键信息减少冗余。另外,本发明的视频处理模型能够非常有效的处理是视频文件,而且浓缩后的视频大大节约视频的处理时间,提高了检测效率,这也使得其大大优于前人的方法。
[0056] 在上述步骤S2中,第一阈值T1起到了初步的场景划分作用,但是由于采用单一的块作为场景划分基础,容易产生因为摄像机和物体运动而导致的误检现象,进而使得场景划分产生误差。因此在另一实施例中可以设置一个第二阈值T2,且T2>T1,采用双重判定的方式进行场景变换检测。其中T2的具体取值根据实际的试验确定,保证检测准确性。
[0057] 若1‑|D(i,i+β)|≥T2,表明两帧之间发生了明显的变化,则认为第i帧与第i+β帧发生了场景的变化;
[0058] 若1‑|D(i,i+β)|≤T1,表明两帧之间没有发生明显的变化,则认为第i帧与第i+β帧之间没有发生场景变化;
[0059] 若T1<1‑|D(i,i+β)|<T2,表明两帧之间发生了一定程度上的变化,但无法排除是否是由摄像机和物体运动而导致的,因此需要继续进行二次判定,判定方法为:
[0060] 1)首先,从第i帧中取出N个块,然后从第i+β帧的相同为位置取出等数量的N个块,再将两帧图像中位置对应的两个块作为一组。取出的块的数量N可以根据需要进行设定,例如4~8块。
[0061] 2)每组块中的两个块基于其DCT系数判断差异程度,具体是依次对每组块中两个块的DCT系数相减求和计算绝对差,计算公式为:
[0062]
[0063] 式中:D(i,i+β,l)表示第i帧与第i+β帧的第l组块之间的绝对差;cl,k(i)是第i帧第l块的第k个像素的DCT系数;max[cl,k(i),cl,k(i+β)]表示cl,k(i)和cl,k(i+β)之间的较大值;
[0064] 如果绝对差D(i,i+β,l)超过第三阈值T3,则认为第i帧与第i+β帧的第l组块发生了变化,否则认为没有发生变化。T3的具体取值根据实际的试验确定,保证检测准确性。
[0065] 3)统计N组块中发生块变化的组数量,若超过第四阈值T4,则表明两帧之间多个位置块都发生了变化,可以排除是摄像机和物体运动而导致的误差,应当认为视频序列从第i帧与第i+β帧发生了场景的变化;若未超过第四阈值T4,则视为从第i帧与第i+β帧没有发生场景的变化。T4是一个取值不高于N的数,具体取值根据实际的试验确定。
[0066] 以上所述的实施例只是本发明的一种较佳的方案,然其并非用以限制本发明。有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型。因此凡采取等同替换或等效变换的方式所获得的技术方案,均落在本发明的保护范围内。