一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频修复方法及装置与流程

2022-02-19 23:43:08 来源:中国专利 TAG:


1.本公开涉及视频处理领域,尤其涉及一种视频修复方法及装置。


背景技术:

2.视频修复是根据视频的已知区域的信息来修复未知(受损)区域,得到重建区域,使得修复之后的视频在视觉上连贯自然,即将需要修复的那一部分像素删除后,用视频中合理的内容填补时空上的空洞,重建合理的背景。视频修复可以帮助许多视频编辑和恢复任务,例如移除掉不需要的对象,刮擦或损坏恢复以及重新定位,更为重要的是,视频修复还可以与增强现实(ar)结合使用,以提供更好的视觉体验。
3.目前,常用的视频修复方法是sttn方法,其基于用于视频修复的时空联合transformer实现,transformer是根据自注意力机制提出的解决seq2seq问题的一种模型。sttn方法为了捕捉到尽可能多的上下文信息,在不同的头部上采用了不同大小的图像块切取方式,因此,当缺失区域的特征不够丰富时,基于大的图像块的注意力机制可以有效利用较多的已知信息;当缺失区域的特征丰富之后,基于小的图像块的注意力机制有助于模型聚焦更细微的变化。但是,针对图像帧之间变化幅度比较大的视频,采用sttn方法来修复视频,修复后的视频会存在扭曲的现象。


技术实现要素:

4.本公开提供一种视频修复方法及装置,以至少解决相关技术中的视频修复方法无法适用于图像帧之间变化幅度比较大的视频的问题。
5.根据本公开实施例的第一方面,提供一种视频修复方法,包括:获取待修复视频;基于待修复视频的每个图像帧的图像特征,得到待修复视频的每个图像帧之间的形变信息;基于形变信息,对待修复视频的每个图像帧执行形变处理;基于经过形变处理后的每个图像帧,得到修复后的视频。
6.可选地,基于待修复视频的每个图像帧的图像特征,得到待修复视频的每个图像帧之间的形变信息,包括:基于每个图像帧中的每个图像块的子图像特征,得到相似度信息,其中,图像块是每个图像帧分别切分得到的预定个数的图像块中的一个图像块;基于相似度信息得到形变信息。
7.可选地,基于每个图像帧中的每个图像块的的子图像特征,得到相似度信息,包括:获取待修复视频的每个图像帧的图像特征;基于每个图像帧的图像特征,得到query矩阵、key矩阵和value矩阵;基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,作为相似度信息。
8.可选地,基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,包括:获取query矩阵对应的每个图像块的掩码和key矩阵对应的每个图像块的掩码;在query矩阵中图像块的掩码和key矩阵中图像块的掩码均为1的情况下,将query矩阵中图像块的query子矩阵和key矩阵中图像块的key子矩阵
的乘积作为两个图像块的相似度;在query矩阵中图像块的掩码和key矩阵中图像块的掩码中任一个为0的情况下,将0作为两个图像块的相似度;将相似度归一化处理后进行合并,得到相似度矩阵。
9.可选地,基于相似度信息,得到形变信息,包括:基于相似度矩阵,得到形变参数矩阵,作为形变信息。
10.可选地,基于形变信息,对待修复视频的每个图像帧执行形变处理,包括:基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵。
11.可选地,基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵,包括:针对每个图像块,通过形变参数矩阵中图像块的形变参数子矩阵,分别将key矩阵中图像块的key子矩阵和value矩阵中图像块的value子矩阵进行形变,得到图像块的形变后的key子矩阵和形变后的value子矩阵;将形变后的key子矩阵进行拼接得到形变后的key矩阵;将形变后的value子矩阵进行拼接得到形变后的value矩阵。
12.可选地,基于经过形变处理后的每个图像帧,得到修复后的视频,包括:基于query矩阵、形变后的key矩阵和形变后的value矩阵,得到每个图像帧的修复后的特征矩阵;基于修复后的特征矩阵,得到修复后的视频。
13.可选地,基于query矩阵、形变后的key矩阵和形变后的value矩阵,得到每个图像帧的修复后的特征矩阵,包括:基于query矩阵、形变后的key矩阵、形变后的value矩阵和形变参数矩阵,得到每个图像帧的修复后的特征矩阵。
14.可选地,视频修复方法通过预先训练好的视频修复模型执行,视频修复模型包括编码器、形变参数预测网络、修复网络和解码器;其中,获取待修复视频的每个图像帧的图像特征,包括:将待修复视频输入到编码器,得到待修复视频的每个图像帧的特征矩阵,作为图像特征;其中,基于相似度矩阵,得到形变参数矩阵,包括:将相似度矩阵输入到形变参数预测网络,得到形变参数矩阵;其中,基于query矩阵、形变后的key矩阵和形变后的value矩阵,得到每个图像帧的修复后的特征矩阵,包括:将query矩阵、形变后的key矩阵和形变后的value矩阵输入到修复网络,得到每个图像帧的修复后的特征矩阵;其中,基于修复后的特征矩阵,得到修复后的视频,包括:将每个图像帧的修复后的特征矩阵输入到解码器,得到修复后的视频。
15.可选地,视频修复模型通过下述操作进行训练:获取训练样本集,其中,训练样本集中包括多个训练视频和每个训练视频对应的清晰视频;将训练视频输入到编码器,得到训练视频的每个图像帧的特征矩阵;基于每个图像帧的特征矩阵,得到query矩阵、key矩阵和value矩阵;基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,其中,图像块是每个图像帧分别切分得到的预定个数的图像块中的一个图像块;将相似度矩阵输入到形变参数预测网络,得到形变参数矩阵;基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵;将query矩阵、形变后的key矩阵和形变后的value矩阵输入到修复网络,得到每个图像帧的预估的修复后的特征矩阵;将预估的修复后的特征矩阵输入到解码器,得到预估的修复后的视频;基于预估的修复后的视频和训练视频对应的清晰视频,调整编码器、形
变参数预测网络、修复网络和解码器的参数。
16.根据本公开实施例的第二方面,提供一种视频修复装置,包括:视频获取单元,被配置为获取待修复视频;形变信息获取单元,被配置为基于待修复视频的每个图像帧的图像特征,得到待修复视频的每个图像帧之间的形变信息;形变处理单元,被配置为基于形变信息,对待修复视频的每个图像帧执行形变处理;修复单元,被配置为基于经过形变处理后的每个图像帧,得到修复后的视频。
17.可选地,形变信息获取单元,还被配置为基于每个图像帧中的每个图像块的子图像特征,得到相似度信息,其中,图像块是每个图像帧分别切分得到的预定个数的图像块中的一个图像块;基于相似度信息,得到形变信息。
18.可选地,形变信息获取单元,还被配置为获取待修复视频的每个图像帧的图像特征;基于每个图像帧的图像特征,得到query矩阵、key矩阵和value矩阵;基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,作为相似度信息。
19.可选地,形变信息获取单元,还被配置为获取query矩阵对应的每个图像块的掩码和key矩阵对应的每个图像块的掩码;在query矩阵中图像块的掩码和key矩阵中图像块的掩码均为1的情况下,将query矩阵中图像块的query子矩阵和key矩阵中图像块的key子矩阵的乘积作为两个图像块的相似度;在query矩阵中图像块的掩码和key矩阵中图像块的掩码中任一个为0的情况下,将0作为两个图像块的相似度;将相似度归一化处理后进行合并,得到相似度矩阵。
20.可选地,形变信息获取单元,还被配置为基于相似度矩阵,得到形变参数矩阵,作为形变信息。
21.可选地,形变处理单元,还被配置为基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵。
22.可选地,形变处理单元,还被配置为针对每个图像块,通过形变参数矩阵中图像块的形变参数子矩阵,分别将key矩阵中图像块的key子矩阵和value矩阵中图像块的value子矩阵进行形变,得到图像块的形变后的key子矩阵和形变后的value子矩阵;将形变后的key子矩阵进行拼接得到形变后的key矩阵;将形变后的value子矩阵进行拼接得到形变后的value矩阵。
23.可选地,修复单元,还被配置为基于query矩阵、形变后的key矩阵和形变后的value矩阵,得到每个图像帧的修复后的特征矩阵;基于修复后的特征矩阵,得到修复后的视频。
24.可选地,修复单元,还被配置为基于query矩阵、形变后的key矩阵、形变后的value矩阵和形变参数矩阵,得到每个图像帧的修复后的特征矩阵。
25.可选地,视频修复方法通过预先训练好的视频修复模型执行,视频修复模型包括编码器、形变参数预测网络、修复网络和解码器;其中,形变信息获取单元,还被配置为将待修复视频输入到编码器,得到待修复视频的每个图像帧的特征矩阵,作为图像特征;形变信息获取单元,还被配置为将相似度矩阵输入到形变参数预测网络,得到形变参数矩阵;其中,修复单元,还被配置为将query矩阵、形变后的key矩阵和形变后的value矩阵输入到修复网络,得到每个图像帧的修复后的特征矩阵;修复单元,还被配置为将每个图像帧的修复
后的特征矩阵输入到解码器,得到修复后的视频。
26.可选地,视频修复模型通过下述操作进行训练:获取训练样本集,其中,训练样本集中包括多个训练视频和每个训练视频对应的清晰视频;将训练视频输入到编码器,得到训练视频的每个图像帧的特征矩阵;基于每个图像帧的特征矩阵,得到query矩阵、key矩阵和value矩阵;基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,其中,图像块是每个图像帧分别切分得到的预定个数的图像块中的一个图像块;将相似度矩阵输入到形变参数预测网络,得到形变参数矩阵;基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵;将query矩阵、形变后的key矩阵和形变后的value矩阵输入到修复网络,得到每个图像帧的预估的修复后的特征矩阵;将预估的修复后的特征矩阵输入到解码器,得到预估的修复后的视频;基于预估的修复后的视频和训练视频对应的清晰视频,调整编码器、形变参数预测网络、修复网络和解码器的参数。
27.根据本公开实施例的第三方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器被配置为执行指令,以实现根据本公开的视频修复方法。
28.根据本公开实施例的第四方面,提供了一种计算机可读存储介质,当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行如上根据本公开的视频修复方法。
29.根据本公开实施例的第五方面,提供了一种计算机程序产品,包括计算机指令,计算机指令被处理器执行时实现根据本公开的视频修复方法。
30.本公开的实施例提供的技术方案至少带来以下有益效果:
31.根据本公开的视频修复方法及装置,本公开引入形变参数预测网络,可以预测不同图像帧之间的形变信息,基于该形变信息可以在进行修复视频前调整不同图像帧之间的非线性形变,从而基于调整形变后的图像帧对视频进行修复,可以对非线性形变的运动视频进行较好的修复,避免了修复后的视频出现图像扭曲的现象。因此,本公开解决了相关技术中的视频修复方法无法适用于图像帧之间变化幅度比较大的视频的问题。
32.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
33.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
34.图1是示出根据本公开的示例性实施例的视频修复方法的实施场景示意图;
35.图2是根据一示例性实施例示出的一种视频修复方法的流程图;
36.图3是根据一示例性实施例示出的一种视频修复方法所应用到的结构示意图;
37.图4是根据一示例性实施例示出的一种单应估计器的结构示意图;
38.图5是根据一示例性实施例示出的一种形变参数预测网络的结构示意图;
39.图6是根据一示例性实施例示出的一种视频修复模型的训练方法的流程图;
40.图7是根据一示例性实施例示出的验证结果示意图一;
41.图8是根据一示例性实施例示出的验证结果示意图二;
42.图9是根据一示例性实施例示出的验证结果示意图三;
43.图10是根据一示例性实施例示出的验证结果示意图四;
44.图11是根据一示例性实施例示出的验证结果示意图五;
45.图12是根据一示例性实施例示出的一种视频修复装置的框图;
46.图13是根据一示例性实施例示出的一种视频修复模型的训练装置的框图;
47.图14是根据本公开实施例的一种电子设备1400的框图。
具体实施方式
48.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
49.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
50.在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括a和b之中的至少一个”即包括如下三种并列的情况:(1)包括a;(2)包括b;(3)包括a和b。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
51.针对上述问题,本公开提供了一种视频修复模型方法,能够适用于图像帧之间变化幅度比较大的视频,下面以运动员在户外跑步的视频为例进行说明。
52.图1是示出根据本公开的示例性实施例的视频修复方法的实施场景示意图,如图1所述,该实施场景包括服务器100、用户终端110和用户终端120,其中,用户终端不限于2个,包括并不限于手机、个人计算机等设备,用户终端可以安装用于视频修复的应用程序,服务器可以是一个服务器,也可以是若干个服务器组成服务器集群,还可以是云计算平台或虚拟化中心。
53.用户终端110或用户终端120获取到待修复的视频(运动员在户外跑步的视频)后,将该待修复视频发送给服务器100,服务器100将待修复视频输入到编码器,得到待修复视频的每个图像帧的特征矩阵后,基于每个图像帧的特征矩阵,得到query矩阵、key矩阵和value矩阵,再基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,其中,图像块是每个图像帧分别切分得到的预定个数的图像块中的一个图像块;得到相似度矩阵后,服务器100将相似度矩阵输入到形变参数预测网络,得到形变参数矩阵后,基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵,然后,将query矩阵、形变后的key矩阵和形变后的value矩阵输入到修复网络,得到每个图像帧的修复后的特征矩阵,最后,将修复后的特征矩阵输入到解码器,得到修复后的视频。虽然待修复视频图像帧之间变化幅度比较大,但
通过本公开的视频修复方法修复后的视频并不会出现扭曲的现象。
54.下面,将参照图2至图13详细描述根据本公开的示例性实施例的视频修复方法及装置。
55.图2是根据一示例性实施例示出的一种视频修复方法的流程图,如图2所示,视频修复方法包括以下步骤:
56.在步骤s201中,获取待修复视频。待修复的视频可以是通过终端摄像头临时获取的,也可以是本地存储的视频,对此本公开并不进行限定。
57.在步骤s202中,基于待修复视频的每个图像帧的图像特征,得到待修复视频的每个图像帧之间的形变信息。需要说明的是,这里需要获取的是每个图像帧两两之间的形变信息。
58.根据本公开的示例性实施例,基于待修复视频的每个图像帧的图像特征,得到待修复视频的每个图像帧之间的形变信息,包括:基于每个图像帧中的每个图像块的子图像特征,得到相似度信息,其中,图像块是每个图像帧分别切分得到的预定个数的图像块中的一个图像块;基于相似度信息,得到形变信息。根据本实施例,可以方便、快速的得到形变信息。
59.根据本公开的示例性实施例,基于每个图像帧中的每个图像块的的子图像特征,得到相似度信息,包括:获取待修复视频的每个图像帧的图像特征;基于每个图像帧的图像特征,得到query矩阵、key矩阵和value矩阵;基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,作为相似度信息。编码器采用常规视频编码器即可,本公开并不进行限定。
60.根据本公开的示例性实施例,基于每个图像帧的图像特征,得到query矩阵、key矩阵和value矩阵,可以包括:将每个图像帧的图像特征分别切分为预定个数的矩阵,其中,预定个数的矩阵与预定个数的图像块相对应;将切分后的所有矩阵在通道维度进行拼接,得到拼接矩阵;将拼接矩阵分别输入到对应的卷积,得到query矩阵、key矩阵和value矩阵。通过本实施例,可以方便、快速的得到三个矩阵。
61.例如,待修复视频由t个图像帧组成,每一个图像帧都是一个宽为w高为h的图片,图3是根据一示例性实施例示出的一种视频修复方法所应用到的结构示意图,如图3所示,encoder即为编码器,对待修复视频的每一个图像帧进行编码,第t个图像帧经过编码器encoder之后会生成一个特征矩阵f
t
,f
t
维度为c
×
h
×
w,其中c是通道数,h对应图片的h,w对应图片的w。再把每一个图像帧切分成预定个数的图像块,如每个图像帧切分成n
p
个图像块,也即f
t
被切分为n
p
个子特征矩阵。图3中n
p
=4,每个图像块的宽和高分别为w/2,h/2,则整个待修复视频一共有t*n
p
个图像块。然后把t*n
p
个图像块的特征矩阵在通道维度拼接起来,得到待修复视频的特征矩阵f(即上述拼接矩阵)。将拼接矩阵分别输入到对应的卷积,得到query矩阵、key矩阵和value矩阵,对应的卷积本公开对此并不进行限定,可以分别为1
×
1卷积。
62.根据本公开的示例性实施例,基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,包括:获取query矩阵对应的每个图像块的掩码和key矩阵对应的每个图像块的掩码;在query矩阵中图像块的掩码和key矩阵中图像块的掩码均为1的情况下,将query矩阵中图像块的query子矩阵和key矩阵中图
像块的key子矩阵的乘积作为两个图像块的相似度;在query矩阵中图像块的掩码和key矩阵中图像块的掩码中任一个为0的情况下,将0作为两个图像块的相似度;将相似度归一化处理后进行合并,得到相似度矩阵。通过本实施例,可以方便、快速的得到相似度矩阵。
63.例如,上述实施例中相似度矩阵可以由图3中的形变单应估计器(depth)实现,该depth是基于transformer的形变单应估计器。图4是根据一示例性实施例示出的一种单应估计器的结构示意图,如图4所示,f输入到depth后,经过三个1
×
1卷积分别生成三个自注意(attention)操作所需要的三个矩阵:query矩阵,key矩阵和value矩阵,例如,图像块编码器(patch encoder)将f经过形变产生query矩阵,key矩阵和value矩阵,其中,query矩阵,key矩阵和value矩阵是由q,k,v=m
q
(f
i
),m
k
(f
i
),m
v
(f
i
)确定,m为1
×
1卷积。然后,将这三个矩阵输入图像块匹配(patch matching,缩写为pm)中得到相似度矩阵。pm的具体操作如下:通过对query矩阵中每个图像块的特征矩阵与key矩阵中每个图像块的特征矩阵之间做乘积来计算query矩阵中每个图像块与key矩阵中每个图像块之间的相似度。例如,如公式(1)所示,c是f
k
(i)
t
和f
q
(j)之间计算的余弦相似矩阵,其中,f
k
(i)
t
是通道归一化后的key矩阵中每个图像块的特征矩阵的转置,f
q
(j)是通道归一化后的query矩阵中每个图像块的特征矩阵。由于待修改的视频一共有t
·
n
p
个图像块,对于key矩阵中的第i个图像块,以及query矩阵中的第j个图像块,可以只计算两个图像块中均没有被遮住的含有有效信息的部分,为此,使用下采样的二进制掩码(mask)来对结果进行过滤,即只有m
k
(i)和m
q
(j)均为1时,才对两个图像块计算相似度矩阵。
[0064][0065]
根据本公开的示例性实施例,基于相似度信息,得到形变信息,包括:基于相似度矩阵,得到形变参数矩阵,作为形变信息。
[0066]
例如,如图4所示,将pm的输出输入到形变参数预测器(deformed transformer estimator),也即上述形变参数预测网络,得到预测偏置系数矩阵θ(即上述形变参数矩阵),θ包含query矩阵中每个图像块和key矩阵中每个图像块之间的形变参数。θ是一个维度为t
·
np
×2×
3的矩阵,其中,对于t
·
np个图像块,每个图像块都有2
×
3=6个数字组成的矩阵θ’作为每个图像块的变换参数子矩阵。
[0067]
根据本公开的示例性实施例,形变参数预测网络包括卷积层、池化层和全连接层,将相似度信息输入到形变参数预测网络,得到形变信息,包括:将相似度信息输入到卷积层,得到卷积后的信息;将卷积后的信息输入到池化层,得到池化后的信息;将池化后信息输入到全连接层,得到形变信息。通过本实施例,给出了一种简单的形变参数预测网络的结构,可以方便快速的得到形变参数矩阵。
[0068]
例如,图5是根据一示例性实施例示出的一种形变参数预测网络的结构示意图,如图5所示,网络的左边和右边分别表示输入和输出。网络可以由步长为2的3
×
3的卷积组成的,其中,中间层的通道数为128,average pool表示在所有位置h
×
w上的平均池化。另外,除最后一层解码器外,所有卷积层后面都是relu作为非线性激活函数。
[0069]
在步骤s203中,基于形变信息,对待修复视频的每个图像帧执行形变处理。
[0070]
根据本公开的示例性实施例,基于形变信息,对待修复视频的每个图像帧执行形变处理,包括:基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key
矩阵和形变后的value矩阵。上述θ分别作用于key矩阵和value矩阵,可以把key矩阵和value矩阵参照query矩阵进行对齐,分别生成形变的key矩阵(deformed k)和形变的value矩阵(deformed v),而query矩阵不变。
[0071]
根据本公开的示例性实施例,基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵,包括:针对每个图像块,通过形变参数矩阵中图像块的形变参数子矩阵,分别将key矩阵中图像块的key子矩阵和value矩阵中图像块的value子矩阵进行形变,得到图像块的形变后的key子矩阵和形变后的value子矩阵;将形变后的key子矩阵进行拼接得到形变后的key矩阵;将形变后的value子矩阵进行拼接得到形变后的value矩阵。通过本实施例,以图像块为单位进行旋转,可得到更准确的形变后的结果。
[0072]
例如,如图4所示的θ是一个维度为t
·
np
×2×
3的矩阵,其中,对于t
·
np个图像块,每个图像块都有2
×
3=6个数字组成的矩阵θ

作为每个图像块的变换参数子矩阵,key矩阵和value矩阵分别根据对应的θ

对每一个图像块做旋转变化,得到变换后的key矩阵(deformed k,也上述形变后的key矩阵),和变换后的value矩阵(deformed v,也即上述形变后的value矩阵)。
[0073]
在步骤s204中,基于经过形变处理后的每个图像帧,得到修复后的视频。
[0074]
根据本公开的示例性实施例,基于经过形变处理后的每个图像帧,得到修复后的视频,包括:基于query矩阵、形变后的key矩阵和形变后的value矩阵,得到每个图像帧的修复后的特征矩阵;基于修复后的特征矩阵,得到修复后的视频。例如,如图3所示,修复网络可以采用transformer,对此本公开并不进行限定。
[0075]
根据本公开的示例性实施例,基于query矩阵、形变后的key矩阵和形变后的value矩阵,得到每个图像帧的修复后的特征矩阵,包括:基于query矩阵、形变后的key矩阵、形变后的value矩阵和形变参数矩阵,得到每个图像帧的修复后的特征矩阵。通过本实施例,将形变参数也输入到修复网络中,可以辅助得到更好修复结果的视频。
[0076]
例如,如图3所示,θ

也可以输入到transformer中,作为一个超参数对transformer操作进行辅助。
[0077]
根据本公开的示例性实施例,基于修复后的特征矩阵,得到修复后的视频,可以如图3所示,transformer的输出是t个c
×
h
×
w的矩阵(即上述修复后的特征矩阵),该矩阵可以输进入一个rnn结构的decoder中,进行解码,解码后得到的视频即为网络对每个图像帧修复之后视频。
[0078]
根据本公开的示例性实施例,视频修复方法通过预先训练好的视频修复模型执行,视频修复模型包括编码器、形变参数预测网络、修复网络和解码器;其中,获取待修复视频的每个图像帧的图像特征,包括:将待修复视频输入到编码器,得到待修复视频的每个图像帧的特征矩阵,作为图像特征;其中,基于相似度矩阵,得到形变参数矩阵,包括:将相似度矩阵输入到形变参数预测网络,得到形变参数矩阵;其中,基于query矩阵、形变后的key矩阵和形变后的value矩阵,得到每个图像帧的修复后的特征矩阵,包括:将query矩阵、形变后的key矩阵和形变后的value矩阵输入到修复网络,得到每个图像帧的修复后的特征矩阵;其中,基于修复后的特征矩阵,得到修复后的视频,包括:将每个图像帧的修复后的特征矩阵输入到解码器,得到修复后的视频。
[0079]
根据本公开的示例性实施例,视频修复模型通过下述操作进行训练:获取训练样本集,其中,训练样本集中包括多个训练视频和每个训练视频对应的清晰视频;将训练视频输入到编码器,得到训练视频的每个图像帧的特征矩阵;基于每个图像帧的特征矩阵,得到query矩阵、key矩阵和value矩阵;基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,其中,图像块是每个图像帧分别切分得到的预定个数的图像块中的一个图像块;将相似度矩阵输入到形变参数预测网络,得到形变参数矩阵;基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵;将query矩阵、形变后的key矩阵和形变后的value矩阵输入到修复网络,得到每个图像帧的预估的修复后的特征矩阵;将预估的修复后的特征矩阵输入到解码器,得到预估的修复后的视频;基于预估的修复后的视频和训练视频对应的清晰视频,调整编码器、形变参数预测网络、修复网络和解码器的参数。
[0080]
综上,如图3所示的形变单应估计器可以产生形变参数矩阵θ,θ将作用在query矩阵和value矩阵上,使每个图像块的key子矩阵和每个图像块的value子矩阵跟query矩阵对应的子矩阵对齐。query矩阵,跟query矩阵对齐的key矩阵,跟query矩阵对齐的value矩阵将作为transformer的输入,一起输入到transformer中,进行transformer操作。而且上述形变参数θ也可以作为一个超参数,输入到transformer中,对transformer操作进行辅助。
[0081]
为了解决复杂场景下,视频中图像帧之间出现复杂旋转变换的情况。本公开通过在注意操作中引入变形的补丁来提高transformer的性能和效率,也即输入到transformer中的矩阵为形变后的矩阵,从而能够更好的进行注意力的关注和图像块的对齐,具体地,利用query矩阵,key矩阵和value矩阵来学习图像帧之间的偏移,从而更好的对key矩阵和query矩阵进行时空采样,而无需额外的监督。因此,即使是具有旋转转换或由于快速移动而变形的具有挑战性的场景,本公开的方法也适用。再有,本公开的形变参数预测器(deformed transformer estimator)可以作为一个单独的模块从整个网络框架中分离出来,可以用来对任意的两个图像做预测,预测形变参数矩阵θ。
[0082]
本公开还提供了一种视频修复模型的训练方法,图6是根据一示例性实施例示出的一种视频修复模型的训练方法的流程图,如图6所示,视频修复模型包括编码器、形变参数预测网络、修复网络和解码器,训练方法包括:
[0083]
在步骤s601中,获取训练样本集,其中,训练样本集中包括多个训练视频和每个训练视频对应的清晰视频。
[0084]
在步骤s602中,将训练视频输入到编码器,得到训练视频的每个图像帧的特征矩阵。
[0085]
在步骤s603中,基于每个图像帧的特征矩阵,得到query矩阵、key矩阵和value矩阵。
[0086]
在步骤s604中,基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,其中,图像块是每个图像帧分别切分得到的预定个数的图像块中的一个图像块。
[0087]
在步骤s605中,将相似度矩阵输入到形变参数预测网络,得到形变参数矩阵。
[0088]
在步骤s606中,基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵。
[0089]
在步骤s607中,将query矩阵、形变后的key矩阵和形变后的value矩阵输入到修复网络,得到每个图像帧的预估的修复后的特征矩阵。
[0090]
在步骤s608中,将预估的修复后的特征矩阵矩阵输入到解码器,得到预估的修复后的视频。
[0091]
在步骤s609中,基于预估的修复后的视频和训练视频对应的清晰视频,调整编码器、形变参数预测网络、修复网络和解码器的参数,对视频修复模型进行训练。
[0092]
根据本公开的示例性实施例,基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵,包括:针对每个图像块,通过形变参数矩阵中图像块的形变参数子矩阵,分别将key矩阵中图像块的key子矩阵和value矩阵中图像块的value子矩阵进行形变,得到图像块的形变后的key子矩阵和形变后的value子矩阵;将形变后的key子矩阵进行拼接得到形变后的key矩阵;将形变后的value子矩阵进行拼接得到形变后的value矩阵。
[0093]
根据本公开的示例性实施例,基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,包括:获取query矩阵中每个图像块的子矩阵的掩码和key矩阵中每个图像块的子矩阵的掩码;在query矩阵中图像块的子矩阵的掩码和key矩阵中图像块的子矩阵的掩码均为1的情况下,将query矩阵中图像块的query子矩阵和key矩阵中图像块的key子矩阵的乘积作为两个图像块的相似度;在query矩阵中图像块的子矩阵的掩码和key矩阵中图像块的子矩阵的掩码中任一个为0的情况下,将0作为两个图像块的相似度;将相似度归一化处理后进行合并,得到相似度矩阵。
[0094]
根据本公开的示例性实施例,将query矩阵、形变后的key矩阵和形变后的value矩阵输入到修复网络,得到每个图像帧的预估的修复后的特征矩阵,包括:将query矩阵、形变后的key矩阵、形变后的value矩阵和形变参数矩阵输入到修复网络,得到每个图像帧的预估的修复后的特征矩阵。
[0095]
根据本公开的示例性实施例,形变参数预测网络包括卷积层、池化层和全连接层,将相似度矩阵输入到形变参数预测网络,得到形变参数矩阵,包括:将相似度矩阵输入到卷积层,得到卷积后的矩阵;将卷积后的矩阵输入到池化层,得到池化后的矩阵;将池化后的矩阵输入到全连接层,得到形变参数矩阵。
[0096]
为了证明本公开方法的可行性,下面提供了相应的验证结果。
[0097]
图7是根据一示例性实施例示出的验证结果示意图一,如图7所示,本公开的方法在公开的学术数据集youtube vos和davis上都超过了现有的视频修复方法,如vinet,deep

