一种基于时空视觉词组和分层匹配的视频拷贝检测方法与流程

文档序号:23539678发布日期:2021-01-05 20:46阅读:103来源:国知局
一种基于时空视觉词组和分层匹配的视频拷贝检测方法与流程

本发明属于信息安全领域。



背景技术:

由于互联网技术和视频处理技术,尤其是目前新兴的基于人工智能的视频处理技术的发展,视频拷贝成本越来越低。为了防止视频内容被未经授权地非法使用和隐私侵犯,检测具有版权视频的非法拷贝版本已成为迫切的问题。因此,视频拷贝检测技术在信息安全领域起着非常重要的作用。

实际上,无论对原视频使用何种拷贝攻击方式,拷贝后的视频仍会保留有与原视频相同内容。通过设计合适的特征提取算法,可以提取视频内容的独一无二紧凑特征,并进行特征匹配,从而可以实现拷贝检测。在图像检索领域,通常使用传统词袋模型来描述图像,然后建立倒排索引结构实现快速检索。传统词袋模型通常从图像中提取一组局部特征,将高维特征向量量化为紧凑的视觉词,来描述图像内容。词袋模型能大大压缩图像局部特征向量,从而以更加紧凑的方式描述图像。倒排索引主要应用于多媒体搜索领域,可以实现对大规模数据的快速检索。类似于文本检索中基于关键词的倒排索引结构,图像检索方法通常将视觉词作为索引,建立倒排索引结构,可以在大规模图像数据库中进行快速检索。

类似于图像检索,现有的视频拷贝检测研究大多数都是基于传统的词袋模型,将视频帧看作图像,提取视觉词来描述视频内容。现有的视频拷贝检测方法仍然有以下几个技术难题:

1)对于一个视频片段,传统的词袋模型的视觉词只考虑其空间域特征而忽视了时间域特征,因此现有的视频拷贝检测方法检测精度不高。

2)现有的视频拷贝检测方法,对于视频的空间域特征和时间域特征单独进行处理,并没有建立统一的倒排索引结构,这导致占用内存空间大,检测效率不够理想,不适合在大规模数据集上应用。

3)现有的视频拷贝检测方法,对于视频之间特征匹配和相似度度量方式比较单一,没有充分考虑到空间域与时间域不同特征之间匹配结果和相似度计算,因而在视频相似度准确度量方面需要进一步提高。



技术实现要素:

发明目的:为解决背景技术中存在的问题,本发明提供过了一种基于时空视觉词组和分层匹配的视频拷贝检测方法。

技术方案:本发明提供过一种基于时空视觉词组和分层匹配的视频拷贝检测方法,具体包括如下步骤:

步骤1:以d帧为采样间隔,对视频库中的每个视频进行均匀采样,得到采样帧;

步骤2:在每一个采样帧中提取若干个surf特征;

步骤3:通过k-means聚类算法,将每个surf特征量化到相应的视觉词,从而得到第n个surf特征fn的空间视觉词ws(fn),n=1,2,3…,n;n为surf特征的总个数;

步骤4:针对视频库中的每一个视频的第k个采样帧,k=1,2,…l-1,当1≤k≤l-l时,检测该视频中的第k~第k+l个采样帧中相同的surf特征,并将相同的surf特征作为作为一组surf特征组,当l-l<k≤l-1时,则检测第k~l个采样帧中相同的surf特征;并将相同的surf特征作为作为一组surf特征组;对每一组surf特征组中的surf特征轨迹进行量化编码,从而的得到该组中surf特征对应的时间视觉词;其中1≤l<l,l为该视频中采样帧的总个数,所述相同的surf特征为具有相同空间视觉词的surf特征;

步骤5:将步骤4的每一组中的surf特征对应的空间视觉词和时间视觉词的集合作为该surf特征的时空视觉词组;

步骤6:根据视频库中所有的时空视觉词组,构建多级倒排索引结构;

步骤7:提取被查询视频的时空视觉词组,并基于多级倒排索引结构在视频库中查找与该被查询图像相互匹配的库视频,并计算被查询视频和每一个与被查询视频相互匹配的库视频之间的相似度。

进一步的,所述步骤4中相同特征的检测具体为:以第k个采样帧中第i个surf特征fi的位置p(fi)为中心,7.5×σ(fi)为半径,当1≤k≤l-l时,在第k+1~k+l采样帧中均设置寻找区域,当l-l<k≤l-1时,在第k+1~l个采样帧中均设置寻找区域,其中σ(fi)为fi的尺度,i=1,2,…,i,i为第k个采样帧中surf特征的总个数,判断每一个区域内是否均存在与fi的空间视觉词ws(fi)相同的surf特征,若否,则停止对第i个surf特征进行时间视觉词的提取,并继续检测第k个采样帧中的下一个surf特征;否则,若某一个区域内存在多个与ws(fi)相同的surf特征,则计算这些多个surf特征中每个surf特征的主方向与fi的主方向的差值,以及每个surf特征的尺度与fi的尺度的差值,并计算两个差值之和,选择差值之和最小的surf特征作为该区域中与特征fi相同的特征。

进一步的,所述步骤4中对每一组surf特征组中的surf特征的进行轨迹进行量化编码具体为:

步骤4.1:基于第k~第k+l个或第k~l个采样帧,针对任意一组surf特征组中相同的surf特征fm,根据该fm在第k个采样帧中的位置p(fm)=(xm,ym)和在i`个采样帧中的位置得到它们在横向和纵向上的差值δxl′,δyl′;当1≤k≤l-l时,l′=k+1,k+2,…,k+l;当l-l<k≤l-1时,l′=k+1,k+2,…,l;其中(xm,ym)为fm在第k个采样帧中的坐标,为fm在第i`个采样帧中的坐标;

其中,abs(*)表示取绝对值;

步骤4.2:对差值δxl′和δyl′进行量化得到量化后的值q(δxl′)和q(δyl′)

其中,表示向上取整,s1和s2为量化参数,h为第k个采样帧的高度,1≤q(δxl′)≤s1,1≤q(δyl′)≤s2;

步骤4.3:特征fm在第l′采样帧中的时间视觉词为:

若1≤k≤l-l,则该组中surf特征fm的时间视觉词为若l-l<k≤l-1,则该组中surf特征fm的时间视觉词为

进一步的,所述步骤6具体为:该索引结构共有l+2层,第1层为所有的空间视觉词,第2~l+1层依次设置surf特征fm在第k+1~k+l或第k+1~l采样帧中的时间视觉词,第l+2层为第l+1层中每个时间视觉词对应的视屏id。

进一步的,所述步骤7为:

步骤7.1:查询倒排索引的第1层,在视频库中查找与被查询视频q存在相同空间视觉词的库视频,记录这些库视频的个数为r,计算被查询视频q与r个库视频中的第r个库视频的相似度sim1(q,r),r=1,2,…,r;

sim1(q,r)=nc(ws)/max[nq(ws),nr(ws)]

其中nc(ws)表示被查询视频q与第r个库视频之间相同的空间视觉词的总个数,nq(ws)表示所有相同的空间视觉词在被查询视频q中出现的总次数,nr(ws)表示所有相同的空间视觉词在第r个库视频中出现的总次数;

步骤7.2:查询倒排索引的第d层,d=2,3,…,l+1,判断被查询视频q与第r个库视频之间是否存在相同的时间视觉词,若是,则计算被查询视频q与第r个库视频在第d层的相似度simd(q,r)为:

其中,yd表示第d层,为第d层倒排索引结构中的时间视觉词,为第1层空间视觉词与第2层~d层中的时间视觉词组成的时空视觉词组,表示在第1~d层中,被查询视频q与第r个库视频之间相同的时空视词组的总个数,为所有相同的时空视词组在被查询视频q中出现的总次数,为所有相同的时空视词组在第r个库视频中出现的总次数;

若否,则停止计算被查询视频q与第r个库视频的相似度,对下一个库视频进行计算;

步骤7.3:若在第l+1层倒排索引层中,被查询视频q与第r个库视频之间仍然有相同的时间视觉词,则计算被查询视频q与第r个库视频的最终相似度sim(q,r)为:

sim(q,r)=∑(ω1×sim1(q,r)+ω2×sim2(q,r)+…+ωl+1×siml+l(q,r))

其中ω1,ω2,ωl+1均为系数,siml+1(q,r)表示被查询视频q与第r个库视频在第l+1层的相似度。

有益效果:

(1)本发明设计的一种基于时空视觉词组和分层匹配的视频拷贝检测方法。不同于现有的图像和视频检索方法,该方法不仅利用传统词袋模型提取视频帧的空间视觉词,并且考虑视频帧之间相同特征的运动轨迹,从而提取时间视觉词。通过联合空间视觉词和时间视觉词构造时空视觉词组,从而能更加准确地表达视频内容。

(2)本发明设计的一种基于时空视觉词组和分层匹配的视频拷贝检测方法,根据生成的时空视觉词组,构建多级倒排索引,能同时支持粗粒度和细粒度的特征分层匹配,从而大大提高特征匹配的精确度,并保证较高的匹配效率。

(3)本发明设计的一种基于时空视觉词组和分层匹配的视频拷贝检测方法,充分考虑到粗粒度和细粒度的多层次特征匹配和这些特征匹配结果的相似度度量,并对特征相似度融合计算得到最终视频相似度,能更加准确度量视频之间的相似度。

附图说明

图1为本发明的总体框架示意图;

图2为本发明的时间视觉词生成示意图;

