基于SIFT特征聚类的固定镜头实时监控视频特征提取方法与流程

文档序号:11951810阅读:436来源:国知局
基于SIFT特征聚类的固定镜头实时监控视频特征提取方法与流程

本发明涉及多媒体信息处理技术领域,特别涉及一种基于SIFT特征聚类的固定镜头实时监控视频特征提取方法。



背景技术:

视频特征是对视频内容的有效描述,提取视频特征为海量视频库建立索引,是目前解决在海量视频中基于内容的检索问题的有效方法。

目前的视频特征提取方法,主要包括图像的底层特征提取、视频分割和关键帧提取三个方面的关键技术,常见的提取方法是基于镜头分割的技术,发展得相对成熟,能有效地实现对普通视频进行特征提取。然而监控视频具有特殊性,大部分监控视频长期处于同一个镜头中,镜头切换在监控视频中并不明显,因此基于镜头分割的提取方法不太适用于对监控视频的特征提取中。因此,多媒体信息处理技术领域急需一种适合对监控视频这种无镜头切换类视频进行特征提取的方法。



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提供一种基于SIFT特征聚类的固定镜头实时监控视频特征提取方法,该方法通过以SIFT特征为基础,实现了对无镜头切换的实时监控视频的特征提取。

本发明的目的通过下述技术方案实现:

一种基于SIFT特征聚类的固定镜头实时监控视频特征提取方法,所述方法包括下列步骤:

S1、对实时产生的监控视频的每一帧通过SIFT特征提取算法使用并行计算的方式进行特征提取;

S2、根据所述步骤S1中每一帧提取到的SIFT特征计算帧间相似度和区间平均相似度,将实时产生的监控视频流按照每段视频包含相似内容的原则分割成视频段;

S3、根据所述步骤S1中每一帧提取到的SIFT特征,对所述步骤S2中分割后的每一个视频片段分别提取特殊关键帧,其中,特殊关键帧是指每个视频段中视频帧画面变化幅度最大的视频帧。

进一步地,所述步骤S1具体包括:

S101、视频帧预处理,将视频流中获取的彩色图像视频帧转化成灰度图像视频帧;

S102、数据块划分,将完整的视频帧划分为若干数据块;

S103、数据块分配,在划分数据块后,将各个数据块按照数据块分配策略分配给相应的处理节点;

S104、各处理节点对数据块进行特征提取,各处理节点以接收的数据块作为输入采用SIFT特征提取算法提取特征点,并将处理结果发送到特征合并节点;

S105、特征合并节点合并各数据块的特征点,特征合并节点根据特征合并策略对属于同一视频帧的各数据块的处理结果进行特征点合并。

进一步地,所述步骤S2具体包括:

S201、确定阀值δ,选择一定的阀值δ,作为视频内容突变的检测值;

S202、确定阀值Δ,选择一定的阀值Δ,作为判别边界的检测值;

S203、确定N值,选择一定的值N,作为边界检测连续帧数;

S204、获取视频帧,从实时产生的监控视频流中获取视频帧;

S205、设置视频分割起点帧,将所述步骤S201中的监控视频流的第一帧作为视频分割起点帧(第s帧),s=1;

S206、提取每一帧的特征点,从视频分割起点帧(第s帧)开始,顺序地获取视频中每一帧(第i帧)并对其进行SIFT特征提取,得到其所有特征点和特征点数量F(i);

S207、计算相邻帧的帧间相似度,在所述步骤S206中对每一帧(第i帧)进行SIFT特征提取的同时,将该视频帧与其前一帧(第i-1帧)的SIFT特征点进行匹配,得到当前第i帧与其前一帧间相匹配的特征点数量M(i),并计算出当前第i帧与其前一帧间的相似度R(i),相似度计算公式如下:

<mrow> <mi>R</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>F</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>F</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>;</mo> </mrow>

S208、计算帧间相似度平均值,在所述步骤S207计算出当前帧(第i帧)与其前一帧间的相似度R(i)的同时,计算从视频分割起点帧(第s帧)到当前帧(第i帧)的帧间相似度的平均值计算公式如下:

<mrow> <mover> <mrow> <mi>R</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>,</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mo>&OverBar;</mo> </mover> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>i</mi> <mo>-</mo> <mi>s</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mi>s</mi> </mrow> <mi>i</mi> </munderover> <mi>R</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> <mo>;</mo> </mrow>

S209、寻找疑似边界帧k,在所述步骤S208中计算当前帧第i帧与其前一帧间的相似度R(i)的同时,如果遇到某一帧(假设为第k帧)和其上一帧(第k-1帧)间的相似度R(k)的值低于已选定的视频内容突变阀值δ,即R(k)<δ,则第k帧为疑似边界帧;

步骤S210、计算判断疑似边界帧是否为边界帧,对疑似边界帧(假设为第k帧)后面连续的N帧提取特征点、计算每一帧与其上一帧的帧间相似度,并计算从第(k+1)帧到第(k+N)帧的帧间相似度的平均值若则判定第k帧是边界帧,否则不是边界帧;若是边界帧,则将视频分割起点帧(第s帧)和第k帧之间的所有帧分割出来成为一个视频段,并将第k+1帧作为新的视频分割起点帧,即s=k+1,重复步骤S206至步骤S210,直到整个监控视频流的所有帧全部处理结束;若不是边界帧,则从第k+1帧开始,继续寻找下一个疑似边界帧,重复执行步骤S209和步骤S210,直到所有帧都处理结束。

进一步地,所述步骤S3具体包括:

S301、获取视频帧,从视频分割片段中获取视频帧。

S302、初始特殊关键帧的帧号,设置特殊关键帧的帧号Key,Key值初始为1;

S303、初始特殊关键帧的特征点数量,设置特殊关键帧的特征点数量MAX,初始值为0;

S304、设置关键起点帧,将所述步骤S301中获取的视频帧的第一帧作为关键起点帧(第t帧);

S305、提取每一帧的特征点,从关键起点帧(第t帧)开始,对所述步骤S301中获取的每一帧(第i帧)进行特征提取,获取每一帧的特征点和特征点数量F(i);

S306、计算每一帧与关键起点帧的帧间相似度,在所述步骤S305中对每一帧进行特征提取的同时,对该当前帧(第i帧)与关键起点帧(第t帧)进行匹配,得到这两帧间相匹配的特征点数量M(t,i),并计算出这两帧间的相似度R(t,i);

S307、计算相邻帧的帧间相似度,在所述步骤S305中对每一帧进行特征提取的同时,对该当前帧(第i帧)与其前一帧(第i-1帧)进行匹配,得到当前帧与其前一帧间相匹配的特征点数量M(i),并计算出当前帧与其前一帧的相似度R(i);

S308、计算关键起点帧到每一帧的帧间相似度平均值,在所述步骤S307中计算出当前帧(第i帧)与其前一帧的相似度R(i)的同时,计算从关键起点帧(第t帧)到当前帧(第i帧)的帧间相似度平均值

S309、更新特殊关键帧的帧号以及该帧的特征点数量,在所述步骤S308中对当前帧(第i帧)计算的同时,若则令Key=i,

S310、提取每一段包含相似内容的视频片段中的关键帧,在所述步骤S306中计算每一帧与关键起点帧(第t帧)的帧间相似度R(t,i)时,R(t,i)会逐渐减小,假设当i=j时,R(t,i)=0,则在第t帧到第j帧中找到特征点数量最大的视频帧,将其添加到关键帧序列中,并将第j+1帧作为新的关键起点帧,即t=j+1,重复所述步骤S305至所述步骤S310中的操作,直到处理到此视频分割片段的最后一帧结束;

S311、确定本段视频流的特殊关键帧,将第Key帧添加到关键帧序列中,所述Key中保存的是本段视频段中的特殊关键帧的帧号。

进一步地,所述步骤S102、数据块划分中数据块的划分规则具体如下:

规定划分的数据块是L的整数倍,L的计算方法如下:

L=2α-d,其中d∈{1,2},

d为高斯金字塔中的第0组第0层图像与原始图像之比,α是高斯金字塔的总组数,由如下计算公式得出:

α=log2min(R,C)-t,其中t∈[0,log2min(r,c)];

在上式中,R、C分别为原始图像像素矩阵的总行数和总列数,而r、c则为高斯金字塔中顶层图像的高度和宽度。

进一步地,所述步骤S102、数据块划分中数据块的重叠规则具体如下:

b为加上邻域数据后数据块的宽度,b的计算方法如下:

b=max(L,4)。

进一步地,所述步骤S103、数据块分配中数据块分配策略如下:

设数据块的数量为N,集群节点数量为M,当N≤M时,应把N个数据块平均分配给M个节点中前N个当前负载最少的处理节点;当N>M时,先把M个数据块平均分配到M个节点,剩下的(N-M)个数据块分配给当前负载最少的前(N-M)个节点作处理。

本发明相对于现有技术具有如下的优点及效果:

本发明提出的一种基于SIFT特征聚类的监控视频的特征提取方法,充分利用SIFT特征匹配精度高、稳定性和抗噪性良好的优点,选择SIFT特征作为特征类型。针对监控视频镜头固定不变的特点,在视频分割阶段,以SIFT特征匹配作为帧间内容相似度的判断标准,采用基于视频帧SIFT特征相似度聚类的方法对监控视频进行分割,引入区间平均相似度来表示一个聚类的总体相似度,以此来检测发生内容突变的边界帧,保证边界帧识别精确度;在关键帧提取阶段,采用基于最大特征点策略的关键帧判别方法,以特征点数量作为关键帧的选取标准,对于内容相似的帧序列,选取具有最多特征点的视频帧作为关键帧,保证关键帧序列在尽可能少的图像冗余信息下,实现对完整视频得表达。该基于SIFT特征聚类的监控视频特征提取方法能有效地从监控视频中分割出内容相似的视频片段,而基于最大特征点策略的关键帧提取方法提取的关键帧冗余度低,实现了较好的视频特征提取效果。

附图说明

图1是本发明中公开的基于SIFT特征聚类的监控视频的特征提取方法的流程步骤图;

图2(a)是实施例中不按限制规则划分数据块的效果示意图;

图2(b)是实施例中按限制规则划分数据块的效果示意图;

图3是数据块划分中加上邻域数据的数据块示意图;

图4是数据块中特征点分布图;

图5是帧间相似度R-曲线图;

图6是整个监控视频SL05_540P的帧间相似度R-曲线图;

图7是视频SL05_480P中提取的关键帧。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

实施例一

本发明实施例针对监控视频长期处于同一个镜头,基本没有镜头切换的特征而提供的一种实时视频特征提取方法,以下简称本方法。

在本方法中需要用到SIFT特征技术,它是本方法中用到的一项基本技术。在本方法中它的作用是从每一个视频帧中提取出特征点。

下面对SIFT进行简单介绍。

SIFT,即尺度不变特征转换(Scale-invariant feature transform,SIFT)简称SIFT特征,是由David G.Lowe教授在1999年提出的一种局部性图像特征提取算法,并在2004年被进一步改进。SIFT特征是一种图像的局部特征,其特征点具有良好的稳定性,不受图像旋转、缩放以及仿射所影响,对于光线、视角变化等外部干扰因素具有较高的抗干扰能力。

同时相比于其他特征,SIFT特征点信息量非常丰富,非常适合在海量图像数据库中进行精准匹配,所以本方法中使用SIFT特征提取算法对视频帧进行特征提取。但由于SIFT特征提取的时间代价较高的,而实时监控视频特征提取对实时性有一定的要求,所以本方法在进行每一帧的SIFT特征提取时对其进行了并行化处理,有效地提高了本方法的实时性。

如图1所示,图1是本发明中公开的基于SIFT特征聚类的监控视频的特征提取方法的流程步骤图,该基于SIFT特征聚类的固定镜头实时监控视频特征提取方法分三个步骤有序进行。

步骤S1、对实时产生的监控视频的每一帧使用并行计算的方式进行特征提取,这一过程包含以下步骤。

步骤S101、视频帧预处理。从视频流中获取的视频帧实际上是一个彩色图像,在本步中将其转化成灰度图像。

步骤S102、数据块划分。把完整的视频帧划分为若干数据块,划分策略如下:

SIFT特征是与图像位置相关的特征,随意划分数据将导致错误的结果,因此本划分策略在进行数据块划分时需要遵循以下规则。

1、数据块划分规则

对于输入图像F,SIFT特征算法的步骤1是构建高斯金字塔,高斯金字塔是对原始图像连续采样得出的,金字塔共α组,每组有β层。第0组的0层图像是由原始图像放大2倍获得的,而随后的每一组图像的第0层是从上一组图像的倒数第三层下采样获得的,图像的下采样会删除原始图像像素矩阵的偶数行和偶数列。因此数据划分不恰当会造成下采样过程误删信息点,导致提取出来的特征点结果与原算法不一致。

为了说明这个问题,现假设某一图像分辨率为100x100,其在SIFT特征提取时经过一个下采样过程后的图像分辨率变为50x50。假设现在对原图像均匀的划分为4份分别发向每个处理节点处理,每个节点执行一次下采样步骤得到的是13x13分辨率的图像,而合并后的下采样图像的大小为52x52,与原方法的下采样结果不同。

经过以上分析,可以看出为了保证结果的准确性,不能随意地划分数据块。为了解决这个问题,需要对数据块的大小进行限定。实际上,建立高斯金字塔的下采样过程就是删除原图像的偶数的行和列,经过分析不难得出图像划分的数据块高度和宽度只要是偶数,就不会被误删。因此,现规定划分的数据块是L的整数倍,L的计算方法如下:

L=2α-d,其中d∈{1,2},

d为高斯金字塔中的第0组第0层图像与原始图像之比,在某些算法实现中,d=2,在Lowe的算法实现中,d=1。α是高斯金字塔的总组数,由如下计算公式得出:

α=log2min(R,C)-t,其中t∈[0,log2min(r,c)];

在上式中,R、C分别为原始图像像素矩阵的总行数和总列数,而r、c则为高斯金字塔中顶层图像的高度和宽度。为了保证结果的正确性,在图像下采样时不会误删数据,在划分数据块时,数据块的高度和宽度应规定为L的整数倍,但原图像的每行和每列的最后一个数据块不需满足此规则。

如图2(a)和图2(b)所示20x20像素矩阵中,串行算法构建高斯金字塔下采样时需要删除的偶数行r0~r20在图中标出,对数据块划分为四份后,从左到右从上到下对数据块进行编号为1~4。此时计算得出L=2。假如划分数据块时不按L倍数的限制规则处理,如图2(a)所示,数据块的宽度均为9,则在数据块2中,原图像中的偶数行在此块中对应为[r1、r3、r5、r7、r9],为奇数行,在下采样过程中没有被删除,从而对此数据块应用SIFT特征提取的结果将与串行方法不一致。假如按照L倍数的限制规则划分,如图2(b)所示,数据块的高度和宽度均为10,数据块2中,在原图像中的偶数行在此块中对应为[r0、r2、r4、r8、r10],同为偶数行,则在分块中下采样被删除的行列与原图像中一致,由此避免了分布化的算法与原算法不一致的问题。

2、数据块重叠规则

SIFT特征提取时,检测极值点需要比较关键点与邻域数据的大小,所以各节点除了要保存数据块还需要保存数据分块的邻域数据。邻域数据实际上是其他数据块的内容,因此邻域数据也叫数据块重叠区域。如图3,在极值点检测和方向分配时都需要邻域数据,邻域是关键点周围4个像素点。考虑到数据块的高度和宽度限制,在加上邻域数据后其高度和宽度也应该满足限制条件。如图3为加上邻域数据的数据块示意图,b为邻域数据的宽度,b的计算方法如下:

b=max(L,4)

当L>4时,即使数据块只需要周围的4个像素单位宽度的邻域数据,但由于数据块高度和宽度需要满足L整数倍的限制条件,所以邻域数据宽度扩展到L以保证执行结果正确。而当L<4时,L只能取2,则4满足L的倍数关系,邻域数据宽度取4。

步骤S103、数据块分配。在划分数据块后,将各个数据块按照数据块分配策略分配给相应的处理节点,数据块分配策略如下:

在数据划分节点划分数据后,将数据块发送到各个节点处理,这过程需考虑数据块分配策略。在算法的特征合并环节需要等待所有的数据块提取的结果,算法的处理速度取决于处理过程最慢的数据块处理节点。为了达到最好的处理效果,下面给出考虑负载均衡的分配策略:设数据块的数量为N,集群节点数量为M。当N≤M时,应把N个数据块平均分配给M个节点中前N个当前负载最少的处理节点;当N>M时,先把M个数据块平均分配到M个节点,剩下的(N-M)个数据块分配给当前负载最少的前(N-M)个节点作处理。

步骤S104、各处理节点对数据块进行特征提取。各处理节点以接收的数据块作为输入采用SIFT特征提取算法提取特征点,并将处理结果发送到特征合并节点。

步骤S105、特征合并节点合并各数据块的特征点。特征合并节点根据特征合并策略对属于同一视频帧的各数据块的处理结果进行特征点合并。特征合并策略如下:

SIFT特征点包含了位置信息,由于对各个数据块的特征提取仍然采用原SIFT特征提取算法,在数据块中提取的SIFT特征点的位置信息是基于数据块坐标的,因此如将原图像帧进行数据分块分发给多个节点执行,必然造成了分块特征点相对位置的变化。为了使最终的特征点位置信息与原图像坐标保持一致,在合并过程中需要对数据块的特征点位置进行调整。

假设数据分块i的左上角点在原图像坐标系中的位置为(xi,yi),在该数据块提取出来的某一特征点位置为(x′,y′),设经过位置调整后的位置坐标(x,y),(x,y)是合并后的正确位置,则(x,y)的计算公式为:

x=x′+xi

y=y′+yi

由于每个数据块都包含了重叠区域,假如特征点是属于重叠区域的,则该特征点不应该包括在合并的结果中。如图4所示为已提取特征后的数据块,特征点d为其中一个特征点。假设tileWidth、tileHeight分别是数据块的宽度和高度,tileIndex是该数据块的编号,rTiles是原始图像在行方向上被划分的总块数,(x,y)是点d经过调整后的特征点位置,假如满足:

x<(tileIndex%rTiles)×tileWidth∪(tileIndex%rTiles+1)×tileWidth

y<(tileIndex/rTiles)×tileHight∪(tileIndex/rTiles+1)×tileHight

