双目相机自标定方法及系统与流程

文档序号:22742602发布日期:2020-10-31 09:27阅读:457来源:国知局
双目相机自标定方法及系统与流程

本发明涉及图像处理领域,特别是涉及一种双目相机自标定方法及系统。



背景技术:

双目传感器作为可应用于室外场景的立体相机,可以为机器人提供立体障碍物检测功能,双目相机通过对机器人前进方向的图像分析识别可以计算视野内障碍物的三维位置信息,为机器人的安全行驶提供保障。然而双目相机在作为立体相机使用前,需要经过严格的标定过程。

如“aflexiblenewtechniqueforcameracalibration”文章给出了经典的双目棋盘格标定方法,该标定方法可以对双目相机的内外参进行估计,但由于双目使用过程中受到外力挤压撞击,甚至是环境的温度湿度影响,均会导致双目相机的内外参,特别是外参的变化。

现有技术中还给出了一些对双目相机的内外参进行估计的方法,但是普遍存在受外界环境影响大、非线性优化无法收敛等问题。

因此,如何提出一种基于实时数据对内外参进行优化标定的方法以使得双目相机提供准确的三维识别数据,已成为本领域技术人员亟待解决的问题之一。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种双目相机自标定方法及系统,用于解决现有技术中内外参在使用过程中受环境影响发生变化、非线性优化无法收敛等问题。

为实现上述目的及其他相关目的,本发明提供一种双目相机自标定方法,所述双目相机自标定方法至少包括:

1)分别从双目相机的两个图像采集单元获取左右原始图像;

2)根据当前第一参数组及第二参数组构建双目内外参矩阵,对左右原始图像进行校正,得到左右校正图像;其中,第一参数组影响垂直方向视差,第二参数组影响水平方向视差;

3)从左右校正图像中分别提取特征点,并对左右校正图像中的特征点进行匹配得到匹配的特征点对,对误匹配的特征点进行过滤;

4)统计各特征点对的左右图像纵坐标偏差,若所述纵坐标偏差的平均值大于对应阈值则对所述第一参数组中至少一个参数进行修正估计,重新校准后再次与对应阈值比较,反复迭代修正,直至所述纵坐标偏差的平均值小于对应阈值,更新所述第一参数组;

5)对场景内的物体进行分类,找到场景中的静态物体;

6)所述双目相机处于移动状态时,基于处于所述静态物体范围内的特征点对计算静态物体的视差,并追踪所述静态物体的视差及车轮运动信息;

7)基于所述车轮运动信息得到至少两个方向的车轮运动距离,基于所述静态物体的视差得到与车轮运动距离方向对应的静态物体的三维距离变化值,分别比较同一方向的车轮运动距离与静态物体的三维距离变化值得到对应的距离偏差;若任意距离偏差大于对应阈值则对所述第二参数组进行修正估计,并基于校准后的图像重新计算静态物体的三维距离,反复迭代校正,直至各距离偏差均小于对应阈值,更新所述第二参数组,完成对双目相机参数的自标定。

可选地,所述第一参数组中的参数包括双目相机左右镜头的焦距偏差、俯仰角偏差、翻滚角偏差、高度偏差及前后偏差。

更可选地,所述第二参数组中的参数包括双目相机的镜头焦距、偏航角偏差及基线长。

更可选地,步骤4)中所述纵坐标偏差的平均值满足如下关系式:

其中,verr为所述纵坐标偏差值的平均值,wk为第k对特征点对的权重,vlk为第k对特征点对在左图像中的纵坐标,vrk为第k对特征点对在右图像中的纵坐标,n为特征点对的数量,uck,vck,udk,vdk为中间变量,ulk为第k对特征点对在左图像中的横坐标,urk为第k对特征点对在右图像中的横坐标,δdf为双目相机左右镜头的焦距偏差,f为双目相机的镜头焦距,δp为双目相机的俯仰角偏差,δr为双目相机的翻滚角偏差,δh为双目相机的高度偏差,δd为双目相机的前后偏差,b为双目相机的基线长。

更可选地,将求解所述第一参数组中各参数的方法替换为矩阵运算或者非线性优化方式。

更可选地,第k对特征点对的权重wk为默认值或第k对特征点对的权重wk满足如下关系:

其中,resu为左右图像每行的像素数,resv为左右图像每列的像素数。

更可选地,步骤3)中对所述第一参数组中的参数进行修正时,将修正量乘以第一系数后进行修正,得到修正的参数,其中,所述第一系数大于0且小于等于1。

可选地,步骤3)中基于四叉树提取策略提取所述特征点,使得各特征点在校正后的左右图像中均匀分布。

可选地,步骤5)中采用语义识别找到所述静态物体。

可选地,步骤7)中,得到第一方向及第二方向的车轮运动距离,所述第一方向为车身前后方向,所述第二方向为车身左右方向;对应计算第一方向及第二方向上所述静态物体的三维距离变化值,满足如下关系式:

其中,δz为第一方向上静态物体的三维距离变化值合集;b为双目相机的基线长;f为双目相机的镜头焦距;d1、d2分别为静态物体在t1时刻及t2时刻的视差合集;δd为视差偏差;δx为第二方向上静态物体的三维距离变化值合集;u1、u2分别为静态物体在t1时刻及t2时刻的横坐标合集;δy为双目相机的偏航角偏差。

更可选地,第一方向上的距离偏差满足如下关系式:

第二方向上的距离偏差满足如下关系式:

其中,δf为双目相机焦距的修正量,δm为车轮在第一方向上的运动距离,δb为双目相机基线长的修正量,f为双目相机的镜头焦距,d1i、d2i分别为第i个静态物体在t1时刻及t2时刻的视差值,δn为车轮在第二方向上的运动距离,u1i、u2i分别为第i个静态物体在t1时刻及t2时刻的横坐标。

更可选地,步骤7)中对所述第二参数组中的参数进行修正时,将修正量乘以第二系数后进行修正,得到修正的参数,其中,所述第二系数大于0且小于等于1。

可选地,步骤7)中追踪的起始时刻及追踪的最终时刻,所述双目相机的朝向一致。

可选地,所述双目相机自标定方法还包括8)根据修正的所述第二参数组计算视野环境内的三维信息。

为实现上述目的及其他相关目的,本发明提供一种双目相机自标定系统,所述双目相机自标定系统至少包括:

移动平台、双目相机、图像处理单元及移动平台控制单元;

所述双目相机设置于所述移动平台上,用于获取左右图像;

所述图像处理单元设置于所述移动平台上,且与所述双目相机及所述移动平台控制单元连接,执行上述双目相机自标定方法,实现自标定;

所述移动平台控制单元设置于所述移动平台上,且与所述移动平台的车轮连接,控制所述车轮转动并获取所述车轮的运动距离。

可选地,所述双目相机的两个图像采集单元具有同步触发关系、同样的分辨率、同样焦段的镜头,镜头的调整过程具有同步调整关系,成像平面处于同一个平面上。

可选地,所述移动平台的车轮包括轮子、电机及编码器,所述电机驱动所述轮子转动,所述编码器用于记录所述轮子的转动角度及圈数。

如上所述,本发明的双目相机自标定方法及系统,具有以下有益效果:

本发明的双目相机自标定方法及系统不依靠事先准备的标定工具,利用实时图像追踪和车体运动信息,对包括内参的焦距及外参的旋转以及平移偏差在内的内外参参数进行优化标定,并完成相关图像校正工作,使双目相机能够为车体提供准确的三维识别数据。本发明的双目相机自标定方法及系统适用于镜头焦距未知的定焦双目相机及变焦双目相机。

附图说明

图1显示为本发明的双目相机自标定方法的流程示意图。

图2显示为本发明的校正图像的中坐标系的示意图。

图3显示为本发明t1时刻及t2时刻的运动方向及坐标系示意图。

图4显示为本发明的双目相机自标定系统的结构示意图。

元件标号说明

101~102第一~第二图像采集单元

110图像处理单元

201~204第一~第四车轮

210移动平台控制单元

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。

请参阅图1~图4。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

实施例一

如图1所示,本实施例提供一种双目相机自标定方法,所述双目相机自标定方法包括:

1)分别从双目相机的两个图像采集单元获取左右原始图像。

具体地,双目相机包括两个图像采集单元(镜头),两个图像采集单元具备硬件触发同步关系,采用同样分辨率的成像元件、同样焦段的镜头构成,采用变焦镜头时左右镜头的变焦过程具备同步调整关系,且两个图像采集单元的成像平面处于同一个平面上,图像中心位于同一水平线,图像成像中心的间距为双目相机的基线长。所述双目相机为镜头焦距未知的定焦双目相机或变焦双目相机,基于所述双目相机获取左、右两幅原始图像。

2)根据当前第一参数组及第二参数组构建双目内外参矩阵,对左右原始图像进行校正,得到左右校正图像;其中,第一参数组主要影响垂直方向视差,第二参数组主要影响水平方向视差。

具体地,假定所述双目相机的畸变已被修正,并且左右成像元件结构设计中处于同一平面上呈水平方向排列,由于结构或者环境影响导致的变形并不会导致很大的物理误差情况。所述双目相机的内参包括镜头焦距f(设左右焦距的中位数为f,左右焦距的偏差值设为2δdf,其中,δdf定义为双目相机左右镜头的焦距偏差,则左镜头焦距为f-δdf,右镜头焦距为f+δdf)、左右成像元件中心位置(cx1,cy1)和(cx2,cy2)。所述双目相机的外参包括俯仰角偏差δp(δpitch)、偏航角偏差δy(δyaw)、翻滚角偏差δr(δroll)以及基线长b(baseline)、高度偏差δh和前后偏差δd。

在本实施例中,将参数按照是否会影响水平视差匹配运算(主要影响垂直方向视差)而分组,影响水平视差匹配运算的参数有双目相机的左右镜头焦距偏差δdf、左右成像元件中心位置的纵坐标cy、双目相机的俯仰角偏差δp、双目相机的翻滚角偏差δr、双目相机的高度偏差δh和双目相机的前后偏差δd,记为第一参数组a;不影响水平视差匹配运算的参数有双目相机的镜头焦距f、左右成像元件中心位置的横坐标cx、双目相机的偏航角偏差δy(通常,当双目相机的偏航角偏差δy的角度小于5度时可以忽略台形畸变产生的垂直视差)和双目相机的基线长b,记为第二参数组b。当双目相机的偏航角偏差δy和俯仰角偏差δp不大于5度时,其偏差对图像造成的影响与元件中心位置的横纵坐标cx和cy类似,在本实施例中将元件中心位置的横纵坐标cx和cy默认在图像的中心位置,双目相机的中心点偏差通过双目相机的偏航角偏差δy和俯仰角偏差δp进行修正;最终得到的所述第一参数组a及所述第二参数组b的参数如下:

第一参数组a={δdf,δp,δr,δh,δd}

第二参数组b={f,δy,b}

其中,所述第一参数组a中参数的偏差将导致双目图像产生垂直方向的偏差,影响深度匹配运算过程,修正所述第一参数组a的参数,可以使左右图像匹配像素在同一水平线上,从而大幅减轻视差计算步骤的计算量;所述第二参数组b中参数的偏差将导致双目图像产生水平方向偏差,即造成视差偏差或深度偏差,修正所述第二参数组b的参数可以通过视差得到准确的三维数据结果。

需要说明的是,在实际使用中,可根据需要将相关的内参或外参加入到本发明的所述第一参数组a或所述第二参数组b中,不以本实施例为限。

