首页> 中国专利> 一种基于地标的视觉导航

一种基于地标的视觉导航

摘要

本发明提出了一种基于地标的视觉导航方法,包括:确定视觉场景中的地标;获取智能体相对于所述地标的多自由度信息;获取所述智能体相对于所述地标的多自由度变化信息;根据所述多自由度变化信息为所述智能体的运动导航。该方案通过摄像头图像信息和该节点陀螺仪位姿信息构建视觉场景中的地标的六自由度信息,包括地标在视觉场景里横向、纵向、远近三个坐标信息以及该坐标点上俯仰,旋转和偏航三个角度信息;然后根据该六自由度信息,可以实现以该地标作为参考点的高帧率视觉导航。本发明可用在VR/AR中展示虚拟物品/人物,也可以用于诸如无人驾驶,机器人导航等场景中,配合陀螺仪,能够在拥有普通计算能力的移动设备上实现对智能体的高实时导航。

著录项

  • 公开/公告号CN113280817A

    专利类型发明专利

  • 公开/公告日2021-08-20

    原文格式PDF

  • 申请/专利权人 阿里巴巴集团控股有限公司;

    申请/专利号CN202010652637.4

  • 发明设计人 诸小熊;李军舰;姚迪狄;

    申请日2020-07-08

  • 分类号G01C21/20(20060101);

  • 代理机构11690 北京领科知识产权代理事务所(特殊普通合伙);

  • 代理人张丹

  • 地址 英属开曼群岛大开曼资本大厦一座四层847号邮箱

  • 入库时间 2023-06-19 12:18:04

说明书

技术领域

本发明涉及地图导航技术领域,具体涉及一种基于地标的视觉导航方法和装置。

背景技术

随着计算机视觉技术的快速发展,基于计算机视觉的视觉场景地图构建与导航技术由于其成本低、应用广等特点在VR/AR(虚拟现实/增强现实)、自动导航等场景中得到了广泛的应用。

最常用的视觉地图场景构建方案是视觉SLAM(simultaneous Localization andmapping,即时定位与地图构建)技术,通过传感器、视觉里程计等构建地图信息,用于判断当前智能体所在的位置信息。该方案存在以下几个问题:首先,SLAM的地图构建流程复杂:视觉SLAM要求对所处的场景进行多个角度的场景信息的输入,然后通过特征提取与匹配等技术构建地图信息。其次,计算复杂度高,导航速度慢:由于视觉SLAM建立的地图信息比较多,特征比较丰富,因此基于该地图的导航计算量很大,在普通计算设备特别是移动设备很难实现实时导航。

因此,亟需一种视觉导航的方案,既能够降低地图构建的复杂度、提高导航速度,又支持在普通的计算设备上应用。

发明内容

本发明的一个目的是提供一种基于地标的视觉导航方法,以实现即时简单的视觉地标构建,以及高实时性的视觉导航。

为了达到上述目的,本发明的实施例提供了一种基于地标的视觉导航方法,所述方法包括:

确定视觉场景中的地标;

获取所述智能体相对于地标的多自由度信息;

获取所述智能体相对于所述地标的多自由度变化信息;

根据所述多自由度变化信息为所述智能体的运动导航。

进一步地,所述多自由度信息包括坐标信息和角度信息。

进一步地,所述多自由度信息为六自由度信息,所述六自由度信息包括所述智能体相对于视觉场景中的所述地标的横坐标、纵坐标、深度坐标,以及智能体在空间坐标系中的俯仰角、偏航角和旋转角;其中,获取所述地标相对于智能体的多自由度信息具体包括:

获取所述智能体摄像头拍摄的视觉场景,分析所述视觉场景,确定所述智能体相对于所述地标的横坐标、纵坐标、深度坐标;

获取所述智能体的传感器数据,确定所述智能体在空间坐标系中的俯仰角、偏航角和旋转角。

进一步地,确定视觉场景中的地标具体为:用户预先选择的视觉场景中的区域作为所述地标。

进一步地,确定视觉场景中的地标具体为:利用主体识别算法识别视觉场景中的显著物体目标作为所述地标,或者利用目标检测算法检测特定区域作为所述地标。

进一步地,所述方法还包括:在获取所述多自由度信息后,利用所述多自由度信息对图像跟踪算法进行初始化,其中,所述图像跟踪算法用于获取所述地标在当前视觉场景中的位置和/或区域。

进一步地,所述方法还包括:判断当前地标是否丢失,如果判断结果为丢失,则停止运动导航,并启动重检测步骤。

