一种用于标定汽车环视系统的处理器的制作方法

文档序号:17050643发布日期:2019-03-05 20:04阅读:193来源:国知局
一种用于标定汽车环视系统的处理器的制作方法

本发明涉及一种带有计算机程序的处理器,尤其是涉及一种用于标定汽车环视系统的处理器。



背景技术:

随着汽车保有量的增加,交通环境的日益复杂,安全泊车已成为驾驶员的一个难题。为了降低泊车过程中潜在的安全风险,各种辅助泊车系统应运而生,如后视倒车摄像头、倒车雷达等系统,这些系统在一定程度上减轻驾驶员泊车负担,但是仍然存在不直观以及不能完全消除盲区的缺陷。360度环视系统通过多个摄像头覆盖车身四周360度的区域实现消除视觉盲区,同时360度环视系统将车身四周图像无缝拼接成一幅俯视画面呈现给驾驶员,因此表现更加直观。

360度环视系统在整辆车中的价值占比虽然并不高,但在工厂标定的时候却占据着重要的一环,原因是目前的标定方案还需要大量的人力参与,这增加了环视系统对整辆车的成本占比。价值占比/成本占比不够大,会影响环视系统的推广普及。下面介绍一下目前主流的工厂标定方案:

由于同款车型会存在装配偏差以及车身四周摄像头安装时会存在安装偏差,如果采用一组固定参数进行360度环视系统图像拼接,那么这些偏差会影响图像拼接效果,因此必须进行下线标定来消除这些偏差的影响。传统工厂标定方案存在如下问题:(1)对标定环境要求较高,比如需要将车停到固定的位置上,精度要求很高,这增加了工人操作的技术难度,占用了更多人力时间成本;(2)此方法难以应用到4s店标定,更加难以为驾驶员个人所用,间接的增加了潜在的购车成本。(3)一套安全便捷的自动标定方案有助于bev产品从前装市场走向后装市场,从增量市场过渡到存量市场。

事实上,摄像头的六个外参包括摄像头位置参数t:(tx,ty,tz)和旋转参数r:(rx,ry,rz),其中r:(rx,ry,rz)与3*3的旋转矩阵rt等价。它们的性质是不同的。从测量难度上分,tx,ty,tz的测量难度较小,一个普通人用普通的工具也是可以进行测量的,rx,ry,rz的测量难度较大,普通人基本不可能测量。从对精度的要求来分,tx,ty的误差的影响较小,在环视图上的表现是细微的平移;tz的误差的影响其次,在环视图上的表现是尺度的变化;rx,ry,rz的误差的影响很大,它会导致图像的扭曲变形,是不被人眼所接受的。基于人眼的高度适应性,tx,ty,tz的微小的误差是不会影响最终的显示效果和对安全性的保障的,唯一的要求就是四个摄像头的tx,ty的增量误差必须一致,rz的乘量误差必须一致。

目前基于车道线检测的在线标定方案存在车道线长宽不精确,相邻车道线不对齐,左右摄像头标定困难,和标定过程(通常需要在高速公路上)存在安全隐患等缺点。



技术实现要素:

本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种环境要求低、人力成本低的用于标定汽车环视系统的处理器。

本发明的目的可以通过以下技术方案来实现:

一种用于标定汽车环视系统的处理器,所述的汽车环视系统包括多个鱼眼摄像头,所述的处理器用于执行如下的计算机程序步骤,以得到各摄像头的旋转矩阵rt:

当汽车静止时,依据三个顶点在拍摄图像上的像素坐标计算摄像头坐标系下摄像头到已知标识物的三个顶点的观测向量v1、v2、v3,所述的标识物的三个顶点连接线构成等边三角形且与水平地面贴合,求解摄像头坐标系下摄像头到所述三个顶点的观测距离s1、s2、s3,使三个顶点之间的距离满足d12=d23=d31=d,其中d是等边三角形的边长,然后得到摄像头坐标系下所述三个顶点的坐标,从而计算得到等边三角形的法向量,其中,所述的观测距离s1、s2、s3的优选求解方法为:给s1、s2、s3赋初值,确定三个顶点在摄像头坐标系下的位置p1、p2、p3,以d12、d23、d31与d的误差平方和来构建能量函数e,e=(d12–d)2+(d23–d)2+(d31–d)2,采用迭代算法得到s1、s2和s3的收敛值,为使收敛值为正确结果,根据观测距离s1、s2和s3的收敛值得到等边三角形的法向量后,计算车辆坐标系下摄像头高度tz,将tz与摄像头的先验测量高度比较,若比较结果大于可接受范围,则重新对s1、s2和s3赋初值并迭代计算收敛值,直到比较结果可接受;

当汽车沿车辆坐标系的x轴做前进直线运动时,分别获取摄像头坐标系下标识物某一顶点在两个不同时刻的坐标,根据两坐标差计算摄像头坐标系的x轴单位向量;

计算摄像头的旋转矩阵rt:rt=(x,x×z,z)*(x,x×z,z)-1,其中,x表示车辆坐标系x轴单位向量,z表示车辆坐标系的z轴的单位向量,x、z为摄像头坐标系下与x、z对应的单位向量,x与等边三角形的法向量实际上是平行的。

得到旋转矩阵rt后,所述的处理器还用于执行如下的计算机程序步骤,以得到摄像头的水平位置参数tx和ty:

当汽车绕车辆坐标下的转弯中心点c(0,c,0)以固定半径转弯时,获取标识物顶点在摄像头坐标系下的不同时刻坐标,采集多组数据,并根据当前的标定参数转换成车辆坐标系下的坐标,若c为精度满足要求的已知量,则根据相同顶点到转弯中心点的距离保持不变的原理列等式,计算摄像头的水平位置参数tx和ty的误差dx和dy,将dx和dy分别与摄像头的水平位置参数的先验值相加,得到水平位置参数tx和ty;若c为未知量或精度不满足要求的已知量,则通过对同一顶点拍摄三次,采用三点法确定一个圆,将圆心的x轴坐标值与0之间的差距作为水平位置参数tx的误差ex,将ex与摄像头的水平位置参数的先验值相加,得到水平位置参数tx,即放弃对y轴方向的精确求解,但保留对x轴方向求精确解,y轴方向则留给后面的重叠区域图像配准技术解决。

优选的,汽车以最小转弯半径转弯,因为在此状态下转弯半径是可以直接得到的;采集的多组数据为:同一顶点在至少3个不同时刻的坐标,或至少2个不同顶点在至少2个不同时刻的坐标。

得到各摄像头的水平位置参数tx和ty后,所述的处理器还用于执行如下的计算机程序步骤,以更新各摄像头的水平位置参数tx和ty,保留公有误差,消除私有误差:

汽车静止时,获取两个摄像头i和j对同一个标识物顶点p拍摄到的图像,分别利用已求取的摄像头各自的标定参数计算该顶点p在汽车坐标系下的坐标pi和pj,改变汽车位置或标识物顶点,采集至少两组坐标数据,将坐标数据代入下式,联立计算两个摄像头i和j的私有误差bi和bj

pi–pj=bi-bj

将私有误差分别与对应摄像头的水平位置参数的先验值相加,得到更新后的水平位置参数tx和ty。

与现有技术相比,本发明具有以下优点:

(1)程序对标定过程中的环境和技术要求低,车辆无须开到特定位置,普通水平地面即可,鱼眼摄像头采集的图像简单,标定标识物的等边三角形容易布置。

(2)由于标定工作对4s店来说是偶然性工作,员工不太可能受到专业训练,很难形成熟能生巧的经验手艺,工厂标定方案对4s店员工来说要求太高。而本专利程序要求的方案操作简单,没有严格定位要求,有利于bev环视系统的4s店维护,甚至方便驾驶员进行自主操作,安全性高,有利于让bev环视系统从前装市场走向后装市场,从增量市场走向存量市场。

(3)采用等边三角形图元方案,利用了它的一系列优势:首先三角形的顶点和边之间没有严格的顺序区分,便于检测;其次三角形图案的环境辨识程度更高,一般场地中很少有可以产生干扰的三角形图案,利用图像算法检测出三角形的代价比检测出其他图形的代价更低,错误率更低;再次,三角形结构的稳定性,降低了平面迭代算法的复杂度,减小了算法收敛到错误结果的风险,避免了算法收敛到非平面的可能性;最后,等边三角形的制作(绘制)过程简单且能保证精确。

(4)充分利用了潜在的先验信息,区分对待那些对人眼敏感的参数和对人眼不敏感的参数,标定方案简洁,所需标定空间较小、标定精度高、抗干扰更强,对操作人技能的要求大大降低到驾驶员自己就可以做的程度。

附图说明

图1为实施例4流程(1)中标识物布置图;

图2为实施例4摄像头到三角形标识物顶点的正常视角;

图3为实施例4摄像头坐标系中观察到的三角形的空间透视图;

图4为实施例4车辆以最小转弯半径转弯时,三角形的顶点相对于转弯中心的运动关系;

图5为实施例4标识物位于重叠区域中的布置图;

图6为实施例4的标定流程图。

具体实施方式

下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。

实施例1

一种用于标定汽车环视系统的处理器,汽车环视系统包括多个鱼眼摄像头,处理器用于执行如下的计算机程序步骤,以得到各摄像头的旋转矩阵rt:

当汽车静止时,依据三个顶点在拍摄图像上的像素坐标计算摄像头坐标系下摄像头到已知标识物的三个顶点的观测向量v1、v2、v3,标识物的三个顶点连接线构成等边三角形且与水平地面贴合,求解摄像头坐标系下摄像头到所述三个顶点的观测距离s1、s2、s3,使三个顶点之间的距离满足d12=d23=d31=d,其中d是等边三角形的边长,然后得到摄像头坐标系下所述三个顶点的坐标,从而计算得到等边三角形的法向量z,其中,观测距离s1、s2、s3的优选求解方法为:给s1、s2、s3赋初值,确定三个顶点在摄像头坐标系下的位置p1、p2、p3,以d12、d23、d31与d的误差平方和来构建能量函数e,e=(d12–d)2+(d23–d)2+(d31–d)2,采用迭代算法得到s1、s2和s3的收敛值,为使收敛值为正确结果,根据观测距离s1、s2和s3的收敛值得到等边三角形的法向量z后,计算车辆坐标系下摄像头高度tz(一般在车辆坐标系中,z轴的方向是竖直向下的,x轴方向是朝向正前方,y轴方向是指向正右方),将tz与摄像头的先验测量高度比较,若比较结果大于可接受范围,则重新对s1、s2和s3赋初值并迭代计算收敛值,直到比较结果可接受;

当汽车沿车辆坐标系的x轴做前进直线运动时,分别获取摄像头坐标系下标识物某一顶点在两个不同时刻的坐标,根据两坐标差计算摄像头坐标系的x轴单位向量;

计算摄像头的旋转矩阵rt:rt=(x,x×z,z)*(x,x×z,z)-1,其中,x表示世界坐标系x轴单位向量,z表示车辆坐标系的z轴的单位向量。

得到旋转矩阵rt后,处理器还用于执行如下的计算机程序步骤,以得到摄像头的水平位置参数tx和ty:

当汽车绕车辆坐标下的转弯中心点c(0,c,0)以最小转弯半径转弯时,获取标识物顶点在摄像头坐标系下的不同时刻坐标,采集多组数据(可为同一顶点在至少3个不同时刻的坐标,或至少2个不同顶点在至少2个不同时刻的坐标),并根据当前标定参数转换到车辆坐标系下,根据相同顶点到转弯中心点的距离保持不变的原理列等式,计算摄像头的水平位置参数tx和ty的误差dx和dy,将dx和dy分别与摄像头的水平位置参数的先验值相加,得到水平位置参数tx和ty。

