视频抖动校正方法、装置、可读存储介质及电子设备转让专利

申请号 : CN201911000186.X

文献号 : CN110708465B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 苏博文侯峰周凡张长定张伟

申请人 : 厦门美图之家科技有限公司

摘要 :

本申请提供一种视频抖动校正方法、装置、可读存储介质及电子设备,通过采样图像的第一移动距离和采样图像对应的匹配IMU信息的第二移动距离来对采样图像对应的匹配IMU信息的旋转参数进行校正,从而根据校正后的旋转参数来对所述采样图像进行抖动校正。所述方法包括:对视频进行采样,得到至少两帧采样图像;获取视频的第一IMU序列;从采样图像中获取第一采样图像,计算目标特征点的第一移动距离、旋转参数以及第二移动距离;根据所述第一移动距离和所述第二移动距离对所述旋转参数进行校正;根据校正后的所述旋转参数对所述第一采样图像进行抖动校正。本方案能够减小对视频防抖校正过程中的误差,使得校正后的图像更加精确。

权利要求 :

1.一种视频抖动校正方法,其特征在于,应用于电子设备,所述方法包括:

对所述视频进行采样,得到至少两帧采样图像;

获取所述视频的第一IMU序列,所述第一IMU序列包括各采样图像的匹配IMU信息;

从所述采样图像中选择非首帧的任意一采样图像作为第一采样图像,根据该第一采样图像以及该第一采样图像之前且与所述第一采样图像相邻的第二采样图像,计算所述第一采样图像中目标特征点在第一采集时间间隔内在相机坐标系中的第一移动距离;

根据所述第一采样图像对应的匹配IMU信息及所述第二采样图像对应的匹配IMU信息,计算该第一采样图像的匹配IMU信息对应的旋转参数,所述旋转参数包括在第一采集时间间隔内目标特征点的第一空间旋转角度,所述第一采集时间间隔为所述第一采样图像的采集时间与所述第二采样图像的采集时间之间的间隔,所述第一空间旋转角度根据所述第一采样图像的匹配IMU信息及所述第二采样图像的匹配IMU信息计算获得;

根据所述旋转参数计算所述第一采样图像中的目标特征点在第一采集时间间隔内在相机坐标系中的第二移动距离;

根据所述第一移动距离和所述第二移动距离对所述旋转参数进行校正;

根据校正后的所述旋转参数对所述第一采样图像进行抖动校正;

其中,所述获取所述视频的第一IMU序列的步骤包括:

获取所述视频的第二IMU序列,所述第二IMU序列包括多个原始IMU信息;

针对每个非首帧的所述采样图像,获取该采样图像的中间IMU信息,所述中间IMU信息为采集时间与该采样图像的采集时间最近的原始IMU信息;

针对每个所述采样图像的中间IMU信息,将该中间IMU信息作为第一中间IMU信息,根据该第一中间IMU信息以及该第一中间IMU信息前一相邻的第二中间IMU信息,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离,所述第二采集时间间隔为所述第一中间IMU信息的采集时间与所述第二中间IMU信息的采集时间之间的间隔;

根据每个所述采样图像对应的第一移动距离、该采样图像的采集时间以及该采样图像的第一中间IMU信息对应的第三移动距离,获取所述视频与所述第二IMU序列之间的延迟时间;

针对每帧所述采样图像,根据所述延迟时间以及所述第二IMU序列获取与该采样图像对应的匹配IMU信息。

2.根据权利要求1所述的方法,其特征在于,所述根据该第一中间IMU信息以及该第一中间IMU信息前一相邻的第二中间IMU信息,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离的步骤包括:针对每个所述采样图像的第一中间IMU信息,获取所述第一中间IMU信息中的角速度以及该第一中间IMU信息前一相邻的所述第二中间IMU信息中的角速度;

根据所述第一中间IMU信息中的角速度以及所述第二中间IMU信息中的角速度,计算该第一中间IMU信息对应的第二空间旋转角度,所述第二空间旋转角度为第二采集时间间隔内所述目标特征点在空间中旋转的角度;

将所述第二空间旋转角度转化为四元数;

根据所述第二中间IMU信息对应的第一位置和所述四元数,计算所述第一中间IMU信息对应的第二位置;所述第一位置为在所述第二中间IMU信息的采集时间时,所述目标特征点在相机坐标系中的位置;所述第二位置为在所述第一中间IMU信息的采集时间时,所述目标特征点在相机坐标系中的位置;

根据所述第一中间IMU信息对应的第二位置以及述第二中间IMU信息对应的第一位置,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离。

3.根据权利要求1所述的方法,其特征在于,所述针对每帧所述采样图像,根据所述延迟时间以及所述第二IMU序列获取与该采样图像对应的匹配IMU信息的步骤包括:针对每帧所述采样图像,将该采样图像的采集时间减去所述延迟时间获得与该采样图像对应的校准时间;

从第二IMU序列中获取采集时间与所述校准时间相邻的原始IMU信息;

根据所述原始IMU信息进行插值,获得与该采样图像对应的匹配IMU信息。

4.根据权利要求1所述的方法,其特征在于,所述旋转参数为所述第一空间旋转角度的四元数,所述根据所述第一移动距离和所述第二移动距离对所述旋转参数进行校正的步骤包括:获取所述第一采样图像的第一移动距离与该第一采样图像的匹配IMU信息对应的第二移动距离的差值;

判断所述差值的绝对值是否大于预设的差值阈值;

如果所述差值的绝对值大于所述差值阈值,则对该第一采样图像对应的匹配IMU信息的四元数进行校正,获得校正后的四元数。

5.根据权利要求1所述的方法,其特征在于,在所述根据校正后的所述旋转参数对所述第一采样图像进行抖动校正的步骤后,所述方法还包括:针对每帧采样图像,选择任意一帧作为目标采样图像,根据目标采样图像校正后的图像以及目标采样图像后的预设数量帧采样图像各自校正后的图像,计算目标采样图像对应的画面损失比例的平均值;

