CN117689711A - 位姿测量方法和电子设备 - Google Patents

位姿测量方法和电子设备 Download PDF

Info

Publication number
CN117689711A
CN117689711A CN202311036573.5A CN202311036573A CN117689711A CN 117689711 A CN117689711 A CN 117689711A CN 202311036573 A CN202311036573 A CN 202311036573A CN 117689711 A CN117689711 A CN 117689711A
Authority
CN
China
Prior art keywords
image
state quantity
camera
imu
state
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.)
Granted
Application number
CN202311036573.5A
Other languages
English (en)
Other versions
CN117689711B (zh
Inventor
孙峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202311036573.5A priority Critical patent/CN117689711B/zh
Publication of CN117689711A publication Critical patent/CN117689711A/zh
Application granted granted Critical
Publication of CN117689711B publication Critical patent/CN117689711B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Studio Devices (AREA)

Abstract

本申请实施例提供一种位姿测量方法和电子设备,方法包括:获取第一图像和所述第一图像对应的IMU测量数据;根据所述第一图像和所述IMU测量数据确定所述第一图像的第一状态量和第二状态量;根据第一集合、第二集合、以及所述第一图像的第一状态量对所述第一图像的第二状态量进行优化,得到优化后的第二状态量;根据所述优化后的第二状态量计算所述摄像头拍摄所述第一图像时的位姿。本申请实施例能够提高位姿测量的精确度。

Description

位姿测量方法和电子设备
技术领域
本申请涉及图像处理技术领域,尤其涉及一种位姿测量方法和电子设备。
背景技术
电子图像防抖(EIS)是通过软件算法实现的防抖能力。其技术运作原理是通过加速度传感器和/或陀螺仪等惯性测量单元(IMU)检测电子设备(例如手机)的震动幅度,从而计算相机位姿,基于相机位姿动态调整电子设备摄像头的ISO、快门和成像算法,以实现模糊校正。但是,现有的位姿测量方法精确度较低,进而电子设备的电子防抖能力较低,摄像头拍摄的图像清晰度较低。
发明内容
本申请提供了一种位姿测量方法和电子设备,能够提高位姿测量的精确度。
第一方面,本申请实施例提供一种位姿测量方法,应用于电子设备,电子设备包括摄像头,方法包括:获取第一图像和第一图像对应的IMU测量数据;根据第一图像和IMU测量数据确定第一图像的第一状态量和第二状态量,第一状态量包括第一图像中至少一个特征点对应的图像残差;第二状态量包括:预设IMU测量分量;根据第一集合、第二集合、以及第一图像的第一状态量对第一图像的第二状态量进行优化处理,得到优化后的第二状态量;第一集合中包括:第一图像之前m帧图像的第一状态量;第二集合包括:第一图像之前n帧图像的第二状态量;m是自然数,n是自然数;根据优化后的第二状态量计算摄像头拍摄第一图像时的位姿。该方法中,基于多个第一状态量和第二状态量优化第二状态量,从而使得第二状态量更为精确,进而使得计算得到的第一图像的位姿更为精确。
在一种可能的实现方式中,IMU测量分量包括:加速度计偏置、陀螺仪偏置。
在一种可能的实现方式中,IMU测量分量还包括以下至少一个分量:摄像头的位置、摄像头的移动速度、摄像头的旋转角度。
在一种可能的实现方式中,根据第一集合、第二集合、以及第一图像的第一状态量对第一图像的第二状态量进行优化处理,得到优化后的第二状态量,包括:根据第一集合中拍摄时间最早一帧图像的第一状态量确定第一图像的第一状态量的图约束残差以及第一集合中其他第一状态量的图约束残差;根据第二集合中拍摄时间最早一帧图像的第二状态量确定第一图像的第二状态量的图约束残差以及第二集合中其他第二状态量的图约束残差;根据图约束残差对第一图像的第二状态量进行优化处理。
在一种可能的实现方式中,根据图约束残差对第一图像的第二状态量进行优化处理,包括:根据第一图像的第一状态量、第一集合中的其他第一状态量、第一图像的第二状态量、第二集合中其他第二状态量构建图约束关系式;最小化图约束残差,对图约束关系式进行非线性优化处理,得到第一图像的优化后的第二状态量。
在一种可能的实现方式中,还包括:对图约束关系式进行非线性优化处理,得到第一图像的优化后的第一状态量、优化后的其他第一状态量、优化后的其他第二状态量;根据优化后的其他第一状态量更新第一集合中其他第一状态量,将第一图像的优化后的第一状态量加入第一集合,丢弃拍摄时间最早一帧图像的第一状态量;根据优化后的其他第二状态量更新第二集合中其他第二状态量,将第一图像的优化后的第二状态量加入第二集合,丢弃拍摄时间最早一帧图像的第二状态量。
在一种可能的实现方式中,确定第一图像的第一状态量和第二状态量之前,还包括:确定第一图像是关键帧图像。
在一种可能的实现方式中,确定第一图像是关键帧图像,包括:确定第一图像的特征点和第二图像中与该特征点匹配的特征点之间的距离大于第一阈值;和/或,确定摄像头在预设方向上的移动距离大于第二阈值;和/或,确定摄像头在预设方向上的旋转角度大于第三阈值。
在一种可能的实现方式中,还包括:确定第一图像不是关键帧图像,根据第一图像的第二状态量计算第一图像对应的相机位姿。
第二方面,本申请实施例提供一种电子设备,包括:处理器,存储器;其中一个或多个计算机程序被存储在存储器中,一个或多个计算机程序包括指令,当指令被处理器执行时,使得电子设备执行第一方面任一项的方法。
第三方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行第一方面任一项的方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的电子防抖方法的一种流程示意图;
图2为本申请实施例提供的电子设备的一种结构示意图;
图3为本申请实施例提供的电子设备的一种软件结构示意图;
图4为本申请实施例提供的位姿测量方法的一种流程示意图;
图5为本申请实施例提供的优化原理示意图;
图6为本申请实施例提供的位姿测量方法的另一种流程示意图;
图7为本申请实施例提供的cam集合和IMU集合的结构示意图;
图8为本申请实施例提供的一种丢弃状态量的示意图;
图9为本申请实施例提供的协方差矩阵原理示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的具体实施例进行解释,而非旨在限定本申请。
首先对本申请实施例涉及的名词进行示例性说明。
世界坐标系:真实世界的绝对坐标系,用于描述相机的位置。
相机坐标系:以相机的光心为坐标原点,X轴和Y轴分别平行于图像坐标系的X轴和Y轴,相机的光轴为Z轴,X轴正方向为沿X轴指向相机平面右侧的方向,Y轴正方向为沿Y轴指向相机平面上方的方向,Z轴正方向为沿光轴指向相机前方。
相机归一化坐标系:在相机坐标系三维坐标的基础上增加尺度缩放因子,使得三维坐标变为四维坐标。
图像坐标系:以图像平面的中心为坐标原点,X轴和Y轴分别平行于图像平面的2条垂直边,X轴、Y轴正方向与相机坐标系一致。
像素坐标系:以图像的左上角顶点为原点,X轴和Y轴分别平行于图像坐标系的X轴和Y轴,X轴、Y轴正方向与相机坐标系一致。像素坐标是以像素为单位的坐标系。像素坐标系和图像坐标系之间区别主要在于原点的平移以及尺寸的缩放。
加速度计偏置:是指加速度计的零度漂移,即加速度计在加速度为0时,加速度计的值。
陀螺仪偏置:是指没有外部激励的情况下陀螺仪的值。
位姿:位姿是指物体、机器人或人的姿态或姿势在三维空间中的位置和方向,本申请实施例中的位姿是指摄像头(相机)在三维空间中的位置和方向,也可以称为摄像头位姿或者相机位姿。
电子图像防抖(EIS)是通过软件算法实现的防抖能力。其技术运作原理是通过加速度传感器和/或陀螺仪等惯性测量单元(IMU)检测电子设备(例如手机)的震动幅度,从而计算相机位姿,基于相机位姿动态调整电子设备摄像头的ISO、快门和成像算法,以实现模糊校正。
在一个实例中,参见图1,电子防抖处理流程可以包括:电子设备根据IMU数据计算相机位姿,根据预设AI模型对相机位姿进行平滑处理后,根据平滑后的相机位姿、IMU数据和摄像头相关数据计算图像变形格网,根据图像变形格网将相机拍摄的原始图像处理为稳定图像,将该稳定图像作为摄像头拍摄到的图像提供给用户。
但是,上述过程中平滑后的相机位姿的计算仅依据IMU数据完成,因此相机位姿的计算精度较低,进而导致电子设备的电子防抖精确度较低,生成的稳定图像的清晰度较低。
为此,本申请实施例提供了一种位姿测量方法和电子设备,能够提高相机位姿的测量精确度。
进而,在例如图1所示的电子防抖处理中,电子设备根据相机位姿确定的图像变形格网更为精确,生成的稳定图像的清晰度相对更高,从而提高电子设备的电子防抖能力,提高电子设备的摄像头拍摄图像的清晰度。
本申请实施例的电子设备是包括摄像头的电子设备,例如手机、平板电脑(PAD)、手表等。
图2示出了电子设备的一种结构示意图,如图2所示,电子设备100可以包括处理器110,存储器120,显示屏130,摄像头140,IMU150等。IMU150可以包括:加速度传感器151,陀螺仪152等。
可以理解的是,本发明实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
内部存储器120可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。内部存储器130可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器130可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在存储器120的指令,和/或存储在设置于处理器中的存储器的指令,执行电子设备100的各种功能应用以及数据处理。
显示屏130用于显示图像,视频等。显示屏130包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或多个显示屏130。
摄像头140用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头140,N为大于1的正整数。电子设备的摄像头在某些技术中也可以称为电子设备的相机。
IMU150用于进行电子设备的惯性测量。
加速度传感器151可检测电子设备100在各个方向上(一般为三轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。
陀螺仪传感器152可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器152确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本发明实施例以分层架构的(Android)系统为例,示例性说明电子设备100的软件结构。
图3是本发明实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为五层,从上至下分别为应用程序层、应用程序框架层(也称:系统框架层)、系统库和安卓运行时层、硬件抽象层(hardwareabstraction layer,HAL)和内核层。
应用程序层可以包括若干个应用程序(下文简称为应用)。本申请实施例中,应用程序层可以包括:相机应用。
应用程序框架层为应用程序层的应用提供应用编程接口(ApplicationProgramming Interface,API)和编程框架,包括各种组件和服务来支持开发者的安卓开发。本申请实施例中,应用程序框架层可以包括摄像头服务等。
系统库和安卓运行时层包括系统库和安卓运行时(Android Runtime)。系统库可以包括多个功能模块,例如表面管理器,libc等。安卓运行时负责安卓系统的调度和管理,具体包括核心库和虚拟机。其中,核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库;虚拟机用于运行使用java语言开发的Android应用。
HAL层为位于操作系统内核与硬件电路之间的接口层。HAL层包括但不限于:摄像头硬件抽象层(Camera HAL),用于对图像流进行处理。
内核层是硬件和软件之间的层。内核层可以包括:摄像头驱动,加速度传感器驱动,陀螺仪驱动等。摄像头驱动用于驱动摄像头。加速度传感器驱动用于驱动加速度传感器。陀螺仪驱动用于驱动陀螺仪。
以下,结合上述图2和图3所示的电子设备的结构对本申请实施例位姿测量方法进行说明。
可选地,本申请实施例位姿测量方法可以是电子设备的操作系统提供的功能,此时,可以由设置于驱动层或者框架层的位姿测量模块执行该位姿测量方法。或者,本申请实施例位姿测量方法可以是电子设备的应用例如相机应用提供的功能,此时,可以由相机应用执行该位姿测量方法。
图4是本申请实施例位姿测量方法的一种流程示意图,如图4所示,该方法可以包括:
步骤401:获取第j帧图像和第j帧图像对应的IMU测量数据。
假设第j帧图像是摄像头t1时刻拍摄的图像,第j图像对应的IMU测量数据是指测量时刻t2与时刻t1相同或相近的IMU测量数据。需要说明的是,时刻t2与时刻t1之间的时间差本申请实施例不作限定。一般来说,两者之间的时间差越小,后续计算得到的相机位姿相对越精确。
可选地,IMU测量数据可以包括:加速度传感器测量的加速度数据和陀螺仪测量的角速度数据。
可选地,加速度数据具体可以包括:电子设备的加速度,具体可以包括:电子设备分别在x、y、z轴方向上的加速度。
可选地,角速度数据具体可以包括:电子设备的角速度,具体可以包括:电子设备分别围绕x、y、z轴旋转的角速度。
其中,加速度传感器和陀螺仪所使用的坐标系的建立方法本申请实施例不作限定。可选地,加速度传感器和陀螺仪所使用的坐标系可以相同或者不同,本申请实施例不作限定。
步骤402:根据IMU测量数据确定第j帧图像的cam状态量camj和IMU状态量IMUj。
cam状态量camj可以包括第j帧图像中各个特征点对应的重投影误差。
上述重投影误差也可以称为第j帧图像与第i帧图像之间的图像残差,第i帧图像是第j帧图像的前一帧图像。
可选地,可以从第j帧图像中提取特征点,将提取到的特征点与第i帧图像的特征点匹配;对于第j帧图像中的特征点l,获取特征点l在第j帧图像中的像素坐标以及与特征点l匹配的第i帧图像中特征点的像素坐标根据像素坐标和像素坐标计算特征点l对应的重投影误差。
上述根据像素坐标和像素坐标计算特征点l对应的重投影误差,可以包括:
根据像素坐标计算特征点l在归一化相机坐标系中的测量坐标 其中,是从图像的像素坐标系到归一化相机坐标系的转换矩阵;
根据像素坐标计算特征点l在归一化相机坐标系中的测量坐标
测量坐标计算特征点l在归一化相机坐标系中的预测坐标 其中,
根据特征点l的测量坐标和预测坐标计算特征点l对应的重投影误差
上述公式中,是基于IMU和相机外设确定的从IMU坐标系到相机坐标系的旋转转换矩阵,是第j帧图像对应的从世界坐标系到IMU坐标系的旋转转换矩阵,是第i帧图像对应的从IMU坐标系到世界坐标系的旋转转换矩阵,λl是归一化因子,是基于IMU和相机外设确定的从相机坐标系到IMU坐标系的平移转换矩阵,是第i帧图像对应的从IMU坐标系到世界坐标系的平移转换矩阵,是第j帧图像对应的从IMU坐标系到世界坐标系的平移转换矩阵,是基于IMU和相机外设确定的从相机坐标系到IMU坐标系的平移转换矩阵。
IMU状态量IMUj可以包括:第j帧图像对应的IMU测量分量。
IMU测量分量可以包括:加速度计偏置ba、陀螺仪偏置bw。可选地,IMU测量分量还可以包括:电子设备的位置P、电子设备的移动速度V、和/或电子设备的旋转角度Q。
假设IMU测量分量包括:电子设备的位置P、电子设备的移动速度V、电子设备的旋转角度Q、加速度计偏置ba、以及陀螺仪偏置bw,相应的,IMU状态量IMUj可以包括:第j帧图像对应的电子设备的位置Pj、电子设备的移动速度Vj、电子设备的旋转角度Qj、加速度计偏置baj、陀螺仪偏置bwj。
其中,第j帧图像对应的电子设备的位置Pj、电子设备的移动速度Vj、电子设备的旋转角度Qj的计算公式如下:
其中,表示第j帧图像对应的摄像头在世界坐标系中的位置坐标,表示第i帧图像对应的摄像头在世界坐标系中的位置坐标,表示第i帧图像对应的摄像头在世界坐标系中的速度,δt表示第i帧图像与第j帧图像之间的时长,表示第i帧图像与第j帧图像之间测量到的加速度均值,表示第j帧图像对应的摄像头在世界坐标系中的旋转角度,表示第i帧图像对应的摄像头在世界坐标系中的旋转角度,表示第i帧图像与第j帧图像之间测量到的角速度均值,baj表示第j帧图像对应的加速度偏置,bωj表示第j帧图像对应的角速度偏置。可选地,上述和/或可以使用中值法计算得到,具体实现本申请实施例不作赘述。
步骤403:根据第j帧图像的cam状态量camj、cam集合中的cam状态量、IMU集合中的IMU状态量对第j帧图像的IMU状态量IMUj进行优化,得到优化后的IMU状态量IMUj。
如图5所示,路标点(landmark)A、路标点B、路标点C在拍摄的图像中对应着特征点,通过特征点匹配可以确定同一路标点在不同帧图像中对应的特征点,例如图5中以时间(time)1拍摄的图像中的cam状态量和IMU状态量、时间2拍摄的图像中的cam状态量和IMU状态量和时间3拍摄的图像中的cam状态量和IMU状态量为例,上述cam状态量和IMU状态量可以称为固定状态(fixed states),也可以称为历史状态,将固定状态作为作为先验估计的先验信息(prior information),来估计时间k拍摄的图像中的cam状态量和IMU状态量,估计的cam状态量和IMU状态量也成为估计状态(estimated states),再根据时间k拍摄的图像和IMU数据修正估计的cam状态量和IMU状态量,就可以得到时间k拍摄的图像的精确的IMU状态量,进而计算时间k拍摄的图像的相机位姿。图5中的时间k拍摄的图像可以对应本申请实施例中的第j帧图像,时间1~时间3拍摄的图像对应第j帧之前3帧的图像。
本步骤的实现可以参考图6中的步骤604~步骤605,这里不赘述。
步骤404:根据优化后的IMUj计算第j帧图像的相机位姿。
相机位姿可以包括:摄像头在世界坐标系中的位置坐标以及旋转角度。
优化后的IMUj中包括:优化后的加速度偏置baj1,优化后的陀螺仪偏置bωj1
本步骤中,计算第j帧图像的相机位姿可以包括:
图4所示的方法,cam集合中包括第j帧图像之前m帧图像的cam状态量,IMU集合中包括第j帧图像之前n帧图像的IMU状态量,通过使用cam集合和IMU集合中的状态量作为先验估计的先验信息,结合第j帧图像的cam状态量camj对第j帧图像的IMU状态量IMUj进行优化,从而使得IMUj中的加速度偏置baj1和陀螺仪偏置bωj1更为精确,进而使得步骤404中计算得到的第j帧图像的位姿更为精确。
图6是本申请实施例位姿测量方法的另一种流程示意图,以相机应用执行该方法为例。如图6所示,该方法可以包括:
步骤600:准备步骤。
相机应用基于用户操作进入图像预览界面后,或者,基于用户操作开始拍摄图像或者视频后,可以启动位姿测量,相应的,可以启动相机测量的准备步骤,也可以称为初始化步骤。
可选地,电子设备中维护cam集合和IMU集合,cam集合中包括的cam状态量的数量m可以预先设定,IMU集合中包括的IMU状态量的数量n可以预先设定。可选地,m和n的取值可以相同或者不同。由于IMU的特质,历史较远的数据与当前检测到的数据之间的关联度较弱,IMU集合中包括的IMU状态量的数量n可以小于cam集合中包括的cam状态量的数量m。
相机应用对cam集合和IMU集合进行初始化的方法示例性说明如下。
相机应用可以从摄像头驱动获取摄像头拍摄的n帧图像,依次为第1帧图像~第m帧图像,并且从IMU的驱动例如加速度传感器驱动和陀螺仪驱动获取每帧图像对应的IMU测量数据;相机应用计算m帧图像的cam状态量,得到cam1~camm,计算m帧图像的IMU状态量,得到IMU1~IMUm,将m帧图像的cam状态量cam1~camm加入cam集合,将时间最近的n帧图像的IMU状态量IMU(m-n+1)~IMUm加入IMU集合。
假设m为10,n为5。参见图7,cam集合中可以包括cam状态量cam1~cam状态量cam10共10个cam状态量,且从右到左cam状态量按照对应图像的拍摄时间依次排列,cam状态量cam1是第1帧图像的cam状态量,cam状态量cam10是第10帧图像的cam状态量;IMU集合中包括IMU状态量imu1~IMU状态量imu5共5个IMU状态量,且从右到左IMU状态量按照对应图像的拍摄时间依次排列,IMU状态量imu6是第6帧图像的IMU状态量,IMU状态量imu10是第10帧图像的IMU状态量。其中,cam状态量cam6~cam10和IMU状态量imu6~imu10分别对应,是同一帧图像的cam状态量和IMU状态量。
电子设备中可以维护协方差矩阵,初始协方差矩阵可以是单位矩阵。
电子设备根据m帧图像以及m帧图像的IMU测量数据计算初始相机位姿p0,具体计算方法可以使用相关初始相机位姿的计算方法实现,本申请实施例不作限定。
其中,相机应用在计算m帧图像的cam状态量和IMU状态量时,计算方法可以参考步骤402中的对应描述,区别主要在于:
在计算m帧图像的cam状态量和IMU状态量时,计算公式中除待求量之外的参数例如 等可以使用该参数对应的初始值完成上述计算。
上述计算公式中除待求量之外的参数例如等的初始值计算方法可以使用相关方法完成,本申请实施例不作限定,例如可以使用运动重构(structure-from-motion,SFM)方法实现。
步骤601:获取第m+1帧图像,并且,获取第m+1帧图像对应的IMU测量数据。
结合图3,相机应用可以从摄像头驱动获取摄像头拍摄的第m+1帧图像,从IMU的驱动(例如加速度传感器驱动和陀螺仪驱动)获取第m+1帧图像对应的IMU测量数据。
步骤602:判断第m+1帧图像是否是关键帧图像,如果否,执行步骤606,如果是,执行步骤603。
在一个实例中,可以从第m+1帧图像中提取特征点,计算第m+1帧图像中特征点相对于第m帧图像中与其匹配的特征点的移动距离,在该移动距离大于预设距离阈值时,可以判断第m+1帧图像是关键帧图像,否则,判断第m+1帧图像不是关键帧图像。
本申请实施例对第m+1帧图像与第m帧图像进行特征点匹配的方法不作限定,可以使用相关特征点匹配方法实现。
可选地,每个图像中提取到的特征点可以为多个,此时,可以通过统计的方法,在多个特征点中移动距离大于预设距离阈值的特征点的数量大于预设数量阈值时,判断第m+1帧图像是关键帧图像,否则,判断第m+1帧图像不是关键帧图像。
在另一个实例中,可以根据第m+1帧图像对应的加速度数据计算电子设备在x、y、z轴方向上的移动距离,在至少1个轴方向上的移动距离大于预设距离阈值时,判断第m+1帧图像是关键帧图像,否则,判断第m+1帧图像不是关键帧图像。
在第三个实例中,可以根据第m+1帧图像对应的角速度数据计算电子设备在x、y、z轴方向上的旋转角度,在至少1个轴方向上的旋转角度大于预设角度阈值时,判断第m+1帧图像是关键帧图像,否则,判断第m+1帧图像不是关键帧图像。
在第四个实例中,可以结合上述3个实例中至少2个实例的判断标准,在至少2个判断标准中的满足至少一个判断标准时,判断第m+1帧图像是关键帧图像,否则,判断第m+1帧图像不是关键帧图像。
举例来说,可以将3个实例的判断标准结合,此时,在以下3个条件满足至少1个条件时,判断第m+1帧图像是关键帧图像,否则,判断第m+1帧图像不是关键帧图像:第m+1帧图像中特征点相对于第m帧图像中与其匹配的特征点的移动距离大于预设距离阈值,电子设备在x、y、z轴至少1个轴方向上的移动距离大于预设距离阈值,电子设备在x、y、z轴至少1个轴方向上的旋转角度大于预设角度阈值。
本步骤为可选步骤,换言之,可以不判断m+1帧图像是否是关键帧图像,而是将每一帧图像作为关键帧图像执行步骤603和步骤604,此时可以提高相机位姿的计算精度,但电子设备的数据处理量相对较大,通过本步骤中关键帧的判断,可以降低电子设备的数据处理量。
步骤603:根据第m+1帧图像和第m+1帧图像对应的IMU测量数据确定第m+1帧图像的cam状态量cam(m+1)和IMU状态量IMU(m+1)。
本步骤的实现可以参考步骤402,区别主要在于:将j替换为m+1,将i替换为m。换言之,本步骤中的第m+1帧图像对应步骤402中的第j帧图像,第m帧图像对应步骤402中的第i帧图像。
需要说明的是,上述计算中除待求量之外的参数例如等也可以使用对应的初始值实现。
步骤604:根据cam集合中最旧cam状态量cam1计算cam状态量cam2~cam(m+1)对应的图约束残差,根据IMU集合中最旧IMU状态量IMU1计算IMU2~IMU(m+1)对应的图约束残差。
可选地,本步骤中还可以根据根据cam集合中最旧cam状态量cam1和IMU集合中最旧IMU状态量IMU1计算外参对应的图约束残差。这里的外参是指:摄像头和IMU的外参。
上述摄像头的外参是指摄像头在世界坐标系中的参数,比如相机的位置、旋转方向等,作用在于把坐标从世界坐标系转换到相机坐标系,具体可以通过标定确定。
IMU的外参是指IMU在世界坐标系中的参数,作用在于把坐标从世界坐标系转换到IMU坐标系,具体可以通过标定确定。
结合图8,本步骤中为了后续丢弃cam集合中最旧cam状态量,要将cam集合中最旧cam状态量的信息保留在cam2~cam(m+1)对应的图约束残差中,为了丢弃IMU集合中最旧IMU状态量,要将IMU集合中最旧IMU状态量的信息保留在IMU(m-n+2)~IMU(m+1)中。
以下说明计算原理。
构建如下所示的图约束关系:
其中,H11、H12、H21、H22对应于cam状态量中的参数值,δx1表示cam2~cam(m+1)中的任一cam状态量,δx2表示cam集合中最旧cam状态量cam1,b1、b2取cam状态量对应的初始值;
对上述图约束关系式执行以下计算可以得到δx1的图约束残差该图约束残差中保留有最旧cam状态量cam1的图约束关系
基于以上计算原理,可以计算cam2~cam(m+1)对应的图约束残差。
基于以上类似的计算原理,也可以根据最旧IMU状态量IMU(m-n+1)计算和IMU(m-n+2)~IMU(m+1)对应的图约束残差,也可以计算外参对应的图约束残差,具体计算过程本申请实施例不再过多赘述。
步骤605:根据上述图约束残差优化cam2~cam(m+1)、IMU(m-n+2)~IMU(m+1)。
可选地,还可以优化上述外参。
具体的,本步骤可以包括:
如图9所示,假设有4帧图像对应的camera位姿xp1~xp4、以及观测到的6个路标点(landmark),相机位姿和路标点之间的连线表示相机拍摄到的图像中包括该路标点,相机位姿与相机位姿之间表示IMU约束,他们形成了一种图约束,基于类似图7所示的图约束可以构建图约束关系式:Hδx=b,其中H是协方差矩阵,δx表示cam状态量和IMU状态量,b是cam状态量和IMU状态量对应的变量;
将已有的状态量cam2~cam(m+1)、IMU(m-n+2)~IMU(m+1)、外参代入图约束关系的协方差矩阵H;
最小化已有的状态量cam2~cam(m+1)、IMU(m-n+2)~IMU(m+1)、外参对应的图约束残差,对图约束关系Hδx=b进行非线性优化,得到cam2~cam(m+1)、IMU(m-n+2)~IMU(m+1)、外参的最优解,上述最优解也即是优化后的cam2~cam(m+1)、IMU 7~IMU(m+1)、外参。
进行非线性优化时,可以使用相关非线性优化方法例如梯度下降、高斯牛顿、LM法等实现,本申请实施例不作限定。
步骤606:计算第m+1帧图像的相机位姿。
其中,如果从步骤602判断第m+1帧图像不是关键帧从而执行本步骤,可以根据IMUj计算第m+1帧图像的相机位姿;
如果从步骤605后执行本步骤,可以根据优化后的IMU(m+1)计算第m+1帧图像的相机位姿。
具体计算方法可以参考步骤403,这里不赘述。
本步骤中计算得到的第m+1帧图像对应的相机位姿可以作为电子防抖中计算图像变形格网的基础数据。
步骤607:将优化后的cam2~cam(m+1)、IMU(m-n+2)~IMU(m+1)、外参更新协方差矩阵H。
步骤608:根据优化后的cam2~cam(m+1)、IMU(m-n+2)~IMU(m+1)的最优解更新cam集合和IMU集合,丢弃cam集合和IMU集合中的最旧状态量。
步骤607和步骤608为可选步骤,具体可以作为相机应用计算第m+2帧图像对应的相机位姿的基础数据。之后,相机应用可以返回步骤601,获取第m+2帧图像及其对应的IMU测量数据,进而执行步骤603~步骤608,可以实现第m+2帧图像对应的相机位姿的计算。
图6所示的方法中,进一步区分关键帧和非关键帧,仅用关键帧图像的cam状态量和IMU状态量更新cam集合和IMU集合,从而在保证相机位姿准确性的条件下,降低电子设备的数据处理量。
本申请实施例还提供一种电子设备,包括处理器和存储器,处理器用于实现本申请实施例提供的方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,当其在计算机上运行时,使得计算机执行本申请实施例提供的方法。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示单独存在A、同时存在A和B、单独存在B的情况。其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种位姿测量方法,其特征在于,应用于电子设备,所述电子设备包括摄像头,所述方法包括:
获取第一图像和所述第一图像对应的IMU测量数据;
根据所述第一图像和所述IMU测量数据确定所述第一图像的第一状态量和第二状态量,所述第一状态量包括所述第一图像中至少一个特征点对应的图像残差;所述第二状态量包括:预设IMU测量分量;
根据第一集合、第二集合、以及所述第一图像的第一状态量对所述第一图像的第二状态量进行优化处理,得到优化后的第二状态量;所述第一集合中包括:所述第一图像之前m帧图像的第一状态量;所述第二集合包括:所述第一图像之前n帧图像的第二状态量;m是自然数,n是自然数;
根据所述优化后的第二状态量计算所述摄像头拍摄所述第一图像时的位姿。
2.根据权利要求1所述的方法,其特征在于,所述IMU测量分量包括:加速度计偏置、陀螺仪偏置。
3.根据权利要求2所述的方法,其特征在于,所述IMU测量分量还包括以下至少一个分量:摄像头的位置、摄像头的移动速度、摄像头的旋转角度。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据第一集合、第二集合、以及所述第一图像的第一状态量对所述第一图像的第二状态量进行优化处理,得到优化后的第二状态量,包括:
根据所述第一集合中拍摄时间最早一帧图像的第一状态量确定所述第一图像的第一状态量的图约束残差以及所述第一集合中其他第一状态量的图约束残差;
根据所述第二集合中拍摄时间最早一帧图像的第二状态量确定所述第一图像的第二状态量的图约束残差以及所述第二集合中其他第二状态量的图约束残差;
根据所述图约束残差对所述第一图像的第二状态量进行优化处理。
5.根据权利要求4所述的方法,其特征在于,所述根据所述图约束残差对所述第一图像的第二状态量进行优化处理,包括:
根据所述第一图像的第一状态量、所述第一集合中的所述其他第一状态量、所述第一图像的第二状态量、所述第二集合中所述其他第二状态量构建图约束关系式;
最小化所述图约束残差,对所述图约束关系式进行非线性优化处理,得到所述第一图像的优化后的第二状态量。
6.根据权利要求5所述的方法,其特征在于,还包括:
对所述图约束关系式进行非线性优化处理,得到所述第一图像的优化后的第一状态量、优化后的所述其他第一状态量、优化后的所述其他第二状态量;
根据所述优化后的其他第一状态量更新所述第一集合中所述其他第一状态量,将所述第一图像的优化后的第一状态量加入所述第一集合,丢弃拍摄时间最早一帧图像的第一状态量;根据所述优化后的其他第二状态量更新所述第二集合中所述其他第二状态量,将所述第一图像的优化后的第二状态量加入所述第二集合,丢弃拍摄时间最早一帧图像的第二状态量。
7.根据权利要求1至3任一项所述的方法,其特征在于,所述确定所述第一图像的第一状态量和第二状态量之前,还包括:
确定所述第一图像是关键帧图像。
8.根据权利要求7所述的方法,其特征在于,所述确定所述第一图像是关键帧图像,包括:
确定所述第一图像的特征点和第二图像中与该特征点匹配的特征点之间的距离大于第一阈值;和/或,
确定所述摄像头在预设方向上的移动距离大于第二阈值;和/或,
确定所述摄像头在预设方向上的旋转角度大于第三阈值。
9.根据权利要求7所述的方法,其特征在于,还包括:
确定所述第一图像不是关键帧图像,根据所述第一图像的第二状态量计算所述第一图像对应的相机位姿。
10.一种电子设备,其特征在于,包括:
处理器,存储器;其中一个或多个计算机程序被存储在所述存储器中,所述一个或多个计算机程序包括指令,当所述指令被所述处理器执行时,使得所述电子设备执行权利要求1至9任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行权利要求1至9任一项所述的方法。
CN202311036573.5A 2023-08-16 2023-08-16 位姿测量方法和电子设备 Active CN117689711B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311036573.5A CN117689711B (zh) 2023-08-16 2023-08-16 位姿测量方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311036573.5A CN117689711B (zh) 2023-08-16 2023-08-16 位姿测量方法和电子设备

Publications (2)

Publication Number Publication Date
CN117689711A true CN117689711A (zh) 2024-03-12
CN117689711B CN117689711B (zh) 2024-10-29

Family

ID=90134046

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311036573.5A Active CN117689711B (zh) 2023-08-16 2023-08-16 位姿测量方法和电子设备

Country Status (1)

Country Link
CN (1) CN117689711B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109993113A (zh) * 2019-03-29 2019-07-09 东北大学 一种基于rgb-d和imu信息融合的位姿估计方法
CN110260861A (zh) * 2019-06-13 2019-09-20 北京华捷艾米科技有限公司 位姿确定方法及装置、里程计
WO2022066486A1 (en) * 2020-09-23 2022-03-31 Magic Leap, Inc. Joint camera and inertial measurement unit calibration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109993113A (zh) * 2019-03-29 2019-07-09 东北大学 一种基于rgb-d和imu信息融合的位姿估计方法
CN110260861A (zh) * 2019-06-13 2019-09-20 北京华捷艾米科技有限公司 位姿确定方法及装置、里程计
WO2022066486A1 (en) * 2020-09-23 2022-03-31 Magic Leap, Inc. Joint camera and inertial measurement unit calibration

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
彭滨等: "融合全局位姿信息的视觉惯性 SLAM 算法", 桂林电子科技大学学报, vol. 41, no. 2, 30 April 2021 (2021-04-30) *
彭滨等: "融合全局位姿信息的视觉惯性SLAM算法", 桂林电子科技大学学报, vol. 41, no. 2, 30 April 2021 (2021-04-30) *

Also Published As

Publication number Publication date
CN117689711B (zh) 2024-10-29

Similar Documents

Publication Publication Date Title
KR101856947B1 (ko) 촬영장치, 움직임 추정장치, 영상 보정 방법, 움직임 추정방법 및 컴퓨터 판독가능 기록매체
CN113132612B (zh) 一种图像稳像处理方法、终端拍摄方法、介质及系统
WO2023005355A1 (zh) 图像防抖方法与电子设备
CN114339102B (zh) 一种录像方法及设备
CN112087728B (zh) 获取Wi-Fi指纹空间分布的方法、装置和电子设备
CN115701125B (zh) 图像防抖方法与电子设备
WO2024001506A1 (zh) 显示方法与电子设备
CN114390188B (zh) 一种图像处理方法和电子设备
CN117689711B (zh) 位姿测量方法和电子设备
CN114390186B (zh) 视频拍摄方法及电子设备
WO2025064173A1 (en) Efficiently processing image data based on a region of interest
CN115908120B (zh) 图像处理方法和电子设备
US12301992B2 (en) Image blur degree determining method and related device thereof
CN115079854B (zh) 状态切换方法、装置、电子设备和存储介质
CN116012262A (zh) 一种图像处理方法、模型训练方法及电子设备
US11330166B2 (en) Method of automatically photographing an image, image processing device and image processing system performing the same
WO2019084933A1 (zh) 图像消抖方法、装置、终端及计算机可读存储介质
CN114125298A (zh) 视频生成方法及装置、电子设备及计算机可读存储介质
CN119213464A (zh) 具有手部预测的手势检测方法和系统
CN113873137A (zh) 一种视频处理方法及移动终端
CN118984423B (zh) 一种预览算法的帧率调整方法及电子设备
CN117115333B (zh) 一种结合imu数据的三维重建方法
CN115018928B (zh) 用于实现相机标定的方法、装置及电子设备
WO2022241701A1 (zh) 一种图像处理方法及装置
CN116576866B (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040

Patentee after: Honor Terminal Co.,Ltd.

Country or region after: China

Address before: 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong

Patentee before: Honor Device Co.,Ltd.

Country or region before: China