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

光学防抖控制方法、装置、存储介质与电子设备与流程

2022-05-08 05:43:09 来源:中国专利 TAG:


1.本公开涉及影像技术领域,尤其涉及一种光学防抖控制方法、光学防抖控制装置、计算机可读存储介质与电子设备。


背景技术:

2.随着影像技术的发展,人们越来越多地使用具备摄像头的电子设备来拍摄图像或视频,以记录各种信息。在拍摄过程中,拍摄者手部的抖动或环境中的震动等,会造成拍摄画面的抖动,导致图像模糊。
3.相关技术中,采用光学防抖(optical image stabilizer,ois)来补偿抖动过程中镜头的偏移,以实现防抖的效果。然而,目前的光学防抖所能适用的场景较为有限。
4.需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域技术人员已知的现有技术的信息。


技术实现要素:

5.本公开提供一种光学防抖控制方法、光学防抖控制装置、计算机可读存储介质与电子设备,以至少在一定程度上拓宽光学防抖的应用范围。
6.根据本公开的第一方面,提供一种光学防抖控制方法,包括:获取被拍摄物体与摄像头间的物距;根据所述物距,在惯性传感器的数据类别中确定目标类别;基于所述目标类别的惯性传感数据确定所述摄像头的位姿信息;通过解析所述摄像头的位姿信息,得到光学防抖控制参数。
7.根据本公开的第二方面,提供一种光学防抖控制装置,包括:物距获取模块,被配置为获取被拍摄物体与摄像头间的物距;目标类别确定模块,被配置为根据所述物距,在惯性传感器的数据类别中确定目标类别;位姿信息确定模块,被配置为基于所述目标类别的惯性传感数据确定所述摄像头的位姿信息;控制参数确定模块,被配置为通过解析所述摄像头的位姿信息,得到光学防抖控制参数。
8.根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面的光学防抖控制方法及其可能的实现方式。
9.根据本公开的第四方面,提供一种电子设备,包括:处理器;存储器,用于存储所述处理器的可执行指令;摄像头,所述摄像头包括光学防抖系统。其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面的光学防抖控制方法及其可能的实现方式。
10.本公开的技术方案具有以下有益效果:
11.根据拍摄物体与摄像头间的物距,确定惯性传感数据中的目标类别,并采用该目标类别的惯性传感数据确定摄像头的位姿信息,进而通过解析位姿信息得到光学防抖控制参数,光学防抖控制参数可用于实现准确地光学防抖控制。一方面,本方案能够在不同物距下实现光学防抖,从而突破了相关技术中对于物距的限制,拓宽了光学防抖的应用范围。另
一方面,本方案根据不同的物距,采用与之相适应的目标类别的惯性传感数据来进行位姿信息的相关计算,能够在一定程度上减少所需处理的惯性传感数据的数量,从而提高光学防抖的响应速度与效率,并改善潜在的摄像头发热问题。
12.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
13.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
14.图1示出本示例性实施方式中一种电子设备的结构示意图;
15.图2示出本示例性实施方式中光学防抖的原理示意图;
16.图3示出本示例性实施方式中一种光学防抖控制方法的流程图;
17.图4示出本示例性实施方式中镜头旋转与平移导致画面偏移的示意图;
18.图5示出本示例性实施方式中确定第一物距阈值的流程图;
19.图6示出本示例性实施方式中确定第一、第二、第三物距阈值的示意图;
20.图7示出本示例性实施方式中确定位置调节信息的流程图;
21.图8示出本示例性实施方式中镜头在x方向上被移动的示意图;
22.图9示出本示例性实施方式中光学防抖流程的示意图;
23.图10示出本示例性实施方式中一种光学防抖控制装置的结构示意图。
具体实施方式
24.现在将参考附图描述本公开的示例性实施方式。然而,示例性实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例。提供这些实施方式使得本公开将更加全面和完整,并将示例性实施方式的构思全面地传达给本领域技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
25.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
26.相关技术中,光学防抖对于物距有一定的限制,通常仅能在特定的物距范围内实现较好的防抖效果,因此所能适用的场景较为有限。
27.鉴于上述问题,本公开的示例性实施方式提供一种光学防抖控制方法,以及用于
执行该光学防抖控制方法的电子设备。下面首先对电子设备进行说明。
28.电子设备可以包括处理器、存储器与摄像头。摄像头包括光学防抖系统。存储器存储有处理器的可执行指令,如可以是程序代码。处理器通过执行该可执行指令来执行本示例性实施方式中的光学防抖控制方法。该电子设备可以是手机、平板电脑、数码相机、无人机、智能穿戴设备等。
29.下面以图1中的移动终端100为例,对该电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图1中的构造也能够应用于固定类型的设备。
30.参考图1所示,移动终端100具体可以包括:处理器110、存储器120、通信模块130、总线140、显示模块150、电源模块160、摄像头170与传感器模块180。
31.处理器110可以包括一个或多个处理单元,例如:处理器110可以包括ap(application processor,应用处理器)、调制解调处理器、gpu(graphics processing unit,图形处理器)、isp(image signal processor,图像信号处理器)、控制器、编码器、解码器、dsp(digital signal processor,数字信号处理器)、基带处理器和/或npu(neural-network processing unit,神经网络处理器)等。本示例性实施方式中的光学防抖控制方法,可以由ap、gpu、dsp、isp中的一个或多个来执行。当方法涉及到神经网络时,也可以由npu来执行。
32.处理器110可以通过总线140与存储器120或其他部件形成连接。
33.存储器120可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在存储器120的指令,执行移动终端100的各种功能应用以及数据处理。例如,存储器120可以存储本示例性实施方式中的光学防抖控制方法的程度代码,处理器110通过运行该代码来实现该光学防抖控制方法。存储器120还可以存储应用数据,例如存储图像,视频等文件。
34.移动终端100的通信功能可以通过通信模块130与天线、调制解调处理器、基带处理器等实现。天线用于发射和接收电磁波信号,如射频信号。通信模块130可以提供应用在移动终端100上的3g、4g、5g等移动通信解决方案,或者无线局域网、蓝牙、近场通信等无线通信解决方案。
35.显示模块150用于提供移动终端100的显示功能,例如显示图形用户界面。电源模块160用于实现电源管理功能,如为电池充电、为设备供电、监测电池状态等。
36.摄像头170用于拍摄图像或视频,其可以包括镜头171、图像传感器172、光学防抖系统173等组件,还可以包括盖板、滤光片等其他图像未示出的组件。其中,镜头171可以是透镜,用于进行光路的控制。图像传感器172用于接收光信号并转换为电信号,以进一步转换为数字信号等。光学防抖系统173用于提供摄像头170的光学防抖功能,以确保摄像头170在发生抖动的情况下能够拍出较为清晰的图像或视频。
37.本示例性实施方式中,可以由处理器110执行光学防抖控制方法,以对光学防抖系统173进行控制。例如,isp可以与摄像头170配套设置,由该isp执行光学防抖控制方法,将产生的控制信号传输至光学防抖系统173,以实现相应的控制。此外,isp还可以用于实现自动对焦、自动曝光、自动白平衡、闪烁检测、黑电平补偿等功能。
38.传感器模块180可以包括一种或多种传感器,用于实现相应的感测功能。本示例性
实施方式中,传感器模块180可以包括惯性传感器181,如加速度计、陀螺仪、磁力计,分别用于感测与采集加速度数据、角速度数据(或角加速度数据,其通过积分可以得到角速度数据,可视为等同于角速度数据,因此下文不再赘述)、磁力计数据。惯性传感器181用于感测移动终端100的位姿,进而得到摄像头170的位姿。
39.在一种实施方式中,惯性传感器181可以与摄像头170配套设置,例如惯性传感器181设置于摄像头170中,其能够准确感测摄像头170的位姿。
40.此外,传感器模块180还可以包括其他传感器,例如深度传感器,用于感测深度信息。在一种实施方式中,深度传感器可以与摄像头170配套设置,以形成深度摄像头。并且,移动终端100还可以包括其他图中未示出的组件,如音频模块、触摸输入模块等。
41.本公开对于上述各组件的数量不做限定,例如对于摄像头170的数量不做限定,可以根据实际需求设置两个或三个摄像头等。
42.基于上述移动终端100,光学防抖的实现过程为:在拍摄过程中惯性传感器181可以感测摄像头170的抖动,将抖动的相关数据传输至isp,由isp执行本示例性实施方式中的光学防抖控制方法,得到光学防抖控制参数,然后isp可以将光学防抖控制参数发送至驱动电路(driver ic),由驱动电路控制光学防抖系统进行相应的调节,如可以通过控制光学防抖系统中的马达来调节摄像头170中的镜头171或图像传感器172的位置,以实现抖动补偿,从而改善由于抖动产生的影像模糊。
43.图2示出了光学防抖的原理。在无抖动的情况下,镜头220的光轴方向可以对准被拍摄物体230,在成像平面210上可以稳定成像,使图像较为清晰。当发生抖动、不开启光学防抖时,镜头220的光轴相较于被拍摄物体230发生偏移,使得整个画面发生偏移,并且由于镜头220的运动,使得成像不稳定,图像存在模糊。当发生抖动、开启光学防抖时,对镜头220的调节可以补偿抖动,使得光轴能够对准被拍摄物体230,且成像稳定,图像较为清晰。
44.下面结合图3对本示例性实施方式中的光学防抖控制方法进行说明。图3示出了该光学防抖控制方法的示例性流程,可以包括:
45.步骤s310,获取被拍摄物体与摄像头间的物距;
46.步骤s320,根据上述物距,在惯性传感器的数据类别中确定目标类别;
47.步骤s330,基于目标类别的惯性传感数据确定摄像头的位姿信息;
48.步骤s340,通过解析摄像头的位姿信息,得到光学防抖控制参数。
49.在上述光学防抖控制方法中,根据拍摄物体与摄像头间的物距,确定惯性传感数据中的目标类别,并采用该目标类别的惯性传感数据确定摄像头的位姿信息,进而通过解析位姿信息得到光学防抖控制参数,光学防抖控制参数可用于实现准确地光学防抖控制。一方面,本方案能够在不同物距下实现光学防抖,从而突破了相关技术中对于物距的限制,拓宽了光学防抖的应用范围。另一方面,本方案根据不同的物距,采用与之相适应的目标类别的惯性传感数据来进行位姿信息的相关计算,能够在一定程度上减少所需处理的惯性传感数据的数量,从而提高光学防抖的响应速度与效率,并改善潜在的摄像头发热问题。
50.下面对图3中的每个步骤进行具体说明。
51.在步骤s310中,获取被拍摄物体与摄像头间的物距。
52.物距通常指被拍摄物体到透镜光心的距离。本示例性实施方式中的物距用于衡量被拍摄物体距离摄像头的远近,为广义上的物距,可以是被拍摄物体与摄像头的任意组件
(不限于透镜)间的距离,如被拍摄物体与摄像头的图像传感器间的距离等。被拍摄物体可以是画面中的前景目标,或者处于画面中心的目标,或者对焦的目标等。在步骤s310中,可以获取拍摄前一帧或多帧图像时被拍摄物体与摄像头间的物距,以用于拍摄当前帧图像时的光学防抖控制,也可以基于预览图像获取被拍摄物体与摄像头间的物距。
53.本公开对于确定物距的具体方式不做限定,下面提供几个示例。
54.在一种实施方式中,上述获取被拍摄物体与摄像头间的物距,可以包括以下步骤:
55.获取摄像头对准被拍摄物体时的对焦参数;
56.根据对焦参数确定物距。
57.其中,对焦参数可以包括焦距、自动对焦控制参数等。焦距可以是自动对焦或手动对焦所确定的焦距。自动对焦控制参数可以是自动对焦时调节镜头位置的参数,如可以是af(auto focus,自动对焦)code。举例来说,af code的数值范围可以是0-1023,用于表示镜头沿光轴方向的位置,如af code值越大,表示镜头与图像传感器的距离越远。af code与焦距具有强相关性,因而也可用于计算物距。
58.上述对焦参数可以是拍摄当前帧图像的对焦参数。在拍摄连续图像时,由于连续帧之间的对焦参数通常不会发生太大变化,因此也可以沿用前一帧或多帧图像拍摄中的对焦参数。
59.在一种实施方式中,在得到焦距的情况下,可以通过透镜成像中焦距、物距、像距等的关系来计算出物距。
60.在一种实施方式中,上述根据对焦参数确定物距,可以包括以下步骤:
61.基于自动对焦控制参数与物距的标定关系,确定摄像头对准被拍摄物体时的自动对焦控制参数所对应的物距。
62.一般的,当物距不同时,摄像头进行自动对焦时的焦距不同,则用于调节镜头位置的自动对焦控制参数也不同,即自动对焦控制参数与物距存在对应关系,可以事先进行标定,例如在多个已知的物距下确定自动对焦控制参数,从而得到自动对焦控制参数与物距的标定关系。由此,在拍摄当前帧图像时,得到当前的自动对焦控制参数后,可以在标定关系中查找出对应的物距。
63.在一种实施方式中,如果摄像头为深度摄像头,则可以获取被拍摄物体的深度信息,并由此确定物距。例如,可以获取被拍摄物体的深度值,将深度值作为物距,或者被拍摄物体的深度值不唯一时,如被拍摄物体的不同部分的深度值不同时,可以将各个深度值进行融合(如求平均值或加权平均值等),以得到物距。
64.在一种实施方式中,可以根据被拍摄物体的两张图像确定物距。该两张图像可以是不同视角下的两张图像。例如,电子设备包括两个摄像头(双目摄像头),则可以通过两个摄像头采集被拍摄物体的两张图像;或者,摄像头处于运动状态下,可以获取不同时刻的两张图像,如可以获取当前帧的前两帧图像,或者在两个时刻分别采集预览图像等。在获取上述两张图像的情况下,可以通过三角化原理重建出被拍摄物体的三维信息,从而确定物距。
65.继续参考图3,在步骤s320中,根据上述物距,在惯性传感器的数据类别中确定目标类别。
66.惯性传感器的数据类别可以由传感器的类别而划分,也可以通过其他方式进行划分,如数据本身的形式等。示例性的,惯性传感器的数据类别可以包括:加速度数据、角速度
数据。此外还可以包括磁力计数据、重力数据等。
67.摄像头的抖动通常包括旋转与平移两种运动情况,下面以镜头的抖动为例,结合图4说明旋转与平移对画面偏移的影响。应当理解,镜头的抖动可以等同于图像传感器的抖动。图4示出了镜头旋转所导致的不同物距下的画面偏移,以及镜头平移导致的不同物距下的画面偏移。通过图4可以看出,在镜头220发生旋转的情况下,光轴的角度发生变化,当物距较小时,光轴(或焦点)与被拍摄物体230的距离较小,即画面偏移量较小;随着物距的增大,光轴(或焦点)与被拍摄物体230的距离越来越大,即画面偏移量越来越大。在镜头220发生平移的情况下,光轴的角度不发生变化,只是整体相对于被拍摄物体230发生平移,随着物距的变化,光轴(或焦点)与被拍摄物体230的距离不变,即画面偏移量不变。由此可知,当物距较小时,画面偏移量对于镜头的旋转不敏感,对于镜头的平移敏感,因此更需要对镜头的平移进行补偿;当物距较大时,画面偏移量对于镜头的平移不敏感,对于镜头的旋转敏感,因此更需要对镜头的旋转进行补偿。
68.需要说明的是,图4中将被拍摄物体230与实际光轴之间的直线距离作为画面偏移量,这仅为示意性的。也可以根据曲线距离确定画面偏移量,或者根据图像中特征点的位移确定画面偏移量,等等。无论采用哪种方式计算画面偏移量,原理都是相似的,图4中示出的关系也都是成立的。
69.所以,本示例性实施方式中,可以根据物距的不同,确定采用平移类别的惯性传感数据还是旋转类别的惯性传感数据以作为目标类别,进行光学抖动补偿。平移类别的惯性传感数据可以是加速度数据,旋转类别的惯性传感数据可以是角速度数据。
70.在一种实施方式中,上述根据物距,在惯性传感器的数据类别中确定目标类别,可以包括以下步骤:
71.响应于上述物距小于第一物距阈值,将加速度数据确定为目标类别;
72.响应于上述物距大于第一物距阈值,将角速度数据确定为目标类别。
73.其中,第一物距阈值可以是镜头的旋转与平移所导致的画面偏移量相同时的物距,可以根据经验或预先测试而得到。如果被拍摄物体与摄像头之间的物距小于第一物距阈值,即物距较小的情况,由于平移对画面偏移的影响较大,因此将加速度数据确定为目标类别。如果被拍摄物体与摄像头之间的物距大于第一物距阈值,即物距较大的情况,由于旋转对画面偏移的影响较大,因此将角速度数据确定为目标类别。
74.在一种实施方式中,可以通过预先测试确定上述第一物距阈值。具体地,参考图5所示,光学防抖控制方法还可以包括以下步骤s510至s530:
75.步骤s510,基于平移补偿与旋转补偿的关系,获取平移测试量与对应的旋转测试量。
76.其中,平移补偿与旋转补偿的关系可以是:在普遍情况下,对平移的补偿与对旋转的补偿之间的对应关系。例如,光学防抖系统一般采用对镜头进行平移而不是旋转的方式来补偿抖动,即使镜头发生了旋转,也可以通过平移补偿来降低甚至消除旋转的影响。根据经验,当镜头发生1度的旋转时,可以通过平移0.2mm来进行补偿,因此平移补偿与旋转补偿的关系可以包括0.2mm与1度的对应关系。该关系可以是线性或非线性的,本公开对此不做限定。
77.基于平移补偿与旋转补偿的关系,可以获取至少一组平移测试量与对应的旋转测
试量,如可以表示为(平移量a,旋转角度b)的形式。示例性的,可以以上述0.2mm为平移测试量,1度为旋转测试量,两者形成一组测试数据。
78.步骤s520,在利用平移测试量对摄像头施加平移的情况下,获取物距与画面偏移量的第一关系,在利用旋转测试量对摄像头施加旋转的情况下,获取物距与画面偏移量的第二关系。
79.本示例性实施方式中,可以利用平移测试量对摄像头施加平移,例如将镜头平移0.2mm,在此情况下测试不同物距下的画面偏移量,得到物距与画面偏移量的第一关系。可以利用旋转测试量对摄像头施加旋转,例如将镜头旋转1度,在此情况下测试不同物距下的画面偏移量,得到物距与画面偏移量的第二关系。
80.步骤s530,根据第一关系与第二关系确定第一物距阈值。
81.根据第一关系与第二关系,可以得到在哪个物距下,平移测试量所导致的画面偏移量与旋转测试量所导致的画面偏移量相等,则该物距为第一物距阈值。
82.示例性的,参考图6所示,可以将第一关系与第二关系分别绘制为曲线,其中横坐标可以是物距,纵坐标可以是画面平移量。一般的,第一关系曲线可以是纵坐标不变的直线,第二关系曲线可以是一次曲线或二次曲线等。第一关系曲线与第二关系曲线的交点所对应的物距即第一物距阈值。
83.在一种实施方式中,上述根据物距,在惯性传感器的数据类别中确定目标类别,可以包括以下步骤:
84.响应于上述物距小于第二物距阈值,将加速度数据确定为目标类别;
85.响应于上述物距大于第二物距阈值、且小于第三物距阈值,将加速度数据与角速度数据确定为目标类别;
86.响应于上述物距大于第三物距阈值,将角速度数据确定为目标类别。
87.其中,物距小于第二物距阈值时,由于物距很小,旋转所导致的画面偏移很小,可以忽略旋转的影响,仅考虑平移的影响,因此仅将加速度数据确定为目标类别。物距大于第三物距阈值时,由于物距很大,平移所导致的画面偏移很小,可以忽略平移的影响,仅考虑旋转的影响,因此仅将角速度数据确定为目标类别。物距处于第二物距阈值与第三物距阈值之间时,平移和旋转的影响都需要考虑,因此将两者均确定为目标类别。
88.第二物距阈值和第三物距阈值可以根据经验或预先测试而得到。示例性的,可以确定预设比例(如90%或其他经验数值),用于在平移或旋转所导致的画面偏移量在等效的总画面偏移量中所占的比例低于该预设比例时,可以忽略平移或旋转的影响。参考图6所示,可以在不同物距下计算平移量a与旋转角度b所分别导致的画面偏移量,并计算平移量a所导致的画面平移量与旋转角度b所导致的画面偏移量在其中所占的比例,将旋转角度b所导致的画面偏移量所占的比例等于预设比例的点所对应物距确定为第二物距阈值,则在物距小于第二物距阈值时,旋转部分所占的比例低于预设比例。将平移量a所导致的画面平移量所占的比例等于预设比例的点所对应物距确定为第三物距阈值,则在物距大于第三物距阈值时,平移部分所占的比例低于预设比例。
89.根据上述第一物距阈值,或者第二物距阈值与第三物距阈值,可以在不同的物距情况下确定合适的目标类别。后续仅使用目标类别的惯性传感数据进行光学防抖控制,而无需使用其他类别的惯性传感数据。
90.在一种实施方式中,在确定目标类别的情况下,还可以关闭非目标类别的惯性传感器。例如,确定加速度数据为目标类别,不需要使用角速度数据,则可以关闭用于感测角速度数据的陀螺仪,从而进一步降低功耗。
91.继续参考图3,在步骤s330中,基于目标类别的惯性传感数据确定摄像头的位姿信息。
92.摄像头的位姿信息可以包括摄像头的位置数据与姿态数据中的至少一种。位置数据用于表示摄像头的绝对位置或相对位置,通常包括x、y、z三个轴向上的坐标,但本公开对此不做限定,如位置数据也可以表示为球坐标等形式。姿态数据用于表示摄像头的方向状态。本公开对于姿态数据的形式与具体内容不做限定,如可以是某个坐标系下的绝对姿态,也可以是相对于某一基准姿态的相对姿态等。示例性的,姿态数据可以包括姿态四元数、欧拉角、旋转矩阵中的任意一种或多种。
93.在一种实施方式中,目标类别可以包括加速度数据。获取加速度数据后,通过对加速度数据进行校正与时域上的积分,可以得到摄像头的三轴位移数据,即平移数据。
94.在一种实施方式中,目标类别可以包括角速度数据。获取角速度数据后,通过对角速度数据进行校正与时域上的积分,可以得到摄像头的三轴角度变化数据,即旋转数据。
95.在一种实施方式中,可以采用机器学习的方式确定摄像头的位姿信息。例如,可以预先训练位姿预测模型,位姿预测模型如可以是lstm(long short-term memory,长短期记忆)网络。在步骤s330中,将目标类别的惯性传感数据输入该位姿预测模型,经过模型的处理,输出摄像头的位姿信息。
96.在一种实施方式中,可以将摄像头的位姿信息表示为向量qi(i表示当前i时刻),其可以包括x、y、z三个轴向上的位置数据与姿态数据。
97.在一种实施方式中,可以周期性确定摄像头的位姿信息。例如,惯性传感器的感测频率为50hz,即周期为20ms,表示惯性传感器每隔20ms采集一次惯性传感数据,则可以每隔20ms确定一次摄像头的位姿信息。
98.在一种实施方式中,由于摄像头的位姿信息用于确定摄像头的抖动情况,因此可以采用摄像头的相对位姿信息进行计算,即步骤s330中可以确定摄像头的相对位置信息。示例性的,可以基于目标类别的惯性传感数据确定摄像头在当前时刻相对于当前时刻的前序时刻的相对位姿信息。
99.在一种实施方式中,目标类别可以包括至少两种惯性传感器的数据类别。如果该至少两种惯性传感器的感测频率不同,则可以通过对其中至少一种惯性传感器的数据进行上采样或下采样,使得不同种类的惯性传感器输出数据的频率相同。例如,目标类别包括加速度数据与角速度数据,加速度计采集加速度数据的频率与陀螺仪采集角速度数据的频率不同,则可以对加速度数据或角速度数据进行上采样或下采样,使两种数据达到时间同步。
100.不同种类的惯性传感器之间可能存在时间误差,例如加速度计输出t时刻的加速度数据,陀螺仪输出t时刻的角速度数据,由于传感器本身的响应延迟、数据传输的延迟以及其他因素的影响,导致该t时刻的加速度数据与角速度数据实际对应的数据感测时刻并不相同。在一种实施方式中,可以预先对不同种类的惯性传感器之间的时间误差进行校正,例如结合其他或外部传感器标定加速度计与陀螺仪之间的时间误差,通过补偿的方式以尽可能减小时间误差。
101.继续参考图3,在步骤s340中,通过解析摄像头的位姿信息,得到光学防抖控制参数。
102.其中,光学防抖控制参数用于控制光学防抖系统中的一个或多个组件,如可用于控制镜头或图像传感器进行位置调节,即光学防抖控制参数可以包括针对摄像头中的镜头或图像传感器的位置调节信息。
103.通过解析摄像头的位姿信息,可以得到摄像头的抖动情况。本示例性实施方式中,可以采用防抖补偿信息来表征摄像头的抖动情况。摄像头的抖动可以是指摄像头相对于平滑运动状态的额外运动量。平滑运动状态可以包括:静止状态,速度(平移速度或旋转角速度)保持不变的运动状态,加速度(直线加速度或角加速度)保持不变的运动状态,加加速度保持不变的运动状态,等等。防抖补偿信息可以是上述额外运动量或反向的额外运动量(用于补偿额外运动量)。
104.在一种实施方式中,参考图7所示,上述通过解析摄像头的位姿信息,得到光学防抖控制参数,可以包括以下步骤s710与s720:
105.步骤s710,根据摄像头在当前时刻的位姿信息与当前时刻的至少一个前序时刻的位姿信息,确定防抖补偿信息。
106.其中,当前时刻的前序时刻可以是位于当前时刻之前的任意时刻。例如,以i时刻表示当前时刻,则前序时刻可以是i-1时刻,表示当前时刻的上一个惯性传感数据采集时刻,或者i-2时刻,表示当前时刻的上上一个惯性传感数据采集时刻,等等。
107.根据前序时刻的位姿信息可以得到当前时刻的平滑位姿信息,即摄像头保持平滑运动状态下的预期位姿信息。例如,可以对摄像头在多个前序时刻的位姿信息进行平滑处理,得到摄像头在当前时刻的平滑位姿信息,平滑处理可以包括对多个前序时刻的位姿信息进行平滑拟合,由拟合曲线得到当前时刻的平滑位姿信息。而在步骤s330中得到的摄像头在当前时刻的位姿信息可作为实际位姿信息,可以通过实际位姿信息与平滑位姿信息之差计算防抖补偿信息。
108.在一种实施方式中,可以对摄像头在当前时刻的位姿信息与前序时刻的位姿信息进行滤波处理,得到摄像头在当前时刻的滤波位姿信息,该滤波位姿信息可作为平滑位姿信息;然后基于当前时刻的实际位姿信息与当前时刻的滤波位姿信息确定防抖补偿信息。在进行滤波处理时,前序时刻的位姿信息可以是前序时刻的滤波位姿信息,也可以是前序时刻的实际位姿信息。示例性的,在得到i时刻的实际位姿信息后,将其与i-1时刻的滤波位姿信息进行融合(如加权融合),得到i时刻的滤波位姿信息。
109.在一种实施方式中,可以基于防抖强度、当前时刻的位姿信息与前序时刻的位姿信息,确定当前时刻的滤波位姿信息;然后基于当前时刻的实际位姿信息与当前时刻的滤波位姿信息确定防抖补偿信息。
110.其中,防抖强度用于表示施加的光学防抖的程度,如防抖强度越大,表示施加的光学防抖的程度越高,即画面稳定效果越好。防抖强度可以由用户设定,也可以由系统自动设定,例如系统可以为不同的拍摄模式设定不同的防抖强度,或者预先配置不同运动状态所对应的防抖强度,如运动速度越高,防抖强度越大,并根据当前的运动状态(可以采用位姿信息)确定当前的防抖强度。防抖强度可用于确定滤波强度,例如在对当前时刻的位姿信息进行滤波时,可以将防抖强度作为前序时刻的位姿信息的权重,则防抖强度越大,前序时刻
的位姿信息的权重越高,则平滑程度越高。
111.本公开对于滤波的具体方式不做限定,例如可以采用上述加权融合的滤波方式,也可以采用卡尔曼滤波(kalman filtering)等其他方式。
112.示例性的,可以基于防抖强度alpha、当前时刻的实际位姿qi和上一时刻的滤波位姿qfilter
i-1
,来确定当前时刻的滤波位姿qfilteri,公式如下:
113.qfilteri=f(qi,qfilter
i-1
,alpha)
ꢀꢀꢀꢀꢀꢀ
(1)
114.在上述滤波过程中,qfilter
i-1
的权重为alpha,qi的权重为1-alpha。
115.进而,可以将当前时刻的实际位姿qi和与滤波位姿qfilteri相减,得到防抖补偿量δq,即上述防抖补偿信息。公式如下:
116.δq=q
i-qfilteriꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
117.其中,防抖补偿量δq是一个向量,可以是角度补偿量或平移补偿量,也可以是角度补偿量和平移补偿量的融合。
118.当目标类别仅包括角速度数据时,实际位姿qi仅包括旋转数据,如可以是欧拉角(x,y,z),所计算得到的防抖补偿量δq可以是角度补偿量,包括在x、y、z轴上的旋转角度的补偿量δx、δy、δz。
119.当目标类别仅包括加速度数据时,实际位姿qi仅包括平移数据,如可以是位移量(shift_x,shift_y,shift_z),所计算得到的防抖补偿量δq可以是平移补偿量,包括在x、y、z轴上的平移补偿量shift_x、shift_y、shift_z。
120.当目标类别包括角速度数据与加速度数据时,实际位姿qi可以包括旋转数据与平移数据,如可以是(x,y,z,shift_x,shift_y,shift_z)的形式,其中前三个是三轴的欧拉角,后三个是三轴的位移量,则所计算得到的防抖补偿量δq可以是角度补偿量和平移补偿量的融合。示例性的,可使用旋转数据(x,y,z)按照上述公式计算出角度补偿量δq1,使用平移数据(shift_x,shift_y,shift_z)按照上述公式计算出平移补偿量δq2。将角度补偿量δq1和平移补偿量δq2在对应方向上融合得到防抖补偿量δq,具体可以是将角度补偿量δq1、平移补偿量δq2和各自对应的权重分别在对应轴方向上进行加权求和,得到防抖补偿量δq。
121.步骤s720,根据防抖补偿信息确定位置调节信息。
122.光学防抖系统可以通过移动镜头或图像传感器的位置,来对摄像头的抖动进行补偿,以实现光学防抖。位置调节信息可用于调节镜头或图像传感器的位置。
123.在一种实施方式中,以调节镜头的位置为例。镜头可以在一个或多个方向上被移动。例如,目前的光学防抖系统中,可以在一个平面(如xy平面)上移动镜头,即镜头可以在x方向与y方向上被移动。当然,本公开对此不做限定,例如也可以在一个三维空间内移动镜头,即镜头可以在x方向、y方向、z方向上被移动。
124.图8示出了镜头在x方向上被移动的示意图。受光学防抖系统的硬件(如框架、马达等)约束,镜头的移动行程范围是有限的。全行程包括线性行程和非线性行程。当镜头位于全行程的中间位置时,镜头向左的线性行程占整个线性行程的一半,镜头向右的线性行程也是如此,则向左和向右的补偿能力相同。由于摄像头的抖动方向通常是随机的,因此镜头可以默认位于行程中心位置,使得向左和向右的补偿能力相同。位置调节信息可以包括镜头被移动的行程,其单位可以是code,如可以取值为-1023至1023,例如,镜头位于行程中心
位置时,code值为0,向左移动为负值,code值-1023表示向左移动到行程边界处,向右移动为正值,code值1023表示向右移动到行程边界处。
125.在一种实施方式中,镜头可以在x方向与y方向上被移动,则位置调节信息可以包括x方向的目标行程位置和y方向的目标行程位置,目标行程位置即移动后的行程位置。在得到上述防抖补偿量δq后,可以分别得到x方向的防抖补偿量和y方向的防抖补偿量,然后对应计算出x方向的行程和y方向的行程。
126.在一种实施方式中,可以获取预设校准值,基于防抖补偿信息和预设校准值,确定位置调节信息。其中,预设校准值可用于表征防抖补偿信息和行程中心位置之间的关系,其可以是预先设置的经验值,也可以是用户设定或系统自动设定的程度数值。
127.示例性的,可以将防抖补偿量和预设校准值的乘积,与行程中心位置之和,作为对应的位置调节信息,公式如下:
128.δcode_x=(δx
·
gain_x) center_code_x
129.δcode_y=(δx
·
gain_y) center_code_y
ꢀꢀꢀꢀꢀ
(3)
130.target_hall_x=f(δcode_x,hall_x)
131.target_hall_y=f(δcode_y,hall_y)
ꢀꢀꢀꢀꢀꢀꢀ
(4)
132.其中,gain_x、gain_y为x方向和y方向的预设校准值;center_code_x、center_code_y为镜头全行程的中间位置,hall_x、hall_y表示镜头的当前行程位置,δcode_x、δcode_y表示计算出的补偿行程值;f为当前行程值与补偿行程值δcode_x、δcode_y的融合,该融合方式可以是滤波(如卡尔曼滤波)也可以是其他融合算法;target_hall_x、target_hall_y表示x方向的目标行程位置、y方向的目标行程位置。从而得到位置调节信息。
133.应当理解,本示例性实施方式还可以通过移动图像传感器,或者同时移动镜头与图像传感器,以实现光学防抖。计算图像传感器的位置调节信息的原理、方式与上述计算镜头的位置调节信息的原理、方法相同,因此不再赘述。
134.图9示出了光学防抖流程的示意图。根据物距确定目标类别,获取目标类别的惯性传感数据。获取摄像头的镜头当前时刻在xy方向的实时位置值,即在x方向上的当前行程位置hall_x和在y方向上的当前行程位置hall_y。惯性传感数据与当前行程位置作为输入。于目标类别的惯性传感数据计算目标物的实时位姿,该目标物可以是惯性传感器、摄像头、摄像头的镜头或者图像传感器;计算滤波后的位姿及对应的防抖补偿量;结合预设校准值、当前行程位置、防抖补偿量计算目标行程位置;下发计算出来的目标行程位置给驱动电路,以驱动马达将镜头移动到目标行程位置target_hall_x、target_hall_y,从而完成光学防抖补偿。
135.本公开的示例性实施方式还提供一种光学防抖控制装置。参考图10所示,该光学防抖控制装置1000可以包括:
136.物距获取模块1010,被配置为获取被拍摄物体与摄像头间的物距;
137.目标类别确定模块1020,被配置为根据上述物距,在惯性传感器的数据类别中确定目标类别;
138.位姿信息确定模块1030,被配置为基于目标类别的惯性传感数据确定摄像头的位姿信息;
139.控制参数确定模块1040,被配置为通过解析摄像头的位姿信息,得到光学防抖控制参数。
140.在一种实施方式中,上述根据上述物距,在惯性传感器的数据类别中确定目标类别,包括:
141.响应于物距小于第一物距阈值,将加速度数据确定为目标类别;
142.响应于物距大于第一物距阈值,将角速度数据确定为目标类别。
143.在一种实施方式中,物距获取模块1010,还配置为:
144.基于平移补偿与旋转补偿的关系,获取平移测试量与对应的旋转测试量;
145.在利用平移测试量对摄像头施加平移的情况下,获取物距与画面偏移量的第一关系,在利用旋转测试量对摄像头施加旋转的情况下,获取物距与画面偏移量的第二关系;
146.根据第一关系与第二关系确定第一物距阈值。
147.在一种实施方式中,上述根据上述物距,在惯性传感器的数据类别中确定目标类别,包括:
148.响应于物距小于第二物距阈值,将加速度数据确定为目标类别;
149.响应于物距大于第二物距阈值、且小于第三物距阈值,将加速度数据与角速度数据均确定为目标类别;
150.响应于物距大于第三物距阈值,将角速度数据确定为目标类别。
151.在一种实施方式中,上述获取被拍摄物体与摄像头间的物距,包括:
152.获取摄像头对准被拍摄物体时的对焦参数;
153.根据对焦参数确定物距。
154.在一种实施方式中,对焦参数可以包括自动对焦控制参数。上述根据对焦参数确定物距,包括:
155.基于自动对焦控制参数与物距的标定关系,确定摄像头对准被拍摄物体时的自动对焦控制参数所对应的物距。
156.在一种实施方式中,上述光学防抖控制参数包括针对摄像头中的镜头或图像传感器的位置调节信息;通过解析摄像头的位姿信息,得到光学防抖控制参数,包括:
157.根据摄像头在当前时刻的位姿信息与当前时刻的至少一个前序时刻的位姿信息,确定防抖补偿信息;
158.根据防抖补偿信息确定位置调节信息。
159.上述装置中各部分的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。
160.本公开的示例性实施方式还提供了一种计算机可读存储介质,可以实现为一种程序产品的形式,其包括程序代码,当程序产品在电子设备上运行时,程序代码用于使电子设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。在一种可选的实施方式中,该程序产品可以实现为便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在电子设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
161.程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介
质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
162.计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
163.可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
164.可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、c 等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
165.应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
166.本领域技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本技术旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
167.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限定。
再多了解一些

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

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

相关文献