一、定义
给定欧氏空间中的两点集 $A= \{a_1,a_2,...\},B= \{b_1,b_2,...\}$ ,豪斯多夫(Hausdorff)距离就是用来衡量这两个点集间的距离。定义公式如下:
$$ H(A,B)=\max[h(A,B),h(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)$ 称为双向 Hausdorff 距离, $h(A,B)$ 称为从点集A到点集B的单向 Hausdorff 距离。相应地 $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)$,则需要先求出单向 Hausdorff 距离 $h(A,B)$ 和 $h(B,A)$。
对于$h(A,B)$,以 A 中的点 16 为例,在路径 B中的所有点中,距离点 16 最近的是点 1 ,距离为 3。即: $$\min_{b\in B} ||a_{(16)}-b||=3$$
同理由图可得:
$$ \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\\ $$
在它们中,值最大的为 3,故 $h(A,B)=3$ 。
同理可得,$h(B,A)=4$ 。
所以 $H(A,B)=max[h(A,B),h(B,A)]=4$ 。
同理可求出上图中四条路径间的单向 Hausdorff 距离如下表所示:
三、性质
- 双向 Hausdorff 距离 $H(A,B)$ 是单向 Hausdorff 距离 $h(A,B)$ 和 $h(B,A)$ 两者中较大者,显然它度量了两个点集间的最大不匹配程度。
- 如上图,当 A 和 B 都是闭集的时候,Hausdorff 距离满足度量的三个定理:
- $H(A,B)\geq0$ ,当且仅当 $A=B$ 时,$H(A,B)=0$
- $H(A,B)=H(B,A)$
- $H(A,B) + H(B,C)\geq H(A,C)$
若凸集 $A,B$ 满足 $A\not\subset B$ 且 $B\not\subset A$,并记 $\partial A,\partial B$ 分别为 $A,B$ 边界的点集合,则 $A,B$ 的 Hausdorff 距离等于 $\partial A,\partial B$ 的 Hausdorff 距离。
Hausdorff 距离易受到突发噪声的影响。
当图像受到噪声污染或存在遮挡等情况时,原始的 Haudorff 距离容易造成误匹配。所以,在1933年,Huttenlocher 提出了部分 Hausdorff 距离的概念。
简单地说,包含 $q$ 个点的集合 $B$ 与集合 $A$ 的部分 Hausdorff 距离就是选取 $B$ 中的 $K(K\geq1且K\leq{q})$ 个点,然后求这 $K$ 个点到 $A$ 集合的最小距离,并排序,则排序后的第 $K$ 个值就是集合 $B$ 到集合 $A$ 的部分单向 Hausdorff 距离。定义公式如下:
$$ h_K(A,B)=K^{th} \max_{a\in A}\min_{b\in B}||a-b|| $$
相应地,部分双向 Hausdorff 距离定义为:
$$ H_K(A,B)=\max[h_K(A,B),h_K(B,A)] $$
参考: