CN111144349A - 一种室内视觉重定位方法及*** - Google Patents
一种室内视觉重定位方法及*** Download PDFInfo
- Publication number
- CN111144349A CN111144349A CN201911399629.7A CN201911399629A CN111144349A CN 111144349 A CN111144349 A CN 111144349A CN 201911399629 A CN201911399629 A CN 201911399629A CN 111144349 A CN111144349 A CN 111144349A
- Authority
- CN
- China
- Prior art keywords
- plane
- points
- current image
- image
- depth map
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
-
- 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
- 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/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
- G06V10/464—Salient features, e.g. scale invariant feature transforms [SIFT] using a plurality of salient features, e.g. bag-of-words [BoW] representations
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种室内视觉重定位方法及***,用于在视觉重定位时获取深度相机的位姿。建立存储有相机所拍摄图像及相机拍摄图像时位姿的数据库,获取视觉重定位时相机拍摄的当前图像,在数据库中选取与当前图像相似性最大的图像作为候选图像。获取候选图像与当前图像间相互匹配的每对匹配内点,判断匹配内点的总对数是否满足预设内点数量条件,如果是,利用所有对匹配内点计算相机当前的位姿;如果否,获取并配准当前图像的深度图及候选图像的深度图。计算配准后当前图像深度图与候选图像深度图之间的变换关系矩阵,根据相机拍摄候选图像时的位姿,以及变换关系矩阵计算相机当前的位姿。将当前图像和相机当前的位姿存储在数据库中。
Description
技术领域
本发明涉及计算机视觉技术领域,特别是涉及一种室内视觉重定位方法及***。
背景技术
SLAM(Simultaneous Localization and Mapping)是同步定位与地图构建技术,广泛应用于机器人的自主导航。可简单理解为:当搭载有传感器的机器人在未知环境中运动时,SLAM利用传感器实时获取机器人的位置及其所在未知环境的三维结构。
机器人搭载的传感器大多为相机,SLAM通过移动过程中相机连续拍摄的图像确定机器人的位置。但是在真实场景下,相机受光照变化、视角变化、运动物体及环境变化等因素影响,所拍摄图像的连贯性较差。例如,相机拍摄上一幅图像时光线充足,相片成像质量较好,相机拍摄下一幅图像时光线变弱,相片暗淡模糊。这导致SLAM无法利用图像对机器人进行连续定位,因此,需要采用重定位方法重新获取机器人上相机的位姿,从而保证SLAM的持续运行。
重定位方法主要包括场景识别和相机位姿估计两步骤。其中,场景识别是在已有的图像数据库中找到与当前图像最相似(拍摄的是同一场景或地点)的候选图像;相机位姿估计则是根据当前图像与候选图像间的相机位姿变换关系,获得拍摄当前图像时的相机位姿。
目前,重定位普遍采用词袋模型(Bag-of-Words,BoW)的方式,首先,将图像表征为特征点的集合,根据当前图像中的特征点确定与其最为相似的候选图像,然后,通过当前图像与候选图像之间特征点的匹配获取当前相机的位姿。这种方式相对较成熟,运算速度快,但是,特征点只能表达图像中的局部信息,导致该方法应用于动态物体、大视角变化、季节变化等极端情况时具有局限性。而另一种基于卷积神经网络的方式,不依赖于图像中的特征点,可有效应对上述缺陷。这种方式通过多任务深度神经网络同时获取候选图像及当前相机位的位姿,但需要进行大量训练,训练难度较大,且计算复杂度高,对实际场景的通用性和可扩展性有限。
发明内容
本发明实施例中提供了一种室内视觉重定位方法及***,以解决现有重定位方法或者仅基于局部的图像特征,难以应对极端环境变化,或者需要大量额外训练,导致通用性和可扩展性有限的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
一种室内视觉重定位方法,用于在视觉重定位时获取深度相机的位姿,所述深度相机被搭载在可移动设备上,包括:
建立存储有相机所拍摄图像,以及相机拍摄图像时位姿的数据库;
获取视觉重定位时相机拍摄的当前图像;
在数据库中选取与当前图像相似性最大的图像作为候选图像;
获取候选图像与当前图像之间相互匹配的每对匹配内点;
判断所述匹配内点的总对数是否满足预设内点数量条件,
如果是,利用所有对匹配内点计算相机当前的位姿;
如果否,获取并配准当前图像的深度图及候选图像的深度图;
计算配准后当前图像深度图与候选图像深度图之间的变换关系矩阵;
根据相机拍摄候选图像时的位姿,以及所述变换关系矩阵计算相机当前的位姿;
将当前图像和相机当前的位姿存储在所述数据库中。
可选的,所述获取视觉重定位时相机拍摄的当前图像,包括:
判断是否能够监测到相机拍摄图像时的位姿,
如果否,将无法监测到位姿时相机拍摄的图像作为当前图像。
可选的,所述在数据库中选取与当前图像相似性最大图像作为候选图像,包括:
利用场景识别网络将数据库中所有图像以及当前图像表征为多维向量;
分别计算数据库中每幅图像所对应向量与当前图像所对应向量之间的距离;
获取与当前图像对应向量距离最小的向量,并将所述距离最小的向量对应的图像作为候选图像。
可选的,所述获取候选图像与当前图像之间相互匹配的每对匹配内点,包括:
获取当前图像与候选图像之间相对应的特征点;
利用随机选取的四对特征点计算候选图像坐标系与当前图像坐标系之间的转换关系;
根据所述转换关系获取候选图像坐标系下所有三维的特征点在当前图像中二维的投影点;
分别计算每一个投影点与当前图像中所有特征点之间的像素距离;
针对每一个投影点,获取当前图像中与所述投影点像素距离最短的特征点;判断所述投影点与所述特征点之间的像素距离是否小于预设距离阈值,
如果是,将当前图像中与投影点像素距离最短的二维的特征点,以及,所述投影点对应的三维的特征点作为一对匹配内点;
判断计算转换关系的次数是否小于预设计算次数阈值,
如果是,再次随机选取四对特征点重新计算候选图像坐标系与当前图像坐标系之间的转换关系,并利用重新计算的转换关系获取匹配内点;
如果否,比较每次获取的匹配内点的对数,将对数最多的匹配内点作为候选图像与当前图像之间相互匹配的匹配内点。
可选的,所述利用所有对匹配内点计算相机当前的位姿,包括:
利用所有对匹配内点计算当前图像与候选图像之间的变换关系矩阵;
根据相机拍摄候选图像时的位姿,以及所述变换关系矩阵,利用坐标变换计算相机当前的位姿。
可选的,所述获取并配准当前图像的深度图及候选图像的深度图,包括:
分别获取当前图像和候选图像的深度图;
提取当前图像深度图中的显著平面,以及,候选图像深度图中的显著平面;
计算当前图像深度图中显著平面的法向量,以及,候选图像深度图中显著平面的法向量;
采用将二个所述法向量对齐的方式计算当前图像深度图与候选图像深度图之间的配准初值;
利用配准初值和配准算法配准当前图像深度图与候选图像深度图。
可选的,所述提取当前图像深度图中的显著平面,以及,候选图像深度图中的显著平面,包括:
分别滤除当前图像深度图及候选图像深度图中的噪声;
针对当前图像,随机选取当前图像深度图中的三个像素点,每个像素点各自对应一个三维空间点,利用三个像素点各自对应的三维空间点构建一个平面;
分别计算当前图像深度图中每一个像素点到所述平面的距离;
将与平面之间距离小于预设平面距离阈值的像素点作为平面内点;
判断已构建平面的数量是否小于预设平面数量阈值,
如果是,再次随机选取三个像素点重新构建一个平面,并计算平面内点;
如果否,比较每次构建平面所得到的平面内点数量,将对应平面内点数量最多的平面作为当前图像深度图中的显著平面。
针对候选图像,随机选取候选图像深度图中的三个像素点,每个像素点各自对应一个三维空间点,利用三个像素点各自对应的三维空间点构建一个平面;
分别计算候选图像深度图中每一个像素点到所述平面的距离;
将与平面之间距离小于预设平面距离阈值的像素点作为平面内点;
判断已构建平面的数量是否小于预设平面数量阈值,
如果是,再次随机选取三个像素点重新构建一个平面,并计算平面内点;
如果否,比较每次构建平面所得到的平面内点数量,将对应平面内点数量最多的平面作为候选图像深度图中的显著平面。
一种室内视觉重定位***,用于在视觉重定位时获取深度相机的位姿,所述深度相机被搭载在可移动设备上,包括:
数据库建立模块,用于建立存储有相机所拍摄图像,以及相机拍摄图像时位姿的数据库;
当前图像获取模块,用于获取视觉重定位时相机拍摄的当前图像;
候选图像获取模块,用于在数据库中选取与当前图像相似性最大的图像作为候选图像;
匹配内点获取模块,用于获取候选图像与当前图像之间相互匹配的每对匹配内点;
内点计算位姿模块,用于在所述匹配内点的总对数满足预设内点数量条件时,利用所有对匹配内点计算相机当前的位姿;
配准模块,用于在所述匹配内点的总对数不满足预设内点数量条件时,获取并配准当前图像的深度图及候选图像的深度图;
变换关系矩阵计算模块,用于计算配准后当前图像深度图与候选图像深度图之间的变换关系矩阵;
矩阵计算位姿模块,用于根据相机拍摄候选图像时的位姿,以及所述变换关系矩阵计算相机当前的位姿;
数据库存储模块,用于将当前图像和相机当前的位姿存储在所述数据库中。
可选的,所述候选图像获取模块,包括:
向量表征模块,用于利用场景识别网络将数据库中所有图像以及当前图像表征为多维向量;
向量距离计算模块,用于分别计算数据库中每幅图像所对应向量与当前图像所对应向量之间的距离;
候选图像确定模块,用于获取与当前图像对应向量距离最小的向量,并将所述距离最小的向量对应的图像作为候选图像。
可选的,所述匹配内点获取模块,包括:
特征点获取模块,用于获取当前图像与候选图像之间相对应的特征点;
转换关系计算模块,用于利用随机选取的四对特征点计算候选图像坐标系与当前图像坐标系之间的转换关系;
投影点获取模块,用于根据所述转换关系获取候选图像坐标系下所有三维的特征点在当前图像中二维的投影点;
像素距离计算模块,用于分别计算每一个投影点与当前图像中所有特征点之间的像素距离;
最短距离特征点获取模块,用于针对每一个投影点,获取当前图像中与所述投影点像素距离最短的特征点;
投影点匹配内点确认模块,用于在所述投影点与所述特征点之间的像素距离是否小于预设距离阈值时,将当前图像中与投影点像素距离最短的二维的特征点,以及,所述投影点对应的三维的特征点作为一对匹配内点;
匹配内点重获取模块,用于在计算转换关系的次数小于预设计算次数阈值时,再次随机选取四对特征点重新计算候选图像坐标系与当前图像坐标系之间的转换关系,并利用重新计算的转换关系获取匹配内点;
匹配内点确认模块,用于在计算转换关系的次数不小于预设计算次数阈值时,比较每次获取的匹配内点的对数,将对数最多的匹配内点作为候选图像与当前图像之间相互匹配的匹配内点。
可选的,所述内点计算位姿模块,包括:
变换关系矩阵计算模块,用于利用所有对匹配内点计算当前图像与候选图像之间的变换关系矩阵;
位姿计算模块,用于根据相机拍摄候选图像时的位姿,以及所述变换关系矩阵,利用坐标变换计算相机当前的位姿。
可选的,配准模块,包括:
深度图获取模块,用于分别获取当前图像和候选图像的深度图;
显著平面提取模块,用于提取当前图像深度图中的显著平面,以及,候选图像深度图中的显著平面;
法向量计算模块,用于计算当前图像深度图中显著平面的法向量,以及,候选图像深度图中显著平面的法向量;
配准初值计算模块,用于采用将二个所述法向量对齐的方式计算当前图像深度图与候选图像深度图之间的配准初值;
配准子模块,用于利用配准初值和配准算法配准当前图像深度图与候选图像深度图。
可选的,显著平面提取模块,包括:
噪声滤除模块,用于分别滤除当前图像深度图及候选图像深度图中的噪声;
当前图像平面构建模块,用于针对当前图像,随机选取当前图像深度图中的三个像素点,每个像素点各自对应一个三维空间点,利用三个像素点各自对应的三维空间点构建一个平面;
当前图像像素距离模块,用于分别计算当前图像深度图中每一个像素点到所述平面的距离;
当前图像平面内点模块,用于将与平面之间距离小于预设平面距离阈值的像素点作为平面内点;
当前图像平面重构模块,用于在已构建平面的数量小于预设平面数量阈值时,再次随机选取三个像素点重新构建一个平面,并计算平面内点;
当前图像显著平面确认模块,用于在已构建平面的数量不小于预设平面数量阈值时,比较每次构建平面所得到的平面内点数量,将对应平面内点数量最多的平面作为当前图像深度图中的显著平面。
候选图像平面构建模块,用于针对候选图像,随机选取候选图像深度图中的三个像素点,每个像素点各自对应一个三维空间点,利用三个像素点各自对应的三维空间点构建一个平面;
候选图像像素距离模块,用于分别计算候选图像深度图中每一个像素点到所述平面的距离;
候选图像平面内点模块,用于将与平面之间距离小于预设平面距离阈值的像素点作为平面内点;
候选图像平面重构模块,用于在已构建平面的数量小于预设平面数量阈值时,再次随机选取三个像素点重新构建一个平面,并计算平面内点;
候选图像显著平面确认模块,用于在已构建平面的数量不小于预设平面数量阈值时,比较每次构建平面所得到的平面内点数量,将对应平面内点数量最多的平面作为候选图像深度图中的显著平面。
由以上技术方案可见,本发明实施例提供的一种室内视觉重定位方法及***,在需要重定位相机当前位姿时,首先获取与相机所拍摄当前图像相似性最大的候选图像,然后获取候选图像与当前图像之间相互匹配的匹配内点。在匹配内点总对数满足预设内点数量条件时,利用所有对匹配内点计算相机当前的位姿,在匹配内点总对数没有满足预设内点数量条件时,获取并配准当前图像的深度图及候选图像的深度图,计算配准后当前图像深度图与候选图像深度图之间的变换关系矩阵,利用相机拍摄候选图像时的位姿,以及变换关系矩阵计算相机当前的位姿。
本发明公开的一种室内视觉重定位方法及***,一方面可以提升重定位的鲁棒性,另一方面可以增加重定位的通用性和可扩展性,大大缩短重定位算法的开发周期。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种室内视觉重定位方法的流程示意图;
图2为本发明实施例提供的一种图1中步骤S102的流程示意图;
图3为本发明实施例提供的一种图1中步骤S103的流程示意图;
图4为本发明实施例提供的一种图1中步骤S104的流程示意图;
图5为本发明实施例提供的一种图1中步骤S106的流程示意图;
图6为本发明实施例提供的一种图1中步骤S107的流程示意图;
图7为本发明实施例提供的一种图6中步骤S702的流程示意图;
图8为本发明实施例提供的一种室内视觉重定位***的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1为本发明实施例公开的一种室内视觉重定位方法的流程示意图,该方法用于在视觉重定位时获取深度相机的位姿,其中,深度相机被搭载在可移动设备上。例如,可移动设备为室内服务类型的机器人,机器人在服务过程中需要了解周围情况以明确移动路线,通常,机器人上搭载有相机,相机在机器人运动过程中连续拍摄图像,利用相邻时刻所拍摄图像之间的差异获取相机的实时位姿,进而确定机器人的移动路线。但是,在机器人所处的环境发生较大变化时,如动态物体、光照变化、视角变化等,相机在相邻时刻所拍摄图像之间的差异较大,导致无法获取相机的位姿,此时,便需要对相机位姿进行重定位。
本发明公开的实施例正是一种应用于室内的视觉重定位方法,如图1所示,该方法包括以下步骤。
步骤S101:建立存储有相机拍摄图像,以及相机拍摄图像时位姿的数据库。
本发明实施例中应用的相机为深度相机,深度相机可以在拍摄得到场景彩色图像的同时获得场景的深度信息,其中,深度信息能够表达出彩色图像上每个像素在图像坐标系下的三维坐标,利用所有像素的三维坐标可以生成一幅与彩色图像对应的深度图。典型的深度相机有Kinect、Realsense等。
建立一个存储有相机所拍摄图像的数据库,相机每次拍摄的图像都将存储在该数据库。同时,数据库中还存储有相机拍摄每幅图像时的位姿,其中,相机位姿是一个6自由度的未知量,包含3自由度的旋转参数和3自由度的平移参数。
步骤S102:获取视觉重定位时相机拍摄的当前图像。
在本发明公开的实施例中,如图2所示,该步骤可以由以下子步骤完成。
步骤S201:判断是否能够监测到相机拍摄图像时的位姿。
持续监测相机拍摄图像时的位姿,如果在相机拍摄图像时能够监测到其位姿,说明当前相机位姿可被获取;如果相机拍摄图像时不能够监测到其位姿,说明当前相机位姿已经丢失,需要重新获取相机的位姿,执行步骤S202。
步骤S202:将无法监测到位姿时相机拍摄的图像作为当前图像。
若相机在某一时刻拍摄图像的位姿无法获得,将相机在该时刻拍摄的图像作为当前图像。
在完成步骤S102后,继续执行步骤S103。
步骤S103:在数据库中选取与当前图像相似性最大的图像作为候选图像。
若同一个相机拍摄的两幅图像相类似,说明相机在拍摄这两幅图像时的位姿相近。因此,在重定位相机位姿时,若能够获得与当前图像相似的图像,则可以通过相机拍摄相似图像时的位姿,计算出相机拍摄当前图像时的位姿。
在本发明公开的实施例中,如图3所示,采用以下步骤获取与当前图像相似性最大的图像。
步骤S301:利用场景识别网络将数据库中所有图像以及当前图像表征为多维向量。
场景识别网络是基于深度学习网络对单张场景图片进行鲁棒的高层表征,这种表征的好处是即使场景中存在较大变化,也能通过高层表征间的距离找到与目标图像所对应的场景。例如,两个视角变化相当大的图像,如果不通过场景识别网络所建立的高层表征,而仅仅通过一些局部的特征,是不能正确建立出二者间的对应关系的。常见的场景识别网络包括NetVLAD、CALC等。
在本发明公开的实施例中,利用已有的场景识别网络对数据库中所有图像以及当前图像进行全局向量表征,将每幅图像都分别表征为一个多维向量,即,一幅图像对应一个多维向量。例如,采用NetVLAD网络将当前图像和数据图中所有图像均分别表征为一个4096维的向量。
步骤S302:分别计算数据库中每幅图像所对应向量与当前图像所对应向量之间的距离。
针对数据库中每幅图像,计算其对应的向量与当前图像对应的向量之间的距离。在本发明公开的一个具体实施例中,可采用以下方式计算向量之间的距离。
假设数据库中一幅图像对应的向量为X1=(x1,y1,z1),当前图像对应的向量为X2=(x2,y2,z2),实际情况中向量的维数较多,为便于举例,仅采用三维向量以做说明。
向量X1和X2之间的距离为:sqrt((x1-x2)2+(y1-y2)2+(z1-z2)2))
步骤S303:获取与当前图像对应向量距离最小的向量,并将距离最小的向量对应的图像作为候选图像。
在得到数据库中每幅图像对应向量与当前图像对应向量之间的距离之后,选出与当前图像对应向量距离最小的向量,确定在数据库中该向量对应的图像与当前图像相似性最大,将这幅图像作为候选图像。
在完成步骤S103后,继续执行步骤S104。
步骤S104:获取候选图像与当前图像之间相互匹配的每对匹配内点。
在本发明公开的实施例中,如图4所示,该步骤可由以下子步骤完成。
步骤S401:获取当前图像与候选图像之间相对应的特征点。
通过现有的局部特征提取算子和特征描述子直接建立当前图像和候选图像间的特征匹配关系。在本发明公开的一个具体实施例中,采用具有尺度、旋转、光照不变性的ORB(Oriented FAST and Rotated BRIEF)特征作为提取算子和特征描述子,由此计算得到当前图像与候选图像之间相对应的每对特征点,即当前图像中的每个特征点在候选图像中均对应有一个特征点,两幅图像中的两个特征点构成一对。
步骤S402:利用随机选取的四对特征点计算候选图像坐标系与当前图像坐标系之间的转换关系。
在步骤S401中得到的所有对特征点中,随机选取四对特征点,基于这四对特征点,利用PnP(Perspective-n-Point)算法,计算候选图像坐标系与当前图像坐标系之间的转换关系。这个转换关系并非最终计算相机当前位姿所采用的变换关系矩阵,而仅仅用于获得匹配内点。
下面对PnP算法的过程展开说明。用w表示候选图像的坐标系,c表示当前图像的坐标系。候选图像坐标系中的三维特征点表示为Xw=[Xw,Yw,Zw]T,它可以通过SLAM中的多视重建或直接读取图像对应深度图得到。相机的相对位姿可以表示为从候选图像坐标系到当前图像坐标系的三维变换矩阵Tcw∈SΕ(3)。这样,候选图像坐标系中的任意一个三维点Xw均可以通过Xc=TcwXw转换到当前图像坐标系中。
步骤S403:根据转换关系获取候选图像坐标系下所有三维的特征点在当前图像中二维的投影点。
在获取转换关系后,将候选图像坐标系下每一个三维的特征点投影到当前图像并生成投影点,即候选图像坐标系下每个三维的特征点在当前图像中均分别对应一个二维的投影点,三维的特征点与二维的投影点一一对应。
步骤S404:分别计算每一个投影点与当前图像中所有特征点之间的像素距离。
计算每个投影点与当前图像中所有特征点之间的像素距离,即一个投影点与当前图像中所有特征点之间各自的像素距离。
针对每一个投影点,均执行下述步骤。
步骤S405:针对每一个投影点,获取当前图像中与投影点像素距离最短的特征点。
在当前图像所有的特征点中,选择与该投影点像素距离最短的特征点。
步骤S406:判断投影点与特征点之间的像素距离是否小于预设距离阈值。
在本发明公开的实施例中,预先设置有距离阈值,用于判断投影点与特征点之间的像素距离是否满足要求。
判断该投影点与选择出的这个特征点之间的像素距离是否小于预设距离阈值。
如果是,执行步骤S407。
步骤S407:将当前图像中与投影点像素距离最短的二维的特征点,以及,投影点对应的三维的特征点作为一对匹配内点。
如果该投影点与选择出的这个特征点之间的像素距离小于预设阈值,则将当前图像中这个选择出的二维的特征点,与该投影点在候选图像坐标系下对应的三维的特征点作为一对匹配内点。
如果该投影点与选择出的这个特征点之间的像素距离大于或等于预设阈值,则认为该投影点在候选图像坐标系下没有对应的匹配内点。
步骤S408:判断计算转换关系的次数是否小于预设计算次数阈值。
在利用上述四对特征点计算转换关系后,判断已经计算得到的转换关系的次数是否小于预设的计算次数阈值。
如果计算转换关系的次数小于预设计算次数阈值,则执行步骤S409。
步骤S409:再次随机选取四对特征点重新计算候选图像坐标系与当前图像坐标系之间的转换关系,并利用重新计算的转换关系获取匹配内点。
利用这四对特征点按照前述步骤的方式,再次随机选取四对特征点,重新采用PnP算法计算候选图像坐标系与当前图像坐标系之间的转换关系,并且,利用这个重新计算的转换关系,按照前述步骤重新获取匹配内点。
如果计算转换关系的次数不小于预设计算次数阈值,则执行步骤S410。
步骤S410:比较每次获取的匹配内点的对数,将对数最多的匹配内点作为候选图像与当前图像之间相互匹配的匹配内点。
在完成前述步骤后,计算得到多个转换关系,每个转换关系均具有对应的匹配内点。比较每个转换关系所对应匹配内点的对数,若某个转换关系对应匹配内点的对数最多,说明根据这个转换关系得到的匹配内点最能体现候选图像坐标系与当前图像坐标系之间的关系。因此,将对数最多的匹配内点作为候选图像与当前图像之间相互匹配的匹配内点。
在完成步骤S104后,继续执行步骤S105。
步骤S105:判断匹配内点的总对数是否满足预设内点数量条件。
预先设定内点数量条件,在本发明公开的一个具体实施例中,该条件可以为:匹配内点对数与前述特征点对数的比例大于预设判别阈值,该预设判别阈值可以为0.6。
如果匹配内点的总对数满足预设内点数量条件,则执行步骤S106。
步骤S106:利用所有对匹配内点计算相机当前的位姿。
在本发明公开的实施例中,如图5所示,该步骤可以由以下子步骤完成。
步骤S601:利用所有对匹配内点计算当前图像与候选图像之间的变换关系矩阵。
按照前述计算转换关系的方式,采用PnP算法利用所有对匹配内点计算当前图像与候选图像之间最终的变换关系矩阵,该变换关系矩阵是能够使当前图像坐标系与候选图像坐标系之间相互转换的三维转换矩阵。
在本发明公开的实施例中,可采用如下的PnP算法,计算变换关系矩阵。
通过采用最小二乘法,以及,候选图像坐标系下三维特征点在当前图像的投影点与对应的二维特征点的欧式距离构造能量函数,进行相机位姿的求解。该能量函数可表达为:
于已知u和Xw的对应关系,可以通过奇异值分解的方法求得变换矩阵的闭式解。
步骤S602:根据相机拍摄候选图像时的位姿,以及变换关系矩阵,利用坐标变换计算相机当前的位姿。
数据库中存储有相机拍摄每一幅图像时的位姿,因此,在获得相机拍摄候选图像时的位姿后,根据该位姿与变换关系矩阵,利用坐标变换的相乘操作,可获得相机拍摄当前图像时的位姿,即相机当前的位姿。
如果匹配内点的总对数不满足预设内点数量条件,则执行步骤S107。说明单纯依靠图像的局部特征不足以确定相机的当前位姿,这很可能是因为场景中存在较大的变化导致的。为了有效应对上述问题,本发明公开的实施例利用当前图像和候选图像的深度信息计算相机的当前位姿。
步骤S107:获取并配准当前图像的深度图及候选图像的深度图。
深度相机拍摄的图像具有深度信息,深度信息能够表达出彩色图像上每个像素在图像坐标系下的三维坐标,利用所有像素的三维坐标可以生成一幅与彩色图像对应的深度图。
在本发明公开的实施例中,如图6所示,该步骤包括以下步骤。
步骤S701:分别获取当前图像和候选图像的深度图。
根据当前图像的深度信息生成当前图像的深度图,以及,根据候选图像的深度信息生成候选图像的深度图。
步骤S702:提取当前图像深度图中的显著平面,以及,候选图像深度图中的显著平面。
由于动态物体时会导致特征点的估计不准,大视角变化会导致对配准初值的严重依赖等问题,限制了直接进行三维配准的效果。为了提升在极端变化环境中三维配准的精度和鲁棒性,提出一种平面引导的深度配准方法。
由于室内环境中往往存在墙壁等显著结构化信息,而它们通常满足处于不变的假设条件。因此,对当前图像和候选图像的深度图提取出显著的平面特征,为后续配准提供一个较好的初值。
在本发明公开的实施例中,如图7所示,该方法包括以下子步骤。
步骤S721:分别滤除当前图像深度图及候选图像深度图中的噪声。
采用现有的去噪算法分别滤除当前图像深度图中的噪声,以及,候选图像深度图中的噪声。
执行步骤S722:针对当前图像,随机选取当前图像深度图中的三个像素点,每个像素点各自对应一个三维空间点,利用三个像素点各自对应的三维空间点构建一个平面。
深度图中每个像素点均各自对应着一个三维空间点,随机选取当前图像深度图中三个像素点,根据其各自对应的三维空间点构建一个平面。
步骤S723:分别计算当前图像深度图中每一个像素点到平面的距离。
在步骤S722随机构建出一个平面后,分别计算当前图像深度图中每一个像素点到该平面的距离。
步骤S724:将与平面之间距离小于预设平面距离阈值的像素点作为平面内点。
预先确定一个平面距离阈值,比较每个像素点到该平面的距离,将与该平面之间距离小于预设平面距离阈值的像素点作为平面内点。
步骤S725:判断已构建平面的数量是否小于预设平面数量阈值。
在利用前述步骤S722至步骤S724获得平面内点后,判断已构建平面的数量是否小于预设平面数量阈值。
如果已构建平面的数量小于预设平面数量阈值,则重复执行步骤S722。再次随机选取三个像素点重新构建一个平面,并计算平面内点。
利用再次随机选取的三个像素点重新构建一个平面,并重新计算这个新平面的平面内点。
如果已构建平面的数量不小于预设平面数量阈值,则执行步骤S726。
步骤S726:比较每次构建平面所得到的平面内点数量,将对应平面内点数量最多的平面作为当前图像深度图中的显著平面。
在完成前述步骤后,构建得到多个平面,每个平面均具有对应的平面内点。比较每个平面所对应平面内点的数量,若某个平面对应平面内点的数量最多,说明当前图像所拍摄范围内该平面的面积最大,通常情况下,提取出的平面是室内的墙壁。因此,将该平面作为当前图像深度图中的显著平面。
针对候选图像,与前述针对当前图像获取显著平面的步骤类似,此处不再赘述。
执行步骤S727:针对候选图像,随机选取候选图像深度图中的三个像素点,每个像素点各自对应一个三维空间点,利用三个像素点各自对应的三维空间点构建一个平面。
步骤S728:分别计算候选图像深度图中每一个像素点到平面的距离。
步骤S729:将与平面之间距离小于预设平面距离阈值的像素点作为平面内点。
步骤S730:判断已构建平面的数量是否小于预设平面数量阈值。
如果是,再次执行步骤S727。再次随机选取三个像素点重新构建一个平面,并计算平面内点。
如果否,步骤S731:比较每次构建平面所得到的平面内点数量,将对应平面内点数量最多的平面作为候选图像深度图中的显著平面。
由以上子步骤完成步骤S702,并继续执行步骤S703。
步骤S703:计算当前图像深度图中显著平面的法向量,以及,候选图像深度图中显著平面的法向量。
采用现有计算平面法向量的方式,计算当前图像深度图中显著平面的法向量,以及,计算候选图像深度图中显著平面的法向量。将法向量表示为n=(n1,n2,n3)T。
步骤S704:采用将二个法向量对齐的方式计算当前图像深度图与候选图像深度图之间的配准初值。
由当前图像深度图和候选图像深度图分别生成图像点云,并对两幅个像点云进行归一化处理。所得到配准初值中的平移部分就是归一化处理前两个点云各自位置均值的差,而两个法向量所形成的旋转矩阵(旋转轴是两个法向量的叉乘,旋转角度可由两个法向量的点积计算)就是配准初值中的旋转部分。
步骤S705:利用配准初值和配准算法配准当前图像深度图与候选图像深度图。
利用配准处置和现有配准算法配准当前图像深度图与候选图像深度图,例如,可采用ICP(Iterated Closest Point)算法对二者进行配准。拍摄场景中可能由于极端变化存在大量的离群点,因此在ICP的运行过程中需要设定一个阈值,当对应点的距离大于该阈值时,该组对应点将被剔除,不再应用于ICP过程中。需要注意的是,该阈值要求具有能够由大到小动态变化的属性,以与ICP不断迭代的过程相吻合。根据ICP迭代的次数对该阈值成比例地进行调整。例如,ICP一共迭代100次,每25次使阈值变为上一阶段的1/2。
步骤S108:计算配准后当前图像深度图与候选图像深度图之间的变换关系矩阵。
利用配准后的当前图像深度图与候选图像深度图,得到当前图像与候选图像之间的变换关系矩阵。
步骤S109:根据相机拍摄候选图像时的位姿,以及变换关系矩阵计算相机当前的位姿。
与前述步骤S602相似,将相机拍摄候选图像时的位姿与变换关系矩阵进行相乘操作,即可获得相机拍摄当前图像时的位姿,即相机当前的位姿。
步骤S110:将当前图像和相机当前的位姿存储在数据库中。
在获取相机拍摄当前图像的位姿之后,将当前图像和该位姿存储在前述数据库中,以在需要时作为后续图像的比较对象。
图8为本发明实施例提供的一种室内视觉重定位***的结构示意图,该***应用于在视觉重定位时获取深度相机的位姿,深度相机被搭载在可移动设备上,如图8所示,该***包括以下模块。
数据库建立模块11,被配置为建立存储有相机所拍摄图像,以及相机拍摄图像时位姿的数据库;
当前图像获取模块12,被配置为获取视觉重定位时相机拍摄的当前图像;
候选图像获取模块13,被配置为在数据库中选取与当前图像相似性最大的图像作为候选图像;
匹配内点获取模块14,被配置为获取候选图像与当前图像之间相互匹配的每对匹配内点;
内点计算位姿模块15,被配置为在匹配内点的总对数满足预设内点数量条件时,利用所有对匹配内点计算相机当前的位姿;
配准模块16,被配置为在匹配内点的总对数不满足预设内点数量条件时,获取并配准当前图像的深度图及候选图像的深度图;
变换关系矩阵计算模块17,被配置为计算配准后当前图像深度图与候选图像深度图之间的变换关系矩阵;
矩阵计算位姿模块18,被配置为根据相机拍摄候选图像时的位姿,以及变换关系矩阵计算相机当前的位姿;
数据库存储模块19,被配置为将当前图像和相机当前的位姿存储在数据库中。
在本发明公开的一个实施例中,前述候选图像获取模块13,包括以下子模块。
向量表征模块,被配置为利用场景识别网络将数据库中所有图像以及当前图像表征为多维向量;
向量距离计算模块,被配置为分别计算数据库中每幅图像所对应向量与当前图像所对应向量之间的距离;
候选图像确定模块,被配置为获取与当前图像对应向量距离最小的向量,并将距离最小的向量对应的图像作为候选图像。
在本发明公开的一个实施例中,前述匹配内点获取模块14,包括以下子模块。
特征点获取模块,被配置为获取当前图像与候选图像之间相对应的特征点;
转换关系计算模块,被配置为利用随机选取的四对特征点计算候选图像坐标系与当前图像坐标系之间的转换关系;
投影点获取模块,被配置为根据转换关系获取候选图像坐标系下所有三维的特征点在当前图像中二维的投影点;
像素距离计算模块,被配置为分别计算每一个投影点与当前图像中所有特征点之间的像素距离;
最短距离特征点获取模块,被配置为针对每一个投影点,获取当前图像中与投影点像素距离最短的特征点;
投影点匹配内点确认模块,被配置为在投影点与特征点之间的像素距离是否小于预设距离阈值时,将当前图像中与投影点像素距离最短的二维的特征点,以及,投影点对应的三维的特征点作为一对匹配内点;
匹配内点重获取模块,被配置为在计算转换关系的次数小于预设计算次数阈值时,再次随机选取四对特征点重新计算候选图像坐标系与当前图像坐标系之间的转换关系,并利用重新计算的转换关系获取匹配内点;
匹配内点确认模块,被配置为在计算转换关系的次数不小于预设计算次数阈值时,比较每次获取的匹配内点的对数,将对数最多的匹配内点作为候选图像与当前图像之间相互匹配的匹配内点。
在本发明公开的一个实施例中,前述内点计算位姿模块15,包括以下子模块。
变换关系矩阵计算模块,被配置为利用所有对匹配内点计算当前图像与候选图像之间的变换关系矩阵;
位姿计算模块,被配置为根据相机拍摄候选图像时的位姿,以及变换关系矩阵,利用坐标变换计算相机当前的位姿。
在本发明公开的一个实施例中,前述配准模块16,包括以下子模块。
深度图获取模块,被配置为分别获取当前图像和候选图像的深度图;
显著平面提取模块,被配置为提取当前图像深度图中的显著平面,以及,候选图像深度图中的显著平面;
法向量计算模块,被配置为计算当前图像深度图中显著平面的法向量,以及,候选图像深度图中显著平面的法向量;
配准初值计算模块,被配置为采用将二个法向量对齐的方式计算当前图像深度图与候选图像深度图之间的配准初值;
配准子模块,被配置为利用配准初值和配准算法配准当前图像深度图与候选图像深度图。
在本发明公开的一个实施例中,前述显著平面提取模块,包括以下子模块。
噪声滤除模块,被配置为分别滤除当前图像深度图及候选图像深度图中的噪声;
当前图像平面构建模块,被配置为针对当前图像,随机选取当前图像深度图中的三个像素点,每个像素点各自对应一个三维空间点,利用三个像素点各自对应的三维空间点构建一个平面;
当前图像像素距离模块,被配置为分别计算当前图像深度图中每一个像素点到平面的距离;
当前图像平面内点模块,被配置为将与平面之间距离小于预设平面距离阈值的像素点作为平面内点;
当前图像平面重构模块,被配置为在已构建平面的数量小于预设平面数量阈值时,再次随机选取三个像素点重新构建一个平面,并计算平面内点;
当前图像显著平面确认模块,被配置为在已构建平面的数量不小于预设平面数量阈值时,比较每次构建平面所得到的平面内点数量,将对应平面内点数量最多的平面作为当前图像深度图中的显著平面。
候选图像平面构建模块,被配置为针对候选图像,随机选取候选图像深度图中的三个像素点,每个像素点各自对应一个三维空间点,利用三个像素点各自对应的三维空间点构建一个平面;
候选图像像素距离模块,被配置为分别计算候选图像深度图中每一个像素点到平面的距离;
候选图像平面内点模块,被配置为将与平面之间距离小于预设平面距离阈值的像素点作为平面内点;
候选图像平面重构模块,被配置为在已构建平面的数量小于预设平面数量阈值时,再次随机选取三个像素点重新构建一个平面,并计算平面内点;
候选图像显著平面确认模块,被配置为在已构建平面的数量不小于预设平面数量阈值时,比较每次构建平面所得到的平面内点数量,将对应平面内点数量最多的平面作为候选图像深度图中的显著平面。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (13)
1.一种室内视觉重定位方法,用于在视觉重定位时获取深度相机的位姿,所述深度相机被搭载在可移动设备上,其特征在于,包括:
建立存储有相机所拍摄图像,以及相机拍摄图像时位姿的数据库;
获取视觉重定位时相机拍摄的当前图像;
在数据库中选取与当前图像相似性最大的图像作为候选图像;
获取候选图像与当前图像之间相互匹配的每对匹配内点;
判断所述匹配内点的总对数是否满足预设内点数量条件,
如果是,利用所有对匹配内点计算相机当前的位姿;
如果否,获取并配准当前图像的深度图及候选图像的深度图;
计算配准后当前图像深度图与候选图像深度图之间的变换关系矩阵;
根据相机拍摄候选图像时的位姿,以及所述变换关系矩阵计算相机当前的位姿;
将当前图像和相机当前的位姿存储在所述数据库中。
2.根据权利要求1所述的方法,其特征在于,所述获取视觉重定位时相机拍摄的当前图像,包括:
判断是否能够监测到相机拍摄图像时的位姿,
如果否,将无法监测到位姿时相机拍摄的图像作为当前图像。
3.根据权利要求1所述的方法,其特征在于,所述在数据库中选取与当前图像相似性最大图像作为候选图像,包括:
利用场景识别网络将数据库中所有图像以及当前图像表征为多维向量;
分别计算数据库中每幅图像所对应向量与当前图像所对应向量之间的距离;
获取与当前图像对应向量距离最小的向量,并将所述距离最小的向量对应的图像作为候选图像。
4.根据权利要求1所述的方法,其特征在于,所述获取候选图像与当前图像之间相互匹配的每对匹配内点,包括:
获取当前图像与候选图像之间相对应的特征点;
利用随机选取的四对特征点计算候选图像坐标系与当前图像坐标系之间的转换关系;
根据所述转换关系获取候选图像坐标系下所有三维的特征点在当前图像中二维的投影点;
分别计算每一个投影点与当前图像中所有特征点之间的像素距离;
针对每一个投影点,获取当前图像中与所述投影点像素距离最短的特征点;判断所述投影点与所述特征点之间的像素距离是否小于预设距离阈值,
如果是,将当前图像中与投影点像素距离最短的二维的特征点,以及,所述投影点对应的三维的特征点作为一对匹配内点;
判断计算转换关系的次数是否小于预设计算次数阈值,
如果是,再次随机选取四对特征点重新计算候选图像坐标系与当前图像坐标系之间的转换关系,并利用重新计算的转换关系获取匹配内点;
如果否,比较每次获取的匹配内点的对数,将对数最多的匹配内点作为候选图像与当前图像之间相互匹配的匹配内点。
5.根据权利要求4所述的方法,其特征在于,所述利用所有对匹配内点计算相机当前的位姿,包括:
利用所有对匹配内点计算当前图像与候选图像之间的变换关系矩阵;
根据相机拍摄候选图像时的位姿,以及所述变换关系矩阵,利用坐标变换计算相机当前的位姿。
6.根据权利要求1所述的方法,其特征在于,所述获取并配准当前图像的深度图及候选图像的深度图,包括:
分别获取当前图像和候选图像的深度图;
提取当前图像深度图中的显著平面,以及,候选图像深度图中的显著平面;
计算当前图像深度图中显著平面的法向量,以及,候选图像深度图中显著平面的法向量;
采用将二个所述法向量对齐的方式计算当前图像深度图与候选图像深度图之间的配准初值;
利用配准初值和配准算法配准当前图像深度图与候选图像深度图。
7.根据权利要求6所述的方法,其特征在于,所述提取当前图像深度图中的显著平面,以及,候选图像深度图中的显著平面,包括:
分别滤除当前图像深度图及候选图像深度图中的噪声;
针对当前图像,随机选取当前图像深度图中的三个像素点,每个像素点各自对应一个三维空间点,利用三个像素点各自对应的三维空间点构建一个平面;
分别计算当前图像深度图中每一个像素点到所述平面的距离;
将与平面之间距离小于预设平面距离阈值的像素点作为平面内点;
判断已构建平面的数量是否小于预设平面数量阈值,
如果是,再次随机选取三个像素点重新构建一个平面,并计算平面内点;
如果否,比较每次构建平面所得到的平面内点数量,将对应平面内点数量最多的平面作为当前图像深度图中的显著平面;
针对候选图像,随机选取候选图像深度图中的三个像素点,每个像素点各自对应一个三维空间点,利用三个像素点各自对应的三维空间点构建一个平面;
分别计算候选图像深度图中每一个像素点到所述平面的距离;
将与平面之间距离小于预设平面距离阈值的像素点作为平面内点;
判断已构建平面的数量是否小于预设平面数量阈值,
如果是,再次随机选取三个像素点重新构建一个平面,并计算平面内点;
如果否,比较每次构建平面所得到的平面内点数量,将对应平面内点数量最多的平面作为候选图像深度图中的显著平面。
8.一种室内视觉重定位***,用于在视觉重定位时获取深度相机的位姿,所述深度相机被搭载在可移动设备上,其特征在于,包括:
数据库建立模块,用于建立存储有相机所拍摄图像,以及相机拍摄图像时位姿的数据库;
当前图像获取模块,用于获取视觉重定位时相机拍摄的当前图像;
候选图像获取模块,用于在数据库中选取与当前图像相似性最大的图像作为候选图像;
匹配内点获取模块,用于获取候选图像与当前图像之间相互匹配的每对匹配内点;
内点计算位姿模块,用于在所述匹配内点的总对数满足预设内点数量条件时,利用所有对匹配内点计算相机当前的位姿;
配准模块,用于在所述匹配内点的总对数不满足预设内点数量条件时,获取并配准当前图像的深度图及候选图像的深度图;
变换关系矩阵计算模块,用于计算配准后当前图像深度图与候选图像深度图之间的变换关系矩阵;
矩阵计算位姿模块,用于根据相机拍摄候选图像时的位姿,以及所述变换关系矩阵计算相机当前的位姿;
数据库存储模块,用于将当前图像和相机当前的位姿存储在所述数据库中。
9.根据权利要求8所述的***,其特征在于,所述候选图像获取模块,包括:
向量表征模块,用于利用场景识别网络将数据库中所有图像以及当前图像表征为多维向量;
向量距离计算模块,用于分别计算数据库中每幅图像所对应向量与当前图像所对应向量之间的距离;
候选图像确定模块,用于获取与当前图像对应向量距离最小的向量,并将所述距离最小的向量对应的图像作为候选图像。
10.根据权利要求8所述的***,其特征在于,所述匹配内点获取模块,包括:
特征点获取模块,用于获取当前图像与候选图像之间相对应的特征点;
转换关系计算模块,用于利用随机选取的四对特征点计算候选图像坐标系与当前图像坐标系之间的转换关系;
投影点获取模块,用于根据所述转换关系获取候选图像坐标系下所有三维的特征点在当前图像中二维的投影点;
像素距离计算模块,用于分别计算每一个投影点与当前图像中所有特征点之间的像素距离;
最短距离特征点获取模块,用于针对每一个投影点,获取当前图像中与所述投影点像素距离最短的特征点;
投影点匹配内点确认模块,用于在所述投影点与所述特征点之间的像素距离是否小于预设距离阈值时,将当前图像中与投影点像素距离最短的二维的特征点,以及,所述投影点对应的三维的特征点作为一对匹配内点;
匹配内点重获取模块,用于在计算转换关系的次数小于预设计算次数阈值时,再次随机选取四对特征点重新计算候选图像坐标系与当前图像坐标系之间的转换关系,并利用重新计算的转换关系获取匹配内点;
匹配内点确认模块,用于在计算转换关系的次数不小于预设计算次数阈值时,比较每次获取的匹配内点的对数,将对数最多的匹配内点作为候选图像与当前图像之间相互匹配的匹配内点。
11.根据权利要求10所述的***,其特征在于,所述内点计算位姿模块,包括:
变换关系矩阵计算模块,用于利用所有对匹配内点计算当前图像与候选图像之间的变换关系矩阵;
位姿计算模块,用于根据相机拍摄候选图像时的位姿,以及所述变换关系矩阵,利用坐标变换计算相机当前的位姿。
12.根据权利要求8所述的***,其特征在于,所述配准模块,包括:
深度图获取模块,用于分别获取当前图像和候选图像的深度图;
显著平面提取模块,用于提取当前图像深度图中的显著平面,以及,候选图像深度图中的显著平面;
法向量计算模块,用于计算当前图像深度图中显著平面的法向量,以及,候选图像深度图中显著平面的法向量;
配准初值计算模块,用于采用将二个所述法向量对齐的方式计算当前图像深度图与候选图像深度图之间的配准初值;
配准子模块,用于利用配准初值和配准算法配准当前图像深度图与候选图像深度图。
13.根据权利要求12所述的***,其特征在于,所述显著平面提取模块,包括:
噪声滤除模块,用于分别滤除当前图像深度图及候选图像深度图中的噪声;
当前图像平面构建模块,用于针对当前图像,随机选取当前图像深度图中的三个像素点,每个像素点各自对应一个三维空间点,利用三个像素点各自对应的三维空间点构建一个平面;
当前图像像素距离模块,用于分别计算当前图像深度图中每一个像素点到所述平面的距离;
当前图像平面内点模块,用于将与平面之间距离小于预设平面距离阈值的像素点作为平面内点;
当前图像平面重构模块,用于在已构建平面的数量小于预设平面数量阈值时,再次随机选取三个像素点重新构建一个平面,并计算平面内点;
当前图像显著平面确认模块,用于在已构建平面的数量不小于预设平面数量阈值时,比较每次构建平面所得到的平面内点数量,将对应平面内点数量最多的平面作为当前图像深度图中的显著平面;
候选图像平面构建模块,用于针对候选图像,随机选取候选图像深度图中的三个像素点,每个像素点各自对应一个三维空间点,利用三个像素点各自对应的三维空间点构建一个平面;
候选图像像素距离模块,用于分别计算候选图像深度图中每一个像素点到所述平面的距离;
候选图像平面内点模块,用于将与平面之间距离小于预设平面距离阈值的像素点作为平面内点;
候选图像平面重构模块,用于在已构建平面的数量小于预设平面数量阈值时,再次随机选取三个像素点重新构建一个平面,并计算平面内点;
候选图像显著平面确认模块,用于在已构建平面的数量不小于预设平面数量阈值时,比较每次构建平面所得到的平面内点数量,将对应平面内点数量最多的平面作为候选图像深度图中的显著平面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911399629.7A CN111144349B (zh) | 2019-12-30 | 2019-12-30 | 一种室内视觉重定位方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911399629.7A CN111144349B (zh) | 2019-12-30 | 2019-12-30 | 一种室内视觉重定位方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111144349A true CN111144349A (zh) | 2020-05-12 |
CN111144349B CN111144349B (zh) | 2023-02-24 |
Family
ID=70522163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911399629.7A Active CN111144349B (zh) | 2019-12-30 | 2019-12-30 | 一种室内视觉重定位方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111144349B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111627065A (zh) * | 2020-05-15 | 2020-09-04 | Oppo广东移动通信有限公司 | 一种视觉定位方法及装置、存储介质 |
CN111750864A (zh) * | 2020-06-30 | 2020-10-09 | 杭州海康机器人技术有限公司 | 一种基于视觉地图的重定位方法和装置 |
CN111950642A (zh) * | 2020-08-17 | 2020-11-17 | 联想(北京)有限公司 | 一种重定位方法及电子设备 |
CN112365537A (zh) * | 2020-10-13 | 2021-02-12 | 天津大学 | 一种基于三维点云对齐的主动相机重定位方法 |
CN114543819A (zh) * | 2021-09-16 | 2022-05-27 | 北京小米移动软件有限公司 | 车辆定位方法、装置、电子设备及存储介质 |
CN116193258A (zh) * | 2022-11-29 | 2023-05-30 | 北京理工大学 | 基于多深度特征点的交互式双相机图像对齐方法及*** |
WO2024037299A1 (zh) * | 2022-08-17 | 2024-02-22 | 深圳市普渡科技有限公司 | 定位方法、装置、机器人和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130208997A1 (en) * | 2010-11-02 | 2013-08-15 | Zte Corporation | Method and Apparatus for Combining Panoramic Image |
CN107590827A (zh) * | 2017-09-15 | 2018-01-16 | 重庆邮电大学 | 一种基于Kinect的室内移动机器人视觉SLAM方法 |
CN109544677A (zh) * | 2018-10-30 | 2019-03-29 | 山东大学 | 基于深度图像关键帧的室内场景主结构重建方法及*** |
CN110223348A (zh) * | 2019-02-25 | 2019-09-10 | 湖南大学 | 基于rgb-d相机的机器人场景自适应位姿估计方法 |
-
2019
- 2019-12-30 CN CN201911399629.7A patent/CN111144349B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130208997A1 (en) * | 2010-11-02 | 2013-08-15 | Zte Corporation | Method and Apparatus for Combining Panoramic Image |
CN107590827A (zh) * | 2017-09-15 | 2018-01-16 | 重庆邮电大学 | 一种基于Kinect的室内移动机器人视觉SLAM方法 |
CN109544677A (zh) * | 2018-10-30 | 2019-03-29 | 山东大学 | 基于深度图像关键帧的室内场景主结构重建方法及*** |
CN110223348A (zh) * | 2019-02-25 | 2019-09-10 | 湖南大学 | 基于rgb-d相机的机器人场景自适应位姿估计方法 |
Non-Patent Citations (2)
Title |
---|
张云等: "复杂环境下基于Kinect的视觉定位算法研究", 《机械与电子》 * |
蔡军等: "基于Kinect的改进移动机器人视觉SLAM", 《智能***学报》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111627065A (zh) * | 2020-05-15 | 2020-09-04 | Oppo广东移动通信有限公司 | 一种视觉定位方法及装置、存储介质 |
CN111627065B (zh) * | 2020-05-15 | 2023-06-20 | Oppo广东移动通信有限公司 | 一种视觉定位方法及装置、存储介质 |
CN111750864A (zh) * | 2020-06-30 | 2020-10-09 | 杭州海康机器人技术有限公司 | 一种基于视觉地图的重定位方法和装置 |
CN111750864B (zh) * | 2020-06-30 | 2022-05-13 | 杭州海康机器人技术有限公司 | 一种基于视觉地图的重定位方法和装置 |
CN111950642A (zh) * | 2020-08-17 | 2020-11-17 | 联想(北京)有限公司 | 一种重定位方法及电子设备 |
CN112365537A (zh) * | 2020-10-13 | 2021-02-12 | 天津大学 | 一种基于三维点云对齐的主动相机重定位方法 |
CN112365537B (zh) * | 2020-10-13 | 2023-06-27 | 天津大学 | 一种基于三维点云对齐的主动相机重定位方法 |
CN114543819A (zh) * | 2021-09-16 | 2022-05-27 | 北京小米移动软件有限公司 | 车辆定位方法、装置、电子设备及存储介质 |
CN114543819B (zh) * | 2021-09-16 | 2024-03-26 | 北京小米移动软件有限公司 | 车辆定位方法、装置、电子设备及存储介质 |
WO2024037299A1 (zh) * | 2022-08-17 | 2024-02-22 | 深圳市普渡科技有限公司 | 定位方法、装置、机器人和存储介质 |
CN116193258A (zh) * | 2022-11-29 | 2023-05-30 | 北京理工大学 | 基于多深度特征点的交互式双相机图像对齐方法及*** |
CN116193258B (zh) * | 2022-11-29 | 2024-05-31 | 北京理工大学 | 基于多深度特征点的交互式双相机图像对齐方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN111144349B (zh) | 2023-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111144349B (zh) | 一种室内视觉重定位方法及*** | |
US10334168B2 (en) | Threshold determination in a RANSAC algorithm | |
CN110176032B (zh) | 一种三维重建方法及装置 | |
CN108229416B (zh) | 基于语义分割技术的机器人slam方法 | |
KR100855657B1 (ko) | 단안 줌 카메라를 이용한 이동로봇의 자기위치 추정 시스템및 방법 | |
CN112184824B (zh) | 一种相机外参标定方法、装置 | |
CN104778688A (zh) | 点云数据的配准方法及装置 | |
CN112967339B (zh) | 一种车辆位姿的确定方法、车辆控制方法及装置、车辆 | |
Muñoz-Bañón et al. | Targetless camera-LiDAR calibration in unstructured environments | |
CN110243390B (zh) | 位姿的确定方法、装置及里程计 | |
CN111127522B (zh) | 基于单目相机的深度光流预测方法、装置、设备及介质 | |
CN110570474B (zh) | 一种深度相机的位姿估计方法及*** | |
CN112767546B (zh) | 移动机器人基于双目图像的视觉地图生成方法 | |
EP3185212A1 (en) | Dynamic particle filter parameterization | |
CN117197333A (zh) | 基于多目视觉的空间目标重构与位姿估计方法及*** | |
CN111325828A (zh) | 一种基于三目相机的三维人脸采集方法及装置 | |
Tsaregorodtsev et al. | Extrinsic camera calibration with semantic segmentation | |
CN114298151A (zh) | 一种基于点云数据与图像数据融合的3d目标检测方法 | |
JP6016242B2 (ja) | 視点推定装置及びその分類器学習方法 | |
CN111198563B (zh) | 一种用于足式机器人动态运动的地形识别方法及*** | |
KR20160049639A (ko) | 부분 선형화 기반의 3차원 영상 정합 방법 | |
Wang et al. | Stereo rectification based on epipolar constrained neural network | |
CN110580703B (zh) | 一种配电线路的检测方法、装置、设备及存储介质 | |
Yamao et al. | A sequential online 3d reconstruction system using dense stereo matching | |
Zhang et al. | Research on binocular real-time ranging method in window area |
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 |