![机器视觉与机器学习:算法原理、框架应用与代码实现](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=1738753301-LeWZy0ykuLRstp4L5Rvv9N9mcqxlM2s0-0-8aac040c99983bc8fe005e66b78c1404)
或者
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/87_02.jpg?sign=1738753301-NIuhPPaeEdqMjQUjXFnwBlC50Y8enbcP-0-0751fd95867baff258f8f99f0d426fc6)
式中,I是2×2的单位矩阵,x为二维向量,t为二维平移向量,0是零向量。
2)旋转+平移:该变换也称为二维刚体运动或二维欧式变换,θ为旋转角,t为平移向量,则变换关系可以写成
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/87_03.jpg?sign=1738753301-ISkuRecWgPLRQiiaUcl94DCtupYQPpWm-0-9be0e8a7aa6aeabe9f981d2d10e8437d)
式中
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_01.jpg?sign=1738753301-tugsCjIOYhNRxXfnDpZmNBWOUIKQlmnl-0-51240690b74c87c6789c0e1be4eb6702)
R是一个正交旋转矩阵,有
RTR=1,‖R‖=1
3)缩放平移:也叫相似变换,该变换可以表示为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_02.jpg?sign=1738753301-P6I2yJasn4CorsSr0r0AHuVGKeO4FEYZ-0-551958b889ae35fa889fa8f7e274f3e2)
或者
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_03.jpg?sign=1738753301-8tEq6u5durPiN3t7fdsDMDFfjNUdbuzF-0-511025ed458beaae16147fdbd4a1809f)
相似变换能保持直线间的夹角不变。
4)仿射变换:仿射变换可以表示为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_04.jpg?sign=1738753301-GOkrASc763UNAjl76LmjwSk1uQ3L7gMd-0-56af2bfb1197bd036f50081d4a4fdad1)
式中,A是2×3矩阵,即
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_05.jpg?sign=1738753301-ZTIXblG16mFBiiJIqX2qqynqXY8IpDKI-0-5bd033945b67ded556758d58bff31c26)
仿射变换后平行线将保持平行性。
5)投影变换:也叫透视变换或同态变换,作用在齐次坐标上,变换公式为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_06.jpg?sign=1738753301-Mi8QZI1OT2LszUcbLFpTAvUCQOoGgdFR-0-8f8a9f315aae1dfd32c34f3d84894c7e)
式中,是一个任意的3×3矩阵,
是齐次的,即它只在相差一个尺度量的情况下是已定义的,而仅尺度量不同的两个
是等同的。要想获得非齐次结果
,得到的齐次坐标
必须经过规范化,即
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_12.jpg?sign=1738753301-tdNSmWfJfqwWp1rXZBDHbvQgKWgaTQhv-0-a1b1855b3b985974b974cacc8721246b)
和
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_13.jpg?sign=1738753301-8HH29CnUJ9Ipwyx2BuGwaGEZoFVLHkCI-0-e069c022ace3f28e2786349634a36214)
式中,(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=1738753301-s67YgRax7khr6x5745A4hX3tnQrfrjnG-0-0504954d1bbc0ff547e3a993d6ce0f2b)
式中,I3D是3×3的单位矩阵,t3D为三维向量。
2)旋转+平移:该变换也称为三维刚体运动,即三维欧式变换,可以写成
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/88_15.jpg?sign=1738753301-rsffeZ6IEEfunUPUjJoFqtMWW06vy3IC-0-1bd7a099938b2a523063e6c840cf67a1)
式中,R3D是一个3×3的正交矩阵,有和‖R3D‖=1。
3)缩放旋转:该变换可以表示为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/89_02.jpg?sign=1738753301-VvTZJcUjQyeTSqa0ghKkqrsvVCxnetx3-0-a293aaf7af1084fa07c03aa0aee81714)
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/89_01.jpg?sign=1738753301-oqOtTOpHm9MroJIUywxt4N2QJJoen7zM-0-5d7dfa4f67ba9b88efb102a891520df1)
图3-1 图像二维变换
a)原图像 b)仿射变换后的图像 c)投影变换后图像
它能够保持直线和平面间的夹角。
4)仿射变换:仿射变换可以表示为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/89_03.jpg?sign=1738753301-5qowDk7qsZ6FpLPLVSNO4gRCvprgjDTQ-0-4597a63ad9c16462e67a0139266ec89c)
式中A3D是3×4矩阵,即
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/89_04.jpg?sign=1738753301-t0qC5zwpv4Tks9hmlRiPqphVqHbpsKhh-0-52d8faf78aa7b87d72487759674d91fa)
仿射变换后原来的平行线和平行面会保持平行性。
5)投影变换:也叫三维透视变换或同态映射,作用在齐次坐标上,表示为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/89_05.jpg?sign=1738753301-fBA0OSuOqqluKZQzoxgcDOH0VN4a0oGA-0-5f0555189f605ffe70eec8feb9c79671)
式中,是一个任意的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=1738753301-23TT8wTgGEn6UGArGXTzbHPjEwv69fsX-0-57493553d20710eb7d0b450b3511ea3b)
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/90_01.jpg?sign=1738753301-G04y7IrwlcNl2Hx1FaNZBfbNWnhD81f7-0-376a77a94cce349954b1f4500c89bb64)
图3-2 透视投影示意图
a)整个三维空间 b)yz平面
以及
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/90_02.jpg?sign=1738753301-VSQjF9KUbp90pgwDGbFdQHrGRY6W6IJg-0-f6b108f60f924900120d6d598de769d3)
进一步可以得到三维空间中点P(x,y,z)与成像平面上对应点p(xp,yp,zp)对应关系为
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/90_03.jpg?sign=1738753301-M7sOEpPsydYEVqw5OEQ5miCcJ0iIsUbc-0-539bd5695e50c5548365ee1d14ea85b1)
当d为相机焦距时,有
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/90_04.jpg?sign=1738753301-xfDb2e1nTammzsBOejMxAvhgCkX2ZIvE-0-74cf9a150ded763bd617c3926af537da)
因而有
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/90_05.jpg?sign=1738753301-11BPT0DabFwSQTlRyDJD26WF5sL8aMCx-0-aebcd642eef85b1ec69f9583015bdfa2)
式中,为投影矩阵。
以上分析基于理想条件,即光学中心在像平面坐标原点,相机没有旋转和平移。如果光学中心位于像平面中心(u0,v0)的位置且传感器轴间倾斜s,则M矩阵被修正为如下形式:
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/91_01.jpg?sign=1738753301-nZsGHIi9hEyrzV1XtyMuLLU5u7jiSTYj-0-eee150ac57d2b689b8f52f0acce550ad)
式中,α和β为归一化焦距。
如果相机与世界坐标系有旋转和平移,则
![](https://epubservercos.yuewen.com/A7B88D/17977546601609206/epubprivate/OEBPS/Images/91_02.jpg?sign=1738753301-b289p6NU6wzgZoLY6LxWFyW24P8c0EHp-0-b27a56e4e4f53bf4547fc175d7c9c14b)
式中,为旋转和平移组合而成的矩阵。