本文记录《机器视觉》 第二章图像成像原理相关内容,主要介绍图像是如何产生的。
从三维“世界”到二维图像平面的映射过程,我们将揭示出关于成像的两个核心问题:
在我们开始分析一张图像之前,我们必须知道它是如何形成的。图像是一个二维的亮度模式。这个亮度模式是如何在一个光学成像系 统中生成的?这个问题有两部分值得好好研究:
假设:在图像平面前的固定距离上,有一个理想的小孔,并且,小孔的周围都是不透光的,因此,只有经过小孔的光才能够到达像平面。光是沿着直线传播的,因此,图像上的每一个点都对应于一个方向,即:从这个点出发、穿过小孔的一条射线。这就是我们所熟知的透视投影模型。
将光轴定义为:从小孔到像平面的垂线。现在,我们可以引进一个笛卡尔直角坐标系,这个坐标系的原点O为小孔;z 轴选为:和光轴平行并且指向像平面的方向。在这种约定下,位于相机前面的点,其 z 坐标为负值。尽管这种选择有一些缺陷,我们仍然使用这个约定,因为,这个约定使得我们可以方便地建立右手坐标系(即:x 轴指向右方:y 轴指向上方)。
我们想要计算:相机前方物体表面上的某一点P在像平面上所出现的位置P。假设:在从P到O的射线上没有其他物体。令r=(x,y,z)^T表示:由O指向P的向量:令 r’=(x’,y’,f’) ^ T 表示:由O指向P’的向量。
的长度为:
\widehat{\boldsymbol{z}} 表示: 沿着光轴方向的单位向量。
r^{\prime} 的长度为:
因此,可以得到:
也可以写成:
假设我们已经生成了一张平面物体的像。这个平面物体平行于像平面,并且,与像平面之间的距离为z=z_0。那么,我们可以将**放大率 ** m定义为:像平面上两点之间的距离与对应的物体平面上两点之间的距离的比值。对于物体平面上的一个小的有向线段 (δx,δy,0)^ T , 如果在像平面上与该线段对应的小的有向线段为(δx’,δy’,0) ^T ,那么,我们可以得到:
其中,-z_0 是物体平面和小孔之间的距离。对于物体平面上所有的点,放大率m是不变的(注意:除了显微镜成像以外,m<1)
将场景的深度范围定义为:场景中的可见物体表面所形成的曲面(简称:曲面)到相机的距离范围。当场景的深度范围相对于曲面到相机的平均距离来说很小时,我们可以近似认为:放大率m为常数。在这种情况下,投影方程可以被简化为:
该模型被称为正射投影。在正射投影模型中,光线沿着平行于光轴的方向(而不是沿着“穿过小孔”的方向)传播,从而进行成像。如果相对于相机与场景之间的距离来说,场景中各个点到相机的距离变化很小,那么,透视投影和正射投影的差别也很小。
对于成像,一个更为困难、但同时也更为有趣的问题是:图像中某一点的亮度由什么决定?亮度是一个非正式术语,它至少可以被用 来表述下面两个不同的概念:图像亮度和场景亮度。对于图像,亮度和射入像平面的能流有关®,我们可以用许多不同的方法来度量亮 度。这里,我们引入术语辐照强度,来替代图像亮度这个非正式术语。
图像中某一点的辐照强度取决于:从该像点所对应的物体表面上的点所射过来的能流。从表面上看,辐射强度的定义形式很复杂:因为,从某一微小表面发出的光,会射向各个不同的方向,所有的射出方向将会形成一个半球,沿着这个半球中的不同方向,光线的强度可能不同。因此,只有指定这个半球中的某个的立体角,谈论辐射强度才是有意义的。通常情况下,随着观测方向的不同,辐射强度会发生变化。
我们之所以对物体表面的辐射强度感兴趣是因为:我们对图像辐照强度的测量结果与场景辐射强度成正比。比例系数取决于成像系统的参数。要在像平面上得到一定强度的光照,相机的光圈必须有一定的尺寸。因此,我们前面介绍的小孔的直径就不能为零。于是,我们前面关于投影的简单分析(即:小孔成像模型)将不再适用,因为,当小孔的直径不为零时,场景中的一个点所成的像将会是一个小圆斑,而不再是一个点。注意:从物体表面的某一点“出发”、穿过一个圆形小孔的所有光线,将形成一个以该(物体表面的)点为项点的圆锥,这个圆锥和像面相交,会形成一个圆斑。我们不能将小孔做得太小的另外一个原因是由于光的波动性在小孔的边缘上,光将发生衍射,因此,这些光将在像平面上“散播”。当小孔变得越来越小时,入射光的“散播”范围将变得越来越大,因此,入射光中越来越多的能量将会“散播”到:偏离入射光方向的“地方”。
为了解决小孔相机的上述问题,我们现在考虑:在成像系统中使用透镜。一个理想的透镜具有如下两个性质:
透镜越大,从物体处看过去,对应的立体角也越大,相应的,透镜所截取的从物体表面反射(或发出)的光也会越多。通过透镜中心的光线不会发生偏转,在一个准确聚焦的成像系统中,射向其他方向的光线将会发生偏转,并且,这些光线最终会被汇聚,从而和通过透镜中心的光线相交于同一点。
通过我们所熟悉的透镜公式:
我们可以计算出−z。其中,z′是:像平面和透镜之间的距离,f表示焦距。如果场景中的点和透镜的垂直距离不等于−z,那么,它们在像平面上所成的像是一个小圆斑;因为从物体表面某一点“出发”的光线,在经过透镜的汇聚后,会形成一个以“聚焦点”为顶点的圆锥,这个圆锥和像面相交,会形成一个圆斑。我们可以采用如下方式来计算这个模糊圆斑的尺寸。一个距离透镜−z¯的点所发出的光线,会被聚焦于:距离透镜处
的位置,其中,
因此有:
如果像平面的位置正好使得:距离透镜一之处的点被准确聚焦,那么,距离透镜-乏处的点在像平面上所产生的光斑的直径b为:
其中,d为透镜的直径。成像域的深度是指:物体能够被聚焦得“足够好”的距离范围,“足够好”是指:模糊光斑的直径小于成像仪器的分辨率。成像域的深度依赖于我们所使用的传感器,但是,不管我们使用什么样的传感器,都有这样的规律:透镜的直径越大,成像域的深度就越小。同时,我们可以看出:使用大的光圈会增大聚焦误差。