0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享一种基于深度图像梯度的线特征提取算法download

jf_pmFSk4VX 来源:GiantPandaCV 2023-01-08 14:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

0. 笔者个人体会

在低纹理区域,传统的基于特征点的SfM/SLAM/三维重建算法很容易失败。因此很多算法会尝试去提取线特征来提高点特征的鲁棒性,典型操作就是LSD

但在一些带噪声的低光照环境下,LSD很容易失效。而且线特征检测的难点在于,由于遮挡,线端点的精确定位很难获得。

它使用深度学习来处理图像并丢弃不必要的细节,然后使用手工方法来检测线段。

因此,DeepLSD不仅对光照和噪声具有更强鲁棒性,同时保留了经典方法的准确性。整篇文章的推导和实验非常详实,重要的是算法已经开源!

2. 摘要

线段在我们的人造世界中无处不在,并且越来越多地用于视觉任务中。由于它们提供的空间范围和结构信息,它们是特征点的补充。

基于图像梯度的传统线检测器非常快速和准确,但是在噪声图像和挑战性条件下缺乏鲁棒性。他们有经验的同行更具可重复性,可以处理具有挑战性的图像,但代价是精确度较低,偏向线框线。

我们建议将传统方法和学习方法结合起来,以获得两个世界的最佳效果:一个准确而鲁棒的线检测器,可以在没有真值线的情况下在野外训练。

我们的新型线段检测器DeepLSD使用深度网络处理图像,以生成线吸引力场,然后将其转换为替代图像梯度幅度和角度,再馈入任何现有的手工线检测器。

此外,我们提出了一个新的优化工具,以完善基于吸引力场和消失点的线段。

这种改进大大提高了当前深度探测器的精度。我们展示了我们的方法在低级线检测度量上的性能,以及在使用多挑战数据集的几个下游任务上的性能。

3. 算法解读

作者将深度网络的鲁棒性与手工制作的线特征检测器的准确性结合起来。具体来说,有如下四步:

(1) 通过引导LSD生成真实线距离和角度场(DF/AF)。

(2) 训练深度网络以预测线吸引场DF/AF,然后将其转换为替代图像梯度。

(3) 利用手工LSD提取线段。

(4) 基于吸引场DF/AF进行细化。

8c1a4daa-8e4d-11ed-bfe3-dac502259ad0.png

图1 方法概述

作者所做主要贡献如下:

(1) 提出了一种自举当前检测器的方法来在任意图像上创建真实线吸引场。

(2) 引入了一个优化过程,可以同时优化线段和消失点。这种优化可以作为一种独立的细化来提高任何现有的深度线检测器的精度。

(3) 在多个需要线特征的下游任务中,通过结合深度学习方法的鲁棒性和手工方法在单个pipeline中的精度,创造了新的记录。

3.1 线吸引场

最早通过吸引场表示线段的方法是AFM,为图像的每个像素回归一个2D向量场,来表示直线上最近点的相对位置。

该方法允许将离散量(线段)表示为适合深度学习的平滑2通道图像。然而,这种表示方法并不是获得精确线段的最佳方法。

如图2所示,比如HAWP那样直接预测端点的位置需要很大的感受野,以便能够从遥远的端点获取信息。

8c27bb5c-8e4d-11ed-bfe3-dac502259ad0.png

图2 吸引场参数化。(a)对二维向量进行参数化可能会对小向量模产生噪声角。(b) 向端点添加偏移量需要长程信息且对噪声端点不具有鲁棒性。作者提出将距离场(c)和线角度场(d)解耦。

而DeepLSD这项工作的巧妙之处在于,作者提出将网络限制在一个较小的感受野,并使用传统的启发式方法来确定端点。

DeepLSD采用和HAWP类似的吸引场,但没有额外的两个指向端点的角度,只保留线距离场(DF)和线角度场(AF)。其中线距离场DF给出当前像素到直线上最近点的距离,线角度场AF返回最近直线的方向:

8c35c1fc-8e4d-11ed-bfe3-dac502259ad0.png

3.2 真值生成

为了学习线吸引场,需要ground truth。AFM和HAWP都是使用线框数据集的真值来监督。但DeepLSD的作者探索了一种新的方法,即通过引导先前的线检测器来获取真值。

具体来说,就是通过单应性自适应生成真值吸引场。给定单幅输入图像I,将其与N个随机单应矩阵Hi进行wrap,在所有wrap后的图像Ii中使用LSD检测直线段,然后将其wrap回到I来得到线集合Li。

下一步是将所有的线聚合在一起,这一部分是个难点。作者的做法是将线条集合Li转换为距离场Di和角度场Ai,并通过取所有图像中每个像素(u, v)的中值来聚合:

8c42bede-8e4d-11ed-bfe3-dac502259ad0.png

通过取中值,可以去除仅在少数图像中检测到的噪声,结果如图3所示。

8c60f9b2-8e4d-11ed-bfe3-dac502259ad0.png

图3 伪GT可视化

3.3 学习线吸引场

为了回归距离场和角度场,DeepLSD使用了UNet架构,尺寸为HxW的输入图像经多个卷积层处理,并通过连续3次平均池化操作逐步降采样至8倍。

然后通过另一系列卷积层和双线性插值将特征放大回原始分辨率。得到的深度特征被分成两个分支,一个输出距离场,一个输出角度场。最后距离场通过反归一化得到:

8c6eafbc-8e4d-11ed-bfe3-dac502259ad0.png

其中r是像素中的一个参数,它定义了每条线周围的区域。由于手工方法主要需要线段附近的梯度信息,因此DeepLSD只对距离线段小于r个像素的像素进行监督。

总损失为距离场和角度场的损失之和:

8c7dc056-8e4d-11ed-bfe3-dac502259ad0.png

这里就没啥可说的了,LD为归一化距离场之间的L1损失,LA为L2角度损失:

8c8acb7a-8e4d-11ed-bfe3-dac502259ad0.png

3.4.提取线段

由于LSD是基于图像梯度的,因此需要将距离场和角度场转换为替代图像梯度幅度和角度:

8c9c3c70-8e4d-11ed-bfe3-dac502259ad0.png

AFM和LSD方法的一个重要区别是梯度方向。对于黑暗与明亮区域分离的边缘,LSD跟踪从暗到亮的梯度方向,而AFM不跟踪。

如图4所示,当几条平行线以暗-亮-暗或亮-暗-亮的模式相邻出现时,这就变得很重要。

为了更好的精度和尺度不变性,DeepLSD检测这些双边缘,并构造角度方向:

8ca9eab4-8e4d-11ed-bfe3-dac502259ad0.png

8cb7df34-8e4d-11ed-bfe3-dac502259ad0.png

图4 区分双边缘。(a) 亮-暗-亮边缘和定向角度场的示例。(b) HAWP将其视为一条直线。(c) 为了准确,DeepLSD将其检测为两条线。

为了使线特征更加精确,作者还提出了一个优化步骤,即利用第二步预测的DF和AF来细化。需要注意的是,这种优化方法也可以用来增强任何其他深度探测器的线特征。

优化的核心思路是,在3D中平行的线将共享消失点。因此DeepLSD将其作为软约束融入到优化中,有效地降低了自由度。

首先利用多模型拟合算法Progressive-X计算一组与预测线段相关的消失点(VPs)。然后对每条线段独立进行优化,损失函数是三种不同成本的加权无约束最小二乘最小化:

8cc5e7dc-8e4d-11ed-bfe3-dac502259ad0.png8cd3418e-8e4d-11ed-bfe3-dac502259ad0.png

4. 实验

作者训练了DeepLSD的两个版本,一个在室内Wireframe数据集,没有使用GT线,一个室外MegaDepth数据集。

MegaDepth数据集保留150个场景用于训练,17个场景用于验证,每个场景只采集50张图像。

在实验细节上,使用Adam优化器和初始学习率为1e3,学习率调整策略为,当损失函数到达一定数值时学习率/10。

硬件条件为,在NVIDIA RTX 2080 GPU上训练时间12小时。

4.1 直线检测性能

作者首先在HPatches数据集和RDNIM数据集上评估直线检测性能,其中HPatches数据集具有不同的光照和视点变化,RDNIM数据集具有挑战性的昼夜变化相关的图像对。

评价指标为重复性、定位误差以及单应估计分数。重复性(Rep)衡量匹配误差在3个像素以下的直线的比例,定位误差(LE)返回50个最准确匹配的平均距离。表1和图5所示是与经典线特征检测器的对比结果。

表1 在HPatches和RDNIM数据集上的直线检测评估

8ce0171a-8e4d-11ed-bfe3-dac502259ad0.png8ced81c0-8e4d-11ed-bfe3-dac502259ad0.png

图5 线段检测示例

从结果来看,以TPLSD为首的学习方法具有较好的可重复性,但存在较低的定位误差和不准确的单应矩阵估计。

手工方法和DeepLSD由于不直接对端点进行回归,而是利用非常低的细节逐步增长线段,因此精度更高。

当变化最具挑战性时,DeepLSD比LSD表现出最好的改善,即在昼夜变化强烈的RDNIM上。

可以显著提高定位误差和单应性估计分数。LSDNet由于通过将图像缩放到固定的低分辨率而失去了准确性。

总体而言,DeepLSD在手工方法和学习方法之间提供了最佳的权衡,并且在单应性估计的下游任务中始终排名第一。

4.2 重建及定位

这项工作除了评估自身的线特征生成质量外,还进行了三维重建对比。作者利用Line3D++获取一组已知姿态的图像和相关的2D线段,并输出线条的三维重建。

作者在Hypersim数据集的前4个场景上将DeepLSD与几个基线进行比较。其中召回R为距离网格5 mm以内的所有线段的长度,单位为米,越高意味着许多线条被重建。精度P是距离网格5毫米以内的预测线的百分比,越高表明大部分预测的直线在真实的三维表面上。

结果如表2所示,DeepLSD总体上获得了最好的召回和精度。TP-LSD虽然在召回上排名第一,但是能够恢复的直线很少,其平均精度比DeepLSD小71 %。

值得注意的是,DeepLSD比LSD能够重建更多的直线,且精度更高。

表2 线三维重建对比结果

8cfe6e5e-8e4d-11ed-bfe3-dac502259ad0.png

作者在7Scenes数据集上进行了定位实验,估计位姿精度,其中Stairs场景对于特征点的定位非常具有挑战性。

图6表明,DeepLSD在这个具有挑战性的数据集上获得了最好的性能。

与仅使用点相比,可以突出线特征带来的性能的大幅提升。在室内环境中,线特征提取并定位的性能良好,即使在低纹理场景中也可以匹配。

8d09a260-8e4d-11ed-bfe3-dac502259ad0.png

图6 7Scenes数据集楼梯的视觉定位结果

4.3 线优化的影响

作者还研究了优化步骤的影响。对于每种方法,作者将原始线条与优化后的线条和VP进行比较。

表3展示了线检测器在Wireframe测试集的462张图像上的检测结果。结果显示,优化可以显著改善不精确方法的定位误差和单应性得分,并显著提高评价直线精度的所有指标。

特别是对于HAWP和TP-LSD,两者的定位误差都下降了32 %,单应性得分提高了27 %和39 %。

注意,优化并没有给DeepLSD带来多大提升,这是因为它的原始预测线已经是亚像素精确的,并且优化受到DF和AF分辨率的限制。

表3 Wireframe数据集上的线优化

8d17967c-8e4d-11ed-bfe3-dac502259ad0.png

4.4 消融研究

作者在HPatches数据集上用低级别检测器指标验证了设计选择,将DeepLSD与单边相同模型进行比较。表4展示了各组成部分的重要性。

值得注意的是,在DeepLSD上重新训练HAWP会导致较差的结果,因为与线框线相比,线条的数量更多,而且一般的直线往往有噪声的端点,因此预测到两个端点的角度也是有噪声的。

表4 HPatches数据集上的消融实验

8d2557b2-8e4d-11ed-bfe3-dac502259ad0.png

5. 结论

作者提出了一种混合线段检测器,结合了深度学习的鲁棒性和手工检测器的准确性,并使用学习的替代图像梯度作为中间表示。还提出了一种可以应用于现有深度检测器的优化方法,弥补了深度检测器和手工检测器之间的线局部化的差距。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 检测器
    +关注

    关注

    1

    文章

    946

    浏览量

    50092
  • SLAM
    +关注

    关注

    24

    文章

    459

    浏览量

    33412
  • AFM
    AFM
    +关注

    关注

    0

    文章

    62

    浏览量

    20836

原文标题:DeepLSD:基于深度图像梯度的线段检测和细化

