CN111127547A - 定位方法、装置、机器人及存储介质 - Google Patents
定位方法、装置、机器人及存储介质 Download PDFInfo
- Publication number
- CN111127547A CN111127547A CN201911304195.8A CN201911304195A CN111127547A CN 111127547 A CN111127547 A CN 111127547A CN 201911304195 A CN201911304195 A CN 201911304195A CN 111127547 A CN111127547 A CN 111127547A
- Authority
- CN
- China
- Prior art keywords
- line segment
- posture
- difference
- projection
- gesture
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B11/00—Measuring arrangements characterised by the use of optical techniques
- G01B11/24—Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
-
- 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
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Radar, Positioning & Navigation (AREA)
- Multimedia (AREA)
- Remote Sensing (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本申请实施例提供了定位方法、装置、机器人及存储介质,该方法包括:通过获取包括待定位物体的图像,以及建立待定位物体的三维模型;计算指示投影线段与投影线段对应的轮廓线段的位置的差异的差异信息;基于候选姿态和差异信息,计算待定位物体的实际姿态。一方面,无需以人工方式预先确定可能需要对其姿态进行定位的所有物体的姿态,并且无需在每一个需要对其姿态进行定位的物体上粘贴表示其姿态的二维码,节省对待定位物体的姿态进行定位的成本,另一方面,避免因物体上的二维码的位置不在扫描范围内而导致的无法对物体的姿态进行定位的问题。
Description
技术领域
本申请涉及定位领域,具体涉及定位方法、装置、机器人及存储介质。
背景技术
机器人在工作过程中,经常需要对诸如的充电桩的物体,对其姿态进行定位,才能在靠近或接触物体时,进行相关的操作例如自动充电。
目前,通常采用的方式为:以人工方式预先确定可能需要对其姿态进行定位的所有物体的姿态,并且在每一个需要对其姿态进行定位的物体上粘贴表示其姿态的二维码,机器人通过扫描二维码,获取物体的姿态,以对物体的姿态进行定位。
然而,一方面,需要以人工方式预先确定可能需要对其姿态进行定位的所有物体的姿态,并且在每一个需要对其姿态进行定位的物体上粘贴表示其姿态的二维码,成本高,另一方面,由于以人工方式在物体上粘贴二维码,物体上的二维码的位置是不确定的,在一些物体上的二维码的位置不在机器人上的扫描设备的扫描范围内的情况下,导致机器人无法扫描到二维码,无法对物体的姿态进行定位。
发明内容
为克服相关技术中存在的问题,本申请提供一种定位方法、装置、机器人及存储介质。
根据本申请实施例的第一方面,提供一种定位方法,包括:
获取包括待定位物体的图像,以及建立所述待定位物体的三维模型;
计算指示与候选姿态相关的投影线段与所述投影线段对应的轮廓线段的差异的差异信息,所述投影线段通过基于所述候选姿态,将所述待定位物体的三维模型投影到所述图像中得到,所述投影线段对应的轮廓线段位于所述待定位对象的轮廓上;
基于候选姿态和所述差异信息,计算所述待定位物体的实际姿态。
在一些实施例中,所述计算指示与候选姿态相关的投影线段与所述投影线段对应的轮廓线段的差异的差异信息包括:
确定所述投影线段上的关键点,以及确定每一个关键点各自对应的关联点,其中,关键点对应的关联点位于所述投影线段对应的轮廓线段上;
生成距离向量,其中,距离向量中的分量为各关键点与其对应的关联点之间的距离;
将所述距离向量确定为所述差异信息。
在一些实施例中,所述确定所述投影线段上的关键点包括:
对所述投影线段进行采样,得到多个采样点;
将每一个采样点分别确定为一个关键点。
在一些实施例中,所述确定每一个关键点各自对应的关联点包括:
对于每一个关键点,查找出在所述关键点的法线方向上并且位于所述投影线段对应的轮廓线段上的点;将查找出的点作为关键点对应的关联点。
在一些实施例中,所述方法还包括:
迭代地执行姿态更新操作,直至满足预设停止条件,所述姿态更新操作包括:
基于本次执行姿态更新操作时采用的投影姿态,将待定位物体的三维模型投影到所述图像中,得到与投影姿态相关的投影线段;
计算指示与投影姿态相关的投影线段与所述投影线段对应的轮廓线段的差异的差异信息;
基于所述差异信息和预设关联信息,计算与投影姿态相关的投影线段与待定位物体的实际姿态的姿态差异量,其中,预设关联信息指示差异信息与姿态差异量的关联关系;
将本次执行姿态更新操作时采用的投影姿态作为候选姿态或将最新的投影姿态作为下一次姿态更新操作执行时采用的投影姿态,最新的投影姿态为本次执行姿态更新操作时采用的投影姿态与计算出的姿态差异量之和。
在一些实施例中,在获取包括待定位物体的图像之前,所述方法还包括:
确定与待定位物体属于同一类型的目标物体的实际姿态,以及建立所述目标物体的三维模型;
对于多个与所述物体的实际姿态不同的差异姿态中的每一个差异姿态,基于所述差异姿态,将所述目标物体的三维模型投影到包括所述目标物体的图像中,得到与所述差异姿态相关的投影线段;计算所述差异姿态对应的差异信息,所述差异姿态对应的差异信息指示与所述差异姿态相关的投影线段与所述投影线段对应的轮廓线段的差异;
基于每一个所述差异姿态各自对应的差异信息和每一个所述差异姿态各自对应的姿态差异量,得到所述预设关联信息,差异姿态对应的姿态差异量为所述差异姿态与所述目标物体的实际姿态的差异量。
在一些实施例中,所述预设停止条件为以下之一:姿态更新操作的执行次数等于次数阈值、最新计算出的差异信息小于阈值。
在一些实施例中,待定位物体为充电桩。
根据本申请实施例的第二方面,提供一种定位装置,包括:
获取单元,被配置为获取包括待定位物体的图像,以及建立所述待定位物体的三维模型;
计算单元,被配置为计算指示与候选姿态相关的投影线段与投影线段对应的轮廓线段的差异的差异信息,所述投影线段通过基于候选姿态,将所述待定位物体的三维模型投影到所述图像中得到,所述投影线段对应的轮廓线段位于所述待定位对象的轮廓上;
定位单元,被配置为基于候选姿态和所述差异信息,计算所述待定位物体的实际姿态。
在一些实施例中,计算单元进一步被配置为:
确定所述投影线段上的关键点,以及确定每一个关键点各自对应的关联点,其中,关键点对应的关联点位于所述投影线段对应的轮廓线段上;
生成距离向量,其中,距离向量中的分量为各关键点与其对应的关联点之间的距离;
将所述距离向量确定为所述差异信息。
在一些实施例中,计算单元进一步被配置为:
对所述投影线段进行采样,得到多个采样点;将每一个采样点分别确定为一个关键点。
在一些实施例中,计算单元进一步被配置为:
对于每一个关键点,查找出在所述关键点的法线方向上并且位于所述投影线段对应的轮廓线段上的点;将查找出的点作为关键点对应的关联点。
在一些实施例中,定位装置还包括:
迭代单元,被配置为:
迭代地执行姿态更新操作,直至满足预设停止条件,所述姿态更新操作包括:
基于本次执行姿态更新操作时采用的投影姿态,将待定位物体的三维模型投影到所述图像中,得到与投影姿态相关的投影线段;
计算指示与投影姿态相关的投影线段与所述投影线段对应的轮廓线段的差异的差异信息;
基于所述差异信息和预设关联信息,计算与投影姿态相关的投影线段与待定位物体的实际姿态的姿态差异量,其中,预设关联信息指示差异信息与姿态差异量的关联关系;
将本次执行姿态更新操作时采用的投影姿态作为候选姿态或将最新的投影姿态作为下一次姿态更新操作执行时采用的投影姿态,最新的投影姿态为本次执行姿态更新操作时采用的投影姿态与计算出的姿态差异量之和。
在一些实施例中,定位装置还包括:
确定单元,被配置为:
在获取包括待定位物体的图像之前,确定与待定位物体属于同一类型的目标物体的实际姿态,以及建立所述目标物体的三维模型;
对于与所述实际姿态不同的多个差异姿态中的每一个差异姿态,基于所述差异姿态,将所述目标物体的三维模型投影到包括所述物体的图像中,得到与所述差异姿态相关的投影线段;计算所述差异姿态对应的差异信息,所述差异姿态对应的差异信息指示所述与差异姿态相关的投影线段与所述与差异姿态相关的投影线段对应的轮廓线段的差异;
基于每一个所述姿态各自对应的差异信息和每一个所述姿态各自对应的姿态差异量,得到所述预设关联信息,所述差异姿态对应的姿态差异量为所述差异姿态与所述目标物体的实际姿态的姿态差异量。
在一些实施例中,所述预设停止条件为以下之一:姿态更新操作的执行次数等于次数阈值、最新计算出的差异信息小于阈值。
在一些实施例中,待定位物体为充电桩。
本申请实施例提供的图像滤波方法、装置,通过获取包括待定位物体的图像,以及建立待定位物体的三维模型;计算指示投影线段与投影线段对应的轮廓线段的差异的差异信息,以及基于候选姿态和差异信息,计算待定位物体的实际姿态。一方面,无需以人工方式预先确定可能需要对其姿态进行定位的所有物体的姿态,并且无需在每一个需要对其姿态进行定位的物体上粘贴表示其姿态的二维码,节省对待定位物体的姿态进行定位的成本,另一方面,避免因物体上的二维码的位置不在扫描范围内而导致的无法对物体的姿态进行定位的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1示出了本申请实施例提供的定位方法的流程图;
图2示出了本申请实施例提供的定位装置的结构框图;
图3示出了本申请实施例提供的机器人的结构框图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,其示出了本申请实施例提供的定位方法的流程图,该方法包括:
步骤101,获取包括待定位物体的图像,以及建立待定位物体的三维模型。
在本申请中,在确定待定位物体的实际姿态之前,可以获取包括待定位物体的图像,并且建立待定位物体的三维模型。待定位物体的三维模型可以描述待定位物体的轮廓。
例如,待定位物体为充电桩,在确定充电桩的实际姿态之前,由机器人上的摄像头拍摄包括充电桩的图像,从而获取到包括待定位物体的图像。可以建立充电桩的三维模型,充电桩的三维模型可以描述充电桩的轮廓。
步骤102,计算指示与候选姿态相关的投影线段与该投影线段对应的轮廓线段的差异的差异信息。在本申请中,与候选姿态相关的投影线段为通过基于候选姿态,将待定位物体的三维模型投影到获取到的图像中得到的。候选姿态为在确定待定位物体的实际姿态的过程中计算出的可能作为待定位物体的实际姿态的姿态。
在本申请一实施例中,可以通过SLAM(simultaneous localization andmapping,即时定位与地图构建)、VO(Visual Odometry,视觉里程计),基于获取到的多个包括待定位物体的图像,对待定位物体的姿态进行估计,将对待定位物体的姿态进行估计得到的姿态作为待定位物体的候选姿态。
在本申请中,在计算出待定位物体的候选姿态之后,可以基于候选姿态,将待定位物体的三维模型投影到获取到的包括待定位物体的图像中。可以将通过候选姿态进行投影得到的投影线段称之为与候选姿态相关的投影线段。
例如,可以采用OPENGL(Open Graphics Library,开放图形库),基于候选姿态,将待定位物体的三维模型投影到获取到的包括待定位物体的图像中。
在本申请中,在将待定位物体的三维模型投影到获取到的包括待定位物体的图像之后,可以得到位于获取到的包括待定位物体的图像中的投影轮廓,投影线段位于投影轮廓上,即与候选姿态相关的投影线段位于该投影轮廓上。
在本申请中,与候选姿态相关的投影线段对应有轮廓线段。与候选姿态相关的投影线段对应的轮廓线段位于获取到的图像中的待定位物体的轮廓上。轮廓线段为获取到的包括待定位物体的图像中的待定位物体的轮廓上的线段。待定位物体的轮廓可以采用边缘检测算法例如Canny算法确定。可以采用边缘检测算法获取到的包括待定位物体的图像中的待定位物体的边缘,从而,确定获取到的包括待定位物体的图像中的待定位物体的轮廓。
在本申请中,一个与候选姿态相关的投影线段与其对应的一个轮廓线段表示待定位物体的同一个边。
例如,待定位物体为充电桩,对于充电桩的轮廓上的一个边,经过投影之后,获取到的包括待定位物体的图像中包含表示该边的与候选姿态相关的投影线段,获取到的包括待定位物体的图像中的充电桩的轮廓包括表示该边的轮廓线段。充电桩的轮廓中的表示该边的轮廓线段为经过投影之后得到的表示该边的与候选姿态相关的投影线段对应的轮廓线段。
在本申请中,为计算待定位物体的实际姿态,可以计算指示与候选姿态相关的投影线段与投影线段对应的轮廓线段的差异的差异信息。与候选姿态相关的投影线段与该投影线段对应的轮廓线段的位置的差异可以为该投影线段的位置与该投影线段对应的轮廓线段的位置的差异。
投影线段与投影线段对应的轮廓线段的差异是由于待定位物体的候选姿态与待定位物体的实际姿态之间的差异造成的。当采用待定位物体的实际姿态将待定位物体的三维模型投影到获取到的图像中时,投影线段应该与其对应的轮廓线段应该是重合和基本重合的。由于待定位物体的候选姿态是对待定位物体的姿态进行估计而计算出的姿态,待定位物体的候选姿态与待定位物体的实际姿态存在差异,造成在采用待定位物体的候选姿态将待定位物体的三维模型投影到获取到的图像之后,投影线段与投影线段对应的轮廓线段的差异。因此,差异信息与姿态差异量具有关联关系。
上述以候选姿态为例说明由于投影时采用的姿态不是实际姿态时造成的投影线段与投影线段对应的轮廓线段的差异仅为示例。上述差异信息并不特指采用某一个不是实际姿态的姿态例如候选姿态进行投影而得到的差异信息,上述姿态差异量也并不特指某一个不是实际姿态的姿态例如候选姿态与实际姿态的差异量。采用任意一个不是实际姿态的姿态进行投影时,均会造成相应的投影线段和相应的投影线段对应的轮廓线段的差异,可以生成相应的差异信息,任意一个不是实际姿态的姿态均各自与实际姿态具有相应的姿态差异量。
在一些实施例中,计算指示与候选姿态相关的投影线段与该投影线段对应的轮廓线段的差异的差异信息包括:确定该投影线段上的关键点,以及确定每一个关键点各自对应的关联点,其中,关键点对应的关联点位于该投影线段对应的轮廓线段上;生成距离向量,其中,距离向量中的分量为一个关键点与其对应的关联点之间的距离;将该距离向量作为与候选姿态相关的投影线段与该投影线段对应的轮廓线段的差异的差异信息。
在一些实施例中,确定与候选姿态相关的投影线段上的关键点包括:对该投影线段进行采样,得到多个采样点;将每一个采样点分别作为一个关键点。
在本申请中,可以将与候选姿态相关的投影线段上的两个端点均作关键点。其他的关键点通过在与候选姿态相关的投影线段上进行采样得到。可以从两个端点中的一个端点开始,以预设采样规则在与候选姿态相关的投影线段上进行采样,例如,每一次在与最新被采样的采样点的距离为预设距离的位置进行采样,得到最新被采样到的采样点的下一个采样点。
在一些实施例中,确定每一个关键点各自对应的关联点包括:对于每一个关键点,查找出在该关键点的法线方向上并且位于与候选姿态相关的投影线段对应的轮廓线段上的点;将查找出的点作为关键点对应的关联点。
在本申请中,当确定每一个关键点各自对应的关联点时,可以对于每一个关键点,在该关键点的法线方向上查找与位于与候选姿态相关的投影线段对应的轮廓线段上的点,将查找出的点作为关键点对应的关联点。换言之,对于每一个关键点,关键点对应的关联点为该关键点的法线与候选姿态相关的投影线段对应的轮廓线段的交点。
在本申请中,指示与候选姿态相关的投影线段与该投影线段对应的轮廓线段的差异的差异信息可以为距离向量。在确定每一个关键点各自对应的关联点之后,可以生成作为指示与候选姿态相关的投影线段与该投影线段对应的轮廓线段的差异的差异信息的距离向量,该距离向量中的分量为一个关键点与其对应的关联点之间的距离。可以分别计算每一个关键点与其对应的关键点之间的距离,得到多个距离,每一个距离分别作为向量中的一个分量。
在一些实施例中,在获取包括待定位物体的图像之前,还包括:确定与待定位物体属于同一类型的目标物体的实际姿态,以及建立该目标物体的三维模型;对于多个与实际姿态不同的差异姿态中的每一个差异姿态,基于该差异姿态,将该目标物体的三维模型投影到包括该目标物体的图像中,得到与该差异姿态相关的投影线段;计算该差异姿态对应的差异信息,该差异姿态对应的差异信息指示与该差异姿态相关的投影线段与该投影线段对应的轮廓线段的差异;基于每一个差异姿态各自对应的差异信息和每一个差异姿态各自对应的姿态差异量,得到预设关联信息,差异姿态对应的姿态差异量为该差异姿态与该目标物体的实际姿态的差异量。
在本申请中,为了得到预设关联信息,可以预先确定与待定位物体属于同一类型的一个目标物体的实际姿态。例如,待定位物体为一个充电桩,与待定位物体属于同一类型的目标物体为用于得到预设关联信息的另一个充电桩。
对于该物体,可以预先精确地确定该目标物体的实际姿态。采用多个与该物体的实际姿态不同的差异姿态,分别将该目标物体的三维模型投影到包括该目标物体的图像中。
对于多个与该目标物体的实际姿态不同的差异姿态中的每一个差异姿态,基于该差异姿态,将该物体的三维模型投影到包括该目标物体的图像中,得到与该差异姿态相关的投影线段之后,计算该差异姿态对应的差异信息,该差异姿态对应的差异信息指示与该差异姿态相关的投影线段与该投影线段对应的轮廓线段的差异。
在本申请中,与差异姿态相关的投影线段对应有轮廓线段。与差异姿态相关的投影线段与其对应的轮廓线段的关系可以参考上述与候选姿态相关的投影线段与其对应的轮廓线段的关系。
对于多个与该实际姿态不同的差异姿态中的每一个差异姿态,该差异姿态对应一个差异信息和一个姿态差异量,该差异姿态对应的姿态差异量为该差异姿态与该目标物体的实际姿态的差异量。
可以基于每一个差异姿态各自对应的差异信息和每一个差异姿态各自对应的姿态差异量,确定差异信息与姿态差异量的关联关系,从而,得到预设关联信息。
在一些实施例中,还包括:迭代地执行姿态更新操作,直至满足预设停止条件,姿态更新操作包括:基于本次执行姿态更新操作时采用的投影姿态,将待定位物体的三维模型投影到包括待定位物体的图像中,得到与投影姿态相关的投影线段;计算指示与投影姿态相关的投影线段与该投影线段对应的轮廓线段的差异的差异信息;基于该差异信息和预设关联信息,计算与投影姿态相关的投影线段与待定位物体的实际姿态的姿态差异量,其中,预设关联信息指示差异信息与姿态差异量的关联关系;将本次执行姿态更新操作时采用的投影姿态作为候选姿态或将最新的投影姿态作为下一次姿态更新操作执行时采用的投影姿态,最新的投影姿态为本次执行姿态更新操作时采用的投影姿态与计算出的姿态差异量之和。
在本申请中,可以迭代地执行姿态更新操作,直至满足预设停止条件。
例如,姿态更新操作的执行次数达到次数阈值,当姿态更新操作的执行次数达到次数阈值,停止执行姿态更新操作。每完成一次姿态更新操作,判断是否满足预设停止条件。
在第1次执行姿态更新操作之前,可以对待定位物体的姿态进行估计,得到待定位物体的估计姿态,将估计姿态作为第1次执行姿态更新操作时采用的投影姿态。每执行一次姿态更新操作,可以得到一个新的投影姿态。可以将通过最后一次执行的姿态更新操作时采用的投影姿态作为候选姿态。
可以通过SLAM(simultaneous localization and mapping,即时定位与地图构建)、VO(Visual Odometry,视觉里程计),基于获取到的多个包括待定位物体的图像,对待定位物体的姿态进行估计,得到待定位物体的估计姿态。
在第1执行姿态更新操作时,基于第1执行姿态更新操作时采用的投影姿态,即通过对待定位物体的姿态进行估计得到的待定位物体的的姿态,将待定位物体的三维模型投影到获取到的包括待定位物体图像中。在第1次执行姿态更新操作之后,计算出最新的投影姿态,该最新的投影姿态为第1执行姿态更新操作时采用的投影姿态与通过执行第1次执行姿态更新操作计算出的姿态差异量之和。将最新的投影姿态作为第2次执行的姿态更新操作时采用的投影姿态,在第2次执行姿态更新操作时,基于第2次执行的姿态更新操作时采用的投影姿态,将待定位物体的三维模型再次投影到获取到包括待定位物体的图像中,在第2次执行姿态更新操作之后,计算出最新的投影姿态,该最新的投影姿态为第2执行姿态更新操作时采用的投影姿态与通过执行第2次执行姿态更新操作计算出的姿态差异量之和。将该最新的投影姿态作为第3次执行的姿态更新操作时采用的投影姿态,依次类推。假设满足预设停止条件为姿态更新操作的执行次数达到3次。此时,在第3次执行姿态更新操作之后,判断是否满足预设停止条件之后,确定满足预设停止条件,将第3次执行的姿态更新操作执行时采用的投影姿态作为候选姿态。
在本申请中,与投影姿态相关的投影线段对应有轮廓线段。与投影姿态相关的投影线段与其对应的轮廓线段的关系可以参考上述与候选姿态相关的投影线段与其对应的轮廓线段的关系。
在本申请中,在一次执行的姿态更新操作的过程中,首先基于该次执行姿态更新操作时采用的投影姿态,将待定位物体的三维模型投影到获取到的包括待定位物体的图像中,得到与该投影姿态相关的投影线段。然后,可以确定与该投影姿态相关的投影线段上的关键点,以及确定每一个关键点各自对应的关联点,关键点对应的关联点位于与该投影姿态相关的投影线段对应的轮廓线段上。例如,将与该投影姿态相关的投影线段上的两个端点确定为关键点,将与该投影姿态相关的投影线段对应的轮廓线段上的两个端点作为与该投影姿态相关的投影线段上的关键点对应的关联点。
上述计算指示与候选姿态相关的投影线段与该投影线段对应的轮廓线段的差异的差异信息的方式适用于计算指示与投影姿态相关的投影线段与该投影线段对应的轮廓线段的差异的差异信息。
当计算指示与投影姿态相关的投影线段与投影线段对应的轮廓线段的差异的差异信息时,可以参考上述计算指示与候选姿态相关的投影线段与该投影线段对应的轮廓线段的差异的差异信息的方式,计算指示与投影姿态相关的投影线段与该投影线段对应的轮廓线段的差异的差异信息。在本申请中,指示与投影姿态相关的投影线段与该投影线段对应的轮廓线段的差异的差异信息可以为距离向量。
在本申请中,在一次执行的姿态更新操作的过程中,在计算出距离向量之后,可以基于该次执行的姿态更新操作的过程中计算出的差异信息和预设关联信息,计算该次执行姿态更新操作时采用的投影姿态与待定位物体的实际姿态的姿态差异量。
在本申请中,指示姿态差异量与距离向量的关联关系的关联信息可以为预先设置的指示姿态差异量与差异信息例如距离向量的关联关系的函数。指示姿态差异量与差异信息例如距离向量的关联关系的函数中的自变量为表示距离向量的项,指示姿态差异量与差异信息例如距离向量的关联关系的函数中的因变量为表示姿态差异量的项。
在本申请中,当计算该次执行姿态更新操作时采用的投影姿态与待定位物体的实际姿态的姿态差异量时,可以对指示姿态差异量与差异信息例如距离向量的关联关系的函数中的自变量即表示差异信息例如距离向量的项求导,计算表示差异信息例如距离向量的项在通过该次执行的姿态更新操作计算出的差异信息例如距离向量d处的导数,得到导数LK。导数LK指示该次执行姿态更新操作时采用的投影姿态与待定位物体的实际姿态的姿态差异量对投影线段与投影线段对应的轮廓线段的差异的影响程度。然后,可以计算导数LK与通过该次执行的姿态更新操作的过程中计算出的差异信息例如距离向量d的乘积-LK -1*d。可以将-LK -1*d作为该次执行姿态更新操作时采用的投影姿态与待定位物体的实际姿态的姿态差异量。
然后,将该次姿态更新操作执行时采用的投影姿态r_k与该次执行姿态更新操作时采用的投影姿态与待定位物体的实际姿态的姿态差异量-LK -1*d相加,得到最新的投影姿态r_k+1。
当满足预设停止条件时,将该次姿态更新操作执行时采用的投影姿态r_k+1作为候选姿态,当不满足预设停止条件时,将最新的投影姿态r_k+1作为下一次姿态更新操作执行时采用的投影姿态。
在一些实施例中,预设停止条件可以为以下之一:姿态更新操作的执行次数等于次数阈值、最新计算出的差异信息例如距离向量小于阈值。
在本申请中,预设停止条件可以为姿态更新操作的执行次数等于次数阈值。当在一次姿态更新操作完成之后,姿态更新操作的执行次数等于次数阈值,则满足预设停止条件,在该次姿态更新操作执行完成之后,不再执行下一次姿态更新操作,将该次姿态更新操作执行时采用的投影姿态作为候选姿态。
在本申请中,预设停止条件可以为最新计算出的差异信息例如距离向量的小于阈值。
最新计算出的差异信息为在当前执行的姿态更新操作的过程中计算出的差异信息。
当在一次执行姿态更新操作的过程中,在该次执行姿态更新操作的过程中计算出的差异信息例如距离向量小于阈值,则满足预设停止条件,在该次姿态更新操作执行完成之后,不再执行下一次姿态更新操作,将该次姿态更新操作执行时采用的投影姿态作为候选姿态。
在本申请中,预设停止条件还可以为最新计算出的差异信息例如距离向量的二范数小于阈值。二范数也可称之为欧几里得范数。在计算差异信息例如距离向量的二范数时,首先差异信息例如距离向量中的元素绝对值的平方之和,得到求和结果,然而,对求和结果再进行开方,得到差异信息例如距离向量的二范数。
当在一次执行姿态更新操作的过程中,在该次执行姿态更新操作的过程中计算出的差异信息例如距离向量的二范数小于阈值,则满足预设停止条件,在该次姿态更新操作执行完成之后,不再执行下一次姿态更新操作,将该次姿态更新操作执行时采用的投影姿态作为候选姿态。
步骤103,基于候选姿态和差异信息,计算待定位物体的实际姿态。
在本申请中,当计算待定位物体的实际姿态时,可以根据计算出的指示与候选姿态相关的投影线段与投影线段对应的轮廓线段的位置的差异的差异信息和预先确定的差异信息与姿态差异量的关联关系,计算指示投影线段的与投影线段对应的轮廓线段的差异的差异信息对应的姿态差异量。然后,可以将待定位物体的候选姿态与计算出的姿态差异量相加,得到待定物体的实际姿态。
请参考图2,其示出了本申请实施例提供的定位装置的结构框图。定位装置可以安装于机器人中。定位装置包括:获取单元201,计算单元202,定位单元203。
获取单元201被配置为获取包括待定位物体的图像,以及建立所述待定位物体的三维模型;
计算单元202被配置为计算指示与候选姿态相关的投影线段与投影线段对应的轮廓线段的差异的差异信息,所述投影线段通过基于候选姿态,将所述待定位物体的三维模型投影到所述图像中得到,所述投影线段对应的轮廓线段位于所述待定位对象的轮廓上;
定位单元203被配置为基于候选姿态和所述差异信息,计算所述待定位物体的实际姿态。
在一些实施例中,计算单元202进一步被配置为:
确定所述投影线段上的关键点,以及确定每一个关键点各自对应的关联点,其中,关键点对应的关联点位于所述投影线段对应的轮廓线段上;
生成距离向量,其中,距离向量中的分量为各关键点与其对应的关联点之间的距离;
将所述距离向量确定为所述差异信息。
在一些实施例中,计算单元202进一步被配置为:
对所述投影线段进行采样,得到多个采样点;将每一个采样点分别确定为一个关键点。
计算单元202进一步被配置为:
对于每一个关键点,查找出在所述关键点的法线方向上并且位于所述投影线段对应的轮廓线段上的点;将查找出的点作为关键点对应的关联点。
在一些实施例中,定位装置还包括::
迭代单元,被配置为:
迭代地执行姿态更新操作,直至满足预设停止条件,所述姿态更新操作包括:
基于本次执行姿态更新操作时采用的投影姿态,将待定位物体的三维模型投影到所述图像中,得到与投影姿态相关的投影线段;
计算指示与投影姿态相关的投影线段与所述投影线段对应的轮廓线段的差异的差异信息;
基于所述差异信息和预设关联信息,计算与投影姿态相关的投影线段与待定位物体的实际姿态的姿态差异量,其中,预设关联信息指示差异信息与姿态差异量的关联关系;
将本次执行姿态更新操作时采用的投影姿态作为候选姿态或将最新的投影姿态作为下一次姿态更新操作执行时采用的投影姿态,最新的投影姿态为本次执行姿态更新操作时采用的投影姿态与计算出的姿态差异量之和。
在一些实施例中,定位装置还包括:
确定单元,被配置为:在获取包括待定位物体的图像之前,确定与待定位物体属于同一类型的目标物体的实际姿态,以及建立所述目标物体的三维模型;
对于多个与所述物体的实际姿态不同的姿态中的每一个差异姿态,基于所述差异姿态,将所述目标物体的三维模型投影到包括所述目标物体的图像中,得到与所述差异姿态相关的投影线段;计算所述差异姿态对应的差异信息,所述差异姿态对应的差异信息指示与所述差异姿态相关的投影线段与所述投影线段对应的轮廓线段的差异;
基于每一个所述差异姿态各自对应的差异信息和每一个所述差异姿态各自对应的姿态差异量,得到所述预设关联信息,所述差异姿态对应的姿态差异量为所述差异姿态与所述目标物体的实际姿态的差异量。
在一些实施例中,预设停止条件为以下之一:姿态更新操作的执行次数等于次数阈值、最新计算出的差异信息小于阈值。
在一些实施例中,待定位物体为充电桩。
图3是本实施例提供的一种机器人的结构框图。机器人300包括处理组件322,其进一步包括一个或多个处理器,以及由存储器332所代表的存储器资源,用于存储可由处理组件322执行的指令,例如应用程序。存储器332中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件322被配置为执行指令,以执行上述定位方法。
机器人300还可以包括一个电源组件326被配置为执行机器人300的电源管理,一个有线或无线网络接口350被配置为将机器人300连接到网络,和一个输入输出(I/O)接口358。机器人300可以操作基于存储在存储器332的操作系统,例如Windows ServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM或类似。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由机器人执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (11)
1.一种定位方法,其特征在于,所述方法包括:
获取包括待定位物体的图像,以及建立所述待定位物体的三维模型;
计算指示与候选姿态相关的投影线段与所述投影线段对应的轮廓线段的差异的差异信息,所述投影线段通过基于所述候选姿态,将所述待定位物体的三维模型投影到所述图像中得到,所述投影线段对应的轮廓线段位于所述待定位物体的轮廓上;
基于候选姿态和所述差异信息,计算所述待定位物体的实际姿态。
2.根据权利要求1所述的方法,其特征在于,所述计算指示与候选姿态相关的投影线段与所述投影线段对应的轮廓线段的差异的差异信息包括:
确定所述投影线段上的关键点,以及确定每一个关键点各自对应的关联点,其中,关键点对应的关联点位于所述投影线段对应的轮廓线段上;
生成距离向量,其中,距离向量中的分量为各关键点与其对应的关联点之间的距离;
将所述距离向量确定为所述差异信息。
3.根据权利要求2所述的方法,其特征在于,所述确定所述投影线段上的关键点包括:
对所述投影线段进行采样,得到多个采样点;
将每一个采样点分别确定为一个关键点。
4.根据权利要求3所述的方法,其特征在于,所述确定每一个关键点各自对应的关联点包括:
对于每一个关键点,查找出在所述关键点的法线方向上并且位于所述投影线段对应的轮廓线段上的点;将查找出的点作为所述关键点对应的关联点。
5.根据权利要求1-4之一所述的方法,其特征在于,所述方法还包括:
迭代地执行姿态更新操作,直至满足预设停止条件,所述姿态更新操作包括:
基于本次执行姿态更新操作时采用的投影姿态,将待定位物体的三维模型投影到所述图像中,得到与所述投影姿态相关的投影线段;
计算指示与所述投影姿态相关的投影线段与所述投影线段对应的轮廓线段的差异的差异信息;
基于所述差异信息和预设关联信息,计算与所述投影姿态相关的投影线段与待定位物体的实际姿态的姿态差异量,其中,预设关联信息指示差异信息与姿态差异量的关联关系;
将本次执行姿态更新操作时采用的投影姿态作为候选姿态或将最新的投影姿态作为下一次姿态更新操作执行时采用的投影姿态,最新的投影姿态为本次执行姿态更新操作时采用的投影姿态与计算出的姿态差异量之和。
6.根据权利要求5所述的方法,其特征在于,在获取包括待定位物体的图像之前,所述方法还包括:
确定与待定位物体属于同一类型的目标物体的实际姿态,以及建立所述目标物体的三维模型;
对于多个与所述目标物体的实际姿态不同的差异姿态中的每一个差异姿态,基于所述差异姿态,将所述目标物体的三维模型投影到包括所述目标物体的图像中,得到与所述差异姿态相关的投影线段;计算所述差异姿态对应的差异信息,所述差异姿态对应的差异信息指示与所述差异姿态相关的投影线段与所述投影线段对应的轮廓线段的差异;
基于每一个所述差异姿态各自对应的差异信息和每一个所述差异姿态各自对应的姿态差异量,得到所述预设关联信息,所述差异姿态对应的姿态差异量为所述差异姿态与所述目标物体的实际姿态的差异量。
7.根据权利要求5所述的方法,其特征在于,所述预设停止条件为以下之一:姿态更新操作的执行次数达到次数阈值、最新计算出的差异信息小于阈值。
8.根据权利要求1所述的方法,其特征在于,所述待定位物体为充电桩。
9.一种定位装置,其特征在于,所述装置包括:
获取单元,被配置为获取包括待定位物体的图像,以及建立所述待定位物体的三维模型;
计算单元,被配置为计算指示与候选姿态相关的投影线段与投影线段对应的轮廓线段的差异的差异信息,所述投影线段通过基于候选姿态,将所述待定位物体的三维模型投影到所述图像中得到,所述投影线段对应的轮廓线段位于所述待定位对象的轮廓上;
定位单元,被配置为基于候选姿态和所述差异信息,计算所述待定位物体的实际姿态。
10.一种机器人,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的方法。
11.一种存储介质,当所述存储介质中的指令由机器人的处理器执行时,使得机器人能够执行如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911304195.8A CN111127547A (zh) | 2019-12-17 | 2019-12-17 | 定位方法、装置、机器人及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911304195.8A CN111127547A (zh) | 2019-12-17 | 2019-12-17 | 定位方法、装置、机器人及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111127547A true CN111127547A (zh) | 2020-05-08 |
Family
ID=70499423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911304195.8A Pending CN111127547A (zh) | 2019-12-17 | 2019-12-17 | 定位方法、装置、机器人及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111127547A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100245355A1 (en) * | 2009-03-27 | 2010-09-30 | Ju Yong Chang | Method for Estimating 3D Pose of Specular Objects |
US20150317821A1 (en) * | 2014-04-30 | 2015-11-05 | Seiko Epson Corporation | Geodesic Distance Based Primitive Segmentation and Fitting for 3D Modeling of Non-Rigid Objects from 2D Images |
CN105844276A (zh) * | 2015-01-15 | 2016-08-10 | 北京三星通信技术研究有限公司 | 人脸姿态校正方法和装置 |
US20170287154A1 (en) * | 2016-03-29 | 2017-10-05 | Fujitsu Limited | Image processing apparatus and image processing method |
US20190206078A1 (en) * | 2018-01-03 | 2019-07-04 | Baidu Online Network Technology (Beijing) Co., Ltd . | Method and device for determining pose of camera |
CN110111388A (zh) * | 2019-05-10 | 2019-08-09 | 北京航空航天大学 | 三维物体位姿参数估计方法及视觉设备 |
-
2019
- 2019-12-17 CN CN201911304195.8A patent/CN111127547A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100245355A1 (en) * | 2009-03-27 | 2010-09-30 | Ju Yong Chang | Method for Estimating 3D Pose of Specular Objects |
US20150317821A1 (en) * | 2014-04-30 | 2015-11-05 | Seiko Epson Corporation | Geodesic Distance Based Primitive Segmentation and Fitting for 3D Modeling of Non-Rigid Objects from 2D Images |
CN105844276A (zh) * | 2015-01-15 | 2016-08-10 | 北京三星通信技术研究有限公司 | 人脸姿态校正方法和装置 |
US20170287154A1 (en) * | 2016-03-29 | 2017-10-05 | Fujitsu Limited | Image processing apparatus and image processing method |
US20190206078A1 (en) * | 2018-01-03 | 2019-07-04 | Baidu Online Network Technology (Beijing) Co., Ltd . | Method and device for determining pose of camera |
CN110111388A (zh) * | 2019-05-10 | 2019-08-09 | 北京航空航天大学 | 三维物体位姿参数估计方法及视觉设备 |
Non-Patent Citations (1)
Title |
---|
马瑾;张国峰;戴树岭;曾锐;: "基于相对视觉位姿的Stewart平台运动学标定" * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111325796B (zh) | 用于确定视觉设备的位姿的方法和装置 | |
US10650528B2 (en) | Systems and methods for edge points based monocular visual SLAM | |
US10996062B2 (en) | Information processing device, data management device, data management system, method, and program | |
Zubizarreta et al. | A framework for augmented reality guidance in industry | |
CN108256479B (zh) | 人脸跟踪方法和装置 | |
US10417781B1 (en) | Automated data capture | |
US9443297B2 (en) | System and method for selective determination of point clouds | |
US8755630B2 (en) | Object pose recognition apparatus and object pose recognition method using the same | |
JP5671281B2 (ja) | 位置姿勢計測装置、位置姿勢計測装置の制御方法及びプログラム | |
JP2020095009A (ja) | コンピュータによる鉄筋測定検査システム | |
US20170177746A1 (en) | Model generating device, position and orientation calculating device, and handling robot device | |
US10354402B2 (en) | Image processing apparatus and image processing method | |
JP7017689B2 (ja) | 情報処理装置、情報処理システムおよび情報処理方法 | |
CN111192331A (zh) | 一种激光雷达和相机的外参标定方法及装置 | |
US10861173B2 (en) | Hole-based 3D point data alignment | |
JP6506032B2 (ja) | 測量データ処理装置、測量データ処理方法およびプログラム | |
Belter et al. | Improving accuracy of feature-based RGB-D SLAM by modeling spatial uncertainty of point features | |
CN109255801B (zh) | 视频中三维物体边缘追踪的方法、装置、设备及存储介质 | |
JP6936974B2 (ja) | 位置姿勢推定装置、位置姿勢推定方法及びプログラム | |
JP5976089B2 (ja) | 位置姿勢計測装置、位置姿勢計測方法、およびプログラム | |
CN113052907A (zh) | 一种动态环境移动机器人的定位方法 | |
US20220215576A1 (en) | Information processing device, information processing method, and computer program product | |
US11145048B2 (en) | Image processing apparatus, image processing method, and non-transitory computer-readable storage medium for storing program | |
CN112233161B (zh) | 手部图像深度确定方法、装置、电子设备及存储介质 | |
CN111127547A (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 |