得到各摄像头的水平位置参数tx和ty后,处理器还用于执行如下的计算机程序步骤,以更新各摄像头的水平位置参数tx和ty,保留公有误差,消除私有误差:

汽车静止时,获取两个摄像头i和j对同一个标识物顶点p拍摄到的图像,分别利用已求取的摄像头各自的标定参数计算该顶点p在汽车坐标系下的坐标pi和pj,改变汽车位置或标识物顶点,采集至少两组坐标数据,将坐标数据代入下式,联立计算两个摄像头i和j的私有误差bi和bj

pi–pj=bi-bj

将私有误差分别与对应摄像头的水平位置参数的先验值相加,得到更新后的水平位置参数tx和ty。

转弯中心点c(0,c,0)中,转弯半径c为已知量或未知量,当c为未知量时,通过对同一顶点拍摄三次,采用三点法确定一个圆,得到圆的半径,作为转弯半径c。

本实施例的处理器可为集成在鱼眼摄像头中的视频采集卡及工控机的组合、通用处理器、数字信号处理器、专用集成电路、微处理器中的一个或多个组合。

实施例2

一种汽车环视系统标定装置,包括实施例1所述的处理器和布置于水平地面的标识物,标识物为与水平地面相贴合的等边三角形面片或等边三角形框。

采用等边三角形作为基本图元,是本发明的核心思路,这打破了目前绝大多数标定方案中使用线条或正方形进行标定的习惯思路。等边三角形具有一些特殊的优势:首先,用户可以用三条等长的线段来制作一个绝对精确的等边三角形,然后裁成板子,或者在地面相应区域涂成一定颜色都很容易,而其他任何形状都不具备这个条件(用户不需要为了标定自己的环视系统而额外购买配件,而是用一把尺子和一根绳子就可以自己动手)。其次,三角形的三个顶点和三条边没有严格的顺序要求,三个顶点可以唯一确定一个平面,这个性质使得算法的迭代过程中可以避免很多歧义,能快速收敛到有效解。超过三个点以上的图元,在优化过程中会面临更多的问题,比如收敛到局部最优解,或收敛到一个非平面的结果。

综上,不管是4s店标定还是用户自己标定,其方法都是一样的,只要找一个平坦且纹理尽量少的区域,铺上(画上)若干块固定边长的等边三角形,三角形在位置和角度上都没有严格的要求,可以是任意的。然后按照一定的要求做直行和转弯,就可以完成标定。

注意:实际实施过程中,并不限制标定物的形状一定要是三角形。因为本专利中提到的法向量计算算法中,并没有明确要求目标是等边三角形,只要能明确的区分三个顶点彼此之间的距离就可以了。如果采用其他的图形,然后再从该图形中分解出特定的三角形子成分,仍然可以使用本专利中描述的方法。对于这种情况,应该同样视为本专利所申请的保护范围之内。

实施例3

一种带有实施例2所述标定装置的汽车环视系统,包括标定装置及多个鱼眼摄像头。鱼眼摄像头可为安装在车身前后左右的四个超广角鱼眼摄像头,工作时,四个摄像头同时采集车辆四周的影像,经过图像处理单元畸变还原→视角转化→图像拼接→图像增强,最终形成一幅车辆四周无缝隙的360度全景俯视图。在显示全景图的同时,也可以显示任何一方的单视图,并配合标尺线准确地定位障碍物的位置和距离。标定工作在车辆正式上路之前进行,如图1所示,显示的是标识物三角形某种摆放方式的俯视图,三角形同样布置在车身前后左右并尽量靠近摄像头,保证可视,摆放位置和角度没有严格要求。

实施例4

本实施例为与实施例1~3配套的环视系统标定方法,在标定前首先对鱼眼摄像头进行非畸变纠正。非畸变纠正后,可以通过直线检测来检测三角形,且用线条来定位三角形顶点,比用角点来定位要精确地多。

以下是标定流程:

