相机标定中各种标定板介绍以及优缺点分析

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

作者:Jakob W

编译:ronghuaiyang(AI 公园)

导读

各种标定板的解释和分析。

准确标定像机对于所有的机器/计算机视觉的成功应用都是非常重要的。然而,对于标定板,有不同的模式可供选择。为了方便进行选择,本文将解释每种方法的主要好处。

标定板的选择,有CharuCo,棋盘格,不对称的圆和棋盘格。

标定板尺寸

在选择标定板时,一个重要的考虑因素是它的物理尺寸。这最终关系到最终应用的测量视场(FOV)。这是因为相机需要聚焦在特定的距离上标定。改变焦距长度会轻微地影响对焦距离,这会影响之前的标定。即使是光圈的改变通常也会对标定的有效性产生负面影响,这就是为什么要避免改动它们。

为了精确的标定,当摄像机看到标定目标填充大部分图像时,摄像机模型最好是受到约束的。通俗来说,如果使用一个小的标定板,许多相机参数的组合可以解释所观察到的图像。根据经验,当正面观察时,标定板的面积至少应该是可用像素面积的一半。

标定板类型

多年来已经引入了不同的标定板,每种标定板都有独特的属性和好处。

要选择正确的类型,首先要考虑使用哪种算法和算法实现。在OpenCV或MVTec Halcon等通用库中,标定板有一定的自由度,它们有各自的优点和局限性。

棋盘格

这是最流行、最常见的图案设计。通常通过首先对摄像机图像进行二值化并找到四边形(黑色的棋盘区域)来找到棋盘角点的候选点。过滤步骤只保留那些满足特定大小标准的四边形,并组织在一个规则的网格结构中,网格结构的尺寸与用户指定的尺寸匹配。

在对标定板进行初步检测后,可以以非常高的精度确定角点位置。这是因为角(数学上:鞍点)基本上是无限小的,因此在透视变换或镜头失真下是无偏的。

在OpenCV中,整个棋盘必须在所有图像中可见才能被检测到。这通常使得从图像的边缘获取信息变得困难。这些区域通常是很好的信息来源,因为它们适当地约束了镜头失真模型。

在检测出棋盘格后,可以进行亚像素细化,以找到具有亚像素精度的鞍点。这利用了给定角点位置周围像素的确切灰度值,并且精度比整数像素位置所允许的精度要精确得多。

你可以查看OpenCV棋盘检测器的源代码:https://github.com/opencv/opencv/blob/master/modules/calib3d/src/calibinit.cpp。关于棋盘格目标的一个重要细节是,为了保持旋转不变,行数必须是偶数,列数必须是奇数,或者相反。例如,如果两者都是偶数,则存在180度旋转的歧义。对于单台相机的校准,这不是一个问题,但如果相同的点需要由两个或更多的相机识别(对于立体校准),这种模糊性必须不存在。这就是为什么我们的标准棋盘目标都具有偶数/奇数行/列的属性。

圆形网格

圆形网格也是一种流行且非常常见的校准目标设计,它基于圆形,或者是白色背景上的白色圆形,或者是白色背景上的黑色(黑色)圆形。在图像处理术语中,圆可以被检测为图像中的“斑点”。在这些二元斑点区域上应用一些简单的条件,如面积、圆度、凸度等,可以去除候选的坏特征点。

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

对称圆网格和非对称圆网格的一个重要区别是,对称圆网格具有180度的模糊性,正如“棋盘”一节中所解释的那样。因此,对于立体校正,非对称网格是必要的。否则,这两种类型的性能都不会有太大的差别。

圆形网格检测的OpenCV源代码:https://github.com/opencv/opencv/blob/master/modules/calib3d/src/circlesgrid.cpp。

CharuCo

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

CharuCo的主要优点是所有光检查器字段都是唯一编码和可识别的。这意味着即使是部分遮挡或非理想的相机图像也可以用于校准。例如,强烈的环形光可能会对标定目标产生不均匀的光照(半镜面反射区域),这将导致普通棋盘格检测失败。使用CharuCo,剩余的(好的)鞍点检测仍然可以使用。鞍点定位可以像棋盘一样使用亚像素检测来细化。

对于接近图像角落的观察区域,这是一个非常有用的属性。由于目标的定位使得摄像机只能看到它的一部分,所以我们可以从摄像机图像的边缘和角落收集信息。这通常会带来确定镜头失真参数时的非常好的鲁棒性。因此,我们强烈推荐使用CharuCo标定板,OpenCV 3.x是可用的。

自然,CharuCo目标可以用于立体校准。在这种情况下,需要执行一些代码来找到在每个摄像头中单独检测到的点,以及在两个摄像头中都检测到的点(交点)。

英文原文:https://calib.io/blogs/knowledge-base/calibration-patterns-explained

本文仅做学术分享,如有侵权,请联系删文。

下载1

在「3D视觉工坊」公众号后台回复:3D视觉即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。

下载2

在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。

下载3

在「3D视觉工坊」公众号后台回复:相机标定即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配即可下载独家立体匹配学习课件与视频网址。

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

3D视觉工坊 CSDN认证博客专家 算法 3D视觉
个人公众号:3D视觉工坊。公众号特邀嘉宾及合伙人,先后就职于国内知名研究机构、自动驾驶公司、海康研究院,主要研究方向为深度学习、目标检测、语义分割、图像处理、自动驾驶感知算法等,CSDN博客专家。博主先后任职于国内知名研究院、知名大厂,致力于3D视觉算法、VLAM算法开发,涉及相机标定、手眼标定、结构光、点云后处理、三维重建等相关领域的研究,同时也是CSDN博客专家。3D视觉工坊坚持原创,近一年来输出了非常多的高质量文章,获得了粉丝的一致好评,我们将始终坚持走原创路线,打造一个铁杆粉丝的聚集区。
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值