基于HALCON的全景摄像机标定及应用研究

    现有全景摄像机标定算法中,场景的先验知识在很多情况下难以准确获取。提出了一种基于HALCON的双曲面折反射全景摄像机标定算法。通过摄像机或者标定板的相互移动来获取不同位置的标定板图像;通过HALCON预处理后提取角点坐标;通过最小二乘法求解标定点投影方程的展开系数得到相机的内外参数。该算法中摄像机只需满足单视点要求,不需要场景的先验知识,也不需要特殊的装置和设备。实验结果表明能够获得较高的标定精度,并且在足球机器人边线距离的测量中得到了准确的结果

1 引言

    全景视觉就是能够在 360°视场范围同时成像的技术。近年来,全景视觉已经应用于我们生活中的各个领域,如电视电话会议 、虚拟现实 、辅助驾驶以及机器人定位等,并且其前景依然十分广阔。为了能够在单目摄像机中达到360°范围成像,如今主要采用折反射原理的鱼眼镜头或者曲面镜与普通摄像头组合的方法。文献中针对采用鱼眼镜头的摄像机进行了分析,该方法能够达到较大视场成像要求,但结构复杂,且存在较大的图像畸变,必须采用相应的校正运算。而采用曲面反射镜的方法容易通过改变曲面的参数以得到不同范围的视场角,并且常用的双曲面与抛物面满足单视点成像要求,因此得到广泛应用。

    在全景视觉图像处理过程中,为了对二维图像提取尺度信息,必须先对全景视觉摄像机进行标定 。根据是否需要利用场景的先验知识,将全景视觉摄像机的标定方法归为以下两类:一类为利用场景的先验知识,如模板和垂线。另一类不需要知道相关的先验知识,通过摄像机的纯旋转或者旋转平移以及自标定方法。文献应用到了场景的先验知识,对抛物面镜全景摄像头进行了分析,但只能估计摄像机的内部参数,不能估计摄像机的外部参数。文献中提出了一种用6个自由度表示镜面与摄像机之间位置关系的模型,然而该标定方法的精确度很容易受到系统初始值的影响,稳定性不高。文献属于自标定的范畴,通过对多幅图像中对应点之间的约束来标定摄像机,该方法通常精度不是很高。

    本文提出了一种基于HALCON的双曲面折反射全景摄像机标定方法。标定设备仅由普通摄像机和同轴的双曲面反射镜组成,算法将空间三维点投影到成像二维图像平面的坐标变换过程用泰勒级数描述,标定点相对镜面坐标的位置和泰勒级数的系数可通过最小二乘法求得,标定点相对位置为外部参数,而泰勒级数的系数即是摄像机需要估计的内部参数。整个标定过程摄像机与标定板可以自由移动,不需要特殊的装置和设备。最后利用实验所得结果,准确实现了足球机器人对场线距离的测量。

2 全景成像原理及模型

    如今,使用较多的曲面有抛物反射面与双曲反射面,两种镜面组成的系统都满足单视点约束,即所有的光线经过一个视点或者焦点,这样能保证成像点与实际场景点之间一一对应的关系。对于抛物面镜,若入射光线的延长线过镜面焦点,其经镜面反射后光线将保持平行。而对于双曲面镜,延长线经过镜面对应焦点的入射光线反射后,将经过双曲面的另一个焦点。由此可见,抛物面镜可视为双曲面镜的一种特殊情况,只不过其另一焦点在无穷远处。由于抛物面成像系统投影图像不受反射镜与摄像机之间距离的影响,因此系统可以设计较为紧凑,但所需的正交相机价格昂贵。而双曲面成像系统将摄像机光学中心置于反射光线汇聚的焦点上,比较实用,价格便宜。综上所述,本文选用双曲面作为折反射平面进行标定。双曲面镜的切平面成像示意图如图1所示。点 P 1 ,P 2 发出的光线经双曲面镜的反射后将光线投影至成像平面上。其光线的延长线如虚线所示交于双曲面的焦点 O ,并且经反射后光线交于另一焦点 O′ 。为了满足小孔成像原理,得到清晰的图像,必须把摄像头投影中心置于 O′ 点。

    全景摄像机模型如图2(a)所示,以双曲面镜的焦点O 作为原点,以反射镜的轴线作为 z 轴来建立坐标系,然后定义两个参考平面:摄像机像平面 (u′,v′) 和传感器平面 (u″,v″) 。传感器平面是同双曲面轴线垂直的假设平面,如图 2(c)所示;摄像机像平面如图 2(d)所示,与摄像机 CCD 平面一致。理想状况下,希望图像平面与传感器平面处于同一平面上,并且镜面轴线与摄像机光轴共线,但是在实际状况中不可能完全对准,如图2(b)所示,会存在一定的偏差。

标定实验和测量分析

    实验采用的全景摄像机获取的图像精度为 1 024*768 ,标定过程中,使用 HALCON 软件对图像中的角点进行提取。HALCON是目前公认的性能最强的图像处理软件,拥有良好的机器视觉集成开发环境,提供丰富的函数库算子进行程序代码编写,并且具有非常良好的跨平台移植性。标定板如图 3所示,选用 7* 8 的棋盘格 ,每个棋盘的尺寸是 30 mm*30 mm ,每幅图提取的角点为 6*7= 42 个。在不同位置和角度选取 10幅图片,标定板在摄像机中的图像如图4所示。

    图 6为 HALCON操作界面。界面中的四个窗口分别是图像窗口,算子窗口,变量窗口,程序编辑器窗口。图像窗口可实时显示图像处理的进度;算子窗口可查找并应用相关的算子;变量窗口显示每一步图像处理的效果和相关的变量数据;程序编辑器窗口可进行程序编辑。相比手动提取,HALCON大大提高了标定的效率。

    在 HALCON 图像处理软件中,有关角点坐标提取的算子很多,如 local_min_sub_pix,local_max_sub_pix,saddle_points_sub_pix,critical_points_sub_pix,points_foerstner,points_harris,point_lepetit 等。local_min_sub_pix和 local_max_sub_pix 一般用于灰度值极值点的提取,saddle_points_sub_pix用于交叉点的提取,critical_points_sub_pix包含了前面三个算子共同的功能。

    对于points_foerstner,points_harris,points_lepetit几个算子都能提取交叉点,但不能够排除标定板边缘的一些角点坐标,且坐标误差较大。图7给出了几种算子提取角点的结果。

本文选用 saddle_points_sub_pix 算子进行角点提取,它具有如下特征:

  1. 通过亚像素精度的数学分析(偏导数级值),实现了对角点的精确提取;
  2. 使用灰度值函数曲率的阈值,排除了相对均匀的图像灰度值区域。

 

    在设定标定板 x , y 坐标方向之前,必须对角点进行排列,但通过镜面投影后提取出的角点坐标值没有太多规律。这里首先应用到union_cotangential_contours_xld算子对阈值分割提取出的棋盘格曲线进行拟合,拟合的曲线如图8所示:

    然后通过设定角点相对曲线的最大距离值判定角点是否属于该曲线内,最后通过曲线与角点的对应关系实现角点的正确排列。

图 9为从不同位置获取的两幅标定板图像,

图 10 中红色交叉点为应用HALCON算子提取的角点位置。

    图11分别给出了10幅图像在多项式次数 N = 2,3,4 时每幅图标定结果的平均误差,可以看出,当 N = 4 时,误差平均值基本趋于稳定,因此本文采用4阶多项式进行标定计算。对 10幅图像标定的结果取误差平均值,在不考虑镜头畸变的情况下,得到平均误差为 0.262 像素。

图 12给出了文献标定误差与本文标定误差对比图,可以看出本文标定精确度较高。

图13(a)标出了标定板中图像角点和它的重投影点的坐标值,交叉点为图像的角点坐标,圆点中心为重投影点的坐标,图13(b)为局部放大图。由此可见,经过标定后,重投影点与提取出的角点非常接近。

    为了验证所得的参数是否合理,对本实验室拥有的一台全景足球机器人进行场地边线交点距离验证。首先通过全景摄像机提取足球场边线交叉点如图 14所示,分别给出两不同摄像机位置测量的交叉点坐标;接着根据摄像机内部参数得出场线交叉点相对摄像机坐标系方向;

最后根据双曲反射面焦点相对地面高度以及坐标比例关系得出场线交叉点相对机器人距离,并与实际测量距离对比,结果如表1所示。

实验结果表明,该标定精度完全能够适用于足球机器人定位精度要求。

5 结论

    本文提出了一种基于HALCON的双曲面折反射全景摄像机标定方法,在标定过程中,只需知道标定板的相关参数,摄像机与标定板可以自由移动,不需要知道场景的先验知识,也不需要特殊的装置和设备。首先使用 HALCON 进行图像预处理和角点坐标提取,相比其他提取过程,精确度和效率得到了提高。然后用最小二乘法原理计算其内外部参数,并将得出的标定结果与一些相关文献信息进行对比发现,该标定方法精确度比较高,并且速度较快。最后把实验获得的摄像机参数应用到视觉测量过程中,足球机器人的定位检测结果进一步验证了该方法具有较高精度。

猜你喜欢

转载自blog.csdn.net/g19928722582/article/details/85012878