(1)车辆静止,将四个三角形摆在靠近摄像头的位置

将四个三角形按图1的俯视图视角大致位置摆放,对其位置和角度均没有严格要求,只要保证三角形的三个顶点都完全在图像中即可。图2是正常视角,图3是摄像头坐标系中观察到的三角形的空间透视图。图3中,原点o对应摄像头的位置,p1,p2,p3对应三角形的三个顶点,三角形所对应的平面就是地面。v1,v2,v3对应摄像头到三个顶点的观测向量,是已知的,由三个顶点在图像上的像素位置计算得到。s1,s2,s3对应摄像头到三个顶点的距离,是未知的。d12,d23,d31对应三角形的三个边长。

令三角形在图像上的坐标是(pix1,pix2,pix3),通过它可以计算摄像头坐标系中摄像头到三个顶点的观测向量(v1,v2,v3)(已知)。令(p1,p2,p3)为三角形顶点在摄像头坐标系中观测到的位置,(s1,s2,s3)为观测距离(未知)。(p1,p2,p3)是未知的,但只要知道了(s1,s2,s3),就可以计算(p1,p2,p3)。下面求解这三个观测距离(s1,s2,s3),使(p1,p2,p3)这三个顶点之间的距离满足:d12=d23=d31=d.其中d是等边三角形的边长。

根据上面的条件可以列出三个方程,不过这个方程组是很难求出解析解的,可以以d12,d23,d31与d的误差平方和来构建(s1,s2,s3)的能量函数e=(d12–d)2+(d23–d)2+(d31–d)2=f(s1,s2,s3),然后迭代求解。

这个能量公式类似于弹簧的储能公式(如果把p1,p2,p3之间的连线想象成不能弯曲的弹簧的话),所以可以不直接对上面的能量公式进行迭代,这里提供一种更加直观的基于物理模型的迭代方案:

在摄像头坐标系中,v1,v2,v3三个向量是已知且固定的。给s1,s2,s3赋初值,就唯一确定了p1,p2,p3,和它们的距离d12,d23,d31,初始状态下一般d12≠d23≠d31≠d.把p1,p2,p3三个顶点想象成套在三个支架v1,v2,v3上面的环,p1,p2,p3之间的连接线想象成弹簧,弹簧不能弯曲,只能拉伸,当它处于松弛状态下的长度是d,当大于d时产生拉力,当小于d时产生斥力,在拉力或斥力的作用下使环在支架上滑动。pi点对pj点产生的力表示为fij,fij大于0时为斥力,小于0时为拉力,很明显fij=fji。

假设p1点和p2点对p3点产生的力分别是f13和f23,可以计算出它们投影到支架v3方向上的力分别为f13和f23,p3点当前受到的综合作用力f3=f13+f23同理算出每个点当前所受到的综合力f1,f2,f3,它们都是沿着支架方向的。给这个力附加一个很小的学习率,使p1,p2,p3在力的作用下发生微小的位移,这样迭代下去直到收敛,收敛状态下d12=d23=d31=d。

注意到在一个复杂的图元上,如正方形,我们会面临的问题有:算法可能会收敛到一个非平面上,或者算法虽然收敛到一个平面上,但是有较多的局部极值点,较多种收敛结果,使后续的处理变得非常麻烦。基于等边三角形图元的算法的收敛结果一定处于一个平面上,而且最多只会收敛到三种不同的局部极小位置,在我们的实际试验中,该算法几乎总能收敛到正确的结果。

假设收敛到错误的结果,下面可以利用摄像头高度的先验信息对结果进行排除。因为知道了三个顶点到摄像头的观测距离(s1,s2,s3),就唯一确定了三角形所在平面,和这个平面的法向量z,于是通过该平面的法向量z来计算观测位置的高度tz(tz是摄像头的高度,也是图中观测点o到三角形所在平面的垂直高度)。如果这个高度与摄像头的先验测量高度明显不符,则可以排斥这个结果,重新选择初值进行迭代。通常经过这一步就可以得到唯一的正确解。于是我们知道旋转矩阵rt将世界坐标系中的z轴单位向量z=(0,0,1)映射到摄像头坐标系中的三角形法向量z,其中z和z都是已知的,我们得到了旋转矩阵rt的第一个表达式:rt*z=z。

下面分别确定世界坐标系中的x轴单位向量(1,0,0),y轴单位向量(0,1,0)分别对应摄像头坐标系中的向量x和y。

(2)方向盘摆正,让车辆直行

让车辆直行一小段距离,如果不够可以来回直行,但应保证三角形图元一直在对应的摄像头视野中。假定在t0时刻检测到三角形的地面位置为t0(p10,p20,p30),在t1时刻检测(跟踪)到三角形的位置为t1(p11,p21,p31),对应在摄像头坐标系中的位置为t0(p10,p20,p30)和t1(p11,p21,p31)。因为车辆是直行的,通过p10-p11得到的向量vp显然与车辆坐标系的x轴平行。对应的,在摄像头坐标系中,令p10-p11=vp,于是我们知道旋转矩阵rt将vp映射到vp。通过乘以一个系数,将vp变成世界坐标系的x轴单位向量x(1,0,0),将vp变成摄像头坐标系中的向量x,等价的:rt*x=x。使用(p20,p21),(p30,p31)做上述处理的效果是一样的,因此可以将观测到的多个点综合起来,使结果更加精确。

至此已经得到了车辆坐标系中的z轴和x轴正方向对应在摄像头坐标系中的对应向量z和x,假设旋转矩阵为rt,则有:

rt*(x,x×z,z)=(x,x×z,z)

rt=(x,x×z,z)*(x,x×z,z)-1

其中x×z是指向量x和z的外积,x×z是x和z的外积,这一项可以保证计算结果是旋转矩阵,而不是旋转和反射变换的复合矩阵。至此,我们已经得到了旋转矩阵rt和摄像头的高度tz,还剩下两个参数tx和ty.通常这两个参数直接使用出厂时的先验值就已经能满足精度需要了,但在后装情况下还是需要标定的。在车辆直行的状态下,不可能标定出tx和ty两个参数。如果想进一步标定出这两个参数,需要知道车辆的转弯半径,然后通过最大半径转弯,创造一个非线性的变换条件。当然如果不知道车辆最小转弯半径也没关系,毕竟tx和ty的先验测量值已经具备了一定的精度了,在步骤(4)中会利用tx和ty的先验测量值,然后通过四个摄像头在重叠区域的配准,来最小化测量误差,来提高tx和ty的精度,确保四个图像在重叠区域是匹配的。

(3)车辆以最小转弯半径进行转弯

如果我们已知车辆的最小转弯半径,并且是以最小转弯半径来转弯的,可以前后小幅的反复行驶。假设转弯中心c的坐标是(0,c,0),下面分a,b两种情况。

a.最小转弯半径c的精度足够

图4显示了车辆以最小转弯半径转弯时,观察到的三角形的顶点相对于转弯中心的运动关系。p是检测到的三角形的任意一个顶点,p(t0)和p(t1)是其在t0和t1时刻对应的地面位置。(由于我们已经计算了旋转矩阵rt,和摄像头的高度tz,对于tx和ty,我们暂时采用先验的测量值,这样就得到了完整的映射公式,所以将图像上的点映射到地面上的坐标是可行的)

既然c已知且精确,那么p(t0)到c的距离应该等于p(t1)到c的距离,我们假设p(t0)的坐标是(px0,py0,0),p(t1)的坐标是(px1,py1,0),且目前的外参tx和ty分别有误差dx和dy,则有:

((px0+dx)-0)2+((py0+dy)-c)2=((px1+dx)-0)2+((py1+dy)-c)2

对上式化简,二次项会约掉,结果是dx和dy的一次表达式。像这样的表达式,有两个就可以求解dx和dy了,而我们的三角形有三个顶点,并且可以在车辆转弯过程中选择更多的点,组成一个过饱和的表达式,用最小二乘法求解误差平方和最小的解。将解得的dx和dy加到原来的tx和ty上,就可以得到精确的结果了。

至此,已经对每个摄像头分别计算了六个外参t(tx,ty,tz),和r:(rx,ry,rz)

b.最小转弯半径c未知,或精度不够

此时ty无法得到精确解,但tx是可以的。不过算法有所不同,需要对三角形的顶点做连续的跟踪,至少得到三个顺序的点的位置。由于车辆是在转弯,三个点不可能在一条直线上,因此可以确定一个唯一的圆。通过不同顶点的不同观测位置来叠加计算,可以使圆心的精度更高。这个圆心位置与车辆理论转弯中心(0,c)的差距就是tx和ty的当前误差ex和ey。由于c的精度不够,这里只能更新x方向的参数:tx=tx+ex.

(4)重叠区域图像配准,将四个三角形放到重叠区域

不管步骤3是以a的形式执行还是以b的形式执行,这里的步骤4都可以用来进一步提高tx和ty的精度。四个摄像头,标号分别为1,2,3,4,每个摄像头都有一对位置参数tx和ty有待优化,总共是8个待优化的参数,t1(tx1,ty1),t2(tx2,ty2),t3(tx3,ty3),t4(tx4,ty4),令t1,t2,t2,t4是它们的精确值,ei=ti–ti是当前的误差。将ei分解为公有误差ci和私有误差bi,ei=ci+bi,公有误差对四个摄像头一致,c1=c2=c3=c4=c,而四个摄像头的私有误差相互独立:

tx1=tx1+cx+bx1;ty1=ty1+cy+by1

tx2=tx2+cx+bx2;ty2=ty1+cy+by2

tx3=tx3+cx+bx3;ty3=ty1+cy+by3

tx4=tx4+cx+bx4;ty4=ty1+cy+by4

利用重叠区域的图像配准算法,可以将它们的私有误差bi(bxi,byi)清除,从而将这8个随机参数(8个自由度)转化为两个随机参数c(cx,cy)(两个自由度),且理论上,这个剩下的公有误差的方差一定小于之前四个摄像头的标定参数ti(txi,tyi)的方差的平均值。过程如下:

按照图5所示,将四个三角形分别摆放在四个重叠区域中,使每个三角形都能被相邻的两个摄像头同时观测到,对三角形的位置和角度都没有精确要求。由于当前标定参数除了tx和ty有少量误差外,其他参数都是精确的,将图像上的三角形投射到地面坐标中去后,不会有明显的变形,只有稍许平移,因此不同摄像头观测到的同一个三角形可以准确的匹配。

假设任意一个三角形的某个顶点p在两个相邻的摄像头i和j中观测到的地面坐标分别为pi和pj,则有:pi–pj=ei–ej=(c+bi)-(c+bj)=bi-bj

可以通过变换三角形的位置获得任意多个点,因此上面的表达式可以有足够多个,将它们并列起来,通过最小二乘法计算b1,b2,b3,b4的最优解,于是得到更新的标定参数:

tx1-bx1=tx1+cx;ty1-by1=ty1+cy;

tx2-bx2=tx2+cx;ty2-by2=ty2+cy;

tx3-bx3=tx3+cx;ty3-by3=ty3+cy;

tx4-bx4=tx4+cx;ty4-by4=ty4+cy;

新参数在原有的基础上减去了每个摄像头的私有误差,仅残留公有误差,对四个摄像头相同,一般至此已经满足要求了。

只要设计恰当的软件交互流程,整个标定过程是可以一气呵成的。标定过程大体上可以总结为:(1)如图1摆放三角形,车辆小幅前后直行,开始采图,等待软件反馈成功(2)车辆以最大转弯半径进行转弯,小幅行驶,开始采图,等待软件反馈成功(3)车辆静止,将三角形图元重排摆放在如图5的重叠区域,开始采图,等待软件反馈成功,然后结束。

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