写文章
点云距离度量——EMD距离

点云距离度量:完全解析EMD距离(Earth Mover's Distance)

8 人 赞同了该文章

1 我们为什么需要度量点云距离

EMD距离度量两个分布之间的距离。这里的分布当然可以是点云

意义:

在传统机器学习任务中,我们常用L1范数、L2范数来计算表征之间的距离。

在图像领域,我们可以使用pixel-wise的差异来计算图像之间的距离。

但是对于点云这种数据结构,距离度量需要对点的排布具有不变性。那么应该怎么设计呢?EMD距离就是适用点云的度量方式之一。

-->

有了距离度量方式,我们就能够通过实现反向传播,来实现深度学习任务中必需的loss function设计

-->

有了loss function,我们就可以将其应用到点云上采样、补全、重建等多种生成式任务中,来实现形状和几何的约束


举个例子:

下图是点云补全网络PCN的网络结构图(挖个坑:PCN这篇论文,我后面会介绍)

可以看到下面绿框的decoder部分,Coarse output和Coarse ground truth之间的CD/EMD,Detailed output和Ground truth之间的CD,就是点云处理的深度学习任务中常用于约束形状的loss。

这里CD和EMD的目的基本是等价的,都是为了约束生成点云的形状尽可能接近ground truth。

CD就是指Chamfer Distance,也是一种点云之间差异的度量方式,本文最后会有介绍。

点云距离度量——EMD距离点云距离度量——EMD距离


2 EMD距离是怎么做的

2.1 从运输问题说起

某公司从两个产地 点云距离度量——EMD距离 将物品运往三个销地 点云距离度量——EMD距离 ,各产地的产量、各销地的销量和各产地运往各销地的每件物品的运费如下表所示:

运输单价 B1 B2 B3 产量
A1 6 4 6 200
A2 6 5 5 300
销量 150 150 200

问应如何调运,使得总运输费最小?


解:

产地: 点云距离度量——EMD距离

销地: 点云距离度量——EMD距离

总产量和总销量一样。

点云距离度量——EMD距离 表示从产地 点云距离度量——EMD距离 调运到 点云距离度量——EMD距离 的运输量( 点云距离度量——EMD距离

运输量 B1 B2 B3 产量
A1 x11 x12 x13 200
A2 x21 x22 x23 300
销量 150 150 200

因此可建立数学模型:

点云距离度量——EMD距离

约束条件:

点云距离度量——EMD距离

点云距离度量——EMD距离
点云距离度量——EMD距离

点云距离度量——EMD距离

点云距离度量——EMD距离

点云距离度量——EMD距离


2.2 线性规划

我们已经将一个非常实际的运输问题,建模成了一个数学模型。

解决这个数学模型,我们需要使用线性规划

线性规划及其解法单纯形算法不是本文的重点讨论对象,感兴趣的朋友可以参考大佬的文章:

线性规划:

线性规划是什么。能否详细说明一下?www.zhihu.com点云距离度量——EMD距离

解决线性规划的单纯形算法:

blue:简单理解线性规划的单纯形算法zhuanlan.zhihu.com点云距离度量——EMD距离


2.3 EMD距离建模

EMD距离用于衡量(在某一特征空间下)两个多维分布之间的dissimilarity

其中具体single features之间的距离度量方式是需要给定的,EMD的目标是"lifts" this distance from individual features to full distributions.


EMD的idea:

给定两个分布,将一个看成是在空间中适当分布的土堆,将另一个看成是在空间中适当分布的洞,EMD距离测量的就是用这些土堆填满这些洞,所需要的最小工作量。(这是不是和我们上面介绍的运输问题特别相似???!!!

单位工作量为:运输从土堆到洞单位距离的单位土堆

因此顾名思义:Earth Mover's Distance


EMD建模:

分布可以由一组cluster表示,每个cluster由其均值以及属于该cluster的一部分表示。

这种表示分布的方式我们称为分布的signature(比如我们可以理解成“直方图”)

EMD的计算方式是基于著名的运输问题的。


第1个signature(m clusters):点云距离度量——EMD距离

第2个signature(n clusters): 点云距离度量——EMD距离

点云距离度量——EMD距离 表示距离矩阵, 点云距离度量——EMD距离 表示 点云距离度量——EMD距离点云距离度量——EMD距离 之间的距离

我们目标找到一个flow 点云距离度量——EMD距离 使得下面目标函数最小:

点云距离度量——EMD距离

约束条件:

点云距离度量——EMD距离

点云距离度量——EMD距离

点云距离度量——EMD距离

点云距离度量——EMD距离

第1个约束:使得flow只能P到Q,而不能反向。

第2、3个约束:限制supply的量,需要满足不大于各个weight 点云距离度量——EMD距离

第4个约束:保证了合理运输的最大值(即总产量和总销量中小的那一个)

以上运输问题通过线性规划解决之后,我们可以得到 点云距离度量——EMD距离 ,我们可据此计算EMD(也就是将上面的 点云距离度量——EMD距离 归一化):

点云距离度量——EMD距离


是不是感觉上面写的挺抽象的?不是很好理解?那我们整点具体的!

类比运输问题:

我们将上面的公式和2.1中的运输问题具体例子做个一一对应,应该理解起来就清楚多了。

点云距离度量——EMD距离 表示产地集合, 点云距离度量——EMD距离 表示 点云距离度量——EMD距离 个产地, 点云距离度量——EMD距离 表示每个产地的产量

点云距离度量——EMD距离 表示销地集合, 点云距离度量——EMD距离 表示 点云距离度量——EMD距离 个销地, 点云距离度量——EMD距离 表示每个销地的销量

点云距离度量——EMD距离 表示从第 点云距离度量——EMD距离 个产地到第 点云距离度量——EMD距离 个销地(单位运输量的)运输花销

点云距离度量——EMD距离 表示从第 点云距离度量——EMD距离 个产地到第 点云距离度量——EMD距离 个销地的规划运输量

那么此时, 点云距离度量——EMD距离 就表示将 点云距离度量——EMD距离 物资运输到 点云距离度量——EMD距离 的总运输费

点云距离度量——EMD距离 就表示使得总运输费最小的调度方式


类比点云距离度量:

点云距离度量——EMD距离 表示第一个点云, 点云距离度量——EMD距离 表示 点云距离度量——EMD距离 个点(三维坐标表示), 点云距离度量——EMD距离 表示每个点的权重(可以理解为数量,这里都为1)

点云距离度量——EMD距离 表示第二个点云, 点云距离度量——EMD距离 表示 点云距离度量——EMD距离 个点(三维坐标表示), 点云距离度量——EMD距离 表示每个点的权重(可以理解成数量,这里都为1)

点云距离度量——EMD距离表示从 点云距离度量——EMD距离点云距离度量——EMD距离 个点到 点云距离度量——EMD距离点云距离度量——EMD距离 个点的距离(比如直接用欧式距离)

点云距离度量——EMD距离 内容为0/1,表示是否将 点云距离度量——EMD距离点云距离度量——EMD距离 个点移动到 点云距离度量——EMD距离点云距离度量——EMD距离 个点

那么此时, 点云距离度量——EMD距离 就表示将 点云距离度量——EMD距离 中所有点移动到 点云距离度量——EMD距离 中所有点位置的总花费

点云距离度量——EMD距离 就表示使得总移动花费最小的调度方式


3 EMD距离的优势

为什么要费这么大劲弄出来EMD距离呢?其homepage上列了6个原因:

  • Naturally extends the notion of a distance between single elements to that of a distance between sets, or distributions, of elements.
  • Can be applied to the more general variable-size signatures, which subsume histograms. Signatures are more compact, and the cost of moving "earth" reflects the notion of nearness properly, without the quantization problems of most other measures.
  • Allows for partial matches in a very natural way. This is important, for instance, for image retrieval and in order to deal with occlusions and clutter.
  • Is a true metric if the ground distance is metric and if the total weights of two signatures are equal. This allows endowing image spaces with a metric structure.
  • Is bounded from below by the distance between the centers of mass of the two signatures when the ground distance is induced by a norm. Using this lower bound in retrieval systems significantly reduced the number of EMD computations.
  • Matches perceptual similarity better than other measures, when the ground distance is perceptually meaningful. This was shown by[2] for color- and texture-based image retrieval.


4 其他度量方式

4.1 CD(Chamfer Distance)

计算点云 点云距离度量——EMD距离点云距离度量——EMD距离 的CD:

计算配对 点云距离度量——EMD距离 中每个点与其距离最近的 点云距离度量——EMD距离 中点的距离,并将它们相加:

点云距离度量——EMD距离

对称版本CD:

点云距离度量——EMD距离

4.2 HD(Hausdorff Disance)

  • directed distance

点云距离度量——EMD距离

  • distance(symmetry)

点云距离度量——EMD距离


5 参考资料

运筹学运输问题- - 百度文库wenku.baidu.com
EMDhomepages.inf.ed.ac.uk点云距离度量——EMD距离

发布于 11-03
「真诚赞赏,手留余香」
赞赏
还没有人赞赏,快来当第一个赞赏的人吧!
深度学习(Deep Learning)
计算机视觉
三维视觉
赞同 8​ 3 条评论
分享
喜欢 ​ 收藏 ​ 申请转载
赞同 8
分享

文章被以下专栏收录

  • 点云距离度量——EMD距离

    小刘学计算机视觉

    记录小刘的计算机视觉学习之路
    关注专栏
    点云距离度量——EMD距离

    算法集锦

    关于各种算法的集合
    关注专栏

推荐阅读

  • 点云配准论文

    点云配准,求解两个(具有overlap的)点云P, Q之间的变换(旋转矩阵和平移向量),使得点云P, Q的坐标处于同一坐标系下。点云配准在无人驾驶、三维重建等领域具有广泛的应用。 本文整理了点云配…

    点云距离度量——EMD距离

    搞懂PointNet++,这篇文章就够了!

    ECCV2020优秀paper汇总|涉及点云处理、三维重建、深度估计、姿态识别、3D识别与检测等

    整理:Tom Hardy 公众号:3D视觉工坊前言ECCV2020的oral和spotlight名单已经发布,与往年相比,accepted paper list中增加了很多3D方向相关的作品,实在值得鼓舞。 工坊对这些优秀作品进行…

    点云距离度量——EMD距离

    细嚼慢咽读论文:点云补全网络 GRNet

3 条评论

切换为时间排序
  • 点云距离度量——EMD距离
    陈超 11-03
    膜大佬
  • 点云距离度量——EMD距离
    刘昕宸 (作者) 回复 陈超 11-03
    [爱][爱]
  • 点云距离度量——EMD距离
    HfutSora 11-03
    点云距离度量——EMD距离