本发明属于相机标定技术领域,具体涉及一种优化双目相机外参数的方法。
背景技术:
如今,双目相机在三维重建,自动驾驶,目标检测等领域发挥着越来越重要的作用。传统的双目视觉标定算法基于张正友标定法,通过拍摄数张棋盘格标定板的图像通过计算后得到双目相机的内参数和外参数。其中内参数是与摄像机几何和光学特性有关的参数,只依赖于摄像机自身的制造特点;外参数为摄像机坐标系相对于建立好的世界坐标系的旋转和平移关系量。内外参数准确与否直接影响到后面的应用环节。由于角点检测算法存在一定的误检率,且在实际图像中,由于受到噪声影响,现有亚像素级角点检测算法检测角点不够准确,所以求解出的外参数不够准确,需要对双目相机的外参数进行优化。
技术实现要素:
本发明旨在克服现有技术的不足,提供了一种优化双目相机外参数的方法,即通过双目相机拍摄棋盘格图像,求解双目相机的内外参数和畸变系数,对棋盘格图像去畸变和极线校正,使用抛物线法 eec亚像素估计算法求出左右图像重合区域中角点的亚像素级坐标,计算出新外参用于优化双目相机的外参数,重复该过程几次直到双目相机外参数稳定即可完成双目相机外参数的优化。
本发明的具体技术方案为,一种优化双目相机外参数的方法,包括下列步骤:
1)拍摄棋盘格图像:使用双目相机拍摄的多组棋盘格图像,记左、右图像对为pic_li,pic_ri;
2)求解双目相机内外参数和畸变系数:获取棋盘格角点的世界坐标和亚像素级坐标,根据左右图像上对应角点的坐标关系分别计算出每个相机的内部参数、畸变系数以及两个相机之间的外部参数r和t;
3)去畸变:根据每个相机的内部参数将左右棋盘格图像pic_li,pic_ri都转化为正规坐标系下的原图,分别记为picn_li和picn_ri。利用左右相机各自的畸变系数分别对picn_li,picn_ri进行去畸变处理,得到正规坐标系下去畸变的图像,分别记为undis_li和undis_ri;
4)极线校正:对正规坐标系下去畸变图像undis_li和undis_ri进行bouguet极线校正,左图像undis_li旋转-r/2和rt,右图像undis_ri旋转r/2和rt,得到正规坐标系下校正后的图像corr_li和corr_ri。通过每个相机的内参分别将corr_li和corr_ri恢复到图像坐标系下,得到极线校正后的左右图像rect_li,rect_ri;
5)抛物线法 eec亚像素估计算法求角点:使用抛物线法 eec亚像素级角点估计算法对rect_li和rect_ri重新进行角点检测,得到两组图像中的对应角点,计算rect_li和rect_ri的外参数r′和t′;
6)优化外参:将步骤5)计算出来的外参r′和t′叠加到步骤2)的双目相机的外参r和t上。
步骤4)中极线校正的具体过程包括:
4-1)对正规化坐标系下的去畸变图像undis_li和undis_ri进行bouguet极线校正。左右相机各自旋转相互之间夹角的一半,使得左右成像平面共面,该操作是为了保证左右相机有效观测面积最大,左右相机需要旋转的矩阵rl和rr满足以下关系:
4-2)左右相机围绕光轴旋转,实现行对齐。
经过4-1)的旋转操作之后,左右成像平面在同一平面中,但还未实现行对齐,此时需要构造旋转矩阵,使左右相机分别以光轴为中心线进行旋转,从而实现行对齐。
以左相机为例,设旋转矩阵为rl_rect,对于刚体旋转,可以对rl_rect坐标分解。
rl_rect=[e1e2e3]
摄像机坐标系中的x轴是需要旋转方向的,而x轴与主点连线之间的夹角即x轴需要旋转的角度,而连线之间的向量为t,因而可以得到:
而y轴方向上的e2和e3相互垂直,可得下式:
因为此处的旋转是围绕光轴进行旋转,e3与e1和e2正交即可。
e3=e1×e2
同理,右相机旋转矩阵求解过程相同,计算出来的矩阵rr_rect=rl_rect。可以统一表示为rt,所以整个过程中的旋转向量为:
步骤5)中抛物线法 eec亚像素估计算法求角点的具体过程包括:
5-1)对于极线校正之后左右图像rect_li和rect_ri重新进行角点检测,得出它们的整数角点坐标。其中一组对应角点在左右图像上的坐标分别记为p(x,y),q(x′,y′);
x轴方向,在左图中以角点p(x,y)为中心设定一个m×n的矩形区域,根据该点和周围m*n-1个点的像素值关系,得到一个m×n的矩阵j(0)作为该点的标记矩阵;在右图中点q(x′,y′)采用与角点p(x,y)相同的方法计算也得到一个m×n的矩阵k(0)作为该点的标记矩阵;通过矩阵相似度判断方法得出矩阵j(0)和k(0)的相似度s(0);
将像素点q(x′-1,y′)和q(x′ 1,y′)所对应的m×n的标记矩阵,分别记为k(-1),k(1);计算j(0)和上述像素点对应的标记矩阵k(-1),k(1)之间的相似度s(-1),s(1);
5-2)使用抛物线法求出待求角点q(x′,y′)的亚像素级偏移量dx′,公式如下:
由上式得出,角点q(x′,y′)的亚像素级坐标相对于整数级坐标在x轴方向上的偏移量dx′;y轴方向与x轴方向的方法相同,得出角点q(x′,y′)的亚像素级坐标相对于整数级坐标在y轴方向上的偏移量dy′,最后得出角点q(x′,y′)的亚像素级坐标q(x′,y′);按照与角点q(x′,y′)相同的方法得出角点p(x,y)的亚像素级坐标p(x dx,y dy)。
6)求优化外参的具体过程包括:
将求得的外参数r′和t′叠加到初始外参数r和t上,可得新的旋转矩阵:
rnew=r*r′
令t=[txtytz],其中,tx,ty,tz分别为x,y,z三个方向的位移。同理,设新的平移向量t=[t′xt′yt′z],可得新的平移向量:
本发明的有益效果是:
本发明提出了一种优化双目相机外参数的方法,通过双目相机拍摄棋盘格图像,求解双目相机内外参数和畸变系数,对棋盘格图像去畸变和极线校正,使用抛物线法 eec亚像素估计算法角点检测,优化外参六个步骤最终完成双目相机外参数的优化,具有以下特点:
1、方法简单,易于实现;
2、利用eec法重新进行角点检测,求出左右图像共同角点的亚像素级角点坐标,进而可以对原始外参进行优化调整;
3、求出的外参数与未优化之前的外参数相比,更加准确。
附图说明
图1是整体流程图;
图2是双目相机示意图;
图3是左右图像对应角点示意图;
图4是抛物线法 eec亚像素估计算法的原理图。
具体实施方式
本发明提出了一种优化双目相机外参数的方法的方法,结合附图及实施例详细说明如下:
本发明以水平摆放的可见光双目相机v作为成像系统进行双目图像采集,其中可见光双目相机v的分辨率为1280*720。如图2所示。所述方法流程如图1所示,包括下列步骤:
1)使用双目相机v拍摄的20组通用棋盘格标定板图像,记为pic_li,pic_ri;
2)求解双目相机内外参数和畸变系数:获取棋盘格角点的世界坐标和亚像素级坐标,根据左右图像上对应角点的坐标关系分别计算出每个相机的内部参数、畸变系数以及两个相机之间的外部参数r和t;
3)去畸变:根据每个相机的内部参数将左右棋盘格图像pic_li,pic_ri都转化为正规坐标系下的原图,分别记为picn_li和picn_ri。利用左右相机各自的畸变系数分别对picn_li,picn_ri进行去畸变处理,得到正规坐标系下去畸变的图像,分别记为undis_li和undis_ri;
4)极线校正:对正规坐标系下去畸变图像undis_li和undis_ri进行bouguet极线校正,左图像undis_li旋转-r/2和rt,右图像undis_ri旋转r/2和rt,得到正规坐标系下校正后的图像corr_li和corr_ri。通过每个相机的内参分别将corr_li和corr_ri恢复到图像坐标系下,得到极线校正后的左右图像rect_li,rect_ri;
5)抛物线法 eec亚像素估计算法求角点:使用抛物线法 eec亚像素级角点估计算法对rect_li和rect_ri重新进行角点检测,得到两组图像中的对应角点。计算rect_li和rect_ri的外参数r′和t′;
6)优化外参:将步骤5)计算出来的外参r′和t′叠加到步骤2)的双目相机的外参r和t上。
步骤4)中极线校正的具体过程包括:
4-1)对正规化坐标系下的去畸变图像undis_li和undis_ri进行bouguet极线校正。左右相机各自旋转相互之间夹角的一半,使得左右成像平面共面,该操作是为了保证左右相机有效观测面积最大,左右相机需要旋转的矩阵rl和rr满足以下关系:
4-2)左右相机围绕光轴旋转,实现行对齐。
经过4-1)的旋转操作之后,左右成像平面在同一平面中,但还未实现行对齐,此时需要构造旋转矩阵,使左右相机分别以光轴为中心线进行旋转,从而实现行对齐。
以左相机为例,设旋转矩阵为rl_rect,对于刚体旋转,可以对rl_rect坐标分解。
rl_rect=[e1e2e3]
摄像机坐标系中的x轴是需要旋转方向的,而x轴与主点连线之间的夹角即x轴需要旋转的角度,而连线之间的向量为t,因而可以得到:
而y轴方向上的e2和e3相互垂直,可得下式:
因为此处的旋转是围绕光轴进行旋转,e3与e1和e2正交即可。
e3=e1×e2
同理,右相机旋转矩阵求解过程相同,计算出来的矩阵rr_rect=rl_rect。可以统一表示为rt,所以整个过程中的旋转向量为:
步骤5)中抛物线法 eec亚像素估计算法求角点的具体过程包括:
5-1)对于极线校正之后左右图像rect_li和rect_ri重新进行角点检测,得出他们的整数角点坐标。如图3所示,以其中一组对应角点为例,该角点在左右图像上的坐标分别记为p(x,y),q(x′,y′)。
抛物线法 eec亚像素估计算法的原理如图4所示。以x轴方向为例,在左图中以角点p(x,y)为中心设定一个3*3的矩形区域,根据中心点的灰度值和周围8个点的像素值作差,得到一个3*3的只包含0和1的矩阵j(0)作为该点的标记矩阵,在右图中点q(x′,y′)处按照上述方法计算也可得到一个3*3的矩阵k(0)作为该点的标记矩阵。通过矩阵相似度判断方法得出矩阵j(0)和k(0)的相似度s(0)。
同理将像素点q(x′-1,y′)和q(x′ 1,y′)所对应的3*3的标记矩阵,分别记为k(-1),k(1)。计算j(0)和上述像素点对应的标记矩阵k(-1),k(1)之间的相似度s(-1),s(1)。
5-2)使用抛物线法求出待求角点q(x′,y′)的亚像素级偏移量dx′,公式如下:
由上式可以得出,角点q(x′,y′)的亚像素级坐标相对于整数级坐标在x轴方向上的偏移量dx′。同理可得出角点q(x′,y′)的亚像素级坐标相对于整数级坐标在y轴方向上的偏移量dy′,最后可以得出角点q(x′,y′)的亚像素级坐标q(x′,y′)。同理可以得出角点p(x,y)的亚像素级坐标p(x dx,y dy)。
6)求优化外参的具体过程包括:
6-1)将求得的外参数r′和t′叠加到初始外参数r和t上,可得新的旋转矩阵:
rnew=r*r′
令t=[txtytz],其中,tx,ty,tz分别为x,y,z三个方向的位移。同理,设新的平移向量t=[t′xt′yt′z],可得新的平移向量:
1.一种优化双目相机外参数的方法,其特征在于,包括如下步骤:
1)拍摄棋盘格图像:使用双目相机拍摄的多组棋盘格图像,记左、右图像对为pic_li,pic_ri;
2)求解双目相机内外参数和畸变系数:获取棋盘格角点的世界坐标和亚像素级坐标,根据左右图像上对应角点的坐标关系分别计算出每个相机的内部参数、畸变系数以及两个相机之间的外部参数r和t;
3)去畸变:根据每个相机的内部参数将左右棋盘格图像pic_li,pic_ri都转化为正规坐标系下的原图,分别记为picn_li和picn_ri;利用左右相机各自的畸变系数分别对picn_li,picn_ri进行去畸变处理,得到正规坐标系下去畸变的图像,分别记为undis_li和undis_ri;
4)极线校正:对正规坐标系下去畸变图像undis_li和undis_ri进行bouguet极线校正,左图像undis_li旋转-r/2和rt,右图像undis_ri旋转r/2和rt,得到正规坐标系下校正后的图像corr_li和corr_ri;通过每个相机的内参分别将corr_li和corr_ri恢复到图像坐标系下,得到极线校正后的左右图像rect_li,rect_ri;
5)抛物线法 eec亚像素估计算法求角点:使用抛物线法 eec亚像素级角点估计算法对rect_li和rect_ri重新进行角点检测,得到两组图像中的对应角点,计算rect_li和rect_ri的外参数r′和t′;
6)优化外参:将步骤5)计算出来的外参r′和t′叠加到步骤2)的双目相机的外参r和t上。
2.根据权利要求1所述的一种优化双目相机外参数的方法,其特征在于,步骤4)中极线校正的具体过程包括:
4-1)对正规化坐标系下的去畸变图像undis_li和undis_ri进行bouguet极线校正;左右相机各自旋转相互之间夹角的一半,使得左右成像平面共面,左右相机需要旋转的矩阵rl和rr满足以下关系:
4-2)左右相机围绕光轴旋转,实现行对齐;
针对左相机,设旋转矩阵为rl_rect,对于刚体旋转,对rl_rect坐标分解;
rl_rect=[e1e2e3]
摄像机坐标系中的x轴是需要旋转方向的,而x轴与主点连线之间的夹角即x轴需要旋转的角度,而连线之间的向量为t,因而得到:
而y轴方向上的e2和e3相互垂直,得下式:
因为此处的旋转是围绕光轴进行旋转,e3与e1和e2正交即可;
e3=e1×e2
同理,右相机旋转矩阵求解过程左相机相同,计算出来的矩阵rr_rect=rl_rect;统一表示为rt,所以整个过程中的旋转向量为:
3.根据权利要求1所述的一种优化双目相机外参数的方法,其特征在于,步骤5)中抛物线法 eec亚像素估计算法求角点,具体包括以下步骤:
5-1)对于极线校正之后左右图像rect_li和rect_ri重新进行角点检测,得出各自的整数角点坐标;其中一组对应角点在左右图像上的坐标分别记为p(x,y),q(x′,y′);
x轴方向,在左图中以角点p(x,y)为中心设定一个m×n的矩形区域,根据该点和周围m*n-1个点的像素值关系,得到一个m×n的矩阵j(0)作为该点的标记矩阵;在右图中点q(x′,y′)采用与角点p(x,y)相同的方法计算也得到一个m×n的矩阵k(0)作为该点的标记矩阵;通过矩阵相似度判断方法得出矩阵j(0)和k(0)的相似度s(0);
将像素点q(x′-1,y′)和q(x′ 1,y′)所对应的m×n的标记矩阵,分别记为k(-1),k(1);计算j(0)和上述像素点对应的标记矩阵k(-1),k(1)之间的相似度s(-1),s(1);
5-2)使用抛物线法求出待求角点q(x′,y′)的亚像素级偏移量dx′,公式如下:
由上式得出,角点q(x′,y′)的亚像素级坐标相对于整数级坐标在x轴方向上的偏移量dx′;y轴方向与x轴方向的方法相同,得出角点q(x′,y′)的亚像素级坐标相对于整数级坐标在y轴方向上的偏移量dy′,最后得出角点q(x′,y′)的亚像素级坐标q(x′,y′);按照与角点q(x′,y′)相同的方法得出角点p(x,y)的亚像素级坐标p(x dx,y dy)。
4.根据权利要求1所述的一种可见光与红外相机快速配准的方法,其特征在于,步骤6)中求单应性矩阵,具体包括以下步骤:
将求得的外参数r′和t′叠加到初始外参数r和t上,得新的旋转矩阵:
rnew=r*r′
令t=[txtytz],其中,tx,ty,tz分别为x,y,z三个方向的位移;设新的平移向量t=[t′xt′yt′z],得新的平移向量: