鱼眼相机自动标定方法与流程

文档序号:22616808发布日期:2020-10-23 19:17阅读:120来源:国知局
鱼眼相机自动标定方法与流程

本发明涉及计算机图像分析处理领域,具体涉及自动驾驶领域的摄像机参数校准技术,特别涉及一种车载鱼眼相机自动标定方法和装置。



背景技术:

随着计算机视觉技术的快速发展和移动硬件处理能力的不断提升,计算机视觉在自动驾驶方面得到不断的应用并逐渐发挥出愈加重要的作用。鱼眼相机由于其超大广角的优点在车载相机市场中得到广泛应用。

为了达到较大的摄影视角,鱼眼相机的前镜片直径很短且呈抛物状向镜头前部凸出,类似鱼的眼睛,其视角能够接近或等于180°,“鱼眼相机”因此而得名。但是,较大的视角也伴随着较大的畸变,这导致鱼眼相机在实际使用中存在一些特殊的技术难题,普通车载相机的标定方法无法保证去畸变后的效果,因而不能满足车载鱼眼相机的标定需要。然而在自动驾驶中,相机标定又是视觉功能中非常基础的工作,是不可或缺的环节,其标定精度以及实时性好坏对自动驾驶的视觉功能将产生直接的影响。特别地,自动驾驶中基于鱼眼相机的顶视图拼接,尤其是视觉测距等功能对车载鱼眼相机的标定结果有很高的精度要求。低精度、甚至是错误的标定结果不仅影响用户体验,甚至还会给驾驶的安全带来隐患。因此,车载鱼眼相机的标定是目前车载相机标定研究的重点,也是难点。

现有的相机标定方法有人工手动标定和基于棋盘格检测、基于直线检测、基于角点检测的自动标定方法等。

其中,人工手动标定大多数使用棋盘格作为标定图案,如张氏标定法和scaramuzza标定法等。人工手动标定方法具有精度高,鲁棒性好的优点,但人工手动选点耗费时间长,效率低,并不适用于产线标定等有大批量需求的应用场景。

基于棋盘格检测的自动标定方法由于存在冗余棋盘格角点,会给角点检测算法带来干扰,因此存在角点误检、少检和棋盘生成错误等问题,此外,所述方法对标定场景要求高,实用性较低。

基于直线检测的方案需要检测出一定数量的不共线直线,且优化时间复杂度高,相对耗时较大,同样不适合产线标定等实时性要求高的场景。

为了解现有技术的发展状况,本发明对已有的专利和论文进行了检索、比较和分析:

技术方案1:专利文献cn107622513a(“一种拼缝标定点检测装置及环视系统自动标定方法”)在顶视图拼缝处放置大小相同的方形图案,利用面积排除非方格轮廓,排除干扰,在相机图像中自动检测方形图案的角点,将检测出角点和世界坐标系下的角点建立方程组,能够求解出相机的外参。然而,该方法直接用鱼眼相机大畸变图像下的坐标联立方程组求解,给求解结果引入了误差。并且,该方法的标定结果虽然能够实现顶视图拼接,但是并不能满足视觉测距等高精度任务的需求。

技术方案2:专利文献cn109859279a(“一种基于线特征的车载360环视系统的流水线下线标定方法”)首先利用已标定的相机内参对大畸变鱼眼图去除畸变;然后进行透视投影图直线检测,检测图像中存在的直线,通过直接线变换法初步求解相机外参;最后,采用lm算法对标定结果进行优化,得到最终结果。但是,该方法需要至少检测4条不共线的直线,这提高了标定成功的要求,因而实际应用场合中实现难度大。另外,所述方法优化部分需要大量的计算和多次迭代,时间复杂性高,系统计算消耗大,无法满足产线标定的高实时性要求。

技术方案3:专利文献cn104751409a(“汽车全景影像的标定系统、形成系统和标定方法”)将车辆行驶到标定场地的预设位置,利用车身周围多个相机采集标定图案信息,获取图像信息中多个标定点的图像像素信息,利用采集图案得到的角点像素坐标和根据标定场地计算出的角点像素坐标联立方程组求解变换矩阵。但是,该方法提出的汽车标定方法至少需要6个相机,大大提高了标定成本和处理时间。并且,所述方法并没有考虑相机畸变带来的误差,标定精度无法满足实际自动驾驶中视觉测距的要求。

技术方案4:论文“a.geiger,f.moosmann,carandb.schuster,automaticcameraandrangesensorcalibrationusingasingleshot,2012ieeeinternationalconferenceonroboticsandautomation,saintpaul,mn,2012,pp.3936-3943.”首先利用自定义模板进行卷积操作检测角点,再使用非极大值抑制获得极大值候选点,然后对这些角点进行亚像素级细化,之后对每个角点进行评分,筛选出最终的角点。利用筛选出的角点初始化一个3*3的角点矩阵作为初始棋盘格,利用自定义的能量函数从棋盘的四个方向生长棋盘格,取其中能量最小的方向作为新的棋盘格,以此类推最后得到最优化棋盘格阵列,利用棋盘格阵列和棋盘格的物理尺寸进行标定。然而,首先,该方法计算量大,生成棋盘格需要大约一分钟的时间,在产线自动标定时效率低。其次,该方法鲁棒性差,容易检测错误或是生成错误的棋盘格从而导致标定结果错误。

可见,现有技术中对鱼眼相机自动标定技术的研究尚不能很好地适应自动驾驶中车载鱼眼相机的标定需要。因此,如何实现对鱼眼相机进行自动标定,以满足产线自动标定时的高精度和高实时性需求,成为鱼眼相机标定中亟待解决的技术问题。



技术实现要素:

本发明致力于对鱼眼相机进行自动标定的研究,提出一种实现鱼眼相机自动标定的方案,使得对鱼眼相机的自动标定能够满足产线自动标定时的高精度和高实时性需求,为完善自动驾驶中的视觉功能提供保障。

基于上述发明目的,本发明提出一种新的利用简单标定图案的鱼眼相机自动标定方法。

为解决上述技术问题,根据本发明的一个方面,提供了一种鱼眼相机自动标定方法,包括以下步骤:

步骤1)、读取预处理配置文件和鱼眼相机模型参数;

步骤2)、基于图像分割提取角点坐标;

步骤3)、基于鱼眼相机模型对角点坐标去畸变;

步骤4)、由去畸变角点坐标和对应顶视图坐标求透视变换矩阵;

步骤5)、利用相机内参和透视变换矩阵求取顶视图查找表;

步骤6)、保存透视变换矩阵和查找表至配置文件,获得相机标定结果。

优选地,所述鱼眼相机模型为mei相机模型;

在自动标定之前,需要进行预处理,所述预处理是整体标定流程的离线处理部分。

优选地,对于相同的标定场地,所述预处理仅需要执行一次,所述自动标定过程无需再次执行所述预处理。

优选地,通过所述预处理获得所述自动标定过程所必须的配置信息。

优选地,标定场地中包含有多个标定图案,标定图案颜色与背景颜色为对比度明显的两种颜色。

优选地,所述标定图案颜色与背景颜色分别为白色和黑色。

优选地,所述标定图案是角点便于提取且角点物理坐标容易计算的图案。

优选地,所述标定图案是菱形、矩形、平行四边形或三角形。

优选地,所述标定图案目标为白色菱形块,背景为黑色,且目标与背景面积接近。

优选地,所述标定场地使用不易反光的材质。

优选地,预处理时,车辆停在标定场地中间空白区域的指定位置,四个鱼眼相机分别位于车辆四个方向上,所述四个鱼眼相机按如下方式配置:所述四个方向上的每个所述鱼眼相机,都能拍摄到三个菱形标定图案。

优选地,所述预处理包括如下步骤:

步骤0.1)、读取车辆尺寸、标定场地尺寸、标定图形参数信息;首先根据这些信息计算出菱形顶点与车辆的相对物理距离;之后根据中间矩形空白区长和宽的像素长度和其代表的物理长度计算出单位像素代表的实际距离;最后根据单位像素代表的实际距离和顶视图的尺寸,计算出各个顶点在真实物理空间中的物理坐标(ut,vt);

步骤0.2)、在相机原始图上分别选择每个菱形区域的外接矩形,将外接矩形扩大两个不同的尺寸,获得一大一小两个包含菱形图案的矩形;以便仅在矩形区域内进行图像分割;

步骤0.3)、在矩形区域内进行图像分割,计算分割出的菱形区域特征和角点坐标;