flow,cpt和sttn方法。
[0098]
图8是根据一示例性实施例示出的验证结果示意图二,图9是根据一示例性实施例示出的验证结果示意图三,图8展示了本公开的方法在公开学术数据集上跟其他的方法对比的定性结果,图9展示了模型中的各个子模块对整个模型的定量贡献程度。其中,最后一行是整个模型在公开学术数据集youtube vos和davis上的psnr和ssim评价指标。这两个评价指标越高均代表越性能好。第一行w/o depth是除去depth模块的性能,可以看到,depth在youtube数据集上,为模型带来了1.31的psnr性能提升,和0.005的ssim性能提升。在davis数据集上,为模型带来了0.7的psnr性能提升,和0.014的ssim性能提升。
[0099]
图10是根据一示例性实施例示出的验证结果示意图四,如图10所示,在全部的t个
图像帧中将注意力权重由高至低排序,将注意力权重由高至低的给出了输入目标帧(左图第二帧为目标帧,右图第33帧为目标帧)之后,注意力权重分配最高的6帧的注意力可视化图。可以看到,本公开中的模型能够很好的选择到目标帧周围的帧进行查找,找到的图像块均为填充区域周围的相关区域,从而能够正确的填补遮盖区域。
[0100]
图11是根据一示例性实施例示出的验证结果示意图五,如图11所示,第一列为输入图像,第二列为没有加入depth的结果,最后一列是加入了depth的结果。可以看到,未加入depth的时候,修复的图像比较模糊,线条比较弯曲。而加入了depth之后,修复结果明显变好很多。
[0101]
图12是根据一示例性实施例示出的一种视频修复装置的框图。参照图12,视频修复装置包括:视频获取单元1202、形变信息获取单元1204、形变处理单元1206和修复单元1208。
[0102]
视频获取单元1202,被配置为获取待修复视频;形变信息获取单元1204,被配置为基于待修复视频的每个图像帧的图像特征,得到待修复视频的每个图像帧之间的形变信息;形变处理单元1206,被配置为基于形变信息,对待修复视频的每个图像帧执行形变处理;修复单元1208,被配置为基于经过形变处理后的每个图像帧,得到修复后的视频。
[0103]
根据本公开的实施例,形变信息获取单元1204,还被配置为基于每个图像帧中的每个图像块的子图像特征,得到相似度信息,其中,图像块是每个图像帧分别切分得到的预定个数的图像块中的一个图像块;基于相似度信息,得到形变信息。
[0104]
根据本公开的实施例,形变信息获取单元1204,还被配置为获取到待修复视频的每个图像帧的图像特征;基于每个图像帧的图像特征,得到query矩阵、key矩阵和value矩阵;基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,作为相似度信息。
[0105]
根据本公开的实施例,形变信息获取单元1204,还被配置为获取query矩阵对应的每个图像块的掩码和key矩阵对应的每个图像块的掩码;在query矩阵中图像块的掩码和key矩阵中图像块的掩码均为1的情况下,将query矩阵中图像块的query子矩阵和key矩阵中图像块的key子矩阵的乘积作为两个图像块的相似度;在query矩阵中图像块的掩码和key矩阵中图像块的掩码中任一个为0的情况下,将0作为两个图像块的相似度;将相似度归一化处理后进行合并,得到相似度矩阵。
[0106]
根据本公开的实施例,形变信息获取单元1204,还被配置为基于相似度矩阵,得到形变参数矩阵,作为形变信息。
[0107]
根据本公开的实施例,形变处理单元1206,还被配置为基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵。
[0108]
根据本公开的实施例,形变处理单元1206,还被配置为针对每个图像块,通过形变参数矩阵中图像块的形变参数子矩阵,分别将key矩阵中图像块的key子矩阵和value矩阵中图像块的value子矩阵进行形变,得到图像块的形变后的key子矩阵和形变后的value子矩阵;将形变后的key子矩阵进行拼接得到形变后的key矩阵;将形变后的value子矩阵进行拼接得到形变后的value矩阵。
[0109]
根据本公开的实施例,修复单元1208,还被配置为基于query矩阵、形变后的key矩阵和形变后的value矩阵,得到每个图像帧的修复后的特征矩阵;基于修复后的特征矩阵,
得到修复后的视频。
[0110]
根据本公开的实施例,修复单元1208,还被配置为基于query矩阵、形变后的key矩阵、形变后的value矩阵和形变参数矩阵,得到每个图像帧的修复后的特征矩阵。
[0111]
根据本公开的实施例,形变参数预测网络包括卷积层、池化层和全连接层,形变信息获取单元1204,还被配置为将相似度信息输入到卷积层,得到卷积后的信息;将卷积后的信息输入到池化层,得到池化后的信息;将池化后信息输入到全连接层,得到形变信息。
[0112]
根据本公开的实施例,视频修复方法通过预先训练好的视频修复模型执行,视频修复模型包括编码器、形变参数预测网络、修复网络和解码器;其中,形变信息获取单元,还被配置为将待修复视频输入到编码器,得到待修复视频的每个图像帧的特征矩阵,作为图像特征;形变信息获取单元,还被配置为将相似度矩阵输入到形变参数预测网络,得到形变参数矩阵;其中,修复单元,还被配置为将query矩阵、形变后的key矩阵和形变后的value矩阵输入到修复网络,得到每个图像帧的修复后的特征矩阵;修复单元,还被配置为将每个图像帧的修复后的特征矩阵输入到解码器,得到修复后的视频。
[0113]
根据本公开的实施例,视频修复模型通过下述操作进行训练:获取训练样本集,其中,训练样本集中包括多个训练视频和每个训练视频对应的清晰视频;将训练视频输入到编码器,得到训练视频的每个图像帧的特征矩阵;基于每个图像帧的特征矩阵,得到query矩阵、key矩阵和value矩阵;基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,其中,图像块是每个图像帧分别切分得到的预定个数的图像块中的一个图像块;将相似度矩阵输入到形变参数预测网络,得到形变参数矩阵;基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵;将query矩阵、形变后的key矩阵和形变后的value矩阵输入到修复网络,得到每个图像帧的预估的修复后的特征矩阵;将预估的修复后的特征矩阵输入到解码器,得到预估的修复后的视频;基于预估的修复后的视频和训练视频对应的清晰视频,调整编码器、形变参数预测网络、修复网络和解码器的参数。
[0114]
图13是根据一示例性实施例示出的一种视频修复模型的训练装置的框图。参照图13,视频修复模型包括编码器、形变参数预测网络、修复网络和解码器,训练装置包括:样本获取单元1301、编码单元1302、矩阵获取单元1303、相似度获取单元1304、形变参数获取单元1305、形变处理单元1306、修复单元1307、解码单元1308和训练单元1309。
[0115]
样本获取单元1301,被配置为获取训练样本集,其中,训练样本集中包括多个训练视频和每个训练视频对应的清晰视频;编码单元1302,被配置为将训练视频输入到编码器,得到训练视频的每个图像帧的特征矩阵;矩阵获取单元1303,被配置为基于每个图像帧的特征矩阵,得到query矩阵、key矩阵和value矩阵;相似度获取单元1304,被配置为基于query矩阵中每个图像块的query子矩阵和key矩阵中每个图像块的key子矩阵的相似度,得到相似度矩阵,其中,图像块是每个图像帧分别切分得到的预定个数的图像块中的一个图像块;形变参数获取单元1305,被配置为将相似度矩阵输入到形变参数预测网络,得到形变参数矩阵;形变处理单元1306,被配置为基于形变参数矩阵,对key矩阵和value矩阵执行形变处理,得到形变后的key矩阵和形变后的value矩阵;修复单元1307,被配置为将query矩阵、形变后的key矩阵和形变后的value矩阵输入到修复网络,得到每个图像帧的预估的修复后的特征矩阵;解码单元1308,被配置为将预估的修复后的特征矩阵矩阵输入到解码器,
得到预估的修复后的视频;训练单元1309,被配置为基于预估的修复后的视频和训练视频对应的清晰视频,调整编码器、形变参数预测网络、修复网络的参数和解码器,对视频修复模型进行训练。
[0116]
根据本公开的实施例,形变处理单元1306,还被配置为针对每个图像块,通过形变参数矩阵中图像块的形变参数子矩阵,分别将key矩阵中图像块的key子矩阵和value矩阵中图像块的value子矩阵进行形变,得到图像块的形变后的key子矩阵和形变后的value子矩阵;将形变后的key子矩阵进行拼接得到形变后的key矩阵;将形变后的value子矩阵进行拼接得到形变后的value矩阵。
[0117]
根据本公开的实施例,相似度获取单元1304,还被配置为获取query矩阵中每个图像块的子矩阵的掩码和key矩阵中每个图像块的子矩阵的掩码;在query矩阵中图像块的子矩阵的掩码和key矩阵中图像块的子矩阵的掩码均为1的情况下,将query矩阵中图像块的query子矩阵和key矩阵中图像块的key子矩阵的乘积作为两个图像块的相似度;在query矩阵中图像块的子矩阵的掩码和key矩阵中图像块的子矩阵的掩码中任一个为0的情况下,将0作为两个图像块的相似度;将相似度归一化处理后进行合并,得到相似度矩阵。
[0118]
根据本公开的实施例,修复单元1307,还被配置为将query矩阵、形变后的key矩阵、形变后的value矩阵和形变参数矩阵输入到修复网络,得到每个图像帧的预估的修复后的特征矩阵。
[0119]
根据本公开的实施例,形变参数预测网络包括卷积层、池化层和全连接层,形变参数获取单元1305,还被配置为将相似度矩阵输入到卷积层,得到卷积后的矩阵;将卷积后的矩阵输入到池化层,得到池化后的矩阵;将池化后的矩阵输入到全连接层,得到形变参数矩阵。
[0120]
根据本公开的实施例,可提供一种电子设备。图14是根据本公开实施例的一种电子设备1400的框图,该电子设备包括至少一个存储器1401和至少一个处理器1402,所述至少一个存储器中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器执行时,执行根据本公开实施例的视频修复模型的训练方法及视频修复方法。
[0121]
作为示例,电子设备1400可以是pc计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备1000并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备1400还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
[0122]
在电子设备1400中,处理器1402可包括中央处理器(cpu)、图形处理器(gpu)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器1402还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
[0123]
处理器1402可运行存储在存储器中的指令或代码,其中,存储器1401还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
[0124]
存储器1401可与处理器1402集成为一体,例如,将ram或闪存布置在集成电路微处理器等之内。此外,存储器1402可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器1401和处理器1402可在操作上进行耦合,或者可例
如通过i/o端口、网络连接等互相通信,使得处理器1402能够读取存储在存储器1401中的文件。
[0125]
此外,电子设备1400还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备的所有组件可经由总线和/或网络而彼此连接。
[0126]
根据本公开的实施例,还可提供一种计算机可读存储介质,其中,当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行本公开实施例的视频修复模型的训练方法及视频修复方法。这里的计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd

rom、cd

r、cd r、cd

rw、cd rw、dvd

rom、dvd

r、dvd r、dvd

rw、dvd rw、dvd

ram、bd

rom、bd

r、bd

r lth、bd

re、蓝光或光盘存储器、硬盘驱动器(hdd)、固态硬盘(ssd)、卡式存储器(诸如,多媒体卡、安全数字(sd)卡或极速数字(xd)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
[0127]
根据本公开实施例,提供了一种计算机程序产品,包括计算机指令,计算机指令被处理器执行时实现本公开实施例的视频修复模型的训练方法及视频修复方法。
[0128]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0129]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献