进一步地,所述重检测步骤具体为:以判断为丢失前的最后一帧作为模板,检测所述地标,若检测到,则重新获取所述智能体相对于地标的多自由度信息。

进一步地,以所述地标图像的区域中心坐标为所述地标的横坐标、纵坐标,进而获取所述智能体相对于所述地标的横坐标、纵坐标,以所述智能体摄像头相对于所述地标的距离为深度坐标;其中,所述深度值的获取过程为:获取所述地标图像的区域最小外接圆,以所述外接圆半径R以及先验系数k的乘积作为所述地标的深度坐标,进而获取所述智能体相对于所述地标的深度坐标。

进一步地,其特征在于,所述智能体相对于所述地标的多自由度变化信息的变化包括:俯仰角、偏航角和旋转角的变化信息、智能体相对于所述地标平面内的位移以及所述智能体相对于所述地标的深度位移;其中,所述地标平面内的位移为所述地标在当前图像帧中的坐标与所述地标的初始坐标的变化量。

进一步地,其特征在于,根据当前地标图像区域的最小外接圆半径与构建地标时地标图像区域的最小外接圆半径确定所述深度位移。

本发明实施例还提供了一种基于地标的视觉导航装置,所述装置包括:

地标确定模块,用于确定视觉场景中的地标;

多自由度信息构建模块,用于获取所述智能体相对于所述地标的多自由度信息;

变化信息获取模块,用于获取所述智能体相对于所述地标的位置变化信息;

视觉导航模块,用于根据所述位置变化信息为所述智能体的运动导航。

进一步地,所述多自由度信息包括坐标信息和角度信息。

进一步地,所述多自由度信息为六自由度信息,所述六自由度信息包括所述智能体相对于视觉场景中的所述地标的横坐标、纵坐标、深度坐标,以及智能体在空间坐标系中的俯仰角、偏航角和旋转角;其中,所述多自由度信息构建模块具体用于:

获取所述智能体摄像头拍摄的视觉场景,分析所述视觉场景,确定所述智能体相对于所述地标的横坐标、纵坐标、深度坐标;

获取所述智能体的传感器数据,确定所述智能体在空间坐标系中的俯仰角、偏航角和旋转角。

进一步地,所述地标确定模块具体用于:用户预先选择的视觉场景中的区域作为所述地标。

进一步地,所述地标确定模块具体用于:利用主体识别算法识别视觉场景中的显著物体目标作为所述地标,或者利用目标检测算法检测特定区域作为所述地标。

进一步地,所述视多自由度信息构建模块,还用于:在获取所述多自由度信息后,利用所述多自由度信息对图像跟踪算法进行初始化,其中,所述图像跟踪算法用于获取所述地标在当前视觉场景中的位置和/或区域。

进一步地,所述视觉导航模块,还用于判断当前地标是否丢失,如果判断结果为丢失,则停止运动导航,并启动重检测模块。

进一步地,所述重检测模块,用于以判断为丢失前的最后一帧作为模板,检测所述地标,若检测到,则重新获取所述智能体相对于地标的多自由度信息。

进一步地,以所述地标图像的区域中心坐标为所述地标的横坐标、纵坐标,进而获取所述智能体相对于所述地标的横坐标、纵坐标,以所述智能体摄像头相对于所述地标的距离为深度坐标;其中,所述深度值的获取过程为:获取所述地标图像的区域最小外接圆,以所述外接圆半径R以及先验系数k的乘积作为所述地标的深度坐标,进而获取所述智能体相对于所述地标的深度坐标。

进一步地,其特征在于,所述智能体相对于所述地标的多自由度变化信息的变化包括:俯仰角、偏航角和旋转角的变化信息、智能体相对于所述地标平面内的位移以及所述智能体相对于所述地标的深度位移;其中,所述地标平面内的位移为所述地标在当前图像帧中的坐标与所述地标的初始坐标的变化量。

进一步地,其特征在于,根据当前地标图像区域的最小外接圆半径与构建地标时地标图像区域的最小外接圆半径确定所述深度位移。本发明实施例还提供了一种图像采集方法,所述方法包括:

确定视觉场景中的采集对象,所述采集对象为视觉场景中的至少一个显著物体或者特定区域;

采集所述对象的图像;

获取所述智能体相对于采集对象的多自由度信息;

将所述采集对象的图像与所述多自由度信息进行关联;

存储所述采集对象的图像以及所述关联的多自由度信息。

进一步地,确定视觉场景中的采集对象具体为:利用图像主体识别算法识别视觉场景中的显著物体作为所述采集对象,或者利用目标检测算法检测特定区域作为所述采集对象。

进一步地,所述多自由度信息包括坐标信息和角度信息。

进一步地,所述多自由度信息为六自由度信息,所述六自由度信息包括所述智能体相对于视觉场景中的所述采集对象的横坐标、纵坐标、深度坐标,以及智能体在空间坐标系中的俯仰角、偏航角和旋转角;其中,获取所述采集对象相对于智能体的多自由度信息具体包括:

获取所述智能体摄像头拍摄的视觉场景,分析所述视觉场景,确定所述智能体相对于所述采集对象的横坐标、纵坐标、深度坐标;

获取所述智能体的传感器数据,确定所述智能体在空间坐标系中的俯仰角、偏航角和旋转角。

进一步地,所述方法还包括:

获取所述智能体采集所述对象图像时的环境属性信息;

将所述采集对象的图像与所述环境属性信息进行关联;

存储所述关联的环境属性信息。

进一步地,所述方法还包括:

获取当前智能体相对于指定对象的多自由度信息和/或环境属性信息;

根据所述多自由度信息和/或环境属性信息获取所述指定对象的图像;

呈现所述指定对象的图像。

本发明实施例还提供了一种计算机程序产品,包括计算机程序指令,当所述指令由处理器执行时,用于实现前述的基于地标的视觉导航方法或者前述的图像采集方法。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现前述的基于地标的视觉导航方法或者前述的图像采集方法。

本发明的有益效果是:本发明提出了一种基于地标的视觉导航方法,包括:获取所述地标相对于智能体的多自由度信息;获取所述地标相对于所述智能体的多自由度变化信息;根据所述多自由度变化信息为所述智能体的运动导航。该方案通过摄像头图像信息和该节点陀螺仪位姿信息构建视觉场景中的地标的六自由度信息,包括地标在视觉场景里横向、纵向、远近三个坐标信息以及该坐标点上俯仰,旋转和偏航三个角度信息;然后根据该六自由度信息,可以实现以该地标作为参考点的高帧率视觉导航。本发明可用在VR/AR中展示六个自由度虚拟物品/人物,也可以用于诸如无人驾驶,机器人导航等场景中。配合陀螺仪信息,能够在拥有普通计算能力的移动设备上实现对智能体的高实时导航。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明的实施例一的方法流程图。

图2为视觉场景中的地标区域示意图。

图3为本发明实施例二的装置的框图

图4为本发明的实施例三的方法流程图。

具体实施方式

为了便于本领域普通技术人员理解和实施本发明,下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

视觉SLAM由于构建的地图图像信息中有复杂的图像特征,且其本身算法复杂度很高,因此很难在移动设备特别是计算能力一般的移动设备(如手机)上实现实时导航。

本发明的方案利用图像跟踪算法,只需要实现对地标区域的图像跟踪,利用图像坐标系信息以及陀螺仪信息就能够得到智能体相对于地标的位移和姿态变化。由于现有的大部分图像跟踪算法都具有高实时的特点,能够在移动端设备上实现实时图像跟踪。因此配合陀螺仪信息,能够在拥有普通计算能力的移动设备上实现对智能体的高实时导航。

智能体主要指的是可移动、配置有摄像头、陀螺仪和计算单元的设备,例如智能手机、带摄像头的无人机等。

实施例一

参阅图1,本发明实施例一提供一种基于地标的视觉导航方法,所述方法包括地标确定步骤、多自由度信息构建步骤、变化信息获取步骤和视觉导航步骤。

地标确定步骤,用于确定视觉场景中的地标。本发明中的地标是用于运动导航过程中做位置和姿态参考的标志区域,由用户预先设定的视觉场景中的位置区域,如图2所示,用户以视觉场景中的立柜作为地标。当然,地标也可以通过一定智能算法确定,例如:利用主体识别算法识别到视觉场景中的最显著物体目标作为地标,或者在特定场景中,利用目标检测算法检测特定区域(例如logo)作为地标。

多自由度信息构建步骤,获取所述智能体相对于所述地标的多自由度信息。获取所述多自由度信息后,利用所述多自由度信息对图像跟踪算法进行初始化,以实现视觉图像层面的区域跟踪。

其中,所述多自由度信息为六个自由度信息。所述六自由度包括所述智能体相对于视觉场景中的所述地标的横坐标、纵坐标、深度坐标,以及智能体在空间坐标系中的俯仰角、偏航角和旋转角。这里的所述视觉场景为所述智能体摄像头拍摄的图像帧中的视觉场景。对于俯仰角、偏航角和旋转角等姿态角信息,可以通过智能体中的陀螺仪获得。