图3为本发明的多级倒排索引结构示意图。

具体实施方式

构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

如图1所示,本实施例提供了一种基于时空视觉词组和分层匹配的视频拷贝检测方法,具体为:

步骤1:对视频库中的每个视频以间隔d帧进行均匀采样,得到采样后的视频帧。以下步骤均针对采样视频帧进行处理。为了平衡检测精确度和存储空间占用,在本发明中,设置采样间隔d=2。

步骤2:对每个采样帧当作图像,从中提取上百个surf特征。其中,每个surf特征fn包含1个64维度特征向量v(fn)和3个特征值:位置p(fn)、方向θ(fn)以及尺度σ(fn)。

步骤3:对上述提取的surf特征,使用k-means聚类算法进行聚类,聚类中心数目设定为k,则得到k个聚类中心。将这k个聚类中心看作空间视觉词,这些视觉词的集合称作空间视觉词典其中ws(i)表示第i个聚类中心的空间视觉词。每个surf特征都可以使用与其距离最近的空间视觉词来量化表示。最终,将库视频每个surf特征量化到相应的视觉词,从而得到空间视觉词ws(fn)。由于较大的聚类中心数目k将导致k-means聚类时庞大的计算消耗,而较小的k会导致视觉词生成时的量化损失过大。考虑以上因素,本发明将k设为200000。该设置可以在聚类计算量和量化损失之间较好的平衡。

步骤4:针对当前视频帧及之后的若干个相邻帧,检测相同surf特征的运动轨迹,并进行量化编码,从而得到时间视觉词,具体为:针对视频库中的每一个视频的第k帧采样帧,k=1,2,…l-1,当1≤k≤l-l时,检测该视频中的第k~第k+l个采样帧中相同的surf特征,并将相同的surf特征作为作为一组surf特征组,当l-l<k≤l-1时,则检测第k~l个采样帧中相同的surf特征;并将相同的surf特征作为作为一组surf特征组;对每一组surf特征组中的surf特征进行轨迹进行量化编码,从而的得到该组中surf特征对应的时间视觉词;其中1≤l<l,l为该视频中采样帧的总个数,所述相同的surf特征为具有相同视觉词的surf特征;本实施例中l=2

步骤5:将步骤4的每一组中的surf特征对应的空间视觉词和时间视觉词的集合作为该surf特征的时空视觉词组;

步骤6:根据视频库中所有的时空视觉词组,构建多级倒排索引结构;

步骤8:在线检测阶段,提取被查询视频的时空视觉词组,并基于多级倒排索引结构在视频库中查找与该被查询图像相互匹配的库视频,并计算被查询视频和每一个与被查询视频相互匹配的库视频之间的相似度。

优选的,所述步骤4中对每一个surf特征组中的surf特征的进行轨迹进行量化编码具体为:将一个任意给定的采样帧作为当前帧,针对当前帧中surf征点fi,遍历当前帧之后的l个相邻帧寻找与fi相同的surf特征。具体做法为:对于当前帧的surf特征fi(其空间视觉词和所在位置分别表示为w(fi)和p(fi)),在其后l个相邻帧的每帧中,以p(fn)为中心和7.5×σ(fi)为半径的区域内查找是否有空间视觉词同为w(fi)的surf特征,其中σ(fi)为fi的尺度,这样的surf特征可以看作相同的surf特征。如果没有这样的特征,将跳过时间视觉词提取步骤,对当前帧中下一个surf征点进行提取;如果有一个区域内有多个这样特征,则计算这些多个surf特征中每个surf特征的主方向与fi的主方向的差值,以及每个surf特征的尺度与fi的尺度的差值,并计算两个差值之和,选择差值之和最小的surf特征作为与该区域中与特征fi相同的特征,只保留差值和最小的surf特征。最后,统计保留下来的surf特征在l个相邻帧的位置,表示为{p1(fi),p2(fi)}。

优选的,如图2所示,所述步骤4中对每一个surf特征组中的surf特征的进行轨迹进行量化编码具体为:

步骤4-1:基于第k~第k+l个或第k~l个采样帧,针对任意一组surf特征组中相同的surf特征fm据该fm在第k个采样帧中的位置p(fm)=(xm,ym)和在第i`个采样帧中的位置计算出它们之间的运动位移信息。然后通过对位移信息进行量化编码,可以得到时间视觉词,如图2所示,计算它们在横向和纵向上的差值δxl′,δyl′;当1≤k≤l-l时,l′=k+1,k+2,…,k+l;当l-l<k≤l-1时,l′=k+1,k+2,…,l,其中(xm,ym)为fm在第k个采样帧中的坐标,为fm在第i`个采样帧中的坐标;

其中,abs(*)表示取绝对值;由于视频帧内surf特征的位置的横坐标和纵坐标分别不超过视频帧的宽度和高度,那么0≤δx≤w和0≤δy≤h,w和h分别是视频帧的宽度和高度。

