CN116681776B - 一种双目相机的外参标定方法和系统 - Google Patents
一种双目相机的外参标定方法和系统 Download PDFInfo
- Publication number
- CN116681776B CN116681776B CN202310628766.3A CN202310628766A CN116681776B CN 116681776 B CN116681776 B CN 116681776B CN 202310628766 A CN202310628766 A CN 202310628766A CN 116681776 B CN116681776 B CN 116681776B
- Authority
- CN
- China
- Prior art keywords
- point cloud
- coordinates
- lane line
- coordinate
- point
- 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 52
- 239000011159 matrix material Substances 0.000 claims abstract description 206
- 238000012937 correction Methods 0.000 claims abstract description 76
- 238000013519 translation Methods 0.000 claims abstract description 52
- 239000013598 vector Substances 0.000 claims abstract description 49
- 230000009466 transformation Effects 0.000 claims abstract description 30
- 238000004364 calculation method Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 21
- 238000009434 installation Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000010408 sweeping Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 230000001131 transforming effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
- G06T7/85—Stereo camera calibration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Abstract
本申请公开了一种双目相机的外参标定方法和系统,该方法包括:采集移动平台前方地面的左右图像并计算视差值,将任一张记作目标图像;获取目标图像中两条平行线的目标点集,并将其转换为目标点云数据集;在目标点云数据集中选取第一点云坐标集并计算第一平面法向量;根据第一平面法向量以及世界坐标系下的第二平面法向量,确定旋转矩阵;根据旋转矩阵以及选取的第二点云坐标集,计算偏航角校正矩阵,并对旋转矩阵进行修正,生成修正旋转矩阵;利用修正旋转矩阵和初始平移矩阵,计算RT变换后第一点云坐标集中的y轴的平均值,作为相机高度值,生成平移矩阵。通过本申请中的技术方案,无需依赖定制标靶即可对双目相机进行外参标定。
Description
技术领域
本申请涉及计算机视觉的技术领域,具体而言,涉及一种双目相机的外参标定方法以及一种双目相机的外参标定。
背景技术
双目相机的外参包括:俯仰角pitch、偏航角yaw、横滾角roll以及平移矩阵[Tx,Ty,Tz]T,其中,对于平移矩阵[Tx,Ty,Tz]T而言,一般默认世界坐标系原点为双目相机到地面的垂点,所以,Tx与Tz的取值为0,Ty的取值为双目相机的安装点垂直到地面的高度,即相机高度值。
在双目相机被安装在可移动机械平台(如车辆、机器人)后,需要对双目相机的外参进行标定,进而构建真实的三维空间。
而现有技术中,双目相机外参标定的过程通常存在以下问题:
1、双目相机的外参标定一般都需要借助定制的标靶来标定,需要特定的场所和特定的专业技术人员。
2、对于车辆(特别是卡车、货车)而言,在行驶过程中存在因车辆震动而导致双目相机的安装位置发生移位的可能,安装位置移位后的双目相机,其外参也将发生变化,进而导致在构建出的三维空间中目标位置的识别会出现偏差,无法为车辆驾驶员提供准确的参考,使得车辆行驶存在隐患。
发明内容
本申请的目的在于:如何在不使用标靶的情况下,实时对双目相机的外参进行标定。
在本申请第一方面的技术方案中,本申请提供了一种双目相机的外参标定方法,该双目相机安装在移动平台上,移动平台正前方的地面上设置有两条平行线,方法包括:步骤1:采集移动平台前方地面的图像并计算图像的视差值,图像包括左图像和右图像,将左图像和右图像中的任一张记作目标图像;步骤2:获取目标图像中两条平行线的目标点集Point,并基于视差值,将目标点集Point转换为目标点云数据集CloudPoint;步骤3:在目标点云数据集CloudPoint中选取至少3个点云坐标,记作第一点云坐标集,并基于第一点云坐标集,计算第一平面法向量n1,其中,第一点云坐标集中的点云坐标不共线;步骤4:根据第一平面法向量n1以及人为定义的世界坐标系下的第二平面法向量n2,确定双目相机的旋转矩阵R1,其中,世界坐标系Z轴方向与两条平行线的方向平行;步骤5:在目标点云数据集CloudPoint中选取至少2个点云坐标,记作第二点云坐标集,利用旋转矩阵R1左乘第二点云坐标集,计算偏航角校正矩阵,并利用偏航角校正矩阵左乘旋转矩阵R1,生成修正后的旋转矩阵R2;步骤6:利用修正后的旋转矩阵R2和设定的初始平移矩阵T0,对第一点云坐标集进行RT矩阵变换,计算RT矩阵变换后第一点云坐标集中各个点云坐标对应于世界坐标系的y轴的平均值,并利用平均值替换初始平移矩阵T0中的相机高度值,生成平移矩阵T,其中,修正后的旋转矩阵R2以及平移矩阵T用于对双目相机的外参标定。
上述任一项技术方案中,进一步地,步骤5具体包括:步骤5.1:在目标点云数据集CloudPoint中选取2个点云坐标,记作第二点云坐标集,其中,第二点云坐标集中点云坐标组成的直线与左右两条平行线中的任一条平行;步骤5.2:利用双目相机的旋转矩阵R1左乘第二点云坐标集中的点云坐标,生成偏航校正坐标;步骤5.3:根据偏航校正坐标,计算偏航角校正矩阵;步骤5.4:利用偏航角校正矩阵左乘旋转矩阵R1,生成修正后的旋转矩阵R2。
上述任一项技术方案中,进一步地,偏航角校正矩阵的计算公式为:
式中,R(Y,Yawoffset1)为偏航角校正矩阵,Y表示y轴,Yawoffset1为偏航校正角,XWL2为一个偏航校正坐标中的x轴坐标,ZWL2为一个偏航校正坐标中的z轴坐标,XWL1为另一个偏航校正坐标中的x轴坐标,ZWL1为另一个偏航校正坐标中的z轴坐标。
上述任一项技术方案中,进一步地,步骤6具体包括:步骤6.1:利用修正后的旋转矩阵R2和设定的初始平移矩阵T0,对第一点云坐标集进行RT矩阵变换;步骤6.2:计算RT矩阵变换后的第一点云坐标集中各个点云坐标对应于世界坐标系的y轴的平均值;步骤6.3:将平均值作为初始平移矩阵T0中的相机高度值,生成平移矩阵T。
上述任一项技术方案中,进一步地,两条平行线为车道线,车道线包括左车道线和右车道线,步骤2具体包括:步骤2.1:获取目标图像中两条车道线对应的像素点坐标,组成目标点集Point,其中,目标点集Point包括左车道线点集L-Point和右车道线点集R-Point;步骤2.2:基于视差值,将左车道线点集L-Point和右车道线点集R-Point分别转换为左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint,记作目标点云数据集CloudPoint。
上述任一项技术方案中,进一步地,步骤3中,第一点云坐标集中点云坐标的数量为3个,在目标点云数据集CloudPoint中选取3个点云坐标,具体包括:在左车道线点云集L-CloudPoint中选取2个点云坐标,记作第一点云坐标组,其中,第一点云坐标组形成的直线与左车道线长度方向平行,在右车道线点云集R-CloudPoint中选取1个点云坐标;或者,在右车道线点云集R-CloudPoint中选取2个点云坐标,记作第二点云坐标组,其中,第二点云坐标组形成的直线与右车道线长度方向平行,在左车道线点云集L-CloudPoint中选取1个点云坐标。
上述任一项技术方案中,进一步地,步骤2.2中具体包括:步骤2.2.1:基于视差值,将左车道线点集L-Point和右车道线点集R-Point分别转换为左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint;步骤2.2.2:分别对左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint进行线性拟合,生成左车道线拟合点云集和右车道线拟合点云集;步骤2.2.3:将线性拟合后的左车道线拟合点云集和右车道线拟合点云集,记作目标点云数据集CloudPoint。
上述任一项技术方案中,进一步地,步骤3中,第一点云坐标集中点云坐标的数量为3个,在目标点云数据集CloudPoint中选取3个点云坐标,具体包括:在左车道线拟合点云集中任意选取2个点云坐标,在右车道线拟合点云集中任意选取1个点云坐标;或者,在左车道线拟合点云集中任意选取1个点云坐标,在右车道线拟合点云集中任意选取2个点云坐标。
在本申请第二方面的技术方案中,本申请提供了一种双目相机的外参标定系统,该移动平台正前方的地面上设置有两条平行线,系统包括:图像获取单元,图像获取单元被配置为采集移动平台前方地面的图像并计算图像的视差值,图像包括左图像和右图像,将左图像和右图像中的任一张记作目标图像;数据获取单元,数据获取单元被配置为获取目标图像中两条平行线的目标点集Point,并基于视差值,将目标点集Point转换为目标点云数据集CloudPoint;数据运算单元,数据运算单元被配置为执行以下过程:在目标点云数据集CloudPoint中选取至少3个点云坐标,记作第一点云坐标集,并基于第一点云坐标集,计算第一平面法向量n1,其中,第一点云坐标集中的点云坐标不共线;根据第一平面法向量n1以及人为定义的世界坐标系下的第二平面法向量n2,确定双目相机的旋转矩阵R1,其中,世界坐标系Z轴方向与两条平行线的方向平行;在目标点云数据集CloudPoint中选取至少2个点云坐标,记作第二点云坐标集,利用旋转矩阵R1左乘第二点云坐标集,计算偏航角校正矩阵,并利用偏航角校正矩阵左乘旋转矩阵R1,生成修正后的旋转矩阵R2;利用修正后的旋转矩阵R2和设定的初始平移矩阵T0,对第一点云坐标集进行RT矩阵变换,计算RT矩阵变换后第一点云坐标集中各个点云坐标对应于世界坐标系的y轴的平均值,并利用平均值替换初始平移矩阵T0中的相机高度值,生成平移矩阵T,其中,修正后的旋转矩阵R2以及平移矩阵T用于对双目相机的外参标定。
上述任一项技术方案中,进一步地,数据运算单元生成修正后的旋转矩阵R2,具体包括:在目标点云数据集CloudPoint中选取2个点云坐标,记作第二点云坐标集,其中,第二点云坐标集中点云坐标组成的直线与左右两条平行线中的任一条平行;利用双目相机的旋转矩阵R1左乘第二点云坐标集中的点云坐标,生成偏航校正坐标;根据偏航校正坐标,计算偏航角校正矩阵;利用偏航角校正矩阵左乘旋转矩阵R1,生成修正后的旋转矩阵R2。
本申请的有益效果是:
本申请中的技术方案,利用地面上平行设置且与移动平台(如车辆)正前方平行设置的两条平行线作为靶线,进而基于视差值对获取到的含有靶线的图像进行点云变换,提取靶线对应的点云坐标组成目标点云数据集,并在目标点云数据集中选取第一点云坐标集以计算第一平面法向量,结合靶线在世界坐标系的地面上的先验知识,计算双目相机的旋转矩阵,实现了无场景限制、无定制靶标的双目相机进行外参标定,使得移动平台(如车辆)可以在运动过程中利用前方靶线(车道线)实时进行双目相机外参的标定,提升了用户的使用体验。
本申请中,还针对旋转矩阵中的偏航角yaw数值进行修正,利用目标点云数据集中所在直线与靶线平行的点云坐标作为第二点云坐标集,依次计算航校正坐标以及偏航角校正矩阵,进而实现对旋转矩阵的修正,进一步的提高了相机外参标定的准确性。
附图说明
本申请的上述和/或附加方面的优点在结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本申请的一个实施例的双目相机的外参标定方法的示意流程图;
图2是根据本申请的一个实施例的视差图的示意图;
图3是根据本申请的一个实施例的选取点云坐标的示意图;
图4是根据本申请的一个实施例的外参标定后车载双目相机的目标识别结果的示意图;
图5是根据本申请的另一个实施例的双目相机的外参标定方法的示意流程图;
图6是根据本申请的一个实施例的世界坐标系的示意图;
图7是根据本申请的一个实施例的确定目标点云数据集过程的示意图;
图8是根据本申请的又一个实施例的双目相机的外参标定方法的示意流程图;
图9是根据本申请的一个实施例的偏航校正角的示意图;
图10是根据本申请的一个实施例的旋转矩阵的计算机程序截图;
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。
在下面的描述中,阐述了很多具体细节以便于充分理解本申请,但是,本申请还可以采用其他不同于在此描述的其他方式来实施,因此,本申请的保护范围并不受下面公开的具体实施例的限制。
实施例一:
本实施例提供了一种双目相机的外参标定方法,该方法适用于安装有双目相机的移动平台(如车辆、无人机、扫地机器人、割草机等),将移动平台正前方地面上的两条平行线作为靶线,利用“上述直线处于地面上”作为先验知识,通过三维几何关系变换,实现对双目相机的外参标定。
本实施例中的两条平行线可以人为设定,当移动平台为车辆时,可以选取车辆正前方两条平行的车道线作为靶线,也可以在车辆正前方绘制两条平行线作为靶线;当移动平台为扫地机器人或者割草机时,可以在其正前方绘制两条平行线作为靶线。
也就是说,本实施例用于移动平台外参标定的目标图像中,应包含两条位于地面上、且与移动平台正前方平行的直线(靶线)。
需要说明的是,由于本实施例是将移动平台前方地面上的两条平行线作为靶线,仅需保证移动平台可以获取到用于外参标定的目标图像即可,外参标定过程与移动平台处于静止还是处于移动状态无关。因此,也可以在移动平台移动过程中进行实时的外参标定。
本实施例中,以车辆为例进行说明,并设定靶线为地面上两条与车辆正前方方向平行设置的车道线,包括左车道线和右车道线,如图1所示,该方法包括:
步骤1:采集移动平台前方地面的图像并计算图像的视差值,图像包括左图像和右图像,将左图像和右图像中的任一张记作目标图像。
具体的,设定车辆正前方分布有左右两条车道线,左右两条车道线平行,且车辆正前方的朝向与左右两条车道线平行。
通过安装在车辆上的双目相机采集车辆前方地面的图像,包括左镜头获取到的左图像以及右镜头获取到的右图像,该图像中包含地面以及车辆前方左右两条车道线。
获取到图像后,可通过双目相机视差计算方法,计算出左图像与右图像的视差图(视差值),如图2所示,其中,视差值的具体计算方式不再赘述。
步骤2:获取目标图像中两条平行线的目标点集Point,并基于图像的视差值,将目标点集Point转换为目标点云数据集CloudPoint。
步骤3:在目标点云数据集CloudPoint中选取至少3个点云坐标,记作第一点云坐标集,并基于第一点云坐标集,计算第一平面法向量n1,其中,第一点云坐标集中的点云坐标不共线。
本领域技术人员能够理解的是,基于三个点即可确定一个平面,且可计算出该平面的法向量。
本实施例中,为了保证拟合出的平面及计算出第一平面法向量n1的准确性,在选取第一点云坐标集时,应尽量选取间距较大的点云坐标。同时,在同一条车道线中选取的对应的点云坐标,其组成的直线应与车道线长度方向平行,以保证标定后的双目相机水平拍摄方向与地面平行。
选取的第一点云坐标集中的点云坐标可以为车道线内侧的边缘点,也可以为车道线外侧的边缘点,还可以为车道线宽度中心点。如图3所示,可以在左车道线中选取点云坐标P1和P2,在右车道线中选取点云坐标P3。
步骤4:根据第一平面法向量n1以及人为定义的世界坐标系下的第二平面法向量n2,确定双目相机的旋转矩阵R1,其中,世界坐标系Z轴方向与两条平行线的方向平行。
具体的,在人为定义的世界坐标系下,X-Z平面为地面所在的平面,因此,可以设定地面所在平面的法向量为第二平面法向量n2,第二平面法向量n2=(x2,y2,z2)=(0,0,1)。
之后,可以采用四元数求旋转矩阵的方法,也可以采用罗德里格向量旋转公式的方法,根据第一、第二平面法向量确定双目相机的旋转矩阵R1。
需要说明的是,双目相机外参中的平移矩阵T可以根据双目相机的安装高度进行设定,将其设定为T=[0,CameraHeight,0]T,其中,CameraHeight为双目相机的安装高度。
需要说明的是,根据以上旋转矩阵R1以及根据双目相机的安装高度设定的平移矩阵T,可以实现对双目相机的标定。
为了验证上述技术方案外参标定的可行性、准确性,本申请人利用常规标定板对标定后的双目相机外参进行数据验证,通过对验证结果的统计,存在计算出的旋转矩阵R1中偏航角yaw数值不准确的情形。通过进一步研究分析,此类情形中,双目相机的视野与车辆正前方不重合。
因此,本申请人基于上述过程,还提出了对旋转矩阵R1进行修正的过程,所以,上述方法还包括:
步骤5:在目标点云数据集CloudPoint中选取至少2个点云坐标,记作第二点云坐标集,利用旋转矩阵R1左乘第二点云坐标集,计算偏航角校正矩阵,并利用偏航角校正矩阵左乘旋转矩阵R1,生成修正后的旋转矩阵R2。
步骤6:利用修正后的旋转矩阵R2和设定的初始平移矩阵T0,对第一点云坐标集进行RT矩阵变换,计算RT矩阵变换后的第一点云坐标集中各个点云坐标对应于世界坐标系的y轴的平均值,并利用平均值替换初始平移矩阵T0中的相机高度值,生成平移矩阵T,其中,修正后的旋转矩阵R2以及平移矩阵T用于对双目相机的外参标定。
对于上述计算出的修正后的旋转矩阵R2以及平移矩阵T,本申请人再次利用常规标定板对标定后的双目相机外参进行数据验证,标定后的双目相机外参准确率较高,达到99%以上。之后再次搭建硬件环境,以标定后的双目相机外参为基础,对车辆形式过程中采集到的图像进行识别,如图4所示,经过外参RT的变换后,在世界坐标系下切除地面(X-Z平面)以下的点云,将地面以上的点云通过聚类,提取3维属性等算法,可以得到符合人眼视觉的3DBox,同时证明了外参的准确性。
在一些实施例中,如图5所示,两条平行线为车道线,车道线包括左车道线和右车道线,上述步骤2包括:
步骤2.1:获取目标图像中两条车道线对应的像素点坐标,组成目标点集Point,其中,目标点集Point包括左车道线点集L-Point和右车道线点集R-Point;
步骤2.2:基于视差值,将左车道线点集L-Point和右车道线点集R-Point分别转换为左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint,记作目标点云数据集CloudPoint。
具体的,将双目相机采集到的左图像和右图像中的任一张图像记作目标图像,作为输入,借助于神经网络模型、深度学习模型或者其他模型,通过车道线检测算法,获取目标图像中包含的车道线Mask,并在目标图像的y方向上采样,作为目标点集Point,其中,基于左右两条车道线的位置,将目标点集Point中的车道线数据划分为左车道线点集L-Point和右车道线点集R-Point。
在上述视差图的基础上,确定目标点集Point(车道线)对应的视差值,利用点云坐标变换算法,将目标点集Point转换为双目相机坐标系下的点云数据(XC,YC,ZC),记作目标点云数据集CloudPoint,并分别定义为左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint。
在一些实施例中,确定好左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint后,在选取第一点云坐标集时,可以设定选取的数量为3个,则在目标点云数据集CloudPoint中选取3个点云坐标,具体包括:
在左车道线点云集L-CloudPoint中选取2个点云坐标,记作第一点云坐标组,其中,第一点云坐标组形成的直线与左车道线长度方向平行,在右车道线点云集R-CloudPoint中选取1个点云坐标;或者,
在右车道线点云集R-CloudPoint中选取2个点云坐标,记作第二点云坐标组,其中,第二点云坐标组形成的直线与右车道线长度方向平行,在左车道线点云集L-CloudPoint中选取1个点云坐标。
具体的,通过设定选取的第一点云坐标组或第二点云坐标组形成的直线与对应车道线长度方向平行,有助于保证标定后的双目相机水平拍摄方向与地面平行。此时,选取的第一点云坐标组或第二点云坐标组可以为车道线内侧的边缘点,也可以为车道线外侧的边缘点,还可以为车道线宽度中心点。相应的,另一个点云坐标则位于另一条车道线上。
也就是说,本实施例中目标点云数据集CloudPoint由目标图像中所包含的两条平行线(靶线)的点云坐标确定,两条平行线(靶线)位于地面上、且与移动平台正前方平行。
本实施例中,以右镜头图像作为参照为例,遵照右手坐标系,双目相机坐标系的原点为右镜头中心点,双目相机坐标系的x轴正方向为双目相机的横向朝右方向,双目相机坐标系的z轴正方向为垂直于x轴方向且指向双目相机的拍摄方向,双目相机坐标系的y轴正方向与上述x-z平面垂直且朝下。
本实施例中,如图6所示,遵照右手坐标系,设定世界坐标系的原点为双目相机在地面的垂点,世界坐标系的y轴正方向为垂直地面且朝下的方向,世界坐标系的z轴方向为车辆的正前方,即世界坐标系Z轴方向与两条平行线的方向平行,世界坐标系的x轴方向为车辆右侧。
在一些实施例中,为了便于点云坐标的选取,降低噪声干扰及数据运算量,如图7所示,上述步骤2.2中具体包括:
步骤2.2.1:基于视差值,将左车道线点集L-Point和右车道线点集R-Point分别转换为左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint;
步骤2.2.2:分别对左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint进行线性拟合,生成左车道线拟合点云集和右车道线拟合点云集;
步骤2.2.3:将线性拟合后的左车道线拟合点云集和右车道线拟合点云集,记作目标点云数据集CloudPoint。
在一些实施例中,第一点云坐标集中点云坐标的数量为3个,在目标点云数据集CloudPoint中选取3个点云坐标,具体包括:
在左车道线拟合点云集中任意选取2个点云坐标,在右车道线拟合点云集中任意选取1个点云坐标;或者,
在左车道线拟合点云集中任意选取1个点云坐标,在右车道线拟合点云集中任意选取2个点云坐标。
具体的,在选取3个点云坐标时,可以在左车道线点云集L-CloudPoint中选取2个点,相应的坐标可记作(XCL1,YCL1,ZCL1)、(XCL2,YCL2,ZCL2),在右车道线点云集R-CloudPoint中选取1个点,相应的坐标可记作(XCR1,YCR1,ZCR1)。
并且,在选取点云坐标之前,还可以通过线性拟合的方式,将目标点云数据集CloudPoint中的左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint分别拟合为两条平行的直线,然后,从拟合出的直线上采样,以降低噪声数据对第一平面法向量n1计算的影响。
设定第一平面法向量n1=(x1,y1,z1)。
本实施例中,可以利用法向量与该平面任一条向量相互垂直的原理来计算第一平面法向量n1,也可以通过向量叉积的运算方法计算第一平面法向量n1,其中,任两个点云坐标可以组成一个用于计算第一平面法向量n1的向量。
也就是说,在选取3个点云坐标时,先在目标图像中任一条直线(靶线)对应的目标点云数据集CloudPoint中选取2个点云坐标,且该两个点云坐标组成的直线与目标图像中的该直线(靶线)平行;之后,在另一条直线(靶线)对应的目标点云数据集CloudPoint中选取1个点云坐标;最后,利用这3个选取出的点云坐标计算出第一平面法向量n1。
在选取3个以上数量的点云坐标时,例如30个,可以在左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint中各选取15个点云坐标,再通过平面拟合的方式,拟合出所需平面,进而再计算第一平面法向量n1的依据,具体计算过程不再赘述。
需要说明的是,在选取3个以上数量的点云坐标时,点云坐标的选取可以均匀分布在左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint中,也可以不均匀分布。
在一些实施例中,当移动平台为车辆且该车辆行驶在道路中时,为了实现该车辆中双目相机外参的实时标定,如图8所示,该方法的步骤5具体包括:
步骤5.1:在目标点云数据集CloudPoint中选取2个点云坐标,记作第二点云坐标集,其中,第二点云坐标集中点云坐标组成的直线与左右两条平行线(车道线)中的任一条平行;
步骤5.2:利用双目相机的旋转矩阵R1左乘第二点云坐标集中的点云坐标,生成偏航校正坐标;
现以移动平台为车辆进行说明,设定双目相机被安装于车辆上,车辆正前方分布有左右两条平行的车道线,目标点云数据集CloudPoint包括左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint,选取的第一点云坐标集中点云坐标的数量为3个,并将从左车道线点云集L-CloudPoint中选取的两个点云坐标(XCL1,YCL1,ZCL1)1、(XCL2,YCL2,ZCL2)1作为第二点云坐标集中的点云坐标。
需要说明的是,上述第二点云坐标集也可以从右车道线点云集R-CloudPoint中选取。
需要说明的是,上述第二点云坐标集中点云坐标的数量也可以为2个以上,相应的在计算偏航校正角的过程中,可以选取计算出的多个偏航校正角的均值作为计算结果,也可以通过其他方式进行处理。本实施例仅以2个为例进行说明。
需要说明的是,点云坐标(XCL1,YCL1,ZCL1)1、(XCL2,YCL2,ZCL2)1可以为计算第一平面法向量n1过程中选取的点云坐标(XCL1,YCL1,ZCL1)、(XCL2,YCL2,ZCL2),也可以为重新选取的点云坐标,但应保证选取的第二点云坐标集中点云坐标组成的直线与目标图像中相应的车道线平行。
具体的,利用上述计算出的旋转矩阵R1分别左乘选取的第二点云坐标集中点云坐标,得到世界坐标系下的偏航校正坐标,分别记作(XWL1,YWL1,ZWL1)1、(XWL2,YWL2,ZWL2)1。
本领域技术人员能够理解的是,当旋转矩阵R1准确,即双目相机视野正前方与车辆正前方重合时,偏航校正坐标中的XWL1与XWL2理论上应该相等。当双目相机视野正前方与车辆正前方不重合时,此时XWL1与XWL2不相等,需要对偏航角Yaw进行修正。
因此,如图9所示,基于双目相机坐标变换原理,偏航校正角的计算公式为:
式中,Yawoffset1为偏航校正角,XWL2为一个偏航校正坐标中的x轴坐标,ZWL2为一个偏航校正坐标中的z轴坐标,XWL1为另一个偏航校正坐标中的x轴坐标,ZWL1为另一个偏航校正坐标中的z轴坐标。
步骤5.3:根据偏航校正坐标,计算偏航角校正矩阵;
步骤5.4:利用偏航角校正矩阵左乘旋转矩阵R1,生成修正后的旋转矩阵R2。
在一些实施例中,偏航角校正矩阵的计算公式为:
式中,R(Y,Yawoffset1)为偏航角校正矩阵,Y表示y轴,Yawoffset1为偏航校正角,XWL2为一个偏航校正坐标中的x轴坐标,ZWL2为一个偏航校正坐标中的z轴坐标,XWL1为另一个偏航校正坐标中的x轴坐标,ZWL1为另一个偏航校正坐标中的z轴坐标。
修正后的旋转矩阵R2的计算公式为:
R2=R(Y,Yawoffset1)*R1
需要说明的是,基于双目相机坐标系旋转技术,现有的旋转矩阵R都是先绕X轴(Pitch)旋转,此时得到矩阵r1(为3×3矩阵),然后绕Y(Yaw)轴旋转,得到矩阵r2(为3×3矩阵),最后绕Z轴(Roll)旋转,得到矩阵r3(为3×3矩阵),对应的公式为R=r3*r2*r1。
由于上述过程是内旋,每次的旋转依赖上一次的状态。在本实施例中,为了避免生成修正后的旋转矩阵R2过程中,影响旋转矩阵R1中的Roll值,本实施例先对X轴旋转,然后对Z轴旋转,最后对Y轴旋转,其中,Y轴为车辆正前方或者车道线方向。因此,对应的公式为R=r2*r3*r1。其计算机程序的实现过程如图10所示。
在一些实施例中,得到修正后的旋转矩阵R2后,上述步骤6具体包括:
步骤6.1:利用修正后的旋转矩阵R2和设定的初始平移矩阵T0,对第一点云坐标集进行RT矩阵变换;其中,可设定初始平移矩阵T0=[0,0,0]T。
步骤6.2:计算RT矩阵变换后的第一点云坐标集中各个点云坐标对应于世界坐标系的y轴的平均值;
步骤6.3:利用计算出的平均值作为初始平移矩阵T0中的相机高度值,生成平移矩阵T。
具体的,将修正后的旋转矩阵R2和初始平移矩阵T0带入RT矩阵变换计算公式,对选取出的3个点云坐标(XCL1,YCL1,ZCL1)、(XCL2,YCL2,ZCL2)和(XCR1,YCR1,ZCR1)进行变换,计算其世界坐标系下的坐标值,依次记作(XWL1,YWL1,ZWL1)、(XWL2,YWL2,ZWL2)和(XWR1,YWR1,ZWR1)。
需要说明的是,选取出的3个点云坐标可以为计算第一平面法向量n1过程中选取的点云坐标,也可以为重新选取的点云坐标。
变换后世界坐标系下的3个点云坐标的高度值Y应该相等,为双目相机的安装高度,因此,计算变换后的3个点云坐标中的对应于世界坐标系的y轴的平均值平均值,将其作为双目相机的安装高度CameraHeight,修正初始平移矩阵T0,生成平移矩阵T,对应的计算公式为:
CameraHeight=(YWL1+YWL2+YWR1)/3。
本实施例中,在对扫地机器人、割草机等家用移动平台进行双目相机的外参标定时,可以先将其放置在平整的地面上,之后在其前方平行绘制两条平行线作为靶线,或者选取与上述车道线类似的场景,进而再执行上述过程,完成外参标定,具体过程不再赘述。
实施例二:
在上述实施例的基础上,本实施例还示出了一种双目相机的外参标定系统,该系统包括:图像获取单元、数据获取单元以及数据运算单元,其中,
图像获取单元被配置为采集移动平台前方地面的图像并计算图像的视差值,该图像包括左图像和右图像,将左图像和右图像中的任一张记作目标图像。
数据获取单元被配置为获取目标图像中两条平行线的目标点集Point,并基于图像的视差值,将目标点集Point转换为目标点云数据集CloudPoint。
具体的,该系统适用于移动平台(如车辆、无人机、扫地机器人、割草机等),该移动平台上安装有双目相机,可获取移动平台前方的图像,包括左镜头获取到的左图像以及右镜头获取到的右图像,双目相机采集到的图像被传输中该系统中的数据获取单元。
现以车辆为例进行说明。本实施例中,选用与车辆正前方的朝向平行的左右两条平行车道线作为外参校正用的靶线。因此,获取到的图像中包含地面以及车辆前方左右两条车道线。
具体的,获取到图像后,可通过双目相机视差计算方法,计算出左图像与右图像的视差图(视差值),其中,视差值的具体计算方式不再赘述。
将双目相机采集到的左图像和右图像中的任一张图像记作目标图像,作为输入,借助于神经网络模型、深度学习模型或者其他模型,通过车道线检测算法,获取目标图像中包含的车道线Mask,并在目标图像的y方向上采样,作为目标点集Point,其中,基于左右两条车道线的位置,将目标点集Point中的数据划分为左车道线点集L-Point和右车道线点集R-Point。
在上述视差图的基础上,确定目标点集Point(车道线)的视差值,利用点云坐标变换算法,将目标点集Point转换为双目相机坐标系下的点云数据(XC,YC,ZC),记作目标点云数据集CloudPoint,并分别定义为左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint。
数据运算单元被配置为执行以下过程:
在目标点云数据集CloudPoint中选取至少3个点云坐标,记作第一点云坐标集,并基于第一点云坐标集,计算第一平面法向量n1,其中,第一点云坐标集中的点云坐标不共线;
根据第一平面法向量n1以及人为定义的世界坐标系下的第二平面法向量n2,确定双目相机的旋转矩阵R1,其中,世界坐标系Z轴方向与两条平行线的方向平行;
在目标点云数据集CloudPoint中选取至少2个点云坐标,记作第二点云坐标集,利用旋转矩阵R1左乘第二点云坐标集,计算偏航角校正矩阵,并利用偏航角校正矩阵左乘旋转矩阵R1,生成修正后的旋转矩阵R2;
利用修正后的旋转矩阵R2和设定的初始平移矩阵T0,对第一点云坐标集进行RT矩阵变换,计算RT矩阵变换后的第一点云坐标集中各个点云坐标对应于世界坐标系的y轴的平均值,并利用平均值替换初始平移矩阵T0中的相机高度值,生成平移矩阵T,其中,修正后的旋转矩阵R2以及平移矩阵T用于对双目相机的外参标定。
具体的,设定第一点云坐标的数量为3个,在选取第一点云坐标集的过程中,可以在左车道线拟合点云集中任意选取2个点云坐标,相应的坐标记作(XCL1,YCL1,ZCL1)、(XCL2,YCL2,ZCL2),在右车道线拟合点云集中任意选取1个点云坐标,相应的坐标可记作(XCR1,YCR1,ZCR1);
也可以在左车道线拟合点云集中任意选取1个点云坐标,在右车道线拟合点云集中任意选取2个点云坐标。
在一些实施例中,数据获取单元还被配置为:
获取目标图像中两条车道线对应的像素点坐标,组成目标点集Point,其中,目标点集Point包括左车道线点集L-Point和右车道线点集R-Point;
基于视差值,将左车道线点集L-Point和右车道线点集R-Point分别转换为左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint,记作目标点云数据集CloudPoint。
因此,确定好左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint后,在选取第一点云坐标集中的点云坐标时,可以设定选取的数量为3个,则:
在目标点云数据集CloudPoint中选取3个点云坐标,具体包括:
在左车道线点云集L-CloudPoint中选取2个点云坐标,记作第一点云坐标组,其中,第一点云坐标组形成的直线与左车道线长度方向平行,
在右车道线点云集R-CloudPoint中选取1个点云坐标;或者,
在右车道线点云集R-CloudPoint中选取2个点云坐标,记作第二点云坐标组,其中,第二点云坐标组形成的直线与右车道线长度方向平行,
在左车道线点云集L-CloudPoint中选取1个点云坐标。
具体的,通过设定选取的第一点云坐标组或第二点云坐标组形成的直线与对应车道线长度方向平行,有助于保证标定后的双目相机水平拍摄方向与地面平行。此时,选取的第一点云坐标组或第二点云坐标组可以为车道线内侧的边缘点,也可以为车道线外侧的边缘点,还可以为车道线宽度中心点。相应的,另一个点云坐标则位于另一条车道线上。
在一些实施例中,选取点云坐标之前,还可以通过线性拟合的方式,将目标点云数据集CloudPoint中的左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint分别拟合为两条平行的直线,然后,从拟合出的直线上采样,以降低噪声数据对第一平面法向量n1计算的影响,设定第一平面法向量n1=(x1,y1,z1)。
此时,数据获取单元还被配置为:
基于视差值,将左车道线点集L-Point和右车道线点集R-Point分别转换为左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint;
分别对左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint进行线性拟合,生成左车道线拟合点云集和右车道线拟合点云集;
将线性拟合后的左车道线拟合点云集和右车道线拟合点云集,记作目标点云数据集CloudPoint。
在一些实施例中,第一点云坐标集中点云坐标的数量为3个,在目标点云数据集CloudPoint中选取3个点云坐标,具体包括:
在左车道线拟合点云集中任意选取2个点云坐标,在右车道线拟合点云集中任意选取1个点云坐标;或者,
在左车道线拟合点云集中任意选取1个点云坐标,在右车道线拟合点云集中任意选取2个点云坐标。
本实施例中,在世界坐标系下,X-Z平面为地面所在的平面,因此,可以设定地面所在平面的法向量为第二平面法向量n2,第二平面法向量n2=(x2,y2,z2)=(0,0,1)。
之后,可以采用四元数求旋转矩阵的方法,也可以采用罗德里格向量旋转公式的方法,根据第一、第二平面法向量确定双目相机的旋转矩阵R1,实现对双目相机的外参标定。
需要说明的是,双目相机外参中的平移矩阵T可以根据双目相机的安装高度进行设定,将其设定为T=[0,CameraHeight,0]T,其中,CameraHeight为双目相机的安装高度。
在一些实施例中,双目相机被安装于车辆上,车辆正前方分布有左右两条车道线,该数据运算单元生成修正后的旋转矩阵R2,具体包括:
在目标点云数据集CloudPoint中选取2个点云坐标,记作第二点云坐标集,其中,第二点云坐标集中点云坐标组成的直线与左右两条车道线中的任一条车道线平行;
利用双目相机的旋转矩阵R1左乘第二点云坐标集中的点云坐标,生成偏航校正坐标;
根据偏航校正坐标,计算偏航角校正矩阵;
利用偏航角校正矩阵左乘双目相机的旋转矩阵R1,生成修正后的旋转矩阵R2。
具体的,目标点云数据集CloudPoint包括左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint,选取的第一点云坐标集中点云坐标的数量为3个,并将从左车道线点云集L-CloudPoint中选取的两个点云坐标(XCL1,YCL1,ZCL1)、(XCL2,YCL2,ZCL2)作为第二点云坐标集中的点云坐标。
利用上述计算出的旋转矩阵R1分别左乘选取的第二点云坐标集中的点云坐标,得到世界坐标系下的偏航校正坐标,偏航校正坐标分别记作:(XWL1,YWL1,ZWL1)1、(XWL2,YWL2,ZWL2)1。
本领域技术人员能够理解的是,当旋转矩阵R1准确,即双目相机视野正前方与车辆正前方重合时,偏航校正坐标中的XWL1与XWL2理论上应该相等。当双目相机视野正前方与车辆正前方不重合时,此时XWL1与XWL2不相等,需要对偏航角Yaw进行修正。
因此,偏航校正角的计算公式为:
式中,Yawoffset1为偏航校正角,XWL2为一个偏航校正坐标中的x轴坐标,ZWL2为一个偏航校正坐标中的z轴坐标,XWL1为另一个偏航校正坐标中的x轴坐标,ZWL1为另一个偏航校正坐标中的z轴坐标。
在一些实施例中,偏航角校正矩阵的计算公式为:
/>
式中,R(Y,Yawoffset1)为偏航角校正矩阵,Y表示y轴,Yawoffset1为偏航校正角,XWL2为一个偏航校正坐标中的x轴坐标,ZWL2为一个偏航校正坐标中的z轴坐标,XWL1为另一个偏航校正坐标中的x轴坐标,ZWL1为另一个偏航校正坐标中的z轴坐标。
修正后的旋转矩阵R2的计算公式为:
R2=R(Y,Yawoffset1)*R1
在一些实施例中,该数据运算单元还被配置为:
利用修正后的旋转矩阵R2和设定的初始平移矩阵T0,对第一点云坐标集进行RT矩阵变换;其中,初始平移矩阵T0=[0,0,0]T。
计算RT矩阵变换后的第一点云坐标集中各个点云坐标对应于世界坐标系的v轴的平均值;
将平均值作为初始平移矩阵T0中的相机高度值,生成平移矩阵T。
具体的,将修正后的旋转矩阵R2和设定的初始平移矩阵T0带入RT矩阵变换计算公式,对选取出的3个点云坐标(XCL1,YCL1,ZCL1)、(XCL2,YCL2,ZCL2)和(XCR1,YCR1,ZCR1)进行变换,计算其世界坐标系下的坐标值,依次记作(XWL1,YWL1,ZWL1)、(XWL2,YWL2,ZWL2)和(XWR1,YWR1,ZWR1)。
变换后世界坐标系下的3个点云坐标的高度值Y应该相等,为双目相机的安装高度,因此,计算变换后的3个点云坐标中的对应于世界坐标系的y轴的平均值,将其作为双目相机的安装高度CameraHeight,修正初始平移矩阵T0,作为最终的平移矩阵T,以对双目相机外参进行校正。
至此,已经详细描述了本申请的各实施例。为了避免遮蔽本申请的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
虽然已经通过示例对本申请的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本申请的范围。
本申请中的步骤可根据实际需求进行顺序调整、合并和删减。
尽管参考附图详地公开了本申请,但应理解的是,这些描述仅仅是示例性的,并非用来限制本申请的应用。本申请的保护范围由附加权利要求限定,并可包括在不脱离本申请保护范围和精神的情况下针对发明所作的各种变型、改型及等效方案。
Claims (7)
1.一种双目相机的外参标定方法,其特征在于,所述双目相机安装在移动平台上,所述移动平台正前方的地面上设置有两条平行线,其特征在于,所述方法包括:
步骤1:采集所述移动平台前方地面的图像并计算所述图像的视差值,所述图像包括左图像和右图像,将所述左图像和所述右图像中的任一张记作目标图像;
步骤2:获取所述目标图像中两条平行线的目标点集Point,并基于所述视差值,将所述目标点集Point转换为目标点云数据集CloudPoint;
步骤3:在所述目标点云数据集CloudPoint中选取至少3个点云坐标,记作第一点云坐标集,并基于所述第一点云坐标集,计算第一平面法向量n1,其中,所述第一点云坐标集中的点云坐标不共线;
步骤4:根据所述第一平面法向量n1以及人为定义的世界坐标系下的第二平面法向量n2,确定所述双目相机的旋转矩阵R1,其中,所述世界坐标系Z轴方向与两条所述平行线的方向平行;
步骤5:在所述目标点云数据集CloudPoint中选取至少2个点云坐标,记作第二点云坐标集,利用所述旋转矩阵R1左乘所述第二点云坐标集,计算偏航角校正矩阵,并利用所述偏航角校正矩阵左乘所述旋转矩阵R1,生成修正后的旋转矩阵R2;
步骤6:利用所述修正后的旋转矩阵R2和设定的初始平移矩阵T0,对所述第一点云坐标集进行RT矩阵变换,计算RT矩阵变换后所述第一点云坐标集中各个点云坐标对应于所述世界坐标系的y轴的平均值,并利用所述平均值替换所述初始平移矩阵T0中的相机高度值,生成平移矩阵T,
其中,所述修正后的旋转矩阵R2以及所述平移矩阵T用于对所述双目相机的外参标定;
其中,所述步骤5具体包括:
步骤5.1:在所述目标点云数据集CloudPoint中选取2个点云坐标,记作所述第二点云坐标集,其中,所述第二点云坐标集中点云坐标组成的直线与两条所述平行线中的任一条平行;
步骤5.2:利用所述双目相机的旋转矩阵R1左乘所述第二点云坐标集中的点云坐标,生成偏航校正坐标;
步骤5.3:根据所述偏航校正坐标,计算所述偏航角校正矩阵;
步骤5.4:利用所述偏航角校正矩阵左乘所述旋转矩阵R1,生成所述修正后的旋转矩阵R2;
其中,所述偏航角校正矩阵的计算公式为:
式中,R(Y,Yawoffset1)为所述偏航角校正矩阵,Y表示y轴,Yawoffset1为偏航校正角,XWL2为一个偏航校正坐标中的x轴坐标,ZWL2为一个偏航校正坐标中的z轴坐标,XWL1为另一个偏航校正坐标中的x轴坐标,ZWL1为另一个偏航校正坐标中的z轴坐标;
修正后的旋转矩阵R2的计算公式为:
R2=R(Y,Yawoffset1)*R1。
2.如权利要求1所述的双目相机的外参标定方法,其特征在于,所述步骤6具体包括:
步骤6.1:利用所述修正后的旋转矩阵R2和所述设定的初始平移矩阵T0,对所述第一点云坐标集进行RT矩阵变换;
步骤6.2:计算RT矩阵变换后的所述第一点云坐标集中各个点云坐标对应于所述世界坐标系的y轴的所述平均值;
步骤6.3:将所述平均值作为所述初始平移矩阵T0中的相机高度值,生成平移矩阵T。
3.如权利要求1所述的双目相机的外参标定方法,其特征在于,两条所述平行线为车道线,所述车道线包括左车道线和右车道线,所述步骤2具体包括:
步骤2.1:获取所述目标图像中两条所述车道线对应的像素点坐标,组成所述目标点集Point,其中,所述目标点集Point包括左车道线点集L-Point和右车道线点集R-Point;
步骤2.2:基于所述视差值,将所述左车道线点集L-Point和所述右车道线点集R-Point分别转换为左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint,记作所述目标点云数据集CloudPoint。
4.如权利要求3所述的双目相机的外参标定方法,其特征在于,所述步骤3中,所述第一点云坐标集中点云坐标的数量为3个,在所述目标点云数据集CloudPoint中选取3个点云坐标,具体包括:
在所述左车道线点云集L-CloudPoint中选取2个点云坐标,记作第一点云坐标组,其中,所述第一点云坐标组形成的直线与所述左车道线长度方向平行,
在所述右车道线点云集R-CloudPoint中选取1个点云坐标;或者,
在所述右车道线点云集R-CloudPoint中选取2个点云坐标,记作第二点云坐标组,其中,所述第二点云坐标组形成的直线与所述右车道线长度方向平行,
在所述左车道线点云集L-CloudPoint中选取1个点云坐标。
5.如权利要求3所述的双目相机的外参标定方法,其特征在于,所述步骤2.2中具体包括:
步骤2.2.1:基于所述视差值,将所述左车道线点集L-Point和所述右车道线点集R-Point分别转换为左车道线点云集L-CloudPoint和右车道线点云集R-CloudPoint;
步骤2.2.2:分别对所述左车道线点云集L-CloudPoint和所述右车道线点云集R-CloudPoint进行线性拟合,生成左车道线拟合点云集和右车道线拟合点云集;
步骤2.2.3:将线性拟合后的左车道线拟合点云集和右车道线拟合点云集,记作所述目标点云数据集CloudPoint。
6.如权利要求5所述的双目相机的外参标定方法,其特征在于,所述步骤3中,所述第一点云坐标集中点云坐标的数量为3个,在所述目标点云数据集CloudPoint中选取3个点云坐标,具体包括:
在所述左车道线拟合点云集中任意选取2个点云坐标,在所述右车道线拟合点云集中任意选取1个点云坐标;或者,
在所述左车道线拟合点云集中任意选取1个点云坐标,在所述右车道线拟合点云集中任意选取2个点云坐标。
7.一种双目相机的外参标定系统,其特征在于,所述双目相机安装在移动平台上,所述移动平台正前方的地面上设置有两条平行线,所述系统包括:
图像获取单元,所述图像获取单元被配置为采集所述移动平台前方地面的图像并计算所述图像的视差值,所述图像包括左图像和右图像,将所述左图像和所述右图像中的任一张记作目标图像;
数据获取单元,所述数据获取单元被配置为获取所述目标图像中两条平行线的目标点集Point,并基于所述视差值,将所述目标点集Point转换为目标点云数据集CloudPoint;
数据运算单元,所述数据运算单元被配置为执行以下过程:
在所述目标点云数据集CloudPoint中选取至少3个点云坐标,记作第一点云坐标集,并基于所述第一点云坐标集,计算第一平面法向量n1,其中,所述第一点云坐标集中的点云坐标不共线;
根据所述第一平面法向量n1以及人为定义的世界坐标系下的第二平面法向量n2,确定所述双目相机的旋转矩阵R1,其中,所述世界坐标系Z轴方向与两条所述平行线的方向平行;
在所述目标点云数据集CloudPoint中选取至少2个点云坐标,记作第二点云坐标集,利用所述旋转矩阵R1左乘所述第二点云坐标集,计算偏航角校正矩阵,并利用所述偏航角校正矩阵左乘所述旋转矩阵R1,生成修正后的旋转矩阵R2;
利用所述修正后的旋转矩阵R2和设定的初始平移矩阵T0,对所述第一点云坐标集进行RT矩阵变换,计算RT矩阵变换后所述第一点云坐标集中各个点云坐标对应于所述世界坐标系的y轴的平均值,并利用所述平均值替换所述初始平移矩阵T0中的相机高度值,生成平移矩阵T,
其中,所述修正后的旋转矩阵R2以及所述平移矩阵T用于对所述双目相机的外参标定;
其中,所述数据运算单元生成修正后的旋转矩阵R2,具体包括:
在所述目标点云数据集CloudPoint中选取2个点云坐标,记作所述第二点云坐标集,其中,所述第二点云坐标集中点云坐标组成的直线与两条所述平行线中的任一条平行;
利用所述双目相机的旋转矩阵R1左乘所述第二点云坐标集中的点云坐标,生成偏航校正坐标;
根据所述偏航校正坐标,计算所述偏航角校正矩阵;
利用所述偏航角校正矩阵左乘所述旋转矩阵R1,生成所述修正后的旋转矩阵R2;
其中,所述偏航角校正矩阵的计算公式为:
式中,R(Y,Yawoffset1)为所述偏航角校正矩阵,Y表示y轴,Yawoffset1为偏航校正角,XWL2为一个偏航校正坐标中的x轴坐标,ZWL为一个偏航校正坐标中的z轴坐标,XWL为另一个偏航校正坐标中的x轴坐标,ZWL为另一个偏航校正坐标中的z轴坐标;
修正后的旋转矩阵R2的计算公式为:
R2=R(Y,Yawoffset1)*R1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310628766.3A CN116681776B (zh) | 2023-05-30 | 2023-05-30 | 一种双目相机的外参标定方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310628766.3A CN116681776B (zh) | 2023-05-30 | 2023-05-30 | 一种双目相机的外参标定方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116681776A CN116681776A (zh) | 2023-09-01 |
CN116681776B true CN116681776B (zh) | 2024-02-23 |
Family
ID=87784758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310628766.3A Active CN116681776B (zh) | 2023-05-30 | 2023-05-30 | 一种双目相机的外参标定方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116681776B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117197258B (zh) * | 2023-09-21 | 2024-04-05 | 上海祎睿图像科技有限公司 | 一种基于分离平台的映射标定方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109859278A (zh) * | 2019-01-24 | 2019-06-07 | 惠州市德赛西威汽车电子股份有限公司 | 车载相机系统相机外参的标定方法及标定系统 |
CN112556658A (zh) * | 2020-09-24 | 2021-03-26 | 北京空间飞行器总体设计部 | 一种基于双目立体视觉的对接环抓捕点测量方法及系统 |
CN114332241A (zh) * | 2021-12-29 | 2022-04-12 | 元橡科技(苏州)有限公司 | 一种基于过程标定的rgbd相机的外参标定方法、三维重建方法、存储介质 |
CN115511974A (zh) * | 2022-09-29 | 2022-12-23 | 浙江工业大学 | 一种车载双目相机的快速外参标定方法 |
-
2023
- 2023-05-30 CN CN202310628766.3A patent/CN116681776B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109859278A (zh) * | 2019-01-24 | 2019-06-07 | 惠州市德赛西威汽车电子股份有限公司 | 车载相机系统相机外参的标定方法及标定系统 |
CN112556658A (zh) * | 2020-09-24 | 2021-03-26 | 北京空间飞行器总体设计部 | 一种基于双目立体视觉的对接环抓捕点测量方法及系统 |
CN114332241A (zh) * | 2021-12-29 | 2022-04-12 | 元橡科技(苏州)有限公司 | 一种基于过程标定的rgbd相机的外参标定方法、三维重建方法、存储介质 |
CN115511974A (zh) * | 2022-09-29 | 2022-12-23 | 浙江工业大学 | 一种车载双目相机的快速外参标定方法 |
Non-Patent Citations (2)
Title |
---|
《Automatic Extrinsic Calibration for Lidar-Photoneo Camera Using a Hemispherical Calibration Board》;Yangtao Ge 等;《2023 9th International Conference on Mechatronics and Robotics Engineering (ICMRE) 》;219-224 * |
《一种车载双目相机自标定方法》;刘福明;《电子技术与软件工程》(第01期);155-159 * |
Also Published As
Publication number | Publication date |
---|---|
CN116681776A (zh) | 2023-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106529495B (zh) | 一种飞行器的障碍物检测方法和装置 | |
US10097812B2 (en) | Stereo auto-calibration from structure-from-motion | |
EP3479353B1 (en) | Systems and methods for identifying pose of cameras in a scene | |
CN109446892B (zh) | 基于深度神经网络的人眼注意力定位方法及系统 | |
KR102249769B1 (ko) | 2차원 영상의 픽셀별 3차원 좌표값 추정 방법 및 이를 이용한 자율주행정보 추정 방법 | |
CN111427026A (zh) | 激光雷达的标定方法、装置、存储介质及自移动设备 | |
CN111897349A (zh) | 一种基于双目视觉的水下机器人自主避障方法 | |
CN109741241B (zh) | 鱼眼图像的处理方法、装置、设备和存储介质 | |
CN112529966B (zh) | 一种车载环视系统的在线标定方法及其车载环视系统 | |
CN116681776B (zh) | 一种双目相机的外参标定方法和系统 | |
CN110969663A (zh) | 一种相机外部参数的静态标定方法 | |
CN116193108B (zh) | 一种摄像头在线自校准方法、装置、设备及介质 | |
JP2023505891A (ja) | 環境のトポグラフィを測定するための方法 | |
CN115451948A (zh) | 一种基于多传感器融合的农业无人车定位里程计方法及系统 | |
CN109141477A (zh) | 校准设备、方法及存储介质 | |
CN112819711A (zh) | 一种基于单目视觉的利用道路车道线的车辆反向定位方法 | |
CN113848931A (zh) | 农机自动驾驶障碍物识别方法、系统、设备和存储介质 | |
CN115436920A (zh) | 一种激光雷达标定方法及相关设备 | |
CN110796604A (zh) | 一种图像校正方法及装置 | |
CN117115271A (zh) | 无人机飞行过程中的双目相机外参数自标定方法及系统 | |
CN110827337B (zh) | 确定车载相机的姿态的方法、装置和电子设备 | |
CN113658262A (zh) | 相机外参标定方法、装置、系统及存储介质 | |
WO2021056283A1 (en) | Systems and methods for adjusting a vehicle pose | |
CN114754779B (zh) | 一种定位与建图方法、装置及电子设备 | |
CN111243021A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |