智能穿戴设备的标定方法、装置、设备、介质和程序产品
文献发布时间:2024-04-18 20:00:50
技术领域
本公开涉及智能穿戴设备技术领域,具体地涉及一种智能穿戴设备的标定方法、装置、设备、介质和程序产品。
背景技术
AR(Augmented Reality,现实增强)眼镜是一种增强现实技术眼镜,可以将虚拟图像叠加在现实场景中,使用户可以看到虚拟现实与现实世界的混合。AR眼镜通常包括显示屏、计算机视觉技术、传感器和无线连接等功能。它可以帮助用户更好地理解和掌握复杂的信息和技能,同时提供更加沉浸的用户体验和更高的效率。
AR眼镜的标定主要是通过一些测量和计算,来确定一些参数,从而确认跟踪摄像机坐标系到头盔显示器屏幕坐标系的映射关系,这里将会影响到如何将文字信息准确地呈现在对应的物体旁边。
当前的AR眼镜标定方案缺乏系统性设计,标定模块相对比较分散。基于不同需求,各方案侧重点有所不同,主要分为:显示镜片的标定,IMU内参的标定,IMU到显示镜片的标定。由于标定模块比较分散,当前缺少一种全流程的从内参、外参,到验证模块的全流程标定系统。各个方案也缺乏对标定结果进行系统性评定的策略,即系统性地验证已标定参数的准确性。
发明内容
鉴于上述问题,本公开提供了提高AR眼镜标定效率的智能穿戴设备的标定方法、装置、设备、介质和程序产品,用于至少部分解决以上技术问题。
根据本公开的第一个方面,提供了一种智能穿戴设备的标定方法,包括:获取连续N个时刻的静态原始数据,N为正整数,静态原始数据是在转台静置的情况下获取的,转台的一侧固定设置有具有IMU的智能穿戴设备;获取连续M个时刻的动态原始数据,M为正整数,动态原始数据是在转台转动的情况下获取的;基于静态原始数据计算得到内参变化矩阵;根据内参变化矩阵对IMU进行内参标定;基于动态原始数据计算得到外参变化矩阵;以及根据外参变化矩阵对IMU进行外参标定;其中,外参变化矩阵为每个时段的IMU坐标系到转台坐标系的最小变化矩阵;外参变化矩阵由每个时段的预测转台姿态变化矩阵和每个时段的IMU姿态变化矩阵计算得到;转台坐标系与眼镜坐标系相同。
根据本公开的实施例,动态原始数据包括IMU数据和转台姿态数据,基于动态原始数据计算得到外参变化矩阵包括:根据第k到k+1时段的IMU数据,确定第k到k+1时段的IMU姿态变化矩阵;根据第k到k+1时段的转台姿态数据,确定第k到k+1时段的实际转台姿态变化矩阵;获取预测转台姿态变化矩阵;根据实际转台姿态变化矩阵以及预测转台姿态变化矩阵,确定外参变化矩阵;其中,预测转台姿态变化矩阵是实际转台姿态变化矩阵与预测转台姿态变化矩阵的误差最小值对应的变化矩阵值,k为正整数,且k在M的范围内。
根据本公开的实施例,在无误差的情况下,实际转台姿态变化矩阵与预测转台姿态变化矩阵互为逆矩阵。
根据本公开的实施例,根据第k到k+1时段的IMU数据,确定第k到k+1时段的IMU姿态变化矩阵包括:根据第k到k+1时段的IMU的角速度与陀螺仪偏置的差的积分,确定第k+1时刻的IMU四元数姿态;设置平移向量为0,并将第k+1时刻的IMU四元数姿态转换为第k到k+1时段的IMU姿态变化矩阵。
根据本公开的实施例,根据第k到k+1时段的转台姿态数据,确定第k到k+1时段的实际转台姿态变化矩阵包括:根据第k到k+1时段实际转台的角度变化,确定第k到k+1时段的实际转台姿态变化矩阵。
根据本公开的实施例,获取预测转台姿态变化矩阵包括:构建非线性优化方程:
其中,T
根据本公开的实施例,根据实际转台姿态变化矩阵以及预测转台姿态变化矩阵,确定外参变化矩阵包括:构建坐标系转换方程:
其中,
根据本公开的实施例,在N大于第一阈值的情况下,转动转台;以及在M大于第二阈值的情况下,停止转动转台,并将智能穿戴设备静置。
根据本公开的实施例,静态原始数据包括IMU的角速度和陀螺仪偏置,基于静态原始数据计算得到内参变化矩阵包括:基于第x时刻到第x+1时刻的IMU的角速度和陀螺仪偏置,确定IMU姿态的四元数,其中,x为正整数,且x在N的范围内;根据IMU姿态的四元数,确定IMU的旋转矩阵和平移向量;以及根据旋转矩阵和平移向量,确定内参变化矩阵。
根据本公开的实施例,智能穿戴设备的标定方法还包括:根据内参变化矩阵对IMU的角速度进行矫正,得到矫正角速度;根据IMU的角速度,确定原始转台转角;根据矫正角速度,确定矫正转台转角;对矫正转台转角与原始转台转角的转角差值进行阈值判定;以及在转角差值小于第三阈值的情况下,确定智能穿戴设备标定成功。
本公开的第二方面提供了一种智能穿戴设备的标定装置,包括:数据采集模块,用于采集连续N个时刻的静态原始数据和连续M个时刻的动态原始数据;以及参数标定模块,用于根据本公开任一实施例的方法对智能穿戴设备进行参数标定;其中,N、M为正整数;静态原始数据包括IMU的角速度和陀螺仪偏置,动态原始数据包括IMU数据和转台姿态数据。
本公开的第三方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例的方法。
本公开的第四方面还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器执行上述任一实施例的方法。
本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述任一实施例的方法。
与现有技术相比,本公开提供的智能穿戴设备的标定方法、装置、电子设备、存储介质和程序产品,至少具有以下有益效果:
(1)本公开的智能穿戴设备的标定方法,通过最小化多个不同时段的IMU姿态变化矩阵与基于惯性测量单元测量角速度得到的预测的转台姿态变化矩阵之间的误差,可以确定惯性测量单元所在坐标系与转台所在坐标系(等同于眼镜坐标系)之间的外参变换矩阵,实现了惯性测量单元到智能穿戴设备的外参标定。本公开的标定方法过程简便快捷,提高了对智能穿戴设备的标定效率。
(2)本公开的智能穿戴设备的标定方法,通过转台多时段的静止与转动,分别获取静态原始数据和动态原始数据。基于手眼标定原理,采用静态原始数据,如IMU角速度和陀螺仪偏置,对AR眼镜进行内参标定;采用动态原始数据,如IMU角速度、陀螺仪偏置和转台姿态数据,对AR眼镜进行外参标定。以及根据内参标定参数对矫正后的IMU数据进行验证,可以判断标定效果,实现了一种全流程、系统化的智能穿戴设备标定方案。
(3)本公开的智能穿戴设备的标定方法,以四元数的形式表示惯性测量单元姿态,避免了惯性测量单元旋转时的欧拉角顺归问题,简化了运算过程,降低了运算量。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1A示意性示出了根据本公开实施例的智能穿戴设备的标定方法、装置、设备、介质和程序产品的应用场景图;图1B示意性示出了根据本公开实施例的智能穿戴设备的结构图;
图2示意性示出了根据本公开实施例的智能穿戴设备的标定方法的流程图;
图3示意性示出了根据本公开实施例的确定外参变化矩阵的方法流程图;
图4示意性示出了根据本公开实施例的确定IMU姿态变化矩阵的方法流程图;
图5示意性示出了根据本公开实施例的确定实际转台姿态变化矩阵的方法流程图;
图6示意性示出了根据本公开实施例的获取预测转台姿态变化矩阵的方法流程图;
图7示意性示出了根据本公开实施例的确定外参变化矩阵的方法流程图;
图8示意性示出了根据本公开实施例的获取原始数据的方法流程图;
图9示意性示出了根据本公开实施例的确定内参变化矩阵的方法流程图;
图10示意性示出了根据本公开实施例的验证标定结果的方法流程图;
图11示意性示出了根据本公开实施例的智能穿戴设备标定装置的结构框图;以及
图12示意性示出了根据本公开实施例的适于实现智能穿戴设备标定方法的电子设备的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
图1A示意性示出了根据本公开实施例的智能穿戴设备的标定方法、装置、设备、介质和程序产品的应用场景图。图1B示意性示出了根据本公开实施例的智能穿戴设备的结构图。
如图1A所示,根据该实施例的应用场景100可以包括智能穿戴设备10、转台20和控制设备30。其中,如图1B所示,智能穿戴设备10例如为AR眼镜,包括:镜架主体101、第一镜腿102、第二镜腿103、传感器104以及电路105。其中,镜架主体101设置有镜片,还包括与第一镜腿102连接的第一端,以及与第二镜腿连接的第二端。传感器104与电路105连接。智能穿戴设备10和转台20通过无线或有线的方式与控制设备30通信连接。控制设备30可以控制转台20的运动状态,并记录运动参数,以及获取智能穿戴设备10传输的传感数据。
电路105具体可以为处理器,例如中央处理器(central processing unit,CPU)、系统级芯片(System on Chip,SOC)等,本公开实施例对此不作限定。
传感器104具体可以为惯性测量单元(Inertial Measurement Unit,IMU),AR眼镜通过传感器104采集AR眼镜当前的六自由度信息,电路105对传感器104采集的六自由度信息进行缓存或向控制设备30传输。
在一些示例中,智能眼镜还可以包括A/D转换器,上述A/D转换器分别与传感器104和电路105连接,用于将传感器104采集的模拟数据转换为数字数据后发送至电路105中,需要说明的是,上述A/D转换器也可以被集成到传感器104或电路105中,本申请实施例对此不作限定。
需要说明的是,图1B仅作为示例而非限定,例如,在本申请实施例中,传感器104或电路105不仅可以设置在第一镜腿102上,还可以设置于镜架主体101,或第二镜腿103上。又例如,传感器104或电路105不仅可以设置在镜腿内,还可以设置于镜腿外(比如突出于镜腿设置)。又例如,传感器的数量还可以大于一个,比如两个,或者三个。
在一些描述中,第一镜腿102和第二镜腿103也可以被称为左右镜腿。也就是说,在一些描述中,“左右镜腿”与“第一镜腿102和第二镜腿103”具有相同的含义,可以进行等价替换。
作为示例,传感器还可以包括电子罗盘、指南针、陀螺仪、霍尔传感器、光学传感器等,本申请实施例对此不作限定。
可以理解的是,本公开的方法可以应用于AR眼镜和VR眼镜等智能穿戴设备。对于VR眼镜来说,由于其显示的场景是360度全景的,所以需要精确的外参标定,以确定用户头部姿态和位置,以及场景中各个物体的相对位置关系。这样可以帮助用户更好地沉浸在虚拟世界中。对于AR眼镜来说,由于其需要在现实场景中叠加虚拟信息,所以也需要进行外参标定,以确定虚拟信息和现实场景的相对位置关系,保证AR效果的准确性。
除了VR眼镜和AR眼镜,还可以对其他一些智能产品进行外参标定。例如,一些采用激光雷达、摄像头、GPS等传感器进行测距、定位和导航的智能硬件产品,如智能汽车、无人机、机器人等。
以下将基于图1A描述的场景,通过图2~图10对公开实施例的智能穿戴设备的标定方法进行详细描述。
图2示意性示出了根据本公开实施例的智能穿戴设备的标定方法的流程图。
如图2所示,该实施例的智能穿戴设备的标定方法例如包括操作S210~操作S240,该智能穿戴设备的标定方法可以由计算机程序在相应计算机硬件上执行。
在操作S210,获取连续N个时刻的静态原始数据,N为正整数,静态原始数据是在转台静置的情况下获取的,转台的一侧固定设置有具有IMU的智能穿戴设备。
在操作S220,获取连续M个时刻的动态原始数据,M为正整数,动态原始数据是在转台转动的情况下获取的。
在操作S230,基于静态原始数据计算得到内参变化矩阵,根据内参变化矩阵对IMU进行内参标定。
在操作S240,基于动态原始数据计算得到外参变化矩阵,根据外参变化矩阵对IMU进行外参标定。其中,外参变化矩阵为每个时段的IMU坐标系到转台坐标系的最小变化矩阵,外参变化矩阵由每个时段的预测转台姿态变化矩阵和每个时段的IMU姿态变化矩阵计算得到。转台坐标系与眼镜坐标系相同。
例如,智能穿戴设备是指具有IMU(惯性测量单元)的设备,例如AR眼镜或头盔(也可以是智能眼镜、智能指环等智能穿戴设备)。把一个AR眼镜或头盔固定在一个旋转的平台上,这个平台可以360°旋转。在平台不旋转的时候,记录下IMU的读数。假设N=5,那么记录下5个时刻(包括初始时刻)的IMU读数,即获取了静止状态下的4段IMU姿态变化数据。在平台旋转的时候,记录下IMU的读数。假设M=10,那么记录下10个时刻(包括初始时刻)的IMU读数,即获取了运动状态下的9段IMU姿态变化数据。根据静置时的IMU读数,计算出IMU内部的一些参数,并对这些参数进行校准。根据旋转时的IMU读数,计算出IMU与外部坐标系(这里是转台坐标系)之间的相对位置关系,并对这个关系进行校准。计算出每个时段IMU相对于转台坐标系的旋转矩阵,此处的旋转矩阵即外参矩阵,通过非线性优化方程对计算的过程进行优化得到计算误差最小值对应的外参矩阵作为最小变化矩阵。
可以理解的是,N与M可以相等,也可以不相等。在不同实施例中,可以根据精度要求等进行相应调整。
例如,先分别通过IMU数据计算出IMU姿态变化矩阵,以及通过控制设备30记录的转台运动参数计算出实际的转台姿态变化矩阵(等同于眼镜姿态变化矩阵,由于眼镜是固定在转台上的,因此,转台的坐标系和眼镜的坐标系是相同的),然后使用每个时段的这两个矩阵来计算出该最小变化矩阵。
其中,假设转台坐标系和眼镜坐标系是重合的。本公开的方法先通过静态原始数据计算得到内参变化矩阵,以及通过动态的原始数据来计算出外参变化矩阵,然后根据内参变化矩阵和/或外参变化矩阵来对IMU进行标定。这种标定方法可以帮助更好地理解和控制智能穿戴设备的运动状态,提高智能穿戴设备的姿态估计精度。
由于每个传感器都有自己的坐标系,例如IMU和AR眼镜分别有IMU坐标系和AR眼镜坐标系。那么当用IMU数据对AR眼镜姿态进行估计时,需要将姿态数据统一到同一个坐标系下才能把数据融合在一起。这就需要通过外参变换矩阵T
图3示意性示出了根据本公开实施例的确定外参变化矩阵的方法流程图。
根据本公开的实施例,动态原始数据例如包括IMU数据和转台姿态数据,如图3所示,例如通过操作S351~操作S354来计算得到外参变化矩阵。
在操作S351,根据第k到k+1时段的IMU数据,确定第k到k+1时段的IMU姿态变化矩阵。
在操作S352,根据第k到k+1时段的转台姿态数据,确定第k到k+1时段的实际转台姿态变化矩阵。
在操作S353,获取预测转台姿态变化矩阵。
在操作S354,根据实际转台姿态变化矩阵以及预测转台姿态变化矩阵,确定外参变化矩阵。其中,预测转台姿态变化矩阵是实际转台姿态变化矩阵与预测转台姿态变化矩阵的误差最小值对应的变化矩阵值,k为正整数,且k在M的范围内。
例如,智能穿戴设备(例如AR眼镜)具有一个IMU。这个IMU可以测量出设备的姿态(朝向)以及设备相对于一个固定坐标系(例如转台坐标系)的位置。首先,收集一些静态原始数据,例如包括设备在静止状态下的IMU读数。这些数据可以帮助了解设备在静止状态下的姿态变化误差。接下来,收集动态原始数据,例如包括设备在旋转状态下的IMU读数和转台的姿态数据。这些数据可以帮助了解设备在运动状态下的表现。然后,可以利用这些动态原始数据来计算外参变化矩阵。这个过程可以包括以下步骤:
首先,将转台保持静止,并收集AR眼镜的IMU数据。假设收集了N=5个时刻的IMU数据,这些数据表示当转台不旋转时,AR眼镜的姿态(也就是头部位置)。
然后,将转台旋转,并同时收集AR眼镜的IMU数据和转台的姿态数据。假设收集了M=10个时刻的数据,这些数据表示当转台旋转时,AR眼镜的姿态和转台的姿态。使用动态原始数据,可以计算出每个时段的IMU姿态变化矩阵(也就是当前时刻的AR眼镜相对于上一时刻的旋转矩阵)和转台姿态变化矩阵(也就是当前时刻的实际转台相对于上一时刻的旋转矩阵)。例如,根据第1时刻到第2时刻的IMU数据,确定第1到2时段(即9个时段中的第一个时段)的IMU姿态变化矩阵。这个矩阵描述了设备在第1到2时段内的旋转和位置变化。以及根据第1时刻到第2时刻的转台姿态数据,确定第1到2时段的实际转台姿态变化矩阵。这个矩阵描述了转台在第1到2时段内的旋转和位置变化。通过数学计算预测的转台姿态变化矩阵,使得该9个时段内的实际转台姿态变化矩阵与预测转台姿态变化矩阵之间的误差最小。
最后,使用实际转台姿态变化矩阵与预测转台姿态变化矩阵来计算外参变化矩阵,例如AR眼镜相对于转台的相对位置和运动轨迹。这样,可以提高AR眼镜跟踪头部的准确性。通过本公开的标定方法可以准确地校准AR眼镜的IMU数据,并使其能够准确地跟踪头部运动。这对于增强现实应用来说非常重要,例如在游戏、虚拟现实等领域中,需要精确地跟踪用户的头部运动来实现更好的沉浸式体验。
图4示意性示出了根据本公开实施例的确定IMU姿态变化矩阵的方法流程图。
根据本公开的实施例,IMU数据例如包括IMU的角速度和陀螺仪偏置,如图4所示,例如通过操作S4511~操作S4512来确定IMU姿态变化矩阵。
在操作S4511,根据第k到k+1时段的IMU的角速度与陀螺仪偏置的差的积分,确定第k+1时刻的IMU四元数姿态。
在操作S4512,设置平移向量为0,并将第k+1时刻的IMU四元数姿态转换为第k到k+1时段的IMU姿态变化矩阵。
例如,角速度是描述物体绕着某个轴旋转的速度的量,而陀螺仪偏置是描述陀螺仪零点的偏差的量。首先,根据第1到2时段的IMU角速度与陀螺仪偏置的差的积分来确定第2时刻的IMU四元数姿态。这可以通过将角速度与陀螺仪偏置的差进行积分得到。然后,将平移向量的初始值设为0,并将其与第2时刻的IMU四元数姿态相乘,得到用矩阵来表示的第2时刻的IMU姿态变化,即第1到2时段的IMU姿态变化矩阵。
通过这个过程,可以更好地了解设备在第1到第2时段内的旋转和位置变化,从而更好地控制智能穿戴设备的运动状态。这对于增强现实应用来说非常重要,因为它可以帮助更准确地定位设备相对于真实世界的方向和位置。
在一实施例中,可以通过如下公式计算IMU的四元数姿态:
其中,
然后,将IMU对应时刻(例如,以k到k+1时刻为例)的用四元数表示的姿态
在一实施例中,可以通过如下方式将用四元数表示的姿态
首先,将四元数表示的姿态
然后,用求解得到的旋转矩阵Rex和平移向量(这里为0),来表示k至k+1时段内的姿态变化矩阵。
其中,R是旋转矩阵Rex,t是平移向量(此处为0)。
可以理解的是,k可以取从1到M-1中任一值,通过改变k的取值,可以计算出每一相邻时段的IMU姿态变化矩阵,方法同上,此处不再赘述。
图5示意性示出了根据本公开实施例的确定实际转台姿态变化矩阵的方法流程图。
根据本公开的实施例,如图5所示,例如通过操作S5521来确定实际转台姿态变化矩阵。
在操作S5521,根据第k到k+1时段实际转台的角度变化,确定第k到k+1时段的实际转台姿态变化矩阵。
例如,转台可以绕着z轴旋转,并且收集了第1到2时段的转台姿态数据,这些数据包括转台绕着z轴旋转的角度变化。首先,需要确定第1时刻的转台姿态,这可以通过查看转台的当前角度来得到。然后,需要确定第2时刻的转台姿态,这可以通过查看转台的下一个时刻的角度来得到。接下来,计算出第1到2时段实际转台的角度变化,这可以通过将第2时刻的角度减去第1时刻的角度得到。最后,使用这个角度变化来计算第1到2时段的实际转台姿态变化矩阵。这个矩阵描述了转台在相邻时刻之间的旋转和位置变化。通过这个过程,可以得到一个更准确的实际转台姿态变化矩阵,从而更好地了解设备在不同时刻之间的旋转和位置变化。
可以理解的是,k可以取从1到M-1中任一值,通过改变k的取值,可以计算出每一相邻时段的实际转台姿态变化矩阵,方法同上,此处不再赘述。
需要说明的是,本公开在对智能穿戴设备(如AR眼镜)进行标定时,假设AR眼镜的镜片中心是一个理想的坐标系,即xoy平面(转台表面)与大地水平,z轴与之垂直。
图6示意性示出了根据本公开实施例的获取预测转台姿态变化矩阵的方法流程图。
根据本公开的实施例,如图6所示,例如通过操作S6531~操作S6532来获取预测转台姿态变化矩阵。
在操作S6531,构建非线性优化方程:
其中,T
在操作S6532,根据非线性优化方程,确定预测转台姿态变化矩阵。
这个问题是一个非线性优化问题,需要找到一个最优的预测转台姿态变化矩阵,使得实际转台姿态变化矩阵与预测转台姿态变化矩阵之间的误差最小化。例如,收集了第k到k+1时段、第k+1到k+2时段、第k+3到k+4时段、…,以及第k+N-1到k+N时段的IMU数据和转台姿态数据,可以利用这些数据来确定对应时段的实际转台姿态变化矩阵T
接着,需要建立误差最小值的标准。
可以理解的是,在无误差的情况下,实际转台姿态变化矩阵与预测转台姿态变化矩阵互为逆矩阵。因为在无误差的情况下,实际转台姿态变化矩阵与预测转台姿态变化矩阵应该是一致的。因此,当实际转台姿态变化矩阵与预测转台姿态变化矩阵的差值最小时,此时对应的预测转台姿态变化矩阵是待求解的值,即最优预测转台姿态变化矩阵值。
为了求解这个非线性优化方程中的最优预测转台姿态变化矩阵值,可以使用一种优化算法,例如梯度下降法或牛顿法。这些算法可以迭代地更新预测转台姿态变化矩阵,直到得到一个最优解。在非线性优化过程中,需要选择合适的优化算法和参数,以找到满足给定条件的预测转台姿态变化矩阵。优化算法可以包括梯度下降法、牛顿法、遗传算法等,具体选择取决于问题的性质和要求。
此外,还需要考虑一些约束条件,例如预测转台姿态变化矩阵必须是正交矩阵,以满足物理上的约束。在优化过程中,可以将这些约束条件作为目标函数的一部分,或者通过惩罚项的方式加入到目标函数中,以确保优化的结果符合实际要求。
在求解这个非线性优化方程时,还需要注意以下几点:
初始值的选择:初始值的选择对优化算法的性能有很大的影响。如果初始值选择不当,可能会导致优化算法陷入局部最优解,或者无法收敛到最优解。因此,需要选择一个合适的初始值。
约束条件:在实际应用中,需要对预测转台姿态变化矩阵添加一些约束条件,例如对称性、正定性等。这些约束条件可以增加优化问题的难度,因此需要在优化算法中考虑这些约束条件。
迭代次数和停止条件:优化算法需要迭代一定次数才能收敛到最优解。但是,如果迭代次数过多或者停止条件设置不当,会导致优化算法陷入局部最优解或者无法收敛到最优解。因此,需要选择合适的迭代次数和停止条件。
通过求解这个非线性优化方程,可以得到一个优化的预测转台姿态变化矩阵,或者称为误差最小值对应的预测转台变化矩阵。在优化了预测转台变化矩阵的情况下,也优化了接下来需要用预测转台变化矩阵和IMU姿态变化矩阵来求算外参变化矩阵的过程,从而得到了优化后的外参变化矩阵值,也就是误差最小值对应的外参变化矩阵,进而从整体上更精准地估计了眼镜和/或IMU的姿态,提高了可穿戴设备的姿态估计精度。
图7示意性示出了根据本公开实施例的确定外参变化矩阵的方法流程图。
根据本公开的实施例,如图7所示,例如通过操作S7541~操作S7542来确定外参变化矩阵。
在操作S7541,构建坐标系转换方程:
其中,
在操作S7542,在预测转台姿态变化矩阵为非线性优化方程计算得到的最小误差对应的值时,通过坐标系转换方程,确定外参变化矩阵。
例如,在该实施例中,T
图8示意性示出了根据本公开实施例的获取原始数据的方法流程图。
根据本公开的实施例,如图8所示,例如通过操作S831~操作S832操作转台来获取原始数据。
在操作S831,在N大于第一阈值的情况下,转动转台。以及
在操作S832,在M大于第二阈值的情况下,停止转动转台,并将智能穿戴设备静置。
例如,智能穿戴设备被固定在转台上进行标定。目标是获取该设备在静态和动态状态下的原始数据,并对这些数据进行处理和分析,以校准设备的精度和性能。其中,第一阈值和第二阈值例如分别设置为N=10个静态时刻和M=10个动态时刻,阈值的范围可根据后续验证的效果进行调整,在这里不做限定。可以通过操作转台来模拟设备的静态和动态状态,并同时记录智能穿戴设备的状态数据。
首先,将智能穿戴设备放置在转台上,并让其处于静止状态。然后,开始记录实验数据。在静态状态下,记录连续10个时刻的原始数据,这些数据将用于校准设备的静态精度。
接下来,操作转台,使其从静止状态开始转动,并让设备进入动态状态。然后,开始记录动态状态的原始数据。在动态状态下,记录连续10个时刻的原始数据,这些数据将用于校准设备的动态性能。
在采集完静态和动态原始数据后,再对数据进行处理和分析。可以利用这些数据来校准设备的加速度计、陀螺仪等传感器的精度和性能。例如,可以比较实际转台姿态与智能穿戴设备检测到的姿态之间的差异,以此来评估设备的精度。也就是说,本公开对同一个设备在同一个流程来完成两部分的姿态估计的校准,即用在同一个设备、同一个流程不仅完成了内参标定还完成了外参标定,全流程的内参和外参标定形成了一套完整的流水标定过程,简化了现有技术中存在了多次数据读取、分开单独标定的繁琐过程。
在其中一种实施例中,本公开的标定过程是先获取数据,再对数据进行统一处理,获取的数据包括静态数据和动态数据。具体的执行先后顺序包括:采集静态原始数据、采集动态原始数据、利用静态数据进行内参标定、利用动态数据数据进行外参标定。
需要说明的是,上述例子只是一个简单的演示,实际操作中需要根据具体需求和实验条件进行相应的调整和优化。同时,还需要考虑到实验者的操作熟练程度、设备的性能等因素对实验结果的影响。
在一实施例中,例如将AR眼镜水平放置到转台上,保持转台和眼镜不动,将转台静置数秒,这里可以是50秒、60秒、120秒,在此不做限定,并开始计数,初始化姿态数cnt=0,判断count(计数)是否达到预采集姿态数目的阈值。在完成静态数据采集之后,再采集动态原始数据。此时转动转台,开始计数,同样地判断count(计数)是否达到预采集姿态数目的阈值。若没有达到阈值,更新转台姿态并记录,并静置2秒。再更新转台姿态数量,即cnt++,重复上述过程,直至跳出循环。
图9示意性示出了根据本公开实施例的确定内参变化矩阵的方法流程图。
根据本公开的实施例,静态原始数据例如包括IMU的角速度和陀螺仪偏置。如图9所示,例如通过操作S941~操作S943来确定内参变化矩阵。
在操作S941,基于第x时刻到第x+1时刻的IMU的角速度和陀螺仪偏置,确定IMU姿态的四元数,其中,x为正整数,且x在N的范围内。
在操作S942,根据IMU姿态的四元数,确定IMU的旋转矩阵和平移向量。以及
在操作S943,根据旋转矩阵和平移向量,确定内参变化矩阵。
例如,智能穿戴设备,包含IMU(惯性测量单元),用于测量设备的姿态和位置。通过采集设备的静态原始数据,包括IMU的角速度和陀螺仪偏置,来计算得到内参变化矩阵。
首先,采集设备的静态原始数据。这些数据包括连续N个时刻的IMU的角速度和陀螺仪偏置。在采集过程中,需要保证设备处于静止状态,以避免动态干扰对数据准确性的影响。可以将这些数据存储在计算机中,以便后续处理和分析。
接下来,基于这些静态原始数据计算得到内参变化矩阵。具体步骤如下:
利用角速度和陀螺仪偏置来计算四元数。四元数是一种用于描述刚体旋转和姿态的数学工具,它可以有效地消除欧拉角表示中的万向节锁问题。通过使用四元数,可以更准确地描述设备在相邻两个时刻之间的旋转和位置变化。
利用四元数来计算旋转矩阵和平移向量。旋转矩阵可以描述IMU在两个时刻之间的旋转变化,平移向量可以描述IMU在两个时刻之间的位置变化。
利用旋转矩阵和平移向量来计算内参变化矩阵。内参变化矩阵可以描述IMU在两个时刻之间的内参变化,这些内参包括尺度因子、偏斜角等,它可以用来校准设备的传感器数据,提高数据的准确性。
通过以上步骤,可以基于静态原始数据计算得到内参变化矩阵。这个矩阵对于校准和修正设备的姿态和位置测量具有重要意义。例如,可以利用这个矩阵来校准设备的加速度计和陀螺仪的测量结果,从而提高设备的定位精度和稳定性。
可以理解的是,x可以取从1到N-1中任一值,通过改变x的取值,可以计算出每一相邻时段的内参变化矩阵,方法同上,此处不再赘述。可以根据精度要求等,从多个时段的内参变化矩阵中,选择满足需求的内参变化矩阵。
图10示意性示出了根据本公开实施例的验证标定结果的方法流程图。
根据本公开的实施例,如图10所示,例如通过操作S1010~操作S1050来验证标定结果。
在操作S1010,根据内参变化矩阵对IMU的角速度进行矫正,得到矫正角速度。
在操作S1020,根据IMU的角速度,确定原始转台转角。
在操作S1030,根据矫正角速度,确定矫正转台转角。
在操作S1040,对矫正转台转角与原始转台转角的转角差值进行阈值判定。以及
在操作S1050,在转角差值小于第三阈值的情况下,确定智能穿戴设备标定成功。
例如,得到内参变化矩阵后,可以将其用于矫正IMU的角速度。具体来说,将IMU的角速度乘以内参变化矩阵的逆矩阵,得到矫正角速度。这个步骤可以消除IMU测量结果的误差和偏差,提高测量的准确性和稳定性。
得到矫正角速度后,可以根据其确定矫正转台转角。具体来说,需要将矫正角速度进行积分,得到矫正后的角度变化量,然后根据初始时刻的矫正转台角度和当前时刻的矫正角速度计算出当前时刻的矫正转台角度。
根据IMU的角速度,可以确定原始转台转角。具体来说,需要对IMU的角速度进行积分,得到转台的角度变化量,然后根据初始时刻的转台角度和当前时刻的角速度计算出当前时刻的转台角度。
最后,对矫正转台转角与原始转台转角的转角差值进行阈值判定。如果差值小于第三阈值,那么可以确定智能穿戴设备标定成功。否则,需要重新进行标定或者检查设备是否有问题。这个步骤可以保证设备的定位精度和稳定性达到预期水平。第三阈值例如可以设置为1°。
基于上述智能穿戴设备的标定方法,本公开还提供了一种智能穿戴设备的标定装置。以下将结合图11对该智能穿戴设备的标定装置进行详细描述。
图11示意性示出了根据本公开实施例的智能穿戴设备标定装置的结构框图。
如图11所示,该实施例的智能穿戴设备的标定装置1100例如包括:数据采集模块1110和参数标定模块1120。
数据采集模块1110用于采集连续N个时刻的静态原始数据和连续M个时刻的动态原始数据。在一实施例中,数据采集模块1110可以用于执行前文描述的操作S210~S220,在此不再赘述。
参数标定模块1120用于根据本公开任一实施例的方法对智能穿戴设备进行参数标定。其中,N、M为正整数。静态原始数据包括IMU的角速度和陀螺仪偏置,动态原始数据包括IMU数据和转台姿态数据。在一实施例中,参数标定模块1120可以用于执行前文描述的操作S230~S240,在此不再赘述。
根据本公开的实施例,数据采集模块1110和参数标定模块1120中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,数据采集模块1110和参数标定模块1120中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,数据采集模块1110和参数标定模块1120中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图12示意性示出了根据本公开实施例的适于实现智能穿戴设备标定方法的电子设备的方框图。
如图12所示,根据本公开实施例的电子设备1200包括处理器1201,其可以根据存储在只读存储器(ROM)1202中的程序或者从存储部分1208加载到随机访问存储器(RAM)1203中的程序而执行各种适当的动作和处理。处理器1201例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC))等等。处理器1201还可以包括用于缓存用途的板载存储器。处理器1201可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 1203中,存储有电子设备1200操作所需的各种程序和数据。处理器1201、ROM 1202以及RAM 1203通过总线1204彼此相连。处理器1201通过执行ROM 1202和/或RAM1203中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 1202和RAM 1203以外的一个或多个存储器中。处理器1201也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备1200还可以包括输入/输出(I/O)接口1205,输入/输出(I/O)接口1205也连接至总线1204。电子设备1200还可以包括连接至I/O接口1205的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1207;包括硬盘等的存储部分1208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入存储部分1208。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的智能穿戴设备标定方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1202和/或RAM 1203和/或ROM 1202和RAM 1203以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的智能穿戴设备标定方法。
在该计算机程序被处理器1201执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1209被下载和安装,和/或从可拆卸介质1211被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被处理器1201执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
- 车辆定速巡航方法、装置及存储介质
- 车辆及其定速巡航控制方法、装置和计算机可读存储介质
- 一种车辆直行导航方法以及车辆直行导航装置
- 一种提示车辆让行的方法、装置和车辆
- 一种轨道车辆跨车连接器收藏装置及收藏方法、轨道车辆
- 车辆定速巡航方法、装置、系统、车辆和存储介质
- 车辆定速巡航控制方法、系统、介质、装置及车辆