- 博客(74)
- 资源 (1)
- 收藏
- 关注
原创 Multiple View Geometry(多视图几何)学习笔记(20)—摄像机模型之无穷远摄像机
摄像机模型之无穷远摄像机 无穷远摄像机是中心在无穷远平面上的摄像机。无穷远摄像机可以分为仿射摄像机和非仿射摄像机。仿射摄像机 仿射摄像机是矩阵PPP的最后一行P3TP3TP^{3T}形如(0,0,1)(0,0,1)(0,0,1)的摄像机。 对于有限射影摄像机: P0=KP[I|−C~]=K⎛⎝⎜r1Tr2Tr3T−r1TC~−r2TC~−r3TC~...
2018-06-20 10:09:32
1561
原创 Multiple View Geometry(多视图几何)学习笔记(19)—摄像机模型之射影摄像机
摄像机模型之射影摄像机摄像机构造 一般射影摄像机可以按P=[M|p4]P=[M|p4]P=[M|p_4]其中MMM 是3X3 矩阵,如果MMM 是非奇异的,那么它是有限摄像机;反之则不然。摄像机中心 摄像机中心CCC 是PPP 的一维右零空间,即PC=0PC=0PC=0有限摄像机(M 非奇异)C=(−M−1p41)C=(−M−1p41)...
2018-06-14 22:03:41
933
1
原创 走进数据结构和算法(c++版)(10)——最小生成树
最小生成树 在生活中我们可能会遇到诸如多个地点架设通信网络、水管等等问题,如何设计出最小的成本的方案? 图1图1图1 上图是一个带权值的图,即网结构。所谓的最小成本,就是nnn 个顶点,用n−1n−1n-1条边把一个连通图连接起来,并且使得权值的和最小。像这样把构造连通网的最小代价生成树称为最小生成树( Minimun Cost Spanning Tree)。...
2018-06-13 21:14:11
1532
原创 Multiple View Geometry(多视图几何)学习笔记(18)—摄像机模型之有限摄像机
摄像机模型之有限摄像机基本针孔模型 令投影中心位于一个欧氏坐标系的原点,而平面z=fz=fz = f 被称为图像平面或聚焦平面。在针孔摄像机模型下, 空间坐标为X=(X,Y,Z)TX=(X,Y,Z)T\mathbf{X}=(X,Y,Z)^T,从世界坐标到图像坐标的中心投影是: (X,Y,Z)T→(fX/Z,fY/Z)T(X,Y,Z)T→(fX/Z,fY/Z)T(X,...
2018-06-13 11:31:10
875
原创 走进数据结构和算法(c++版)(9)——图
图 前面我们已经介绍了一对一和一对多的数据结构,现在我们就来了解一下多对多的数据结构。 图( Graph )是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为: G (V, E ),其中, G 表示一个图, V 是图G 中顶点的集合, E 是图G 中边的集合。术语总结 图的术语很多: 图按照有无方向分为无向图和有向图。无向图由顶点和边构成,有向图由顶点和弧...
2018-06-12 21:42:39
3544
原创 Multiple View Geometry(多视图几何)学习笔记(17)—算法评价和误差分析
算法评价和误差分析1.性能的界定记号的规定:xxx测量得到的量被估计的量加帽子来表示如x^x^\hat{x}或H^H^\hat{H}量的真值用加横杠表示,如x¯x¯\bar{x}或H¯H¯\bar{H}单图像误差 2D单应的估计问题在仅给第二幅图像的坐标加噪声的情形下,设有n 组这样的匹配点,RMS( 均方根)残差: εres=(12...
2018-06-12 10:52:49
818
原创 Multiple View Geometry(多视图几何)学习笔记(16)—鲁棒估计&单应的自动计算
鲁棒估计&单应的自动计算鲁棒估计 之前我们讨论的对应集的唯一误差源来自点的位置测量,在许多实际运行中,还存在着点被错配的情况。错配点对高斯误差分布而言是野值。RANSAC 用模型去拟合数据,随机样本包含足以确定模型的最小数据集。如果模型是平面单应,而数据是 2D 点对应集,那么最小子集包含四组对应。 RANSAC 算法思路如下: ...
2018-06-11 15:59:01
546
原创 走进数据结构和算法(c++版)(8)——二叉树
二叉树 二叉树是一种应用十分广泛的树结构。我们先来看下二叉树的定义。 二叉树( Binary Tree) 是$$个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。 二叉树特点每个结点最多有两棵子树。左子树和右子树是有顺序的,次序不能任意颠倒。即使树中某结点...
2018-06-07 14:11:24
779
原创 Multiple View Geometry(多视图几何)学习笔记(15)—迭代最小化方法
迭代最小化方法 迭代最小化技术一般由五步组成:代价函数 代价函数是最小化的基础。参数化 把要计算的变换(或其他实体)表示成有限数目的参数。函数确定 必须确定一个用参数集描述的代价函数。初始化 计算一个适当的初始参数估计。一般将由一个线性算法(例如 DLT 算法)来实现。迭代 由初始解开始,在选代中逐步修正参数以达到最小化代价函数的目的。...
2018-06-06 19:37:41
1283
原创 走进数据结构和算法(c++版)(7)——树
树 前面我们介绍的数据结构都是一对一,但是我们经常需要面对一对多的问题。下面我们就来介绍下一对多的数据结构——树。 树( Tree )是n(n⩾0)n(n⩾0)n(n\geqslant 0)个结点的有限集。n=0n=0 n=0 时称为空树。 在任意一棵非空树中: ( 1 )有且仅有一个特定的称为根 ( Root )的结点; (2) 当n>1n>1 n>1 时,其余结点可分...
2018-06-05 20:56:50
1031
原创 Multiple View Geometry(多视图几何)学习笔记(14)—变换不变性和归一化
变换不变性和归一化关于图像坐标变换的不变性 假定一幅图像的坐标xxx被x~=Txx~=Tx\tilde{x}=Tx替代,而另一幅图像的坐标x′x′x’被x′~=T′x′x′~=T′x′\tilde{x'}=T'x'替代。因此xixix_i映射到x′ixi′x'_i的变化有另一种方法:由x~=Txx~=Tx\tilde{x}=Tx和x′~=T′x′x′~...
2018-06-05 15:55:51
892
原创 走进数据结构和算法(c++版)(6)——串
串 我们经常需要存储和处理字符信息,因此就有了“串”这个数据结构。 串( string )是由零个或多个字符组成的有限序列,又名叫字符串。 串一般记为s=“a1a2......an”s=“a1a2......an”s=“a_1a_2......a_n”s 是串的名称。串中的字符数目 n 称 为串的长度,当n为0是称为空串。空格串 只包含空格的串,空格串不是空串,它可以包...
2018-06-04 16:45:01
817
原创 走进数据结构和算法(c++版)(4)——栈
栈 栈的应用十分的普遍,比如我们按浏览器的后退键,就会逆序加载我们浏览过的网页;一些应用软件中的撤销操作也是应用了栈的方式。 栈( stack )是限定仅在表尾进行插入和删除操作的线性表。 结合上图,我们对栈及其的操作进一步解释。允许插入和删除的一端称为栈顶 ( top),另一端称为栈底 ( bottom) ,不含任何数据元素的栈称为空栈。栈是后进先出 ( Last In...
2018-05-31 16:18:23
886
1
原创 Multiple View Geometry(多视图几何)学习笔记(13)—统计代价函数和最大似然估计
统计代价函数和最大似然估计 假定在没有测量误差时,真实的点准确满足一个单应变换,即:x′i¯=Hxi¯xi′¯=Hxi¯\bar{x'_i}=H\bar{x_i}。假定每一幅图像坐标都具有零均值和统一的标准差δδ\delta 的高斯噪声。这意味着x=x¯+Δxx=x¯+Δxx=\bar{x}+\Delta x,其中ΔxΔx\Delta x服从方差为δ2δ2\del...
2018-05-30 21:18:39
535
原创 汉诺塔(C++)
汉诺塔故事背景 法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿...
2018-05-30 14:34:44
1412
原创 走进数据结构和算法(c++版)(3)——线性表的链式存储结构
线性表的链式存储结构 我们知道线性表的顺序存储结构在插入和删除操作时需要移动大量的数据,他们的时间复杂度为O(n)O(n)O(n)。当我们需要经常插入和删除数据时,顺序存储结构就不适用了,这时我们就需要用到线性表的链式存储结构。 线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以是连续的,也可以是不连续的。这就意味着,这些数据元素可以存在内存未被占用...
2018-05-29 15:19:27
1202
原创 Multiple View Geometry(多视图几何)学习笔记(12)—不同的代价函数
不同的代价函数 我们现在来介绍为确定HH H 的超定解而需最小化的若干代价函数。1.代数距离 DLT 算法最小化范数∥Ah∥‖Ah‖\left \| A\mathbf{h}\right \|。矢量ε=Ahε=Ah\varepsilon =A\mathbf{h}称为残差矢量,并且要最小化的正是该误差矢量的范数。...
2018-05-28 22:03:03
1012
原创 走进数据结构和算法(c++版)(2)——线性表的顺序存储结构
线性表的顺序存储结构 想要通过计算机帮助我们解决各种问题,首先我们就要把现实中的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能。当我们可以通过一条“线”把这些连续或是离散的数据元素“串”起来储存,就是线性结构。我们看下线性表的定义: 线性表 ( List ):零个或多个数据元素的有限序列。 要注意的它是一个序列,数据元素之间是有顺序...
2018-05-24 15:37:46
1763
1
原创 走进数据结构和算法(c++版)(1)——算法时间复杂度
算法时间复杂度 要判断算法的好坏,可以从时间方面进行分析。算法运行的越快,所用的时间越短则算法越好。但是同一个算法在不同的平台上的运行时间不同。那么又该如何进行评判呢?我们采用时间复杂度进行衡量。 算法时间复杂度定义 在进行算法分析时, 语句总的执行次数T(n)T(n) T ( n )是关于问题规模nn n的函数,进而分析T(n)T(n) T ( n )随nn n的变化情况...
2018-05-23 21:50:14
1949
原创 Multiple View Geometry(多视图几何)学习笔记(11)—直接线性变换(DLT)算法
直接线性变换(DLT)算法 首先讨论由给定2D2D 2D 到2D2D 2D的四组点对应xi↔x′ixi↔xi′x_{i}\leftrightarrow x'_i确定HH H 的一种简单的线性算法。变换由方程x′i=Hxixi′=Hxi x'_i = Hx_i 给出。但因为这是一个齐次矢量方程; 因此 3 维矢量x′ixi′ x'_i 和HxiHxi Hx_i不相等。...
2018-05-22 19:01:53
1791
原创 Multiple View Geometry(多视图几何)学习笔记(10)—2D 射影变换的估计问题
2D 射影变换的估计问题 估计的含义是指在某些本质测量的基础上计算某个变换或其它数学量。常见的估计问题的类型有:(1)2D单应 给定IP2IP2IP^2 中的点集xixi x_i, 和同在IP2IP2IP^2 中的对应点集x′ixi′ x'_i,计算把每一点 xixi x_i映射到对应点x′ixi′ x'_i的射影变换。(2)3D到2D的摄像机投影...
2018-05-20 16:39:26
895
原创 Multiple View Geometry(多视图几何)学习笔记(9)—无穷远平面&绝对二次曲线
无穷远平面&绝对二次曲线1.无穷远平面 在 3 维空间的射影几何中,与l∞l∞l_{\infty }和虚圆点对应的几何实体是无穷远平面π∞π∞\pi _{\infty }和绝对二次曲线Ω∞Ω∞\Omega _{\infty }。 在 3 维仿射空间中,无穷远平面的标准位置是π∞=(0,0,0,1)Tπ∞=(0,0,0,1)T\pi _{\infty ...
2018-05-16 19:46:04
4328
原创 Multiple View Geometry(多视图几何)学习笔记(8)—三次绕线&变换的层次
三次绕线&变换的层次1.三次绕线 三次绕线可以看成 2D 二次曲线的 3 维类推。一条三次绕线定义为IP3IP3IP^3中的一条曲线,它的参数形式如下: ⎛⎝⎜⎜⎜X1X2X3X4⎞⎠⎟⎟⎟=A⎛⎝⎜⎜⎜1θθ2θ3⎞⎠⎟⎟⎟=⎛⎝⎜⎜⎜⎜a11+a12θ+a13θ2+a14θ3a21+a22θ+a23θ2+a24θ3a31+a32θ+a33θ...
2018-05-16 15:54:56
1222
原创 Multiple View Geometry(多视图几何)学习笔记(7)—3D 射影几何之平面、直线和二次曲面的表示和变换
3D 射影几何之点、平面、直线和二次曲面的表示和变换1.点和射影变换 3 维空间的一点 XXX 用齐次坐标表示为一个 4 维矢量,其次矢量X=(X1,X2,X3,X4)TX=(X1,X2,X3,X4)TX=(X_1,X_2,X_3,X_4)^T当X4≠0X4≠0X_4\neq 0时表示IR3IR3IR^3中非齐次坐标为(X,Y,Z)T(X,Y,Z)T(X,Y,Z)^T的点...
2018-05-16 14:11:51
1557
原创 Multiple View Geometry(多视图几何)学习笔记(6)—二次曲线的其他性质&不动点与直线
二次曲线的其他性质 现在先介绍点、线和二次曲线之间的一种被称为配极的重要几何关系。1.极点 一 极线关系 点xx x 和二次曲线CC C 定义一条直线l=Cxl=Cxl= Cx,ll l称为xx x 关于CC C 的极线 ,而点xx x 称为ll l 关于CC C 的极点。点xx x 关于二次曲线CC C 的极线l=Cxl=C...
2018-05-14 12:05:29
1318
原创 Multiple View Geometry(多视图几何)学习笔记(5)—从图像恢复仿射和度量性质
从图像恢复仿射和度量性质 射影矫正的目的是消除平面的透视图像中的射影失真,使得原始平面的相似性质(角度,长度比)可以被测量。1.由图像恢复仿射性质结论 1: 在射影变换 HHH 下,无穷远直线l∞l∞l_{\infty }为不动直线的充要条件是HHH 是仿射变换。 证明: l′∞=H−TAl∞=[A−T−t−TA−T01]⎡⎣⎢001⎤⎦⎥=...
2018-05-10 17:01:38
2026
原创 Multiple View Geometry(多视图几何)学习笔记(4)—1D 射影几何与交比
1D 射影几何与交比 直线上的点xxx用齐次坐标表示为(x1,x2)T(x1,x2)T(x_1, x_2)^T ,而(x_1,0)^T是该直线的理想点。我们将用记号x¯x¯\bar{x}表示 2 维矢量(x1,x2)T(x1,x2)T(x_1, x_2)^T 。其可用齐次矩阵表示: x¯′=H2×2x¯x¯′=H2×2x¯\bar{x}^{'}=H_{2\ti...
2018-05-09 11:04:52
1375
原创 Multiple View Geometry(多视图几何)学习笔记(3)—变换的层次
变换的层次 由n×nn×n n\times n 可逆实矩阵的群称为(实的)一般线性群或 GL(n)GL(n)GL(n) 。当把相差非零纯靠因子的矩阵都视为等同时,便得到射影线性群,记为PL(n)PL(n) PL (n)(它是 GL(n)GL(n)GL(n)的商群) 。在平面射影变换时 ,n=3n=3n = 3。1.等距变换 等距( isome...
2018-05-08 22:24:18
1803
原创 Multiple View Geometry(多视图几何)学习笔记(2)—射影变换
射影变换定义1: 射影映射是IP2IP2IP^2到它自身的一种满足下列条件的可逆映射h:h: h : 三点x1x1 x_1 , x2x2x_2 和x3x3 x_3 共线当且仅当h(x1),h(x2),h(x3)h(x1),h(x2),h(x3) h ( x_1 ), h ( x_2 ), h ( x_3 )也共线。射影映射也称为保线变换 ,或射影变换或单应 ...
2018-05-08 20:02:37
1364
原创 Multiple View Geometry(多视图几何)学习笔记(1)—2D 射影平面
2D 射影平面直线的齐次表示: 平面上的一条直线的方程ax+by+c=0ax+by+c=0ax+by+c=0可以用矢量(a,b,c)T(a,b,c)T(a,b,c)^T表示。要注意的是对任何非零的k矢量(a,b,c)T(a,b,c)T(a,b,c)^T与k(a,b,c)Tk(a,b,c)Tk(a,b,c)^T表示同一直线。 点的齐次表示: 一个点的...
2018-05-08 13:27:08
3944
Soildworks搭建机器人小车模型
2019-01-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人