关于尺度空间的理解和认识_尺度空间理论

关于尺度空间的理解和认识_尺度空间理论通常会听到尺度变化等这类词语,看到的也总是一堆的数学公式,有时候真的不知道这到底有啥用,有啥意义,没有弄懂这些意义,当然就更不可能的理解,不可能去掌握应用它了,现在我才理解,小波变化其实也是一种尺度变化。今天我看到一篇南航数学系写的关于尺度空间解释的文章,感觉很通俗易懂,我们不从数学上来推倒什么是尺度空间,只是从生活常识方面来解释尺度空间的意义,意义懂了,数学方面自然就好理解了。       

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用
        通常会听到尺度变化等这类词语,看到的也总是一堆的数学公式,有时候真的不知道这到底有啥用,有啥意义,没有弄懂这些意义,当然就更不可能的理解,不可能去掌握应用它了,现在我才理解,小波变化其实也是一种尺度变化。今天我看到一篇南航数学系写的关于尺度空间解释的文章,感觉很通俗易懂,我们不从数学上来推倒什么是尺度空间,只是从生活常识方面来解释尺度空间的意义,意义懂了,数学方面自然就好理解了。

         好。首先我们提出一个问题,请看下面的图片,让我们我们人为的判断下所显示的左右图片中哪个的角尖锐?接下来我们慢慢的分析,在这其中我们会发现很有意思的事情。

关于尺度空间的理解和认识_尺度空间理论

分析:

图1(a)中,显然右边的角更尖锐,这是因为同左边的角相比其角度值较小。

图1(b)中,也是右边的角更尖锐,这是因为同左边的角相比其曲率值较大。

图1(c)中的第三组角,问题的答案则要困难得多。左边的角一方面具有较小的角度值(因此更尖锐),另一方面又具有较小的曲率值(因此更圆钝)。右边的角情形刚好相反,一方面因为具有较大的角度值更圆钝,另一方面又因为具有较大的曲率值显得更尖锐。事实上,本问题对于第一组角和第二组角来说是纯粹的数学问题,依据数学上的基本概念(即角度、曲率) 便可以做出判断。而第三组中两个角之间的比较已经不再是纯粹的数学问题,在数学上没有明确的答案。有意思吧。确切地说,这是一个尺度空间中的视觉问题,其答案取决于问题所在的“尺度”而不是某个数学指标。这里,“尺度”可以被直观地理解为观察窗口的大小。

图1(c)中,我们观察两个角的窗口大小都是12*16。在图1(d)中,调整了观察窗口,其大小变成120*160(假设所比较的两个角都具有无限长的边)。

在这个较大的尺度下,问题的答案变得非常明朗:左边的角更加尖锐。

在图1(e)中,观察窗口的大小变更为6*8。

在这个较小的尺度下,问题的答案发生了有趣的变化:此时右边的角更加尖锐。

此例子的结果阐述了“尺度”对于解决视觉问题的重要性,即一个视觉问题的答案往往会依赖于其所在的尺度。在生活中这样的例子也比比皆是,比如要观察一棵树,所选择的尺度应该是“米”级;如果观察树上的树叶,所选择的尺度则应该是“厘米”级。一般来说,摄像设备所能呈现的画面分辨率是固定的。要以同样的分辨率分别观察树和树叶,我们需要调整摄像设备的摄像位置。因此,视觉问题中的“尺度”概念也可以被形象地理解为摄像设备与被观察物体之间的距离:较远的距离对应较大的尺度,较近的距离对应较小的尺度。

接下来我们看看第二个例子吧,看看图二中显示的图片那些事角点?

关于尺度空间的理解和认识_尺度空间理论

图2(a)呈现了一片雪花的形状轮廓,要求我们找出该形状上的角点。在很多计算机视觉任务中,角点都有着重要的作用。数学上,角点一般是指大曲率点或曲率无穷大点。
在图2(b)中,雪花形状上所有曲率无穷大点都被确认为角点,一共有192个,如圆圈所标记。这个答案在数学上无疑是正确的、完美的令人惊奇的,但它对于完成一个视觉任务(比如理解和分析这个形状)来说并没有多大的意义。如果我们仅选择图2(c)中所标记出的48个点作为角点,感觉上要更好点。作为图2(b)中所标记的192个角点中的一部分,这48个角点在理解和分析雪花形状的结构时要比其余的角点具有更高的重要性。实际上,按照这一思路,我们不难发现在这48个角点中又有12个角点其重要性还要更高一些,如图2(d)中所标记。

 
同例1 一样,本例中问题的答案依赖于问题所在的尺度。当我们非常靠近雪花形状观察它时(即在较小的尺度下),能够看清楚所有的细节,却不容易感知其整体轮廓,从而倾向于不加区分地选取图2(b)中所标记的192 个点作为角点。反过来,当我们从一个很远的距离观察雪花形状时(即在较大的尺度下),虽然轮廓的细节已经模糊不清,但却能够一眼看出其整体结构,从而倾向于选取图2(d) 中所标记的12 个点作为角点。此外,图2(c) 中所标记的角点对于理解雪花形状也很有帮助。事实上,如果我们不是保守地将自己固定在某个尺度下来观察物体,便能够获得充足的视觉信息。比如说图2(b)-2(d) 所呈现的三组角点已经很好地向我们展示了雪花形状的三个结构层次。这一效果是其中的任意一组角点都无法实现的。

现实生活中视觉问题的复杂性也往往需要我们做到这一点:当我们去参观某处文化遗迹时,远远地就已经开始观察建筑物的外形,然后较近距离时开始注意到门窗、台阶、梁柱的建筑风格,最后会凑上前去细看门窗上的图案、石碑上的碑文等。当一部机器人也能够自主地做到这一点时,说明它已经具备了更高的人工智能。我们对尺度空间技术的研究也正是朝着这个方向努力。概括地说,“尺度空间”的概念就是在多个尺度下观察目标,然后加以综合的分析和理解。
这里用的是图像来解释尺度,当然,对于抽象的信号,理解还是一样的,不过到时候我们看的工具不是我们人眼或者是摄像机从外表区分了,这时候我们用的工具也可能是时域的分析法,也可能是频率域的傅里叶变化等分析法,它是我们进一步发现我们感兴趣事物的工具。最后贴点数学公式吧,不然不完美:

线性尺度空间技术:

其实现途径是将一维信号(如曲线的曲率函数)或二维信号(如图象)与高斯函数

g(x,t)=1/(sqrt(t*pi))*exp(-x^2/(4t))

作卷积运算。以一维信号f(x)为例,

f(x,t)=f(x)*g(x,t)=integration(f(u)g(x-u)du) 

其中t被当做尺度参数,其中尺度参数值t由小到大逐渐增加。在演化过程中,信号上的特征被提取并加以分析, 形成信号的尺度空间。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183322.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 决策树原理及使用_虹吸原理图解

    决策树原理及使用_虹吸原理图解1.树模型和线性模型的区别树形模型是一个一个特征进行处理线性模型是所有特征给予权重相加得到一个新的值2.什么是决策树所谓决策树,就是一个类似于流程图的树形结构,树内部的每一个节点代表的是对一个特征的测试,树的分支代表该特征的每一个测试结果,而树的每一个叶子节点代表一个类别。树的最高层是就是根节点。下图即为一个决策树的示意描述,内部节点用矩形表示,叶子节点用椭圆表示。3.学习过程**特征选择:**特征选择是指从训练数据中众多的特征中选择一个特征作为当前节点的分裂标准,如何选

    2022年9月4日
    2
  • 聊天机器人接口_可以对话的app

    聊天机器人接口_可以对话的app一、什么是Simsimi?simsimi公司是提供智能服务,其中一个服务是simsimi聊天机器人服务,每天有超过百万的用户聊天,国内最大的搜索引擎——百度的产品siri使用的就是simsimi提供的api。你可以在网址http://www.simsimi.com/talk.htm# 进行体验SimSimiinc.isspecializedincollectiveint…

    2022年10月22日
    0
  • ORACLE中函数MONTHS_BETWEEN的使用

    ORACLE中函数MONTHS_BETWEEN的使用转自:https://www.cnblogs.com/pumushan/p/6655204.html格式:MONTHS_BETWEEN(DATE1,DATE2)MONTHS_BETWEEN函数返回两个日期之间的月份数。SQL>selectmonths_between(to_date(‘20090228′,’yyyymmdd’),to_date(‘20080228’,’y…

    2022年7月12日
    15
  • Python代码缩进的使用方法_python退格快捷键

    Python代码缩进的使用方法_python退格快捷键和其它程序设计语言(如Java、C语言)采用大括号“{}”分隔代码块不同,Python采用代码缩进和冒号(:)来区分代码块之间的层次。在Python中,对于类定义、函数定义、流程控制语句、异常处理语句等,行尾的冒号和下一行的缩进,表示下一个代码块的开始,而缩进的结束则表示此代码块的结束。注意,Python中实现对代码的缩进,可以使用空格或者Tab键实现。但无论是手动敲空格,还是…

    2022年8月31日
    0
  • java.io.outputstream_java input

    java.io.outputstream_java inputio流概述:IO流用来处理设备之间的数据传输,上传文件和下载文件,Java对数据的操作是通过流的方式,Java用于操作流的对象都在IO包中。IO流分类按照数据流向输入流读入数据输出流写出数据按照数据类型字节流字符流什么情况下使用哪种流呢?如果数据所在的文件通过windows自带的记事本打开并能读懂里面的内容,就用字符流,其他用字节流。如果你什么都…

    2022年9月21日
    0
  • 【ES6】Promise用法[通俗易懂]

    【ES6】Promise用法[通俗易懂]promise理解及使用Promise解决的问题——异步Promise的基本用法异步操作拒绝及中断调用链ES6对Promise/A+的扩展Promise.all的扩展Promise.race的扩展众所周知的,Javascript是一种单线程的语言,所有的代码必须按照所谓的“自上而下”的顺序来执行。本特性带来的问题就是,一些将来的、未知的操作,必须异步实现(关于异步,我会在另一篇文章里进行讨论)…

    2022年6月18日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号