CS231A:Pinhole camera model and lenses

针孔摄像机

模型

CS231A:Pinhole camera model and lenses_第1张图片
针 孔 摄 像 机 模 型 针孔摄像机模型
孔洞 O O O和图像plane之间的距离就是焦距 f f f
i , j , k i,j,k i,j,k是相机的参考系,也叫相机的坐标系。
k k k是垂直成像平面的, O O O C ′ C' C之间的线叫光轴。
z z z O O O到世界坐标系中物体处的距离。
所以,根据三角形相似,可以得出:

在这里插入图片描述

缺点

但这个公式的前提是假设 O O O是一个无穷小的点,如果孔洞打了就会有更多的光线到同一个点上,这样图像就变得模糊了,因为有更多的光所以也变量了,虽然人们可以一直往无穷小的孔洞探索,但是人们更希望能有一个又亮又清晰的图像,这时,透镜的出现解决了这个问题。


透镜

CS231A:Pinhole camera model and lenses_第2张图片
简 单 的 模 型 图 简单的模型图
CS231A:Pinhole camera model and lenses_第3张图片
带 有 符 号 的 图 带有符号的图
P P P离图像平面的距离会影响图像的清晰程度,这个是跟焦点相关的,所有平行于光轴的光线都会通过焦点

这个还和“景深”有关,现在的智能机的拍摄功能一般都有景深效果,我之前理解的是背景模糊功能,真正的概念是相机拍摄清晰照片的有效范围,所以智能机就是把范围控制到了人像的位置,所以后面的超出有效范围的背景就变得模糊了。

这里的焦距是焦点位置到lens的中心点的位置之间的距离,和针孔摄像机不一样,真实点和投射点之间的关系为:
在这里插入图片描述

这个公式看起来和之前的针孔很像,但是字符的概念是不同的:
在针孔摄像机中, z ′ = f z'=f z=f;在透镜模型中, z ′ = f + z 0 z' = f + z_0 z=f+z0
不同之处就在于对于焦距的定义不同

CS231A:Pinhole camera model and lenses_第4张图片
两 种 畸 变 : 枕 形 和 桶 形 两种畸变:枕形和桶形
上面的推导使用了“薄透镜”假设,所以被叫做 parxial refraction model
同时,也因为这种假设,所以会产生 radial distortion (径向畸变) 现象,因此图像的放大倍数也会因为离光轴的距离的变化而变化,枕形是越远放大倍数越大,桶形是越远放大倍数越小。

之所以”薄透镜“假设会导致这种情况,是因为透镜的不同部位有不同的焦距,而这种假设将所有部位的焦距都看成相同的了。


转化到数字图像

由于以下几个原因,3D空间投影出来的图像和实际的数字图像并不能对应起来:

  1. 投影出来的图像是连续的,但实际的数字图像是离散的

  2. 数字图像和世界的参考系不同

    就是说数字图像能对应多个参考系,是因为这个吗?

  3. 物理传感器可以将失真等非线性引入到映射中

    这个还不知道是个啥?

因此,还要引入一些其他的参数才能做映射:

  1. 图像的原点在光轴和图像的相交处,一般是图像的中心,而数字图像的原点在左下角,如果换成pyhton数组的话是从右上角开始吧,这也得加个变换参数处理,如下公式:在这里插入图片描述
  2. 数字图像中的点用像素表示,而平面上使用物理单位的(cm、m),所以引入两个新参数 k 、 l k、l kl,对应两个轴的度量转换: p i x e l s c m \frac{pixels}{cm} cmpixels。这个 k 、 l k、l kl跟不同轴的比例相关,如果 x 、 y x、y xy的缩放相同,则 k = l k=l k=l,就是说摄像机的像素是正方形的。引入这两个参数后公式为:

在这里插入图片描述
引入齐次坐标后:

CS231A:Pinhole camera model and lenses_第5张图片


一些约束

从世界坐标到像素坐标的变换,用一个 M M M来表示
M = K [ R   T ] = [ K R   K T ] = [ A b ] M = K[R\ T]=[KR\ KT]=[A b] M=K[R T]=[KR KT]=[Ab]
A = [ a 1 , a 2 , a 3 ] T A = [a_1,a_2,a_3]^T A=[a1,a2,a3]T
然而,对于不同的情况,有着不同的限制:

  1. 普通的透视映射,要求 D e t ( A ) ≠ 0 Det(A) \ne 0 Det(A)=0
  2. zero-skew的情况,不仅要求 D e t ( A ) ≠ 0 Det(A) \ne 0 Det(A)=0,并且 ( a 1 × a 3 ) ∗ ( a 2 × a 3 ) = 0 (a_1 \times a_3)*(a_2 \times a_3) = 0 (a1×a3)(a2×a3)=0
  3. zero-skew 加 unit aspect-ratio 就是 D e t ( A ) ≠ 0 Det(A) \ne 0 Det(A)=0和:
    在这里插入图片描述

CS231A:Pinhole camera model and lenses_第6张图片
T h i n L e n s e ( 薄 镜 头 ) Thin Lense(薄镜头) ThinLense()


三种坐标系

CS231A:Pinhole camera model and lenses_第7张图片
咱们常说的有三种坐标系:世界坐标系,图像坐标系,像素坐标系,这三个都在上图,就是说法不一样。
世界坐标系: 这个就是摄像机拍摄的物体所在的坐标系
图像坐标系:是归一化的焦平面,为了方便计算,会在焦距为1的地方设置虚拟平面,这就是图像坐标系,如下图
CS231A:Pinhole camera model and lenses_第8张图片
像素坐标系:就是像平面,通过对图像坐标系(归一化的焦平面)做内参运算得到


物理光学知识

CS231A:Pinhole camera model and lenses_第9张图片
平时我们讲的那些光,都是忽略了衍射、干扰还有其他的物理光学现象,除开这些光学现象,透镜的性质有以下的光学性质决定:

  1. 光在均匀介质中直线传播

  2. 光照射到一个平面上会发生反射,入射光、反射光、平面法线是共面的,法线和两条ray之间的角是互补的

    就是 α 1 + 90 \alpha_1 + 90 α1+90 r 1 ′ r_1' r1到右边的水平线的角度 是互补的

  3. 光穿过不同的介质会发生折射,如 r 1 r_1 r1 r 2 r_2 r2,这两个ray和法线共面, α 1 \alpha_1 α1 α 2 \alpha_2 α2的性质有物体的性质决定:
    n 1 s i n α 1 = n 2 s i n α 2 n_1 sin\alpha_1 = n_2 sin\alpha_2 n1sinα1=n2sinα2

设使用的透镜半径为 R R R,折射率是 n n n

前后都是,一个透镜是由两个弧组成的,假设两个弧的属性完全相同,是这样吗?可能是弧的大小不同,在介质中传播的时间也不同吧

一般来讲都假设光线到了右边界直接折射出左边界

这样很方便理解和计算吧

CS231A:Pinhole camera model and lenses_第10张图片
1 z − 1 Z = 1 f \frac{1}{z} - \frac{1}{Z} = \frac{1}{f} z1Z1=f1
f = R 2 ( n − 1 ) f = \frac{R}{2(n-1) } f=2(n1)R

你可能感兴趣的:(CS231A)