定位方法及电子设备、可读存储介质与流程

文档序号:18839110发布日期:2019-10-09 06:34阅读:143来源:国知局
定位方法及电子设备、可读存储介质与流程

本申请涉及图像处理技术领域,尤其涉及一种定位方法及电子设备、可读存储介质。



背景技术:

即时定位与地图构建(simultaneouslocalizationandmapping,slam)技术是设备根据传感器信息实现自身定位和环境地图构建的技术,在机器人、无人机、无人驾驶、虚拟现实等领域中有着广泛的应用。在基于视觉的slam技术中,当位置追踪丢失后或当加载离线地图后需要重新定位时,设备可以根据已存储的地图信息恢复当前设备的位姿。

现有技术中的重定位方法通常是先在数据库中找到与当前电子设备拍摄画面相近的图像作为参考帧,再将当前帧中的二维(2-dimension,2d)特征与参考帧中的2d特征进行特征匹配,恢复出当前帧与参考帧之间的相对位姿变换。然而,现有的2d-2d特征匹配的重定位算法无法确定环境的绝对尺度,也就是说,通过2d-2d特征匹配的重定位算法可以得到两帧之间的距离为单位1,但是无法确定这个单位1指的是1厘米还是1米,导致重定位后的位姿信息不准确的问题。

在另一现有技术中,还可以通过将当前帧中的2d特征与参考帧中的3d点云进行特征匹配,这样得到2d特征和3d点云之间的对应关系,从而得到当前帧在点云坐标系下的坐标。然而,在构建离线地图时,需要计算参考图像的3d点云信息以及对应的3d特征描述子信息,这样无疑会产生额外的计算量,且构建离线地图的方式比较复杂。



技术实现要素:

为解决上述技术问题,本申请实施例提供了一种定位方法及电子设备、可读存储介质。

第一方面,提供一种定位方法,应用于电子设备中,包括:

获取采集至少两帧待定位图像时电子设备的位姿之间的第一类位姿变化信息;其中,所述位姿用于表征电子设备的位置和/或姿态;

确定采集所述至少两帧待定位图像时电子设备的位姿分别与对应的参考图像所指示的电子设备的位姿之间的第二类位姿变化信息;

基于所述第一类位姿变化信息和所述第二类位姿变化信息,确定所述至少两帧待定位图像分别对应的尺度信息;所述尺度信息用于表征电子设备采集待定位图像时的坐标系、与电子设备采集对应的参考图像时的目标坐标系之间的尺寸关系;

至少基于所述第二类位姿变化信息和尺度信息,确定采集所述至少两帧待定位图像时电子设备在所述目标坐标系中分别对应的目标位姿。

第二方面,提供一种电子设备,包括:处理器和配置为存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器配置为运行所述计算机程序时,执行第一方面所述定位方法的步骤。

第三方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行实现上述任一方法的步骤。

本申请实施例提供的定位方法及电子设备、可读存储介质,首先获取采集至少两帧待定位图像时电子设备的位姿之间的第一类位姿变化信息;并确定采集至少两帧待定位图像时电子设备的位姿分别与对应的参考图像所指示的电子设备的位姿之间的第二类位姿变化信息;基于第一类位姿变化信息和第二类位姿变化信息,确定至少两帧待定位图像分别对应的尺度信息;至少基于所述第二类位姿变化信息和尺度信息,确定采集至少两帧待定位图像时电子设备在目标坐标系中分别对应的目标位姿。如此,利用当前采集到的至少两帧待定位图像的电子设备位姿之间具有尺度的第一类位姿变化信息,来恢复采集待定位图像时的坐标系与采集参考图像时的坐标系之间的尺寸关系,从而得到待定位图像对应的电子设备有尺度的目标位姿,提高了定位的准确性;另外,本申请提供的实施例中只需参考图像的位姿信息和图像信息,并不需要计算参考图像的3d点云信息,大大简化了构建地图的复杂性,并且兼容性更高,地图所占内存更小。

附图说明

图1为本申请实施例提供的一种定位方法的流程示意图;

图2为本申请实施例提供的另一种定位方法的流程示意图;

图3为本申请实施例提供的又一种定位方法的流程示意图;

图4为本申请实施例提供的一种电子设备位姿关系示意图;

图5为本申请实施例提供的一种电子设备的硬件结构示意图。

具体实施方式

为了能够更加详尽地了解本申请实施例的特点与技术内容,下面结合附图对本申请实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本申请实施例。

在slam中,在电子设备运动过快时,采集的两帧之间的重叠区域太小以至于无法进行特征匹配容易出现跟踪丢失的问题,或当加载离线地图后重新定位时,我们需要根据已有的信息恢复当前电子设备的位姿。

实际应用中,进行重定位的方式是先在离线地图数据库中找到与当前电子设备拍摄画面相近的图像作为参考帧,再将当前帧中的2d特征与参考帧当中的3d点云进行特征匹配。其中,3d点云包括一个或者多个描述子信息,和参考帧对应的3d位置信息。进而,得到2d特征和3d点云之间的对应关系后,再基于n点透视(perspective-n-point,pnp)算法,得到当前帧在离线地图的点云坐标系下的坐标。然而,该技术需要离线地图数据库提供3d点云信息,这些点云信息至少需要包括3d位置信息和描述子信息,才能和当前帧进行特征匹配并使用pnp算法。在做跨平台的ar应用时,通常现有的软件开发工具包(softwaredevelopmentkit,sdk),例如苹果手机使用arkit,部分安卓手机可以使用arcore等,不会提供对应的数据接口,故无法进行重定位功能。

另外,现有技术中还可以将当前帧和参考帧之间进行2d-2d的特征匹配,再计算当前帧和参考帧之间的基础矩阵或单应矩阵,进而恢复出两帧之间电子设备的相对位姿;然而,这个位姿是无尺度的,导致重定位后的位姿信息不准确的问题。在构建离线地图时,需要计算参考图像的3d点云信息以及对应的3d特征描述子信息,这样无疑会产生额外的计算量,且构建离线地图的方式比较复杂。

基于现有技术中的上述问题,本申请实施例提供一种定位方法,图1为本申请实施例提供的定位方法的流程示意图,如图1所示,所述定位方法包括以下步骤:

步骤101、获取采集至少两帧待定位图像时电子设备的位姿之间的第一类位姿变化信息。

其中,位姿用于表征电子设备的位置和/或姿态。

这里,步骤101的执行主体可以是电子设备的处理器;所述电子设备可以是无人机、机器人、虚拟现实设备、智能终端等。在电子设备运动的过程中,可以通过启动图像采集装置采集周围环境的图像,这里图像采集装置可以是单目相机、双目相机、扫描仪等。

在本申请提供的实施例中,电子设备在追踪丢失,或者重新加载离线地图的情况次下需要对电子设备当前位置进行定时,采集周围环境的至少两帧待定位图像,以通过至少两帧待定位图像确定电子设备在离线地图中的具体位置。这里,所述采集到的至少两帧待定位图像中每帧待定位图像中至少部分区域相同。

在本申请提供的实施例中,可以根据电子设备在采集至少两帧待定位图像过程中的运动情况,获知采集至少两帧待定位图像时电子设备位姿之间的第一类位姿变化信息。

具体地,获取电子设备在采集至少两帧待定位图像过程中的运动参数;

基于运动参数,确定采集至少两帧待定位图像时电子设备的位姿之间的第一类位姿变化信息。

例如,电子设备可以根据在采集第1个待定位图像和第2个待定位图像过程中,电子设备运动时旋转的角度和产生的位移,得到采集第1个待定位图像和采集第2个待定位图像过程中电子设备的位姿变化信息。

需要说明的是,第一类位姿变化信息中可以包括多个位姿变化信息,例如采集每相邻两帧或相邻n帧待定位图像时电子设备位姿之间位姿变化信息,或者采集每一帧待定位图像时电子设备的位姿分别与采集目标待定位图像时电子设备的位姿之间的位姿变化信息(目标待定位图像是至少两帧待定位图像中的一个或多个)等,本申请实施例这里不做限定。

步骤102、确定采集至少两帧待定位图像时电子设备的位姿分别与对应的参考图像所指示的电子设备的位姿之间的第二类位姿变化信息。

这里,参考图像是指从预设地图信息中获取的与至少两帧待定位图像匹配的图像。其中,预设地图信息中包括多个图像信息,以及这多个图像信息对应的电子设备的位姿信息;所述预设地图信息可以是指离线地图。

具体地,电子设备在采集到至少两帧待定位图像后,确定采集所述至少两帧待定位图像时电子设备的位姿分别与对应的参考图像所表征的电子设备的位姿之间的第二类位姿变化信息,包括:

在所处环境的预设地图信息中获取与所述至少两帧待定位图像分别对应的至少一个参考图像;

基于所述至少两帧待定位图像,以及至少两帧待定位图像分别对应的参考图像,得到所述第二类位姿变化信息。

这里,电子设备从预设地图信息中查找与至少两帧待定位图像的每帧待定位图像最匹配的图像,并将该图像作为该待定位图像对应的参考图像。进一步,电子设备将每帧待定位图像中的图像特征与其对应的参考图像的图像特征进行匹配,得到匹配对后,计算待定位图像和其对应的参考图像之间的基础矩阵或单应矩阵,从而得到待定位图像对应的电子设备位姿和参考图像对应的电子设备位姿之间的第二类位姿变化信息。通过上述方法能够确定每个待定位图像的电子设备位姿和参考图像的电子设备位姿之间无尺度的位姿变化。

这里,第二类位姿变化信息中包括多个位姿变化信息,即每一帧待定位图像的电子设备的位姿和其对应的参考图像的电子设备的位姿之间的位姿变化信息。

需要说明的是,至少两帧待定位图像中每帧待定位图像对应的参考图像可以是同一个图像,也可以是不同的图像。

步骤103、基于第一类位姿变化信息和第二类位姿变化信息,确定至少两帧待定位图像分别对应的尺度信息。

其中,尺度信息用于表征电子设备采集待定位图像时的坐标系、与电子设备采集对应的参考图像时的目标坐标系之间的尺寸关系。

在本申请提供的实施例中,在得到第一类位姿变化信息和第二类位姿变化信息后,电子设备可以基于第一类位姿变化信息确定每个待定位图像在当前电子设备采集待定位图像时的坐标系(即当前待定位图像的坐标系)中的位置;并基于第二类位姿变化信息确定每个待定位图像在目标坐标系中的位置。

需要说明的是,参考图像是从离线地图中获取的图像,因此参考图像的目标坐标系可以是指离线地图的坐标系。

进一步,可以将每个待定位图像在当前电子设备采集待定位图像时的坐标系(即当前待定位图像的坐标系)中的位置,和每个待定位图像在采集其对应的目标坐标系中的相对位置进行合并处理,由于采集待定位图像时的坐标系是具有尺度的,因此,经过合并处理可以恢复当前电子设备采集待定位图像时的坐标系、与电子设备采集对应的参考图像时的目标坐标系之间的尺寸关系。

步骤104、基于第二类位姿变化信息和尺度信息,确定采集至少两帧待定位图像时电子设备在目标坐标系中分别对应的目标位姿。

具体地,在步骤102中确定了每帧待定位图像的电子设备的位姿和对应参考图像的电子设备的位姿之间的无尺度的第二类位姿变化信息,通过步骤103确定了待定位图像的坐标系和参考图像坐标系的尺寸关系,如此,电子设备能够确定每帧待定位图像相对于参考图像之间的尺度,进一步,求解处每帧待定位图像在参考图像坐标系下的目标位姿,即目标坐标系中的目标位姿。

本申请实施例提供的定位方法,利用当前采集到的至少两帧待定位图像的电子设备位姿之间具有尺度的第一类位姿变化信息,来恢复采集待定位图像时的坐标系与采集参考图像时的坐标系之间的尺寸关系,从而得到待定位图像对应的电子设备有尺度的目标位姿,提高了定位的准确性;另外,本申请提供的实施例中只需参考图像的位姿信息和图像信息,并不需要计算参考图像的3d点云信息,大大简化了构建地图的复杂性,并且兼容性更高,地图所占内存更小。

基于前述实施例,本申请实施例提供一种定位方法,图2为本申请实施例提供的定位方法的流程示意图,如图2所示,所述定位方法包括以下步骤:

步骤201、采集至少两帧待定位图像。

这里,电子设备可以采集n帧待定位图像;n为大于等于2的整数。

在本申请实施例中,采集至少n帧待定位图像的原则是,采集到的相邻两帧待定位图像之间的至少部分区域相同,但是又不完全相同。这样是为了保证电子设备采集每一帧之间都有一定的距离,但距离又不太远。如果距离太近,slam的噪声会产生较大的影响,导致相邻两帧之间的位姿变化不准确。但如果距离太远,多个待定位图像与其对应的同一参考帧之间会产生较大的视差,会导致匹配点过少,无法恢复出相对位姿的问题。

步骤202、获取电子设备在采集至少两帧待定位图像过程中的运动参数。

步骤203、基于运动参数,确定采集至少两帧待定位图像时电子设备的位姿之间的第一类位姿变化信息。

在本申请提供的实施例中,可以基于电子设备的运动参数来计算采集每帧待定位图像时电子设备的位姿和采集目标待定位图像时的电子设备的位姿之间的第一类位姿变化信息。例如,采集每帧待定位图像时电子设备位姿与采集第1帧待定位图像时电子设备位姿之间变化信息,得到第一类位姿变化信息{p1,2,p1,3,…,p1,n}。这里的第一类位姿变化信息是通过电子设备的运动参数确定的,每一元素中都包括旋转角度和位移;这里的位移是具有尺度的位移。

步骤204、在所处环境的预设地图信息中获取与至少两帧待定位图像分别对应的至少一个参考图像。

具体地,在所处环境的预设地图信息中获取与至少两帧待定位图像分别对应的至少一个参考图像,包括:

提取第i帧待定位图像中至少一个特征点的相关信息,对所述至少一个特征点的相关信息进行聚类处理,得到第i帧待定位图像的目标特征信息;

基于第i帧待定位图像目标特征信息,从所处环境的预设地图信息中查找与目标特征信息匹配的图像,并将该图像作为第i帧待定位图像对应的参考图像。

其中,聚类处理用于将相似的特征点的相关信息划分至同一集合中;其中,i为大于等于1且小于等于n的整数。

这里,特征点优选为待定位图像中的fast角点。在本实施例中,可以提取多个特征点,这里特征点的数量是动态的,需要根据当前所处的环境确定。具体地,在纹理复杂的场景下提取的特征点较多,一般的弱纹理场景,如白墙等场景下提取的特征点较少。本实施例中通常提取的特征点在500到1500个之间。

在本申请提供的实施例中,得到特征点后,电子设备进一步提取每个特征点周围31x31范围内的像素点的brief特征,来对该角点进行描述,以得到每个特征点的相关信息。其中,brief特征描述子是256bit的二进制码,可以理解为brief特征描述子有2256种表示。

进一步,将所述至少一个brief特征中相似的特征进行聚类处理,实现对数据的降维处理,得到第i帧待定位图像的目标特征。这里的将所述至少一个brief特征中相似的特征进行聚类处理可以是计算brief特征的词袋模型特征。brief描述子的词袋模型,是一种离线的训练好的树状结构。词袋模型可以根据训练集中真实图像中的实际特征点,将相似的特征放到同一个节点中。

这样,电子设备可以根据第i帧待定位图像的目标特征,在当前所处环境对应的预设地图信息中找到和第i帧待定位图像的目标特征最匹配的图像,最为第i帧待定位图像对应的参考图像。

基于上述步骤,电子设备可以为n帧待定位图像分别找到与之最为匹配的n帧参考图像。

在另一实施方式中,检测到第k帧待定位图像和所述第i帧待定位图像之间的相似度小于预设相似度阈值,将第i帧待定位图像对应的参考图像作为第k帧待定位图像对应的参考图像。其中,k为大于等于1且小于等于n的整数,且k不等于i。

这里,若n帧待定位图像中,若两帧待定位图像之间的特征十分相似,可以不为该待定位图像从预设地图信息中匹配对应的参考图像,直接将第i帧待定位图像对应的参考图像作为第k帧待定位图像对应的参考图像即可。如此,可节约图像匹配的时间,提高定位的效率。

步骤205、基于至少两帧待定位图像,以及至少两帧待定位图像分别对应的参考图像,得到第二类位姿变化信息。

具体地,基于至少两帧待定位图像,以及至少两帧待定位图像分别对应的参考图像,得到第二类位姿变化信息,包括:

将第i帧待定位图像对应的目标特征信息与参考图像的特征信息进行匹配,得到配对成功的至少一个匹配特征集合;

基于至少一个匹配特征集合,确定采集第i帧待定位图像时电子设备的位姿与对应的参考图像指示的电子设备的位姿之间的第二类位姿变化信息。

这里,在步骤204中已经计算了第i帧待定位图像的词袋模型特征,即将第i帧待定位图像的每个特征点的brief特征分配到了词袋模型的节点中,每个brief特征有一个唯一的词袋模型节点编号。电子设备对第i帧待定位图像以及第i帧待定位图像对应的参考图像,相同词袋模型节点编号中的brief特征进行匹配,计算brief特征的汉明距离。汉明距离越小,说明这两个brief特征越相似。获取参考图像中,与第i帧待定位图像的brief特征的汉明距离最小和第二小的特征。当第i帧待定位图像中的某个brief特征,和参考图像中的某个brief特征之间的汉明距离小于预设距离阈值(例如50),并且最小的汉明距离小于0.9倍的第二小的汉明距离,则认为上述brief特征为一个成功的匹配。具体地,小于预设距离阈值表明特征之间的汉明距离足够小,两个brief特征足够相似;且最小的汉明距离小于第二小的汉明距离乘以0.9,表明brief特征是一个很显著的特征匹配,没有其他类似的匹配。

采用这种约束的匹配,比一般的暴力匹配准确率更高,并且在搜索参考图像时我们已经计算了第i帧待定位图像的词袋模型特征,故无需重复计算。

进一步,得到匹配成功的匹配对后,使用ransac和八点法计算第i帧待定位图像和对应的参考图像之间的基础矩阵和单应矩阵,通过比较内点数量的方法,在这两个矩阵中选出适合当前场景的,用来恢复第i帧待定位图像和参考图像的电子设备之间的第二类位姿变化信息。

如此,通过上述方式,可以得到n帧待定位图像分别与其对应的参考图像之间的第二类位姿变化信息{pmap(1),1,pmap(2),2,…,pmap(n),n};其中,map(i),i=1,2,…,n代表第i帧待定位图像对应的参考图像的id。这里的第二类位姿变化信息中包含了采集待定位图像时和采集对应的参考图像时电子设备的旋转角度和无尺度的位移。这里位移是有方向的,模长归一化为1。

步骤206、基于第一类位姿变化信息,确定采集至少两帧待定位图像时电子设备在采集待定位图像时的坐标系中分别对应的第一类位置。

这里,根据步骤203得到采集每帧待定位图像时电子设备的位姿与采集第1帧待定位图像时电子设备的位姿之间的第一类位姿变化信息{p1,2,p1,3,…,p1,n}。

进一步,可以通过公式(2-1)得到采集每帧待定位图像时的电子设备位姿在采集第1帧待定位图像时坐标系中的位置,得到第一类位置:

这里,ti是齐次坐标系下的坐标,例如:

另外,本申请提供的实施例中,

其中,r1,i是指采集第1帧待定位图像时电子设备的位姿与采集第i帧待定位图像时电子设备位姿之间的旋转,t1,i是指采集第1帧待定位图像时电子设备的位姿与采集第i帧待定位图像时电子设备位姿之间的位移,模长均为1。这里的t1,i是指具有尺度信息的位移。

步骤207、基于第二类位姿变化信息,确定采集至少两帧待定位图像时电子设备在采集参考图像时的目标坐标系中分别对应的第二类位置。

这里,在步骤204中得到每帧待定位图像和参考图像之间的第二类位姿变化信息,{p1,map(1),p2,map(2),…,pn,map(n)};具体地,

其中,ri,map(i)是指采集第i帧待定位图像时电子设备的位姿与第i帧待定位图像对应的参考图像表征的电子设备位姿之间的旋转,ti,map(i)是指采集第i帧待定位图像时电子设备的位姿与第i帧待定位图像对应的参考图像表征的电子设备位姿之间的位移,模长均为1。si是指第i帧待定位图像的尺度信息。

在本申请提供的实施例中,可以通过公式(2-2)得到采集至少两帧待定位图像时电子设备在采集参考图像时的目标坐标系中分别对应的第二类位置:

步骤208、基于第一类位置和第二类位置,确定至少两帧待定位图像分别对应的尺度信息。

具体地,基于第一类位置和第二类位置,确定至少两帧待定位图像分别对应的尺度信息,包括:

基于所述第一类位置和所述第二类位置,建立至少两帧待定位图像分别对应的尺度信息的目标优化方程;

基于目标优化方程,确定至少两帧待定位图像分别对应的尺度信息。

这里,基于步骤203可以得到至少两帧待定位图像之间的相对位姿变换,这个相对位姿变换无论在哪个坐标系下都是相同的。基于公式(2-1)的到的第一类位置,可以将公式(2-2)改写为公式(2-3):

进一步,将公式(2-3)中第一个式子带入公式(2-3)剩余的式子中,得到公式(2-4):

进一步,可以得到公式(2-5):

将公式(2-5)进行移项处理,将带有尺度信息的项移至左边,得到公式(2-6):

对公式(2-6)进行整理,得到关于至少两帧待定位图像分别对应的尺度信息s={s1,s2,…,sn}的目标优化方程:

在公式(2-7)中等式最左边的矩阵中,每一行只有两项不为零,第i行中第0项和第i+1项不为零。这样可以得到3n-3个方程,这里求解s的最小二乘解,这样可以求解得到采集每帧图像时的坐标系与采集对应的参考图像的目标坐标系之间的尺寸关系。

步骤209、基于第二类位姿变化信息和尺度信息,确定采集至少两帧待定位图像时电子设备在目标坐标系中分别对应的目标位姿。

这里,基于第二类位姿变化信息和尺度信息,求解出每帧待定位图像相对于对应的参考图像的有尺度的相对位姿,得到采集每帧待定位图像时的电子设备在离线地图坐标系下的目标位姿。

需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。

可见,通过上述方案,使用slam中采集的至少两帧待定位图像,分别计算与离线地图中匹配的参考图像电子设备的无尺度相对位姿,再利用至少两个待定位图像对应的电子设备之间的有尺度的相对位姿,能够恢复和参考图像之间的有尺度位姿,确定每帧待定位图像在离线地图坐标系中的目标位姿。并且该方法不需要点云信息,只需采集参考图像时电子设备和位姿和图像信息,故可以使建图更加简单,兼容性更高,地图大小更小。

基于前述实施例,本申请实施例提供一种定位方法,通过采集当前场景中两帧待定位图像来对电子设备进行重定位,图3为本申请实施例提供的定位方法的流程示意图,如图3所示,所述定位方法包括以下步骤:

步骤301、采集第1帧待定位图像,从离线地图中获取与第1帧待定位图像对应的参考图像。

具体地,提取第1帧待定位图像中至少一个特征点,例如fast角点,再在每个特征点周围提取brief特征。实际应用中,slam为了追踪电子设备位姿和实时建图,会提取150个特征点,而在本实施例中为了对电子设备进行重定位,还会额外提取特征点。额外的特征点的数量是动态的,纹理复杂的场景下特征点多,一般的弱纹理场景,如白墙等场景下较少;一般提取的特征点在500到1500个之间。在每个特征点周围31x31范围内的像素点提取brief特征,用来对这个特征点进行描述。接着根据所有特征点的brief特征计算第1帧待定位图像的词袋模型特征,并在当前场景的离线地图中找到和当第1帧待定位图像的词袋模型特征最匹配的一帧图像,并将找到的这一帧图像作为重定位时第1帧待定位图像的参考图像。

