一种自动对焦双目摄像头标定及深度计算方法与流程

文档序号:17699720发布日期:2019-05-17 22:09阅读:660来源:国知局
一种自动对焦双目摄像头标定及深度计算方法与流程

本发明涉及计算机视觉、光学测量和摄像头制造领域,尤其涉及产线上一种双目摄像头标定方法及装置和深度计算方法。



背景技术:

自动对焦是指相机内置的一种通过电子及机械装置自动完成对被摄主体对焦并使图像达到清晰的功能。由于具有对焦准确、操作方便的特点,当前带自动对焦功能的摄像头在越来越多的行业都有广泛的应用,包括智能手机、无人机、视频监控等领域。

另一方面,摄像头应用正在从2d进入基于双目、多目摄像头的3d时代。例如在手机行业,通过广角摄像头和长焦摄像头的组合实现光学变焦功能,或者通过黑白和彩色摄像头的组合来提升图像质量,或者使用红外结构光摄像头模组来抓取人脸的3d点云,实现人脸识别。无人机行业,通过双目摄像头感知3d环境来实现无人机在飞行中避障。汽车行业,通过双目摄像头完成测距、3d环境感知来来辅助驾驶及支持自动驾驶。

摄像头的标定是实现以上双目摄像头3d应用的关键。在基于摄像头的测量及视觉应用中,物体点在空间的三维位置与其在图像中对应二维像素点位置之间的关系,数学上用几何投影模型来描述。该模型的参数一般通过对尺寸已知的标定图案(例如实心圆阵列或者黑白棋盘格)拍照、图像处理及计算得到,这个确定摄像头投影模型参数的过程即称之为标定。这些参数包括:内参数,指摄像头成像时的主点位置cx、cy及焦距fx、fy,此类参数只与摄像头本身相关;外参数,指摄像头在空间的位置,一般指摄像头在某一参照坐标系内的旋转向量r及平移向量t;畸变参数,指摄像头拍照过程中,物点在图像中实际对应像素位置与基于成像模型计算的理论投影点之间的偏差,该偏差一般由径向畸变参数k1、k2、k3及切向畸变参数p1、p2来描述。

当前摄像头量产生产线通用的标定解决方案有两个限制。其一,由于使用的标定算法要求从不同角度拍多张标定模板的图像,当前产线上或者旋转2d平面标定模板,或者使用由多块平面标定模板(互相之间有固定角度)拼接的标定立体模板。旋转标定模板的装置机构复杂,并且旋转拉长了测量时间,降低单位时间产量,从而增加了成本。多块平面标定模板拼接的立体模板除了成本增加以外,或者需要按一定角度精确固定,或者需要在使用前高精度测量立体模板本身。

带有自动对焦功能的摄像头,其镜头一般固定在一个电子及机械运动机构上,例如vcm马达(音圈马达)等。镜头在镜筒内由运动机构沿光轴前后推动,改变位置。镜头到成像芯片表面的距离改变(即像距发生了变化),摄像头对焦的景深也随之发生了变化,从而可以实现针对不同景深的对焦功能。针对这个功能的限制:带自动对焦的摄像头,对于每一个景深,镜头在镜筒里都有一个对应的位置,不同的位置其标定参数值也不同。理论上,摄像头需要在每个镜头位置,即对每一个景深深度都必须重新标定。目前的标定方案没有考虑镜头在镜筒位置变化引起的标定参数变化。



技术实现要素:

本发明的目的是提供一种自动对焦双目摄像头标定及深度计算方法,解决镜头在镜筒位置变化引起的标定参数变化问题。

为此,本发明提出的一种自动对焦双目摄像头标定方法包括产线标定过程,产线标定过程包括如下步骤:a1、获取一张来自标准标定距离处的标定模板图像;a2、分析和处理该标准标定距离处拍得的单张标定模板图像,计算得到该标准标定距离处该双目摄像头的标定参数;a3、根据事先得到的该种双目摄像头模组多个特定标定距离处标定参数与标准标定距离处标定参数的比例系数,由标准标定距离处测得的双目摄像头的标定参数计算出所述多个特定标定距离处的标定参数近似值;a4、将该近似值做为所述自动对焦双目摄像头的产线标定结果。

在一些实施例中,本发明还包括如下技术特征:

包括预标定过程,以得到步骤a3中所述的事先得到的该种双目摄像头模组多个特定标定距离处标定参数与标准标定距离处标定参数的比例系数,所述预标定过程包括如下步骤:y1、将某个待测双目摄像头模组依次放置到正对多个特定标定距离处的标定模板,拍摄标定模板图像,其中所述特定标定距离中至少有一个是所述标准标定距离;y2、基于所拍摄标定模板图像,计算该双目摄像头模组在各个特定标定距离处的标定参数,以及与标准标定距离处的标定参数的比例系数;y3、对多个该种双目摄像头模组循环执行上述标定和比例系数计算过程,求出所有模组比例系数的平均值,作为不同距离间焦距f及径向畸变参数k的最终比例。

步骤a1和步骤y1中,双目摄像头模组在每个距离标定时,用实心圆阵列作为标定模板图案。

步骤a2和y2中得到标定参数的方法包括基于一张标定模板的双目摄像头标定,所述双目摄像头标定过程的标定方法包括如下步骤:b1、左右摄像头各拍摄一张该距离时标定模板的图像;b2、在左右摄像头拍得的标定模板图像中,通过图像处理算法提取实心圆圆心所在的像素位置;;b3、基于该标定图像,计算双目摄像头各镜头的焦距,获取摄像头内参数、外参数、畸变参数的初始值;b4、基于levenberg-marquardt优化算法,对双目摄像头内参数、外参数、畸变参数进行优化,得到精确的双目摄像头标定参数;b5、计算此距离时该双目摄像头的相对位置参数。

在步骤b3进行双目摄像头标定初始值设定,预设图像的主点cx和cy的初始值为各自图像中心。

步骤b4中,通过将下述公式用levenberg-marquardt算法进行优化,当迭代的误差小于一个预设的阈值时,优化迭代结束,求得的结果k,r,t,k,p分别为该标定距离对应的内参数,外参数及畸变参数:

式中m为标定模板上实心圆圆心的位置,m为图像中该圆心点对应实际像素位置,为重投影位置,即实心圆圆心在中心投影后、因图像畸变而偏移计算出来的像素位置,k为摄像头的内参数,旋转向量r和平移向量t是摄像头的外参数,k=[k1k2k3]为径向畸变参数,p=[p1p2]为切向畸变参数。

步骤b5中,左、右摄像头分别进行单目相机的标定以后,两个摄像头本身的相对位置为:

其中,rl、tl为左摄像头的空间位置,rr、tr为右摄像头的空间位置。

步骤y3中,水平方向的焦距fx的比例系数计算如下

其中,为特定标定距离处的水平焦距参数,为标准标定距离处的焦距参数,为所有lc个预标定模组标定参数fx在特定标定距离处与标准标定距离米处比例系数的平均值。

本发明还提出一种深度计算方法,利用上述方法所得到的标定结果,针对后续摄像头使用时的每对新拍图像,进行双目摄像头标定参数的在线更新和深度计算。

在本发明的一些实施例中,在深度测试时,从所诉的特定标定距离中,选择离当前拍图时镜头位置最近的一组标定参数来计算深度,计算步骤如下:d1、基于初步计算得到的深度值,通过重投影误差平方和函数的最小化,对摄像头参数重新进行标定;d2、利用更新过的摄像头标定参数重新计算当前所拍图像的深度信息;d3、以上两步d1、d2循环迭代,直到重投影误差平方和函数值不再减小。至此,当前图像的深度计算完成,本发明通过在线标定参数更新和迭代,得到了更精确的标定参数和深度值。

在一些具体实施例中,本发明具有以下的优点和效果:

本发明通过预标定求出了比例系数,这样就能实现产线阶段只标定一个距离,从而提高生产效率:产线上,每个摄像头只在一个距离标定,并且只使用一张平面标定模板,而且该标定模板不需要旋转。与当前通用的需要多个角度拍图的标定方法相比,节省了产线标定时间,提高了单位时间产量,降低了生产成本。

基于试制时期的预标定以及由此得到的不同距离间标定参数的比例系数,根据产线上特定距离(如1.0米)处的标定结果,可以计算出其他(n-1)个标定距离对应的双目摄像头参数,总共得到n组双目摄像头标定参数。多组标定参数以及后续标定参数的在线更新,有效地补偿了自动对焦摄像头拍照过程中镜头位置变化造成的参数差异,从而提高了深度计算的精度,因为使用时基于当前所拍图像的在线更新,就能最终提供一个精确的标定参数,而不仅是一个近似值,可以优化摄像头3d应用的效果,提升用户体验,增强产品竞争力。

