一、定义
给定欧氏空间中的两点集
A
=
{
a
1
,
a
2
,
.
.
.
}
,
B
=
{
b
1
,
b
2
,
.
.
.
}
A= \{a_1,a_2,...\},B= \{b_1,b_2,...\}
A={a1,a2,...},B={b1,b2,...} ,豪斯多夫(Hausdorff)距离就是用来衡量这两个点集间的距离。定义公式如下:
H
(
A
,
B
)
=
max
[
h
(
A
,
B
)
,
h
(
B
,
A
)
]
H(A,B)=\max[h(A,B),h(B,A)]
H(A,B)=max[h(A,B),h(B,A)]其中,
h
(
A
,
B
)
=
max
a
∈
A
min
b
∈
B
∣
∣
a
−
b
∣
∣
h
(
B
,
A
)
=
max
b
∈
B
min
a
∈
A
∣
∣
b
−
a
∣
∣
h(A,B)=\max_{a\in A}\min_{b\in B} ||a-b||\\ h(B,A)=\max_{b\in B}\min_{a\in A} ||b-a||
h(A,B)=a∈Amaxb∈Bmin∣∣a−b∣∣h(B,A)=b∈Bmaxa∈Amin∣∣b−a∣∣
H
(
A
,
B
)
H(A,B)
H(A,B) 称为双向 Hausdorff 距离,
h
(
A
,
B
)
h(A,B)
h(A,B) 称为从点集A到点集B的单向 Hausdorff 距离。相应地
h
(
B
,
A
)
h(B,A)
h(B,A) 称为从点集B到点集A的单向 Hausdorff 距离。
二、例子
下面从一个例子来理解 Hausdorff 距离:
上图中,给出了 A,B,C,D 四条路径,其中路径 A 具体为(16-17-18-19-20),路径 B 具体为(1-2-3-4-9-10)。要求 Hausdorff 距离
H
(
A
,
B
)
H(A,B)
H(A,B),则需要先求出单向 Hausdorff 距离
h
(
A
,
B
)
h(A,B)
h(A,B) 和
h
(
B
,
A
)
h(B,A)
h(B,A)。
对于 h ( A , B ) h(A,B) h(A,B),以 A 中的点 16 为例,在路径 B中的所有点中,距离点 16 最近的是点 1 ,距离为 3。即: min b ∈ B ∣ ∣ a ( 16 ) − b ∣ ∣ = 3 \min_{b\in B} ||a_{(16)}-b||=3 b∈Bmin∣∣a(16)−b∣∣=3
同理由图可得:
min
b
∈
B
∣
∣
a
(
17
)
−
b
∣
∣
=
3
min
b
∈
B
∣
∣
a
(
18
)
−
b
∣
∣
=
3
min
b
∈
B
∣
∣
a
(
19
)
−
b
∣
∣
=
2
min
b
∈
B
∣
∣
a
(
20
)
−
b
∣
∣
=
2
\min_{b\in B} ||a_{(17)}-b||=3\\ \min_{b\in B} ||a_{(18)}-b||=3\\ \min_{b\in B} ||a_{(19)}-b||=2\\ \min_{b\in B} ||a_{(20)}-b||=2\\
b∈Bmin∣∣a(17)−b∣∣=3b∈Bmin∣∣a(18)−b∣∣=3b∈Bmin∣∣a(19)−b∣∣=2b∈Bmin∣∣a(20)−b∣∣=2
在它们中,值最大的为 3,故
h
(
A
,
B
)
=
3
h(A,B)=3
h(A,B)=3 。
同理可得, h ( B , A ) = 4 h(B,A)=4 h(B,A)=4 。
所以 H ( A , B ) = m a x [ h ( A , B ) , h ( B , A ) ] = 4 H(A,B)=max[h(A,B),h(B,A)]=4 H(A,B)=max[h(A,B),h(B,A)]=4 。
同理可求出上图中四条路径间的单向 Hausdorff 距离如下表所示:
三、性质
- 双向 Hausdorff 距离 H ( A , B ) H(A,B) H(A,B) 是单向 Hausdorff 距离 h ( A , B ) h(A,B) h(A,B) 和 h ( B , A ) h(B,A) h(B,A) 两者中较大者,显然它度量了两个点集间的最大不匹配程度。
- 如上图,当 A 和 B 都是闭集的时候,Hausdorff 距离满足度量的三个定理:
- H ( A , B ) ≥ 0 H(A,B)\geq0 H(A,B)≥0 ,当且仅当 A = B A=B A=B 时, H ( A , B ) = 0 H(A,B)=0 H(A,B)=0
- H ( A , B ) = H ( B , A ) H(A,B)=H(B,A) H(A,B)=H(B,A)
- H ( A , B ) + H ( B , C ) ≥ H ( A , C ) H(A,B) + H(B,C)\geq H(A,C) H(A,B)+H(B,C)≥H(A,C)
-
若凸集 A , B A,B A,B 满足 A ⊄ B A\not\subset B A⊂B 且 B ⊄ A B\not\subset A B⊂A,并记 ∂ A , ∂ B \partial A,\partial B ∂A,∂B 分别为 A , B A,B A,B 边界的点集合,则 A , B A,B A,B 的 Hausdorff 距离等于 ∂ A , ∂ B \partial A,\partial B ∂A,∂B 的 Hausdorff 距离。
-
Hausdorff 距离易受到突发噪声的影响。
当图像受到噪声污染或存在遮挡等情况时,原始的 Haudorff 距离容易造成误匹配。所以,在1933年,Huttenlocher 提出了部分 Hausdorff 距离的概念。
简单地说,包含
q
q
q 个点的集合
B
B
B 与集合
A
A
A 的部分 Hausdorff 距离就是选取
B
B
B 中的
K
(
K
≥
1
且
K
≤
q
)
K(K\geq1且K\leq{q})
K(K≥1且K≤q) 个点,然后求这
K
K
K 个点到
A
A
A 集合的最小距离,并排序,则排序后的第
K
K
K 个值就是集合
B
B
B 到集合
A
A
A 的部分单向 Hausdorff 距离。定义公式如下:
h
K
(
A
,
B
)
=
K
t
h
max
a
∈
A
min
b
∈
B
∣
∣
a
−
b
∣
∣
h_K(A,B)=K^{th} \max_{a\in A}\min_{b\in B}||a-b||
hK(A,B)=Ktha∈Amaxb∈Bmin∣∣a−b∣∣
相应地,部分双向 Hausdorff 距离定义为:
H
K
(
A
,
B
)
=
max
[
h
K
(
A
,
B
)
,
h
K
(
B
,
A
)
]
H_K(A,B)=\max[h_K(A,B),h_K(B,A)]
HK(A,B)=max[hK(A,B),hK(B,A)]
参考:
https://www.cnblogs.com/xlz10/p/3929119.html