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

一种视频稳化方法、装置、终端及存储介质与流程

2022-12-09 22:51:27 来源:中国专利 TAG:


1.本发明涉及视频处理领域,尤其涉及的是一种视频稳化方法、装置、终端及存储介质。


背景技术:

2.随着科技的发展,不同类型终端设备均设置有拍摄视频功能。然而,部分终端设备,由于无法控制设备的稳定性,其拍摄效果相较于其他设备更容易出现视频抖动的问题,降低了视频的质量。而视频稳化技术可以有效改善视频质量,降低视频帧之间的抖动幅度。视频稳化技术是指将原始拍摄视频通过特殊裁剪、插值的方式转换成稳化视频,使得稳化的视频播放内容呈现匀速运动。为了保证稳化画面内容与原始视频内容视觉无畸变差异,需要将裁剪方式限制为2维平面在3维空间中的旋转、等比缩放、位移等操作。现有的视频稳化技术,通常是从原始视频帧的运动估计与平滑运动估计来进行运动推算,得到稳化矩阵,并采用该稳化矩阵对原始视频帧进行剪裁,得到该原始视频帧对应的稳化视频帧。但是基于该稳化矩阵得到的稳化视频帧,很容易出现稳化越界的问题,即稳化视频帧出现在当前帧的画面内容之外。
3.因此,现有技术还有待改进和发展。


技术实现要素:

4.本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种视频稳化方法、装置、终端及存储介质,旨在解决现有的稳化矩阵在对视频帧进行稳化后,容易出现稳化越界的问题。
5.本发明解决问题所采用的技术方案如下:
6.第一方面,本发明实施例提供一种视频稳化方法,所述方法包括:
7.获取待处理视频帧;
8.确定所述待处理视频帧中非首帧的每一视频帧的稳化视频帧;其中,针对每一视频帧,确定所述视频帧对应的偏移预测值;根据所述偏移预测值,对所述视频帧进行稳化处理,得到所述视频帧的稳化视频帧;
9.根据所述待处理视频帧中首帧视频帧和所述待处理视频帧中非首帧的每一视频帧的稳化视频帧,确定所述待处理视频帧对应的稳化视频。
10.在一种实施方式中,所述针对每一视频帧,确定所述视频帧对应的偏移预测值,包括:
11.获取所述视频帧对应的若干参考视频帧;其中,所述若干参考视频帧为播放时间位于所述视频帧之前,且与所述视频帧相邻的若干连续视频帧;
12.获取所述视频帧对应的原始稳化视频帧和所述若干参考视频帧分别对应的原始稳化视频帧;
13.根据所述视频帧、所述视频帧对应的原始稳化视频帧、所述若干参考视频帧以及
所述若干参考视频帧分别对应的原始稳化视频帧,确定第一图像偏移信息;
14.根据所述视频帧和所述若干参考视频帧,确定第二图像偏移信息;
15.将所述第一图像偏移信息和所述第二图像偏移信息输入预测模型,得到所述偏移预测值。
16.在一种实施方式中,所述根据所述视频帧、所述第一稳化视频帧、所述若干参考视频帧以及所述若干参考视频帧分别对应的原始稳化视频帧确定第一图像偏移信息,包括:
17.根据所述视频帧和所述视频帧对应的原始稳化视频帧确定第一原始稳化矩阵,所述第一原始稳化矩阵用于反映所述视频帧与所述第一稳化视频帧之间的射影变换关系;
18.根据所述若干参考视频帧和所述若干参考视频帧分别对应的原始稳化视频帧,确定所述若干参考视频帧分别对应的第二原始稳化矩阵;其中,针对所述若干参考视频帧中的每一视频帧,根据该视频帧和该视频帧对应的原始稳化视频帧确定该视频帧对应的第二原始稳化矩阵,该第二原始稳化矩阵用于反映该视频帧与该视频帧对应的第二稳化视频帧之间的射影变换关系;
19.根据所述第一原始稳化矩阵和所述若干参考视频帧分别对应的第二原始稳化矩阵,确定第一图像偏移信息。
20.在一种实施方式中,所述根据所述视频帧和所述若干参考视频帧确定第二图像偏移信息,包括:
21.获取所述视频帧和所述若干参考视频帧中相邻两帧视频帧之间的运动矩阵,得到若干运动矩阵,所述若干运动矩阵中的每一运动矩阵用于反映与该运动矩阵所对应的相邻两帧视频帧之间的射影变换关系;
22.根据所述若干运动矩阵确定第二图像偏移信息。
23.在一种实施方式中,所述偏移预测值包括:角度偏移预测值;所述将所述第一图像偏移信息和所述第二图像偏移信息输入预测模型,得到所述偏移预测值,包括:
24.获取第一角度偏移信息和第二角度偏移信息,其中,所述第一角度偏移信息为所述第一图像偏移信息中的角度偏移信息,所述第二角度偏移信息为所述第二图像偏移信息中的角度偏移信息;
25.将所述第一角度偏移信息和所述第二角度偏移信息输入角度偏移预测模型,得到所述角度偏移预测值,其中,所述角度偏移预测模型为所述预测模型中用于预测所述视频帧与所述原始稳化视频帧之间的角度偏移值的模型。
26.在一种实施方式中,所述将所述第一角度偏移信息和所述第二角度偏移信息输入角度偏移预测模型,得到所述角度偏移预测值,包括:
27.将所述第一角度偏移信息和所述第二角度偏移信息输入角度偏移预测模型,得到初始角度偏移预测值;
28.根据所述原始稳化矩阵确定稳化剪裁范围,并根据所述稳化剪裁范围确定角度偏移范围;
29.根据所述角度偏移范围对所述初始角度偏移预测值进行调整,以得到所述角度偏移预测值。
30.在一种实施方式中,所述偏移预测值包括:水平位移预测值;所述将所述第一图像偏移信息和所述第二图像偏移信息输入预测模型,得到所述偏移预测值,包括:
31.获取第一水平位移信息和第二水平位移信息,其中,所述第一水平位移信息为所述第一图像偏移信息基于所述角度偏移预测值生成的水平位移信息,所述第二水平位移信息为所述第二图像偏移信息基于所述角度偏移预测值生成的水平位移信息;
32.将所述第一水平位移信息和所述第二水平位移信息输入水平位移预测模型,得到所述水平位移预测值,所述水平位移预测模型为所述预测模型中用于预测所述视频帧与所述原始稳化视频帧之间的水平位移值的模型。
33.在一种实施方式中,所述将所述第一水平位移信息和所述第二水平位移信息输入水平位移预测模型,得到所述水平位移预测值,包括:
34.将所述第一水平位移信息和所述第二水平位移信息输入水平位移预测模型,得到初始水平位移预测值;
35.根据所述稳化剪裁范围和所述角度偏移预测值确定水平位移范围;
36.根据所述水平位移范围对所述初始水平位移预测值进行调整,得到所述水平位移预测值。
37.在一种实施方式中,所述偏移预测值包括:垂直位移预测值;所述将所述第一图像偏移信息和所述第二图像偏移信息输入预测模型,得到所述偏移预测值,包括:
38.获取第一垂直位移信息和第二垂直位移信息,其中,所述第一垂直位移信息为所述第一图像偏移信息基于所述角度偏移预测值生成的垂直位移信息,所述第二垂直位移信息为所述第二图像偏移信息基于所述角度偏移预测值生成的垂直位移信息;
39.将所述第一垂直位移信息和所述第二垂直位移信息输入垂直位移预测模型,得到所述垂直位移预测值,其中,所述垂直位移预测模型为所述预测模型中用于预测所述视频帧和所述原始稳化视频帧之间的垂直位移值的模型。
40.在一种实施方式中,所述将所述第一垂直位移信息和所述第二垂直位移信息输入垂直位移预测模型,得到所述垂直位移预测值,包括:
41.将所述第一垂直位移信息和所述第二垂直位移信息输入垂直位移预测模型,得到初始垂直位移预测值;
42.根据所述稳化剪裁范围和所述角度偏移预测值确定垂直位移范围;
43.根据所述垂直位移范围对所述初始垂直位移预测值进行调整,以得到所述垂直位移预测值。
44.在一种实施方式中,所述根据所述偏移预测值,对所述视频帧进行稳化处理,得到所述视频帧的稳化视频帧,包括:
45.根据所述偏移预测值生成矫正矩阵;
46.根据所述矫正矩阵对所述第一原始稳化矩阵进行矫正,得到所述视频帧对应的目标稳化矩阵;
47.根据所述目标稳化矩阵对所述视频帧进行稳化处理,得到所述视频帧的稳化视频帧。
48.在一种实施方式中,所述预测模型为经过训练的模型,其中,所述预测模型的训练过程为:
49.将训练数据中的第三图像偏移信息和第四图像偏移信息输入原始预测模型,通过所述原始预测模型生成所述第三图像偏移信息和所述第四图像偏移信息对应的偏移预测
值,其中,所述训练数据包括多组训练信息组,每一组训练信息组包括第三图像偏移信息、第四图像偏移信息和标准偏移值,所述标准偏移值为第三图像偏移信息和第四图像偏移信息所对应的偏移值;
50.根据所述第三图像偏移信息和所述第四图像偏移信息对应的标准偏移值和所述第三图像偏移信息和所述第四图像偏移信息对应的偏移预测值,对所述原始预测模型的模型参数进行调整,并继续执行所述将训练数据中的第三图像偏移信息和第四图像偏移信息输入原始预测模型的步骤,直至满足预设训练条件,以得到所述预测模型。
51.第二方面,本发明实施例还提供一种视频稳化装置,其中,所述装置包括:
52.获取模块,用于获取待处理视频帧;
53.稳化模块,确定所述待处理视频帧中非首帧的每一视频帧的稳化视频帧;其中,针对每一视频帧,确定所述视频帧对应的偏移预测值;根据所述偏移预测值,对所述视频帧进行稳化处理,得到所述视频帧的稳化视频帧;
54.输出模块,根据所述待处理视频帧中首帧视频帧和所述待处理视频帧中非首帧的每一视频帧的稳化视频帧,确定所述待处理视频帧对应的稳化视频。
55.第三方面,本发明实施例还提供一种终端,其中,所述终端包括有存储器和一个或者一个以上处理器;所述存储器存储有一个或者一个以上的程序;所述程序包含用于执行如上述任一所述的视频稳化方法的指令;所述处理器用于执行所述程序。
56.第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有多条指令,其中,由处理器加载并执行所述指令,以实现上述任一所述的视频稳化方法的步骤。
57.本发明的有益效果:本发明实施例通过获取待处理视频帧;确定待处理视频帧中非首帧的每一视频帧的稳化视频帧;其中,针对每一视频帧,确定视频帧对应的偏移预测值;根据偏移预测值,对视频帧进行稳化处理,得到视频帧的稳化视频帧;根据待处理视频帧中首帧视频帧和待处理视频帧中非首帧的每一视频帧的稳化视频帧,确定待处理视频帧对应的稳化视频。由于偏移预测值可以用于矫正视频帧对应的原始稳化视频帧出现稳化越界时的偏移量,因此本发明根据视频帧的偏移预测值对视频帧进行稳化处理,得到的稳化视频帧不会再出现稳化越界,从而解决现有的稳化矩阵在对视频帧进行稳化后,容易出现稳化越界的问题。
附图说明
58.为了更清楚地说明本发明实施例或现有技术中,的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
59.图1是本发明实施例提供的视频稳化方法的流程示意图。
60.图2是本发明实施例提供的视频帧变换的应用场景示意图。
61.图3是本发明实施例提供的稳化剪裁范围的参考示意图。
62.图4是本发明实施例提供的特征加权匹配模型的结构示意图。
63.图5是本发明实施例提供的基于现有技术生成的稳化矩阵与基于本发明生成的稳化矩阵,在稳化后产生的视频抖动像素偏移误差的散点比较图。
64.图6是本发明实施例提供的同一帧视频帧上,基于现有技术生成的稳化矩阵与基于本发明生成的视频稳化的稳化视频帧的边框的位置比较图。
65.图7是本发明实施例提供的图6视频帧的相邻视频帧上,基于现有技术生成的稳化矩阵与基于本发明生成的视频稳化的稳化视频帧的边框的位置比较图。
66.图8是本发明实施例提供的视频稳化装置的模块示意图。
67.图9是本发明实施例提供的终端的原理框图。
68.图10是本发明实施例提供的生成矫正矩阵的流程示意图。
69.图11是本发明实施提供的训练预测模型的流程示意图。
具体实施方式
70.为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
71.需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后
……
),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。
72.随着科技的发展,不同类型终端设备均设置有拍摄视频功能。然而,部分终端设备,由于无法控制设备的稳定性,其拍摄效果相较于其他设备更容易出现视频抖动的问题,降低了视频的质量。而视频稳化技术可以有效改善视频质量,降低视频帧之间的抖动幅度。视频稳化技术是指将原始拍摄视频通过特殊裁剪、插值的方式转换成稳化视频,使得稳化的视频播放内容呈现匀速运动。为了保证稳化画面内容与原始视频内容视觉无畸变差异,需要将裁剪方式限制为2维平面在3维空间中的旋转、等比缩放、位移等操作。现有的视频稳化技术,通常是从原始视频帧的运动估计与平滑运动估计来进行运动推算,得到稳化矩阵,并采用该稳化矩阵对原始视频帧进行剪裁,得到该原始视频帧对应的稳化视频帧。但是基于该稳化矩阵得到的稳化视频帧,很容易出现稳化越界的问题,即稳化视频帧出现在当前帧的画面内容之外。
73.针对现有技术的上述缺陷,本发明提供了一种视频稳化方法,通过获取待处理视频帧;确定所述待处理视频帧中非首帧的每一视频帧的稳化视频帧;其中,针对每一视频帧,确定所述视频帧对应的偏移预测值;根据所述偏移预测值,对所述视频帧进行稳化处理,得到所述视频帧的稳化视频帧;根据所述待处理视频帧中首帧视频帧和所述待处理视频帧中非首帧的每一视频帧的稳化视频帧,确定所述待处理视频帧对应的稳化视频。由于所述偏移预测值可以用于矫正所述视频帧对应的原始稳化视频帧出现稳化越界时的偏移量,因此本发明根据视频帧的偏移预测值对视频帧进行稳化处理,得到的稳化视频帧不会再出现稳化越界,从而解决现有的稳化矩阵在对视频帧进行稳化后,容易出现稳化越界的问题。
74.举例说明,如图2所示,本发明实施例可获取到待处理视频帧f1、f2、f3,f1为首帧视频帧,因此f1不需要处理,f2、f3均为非首帧视频帧,因此需要确定f2、f3分别对应的偏移预测值offset2、offset3,由于offset2可以确定f2与其对应的原始稳化视频帧s2之间的偏移量,offset3可以确定f3与其对应的原始稳化视频帧s3之间的偏移量,因此根据offset2
对f2进行稳化处理,得到f2对应的稳化视频帧s2’,并根据offset3对f3进行稳化处理,得到f3对应的稳化视频帧s3’,则s2’与s3’均不会出现稳化越界的情况。最后再根据f1、s2’以及s3’得到待处理视频帧f1、f2、f3对应的稳化视频。
75.示例性方法
76.在说明本发明提供的视频稳化方法之前,首先结合图2对稳化矩阵相关概念进行示例性的说明。
77.为了便于描述,在本技术实施例中,终端设备拍摄到的视频帧用f表示。如图2所示,拍摄到的第1个视频帧表示为f1,第2个视频帧表示为f2、第3个视频帧表示为f3,以此类推。
78.相邻两个视频帧之间存在射影变换关系,该射影变换关系可以通过运动参数来表示。m可以基于运动估计计算所得。运动估计的具体实施方式,可以参考现有的运动估计的实施方式,对此,本技术不作介绍。
79.对于拍摄到第t(t>1)个视频帧fi和前一个视频帧f
i-1
,fi的图像内容和f
i-1
的图像内容相互之间可以通过基于运动参数mi二维平面射影变换近似表示,即fi≈f(f
i-1
,mi)。其中,函数f表示射影变换。
80.令(x
i-1
,y
i-1
,1)∈f
i-1
表示f
i-1
中的对应任意齐次坐标点;(xi,yi,1)∈fi表示fi中的对应f
i-1
的任意齐次坐标点。
81.令:
[0082][0083]
则有:
[0084][0085]
其中,f1表示第一个获取的原始视频帧;s1表示第一个获取的稳化视频帧;r1表示稳化矩阵。如图2所示,fi的稳化视频帧si,是基于一个射影变换矩阵(为了便于描述,本技术中用ri来表示)对fi进行裁剪所得,即si≈f(fi,ri)。令稳化裁剪比例为r,原视频高、宽分别为img_height、img_width,则有:
[0086][0087]
举例说明,如图3所示,s1的画面内容来自f1的一个子图区域,其高宽都是f1的r倍,左上角原点水平偏移量为(1-r)*img_width/2,垂直偏移量为(1-r)*img_height/2。
[0088]
如图1所示,本实施例提供一种视频稳化方法,所述方法包括如下步骤:
[0089]
步骤s100、获取待处理视频帧。
[0090]
具体地,由于视频抖动通常体现在多个视频帧之间,因此本实施例首先要获取需要进行视频稳化的待处理视频帧。本实施例通过对待处理视频帧进行稳化处理,可以减少相邻视频帧之间的抖动,使得用户在观看视频时有更好的观感。
[0091]
步骤s200、确定所述待处理视频帧中非首帧的每一视频帧的稳化视频帧;其中,针对每一视频帧,确定所述视频帧对应的偏移预测值;根据所述偏移预测值,对所述视频帧进行稳化处理,得到所述视频帧的稳化视频帧。
[0092]
具体地,由于所述偏移预测值可以用于矫正所述视频帧对应的原始稳化视频帧出现稳化越界时的偏移量,因此本发明根据视频帧的偏移预测值对视频帧进行稳化处理,得到的稳化视频帧不会再出现稳化越界。此外,由于用户在观看待处理视频帧中的首帧视频帧时是感觉不到视频抖动的,只有在观看第二帧以及第二帧之后的其他视频帧时才能感觉到视频抖动。因此本实施例只需要对待处理视频帧中非首帧的每一视频帧,根据该视频帧对应的偏移预测值对其稳化处理,得到其对应的稳化视频帧。
[0093]
举例说明,假设待处理视频帧依次为视频帧a、b、c,则本实施例不需要对视频帧a进行稳化处理,只需要获取视频帧b、c分别对应的偏移预测值b、c,根据偏移预测值b对视频帧b进行稳化处理,得到视频帧b对应的稳化视频帧b’,再根据偏移预测值c对视频帧c进行稳化处理,得到视频帧c对应的稳化视频帧c’。
[0094]
在一种实现方式中,所述针对每一视频帧,确定所述视频帧对应的偏移预测值,具体包括:
[0095]
步骤s201、获取所述视频帧对应的若干参考视频帧;其中,所述若干参考视频帧为播放时间位于所述视频帧之前,且与所述视频帧相邻的若干连续视频帧;
[0096]
步骤s202、获取所述视频帧对应的原始稳化视频帧和所述若干参考视频帧分别对应的原始稳化视频帧;
[0097]
步骤s203、根据所述视频帧、所述视频帧对应的原始稳化视频帧、所述若干参考视频帧以及所述若干参考视频帧分别对应的原始稳化视频帧,确定第一图像偏移信息;
[0098]
步骤s204、根据所述视频帧和所述若干参考视频帧,确定第二图像偏移信息;
[0099]
步骤s205、将所述第一图像偏移信息和所述第二图像偏移信息输入预测模型,得到所述偏移预测值。
[0100]
本实施例以一个视频帧为例阐述本发明的视频稳化方法。为了对所述视频帧进行稳化处理,本实施例需要获取所述视频帧对应的若干参考视频帧,所述若干参考视频帧为播放时间位于所述视频帧之前,且与所述视频帧相邻的若干连续视频帧。可以理解的是,仅仅两帧视频帧之间产生的视频抖动是很微弱的,当用户感受到视频抖动时,往往是多个视频帧之间的视频抖动累计的结果,因此为了使得用户具有更佳的观感,本实施例在对一帧视频帧进行稳化处理时,需要参考与该视频帧相邻的若干连续视频帧。具体地,本实施例需要获取所述视频帧对应的原始稳化视频帧和所述若干参考视频帧分别对应的原始稳化视频帧。其中,原始稳化视频帧指的是根据运动估计得到的稳化矩阵对一帧视频帧进行稳化处理后得到的该帧视频帧对应的稳化视频帧。由于原始稳化视频帧有可能出现稳化越界的情况,因此本实施例不直接采用所述视频帧对应的原始稳化视频帧,而是需要先判断原始
稳化视频帧是否会出现稳化越界的情况。具体地,本实施例需要获得第一图像偏移信息,该第一图像偏移信息可以反映所述视频帧与所述视频帧对应的原始稳化视频帧之间的图像偏移信息,以及所述若干参考视频帧与所述若干参考视频帧分别对应的原始稳化视频帧之间的图像偏移信息。并获得第二图像偏移信息,该第二图像偏移信息可以反映所述视频帧和所述若干参考视频帧中,相邻两帧视频帧之间的图像偏移信息。然后将第一图像偏移信息和第二图像偏移信息输入预先训练好的预测模型中,所述预测模型即可基于输入的第一图像偏移信息和第二图像偏移信息预测出所述视频帧与其对应的原始稳化视频帧之间的图像偏移信息,即得到所述偏移预测值。
[0101]
举例说明,如图2所示,f3为所述视频帧,s3为f3对应的原始稳化视频帧,f2和f1为f3的参考视频帧,s2、s1分别为f2、f1的原始稳化视频帧。根据f3、s3、f2、s2、f1以及s1确定第一图像偏移信息,所述第一图像偏移信息可以反映f3与s3之间的图像偏移信息、f2与s2之间的图像偏移信息以及f1与s1之间的图像偏移信息,例如可以根据f3、s3中同一点对形成的线段的位置变化信息、f2、s2中同一点对形成的线段的位置变化信息以及f1、s1中同一点对形成的线段的位置变化信息确定所述第一图像偏移信息。根据f1、f2以及f3确定第二图像偏移信息,所述第二图像偏移信息可以确定f1与f2之间的图像偏移信息,以及f2与f3之间的图像偏移信息,例如可以根据f1与f2中同一点对形成的线段的位置变化信息、f2与f3中同一点对形成的线段的位置变化信息确定所述第二图像偏移信息。最后将所述第一图像偏移信息和所述第二图像偏移信息输入预测模型中,即可得到f3对应的偏移预测值。
[0102]
在一种实现方式中,步骤s203具体包括:
[0103]
步骤a1、根据所述视频帧和所述视频帧对应的原始稳化视频帧确定第一原始稳化矩阵,所述第一原始稳化矩阵用于反映所述视频帧与所述第一稳化视频帧之间的射影变换关系;
[0104]
步骤a2、根据所述若干参考视频帧和所述若干参考视频帧分别对应的原始稳化视频帧,确定所述若干参考视频帧分别对应的第二原始稳化矩阵;其中,针对所述若干参考视频帧中的每一视频帧,根据该视频帧和该视频帧对应的原始稳化视频帧确定该视频帧对应的第二原始稳化矩阵,该第二原始稳化矩阵用于反映该视频帧与该视频帧对应的第二稳化视频帧之间的射影变换关系;
[0105]
步骤a3、根据所述第一原始稳化矩阵和所述若干参考视频帧分别对应的第二原始稳化矩阵,确定第一图像偏移信息。
[0106]
由于第一图像偏移信息包括所述视频帧与其对应的原始稳化视频帧之间的图像偏移信息以及所述若干参考视频帧与各自对应的原始稳化视频帧之间的图像偏移信息,因此确定第一图像偏移信息需要先确定上述两种图像偏移信息。具体地,为了得到所述视频帧与其对应的原始稳化视频帧之间的图像偏移信息,本实施例需要根据所述视频帧与其对应的原始稳化视频帧确定第一原始稳化矩阵,所述第一原始稳化矩阵用于反映所述视频帧与所述第一稳化视频帧之间的射影变换关系,即所述视频帧基于所述第一原始稳化矩阵进行射影变换以后,即可得到其对应的原始稳化视频帧,因此所述第一原始稳化矩阵在一定程度上也可以反映所述视频帧与其对应的原始稳化视频帧之间的图像偏移信息。同理,为了得到所述若干参考视频帧与各自对应的原始稳化视频帧之间的图像偏移信息,本实施例需要确定所述若干参考视频帧各自对应的第二原始稳化矩阵,由于所述第二原始稳化矩阵
可以反映每一参考视频帧与其对应的原始视频帧之间的射影变换关系,因此在一定程度上也可以反映每一参考视频帧与其对应的原始视频帧之间的图像偏移信息。最后基于所述第一原始稳化矩阵和所述若干参考视频帧分别对应的第二原始稳化矩阵,就可以得到所述视频帧与其对应的原始稳化视频帧之间的图像偏移信息和所述若干参考视频帧与各自对应的原始稳化视频帧之间的图像偏移信息,即得到第一图像偏移信息。
[0107]
举例说明,如图2所示,假设所述视频帧为f3,且f1、f2为f3的参考视频帧,f3的原始稳化视频帧为s3,f2的原始稳化视频帧为s2,f1的原始稳化视频帧为s1,则需要获取反映f3与s3之间的射影变换关系的原始稳化矩阵r3,反映f2与s3之间的射影变换关系的原始稳化矩阵r3,以及反映f1与s1之间的射影变换关系的原始稳化矩阵r1,然后基于r1、r2以及r3确定第一图像偏移信息。
[0108]
在一种实现方式中,步骤s204具体包括:
[0109]
步骤b1、获取所述视频帧和所述若干参考视频帧中相邻两帧视频帧之间的运动矩阵,得到若干运动矩阵,所述若干运动矩阵中的每一运动矩阵用于反映与该运动矩阵所对应的相邻两帧视频帧之间的射影变换关系;
[0110]
步骤b2、根据所述若干运动矩阵确定第二图像偏移信息。
[0111]
具体地,由于第二图像偏移信息反映的是所述视频帧和所述若干参考视频帧中相邻两帧视频帧之间的图像偏移信息,因此为了确定第二图像偏移信息,本实施例需要获取所述视频帧和所述若干参考视频帧中相邻两帧视频帧之间的运动矩阵,得到若干运动矩阵。由于相邻两帧视频帧之间的运动矩阵可以反映相邻两帧视频帧时间的射影变换关系,即相邻两帧视频帧中的第一帧视频帧基于该运动矩阵进行射影变换后可以得到相邻两帧视频帧中的第二帧视频帧,因此该运动矩阵在一定程度上也可以反映相邻两帧视频帧之间的图像偏移信息。因此本实施例可以基于所述若干运动矩阵确定所述视频帧和所述若干参考视频帧中相邻两帧视频帧之间的图像偏移信息,即得到第二图像偏移信息。
[0112]
举例说明,如图2所示,假设所述视频帧为f3,且f1、f2为f3的参考视频帧,则需要获取反映f3与f2之间的射影变换关系的运动矩阵m3,以及反映f2与f1之间的射影变换关系的运动矩阵m2,然后基于m2、m3确定第二图像偏移信息。
[0113]
在一种实现方式中,所述偏移预测值包括:角度偏移预测值;步骤s205具体包括:
[0114]
步骤c1、获取第一角度偏移信息和第二角度偏移信息,其中,所述第一角度偏移信息为所述第一图像偏移信息中的角度偏移信息,所述第二角度偏移信息为所述第二图像偏移信息中的角度偏移信息;
[0115]
步骤c2、将所述第一角度偏移信息和所述第二角度偏移信息输入角度偏移预测模型,得到所述角度偏移预测值,其中,所述角度偏移预测模型为所述预测模型中用于预测所述视频帧与所述原始稳化视频帧之间的角度偏移值的模型。
[0116]
具体地,本实施例中的偏移预测值包括角度偏移预测值,所述角度偏移预测值可以用于矫正所述视频帧与其对应的原始稳化视频帧之间出现稳化越界时的偏转角度。为了得到所述角度偏移预测值,本实施例需要从第一图像偏移信息中提取出第一角度偏移信息,所述第一角度偏移信息可以反映所述视频帧与其对应的原始稳化视频帧之间的偏转角度,以及所述若干参考视频帧与各自对应的原始稳化视频帧之间的偏转角度。并从第二图像偏移信息中提取出第二角度偏移信息,所述第二角度偏移信息可以反映所述视频帧与所
述若干参考视频帧中相邻两帧视频帧之间的偏转角度。因此将所述第一角度偏移信息与所述第二角度偏移信息输入角度偏移预测模型中,所述角度偏移预测模型即可根据所述第一角度偏移信息和所述第二角度偏移信息计算得到当出现稳化越界时,所述视频帧与其对应的原始稳化视频帧之间偏转角度,进而计算出用于矫正该偏转角度的所述角度偏移预测值。
[0117]
举例说明,在实际应用中,为了保证稳化画面内容与原始视频内容在视觉上无畸变差异,在采用稳化矩阵对原始视频帧进行裁剪时,需要将裁剪方式限制为2维平面在3维空间中的旋转、等比缩放、位移等操作。如图2所示,f1是原始视频帧,s1是f1对应的稳化视频帧,可以明显看出,s1相较于f1而言,产生了一定的旋转角度,当该旋转角度过大时,s1的部分区域就会位于f1之外,即产生稳化越界的情况。因此该旋转角度的大小对于是否会产生稳化越界的情况至关重要。因此假设当前视频帧为第i帧视频帧,角度预测模型的模型隐变量为将第一角度偏移信息与第二角度偏移信息输入角度偏移预测模型model
θ
,model
θ
即输出第i帧视频帧对应的角度偏移预测值为θi。其中,model
θ
的工作原理如下所示:
[0118][0119]
其中,为第一角度偏移信息,为第二角度偏移信息,l为模型预测窗口长度,j∈[1,l]。
[0120]
在一种实现方式中,步骤c2具体包括:
[0121]
步骤c201、将所述第一角度偏移信息和所述第二角度偏移信息输入角度偏移预测模型,得到初始角度偏移预测值;
[0122]
步骤c202、根据所述原始稳化矩阵确定稳化剪裁范围,并根据所述稳化剪裁范围确定角度偏移范围;
[0123]
步骤c203、根据所述角度偏移范围对所述初始角度偏移预测值进行调整,以得到所述角度偏移预测值。
[0124]
具体地,为了保证所述角度偏移预测值的准确性,如图10所示,本实施例将所述第一角度偏移信息和所述第二角度偏移信息输入角度偏移预测模型之后,还需要对角度偏移预测模型输出的初始角度偏移预测值的取值范围进行调整。调整时需要参考所述视频帧对应的原始稳化矩阵得到一个稳化剪裁范围,所述稳化剪裁范围用于限定所述视频帧对应的目标稳化视频帧的位置,所述目标稳化视频帧为所述视频帧对应的不会出现稳化越界的稳化视频帧。因此,若稳化视频帧的位置超出所述稳化剪裁范围则有可能出现稳化越界的情况。本实施例根据所述稳化剪裁范围可以先确定角度偏移范围,所述角度偏移范围用于限定所述视频帧与其对应的目标稳化视频帧之间的最大偏转角度。然后基于所述角度偏移范围对所述初始角度偏移预测值进行调整,使得所述初始角度偏移预测值不会超出所述角度偏移范围,调整后即得到所述角度偏移预测值。可以理解的是,若所述初始角度偏移预测值位于所述角度偏移范围内,则无需对所述初始角度偏移预测值进行调整;若所述初始角度偏移预测值位于所述角度偏移范围外,则需要将所述初始角度偏移预测值的数值调整至所述角度偏移范围所对应的最大值。
[0125]
举例说明,将所述第一角度偏移信息和所述第二角度偏移信息输入角度偏移预测模型中,得到初始角度偏移预测值为10
°
,如图3所示,根据所述视频帧对应的原始稳化矩阵确定稳化剪裁范围为f1对应的矩形,根据所述稳化剪裁范围确定所述角度偏移范围为[0
°
,θ
°
],若10
°
小于或者等于θ
°
,则无需对所述初始角度偏移预测值进行调整,将10
°
作为所述角度偏移预测值;若10
°
大于θ
°
,则需要对所述初始角度偏移预测值进行调整至θ
°
,将θ
°
作为所述角度偏移预测值。
[0126]
在一种实现方式中,所述偏移预测值包括:水平位移预测值;步骤s205具体包括:
[0127]
步骤d1、获取第一水平位移信息和第二水平位移信息,其中,所述第一水平位移信息为所述第一图像偏移信息基于所述角度偏移预测值生成的水平位移信息,所述第二水平位移信息为所述第二图像偏移信息基于所述角度偏移预测值生成的水平位移信息;
[0128]
步骤d2、将所述第一水平位移信息和所述第二水平位移信息输入水平位移预测模型,得到所述水平位移预测值,所述水平位移预测模型为所述预测模型中用于预测所述视频帧与所述原始稳化视频帧之间的水平位移值的模型。
[0129]
具体地,本实施例中的偏移预测值还包括水平位移预测值,所述水平位移预测值可以用于矫正所述视频帧与其对应的原始稳化视频帧之间出现稳化越界时的水平位移量。为了得到所述水平位移预测值,本实施例需要根据所述角度偏移预测值从第一图像偏移信息中提取出第一水平位移信息,所述第一水平位移信息可以反映所述视频帧与其对应的原始稳化视频帧之间的水平位移量,以及所述若干参考视频帧与各自对应的原始稳化视频帧之间的水平位移量。并根据所述角度偏移预测值从第二图像偏移信息中提取出第二水平位移信息,所述第二水平位移信息可以反映所述视频帧与所述若干参考视频帧中相邻两帧视频帧之间的水平位移量。因此将所述第一水平位移信息和所述第二水平位移信息输入水平位移预测模型中,所述水平位移预测模型即可根据所述第一水平位移信息和所述第二水平位移信息计算得到当出现稳化越界时,所述视频帧与其对应的原始稳化视频帧之间的水平位移量,进而计算出用于矫正该水平位移量的所述水平位移预测值。
[0130]
举例说明,如图2所示,f1是原始视频帧,s1是f1对应的稳化视频帧,可以明显看出,s1相较于f1而言,不仅产生了一定的旋转角度,在水平方向上也产生了一定的位移。当该旋转角度确定时,若水平位移量过大,则s1的部分区域就会位于f1之外,即产生稳化越界的情况。因此当水平位移预测值确定时,f1与s1之间的水平位移量的大小对于是否会产生稳化越界的情况也至关重要。因此假设当前视频帧为第i帧视频帧,水平位移预测模型的模型隐变量为将第一水平位移信息与第二水平位移信息输入水平位移预测模型model
dx
,即输出第i帧视频帧对应的水平位移预测值为d
xi
。其中,model
dx
的工作原理如下所示:
[0131][0132]
其中,为第一水平位移信息,为第二水平位移信息,l为模型预测窗口长度,j∈[1,l]。
[0133]
在一种实现方式中,所述将所述第一水平位移信息和所述第二水平位移信息输入水平位移预测模型,得到所述水平位移预测值,具体包括:
[0134]
步骤d201、将所述第一水平位移信息和所述第二水平位移信息输入水平位移预测模型,得到初始水平位移预测值;
[0135]
步骤d202、根据所述稳化剪裁范围和所述角度偏移预测值确定水平位移范围;
[0136]
步骤d203、根据所述水平位移范围对所述初始水平位移预测值进行调整,得到所述水平位移预测值。
[0137]
具体地,为了保证所述水平位移预测值的准确性,本实施例将第一水平位移信息和第二水平位移信息输入水平位移预测模型之后,还需要对水平位移预测模型输出的初始水平位移预测值进行调整。调整时需要参考所述稳化剪裁范围以及所述角度偏移预测值,所述稳化剪裁范围用于限定所述视频帧对应的目标稳化视频帧的位置,所述角度偏移预测值可以用于矫正所述视频帧与其对应的原始稳化视频帧之间出现稳化越界时的偏转角度,因此在调整时可以先基于所述稳化剪裁范围和所述角度偏移预测值确定水平位移范围,所述水平位移范围用于限定所述视频帧与其对应的目标稳化视频帧之间的最大水平位移量。然后再基于所述水平位移范围对所述初始水平位移预测值进行调整,调整后即得到所述水平位移预测值。可以理解的是,若所述初始水平位移预测值位于所述水平位移范围之内,则无需对所述初始水平位移预测值进行调整;若所述初始水平位移预测值位于所述水平位移范围之外,则需要将所述初始水平位移预测值调整至所述水平位移范围所对应的最大值。
[0138]
举例说明,将所述第一水平位移信息和所述第二水平位移信息输入水平位移预测模型中,得到初始水平位移预测值为10,如图3所示,根据所述视频帧对应的原始稳化矩阵确定稳化剪裁范围为f1对应的矩形,根据所述稳化剪裁范围和角度偏移预测值θ
°
确定水平位移范围为[0,x],若10小于或者等于x,则无需对所述初始水平位移预测值进行调整,将10作为所述水平位移预测值;若10大于x,则需要对所述初始水平位移预测值进行调整至x,将x作为所述水平位移预测值。
[0139]
在一种实现方式中,所述偏移预测值包括:垂直位移预测值;步骤s205包括:
[0140]
步骤e1、获取第一垂直位移信息和第二垂直位移信息,其中,所述第一垂直位移信息为所述第一图像偏移信息基于所述角度偏移预测值生成的垂直位移信息,所述第二垂直位移信息为所述第二图像偏移信息基于所述角度偏移预测值生成的垂直位移信息;
[0141]
步骤e2、将所述第一垂直位移信息和所述第二垂直位移信息输入垂直位移预测模型,得到所述垂直位移预测值,其中,所述垂直位移预测模型为所述预测模型中用于预测所述视频帧和所述原始稳化视频帧之间的垂直位移值的模型。
[0142]
具体地,本实施例中的偏移预测值还包括垂直位移预测值,所述垂直位移预测值可以用于矫正所述视频帧与其对应的原始稳化视频帧之间出现稳化越界时的垂直位移量。为了得到所述垂直位移预测值,本实施例需要根据所述角度偏移预测值从第一图像偏移信息中提取出第一垂直位移信息,所述第一垂直位移信息可以反映所述视频帧与其对应的原始稳化视频帧之间的垂直位移量,以及所述若干参考视频帧与各自对应的原始稳化视频帧之间的垂直位移量。并根据所述角度偏移预测值从第二图像偏移信息中提取出第二垂直位移信息,所述第二垂直位移信息可以反映所述视频帧与所述若干参考视频帧中相邻两帧视频帧之间的垂直位移量。因此将所述第一垂直位移信息和所述第二垂直位移信息输入垂直位移预测模型中,所述垂直位移预测模型即可根据所述第一垂直位移信息和所述第二垂直位移信息计算得到当出现稳化越界时,所述视频帧与其对应的原始稳化视频帧之间的垂直
位移量,进而计算出用于矫正该垂直位移量的所述垂直位移预测值。
[0143]
举例说明,如图2所示,f1是原始视频帧,s1是f1对应的稳化视频帧,可以明显看出,s1相较于f1而言,不仅产生了一定的旋转角度,在垂直方向上也产生了一定的位移。当该旋转角度确定时,若垂直位移量过大,则s1的部分区域就会位于f1之外,即产生稳化越界的情况。因此当角度偏移预测值确定时,f1与s1之间的垂直位移量的大小对于是否会产生稳化越界的情况也至关重要。因此假设当前视频帧为第i帧视频帧,垂直位移预测模型的模型隐变量为将第一垂直位移信息与第二垂直位移信息输入垂直位移预测模型model
dy
,即输出第i帧视频帧对应的垂直位移预测值为d
yi
。其中,model
dy
的工作原理如下所示:
[0144][0145]
其中,为第一垂直位移信息,为第二垂直位移信息,l为模型预测窗口长度,j∈[1,l]。
[0146]
在一种实现方式中,步骤e2具体包括:
[0147]
步骤e201、将所述第一垂直位移信息和所述第二垂直位移信息输入垂直位移预测模型,得到初始垂直位移预测值;
[0148]
步骤e202、根据所述稳化剪裁范围和所述角度偏移预测值确定垂直位移范围;
[0149]
步骤e203、根据所述垂直位移范围对所述初始垂直位移预测值进行调整,以得到所述垂直位移预测值。
[0150]
具体地,为了保证所述垂直位移预测值的准确性,本实施例将第一垂直位移信息和第二垂直位移信息输入垂直位移预测模型之后,还需要对垂直位移预测模型输出的初始垂直位移预测值进行调整。调整时需要参考所述稳化剪裁范围以及所述角度偏移预测值,所述稳化剪裁范围用于限定所述视频帧对应的目标稳化视频帧的位置,所述角度偏移预测值可以用于矫正所述视频帧与其对应的原始稳化视频帧之间出现稳化越界时的偏转角度,因此在调整时可以先基于所述稳化剪裁范围和所述角度偏移预测值确定垂直位移范围,所述垂直位移范围用于限定所述视频帧与其对应的目标稳化视频帧之间的最大垂直位移量。然后再基于所述垂直位移范围对所述初始垂直位移预测值进行调整,调整后即得到所述垂直位移预测值。可以理解的是,若所述初始垂直位移预测值位于所述垂直位移范围之内,则无需对所述初始垂直位移预测值进行调整;若所述初始垂直位移预测值位于所述垂直位移范围之外,则需要将所述初始垂直位移预测值调整至所述垂直位移范围所对应的最大值。
[0151]
举例说明,将所述第一垂直位移信息和所述第二垂直位移信息输入垂直位移预测模型中,得到初始垂直位移预测值为8,如图3所示,根据所述视频帧对应的原始稳化矩阵确定稳化剪裁范围为f1对应的矩形,根据所述稳化剪裁范围和角度偏移预测值θ
°
确定垂直位移范围为[0,y],若8小于或者等于y,则无需对所述初始垂直位移预测值进行调整,将8作为所述垂直位移预测值;若8大于y,则需要对所述初始垂直位移预测值进行调整至y,将y作为所述垂直位移预测值。
[0152]
在一种实现方式中,所述根据所述偏移预测值,对所述视频帧进行稳化处理,得到所述视频帧的稳化视频帧,具体包括:
[0153]
步骤s206、根据所述偏移预测值生成矫正矩阵;
[0154]
步骤s207、根据所述矫正矩阵对所述第一原始稳化矩阵进行矫正,得到所述视频帧对应的目标稳化矩阵;
[0155]
步骤s208、根据所述目标稳化矩阵对所述视频帧进行稳化处理,得到所述视频帧的稳化视频帧。
[0156]
具体地,由于所述偏移预测值可以用于矫正所述视频帧对应的原始稳化视频帧出现稳化越界时的偏移量,因此本实施例可以根据所述偏移预测值生成一个矫正矩阵,并根据所述矫正矩阵调整所述视频帧对应的原始稳化矩阵,即第一原始稳化矩阵,得到目标稳化矩阵。由于本技术根据所述偏移预测值矫正了所述视频帧与其对应的原始稳化视频帧之间的偏移量,即矫正了所述视频帧与其对应的原始稳化视频帧之前的射影关系,因此基于得到的目标稳化矩阵对所述视频帧进行稳化处理得到的稳化视频帧不会出现稳化越界的情况。
[0157]
举例说明,假设根据所述偏移预测值生成矫正矩阵ni,第一原始稳化矩阵为r1,则目标稳化矩阵r1’=r1*ni。
[0158]
在一种实现方式中,所述偏移预测值包括所述角度偏移预测值、所述水平位移预测值以及所述垂直位移预测值,则根据所述角度偏移预测值、所述水平位移预测值以及所述垂直位移预测值生成所述矫正矩阵。
[0159]
具体地,由于所述角度偏移预测值、所述水平位移预测值以及所述垂直位移预测值可以分别用于矫正所述视频帧与其对应的稳化视频帧之间的旋转角度、水平位移量以及垂直位移量,因此为了保证所述视频帧对应的目标稳化视频帧不会出现稳化越界的情况,本实施例需要将所述角度偏移预测值、所述水平位移预测值以及所述垂直位移预测值三种预测值相结合,得到所述矫正矩阵。
[0160]
举例说明,本实施例的目标是对所述视频帧对应的第一原始稳化矩阵进行矫正,得到畸变程度较小、视频稳化效果更好的目标稳化矩阵。首先本实施例需要说明如何判断稳化矩阵的视频稳化效果:
[0161]
由现有技术中,相邻两帧视频帧f
i-1
,fi、运动矩阵mi、平滑运动矩阵ki以及稳化矩阵ri之间的推算关系可以得到:
[0162][0163][0164]
令p表示图像中的采样点集合(p可以是图像中的所有点的集合矩阵)。显然,如下述公式所示,对于同样的采样点集合,相邻视频帧的运动速度或加速度的差异越小,稳化效果越好。
[0165][0166]
本实施例采用角度偏移预测值、水平位移预测值、垂直位移预测值共同生成矫正矩阵,并根据矫正矩阵对所述第一原始稳化矩阵进行矫正后,得到目标稳化矩阵。则矫正矩
阵ni、第一原始稳化矩阵ri以及目标稳化矩阵之间满足如下关系:
[0167][0168]
从而得到如下公式:
[0169][0170]
为了获得最佳的视频稳化效果,本实施例的目标是确定矫正矩阵ni,并使得下述稳化损失函数取得最小值:
[0171][0172]
在一种实现方式中,所述矫正矩阵ni被简化为下述矩阵形式:
[0173][0174]
其中分别为角度偏移预测值,水平位移预测值和垂直位移预测值。确定完毕矫正矩阵ni以后,即根据矫正矩阵ni对所述第一原始稳化矩阵进行矫正,矫正完毕以后得到目标稳化矩阵。
[0175]
在一种实现方式中,所述预测模型为经过训练的模型,所述预测模型的训练过程为:
[0176]
步骤f1、将训练数据中的第三图像偏移信息和第四图像偏移信息输入原始预测模型,通过所述原始预测模型生成所述第三图像偏移信息和所述第四图像偏移信息对应的偏移预测值,其中,所述训练数据包括多组训练信息组,每一组训练信息组包括第三图像偏移信息、第四图像偏移信息和标准偏移值,所述标准偏移值为第三图像偏移信息和第四图像偏移信息所对应的偏移值;
[0177]
步骤f2、根据所述第三图像偏移信息和所述第四图像偏移信息对应的标准偏移值和所述第三图像偏移信息和所述第四图像偏移信息对应的偏移预测值,对所述原始预测模型的模型参数进行调整,并继续执行所述将训练数据中的第三图像偏移信息和第四图像偏移信息输入原始预测模型的步骤,直至满足预设训练条件,以得到所述预测模型。
[0178]
具体地,本实施例中的训练数据包括多组训练信息组,每一组训练信息组包括第三图像偏移信息、第四图像偏移信息和标准偏移值,所述标准偏移值即相当于所述第三图像偏移信息和所述第四图像偏移信息对应的真实标签。然后将所述第三图像偏移信息和所述第四图像偏移信息输入未经过训练的原始预测模型中,得到所述原始预测模型输出的偏移预测值,将该偏移预测值与所述标准偏移值进行比较,可以得到该偏移预测值与所述标准偏移值之间的差距,进而根据所述标准偏移值对所述原始预测模型的模型参数进行调整,以实现减小所述原始预测模型输出的偏移预测值与所述标准偏移值之间的差距,重复上述步骤直至所述原始预测模型输出的偏移预测值与所述标准偏移值之间的差距满足预设训练条件,即得到训练完毕的预测模型。
[0179]
在一种实现方式中,如图11所示,为了提高训练效率,本实施例还可以采用多个视
频样本组成训练包对原始预测模型进行训练。具体地,对于单个视频样本,随机选择视频帧idx,从第1帧开始进行预测至idx-1帧,每预测一次可以得到一组模型隐变量,即角度偏移预测模型、水平位移预测模型以及垂直位移预测模型分别对应的模型隐变量,得到l组模型隐变量以及最后l-1帧对应的角度偏移预测值从idx帧开始预测窗口大小从过去l帧中抽取每一帧对应的原始稳化矩阵r中的第一角度偏移信息,以及运动矩阵m中的第二角度偏移信息、第二水平位移信息、第二垂直位移信息,并将所有第一角度偏移信息合并为所有第二角度偏移信息合并为所有第二水平位移信息合并为所有第二垂直位移信息合并为并将多个视频样本分别对应的角度偏移预测模型、水平位移预测模型以及垂直位移预测模型的模型隐变量按隐变量的类型进行组合,得到角度偏移隐变量矩阵{h
θ
}、水平位移隐变量矩阵{h
dx
}、垂直位移隐变量矩阵{h
dy
}。将多个视频样本分别对应的组合成第一角度偏移信息参数包将多个视频样本分别对应的组合成第二角度偏移信息参数包将多个视频样本分别对应的组合成第二水平位移参数包将多个视频样本分别对应的组合成第二垂直位移参数包将多个视频样本分别对应的组合成角度偏移预测值参数包θ
pre
。然后将。然后将{h
θ
}输入原始角度偏移预测模型,得到初始角度偏移预测值,并通过各视频样本的所有原始稳化矩阵生成的目标原始稳化矩阵r确定稳化剪裁范围,根据剪裁范围对初始角度偏移预测值进行调整,得到当前帧的角度偏移预测值θ。将θ
pre
与θ进行合并,生成更新后的角度偏移预测值参数包θ
merge
。根据θ
merge
与目标原始稳化矩阵r,提取出第一水平位移信息第一垂直位移信息然后将然后将以及{h
dx
}输入水平位移预测模型,得到初始水平位移预测值,并通过目标原始稳化矩阵r和当前帧的角度偏移预测值θ生成水平位移范围,并根据水平位移范围对初始水平位移预测值进行调整,得到当前帧的水平位移预测值dx。类似地,将似地,将以及{h
dy
}输入垂直位移预测模型,得到初始垂直位移预测值,并通过目标原始稳化矩阵r和当前帧的角度偏移预测值θ生成垂直位移范围,并根据垂直位移范围对初始垂直位移预测值进行调整,得到当前帧的垂直位移预
测值dy。结合当前帧的角度偏移预测值θ、当前帧的水平位移预测值dx以及当前帧的水平位移预测值dy生成矫正矩阵n。获取当前帧对应的标准角度偏移预测值、标准水平位移预测值、标准垂直位移预测值,根据标准角度偏移预测值、标准水平位移预测值、标准垂直位移预测值生成标准矫正矩阵n’,将矫正矩阵n与标准矫正矩阵n’代入损失函数中,计算反向梯度分别对角度偏移预测模型、水平位移预测模型以及垂直位移预测模型的模型参数进行更新。
[0180]
其中,损失函数的公式如下所示:
[0181][0182]
其中,p为所有视频样本中的视频帧的所有点组成的集合矩阵;ni为第i个视频帧对应的矫正矩阵;ki为第i个视频帧对应的运动矩阵。
[0183]
在一种实现方式中,为了进行一步提升预测模型的预测效果,如图4所示,本实施例可以采用特征加权匹配模型建立预测模型,所述特征加权匹配模型的概念公式如下所示:
[0184][0185]
其中,xi表示查询条件特征,xj表示待检索特征。qi表示查询条件,kj表示匹配项,vj表示检索返回内容信息。当qi与kj的匹配程度越高,对应的vj对最终的模型输出结果贡献越大。本实施例将从原始运动矩阵中抽取的偏移特征数据作为xi表示查询条件特征,从原始稳化矩阵中抽取的偏移特征数据作为xj表示待检索特征进行建模。可以理解的是,如图2所示,由于一个原始运动矩阵只与两个原始稳化矩阵关联,因此本实施例在检索窗口中将使用l-1个匹配模型构成网络,l指的是待处理视频帧的数量够。在一种实现方式中,特征加权匹配模型内部还将使用原始运动矩阵的线性变换结果预测结果。
[0186]
为了验证本发明的技术效果,发明人使用50个长度3分钟以上的移动拍摄1080p视频进行训练,并用30个视频进行验证测试,统计结果如散点图5所示。结果表明本发明稳化效果平均每帧提升2像素左右。如图6,7所示,图6,7为相邻两帧视频帧,采用本发明的方法确目标稳化矩阵,剪裁出来的稳化视频帧的四条边框基本都位于原始视频帧的四条边框之内。而基于现有技术确定的原始稳化矩阵,剪裁出来的稳化视频帧的四条边框出现了与原始视频帧的四条边框重叠或者越界的情况。因此本发明能够有效降低现有技术中,仅从原始视频帧的运动估计与平滑运动估计进行运动推算得到的稳化矩阵,在进行视频稳化时容易出现稳化越界的问题。
[0187]
示例性设备
[0188]
基于上述实施例,本发明还提供了一种视频稳化装置,如图8所示,所述装置包括:
[0189]
获取模块01,用于获取待处理视频帧;
[0190]
稳化模块02,确定所述待处理视频帧中非首帧的每一视频帧的稳化视频帧;其中,针对每一视频帧,确定所述视频帧对应的偏移预测值;根据所述偏移预测值,对所述视频帧
进行稳化处理,得到所述视频帧的稳化视频帧;
[0191]
输出模块03,根据所述待处理视频帧中首帧视频帧和所述待处理视频帧中非首帧的每一视频帧的稳化视频帧,确定所述待处理视频帧对应的稳化视频。
[0192]
基于上述实施例,本发明还提供了一种终端设备,其原理框图可以如图9所示。该终端设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏。其中,该终端设备的处理器用于提供计算和控制能力。该终端设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种视频稳化方法。该终端设备的显示屏可以是液晶显示屏或者电子墨水显示屏。
[0193]
本领域技术人员可以理解,图9中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端设备的限定,具体的终端设备以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0194]
在一个实施例中,提供了一种终端设备,终端设备包括存储器、处理器及存储在存储器中并可在处理器上运行的视频稳化程序,处理器执行视频稳化程序时,实现如下操作指令:
[0195]
获取待处理视频帧;
[0196]
确定所述待处理视频帧中非首帧的每一视频帧的稳化视频帧;其中,针对每一视频帧,确定所述视频帧对应的偏移预测值;根据所述偏移预测值,对所述视频帧进行稳化处理,得到所述视频帧的稳化视频帧;
[0197]
根据所述待处理视频帧中首帧视频帧和所述待处理视频帧中非首帧的每一视频帧的稳化视频帧,确定所述待处理视频帧对应的稳化视频。
[0198]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0199]
综上所述,本发明提供一种视频稳化方法、装置、终端及存储介质,所述方法通过获取待处理视频帧;确定所述待处理视频帧中非首帧的每一视频帧的稳化视频帧;其中,针对每一视频帧,确定所述视频帧对应的偏移预测值;根据所述偏移预测值,对所述视频帧进行稳化处理,得到所述视频帧的稳化视频帧;根据所述待处理视频帧中首帧视频帧和所述待处理视频帧中非首帧的每一视频帧的稳化视频帧,确定所述待处理视频帧对应的稳化视频。由于所述偏移预测值可以用于矫正所述视频帧对应的原始稳化视频帧出现稳化越界时的偏移量,因此本发明根据视频帧的偏移预测值对视频帧进行稳化处理,得到的稳化视频
帧不会再出现稳化越界,从而解决现有的稳化矩阵在对视频帧进行稳化后,容易出现稳化越界的问题。
[0200]
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献