附图说明

图1a是本发明实施例三个阶段示意图。

图1b、1c是本发明实施例标定装置预标定双目摄像头模组的流程步骤示意图。

图2a-2d本发明实施例的双目摄像头试制时预标定装置的四种结构图。

图3是本发明实施例的一个标定模板示意图。

图4是本发明实施例双目摄像头模组在每个距离标定时标定方法的流程示意图。

图5是本发明实施例场景物体表面一点p为例深度信息计算示意图。

具体实施方式

如图1a所示,本发明公开的标定装置标定双目摄像头模组的步骤总共分为三个阶段:试制阶段预标定、产线阶段标定和使用阶段在线更新。因为预标定求出了系数,使得能实现产线阶段只标定一个距离,从而提高生产效率。因为使用时的在线更新,使得能最终提供一个精确的标定参数,而不仅是一个近似值。

第一阶段:试制阶段,在四个距离处进行标定,计算各距离间标定参数比例系数;

如图1b、1c所示。在一个批次的双目摄像头试制时,收集n个(20到200个)双目摄模头模组,在生产线外,例如实验室里,进行这一批次双目摄像头的预标定。

预标定流程如下:在n个距离处(n可以根据后续双目摄像头应用的要求、产线时间要求及实验室设备尺寸大小要求等适当选择。本实施例以四个距离为例说明,分别为0.5,1.0,1.5,2.0米,下同)各放一块2d平面的标定模板,每个标定距离只拍一对该距离处标定模板的图像,且该标定模板不需要旋转。分析和处理该距离处拍得的各一张标定模板图像,可计算得到这个距离对应的双目摄像头标定参数。对应四个标定距离,总共得到四组双目摄像头的标定参数。双目摄像头试制时预标定装置的结构图如图2a、图2b、图2c、图2d所示。

所用的标定模板如图3所示,该标定方案采用实心圆阵列作为标定模板图案,该实心圆阵列由c行xl列个实心圆组成。每个实心圆大小相同,半径一致,且水平及垂直方向圆心距均相同。每个距离的标定图案均一致,均由cxl个实心圆组成。每个距离的标定图案的圆半径及圆心距与双目摄像头到该标定模板的距离成正比。

选取其中一个距离,比如1.0米处,做为标准标定距离,根据这些参数,分别求出每个模组在其他三个距离时(0.5,1.5,2.0米)其焦距f及径向畸变参数k对于1.0米标定距离处的焦距f及径向畸变参数k的比例系数。所有模组在一个距离处(0.5,1.5,2.0米)的比例系数求平均值,作为该距离时焦距f及径向畸变参数k相对于1.0米时焦距f及径向畸变参数k的最终比例。

由此可见,预标定可以分为如下几个步骤:

第一步:待测模组放置到正对0.5m处标定模板,拍摄标定模板图像,标定程序计算0.5m处标定参数;

第二步:待测模组放置到正对1.0m处标定模板,拍摄标定模板图像,标定程序计算1.0m处标定参数;

第三步:待测模组放置到正对1.5m处标定模板,拍摄标定模板图像,标定程序计算1.5m处标定参数;

第四步:待测模组放置到正对2.0m处标定模板,拍摄标定模板图像,标定程序计算2.0m处标定参数;

第五步:计算该双目摄像头模组0.5,1.5,2.0米处标定参数与1.0米处标定参数的比例系数;

第六步:对试制的每个双目摄像头模组循环执行上述标定参数和比例系数计算。求出所有模组比例系数的平均值,作为这种摄像头不同距离间焦距f及径向畸变参数k的最终比例。

第二阶段:产线阶段,在1.0m处标定双目摄像头,计算其他三个距离的标定参数。

在该批次双目摄像头模组的预标定完成后,开始产线上每个双目摄像头的标定。产线上,在1.0米放一块2d平面的标定模板,每个摄像头只拍一对该标定模板的图像,该标定模板不需要旋转。分析和处理该距离处拍得的各一张标定模板图像,可计算得到1.0米处该双目摄像头的标定参数。由于不同距离间的标定参数焦距fx、fy及径向畸变参数k1、k2、k3存在一个近似的线性关系,基于预标定时计算出的其他标定距离的焦距fx、fy及径向畸变参数k1、k2、k3相对于1.0米处标定参数的比例系数,可以由1.0米处测得的双目摄像头标定参数计算出其他距离的标定参数近似值。基于该近似值,可以针对后续摄像头使用时的每张新拍图像,进行双目摄像头标定参数的在线更新和深度计算。

由此可可见,产线阶段可分为如下几步:

第一步:待测模组放置到正对1.0m处标定模板,拍摄标定模板图像,标定程序计算1.0m处标定参数;

第二步:根据试制时计算的这种双目摄像头模组0.5,1.5,2.0米处标定参数与1.0米处标定参数的比例系数,计算其他三个距离0.5,1.5,2.0米的标定参数;

其中,对于试制阶段或者产线阶段,双目摄像头模组在每个距离标定时,标定方法的流程相同,所用的标定模板图案也相同,仍为如图3所示的模板。

流程如图4所示,具体如下:

1、左右摄像头各拍摄获取一张该距离时标定模板的图像;

2、在左右摄像头拍得的标定模板图像中,通过图像处理算法提取实心圆圆心所在的像素位置;

3、基于该标定图像,计算双目摄像头各镜头的焦距,获取摄像头内参数、外参数、畸变参数的初始值;

4、基于levenberg-marquardt优化算法,对双目摄像头内参数、外参数、畸变参数进行优化,得到精确的双目摄像头标定参数;

5、计算此距离时该双目摄像头的相对位置参数。

对于试制阶段或者产线阶段,双目摄像头模组在每个距离标定时使用同一种双目摄像头标定装置,该装置包括:

获图单元,用于获取一对标定模板图像,通过拍摄标定模板得到;

提取单元,用于在标定模板图像中侦测实心圆,以提取圆心像素位置;

标定单元,计算或设定双目摄像头内参数、外参数(旋转向量和平移向量)和畸变参数的初值,准备下一步标定参数优化,见公式(9)、(10)。

优化单元,基于所有圆心点重投影误差平方和的最小化,利用公式(1)用levenberg-marquardt算法对双目摄像头的内参数、外参数和畸变参数进行优化,得到精确的标定结果。

位置确定单元,基于上一步标定得到的两个摄像头相对于同一标定模板的空间位置,确定双目摄像头的相对位置,见公式(11)。

第三阶段:使用阶段,标定参数和深度信息的在线更新计算。

在线更新时,不再使用实心圆点阵标定模板,而是直接使用被摄场景中的特征点,标定方法本身不变。具体地,在后续的用户使用双目摄像头阶段,对当前所拍图像计算深度的步骤如下:读取当前拍图时vcm马达位置,比较当前vcm马达位置和四组标定参数对应的vcm马达位置,选择vcm马达位置距离最近的一组标定参数来计算深度。即:在深度测试时,选择离当前拍图时镜头位置最近的一组标定参数来计算深度,计算步骤如下:

1).基于初步计算得到的深度值,通过重投影误差平方和函数的最小化,对摄像头参数重新进行标定:

被摄场景中的每一个特征点(特征点是指图像灰度值发生剧烈变化的点或者在图像边缘上曲率变化较大的点,例如边缘的交点、角点等)拍照时在图像中生成一个对应的像素点。依照基于小孔成像原理的投影模型及上述畸变模型,每个特征点也可以计算出一个理论成像位置(包含畸变产生的偏移)。实际图像点和该理论像素位置的偏差称为重投影误差。摄像头的标定参数,应使得所有场景特征点的重投影误差的平方和最小,此时该投影模型最准确地描述了这个景深深度该摄像头的光学成像投影过程。如下式所示:

其中m为场景特征点的3d位置,m为图像中该特征点对应像素位置,为重投影位置,即特征点在中心投影后、因图像畸变而偏移计算出来的像素位置,k为摄像头的内参数,旋转向量r和平移向量t是摄像头的外参数,k=[k1k2k3]为径向畸变参数,p=[p1p2]为切向畸变参数。该方程用levenberg-marquardt,列文伯格-马夸尔特算法进行优化,若干个迭代以后,当迭代的误差小于一个预设的阈值时,优化迭代结束,求得的结果k,r,t,k,p分别为该标定距离对应的内参数,外参数及畸变参数。经过该非线性优化得到的双目摄像头标定参数更精确。

2).利用更新过的摄像头标定参数重新计算当前所拍图像的深度信息;

深度信息计算如下:如图5所示,以场景物体表面一个特征点p为例,在左摄像头坐标系内,其光心c1坐标为原点,点p在左摄像头成像对应点m1的坐标为[x1y1f1]。在右摄像头坐标系内,其光心c2坐标为原点,点p在右摄像头成像对应点m2的坐标为[x2y2f2]。c1及m1在右摄像头坐标系的坐标分别为p点坐标即为c1、m1连线与c2、m2连线在右摄像头坐标系下的交点,其深度信息为该交点的z轴坐标。

3).以上两步1)、2)循环迭代,直到重投影误差平方和函数值不再减小。至此,当前图像的深度计算完成,通过标定参数的在线更新和迭代,得到了更精确的标定参数和深度值。

下面再从数学原理层面对上述总体方案构思的具体实现做进一步介绍:

1.单目摄像头标定初始值设定

空间一个3d点(可为实心圆圆心或被摄场景中的特征点)在参照坐标系的齐次坐标为[xyz1],假定该点在摄像头拍照所得的像素齐次坐标为[xy1]。根据基于小孔成像的投影模型,标定模板实心圆圆心[xy1]按下列关系投影到图像上,得到对应的成像像素点[xy1](此处针对平面标定模板的情况,z坐标假定为0)

其中σ是尺度因子。旋转向量r和平移向量t是摄像头的外参数,描述摄像头在参照坐标系的空间位置。k为摄像头的内参数,其定义为

其中fx和fy为水平及垂直方向的焦距,cx及cy是图像的主点。

基于每张拍摄的标定模板的图像,可以计算出其对应的单应矩阵

其中hj是第j列(j=1,2,3)的列向量,hij是第i行第j列(i,j=1,2,3)的h矩阵元素。单应举证通过最小化计算得到,其中是h的第i行,mi及mi分别为空间点和对应的图像像素点。根据单应矩阵的定义有:

[h1h2h3]=k[r1r2t](5)

根据旋转矩阵的性质,r1和r2是正交单位向量,从而有

其中

由(6)、(7)分别得到

h11h12·b11+(h31h12+h11h32)·b13+h21h22·b22+(h31h22+h21h32)·b23+h31h32·b33=0(9)

在摄像头生产的过程中,在光学镜头和成像芯片耦合组装时,要求图像的主点离成像芯片中心点不超出一定像素范围。基于此事实,本实施例预设主点cx和cy的初始值为图像中心。(9)、(10)式中,单应矩阵h可以通过拍摄的标定模板图像求得,其元素hij(i,j=1,2,3)为已知;cx和cy为图像中心点,为已知,bij是摄像头内参数焦距fx、fy和主点cx、cy的数学组合,是计算过程中出现的中间量,bij中仅有两个未知数fx和fy,从而两个方程组(9)、(10)可以解出两个内参数:焦距fx和fy的初始值。双目摄像头在参照坐标系内的空间位置初始值可以根据摄像头相对于标定模板的位置及双目摄像头的类型来预估。以手机双目摄像头模组为例,由于两个摄像头光轴近似平行,相对旋转矩阵r的初始值设定为单位矩阵径向畸变参数[k1k2k3]和切向畸变参数[p1p2]初始值一般设定为零。

2.单目摄像头标定参数优化

如前已述,摄像头的标定参数,应使得所有空间点(例如标定模板上实心圆圆心或被摄场景特征点)的重投影误差的平方和最小,此时该投影模型最准确地描述了这个景深深度该摄像头的光学成像投影过程。故可通过将前述公式(1)用levenberg-marquardt(列文伯格-马夸尔特)算法进行优化,若干个迭代以后,当迭代的误差小于一个预设的阈值时,优化迭代结束,求得的结果k,r,t,k,p分别为该标定距离对应的内参数,外参数及畸变参数。经过该非线性优化得到的双目摄像头标定参数更精确。

3.双目摄像头的相对位置关系

双目摄像头进行标定时,左、右摄像头分别进行单目相机的标定以后,两个摄像头相对于同一个平面标定模板的位置已知,左摄像头的空间位置为rl、tl,右摄像头的空间位置为rr、tr,从而可以推算出两个摄像头本身的相对位置为

4.不同距离间标定参数的关系

对于两个光轴平行的双目摄像头,在摄像头生产的过程中,左、右摄像头耦合组装时,要求两个光轴的偏差不超出一定角度范围。理想情况下,摄像头镜头沿光轴方向移动,在垂直于光轴的平面上偏移很小。基于此,标定参数焦距fx、fy的变化由摄像头在光轴方向的位移量决定,从而不同距离对应的焦距参数其比例关系固定。

根据镜头光学设计,对于不同景深,镜头的径向畸变有小幅变化。每个景深距离对应的畸变曲线固定,从而不同距离间的径向畸变参数k1、k2、k3也存在一个近似的线性比例关系。镜头的切向畸变主要由镜头的偏心和倾斜引起,以手机镜头为例,镜片组装时要求偏心及倾斜控制在很小的范围内,实际镜头的切向畸变一般很小(接近于零)。基于此,可以假定不同距离间的切向畸变参数[p1p2]保持一致。

试制阶段的双目摄像头分别在n个距离(此处以四个距离为例说明,分别为0.5,1.0,1.5,2.0米)预标定完成以后,每个双目摄像头共有对应n个距离的n组标定参数。根据预标定模组(20到200个)的参数焦距fx、fy及径向畸变参数k1、k2、k3的结果,求出每个模组不同距离间焦距f及径向畸变参数k的比例系数。概率统计地,采用所有模组比例系数的平均值作为不同距离间焦距f及径向畸变参数k的最终比例。水平方向的焦距fx的比例系数计算如下

其中,为标定距离d处(d=0.5,1.5,2.0)的水平焦距参数,为标定距离1.0米处的焦距参数,为所有lc个预标定模组标定参数fx在标定距离d处与标定距离1.0米处比例系数的平均值。类似地,可以计算出标定参数fy、k1、k2、k3的比例系数

产线上,在1.0米处使用一块平面标定模板,测得1.0米处该双目摄像头的标定参数。基于上述不同距离间焦距fx、fy及径向畸变参数k1、k2、k3的比例系数,可以由1.0米处测得的双目摄像头标定参数计算出其他距离的标定参数近似值。

5.标定参数及深度信息的在线更新计算

产线上,双目摄像头在1.0米处标定,其他(n-1)个距离(此处以0.5,1.5,2.0米三个距离为例)的双目摄像头的标定参数根据上述近似的线性比例得到。基于这些标定参数近似值,可以针对摄像头使用时的每张新拍图像,进行双目摄像头标定参数的在线更新和深度计算。

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

优势一:产线上,每个摄像头只在一个距离标定,并且只使用一张平面标定模板,而且该标定模板不需要旋转。与当前通用的需要多个角度拍图的标定方法相比,节省了产线标定时间,提高了单位时间产量,降低了生产成本。

优势二:基于试制时期的预标定以及由此得到的不同距离间标定参数的比例系数,根据产线上1.0米处的标定结果,可以计算出其他(n-1)个标定距离对应的双目摄像头参数,总共得到n组双目摄像头标定参数。多组标定参数以及后续标定参数的在线更新,有效地补偿了自动对焦摄像头拍照过程中镜头位置变化造成的参数差异,从而提高了深度计算的精度,可以优化摄像头3d应用的效果,提升用户体验,增强产品竞争力。

具体实施例:

图2a、图2b、图2c、图2d是双目摄像头试制时预标定装置的结构图。在四个距离(标定距离可以根据后续双目摄像头应用的要求、产线时间要求及实验室设备尺寸大小要求等适当选择。此处以四个距离为例说明,下同)各放一块2d平面的标定模板:0.5,1.0,1.5,2.0米。双目摄像头模组依次放置到正对标定模板的位置,即双目摄像头光轴垂直于标定模板,摄像头静态拍图,标定算法计算摄像头标定参数。完成本距离标定后,摄像头移至下一个距离标定位,四个距离标定完成后,求出每个模组不同距离间焦距f及径向畸变参数k的比例系数。待全部预标定模组(20到200个)标定完成后,求出所有模组比例系数的平均值,作为不同距离间焦距f及径向畸变参数k的最终比例。

双目摄像头产线上标定装置的结构图与图2b是相同的。仅在1.0米处放一块2d平面的标定模板。双目摄像头模组放置到正对标定模板的位置,即双目摄像头光轴垂直于标定模板,摄像头静态拍图,标定算法计算摄像头1.0米处标定参数。完成1.0米深度距离标定后,基于试制时期的预标定时得到的不同距离间标定参数的比例,计算出其他三个标定距离0.5,1.5,2.0米处对应的双目摄像头参数,总共得到四组双目摄像头标定参数。

实施例一

本实施例分为三个阶段:试制阶段、产线阶段和使用阶段。以下为详细的实施步骤:

第一阶段:试制阶段,采用50个双目摄像头模组在四个距离处(0.5,1.0,1.5,2.0米)进行标定,计算各距离间标定参数比例系数

第一步:待测模组放置到正对0.5m处标定模板,拍摄标定模板图像,标定程序计算0.5m处标定参数

获取一幅标定模板图像,通过拍摄标定模板得到;(对应于s1)

标定模板一般为带有固定间距的重复图案,例如黑白棋盘格标定模板、等间距实心圆阵列标定模板等。在本实例中,每个标定距离只需要拍一张标定模板图像,并且在拍摄时左右两个摄像头光轴均垂直于标定模板,使得标定图像图案清晰且不存在因拍摄角度引起的图案变形。另外由于标定模板置于led面板灯上,标定图案和白色背景对比强烈,标定图案边缘清晰,易于抽取。基于以上两点有利因素,本实施例中采用实心圆阵列标定模板。

根据标定模板中水平和垂直方向上实心圆的个数和圆心距,确定实心圆阵列在标定模板坐标系中的分布,得到圆心的齐次坐标[xy1]。

对所述标定模板图像进行实心圆检测,以提取圆心点;(对应于s2)

在三维场景重建等计算机视觉领域,经常利用重复的实心圆来构建标定图案,通过固定的圆半径及圆心距来确定标定模板尺寸。实心圆圆心具有易侦测、位置精度高、匹配可靠,实时处理等优势。目前的圆心检测算法包括:基于blob区域分析的圆心检测、基于边缘抽取的圆心检测、基于霍夫hough变换的圆心检测等。本实例中,在标定图像拍摄完成后,基于图像灰度值侦测实心圆区域,求取圆区域质心作为圆心像素位置的齐次坐标[xy1]。该图像处理步骤计算简单,实时性强。

计算或设定双目摄像头内参数、外参数(旋转向量和平移向量)和畸变参数的初值;(对应于s3)

在计算机视觉中,空间物体上一点与其通过成像系统在像平面上投影位置的相互关系,一般由摄像头(或相机)系统的几何投影模型来描述。常用的投影模型是光学中基于小孔成像原理的中心投影。该模型中,物体上一点穿过投影中心,即镜头的光心,沿直线投影在成像芯片上。基于该投影模型,标定模板实心圆圆心[xy1]投影到图像上,得到对应的成像像素点[xy1],两者满足前述公式(2)(3)所列关系。

基于每张拍摄的标定模板的图像,可以按前述公式(4)-(10)计算出其对应的单应矩阵。

在摄像头生产的过程中,在光学镜头和成像芯片耦合组装时,要求图像的主点离成像芯片中心点不超出一定像素范围。因此预设主点cx和cy的初始值为图像中心。(9)、(10)式中,单应矩阵h可以通过拍摄的标定模板图像求得,其元素hij(i,j=1,2,3)为已知;cx和cy为图像中心点,为已知,bij是摄像头内参数焦距fx、fy和主点cx、cy的数学组合,是计算过程中出现的中间量,bij中仅有两个未知数fx和fy,从而两个方程组(9)、(10)可以解出两个内参数:焦距fx和fy的初始值。双目摄像头在标定模板坐标系内的空间位置初始值可以根据摄像头相对于标定模板的位置及双目摄像头的类型来预估。以手机双目摄像头模组为例,由于两个摄像头光轴近似平行,相对旋转矩阵r的初始值设定为单位矩阵

由于镜头存在光学畸变,实际投影的像素点一般在图像上会有一个小幅偏移。引起图像畸变的主要有以下原因:镜片表面加工误差导致其径向曲率存在缺陷;每个镜片的光学中心不能严格的保持共线,产生了偏心误差;由于镜头设计、生产以及摄像头组装过程中的公差,镜头与成像芯片不平行,有倾斜。以上误差导致图像同时在径向和切向产生畸变。径向畸变是指实际图像点在它的理想位置和光心连线上,即径向上,向内或向外移动。切向畸变是指实际图像点在垂直于径向的方向,即切向上,出现偏移。

前述基于中心投影模型的理论像素位置[xy]受畸变影响,发生偏移,其实际投影位置用下列关系来模拟

其中,[k1k2k3]为径向畸变参数,[p1p2]为切向畸变参数,r2=x2+y2。一般情况下摄像头使用的镜头的畸变比较小,因此径向和切向畸变参数的初始值一般设定为零。

对双目摄像头的内参数、外参数和畸变参数进行优化,得到精确的标定结果(对应于s4):利用对上述公式(1)的非线性优化得到更精确的双目摄像头标定参数。

确定双目摄像头的相对位置(对应于s5):利用前述公式(11)推算出两个摄像头本身的相对位置。

第二步:待测模组放置到正对1.0m处标定模板,拍摄标定模板图像,标定程序计算1.0m处标定参数。

第三步:待测模组放置到正对1.5m处标定模板,拍摄标定模板图像,标定程序计算1.5m处标定参数。

第四步:待测模组放置到正对2.0m处标定模板,拍摄标定模板图像,标定程序计算2.0m处标定参数。

以上三步为第一步在不同距离处的重复,在此不再描述。

第五步:计算每个双目摄像头模组0.5,1.5,2.0米处标定参数与1.0米处标定参数的比例系数:

对于两个光轴平行的双目摄像头,在摄像头生产的过程中,左、右摄像头耦合组装时,要求两个光轴的偏差不超出一定角度范围。理论上焦距fx、fy的变化由摄像头在光轴方向的位移量决定,从而不同距离对应的焦距参数其比例关系固定。根据镜头光学设计,对于不同景深,镜头的径向畸变有小幅变化。每个景深距离对应的畸变曲线固定,从而不同距离间的径向畸变参数k1、k2、k3也理论上存在一个近似的线性关系。

第六步:对试制的每个双目摄像头模组循环执行上述标定和比例系数计算。求出所有模组比例系数的平均值,作为不同距离间焦距f及径向畸变参数k的最终比例。水平方向的焦距fx的比例系数计算如前述公式(12),其他比例系数如前述公式(13)。

第二阶段:产线阶段,1.0m处标定双目摄像头,计算其他三个距离的标定参数

第一步:待测模组放置到正对1.0m处标定模板,拍摄标定模板图像,标定程序计算1.0m处标定参数。

本步骤是第一阶段第一、二、三、四步的重复,在此不再重复描述。

第二步:根据试制时计算的双目摄像头模组0.5,1.5,2.0米处标定参数与1.0米处标定参数的比例系数,计算其他三个距离0.5,1.5,2.0米的标定参数

依据不同距离间标定参数焦距f及径向畸变参数k的比例关系,基于一个深度距离标定参数,可以计算出其他标定距离对应的双目摄像头参数,这些参数作为双目摄像头标定参数在线更新的初始值。

产线上,在1.0米处使用一块平面标定模板,测得1.0米处该双目摄像头的标定参数。基于上述不同距离间焦距fx、fy及径向畸变参数k1、k2、k3的比例系数,可以由1.0米处测得的双目摄像头标定参数计算出其他距离的标定参数近似值。

其中,为标定距离d处(d=0.5,1.5,2.0米)的水平焦距参数,为标定距离1.0米处的水平焦距参数,为所有lc个预标定模组标定参数fx在标定距离d处与标定距离1.0米处比例的平均值。类似地,可以计算出其他标定参数fy、k1、k2、k3的值

第三阶段:使用阶段,标定参数和深度信息的在线更新计算

在后续的用户使用双目摄像头阶段,对当前所拍图像计算深度的步骤如下:当双目摄像头分别在四个距离0.5,1.0,1.5,2.0米标定完以后,总共得到四组双目摄像头的标定参数。在深度测试时,读取当前拍图时vcm马达位置,比较当前vcm马达位置和四组标定参数对应的vcm马达位置,选择vcm马达位置距离最近的一组标定参数来计算深度。计算步骤如下:

1).基于计算得到的深度值,通过重投影误差平方和函数的最小化,对摄像头参数重新进行标定。如前述公式(1)及其描述。

2).利用更新过的摄像头标定参数重新计算当前所拍图像的深度信息;以场景物体表面一点p为例,该点深度信息计算如图5所示,其深度信息为c1、m1连线与c2、m2连线交点的z轴坐标。3).以上两步1)、2)循环迭代,直到重投影误差平方和函数值不再减小,此时该投影模型最准确地描述了这个景深深度该摄像头的光学成像投影过程。至此,当前图像的深度计算完成,通过标定参数的在线更新和迭代,得到了更精确的标定参数和深度值。

本实施例中提供的参数标定方法能够应用于带自动对焦功能的摄像头(或相机)标定,并且产线上只采用一张标定模板进行参数标定,相比现有通用的标定方法,具有简单、高效的优点。另外,该装置提供在四个距离处的摄像头标定参数,可以更好地补偿标定参数因镜头位置变化而引起的差异,后续深度计算时标定参数的在线更新也使得深度信息更准确。

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