CN115701125B - 图像防抖方法与电子设备 - Google Patents
图像防抖方法与电子设备 Download PDFInfo
- Publication number
- CN115701125B CN115701125B CN202111163499.4A CN202111163499A CN115701125B CN 115701125 B CN115701125 B CN 115701125B CN 202111163499 A CN202111163499 A CN 202111163499A CN 115701125 B CN115701125 B CN 115701125B
- Authority
- CN
- China
- Prior art keywords
- image
- shake
- processing
- optical
- image stream
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 151
- 230000003287 optical effect Effects 0.000 claims abstract description 215
- 238000012545 processing Methods 0.000 claims abstract description 138
- 230000000087 stabilizing effect Effects 0.000 claims abstract description 82
- 230000006641 stabilisation Effects 0.000 claims description 170
- 238000011105 stabilization Methods 0.000 claims description 170
- 230000008569 process Effects 0.000 claims description 88
- 230000033001 locomotion Effects 0.000 claims description 56
- 230000015654 memory Effects 0.000 claims description 38
- 238000012937 correction Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 14
- 238000013519 translation Methods 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 16
- 239000011159 matrix material Substances 0.000 description 53
- 238000004422 calculation algorithm Methods 0.000 description 25
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 7
- 230000009466 transformation Effects 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 238000009499 grossing Methods 0.000 description 4
- 238000003702 image correction Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Studio Devices (AREA)
Abstract
一种图像防抖方法与电子设备,该图像防抖方法应用于电子设备,电子设备包括摄像头和三轴光学稳像控制器,方法包括:开启相机应用;接收第一操作;响应于第一操作,获取第一图像流,第一图像流为摄像头实时采集的图像流,第一图像流为第一防抖处理后的图像流,第一防抖处理包括三轴光学稳像控制器进行的防抖处理;基于第一参数和第二参数对第一图像流进行处理得到第二图像流;其中,第一参数是基于第一防抖处理得到的,第一参数用于还原所述第一防抖处理,第二参数用于第二防抖处理,第一防抖处理与第二防抖处理不同。基于本技术方案,能够提升图像流的清晰度与防抖效果。
Description
技术领域
本申请涉及图像处理领域,具体涉及一种图像防抖方法与电子设备。
背景技术
随着图像技术的飞速发展,用户对视频录制的清晰度与稳定性的需求不断增加。用户在拍摄的过程中,不可避免的存在抖动;比如,抖动可以是指用户在拍摄时的手持抖动,或者抖动可以是指在拍摄过程中电子设备进行了移动;由于拍摄过程中存在抖动,导致获取的视频或者图像中存在运动模糊。
目前,相机模组中出现了三轴光学稳像控制器,相对于传统的两轴光学稳像器件三轴光学稳像控制器增加了一个旋转轴,可以提升图像在Z轴的稳定效果和清晰度;但是,受限于器件的尺寸限制,三轴光学稳像控制器的防抖角度仍然是有限的;对于运动幅度较大的场景下,比如用户进行跑步的场景,获取的图像无法得到较好的防抖效果,导致图像的稳定性较差。
因此,对于三轴光学稳像控制器,如何的进行图像防抖处理,提升图像的防抖效果成为一个亟需解决的问题。
发明内容
本申请提供了一种图像防抖方法与电子设备,能够提升图像序列的清晰度与图像流的防抖效果。
第一方面,提供了一种图像防抖方法,应用于电子设备,所述电子设备包括摄像头和三轴光学稳像控制器,所述方法包括:
开启相机应用;接收第一操作;
响应于所述第一操作,获取第一图像流,所述第一图像流为所述摄像头实时采集的图像流,所述第一图像流为第一防抖处理后的图像流,所述第一防抖处理包括所述三轴光学稳像控制器进行的防抖处理;
基于第一参数和第二参数对所述第一图像流进行处理得到第二图像流;其中,所述第一参数是基于所述第一防抖处理得到的,所述第一参数用于还原所述第一防抖处理,所述第二参数用于第二防抖处理,所述第一防抖处理与所述第二防抖处理不同。
应理解,三轴光学稳像控制器中可以包括三轴光学稳像模块与马达;三轴光学稳像模块可以用于执行第一防抖处理,第一防抖处理可以包括三轴光学稳像处理;即三轴光学稳像控制器可以通过控制马达移动图像传感器,使得对拍摄过程中电子设备产生的抖动进行补偿;该三轴光学稳像控制器中包括的马达可以控制图像传感器在X轴、Y轴、Z轴移动;比如,马达可以控制图像传感器在X轴移动、Y轴移动以及Z轴旋转。
还应理解,第二防抖处理可以是指电子稳像处理,电子稳像处理主要是通过对图像流中包括的多帧图像之间的抖动进行补偿,通过陀螺仪传感器可以获取图像序列中图像帧之间的运动情况;并对图像帧之间的运动进行补偿,生成相对稳定的图像流。
可选地,第一操作可以是指指示相机进行拍摄的操作;比如,可以是通过点击相机应用上的按钮指示拍摄;或者,通过语音信息指示拍摄等。
在本申请的实施例中,可以对第一图像流进行还原第一防抖处理与第二防抖处理,由于第一防抖处理包括三轴光学稳像控制器的防抖处理,三轴光学稳像控制器可以进行X轴、Y轴以及Z轴的校正;因此,与两轴光学稳像控制器相比,三轴光学稳像控制器引入了Z轴校正,可以有效提升图像序列的清晰度;通过对第一图像流进行第二防抖处理可以在电子设备产生较大幅度运动的情况下,得到较好的防抖效果;因此,基于第一参数和第二参数对第一图像流进行处理,一方面可以提升图像序列的清晰度,另一方面可以有效降低图像中的运动模糊,从而提升图像的防抖效果。
结合第一方面,在第一方面的某些实现方式中,所述基于第一参数和第二参数对所述第一图像流进行处理得到第二图像流,包括:
基于所述第一参数对所述第一图像流进行还原所述第一防抖处理,得到第三图像流;
基于所述第二参数对所述第三图像流进行所述第二防抖处理,得到所述第二图像流。
应理解,由于三轴光学稳像控制器具有运动校正功能的,第一图像流是经过第一防抖处理的图像流;第二防抖处理是无法在第一防抖处理上直接叠加的;因此,在三维空间中对第一图像流进行第二防抖处理时,需要将第一图像流还原为未经第一防抖处理的第三图像流;对第二图像流进行第二防抖处理。
结合第一方面,在第一方面的某些实现方式中,所述电子设备包括陀螺仪传感器,所述第二参数是基于所述陀螺仪传感器采集的抖动信息得到的,所述抖动信息用于表示所述电子设备在拍摄过程中的位姿变化。
应理解,拍摄过程中是指电子设备正处于拍摄的状态,即电子设备在开始拍摄且未结束拍摄的过程中。例如,点击拍照控件,响应于点击操作,电子设备开始拍摄,摄像头开始采集想要拍摄的图像,直到传感器出图,结束拍摄,上述从开始拍摄到结束拍摄且未结束拍摄的过程为拍摄过程中。
结合第一方面,在第一方面的某些实现方式中,所述第二参数是基于所述抖动信息与约束条件得到的,所述约束条件是指所述第二图像流中的每个图像帧满足预设图像范围。
在本申请的实施例中,在进行电子稳像处理时引入约束条件,使得通过电子稳像处理后的输出像素保持在图像的有效范围内;避免出现图像显示不完整的问题。
结合第一方面,在第一方面的某些实现方式中,所述电子设备还包括霍尔传感器,所述霍尔传感器用于采集所述第一防抖处理的数据,所述图像防抖方法还包括:
将所述第一防抖处理的数据转换为三轴偏移量,所述三轴偏移量包括X轴方向的偏移量、Y轴方向的偏移量与Z轴方向的旋转角;
根据所述三轴偏移量得到所述第一参数。
在本申请的实施例中,由于霍尔传感器采集的图像传感器的移动信息为原始代码,其单位不符合内参矩阵模型中的像素单位;因此,将霍尔传感器采集的第一防抖处理的数据转换为像素单位的数据,使得电子稳像处理能够识别第一防抖处理的数据从而能够还原第一防抖处理。
结合第一方面,在第一方面的某些实现方式中,所述第一图像流包括N个图像帧,N为大于1的正整数,所述将所述第一防抖处理的数据转换为三轴偏移量,包括:
对第N-1图像帧与第N图像帧进行特征点检测,得到特征对;其中,所述特征对包括所述第N-1图像帧中的第一特征点与所述第N图像帧中的第二特征点,所述第一特征点与所述第二特征点相对应;
根据所述特征对与所述第一防抖处理的数据得到所述三轴偏移量。
结合第一方面,在第一方面的某些实现方式中,所述抖动信息包括所述电子设备在X轴与Y轴的旋转数据和/或平移数据,以及在Z轴的旋转数据。
在一种可能的实现方式中,电子稳像模块可以获取帧同步信号;电子稳像控制器根据帧同步信号获取图像传感器的第一防抖处理的数据与抖动信息。
应理解,帧同步信号是为了保证时间的一致性,即保证霍尔传感器采集图像传感器的第一防抖处理的数据与陀螺仪传感器采集电子设备的抖动信息的时间具有一致性。
在一种可能的实现方式中,可以通过以下公式进行对第一图像流进行处理,从而得到还原第一防抖处理且进行第二防抖处理的第二图像流:
其中,H表示图像变换矩阵;K表示标准相机内参;R表示三维角度旋转矩阵(三维矩阵的一个示例);Kois表示三轴光学稳像控制器的相机内参矩阵。
其中,Kois表示三轴光学稳像控制器的相机内参矩阵;f表示相机的焦距;oisθ表示图像传感器的光学中心偏移后与Z轴之间的夹角;centerx+oisx表示图像传感器的光学中心偏移后在X轴的坐标位置;centerx表示图像传感器的光学中心在X轴的位置;oisx表示图像传感器的光学中心偏移后在X轴的偏移量;centery+oisy表示图像传感器的光学中心偏移后在Y轴的坐标位置;centery表示图像传感器的光学中心在Y轴的位置;oisy表示图像传感器的光学中心偏移后在Y轴的偏移量。
其中,f表示相机的焦距;centerx表示图像传感器的光学中心在X轴的位置;centery表示图像传感器的光学中心在Y轴的位置。
应理解,上述Kois是通过图像传感器的移动信息得到的;通过上述三维角度旋转矩阵R可以实现第二防抖处理;通过Kois的逆可以将图像流从二维坐标系转换为三维坐标系;通过标准相机内参矩阵K可以将图像流从三维坐标系的图像转换为二维坐标系。
第二方面,提供了一种图像防抖装置,所述图像防抖装置包括:一个或多个处理器、存储器和显示屏;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述图像防抖装置执行:
开启相机应用;接收第一操作;
响应于所述第一操作,获取第一图像流,所述第一图像流为所述摄像头实时采集的图像流,所述第一图像流为第一防抖处理后的图像流,所述第一防抖处理包括所述三轴光学稳像控制器进行的防抖处理;
基于第一参数和第二参数对所述第一图像流进行处理得到第二图像流;其中,所述第一参数是基于所述第一防抖处理得到的,所述第一参数用于还原所述第一防抖处理,所述第二参数用于第二防抖处理,所述第一防抖处理与所述第二防抖处理不同。
结合第二方面,在第二方面的某些实现方式中,所述一个或多个处理器调用所述计算机指令以使得所述图像防抖装置执行:
基于所述第一参数对所述第一图像流进行还原所述第一防抖处理,得到第三图像流;
基于所述第二参数对所述第三图像流进行所述第二防抖处理,得到所述第二图像流。
结合第二方面,在第二方面的某些实现方式中,所述电子设备包括陀螺仪传感器,所述第二参数是基于所述陀螺仪传感器采集的抖动信息得到的,所述抖动信息用于表示所述电子设备在拍摄过程中的位姿变化。
结合第二方面,在第二方面的某些实现方式中,所述第二参数是基于所述抖动信息与约束条件得到的,所述约束条件是指所述第二图像流中的每个图像帧满足预设图像范围。
结合第二方面,在第二方面的某些实现方式中,所述电子设备包括霍尔传感器,所述一个或多个处理器调用所述计算机指令以使得所述图像防抖装置执行:
将所述第一防抖处理的数据转换为三轴偏移量,所述三轴偏移量包括X轴方向的偏移量、Y轴方向的偏移量与Z轴方向的旋转角;
根据所述三轴偏移量得到所述第一参数。
结合第二方面,在第二方面的某些实现方式中,所述第一图像流包括N个图像帧,N为大于1的正整数,所述一个或多个处理器调用所述计算机指令以使得所述图像防抖装置执行:
对第N-1图像帧与第N图像帧进行特征点检测,得到特征对;其中,所述特征对包括所述第N-1图像帧中的第一特征点与所述第N图像帧中的第二特征点,所述第一特征点与所述第二特征点相对应;
根据所述特征对与所述第一防抖处理的数据得到所述三轴偏移量。
结合第二方面,在第二方面的某些实现方式中,所述抖动信息包括所述电子设备在X轴与Y轴的旋转数据和/或平移数据,以及在Z轴的旋转数据。
应理解,在上述第一方面中对相关内容的扩展、限定、解释和说明也适用于第二方面中相同的内容。
第三方面,提供了一种电子设备,所述电子设备包括:一个或多个处理器、存储器和显示屏;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行第一方面中的任一种图像防抖方法。
第四方面,提供了一种芯片系统,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行第一方面中的任一种图像防抖方法。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被电子设备运行时,使得该电子设备执行第一方面中的任一种图像防抖方法。
第六方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被电子设备运行时,使得该电子设备执行第一方面中的任一种图像防抖方法。
在本申请的实施例中,可以对第一图像流进行还原第一防抖处理与第二防抖处理,由于第一防抖处理包括三轴光学稳像控制器的防抖处理,三轴光学稳像控制器可以进行X轴、Y轴以及Z轴的校正,因此,与两轴光学稳像控制器相比,三轴光学稳像控制器引入了Z轴校正,可以有效提升图像序列的清晰度;通过对第一图像流进行第二防抖处理可以在电子设备产生较大幅度运动的情况下,得到较好的防抖效果;因此,通过对第一图像流进行还原第一防抖处理与第二防抖处理,一方面可以提升图像序列的清晰度,另一方面可以有效降低图像中的运动模糊,从而提升图像的防抖效果。
附图说明
图1是一种适用于本申请的电子设备的硬件系统的示意图;
图2是一种适用于本申请的电子设备的软件系统的示意图;
图3是一种本申请实施例的光学稳像OIS控制器校正的示意图;
图4是一种本申请实施例的应用场景的示意图;
图5是一种本申请实施例的图像防抖方法的示意图;
图6是一种本申请实施例的图像防抖方法的示意性流程图;
图7是一种本申请实施例的路径约束的示意图;
图8是一种本申请实施例的路径约束的示意图;
图9是一种本申请实施例的光学稳像数据标定方法的示意性流程图;
图10是一种本申请实施例的离线数据标定的示意性流程图;
图11是一种本申请实施例的电子设备的示意图;
图12是一种适用于本申请的电子设备的示意图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
图1示出了一种适用于本申请的电子设备的硬件系统。
电子设备100可以是手机、智慧屏、平板电脑、可穿戴电子设备、车载电子设备、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、投影仪等等,本申请实施例对电子设备100的具体类型不作任何限制。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
需要说明的是,图1所示的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图1所示的部件更多或更少的部件,或者,电子设备100可以包括图1所示的部件中某些部件的组合,或者,电子设备100可以包括图1所示的部件中某些部件的子部件。图1示的部件可以以硬件、软件、或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。例如,处理器110可以包括以下处理单元中的至少一个:应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processing unit,GPU)、图像信号处理器(image signal processor,ISP)、控制器、视频编解码器、数字信号处理器(digital signal processor,DSP)、基带处理器、神经网络处理器(neural-network processing unit,NPU)。其中,不同的处理单元可以是独立的器件,也可以是集成的器件。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在本申请的实施例中,处理器110可以执行开启相机应用;接收第一操作;响应于第一操作,获取第一图像流,第一图像流为所述摄像头实时采集的图像流,第一图像流为第一防抖处理后的图像流,第一防抖处理包括三轴光学稳像控制器进行的防抖处理;基于第一参数和第二参数对第一图像流进行处理得到第二图像流。
图1所示的各模块间的连接关系只是示意性说明,并不构成对电子设备100的各模块间的连接关系的限定。可选地,电子设备100的各模块也可以采用上述实施例中多种连接方式的组合。
电子设备100的无线通信功能可以通过天线1、天线2、移动通信模块150、无线通信模块160、调制解调处理器以及基带处理器等器件实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
电子设备100可以通过GPU、显示屏194以及应用处理器实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194可以用于显示图像或视频。
电子设备100可以通过ISP、摄像头193、视频编解码器、GPU、显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP可以对图像的噪点、亮度和色彩进行算法优化,ISP还可以优化拍摄场景的曝光和色温等参数。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的红绿蓝(red green blue,RGB),YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
在本申请的实施例中,摄像头193可以获取第一图像流。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1、MPEG2、MPEG3和MPEG4。
陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x轴、y轴和z轴)的角速度。陀螺仪传感器180B可以用于拍摄防抖。例如,当快门被按下时,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航和体感游戏等场景。
示例性地,在本申请的实施例中陀螺仪传感器180B可以用于采集的抖动信息,抖动信息可以用于表示电子设备在拍摄过程中的位姿变化。
加速度传感器180E可检测电子设备100在各个方向上(一般为x轴、y轴和z轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。加速度传感器180E还可以用于识别电子设备100的姿态,作为横竖屏切换和计步器等应用程序的输入参数。
距离传感器180F用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,例如在拍摄场景中,电子设备100可以利用距离传感器180F测距以实现快速对焦。
环境光传感器180L用于感知环境光亮度。电子设备100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测电子设备100是否在口袋里,以防误触。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现解锁、访问应用锁、拍照和接听来电等功能。
触摸传感器180K,也称为触控器件。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,触摸屏也称为触控屏。触摸传感器180K用于检测作用于其上或其附近的触摸操作。触摸传感器180K可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,并且与显示屏194设置于不同的位置。
上文详细描述了电子设备100的硬件系统,下面介绍电子设备100的软件系统。软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构,本申请实施例以分层架构为例,示例性地描述电子设备100的软件系统。
如图2所示,采用分层架构的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,软件系统可以分为四层,从上至下分别为应用程序层、应用程序框架层、安卓运行时(Android Runtime)和系统库、以及内核层。
应用程序层可以包括相机、图库、日历、通话、地图、导航、WLAN、蓝牙、音乐、视频、短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用程序编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预定义的函数。
例如,应用程序框架层包括窗口管理器、内容提供器、视图系统、电话管理器、资源管理器和通知管理器。
内核层是硬件和软件之间的层。内核层可以包括显示驱动、摄像头驱动、音频驱动和传感器驱动等驱动模块。
下面结合显示拍照场景,示例性说明电子设备100的软件系统和硬件系统的工作流程。
当用户在触摸传感器180K上进行触摸操作时,相应的硬件中断被发送至内核层,内核层将触摸操作加工成原始输入事件,原始输入事件例如包括触摸坐标和触摸操作的时间戳等信息。原始输入事件被存储在内核层,应用程序框架层从内核层获取原始输入事件,识别出原始输入事件对应的控件,并通知该控件对应的应用程序(application,APP)。例如,上述触摸操作为单击操作,上述控件对应的APP为相机APP,相机APP被单击操作唤醒后,可以通过API调用内核层的摄像头驱动,通过摄像头驱动控制摄像头193进行拍摄。
首先,对本申请涉及的专业术语进行简要描述。
1、传感器位移(sensor-shift)技术
sensor-shift技术是指通过移动相机模组内的图像传感器,从而对相机拍摄画面进行抖动校正的技术。
应理解,sensor-shift技术可以用于通过移动图像传感器来校正相机在拍摄过程中的抖动。
2、标定
求解参数的过程可以称为标定;比如,在本申请的实施例中,光学稳像标定可以是指将光学稳像的运动校正采用的坐标转换为电子稳像的运动校正能够识别的坐标。
例如,可以是指将霍尔传感器采集的光学稳像的原始代码转换为像素单位的数据。
3、运动模糊
在电子设备拍摄的过程中,每帧图像的生成依靠在曝光时间内累积光子,并通过光电转化将其转化为电子,并进一步的变换为人眼可识别的图像。在这个时间内,若电子设备存在较大幅度的运动,则该运动信息也会被累积记录,生成的图像则会附带较强的运动模糊。
4、光学防抖(Optical Image Stabilization,OIS)
光学防抖又可以称为光学稳像,OIS技术是指在拍照曝光期间,通过运动传感器(例如,陀螺仪,加速度计)检测电子设备的抖动,OIS控制器根据运动传感器检测到的抖动数据,控制推动OIS的马达,移动镜头或者图像传感器,使得在整个曝光期间光路尽可能保持稳定不变,进而得到清晰曝光的图像。
5、电子防抖(Electric Image Stabilization,EIS)
电子防抖又可以称为电子稳像,EIS技术是指基于运动传感器数据来进行防抖处理,通过每帧图像曝光期间运动传感器采集的数据,计算图像序列中图像帧之间的运动情况;并对图像帧之间的运动进行校正,生成相对稳定的图像序列。
本申请实施例提供的图像防抖方法主要针对三轴光学稳像控制器;对于电子设备在拍摄过程中产生的移动,可以通过移动图像传感器从而校正电子设备移动产生的偏移量;如图3所示,图3中的(a)表示两轴光学稳像控制器的校正示意图;光学稳像处理前图像传感器的光学中心为A1点,经过光学稳像处理后图像传感器光学中心偏移至A2点;两轴光学稳像控制器可以实时通过对图像传感器进行X轴与Y轴方向的平移,从而实时校正电子设备在拍摄过程中的运动。
图3中的(b)表示三轴光学稳像控制器的校正示意图;光学稳像处理前图像传感器的光学中心为B1点(第一位置的一个示例),经过光学稳像处理后图像传感器光学中心偏移至B2点(第二位置的一个示例);通过光学中心B1点与光学中心B2点可以得到光学稳像数据的三轴偏移量。与图3中的(a)所示的两轴光学稳像控制器校正相比,三轴光稳像控制器在校正过程中增加一个Z向旋转轴;三轴光学稳像控制器不仅可以对X轴与Y轴进行校正;同时,还可以对Z轴进行校正;因此,三轴光学稳像控制器可以更有效的校正在相机旋转时产生的偏移量。
目前,三轴光学稳像控制器中通过引入Z轴校正可以有效提升图像的清晰度,但是受限于硬件模组的尺寸限制,三轴光学稳像控制器的防抖角度仍然是有限的;在电子设备产生较大幅度运动的情况下,电子设备采集的图像无法得到足够稳定的防抖效果。
有鉴于此,在本申请的实施例中针对三轴光学稳像控制器提出了一种图像防抖方法,通过对图像序列进行光学稳像处理与电子稳像处理,可以在保证图像序列清晰度的同时有效降低图像序列中的运动模糊,提升图像序列的防抖效果。
图4是本申请实施例提供的对于三轴光学稳像控制器在不同情况下针对同一拍摄场景获取的图像。
如图4所示,图4中的(a)可以表示电子设备关闭光学稳像与电子稳像之后获取的图像;图4中的(b)可以表示电子设备开启光学稳像且关闭电子稳像之后获取的图像;图4中的(c)可以表示电子设备开启光学稳像与电子稳像之后获取的图像。在电子设备开启光学稳像后,获取的图像在清晰度上明显的提升;在电子设备中开启光学稳像与电子稳像后,图像序列不仅能够保持较好的清晰度,同时还能使得图像序列具有较好的稳定性;通过本申请的图像防抖方法可以获取如图4中的(c)所示的图像,在保证图像序列的清晰度同时还能有效提高图像序列的稳定性,提升图像防抖效果。
下面结合图5至图10对本申请实施例提供的图像防抖方法进行详细描述。
图5是本申请实施例提供的图像防抖方法的架构示意图。该架构中可以包括相机模组210、陀螺仪传感器220、光学稳像数据标定模块230、电子稳像算法模块240以及图像校正模块250。
其中,相机模组210包括光学稳像,光学稳像是指相机模组中的三轴光学稳像控制器在拍摄的过程中进行光学防抖处理;例如,在相机的录像模式下,相机模组210用于根据上层应用程序的请求进行曝光,获取图像帧;该图像帧是经过三轴光学稳像控制器进行光学稳像处理后得到的;因此,该图像帧在三个轴(如X轴、Y轴与Z轴)的清晰度均得到有效提升。
示例性地,相机模组210可以将获取的图像数据与光学稳像数据发送至电子稳像算法模块240;例如,相机模组210可以包括霍尔传感器,光学稳像数据可以是指霍尔传感器采集的光学稳像的原始代码。
陀螺仪传感器220用于获取电子设备的陀螺仪数据(抖动信息的一个示例),并向电子稳像算法模块240发送电子设备的陀螺仪数据。
光学稳像数据标定模块230用于对光学稳像的参数进行标定和调试,使得电子稳像算法模块240在执行光学稳像运动还原241时,能够识别光学稳像的参数;根据参数对光学稳像运动进行还原;光学稳像标定模块可以用于执行光学稳像数据标定,具体流程参见后续图9所示。
电子稳像算法模块240用于执行电子稳像算法,电子稳像算法可以增大图像的防抖范围。其中,电子稳像算法模块240中可以包括光学稳像运动还原241与电子稳像242,在电子稳像242中包括电子稳像路径约束;光学稳像运动还原241是指将三轴光学稳像控制器的光学稳像进行还原,还原为未经过三轴光学稳像控制器进行光学防抖处理的图像;电子稳像242用于对光学稳像运动还原后的多个图像进行电子防抖处理;为了避免电子稳像处理后输出的图像出现显示不完整的问题,需要在电子稳像处理时满足电子稳像路径约束,确保电子稳像处理后的像素点在有效范围内。电子稳像路径约束是指在进行电子稳像算法时根据陀螺仪数据对相机进行路径规划,路径规划的目标找是到一条足够稳定的相机位姿曲线从而对多个图像进行处理。
需要说明的是,由于三轴光学稳像控制器也有一定的器件防抖作用,相机模组210获取的图像数据是经过三轴光学稳像控制器进行光学稳像处理后的图像数据;电子稳像算法是无法在三轴光学稳像控制器的光学稳像算法上直接叠加的;因此,在进行电子稳像算法处理的过程中需要将三轴光学稳像控制器对图像数据执行的光学稳像处理进行还原。
图像校正模块250用于对电子稳像算法模块240得到的图像进行校正(warp),从而得到输出图像;比如,对电子稳像算法模块240得到的图像进行裁剪、缩放等处理。
可选的,光学稳像数据标定模块230可以是指离线操作的过程,即可以是提前通过调试确定光学稳像的参数;确定光学稳像的参数的过程可以是在电子设备中执行的,或者也可以是在其他设备中执行的。电子稳像算法模块240可以是指在线操作的过程,即可以是指在相机模组210获取图像数据后实时对图像数据进行处理;电子稳像算法模块240可以是指电子设备的处理器中的软件模块。图像校正模块250可以是指ISP中的模块,即对图像数据进行校正处理的过程可以是在电子设备的ISP中执行的。
图6是本申请实施例提供的图像防抖方法的示意性流程图像。方法300包括步骤S310至步骤S340,下面分别对这些步骤进行详细的描述。
步骤S310、获取第一图像流。
示例性地,第一图像流中可以包括按照时间顺序进行排序的多个图像帧,例如在存储器或者缓存器中保存的图像流包括多个图像帧,该图像帧是按照时间顺序进行排序的。该第一图像流是指包括三轴光学稳像控制器的相机模组获取的图像流,三轴光学稳像控制器用于对第一图像流中的图像帧进行光学稳像处理;即获取的第一图像流是指经过光学稳像处理(第一防抖处理的一个示例)的图像流。
步骤S320、对第一图像流进行光学稳像还原(还原第一防抖处理的一个示例)。
示例性地,对第一图像流进行光学稳像还原是指将图像流中的图像帧还原为未经过光学防抖处理的图像帧。
在本申请的实施例中,步骤S320中还包括步骤S321将图像流从二维坐标系转换至三维坐标系。
示例性地,二维坐标系可以包括二维图像坐标系,二维图像坐标系是指以像素为单位的二维坐标系。
例如,相机采集图像在电子设备内可以存储为数组,数组中的每一个元素(象素,pixel)的值即是图像点的亮度(灰度);在图像上定义直角坐标系u-v,每一像素的坐标(u,v)可以分别表示该像素在数组中的列数和行。
示例性地,三维坐标系可以包括三维相机坐标系,三维相机坐标系是指以光心为原点的三维坐标系。
例如,在将图像流中的图像帧从二维坐标系转换为三维坐标系的过程中,对图像帧进行光学稳像还原。
在一个示例中,可以根据三轴光学稳像控制器的相机内参矩阵的逆将图像帧从二维坐标系转换为三维坐标系,并进行光学稳像还原。
其中,三轴光学稳像控制器的相机内参矩阵可以表示为以下矩阵:
其中,Kois表示三轴光学稳像控制器的相机内参矩阵;f表示相机的焦距;oisθ表示图像传感器的光学中心偏移后与Z轴之间的夹角,如图3中的(b)所示;centerx+oisx表示图像传感器的光学中心偏移后在X轴的坐标位置;centerx表示图像传感器的光学中心在X轴的位置;oisx表示图像传感器的光学中心偏移后在X轴的偏移量;centery+oisy表示图像传感器的光学中心偏移后在Y轴的坐标位置;centery表示图像传感器的光学中心在Y轴的位置;oisy表示图像传感器的光学中心偏移后在Y轴的偏移量。
需要说明的是,由于图像帧是指通过三轴光学稳像控制器进行光学稳像处理后的图像帧;因此,可以通过三轴光学稳像控制器的相机内参矩阵还原光学稳像处理,将图像流中的图像帧还原为未经过光学稳像处理的图像帧。
在本申请的实施例中,在进行光学稳像还原时需要获取三轴光学稳像控制器的相机内参矩阵,由于光学稳像数据是指霍尔传感器所采集的原始代码(code),其单位不符合内参矩阵模型中的像素单位;因此,在确定三轴光学稳像控制器的相机内参矩阵时,需要对光学稳像数据进行数据标定,将原始代码转换为符合内参矩阵模型中的像素单位数据;光学稳像数据标定的具体过程可以参见后续图9所示。此外,数据标定还包括对误差数据的标定,误差数据可以包括但不限于时间差、角度差、中心位置等;例如,时间差可以是指图像传感器采集图像帧的时间与霍尔传感器采集光学稳像数据之间的时间差;角度差可以是指电子设备在Z轴方向的旋转角度与霍尔传感器采集光学稳像数据之间的角度差;中心位置可以是指图像传感器采集图像帧的中心位置。
在本申请的实施例中,由于三轴光学稳像控制器具有运动校正功能的,图像流是通过包括三轴光学稳像控制器的相机模组采集到的;也就是说,图像流是经过光学稳像处理后的图像流;电子稳像处理是无法在光学稳像处理上直接叠加的;因此,在三维中对图像序列进行电子稳像处理前,需要将图像流还原为未经光学稳像处理的图像流;对还原光学稳像处理的图像流执行步骤S330电子稳像的处理。
步骤S330、对光学稳像还原的图像流进行电子稳像处理(第二防抖处理的一个示例)。
例如,电子稳像处理可以是指对图像流中的多个图像帧在三维坐标系中进行运动校正;运动校正可以是指对相机运动引起的图像传感器的光学中心的坐标偏移量进行补偿。
示例性地,可以获取电子设备的陀螺仪数据;根据陀螺仪数据对光学稳像还原的图像流进行电子稳像处理。
在本申请的实施例中,为了避免电子稳像处理后输出的图像出现显示不完整的问题,需要在电子稳像处理时满足电子稳像路径约束,确保电子稳像处理后的像素点在有效范围内;因此,步骤S330中还包括步骤S331电子稳像路径约束(约束条件的一个示例)。
应理解,电子稳像路径约束是指对于相机运动幅度过大的情况下,电子稳像处理可能也无法完全对运动信息进行校正;为了确保电子稳像处理后得到的像素均是有效的,需要控制电子稳像的路径不能偏离原始路径校远;即通过电子稳像路径约束使得经过电子稳像处理后的图像不会超过有效范围的边界。
示例性地,如图7所示403可以表示预设的有效图像范围;401可以表示与403同中心点的固定图像范围;402表示通过固定图像范围401与电子稳像算法且经过图像校正处理后得到的输出图像;路径约束是为了使输出图像402确保在有效图像范围403内。
在一个示例中,可以通过相机的调焦倍率大小确定固定图像范围401的大小。
在一个示例中,可以通过固定比例大小确定固定图像范围401的大小。
例如,固定图像范围401可以是有效图像范围403的80%大小。
示例性地,如图8所示在进行电子稳像路径约束时,可以将固定图像范围401的角点约束在预设的有效图像范围内,从而确保输出图的像素是有效的。比如,可以将固定图像范围401的四个角点分别约束在矩形404中,从而使得输出的像素满足预设的有效图像范围。
例如,电子稳像路径约束可以通过以下方程组表示:
其中,H表示图像变换矩阵;K表示标准相机内参;R表示三维角度旋转矩阵;Kois表示三轴光学稳像控制器的相机内参矩阵;表示三轴光学稳像控制器的相机内参矩阵的逆;pin表示经过校正(warp)处理后的输出图像;Iin表示预设的有效图像范围。
例如,如图7所示,Iin可以如403所示;pin可以如402所示,pout可以如401所示。
在本申请的实施例中,三维角度旋转矩阵用于进行电子稳像算法,获取三维角度旋转矩阵的方式可以包括但不限于以下两种方式:
第一种方式:根据电子稳像路径约束与电子稳像路径优化确定三维角度旋转矩阵,三维角度旋转矩阵用于执行步骤S340,即用于执行电子稳像算法。
第二种方式:假设第一矩阵,该第一矩阵表示一个经过电子稳像路径优化得到的三维角度旋转矩阵;根据电子稳像路径约束确定第一矩阵是否满足路径约束;在第一矩阵满足路径约束时,确定该第一矩阵用于执行步骤S340;在第一旋转矩阵不满足路径约束时,根据路径约束调整第一矩阵中的参数,使得第一矩阵满足路径约束。
应理解,步骤S330可以是指针对图像序列中的单帧图像执行电子稳像路径约束;对于单帧图像通过电子稳像路径约束使得经过处理后的输出图像的像素保持在图像的有效范围内。
可选地,对于图像序列还可以执行电子稳像路径优化,通过电子稳像路径优化可以使得同一对象在图像序列中的位置变化平稳且光滑,提高防抖处理后图像的稳定性。
在一个示例中,通过电子稳像路径优化可以使得图像序列中的同一对象的位置保持不变,或者图像序列中同一对象在不同图像帧中的位置变化相同。
示例性地,路径优化可以是指对整个图像序列的原始位姿曲线进行平滑处理,原始位姿曲线是指每个图像帧的标识与图像帧对应的相机位姿组成的曲线;电子稳像路径优化可以是指对原始位姿曲线进行平滑处理,得到平滑处理后的曲线;在平滑处理时,需要考虑电子稳像路径约束;即平滑处理后的曲线与原始位姿曲线之间的位姿差需要满足有效范围。
例如,平滑处理后的曲线与原始位姿曲线之间的位姿差可以表示为矩阵R,通过上述步骤S330中的方程组可以得到输出图像pin,如图7所示的402;在平滑处理时需要考虑电子稳像路径约束可以是指根据位姿差对应的矩阵R得到的输出图像需要满足预设的有效图像范围,如图7所示的输出图像402需要确保在有效图像范围403内。
示例性地,对于同一图像帧,根据原始位姿曲线与平滑处理后的曲线之间的位姿差,可以得到用于执行步骤S340变换相机坐标系的三维角度旋转矩阵。
步骤S340、将经过电子稳像处理后的图像流从三维坐标系转换至二维坐标系,得到第二图像流。
示例性地,可以根据标准相机内参矩阵将图像帧从三维坐标系转换至二维坐标系,输出还原光学稳像且经过电子稳像处理后的图像。
其中,标准相机内参矩阵可以表示为:
其中,f表示相机的焦距;centerx表示图像传感器的光学中心在X轴的位置;centery表示图像传感器的光学中心在Y轴的位置。
示例性地,可以根据相机内参与相机坐标系下的运动信息得到以下图像变换矩阵,根据该图像变换矩阵对获取的第一图像流进行还原光学稳像处理与电子稳像处理,得到处理后的第二图像流:
其中,H表示图像变换矩阵;K表示标准相机内参;R表示三维角度旋转矩阵;Kois表示三轴光学稳像控制器的相机内参矩阵。
例如,R可以是根据陀螺仪数据得到的。
示例性地,在本申请的实施例中,第一参数可以是指第二参数可以是指R。
应理解,通过上述三维角度旋转矩阵R可以实现电子稳像处理;通过Kois的逆可以用于还原光学稳像;通过标准相机内参矩阵K可以将三维坐标系转换为二维坐标系;上述坐标系转换过程可以实现图像序列的还原光学稳像处理。
例如,如图3中的(b)所示,光学稳像处理可以是指根据电子设备的抖动信息将图像传感器的光学中心从B1点偏移至B2点;还原光学稳像处理是指将获取的图像序列的像素点从B2点对应的坐标系转换至B1点对应的坐标系。
可选的,步骤S340得到的第二图像流可以进行保存,或者,编码为视频进行保存或者播放。
在本申请的实施例中,对包括三轴光学稳像控制器的相机模组采集的图像序列进行光学稳像处理与电子稳像处理,由于三轴光学稳像控制器引入了Z轴校正,因此可以有效提升图像序列的清晰度;通过对图像序列进行电子稳像处理可以对于电子设备产生幅度较大的运动下,得到较好的防抖效果;因此,通过对图像序列进行还原光学稳像处理与电子稳像处理,可以在提升图像序列清晰度的同时,有效降低图像中的运动模糊,提升图像的防抖效果。
图9是本申请实施例提供的光学稳像数据标定方法的示意性流程图。方法500包括步骤S501至步骤S510,下面分别对这些步骤进行详细的描述。
步骤S501、图像标定数据采集。
示例性地,图像标定数据是指需要将电子设备的电子稳像算法关闭,开启光学稳像采集的图像。
例如,在采集的过程中可以获取多帧图像,假设获取N帧图像,N为大于1的正整数。
步骤S502、特征点检测。
示例性地,步骤S502是指对采集到的第N-1帧图像进行特征点检测。
例如,特征点检测是计算机视觉和图像处理中的一个概念;特征点检测是指对图象进行的运算处理,特征点指的是图像灰度值发生剧烈变化的点或者在图像边缘上曲率较大的点。
步骤S503、特征点检测。
示例性地,步骤S503是指对采集到的第N帧图像进行特征点检测。
例如,上述对图像进行特征点检测时采用的算法可以包括但不限于:ORB算法、Harris角点等。
步骤S504、特征点匹配,输出特征对。
示例性地,特征对可以是指两帧图像帧中相同位置或者相近位置的特征点组成的集合;一个特征对中可以包括两个特征点。
例如,通过遍历视频中每两帧图像,对图像进行特征检测;对特征点进行匹配与筛选;筛选可以是指剔除图像中一些不满足要求或者成像不好的特征点。
示例性地,对第N-1帧图像中的第一特征点与第N帧图像中的第二特征点进行特征点匹配,得到特征对;其中,第一特征点可以是指第N-1帧图像中的任意一个特征点,第二特征点是指第N帧图像中与第一特征点匹配的特征点。
步骤S505、光学稳像数据(第一防抖的数据的一个示例)采集。
示例性地,可以是霍尔传感器采集的光学稳像的运动校正信息。
例如,运动校正信息包括光学稳像的X轴移动距离、光学稳像的Y轴移动距离、光学稳像的转动角度以及光学稳像的时间戳。其中,光学稳像的转动角度可以是指光学稳像模组Z轴校正的轴心受器件组装误差及驱动影响,可能并非完全为图像中心,对于旋转轴轴心的位置需要进行标定。光学稳像的时间戳是指光学稳像数据源与图像数据源不一致,在同一个时间戳下,所代表的运动可能存在一定的相位差,该相位差一般是恒定的,该值也需要通过图像标定得到。
应理解,上述通过举例对运动校正信息进行了说明;运动校正信息还可以包括有可能出现的其他误差值,本申请对此不作任何限定。
步骤S506、参数选择。
其中,参数选择可以是指确定函数关系中的一组缩放系数,该函数关系用于光学稳像处理;根据该函数关系对霍尔传感器输出的原始代码进行处理,可以得到一个图像帧对应的光学稳像的相机内参矩阵。
应理解,一个视频中的多个图像帧对应同一个相同的函数关系。
示例性地,可以通过搜参算法确定一组光学稳像的参数。
例如,可以通过AutoML算法确定一组光学稳像的参数。
步骤S507、标准内参还原。
示例性地,标准内参还原是指根据步骤S506确定的一组参数与第N-1帧图像对应的光学稳像的原始代码确定第N-1帧图像对应的光学稳像的相机内参矩阵的逆,即
步骤S508、特征点坐标还原。
示例性地,通过以下公式进行特征点坐标还原:
其中,HN-1~N表示第N-1帧图像到第N帧图像之间的图像变换矩阵;Kois(N)表示第N帧图像对应的光学稳像的相机内参矩阵;R(N-1~N)表示通过陀螺仪获取的第N-1帧图像与第N帧图像之间的陀螺仪位姿差对应矩阵;表示第N-1帧图像对应的光学稳像的相机内参矩阵的逆。Kois(N)是根据步骤S506确定的一组参数与第N帧图像对应的光学稳像的原始代码得到的;/>是根据步骤S506确定的一组参数与第N-1帧图像对应的光学稳像的原始代码得到的。
例如,通过步骤S504特征点匹配输出特征对可以得到第N-1帧中的特征点(0,0)与第N帧图像的特征点(5,5)为一组特征对;通过步骤S507可以根据第N-1帧图像中特征点(0,0)推导出对应第N帧图像中的特征点为(4,4)。
步骤S509、误差计算。
其中,误差计算是指根据特征对与特征点坐标还原的坐标信息计算特征点的坐标信息差值。
在一个示例中,根据特征点匹配确定一组特征对为第N-1帧中的特征点(0,0)与第N帧图像的特征点(5,5);通过特征点坐标还原可以得到根据第N-1帧图像中特征点(0,0)推导出对应第N帧图像中的特征点为(4,4);误差计算是指计算特征点(5,5)与特征点(4,4)之间的差值。
示例性地,可以根据均方误差(mean square error,MSE)算法对特征点坐标还原得到的坐标信息与输出的特征对的坐标信息进行误差计算。
步骤S510、误差评估。
示例性地,可以设置预设阈值;在误差大于预设阈值时,可以表示步骤S506确定的一组参数是不准确的;在误差小于预设阈值时,可以表示步骤S506确定的一组参数是准确的。
需要说明的是,对于步骤S506确定的一组参数可以对视频中N帧图像中的任意两个相邻图像帧进行遍历,对该组参数进行误差评估。
应理解,若步骤S506确定的一组光学稳像的参数是准确的,则特征点还原得到的特征点与输出特征对中特征点的坐标应该完全重合。当得到一组参数对应的误差值后,可以重新确定一组参数再计算误差值,以此循环直至找到使得视频累计误差最小的一组参数。
示例性地,通过上述步骤S502至步骤S504可以对图像帧的内容信息进行建模,得到一条由图像表示的相机位姿曲线;通过步骤S505至步骤S508可以通过光学稳像数据与陀螺仪数据对相机内参模型进行建模,得到一条由运动传感器数据表示的相机位姿曲线;参数标定的原理为将上述两条曲线进行匹配,得到最优的一组参数,最优的一组参数可以使得两条曲线最为接近。
应理解,根据步骤S510误差评估可以确定步骤S506参数选择得到的一组参数是否为最优的参数;若根据步骤S510误差评估确定该组参数不满足误差要求,则可以重新执行步骤S506至步骤S510重新一组参数进行误差评估;直至确定满足误差评估的最优的一组参数。在得到最优的一组参数后,可以根据该组参数对霍尔传感器采集的原始代码进行一定比例值的换算,将霍尔传感器采集的光学稳像数据转换为符合内参矩阵中的像素单位的数据。
图10是本申请实施例提供的图像防抖方法的示意性流程图像。方法600包括步骤S610至步骤S640,下面分别对这些步骤进行详细的描述。
应理解,图10与图6所示的图像防抖方法的差异之处在于,图6所示的图像防抖过程中并没有输出还原光学稳像的图像流,而是直接输出了还原光学稳像且经过电子稳像处理后的第二图像流;图10所示的图像防抖过程中可以输出还原光学稳像的图像流;图6中对相同步骤的描述同样适用于图10中的相同部分,此处不再赘述。
步骤S610、获取第一图像流。
步骤S620、对第一图像流进行光学稳像还原。
示例性地,在步骤S620中包括步骤S621从二维坐标系转换至三维坐标系。
步骤S622、将经过光学稳像还原后的第一图像流从三维坐标系转换至二维坐标系。
步骤S623、输出还原光学稳像的图像流(第三图像流的一个示例)。
步骤S630、对光学稳像还原的图像流进行电子稳像处理。
例如,步骤S630中包括步骤S631电子稳像路径约束。
步骤S640、将经过电子稳像处理的图像流从三维坐标系转换至二维坐标系,得到第二图像流。
可选的,对于步骤S623得到的图像流可以进行其他处理(如去马赛克等),也可以进行保存,或者,编码为视频进行保存或者播放。
可选的,对于步骤S640得到的第二图像流可以进行保存,或者,编码为视频进行保存或者播放。
应理解,上述举例说明是为了帮助本领域技术人员理解本申请实施例,而非要将本申请实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的上述举例说明,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本申请实施例的范围内。
上文结合图1至图10详细描述了本申请实施例提供的图像防抖方法;下面将结合图11与图12详细描述本申请的装置实施例。应理解,本申请实施例中的装置可以执行前述本申请实施例的各种方法,即以下各种产品的具体工作过程,可以参考前述方法实施例中的对应过程。
图11是本申请实施例提供的一种电子设备的结构示意图。该电子设备700包括获取单元710与处理单元720。
其中,处理单元720用于开启相机应用;获取单元710用于接收第一操作;处理单元720用于:响应于所述第一操作,获取第一图像流,所述第一图像流为所述摄像头实时采集的图像流,所述第一图像流为第一防抖处理后的图像流,所述第一防抖处理包括所述三轴光学稳像控制器进行的防抖处理;基于第一参数和第二参数对所述第一图像流进行处理得到第二图像流;其中,所述第一参数是基于所述第一防抖处理得到的,所述第一参数用于还原所述第一防抖处理,所述第二参数用于第二防抖处理,所述第一防抖处理与所述第二防抖处理不同。
可选地,作为一个实施例,所述处理单元720具体用于:
基于所述第一参数对所述第一图像流进行还原所述第一防抖处理,得到第三图像流;
基于所述第二参数对所述第三图像流进行所述第二防抖处理,得到所述第二图像流。
可选地,作为一个实施例,所述电子设备包括陀螺仪传感器,所述第二参数是基于所述陀螺仪传感器采集的抖动信息得到的,所述抖动信息用于表示所述电子设备在拍摄过程中的位姿变化。
可选地,作为一个实施例,所述第二参数是基于所述抖动信息与约束条件得到的,所述约束条件是指所述第二图像流中的每个图像帧满足预设图像范围。
可选地,作为一个实施例,所述电子设备700包括霍尔传感器,所述霍尔传感器用于采集所述第一防抖处理的数据,所述处理单元720具体用于:
将所述第一防抖处理的数据转换为三轴偏移量,所述三轴偏移量包括X轴方向的偏移量、Y轴方向的偏移量与Z轴方向的旋转角;
根据所述三轴偏移量得到所述第一参数。
可选地,作为一个实施例,所述第一图像序列包括N个图像帧,N为大于1的正整数,所述处理单元720具体用于:
对第N-1图像帧与第N图像帧进行特征点检测,得到特征对;其中,所述特征对包括所述第N-1图像帧中的第一特征点与所述第N图像帧中的第二特征点,所述第一特征点与所述第二特征点相对应;
根据所述特征对与所述第一防抖处理的数据得到所述三轴偏移量。
可选地,作为一个实施例,所述抖动信息包括所述电子设备在X轴与Y轴的旋转数据和/或平移数据,以及在Z轴的旋转数据。
需要说明的是,上述电子设备700以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件形式实现,对此不作具体限定。
例如,“单元”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
因此,在本申请的实施例中描述的各示例的单元,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
图12示出了本申请提供的一种电子设备的结构示意图。图12中的虚线表示该单元或该模块为可选的。电子设备800可用于实现上述方法实施例中描述的方法。
电子设备800包括一个或多个处理器801,该一个或多个处理器801可支持电子设备800实现方法实施例中的图像防抖方法。处理器801可以是通用处理器或者专用处理器。例如,处理器801可以是中央处理器(central processing unit,CPU)、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integratedcircuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其它可编程逻辑器件,如分立门、晶体管逻辑器件或分立硬件组件。
处理器801可以用于对电子设备800进行控制,执行软件程序,处理软件程序的数据。电子设备800还可以包括通信单元805,用以实现信号的输入(接收)和输出(发送)。
例如,电子设备800可以是芯片,通信单元805可以是该芯片的输入和/或输出电路,或者,通信单元805可以是该芯片的通信接口,该芯片可以作为终端设备或其它电子设备的组成部分。
又例如,电子设备800可以是终端设备,通信单元805可以是该终端设备的收发器,或者,通信单元805可以是该终端设备的收发电路。
电子设备800中可以包括一个或多个存储器802,其上存有程序804,程序804可被处理器801运行,生成指令803,使得处理器801根据指令803执行上述方法实施例中描述的方法。
可选地,存储器802中还可以存储有数据。可选地,处理器801还可以读取存储器802中存储的数据,该数据可以与程序804存储在相同的存储地址,该数据也可以与程序804存储在不同的存储地址。
处理器801和存储器802可以单独设置,也可以集成在一起,例如,集成在终端设备的系统级芯片(system on chip,SOC)上。
示例性地,存储器802可以用于存储本申请实施例中提供的图像防抖方法的相关程序804,处理器801可以用于在视频处理时调用存储器802中存储的图像防抖方法的相关程序804,执行本申请实施例的图像防抖方法;例如,开启相机应用;接收第一操作;响应于所述第一操作,获取第一图像流,所述第一图像流为所述摄像头实时采集的图像流,所述第一图像流为第一防抖处理后的图像流,所述第一防抖处理包括所述三轴光学稳像控制器进行的防抖处理;基于第一参数和第二参数对所述第一图像流进行处理得到第二图像流;其中,所述第一参数是基于所述第一防抖处理得到的,所述第一参数用于还原所述第一防抖处理,所述第二参数用于第二防抖处理,所述第一防抖处理与所述第二防抖处理不同。
本申请还提供了一种计算机程序产品,该计算机程序产品被处理器801执行时实现本申请中任一方法实施例所述的方法。
该计算机程序产品可以存储在存储器802中,例如是程序804,程序804经过预处理、编译、汇编和链接等处理过程最终被转换为能够被处理器801执行的可执行目标文件。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现本申请中任一方法实施例所述的方法。该计算机程序可以是高级语言程序,也可以是可执行目标程序。
该计算机可读存储介质例如是存储器802。存储器802可以是易失性存储器或非易失性存储器,或者,存储器802可以同时包括易失性存储器和非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmableROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(randomaccess memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamicRAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(doubledata rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和设备的具体工作过程以及产生的技术效果,可以参考前述方法实施例中对应的过程和技术效果,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的方法实施例的一些特征可以忽略,或不执行。以上所描述的装置实施例仅仅是示意性的,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统。另外,各单元之间的耦合或各个组件之间的耦合可以是直接耦合,也可以是间接耦合,上述耦合包括电的、机械的或其它形式的连接。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
总之,以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种图像防抖方法,其特征在于,应用于电子设备,所述电子设备包括摄像头和三轴光学稳像控制器,所述方法包括:
开启相机应用;
接收第一操作;
响应于所述第一操作,获取第一图像流,所述第一图像流为所述摄像头实时采集的图像流,所述第一图像流为第一防抖处理后的图像流,所述第一防抖处理包括所述三轴光学稳像控制器进行的防抖处理;其中,所述三轴光学稳像控制器控制图像传感器在X轴移动、Y轴移动以及Z轴旋转;
基于第一参数和第二参数对所述第一图像流进行处理得到第二图像流;其中,所述第一参数是基于所述第一防抖处理得到的,所述第一参数用于还原所述第一防抖处理,所述第二参数用于第二防抖处理,所述第一防抖处理与所述第二防抖处理不同;
其中,将所述第一图像流从二维坐标系转换至三维坐标系,并对所述第一图像流进行光学稳像还原,对所述第一图像流进行光学稳像还原是指将图像流中的图像帧还原为未经过光学防抖处理的图像帧;
对光学稳像还原的图像流进行电子稳像处理,其中,所述电子稳像处理是指对图像流中的多个图像帧在三维坐标系中进行运动校正;所述运动校正是指对相机运动引起的图像传感器的光学中心的坐标偏移量进行补偿;
将经过电子稳像处理后的图像流从三维坐标系转换至二维坐标系,得到第二图像流。
2.如权利要求1所述的图像防抖方法,其特征在于,所述基于第一参数和第二参数对所述第一图像流进行处理得到第二图像流,包括:
基于所述第一参数对所述第一图像流进行还原所述第一防抖处理,得到第三图像流;
基于所述第二参数对所述第三图像流进行所述第二防抖处理,得到所述第二图像流。
3.如权利要求1或2所述的图像防抖方法,其特征在于,所述电子设备包括陀螺仪传感器,所述第二参数是基于所述陀螺仪传感器采集的抖动信息得到的,所述抖动信息用于表示所述电子设备在拍摄过程中的位姿变化。
4.如权利要求3所述的图像防抖方法,其特征在于,所述第二参数是基于所述抖动信息与约束条件得到的,所述约束条件是指所述第二图像流中的每个图像帧满足预设图像范围。
5.如权利要求1、2、4中任一项所述的图像防抖方法,其特征在于,所述电子设备还包括霍尔传感器,所述霍尔传感器用于采集所述第一防抖处理的数据,所述图像防抖方法还包括:
将所述第一防抖处理的数据转换为三轴偏移量,所述三轴偏移量包括X轴方向的偏移量、Y轴方向的偏移量与Z轴方向的旋转角;
根据所述三轴偏移量得到所述第一参数。
6.如权利要求5所述的图像防抖方法,其特征在于,所述第一图像流包括N个图像帧,N为大于1的正整数,所述将所述第一防抖处理的数据转换为三轴偏移量,包括:
对第N-1图像帧与第N图像帧进行特征点检测,得到特征对;其中,所述特征对包括所述第N-1图像帧中的第一特征点与所述第N图像帧中的第二特征点,所述第一特征点与所述第二特征点相对应;
根据所述特征对与所述第一防抖处理的数据得到所述三轴偏移量。
7.如权利要求4所述的图像防抖方法,其特征在于,所述抖动信息包括所述电子设备在X轴与Y轴的旋转数据和/或平移数据,以及在Z轴的旋转数据。
8.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器、存储器和显示屏;所述存储器与所述一个或多个处理器耦合,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,所述一个或多个处理器调用所述计算机指令以使得所述电子设备执行如权利要求1至7中任一项所述的图像防抖方法。
9.一种芯片系统,其特征在于,所述芯片系统应用于电子设备,所述芯片系统包括一个或多个处理器,所述处理器用于调用计算机指令以使得所述电子设备执行如权利要求1至7中任一项所述的图像防抖方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储了计算机程序,当所述计算机程序被处理器执行时,使得处理器执行权利要求1至7中任一项所述的图像防抖方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/547,570 US20240187736A1 (en) | 2021-07-30 | 2022-05-16 | Image anti-shake method and electronic device |
PCT/CN2022/093035 WO2023005355A1 (zh) | 2021-07-30 | 2022-05-16 | 图像防抖方法与电子设备 |
EP22847968.9A EP4280615A1 (en) | 2021-07-30 | 2022-05-16 | Image anti-shake method and electronic device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110876036 | 2021-07-30 | ||
CN2021108760366 | 2021-07-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115701125A CN115701125A (zh) | 2023-02-07 |
CN115701125B true CN115701125B (zh) | 2023-11-07 |
Family
ID=85121064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111163499.4A Active CN115701125B (zh) | 2021-07-30 | 2021-09-30 | 图像防抖方法与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115701125B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117135459A (zh) * | 2023-04-07 | 2023-11-28 | 荣耀终端有限公司 | 图像防抖方法与电子设备 |
CN117135456B (zh) * | 2023-04-07 | 2024-05-31 | 荣耀终端有限公司 | 图像防抖方法与电子设备 |
CN116095489B (zh) * | 2023-04-11 | 2023-06-09 | 北京城建智控科技股份有限公司 | 一种基于摄像装置的协同防抖方法与存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234873A (zh) * | 2018-01-10 | 2018-06-29 | 北京小米移动软件有限公司 | 一种获取图像的方法和装置 |
CN109660718A (zh) * | 2018-11-30 | 2019-04-19 | Oppo广东移动通信有限公司 | 图像处理方法和装置、电子设备、计算机可读存储介质 |
CN110233969A (zh) * | 2019-06-26 | 2019-09-13 | Oppo广东移动通信有限公司 | 图像处理方法和装置、电子设备、计算机可读存储介质 |
CN111711756A (zh) * | 2020-06-28 | 2020-09-25 | Oppo广东移动通信有限公司 | 一种图像防抖方法、电子设备及存储介质 |
CN111722452A (zh) * | 2020-06-29 | 2020-09-29 | 烟台艾睿光电科技有限公司 | 一种红外产品的防抖稳像方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6448218B2 (ja) * | 2014-05-12 | 2019-01-09 | キヤノン株式会社 | 撮像装置、その制御方法および情報処理システム |
-
2021
- 2021-09-30 CN CN202111163499.4A patent/CN115701125B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108234873A (zh) * | 2018-01-10 | 2018-06-29 | 北京小米移动软件有限公司 | 一种获取图像的方法和装置 |
CN109660718A (zh) * | 2018-11-30 | 2019-04-19 | Oppo广东移动通信有限公司 | 图像处理方法和装置、电子设备、计算机可读存储介质 |
CN110233969A (zh) * | 2019-06-26 | 2019-09-13 | Oppo广东移动通信有限公司 | 图像处理方法和装置、电子设备、计算机可读存储介质 |
CN111711756A (zh) * | 2020-06-28 | 2020-09-25 | Oppo广东移动通信有限公司 | 一种图像防抖方法、电子设备及存储介质 |
CN111722452A (zh) * | 2020-06-29 | 2020-09-29 | 烟台艾睿光电科技有限公司 | 一种红外产品的防抖稳像方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115701125A (zh) | 2023-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115701125B (zh) | 图像防抖方法与电子设备 | |
CN109788189B (zh) | 将相机与陀螺仪融合在一起的五维视频稳定化装置及方法 | |
US11558553B2 (en) | Electronic device for stabilizing image and method for operating same | |
KR20190032061A (ko) | 이미지 보정을 수행하는 전자 장치 및 그 동작 방법 | |
US11924550B2 (en) | Method for processing image by using artificial neural network, and electronic device supporting same | |
US10965871B2 (en) | Apparatus and method for compensating for image change caused by optical image stabilization motion | |
WO2023005355A1 (zh) | 图像防抖方法与电子设备 | |
CN114339102B (zh) | 一种录像方法及设备 | |
EP4344240A1 (en) | Camera switching method, and electronic device | |
CN115150542B (zh) | 一种视频防抖方法及相关设备 | |
CN114390186A (zh) | 视频拍摄方法及电子设备 | |
CN115908120B (zh) | 图像处理方法和电子设备 | |
CN114449151A (zh) | 一种图像处理方法及相关装置 | |
WO2023124202A1 (zh) | 图像处理方法与电子设备 | |
CN114339101B (zh) | 一种录像方法及设备 | |
CN115988311A (zh) | 图像处理方法与电子设备 | |
CN116128739A (zh) | 下采样模型的训练方法、图像处理方法及装置 | |
CN115767287B (zh) | 图像处理方法与电子设备 | |
CN117135456B (zh) | 图像防抖方法与电子设备 | |
EP4280154A1 (en) | Image blurriness determination method and device related thereto | |
CN116029951B (zh) | 图像处理方法与电子设备 | |
CN116012262B (zh) | 一种图像处理方法、模型训练方法及电子设备 | |
CN116112813B (zh) | 虚化方法和装置 | |
CN117135459A (zh) | 图像防抖方法与电子设备 | |
CN117714867A (zh) | 图像防抖方法与电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |