CN111928857B - 一种动态环境中实现slam定位的方法及相关装置 - Google Patents
一种动态环境中实现slam定位的方法及相关装置 Download PDFInfo
- Publication number
- CN111928857B CN111928857B CN202011098360.1A CN202011098360A CN111928857B CN 111928857 B CN111928857 B CN 111928857B CN 202011098360 A CN202011098360 A CN 202011098360A CN 111928857 B CN111928857 B CN 111928857B
- Authority
- CN
- China
- Prior art keywords
- picture
- point set
- pictures
- frame
- next frame
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/28—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
- G01C21/30—Map- or contour-matching
- G01C21/32—Structuring or formatting of map data
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请公开一种动态环境中实现SLAM定位的方法及相关装置。该方法包括:获取单目行车记录仪在车辆行驶过程中采集的至少两帧图片;对每帧图片中的目标物体进行识别并标定;获取每帧图片上位于目标物体标定范围外的特征点;将各帧图片的特征点进行匹配,得到匹配成功的第一特征点集;构建第一特征点集的三维空间坐标;获取下一帧图片,并识别标定出目标物体后获取特征点;根据下一帧图片的特征点与第一特征点集的三维空间坐标,确定拍摄下一帧图片时单目行车记录仪的位姿;根据单目行车记录仪的位姿确定车辆的位置。本申请能够在单目视觉下去除动态物体对三维空间构建的干扰,以实现车辆的即时定位,以便后续通过不断更新定位来获得车辆的移动轨迹。
Description
技术领域
本申请涉及导航技术领域,尤其涉及一种动态环境中实现SLAM定位的方法及相关装置。
背景技术
SLAM(Simultaneous Localization And Mapping,即时定位与地图构建)主要用于解决移动设备在未知环境中运行时进行定位导航与地图构建的问题。要进行定位和绘图,首先需要采集数据,目前大多数是采用双目摄像头或激光传感器来进行数据采集。然而,对于仅具备单目摄像头的设备,如单目的行车记录仪,需要进行即时定位导航与地图构建时,则无法用常规方法来实现。
此外,行车记录仪采集到的视频图像中往往会包含其他移动的物体(如车辆或行人等),而这些移动物体的位置和状态一般会实时变化,稳定性差,不利于地图构建。因此,如何利用单目行车记录仪在动态环境下采集的视频图像有效的实现即时定位与地图构建是一个非常值得研究的技术问题。
发明内容
本申请提供一种动态环境中实现SLAM定位的方法及相关装置,能够在单目视觉下去除动态物体对三维空间构建的干扰,以实现车辆的即时定位,以便后续通过不断更新定位来获得车辆的移动轨迹。
本申请第一方面提供一种动态环境中实现SLAM定位的方法,包括:
获取单目行车记录仪在车辆行驶过程中采集的至少两帧图片;
对所述至少两帧图片中的目标物体进行识别,并标定出每一帧图片中的所述目标物体;
获取所述至少两帧图片中每一帧图片上位于所述目标物体标定范围外的特征点;
将获取的所述至少两帧图片的特征点进行匹配,得到所述至少两帧图片中匹配成功的第一特征点集;
构建所述第一特征点集的三维空间坐标;
获取所述单目行车记录仪采集的下一帧图片,并识别标定出所述下一帧图片中的目标物体后获取所述下一帧图片的特征点;
根据所述下一帧图片的特征点与所述第一特征点集的三维空间坐标,确定拍摄所述下一帧图片时所述单目行车记录仪的位姿;
根据拍摄所述下一帧图片时所述单目行车记录仪的位姿确定所述车辆的位置。
作为一种可选的实施方式,在本申请第一方面中,所述对所述至少两帧图片中的目标物体进行识别,包括:
利用yolo网络对所述至少两帧图片中的目标物体进行识别。
作为一种可选的实施方式,在本申请第一方面中,所述构建所述第一特征点集的三维空间坐标,包括:
利用所述第一特征点集,采用对极约束计算所述至少两帧图片之间的旋转矩阵和平移矩阵;
根据所述至少两帧图片之间的旋转矩阵和平移矩阵,生成所述第一特征点集的三维空间坐标。
作为一种可选的实施方式,在本申请第一方面中,所述方法还包括:
对所述单目行车记录仪后续采集的各帧图片进行迭代处理,获得拍摄所述各帧图片时所述单目行车记录仪的位姿;
根据拍摄所述各帧图片时所述单目行车记录仪的位姿确定所述车辆的移动轨迹。
作为一种可选的实施方式,在本申请第一方面中,所述根据所述下一帧图片的特征点与所述第一特征点集的三维空间坐标,确定拍摄所述下一帧图片时所述单目行车记录仪的位姿,包括:
将所述下一帧图片与所述至少两帧图片中的每一帧图片进行匹配,分别得到所述下一帧图片与每一帧图片匹配成功的特征点集;
根据所述下一帧图片与每一帧图片匹配成功的特征点集,将所述下一帧图片中同时与所述至少两帧图片中的至少预设数量帧图片匹配成功的特征点确定为第二特征点集;
根据所述第一特征点集的三维空间坐标确定所述第二特征点集的三维空间坐标;
利用所述第二特征点集的三维空间坐标以及所述第二特征点集中位于所述下一帧图片上的特征点的位置,确定拍摄所述下一帧图片时所述单目行车记录仪的位姿。
作为一种可选的实施方式,在本申请第一方面中,所述方法还包括:
利用所述下一帧图片与每一帧图片匹配成功的特征点集中除去所述第二特征点集后的剩余特征点集,采用三角化计算所述剩余特征点集的三维空间坐标;
利用所述剩余特征点集的三维空间坐标调整所述第一特征点集的三维空间坐标和所述第二特征点集的三维空间坐标。
本申请第二方面提供一种动态环境中实现SLAM定位的装置,包括:
第一获取单元,用于获取单目行车记录仪在车辆行驶过程中采集的至少两帧图片;
识别单元,用于对所述至少两帧图片中的目标物体进行识别,并标定出每一帧图片中的所述目标物体;
第二获取单元,还用于获取所述至少两帧图片中每一帧图片上位于所述目标物体标定范围外的特征点;
匹配单元,用于将获取的所述至少两帧图片的特征点进行匹配,得到所述至少两帧图片中匹配成功的第一特征点集;
构建单元,用于构建所述第一特征点集的三维空间坐标;
所述第一获取单元,还用于获取所述单目行车记录仪采集的下一帧图片;
所述识别单元,还用于识别标定出所述下一帧图片中的目标物体;
所述第二获取单元,还用于获取所述下一帧图片中位于所述目标物体标定范围外的特征点;
确定单元,用于根据所述下一帧图片的特征点与所述第一特征点集的三维空间坐标,确定拍摄所述下一帧图片时所述单目行车记录仪的位姿;
所述确定单元,还用于根据拍摄所述下一帧图片时所述单目行车记录仪的位姿确定所述车辆的位置。
作为一种可选的实施方式,在本申请第二方面中,所述识别单元对所述至少两帧图片中的目标物体进行识别的方式具体为:
利用yolo网络对所述至少两帧图片中的目标物体进行识别。
本申请第三方面提供一种动态环境中实现SLAM定位的装置,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如上所述的方法。
本申请第四方面提供一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如上所述的方法。
本申请提供的技术方案,通过获取单目行车记录仪在车辆行驶中先后采集的两帧或两帧以上的图片,分别对各帧图片进行目标物体识别,并标定出识别到的目标物体,获取各帧图片上位于目标物体标定范围外的特征点,并对各帧图片的特征点进行匹配,得到匹配成功的第一特征点集,以利用第一特征点集构建三维空间坐标;进一步地,可以获取单目行车记录仪采集的下一帧图片,并识别标定出该下一帧图片中的目标物体后获取该下一帧图片的特征点,根据该下一帧图片的特征点与第一特征点集的三维空间坐标来确定出拍摄该下一帧图片时单目行车记录仪的位姿,进而可以得到拍摄该下一帧图片时车辆的位置。本申请的技术方案,能够对单目视觉下采集的图片进行动态物体识别,并去除动态物体对三维空间构建的干扰,以实现车辆的即时定位,以便后续采集的图片通过不断更新定位来获得车辆的移动轨迹。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1是本申请实施例示出的一种动态环境中实现SLAM定位的方法的流程示意图;
图2是本申请实施例示出的图片上目标物体识别标定示意图;
图3是本申请实施例示出的平移矩阵和旋转矩阵算法原理图;
图4是本申请实施例示出的一种动态环境中实现SLAM定位获得的车辆移动轨迹的示意图;
图5是本申请实施例示出的一种动态环境中实现SLAM定位的装置的结构示意图;
图6是本申请实施例示出的另一种动态环境中实现SLAM定位的装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的优选实施方式。虽然附图中显示了本申请的优选实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以下结合附图详细描述本申请实施例的技术方案。
请参见图1,本申请实施例提供了一种动态环境中实现SLAM定位的方法。如图1所示,该方法至少可以包括以下步骤:
110、获取单目行车记录仪在车辆行驶过程中采集的至少两帧图片。
本申请实施例中,单目行车记录仪可以设置于车辆的前挡风玻璃处。在车辆行驶过程中,可以利用单目行车记录仪采集车辆前方视频数据。为了获得图片,需要对获取的视频数据进行抽帧。通常,视频的帧率为每秒30帧,可以按照预置的规则对视频进行抽帧,从而获得图片。上述至少两帧图片可以为单目行车记录仪先后时间采集到的连续的两帧或两帧以上的图片。具体的,上述至少两帧图片可以为对单目行车记录仪在车辆行驶过程中采集的实时视频进行抽帧后得到的实时图片,也可以为对单目行车记录仪在车辆整个行驶过程中采集的整段视频进行抽帧后得到的一帧帧的图片序列中的其中几帧图片,这里不作限定。
可以理解的是,本申请实施例是以车辆上的单目行车记录仪为例进行说明的,也可以是车辆上的其他单目设备,如单目摄像头、手机等可以采集单目视频的设备。另外,该单目设备可以设置于车辆的首部以采集其前方的视频,也可以设置于车辆的尾部以采集其后方的视频,这里不作唯一限定。
120、对上述至少两帧图片中的目标物体进行识别,并标定出每一帧图片中的目标物体。
本申请实施例中,行车记录仪在采集车辆前方或后方的视频图像时,往往会采集到一些动态物体,如其他行驶的车辆,人行道上或道路两边行走的人群、动物,或者天上飞行的飞机或风筝等等移动的物体。目标物体可以看作为预先设置的一种或几种动态物体。由于动态物体其位置和姿态可能会实时发生变动,如果利用动态物体的特征来构建三维空间的话,则构建的三维空间精度差。因此,为了保证三维空间构建的准确性,有必要消除动态物体对三维空间构建的影响,从而需要先找出图片上的所有动态物体。
具体的,可以对图片中所有的动态物体进行识别,并将识别出的动态物体进行标定。以图2中示出的车辆在行驶过程中单目行车记录仪采集到的其中一帧图片为例,对图2所示的图片进行动态物体识别,并识别出图片上所有的车辆和行人,并将识别出的车辆和行人用矩形框进行标定,以标定出每个动态物体所在的位置和大小。其中,可以根据矩形框的四个顶点的坐标位置来确定动态物体的位置和大小,或者可以以其中一个顶点为原点通过矢量确定矩形框的范围等。可以理解的是,也可以利用圆圈、椭圆形圈或其他规则或不规则形状对动态物体进行标定,这里不作唯一限定。
在一可选的实施方式中,步骤120对上述至少两帧图片中的目标物体进行识别的具体实施方式可以包括以下步骤:
11)利用yolo网络对上述至少两帧图片中的目标物体进行识别。
其中,yolo是一种基于深度神经网络的对象识别和定位算法。在进行识别操作之前,可以预先构造好训练样本,具体的可以采集若干样本图片,将样本图片中的目标物体进行标定后,训练标定后的样本图片,得到样本模型,再将上述至少两帧图片输入样本模型中进行学习,以识别出图片上所有的目标物体。可以理解的是,还可以采用卷积神经网络CNN算法、R-CNN算法或其他算法对图片中的目标物体进行识别,这里不作唯一限定。
130、获取上述至少两帧图片中每一帧图片上位于目标物体标定范围外的特征点。
本申请实施例中,图片上的特征点可以用来标识图片上一些标志物体,一般将图片上灰度值发生剧烈变化的点或在图片边缘上曲率较大的点(如两个边缘的交点)看作为图片的特征点。为了后续更好的进行图片匹配,一般可以将图片中不会随着相机的移动、旋转或者光照的变化而变化的稳定的点选取为特征点。因此,可以将每帧图片上除去目标物体标定范围外的其他区域上的点选取为特征点。例如,在2图中可以选择固定的建筑物(如路边的房屋)、固定的树木或广告牌等中的特征点,而不选择车辆或行人等目标物体、天空或地面上的特征点。
140、将获取的上述至少两帧图片的特征点进行匹配,得到上述至少两帧图片中匹配成功的第一特征点集。
本申请实施例中,上述至少两帧图片中可以包含有不同视角下的同一物体(如建筑物、广告牌、路牌等等)。通过对图片上的特征点进行匹配,可以将不同图片上的同一物体的某些特征点匹配成功。其中,第一特征点集为上述至少两帧图片中每一帧图片上均匹配成功的特征点的集合。例如,当上述至少两帧图片仅包含两帧图片(如A、B两帧图片)时,第一特征点集为A、B两帧图片进行匹配并匹配成功的特征点;当上述至少两帧图片包含A、B、C三帧图片时,第一特征点集为A、B、C三帧图片同时进行匹配并匹配成功的特征点,即匹配成功的特征点要同时出现在A、B、C三帧图片上,不能仅出现在其中一帧或其中两帧图片上。
在一可选的实施方式中,步骤130获取上述至少两帧图片中每一帧图片上位于目标物体标定范围外的特征点的具体实施方式可以包括以下步骤:
12)利用brisk算子提取上述至少两帧图片中每一帧图片上位于目标物体标定范围外的特征点,并对每一帧图片的特征点进行描述,将描述后的特征点作为该帧图片的特征点。
其中,步骤140将获取的上述至少两帧图片的特征点进行匹配,得到上述至少两帧图片中匹配成功的第一特征点集的具体实施方式可以包括以下步骤:
13)将上述至少两帧图片描述后的特征点进行匹配,将匹配距离小于预设值的特征点确定为匹配成功的第一特征点集。
具体的,brisk算法由于具有较好的旋转不变性、尺度不变性和较好的鲁棒性等特点,在图像配准应用中有很好的表现。图片的一个特征点可以由两部分构成:关键点和描述子。brisk算法主要利用FAST9-16进行特征点检测,取得分值较大的点作为特征点(即关键点),即完成特征点的提取。仅仅利用关键点的信息还无法很好的进行特征点匹配,所以需要进一步得到更详细的信息,将特征区分开来,因此,需要进行特征点描述,得到特征描述子。通过特征描述子可以消除视角的变化带来图片的尺度和方向的变化,能够更好的在图片间匹配。一张图片上的每一个特征描述子都是独特的,具有排他性,尽可能减少彼此间的相似性。brisk特征描述子可以用二进制数来表示,如256bit或512bit的二进制数。
将每一帧图片的特征描述子进行匹配,具体的是可以将一帧图片上的某一个特征描述子与其他帧图片上的所有特征描述子进行匹配,分别计算匹配距离(如汉明距离),取其他帧图片上匹配距离最小且匹配距离小于预设值的特征点作为匹配点。按照上述方法,可以逐一对每帧图片上的所有特征点进行匹配,找到匹配成功的特征点。可以理解的是,在得出匹配距离后,可以再结合特征点在图片上的uv坐标来共同确定匹配的特征点,例如匹配距离小于预设值,且特征点的uv坐标的差距也在允许的范围内时,才确定为匹配的特征点,否则不匹配。
当一帧图片上的某一个特征点只与其他帧图片中的其中一帧或几帧图片上的特征点匹配,而与某帧或某些帧图片上的特征点不匹配,则该特征点可以看作为无效特征点,可以进行丢弃。当一帧图片上的某一个特征点在其他帧图片上均能找到匹配的特征点,则该特征点可以看作为有效特征点。将所有的有效特征点集合起来,可以看作为第一特征点集。
举例来说,当上述至少两帧图片仅包含先后采集的A、B两帧图片时,假设利用brisk算法从A帧图片中提取到100个特征点,从B帧图片中提取到200个特征点。对A、B两帧图片中的特征点进行描述,得到对应的特征描述子;对A、B两帧图片上的所有特征描述子进行逐一匹配后,得到匹配成功的特征点共50个,即A帧图片上有50个特征点与B帧图片上的50个特征点一一匹配,则第一特征点集中可以包含匹配成功的A帧图片上的50个特征点和B帧图片上的50个特征点,即可以将第一特征点集看作为50对特征点。
又举例来说,当上述至少两帧图片包含先后采集的A、B、C三帧图片时,假设利用brisk算法从A帧图片中提取到100个特征点,从B帧图片中提取到150个特征点,从C帧图片中提取到120个点。对A、B、C三帧图片中的特征点进行描述,得到对应的特征描述子;对A、B、C三帧图片上的所有特征描述子进行逐一匹配后,得到匹配成功的特征点共50个,即A帧图片上的50个特征点、B帧图片上的50个特征点、C帧图片上的50个特征点均匹配成功,则第一特征点集中可以包含匹配成功的A帧图片上的50个特征点、B帧图片上的50个特征点和C帧图片上的50个特征点,即可以将第一特征点集看作为50组特征点。
可以理解的是,也可以利用其他算法(如ORB、SURF或SIFT算法等等)来实现图片特征点的提取和描述,采用不同的算法可能得到不同的图片配准结果,即配准结果会有所差异。
150、构建第一特征点集的三维空间坐标。
本申请实施例中,基于已匹配成功的第一特征点集,可以利用对极几何计算出单目行车记录仪在采集各帧图片时的位姿变化,即平移量和旋转量。再利用各帧图片之间的平移量和旋转量可以计算出第一特征点集的三维空间坐标。
具体的,在一可选的实施方式中,步骤150构建第一特征点集的三维空间坐标的具体实施方式可以包括以下步骤:
14)利用第一特征点集,采用对极约束计算上述至少两帧图片之间的旋转矩阵和平移矩阵;
15)根据上述至少两帧图片之间的旋转矩阵和平移矩阵,生成第一特征点集的三维空间坐标。
举例来说,当上述至少两帧图片仅包含先后采集的A、B两帧图片时,对A、B两帧图片上的特征点进行匹配,得出8个匹配点,即第一特征点集中包含有8点对。根据这8点对可以计算出B帧图片相对于A帧图片的旋转矩阵和平移矩阵。
具体的,如图3所示,在不同的位置拍摄同一个目标物体的两帧图片,图片中相同物体对应的像素点满足对极约束关系。其中P为世界坐标系中真实物体,例如建筑物上的某一点。O1、O2分别为拍摄A帧图片和B帧图片时单目行车记录仪的光心位置。I1、I2分别代表A帧图片和B帧图片。p1、p2分别为P点在A帧图片和B帧图片的投影,即A、B两帧图片中匹配成功的一对点。O1P在B帧图片上投影为e2p2,记为l2,O2P在A帧图片上投影为e1p1,记为l1,其中,l1、l2称为极线,e1、e2称为极点。根据对极约束:
得到:
其中:
E为本质矩阵,t为平移矩阵,R为旋转矩阵。
利用8点法求得E:
其中, (u1,v1)为p1的图像像素坐标、 (u2,v2)为p2的图像像素坐标。
得到:
其中:
对于其它的点对也使用同样的表示方法,这样将得到的所有方程放到一起,得到一个线性方程组,(ui,vi)表示第i个匹配的点对。
通过上述的线性方程组求得本质矩阵E。
对E奇异值分解,得到4组t、R值,分别为:
所得4组结果中只有一个深度值为正,深度值为正的t、R值的组合即为B帧图片相对A帧图片的平移矩阵和旋转矩阵。
可以理解的是,上述过程是以八点法为例进行说明的,但并不局限于此。当A、B两帧图片上匹配的特征点不止八对时,可以利用对极约束构建最小二乘法来求得两帧之间的平移矩阵和旋转矩阵,其中最小二乘法为较为成熟的现有技术,这里将不再叙述其具体实现过程。
另外,在利用第一特征点集求出各帧图片之间的旋转矩阵R和平移矩阵t后,可以利用三角化计算出第一特征点集中各特征点的三维空间坐标(即特征点的3D位置)。
160、获取单目行车记录仪采集的下一帧图片,并识别标定出该下一帧图片中的目标物体后获取该下一帧图片的特征点。
本申请实施例中,在根据上述至少两帧图片构建出三维空间坐标后,可以实时获取单目行车记录仪采集的下一帧图片,也可以从图片序列中获取位于上述至少两帧图片后的下一帧图片,这里不作限定。可以利用yolo算法对该下一帧图片上的目标物体进行识别,将识别出的目标物体进行标定。进一步地,可以利用brisk算法提取该下一帧图片中除目标物体标定范围外的特征点,并对提取的特征点进行描述,以得到特征描述子。
170、根据该下一帧图片的特征点与第一特征点集的三维空间坐标,确定拍摄该下一帧图片时单目行车记录仪的位姿。
在一可选的实施方式中,步骤170根据该下一帧图片的特征点与第一特征点集的三维空间坐标,确定拍摄该下一帧图片时单目行车记录仪的位姿的具体实施方式可以包括以下步骤:
16)将该下一帧图片与上述至少两帧图片中的每一帧图片进行匹配,分别得到该下一帧图片与每一帧图片匹配成功的特征点集;
17)根据该下一帧图片与每一帧图片匹配成功的特征点集,将该下一帧图片中同时与上述至少两帧图片中的至少预设数量帧图片匹配成功的特征点确定为第二特征点集;
18)根据第一特征点集的三维空间坐标确定第二特征点集的三维空间坐标;
19)利用第二特征点集的三维空间坐标以及第二特征点集中位于所述下一帧图片上的特征点的位置,确定拍摄下一帧图片时单目行车记录仪的位姿。
以两帧图片作为窗口进行举例说明,假设上述至少两帧图片包含A、B两帧图片,下一帧图片为C帧图片,A帧图片中的特征点为100个、B帧图片中的特征点为200个,A、B两帧图片匹配成功的特征点50个,即第一特征点集包含有50对点。提取到C帧图片中的特征点200个,分别与A帧图片中的特征点匹配成功70个,与B帧图片中的特征点匹配成功60个,将其中C帧图片中既与A帧图片中的特征点又与B帧图片中的特征点均匹配成功的特征点划入第二特征点集。例如,C帧图片上编号为c1的特征点与A帧图片上编号为a3的特征点匹配,又与B帧图片上编号为b2的特征点匹配,则特征点c1为有效特征点,特征点(a3,b2,c1)为第二特征点集中的其中一组特征点。当C帧图片上编号为c1的特征点仅与A帧图片上编号为a3的特征点匹配,而在B帧图片中没有找到相匹配的特征点,则特征点c1为无效特征点(或噪点),将不被包含在第二特征点集内。按照上述方法,可以找到在三帧图片中都匹配的特征点,以构成第二特征点集。
假设在上述C帧图片与A帧图片匹配成功的70个特征点以及C帧图片与B帧图片匹配成功的60个特征点中三帧都存在的特征点有30个,而这30个特征点包含在A、B两帧图片匹配成功的50个特征点中,因此,可以从这50个特征点的三维空间坐标中提取出上述30个特征点的三维空间坐标。当然,也可以直接利用三角化计算出上述30个特征点的三维空间坐标,这里不作限定。进一步的,可以根据上述30个特征点的三维空间坐标,以及30个特征点在C帧图片上的位置(即uv坐标),采用PnP优化方法可以计算得到拍摄C帧图片时单目行车记录仪的位姿。
以三帧图片作为窗口进行举例说明,假设上述至少两帧图片包含A、B、C三帧图片,下一帧图片为D帧图片,A帧图片中的特征点为100个、B帧图片中的特征点为200个,C帧图片中的特征点为150个,A、B、C三帧图片匹配成功的特征点50个,即第一特征点集包含有50对点。提取到D帧图片中的特征点200个,分别与A帧图片中的特征点匹配成功70个,与B帧图片中的特征点匹配成功60个,与C帧图片中的特征点匹配成功65个。可以将D帧图片中同时与A、B、C三帧图片中的至少两帧图片匹配成功的特征点划入第二特征点集,例如D帧图片中某一特征点在A、B、C三帧图片中均能找到与之匹配的特征点,或者在A、B、C三帧图片的其中两帧中能找到与之匹配的特征点,则可以认为该特征点为有效特征点,与其他图片匹配成功的特征点组合起来作为第二特征点集中的一组特征点。而当D帧图片中某一特征点仅在A、B、C三帧图片的其中一帧图片上找到与之匹配的特征点,则可以认为该特征点为无效特征点(或噪点),将不被包含在第二特征点集内。按照上述方法逐一匹配,以找到满足条件的匹配特征点构成第二特征点集。进一步地,通过第二特征点集的三维空间坐标及其在D帧图片中的位置采用PnP优化方法来计算出拍摄D帧图片时单目行车记录仪的位姿。
在实际应用中,还可以采用其他数量的帧图片来作为参考窗口,如4帧、5帧、6帧或其他值等。当窗口数量不同时,步骤16)中的预设数量也随之发生变化,如窗口取4帧图片时,可以将预设数量设为2或3或4;当窗口取5帧图片时,可以将预设数量设为3或4或5。
180、根据拍摄该下一帧图片时单目行车记录仪的位姿确定车辆的位置。
本申请实施例中,由于单目行车记录仪设置于车辆上,因此可以将拍摄某帧图片时单目行车记录仪的位姿看作为车辆当时的位姿,从而可以得到车辆的位置,即实现了车辆的定位。当然,也可以是单目行车记录仪与车辆之间预设有一种位置关系,根据位置关系对单目行车记录仪的位置进行转换,即可得到车辆的位置。
在一可选的实施方式中,图1所描述的方法还可以包括以下步骤:
20)利用该下一帧图片与每一帧图片匹配成功的特征点集中除去第二特征点集后的剩余特征点集,采用三角化计算所述剩余特征点集的三维空间坐标;
21)利用剩余特征点集的三维空间坐标调整第一特征点集的三维空间坐标和第二特征点集的三维空间坐标。
仍以前述两帧图片作为窗口为例,C帧图片与A帧图片之间剩余特征点为70-30=40个,C帧图片与B帧图片之间剩余特征点为60-30=30个,分别利用三角化计算上述40个剩余特征点和30个剩余特征点的三维空间坐标,从而利用剩余特征点的三维空间坐标来调整第一特征点集的三维空间坐标和第二特征点集的三维空间坐标,以使第一特征点集对应的三维空间范围以及第二特征点集对应的三维空间范围能够得以扩充,构建出包含更多信息的三维地图,进而有利于后续图片配准,提高配准精度。
在一可选的实施方式中,图1所描述的方法还可以包括以下步骤:
22)对单目行车记录仪后续采集的各帧图片进行迭代处理,获得拍摄各帧图片时单目行车记录仪的位姿;
23)根据拍摄各帧图片时单目行车记录仪的位姿确定车辆的移动轨迹。
仍以前述两帧图片作为窗口为例。迭代处理的具体过程可以为:当要对下下一帧(D帧)图片进行配准时,选取B、C两帧图片作为参考窗口,构建B、C两帧图片的第一特征点集的三维空间坐标,并将D帧的特征点分别与B、C两帧图片的特征点进行匹配,得到匹配成功的第二特征点集。利用第二特征点集的三维空间坐标及其位于D帧图片上的位置,确定拍摄D帧图片时单目行车记录仪的位姿,以得到拍摄D帧图片时车辆的位置。当要对再下一帧(E帧)图片进行配准时,选取C、D两帧图片作为参考窗口,构建C、D两帧图片的第一特征点集的三维空间坐标,并将E帧的特征点分别与C、D两帧图片的特征点进行匹配,得到匹配成功的第二特征点集。利用第二特征点集的三维空间坐标及其位于E帧图片上的位置,确定拍摄E帧图片时单目行车记录仪的位姿,以得到拍摄E帧图片时车辆的位置。按照上述过程往后迭代,一直到最后一帧图片,以得到拍摄最后一帧图片时车辆的位置。
仍以前述三帧图片作为窗口为例。迭代处理的具体过程可以为:当要对下下一帧(E帧)图片进行配准时,选取B、C、D三帧图片作为参考窗口,构建B、C、D三帧图片的第一特征点集的三维空间坐标,并将E帧的特征点分别与B、C、D三帧图片的特征点进行匹配,得到匹配成功的第二特征点集。利用第二特征点集的三维空间坐标及其位于E帧图片上的位置,确定拍摄E帧图片时单目行车记录仪的位姿,以得到拍摄E帧图片时车辆的位置。当要对再下一帧(F帧)图片进行配准时,选取C、D、E三帧图片作为参考窗口,构建C、D、E三帧图片的第一特征点集的三维空间坐标,并将F帧的特征点分别与C、D、E三帧图片的特征点进行匹配,得到匹配成功的第二特征点集。利用第二特征点集的三维空间坐标及其位于F帧图片上的位置,确定拍摄F帧图片时单目行车记录仪的位姿,以得到拍摄F帧图片时车辆的位置。按照上述过程往后迭代,一直到最后一帧图片,以得到拍摄最后一帧图片时车辆的位置。
如图4所示,根据拍摄各帧图片时车辆的位置可以确定出车辆的相对移动轨迹。如果拍摄起始几帧图片时,车辆的起始位置已知(可以通过车辆上的GPS定位模块或北斗定位装置或IMU等获取),则可以根据已知的起始位置确定出车辆的实际移动轨迹。本申请实施例仅需在开始时利用GPS或IMU进行定位,后续将不再需要,而是利用采集不同图片时单目行车记录仪的位姿变化来估算车辆的位置。
可见,本申请实施例通过获取单目行车记录仪在车辆行驶中先后采集的两帧或两帧以上的图片,分别对各帧图片进行目标物体识别,并标定出识别到的目标物体,获取各帧图片上位于目标物体标定范围外的特征点,并对各帧图片的特征点进行匹配,得到匹配成功的第一特征点集,以利用第一特征点集构建三维空间坐标;进一步地,可以获取单目行车记录仪采集的下一帧图片,并识别标定出该下一帧图片中的目标物体后获取该下一帧图片的特征点,根据该下一帧图片的特征点与第一特征点集的三维空间坐标来确定出拍摄该下一帧图片时单目行车记录仪的位姿,进而可以得到拍摄该下一帧图片时车辆的位置。本申请的技术方案,能够对单目视觉下采集的图片进行动态物体识别,并去除动态物体对三维空间构建的干扰,以实现车辆的即时定位,以便后续采集的图片通过不断更新定位来获得车辆的移动轨迹。
请参见图5,本申请实施例提供了一种动态环境中实现SLAM定位的装置。该装置可以用于执行上述实施例提供的动态环境中实现SLAM定位的方法。具体的,如图5所示,该装置可以包括:
第一获取单元51,用于获取单目行车记录仪在车辆行驶过程中采集的至少两帧图片;
识别单元52,用于对上述至少两帧图片中的目标物体进行识别,并标定出每一帧图片中的目标物体;
第二获取单元53,用于获取上述至少两帧图片中每一帧图片上位于目标物体标定范围外的特征点;
匹配单元54,用于将获取的上述至少两帧图片的特征点进行匹配,得到上述至少两帧图片中匹配成功的第一特征点集;
构建单元55,用于构建第一特征点集的三维空间坐标;
第一获取单元51,还用于获取单目行车记录仪采集的下一帧图片;
识别单元52,还用于识别标定出该下一帧图片中的目标物体;
第二获取单元53,还用于获取该下一帧图片中位于目标物体标定范围外的特征点;
确定单元56,用于根据该下一帧图片的特征点与第一特征点集的三维空间坐标,确定拍摄该下一帧图片时单目行车记录仪的位姿;
确定单元56,还用于根据拍摄该下一帧图片时单目行车记录仪的位姿确定车辆的位置。
可选的,识别单元52对上述至少两帧图片中的目标物体进行识别的具体实施方式可以为:
利用yolo网络对上述至少两帧图片中的目标物体进行识别。
可选的,构建单元55具体可以用于利用第一特征点集,采用对极约束计算上述至少两帧图片之间的旋转矩阵和平移矩阵;根据上述至少两帧图片之间的旋转矩阵和平移矩阵,生成第一特征点集的三维空间坐标。
可选的,图5所示的装置还可以包括:
迭代单元,用于对单目行车记录仪后续采集的各帧图片进行迭代处理,获得拍摄各帧图片时单目行车记录仪的位姿;
确定单元56,还可以用于根据拍摄各帧图片时单目行车记录仪的位姿确定车辆的移动轨迹。
可选的,确定单元56根据该下一帧图片的特征点与第一特征点集的三维空间坐标,确定拍摄该下一帧图片时单目行车记录仪的位姿的具体实施方式可以为:
将该下一帧图片与上述至少两帧图片中的每一帧图片进行匹配,分别得到该下一帧图片与每一帧图片匹配成功的特征点集;
根据该下一帧图片与每一帧图片匹配成功的特征点集,将该下一帧图片中同时与上述至少两帧图片中的至少预设数量帧图片匹配成功的特征点确定为第二特征点集;
根据第一特征点集的三维空间坐标确定第二特征点集的三维空间坐标;
利用第二特征点集的三维空间坐标以及第二特征点集中位于该下一帧图片上的特征点的位置,确定拍摄该下一帧图片时单目行车记录仪的位姿。
可选的,图5所示的装置还可以包括:
计算单元,用于利用该下一帧图片与每一帧图片匹配成功的特征点集中除去第二特征点集后的剩余特征点集,采用三角化计算剩余特征点集的三维空间坐标;
调整单元,用于利用剩余特征点集的三维空间坐标调整第一特征点集的三维空间坐标和第二特征点集的三维空间坐标。
实施图5所示的装置,能够对单目视觉下采集的图片进行动态物体识别,并去除动态物体对三维空间构建的干扰,以实现车辆的即时定位,以便后续采集的图片通过不断更新定位来获得车辆的移动轨迹。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
请参阅图6,本申请实施例还提供了另一种动态环境中实现SLAM定位的装置。该装置可以用于执行上述实施例提供的动态环境中实现SLAM定位的方法。该装置可以是任意具有计算单元的设备,如计算机、服务器、手持设备(如智能手机、平板电脑等)、或行车记录仪等等,本申请实施例不作限定。具体的,如图6所示,该装置600可以包括:至少一个处理器601、存储器602、至少一个通信接口603等组件。其中,这些组件可以通过一条或多条通信总线604进行通信连接。本领域技术人员可以理解,图6中示出的装置600的结构并不构成对本申请实施例的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器601可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器 (Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器602可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器601或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器602可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器602可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
通信接口603可以包括有线通信接口、无线通信接口等,可以用于与行车记录仪进行通信交互,如获取行车记录仪采集的视频图像等。
存储器602上存储有可执行代码,当可执行代码被处理器601处理时,可以使处理器601执行上文述及的方法中的部分或全部步骤。
具体的,处理器601可以用于调用存储器602中存储的一个或多个可执行代码以执行以下操作:
获取单目行车记录仪在车辆行驶过程中采集的至少两帧图片;
对上述至少两帧图片中的目标物体进行识别,并标定出每一帧图片中的目标物体;
获取上述至少两帧图片中每一帧图片上位于目标物体标定范围外的特征点;
将获取的上述至少两帧图片的特征点进行匹配,得到上述至少两帧图片中匹配成功的第一特征点集;
构建第一特征点集的三维空间坐标;
获取单目行车记录仪采集的下一帧图片,并识别标定出该下一帧图片中的目标物体后获取该下一帧图片的特征点;
根据该下一帧图片的特征点与第一特征点集的三维空间坐标,确定拍摄该下一帧图片时单目行车记录仪的位姿;
根据拍摄该下一帧图片时单目行车记录仪的位姿确定车辆的位置。
可选的,处理器601对上述至少两帧图片中的目标物体进行识别的具体实施方式可以为:
利用yolo网络对所述至少两帧图片中的目标物体进行识别。
可选的,处理器601构建第一特征点集的三维空间坐标的具体实施方式可以为:
利用第一特征点集,采用对极约束计算上述至少两帧图片之间的旋转矩阵和平移矩阵;
根据上述至少两帧图片之间的旋转矩阵和平移矩阵,生成第一特征点集的三维空间坐标。
可选的,处理器601还可以调用存储器602中存储的一个或多个可执行代码,执行以下操作:
对单目行车记录仪后续采集的各帧图片进行迭代处理,获得拍摄各帧图片时单目行车记录仪的位姿;
根据拍摄各帧图片时单目行车记录仪的位姿确定车辆的移动轨迹。
可选的,处理器601根据该下一帧图片的特征点与第一特征点集的三维空间坐标,确定拍摄该下一帧图片时单目行车记录仪的位姿的具体实施方式可以为:
将该下一帧图片与上述至少两帧图片中的每一帧图片进行匹配,分别得到该下一帧图片与每一帧图片匹配成功的特征点集;
根据该下一帧图片与每一帧图片匹配成功的特征点集,将该下一帧图片中同时与上述至少两帧图片中的至少预设数量帧图片匹配成功的特征点确定为第二特征点集;
根据第一特征点集的三维空间坐标确定第二特征点集的三维空间坐标;
利用第二特征点集的三维空间坐标以及第二特征点集中位于该下一帧图片上的特征点的位置,确定拍摄该下一帧图片时单目行车记录仪的位姿。
可选的,处理器601还可以调用存储器602中存储的一个或多个可执行代码,执行以下操作:
利用该下一帧图片与每一帧图片匹配成功的特征点集中除去第二特征点集后的剩余特征点集,采用三角化计算剩余特征点集的三维空间坐标;
利用剩余特征点集的三维空间坐标调整第一特征点集的三维空间坐标和第二特征点集的三维空间坐标。
上文中已经参考附图详细描述了本申请的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本申请所必须的。另外,可以理解,本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当可执行代码(或计算机程序、或计算机指令代码)被电子设备的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本申请的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,该模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (9)
1.一种动态环境中实现SLAM定位的方法,其特征在于,包括:
获取单目行车记录仪在车辆行驶过程中采集的至少两帧图片;
对所述至少两帧图片中的目标物体进行识别,并标定出每一帧图片中的所述目标物体;
获取所述至少两帧图片中每一帧图片上位于所述目标物体标定范围外的特征点;
将获取的所述至少两帧图片的特征点进行匹配,得到所述至少两帧图片中匹配成功的第一特征点集;
构建所述第一特征点集的三维空间坐标;
获取所述单目行车记录仪采集的下一帧图片,并识别标定出所述下一帧图片中的目标物体后获取所述下一帧图片的特征点;
根据所述下一帧图片的特征点与所述第一特征点集的三维空间坐标,确定拍摄所述下一帧图片时所述单目行车记录仪的位姿;
根据拍摄所述下一帧图片时所述单目行车记录仪的位姿确定所述车辆的位置;
其中,所述根据所述下一帧图片的特征点与所述第一特征点集的三维空间坐标,确定拍摄所述下一帧图片时所述单目行车记录仪的位姿,包括:
将所述下一帧图片与所述至少两帧图片中的每一帧图片进行匹配,分别得到所述下一帧图片与每一帧图片匹配成功的特征点集;
根据所述下一帧图片与每一帧图片匹配成功的特征点集,将所述下一帧图片中同时与所述至少两帧图片中的至少预设数量帧图片匹配成功的特征点确定为第二特征点集;
根据所述第一特征点集的三维空间坐标确定所述第二特征点集的三维空间坐标;
利用所述第二特征点集的三维空间坐标以及所述第二特征点集中位于所述下一帧图片上的特征点的位置,确定拍摄所述下一帧图片时所述单目行车记录仪的位姿。
2.根据权利要求1所述的动态环境中实现SLAM定位的方法,其特征在于,所述对所述至少两帧图片中的目标物体进行识别,包括:
利用yolo网络对所述至少两帧图片中的目标物体进行识别。
3.根据权利要求1所述的动态环境中实现SLAM定位的方法,其特征在于,所述构建所述第一特征点集的三维空间坐标,包括:
利用所述第一特征点集,采用对极约束计算所述至少两帧图片之间的旋转矩阵和平移矩阵;
根据所述至少两帧图片之间的旋转矩阵和平移矩阵,生成所述第一特征点集的三维空间坐标。
4.根据权利要求1所述的动态环境中实现SLAM定位的方法,其特征在于,所述方法还包括:
对所述单目行车记录仪后续采集的各帧图片进行迭代处理,获得拍摄所述各帧图片时所述单目行车记录仪的位姿;
根据拍摄所述各帧图片时所述单目行车记录仪的位姿确定所述车辆的移动轨迹。
5.根据权利要求1-4任一所述的动态环境中实现SLAM定位的方法,其特征在于,所述方法还包括:
利用所述下一帧图片与每一帧图片匹配成功的特征点集中除去所述第二特征点集后的剩余特征点集,采用三角化计算所述剩余特征点集的三维空间坐标;
利用所述剩余特征点集的三维空间坐标调整所述第一特征点集的三维空间坐标和所述第二特征点集的三维空间坐标。
6.一种动态环境中实现SLAM定位的装置,其特征在于,包括:
第一获取单元,用于获取单目行车记录仪在车辆行驶过程中采集的至少两帧图片;
识别单元,用于对所述至少两帧图片中的目标物体进行识别,并标定出每一帧图片中的所述目标物体;
第二获取单元,用于获取所述至少两帧图片中每一帧图片上位于所述目标物体标定范围外的特征点;
匹配单元,用于将获取的所述至少两帧图片的特征点进行匹配,得到所述至少两帧图片中匹配成功的第一特征点集;
构建单元,用于构建所述第一特征点集的三维空间坐标;
所述第一获取单元,还用于获取所述单目行车记录仪采集的下一帧图片;
所述识别单元,还用于识别标定出所述下一帧图片中的目标物体;
所述第二获取单元,还用于获取所述下一帧图片中位于所述目标物体标定范围外的特征点;
确定单元,用于根据所述下一帧图片的特征点与所述第一特征点集的三维空间坐标,确定拍摄所述下一帧图片时所述单目行车记录仪的位姿;
所述确定单元,还用于根据拍摄所述下一帧图片时所述单目行车记录仪的位姿确定所述车辆的位置;
所述确定单元根据所述下一帧图片的特征点与所述第一特征点集的三维空间坐标,确定拍摄所述下一帧图片时所述单目行车记录仪的位姿的方式具体为:
将所述下一帧图片与所述至少两帧图片中的每一帧图片进行匹配,分别得到所述下一帧图片与每一帧图片匹配成功的特征点集;
根据所述下一帧图片与每一帧图片匹配成功的特征点集,将所述下一帧图片中同时与所述至少两帧图片中的至少预设数量帧图片匹配成功的特征点确定为第二特征点集;
根据所述第一特征点集的三维空间坐标确定所述第二特征点集的三维空间坐标;
利用所述第二特征点集的三维空间坐标以及所述第二特征点集中位于所述下一帧图片上的特征点的位置,确定拍摄所述下一帧图片时所述单目行车记录仪的位姿。
7.根据权利要求6所述的动态环境中实现SLAM定位的装置,其特征在于,所述识别单元对所述至少两帧图片中的目标物体进行识别的方式具体为:
利用yolo网络对所述至少两帧图片中的目标物体进行识别。
8.一种动态环境中实现SLAM定位的装置,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-5中任一项所述的方法。
9.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011098360.1A CN111928857B (zh) | 2020-10-14 | 2020-10-14 | 一种动态环境中实现slam定位的方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011098360.1A CN111928857B (zh) | 2020-10-14 | 2020-10-14 | 一种动态环境中实现slam定位的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111928857A CN111928857A (zh) | 2020-11-13 |
CN111928857B true CN111928857B (zh) | 2021-01-05 |
Family
ID=73334797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011098360.1A Active CN111928857B (zh) | 2020-10-14 | 2020-10-14 | 一种动态环境中实现slam定位的方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111928857B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112598743B (zh) * | 2021-02-08 | 2023-10-13 | 智道网联科技(北京)有限公司 | 一种单目视觉图像的位姿估算方法及相关装置 |
CN112801077B (zh) * | 2021-04-15 | 2021-11-05 | 智道网联科技(北京)有限公司 | 用于自动驾驶车辆的slam初始化的方法及相关装置 |
DE102022206041A1 (de) | 2022-06-15 | 2023-12-21 | Robert Bosch Gesellschaft mit beschränkter Haftung | Verfahren zum Bestimmen von Objekten in einer Umgebung für SLAM |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106846243A (zh) * | 2016-12-26 | 2017-06-13 | 深圳中科龙智汽车科技有限公司 | 在设备移动过程中获得三维俯视全景图的方法及装置 |
CN110617821B (zh) * | 2018-06-19 | 2021-11-02 | 北京嘀嘀无限科技发展有限公司 | 定位方法、装置及存储介质 |
SG11201811275UA (en) * | 2018-06-22 | 2020-01-30 | Beijing Didi Infinity Technology & Development Co Ltd | Systems and methods for updating highly automated driving maps |
CN109241979A (zh) * | 2018-08-24 | 2019-01-18 | 武汉光庭信息技术股份有限公司 | 一种基于高速视觉特征点匹配的车辆相对位置推测方法 |
CN109887032B (zh) * | 2019-02-22 | 2021-04-13 | 广州小鹏汽车科技有限公司 | 一种基于单目视觉slam的车辆定位方法及系统 |
CN110929567B (zh) * | 2019-10-17 | 2022-09-27 | 北京全路通信信号研究设计院集团有限公司 | 基于单目相机监控场景下目标的位置速度测量方法及系统 |
CN111156984B (zh) * | 2019-12-18 | 2022-12-09 | 东南大学 | 一种面向动态场景的单目视觉惯性slam方法 |
-
2020
- 2020-10-14 CN CN202011098360.1A patent/CN111928857B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111928857A (zh) | 2020-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111928842B (zh) | 一种基于单目视觉实现slam定位的方法及相关装置 | |
CN107742311B (zh) | 一种视觉定位的方法及装置 | |
EP2874097A2 (en) | Automatic scene parsing | |
CN111928857B (zh) | 一种动态环境中实现slam定位的方法及相关装置 | |
US20210056715A1 (en) | Object tracking method, object tracking device, electronic device and storage medium | |
CN111209770A (zh) | 一种车道线识别方法及装置 | |
CN112598743B (zh) | 一种单目视觉图像的位姿估算方法及相关装置 | |
CN111837158A (zh) | 图像处理方法、装置、拍摄装置和可移动平台 | |
CN112132754B (zh) | 一种车辆移动轨迹修正方法及相关装置 | |
CN111310728A (zh) | 基于监控相机和无线定位的行人重识别系统 | |
CN113793413A (zh) | 三维重建方法、装置、电子设备及存储介质 | |
CN110826415A (zh) | 一种场景图像中车辆的重识别方法及设备 | |
Schaeferling et al. | Object recognition and pose estimation on embedded hardware: SURF‐based system designs accelerated by FPGA logic | |
CN116643291A (zh) | 一种视觉与激光雷达联合剔除动态目标的slam方法 | |
CN114898321B (zh) | 道路可行驶区域检测方法、装置、设备、介质及系统 | |
CN114969221A (zh) | 一种更新地图的方法及相关设备 | |
CN113256731A (zh) | 基于单目视觉的目标检测方法及装置 | |
CN110827340B (zh) | 地图的更新方法、装置及存储介质 | |
CN113610967B (zh) | 三维点检测的方法、装置、电子设备及存储介质 | |
JP3863014B2 (ja) | 物体検出装置及びその方法 | |
CN112767412B (zh) | 车辆部件级分割方法、装置以及电子设备 | |
CN110458177B (zh) | 图像深度信息的获取方法、图像处理装置以及存储介质 | |
CN110751163B (zh) | 目标定位方法及其装置、计算机可读存储介质和电子设备 | |
CN109816709B (zh) | 基于单目摄像头的深度估计方法、装置及设备 | |
CN117036484A (zh) | 一种基于几何和语义的视觉定位与建图方法、系统、设备及介质 |
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 |