一种基于运动矢量和CNN的视频去模糊方法与流程

文档序号:18400679发布日期:2019-08-09 23:51阅读:239来源:国知局
一种基于运动矢量和CNN的视频去模糊方法与流程

本发明涉及视频模糊技术领域,尤其涉及一种基于运动矢量和cnn的视频去模糊方法。



背景技术:

人们获取的大部分信息是通过人眼视觉系统观察到的,而图像和视频作为主要的视觉信息,逐渐成为了生活中信息传递的主要方式之一,使得人们之间的信息交流方式变得丰富起来,并不仅限于语言和文字交流。而且,在很多领域都需要用到图像和视频,比如医学图像有助于了解病人的病情;遥感图像有助于监测环境的变化;视频监控广泛应用于交通路口、火车站、校园等,保证了城市的安全。但是视频在拍摄和传输的过程中都可能会引入不同类型的失真,造成质量下降,这很有可能会造成损失,视频的质量也因此成为了不可忽视的问题。

模糊失真是造成视频质量下降的主要因素,因此,展开视频去模糊算法的有关研究具有非常重要的理论和实际意义。目前,已有的视频去模糊算法可以分为两大类:基于几何的方法和基于深度学习的方法。几何的方法可以理解为传统的块搜索的方法。因为当前视频帧中模糊的区域在其前后视频帧中可能是清晰的,可以用清晰的部分去代替模糊的部分,所以算法的主要任务就是在视频中搜索目标清晰块的过程。因为相邻的视频帧之间的相似度很高,所以常用的方法都是从模糊视频帧的前后帧中进行搜索。cnn作为近些年被广泛使用的深度学习算法,在视频去模糊领域也取得了很好的效果。

如公开号为cn106447621a的专利公开了一种基于模糊连接原则的视频图像去噪方法及装置,该方法包括:获取视频图像信号,提取视频图像信号的第一帧图像;根据预设的模糊连接拓补图和第一帧图像,计算获得模糊连接拓补图的连接参数;其中,模糊连接拓补图由第一子系统、第二子系统、若干个放大器和三者之间的模糊连接关系组成;模糊连接关系包括:串联、并联和反馈;根据连接参数和模糊连接拓补图,对视频图像信号进行去噪,获得去噪后的视频图像。采用本发明实施例,能实现高频信号噪声的滤除,适应性和鲁棒性强。虽然其可以对视频进行去噪,但是对于视屏的修复是整个视频文件,并不能对视频帧中的模糊部分进行修复。



技术实现要素:

本发明的目的是针对现有技术的缺陷,提供了一种基于运动矢量和cnn的视频去模糊方法。首先,定位视频中的模糊图像块;其次,用运动矢量找到模糊图像块在相邻参考帧中对应的清晰图像块;接着,通过设计的目标函数进行筛选,找到最优清晰图像块;最后,将模糊图像块和最优清晰图像块输入到cnn中,得到视频中模糊图像块的修复结果,用修复结果替换模糊图像块,实现整个视频去模糊的效果。

为了实现以上目的,本发明采用以下技术方案:

一种基于运动矢量和cnn的视频去模糊方法,包括步骤:

s1.将待修复视频的所有视频帧分块处理,产生数个图像块;

s2.将所述视频帧的数个图像块进行模糊检测,得到待修复的模糊图像块;

s3.查找与所述待修复的模糊图像块的相邻帧所对应的清晰图像块;

s4.将所述待修复的模糊图像块与所述清晰图像块输入到cnn去模糊网络中;

s5.所述cnn去模糊网络产生去模糊结果;

s6.完成待修复视频的去模糊。

进一步的,所述步骤s4之前还包括步骤:

查找所述相邻帧所对应的清晰图像块的最优清晰图像块。

进一步的,所述步骤s5具体包括:

所述cnn去模糊网络产生去模糊结果,所述去模糊结果为待修复模糊图像块的修复结果。

进一步的,所述步骤s6具体包括:

将所述产生的修复结果与所述待修复的模糊图像块替换,产生清晰的视频。

进一步的,所述步骤s1具体包括:

将待修复视频的每一个视频帧分块处理;

将待修复的视频用fi表示,其中i表示视频帧索引数;

将每一个视频帧分块处理生成数个图像块,其中图像块用bk表示。

进一步的,所述步骤s2具体包括:

将所述视频帧的数个图像块模糊检测,

sk=blur(bk),

其中,sk表示图像块bk的模糊分数。

进一步的,步骤s3中查找与所述待修复的模糊图像块的相邻帧所对应的清晰图像块是通过运动矢量查找的。

进一步的,查找所述相邻帧所对应的清晰图像块的最优图像块是通过目标函数查找的,所述目标函数为以下公式:

f=w1·ssim(p,q)+w2·psnr(p,q);

其中,p为模糊图像块,q为清晰图像块,ssim()函数是计算模糊图像块p和清晰图像块q之间的相似度,psnr()函数是计算模糊图像块p和清晰图像块q之间的清晰度。w1表示相似度的权重,w2表示清晰度的权重。

进一步的,所述步骤s4具体包括将所述待修复的模糊图像块与所述查找到的最优清晰图像块输入到cnn去模糊网络中。

与现有技术相比,本发明实现了高效视频模糊修复的效果,使用运动矢量进行视频中清晰图像块的搜索,相比于传统的特征点匹配和几何约束,运动矢量具有更小的时间复杂度,不同于整个视频帧都进行去模糊,只对视频帧中的模糊部分进行修复;此外,本发明还利用cnn在计算机视觉处理方面的优势,得到清晰的视频修复结果。

附图说明

图1是实施例一提供的一种基于运动矢量和cnn的视频去模糊方法流程图;

图2是实施例二提供的一种基于运动矢量和cnn的视频去模糊方法流程图;

图3是实施例一、二提供的通过运动矢量找到的候选块图;

图4是实施例二提供的通过目标函数找到的最优候选块图;

图5是实施例一、二提供的cnn去模糊网络结构图;

图6是实施例一、二提供的模糊图像块的修复结果图;

图7是实施例一、二提供的视频帧的修复结果图;

图8是实施例二提供的一种基于运动矢量和cnn的视频去模糊方法流程图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

本发明的目的是针对现有技术的缺陷,提供了一种基于运动矢量和cnn的视频去模糊方法。首先,定位视频中的模糊图像块;其次,用运动矢量找到模糊图像块在相邻参考帧中对应的清晰图像块;接着,通过设计的目标函数进行筛选,找到最优清晰图像块;最后,将模糊图像块和最优清晰图像块输入到cnn中,得到视频中模糊图像块的修复结果,用修复结果替换模糊图像块,实现整个视频去模糊的效果。

实施例一

本实施例提供一种基于运动矢量和cnn的视频去模糊方法,如图1所示,包括步骤:

s11.将待修复视频的所有视频帧分块处理,产生数个图像块;

s12.将所述视频帧的数个图像块进行模糊检测,得到待修复的模糊图像块;

s13.查找与所述待修复的模糊图像块的相邻帧所对应的清晰图像块;

s14.将所述待修复的模糊图像块与所述清晰图像块输入到cnn去模糊网络中;

s15.所述cnn去模糊网络产生去模糊结果;

s16.完成待修复视频的去模糊。

在步骤s11中,将待修复视频的所有视频帧分块处理,产生数个图像块。

具体为,将待修复视频的每一个视频帧分块处理,其中,块的大小用p×p表示;

将待修复的视频用fi表示,其中i表示视频帧索引数,则第i帧表示为fi;

将每一个视频帧分块处理生成数个图像块,其中图像块用bk表示,k=(1,2,3……n),其中n表示待修复视频fi中图像块bk的总个数,图像块的大小用p×p表示。在本实施例中,p=128。

需要说明的是,在实际应用中p的取值不仅限于本实施例所设定的值,而是根据实际情况设置。

在步骤s12中,将所述视频帧的数个图像块进行模糊检测,得到待修复的模糊图像块。

具体为,将所述视频帧的数个图像块模糊检测,

sk=blur(bk),

其中,sk表示图像块bk的模糊分数。

在本实施例中,预设一阈值用来判断图像块bk是否清晰,则当sk大于一阈值时,所述图像块bk为清晰图像块;当sk小于一阈值时,所述图像块bk为模糊图像块,则得到的模糊图像块便是待修复的图像块。

在本实施例中,设定的阈值为15,则当sk>15时,所述图像块bk为清晰图像块,则不需要修复;当sk<15时,所述图像块bk为模糊图像块,则需要进行修复。

在本实施例中,blur()函数为模糊检测的方法,具体参见公开号为cn108510496a的专利所提供的基于图像dct域的svd分解的模糊检测方法,该专利为我们之前所申请的专利。

在步骤s13中,查找与所述待修复的模糊图像块的相邻帧所对应的清晰图像块。

其中,查找与所述待修复的模糊图像块的相邻帧所对应的清晰图像块是通过运动矢量查找的。

具体为,通过运动矢量查找待修复的模糊图像块在其相邻帧(即参考帧)中所对应的清晰图像块,将查找到的清晰图像块称为候选块。

在本实施例中,选取的相邻帧(即参考帧)为当前模糊图像块所对应帧(即当前帧)的前两帧和后两帧。如当前帧fi的前两帧为fi-2、fi-1;后两帧为fi+1、fi+2。如图3所示。

在步骤s14中,将所述待修复的模糊图像块与所述清晰图像块输入到cnn去模糊网络中。

在本实施例中,是通过编码器将待修复的模糊图像块与所述清晰图像块输入到cnn去模糊网络中。

当把模糊图像与清晰图像输入到时空递归cnn去模糊网络中后,cnn去模糊网络执行去模糊操作。

时空递归cnn去模糊网络是机器学习中的一个网络,其是将图像模型添加到深度网络中学习以形成时空递归cnn去模糊网络。当把模糊图像与清晰图像输入到时空递归cnn去模糊网络中后,cnn去模糊网络自动执行去模糊操作。

其中,cnn去模糊网络结构如图5所示。

在步骤s15中,所述cnn去模糊网络产生去模糊结果。

在本实施例中,是通过解码器将cnn去模糊网络的结果输出的,将输出的去模糊结果作为待修复模糊图像块的修复结果。

其中,修复结果如图6所示。

在步骤s16中,完成待修复视频的去模糊,实现整个视频的去模糊。

在本实施例中,将所述产生的修复结果与所述待修复的模糊图像块替换,产生清晰的视频,实现整个视频的去模糊。

其中,视频帧的修复结果如图7所示。

本发明实现了高效视频模糊修复的效果,使用运动矢量进行视频中清晰图像块的搜索,相比于传统的特征点匹配和几何约束,运动矢量具有更小的时间复杂度,不同于整个视频帧都进行去模糊,只对视频帧中的模糊部分进行修复;此外,本发明还利用cnn在计算机视觉处理方面的优势,得到清晰的视频修复结果。

实施例二

本实施例提供一种基于运动矢量和cnn的视频去模糊方法,如图2所示,包括步骤:

s11.将待修复视频的所有视频帧分块处理,产生数个图像块;

s12.将所述视频帧的数个图像块进行模糊检测,得到待修复的模糊图像块;

s13.查找与所述待修复的模糊图像块的相邻帧所对应的清晰图像块;

s131.查找所述相邻帧所对应的清晰图像块的最优清晰图像块。

s14.将所述待修复的模糊图像块与所述最优清晰图像块输入到cnn去模糊网络中;

s15.所述cnn去模糊网络产生去模糊结果;

s16.完成待修复视频的去模糊。

具体流程如图8所示。

在步骤s11中,将待修复视频的所有视频帧分块处理,产生数个图像块。

具体为,将待修复视频的每一个视频帧分块处理,其中,块的大小用p×p表示;

将待修复的视频用fi表示,其中i表示视频帧索引数,则第i帧表示为fi;

将每一个视频帧分块处理生成数个图像块,其中图像块用bk表示,k=(1,2,3……n),其中n表示待修复视频fi中图像块bk的总个数,图像块的大小用p×p表示。在本实施例中,p=128。

需要说明的是,在实际应用中p的取值不仅限于本实施例所设定的值,而是根据实际情况设置。

在步骤s12中,将所述视频帧的数个图像块进行模糊检测,得到待修复的模糊图像块。

具体为,将所述视频帧的数个图像块模糊检测,

sk=blur(bk),

其中,sk表示图像块bk的模糊分数。

在本实施例中,预设一阈值用来判断图像块bk是否清晰,则当sk大于一阈值时,所述图像块bk为清晰图像块;当sk小于一阈值时,所述图像块bk为模糊图像块,则得到的模糊图像块便是待修复的图像块。

在本实施例中,设定的阈值为15,则当sk>15时,所述图像块bk为清晰图像块,则不需要修复;当sk<15时,所述图像块bk为模糊图像块,则需要进行修复。

在本实施例中,blur()函数为模糊检测的方法,具体参见公开号为cn108510496a的专利所提供的基于图像dct域的svd分解的模糊检测方法,该专利为我们之前所申请的专利。

在步骤s13中,查找与所述待修复的模糊图像块的相邻帧所对应的清晰图像块。

其中,查找与所述待修复的模糊图像块的相邻帧所对应的清晰图像块是通过运动矢量查找的。

具体为,通过运动矢量查找待修复的模糊图像块在其相邻帧(即参考帧)中所对应的清晰图像块,将查找到的清晰图像块称为候选块。

在本实施例中,选取的相邻帧(即参考帧)为当前模糊图像块所对应帧(即当前帧)的前两帧和后两帧。如当前帧fi的前两帧为fi-2、fi-1;后两帧为fi+1、fi+2。如图3所示。

在步骤s131中,查找所述相邻帧所对应的清晰图像块的最优清晰图像块。

由于运动矢量存在一定的误差,如图3所示为通过运动矢量找到的候选块。为了找到与模糊图像块相似并且清晰的最优候选块,扩大在参考帧中的搜索范围。以运动矢量找到的候选块为中心,上下左右四个方向都扩大5个像素,搜索框的大小也就是138×138。用设计的目标函数在每个参考帧中找一个最优候选块,目标函数的公式如下:

f=w1·ssim(p,q)+w2·psnr(p,q);

其中,p为模糊图像块,q为清晰图像块,ssim()函数是计算模糊图像块p和清晰图像块q之间的相似度,psnr()函数是计算模糊图像块p和清晰图像块q之间的清晰度。w1表示相似度的权重,w2表示清晰度的权重。

在本实施例中,设置w1=0.6,w2=0.4,找到的最优候选块如图4所示。

需要说明的是,在实际应用中w1、w2的取值不仅限于本实施例所设定的值,而是根据实际情况设置。

在步骤s14中,将所述待修复的模糊图像块与所述最优清晰图像块输入到cnn去模糊网络中。

在本实施例中,是通过编码器将待修复的模糊图像块与所述最优清晰图像块(最优候选块)输入到cnn去模糊网络中。

当把模糊图像与最优候选块输入到时空递归cnn去模糊网络中后,cnn去模糊网络执行去模糊操作。

时空递归cnn去模糊网络是机器学习中的一个网络,其是将图像模型添加到深度网络中学习以形成时空递归cnn去模糊网络。当把模糊图像与最优候选块输入到时空递归cnn去模糊网络中后,cnn去模糊网络自动执行去模糊操作。

其中,cnn去模糊网络结构如图5所示。

在步骤s15中,所述cnn去模糊网络产生去模糊结果。

在本实施例中,是通过解码器将cnn去模糊网络的结果输出的,将输出的去模糊结果作为待修复模糊图像块的修复结果。

其中,修复结果如图6所示。

在步骤s16中,完成待修复视频的去模糊,实现整个视频的去模糊。

在本实施例中,将所述产生的修复结果与所述待修复的模糊图像块替换,产生清晰的视频,实现整个视频的去模糊。

其中,视频帧的修复结果如图7所示。

本发明实现了高效视频模糊修复的效果,使用运动矢量进行视频中清晰图像块的搜索,相比于传统的特征点匹配和几何约束,运动矢量具有更小的时间复杂度,不同于整个视频帧都进行去模糊,只对视频帧中的模糊部分进行修复;此外,本发明还利用cnn在计算机视觉处理方面的优势,得到清晰的视频修复结果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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