一种基于无监督学习的视频去模糊方法与流程

文档序号:33802909发布日期:2023-04-19 11:48阅读:41来源:国知局
一种基于无监督学习的视频去模糊方法与流程

本发明属于视频去模糊计算领域,具体涉及一种基于无监督学习的视频去模糊方法。


背景技术:

1、在计算机视觉领域中,视频作为图像在时间维度上的拓展,包含了更多的信息,有助于提升各类任务的性能。然而,受限于硬件设备、拍摄场景和拍摄技术,无人驾驶和机器人领域中,相机抖动和物体运动会造成拍摄的视频出现模糊,导致算法的性能降低。模糊的本质是相机单个感光元件在曝光时间内接收到了不同物体的光,经过相机响应函数后像素的值发生了偏差。此外,相机拍摄的过程将三维世界中的信息投影到二维成像平面上,该过程丢失了一个维度的信息。因此,去模糊问题是一个非适定问题。这也导致了深度学习方法在视频去模糊领域的效果远超传统去模糊方法。

2、深度学习作为一项数据驱动型方法,其效果的好坏很大程度上依赖于数据集的质量。为了提高深度学习方法的鲁棒性,通常要使用庞大的数据集进行训练。然而,在视频去模糊领域,无论使用的数据集多庞大,始终无法涵盖真实世界情况下的方方面面。例如,数据集如果都是在城市环境中采集得到,那用它训练出来的模型在自然环境中的效果可能会大打折扣。除此之外,深度学习的监督学习要求提供真实标签,而目前的相机无法在拍摄模糊视频的同时获得其对应的清晰视频。现有的大多数数据集通过拍摄超高帧率的清晰视频,然后合成得到模糊视频。这种合成模糊数据集跟真实模糊数据集存在一定的区别。综上,用于监督学习的数据集和真实世界中存在的域上的差异,导致使用深度学习的视频去模糊算法效果收到限制。基于无监督的视频去模糊算法则可以直接使用真实情况下采集的模糊视频训练网络,减小了域上的差异。


技术实现思路

1、针对现有技术中存在的不足,本发明提供一种基于无监督学习的视频去模糊方法。

2、本发明旨在提供一种有用的解决方案。为此,本发明的目的在于解决视频去模糊问题,其输入为模糊的视频,输出为其对应的清晰视频,发明中的方法使用无监督学习的方法,从输入视频中构建数据集训练去模糊网络。

3、一种基于无监督学习的视频去模糊方法,包括以下步骤:

4、步骤(1)、构建去模糊网络;

5、步骤(2)、根据输入视频中每一帧图像的边缘信息,将视频中图像块归类成清晰和不清晰两类;

6、步骤(3)、使用不清晰的图像块生成数据集,对去模糊网络进行训练;

7、步骤(4)、使用清晰的图像块生成数据集,对去模糊网络进行训练;

8、步骤(5)、使用训练好的去模糊网络对输入视频进行去模糊,得到清晰视频;

9、进一步的,步骤(1)具体方法如下;

10、1-1、去模糊网络的结构,整个网络采用unet结构,由4个卷积模块,分别为卷积模块1、卷积模块2、卷积模块3、卷积模块4、3个反卷积模块,分别为反卷积模块1、反卷积模块2、反卷积模块3和1个重建卷积层构成。卷积模块1、卷积模块2、卷积模块3和反卷积模块1串联,然后卷积模块2的输出和反卷积模块1的输出经过连接后输入反卷积模块2,而卷积模块1的输出和反卷积模块2的输出经过连接后输入卷积模块4,接着输入重建卷基层,最后与网络的输入求和得到最终的输出。每个卷积模块由1个卷积层和6个残差块串联而成,残差块依次包括1个卷积层、1个relu激活函数和1个卷积层,并且最后卷积层的输出会跟残差块的输入相加,得到残差块最终的输出。反卷积模块则在卷积模块最后的串联上了1个反卷积层。重建卷积层为普通的卷积层。整个去模糊网络中,除了卷积模块2和卷积模块3的第一个卷积层的步长为2,其余所有的卷积层的步长都为1,而所有反卷积层的步长都为1;所有的卷积层的卷积核大小为3,填充宽度为1;所有的反卷积层的卷积核大小为4,填充宽度为1;;

11、1-2、去模糊网络输入一帧模糊图像,依次经过3个卷积模块后,经过反卷积模块1,然后跟卷积模块2的输出在通道维度上堆叠后经过反卷积模块2,接着跟卷积模块1的输出在通道维度上堆叠后经过卷积模块4,再经过重建卷积层,最后与输入的图像图像相加,就可以得到去模糊后的清晰图像;

12、进一步的,步骤(2)具体方法如下;

13、2-1、假设输入的模糊视频b中共有n帧图像,每一帧图像表示为bi(i=1,2,...,n)。使用canny边缘检测算法对每一帧图像bi进行边缘提取,得到边缘图像ei;

14、2-2、将边缘图像ei归一化到0-1,然后使用积分图算法对处理得到积分图si。积分图si中的每一个位置(x,y)的值等于边缘图像中相同位置左上角区域的所有像素之和,即:

15、

16、其中,h和w表示输入视频的高和宽,a和b分别表示1到x和1到y之间的所有整数。为了加速积分图的计算过过程,可以使用增量的方式计算,即:

17、si(x,y)=si(x-1,y)+si(x,y-1)-si(x-1,y-1)+ei(x,y) (2)

18、2-3、使用积分图si处理边缘图像ei,构成一张图像pi。pi中每个像素(x′,y′)对应边缘图像ei中x∈[x′,x′+ps],y∈[y′,y′+ps]区域的图像块(大小为ps*ps,设定ps=256像素),其取值的计算公式为:

19、pi(x′,y′)=si(x′,y′)+si(x′+ps,y′+ps)-si(x′+ps,y′)-si(x′,y′+ps),x′∈[1,h-ps],y′∈[1,w-ps] (3)

20、pi中每个位置(x′,y′)对应模糊图像bi中的一个图像块,表示为p(i,x′,y′,ps)=bi[x′:x′+ps,y′:y′+ps];

21、2-4、根据阈值t,将pi中每个像素分成清晰,用1表示和不清晰,用0表示,得到掩膜图像mi,用公式表示为:

22、

23、进一步的,步骤(3)具体方法如下;

24、3-1、选择除了第一张和最后一张外所有的mi中值为0的位置(x′,y′),构成集合l0表示w0中元素数量,计算方式为:

25、l0=sum(mi(x′,y′)==0) (5)

26、其中,sum()为求和函数。

27、3-2、对于集合w0中的每一个元素能够获得模糊视频b中的一个图像块p(i,x′,y′,ps),记为然后选取图像块在相邻2帧上相同位置的图像块,合成一个新的图像块合成方式如下:

28、

29、3-3、将步骤3-2得到的所有图像作为数据集来训练去模糊网络。作为去模糊网络的输入,作为真实标签。训练过程使用的优化器为adam,参数β1=0.9,β2=0.999;初始学习率为10-4,学习率下降策略为线性下降至0;训练迭代次数为50万,批次大小为1,损失函数为l1损失函数;

30、进一步的,步骤(4)具体方法如下;

31、4-1、选择除了第一张和最后一张外所有的mi中值为1的位置(x′,y′),构成集合l1表示w1中元素数量,计算方式为:

32、l1=sum(mi(x′,y′)==1) (7)

33、4-2、对于集合w1中的每一个元素可以获得模糊视频b中的一个图像块p(i,x′,y′,ps),记为然后以下面两种方式分别合成新的图像块:

34、4-2-1、选取图像块在相邻2帧上相同位置的图像块,合成一个新的图像块合成方式如下:

35、

36、4-2-2、随机生成5个模糊核。每个模糊核大小为31像素*31像素,模糊轨迹线性且过模糊核的中心,并且关于模糊核中心对称。模糊轨迹使用运动矢量表示,即m=(l,θ),l∈[0,15]表示模糊轨迹在水平方向投影长度的一半,θ∈[0°,180°]表示模糊轨迹与水平右方向的角度。使用随机生成的5个模糊核分别卷积图像块得到新的图像块表示对应模糊核的标签;

37、4-3、将步骤4-2得到的所有图像作为数据集在步骤3-3训练基础上继续训练去模糊网络。作为去模糊网络的输入,作为真实标签。训练过程使用的优化器为adam,参数β1=0.9,β2=0.999;初始学习率为10-4,学习率下降策略为带热重启的余弦退火衰减策略,参数t0=10,tmul=2;训练迭代次数为100万,批次大小为1,使用l1损失函数;

38、本发明的特点及有益效果:

39、本发明实现了一种基于无监督学习的视频去模糊方法,对视频去模糊有较大意义。本发明无需模糊视频对应的真实清晰视频,而是从输入视频中构建数据集训练去模糊网络,减小数据集和真实情况的差异,提升视频去模糊性能。

40、此技术可以在普通pc机或工作站等硬件系统上实现。

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