技术领域
[0001] 本发明涉及虚实交互技术领域,尤其涉及一种基于虚实交互的装置及其位姿计算方法。
相关背景技术
[0002] 随着虚拟现实(VR)、增强现实(AR)等技术的发展,各种形式的虚实交互游戏日益普及,对新型交互道具的需求不断增长。现有技术中的交互道具往往缺乏精确的定位和实时交互能力,限制了游戏体验的提升。
[0003] 针对上述技术问题,本发明提出一种基于虚实交互的装置及其位姿计算方法。
具体实施方式
[0017] 以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0018] 本发明的目的是针对现有技术的缺陷,提供了一种基于虚实交互的装置及其位姿计算方法。
[0019] 实施例一
[0020] 本实施例提供一种基于虚实交互的装置,如图1所示,包括虚实交互本体1、计算单元2、相机3、投射面4。
[0021] 如图2所示,虚实交互本体1包括壳体11以及壳体11中设置的惯性测量单元IMU12、数个红外激光器13、供电模块(图中未示出)、开关控制模块(图中未示出)、固定结构,数个红外激光器13均与惯性测量单元12连接,本实施例以4个红外激光器13为例进行说明。
[0022] 壳体11可以是各种外形,只要方便用于操作即可,固定结构是壳体内部的一个机械结构,用于固定安装数个红外激光器,保证其与手柄和其他红外激光器间的相对位置,本实施例不做特定限定;壳体11上固定有至少4个红外激光器13,且红外激光器13的光路由固定结构保证交于同一点。需保证红外激光器13的光路不存在三线共面的情形。红外激光器13由固定于壳体内的供电模块(电池)供电,并可通过开关控制模块(如触点开关等方式)控制4个红外激光器13的同时亮灭。
[0023] 本实施例中,每个红外激光器发射一条射线,每两台红外激光器的射线若相交于一点,则这两条射线可组成一个确定的平面,第三台红外激光器的射线若与前两台相交于同一点,则需要保证该射线不在由前两台的射线所确定的平面上,也就是可以形成一个三棱锥,进而可以保证红外激光器的光路不存在三线共面的情形。
[0024] 投射面4为墙面和/或底面,本实施例以墙面为例进行说明。
[0025] 相机3设置于虚实交互本体1上方,相机3与计算单元2进行通信连接,相机3用于拍摄墙面,红外激光器13发射的光线在墙面上投射出的光斑被相机3捕捉并发送至计算模块2,计算模块计算虚实交互本体1的位姿。
[0026] 惯性测量单元12通过无线串口模块与计算单元2进行通信连接,惯性测量单元12按一定频率实时发送加速度数据至计算单元2,计算单元2对该数据进行滤波和插值得到等时间间隔的加速度信号,进而通过等时间间隔的信号为后续该道具的使用场景提供很大的处理上的便利。
[0027] 本实施例中的虚实交互本体可用于基于投影仪画面的虚实交互游戏场景,操作者手持,其上红外激光器持续发射激光,投射至投影仪画面所在墙面后,由辅助相机拍摄光斑,并通过算法获取道具本体的实时位姿,该位姿信息可被虚实交互游戏用于实现各种互动功能。
[0028] 实施例二本实施例提供一种基于虚实交互装置的位姿计算方法,如图3所示,包括:
S1.获取激光器发射的投影在预设虚拟面坐标系下的坐标,得到第一坐标;
S2.获取相机采集到的激光器发射至投射面的光斑图像,并对获取的光斑图像进行处理,得到光斑的图像坐标;
S3.获取相机的内参数和外参数,并基于相机的内参数和外参数将光斑的图像坐标转换为投射面坐标系下的坐标,得到第二坐标;
S4.根据第一坐标和第二坐标,并基于EPnP算法计算虚实交互装置在投射面坐标系下的位姿数据。
[0029] 在步骤S1中,获取激光器发射的投影在预设虚拟面坐标系下的坐标,得到第一坐标。
[0030] 4个红外激光器之间的关系由固定结构确定,本实施例以其中一个红外激光器为例进行说明,首先建立虚实交互本体坐标系B。在虚实交互本体坐标系B下,预先定义一个虚B B拟面L ,红外激光器在L 上的投影定义的平面坐标系为 ,其对应在B下的三维坐标为B
,其中z为L在B下的z轴坐标。该虚拟投影点可由固定结构直接给出,也可使用辅助工具方便地测量得到,本实施例中, 用于计算归一化平面下的 ,后者用来跟 一起通过EPnP算法求解最终位姿。 就是虚拟平面上的像在道具本体坐标系下的坐标;如图4所示,图4中 中任一个。
[0031] 在步骤S2中,获取相机采集到的激光器发射至投射面的光斑图像,并对获取的光斑图像进行处理,得到光斑的图像坐标。
[0032] 红外激光器发射激光,该激光发射至墙面上,相机采集墙面的图像,并对采集到的图像进行灰度二值化处理,寻找灰度二值化处理后的图像中面积在预设阈值范围内的白色轮廓,当找到4个轮廓时,认为找到了所有的激光光斑,计算每个轮廓重心坐标pi,即pi为光斑图像的二维坐标。
[0033] 在步骤S3中,获取相机的内参数和外参数,并基于相机的内参数和外参数将光斑的图像坐标转换为投射面坐标系下的坐标,得到第二坐标,如图5所示。
[0034] 首先对相机进行标定,获得相机的内参数K、外参数,其中内参数K包括焦距、主距、畸变系数和相邻像素距离等,外参数为相机相对于墙面坐标系位置参数;其中相机坐标系定义为C,墙面坐标系定义为G,相机到墙面坐标系的外参矩阵定义为 ,外参矩阵为4×4的齐次变换矩阵。
[0035] 由相机内参数K和外参数,求得光斑在墙面坐标系G下的坐标,具体为:S31.根据光斑的图像坐标pi以及相机的内参数K计算红外激光器发射激光形成的光斑在相机坐标系C下的方向向量,表示为:
;
其中, 表示光斑在相机坐标系下的方向向量;K表示相机的内参数;pi表示光斑的图像坐标;C表示相机坐标系。
[0036] S32.获取相机外参数的外参矩阵 ,计算外参矩阵 的旋转分量和平移分量;外参矩阵 的旋转分量为 。
[0037] 外参矩阵 的平移分量为 ,表示为:;
其中, 表示平移分量;G表示墙面坐标系;tCx表示x轴的平移分量;tCy表示y轴的平移分量;tCz表示z轴的平移分量;T表示矩阵转置。
[0038] S33.基于旋转分量 将方向向量 转换为投射面坐标系下的分量,表示为:;
其中, 表示转换为墙面坐标系下的分量,即是一个方向向量; 表示外参矩阵的旋转分量;dix表示 在x轴的分量;diy表示 在y轴的分量;diz表示 在z轴的分量;T表示矩阵转置。
[0039] S34.根据平移分量 和转换后的分量 ,计算光斑的图像坐标转换为墙面坐标系G下的三维物理坐标,得到第二坐标,表示为:;
其中, 表示第二坐标,即光斑的图像坐标转换为墙面坐标系下的坐标。
[0040] 在步骤S4中,根据第一坐标 和第二坐标 ,并基于EPnP算法计算坐标系G与坐标系B之间的变换关系 ,进而得到虚实交互本体在墙面坐标系G下的位姿数据。
[0041] 本实施例中,位姿数据即为位姿矩阵,例如:位姿数据为4X4的矩阵,则将齐次矩阵旋转为平移矩阵,表示为:
[0042] 其中, 为旋转分量, 为平移分量。
[0043] 本实施例中,步骤S4之后还包括:S5.对位姿数据进行后处理,并将后处理得到的位姿数据传输给上位机系统。
[0044] 本实施例中,步骤S1‑S4均是由计算单元执行的,且计算单元得到位姿数据后还会对位姿数据进行滤波、插值和预测等后处理步骤,得到等时间间隔的位姿信号。
[0045] 由于红外激光器与墙面光斑对应关系的多样性,由上述计算可求得多个可能的位姿数据解,这些解需要与从IMU中获取的加速度信号结合,筛选出符合当前IMU的数据的唯一解。该唯一解在后处理后,通过以太网等方式传输给上位机系统使用。
[0046] 本实施例中,筛选的方式可根据实际情况选择,并不限于本实施例中提出的,筛选方法如:将求得的 的旋转分量和IMU获取的姿态数据均转换为四元数,认为两者的旋转轴的方向向量夹角最小时,对应的 即为符合当前IMU的数据的唯一解。
[0047] 本实施例的红外激光器持续发射激光,投射至投影仪画面所在墙面后,由辅助相机拍摄光斑,并通过算法获取道具本体的实时位姿,该位姿信息可被虚实交互游戏用于实现各种互动功能。
[0048] 注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。