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

本文深入探讨了点云分析中的EMD(EarthMover’sDistance)距离,介绍了其起源、数学定义及在点云数据处理中的应用。EMD距离,又称为推土机距离或Wasserstein距离,最初用于图像检索,现广泛应用于点云数据的比较和匹配。通过详细的数学解释和假设条件,阐述了EMD在点云分析中的具体实现。

点云分析中的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的数学定义为:sj=(mj,wj){\bm{s_j} = (\bm{m_j}, w_j)}sj=(mj,wj),代表着一个features组的聚类,mj\bm{m_j}mj代表这个聚类类别的平均值mean或者模式mode,wjw_jwj代表着图像中属于这个类别的像素的占比(在图像处理中),也就是对应类别的权重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=(p1,wp1),...,(pm,wpm)P={(p_1, w_{p1}), ..., (p_m, w_{pm})}P=(p1,wp1),...,(pm,wpm)Q=(q1,wq1),...,(qn,wqn)Q={(q_1, w_{q1}), ..., ({q_n, w_{qn})}}Q=(q1,wq1),...,(qn,wqn)PPP中有mmm个类别,QQQ中有nnn个类别。我们可以将两个集合中的ppp看作砂矿,qqq则是砂石仓库,wpiw_{pi}wpi为每一个砂矿包含的砂石数量,wqjw_{qj}wqj是每一个仓库能容纳砂石数量。再引入距离矩阵D\bm{D}Dm×nm×nm×n维),其中dijd_{ij}dij代表从pip_ipiqjq_jqj之间的距离,一般为欧氏距离。再定义工作流Flow,记为矩阵F\bm{F}Fm×nm×nm×n维),其中fijf_{ij}fij代表从pip_ipiqjq_jqj之间搬运砂石的数量,所以随后的总工作量为:
WORK=(P,Q,F)=∑i=1m∑j=1ndijfijWORK=(P,Q,\bm{F})=\sum_{i=1}^{m}\sum_{j=1}^{n}d_{ij}f_{ij}WORK=(P,Q,F)=i=1mj=1ndijfij
另外,对于fijf_{ij}fij是有条件限制的:

  1. fij≥0f_{ij}\geq0fij0 ,其中1≤i≤m,1≤j≤n1\leq i\leq m, 1\leq j\leq n1im,1jn,这条约束说明砂石只能从ppp运向qqq,不能反向。
  2. ∑j=1nfij≤wpi\sum_{j=1}^{n}f_{ij} \leq w_{pi}j=1nfijwpi,其中1≤i≤m1\leq i\leq m1im,这条约束说明从pip_ipi砂矿运出的砂石不能超过该矿蕴含的砂矿总量。
  3. ∑i=1mfij≤wqj\sum_{i=1}^{m}f_{ij} \leq w_{qj}i=1mfijwqj,其中1≤j≤n1\leq j\leq n1jn,这条约束说明运入qjq_jqj仓库的砂石数量不能超过该仓库的最大容纳量。
  4. ∑i=1m∑j=1nfij=min⁡(∑i=1mwpi,∑j=1nwqj)\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距离定义就是归一化之后的工作量:
EMD(P,Q)=∑i=1m∑j=1ndijfij∑i=1m∑j=1nfijEMD(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距离

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

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值