一种可动视觉系统的立体标定方法与流程

文档序号:16682408发布日期:2019-01-19 00:38阅读:255来源:国知局
一种可动视觉系统的立体标定方法与流程

本发明涉及一种视觉系统的立体标定方法,特别涉及视觉系统中至少一目独立可动的多目(两目及以上)视觉系统的立体标定方法。



背景技术:

现有视觉系统以相机数目区分主要有单目、多目视觉系统这两种,其中又以相机位置是否可动分为固定视觉系统和可动视觉系统。单目视觉系统因结构简单、成本低廉而应用广泛,但是单一相机无法获取视野物体的深度信息。多目相机又以双目应用最为广泛,多目相机可以获得立体影像,但是为了计算视野中物体的深度信息需要事先标定各个相机的内参信息以及各相机间的外参信息。

固定双目相机之间相对位置固定,只需要进行一次标定就可以计算双目相机之间的相对位置关系,其相关标定算法已非常成熟,应用也很广泛,例如基于3d立体靶标的相机标定算法、基于2d平面靶标的相机标定算法等,以此衍生到固定多目视觉系统,可通过两两标定多目之间相对位置关系,即可获得多目相机之间的相对位置关系。

可动多目视觉系统由于使用过程中多摄像机会发生运动,虽然各个相机的内参信息不随相机运动而发生变化,但是外参信息会随着相机的运动发生变化,这时候如果想要计算视野中物体的深度信息,就需要知道摄像机运动后精确的外参信息。

此外,可动多目视觉系统结构中存在机械运动的部分,受限于现有机械加工水平以及安装工艺的限制,无法保证各个机械转轴严格精准的按照设计要求运动,同时摄像元件与机械转轴的相对位置也难以保证,而立体视觉对于多相机之间的位置关系精度有很高的要求,此时如果需要有好的立体视觉效果,需要尽可能消除这方面的误差。

目前基于固定双目及衍生的固定多目的相关标定算法已比较成熟,应用也很广泛,例如著名的张氏标定法(张正友1998年发表的论文“aflexiblenewtechniqueforcameracalibration”),但是基于可动多目视觉系统的标定并无相关成熟通用的方法。



技术实现要素:

为了克服现有技术中存在的在可动多目视觉系统工作时摄像机会发生运动的情形下传统立体标定算法无法实时获取摄像机的外参信息等问题,本发明提供一种可动视觉系统立体标定方法,即使多个摄像机部件相对位置发生了变化且各个轴、摄像部件的相对位置由于机械加工、组装等环节导致的存在误差的情况下,仍能根据各个轴上的位置记录组件实时计算摄像部件之间相对位置关系。

本发明提出的可动视觉系统的立体标定方法,通过获取的一系列影像信息以及各个运动自由度的位置信息计算出可动多目系统的标定参数,之后可通过该标定参数以及各个运动自由度的运动信息实时计算摄像部件的外参信息。

具体的,本发明提供的可动多目视觉系统的立体标定方法,所述可动多目视觉系统包括:

至少两套摄像部件,每一套所述摄像部件包括至少一个可获取连续图像的摄像元件;每一套所述摄像部件具有任意数目运动自由度;每个所述运动自由度安装有可获取转动或平移信息的位置获取装置;

至少一个计算部件,所述计算部件可计算处理图像信息以及各个运动自由度的运动信息;

至少一个控制部件,所述控制部件可控制各个运动自由度的运动;

所述立体标定方法可包括:记录基准位置处各个摄像部件的每个运动自由度的位置信息;在基准位置处进行立体标定获取摄像元件间精确的相对位置参数;在所述摄像元件前方放置所述标定模板,驱动各个摄像元件在各个运动自由度下运动,使用相应的摄像元件记录下一组或多组包含完整标定模板的图像,同时记录下获取该图像时相应的各个运动自由度的位置信息,通过所述计算部件计算获得所述摄像元件与各个运动自由度的标定结果,所述标定结果包括各个运动自由度的转轴相对于摄像元件的旋转矩阵和平移矩阵。

其中,所述位置获取装置可安装在每个运动自由度上,获取相应的运动自由度的运动信息。

具体地,本发明提及的可动视觉系统包括:若干个摄像部件,每个摄像部件具有任意数目可通过位置记录组件获取位置信息的运动自由度(全部的摄像元件不能都为零个运动自由度),且各个摄像部件所包含的摄像元件可以拍摄连续影像;一个计算部件,用于处理相关数据并计算出需要的结果;一个控制部件,用于控制视觉系统中运动自由度及从位置记录组件获取各个运动自由度的位置信息。

本发明以双目可动视觉系统立体标定为基础,进一步地,对于大于二目的多目可动视觉系统,可以简化为多目中二目的分别标定,例如,如果需要大于双目的多目中某两个摄像元件的立体标定结果,对该双摄像元件进行双目可动视觉系统的立体标定即可。一般我们统一记录一个基准位置,然后对该基准位置中后面需要双目可动立体标定的先进行固定双目标定,得到固定双目立体标定的双摄像元件的旋转平移位置关系,后续利用本发明后续步骤即可得到该双摄像元件发生运动后的实时立体标定结果。

其中,所述标定模板为可提取固定特征并已知特征相对位置信息的标定模板。例如人工制作的各类2d、3d立体靶标,或者一些固定的自然场景,要求能够通过图像处理算法提取固定的特征信息,并且可以获知这些特征信息之间的相对位置关系。一般在实际应用中,为提高标定结果精度和降低标定过程难度,多使用精密加工的3d立体靶标或者2d平面靶标作为标定模板。

本发明可动视觉系统的立体标定方法,可包括以下步骤:

(1)基准信息获取:

确定各个运动自由度的某个位置作为基准位置、记录下各个摄像元件的各个运动自由度的位置信息,得到基准位置信息k代表摄像部件序号,a代表运动自由度序号,按照各个运动自由度连接顺序依次编号,k为整个系统中的摄像部件数目,nk为第k个摄像部件的运动自由度数目,整个系统总的运动自由度数目为

(2)立体标定:

以双目立体标定为基础,所以对大于二目的多目分别进行立体标定,包括:在需要立体标定的双摄像元件公共视野区域放置标定模板,记录获取的图像信息,使用固定双目相机标定算法来得到一组双目立体标定结果(ri(x,y),ti(x,y)),ri(x,y),ti(x,y)分别为双摄像元件之间的旋转矩阵和平移矩阵。如果有多个需要进行立体标定的双摄像元件,重复上述立体标定步骤,得到多组双目立体标定结果{ri(x,y),ti(x,y)},1≤x,y≤k,k为整个系统中的摄像部件数目。

(3)运动轴标定:

将标定模板固定放置于需要运动轴标定的摄像元件视野区域,转动第a个运动轴若干次,记录下每次转动的图像信息和各个运动轴的位置信息,利用多次转动得到的图像序列使用标定算法进行计算,得到拍摄的每张图片相对于标定模板位置的旋转和平移变换矩阵{raci,taci},i=1…pa,然后重复上述步骤,转动另一个运动轴,直至将所有运动轴全部完成上述步骤。将标定结果中运动轴相对于基准位置的转动角度{θai1-θi1,…,θain-θin},i=1…pa转化为旋转矩阵将上述结果代入各个运动自由度转轴坐标系与摄像元件坐标系关系模型:

rbca,tbca分别为第a个运动自由度转轴相对于摄像元件坐标系的旋转矩阵和平移矩阵,nk为第k个摄像部件的运动自由度数目,rbai为第a个运动轴相对于基准位置的转动角度转化的旋转矩阵,raci,taci分别为第a个运动轴运动时拍摄的第i张图片的图像坐标系相对于标定模板位置的旋转和平移变换矩阵,pa为系统在标定过程第a个运动轴转动取到的全部有效图片数目,最后得到若干组等式,求解该组等式最优解即得到每个运动轴的标定结果:

(4)标定结果计算:

利用上述步骤得到基准信息立体标定结果{ri(x,y),ti(x,y)},1≤x,y≤k和各个运动自由度转轴与摄像元件的旋转平移矩阵获取实际应用中整个可动视觉系统的需要立体标定结果的双目(双目序号分别为x,y,1≤x,y≤k,并且设x为双目子视觉系统中的“左眼”,y为双目子视觉系统中的“右眼”)各个运动自由度的位置信息结合基准位置信息,得到各个自由度转角将其转化为矩阵形式代入运动自由度转轴坐标系与摄像元件坐标系关系模型(本发明独创):

