![机器视觉与机器学习:算法原理、框架应用与代码实现](https://wfqqreader-1252317822.image.myqcloud.com/cover/767/33643767/b_33643767.jpg)
3.1 射影几何与几何变换
射影几何是研究图形的射影性质,即经过射影变换后依然保持不变的图形性质的几何学分支学科。机器视觉中常涉及欧式几何(Euclidean Geometry)、仿射几何(Affine Geometry)、射影几何(Projective Geometry)和微分几何(Differential Geometry)。
常用的空间几何变换有刚体变换、空间相似变换(含平移、旋转、相似变换)、仿射变换、投影变换(也叫透视变换)与非线性变换等。其中仿射变换为射影变换的特例,在射影几何中已证明,如果射影变换使无穷点仍变换为无穷远点,则变换为仿射变换。经仿射变换后,线段间保持其平行性,但不保持垂直性。平面仿射变换的实质是平面与平面之间的平行投影。平面透视变换的实质是平面与平面之间的中心投影。
射影变换保持直线、直线与点的接合性及直线上点列的交比不变。仿射变换除具有以上不变性外,还能保持直线与直线的平行性、直线上点列的简比不变。欧式变换除具有仿射的不变性外,还能保持两条相交直线的夹角和任意两点的距离不变。
3.1.1 空间几何变换
1. 二维变换
1)平移变换:二维平移可以写成x′=x+t或者
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/87_01.jpg?sign=1738922140-KPo2ZAWgV7COMoWKWCquOVxykbolkMo1-0-df9d9412c66b6a519a789093e3266cc5)
或者
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/87_02.jpg?sign=1738922140-9uj3n8YsB3p8r2VcXeAGcf54bCk3qX2x-0-a066026aa1f0e5f1a5b5ed6b2a8121d3)
式中,I是2×2的单位矩阵,x为二维向量,t为二维平移向量,0是零向量。
2)旋转+平移:该变换也称为二维刚体运动或二维欧式变换,θ为旋转角,t为平移向量,则变换关系可以写成
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/87_03.jpg?sign=1738922140-wSUkZUJoE2EGAsz0K4dgF45WnMEhbl4Z-0-5e3d9b72bf2aeaff6f02bdd803b761ef)
式中
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_01.jpg?sign=1738922140-ZMmTg9l44yJfOmxDeY1bWacdbwcNZICu-0-a79b0b0074290b820fb129ef3474f5d8)
R是一个正交旋转矩阵,有
RTR=1,‖R‖=1
3)缩放平移:也叫相似变换,该变换可以表示为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_02.jpg?sign=1738922140-6RD7QaDdf8Esqys8RD8tkQG48rwMHXTt-0-0abec94539d351ce74a7621fa6609598)
或者
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_03.jpg?sign=1738922140-doTugXsu2LsSd1oYlkb65mVHKpn6PmEC-0-7bb00a09eb00c8b8b7f74d78911021ba)
相似变换能保持直线间的夹角不变。
4)仿射变换:仿射变换可以表示为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_04.jpg?sign=1738922140-SMYUzlzgPuEKuriY6GqykynnjvonVIoL-0-aa1242b650466d325c446893115dd7bd)
式中,A是2×3矩阵,即
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_05.jpg?sign=1738922140-4jSNFvjDuFUpWhyReQcmHgGTrM4nkUDu-0-571947fa198e6a1c1b32650b92f5878c)
仿射变换后平行线将保持平行性。
5)投影变换:也叫透视变换或同态变换,作用在齐次坐标上,变换公式为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_06.jpg?sign=1738922140-vizA01193xAhh8csuoYURg7AFWlTSzlo-0-3ca2d1b914addb5786ef09bbad66a23c)
式中,是一个任意的3×3矩阵,
是齐次的,即它只在相差一个尺度量的情况下是已定义的,而仅尺度量不同的两个
是等同的。要想获得非齐次结果
,得到的齐次坐标
必须经过规范化,即
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_12.jpg?sign=1738922140-BHA9GknmPZ6Ie415jjd54dNQ57uKnD0q-0-3ee4b6438c00e9aefe7337cb1a936fad)
和
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_13.jpg?sign=1738922140-Qs7jhWBCEW4C90oBVGM5424qZagNaNeo-0-06bb6fdae1585a1ca4a71631552dee41)
式中,(x,y)为变换前坐标,(x′,y′)为变换后的坐标。
由于变换是齐次的,同一个投影变换矩阵可以相差一个非零常数因子,因此投影变换仅有8个自由度,直线在投影变换后仍然是直线。图3-1为图像二维变换的效果。
2. 三维变换
1)平移:三维平移可以写为x′=x+t3D或者
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_14.jpg?sign=1738922140-U4qQAxE752cF49IkgrdjkCNJJxIGuK5n-0-caa7afd91b13b2109dac76235d7cd3e8)
式中,I3D是3×3的单位矩阵,t3D为三维向量。
2)旋转+平移:该变换也称为三维刚体运动,即三维欧式变换,可以写成
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_15.jpg?sign=1738922140-mbbF2d4NMCvMWYOuhNSrrjkNzo6JcGbY-0-355388320e4e91f3c25cc91c8e4d5183)
式中,R3D是一个3×3的正交矩阵,有和‖R3D‖=1。
3)缩放旋转:该变换可以表示为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/89_02.jpg?sign=1738922140-qvI6wcAQsZksi4wIr5iXl9HMwCbx8cPO-0-417035e64763604ed5c080abd5e83f03)
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/89_01.jpg?sign=1738922140-LiTJnMg3EDvbrULU2FzPM8PZ0xOhhNEK-0-bd3c09c582df5b4e1a69849ecbf9d5d6)
图3-1 图像二维变换
a)原图像 b)仿射变换后的图像 c)投影变换后图像
它能够保持直线和平面间的夹角。
4)仿射变换:仿射变换可以表示为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/89_03.jpg?sign=1738922140-UGHOEmND6xAuAXtQianDcOmMsfP2lhYq-0-36baacbda4ab03918ff35f2049321597)
式中A3D是3×4矩阵,即
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/89_04.jpg?sign=1738922140-pkA5dE2IhjiBU1JNIg1wBaFsxutzufUv-0-190eabdd7597ce9938e0596c3f3da116)
仿射变换后原来的平行线和平行面会保持平行性。
5)投影变换:也叫三维透视变换或同态映射,作用在齐次坐标上,表示为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/89_05.jpg?sign=1738922140-kbL7cPh11WwSCWOVnSssC24pXh53kfM9-0-2732f8b61a2d1510b8bd72d6d41dd12b)
式中,是一个任意的4×4齐次矩阵。与二维投影变换相同,要想获得非齐次结果
,得到的齐次坐标
就必须经过规范化。由于变换是齐次的,射影变换可以相差一个非零常数因子,因此三维投影变换有15个自由度。直线在投影变换后仍然是直线。
3.1.2 三维到二维投影
在计算机视觉与计算机图形学中,最常用的是三维透视投影,如图3-2所示。投影变换将三维空间坐标中的点映射到二维平面中,即空间中点的三维信息投影后变成图像亮度信息,丢失了图像的三维信息,投影后就不可能恢复该点到图像的距离了,因此二维传感器没有办法测量到表面点的距离。
图3-2中点P(x,y,z)与成像平面上的对应点p(xp,yp,zp)在深度方向的大小分别为d和z。根据相似三角形,在图3-2中有
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/89_09.jpg?sign=1738922140-NOmgmS0H28iRCx4OLQ9lwOdnztw5r5u1-0-ef8caed79976796ed00f9235464258d8)
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/90_01.jpg?sign=1738922140-DzFoGJpTReKZO7Iblfi6oJYMohY0UWcU-0-c4ec2a815564e8eb94611214f01fe3eb)
图3-2 透视投影示意图
a)整个三维空间 b)yz平面
以及
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/90_02.jpg?sign=1738922140-CWF90SoPIrXziWQRNUu6qXAnYRBSjiqf-0-71e9f13bff1dbd6a56d5df7226de8f50)
进一步可以得到三维空间中点P(x,y,z)与成像平面上对应点p(xp,yp,zp)对应关系为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/90_03.jpg?sign=1738922140-4G8BXsgHu6tE2woMoVNHCeqep6tbG0jE-0-dddb463a8a6bc6df71d65fae185fa1d9)
当d为相机焦距时,有
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/90_04.jpg?sign=1738922140-QrdWRodZDcmkfBzA0l6GvKWVh0p5hHuw-0-979577e9141bd55571f9c34165803d59)
因而有
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/90_05.jpg?sign=1738922140-EgqahVP5lk9mbwqAEJOONCPOrNVlITdX-0-0d31a51f025c371396a4f7d4f2c0c59e)
式中,为投影矩阵。
以上分析基于理想条件,即光学中心在像平面坐标原点,相机没有旋转和平移。如果光学中心位于像平面中心(u0,v0)的位置且传感器轴间倾斜s,则M矩阵被修正为如下形式:
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/91_01.jpg?sign=1738922140-zahP2ZAB5m22YoxzZ6ifXzP8TdUCR267-0-e4bcd17eafd304f28775d21d63e2219d)
式中,α和β为归一化焦距。
如果相机与世界坐标系有旋转和平移,则
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/91_02.jpg?sign=1738922140-8PkVK9ZNY54VIc5emGottkdeQq4Ozp7p-0-dfd6071dc46e1c7e3dbde2e669b69bd8)
式中,为旋转和平移组合而成的矩阵。