步骤302:获取第2帧待定位图像,确定采集第1帧待定位图像时电子设备的位姿和采集第2帧待定位图像时电子设备的位姿之间的第一类位姿变化信息。

这里的选取第2帧待定位图像的方法是,若采集到的图像追踪的特征点中的20%是第1帧待定位图像没有观测到的,将该帧图像作为第2帧待定位图像。这样选取第2帧待定位图像的目的是保证和第1帧待定位图像有一定的距离,但距离又不太远。如果距离太近,slam的噪声可能会有较大的影响,导致两帧之间的第一类位姿变化信息不准确。而当这两帧较远时,slam的噪声相对于这段距离就比较小了,位姿变换就比较可靠。但如果距离太远,第2帧待定位图像和离线地图中找到的参考图像之间就会有较大的视差,会导致匹配点过少,无法恢复出第2帧待定位图像的电子设备位姿和参考图像电子设备位姿之间的相对位姿。

基于以上原则选择出来的第2帧待定位图像与第1帧待定位图像之间具有一定的相似度,为了降低运算复杂度,可以将第1帧待定位图像的参考图像作为第2帧待定位图像的参考图像。

在本实施例中,选取两帧待定位图像的原因是,基于多帧待定位图像进行重定位显然需要等待更多帧,计算方式比较复杂,会让用户花更多的时间进行重定位,造成体验不好。另外,选取多帧待定位图像时,后面的帧可能会和第1帧待定位图像产生较大的视差,这样也会与参考图像产生较大的视差,会导致匹配点过少,无法恢复出相对位姿。

步骤303:基于第1帧待定位图像、第2帧待定位图像和参考图像,得到采集第1帧待定位图像时电子设备的位姿、采集第2帧待定位图像时电子设备的位姿分别和采集参考图像时电子设备位姿之间的第二类位姿变化信息。

两帧图像之间的特征点匹配方法有很多,这里采用以词袋模型作为约束进行匹配。这里的具体原理是,brief描述子的词袋模型,是一种离线的,训练好的树状结构。词袋模型可以根据训练集中真实图像中的实际特征点,将相似的特征放到同一个词袋模型的节点中。

由于我们在步骤301中已经得到了第1帧待定位图像的brief特征,并计算了词袋模型特征,即将第1帧待定位图像中相似的brief特征分配到了词袋模型的同一节点中;这里,每个brief特征有一个唯一的词袋模型节点编号,一个词袋模型节点编号对应多个brief特征。

得到第1帧待定位图像的brief特征在词袋模型树中的节点编号后,对第1帧待定位图像和参考图像中,在同一个词袋模型节点中的特征进行匹配,计算同一个词袋模型节点中的两个brief特征的汉明距离。汉明距离越小,说明这两个brief特征越相似。记录参考帧特征中,与第1帧待定位图像特征的汉明距离最小和第二小的特征。当第1帧待定位图像中的某个brief特征,和参考图像中的某个brief特征之间的汉明距离小于预设距离阈值(例如50),并且最小的汉明距离小于0.9倍的第二小的汉明距离,则认为上述brief特征为一个成功的匹配。具体地,小于预设距离阈值表明特征之间的汉明距离足够小,两个brief特征足够相似;且最小的汉明距离小于第二小的汉明距离乘以0.9,表明brief特征是一个很显著的特征匹配,没有其他类似的匹配。

采用这种约束的匹配,比一般的暴力匹配准确率更高,并且在搜索参考图像时我们已经计算了第1帧待定位图像的词袋模型特征,故无需重复计算。

进一步,得到匹配对后,使用ransac和八点法计算第1帧待定位图像和对应的参考图像之间的基础矩阵和单应矩阵,通过比较内点数量的方法,在这两个矩阵中选出适合当前场景的,用来恢复第1帧待定位图像和参考图像之间的第二类位姿变化信息。

同样地,基于上述方式,得到第2帧待定位图像的电子设备位姿和参考图像电子设备位姿之间的第二类位姿变化信息。

步骤304:基于第一类位姿变化信息和第二类位姿变化信息,得到第1帧待定位图像和第2帧待定位图像的尺度信息。

具体地,采集第1帧待定位图像时电子设备的位姿、采集第2帧待定位图像时电子设备的位姿和采集参考图像时电子设备的位姿之间的几何关系可以如图4所示。

图4中电子设备a是在采集参考图像时的电子设备位姿,电子设备b和电子设备c分别是重定位时的slam采集的第1帧待定位图像和第2帧待定位图像时电子设备的位姿。

在步骤303中,已经计算得到电子设备b和电子设备c分别与电子设备a之间的无尺度的第二类位姿变化信息pab和pac;

其中,

这里,rab是指电子设备a到电子设备b之间的旋转,rac是指电子设备a到电子设备c之间的旋转,tab是指电子设备a到电子设备b之间的位移,tac是指电子设备a到电子设备c之间的位移,模长均为1。s1和s2分别指tab和tac位移的尺度信息。

进一步,可以得到采集第1帧待定位图像时电子设备的位姿以及第2帧待定位图像时电子设备的位姿,分别在参考图像的目标坐标系,即离线地图坐标系中的位置坐标:

tb=pabta=rabta+s1tab;

tc=pacta=racta+s2tac;

这里的tc又可以通过第1帧待定位图像和第2帧待定位图像之间电子设备位姿的第一类位姿变化信息得到:

整理可以得到关于尺度信息s1和s2的方程组:

s1rbctab-s2tac=rac-rbcrabta-tbc;

进行移项处理,得到:

这里,可以求解关于s1和s2的最小二乘解。

具体地,令:

能够得到:

as=b;

则尺度信息的最小二乘解为:

s=(ata)-1atb;

这样我们就可以求得采集第1帧待定位图像时的坐标系与离线地图坐标系的尺寸关系,采集第2帧待定位图像时的坐标系与离线地图坐标系的尺寸关系。如此,可以得到电子设备a和电子设备b、电子设备a和电子设备c之间的尺度信息。

步骤305、基于第二类位姿变化信息和尺度信息,得到采集第1帧待定位图像时电子设备在离线地图坐标系中的目标位姿,以及采集第2帧待定位图像时电子设备在离线地图坐标系中的目标位姿。

需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。

可见,本申请实施例提供的定位方法,利用当前slam的两个待定位图像,和离线地图中对应的参考图像分别计算无尺度相对位姿,再用两帧待定位图像之间的有尺度的相对位姿,恢复两帧待定位图像和参考图像之间的有尺度位姿。该方案不需要3d点云信息,只需参考图像的位姿和图像信息,故可以使建图更加简单,兼容性更高,地图大小更小。

基于前述实施例,为了实现本申请实施例提供的定位方法,本申请实施例还提供了一种电子设备,如图5所示,所述电子设备50包括:处理器51和配置为存储能够在处理器上运行的计算机程序的存储器52,

其中,所述处理器51配置为运行所述计算机程序时,执行前述实施例中的方法步骤。

需要说明的是,实际应用时,电子设备中的各个组件通过通信总线53耦合在一起。可理解,通信总线53用于实现这些组件之间的连接通信。通信总线53除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为通信总线53。

这里,需要说明的是,所述终端通常为具有前置双摄或者后置双摄功能的移动终端,所述移动终端可以以各种形式来实施。例如,本申请一示例性实施例中所描述的移动终端可以包括手机、平板电脑、掌上电脑、个人数字助理(personaldigitalassistant,pda)等。

对应地,本申请一示例性实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的暗光图像处理方法中的步骤。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请一示例性实施例的实施过程构成任何限定。上述本申请一示例性实施例序号仅仅为了描述,不代表实施例的优劣。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

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

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

另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(readonlymemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请一示例性实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得终端执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

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