点云分析中的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=1∑mj=1∑ndijfij
另外,对于
f
i
j
f_{ij}
fij是有条件限制的:
- f i j ≥ 0 f_{ij}\geq0 fij≥0 ,其中 1 ≤ i ≤ m , 1 ≤ j ≤ n 1\leq i\leq m, 1\leq j\leq n 1≤i≤m,1≤j≤n,这条约束说明砂石只能从 p p p运向 q q q,不能反向。
- ∑ j = 1 n f i j ≤ w p i \sum_{j=1}^{n}f_{ij} \leq w_{pi} ∑j=1nfij≤wpi,其中 1 ≤ i ≤ m 1\leq i\leq m 1≤i≤m,这条约束说明从 p i p_i pi砂矿运出的砂石不能超过该矿蕴含的砂矿总量。
- ∑ i = 1 m f i j ≤ w q j \sum_{i=1}^{m}f_{ij} \leq w_{qj} ∑i=1mfij≤wqj,其中 1 ≤ j ≤ n 1\leq j\leq n 1≤j≤n,这条约束说明运入 q j q_j qj仓库的砂石数量不能超过该仓库的最大容纳量。
- ∑ 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=1m∑j=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=1m∑j=1nfij∑i=1m∑j=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=1∑Nj=1∑Nfij=min(i=1∑Nwpi,j=1∑Nwqj)=min(N⋅N1,N⋅N1)=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=1∑Nj=1∑Ndijfij=N⋅N1i=1∑Nj=1∑Ndij=i=1∑Nj=1∑Ndij
因此,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=1∑Nj=1∑Ndij
也就是说,其实在神经网络中选择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=1∑Nj=1∑Ndij
其实,也就是一般在论文中看到的那样:
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)=ϕ:P→Qminx∈P∑∣∣x−ϕ(x)∣∣2
就是在点集
P
P
P和
Q
Q
Q中间找到一个双射
ϕ
\phi
ϕ,将两个点集一一对应起来,使得二者计算欧式距离的和最小。这就是一般我们在点云补全等论文中看到的EMD作为损失函数形式的由来了。