文章出处:【微信号:GiantPandaCV,微信公众号:GiantPandaCV】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    全面掌握ComfyUI系统教程|94节从入门到进阶实战清单

    通过卷积神经网络对图像进行特征提取,生成与原图分辨率致的二值掩码。在这过程中,ComfyUI 允许用户通过提示词或点选坐标的方式,精确指定需要分割的主体。这种“模型计算+人工干预”
    发表于 03-29 16:17

    探索ADSD3500:飞行时间深度图像信号处理器的卓越性能

    探索ADSD3500:飞行时间深度图像信号处理器的卓越性能 在当今科技飞速发展的时代,飞行时间(ToF)技术在众多领域展现出了巨大的应用潜力。而ADSD3500作为款专业的ToF深度图像信号处理器
    的头像 发表于 03-23 16:15 97次阅读

    工业镜头暗角:成因深度解析与实用解决方案

    在机器视觉当中,暗角是一种比较常见的图像缺陷。它会让画面边缘和几个角的亮度骤降,会导致灰度不均、特征提取失败、测量误差放大和软件误判。暗角的情况特征在拍摄均匀白板的时候,中心灰度值正常
    的头像 发表于 03-16 17:31 216次阅读
    工业镜头暗角:成因<b class='flag-5'>深度</b>解析与实用解决方案

    算法工程师需要具备哪些技能?

    (PCA)、异常检测等。强化学习:Q-learning、Policy Gradient等(适用于游戏AI、机器人控制)。 深度学习神经网络基础:前向传播、反向传播、激活函数等。CNN:图像特征提取(如
    发表于 02-27 10:53

    瑞芯微(EASY EAI)RV1126B 人脸识别使用

    1.人脸识别简介人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别
    的头像 发表于 01-10 10:00 3249次阅读
    瑞芯微(EASY EAI)RV1126B 人脸识别使用

    电能质量在线监测装置如何捕捉充电桩充电过程中的电流畸变特征

    ,实现从 “波形采集→畸变分解→特征提取→合规评估” 的全链路监测。 、充电桩电流畸变的核心特征(监测基础) 充电桩作为典型非线性负载,其电流畸变具有以下显著特点: 波形特征:仅在电
    的头像 发表于 12-10 10:26 596次阅读
    电能质量在线监测装置如何捕捉充电桩充电过程中的电流畸变<b class='flag-5'>特征</b>?

    京东拍立淘API开发指南:从零开始构建图像搜索应用

    京东图片识别搜索API(拍立淘)是基于深度学习的视觉搜索服务,通过卷积神经网络提取图像特征向量,结合近似最近邻搜索算法实现商品精准匹配‌。该
    的头像 发表于 11-09 17:40 2286次阅读

    使用Otsu阈值算法将灰度图像二值化

    Otsu 算法是由日本学者OTSU于1979年提出的一种图像进行二值化的高效算法,又称“最大类间方差法”。当我们对个图象进行二值化操作的
    发表于 10-28 06:49

    淘宝图片搜索接口开发实战:从 CNN 特征提取到商品匹配(附避坑手册 + 可复用代码)

    本文详解淘宝图片搜索接口开发全流程,涵盖CNN特征提取、商品匹配、参数配置及400/429等高频报错解决方案,附合规避坑指南与可复用代码,助你高效实现图像搜商品功能。
    的头像 发表于 10-21 10:03 717次阅读

    基于FPGA的CLAHE图像增强算法设计

    CLAHE图像增强算法又称为对比度有限的自适应直方图均衡算法,其算法原理是通过有限的调整图像局部对比度来增强有效信号和抑制噪声信号。
    的头像 发表于 10-15 10:14 783次阅读
    基于FPGA的CLAHE<b class='flag-5'>图像</b>增强<b class='flag-5'>算法</b>设计

    大电流起弧过程中电弧声压/超声波信号的特征提取与故障诊断

    接触不良、绝缘破损、元件老化等故障时,电弧的燃烧状态会发生改变,相应的声压超声波信号也会出现异常变化。因此,通过提取这些信号中的关键特征,并结合特征变化规律进行分析,就能实现对大电流起弧过程中故障的精准诊
    的头像 发表于 09-29 09:27 694次阅读
    大电流起弧过程中电弧声压/超声波信号的<b class='flag-5'>特征提取</b>与故障诊断

    机器视觉检测PIN针

    : 结合形态学处理、特征提取(如长宽比、面积)及深度学习(针对复杂缺陷),自动检出弯曲、断裂、变形、污染等。输出与控制:实时显示检测结果(OK/NG)及具体参数数值。生成检测报告,支持数据追溯。NG品自动剔除信号输出,无缝对接产线
    发表于 09-26 15:09

    一种新型激光雷达惯性视觉里程计系统介绍

    针对具有挑战性的光照条件和恶劣环境,本文提出了LIR-LIVO,这是一种轻量级且稳健的激光雷达-惯性-视觉里程计系统。通过采用诸如利用深度与激光雷达点云关联实现特征的均匀深度分布等先进
    的头像 发表于 04-28 11:18 1246次阅读
    <b class='flag-5'>一种</b>新型激光雷达惯性视觉里程计系统介绍

    【「# ROS 2智能机器人开发实践」阅读体验】+ROS2应用案例

    方法,包括SLAM Toolbox的使用。 通过学习这部分,我了解到SLAM的基本原理,包括特征提取特征匹配、地图构建和定位等关键步骤。书中还介绍了如何在ROS 2中使用SLAM Toolbox进行
    发表于 04-27 11:42

    在友晶LabCloud平台上使用PipeCNN实现ImageNet图像分类

    利用深度卷积神经网络(CNN)进行图像分类是通过使用多个卷积层来从输入数据中提取特征,最后通过分类层做决策来识别出目标物体。
    的头像 发表于 04-23 09:42 1192次阅读
    在友晶LabCloud平台上使用PipeCNN实现ImageNet<b class='flag-5'>图像</b>分类