[转]宽基线与窄基线

  基线的本意是指立体视觉系统中两摄像机光心之间的距离。依据拍摄两幅图 像的视点位置关系可将对应点匹配问题分为宽基线(Wide Baseline)和窄基线匹配(Short Baseline)。宽基线一词用于匹配时,泛指两幅图像有明显不同的情况下的匹配。产生这种情况的原因有可能为摄像机之间的位置相差很大,也有可能由于摄像机旋转或焦距的变化等因素产生的。

宽基线匹配和窄基线匹配的分界不是很严格,但是在窄基线匹配中存在如下假设:摄像机焦距及其它内参数变化不大:摄像机位置不会相差很远,不会有大的转动,对应点的邻域是相似的。

宽基线匹配中则存在如下假设:对图像上的任意点,在另一图像上的对应点可以为任意位置;摄像机可以任意移动,且摄像机的焦距及其它内参数可以有较大的变化;一幅图像上的景物在另一幅图像上可能被遮挡;对应点的邻域有相似的地方,但由于摄像机位置的变化及光照的变化,单依靠邻域的相似不能得到正确的对应。

窄基线匹配中典型方法是利用邻域的互相关(Neighborhood Cross-Correlation)方法.但在宽基线的情况下,图像之间拍摄距离较远,成像条件存在较大差异,即使是空间同一特征,在图像中所表示出来的光学特性(灰度值,颜色值等)、几何特性(外形,大小等)及空间位置(图像中的位置,方向等)都有很大的不同,再加上噪声、遮挡等因素的存在,此时基于邻域互相关的匹配方法就失效了。在宽基线匹配中,仅仅使用特征本身的信息(比如边缘、角点的位置信息)是难以正确匹配的,研究学者将多个特征尤其是结构性特征予以组合,以形成稳定的特征向量(称为特征描述符)。这种对于图像的几何变形、光照变化等因素保持一定稳定性的特征向量称为不变量(Invariarlt).不变量技术是宽基线匹配应用中的重要技术。

选自赵辉硕士论文。

参考:http://blog.163.com/[email protected]/blog/static/83046444201071731444339/

时间: 2024-11-13 09:44:50

[转]宽基线与窄基线的相关文章

立体匹配中宽基线与窄基线的定义

基线的本意是指立体视觉系统中两摄像机光心之间的距离.依据拍摄两幅图 像的视点位置关系可将对应点匹配问题分为宽基线(Wide Baseline)和窄基线匹配(Short Baseline).宽基线一词用于匹配时,泛指两幅图像有明显不同的情况下的匹配.产生这种情况的原因有可能为摄像机之间的位置相差很大,也有可能由于摄像机旋转或焦距的变化等因素产生的. 宽基线匹配和窄基线匹配的分界不是很严格,但是在窄基线匹配中存在如下假设:摄像机焦距及其它内参数变化不大:摄像机位置不会相差很远,不会有大的转动,对应点

宽字符和窄字符之间的转换,以及对中文的处理问题总汇

直接代码: 注:编译环境VS2010 SP1 1 /*实现宽字节和窄字符转换以及中文文件的输入输出*/ 2 3 #include <iostream> 4 #include <string> 5 #include <fstream> 6 #include <locale> 7 #include <codecvt> 8 #include <windows.h> 9 #include <tchar.h> 10 using na

信息的宽面和窄面

诸如"某女星在某大会上大肆露胸"."热火VS山猫首战,热火获胜"."某网站被恶意攻击"等裹挟着有用无用的信息从社交网络扑面而来,即使你自身不想去接受这些信息,根本无法找到关闭提示的手机软件也会"叮"的一声提示你,又有新的信息会进入到你因为写代码而略微酸沉的大脑. 除去互联网带来的各种信息,包括报刊.杂志.电视.路边广告等信息亦无所不在的钻入到用户的大脑皮层,有的会被沉淀下来,而有的则会快速的被过滤掉,但是,信息无处不在. 摩尔

RDD Join中宽依赖与窄依赖的判断

1.规律 如果JoinAPI之前被调用的RDD API是宽依赖(存在shuffle), 而且两个join的RDD的分区数量一致,join结果的rdd分区数量也一样,这个时候join api是窄依赖 除此之外的,rdd 的join api是宽依赖 2.测试程序 1 package com.ibeifeng.senior.join 2 3 import org.apache.spark.{SparkConf, SparkContext} 4 5 /** 6 * RDD数据Join相关API讲解 7

Spark RDD 的宽依赖和窄依赖 -- (视频笔记)

窄依赖 narrow dependency map,filter,union , join(co-partitioned)制定了父RDD中的分片具体交给哪个唯一的子RDD 并行的,RDD分片是独立的. 只依赖相同ID的分片 range分片 one to dependency range dependency 内部可以previously computed partition 可以将计算合并,可以极大的提升效率,编写的时候可能是多个函数,执行的时候合并成一个函数,极大的减少了零碎内存或磁盘资源.

宽表和窄表的建设该如何选择?

https://blog.csdn.net/codemosi/article/details/44219687 原文地址:https://www.cnblogs.com/zwt20120701/p/12092653.html

微软私有云分享(R2)26配置基线与更新

完成WSUS服务器的集成后,并不能直接针对现有的构造资源进行更新,首先需要定义一组基线,同时进行扫描,以确认目标主机是否满足基线的要求.针对基线所设定的更新和补丁的需求,来完成补丁的更新. 该功能常用在同步故障转移群集不同节点之间的补丁版本.安装特定软件所需满足的特殊前置条件上.通过自动化的补丁更行,解放手动打补丁容易出错的局限性. 第1步,在"库"窗格中,于"更新目录"上检查现有的补丁名称和编号等信息,如图27- 47所示. 图27- 47检查现有WSUS中所拥有

Oracle SQL操作计划基线总结(SQL Plan Baseline)

一.基础概念 Oracle 11g開始,提供了一种新的固定运行计划的方法,即SQL plan baseline,中文名SQL运行计划基线(简称基线),能够觉得是OUTLINE(大纲)或者SQL PROFILE的改进版本号.基本上它的主要作用能够归纳为例如以下两个: 1.稳定给定SQL语句的运行计划.防止运行环境或对象统计信息等等因子的改变对SQL语句的运行计划产生影响! 2.降低数据库中出现SQL语句性能退化的概率.理论上不同意一条语句切换到一个比已经运行过的运行计划慢非常多的新的运行计划上!

volatile,可变参数,memset,内联函数,宽字符窄字符,国际化,条件编译,预处理命令,define中##和#的区别,文件缓冲,位域

 1.volatile:要求参数修改每次都从内存中的读取.这种情况要比普通运行的变量需要的时间长. #include <stdio.h> #include <stdlib.h> #include <time.h> void main() { time_t start, end; double res = 0; time(&start);  //获取时间,传递给start //volatile强制每次从内存读取 volatile int i; for (i =