本发明属于视频质量检测技术领域,具体涉及一种基于tsn网络的视频画面抖动检测方法。
背景技术:
随着平安城市,大安防的快速发展,监控系统在各个领域得到广泛应用,而监控系统所传输的视频质量是影响其是否能发挥作用的重要因素,因此如何高效率的去维护监控系统是视频监控领域急迫需要解决的的问题。视频画面抖动是监控系统中经常出现的一种故障,所谓视频画面抖动通常是由于摄像头固定不牢固或者其它外力以及人为的作用造成视频画面出现规律性的上下、左右、或上下左右的抖动,影响视觉效果。目前常用的视频画面抖动的检测方法都是基于传统的方法,而其中使用较多的就是灰度投影法和光流法,灰度投影法其实是一种对图像分布特征进行简化提取的一种操作,以二维图像的像素行和列为单位,将图像特征转化为沿行、列坐标的曲线,从而更容易对图像分布特征进行计算,但其只适用于固定场景及简单条件下视频抖动检测且准确性相对较差;而光流法就是首先提取视频的特征点,然后利用光流算法对特征点进行跟踪,故光流非常依赖于特征点的检测好坏,如果当前环境没有办法找到比较多的角点,那估算出的位移就会比较不正确,如果想要获得比较好的效果则计算量比较大,并且光流对实际环境中移动的物体非常容易产生错误的估计,鲁棒性较差,且其不适用长时间范围和复杂环境下的视频抖动检测。
现有的一些技术基本都是基于传统的方法,但传统算法的泛化效果一般都比较差,通常是一套阈值或者一套规则只适用于特定的场景,改变场景时算法的准确率会受下降甚至失效。但应用场景和环境是千变万化的,这对传统算法来说实现起来会大大增加难度。例如江爱文等提出一种基于前-后向光流点匹配运动熵的视频抖动检测算法,该算法首先采用orb(orientedfastandrotatedbrief)算法提取视频的特征点,然后利用前向-后向光流算法对特征点进行跟踪,该算法具有很强的实时处理能力,但其存在两个问题:①光流算法对光照变化敏感且不适用于长时间跟踪,算法不适用于复杂环境下的视频抖动检测;②只判断视频是否存在抖动,不能输出抖动产生的帧序号。
技术实现要素:
为了解决现有技术中存在的技术缺陷,本发明提出了一种基于tsn网络的视频画面抖动检测方法。
本发明通过以下技术方案实现:
一种基于tsn网络的视频画面抖动检测方法,其包括步骤:
1)基于tsn网络结构,利用tvl1光流算法提取正常光流场和扭曲光流场;
2)将所述正常光流场和扭曲光流场输入到tsn网络中;
3)通过tsn网络判断视频是否抖动,并输出抖动的帧号。
进一步地,所述tsn网络由空间流卷积网络和时间流卷积网络构成。
进一步地,将所述正常光流场和扭曲光流场作为输入,用于捕获运动信息,当实时拍摄的视频中移动物体过多时,通过所述扭曲光流场抑制物体运动,使其专注于视频中的背景运动。
进一步地,在所述步骤3)中,所述tsn网络判断包括:给定一段视频v,将v按相等间隔分为k段{s1,s2,...,sk}之后,tsn网络按如下方式对一系列片段建模:
tsn(t1,t2,...,tk)=h(g(f(t1;w),f(t2;w),...,f(tk;w)))
其中:(t1,t2,...,tk)代表片段序列,每个片段tk从其对应的段sk中随机采样得到;f(tk;w)函数代表采用w作为参数的卷积网络作用于片段tk,该函数返回tk相对于抖动类别的得分;g()为段共识函数;h()为概率预测函数。
进一步地,段共识函数g()结合多个片段的类别得分输出以获得关于类别假设的共识,基于该假设的共识,概率预测函数h()预测整段视频属于抖动类别的概率;结合标准分类交叉熵损失,关于部分共识的最终损失函数的形式为:
其中,c是行为总类别数;yi是类别i的groundtruth,gi为采用聚合函数g从所有片段中相同类别的得分中推断出的抖动类别分数。
优选的,c=1,即抖动一种类别。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现基于tsn网络的视频画面抖动检测方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现基于tsn网络的视频画面抖动检测方法的步骤。
与现有技术相比,本发明至少具有下述的有益效果或优点:基于tsn网络的视频抖动检测,可以克服传统算法不能适应环境变化和长时间范围的视频检测,还可以在减少计算量大小的同时保持非常高的检测性能;tsn网络中提出的扭曲光流能够抑制视频中人物或其他事物运动的干扰,从而进一步使得检测抖动更加精准。本方案使用tsn网络去检测视频抖动,充分的利用了tsn网络的优点,不仅能适应任何场景下的环境变化,还能实时检测长时间范围的视频,且能抑制视频中其他物体运动的干扰,抗干扰能力强;在应对不同场景的变换的同时,同样可以达到很好的检测效果。
附图说明
以下将结合附图对本发明做进一步详细说明;
图1为本发明的tsn网络结构结构图;
图2为本发明的视频抖动检测流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种基于tsn网络的视频画面抖动检测方法,在一个实施例中,利用行人识别原理去检测视频是否发生抖动,所谓行为识别就是从一个未知的视频或者是图像序列中自动分析其中正在进行的行为。简单的行为识别即动作分类,给定一段视频,只需将其正确分类到已知的几个动作类别,复杂点的识别是视频中不仅仅只包含一个动作类别,而是有多个,系统需自动的识别出动作的类别以及动作的起始时刻,而视频抖动从直观的角度看也是一种动作行为。故可用行为识别的原理来检测视频抖动,其中tsn是目前行为识别中精度较高的算法,它是由空间流卷积网络和时间流卷积网络构成,首先将一个输入视频分为k段,一个片段从他对应的随机采样得到,不同片段的类别得分采用共识函数进行融合来产生段共识,然后对所有模式的预测融合产生最终的预测结果;能够从整个视频中学习模型参数而不是一个短的片段,采用稀疏时间采样策略,其中采样片段只包含一小部分帧,这种方法大大降低了计算开销,tsn的网络结构图如图1所示。
本方案是基于训练tsn网络来使得其学习到视频抖动特征从而检测画面是否抖动。其具体实施步骤如下:根据tsn的网络结构,首先利用tvl1光流算法(tvl1光流算法即假定连续两帧图像i0和i1,x=(x,y)是i0上一个像素点,则其光流模型的能量函数为:
tsn(t1,t2,...,tk)=h(g(f(t1;w),f(t2;w),...,f(tk;w)))
其中:(t1,t2,...,tk)代表片段序列,每个片段tk从它对应的段sk中随机采样得到;f(tk;w)函数代表采用w作为参数的卷积网络作用于短片段tk,函数返回tk相对于抖动类别的得分;段共识函数g结合多个短片段的类别得分输出以获得关于类别假设的共识,基于这个共识,预测函数h预测整段视频属于抖动类别的概率;结合标准分类交叉熵损失,关于部分共识的最终损失函数g的形式为:
其中,c是行为总类别数,在这里为1,只有抖动一种类别,yi是类别i的groundtruth(标定的真实数据),采用聚合函数g从所有片段中相同类别的得分中推断出抖动类别分数gi,聚合函数g采用均匀平均法来表示最终识别精度。其具体流程如图2所示。
另一实施例中,提供一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现基于tsn网络的视频画面抖动检测方法的步骤。
另一实施例中,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中所述处理器执行所述程序时实现基于tsn网络的视频画面抖动检测方法的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围。在不脱离本发明之精神和范围内,所做的任何修改、等同替换、改进等,同样属于本发明的保护范围之内。