一种用于无人驾驶车辆的相机标定方法及装置转让专利

申请号 : CN201911132111.7

文献号 : CN112907674B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邓浩平彭雄峰

申请人 : 魔门塔(苏州)科技有限公司

摘要 :

本发明实施例公开一种用于无人驾驶车辆的相机标定方法及装置。该方法包括:获取针对目标相机采集的三张包括标定板的图像;分别检测每张图像中位于标定板中轴线处黑白格子的交点,计算每个交点在标定板上对应的三维点在相机坐标系中的三维坐标信息;确定车辆坐标系的Z轴表示;根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及车辆坐标系的Z轴表示,确定车辆坐标系的X轴表示和Y轴表示;获取根据测距设备得到的目标相机距离无人驾驶车辆车头的距离;计算目标相机到无人驾驶车辆车身左侧的距离、右侧的距离、以及目标相机的高度。应用本发明实施例提供的方案,能够提高相机标定的便捷性。

权利要求 :

1.一种用于无人驾驶车辆的相机标定方法,其特征在于,所述方法包括:

获取针对目标相机采集的三张包括标定板的图像;所述目标相机为所述无人驾驶车辆中安装的任一相机;所述标定板包括按预设方式排列的黑白格子图案;各所述图像为分别将所述标定板放置于与所述目标相机对应的预设位置后所述目标相机采集的图像;

分别检测每张所述图像中位于所述标定板中轴线处黑白格子的交点,得到所述每个交点在各所述图像中的二维坐标信息;

根据所述每个交点在各所述图像中的二维坐标信息、所述目标相机的内参矩阵、以及所述每个格子的间距,计算所述每个交点在所述标定板上对应的三维点在所述相机坐标系中的三维坐标信息;

根据所述每个三维点在所述相机坐标系中的三维坐标信息,选择处于同一高度的目标三维点,并根据所述目标三维点构建目标平面,将所述目标平面的方向向量确定为车辆坐标系的Z轴表示;所述车辆坐标系的X轴为沿车辆前后轮连线朝车辆行进方向,Y轴与X轴位于同一平面且朝车辆左侧,Z轴与X轴与Y轴组成的平面垂直且朝上;

根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及所述车辆坐标系的Z轴表示,确定所述车辆坐标系的X轴表示和Y轴表示;所述第一图像和所述第二图像为将所述标定板放置于与所述无人驾驶车辆的预设部件处于同一直线的两个位置后,所述目标相机分别采集的图像;所述预设部件与所述目标相机相对应;

根据所述车辆坐标系的Z轴表示、X轴表示和Y轴表示,构建所述车辆坐标系和所述相机坐标系之间的旋转矩阵;

获取根据测距设备得到的所述目标相机距离所述无人驾驶车辆车头的距离;根据所述第一图像和所述第二图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身左侧的距离;根据除所述第一图像和所述第二图像之外的第三图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身右侧的距离;根据所述旋转矩阵、所述标定板的高度、以及任一所述图像中检测得到的最高处交点的高度,计算所述目标相机的高度。

2.根据权利要求1所述的方法,其特征在于,所述根据所述每个交点在各所述图像中的二维坐标信息、所述目标相机的内参矩阵、以及所述每个格子的间距,计算所述每个交点在所述标定板上对应的三维点在所述相机坐标系中的三维坐标信息的步骤包括:针对每张所述图像中检测得到的每个交点,根据以下公式,计算该图像中检测得到的每个交点在所述标定板上对应的三维点在所述相机坐标系中的三维坐标信息:Pi=P0+i*d*v

pi=Proj(K*Pi)

其中,Pi为第i个交点pi对应的三维点,P0为该图像中检测得到的最高处的交点对应的三维点,i为整数,d为相邻三维点Pi之间的距离,v为沿所述标定板中轴线的单位方向向量,K为所述目标相机的内参矩阵,Proj函数为(x,y,z)→(x/z,y/z)。

3.根据权利要求1所述的方法,其特征在于,所述根据所述旋转矩阵、所述标定板的高度、以及任一所述图像中检测得到的最高处交点的高度,计算所述目标相机的高度的步骤包括:构建所述相机坐标系对应的位移T=transpose(R)*P0;

将所述目标相机的高度H确定为:

H=‑T(2)+D

R为所述旋转矩阵,transpose(R)为求R的转置矩阵,P0为任一所述图像中检测得到的最高处交点的高度,D为所述标定板的高度。

4.根据权利要求1‑3任一项所述的方法,其特征在于,

所述预设位置位于所述目标相机采集范围;

所述目标相机为所述无人驾驶车辆中前视相机或后视相机,所述预设位置为:所述标定板中轴线与所述无人驾驶车辆左侧前后轮外边缘线处于同一直线的第一位置和第二位置,以及所述标定板中轴线与所述无人驾驶车辆右侧前后轮外边缘线处于同一直线的第三位置;

所述目标相机为所述无人驾驶车辆中侧左前视相机或侧右前视相机,所述预设位置为:所述标定板中轴线与所述无人驾驶车辆车头切线处于同一直线的第四位置和第五位置,以及距离所述第四位置和所述第五位置的连线大于预设距离阈值的第六位置;所述第四位置和所述第五位置的间距大于所述预设距离阈值;

所述目标相机为所述无人驾驶车辆中侧左后视相机或侧右后视相机,所述预设位置为:所述标定板中轴线与所述无人驾驶车辆车尾切线处于同一直线的第七位置和第八位置,以及距离所述第七位置和所述第八位置的连线大于预设距离阈值的第九位置;所述第七位置和所述第八位置的间距大于所述预设距离阈值。

5.根据权利要求4所述的方法,其特征在于,所述目标相机为所述无人驾驶车辆中前视相机或后视相机,所述根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及所述车辆坐标系的Z轴表示,确定所述车辆坐标系的X轴表示和Y轴表示的步骤包括:根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,计算所述第一图像对应的三维点的第一平均点的第一均值坐标,以及所述第二图像对应的三维点的第二平均点的第二均值坐标;

根据所述第一平均点的第一均值坐标,以及所述第二平均点的第二均值坐标,将所述第一平均点和所述第二平均点的连线确定为所述车辆坐标系的X轴表示;其中,采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距,小于采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距;

根据所述车辆坐标系的Z轴表示和X轴表示,确定所述车辆坐标系的Y轴表示。

6.根据权利要求5所述的方法,其特征在于,所述根据所述第一图像和所述第二图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身左侧的距离的步骤包括:将所述第一均值坐标和所述第二均值坐标中沿Y轴坐标值的均值,确定为所述目标相机到所述无人驾驶车辆车身左侧的距离;

所述根据除所述第一图像和所述第二图像之外的第三图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身右侧的距离的步骤包括:根据除所述第一图像和所述第二图像之外的第三图像对应的三维点的三维坐标信息,计算所述第三图像对应的三维点的第三平均点的第三均值坐标;将所述第三均值坐标中沿Y轴坐标值的均值,确定为所述目标相机到所述无人驾驶车辆车身右侧的距离。

7.根据权利要求4所述的方法,其特征在于,所述目标相机为所述无人驾驶车辆中侧左前视相机、侧右前视相机、侧左后视相机或侧右后视相机,所述根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及所述车辆坐标系的Z轴表示,确定所述车辆坐标系的X轴表示和Y轴表示的步骤包括:根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,计算所述第一图像对应的三维点的第一平均点的第一均值坐标,以及所述第二图像对应的三维点的第二平均点的第二均值坐标;

根据所述第一平均点的第一均值坐标,以及所述第二平均点的第二均值坐标,将所述第一平均点和所述第二平均点的连线确定为所述车辆坐标系的Y轴表示;其中,采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距,小于采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距;

根据所述车辆坐标系的Z轴表示和Y轴表示,确定所述车辆坐标系的X轴表示。

8.一种用于无人驾驶车辆的相机标定装置,其特征在于,所述装置包括:

图像获取模块,用于获取针对目标相机采集的三张包括标定板的图像;所述目标相机为所述无人驾驶车辆中安装的任一相机;所述标定板包括按预设方式排列的黑白格子图案;各所述图像为分别将所述标定板放置于与所述目标相机对应的预设位置后所述目标相机采集的图像;

交点检测模块,用于分别检测每张所述图像中位于所述标定板中轴线处黑白格子的交点,得到所述每个交点在各所述图像中的二维坐标信息;

坐标转换模块,用于根据所述每个交点在各所述图像中的二维坐标信息、所述目标相机的内参矩阵、以及所述每个格子的间距,计算所述每个交点在所述标定板上对应的三维点在所述相机坐标系中的三维坐标信息;

平面构建模块,用于根据所述每个三维点在所述相机坐标系中的三维坐标信息,选择处于同一高度的目标三维点,并根据所述目标三维点构建目标平面,将所述目标平面的方向向量确定为车辆坐标系的Z轴表示;所述车辆坐标系的X轴为沿车辆前后轮连线朝车辆行进方向,Y轴与X轴位于同一平面且朝车辆左侧,Z轴与X轴与Y轴组成的平面垂直且朝上;

坐标映射模块,用于根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及所述车辆坐标系的Z轴表示,确定所述车辆坐标系的X轴表示和Y轴表示;所述第一图像和所述第二图像为将所述标定板放置于与所述无人驾驶车辆的预设部件处于同一直线的两个位置后,所述目标相机分别采集的图像;所述预设部件与所述目标相机相对应;

矩阵构建模块,用于根据所述车辆坐标系的Z轴表示、X轴表示和Y轴表示,构建所述车辆坐标系和所述相机坐标系之间的旋转矩阵;

距离计算模块,用于获取根据测距设备得到的所述目标相机距离所述无人驾驶车辆车头的距离;根据所述第一图像和所述第二图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身左侧的距离;根据除所述第一图像和所述第二图像之外的第三图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身右侧的距离;根据所述旋转矩阵、所述标定板的高度、以及任一所述图像中检测得到的最高处交点的高度,计算所述目标相机的高度。

9.根据权利要求8所述的装置,其特征在于,所述坐标转换模块,具体用于针对每张所述图像中检测得到的每个交点,根据以下公式,计算该图像中检测得到的每个交点在所述标定板上对应的三维点在所述相机坐标系中的三维坐标信息:Pi=P0+i*d*v

pi=Proj(K*Pi)

其中,Pi为第i个交点pi对应的三维点,P0为该图像中检测得到的最高处的交点对应的三维点,i为整数,d为相邻三维点Pi之间的距离,v为沿所述标定板中轴线的单位方向向量,K为所述目标相机的内参矩阵,Proj函数为(x,y,z)→(x/z,y/z)。

10.根据权利要求8所述的装置,其特征在于,所述距离计算模块,具体用于:

构建所述相机坐标系对应的位移T=transpose(R)*P0;

将所述目标相机的高度H确定为:

H=‑T(2)+D

R为所述旋转矩阵,transpose(R)为求R的转置矩阵,P0为任一所述图像中检测得到的最高处交点的高度,D为所述标定板的高度。

说明书 :

一种用于无人驾驶车辆的相机标定方法及装置

技术领域

[0001] 本发明涉及智能驾驶技术领域,具体而言,涉及一种用于无人驾驶车辆的相机标定方法及装置。

背景技术

[0002] 在无人驾驶车辆行驶过程中,其需要检测道路上的车道线、指示牌、行人、以及其他车辆等目标的位置信息,从而才可以在正确的区域行驶,保证其行驶的安全性。例如,可以在无人驾驶车辆安装相机,通过相机采集车辆行驶过程中周围环境的图像,进而可以通过对图像进行检测,得到车辆周围环境相关目标的位置信息。
[0003] 具体的,可以提前对相机进行标定,得到相机与车身的相对位置,也即相机与车身的位置姿态关系,从而在后续的定位过程中,可以根据标定得到的结果,对车辆周围环境的目标位置进行检测。
[0004] 已知的相机标定方法,可以在铺设了很多编码图案的室内标定场进行。然而,每次进行相机标定都需要车辆去到标定场进行,路程耗时较长,标定过程繁琐。因此,为了提高相机标定的便捷性,亟需一种相机标定方法。

发明内容

[0005] 本发明提供了一种用于无人驾驶车辆的相机标定方法及装置,以提高相机标定的便捷性。具体的技术方案如下。
[0006] 第一方面,本发明实施例提供一种用于无人驾驶车辆的相机标定方法,所述方法包括:
[0007] 获取针对目标相机采集的三张包括标定板的图像;所述目标相机为所述无人驾驶车辆中安装的任一相机;所述标定板包括按预设方式排列的黑白格子图案;各所述图像为分别将所述标定板放置于与所述目标相机对应的预设位置后所述目标相机采集的图像;
[0008] 分别检测每张所述图像中位于所述标定板中轴线处黑白格子的交点,得到所述每个交点在各所述图像中的二维坐标信息;
[0009] 根据所述每个交点在各所述图像中的二维坐标信息、所述目标相机的内参矩阵、以及所述每个格子的间距,计算所述每个交点在所述标定板上对应的三维点在所述相机坐标系中的三维坐标信息;
[0010] 根据所述每个三维点在所述相机坐标系中的三维坐标信息,选择处于同一高度的目标三维点,并根据所述目标三维点构建目标平面,将所述目标平面的方向向量确定为车辆坐标系的Z轴表示;所述车辆坐标系的X轴为沿车辆前后轮连线朝车辆行进方向,Y轴与X轴位于同一平面且朝车辆左侧,Z轴与X轴与Y轴组成的平面垂直且朝上;
[0011] 根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及所述车辆坐标系的Z轴表示,确定所述车辆坐标系的X轴表示和Y轴表示;所述第一图像和所述第二图像为将所述标定板放置于与所述无人驾驶车辆的预设部件处于同一直线的两个位置后,所述目标相机分别采集的图像;所述预设部件与所述目标相机相对应;
[0012] 根据所述车辆坐标系的Z轴表示、X轴表示和Y轴表示,构建所述车辆坐标系和所述相机坐标系之间的旋转矩阵;
[0013] 获取根据测距设备得到的所述目标相机距离所述无人驾驶车辆车头的距离;根据所述第一图像和所述第二图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身左侧的距离;根据除所述第一图像和所述第二图像之外的第三图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身右侧的距离;根据所述旋转矩阵、所述标定板的高度、以及任一所述图像中检测得到的最高处交点的高度,计算所述目标相机的高度。
[0014] 可选的,所述根据所述每个交点在各所述图像中的二维坐标信息、所述目标相机的内参矩阵、以及所述每个格子的间距,计算所述每个交点在所述标定板上对应的三维点在所述相机坐标系中的三维坐标信息的步骤包括:
[0015] 针对每张所述图像中检测得到的每个交点,根据以下公式,计算该图像中检测得到的每个交点在所述标定板上对应的三维点在所述相机坐标系中的三维坐标信息:
[0016] Pi=P0+i*d*v
[0017] pi=Proj(K*Pi)
[0018] 其中,Pi为第i个交点pi对应的三维点,P0为该图像中检测得到的最高处的交点对应的三维点,i为整数,d为相邻三维点Pi之间的距离,v为沿所述标定板中轴线的单位方向向量,K为所述目标相机的内参矩阵,Proj函数为(x,y,z)→(x/z,y/z)。
[0019] 可选的,所述根据所述旋转矩阵、所述标定板的高度、以及任一所述图像中检测得到的最高处交点的高度,计算所述目标相机的高度的步骤包括:
[0020] 构建所述相机坐标系对应的位移T=transpose(R)*P0;
[0021] 将所述目标相机的高度H确定为:
[0022] H=‑T(2)+D
[0023] R为所述旋转矩阵,transpose(R)为求R的转置矩阵,P0为任一所述图像中检测得到的最高处交点的高度,D为所述标定板的高度。
[0024] 可选的,所述预设位置位于所述目标相机采集范围;
[0025] 所述目标相机为所述无人驾驶车辆中前视相机或后视相机,所述预设位置为:所述标定板中轴线与所述无人驾驶车辆左侧前后轮外边缘线处于同一直线的第一位置和第二位置,以及所述标定板中轴线与所述无人驾驶车辆右侧前后轮外边缘线处于同一直线的第三位置;
[0026] 所述目标相机为所述无人驾驶车辆中侧左前视相机或侧右前视相机,所述预设位置为:所述标定板中轴线与所述无人驾驶车辆车头切线处于同一直线的第四位置和第五位置,以及距离所述第四位置和所述第五位置的连线大于预设距离阈值的第六位置;所述第四位置和所述第五位置的间距大于所述预设距离阈值;
[0027] 所述目标相机为所述无人驾驶车辆中侧左后视相机或侧右后视相机,所述预设位置为:所述标定板中轴线与所述无人驾驶车辆车尾切线处于同一直线的第七位置和第八位置,以及距离所述第七位置和所述第八位置的连线大于预设距离阈值的第九位置;所述第七位置和所述第八位置的间距大于所述预设距离阈值。
[0028] 可选的,所述目标相机为所述无人驾驶车辆中前视相机或后视相机,所述根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及所述车辆坐标系的Z轴表示,确定所述车辆坐标系的X轴表示和Y轴表示的步骤包括:
[0029] 根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,计算所述第一图像对应的三维点的第一平均点的第一均值坐标,以及所述第二图像对应的三维点的第二平均点的第二均值坐标;
[0030] 根据所述第一平均点的第一均值坐标,以及所述第二平均点的第二均值坐标,将所述第一平均点和所述第二平均点的连线确定为所述车辆坐标系的X轴表示;其中,采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距,小于采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距;
[0031] 根据所述车辆坐标系的Z轴表示和X轴表示,确定所述车辆坐标系的Y轴表示。
[0032] 可选的,所述根据所述第一图像和所述第二图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身左侧的距离的步骤包括:
[0033] 将所述第一均值坐标和所述第二均值坐标中沿Y轴坐标值的均值,确定为所述目标相机到所述无人驾驶车辆车身左侧的距离;
[0034] 所述根据除所述第一图像和所述第二图像之外的第三图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身右侧的距离的步骤包括:
[0035] 根据除所述第一图像和所述第二图像之外的第三图像对应的三维点的三维坐标信息,计算所述第三图像对应的三维点的第三平均点的第三均值坐标;将所述第三均值坐标中沿Y轴坐标值的均值,确定为所述目标相机到所述无人驾驶车辆车身右侧的距离。
[0036] 可选的,所述目标相机为所述无人驾驶车辆中侧左前视相机、侧右前视相机、侧左后视相机或侧右后视相机,所述根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及所述车辆坐标系的Z轴表示,确定所述车辆坐标系的X轴表示和Y轴表示的步骤包括:
[0037] 根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,计算所述第一图像对应的三维点的第一平均点的第一均值坐标,以及所述第二图像对应的三维点的第二平均点的第二均值坐标;
[0038] 根据所述第一平均点的第一均值坐标,以及所述第二平均点的第二均值坐标,将所述第一平均点和所述第二平均点的连线确定为所述车辆坐标系的Y轴表示;其中,采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距,小于采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距;
[0039] 根据所述车辆坐标系的Z轴表示和Y轴表示,确定所述车辆坐标系的X轴表示。
[0040] 第二方面,本发明实施例提供一种用于无人驾驶车辆的相机标定装置,所述装置包括:
[0041] 图像获取模块,用于获取针对目标相机采集的三张包括标定板的图像;所述目标相机为所述无人驾驶车辆中安装的任一相机;所述标定板包括按预设方式排列的黑白格子图案;各所述图像为分别将所述标定板放置于与所述目标相机对应的预设位置后所述目标相机采集的图像;
[0042] 交点检测模块,用于分别检测每张所述图像中位于所述标定板中轴线处黑白格子的交点,得到所述每个交点在各所述图像中的二维坐标信息;
[0043] 坐标转换模块,用于根据所述每个交点在各所述图像中的二维坐标信息、所述目标相机的内参矩阵、以及所述每个格子的间距,计算所述每个交点在所述标定板上对应的三维点在所述相机坐标系中的三维坐标信息;
[0044] 平面构建模块,用于根据所述每个三维点在所述相机坐标系中的三维坐标信息,选择处于同一高度的目标三维点,并根据所述目标三维点构建目标平面,将所述目标平面的方向向量确定为车辆坐标系的Z轴表示;所述车辆坐标系的X轴为沿车辆前后轮连线朝车辆行进方向,Y轴与X轴位于同一平面且朝车辆左侧,Z轴与X轴与Y轴组成的平面垂直且朝上;
[0045] 坐标映射模块,用于根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及所述车辆坐标系的Z轴表示,确定所述车辆坐标系的X轴表示和Y轴表示;所述第一图像和所述第二图像为将所述标定板放置于与所述无人驾驶车辆的预设部件处于同一直线的两个位置后,所述目标相机分别采集的图像;所述预设部件与所述目标相机相对应;
[0046] 矩阵构建模块,用于根据所述车辆坐标系的Z轴表示、X轴表示和Y轴表示,构建所述车辆坐标系和所述相机坐标系之间的旋转矩阵;
[0047] 距离计算模块,用于获取根据测距设备得到的所述目标相机距离所述无人驾驶车辆车头的距离;根据所述第一图像和所述第二图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身左侧的距离;根据除所述第一图像和所述第二图像之外的第三图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身右侧的距离;根据所述旋转矩阵、所述标定板的高度、以及任一所述图像中检测得到的最高处交点的高度,计算所述目标相机的高度。
[0048] 可选的,所述坐标转换模块,具体用于针对每张所述图像中检测得到的每个交点,根据以下公式,计算该图像中检测得到的每个交点在所述标定板上对应的三维点在所述相机坐标系中的三维坐标信息:
[0049] Pi=P0+i*d*v
[0050] pi=Proj(K*Pi)
[0051] 其中,Pi为第i个交点pi对应的三维点,P0为该图像中检测得到的最高处的交点对应的三维点,i为整数,d为相邻三维点Pi之间的距离,v为沿所述标定板中轴线的单位方向向量,K为所述目标相机的内参矩阵,Proj函数为(x,y,z)→(x/z,y/z)。
[0052] 可选的,所述距离计算模块,具体用于:
[0053] 构建所述相机坐标系对应的位移T=transpose(R)*P0;
[0054] 将所述目标相机的高度H确定为:
[0055] H=‑T(2)+D
[0056] R为所述旋转矩阵,transpose(R)为求R的转置矩阵,P0为任一所述图像中检测得到的最高处交点的高度,D为所述标定板的高度。
[0057] 可选的,所述预设位置位于所述目标相机采集范围;
[0058] 所述目标相机为所述无人驾驶车辆中前视相机或后视相机,所述预设位置为:所述标定板中轴线与所述无人驾驶车辆左侧前后轮外边缘线处于同一直线的第一位置和第二位置,以及所述标定板中轴线与所述无人驾驶车辆右侧前后轮外边缘线处于同一直线的第三位置;
[0059] 所述目标相机为所述无人驾驶车辆中侧左前视相机或侧右前视相机,所述预设位置为:所述标定板中轴线与所述无人驾驶车辆车头切线处于同一直线的第四位置和第五位置,以及距离所述第四位置和所述第五位置的连线大于预设距离阈值的第六位置;所述第四位置和所述第五位置的间距大于所述预设距离阈值;
[0060] 所述目标相机为所述无人驾驶车辆中侧左后视相机或侧右后视相机,所述预设位置为:所述标定板中轴线与所述无人驾驶车辆车尾切线处于同一直线的第七位置和第八位置,以及距离所述第七位置和所述第八位置的连线大于预设距离阈值的第九位置;所述第七位置和所述第八位置的间距大于所述预设距离阈值。
[0061] 可选的,所述目标相机为所述无人驾驶车辆中前视相机或后视相机,所述坐标映射模块包括:
[0062] 第一均值坐标计算子模块,用于根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,计算所述第一图像对应的三维点的第一平均点的第一均值坐标,以及所述第二图像对应的三维点的第二平均点的第二均值坐标;
[0063] 第一X轴确定子模块,用于根据所述第一平均点的第一均值坐标,以及所述第二平均点的第二均值坐标,将所述第一平均点和所述第二平均点的连线确定为所述车辆坐标系的X轴表示;其中,采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距,小于采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距;
[0064] 第一Y轴确定子模块,用于根据所述车辆坐标系的Z轴表示和X轴表示,确定所述车辆坐标系的Y轴表示。
[0065] 可选的,所述距离计算模块包括:
[0066] 左侧距离计算子模块,用于将所述第一均值坐标和所述第二均值坐标中沿Y轴坐标值的均值,确定为所述目标相机到所述无人驾驶车辆车身左侧的距离;
[0067] 右侧距离计算子模块,用于根据除所述第一图像和所述第二图像之外的第三图像对应的三维点的三维坐标信息,计算所述第三图像对应的三维点的第三平均点的第三均值坐标;将所述第三均值坐标中沿Y轴坐标值的均值,确定为所述目标相机到所述无人驾驶车辆车身右侧的距离。
[0068] 可选的,所述坐标映射模块包括:
[0069] 第二均值坐标计算子模块,用于根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,计算所述第一图像对应的三维点的第一平均点的第一均值坐标,以及所述第二图像对应的三维点的第二平均点的第二均值坐标;
[0070] 第二Y轴确定子模块,用于根据所述第一平均点的第一均值坐标,以及所述第二平均点的第二均值坐标,将所述第一平均点和所述第二平均点的连线确定为所述车辆坐标系的Y轴表示;其中,采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距,小于采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距;
[0071] 第二X轴确定子模块,用于根据所述车辆坐标系的Z轴表示和Y轴表示,确定所述车辆坐标系的X轴表示。
[0072] 由上述内容可知,本发明实施例提供的用于无人驾驶车辆的相机标定方法及装置,可以获取针对目标相机采集的三张包括标定板的图像;目标相机为无人驾驶车辆中安装的任一相机;标定板包括按预设方式排列的黑白格子图案;各图像为分别将标定板放置于与目标相机对应的预设位置后目标相机采集的图像;分别检测每张图像中位于标定板中轴线处黑白格子的交点,得到每个交点在各图像中的二维坐标信息;根据每个交点在各图像中的二维坐标信息、目标相机的内参矩阵、以及每个格子的间距,计算每个交点在标定板上对应的三维点在相机坐标系中的三维坐标信息;根据每个三维点在相机坐标系中的三维坐标信息,选择处于同一高度的目标三维点,并根据目标三维点构建目标平面,将目标平面的方向向量确定为车辆坐标系的Z轴表示;车辆坐标系的X轴为沿车辆前后轮连线朝车辆行进方向,Y轴与X轴位于同一平面且朝车辆左侧,Z轴与X轴与Y轴组成的平面垂直且朝上;根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及车辆坐标系的Z轴表示,确定车辆坐标系的X轴表示和Y轴表示;第一图像和第二图像为将标定板放置于与无人驾驶车辆的预设部件处于同一直线的两个位置后,目标相机分别采集的图像;预设部件与目标相机相对应;根据车辆坐标系的Z轴表示、X轴表示和Y轴表示,构建车辆坐标系和相机坐标系之间的旋转矩阵;获取根据测距设备得到的目标相机距离无人驾驶车辆车头的距离;根据第一图像和第二图像对应的三维点的三维坐标信息,计算目标相机到无人驾驶车辆车身左侧的距离;根据除第一图像和第二图像之外的第三图像对应的三维点的三维坐标信息,计算目标相机到无人驾驶车辆车身右侧的距离;根据旋转矩阵、标定板的高度、以及任一图像中检测得到的最高处交点的高度,计算目标相机的高度,因此能够基于标定板完成对无人驾驶车辆中相机的标定,标定板安装简便且可以随身携带,使用标定板对相机进行标定时,只需要将无人驾驶车辆停放在较为空旷的平地上,采集到满足条件的图像即可,不需要去到专用的标定场地,因此能够提高相机标定的便捷性。并且,专用的标定场地建设费用昂贵,本方案中使用的标定设备成本较低,能够降低相机标定的成本。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
[0073] 本发明实施例的创新点包括:
[0074] 1、基于标定板完成对无人驾驶车辆中相机的标定,标定板安装简便且可以随身携带,使用标定板对相机进行标定时,只需要将无人驾驶车辆停放在较为空旷的平地上,采集到满足条件的图像即可,不需要去到专用的标定场地,因此能够提高相机标定的便捷性。并且,专用的标定场地建设费用昂贵,本方案中使用的标定设备成本较低,能够降低相机标定的成本。
[0075] 2、通过在无人驾驶车辆不同位置安装多个相机,对每个相机进行标定,能够在车辆行驶过程中采集到周围环境中不同方向的图像,进而通过对每张图像进行检测得到车辆周围存在的所有的目标,提高车辆行驶的安全性。

