Back To List
视觉标定板介绍
Editor:小优智能科技有限公司 Time:Feb 26,2021 Hits:202


在机器视觉、图像测量、摄影测量、三维重建等应用中,为校正镜头畸变,确定物理尺寸和像素间的换算关系,以及确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,需要建立相机成像的几何模型。通过相机拍摄带有固定间距图案阵列平板、经过标定算法的计算,可以得出相机的几何模型,从而得到高精度的测量和重建结果。而带有固定间距图案阵列的平板就是标定模板。准确的进行标定对于3D机器视觉像机的成功应用是非常重要的。标定过程中,不同的标定方案可供选择标定板也不尽相同。为了方便机器视觉行业的从业人员熟悉了解3D机器视觉标定所采用的标定板规格,本文将对标定板的种类和优缺点进行介绍。        

图片

根据标定板的图案主要可以分为棋盘格标定板,圆点标定板和CharuCo标定板三类。在选择任意一类标定板时,一个重要的考虑因素是它的物理尺寸。这关系到最终应用的测量视野范围(FOV)。这是因为相机需要在特定的工作距离上标定。为了精确的标定,当相机视野中,标定板需要能够填充大部分区域。根据经验,当正面观察时,标定板的面积至少应该是可用像素面积的一半。

机器视觉发展多年以来,已经引入了不同的标定板,每种标定板都有独特的属性和好处。要选择正确的类型,首先要考虑使用哪种算法和算法实现。在OpenCV或MVTec Halcon等通用库中,标定板的选择有一定的灵活性,它们也有各自的优点和局限性。
1、棋盘格标定板

2.jpg

学系统的性能,复原相机模型的3D空间至2D空间的一一对应关系。棋盘格标定是基于灰度图像的角点检测、基于二值图像的角点检测、基于轮廓曲线的角点检测。角点是图像很重要的特征,对图像图形图形的理解和分析有很重要的作用。对灰度图像、二值图像、边缘轮廓曲线的角点检测算法进行分析并对各种检测得出评价。这是最常用的图案方案。通常通过首先对3D视觉相机图像进行二值化并找到四边形(黑色的棋盘区域)来找到棋盘角点的候选点。过滤步骤只保留那些满足特定大小标准的四边形,并组织在一个规则的网格结构中,网格结构的尺寸与用户指定的尺寸匹配。在对标定板进行初步检测后,可以以非常高的精度确定角点位置。这是因为角基本上是无限小的,因此在透视变换或镜头失真下是无偏的。

在OpenCV中,整个棋盘必须在所有图像中可见才能被检测到。这通常使得从图像的边缘获取信息变得困难。这些区域通常是很好的信息来源,因为它们适当地约束了镜头失真模型。在检测出棋盘格后,可以进行亚像素细化,以找到具有亚像素精度的点,这利用了给定角点位置周围像素的确切灰度值,并且精度比整数像素位置所允许的精度要精确得多。关于棋盘格目标的一个重要细节是,为了保持旋转不变,行数必须是偶数,列数必须是奇数,或者相反。例如,如果两者都是偶数,则存在180度旋转的歧义。对于单台相机的校准,这不是一个问题,但如果相同的点需要由两个或更多的相机识别(对于立体校准),这种模糊性必须不存在。这就是为什么我们的标准棋盘目标都具有偶数/奇数行/列的属性。

2、圆点标定板

图片

圆点标定板也是一种非常常见的标定板图案方案。它分为白色背景上的黑色圆形,或者是黑色背景上的白色圆形两种模式。在图像处理术语中,圆可以被检测为图像中的“斑点”。在这些二元斑点区域上应用一些简单的条件,如面积、圆度、凸度等,可以去除候选的坏特征点。

在找到合适的候选对象后,再次利用特征的规则结构对模式进行识别和过滤。圆的确定可以非常精确,因为可以使用圆外围的所有像素,减少了图像噪声的影响。然而,与棋盘中的暗点不同的是,在相机视角下,圆形被成像为椭圆。这种观点可以通过图像校正来解释。然而,未知的镜头畸变意味着圆不是完美的椭圆,这增加了一个小的偏置。然而,我们可以将畸变模型看作是分段线性的(服从透视变换/单应性),因此在大多数透镜中,这种误差非常小。

3、CharuCo标定板

常规的标定过程中,都是用棋盘格标定板(张正友),棋盘图案的每个角都被两个黑色方块围绕着,可以更精确地细化,但是棋盘板子有个问题,就是不能被遮挡,必须是完全可见的。ArUco板子具有快速检测和多功能性,然而,ArUco标记的一个问题是,即使经过亚像素细化,它们的角点位置的准确性也不是很高。所以综上, ChARUco 板子结合两者,如图:

4.png

CharuCo标定板克服了传统棋盘的一些限制。然而,它们的检测算法有点复杂。幸运的是,CharuCo检测是OpenCVs contrib库的一部分(从OpenCV 3.0.0开始),这使得集成这个高级方法非常容易。

CharuCo的主要优点是所有光检查器字段都是唯一编码和可识别的。这意味着即使是部分遮挡或非理想的相机图像也可以用于校准。例如,强烈的环形光可能会对标定目标产生不均匀的光照(半镜面反射区域),这将导致普通棋盘格检测失败。使用CharuCo,剩余的鞍点检测仍然可以使用。鞍点定位可以像棋盘一样使用亚像素检测来细化。对于接近图像角落的观察区域,这是一个非常有用的属性。由于目标的定位使得摄像机只能看到它的一部分,所以可以从相机图像的边缘和角落收集信息。这通常会带来确定镜头失真参数时的非常好的鲁棒性。


给我们Message
验证码