CN111311681A - 视觉定位方法、装置、机器人及计算机可读存储介质 - Google Patents
视觉定位方法、装置、机器人及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111311681A CN111311681A CN202010094997.7A CN202010094997A CN111311681A CN 111311681 A CN111311681 A CN 111311681A CN 202010094997 A CN202010094997 A CN 202010094997A CN 111311681 A CN111311681 A CN 111311681A
- Authority
- CN
- China
- Prior art keywords
- camera
- image
- determining
- feature point
- coordinates
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Manipulator (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明涉及一种视觉定位方法、装置、机器人及计算机可读存储介质,属于定位领域。当处理器获取到相机当前时刻拍摄的第一图像时,从第一图像中确定出至少六个特征点的二维坐标,该至少六个特征点在初始时刻所确定的位置下的三角化坐标已知。后续,处理器根据上述至少六个特征点的二维坐标,三角化坐标以及相机模型,得到相机在当前时刻相较于初始时刻的旋转矩阵以及平移向量,从而确定出相机在当前时刻的位置。在上述方法中,引入特征点的三角化坐标,即将特征点还原到三维环境,可以获取到特征点的更多特征。当机器人被搬动时,相较于现有技术中的二维平面定位,处理器所获取到的更多特征可以有效地帮助机器人实现定位。
Description
技术领域
本申请属于定位领域,具体涉及一种视觉定位方法、装置、机器人及计算机可读存储介质。
背景技术
目前大部分的室内机器人使用的SLAM(Simultaneous localization andmapping,同步定位与建图)方案为2D激光方案。在2D激光方案中,激光器主动发射光束,并接收反射光束,同时借助里程计来实现定位,整体较为简单,对资源的要求也较低。然而,2D激光方案的激光地图是2D的点图,特征不够明显,此外,里程计是记录轮子在二维地面的轨迹,即2D激光方案是处于二维层面的定位,机器人用于定位的特征点不具备特殊的标识,当机器人被人为搬动时,搬动前后两次扫描到的特征点不能准确建立对应关系并计算对齐变换关系,因此,在机器人被搬动时,容易造成定位失效,使得定位恢复存在困难。
发明内容
有鉴于此,本申请的目的在于提供一种视觉定位方法、装置、机器人及计算机可读存储介质,缓解机器人在被人为搬动时定位失效的问题,有助于机器人的定位恢复。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供一种视觉定位方法,应用于机器人,在所述机器人内设置有相机,所述相机按照预设频率拍摄图像,所述方法包括:从当前时刻所获取到的第一图像中确定出至少六个特征点,每个所述特征点的三角化坐标由所述相机根据自身在初始时刻所在位置确定;根据每个所述特征点的三角化坐标与其在所述第一图像中的二维坐标、相机的投影模型,计算得到所述相机在当前时刻相较于所述初始时刻的旋转矩阵及位移向量,得到所述相机在当前时刻所在的位置。在上述方法中,引入特征点的三角化坐标,即将特征点还原到三维环境,可以获取到特征点的更多特征。当机器人被搬动时,相较于现有技术中的二维平面定位,处理器所获取到的更多特征可以有效地帮助机器人实现定位,缓解定位失效的问题,有助于机器人的定位恢复。
结合第一方面实施例,在一种可能的实施方式中,在所述机器人内还设置有激光定位装置,当所述初始时刻为初始时刻时,在所述从当前时刻所获取到的第一图像中确定出至少六个特征点之前,所述方法还包括:在所述初始时刻,获取具有重叠的第二图像及第三图像;分别计算所述第二图像及所述第三图像中的特征点的描述子,从所述第二图像及所述第三图像中确定出特征相对应的至少八个特征点对;根据八点法及所述至少八个特征点对在各自所属的图像中的二维坐标,确定所述相机在所述初始时刻的旋转矩阵及位移向量;根据所述激光定位装置对其中一个特征点对的定位信息,确定在所述初始时刻的位移向量的尺度;根据在所述初始时刻的旋转矩阵、位移向量及尺度,确定所述相机在所述初始时刻所在的位置。
结合第一方面实施例,在一种可能的实施方式中,在所述确定所述相机在所述初始时刻所在的位置之后,在所述从当前时刻所获取到的第一图像中确定出至少六个特征点之前,所述方法还包括:针对每个特征点对,根据其在各自所属的图像中的二维坐标、所述相机在所述初始时刻所在的位置及最小二乘法,确定每个特征点对对应的特征点在所述初始时刻的三角化坐标。
结合第一方面实施例,在一种可能的实施方式中,所述针对每个特征点对,根据其在各自所属的图像中的二维坐标、所述相机在所述初始时刻所在的位置及最小二乘法,确定每个特征点对对应的特征点在所述初始时刻的三角化坐标,包括:根据公式确定每个特征点对对应的特征点在所述初始时刻的三角化坐标,其中,针对每个特征点,其在所述第二图像及所述第三图像中的坐标分别为(u0,v0)、(u1,v1),P1=K[R1,t1],P2=K[R2,t2],Ri表示第i时刻相机的旋转矩阵,ti为该时刻的平移向量,R1为K[I3x3,O3x1],I为单位矩阵,O为零矩阵,(x,y,z)为得到的三角化坐标。
结合第一方面实施例,在一种可能的实施方式中,在所述计算得到所述相机在当前时刻相较于所述初始时刻的旋转矩阵及位移向量之后,所述方法还包括:根据所述相机在当前时刻所在的位置及最小二乘法,在所述第一图像中确定多个特征点在当前时刻的三角化坐标。
第二方面,本申请实施例提供一种视觉定位装置,应用于机器人,在所述机器人内设置有相机,所述相机按照预设频率拍摄图像,所述装置包括:确定模块,用于从当前时刻所获取到的第一图像中确定出至少六个特征点,每个所述特征点的三角化坐标由所述相机根据自身在初始时刻所在位置确定;计算模块,用于根据每个所述特征点的三角化坐标与其在所述第一图像中的二维坐标、相机的投影模型,计算得到所述相机在当前时刻相较于所述初始时刻的旋转矩阵及位移向量,得到所述相机在当前时刻所在的位置。
结合第二方面实施例,在一种可能的实施方式中,在所述机器人内还设置有激光定位装置,所述装置还包括获取模块,当所述初始时刻为初始时刻时,所述获取模块,用于在所述初始时刻,获取具有重叠的第二图像及第三图像;所述确定模块,还用于分别计算所述第二图像及所述第三图像中的特征点的描述子,从所述第二图像及所述第三图像中确定出特征相对应的至少八个特征点对;根据八点法及所述至少八个特征点对在各自所属的图像中的二维坐标,确定所述相机在所述初始时刻的旋转矩阵及位移向量;根据所述激光定位装置对其中一个特征点对的定位信息,确定在所述初始时刻的位移向量的尺度;根据在所述初始时刻的旋转矩阵、位移向量及尺度,确定所述相机在所述初始时刻所在的位置。
结合第二方面实施例,在一种可能的实施方式中,所述确定模块,还用于针对每个特征点对,根据其在各自所属的图像中的二维坐标、所述相机在所述初始时刻所在的位置及最小二乘法,确定每个特征点对对应的特征点在所述初始时刻的三角化坐标。
结合第二方面实施例,在一种可能的实施方式中,所述确定模块,用于根据公式确定每个特征点对对应的特征点在所述初始时刻的三角化坐标,其中,针对每个特征点,其在所述第二图像及所述第三图像中的坐标分别为(u0,v0)、(u1,v1),P1=K[R1,t1],P2=K[R2,t2],Ri表示第i时刻相机的旋转矩阵,ti为该时刻的平移向量,R1为K[I3x3,O3x1],I为单位矩阵,O为零矩阵,(x,y,z)为得到的三角化坐标。
结合第二方面实施例,在一种可能的实施方式中,所述确定模块,还用于根据所述相机在当前时刻所在的位置及最小二乘法,在所述第一图像中确定多个特征点在当前时刻的三角化坐标。
第三方面,本申请实施例还提供一种机器人包括:存储器和处理器,所述存储器和所述处理器连接;所述存储器用于存储程序;所述处理器调用存储于所述存储器中的程序,以执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
第四方面,本申请实施例还提供一种非易失性计算机可读取存储介质(以下简称计算机可读存储介质),其上存储有计算机程序,所述计算机程序被计算机运行时执行上述第一方面实施例和/或结合第一方面实施例的任一种可能的实施方式提供的方法。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出本申请实施例提供的一种机器人的结构示意图。
图2示出本申请实施例提供的一种视觉定位方法的流程图。
图3示出本申请实施例提供的一种基于图像建立直角坐标系的示意图。
图4示出本申请实施例提供的一种视觉定位装置的结构框图。
标号:100-机器人;110-处理器;120-存储器;130-相机;140-激光定位装置;400-视觉定位装置;410-确定模块;420-计算模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请实施例提供一种视觉定位方法、装置、机器人及计算机可读存储介质,用于缓解机器人在被人为搬动时定位失效的问题,利于机器人恢复定位。该技术可采用相应的软件、硬件以及软硬结合的方式实现。以下对本申请实施例进行详细介绍。
首先,参照图1来描述用于实现本申请实施例的视觉定位方法、装置的机器人100。
可选的,机器人100可以包括:处理器110、存储器120、相机130、激光定位装置140等。
应当注意,图1所示的机器人100的组件和结构只是示例性的,而非限制性的,根据需要,机器人100也可以具有其他组件和结构。
处理器110、存储器120、相机130、激光定位装置140以及其他可能出现于机器人100的组件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,处理器110、存储器120、相机130、激光定位装置140以及其他可能出现的组件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
存储器120用于存储程序,例如存储有后文出现的视觉定位方法对应的程序或者后文出现的视觉定位装置。可选的,当存储器120内存储有视觉定位装置时,视觉定位装置包括至少一个可以以软件或固件(firmware)的形式存储于存储器120中的软件功能模块。
可选的,视觉定位装置所包括软件功能模块也可以固化在机器人100的操作***(operating system,OS)中。
处理器110用于执行存储器120中存储的可执行模块,例如视觉定位装置包括的软件功能模块或计算机程序。当处理器110在接收到执行指令后,可以执行计算机程序,例如执行:从当前时刻所获取到的第一图像中确定出至少六个特征点,每个所述特征点的三角化坐标由所述相机根据自身在初始时刻所在位置确定;根据每个所述特征点的三角化坐标与其在所述第一图像中的二维坐标、相机的投影模型,计算得到所述相机在当前时刻相较于所述初始时刻的旋转矩阵及位移向量,得到所述相机在当前时刻所在的位置。
当然,本申请任一实施例所揭示的方法都可以应用于处理器110中,或者由处理器110实现。
下面将结合图2对本申请所提供的视觉定位方法进行介绍。
步骤S110:从当前时刻所获取到的第一图像中确定出至少六个特征点,每个所述特征点的三角化坐标由所述相机根据自身在初始时刻所在位置确定。
步骤S120:根据每个所述特征点的三角化坐标与其在所述第一图像中的二维坐标、相机的投影模型,计算得到所述相机在当前时刻相较于所述初始时刻的旋转矩阵及位移向量,得到所述相机在当前时刻所在的位置。
在本申请实施例中,确定相机在某一时刻所处的位置即确定相机在该时刻相较于初始时刻的旋转矩阵(R)以及位移向量(t)。
为了实现对相机位置的确定,在本申请实施例中,在机器人内设置有相机,且在机器人在工作过程中,相机不断按照预设频率拍摄图像,然后将拍摄得到的图像发送给处理器进行处理,以便处理器可以基于图像来确定相机的位置。
当处理器获取到当前时刻T1的图像(与当前时刻T1对应的图像称之为第一图像Q1)时,开始根据Q1确定当前时刻T1相机所处的位置S1,确定的过程如下。
(1)从Q1中至少获取到六个特征点以及每个特征点在Q1中的二维坐标。
处理器获取到图像后,可以在获取到的图像的基础上建立直角坐标系,从而确定图像中的某些特征点在该图像中的二维坐标。例如,处理器获取到相机在当前时刻T1所拍摄的第一图像Q1时,可以按照图3所示的,以Q1的中点为坐标原点,以平行于地平线的方向为X轴的方向,以垂直于地平线的方向为Y轴的方向建立直角坐标系。在建立好直角坐标系后,处理器可以确定出Q1中的特征点的二维坐标。
(2)获取上述至少六个特征点在初始时刻T0所确定出的相机的位置S0下的三角化坐标。
值得指出的是,在处理器根据Q1确定当前时刻T1相机所处的位置之前的初始时刻T0,处理器也获取到与初始时刻T0对应的图像(与初始时刻T0对应的图像称之为初始图像Q0)。可以理解,在Q1与Q0中存在多个相同的特征点。其中,在步骤(1)中的至少六个特征点既出现在Q0中,又出现在Q1中。
此外,处理器在初始时刻T0已经根据Q0确定出相机在初始时刻T0的位置S0(即初始时刻T0的R以及t),因此,处理器可以基于初始时刻T0的R以及t,将Q0中的特征点三角化,得到Q0中的各个特征点的三角化坐标。
其中,需要注意的是,在初始时刻T0之前,相机已经预先拍摄多张图像。预先拍摄的多张图像与Q0之间存在多处重叠画面。假设处理器在初始时刻T0的前一时刻T3所获取到的图像为第三图像Q3,针对Q0中某个待计算三角化坐标的特征点A,假设该特征点A在Q0中的二维坐标为(u0,v0),该特征点A在T3时对应的Q3中的二维坐标为(u1,v1),假设参数P1=K[R1,t1],P2=K[R2,t2],Ri表示第i时刻相机的旋转矩阵,ti为该时刻的平移向量,R1为K[I3x3,O3x1],I为单位矩阵,O为零矩阵,K为相机的内参(可以预先根据相机的参数获取到)。在得到上述参数后,处理器基于公式确定Q0中的该特征点A在初始时刻T0的三角化坐标(x,y,z)。
计算过程如下:
以最小二乘法SVD计算上述矩阵。在上述矩阵中,系数矩阵为UΣVT(与u0、v0、u1、v1、P1、P2有关),其中,Σ、U、V均为矩阵。假设V最后一列为[p,q,r,w],则[x,y,z]=[p/w,q/w,r/w]。由于根据最小二乘法计算矩阵的过程为现有技术,此处不再赘述。
经过上述计算,可以确定特征点A在初始时刻T0确定出的相机的位置S0下的三角化坐标。相似的,处理器可以计算出Q0中的多个特征点在相机的位置S0下的三角化坐标,以便在后续用于确定当前时刻T1时相机的位置S1。
(4)将上述至少六组方程联立求解,得到T1时的R以及t,从而确定出S1。
其中,s为尺寸缩放因子,K为相机的内参(可以预先根据相机的参数获取到),R为相机从初始时刻所在的空间变换到当前时刻所在的空间的旋转矩阵(3×3的矩阵),t为相机从初始时刻所在的空间变换到当前时刻所在的空间的位移向量(3×1的矩阵),(u,v)为特征点在Q1中的二维坐标,(x,y,z)为特征点在S0下的三角化坐标。
可选的,处理器在确定出S1后,也可以根据上述步骤(2)的过程确定出Q1中的多个特征点的三角化坐标,以便处理器在下一时刻获取到图像时,确定下一时刻相机的位置。
在上述确定相机在当前时刻T1所在的位置S1的过程中,位置S1基于初始时刻T0时相机的位置S0来获取。那么初始时刻即为机器人启动时刻,此时,处理器通过如下方式确定其在初始时刻的相机位置。
在***启动阶段,获取两张图像,并从两张图像中确定出至少八个特征相对应的特征点对,获取每个特征点对在各自所属的图像中的二维坐标。
其中,在两张图像内存在多个共同特征点。当某个特征点A同时存在于两张图像时,该特征点A在两张图像中的不同表现形式称为特征点对。其中,假设A在其中一张图像内的二维坐标为(x1,y1,1),A在另一张图像内的二维坐标为(x1’,y1’,1)。
类似的,可以假设B在其中一张图像内的二维坐标为(x2,y2,1),B在另一张图像内的二维坐标为(x2’,y2’,1);可以假设C在其中一张图像内的二维坐标为(x3,y3,1),C在另一张图像内的二维坐标为(x3’,y3’,1);可以假设D在其中一张图像内的二维坐标为(x4,y4,1),D在另一张图像内的二维坐标为(x4’,y4’,1);可以假设E在其中一张图像内的二维坐标为(x5,y5,1),E在另一张图像内的二维坐标为(x5’,y5’,1);可以假设F在其中一张图像内的二维坐标为(x6,y6,1),F在另一张图像内的二维坐标为(x6’,y6’,1);可以假设G在其中一张图像内的二维坐标为(x7,y7,1),G在另一张图像内的二维坐标为(x7’,y7’,1);可以假设H在其中一张图像内的二维坐标为(x8,y8,1),H在另一张图像内的二维坐标为(x8’,y8’,1)。将上述八个特征点对的二维坐标代入基本矩阵方程p2 TFp1=0,可以得到:
基于最小二乘法SVD对F进行分解,其中,系数矩阵为UDVT,取V最后1列为F’(f11,f22,f33)。再对F’进行SVD,因为基础矩阵的秩应当为2,所以得到U Diag(r,s,t)VT,F=UDiag(r,s,0)VT。
此外,针对上述两张图像,后一张图像的拍摄位置相较于前一张图像的拍摄位置存在变动,因此,可以得到F=K-Tt×RK-1,其中,K为相机内参,得到E=t×R,其中,t为后一张图像的拍摄位置相较于前一张图像的拍摄位置的平移向量,R为后一张图像的拍摄位置相较于前一张图像的拍摄位置的旋转矩阵。假设E=UΣVT,且令t1=U(:,2),t2=-t1, 得到四种情况(R1,t1),(R1,t2),(R2,t1),(R2,t2)。由于R与t都为正值,因此,当代入某个特征点的坐标后,将数值都为正值的一组R、t确定为初始的位置。
其中,值得指出的是,由于通过一个相机构建的相对的空间关系可以任意的缩放,且仍然满足相机投影关系,因此,通过上述方法得到的t的尺度不确定。为了确定尺度关系,在本申请实施例所提供的机器人中,还设置有激光定位装置,用于辅助相机确定平移向量t的尺度。
可选的,可以通过激光定位装置确定上述两张图像中的任一一个特征点对的定位信息,假设分别为M1及M2,因此,可以计算出该特征点在相机拍摄上述两张图像这段时间内的位移d=|M2-M1|,因此,可以确定因此,最终确定出相机在初始时刻的旋转矩阵R以及平移向量t'。在后续的下一时刻,基于R和t'确定下一时刻相机的R与t。
值得指出的是,机器人通过激光定位装置实现对位置的定位为现有技术,此处不再赘述。
此外,在本申请实施例中,通过计算每张图像中的关键点的ORB(Oriented FASTand Rotated BRIEF)描述子来确定两张图像中是否存在特征相对应的特征点。下面将针对计算图像中的ORB描述子进行介绍。
针对一张图像,可以提取图像中的某个像素点的像素值,且以该像素点为中心构建由相邻的16个像素点组成的16领域。当16领域中存在9个像素点的像素值的灰度值均大于或均小于该像素点的像素值的灰度值时,确定该像素点为关键点。
为了保证后续计算得到的描述子具备旋转不变性,可以通过以下公式计算关键点的质心C和旋转方向θ:
针对每个关键点,在确定其质心和旋转方向后,再计算该关键点的BRIEF描述子(由数字0、1组成),得到具有备旋转不变性的BRIEF描述子,即ORB描述子。其中,计算关键点的BRIEF描述子为现有技术,此处不再赘述。
在得到每张图像中各个关键点的ORB描述子后,针对两张不同的图像,可以分别比较其所包括的每个ORB描述子,当两张图像中的两个ORB描述子的相似度达到阈值时,即确定这两个描述子对应的特征点为特征相对应的特征点对。
本申请实施例所提供的一种视觉定位方法,当处理器获取到相机当前时刻拍摄的第一图像时,从第一图像中确定出至少六个特征点的二维坐标,该至少六个特征点在初始时刻所确定的位置下的三角化坐标已知。后续,处理器根据上述至少六个特征点的二维坐标、三角化坐标以及相机模型,得到相机在当前时刻相较于初始时刻的旋转矩阵以及平移向量,从而确定出相机在当前时刻的位置。在上述方法中,引入特征点的三角化坐标,即将特征点还原到三维环境,可以获取到特征点的更多特征。当机器人被搬动时,相较于现有技术中的二维平面定位,处理器所获取到的更多特征可以有效地帮助机器人实现定位,缓解定位失效的问题,有助于机器人的定位恢复。
如图4所示,本申请实施例还提供一种视觉定位装置400,视觉定位装置400可以包括:确定模块410及计算模块420。
确定模块410,用于从当前时刻所获取到的第一图像中确定出至少六个特征点,每个所述特征点的三角化坐标由所述相机根据自身在初始时刻所在位置确定;
计算模块420,用于根据每个所述特征点的三角化坐标与其在所述第一图像中的二维坐标、相机的投影模型,计算得到所述相机在当前时刻相较于所述初始时刻的旋转矩阵及位移向量,得到所述相机在当前时刻所在的位置。
可选的,在一种可能的实施方式中,在所述机器人内还设置有激光定位装置,所述装置还包括获取模块,当所述初始时刻为初始时刻时,所述获取模块,用于在所述初始时刻,获取具有重叠的第二图像及第三图像;所述确定模块410,还用于分别计算所述第二图像及所述第三图像中的特征点的描述子,从所述第二图像及所述第三图像中确定出特征相对应的至少八个特征点对;根据八点法及所述至少八个特征点对在各自所属的图像中的二维坐标,确定所述相机在所述初始时刻的旋转矩阵及位移向量;根据所述激光定位装置对其中一个特征点对的定位信息,确定在所述初始时刻的位移向量的尺度;根据在所述初始时刻的旋转矩阵、位移向量及尺度,确定所述相机在所述初始时刻所在的位置。
可选的,在一种可能的实施方式中,所述确定模块410,还用于针对每个特征点对,根据其在各自所属的图像中的二维坐标、所述相机在所述初始时刻所在的位置及最小二乘法,确定每个特征点对对应的特征点在所述初始时刻的三角化坐标。
可选的,在一种可能的实施方式中,所述确定模块410,用于根据公式确定每个特征点对对应的特征点在所述初始时刻的三角化坐标,其中,针对每个特征点,其在所述第二图像及所述第三图像中的坐标分别为(u0,v0)、(u1,v1),P1=K[R1,t1],P2=K[R2,t2],Ri表示第i时刻相机的旋转矩阵,ti为该时刻的平移向量,R1为K[I3x3,O3x1],I为单位矩阵,O为零矩阵,(x,y,z)为得到的三角化坐标。
可选的,在一种可能的实施方式中,所述确定模块410,还用于根据所述相机在当前时刻所在的位置及最小二乘法,在所述第一图像中确定多个特征点在当前时刻的三角化坐标。
本申请实施例所提供的视觉定位装置400,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
此外,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被计算机运行时,执行如上述的视觉定位方法所包含的步骤。
综上所述,本发明实施例提出的视觉定位方法、装置、机器人及计算机可读存储介质,当处理器获取到相机当前时刻拍摄的第一图像时,从第一图像中确定出至少六个特征点的二维坐标,该至少六个特征点在初始时刻所确定的位置下的三角化坐标已知。后续,处理器根据上述至少六个特征点的二维坐标、三角化坐标以及相机模型,得到相机在当前时刻相较于初始时刻的旋转矩阵以及平移向量,从而确定出相机在当前时刻的位置。在上述方法中,引入特征点的三角化坐标,即将特征点还原到三维环境,可以获取到特征点的更多特征。当机器人被搬动时,相较于现有技术中的二维平面定位,处理器所获取到的更多特征可以有效地帮助机器人实现定位,缓解定位失效的问题,有助于机器人的定位恢复。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
Claims (10)
1.一种视觉定位方法,其特征在于,应用于机器人,在所述机器人内设置有相机,所述相机按照预设频率拍摄图像,所述方法包括:
从当前时刻所获取到的第一图像中确定出至少六个特征点,每个所述特征点的三角化坐标由所述相机根据自身在初始时刻所在位置确定;
根据每个所述特征点的三角化坐标与其在所述第一图像中的二维坐标、相机的投影模型,计算得到所述相机在当前时刻相较于所述初始时刻的旋转矩阵及位移向量,得到所述相机在当前时刻所在的位置。
2.根据权利要求1所述的方法,其特征在于,在所述机器人内还设置有激光定位装置,在所述从当前时刻所获取到的第一图像中确定出至少六个特征点之前,所述方法还包括:
在所述初始时刻,获取具有重叠的第二图像及第三图像;
分别计算所述第二图像及所述第三图像中的特征点的描述子,从所述第二图像及所述第三图像中确定出特征相对应的至少八个特征点对;
根据八点法及所述至少八个特征点对在各自所属的图像中的二维坐标,确定所述相机在所述初始时刻的旋转矩阵及位移向量;
根据所述激光定位装置对其中一个特征点对的定位信息,确定在所述初始时刻的位移向量的尺度;
根据在所述初始时刻的旋转矩阵、位移向量及尺度,确定所述相机在所述初始时刻所在的位置。
3.根据权利要求2所述的方法,其特征在于,在所述确定所述相机在所述初始时刻所在的位置之后,在所述从当前时刻所获取到的第一图像中确定出至少六个特征点之前,所述方法还包括:
针对每个特征点对,根据其在各自所属的图像中的二维坐标、所述相机在所述初始时刻所在的位置及最小二乘法,确定每个特征点对对应的特征点在所述初始时刻的三角化坐标。
5.根据权利要求1所述的方法,其特征在于,在所述计算得到所述相机在当前时刻相较于所述初始时刻的旋转矩阵及位移向量之后,所述方法还包括:
根据所述相机在当前时刻所在的位置及最小二乘法,在所述第一图像中确定多个特征点在当前时刻的三角化坐标。
6.一种视觉定位装置,其特征在于,应用于机器人,在所述机器人内设置有相机,所述相机按照预设频率拍摄图像,所述装置包括:
确定模块,用于从当前时刻所获取到的第一图像中确定出至少六个特征点,每个所述特征点的三角化坐标由所述相机根据自身在初始时刻所在位置确定;
计算模块,用于根据每个所述特征点的三角化坐标与其在所述第一图像中的二维坐标、相机的投影模型,计算得到所述相机在当前时刻相较于所述初始时刻的旋转矩阵及位移向量,得到所述相机在当前时刻所在的位置。
7.根据权利要求6所述的装置,其特征在于,在所述机器人内还设置有激光定位装置,所述装置还包括获取模块,
所述获取模块,用于在所述初始时刻,获取具有重叠的第二图像及第三图像;
所述确定模块,还用于分别计算所述第二图像及所述第三图像中的特征点的描述子,从所述第二图像及所述第三图像中确定出特征相对应的至少八个特征点对;根据八点法及所述至少八个特征点对在各自所属的图像中的二维坐标,确定所述相机在所述初始时刻的旋转矩阵及位移向量;根据所述激光定位装置对其中一个特征点对的定位信息,确定在所述初始时刻的位移向量的尺度;根据在所述初始时刻的旋转矩阵、位移向量及尺度,确定所述相机在所述初始时刻所在的位置。
8.根据权利要求6所述的装置,其特征在于,所述确定模块,还用于根据所述相机在当前时刻所在的位置及最小二乘法,在所述第一图像中确定多个特征点在当前时刻的三角化坐标。
9.一种机器人,其特征在于,包括:存储器和处理器,所述存储器和所述处理器连接;
所述存储器用于存储程序;
所述处理器调用存储于所述存储器中的程序,以执行如权利要求1-5中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机运行时执行如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010094997.7A CN111311681A (zh) | 2020-02-14 | 2020-02-14 | 视觉定位方法、装置、机器人及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010094997.7A CN111311681A (zh) | 2020-02-14 | 2020-02-14 | 视觉定位方法、装置、机器人及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111311681A true CN111311681A (zh) | 2020-06-19 |
Family
ID=71145037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010094997.7A Pending CN111311681A (zh) | 2020-02-14 | 2020-02-14 | 视觉定位方法、装置、机器人及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111311681A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113375662A (zh) * | 2021-01-28 | 2021-09-10 | 深圳市瑞立视多媒体科技有限公司 | 双光球交互笔的刚体姿态确定方法、装置和计算机设备 |
CN114117113A (zh) * | 2022-01-28 | 2022-03-01 | 杭州宏景智驾科技有限公司 | 多特征点机动车定位方法和装置、电子设备和存储介质 |
CN115086538A (zh) * | 2021-03-15 | 2022-09-20 | 北京字跳网络技术有限公司 | 一种拍摄位置确定方法、装置、设备及介质 |
CN115086541A (zh) * | 2021-03-15 | 2022-09-20 | 北京字跳网络技术有限公司 | 一种拍摄位置确定方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011238048A (ja) * | 2010-05-11 | 2011-11-24 | Nippon Telegr & Teleph Corp <Ntt> | 位置姿勢計測装置及び位置姿勢計測プログラム |
CN109993793A (zh) * | 2019-03-29 | 2019-07-09 | 北京易达图灵科技有限公司 | 视觉定位方法及装置 |
CN110728715A (zh) * | 2019-09-06 | 2020-01-24 | 南京工程学院 | 一种智能巡检机器人像机角度自适应调整方法 |
-
2020
- 2020-02-14 CN CN202010094997.7A patent/CN111311681A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011238048A (ja) * | 2010-05-11 | 2011-11-24 | Nippon Telegr & Teleph Corp <Ntt> | 位置姿勢計測装置及び位置姿勢計測プログラム |
CN109993793A (zh) * | 2019-03-29 | 2019-07-09 | 北京易达图灵科技有限公司 | 视觉定位方法及装置 |
CN110728715A (zh) * | 2019-09-06 | 2020-01-24 | 南京工程学院 | 一种智能巡检机器人像机角度自适应调整方法 |
Non-Patent Citations (2)
Title |
---|
徐聪: "基于计算机视觉的室内定位关键技术研究" * |
梁利嘉: "基于单目视觉的机器人定位技术研究" * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113375662A (zh) * | 2021-01-28 | 2021-09-10 | 深圳市瑞立视多媒体科技有限公司 | 双光球交互笔的刚体姿态确定方法、装置和计算机设备 |
CN115086538A (zh) * | 2021-03-15 | 2022-09-20 | 北京字跳网络技术有限公司 | 一种拍摄位置确定方法、装置、设备及介质 |
CN115086541A (zh) * | 2021-03-15 | 2022-09-20 | 北京字跳网络技术有限公司 | 一种拍摄位置确定方法、装置、设备及介质 |
WO2022194145A1 (zh) * | 2021-03-15 | 2022-09-22 | 北京字跳网络技术有限公司 | 一种拍摄位置确定方法、装置、设备及介质 |
CN115086541B (zh) * | 2021-03-15 | 2023-12-22 | 北京字跳网络技术有限公司 | 一种拍摄位置确定方法、装置、设备及介质 |
CN115086538B (zh) * | 2021-03-15 | 2024-03-15 | 北京字跳网络技术有限公司 | 一种拍摄位置确定方法、装置、设备及介质 |
CN114117113A (zh) * | 2022-01-28 | 2022-03-01 | 杭州宏景智驾科技有限公司 | 多特征点机动车定位方法和装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3871190B1 (en) | Camera pose estimation using obfuscated features | |
CN111311681A (zh) | 视觉定位方法、装置、机器人及计算机可读存储介质 | |
WO2020206903A1 (zh) | 影像匹配方法、装置及计算机可读存储介质 | |
JP6364049B2 (ja) | 点群データに基づく車両輪郭検出方法、装置、記憶媒体およびコンピュータプログラム | |
Huang et al. | A coarse-to-fine algorithm for matching and registration in 3D cross-source point clouds | |
US20190147221A1 (en) | Pose estimation and model retrieval for objects in images | |
Zhuang et al. | 3-D-laser-based scene measurement and place recognition for mobile robots in dynamic indoor environments | |
CN112461230A (zh) | 机器人重定位方法、装置、机器人和可读存储介质 | |
CN107329962B (zh) | 图像检索数据库生成方法、增强现实的方法及装置 | |
CN109472820B (zh) | 单目rgb-d相机实时人脸重建方法及装置 | |
EP3274964B1 (en) | Automatic connection of images using visual features | |
CN111459269B (zh) | 一种增强现实显示方法、***及计算机可读存储介质 | |
CN112734837B (zh) | 图像匹配的方法及装置、电子设备及车辆 | |
WO2023087758A1 (zh) | 定位方法、定位装置、计算机可读存储介质和计算机程序产品 | |
CN111582204A (zh) | 姿态检测方法、装置、计算机设备及存储介质 | |
CN114677588A (zh) | 障碍物检测的方法、装置、机器人和存储介质 | |
CN113052907A (zh) | 一种动态环境移动机器人的定位方法 | |
WO2021142843A1 (zh) | 图像扫描方法及装置、设备、存储介质 | |
KR20230049969A (ko) | 글로벌 측위 장치 및 방법 | |
CN116481517B (zh) | 扩展建图方法、装置、计算机设备和存储介质 | |
KR100526018B1 (ko) | 물체 인식 및 추적방법 | |
CN111402429A (zh) | 一种尺度还原、三维重建方法、***、存储介质及设备 | |
CN112070844A (zh) | 结构光***的校准方法及装置、校准工具图、设备及介质 | |
JP3476710B2 (ja) | ユークリッド的な3次元情報の復元方法、および3次元情報復元装置 | |
Paya et al. | Estimating the position and orientation of a mobile robot with respect to a trajectory using omnidirectional imaging and global appearance |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 201, building 4, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing Applicant after: Beijing Yunji Technology Co.,Ltd. Address before: Room 201, building 4, courtyard 8, Dongbeiwang West Road, Haidian District, Beijing Applicant before: BEIJING YUNJI TECHNOLOGY Co.,Ltd. |