具体地,在已知所述双目相机的内外参的情况下,采用标准校正算法对左右原始图像进行校正,所述标准校正算法包括但不限于opencv算法库当中的stereorectify函数,matlab也有这种函数,在此不一一赘述。校正后所述第一参数组a中的双目相机的左右焦距偏差δdf、俯仰角偏差δp、翻滚角偏差δr、高度偏差δh、前后偏差δd(均为偏差参数)的值均为0(或接近0的一阈值范围内);所述第二参数组b中的双目相机的偏航角偏差δy(偏差参数)的值为0(或接近0的一阈值范围内);所述双目相机的镜头焦距f更新为f+δf,δf为双目相机焦距的修正量,可通过非线性优化计算得到;实际应用中,双目相机的基线长b更新为b+δb,δb为双目相机基线长的修正量,可通过非线性优化计算得到,理论上更新后的双目相机的基线长b满足:sqrt(b*b+δh′*δh′+δd′*δd′),其中,δh′为高度偏差δh的修正量,δd′为前后偏差δd的修正量。

3)从左右校正图像中分别提取特征点,并对左右校正图像中的特征点进行匹配得到匹配的特征点对,对误匹配的特征点进行过滤。

具体地,作为示例,在本实施例中,基于四叉树提取策略提取所述特征点,使得各特征点在校正后的左右图像中均匀分布;在实际使用中任意提取特征点的方法均适用于本发明,不限于本实施例。提取特征点后基于匹配算法对左右校正图像中的特征点进行匹配,得到特征点对;并过滤误匹配的特征点。

4)统计各特征点对的左右图像纵坐标偏差,若所述纵坐标偏差的平均值大于第一阈值则对所述第一参数组中至少一个参数进行修正估计,重新校准后再次与所述第一阈值比较,反复迭代修正,直至所述纵坐标偏差的平均值小于所述第一阈值,更新所述第一参数组。

具体地,将图像分辨率记为resuxresv,其中resu为每行的像素数,resv为每列的像素数。特征点对在左右图的像素坐标设为(ul,vl)和(ur,vr),坐标系如图2所示,原点为图像中心位置,u轴向右,v轴向下,特征对数量为n。所述纵坐标偏差的平均值满足如下关系式:

其中,verr为所述纵坐标偏差值的平均值;wk为第k对特征点对的权重,在本示例中,默认为1,在实际使用中可根据需要设定权重wk的值,各特征点对的权重wk可以是相同值,也可以是不同值;vlk为第k对特征点对在左图像中的纵坐标;vrk为第k对特征点对在右图像中的纵坐标;n为特征点对的数量。

作为本发明的一种实现方式,在本实施例中,在修正所述第一参数组a之前,设置如下中间变量:

由几何关系可得出所述第一参数组a中各参数的解算方程如下:

其中,uck,vck,udk,vdk为中间变量,ulk为第k对特征点对在左图像中的横坐标,urk为第k对特征点对在右图像中的横坐标。双目相机的基线长b及双目相机的镜头焦距f可采用默认值或出厂设置值,通过反复迭代修正可将垂直偏差修正,其值不准确并不影响修正效果。基于双目相机的左右镜头焦距偏差δdf、俯仰角偏差δp、翻滚角偏差δr、高度偏差δh及前后偏差δd估计的修正量对图像整体进行平移和/或旋转操作,使得各特征点对左在右图像中的纵坐标基本一致(位于同一行),即所述纵坐标偏差值的平均值verr趋近于0(小于第一阈值)。

需要说明的是,在实际修正时,可以根据实际情况仅对影响比较严重的一个或多个参数进行修正,包括但不限于仅修正双目相机的俯仰角偏差δp和翻滚角偏差δr。所述第一阈值可基于实际需要设定具体数值,不以本实施例为限。

作为本发明的另一种实现方式,由于上述公式中存在近似关系,且实际情况中特征点对多个误差混合在一起,也可以通过矩阵运算或者非线性优化的方式对所述第一参数组a求解,在此不一一赘述。

作为本发明的另一种实现方式,实际操作中多种偏差混合在一起,公式计算偏差的结果往往不够精确,直接按照公式来修正的话会导致修正过量(超调),本示例采用类似pid控制的方法,给所述第一参数组a的各修正量乘以第一系数后与对应的当前外参结果相加得到修正的参数,通过反复迭代修正的方式,首先将大误差修正到小误差,再将小误差逐渐缩小,最终完成修正过程,以此得到精确的所述第一参数组a的参数,其中,所述第一系数大于0且小于等于1。

作为本发明的另一种实现方式,各特征点对的权重wk根据特征点位置到图像中心的距离来设置,作为示例,满足如下关系式:

5)对场景内的物体进行分类,找到场景中的静态物体。

具体地,在本实施例中,利用语义识别算法对场景内的物体进行分类,找到所述场景中处于静止状态的物体,包括但不限于建筑、道路、路标,在此不一一列举。

6)所述双目相机处于移动状态时,基于处于所述静态物体范围内的特征点对计算静态物体的视差,并追踪所述静态物体的视差及车轮运动信息。

具体地,所述双目相机处于移动状态时,通过筛选获得静态物体范围内的特征点对,并基于特征点对计算静态物体的视差。双目相机的偏航角偏差δy角度较小(一般角度小于5度)时,会对全图整体视差造成等量的视差偏差δd,δy和δd的关系如下:

具体地,对所述静态物体的三维信息进行追踪,并记录追踪过程中的车轮运动信息用以计算车轮里程计。

7)基于所述车轮运动信息得到至少两个方向的车轮运动距离,基于所述静态物体的视差得到与车轮运动距离方向对应的静态物体的三维距离变化值,分别比较同一方向的车轮运动距离与静态物体的三维距离变化值得到对应的距离偏差,若任意距离偏差大于对应阈值则对所述第二参数组进行修正估计,并基于校准后的图像重新计算静态物体的三维距离,反复迭代校正,直至各距离偏差均小于对应的阈值,更新所述第二参数组,完成对双目相机参数的自标定。

如图3所示,假设车体带动所述双目相机在t1到t2时间段内行驶,且t1时刻和t2时刻由车轮里程计计算的朝向基本一致,即t1时刻和t2时刻之间的行驶路径可以不保持绝对直线行驶,t1时刻和t2时刻的朝向一致即可,作为示例,汽车换道过程,换道前和换到后朝向一致,由所述车轮里程计得到在前进方向的车轮运动距离为δm,在车体横向上的车轮运动距离为δn(在本实施中,以两个相互垂直方向上的移动进行第二参数组的修正,在实际使用中,可基于两个以上任意方向上的移动进行修正,不以本实施例为限)。在本实施例中,以左图像采集单元的光学中心为原点建立坐标系,x轴指向车身右侧,z轴指向车身正前方,则在车体向前行进δm、向右移动δn距离后,静态物体在z方向的移动距离应该接近δm,在x方向上的移动距离应该接近δn。此时间段对静态物体的特征点集合进行追踪,对应t1时刻和t2时刻的左图(或右图)的像素坐标分别为(u1,v1)和(u2,v2),视差集合分别为d1和d2,静态特征集合在t1时刻和t2时刻在z方向的三维距离变化值合集δz及x方向的三维距离变化值合集δx的解算方程分别如下:

由于在z方向上所述静态物体的三维距离变化值合集δz中的每一个变化值与所述车轮运动距离δm接近,在x方向上所述静态物体的三维距离变化值合集δx中的每一个变化值与所述车轮运动距离δn接近,因此可以得出如下非线性方程对所述第二参数组b求解:

基于以上两式分别求解右侧式子值最小时的δf,以及δb和δd,其中,δf为双目相机焦距的修正量,δb为双目相机基线长的修正量,d1i、d2i分别为第i个静态物体在t1时刻及t2时刻的视差值,u1i、u2i分别为第i个静态物体在t1时刻及t2时刻的横坐标。经过多组数据反复迭代修正所述第二参数组b,当上述非线性方程的误差分别小于第二阈值及第三阈值时结束参数修正,并用新的参数更新当前所述第二参数组b,即可完成对双目相机的自标定。所述第二阈值及所述第三阈值可基于实际需要设定具体数值,不以本实施例为限。

作为本发明的另一种实现方式,为了防止修正过量(超调),对所述第二参数组b中的参数进行修正时,给所述第二参数组b的各修正量乘以第二系数后与对应的当前外参结果相加得到修正的参数,通过反复迭代修正的方式最终完成修正过程,其中,所述第二系数大于0且小于等于1。

