CN112686961B - 一种深度相机标定参数的修正方法、装置 - Google Patents
一种深度相机标定参数的修正方法、装置 Download PDFInfo
- Publication number
- CN112686961B CN112686961B CN202011626555.9A CN202011626555A CN112686961B CN 112686961 B CN112686961 B CN 112686961B CN 202011626555 A CN202011626555 A CN 202011626555A CN 112686961 B CN112686961 B CN 112686961B
- Authority
- CN
- China
- Prior art keywords
- camera
- depth
- focal length
- parallel
- calibration parameters
- 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 68
- 238000012937 correction Methods 0.000 title claims abstract description 49
- 238000005259 measurement Methods 0.000 claims abstract description 148
- 230000000007 visual effect Effects 0.000 claims description 25
- 238000005457 optimization Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 claims description 12
- 230000003287 optical effect Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 238000003384 imaging method Methods 0.000 description 10
- 238000013519 translation Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012804 iterative process Methods 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000013178 mathematical model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000002715 modification method Methods 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Length Measuring Devices By Optical Means (AREA)
- Measurement Of Optical Distance (AREA)
Abstract
本申请公开了一种深度相机标定参数的修正方法,该修正方法包括,基于包括标定图案的深度图像,进行相机标定,获得标定参数;基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得至少两个平行测量平面深度值,对于所述至少包括两平行测量平面的深度图像中的任意两平行测量平面,获取所述两平行测量平面之间的深度值之差与该两平行测量平面之间的空间距离的误差,当所述误差大于等于设定的误差阈值时,修正标定参数中的相机焦距参数,保持当前相机焦距参数为定值,优化当前标定参数中除相机焦距参数之外的参数。本申请有效地避免了标定参数初始值误差较大时收敛至局部最优解而导致的标定参数精度不高的问题。
Description
技术领域
本发明涉及相机标定领域,特别地,涉及一种深度相机标定参数的修正方法。
背景技术
相机标定是基于已知的空间坐标点与其在相机成像中的像素坐标点的映射关系,构建相机参数的优化方程来求解相机参数的过程,所求解得到的相机参数也就是标定参数。例如,张正友标定方法中,通常使用标定板,并用相机采集多个位置的标定板图像。
现有使用优化方程来获得标定参数的方法,标定参数精度依赖于标定板图像质量,容易受到数据噪声的影响,造成相机参数的误差。这种误差将会导致如图像校正、深度图像计算、三维重建等相机应用的低精度问题。
发明内容
本发明提供了一种深度相机标定参数的修正方法,以提高标定参数的精度。
本发明提供的一种深度相机标定参数的修正方法是这样实现的:
基于深度相机采集的包括标定图案的深度图像、以及计算的所述深度图像的深度图,进行相机标定,获得当前标定参数;
基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得该深度图像中所述至少两平行测量平面的深度值,
对于所述至少包括两平行测量平面的深度图像中的任意两平行测量平面,计算该两平行测量平面之间的深度值之差,获取该两平行测量平面之间的空间距离,确定所述深度值之差与所述空间距离之间的误差,
当所述误差大于等于设定的误差阈值时,修正当前标定参数中的相机焦距参数,
保持修正后的相机焦距参数为定值,优化当前标定参数中除相机焦距参数之外的参数。
较佳地,所述至少包括两平行测量平面的深度图像按照如下方式获得:
采集位于相机视野范围内与相机具有第一空间距离的第一测量平面的深度图像、以及与相机具有第二空间距离的第二测量平面的深度图像,其中,第一测量平面和第二测量平面被沿相机光轴方向相对平移;
或者,
对位于相机视野范围内的第三测量平面,分别在第一位置和第二位置采集所述第三测量平面深度图像,其中,第一位置、第二位置为沿相机光轴方向相对平移的位置。
较佳地,所述第一测量平面为一物体的平整表面,所述第二测量平面独立于该物体、且平行于所述表面;
所述基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得至少两平行测量平面深度值,包括,
对于每一测量平面的深度图像,确定深度图像中第一图像与第二图像的视差值,
根据视差值、当前标定参数中的相机焦距参数以及双目的基线距离,计算该测量平面与相机的深度值,得到该测量平面深度值;
所述对于所述至少包括两平行测量平面的深度图像中的任意两平行测量平面,计算所述两平行测量平面之间的深度值之差,包括,
从至少包括两平行测量平面的深度图像中,选取出第一测量平面和第二测量平面,
计算第一测量平面深度值与第二测量平面深度值之差的绝对值,得到第一测量平面与第二测量平面之间的视觉距离,
所述获取该两平行测量平面之间的空间距离,包括,根据采集第一测量平面深度图像和采集第二测量平面深度图像所记录的位置信息,确定第一测量平面与第二测量平面之间的空间距离,
所述确定所述深度值之差与所述空间距离之间的误差包括,计算所述视觉距离与所述空间距离所具有误差的绝对值;
所述修正标定参数中的相机焦距参数,包括,
根据第一测量平面与第二测量平面之间的视觉距离、以及第一测量平面与第二测量平面之间的空间距离,修正标定参数中的相机焦距参数。
较佳地,所述第一测量平面为一物体的第一平整表面,所述第二测量平面为该物体第二平整表面,所述第一平整表面与第二平整表面平行;
所述获取该两平行测量平面之间的空间距离包括,确定第一测量平面与第二测量平面之间的空间距离。
较佳地,所述根据第一测量平面与第二测量平面之间的视觉距离、以及第一测量平面与第二测量平面之间的空间距离,修正标定参数中的相机焦距参数包括,
计算所述空间距离与视觉距离的比值,
将该比值与当前相机焦距参数相乘,得到修正后的相机焦距参数。
较佳地,所述保持当前相机焦距参数为定值,优化当前标定参数中除相机焦距参数之外的参数,包括,
将当前修正后的相机焦距参数代入用于构建重投影误差的目标函数,
保持当前相机焦距参数为定值,采用非线性优化方法,求解使得目标函数取得最小值时除相机焦距参数之外的其它标定参数。
较佳地,所述确定所述深度值之差与所述空间距离之间的误差之后,进一步包括,
判断是否到达设定的循环次数或者误差小于误差阈值,如果是,则将当前修正后的相机焦距参数、以及优化后的除相机焦距参数之外的其它标定参数作为标定结果,否则,将修正后的相机焦距参数、以及优化后的除相机焦距参数之外的其它标定参数作为当前标定参数,返回所述基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得该深度图像中所述至少两平行测量平面的深度值的步骤,
所述求解使得目标函数取得最小值时除相机焦距参数之外的其它标定参数之后,进一步包括,将修正后的相机焦距参数、以及优化后的除相机焦距参数之外的其它标定参数作为当前标定参数,返回所述基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得该深度图像中所述至少两个平行测量平面的深度值的步骤,直至达到设定的循环次数或者误差小于误差阈值。
较佳地,所述将修正后的相机焦距参数、以及优化后的除相机焦距参数之外的其它标定参数作为当前标定参数之后,包括,
基于修正后的相机焦距参数计算深度值,如果该深度值与修正前所计算的深度值不相等,则执行所述确定所述深度值之差与所述空间距离之间的误差的步骤,
否则,重新选择两平行测量平面的深度图像,返回所述基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得该深度图像中所述至少两平行测量平面的深度值的步骤,直至达到设定的循环次数或者误差小于误差阈值。
本申请提供的一种深度相机标定参数的修正装置,该装置包括,
标定模块,用于基于深度相机采集的包括标定图案的深度图像、以及计算的深度图像的深度图,进行相机标定,获得标定参数;
修正模块,用于基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得该深度图像中所述至少两平行测量平面的深度值,
对于所述至少包括两平行测量平面的深度图像中的任意两平行测量平面,计算所述两平行测量平面之间的深度值之差,获取该两平行测量平面之间的空间距离,确定所述深度值之差与所述空间距离之间的误差,
当所述误差大于等于设定的误差阈值时,修正当前标定参数中的相机焦距参数,
保持修正后的相机焦距参数为定值,优化当前标定参数中除相机焦距参数之外的参数。
本申请提供的一种深度相机,所述深度相机包括存储器和处理器,其中,存储器存储有计算机程序,处理器被配置为实现上述任一深度相机标定参数的修正方法的步骤。
本申请提供一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现任一所述深度相机标定参数的修正方法的步骤。
本发明提供的深度相机标定参数的修正方法,根据平行测量平面之间的深度值、平行测量平面之间的空间距离来不断修正标定参数中的相机焦距参数,基于修正后的相机焦距参数,在迭代过程中获得标定参数中除相机焦距参数之外的其它参数,有效地避免了标定参数初始值误差较大时收敛至局部最优解而导致的标定参数精度不高的问题,提高了标定参数的精确度和鲁棒性,降低了用于标定图像的质量要求,提高了标定的成功率。
附图说明
图1为本申请深度相机标定参数的修正方法的一种流程示意图。
图2a为采集具有标定图案的标定物之深度图像的一种示意图。
图2b~2e为采集两个平行测量平面的图像的一种示意图。
图3为对标定参数进行修正的一种流程示意图。
图4为本发明深度相机标定参数的修正装置的一种示意图。
图5为深度相机内部电路硬件的一种示意图。
具体实施方式
为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。
申请人研究发现,传统相机标定方法存在标定参数误差大的原因主要在于,采用迭代的方法求解所构建的最小化重投影误差时,每次迭代都是通过计算迭代步长和方向来更新标定参数,当标定参数的初始值误差较大时,容易收敛至局部最小解。
基于此,本发明依据标定参数中相机焦距参数与深度图像之间的数学模型,在传统相机标定流程的基础上增加深度图像的计算步骤,根据深度图像误差逐步地修正相机焦距参数,并在每次迭代过程中,保持当前相机焦距参数为固定值,优化除相机焦距参数之外的其他标定参数,这样,有利于避免迭代过程中收敛至局部最小解,从而得到更为准确的标定参数。
参见图1所示,图1为本申请深度相机标定参数的修正方法的一种流程示意图。在采集标定图案的深度图像、以及至少包括两平行测量平面的深度图像之后,该修正方法包括,
步骤101,基于深度相机采集的包括标定图案的深度图像,进行相机标定,获得当前标定参数;
步骤102,基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得至少两个平行测量平面的深度值,
步骤103,对于至少两个平行测量平面的深度图像中的任意两平行测量平面,获取该两平行测量平面之间的深度值之差,与,该两平行测量平面之间的空间距离的误差,
步骤104,判断所述误差是否大于等于设定的误差阈值,如果是,则执行步骤105,否则结束本次修正流程;
步骤105,根据所述误差,修正标定参数中的相机焦距参数,
步骤106,保持当前相机焦距参数为定值,优化当前标定参数中除相机焦距参数之外的参数,然后,将修正后的相机焦距参数、以及求解得到的除相机焦距参数之外的其它标定参数作为当前标定参数,返回步骤102,直至误差小于误差阈值。其中,所述优化可以基于非线性优化最小化重投影误差来进行。
较佳地,所述将修正后的相机焦距参数、以及优化后的除相机焦距参数之外的其它标定参数作为当前标定参数之后,进一步包括,
基于修正后的相机焦距参数计算深度值,如果该深度值与基于修正前的相机焦距参数所计算的深度值不相等,则执行步骤104,
否则,重新选择两平行测量平面的深度图像,返回步骤102。
为便于理解本申请,以下进行具体说明。
为了获得用于相机标定的数据,可以预先获取标定物深度图像;例如,参见图2a所示,图2a为采集具有标定图案的标定物之深度图像的一种示意图,标定物可以为带有用于标定图案的物体,比如带有棋盘格的标定板。使用待标定的深度相机拍摄多帧标定物之图像,在拍摄过程中,将标定物进行移动和旋转,使标定物出现于图像不同位置,且与相机成像平面成不同角度。一般采集10至15张不同位置及不同姿态下标定物的图像,以用于计算标定参数。所述图像为包括第一目视图(例如左视图)和第二目视图(例如右视图)的深度图像。
为了获得用于修正标定参数的数据,可以预先获取至少包括两个平行测量平面的图像。参见图2b~2e所示,图2b~2e为采集两个平行测量平面的图像的一种示意图。
如图2b所示,使用待标定的深度相机采集在视野范围内、且与该深度相机具有第一距离的第一测量平面的图像,保持该深度相机固定,沿相机光轴平移所述第一测量平面,使得第一测量平面与该深度相机具有第二距离、且与移动前的第一测量平面平行,将移动后的第一测量平面作为第二测量平面,采集所述第二测量平面的图像,这样,相当于第一测量平面和第二测量平面被沿相机光轴方向进行了相对平移。为提高数据的可靠性,可以将第一测量平面多次地平移,以采集多个平行测量平面的图像,所述图像均为深度图像。记录各个平行测量平面的位置,以便于根据位置信息确定各平行测量平面之间的空间距离。
当测量平面不方便被移动时,可以采用移动深度相机来获得平行测量平面的图像。如图2c所示,使用待标定的深度相机在第一位置采集相机视野范围内的第三测量平面,保持该第三测量平面固定不动,移动待标定的深度相机至第二位置,采集所述第三测量平面,其中,第一位置、第二位置为沿相机光轴方向相对平移的位置,这样,移动深度相机就相当于移动了所述测量平面,从而可以得到在第一位置处所采集第一测量平面的图像,以及在第二位置处所采集第二测量平面的图像。为了提高数据的可靠性,可以在多个不同位置分别采集所述测量平面,以采集多个平行测量平面的图像,所述图像均为深度图像。记录深度相机移动的位置信息,以便于根据位置信息确定各平行测量平面之间的空间距离。
当测量平面不方便被移动时,还可以采集具有平整表面的物体的图像。如图2d所示,将具有至少一平整表面的物体放置于测量平面的前侧,并使得该表面与测量平面平行,使用待标定的深度相机采集所述表面和测量平面的图像,这样,就相当于采集同时形成两个平行的测量平面之图像。较佳地,为了提高数据的可靠性,可以调整相机和/或物体的位置,以获取不同位置下所述表面和测量平面的图像,所述图像均为深度图像。记录所述表面与测量平面之间的空间距离。为便于使得物体的表面与测量平面平行,较佳地,所述物体具有第一表面和第二表面,所述第一表面与第二表面平行或垂直,例如,若第一表面与第二表面平行,则将其中一表面贴靠于测量平面即可使得另一表面与测量平面平行,若第一表面与第二表面垂直,则通过将其中一表面垂直于测量平面而使得另一表面与测量平面平行,然后采集与测量平面平行的表面、以及测量平面的深度图像。
所应理解的是,图2d中具有平整表面的物体与测量平面的组合可以演变为具有两个平行表面、且两表面具有不同面积的标定物。如图2e所示,标定物200具有两个相互平行的平整表面,其中,与相机距离第一距离的第一表面的面积小于与相机距离第二距离的第二表面的面积,第一距离小于第二距离,这样,第一表面相当于形成了第一测量平面,第二表面中除去第一表面在其投影的部分相当于形成了第二测量平面。
参见图3所示,图3以双目相机为实施例对标定参数进行修正的一种流程示意图,该修正方法可以在待标定相机本体侧通过可执行程序来实现,也可以在其他任何电子设备通过可执行程序来实现,所应理解的是,该修正方法不限于双目相机,也可使用于其它深度相机,例如,TOF相机(飞行时间相机)。所述修改方法包括如下步骤:
步骤301,基于所采集的标定图案双目图像,通过相机标定方法,计算标定参数,并作为初始值;
在该步骤中,可以采用既有的标定方法来计算标定参数,例如,张正友标定方法:检测图像中的特征点;估计相机内参和外部参数;由最大似然估计的非线性优化方法对参数进行优化。
所述标定参数包括有相机内参、以及相机外参,
其中,相机内参包括:相机焦距参数包括,第一目相机焦距参数f1x、f1y,第二目相机焦距参数f2x、f2y,其中,下标x,y分别表示横、纵坐标轴。由于双目相机一般每目横纵方向的相机焦距一致,所以这四个参数一般是相等的,即:f1x=f2x=f1y=f2y;
镜头畸变包括,第一目径向畸变系数k11、k12、k13,和切向畸变系数p11、p12,第二目径向畸变系数k21、k22、k23,和切向畸变系数p21、p22。由于双目相机一般每目镜头畸变一致,所以5个参数一般是分别相等的,即:k11=k21、k12=k22、k13=k23、p11=p21、p12=p22;
相机光心坐标包括,第一目光心坐标(c1x、c1y),第二目光心坐标(c2x、c2y),其中,下标x,y分别表示横、纵坐标。
相机外参包括:
第一目在世界坐标系的平移向量T1e和旋转矩阵R1e、第二目在在世界坐标系的平移向量T2e和旋转矩阵R2e,
第一目与第二目之间的相对平移向量Tw和旋转矩阵Rw。
步骤302,基于两个平行测量平面的双目图像,根据当前标定参数,分别计算两个平行测量平面的深度值。
在该步骤中:
步骤3021,可以根据所需的平行测量平面之间的空间距离,从所采集的至少包括两个平行测量平面的双目图像中,选择出具有第一测量平面的双目图像和具有第二测量平面的双目图像。
步骤3022,对于第一测量平面的双目图像,通过匹配算法,例如块匹配(BM,BlockMatching)算法,进行视差值计算,
匹配算法是通过对双目相机所采集的第一目视图图像和第二目视图图像进行特征点匹配,以找到双目图像中所采集到的共同特征点。由于匹配算法受标定参数的影响,比如畸变、相机外参等,为了保证精度,需要在当前标定参数下进行匹配,这样也有利于避免由于初始相机参数误差较大导致计算无法收敛的情况。
根据已匹配的特征点的横坐标,计算出视差值,即,计算三维空间点在第一目视图和第二目视图上二维坐标之间的像素距离。视差值通常受相机焦距参数的影响较小。
步骤3023,根据当前标定参数中的相机焦距参数、双目基线的距离、以及视差值,计算第一测量平面的深度值,该深度值表征了第一测量平面与相机成像平面的距离。第一测量平面的深度值d1计算式为:
其中,f为当前标定参数中的相机焦距参数,在首次计算时,f为步骤301所得到第一目相机焦距参数初始值或者第二目相机焦距参数初始值,在非首次计算时,f为修正后的相机焦距参数(修正时将第一目相机焦距参数、第二目相机焦距参数修正为相同值),
b为双目基线的距离,Z1为第一测量平面的双目图像的视差值。
同样地,
步骤3024,对于第二测量平面的双目图像,通过匹配算法,进行视差值计算;
步骤3025,根据标定参数中的相机焦距参数初始值、双目基线的距离、以及视差值,计算第二测量平面的深度值,该深度值表征了第二测量平面与相机成像平面的距离。第二测量平面的深度值d2计算式为:
其中,f为当前标定参数中的相机焦距参数,在首次计算时,f为步骤301所得到第一目相机焦距参数初始值或者第二目相机焦距参数初始值,在非首次计算时,f为修正后的相机焦距参数(修正时将第一目相机焦距参数、第二目相机焦距参数修正为相同值),
b为双目基线的距离,Z2为第二测量平面的双目图像的视差值。
步骤303,根据第一测量平面的深度值d1、和第二测量平面的深度值d2,计算第一测量平面与第二测量平面之间的距离,从而得到两平行测量平面的视觉距离;用数学式表达为:
hmeasure=|d2-d1|
其中,hmeasure为所述视觉距离,符号| |表示绝对值。
步骤304,获得第一测量平面与第二测量平面的空间距离,判断视觉距离与空间距离之间的误差的绝对值是否小于设定的误差阈值,
如果是,则执行步骤307,
否则,执行步骤305,以对相机焦距参数进行修正;
在该步骤304中,
如果是采用图2b移动测量平面的方式所采集的图像,则根据双目图像采集时所记录的第一测量平面与相机的第一距离、第二测量平面与相机的第二距离,或者,根据双目图像采集时所记录的第一测量平面、第二测量平面的位置信息,确定第一测量平面与第二测量平面的空间距离,
如果是采用图2c移动相机的方式所采集的图像,则根据双目图像采集时所记录的第一采集位置信息和第二采集位置信息,确定第一测量平面与第二测量平面的空间距离,
如果是采用图2d方式所采集的图像,则根据双目图像采集时所记录的表面与测量平面之间的空间距离,确定第一测量平面与第二测量平面的空间距离,
如果是采用图2e方式所采集的图像,则根据标定物200的第一表面与第二表面的距离,确定第一测量平面与第二测量平面的空间距离。
步骤305,根据深度值计算公式和视差值的物理意义,由于视差值对相机焦距的影响较小,深度值主要受相机焦距参数的影响,因此,忽略视差值的影响,深度值与相机焦距参数成比例关系,故而可以计算空间距离与视觉距离的比值,用该比值对当前相机焦距参数进行修正,即,将当前相机焦距参数乘以所述比值,得到修正后的相机焦距参数,用数学式表达为:
其中,f′为修正后的相机焦距参数,即,相机焦距参数修正值;
f为修正前的相机焦距参数,在首次修正时,f为第一目相机焦距参数初始值或者第二目初始值,将修正后的相机焦距参数作为第一目和第二目的相机焦距参数,也就是说,修正后,第一目相机焦距参数与第二目相机焦距参数取值相同;在非首次修正时,f为上次修正的相机焦距参数;
hmeasure为步骤303计算得到的第一测量平面与第二测量平面之间的视觉距离,hgroundtruth为第一测量平面与第二测量平面之间的空间距离。
公式1的推导过程说明如下。
两平行测量平面之间的深度值之差为:
hmeasure=f×α
而两平行测量平面的真实空间距离可以表示为:
hgroundtruth=f′×α
联立以上两个方程,可以求解得到f′。其中,α与视差值相关,鉴于视差值为双目图像中匹配点之间的像素距离,一般变化较小,可忽略α的变化。
步骤306,将修正后的相机焦距参数代入用于优化标定参数的目标函数,在迭代过程保持相机焦距参数不变,采用非线性优化方法对除相机焦距参数之外的标定参数进行优化,将修正后的相机焦距参数和优化后的其他标定参数作为当前优化结果,得到当前优化后的标定参数。
为便于理解该步骤,以下以一实施例来说明标定参数的求解过程。
单目标定参数包括:相机焦距fx、fy,镜头畸变k1、k2,光心坐标(cx,cy),相机在世界坐标系的平移向量Te和旋转矩阵Re,
多相机之间的参数:相对平移向量Tw和旋转矩阵Rw。
为内参矩阵,/>为外参矩阵。
对于单目相机来说,空间点与成像平面中的图像点之间的约束关系如下:设世界坐标系中的某个空间点i坐标为(Xwi,Ywi,Zwi),相机拍摄某j帧图像的外参旋转矩阵为Rej,平移向量为Tej,可以得到该图像帧j中对应于空间点i的图像点在相机平面(相机坐标系)中的坐标(Xcij,Ycij,Zcij)的计算公式为:
根据畸变参数,计算畸变变换后的相机平面空间点坐标(xij,yij),畸变参数中只考虑径向畸变k1和k2,也可以包含其他畸变参数,计算公式为:
xij=Xcij/Zcij(1+k1r2+k2r4) (3)
yij=Ycij/Zcij(1+k1r2+k2r4)
其中r2=(Xcij/Zcij)2+(Ycij/Zcij)2。
将畸变后的相机平面空间点(xij,yij)坐标投射到成像平面(像素坐标系),得到像素坐标记为(uij,vij),计算公式为:
其中(fx,fy)为相机焦距,(cx,cy)为相机光心坐标。记
基于图像帧j提取任一特征点,记其像素坐标为(uij′,vij′),则该帧所有特征点在所有图像帧上的重投影误差ε(也就是目标函数)计算公式如下:
其中,n为空间点的数量,m为图像帧的数量;符号|| ||表示范数。
将修正后的相机焦距参数代入公式5,求解使得式5取得最小值时的待求解参数。此时待求解的参数包括第一目的内外参:{K1,R1exj,T1exj}、第二目的内外参:{K2,R2ej,T2ej}。
双目相机中还包括了第一目相机平面(相机坐标系)中空间点与第二目成像平面中的图像点、第二目相机平面中的空间点与第一目成像平面中的图像点的约束。第一目相机平面的空间点与第二幕相机平面的空间点之间的转换关系公式如下:
设第一目相机坐标系中的空间点为(X1,Y1,Z1),第二目相机坐标系中的空间点为(X2,Y2,Z2),两相机坐标系之间的旋转矩阵为Rw,平移矩阵为Tw。第一目相机坐标系中的空间点、第二目相机坐标系的空间点转换公式为:
最后,按照公式(3)至(5),计算第一目相机平面中的空间点投影到第二目成像平面的重投影误差ε1、第二目相机平面中的空间点投影到第一目成像平面的重投影误差ε2,以构建双目重投影误差作为目标函数,例如,ε1+ε2。
将修正后的相机焦距参数代入所构建的双目重投影误差目标函数,求解使得该目标函数取得最小值时的待求解参数。此时待求解的参数包括第一目的内外参:{K1,R1exj,T1exj}、第二目的内外参:{K2,R2ej,T2ej}、以及相机之间的外参{Rw,Tw}。
在求解的迭代过程中,内参矩阵中的相机焦距参数fx、fy保持当前修正后的f′固定不变,这样,求解出使得目标函数取得最小值时除相机焦距参数之外的其他标定参数。
步骤307,判断是否达到设定的循环次数,如果是,则结束,以避免因设定的误差阈值不合适而导致修正流程运行时间过长,
否则,将修正后的相机焦距参数和优化后的其他标定参数作为当前标定参数,基于修正后的相机焦距参数重新计算深度值,判断重新计算的深度值与基于修正前的相机焦距参数所计算的深度值所计算的深度值是否相等,如果不相等,则返回步骤304,如果相等,则返回步骤302,重新选择两平行测量平面的深度图像,例如:
将当前第一测量平面的深度图像舍弃,保留当前第二测量平面的深度图像,然后,从所采集的深度图像中重新选择与第二测量平面平行的一测量平面的深度图像,作为重新选择的第一测量平面的深度图像,这样,保留的第二测量平面的深度图像与重新选择的第一测量平面的深度图像组成两平行测量平面的深度图像,
或者,从所采集的深度图像中重新选择两平行测量平面的深度图像。
本发明提出的一种修正标定参数的方法,依据深度值和相机焦距之间的比例关系,利用两个已知空间真实距离的平行平面的深度值不断修正相机焦距参数,在得到相对准确的相机焦距后,保持当前相机焦距参数为固定值,迭代求解除相机焦距参数之外的其它标定参数,这种迭代修正的计算过程避免了迭代过程中收敛至局部最优解,提高了整体标定参数的准确性。
相比于传统的相机标定方法,本发明有利于提高标定精度和鲁棒性。原因在于,传统的相机标定方法中为了得到较为准确的解,一般要求标定物摆放位置需要遍布整张图像,且标定图像拍摄清晰等,若不满足这些要求,传统方法往往无法标定成功。而本发明所述方法即使在初次相机标定结果误差较大的情况下,也能够依据深度图像不断地修正相机焦距参数,从而通过优化得到更为准确的标定参数,提高了相机标定的成功率,降低了图像采集时对于标定物摆放位置、标定图像质量的要求。
参见图4所示,图4为本发明深度相机标定参数的修正装置的一种示意图。该修正装置包括,
标定模块,用于基于包括标定图案的深度图像,进行相机标定,获得标定参数;
修正模块,用于基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得至少两个平行测量平面深度值,
对于所述至少包括两平行测量平面的深度图像中的任意两平行测量平面,获取所述两平行测量平面之间的深度值之差与该两平行测量平面之间的空间距离的误差,
当所述误差大于等于设定的误差阈值时,修正标定参数中的相机焦距参数,
保持当前相机焦距参数为定值,优化当前标定参数中除相机焦距参数之外的参数。
其中,所述修正模块包括,
深度值确定模块,用于基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得至少两个平行测量平面深度值,
误差确定模块,用于对于所述至少包括两平行测量平面的深度图像中的任意两平行测量平面,获取所述两平行测量平面之间的深度值之差与该两平行测量平面之间的空间距离的误差,
焦距参数修正模块,当所述误差大于等于设定的误差阈值时,修正标定参数中的相机焦距参数,
优化模块,保持当前相机焦距参数为定值,优化当前标定参数中除相机焦距参数之外的参数。
参见图5所示,图5为深度相机内部电路硬件的一种示意图。该深度相机包括存储器和处理器,其中,存储器存储有计算机程序,处理器被配置为实现所述深度相机标定参数的修正方法的步骤。
存储器可以包括随机存取存储器(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)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行所述深度相机标定参数的修正方法的步骤。
对于装置/网络侧设备/存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种深度相机标定参数的修正方法,其特征在于,该修正方法包括,
基于深度相机采集的包括标定图案的深度图像,进行相机标定,获得当前标定参数,
基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得该深度图像中至少两平行测量平面的深度值,
对于所述至少包括两平行测量平面的深度图像中的任意两平行测量平面,计算该两平行测量平面之间的深度值之差,得到该两平行测量平面之间的视觉距离,获取该两平行测量平面之间的空间距离,计算所述视觉距离与所述空间距离之间所具有误差,以确定所述深度值之差与所述空间距离之间的误差,
当所述误差大于等于设定的误差阈值时,修正当前标定参数中的相机焦距参数,
保持修正后的相机焦距参数为定值,优化当前标定参数中除相机焦距参数之外的参数。
2.如权利要求1所述的修正方法,其特征在于,所述至少包括两平行测量平面的深度图像按照如下方式获得:
采集位于相机视野范围内与相机具有第一空间距离的第一测量平面的深度图像、以及与相机具有第二空间距离的第二测量平面的深度图像,其中,第一测量平面和第二测量平面被沿相机光轴方向相对平移;
或者,
对位于相机视野范围内的第三测量平面,分别在第一位置和第二位置采集所述第三测量平面深度图像,其中,第一位置、第二位置为沿相机光轴方向相对平移的位置。
3.如权利要求2所述的修正方法,其特征在于,所述第一测量平面为一物体的平整表面,所述第二测量平面独立于该物体、且平行于所述表面;
或者,
所述第一测量平面为一物体的第一平整表面,所述第二测量平面为该物体第二平整表面,所述第一平整表面与第二平整表面平行。
4.如权利要求1至3任一所述的修正方法,其特征在于,所述深度图像为双目图像,
所述基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得至少两平行测量平面深度值,包括,
对于每一测量平面的深度图像,确定深度图像中第一图像与第二图像的视差值,
根据视差值、当前标定参数中的相机焦距参数以及双目的基线距离,计算该测量平面与相机的深度值,得到该测量平面深度值;
所述对于所述至少包括两平行测量平面的深度图像中的任意两平行测量平面,计算所述两平行测量平面之间的深度值之差,包括,
从至少包括两平行测量平面的深度图像中,选取出第一测量平面和第二测量平面,
计算第一测量平面深度值与第二测量平面深度值之差的绝对值,得到第一测量平面与第二测量平面之间的视觉距离;
所述获取该两平行测量平面之间的空间距离,包括,在所述第一测量平面为一物体的平整表面,所述第二测量平面独立于该物体且平行于所述表面的情况下,根据采集第一测量平面深度图像和采集第二测量平面深度图像所记录的位置信息,确定第一测量平面与第二测量平面之间的空间距离,
在所述第一测量平面为一物体的第一平整表面,所述第二测量平面为该物体第二平整表面,所述第一平整表面与第二平整表面平行的情况下,确定第一平整表面与第二平整表面之间的空间距离;
所述计算所述视觉距离与所述空间距离之间所具有误差包括,计算所述视觉距离与所述空间距离所具有误差的绝对值;
所述修正标定参数中的相机焦距参数,包括,
根据第一测量平面与第二测量平面之间的视觉距离、以及第一测量平面与第二测量平面之间的空间距离,修正标定参数中的相机焦距参数。
5.如权利要求4所述的修正方法,其特征在于,所述根据第一测量平面与第二测量平面之间的视觉距离、以及第一测量平面与第二测量平面之间的空间距离,修正标定参数中的相机焦距参数包括,
计算所述空间距离与视觉距离的比值,
将该比值与当前相机焦距参数相乘,得到修正后的相机焦距参数。
6.如权利要求1至3任一所述的修正方法,其特征在于,所述保持修正后的相机焦距参数为定值,优化当前标定参数中除相机焦距参数之外的参数,包括,
将当前修正后的相机焦距参数代入用于构建重投影误差的目标函数,
保持当前修正后的相机焦距参数为定值,采用非线性优化方法,求解使得目标函数取得最小值时除相机焦距参数之外的其它标定参数;
所述以确定所述深度值之差与所述空间距离之间的误差之后,进一步包括,
判断是否到达设定的循环次数或者误差小于误差阈值,如果是,则将当前修正后的相机焦距参数、以及优化后的除相机焦距参数之外的其它标定参数作为标定结果,否则,将修正后的相机焦距参数、以及优化后的除相机焦距参数之外的其它标定参数作为当前标定参数,返回所述基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得该深度图像中所述至少两平行测量平面的深度值的步骤,
所述求解使得目标函数取得最小值时除相机焦距参数之外的其它标定参数之后,进一步包括,
将修正后的相机焦距参数、以及优化后的除相机焦距参数之外的其它标定参数作为当前标定参数,返回所述基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得该深度图像中所述至少两平行测量平面的深度值的步骤,直至达到设定的循环次数或者误差小于误差阈值。
7.如权利要求6所述的修正方法,其特征在于,所述将修正后的相机焦距参数、以及优化后的除相机焦距参数之外的其它标定参数作为当前标定参数之后,进一步包括,
基于修正后的相机焦距参数计算深度值,如果该深度值与基于修正前的相机焦距参数所计算的深度值不相等,则执行所述确定所述深度值之差与所述空间距离之间的误差的步骤,
否则,重新选择两平行测量平面的深度图像,返回所述基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得该深度图像中所述至少两平行测量平面的深度值的步骤,直至达到设定的循环次数或者误差小于误差阈值。
8.一种深度相机标定参数的修正装置,其特征在于,该装置包括,
标定模块,用于基于深度相机采集的包括标定图案的深度图像,进行相机标定,获得标定参数;
修正模块,用于基于至少包括两平行测量平面的深度图像,根据当前标定参数,分别获得该深度图像中所述至少两平行测量平面的深度值,
对于所述至少包括两平行测量平面的深度图像中的任意两平行测量平面,计算所述两平行测量平面之间的深度值之差,得到该两平行测量平面之间的视觉距离,获取该两平行测量平面之间的空间距离,计算所述视觉距离与所述空间距离之间所具有误差,以确定所述深度值之差与所述空间距离之间的误差,
当所述误差大于等于设定的误差阈值时,修正当前标定参数中的相机焦距参数,
保持修正后的相机焦距参数为定值,优化当前标定参数中除相机焦距参数之外的参数。
9.一种深度相机,其特征在于,所述深度相机包括存储器和处理器,其中,存储器存储有计算机程序,处理器被配置为实现权利要求1至7任一所述深度相机标定参数的修正方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一所述深度相机标定参数的修正方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011626555.9A CN112686961B (zh) | 2020-12-31 | 2020-12-31 | 一种深度相机标定参数的修正方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011626555.9A CN112686961B (zh) | 2020-12-31 | 2020-12-31 | 一种深度相机标定参数的修正方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112686961A CN112686961A (zh) | 2021-04-20 |
CN112686961B true CN112686961B (zh) | 2024-06-04 |
Family
ID=75454148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011626555.9A Active CN112686961B (zh) | 2020-12-31 | 2020-12-31 | 一种深度相机标定参数的修正方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112686961B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113112553B (zh) * | 2021-05-26 | 2022-07-29 | 北京三快在线科技有限公司 | 双目相机的参数标定方法、装置、电子设备及存储介质 |
CN114998408B (zh) * | 2022-04-26 | 2023-06-06 | 宁波益铸智能科技有限公司 | 基于激光测量的冲床线ccd视觉检测系统 |
CN115423877A (zh) * | 2022-08-12 | 2022-12-02 | 奥比中光科技集团股份有限公司 | 一种标定方法、标定系统、深度相机及可读存储介质 |
CN116543056A (zh) * | 2023-03-13 | 2023-08-04 | 超音速人工智能科技股份有限公司 | 一种线性相机标定校准方法、设备、存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103292710A (zh) * | 2013-05-27 | 2013-09-11 | 华南理工大学 | 一种应用双目视觉视差测距原理的距离测量方法 |
CN104376558A (zh) * | 2014-11-13 | 2015-02-25 | 浙江大学 | 一种基于长方体的Kinect深度相机的内参标定方法 |
CN109146980A (zh) * | 2018-08-12 | 2019-01-04 | 浙江农林大学 | 基于单目视觉的优化的深度提取和被动测距方法 |
CN109819238A (zh) * | 2019-02-22 | 2019-05-28 | 北京旷视科技有限公司 | Tof图像采集模块的工作频率调节方法、装置和电子系统 |
CN109887025A (zh) * | 2019-01-31 | 2019-06-14 | 沈阳理工大学 | 单目自调式火点三维定位方法与装置 |
CN110337674A (zh) * | 2019-05-28 | 2019-10-15 | 深圳市汇顶科技股份有限公司 | 三维重建方法、装置、设备及存储介质 |
WO2020259248A1 (zh) * | 2019-06-28 | 2020-12-30 | Oppo广东移动通信有限公司 | 基于深度信息的位姿确定方法、装置、介质与电子设备 |
-
2020
- 2020-12-31 CN CN202011626555.9A patent/CN112686961B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103292710A (zh) * | 2013-05-27 | 2013-09-11 | 华南理工大学 | 一种应用双目视觉视差测距原理的距离测量方法 |
CN104376558A (zh) * | 2014-11-13 | 2015-02-25 | 浙江大学 | 一种基于长方体的Kinect深度相机的内参标定方法 |
CN109146980A (zh) * | 2018-08-12 | 2019-01-04 | 浙江农林大学 | 基于单目视觉的优化的深度提取和被动测距方法 |
CN109887025A (zh) * | 2019-01-31 | 2019-06-14 | 沈阳理工大学 | 单目自调式火点三维定位方法与装置 |
CN109819238A (zh) * | 2019-02-22 | 2019-05-28 | 北京旷视科技有限公司 | Tof图像采集模块的工作频率调节方法、装置和电子系统 |
CN110337674A (zh) * | 2019-05-28 | 2019-10-15 | 深圳市汇顶科技股份有限公司 | 三维重建方法、装置、设备及存储介质 |
WO2020259248A1 (zh) * | 2019-06-28 | 2020-12-30 | Oppo广东移动通信有限公司 | 基于深度信息的位姿确定方法、装置、介质与电子设备 |
Non-Patent Citations (3)
Title |
---|
Camera Calibration and 3D Reconstruction from Single Images Using Parallelepipeds;Marta Wilczkowiak 等;《IEEE Xplore》;第142-148页 * |
基于虚拟深度的聚焦型显微光场相机深度测量标定;钱天磊 等;《上海理工大学学报》;第42卷(第2期);第131-137页 * |
飞行时间深度相机和彩色相机的联合标定;周杰;安平;郑帅;严徐乐;左一帆;;《信号处理》;第33卷(第1期);第69-77页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112686961A (zh) | 2021-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112686961B (zh) | 一种深度相机标定参数的修正方法、装置 | |
CN112797915B (zh) | 一种线结构光测量系统的标定方法、标定装置、以及系统 | |
KR101626072B1 (ko) | 영상 보정 장치 및 영상 보정 방법 | |
US8593524B2 (en) | Calibrating a camera system | |
TWI393980B (zh) | The method of calculating the depth of field and its method and the method of calculating the blurred state of the image | |
US20020167726A1 (en) | Method and apparatus for multi-nodal, three-dimensional imaging | |
CN112150528A (zh) | 一种深度图像获取方法及终端、计算机可读存储介质 | |
KR20150112362A (ko) | 깊이 센서의 깊이 보정을 위한 이미지 처리방법 및 그 장치 | |
US20130272600A1 (en) | Range image pixel matching method | |
JP4055998B2 (ja) | 距離検出装置、距離検出方法、及び距離検出プログラム | |
US20190082173A1 (en) | Apparatus and method for generating a camera model for an imaging system | |
CN113129384B (zh) | 基于一维编码靶标的双目视觉系统灵活标定方法 | |
WO2016135856A1 (ja) | 3次元形状計測システムおよびその計測方法 | |
WO2021077731A1 (zh) | 一种基于深度相机的多距离标定方法及系统 | |
CN115375745A (zh) | 基于偏振微透镜光场影像视差角的绝对深度测量方法 | |
TWI468658B (zh) | 鏡頭檢測裝置及方法 | |
JP2019091122A (ja) | デプスマップフィルタ処理装置、デプスマップフィルタ処理方法及びプログラム | |
WO2019087253A1 (ja) | ステレオカメラのキャリブレーション方法 | |
JP2006195790A (ja) | レンズ歪推定装置、レンズ歪推定方法、及びレンズ歪推定プログラム | |
RU2692970C2 (ru) | Способ калибровки видеодатчиков многоспектральной системы технического зрения | |
CN111768448A (zh) | 一种基于多相机检测的空间坐标系标定方法 | |
CN114964052A (zh) | 一种三维测量系统的标定和重建方法及三维测量系统 | |
CN113587895A (zh) | 双目测距方法及装置 | |
CN115830131A (zh) | 一种固定相位偏差的确定方法、装置和设备 | |
CN111862130A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou Hikvision Robot Co.,Ltd. Address before: 310051 room 304, B / F, building 2, 399 Danfeng Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: HANGZHOU HIKROBOT TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |