空三匹配和密集匹配的区别与联系

很多人包括一些业内人士都不清楚空三匹配(空中三角测量中的连接点匹配,亦即计算机视觉中的SFM算法中的同名点匹配,比如SIFT算法)和密集匹配(也叫立体匹配,立体对应或稠密匹配)有什么区别,于是经常会问诸如下列问题:

1. 做空三匹配的时候做的密集一点就是密集匹配了吧?

2. 空三匹配做完定向后就可以得到正射影像了吧?

3. 用sift也可以做密集匹配吧?

殊不知,以上三个问题的答案都是:NO!

下面我们就来说明一下空三匹配和密集匹配有什么区别和联系。

1. 定义

空三匹配:在空中三角测量(SFM)时,为了确定一些影像之间的同名连接点作为平差条件而进行的同名点匹配。

密集匹配:在生产DSM/DEM时,为了计算测区每个物方点三维坐标,从而重建整个测区地形而进行的同名点匹配。

2. 区别

项目 空三匹配 密集匹配
下游技术 空中三角测量 空间前方交会
计算目的 影像外方位元素 测区地形
方法内核 特征匹配 灰度匹配
分布特点 稀疏 密集
典型算法 Sift SGM

3. 联系

二者也有联系,首先都是为了找不同影像上的同名地物点,因此本质是一致的,其次,空三匹配是密集匹配的基础,没有完成空三的密集匹配没有意义。

以上是从定义出发看待二者的区别与联系,其实也可以换一个角度审视该问题。

4. 换一个角度看区别

首先,来回顾一下测绘学的两个基本定理:

后方交会:从一个未知点观测两个已知点而确定该点坐标。

前方交会:从两个已知点分别观测同一个未知点而确定该未知点坐标。

如下图所示,红色点代表未知点,绿色点代表已知点,红线代表从未知点观测已知点,绿线代表从已知点观测未知点。

虽然二者完成了相同的工作,即由两个已知点计算一个未知点,但是实际应用中差别很大,总结起来如下:

后方交会:“主动的少数”,问路模式,即从少数未知点的主动观测求解这些未知点。

前方交会:“被动的多数”,传教模式,即多数未知点通过被少数已知点观测而求解。

举一个形象的例子如下:

小明被派去武汉传教,要求带回每个教徒的个人信息,于是,小明打算两步走:

首先,找几个人问路,确定自己是否在武汉。

然后,逢人遍开始传教,并记录教徒的信息。

再来回看摄影测量的流程:

现在有一批某地区的航空影像,要求得到该地区的DSM/DEM,于是,我们的工作分两步走:

首先,进行空中三角测量,确定每张影像的坐标姿态(外方位元素)。

然后,对每个立体相对进行密集匹配,并通过前方交会计算出每个物方点的三维坐标,从而得到该地区的DSM/DEM。

所以,对比以上例子,空三(SFM)匹配和密集匹配的区别就十分明显了。

时间: 2024-07-30 18:51:05

空三匹配和密集匹配的区别与联系的相关文章

正则匹配中 ^ $ 和 \b 的区别

正则匹配中 ^ $ 和 \b 的区别 ^和$分别代表字符串的开始和结束,因此^\d$只能匹配包含一个数字的字符串\b代表单词边界,其前后必须是不同类型的字符,可以组成单词的字符为一种类型,不可组成单词的字符(包括字符串的开始和结束)为另一种类型因此\b\d\b可以匹配"%3%"中的3,但不能匹配"23"中的任意一个数字

perl学习之:理解贪婪匹配和最小匹配之间的区别

正则表达式的新手经常将贪婪匹配和最小匹配理解错误.默认情况下,Perl 的正则表达式是“贪婪地”,也就是说它们将尽可能多地匹配字符. 下面的脚本打印出“matched defgabcdef”,因为它尽可能多地匹配模式,直至结尾的‘g’. $data = 'abcdefgabcdefg';$data =~ /abc(.+)g/i;print "matched "; 要改变匹配特点,只须简单地在量词(加号[+]或星号[*])后面加一个问号(?)即可.在上面的程序中把模式改为在‘+’之后包含

WildcardMatching和Regex,通配符匹配和正则表达式匹配

WildcardMatching:通配符匹配 算法分析: 1. 二个指针i, j分别指向字符串.匹配公式. 2. 如果匹配,直接2个指针一起前进. 3. 如果匹配公式是*,在字符串中依次匹配即可. 注意记录上一次开始比较的位置 Implement wildcard pattern matching with support for '?' and '*' '?' Matches any single character. '*' Matches any sequence of character

perl学习之:肯定匹配和否定匹配

tr/ / / 替换操作符不支持正则表达式 也不具备双引号替换能力m/ /  s/ / / 都支持正则表达式,并且可以提供或限制双引号替换能力 $string = "25abc8";$string =~ /abc(?=[0-9])/;(?=pattern) 前看声明,如果正则表达式在下一次匹配 pattern 风格,就开始匹配,而且不影响匹配效果.如/\w+(?=\t)/将匹配制表符是否恰好在一个字\w+后面出现,并且制表符不添加到$&的值中:$matched = $&

kuangbin带你飞 匹配问题 二分匹配 + 二分图多重匹配 + 二分图最大权匹配 + 一般图匹配带花树

二分匹配:二分图的一些性质 二分图又称作二部图,是图论中的一种特殊模型. 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点i和j分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图. 1.一个二分图中的最大匹配数等于这个图中的最小点覆盖数 König定理是一个二分图中很重要的定理,它的意思是,一个二分图中的最大匹配数等于这个图中的最小点覆盖数.如果你还不知道什么是最小点覆盖,我也在这里说一下:假如选

java基础三种循环的使用及区别

摘要:Java新人初学时自己的一些理解,大神们路过勿喷,有什么说的不对不足的地方希望能给予指点指点,如果觉得可以的话,希望可以点一个赞,嘿嘿,在这里先谢了.在这里我主要说的是初学时用到的Java三个循环体的用法及区别:for  while和do while在什么时候会使程序代码更方便简洁: 一.for循环体,这个在我以后写程序代码都是比较长用的一个循环体之一,for循环主要多数用到我们已经知道循环次数的循环程序中. 表达式:for(初始化:布尔表达式:更新){ 程序代码....... } for

jQuery中,选择器既匹配开头又匹配结尾

jQuery中,选择器既匹配开头又匹配结尾的方法: 1 [attr^=val]attr$=val 2 [attr^=val][attr$=val]

了解mysql的三种不同安装方式的区别

学习目的:了解mysql的三种不同安装方式的区别 学习内容: mysql 的安装有三种:分别是源码安装.二进制安装.rpm安装. 源码安装的优势:linux操作系统开放源代码,因此在其上面安装的软件大部分也都是开源软件.开源软件基本都提供源码下载和源码安装的方式.源码安装的好处是用户可以自己定制软件的功能,安装需要的模块,不需要的功能可以不用安装,此外,用户还可以自己选择安装的路径,方便管理.卸载软件也很方便,只需要删除对应的安装目录即可.没有windows所谓的注册表之说. 源码安装软件的基本

javascript正则表达式之最长匹配(贪婪匹配)和最短匹配(懒惰匹配)

最近在阅读RequireJS 2.1.15源码,源码开始处定义了一系列的变量,有4个正则表达式: var commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg, cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g, jsSuffixRegExp = /\.js$/, currDirRegExp = /^\.\//; comment