CN116012624A - 定位方法、装置、电子设备、介质以及自动驾驶设备 - Google Patents
定位方法、装置、电子设备、介质以及自动驾驶设备 Download PDFInfo
- Publication number
- CN116012624A CN116012624A CN202310042149.5A CN202310042149A CN116012624A CN 116012624 A CN116012624 A CN 116012624A CN 202310042149 A CN202310042149 A CN 202310042149A CN 116012624 A CN116012624 A CN 116012624A
- Authority
- CN
- China
- Prior art keywords
- key frame
- determining
- matching
- target
- matched
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000013507 mapping Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004378 air conditioning Methods 0.000 claims 1
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 238000012216 screening Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 6
- 238000000605 extraction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000036632 reaction speed Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Image Analysis (AREA)
Abstract
本公开提供了定位方法、装置、电子设备、存储介质、程序产品以及自动驾驶设备,涉及人工智能技术领域,尤其涉及自动驾驶技术领域、计算机视觉定位技术领域等。具体实现方案为:确定与目标关键帧相对应的目标对象的位置信息,目标关键帧和目标对象的位置信息是在同一时刻采集的;从多个关键帧数据库中确定与位置信息相匹配的多个候选关键帧数据库,每个关键帧数据库包括多个关键帧,每个关键帧与同一时刻采集的目标对象的位姿信息相对应,位姿信息包括位置信息;从多个候选关键帧数据库各自的多个关键帧中确定与目标关键帧相匹配的多个候选关键帧;以及基于目标关键帧和多个候选关键帧,确定目标对象在地图中的定位结果。
Description
技术领域
本公开涉及人工智能技术领域,尤其涉及自动驾驶技术领域、计算机视觉定位技术领域等。具体涉及一种定位方法、装置、电子设备、存储介质、程序产品以及自动驾驶设备。
背景技术
自动驾驶是经济发展、技术进步的重要体现。自动驾驶功能的完成主要包括环境感知、自主决策以及运动控制。环境感知包括对周围障碍物的感知以及在地图中的定位感知。自动驾驶中的环境感知能力的提升,将进一步提高自主决策以及运动控制等能力的提升。
发明内容
本公开提供了一种定位方法、装置、电子设备、存储介质、程序产品以及自动驾驶设备。
根据本公开的一方面,提供了一种定位方法,包括:确定与目标关键帧相对应的目标对象的位置信息,其中,上述目标关键帧和上述目标对象的位置信息是在同一时刻采集的;从多个关键帧数据库中确定与上述位置信息相匹配的多个候选关键帧数据库,其中,每个上述关键帧数据库包括多个关键帧,每个上述关键帧与同一时刻采集的上述目标对象的位姿信息相对应,上述位姿信息包括位置信息;从上述多个候选关键帧数据库各自的多个关键帧中确定与上述目标关键帧相匹配的多个候选关键帧;以及基于上述目标关键帧和上述多个候选关键帧,确定上述目标对象在地图中的定位结果。
根据本公开的另一方面,提供了一种定位装置,包括:第一确定模块,用于确定与目标关键帧相对应的目标对象的位置信息,其中,上述目标关键帧和上述目标对象的位置信息是在同一时刻采集的;第二确定模块,用于从多个关键帧数据库中确定与上述位置信息相匹配的多个候选关键帧数据库,其中,每个上述关键帧数据库包括多个关键帧,每个上述关键帧与同一时刻采集的上述目标对象的位姿信息相对应,上述位姿信息包括位置信息;第三确定模块,用于从上述多个候选关键帧数据库各自的多个关键帧中确定与上述目标关键帧相匹配的多个候选关键帧;以及第四确定模块,用于基于上述目标关键帧和上述多个候选关键帧,确定上述目标对象在地图中的定位结果。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与上述至少一个处理器通信连接的存储器;其中,上述存储器存储有可被上述至少一个处理器执行的指令,上述指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行如本公开的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,上述计算机指令用于使上述计算机执行如本公开的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,上述计算机程序在被处理器执行时实现如本公开的方法。
根据本公开的另一方法,提供了一种自动驾驶设备,包括如本公开的电子设备。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1示意性示出了根据本公开实施例的可以应用定位方法及装置的示例性系统架构;
图2示意性示出了根据本公开实施例的定位方法的流程图;
图3示意性示出了根据本公开实一施例的确定候选关键帧数据库的示意图;
图4示意性示出了根据本公开实施例的确定关键帧的示意图;
图5示意性示出了根据本公开另一实施例的确定候选关键帧数据库的流程图;
图6示意性示出了根据本公开实施例的确定目标对象的位姿信息的流程图;
图7示意性示出了根据本公开实施例的定位装置的框图;以及
图8示意性示出了根据本公开实施例的适于实现定位方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
本公开提供了一种定位方法、装置、电子设备、存储介质、程序产品以及自动驾驶设备。
根据本公开的实施例,提供了一种定位方法,包括:确定与目标关键帧相对应的目标对象的位置信息,目标关键帧和目标对象的位置信息是在同一时刻采集的;从多个关键帧数据库中确定与位置信息相匹配的多个候选关键帧数据库,每个关键帧数据库包括多个关键帧,每个关键帧与同一时刻采集的目标对象的位姿信息相对应,位姿信息包括位置信息;从多个候选关键帧数据库各自的多个关键帧中确定与目标关键帧相匹配的多个候选关键帧;以及基于目标关键帧和多个候选关键帧,确定目标对象在地图中的定位结果。
在本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
图1示意性示出了根据本公开实施例的可以应用定位方法及装置的示例性系统架构。
需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。例如,在另一实施例中,可以应用定位方法及装置的示例性系统架构可以包括自动驾驶设备,但自动驾驶设备可以无需与服务器进行交互,即可实现本公开实施例提供的定位方法及装置。
如图1所示,根据该实施例的系统架构100可以包括自动驾驶设备101,网络102和服务器103。网络102用以在自动驾驶设备101和服务器103之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线和/或无线通信链路等等。
自动驾驶设备101可以包括机器人、自动驾驶车辆或者其他可以自动移动、定位的设备。自动驾驶设备101上可以装载有各种数据采集设备,例如全球定位系统(GlobalPositioning System,GPS)、惯性测量单元、信息采集装置、激光传感器、距离传感器、里程计、加速度计和陀螺仪等。
服务器103可以是提供各种服务的服务器,例如对自动驾驶设备101提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的目标关键帧进行分析等处理,并将定位结果反馈给自动驾驶设备101。
需要说明的是,本公开实施例所提供的定位方法一般可以由自动驾驶设备101执行。相应地,本公开实施例所提供的定位装置也可以设置于自动驾驶设备101中。
或者,本公开实施例所提供的定位方法一般也可以由服务器103执行。相应地,本公开实施例所提供的定位装置一般可以设置于服务器103中。本公开实施例所提供的定位方法也可以由不同于服务器103且能够与自动驾驶设备101和/或服务器103通信的服务器或服务器集群执行。相应地,本公开实施例所提供的定位装置也可以设置于不同于服务器103且能够与自动驾驶设备101和/或服务器103通信的服务器或服务器集群中。
应该理解,图1中的自动驾驶设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的自动驾驶设备、网络和服务器。
应注意,以下方法中各个操作的序号仅作为该操作的表示以便描述,而不应被看作表示该各个操作的执行顺序。除非明确指出,否则该方法不需要完全按照所示顺序来执行。
图2示意性示出了根据本公开实施例的定位方法的流程图。
如图2所示,该方法包括操作S210~S240。
在操作S210,确定与目标关键帧相对应的目标对象的位置信息。目标关键帧和目标对象的位置信息是在同一时刻采集的。
在操作S220,从多个关键帧数据库中确定与位置信息相匹配的多个候选关键帧数据库。每个关键帧数据库包括多个关键帧,每个关键帧与同一时刻采集的目标对象的位姿信息相对应,位姿信息包括位置信息。
在操作S230,从多个候选关键帧数据库各自的多个关键帧中确定与目标关键帧相匹配的多个候选关键帧。
在操作S240,基于目标关键帧和多个候选关键帧,确定目标对象在地图中的定位结果。
根据本公开的实施例,目标对象可以包括自动驾驶车辆,但是并不局限于此,还可以包括机器人或者其他可自由移动的自动驾驶设备。
根据本公开的实施例,本公开实施例提供的定位方法的应用场景可以是,目标对象例如车辆进入自动泊车场景。但是并不局限于此。还可以是用户在任一时刻对目标对象启动自动驾驶模式后的场景。也可以是目标对象例如机器人开机后的场景。
根据本公开的实施例,目标关键帧可以是装载于目标对象上的信息采集装置例如摄像头或者相机的采集的。目标关键帧可以是关于环境的图像帧或者视频帧。
根据本公开的实施例,在采集目标关键帧的同时,可以利用目标对象上装载的定位装置或者里程计采集目标对象的位置信息。例如三维坐标信息。
根据本公开的实施例,可以基于目标对象的位置信息,从多个关键帧数据库中确定多个候选关键帧数据库。每个关键帧数据库中包括多个关键帧,每个关键帧与同一时刻采集的目标对象的位姿信息相对应。例如,采集该关键帧的同时,确定目标对象的位姿信息。位姿信息包括位置信息,例如三维坐标信息。但是并不局限于此。位姿信息还可以包括姿态信息。例如,横摆(yaw)、俯仰(pitch)和侧倾(roll)。
根据本公开的实施例,可以利用视觉SLAM(Simultaneous Localization AndMapping,即时定位与地图构建)技术,基于多个候选关键帧数据库中的多个关键帧生成三维点云类型的地图。但是并不局限于此。只要是预先生成的高精地图即可。可以基于目标关键帧和多个候选关键帧,从地图中确定目标对象的定位结果。
根据本公开的实施例,从多个候选关键帧数据库中确定与定位关键帧相匹配的候选关键帧,能够缩小候选关键帧的确定范围,提高匹配速度,进而提高定位速度。由此可以使得目标对象的反应速度加快,提高用户体验。
根据相关示例,可以仅设置一个关键帧数据库,关键帧数据库的关键帧的数量不做限定。在确定目标关键帧的情况下,将目标关键帧与关键帧数据库中的多个关键帧分别进行匹配,得到与目标关键帧相匹配的多个候选关键帧。基于目标关键帧和多个候选关键帧,确定目标对象在地图中的定位结果。
与仅利用一个关键帧数据库的定位方法相比,利用本公开实施例提供的定位方法,可以按照位姿信息将多个关键帧分别划分至多个关键帧数据库中,便于利用位置信息从多个关键帧数据库中确定候选关键帧数据库,进而降低匹配、定位的数据处理量。也避免了在环境中重复因素较多例如停车场中多个停车位较相似的情况下,匹配误差大容易发生错误定位的问题。
根据本公开的实施例,在执行针对如图2所示的操作S210之前,定位方法还可以包括:生成多个关键帧数据库。
根据本公开的实施例,生成多个关键帧数据库可以包括:确定关键帧和与关键帧相对应的目标对象的位姿信息。将关键帧和位姿信息添加至关键帧集合中。在确定关键帧集合中的关键帧数量满足预定数量阈值的情况下,基于关键帧集合,生成关键帧数据库。
根据本公开的实施例,关键帧可以指视频帧或者图像帧。与关键帧相对应的目标对象的位姿信息,可以指与采集关键帧同一时刻采集得到的位姿信息。
根据本公开的实施例,可以将关键帧添加至关键帧集合中,但是并不局限于此,还可以将关键帧和位姿信息添加至关键帧集合中。将关键帧和位姿信息添加至关键帧集合中,能够保证关键帧集合中的多个关键帧彼此之间距离满足预定距离阈值,关键帧集合中的多个关键帧是与预定长度的路段的环境相关的关键帧。
根据本公开的实施例,在确定关键帧集合中的关键帧数量满足预定数量阈值的情况下,可以停止向该关键帧集合中添加关键帧。基于关键帧集合,生成关键帧数据库。以此类推,可以得到多个关键帧数据库。
根据本公开的实施例,基于关键帧集合,生成关键帧数据库,可以包括:利用特征提取方法提取关键帧中的特征点。特征点包括特征点二维位置信息和特征点的描述子。可以基于特征点的描述子,生成关键帧数据库。
根据本公开的实施例,特征提取方法可以包括以下至少一项:ORB特征提取方法(Oriented FAST and Rotated BRIEF,快速特征点提取和描述算法)、SURF(Speeded-UpRobust Features,加速鲁棒特征)、SIFT(Scale Invariant Feature Transform,尺度不变特征变换算法)、PCA-SIFT(Principal Component Analysis SIFT,主成分分析SIFT)、FAST(Features from Accelerated Segment Test,来自加速段测试的特征)。
根据本公开的实施例,基于与关键帧相对应的目标对象的位姿信息和关键帧,生成关键帧集合。基于关键帧集合,生成多个关键帧数据库。使得表征环境信息的多个关键帧基于目标对象的位置信息被分别拆分至多个关键帧数据库,进而有利于利用与目标关键帧相对应的目标对象的位置信息,从多个关键帧数据库中确定与目标关键帧相匹配的候选关键帧数据库,简化后续处理,提高匹配效果。
根据本公开的实施例,针对如图2所示的操作S220,基于目标关键帧的位置信息,从多个关键帧数据库中确定与位置信息相匹配的多个候选关键帧数据库,可以包括:基于关键帧数据库与位置信息之间的映射关系和位置信息,从多个关键帧数据库中确定与位置信息相匹配的多个候选关键帧数据库。
根据本公开的实施例,关键帧数据库与位置信息之间的映射关系是基于与关键帧数据库中的多个关键帧各自相对应的目标对象的位姿信息生成的。
根据本公开的实施例,生成关键帧数据库与位置信息之间的映射关系,可以包括:基于与关键帧数据库中的多个关键帧各自相对应的目标对象的位姿信息例如三维坐标信息,生成关键帧数据库涉及的轨迹信息。基于关键帧数据库涉及的轨迹信息和关键帧数据库,生成关键帧数据库与位置信息之间的映射关系。例如,每个关键帧与同一时刻采集的目标对象的位姿信息相对应,关键帧数据库中的多个关键帧彼此之间为按照时序采集的,则与多个关键帧一一对应的多个目标对象的位姿信息,可以表征多个轨迹点信息,将多个轨迹点信息按照时序连接起来,得到与关键帧数据库相对应的轨迹信息。
根据本公开的实施例,基于关键帧数据库与位置信息之间的映射关系和目标对象的位置信息,从多个关键帧数据库中确定与位置信息相匹配的多个候选关键帧数据库,可以包括:确定映射关系中的关键帧数据库涉及的轨迹信息和与目标关键帧相对应的目标对象的位置信息之间的距离差值,在距离差值小于或者等于预定距离差值阈值的情况下,将映射关系中的轨迹信息作为目标轨迹信息。将与目标位置信息相映射的关键帧数据库作为候选关键帧数据库。
根据本公开的实施例,利用映射关系和位置信息来确定候选关键帧数据库,确定方式简单、快速,提高处理效率。
图3示意性示出了根据本公开实施例的确定候选关键帧数据库的示意图。
如图3所示,目标对象310位于位置A。关键帧数据库A与轨迹A之间存在映射关系。关键帧数据库B与轨迹B之间存在映射关系。关键帧数据库C与轨迹C之间存在映射关系。关键帧数据库D与轨迹D之间存在映射关系。可以基于位置A、轨迹A、轨迹B、轨迹C以及轨迹D,确定位置A与轨迹A之间的垂直距离小于预定距离差值阈值,确定位置A与轨迹C之间的垂直距离小于预定距离差值阈值。将与轨迹A存在映射关系的关键帧数据库,以及与轨迹C存在映射关系的关键帧数据库作为候选关键帧数据库。
根据本公开的实施例,可以将信息采集装置采集的视频中的所有视频帧全部作为关键帧,也可以按照视频帧的序列号,从视频中抽取多个视频帧,作为关键帧。还可以将视频中的多个视频帧分别作为待确认关键帧,通过预定关键帧条件进行筛选,将符合预定关键帧条件的待确认关键帧作为关键帧。
例如,确定关键帧,可以包括:获取待确认关键帧。在确定待确认关键帧符合预定关键帧条件的情况下,将待确认关键帧作为关键帧。
根据本公开的实施例,对多个待确认关键帧进行筛选,将符合预定关键帧条件的待确认关键帧作为关键帧,能够使得关键帧数据库中的数据具有代表性,便于后续重定位,提高重定位效果。
根据本公开的实施例,预定关键帧条件包括以下至少一项:图像质量条件、三角化匹配点数量条件、距离差值条件、角度差值条件。
根据本公开的实施例,图像质量条件可以包括:图像质量分值大于预定图像质量阈值。在确定待确认关键帧的图像质量分值大于预定图像质量阈值的情况下,确定待确认关键帧的图像质量符合图像质量条件。
根据本公开的实施例,可以利用DCT(Discrete Cosine Transforme,离散余弦变换)对待确认关键帧进行图像质量评价,得到图像质量分值。但是并不局限于此。只要是本领域对图像质量进行评价的方法即可。
根据本公开的实施例,三角化匹配点数量条件可以包括:三角化匹配点数量大于预定三角化匹配点数量阈值。在确定对待确认关键帧的三角化数据和上一时刻关键帧的三角化数据之间的三角化匹配点数量大于预定三角化匹配点数量阈值的情况下,确定待确认关键帧的三角化数据与上一时刻关键帧的三角化数据之间的三角化匹配点数量符合三角化匹配点数量条件。
根据本公开的实施例,可以利用线性三角形法(Linear Triangulation Methods)对待确认关键帧的三角化数据和上一时刻关键帧的三角化数据进行匹配,确定对待确认关键帧的三角化数据和上一时刻关键帧的三角化数据之间的三角化匹配点数量。但是并不局限于此。只要是本领域确定三角化匹配点数量的方法即可。
根据本公开的实施例,距离差值条件可以包括:距离差值大于预定距离差值阈值。在确定与待确认关键帧相对应的目标对象的位置信息和与上一时刻关键帧相对应的目标对象的位置信息之间的距离差值大于预定距离差值阈值的情况下,确定与待确认关键帧相对应的目标对象的位置信息和与上一时刻关键帧相对应的目标对象的位置信息之间的距离差值符合预定距离差值条件。
根据本公开的实施例,与待确认关键帧相对应的目标对象的位置信息可以指:与采集待确认关键帧同一时刻,采集得到的目标对象的位置信息。
根据本公开的实施例,位置信息可以通过定位系统例如GPS(Global PositioningSystem,全球定位系统)和里程计结合确定位置信息。基于两个位置信息之差确定距离差值。但是并不局限于此。还可以利用惯性传感器和码盘等器件,直接确定两个位置信息之间的距离差值。
根据本公开的实施例,角度差值条件可以包括:角度差值大于预定角度差值阈值。在与待确认关键帧相对应的目标对象的角度信息和与上一时刻关键帧相对应的目标对象的角度信息之间的角度差值大于预定角度差值阈值的情况下,确定与待确认关键帧相对应的目标对象的角度信息和与上一时刻关键帧相对应的目标对象的角度信息之间的角度差值符合角度差值条件。
根据本公开的实施例,与待确认关键帧相对应的目标对象的角度信息可以指:在采集待确认关键帧的同一时刻,采集得到的目标对象的角度信息。
根据本公开的实施例,可以利用陀螺仪确定目标对象的角速度,利用加速度计获取目标对象的加速度。利用陀螺仪、加速度计中的一种或多种器件确定采集与待确认关键帧相对应的目标对象的角度信息。
根据本公开的实施例,预定关键帧条件包括图像质量条件、三角化匹配点数量条件、距离差值条件、角度差值条件中的至少两种。在此情况下,可以同时执行确定是否满足上述多个筛选条件的操作,在同时满足多个筛选条件的情况下,确定待确认关键帧满足预定关键帧条件。但是并不局限于此。还可以对多个筛选条件进行排序,按照先后顺序执行确定是否满足筛选条件的操作,在依次满足多个筛选条件的情况下,确定待确认关键帧满足预定关键帧条件。
根据本公开的实施例,利用上述预定关键帧条件对待确认关键帧进行筛选,能够使得关键帧的特征稳定,利用该关键帧进行定位例如重定位,能够使得定位准确。
图4示意性示出了根据本公开实施例的确定关键帧的流程图。
如图4所示,确定关键帧可以包括操作S410~S460。
在操作S410,确定待确认关键帧的图像质量是否符合图像质量条件。在确定待确认关键帧的图像质量符合图像质量条件的情况下,执行操作S420。否则,执行操作S460。
在操作S420,确定待确认关键帧的三角化数据是否符合三角化匹配点数量条件。在确定待确认关键帧的三角化数据与上一时刻关键帧的三角化数据之间的三角化匹配点数量符合三角化匹配点数量条件的情况下,执行操作S430。否则,执行操作S460。
在操作S430,确定与待确认关键帧相对应的目标对象的位置信息是否符合距离差值条件。在确定与待确认关键帧相对应的目标对象的位置信息和与上一时刻关键帧相对应的目标对象的位置信息之间的距离差值符合预定距离差值条件的情况下,执行操作S440。否则,执行操作S460。
在操作S440,确定与待确认关键帧相对应的目标对象的角度信息是否符合角度差值条件。在确定待确认关键帧相对应的目标对象的角度信息和与上一时刻关键帧相对应的目标对象的角度信息之间的角度差值符合角度差值条件的情况下,执行操作S450。否则,执行操作S460。
在操作S450,将待确认关键帧作为关键帧。
在操作S460,停止操作。
根据本公开的实施例,能够结合实际操作,将多个筛选操作进行合理排序,利用上述确定关键帧的筛选操作,能够提高筛选效率的同时,提高筛选精度。
根据本公开的实施例,在针对如图2所示的操作S210之前,定位方法还可以包括操作:获取初始目标关键帧。在确定初始目标关键帧符合预定关键帧条件的情况下,将初始目标关键帧作为目标关键帧。
根据本公开的实施例,初始目标关键帧可以指视频帧或者图像帧。可以将采集到的初始目标关键帧作为目标关键帧,但是并不局限于此,还可以对初始目标关键帧进行筛选,确定初始目标关键帧是否符合预定关键帧条件,在确定初始目标关键帧符合预定关键帧条件的情况下,将初始目标关键帧作为目标关键帧,进行后续的定位操作。在确定初始目标关键帧不符合预定关键帧条件的情况下,可以将初始目标关键帧删除,停止后续操作。
根据本公开的实施例,确定初始目标关键帧是否符合预定关键帧条件的筛选操作与确定待确认关键帧是否符合预定关键帧条件的筛选操作类似,在此不再赘述。
根据本公开的实施例,利用本公开实施例提供的确定初始目标关键帧是否为目标关键帧的操作,能够使得初始目标关键帧具有代表性和稳定性,由此利用目标关键帧来进行定位操作,提高定位结果的准确性和有效性。
根据本公开的实施例,针对如图2所示的操作S230,从多个候选关键帧数据库各自的多个关键帧中确定与目标关键帧相匹配的多个候选关键帧,可以包括如下操作。
例如,针对每个候选关键帧数据库,确定候选关键帧数据库的多个关键帧各自与目标关键帧之间的匹配度,得到匹配度列表。基于多个匹配度列表,从多个候选关键帧数据库中确定与目标关键帧相匹配的多个候选关键帧。
根据本公开的实施例,确定候选关键帧数据库中的多个关键帧各自与目标关键帧之间的匹配度,可以包括:针对每个关键帧,提取关键帧的描述子。提取目标关键帧的描述子。基于关键帧的描述子和目标关键帧的描述子,确定关键帧与目标关键帧之间的匹配度。
根据本公开的实施例,关键帧的特征点可以指关键帧的局部特征,具有旋转、尺寸缩放、亮度变换保持不变性的特性。描述子可以是基于特征点确定的矢量表示,例如可以理解为关键帧中与特征点相对应的描述子。
例如,可以利用特征向量相似度确定方式确定关键帧和目标关键帧之间的匹配度。匹配度可以是欧式距离或者马氏距离等。
根据本公开的另一实施例,确定候选关键帧数据库中的多个关键帧各自与目标关键帧之间的匹配度,还可以包括:针对每个关键帧,提取关键帧的特征点,得到特征点集合。对特征点集合进行聚类,每个聚类中心对应一个视觉单词,生成视觉词典(Bag of words)。基于视觉词典,确定多个关键帧各自的视觉单词权重向量例如词典表示。基于多个关键帧各自的词典表示和目标关键帧的词典表示,确定匹配度。该匹配度例如可以是汉明距离。
根据本公开的实施例,基于多个匹配度列表,从多个候选关键帧数据库中确定与目标关键帧相匹配的多个候选关键帧,包括:针对每个候选关键帧数据库,基于与候选关键帧数据库相匹配的匹配度列表,从候选关键帧数据库中确定预定数量的候选关键帧。基于每个候选关键帧数据库中的预定数量的候选关键帧,确定多个候选关键帧。
根据本公开的实施例,匹配度列表可以是按照由高到低顺序排列多个匹配度得到的。可以从匹配度列表中确定排在首位的预定数量的关键帧作为候选关键帧。候选关键帧的匹配度相对于候选关键帧数据库中的除候选关键帧外的关键帧的匹配度高。
根据本公开的实施例,可以将多个候选关键帧数据库各自的预定数量的候选关键帧组合,得到多个候选关键帧。
例如,多个候选关键帧数据库包括候选关键帧数据库A、候选关键帧数据库B和候选关键帧数据库C。确定候选关键帧数据库A中的匹配度靠前的K个关键帧作为候选关键帧A-A。确定候选关键帧数据库B中的匹配度靠前的K个关键帧作为候选关键帧B-B。确定候选关键帧数据库C中的匹配度靠前的K个关键帧作为候选关键帧C-C。K个候选关键帧A-A、K个候选关键帧B-B和K个候选关键帧C-C组成多个候选关键帧。
根据本公开的实施例,利用上述方式确定候选关键帧,能够保证在候选关键帧数量多、范围广的同时,将匹配度低的噪声关键帧删除,从而降低处理量,提高处理效率。
根据本公开的实施例,基于与候选关键帧数据库相匹配的匹配度列表,从候选关键帧数据库中确定预定数量的候选关键帧,可以包括:在确定与候选关键帧数据库相匹配的匹配度列表为预定类型的匹配度列表的情况下,基于匹配度列表,从候选关键帧数据库中确定预定数量的候选关键帧。
根据本公开的实施例,预定类型的匹配度列表可以指:匹配度列表中的多个匹配度的平均值大于预定平均值阈值。但是并不局限于此。还可以指匹配度列表中的多个匹配度彼此之间均匀。只要是能够利用预定类型来对多个候选关键帧数据库进行筛选即可。
根据本公开的实施例,可以在确定与候选关键帧数据库相匹配的匹配度列表为预定类型的匹配度列表的情况下,从候选关键帧数据库中确定预定数量的候选关键帧。在确定与候选关键帧数据库相匹配的匹配度列表为非预定类型的匹配度列表的情况下,将该候选关键帧数据库删除,停止操作。
例如,多个候选关键帧数据库包括候选关键帧数据库A、候选关键帧数据库B、候选关键帧数据库C和候选关键帧数据库D。基于匹配度列表,确定候选关键帧数据库A、候选关键帧数据库B和候选关键帧数据库C各自的匹配度列表为预定类型的匹配度列表。可以将候选关键帧数据库D删除。从候选关键帧数据库A、候选关键帧数据库B和候选关键帧数据库C中分别确定预定数量的候选关键帧。
根据本公开的实施例,利用上述方式,能够利用位置信息对多个关键帧数据库进行首轮次筛选,利用匹配度列表对多个关键帧数据库进行再轮次筛选,从而提高筛选效率,为后续精准重定位提供数据基础。
根据本公开的实施例,基于与候选关键帧数据库相匹配的匹配度列表,从候选关键帧数据库中确定预定数量的候选关键帧,还可以包括:确定匹配度列表是否为预定类型的匹配度列表。
根据本公开的实施例,在将匹配度列表中的多个匹配度彼此之间均匀确定为预定类型的匹配度列表的情况下,确定匹配度列表是否为预定类型的匹配度列表,可以包括:确定匹配度列表中的多个匹配度彼此之间的差值,得到多个差值。在确定多个差值均小于或者等于预定差值阈值的情况下,将匹配度列表确定为预定类型的匹配度列表。在确定多个差值中存在大于预定差值阈值的情况下,将匹配度列表确定为非预定类型的匹配度列表。
根据本公开的实施例,关键帧数据库中的多个关键帧彼此之间位置相邻或者相近,多个关键帧各自的特征点相似度较高,则多个关键帧彼此之间的匹配度较高。在此情况下,多个关键帧各自与待确认关键帧之间的匹配度将比较均匀例如匹配度差值变化不大。在出现两个匹配度之间的差值大于预定差值阈值的情况下,可以说明该关键帧数据库中的多个关键帧各自与待确认关键帧之间的匹配度的置信度不高,可舍弃,停止操作。
根据本公开的实施例,利用关键帧数据库中的多个关键帧彼此之间的特征点相似度较高的特性,能够通过匹配度差值确定匹配度置信度较高的关键帧数据库。该种确定方式与实际相结合,能够简化筛选操作,提高处理效率的同时,提高确定候选关键帧的精度。
图5示意性示出了根据本公开实施例的确定候选关键帧数据库的流程图。
如图5所示,确定候选关键帧包括操作S510~操作S550。
在操作S510,从多个关键帧数据库中确定与位置信息相匹配的多个候选关键帧数据库。
在操作S520,针对每个候选关键帧数据库,确定候选关键帧数据库的多个关键帧各自与目标关键帧之间的匹配度,得到匹配度列表。
在操作S530,确定候选关键帧数据库的匹配度列表是否为预定类型的匹配度列表。在确定与候选关键帧数据库相匹配的匹配度列表为预定类型的匹配度列表的情况下,执行操作S540。否则,执行操作S550。
在操作S540,基于匹配度列表,从候选关键帧数据库中确定预定数量的候选关键帧。
在操作S550,删除候选关键帧数据库。
根据本公开的实施例,针对如图2所示的操作S240,基于目标关键帧和多个候选关键帧,确定目标对象在地图中的定位结果,可以包括如下操作。
例如,针对每个候选关键帧,从地图中确定与候选关键帧相匹配的待匹配三维点云,得到与多个候选关键帧一一对应的多个待匹配三维点云。基于目标关键帧和多个待匹配三维点云,确定目标对象在地图中的位姿信息,将位姿信息作为定位结果。
根据本公开的实施例,地图可以是生成关键帧数据库的同时生成的地图。例如在确定多个候选关键帧的情况下,基于多个候选关键帧生成的。
根据本公开的实施例,可以利用装载于目标对象上的信息采集装置采集与环境相关的视频帧。与此同时,利用装载于目标对象上的传感器例如惯性传感器、陀螺仪、里程计等确定与视频帧相对应的目标对象的位姿信息。基于目标对象的位姿信息和视频帧的特征点跟踪信息,生成地图。
根据本公开的实施例,与候选关键帧相匹配的待匹配三维点云可以包括:与候选关键帧相对应的三维点云,和与候选关键帧相邻的多个视频帧相对应的三维点云。但是并不局限于此。还可以是与候选关键帧相对应的三维点云,以及与候选关键帧相邻的多个候选关键帧相对应的三维点云。
根据本公开的实施例,基于目标关键帧和多个待匹配三维点云,确定目标对象在地图中的位姿信息,可以包括:基于目标关键帧的二维(2Dimensions,2D)特征点和空间中的三维(3Dimensions,3D)特征点进行匹配,利用随机抽样一致性算法(Random SampleConsensus,RANSAC)和PnP(Perspective-n-Point)算法,确定目标对象在地图中的位姿信息。但是并不局限于此。还可以利用二维最邻近迭代算法,单应矩阵算法等确定目标对象在地图中的位姿信息。只要是能够基于目标关键帧和多个待匹配三维点云,确定位姿信息的方法即可。
根据本公开的实施例,与确定候选关键帧结合,确定候选关键帧可定义为对目标对象的粗定位,确定目标对象在地图中的位姿信息相当于对目标对象的精细定位。因候选关键帧是通过多轮筛选确定的,基于候选关键帧确定的待匹配三维点云,能够提高确定位姿信息的准确性和精度。
根据本公开的实施例,基于目标关键帧和多个待匹配三维点云,确定目标对象在地图中的位姿信息,可以包括如下操作。
例如,针对每个待匹配三维点云,确定目标关键帧与待匹配三维点云之间的匹配结果。基于匹配结果,确定与待匹配三维点云相对应的内点数量。基于多个内点数量和多个匹配度,从多个匹配结果中确定目标匹配结果。匹配度为与待匹配三维点云相对应的候选关键帧与目标关键帧之间的匹配度。基于目标匹配结果,确定位姿信息。
根据本公开的实施例,匹配结果可以包括:目标关键帧的多个特征点与待匹配三维点云中的多个特征点之间存在匹配关系的二维特征点-三维特征点对。
根据本公开的实施例,基于目标匹配结果,确定位姿信息,可以包括:基于二维特征点的二维位置坐标和与二维特征点相匹配的三维特征点的空间位置坐标,确定目标对象相对于与目标关键帧相匹配的三维点云的空间旋转参数和空间平移参数。基于空间旋转参数和空间平移参数,确定目标对象在地图中的位姿信息。
根据本公开的实施例,可以将待匹配关键帧中的多个目标特征点进行投影,得到与多个特征点各自相匹配的投影点的三维空间坐标。确定投影点的三维空间坐标和地图中的与目标特征点属于二维特征点-三维特征点对匹配关系的三维特征点的三维空间坐标之间的距离。确定该距离是否小于或者等于预定距离阈值。若距离小于或者等于预定距离阈值,则确定该目标特征点为内点。否则,确定该目标特征点为外点。
根据本公开的实施例,确定多个目标特征点中属于内点的数量,作为内点数量。可以基于多个内点数量,从多个匹配结果中确定目标匹配结果。但是并不局限于此。还可以基于内点数量和匹配度,从多个匹配结果中确定目标匹配结果。
根据本公开的实施例,基于内点数量和匹配度,可以从多个方面不同角度综合确定多个匹配结果中的目标匹配结果,进而使得拟合程度高,位姿信息估计佳,目标匹配结果精准。
根据本公开的实施例,基于多个内点数量和多个匹配度,从多个匹配结果中确定目标匹配结果,可以包括:基于多个内点数量,从多个匹配结果中确定初始目标匹配结果。在确定与初始目标匹配结果相对应的内点数量和匹配度均符合预定匹配条件的情况下,将初始目标匹配结果作为目标匹配结果。
根据本公开的实施例,基于多个内点数量,从多个匹配结果中确定初始目标匹配结果,可以包括:多个内点数量与多个匹配结果一一对应。将与最高的内点数量相对应的匹配结果,作为初始目标匹配结果。
根据本公开的实施例,可以直接将初始目标匹配结果作为目标匹配结果。但是并不局限于此。还可以基于内点数量以及匹配度,在确定内点数量以及匹配度均符合预定匹配条件的情况下,将初始目标匹配结果作为目标匹配结果。可以使得目标匹配结果精准、有效。
根据本公开的实施例,基于目标关键帧和多个待匹配三维点云,确定目标关键帧在地图中的位姿信息,还可以包括操作:确定内点数量是否符合预定匹配条件。确定匹配度是否符合预定匹配条件。
根据本公开的实施例,内点数量是否符合预定匹配条件可以包括:在确定待匹配三维点云的内点数量为多个内点数量中数量最大的情况下,确定内点数量符合预定匹配条件。在确定待匹配三维点云的内点数量不为多个内点数量中数量最大的情况下,确定内点数量不符合预定匹配条件。多个内点数量与多个候选关键帧一一对应。
根据本公开的实施例,匹配度是否符合预定匹配条件可以包括:在确定待匹配三维点云的匹配度为多个匹配度中匹配度最大的情况下,确定匹配度符合预定匹配条件。在确定待匹配三维点云的匹配度不为多个匹配度中匹配度最大的情况下,确定匹配度不符合预定匹配条件。多个匹配度与多个候选关键帧一一对应。
根据本公开的实施例,在确定内点数量和匹配度中的至少一项存在不符合预定匹配条件的情况下,可以确定定位操作失败。重新采集目标关键帧。基于更新后的目标关键帧,执行本公开实施例提供的定位方法,得到定位结果。但是并不局限于此。还可以扩大待匹配三维点云的数据范围,基于更新的待匹配三维点云,执行本公开实施例提供的确定目标关键帧与更新的待匹配三维点云之间的匹配结果的操作。
根据本公开的实施例,利用匹配度和内点数量同时对目标匹配结果进行把控,将内点数量最大的且匹配度最高的初始目标匹配结果作为目标匹配结果,能够提高确定目标对象的位姿信息的精度。
根据本公开的示例性实施例,基于目标关键帧和多个待匹配三维点云,确定目标对象在地图中的位姿信息,包括如下操作:
重复执行下述操作,直至内点数量和匹配度均符合预定匹配条件:
针对每个待匹配三维点云,确定目标关键帧与待匹配三维点云之间的匹配结果。基于匹配结果,确定与待匹配三维点云相对应的内点数量。基于多个内点数量和多个匹配度,从多个匹配结果中确定初始目标匹配结果。匹配度为与待匹配三维点云相对应的候选关键帧与目标关键帧之间的匹配度。在确定与初始目标匹配结果相对应的内点数量和匹配度存在至少一个不符合预定匹配条件的情况下,针对每个候选关键帧,从地图中确定与候选关键帧相匹配的更新后待匹配三维点云,得到与多个候选关键帧一一对应的多个更新后待匹配三维点云。更新后待匹配三维点云的数据范围大于待匹配三维点云的数据范围。
基于目标匹配结果,确定位姿信息。
图6示意性示出了根据本公开实施例的确定目标对象的位姿信息的流程图。
如图6所示,包括操作S610~操作S620。
在操作S610,包括子操作S611~子操作S615。
在操作S611,针对每个待匹配三维点云,确定目标关键帧与待匹配三维点云之间的匹配结果。
在操作S612,基于匹配结果,确定与待匹配三维点云相对应的内点数量。
在操作S613,基于多个内点数量和多个匹配度,从多个匹配结果中确定初始目标匹配结果。
在操作S614,确定与初始目标匹配结果相对应的内点数量和匹配度是否均符合预定匹配条件。在确定与初始目标匹配结果相对应的内点数量和匹配度存在至少一个不符合预定匹配条件的情况下,执行操作S615。在确定与初始目标匹配结果相对应的内点数量和匹配度均符合预定匹配条件的情况下,执行操作S620。
根据本公开的实施例,匹配度为与待匹配三维点云相对应的候选关键帧与目标关键帧之间的匹配度。
在操作S615,针对每个候选关键帧,从地图中确定与候选关键帧相匹配的更新后待匹配三维点云,得到与多个候选关键帧一一对应的多个更新后待匹配三维点云。将更新后待匹配三维点云作为待匹配三维点云,重复执行操作S611~操作S614。
在操作S620,基于目标匹配结果,确定位姿信息。
根据本公开的实施例,更新后待匹配三维点云的数据范围大于待匹配三维点云的数据范围。
例如,待匹配三维点云的数据范围可以包括:与候选关键帧相对应的第一三维点云,和与候选关键帧相邻的P个视频帧相对应的第二三维点云,将第一三维点云和第二三维点云作为待匹配三维点云的数据范围。
还例如,更新后待匹配三维点云可以包括:与候选关键帧相对应的第一三维点云,和与候选关键帧相邻的K个视频帧相对应的第三三维点云,将第一三维点云和第三三维点云作为待匹配三维点云的数据范围。
根据本公开的实施例,K为大于P的整数。
根据本公开的实施例,可以重复执行操作上述操作,直至与初始目标匹配结果相对应的内点数量和匹配度均符合预定匹配条件。但是并不局限于此。还可以为重复操作设置具体次数,在达到上述重复次数后,若与初始目标匹配结果相对应的内点数量和匹配度仍存在至少一个不符合预定匹配条件,则确定上述定位方法失败。重新采集目标关键帧。基于更新后的目标关键帧,执行本公开实施例提供的定位方法,得到定位结果。
根据本公开的实施例,利用扩大待匹配三维点云的数据范围,来提高确定的位姿信息的精度,能够保证目标对象的定位结果的准确性,进而提高目标对象在自动驾驶过程中的安全性。
利用本公开实施例提供的定位方法,能够应用于目标对象的自动泊车场景中,例如泊入或者泊出等场景。利用本公开实施例提供的定位方法,能够对目标对象进行全局重定位,确定当前时刻目标对象在地图中的位姿信息,以便基于该位姿信息进入自动驾驶模式。利用本公开实施例提供的定位方法,降低了全局重定位的耗时的同时,提高了准确性。能够使得目标对象快速地进入自动驾驶模式。
图7示意性示出了根据本公开实施例的定位装置的框图。
如图7所示,定位装置700,包括:第一确定模块710、第二确定模块720、第三确定模块730以及第四确定模块740。
第一确定模块710,用于确定与目标关键帧相对应的目标对象的位置信息。目标关键帧和目标对象的位置信息是在同一时刻采集的。
第二确定模块720,用于从多个关键帧数据库中确定与位置信息相匹配的多个候选关键帧数据库,其中,每个关键帧数据库包括多个关键帧,每个关键帧与同一时刻采集的目标对象的位姿信息相对应,位姿信息包括位置信息。
第三确定模块730,用于从多个候选关键帧数据库各自的多个关键帧中确定与目标关键帧相匹配的多个候选关键帧。
第四确定模块740,用于基于目标关键帧和多个候选关键帧,确定目标对象在地图中的定位结果。
根据本公开的实施例,定位装置还包括:第五确定模块、添加模块以及第一生成模块。
第五确定模块,用于确定关键帧和与关键帧相对应的目标对象的位姿信息。
添加模块,用于将关键帧和位姿信息添加至关键帧集合中。
第一生成模块,用于在确定关键帧集合中的关键帧数量满足预定数量阈值的情况下,基于关键帧集合,生成关键帧数据库。
根据本公开的实施例,第二确定模块包括:第一确定子模块。
第一确定子模块,用于基于关键帧数据库与位置信息之间的映射关系和位置信息,从多个关键帧数据库中确定与位置信息相匹配的多个候选关键帧数据库,其中,关键帧数据库与位置信息之间的映射关系是基于与关键帧数据库中的多个关键帧各自相对应的目标对象的位姿信息生成的。
根据本公开的实施例,第三确定模块包括:第二确定子模块以及第三确定子模块。
第二确定子模块,用于针对每个候选关键帧数据库,确定候选关键帧数据库的多个关键帧各自与目标关键帧之间的匹配度,得到匹配度列表。
第三确定子模块,用于基于多个匹配度列表,从多个候选关键帧数据库中确定与目标关键帧相匹配的多个候选关键帧。
根据本公开的实施例,第三确定子模块包括:第一确定单元以及第二确定单元。
第一确定单元,用于针对每个候选关键帧数据库,基于与候选关键帧数据库相匹配的匹配度列表,从候选关键帧数据库中确定预定数量的候选关键帧。
第二确定单元,用于基于每个候选关键帧数据库中的预定数量的候选关键帧,确定多个候选关键帧。
根据本公开的实施例,第一确定单元包括:第一确定子单元。
第一确定子单元,用于在确定与候选关键帧数据库相匹配的匹配度列表为预定类型的匹配度列表的情况下,基于匹配度列表,从候选关键帧数据库中确定预定数量的候选关键帧。
根据本公开的实施例,第一确定单元还包括:第二确定子单元以及第三确定子单元。
第二确定子单元,用于确定匹配度列表中的多个匹配度彼此之间的差值,得到多个差值。
第三确定子单元,用于在确定多个差值均小于或者等于预定差值阈值的情况下,将匹配度列表确定为预定类型的匹配度列表。
根据本公开的实施例,第四确定模块包括:第四确定子模块以及第五确定子模块。
第四确定子模块,用于针对每个候选关键帧,从地图中确定与候选关键帧相匹配的待匹配三维点云,得到与多个候选关键帧一一对应的多个待匹配三维点云。
第五确定子模块,用于基于目标关键帧和多个待匹配三维点云,确定目标对象在地图中的位姿信息,将位姿信息作为定位结果。
根据本公开的实施例,第五确定子模块包括:第三确定单元、第四确定单元、第五确定单元以及第六确定单元。
第三确定单元,用于针对每个待匹配三维点云,确定目标关键帧与待匹配三维点云之间的匹配结果。
第四确定单元,用于基于匹配结果,确定与待匹配三维点云相对应的内点数量。
第五确定单元,用于基于多个内点数量和多个匹配度,从多个匹配结果中确定目标匹配结果,其中,匹配度为与待匹配三维点云相对应的候选关键帧与目标关键帧之间的匹配度。
第六确定单元,用于基于目标匹配结果,确定位姿信息。
根据本公开的实施例,第五确定单元包括:第四确定子单元以及第五确定子单元。
第四确定子单元,用于基于多个内点数量,从多个匹配结果中确定初始目标匹配结果。
第五确定子单元,用于在确定与初始目标匹配结果相对应的内点数量和匹配度均符合预定匹配条件的情况下,将初始目标匹配结果作为目标匹配结果。
根据本公开的实施例,第五确定子模块包括:第七确定单元、第八确定单元、第九确定单元、第十确定单元以及第十一确定单元。
重复执行下述操作,直至内点数量和匹配度均符合预定匹配条件:
第七确定单元,用于针对每个待匹配三维点云,确定目标关键帧与待匹配三维点云之间的匹配结果。
第八确定单元,用于基于匹配结果,确定与待匹配三维点云相对应的内点数量。
第九确定单元,用于基于多个内点数量和多个匹配度,从多个匹配结果中确定初始目标匹配结果。匹配度为与待匹配三维点云相对应的候选关键帧与目标关键帧之间的匹配度。
第十确定单元,用于在确定与初始目标匹配结果相对应的内点数量和匹配度存在至少一个不符合预定匹配条件的情况下,针对每个候选关键帧,从地图中确定与候选关键帧相匹配的更新后待匹配三维点云,得到与多个候选关键帧一一对应的多个更新后待匹配三维点云。更新后待匹配三维点云的数据范围大于待匹配三维点云的数据范围。
第十一确定单元,用于基于目标匹配结果,确定位姿信息。
根据本公开的实施例,第五确定子模块还包括:第十二确定单元以及第十三确定单元。
第十二确定单元,用于在确定待匹配三维点云的匹配度为多个匹配度中匹配度最大的情况下,确定匹配度符合预定匹配条件。
第十三确定单元,用于在确定待匹配三维点云的内点数量为多个内点数量中数量最大的情况下,确定内点数量符合预定匹配条件。
根据本公开的实施例,第五确定模块包括:获取子模块以及第六确定子模块。
获取子模块,用于获取待确认关键帧。
第六确定子模块,用于在确定待确认关键帧符合预定关键帧条件的情况下,将待确认关键帧作为关键帧。
根据本公开的实施例,定位装置还包括:获取模块以及第六确定模块。
获取模块,用于获取初始目标关键帧。
第六确定模块,用于在确定初始目标关键帧符合预定关键帧条件的情况下,将初始目标关键帧作为目标关键帧。
根据本公开的实施例,预定关键帧条件包括以下至少一项:图像质量条件、三角化匹配点数量条件、距离差值条件、角度差值条件。
根据本公开的实施例,第六确定子模块包括:第十四确定单元、第十五确定单元以及第十六确定单元。
第十四确定单元,用于在确定待确认关键帧的图像质量符合图像质量条件的情况下,确定待确认关键帧的三角化数据。
第十五确定单元,用于在确定待确认关键帧的三角化数据与上一时刻关键帧的三角化数据之间的三角化匹配点数量符合三角化匹配点数量条件的情况下,确定与待确认关键帧相对应的目标对象的位置信息和角度信息。
第十六确定单元,用于在确定与待确认关键帧相对应的目标对象的位置信息和与上一时刻关键帧相对应的目标对象的位置信息之间的距离差值符合预定距离差值条件,且与待确认关键帧相对应的目标对象的角度信息和与上一时刻关键帧相对应的目标对象的角度信息之间的角度差值符合角度差值条件的情况下,将待确认关键帧作为关键帧。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质、一种计算机程序产品和自动驾驶设备。
根据本公开的实施例,一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开实施例的方法。
根据本公开的实施例,一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开实施例的方法。
根据本公开的实施例,一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如本公开实施例的方法。
图8示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图8所示,设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如定位方法。例如,在一些实施例中,定位方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的定位方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行定位方法。
基于前述的电子设备,本公开还提供了一种自动驾驶设备,可以包括电子设备,还可以包括通信部件、用于采集周围环境信息的信息采集装置等。通信部件、信息采集装置与电子设备之间可以通信连接。
电子设备与通信部件、信息采集装置可以一体集成,也可以分体设置。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以是分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (36)
1.一种定位方法,包括:
确定与目标关键帧相对应的目标对象的位置信息,其中,所述目标关键帧和所述目标对象的位置信息是在同一时刻采集的;
从多个关键帧数据库中确定与所述位置信息相匹配的多个候选关键帧数据库,其中,每个所述关键帧数据库包括多个关键帧,每个所述关键帧与同一时刻采集的所述目标对象的位姿信息相对应,所述位姿信息包括位置信息;
从所述多个候选关键帧数据库各自的多个关键帧中确定与所述目标关键帧相匹配的多个候选关键帧;以及
基于所述目标关键帧和所述多个候选关键帧,确定所述目标对象在地图中的定位结果。
2.根据权利要求1所述的方法,还包括:
确定关键帧和与所述关键帧相对应的所述目标对象的位姿信息;
将所述关键帧和所述位姿信息添加至关键帧集合中;以及
在确定所述关键帧集合中的关键帧数量满足预定数量阈值的情况下,基于所述关键帧集合,生成所述关键帧数据库。
3.根据权利要求2所述的方法,其中,所述从多个关键帧数据库中确定与所述位置信息相匹配的多个候选关键帧数据库,包括:
基于关键帧数据库与位置信息之间的映射关系和所述位置信息,从所述多个关键帧数据库中确定与所述位置信息相匹配的多个候选关键帧数据库,其中,所述关键帧数据库与位置信息之间的映射关系是基于与关键帧数据库中的多个关键帧各自相对应的所述目标对象的位姿信息生成的。
4.根据权利要求1所述的方法,其中,所述从所述多个候选关键帧数据库各自的多个关键帧中确定与所述目标关键帧相匹配的多个候选关键帧,包括:
针对每个所述候选关键帧数据库,确定所述候选关键帧数据库的多个关键帧各自与所述目标关键帧之间的匹配度,得到匹配度列表;以及
基于多个所述匹配度列表,从所述多个候选关键帧数据库中确定与所述目标关键帧相匹配的所述多个候选关键帧。
5.根据权利要求4所述的方法,其中,所述基于多个所述匹配度列表,从所述多个候选关键帧数据库中确定与所述目标关键帧相匹配的所述多个候选关键帧,包括:
针对每个所述候选关键帧数据库,基于与所述候选关键帧数据库相匹配的所述匹配度列表,从所述候选关键帧数据库中确定预定数量的候选关键帧;以及
基于每个所述候选关键帧数据库中的所述预定数量的候选关键帧,确定所述多个候选关键帧。
6.根据权利要求5所述的方法,其中,所述基于与所述候选关键帧数据库相匹配的所述匹配度列表,从所述候选关键帧数据库中确定预定数量的候选关键帧,包括:
在确定与所述候选关键帧数据库相匹配的所述匹配度列表为预定类型的匹配度列表的情况下,基于所述匹配度列表,从所述候选关键帧数据库中确定所述预定数量的候选关键帧。
7.根据权利要求6所述的方法,其中,所述基于与所述候选关键帧数据库相匹配的所述匹配度列表,从所述候选关键帧数据库中确定预定数量的候选关键帧,还包括:
确定所述匹配度列表中的多个匹配度彼此之间的差值,得到多个差值;以及
在确定所述多个差值均小于或者等于预定差值阈值的情况下,将所述匹配度列表确定为所述预定类型的匹配度列表。
8.根据权利要求4所述的方法,其中,所述基于所述目标关键帧和所述多个候选关键帧,确定所述目标对象在地图中的定位结果,包括:
针对每个所述候选关键帧,从所述地图中确定与所述候选关键帧相匹配的待匹配三维点云,得到与所述多个候选关键帧一一对应的多个待匹配三维点云;以及
基于所述目标关键帧和所述多个待匹配三维点云,确定所述目标对象在所述地图中的位姿信息,将所述位姿信息作为所述定位结果。
9.根据权利要求8所述的方法,其中,所述基于所述目标关键帧和所述多个待匹配三维点云,确定所述目标对象在所述地图中的位姿信息,包括:
针对每个所述待匹配三维点云,确定所述目标关键帧与所述待匹配三维点云之间的匹配结果;
基于所述匹配结果,确定与所述待匹配三维点云相对应的内点数量;
基于多个所述内点数量和多个所述匹配度,从多个所述匹配结果中确定目标匹配结果,其中,所述匹配度为与所述待匹配三维点云相对应的候选关键帧与所述目标关键帧之间的匹配度;以及.
基于所述目标匹配结果,确定所述位姿信息。
10.根据权利要求9所述的方法,其中,所述基于多个所述内点数量和多个所述匹配度,从多个所述匹配结果中确定目标匹配结果,包括:
基于多个所述内点数量,从多个所述匹配结果中确定初始目标匹配结果;
在确定与所述初始目标匹配结果相对应的所述内点数量和所述匹配度均符合预定匹配条件的情况下,将所述初始目标匹配结果作为所述目标匹配结果。
11.根据权利要求8所述的方法,其中,所述基于所述目标关键帧和所述多个待匹配三维点云,确定所述目标对象在所述地图中的位姿信息,包括:
重复执行下述操作,直至内点数量和所述匹配度均符合预定匹配条件:
针对每个所述待匹配三维点云,确定所述目标关键帧与所述待匹配三维点云之间的匹配结果;
基于所述匹配结果,确定与所述待匹配三维点云相对应的所述内点数量;
基于多个所述内点数量和多个所述匹配度,从多个所述匹配结果中确定初始目标匹配结果,其中,所述匹配度为与所述待匹配三维点云相对应的候选关键帧与所述目标关键帧之间的匹配度;以及
在确定与所述初始目标匹配结果相对应的所述内点数量和所述匹配度存在至少一个不符合所述预定匹配条件的情况下,针对每个所述候选关键帧,从所述地图中确定与所述候选关键帧相匹配的更新后待匹配三维点云,得到与所述多个候选关键帧一一对应的多个更新后待匹配三维点云,其中,所述更新后待匹配三维点云的数据范围大于所述待匹配三维点云的数据范围;以及
基于所述目标匹配结果,确定所述位姿信息。
12.根据权利要求10或11所述的方法,其中,所述基于所述目标关键帧和所述多个待匹配三维点云,确定所述目标对象在所述地图中的位姿信息,还包括:
在确定所述待匹配三维点云的匹配度为所述多个匹配度中匹配度最大的情况下,确定所述匹配度符合所述预定匹配条件;以及
在确定所述待匹配三维点云的内点数量为所述多个内点数量中数量最大的情况下,确定所述内点数量符合所述预定匹配条件。
13.根据权利要求2所述的方法,其中,所述确定关键帧,包括:
获取待确认关键帧;以及
在确定所述待确认关键帧符合预定关键帧条件的情况下,将所述待确认关键帧作为所述关键帧。
14.根据权利要求1所述的方法,还包括:
获取初始目标关键帧;以及
在确定所述初始目标关键帧符合预定关键帧条件的情况下,将所述初始目标关键帧作为所述目标关键帧。
15.根据权利要求13或14所述的方法,其中,所述预定关键帧条件包括以下至少一项:
图像质量条件、三角化匹配点数量条件、距离差值条件、角度差值条件。
16.根据权利要求13所述的方法,其中,所述在确定所述待确认关键帧符合预定关键帧条件的情况下,将所述待确认关键帧作为所述关键帧,包括:
在确定所述待确认关键帧的图像质量符合所述图像质量条件的情况下,确定所述待确认关键帧的三角化数据;
在确定所述待确认关键帧的三角化数据与上一时刻关键帧的三角化数据之间的三角化匹配点数量符合所述三角化匹配点数量条件的情况下,确定与所述待确认关键帧相对应的目标对象的位置信息和角度信息;以及
在确定与所述待确认关键帧相对应的所述目标对象的位置信息和与所述上一时刻关键帧相对应的所述目标对象的位置信息之间的距离差值符合所述预定距离差值条件,且与所述待确认关键帧相对应的所述目标对象的角度信息和与所述上一时刻关键帧相对应的所述目标对象的角度信息之间的角度差值符合所述角度差值条件的情况下,将所述待确认关键帧作为所述关键帧。
17.一种定位装置,包括:
第一确定模块,用于确定与目标关键帧相对应的目标对象的位置信息,其中,所述目标关键帧和所述目标对象的位置信息是在同一时刻采集的;
第二确定模块,用于从多个关键帧数据库中确定与所述位置信息相匹配的多个候选关键帧数据库,其中,每个所述关键帧数据库包括多个关键帧,每个所述关键帧与同一时刻采集的所述目标对象的位姿信息相对应,所述位姿信息包括位置信息;
第三确定模块,用于从所述多个候选关键帧数据库各自的多个关键帧中确定与所述目标关键帧相匹配的多个候选关键帧;以及
第四确定模块,用于基于所述目标关键帧和所述多个候选关键帧,确定所述目标对象在地图中的定位结果。
18.根据权利要求17所述的装置,还包括:
第五确定模块,用于确定关键帧和与所述关键帧相对应的所述目标对象的位姿信息;
添加模块,用于将所述关键帧和所述位姿信息添加至关键帧集合中;以及
第一生成模块,用于在确定所述关键帧集合中的关键帧数量满足预定数量阈值的情况下,基于所述关键帧集合,生成所述关键帧数据库。
19.根据权利要求18所述的装置,其中,所述第二确定模块包括:
第一确定子模块,用于基于关键帧数据库与位置信息之间的映射关系和所述位置信息,从所述多个关键帧数据库中确定与所述位置信息相匹配的多个候选关键帧数据库,其中,所述关键帧数据库与位置信息之间的映射关系是基于与关键帧数据库中的多个关键帧各自相对应的所述目标对象的位姿信息生成的。
20.根据权利要求17所述的装置,其中,所述第三确定模块包括:
第二确定子模块,用于针对每个所述候选关键帧数据库,确定所述候选关键帧数据库的多个关键帧各自与所述目标关键帧之间的匹配度,得到匹配度列表;以及
第三确定子模块,用于基于多个所述匹配度列表,从所述多个候选关键帧数据库中确定与所述目标关键帧相匹配的所述多个候选关键帧。
21.根据权利要求20所述的装置,其中,所述第三确定子模块包括:
第一确定单元,用于针对每个所述候选关键帧数据库,基于与所述候选关键帧数据库相匹配的所述匹配度列表,从所述候选关键帧数据库中确定预定数量的候选关键帧;以及
第二确定单元,用于基于每个所述候选关键帧数据库中的所述预定数量的候选关键帧,确定所述多个候选关键帧。
22.根据权利要求21所述的装置,其中,所述第一确定单元包括:
第一确定子单元,用于在确定与所述候选关键帧数据库相匹配的所述匹配度列表为预定类型的匹配度列表的情况下,基于所述匹配度列表,从所述候选关键帧数据库中确定所述预定数量的候选关键帧。
23.根据权利要求22所述的装置,其中,所述第一确定单元还包括:
第二确定子单元,用于确定所述匹配度列表中的多个匹配度彼此之间的差值,得到多个差值;以及
第三确定子单元,用于在确定所述多个差值均小于或者等于预定差值阈值的情况下,将所述匹配度列表确定为所述预定类型的匹配度列表。
24.根据权利要求20所述的装置,其中,所述第四确定模块包括:
第四确定子模块,用于针对每个所述候选关键帧,从所述地图中确定与所述候选关键帧相匹配的待匹配三维点云,得到与所述多个候选关键帧一一对应的多个待匹配三维点云;以及
第五确定子模块,用于基于所述目标关键帧和所述多个待匹配三维点云,确定所述目标对象在所述地图中的位姿信息,将所述位姿信息作为所述定位结果。
25.根据权利要求24所述的装置,其中,所述第五确定子模块包括:
第三确定单元,用于针对每个所述待匹配三维点云,确定所述目标关键帧与所述待匹配三维点云之间的匹配结果;
第四确定单元,用于基于所述匹配结果,确定与所述待匹配三维点云相对应的内点数量;
第五确定单元,用于基于多个所述内点数量和多个所述匹配度,从多个所述匹配结果中确定目标匹配结果,其中,所述匹配度为与所述待匹配三维点云相对应的候选关键帧与所述目标关键帧之间的匹配度;以及
第六确定单元,用于基于所述目标匹配结果,确定所述位姿信息。
26.根据权利要求25所述的装置,其中,所述第五确定单元包括:
第四确定子单元,用于基于多个所述内点数量,从多个所述匹配结果中确定初始目标匹配结果;
第五确定子单元,用于在确定与所述初始目标匹配结果相对应的所述内点数量和所述匹配度均符合预定匹配条件的情况下,将所述初始目标匹配结果作为所述目标匹配结果。
27.根据权利要求24所述的装置,其中,所述第五确定子模块包括:
重复执行下述操作,直至内点数量和所述匹配度均符合预定匹配条件:
第七确定单元,用于针对每个所述待匹配三维点云,确定所述目标关键帧与所述待匹配三维点云之间的匹配结果;
第八确定单元,用于基于所述匹配结果,确定与所述待匹配三维点云相对应的所述内点数量;
第九确定单元,用于基于多个所述内点数量和多个所述匹配度,从多个所述匹配结果中确定初始目标匹配结果,其中,所述匹配度为与所述待匹配三维点云相对应的候选关键帧与所述目标关键帧之间的匹配度;以及
第十确定单元,用于在确定与所述初始目标匹配结果相对应的所述内点数量和所述匹配度存在至少一个不符合所述预定匹配条件的情况下,针对每个所述候选关键帧,从所述地图中确定与所述候选关键帧相匹配的更新后待匹配三维点云,得到与所述多个候选关键帧一一对应的多个更新后待匹配三维点云,其中,所述更新后待匹配三维点云的数据范围大于所述待匹配三维点云的数据范围;以及
第十一确定单元,用于基于所述目标匹配结果,确定所述位姿信息。
28.根据权利要求26或27所述的装置,其中,所述第五确定子模块还包括:
第十二确定单元,用于在确定所述待匹配三维点云的匹配度为所述多个匹配度中匹配度最大的情况下,确定所述匹配度符合所述预定匹配条件;以及
第十三确定单元,用于在确定所述待匹配三维点云的内点数量为所述多个内点数量中数量最大的情况下,确定所述内点数量符合所述预定匹配条件。
29.根据权利要求18所述的装置,其中,所述第五确定模块包括:
获取子模块,用于获取待确认关键帧;以及
第六确定子模块,用于在确定所述待确认关键帧符合预定关键帧条件的情况下,将所述待确认关键帧作为所述关键帧。
30.根据权利要求17所述的装置,还包括:
获取模块,用于获取初始目标关键帧;以及
第六确定模块,用于在确定所述初始目标关键帧符合预定关键帧条件的情况下,将所述初始目标关键帧作为所述目标关键帧。
31.根据权利要求29或30所述的装置,其中,所述预定关键帧条件包括以下至少一项:
图像质量条件、三角化匹配点数量条件、距离差值条件、角度差值条件。
32.根据权利要求29所述的装置,其中,所述第六确定子模块包括:
第十四确定单元,用于在确定所述待确认关键帧的图像质量符合所述图像质量条件的情况下,确定所述待确认关键帧的三角化数据;
第十五确定单元,用于在确定所述待确认关键帧的三角化数据与上一时刻关键帧的三角化数据之间的三角化匹配点数量符合所述三角化匹配点数量条件的情况下,确定与所述待确认关键帧相对应的目标对象的位置信息和角度信息;以及
第十六确定单元,用于在确定与所述待确认关键帧相对应的所述目标对象的位置信息和与所述上一时刻关键帧相对应的所述目标对象的位置信息之间的距离差值符合所述预定距离差值条件,且与所述待确认关键帧相对应的所述目标对象的角度信息和与所述上一时刻关键帧相对应的所述目标对象的角度信息之间的角度差值符合所述角度差值条件的情况下,将所述待确认关键帧作为所述关键帧。
33.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至16中任一项所述的方法。
34.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1至16中任一项所述的方法。
35.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1至16中任一项所述的方法。
36.一种自动驾驶设备,包括:根据权利要求33所述的电子设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042149.5A CN116012624B (zh) | 2023-01-12 | 2023-01-12 | 定位方法、装置、电子设备、介质以及自动驾驶设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310042149.5A CN116012624B (zh) | 2023-01-12 | 2023-01-12 | 定位方法、装置、电子设备、介质以及自动驾驶设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116012624A true CN116012624A (zh) | 2023-04-25 |
CN116012624B CN116012624B (zh) | 2024-03-26 |
Family
ID=86019124
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310042149.5A Active CN116012624B (zh) | 2023-01-12 | 2023-01-12 | 定位方法、装置、电子设备、介质以及自动驾驶设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116012624B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190094027A1 (en) * | 2016-03-30 | 2019-03-28 | Intel Corporation | Techniques for determining a current location of a mobile device |
CN110097045A (zh) * | 2018-01-31 | 2019-08-06 | 株式会社理光 | 一种定位方法、定位装置及可读存储介质 |
CN111311684A (zh) * | 2020-04-01 | 2020-06-19 | 亮风台(上海)信息科技有限公司 | 一种进行slam初始化的方法与设备 |
CN113096181A (zh) * | 2020-01-08 | 2021-07-09 | 纳恩博(北京)科技有限公司 | 设备位姿的确定方法、装置、存储介质及电子装置 |
CN113674351A (zh) * | 2021-07-27 | 2021-11-19 | 追觅创新科技(苏州)有限公司 | 一种机器人的建图方法及机器人 |
CN114018269A (zh) * | 2021-11-22 | 2022-02-08 | 阿波罗智能技术(北京)有限公司 | 定位方法、装置、电子设备、存储介质以及自动驾驶车辆 |
WO2022147960A1 (zh) * | 2021-01-05 | 2022-07-14 | 新石器慧通(北京)科技有限公司 | 点云的标注方法及标注设备 |
-
2023
- 2023-01-12 CN CN202310042149.5A patent/CN116012624B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190094027A1 (en) * | 2016-03-30 | 2019-03-28 | Intel Corporation | Techniques for determining a current location of a mobile device |
CN110097045A (zh) * | 2018-01-31 | 2019-08-06 | 株式会社理光 | 一种定位方法、定位装置及可读存储介质 |
CN113096181A (zh) * | 2020-01-08 | 2021-07-09 | 纳恩博(北京)科技有限公司 | 设备位姿的确定方法、装置、存储介质及电子装置 |
CN111311684A (zh) * | 2020-04-01 | 2020-06-19 | 亮风台(上海)信息科技有限公司 | 一种进行slam初始化的方法与设备 |
WO2022147960A1 (zh) * | 2021-01-05 | 2022-07-14 | 新石器慧通(北京)科技有限公司 | 点云的标注方法及标注设备 |
CN113674351A (zh) * | 2021-07-27 | 2021-11-19 | 追觅创新科技(苏州)有限公司 | 一种机器人的建图方法及机器人 |
CN114018269A (zh) * | 2021-11-22 | 2022-02-08 | 阿波罗智能技术(北京)有限公司 | 定位方法、装置、电子设备、存储介质以及自动驾驶车辆 |
Also Published As
Publication number | Publication date |
---|---|
CN116012624B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108279670B (zh) | 用于调整点云数据采集轨迹的方法、设备以及计算机可读介质 | |
CN110246182B (zh) | 基于视觉的全局地图定位方法、装置、存储介质和设备 | |
CN110378966B (zh) | 车路协同相机外参标定方法、装置、设备及存储介质 | |
JP7204823B2 (ja) | 車両制御方法、車両制御装置及び車両 | |
US11810319B2 (en) | Image detection method, device, storage medium and computer program product | |
CN111652934A (zh) | 定位方法及地图构建方法、装置、设备、存储介质 | |
CN110986969B (zh) | 地图融合方法及装置、设备、存储介质 | |
CN110675635B (zh) | 相机外参的获取方法、装置、电子设备及存储介质 | |
CN111612852A (zh) | 用于验证相机参数的方法和装置 | |
CN110926478B (zh) | 一种ar导航路线纠偏方法、系统及计算机可读存储介质 | |
CN111784776A (zh) | 视觉定位方法及装置、计算机可读介质和电子设备 | |
CN115719436A (zh) | 模型训练方法、目标检测方法、装置、设备以及存储介质 | |
CN114111813B (zh) | 高精地图元素更新方法、装置、电子设备及存储介质 | |
CN113705390B (zh) | 定位方法、装置、电子设备和存储介质 | |
CN113932796A (zh) | 高精地图车道线生成方法、装置和电子设备 | |
CN113033439A (zh) | 用于数据处理的方法、装置和电子设备 | |
CN114674328B (zh) | 地图生成方法、装置、电子设备、存储介质、及车辆 | |
CN116012624B (zh) | 定位方法、装置、电子设备、介质以及自动驾驶设备 | |
CN115578432B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN115952248A (zh) | 终端设备的位姿处理方法、装置、设备、介质及产品 | |
CN115773759A (zh) | 自主移动机器人的室内定位方法、装置、设备及存储介质 | |
CN113516013B (zh) | 目标检测方法、装置、电子设备、路侧设备和云控平台 | |
CN111968030B (zh) | 信息生成方法、装置、电子设备和计算机可读介质 | |
CN113763468A (zh) | 一种定位方法、装置、系统及存储介质 | |
RU2759773C1 (ru) | Способ и система определения местоположения пользователя |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |