知识库

Target Poses: Constraints, Rank, and Correlation

Jakob W.

We are often asked questions relating to the type of poses that need to be captured for realiable and robust camera calibration. While the answer to this is quite complex...

Target Poses: Constraints, Rank, and Correlation

Jakob W.

We are often asked questions relating to the type of poses that need to be captured for realiable and robust camera calibration. While the answer to this is quite complex...

5 个最大的校准错误

Eyþór Rúnar Eiríksson

我们在工业相机校准方面拥有多年的经验。事实上,Calib.io 已经帮助全球数千名客户实现了更好的相机校准性能。 多年来,我们为众多校准客户提供了支持,我们发现一些错误屡屡出现。一些在线资源甚至传播了这些做法。因此,以下是我们在相机校准过程中发现的五个最大错误。 1. 姿势不正确 并非所有校准图像都是相同的。 我们校准的目的是为了收集数据,以便准确估计所有自由参数。 如果从未在图像边界附近观察到校准目标,则相机模型的该部分没有得到很好的约束。 如果校准目标没有倾斜,焦距和主点坐标就无法得到很好的约束。 解决方案:使用编码目标。确保某些图案姿势在 x 和 y 方向上都有倾斜(最多约 45 度)。确保整个图像区域均匀覆盖。 2. 使用过多参数 使用灵活的相机模型并启用许多参数以实现较低的重新投影误差可能很有吸引力。在 OpenCV 中,这可能意味着启用 k1、k2、k3、p1、p2、s1、s2、s3、s4 的估计。这样做通常会导致过度拟合,即模型比使用给定数据可靠估计的模型更灵活。有关更多详细信息,请参阅了解参数不确定性和了解重新投影误差。 解决方案:使用参数不确定性和投影/三角测量误差进行模型选择。使用尽可能简单的相机模型。在独立测试图像上计算 RPE 和验收指标。 3. 手持目标 我们已经见过很多次了,互联网上也有很多这样的例子。但分析结果往往表明非静止目标或相机存在严重问题,尤其是在进行立体校准时。滚动快门、运动模糊、立体捕捉之间的触发同步(微秒)的微小误差都足以导致严重的校准不准确。 解决方案:曝光期间请勿触摸相机或目标。使用适合相机和目标的安装设备。...

5 个最大的校准错误

Eyþór Rúnar Eiríksson

我们在工业相机校准方面拥有多年的经验。事实上,Calib.io 已经帮助全球数千名客户实现了更好的相机校准性能。 多年来,我们为众多校准客户提供了支持,我们发现一些错误屡屡出现。一些在线资源甚至传播了这些做法。因此,以下是我们在相机校准过程中发现的五个最大错误。 1. 姿势不正确 并非所有校准图像都是相同的。 我们校准的目的是为了收集数据,以便准确估计所有自由参数。 如果从未在图像边界附近观察到校准目标,则相机模型的该部分没有得到很好的约束。 如果校准目标没有倾斜,焦距和主点坐标就无法得到很好的约束。 解决方案:使用编码目标。确保某些图案姿势在 x 和 y 方向上都有倾斜(最多约 45 度)。确保整个图像区域均匀覆盖。 2. 使用过多参数 使用灵活的相机模型并启用许多参数以实现较低的重新投影误差可能很有吸引力。在 OpenCV 中,这可能意味着启用 k1、k2、k3、p1、p2、s1、s2、s3、s4 的估计。这样做通常会导致过度拟合,即模型比使用给定数据可靠估计的模型更灵活。有关更多详细信息,请参阅了解参数不确定性和了解重新投影误差。 解决方案:使用参数不确定性和投影/三角测量误差进行模型选择。使用尽可能简单的相机模型。在独立测试图像上计算 RPE 和验收指标。 3. 手持目标 我们已经见过很多次了,互联网上也有很多这样的例子。但分析结果往往表明非静止目标或相机存在严重问题,尤其是在进行立体校准时。滚动快门、运动模糊、立体捕捉之间的触发同步(微秒)的微小误差都足以导致严重的校准不准确。 解决方案:曝光期间请勿触摸相机或目标。使用适合相机和目标的安装设备。...

理解重投影误差

Eyþór Rúnar Eiríksson

在相机校准中,重投影误差 (RPE) 至关重要。它到底是什么?我们如何解释它?本文旨在阐明这个重要且有时略微被误解的话题。 重新投影误差是多少? 正式地,重新投影错误是: 测量点与投影点之差的二维向量 下面您可以看到 Calibrator 如何可视化测量点(绿色十字)和投影点(红色圆圈)。由于单个误差往往比单个像素小得多,Calibrator 使用红线将重新投影误差绘制为 10 倍缩放版本。 让测量点称为 $p_{ij}$。这里 $i$ 表示校准板上点的唯一 ID,$j$ 表示姿势/图像编号。在相机校准设置中,使用特征检测算法(例如棋盘检测器、圆形网格检测器等)找到其坐标。检测器的工作是在图像中找到校准目标。此步骤通常随后进行亚像素优化,其中使用周围的图像值来实际确定特征的位置,精度远低于 1px。 投影点 $\breve{\vec{p}} _{ij}$ 是通过获取第 $i$ 个点的标定板坐标、应用第 $j$ 个姿势的外部变换以及最后应用相机的投影映射而获得的。外部变换是一种 3D 旋转平移,它将特定姿势/镜头中的校准目标的局部坐标系与相机的坐标系相关联。相机的投影映射取决于所使用的(数学)相机模型。最常见的相机模型执行透视投影并结合非线性镜头失真。 相机校准中最小化的目标函数是:...

理解重投影误差

Eyþór Rúnar Eiríksson

在相机校准中,重投影误差 (RPE) 至关重要。它到底是什么?我们如何解释它?本文旨在阐明这个重要且有时略微被误解的话题。 重新投影误差是多少? 正式地,重新投影错误是: 测量点与投影点之差的二维向量 下面您可以看到 Calibrator 如何可视化测量点(绿色十字)和投影点(红色圆圈)。由于单个误差往往比单个像素小得多,Calibrator 使用红线将重新投影误差绘制为 10 倍缩放版本。 让测量点称为 $p_{ij}$。这里 $i$ 表示校准板上点的唯一 ID,$j$ 表示姿势/图像编号。在相机校准设置中,使用特征检测算法(例如棋盘检测器、圆形网格检测器等)找到其坐标。检测器的工作是在图像中找到校准目标。此步骤通常随后进行亚像素优化,其中使用周围的图像值来实际确定特征的位置,精度远低于 1px。 投影点 $\breve{\vec{p}} _{ij}$ 是通过获取第 $i$ 个点的标定板坐标、应用第 $j$ 个姿势的外部变换以及最后应用相机的投影映射而获得的。外部变换是一种 3D 旋转平移,它将特定姿势/镜头中的校准目标的局部坐标系与相机的坐标系相关联。相机的投影映射取决于所使用的(数学)相机模型。最常见的相机模型执行透视投影并结合非线性镜头失真。 相机校准中最小化的目标函数是:...

理解参数不确定性

Jakob W.

相机校准通常旨在根据数据拟合合适的数学模型,以便几何地表征一个或多个相机/镜头组合。 许多用户都希望尽可能降低重投影误差 (RPE)。虽然在大多数情况下这确实是可取的,但我们主张根据获得的 RPE 以外的因素来判断校准质量。首先,参数不确定性对相机系统的实际性能起着至关重要的作用。 让我们使用一个更简单的数据拟合示例来更深入地探讨这个主题,这应该揭示数据拟合中不确定性的重要性。 一个适配问题 在下图中,我们绘制了一个正弦半波,作为我们的基本事实函数,我们的目标是尽可能忠实地描述它。(请注意,与映射 $R^3 \rightarrow R^2$ 的相机模型相比,此函数只是 $R \rightarrow R$,但这些概念不受影响。) 不幸的是,我们不知道校准设置中的这个实函数。相反,我们会有一些受噪声和可能的偏差影响的采样值。在相机校准中,噪声和偏差的来源包括传感器暗电流、散粒噪声、量化噪声、散焦等。下面我们有噪声分布符合正态分布 $\mathcal{N}\left(0, 0.05 \right)$ 的采样数据。 在这种情况下,我们有 8 个数据点,我们的目标是拟合一个函数,希望它尽可能地与真正的底层函数相似。由于技术原因,我们可能只有来自域中心部分的样本,在本例中是区间 $[0; \pi]$。这也是相机校准中非常典型的情况,例如棋盘检测可能需要整个目标都在图像内,而外部图像区域则未采样或采样不足。 抛物线拟合 使用普通最小二乘法可以很容易地拟合的模型是抛物线(二次多项式)$y = ax^2 +...

4 条评论

理解参数不确定性

Jakob W.

相机校准通常旨在根据数据拟合合适的数学模型,以便几何地表征一个或多个相机/镜头组合。 许多用户都希望尽可能降低重投影误差 (RPE)。虽然在大多数情况下这确实是可取的,但我们主张根据获得的 RPE 以外的因素来判断校准质量。首先,参数不确定性对相机系统的实际性能起着至关重要的作用。 让我们使用一个更简单的数据拟合示例来更深入地探讨这个主题,这应该揭示数据拟合中不确定性的重要性。 一个适配问题 在下图中,我们绘制了一个正弦半波,作为我们的基本事实函数,我们的目标是尽可能忠实地描述它。(请注意,与映射 $R^3 \rightarrow R^2$ 的相机模型相比,此函数只是 $R \rightarrow R$,但这些概念不受影响。) 不幸的是,我们不知道校准设置中的这个实函数。相反,我们会有一些受噪声和可能的偏差影响的采样值。在相机校准中,噪声和偏差的来源包括传感器暗电流、散粒噪声、量化噪声、散焦等。下面我们有噪声分布符合正态分布 $\mathcal{N}\left(0, 0.05 \right)$ 的采样数据。 在这种情况下,我们有 8 个数据点,我们的目标是拟合一个函数,希望它尽可能地与真正的底层函数相似。由于技术原因,我们可能只有来自域中心部分的样本,在本例中是区间 $[0; \pi]$。这也是相机校准中非常典型的情况,例如棋盘检测可能需要整个目标都在图像内,而外部图像区域则未采样或采样不足。 抛物线拟合 使用普通最小二乘法可以很容易地拟合的模型是抛物线(二次多项式)$y = ax^2 +...

4 条评论

探索校准目标基底

Eyþór Rúnar Eiríksson

在本文中,我们将介绍 Calib.io 上可用于相机校准目标的多种基板/材料。我们将简要介绍各种基板的优缺点以及哪些应用可能需要它们。

探索校准目标基底

Eyþór Rúnar Eiríksson

在本文中,我们将介绍 Calib.io 上可用于相机校准目标的多种基板/材料。我们将简要介绍各种基板的优缺点以及哪些应用可能需要它们。

校准最佳实践

Jakob W.

准确校准对于大多数机器和计算机视觉任务的性能至关重要。以下列出了我们通过大量实验和理论思考发现的最佳实践。 选择正确尺寸的校准目标。足够大以正确约束参数。理想情况下,当在相机图像中正面平行时,它应该覆盖至少一半的总面积。 在最终应用的近似工作距离 (WD) 处进行校准。相机应在此距离处对焦,并且在校准期间或之后不得改变镜头焦距和光圈。 目标应具有较高的特征数。最好使用精细图案。但是,有时检测稳健性会受到影响。我们建议,如果照明可控且良好,则对于 3MPx 以上的相机使用精细图案数。 收集不同区域和倾斜度的图像。移动目标以完全覆盖图像区域并力求均匀覆盖。镜头失真可以从正面平行图像中正确确定,但焦距和主点估计取决于观察透视缩短。包括正面平行图像和板在水平和垂直方向上倾斜 +/- 45 度时拍摄的图像。倾斜更多通常不是一个好主意,因为特征定位精度会受到影响并且可能会出现偏差。 使用良好的照明。这一点经常被忽视,但却非常重要。最好通过受控的摄影照明来漫射校准目标。强点光源会导致照明不均匀,可能导致检测失败,并且不能很好地利用相机的动态范围。阴影也会产生同样的效果。 有足够的观测值。通常,校准应至少对校准目标的 6 个观测值(图像)进行。如果使用更高阶的相机或失真模型,则更多的观测值是有益的。 考虑使用 CharuCo 板等唯一编码目标。这些目标可让您从相机传感器和镜头的边缘收集观测数据,从而很好地限制失真参数。此外,即使某些特征点不满足其他要求,它们也允许您收集数据。 校准的准确性取决于所使用的校准目标。仅使用激光或喷墨打印的目标进行验证和测试。 正确安装校准目标和相机。为了最大限度地减少较大目标的扭曲和弯曲,请将其垂直安装或平放在刚性支架上。在这些情况下,请考虑移动相机而不是目标。使用优质三脚架,并避免在采集过程中触摸相机。 删除错误的观察结果。仔细检查重新投影错误。每个视图和每个特征都应如此。如果其中任何一个显示为异常值,请将其排除并重新校准。 获得较低的再现误差并不等于良好的相机校准,而仅仅表明所提供的数据/证据可以用所用的模型来描述。这可能是由于过度拟合造成的。参数不确定性表明所选相机模型的约束效果如何。 分析单个重投影误差。它们的方向和大小不应与位置相关,即它们应该混乱地指向所有方向。Calib.io 的相机校准器软件提供了强大的可视化功能来调查重投影误差。 遵循这些做法应能确保尽可能最准确和精确的校准。 有任何问题、评论或其他见解?请在下面发表。

15 条评论

校准最佳实践

Jakob W.

准确校准对于大多数机器和计算机视觉任务的性能至关重要。以下列出了我们通过大量实验和理论思考发现的最佳实践。 选择正确尺寸的校准目标。足够大以正确约束参数。理想情况下,当在相机图像中正面平行时,它应该覆盖至少一半的总面积。 在最终应用的近似工作距离 (WD) 处进行校准。相机应在此距离处对焦,并且在校准期间或之后不得改变镜头焦距和光圈。 目标应具有较高的特征数。最好使用精细图案。但是,有时检测稳健性会受到影响。我们建议,如果照明可控且良好,则对于 3MPx 以上的相机使用精细图案数。 收集不同区域和倾斜度的图像。移动目标以完全覆盖图像区域并力求均匀覆盖。镜头失真可以从正面平行图像中正确确定,但焦距和主点估计取决于观察透视缩短。包括正面平行图像和板在水平和垂直方向上倾斜 +/- 45 度时拍摄的图像。倾斜更多通常不是一个好主意,因为特征定位精度会受到影响并且可能会出现偏差。 使用良好的照明。这一点经常被忽视,但却非常重要。最好通过受控的摄影照明来漫射校准目标。强点光源会导致照明不均匀,可能导致检测失败,并且不能很好地利用相机的动态范围。阴影也会产生同样的效果。 有足够的观测值。通常,校准应至少对校准目标的 6 个观测值(图像)进行。如果使用更高阶的相机或失真模型,则更多的观测值是有益的。 考虑使用 CharuCo 板等唯一编码目标。这些目标可让您从相机传感器和镜头的边缘收集观测数据,从而很好地限制失真参数。此外,即使某些特征点不满足其他要求,它们也允许您收集数据。 校准的准确性取决于所使用的校准目标。仅使用激光或喷墨打印的目标进行验证和测试。 正确安装校准目标和相机。为了最大限度地减少较大目标的扭曲和弯曲,请将其垂直安装或平放在刚性支架上。在这些情况下,请考虑移动相机而不是目标。使用优质三脚架,并避免在采集过程中触摸相机。 删除错误的观察结果。仔细检查重新投影错误。每个视图和每个特征都应如此。如果其中任何一个显示为异常值,请将其排除并重新校准。 获得较低的再现误差并不等于良好的相机校准,而仅仅表明所提供的数据/证据可以用所用的模型来描述。这可能是由于过度拟合造成的。参数不确定性表明所选相机模型的约束效果如何。 分析单个重投影误差。它们的方向和大小不应与位置相关,即它们应该混乱地指向所有方向。Calib.io 的相机校准器软件提供了强大的可视化功能来调查重投影误差。 遵循这些做法应能确保尽可能最准确和精确的校准。 有任何问题、评论或其他见解?请在下面发表。

15 条评论

相机校准说明

Jakob W.

相机校准是准确确定相机和镜头模型参数的过程。对于常见的Brown-Conrady相机模型,这相当于确定合适的相机模型的参数,至少是焦距 $f$,可能还有中心点坐标 ($c_x, c_y$) 和镜头畸变参数 $\boldsymbol{k}$。在最常见的离线校准过程中,图像是在特定约束下拍摄的。校准对象定义了一个世界坐标系,这样视觉特征的 3D 坐标就是已知的。大多数这些方法都是通过观察具有已知视觉特征的校准对象来工作的。当需要完全控制校准过程并要求高精度时,这种方法是首选。 相机型号 在任何相机校准工作中,选择合适的相机模型至关重要,该模型既不会过低也不会过高地参数化相机。有关相机模型的更多信息,请参阅我们关于该主题的文章。 校准程序 文献中提出了许多相机校准程序。例如,参见 Tsai 的方法 [3] 以及Heikkilä 和 Silvén 的方法 [4]。这些程序在所需校准对象的类型、相机参数初始猜测的推导以及随后的非线性优化步骤方面有所不同。所有程序中最受欢迎的可能是 Zhang 的方法 [5]。 所有这些方法都应始终遵循非线性优化(捆绑调整),因为它们仅返回代数解,而不考虑镜头效应。但它们确实提供了非线性优化收敛所需的初始猜测。 张氏方法 计算机视觉社区中一种现代且流行的方法是 Zhang 的方法,它也在流行的软件库中实现,例如libCalib 、OpenCV、Jean-Yves Bouguet...

相机校准说明

Jakob W.

相机校准是准确确定相机和镜头模型参数的过程。对于常见的Brown-Conrady相机模型,这相当于确定合适的相机模型的参数,至少是焦距 $f$,可能还有中心点坐标 ($c_x, c_y$) 和镜头畸变参数 $\boldsymbol{k}$。在最常见的离线校准过程中,图像是在特定约束下拍摄的。校准对象定义了一个世界坐标系,这样视觉特征的 3D 坐标就是已知的。大多数这些方法都是通过观察具有已知视觉特征的校准对象来工作的。当需要完全控制校准过程并要求高精度时,这种方法是首选。 相机型号 在任何相机校准工作中,选择合适的相机模型至关重要,该模型既不会过低也不会过高地参数化相机。有关相机模型的更多信息,请参阅我们关于该主题的文章。 校准程序 文献中提出了许多相机校准程序。例如,参见 Tsai 的方法 [3] 以及Heikkilä 和 Silvén 的方法 [4]。这些程序在所需校准对象的类型、相机参数初始猜测的推导以及随后的非线性优化步骤方面有所不同。所有程序中最受欢迎的可能是 Zhang 的方法 [5]。 所有这些方法都应始终遵循非线性优化(捆绑调整),因为它们仅返回代数解,而不考虑镜头效应。但它们确实提供了非线性优化收敛所需的初始猜测。 张氏方法 计算机视觉社区中一种现代且流行的方法是 Zhang 的方法,它也在流行的软件库中实现,例如libCalib 、OpenCV、Jean-Yves Bouguet...

相机型号说明

Jakob W.

相机模型是任何校准程序的核心。因此,为了更好地了解影响良好相机校准的因素,值得深入研究相机模型。 针孔模型 相机模型将 3D 中的点与它们在相机图像上的投影关联起来。迄今为止最常见的模型是针孔相机模型,该模型的基本假设是光线通过无限小的孔径(针孔)进入相机,如下所示。 通过针孔投影。(c)Wikimedia。用户 Pbroks13。 在数学和计算机视觉领域,三维空间中的点通常表示为 $$Q=[X,Y,Z] 。$$它们在相机图像上的对应投影为 $$q=[u,v,1] 。$$ 由于我们正在使用齐次坐标,因此 $q$ 中的“1”是必需的。有关解释,请单击此处。两者可以通过针孔模型联系起来: $$q = \begin{bmatrix} f & 0 & c_x \\ 0 & f & c_y \\...

相机型号说明

Jakob W.

相机模型是任何校准程序的核心。因此,为了更好地了解影响良好相机校准的因素,值得深入研究相机模型。 针孔模型 相机模型将 3D 中的点与它们在相机图像上的投影关联起来。迄今为止最常见的模型是针孔相机模型,该模型的基本假设是光线通过无限小的孔径(针孔)进入相机,如下所示。 通过针孔投影。(c)Wikimedia。用户 Pbroks13。 在数学和计算机视觉领域,三维空间中的点通常表示为 $$Q=[X,Y,Z] 。$$它们在相机图像上的对应投影为 $$q=[u,v,1] 。$$ 由于我们正在使用齐次坐标,因此 $q$ 中的“1”是必需的。有关解释,请单击此处。两者可以通过针孔模型联系起来: $$q = \begin{bmatrix} f & 0 & c_x \\ 0 & f & c_y \\...

校准模式说明

Jakob W.

准确校准相机对于任何机器/计算机视觉设置的成功都至关重要。然而,有不同的模式可供选择。为了让您更容易选择,本文将介绍每种模式的主要优点。 我们在 Calib.io 上提供的校准图案选择。CharuCo、棋盘、不对称圆圈和棋盘。 图案大小 在选择校准板时,一个重要的考虑因素是它的物理尺寸。这最终与最终应用的测量视场 (FOV) 有关。这是因为相机需要聚焦在特定距离上并进行校准。改变焦距会稍微影响焦距,这会使任何先前的校准失效。即使光圈变化通常也会对校准有效性产生负面影响,这就是为什么应该避免它们。 为了准确校准,如果相机看到校准目标填满了大部分图像,则相机模型受到的约束最好。通俗地说,如果使用小型校准板,则相机参数的多种组合可以解释观察到的图像。根据经验,校准板的面积应至少为正面观察时可用像素面积的一半。 图案类型 多年来,人们已经推出了不同的模式,每种模式都有独特的特性和优势。 选择正确的类型首先要考虑您将使用哪种算法和算法实现。在Calib 的相机校准器等软件和libCalib 、OpenCV 或 MVTec Halcon 等库中,模式有一定的自由度,它们各有优缺点。 棋盘格目标 这是最流行和最常见的图案设计。棋盘角候选点通常通过首先对相机图像进行二值化并找到四边形(这些是黑色棋盘区域)来找到。过滤步骤仅保留那些符合特定尺寸标准并组织成规则网格结构(其尺寸与用户指定的尺寸相匹配)的四边形。 在对图案进行初步检测后,可以非常准确地确定角点位置。这是因为角点(数学上称为鞍点)基本上是无限小的,因此在透视变换或镜头畸变下不会产生偏差。 在 OpenCV 中,整个棋盘必须在所有图像中可见才能被检测到。这通常使得从图像的边缘获取信息变得困难。这些区域通常很适合获取信息,因为它们可以适当地约束镜头失真模型。 检测到棋盘格后,可以进行亚像素细化,以亚像素精度找到鞍点。这利用了给定角点位置周围像素的精确灰度值,其精度远高于整数像素位置允许的精度。 关于棋盘格目标的一个重要细节是,为了具有旋转不变性,行数需要为偶数,列数需要为奇数,反之亦然。例如,如果两者都是偶数,则存在 180 度旋转模糊性。在没有任何关于棋盘方向的假设的情况下,特征检测器可能会将原点置于棋盘上的两个或四个不同位置。对于单相机校准,这意味着无法优化目标几何形状,如果需要由两个或更多相机识别相同的点(用于立体校准),则这种模糊性会导致校准失败。这就是为什么我们的标准棋盘格目标都具有偶数/奇数行/列的属性的原因。 CharuCo 目标...

3 条评论

校准模式说明

Jakob W.

准确校准相机对于任何机器/计算机视觉设置的成功都至关重要。然而,有不同的模式可供选择。为了让您更容易选择,本文将介绍每种模式的主要优点。 我们在 Calib.io 上提供的校准图案选择。CharuCo、棋盘、不对称圆圈和棋盘。 图案大小 在选择校准板时,一个重要的考虑因素是它的物理尺寸。这最终与最终应用的测量视场 (FOV) 有关。这是因为相机需要聚焦在特定距离上并进行校准。改变焦距会稍微影响焦距,这会使任何先前的校准失效。即使光圈变化通常也会对校准有效性产生负面影响,这就是为什么应该避免它们。 为了准确校准,如果相机看到校准目标填满了大部分图像,则相机模型受到的约束最好。通俗地说,如果使用小型校准板,则相机参数的多种组合可以解释观察到的图像。根据经验,校准板的面积应至少为正面观察时可用像素面积的一半。 图案类型 多年来,人们已经推出了不同的模式,每种模式都有独特的特性和优势。 选择正确的类型首先要考虑您将使用哪种算法和算法实现。在Calib 的相机校准器等软件和libCalib 、OpenCV 或 MVTec Halcon 等库中,模式有一定的自由度,它们各有优缺点。 棋盘格目标 这是最流行和最常见的图案设计。棋盘角候选点通常通过首先对相机图像进行二值化并找到四边形(这些是黑色棋盘区域)来找到。过滤步骤仅保留那些符合特定尺寸标准并组织成规则网格结构(其尺寸与用户指定的尺寸相匹配)的四边形。 在对图案进行初步检测后,可以非常准确地确定角点位置。这是因为角点(数学上称为鞍点)基本上是无限小的,因此在透视变换或镜头畸变下不会产生偏差。 在 OpenCV 中,整个棋盘必须在所有图像中可见才能被检测到。这通常使得从图像的边缘获取信息变得困难。这些区域通常很适合获取信息,因为它们可以适当地约束镜头失真模型。 检测到棋盘格后,可以进行亚像素细化,以亚像素精度找到鞍点。这利用了给定角点位置周围像素的精确灰度值,其精度远高于整数像素位置允许的精度。 关于棋盘格目标的一个重要细节是,为了具有旋转不变性,行数需要为偶数,列数需要为奇数,反之亦然。例如,如果两者都是偶数,则存在 180 度旋转模糊性。在没有任何关于棋盘方向的假设的情况下,特征检测器可能会将原点置于棋盘上的两个或四个不同位置。对于单相机校准,这意味着无法优化目标几何形状,如果需要由两个或更多相机识别相同的点(用于立体校准),则这种模糊性会导致校准失败。这就是为什么我们的标准棋盘格目标都具有偶数/奇数行/列的属性的原因。 CharuCo 目标...

3 条评论