Multiple View Geometry in Computer Vision Second Edition by Richard Hartley 读书笔记(二)
//
Chapter 2介绍的是2d下的投影变换,摘录下了以下定理
Result 2.1. The point x lies on the line l if and only if xTl = 0. (xTl = lTx = x.l )
Result 2.2. The intersection of two lines l and l′ is the point x = l × l′.
Result 2.4. The line through two points x and x′ is l = x × x′.
Result 2.6. Duality principle. To any theorem of 2-dimensional projective geometry there corresponds a dual theorem, which may be derived by interchanging the roles of points and lines in the original theorem. “点和直线在射影平面上的地位是对称的” 引述自《解析几何》丘维声。由之上3个定理也可以看出,两者可以直接交换得到另一个等式。它们互称为对偶命题4
Result2.7. The line l tangent to C at a point x on C is given by l=Cx.
Result2.13. Under a point transformation x′ = Hx, a conic C transforms to C′ = H−TCH−1.
Result 2.14. Under a point transformationx′ = Hx, a dual conic C∗ transforms toC∗′ = HC∗HT.
Result 2.16. The number of functionally independent invariants is equal to, or greater than, the number of degrees of freedom of the configuration less the number of degrees of freedom of the transformation.
Result 2.17. The line at infinity, l∞, is a fixed line under the projective transformation H if and only if H is an affinity.
Result 2.21. The circular points, I, J, are fixed points under the projective transformation H if and only if H is a similarity.
Result 2.22. The dual conic C∗∞ (a degenerate (rank 2) line conic C∗∞ = IJT + JIT )is fixed under the projective transformation H if and only if H is a similarity.
Result 2.23. Once the conic C∗∞ is identified on the projective plane then Euclidean angles may be measured by (2.22).
Result 2.24. Lines l and m are orthogonal if lTC∗∞m = 0.
Result 2.25. Once the conic C∗∞ is identified on the projective plane then projective distortion may be rectified up to a similarity.
Conic:
equation of a conic in homogeneous coordinates is \(ax^2 + bx + c = 0\)
in matrix form: \(x^TCx = 0\)
\[ C = \begin{bmatrix} a&b/2&d/2 \\ b/2&c&e/2 \\ d/2&e/2&f \end{bmatrix} \]
注意,这个矩阵是对称矩阵,且有6个参数,有1个用于缩放,那么就有5 degrees of freedom(这个概念后面也用得很多),因此5个点可以确定一个conic
A hierarchy of transformations:
应该是变换群的概念,例如“平面的所有正交变换组成的集合H是平面的一个变换群,称H为平面的正交变换群。”不过本书中提出 “An isometry is orientation-preserving if the upper left hand 2 × 2 matrix has determinant 1. Orientation-preserving isometries form a group, orientation-reversing ones do not. This distinction applies also in the case of similarity and affine transformations which now follow. ”朝向不变的才构成一个群,不知道为什么,待解决。
Isometries
\[ \begin{pmatrix} x' \\ y' \\ 1 \end{pmatrix}
= \begin{bmatrix} \epsilon \cos \theta & -\sin\theta & t_x
\\ \epsilon \cos \theta & \cos\theta & t_y
\\ 0 & 0 & 1
\end{bmatrix}
\begin{pmatrix} x \\ y \\ 1 \end{pmatrix} \]
几何上的表现tx,ty是沿x轴、y轴的平移变换,R是旋转θ
它的Invariants 翻译过来应该是度量性质,包括length, angle, area
Similarity transformations
\[ \begin{pmatrix} x' \\ y' \\ 1 \end{pmatrix}
= \begin{bmatrix} s \cos \theta & -s\sin\theta & t_x
\\ s \cos \theta & s\cos\theta & t_y
\\ 0 & 0 & 1
\end{bmatrix}
\begin{pmatrix} x \\ y \\ 1 \end{pmatrix} \]
增加了s,几何上表现是放缩
相似性质,高中学过,angle, ratio of two lengths,要注意以前提出的length就不是这里的invariants了
Affine transformations
\[ \begin{pmatrix} x' \\ y' \\ 1 \end{pmatrix}
= \begin{bmatrix} a_{11} & a_{12} & t_x
\\ a_{21} & a_{22} & t_y
\\ 0 & 0 & 1
\end{bmatrix}
\begin{pmatrix} x \\ y \\ 1 \end{pmatrix} \]
几何上表现为沿某两垂直方向进行拉伸或压缩
仿射性质,包括Parallel lines, Ratio of lengths of parallel line segments, Ratio of areas.
Projective transformations
Projective transformations
\[ x' = H_Px
= \begin{bmatrix} A & t
\\ \nu^T & v
\end{bmatrix}
x \]
代数上表现为把无穷远线\( (0,0,1) \)
变换到一根普通直线\( (a,b,c) \),几何上表现为平行线于投影面上相交于一可见点(无穷远点)
射影性质,包括a ratio of ratios or cross ratio of lengths on a line , 即交比。注意并不是Ratio of lengths on a line(仿射性质)。
那么,一个投影变换就可以进行分解,如下图,我们需要什么样的性质,只需要退回到相应的变换之前。例如,如果想要测量投影图中的长度比,只需返回到相似变换。
\[ H = H_SH_AH_P
= \begin{bmatrix} sR & t
\\ 0^T & 1
\end{bmatrix}
\begin{bmatrix} K & 0
\\ 0^T & 1
\end{bmatrix}
\begin{bmatrix} I & 0
\\ \nu^T & v
\end{bmatrix}
= \begin{bmatrix} A & t
\\ \nu^T & v
\end{bmatrix}
\]
各变换总结

2.5 接下来,书中从1D角度介绍了Cross Ratio、Concurrent lines。
2.6 以及1D、2D投影面的拓扑,完全没理解,,待补充。
2.7 介绍了如何从图像获取仿射、相似、度量性质
Metric rectification using \(C_*^∞\)
\begin{align*}
{C_*^\infty}' & = (H_PH_AH_S)C_*^\infty(H_PH_AH_S)^T = (H_PH_A)C_*^\infty(H_SH_S^T)\\
& = (H_PH_A)C_*^\infty(H_SH_S^T) \\
& =\begin{bmatrix} KK_T & KK_T\nu
\\ \nu^TKK_T & \nu^TKK_T\nu
\end{bmatrix}
\end{align*}
- 例1,把出现于图像中的无穷远线(2组平行线->两个无穷远点->确定无穷远线)投影回(0,0,1),就可以去除Projective Distortion。注意,一条直线有两个自由度,我们由Projective(8 def),Affine(6 def)之间的差也可以知道需要两个。
- 例2,已知length ratio,计算投影后的length ratio,1D坐标系,由length ratio得出 . homogeneous coordinates,再得出 H2*2,对应(1,0)的即为一个消失点。
- 例3,已知l的cross ratio,利用其得到一个相同投影中心下投影出的线,连线得出投影中心O,过O并与l平行的线交于无穷远点,经投影,此无穷远点(1,0)变换到(a,b),与l’交点即为无穷远点
- 例4,Projective Distortion已去除,由2 degrees of freedom of the circular points 去除Affine Distortion:垂线\( l′ T C_∗^∞ ′ m′ = 0 \),因为Projective Distortion已去除,v=0,那么
\[ \begin{pmatrix} l_1' & l_2' & l_3'
\end{pmatrix}
\begin{bmatrix} KK^T & 0
\\ 0^T & 0
\end{bmatrix}
\begin{pmatrix} m_1' \\ m_2' \\ m_3'
\end{pmatrix}=0
\]
两组垂线即可确定K:two such orthogonal line pairs provide two constraints which may be stacked to give a 2 × 3 matrix with s determined as the null vector ,rank为2,m为3,3-2=rank s,貌似,详见by Cholesky decomposition, section A4.2.1(p582) 也可以由以下确定:Alternatively, the two constraints required for metric rectification may be obtained from an imaged circle or two known length ratios. In the case of a circle, the image conic is an ellipse in the affinely rectified image, and the intersection of this ellipse with the (known) l∞ directly determines the imaged circular points. - 例5,Projective Distortion未去除,仍由垂线\( l′ T C_∗^∞ ′ m′ = 0 \),公式\( (l^1m^1, (l^1m^2 + l^2m^1)/2, l^2m^2, (l^1m^3 + l^3m^1)/2, (l^2m^3 + l^3m^2)/2, l^3m^3) c = 0 \)矩阵形式1*6 6*1,类似例4,5个这样的限制形成5*6矩阵,c, and hence C∗∞, is obtained as the null vector.
注意,例5由一步直接到位,例4经过两步得到同样的效果,叫:This two-step approach is termed stratified
2.8 conics更多的性质
极点,极线,共轭
仿射、投影下对conics的分类:

投影变换下:any conic is equivalent under projective transforma- tion to one with a diagonal matrix. 证明过程见书
注意,仿射变换下:hyperbola, ellipse and parabola ,欧式分类也一样,因为只由他们与无穷远线的关系确定

2.9 固定的点和线,
由l∞ and the circular points ,可以发现有的点和线在一个投影变换下是固定的,实际上,矩阵的特征向量对应一个固定点,\( He = λe \) ,特征向量*特征值还是属于\( (x1,x2,x3) \),然后书中考察了相似矩阵(固定点即为circular points )、仿射矩阵的特征值和特征向量。
Multiple View Geometry in Computer Vision Second Edition by Richard Hartley 读书笔记(二)的更多相关文章
- Multiple View Geometry in Computer Vision Second Edition by Richard Hartley 读书笔记(一)
var bdots = "../" var sequence = [ 'l1', 'l2', 'l3', 'l4' ]; Chapter1是个总览,引出了射影几何的概念,通过在欧式 ...
- Multiple View Geometry in Computer vision 1.1节部分翻译
1.1简介—无处不在的投影几何 我们都熟悉射影变换.当我们看一幅图,我们看到的方形不是方形,或圆形不是圆形.平面立体映射到图片上的变换是一个投影变换的例子. 因此投影变换时保留的几何属性是什么呢?当然 ...
- Computer Vision Algorithm Implementations
Participate in Reproducible Research General Image Processing OpenCV (C/C++ code, BSD lic) Image man ...
- Computer Vision Resources
Computer Vision Resources Softwares Topic Resources References Feature Extraction SIFT [1] [Demo pro ...
- Computer Vision Tutorials from Conferences (3) -- CVPR
CVPR 2013 (http://www.pamitc.org/cvpr13/tutorials.php) Foundations of Spatial SpectroscopyJames Cogg ...
- paper 156:专家主页汇总-计算机视觉-computer vision
持续更新ing~ all *.files come from the author:http://www.cnblogs.com/findumars/p/5009003.html 1 牛人Homepa ...
- Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Analyzing The Papers Behind Facebook's Computer Vision Approach
Analyzing The Papers Behind Facebook's Computer Vision Approach Introduction You know that company c ...
- Computer Vision Tutorials from Conferences (2) -- ECCV
ECCV 2012 (http://eccv2012.unifi.it/program/tutorials/) Vision Applications on Mobile using OpenCVGa ...
随机推荐
- Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数
1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...
- hdu1162Eddy's picture
http://acm.hdu.edu.cn/showproblem.php?pid=1162 最小生成树 #include<iostream> #include<stdio.h> ...
- hdu1233
http://acm.hdu.edu.cn/showproblem.php?pid=1233 最小生成树,kruskal算法 #include<stdio.h> #include<m ...
- IntelliJ IDEA 15开发Java Maven项目
1.安装好之后开始创建项目
- long和Long的区别
Java中数据类型分两种:1.基本类型:long,int,byte,float,double2.对象类型:Long,Integer,Byte,Float,Double其它一切java提供的,或者你自己 ...
- 简单说说PHP优化那些事
我们在编写程序时,总是想要使自己的程序占用资源最小,运行速度更快,代码量更少.往往我们在追求这些的同时却失去了很多东西.下面我想讲讲我对PHP优化的理解.优化的目的是花最少的代价换来最快的运行速度与最 ...
- Android Dialogs(6)Dialog类使用示例:用系统theme和用自定义的theme
使用dialog时有很多 方法,其中一个就是直接 使用基类Dialog,可用来作一个没有按钮的非模态提示框,它可以直接从系统的主题构造也可从自定义的主题构造. 基本步骤: a,构造 b,调用dialo ...
- Git for windows 中文乱码解决方案
1.git status时显示乱码,如下: \316\304\261\276\316\304\265\265.txt 解决方案: $ git config --global core.quotepat ...
- trackr: An AngularJS app with a Java 8 backend – Part II
该系列文章来自techdev The Frontend 在本系列的第一部分我们已经描述RESTful端建立在Java 8和Spring.这一部分将介绍我们的第一个用 AngularJS建造的客户端应用 ...
- poj 1195 Mobile phones(二维树状数组)
树状数组支持两种操作: Add(x, d)操作: 让a[x]增加d. Query(L,R): 计算 a[L]+a[L+1]……a[R]. 当要频繁的对数组元素进行修改,同时又要频繁的查询数组内任一 ...