豪斯多夫(Hausdorff)距离

简介: 豪斯多夫距离量度度量空间中真子集之间的距离。Hausdorff距离是另一种可以应用在边缘匹配算法的距离,它能够解决SED方法不能解决遮挡的问题。

一、定义

给定欧氏空间中的两点集 $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 距离:

2020032216470419.png

上图中,给出了 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 距离如下表所示:

20200322170043657.png

三、性质

  • 双向 Hausdorff 距离 $H(A,B)$ 是单向 Hausdorff 距离 $h(A,B)$ 和 $h(B,A)$ 两者中较大者,显然它度量了两个点集间的最大不匹配程度。

20200322172603598.png

  • 如上图,当 A 和 B 都是闭集的时候,Hausdorff 距离满足度量的三个定理:
  1. $H(A,B)\geq0$ ,当且仅当 $A=B$ 时,$H(A,B)=0$
  2. $H(A,B)=H(B,A)$
  3. $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 距离易受到突发噪声的影响。

    20200324115150423.png

当图像受到噪声污染或存在遮挡等情况时,原始的 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)] $$

参考:

https://www.cnblogs.com/xlz10/p/3929119.html

相关文章
|
存储 SQL 缓存
Hadoop入门(一篇就够了)
Hadoop入门(一篇就够了)
32187 4
Hadoop入门(一篇就够了)
|
2月前
|
人工智能 程序员
注意力隧道效应与 Burnout:专注的双刃剑
最让人投入的状态,也可能埋下倦怠的种子。对我们每个人而言,关键在于认识到 ‘心流不是一个可持续的常态,而是一个需要精心准备的峰值状态。 专注让我们效率倍增,却也可能悄悄消耗我们的精力。本文以“注意力隧道效应”为切入点,探讨如何在深度专注与倦怠之间找到平衡,让工作更高效而不透支自己。
381 8
|
弹性计算 固态存储 大数据
2024阿里云服务器租用价格表(一年/按月/按小时报价明细)
阿里云服务器2024年最新租用价格表显示,轻量应用服务器2核2G3M带宽一年82元(约6.8元/月),2核4G4M带宽轻量服务器一年298元。新老用户共享99元一年的2核2G3M带宽ECS经济型e实例服务器与199元一年的企业专享2核4G5M带宽ECS u1实例服务器优惠。4核16G10M带宽游戏服务器70元/月,8核32G10M带宽160元/月。GPU服务器如gn6v和gn6i等提供新用户专享折扣。续费折扣方面,续费一年享有7.5折,续费五年则有3折优惠。按小时计费的云服务器ECS实例中,如ecs.u1-c1m4.large(2核8G)每小时0.45元。
31794 17
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
22278 59
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
9月前
|
设计模式 机器学习/深度学习 前端开发
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。
|
设计模式 关系型数据库 Java
顺畅的职责传递-用责任链模式优化决策流程
本文首先通过经典场景展示了不使用设计模式时的问题与痛点。接着,引入责任链模式,详细讲解了其定义、解决问题的方式、结构图及工作原理,并通过重构示例展示了该模式如何解决原有痛点。最后,对责任链模式的优势、缺点以及在实际应用中可能遇到的挑战和限制进行了总结。责任链模式通过解耦请求发送者和接收者,提供了灵活的请求处理机制,适用于多个处理者按顺序处理请求的场景。然而,该模式也可能导致请求得不到处理或性能下降等问题,需在实际应用中权衡利弊。
825 0
顺畅的职责传递-用责任链模式优化决策流程
|
机器学习/深度学习 算法 数据挖掘
周志华《机器学习》课后习题(第九章):聚类
周志华《机器学习》课后习题(第九章):聚类
1455 0
周志华《机器学习》课后习题(第九章):聚类
|
人工智能 算法 数据可视化
R语言DTW(Dynamic Time Warping) 动态时间规整算法分析序列数据和可视化
R语言DTW(Dynamic Time Warping) 动态时间规整算法分析序列数据和可视化
|
资源调度 算法 机器人
图像特征提取与描述_角点特征02:SIFT算法+SURF算法
前面两节我们介绍了Harris和Shi-Tomasi角点检测算法,这两种算法具有旋转不变性,但不具有尺度不变性,以下图为例,在左侧小图中可以检测到角点,但是图像被放大后,在使用同样的窗口,就检测不到角点了。
721 0
|
算法 Java
快慢指针该如何操作?本文带你认识快慢指针常见的三种用法及在链表中的实战
快慢指针该如何操作?本文带你认识快慢指针常见的三种用法及在链表中的实战
553 0