步骤0.4)、将两个矩形区域特征、菱形区域特征和真实世界中角点的物理坐标保存在预处理配置文件中。

优选地,所述菱形区域特征包括菱形区域中心点坐标范围、菱形区域像素数量范围,根据这些特征,在自动标定过程中从分割出的区域中筛选出最优区域。

优选地,所述基于图像分割提取角点坐标包括:

步骤2.1)、采用最大类间方差进行自适应阈值图像分割,通过最大类间方差法计算当前图片的阈值,根据阈值进行图像分割,获得多个备选区域;

步骤2.2)、利用“t”形滤波器对图片进行卷积操作,不断检测、合并连通的备选区域;

步骤2.3)、利用预处理配置文件中读取的菱形区域信息特征筛选出最符合所有特征的备选区域作为最优解。

优选地,每张图片中需提取的角点数量不少于4个。

优选地,所述角点数量为6个;分别提取相机图片中三个菱形的上下顶点作为角点,即将分割所得区域的最上一条边和最下一条边的中点作为角点,获得原图角点像素坐标(us,vs)。

优选地,所述基于图像分割提取角点坐标包括:

使用基于边缘的图像分割方法或基于区域的图像分割方法提取角点坐标。

优选地,所述基于鱼眼相机模型对角点坐标去畸变包括:

所述鱼眼相机模型为mei相机模型;所述mei模型使用omnidirectional相机模型和radtan畸变模型,omnidirectional模型是一种全向相机投影模型,描述了相机坐标系和图像坐标系的投影关系。radtan是一种相机畸变模型,描述了相机成像过程中畸变点和去畸变点之间的关系。故mei参数包括omnidirectional模型参数:δ,fx,fy,cx,cy和radtan参数:k1k2k3p1p1;坐标转换公式和畸变公式分别如(1)和(2)所示:

其中,x,y表示归一化平面上不带畸变的坐标,xdistorted,ydistorted表示带有畸变的坐标。

去畸变逆操作distorted(),即由去畸变坐标获得带有畸变的坐标;首先,根据公式(1)将图像坐标转换到相机坐标系下的归一化坐标(xs,ys,zs),然后,根据畸变公式(2)引入畸变,将归一化坐标变换为带有畸变的坐标(xdistorted,ydistorted),再根据相机坐标系到像素坐标系的转换公式(3),通过相机的内参矩阵,将畸变坐标转换为对应的图像坐标(u,v):

其中表示相机的内参矩阵。

去畸变操作undistorted(),与其逆操作类似,先将图像坐标转化为相机坐标系下的球面坐标,与添加畸变不同的是,要对球面坐标进行去畸变处理,由公式(2)得去畸变公式(4)

基于公式(4)使用迭代法进行去畸变操作。

优选地,所述由去畸变角点坐标和对应顶视图坐标求透视变换矩阵包括:

根据去畸变操作undistorted(),对原图提取的角点坐标(us,vs)做去畸变操作得到去畸变角点坐标(u′s,v′s);

根据去畸变角点坐标(u′s,v′s)和预处理配置文件中的顶视图角点坐标(ut,vt)建立超定方程组,如公式(5)所示,

然后利用最小二乘法求解该超定方程组,计算得到一个3*3的由顶视图到畸变图的透视变换矩阵r。

优选地,所述顶视图查找表代表的是顶视图上的一点与相机拍摄的原始图上的一点的对应关系。

优选地,所述利用相机内参和透视变换矩阵求取顶视图查找表包括:

步骤5.1)、输入顶视图坐标;

步骤5.2)、以固定步长对顶视图像素坐标做网格化处理,获得网格点像素坐标pg;将顶视图分割成以固定步长为单位的正方形网格,根据单位像素代表的实际物理距离,将网格点像素坐标pg变换成物理坐标,获得顶视图下的物理坐标pt;

步骤5.3)、根据公式(6)对网格点坐标pt做透视变换,获得去畸变坐标pt’;其中r是由公式(5)求得的透视变换矩阵;由公式(7)对去畸变坐标加入畸变,其中,distorted()是去畸变逆操作;

pt′=r*pt(6)

ps=distorted(pt′)(7)

获得顶视图分割出正方形网格点与原始图点的对应关系。

步骤5.4)、计算网格点坐标pt与其对应原始图坐标ps的差值diff,如公式(8)所示:

diff=pt-ps(8)

基于双线性差值对每一个网格块中像素的差值diff进行插值操作,获得顶视图中每一点与其对应原始图点的差值,根据差值计算出完整的顶视图查找表;

步骤5.5)、输出所述顶视图查找表。

优选地,所述固定步长取值在[25,30]像素范围内。

优选地,所述固定步长为30像素。

优选地,车辆安装四个鱼眼相机,分别位于车辆的前、后、左、右四个位置;对所述四个鱼眼相机进行的并行或串行的自动标定,四个相机分别采集各自方向的原始图像后进行各自相机的自动标定。

优选地,如果识别角点错误或者是识别角点坐标与经验值相差较大,则退出自动标定过程重新进行标定,如果多次标定不成功则发出错误提示,排除干扰项后再重新进行标定。

优选地,所述经验值是能够反映正确识别出的角点坐标的平均值;

当四个相机全部标定成功则整车自动标定成功。

为解决上述技术问题,根据本发明的另一个方面,提供了一种鱼眼相机自动标定装置,包括:

参数读取装置,读取预处理配置文件和鱼眼相机模型参数;

角点坐标提取装置,基于图像分割提取角点坐标;

去畸变装置,基于鱼眼相机模型对角点坐标去畸变;

透视变换装置,由去畸变角点坐标和对应顶视图坐标求透视变换矩阵;

查找表获取装置,利用相机内参和透视变换矩阵求取顶视图查找表;

标定结果获取装置,保存透视变换矩阵和查找表至配置文件,获得相机标定结果。

优选地,在自动标定之前,需要进行预处理,所述预处理是整体标定流程的离线处理部分。

优选地,对于相同的标定场地,所述预处理仅需要执行一次,所述自动标定过程无需再次执行所述预处理。

优选地,通过所述预处理获得所述自动标定过程所必须的配置信息。

优选地,标定场地中包含有多个标定图案,标定图案颜色与背景颜色为对比度明显的两种颜色。

优选地,所述标定图案颜色与背景颜色分别为白色和黑色。

优选地,所述标定图案是角点便于提取且角点物理坐标容易计算的图案。

优选地,所述标定图案是菱形、矩形、平行四边形或三角形。

优选地,所述标定图案目标为白色菱形块,背景为黑色,且目标与背景面积接近。

优选地,所述标定场地使用不易反光的材质。

优选地,预处理时,车辆停在标定场地中间空白区域的指定位置,四个鱼眼相机分别位于车辆四个方向上,所述四个鱼眼相机按如下方式配置:所述四个方向上的每个所述鱼眼相机,都能拍摄到三个菱形标定图案。

优选地,所述预处理包括如下步骤:

步骤0.1)、读取车辆尺寸、标定场地尺寸、标定图形参数信息;首先根据这些信息计算出菱形顶点与车辆的相对物理距离;之后根据中间矩形空白区长和宽的像素长度和其代表的物理长度计算出单位像素代表的实际距离;最后根据单位像素代表的实际距离和顶视图的尺寸,计算出各个顶点在真实物理空间中的物理坐标(ut,vt);

步骤0.2)、在相机原始图上分别选择每个菱形区域的外接矩形,将外接矩形扩大两个不同的尺寸,获得一大一小两个包含菱形图案的矩形;以便仅在矩形区域内进行图像分割;

步骤0.3)、在矩形区域内进行图像分割,计算分割出的菱形区域特征和角点坐标;

步骤0.4)、将两个矩形区域特征、菱形区域特征和真实世界中角点的物理坐标保存在预处理配置文件中。

优选地,所述菱形区域特征包括菱形区域中心点坐标范围、菱形区域像素数量范围,根据这些特征,在自动标定过程中从分割出的区域中筛选出最优区域。

优选地,所述基于图像分割提取角点坐标包括:

步骤2.1)、采用最大类间方差进行自适应阈值图像分割,通过最大类间方差法计算当前图片的阈值,根据阈值进行图像分割,获得多个备选区域;

步骤2.2)、利用“t”形滤波器对图片进行卷积操作,不断检测、合并连通的备选区域;

步骤2.3)、利用预处理配置文件中读取的菱形区域信息特征筛选出最符合所有特征的备选区域作为最优解。

优选地,每张图片中需提取的角点数量不少于4个。

优选地,所述角点数量为6个;分别提取相机图片中三个菱形的上下顶点作为角点,即将分割所得区域的最上一条边和最下一条边的中点作为角点,获得原图角点像素坐标(us,vs)。

优选地,所述基于图像分割提取角点坐标包括:

使用基于边缘的图像分割方法或基于区域的图像分割方法提取角点坐标。

优选地,所述基于鱼眼模型对角点坐标去畸变包括:

所述鱼眼相机模型为mei相机模型;所述mei模型使用omnidirectional相机模型和radtan畸变模型,omnidirectional模型是一种全向相机投影模型,描述了相机坐标系和图像坐标系的投影关系。radtan是一种相机畸变模型,描述了相机成像过程中畸变点和去畸变点之间的关系。故mei参数包括omnidirectional模型参数:δ,fx,fy,cx,cy和radtan参数:k1k2k3p1p1;坐标转换公式和畸变公式分别如(1)和(2)所示:

其中,x,y表示归一化平面上不带畸变的坐标,xdistorted,ydistorted表示带有畸变的坐标。

去畸变逆操作distorted(),即由去畸变坐标获得带有畸变的坐标;首先,根据公式(1)将图像坐标转换到相机坐标系下的归一化坐标(xs,ys,zs),然后,根据畸变公式(2)引入畸变,将归一化坐标变换为带有畸变的坐标(xdistorted,ydistorted),再根据相机坐标系到像素坐标系的转换公式(3),通过相机的内参矩阵,将畸变坐标转换为对应的图像坐标(u,v):

其中表示相机的内参矩阵。

去畸变操作undistorted(),与其逆操作类似,先将图像坐标转化为相机坐标系下的球面坐标,与添加畸变不同的是,要对球面坐标进行去畸变处理,由公式(2)得去畸变公式(4)

基于公式(4)使用迭代法进行去畸变操作。

优选地,所述由去畸变角点坐标和对应顶视图坐标求透视变换矩阵包括:

根据去畸变操作undistorted(),对原图提取的角点坐标(us,vs)做去畸变操作得到去畸变角点坐标(u′s,v′s);

根据去畸变角点坐标(u′s,v′s)和预处理配置文件中的顶视图角点坐标(ut,vt)建立超定方程组,如公式(5)所示,

然后利用最小二乘法求解该超定方程组,计算得到一个3*3的由顶视图到畸变图的透视变换矩阵r。

优选地,所述顶视图查找表代表的是顶视图上的一点与相机拍摄的原始图上的一点的对应关系。

优选地,所述利用相机内参和透视变换矩阵求取顶视图查找表包括:

步骤5.1)、输入顶视图坐标;

步骤5.2)、以固定步长对顶视图像素坐标做网格化处理,获得网格点像素坐标pg;将顶视图分割成以固定步长为单位的正方形网格,根据单位像素代表的实际物理距离,将网格点像素坐标pg变换成物理坐标,获得顶视图下的物理坐标pt;

步骤5.3)、根据公式(6)对网格点坐标pt做透视变换,获得去畸变坐标pt’;其中r是由公式(5)求得的透视变换矩阵;由公式(7)对去畸变坐标加入畸变,其中,distorted()是去畸变逆操作;

pt′=r*pt(6)

ps=distorted(pt′)(7)

获得顶视图分割出正方形网格点与原始图点的对应关系。

步骤5.4)、计算网格点坐标pt与其对应原始图坐标ps的差值diff,如公式(8)所示:

diff=pt-ps(8)

基于双线性差值对每一个网格块中像素的差值diff进行插值操作,获得顶视图中每一点与其对应原始图点的差值,根据差值计算出完整的顶视图查找表;

步骤5.5)、输出所述顶视图查找表。

优选地,所述固定步长取值在[25,30]像素范围内。

优选地,所述固定步长为30像素。

优选地,车辆安装四个鱼眼相机,分别位于车辆的前、后、左、右四个位置;对所述四个鱼眼相机进行的并行或串行的自动标定,四个相机分别采集各自方向的原始图像后进行各自相机的自动标定。

优选地,如果识别角点错误或者是识别角点坐标与经验值相差较大,则退出自动标定过程重新进行标定,如果多次标定不成功则发出错误提示,排除干扰项后再重新进行标定。

优选地,所述经验值是能够反映正确识别出的角点坐标的平均值;

当四个相机全部标定成功则整车自动标定成功。

本发明的有益效果:

1、能够在上位机上进行自动标定的预处理,获得自动标定需要的配置信息。

2、车辆出厂时,在产线上驶入标定场地固定位置,能够自动完成鱼眼相机标定功能,并将标定结果保存至配置文件。

3、能够利用标定结果计算顶视图查找表,基于四路鱼眼相机生成顶视图。

4、在车辆相机因为外力或其他因素导致相机外参变动时,能够在标定场地进行自动标定,获得正确的相机外参,重新计算顶视图查找表,覆盖原来的错误数据。

5、整个标定流程自动化,基于图像分割自动识别角点,自动计算透视变换矩阵,避免人工选点的麻烦,提高相机标定效率。

6、每一个相机都有自己唯一的、精确地mei参数,用于畸变校正和其逆操作,使得计算更加精确。

7、使用新型标定图案,去除棋盘格的冗余角点,提高角点识别的正确率,且标定场地简单,易于维护。

8、在指定区域内进行角点提取,避免角点误检并且降低检测时间,使得整个自动标定过程拥有更高的实时性。

9、对顶视图进行网格化处理,采用直接透视变换和双线性差值相结合的方式,更大提高计算效率的同时保证了生成顶视图的质量。

10、实时性好,使得自动标定即使在性能较低的移动处理器中也能满足产线标定的要求。

附图说明

附图示出了本发明的示例性实施方式,并与其说明一起用于解释本发明的原理,其中包括了这些附图以提供对本发明的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。通过结合附图对本发明的实施例进行详细描述,本发明的上述和其它目的、特征、优点将更加清楚。

图1是整体标定流程;

图2是标定场地示意图;

图3是预处理流程;

图4是生成顶视图查找表。

具体实施方式

下面结合附图和实施方式对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分。

需要说明的是,在不冲突的情况下,本发明中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本发明。

本发明的目的是提供一种车载鱼眼相机自动标定方法和装置。图1描述了本发明的整体标定流程。车载鱼眼相机自动标定方法包括以下步骤:

步骤一、读取预处理配置文件和mei相机模型参数;

步骤二、基于图像分割提取角点坐标;

步骤三、基于mei模型对角点坐标去畸变;

步骤四、由去畸变角点坐标和对应顶视图坐标求透视变换矩阵;

步骤五、利用相机内参和透视变换矩阵求取顶视图查找表;

步骤六、保存透视变换矩阵和查找表至配置文件,获得相机标定结果。

关于标定场地和预处理

标定场地中包含有多个标定图案,标定图案与背景颜色需使用对比度明显的两种颜色,以便能够快速、准确地将标定图案角点提取出来,例如白色和黑色。标定图案可以是角点便于提取且角点物理坐标容易计算的简单图案,本实施例以菱形为例进行说明。本领域技术人员应该知晓,所述图案并不只限于菱形,还可以是其他图案,只要能够容易提取角点和计算角点物理坐标即可,包括并不限于菱形、矩形、平行四边形、三角形等。标定场地应使用不易反光的材质如磨砂等,以避免反光给自动标定带来干扰。一种可行的标定场地示例如图2所示,自动标定时,车辆应停在中间空白区域的指定位置,位于车辆四个方向上的四个鱼眼相机,每个相机都能拍摄到三个菱形标定图案。

关于预处理,需要明确的是,预处理是整体标定流程的离线处理部分,对于相同的标定场地,仅需要一次处理以获得自动标定过程必须的配置信息,并非自动标定主流程的一个步骤,其流程如图3所示,包括如下步骤:

1、读取车辆尺寸、标定场地尺寸、标定图形参数等信息。以图2为例,首先根据这些信息计算出菱形顶点与车辆的相对物理距离,之后,根据中间矩形空白区长和宽的像素长度和其代表的物理长度计算出单位像素代表的实际距离,最后根据单位像素代表的实际距离和顶视图的尺寸,计算出各个顶点在真实物理空间中的物理坐标(ut,vt),真实物理空间的原点是顶视图左上角所在的点。

2、鼠标点选标定图案区域。在相机原始图上分别选择每个菱形区域的外接矩形,将外接矩形扩大两个不同的尺寸,获得一大一小两个包含菱形图案的矩形。以便仅在矩形区域内进行图像分割,可以排除干扰,并且提高识别角点效率。

3、在矩形区域内进行图像分割,图像分割的具体操作在5.2中详细说明,计算分割出的菱形区域特征和角点坐标。菱形区域的特征包括菱形区域中心点坐标范围,菱形区域像素数量范围,以便根据这些特征,在自动标定过程中从分割出的区域中筛选出最优区域。

4、将两个矩形区域特征、菱形区域特征和真实世界中角点的物理坐标保存在预处理配置文件中以备自动标定时使用。

基于图像分割提取角点坐标

1、基于标定图案的特征:标定图案简单,目标为白色菱形块,背景为黑色,且目标与背景面积相差不大。故采用最大类间方差进行自适应阈值图像分割。通过最大类间方差法计算当前图片的阈值,根据阈值进行图像分割,获得多个备选区域

2、利用“t”形滤波器对图片进行卷积操作,不断检测、合并连通的备选区域。

3、利用预处理配置文件中读取的菱形区域信息特征筛选出最符合所有特征的备选区域作为最优解。

每张图片中需提取不少于4个角点,可以提取多于4个角点,在同时考虑精度和处理时间的情况下,本专利以6个角点进行说明,分别提取相机图片中三个菱形的上下顶点作为角点,即将分割所得区域的最上一条边和最下一条边的中点作为角点,获得原图角点像素坐标(us,vs)。

除了使用基于阈值的图像分割方法,还可以使用其他图像分割方法代替,例如基于边缘的图像分割方法和基于区域的图像分割方法等。边缘检测主要是图像的灰度变化的度量、监测和定位,其实质就是提取图像中不连续部分的特征,边缘检测的结果是图像分割技术所依赖的重要特征。区域生长的基本思想是将具有相似性质的像素集合起来构成区域。具体先对每个需要分割的区域找一个种子像素作为生长的起点,然后将种子像素周围邻域中与种子像素具有相同或相似性质的像素合并到种子像素所在的区域中。将这些新像素当做新的种子像素继续进行上面的过程,直到再没有满足条件的像素可被包括进来,这样,一个区域就长成了。

基于鱼眼相机模型的去畸变操作及其逆操作

所述鱼眼相机模型为mei相机模型;mei模型使用omnidirectional相机模型和radtan畸变模型,omnidirectional模型是一种全向相机投影模型,描述了相机坐标系和图像坐标系的投影关系。radtan是一种相机畸变模型,描述了相机成像过程中畸变点和去畸变点之间的关系。故mei参数包括omnidirectional模型参数:δ,fx,fy,cx,cy和radtan参数:k1k2k3p1p1。坐标转换和畸变分别如公式(1)和(2)所示:

其中,x,y表示归一化平面上不带畸变的坐标,xdistorted,ydistorted表示带有畸变的坐标。

去畸变逆操作distorted(),即由去畸变坐标获得带有畸变的坐标:首先,根据公式(1)将图像坐标转换到相机坐标系下的归一化坐标(xs,ys,zs),之后,根据畸变公式(2)引入畸变,将归一化坐标变换为带有畸变的坐标(xdistorted,ydistorted),再根据相机坐标系到像素坐标系的转换公式(3),通过相机的内参矩阵,将畸变坐标转换为对应的图像坐标(u,v)。

其中表示相机的内参矩阵。

去畸变操作undistorted(),与其逆操作类似,先将图像坐标转化为相机坐标系下的球面座标,与添加畸变不同的是,要对球面坐标进行去畸变处理,由公式(2)可得去畸变公式(4),基于公式(4)使用迭代法进行去畸变操作。

由去畸变角点坐标和对应顶视图坐标求取透视变换矩阵

根据去畸变操作undistorted(),对原图提取的角点坐标(us,vs)做去畸变操作得到去畸变角点坐标(u′s,v′s)。

根据去畸变角点坐标(u′s,v′s)和预处理配置文件中的顶视图角点坐标(ut,vt)建立超定方程组,如公式(5)所示,然后利用最小二乘法求解该超定方程组,计算得到一个3*3的由顶视图到畸变图的透视变换矩阵r。

利用相机内参和透视变换矩阵求取顶视图查找表

利用相机内外参求取顶视图查找表流程如图4所示。

顶视图查找表代表的是顶视图上的一点与相机拍摄的原始图上的一点的对应关系。该流程图的输入是顶视图坐标,输出是顶视图查找表。

1、以固定步长对顶视图像素坐标做网格化处理,获得网格点像素坐标pg,默认步长为30像素,可根据需求和硬件条件调整,最好在[25,30]的范围内。即将顶视图分割成以30像素为单位的正方形网格,然后,根据单位像素代表的实际物理距离,将网格点像素坐标pg变换成物理坐标,获得顶视图下的物理坐标pt。

2、根据公式(6)对网格点坐标pt做透视变换,获得去畸变坐标pt’。其中r是5.4中求得的透视变换矩阵。然后,由公式(7),对去畸变坐标加入畸变,操作distorted()是去畸变的逆操作。

pt′=r*pt(6)

ps=distorted(pt′)(7)

3、目前为止,已经计算出顶视图分割出正方形网格点与原始图点的对应关系。之后,计算出网格点坐标pt与其对应原始图坐标ps的差值diff。即:

diff=pt-ps(8)

最后,基于双线性差值对每一个网格块中像素的差值diff进行插值操作,获得顶视图中每一点与其对应原始图点的差值,根据差值即可计算出完整的顶视图查找表。

关于整体自动标定

图1的流程图展示了单个相机的自动标定流程,整车完整的自动标定与单个相机自动标定过程类似。车辆共安装四个鱼眼相机,分别位于车辆的前、后、左、右四个位置。进行产线自动标定时,首先将车辆行驶到标定场地的指定区域,之后并行或者串行的进行四个相机的自动标定,四个相机分别采集本相机方向的原始图像,之后按照图1进行单个相机的自动标定。

如果识别角点错误或者是识别角点坐标与经验值相差较大,则退出程序重新进行标定过程,如果多次标定不成功则发出错误提示,此时可能是标定场地有其他干扰导致角点识别错误,需要人工排除干扰项后再重新进行标定。经验值是能够反映正确识别出的角点坐标的平均值。

当四个相机全部标定成功则整车自动标定成功,自动标定结束。

本发明提出的车载鱼眼相机自动标定方法,能够在上位机上进行自动标定的预处理,获得自动标定需要的配置信息。在车辆出厂时,在产线上驶入标定场地固定位置,能够自动完成鱼眼相机标定功能,并将标定结果保存至配置文件。能够利用标定结果计算顶视图查找表,基于四路鱼眼相机生成顶视图。在车辆相机因为外力或其他因素导致相机外参变动时,能够在标定场地进行自动标定,获得正确的相机外参,重新计算顶视图查找表,覆盖原来的错误数据。整个标定流程自动化,基于图像分割自动识别角点,自动计算透视变换矩阵,避免了人工选点的麻烦,提高了相机标定效率。

通过本发明的标定,每一个相机都有自己唯一的、精确地mei参数,用于畸变校正和其逆操作,使得计算更加精确。

本发明所使用的新型标定图案,去除棋盘格的冗余角点,提高角点识别的正确率,且标定场地简单,易于维护。并且,在指定区域内进行角点提取,避免了角点误检并且降低检测时间,使得整个自动标定过程拥有更高的实时性。对顶视图进行网格化处理,采用直接透视变换和双线性差值相结合的方式,更大提高计算效率的同时保证了生成顶视图的质量。通过上述对实时性的优化,本发明的自动标定方法复杂度降低了,系统计算消耗大大减少,即使在性能较低的移动处理器中也能满足产线标定的要求,具有广泛的应用前景。

由此可见,本发明提出的新的利用简单标定图案的鱼眼相机自动标定方法,解决了现有技术中对鱼眼相机自动标定技术的研究尚不能很好地适应自动驾驶中车载鱼眼相机的标定需要的技术问题,实现了对鱼眼相机的自动标定,并且能够满足产线自动标定时的高精度和高实时性需求,为完善自动驾驶中的视觉功能提供了保障。

至此,已经结合附图所示的优选实施方法描述了本发明的技术方案,但是,本领域技术人员应当理解,上述实施方式仅仅是为了清楚地说明本发明,而并非是对本发明的范围进行限定,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征作出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1