一、定義
給定歐氏空間中的兩點集 A = { a 1 , a 2 , . . . } , B = { b 1 , b 2 , . . . } A= \{a_1,a_2,...\},B= \{b_1,b_2,...\} 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[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 ∈ A max b ∈ B min ∣ ∣ a − b ∣ ∣ h ( B , A ) = b ∈ B max a ∈ A min ∣ ∣ 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 ∈ B min ∣ ∣ a ( 1 6 ) − 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 ∈ B min ∣ ∣ a ( 1 7 ) − b ∣ ∣ = 3 b ∈ B min ∣ ∣ a ( 1 8 ) − b ∣ ∣ = 3 b ∈ B min ∣ ∣ a ( 1 9 ) − b ∣ ∣ = 2 b ∈ B min ∣ ∣ a ( 2 0 ) − 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 ) = m a x [ 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 ≤ 1 ) K(K\geq1且K\leq1) K ( K ≥ 1 且 K ≤ 1 ) 個點,然後求這 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||
h K ( A , B ) = K t h a ∈ A max b ∈ B min ∣ ∣ 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)]
H K ( A , B ) = max [ h K ( A , B ) , h K ( B , A ) ]
參考:
https://www.cnblogs.com/xlz10/p/3929119.html