其中,r′和t′分别是该可动双目视觉子系统发生运动后的双摄像部件外参结果中的旋转矩阵和平移矩阵结果,rbca,tbca分别为第a个运动轴相对于摄像元件坐标系的旋转矩阵和平移矩阵,nk为第k个摄像部件的运动自由度数目,x,y为双目序号,并且设x为双目子视觉系统中的“左眼”序号,y为双目子视觉系统中的“右眼”序号,ra为第a个运动轴相对于基准位置的转动角度转化的旋转矩阵,ri(x,y),ti(x,y)分别为基准位置处“左眼”与“右眼”的相对旋转矩阵和平移矩阵。

其中,步骤(2)、(3)的次序可以变换。

本发明所述标定系统立体标定方法中所述步骤(1)中,初始信息获取:选取各个运动自由度的某个位置作为基准位置,基准位置应当满足:需要进行立体标定的摄像元件之间具有一定的公共视野区域。记录下各个摄像部件各个运动自由度的位置信息得到基准位置信息k代表摄像部件序号,k为整个系统摄像部件数目,nk为第k个摄像部件的运动自由度数目,整个系统总的运动自由度数目为

所述步骤(2)中,立体标定:前文提及本发明标定以双目立体标定为基础,所以对大于二目的多目分别进行立体标定。在需要立体标定的双摄像元件(双目序号设为x,y,1≤x,y≤k,并且设x为双目子视觉系统中的“左眼”,y为双目子视觉系统中的“右眼”)公共视野区域放置标定模板,记录获取的图像信息(此处根据后面具体使用的算法可能需要通过变换标定模板姿态来获取多组记录的图像信息)。然后使用固定双目相机标定算法(本发明中举例使用张正友教授1998年提出的单平面棋盘格的摄像机标定方法,或其他此类算法,部分算法对图像数据数量有要求,可根据要求变换标定模板姿态来获取多组图像数据)来得到双目立体标定结果(ri(x,y),ti(x,y)),ri(x,y),ti(x,y)分别为双摄像元件之间的旋转矩阵和平移矩阵,如果有多个需要进行立体标定的双摄像元件,重复上述立体标定步骤,得到多组双目立体标定结果{ri(x,y),ti(x,y)},1≤x,y≤k,ri(x,y),ti(x,y)分别为双摄像元件之间的旋转矩阵和平移矩阵。

所述步骤(3)中,运动轴标定:将标定模板固定放置于需要运动轴标定的摄像元件视野区域。转动第a个运动轴若干次,每转动一次,让该运动轴所连接的摄像元件进行取图操作得到图片mai,同时记录下此时该运动轴的位置信息得到{mai,θai1,…,θain},利用多次转动得到图像序列(ma1,ma2,ma3,…map),pa为第a个运动轴标定过程取到的全部有效图片数目。并使用标定算法(这里本发明同样以张正友标定法为例)进行计算得到拍摄的每张图片相对于标定模板位置的旋转和平移变换矩阵{raci,taci},i=1…pa,结合拍摄该图片时记录下的运动轴位置信息得到{raci,taci,θai},i=1…pa。然后重复上述步骤,转动另一个运动轴,直至将运动轴全部完成上述步骤。将标定结果中运动轴相对于基准位置的转动角度{θai1-θi1,…,θain-θin},i=1…pa转化为旋转矩阵将上述结果代入各个运动自由度转轴坐标系与摄像元件坐标系关系模型:

rbca,tbca分别为第a个运动自由度转轴与摄像元件的旋转平移矩阵,n为视觉系统运动自由度数目,rbai为第a个运动轴相对于基准位置的转动角度转化的旋转矩阵,raci,taci分别为第a个运动轴运动时拍摄的第i张图片图像坐标系相对于标定模板位置的旋转和平移变换矩阵,pa为系统在标定过程第a个运动轴转动取到的全部有效图片数目、最后得到若干组等式,求解该组等式最优解即得到每个运动轴的标定结果:

所述步骤(4)中,标定结果计算:利用上述步骤得到基准信息立体标定结果{ri(x,y),ti(x,y)},1≤x,y≤k,和各个运动自由度转轴与摄像元件的旋转平移矩阵获取实际应用中整个可动视觉系统的需要立体标定结果的双目(双目序号分别为x,y,1≤x,y≤k,并且设x为双目子视觉系统中的“左眼”,y为双目子视觉系统中的“右眼”)各个运动自由度的位置信息结合基准位置信息,得到各个自由度转角将其转化为矩阵形式代入运动自由度转轴坐标系与摄像元件坐标系关系模型:

其中,所得r′和t′分别是该可动双目视觉子系统发生运动后的双摄像部件外参结果中的旋转矩阵和平移矩阵结果,rbca,tbca分别为第a个运动轴相对于摄像元件坐标系的旋转矩阵和平移矩阵,nk为第k个摄像部件的运动自由度数目,x,y为双目序号,并且设x为双目子视觉系统中的“左眼”序号,y为双目子视觉系统中的“右眼”序号,ra为第a个运动轴相对于基准位置的转动角度转化的旋转矩阵,ri(x,y),ti(x,y)分别为基准位置处“左眼”与“右眼”的相对旋转矩阵和平移矩阵。

本发明标定方法中,上述步骤(2)、(3)的次序可以互相调换。

本发明立体标定系统及方法的有益效果包括:使得在可动视觉系统中摄像元件发生运动后,仍然可以通过计算获得各个摄像元件的内外参数信息,该信息用于立体视觉等相关算法的计算;本发明方法具有良好的计算实时性,即在一次立体标定之后,后续可通过各个运动自由度的位置信息进行计算,实时地获取可动视觉系统中各个摄像部件的内外参数;本发明可以很好的消除在机械加工、组装过程中带来的与理论设计存在一些不可避免的误差问题。

附图说明

图1是本发明可动多目视觉系统的立体标定系统的示意框图。

图2a是本发明可动多目视觉系统的立体标定流程图;

图2b是本发明可动多目视觉系统的实时外参计算流程图。

图3是本发明中的一种六自由度的可动双目视觉系统机械结构透视图。

图4是图3提及的六自由度的可动双目视觉系统的坐标系统设置。

图5是本发明中采用的标定算法用到的棋盘格标定模板图。

图6是本发明中每个运动自由度的转轴坐标系与摄像机坐标系的示意图。

具体实施方式

结合以下具体实施例和附图,对本发明作进一步的详细说明。为了简洁,在描述本发明实施例的各流程、条件、实验方法等时,省略了一些本领域已知的内容,本发明对此类内容没有特别的限制。

以下将结合图1-6对本发明可动多目视觉系统立体标定方法作进一步的详细描述。

本发明提及的可动多目视觉系统包括至少两套摄像部件,至少一个计算部件,至少一个控制部件,每套摄像部件可以单独配备一个计算部件和一个控制部件,也可以多套摄像部件共用一个计算部件和一个控制部件,所述摄像部件、计算部件、控制部件之间信号连接。如图1所示,该系统包括一个控制部件,一个计算部件、若干套摄像部件。其中,控制部件可控制摄像部件的各个运动自由度的运动,也可获取各个运动自由度的位置信息。计算部件可计算处理图像信息以及各个运动自由度的运动信息。摄像部件可获取连续图像并将图像信息传送给计算部件。所述至少两套摄像部件中的每一个可具有任意数目的自由度(包括零自由度,即固定不动),且其中至少一套摄像部件为具有至少一个自由度的可动部件。

本发明可动多目视觉系统的立体标定方法,如图2a所示,主要包括标定步骤和外参结果计算步骤,标定步骤具体包括:

s11:视觉系统初始信息获取;

s12:对于需要双目立体标定结果的以双目为基础,在基准位置处采集若干组标定模板图像信息;

s13:使用传统固定双目标定算法计算获得基准位置处双目之间的旋转与平移矩阵;

s14:分别转动各个运动轴并采集相应标定模板图像信息,并记录各个运动轴的位置信息;

s15:利用步骤s14采集的信息计算求解各个运动轴相对于摄像元件坐标系的旋转平移矩阵;

