一种视频稳像方法及装置转让专利

申请号 : CN201910203098.3

文献号 : CN110602377B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 洪明

申请人 : 上海立可芯半导体科技有限公司

摘要 :

本发明提供一种视频稳像方法,该方法包括:利用测试视频中相邻两帧图像的特征点匹配对计算摄像头的内参、摄像头与陀螺仪之间的夹角,所述摄像头包括CMOS传感器;建立陀螺仪累积位姿列表,所述陀螺仪累积位姿列表包括陀螺仪角速度采集时刻及与所述陀螺仪角速度采集时刻对应的累积位姿;读取待处理的帧图像,所述帧图像包括帧缓存、各像素行的读取时刻,根据所述夹角和所述陀螺仪累积位姿列表,估算各像素行读取时刻摄像头的累积位姿;根据第一像素行读取时刻摄像头的累积位姿对其后各像素行读取时刻摄像头的累积位姿进行校正;对校正后的摄像头的累积位姿进行平滑处理。

权利要求 :

1.一种视频稳像方法,该方法包括:利用测试视频中相邻两帧图像的特征点匹配对计算摄像头的内参、摄像头与陀螺仪之间的夹角,所述摄像头包括CMOS传感器;

建立陀螺仪累积位姿列表,所述陀螺仪累积位姿列表包括陀螺仪角速度采集时刻及与所述陀螺仪角速度采集时刻对应的累积位姿;

读取待处理的帧图像,所述帧图像包括帧缓存、各像素行的读取时刻,根据所述夹角和所述陀螺仪累积位姿列表,估算各像素行读取时刻摄像头的累积位姿;

根据第一像素行读取时刻摄像头的累积位姿对其后各像素行读取时刻摄像头的累积位姿进行校正;

对校正后的摄像头的累积位姿进行平滑处理;

其中,利用测试视频中相邻两帧图像的特征点匹配对计算摄像头的内参、摄像头与陀螺仪之间的夹角的步骤包括:提取测试视频中的各帧的尺度不变特征变换特征点并对前后两帧的特征点进行匹配,采用随机抽样一致法筛选出置信度较高的特征点匹配对,得到特征点匹配对集合,基于摄像头成像模型并利用非线性最优化算法迭代求解摄像头的内参K、摄像头与陀螺仪之间的夹角A,其中,摄像头成像模型是 ,X为世界坐标系中的Y点经过平移t和旋转R后在摄像头中的成像坐标;相邻的第n-1帧和第n帧中第m个匹配点的关系为: ,其中, , 和 分别表示第n-1帧和第n帧所对应时刻摄像头的旋转矩阵, 和 分别表示第n-1帧和第n帧所对应时刻陀螺仪的旋转矩阵。

2.根据权利要求1所述的视频稳像方法,其特征在于,采用如下公式,计算陀螺仪角速度采集时刻对应的累积位姿:

其中,pose_gyroi表示角速度采集时刻t_gyroi陀螺仪的累积位姿,pose_gyroi-1表示角速度采集时刻t_gyroi-1陀螺仪的累积位姿,ωxi-1表示角速度采集时刻t_gyroi-1陀螺仪x轴角速度,ωyi-1表示角速度采集时刻t_gyroi-1陀螺仪y轴角速度,ωzi-1表示角速度采集时刻t_gyroi-1陀螺仪z轴角速度,update为一阶龙格库塔四元数微分算法。

3.根据权利要求2所述的视频稳像方法,其特征在于,采用如下公式,估算各像素行读取时刻摄像头的累积位姿:

其中, 表示第j帧图像第y行像素的读取时刻,t_gyronear与t_gyronear+1表示距离最近的前后两次陀螺仪角速度的采集时刻, 表示 时刻摄像头的累积位姿,pose_gyronear表示t_gyronear时刻陀螺仪的累积位姿,pose_gyronear+1表示t_gyronear+1时刻陀螺仪的累积位姿,slerp表示四元数球面插值算法,A表示摄像头与陀螺仪之间的夹角。

4.根据权利要求1所述的视频稳像方法,其特征在于,采用如下公式,根据第一像素行读取时刻摄像头的累积位姿对其后各像素行读取时刻摄像头的累积位姿进行校正:其中, 表示第j帧图像第y行像素相对于该帧第1行像素的相对位姿,表示第j帧图像第y行像素摄像头的累积位姿的逆, 表示第j帧图像第一像素行读取时刻摄像头的累积位姿。

5.根据权利要求1所述的视频稳像方法,其特征在于,采用基于匀速模型的无损卡尔曼滤波对校正后的摄像头的累积位姿进行平滑处理。

6.根据权利要求1所述的视频稳像方法,其特征在于,还包括采用球面插值算法对经过平滑处理之后的摄像头的累积位姿进行约束和调整。

7.根据权利要求6所述的视频稳像方法,其特征在于,还包括将采用逆向映射方法并结合摄像头位姿调整量的逆对原始帧图像进行裁剪输出,获得稳像后的帧图像。

8.一种视频稳像装置,该装置包括:参数确定单元,利用测试视频中相邻两帧图像的特征点匹配对计算摄像头的内参、摄像头与陀螺仪之间的夹角,所述摄像头包括CMOS传感器;

列表建立单元,建立陀螺仪累积位姿列表,所述陀螺仪累积位姿列表包括陀螺仪角速度采集时刻及与所述陀螺仪角速度采集时刻对应的累积位姿;

估算单元,读取待处理的帧图像,所述帧图像包括帧缓存、各像素行的读取时刻,根据所述夹角和所述陀螺仪累积位姿列表,估算各像素行读取时刻摄像头的累积位姿;

校正单元,根据第一像素行读取时刻摄像头的累积位姿对其后各像素行读取时刻摄像头的累积位姿进行校正;

平滑单元,对校正后的摄像头的累积位姿进行平滑处理;

其中,所述参数确定单元提取测试视频中的各帧的尺度不变特征变换特征点并对前后两帧的特征点进行匹配,采用随机抽样一致法筛选出置信度较高的特征点匹配对,得到特征点匹配对集合,基于摄像头成像模型并利用非线性最优化算法迭代求解摄像头的内参K、摄像头与陀螺仪之间的夹角A,其中,摄像头成像模型是 ,X为世界坐标系中的Y点经过平移t和旋转R后在摄像头中的成像坐标;相邻的第n-1帧和第n帧中第m个匹配点的关系为: ,采用迭代估计优化方法对多个匹配点所组成的方程组中的K和A进行求解,其中, , 和 分别表示第n-1帧和第n帧所对应时刻摄像头的旋转矩阵, 和 分别表示第n-1帧和第n帧所对应时刻陀螺仪的旋转矩阵。

9.根据权利要求8所述的视频稳像装置,其特征在于,所述列表建立单元采用如下公式,计算陀螺仪角速度采集时刻对应的累积位姿:其中,pose_gyroi表示角速度采集时刻t_gyroi陀螺仪的累积位姿,pose_gyroi-1表示角速度采集时刻t_gyroi-1陀螺仪的累积位姿,ωxi-1表示角速度采集时刻t_gyroi-1陀螺仪x轴角速度,ωyi-1表示角速度采集时刻t_gyroi-1陀螺仪y轴角速度,ωzi-1表示角速度采集时刻t_gyroi-1陀螺仪z轴角速度,update为一阶龙格库塔四元数微分算法。

10.根据权利要求9所述的视频稳像装置,其特征在于,所述估算单元采用如下公式,估算各像素行读取时刻摄像头的累积位姿:其中, 表示第j帧图像第y行像素的读取时刻,t_gyronear与t_gyronear+1表示距离最近的前后两次陀螺仪角速度的采集时刻, 表示 时刻摄像头的累积位姿,pose_gyronear表示t_gyronear时刻陀螺仪的累积位姿,pose_gyronear+1表示t_gyronear+1时刻陀螺仪的累积位姿,slerp表示四元数球面插值算法,A表示摄像头与陀螺仪之间的夹角。

11.根据权利要求8所述的视频稳像装置,其特征在于,所述校正单元采用如下公式,根据第一像素行读取时刻摄像头的累积位姿对其后各像素行读取时刻摄像头的累积位姿进行校正:

其中, 表示第j帧图像第y行像素相对于该帧第1行像素的相对位姿, 表示第j帧图像第y行像素摄像头的累积位姿的逆, 表示第j帧图像第一像素行读取时刻摄像头的累积位姿。

12.根据权利要求8所述的视频稳像装置,其特征在于,所述校正单元采用基于匀速模型的无损卡尔曼滤波对校正后的摄像头的累积位姿进行平滑处理。

13.根据权利要求8所述的视频稳像装置,其特征在于,还包括裁剪单元,所述裁剪单元采用球面插值算法对经过平滑处理之后的摄像头的累积位姿进行约束和调整。

14.根据权利要求13所述的视频稳像装置,其特征在于,还包括逆向映射单元,所述逆向映射单元将,采用逆向映射方法并结合摄像头位姿调整量的逆对原始帧图像进行裁剪输出,获得稳像后的帧图像。

说明书 :

一种视频稳像方法及装置

技术领域

[0001] 本发明涉及视频处理领域,尤其涉及一种视频稳像方法及装置。

背景技术

[0002] 随着手机的普及和性能的不断提升,无需专业摄像设备也能拍摄出高质量的视频。然而在拍摄的过程中经常会由于手部的抖动而输出不稳定的视频,将会导致视频的观
看效果不佳,或者不利于视频的后期处理。视频稳像技术的目的在于消除视频中的抖动分
量,形成较为稳定的视频输出。
[0003] 稳定视频图像的基本方法可以分为三类:光学稳像、机械稳像和电子稳像。光学稳像需要精密的光学仪器而导致成本过高,一般只装配在专业摄像设备或高端手机上。电子
稳像受环境、光照影响较大,鲁棒性较差,且难以实时地解决互补金属氧化物半导体图像传
感器(Complementary Metal Oxide Semiconductor,CMOS)产生的果冻效应(Rolling 
shutter effect),一般被用于视频后期处理。机械稳像通过陀螺仪等传感器元件检测摄像
头的抖动,然后对拍摄的视频图像进行纠正和补偿而达到稳定图像的目的。由于陀螺仪传
感器造价低廉、不易受环境因素影响、且实时性较好,大部分手机厂商普遍采用机械稳像来
稳定视频输出。
[0004] 然而,陀螺仪会存在较大的偏差,使得稳像后的视频以固定角度倾斜或以固定角速度旋转。为了解决该问题,在进行视频稳像之前或手机开机时需要对陀螺仪进行校准,等
待陀螺仪校准将会降低用户体验,并且在长时间拍摄后陀螺仪仍会出现累积偏差,造成稳
像效果不佳。

发明内容

[0005] 本发明要解决的技术问题是提供一种视频稳像方法及装置,以消除CMOS摄像头的果冻效应,实时地输出准确稳定的视频图像。
[0006] 为解决上述技术问题,本发明的一方面提供了一种视频稳像方法,该方法包括:利用测试视频中相邻两帧图像的特征点匹配对计算摄像头的内参、摄像头与陀螺仪之间的夹
角,所述摄像头包括CMOS传感器;建立陀螺仪累积位姿列表,所述陀螺仪累积位姿列表包括
陀螺仪角速度采集时刻及与所述陀螺仪角速度采集时刻对应的累积位姿;读取待处理的帧
图像,所述帧图像包括帧缓存、各像素行的读取时刻,根据所述夹角和所述陀螺仪累积位姿
列表,估算各像素行读取时刻摄像头的累积位姿;根据第一像素行读取时刻摄像头的累积
位姿对其后各像素行读取时刻摄像头的累积位姿进行校正;对校正后的摄像头的累积位姿
进行平滑处理。
[0007] 在本发明的一实施例中,利用测试视频中相邻两帧图像的特征点匹配对计算摄像头的内参、摄像头与陀螺仪之间的夹角的步骤包括:提取测试视频中的各帧的尺度不变特
征变换特征点并对前后两帧的特征点进行匹配,采用随机抽样一致法筛选出置信度较高的
特征点匹配对,得到特征点匹配对集合,基于摄像头成像模型并利用非线性最优化算法迭
代求解摄像头的内参、摄像头与陀螺仪之间的夹角。
[0008] 在本发明的一实施例中,采用如下公式,计算陀螺仪角速度采集时刻对应的累积位姿:
[0009] pose_gyroi=update(pose_gyroi-1,ωxi-1,ωyi-1,ωzi-1,t_gyroi-t_gyroi-1)
[0010] 其中,pose_gyroi表示角速度采集时刻t_gyroi陀螺仪的累积位姿,pose_gyroi-1表示角速度采集时刻t_gyroi-1陀螺仪的累积位姿,ωxi-1表示角速度采集时刻t_gyroi-1陀螺
仪x轴角速度,ωyi-1表示角速度采集时刻t_gyroi-1陀螺仪y轴角速度,ωzi-1表示角速度采
集时刻t_gyroi-1陀螺仪z轴角速度,update为一阶龙格库塔四元数微分算法。
[0011] 在本发明的一实施例中,采用如下公式,估算各像素行读取时刻摄像头的累积位姿:
[0012]
[0013]
[0014]
[0015] 其中, 表示第j帧图像第y行像素的读取时刻,t_gyronear与t_gyronear+1表示距离 最近的前后两次陀螺仪角速度的采集时刻, 表示 时刻摄像
头的累积位姿,pose_gyronear表示t_gyronear时刻陀螺仪的累积位姿,pose_gyronear+1表示t_
gyronear+1时刻陀螺仪的累积位姿,slerp表示四元数球面插值算法,A表示摄像头与陀螺仪
之间的夹角。
[0016] 在本发明的一实施例中,根据第一像素行读取时刻摄像头的累积位姿对其后各像素行读取时刻摄像头的累积位姿进行校正:
[0017]
[0018] 其中, 表示第j帧图像第y行像素相对于该帧第1行像素的相对位姿, 表示第j帧图像第y行像素摄像头的累积位姿的逆, 表示第j
帧图像第一像素行读取时刻摄像头的累积位姿。
[0019] 在本发明的一实施例中,采用基于匀速模型的无损卡尔曼滤波对校正后的摄像头的累积位姿进行平滑处理。
[0020] 在本发明的一实施例中,还包括采用球面插值算法对经过平滑处理之后的摄像头的累积位姿进行约束和调整。
[0021] 在本发明的一实施例中,还包括将采用逆向映射方法并结合摄像头位姿调整量的逆对原始帧图像进行裁剪输出,获得稳像后的帧图像。
[0022] 本发明的另一方面提供一种视频稳像装置,该装置包括:参数确定单元,利用测试视频中相邻两帧图像的特征点匹配对计算摄像头的内参、摄像头与陀螺仪之间的夹角,所
述摄像头包括CMOS传感器;列表建立单元,建立陀螺仪累积位姿列表,所述陀螺仪累积位姿
列表包括陀螺仪角速度采集时刻及与所述陀螺仪角速度采集时刻对应的累积位姿;估算单
元,读取待处理的帧图像,所述帧图像包括帧缓存、各像素行的读取时刻,根据所述夹角和
所述陀螺仪累积位姿列表,估算各像素行读取时刻摄像头的累积位姿;校正单元,根据第一
像素行读取时刻摄像头的累积位姿对其后各像素行读取时刻摄像头的累积位姿进行校正;
平滑单元,对校正后的摄像头的累积位姿进行平滑处理。
[0023] 在本发明的一实施例中,所述参数确定单元提取测试视频中的各帧的尺度不变特征变换特征点并对前后两帧的特征点进行匹配,采用随机抽样一致法筛选出置信度较高的
特征点匹配对,得到特征点匹配对集合,基于摄像头成像模型并利用非线性最优化算法迭
代求解摄像头的内参、摄像头与陀螺仪之间的夹角。
[0024] 在本发明的一实施例中,所述列表建立单元采用如下公式,计算陀螺仪角速度采集时刻对应的累积位姿:
[0025] pose_gyroi=update(pose_gyroi-1,ωxi-1,ωyi-1,ωzi-1,t_gyroi-t_gyroi-1)
[0026] 其中,pose_gyroi表示角速度采集时刻t_gyroi陀螺仪的累积位姿,pose_gyroi-1表示角速度采集时刻t_gyroi-1陀螺仪的累积位姿,ωxi-1表示角速度采集时刻t_gyroi-1陀螺
仪x轴角速度,ωyi-1表示角速度采集时刻t_gyroi-1陀螺仪y轴角速度,ωzi-1表示角速度采
集时刻t_gyroi-1陀螺仪z轴角速度,update为一阶龙格库塔四元数微分算法。
[0027] 在本发明的一实施例中,所述估算单元采用如下公式,估算各像素行读取时刻摄像头的累积位姿:
[0028]
[0029]
[0030]
[0031] 其中, 表示第j帧图像第y行像素的读取时刻,t_gyronear与t_gyronear+1表示距离 最近的前后两次陀螺仪角速度的采集时刻, 表示 时刻摄像
头的累积位姿,pose_gyronear表示t_gyronear时刻陀螺仪的累积位姿,pose_gyronear+1表示t_
gyronear+1时刻陀螺仪的累积位姿,slerp表示四元数球面插值算法,A表示摄像头与陀螺仪
之间的夹角。
[0032] 在本发明的一实施例中,所述校正单元采用如下公式,根据第一像素行读取时刻摄像头的累积位姿对其后各像素行读取时刻摄像头的累积位姿进行校正:
[0033]
[0034] 其中, 表示第j帧图像第y行像素相对于该帧第1行像素的相对位姿, 表示第j帧图像第y行像素摄像头的累积位姿的逆, 表示第j
帧图像第一像素行读取时刻摄像头的累积位姿。
[0035] 在本发明的一实施例中,所述校正单元采用基于匀速模型的无损卡尔曼滤波对校正后的摄像头的累积位姿进行平滑处理。
[0036] 在本发明的一实施例中,还包括裁剪单元,所述裁剪单元采用球面插值算法对经过平滑处理之后的摄像头的累积位姿进行约束和调整。
[0037] 在本发明的一实施例中,还包括逆向映射单元,所述逆向映射单元将,采用逆向映射方法并结合摄像头位姿调整量的逆对原始帧图像进行裁剪输出,获得稳像后的帧图像。
[0038] 与现有技术相比,本发明具有以下优点:本发明提供一种视频稳像方法及装置,通过摄像头与陀螺仪之间的夹角和陀螺仪累积位姿列表估算帧图像中摄像头的累积位姿,消
除CMOS摄像头的果冻效应,避免了对CMOS摄像头曝光时间和陀螺仪偏差的标定,提升了用
户体验;采用无损卡尔曼滤波对摄像头的累积位姿进行平滑处理,可以防止帧图像以固定
角度倾斜或以固定角速度旋转,提高了稳像效果。

附图说明

[0039] 为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明,其中:
[0040] 图1是根据本发明一实施例的视频稳像方法的流程图;
[0041] 图2是根据本发明一实施例的视频稳像装置的示意图;
[0042] 图3是图1所示的视频稳像方法中步骤110的流程图;
[0043] 图4是根据本发明一实施例的特征点匹配的示意图;
[0044] 图5是采用本发明的一实施例的视频稳像方法之后的帧图像;
[0045] 图6是对图5所示的帧图像进行裁剪的示意图。

