CN116448105A - 位姿更新方法、装置、电子设备和存储介质 - Google Patents
位姿更新方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN116448105A CN116448105A CN202310397223.5A CN202310397223A CN116448105A CN 116448105 A CN116448105 A CN 116448105A CN 202310397223 A CN202310397223 A CN 202310397223A CN 116448105 A CN116448105 A CN 116448105A
- Authority
- CN
- China
- Prior art keywords
- image
- coordinate system
- image acquisition
- feature point
- pose
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 230000033001 locomotion Effects 0.000 claims abstract description 108
- 238000005259 measurement Methods 0.000 claims abstract description 50
- 230000008569 process Effects 0.000 claims abstract description 8
- 239000013598 vector Substances 0.000 claims description 89
- 239000011159 matrix material Substances 0.000 claims description 52
- 238000004364 calculation method Methods 0.000 claims description 22
- 230000003068 static effect Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 12
- 239000004973 liquid crystal related substance Substances 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims 1
- 230000003190 augmentative effect Effects 0.000 abstract description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000013135 deep learning Methods 0.000 abstract description 2
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000013519 translation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1656—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C22/00—Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation 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
- G06V10/757—Matching configurations of points or features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/46—Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
Abstract
本公开提供了一种位姿更新方法,涉及人工智能技术领域,尤其涉及计算机视觉、增强现实、虚拟现实、深度学习技术领域。具体实现方案为:根据电子设备在运动过程中采集的图像序列以及惯性测量单元IMU数据,计算电子设备在图像序列中每个图像采集时刻的初始位姿;确定图像序列中每两个连续图像的特征点对集合;根据特征点对集合确定每两个连续图像之间的位姿误差;根据位姿误差将图像序列划分为多个图像子序列,多个图像子序列各自具有对应的运动状态;根据每个图像子序列的运动状态,更新图像子序列中每个图像采集时刻的电子设备的初始位姿。本公开还提供了一种位姿更新装置、电子设备和存储介质。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及计算机视觉、增强现实、虚拟现实、深度学习等技术领域。更具体地,本公开提供了一种位姿更新方法、装置、电子设备和存储介质。
背景技术
视觉惯性里程计(Visual-Inertial Odometry,VIO)是一种融合相机数据和惯性测量单元(Inertial Measurement Unit,IMU)数据计算设备在空间中位姿的算法,以其高效鲁棒的特性,被广泛应用于增强现实(Augmented Reality,AR)、自动驾驶等领域。
发明内容
本公开提供了一种位姿更新方法、装置、设备以及存储介质。
根据第一方面,提供了一种位姿更新方法,该方法包括:根据电子设备在运动过程中采集的图像序列以及惯性测量单元IMU数据,计算电子设备在图像序列中每个图像采集时刻的初始位姿;确定图像序列中每两个连续图像的特征点对集合;根据特征点对集合,确定每两个连续图像之间的位姿误差;根据位姿误差将图像序列划分为多个图像子序列,其中,多个图像子序列各自具有对应的运动状态;以及根据每个图像子序列的运动状态,更新图像子序列中每个图像采集时刻的电子设备的初始位姿。
根据第二方面,提供了一种位姿更新装置,该装置包括:位姿计算模块,用于根据电子设备在运动过程中采集的图像序列以及惯性测量单元IMU数据,计算电子设备在图像序列中每个图像采集时刻的初始位姿;特征点对确定模块,用于确定图像序列中每两个连续图像的特征点对集合;误差确定模块,用于根据特征点对集合,确定每两个连续图像之间的位姿误差;划分模块,用于根据位姿误差将图像序列划分为多个图像子序列,其中,多个图像子序列各自具有对应的运动状态;以及位姿更新模块,用于根据每个图像子序列的运动状态,更新图像子序列中每个图像采集时刻的电子设备的初始位姿。
根据第三方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行根据本公开提供的方法。
根据第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行根据本公开提供的方法。
根据第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序存储于可读存储介质和电子设备其中至少之一上,所述计算机程序在被处理器执行时实现根据本公开提供的方法。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1是根据本公开的一个实施例的可以应用位姿更新方法和装置的示例性系统架构示意图;
图2是根据本公开的一个实施例的位姿更新方法的流程图;
图3是根据本公开的一个实施例的计算特征点在空间中的三维位置的示意图;
图4是根据本公开的一个实施例的位姿更新方法的示意图;
图5是根据本公开的一个实施例的位姿更新装置的框图;
图6是根据本公开的一个实施例的位姿更新方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
VIO算法多基于贝叶斯估计类算法实现,以基于扩展卡尔曼滤波(ExtendedKalman Filter,EKF)的VIO算法为例,位姿估计可以包括预测阶段和更新阶段,在预测阶段基于IMU数据预测设备的初始位姿,在更新阶段基于相机获取的图像序列的视觉特征更新初始位姿,得到更新后的位姿,该更新后的位姿的精确度更高。
在基于视觉特征的更新阶段中,需要从图像序列中筛选出带有平移运动的连续图像帧作为关键帧,利用关键帧的视觉特征来计算特征点在空间中的三维位置,接下来计算特征点在图像平面上的重投影误差,利用重投影误差更新初始位姿。
但是,如果设备在连续图像帧对应的时段内处于静止状态或者纯旋转运动状态,则无法准确的计算特征点的三维位置,因此无法准确更新初始位姿,造成位姿估计误差较大,导致VIO估计的位姿出现严重漂移。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
图1是根据本公开一个实施例的可以应用位姿估计方法和装置的示例性系统架构示意图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括多个终端设备101、网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线和/或无线通信链路等等。
终端设备101可以为各种电子设备,包括但不限于智能手机、平板、AR设备(AR眼镜等)、自动驾驶车辆、机器人、无人机等。终端设备101可以包括相机和惯性测量单元IMU。在电子设备运动过程中,相机可以采集图像序列,惯性测量单元IMU可以产生测量数据。
终端设备101可以通过网络102将相机采集的图像序列以及惯性测量单元IMU的测量数据发送给服务器103。服务器103可以基于惯性测量单元IMU的测量数据预测终端设备101的初始位姿,并基于图像序列的视觉特征更新初始位姿。
本公开实施例所提供的位姿更新方法一般可以由服务器103执行。相应地,本公开实施例所提供的位姿更新装置一般可以设置于服务器103中。本公开实施例所提供的位姿更新方法也可以由不同于服务器103且能够与终端设备101和/或服务器103通信的服务器或服务器集群执行。相应地,本公开实施例所提供的位姿更新装置也可以设置于不同于服务器103且能够与终端设备101和/或服务器103通信的服务器或服务器集群中。
图2是根据本公开的一个实施例的位姿更新方法的流程图。
如图2所示,该位姿更新方法200包括操作S210~操作S250。
在操作S2 1 0,根据电子设备在运动过程中采集的图像序列以及惯性测量单元IMU数据,计算电子设备在图像序列中每个图像采集时刻的初始位姿。
电子设备可以是AR设备、手机、平板电脑等。电子设备中设置有相机和IMU装置,IMU装置包括陀螺仪和加速度计。电子设备在运动过程中,相机可以采集得到图像序列,IMU装置可以产生测量数据,测量数据例如包括陀螺仪测量到的角速率、加速度计测量到的加速度等。
可以将相机采集到的图像序列与IMU数据对齐,例如确定图像序列中每个图像的采集时刻,确定每个图像采集时刻对应的IMU的测量数据。利用IMU在每个图像采集时刻的测量数据,可以预测电子设备在每个图像采集时刻的初始位姿。
在操作S220,确定图像序列中每两个连续图像的特征点对集合。
对于图像序列中每两个连续图像即每相邻两个图像,可以确定特征点对集合。特征点对集合可以包括多个(例如N个,N为大于1的整数)特征点对,每个特征点对可以包括相互匹配的第一特征点和第二特征点,第一特征点可以是两个连续图像中的第一图像中的特征点,第二特征点可以是两个连续图像中的第二图像的特征点。相匹配的第一特征点和第二特征点表示空间(或世界坐标系)中的同一个点。
例如,对于图像序列,可以从第1帧图像提取特征点i(i为大于1小于N的整数),利用光流跟踪算法根据该特征点i在第1帧图像上的位置可以预测该特征点i在第2帧图像上的位置,再根据该特征点i在第2帧图像上的位置可以预测该特征点i在第3帧图像上的位置,…以此类推,直至得到该特征点i在最后一帧图像上的位置。第1帧图像上的该特征点i(第一特征点)和第2帧图像上的该特征点i(第二特征点)组成第1帧图像和第2帧图像的特征点对i,第2帧图像上的该特征点i和第3帧图像上的该特征点i组成第2帧图像和第3帧图像的特征点对i,…以此类推。对于每两个连续图像,可以包括特征点对1、……、特征点对i、……特征点对N,组成特征点对集合。
需要说明的是,利用光流跟踪算法可能会出现特征点逐渐减少的情况,例如在当前帧图像预测不到上一帧图像中的部分特征点。为避免特征点逐渐减少的情况,可以通过特征提取补充新的特征点,例如在第2帧图像中提取新的特征点,预测该新的特征点在第3帧图像的位置,等等。
在操作S230,根据特征点对集合,确定每两个连续图像之间的位姿误差。
位姿误差可以包括位置误差和姿态误差。根据特征点对中第一特征点和第二特征点之间的位置误差,可以确定特征点对的位置误差,根据特征点对集合中多个特征点对的位置误差,可以确定两个连续图像之间的位置误差。根据特征点对中第一特征点和第二特征点之间的姿态误差,可以确定特征点对的姿态误差,根据特征点对集合中的多个特征点对的姿态误差,可以确定两个连续图像之间的姿态误差。
例如,两个连续图像中,特征点i在第一图像中的位置(即第一特征点的位置)记为特征点i在第二图像中的位置(即第二特征点的位置)记为/>根据第一特征点和第二特征点各自的位置可以计算位置误差。
例如,计算第一特征点在第一图像采集时刻的相机坐标系中的第一单位方向向量/>计算第二特征点/>在第二图像采集时刻的相机坐标系中的第二单位方向向量/>根据第一单位方向向量/>和第二单位方向向量/>可以计算第一图像和第二图像之间的姿态误差。例如,将第一单位方向向量重投影到第二图像采集时刻的相机坐标系中,得到重投影向量,根据第二单位方向向量和重投影向量,可以确定姿态误差。
在操作S240,根据位姿误差将图像序列划分为多个图像子序列。
其中,多个图像子序列各自具有对应的运动状态,每个图像子序列的运动状态可以为静止状态、纯旋转运动状态和常规运动状态中的之一。其中常规运动包括平移运动和旋转运动。
两个相邻图像之间的位姿误差可以表征两个相邻图像中第二图像相对于第一图像的运动状态。例如,如果两个相邻图像之间的位置误差小于第一阈值(例如0.5cm),可以确定第二图像相对于第一图像是静止状态。如果两个相邻图像之间的位置误差大于等于第一阈值(例如0.5cm),并且姿态误差小于第二阈值(例如小于5°)可以确定第二图像相对于第一图像是纯旋转运动状态。如果两个相邻图像之间的位置误差大于等于第一阈值(例如0.5cm),并且姿态误差大于等于第二阈值(例如小于5°)可以确定第二图像相对于第一图像是常规运动状态。
因此,根据每两个连续图像中第二图像相对于第一图像的运动状态,可以将图像序列划分为多个图像子序列,每个图像子序列的运动状态为静止状态、纯旋转运动状态和常规运动状态中的之一。例如,将每两个连续图像之间的位置误差均小于第一阈值的图像子序列确定为静止状态的图像子序列。将每两个连续图像之间的位置误差均大于等于第一阈值,且姿态误差均小于第二阈值的图像子序列确定为纯旋转运动状态的图像子序列。将每两个连续图像之间的位置误差均大于等于第一阈值,且姿态误差均大于等于第二阈值的图像子序列确定为常规运动状态的图像子序列。
例如,图像序列包括100帧图像,通过划分可以得到前20帧图像组成的子序列为纯旋转运动状态、第20-90帧图像组成的子序列为正常运动,第90-100帧图像组成的子序列为静止状态。
在操作S250,根据每个图像子序列的运动状态,更新图像子序列中每个图像采集时刻的电子设备的初始位姿。
在将图像序列按照运动状态进行划分后,针对不同运动状态的子序列,可以采取对应的位姿更新方法。
根据本公开的实施例,针对静止状态的图像子序列,根据惯性测量单元IMU数据更新图像子序列中各图像采集时刻的初始位姿。针对纯旋转运动状态的图像子序列,根据特征点对更新图像子序列中各图像采集时刻的初始位姿。针对常规运动状态的图像子序列,根据特征点对更新图像子序列中各图像采集时刻的初始位姿。
例如,针对静止状态的图像子序列,由于图像之间没有平移运动,无法计算特征点的三维位置,不能根据特征点在图像平面上的重投影误差进行位姿更新。因此,本实施例利用IMU的陀螺仪和加速度计的测量值来计算实际值,使实际值接近于0作为约束,来更新初始位姿。
针对纯旋转运动状态的图像子序列,由于图像之间没有平移运动,无法计算特征点的三维位置,不能根据特征点在图像平面上的重投影误差进行位姿更新。因此,本实施例计算特征点在相机坐标系中的单位方向向量,使单位方向向量的重投影误差接近于0作为约束,来更新初始位姿。
针对常规运动状态的图像子序列,可以计算特征点的三维位置,因此,可以利用特征点的三维位置在图像平面上的重投影误差进行位姿更新。
本公开的实施例对图像序列按照运动状态进行划分,划分出的图像子序列的运动状态为静止、纯旋转、正常运动中的之一,针对不同运动状态的子序列使用对应的位姿更新方法,使得各个运动状态下的位姿均能得到准确更新,从而提高电子设备的位姿估计的精确度。
根据本公开的实施例,针对每个特征点对,根据第一特征点在第一图像中的位置以及第二特征点在第二图像中的位置,计算第一特征点和第二特征点之间的位置误差。
例如,两个连续图像中,特征点i在第一图像中的位置(即第一特征点的位置)记为特征点i在第二图像中的位置(即第二特征点的位置)记为/>可以根据如下公式(1)第一特征点和第二特征点之间的位置误差。
接下来,计算N个特征点对的位置误差的平均值davg,即计算d1,d2,...,di,...dN的平均值davg,该平均值davg可以作为两个连续图像之间的位置误差。
根据本公开的实施例,针对每个特征点对,根据第一特征点在第一图像中的位置,计算第一特征点在第一图像采集时刻的相机坐标系中的第一单位方向向量;根据第二特征点在第二图像中的位置,计算第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量;以及根据第一单位方向向量以及第二单位方向向量,计算第一特征点和第二特征点之间的姿态误差。
例如,相机的内参矩阵为K,其中,fx、fy表示换算到像素平面上的焦距。cx、cy表示主点坐标,主点为相机光心发出的射线与成像平面的交点。
可以通过以下公式(2)~(3)计算第一特征点在第一图像采集时刻的相机坐标系中的第一单位方向向量/>
公式(2)表示将第一特征点投影到第一图像采集时刻的相机坐标系中,得到向量该向量/>以第一图像采集时刻的相机光心为起点,连接第一特征点在第一图像中的位置。公式(3)表示对/>进行归一化处理,得到第一单位方向向量/>
类似地,可以计算得到第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量/>
根据本公开的实施例,根据第一单位方向向量以及第二单位方向向量,计算第一特征点和第二特征点之间的姿态误差包括:根据惯性测量单元IMU从第一图像采集时刻到第二图像采集时刻的测量数据,确定第一图像采集时刻的相机坐标系与第二图像采集时刻的相机坐标系之间的旋转矩阵;根据第一图像采集时刻的相机坐标系与第二图像采集时刻的相机坐标系之间的旋转矩阵,将第一单位方向向量重投影到第二图像采集时刻的相机坐标系中,得到重投影向量;以及根据第二单位方向向量和重投影向量,确定第一特征点和第二特征点之间的姿态误差。
IMU从第一图像采集时刻到第二图像采集时刻的测量数据可以包括由陀螺仪测量到的角速率,对该角速率进行积分,可以得到第一图像采集时刻的相机坐标系与第二图像采集时刻的相机坐标系之间的旋转矩阵R21。
利用旋转矩阵R21,可以通过如下公式(4)将第一单位方向向量重投影到第二图像采集时刻的相机坐标系中,得到重投影向量/>
接下来,可以通过以下公式(5)计算第二图像采集时刻的相机坐标系中的第二单位方向向量和重投影向量/>之间的夹角,作为特征点和第二特征点之间的姿态误差(也可以称为旋转误差角),记为θi。
其中,<>表示两个向量的内积。
针对每个特征点对均可以得到姿态误差θi,可以计算N个特征点对的姿态误差的平均值θavg,即计算θ1,θ2,...,θi,...θN的平均值θavg,该平均值θavg可以作为两个连续图像之间的姿态误差。
根据两个相邻图像之间的位置误差davg和姿态误差θavg,可以将图像序列划分为多个图像子序列,每个图像子序列的运动状态为静止状态、纯旋转运动状态和常规运动状态中的之一。
下面对每种运动状态下的位姿更新方法进行说明。首先对EKF维护的姿态变量进行说明。
基于扩展卡尔曼滤波EKF的VIO算法中,EKF会维护一个位姿变量序列xekf,其中,ximu=[qIG,bg,vGI,ba,tGI]。位姿更新等同于更新姿态变量序列xekf。
Ximu表示当前时刻的位姿变量,1~M表示历史M帧图像,M为大于1的整数,第M帧图像的采集时刻与当前时刻最接近。
qIG表示当前时刻IMU坐标系在世界坐标系中的姿态,vGI表示当前时刻IMU坐标系在世界坐标系中的速度,tGI表示当前时刻IMU坐标系在世界坐标系中的位置,bg,ba分别表示当前时刻陀螺仪和加速度计的偏置。
同时,EKF的姿态变量包含历史M帧图像的位姿:表示第K帧图像采集时刻的IMU坐标系在世界坐标系中的姿态,/>表示第k帧图像采集时刻的IMU坐标系在世界坐标系中的位置。
IMU坐标系到相机坐标系的旋转矩阵和平移向量分别为RCI,tCI,该RCI和tCI为已知量。
下面对静止状态下的位姿更新进行说明。
针对静止状态的图像子序列,利用IMU的陀螺仪和加速度计的测量值来计算实际值,使实际值接近于0作为约束,来更新初始位姿。
当前时刻的位姿变量ximu的更新也可以按照静止状态下的位姿变量的更新。因此,当前时刻需要更新的变量包括IMU中的螺旋仪在当前时刻的初始偏置bg、IMU中的加速度计在当前时刻的初始偏置ba以及当前时刻的IMU坐标系在世界坐标系中的初始姿态qIG。
首先在预测阶段,根据以下公式(6)~(7)计算陀螺仪测量值和加速度计测量值。
分别表示τ时刻加速度计和陀螺仪的测量值,/>分别表示τ时刻加速度计和陀螺仪的实际值,baτ,bgτ分别表示τ时刻加速度计和陀螺仪的偏置,na,ng分别τ时刻加速度计和陀螺仪的高斯噪声。/>为τ时刻世界坐标系与IMU坐标系之间的旋转矩阵。Gg表示世界坐标系中的重力,Gg为已知量。
在τ时刻为当前时刻时,baτ=ba,bgτ=bg,R{qIG}是通过qIG转换得到。
针对静止状态下的位姿变量的更新,设计残差项为使陀螺仪和加速度计的实际值接近于0(忽略噪声)。根据公式(6)~(7),可以确定当前时刻陀螺仪和加速度计的实际值可以用如下公式(8)~(9)表示。
egyr=mgyr-bg (8)
eacc=macc-ba-R{qIG}·Gg (9)
egyr表示当前时刻陀螺仪的实际值,eacc表示当前时刻加速度计的实际值。使egyr和eacc接近于0,可以直接约束位姿变量中的bg,ba,qIG。
以上为当前时刻静止状态下的位姿更新,如果要更新历史时刻静止状态的姿态变量(例如),可以引入历史静止时刻预测的bg,ba,采用类似的方式进行更新。
本公开实施例针对静止状态的图像子序列,利用IMU的陀螺仪和加速度计的测量值来计算实际值,使实际值接近于0作为约束,来更新初始位姿,能够实现静止状态下的图像采集时刻的位姿更新,提高位姿估计的精确度。
针对纯旋转运动状态的图像子序列和针对常规运动状态的图像子序列,均是利用特征点对的视觉特征进行初始位姿的更新的。特征点对可以包括第一特征点和第二特征点,第一特征点位于两个连续图像中的第一图像(例如第k帧图像),第二特征点位于两个连续图像中的第二图像(例如第k+1帧图像)。
针对纯旋转状态的图像子序列,可以计算第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量,计算第二单位方向向量在第一图像中的第一重投影点,根据第一图像中的第一重投影点与第一图像中的第一特征点之间的差异,来更新第一图像采集时刻的初始位姿和第二图像采集时刻的初始姿态。或者,也可以计算第一特征点在第一图像采集时刻的相机坐标系中的第一单位方向向量,计算第一单位方向向量在第二图像中的第一重投影点,根据第二图像中的第一重投影点与第二图像中的第二特征点之间的差异,来更新第一图像采集时刻的初始位姿和第二图像采集时刻的初始姿态。
针对常规运动状态的图像子序列,可以计算第一特征点在空间(即世界坐标系)中的三维位置,计算该三维位置在第一图像中的第二重投影点,根据第一图像中的第二重投影点与第一图像中的第一特征点之间的差异,来更新第一图像采集时刻的初始位姿和第二图像采集时刻的初始位姿。或者,也可以计算第二特征点在空间(即世界坐标系)中的三维位置,计算该三维位置在第二图像中的第二重投影点,根据第二图像中的第二重投影点与第二图像中的第二特征点之间的差异,来更新第一图像采集时刻的初始位姿和第二图像采集时刻的初始位姿。
下面对纯旋转运动状态下的位姿更新进行说明。
针对纯旋转运动状态的图像子序列,以计算第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量为例,将第二单位方向向量投影到第一图像上,得到第一重投影点,可以使第一特征点和第一重投影点之间的第一重投影误差接近于0作为约束,来更新初始位姿。
由于纯旋转运动,电子设备不发生平移。因此,纯旋转运动状态下历史时刻的位姿变量包括纯旋转运动状态下位姿的更新包括更新/>
相机的内参矩阵为K,特征点i在第k帧图像上的位置为/>(第一特征点),特征点i在第k+1帧图像上的位置为/>(第二特征点),根据上述公式(1)~(2)可以计算特征点i在第k帧图像采集时刻的相机坐标系中的第一单位方向向量/>以及特征点i在第k+1帧图像采集时刻的相机坐标系中的第二单位方向向量/>
可以根据以下公式(10)~(11)计算第k帧图像采集时刻的世界坐标系与相机坐标系之间的旋转矩阵以及第k+1帧图像采集时刻的世界坐标系与相机坐标系之间的旋转矩阵/>
RCI表示IMU坐标系与相机坐标系之间的旋转矩阵,表示第k帧图像采集时刻的世界坐标系与IMU坐标系之间的旋转矩阵,/>是根据/>转换得到的,/>表示第k帧图像采集时刻的IMU坐标系在世界坐标系中的初始姿态。/>表示第k+1帧图像采集时刻的世界坐标系与IMU坐标系之间的旋转矩阵,/>是根据/>转换得到的,/>表示第k+1帧图像采集时刻的IMU坐标系在世界坐标系中的初始姿态。
针对纯旋转状态下的位姿变量的更新,设计残差项为特征点在第k+1帧图像采集时刻的相机坐标系下的第二单位方向向量,转到第k帧图像采集时刻的相机坐标系中后在第k帧图像上的投影点(第一重投影点),与原始测量值/>(第一特征点)之间的距离,作为第一重投影误差。该原始测量值/>即特征点i在第k帧图像上的位置。
以在第k帧图像上的投影为例,可以根据如下公式(12)~(14),计算第一重投影误差。
ere-pro表示第一重投影误差,为特征点i在第k+1帧图像采集时刻的相机坐标系下的第二单位方向向量,/>为特征点i在第k帧图像采集时刻的世界坐标系下的三维坐标,将该三维坐标投影到第k帧图像上,得到第一重投点影坐标计算特征点i在第k帧图像上的位置坐标/>和第一重投影坐标/>之间的距离,得到第一重投影误差。
使第一重投影误差为0,可以更新位姿变量中的
本实施例针对纯旋转运动状态的图像子序列,计算特征点在相机坐标系中的单位方向向量,利用单位方向向量在图像平面的重投影误差来更新初始位姿,能够实现纯旋转运动状态下的图像采集时刻的位姿更新,提高位姿估计的精确度。
下面对常规运动状态下的位姿更新进行说明。
针对常规运动状态的图像子序列,以计算第一特征点在空间中的三维坐标为例,将第一特征点在空间中的三维坐标投影到第一图像中,得到第二重投影点,可以使第一特征点和第二重投影点之间的重投影误差接近于0作为约束,来更新初始位姿。
由于常规运动状态下,电子设备同时发生平移和旋转。因此,常规运动状态下历史时刻的位姿变量包括常规运动状态下位姿的更新包括更新
可以通过如下公式(15)~(17)计算第k帧图像采集时刻的世界坐标系在相机坐标系中的位姿
表示第k帧图像采集时刻的世界坐标系在相机坐标系中的姿态,/>表示第k帧图像采集时刻的世界坐标系在相机坐标系中的位置。
可以通过如下公式(18)~(20)计算第k+1帧图像采集时刻的世界坐标系在相机坐标系中的位姿
表示第k+1帧图像采集时刻的世界坐标系在相机坐标系中的姿态,/>表示第k+1帧图像采集时刻的世界坐标系在相机坐标系中的位置。
相机的内参矩阵为K,特征点i在第k帧图像上的位置为/>(第一特征点),特征点i在第k+1帧图像上的位置为/>(第二特征点)。
由相机的内参矩阵和位姿矩阵可以计算相机的投影矩阵,投影矩阵用于将三维空间中的特征点投影到图像中。可以通过如下公式(21)~(22)计算第k帧图像采集时刻的投影矩阵Pk和第k+1帧图像采集时刻的投影矩阵Pk+1。
K为相机的内参矩阵,为第k帧图像采集时刻的世界坐标系在相机坐标系中的位姿矩阵,/>为第k+1帧图像采集时刻的世界坐标系在相机坐标系中的位姿矩阵。
根据投影矩阵构造如下公式(23)表示的齐次方程组。
表示投影矩阵Pk的第1~3行元素,/>表示投影矩阵Pk+1的第1~3行元素。
通过对齐次方程组进行求解,可以得到特征点i在世界坐标系中的位置GPi。
接下来,将特征点i在世界坐标系中的位置GPi重投影到图像中,计算第二重投影误差。以在第k帧图像上的投影为例,可以根据如下公式(24)~(26),计算第二重投影误差。
ere-pro表示第二重投影误差,GPi表示特征点i在空间中的位置(三维坐标),为特征点i在第k帧图像采集时刻的世界坐标系下的三维坐标,将该三维坐标投影到第k帧图像上,得到第二重投点影坐标/>计算特征点i在第k帧图像上的位置坐标/>和第一重投影坐标/>之间的距离,得到第二重投影误差。
使第一重投影误差为0,可以更新位姿变量中的
图3是根据本公开的一个实施例的计算特征点在空间中的三维位置的示意图。
如图3所示,两个连续图像包括第一图像和第二图像,特征点i在第一图像上的位置为(第一特征点),特征点i在第二图像上的位置为/>(第二特征点)。
根据上述公式(2)~(3)可以计算特征点i在第一图像采集时刻的相机坐标系中的第一单位方向向量以及特征点i在第二图像采集时刻的相机坐标系中的第二单位方向向量/>
根据上述公式(21)~(23),可以计算特征点i在空间中的三维位置GPi。
本实施例针对常规运动状态的图像子序列,计算特征点的三维位置,利用特征点的三维位置在图像平面上的重投影误差进行位姿更新,能够实现常规运动状态下的图像采集时刻的位姿更新,提高位姿估计的精确度。
图4是根据本公开的一个实施例的位姿更新方法的示意图。
图像序列例如包括历史M(M为大于1的整数,例如M=100)帧图像,根据上述公式(1)~(5),可以计算M帧图像中每两个连续图像之间的位置误差和姿态误差,根据两个相邻图像之间的位置误差和姿态误差,可以将图像序列划分为多个图像子序列,每个图像子序列的运动状态为静止状态、纯旋转运动状态和常规运动状态中的之一。
例如,图像序列被划分为第一图像子序列、第二图像子序列和第三图像子序列,第一图像子序列的运动状态为静止状态,第二图像子序列的运动状态为纯旋转运动状态,第三图像子序列的运动状态为常规运动状态。
针对第一图像子序列,可以根据IMU数据更新子序列中各图像采集时刻的初始位姿,具体参见公式(8)~(9),这里不再赘述。
针对第二图像子序列,可以根据特征点在相机坐标系中的单位方向向量更新子序列中各图像采集时刻的初始位姿,具体参见公式(10)~(14),这里不再赘述。
针对第三图像子序列,可以根据特征点在空间中的三维位置更新子序列中各图像采集时刻的初始位姿,具体参见公式(15)~(26),这里不再赘述。
本实施针对历史M个图像采集时刻,按照静止状态、纯旋转运动状态和常规运动状态各自对应的位姿更新方法更新对应时刻的初始位姿,能够使得各个图像采集时刻的初始位姿均能够得到准确更新,相比于相关技术中仅利用带有平移运动的图像帧更新平移状态时刻的初始位姿的方式,能够提高位姿精度。
图5是根据本公开的一个实施例的位姿更新装置的框图。
如图5所示,该位姿更新装置500包括位姿计算模块501、特征点对确定模块502、误差确定模块503、划分模块504和位姿更新模块505。
位姿计算模块501用于根据电子设备在运动过程中采集的图像序列以及惯性测量单元IMU数据,计算电子设备在图像序列中每个图像采集时刻的初始位姿。
特征点对确定模块502用于确定图像序列中每两个连续图像的特征点对集合。
误差确定模块503用于根据特征点对集合,确定每两个连续图像之间的位姿误差。
划分模块504用于根据位姿误差将图像序列划分为多个图像子序列,其中,多个图像子序列各自具有对应的运动状态。
位姿更新模块505用于根据每个图像子序列的运动状态,更新图像子序列中每个图像采集时刻的电子设备的初始位姿。
根据本公开的实施例,特征点对包括第一特征点和第二特征点,第一特征点位于两个连续图像中的第一图像,第二特征点位于两个连续图像中的第二图像;位姿误差包括位置误差和姿态误差;误差确定模块503包括特征点对误差计算单元、位置误差计算单元和姿态误差计算单元。
特征点对误差计算单元用于针对每个特征点对,计算特征点对中第一特征点和第二特征点之间的位置误差和姿态误差,作为特征点对的位置误差和姿态误差。
位置误差计算单元用于根据特征点对集合中多个特征点对各自的位置误差,确定第一图像和第二图像之间的位置误差。
姿态误差计算单元,用于根据特征点对集合中多个特征点对各自的姿态误差,确定第一图像和第二图像之间的姿态误差。
特征点对误差计算单元包括位置误差计算子单元。
位置误差计算子单元用于根据第一特征点在第一图像中的位置以及第二特征点在第二图像中的位置,计算第一特征点和第二特征点之间的位置误差。
特征点对误差计算单元包括第一单位方向向量确定子单元、第二单位方向向量确定子单元和姿态误差计算子单元。
第一单位方向向量确定子单元用于根据第一特征点在第一图像中的位置,计算第一特征点在第一图像采集时刻的相机坐标系中的第一单位方向向量。
第二单位方向向量确定子单元用于根据第二特征点在第二图像中的位置,计算第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量。
姿态误差计算子单元用于根据第一单位方向向量以及第二单位方向向量,计算第一特征点和第二特征点之间的姿态误差。
姿态误差计算子单元用于根据惯性测量单元IMU从第一图像采集时刻到第二图像采集时刻的测量数据,确定第一图像采集时刻的相机坐标系与第二图像采集时刻的相机坐标系之间的旋转矩阵;根据第一图像采集时刻的相机坐标系与第二图像采集时刻的相机坐标系之间的旋转矩阵,将第一单位方向向量重投影到第二图像采集时刻的相机坐标系中,得到重投影向量;以及根据第二单位方向向量和重投影向量,确定第一特征点和第二特征点之间的姿态误差。
划分模块504包括第一划分单元、第二划分单元和第三划分单元。
第一划分单元用于将每两个连续图像之间的位置误差均小于第一阈值的图像子序列确定为静止状态的图像子序列。
第二划分单元用于将每两个连续图像之间的位置误差均大于等于第一阈值,且姿态误差均小于第二阈值的图像子序列确定为纯旋转运动状态的图像子序列。
第三划分单元用于将每两个连续图像之间的位置误差均大于等于第一阈值,且姿态误差均大于等于第二阈值的图像子序列确定为常规运动状态的图像子序列。
根据本公开的实施例,每个图像子序列的运动状态为静止状态、纯旋转运动状态和常规运动状态中的之一。位姿更新模块505包括第一位姿更新单元、第二位姿更新单元和第三位姿更新单元。
第一位姿更新单元用于针对静止状态的图像子序列,根据惯性测量单元IMU数据更新图像子序列中各图像采集时刻的初始位姿。
第二位姿更新单元用于针对纯旋转运动状态的图像子序列,根据特征点对更新图像子序列中各图像采集时刻的初始位姿。
第三位姿更新单元用于针对常规运动状态的图像子序列,根据特征点对更新图像子序列中各图像采集时刻的初始位姿。
根据本公开的实施例,初始位姿包括惯性测量单元IMU中的螺旋仪在各图像采集时刻的初始偏置、惯性测量单元IMU中的加速度计在各图像采集时刻的初始偏置以及各图像采集时刻的IMU坐标系在世界坐标系中的初始姿态;第一位姿更新单元包括陀螺仪数据确定子单元、加速度计数据确定子单元和第一位姿更新子单元。
陀螺仪数据确定子单元用于根据惯性测量单元IMU中的螺旋仪在各图像采集时刻的测量值和初始偏置,计算螺旋仪在各图像采集时刻的实际值。
加速度计数据确定子单元用于根据惯性测量单元IMU中的加速度计在各图像采集时刻的测量值、初始偏置和各图像采集时刻的IMU坐标系在世界坐标系中的初始姿态,计算加速度计在各图像采集时刻的实际值。
第一位姿更新子单元用于以螺旋仪在各图像采集时刻的实际值以及加速度计在各图像采集时刻的实际值均为预设数值作为约束,更新陀螺仪在各图像采集时刻的初始偏置、加速度计在各图像采集时刻的初始偏置以及各图像采集时刻的IMU坐标系在世界坐标系中的初始姿态。
根据本公开的实施例,特征点对包括第一特征点和第二特征点,第一特征点位于两个连续图像中的第一图像,第二特征点位于两个连续图像中的第二图像。
第二位姿更新单元用于根据所述第一特征点、以及所述第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量,更新所述图像子序列中各图像采集时刻的初始位姿。
第三位姿更新单元用于根据所述第一特征点在世界坐标系中的位置,更新所述图像子序列中各图像采集时刻的初始位姿。
根据本公开的实施例,初始位姿包括第一图像采集时刻的IMU坐标系在世界坐标系中的初始姿态以及第二图像采集时刻的IMU坐标系在世界坐标系中的初始姿态;第二位姿更新单元包括第二单位方向向量确定子单元、旋转矩阵确定子单元、第一重投影子单元、第一重投影误差确定子单元和第二位姿更新子单元。
第二单位方向向量确定子单元用于根据第二特征点在第二图像中的位置,计算第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量。
旋转矩阵确定子单元用于根据第一图像采集时刻的IMU坐标系在世界坐标系中的初始姿态、第二图像采集时刻的IMU坐标系在世界坐标系中的初始姿态以及IMU坐标系与相机坐标系之间的旋转矩阵,确定第一图像采集时刻的世界坐标系与相机坐标系之间的旋转矩阵以及第二图像采集时刻的世界坐标系与相机坐标系之间的旋转矩阵。
第一重投影子单元用于根据第一图像采集时刻的世界坐标系与相机坐标系之间的旋转矩阵、第二图像采集时刻的世界坐标系与相机坐标系之间的旋转矩阵,将第二单位方向向量重投影到第一图像中,得到第一重投影点。
第一重投影误差确定子单元用于根据第一特征点和第一重投影点,计算第一重投影误差。
第二位姿更新子单元用于根据第一重投影误差,更新第一图像采集时刻的IMU坐标系在世界坐标系中的初始姿态以及第二图像采集时刻的IMU坐标系在世界坐标系中的初始姿态。
根据本公开的实施例,初始位姿包括第一图像采集时刻的IMU坐标系在世界坐标系中的初始位姿以及第二图像采集时刻的IMU坐标系在世界坐标系中的初始位姿;第三位姿更新单元包括三维位置确定子单元、第二重投影子单元、第二重投影误差确定子单元和第三位姿更新子单元。
三维位置确定子单元用于根据第一图像采集时刻的IMU坐标系在世界坐标系中的初始位姿、第二图像采集时刻的IMU坐标系在世界坐标系中的初始位姿、第一特征点在第一图像中的位置以及第二特征点在第二图像中的位置,确定第一特征点在世界坐标系中的位置。
第二重投影子单元用于根据第一图像采集时刻的IMU坐标系在世界坐标系中的初始位姿以及IMU坐标系与相机坐标系之间的旋转矩阵,将第一特征点在世界坐标系中的位置重投影到第一图像中,得到第二重投影点。
第二重投影误差确定子单元用于根据第一特征点和第二重投影点,计算第二重投影误差。
第三位姿更新子单元用于根据第二重投影误差,更新第一图像采集时刻的IMU坐标系在世界坐标系中的初始位姿以及第二图像采集时刻的IMU坐标系在世界坐标系中的初始位姿。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图6示出了可以用来实施本公开的实施例的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(ROM)602中的计算机程序或者从存储单元608加载到随机访问存储器(RAM)603中的计算机程序,来执行各种适当的动作和处理。在RAM 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
设备600中的多个部件连接至I/O接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如位姿更新方法。例如,在一些实施例中,位姿更新方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到RAM 603并由计算单元601执行时,可以执行上文描述的位姿更新方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行位姿更新方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (25)
1.一种位姿更新方法,包括:
根据电子设备在运动过程中采集的图像序列以及惯性测量单元IMU数据,计算所述电子设备在所述图像序列中每个图像采集时刻的初始位姿;
确定图像序列中每两个连续图像的特征点对集合;
根据所述特征点对集合,确定所述每两个连续图像之间的位姿误差;
根据所述位姿误差将所述图像序列划分为多个图像子序列,其中,所述多个图像子序列各自具有对应的运动状态;以及
根据每个图像子序列的运动状态,更新所述图像子序列中每个图像采集时刻的所述电子设备的初始位姿。
2.根据权利要求1所述的方法,其中,所述特征点对包括第一特征点和第二特征点,所述第一特征点位于所述两个连续图像中的第一图像,所述第二特征点位于所述两个连续图像中的第二图像;所述位姿误差包括位置误差和姿态误差;所述根据所述特征点对集合,确定所述每两个连续图像之间的位姿误差包括:
针对每个特征点对,计算所述特征点对中第一特征点和第二特征点之间的位置误差和姿态误差,作为所述特征点对的位置误差和姿态误差;
根据所述特征点对集合中多个特征点对各自的位置误差,确定所述第一图像和所述第二图像之间的位置误差;以及
根据所述特征点对集合中多个特征点对各自的姿态误差,确定所述第一图像和所述第二图像之间的姿态误差。
3.根据权利要求2所述的方法,其中,所述针对每个特征点对,计算所述特征点对中第一特征点和第二特征点之间的位置误差和姿态误差,作为所述特征点对的位置误差和姿态误差包括:针对每个特征点对,
根据所述第一特征点在所述第一图像中的位置以及所述第二特征点在所述第二图像中的位置,计算所述第一特征点和第二特征点之间的位置误差。
4.根据权利要求2所述的方法,其中,所述针对每个特征点对,计算所述特征点对中第一特征点和第二特征点之间的位置误差和姿态误差,作为所述特征点对的位置误差和姿态误差包括:针对每个特征点对,
根据所述第一特征点在所述第一图像中的位置,计算所述第一特征点在第一图像采集时刻的相机坐标系中的第一单位方向向量;
根据所述第二特征点在所述第二图像中的位置,计算所述第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量;以及
根据所述第一单位方向向量以及所述第二单位方向向量,计算所述第一特征点和第二特征点之间的姿态误差。
5.根据权利要求4所述的方法,其中,所述根据所述第一单位方向向量以及所述第二单位方向向量,计算所述第一特征点和第二特征点之间的姿态误差包括:
根据惯性测量单元IMU从所述第一图像采集时刻到所述第二图像采集时刻的测量数据,确定所述第一图像采集时刻的相机坐标系与所述第二图像采集时刻的相机坐标系之间的旋转矩阵;
根据所述第一图像采集时刻的相机坐标系与所述第二图像采集时刻的相机坐标系之间的旋转矩阵,将所述第一单位方向向量重投影到第二图像采集时刻的相机坐标系中,得到重投影向量;以及
根据所述第二单位方向向量和所述重投影向量,确定所述第一特征点和第二特征点之间的姿态误差。
6.根据权利要求2至5中任一项所述的方法,其中,所述根据所述位姿误差将所述图像序列划分为多个图像子序列包括:
将每两个连续图像之间的位置误差均小于第一阈值的图像子序列确定为静止状态的图像子序列;
将每两个连续图像之间的位置误差均大于等于所述第一阈值,且姿态误差均小于第二阈值的图像子序列确定为纯旋转运动状态的图像子序列;以及
将每两个连续图像之间的位置误差均大于等于所述第一阈值,且姿态误差均大于等于所述第二阈值的图像子序列确定为常规运动状态的图像子序列。
7.根据权利要求1所述的方法,其中,每个图像子序列的运动状态为静止状态、纯旋转运动状态和常规运动状态中的之一;所述根据每个图像子序列的运动状态,更新所述图像子序列中每个图像采集时刻的所述电子设备的初始位姿包括:
针对静止状态的图像子序列,根据所述惯性测量单元IMU数据更新所述图像子序列中各图像采集时刻的初始位姿;
针对纯旋转运动状态的图像子序列,根据所述特征点对更新所述图像子序列中各图像采集时刻的初始位姿;以及
针对常规运动状态的图像子序列,根据所述特征点对更新所述图像子序列中各图像采集时刻的初始位姿。
8.根据权利要求7所述的方法,其中,所述初始位姿包括惯性测量单元IMU中的螺旋仪在各图像采集时刻的初始偏置、所述惯性测量单元IMU中的加速度计在各图像采集时刻的初始偏置以及各图像采集时刻的IMU坐标系在世界坐标系中的初始姿态;所述针对静止状态的图像子序列,根据所述惯性测量单元IMU数据更新所述图像子序列中各图像采集时刻的初始位姿包括:
根据所述惯性测量单元IMU中的螺旋仪在各图像采集时刻的测量值和初始偏置,计算所述螺旋仪在各图像采集时刻的实际值;
根据所述惯性测量单元IMU中的加速度计在各图像采集时刻的测量值、初始偏置和所述各图像采集时刻的IMU坐标系在世界坐标系中的初始姿态,计算所述加速度计在各图像采集时刻的实际值;以及
以所述螺旋仪在各图像采集时刻的实际值以及所述加速度计在各图像采集时刻的实际值均为预设数值作为约束,更新所述陀螺仪在各图像采集时刻的初始偏置、所述加速度计在各图像采集时刻的初始偏置以及所述各图像采集时刻的IMU坐标系在世界坐标系中的初始姿态。
9.根据权利要求7所述的方法,其中,所述特征点对包括第一特征点和第二特征点,所述第一特征点位于所述两个连续图像中的第一图像,所述第二特征点位于所述两个连续图像中的第二图像;
所述针对纯旋转运动状态的图像子序列,根据所述特征点对更新所述图像子序列中各图像采集时刻的初始位姿包括:
根据所述第一特征点、以及所述第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量,更新所述图像子序列中各图像采集时刻的初始位姿;
所述针对常规运动状态的图像子序列,根据所述特征点对更新所述图像子序列中各图像采集时刻的初始位姿包括:
根据所述第一特征点在世界坐标系中的位置,更新所述图像子序列中各图像采集时刻的初始位姿。
10.根据权利要求9所述的方法,其中,所述初始位姿包括第一图像采集时刻的IMU坐标系在世界坐标系中的初始姿态以及第二图像采集时刻的IMU坐标系在世界坐标系中的初始姿态;所述根据所述第一特征点、以及所述第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量,更新所述图像子序列中各图像采集时刻的初始位姿包括:
根据所述第二特征点在所述第二图像中的位置,计算所述第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量;
根据第一图像采集时刻的IMU坐标系在世界坐标系中的初始姿态、第二图像采集时刻的IMU坐标系在世界坐标系中的初始姿态以及所述IMU坐标系与相机坐标系之间的旋转矩阵,确定第一图像采集时刻的所述世界坐标系与相机坐标系之间的旋转矩阵以及第二图像采集时刻的所述世界坐标系与相机坐标系之间的旋转矩阵;
根据第一图像采集时刻的所述世界坐标系与相机坐标系之间的旋转矩阵、第二图像采集时刻的所述世界坐标系与相机坐标系之间的旋转矩阵,将所述第二单位方向向量重投影到第一图像中,得到第一重投影点;
根据所述第一特征点和所述第一重投影点,计算第一重投影误差;以及
根据所述第一重投影误差,更新所述第一图像采集时刻的IMU坐标系在世界坐标系中的初始姿态以及第二图像采集时刻的IMU坐标系在世界坐标系中的初始姿态。
11.根据权利要求9所述的方法,其中,所述初始位姿包括第一图像采集时刻的IMU坐标系在世界坐标系中的初始位姿以及第二图像采集时刻的IMU坐标系在世界坐标系中的初始位姿;所述根据所述第一特征点在世界坐标系中的位置,更新所述图像子序列中各图像采集时刻的初始位姿包括:
根据第一图像采集时刻的IMU坐标系在世界坐标系中的初始位姿、第二图像采集时刻的IMU坐标系在世界坐标系中的初始位姿、第一特征点在所述第一图像中的位置以及第二特征点在所述第二图像中的位置,确定所述第一特征点在世界坐标系中的位置;
根据第一图像采集时刻的IMU坐标系在世界坐标系中的初始位姿以及IMU坐标系与相机坐标系之间的旋转矩阵,将所述第一特征点在世界坐标系中的位置重投影到第一图像中,得到第二重投影点;
根据所述第一特征点和所述第二重投影点,计算第二重投影误差;以及
根据所述第二重投影误差,更新所述第一图像采集时刻的IMU坐标系在世界坐标系中的初始位姿以及第二图像采集时刻的IMU坐标系在世界坐标系中的初始位姿。
12.一种位姿更新装置,包括:
位姿计算模块,用于根据电子设备在运动过程中采集的图像序列以及惯性测量单元IMU数据,计算所述电子设备在所述图像序列中每个图像采集时刻的初始位姿;
特征点对确定模块,用于确定图像序列中每两个连续图像的特征点对集合;
误差确定模块,用于根据所述特征点对集合,确定所述每两个连续图像之间的位姿误差;
划分模块,用于根据所述位姿误差将所述图像序列划分为多个图像子序列,其中,所述多个图像子序列各自具有对应的运动状态;以及
位姿更新模块,用于根据每个图像子序列的运动状态,更新所述图像子序列中每个图像采集时刻的所述电子设备的初始位姿。
13.根据权利要求12所述的装置,其中,所述特征点对包括第一特征点和第二特征点,所述第一特征点位于所述两个连续图像中的第一图像,所述第二特征点位于所述两个连续图像中的第二图像;所述位姿误差包括位置误差和姿态误差;所述误差确定模块包括:
特征点对误差计算单元,用于针对每个特征点对,计算所述特征点对中第一特征点和第二特征点之间的位置误差和姿态误差,作为所述特征点对的位置误差和姿态误差;
位置误差计算单元,用于根据所述特征点对集合中多个特征点对各自的位置误差,确定所述第一图像和所述第二图像之间的位置误差;以及
姿态误差计算单元,用于根据所述特征点对集合中多个特征点对各自的姿态误差,确定所述第一图像和所述第二图像之间的姿态误差。
14.根据权利要求13所述的装置,其中,所述特征点对误差计算单元包括:
位置误差计算子单元,用于根据所述第一特征点在所述第一图像中的位置以及所述第二特征点在所述第二图像中的位置,计算所述第一特征点和第二特征点之间的位置误差。
15.根据权利要求13所述的装置,其中,所述特征点对误差计算单元包括:
第一单位方向向量确定子单元,用于根据所述第一特征点在所述第一图像中的位置,计算所述第一特征点在第一图像采集时刻的相机坐标系中的第一单位方向向量;
第二单位方向向量确定子单元,用于根据所述第二特征点在所述第二图像中的位置,计算所述第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量;以及
姿态误差计算子单元,用于根据所述第一单位方向向量以及所述第二单位方向向量,计算所述第一特征点和第二特征点之间的姿态误差。
16.根据权利要求15所述的方法,其中,所述姿态误差计算子单元,用于根据惯性测量单元IMU从所述第一图像采集时刻到所述第二图像采集时刻的测量数据,确定所述第一图像采集时刻的相机坐标系与所述第二图像采集时刻的相机坐标系之间的旋转矩阵;根据所述第一图像采集时刻的相机坐标系与所述第二图像采集时刻的相机坐标系之间的旋转矩阵,将所述第一单位方向向量重投影到第二图像采集时刻的相机坐标系中,得到重投影向量;以及根据所述第二单位方向向量和所述重投影向量,确定所述第一特征点和第二特征点之间的姿态误差。
17.根据权利要求13至16中任一项所述的装置,其中,所述划分模块包括:
第一划分单元,用于将每两个连续图像之间的位置误差均小于第一阈值的图像子序列确定为静止状态的图像子序列;
第二划分单元,用于将每两个连续图像之间的位置误差均大于等于所述第一阈值,且姿态误差均小于第二阈值的图像子序列确定为纯旋转运动状态的图像子序列;以及
第三划分单元,用于将每两个连续图像之间的位置误差均大于等于所述第一阈值,且姿态误差均大于等于所述第二阈值的图像子序列确定为常规运动状态的图像子序列。
18.根据权利要求12所述的装置,其中,每个图像子序列的运动状态为静止状态、纯旋转运动状态和常规运动状态中的之一;所述位姿更新模块包括:
第一位姿更新单元,用于针对静止状态的图像子序列,根据所述惯性测量单元IMU数据更新所述图像子序列中各图像采集时刻的初始位姿;
第二位姿更新单元,用于针对纯旋转运动状态的图像子序列,根据所述特征点对更新所述图像子序列中各图像采集时刻的初始位姿;以及
第三位姿更新单元,用于针对常规运动状态的图像子序列,根据所述特征点对更新所述图像子序列中各图像采集时刻的初始位姿。
19.根据权利要求18所述的装置,其中,所述初始位姿包括惯性测量单元IMU中的螺旋仪在各图像采集时刻的初始偏置、所述惯性测量单元IMU中的加速度计在各图像采集时刻的初始偏置以及各图像采集时刻的IMU坐标系在世界坐标系中的初始姿态;所述第一位姿更新单元包括:
陀螺仪数据确定子单元,用于根据所述惯性测量单元IMU中的螺旋仪在各图像采集时刻的测量值和初始偏置,计算所述螺旋仪在各图像采集时刻的实际值;
加速度计数据确定子单元,用于根据所述惯性测量单元IMU中的加速度计在各图像采集时刻的测量值、初始偏置和所述各图像采集时刻的IMU坐标系在世界坐标系中的初始姿态,计算所述加速度计在各图像采集时刻的实际值;以及
第一位姿更新子单元,用于以所述螺旋仪在各图像采集时刻的实际值以及所述加速度计在各图像采集时刻的实际值均为预设数值作为约束,更新所述陀螺仪在各图像采集时刻的初始偏置、所述加速度计在各图像采集时刻的初始偏置以及所述各图像采集时刻的IMU坐标系在世界坐标系中的初始姿态。
20.根据权利要求18所述的装置,其中,所述特征点对包括第一特征点和第二特征点,所述第一特征点位于所述两个连续图像中的第一图像,所述第二特征点位于所述两个连续图像中的第二图像;
所述第二位姿更新单元,用于根据所述第一特征点、以及所述第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量,更新所述图像子序列中各图像采集时刻的初始位姿;
所述第三位姿更新单元,用于根据所述第一特征点在世界坐标系中的位置,更新所述图像子序列中各图像采集时刻的初始位姿。
21.根据权利要求20所述的装置,其中,所述初始位姿包括第一图像采集时刻的IMU坐标系在世界坐标系中的初始姿态以及第二图像采集时刻的IMU坐标系在世界坐标系中的初始姿态;所述第二位姿更新单元包括:
第二单位方向向量确定子单元,用于根据所述第二特征点在所述第二图像中的位置,计算所述第二特征点在第二图像采集时刻的相机坐标系中的第二单位方向向量;
旋转矩阵确定子单元,用于根据第一图像采集时刻的IMU坐标系在世界坐标系中的初始姿态、第二图像采集时刻的IMU坐标系在世界坐标系中的初始姿态以及所述IMU坐标系与相机坐标系之间的旋转矩阵,确定第一图像采集时刻的所述世界坐标系与相机坐标系之间的旋转矩阵以及第二图像采集时刻的所述世界坐标系与相机坐标系之间的旋转矩阵;
第一重投影子单元,用于根据第一图像采集时刻的所述世界坐标系与相机坐标系之间的旋转矩阵、第二图像采集时刻的所述世界坐标系与相机坐标系之间的旋转矩阵,将所述第二单位方向向量重投影到第一图像中,得到第一重投影点;
第一重投影误差确定子单元,用于根据所述第一特征点和所述第一重投影点,计算第一重投影误差;以及
第二位姿更新子单元,用于根据所述第一重投影误差,更新所述第一图像采集时刻的IMU坐标系在世界坐标系中的初始姿态以及第二图像采集时刻的IMU坐标系在世界坐标系中的初始姿态。
22.根据权利要求20所述的装置,其中,所述初始位姿包括第一图像采集时刻的IMU坐标系在世界坐标系中的初始位姿以及第二图像采集时刻的IMU坐标系在世界坐标系中的初始位姿;所述第三位姿更新单元包括:
三维位置确定子单元,用于根据第一图像采集时刻的IMU坐标系在世界坐标系中的初始位姿、第二图像采集时刻的IMU坐标系在世界坐标系中的初始位姿、第一特征点在所述第一图像中的位置以及第二特征点在所述第二图像中的位置,确定所述第一特征点在世界坐标系中的位置;
第二重投影子单元,用于根据第一图像采集时刻的IMU坐标系在世界坐标系中的初始位姿以及IMU坐标系与相机坐标系之间的旋转矩阵,将所述第一特征点在世界坐标系中的位置重投影到第一图像中,得到第二重投影点;
第二重投影误差确定子单元,用于根据所述第一特征点和所述第二重投影点,计算第二重投影误差;以及
第三位姿更新子单元,用于根据所述第二重投影误差,更新所述第一图像采集时刻的IMU坐标系在世界坐标系中的初始位姿以及第二图像采集时刻的IMU坐标系在世界坐标系中的初始位姿。
23.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至11中任一项所述的方法。
24.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至11中任一项所述的方法。
25.一种计算机程序产品,包括计算机程序,所述计算机程序存储于可读存储介质和电子设备其中至少之一上,所述计算机程序在被处理器执行时实现根据权利要求1至11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310397223.5A CN116448105B (zh) | 2023-04-12 | 2023-04-12 | 位姿更新方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310397223.5A CN116448105B (zh) | 2023-04-12 | 2023-04-12 | 位姿更新方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116448105A true CN116448105A (zh) | 2023-07-18 |
CN116448105B CN116448105B (zh) | 2024-04-30 |
Family
ID=87129762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310397223.5A Active CN116448105B (zh) | 2023-04-12 | 2023-04-12 | 位姿更新方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116448105B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100220173A1 (en) * | 2009-02-20 | 2010-09-02 | Google Inc. | Estimation of Panoramic Camera Orientation Relative to a Vehicle Coordinate Frame |
CN109166149A (zh) * | 2018-08-13 | 2019-01-08 | 武汉大学 | 一种融合双目相机与imu的定位与三维线框结构重建方法与系统 |
CN110044354A (zh) * | 2019-03-28 | 2019-07-23 | 东南大学 | 一种双目视觉室内定位与建图方法及装置 |
CN114170306A (zh) * | 2021-11-17 | 2022-03-11 | 埃洛克航空科技(北京)有限公司 | 图像的姿态估计方法、装置、终端及存储介质 |
CN115272494A (zh) * | 2022-09-29 | 2022-11-01 | 腾讯科技(深圳)有限公司 | 相机与惯性测量单元的标定方法、装置和计算机设备 |
CN115294280A (zh) * | 2022-08-19 | 2022-11-04 | 中国工商银行股份有限公司 | 三维重建方法、装置、设备、存储介质和程序产品 |
-
2023
- 2023-04-12 CN CN202310397223.5A patent/CN116448105B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100220173A1 (en) * | 2009-02-20 | 2010-09-02 | Google Inc. | Estimation of Panoramic Camera Orientation Relative to a Vehicle Coordinate Frame |
CN109166149A (zh) * | 2018-08-13 | 2019-01-08 | 武汉大学 | 一种融合双目相机与imu的定位与三维线框结构重建方法与系统 |
CN110044354A (zh) * | 2019-03-28 | 2019-07-23 | 东南大学 | 一种双目视觉室内定位与建图方法及装置 |
CN114170306A (zh) * | 2021-11-17 | 2022-03-11 | 埃洛克航空科技(北京)有限公司 | 图像的姿态估计方法、装置、终端及存储介质 |
CN115294280A (zh) * | 2022-08-19 | 2022-11-04 | 中国工商银行股份有限公司 | 三维重建方法、装置、设备、存储介质和程序产品 |
CN115272494A (zh) * | 2022-09-29 | 2022-11-01 | 腾讯科技(深圳)有限公司 | 相机与惯性测量单元的标定方法、装置和计算机设备 |
Non-Patent Citations (2)
Title |
---|
WANG DING等: "Industry robotic motion and pose recognition method based on camera pose estimation and neural network", SAGE JOURNALS * |
王昕煜等: "基于多传感器融合信息的移动机器人速度控制方法", 工程设计学报, vol. 28, no. 1 * |
Also Published As
Publication number | Publication date |
---|---|
CN116448105B (zh) | 2024-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110118554B (zh) | 基于视觉惯性的slam方法、装置、存储介质和设备 | |
US9709404B2 (en) | Iterative Kalman Smoother for robust 3D localization for vision-aided inertial navigation | |
CN110246182B (zh) | 基于视觉的全局地图定位方法、装置、存储介质和设备 | |
CN107748569B (zh) | 用于无人机的运动控制方法、装置及无人机系统 | |
US20210183100A1 (en) | Data processing method and apparatus | |
CN114013449B (zh) | 针对自动驾驶车辆的数据处理方法、装置和自动驾驶车辆 | |
KR20190001086A (ko) | 관성 및 단일 광학 센서를 이용한 슬라이딩 윈도우 기반 비-구조 위치 인식 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
CN113610702B (zh) | 一种建图方法、装置、电子设备及存储介质 | |
CN111833391B (zh) | 图像深度信息的估计方法及装置 | |
CN117232499A (zh) | 多传感器融合的点云地图构建方法、装置、设备及介质 | |
CN116448105B (zh) | 位姿更新方法、装置、电子设备和存储介质 | |
CN114674328B (zh) | 地图生成方法、装置、电子设备、存储介质、及车辆 | |
CN115727871A (zh) | 一种轨迹质量检测方法、装置、电子设备和存储介质 | |
CN114187509B (zh) | 对象定位方法、装置、电子设备以及存储介质 | |
CN114299192A (zh) | 定位建图的方法、装置、设备和介质 | |
CN117058430B (zh) | 用于视场匹配的方法、装置、电子设备和存储介质 | |
CN116012624B (zh) | 定位方法、装置、电子设备、介质以及自动驾驶设备 | |
CN116817928B (zh) | 基于因子图优化的卫导/惯导列车多源融合定位的方法 | |
CN115511779B (zh) | 图像检测方法、装置、电子设备和存储介质 | |
CN116958198A (zh) | 基于视觉惯性里程计的运动轨迹漂移检测方法及装置 | |
CN116989775A (zh) | 基于视觉惯性里程计的位姿确定方法、装置、电子设备 | |
CN116704034A (zh) | 视觉定位方法、装置、设备及介质 | |
CN116704022A (zh) | 基于结构线段的vio系统的位姿估计方法、装置及介质 | |
CN115342829A (zh) | 基于迭代扩展卡尔曼滤波器的里程计算方法及装置 | |
CN116894894A (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 |