CS231A笔记
文章截图大多来自斯坦福CS231A课程;
1 2d中的变换
1.1 几何变换
1.2 相似变换
1.3 仿射变换
1.4 投影变换
投影变换4个共线点的交叉率:
2 vanishing points and lines (灭点)
2.1 无穷点
对于两条直线的交点:
但是,如果两条平行直线的交点,在齐次坐标系进行计算:
- 在欧氏坐标系下, 这个点是无穷的;
- 两条线段的交点也是无穷的;
2.2 无穷线
2.3 无穷点的投影变换
2.4 无穷线的投影变换
3 3d中的点和面
点
线段
3.1 3d中的无穷点
3.2 vanishing points
无穷点的投影变换不在是无穷的;
给定一个相机参数K,R,T,得到灭点:
定义一个平行线的超集为一个平面,每对平行线的交点都是无穷点,这些无穷点组成的线段就是无穷线,这个平面的无穷线经过投影变换H
后不再是无穷的,被称为vanishing line 或者 horizon line
,可以通过以下计算:
例如:
- 橙色的是水平线,两个铁轨的交点在水平线,那么这两条铁轨就是水平线;
3.3 面
通过3d的平面法线n和对应的水平线,可以得到以下公式:
- 如果相机的参数已知晓,那么可以得到水平线相关的平面的方向;
3.4 无穷面
- 定义:2个或多个无穷线组成的平面
- 在齐次坐标系下用
[0 0 0 1]T
表示
设两对平行线的灭点为v1,v2, 平行线的方向分别为d1,d2,那么这两个方向的夹角为:
可以同时扩展到平面:
3.5 投影变换 总结
- 使用投影变换,可以将无穷点投影为灭点;
- 无穷线投影为水平线;