则特征点d属于重叠区域,由于重叠区域仅是在提取数据块的特征点时被利用,而在其本身提取的特征点并不是正确的,应该从结果中剔除。合并过程中应保证满足以上条件的特征点应该被剔除后,最终的合并结果才是正确的。每幅图像被分为四个数据块,编号为1、2、3、4。每个数据块由非重叠区域和重叠区域构成。如图4所示,图像被划分为四个相等的互不重叠的区域,分别为S1、S2、S3、S4,重叠区域A1、A2、A3分别为数据块1与数据块2、数据块3、数据块4重叠的邻域。S1、A1、A2、A3共同构成数据块1,S1、A1、A2、A3中的点为在数据块1中提取的SIFT特征点,其中重叠区域中的点应该被剔除。例如,位于重叠区域A2中的特征点d(x,y),应该是在数据块3中被提取,因此应该将该点从数据块1中提取的点中剔除。

在这个步骤S1中,不仅对每一个视频帧进行了特征提取,而且通过将每一个视频帧的特征提取过程并行化,提高了本方法对每一个视频帧的特征提取的速度,解决了本方法的实时性问题。

步骤S2、利用第一个过程的处理结果,将实时产生的监控视频流按照每段视频包含相似内容的原则分割成视频段,步骤如下:

步骤S201、确定阀值δ。选择一定的阀值δ,作为视频内容突变的检测值。

步骤S202、确定阀值Δ。选择一定的阀值Δ,作为判别边界的检测值。

步骤S203、确定N值。选择一定的值N,作为边界检测连续帧数。

步骤S204、获取视频帧。从实时产生的监控视频流中获取视频帧。

步骤S205、设置视频分割起点帧。将步骤S201中的监控视频流的第一帧作为视频分割起点帧(第s帧),即s=1。

步骤S206、提取每一帧的特征点。从视频分割起点帧(第s帧)开始,顺序地获取视频中每一帧(第i帧)并对其进行SIFT特征提取,得到其所有特征点和特征点数量F(i)。

步骤S207、计算相邻帧的帧间相似度。在步骤S206中对每一帧(第i帧)进行SIFT特征提取的同时,将该视频帧与其前一帧(第i-1帧)的SIFT特征点进行匹配,得到第i帧与其前一帧间相匹配的特征点数量M(i),并计算出第i帧与其前一帧间的相似度R(i)。相似度计算公式如下:

<mrow> <mi>R</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mrow> <mn>2</mn> <mi>M</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mrow> <mi>F</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> <mo>+</mo> <mi>F</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow> </mfrac> </mrow>

步骤S208、计算帧间相似度平均值。在步骤S207计算出当前帧(第i帧)与其前一帧间的相似度R(i)的同时,计算从视频分割起点帧(第s帧)到当前帧(第i帧)的帧间相似度的平均值计算公式如下:

<mrow> <mover> <mrow> <mi>R</mi> <mrow> <mo>(</mo> <mi>s</mi> <mo>,</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mo>&OverBar;</mo> </mover> <mo>=</mo> <mfrac> <mn>1</mn> <mrow> <mi>i</mi> <mo>-</mo> <mi>s</mi> <mo>+</mo> <mn>1</mn> </mrow> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mi>s</mi> </mrow> <mi>i</mi> </munderover> <mi>R</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </mrow>

步骤S209、寻找疑似边界帧k。在步骤S208中计算当前帧(第i帧)与其前一帧间的相似度R(i)的同时,如果遇到某一帧(假设为第k帧)和其上一帧(第k-1帧)间的相似度R(k)的值低于已选定的视频内容突变阀值δ,即R(k)<δ,则第k帧为疑似边界帧。

在步骤S209中,用这样的方式选择疑似边界帧的依据如下:根据选择的视频内容突变阀值δ,当R(k)<δ时,可以得出第k帧和第k-1帧的内容相似度较低的结论,因此可以判定此时视频画面发生了变化,认为第k帧可能是一个视频分段的边界帧,所以第k帧是一个疑似边界帧。但是,以上理由不足以确定第k帧是一个边界帧。因为,可能出现某一个区间的视频帧持续保持较低的帧间相似度,这可能是视频中人物持续变动造成的,而这一部分视频帧应该是属于同一个视频片段,因为它们都在表述着一个相同的事件。如图5所示,图中第545帧到第1157帧这个区间内,帧间相似度持续保持一个较低的水平,但这是由于第545帧到第1157帧一段视频描述了一个人站起身向门口走去的活动,所以这个区间内的帧应该属于一个视频片段,而不是被分割。所以从第545帧到第1157帧都只是疑似边界帧。所以需要进一步来确定疑似边界帧是否是真正的边界帧。

步骤S210、计算判断疑似边界帧是否为边界帧。对疑似边界帧(k帧)后面连续的N帧提取特征点、计算每一帧与其上一帧的帧间相似度,并计算从第(k+1)帧到第(k+N)帧的帧间相似度的平均值若则判定第k帧是边界帧,否则不是边界帧。若是边界帧,则将视频分割起点帧(第s帧)和第k帧之间的所有帧分割出来成为一个视频段,并将第k+1帧作为新的视频分割起点帧,即s=k+1,重复步骤S206至步骤S210,直到整个监控视频流的所有帧全部处理结束;若不是边界帧,则从第k+1帧开始,继续寻找下一个疑似边界帧,重复执行步骤S209和步骤S210,直到所有帧都处理结束。

在步骤S210中,选择这种方式判断疑似边界帧的原因如下:

同样以图5为例。当处理到第545帧时,发现这一帧与前一帧的帧间相似度较低,认为它是一个疑似边界帧。接着检查它后面连续的N帧,发现这帧的帧间相似度的平均值与差距大于Δ,所以确定它就是一个边界帧。相应地,在视频中,第s帧到第545帧描述的是一个基本静止的室内环境,而第545帧以后,视频中的人站起身来向门外走去。由此可见认定第545帧是边界帧的结论是正确的。此时,视频分割起点帧s变成了第546帧(即s=546)。之后同样地,当处理到第546帧至第1156帧中的某一帧(假设为第j帧)时,发现第j帧与其前一帧的帧间相似度较低,此时也认为它是一个疑似边界帧,但当检测其后相邻的N帧时,发现与相差不大(从图5中也可以很容易验证这个结果),所以,根据步骤S210的判断,可以确定第j帧不是边界帧。最后,得到第546到第1156都不是边界帧。相应地,在视频里,这些帧都是描述视频中人物走动的视频片段的内部帧。当处理到第1157帧时,同样认为它是一个疑似边界帧。检查第1157帧后面连续N帧的过程中,发现明显高于所以确定第1157帧是一个边界帧。相应地,在视频中第546帧到第1157帧共同描述了视频中的人起身向门口走去的活动。以上三种情况的分析和描述,充分证明了确定一个视频帧是边界帧的方法的正确性、合理性。

在这个步骤S2中,一段监控视频按照视频内容被分割成若干视频片段。

步骤S3、对步骤S2中得到的每一个视频片段分别提取关键帧,具体步骤如下:

步骤S301、获取视频帧。从视频分割片段中获取视频帧。

步骤S302、初始特殊关键帧的帧号。设置特殊关键帧的帧号Key,Key值初始为1。

步骤S303、初始特殊关键帧的特征点数量。设置特殊关键帧的特征点数量MAX,初始值为0。

步骤S304、设置关键起点帧。将步骤S301中获取的视频帧的第一帧作为关键起点帧(第t帧)。

步骤S305、提取每一帧的特征点。从关键起点帧(第t帧)开始,对步骤S301中获取的每一帧(第i帧)进行特征提取,获取每一帧的特征点和特征点数量F(i)。

步骤S306、计算每一帧与关键起点帧的帧间相似度。在步骤S305中对每一帧进行特征提取的同时,对该当前帧(第i帧)与关键起点帧(第t帧)进行匹配,得到这两帧间相匹配的特征点数量M(t,i),并计算出这两帧间的相似度R(t,i)。

步骤S307、计算相邻帧的帧间相似度。在步骤S305中对每一帧进行特征提取的同时,对该当前帧(第i帧)与其前一帧(第i-1帧)进行匹配,得到当前帧与其前一帧间相匹配的特征点数量M(i),并计算出当前帧与其前一帧的相似度R(i)。

步骤S308、计算关键起点帧到每一帧的帧间相似度平均值。在步骤S307中计算出当前帧(第i帧)与其前一帧的相似度R(i)的同时,计算从关键起点帧(第t帧)到当前帧(第i帧)的帧间相似度平均值

步骤S309、更新特殊关键帧的帧号以及该帧的特征点数量。在步骤S308中对当前帧(第i帧)计算的同时,若则令Key=i,

步骤S310、提取每一段包含相似内容的视频片段中的关键帧。在步骤S306中计算每一帧与关键起点帧(第t帧)的帧间相似度R(t,i)时,R(t,i)会逐渐减小。假设,当i=j时,R(t,i)=0,则在第t帧到第j帧中找到特征点数量最大的视频帧,将其添加到关键帧序列中,并将第j+1帧作为新的关键起点帧,即t=j+1。重复步骤S305至步骤S310中的操作,直到处理到此视频分割片段的最后一帧结束。

步骤S311、确定本段视频流的特殊关键帧。步骤S310完成后,Key中保存的是本段视频段中的特殊关键帧的帧号,将第Key帧添加到关键帧序列中。特殊关键帧的介绍如下:

特殊关键帧是指整个视频段中视频帧画面变化幅度最大的视频帧,这种视频帧描述了重要的画面变化信息,所以应当将其添加到关键帧序列中。

此过程得到的关键帧序列中的所有视频帧即为描述其所在视频段主要内容的关键帧。

最后,将所有视频段中的所有关键帧和这些关键帧的特征点保存下来,作为整段视频的视频特征。

实施例二

在本实施例中,以对一个视频段SL05_540P的处理过程来展开对本方法的具体实施方式和效果的描述。

视频段SL05_540P是一段包含1801帧的监控视频段,由于无法将每一帧画面一一展示,故在此以文字的形式对其内容加以描述:

视频SL05_540P展示了一段实验室出口区域的监控视频,视频总共1801帧。视频首先显示了一段时间的背景画面,然后一个人进入监控范围,该人物经过出口区域,离开实验室,离开一段时间后又回从出口区域返回实验室,最后人物离开监控范围。整个过程被监控视频SL05_540P记录在视频中。

直观的,可以根据画面内容将这段视频分为五段:

第一段记录的是一段时间的背景画面。

第二段记录的是一个人出现在画面中,从出口区域离开实验室。

第三段记录的是一段时间的背景画面。

第四段记录的是刚刚离开的人重新出现在画面中,从出口区域回到实验室。

第五段记录的是一段时间的背景画面。

以上是用肉眼直观地对视频进行的分段,下面结合图6描述本方法对这段视频的处理过程和处理结果。

(一)对监控视频SL05_540P的每一帧使用并行计算的方式进行特征提取以及视频段划分。

首先,从监控视频SL05_540P的第一帧开始,第1帧作为视频分割起点帧,从前往后依次对每一帧使用并行方法进行特征提取,得到每一帧的特征点和特征数量,帧间相似度,平均帧间相似度。如图5所示,在第1帧到第593帧这个区间,计算得到的帧间相似度稳定在0.8左右,高于选取的视频内容突变的检测值δ,所以这些帧中没有疑似边界帧。当处理到第594帧时,发现第594帧与第593帧的帧间相似度不在稳定在0.8,而是在0.6左右,这低于选取的视频内容突变的检测值δ,此时可以确定视频画面在第594帧附近发生了较大变化,第594帧是一个边界疑似帧。

接着,按照本方法对第594帧之后的N帧(第595帧到第594+N帧)进行特征提取,得到这N帧的帧间相似度、平均帧间相似度通过比较和发现大于判别边界的检测值Δ,所以确定第594帧是边界帧。于是,第1帧到第594帧被分割出来,成为一个视频片段。

接着,第595帧作为新的视频分割起始帧s,继续对第595帧以后(包括第595帧)的视频帧进行处理。对第595帧进行处理时,发现第595帧与第594帧的帧间相似度也低于检测值δ,所以第595帧也是一个疑似边界帧。于是对其后第596帧到第595+N帧进行特征提取,并计算这N帧的帧间相似度、平均帧间相似度此时发现小于检测值Δ,所以判定第595帧不是边界帧。视频分割起始帧s不变,继续处理第596帧,发现第596帧的情况与第595帧相同,这种情况一直持续到第1156帧。从第595帧到第1156帧,这个区间内的每一帧与其前一帧的帧间相似度都很低,都是疑似边界帧,但经过对它们后面N帧的检测后,判断它们都不是边界帧。原因是,这个区间的画面中,有物体持续变换位置,这使得这些帧的帧间相似度都很低,所以它们是疑似边界帧;但由于这些帧都在描述一个人在画面中走动的事件,所以它们应当属于同一个视频段,所以经过判定,它们都不是真正的边界帧。

接着,当处理到第1157帧时,同样确定它是一个疑似边界帧。对其后面的N帧进行处理,发现大于检测值Δ,于是确定第1157帧是一个边界帧。于是第595帧至第1157帧被分割出来,成为一个视频片段。这是因为第1157帧之后的N帧中画面不在变化,所以的值远远高于

接着,第1158帧作为新的视频分割起始帧s,继续对第595帧以后(包括第595帧)的视频帧进行处理。

类似地,按照前面的处理过程和判断方法,可以得到以下结果:

第1158帧至第1469帧中每一帧对应的帧间相似度都较高,所以它们都不是疑似边界帧,更不是边界帧;

第1470帧对应的帧间相似度低于检测值δ,所以它是疑似边界帧,经过判定,它也是边界帧。所以第1158帧至第1470帧被分割成一个视频片段。

第1471帧至1649帧中每一帧对应的帧间相似度都低于检测值δ,所以它们都是疑似边界帧,但经过判定,它们都不是边界帧。

第1650帧对应的帧间相似度低于检测值δ,所以它是疑似边界帧,经过判定,它也是边界帧。所以第1471帧至第1650帧被分割成一个视频片段。

第1651帧至第1800帧中每一帧对应的帧间相似度都较高,所以它们都不是疑似边界帧,更不是边界帧;

第1801帧是视频SL05_540P的最后一帧,第1651帧至第1801帧被分割成一个视频片段。

经过以上处理,视频SL05_540P被分割成五个片段,分别如下;

第一段第1帧至第594帧,记录的是一段时间的背景画面。

第二段第595帧至第1157帧,记录的是一个人出现在画面中,从出口区域离开实验室。

第三段第1158帧至第1470帧,记录的是一段时间的背景画面。

第四段第1471帧至第1650帧,记录的是刚刚离开的人重新出现在画面中,从出口区域回到实验室。

第五段第1651帧至第1801帧,记录的是一段时间的背景画面。

以上结果,与用肉眼直观地对视频进行的分段完全吻合,这说明这方法在视频分割处理上是正确的。

(二)对第一部分得到的监控视频SL05_540P的每一个视频片段分别提取特征帧。

根据本方法的视频分割策略得到的视频段分为两种:一种是,由内容没有变化的背景画面构成的视频段,如本实施例的第一、三、五段;另一种是,由若干个活动构成的视频段,如第二、四段。

所以第一、三、五段的特征帧提取过程完全类似,而第二、四段视频的特征帧提取过程完全类似,此处以第四段视频的特征帧提取为例展开描述。

首先,从第四段视频(第1471至1650帧)的第一帧,即第1471帧开始,以第1471帧作为关键起点帧t,从前往后计算每一帧对应的特征点、特征点数量、与前一帧的帧间相似度,同时计算每一帧与关键起点帧的帧间相似度。

视频段中事物的活动(如位置变换等)将会画面内容的变化,随着时间的推移,画面变化程度加深,越靠后的视频帧与关键起点帧的帧间相似度就会越低。

所以,在对第1471帧之后的每一帧进行处理时,发现它们与关键起点帧(第1471帧)的帧间相似度逐渐降低,直到第1561帧时,它与关键起点帧的帧间相似度降为0,此时第1471至第1561帧作为一个小片段,在这个小片段中找到其中特征点数量最多的帧(第1471帧),则该帧即为这个小片段中的关键帧。

接着,从第1562帧开始,以第1562帧作为关键起点帧t,按照和前面相同的方法找到下一个小片段(第1562至第1632帧),找到其中的关键帧(第1600帧)。

接着,从第1633帧开始,以第1563帧作为关键起点帧t,按照和前面相同的方法确定下一个小片段。当处理到本段视频的最后一帧(第1650帧时)仍未找到与关键起点帧t的帧间相似度为零的帧,则此时将第1633至第1650帧作为一个小片段,找出其中的关键帧(第1645帧)。

经过以上处理,可以得到第四段视频的所有关键帧,它们分别是:第1471、1600、1645帧。

同样的方法处理第二段视频可以得到它的关键帧:第601、642、706、866、921、1037帧。

同样的方法处理第一、三、五段视频,每段视频均得到一个关键帧,分为是:第148、1158、1654帧。第一、三、五段视频都只得到一个关键帧的原因是:从第一部分的结果中可知,第一、三、五段视频段都记录的是一段时间的背景画面,整个视频段中,没有画面变化,所以每个视频段都是一个小片段,所以每个视频段都只能得到一个关键帧,而这一个关键帧足以描述整个视频段的信息。

通过以上对监控视频SL05_480P的所有处理,最终通过本方法,成功地从一段1801帧的监控视频中提取出12个关键帧,这12个关键帧如图7所示,将这12个关键帧及它们的特征点保存下来,最为监控视频SL05_480P的视频特征。

至此,本方法对监控视频SL05_480P的所有处理结束。

下面通过一个应用场景来介绍本方法的有益效果。

需求及背景:

1.现在有一张监控视频SL05_480P中出现的人物的肖像图,现需要查询所有与此人相关的视频。

2.有一个监控视频数据库,数据库中存储了大量监控视频,包括监控视频SL05_480P。

3.监控视频数据库中的所有视频都按照本方法进行了视频特征提取,并用这些视频特征作为各视频的索引。

传统解决方案:

在整个监控视频数据库中逐个匹配,直到找到所有与该人物相关的监控视频。

这种方案需要对大量的视频数据进行处理,效率十分低下。

基于本方法处理结果的解决方案:

首先,通过SIFT特征提取方法,提取肖像图中的特征点。

然后,将肖像图中的特征点与数据库中存储的各监控视频的索引的每一个关键帧的特征点进行匹配。

最后,按照一定的选择策略从数据库中选出与肖像图较为匹配的索引,找到这些索引对应的监控视频。这些找到的监控视频即为数据库中所有与肖像图中人物相关的监控视频。

这种方案只需处理数据库中存储的索引信息,计算量大大减少,效率十分可观。

通过以上两种方法的对比,可以充分体现出本方法的有益效果。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1