s16:得到多目可动视觉系统标定结果。标定目的实现。

其中,步骤s12、s13与步骤s14、s15可调换位置,即按照步骤s11、s14、s15、s12、s13、s16的顺序执行也可以。

所述外参结果计算步骤可包括:

s21:获取可动视觉系统标定结果;

s22:获取当前需要立体标定结果的双摄像部件(双目)的各个运动自由度的位置信息;

s23:将相关信息代入可动视觉系统外参求解模型计算出双摄像部件之间的旋转平移矩阵信息。

如图3、4所示的一种可动双目六自由度视觉系统机械机构透视图,从图3、4可以看出每一目(相当于一个眼球)由一套摄像部件构成,两套摄像部件并排设置相当于左右眼球,左右眼球各自有pitch、yaw、roll三个运动自由度,对应到空间直角坐标系中,pitch是围绕y轴旋转,yaw是围绕z轴旋转,roll是围绕x轴旋转。同一“眼球”三个自由度间刚性相连,使得其中一个自由度的运动不会对其他自由度的运动产生影响。可选的,左“眼球”和右“眼球”的pitch电机通过机壳固定在相应位置,例如基座上,两“眼球”roll自由度各自连接一个可以连续摄像的摄像元件。六个运动自由度各自通过一个电机驱动,每个电机均带有位置记录装置以获取各个电机的实时输出位置信息,在本实施例中,各电机的输出位置信息以角度值表示。图4所示的为图3可动双目六自由度视觉系统的坐标系统设置。本发明可针对具有任意数目的运动自由度的多目系统进行立体标定,多目之间的运动自由度可以对称也可以不对称,包括系统中的若干目是固定(即零个自由度)的、而其它目是可动(有大于零个的运动自由度)的情形,本发明也同样适用。

实施例

结合图3和图4所示的六自由度可动双目视觉系统为例详述本发明。

1)标定初始数据

本发明中,需要一个以上可提取固定特征并已知特征距离信息的标定模板,本实施例选用张正友教授1998年提出的单平面棋盘格的摄像机标定算法,取图5所示的平面棋盘格图片打印粘贴在一个平面板上作为标定模板。将该标定模板放置于双目相机的公共视野区域,需要保证双目相机均能够完整看到整个标定模板。

本实施例中,为降低求解难度,对每个自由度分别进行独立标定,以标定左“眼球”的roll、pitch、yaw自由度(即对应1、2、3号电机)为例。将标定模板固定放置于可动双目视觉系统前方,保证左“眼球”摄像元件能够拍摄到完整的标定模板;然后分别转动1、2、3号电机若干次,每转动一次,让左“眼球”摄像元件进行取图操作获得图片mi,同时记录下此时三个电机的运动轴的位置信息{θ1i,θ2i,θ3i},将二者绑定得到{mi,θ1i,θ2i,θ3i};利用多次转动得到的图像序列(m1,m2,m3,…,mp),并使用图3平面棋盘格标定模板和张正友标定算法进行计算得到拍摄的每张图片相对于标定模板位置的旋转和平移变换矩阵{rci,tci},结合拍摄该图片时记录下的各运动轴的位置信息得到{rci,tci,θ1i,θ2i,θ3i},i=1…p,p为该运动轴在标定过程取到的全部有效图片数目。

选取一个双目摄像机有相当的公共视野区域的位置作为基准立体标定位置,将双目六电机的位置信息记录为(θi1,θi2,θi3,θi4,θi5,θi6),下标1至6依次对应左眼的roll、yaw、pitch和右眼的roll、yaw、pitch自由度(后续采集图像也采用相同序号下标)。

实际应用中,优选地,为了提高基准立体标定结果的精度,会在摄像机处于相同位置的情况下,多次采集标定图片,即在双摄像机前面变换平面棋盘格姿态,采集多组图像,优选地,一般采集20组图像即可。

2)可动双目视觉系统的立体标定

使用上述步骤中在基准立体标定位置(θi1,θi2,θi3,θi4,θi5,θi6)处采集的若干组立体标定模板图片组,然后,使用现有技术中张氏立体标定算法计算出在基准位置下双摄像机之间的相对位置关系(旋转矩阵ri和平移向量ti)(具体计算步骤参考张正友1998年发表的论文“aflexiblenewtechniqueforcameracalibration”)。

