锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

低分辨率和畸变严重的棋盘格角点的自动检测

时间:2023-12-20 11:37:02 c型角形连接器

文章:Automatic Detection of Checkerboards on Blurred and Distorted Images

作者:Martin Rufli, Davide Scaramuzza, and Roland Siegwart Autonomous System Lab, ETH Zurich, Switzerland

编译:点云PCL

本文仅进行学术分享。如有侵权行为,请联系删除。欢迎加入我们。免费知识星球,获取PDF论文,欢迎转发朋友圈。如有错误,请评论并留言。未经许可请勿转载!

微信官方账号致力于云处理,SLAM,与三维视觉、高精度地图相关的文章和技术,欢迎您加入我们,共同交流,共同进步,感兴趣的可联系微信:920177957。本文来自点云PCL未经作者许可,请勿转载博主的分享。欢迎大家积极分享交流。

摘要

大多数现有的相机校准工具箱需要用户在不同的位置和方向捕获棋盘数据,因为角度问题可能不一定是鲁棒,本文提出了一种自动检测算法,该算法可以从模糊和严重扭曲的大广角相机图像中提取位置和排列顺序,适用于透视相机和全向相机,本文评价了现有的角检测方法,分析了其在模糊和严重畸变图像集中角检测中的优缺点。从分析结果开始,提出、实施和测试了几项改进。实验表明,该算法可以从低到低VGA分辨率的全向图像上一致性地识别80%的角点,并且在更高分辨率下接近100%的角点正确提取,显着优于现有的实现,该方法的性能已在多个不同分辨率、失真和模糊的测试图像集上得到验证,这些测试图像集使用不同类型的相机获得。

介绍

相机可以通过使用鱼眼镜头(如尼康或西格玛)或将标准透视相机与成形镜(如折射全向相机)结合(如折射全向相机,图1)来构建宽视场相机。

51b8cb4ce9b63bcbfdd18839e970296f.png

图1。左:放置在相机上的双镜头。右上角:飞利浦SPC 300ToUCam Fun。

主要贡献

本文的主要贡献是提出了一种新的启发式算法来检测模糊和高度失真图像中的棋盘格。特别是通过这种启发式方法,标准棋盘格检测算法的检测率从20%提高到80%,高质量摄像头的使用率几乎达到100%。

主要内容

我们知道OpenCV它最初是一个开源计算机视觉库Intel它有许多视觉应用算法,特别是配备了Vladimir Vezhnevets开发的棋盘角提取功能,该函数识别棋盘中的单个黑色棋盘,图案,作为基于区域的方法,它的优点是噪声和模糊图像比直线方法更重要。以下是对算法重要部分的逐步分析。在本文的后续介绍中,我们将根据我们的需要进行调整。

A . 算法的步骤

1)算法输入:算法输入是包含给定大小的黑白棋盘的图像。如果提供彩色图像,则需要转换灰度,然后进行阈值步骤。

2) 自适应阈值:二值阈值分割非常适合在大多数情况下区分黑白跳棋。该算法支持自适应阈值,根据给定阈值大小局部二值化图像,通常为不均匀亮度图像提供更高级别的分割结果。有两种核方法可以实现:平均值和高斯核。在最初的方法中,使用平均值需要相当少的计算能力,因此非常适合从视频流中检测棋盘格,其计算时间也非常重要。由于采样模糊、噪音或过于粗糙,阈值分割的黑白图像中的棋盘格通常连接在一起。为了正确识别,需要将其分开,一般采用腐蚀法

3)腐蚀:使用腐蚀步骤(使用3)x3“rect核,见图5)是 Vezhnevets 为了实现算法背后的主要想法,可以将棋盘分离到角落,获得一组黑色四边形。根据这些四边形的轮廓,如果在下一步中没有发现其他棋盘格,很容易通过轮廓检测算法找到轮廓边界,可以假设棋盘格还在一起生长。因此,腐蚀逐渐增加,并重复上述步骤。

图2。左:自适应阈值和一个腐蚀步骤后的结果。右:自适应阈值和两个腐蚀步骤后的结果。

4) 四边形生成:二进制轮廓检测算法试图找到闭合轮廓,并试图通过逐渐接近检测到的多边形或四边形拟合到四边形上。请注意,在第一次腐蚀操作(图3左右)后,只有两个棋盘格正确分离,因此只有两个四边形。经过两次腐蚀步骤(图3右侧),发现了大部分四边形,但并非所有四边形。采用更多的侵蚀步骤,图案开始部分溶解,导致一些(小)棋盘格无法检测到。

图3.左:运行一次腐蚀后发现的所有四边形。右图:第二次腐蚀后,发现了大部分四边形。

5) 四边形连接:四边形连接按以下启发算法连接:

?对于每个找到的四边形的每个角点,计算这个点到其他四边形的每个角点的距离,并存储此类最小距离以及相应的角点和四边形ID。

?检查距离是否小于两个四边形的最小边长,以确保没有四边形连接到太远的四边形。

? 如果这些测试通过,将两个角连接起来,并将提取的角位置设置为其以前位置的平均值。

提取的角度最终形成一个棋盘角,主要通过它们相对于其他角度的位置和邻域关系来描述。

6) 进一步优化:从所有腐蚀操作中作中找到最多角度的棋盘,不同腐蚀操作之间没有信息交换。因此,假设理论上可以识别一次操作中的每个角度。如果最大棋盘中有太多的角度(即因光线而识别错误的棋盘格),则选择最小凸面的角度。

雷达的强度信息表示激光束返回的能量值,通常受物体表面反射率的影响,并在接收3时保持环境光不变D点云P时,我们将其投影到圆柱形强度图像I上,I每一个有效像素都可以与P中的一个点相关联,其值由接收点的强度值决定,然后将所有像素值标准化为0和255之间,这基本上将强度图像视为灰度图像,使我们能够使用强度图像对其进行处理,没有关联有效点的像素被指定为零值,三维点云的示例如图2(a)如图2所示,颜色变化表示强度变化,强度图像如图所示(b)亮像素和暗像素分别对应于高强度值和低强度值。

B.局限性

OpenCV角搜索算法设计用于常规摄像头的实时校准,重点是快速操作的效率。因此,在自适应阈值步骤中使用平均值而不是高斯代码。此外,如果成功检测到完整的棋盘格,算法只返回一个棋盘,而忽略了一个事实,即为了校准,它通常可以正确识别重要的角度。该算法不能正常工作低分辨率、模糊和严重畸变图像。因此,它在全景相机校准中的使用有限,因此在此类工具箱中的实现也有限。

改进的方案

A.自适应腐蚀核

与以前使用的核相比,腐蚀似乎会均匀地影响所有边界像素的大尺寸特性。然而,经过仔细检查,角度往往会变圆。具体数量取决于棋盘格的方向和使用的核的类型。低分辨率相机拍摄的全向图像通常满足条件。尽管在最初的实现中使用了最小对称腐蚀核(3)x3.最大过滤器),但仍实现一些改进:内核尺寸不小于3x但对称3可以改变其形状x3核可以构建两种形状,即图5所示的交叉和矩形。两种形状之间的交替具有保持(小)棋盘格纵横比独立于其方向的效果,即允许均匀收缩。

B.一种新的四边形连接启发算法

在最初的实现中,正确识别的黑色棋盘格被连接到它们的角落,我们发现它适用于高分辨率和大多数未失真的棋盘图像。然而,对于全向相机引入的失真,没有必要匹配最近的角度,如图6所示。

图6.角连接的新启发算法:如果两个候选角(红点)位于四条直线的同一侧(即半透明黄色区域),则成功匹配。

实现正确的角度匹配非常重要。如果匹配不好,会干扰棋盘提取的结构,使所有后续步骤无效。因此,我们提出的解决这个问题的方案是一种增强的启发算法,即使在严重变形的情况下,也可以通过几何验证其有效性:

?对于每个发现的四边形的每个角,计算其他四边形的每个角的距离,并检查距离是否小于四边形的最短边长。如果是真的,接受这两个角作为候选人。

?对于每个候选人,注意它们的四边形,并绘制两条直线穿过四边形边缘的中间部分(见图6)

?如果候选角和源角位于四条直线中绘制的四条直线对应图6中的黄色阴影区),则角成功匹配。

C.自适应四边形连接距离

如上所述,四边形仅在角相距小于一定距离时连接。在最初的实现中,选择两个相关四边形的最短边长作为距离阈值。然而,对于低分辨率图像,腐蚀对四边形的整体尺寸有很大的影响,这可能导致最小边长的急剧减少。因此,调整距离测量以减少腐蚀的影响:

D.多次腐蚀时的四边形连接

由于全景相机的反射镜头,模糊会在径向上不均匀扩散,取决于相机的焦距,向图像中心或边缘的点会变得更加模糊。因此,并非所有四边形都可以在同一腐蚀过程中分离,有些甚至可能在较小的完全消失时开始分离。因此,可能会遇到这样的问题:即使许多四边形在多次迭代中被成功识别,并非所有四边形都出现在一次腐蚀中,因此,我们试图将部分结果合并为完整结果,并在不同的腐蚀过程中匹配发现的四边形棋盘格。该算法扩展如下:

选发现大多数四边形的棋盘作为“参考棋盘”,在第二次腐蚀中,尝试将之前发现的所有腐蚀流程中所有四边形与上述定义的参考图案的边界匹配。成功匹配后,将更新参考图案以包括新的四边形,并重复整个过程,直到不再添加。图7以图像序列的形式显示了该部分内容。

图7.“不同腐蚀过程中的匹配”过程的可视化。顶部:参考图案(浅绿色),很明显,底部的检查器尚未确定。中间:红色四边形表示在另一次腐蚀运行中发现的候选检查器。底部:将其中一些候选对象添加到参考图案(粗体红色四边形)。

E.多边形近似水平的自适应

提取的轮廓被输入到多边形近似器算法中,该近似算法尝试将多边形进行四边形拟合,根据近似多边形偏离真实轮廓的程度(偏差阈值),由于模糊,连接的棋盘格有时被错误地近似为单个四边形,从而再次干扰生成的图案。降低偏差阈值会导致识别数量大大减少的四边形,同时,还减少了误报检测,因此,我们决定在算法的第一部分将轮廓近似限制在保守水平(即选择一个低偏差阈值),实际上以找到的对象数量为代价保证提取正确的四边形。现在较小的参考棋盘随后被引入新的算法中,其中多边形近似阈值再次增加,然后,我们的想法是尝试将腐蚀最严重的运行期间发现的四边形首先匹配到参考模式(即,以相反顺序引入运行),因为分离棋盘格的可能性最高,然而,在参考格子中添加严重腐蚀的四边形会减少角点定位,因此,通过这种自适应,正确的棋盘提取优于角点提取的精度。

F.相对重要性腐蚀核的适应

特别是引入新的连接启发式被认为是最重要的增强算法,它们都处理由全向相机畸变引起的棋盘格模式的变化,同时保持原始实现对规则图像的检测率,其他的改进只会对非常低的分辨率和模糊的图像产生显著的影响。

实验

在本节中,分析了6个测试图像集,每个测试图像集包含10个图像,已经考虑了各种质量的典型摄像机反射镜配置,在原始OpenCV实现和我们提出的方法之间,比较了每幅图像中发现的角点数量和角点定位精度,首先讨论成功提取角点的先决条件。

A.先决条件使用OpenCV和我们的方法提取角点取决于任何合理大小的黑白棋盘(已显示5x6和6x7内角的大小效果良好),其周围的白色边框至少有一个棋盘格宽度(见图8)。

图8.7x6棋盘,白色边框恰好为一个棋盘格宽度。

如果计划在极端的背光或高架照明的情况下使用该算法,考虑使用更宽的白色边框的棋盘,此外,使用分辨率尽可能高的相机,尽量减少整体模糊,尤其是在小棋盘格周围,并确保棋盘格没有触及边界或被遮挡。

有关所选测试图像集的概述,请参阅表I。

第1-3集是用索尼XCDSX910相机(高分辨率)和双曲镜组合拍摄的;

第4组和第5组分别配有飞利浦ToUCam Fun相机(低分辨率、大景深、图1底部),并配有圣诞球和球面镜;

第6组使用飞利浦SPC 300摄像机(低分辨率,窄景深,图1顶部)和球面镜。对于第4组,我们使用了一个圣诞球,以表明我们的方法也适用于其他凹面镜。对于集合1、2、4和5(无模糊),相对于参考提取(手动预选,然后在选定区域中进行Harris角提取)测量角点不准确度。对于第3组和第6组(模糊),仅手动角点选择被定义为参考。描述了显示1号和6号测试集的平均找到角数的图像,以便传达在不同测试条件下两个实现之间的相对性能的感觉(图9和图10)。

  图9.最能反映测试集1算法平均性能的标定图像。左:OpenCV。右图:我们的方法。

图10.最能反映测试集算法平均性能的标定 图像 左:OpenCV。右图:我们的方法。

以下两个示例旨在让读者了解棋盘模式提取过程中可能出现的问题。

1) 棋盘周围宽边框的重要性:在明亮光源下拍照时,自适应阈值被干扰,认为白色棋盘边框实际上是黑色的。我们强调足够宽的白色边界的重要性。

2) 低分辨率图像中的小棋盘格:图11属于第5号测试图像集。对匹配过程的仔细检查表明,在一次腐蚀运算后,右下角的棋盘格太小,无法识别为四边形;然而,在下一次腐蚀过程中,它们已经和相邻区域一起生长了。在这种情况下,只有在低分辨率图像中非常小的棋盘格才会出现,相关棋盘格的角点提取失败。

总结

本文分析了一种现有的在标定图像上识别棋盘格的方法,该方法是在Opencv实现的方法基础上经过调整和改进的方法的起点,对代码的增强大大增加了低分辨率和模糊图像的角点输出,始终返回80%或更多的角点,而现有方法的角点输出仅为20%。在更高分辨率的图像上,获得了近100%的角点识别。

资源

三维点云论文及相关应用分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

3D目标检测:MV3D-Net

三维点云分割综述(上)

3D-MiniNet: 从点云中学习2D表示以实现快速有效的3D LIDAR语义分割(2020)

win下使用QT添加VTK插件实现点云可视化GUI

JSNet:3D点云的联合实例和语义分割

大场景三维点云的语义分割综述

PCL中outofcore模块---基于核外八叉树的大规模点云的显示

基于局部凹凸性进行目标分割

基于三维卷积神经网络的点云标记

点云的超体素(SuperVoxel)

基于超点图的大规模点云分割

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

SLAM综述之Lidar SLAM

基于鱼眼相机的SLAM方法介绍

扫描下方微信视频号二维码可查看最新研究成果及相关开源方案的演示:

如果你对本文感兴趣,请后台发送“知识星球”获取二维码,务必按照“姓名+学校/公司+研究方向”备注加入免费知识星球,免费下载pdf文档,和更多热爱分享的小伙伴一起交流吧!

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入免费星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享及合作方式:微信“920177957”(需要按要求备注) 联系邮箱:dianyunpcl@163.com,欢迎企业来联系公众号展开合作。

点一下“在看”你会更好看耶

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章