如图2所示,以所述地标图像的区域中心坐标(x,y)为所述地标的横坐标、纵坐标,进而获取所述智能体相对于所述地标的横坐标、纵坐标。以所述智能体摄像头相对于所述地标的距离为深度坐标。其中,所述深度值的获取过程为:获取所述地标图像的区域最小外接圆,以所述外接圆半径R以及先验系数k的乘积作为地标的深度坐标,d=R*k,其中,k为根据具体应用和场景设定的经验值。

所述变化信息获取步骤,获取所述智能体相对于所述地标的多自由度变化信息。所述多自由度变化信息包括:三个方位角的变化信息(delta_P,delta_R,delta_Y)、所述智能体相对于地标平面内的位移(delta_x,delta_y)以及所述智能体相对于所述地标的深度位移delta_d。

其中,所述三个方位角的变化信息为当前智能体的姿态信息与构建地标时的姿态信息的变化量以俯仰角为例,设当前陀螺仪位置为P1,地标构建时俯仰角为P0,则可得到俯仰角改变的角度delta_P=P1-P0。采用同样的方式,可以得到三个方位角的变化信息(delta_P,delta_R,delta_Y)。

对于位置变化,我们可以通过图像跟踪器获得当前地标在图像中的位置和区域。所述地标平面内的位移为所述地标在当前图像帧中的坐标与构建地标时的初始坐标的变化量。以横轴x为例,设地标在当前图像区域横轴坐标为x1,初始位置为x0,可以得到delta_x=x1-x0。采用同样的方式,可以得到图像平面内的位移(delta_x,delta_y)。

对于深度位移,设当前地标图像区域的最小外接圆半径为R1,R0为构建地标时地标图像区域的最小外接圆半径,则delta_d=k*(R1/R0)。

所述视觉导航步骤,根据所述多自由度变化信息为智能体的运动导航。

优选地,所述视觉导航步骤还包括:利用图像跟踪算法判断当前地标是否丢失,如果判断结果为丢失,则停止运动导航,并启动重检测步骤。以KCF(Kernel CorrelationFilter)跟踪算法为例,可以通过每一帧滤波响应值判断当前跟踪状态。

优选地,所述重检测步骤具体为:以判断为丢失前的最后一帧的图像作为模板,检测所述地标,若检测到,则重新获取所述地标六个自由度的信息。

图像跟踪算法可以是任意一种通过图像实现物体跟踪的算法,不局限于KCF类视觉目标跟踪算法。

实施例二

参阅图3,本发明实施例二提供了一种基于地标的视觉导航装置300,所述装置包括地标确定模块301、多自由度信息构建模块302、变化信息获取模块303和视觉导航模块304。

地标确定模块301,用于确定视觉场景中的地标。本发明中的地标是用于运动导航过程中做位置和姿态参考的标志区域,由用户预先设定的视觉场景中的位置区域。当然,地标也可以通过一定智能算法确定,例如:利用主体识别算法识别到视觉场景中的最显著物体目标作为地标,或者在特定场景中,利用目标检测算法检测特定区域(例如logo)作为地标。

多自由度信息构建模块302,用于获取所述地标相对于智能体的位置信息。获取所述多自由度信息后,利用所述多自由度信息对图像跟踪算法进行初始化,以实现视觉图像层面的区域跟踪。其中,所述多自由度信息为六个自由度信息。所述六个自由度包括视觉场景中的所述地标的横坐标、纵坐标、深度坐标,以及智能体在空间坐标系中的俯仰角、偏航角和旋转角;所述视觉场景为所述智能体摄像头拍摄的图像帧中的视觉场景。

变化信息获取模块303,获取所述地标相对于所述智能体的多自由度变化信息。

视觉导航模块304,根据所述智能体相对于地标的六个自由度的变化信息来为智能体的运动导航。

优选地,所述装置还包括重检测模块305。所述视觉导航模块304,还用于通过图像跟踪算法判断当前地标是否丢失,如果判断结果为丢失,则停止运动导航,并启动重检测模块305。

重检测模块305,用于以判断为丢失前的最后一帧的图像作为模板,检测所述地标,若检测到,则重新获取所述地标的多自由度信息。

实施例三

参阅图4,本发明实施例三提供一种图像采集方法,所述方法包括:

S401、确定视觉场景中的采集对象,其中,采集对象是视觉场景中的至少一个显著物体或者特定区域。

除了采集指定对象,本发明的也可以采集视觉场景中的所有对象。对于对象,不同的场景所包含的对象种类存在差异。例如样板间场景,对象包括家具、装饰品等;而对于博物馆场景,对象包括展品。

采集对象通过一定智能算法确定,例如:利用图像主体识别算法识别视觉场景中的显著物体,将其作为采集对象,或者在特定场景中,利用目标检测算法检测特定区域(例如logo、家具、装饰品等)作为采集对象。如图2所示,以视觉场景中的立柜作为采集对象。

S402、采集所述对象的图像。采集的图像,可以帮助用户进行场景空间的浏览,例如家装场景,或者博物馆场景中,用户除了对某些特定对象进行多角度浏览,也可以浏览视觉场景的整体图像和/或其他物体的图像。

S403、获取所述智能体相对于采集对象的多自由度信息。获取所述多自由度信息后,利用所述多自由度信息对图像跟踪算法进行初始化,以实现视觉图像层面的区域跟踪。

其中,所述多自由度信息为六个自由度信息。所述六自由度包括所述智能体相对于所述采集对象的横坐标、纵坐标、深度坐标,以及智能体在空间坐标系中的俯仰角、偏航角和旋转角。这里的所述视觉场景为所述智能体摄像头拍摄的图像帧中的视觉场景。对于俯仰角、偏航角和旋转角等姿态角信息,可以通过智能体中的陀螺仪获得。

如图2所示,以所述地标图像的区域中心坐标(x,y)为所述地标的横坐标、纵坐标,进而获取所述智能体相对于所述采集对象的横坐标、纵坐标。以所述智能体摄像头相对于所述采集对象相对于摄像头的距离为深度坐标。其中,所述深度坐标的获取过程为:获取所述地标图像的区域最小外接圆,以所述外接圆半径R以及先验系数k的乘积作为地标的深度坐标,d=R*k,其中,k为根据具体应用和场景设定的经验值。

S404、将所述采集对象的图像与所述多自由度信息进行关联。这样就建立了采集对象的图像与所述多自由度信息的映射关系。

优选地,进一步获取所述智能体采集图像时的环境属性信息,并将所述视觉场景中的对象与所述环境属性信息进行关联。环境信息包括拍摄的时间、场景类型、拍摄的季节信息等。

S405、存储所述采集对象的图像以及所述关联的多自由度信息。优选地,还存储所述关联的环境属性信息。

通过上述步骤,建立了视觉场景中的物体相对于智能体的不同角度、不同距离远近的图像。该方法还可用在VR/AR中展示六个自由度虚拟物品/人物。

优选地,所述方法还包括:获取当前智能体相对于指定对象的多自由度信息和/或环境属性信息;根据所述多自由度信息和/或环境属性信息获取所述指定对象的图像;并呈现所述指定对象的图像。

本发明实施例三的方法,可以实现在视觉导航的过程中采集视觉场景中某些对象的图像,并建立了智能体轨迹信息与采集图像之间的关联关系。基于所述轨迹信息,可以准确确定视角位置以及查看某制定对象的视角等。

以样板间图像采集为例,采用本发明实施例三的方法采集完成后,可以基于采集的图像生成样板间的整体3D图以及某些家具/装饰品的不同视角图像。其他用户(例如参观样板间的客户)可以查看指定物体的不同视角的图像,也可以查看样板间的整体3D效果,作为自己购房或装修的参考。所属领域的技术人员可以清楚的了解到,为了描述的方便和简洁,上述描述的装置、模块和单元的具体工作过程,可以参考前述方法实施例的对应过程,在此不再赘述。

本发明实施例还公开了一种计算机程序产品,包括计算机程序指令,当指令由处理器执行时,用于实现如实施例一或实施例三的方法。

本发明实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被执行时,实现如实施例一或实施例三的方法。

附图中的流程图和框图显示了根据本发明的多个实施例的方法、装置和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图和框图中的每个方框可以代表一个模块、程序段或代码的一部分,包含一个或多个用于实现逻辑功能的计算机可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。也要注意的是,框图和流程图中的每个方框或方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。而且,术语″包括″、″包含″或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句″包括一个......″限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明,上述实施例仅是为说明所作的举例,而并非对实施方式的限定。对于本领域技术人员来说,在上述说明的基础上,还可以做出其它不同形式的变化或变动,而这些变化或变动将是显而易见的,处于本发明的保护范围之中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号