步骤4-2:对差值δxl′和δyl′进行量化得到量化后的值q(δxl′)和q(δyl′)

其中,表示向上取整;s1和s2是量化参数,它的值越大,量化精度越高;由于0≤δxl≤w和0≤δyl≤h,那么1≤q(δxl′)≤s1,1≤q(δyl′)≤s2本实施例中s1=10,s2=3。

步骤4-2:针对surf特征fm在当前帧和每个相邻采样帧位置,参考以上步骤,计算他们的横坐标和纵坐标差值并量化,得到一系列量化值对,表示为或者不同于空间视觉词生成方式,我们直接将不同的量化值对串联起来生成若干个时间视觉词。

具体来说,根据生成的量化值对,将第l′个量化值对串联起来,可以得到第l′采样帧中的时间视觉词为,表示为:

则若1≤k≤l-l,该组中surf特征fm的时间视觉词为若l-l<k≤l-1,该组中surf特征fm的时间视觉词为此外由于1≤q(δxl′)≤s1,1≤q(δyl′)≤s2,s1=10,s2=3,那么每个视觉词的取值范围为[1,30]。

优选的,步骤5为,结合surf特征fm将其空间视觉词ws(fm)与时间视觉词组和,得到时空视觉词组或者组

优选的,步骤6为该索引结构共有l+2层,第1层为所有的空间视觉词,第2~l+1层依次设置surf特征fm对应第k+1~k+l或第k+1~l采样帧中的时间视觉词,第l+2层为第l+1层中每个时间视觉词对应的视屏id;具体的如图3所示,本实施例中l=2,则该索引结构总共有4层,第1层为空间视觉词ws,当1<k≤l-2时,第k帧采样帧与与其向后相邻的l个采样帧组成的相同surf特征组,第2层为该组特征组中surf特征在第k+1采样帧中的时间视觉词第3层为该组特征组中surf特征在第k+2采样帧中时间视觉词当l-2<k≤l-1时,第k采样帧与第l采样帧组成的相同surf特征组,该组中的surf特征的在第l采样帧中时间视觉词只放在第2层;第4层是时空视觉词组为的特征所在视频id。

优选的,在线检测阶段,对给定的查询视频提取时空视觉词组,然后对多级倒排索引中的第1层到第l+1层每层的视觉词进行分层匹配,计算分层匹配相似度,最后使用相似度融合计算的方式得到最终相似度;具体做法如下:

步骤7-1:查询倒排索引的第一层,在视频库中查找与被查询视频q存在相同空间视觉词的库视频,记录这些库视频的个数为r个,计算被查询视频q与r个库视频中的第r个库视频的相似度sim1(q,r),r=1,2,…,r;

sim1(q,r)=nc(ws)/max[nq(ws),nr(ws)]

其中nc(ws)表示被查询视频q与第r个库视频之间相同的空间视觉词的总个数,nq(ws)表示所有相同的空间视觉词在被查询视频q中出现的总次数,nr(ws)表示所有相同的空间视觉词在第r个库视频中出现的总次数;

步骤7-2:查询倒排索引的第d层,d=2,3,…,l+1统计被查询视频q与r个库视频中的第r个库视频是否存在相同的时间视觉词,若是,则基于第d层,被查询视频q与第r个库视频的相似度simd(q,r)为:

其中,yd表示第d层,为第d层倒排索引结构中的时间视觉词,为第一层空间视觉词与第2层~d层中的时间视觉词组成的时空视觉词组,定示在第1~d层中,被查询视频q与第r个库视频之间相同的时空视词组的总个数,为所有相同的时空视词组在被查询视频q中出现的总次数,为所有相同的时空视词组在第r个库视频中出现的总次数。

若否,则停止计算被查询视频q与第r个库视频的相似度,对下一个库视频进行计算;

步骤7-3:若在第l+1层倒排索引层中,被查询视频q与第r个库视频之间仍然有相同的时间视觉词,则与第r个库视频为候选库视频,则计算被查询视频q与第r个库视频的最终相似度sim(q,r)为:

sim(q,t)=∑(ω1×sim1(q,r)+ω2×sim2(q,r)+…+ωl+1×siml+1(q,r))

其中ω1,ω2,ωl+1均为系数,siml+1(q,r)表示基于第l+1层倒排索,被查询视频q与第r个库视频之间的相似度。本实施例中l=2,则sim(q,r):

sim(q,r)=∑(ω1×sim1(q,r)+ω2×sim2(q,r)+ω3×sim2(q,r))

其中,ω1=0.8,ω2=0.1,ω3=0.1。

步骤7-4:将查询视频与所有候选库视频之间的相似度进行降序排序,作为拷贝检测结果。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

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