3)运动轴标定

可动双摄像机在机械加工过程中无法保证光心在转轴上,也不能保证转轴与摄像机坐标系平行,需要通过转轴编码器的输出值来计算每个摄像机坐标系的位姿变换需要知道转轴与摄像机坐标系的位置关系。而且对于一个刚体来说,摄像机与转轴之间的相对关系保持不变。为了求解每个转轴与摄像机坐标系之间的位置关系,建立数学模型,如图6所示,c{oc-xcyczc}为摄像机坐标系(以下简称c系),以摄像机坐标系光心oc为起点,作垂线交roll自由度转轴l于点ob并延长垂线作射线obxb。以ob为原点,obxb为x轴,转轴为y轴,右手定则确定z轴建立转轴坐标系b{ob-xbybzb}(以下简称b系)。

设ocob=d(d为定值,由机械加工工艺决定),则oc在b系下的坐标为t=(-d,0,0)t。设摄像机坐标系c相对于转轴坐标系b的旋转矩阵为rbc,则对于空间中任意一点p在c系中的坐标pc和在b系中的坐标pb满足变换关系:pb=rbcpc+t,在齐次坐标下表示为:

即为所要标定得到的结果,其表示空间中任意一点p从b系变换到c系的变换矩阵。

当绕转轴转动θ角后,转轴坐标系b和摄像机坐标系c均变成新的坐标系b′和c′。绕转轴转动时,b系相当于绕zb轴转动θ角到b′,则对同一点p,在b系中的坐标pb和在b′系中的坐标pb′满足:

其中

同样,对于摄像机坐标系,在转动θ角后得到新的摄像机坐标系c′。在标定过程中,可以通过固定的棋盘格计算摄像机坐标系的变换。设空间点p在棋盘格的世界坐标系中坐标为xw,则在c系和c′系中计算出的棋盘格外参分别为tcw和tc′w,有pc=tcwxw,pc′=tc′wxw,则

根据刚体的性质,b系和c系在转动过程中保持相对位置关系tbc不变。同一个空间中的点在转动后的坐标系b′和c′中依然满足式(1)

由式(2)、(3)、(4)得,

该式中,为转轴标定过程需要求解的量。是每次转动根据位置传感器输出的矩阵,为每次转动过程中相机计算出来的矩阵tc′c,通过每次转动计算出tbc来标定转轴与摄像机坐标系的关系。

取一组数据{rci,tci,θ1i,θ2i,θ3i},i=1…p,计算该组数据相对于基准位置电机转动角度为{θ1i-θi1,θ2i-θi2,θ3i-θi3},i=1…p,计算其旋转矩阵得:

将其代入式(5)可得到一组方程:

全部数据代入式(7)可得到p组方程,求解该组方程得最优解{rbca,tbca},a=1…3。

重复上述步骤标定右“眼球”4~6号电机可以得到六个电机运动轴标定结果{rbca,tbca},a=1…6。

4)实时标定结果计算:

整个标定结果有:基准位置信息(θi1,θi2,θi3,θi4,θi5,θi6),立体标定结果{ri,ti}和运动轴标定结果{rbca,tbca},a=1…6;在可动双目视觉系统各个摄像部件发生运动后,6个运动自由度得到位置信息(θp1,θp2,θp3,θp4,θp5,θp6),则6个自由度的转动角度分别为(θp1-θi1,θp2-θi2,θp3-θi3,θp4-θi4,θp5-θi5,θp6-θi6),转化为旋转矩阵(rp1,rp2,rp3,rp4,rp5,rp6),最后代入下式可以得到六自由度可动双目视觉系统运动后的外参结果(旋转矩阵r′和平移矩阵t′),即获得实时标定结果:

本发明提及的可动双目视觉系统以及立体标定方法并不限于上述说明的实施例,实施例中增加了一些在实际应用中为了提高精度或者降低求解复杂度的额外步骤,在不脱离本发明原理的情况下,还可以做各种变形与改进。

本发明的保护内容不局限于以上实施例。在不背离本发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。

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