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. 【Nginx(三)】Nginx配置集群 负载均衡策略

    Nginx配置集群 负载均衡策略 一.安装环境 1.安装JDK8的环境,配置JDK8的环境变量 2.上传jar包demo-1.jar 和 demo-2.jar demo-1.jar 监听8080端口; ...

  2. 【小白向】基于Docker使用Gogs,Drone以及drone-runner-docker的自动化部署

    Gogs是基于Go语言编写的可以替代gitlab的代码托管平台,它没有gitlab那么庞大且不需要占用大量资源,对小型服务器相对于比较友好,我们甚至可以使用树莓派搭建. 服务器配置: * 操作系统:C ...

  3. PowerShell-6.文件操作

    1.显示文本内容 Get-Content "°C:\\Program Files (x86)\\PsUpdate\\b.dat" 2.得到b.dat文件内容,然后把里面的所有'C' ...

  4. Andrew Ng机器学习算法入门((五):矩阵和向量

    矩阵定义 数学上,一个m×n的矩阵是一个由m行n列元素排列成的矩形阵列 使用Aij来获取矩阵中第i行j列的数据 向量的定义 向量就是n行1列的特殊矩阵 由于向量仅仅只有1行,那么通过一个变量i来指定获 ...

  5. Mybatis 遍历 List<Map<String,Object>>

    在上一篇博客中总结了MyBatis Plus 实现多表分页模糊查询(链接在最后).返回类型是编写一个专门的vo类.这次是返回List < Map > 前言 ​ 编写一个专门的vo返回类,主 ...

  6. Pytest自动化测试-简易入门教程(03)

    今天分享内容的重点,和大家来讲一下我们的测试框架--Pytest 讲到这个框架的话呢,可能有伙伴就会问老师,我在学习自动化测试过程中,我们要去学一些什么东西? 第一个肯定要学会的是一门编程语言,比如说 ...

  7. Hive解析Json数组超全讲解

    在Hive中会有很多数据是用Json格式来存储的,如开发人员对APP上的页面进行埋点时,会将多个字段存放在一个json数组中,因此数据平台调用数据时,要对埋点数据进行解析.接下来就聊聊Hive中是如何 ...

  8. ConcurrentHashMap源码解读三

    今天首先讲解helpTransfer方法 final Node<K,V>[] helpTransfer(Node<K,V>[] tab, Node<K,V> f) ...

  9. 浅入浅出 MySQL 索引

    简单了解索引 首先,索引(Index)是什么?如果我直接告诉你索引是数据库管理系统中的一个有序的数据结构,你可能会有点懵逼. 为了避免这种情况,我打算举几个例子来帮助你更容易的认识索引. 我们查询字典 ...

  10. C++PRIMER第五版练习题答案第一章

    C++PRIMER第五版练习题答案第一章 应该有很多小伙伴和我一样,闲来无事买了本C++的书自己啃,课后的练习题做的很揪心,这里我分享下我写的答案,希望能帮助到你,提供源码,就不跑了哈,毕竟现在是第一 ...