掌桥专利:专业的专利平台
掌桥专利
首页

用于混合现实的本地多设备快速空间锚点同步方法及系统

文献发布时间:2023-06-19 18:56:39


用于混合现实的本地多设备快速空间锚点同步方法及系统

技术领域

本发明属于混合现实技术领域,特别涉及用于混合现实的本地多设备快速空间锚点同步方法及系统。

背景技术

混合现实(MR,Mixed Reality)、增强现实(AR,Augmented Reality)是一种通过使用HMD(Head Mounted Display,头戴式显示设备)头显、智能手机或其他显示设备,渲染能与现实世界产生关联的虚拟内容,使得用户可以同时看到现实世界和叠加在其之上的虚拟内容并与这些虚拟内容产生交互的技术。目前在混合现实技术上的应用大多是单人体验,即设备渲染出的虚拟内容只有佩戴设备的用户才能看到。即使是身处同一现实空间的两名以上用户,所看到的虚拟内容也是不同的,使得两名以上用户不能同时与相同的虚拟内容进行交互。再者,由于头显设备所渲染的内容只能被佩戴者看到,造成了这种混合现实的体验只能以第一视角进行观察,没有带头显的第三方并不能以第三人称视角看到佩戴者正在游玩的内容,使得混合现实体验的传播很困难。

要实现不同设备之间的虚拟内容交互,考虑到不同的平台和设备拥有不同的空间扫描运算方法,如果混合现实设备不能同步空间,就难于协同工作,一混合现实设备的操作难以实时反应在其他的混合现实设备中。因此需要一个简单且便利的协同工作算法将不同设备和平台间的空间坐标进行同步,此时涉及到各设备空间坐标系的同步。

为解决多设备间缺乏联机互动的问题,授权公告号为“CN107945116B”的中国发明专利公开了用于多设备间实现AR室内定位的坐标轴同步方法,该技术方案包括如下步骤:在每个参与联机的设备上分别用自身的位置以及陀螺仪的角度建立各个设备的本地坐标系;选取任意一个设备作为主参考设备,其他设备作为从属设备,将主参考设备的坐标系作为主参考坐标系,并对其他从属设备进行坐标系修正;从属设备获取主参考设备的位置信息并转换为基于主参考坐标系的从属设备坐标。该技术方案提供的多设备坐标轴同步方法能够在各设备间形成统一的坐标系,进行更为方便和统一的联机互动,有助于在大范围内实现虚拟与现实的结合。但是,对于实时性要求高的混合现实使用场景下,比如增强现实多人对战游戏,由于ISP(Internet Service Provider,互联网业务提供商)网络的延迟或者虚拟空间的快速变换,会导致坐标同步的精确度不足,用户体验不佳。

为提高混合现实设备空间坐标系同步的精确度,授权公告号为“CN109766001B”的中国发明专利公开了一种不同MR设备坐标系的统一方法,统一方法包括:将预设空间的任意一点作为基准点,获取预设空间内的各个标定板相对于基准点的相对位置与旋转信息;将每个MR设备与对应的标定板进行绑定;建立以基准点为原点的全局坐标系;将每个MR设备的原始坐标系对应相对位置与旋转信息统一至全局坐标系中。该技术方案通过在预设空间内设置标定板和基准点,将MR设备与标定板进行绑定,通过标定板和基准点的相对位置与旋转信息确定每个MR设备在以基准标定板为原点建立的全局坐标系中的位置,将MR设备对应同一至全局坐标系中,实现了不同MR设备在同一场景内进行交互。该技术方案的同步过程较为繁琐,导致空间坐标系同步速度较低。

发明内容

用于混合现实的本地多设备快速空间锚点同步方法,包括以下步骤:

S1:位于本地空间的多台设备建立本地网络连接以实现设备间的数据传输,将所述多台设备中的任意一台设备作为主机创建本地网络,其他设备作为客机加入所述主机创建的本地网络。

S2:将所述本地网络中的主机与客机进行时间同步,所述客机与主机先向对方交换各自的本地时间戳,再计算所述客机的本地时间戳与主机的本地时间戳之间的时间偏移量,根据时间偏移量调整并实现所述客机与主机之间的时间同步。

S3:将所述本地网络中的主机与一客机进行空间锚点同步,在所述主机的显示系统上显示的一特定图片作为锚点,所述一客机通过增强现实图片跟踪技术扫描所述一特定图片,获取所述图片锚点在所述一客机空间坐标系下的第二位置与旋转,并向所述主机请求相同时间戳下所述锚点在所述主机空间坐标系下的第一位置与旋转,所述一客机获得两个位置与旋转数据,作为一对位姿对,所述一客机经过多次扫描所述锚点,获得多对位姿对,通过最小二乘法计算所述多对位姿对,得到所述主机空间坐标原点在所述一客机空间坐标系下的第三位置与旋转,通过将所述一客机的空间坐标系原点重设到该第三位置与旋转,使得所述主机与一客机的空间坐标系原点的位置与旋转相同,完成设备间空间坐标系的同步,其他客机可以与所述本地网络中的主机进行空间坐标系同步,或者与所述本地网络中已完成空间坐标系同步的客机进行空间坐标系同步。

优选地,所述步骤S1具体为:

S1-1:所述主机创建本地网络,通过无线通信方式在本地网络上进行广播。

S1-2:所述客机通过所述无线通信方式搜寻所述主机的广播。

S1-3:所述客机发现所述广播,使用所述无线通信方式向所述主机发送连接请求。

S1-4:所述主机接收到所述连接请求,同意所述连接请求,建立所述客机与主机之间的网络连接。

优选地,所述步骤S2具体为:

S2-1:一客机将该客机的本地时间戳一发送至所述主机。

S2-2:所述主机将接收到所述本地时间戳一的时间点,作为本地时间戳二发送至所述一客机。

S2-3:所述一客机将接收到所述本地时间戳二的时间点,作为本地时间戳三,根据所述本地时间戳一、本地时间戳二及本地时间戳三计算并保存所述一客机与主机的时间戳偏移量。

S2-4:重复步骤S2-1至步骤S2-3,直至所述时间戳偏移量的数量达到设定值,得到多个时间戳偏移量。

S2-5:计算所述多个时间戳偏移量的标准方差,若所述标准方差不小于预设值,则放弃最早计算出的一个时间戳偏移量然后重复一遍步骤S2-1至步骤S2-3,直至所述标准方差小于预设值,计算所述多个时间戳偏移量的平均值,作为最终的时间戳偏移量结果。

S2-6:其他客机根据步骤S2-1至S2-5计算其他每个客机与主机之间最终的时间戳偏移量结果。

优选地,所述步骤S2-3计算时间戳偏移量offset的公式为:

其中,T0是本地时间戳一,T0′是本地时间戳二,T1是本地时间戳三。

优选地,所述一客机创建队列保存所述多个时间戳偏移量。

优选地,所述步骤S3具体为:

S3-1:所述主机的显示系统上显示一特定图片,所述一特定图片即为空间中的一个锚点,所述主机利用加速计、陀螺仪及成像系统,根据所述一特定图片和主机成像系统的偏移向量不变,实时计算出所述一特定图片在所述主机的本地坐标系下的位置与旋转。

S3-2:所述本地网络中一客机通过增强现实图片追踪技术利用成像系统扫描所述一特定图片,增强现实图片追踪技术识别出场景中一特定图片的第二位置与旋转,发送所述第二位置与旋转至所述主机,并接收所述主机发送的所述第一位置与旋转,所述第一位置与旋转和第二位置与旋转具有相同的时间戳。

S3-3:所述一客机获取多对不同时间戳下的第一位置与旋转、第二位置与旋转,通过最小二乘法计算得到最佳位移向量与最佳旋转,得到所述主机的本地空间坐标系原点相对所述客机的本地空间坐标系原点的位置与旋转,将所述客机的本地空间坐标系原点重设到所述主机的本地空间坐标系原点,完成所述主机与客机的空间坐标系同步。对于本地网络中其他客机,通过将自身的本地空间坐标系原点重设到所述主机的本地空间坐标系原点或者任意一台已同步客机的本地空间坐标系原点,进行本地网络中设备的空间坐标系的同步。

S3-4:在所述一客机的混合现实虚拟空间中渲染一个大小与所述主机设备一致的虚拟物体,并将所述虚拟物体的位置与旋转同所述主机实时同步,若所述虚拟物体与现实中的所述主机未完全重合,则所述一客机将重复步骤S3-1至S3-3,直至所述虚拟物体与现实中的所述主机完全重合。

优选地,所述最佳位移向量t的表达式为:

其中,

优选地,所述最佳旋转φ的计算方法为:

其中,P′

用于混合现实的本地多设备快速空间锚点同步系统,所述系统包括存储器和处理器,所述存储器上存储有指令,所述指令使得所述处理器能够执行:上述的用于混合现实的本地多设备快速空间锚点同步方法。

一种机器可读存储介质,所述机器可读存储介质上存储有指令,所述指令用于使得机器执行:上述的用于混合现实的本地多设备快速空间锚点同步方法。

与现有技术相比,本发明具有以下技术效果:

1.本发明提供的同步方法先在本地空间建立本地网络,有助于克服对外部网络的依赖并减小网络的延迟以提高空间同步的精度和速度;然后对本地网络中的所有设备进行时间同步,进一步提高空间同步的精度;在建立本地网络和时间同步的基础上,再通过确定空间锚点,根据锚点在各自空间坐标系中的位置和旋转,使用最小二乘法计算最佳位置和最佳旋转,完成设备间的空间同步,满足混合现实应用对空间坐标同步的实时性和精确度要求。

2.本发明提供的同步方法选择本地空间中的任一设备作为主机,通过基于本地的无线通信方式建立本地网络,其他设备作为客机加入本地网络,克服了对外部网络环境的依赖,使得本地空间中的多台设备在外部网络信号不好或者没有外部网络信号的情况下,也可以使用多人混合现实应用。

3.本发明提供的同步方法利用设备显示系统显示的特定图片作为锚点。二维码图片是一个很好的选择,因为二维码图片足够复杂且特征点足够多,有利于扫描设备快速识别,并且二维码图片本身自带信息的特点可以将额外的信息在不通过网络传输的情况下由被扫描设备发送至扫描设备。

4.本发明提供的同步方法可以同时应用在手持式混合现实设备(手机和平板电脑)和由手机驱动的混合现实头显(HMD)上,任意数量的上述两种设备都可以通过此方法建立网络并同步空间锚点,从而进行多人混合现实体验。

5.本发明提供的同步方法使用增强现实图片追踪技术,通过客机扫描主机屏幕上显示的作为锚点的特定图片来进行两台设备间的快速空间坐标同步,或者通过客机扫描已同步客机屏幕上显示的作为锚点的特定图片来进行两台设备间的快速空间坐标同步,在不用提前手动输入信息的情况下实现空间坐标系同步,同步速度快。

6.本发明提供的同步方法支持任意数量的混合现实设备在本地空间进行连接与空间坐标同步,在设备数量超过两台的情况下,后续加入的设备可以通过链式图片追踪的方式进行空间坐标同步。这里的链式图片追踪是指,假设主机A和客机B已经建立网络连接并完成同步,新加入的客机C不仅可以通过扫描主机A显示的特定图片进行空间坐标同步,还可以通过扫描客机B显示的图片进行空间坐标同步。同理,当客机D加入时,客机D可以通过扫描A、B、C任意一台设备上的特定图片,完成与所有设备的空间坐标同步,以提供空间坐标系之间的便捷同步。

7.本发明提供的同步方法在空间同步阶段,使用最小二乘法计算得到一对空间坐标系之间的最佳旋转与最佳位移值,可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小,保证不同空间坐标系之间空间同步的准确度。

附图说明

图1是本发明所述的用于混合现实的本地多设备快速空间锚点同步方法的流程图;

图2是本发明所述的用于混合现实的本地多设备快速空间锚点同步方法的本地设备间组网流程图;

图3是本发明所述的用于混合现实的本地多设备快速空间锚点同步方法的本地设备间时间同步流程图;

图4是本发明所述的用于混合现实的本地多设备快速空间锚点同步方法的本地设备间空间同步流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例,并参照附图,对本发明技术方案进行清楚、完整地描述。

请参阅图1,为本实施例的流程图。

本实施例所述的同步方法包括三步:一、建立本地网络,本地空间的一设备作为主机创建本地网络,其他设备作为客机加入该本地网络;二、所述本地网络中多设备的本地时间戳同步,所述主机与客机之间通过计算本地时间戳的偏移量,进行时间同步;三、所述本地网络中多设备快速空间锚点同步,所述主机与客机或者客机与客机通过图片追踪技术共享相同图片锚点的位置信息与旋转信息,结合时间信息进行空间坐标系同步。

空间锚点(Spatial Anchors)表示存在于虚拟世界中的物理点。对于混合现实应用,全息图可以附着到空间锚点。空间锚点能够存储和持久化,并在以后由创建它的设备或任何其他受支持设备进行查询。这能够实现锚点的备份和锚点共享。举个例子,在设备端两人可以在现实世界中的同一位置(桌面)查看棋盘。无论在物理空间中移动到何处,棋盘都将固定到一个点。

请参阅图2,为本实施例的本地设备间组网流程图。

在本地有超过多台(两台或两台以上)设备的情况下,任意设备可以作为主机创建本地网络,其他设备可以作为客机加入主机所建立的本地网络。首先,本地空间中任意一台设备A作为主机创建本地网络,并持续向附近的所有设备广播自己的存在。然后,本地空间中的另一台设备B开始尝试加入本地网络,设备B开始搜寻附近空间中是否有已经建立本地网络的主机正在广播自己,设备B在搜索到主机A的存在后,向主机A发送连接请求。最后,主机A在接受到来自设备B的连接请求后,同意该连接请求,从而使设备B作为客机B加入到本地网络中。任意数量的后续设备都可以通过重复上述过程,作为客机加入到由主机A创建的本地网络中。

本实施例的本地网络基于蓝牙(Bluetooth)或无线局域网(Wi-Fi),可以在没有移动供应商网络(4G或5G)和路由器提供互联网的情况下进行直接点对点连接,可避免互联网的延迟干扰。设备连接时不需要用户做任何操作,只要在手机或平板电脑上打开相关应用软件,设备之间就会自动连接。使得本地空间中的多台设备在外部网络信号不好或者没有外部网络信号的情况下,也可以使用多人混合现实应用。

请参阅图3,为本实施例的本地设备间时间同步流程图。

在建立了本地网络并且所有设备均加入该本地网络后,本地网络中的设备将进行时间同步,即计算两台设备之间的本地时间戳偏移量。每台设备都有自己的本地时间戳,用来标注任意本地操作发生的时间。在一台设备中,时间戳的实现方式有很多种,例如计算从设备开机到发生操作中间所间隔的时间,单位为秒。不论使用哪种时间戳的实现方式,时间戳在本地设备上保持正确一致,同时多设备之间时间戳的单位相同,就对此技术的实现没有影响。计算两台设备之间时间戳偏移量的目的是为了在第三部中将两台设备在相同时间内的位置与旋转进行对齐。后续所有接入本地网络的设备都可以通过重复同样的操作来进行时间戳同步。

本地网络中的设备进行时间同步的具体流程为:在某一时刻,客机B的本地时间戳为T0,客机B将此时间戳T0作为参数发送给主机A,并请求主机A的时间戳。主机A在收到客机B的时间戳请求时,其本地时间戳为T1,主机A将收到的时间戳T0和自己的时间戳T1同时发回给客机B。客机B在收到主机发回的时间戳时,在客机B本地拥有了三个时间戳,分别是客机B在之前给主机发送时间戳请求时的T0,主机A在接收到时间戳请求时的T1,和客机B收到主机发回的时间戳时的T0’。客机B与主机A之间的时间偏移量offset可以通过以下公式计算得出:

此时,客机B中便存在一个时间偏移量数据,考虑到网络延迟带来的影响,只计算一次时间戳偏移量难以得到准确的数值。因此,在本实施例中,为确保时间戳偏移量的准确性和稳定性,将重复上述的步骤,将每次得出的时间戳偏移量储存在一个由客机B创建的队列Q中。当队列Q中保存的时间戳偏移量的数量达到一个预设数量值时,计算整个队列Q的标准方差。如果队列的标准方差过大(大于预设的标准方差值),便就放弃队列中最早计算出的一个时间戳偏移量数据(此为队列的出队操作),然后继续重复一次获取时间戳T0、T1、T0’并计算时间偏移量的过程,获取到一个新的时间偏移量数据,将其入队。如果队列方差小于预设的方差值,这代表此时的时间戳偏移量已经趋于稳定。可计算整个队列Q的平均值来作为最终客机B与主机A之间的时间戳偏移量。

请参阅图4,为本实施例的本地设备间空间同步流程图。

在客机B与主机A建立本地网络连接并同步本地时间戳后,主机A显示系统上显示特定图片作为锚点,开始记录一段时间内的图片本地位姿(位姿包括位置与旋转)并附加时间戳,并将这些带时间戳的位姿存贮到队列Q1中。客机B使用增强现实图片追踪技术来扫描尝试识别主机A显示系统上显示的特定图片,每次客机B通过增强现实图片追踪算法找到主机A的图片锚点,客机B立刻将此锚点的带时间戳的本地位姿发送给主机A。

作为锚点的特定图片显示于主机A的显示系统上,主机A本身是一台增强现实设备,通过其加速计、陀螺仪和成像系统,可以实时计算出成像系统在主机A本地坐标系下的位置与旋转,而图片的中心位置与成像系统位置之间的差是固定的,所以主机A可以实时计算出此图片锚点的位置与旋转。客机B通过增强现实图片追踪技术,不断在其成像系统拍摄下的图片中找寻主机上显示的特定图片(这张图片是事先预设的,所以客机B知道主机A上显示什么图片)。此增强现实图片追踪技术可以精准地识别出场景中特定图片的位置与旋转,所以客机B也可以知晓该图片锚点的位置与旋转。

上述用于扫描特定图片的增强现实图片追踪技术可以使用苹果公司的ARKit技术,或者其他支持MarkerTracking(标志物跟踪)方法的成像技术。

上述特定图片为程序提前预设,最好使用足够复杂且特征点足够多的图片,二维码图片是一种非常好的选择。使用二维码图片除了有易于识别的好处外,二维码图片本身自带信息的特点可以将额外的信息在不通过网络的情况下由主机A发送给客机B。除了二维码图片,任何具有足够特征点的图片也可以用作图片锚点使用。

在客机B扫描主机A显示系统上显示的特定图片的同时,两台设备也在进行着空间位置共享,两台设备间彼此在本地坐标系下的位置与旋转通过本地网络传输给对方。每次客机B成功扫描到主机A显示系统上显示的作为锚点的特定图片,而两台设备都知晓此锚点在各自设备本地空间坐标系下的位置与旋转。通过本地网络和时间戳同步,客机B可以获得多对相同时间下此锚点在两台设备空间坐标系下的位置与旋转,通过最小二乘法,算出主机A本地空间坐标系原点相对与客机B本地空间坐标系原点的位置与旋转,此时我们将客机B的本地坐标系原点重设到主机A的原点,两台设备的空间坐标系原点和方向便相同,以此来实现两台设备空间坐标系的同步。

本实施例的最小二乘法目标如下:

R

因为两台混合现实设备可以根据重力利用内置的陀螺仪找到同样的Y轴指向,因此需要找到一个一维的沿着坐标系Y轴方向的旋转:

和一个三维的向量t,将客机B的坐标系原点转移到客机A的坐标系原点。通过求解一个旋转角度φ和向量t,使得下面公式取得最小值(最小误差):

上述公式中的F可以表示为:

其中,w表示每对锚点的权重,w

然后,计算最佳位移向量,假设

可以推导出最佳位移向量t的表达式:

其中

其中,

最后,计算旋转:

P′

根据上述已经推到出在旋转φ已经确定的情况下t的表达式,将最佳位移向量t代入目标公式F可得:

因为矩阵AB与矩阵BA的迹(trace)相同,即tr(AB)=tr(BA),

通过上述计算得出最佳旋转φ为:

任意数量的后续加入网络的设备都可以通过此方法完成跟主机A的空间坐标同步。同步成功之后,客机B的混合现实虚拟空间中渲染一个大小与主机A设备一致的虚拟物体,并将该虚拟物体的位置与旋转同主机A实时同步。如果两台设备的空间同步准确度足够高,在客机B的视角中,虚拟物体与现实中的主机A应该完全重合;如果两者误差过大,就表示此次同步不成功,客机B将重复空间坐标系同步过程,直到成功与主机A实现准确的空间坐标坐标系同步。

在本发明的另一实施例中,后续加入本地网络的设备通过扫描本地网络中已同步空间坐标系的客机显示系统上显示的特定图片,完成空间坐标系的同步。客机B连入主机A创建的本地网络并且通过扫描主机A显示系统上特定图片的方式和主机A完成空间坐标系同步。后续新的客机C加入网络,除了扫描主机A上的图片,客机C也可以通过扫描客机B显示系统上特定图片的方式与客机B进行空间坐标系同步,由于客机B已经和主机A完成了空间坐标系同步,所以此时三台设备A、B、C彼此间都成功完成了空间同步。同理,当新的客机D加入时,客机D可以通过和设备A、B、C中的任何一台通过扫描特定图片的空间同步来实现和网络中的所有设备同步空间坐标系。通过上述方式实现链式空间坐标同步,使得本地网络中的任一设备可以就近与其他设备进行空间坐标系的同步。

用于混合现实的本地多设备快速空间锚点同步系统,所述系统包括存储器和处理器,所述存储器上存储有指令,所述指令使得所述处理器能够执行:本发明所述的用于混合现实的本地多设备快速空间锚点同步方法。

一种机器可读存储介质,所述机器可读存储介质上存储有指令,所述指令用于使得机器执行:本发明所述的用于混合现实的本地多设备快速空间锚点同步方法。

以上所述的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

相关技术
  • 用于确定牙科器械的空间坐标的混合现实系统和方法
  • 虚拟现实设备定位同步方法、装置、设备和介质
  • 一种用于饲料制造加工的快速混合设备
  • 一个自由空间“弹出”和“沉入”全息图设备,用于创建、生成、显示和共享高清自由空间“弹出”和“沉入”全息图,带有弹出和沉入全息增强现实(AR),虚拟现实(VR)和混合现实(MR)
  • 一种用于混合现实设备的空间测距方法和系统
技术分类

06120115742173