具体实施方式

[0046] 为让本发明的上述目的、特征和优点能更明显易懂,以下结合附图对本发明的具体实施方式作详细说明。
[0047] 在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其它不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限
制。
[0048] 如本申请和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包
括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备
也可能包含其他的步骤或元素。
[0049] 本发明中使用了流程图用来说明根据本发明的实施例的系统所执行的操作。应当理解的是,前面或下面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理
各种步骤。同时,或将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
[0050] 图1是根据本发明一实施例的视频稳像方法的流程图。参考图1所示,本实施例的视频稳像方法包括下列步骤:
[0051] 步骤110,利用测试视频中相邻两帧图像的特征点匹配对计算摄像头的内参、摄像头与陀螺仪之间的夹角。
[0052] 步骤120,建立陀螺仪累积位姿列表。
[0053] 步骤130,读取待处理的帧图像,根据夹角和陀螺仪累积位姿列表,估算各像素行读取时刻摄像头的累积位姿。
[0054] 步骤140,根据第一像素行读取时刻摄像头的累积位姿对其后各像素行读取时刻摄像头的累积位姿进行校正。
[0055] 步骤150,对校正后的摄像头的累积位姿进行平滑处理。
[0056] 图2是根据本发明一实施例的视频稳像装置的示意图。参考图2所示,该实施例的视频稳像装置200包括参数确定单元210、列表建立单元220、估算单元230、校正单元240、平
滑单元250、裁剪单元260和逆向映射单元270。下面结合图2对图1所示的视频稳像方法的步
骤进行详细说明。
[0057] 在图1所示的步骤110中,利用测试视频中相邻两帧图像的特征点匹配对计算摄像头的内参K、摄像头与陀螺仪之间的夹角A。
[0058] 在一些实施例中,步骤110可以由视频稳像装置200中的参数确定单元210执行。
[0059] 该测试视频是由该实施例中的摄像头所获得的一段用于测试的视频文件。该摄像头包括CMOS(Complementary Metal Oxide Semiconductor)传感器,可以将所获得的光像
信号转换为电信号。该测试视频可以是任何类型的视频格式,例如但不限于MPEG、AVI、MOV
等格式。
[0060] 该摄像头的内参K是指用于摄像机标定的摄像头的内部参数K,是对摄像头物理特性的近似。通常对摄像头进行标定的过程分为两步。第一步是从世界坐标系到摄像头坐标
系的转换。这一步是三维点到三维点的转换,其中需要涉及到摄像头的外部参数,即外参,
等参数。第二步是从摄像头坐标系到成像平面坐标系的转换。这一步是三维点到二维点的
转换,其中需要涉及到摄像头的内部参数,即内参K,等参数。
[0061] 对于具备照相/摄像功能的手机、相机或其他设备来说,其摄像头与陀螺仪之间存在一定的夹角A。也就是说,由陀螺仪所检测得到的位姿信息并不能直接用于反映摄像头的
位姿信息。
[0062] 为了清楚的说明步骤110的执行过程,图3示出了步骤110的具体流程图。参考图3所示,在一些实施例中,在步骤110中利用测试视频中相邻两帧图像的特征点匹配对计算摄
像头的内参K、摄像头与陀螺仪之间的夹角A的步骤包括:
[0063] 步骤310,提取测试视频中的各帧的尺度不变特征变换特征点并对前后两帧的特征点进行匹配。
[0064] 假设该测试视频具有N帧图像。在本步骤中,首先对测试视频中的N帧图像进行尺度不变特征变换(SIFT),提取N帧图像的特征点,并对前后两帧的特征点进行匹配。
[0065] 在其他的实施例中,也可以采用其他的特征点提取和匹配方法对前后两帧的特征点进行匹配,例如但不限于SURF(Speeded Up Robust Feature)、ORB(Oriented Brief)、
FAST(Feature from Accelerated Segment Test)等方法。
[0066] 步骤320,采用随机抽样一致法(RANSAC)筛选出置信度较高的特征点匹配对,得到特征点匹配对集合。
[0067] 在其他的实施例中,也可以采用其他的方法,例如但不限于最小二乘法、霍夫变换等方法来对特征点匹配对进行筛选。
[0068] 图4是采用尺度不变特征变换方法提取特征点对前后帧的特征点进行匹配,并采用随机抽样一致法得到特征点匹配对集合的示意图。参考图4所示,以N帧图像中相邻的第
n-1帧和第n帧为例,1≤n≤N,对其中的三个特征点进行匹配,从而形成了三对匹配点
其中 和 分别表示第n-1帧
图像中的第m-1个特征点及其对应的在第n帧图像中的第m-1个特征点; 和 分别表
示第n-1帧图像中的第m个特征点及其对应的在第n帧图像中的第m个特征点; 和
分别表示第n-1帧图像中的第m+1个特征点及其对应的在第n帧图像中的第m+1个特征点。
[0069] 可以理解的是,本发明对进行匹配的前后两帧的特征点的数量没有限制。
[0070] 步骤330,基于摄像头成像模型利用非线性最优化算法迭代求解摄像头的内参K、摄像头与陀螺仪之间的夹角A。
[0071] 在一些实施例中,摄像头成像模型表示为:X=K{R|t}Y,其中K为摄像头的内参,X为世界坐标系中的Y点经过平移t和旋转R后在摄像头中的成像坐标。在不考虑平移的情况
下,以第m-1个特征点为例,可以得到相邻的第n-1帧和第n帧中某一匹配点的关系如下:
[0072] 根据 和 可推导出
[0073]
[0074] 其中 和 分别表示第n-1帧和第n帧所对应时刻摄像头的旋转矩阵。假设摄像头的坐标系和陀螺仪的坐标系存在如下旋转关系:Rg=ARc,其中A为摄像头坐标系到陀螺
仪坐标系的转换矩阵,将 和 带入公式(1),则第n-1帧和第n帧
中某一匹配点的关系则变成如下等式:
[0075]
[0076] 同样的,第n-1帧和第n帧中的第m、m+1个及其它匹配点的关系如下列等式:
[0077]
[0078]
[0079] 在方程组(3)中,除了摄像头的内参K、摄像头与陀螺仪之间的夹角A是未知数以外,其它均为已知。因此,可以采用计算方法中的迭代估计优化方法来对方程组(3)中的K和
A进行求解。在本发明的优选实施例中采用了LMA(Levenberg-Marquardt,列文伯格-马夸尔
特法)方法求解到最优的K和A值。在其他的实施例中,也可以采用其他方法例如但不限于梯
度下降法、高斯-牛顿法等。
[0080] 至此,在步骤110中可以获得摄像头的内参K、摄像头与陀螺仪之间的夹角A。
[0081] 接下来,在图1所示的步骤120中,建立陀螺仪累积位姿列表L。该陀螺仪累积位姿列表L包括陀螺仪角速度采集时刻及与陀螺仪角速度采集时刻对应的累积位姿。
[0082] 在一些实施例中,步骤120可以由视频稳像装置200中的列表建立单元220执行。
[0083] 在一些实施例中,陀螺仪周期性的将其所采集到的信息发送到列表建立单元220。这些信息包括陀螺仪角速度(ωxi、ωyi、ωzi)、陀螺仪角速度采集时刻t_gyroi以及对应的
累积位姿pose_gyroi。根据陀螺仪角速度采集时刻t_gyroi所发送到列表建立单元220的陀
螺仪角速度旋转信息,来计算陀螺仪在角速度采集时刻t_gyroi的累积位姿pose_gyroi。在
一些实施例中,对陀螺仪的姿态角的解算方法可以采用矩阵旋转法、欧拉旋转法或四元数
旋转法等。在本发明的优选实施例中,采用四元数旋转法来对陀螺仪的姿态角进行解算,可
以防止出现万向节锁现象并降低计算复杂度。在本发明的实施例中,四元数旋转法可以是
一阶龙格库塔四元数微分算法或二阶龙格库塔四元数微分算法。下文以一阶龙格库塔四元
数微分算法为例对陀螺仪的姿态角的解算方法进行说明。
[0084] 在一些实施例中,采用公式(4)计算陀螺仪角速度采集时刻t_gyroi对应的累积位姿pose_gyroi:
[0085] pose_gyroi=update(pose_gyroi-1,ωxi-1,ωyi-1,ωzi-1,t_gyroi-t_gyroi-1)  (4)
[0086] 其中,pose_gyroi表示陀螺仪角速度采集时刻t_gyroi时陀螺仪的累积位姿,pose_gyroi-1表示角速度采集时刻t_gyroi-1时陀螺仪的累积位姿,ωxi-1表示角速度采集时刻t_
gyroi-1时陀螺仪x轴角速度,ωyi-1表示角速度采集时刻t_gyroi-1时陀螺仪y轴角速度,ω
zi-1表示角速度采集时刻t_gyroi-1时陀螺仪z轴角速度,update为一阶龙格库塔四元数微分
算法。
[0087] 利用公式(4)计算得到不同的陀螺仪角速度采集时刻(t_gyro0,t_gyro1,…,t_gyroi)及其对应的陀螺仪累积位姿(pose_gyro0,pose_gyro1,…,pose_gyroi),以形成陀螺
仪累积位姿列表L:
[0088] L={,,…,,}  (5)
[0089] 可以理解的是,本发明的实施例对陀螺仪的采集时刻没有数量上的限制。在其他的实施例中,陀螺仪也可以以非周期性的方式采集相关的信息发送到列表建立单元220。
[0090] 在图1所示的步骤130中,读取待处理的帧图像,根据夹角和陀螺仪累积位姿列表,估算各像素行读取时刻摄像头的累积位姿。
[0091] 在一些实施例中,步骤130可以由视频稳像装置200中的估算单元230执行。
[0092] 在本步骤中,估算单元230首先读取待处理的帧图像,该帧图像包括帧缓存、各像素行读取时刻 其中j表示第j帧图像,y表示第y像素行。
[0093] 在陀螺仪发送到列表建立单元220的信息中,寻找距离像素行读取时刻 最近的前后两次陀螺仪角速度采集时刻t_gyronear与t_gyronear+1,它们应满足如下约束条件:
[0094]
[0095] 在一些实施例中各像素行读取时刻 摄像头的累积位姿 可以通过lerp插值算法、slerp插值算法和squad插值算法估算。以slerp插值算法为例,各像素行
读取时刻 摄像头的累积位姿 可以由公式(7)估算:
[0096]
[0097]
[0098] 其中, 表示第j帧图像第y行像素的读取时刻,t_gyronear与t_gyronear+1表示距离 最近的前后两次陀螺仪角速度的采集时刻, 表示 时刻摄像
头的累积位姿,pose_gyronear表示t_gyronear时刻陀螺仪的累积位姿,pose_gyronear+1表示t_
gyronear+1时刻陀螺仪的累积位姿,slerp表示四元数球面插值算法,A表示摄像头与陀螺仪
之间的夹角。
[0099] 在图1所示的步骤140中,根据第一像素行读取时刻摄像头的累积位姿对其后各像素行读取时刻摄像头的累积位姿进行校正。
[0100] 在一些实施例中,步骤140可以由视频稳像装置200中的校正单元240执行。
[0101] 在一些实施例中,可以采用公式(8),根据第一像素行曝光时刻摄像头的累积位姿对各像素行读取时刻摄像头的累积位姿进行校正:
[0102]
[0103] 其中, 表示第j帧图像第y行像素相对于该帧第1行像素的相对位姿, 表示第j帧图像第y行像素摄像头的累积位姿的逆, 表示第j
帧图像第一像素行读取时刻摄像头的累积位姿。
[0104] 经过本步骤,可以去除CMOS摄像头在成像中所产生的果冻效应。并且,由于本步骤直接使用步骤130中所获得由各像素行读取时刻等信息估算得到的帧图像每像素行的累积
位姿,与传统的需要前期标定获得摄像头参数的方法相比,本实施例的视频稳像方法具有
自适应性和准确度高的特点。
[0105] 在一些实施例中,本发明的视频稳像方法还包括步骤150,即,对校正后的摄像头的累积位姿进行平滑处理。
[0106] 在一些实施例中,步骤150可以由视频稳像装置200中的平滑单元250执行。
[0107] 在对视频进行稳像处理时,实际上是让摄像头的累积位姿的变化从剧烈变为相对平滑。因此,需要对摄像头的所有实际累积位姿进行平滑处理。假设对摄像头的累积位姿为
pose_camj,经过平滑处理后的累积位姿为pose_camj′,则本步骤的平滑处理可以按照如下
公式进行:
[0108] pose_cam′j=Smooth(pose_camj)  (9)
[0109] 其中Smooth可以是用于平滑处理的任意算法。
[0110] 由于摄像头的抖动通常是没有规律的,属于非线性系统,且陀螺仪偏移一般在某个很小的时间段内为一恒定值,因此,在一些实施例中,可以采用基于匀速模型的无损卡尔
曼滤波(UKF)对摄像头的所有实际累积位姿进行平滑滤波处理,以实现跟踪陀螺仪偏移的
同时平滑摄像头的累积位姿,则平滑公式(9)可以被替换成公式(10):
[0111] pose_cam′j=UKF(pose_camj)  (10)
[0112] 其中UKF表示无损卡尔曼滤波函数,无损卡尔曼滤波动态模型为:
[0113]
[0114] 而测量模型为:
[0115] pose_camj=pose_cam′j*pose_cam_noisej  (12)
[0116] 其中ωx_noisej、ωy_noisej和ωz_noisej为无损卡尔曼滤波的过程噪声(即陀螺仪噪声),默认值为3e-10,它的值设置的越小,处理后的摄像头的累积位姿越平滑;pose_
cam_noisej为无损卡尔曼滤波的测量噪声(即摄像头的抖动),默认值为0.002,它的值越
大,处理后的摄像头的累积位姿与实际摄像头的累积位姿越接近(即跟踪越快),也就越不
平滑。因此,可根据实际需求,合理调整这些参数。
[0117] 由于对摄像头的累积位姿进行了平滑处理,在进行快速跟踪并平滑摄像头或摄像头位姿的同时,能有效的防止因陀螺仪偏移而出现稳像后视频以固定角度倾斜或以固定角
速度旋转等现象,与传统方法相比,该方法无需进行陀螺仪偏移标定。
[0118] 在一些实施例中,考虑到避免最终裁剪的图像存在黑边,本发明的视频稳像方法还包括采用球面插值算法对经过平滑处理之后的摄像头的累积位姿进一步约束并调整的
步骤。该步骤可以由图2所示的视频稳像装置200中的裁剪单元260执行。
[0119] 图5是采用本发明的一实施例的视频稳像方法处理之后的帧图像。参考图5所示,对具有抖动的帧图像进行稳像处理后,处理后的帧图像相对于原始帧图像来说可能因为发
生形变而变小使得周围出现黑色无效区域,也可能因发生位移而导致部分超出可显示区
域。这两种情况发生的概率都和抖动剧烈程度有关,抖动越剧烈,为了去除这些抖动,需要
较大的运动补偿,而使得黑色无效区域变大,部分区域超出可显示区域可能性也变大。因
此,在一些实施例中,会对经过稳像处理之后的帧图像进行裁剪。
[0120] 在进行裁剪的步骤中,需要对经过平滑处理之后的摄像头累积位姿pose_camj′进行进一步处理得到pose_camj″,使得经过稳像处理后的帧图像在给定的有效显示区域(cx,
cy,cx+cw-1,cy+ch-1)内不会产生黑色无效区域。
[0121] 图6是对图5所示的帧图像进行裁剪的示意图。参考图6所示,经过裁剪之后的帧图像在方框所示的有效显示区域内不存在黑色无效区域。
[0122] 在一些实施例中,根据摄像头的累积位姿pose_camj、经过平滑处理后的累积位姿pose_camj′以及参数t,通过球面插值算法得到pose_camj″,其计算公式如下所示:
[0123]
[0124] 在计算过程中,通过参数t的调整,以满足下式所示的约束条件:
[0125]
[0126] 其中,g([x,y,z]T)=[x/z,y/z]T  (15)
[0127] 满足 必须使 成立  (16)
[0128] 其中,width和height分别代表第j帧图像的宽度和高度,而xj和yj表示经过稳像处理后,像素点(xj′,yj′)在原始第j帧图像中的坐标,K表示摄像头的内参。
[0129] 在一些实施例中,对最优t的确定,可以采用二分查找法进行加速求解。
[0130] 在得到摄像头的累积位姿pose_camj、经过平滑处理后的累积位姿pose_camj′以及pose_camj″之后,即可完成原始帧图像的所有像素点到经过稳像处理后的帧图像的映射。
也就是说,根据每个像素行的相对位姿 可以得到每个像素点的新坐标
(xj′,yj′),如下列公式所示:
[0131]
[0132] g([x,y,z]T)=[x/z,y/z]T  (18)
[0133] 在实际实现过程中,为了防止映射后的帧图像出现空洞,可以采用逆向映射(inverse warping)。因此,在一些实施例中,本发明的视频稳像方法还包括将裁剪之后的
摄像头的累积位姿逆向映射至原始帧图像。该步骤可以由图2所示的视频稳像装置200中的
逆向映射单元270执行。
[0134] 该逆向映射方法如下列公式所示:
[0135]
[0136] g([x,y,z]T)=[x/z,y/z]T  (20)
[0137] 通过公式(19)和公式(20),在经过稳像处理后的帧图像的有效显示区域(cx,cy,cx+cw-1,cy+ch-1)内,所有像素点都可以找到原始帧图像对应的像素点。在这些实施例中,
通过该逆向映射的步骤可以同时完成映射和剪裁工作。
[0138] 本发明提供一种视频稳像方法及装置,通过摄像头与陀螺仪之间的夹角和陀螺仪累积位姿列表估算帧图像中摄像头的累积位姿,消除CMOS摄像头的果冻效应,避免了对
CMOS摄像头曝光时间和陀螺仪偏差的标定,提升了用户体验;采用无损卡尔曼滤波对摄像
头的累积位姿进行平滑处理,可以防止帧图像以固定角度倾斜或以固定角速度旋转,提高
了稳像效果。
[0139] 上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述发明披露仅仅作为示例,而并不构成对本发明的限定。虽然此处并没有明确说明,本领域技术人员可能会
对本发明进行各种修改、改进和修正。该类修改、改进和修正在本发明中被建议,所以该类
修改、改进、修正仍属于本发明示范实施例的精神和范围。
[0140] 同时,本发明使用了特定词语来描述本发明的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本发明至少一个实施例相关的某一特征、结构或特点。因
此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施
例”或“一替代性实施例”并不一定是指同一实施例。此外,本发明的一个或多个实施例中的
某些特征、结构或特点可以进行适当的组合。
[0141] 应当注意的是,为了简化本发明披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本发明实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其
的描述中。但是,这种披露方法并不意味着本发明对象所需要的特征比权利要求中提及的
特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
[0142] 一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说
明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例
中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点
可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的
方法。尽管本发明一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实
施例中,此类数值的设定在可行范围内尽可能精确。
[0143] 虽然本发明已参照当前的具体实施例来描述,但是本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,在没有脱离本发明精神的情况下还可做
出各种等效的变化或替换,因此,只要在本发明的实质精神范围内对上述实施例的变化、变
型都将落在本发明的权利要求书的范围内。