[Point Cloud] 点云分析中的EMD(Earth Mover's Distance)距离

点云分析中的EMD(Earth Mover’s Distance)距离

EMD(Earth Mover’s Distance)距离介绍

EMD距离,又叫做推土机距离,也叫作Wasserstein距离。个人理解,EMD距离是离散化的Wasserstein距离,而Wasserstein距离是描述两个连续随机变量的EMD距离。二者数学思想是相同的,但是所描述的对象和应用场景稍有区分。由于个人正在做关于点云数据的一些研究,因此这篇文章记录的仅仅是EMD距离相关的数学描述,不讨论Wasserstein距离。

EMD距离的出处是2000年发表在IJCV上的“The Earth Mover’s Distance as a Metric for Image Retrieval”一文。最初是作为一种度量用来判断两张图像之间的相似度,也就是用来做图像检索工作的。这里,我们从文章中对于EMD的定义出发,最后引出在许多点云分析文章中使用的EMD做出了哪些假设和简化。

Signature
Signature的数学定义为: s j = ( m j , w j ) {\bm{s_j} = (\bm{m_j}, w_j)} sj=(mj,wj),代表着一个features组的聚类, m j \bm{m_j} mj代表这个聚类类别的平均值mean或者模式mode, w j w_j wj代表着图像中属于这个类别的像素的占比(在图像处理中),也就是对应类别的权重weight。Histogram也是统计类别以及占比的统计学工具,但是相比之下,Histogram的类别分割是等比的,而Signature是相对灵活的。比如,统计数组{1,2,3,4,2,1,3,4,5,1,1,2,3,4}的Histogram,则会得到1有多少个数字,2有多少个数字…,如果用Signature在统计,则可以划分成属于{1,2,3}这个集合的数字有多少,属于{4,5}这个集合的数字有多少。Signature比Histogram更加灵活,这也提出Signature这个数学概念的意义。

Earth Mover’s Distance
假设有两组Signatures, P = ( p 1 , w p 1 ) , . . . , ( p m , w p m ) P={(p_1, w_{p1}), ..., (p_m, w_{pm})} P=(p1,wp1),...,(pm,wpm) Q = ( q 1 , w q 1 ) , . . . , ( q n , w q n ) Q={(q_1, w_{q1}), ..., ({q_n, w_{qn})}} Q=(q1,wq1),...,(qn,wqn) P P P中有 m m m个类别, Q Q Q中有 n n n个类别。我们可以将两个集合中的 p p p看作砂矿, q q q则是砂石仓库, w p i w_{pi} wpi为每一个砂矿包含的砂石数量, w q j w_{qj} wqj是每一个仓库能容纳砂石数量。再引入距离矩阵 D \bm{D} D m × n m×n m×n维),其中 d i j d_{ij} dij代表从 p i p_i pi q j q_j qj之间的距离,一般为欧氏距离。再定义工作流Flow,记为矩阵 F \bm{F} F m × n m×n m×n维),其中 f i j f_{ij} fij代表从 p i p_i pi q j q_j qj之间搬运砂石的数量,所以随后的总工作量为:
W O R K = ( P , Q , F ) = ∑ i = 1 m ∑ j = 1 n d i j f i j WORK=(P,Q,\bm{F})=\sum_{i=1}^{m}\sum_{j=1}^{n}d_{ij}f_{ij} WORK=(P,Q,F)=i=1mj=1ndijfij
另外,对于 f i j f_{ij} fij是有条件限制的:

  1. f i j ≥ 0 f_{ij}\geq0 fij0 ,其中 1 ≤ i ≤ m , 1 ≤ j ≤ n 1\leq i\leq m, 1\leq j\leq n 1im,1jn,这条约束说明砂石只能从 p p p运向 q q q,不能反向。
  2. ∑ j = 1 n f i j ≤ w p i \sum_{j=1}^{n}f_{ij} \leq w_{pi} j=1nfijwpi,其中 1 ≤ i ≤ m 1\leq i\leq m 1im,这条约束说明从 p i p_i pi砂矿运出的砂石不能超过该矿蕴含的砂矿总量。
  3. ∑ i = 1 m f i j ≤ w q j \sum_{i=1}^{m}f_{ij} \leq w_{qj} i=1mfijwqj,其中 1 ≤ j ≤ n 1\leq j\leq n 1jn,这条约束说明运入 q j q_j qj仓库的砂石数量不能超过该仓库的最大容纳量。
  4. ∑ i = 1 m ∑ j = 1 n f i j = min ⁡ ( ∑ i = 1 m w p i , ∑ j = 1 n w q j ) \sum_{i=1}^{m}\sum_{j=1}^{n}f_{ij} = \min(\sum_{i=1}^{m}w_{pi}, \sum_{j=1}^{n}w_{qj}) i=1mj=1nfij=min(i=1mwpi,j=1nwqj),这条约束说明,整个工作完成时,搬运的总砂石数量要么是所有砂矿的储量总和,要么是所有仓库的容纳量总和。

最终的EMD距离定义就是归一化之后的工作量:
E M D ( P , Q ) = ∑ i = 1 m ∑ j = 1 n d i j f i j ∑ i = 1 m ∑ j = 1 n f i j EMD(P,Q)=\frac {\sum_{i=1}^{m}\sum_{j=1}^{n}d_{ij}f_{ij}} {\sum_{i=1}^{m}\sum_{j=1}^{n}f_{ij}} EMD(P,Q)=i=1mj=1nfiji=1mj=1ndijfij

点云分析中的EMD距离

假设 P P P Q Q Q为两个点集,假设:两个点集所包含的点的数量相等,数量记为N
这个假设决定了EMD距离中的 w p i w_{pi} wpi w q j w_{qj} wqj始终保持一致,为 1 N \frac 1 N N1。换句话说,这个假设保证了两个点集中的所有点的地位是平等的,这也符合点云分析中的前提,即点云特征与点的顺序置换无关。由于所有的权重均为 1 N \frac 1 N N1,所以:
∑ i = 1 N ∑ j = 1 N f i j = min ⁡ ( ∑ i = 1 N w p i , ∑ j = 1 N w q j ) = min ⁡ ( N ⋅ 1 N , N ⋅ 1 N ) = 1 \sum_{i=1}^{N}\sum_{j=1}^{N}f_{ij} = \min(\sum_{i=1}^{N}w_{pi}, \sum_{j=1}^{N}w_{qj})=\min(N·\frac 1N,N·\frac 1N)=1 i=1Nj=1Nfij=min(i=1Nwpi,j=1Nwqj)=min(NN1,NN1)=1
∑ i = 1 N ∑ j = 1 N d i j f i j = N ⋅ 1 N ∑ i = 1 N ∑ j = 1 N d i j = ∑ i = 1 N ∑ j = 1 N d i j \sum_{i=1}^{N}\sum_{j=1}^{N}d_{ij}f_{ij} =N·\frac 1 N\sum_{i=1}^{N}\sum_{j=1}^{N}d_{ij}=\sum_{i=1}^{N}\sum_{j=1}^{N}d_{ij} i=1Nj=1Ndijfij=NN1i=1Nj=1Ndij=i=1Nj=1Ndij
因此,EMD距离改写为:
E M D ( P , Q ) = ∑ i = 1 N ∑ j = 1 N d i j EMD(P,Q)={\sum_{i=1}^{N}\sum_{j=1}^{N}d_{ij}} EMD(P,Q)=i=1Nj=1Ndij
也就是说,其实在神经网络中选择EMD作为损失函数时,就是寻找在点集 P P P Q Q Q中寻找一个一一对应的关系使得EMD最小,即:
min ⁡ E M D ( P , Q ) = min ⁡ ∑ i = 1 N ∑ j = 1 N d i j \min EMD(P,Q)=\min \sum_{i=1}^{N}\sum_{j=1}^{N}d_{ij} minEMD(P,Q)=mini=1Nj=1Ndij
其实,也就是一般在论文中看到的那样:
L o s s E M D ( P , Q ) = min ⁡ ϕ : P → Q ∑ x ∈ P ∣ ∣ x − ϕ ( x ) ∣ ∣ 2 Loss_{EMD}(P,Q)=\min_{\phi:P\to Q}\sum_{x\in P} \mid\mid x-\phi(x)\mid\mid_2 LossEMD(P,Q)=ϕ:PQminxPxϕ(x)2
就是在点集 P P P Q Q Q中间找到一个双射 ϕ \phi ϕ,将两个点集一一对应起来,使得二者计算欧式距离的和最小。这就是一般我们在点云补全等论文中看到的EMD作为损失函数形式的由来了。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值