CN111814869B - 一种同步定位与建图的方法、装置、电子设备及存储介质 - Google Patents
一种同步定位与建图的方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111814869B CN111814869B CN202010640171.6A CN202010640171A CN111814869B CN 111814869 B CN111814869 B CN 111814869B CN 202010640171 A CN202010640171 A CN 202010640171A CN 111814869 B CN111814869 B CN 111814869B
- Authority
- CN
- China
- Prior art keywords
- feature
- key
- edge
- pair
- information matrix
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000013507 mapping Methods 0.000 title claims abstract description 37
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 12
- 239000011159 matrix material Substances 0.000 claims description 78
- 238000004891 communication Methods 0.000 claims description 19
- 230000011218 segmentation Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004364 calculation method Methods 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 6
- 238000006073 displacement reaction Methods 0.000 claims description 2
- 238000010276 construction Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 9
- 230000033001 locomotion Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002411 adverse Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- 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/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Remote Sensing (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种同步定位与建图的方法、装置、电子设备及存储介质,涉及定位技术领域。本发明实施例包括:获取摄像设备采集的当前帧图像,从当前帧图像中提取多个关键特征,确定多个关键特征中的边缘特征和非边缘特征;针对多个关键特征中的每个非边缘特征,若该非边缘特征与第二关键特征之间的相似度大于第一预设阈值,则确定该非边缘特征与第二关键特征为互相匹配的特征对;针对多个关键特征中的每个边缘特征,若该边缘特征与第三关键特征之间的相似度大于第二预设阈值,则确定该边缘特征与第三关键特征为互相匹配的特征对,第二预设阈值大于第一预设阈值;根据确定的特征对构建地图。采用本发明实施例可以提高定位及建图的精度。
Description
技术领域
本申请涉及定位技术领域,特别是涉及一种同步定位与建图的方法、装置、电子设备及存储介质。
背景技术
在同步定位与建图(simultaneous localization and mapping,SLAM)***中,SLAM***前端获取相机拍摄的图像,并计算图像之间的运动变化,然后SLAM***的后端根据图像之间的运动变化以及任务需求,构建相机所拍摄环境的地图。
由于图像是三维空间中的场景投影到相机投影平面形成的,而这种投影关系会随着相机运动而产生较大变化。对于空间中实际不相连的两个物体,当相机光轴与物体之间的连线接***行时,它们在图像上就会呈现出短暂的连接状态。具体的,图像中物体之间的连接状态是会随着相机运动而变化的,这也就在图像中形成了不稳定区域。而现有技术中的SLAM***中默认相机所观测的环境是稳定不变的,因此在相机运动变化频繁时,不稳定区域会对运动估计造成影响,从而导致SLAM***的定位及建图的精度较低。
发明内容
本申请实施例的目的在于提供一种同步定位与建图的方法、装置、电子设备及存储介质,以提高SLAM***的定位及建图精度。具体技术方案如下:
第一方面,本申请实施例提供一种同步定位与建图的方法,所述方法包括:
获取摄像设备采集的当前帧图像;
从所述当前帧图像中提取多个关键特征,确定所述多个关键特征中的边缘特征和非边缘特征;
针对所述多个关键特征中的每个非边缘特征,若该非边缘特征与第二关键特征之间的相似度大于第一预设阈值,则确定该非边缘特征与所述第二关键特征为互相匹配的特征对,所述第二关键特征为所述当前帧图像的上一帧图像的关键特征中,与该非边缘特征相似度最高的关键特征;
针对所述多个关键特征中的每个边缘特征,若该边缘特征与第三关键特征之间的相似度大于第二预设阈值,则确定该边缘特征与所述第三关键特征为互相匹配的特征对,所述第二预设阈值大于所述第一预设阈值,所述第三关键特征为所述当前帧图像的上一帧图像的关键特征中,与该边缘特征的相似度最高的关键特征;
根据确定的特征对构建地图。
在一种可能的实现方式中,所述多个关键特征中的每个关键特征包括关键点和描述子;所述确定所述多个关键特征中的边缘特征,包括:
对所述当前帧图像进行实例分割,得到所述当前帧图像中的每个像素点所属的物体类别;
针对所述多个关键特征中的每个关键特征,判断该关键特征的描述子所表示的像素范围内是否包括至少两个不同物体类别的像素点,若是,则确定该关键特征为边缘特征;若否,则确定该关键特征为非边缘特征。
在一种可能的实现方式中,所述根据确定的特征对构建地图,包括:
确定原始信息矩阵,所述原始信息矩阵中的每个元素分别用于表示对一个特征对的误差的重视程度;
对于每个特征对,若该特征对中包括至少一个边缘特征,则将所述原始信息矩阵中,该特征对对应的元素值增大至预设值,得到调整后的目标信息矩阵;
确定每个特征对对应的空间坐标;
基于所述目标信息矩阵和各特征对的像素坐标和空间坐标,进行重投影误差计算,得到调整后的各特征对的空间坐标和相机位姿;
基于调整后的各特征对的空间坐标和相机位姿构建地图。
在一种可能的实现方式中,所述对于每个特征对,若该特征对中包括至少一个边缘特征,则将所述原始信息矩阵中,该特征对对应的元素值增大至预设值,得到调整后的目标信息矩阵,包括:
其中,H为所述目标信息矩阵,为所述原始信息矩阵,uij为在位姿Ti=[Ri|ti]时,空间坐标Pj对应的理论像素坐标;Ri为旋转矩阵,ti为位移,为旋转矩阵的转置;Pj为一个特征对对应的空间坐标;π用于表示摄像设备从三维坐标点到图像平面的投影;若uij对应的特征对中包括边缘特征,则edge(uij)的取值为1,若uij对应的特征对中不包括边缘特征,则edge(uij)的取值为0;val为边缘特征在信息矩阵中的权重,val>0;
基于所述目标信息矩阵和各特征对的像素坐标和空间坐标,进行重投影误差计算,得到调整后的各特征对的空间坐标和相机位姿,包括:
第二方面,本申请实施例提供一种同步定位与建图的装置,所述装置包括:
获取模块,用于获取摄像设备采集的当前帧图像;
特征提取模块,用于从所述当前帧图像中提取多个关键特征,确定所述多个关键特征中的边缘特征和非边缘特征;
特征匹配模块,用于针对所述多个关键特征中的每个非边缘特征,若该非边缘特征与第二关键特征之间的相似度大于第一预设阈值,则确定该非边缘特征与所述第二关键特征为互相匹配的特征对,所述第二关键特征为所述当前帧图像的上一帧图像的关键特征中,与该非边缘特征相似度最高的关键特征;
所述特征匹配模块,还用于针对所述多个关键特征中的每个边缘特征,若该边缘特征与第三关键特征之间的相似度大于第二预设阈值,则确定该边缘特征与所述第三关键特征为互相匹配的特征对,所述第二预设阈值大于所述第一预设阈值,所述第三关键特征为所述当前帧图像的上一帧图像的关键特征中,与该边缘特征的相似度最高的关键特征;
建图模块,用于根据确定的特征对构建地图。
在一种可能的实现方式中,所述多个关键特征中的每个关键特征包括关键点和描述子;所述特征匹配模块,具体用于:
对所述当前帧图像进行实例分割,得到所述当前帧图像中的每个像素点所属的物体类别;
针对所述多个关键特征中的每个关键特征,判断该关键特征的描述子所表示的像素范围是否包括至少两个不同物体类别的像素点,若是,则确定该关键特征为边缘特征;若否,则确定该关键特征为非边缘特征。
在一种可能的实现方式中,所述建图模块,具体用于:
确定原始信息矩阵,所述原始信息矩阵中的每个元素分别用于表示对一个特征对的误差的重视程度;
对于每个特征对,若该特征对中包括至少一个边缘特征,则将所述原始信息矩阵中,该特征对对应的元素值增大至预设值,得到调整后的目标信息矩阵;
确定每个特征对对应的空间坐标;
基于所述目标信息矩阵和各特征对的像素坐标和空间坐标,进行重投影误差计算,得到调整后的各特征对的空间坐标和相机位姿;
基于调整后的各特征对的空间坐标和相机位姿构建地图。
其中,H为所述目标信息矩阵,为所述原始信息矩阵,uij为在位姿Ti=[Ri|ti]时,空间坐标Pj对应的理论像素坐标;Ri为旋转矩阵,ti为位移,为旋转矩阵的转置;Pj为一个特征对对应的空间坐标;π用于表示摄像设备从三维坐标点到图像平面的投影;若uij对应的特征对中包括边缘特征,则edge(uij)的取值为1,若uij对应的特征对中不包括边缘特征,则edge(uij)的取值为0;val为边缘特征在信息矩阵中的权重,val>0;
第三方面,本发明实施例还提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述的同步定位与建图的方法步骤。
第四方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中所述的同步定位与建图的方法。
第五方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中所述的同步定位与建图的方法。
本申请实施例提供的同步定位及建图方法、装置、电子设备及存储介质,在从当前帧图像中提取多个关键特征后,在特征匹配过程中,对于非边缘特征,若该非边缘特征与第二关键特征之间的相似度大于第一预设阈值,即可确定该非边缘特征与第二关键特征为互相匹配的特征对。对于边缘特征,若该边缘特征与第三关键特征之间的相似度大于第二预设阈值,则确定该边缘特征与第三关键特征为互相匹配的特征对,因第二预设阈值大于第一预设阈值,所以本申请实施例中,提高了边缘特征的匹配难度,即在该边缘特征与第三关键特征之间的相似度较高的情况下,才可确定该边缘特征与第三关键特征匹配,可以避免边缘特征之间的误匹配,进而提高定位及建图的精度。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种同步定位与建图的方法的流程图;
图2为本申请实施例提供的一种实例分割结果的示例性示意图;
图3为本申请实施例提供的另一种同步定位与建图的方法的流程图;
图4为本申请实施例提供的重投影误差的示例性示意图;
图5为本申请实施例提供的一种同步定位与建图的方法的示例性流程图;
图6为本申请实施例提供的一种同步定位与建图的装置的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了提高SLAM***的定位精度,本申请实施例提供了一种同步定位与建图的方法,该方法应用于电子设备中,电子设备中集成有摄像设备,或者电子设备连接于摄像设备,该摄像设备可以为摄像头、相机等设备;如图1所示,该方法包括:
S101、获取摄像设备采集的当前帧图像。
S102、从当前帧图像中提取多个关键特征,确定多个关键特征中的边缘特征和非边缘特征。
本申请实施例中可以通过特征提取算法从当前帧图像中提取多个关键特征。作为示例,该特征提取算法可以为快速特征点提取和描述(Oriented Fast and RotatedBrief,ORB)算法。当然,本申请实施例也可以采用其他特征提取算法,本申请实施例对此不作限定。
关键特征包括关键点和描述子,关键点是指该关键特征在图像中的像素坐标,描述子用于表示关键点周围一定范围内的像素信息。
在提取多个关键特征后,可以通过边缘检测算法确定多个关键特征中的边缘特征。
S103、针对多个关键特征中的每个非边缘特征,若该非边缘特征与第二关键特征之间的相似度大于第一预设阈值,则确定该非边缘特征与第二关键特征为互相匹配的特征对。
其中,第二关键特征为所述当前帧图像的上一帧图像的关键特征中,与该非边缘特征相似度最高的关键特征。
在得到当前帧图像中的多个关键特征后,可以将当前帧图像中的每个关键特征与上一帧图像中的关键特征进行特征匹配,从而得到当前帧图像与上一帧图像中匹配的特征对。
可实施的,对于多个关键特征中的每个非边缘特征,可分别计算该非边缘特征与上一帧图像中的每个关键特征之间的相似度,确定与该非边缘特征之间的相似度最高的关键特征作为第二关键特征。
进而,判断该非边缘特征与该第二关键特征之间的相似度是否大于第一预设阈值,若大于,则将该非边缘特征与该第二关键特征作为一组特征对。
本申请实施例中,可以通过关键特征的描述子之间的汉明距离来表示关键特征之间的相似度。汉明距离越小表示相似度越高。作为示例,若该非边缘特征与第二关键特征之间的汉明距离小于30,则确定该非边缘特征与该第二关键特征匹配。
S104、针对多个关键特征中的每个边缘特征,若该边缘特征与第三关键特征之间的相似度大于第二预设阈值,则确定该边缘特征与第三关键特征为互相匹配的特征对,第二预设阈值大于第一预设阈值。
其中,第三关键特征为当前帧图像的上一帧图像的关键特征中,与该边缘特征的相似度最高的关键特征。
对于每个边缘特征,可分别计算该边缘特征与上一帧图像中每个关键特征之间的特征相似度,确定与该边缘特征之间相似度最高的关键特征作为第三关键特征。
进而,判断该边缘特征与该第三关键特征之间的相似度是否大于第二预设阈值,若大于,则将该非边缘特征与该第三关键特征作为一组特征对。
其中,第二预设阈值大于第一预设阈值,即本申请实施例为边缘特征设置了额外的匹配条件。
作为示例,若该边缘特征与第三关键特征之间的汉明距离小于10,则确定该边缘特征与第三关键特征匹配。
S105、根据确定的特征对构建地图。
本申请实施例提供的同步定位及建图方法,在从当前帧图像中提取多个关键特征后,在特征匹配过程中,对于非边缘特征,若该非边缘特征与第二关键特征之间的相似度大于第一预设阈值,即可确定该非边缘特征与第二关键特征为互相匹配的特征对。对于边缘特征,若该边缘特征与第三关键特征之间的相似度大于第二预设阈值,则确定该边缘特征与第三关键特征为互相匹配的特征对,因第二预设阈值大于第一预设阈值,所以本申请实施例中,提高了边缘特征的匹配难度,即在该边缘特征与第三关键特征之间的相似度较高的情况下,才可确定该边缘特征与第三关键特征匹配,可以避免边缘特征之间的误匹配,进而提高定位及建图的精度。
在本申请的一个实施例中,上述S102中,确定多个关键特征中的边缘特征具体可以实现为:
对当前帧图像进行实例分割,得到当前帧图像中的每个像素点所属的物体类别;针对多个关键特征中的每个关键特征,判断该关键特征的描述子所表示的像素范围内是否包括至少两个不同物体类别的像素点,若是,则确定该关键特征为边缘特征;若否,则确定该关键特征为非边缘特征。
其中,实例分割是一种检测图像中的物体类别的工具,通过实例分割可以得到图像中每一个像素所属物体类别的分割结果,图像中没有检测出物体的区域均属于背景类。其中,图像中每个独立的物体为一个物体类别。作为示例,实例分割的结果如图2所示,图2中包括立方体1、瓶子、立方体2和立方体3。在图2中立方体1与瓶子之间存在连接,随着相机的运动,因投影关系发生变化,在后续相机采集到的图像中,立方体1与瓶子之间可能会不存在连接。
在本申请实施例中,可以通过图像中的像素平面坐标将关键特征与分割结果图关联,进而以关键特征包括的描述子范围内是否存在多个物体类别的像素点为基准,判断该关键特征是否为边缘特征。
以关键特征为ORB特征为例,ORB特征的描述子记录关键点周围16×16像素范围内的像素信息,该像素信息可以用于表示像素范围。则对于一个ORB特征的关键点(xi,yi),通过遍历分割结果图中(xi-16,yi-16)到(xi+16,yi+16)矩形范围内的像素,若该矩形范围内的存在不同物体的像素,则将该ORB特征标记为边缘特征。
采用该方法,若关键特征的描述子所表示的像素范围内存在多个物体类别的像素点,则说明该关键特征为不稳定的特征,随着相机的运动,空间中的物体在相机的成像平面上的关系可能发生变化,这种变化直观地体现在边缘特征的描述子中。也就是说,该不稳定的特征的描述子会在短时间内发生较大的变化,所以本申请将不稳定的关键特征作为边缘特征,通过为边缘特征设置额外的匹配条件,可以降低将背景相似但是实际不同的特征误匹配的可能性,进而基于准确的特征对可以提高定位及建图的精度。
在本申请实施例中,为了进一步提高定位及建图的精度,还可以对后端处理进行优化,如图3所示,上述S105、根据确定的特征对构建地图,具体包括如下步骤:
S301、确定原始信息矩阵。
其中,原始信息矩阵中的每个元素分别用于表示对一个特征对的误差的重视程度。原始信息矩阵为对测量状态的协方差矩阵求逆得到的矩阵。
S302、对于每个特征对,若该特征对中包括至少一个边缘特征,则将原始信息矩阵中,该特征对对应的元素值增大至预设值,得到调整后的目标信息矩阵。
其中,H为目标信息矩阵,为原始信息矩阵,uij为在位姿Ti=[Ri|ti]时,空间坐标Pj对应的理论像素坐标;Ri为旋转矩阵,ti为位移,为旋转矩阵的转置;Pj为一个特征对对应的空间坐标;π用于表示摄像设备从三维坐标点到图像平面的投影;若uij对应的特征对中包括边缘特征,则edge(uij)的取值为1,若uij对应的特征对中不包括边缘特征,则edge(uij)的取值为0;val为边缘特征在信息矩阵中的权重,val>0。
可以理解的,对于每个特征对,若该特征对中不包括边缘特征,则edge(uij)的取值为0,也就是说该特征对在信息矩阵中对应的元素值不变;若该特征对中包括边缘特征,则edge(uij)的取值为1,本申请实施例中val的值可以为0.15,也就是说该特征对在信息矩阵中对应的元素值将被增大至1.15倍。
S303、确定每个特征对对应的空间坐标。
S304、基于目标信息矩阵和各特征对的像素坐标和空间坐标,进行重投影误差计算,得到调整后的各特征对的空间坐标和相机位姿。
如图4所示,图4为空间坐标Pj的重投影误差的示例性示意图。图4中左侧表示在位姿Ti-1下空间坐标Pj投影,投影的像素坐标为Pj′,Oi-1为在Ti-1位姿下相机的光心。图4中右侧表示在位姿Ti下空间坐标Pj投影,投影的像素坐标Pj″,Oi为在Ti位姿下相机的光心。uij为空间坐标Pj投影的理论像素坐标,由于相机位姿以及观测点的噪声,Pj在位姿Ti下的匹配关键点Pj″与uij之间存在误差,也即是重投影误差。
S305、基于调整后的各特征对的空间坐标和相机位姿构建地图。
在本申请实施例中,经过前端对边缘特征的特征对匹配,得到了边缘特征的关键点周围像素变化较小的特征对,这些特征对可以持续地在SLAM***中发挥稳定的正面特征,可以降低边缘特征因空间结构的不稳定对SLAM***的不良影响。且因为大多数物体的轮廓独特且复杂,所以本申请实施例中通过实例分割确定出的边缘特征具有鲜明的辨识性。所以在后端处理过程中,本申请实施例提高了边缘特征在非线性优化过程中的权重,使得本申请实施例确定出的边缘特征的优点充分被发挥,进一步提高了定位及建图的精度。
本申请实施例的整体处理过程如图5所示,SLAM***的前端可以获取摄像头采集的图像,存储图像信息,上述实施例中的当前帧图像属于该图像信息。
然后前端每次采集到一帧图像,以当前帧图像为例,前端需从当前帧图像中提取多个关键特征,每个关键特征包括关键点坐标和描述子。前端还可以对当前帧图像进行实例分割。然后通过实例分割的结果,判断上述多个关键特征中的每个关键特征是否为边缘特征。
然后对上述多个关键特征进行特征匹配,对于边缘特征,需添加额外的约束。特征匹配的过程可参考上述实施例中的相关描述,此处不再赘述。
基于特征匹配得到的特征对,前端可以解算相机运动,得到各特征对对应的空间坐标,以及各特征对对应的相机位姿。
然后,在后端处理过程中,SLAM的后端需根据边缘特征调整信息矩阵,然后在光束法平差(Bundle Adjustment,BA)环节基于调整后的信息矩阵H对各特征对对应的空间坐标和相机位姿进行修正,然后根据修正后的空间坐标和相机位姿构建局部地图。
基于相同的发明构思,本发明实施例还提供一种同步定位与建图的装置,如图6所示,该装置包括:
获取模块601,用于获取摄像设备采集的当前帧图像;
特征提取模块602,用于从所述当前帧图像中提取多个关键特征,确定所述多个关键特征中的边缘特征和非边缘特征;
特征匹配模块603,用于针对所述多个关键特征中的每个非边缘特征,若该非边缘特征与第二关键特征之间的相似度大于第一预设阈值,则确定该非边缘特征与所述第二关键特征为互相匹配的特征对,所述第二关键特征为所述当前帧图像的上一帧图像的关键特征中,与该非边缘特征相似度最高的关键特征;
特征匹配模块603,还用于针对所述多个关键特征中的每个边缘特征,若该边缘特征与第三关键特征之间的相似度大于第二预设阈值,则确定该边缘特征与所述第三关键特征为互相匹配的特征对,所述第二预设阈值大于所述第一预设阈值,所述第三关键特征为所述当前帧图像的上一帧图像的关键特征中,与该边缘特征的相似度最高的关键特征;
建图模块604,用于根据确定的特征对构建地图。
可选地,所述多个关键特征中的每个关键特征包括关键点和描述子;特征匹配模块603,具体用于:
对所述当前帧图像进行实例分割,得到所述当前帧图像中的每个像素点所属的物体类别;
针对所述多个关键特征中的每个关键特征,判断该关键特征的描述子所表示的像素范围内是否包括至少两个不同物体类别的像素点,若是,则确定该关键特征为边缘特征;若否,则确定该关键特征为非边缘特征。
可选地,建图模块604,具体用于:
确定原始信息矩阵,所述原始信息矩阵中的每个元素分别用于表示对一个特征对的误差的重视程度;
对于每个特征对,若该特征对中包括至少一个边缘特征,则将所述原始信息矩阵中,该特征对对应的元素值增大至预设值,得到调整后的目标信息矩阵;
确定每个特征对对应的空间坐标;
基于所述目标信息矩阵和各特征对的像素坐标和空间坐标,进行重投影误差计算,得到调整后的各特征对的空间坐标和相机位姿;
基于调整后的各特征对的空间坐标和相机位姿构建地图。
其中,H为所述目标信息矩阵,为所述原始信息矩阵,uij为在位姿Ti=[Ri|ti]时,空间坐标Pj对应的理论像素坐标;Ri为旋转矩阵,ti为位移,为旋转矩阵的转置;Pj为一个特征对对应的空间坐标;π用于表示摄像设备从三维坐标点到图像平面的投影;若uij对应的特征对中包括边缘特征,则edge(uij)的取值为1,若uij对应的特征对中不包括边缘特征,则edge(uij)的取值为0;val为边缘特征在信息矩阵中的权重,val>0;
本申请实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现上述方法实施例中的方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一同步定位与建图的方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一同步定位与建图的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (8)
1.一种同步定位与建图的方法,其特征在于,所述方法包括:
获取摄像设备采集的当前帧图像;
从所述当前帧图像中提取多个关键特征,确定所述多个关键特征中的边缘特征和非边缘特征;
针对所述多个关键特征中的每个非边缘特征,若该非边缘特征与第二关键特征之间的相似度大于第一预设阈值,则确定该非边缘特征与所述第二关键特征为互相匹配的特征对,所述第二关键特征为所述当前帧图像的上一帧图像的关键特征中,与该非边缘特征相似度最高的关键特征;
针对所述多个关键特征中的每个边缘特征,若该边缘特征与第三关键特征之间的相似度大于第二预设阈值,则确定该边缘特征与所述第三关键特征为互相匹配的特征对,所述第二预设阈值大于所述第一预设阈值,所述第三关键特征为所述当前帧图像的上一帧图像的关键特征中,与该边缘特征的相似度最高的关键特征;
根据确定的特征对构建地图;
所述根据确定的特征对构建地图,包括:
确定原始信息矩阵,所述原始信息矩阵中的每个元素分别用于表示对一个特征对的误差的重视程度;
对于每个特征对,若该特征对中包括至少一个边缘特征,则将所述原始信息矩阵中,该特征对对应的元素值增大至预设值,得到调整后的目标信息矩阵;
确定每个特征对对应的空间坐标;
基于所述目标信息矩阵和各特征对的像素坐标和空间坐标,进行重投影误差计算,得到调整后的各特征对的空间坐标和相机位姿;
基于调整后的各特征对的空间坐标和相机位姿构建地图。
2.根据权利要求1所述的方法,其特征在于,所述多个关键特征中的每个关键特征包括关键点和描述子;所述确定所述多个关键特征中的边缘特征,包括:
对所述当前帧图像进行实例分割,得到所述当前帧图像中的每个像素点所属的物体类别;
针对所述多个关键特征中的每个关键特征,判断该关键特征的描述子所表示的像素范围内是否包括至少两个不同物体类别的像素点,若是,则确定该关键特征为边缘特征;若否,则确定该关键特征为非边缘特征。
3.根据权利要求1所述的方法,其特征在于,所述对于每个特征对,若该特征对中包括至少一个边缘特征,则将所述原始信息矩阵中,该特征对对应的元素值增大至预设值,得到调整后的目标信息矩阵,包括:
其中,H为所述目标信息矩阵,为所述原始信息矩阵,uij为在位姿Ti=[Ri|ti]时,空间坐标Pj对应的理论像素坐标;Ri为旋转矩阵,ti为位移,为旋转矩阵的转置;Pj为一个特征对对应的空间坐标;π用于表示摄像设备从三维坐标点到图像平面的投影;若uij对应的特征对中包括边缘特征,则edge(uij)的取值为1,若uij对应的特征对中不包括边缘特征,则edge(uij)的取值为0;val为边缘特征在信息矩阵中的权重,val>0;
基于所述目标信息矩阵和各特征对的像素坐标和空间坐标,进行重投影误差计算,得到调整后的各特征对的空间坐标和相机位姿,包括:
4.一种同步定位与建图的装置,其特征在于,所述装置包括:
获取模块,用于获取摄像设备采集的当前帧图像;
特征提取模块,用于从所述当前帧图像中提取多个关键特征,确定所述多个关键特征中的边缘特征和非边缘特征;
特征匹配模块,用于针对所述多个关键特征中的每个非边缘特征,若该非边缘特征与第二关键特征之间的相似度大于第一预设阈值,则确定该非边缘特征与所述第二关键特征为互相匹配的特征对,所述第二关键特征为所述当前帧图像的上一帧图像的关键特征中,与该非边缘特征相似度最高的关键特征;
所述特征匹配模块,还用于针对所述多个关键特征中的每个边缘特征,若该边缘特征与第三关键特征之间的相似度大于第二预设阈值,则确定该边缘特征与所述第三关键特征为互相匹配的特征对,所述第二预设阈值大于所述第一预设阈值,所述第三关键特征为所述当前帧图像的上一帧图像的关键特征中,与该边缘特征的相似度最高的关键特征;
建图模块,用于根据确定的特征对构建地图;
所述建图模块,具体用于:
确定原始信息矩阵,所述原始信息矩阵中的每个元素分别用于表示对一个特征对的误差的重视程度;
对于每个特征对,若该特征对中包括至少一个边缘特征,则将所述原始信息矩阵中,该特征对对应的元素值增大至预设值,得到调整后的目标信息矩阵;
确定每个特征对对应的空间坐标;
基于所述目标信息矩阵和各特征对的像素坐标和空间坐标,进行重投影误差计算,得到调整后的各特征对的空间坐标和相机位姿;
基于调整后的各特征对的空间坐标和相机位姿构建地图。
5.根据权利要求4所述的装置,其特征在于,所述多个关键特征中的每个关键特征包括关键点和描述子;所述特征匹配模块,具体用于:
对所述当前帧图像进行实例分割,得到所述当前帧图像中的每个像素点所属的物体类别;
针对所述多个关键特征中的每个关键特征,判断该关键特征的描述子所表示的像素范围是否包括至少两个不同物体类别的像素点,若是,则确定该关键特征为边缘特征;若否,则确定该关键特征为非边缘特征。
6.根据权利要求4所述的装置,其特征在于,
其中,H为所述目标信息矩阵,为所述原始信息矩阵,uij为在位姿Ti=[Ri|ti]时,空间坐标Pj对应的理论像素坐标;Ri为旋转矩阵,ti为位移,为旋转矩阵的转置;Pj为一个特征对对应的空间坐标;π用于表示摄像设备从三维坐标点到图像平面的投影;若uij对应的特征对中包括边缘特征,则edge(uij)的取值为1,若uij对应的特征对中不包括边缘特征,则edge(uij)的取值为0;val为边缘特征在信息矩阵中的权重,val>0;
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-3任一所述的方法步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-3任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010640171.6A CN111814869B (zh) | 2020-07-06 | 2020-07-06 | 一种同步定位与建图的方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010640171.6A CN111814869B (zh) | 2020-07-06 | 2020-07-06 | 一种同步定位与建图的方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111814869A CN111814869A (zh) | 2020-10-23 |
CN111814869B true CN111814869B (zh) | 2022-11-08 |
Family
ID=72841558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010640171.6A Active CN111814869B (zh) | 2020-07-06 | 2020-07-06 | 一种同步定位与建图的方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111814869B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106489170A (zh) * | 2013-08-12 | 2017-03-08 | 苹果公司 | 基于视觉的惯性导航 |
CN108665508A (zh) * | 2018-04-26 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 一种即时定位与地图构建方法、装置及存储介质 |
WO2019062291A1 (zh) * | 2017-09-29 | 2019-04-04 | 歌尔股份有限公司 | 一种双目视觉定位方法、装置及*** |
CN110246147A (zh) * | 2019-05-14 | 2019-09-17 | 中国科学院深圳先进技术研究院 | 视觉惯性里程计方法、视觉惯性里程计装置及移动设备 |
CN110648397A (zh) * | 2019-09-18 | 2020-01-03 | Oppo广东移动通信有限公司 | 场景地图生成方法、装置、存储介质及电子设备 |
-
2020
- 2020-07-06 CN CN202010640171.6A patent/CN111814869B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106489170A (zh) * | 2013-08-12 | 2017-03-08 | 苹果公司 | 基于视觉的惯性导航 |
WO2019062291A1 (zh) * | 2017-09-29 | 2019-04-04 | 歌尔股份有限公司 | 一种双目视觉定位方法、装置及*** |
CN108665508A (zh) * | 2018-04-26 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 一种即时定位与地图构建方法、装置及存储介质 |
CN110246147A (zh) * | 2019-05-14 | 2019-09-17 | 中国科学院深圳先进技术研究院 | 视觉惯性里程计方法、视觉惯性里程计装置及移动设备 |
CN110648397A (zh) * | 2019-09-18 | 2020-01-03 | Oppo广东移动通信有限公司 | 场景地图生成方法、装置、存储介质及电子设备 |
Non-Patent Citations (2)
Title |
---|
《EF-Razor: An Effective Edge-Feature Processing Method in Visual SLAM》;Wen Liu 等;《IEEE Access》;20200804;第8卷;全文 * |
《视觉SLAM中特征语义表达研究》;莫耀凯;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20210515;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111814869A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021115071A1 (zh) | 单目内窥镜图像的三维重建方法、装置及终端设备 | |
CN110322500B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
US9177404B2 (en) | Systems and methods of merging multiple maps for computer vision based tracking | |
US8953847B2 (en) | Method and apparatus for solving position and orientation from correlated point features in images | |
WO2017181899A1 (zh) | 一种人脸活体验证方法及装置 | |
US20200116498A1 (en) | Visual assisted distance-based slam method and mobile robot using the same | |
CN110070564B (zh) | 一种特征点匹配方法、装置、设备及存储介质 | |
WO2021196548A1 (zh) | 距离确定方法、装置及*** | |
CN112348863B (zh) | 图像对齐方法、图像对齐装置及终端设备 | |
CN109784250B (zh) | 自动引导小车的定位方法和装置 | |
KR20140014298A (ko) | 모바일 디바이스들에 대한 평면 맵핑 및 트래킹 | |
CN112184811B (zh) | 单目空间结构光***结构校准方法及装置 | |
CN112102404B (zh) | 物体检测追踪方法、装置及头戴显示设备 | |
CN112652020B (zh) | 一种基于AdaLAM算法的视觉SLAM方法 | |
CN110969100A (zh) | 一种人体关键点识别方法、装置及电子设备 | |
Jung et al. | Object Detection and Tracking‐Based Camera Calibration for Normalized Human Height Estimation | |
WO2016208404A1 (ja) | 情報処理装置および方法、並びにプログラム | |
CN111950554A (zh) | 一种身份证识别方法、装置、设备及存储介质 | |
JP2013218396A (ja) | 対応点探索装置、そのプログラム及びカメラパラメータ推定装置 | |
JP6086491B2 (ja) | 画像処理装置およびそのデータベース構築装置 | |
CN109902695B (zh) | 一种面向像对直线特征匹配的线特征矫正与提纯方法 | |
CN111814869B (zh) | 一种同步定位与建图的方法、装置、电子设备及存储介质 | |
WO2022174603A1 (zh) | 一种位姿预测方法、位姿预测装置及机器人 | |
CN113126117B (zh) | 一种确定sfm地图绝对尺度的方法及电子设备 | |
Kanaeva et al. | Camera pose and focal length estimation using regularized distance constraints |
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 |