CN113436267B - 视觉惯导标定方法、装置、计算机设备和存储介质 - Google Patents
视觉惯导标定方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113436267B CN113436267B CN202110572596.2A CN202110572596A CN113436267B CN 113436267 B CN113436267 B CN 113436267B CN 202110572596 A CN202110572596 A CN 202110572596A CN 113436267 B CN113436267 B CN 113436267B
- Authority
- CN
- China
- Prior art keywords
- initial
- camera
- coordinate system
- measurement data
- inertial
- 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 52
- 230000000007 visual effect Effects 0.000 title claims abstract description 35
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000005259 measurement Methods 0.000 claims abstract description 205
- 239000013598 vector Substances 0.000 claims abstract description 118
- 230000036544 posture Effects 0.000 claims abstract description 109
- 230000003068 static effect Effects 0.000 claims abstract description 82
- 230000005484 gravity Effects 0.000 claims abstract description 65
- 238000012937 correction Methods 0.000 claims abstract description 33
- 230000001133 acceleration Effects 0.000 claims description 44
- 238000005457 optimization Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 24
- 238000012216 screening Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 9
- 230000001360 synchronised effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Studio Devices (AREA)
Abstract
本申请涉及一种视觉惯导标定方法、装置、计算机设备和存储介质。方法包括:获取由相机在多个拍摄姿态下分别采集的静态图像,由惯性传感器在拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量;相机设置于包括多面标定板的标定箱内;世界坐标系基于标定箱构建;根据静态图像对相机进行标定得到相应初始内参数据与初始外参数据;对初始惯性测量数据进行误差矫正得到目标惯性测量数据;根据初始外参数据、初始方向向量与目标惯性测量数据,确定相机与惯性传感器的初始旋转量;对初始内参数据、初始外参数据与初始旋转量进行同步优化,得到目标内参数据、目标外参数据与目标旋转量。采用本方法能够提高标定效率。
Description
技术领域
本申请涉及计算机视觉技术领域,特别是涉及一种视觉惯导标定方法、装置、计算机设备和存储介质。
背景技术
随着计算机视觉技术的发展,基于计算机视觉的视觉惯性导航技术(以下简称视觉惯导)逐渐发展起来,并广泛应用于智能驾驶、虚拟现实、增强现实、无人机等场景。而视觉惯导的标定是其应用于各类场景的基石,由此如何进行视觉惯导的标定是值得关注的问题。
目前,通常是基于kalibr库(一种标定工具)来实现视觉惯导的联合标定,该种标定方式通过对标定图拍摄视频,同时记录惯性传感器数据,从而基于视频与惯性传感器数据标定出相机和惯性传感器的相对姿态。但是该种标定方式,在标定过程中需要对视频中的每帧图像进行角点检测和姿态估计,导致整个标定过程非常耗时,也即是存在标定效率低的问题,满足不了实际工程需求。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高标定效率的视觉惯导标定方法、装置、计算机设备和存储介质。
一种视觉惯导标定方法,所述方法包括:
获取由相机在多个拍摄姿态下分别采集的静态图像,以及由惯性传感器在所述拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量;所述相机设置于包括多面标定板的标定箱内;所述世界坐标系基于所述标定箱构建;
根据所述静态图像对所述相机进行标定,得到相应的初始内参数据与初始外参数据;
对所述初始惯性测量数据进行误差矫正得到目标惯性测量数据;
根据所述初始外参数据、所述初始方向向量与所述目标惯性测量数据,确定所述相机与所述惯性传感器之间的初始旋转量;
对所述初始内参数据、所述初始外参数据与所述初始旋转量进行同步优化,得到所述相机的目标内参数据与目标外参数据,以及所述相机与所述惯性传感器之间的目标旋转量。
在其中一个实施例中,所述对所述初始惯性测量数据进行误差矫正得到目标惯性测量数据,包括:
从所述初始惯性测量数据中筛选出所述相机处于静止状态时所采集的第一惯性测量数据;
根据所述第一惯性测量数据确定所述惯性传感器的固定误差值;
基于所述固定误差值对所述第一惯性测量数据进行误差矫正得到目标惯性测量数据。
在其中一个实施例中,所述根据所述第一惯性测量数据确定所述惯性传感器的固定误差值,包括:
根据所述第一惯性测量数据进行椭球拟合,并根据拟合得到的椭球中心确定所述惯性传感器的固定误差值。
在其中一个实施例中,所述从所述初始惯性测量数据中筛选出所述相机处于静止状态时所采集的第一惯性测量数据,包括:
根据所述初始惯性测量数据确定每个时刻的数据波动量;
根据所述数据波动量与预设波动阈值确定相应时刻的相机状态;
基于所述相机状态从所述初始惯性测量数据中筛选出所述相机处于静止状态时所采集的第一惯性测量数据。
在其中一个实施例中,所述相机所处的三维空间被划分为预设数量个象限,所述象限的原点为所述相机的机体中心;所述多个拍摄姿态是通过转动所述相机,以使得所述相机处于每个象限的相机机体正对标定箱底面得到的。
在其中一个实施例中,所述相机有多个镜头;所述镜头包括主镜头;所述初始外参数据包括每个镜头的初始外参数据;所述根据所述初始外参数据、所述初始方向向量与所述目标惯性测量数据,确定所述相机与所述惯性传感器之间的初始旋转量,包括:
根据各镜头的初始外参数据,以及所述初始方向向量与所述目标惯性测量数据,确定所述主镜头与所述惯性测量器之间的初始旋转量。
在其中一个实施例中,所述主镜头与主镜头坐标系对应;所述主镜头的初始外参数据包括第一个拍摄姿态下的主镜头坐标系与所述世界坐标系之间的相对姿态,以及所述第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态;所述根据各镜头的初始外参数据,以及所述初始方向向量与所述目标惯性测量数据,确定所述主镜头与所述惯性测量器之间的初始旋转量,包括:
根据第一个拍摄姿态下的主镜头坐标系与所述世界坐标系之间的相对姿态,所述第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态,以及所述初始方向向量确定每个拍摄姿态下所述重力在主镜头坐标系下的方向向量;
基于各拍摄姿态下所述重力在主镜头坐标系下的方向向量,以及所述目标惯性测量数据中各拍摄姿态下的加速度向量,优化得到所述主镜头与所述惯性传感器之间的初始旋转量。
一种视觉惯导标定装置,所述装置包括:
获取模块,用于获取由相机在多个拍摄姿态下分别采集的静态图像,以及由惯性传感器在所述拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量;所述相机设置于包括多面标定板的标定箱内;所述世界坐标系基于所述标定箱构建;
相机标定模块,用于根据所述静态图像对所述相机进行标定,得到相应的初始内参数据与初始外参数据;
误差矫正模块,用于对所述初始惯性测量数据进行误差矫正得到目标惯性测量数据;
第一优化模块,用于根据所述初始外参数据、所述初始方向向量与所述目标惯性测量数据,确定所述相机与所述惯性传感器之间的初始旋转量;
第二优化模块,用于对所述初始内参数据、所述初始外参数据与所述初始旋转量进行同步优化,得到所述相机的目标内参数据与目标外参数据,以及所述相机与所述惯性传感器之间的目标旋转量。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取由相机在多个拍摄姿态下分别采集的静态图像,以及由惯性传感器在所述拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量;所述相机设置于包括多面标定板的标定箱内;所述世界坐标系基于所述标定箱构建;
根据所述静态图像对所述相机进行标定,得到相应的初始内参数据与初始外参数据;
对所述初始惯性测量数据进行误差矫正得到目标惯性测量数据;
根据所述初始外参数据、所述初始方向向量与所述目标惯性测量数据,确定所述相机与所述惯性传感器之间的初始旋转量;
对所述初始内参数据、所述初始外参数据与所述初始旋转量进行同步优化,得到所述相机的目标内参数据与目标外参数据,以及所述相机与所述惯性传感器之间的目标旋转量。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取由相机在多个拍摄姿态下分别采集的静态图像,以及由惯性传感器在所述拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量;所述相机设置于包括多面标定板的标定箱内;所述世界坐标系基于所述标定箱构建;
根据所述静态图像对所述相机进行标定,得到相应的初始内参数据与初始外参数据;
对所述初始惯性测量数据进行误差矫正得到目标惯性测量数据;
根据所述初始外参数据、所述初始方向向量与所述目标惯性测量数据,确定所述相机与所述惯性传感器之间的初始旋转量;
对所述初始内参数据、所述初始外参数据与所述初始旋转量进行同步优化,得到所述相机的目标内参数据与目标外参数据,以及所述相机与所述惯性传感器之间的目标旋转量。
上述视觉惯导标定方法、装置、计算机设备和存储介质,用于在多个拍摄姿态下分别采集静态图像的相机,被设置于包括多面标定板的标定箱内,以便于在提高标定图在静态图像中的覆盖率的同时,减少所需采集的静态图像的数量,而世界坐标系基于标定箱构建,以便于能够确定重力在世界坐标系下的初始方向向量,在获取到由相机采集的数量较少且覆盖率较高的静态图像,以及由惯性传感器同步采集的初始惯性测量数据后,根据静态图像对相机进行联合标定,能够快速得到相机的初始内参数据与初始外参数据,基于该初始外参数据与初始方向向量,以及对初始惯性测量数据进行误差矫正所得到的目标惯性测量数据,能够初步优化得到相机与惯性传感器之间的初始旋转量,以便于基于该初始旋转量、初始内参数据与初始外参数据,能够快速而准确的同步优化得到相应的目标内参数据、目标外参数据与目标旋转量,由此,能够在保证标定准确性的情况下,提高标定效率。
附图说明
图1为一个实施例中视觉惯导标定方法的应用环境图;
图2为一个实施例中视觉惯导标定方法的流程示意图;
图3为一个实施例中标定箱的部分结构示意图;
图4为一个实施例中由相机所采集的静态图像的示例图;
图5为一个实施例中将相机所处的三维空间划分为8个象限的示意图;
图6为另一个实施例中视觉惯导标定方法的流程示意图;
图7为一个实施例中视觉惯导标定装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的视觉惯导标定方法,可以应用于如图1所示的应用环境中。其中,计算机设备102通过网络与相机104进行通信,相机104内部集成有惯性传感器。相机104设置于包括多面标定板的标定箱内,世界坐标系基于该标定箱构建,计算机设备102获取由相机104在多个拍摄姿态下分别采集的静态图像,以及由集成在相机104内部的惯性传感器在多个拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量,进一步地,计算机设备102根据静态图像对相机104进行标定,得到相应的初始内参数据与初始外参数据,并对初始惯性测量数据进行误差矫正得到目标惯性测量数据,然后根据初始外参数据、初始方向向量与目标惯性测量数据,优化得到相机104与惯性传感器之间的初始旋转量,再同步优化所得到的初始内参数据、初始外参数据与初始旋转量,得到相应的目标内参数据、目标外参数据与目标旋转量。
其中,计算机设备102可以是终端或服务器,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机和平板电脑,还可以是视觉惯导标定设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种视觉惯导标定方法,以该方法应用于图1中的计算机设备(终端或服务器)为例进行说明,可以理解的是,该方法还可以由视觉惯导标定装置执行,该视觉惯导标定装置可以采用硬件和软件中的至少一种的形式内嵌于计算机设备中。在本实施例中,该方法包括以下步骤:
步骤202,获取由相机在多个拍摄姿态下分别采集的静态图像,以及由惯性传感器在拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量;相机设置于包括多面标定板的标定箱内;世界坐标系基于标定箱构建。
其中,拍摄姿态是指相机采集静态图像时所处的姿态,具体可以是指相机机体与标定箱在三维空间中的相对位置关系,通过转动相机使得相机机体的不同区域正对标定箱的底面能够得到多个拍摄姿态。标定箱由多面标定板组成,每面标定板上设置有一组或多组标定图。初始惯性测量数据是在相机拍摄静态图像的过程中,由惯性传感器同步采集的惯性测量数据。惯性测量数据具体可包括加速度和角速度,加速度是包括大小与方向的矢量,具体可理解为加速度向量,该加速度向量即为相应时刻下重力在惯性传感器下的方向向量。
可以理解,由于相机采集静态图像时需要耗费一定时长,也即是指相机在每个拍摄姿态下采集静态图像时对应有一个拍摄时间段,比如,将从相机转动到某个拍摄姿态时起至相机转离至该拍摄姿态时止的时间段,确定为相机在该拍摄姿态下对应的拍摄时间段,这样,惯性传感器在该拍摄时间段内能够同步采集到多个加速度与角速度,由此,惯性传感器在每个拍摄姿态下同步采集的初始惯性测量数据,是包括加速度序列与角速度序列的惯性测量数据序列。静态图像是相机在相应拍摄姿态下处于静止状态时所采集的图像。
具体地,设置有包括多面标定板的标定箱,世界坐标系基于该标定箱来构建,以便于能够确定重力在该世界坐标系下的初始方向向量。相机置于该标定箱内,通过转动相机来得到相机的多个拍摄姿态,以便于相机通过镜头在该多个拍摄姿态下分别采集静态图像,相应地,相机通过内部集成的惯性传感器在每个拍摄姿态下同步采集初始惯性测量数据,并由相机将所采集的静态图像与初始惯性测量数据发送至计算机设备。
在一个实施例中,重力在世界坐标系下的初始方向向量,可由相机采集并发送至计算机设备,也可由计算机设备从其他途径获取,比如从其他计算机设备获取,还比如人工录入,还可以是预先配置在计算机设备本地,在此不作具体限定。
在一个实施例中,标定箱的底面和顶面未设置标定板。以包括四面标定板的标定箱为例,该标定箱由前后左右四面标定板组成。标定箱所包括的标定板数量不作具体限定,比如五面或六面。图3为一个实施例中的标定箱的部分结构示意图,图3所示的标定箱包括四面标定板,图示中仅示例出标定箱的部分标定板,其中,标号31对应的是设置于标定箱的相机,标号32对应的是设置于标定板上的标定图,标号33对应的是标定板,图3所示的标定箱的每面标定板上设置有六组标定图,其仅作为示例,并不用于具体限定。图4为一个实施例中由相机所采集的静态图像的示例图,该示例图是由处于标定箱的四分之一位置处、且高度为标定箱高度的一半的相机采集到的,该示例图仅作为示例,并不用于具体限定。
在一个实施例中,在本申请的一个或多个实施例中所涉及的相机为广角相机或鱼眼相机,其视场范围比较大,由此,将相机置于包括多面标定板的标定箱内采集静态图像,能够在减少静态图像数量的情况下,使得标定图在静态图像内的覆盖率达到应用需求。
在一个实施例中,从标定箱的多面标定板中选取一个主标定板,并基于该主标定板来构建世界坐标系,使得世界坐标系的x轴(横轴)、y轴(竖轴)均与主标定板平行,z轴(纵轴)与主标定板垂直。在摆放标定箱时,尽量使得世界坐标系的x轴或y轴与重力方向保持一致,以便于得到重力在该假设的世界坐标系下的初始方向向量,该初始方向向量用于表征重力在世界坐标系中的方向初始值。
在一个实施例中,相机在每个拍摄姿态下采集一张静态图像。以8个拍摄姿态为例,相机在该8个拍摄姿态下分别采集静态图像得到8张静态图像。
在一个实施例中,相机有一个或多个镜头。相机只有一个镜头时,相机通过该镜头在各拍摄姿态下分别采集静态图像。相机有多个镜头时,相机通过该多个镜头在各拍摄姿态下联合采集一张静态图像。
步骤204,根据静态图像对相机进行标定,得到相应的初始内参数据与初始外参数据。
具体地,计算机设备根据由相机采集的多张静态图像对相机进行联合标定,得到相机的初始内参数据与初始外参数据。计算机设备具体可采用现有的相机标定方式利用所获取到的静态图像对相机进行标定,比如张氏标定法,在此不再赘述。
在一个实施例中,相机的初始内参数据包括相机的焦距、主点和畸变等参数,相机的初始外参数据包括相机在第一个拍摄姿态下的相机坐标系与世界坐标系之间的相对姿态,以及相机在第一个拍摄姿态下的相机坐标系与在其他拍摄姿态下的相机坐标系之间的相对姿态。相对姿态是指两个坐标系之间的旋转量和平移量。
在一个实施例中,相机有多个镜头,计算机设备根据静态图像对相机的多个镜头进行标定,得到各镜头的初始内参数据与初始外参数据。从相机的多个镜头中选取一个镜头作为主镜头,其他作为副镜头,主镜头与主镜头坐标系对应,副镜头与副镜头坐标系对应。主镜头的初始外参数据包括第一个拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态,以及主镜头坐标系与各副镜头坐标系之间的相对姿态。
步骤206,对初始惯性测量数据进行误差矫正得到目标惯性测量数据。
其中,由于惯性传感器自身可能存在一个固定的测量误差值,也即固定误差值,其可能造成惯性测量数据的输出值与实际值不符,由此,需要基于已有的初始惯性测量数据估计出该固定误差值,并基于该固定误差值对初始惯性测量数据进行矫正,该过程可理解为误差矫正,由于该固定误差值可理解为零漂值,由此,该过程又可理解为零漂矫正。
具体地,计算机设备基于所获取到的初始惯性测量数据确定惯性传感器的固定误差值,并基于固定误差值对初始惯性测量数据进行误差矫正得到相应的目标惯性测量数据。
在一个实施例中,对初始惯性测量数据进行误差矫正,具体可以是对初始惯性测量数据中的初始加速度进行误差矫正,得到包括相应目标加速度的目标惯性测量数据。
步骤208,根据初始外参数据、初始方向向量与目标惯性测量数据,确定相机与惯性传感器之间的初始旋转量。
具体地,由于相机坐标系相对于相机机体是固定不变的,而相机在不同拍摄姿态下对应的相机坐标系是不同的,不同拍摄姿态下的相机坐标系相对于世界坐标系的相对姿态也是不同的,而基于相机的初始外参数据能够确定相机在各拍摄姿态下所对应的相机坐标系相对于世界坐标系的相对姿态,由此,计算机设备根据相机的初始外参数据,以及重力在世界坐标系下的初始方向向量,能够确定各拍摄姿态下重力在相机坐标系中的方向向量。而基于目标惯性测量数据能够确定各拍摄姿态下重力在惯性传感器中的方向向量,也即是能够确定各拍摄姿态下重力在惯性传感器坐标系中的方向向量。由此,根据各拍摄姿态下重力在相机坐标系中的方向向量,以及重力在惯性传感器坐标系中的方向向量,基于最小二乘法能够优化得到相机坐标系与惯性传感器坐标系之间的初始旋转量,也即是能够优化得到相机与惯性传感器之间的初始旋转量。
在一个实施例中,相机只有一个镜头时,相机与相机坐标系对应,计算机设备基于相机的初始外参数据、初始方向向量与目标惯性测量数据,优化得到相机与惯性传感器之间的初始旋转量。相机有多个镜头时,相机包括主镜头与副镜头,相机坐标系包括主镜头坐标系与副镜头坐标系,相机的主镜头与主镜头坐标系对应,副镜头与副镜头坐标系对应,计算机设备基于主镜头的初始外参数据、初始方向向量与目标惯性测量数据,优化得到主镜头与惯性传感器之间的初始旋转量。
步骤210,对初始内参数据、初始外参数据与初始旋转量进行同步优化,得到相机的目标内参数据与目标外参数据,以及相机与惯性传感器之间的目标旋转量。
具体地,由于基于各拍摄姿态下采集到的静态图像标定得到的初始内参数据与初始外参数据会存在误差,而重力在世界坐标系下的初始方向向量,是基于世界坐标系相对于标定箱的构建方式直接确定的近似值,由此,基于初始外参数据、初始方向向量与目标惯性测量数据,优化得到的相机与惯性传感器之间的初始旋转量也会存在误差。由此,计算机设备对相机的初始内参数据与初始外参数据,以及相机与惯性传感器之间的初始旋转量进行同步优化,能够得到更为准确的目标内参数据、目标外参数据与目标旋转量。
在一个实施例中,计算机设备采用现有的同步优化方式,对初始内参数据、初始外参数据与初始旋转量进行同步优化。以Bundle Adjustment(光束平差法)为例,计算机设备根据相机在各拍摄姿态下采集的静态图像与基于静态图像标定得到的初始内参数据、初始外参数据,以及优化得到的相机与惯性传感器之间的初始旋转量,确定相机重投影误差。根据惯性传感器在各拍摄姿态下采集的加速度向量,世界坐标系与各拍摄姿态下的惯性传感器坐标系之间的相对姿态,以及重力在世界坐标系下的初始方向向量,确定惯性传感器的估计误差,并通过同步优化使得相机重投影误差与惯性传感器的估计误差的和值最小。具体可以是通过求解非线性优化问题,使得相机重投影误差与惯性传感器的估计误差的和值最小。
相机重投影误差是指将标定板上的角点投影到静态图像中得到的角点坐标,与在静态图像中检测到的角点坐标之间的误差。具体地,在制作标定板与设计包括多面标定板的标定箱时,能够确定标定板中的各角点在各标定板上的三维坐标。在基于所采集的静态图像对相机进行标定时,还能够确定各标定板所在的标定板坐标系与世界坐标系之间的相对姿态,世界坐标系与各拍摄姿态下的主镜头坐标系之间的相对姿态,以及主镜头坐标系与各副镜头坐标系之间的相对姿态。根据世界坐标系与各拍摄姿态下的主镜头坐标系之间的相对姿态,以及主镜头坐标系与惯性传感器坐标系之间的初始旋转量,能够得到世界坐标系与各拍摄姿态下的惯性传感器坐标系之间的相对姿态。
进一步地,根据标定板中各角点在各标定板上的三维坐标,各标定板所在的标定板坐标系与世界坐标系之间的相对姿态,世界坐标系与各拍摄姿态下的惯性传感器坐标系之间的相对姿态,主镜头坐标系与惯性传感器坐标系之间的初始旋转量,以及主镜头坐标系与各副镜头坐标系之间的相对姿态,按照对相机进行标定得到的初始内参数据与初始外参数据,将标定板中的各角点投影至各静态图像中,得到各角点投影在各静态图像中的角点坐标。根据各角点投影至各静态图像中的角点坐标与在各静态图像中检测到的各角点坐标,得到相机重投影误差。可以理解,本实施例中,两个坐标系之间的相对姿态具体可以是指该两个坐标系之间的转换矩阵。
惯性传感器的估计误差是指重力在惯性传感器坐标系下的估计方向向量与测量方向向量之间的误差。具体地,将惯性传感器在各拍摄姿态下采集到的加速度向量,作为重力在惯性传感器坐标系下的测量方向向量。根据世界坐标系与各拍摄姿态下的惯性传感器坐标系之间的相对姿态,以及重力在世界坐标系下的初始方向向量,确定重力在惯性传感器坐标系下的估计方向向量,并根据重力在惯性传感器坐标系下的估计方向向量与测量方向向量,确定惯性传感器的估计误差。
可以理解,将本申请的一个或多个实施例中优化得到的初始旋转量作为同步优化过程中的初始值,能够快速而准确的得到最终的标定结果。
上述视觉惯导标定方法、装置、计算机设备和存储介质,用于在多个拍摄姿态下分别采集静态图像的相机,被设置于包括多面标定板的标定箱内,以便于在提高标定图在静态图像中的覆盖率的同时,减少所需采集的静态图像的数量,而世界坐标系基于标定箱构建,以便于能够确定重力在世界坐标系下的初始方向向量,在获取到由相机采集的数量较少且覆盖率较高的静态图像,以及由惯性传感器同步采集的初始惯性测量数据后,根据静态图像对相机进行联合标定,能够快速得到相机的初始内参数据与初始外参数据,基于该初始外参数据与初始方向向量,以及对初始惯性测量数据进行误差矫正所得到的目标惯性测量数据,能够初步优化得到相机与惯性传感器之间的初始旋转量,以便于基于该初始旋转量、初始内参数据与初始外参数据,能够快速而准确的同步优化得到相应的目标内参数据、目标外参数据与目标旋转量,由此,能够在保证标定准确性的情况下,提高标定效率。
在一个实施例中,步骤206,包括:从初始惯性测量数据中筛选出相机处于静止状态时所采集的第一惯性测量数据;根据第一惯性测量数据确定惯性传感器的固定误差值;基于固定误差值对第一惯性测量数据进行误差矫正得到目标惯性测量数据。
其中,理想情况下,相机在每个拍摄姿态下处于绝对的静止状态,在相机处于静止状态时采集静态图像,并由惯性传感器同步采集初始惯性测量数据。但是在实际拍摄的操作过程中,操作员不可能保证相机在整个过程中都处于静止状态,比如,当操作员按了拍摄按钮后,如果治具还在晃,就会导致相机无法静止,而基于相机处于运动状态下所采集的初始惯性测量数据进行后续的标定,会影响最终的标定结果,由此,有必要从初始惯性测量数据中筛选相机处于静止状态时所采集的第一惯性测量数据,并用于后续的标定,以便于提高标定的准确性。
具体地,计算机设备根据初始惯性测量数据确定相机在各个时刻对应的相机状态,根据相机状态从该初始惯性测量数据中筛选出相机状态为静止状态的时刻,并根据所筛选出的时刻从初始惯性测量数据中筛选出第一惯性测量数据,该第一惯性测量数据是在相机处于静止状态时,由惯性传感器同步采集的。计算机设备根据所筛选出的第一惯性测量数据确定惯性传感器的固定误差值,将第一惯性测量数据中的各加速度减去该固定误差值,以实现对第一惯性测量数据的误差矫正,并得到相应的目标惯性测量数据。可以理解,相机状态包括运动状态与静止状态。
在一个实施例中,第一惯性测量数据中包括相机处于静止状态时所采集的第一加速度与第一角速度,该第一加速度与第一角速度是基于相机状态,从初始惯性测量数据中的初始加速度与初始角速度中分别筛选出来的。可以理解,由于相机在各拍摄姿态下处于静止状态时,惯性传感器同步采集到的加速度的大小应该一致,而加速度的方向会随着相机的转动而发生变化,换而言之,在不同拍摄姿态下,惯性传感器在相机处于静止状态时同步采集的加速度的大小相同,但加速度的方向不同,由此,计算机设备根据第一惯性测量数据中的第一加速度,能够确定惯性传感器的固定误差值。
在一个实施例中,计算机设备从各拍摄姿态下的初始惯性测量数据中,分别筛选出相应拍摄姿态下相机处于静止状态时所采集的第一惯性测量数据,并综合各拍摄姿态下的第一惯性测量数据确定惯性传感器的固定误差值。
上述实施例中,基于相机处于静止状态时所采集的第一惯性测量数据确定惯性传感器的固定误差值,并基于固定误差值对第一惯性测量数据进行误差矫正,以便于基于矫正得到的目标惯性测量数据进行后续标定流程时,能够提高标定的准确性。
在一个实施例中,根据第一惯性测量数据确定惯性传感器的固定误差值,包括:根据第一惯性测量数据进行椭球拟合,并根据拟合得到的椭球中心确定惯性传感器的固定误差值。
具体地,计算机设备对第一惯性测量数据进行椭球拟合得到椭球中心,也即是确定椭球中心的坐标值,并将该椭球中心的坐标值确定为惯性传感器的固定误差值。计算机设备具体可采用现有的椭球拟合方式进行椭球拟合,在此不再赘述。
可以理解,在相机处于静止状态时,集成在相机内部的惯性传感器所采集的加速度为重力加速度,加速度的大小是固定的,只是在转动相机时,加速度的方向会发生变化,也就是说,在各拍摄姿态下,当相机处于静止状态时由惯性传感器所采集的加速度向量都应该分布在一个球面上,而由于各轴存在一些误差,会导致各拍摄姿态下所采集到的加速度向量分布在一个椭球面上,由此,若能够确定椭球方程,便可以基于椭球方程将加速度矫正到原来的球面上去,也即是基于椭球方程能够实现加速度的误差矫正。
上述实施例中,通过椭球拟合方式对第一惯性测量数据进行椭球拟合,能够快速而准确的得到惯性传感器的固定误差值。
在一个实施例中,从初始惯性测量数据中筛选出相机处于静止状态时所采集的第一惯性测量数据,包括:根据初始惯性测量数据确定每个时刻的数据波动量;根据数据波动量与预设波动阈值确定相应时刻的相机状态;基于相机状态从初始惯性测量数据中筛选出相机处于静止状态时所采集的第一惯性测量数据。
其中,数据波动量用于表征惯性测量数据在各个时刻的波动程度,具体可用于表征角速度和/或角速度在各个时刻的波动程度。数据波动量包括加速度波动量与角速度波动量。预设波动阈值可自定义,比如0.003。
具体地,针对每个拍摄姿态,计算机设备根据该拍摄姿态下所采集的初始惯性测量数据,确定该拍摄姿态下每个时刻的数据波动量,将每个时刻的数据波动量与预设波动阈值进行比较,以确定该时刻的相机状态,并基于各时刻的相机状态从该初始惯性测量数据中筛选出相机处于静止状态时所采集的第一惯性测量数据。
在一个实施例中,以单个拍摄姿态为例,假设该拍摄姿态下初始惯性测量数据中的初始加速度与初始角速度分别为G={g1,g2,…,gN}与W={ω1,ω2,…,ωN},通过如下公式分别计算该拍摄姿态下各时刻的加速度波动量与角速度波动量。
其中,N表示该拍摄姿态下采集惯性测量数据的时刻总数,也即是表示该拍摄姿态下所采集到的加速度个数或角速度个数,gj表示第j个时刻下的初始加速度,Φ(gj)表示第j个时刻下的加速度波动量,ωj表示第j个时刻下的初始角速度,Φ(ωj)表示第j个时刻下的角速度波动量,λ表示计算数据波动量的步长,可自定义,比如10。
进一步地,根据该拍摄姿态下各个时刻的数据波动量(包括加速度波动量与角速度波动量),基于如下公式能够确定该拍摄姿态下各个时刻的相机状态,并得到相应的状态向量S={s1,s2,…,sN},其中,τ表示预设波动阈值,sj取值为1表征第j个时刻下的相机状态为静止状态,sj取值为0表征第j个时刻下的相机状态为运动状态。
由此,从状态向量中选取一段包含连续1最多的区间作为静止区间,相机在该区间内的相机状态为静止状态,由此,从初始惯性测量数据中筛选出在该静止区间内所采集的惯性测量数据,能够得到满足要求的第一惯性测量数据。
上述实施例中,基于初始惯性测量数据能够确定各个时刻的数据波动量,而数据波动量越小表征相应时刻的相机越近于静止状态,由此基于数据波动量能够快速而准确的筛选出相机处于静止状态时所采集的第一惯性测量数据。
在一个实施例中,相机所处的三维空间被划分为预设数量个象限,象限的原点为相机的机体中心;多个拍摄姿态是通过转动相机,以使得相机处于每个象限的区域正对标定箱底面得到的。
其中,相机处于每个象限的区域是指相机处于每个象限的部分或相机部分,具体可以是指相机机体处于每个象限的部分或位置。
具体地,在通过相机采集静态图像时,以相机的机体中心为原点,将相机所处的三维空间划分为预设数量个象限,并通过转动相机使得相机处于每个象限的区域正对标定箱底面,得到采集静态图像的多个拍摄姿态。可以理解,通过转动相机使得处于单个象限的相机部分正对标定箱底面即能够得到一个拍摄姿态,由此,通过转动相机能够得到预设数量个拍摄姿态。
在一个实施例中,预设数量可自定义,比如8,由此,将相机所处的三维空间划分为8个象限,相应地,通过转动相机得到8个拍摄姿态。图5为一个实施例中将相机所处的三维空间划分为8个象限的示意图,图5中所示的标号1至8分别对应8个象限。
上述实施例中,通过转动相机得到相应的多个拍摄姿态,以便于由相机在该多个拍摄姿态下分别采集静态图像时,能够在减少所需采集的静态图像数量的同时提高标定图在静态图像中的覆盖率。而通过转动相机使得相机机体的不同区域分别朝向标定箱底面,并在相机机体的不同区域朝向标定箱底面时采集静态图像和初始惯性测量数据,以便于基于初始惯性测量数据更准确地对惯性传感器进行误差矫正。
在一个实施例中,相机有多个镜头;镜头包括主镜头;初始外参数据包括每个镜头的初始外参数据;步骤208,包括:根据各镜头的初始外参数据,以及初始方向向量与目标惯性测量数据,确定主镜头与惯性测量器之间的初始旋转量。
具体地,相机有多个镜头时,该多个镜头包括一个主镜头与至少一个副镜头,由此,相机的初始外参数据包括主镜头的初始外参数据与每个副镜头的初始外参数据。计算机设备根据主镜头的初始外参数据,各副镜头的初始外参数据与重力在世界坐标系下的初始方向向量,以及目标惯性测量数据优化得到主镜头与惯性传感器之间的初始旋转量。
上述实施例中,在相机有多个镜头时,实现了相机的多个镜头与惯性传感器的同时标定,提高了标定效率。
在一个实施例中,主镜头与主镜头坐标系对应;主镜头的初始外参数据包括第一个拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,以及第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态;根据各镜头的初始外参数据,以及初始方向向量与目标惯性测量数据,确定主镜头与惯性测量器之间的初始旋转量,包括:根据第一个拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态,以及初始方向向量确定每个拍摄姿态下重力在主镜头坐标系下的方向向量;基于各拍摄姿态下重力在主镜头坐标系下的方向向量,以及目标惯性测量数据中各拍摄姿态下的加速度向量,优化得到主镜头与惯性传感器之间的初始旋转量。
具体地,相机的每个镜头在不同拍摄姿态下对应的镜头坐标系不同,比如,主镜头在不同拍摄姿态下所对应的主镜头坐标系不同,由此,计算机设备根据第一个拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,以及第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态,确定各拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,并根据各拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,以及重力在世界坐标系下的初始方向向量,确定各拍摄姿态下重力在主镜头坐标系中的方向向量。进一步地,计算机设备根据目标惯性测量数据确定每个拍摄姿态下每个时刻的加速度向量,该加速度向量可理解为相应时刻下重力在惯性传感器坐标系下的方向向量,并根据各拍摄姿态下重力在主镜头坐标系下的方向向量,以及各时刻重力在惯性传感器坐标系下的方向向量,优化得到主镜头与惯性传感器之间的初始旋转量。相对姿态包括旋转量和平移量。
在一个实施例中,通过求解如下优化问题得到主镜头与惯性传感器之间的初始旋转量。
其中,c表示主镜头坐标系,i表示惯性传感器坐标系,m表示拍摄姿态的数量,n表示每个拍摄姿态下相机处于静止状态时所采集到的加速度数量,表示优化得到的惯性传感器和主镜头之间的初始旋转量,是通过求解上述优化方程最终优化得到的,表示在第p个拍摄姿态下相机处于静止状态的第k个时刻,由惯性传感器采集到的加速度向量,Rci表示待求解的旋转量,是上述优化方程中的变量值,为在第p个拍摄姿态下重力在主镜头坐标系下的方向向量,具体可以通过如下公式得到。
在一个实施例中,主镜头的初始外参数据还包括主镜头坐标系与各副镜头坐标系之间的相对姿态。由于相机的主镜头与各副镜头的相对位置是固定不变的,由此,在旋转相机的过程中,主镜头坐标系与各副镜头坐标系之间的相对姿态是保持不变的。进一步地,计算机设备在得到主镜头与惯性传感器之间的初始旋转量后,基于主镜头坐标系与各副镜头坐标系之间的相对姿态以及该初始旋转量,能够确定惯性传感器与各副镜头之间的初始旋转量。相应地,在同步优化得到主镜头与惯性传感器之间的目标旋转量后,能够进一步确定惯性传感器与各副镜头之间的目标旋转量。
上述实施例中,在相机有多个镜头时,基于主镜头的初始外参数据、初始方向向量与目标惯性测量数据,能够快速优化得到主镜头与惯性传感器之间的初始旋转量,以便于基于该初始旋转量进行进一步优化时,能够快速而准确的得到标定结果,由此,在保证标定准确性的同时,能够提高标定效率。
图6为一个实施例中视觉惯导标定方法的流程示意图,如图6所示,该视觉惯导标定方法具体包括以下步骤:
步骤602,获取由相机在多个拍摄姿态下分别采集的静态图像,以及由惯性传感器在拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量;相机设置于包括多面标定板的标定箱内;世界坐标系基于标定箱构建;相机所处的三维空间被划分为预设数量个象限,象限的原点为相机的机体中心;多个拍摄姿态是通过转动相机,以使得相机处于每个象限的区域正对标定箱底面得到的。
步骤604,根据静态图像对相机进行标定,得到相应的初始内参数据与初始外参数据;相机有多个镜头,镜头包括主镜头,主镜头与主镜头坐标系对应;相机的初始外参数据包括每个镜头的初始外参数据;主镜头的初始外参数据包括第一个拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,以及第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态。
步骤606,根据初始惯性测量数据确定每个时刻的数据波动量。
步骤608,根据数据波动量与预设波动阈值确定相应时刻的相机状态。
步骤610,基于相机状态从初始惯性测量数据中筛选出相机处于静止状态时所采集的第一惯性测量数据。
步骤612,根据第一惯性测量数据进行椭球拟合,并根据拟合得到的椭球中心确定惯性传感器的固定误差值。
步骤614,基于固定误差值对第一惯性测量数据进行误差矫正得到目标惯性测量数据。
步骤616,根据第一个拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态,以及初始方向向量确定每个拍摄姿态下重力在主镜头坐标系下的方向向量。
步骤618,基于各拍摄姿态下重力在主镜头坐标系下的方向向量,以及目标惯性测量数据中各拍摄姿态下的加速度向量,优化得到主镜头与惯性传感器之间的初始旋转量。
步骤620,对相机的各镜头的初始内参数据与初始外参数据,以及主镜头与惯性传感器之间的初始旋转量进行同步优化,得到各镜头的目标内参数据与目标外参数据,以及主镜头与惯性传感器之间的目标旋转量。
上述实施例中,基于数量较少的静态图像即能够实现相机与惯性传感器的标定,能够提高标定效率,且能够实现相机的多个镜头与惯性传感器的同时标定,能够进一步提高标定效率。
应该理解的是,虽然图2与图6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2与图6中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种视觉惯导标定装置700,包括:获取模块701、相机标定模块702、误差矫正模块703、第一优化模块704和第二优化模块705,其中:
获取模块701,用于获取由相机在多个拍摄姿态下分别采集的静态图像,以及由惯性传感器在拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量;相机设置于包括多面标定板的标定箱内;世界坐标系基于标定箱构建;
相机标定模块702,用于根据静态图像对相机进行标定,得到相应的初始内参数据与初始外参数据;
误差矫正模块703,用于对初始惯性测量数据进行误差矫正得到目标惯性测量数据;
第一优化模块704,用于根据初始外参数据、初始方向向量与目标惯性测量数据,确定相机与惯性传感器之间的初始旋转量;
第二优化模块705,用于对初始内参数据、初始外参数据与初始旋转量进行同步优化,得到相机的目标内参数据与目标外参数据,以及相机与惯性传感器之间的目标旋转量。
在一个实施例中,误差矫正模块703,还用于从初始惯性测量数据中筛选出相机处于静止状态时所采集的第一惯性测量数据;根据第一惯性测量数据确定惯性传感器的固定误差值;基于固定误差值对第一惯性测量数据进行误差矫正得到目标惯性测量数据。
在一个实施例中,误差矫正模块703,还用于根据第一惯性测量数据进行椭球拟合,并根据拟合得到的椭球中心确定惯性传感器的固定误差值。
在一个实施例中,误差矫正模块703,还用于根据初始惯性测量数据确定每个时刻的数据波动量;根据数据波动量与预设波动阈值确定相应时刻的相机状态;基于相机状态从初始惯性测量数据中筛选出相机处于静止状态时所采集的第一惯性测量数据。
在一个实施例中,相机所处的三维空间被划分为预设数量个象限,象限的原点为相机的机体中心;多个拍摄姿态是通过转动相机,以使得相机处于每个象限的相机机体正对标定箱底面得到的。
在一个实施例中,相机有多个镜头;镜头包括主镜头;初始外参数据包括每个镜头的初始外参数据;第一优化模块704,还用于根据各镜头的初始外参数据,以及初始方向向量与目标惯性测量数据,确定主镜头与惯性测量器之间的初始旋转量。
在一个实施例中,主镜头与主镜头坐标系对应;主镜头的初始外参数据包括第一个拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,以及第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态;第一优化模块704,还用于根据第一个拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态,以及初始方向向量确定每个拍摄姿态下重力在主镜头坐标系下的方向向量;基于各拍摄姿态下重力在主镜头坐标系下的方向向量,以及目标惯性测量数据中各拍摄姿态下的加速度向量,优化得到主镜头与惯性传感器之间的初始旋转量。
关于视觉惯导标定装置的具体限定可以参见上文中对于视觉惯导标定方法的限定,在此不再赘述。上述视觉惯导标定装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端或服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储相机采集的静态图像与惯性传感器采集的初始惯性测量数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种视觉惯导标定方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:获取由相机在多个拍摄姿态下分别采集的静态图像,以及由惯性传感器在拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量;相机设置于包括多面标定板的标定箱内;世界坐标系基于标定箱构建;根据静态图像对相机进行标定,得到相应的初始内参数据与初始外参数据;对初始惯性测量数据进行误差矫正得到目标惯性测量数据;根据初始外参数据、初始方向向量与目标惯性测量数据,确定相机与惯性传感器之间的初始旋转量;对初始内参数据、初始外参数据与初始旋转量进行同步优化,得到相机的目标内参数据与目标外参数据,以及相机与惯性传感器之间的目标旋转量。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从初始惯性测量数据中筛选出相机处于静止状态时所采集的第一惯性测量数据;根据第一惯性测量数据确定惯性传感器的固定误差值;基于固定误差值对第一惯性测量数据进行误差矫正得到目标惯性测量数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据第一惯性测量数据进行椭球拟合,并根据拟合得到的椭球中心确定惯性传感器的固定误差值。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:根据数据波动量与预设波动阈值确定相应时刻的相机状态;基于相机状态从初始惯性测量数据中筛选出相机处于静止状态时所采集的第一惯性测量数据。
在一个实施例中,相机所处的三维空间被划分为预设数量个象限,象限的原点为相机的机体中心;多个拍摄姿态是通过转动相机,以使得相机处于每个象限的区域正对标定箱底面得到的。
在一个实施例中,相机有多个镜头;镜头包括主镜头;初始外参数据包括每个镜头的初始外参数据;处理器执行计算机程序时还实现以下步骤:根据各镜头的初始外参数据,以及初始方向向量与目标惯性测量数据,确定主镜头与惯性测量器之间的初始旋转量。
在一个实施例中,主镜头与主镜头坐标系对应;主镜头的初始外参数据包括第一个拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,以及第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态;处理器执行计算机程序时还实现以下步骤:根据第一个拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态,以及初始方向向量确定每个拍摄姿态下重力在主镜头坐标系下的方向向量;基于各拍摄姿态下重力在主镜头坐标系下的方向向量,以及目标惯性测量数据中各拍摄姿态下的加速度向量,优化得到主镜头与惯性传感器之间的初始旋转量。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:获取由相机在多个拍摄姿态下分别采集的静态图像,以及由惯性传感器在拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量;相机设置于包括多面标定板的标定箱内;世界坐标系基于标定箱构建;根据静态图像对相机进行标定,得到相应的初始内参数据与初始外参数据;对初始惯性测量数据进行误差矫正得到目标惯性测量数据;根据初始外参数据、初始方向向量与目标惯性测量数据,确定相机与惯性传感器之间的初始旋转量;对初始内参数据、初始外参数据与初始旋转量进行同步优化,得到相机的目标内参数据与目标外参数据,以及相机与惯性传感器之间的目标旋转量。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从初始惯性测量数据中筛选出相机处于静止状态时所采集的第一惯性测量数据;根据第一惯性测量数据确定惯性传感器的固定误差值;基于固定误差值对第一惯性测量数据进行误差矫正得到目标惯性测量数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据第一惯性测量数据进行椭球拟合,并根据拟合得到的椭球中心确定惯性传感器的固定误差值。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:根据数据波动量与预设波动阈值确定相应时刻的相机状态;基于相机状态从初始惯性测量数据中筛选出相机处于静止状态时所采集的第一惯性测量数据。
在一个实施例中,相机所处的三维空间被划分为预设数量个象限,象限的原点为相机的机体中心;多个拍摄姿态是通过转动相机,以使得相机处于每个象限的区域正对标定箱底面得到的。
在一个实施例中,相机有多个镜头;镜头包括主镜头;初始外参数据包括每个镜头的初始外参数据;计算机程序被处理器执行时还实现以下步骤:根据各镜头的初始外参数据,以及初始方向向量与目标惯性测量数据,确定主镜头与惯性测量器之间的初始旋转量。
在一个实施例中,主镜头与主镜头坐标系对应;主镜头的初始外参数据包括第一个拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,以及第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态;计算机程序被处理器执行时还实现以下步骤:根据第一个拍摄姿态下的主镜头坐标系与世界坐标系之间的相对姿态,第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态,以及初始方向向量确定每个拍摄姿态下重力在主镜头坐标系下的方向向量;基于各拍摄姿态下重力在主镜头坐标系下的方向向量,以及目标惯性测量数据中各拍摄姿态下的加速度向量,优化得到主镜头与惯性传感器之间的初始旋转量。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种视觉惯导标定方法,其特征在于,所述方法包括:
获取由相机在多个拍摄姿态下分别采集的静态图像,以及由惯性传感器在所述拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量;所述相机设置于包括多面标定板的标定箱内;所述世界坐标系基于所述标定箱构建;其中,所述相机有多个镜头,所述静态图像为所述相机的多个镜头在各拍摄姿态下联合采集;
根据所述静态图像对所述相机进行标定,得到相应的初始内参数据与初始外参数据;
对所述初始惯性测量数据进行误差矫正得到目标惯性测量数据;
根据所述初始外参数据、所述初始方向向量与所述目标惯性测量数据,确定所述相机与所述惯性传感器之间的初始旋转量;
根据所述标定箱中各标定板的标定板坐标系,确定世界坐标系与各拍摄姿态下的惯性传感器坐标系之间的相对姿态;
根据所述目标惯性测量数据,确定重力在惯性传感器坐标系下的测量方向向量;
根据所述初始方向向量、所述世界坐标系与各拍摄姿态下的惯性传感器坐标系之间的相对姿态,确定重力在惯性传感器坐标系下的估计方向向量;
根据所述重力在惯性传感器坐标系下的测量方向向量和所述重力在惯性传感器坐标系下的估计方向向量,确定所述惯性传感器的估计误差;
将所述标定板中的各角点投影至各静态图像中,得到各角点投影在各静态图像中的角点坐标;并基于所述角点坐标,确定相机重投影误差;
对所述初始内参数据、所述初始外参数据与所述初始旋转量进行同步优化,使得所述相机重投影误差与所述惯性传感器的所述估计误差和最小,得到所述相机的目标内参数据与目标外参数据,以及所述相机与所述惯性传感器之间的目标旋转量。
2.根据权利要求1所述的方法,其特征在于,所述对所述初始惯性测量数据进行误差矫正得到目标惯性测量数据,包括:
从所述初始惯性测量数据中筛选出所述相机处于静止状态时所采集的第一惯性测量数据;
根据所述第一惯性测量数据确定所述惯性传感器的固定误差值;
基于所述固定误差值对所述第一惯性测量数据进行误差矫正得到目标惯性测量数据。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一惯性测量数据确定所述惯性传感器的固定误差值,包括:
根据所述第一惯性测量数据进行椭球拟合,并根据拟合得到的椭球中心确定所述惯性传感器的固定误差值。
4.根据权利要求2所述的方法,其特征在于,所述从所述初始惯性测量数据中筛选出所述相机处于静止状态时所采集的第一惯性测量数据,包括:
根据所述初始惯性测量数据确定每个时刻的数据波动量;
根据所述数据波动量与预设波动阈值确定相应时刻的相机状态;
基于所述相机状态从所述初始惯性测量数据中筛选出所述相机处于静止状态时所采集的第一惯性测量数据。
5.根据权利要求1所述的方法,其特征在于,所述相机所处的三维空间被划分为预设数量个象限,所述象限的原点为所述相机的机体中心;所述多个拍摄姿态是通过转动所述相机,以使得所述相机处于每个象限的区域正对标定箱底面得到的。
6.根据权利要求1至5任意一项所述的方法,其特征在于,所述相机有多个镜头;所述镜头包括主镜头;所述初始外参数据包括每个镜头的初始外参数据;所述根据所述初始外参数据、所述初始方向向量与所述目标惯性测量数据,确定所述相机与所述惯性传感器之间的初始旋转量,包括:
根据各镜头的初始外参数据,以及所述初始方向向量与所述目标惯性测量数据,确定所述主镜头与所述惯性传感器之间的初始旋转量。
7.根据权利要求6所述的方法,其特征在于,所述主镜头与主镜头坐标系对应;所述主镜头的初始外参数据包括第一个拍摄姿态下的主镜头坐标系与所述世界坐标系之间的相对姿态,以及所述第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态;所述根据各镜头的初始外参数据,以及所述初始方向向量与所述目标惯性测量数据,确定所述主镜头与所述惯性传感器之间的初始旋转量,包括:
根据第一个拍摄姿态下的主镜头坐标系与所述世界坐标系之间的相对姿态,所述第一个拍摄姿态下的主镜头坐标系与其他拍摄姿态下的主镜头坐标系之间的相对姿态,以及所述初始方向向量确定每个拍摄姿态下所述重力在主镜头坐标系下的方向向量;
基于各拍摄姿态下所述重力在主镜头坐标系下的方向向量,以及所述目标惯性测量数据中各拍摄姿态下的加速度向量,优化得到所述主镜头与所述惯性传感器之间的初始旋转量。
8.一种视觉惯导标定装置,其特征在于,所述装置包括:
获取模块,用于获取由相机在多个拍摄姿态下分别采集的静态图像,以及由惯性传感器在所述拍摄姿态下同步采集的初始惯性测量数据,并获取重力在世界坐标系下的初始方向向量;所述相机设置于包括多面标定板的标定箱内;所述世界坐标系基于所述标定箱构建;其中,所述相机有多个镜头,所述静态图像为所述相机的多个镜头在各拍摄姿态下联合采集;
相机标定模块,用于根据所述静态图像对所述相机进行标定,得到相应的初始内参数据与初始外参数据;
误差矫正模块,用于对所述初始惯性测量数据进行误差矫正得到目标惯性测量数据;
第一优化模块,用于根据所述初始外参数据、所述初始方向向量与所述目标惯性测量数据,确定所述相机与所述惯性传感器之间的初始旋转量;
第二优化模块,用于根据所述标定箱中各标定板的标定板坐标系,确定世界坐标系与各拍摄姿态下的惯性传感器坐标系之间的相对姿态;根据所述目标惯性测量数据,确定重力在惯性传感器坐标系下的测量方向向量;根据所述初始方向向量、所述世界坐标系与各拍摄姿态下的惯性传感器坐标系之间的相对姿态,确定重力在惯性传感器坐标系下的估计方向向量;根据所述重力在惯性传感器坐标系下的测量方向向量和所述重力在惯性传感器坐标系下的估计方向向量,确定所述惯性传感器的估计误差;将所述标定板中的各角点投影至各静态图像中,得到各角点投影在各静态图像中的角点坐标;并基于所述角点坐标,确定相机重投影误差;对所述初始内参数据、所述初始外参数据与所述初始旋转量进行同步优化,使得所述相机重投影误差与所述惯性传感器的所述估计误差和最小,得到所述相机的目标内参数据与目标外参数据,以及所述相机与所述惯性传感器之间的目标旋转量。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110572596.2A CN113436267B (zh) | 2021-05-25 | 2021-05-25 | 视觉惯导标定方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110572596.2A CN113436267B (zh) | 2021-05-25 | 2021-05-25 | 视觉惯导标定方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113436267A CN113436267A (zh) | 2021-09-24 |
CN113436267B true CN113436267B (zh) | 2023-07-14 |
Family
ID=77803159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110572596.2A Active CN113436267B (zh) | 2021-05-25 | 2021-05-25 | 视觉惯导标定方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113436267B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114323010B (zh) * | 2021-12-30 | 2024-03-01 | 北京达佳互联信息技术有限公司 | 初始特征确定方法、装置、电子设备及存储介质 |
CN115174879B (zh) * | 2022-07-18 | 2024-03-15 | 峰米(重庆)创新科技有限公司 | 投影画面校正方法、装置、计算机设备和存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105606127A (zh) * | 2016-01-11 | 2016-05-25 | 北京邮电大学 | 一种双目立体相机与惯性测量单元相对姿态标定方法 |
CN107255476B (zh) * | 2017-07-06 | 2020-04-21 | 青岛海通胜行智能科技有限公司 | 一种基于惯性数据和视觉特征的室内定位方法和装置 |
CN108037318A (zh) * | 2017-12-07 | 2018-05-15 | 智灵飞(北京)科技有限公司 | 一种基于椭球拟合的无人机加速度计校准方法 |
CN109029433B (zh) * | 2018-06-28 | 2020-12-11 | 东南大学 | 一种移动平台上基于视觉和惯导融合slam的标定外参和时序的方法 |
CN109120833A (zh) * | 2018-10-31 | 2019-01-01 | 中国矿业大学(北京) | 一种具有方向确定功能的监控摄像机 |
CN111189474A (zh) * | 2020-01-13 | 2020-05-22 | 西安电子科技大学 | 基于mems的marg传感器的自主校准方法 |
-
2021
- 2021-05-25 CN CN202110572596.2A patent/CN113436267B/zh active Active
Non-Patent Citations (2)
Title |
---|
Visual-Inertial SLAM Initialization: A General Linear Formulation and a Gravity-Observing Non-Linear Optimization;Javier Dom´ınguez-Conti et al.;2018 IEEE international symposium on mixed and augmented reality;第37-45页 * |
深度相机与惯性测量单元的相对姿态标定;陈集辉 等;哈尔滨工业大学学报;第50卷(第11期);第131-136页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113436267A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108765498B (zh) | 单目视觉跟踪方法、装置及存储介质 | |
US10085011B2 (en) | Image calibrating, stitching and depth rebuilding method of a panoramic fish-eye camera and a system thereof | |
CN112184824B (zh) | 一种相机外参标定方法、装置 | |
US10109104B2 (en) | Generation of 3D models of an environment | |
EP3028252B1 (en) | Rolling sequential bundle adjustment | |
WO2021004416A1 (zh) | 一种基于视觉信标建立信标地图的方法、装置 | |
JP5027747B2 (ja) | 位置測定方法、位置測定装置、およびプログラム | |
CN111754579B (zh) | 多目相机外参确定方法及装置 | |
JP2016525842A (ja) | カメラ動き予測及び修正のための方法 | |
CN113436267B (zh) | 视觉惯导标定方法、装置、计算机设备和存储介质 | |
CN108780577A (zh) | 图像处理方法和设备 | |
CN113551665B (zh) | 一种用于运动载体的高动态运动状态感知系统及感知方法 | |
WO2021104308A1 (zh) | 全景深度测量方法、四目鱼眼相机及双目鱼眼相机 | |
WO2020181409A1 (zh) | 拍摄装置参数标定方法、设备及存储介质 | |
US8509522B2 (en) | Camera translation using rotation from device | |
CN108444452B (zh) | 目标经纬度和拍摄装置的三维空间姿态的检测方法及装置 | |
CN112629565B (zh) | 像机与惯性测量单元旋转关系校准方法、装置和设备 | |
Sahin | Comparison and calibration of mobile phone fisheye lens and regular fisheye lens via equidistant model | |
CN111383282A (zh) | 位姿信息确定方法及装置 | |
WO2018100230A1 (en) | Method and apparatuses for determining positions of multi-directional image capture apparatuses | |
WO2023062994A1 (ja) | 学習装置、学習方法、学習プログラム、カメラパラメータ算出装置、カメラパラメータ算出方法及びカメラパラメータ算出プログラム | |
KR20210057964A (ko) | 촬영장비를 구비한 이동체의 위치정보를 판단하는 방법 및 시스템 | |
CN113790711B (zh) | 一种无人机低空飞行位姿无控多视测量方法及存储介质 | |
JP2005275789A (ja) | 三次元構造抽出方法 | |
CN116129031A (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 |