空间定位的方法、介质、装置和计算设备与流程

文档序号:15935980发布日期:2018-11-14 02:23阅读:152来源:国知局

本发明的实施方式涉及虚拟现实或增强现实领域,更具体地,本发明的实施方式涉及一种可以用于进行移动终端定位的空间定位方法、介质、装置和计算设备。

背景技术

本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

一种较为通用的inside-out移动终端定位方法是,根据手机或头戴设备等移动终端上附带的摄像头和imu(inertialmeasurementunit,惯性测量单元)等传感器进行移动终端的空间定位,该方法可应用于vr(virtualreality,虚拟现实)设备、ar(augmentedreality,增强现实)设备、以及移动终端导航等场景。另一种较为通用的inside-out移动终端定位方法是单纯依靠摄像头拍摄的图像的纯视觉定位方法。

然而,通过视觉图像与imu耦合进行移动终端定位的方法,依赖于imu与摄像头的标定信息,需要事先对设备进行复杂的预标定,这极大地增加了对移动设备的覆盖难度。另外,纯视觉定位方法依赖于丰富的图像特征信息和平缓的用户运动并且无法处理纯旋转,大大限制了用户体验。



技术实现要素:

在现有技术中,视觉图像与imu耦合进行移动终端定位时,需要通过imu获取设备的运动信息。这些运动信息包括移动终端的移动角加速度、和/或线加速度等信息。在这种情况下,需要对imu与摄像头进行复杂的预标定,这极大的增加了视觉图像与imu耦合的方案在各种移动终端中的覆盖难度,难以推广应用。而传统的纯视觉定位方法适用于平缓的用户运动,导致当用户运动不平缓时对移动终端定位的稳定性低。因此,在现有技术中,如何实现高效的inside-out移动终端的定位以进行更好的场景跟踪是非常令人烦恼的。

为此,非常需要一种改进的空间定位的方法,使得对移动终端进行追踪定位能够更加稳定、且简洁高效。

在本上下文中,本发明的实施方式期望提供一种空间定位的方法、介质、装置和计算设备。

在本发明实施方式的第一方面中,提供了一种空间定位的方法。所述方法应用于电子设备,所述电子设备包括图像采集装置和角度测量装置,其中,第一帧图像对应的图像采集装置具有初始位姿,当前帧图像为所述第一帧图像之后的任意一帧图像。所述方法包括:基于所述角度测量装置的信息,获取所述当前帧图像对应的图像采集装置相对于参考平面的当前角度信息,所述参考平面为空间一已知平面;结合所述当前角度信息、所述当前帧图像的前一帧图像对应的图像采集装置的位姿信息,并基于所述当前帧图像与所述前一帧图像的图像匹配关系,确定所述当前帧图像对应的图像采集装置的位姿信息;以及将所述图像采集装置采集的位于所述参考平面上的与所述当前帧图像相同的画面,根据所述当前帧图像对应的图像采集装置的位姿信息进行相应转动和/或平移,以获得所述当前帧图像的空间定位。

在本发明的一个实施例中,所述方法还包括获取所述初始位姿。具体地,获取所述初始位姿包括:基于所述角度测量装置的信息,获取所述第一帧图像对应的图像采集装置相对于所述参考平面的初始角度信息;获取所述第一帧图像对应的图像采集装置相对于所述参考平面的初始位置信息;以及根据所述初始角度信息和所述初始位置信息得到所述初始位姿。在本发明的另一个实施例中,所述方法还包括基于所述初始位姿,获取所述第一帧图像的空间定位。

在本发明的另一个实施例中,所述结合所述当前角度信息、所述当前帧图像的前一帧图像对应的图像采集装置的位姿信息,并基于所述当前帧图像与所述前一帧图像的图像匹配关系,确定所述当前帧图像对应的图像采集装置的位姿信息包括:提取所述当前帧图像中的多个第一特征点;计算对应于所述多个第一特征点的特征描述信息;根据所述特征描述信息,将所述当前帧图像中的多个第一特征点与所述前一帧图像中的特征点进行匹配;以及结合所述当前角度信息、所述前一帧图像对应的图像采集装置的位姿信息,基于匹配上的特征点在所述当前帧图像与所述前一帧图像中的二维分布,获取所述当前帧图像对应的图像采集装置的位姿信息,其中所述匹配上的特征点的空间定位信息为根据所述前一帧图像的空间定位获得的。

在本发明的一个实施例中,所述结合所述当前角度信息、所述当前帧图像的前一帧图像对应的图像采集装置的位姿信息,并基于所述当前帧图像与所述前一帧图像的图像匹配关系,确定所述当前帧图像对应的图像采集装置的位姿信息包括:提取所述前一帧图像中的多个第二特征点;以及结合所述当前角度信息、所述前一帧图像对应的图像采集装置的位姿信息,基于所述多个第二特征点在所述前一帧图像中的二维分布,优化所述当前帧图像对应的图像采集装置的位姿信息。在本发明的一个实施例中,所述结合所述当前角度信息、所述前一帧图像对应的图像采集装置的位姿信息,基于所述多个第二特征点在所述前一帧图像中的二维分布,优化所述当前帧图像对应的图像采集装置的位姿信息,包括通过梯度下降方法优化所述图像采集装置的位姿信息,以使所述多个第二特征点重投影后的像素值与在所述前一帧图像中的像素值的像素差最小。

在本发明的一个实施例中,所述结合所述当前角度信息、所述当前帧图像的前一帧图像对应的图像采集装置的位姿信息,并基于所述当前帧图像与所述前一帧图像的图像匹配关系,确定所述当前帧图像对应的图像采集装置的位姿信息包括:选择所述前一帧图像中的兴趣图像区域;获取当前帧图像中与所述兴趣图像区域相匹配的匹配图像区域;以及结合所述当前角度信息、所述前一帧图像对应的图像采集装置的位姿信息,基于所述匹配图像区域与所述兴趣图像区域的对应点分别在所述当前帧图像和所述前一帧图像中的二维分布,获得所述当前帧图像对应的图像采集装置的位姿信息。在本发明的另一个实施例中,所述结合所述当前角度信息、所述前一帧图像对应的图像采集装置的位姿信息,基于所述匹配图像区域与所述兴趣图像区域的对应点分别在所述当前帧图像和所述前一帧图像中的二维分布,获得所述当前帧图像对应的图像采集装置的位姿信息包括:根据所述匹配图像区域与所述兴趣图像区域的对应点分别在所述当前帧图像和所述前一帧图像中的二维分布,获得所述当前帧图像与所述前一帧图像的单应性矩阵;以及结合所述当前角度信息、所述前一帧图像对应的图像采集装置的位姿信息,分解所述单应性矩阵以获得所述当前帧图像对应的图像采集装置的位姿信息。

在本发明的一个实施例中,所述参考平面包括地平面。

在本发明的一个实施例中,所述电子设备还包括虚拟物体投影装置,用于根据每一帧图像的空间定位向空间投影虚拟物体,其中所述每一帧图像包括所述第一帧图像和所述当前帧图像。在所述虚拟物体的位置随空间中的特定物体一起运动的情况下,所述图像匹配关系包括所述特定物体在所述当前帧图像与所述前一帧图像中的匹配关系,其中,所述特定物体为空间中的物理实体;或者,在所述虚拟物体的位置不随空间中其他物理实体运动的情况下,所述图像匹配关系包括所述图像采集装置采集的任意物理实体在所述当前帧图像与所述前一帧图像中的匹配关系。

在本发明的一个实施例中,所述方法还包括识别并剔除每一帧图像中的外点,所述外点包括由于实体物体的运动和/或该图像采集装置被遮挡而采集得到的异常点。

在本发明的一个实施例中,所述方法还包括:对所述当前帧图像进行闭环检测,以及响应于所述闭环检测的成功,以与所述当前帧图像闭环检测成功的图像帧对应的图像采集装置的位姿信息校正当前帧图像对应的图像采集装置的位姿信息,以消除累计误差。

在本发明实施方式的第二方面中,提供了一种计算机可读存储介质,其上存储有可执行指令,所述指令在被处理器执行时使处理器执行在本发明实施方式的第一方面中提供的空间定位的方法。

在本发明实施方式的第三方面中,提供了一种空间定位的装置。所述装置设置于电子设备,所述电子设备包括图像采集装置和角度测量装置,其中,第一帧图像对应的图像采集装置具有初始位姿,当前帧图像为所述第一帧图像之后的任意一帧图像。所述装置包括当前帧角度获取模块、当前帧位姿信息获取模块、以及当前帧空间定位获取模块。当前帧角度获取模块用于基于所述角度测量装置的信息,获取所述当前帧图像对应的图像采集装置相对于参考平面的当前角度信息,所述参考平面为空间一已知平面。当前帧位姿信息获取模块用于结合所述当前角度信息、所述当前帧图像的前一帧图像对应的图像采集装置的位姿信息,并基于所述当前帧图像与所述前一帧图像的图像匹配关系,确定所述当前帧图像对应的图像采集装置的位姿信息。当前帧空间定位获取模块用于将所述图像采集装置采集的位于所述参考平面上的与所述当前帧图像相同的画面,根据所述当前帧图像对应的图像采集装置的位姿信息进行相应转动和/或平移,以获得所述当前帧图像的空间定位。

在本发明的一个实施例中,所述装置还包括初始位姿获取模块。初始位姿获取模块,用于获取所述初始位姿,具体包括基于所述角度测量装置的信息,获取所述第一帧图像对应的图像采集装置相对于所述参考平面的初始角度信息,获取所述第一帧图像对应的图像采集装置相对于所述参考平面的初始位置信息,以及根据所述初始角度信息和所述初始位置信息得到所述初始位姿。在本发明的另一个实施例中,所述装置还包括初始空间定位获取模块。初始空间定位获取模块用于基于所述初始位姿,获取所述第一帧图像的空间定位。

在本发明的一个实施例中,所述当前帧位姿信息获取模块具体用于:提取所述当前帧图像中的多个第一特征点;计算对应于所述多个第一特征点的特征描述信息;根据所述特征描述信息,将所述当前帧图像中的多个第一特征点与所述前一帧图像中的特征点进行匹配;以及结合所述当前角度信息、所述前一帧图像对应的图像采集装置的位姿信息,基于匹配上的特征点在所述当前帧图像与所述前一帧图像中的二维分布,获取所述当前帧图像对应的图像采集装置的位姿信息,其中所述匹配上的特征点的空间定位信息为根据所述前一帧图像的空间定位获得的。

在本发明的一个实施例中,当前帧位姿信息获取模块具体用于:提取所述前一帧图像中的多个第二特征点;以及结合所述当前角度信息、所述前一帧图像对应的图像采集装置的位姿信息,基于所述多个第二特征点在所述前一帧图像中的二维分布,优化所述当前帧图像对应的图像采集装置的位姿信息。在本发明的另一个实施例中,所述结合所述当前角度信息、所述前一帧图像对应的图像采集装置的位姿信息,基于所述多个第二特征点在所述前一帧图像中的二维分布,优化所述当前帧图像对应的图像采集装置的位姿信息,包括通过梯度下降方法优化所述图像采集装置的位姿信息,以使所述多个第二特征点重投影后的像素值与在所述前一帧图像中的像素值的像素差最小。

在本发明的一个实施例中,所述当前帧位姿信息获取模块具体用于:选择所述前一帧图像中的兴趣图像区域;获取当前帧图像中与所述兴趣图像区域相匹配的匹配图像区域;以及结合所述当前角度信息、所述前一帧图像对应的图像采集装置的位姿信息,基于所述匹配图像区域与所述兴趣图像区域的对应点分别在所述当前帧图像和所述前一帧图像中的二维分布,获得所述当前帧图像对应的图像采集装置的位姿信息。在本发明的另一个实施例中,所述结合所述当前角度信息、所述前一帧图像对应的图像采集装置的位姿信息,基于所述匹配图像区域与所述兴趣图像区域的对应点分别在所述当前帧图像和所述前一帧图像中的二维分布,获得所述当前帧图像对应的图像采集装置的位姿信息包括:根据所述匹配图像区域与所述兴趣图像区域的对应点分别在所述当前帧图像和所述前一帧图像中的二维分布,获得所述当前帧图像与所述前一帧图像的单应性矩阵;以及结合所述当前角度信息、所述前一帧图像对应的图像采集装置的位姿信息,分解所述单应性矩阵以获得所述当前帧图像对应的图像采集装置的位姿信息。

在本发明的一个实施例中,所述参考平面包括地平面。

在本发明的一个实施例中,所述电子设备还包括虚拟物体投影装置,用于根据每一帧图像的空间定位向空间投影虚拟物体,其中所述每一帧图像包括所述第一帧图像和所述当前帧图像。在所述虚拟物体的位置随空间中的特定物体一起运动的情况下,所述图像匹配关系包括所述特定物体在所述当前帧图像与所述前一帧图像中的匹配关系,其中,所述特定物体为空间中的物理实体;或者,在所述虚拟物体的位置不随空间中其他物理实体运动的情况下,所述图像匹配关系包括所述图像采集装置采集的任意物理实体在所述当前帧图像与所述前一帧图像中的匹配关系。

在本发明的一个实施例中,所述装置还包括外点剔除模块。所述外点剔除模块用于识别并剔除每一帧图像中的外点,所述外点包括由于实体物体的运动和/或该图像采集装置被遮挡而采集得到的异常点。

在本发明的一个实施例中,所述装置还包括闭环检测模块。所述闭环检测模块用于对所述当前帧图像进行闭环检测,以及响应于所述闭环检测的成功,以与所述当前帧图像闭环检测成功的图像帧对应的图像采集装置的位姿信息校正当前帧图像对应的图像采集装置的位姿信息,以消除累计误差。

在本发明实施方式的第四方面中,提供了一种计算设备。所述计算设备包括存储有可执行指令的一个或多个存储器、以及一个或多个处理器。所述一个或多个处理器,执行所述可执行指令,用以实现在本发明实施方式的第一方面中提供的空间定位的方法。

根据本发明实施方式的空间定位的方法、介质、装置和计算设备,可以根据角度测量装置的信息获得图像采集装置相对于参考平面的角度,并结合视觉图像的匹配关系获得图像采集装置的位姿,进而根据图像采集装置的位姿将位于所述参考平面上的画面进行相应的平移或旋转,获得图像采集装置采集的图像在空间的定位,从而实现了高效简洁的inside-out移动终端定位。这样,在ar或vr进行虚拟物体投影等场景中,就可以根据图像的空间定位进行虚拟物体的投影和渲染。通过这种方式,一方面可以弥补纯视觉算法进行场景跟踪时稳定性低的缺陷,另一方面也省去了imu与摄像头之间的预标定工作,而且达到了与视觉图像与imu耦合方案接近的跟踪效果,为用户带来了更好的体验。

附图说明

通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:

图1示意性地示出了根据本发明实施方式的空间定位的方法、介质、装置及计算设备的应用场景;

图2示意性地示出了根据本发明实施例的空间定位的方法的流程图;

图3示意性地示出了根据本发明另一实施例的空间定位的方法的流程图;

图4a~图4c示意性地示出了根据本发明各个实施例的确定该当前帧图像对应的图像采集装置的位姿信息的方法流程图;

图5示意性示出了根据本发明又一实施例的空间定位的方法的流程图;

图6示意性示出了根据本发明实施例的用于实现空间定位的程序产品的示意图;

图7示意性示出了根据本发明实施例的空间定位的装置的框图;以及

图8示意性示出了根据本发明实施例的适用于实现空间定位的计算设备的示意图;

在附图中,相同或对应的标号表示相同或对应的部分。

具体实施方式

下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。

本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。

根据本发明的实施方式,提出了一种空间定位的方法、介质、装置和计算设备。

在本文中,需要理解的是,所涉及的术语位姿信息包括图像采集装置在空间中的位置信息和角度(即,朝向)信息,某一帧图像的空间定位指的是投影在该帧图像中的各个像素点对应的实体点在三维空间中的位置信息。此外,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。

下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。

发明概述

本发明人发现,作一个先验假设,认为移动终端(即,电子设备)的图像采集装置(例如,摄像头)当前所跟踪的环境是已知的参考平面(例如,地平面),那么摄像头采集的每一帧图像的空间定位,都可以通过将在地平面上采集的相同画面根据摄像头的位姿信息进行相应转动和/或平移而获得。这意味着只要获得了摄像头的位姿信息,就可以相应地对摄像头在该位姿状态下采集得到的图像进行空间定位。基于此,通过角度测量装置(例如,陀螺仪)的信息得到电子设备相对于地平面的角度信息(即可以获知该电子设备在三维空间中的真实朝向),同时根据图像跟踪算法获得了电子设备相对于该参考平面的位置信息,从而就可以根据电子设备的位姿信息获得摄像头所采集的每一帧图像的空间定位,在一定程度上实现inside-out定位。

在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。

应用场景总览

首先参考图1。

图1示意性地示出了根据本发明实施方式的空间定位的方法、介质、装置及计算设备的应用场景。

如图1所示,电子设备10可用于将虚拟的小猫201嵌入真实的房间场景202中,其例如可以通过一智能手机来实现。该电子设备10可以包括图像采集装置101和角度测量装置102。在一些实施例中,电子设备10根据图像采集装置101获取的图像信息以及角度测量装置102获取的图像采集装置101相对于该参考平面的角度信息,对该电子设备10进行空间定位。在另一些实施例中,电子设备10可以将图像采集装置101获取的图像信息以及角度测量装置102获取的图像采集装置101相对于该参考平面的角度信息发送至服务器,从而对该电子设备10进行精确的空间定位。本领域技术人员应该理解,图1所示的示意图仅是本发明的实施方式可以在其中得以实现的一个示例。本发明实施方式的适用范围不受到该框架任何方面的限制。

需要说明的是,本发明的示例性附图以ar设备为例,然而,本发明的应用场景不限于ar设备。本发明的应用场景也可以应用于vr设备、移动终端导航等场景。应该理解的是,本发明的应用场景中,在执行主体方面不受任何限制,只要执行了本发明实施方式所公开的动作即可。

示例性方法

下面结合图1的应用场景,参考图2~图5来描述根据本发明示例性实施方式的空间定位的方法。需要注意的是,上述应用场景仅是为了便于理解本发明的精神和原理而示出,本发明的实施方式在此方面不受任何限制。相反,本发明的实施方式可以应用于适用的任何场景。

图2示意性地示出了根据本发明实施例的空间定位的方法的流程图。

如图2所示,根据本发明的实施例,该空间定位的方法包括操作s210~操作s230。根据本发明的实施例,该空间定位的方法可以应用于电子设备10,该电子设备10包括图像采集装置101和角度测量装置102。第一帧图像对应的图像采集装置101具有初始位姿。当前帧图像为该第一帧图像之后的任意一帧图像。

在操作s210,基于该角度测量装置102的信息,获取该当前帧图像对应的图像采集装置101相对于参考平面的当前角度信息,该参考平面为空间一已知平面。

根据本发明的实施例,该参考平面包括地平面。地平面的特点包括法线方向与重力方向平行。若以地平面的法线方向作为三维空间坐标中的z轴方向,那么可以认为地平面上的所有点的z坐标为零。当然,可以理解,以地平面作为参考平面仅是多种实施例中的一种。在一些实施例中,也可以以平行于重力方向的竖直平面作为参考平面。

在操作s220,结合该当前角度信息、该当前帧图像的前一帧图像对应的图像采集装置101的位姿信息,并基于该当前帧图像与该前一帧图像的图像匹配关系,确定该当前帧图像对应的图像采集装置101的位姿信息。

具体地,图像匹配关系是基于这样一个事实,即电子设备10的运动是连续的,这会使得前后两帧图像中会存在有对应于同一物理实体的图像。图像匹配关系是基于图像跟踪确定的前后两帧图像中所呈现的同一物理实体(例如,包括点、线、或面)的位置和形态的对应关系。

基于图像匹配关系确定该当前帧图像对应的图像采集装置101的位姿信息,具体可以通过特征匹配方法、特征优化方法或者图像对齐方法等实现,具体会在下文中详细描述。

根据本发明的实施例,该电子设备10还包括虚拟物体投影装置,用于根据每一帧图像的空间定位向空间投影虚拟物体,其中该每一帧图像包括该第一帧图像和该当前帧图像。

根据投影的虚拟物体的位置是否会跟随着场景中某一物理实体一起运动,可以将图像跟踪分为静态模式和动态模式;在该虚拟物体的位置随空间中的特定物体一起运动的情况下,通过动态模式进行图像跟踪来实现空间定位,其中在动态模式下该图像匹配关系包括该特定物体在该当前帧图像与该前一帧图像中的匹配关系,其中,该特定物体为空间中的物理实体;或者,在该虚拟物体的位置不随空间中其他物理实体运动的情况下,通过静态模式进行图像跟踪来实现空间定位,其中在静态模式下该图像匹配关系包括该图像采集装置101采集的任意物理实体在该当前帧图像与该前一帧图像中的匹配关系。

在操作s230,将该图像采集装置101采集的位于该参考平面上的与该当前帧图像相同的画面,根据该当前帧图像对应的图像采集装置101的位姿信息进行相应转动和/或平移,以获得该当前帧图像的空间定位。

根据本公开的实施例,可以通过角度测量装置102的角度信息、以及图像采集装置101采集的图像信息实现电子设备10的定位,进而实现各帧图像的空间定位,比传统的纯视觉跟踪更加稳定,而且不需要复杂的预标定,可以覆盖绝大部分移动终端。

图3示意性地示出了根据本发明另一实施例的空间定位的方法的流程图。

如图3所示,根据本发明的另一实施例,该空间定位的方法除了包括操作s210~操作s230之外,还可以包括操作s310和操作s320。

在操作s310,获取第一帧图像对应的图像采集装置101的初始位姿。具体的实现过程可以是:基于该角度测量装置102的信息,获取该第一帧图像对应的图像采集装置101相对于该参考平面的初始角度信息;获取该第一帧图像对应的图像采集装置101相对于该参考平面的初始位置信息,例如可以设定一个值作为初始位置信息;根据该初始角度信息和该初始位置信息得到该初始位姿。

然后在操作s320,基于该初始位姿,获取该第一帧图像的空间定位。

图4a~图4c示意性地示出了根据本发明各个实施例的操作s220确定该当前帧图像对应的图像采集装置101的位姿信息的方法流程图。

图4a示出了在操作s220中通过特征匹配方法确定该当前帧图像对应的图像采集装置101的位姿信息的具体实现步骤。

如图4a所示,操作s220可以包括操作s221a~操作s224a。

在操作s221a,提取该当前帧图像中的多个第一特征点。

在操作s222a,计算对应于该多个第一特征点的特征描述信息(例如,特征描述子)。

在操作s223a,根据该特征描述信息,将该当前帧图像中的多个第一特征点与该前一帧图像中的特征点进行匹配。

在操作s224a,结合该当前角度信息、该前一帧图像对应的图像采集装置101的位姿信息,基于匹配上的特征点在该当前帧图像与该前一帧图像中的二维分布,获取该当前帧图像对应的图像采集装置101的位姿信息,其中该匹配上的特征点的空间定位信息为根据该前一帧图像的空间定位获得的。

具体地,在特征匹配方法中,可以通过提取当前帧图像对应的多个第一特征点并对这些第一特征点计算特征描述子,利用该前一帧图像的特征描述子与当前帧图像的特征描述子信息进行特征匹配,利用匹配上的特征点的二维信息以及该些匹配上的特征点在该前一帧图像中的三维信息求解图像采集装置101的平移量,进而结合该当前角度信息获得该当前帧图像对应的图像采集装置101的位姿信息。图像匹配方法具体可以利用pnp算法等实现。

图4b示出了在操作s220中通过特征优化方法确定该当前帧图像对应的图像采集装置101的位姿信息的具体实现步骤。

如图4b所示,操作s220可以包括操作s221b和操作s222b。

在操作s221b,提取该前一帧图像中的多个第二特征点。

在操作s222b,结合该当前角度信息、该前一帧图像对应的图像采集装置101的位姿信息,基于该多个第二特征点在该前一帧图像中的二维分布,优化该当前帧图像对应的图像采集装置101的位姿信息(例如,可以通过非线性优化方法进行优化)。

更具体的,根据本发明的实施例,操作s222b可以是,通过梯度下降方法优化该图像采集装置101的位姿信息,以使该多个第二特征点重投影后的像素值与在该前一帧图像中的像素值的像素差最小。

特征优化方法的计算原理可以通过如下公式表达:

其中t表示第t帧图像,it(v)表示当前帧图像在像素点v上的像素值,rt,t-1表示从前一帧图像到当前帧图像的相对旋转量,t表示当前帧对应的相机位姿,d表示像素点u对应的深度值,π(x)表示将三维点x投影到图像上二维点的投影函数,ρ()表示鲁棒的损失函数。表示前一帧图像的特征点在深度已知的情况下投影到当前帧图像中,并以此为中心产生的图像块:

根据本发明的实施例,在特征优化方法中,可以利用前一帧图像中的多个第二特征点对应的三维位置及其二维分部优化该当前帧图像对应的图像采集装置101的位姿,可以通过多种非线性优化的方法实现,例如在本发明实施例中通过梯度下降的方法优化当前帧图像对应的图像采集装置101的位姿。梯度下降的目标就是使得前一帧图像中的多个第二特征点投影到当前帧图像上形成的投影点的像素值与该前一帧的第二特征点像素值的像素差最小。

图4c示出了在操作s220中通过图像对齐方法确定该当前帧图像对应的图像采集装置101的位姿信息的具体实现步骤。

如图4c所示,操作s220可以包括操作s221c~操作s223c。

在操作s221c,选择该前一帧图像中的兴趣图像区域。

在操作s222c,获取当前帧图像中与该兴趣图像区域相匹配的匹配图像区域。

在操作s223c,结合该当前角度信息、该前一帧图像对应的图像采集装置101的位姿信息,基于该匹配图像区域与该兴趣图像区域的对应点分别在该当前帧图像和该前一帧图像中的二维分布,获得该当前帧图像对应的图像采集装置101的位姿信息。

根据本发明的实施例,操作s223c的实现可以包括:根据该匹配图像区域与该兴趣图像区域的对应点分别在该当前帧图像和该前一帧图像中的二维分布,获得该当前帧图像与该前一帧图像的单应性矩阵;以及结合该当前角度信息、该前一帧图像对应的图像采集装置101的位姿信息,分解该单应性矩阵以获得该当前帧图像对应的图像采集装置101的位姿信息。

图像对齐方法的计算原理可以通过如下公式表达:

其中t表示第t帧图像,it(v)表示当前帧图像在像素点v上的像素值,wt,t-1表示从前一帧图像到当前帧图像的像素单应性映射关系,ρ()表示鲁棒的损失函数。表示前一帧图像的兴趣区域变换到当前帧图像的图像区域,具体表达式如下:

根据本发明的实施例,图像对齐方法可以利用lucas-kanade算法计算前后两帧之间的图像对应关系。具体地,首先选择前一帧图像的兴趣图区域(例如兴趣图像块,可以使用一个凸四边形表示),然后通过lucas-kanade算法,根据前一帧图像的兴趣图像块的信息在当前帧图像全图范围内的进行匹配计算,得到当前帧图像上与该兴趣图像块匹配的图像块,匹配上的图像块也可以用一个凸四边形表示。然后,通过兴趣图像块四边形的顶点与匹配图像块四边形的顶点可以求解得到当前帧图像与前一帧图像的单应性矩阵。接着,通过将这个单应性矩阵分解可以得到当前帧图像对应的图像采集装置101的平移量,进而结合该当前角度信息可以获得该当前帧图像对应的图像采集装置101的位姿信息。

图4a~图4c示出了操作s220的三种不同的实现途径,分别通过特征匹配方法、特征优化方法和图像对齐方法实现。这三种方法,既可以根据使用者的需求和电子设备10的计算能力单独使用,也可以结合场景的多样性以及算法的效率和稳定性进行配合使用。例如,当图像中可以提取的特征点的数目大于一定的阈值(例如阈值a)时,可以主要使用特征优化方法。在有超过n帧没有执行过特征匹配方法时或者跟踪的特征点中有超过一定比例的点不是上一次匹配上的特征点,则可以执行特征匹配方法,同时还可以对当前帧图像进行闭环检测。在当可以提取的特征点的数目非常少(例如,小于阈值b)时,可以执行图像对齐方法。

根据本发明的实施例,该空间定位的方法中,确定当前帧图像对应的图像采集装置101的位姿信息可以通过三种不同途径实现,适合不同用户需求和不同环境的场景跟踪方法,并且可以将这三种方法相结合以适应多种使用场景和用户运动。

图5示意性示出了根据本发明又一实施例的空间定位的方法的流程图。

如图5所示,根据本发明又一实施例,该空间定位的方法除了包括操作s210~操作s230之外,还可以包括操作s520、操作s530和操作s540。其中,在一个实施中,操作s520可以在操作s220之前执行,操作s530和操作s540可以在操作s220和操作s230之间执行。

在操作s520,识别并剔除每一帧图像中的外点,该外点包括由于实体物体的运动和/或该图像采集装置101被遮挡而采集得到的异常点。

在操作s220之前识别和剔除每一帧图像中的外点,可以避免实体运动物体和图像采集装置101被部分遮挡的干扰,保证在操作s220中确定的图像采集装置101的位姿信息的精度,保证了场景跟踪的稳定性。

当操作s220中通过图4a所示的特征点匹配方法确定当前帧图像对应的图像采集装置101的位姿信息时,操作s520可以使用基本矩阵的限制进行ransac的外点剔除。具体地,为了避免图像中运动物体占比过大导致内点被误判为外点,对于匹配上的特征点可以加上不同的权重,当某个特征点在连续多帧被匹配上并且没有被判断为外点,则该特征点的权重增加,对于连续帧都能够成功匹配上但每次都被识别为外点的特征点权重减少。

当操作s220中通过图4b或图4c所示的特征优化方法和图像对齐方法确定当前帧图像对应的图像采集装置101的位姿信息时,操作s520可以使用鲁棒的损失函数减少外点的权重(如huber,tukey,t分布等损失函数,损失函数的自变量为两帧对应像素值的差值),为避免外点占比过大影响内点和外点的判断,如果当前帧图像的部分区域的权重非常低时,则认为这部分区域存在大量的外点,在进行当前帧图像的后一帧图像的跟踪时将该区域的初始权重设置成一个较低的数值。

在操作s530对该当前帧图像进行闭环检测。

然后在操作s540,响应于该闭环检测的成功,以与该当前帧图像闭环检测成功的图像帧对应的图像采集装置101的位姿信息校正当前帧图像对应的图像采集装置101的位姿信息,以消除累计误差。

根据本发明的实施例,通过闭环检测,消除电子设备10运动过程的累积误差。对于操作s220的三种不同实现途径,可以分别采取两种不同的闭环检测方案。

当操作s220中通过图4a所示的特征点匹配方法确定当前帧图像对应的图像采集装置101的位姿信息时,操作s530可以使用词袋算法。具体地,用词汇树对当前帧图像的特征描述子进行检索,通过特征描述子匹配的数目以及是否满足几何关系来确定两帧是否存在闭环。如果能够成功匹配,并且满足几何限制的特征点大于一定的阈值,则认为闭环检测成功。然后在操作s540,利用三维点与二维点的对应关系(如pnp算法)得到当前帧图像对应的图像采集装置101的姿态信息。

当操作s220中通过图4b或图4c所示的特征优化方法或图像对齐方法确定当前帧图像对应的图像采集装置101的位姿信息时,操作s530可以采用小的模糊图片检索的方法进行闭环检测。具体的方法是每一帧图像做高斯金字塔,取高斯金字塔的分辨率最小的一层作为当前帧图像的一个描述量。进行闭环检索时,先在历史帧中通过角度测量装置102的角度差筛选与当前帧图像对应的图像采集装置101的角度相差太大的帧,在剩余帧中找到图像描述中像素差最小的三帧图像作为候选帧,然后在操作s220通过特征优化方法或者图像对齐方法,相对于候选帧优化得到的当前帧图像对应的图像采集装置101的位姿信息,从候选帧中找到优化成功并且损失函数小于一定阈值的帧作为闭环检测成功的帧,否则认为没有找到闭环(即,闭环检测失败)。

根据本发明的实施例,该空间定位的方法可以利用角度测量装置102的角度信息和图像采集装置101的图像信息进行电子设备10的inside-out定位,进而获得每一帧图像的空间定位,实现稳定场景跟踪,

根据本发明的实施例,该空间定位的方法中获取图像采集装置101的位姿信息,可以通过特征匹配方法、特征优化方法和图像对齐方法三种途径,适合不同用户需求和不同环境的场景跟踪方法,并且可以将这三种方法相结合以适应多种使用场景和用户运动,兼顾了算法的效率效果和场景的多样性。

根据本发明的实施例,在确定图像采集装置101的位姿信息之前,可以进行外点剔除,保证电子设备10在运动场景中、或者在图像采集装置101部分被遮挡的环境中也可以正常跟踪,保证跟踪的稳定性。

根据本发明的实施例,对图像采集装置101的位姿进行闭环检测,可以消除累积误差,保证跟踪的精度。

根据本发明的实施例,根据投影到场景中的虚拟物体是否随特定的物理实体一起运动,将场景跟踪分为两种模式(动态模式和静态模式),可以根据用户的使用场景分别跟踪整个场景(在静态模式下)或者跟踪场景中的虚拟物体跟随运动的特定物理实体(在动态模式)。

示例性介质

在介绍了本发明示例性实施方式的方法之后,接下来,参考图6对本发明示例性实施方式的用于实现空间定位的程序产品进行说明。

本发明实施方式还提供了一种计算机可读存储介质,其上存储有可执行指令,该指令在被处理器执行时使处理器执行根据本发明实施例的空间定位的方法。

在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当该程序产品在计算设备上运行时,该程序代码用于使该计算设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的空间定位的方法中的各种操作,例如,该计算设备可以执行如图2中所示的操作s210:基于该角度测量装置的信息,获取该当前帧图像对应的图像采集装置相对于参考平面的当前角度信息,该参考平面为空间一已知平面;操作s220:结合该当前角度信息、该当前帧图像的前一帧图像对应的图像采集装置的位姿信息,并基于该当前帧图像与该前一帧图像的图像匹配关系,确定该当前帧图像对应的图像采集装置的位姿信息;操作s230:将该图像采集装置采集的位于该参考平面上的与该当前帧图像相同的画面,根据该当前帧图像对应的图像采集装置的位姿信息进行相应转动和/或平移,以获得该当前帧图像的空间定位。

该程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

如图6所示,描述了根据本发明的实施方式的用于实现空间定位的程序产品600,其可以采用便携式紧凑盘只读存储器(cd-rom)并包括程序代码,并可以在计算设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆,rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,该程序设计语言包括面向对象的程序设计语言——诸如java,c++等,还包括常规的过程式程序设计语言——诸如“c”,语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(lan)或广域网(wan)一连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

示例性装置

在介绍了本发明示例性实施方式的介质之后,接下来,参考图7对本发明示例性实施方式的空间定位的装置进行说明。

图7示意性示出了根据本发明实施例的空间定位的装置700的框图。

如图7所示,该空间定位的装置700包括当前帧角度获取模块710、当前帧位姿信息获取模块720、以及当前帧空间定位获取模块730。该装置700设置于电子设备10中。该电子设备10包括图像采集装置101和角度测量装置102,其中,第一帧图像对应的图像采集装置具有初始位姿,当前帧图像为该第一帧图像之后的任意一帧图像。该装置可以用于实现根据本发明实施例的空间定位的方法。

当前帧角度获取模块710用于基于该角度测量装置的信息,获取该当前帧图像对应的图像采集装置相对于参考平面的当前角度信息,该参考平面为空间一已知平面。在本发明的一个实施例中,该参考平面包括地平面。

当前帧位姿信息获取模块720用于结合该当前角度信息、该当前帧图像的前一帧图像对应的图像采集装置的位姿信息,并基于该当前帧图像与该前一帧图像的图像匹配关系,确定该当前帧图像对应的图像采集装置的位姿信息。

在本发明的一个实施例中,该电子设备10还包括虚拟物体投影装置,用于根据每一帧图像的空间定位向空间投影虚拟物体,其中该每一帧图像包括该第一帧图像和该当前帧图像。在该虚拟物体的位置随空间中的特定物体一起运动的情况下,该图像匹配关系包括该特定物体在该当前帧图像与该前一帧图像中的匹配关系,其中,该特定物体为空间中的物理实体;或者,在该虚拟物体的位置不随空间中其他物理实体运动的情况下,该图像匹配关系包括该图像采集装置采集的任意物理实体在该当前帧图像与该前一帧图像中的匹配关系。

当前帧空间定位获取模块730用于将该图像采集装置采集的位于该参考平面上的与该当前帧图像相同的画面,根据该当前帧图像对应的图像采集装置的位姿信息进行相应转动和/或平移,以获得该当前帧图像的空间定位。

在本发明的一个实施例中,该装置700还可以包括初始位姿获取模块740。初始位姿获取模块740用于获取该初始位姿,具体包括基于该角度测量装置的信息,获取该第一帧图像对应的图像采集装置相对于该参考平面的初始角度信息,获取该第一帧图像对应的图像采集装置相对于该参考平面的初始位置信息,以及根据该初始角度信息和该初始位置信息得到该初始位姿。在本发明的另一个实施例中,该装置700还可以包括初始空间定位获取模块750。初始空间定位获取模块750用于基于该初始位姿,获取该第一帧图像的空间定位。

在本发明的一个实施例中,该当前帧位姿信息获取模块720具体用于:提取该当前帧图像中的多个第一特征点;计算对应于该多个第一特征点的特征描述信息;根据该特征描述信息将该当前帧图像中的多个第一特征点与该前一帧图像中的特征点进行匹配;以及结合该当前角度信息、该前一帧图像对应的图像采集装置的位姿信息,基于匹配上的特征点在该当前帧图像与该前一帧图像中的二维分布,获取该当前帧图像对应的图像采集装置的位姿信息,其中该匹配上的特征点的空间定位信息为根据该前一帧图像的空间定位获得的。

在本发明的一个实施例中,当前帧位姿信息获取模块720具体用于:提取该前一帧图像中的多个第二特征点;以及结合该当前角度信息、该前一帧图像对应的图像采集装置的位姿信息,基于该多个第二特征点在该前一帧图像中的二维分布,优化该当前帧图像对应的图像采集装置的位姿信息。在本发明的另一个实施例中,结合该当前角度信息、该前一帧图像对应的图像采集装置的位姿信息,基于该多个第二特征点在该前一帧图像中的二维分布,优化该当前帧图像对应的图像采集装置的位姿信息,包括通过梯度下降方法优化该图像采集装置的位姿信息,以使该多个第二特征点重投影后的像素值与在该前一帧图像中的像素值的像素差最小。

在本发明的一个实施例中,该当前帧位姿信息获取模块720具体用于:选择该前一帧图像中的兴趣图像区域;获取当前帧图像中与该兴趣图像区域相匹配的匹配图像区域;以及结合该当前角度信息、该前一帧图像对应的图像采集装置的位姿信息,基于该匹配图像区域与该兴趣图像区域的对应点分别在该当前帧图像和该前一帧图像中的二维分布,获得该当前帧图像对应的图像采集装置的位姿信息。在本发明的另一个实施例中,该结合该当前角度信息、该前一帧图像对应的图像采集装置的位姿信息,基于该匹配图像区域与该兴趣图像区域的对应点分别在该当前帧图像和该前一帧图像中的二维分布,获得该当前帧图像对应的图像采集装置的位姿信息包括:根据该匹配图像区域与该兴趣图像区域的对应点分别在该当前帧图像和该前一帧图像中的二维分布,获得该当前帧图像与该前一帧图像的单应性矩阵;以及结合该当前角度信息、该前一帧图像对应的图像采集装置的位姿信息,分解该单应性矩阵以获得该当前帧图像对应的图像采集装置的位姿信息。

在本发明的一个实施例中,该装置700还包括外点剔除模块760。该外点剔除模块760用于识别并剔除每一帧图像中的外点,该外点包括由于实体物体的运动和/或该图像采集装置101被遮挡而采集得到的异常点。

在本发明的一个实施例中,该装置700还包括闭环检测模块770。该闭环检测模块770用于对该当前帧图像进行闭环检测,以及响应于该闭环检测的成功,以与该当前帧图像闭环检测成功的图像帧对应的图像采集装置的位姿信息校正当前帧图像对应的图像采集装置的位姿信息,以消除累计误差。

示例性计算设备

在介绍了本发明示例性实施方式的方法、介质和装置之后,接下来,参考图8对本发明示例性实施方式的适用于实现空间定位的计算设备进行介绍。

本发明的实施方式还提供了一种计算设备。该计算设备包括存储有可执行指令的一个或多个存储器、以及一个或多个处理器。该一个或多个处理器,执行该可执行指令,用以实现根据本发明实施例的空间定位的方法。

本发明的实施例还提供了一种计算设备。所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

在一些可能的实施方式中,根据本发明的计算设备可以至少包括至少一个处理单元、以及至少一个存储单元。其中,该存储单元存储有程序代码,当该程序代码被该处理单元执行时,使得该处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的空间定位方法中的步骤。例如,该处理单元可以执行如图2中所示的操作s210:基于该角度测量装置的信息,获取该当前帧图像对应的图像采集装置相对于参考平面的当前角度信息,该参考平面为空间一已知平面;操作s220:结合该当前角度信息、该当前帧图像的前一帧图像对应的图像采集装置的位姿信息,并基于该当前帧图像与该前一帧图像的图像匹配关系,确定该当前帧图像对应的图像采集装置的位姿信息;操作s230:将该图像采集装置采集的位于该参考平面上的与该当前帧图像相同的画面,根据该当前帧图像对应的图像采集装置的位姿信息进行相应转动和/或平移,以获得该当前帧图像的空间定位。

下面参照图8来描述根据本发明的这种实施方式的适用于实现空间定位的计算设备800。如图8所示的计算设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图8所示,计算设备800以通用计算设备的形式表现。计算设备800的组件可以包括但不限于:上述至少一个处理器810、上述至少一个存储器820、连接不同系统组件(包括存储器820和处理器810)的总线830。

总线830包括数据总线、地址总线和控制总线。

存储器820可以包括易失性存储器,例如随机存取存储器(ram)821和/或高速缓存存储器822,还可以进一步包括只读存储器(rom)823。

存储器820还可以包括具有一组(至少一个)程序模块824的程序/实用工具825,这样的程序模块824包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

计算设备800也可以与一个或多个外部设备840(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(i/0)接口850进行。并且,计算设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图8所示,网络适配器860通过总线830与计算设备800的其它模块通信。应当明白,尽管图中未示出,可以结合计算设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

应当注意,尽管在上文详细描述中提及了装置的若干单元/模块或子单元/子模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。

此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。

虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。

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