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

获取姿态角的方法、摄像头防抖控制方法以及电子设备与流程

2022-03-02 04:04:41 来源:中国专利 TAG:


1.本技术涉及光学防抖技术领域,具体涉及一种获取姿态角的方法、摄像头防抖控制方法以及电子设备。


背景技术:

2.随着现代社会科技的进步和发展,拍照功能在智能手机等移动终端设备上越来越普及,使用移动终端摄像头进行拍照或者录像已经成为人们日常生活中非常普遍的现象。在使用移动终端摄像头进行拍摄时,仍然存在因人手抖动或外部颠簸等原因导致摄像头抖动,进而造成拍摄的图像模糊、不清晰的问题。
3.如何较为准确地获得拍摄过程中摄像头因外部原因引起的姿态角度,从而控制音圈电机(vcm)镜头沿偏移角度的反方向进行移动补偿,成为了解决图像模糊问题的关键。
4.现有技术的光学防抖控制方法中,获取的姿态角度的准确性还有待进一步提高。


技术实现要素:

5.鉴于此,本技术提供一种获取姿态角的方法、摄像头防抖控制方法以及电子设备,以解决现有的姿态角计算准确性不足的问题。
6.本技术提供的一种获取姿态角的方法,包括:实时获取原始检测数据,所述原始检测数据至少包括:原始加速度数据和原始角速度数据;采用姿态误差补偿向量对所述原始角速度数据进行修正,获得修正角速度数据,所述姿态误差补偿向量与所述原始加速度数据相关;根据所述修正角速度数据,获取修正姿态四元数;根据所述修正姿态四元数,获取姿态角。
7.可选的,所述采用姿态误差补偿向量对所述原始角速度数据进行修正,获得修正角速度数据包括:对所述姿态误差补偿向量进行比例-积分计算以得到所述修正角速度数据。
8.可选的,根据所述原始加速度数据和所述原始角速度数据计算得到所述姿态误差补偿向量,包括:将所述原始加速度数据进行归一化,获取归一化后加速度数据;计算移动终端坐标系下的重力矢量;将所述归一化后加速度数据与所述重力矢量进行叉乘,得到所述姿态误差补偿向量。
9.可选的,根据所述修正角速度数据,获取修正姿态四元数时,采用以下公式进行计算:
[0010][0011]
其中,q
c,t

t
=[q
0c q
1c q
2c q
3c
]
tt

t
为修正姿态四元数,ω
xc
为空间坐标系下x轴的修正角速度数据的分量,ω
yc
为空间坐标系下y轴的修正角速度数据的分量,ω
zc
为空间
坐标系下z轴的修正角速度数据的分量,δt为相邻两次获取原始检测数据的时间间隔。
[0012]
可选的,根据所述修正姿态四元数,获取姿态角的方法包括:对所述修正姿态四元数进行归一化处理,得到规范姿态四元数;根据所述规范姿态四元数计算得到所述姿态角,所述姿态角包括俯仰角、偏航角和翻滚角;其中所述俯仰角pitch=arcsin(-2q
2cq3c
2q
0cq2c
),所述偏航角所述翻滚角q
0c
、q
1c
、q
2c
、q
3c
为修正姿态四元数的四个分量。
[0013]
可选的,所述重力矢量v的计算公式为:
[0014][0015]
其中,
[0016]
g为空间坐标系下的预设重力矢量,r
eb
为四元数转换矩阵,q
0c
、q
1c
、q
2c
、q
3c
为修正姿态四元数的四个分量。
[0017]
可选的,空间坐标系下的预设重力矢量为g=[0 0 1]
t

[0018]
可选的,在初始时刻,q
0c
=1,q
1c
=q
2c
=q
3c
=0。
[0019]
本技术还提供一种防抖控制方法,包括:如上述任一项所述的获取姿态角的方法,获取姿态角;将所述姿态角转换为抖动距离;根据所述抖动距离,控制摄像头镜头移动。
[0020]
可选的,所述姿态角包括俯仰角pitch、偏航角yaw以及翻滚角roll,将所述姿态角转换为抖动距离的公式为:d
x
=k1roll,dy=k2pitch,dz=k3yaw;其中,d
x
、dy和dz分别为抖动距离在三个轴向上的分量,k1、k2和k3为增益系数。
[0021]
可选的,根据所述抖动距离,控制摄像头镜头移动的方法包括:控制摄像头镜头移动一补偿距离,所述补偿距离的大小与所述抖动距离的大小相同,方向相反。
[0022]
本技术还提供一种电子设备,包括:处理器;存储介质,所述存储介质内存储有计算机程序,所述计算机程序能够被所述处理器运行,以执行如上述任一项所述的获取姿态角的方法;或者执行如上述任一项所述的摄像头防抖控制方法。
[0023]
本技术上述获取姿态角的方法,根据姿态误差补偿向量对原始角速度数据进行修正,并通过姿态四元数计算方法获得修正姿态四元数,并根据所述修正姿态四元数能够获得更为准确的姿态角。
附图说明
[0024]
为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于
本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0025]
图1是本技术一实施例的获取姿态角的方法的流程示意图;
[0026]
图2是本技术一实施例的姿态误差补偿向量的计算方法的流程示意图;
[0027]
图3是本技术一实施例的摄像头防抖控制方法的流程示意图;
[0028]
图4是本技术一实施例的获取姿态角的方法的流程示意图。
具体实施方式
[0029]
如背景技术中所述,现有技术的光学防抖控制技术中,获取的姿态角的准确性还有待进一步的提高,导致防抖效果还有待进一步的提高。
[0030]
下面结合附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而非全部实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。在不冲突的情况下,下述各个实施例及其技术特征可以相互组合。
[0031]
请参考图1,为本发明一实施例的获取姿态角的方法的流程示意图。
[0032]
所述姿态角为移动终端的姿态角度,例如在采用移动终端拍摄照片时,由于手持或外界环境导致的抖动,所述姿态角用于衡量摄像头由于抖动而偏移初始位置的角度。
[0033]
具体的,所述获取姿态角的方法包括如下步骤:
[0034]
步骤s101:实时获取原始检测数据,所述原始检测数据至少包括原始加速度数据和原始角速度数据。
[0035]
所述原始加速度数据和所述原始角速度数据均可以通过电子设备内置的传感器获取,在电子设备发生抖动时,传感器会产生传感信号,通过对传感信号的处理,可以获得对应的数据。例如可以通过陀螺仪同时获取所述原始加速度数据和原始角速度数据,还可以分别通过加速度计获取原始加速度数据,以及通过角度采集器等获取原始角速度数据。所述原始角速度数据和所述原始加速度数据即对应于角速度或加速度,也可以是与角速度或加速度之间具有特定转换关系的数据。在其他实施例中,所述原始检测数据还可能包括其他检测数据。
[0036]
该实施例中,通过陀螺仪获取当前时刻,即t时刻的原始加速度数据和原始角速度数据。为了提高检测精度,所述原始加速度数据和原始角速度数据可以是对陀螺仪输出信号进行滤波处理后得到,所述滤波处理可以采用高通滤波算法,由于传感器等输出的有效传感信号的频率较高,采用高通滤波算法,能够尽可能多的保留有效信号,而滤除噪声信号,从而获得较为准确的原始加速度数据和原始角度数据。
[0037]
在其他实施例中,本领域技术人员可以根据实际采用的传感器类型以及参数,选择合适的滤波算法以及算法参数,对传感信号进行滤波处理,在此不再赘述。
[0038]
步骤s102:采用姿态误差补偿向量对原始角速度数据进行修正,获得修正角速度数据。所述姿态误差补偿向量与所述原始加速度数据相关。
[0039]
步骤s103:根据所述修正角速度数据,获取修正姿态四元数;
[0040]
步骤s104:根据所述修正姿态四元数,获取姿态角。
[0041]
上述实施例的获取姿态角的方法,通过姿态四元数计算方法,以及根据姿态误差
补偿向量对原始检测数据进行修正,能够获得更为准确的姿态角。
[0042]
在一个实施例中,对应于上述步骤s102,所述采用姿态误差补偿向量对所述原始角速度数据进行修正,获得修正角速度数据包括:对所述姿态误差补偿向量进行比例-积分计算以得到所述修正角速度数据。通过上一时刻计算过程得到的姿态误差补偿向量对当前时刻的原始角速度数据进行修正。
[0043]
所述修正角速度数据包括三个方向上的分量,分别为ω
xc
、ω
yc
和ω
zc
,ω
xc
为空间坐标系下x轴的修正角速度数据的分量,ω
yc
为空间坐标系下y轴的修正角速度数据的分量,ω
zc
为空间坐标系下z轴的修正角速度数据的分量。
[0044]
其中,
[0045]
ω
xc
=ω
x
k
pex
ki∫e
x
dt;
[0046]
ω
yc
=ωy k
pey
ki∫eydt;
[0047]
ω
zc
=ωz k
pez
ki∫ezdt。
[0048]
其中e
x
、ey和ez分别为姿态误差补偿向量e在空间坐标系下的三个方向的分量,k
p
为预设比例系数,ki为预设积分系数,这里的k
p
和ki主要根据对原始角速度数据的修正效果进行设置。如果不对原始角速度数据进行修正的话,那么姿态四元数会随着原始角速度数据的漂移而漂移,标准重力加速度在移动终端坐标系下的映射也会漂移,就与测得的原始角速度数据之间产生角度差。而通常由于发生漂移的时间很短,可以将所述角度差认为是角速度差,直接使用这个角度差对所述原始角速度数据进行修正,就会保证角速度长期稳定,得到准确的修正姿态四元数。由于陀螺仪的加速度灵敏度高、高频噪声较大,所以在修正原始角速度数据时,k
p
和ki值不宜过大。在一些实施例中,k
p
值小于2,ki值小于0.01。在实际应用中,可以根据实际修正效果设置具体的k
p
和ki值。
[0049]
在一个实施例中,对应于上述步骤s103:根据所述修正角速度数据,获取修正姿态四元数的计算方法的推理过程如下:
[0050]
首先,根据修正角速度数据确定四元数微分方程:
[0051][0052]
其中,qc为空间坐标系到移动终端坐标系的修正姿态四元数,qc=[q
oc q
1c q
2c q
3c
]
t
,为qc的导数。
[0053]
随后,对上述四元数微分方程进行求解,得到空间坐标系到终端坐标系的修正姿态四元数。该实施例中,采用一阶龙格—库塔(runge-kutta)法对上述微分方程进行求解,具体包括:
[0054]
将方程展开,得到:
[0055][0056]
通过上述公式,基于t时刻的修正姿态四元数以及修正角速度数据,可以得到(t δt)时刻的修正姿态四元数,δt为相邻两次获取原始检测数据的时间间隔。
[0057]
在一个实施例中,对应于上述步骤s104,根据修正姿态四元数,获取姿态角的方法包括:对修正姿态四元数进行归一化处理,得到规范姿态四元数qc',qc'=[q
0c
' q
1c
' q
2c
' q
3c
']
t
;根据所述规范姿态四元数计算得到姿态角。
[0058]
具体的,
[0059][0060][0061]q0c’、q
1c’、q
2c’和q
3c’为修正姿态四元数qc=[q
0c q
1c q
2c q
3c
]
t
中的四个分量的归一化数据。
[0062]
所述姿态角包括俯仰角pitch、翻滚角roll以及偏航角yaw,其中,
[0063]
pitch=arcsin(-2q
2cq3c
2q
0cq2c
);
[0064][0065][0066]
上述实施例中,通过四元数计算方法,以及对原始检测数据进行修正,获得了更为准确的姿态角。
[0067]
进一步的,根据更为准确的姿态角,能够对电子设备实现更精准的摄像头防抖控制。
[0068]
请参考图2,为本发明的另一实施例中,获取姿态误差补偿向量的方法流程示意图。
[0069]
发明人发现,即便通过滤波处理后的传感信号得到原始加速度数据和原始角速度数据,但是所述原始加速度数据和原始角速度数据,与实际的加速度、角速度之间依旧存在一定的误差,会影响后续姿态角计算结果的准确性。这个主要是由于原始加速度数据和原始角速度数据中存在一定的高频噪声,无法通过滤波算法消除,且原始加速度数据和原始角速度数据之间也存在相互影响,两者的准确性相互影响,其中一个数据的误差会引起另一数据的误差。
[0070]
本发明的实施例中,所述姿态误差补偿向量主要是针对原始加速度数据的误差补偿量。
[0071]
该实施例中,根据所述原始加速度数据和所述原始角速度数据计算姿态误差补偿
向量,具体包括如下步骤:
[0072]
步骤s201:将原始加速度数据进行归一化,获取归一化后加速度数据。
[0073]
在空间坐标系即直角坐标系下,原始加速度数据包括三个轴向上的分量,即x轴原始加速度数据的分量a
x
、y轴原始加速度数据的分量ay,以及z轴原始加速度数据的分量az。
[0074]
各轴向的归一化后加速度数据为:
[0075][0076][0077][0078]
步骤s202:计算移动终端坐标系下的重力矢量v。
[0079]
所述重力矢量v,包括三个方向上的分量,v
x
、vy和vz。
[0080]
所述重力矢量v的计算公式为:
[0081][0082]
其中,
[0083][0084]reb
为四元数转换矩阵,g为空间坐标系下的预设重力矢量,q
0c’、q
1c’、q
2c’和q
3c’为修正姿态四元数qc=[q
0c q
1c q
2c q
3c
]
t
中的四个分量的归一化数据,通过上一时刻测量时的步骤s104得到上述四个分量的归一化数据,具体包括:
[0085][0086][0087]
在首次计算时,也即初始时刻,t=0,此时q0=[1 0 0 0]
t
,即q
0c’=1,q
1c’=q
2c’=q
3c’=0。在下一时刻的计算时,采用更新后的修正姿态四元数数据进行计算。
[0088]
在空间坐标系下,通常采用的预设重力矢量为g=[0 0 1]
t

[0089]
由此,获取了上述重力矢量v。
[0090]
步骤s203:将归一化后加速度数据与重力矢量进行叉乘,得到姿态误差补偿向量。
[0091]
姿态误差补偿向量的计算公式如下:
[0092][0093]
由此,得到当前时刻姿态误差补偿向量e,可用于下一时刻计算过程中,对下一时刻得到的原始角速度数据进行补偿。
[0094]
由于所述姿态误差补偿向量,与原始加速度数据相关,且再次用于对原始角速度数据的修正,考虑了原始角速度数据的误差和原始加速度数据的误差之间的相互影响,从而提高对修正角速度数据的修正效果,提高最终计算得到的姿态角的准确性。
[0095]
本发明的实施例还提供一种摄像头防抖控制方法,用于电子设备的摄像头防抖控制。请参考图3,为该实施例的摄像头防抖控制方法的流程示意图。
[0096]
所述摄像头防抖控制方法包括如下步骤:
[0097]
步骤s301:获取姿态角。
[0098]
所述获取姿态角的方法如上述实施例中所述,在此不再赘述。
[0099]
步骤s302:将所述姿态角转换为抖动距离。
[0100]
抖动距离包括三个轴向上的分量,分别为d
x
,dy和dz。其中,d
x
=k1roll;dy=k2pitch;dz=k3yaw,其中,roll为翻滚角,pitch为俯仰角,yaw为偏航角,k1、k2和k3分别为各个轴向上的增益系数,与摄像头镜头模组的参数相关。
[0101]
步骤s303:根据所述抖动距离,控制摄像头镜头移动。
[0102]
控制摄像头镜头移动一补偿距离,所述补偿距离的大小与所述抖动距离的大小相同,方向相反,从而将摄像头镜头移动回初始位置。
[0103]
请参考图4,为本发明另一实施例的获取姿态角的方法的流程示意图。
[0104]
步骤s401:获取原始角速度数据ω和原始加速度数据a;
[0105]
步骤s402:根据姿态误差补偿向量e计算修正角速度数据ωc;
[0106]
步骤s403:根据修正角速度数据ωc得到姿态四元数微分方程,并解算所述姿态四元数微分方程,得到修正姿态四元数qc;
[0107]
步骤s404:将修正姿态四元数qc的各个分量归一化,得到规范姿态四元数q
c’;
[0108]
步骤s405:根据归一化后的规范姿态四元数q
c’,计算得到姿态角。
[0109]
并且,继续执行如下步骤,以更新姿态误差补偿向量:
[0110]
步骤s406:根据规范姿态四元数q
c’,计算四元数转换矩阵r
eb

[0111]
步骤s407:根据所述四元数转换矩阵r
eb
,计算重力矢量v;
[0112]
在上述步骤进行的同时或之后,还执行步骤s408,将原始加速度数据归一化,得到归一化后角速度数据a’;
[0113]
步骤s409:根据归一化后加速度数据a’以及重力矢量v,计算姿态误差补偿向量e,以提供给后续的姿态角计算过程。
[0114]
上述各个步骤中的计算方法请参考前述相关实施例,在此不再赘述。
[0115]
本发明的实施例还提供一种电子设备,具有摄像头以及姿态传感器。所述电子设备还包括:处理器;存储介质,所述存储介质内存储有计算机程序,所述计算机程序能够被所述处理器运行,以执行如上述任一实施例所述的姿态角度获取方法;或者执行如上述实
施例所述的摄像头防抖控制方法。
[0116]
以上所述仅为本技术的实施例,并非因此限制本技术的专利范围,凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
再多了解一些

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

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

相关文献