您当前的位置: 首页 >  算法

暂无认证

  • 2浏览

    0关注

    99463博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

武大+CMU最新开源!全面支持平面/鱼眼/球面相机的实时统一线段检测算法

发布时间:2021-12-10 07:00:00 ,浏览量:2

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

干货第一时间送达

3d226bb6709f88cb3197a2255c13d7c0.png

来源丨计算机视觉life

作者丨司晗骞

大家好,今天给大家介绍一篇武汉大学和卡内基梅隆大学联合发布的论文,论文名称:Li, Hao and Yu, Huai and Wang, Jinwang and Yang, Wen and Yu, Lei and Scherer, Sebastian. ULSD: Unified line segment detection across pinhole, fisheye, and spherical cameras. ISPRS Journal of Photogrammetry and Remote Sensing, 2021, 178: 187-202.

同时,作者开源了代码,代码地址:

https://github.com/lh9171338/ULSD-ISPRS

70437fbc10a684147aff4d78e496d34b.png

摘要:

图像的线段检测是计算机视觉和遥感技术中的一个基本问题,可广泛应用于三维重建和SLAM。虽然许多先进方法在线段检测方面表现出了良好的性能,但对未去畸变原始图像的线段检测仍然是一个具有挑战性的问题。此外,对于畸变和无畸变的图像都缺乏统一的线段检测框架。为了解决这两个问题,本文提出了一种新的基于学习的任意畸变图像的统一线段检测方法(即ULSD)。具体来说,我们首先提出了一种新的基于等分点的Bezier曲线表示方法来建模任意畸变的线段。然后利用端到端可训练神经网络进行等分点回归,在此基础上回归出整条线段。因此,所提出的ULSD算法和相机的畸变参数和相机模型无关,不需要进行去畸变预处理。在实验中,该方法分别在针孔、鱼眼和球形图像数据集上进行评估,并在不同相机模型畸变图像的混合数据集上进行训练和测试。在典型三种相机模型上的实验结果表明,提出ULSD在准确性和效率上比当前SOTA的方法更具有竞争力,特别是统一三种相机模型的混合数据集的结果训练,证明提出的ULSD在现实场景的有效性和普遍性。源代码和数据集:https://github.com/lh9171338/ULSD-ISPRS

1.引言

线段检测是计算机视觉和遥感中的一个基本问题,在许多高级视觉任务中起着重要作用,如图像匹配、相机校准、相机定位、三维重建,视觉SLAM等。现有线段检测方法可大致根据输入图像分为直线段检测和畸变线段检测两类。由于直线段表示的简单性(两个端点),大多数研究都致力于这一点,并取得了显著的结果。最近,人们提出了一个更高层次的线段检测任务,即线框解析,以联合检测有意义和显著的线段和线段端点。在端点的约束下,输出的线段在线的完整性和对噪声的鲁棒性方面明显提高。然而,这些线段检测和线框解析的方法不能直接应用于带畸变的图像,导致了不可避免的图像去畸变预处理。对鱼眼和球形图像的失真线检测可以保留图像大视角优势而不丢失信息。此外,对于大多数对时间要求高的SLAM方法(如ORB-SLAM、VINS-mino和2D-3D姿态跟踪),对原始图像进行特征检测然后对特征校正是提高效率的常见做法。

fe674603680d7321904ad52990de455b.png

图1:所提出的ULSD方法演示了平面、鱼眼和球形图像的统一线段检测模型。

本工作的目的是开发一种简单而有效的统一线段表示和一种基于学习的检测方法,直接输出针孔、鱼眼和球形图像的矢量化线段。考虑到Bezier曲线的强拟合能力,它已成功地应用于任意形状的文本检测,我们将Bezier曲线表示作为失真和未失真图像中线段的统一表示。利用线段的等分点对Bezier曲线进行建模,利用等分点的坐标回归可以有效地解决线段的检测问题。基于所提出的Bezier曲线表示和流行的线框表示,我们设计了一种用于统一线段检测的端到端神经网络,即ULSD。通过预测线中点来建模Bezier曲线,我们的ULSD在线段表征和网络设计方面都具有创新性,并扩展了对失真图像的线检测。ULSD的网络可分为三部分:特征提取网络、Line Proposal Network(LPN)和最后的分类器LOI Head。以平面、鱼眼或球形相机拍摄的图像作为输入,网络可以直接输出矢量化的线段,如图1所示。为了评估所提出的USLD的性能,我们在单一畸变模型(平面、鱼眼或球形)和混合模型的不同数据集上进行了充分的实验。实验结果表明,所提出的ULSD在准确性、效率和通用性方面比以往最先进的方法更具竞争力。

综上所述,本文的主要贡献有三个方面:

  • 我们提出了一种基于Bezier曲线的简单而有效的统一线段表示方法,其中线段用其等分点进行非参数表示。因此,它与相机的固有模型无关,可以直接扩展到检测有畸变图像里的线段。

  • 在统一的线段表示的基础上,设计了一个线段等分点回归的端到端神经网络,该网络可以从平面、鱼眼和球面图像中提取失真和未失真的线段。

  • 为了评估其性能,我们创建了鱼眼和球形图像数据集,用于畸变图像中的线段检测。与当前SOTA方法的广泛评估和比较证明了ULSD的准确性和效率。最重要的是,在混合数据集上训练的统一模型结果验证了其泛化性和通用性。

d93300032a8d274dfb4fa52bbb912280.png

图2.一个三阶Bezier曲线的说明。bi表示控制点,pi表示中点。

2f0297039b5e9578cec3880134e9094e.png

3f2ad83717146187c57d7780546d73d4.png

94fa0470950fefd3282aa3e9e0f0578a.png

图3:对我们的ULSD网络架构的概述。该网络包括特征提取骨干、Line Proposal Network和LoI头三部分。

b8c37b7426fcd071bcb221d21f0d7318.png

4931f699a8bb7882794ac0c7cf3c0e41.png

99fdf56a0f307aaa2d68d109c6b96d73.png

818d439ad3f15e5f2502ec1de4614cb7.png

afe54550e1ab32d01a140d26106122de.png

8f1413e7a37729be16e43d0fc9a2d73e.png

ef593b9547c408ee87c82804765ca770.png

2261e07b59367e77885de92646e66b2f.png

fc9f4eb2eda36ff85a0c9d43c56a49e5.png

8d05bb8dd4a789c55cc946840a0d1ae7.png

3.实验

在本节中,我们在各种数据集上进行了充分的实验,以评估ULSD的性能,并将其与当前SOTA方法进行比较。

3.1.数据集和评估指标

3.1.1.平面图像数据集

公共Wireframe数据集和YorkUrban数据集用作直线段检测数据集。前者包含5462张场景图像,其中5000张图像用于训练,其余462张图像用于测试,这个数据集的标注包括交叉点和线段。后者包含102张城市环境图像,标注是满足“曼哈顿假设”的线段集。Wireframe数据集同时用于训练和测试,而YorkUrban数据集仅用于测试,以验证模型的可推广性。

3.1.2.鱼眼图像数据集

由于没有用于线段检测的公共鱼眼图像数据集,所以我们同时收集仿真图像和真实图像来创建鱼眼数据集。首先,我们利用鱼眼畸变模型扭曲Wireframe数据集和YorkUrban数据集的图像,建立F-Wireframe数据集和F-YorkUrban数据集,其中随机生成每幅图像的鱼眼畸变系数。类似地,F-Wireframe数据集同时用于训练和测试,而F-YorkUrban数据集只用于测试。然后,为了提高模型对真实图像的普适性,我们手动标注了1900张真实的180度鱼眼图像。最终的训练集由3100张合成图像和1900张真实图像组成,共计5000张图像。

3.1.3.球面图像数据集

目前没有可用的公共球面图像数据集进行线段检测,因此我们通过手动注释来自SUN360数据集和斯坦福2D-3D-S数据集的图像,构建了一个名为SS360的新数据集。SS360数据集由来自SUN360数据集的518张图像和来自Stafff2D-3D-S数据集的550张图像组成。在数据集中的1068幅图像中,将950张图像分为训练集,将118张图像分为测试集。

3.1.4.混合图像数据集

作为任意畸变图像的统一线段检测方法,我们进一步对ULSD在不同类型图像的混合数据集上进行综合性能评估。因此,我们还构建了一个混合训练和测试数据集。混合训练数据集是上述三个训练集的10950张图像的混合。混合测试数据集的图像是从Wireframe数据集、F-Wireframe数据集和SS360数据集的测试集中随机选择各100张。

3.2.消融研究

我们首先探讨了Bezier曲线的阶数的影响,并根据实验结果确定了ULSD的合适的阶数设置。然后,我们进一步比较了不同的混合训练策略的效果。

508b400e24b031de1e610e079f66b62b.png

图6:不同Bezier阶数在平面、鱼眼和球面图像数据集下的表现。(a)不同阶数Bezier曲线的平均拟合误差(b)-(c)不同阶数Bezier曲线的参数和网络的FLOPs  (d)-(f)不同阶数Bezier曲线提取的精度和效率。

3.3.与其他方法的比较

为了评估所提出的ULSD的性能,我们对针孔、鱼眼和球形图像数据集以及混合数据集的传统方法霍夫变换(HT)和LSD、基于学习的方法DWP、AFM、L-CNN和HAWP进行了深入的比较。对于平面图像,使用OpenCV中的渐进式概率霍夫变换(PPHT)进行评估,并使用结构化边缘检测算法(Dollar和Zitnick,2013)提取突出的结构化边缘。而对于鱼眼图像和球形图像,则采用了球形霍夫变换。

3499ab41c683e5a8fc818c1ced62acae.png

图7:平面Wireframe数据集和YorkUrban数据集的定性结果和比较。

3.3.1.平面图像结果

表2总结了Wireframe数据集和YorkUrban数据集上的定量结果和比较。图7显示为定性结果比较。除在三混合数据集上训练的ULSD(P+F+S)外,所有模型均在Wireframe数据集上进行训练。定量结果表明,与传统的霍夫变换和LSD以及基于学习的DWP和AFM相比,ULSD具有更高的检测精度。此外,与最先进的方法LCNN和HAWP相比,所提出的ULSD获得了相当的精度和显著的速度提高,达到36.8FPS。在三混合数据集上的训练并不有助于在针孔线框和YorkUrban数据集上的测试的性能。

表2:Wireframe数据集和YorkUrban数据集的定量结果和比较。除在三混合数据集上训练的ULSD(P+F+S)外,所有模型均在Wireframe数据集上进行训练。与最先进的方法相比,ULSD获得了相当的精度和显著的速度提高。

21fffcc04684fb6a0d077ea987e14f43.png

3.3.2.鱼眼图像结果

对于鱼眼图像数据集,由于对比算法不能推广到失真的相机模型,我们只将ULSD与传统的霍夫变换和深度学习直线段检测方法L-CNN和HAWP进行了比较。L-CNN和HAWP的模型仍然在Wireframe数据集上进行训练,因为它们不支持使用鱼眼图像数据集进行训练。而我们的模型ULSD(F)和ULSD(P+F+S)分别在F-Wireframe数据集和三混合训练数据集上进行训练。定量和定性结果见表3和图9。与L-CNN和HAWP相比,我们的ULSD获得了更高的线段检测精度,因为L-CNN和HAWP只能检测鱼眼图像中的直线段。从理论上讲,霍夫变换可以检测到扭曲的线段。然而,它产生了许多片段的线段,如图9所示。相反,通过利用神经网络,ULSD可以以最高的效率产生高质量的线段检测结果。对合成和真实鱼眼图像的定性结果表明,该ULSD具有良好的鲁棒性和通用性。

表3:F-Wireframe数据集和F-YorkUrban数据集的定量结果和比较。由于其他方法不能应用于曲线检测,我们与传统的霍夫变换和深度学习方法L-CNN和HAWP进行了比较。ULSD取得了最优的结果。

7dd9b33960bea72648fb15bce4d83979.png

17e21b332f30e4894c76725cf71501e5.png

图9:F-Wireframe数据集和F-YorkUrban数据集的定性结果和比较。第1−第4列是合成的鱼眼图像,第5−第6列是真实的鱼眼图像。

3.3.3.球面图像结果

在球面图像数据集上的线段检测结果如图11所示。表4表示定量结果和比较。所有这些结果表明,我们的方法显著优于最先进的方法。图11表明,传统的HT可以检测到曲线段,但由于有许多片段和噪声,最近基于学习的L-CNN和HAWP可以检测到大部分的垂直直线,但忽略了所有的水平曲线段。与ground truth相比,我们的ULSD的缺失线检测最少。当比较我们自己的两种模型ULSD(S)和ULSD(P+F+S)时,我们发现后者在定量和定性结果方面都获得了更好的性能。这是因为与原始的SSUN360数据集相比,混合训练大大增加了训练样本的数量。添加的针孔和鱼眼数据集有助于学习球形图像的直线检测和扭曲检测,获得更高的精度和更好的通用性。

aaae9376e2bd26c7fc6fd10f06e78272.png

图11:SS360数据集的定性结果和比较。

表4:SS360数据集的定量结果和比较。

46e551b856e124a7464734f433415958.png

3.3.4.混合试验结果

为了统一的线段检测,我们进一步将我们的方法配置为在上述三种相机模型的混合数据集上进行训练。为了评价线段检测方法对不同失真图像的综合性能,我们与Hough变换(HT)、L-CNN和HAWP方法进行了比较。结果如表5、图13所示。虽然HT可以检测到一些直线和曲线,但还需要提供相机模型来选择PPHT或球形HT。我们可以观察到,与ground truth相比,所提出的USLD获得了所有指标的最高精度,同时也获得了最好的定性结果。支持混合训练的独特特点显著提高了所提出的ULSD的性能,这证明了所提出的ULSD的统一性和普遍性。

表5:三种混合数据集的定量结果和比较。所提供的指标显示了对不同失真图像的综合性能。

ee91c8450ec862ed8ba652f47f92e330.png

965b28a3063f8a739125fbf798b4cbde.png

图13:对三种混合数据集的定性结果和比较。前4种方法(行)在针孔数据集上进行训练,而ULSD(P+F+S)在三种混合数据集上进行训练。所有这些模型都在针孔(第一列)、鱼眼(第二−第3列)和球形(第4−第5列)图像上进行了测试。

4.结论

本文提出了一种统一的线段检测方法(ULSD),用于检测平面、鱼眼和球面图像中有畸变和无畸变的线段。USLD采用新的基于等分点的Bezier曲线表示,将任意畸变的图像线段检测统一到一个端到端的学习网络框架。其核心由三个模块组成:特征提取网络、线proposal网络(LPN)和分类器LoIHead。通过实验表明,所提出的ULSD在线特征提取精度和效率方面都比以往方法更具竞争力。在混合数据集上训练的ULSD的性能进一步证明了其在三种常见相机模型上的有效性和通用性。因此,我们的统一ULSD模型可以应用于检测平面、鱼眼和球面图像上的线段,而不需要任何相机模型或畸变参数。我们还提供了F-Wireframe、F-YorkUrban和SS360数据集,希望这带来更多的在任意畸变相机中的线段检测工作。

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

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码) 3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进 4.国内首个面向工业级实战的点云处理课程 5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解 6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦 7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化 8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

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

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

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

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

58de3c61e9ca2fc3c51ed99b8a91b026.png

▲长按加微信群或投稿

5c36be927b8e6f196b28ac08fddfaade.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

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

2eea20b1d39cb69cbd20871c35bbbc5d.png

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

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

关注
打赏
1655516835
查看更多评论
立即登录/注册

微信扫码登录

0.0512s