本发明涉及相机标定领域,尤其涉及一种基于车道线检测的后方车载相机的自动外参标定方法。
背景技术:
摄像机的标定在机器视觉领域是必不可少的技术。尤其在车载领域高级驾驶辅助系统,包括车辆检测、行人检测、盲区检测、车道线检测等都需要标定才能实现。标定一般又可分为内参标定和外参标定两类。外参标定主要有涉及以下几个参数:空间上3个方向的位移自由度,tx,ty,tz,以及绕3个坐标轴旋转的自由度rx,ry,rz。
目前主流的车载相机标定技术分为两类:一类是车厂的产线标定,建设一个标定场地,在地面上精确地绘制图形,通过限位器约束车的位置,通过精密仪器安装相机使得相机的安装误差很小。
此技术有一个不足之处是:标定场地要求高,标定场地建设成本很高。
此技术另外一个不足之处是:相机的装配精度要求高,必须有高精度的测量和安装设备辅助。
此技术另外一个不足之处是:如果在用户使用中相机的姿态发生改变必须返厂标定,成本高,时间长。
另外一类是线下标定,一般应用与4s店以及改装店,在车的周围铺设标定布,用尺子测量相机的安装高度以及安装位置的数据。然后使用专门的标定工具进行标定。优点是:1,标定精度较高2,标定场地灵活3,对相机的安装进度要求不高。4,相机姿态发生改变后可以再次人工标定。
此技术有一个不足之处是:标定过程技术要求较高需要专门人员
此技术另外一个不足之处是:标定过程复杂耗时费力。
还有一种简单的线下标定成为天际线标定,操作非常简单,就是调整相机的俯仰角rx使得屏幕上线与天际线(天空与地面的分界线)重合即可。
此技术有一个不足之处是:标定精度低导致功能性能下降。
技术实现要素:
针对现有技术存在的不足,本发明的目的在于提供一种基于车道线检测的后方车载相机的自动外参标定方法,以提高标定的便捷性同时满足精度的要求。本方法不对tz进行标定,指标定rx、ry、rz、tx、ty。
本发明所要实现的一个目标是,提供一种无需特定标定场地或标定板、标定布的标定方法。
本发明所要实现的另一个目标是,提供一种无需特人工测量相机安装位置的标定方法。
本发明所要实现的另一个目标是,提供一种计算复杂度较低可以在嵌入式平台实时运行的标定方法。
为实现上述目的,本发明提供如下技术方案:
一种基于车道线检测的后方车载相机的自动外参标定方法,包括以下步骤:
步骤一、当使用者认为场景满足标定要求时,以按键或触摸屏幕的方式启动标定程序;
步骤二、获得自车方向盘转角信息;
步骤三、当方向盘转角φ的绝对值小于2°,φ的帧间变化小于1°,并且此状态持续30帧以上时认为车辆处于稳定行驶状态,可以进行标定操作;
步骤四、拍摄至少2帧图像,记为t0帧和t1帧,其中t0和t1分别表示两帧的采集时间,则两帧之间的时间间隔为(t1-t0),为表述方便约定t0<t1;
步骤五、设原图像中一点用pr表示,虚拟相机图像上一点用pv表示,世界坐标系中一点用pw表示;原图像投影到3个视图上分别为正视图、左视图和右视图,以下简称f图、l图和r图;
步骤六、在f图上应用但不限于步骤一中方法检测自车两侧的车道线l1f-自车左侧车道线、l2f-自车右侧车道线;
步骤七、计算l1f和l2f的交点p,设
p=(xp,yp),ps1=(xs1,ys1),pe1=(xe1,ye1),ps2=(xs2,ys2),pe2=(xe2,ye2)
其中
步骤八、根据p点在f图中的位置计算得到rx,ry,
内参光心为cxf,cyf焦距为ff,虚拟相机f的焦距,在x轴的坐标为px,在y轴的坐标为py
步骤九、设车道线的宽度为w,w∈sw,sw表示标准车道线的宽度集合例如但不限于sw={2.5,3,3.5},sw中元素的个数为nw,取wi计算对应的ty其意义是相机高度下文用hc表示;
步骤十、根据当前参数计算tx,可以通过下图的几何关系求解tx:
步骤十一、rz∈srzsrz表示rz取值的集合集合中元素的数量为nrz;
步骤十二、定义矩阵
步骤十三、获取车速v参数,根据车速计算车的位移
δz=v·(t1-t0);
步骤十四、定义矩阵
步骤十五、计算ssd参数,ssd为sumofsquareddifferences;
步骤十六、重复步骤十一至十五,遍历所有nw个可能的w值,每一个w值对应nrz个可能的rz值,一共获取nw×nrz个d值;
步骤十七、从nw×nrz个d值中取最小的一个,该最小值所对应的w和rz参数记为w′和r′z,由w′和r′z计算得到的rx,ry,rz,tx,ty就是欲求的最优参数;
步骤十八、标定完成,输出步骤十七中得到的参数rx,ry,rz,tx,ty。
作为本发明进一步的方案,步骤一中,标定需要,车辆在有车道线的笔直道路上匀速居中行驶。
作为本发明进一步的方案,步骤五中,将pr映射到pw,再将pw映射到pv,通过以上两步就得到了从原图像到虚拟相机图像的映射关系。
作为本发明进一步的方案,步骤六中,一条车道线的信息包括起点ps和终点pe。
作为本发明进一步的方案,步骤九中,在l、r视图上检测车道线l1l,l1r;pl(x0,y0),pl(x1,y1)分别表示车道线l1l的开始端点和终了端点
是a-a为虚拟相机的投影平面,fi为虚拟相机l的焦距
同理可计算hr------r视图上几所的相机高度
作为本发明进一步的方案,步骤十中,hc:为步骤九中计算所得;
fl:左侧虚拟相机的焦距;
fr:左侧虚拟相机的焦距;
yld:检测的车道线在l视图中位置的y坐标;
yrd:检测的车道线在r视图中位置的y坐标;
cyl:左侧虚拟相机光心在图像上的y位置;
cyr:左侧虚拟相机光心在图像上的y位置;
步骤九和步骤十计算所得为一个w所对应的tx和ty,每一种车道线宽度都对应着这个2个参数,连同w将这3个参数总体称作车道线相关参数:lpara。
作为本发明进一步的方案,步骤十一中,{-2.0,-1.5,-1,-0.5,0,0.5,1,1.5,2},取一个元素计作rzj加上lpara、rx、ry、(tz认为是车后方原点所以tz=0)再加上内参k就组成了一套完整的参数;使用这套参数将f视图中检测到的车道线l1f端点为p1,p2表示,l2f端点为p3、p4映射到topview图中构成l1t端点为p1’p2’,l2t端点为p3’p4’;映射过程如下设p1点在f视图下的坐标为:
(u,v)齐次形式为
设x在topview图中的映射点
已知x由公式(2)(3)
同理可计算p2’、p3’、p4’。
作为本发明进一步的方案,步骤十二中,定义矩阵
令rect1表示topview视图上一个矩形区域,对角线坐标为(p1x-20,p1y),(p2x+20,p2y);
令rect2表示topview视图上一个矩形区域,对角线坐标为(p1x-20,p1y),(p2x+20,p2y);
在t0帧的top视图上提取rect1区域的图像,用矩阵
在t0帧的top视图上提取rect2区域的图像,用矩阵
作为本发明进一步的方案,所述定义矩阵
t1帧与t0帧相比相机发生了一个位移,位移向量为
代入公式(3),分别计算得到t0、t1帧的topview视图单应性矩阵
pt0,pt1;
由步骤十一中的过程可得t1帧的topview视图上p1,p2,p3,p4的投影点;
重复步骤十二的过程提取t1帧的图像,得到矩阵
作为本发明进一步的方案,所述计算ssd参数的方法如下:
计算
计算总和d=d1+d2。
作为本发明进一步的方案,一种计算ssd的方法如下:
r表示图像矩阵中点的位置的集合,
i表示图像的灰度值。
为更清楚地阐述本发明的结构特征和功效,下面结合附图与具体实施例来对本发明进行详细说明。
附图说明
图1为相机模型坐标系示意图。
图2为图1中相机模型坐标系的主视图。
图3为本发明中图像坐标系与平面坐标系示意图。
图4为本发明中坐标系的旋转平移示意图。
图5为本发明中相机安装位置的结构示意图。
图6为本发明中车辆的正后方视图。
图7为本发明中车辆的左视图。
图8为本发明中车辆的右视图。
图9为本发明中车辆的顶视图。
图10为本发明中车道线示意图。
图11为本发明中pl在l,r视图上投影示意图。
图12为本发明中左视图投影示意图。
图13为本发明中左视图投影平面展开图。
图14为本发明的方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明的技术方案做进一步的说明。
参见图1-14,一种基于车道线检测的后方车载相机的自动外参标定方法,包括以下步骤:
1、当使用者认为场景满足标定要求时,以按键或触摸屏幕的方式启动标定程序。
注:标定需要,这车在有车道线的笔直道路上匀速居中行驶。
2、获得自车方向盘转角信息。
3、当方向盘转角φ的绝对值小于2°,φ的帧间变化小于1°,并且此状态持续30帧以上时认为车辆处于稳定行驶状态,可以进行标定操作。
4、拍摄至少2帧图像,记为t0帧和t1帧,其中t0和t1分别表示两帧的采集时间,则两帧之间的时间间隔为(t1-t0)。为表述方便约定t0<t1。
5、设原图像中一点用pr表示,虚拟相机图像上一点用pv表示,世界坐标系中一点用pw表示。应用公式(1)将pr映射到pw,再应用公式(2)将pw映射到pv,通过以上两步就得到了从原图像到虚拟相机图像的映射关系。原图像投影到3个视图上分别为正视图、左视图和右视图,以下简称f图、l图和r图。
6、在f图上应用但不限于[1]中方法检测自车两侧的车道线l1f-自车左侧车道线、l2f-自车右侧车道线。一条车道线的信息包括起点ps和终点pe。
7、计算l1f和l2f的交点p。设
p=(xp,yp),ps1=(xs1,ys1),pe1=(xe1,ye1),ps2=(xs2,ys2),pe2=(xe2,ye2)
其中
8、根据p点在f图中的位置计算得到rx,ry。
内参光心为cxf,cyf焦距为ff(虚拟相机f的焦距),在x轴的坐标为px,在y轴的坐标为py
9、设车道线的宽度为w,w∈sw,sw表示标准车道线的宽度集合例如但不限于sw={2.5,3,3.5},sw中元素的个数为nw,取wi计算对应的ty其意义是相机高度下文用hc表示。
在l、r视图上检测车道线l1l,l1r。pl(x0,y0),pl(x1,y1)分别表示车道线l1l的开始端点和终了端点
a-a为虚拟相机的投影平面,fl为虚拟相机l的焦距
同理可计算hr------r视图上几所的相机高度
10、根据当前参数计算tx,可以通过下图的几何关系求解tx。
参见图12、13所示,图中a-a为图像投影平面,将a-a平面放大。
hc:9中计算所得
fl:左侧虚拟相机的焦距
fr:左侧虚拟相机的焦距
yld:检测的车道线在l视图中位置的y坐标
yrd:检测的车道线在r视图中位置的y坐标
cyl:左侧虚拟相机光心在图像上的y位置
cyr:左侧虚拟相机光心在图像上的y位置
9-10计算所得为一个w所对应的tx和ty,每一种车道线宽度都对应着这个2个参数,连同w将这3个参数总体称作车道线相关参数:lpara。
11、rz∈srzsrz表示rz取值的集合集合中元素的数量为nrz,例如{-2.0,-1.5,-1,-0.5,0,0.5,1,1.5,2},取一个元素计作rzj加上lpara、rx、ry、(tz认为是车后方原点所以tz=0)再加上内参k就组成了一套完整的参数。使用这套参数将f视图中检测到的车道线l1f端点为p1,p2表示,l2f端点为p3、p4映射到topview图中构成l1t端点为p1’p2’,l2t端点为p3’p4’。映射过程如下设p1点在f视图下的坐标为。
(u,v)齐次形式为
已知x由公式(2)(3)
同理可计算p2’p3’p4’。
12、定义矩阵
令rect1表示topview视图上一个矩形区域,对角线坐标为(p1x-20,p1y),(p2x+20,p2y),
令rect2表示topview视图上一个矩形区域,对角线坐标为(p1x-20,p1y),(p2x+20,p2y)
在t0帧的top视图上提取rect1区域的图像,用矩阵
在t0帧的top视图上提取rect2区域的图像,用矩阵
13、获取车速v参数,根据车速计算车的位移
δz=v·(t1-t0)。
14、定义矩阵
t1帧与t0帧相比相机发生了一个位移,位移向量为
代入公式(3),分别计算得到t0、t1帧的topview视图单应性矩阵
pt0,pt1。
由步骤11中的过程可得t1帧的topview视图上p1,p2,p3,p4的投影点。
重复步骤12的过程提取t1帧的图像,得到矩阵
15、计算ssd参数(sumofsquareddifferences),方法如下:
计算
计算总和d=d1+d2。
优选地,一种计算ssd的方法如下:
r表示图像矩阵中点的位置的集合。
i表示图像的灰度值。
16、重复步骤(11)-(15)遍历所有nw个可能的w值,每一个w值对应nrz个可能的rz值,一共获取nw×nrz个d值。
17、从nw×nrz个d值中取最小的一个,该最小值所对应的w和rz参数记为w′和r′z,由w′和r′z计算得到的rx,ry,rz,tx,ty就是欲求的最优参数。
18、标定完成,输出步骤17中得到的参数rx,ry,rz,tx,ty。
以上结合具体实施例描述了本发明的技术原理,仅是本发明的优选实施方式。本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。