一种定位方法、装置、电子设备及计算机可读存储介质与流程

文档序号:17118510发布日期:2019-03-15 23:34阅读:118来源:国知局
一种定位方法、装置、电子设备及计算机可读存储介质与流程

本发明实施例涉及计算机视觉领域,特别涉及一种定位方法、装置、电子设备及计算机可读存储介质。



背景技术:

目前,增强现实(augmentedreality,ar)设备在静态环境中进行自身定位时,可以使用实时定位与建图(simultaneouslocalizationandmapping,slam)技术,slam技术已经相当成熟,如谷歌公司的软件平台arcore和苹果公司的软件平台arkit。ar设备需要进行动态物体的跟踪时,可以采用基于模型的跟踪算法,该算法需要已知物体的三维信息。当具有已有动态物体的cad模型,或者通过标定物等将物体三维重建得到的动态物体的三维模型时,则可以通过跟踪算法和三维信息进行动态物体的跟踪。

然而,发明人发现现有技术中至少存在如下问题:随着人们需求的不断增加,当前的ar设备已无法满足人们的需求。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本发明实施方式的目的在于提供一种定位方法、装置、电子设备及计算机可读存储介质,使得电子设备既可以完成自身定位,又可以对动态的目标物体进行定位及跟踪。

为解决上述技术问题,本发明的实施方式提供了一种定位方法,包括以下步骤:获取当前帧;确定当前帧中环境对应的第一区域和当前帧中目标物体对应的第二区域;根据第一区域中的图像和当前环境的地图,确定第一定位结果;其中,第一定位结果指示自身与当前环境的相对位姿关系;根据第二区域中的图像和目标物体的三维模型,确定第二定位结果;其中,第二定位结果指示自身与目标物体的相对位姿关系。

本发明的实施方式还提供了一种定位装置,包括:获取模块、第一确定模块、第二确定模块和第三确定模块;获取模块用于获取当前帧;第一确定模块用于确定当前帧中环境对应的第一区域和当前帧中目标物体对应的第二区域;第二确定模块用于根据第一区域中的图像和当前环境的地图,确定第一定位结果;其中,第一定位结果指示自身与当前环境的相对位姿关系;第三确定模块用于根据第二区域中的图像和目标物体的三维模型,确定第二定位结果;其中,第二定位结果指示自身与目标物体的相对位姿关系。

本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如上述实施方式提及的定位方法。

本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述实施方式提及的定位方法。

本发明实施方式相对于现有技术而言,电子设备能够确定当前帧中环境对应的区域和目标物体对应的区域,从而使得电子设备能够根据当前帧中环境对应的区域中的图像进行自身定位,根据目标物体对应的区域中的图像进行目标物体的定位及跟踪,使得电子设备既可以完成自身定位,又可以对动态的目标物体进行定位及跟踪。

另外,在根据第二区域中的图像和目标物体的三维模型,确定第二定位结果之后,定位方法还包括:根据第一定位结果和第二定位结果,确定第三定位结果;其中,第三定位结果指示目标物体与当前环境的相对位姿关系。该实现中,电子设备能够确定目标物体与当前环境的相对位姿关系,提高了电子设备的智能性,进一步满足了人们的需求。

另外,确定当前帧中环境对应的第一区域和当前帧中目标物体对应的第二区域,具体包括:通过基于深度学习的目标检测技术,确定当前帧中的目标物体对应的第二区域;将当前帧中除第二区域以外的区域作为当前帧中环境对应的第一区域。该实现中,通过基于深度学习的目标检测技术区分当前帧中的目标物体对应的区域和当前环境对应的区域,提高了电子设备的准确性。

另外,根据第一区域中的图像和当前环境的地图,确定第一定位结果,具体包括:对当前帧进行第一次填充,将当前帧的第二区域内的图像填充为第一颜色;根据第一次填充后的当前帧和当前环境的地图,确定第一定位结果;根据第二区域中的图像和目标物体的三维模型,确定第二定位结果,具体包括:对当前帧进行第二次填充,将当前帧的第一区域内的图像填充为第二颜色;根据第二次填充后的当前帧和目标物体的三维模型,确定第二定位结果。

另外,目标物体的三维模型的确定过程为:获取指定指令,指定指令用于指示当前环境中需要进行三维重建的目标物体;根据确认目标物体指令,确定目标物体;环绕拍摄目标物体,根据拍摄得到的目标物体的图像,对目标物体进行三维重建,得到目标物体的三维模型。

另外,当前帧的上一帧中添加有第一虚拟物体;在根据第一区域中的图像和当前环境的地图,确定第一定位结果之后,定位方法还包括:确定第一虚拟物体在上一帧中的位置和第四定位结果,第四定位结果为根据上一帧确定的、用于指示上一帧中自身与上一帧的环境的相对位姿关系;根据第一虚拟物体在上一帧中的位置、第四定位结果和第一定位结果,确定第一虚拟物体在当前帧中的位置;根据第一虚拟物体在当前帧中的位置,在当前帧中添加第一虚拟物体;显示添加第一虚拟物体后的当前帧。该实现中,使得用户可以根据第一虚拟物体在当前帧中的位置变化情况,更直观地判断对自身的定位是否准确。

另外,在根据第一定位结果和第二定位结果,确定第三定位结果之后,定位方法还包括:确定第二虚拟物体在上一帧中的位置和第五定位结果,第五定位结果为根据上一帧确定的、用于指示上一帧的环境与目标物体的相对位姿关系;根据第二虚拟物体在上一帧中的位置、第五定位结果和第三定位结果,确定第二虚拟物体在当前帧中的位置;根据第二虚拟物体在当前帧中的位置,在当前帧中添加第二虚拟物体;显示添加第二虚拟物体后的当前帧。该实现中,使得用户可以根据第二虚拟物体在当前帧中的位置变化情况,更直观地判断对目标物体的定位是否准确。

另外,根据第二区域中的图像和目标物体的三维模型,确定第二定位结果,具体包括:确定第二区域中的图像中的特征点和目标物体的三维模型中的三维空间点的第一对应关系;根据第一对应关系,确定第二定位结果。

另外,确定第二区域中的图像中的特征点和目标物体的三维模型中的三维空间点的第一对应关系,具体包括:将第二区域中的图像中的特征点与关键帧的特征点匹配,确定第二区域中的图像中的特征点和关键帧的特征点的第二对应关系;获取关键帧的特征点和目标物体的三维模型中的三维空间点的第三对应关系;根据第二对应关系和第三对应关系,确定第一对应关系。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本发明的第一实施方式的定位方法的流程图;

图2是本发明的第二实施方式的定位方法的流程图;

图3是本发明的第二实施方式的电子设备的系统流程示意图;

图4是本发明的第三实施方式的定位装置的结构示意图;

图5是本发明的第四实施方式的电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种定位方法,应用于电子设备,例如,ar设备。如图1所示,该定位方法包括以下步骤:

步骤101:获取当前帧。

具体地说,电子设备可以实时地获取电子设备的拍摄装置拍摄的当前帧,也可以间断性地获取拍摄装置拍摄的当前帧,本实施方式不限制电子设备使用当前帧进行定位的频率。

步骤102:确定当前帧中环境对应的第一区域和当前帧中目标物体对应的第二区域。

具体地说,电子设备确定第一区域和第二区域的方法包括但不限于以下3种:

方法1:电子设备通过基于深度学习的目标检测技术,确定当前帧中的目标物体对应的第二区域,将当前帧中除第二区域以外的区域作为当前帧中环境对应的第一区域。具体地说,电子设备训练或下载分类模型,将当前帧输入该分类模型中,分类模型输出当前帧中目标物体对应的第二区域。其中,分类模型的训练过程如下:获取t张图像,人工标记每张图像中物体的类别和物体所在区域,将每张图像和每张图像对应的物体的类别、物体所在区域输入分类模型,并使用神经网络训练该分类模型。训练后的分类模型能够标记输入的图像中的物体的类别和物体所在区域,并将标记后的图像输出。t为正整数,优选的,t大于1000。神经网络可以使用卷积神经网络(convolutionalneuralnetwork,cnn)、基于区域的卷积神经网络(region-basedconvolutionalneuralnetwork,r-cnn)、空间金字塔池化网络(spatialpyramidpoolingnetwork,spp-net)、快速地基于区域的卷积神经网络(fastregion-basedconvolutionalneuralnetwork,fastr-cnn)、更快地基于区域的卷积神经网络(fasterregion-basedconvolutionalneuralnetwork,fasterr-cnn)等神经网络中的任意一种。

具体实现中,使用基于cnn算法的目标检测技术。基于cnn算法将物体定位看成一个回归(regression)问题,即直接预测出(m,n,w,h)四个参数的值。其中,m表示物体所在区域的起始的横坐标,n表示物体所在区域的起始的纵坐标,w表示物体所在区域沿横坐标方向的宽度,h表示物体所在区域沿纵坐标方向的高度。

另一具体实现中,使用基于r-cnn算法或spp-net算法或fastr-cnn算法或fasterr-cnn算法的目标检测技术。电子设备选取当前帧中所有的不同大小、不同位置的候选框,得到每个候选框的得分,将取得分最高的候选窗口作为物体的位置区域。

方法2:电子设备对当前帧进行备份,将当前帧中的目标物体均作为噪声点,使用图像分割算法予以去除,将去除噪声点后的当前帧中的图像作为当前帧中环境对应的第一区域中的图像。电子设备使用目标检测技术,对备份的当前帧进行检测,确定当前帧中目标物体对应的第二区域。

方法3:用户对当前帧进行编辑,用第一标记来标记第一区域,用第二标记来标记第二区域。电子设备通过识别第一标记,确定当前帧中的第一区域,通过识别第二标记,确定当前帧中的第二区域。其中,第一标记和第二标记可以是两种颜色不同的矩形框,也可以是其他能够被电子设备识别的标记,此处不一一列举。

值得一提的是,当使用第一种方式,即通过基于深度学习的目标检测技术,确定第一区域和第二区域时,能够提高检测目标物体的准确性,进而提高了确定第一区域和第二区域的准确性。

步骤103:根据第一区域中的图像和当前环境的地图,确定第一定位结果。

具体地说,第一定位结果指示自身与当前环境的相对位姿关系,即世界坐标系下电子设备的位姿。

以下对电子设备确定第一定位结果的方法进行举例说明。

方法a:电子设备在确定第一区域和第二区域后,对当前帧进行第一次填充,将当前帧的第二区域内的图像填充为第一颜色,即将第二区域置为纯色,根据第一次填充后的当前帧和当前环境的地图,确定第一定位结果,即确定自身与当前环境的相对位姿关系。

方法b:电子设备在确定第一区域和第二区域后,根据第一区域和第二区域的边界,对当前帧进行分割,根据分割得到的图像和当前环境的地图,确定第一定位结果。

其中,电子设备可以使用slam技术确定自身与当前环境的相对位姿关系。slam技术主要解决了机器人在未知环境下的定位和建图问题,能够实时获取未知场景中电子设备的位姿,并且能够对当前环境构建三维地图。为实现slam技术,电子设备包括三个部分:前端、后端和回环检测。前端又称为视觉里程计,是指依据视觉特征,通过特征的跟踪与匹配,估计相机当前的位姿;后端负责建图,对每次估计的相机位姿、三维空间点等进行整体优化,构建三维地图;回环检测判断是否回到之前经过的位置,进行回环融合及全局优化,降低累积误差。具体实现中,电子设备可以借助多种多样的传感器,以使电子设备能够使用基于视觉的slam技术、基于深度数据的slam技术、基于视觉和惯性测量单元(inertialmeasurementunit,imu)的slam或基于激光数据的slam技术等。其中,视觉的slam技术包括单目摄像头slam技术、并行跟踪和映射(paralleltrackingandmapping,ptam)技术、基于快速而鲁棒的二进制描述子的即时定位和建图(orientedfastandrotatedbrief_simultaneouslocalizationandmapping,orb_slam)技术等。当电子设备使用基于视觉的slam技术进行定位时,可以使用红绿蓝(red-green-blue,rgb)相机。通过上述技术,电子设备能够在当前环境中对自身进行较为稳定精确的定位,并且能够构建当前环境的稀疏特征点地图。

具体实现中,电子设备在确定第一定位结果后,确定第一虚拟物体在上一帧中的位置和第四定位结果,根据第一虚拟物体在上一帧中的位置、第四定位结果和第一定位结果,确定第一虚拟物体在当前帧中的位置,根据第一虚拟物体在当前帧中的位置,在当前帧中添加第一虚拟物体,显示添加第一虚拟物体后的当前帧。其中,电子设备根据第一虚拟物体在上一帧中的位置、第四定位结果和第一定位结果,确定第一虚拟物体在当前帧中的位置的具体过程为:电子设备根据第一定位结果和第四定位结果,确定第一虚拟物体的调整方向和调整值,例如,电子设备根据第一定位结果和第四定位结果,确定电子设备朝正北方向移动了10米,根据电子设备的拍摄装置的参数,确定现实世界中的1米相当于拍摄得到的图像中的1厘米,因此,电子设备确定第一虚拟物体的调整方向为正南方向,调整值为10厘米。电子设备根据第一虚拟物体在上一帧中的位置、第一虚拟物体的调整方向和调整值,确定第一虚拟物体在当前帧中的位置。

值得一提的是,在当前帧中添加第一虚拟物体,使得用户可以根据第一虚拟物体在当前帧中的位置变化情况,更直观地判断对自身的定位是否准确。

需要说明的是,上一帧中的第一虚拟物体可以是通过当前帧的第一虚拟物体的添加方式添加的,也可以是用户或电子设备在上一帧中的任意位置中添加的第一虚拟物体。

需要说明的是,第一虚拟物体的大小、形状等可以根据需要设置。

步骤104:根据第二区域中的图像和目标物体的三维模型,确定第二定位结果。

具体地说,第二定位结果指示自身与目标物体的相对位姿关系,即电子设备坐标系下目标物体的位姿。其中,目标物体的三维模型可以是预先下载的模型,也可以是电子设备通过以下过程创建的三维模型:电子设备获取指定指令,指定指令用于指示当前环境中需要进行三维重建的目标物体;根据指定指令,确定目标物体;环绕拍摄目标物体,根据拍摄得到的目标物体的图像,对目标物体进行三维重建,得到目标物体的三维模型。

该实现中,电子设备能够根据第二区域中的图像确定自身与目标物体的相对位姿关系,实现了对目标物体的相对定位,并可以根据相对定位的结果,进行目标物体的跟踪。

以下对电子设备根据目标图像中目标物体对应的区域内的图像,进行三维重建的方法进行举例说明。

具体实现中,电子设备基于目标图像进行三维重建,得到初始的三维模型,根据目标图像中目标物体对应的区域中的图像,将由目标图像中目标物体对应的区域外的图像重建得到的初始的三维模型中的三维空间点去除,从而去除目标图像中环境信息对应的三维空间点,将去除环境对应的三维空间点的三维模型作为目标物体的三维模型。

另一具体实现中,电子设备根据目标图像中目标物体对应的区域和目标图像,确定目标物体对应的区域内的图像;将目标图像中目标物体对应的区域内的图像,作为用于三维重建的图像;基于用于三维重建的图像进行三维重建,得到目标物体的三维模型。

值得一提的是,先将第一图像中的环境信息对应的特征点删除,使得电子设备无需对环境信息对应的特征点进行三维重建,提高了三维重建的速度。

电子设备基于目标图像进行三维重建时,可以使用基于立体视觉的三维重建技术。以下对基于立体视觉的三维重建技术进行简单介绍。基于立体视觉的三维重建技术是指从两个或者多个视点观察同一景物,获取多个不同视角下拍摄的多张图像,通过寻找图像间对应的特征点,由三角测量的基本原理,计算场景的三维深度信息,其包含的主要技术有:摄像机标定、特征提取、立体匹配、模型重建等。假定[u,v,1]代表的是图像坐标系下像素点的齐次坐标,u表示像素点在图像坐标系下的横坐标,v表示像素点在图像坐标系下的纵坐标,[x,y,z,1]代表的是像素点对应的三维点的齐次坐标,x表示该三维点在世界坐标系下的横坐标,y表示三维点在世界坐标系下的纵坐标,z表示三维点在世界坐标系下的竖坐标,他们之间具有以下变换关系:

其中,d代表的是不同的相机对应点的深度,p矩阵代表的是一个3×4阶的投影矩阵,代表了摄像机的内参和外参,即摄像机的光学参数和摄像机相对于世界坐标系的变化关系。摄像机标定是指利用图像与图像之间的对应关系求取摄像机内外参数,获取世界坐标系到图像坐标系的变换。特征提取是指对图像提取特征点并计算描述符。立体匹配是指通过比较描述符的相似度,获得图像间的匹配特征点对。由上述公式我们可以看到,在p已知的情况下,可以根据图像间的匹配特征点对,求得三维坐标点,例如,由匹配特征点对[u1,v1,1]和[u2,v2,1],求得三维空间点[x1,y2,z3,1],这个过程就是模型重建。

具体实现中,电子设备在完成对目标物体的三维模型的重建过程后,对目标物体进行定位及跟踪。电子设备获取当前帧,对当前帧进行第二次填充,将当前帧的第一区域内的图像填充为第二颜色,即将第一区域置为纯色。其中,第二颜色可以是不影响电子设备确定目标物体与自身的相对位姿关系的任意颜色。电子设备根据第二次填充后的当前帧和目标物体的三维模型,确定第二定位结果。其中,电子设备可以先确定第二区域中的图像中的特征点和目标物体的三维模型中的三维空间点的第一对应关系,然后根据第一对应关系,确定第二定位结果。

其中,电子设备确定第一对应关系的方法包括但不限于以下两种:

方法a:电子设备将目标物体对应的第二区域内的图像中的特征点与关键帧的特征点匹配,确定目标物体对应的区域内的图像中的特征点和关键帧的特征点的第二对应关系;获取关键帧的特征点和目标物体的三维模型中的三维空间点的第三对应关系;根据第二对应关系和第三对应关系,确定第一对应关系。具体地说,电子设备将当前帧的第二区域中的图像和关键帧进行比较,寻找最相似的第二关键帧,确定当前帧与最相似的第二关键帧之间的特征点的第二对应关系。由于目标物体的三维模型是由关键帧重建得到的,所以电子设备中存储有关键帧中的特征点和目标物体的三维模型中的三维空间的第三对应关系。电子设备根据第二对应关系和第三对应关系,得到当前帧的第二区域中的图像中的特征点和三维模型的空间点的第一对应关系,并通过求解透视n点定位(perspective-n-point,pnp)问题得到电子设备与目标物体的相对位姿关系。

其中,获取关键帧的过程可以是:电子设备在进行目标物体的三维重建时,环绕拍摄目标物体,得到目标物体的图像,将拍摄得到的图像作为关键帧,保存拍摄得到的图像。关键帧的获得过程也可以是:电子设备在进行目标物体的三维重建时,环绕拍摄目标物体,得到目标物体的图像,使用基于深度学习的目标检测技术,确定目标物体的图像中目标物体对应的区域,将该区域中的图像作为关键帧,并保存该关键帧。

值得一提的是,通过与当前帧最接近的关键帧,建立当前帧中的特征点与目标物体的三维模型的空间点的对应关系,进一步排除了当前帧中的环境信息对应的特征点对物体跟踪的影响,提高了物体跟踪成功率。

方法b:电子设备使用基于模板匹配的目标物体跟踪方法,确定第二定位结果。具体过程为:电子设备获取运动模型,根据运动模型,估计自身与目标物体的相对位姿关系。电子设备根据估计的相对位姿关系,将目标物体的三维模型中的三维空间点投影至当前帧,将投影至当前帧的三维空间点与当前帧的第二区域中的图像中的特征点进行匹配,根据匹配结果,确定第二定位结果。其中,运动模型可以是预先存储的关于电子设备的速度等运动参量的变化和自身与目标物体的相对位姿关系的模型的对应关系。

值得一提的是,通过基于深度学习的目标检测技术对当前帧中的目标物体进行检测,确定目标物体对应的第二区域,根据第二区域中的图像进行跟踪,减少了当前帧中环境信息对应的特征点,进而降低了环境信息对应的特征点对物体跟踪结果的影响。

需要说明的是,本领域技术人员可以理解,实际应用中,可以将方法a和方法b结合使用,例如,电子设备先使用方法b对目标物体进行定位及跟踪,在确定使用方法b对目标物体跟踪失败时,使用方法a对目标物体进行定位及跟踪。本实施方式不限制电子设备确定第二定位结果的具体方法。

需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。

与现有技术相比,本实施方式中提供的定位方法,电子设备能够确定当前帧中环境对应的区域和目标物体对应的区域,从而使得电子设备能够根据当前帧中环境对应的区域中的图像进行自身定位,根据目标物体对应的区域中的图像进行目标物体的跟踪,使得电子设备既可以完成自身定位,又可以对动态的目标物体进行定位及跟踪。

本发明的第二实施方式涉及一种定位方法,本实施方式在第一实施方式的基础上做了进一步改进,具体改进之处为:在步骤104之后,增加了其他相关步骤。

具体的说,如图2所示,在本实施方式中,包含步骤201至步骤208,其中,步骤201至步骤204分别与第一实施方式中的步骤101至步骤104大致相同,此处不再赘述。下面主要介绍不同之处:

执行步骤201至步骤204。

步骤205:根据第一定位结果和第二定位结果,确定第三定位结果。

具体地说,第三定位结果指示目标物体与当前环境的相对位姿关系。电子设备在执行步骤201至步骤204后,确定了第一定位结果和第二定位结果,即自身与当前环境的相对位姿关系pwc和自身与目标物体的相对位姿关系pco。电子设备根据自身与当前环境的相对位姿关系pwc,以及自身与目标物体的相对位姿关系pco,计算目标物体与当前环境的相对位姿关系pwo,即pwo=pwc*pco。

值得一提的是,由于第一定位结果和第二定位结果是电子设备基于同一帧图像确定的,使得两个结果的尺度相同,避免了对两个结果的尺度进行归一化处理的问题。

以下对电子设备的整体定位过程进行举例说明。

具体实现中,电子设备的系统流程示意图如图3所示。电子设备在启动定位功能后,先拍摄一帧当前环境的图像,根据电子设备内预先存储的已训练完成的或下载的物体的分类模型,通过基于深度学习的目标检测技术,识别出当前环境的图像中存在的所有物体,显示当前环境的图像中的所有物体的图像或显示当前环境的图像中的所有物体的类别。用户根据显示的物体的图像或物体的类别,选择一个物体作为目标物体。电子设备根据用于点击的物体的图像或输入的物体的类别,生成指定指令,根据该指定指令,确定本次需要跟踪的目标物体。优选的,用户将目标物体放置在现实环境的承载面上,为保证图像质量,有选择地使环境光线分布均匀,物体表面亮度适中,不存在阴影。电子设备在确定目标物体后,不断地拍摄包括目标物体的当前环境的图像,在拍摄过程中,针对拍摄得到的每一帧图像,进行以下操作:电子设备使用基于深度学习的目标检测技术,确定当前帧中目标物体对应的第二区域,根据当前帧中目标物体对应的第二区域中的图像,进行三维重建;电子设备基于当前帧的图像,使用基于slam技术,进行实时定位和建图,得到当前环境的地图,并在完成实时定位和建图后,判断目标物体的三维模型是否创建完成,若确定不是,则继续获取下一帧图像,基于下一帧图像进行实时定位与建图,以及目标物体的三维重建,直至电子设备完成对目标物体的三维重建,得到目标物体的三维模型,若确定是,结束目标物体的三维模型创建过程,进入目标物体的跟踪和定位过程。电子设备使用基于深度学习的目标检测技术检测当前帧,得到目标物体对应的第二区域,根据目标物体对应的第二区域中的图像,以及目标物体的三维模型,使用基于模板匹配的目标物体跟踪方法,确定自身与目标物体的相对位姿关系,即电子设备坐标系下目标物体的位姿。电子设备而根据第一区域中的图像,使用基于slam技术,确定自身与当前环境的相对位姿关系,即世界坐标系下电子设备的位姿。电子设备根据世界坐标系下电子设备的位姿和电子设备坐标系下目标物体的位姿,确定世界坐标系下目标物体的位姿,即目标物体与当前环境的相对位姿关系。