判断是否存在采样图像对应的画面损失比例的平均值超过预设损失比例;

如果存在采样图像对应的画面损失比例的平均值超过所述预设损失比例,则根据该采样图像的画面损失比例调整该目标采样图像对应的校正后的旋转参数,获得新的校正后的旋转参数,并重新根据新的校正后的旋转参数对该采样图像进行抖动校正处理。

6.一种视频抖动校正装置,其特征在于,应用于电子设备所述装置包括:

第一获取模块,用于对所述视频进行采样,得到至少两帧采样图像;

第二获取模块,用于获取所述视频的第一IMU序列,所述第一IMU序列包括各采样图像的匹配IMU信息;

第一计算模块,用于从所述采样图像中选择非首帧的任意一采样图像作为第一采样图像,根据该第一采样图像以及该第一采样图像之前且与所述第一采样图像相邻的第二采样图像,计算所述第一采样图像中目标特征点在第一采集时间间隔内在相机坐标系中的第一移动距离;

第二计算模块,根据所述第一采样图像对应的匹配IMU信息及所述第二采样图像对应的匹配IMU信息,计算该第一采样图像的匹配IMU信息对应的旋转参数,所述旋转参数包括在第一采集时间间隔内目标特征点的第一空间旋转角度,所述第一采集时间间隔为所述第一采样图像的采集时间与所述第二采样图像的采集时间之间的间隔,所述第一空间旋转角度根据所述第一采样图像的匹配IMU信息及所述第二采样图像的匹配IMU信息计算获得;

第三计算模块,用于根据所述旋转参数计算所述第一采样图像中的目标特征点在第一采集时间间隔内在相机坐标系中的第二移动距离;

滤波模块,用于根据所述第一移动距离和所述第二移动距离对所述旋转参数进行校正;

校正模块,用于根据校正后的所述旋转参数对所述第一采样图像进行抖动校正;

其中,所述第二获取模块具体用于:

获取所述视频的第二IMU序列,所述第二IMU序列包括多个原始IMU信息;

针对每个非首帧的所述采样图像,获取该采样图像的中间IMU信息,所述中间IMU信息为采集时间与该采样图像的采集时间最近的原始IMU信息;

针对每个所述采样图像的中间IMU信息,将该中间IMU信息作为第一中间IMU信息,根据该第一中间IMU信息以及该第一中间IMU信息前一相邻的第二中间IMU信息,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离,所述第二采集时间间隔为所述第一中间IMU信息的采集时间与所述第二中间IMU信息的采集时间之间的间隔;

根据每个所述采样图像对应的第一移动距离、该采样图像的采集时间以及该采样图像的第一中间IMU信息对应的第三移动距离,获取所述视频与所述第二IMU序列之间的延迟时间;

针对每帧所述采样图像,根据所述延迟时间以及所述第二IMU序列获取与该采样图像对应的匹配IMU信息。

7.一种可读存储介质,其特征在于,所述可读存储介质存储有可执行指令,处理器执行所述可执行指令时,实现如权利要求1-6任一项所述的方法。

8.一种电子设备,其特征在于,所述电子设备包括存储器、和处理器,所述存储器存储与所述处理器电性连接以进行数据交互,所述存储器存储有可执行程序,所述处理器执行所述可执行程序时,实现如权利要求1-5任一项所述的方法。

说明书 :

视频抖动校正方法、装置、可读存储介质及电子设备

技术领域

[0001] 本申请涉及视频图像处理技术领域,具体而言,涉及一种视频抖动校正方法、装置、可读存储介质及电子设备。

背景技术

[0002] 在视频拍摄过程中,由于拍摄设备本身的状态不够稳定,因此,会引入抖动,从而导致获取的视频的效果不佳。现有技术中,通用的视频防抖技术是IMU(Inertial Measurement Unit,惯性测量仪)视频防抖和特征点防抖。采用IMU来进行视频防抖的原理为,利用IMU信息中的角速度,根据各时刻的IMU传感器信息中的角度计算出每一帧对应的相机运动情况,进而对采集的图像进行校正。但是,IMU容易受到硬件条件的影响,例如,当IMU自身噪声较大或者温度过高时,就会给其中的传感器带来较大的误差。
[0003] 而采用特征点来进行防抖的原理为,从各帧图像中检测特征点,然后根据特征点来估计相机的运动轨迹。但是,这种方式中特征点的检测会受到画质光线等的影响,当画面模糊或者光线较暗时,特征点丢失同样会引入计算误差,从而会导致校正的视频不够精确。

发明内容

[0004] 为了至少克服现有技术中的上述不足,本申请的目的之一在于提供一种视频抖动校正方法,应用于电子设备,所述方法包括:
[0005] 对所述视频进行采样,得到至少两帧采样图像;
[0006] 获取所述视频的第一IMU序列,所述第一IMU序列包括各采样图像的匹配IMU信息;
[0007] 从所述采样图像中选择非首帧的任意一采样图像作为第一采样图像,根据该第一采样图像以及该第一采样图像之前且与所述第一采样图像相邻的第二采样图像,计算所述第一采样图像中目标特征点在第一采集时间间隔内在相机坐标系中的第一移动距离;
[0008] 根据所述第一采样图像对应的匹配IMU信息及所述第二采样图像对应的匹配IMU信息,计算该第一采样图像的匹配IMU信息对应的旋转参数,所述旋转参数包括在第一采集时间间隔内目标特征点的第一空间旋转角度,所述第一采集时间间隔为所述第一采样图像的采集时间与所述第二采样图像的采集时间之间的间隔,所述第一空间旋转角度根据所述第一采样图像的匹配IMU信息及所述第二采样图像的匹配IMU信息计算获得;
[0009] 根据所述旋转参数计算所述第一采样图像中的目标特征点在第一采集时间间隔内在相机坐标系中的第二移动距离;
[0010] 根据所述第一移动距离和所述第二移动距离对所述旋转参数进行校正;
[0011] 根据校正后的所述旋转参数对所述第一采样图像进行抖动校正。
[0012] 可选地,所述获取所述视频的第一IMU序列的步骤包括:
[0013] 获取所述视频的第二IMU序列,所述第二IMU序列包括多个原始IMU信息;
[0014] 针对每个非首帧的所述采样图像,获取该采样图像的中间IMU信息,所述中间IMU信息为采集时间与该采样图像的采集时间最近的原始IMU信息;
[0015] 针对每个所述采样图像的中间IMU信息,将该中间IMU信息作为第一中间IMU信息,根据该第一中间IMU信息以及该第一中间IMU信息前一相邻的第二中间IMU信息,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离,所述第二采集时间间隔为所述第一中间IMU信息的采集时间与所述第二中间IMU信息的采集时间之间的间隔;
[0016] 根据每个所述采样图像对应的第一移动距离、该采样图像的采集时间以及该采样图像的第一中间IMU信息对应的第三移动距离,获取所述视频与所述第二IMU序列之间的延迟时间;
[0017] 针对每帧所述采样图像,根据所述延迟时间以及所述第二IMU序列获取与该采样图像对应的匹配IMU信息。
[0018] 可选地,所述根据该第一中间IMU信息以及该第一中间IMU信息前一相邻的第二中间IMU信息,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离的步骤包括:
[0019] 针对每个所述采样图像的第一中间IMU信息,获取所述第一中间IMU信息中的角速度以及该第一中间IMU信息前一相邻的所述第二中间IMU信息中的角速度;
[0020] 根据所述第一中间IMU信息中的角速度以及所述第二中间IMU信息中的角速度,计算该第一中间IMU信息对应的第二空间旋转角度,所述第二空间旋转角度为第二采集时间间隔内所述目标特征点在空间中旋转的角度;
[0021] 将所述第二空间旋转角度转化为四元数;
[0022] 根据所述第二中间IMU信息对应的第一位置和所述四元数,计算所述第一中间IMU信息对应的第二位置;所述第一位置为在所述第二中间IMU信息的采集时间时,所述目标特征点在相机坐标系中的位置;所述第二位置为在所述第一中间IMU信息的采集时间时,所述目标特征点在相机坐标系中的位置;
[0023] 根据所述第一中间IMU信息对应的第二位置以及述第二中间IMU信息对应的第一位置,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离。
[0024] 可选地,所述针对每帧所述采样图像,根据所述延迟时间以及所述第二IMU序列获取与该采样图像对应的匹配IMU信息的步骤包括:
[0025] 针对每帧所述采样图像,将该采样图像的采集时间减去所述延迟时间获得与该采样图像对应的校准时间;
[0026] 从第二IMU序列中获取采集时间与所述校准时间相邻的原始IMU信息;
[0027] 根据所述原始IMU信息进行插值,获得与该采样图像对应的匹配IMU信息。
[0028] 可选地,所述旋转参数为所述第一空间旋转角度的四元数,所述根据所述第一移动距离和所述第二移动距离对所述旋转参数进行校正的步骤包括:
[0029] 获取所述第一采样图像的第一移动距离与该第一采样图像的匹配IMU信息对应的第二移动距离的差值;
[0030] 判断所述差值的绝对值是否大于预设的差值阈值;
[0031] 如果所述差值的绝对值大于所述差值阈值,则对该第一采样图像对应的匹配IMU信息的四元数进行校正,获得校正后的四元数。
[0032] 可选地,在所述根据校正后的所述旋转参数对所述第一采样图像进行抖动校正的步骤后,所述方法还包括:
[0033] 针对每帧采样图像,选择任意一帧作为目标采样图像,根据目标采样图像校正后的图像以及目标采样图像后的预设数量帧采样图像各自校正后的图像,计算目标采样图像对应的画面损失比例的平均值;
[0034] 判断是否存在采样图像对应的画面损失比例的平均值超过预设损失比例;
[0035] 如果存在采样图像对应的画面损失比例的平均值超过所述预设损失比例,则根据该采样图像的画面损失比例调整该目标采样图像对应的校正后的旋转参数,获得新的校正后的旋转参数,并重新根据新的校正后的旋转参数对该采样图像进行抖动校正处理。
[0036] 本申请的另一目的在于提供一种视频抖动校正装置,应用于电子设备所述装置包括:
[0037] 第一获取模块,用于对所述视频进行采样,得到至少两帧采样图像;
[0038] 第二获取模块,用于获取所述视频的第一IMU序列,所述第一IMU序列包括各采样图像的匹配IMU信息;
[0039] 第一计算模块,用于从所述采样图像中选择非首帧的任意一采样图像作为第一采样图像,根据该第一采样图像以及该第一采样图像之前且与所述第一采样图像相邻的第二采样图像,计算所述第一采样图像中目标特征点在第一采集时间间隔内在相机坐标系中的第一移动距离;
[0040] 第二计算模块,根据所述第一采样图像对应的匹配IMU信息及所述第二采样图像对应的匹配IMU信息,计算该第一采样图像的匹配IMU信息对应的旋转参数,所述旋转参数包括在第一采集时间间隔内目标特征点的第一空间旋转角度,所述第一采集时间间隔为所述第一采样图像的采集时间与所述第二采样图像的采集时间之间的间隔,所述第一空间旋转角度根据所述第一采样图像的匹配IMU信息及所述第二采样图像的匹配IMU信息计算获得;
[0041] 第三计算模块,用于根据所述旋转参数计算所述第一采样图像中的目标特征点在第一采集时间间隔内在相机坐标系中的第二移动距离;
[0042] 滤波模块,用于根据所述第一移动距离和所述第二移动距离对所述旋转参数进行校正;
[0043] 校正模块,用于根据校正后的所述旋转参数对所述第一采样图像进行抖动校正。
[0044] 可选地,所述第二获取模块具体用于:
[0045] 获取所述视频的第二IMU序列,所述第二IMU序列包括多个原始IMU信息;
[0046] 针对每个非首帧的所述采样图像,获取该采样图像的中间IMU信息,所述中间IMU信息为采集时间与该采样图像的采集时间最近的原始IMU信息;
[0047] 针对每个所述采样图像的中间IMU信息,将该中间IMU信息作为第一中间IMU信息,根据该第一中间IMU信息以及该第一中间IMU信息前一相邻的第二中间IMU信息,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离,所述第二采集时间间隔为所述第一中间IMU信息的采集时间与所述第二中间IMU信息的采集时间之间的间隔;
[0048] 根据每个所述采样图像对应的第一移动距离、该采样图像的采集时间以及该采样图像的第一中间IMU信息对应的第三移动距离,获取所述视频与所述第二IMU序列之间的延迟时间;
[0049] 针对每帧所述采样图像,根据所述延迟时间以及所述第二IMU序列获取与该采样图像对应的匹配IMU信息。
[0050] 本申请的另一目的在于提供一种可读存储介质,所述可读存储介质存储有可执行指令,处理器执行所述可执行指令时,实现如本申请任一项所述的方法。
[0051] 本申请的另一目的在于提供一种电子设备,所述电子设备包括存储器、和处理器,所述存储器存储与所述处理器电性连接以进行数据交互,所述存储器存储有可执行程序,所述处理器执行所述可执行程序时,实现如本申请任一项所述的方法。
[0052] 相对于现有技术而言,本申请具有以下有益效果:
[0053] 本申请实施例中,通过计算出目标特征点在第一采样图像以及第二采样图像之间的第一采集时间间隔内,在相机坐标系中的第一移动距离,然后计算出第一采样图像对应的匹配IMU信息对应的旋转参数以及该第一采样图像的匹配IMU信息对应的第二移动距离,接着,根据第一移动距离和第二移动距离来对第一采样图像的匹配IMU信息的旋转参数进行校正,如此,便可以消减旋转参数中与匹配IMU信息中噪声对应的部分,最后根据校正后的旋转参数对该采样图像进行抖动校正,从而可以减小视频抖动校正过程中的误差,使得图像抖动校正结果更加精确。

附图说明

[0054] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0055] 图1是本申请实施例提供的电子设备的结构示意框图;
[0056] 图2是本申请实施例提供的视频防抖方法的流程示意图一;
[0057] 图3是本申请实施例提供的视频防抖方法的流程示意图二;
[0058] 图4是本申请实施例提供的视频防抖方法的流程示意图三;
[0059] 图5是本申请实施例提供的第一移动距离和第二移动距离的轨迹图;
[0060] 图6是本申请实施例提供的延迟时间与目标值的变化关系示意图;
[0061] 图7是本申请实施例提供的视频防抖方法的流程示意图四;
[0062] 图8是本申请实施例提供的平面移动距离的示意图;
[0063] 图9是本申请实施例提供的视频防抖方法的流程示意图五;
[0064] 图10是本申请实施例提供的视频防抖方法的流程示意图六;
[0065] 图11是本申请实施例提供的视频防抖装置的结构示意图。
[0066] 图标:100-电子设备;110-视频抖动校正装置;111-第一获取模块;112-第二获取模块;113-第一计算模块;114-第二计算模块;115-第三计算模块;116-滤波模块;117-校正模块;120-存储器;130-处理器。

具体实施方式

[0067] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
[0068] 因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0069] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0070] 在本申请的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。
[0071] 在视频采集的过程中,由于图像采集设备自身的状态并不稳定,因此,会导致所采集的视频中部分图像之间可能存在跳变的情况,从而使得视频不连续。
[0072] 现有技术中,为了减小图像采集设备自身的状态问题对视频效果造成的影响,通常会采用两种方式来对视频中的图像进行处理。其中一种方式是,通过惯性测量仪(Inertial Measurement Unit,简称IMU)采样图像采集设备各个时刻采集的包括角速度的IMU信息,从而根据该角速度计算出相机的各个时刻的运动情况,从而根据相机的运动情况进行抖动校正处理。这种方式中,采集的IMU信息的传感器受到IMU自身的影响比较大,例如,当IMU自身的噪声比较大或者温度比较高时,都会使得传感器的误差较大,从而导致最终进行抖动校正后的图像的误差较大。
[0073] 现有常用的另一种方式是,通过在各个图像帧中检测同一特征点相对应的位置,从而根据特征点的在不同图像帧中的位置来估计相机的运动轨迹,从而根据相机的运动轨迹来进行抖动校正处理。但是,这种方式容易受到画质的影响,例如当画面模糊或光线较暗时,由于特征点丢失从而会引入计算误差,从而导致最终进行抖动校正后的图像的误差较大。
[0074] 为了解决上述技术问题,本申请实施例提供了一种电子设备100。
[0075] 请参见图1,图1是本申请实施例提供的电子设备100的结构示意框图,所述电子设备100包括视频抖动校正装置110,存储器120和处理器130,存储器120和处理器130相互之间直接或间接电性连接,用于实现数据交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述视频抖动校正装置110包括至少一个可以软件或固件(firmware)的形式存储于所述存储器120中或固化在所述电子设备100的操作系统(operating system,OS)中的软件功能模块。所述处理器130用于执行所述存储器120中存储的可执行模块,例如,所述视频抖动校正装置110所包括的软件功能模块及计算机程序等。
[0076] 本申请实施例提供一种应用于图1所示电子设备100的视频抖动校正方法。所述视频抖动校正方法,包括步骤S010-步骤S070。以下结合图2来对所述视频抖动校正方法进行详细阐述。
[0077] 步骤S010,对所述视频进行采样,得到至少两帧采样图像。
[0078] 步骤S020,获取所述视频的第一IMU序列,所述第一IMU序列包括各采样图像的匹配IMU信息。
[0079] 采样图像匹配的匹配IMU信息及采样图像采集时刻,采集采样图像的相机的包括相机的角速度的信息。
[0080] S030,计算目标特征点在第一采集时间间隔内在相机坐标系中的第一移动距离。
[0081] 具体地,从所述采样图像中选择非首帧的任意一采样图像作为第一采样图像,根据该第一采样图像以及该第一采样图像之前且与所述第一采样图像相邻的第二采样图像,计算所述第一采样图像中目标特征点在第一采集时间间隔内在相机坐标系中的第一移动距离。
[0082] 本实施例用于获取目标特征点在第一采样图像的采集时间在相机坐标系中的位置相对该目标特征点在第二采样图像的采集时间在相机坐标系中的位置的距离,也就是目标特征点从第二采样图像的采集时间到第一采样图像的采集时间期间,在相机坐标系中的移动距离。
[0083] 步骤S040,计算第一采样图像的匹配IMU信息对应的旋转参数。
[0084] 根据所述第一采样图像对应的匹配IMU信息及所述第二采样图像对应的匹配IMU信息,计算该第一采样图像的匹配IMU信息对应的旋转参数,所述旋转参数包括在第一采集时间间隔内目标特征点的第一空间旋转角度,所述第一采集时间间隔为所述第一采样图像的采集时间与所述第二采样图像的采集时间之间的间隔,所述第一空间旋转角度根据所述第一采样图像的匹配IMU信息及所述第二采样图像的匹配IMU信息计算获得。
[0085] 步骤S050,计算目标特征点在第一采集时间间隔内在相机坐标系中的第二移动距离。
[0086] 根据所述旋转参数计算所述第一采样图像中的目标特征点在第一采集时间间隔内在相机坐标系中的第二移动距离。
[0087] 步骤S060,根据所述第一移动距离和所述第二移动距离对所述旋转参数进行校正。
[0088] 步骤S070,根据校正后的所述旋转参数对所述第一采样图像进行抖动校正。
[0089] 本实施例中,采样图像中包括各个图像采集时间对应的采样图像,当然,所述采样图像可以是各个图像采集时间所直接采集的图像,也可以是直接采集的图像经过一定的图像处理步骤得来。第一IMU序列包括图像采集设备采集视频过程中,在多个时刻的匹配IMU信息,匹配IMU信息可以是图像采集设备的惯性测量单元直接采集到的信息,也可以是图像采集设备的惯性测量单元直接采集到的信息(例如原始IMU信息)经过一定的处理后的信息,每帧所述采样图像均有一个匹配IMU信息。
[0090] 本实施例中,所述目标特征点指的是图像灰度值发生剧烈变化的点或者在图像边缘上曲率较大的点(即两个边缘的交点)。目标特征点可以通过特征点提取获得,例如,可以采用角点检测算法,或者ORB算法或者Fast算法进行特征点的提取。
[0091] 本实施例中,根据采样图像的第一移动距离以及根据采样图像的匹配IMU信息对应的第二移动距离之间的差值来对采样图像对应的旋转参数进行校正,能够大幅消减旋转参数中与匹配IMU信息中的噪声对应的部分,减小视频抖动校正时的误差,从而使得视频抖动校正的结果更好。
[0092] 当所述匹配IMU信息为经过原始IMU信息处理得来时,可选地,所述采样图像中还包括每帧所述采样图像的采集时间,请参照图3,步骤S020包括子步骤S021-步骤S024。
[0093] 步骤S021,获取所述视频的第二IMU序列,所述第二IMU序列包括多个原始IMU信息,所述原始IMU信息由采集所述视频的设备上集成的惯性测量单元在采集视频的时间段内采集获得。
[0094] 步骤S022,针对每个非首帧采样图像,获取该采样图像的中间IMU信息。所述中间IMU信息为采集时间与该采样图像的采集时间最近的原始IMU信息。
[0095] 步骤S023,获取每个中间IMU信息对应的第三移动距离。
[0096] 具体地,针对每个所述采样图像的中间IMU信息,将该中间IMU信息作为第一中间IMU信息,根据该第一中间IMU信息以及该第一中间IMU信息前一相邻的第二中间IMU信息,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离,所述第二采集时间间隔为所述第一中间IMU信息的采集时间与所述第二中间IMU信息的采集时间之间的间隔。
[0097] 步骤S024,获取所述视频与所述第二IMU序列之间的延迟时间。
[0098] 具体地,根据每个所述采样图像对应的第一移动距离、该采样图像的采集时间以及该采样图像的第一中间IMU信息对应的第三移动距离,获取所述视频与所述第二IMU序列之间的延迟时间。延迟时间即图像采集时间比IMU采集时间滞后的时间长度。
[0099] 步骤S025,获取与采样图像对应的匹配IMU信息。
[0100] 针对每帧所述采样图像,根据所述延迟时间以及所述第二IMU序列获取与该采样图像对应的匹配IMU信息。
[0101] 本实施例中,采集时间即图像采集设备上所记录的采集原始IMU信息的时间或者图像采集设备所记录的采集所述采样图像的时间。第二IMU序列包括各个原始IMU信息,原始IMU信息可以是惯性测量单元直接采集到的信息,也可以是惯性测量单元直接采集到的信息经过一定的预处理后的信息。
[0102] 本实施例中,会预先计算各个采样图像与第二IMU序列之间的延迟时间,然后再根据该延迟时间进行计算,如此便可以获得每个采样图像对应的匹配IMU信息。
[0103] 请参照图4,可选地,所述根据该第一中间IMU信息以及该第一中间IMU信息前一相邻的第二中间IMU信息,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离的步骤包括子步骤S231-步骤S235。
[0104] 步骤S231,获取所述第一中间IMU信息的角速度以及所述第二中间IMU信息的角速度。
[0105] 具体地,针对每个所述采样图像的第一中间IMU信息,获取所述第一中间IMU信息中的角速度以及该第一中间IMU信息前一相邻的所述第二中间IMU信息中的角速度。
[0106] 步骤S232,计算第一中间IMU信息对应的第二空间旋转角度。
[0107] 具体地,根据所述第一中间IMU信息中的角速度以及所述第二中间IMU信息中的角速度,计算该第一中间IMU信息对应的第二空间旋转角度,所述第二空间旋转角度为第二采集时间间隔内所述目标特征点在空间中旋转的角度。
[0108] 步骤S233,将所述第二空间旋转角度转化为四元数。
[0109] 步骤S234,计算所述第一中间IMU信息对应的第二位置。
[0110] 具体地,根据所述第二中间IMU信息对应的第一位置和所述四元数,计算所述第一中间IMU信息对应的第二位置,所述第一位置为在所述第二中间IMU信息的采集时间时,所述目标特征点在相机坐标系中的位置,所述第二位置为在所述第一中间IMU信息的采集时间时,所述目标特征点在相机坐标系中的位置。
[0111] 步骤S235,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离。
[0112] 具体地,根据所述第一中间IMU信息对应的第二位置以及述第二中间IMU信息对应的第一位置,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离。
[0113] 本实施例用于计算所述目标特征点在每两个相邻的中间IMU信息的采集时间的间隔内的第二空间旋转角度,然后根据第二空间旋转角度以及目标特征点在第二中间IMU信息的IMU采集时间时在相机坐标系的位置,计算目标特征点在第一中间IMU信息采集时间时在相机坐标系中的位置,从而计算第二采集时间间隔内,目标特征点的在相机坐标系中的移动距离。
[0114] 以下结合具体例子对步骤S231-步骤S235进行详细阐述。
[0115] 首先获取每个中间IMU信息对应的角速度并将该角速度转化为x,y,z三个方向的角速度的分量,然后根据每相邻两个中间IMU信息的角速度的分量计算出两者中第二个中间IMU信息对应的空间旋转角度,也就是目标特征点在第二中间IMU信息的IMU采集时间与第一中间IMU信息的采集时间期间(第二采集时间间隔内),在三维空间中所旋转过的角度(第二空间旋转角度),接着,根据第二空间旋转角度进行计算,获得第二空间旋转角度的四元数。
[0116] 第二空间旋转角度在x、y、z轴的分量的计算公式为:
[0117] θ=0.5*(w1+w2)(t2-t1)
[0118] 其中,θ代表目标特征点从t1时刻到t2时刻在x、y或者z轴的旋转角度。w1代表t1时刻目标特征点的在x、y或者z轴的角速度,w2代表t2时刻目标特征点的在x、y或者z轴的角速度,w1与w2为同一方向上角速度的分量。
[0119] 四元数q的计算公式为:
[0120]
[0121] 具体地,表示x轴方向的旋转角度分量,计算公式为:
[0122] 0.5*(w1x+w2x)(t2-t1)
[0123] 其中,w1x代表t1时刻x轴方向的分量,w2x代表t2时刻x轴方向的分量。
[0124] ω表示y轴方向的旋转角度分量,计算公式为:
[0125] 0.5*(w1y+w2y)(t2-t1)
[0126] 其中,w1y代表t1时刻y轴方向的分量,w2y代表t2时刻y轴方向的分量。
[0127] ψ表示z轴方向的旋转角度分量,计算公式为:
[0128] 0.5*(w1z+w2z)(t2-t1)
[0129] 其中,w1z代表t1时刻z轴方向的分量,w2z代表t2时刻z轴方向的分量。w代表四元数中实部分量。
[0130] 对于第一个中间IMU信息而言,该中间IMU信息作为第一中间IMU信息时,其前的第二中间IMU信息即为其自身,因此第一个中间IMU信息对应的第二空间旋转角度为0,对应的第三移动距离为0。
[0131] 计算出各个中间IMU信息的四元数后,便可以根据目标特征点在第一帧图像中的位置,计算出各个中间IMU信息对应的位置。
[0132] 在第一帧采样图像中对应的空间坐标计算出特征点对应各个第二IMU信息的空间坐标。其计算公式为:
[0133] x'=Kq-1(λK-1x)q
[0134] 其中,x为图像中像素点的原始坐标,x’为图像旋转后该像素点的坐标,K为内参矩阵,λ表示放缩比。获得目标特征点对应每个匹配IMU信息的空间坐标后,便可以获得目标特征点在相邻两个中间IMU信息对应的采集时间期间在相机坐标系中的第三移动距离。
[0135] 本实施例用于根据采样图像和第二IMU序列获取与每帧采样图像对应的中间IMU信息,以及该中间IMU信息对应的第三移动距离。关于所有中间IMU信息对应的第三移动距离,请参照图5中的曲线r所示。在计算中间IMU信息对应的旋转角度时,可以先计算出目标特征点在每个中间IMU信息的采集时间对应的相机坐标系中的平面坐标。然后,计算目标特征点在每相邻两个中间IMU信息对应的视频图像中平面移动距离。
[0136] 接着,便需要计算所述视频与所述第二IMU序列之间的延迟时间,即步骤S014,以下结合实际例子来详细说明步骤S014。
[0137] 例如,视频包括三帧采样图像,每帧采样图像对应的第一移动距离分别为B1、B2、B3,距离这三帧采样图像采集时间最近的原始IMU信息分别为R1、R2、R2,也就是说,这三帧采样图像对应的中间IMU信息分别为R1、R2、R2,则延迟时间t的计算公式为:
[0138] miny=0.5*(B1+B2+B3-R1-R2-R3+t)^2
[0139] 其中,y代表目标值。
[0140] 当然,本实施例中,也可以先将所有第一移动距离和第三移动距离转化为随着时间连续变化的数据。例如,请继续参照图5,可以将第一条曲线的极值点的和set_blue与第二条曲线的极值点的和set_red相减,具体计算公式如下:
[0141] minz=0.5*(set_red-set_blue+t)^2
[0142] 其中,z代表目标值。
[0143] 请参照图6,图中,横坐标为帧数对应的时间,纵坐标为目标函数,图5为根据第一移动距离的250个极值点和第三移动距离的250个极值点计算出的延迟时间与目标函数之间的关系,可见,在当t=0.06-0.08之间时,公式0.5*(set_red-set_blue+t)^2最小。所以延迟为(0.06-0.08)*0.033s,0.06代表两者之间差了0.06倍的帧时间。
[0144] 可选地,步骤S025包括步骤子S251-步骤S253。
[0145] 请参照图7,步骤S251,获取与各个采样图像对应的校准时间。
[0146] 具体地,针对每帧所述采样图像,将该采样图像的采集时间减去所述延迟时间获得与该采样图像对应的校准时间。
[0147] 步骤S252,从第二IMU序列中获取采集时间与所述校准时间相邻的原始IMU信息。
[0148] 步骤S253,根据所述原始IMU信息进行插值,获得与该采样图像对应的匹配IMU信息。
[0149] 例如,在计算获得延迟时间t后,根据采样图像的采集时间获取与所述采样图像对应的校准时间,例如,所述采样图像的采集时间为t',则该采样图像对应的校准时间就是t'-t。接着,根据采集时间与时间t'-t前后两个相邻的原始IMU信息进行插值运算,从而获得时间t'-t时刻的匹配IMU信息,即与该采样图像对应的匹配IMU信息。
[0150] 以下举例对步骤S020的详细步骤进行说明:
[0151] 请参见图8,例如,在图像采集设备中的采集画面所在平面上建立相机坐标系,则可以获得目标特征点在第一帧采样图像上的位置对应的平面坐标A以及该特征点在第二帧采样图像上的位置对应的平面坐标B,由于第一帧采样图像和第二帧采样图像对于相机平面坐标系而言,相当于位于同一平面坐标,因此平面坐标B相当于平面坐标B',计算平面坐标A和平面坐标B在同一坐标平面上的距离(相当于图8中的AB'),便可以获得所述第一移动距离。第一移动距离的变化轨迹如图5中的曲线b所示,其中,横坐标代表记录图像或者原始IMU信息的时间,纵坐标代表平面移动距离。
[0152] 步骤S030中旋转参数的详细计算方法以及步骤S040中第二移动距离的详细计算方法的原理与第三移动距离计算过程中的计算原理类似,在此不再赘述。
[0153] 本实施例中,在各个步骤中,所采用的目标特征点应当一致。
[0154] 请参照图9,可选地,所述步骤S060包括子步骤S061-步骤S063。
[0155] 步骤S061,获取第一移动距离与第二移动距离的差值。
[0156] 具体地,获取所述第一采样图像的第一移动距离与该第一采样图像的匹配IMU信息对应的第二移动距离的差值。
[0157] 步骤S062,判断所述差值的绝对值是否大于预设的差值阈值。
[0158] 步骤S063,如果所述差值的绝对值大于所述差值阈值,则对该采样图像对应的匹配IMU信息的四元数进行校正,获得校正后的四元数。
[0159] 本实施例用于根据每个采样图像的第一移动距离与该采样图像对应的中间IMU信息的第三移动距离的差值来判断是否对该采样图像对应的第二IMU信息的四元数进行校正,从而获得校正后的四元数。
[0160] 以下结合具体实施例来阐述四元数校正的详细过程:
[0161] 例如每个采样图像的第一移动距离与该采样图像对应的原始IMU信息的第三移动距离的差值为δm,差值阈值为α,则当δm大于α时,则对该采样图像对应的四元数进行校正。进行校正时,每个四元数的分量f的具体计算公式可以是:
[0162] f=f’±f*(|δm-α|)/μ
[0163] st.|δm|>α
[0164] 其中,f为四元数的分量的原始值,f’为四元数的分量校正后的值,x’具体是增加还是减少要根据差值的正负号来判断,μ表示归一化系数为经验值。
[0165] 请参照图10,可选地,步骤S070包括子步骤S081-步骤S083。
[0166] 步骤S081,针对各个采样图像计算校正后的画面损失比例的平均值。
[0167] 具体地,针对每帧采样图像,选择任意一帧作为目标采样图像,根据目标采样图像校正后的图像以及目标采样图像后的预设数量帧采样图像各自校正后的图像,计算目标采样图像对应的画面损失比例的平均值。
[0168] 步骤S082,判断是否存在采样图像对应的画面损失比例的平均值超过预设损失比例。
[0169] 步骤S083,根据该采样图像的画面损失比例调整该目标采样图像对应的校正后的旋转参数。
[0170] 具体地,如果存在采样图像对应的画面损失比例的平均值超过所述预设损失比例,则根据该采样图像的画面损失比例调整该目标采样图像对应的校正后的旋转参数,获得新的校正后的旋转参数并重新根据新的校正后的旋转参数对该采样图像进行抖动校正处理。
[0171] 本实施例用于判断校正后的图像的中画面超出图像采样设备的画面区域的程度,并根据该画面损失的程度调整旋转参数,以对画面进行迭代修正。通过上述不断修正迭代的过程,让视频在面对突然的抖动时可以较为平滑过渡,而不至于突兀。本实施例中,画面损失比例为相邻两帧采样图像各自校正后的图像中,前帧第一校正后的图像中的画面在后一帧校正后的图像中没有的比例。
[0172] 例如,当所述旋转参数为四元数时,则可以分别计算出每帧旋转后的画面,从而得到对应的校正后的图像。关于校正后的图像的具体计算公式如下:
[0173] x'=Kq-1(λK-1x)q
[0174] 其中,x为图像中像素点的原始坐标,x’为图像旋转后该像素点的坐标,K为内参矩阵,λ表示放缩比。
[0175] 具体地,在计算画面损失比例时,可以根据各幅采样图像的四个边缘角点旋转后的坐标来进行计算。例如,当要对第n帧进行防抖时,预设数量为M时,利用计算n+1到n+m(基于n帧计算N+1、N+2……N+M各帧的)四个边缘角点旋转后的坐标。通过计算(N+1、N+2……N+M)旋转后的四点坐标和原始四点坐标的重叠面积(四个点构成的多边形面积),进而可以计算出(N+1、N+2……N+M)帧每帧的画面损失比例,当(N+1、N+2……N+M)平均损失比例过大时减小当前第N帧的四元数(x,y,z,w)修正移动距离,当损失比例小时,增大四元数(x,y,z,w)移动距离,具体修正幅度根据画面损失比例δs,将四元数中的每个分量分别乘以δs*a计算得到新的四元数,a是一个定值常数。关于画面损失比例的计算以及调整旋转参数的过程,请参照以下例子:
[0176] 当所述预设数量为2,第一帧采样图像及其后两帧采样图像所对应的采集时间分别为t1、t2和t3时(对应的面积分别为S1、S2和S3),t1时刻到t2时刻的第一帧采样图像的画面损失比例的计算方式为:
[0177] M1=(s1-(s1∩s2))/s1
[0178] t2时刻到t3时刻的第一帧采样图像的画面损失比例的计算方式为:
[0179] M2=(s2-(s2∩s3))/s2
[0180] 然后,便可以获得M1、M2的平均值AV,根据AV的大小与预设损失比例之间的关系,调整第一帧采样图像对应的旋转参数,第一帧采样图像对应的旋转参数即该第一帧采样图像进行校正前的采样图像对应的旋转参数。
[0181] 本申请的另一目的在于提供一种视频抖动校正装置110,请参照图11,所述装置包括:第一获取模块111、第二获取模块112、第一计算模块113、第二计算模块114、第三计算模块115、滤波模块116和校正模块117。所述视频防抖装置包括一个可以软件或固件的形式存储于所述存储器120中或固化在所述电子设备100的操作系统(operating system,OS)中的软件功能模块。
[0182] 第一获取模块111,用于对所述视频进行采样,得到至少两帧采样图像。
[0183] 本实施例中的第一获取模块111用于执行步骤S010,关于所述第一获取模块111的具体描述可参照对所述步骤S010的描述。
[0184] 第二获取模块112,用于获取所述视频的第一IMU序列,所述第一IMU序列包括各采样图像的匹配IMU信息。
[0185] 本实施例中的第二获取模块112用于执行步骤S020,关于所述第二获取模块112的具体描述可参照对所述步骤S020的描述。
[0186] 第一计算模块113,用于从所述采样图像中选择非首帧的任意一采样图像作为第一采样图像,根据该第一采样图像以及该第一采样图像之前且与所述第一采样图像相邻的第二采样图像,计算所述第一采样图像中目标特征点在第一采集时间间隔内在相机坐标系中的第一移动距离。
[0187] 本实施例中的第一计算模块113用于执行步骤S030,关于所述第一计算模块113的具体描述可参照对所述步骤S030的描述。
[0188] 第二计算模块114,根据所述第一采样图像对应的匹配IMU信息及所述第二采样图像对应的匹配IMU信息,计算该第一采样图像的匹配IMU信息对应的旋转参数,所述旋转参数包括在第一采集时间间隔内目标特征点的第一空间旋转角度,所述第一采集时间间隔为所述第一采样图像的采集时间与所述第二采样图像的采集时间之间的间隔,所述第一空间旋转角度根据所述第一采样图像的匹配IMU信息及所述第二采样图像的匹配IMU信息计算获得。
[0189] 本实施例中的第二计算模块114用于执行步骤S040,关于所述第二计算模块114的具体描述可参照对所述步骤S040。
[0190] 第三计算模块115,用于根据所述旋转参数计算所述第一采样图像中的目标特征点在第一采集时间间隔内在相机坐标系中的第二移动距离。
[0191] 本实施例中的第三计算模块115用于执行步骤S050,关于所述第三计算模块115的具体描述可参照对所述步骤S050。
[0192] 滤波模块116,用于根据所述第一移动距离和所述第二移动距离对所述旋转参数进行校正。
[0193] 本实施例中的滤波模块116用于执行步骤S060,关于所述滤波模块116的具体描述可参照对所述步骤S060的描述。
[0194] 校正模块117,用于根据校正后的所述旋转参数对所述第一采样图像进行抖动校正。
[0195] 本实施例中的校正模块117用于执行步骤S070,关于所述校正模块117的具体描述可参照对所述步骤S070的描述。
[0196] 可选地,所述采样图像中还包括每帧所述采样图像的图像采集时间,所述第二获取模块112具体用于:
[0197] 获取所述视频的第二IMU序列,所述第二IMU序列包括多个原始IMU信息,所述原始IMU信息由采集所述视频的设备上集成的IMU采集获得;
[0198] 针对每个非首帧的所述采样图像,获取该采样图像的中间IMU信息,所述中间IMU信息为采集时间与该采样图像的采集时间最近的原始IMU信息。
[0199] 针对每个所述采样图像的中间IMU信息,将该中间IMU信息作为第一中间IMU信息,根据该第一中间IMU信息以及该第一中间IMU信息前一相邻的第二中间IMU信息,计算所述目标特征点在第二采集时间间隔内在相机坐标系中的第三移动距离,所述第二采集时间间隔为所述第一中间IMU信息的采集时间与所述第二中间IMU信息的采集时间之间的间隔。
[0200] 根据每个所述采样图像对应的第一移动距离、该采样图像的采集时间以及该采样图像的第一中间IMU信息对应的第三移动距离,获取所述视频与所述第二IMU序列之间的延迟时间。
[0201] 针对每帧所述采样图像,根据所述延迟时间以及所述第二IMU序列获取与该采样图像对应的匹配IMU信息。
[0202] 本申请的另一目的在于提供一种可读存储介质,可读存储介质存储有可执行指令,处理器130执行所述可执行指令时,实现如本申请任一项所述的方法。
[0203] 以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。