附图说明

[0076] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0077] 图1为本发明实施例中标定板图案示意图;
[0078] 图2为本发明实施例的无人驾驶车辆中相机安装位置示意图;
[0079] 图3为本发明实施例中不同相机对应的标定板安装位置示意图;
[0080] 图4为本发明实施例的用于无人驾驶车辆的相机标定方法的一种流程示意图;
[0081] 图5为本发明实施例的在图像中检测得到的交点示意图;
[0082] 图6为本发明实施例的图像中交点与标定板中三维点的对应关系示意图;
[0083] 图7为本发明实施例中通过三维点所构建的平面示意图;
[0084] 图8为本发明实施例中相机到车头距离示意图;
[0085] 图9为本发明实施例的用于无人驾驶车辆的相机标定装置的一种结构示意图。

具体实施方式

[0086] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0087] 需要说明的是,本发明实施例及附图中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含的一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0088] 本发明实施例公开了一种用于无人驾驶车辆的相机标定方法及装置,能够提高相机标定的便捷性。下面对本发明实施例进行详细说明。
[0089] 在本发明实施例中,可以通过设置的标定板对无人驾驶车辆中的相机进行标定。其中,标定板可以由两部分组成:标定板图案和标定板支架。标定板支架可以自由上下升高降低,以适应不同车型。
[0090] 如图1所示,标定板图案可以由黑白格子组成,黑白格子按预设方式排列,黑色表示0,白色表示1。图1中黑白格子编码从低到高设计如下:
[0091] [0,0,1,1]
[0092] [0,1,0,1]
[0093] [0,0,1,1]
[0094] [1,1,0,1]
[0095] [1,0,1,1]
[0096] [1,1,0,1]
[0097] [1,0,1,1]
[0098] [1,1,0,1]
[0099] [0,0,1,1]
[0100] [0,1,0,1]
[0101] [0,0,1,1]
[0102] [0,1,0,1]
[0103] [0,0,1,1]
[0104] [0,1,0,0]
[0105] [0,0,1,0]
[0106] [0,1,0,0]
[0107] [0,0,1,0]
[0108] [0,1,0,0]
[0109] 上述为4‑4非相关编码,每个4*4的模板从上到下,每次滑动一行,得到的编码均不相同,因此可以在有部分遮挡的时候也能辨别出黑白交点的编码。
[0110] 在本发明实施例中,可以在无人驾驶车辆安装多个相机。如图2所示,可以安装位置如图所示的6个相机,分别为前视相机210,侧左前视相机220,侧右前视相机230,侧左后视相机240,侧右后视相机250和后视相机260。
[0111] 可以对每个相机分别进行标定。具体的,可以针对每个相机,分别将标定板放置在该相机采集范围内的3个位置处,之后通过该相机采集包含标定板的图像,进而通过采集的图像得到该相机的标定结果。
[0112] 其中,针对前视相机或后视相机,可以将标定板放置于标定板中轴线与无人驾驶车辆左侧前后轮外边缘线处于同一直线的第一位置和第二位置,以及标定板中轴线与无人驾驶车辆右侧前后轮外边缘线处于同一直线的第三位置;针对侧左前视相机或侧右前视相机,可以将标定板放置于标定板中轴线与无人驾驶车辆车头切线处于同一直线的第四位置和第五位置,以及距离第四位置和第五位置的连线大于预设距离阈值的第六位置;针对侧左后视相机或侧右后视相机,可以将标定板放置于标定板中轴线与无人驾驶车辆车尾切线处于同一直线的第七位置和第八位置,以及距离第七位置和第八位置的连线大于预设距离阈值的第九位置。
[0113] 其中,标定板中轴线为位于黑白格子图案中间的直线,如图1所示的直线110。为了保证标定的精度,上述第四位置和第五位置的间距大于预设距离阈值;第七位置和第八位置的间距大于预设距离阈值。上述预设距离阈值例如可以为0.8米、1米、1.2米等,本发明实施例对此不做限定。
[0114] 针对每个相机标定板的放置位置如图3所示。针对前视相机,可以依次将标定板放置在位置1、位置2和位置3处;针对侧左前视相机,可以依次将标定板放置在位置4、位置5和位置6处;针对侧右前视相机,可以依次将标定板放置在位置7、位置8和位置9处;针对侧左后视相机,可以依次将标定板放置在位置10、位置11和位置12处;针对侧右后视相机,可以依次将标定板放置在位置13、位置14和位置15处;针对后视相机,可以依次将标定板放置在位置16、位置17和位置18处。
[0115] 放置标定板时,可以利用水平地线仪来确定其位置。水平地线仪可以发射出人眼可见的水平和垂直的激光线束。因此,利用水平地线仪,可以准确的将标定板放置在上述与每个相机对应的位置处。
[0116] 如图4所示,本发明实施例提供的用于无人驾驶车辆的相机标定方法,可以包括以下步骤:
[0117] S410:获取针对目标相机采集的三张包括标定板的图像;目标相机为无人驾驶车辆中安装的任一相机;标定板包括按预设方式排列的黑白格子图案;各图像为分别将标定板放置于与目标相机对应的预设位置后目标相机采集的图像。
[0118] 以前视相机为例,可以按照以下方式分别放置标定板:
[0119] 第一次放置标定板,使标定板的中轴线与车左边前后车轮外边缘在同一直线上。
[0120] 第二次放置标定板,使标定板向远离车辆的方向移动至少1m,同时保持标定板的中轴线与车左车轮外边缘线在同一直线。
[0121] 第三次重新放置标定板,利用激光水平移使标定板的中轴线与车辆右车轮的边缘在同一直线上。
[0122] 每次放置标定板后,可以通过前视相机采集包括标定板的图像,也就是可以采集到三张图像,以通过采集的图像对前视相机进行标定。
[0123] S420:分别检测每张图像中位于标定板中轴线处黑白格子的交点,得到每个交点在各图像中的二维坐标信息。
[0124] 具体的,可以分别针对每张图像,采用已知的任一种图像检测方法,检测位于标定板中轴线处黑白格子的交点。例如,当采集到的图像为如图1所示图像时,检测得到的交点可以为如图5所示的交点510。
[0125] S430:根据每个交点在各图像中的二维坐标信息、目标相机的内参矩阵、以及每个格子的间距,计算每个交点在标定板上对应的三维点在相机坐标系中的三维坐标信息。
[0126] 在本发明实施例中,可以分别定义车辆坐标系和相机坐标系。车辆坐标系定义如下:X轴朝前,也就是沿着车辆前进方向,与前后车轮连线在同一直线,Y轴朝左,Z轴朝上,坐标系原点在车头中心点垂直的地面上。相机坐标系定义如下:x轴朝右,y轴朝下,z轴朝前,坐标系原点为光心,z轴垂直于像平面,XOY平面平行于像平面。
[0127] 在一种实现方式中,计算每个交点在标定板上对应的三维点在相机坐标系中的三维坐标信息时,可以针对每张图像中检测得到的每个交点,根据以下公式,计算该图像中检测得到的每个交点在标定板上对应的三维点在相机坐标系中的三维坐标信息:
[0128] Pi=P0+i*d*v  (1)
[0129] pi=Proj(K*Pi)  (2)
[0130] 其中,Pi为第i个交点pi对应的三维点,P0为该图像中检测得到的最高处的交点对应的三维点,i为整数,d为相邻三维点Pi之间的距离,设计标定板时d值为定值;v为沿标定板中轴线的单位方向向量,K为目标相机的内参矩阵,Proj函数为(x,y,z)→(x/z,y/z)。
[0131] 具体的,可以针对每张图像,将该图像中检测得到的每个交点的二维坐标代入上述公式(1)和(2),得到v和P0的值,然后通过公式(1)得到各Pi的值。
[0132] 例如,如图6所示,610为相机,p0、p1、p2、p3为图像中检测得到的交点,P0、P1、P2、P3为各交点p0、p1、p2、p3对应的三维点。(u0,v0)为图像中最高点处交点p0的二维坐标。
[0133] S440:根据每个三维点在相机坐标系中的三维坐标信息,选择处于同一高度的目标三维点,并根据目标三维点构建目标平面,将目标平面的方向向量确定为车辆坐标系的Z轴表示;车辆坐标系的X轴为沿车辆前后轮连线朝车辆行进方向,Y轴与X轴位于同一平面且朝车辆左侧,Z轴与X轴与Y轴组成的平面垂直且朝上。
[0134] 通过步骤S430能够得到三列空间中的三维点的坐标Pi(Xi,Yi,Zi)。将统一高度的三个点连接起来可以构成一个平面。该平面可以用(N,d)表示,N为平面方向量,d是平面和坐标原点的距离。
[0135] 该平面与地面平行,因为无人驾驶车辆停放在平面上,因此,车辆坐标系的Z轴即为:Z=N。
[0136] 如图7所示,当在像平面检测到四个交点,也即前述步骤中在每个图像均检测到四个交点时,通过三个图像中交点对应的三维点,可以确定出四个平面710、720、730、740。可以将任一平面的方向向量确定为车辆坐标系的Z轴表示。
[0137] S450:根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及车辆坐标系的Z轴表示,确定车辆坐标系的X轴表示和Y轴表示;第一图像和第二图像为将标定板放置于与无人驾驶车辆的预设部件处于同一直线的两个位置后,目标相机分别采集的图像;预设部件与目标相机相对应。
[0138] 当目标相机为前视相机或后视相机时,由于前两次放置的标定板与车辆前后车轮位于同一直线,且车辆坐标系的X轴也与车辆前后车轮位于同一直线,因此,通过前两次图像对应的交点可以确定车辆坐标系的X轴表示。
[0139] 具体的,可以根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,计算第一图像对应的三维点的第一平均点的第一均值坐标,以及第二图像对应的三维点的第二平均点的第二均值坐标;进而根据第一平均点的第一均值坐标,以及第二平均点的第二均值坐标,将第一平均点和第二平均点的连线确定为车辆坐标系的X轴表示;其中,采集第一图像时标定板所处位置与无人驾驶车辆的间距,小于采集第一图像时标定板所处位置与无人驾驶车辆的间距。
[0140] 例如,当第一平均点和第二平均点分别为Pi,Pj时,由于前两次放置标定板的位置均在前后车轮外边缘相连的直线上,所以连接第一次的点Pi和第二次板上等高的点Pj,即得到X轴方向:
[0141] X=Pi‑Pj
[0142] 得到车辆坐标系的Z轴表示和X轴表示后,可以根据车辆坐标系的Z轴表示和X轴表示,确定车辆坐标系的Y轴表示。
[0143] 具体的,车辆坐标系的Y轴表示可以为:
[0144] Y=cross(Z,X)
[0145] cross为叉乘函数。
[0146] 当目标相机为侧左前视相机、侧右前视相机、侧左后视相机或侧右后视相机时,由于前两次放置的标定板与车头切线或车尾切线位于同一直线,且车辆坐标系的Y轴也与车头切线或车尾切线位于同一直线,因此,通过前两次图像对应的交点可以确定车辆坐标系的Y轴表示。
[0147] 具体的,可以根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,计算第一图像对应的三维点的第一平均点的第一均值坐标,以及第二图像对应的三维点的第二平均点的第二均值坐标;进而根据第一平均点的第一均值坐标,以及第二平均点的第二均值坐标,将第一平均点和第二平均点的连线确定为车辆坐标系的Y轴表示;其中,采集第一图像时标定板所处位置与无人驾驶车辆的间距,小于采集第一图像时标定板所处位置与无人驾驶车辆的间距。
[0148] 例如,当第一平均点和第二平均点分别为Pi,Pj时,由于前两次放置标定板的位置与车头切线或车尾切线在同一直线上,所以连接第一次的点Pi和第二次板上等高的点Pj,即得到Y轴方向:
[0149] Y=Pi‑Pj
[0150] 得到车辆坐标系的Z轴表示和Y轴表示后,可以根据车辆坐标系的Z轴表示和Y轴表示,确定车辆坐标系的X轴表示。
[0151] 具体的,车辆坐标系的X轴表示可以为:
[0152] X=cross(Z,Y)。
[0153] S460:根据车辆坐标系的Z轴表示、X轴表示和Y轴表示,构建车辆坐标系和相机坐标系之间的旋转矩阵。
[0154] 例如,车辆坐标系和相机坐标系之间的旋转矩阵可以构建为R=(X,Y,Z)。
[0155] S470:获取根据测距设备得到的目标相机距离无人驾驶车辆车头的距离;根据第一图像和第二图像对应的三维点的三维坐标信息,计算目标相机到无人驾驶车辆车身左侧的距离;根据除第一图像和第二图像之外的第三图像对应的三维点的三维坐标信息,计算目标相机到无人驾驶车辆车身右侧的距离;根据旋转矩阵、标定板的高度、以及任一图像中检测得到的最高处交点的高度,计算目标相机的高度。
[0156] 在本发明实施例中,目标相机到车辆车头的距离可以通过单线激光测距器测量得到。例如,如图8所示,相机到车辆车头的距离即为如图中线段810所示距离。
[0157] 具体的,针对前视相机或后视相机,可以根据除第一图像和第二图像之外的第三图像对应的三维点的三维坐标信息,计算第三图像对应的三维点的第三平均点的第三均值坐标。
[0158] 也就是说,可以计算得到第一平均点的第一均值坐标、第二平均点的第二均值坐标、和第三平均点的第三均值坐标。此时,可以将第一均值坐标和第二均值坐标中沿Y轴坐标值的均值,确定为目标相机到无人驾驶车辆车身左侧的距离;将第三均值坐标中沿Y轴坐标值的均值,确定为目标相机到无人驾驶车辆车身右侧的距离。
[0159] 例如,当计算得到第一平均点Pi、第二平均点Pj、和第三平均点Pk时,目标相机到车辆车身左侧的距离可以表示为:
[0160] D_left=Absolute((Piy+Pjy)/2)
[0161] 目标相机到车辆车身右侧的距离可以表示为:
[0162] D_right=Absolute(Pky)
[0163] 其中Absolute表示取绝对值。
[0164] 当目标相机为侧左前视相机或侧左后视相机时,目标相机到车辆车身左侧的距离即为0,目标相机到车辆车身右侧的距离即为车辆宽度。当目标相机为侧右前视相机或侧右后视相机时,目标相机到车辆车身左侧的距离即为车辆宽度,目标相机到车辆车身右侧的距离即为0。
[0165] 计算目标相机高度时,在一种实现方式中,可以构建相机坐标系对应的位移T=transpose(R)*P0;之后将目标相机的高度H确定为:
[0166] H=‑T(2)+D
[0167] R为旋转矩阵,transpose(R)为求R的转置矩阵,P0为任一图像中检测得到的最高处交点的高度,D为标定板的高度。
[0168] 或者,可以将目标相机的高度表示为:
[0169] camera_height=‑T(2)+board_height
[0170] camera_height为目标相机高度,board_height为标定板的高度。
[0171] 由上述内容可知,本发明实施例提供的用于无人驾驶车辆的相机标定方法,可以获取针对目标相机采集的三张包括标定板的图像;目标相机为无人驾驶车辆中安装的任一相机;标定板包括按预设方式排列的黑白格子图案;各图像为分别将标定板放置于与目标相机对应的预设位置后目标相机采集的图像;分别检测每张图像中位于标定板中轴线处黑白格子的交点,得到每个交点在各图像中的二维坐标信息;根据每个交点在各图像中的二维坐标信息、目标相机的内参矩阵、以及每个格子的间距,计算每个交点在标定板上对应的三维点在相机坐标系中的三维坐标信息;根据每个三维点在相机坐标系中的三维坐标信息,选择处于同一高度的目标三维点,并根据目标三维点构建目标平面,将目标平面的方向向量确定为车辆坐标系的Z轴表示;车辆坐标系的X轴为沿车辆前后轮连线朝车辆行进方向,Y轴与X轴位于同一平面且朝车辆左侧,Z轴与X轴与Y轴组成的平面垂直且朝上;根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及车辆坐标系的Z轴表示,确定车辆坐标系的X轴表示和Y轴表示;第一图像和第二图像为将标定板放置于与无人驾驶车辆的预设部件处于同一直线的两个位置后,目标相机分别采集的图像;预设部件与目标相机相对应;根据车辆坐标系的Z轴表示、X轴表示和Y轴表示,构建车辆坐标系和相机坐标系之间的旋转矩阵;获取根据测距设备得到的目标相机距离无人驾驶车辆车头的距离;根据第一图像和第二图像对应的三维点的三维坐标信息,计算目标相机到无人驾驶车辆车身左侧的距离;根据除第一图像和第二图像之外的第三图像对应的三维点的三维坐标信息,计算目标相机到无人驾驶车辆车身右侧的距离;根据旋转矩阵、标定板的高度、以及任一图像中检测得到的最高处交点的高度,计算目标相机的高度,因此能够基于标定板完成对无人驾驶车辆中相机的标定,标定板安装简便且可以随身携带,使用标定板对相机进行标定时,只需要将无人驾驶车辆停放在较为空旷的平地上,采集到满足条件的图像即可,不需要去到专用的标定场地,因此能够提高相机标定的便捷性。并且,专用的标定场地建设费用昂贵,本方案中使用的标定设备成本较低,能够降低相机标定的成本。
[0172] 如图9所示,本发明实施例提供的一种用于无人驾驶车辆的相机标定装置包括:
[0173] 图像获取模块910,用于获取针对目标相机采集的三张包括标定板的图像;所述目标相机为所述无人驾驶车辆中安装的任一相机;所述标定板包括按预设方式排列的黑白格子图案;各所述图像为分别将所述标定板放置于与所述目标相机对应的预设位置后所述目标相机采集的图像;
[0174] 交点检测模块920,用于分别检测每张所述图像中位于所述标定板中轴线处黑白格子的交点,得到所述每个交点在各所述图像中的二维坐标信息;
[0175] 坐标转换模块930,用于根据所述每个交点在各所述图像中的二维坐标信息、所述目标相机的内参矩阵、以及所述每个格子的间距,计算所述每个交点在所述标定板上对应的三维点在所述相机坐标系中的三维坐标信息;
[0176] 平面构建模块940,用于根据所述每个三维点在所述相机坐标系中的三维坐标信息,选择处于同一高度的目标三维点,并根据所述目标三维点构建目标平面,将所述目标平面的方向向量确定为车辆坐标系的Z轴表示;所述车辆坐标系的X轴为沿车辆前后轮连线朝车辆行进方向,Y轴与X轴位于同一平面且朝车辆左侧,Z轴与X轴与Y轴组成的平面垂直且朝上;
[0177] 坐标映射模块950,用于根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及所述车辆坐标系的Z轴表示,确定所述车辆坐标系的X轴表示和Y轴表示;所述第一图像和所述第二图像为将所述标定板放置于与所述无人驾驶车辆的预设部件处于同一直线的两个位置后,所述目标相机分别采集的图像;所述预设部件与所述目标相机相对应;
[0178] 矩阵构建模块960,用于根据所述车辆坐标系的Z轴表示、X轴表示和Y轴表示,构建所述车辆坐标系和所述相机坐标系之间的旋转矩阵;
[0179] 距离计算模块970,用于获取根据测距设备得到的所述目标相机距离所述无人驾驶车辆车头的距离;根据所述第一图像和所述第二图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身左侧的距离;根据除所述第一图像和所述第二图像之外的第三图像对应的三维点的三维坐标信息,计算所述目标相机到所述无人驾驶车辆车身右侧的距离;根据所述旋转矩阵、所述标定板的高度、以及任一所述图像中检测得到的最高处交点的高度,计算所述目标相机的高度。
[0180] 作为本发明实施例的一种实施方式,所述坐标转换模块930,具体用于针对每张所述图像中检测得到的每个交点,根据以下公式,计算该图像中检测得到的每个交点在所述标定板上对应的三维点在所述相机坐标系中的三维坐标信息:
[0181] Pi=P0+i*d*v
[0182] pi=Proj(K*Pi)
[0183] 其中,Pi为第i个交点pi对应的三维点,P0为该图像中检测得到的最高处的交点对应的三维点,i为整数,d为相邻三维点Pi之间的距离,v为沿所述标定板中轴线的单位方向向量,K为所述目标相机的内参矩阵,Proj函数为(x,y,z)→(x/z,y/z)。
[0184] 作为本发明实施例的一种实施方式,所述距离计算模块970,具体用于:
[0185] 构建所述相机坐标系对应的位移T=transpose(R)*P0;
[0186] 将所述目标相机的高度H确定为:
[0187] H=‑T(2)+D
[0188] R为所述旋转矩阵,transpose(R)为求R的转置矩阵,P0为任一所述图像中检测得到的最高处交点的高度,D为所述标定板的高度。
[0189] 作为本发明实施例的一种实施方式,所述预设位置位于所述目标相机采集范围;
[0190] 所述目标相机为所述无人驾驶车辆中前视相机或后视相机,所述预设位置为:所述标定板中轴线与所述无人驾驶车辆左侧前后轮外边缘线处于同一直线的第一位置和第二位置,以及所述标定板中轴线与所述无人驾驶车辆右侧前后轮外边缘线处于同一直线的第三位置;
[0191] 所述目标相机为所述无人驾驶车辆中侧左前视相机或侧右前视相机,所述预设位置为:所述标定板中轴线与所述无人驾驶车辆车头切线处于同一直线的第四位置和第五位置,以及距离所述第四位置和所述第五位置的连线大于预设距离阈值的第六位置;所述第四位置和所述第五位置的间距大于所述预设距离阈值;
[0192] 所述目标相机为所述无人驾驶车辆中侧左后视相机或侧右后视相机,所述预设位置为:所述标定板中轴线与所述无人驾驶车辆车尾切线处于同一直线的第七位置和第八位置,以及距离所述第七位置和所述第八位置的连线大于预设距离阈值的第九位置;所述第七位置和所述第八位置的间距大于所述预设距离阈值。
[0193] 作为本发明实施例的一种实施方式,所述目标相机为所述无人驾驶车辆中前视相机或后视相机,所述坐标映射模块950包括:
[0194] 第一均值坐标计算子模块,用于根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,计算所述第一图像对应的三维点的第一平均点的第一均值坐标,以及所述第二图像对应的三维点的第二平均点的第二均值坐标;
[0195] 第一X轴确定子模块,用于根据所述第一平均点的第一均值坐标,以及所述第二平均点的第二均值坐标,将所述第一平均点和所述第二平均点的连线确定为所述车辆坐标系的X轴表示;其中,采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距,小于采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距;
[0196] 第一Y轴确定子模块,用于根据所述车辆坐标系的Z轴表示和X轴表示,确定所述车辆坐标系的Y轴表示。
[0197] 作为本发明实施例的一种实施方式,所述距离计算模块970包括:
[0198] 左侧距离计算子模块,用于将所述第一均值坐标和所述第二均值坐标中沿Y轴坐标值的均值,确定为所述目标相机到所述无人驾驶车辆车身左侧的距离;
[0199] 右侧距离计算子模块,用于根据除所述第一图像和所述第二图像之外的第三图像对应的三维点的三维坐标信息,计算所述第三图像对应的三维点的第三平均点的第三均值坐标;将所述第三均值坐标中沿Y轴坐标值的均值,确定为所述目标相机到所述无人驾驶车辆车身右侧的距离。
[0200] 作为本发明实施例的一种实施方式,所述坐标映射模块950包括:
[0201] 第二均值坐标计算子模块,用于根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,计算所述第一图像对应的三维点的第一平均点的第一均值坐标,以及所述第二图像对应的三维点的第二平均点的第二均值坐标;
[0202] 第二Y轴确定子模块,用于根据所述第一平均点的第一均值坐标,以及所述第二平均点的第二均值坐标,将所述第一平均点和所述第二平均点的连线确定为所述车辆坐标系的Y轴表示;其中,采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距,小于采集所述第一图像时所述标定板所处位置与所述无人驾驶车辆的间距;
[0203] 第二X轴确定子模块,用于根据所述车辆坐标系的Z轴表示和Y轴表示,确定所述车辆坐标系的X轴表示。
[0204] 由上述内容可知,本发明实施例提供的用于无人驾驶车辆的相机标定装置,可以获取针对目标相机采集的三张包括标定板的图像;目标相机为无人驾驶车辆中安装的任一相机;标定板包括按预设方式排列的黑白格子图案;各图像为分别将标定板放置于与目标相机对应的预设位置后目标相机采集的图像;分别检测每张图像中位于标定板中轴线处黑白格子的交点,得到每个交点在各图像中的二维坐标信息;根据每个交点在各图像中的二维坐标信息、目标相机的内参矩阵、以及每个格子的间距,计算每个交点在标定板上对应的三维点在相机坐标系中的三维坐标信息;根据每个三维点在相机坐标系中的三维坐标信息,选择处于同一高度的目标三维点,并根据目标三维点构建目标平面,将目标平面的方向向量确定为车辆坐标系的Z轴表示;车辆坐标系的X轴为沿车辆前后轮连线朝车辆行进方向,Y轴与X轴位于同一平面且朝车辆左侧,Z轴与X轴与Y轴组成的平面垂直且朝上;根据第一图像和第二图像中检测得到的交点对应的三维点的三维坐标信息,以及车辆坐标系的Z轴表示,确定车辆坐标系的X轴表示和Y轴表示;第一图像和第二图像为将标定板放置于与无人驾驶车辆的预设部件处于同一直线的两个位置后,目标相机分别采集的图像;预设部件与目标相机相对应;根据车辆坐标系的Z轴表示、X轴表示和Y轴表示,构建车辆坐标系和相机坐标系之间的旋转矩阵;获取根据测距设备得到的目标相机距离无人驾驶车辆车头的距离;根据第一图像和第二图像对应的三维点的三维坐标信息,计算目标相机到无人驾驶车辆车身左侧的距离;根据除第一图像和第二图像之外的第三图像对应的三维点的三维坐标信息,计算目标相机到无人驾驶车辆车身右侧的距离;根据旋转矩阵、标定板的高度、以及任一图像中检测得到的最高处交点的高度,计算目标相机的高度,因此能够基于标定板完成对无人驾驶车辆中相机的标定,标定板安装简便且可以随身携带,使用标定板对相机进行标定时,只需要将无人驾驶车辆停放在较为空旷的平地上,采集到满足条件的图像即可,不需要去到专用的标定场地,因此能够提高相机标定的便捷性。并且,专用的标定场地建设费用昂贵,本方案中使用的标定设备成本较低,能够降低相机标定的成本。
[0205] 上述装置实施例与方法实施例相对应,与该方法实施例具有同样的技术效果,具体说明参见方法实施例。装置实施例是基于方法实施例得到的,具体的说明可以参见方法实施例部分,此处不再赘述。
[0206] 本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
[0207] 本领域普通技术人员可以理解:实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0208] 最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。