基于AR的SLAM算法的处理方法、装置及设备与流程

文档序号:15833681发布日期:2018-11-07 07:36阅读:459来源:国知局
基于AR的SLAM算法的处理方法、装置及设备与流程

本发明涉及通信技术领域,尤其涉及一种基于ar的slam算法的处理方法、装置及设备。

背景技术

随着智能手机的硬件性能配置的提高,基于单目摄像头的纯视觉及时定位和地图构建(simultaneouslocalizationandmapping,简称slam)技术开始应用到移动终端的增强现实(augmentedreality,简称ar)场景中。

现有的对于移动终端基于ar的slam算法的评测方案,评测人员选择应用了slam算法的ar场景,并设定每种ar场景下的一组测试动作,在每种ar场景下评测人员手持移动终端反复地执行该组测试动作,并观察3d虚拟物体在真实场景中的漂移和抖动,以及能否实现重定位和重定位时3d虚拟物体的偏移距离等。

现有的对于应用于移动终端的基于ar的slam算法的评测为手工测试和人为主观判断,导致移动终端呈现的ar场景中出现3d虚拟物体在真实场景中的漂移和抖动以及重定位时3d虚拟物体的偏移距离大的问题。



技术实现要素:

本发明提供一种基于ar的slam算法的处理方法、装置及设备,用以解决现有的对于应用于移动终端的基于ar的slam算法的评测为手工测试和人为主观判断,导致移动终端呈现的ar场景中出现3d虚拟物体在真实场景中的漂移和抖动以及重定位时3d虚拟物体的偏移距离大的问题。

本发明的第一个方面是提供一种基于ar的slam算法的处理方法,包括:

终端设备在执行ar场景的测试动作过程中,采集执行所述测试动作所得到的执行数据,并获取执行所述测试动作所对应的真实位姿信息;

终端设备采用slam算法对所述执行数据进行处理,得到执行所述测试动作所对应的估计位姿信息;

终端设备根据所述真实位姿信息和估计位姿信息,得到所述slam算法所对应的轨迹误差;

终端设备根据所述轨迹误差,对所述slam算法进行算法优化处理。

本发明的第二个方面是提供一种基于ar的slam算法的处理方法,包括:

在终端设备执行ar场景的测试动作过程中,定位跟踪系统采集获取辅助信息,所述辅助信息用于使所述终端设备获取执行所述测试动作所对应的真实位姿信息;

所述定位跟踪系统向所述终端设备发送辅助信息。

本发明的第三个方面是提供一种基于ar的slam算法的处理装置,包括:

数据获取模块,用于终端设备在执行ar场景的测试动作过程中,采集执行所述测试动作所得到的执行数据,并获取执行所述测试动作所对应的真实位姿信息;

执行模块,用于终端设备采用slam算法对所述执行数据进行处理,得到执行所述测试动作所对应的估计位姿信息;

误差计算模块,用于终端设备根据所述真实位姿信息和估计位姿信息,得到所述slam算法所对应的轨迹误差;

优化模块,用于终端设备根据所述轨迹误差,对所述slam算法进行算法优化处理。

本发明的第四个方面是提供一种基于ar的slam算法的处理装置,包括:

数据采集模块,用于在终端设备执行ar场景的测试动作过程中,定位跟踪系统采集获取辅助信息,所述辅助信息用于使所述终端设备获取执行所述测试动作所对应的真实位姿信息;

发送模块,用于所述定位跟踪系统向所述终端设备发送辅助信息。

本发明的第五个方面是提供一种终端设备,包括:

存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时实现上述第一方面所述的方法。

本发明的第六个方面是提供一种定位跟踪系统,包括:

跟踪器,用于在终端设备执行ar场景的测试动作的过程中跟踪所述终端设备;

存储器,处理器,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,

所述处理器运行所述计算机程序时实现上述第二方面所述的方法。

本发明的第七个方面是提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述第一个方面所述的方法。

本发明的第八个方面是提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述第二个方面所述的方法。

本发明提供的基于ar的slam算法的处理方法、装置及设备,通过终端设备在执行ar场景的测试动作过程中,采集执行测试动作所得到的执行数据,并获取执行测试动作所对应的真实位姿信息;采用slam算法对执行数据进行处理,得到执行测试动作所对应的估计位姿信息;根据真实位姿信息和估计位姿信息,得到slam算法所对应的轨迹误差;根据轨迹误差,对slam算法进行算法优化处理,实现了对slam算法的自动化评测和优化,在ar场景规模较大时,能够显著地提升对slam算法的自动化评测和优化的效率,从而可以避免出现移动终端呈现的ar场景中出现3d虚拟物体在真实场景中的漂移和抖动以及重定位时3d虚拟物体的偏移距离大的问题。

附图说明

图1为本发明实施例一提供的基于ar的slam算法的处理方法流程图;

图2为本发明实施例二提供的基于ar的slam算法的处理方法流程图;

图3为本发明实施例三提供的基于ar的slam算法的处理方法流程图;

图4为本发明实施例四提供的基于ar的slam算法的处理方法流程图;

图5为本发明实施例五提供的基于ar的slam算法的处理装置的结构示意图;

图6为本发明实施例七提供的基于ar的slam算法的处理装置的结构示意图;

图7为本发明实施例九提供的终端设备的结构示意图;

图8为本发明实施例九提供的定位跟踪系统的结构示意图。

通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为本领域技术人员说明本发明的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

首先对本发明所涉及的名词进行解释:

刚体变换(rigidtransformation):刚体变换变换前后两点间的距离依旧保持不变则被称为刚体变换(rigidtransform)。刚体变换可分解为平移变换、旋转变换和反转(镜像)变换。

迭代最近点(iterativeclosestpoint,简称icp)算法:也称为就近点搜索法,是指一种高层次的基于自由形态曲面的配准方法。

此外,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在以下各实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。

下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。

实施例一

图1为本发明实施例一提供的基于ar的slam算法的处理方法流程图。本发明实施例针对现有的对于应用于移动终端的基于ar的slam算法的评测为手工测试和人为主观判断,导致移动终端呈现的ar场景中出现3d虚拟物体在真实场景中的漂移和抖动以及重定位时3d虚拟物体的偏移距离大的问题,提供了基于ar的slam算法的处理方法。本实施例中的方法应用于终端设备,该终端设备可以是智能手机、平板、ar设备等移动终端,也可以是应用于ar场景的智能设备等,在其他实施例中,该方法还可应用于其他设备,本实施例以终端设备为例进行示意性说明。如图1所示,该方法具体步骤如下:

步骤s101、终端设备在执行ar场景的测试动作过程中,采集执行测试动作所得到的执行数据,并获取执行测试动作所对应的真实位姿信息。

本实施例中终端设备执行测试动作所对应的真实位姿信息包括终端设备执行测试动作过程中的多个时刻的位姿信息按照时间先后顺序构成的序列。

在实际应用的ar场景中,终端设备上安装有slam算法软件,终端设备可以通过摄像头采集周围环境的视频数据,通过惯性测量单元等传感器获取手机的姿态信息,将采集的视频数据和姿态信息作为slam算法的输入数据,执行slam算法对采集的视频数据和姿态信息进行处理,可以得到终端设备在ar场景中的位姿信息。

本实施例中,对终端设备的slam算法进行评测时,可以预先设定多个ar场景,每个ar场景对应于一组测试动作。分别针对每一个ar场景对slam算法进行评测,在不同的ar场景中对slam算法进行评测的处理过程是一致,本实施例以针对任意一个ar场景对slam算法的处理过程为例进行说明。

在对终端设备的slam算法进行评测时,终端设备在执行ar场景的测试动作过程中,可以采集执行测试动作所得到的执行数据,该执行数据可以包括终端设备在执行测试动作时采集的视频数据和惯性测量数据等姿态信息;并且,终端设备获取执行测试动作所对应的真实位姿信息。

本实施例中,该步骤为终端设备第一次执行该ar场景的测试动作过程中需要执行的步骤,在第一次执行该ar场景的测试动作过程中获取到执行测试动作所得到的执行数据以及执行测试动作所对应的真实位姿信息之后,终端设备可以将获取到的执行测试动作所得到的执行数据以及执行测试动作所对应的真实位姿信息与该ar场景进行对应存储。这样,移动终端可以存储该ar场景的测试动作对应的执行数据,在需要针对该ar场景对slam算法进行评测时,根据已存储的该ar场景对应的执行数据进行后续评测过程即可。

步骤s102、终端设备采用slam算法对执行数据进行处理,得到执行测试动作所对应的估计位姿信息。

本实施例中终端设备采用slam算法对执行数据进行处理得到执行测试动作所对应的估计位姿信息也包括多个时刻的位姿信息按照时间先后顺序构成的序列。

终端设备将获取到在执行ar场景的测试动作过程中采集的执行数据作为slam算法的输入数据,执行slam算法来对执行数据进行处理,得到执行测试动作所对应的估计位姿信息。估计位姿信息是终端设备以该执行数据为输入,执行slam算法得到的输出数据。

可选的,终端设备可以将执行slam算法得到的估计位姿信息写入到本地文件中,以供后续步骤从本地文件中读取终端设备执行slam算法得到的估计位姿信息。

步骤s103、终端设备根据真实位姿信息和估计位姿信息,得到slam算法所对应的轨迹误差。

终端设备在获取到该ar场景的测试动作对应的真实位姿信息和估计位姿信息,可以计算得到真实位姿信息和估计位姿信息的轨迹误差,也即是得到slam算法所对应的轨迹误差。

其中,轨迹误差可以为绝对轨迹误差或者平均轨迹误差(averagetrackerror,简称ate)。

步骤s104、终端设备根据轨迹误差,对slam算法进行算法优化处理。

终端设备在得到slam算法所对应的轨迹误差之后,若slam算法所对应的轨迹误差大于预设误差阈值,终端设备确定slam算法需要优化,对slam算法进行算法优化处理。

其中,误差阈值可以由技术人员根据实际需要进行设定,本实施例此处不做具体限定。

本实施例中,在对slam算法进行算法优化处理之后,还可以针对该ae场景对优化后的slam算法重新进行评测。

本发明实施例终端设备通过在执行ar场景的测试动作过程中,采集执行测试动作所得到的执行数据,并获取执行测试动作所对应的真实位姿信息;采用slam算法对执行数据进行处理,得到执行测试动作所对应的估计位姿信息;根据真实位姿信息和估计位姿信息,得到slam算法所对应的轨迹误差;根据轨迹误差,对slam算法进行算法优化处理,实现了对slam算法的自动化评测和优化,在ar场景规模较大时,能够显著地提升对slam算法的自动化评测和优化的效率,从而可以避免出现移动终端呈现的ar场景中出现3d虚拟物体在真实场景中的漂移和抖动以及重定位时3d虚拟物体的偏移距离大的问题。

实施例二

图2为本发明实施例二提供的基于ar的slam算法的处理方法流程图。在上述实施例一的基础上,本实施例中,如图2所示,该方法具体步骤如下:

步骤s201、终端设备在执行ar场景的测试动作过程中,采集执行测试动作所得到的执行数据。

本实施例中,终端设备在执行ar场景的测试动作过程中,采集执行测试动作所得到的执行数据,具体可以采用如下方式实现:

在执行ar场景的测试动作过程中,终端设备通过终端设备的摄像头采集执行测试动作所得到的视频数据,并且,通过终端设备的惯性测量单元(inertialmeasurementunit,简称imu)采集执行测试动作所得到的惯性测量数据。其中,惯性测量数据可以包括三轴姿态角速度以及加速度。

可选的,若除上述视频数据和惯性测量数据之外slam算法的还需要其他输入数据,终端设备在执行ar场景的测试动作过程中采集执行测试动作所得到的执行数据,还可以包括终端设备上的其他传感器获取的执行slam算法所需的其他输入数据。

步骤s202、终端设备接收定位跟踪系统发送的辅助信息,辅助信息用于使终端设备获取执行测试动作所对应的真实位姿信息。

终端设备获取执行测试动作所对应的真实位姿信息,具体可以通过接收定位跟踪系统发送的辅助信息,辅助信息用于使终端设备获取执行测试动作所对应的真实位姿信息,根据辅助信息获取执行测试动作所对应的真实位姿信息。

本实施例中,终端设备接收定位跟踪系统发送的辅助信息的一种可行的实施方式为:

终端设备接收定位跟踪系统发送的真实位姿信息,其中,真实位姿信息为定位跟踪系统在终端设备执行测试动作过程中获取的终端设备的位姿信息。

具体的,本实施例中可以由定位跟踪系统在终端设备执行ar场景的测试动作过程中跟踪获取终端设备的位姿信息,得到终端设备执行该ar场景的测试动作所对应的真实位姿信息,并将该真实位姿信息发送给移动终端。移动终端通过接收定位跟踪系统发送的真实位姿信息,即可获取到移动终端执行测试动作所对应的真实位姿信息。

这种实现方式中,终端设备无需自行计算真实位姿信息,通过直接接收定位跟踪系统发送的真实位姿信息,可以减少终端设备的计算量,提高终端设备效率。

本实施例中,终端设备接收定位跟踪系统发送的辅助信息的另外一种可行的实施方式为:

终端设备接收定位跟踪系统发送的位姿数据,其中,位姿数据为定位跟踪系统在终端设备执行测试动作过程中所采集的终端设备的位姿状态变化数据;终端设备根据位姿数据计算得到真实位姿信息。

具体的,终端设备接收定位跟踪系统发送的位姿数据,包括:

终端设备接收定位跟踪系统发送的位姿数据,位姿数据包括定位跟踪系统获取定位跟踪系统的跟踪器的位姿变化数据以及跟踪器与终端设备之间的姿态映射关系数据,其中,跟踪器在终端设备执行测试动作的过程中跟踪终端设备。

相应的,终端设备根据位姿数据计算得到真实位姿信息,包括:

终端设备采用姿态映射关系数据对位姿变化数据进行姿态映射处理,得到真实位姿信息。

该实现方式中,定位跟踪系统包括跟踪器,跟踪器在终端设备执行测试动作的过程中跟踪终端设备,通过将跟踪器与终端设备相对空间位置是固定的,定位跟踪系统可以获取到跟踪器与终端设备之间的姿态映射关系数据。

可选的,通过跟踪器与终端设备固定在同一支架上,使得跟踪器与终端设备相对空间位置是固定的,跟踪器的位姿信息与终端设备的位姿信息之间的存在一个刚体变换矩阵,将跟踪器的位姿信息与终端设备的位姿信息之间的刚体变换矩阵作为跟踪器与终端设备之间的姿态映射关系数据。

在终端设备执行ar场景的测试动作过程中,跟踪器在终端设备执行测试动作的过程中跟踪终端设备,定位跟踪系统能够准确获取到跟踪器的位姿变化数据;在获取到跟踪器的位姿变化数据以及跟踪器与终端设备之间的姿态映射关系数据之后,定位跟踪系统将获取到的跟踪器的位姿变化数据以及跟踪器与终端设备之间的姿态映射关系数据发送给移动终端。移动终端在接收到定位跟踪系统发送的位姿数据之后,采用姿态映射关系数据对位姿变化数据进行姿态映射处理,得到真实位姿信息。

本实施例中,上述步骤s201-s202为终端设备第一次执行该ar场景的测试动作过程中需要执行的步骤,在第一次执行该ar场景的测试动作过程中获取到执行测试动作所得到的执行数据以及执行测试动作所对应的真实位姿信息之后,终端设备可以将获取到的执行测试动作所得到的执行数据以及执行测试动作所对应的真实位姿信息与该ar场景进行对应存储。这样,移动终端可以存储该ar场景的测试动作对应的执行数据,在需要针对该ar场景对slam算法进行评测时,根据已存储的该ar场景对应的执行数据进行后续评测过程即可。

本实施例中,为了能评测出slam算法在终端设备上的效果,在终端设备上安装基于slam算法的软件开发工具包(softwaredevelopmentkit,简称sdk)预先开发的示例工程(也称为demo工程),在该示例工程中,mock掉终端设备的相机的输出数据和惯性测量单元的输出数据,在执行slam算法时,终端设备可以直接获取已存储的各ar场景对应的执行数据。

在以后对slam算法的评测时,使用已存储的一组ar场景对应的执行数据,只需要将待测评slam算法的sdk包更新即可,通过灌入同一批录制好的各ar场景对应的执行数据,就能够实现基于同一组各ar场景的slam算法的评测。

步骤s203、终端设备采用slam算法对执行数据进行处理,得到执行测试动作所对应的估计位姿信息。

终端设备将获取到在执行ar场景的测试动作过程中采集的执行数据作为slam算法的输入数据,执行slam算法来对执行数据进行处理,得到执行测试动作所对应的估计位姿信息。估计位姿信息是终端设备以该执行数据为输入,执行slam算法得到的输出数据。

可选的,终端设备可以将执行slam算法得到的估计位姿信息写入到本地文件中,以供后续步骤从本地文件中读取终端设备执行slam算法得到的估计位姿信息。

步骤s204、终端设备根据真实位姿信息和估计位姿信息,得到slam算法所对应的轨迹误差。

本实施例中,终端设备根据真实位姿信息和估计位姿信息,得到slam算法所对应的轨迹误差,具体可以采用如下方式实现:

获取真实位姿信息和估计位姿信息中相匹配的数据对,数据对中的真实位姿信息用于描述终端设备在ar场景下的真实轨迹,数据对中的估计位姿信息用于描述终端设备在ar场景下的估计轨迹;根据真实位姿信息和估计位姿信息中相匹配的数据对,计算得到真实轨迹和估计轨迹的轨迹误差。

具体的,获取真实位姿信息和估计位姿信息中相匹配的数据对,具体可以采用如下方式实现:

根据真实位姿信息和估计位姿信息中各帧数据的时间戳,将真实位姿信息和估计位姿信息的第一帧做时间对齐,也即是,将真实位姿信息和估计位姿信息中的第一帧的时间戳的差值作为基本误差;根据预设的时间差阈值,获取真实位姿信息和估计位姿信息中相匹配的数据对。

其中,匹配的数据对包括分别属于真实位姿信息和估计位姿信息的两个帧,这两个帧的时间戳的差值与上述基本误差的差值小于或者等于预设的时间差阈值。若将两个帧的时间戳的差值与上述基本误差的差值作为这两个帧的误差,那么匹配的数据对中的两个帧的误差不超过预设的时间差阈值。

可选的,预设的时间差阈值小于真实位姿信息和估计位姿信息中相邻的两帧数据的时间戳的差值,以便于获取真实位姿信息和估计位姿信息中相匹配的数据对。

另外,预设的时间差阈值可以由技术人员根据实际需要进行设定,本实施例此处不做具体限定。例如,预设的时间差阈值可以为5毫秒、10毫秒、15毫秒等。

可选的,在获取真实位姿信息和估计位姿信息中相匹配的数据对之前,终端设备还可以对真实位姿信息和估计位姿信息进行预处理,具体包括:终端设备根据估计位姿信息的帧率对真实位姿信息进行帧率同步处理,使得真实位姿信息与估计位姿信息的帧率一致,以便于获取真实位姿信息和估计位姿信息中相匹配的数据对。

可选的,终端设备对真实位姿信息和估计位姿信息进行预处理还可以包括过滤掉明显异常的数据帧。

终端设备采用迭代最近点算法,根据真实位姿信息和估计位姿信息中相匹配的数据对,计算得到真实轨迹和估计轨迹的轨迹误差,具体可以采用如下方式实现:

在获取到真实位姿信息和估计位姿信息中相匹配的数据对之后,终端设备将数据对中的真实位姿信息作为终端设备在该ar场景下的真实轨迹对应的真实轨迹数据,数据对中的估计位姿信息作为终端设备在该ar场景下的估计轨迹对应的估计轨迹数据;根据真实位姿信息和估计位姿信息中相匹配的数据对,计算得到真实轨迹和估计轨迹之间的刚体变换矩阵,并根据真实轨迹和估计轨迹之间的刚体变换矩阵以及真实轨迹数据和估计轨迹数据,计算出真实轨迹和估计轨迹的轨迹误差。

可选的,终端设备可以采用迭代最近点(iterativeclosestpoint,简称icp)算法,根据真实位姿信息和估计位姿信息中相匹配的数据对,将真实轨迹和估计轨迹对齐,计算真实轨迹和估计轨迹之间的刚体变换矩阵,并根据真实轨迹和估计轨迹之间的刚体变换矩阵以及真实轨迹数据和估计轨迹数据,计算出真实轨迹和估计轨迹的轨迹误差。

步骤s205、终端设备根据轨迹误差,对slam算法进行算法优化处理。

终端设备在得到slam算法所对应的轨迹误差之后,若slam算法所对应的轨迹误差大于预设误差阈值,终端设备确定slam算法需要优化,对slam算法进行算法优化处理。

其中,误差阈值可以由技术人员根据实际需要进行设定,本实施例此处不做具体限定。

本实施例中,在对slam算法进行算法优化处理之后,还可以针对该ae场景对优化后的slam算法重新进行评测。

本发明实施例提供了对基于ar的slam算法的处理方法的实施方式进行了详细地说明,在对基于ar场景的slam算法进行评测时,终端设备通过在第一次针对一ar场景的测试动作的执行过程中,获取并存储执行测试动作所得到的执行数据以及执行测试动作所对应的真实位姿信息,当再次针对同一ar场景对slam算法进行评测时,终端设备直接获取已存储的执行测试动作所得到的执行数据以及执行测试动作所对应的真实位姿信息即可,实现了对slam算法的自动化评测和优化,在ar场景规模较大时,能够显著地提升对slam算法的自动化评测和优化的效率。

实施例三

图3为本发明实施例三提供的基于ar的slam算法的处理方法流程图。本发明实施例针对现有的对于应用于移动终端的基于ar的slam算法的评测为手工测试和人为主观判断,导致移动终端呈现的ar场景中出现3d虚拟物体在真实场景中的漂移和抖动以及重定位时3d虚拟物体的偏移距离大的问题,提供了基于ar的slam算法的处理方法。本实施例中的方法应用于定位跟踪系统,例如htcvive的lighthouse系统等,在其他实施例中,该方法还可应用于其他设备,本实施例以定位跟踪系统为例进行示意性说明。

本实施例中以lighthouse系统为例对定位跟踪系统进行说明,定位跟踪系统包括两个基站(basestation)和一个跟踪器(vivetracker),跟踪器上安装有光敏传感器。每个基站里有一个红外led阵列,内部有两个转轴(分别记为x轴和y轴)互相垂直的旋转的红外激光发射器按照一定频率间隔(例如10毫秒)向空间发射红外光,投射到安装有光敏传感器的跟踪器,通过x轴和y轴到达光敏传感器的时间并结合光敏传感器之间的固定距离,就可以计算出跟踪器在空间的位姿信息。在对终端设备的基于ar场景的slam算法进行评测时,在终端设备执行ar场景的测试动作过程中,定位跟踪系统的跟踪器用于跟踪终端设备。

如图3所示,该方法具体步骤如下:

步骤s301、在终端设备执行ar场景的测试动作过程中,定位跟踪系统采集获取辅助信息,辅助信息用于使终端设备获取执行测试动作所对应的真实位姿信息。

本实施例中,在对终端设备的基于ar场景的slam算法进行评测时,在终端设备执行各个ar场景的测试动作过程中,定位跟踪系统的跟踪器跟踪终端设备的运动轨迹,定位跟踪系统可以采集到终端设备的运动轨迹的辅助信息,终端设备根据辅助信息可以获取执行测试动作所对应的真实位姿信息。

可选的,定位跟踪系统采集获取辅助信息,具体可以采用以下任意一种方式实现:

一种可行的实施方式:

将终端设备配置为定位跟踪系统的跟踪器,在终端设备执行测试动作过程中,定位跟踪系统获取真实位姿信息,将该真实位姿信息作为辅助信息。其中,真实位姿信息为终端设备在执行测试动作过程中的位姿信息。

另一种可行的实施方式:

设置跟踪器与终端设备相对空间位置是固定的,在终端设备执行测试动作过程中,定位跟踪系统采集终端设备的位姿数据,位姿数据为终端设备在执行测试动作过程中的位姿状态变化数据,将该位姿数据作为辅助信息。

再一种可行的实施方式:

设置跟踪器与终端设备相对空间位置是固定的,在终端设备执行测试动作过程中,定位跟踪系统采集终端设备的位姿数据,位姿数据为终端设备在执行测试动作过程中的位姿状态变化数据,并且,定位跟踪系统根据该位姿数据计算得到终端设备的真实位姿信息,将该真实位姿信息作为辅助信息。

步骤s302、定位跟踪系统向终端设备发送辅助信息。

本发明实施例中定位跟踪系统在终端设备执行各ar场景的测试动作过程中,采集获取用于使终端设备获取执行测试动作所对应的真实位姿信息的辅助信息,并将辅助信息发送给终端设备;终端设备能够根据接收到的辅助信息获取执行测试动作所对应的真实位姿信息,为终端设备进一步根据真实位姿信息和估计位姿信息,得到slam算法所对应的轨迹误差,并据轨迹误差对slam算法进行算法优化处理,实现对slam算法的自动化评测和优化提供了数据基础,在ar场景规模较大时,能够显著地提升终端设备获取执行测试动作所对应的真实位姿信息的效率,从而可以提高终端设备对slam算法的自动化评测和优化的效率,可以避免出现移动终端呈现的ar场景中出现3d虚拟物体在真实场景中的漂移和抖动以及重定位时3d虚拟物体的偏移距离大的问题。

实施例四

图4为本发明实施例四提供的基于ar的slam算法的处理方法流程图。在上述实施例三的基础上,本实施例中,在终端设备执行测试动作过程中,定位跟踪系统采集终端设备的位姿数据,包括:在终端设备执行测试动作过程中,定位跟踪系统采集定位跟踪系统的跟踪器的位姿变化数据,并获取跟踪器与终端设备之间的姿态映射关系数据,其中,跟踪器在终端设备执行测试动作的过程中跟踪终端设备。如图4所示,该方法具体步骤如下:

步骤s401、在终端设备执行测试动作过程中,定位跟踪系统采集定位跟踪系统的跟踪器的位姿变化数据;其中,跟踪器在终端设备执行测试动作的过程中跟踪终端设备。

本实施例中,在终端设备执行测试动作过程中,跟踪器跟踪终端设备的运动轨迹,定位跟踪系统采集定位跟踪系统的跟踪器的位姿变化数据。

另外,定位跟踪系统采集跟踪器的位姿变化数据的实现方式可以采用现有技术中任意一种采集跟踪器发送运动过程中的运动轨迹对应的位姿变化数据的方法实现,例如lighthouse系统确定lighthouse系统的跟踪器的运动轨迹对应的位姿变化数据的方法等,本实施例对此不做具体限定。

步骤s402、获取跟踪器与终端设备之间的姿态映射关系数据。

本实施例中,跟踪器在终端设备执行测试动作的过程中跟踪终端设备,通过将跟踪器与终端设备相对空间位置是固定的,定位跟踪系统可以获取到跟踪器与终端设备之间的姿态映射关系数据。

具体的,通过跟踪器与终端设备固定在同一支架上,使得跟踪器与终端设备相对空间位置是固定的,跟踪器的位姿信息与终端设备的位姿信息之间的存在一个刚体变换矩阵,将跟踪器的位姿信息与终端设备的位姿信息之间的刚体变换矩阵作为跟踪器与终端设备之间的姿态映射关系数据。

通常,定位跟踪系统的跟踪器与终端设备的摄像头采集图像数据的帧率不一致,例如,假设定位跟踪系统为lighthouse系统,终端设备为手机,基于传统的基于时间和空间的手眼标定,lighthouse系统中跟踪器采集图像数据的帧率通常为250帧/秒,手机的摄像头采集图像数据的帧率通常为30帧/秒。

本实施例中,在终端设备执行测试动作过程中,定位跟踪系统获取跟踪器与终端设备之间的姿态映射关系数据,包括:

在终端设备执行测试动作过程中,定位跟踪系统获取跟踪器采集的图像数据和终端设备采集的图像数据,图像数据包括至少一个图像帧;定位跟踪系统根据终端设备采集图像数据的帧率,对跟踪器采集的图像数据进行帧率同步处理,使跟踪器采集的图像数据与终端设备采集图像帧的帧率一致;根据跟踪器采集的图像数据与终端设备采集的图像数据,计算终端设备的运动轨迹的与跟踪器的运动轨迹的刚体变换矩阵。

通过对定位跟踪系统根据终端设备采集图像数据的帧率,对跟踪器采集的图像数据进行帧率同步处理,可以使得跟踪器采集的图像数据与终端设备采集图像帧的帧率一致,根据帧率同步处理后的跟踪器采集的图像数据和终端设备采集的图像数据,计算终端设备的运动轨迹的与跟踪器的运动轨迹的刚体变换矩阵,可以优化棋盘格特定角点在摄像头拍摄平面上的重投影误差。

需要说明的是,在终端设备与跟踪器的相对空间位置保持固定不变时,跟踪器与终端设备之间的姿态映射关系数据也是固定不变的,只需在终端设备执行第一个ar场景的测试动作的过程中,通过该步骤s402确定跟踪器与终端设备之间的姿态映射关系数据之后,定位跟踪系统可以存储跟踪器与终端设备之间的姿态映射关系数据,在终端设备执行其他ar场景的测试动作的过程中,定位跟踪系统获取已存储的跟踪器与终端设备之间的姿态映射关系数据即可,提高了定位跟踪系统的效率,可以进一步提升终端设备对基于ar场景的slam算法的评测和优化效率。

上述步骤s401-s402为定位跟踪系统在终端设备执行测试动作过程中,定位跟踪系统采集终端设备的位姿数据的一种可行的实施方式。

在本实施例的另一可行的实施方式中,在定位跟踪系统获取到跟踪器的位姿变化数据和跟踪器与终端设备之间的姿态映射关系数据之后,定位跟踪系统可以将跟踪器的位姿变化数据和跟踪器与终端设备之间的姿态映射关系数据作为辅助信息,向终端设备发送该辅助信息,终端设备可以采用姿态映射关系数据对位姿变化数据进行姿态映射处理,得到真实位姿信息。

步骤s403、定位跟踪系统采用姿态映射关系数据对位姿变化数据进行姿态映射处理,得到真实位姿信息。

其中,真实位姿信息为终端设备在执行测试动作过程中的位姿信息。

本实施例中,在定位跟踪系统获取到跟踪器的位姿变化数据和跟踪器与终端设备之间的姿态映射关系数据之后,定位跟踪系统采用姿态映射关系数据对位姿变化数据进行姿态映射处理,得到真实位姿信息,然后再将真实位姿信息发送给终端设备,可以减少终端设备的计算量,从而可以提高终端设备的效率。

步骤s404、定位跟踪系统将该真实位姿信息作为辅助信息,向终端设备该发送辅助信息。

本实施例中在终端设备执行各ar场景的测试动作过程中,定位跟踪系统采集定位跟踪系统的跟踪器的位姿变化数据,并获取跟踪器与终端设备之间的姿态映射关系数据,定位跟踪系统采用姿态映射关系数据对位姿变化数据进行姿态映射处理,得到真实位姿信息,然后再将真实位姿信息发送给终端设备,可以减少终端设备的计算量,从而可以提高终端设备的效率,在ar场景规模较大时,能够显著地提升对slam算法的自动化评测和优化的效率。

实施例五

图5为本发明实施例五提供的基于ar的slam算法的处理装置的结构示意图。本发明实施例提供的基于ar的slam算法的处理装置可以执行基于ar的slam算法的处理方法实施例提供的处理流程。如图5所示,该装置50包括:数据获取模块501,执行模块502,误差计算模块503和优化模块504。

具体地,数据获取模块501用于终端设备在执行ar场景的测试动作过程中,采集执行测试动作所得到的执行数据,并获取执行测试动作所对应的真实位姿信息。

执行模块502用于终端设备采用slam算法对执行数据进行处理,得到执行测试动作所对应的估计位姿信息。

误差计算模块503用于终端设备根据真实位姿信息和估计位姿信息,得到slam算法所对应的轨迹误差。

优化模块504用于终端设备根据轨迹误差,对slam算法进行算法优化处理。

本发明实施例提供的装置可以具体用于执行上述实施例一所提供的方法实施例,具体功能此处不再赘述。

本发明实施例终端设备通过在执行ar场景的测试动作过程中,采集执行测试动作所得到的执行数据,并获取执行测试动作所对应的真实位姿信息;采用slam算法对执行数据进行处理,得到执行测试动作所对应的估计位姿信息;根据真实位姿信息和估计位姿信息,得到slam算法所对应的轨迹误差;根据轨迹误差,对slam算法进行算法优化处理,实现了对slam算法的自动化评测和优化,在ar场景规模较大时,能够显著地提升对slam算法的自动化评测和优化的效率,从而可以避免出现移动终端呈现的ar场景中出现3d虚拟物体在真实场景中的漂移和抖动以及重定位时3d虚拟物体的偏移距离大的问题。

实施例六

在上述实施例五的基础上,本实施例中,数据获取模块还用于:终端设备通过终端设备的摄像头采集执行测试动作所得到的视频数据,并且,通过终端设备的惯性测量单元采集执行测试动作所得到的惯性测量数据。

可选的,数据获取模块还用于:

终端设备接收定位跟踪系统发送的辅助信息,辅助信息用于使终端设备获取执行测试动作所对应的真实位姿信息。

可选的,数据获取模块还用于:

终端设备接收定位跟踪系统发送的真实位姿信息,其中,真实位姿信息为定位跟踪系统在终端设备执行测试动作过程中获取的终端设备的位姿信息。

可选的,数据获取模块还用于:

终端设备接收定位跟踪系统发送的位姿数据,其中,位姿数据为定位跟踪系统在终端设备执行测试动作过程中所采集的终端设备的位姿状态变化数据;终端设备根据位姿数据计算得到真实位姿信息。

可选的,数据获取模块还用于:

终端设备接收定位跟踪系统发送的位姿数据,位姿数据包括定位跟踪系统获取定位跟踪系统的跟踪器的位姿变化数据以及跟踪器与终端设备之间的姿态映射关系数据,其中,跟踪器在终端设备执行测试动作的过程中跟踪终端设备;终端设备采用姿态映射关系数据对位姿变化数据进行姿态映射处理,得到真实位姿信息。

可选的,误差计算模块还用于:

终端设备获取真实位姿信息和估计位姿信息中相匹配的数据对,数据对中的真实位姿信息用于描述终端设备在ar场景下的真实轨迹,数据对中的估计位姿信息用于描述终端设备在ar场景下的估计轨迹;终端设备根据真实位姿信息和估计位姿信息中相匹配的数据对,计算得到真实轨迹和估计轨迹的轨迹误差。

本发明实施例提供的装置可以具体用于执行上述实施例二所提供的方法实施例,具体功能此处不再赘述。

本发明实施例提供了对基于ar的slam算法的处理方法的实施方式进行了详细地说明,在对基于ar场景的slam算法进行评测时,终端设备通过在第一次针对一ar场景的测试动作的执行过程中,获取并存储执行测试动作所得到的执行数据以及执行测试动作所对应的真实位姿信息,当再次针对同一ar场景对slam算法进行评测时,终端设备直接获取已存储的执行测试动作所得到的执行数据以及执行测试动作所对应的真实位姿信息即可,实现了对slam算法的自动化评测和优化,在ar场景规模较大时,能够显著地提升对slam算法的自动化评测和优化的效率。

实施例七

图6为本发明实施例七提供的基于ar的slam算法的处理装置的结构示意图。本发明实施例提供的基于ar的slam算法的处理装置可以执行基于ar的slam算法的处理方法实施例提供的处理流程。如图6所示,该装置60包括:数据采集模块601和发送模块602。

具体的,数据采集模块601用于在终端设备执行ar场景的测试动作过程中,定位跟踪系统采集获取辅助信息,辅助信息用于使终端设备获取执行测试动作所对应的真实位姿信息。

发送模块602用于定位跟踪系统向终端设备发送辅助信息。

本发明实施例提供的装置可以具体用于执行上述实施例三所提供的方法实施例,具体功能此处不再赘述。

本发明实施例中定位跟踪系统在终端设备执行各ar场景的测试动作过程中,采集获取用于使终端设备获取执行测试动作所对应的真实位姿信息的辅助信息,并将辅助信息发送给终端设备;终端设备能够根据接收到的辅助信息获取执行测试动作所对应的真实位姿信息,为终端设备进一步根据真实位姿信息和估计位姿信息,得到slam算法所对应的轨迹误差,并据轨迹误差对slam算法进行算法优化处理,实现对slam算法的自动化评测和优化提供了数据基础,在ar场景规模较大时,能够显著地提升终端设备获取执行测试动作所对应的真实位姿信息的效率,从而可以提高终端设备对slam算法的自动化评测和优化的效率,可以避免出现移动终端呈现的ar场景中出现3d虚拟物体在真实场景中的漂移和抖动以及重定位时3d虚拟物体的偏移距离大的问题。

实施例八

在上述实施例七的基础上,本实施例中,数据采集模块还用于:

在终端设备执行测试动作过程中,定位跟踪系统获取真实位姿信息,其中,真实位姿信息为终端设备在执行测试动作过程中的位姿信息。

可选的,数据采集模块还用于:

在终端设备执行测试动作过程中,定位跟踪系统采集终端设备的位姿数据,其中,位姿数据为终端设备在执行测试动作过程中的位姿状态变化数据。

可选的,数据采集模块还用于:

在终端设备执行测试动作过程中,定位跟踪系统采集定位跟踪系统的跟踪器的位姿变化数据,并获取跟踪器与终端设备之间的姿态映射关系数据,其中,跟踪器在终端设备执行测试动作的过程中跟踪终端设备。

可选的,数据采集模块还用于:

在终端设备执行测试动作过程中,定位跟踪系统获取跟踪器采集的图像数据和终端设备采集的图像数据,图像数据包括至少一个图像帧;定位跟踪系统根据终端设备采集图像数据的帧率,对跟踪器采集的图像数据进行帧率同步处理,使跟踪器采集的图像数据与终端设备采集图像帧的帧率一致;根据跟踪器采集的图像数据与终端设备采集的图像数据,计算终端设备的运动轨迹的与跟踪器的运动轨迹的刚体变换矩阵。

可选的,数据采集模块还用于:

定位跟踪系统采用姿态映射关系数据对位姿变化数据进行姿态映射处理,得到真实位姿信息,其中,真实位姿信息为终端设备在执行测试动作过程中的位姿信息。

本发明实施例提供的装置可以具体用于执行上述实施例四所提供的方法实施例,具体功能此处不再赘述。

本实施例中在终端设备执行各ar场景的测试动作过程中,定位跟踪系统采集定位跟踪系统的跟踪器的位姿变化数据,并获取跟踪器与终端设备之间的姿态映射关系数据,定位跟踪系统采用姿态映射关系数据对位姿变化数据进行姿态映射处理,得到真实位姿信息,然后再将真实位姿信息发送给终端设备,可以减少终端设备的计算量,从而可以提高终端设备的效率,在ar场景规模较大时,能够显著地提升对slam算法的自动化评测和优化的效率。

实施例九

图7为本发明实施例九提供的终端设备的结构示意图。如图7所示,该终端设备70包括:处理器701,存储器702,以及存储在存储器702上并可由处理器701执行的计算机程序。

处理器701在执行存储在存储器702上的计算机程序时实现上述实施例一或者实施例二提供的基于ar的slam算法的处理方法。

本发明实施例终端设备通过在执行ar场景的测试动作过程中,采集执行测试动作所得到的执行数据,并获取执行测试动作所对应的真实位姿信息;采用slam算法对执行数据进行处理,得到执行测试动作所对应的估计位姿信息;根据真实位姿信息和估计位姿信息,得到slam算法所对应的轨迹误差;根据轨迹误差,对slam算法进行算法优化处理,实现了对slam算法的自动化评测和优化,在ar场景规模较大时,能够显著地提升对slam算法的自动化评测和优化的效率,从而可以避免出现移动终端呈现的ar场景中出现3d虚拟物体在真实场景中的漂移和抖动以及重定位时3d虚拟物体的偏移距离大的问题。

实施例十

图8为本发明实施例九提供的定位跟踪系统的结构示意图。如图8所示,该终端设备80包括:跟踪器800和控制设备801。

其中,跟踪器800用于在终端设备执行ar场景的测试动作的过程中跟踪终端设备。

所述控制设备801包括处理器8011,存储器8012,以及存储在存储器8012上并可由处理器8011执行的计算机程序。

处理器8011在执行存储在存储器8012上的计算机程序时实现上述实施例三或者实施例四提供的基于ar的slam算法的处理方法。

本发明实施例中定位跟踪系统在终端设备执行各ar场景的测试动作过程中,采集获取用于使终端设备获取执行测试动作所对应的真实位姿信息的辅助信息,并将辅助信息发送给终端设备;终端设备能够根据接收到的辅助信息获取执行测试动作所对应的真实位姿信息,为终端设备进一步根据真实位姿信息和估计位姿信息,得到slam算法所对应的轨迹误差,并据轨迹误差对slam算法进行算法优化处理,实现对slam算法的自动化评测和优化提供了数据基础,在ar场景规模较大时,能够显著地提升终端设备获取执行测试动作所对应的真实位姿信息的效率,从而可以提高终端设备对slam算法的自动化评测和优化的效率,可以避免出现移动终端呈现的ar场景中出现3d虚拟物体在真实场景中的漂移和抖动以及重定位时3d虚拟物体的偏移距离大的问题。

另外,本发明实施例还提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述任一方法实施例提供的基于ar的slam算法的处理方法。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求书指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求书来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1