发明内容
发明人研究发现,现有技术在计算激光雷达与相机标定参数的过程中,需要利用标定板的信息以及激光雷达扫描得到的点云。标定板的摆放位置以及上述点云的稀疏性,都可能导致计算的标定参数在客观上存在误差。因此利用现有技术计算的标定参数,无法实现激光雷达坐标系下的空间位置信息与相机图像坐标系下的图像内容信息准确对应,从而影响到移动机器人对环境的感知能力。为了获得更加准确的标定参数,需要对现有技术确定的初始标定参数进行后期的优化处理。
本发明解决的一个技术问题是,如何获得更加准确的激光雷达与相机的标定参数。
根据本发明实施例的一个方面,提供了一种标定参数的确定方法,包括:获取对象的激光雷达点云中空间位置跳跃点的空间坐标,并获取对象的相机图像;将空间位置跳跃点通过初始标定参数映射到相机图像上,以获取空间位置跳跃点在初始标定参数下的实际图像坐标;对空间位置跳跃点在初始标定参数下的实际图像坐标进行校正,以确定空间位置跳跃点的校正图像坐标;利用空间位置跳跃点的空间坐标、空间位置跳跃点的校正图像坐标,确定最终的标定参数。
在一个实施例中,根据空间位置跳跃点的实际图像坐标与相机图像的相应结构边缘之间的位置关系,对空间位置跳跃点在初始标定参数下的实际图像坐标进行校正,以确定空间位置跳跃点的校正图像坐标包括:根据输入的交互操作信息,将空间位置跳跃点在初始标定参数下的实际图像点校正为在相机图像的相应结构边缘上的校正图像点;将校正图像点的相机图像坐标作为空间位置跳跃点的校正图像坐标。
在一个实施例中,利用空间位置跳跃点的空间坐标、空间位置跳跃点的校正图像坐标,确定最终的标定参数包括:将空间位置跳跃点的空间坐标表示为第一矩阵,将空间位置跳跃点的校正图像坐标表示为第二矩阵;计算第一矩阵以及第二矩阵之间的旋转矩阵和平移矩阵;将旋转矩阵和平移矩阵确定为最终的标定参数。
在一个实施例中,利用空间位置跳跃点的空间坐标、空间位置跳跃点的校正图像坐标,确定最终的标定参数包括:利用初始标定参数生成各组可选标定参数;将空间位置跳跃点通过各组可选标定参数映射到相机图像上,以获取空间位置跳跃点在各组可选标定参数下的实际图像坐标;将空间位置跳跃点在各组可选标定参数下的实际图像坐标以及校正图像坐标输入具有唯一极值的目标函数,得到目标函数的函数值;根据目标函数的函数值,从各组可选标定参数中确定最终的标定参数。
在一个实施例中,利用初始标定参数生成各组可选标定参数包括:对初始标定参数中的旋转矩阵进行分解,得到三维旋转角度;按照第一预设步长对三维旋转角度进行调整,并按照第二预设步长对初始标定参数中的平移矩阵元素进行调整,得到三维旋转角度的可选值以及平移矩阵元素的可选值;根据三维旋转角度的可选值以及平移矩阵元素的可选值,生成各组可选标定参数。
在一个实施例中,目标函数为其中,n表示空间位置跳跃点的序号,H表示空间位置跳跃点的总数,表示空间位置跳跃点n在可选标定参数k下的实际图像坐标,表示空间位置跳跃点n在初始标定参数下的实际图像坐标,CRn表示空间位置跳跃点的校正图像坐标,a表示大于零的预设值。
在一个实施例中,根据目标函数的函数值,从各组可选标定参数中确定最终的标定参数包括:将使目标函数的函数值最大的可选标定参数,确定为最终的标定参数。
在一个实施例中,获取对象的激光雷达点云中空间位置跳跃点的空间坐标包括:利用激光雷达对对象进行扫描,得到对象的激光雷达点云;对对象的激光雷达点云中的每个扫描点,计算其与上一扫描点之间的空间坐标距离;若其与上一扫描点之间的空间坐标距离大于预设阈值,则将其确定为空间位置跳跃点;提取对象的激光雷达点云中所有空间位置跳跃点的空间坐标。
在一个实施例中,将空间位置跳跃点通过初始标定参数映射到相机图像上包括:将空间位置跳跃点通过初始标定参数下的透视投影变换映射到相机图像上,从而将空间位置跳跃点的空间坐标映射为空间位置跳跃点在初始标定参数下的实际图像坐标。
根据本发明实施例的另一个方面,提供了一种标定参数的确定装置,包括:信息获取模块,用于获取对象的激光雷达点云中空间位置跳跃点的空间坐标,并获取对象的相机图像;坐标映射模块,用于将空间位置跳跃点通过初始标定参数映射到相机图像上,以获取空间位置跳跃点在初始标定参数下的实际图像坐标;坐标校正模块,用于对空间位置跳跃点在初始标定参数下的实际图像坐标进行校正,以确定空间位置跳跃点的校正图像坐标;参数确定模块,用于利用空间位置跳跃点的空间坐标、空间位置跳跃点的校正图像坐标,确定最终的标定参数。
在一个实施例中,坐标校正模块用于:根据空间位置跳跃点的实际图像坐标与所述相机图像的相应结构边缘之间的位置关系,将空间位置跳跃点在初始标定参数下的实际图像点校正为在相机图像的相应结构边缘上的校正图像点;将校正图像点的相机图像坐标作为空间位置跳跃点的校正图像坐标。
在一个实施例中,参数确定模块用于:将空间位置跳跃点的空间坐标表示为第一矩阵,将空间位置跳跃点的校正图像坐标表示为第二矩阵;计算第一矩阵以及第二矩阵之间的旋转矩阵和平移矩阵;将旋转矩阵和平移矩阵确定为最终的标定参数。
在一个实施例中,参数确定模块包括:参数生成单元,用于利用初始标定参数生成各组可选标定参数;坐标映射单元,用于将空间位置跳跃点通过各组可选标定参数映射到相机图像上,以获取空间位置跳跃点在各组可选标定参数下的实际图像坐标;函数值计算单元,用于将空间位置跳跃点在各组可选标定参数下的实际图像坐标以及校正图像坐标输入具有唯一极值的目标函数,得到目标函数的函数值;参数确定单元,用于根据目标函数的函数值,从各组可选标定参数中确定最终的标定参数。
在一个实施例中,参数生成单元用于:对初始标定参数中的旋转矩阵进行分解,得到三维旋转角度;按照第一预设步长对三维旋转角度进行调整,并按照第二预设步长对初始标定参数中的平移矩阵元素进行调整,得到三维旋转角度的可选值以及平移矩阵元素的可选值;根据三维旋转角度的可选值以及平移矩阵元素的可选值,生成各组可选标定参数。
在一个实施例中,目标函数为其中,n表示空间位置跳跃点的序号,H表示空间位置跳跃点的总数,表示空间位置跳跃点n在可选标定参数k下的实际图像坐标,表示空间位置跳跃点n在初始标定参数下的实际图像坐标,CRn表示空间位置跳跃点的校正图像坐标,a表示大于零的预设值。
在一个实施例中,参数确定单元用于:将使目标函数的函数值最大的可选标定参数,确定为最终的标定参数。
在一个实施例中,信息获取模块用于:利用激光雷达对对象进行扫描,得到对象的激光雷达点云;对对象的激光雷达点云中的每个扫描点,计算其与上一扫描点之间的空间坐标距离;若其与上一扫描点之间的空间坐标距离大于预设阈值,则将其确定为空间位置跳跃点;提取对象的激光雷达点云中所有空间位置跳跃点的空间坐标。
在一个实施例中,坐标映射模块用于:将空间位置跳跃点通过初始标定参数下的透视投影变换映射到相机图像上,从而将空间位置跳跃点的空间坐标映射为空间位置跳跃点在初始标定参数下的实际图像坐标。
根据本发明实施例的又一个方面,提供了一种标定参数的确定装置,包括:存储器;以及耦接至存储器的处理器,该处理器被配置为基于存储在存储器中的指令,执行前述的确定方法。
根据本发明实施例的再一个方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,该指令被处理器执行时实现前述的确定方法。
本发明提供的标定参数的确定方法,能够获得更加准确的激光雷达与相机的标定参数。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如前文所述,现有技术确定的标定参数在客观上存在误差。首先结合图1对该误差带来的负面效果进行更加形象的解释。
移动机器人上安装的激光雷达通常是16线激光雷达或者32线激光雷达,即对当前捕捉到的对象执行16次或32次水平方向上的扫描,得到16条或32条激光雷达点云。这样的点云具有稀疏性,稀疏的激光雷达点云能够减轻移动机器人的运算负荷。
激光雷达点云中的每个点都拥有在激光雷达坐标系下的空间坐标。根据现有技术确定的初始标定参数,利用透视投影变换公式(1),可以将激光雷达点云映射到该对象的相机图像上:
Qm=K*[RT]*Pm (1)
其中,m表示激光雷达点的序号,Qm表示激光雷达点m在相机图像坐标系下的实际图像坐标,K表示相机的内参矩阵,R表示初始标定参数中的旋转矩阵,T表示初始标定参数中的平移矩阵,[RT]表示将旋转矩阵R以及平移矩阵T进行合并,Pm表示激光雷达扫描点m在激光雷达坐标系下的空间坐标。
图1示出了利用初始标定参数进行透视投影变换的示意图。如图1所示,实心点表示激光雷达点云根据现有技术计算的初始标定参数映射到相机图像上的实际图像点,方框表示相机图像的结构边缘。所谓相机图像的结构边缘,是指相机图像中由于物体的空间结构位置变化而呈现的边缘。当激光雷达扫描到方框所表示的空间结构位置变化时,激光雷达点云的空间坐标会出现跳跃,映射到相机图像上的实际图像坐标也会出现跳跃(如图1中的方块实心点所示)。理论上来讲,如果激光雷达与相机的标定参数足够准确,方块实心点应当落在方框上。然而,由于激光雷达与相机的初始标定参数在客观上存在误差,激光雷达捕捉到的空间位置信息与相机捕捉到的图像内容信息难以获得精确的融合,因此移动机器人的感知能力较差。
针对以上问题,本发明提出了一种激光雷达与相机标定参数的确定方法。下面结合图2介绍本发明一个实施例的激光雷达与相机标定参数的确定方法。
图2示出了本发明一个实施例的标定参数的确定方法的流程示意图。如图2所示,该实施例的确定方法包括步骤S200~步骤S208。
步骤S200,获取初始标定参数。
本领域技术人员应理解,利用现有技术中计算标定参数的方法,可以获取激光雷达与相机的初始标定参数。
步骤S202,获取对象的激光雷达点云中空间位置跳跃点的空间坐标,并获取对象的相机图像。
首先,利用激光雷达对场景中的对象进行水平扫描,可以获得激光雷达点云。同时,利用相机对相同场景中的对象进行拍摄,可以得到相应的相机图像。由于本实施例需要对初始标定参数进行优化,在激光雷达和相机的工作过程中,激光雷达与相机的相对位置,应当尽可能与计算初始标定参数时激光雷达与相机的相对位置保持一致。
然后,可以按照预设的规则从激光雷达点云中提取空间位置跳跃点。一种示例性的方法是,对激光雷达点云中的每个扫描点,计算其与上一扫描点之间的空间坐标距离。若其与上一扫描点之间的空间坐标距离大于预设阈值,则将其确定为空间位置跳跃点。例如,激光雷达点云中第i条水平扫描线上第j个点的空间坐标为其中,i∈{1,...,N},j∈(1,...,M},N表示激光雷达的水平扫描线总条数,M表示每条水平扫描线上点的个数。那么,可以根据公式(2)计算扫描点与上一扫描点的空间坐标距离
其中,|.|表示求坐标距离。当大于一定阈值时,确定为空间位置跳跃点。
最后,提取激光雷达点云中所有空间位置跳跃点的空间坐标。例如,将所有满足阈值条件的空间位置跳跃点的空间坐标记为Pn,其中,n∈{1,…,H},H表示空间位置跳跃点的总数,且有H<N*M。
步骤S204,将空间位置跳跃点通过初始标定参数映射到相机图像上,以获取空间位置跳跃点在初始标定参数下的实际图像坐标。
例如,将空间位置跳跃点的空间坐标Pn代入公式(1),即可将空间位置跳跃点通过初始标定参数下的透视投影变换映射到相机图像上,从而将空间位置跳跃点的空间坐标Pn映射为空间位置跳跃点在初始标定参数下的实际图像坐标
步骤S206,对空间位置跳跃点在初始标定参数下的实际图像坐标进行校正,以确定空间位置跳跃点的校正图像坐标。
在该步骤中,可以根据空间位置跳跃点的实际图像坐标与所述相机图像的相应结构边缘之间的位置关系,将空间位置跳跃点在初始标定参数下的实际图像点校正为在相机图像的相应结构边缘上的校正图像点,并将校正图像点的相机图像坐标作为空间位置跳跃点的校正图像坐标。
例如,图3示出了本发明根据输入的交互操作信息确定空间位置跳跃点在相机图像上的校正图像坐标的示意图。如图3所示,操作人员在发现空间位置跳跃点(图3中的方块实心点)的实际图像坐标存在偏差时,可以根据空间位置跳跃点的实际图像坐标与相机图像的相应结构边缘之间的位置关系,通过交互操作在计算机显示的相机图像的方框上确定空间位置跳跃点的校正投影点(图3中的方块空心点)。操作人员通过在相机图像上点选的方式确定校正投影点时,相当于向计算机输入了交互操作信息。计算机根据输入的交互操作信息可以确定校正投影点的坐标,作为空间位置跳跃点的校正图像坐标CRn。
此外,本领域技术人员应理解,通过模式识别等相关技术手段,也可以实现确定空间位置跳跃点的校正图像坐标的技术目的。
步骤S208,利用空间位置跳跃点的空间坐标、空间位置跳跃点的校正图像坐标,确定最终的标定参数。
在已知空间位置跳跃点的空间坐标Pn、空间位置跳跃点的校正图像坐标CRn的条件下,可以通过多种方法求解最终的标定参数。其中的两种求解方法将在下文中给出,以对确定最终的标定参数过程进行具体说明。
上述实施例提供了一种对激光雷达与相机标定参数进行优化的方法。在计算机提供的可视化相机图像基础上,利用交互操作,建立激光雷达点云中空间位置跳跃点与相机图像的结构边缘上的点之间的准确对应关系,能够获得更加准确的激光雷达与相机的标定参数。
获得更加准确的激光雷达与相机的标定参数后,激光雷达获取的空间位置信息就能够更加准确的投影到相机图像上,激光雷达就可以获得场景中对象的颜色等图像内容信息,相机也可以获得场景中对象的空间位置信息,从而实现了空间位置信息与图像内容信息更加准确的融合,进而提高了移动机器人的感知能力。
下面介绍步骤S208中确定最终的标定参数的第一种方法。
在确定标定参数的相关技术领域中,已知N个点的空间坐标和校正图像坐标,求解标定参数的问题,被称作PNP(Perspective-N-Point,透视N点)问题。其中,对于N的不同取值情况,PNP问题的求解算法包括PNP问题的线性求解算法和PNP问题的非线性求解算法。
在求解过程中,可以将空间位置跳跃点的空间坐标表示为第一矩阵,将空间位置跳跃点的校正图像坐标表示为第二矩阵。然后,利用PNP问题的求解算法,采用最小二乘法的运算方式计算第一矩阵以及第二矩阵之间的旋转矩阵和平移矩阵。最终,将旋转矩阵和平移矩阵确定为最终的标定参数。具体的计算过程可以参照PNP问题求解算法的相关技术文献,在此不做赘述。
下面结合图4介绍步骤S208中确定最终的标定参数的第二种方法。
图4示出了本发明计算最终的标定参数的一个实施例的流程示意图。如图4所示,该实施例中的步骤具体包括步骤S2082~步骤S2088。:
步骤S2082,利用初始标定参数生成各组可选标定参数。
初始标定参数包括旋转矩阵R以及平移矩阵T。将公式(1)进行展开,可以得到公式(4):
其中,un表示空间位置跳跃点n在初始标定参数下的实际图像横坐标,vn表示空间位置跳跃点n在初始标定参数下的实际图像纵坐标,K表示3行3列的相机内参矩阵,相机内参矩阵K中的元素包括焦距、主点、畸变等成像参数,r11~r33表示旋转矩阵R中的元素,t1~t3表示平移矩阵T中的元素,Xn表示空间位置跳跃点n在的空间X轴坐标,Yn表示空间位置跳跃点n的空间Y轴坐标,Zn表示空间位置跳跃点n的空间Z轴坐标,X轴、Y轴、Z轴为激光雷达的坐标轴,数值1的作用是使公式(4)齐次。
对于旋转矩阵R,可以利用开源计算机视觉库OpenCV中的罗德里格斯Rodrigues函数对初始标定参数中的旋转矩阵进行分解,即公式(5):
R=Rz(θZ)*Rx(θX)*RY(θY) (5)
其中, θZ表示将激光雷达坐标系转换为相机坐标系时需要绕Z轴旋转的角度,θX表示将激光雷达坐标系换为相机坐标系时需要绕X轴旋转的角度,θY表示将激光雷达坐标系换为相机坐标系时需要绕Y轴旋转的角度。需要说明的是,相机坐标系与相机图像坐标系不同,利用标定参数可以将激光雷达坐标系转换为相机坐标系,利用相机内参可以将相机坐标系进一步转换为相机图像坐标系。
对于三维旋转角度θx、θY、θz,可以按照第一预设步长进行调整。例如,对于θx可以进行公式(6)所示的调整:
其中,θx’表示调整后将激光雷达坐标系换为相机坐标系时需要绕X轴旋转的角度,表示预设的角度步长,b可以分别取值-3、-2、-1、0、1、2、3。基于类似的方法,可以对θY、θZ进行调整得到θY′、θZ′。
对于初始标定参数中的平移矩阵元素t1、t2、t3,可以按照第二预设步长进行调整。例如,对于t1可以进行公式(7)所示的调整:
h1′=t1+bu (7)
其中,t1′表示调整后的平移矩阵元素,u表示预设的数值步长,b可以分别取值-3、-2、-1、0、1、2、3。基于类似的方法,可以对t2、t3进行调整得到t2′、t3′。
将三维旋转角度的可选值θX′、θY′、θZ′经不同组合情况代入公式(5),可以计算得到可选旋转矩阵;利用平移矩阵元素的可选值t1′、t2′、t3′经不同组合,可以得到可选平移矩阵;将可选旋转矩阵与可选平移矩阵经不同组合,可以生成各组可选标定参数。
步骤52084,将空间位置跳跃点通过各组可选标定参数映射到相机图像上,以获取空间位置跳跃点在各组可选标定参数下的实际图像坐标。
该步骤的具体实现过程可以参照步骤S204来进行。
步骤52086,将空间位置跳跃点在各组可选标定参数下的实际图像坐标以及校正图像坐标输入具有唯一极值的目标函数,得到目标函数的函数值。
例如,目标函数可以设置为其中,n表示空间位置跳跃点的序号,H表示空间位置跳跃点的总数,表示空间位置跳跃点n在可选标定参数k下的实际图像坐标,表示空间位置跳跃点n在初始标定参数下的实际图像坐标,CRn表示空间位置跳跃点的校正图像坐标,常数a表示大于零的预设值。
上述目标函数参照了高斯函数的形式。相当于高斯函数中的变量,CRn相当于高斯函数中的均值,Vn相当于高斯函数中的方差。需要特殊说明的是,常数a使得Vn始终为正,以避免与CRn相等造成分母为零的情形。上述目标函数在满足激光雷达点云分布的客观现象的同时,从本质上反映了空间位置跳跃点在可选标定参数下的实际图像坐标与相机图像上相应的结构边缘的对应度:与CRn之间的坐标偏差越小,上述对应度越高,目标函数输出的函数值越大。因此,上述目标函数实现了对标定参数误差的衡量,保证了标定参数求解方法的鲁棒性。
本领域技术人员应理解,目标函数的设置不限于上述形式。根据实际需要,还可以对目标函数进行其它形式的设置。确定了目标函数以后,可以得到各组可选标定参数所对应的函数值。
步骤S2088,根据目标函数的函数值,从各组可选标定参数中确定最终的标定参数。
例如,可以将使目标函数的函数值最大的可选标定参数,确定为最终的标定参数。
上述实施例中,通过对初始标定参数进行微调,可以获得可选的标定参数;通过构建具有唯一极值的目标函数,并利用可选的标定参数计算目标函数的函数值,可以更加准确的确定使上述坐标偏差最小、上述对应度最大的可选标定参数,从而将其确定为最终的标定参数。
与传统的PNP问题的求解算法相比,上述实施例的求解算法利用稀疏点云中扫描点数量较少的特点,经过较少的计算量能够获得全局最优的计算结果,提高了计算结果的鲁棒性,有助于确定更加准确的标定参数,从而进一步实现空间位置信息与图像内容信息更加精确的融合,并进一步提高移动机器人的感知能力。
下面结合图5介绍本发明一个实施例的标定参数的确定装置。
图5示出了本发明一个实施例的标定参数的确定装置的结构示意图。如图5所示,本实施例的标定参数的确定装置50包括模块502~508。
信息获取模块502,用于获取对象的激光雷达点云中空间位置跳跃点的空间坐标,并获取对象的相机图像。
坐标映射模块504,用于将空间位置跳跃点通过初始标定参数映射到相机图像上,以获取空间位置跳跃点在初始标定参数下的实际图像坐标。
坐标校正模块506,用于对空间位置跳跃点在初始标定参数下的实际图像坐标进行校正,以确定空间位置跳跃点的校正图像坐标。
参数确定模块508,用于利用空间位置跳跃点的空间坐标、空间位置跳跃点的校正图像坐标,确定最终的标定参数。
在一个实施例中,坐标校正模块506用于:
将空间位置跳跃点在初始标定参数下的实际图像点校正为在相机图像的相应结构边缘上的校正图像点;
将校正图像点的相机图像坐标作为空间位置跳跃点的校正图像坐标。
上述实施例提供了一种对激光雷达与相机标定参数进行优化的方法。在计算机提供的可视化相机图像基础上,利用交互操作,建立激光雷达点云中空间位置跳跃点与相机图像的结构边缘上的点之间的准确对应关系,能够获得更加准确的激光雷达与相机的标定参数。
获得更加准确的激光雷达与相机的标定参数后,激光雷达获取的空间位置信息就能够更加准确的投影到相机图像上,激光雷达就可以获得场景中对象的颜色等图像内容信息,相机也可以获得场景中对象的空间位置信息,从而实现了空间位置信息与图像内容信息更加准确的融合,进而提高了移动机器人的感知能力。
在一个实施例中,参数确定模块508用于:
将空间位置跳跃点的空间坐标表示为第一矩阵,将空间位置跳跃点的校正图像坐标表示为第二矩阵;计算第一矩阵以及第二矩阵之间的旋转矩阵和平移矩阵;将旋转矩阵和平移矩阵确定为最终的标定参数。
下面结合图6介绍本发明一个实施例的参数确定模块。
图6示出了本发明一个实施例的参数确定模块的结构示意图。如图6所示,本实施例的参数确定模块508包括单元5082~5088。
参数生成单元5082,用于利用初始标定参数生成各组可选标定参数。
坐标映射单元5084,用于将空间位置跳跃点通过各组可选标定参数映射到相机图像上,以获取空间位置跳跃点在各组可选标定参数下的实际图像坐标。
函数值计算单元5086,用于将空间位置跳跃点在各组可选标定参数下的实际图像坐标以及校正图像坐标输入具有唯一极值的目标函数,得到目标函数的函数值。
参数确定单元5088,用于根据目标函数的函数值,从各组可选标定参数中确定最终的标定参数。
在一个实施例中,参数生成单元5082用于:
对初始标定参数中的旋转矩阵进行分解,得到三维旋转角度;
按照第一预设步长对三维旋转角度进行调整,并按照第二预设步长对初始标定参数中的平移矩阵元素进行调整,得到三维旋转角度的可选值以及平移矩阵元素的可选值;
根据三维旋转角度的可选值以及平移矩阵元素的可选值,生成各组可选标定参数。
在一个实施例中,目标函数为其中,n表示空间位置跳跃点的序号,H表示空间位置跳跃点的总数,表示空间位置跳跃点n在可选标定参数k下的实际图像坐标,表示空间位置跳跃点n在初始标定参数下的实际图像坐标,CRn表示空间位置跳跃点的校正图像坐标,a表示大于零的预设值。
在一个实施例中,参数确定单元5088用于:
将使目标函数的函数值最大的可选标定参数,确定为最终的标定参数。
上述实施例中,通过对初始标定参数进行微调,可以获得可选的标定参数;通过构建目标函数,并利用可选的标定参数计算目标函数的函数值,可以更加准确的确定使上述对应度最大、误差最小的可选的标定参数,以便可选的标定参数中确定最终的标定参数,获得全局最优的计算结果,提高了计算结果的鲁棒性,有助于确定更加准确的标定参数,从而进一步实现空间位置信息与图像内容信息更加精确的融合,并进一步提高移动机器人的感知能力。
在一个实施例中,信息获取模块502用于:
利用激光雷达对对象进行扫描,得到对象的激光雷达点云;
对对象的激光雷达点云中的每个扫描点,计算其与上一扫描点之间的空间坐标距离;
若其与上一扫描点之间的空间坐标距离大于预设阈值,则将其确定为空间位置跳跃点;
提取对象的激光雷达点云中所有空间位置跳跃点的空间坐标。
在一个实施例中,坐标映射模块504用于:
将空间位置跳跃点通过初始标定参数下的透视投影变换映射到相机图像上,从而将空间位置跳跃点的空间坐标映射为空间位置跳跃点在初始标定参数下的实际图像坐标。
图7示出了本发明标定参数的确定装置的另一个实施例的结构示意图。如图7所示,该实施例的标定参数的确定装置70包括:存储器710以及耦接至该存储器710的处理器720,处理器720被配置为基于存储在存储器710中的指令,执行前述任意一个实施例中的标定参数的确定方法。
其中,存储器710例如可以包括***存储器、固定非易失性存储介质等。***存储器例如存储有操作***、应用程序、引导装载程序(Boot Loader)以及其他程序等。
图8示出了本发明标定参数的确定装置的又一个实施例的结构示意图。如图8所示,该实施例的标定参数的确定装置80包括:存储器710以及处理器720,还可以包括输入输出接口830、网络接口840、存储接口850等。这些接口830,840,850以及存储器710和处理器720之间例如可以通过总线850连接。其中,输入输出接口830为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口840为各种联网设备提供连接接口。存储接口850为SD卡、U盘等外置存储设备提供连接接口。
本发明还包括一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现前述任意一个实施例中的标定参数的确定方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。