具体实现中,电子设备在在根据第一定位结果和第二定位结果,确定第三定位结果之后,定位方法还包括:确定第二虚拟物体在上一帧中的位置和第五定位结果,第五定位结果为根据上一帧确定的、用于指示上一帧的环境与目标物体的相对位姿关系;根据第二虚拟物体在上一帧中的位置、第五定位结果和第三定位结果,确定第二虚拟物体在当前帧中的位置;根据第二虚拟物体在当前帧中的位置,在当前帧中添加第二虚拟物体;显示添加第二虚拟物体后的当前帧。

需要说明的是,电子设备根据第二虚拟物体在上一帧中的位置、第五定位结果和第三定位结果,确定第二虚拟物体在当前帧中的位置的方法可参考第一实施方式中电子设备根据第一虚拟物体在上一帧中的位置、第四定位结果和第一定位结果,确定第一虚拟物体在当前帧中的位置的相关描述,此处不再赘述。

值得一提的是,在当前帧中添加第二虚拟物体,使得用户可以根据第二虚拟物体在当前帧中的位置变化情况,更直观地判断对目标物体的定位是否准确。

需要说明的是,上一帧中的第二虚拟物体可以是通过当前帧的第二虚拟物体的添加方式添加的,也可以是用户或电子设备在上一帧中的任意位置中添加的第二虚拟物体。

需要说明的是,第一实施方式中,显示添加第一虚拟物体后的当前帧,本实施方式中,显示添加第二虚拟物体后的当前帧,实际应用中,本领域技术人员可以理解,可以在同时在当前帧中添加第一虚拟物体和第二虚拟物体,并在完成第一虚拟物体和第二虚拟物体的添加过程后,显示添加了第一虚拟物体和第二虚拟物体后的当前帧。其中,第一虚拟物体的添加方式可参考第一实施方式中的相关描述,第二虚拟物体的添加方式可参考第二实施方式中的相关描述。

需要说明的是,以上仅为举例说明,并不对本发明的技术方案构成限定。

与现有技术相比,本实施方式中提供的定位方法,电子设备能够确定当前帧中环境对应的区域和目标物体对应的区域,从而使得电子设备能够根据当前帧中环境对应的区域中的图像进行自身定位,根据目标物体对应的区域中的图像进行目标物体的定位及跟踪,使得电子设备既可以完成自身定位,又可以对动态的目标物体进行定位及跟踪。除此之外,电子设备能够确定目标物体与当前环境的相对位姿关系,提高了电子设备的智能性。通过虚拟物体显示定位结果,使得用户可以更直观地判断定位是否准确。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明第三实施方式涉及一种定位装置,如图4所示,包括:获取模块301、第一确定模块302、第二确定模块303和第三确定模块304;获取模块301用于获取当前帧;第一确定模块302用于确定当前帧中环境对应的第一区域和当前帧中目标物体对应的第二区域;第二确定模块303用于根据第一区域中的图像和当前环境的地图,确定第一定位结果;其中,第一定位结果指示自身与当前环境的相对位姿关系;第三确定模块304用于根据第二区域中的图像和目标物体的三维模型,确定第二定位结果;其中,第二定位结果指示自身与目标物体的相对位姿关系。

不难发现,本实施方式为与第一实施方式和第二实施方式相对应的系统实施例,本实施方式可与第一实施方式和第二实施方式互相配合实施。第一实施方式和第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式和第二实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本发明第四实施方式涉及一种电子设备,如图5所示,包括:至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402;其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行如上述实施方式提及的定位方法。

该电子设备包括:一个或多个处理器401以及存储器402,图5中以一个处理器401为例。处理器401、存储器402可以通过总线或者其他方式连接,图5中以通过总线连接为例。存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施方式中当前环境的地图就存储于存储器402中。处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述定位方法。

存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

一个或者多个模块存储在存储器402中,当被一个或者多个处理器401执行时,执行上述任意方法实施方式中的定位方法。

上述产品可执行本申请实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本申请实施方式所提供的方法。

本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。

即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

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