点云分析中的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}D(m×nm×nm×n维),其中dijd_{ij}dij代表从pip_ipi到qjq_jqj之间的距离,一般为欧氏距离。再定义工作流Flow,记为矩阵F\bm{F}F(m×nm×nm×n维),其中fijf_{ij}fij代表从pip_ipi到qjq_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=1∑mj=1∑ndijfij
另外,对于fijf_{ij}fij是有条件限制的:
- fij≥0f_{ij}\geq0fij≥0 ,其中1≤i≤m,1≤j≤n1\leq i\leq m, 1\leq j\leq n1≤i≤m,1≤j≤n,这条约束说明砂石只能从ppp运向qqq,不能反向。
- ∑j=1nfij≤wpi\sum_{j=1}^{n}f_{ij} \leq w_{pi}∑j=1nfij≤wpi,其中1≤i≤m1\leq i\leq m1≤i≤m,这条约束说明从pip_ipi砂矿运出的砂石不能超过该矿蕴含的砂矿总量。
- ∑i=1mfij≤wqj\sum_{i=1}^{m}f_{ij} \leq w_{qj}∑i=1mfij≤wqj,其中1≤j≤n1\leq j\leq n1≤j≤n,这条约束说明运入qjq_jqj仓库的砂石数量不能超过该仓库的最大容纳量。
- ∑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=1m∑j=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=1m∑j=1nfij∑i=1m∑j=1ndijfij
点云分析中的EMD距离
假设PPP和QQQ为两个点集,假设:两个点集所包含的点的数量相等,数量记为N。
这个假设决定了EMD距离中的wpiw_{pi}wpi和wqjw_{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=1∑Nj=1∑Nfij=min(i=1∑Nwpi,j=1∑Nwqj)=min(N⋅N1,N⋅N1)=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=1∑Nj=1∑Ndijfij=N⋅N1i=1∑Nj=1∑Ndij=i=1∑Nj=1∑Ndij
因此,EMD距离改写为:
EMD(P,Q)=∑i=1N∑j=1NdijEMD(P,Q)={\sum_{i=1}^{N}\sum_{j=1}^{N}d_{ij}}EMD(P,Q)=i=1∑Nj=1∑Ndij
也就是说,其实在神经网络中选择EMD作为损失函数时,就是寻找在点集PPP和QQQ中寻找一个一一对应的关系使得EMD最小,即:
minEMD(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=1∑Nj=1∑Ndij
其实,也就是一般在论文中看到的那样:
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)=ϕ:P→Qminx∈P∑∣∣x−ϕ(x)∣∣2
就是在点集PPP和QQQ中间找到一个双射ϕ\phiϕ,将两个点集一一对应起来,使得二者计算欧式距离的和最小。这就是一般我们在点云补全等论文中看到的EMD作为损失函数形式的由来了。
本文深入探讨了点云分析中的EMD(EarthMover’sDistance)距离,介绍了其起源、数学定义及在点云数据处理中的应用。EMD距离,又称为推土机距离或Wasserstein距离,最初用于图像检索,现广泛应用于点云数据的比较和匹配。通过详细的数学解释和假设条件,阐述了EMD在点云分析中的具体实现。
2976





