图宾根大学课程
前言:在课程中,【】代表矩阵,( )代表向量
L2.1(齐次坐标与坐标变换)
先导知识:三维变换,齐次坐标
什么是齐次坐标 什么是齐次坐标? - 知乎
齐次坐标与变换矩阵《动手学机器人学》(3)-齐次坐标与变换矩阵_哔哩哔哩_bilibili
为什么w=0是代表一个方向
- 齐次坐标(用n+1维向量表示n维向量)
齐次坐标,就是在传统坐标后面加入一维变量:C->(C,W)。在三维空间中,它把三维坐标,提升到了四维的射影空间中(X,Y,Z,W),对应的线性只变换就是射影变换。齐次坐标转回三维空间坐标分两种情况,如果W为0,则(X,Y,Z)表示三维空间中的人方向,如果W不为0,则对应的三维点坐标为(X/W,Y/W,Z/W)。齐次坐标表示有两个好处:一个是可以区分向量和点,另一个是齐次坐标下的矩阵可以表示平移变换。
2D点的齐次坐标与非齐次坐标
对于一个二维非齐次的点,可以用一个三维的齐次坐标来表示
对于w对于1的齐次坐标,用x拔来表示。w等于1的齐次坐标的前两维代表了非齐次下的坐标。
那么可知,要从非齐次坐标变回齐次坐标时,只需对该点的每个坐标除以w,将w变成1,再取前两维即可
当w=0时,齐次坐标所代表的点称为理想点,理想点不能转换回非齐次坐标
2D直线的表示方法
2D齐次直线可以用一个齐次坐标表示
,即(a,b,c)T与(x,y,1)相乘后代表一条直线
此外,直线还有另一种表达方式,
,即用单位化方向向量与到原点直线的距离来表示
对于斜率无限大的线(0,0,1),他穿过所有理想点,不能被规范化
当将直线齐次坐标转化为单位的法向量以后,最后一个数就代表到原点的距离
反对称矩阵
向量的向量积表示方法
对于两个向量的叉乘,可以表示为一个斜对称矩阵和一个向量的乘积(记住右边的公式就好)
两线交点和两点交线表达方式
在齐次坐标下,两条直线的交点可以由以下式子给出:
穿过两个点的直线可以这样表示
点的叉乘公式:A × B = (y1 w2 - y2 w1, x2 w1 - x1 w2, x1 y2- x2 y1)
例子:
用反对称矩阵表示
直线x=2,与y=1的交点为(2,1)
对于x=1,x=2因为最后一个元素是0,所以在无穷远处相交
3D点的表示方法
一个三维非齐次的点,可以用一个四维的齐次坐标来表示
射影空间不包括原点(0,0,0,0)
3D平面的表示方法
3D齐次平面可以用一个齐次坐标表示
,即(a,b,c,d)T与(x,y,z,1)相乘后代表一条直线
此外,平面还有另一种表达方式,
,即用单位的法向量与到原点直线的距离来表示
对于斜率无限大的平面( 0,0,0,1 ),他穿过所有理想点,不能被规范化
3D直线的表示方式
变换
此处资料较为分裂,故对于3D,2D之间的转换,只需加减维度即可
仿射变换:CG06-2-平移变换与齐次坐标_哔哩哔哩_bilibili
欧几里得变换和仿射变换:【多视角立体视觉系列】 几何变换的层次——投影变换,仿射变换,度量变换和欧几里德变换 - 知乎
投影变换包括了仿射变换,相似性变换,欧几里德变换
所有仿射变换可用上图的其次矩阵变换来表示
欧几里得变换(此处以3D为例)
平移齐次坐标变换
空间某点由矢量ai+bj+ck 描述。i,j,k 分别为x,y和z轴上的单位矢量。那么此点可用平移齐次变换表示为
也可写成以下形式
,I是单位向量,t包含tx,ty,tz,具有三个自由度(2D的话就是两个自由度)
旋转齐次坐标变换
绕x,y或z 轴旋转角度的位姿变化,对应的齐次旋转矩阵分别为
记忆:对于3x3的旋转矩阵,绕x轴旋转,(1,1)位置为1,第一行,第一列其他元素为零,将2x2的cosθ,sinθ,-sinθ,cosθ,放至在对应位置。z遵循该规律,y的2x2需先右再下。
故欧几里得变换可写成以下形式
,R称为旋转矩阵,是一个正定阵,因为欧几里得变换是上下+左右+旋转的变换,故2D情况下有3个自由度
相似变换(此处以2D为例)
相似变换是等距变换与均匀伸缩变换的合成变换,所谓均匀伸缩变换是指下述变换:
也可写成以下形式
相似变换是在欧几里得变换的基础上对图形进行放缩
s是一个标量,是一个任意的比例因子。
2D相似变换具有四个自由度,分别是两个自由度的2D平移加两个自由度的2D旋转
仿射变换
仿射变换与相似变化不同的是,他的两轴伸缩变化的比例可能不同,即仿射变换等于一个不同比例的伸缩变换+平移变换
伸缩变换也可用该式子表达
A是一个任意的矩阵。A,t,0,1的仿射变换矩阵具有六个自由度,仿射变换前后平行的直线仍然平行
透视变换
透视变换是把一个图像投影到一个新的视平面的过程,该过程包括:把一个二维坐标系转换为三维坐标系,然后把三维坐标系投影到新的二维坐标系。该过程是一个非线性变换过程,因此,一个平行四边形经过透视变换后只得到四边形,但不平行。
透视变换矩阵为
其中,m13,m23,m33是平移量。
透视变换只能保证变换前后直线还是直线。
可将每个数都除以m33,m33变成1,因此,透视变换具有8个自由度。
也可用以下矩阵表示
H波浪是一个3x3的矩阵。
3D齐次直线的透视变换
由于点的透视变换公式如下
因此有如下等式
取最后两项相等,去掉转置,有如下等式
,该式子即为直线透视变换公式
总结
2D变换:
单应性估计的直接线性变换
H矩阵可以描述
到
的对应,即
,那么可推导出
,用矩阵形式可以这样表示
其中hk是H的一行,hk是需要解的未知数
后面的不是很懂
L2.2(点的位置变换)
平行投影和透视投影是两种不同的投影,其中透视模型中所有的光线必须全部经过焦点
正投影/平行投影
平行投影只需保留x,y坐标,将z坐标消去即可
矩阵形式如下
投影后三维点与图像之间的距离无法恢复
坐标系变换
伸缩投影
伸缩投影是将坐标在x轴和y轴上进行比例缩放,矩阵形式如下
s的单位是px,可将3D点转为像素
相机坐标系到图像坐标系
这个公式是用来将一个相机坐标系的点投影成屏幕坐标系的点
由于投影是线性的,因此无法从投影再恢复为原来的三维点
图像是以像素作为单位,故f也用像素作为单位
相机坐标系到像素坐标系
主点
为了保证像素坐标是正的,我们将坐标系的原点移动到角落,等同于给中心点加上一个正坐标,此时中心点的坐标被称为主点(一般在像素坐标系中)
完整的透视矩阵如下,该矩阵可描述相机坐标系到像素坐标系
红色部分被记为矩阵K,只与相机的内参有关,称为内参矩阵(本征矩阵)
s是非正交像素之间的距离,由于传感器与光轴不垂直,因此像素点之间会存在倾斜,但一般情况下s=0
fx,fy是透镜在x轴和y轴上的焦距,可以不一样
该变换是4x1的齐次坐标与[K 0]相乘,乘完以后得到的是一个包含x,y和齐次项的3x1的坐标
对于不对K增广的矩阵
直接相乘也可得到结果
从世界坐标系到三维坐标系
既然可以从世界坐标系到相机坐标系,再从相机坐标系到图像坐标系,那么便有从世界坐标系到图像坐标系的方法。
世界坐标系到相机坐标系用矩阵[R|t]描述,相机坐标系到图像坐标系用矩阵K描述
对于四维的齐次坐标,可用矩阵P描述,公式如下
Xw的w为world,世界坐标,Xs为screen,屏幕坐标
有时,用4x4的矩阵p波浪来实现变换更好,公式如下
4D的齐次点乘完4x4的矩阵后,得到一个4x1的向量,因此,需要将该向量除以zs
化完以后,得到的第四个坐标是逆深度,如果逆深度已知,也可通过以下公式求解
畸变
左侧的矩阵描述径向畸变,右侧矩阵描述切向畸变
该式子是可逆的,因此可以用来从失真点预测原来的点
L2.3渲染方程与成像
下面讨论光的形成过程
光由一个或多个光源发出,并在场景中的物体或表面经过一次或多次的反射和折射
光的渲染方程
下面给出了光的渲染方程
BRDF是双向反射函数,描述光在不透明的表面上的入射光和反射光的关系
典型的BRDF由漫反射和镜面反射组成
在考虑渲染方程时,还要考虑光的多次反射
全局照明
光在物体表面经过多次反射的过程被称为全局照明
镜头的作用
当使用针孔照相时,会得到一张清晰的照片。如果把针孔变大,那么就会得到由多束光线取平均值得到的图片,会变得模糊。若针孔变小,由于快门抖动和噪声等因素,也会使照片变模糊。
事实上,透镜也具有汇聚作用,因此可以把透镜的模型看作是一个针孔
成像公式
当平面失焦时,光线会聚集在circle of confusion上形成一个disk,此时如果disk大于像素的大小 ,那么就不清晰。如果disk小于像素的大小,就会清晰
在这张图上有公式:
,加上
,可有公式
如果zc趋于无穷远的话,zs等于f
景深(depth of field/DOF)
当物体发出一系列的光经过照相机的镜头时,会发出一系列的光,这些光会落在焦点上。在焦点上放至一个光屏。当物体远离原位置,远离光屏时,发出的光在焦点处汇聚后又发散,形成一个circle of confusion,同理往靠近光屏方向走,光线在光屏上时未到达焦点,也是弥散的。当更靠近或更远离时,光线会越来越发散。有一对对称的临界点分布在靠近光屏和远离光屏处,在两个临界点之间的图像清晰程度都是可以被接受的,两个临界点之间的距离叫做景深(DOF)
色差
- 玻璃的折射率随波长稍有变化
- 因此,简单的镜头受到色差的影响,色差是不同颜色的光在略微不同的距离上聚焦的趋势(模糊,色移)。
- 为了减少色差和其他种类的像差,大多数摄影镜头都是由不同的玻璃元素(涂上不同的涂层)制成的复合镜头。
2.4(忽略)
3.1(忽略)
3.2(对极几何)
对极几何:5.1 对极几何-基础矩阵-本质矩阵_哔哩哔哩_bilibili
基本定义
现有两个相机,对于两个相机同时观测到的一个点。有以下定义
- 两个光心的连线称为基线
- 基线与成相平面的交点为极点
- 极平面与相平面的交线为极线
平行视图
- 两个图像平面平行
- 基线平行于图像平面,极点e和e'位于无穷远处
- 极线平行于图像坐标系的u轴
匹配对应点
对于在左屏幕上的点,也会在右相机上的极线上。因此已知左相机上一点,寻找对应点时只需在右相机的极线上取匹配。
本质矩阵
本质矩阵对规范化摄像机拍摄的两个视点图像间的极几何关系进行代数描述
本质矩阵的求法:
,R是两相机之间的旋转矩阵,t是两相机之间的平移矩阵
性质:,
分别是两个像素平面上的点,
,
是
,
在另一平面上的极线,那么有
=
=
- Ee=0 ,
E=0
基础矩阵
基础矩阵描述非规范化相机两平面上的点的关系
性质:
- p对应的极线是l'
- p'对应的极线是l
-
单应矩阵
因为基础矩阵刻画了两幅图像的极几何关系,即相同场景在不同视图中的对应关系。如果在此基础上增加一个假设:即对应的三维空间点都来自同一个平面,这样的话,一般的透视摄像机拍摄的两个视点的图像间的极几何关系就用单应矩阵H来描述。 单应矩阵建立点和点的对应关系,而基础矩阵建立点和极线的对应关系
单应矩阵H下的像素点p和p’具有一一对应关系(下图的平面方程是指Ax+By+Cz=d):