本发明专利技术实施例公开了一种定位方法和装置,涉及定位和导航领域,用于解决vSLAM受视角和光照影响无法定位和导航的问题。定位方法包括:创建多个视觉即时定位与地图构建vSLAM进程,并分别为各个vSLAM进程加载对应的地图数据库;调用各个vSLAM进程基于实时图像进行定位;根据各个定位成功的vSLAM进程所得到的定位结果进行定位。本发明专利技术实施例应用于机器人、自动驾驶汽车等装置的定位或导航。
【技术实现步骤摘要】
【国外来华专利技术】定位方法和装置
本专利技术涉及定位和导航领域,尤其涉及一种定位方法和装置。
技术介绍
当前,vSLAM(visualsimultaneouslocalizationandmapping,视觉即时定位与地图构建)已经广泛应用在机器人导航中,其可以帮助机器人完成定位和导航任务,但是由于vSLAM是基于图像处理的,容易受到光照和视角变换的影响。比如,vSLAM在白天构建了某一场景某一时刻的地图,那么在晚上对于同样的场景,由于光照发生了变化,此时采集的vSLAM地图无法在白天构建的地图中找到匹配图像,因此无法实现定位和导航;另外,vSLAM在采集图像时受到传感器的视角影响,构建地图的视角是有指向性的,如果定位时视角与保存视角存在较大的差别,同样无法完成定位和导航。
技术实现思路
本专利技术的实施例提供一种定位方法和装置,主要用于解决vSLAM受视角和光照影响无法定位和导航的问题。为达到上述目的,本专利技术的实施例采用如下技术方案:第一方面,提供了一种定位方法,包括:创建多个视觉即时定位与地图构建vSLAM进程,并分别为各个vSLAM进程加载对应的地图数据库;调用各个vSLAM进程基于实时图像进行定位;根据各个定位成功的vSLAM进程所得到的定位结果进行定位。第二方面,提供了一种定位装置,包括:创建单元,用于创建多个视觉即时定位与地图构建vSLAM进程,并分别为各个vSLAM进程加载对应的地图数据库;定位单元,用于调用各个vSLAM进程基于实时图像进行定位;所述定位单元,还用于根据各个定位成功的vSLAM进程所得到的定位结果进行定位。第三方面,提供了一种计算机存储介质,用于储存为定位装置所用的计算机软件指令,其包含执行第一方面所述的定位方法所设计的程序代码。第四方面,提供了一种计算机程序产品,可直接加载到计算机的内部存储器中,并含有软件代码,所述计算机程序经由计算机载入并执行后能够实现第一方面所述的定位方法。第五方面,提供了一种电子设备,包括:存储器、通信接口和处理器,所述存储器用于存储计算机执行代码,所述处理器用于执行所述计算机执行代码控制执行第一方面所述定位方法,所述通信接口用于所述定位设备与外部设备的数据传输。。本专利技术实施例提供的定位方法和装置,通过对应不同拍摄时间段或拍摄视角的地图数据库与实时图像进行匹配,然后根据匹配结果进行定位,解决了vSLAM受视角和光照影响无法定位和导航的问题。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例提供的视角的示意图;图2为本专利技术实施例提供的定位的示意图;图3为本专利技术实施例提供的一种定位方法的流程示意图;图4为本专利技术实施例提供的一种定位方法的流程示意图;图5为本专利技术实施例提供的一种定位装置的结构示意图;图6为本专利技术实施例提供的另一种定位装置的结构示意图;图7为本专利技术实施例提供的又一种定位装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例提供的定位方法和装置可以用于机器人、自动驾驶汽车等装置在室内外的视觉定位和导航。定位装置可以位于云端作为定位服务器,或者位于现场作为终端(例如导盲头盔)。参照图1中所示,本专利技术实施例所述的视角是指摄像头光轴方向与前进方向的夹角。参照图2中所示,本专利技术实施例所述的定位是指确定在直角坐标系X-Y平面中的位置(x,y)。本专利技术实施例提供了一种定位方法,应用于上述定位装置,参照图3中所示,包括:S101、创建多个vSLAM进程,并分别为各个vSLAM进程加载对应的地图数据库。地图数据库为针对同一路线事先采集的不同时段、不同视角的地图数据库。具体的,当起始地、目的地和行进路线确定之后,在某一时段,拍摄车辆保持视觉传感器模块的视角不变,从起始地沿行进路线向目的地出发,行进过程中间隔一定时间拍摄一次图像同时记录位置坐标(相对位置或绝对位置),到达目的地后即形成了该行进路线的一组地图数据库,其中,每个地图数据库均包括图像、拍摄图像时的视角、时间和位置坐标。为了平衡计算量和匹配准确度,在拍摄时间间隔上可以如表1中所示以一小时为间隔分别采集0-23时的地图数据库,这样可以得到不同光照条件下的地图数据库;另外,在视角上可以如表1中所示以45度为间隔采集360度视角的地图数据库。进一步优选的,可以直接采用360度全景相机进行拍摄来得到如表2中所示的地图数据库,每个地图数据库包含360度全景图像,这样既节省拍摄工作量,同时也节省定位时的计算量。表1表2所创建的vSLAM进程数目可以小于等于地图数据库的组数。例如,如果有16组地图数据库,可以创建1-16个进程来进行上述匹配运算,每个进程取一组地图数据库与实时图像进行定位,当一个进程定位完成后从剩余的几组地图数据库中取一组再与实时图像进行定位,直至所有N组地图数据库加载完成。各个vSLAM进程可以采用相同的定位规则,针对不同的地图数据库进行定位;或者可以采用不同定位规则,针对同一地图数据库进行定位。在一些实施方式中,在初始化时,可以创建多个vSLAM进程,当一个vSLAM进程定位失败时,则关闭该vSLAM进程,以节省计算资源;当所创建的各个vSLAM进程均关闭后,重新创建多个vSLAM进程。S102、调用各个vSLAM进程基于实时图像进行定位。具体的,可以通过视觉传感器模块(例如摄像头)采集当前帧的实时图像。在各个进程根据实时图像从加载的地图数据库中得到定位结果时,为了进一步简化运算,不必将二者所有像素点一一进行匹配,可以分别从二者中提取图像特征,然后将二者的图像特征进行匹配,这样可以大大节省计算量。更进一步地,由于地图数据库是保持不变的,可以提前将地图数据库保存为图像特征,这样每次进行定位时,可以仅对实时图像提取图像特征,可以进一步节省计算量。在一些实施方式中,如果一个vSLAM进程定位成功,则该进程可以通知其他未定位成功vSLAM进程缩小在对应地图数据库中的搜索范围,使得缩小后的搜索范围包括定位成功的vSLAM进程所输出的定位结果所指示的位置。示例性的,假设第一进程处理第一组地图数据库,第二进程处理第二组地图数据库,第一进程处理在定位过程中首先搜索到第一组地图数据库的第100个地图数据库定位成功,则通知第二进程(尚未定位成功),在第二组地图数据库的第100个地图数据库附近最有可能定位成功,例如可以指示第二进程直接跳过第二组地图数据库中前89个地图数据库,从第90个地图数据库开始搜索,从而达到节省计算工作量的目的。在一些实施方式中,在每一个vSLAM进程定位失败时,说明该进程所加载的本组地图数据库可能由于光照、视角、拍摄间隔等原因无法对实时图像进行定位,则本组地图数据库不再参与后续实时图像的定位过程,因此关闭该vSLAM进程,直至所有vSL本文档来自技高网...
【技术保护点】
一种定位方法,其特征在于,包括:创建多个视觉即时定位与地图构建vSLAM进程,并分别为各个vSLAM进程加载对应的地图数据库;调用各个vSLAM进程基于实时图像进行定位;根据各个定位成功的vSLAM进程所得到的定位结果进行定位。
【技术特征摘要】
【国外来华专利技术】1.一种定位方法,其特征在于,包括:创建多个视觉即时定位与地图构建vSLAM进程,并分别为各个vSLAM进程加载对应的地图数据库;调用各个vSLAM进程基于实时图像进行定位;根据各个定位成功的vSLAM进程所得到的定位结果进行定位。2.根据权利要求1所述的方法,其特征在于,所述创建多个视觉即时定位与地图构建vSLAM进程,包括:创建采用不同定位规则的多个vSLAM进程。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:在其中一个vSLAM进程定位成功后,缩小其他vSLAM进程在其对应的地图数据库中的搜索范围,其中,缩小后的搜索范围包括定位成功的vSLAM进程所输出的定位结果所指示的位置。4.根据权利要求1-3中任一项所述的方法,其特征在于,所述创建多个视觉即时定位与地图构建vSLAM进程,包括:在初始化时,创建多个vSLAM进程;以及在所创建的各个vSLAM进程均关闭后,创建多个vSLAM进程;所述方法还包括:在每一个vSLAM进程定位失败时,关闭该vSLAM进程。5.根据权利要求1-4中任一项所述的方法,其特征在于,所述根据各个定位成功的vSLAM进程所得到的定位结果进行定位,包括:将定位成功的各个vSLAM进程所得到的定位结果所指示的位置的坐标值的平均值作为当前的定位结果。6.根据权利要求1-5中任一项所述的方法,其特征在于,还包括:获取全景图像摄像装置在多个角度上拍摄的图像;将每一个角度上拍摄的图像对应的配置到一个vSLAM进程所使用的地图数据库中。7.一种定位装置,其特征在于,包括:创建单元,用于创建多个视觉即时定位与地图构建vSLAM进程,并分别为各个vSLAM进程加载对应的地图数据库;定位单元,用于调用各个vSLAM进程基于实时图像进行定位;所述定位单元,还用于根据各个定位成功的vSLAM进程所得到的...
【专利技术属性】
技术研发人员:林义闽,廉士国,
申请(专利权)人:深圳前海达闼云端智能科技有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。