一种双目相机标定结果的误差评估方法与流程

文档序号:20115084发布日期:2020-03-17 19:45阅读:3643来源:国知局
一种双目相机标定结果的误差评估方法与流程

本发明涉及一种相机标定结果评估方法,特别涉及一种双目相机标定结果的误差评估方法。



背景技术:

在双目立体视觉领域,双目相机标定是后续计算的基础,其标定精确度对于后续计算的精度有很大影响:标定误差较大会导致计算错误,从而导致整个视差图的计算精度降低,可靠性降低。

在工业生产中,对于双目相机标定,需要一个稳定可靠的方法确定标定的质量,以帮助判断标定结果,确定是否需要重新标定;

双目相机标定分为2个步骤:(1)单目相机标定;(2)双目校正,即将左右2个相机的图像进行校正,使得左右相机的图像共面且极点在无限远处,从而简化后续的视差计算;

现有双目相机标定的精确度评价研究较少;与单目相机标定的评估方法一样,通过世界坐标系下的角点重投影,计算与实际检测到的角点之间误差的评估方均根,作为标定结果。

对于双目相机标定,这种评价方法有以下局限性:

(1)由于标定流程和评价流程用的是同样的标定图像,容易出现过拟合现象却认为误差较小,而实际情况是,未被标定板覆盖到的位置,标定结果可能很差,因此这种评价结果不可靠;

(2)由于双目相机标定流程的局限,为了保证一组图像中角点能够一一匹配,对于左图,标定板无法覆盖偏左边的图像位置,对于右图,标定板无法覆盖偏右边的图像位置,导致标定结果对于上述无法覆盖的区域的标定误差较大,从而传统评价方法无法覆盖这部分图像的标定结果;

(3)对于图像的标定结果,标定后的左右图像角点匹配度没有被计算进去,而这对双目立体匹配算法精确度的影响最大。



技术实现要素:

本发明提出一种专门针对双目相机标定结果的误差评估方法,主要步骤如下:

(1)在用于标定的图像之外,再次拍摄标定板,保证标定板覆盖图像的绝大部分位置,标定板边缘可以超出相机视野。此图像专门用于标定结果评价。为了确保评价结果的准确性,可以对标定板进行特殊定制,增加标定板上黑白块的密度,即增加直线和角点的密度,保证覆盖到相机的各个位置。

(2)双目标定之后,对步骤(1)得到的评价图像进行标定,得到标定后的图像。

(3)对标定后的评价图像,进行二值化操作,得到二值化后的评价图像。再对二值化后的评价图像,通过hough变换检测曲线,从而得到多条近似直线的曲线,曲线通过一组点表示。

(4)对于标定后的评价图像,通过harris角点检测,得到两组角点,然后通过亚像素细化,得到精确到亚像素的角点位置。

(5)对于每台相机图像检测到的多条曲线,通过贝塞尔曲线拟合,得到拟合后的曲线公式。计算每条曲线的曲率。曲线在某一点的曲率公式为:

通过公式mean(max(k))得到平均最大曲率k,作为单个相机的标定结果畸变标定结果。

(5)对于两组角点,计算其在y轴方向上的差别;通过公式mean(y_difference)得到平均y轴偏差diffavg,作为双目相机位置标定结果。

(6)同时判断步骤(4)和步骤(5)的值,是否分别在限定范围内。设限定的最大曲率为kmax,限定的最大角点偏差为diffmax。则判断是否满足以下判断:

k<kmax

diffavg<diffmax

如果有一组判断不满足,则认为标定不合格。

附图说明

图1:双目标定评估流程。

具体实施方式

下面结合附图和实施例对本发明作进一步说明。

1.用于误差评估的标定板与用于双目标定的标定板可以有一定区别。由于误差评估的方法是通过角点对的y轴坐标对比,以及曲线曲率的平均最大值,角点对的个数,和曲线的条数越多,误差评估就越准确稳定,因此,用于误差评估的标定板特别制作,标定板上角点的个数可以为30*30对,相应的曲线个数为30+30条。

2.图像二值化操作的流程,由于不同区域内的光线平均强度不一样,如果全局使用相同的阈值,容易导致某一块图像区域的曲线被过滤掉,或者某一块图像的区域的非曲线错误保留,从而导致错误判断。因此,图像二值化的算法,通过基于不同区域的局部自适应阈值来进行二值化操作。

局部自适应阈值根据像素的邻域块的像素值分布来确定该像素位置上的二值化阈值。亮度较高的图像区域的二值化阈值通常会较高,而亮度较低的图像区域的二值化阈值则会相适应地变小。不同亮度、对比度、纹理的局部图像区域将会拥有相对应的局部二值化阈值。常用的局部自适应阈值有:1)局部邻域块的均值;2)局部邻域块的高斯加权和。这两种方法均可以使用。

3.传统的hough变换主要用于检测直线,而通过双目标定后的图像由于具有误差,在误差较大的地方,直线可能被扭曲成曲线,因此使用一种改进的hough变换原理,即hough变换和邻域搜索的方法结合。具体步骤包括:

1、通过传统hough变换进行直线检测。

2、对于步骤1检测到的直线,对其两端分别尝试进行延伸。首先对直线的斜率进行计算,然后根据直线斜率进行反方向延伸,做一条假想延伸线。对于其中一个端点的周围8个像素,选取最接近假想延伸线的像素点,然后再包括此像素点左右两个像素点,共3个比较接近假想延伸线的像素点,对此3个像素点进行延伸判断。

3、对此3个像素点进行遍历,对每一个像素点,计算其梯度值g和梯度方向θ。然后对3个像素点的梯度值和梯度方向进行对比,对于梯度值较大,且梯度方向与直线斜率之差不超过某个阈值的像素点,作为该直线的延伸。

4、以此像素点为基础,继续步骤2、3,直到找不到梯度值和梯度方向均符合要求的像素点,即结束搜索。

5、将整个流程中检测到的直线和所有延伸像素点的组合,作为曲线通过的像素集合。

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