作为本发明的另一种实现方式,所述双目相机自标定方法还包括:8)根据修正的所述第一参数组及所述第二参数组计算视野环境内的三维信息并输出。

实施例二

如图4所示,本实施例提供一种双目相机自标定系统,所述双目相机自标定系统包括:

移动平台、双目相机、图像处理单元110及移动平台控制单元210。

如图4所示,所述移动平台包括但不限于移动机器人平台、车体,在此不一一列举。

具体的,所述移动平台包括承载台及车轮,在本实施例中,包括四个车轮,分别为第一车轮201、第二车轮202、第三车轮203及第四车轮204。各车轮包括轮子、电机及编码器,所述电机驱动所述轮子转动;所述编码器用于记录所述轮子的转动角度及圈数,实时读回各编码器的值,并根据各编码器的值可推算所述移动平台的位移变化。

如图4所示,所述双目相机设置于所述移动平台上,用于获取左右图像。

具体地,所述双目相机包括两个图像采集单元,第一图像采集单元101及第二图像采集单元102,所述第一图像采集单元101及所述第二图像采集单元102设置并朝向所述移动平台的前端,且所述第一图像采集单元101及所述第二图像采集单元102具有同步触发关系、同样的分辨率、同样焦段的镜头,采用变焦镜头时左右镜头的变焦过程具备同步调整关系,且两个图像采集单元的成像平面处于同一个平面上。

如图4所示,所述图像处理单元110设置于所述移动平台上,且与所述双目相机及所述移动平台控制单元210连接,执行实施例一的双目相机自标定方法,实现自标定。

具体地,所述图像处理单元110从所述第一图像采集单元101及所述第二图像采集单元102获取实时图像数据,并进行数据处理;同时从所述移动平台控制单元210获取车轮里程;进而通过实时图像追踪和车体运动信息,对内外参进行优化标定,并完成相关图像校正工作,使双目相机能够为移动平台提供准确的三维识别数据。

需要说明的是,自标定的方法参见实施例一,在此不一一赘述。

如图4所示,所述移动平台控制单元210设置于所述移动平台上,且与所述移动平台的车轮连接,控制所述车轮转动并获取所述车轮的运动距离。

综上所述,本发明提供一种双目相机自标定方法及系统,包括:1)分别从双目相机的两个图像采集单元获取左右原始图像;2)根据当前第一参数组及第二参数组构建双目内外参矩阵,对左右原始图像进行校正,得到左右校正图像;其中,第一参数组影响垂直方向视差,第二参数组影响水平方向视差;3)从左右校正图像中分别提取特征点,并对左右校正图像中的特征点进行匹配得到匹配的特征点对,对误匹配的特征点进行过滤;4)统计各特征点对的左右图像纵坐标偏差,若所述纵坐标偏差的平均值大于对应阈值则对所述第一参数组中至少一个参数进行修正估计,重新校准后再次与对应阈值比较,反复迭代修正,直至所述纵坐标偏差的平均值小于对应阈值,更新所述第一参数组;5)对场景内的物体进行分类,找到场景中的静态物体;6)所述双目相机处于移动状态时,基于处于所述静态物体范围内的特征点对计算静态物体的视差,并追踪所述静态物体的视差及车轮运动信息;7)基于所述车轮运动信息得到至少两个方向的车轮运动距离,基于所述静态物体的视差得到与车轮运动距离方向对应的静态物体的三维距离变化值,分别比较同一方向的车轮运动距离与静态物体的三维距离变化值得到对应的距离偏差;若任意距离偏差大于对应阈值则对所述第二参数组进行修正估计,并基于校准后的图像重新计算静态物体的三维距离,反复迭代校正,直至各距离偏差均小于对应阈值,更新所述第二参数组,完成对双目相机参数的自标定。本发明的双目相机自标定方法及系统不依靠事先准备的标定工具,利用实时图像追踪和车体运动信息,对包括内参的焦距及外参的旋转以及平移偏差在内的内外参参数进行优化标定,并完成相关图像校正工作,使双目相机能够为车体提供准确的三维识别数据。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

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