LCD: 2D-3D匹配算法

标题:LCD:Learned Cross-Domain Descriptors for 2D-3D Matching

作者:Quang-Hieu Pham, Mikaela Angelina Uy, Binh-Son Hua, et al.

论文地址:https://arxiv.org/abs/1911.09326

摘要

在这项工作中,提出了一种新颖的方法来学习用于2D图像和3D点云匹配的局部跨域描述符。提出的方法是一个双自编码器神经网络,将2D和3D输入映射到共享的潜在空间表示中。表明,与分别从2D和3D域中获得的那些描述符相比,共享嵌入中的此类局部跨域描述符具有更大的判别力。为了促进训练过程,通过从公开可用的RGB-D场景中收集了约140万个2D-3D对应关系,建立了一个新的数据集。的描述符在三个主要实验中进行了评估:2D-3D匹配,跨域检索和稀疏到稠密深度估计。实验结果证实了的方法的鲁棒性以及其竞争优势,不仅体现在解决跨域任务方面,而且能够泛化到单独的2D和3D任务方面。

计算机视觉任务,如运动结构、视觉内容检索,都需要来自2D和3D域的健壮描述符。在自己的领域中,这些描述符可以由低级特征(例如颜色、边缘等)构造。在图像匹配中,计算机视觉中的一个著名任务,已经提出了几种手工制作的本地描述符,例如SIFT(low e 2004)、SURF(Bay、Tuytelaars和Van Gool 2006)。随着深度学习的出现,许多健壮的2D描述符都是使用深度神经网络自动学习的(Simo-Serra等人。2015年;Kumar等人。2016年)。这些学习过的描述符显示出了相对于手工制作的对应项的健壮性和优势。同样的现象也可以在三维空间中观察到。例如,手工制作的3D描述符,例如FPFH(Rusu、Blodow和Beetz 2009)、SHOT(Tombari、Salti和Distefano2010)以及基于深度学习的描述符(Zengetal.2017)已用于许多3D任务,例如3D注册(Choi、Zhou和Koltun2015;Zhou、Park和Koltun 2016)和运动结构(Hartley和Zisserman 2003)。虽然二维和三维描述符广泛可用,但确定这些表示之间的关联是一项具有挑战性的任务。还缺少一个描述符,可以捕获两个域中的特性,并为跨域任务(例如,二维到三维内容检索)量身定制。通常,二维和三维表示之间存在很大差异。二维数据,即图像,可以简单地用规则网格表示。同时,三维数据可以由网格、体积或点云表示,并通过受物理和光学定律支配的图像形成模型获得。即使最近出现了深度学习,这些问题仍然是相同的:在2D域上学习的特征可能不适用于3D空间,反之亦然。

主要贡献

1.一种新颖的学习型跨域描述符(LCD),使用双自编码器体系结构和三元损失来学习。的设置会强制2D和3D自编码器在共享的潜在空间表示中学习跨域描述符。

2.一个约140万个2D-3D对应的新的公共数据集,用于训练和评估跨域描述符匹配。基于SceneNN和3DMatch构建了数据集。

3.验证的跨域描述符的鲁棒性的应用。将描述符用于解决单独的2D(图像匹配)和单独的3D任务(3D配准),然后再应用于2D-3D内容检索任务(2D-3D位置识别)。实验结果表明,即使不是为特定任务量身定制的描述符,的描述符在所有任务中的性能也可以与其他最新方法相媲美。

本文提出的网络由二维自动编码和三维自动编码组成。输入图像和点云数据分别用光度学损失和切角损失进行重建。重建损失保证了嵌入的特征具有鉴别性和代表性。二维嵌入和三维嵌入之间的相似性通过三重态损失得到进一步的正则化。图表表示法:fc表示全连接,conv/deconv(内核大小、输出维度、跨距、填充)表示卷积和反卷积。默认情况下,每次卷积和反卷积之后都会进行ReLU激活和批处理规范化。

算法流程

1.问题定义

I ∈ R^(W×H×3)表示尺寸为WxH的彩色图像块,P ∈ R^(N×6)为含有N个点的彩色点云,每个点由其3D世界坐标和RGB值表示。

目的是学习一个跨域描述符,找到两个映射:f : R^(W×H×3)→ D 和 g : R^(N×6)→ D,分别将2D和3D数据空间映射到一个共享的隐空间D ⊆ R^(D)。

2.网络架构

图1:提出的网络由2D自编码器和3D自编码器组成。输入图像和点云数据分别以光度和倒角损失进行重构。重建损失确保嵌入中的特征具有判别力和代表性。2D嵌入dI和3D嵌入dP之间的相似性通过三元损失进一步规范化。

提出了一种新颖的双自编码器架构来学习描述符。的模型是一个两分支的网络架构,其中一个分支编码3D特征,另一个分支编码2D特征。然后,使用三元损失共同优化两个分支,从而加强两个分支生成的嵌入的相似性;还使用了2D / 3D重建损失。

2D自编码器以64x64的彩色图像块作为输入,采用一系列卷积来提取图像特征,2D解码器使用转置卷积来重建图像块。3D分支采用PointNet架构,利用一系列全连接层和max-pooling来计算全局特征。为了重建彩色点云,利用全连接层输出Nx6的彩色点云。

为了实现共享表示,两个自编码器通过优化三元损失将的bottlenecks捆绑在一起。最终的训练损失包括如下的光度损失,倒角损失和三元损失。

光度损失:2D自编码器的损失由光度损失定义,光度损失是输入2D图像块与重构色块之间的均方误差:

倒角损失:为了优化3D自编码器网络,需要计算输入点集和重构点集之间的距离。通过倒角距离测量该距离:

三元损失:为了在由2D和3D分支生成的嵌入中实现相似性,即2D图像块及其对应的3D结构应具有相似的嵌入,采用三元损失函数。这种损失最小化锚点和正样本之间的距离,最大化锚点和负样本之间的距离。

总的损失函数:

主要结果

表1,SceneNN数据集上的2D匹配结果。

图2,SIFT和提出的描述符之间的定性2D匹配比较。的描述符可以直接识别墙壁和冰箱的特征,而SIFT不能区分。

表2,3DMatch基准上的3D配准结果。

图3,3DMatch基准测试的定性结果。通过匹配局部3D描述符,的方法能够成功地在不同具有挑战性的场景中对齐片段对,而3DMatch (Zeng et al. 2017)在几何存在歧义的情况下失败。

图4:2D-3D位置识别任务的结果。LCD-D256,LCD-D128和LCD-D64表示具有不同维度的描述符。有效的同时,的跨域描述符还展示了对输入噪声的鲁棒性,LCD-σ表示将标准偏差σ的高斯噪声添加到查询图像中时的结果。

图6:稀疏到密集的深度估计结果。输入是RGB图像和2048个稀疏深度样本。的网络通过重建局部3D点来估计密集的深度图。

LCD: 2D-3D匹配算法的更多相关文章

  1. FushionCharts Free 的运用[2D/3D图表处理]

    由于先前在一些论坛中谈论到这个插件的运用,留了一些QQ联系方式,最近老是被一些程序员“骚扰”,说是请教一些关于FushionChart Free图表的处理技术,先前还是比较乐意接受的,但发现后来一些完 ...

  2. CSS自学笔记(13):CSS3 2D/3D转换

    CSS3中新增了对元素进行2D和3D的转换效果,这样可以是开发人员很方便的做出视觉效果更好的网页来. 通过CSS3中属性的定义,我们可以对元素进行移动.缩放.拉伸.旋转等等,可以通过定义transfo ...

  3. 基于 HTML5 Canvas 的简易 2D 3D 编辑器

    不管在任何领域,只要能让非程序员能通过拖拽来实现 2D 和 3D 的设计图就是很牛的,今天我们不需要 3dMaxs 等设计软件,直接用 HT 就能自己写出一个 2D 3D 编辑器,实现这个功能我觉得成 ...

  4. 分享数百个 HT 工业互联网 2D 3D 可视化应用案例

    过去的 2018 年,我们认为是国内工业互联网可视化的元年,图扑软件作为在工业可视化领域的重度参与者,一线见证了众多 HTML5/Web 化.2D/3D 化的项目在工业界应用落地,我们觉得有必要在此分 ...

  5. Asphyre Sphinx is a cross-platform framework for developing 2D/3D video games and interactive business applications

    Introduction Introduction Asphyre Sphinx is a cross-platform framework for developing 2D/3D video ga ...

  6. DirectUI 2D/3D 界面库集合 分析之总结

    DirectUI优点在于能够非常方便的构建高效,绚丽的,非常易于扩展的界面.作者是Bjarke Viksoe, 他的这个界面程序思想和代码都很优秀,他的代码主要表述了他的思想,尽管bug比較多,可是很 ...

  7. paper 157:文章解读--How far are we from solving the 2D & 3D Face Alignment problem?-(and a dataset of 230,000 3D facial landmarks)

    文章:How far are we from solving the 2D & 3D Face Alignment problem?-(and a dataset of 230,000 3D ...

  8. 分享数百个 HT 工业互联网 2D 3D 可视化应用案例之 2019 篇

    继<分享数百个 HT 工业互联网 2D 3D 可视化应用案例>2018 篇,图扑软件定义 2018 为国内工业互联网可视化的元年后,2019 年里我们与各行业客户进行了更深度合作,拓展了H ...

  9. 数百个 HT 工业互联网 2D 3D 可视化应用案例分享 - 2019 篇

    继<分享数百个 HT 工业互联网 2D 3D 可视化应用案例>2018 篇,图扑软件定义 2018 为国内工业互联网可视化的元年后,2019 年里我们与各行业客户进行了更深度合作,拓展了H ...

  10. 2019-分享数百个 HT 工业互联网 2D 3D 可视化应用案例分享

    继<分享数百个 HT 工业互联网 2D 3D 可视化应用案例>2018 篇,图扑软件定义 2018 为国内工业互联网可视化的元年后,2019 年里我们与各行业客户进行了更深度合作,拓展了H ...

随机推荐

  1. showdan

    from shodan import Shodan import json api = Shodan("") result = api.search('windows') with ...

  2. hdu4807枚举费用流

    题意:      给你一个有向图,每条边上都有每一时刻的最大流量,有k个人在点0,他们要去点n-1,问你最晚到达的那个人最快要多久. 思路:      这个题目做了很多次,用过费用流,也用过最大流,结 ...

  3. 从苏宁电器到卡巴斯基第14篇:我在苏宁电器当营业员 VI

    我也过了一把讲师的瘾 由于iPhone已经成为了我们的主推产品,因此苏宁要求手机专区的每一个人,不论是自营还是厂促,都要对iPhone非常了解才可以.于是,督导也没有事先通知我,就直接让我给手机专区的 ...

  4. Mac终端使用tree命令查看目录结构

    使用brew管理tree扩展 brew search tree brew install tree tree

  5. 【实用小技巧】Access denied for user 'root'@'localhost' 报错解决

    到mysql安装目录修改my.ini文件,在文件末尾追加一句 skip-grant-tables 然后重启mysql服务即可

  6. 【mybatis】mybaits generator 逆向工程的使用

    mybatis逆向工程官方网站:http://www.mybatis.org/generator/quickstart.html 准备xml文件.如下generator.xml全部内容 <?xm ...

  7. ThreadLocal不好用?那是你没用对!

    在 Java 中,如果要问哪个类使用简单,但用好最不简单?我想你的脑海中一定会浮现出一次词--"ThreadLocal". ​ 确实如此,ThreadLocal 原本设计是为了解决 ...

  8. C++ primer plus读书笔记——第8章 函数探幽

    第8章 函数探幽 1. 对于内联函数,编译器将使用相应的函数代码替换函数调用,程序无需跳到一个位置执行代码,再调回来.因此,内联函数的运行速度比常规函数稍快,但代价是需要占用更多内存. 2. 要使用内 ...

  9. mybatis-plus批量插入saveBatch太慢?我愿意称rewriteBatchedStatements为神

    最近在做项目优化,代码优化之后,测试接口,好家伙.一个定时任务接口执行要10秒左右. 一点点追踪,给每个方法打上执行时间,一点点缩小范围.好家伙,终于让我锁定了目标. 这是mybatis-plus的批 ...

  10. 桌面支持qt版本是多少检查

    桌面支持qt版本是多少 # rpm -qa |grep qt |grep 3 |sortqt3-3.3.8b-60.nd7.2.x86_64qt-4.8.6-13.nd7.3.x86_64qt5-qt ...