最全面的homogeneous单应性坐标的定义,以及不同投影,仿射,相似,刚体变换矩阵的关系和自由度分析
本文對圖像的投影變換,做了最基礎和全面的總結。包括了攝影幾何,homogeneous單應性坐標與變換矩陣分析。
- 1. Homogeneous Coordinate的定義
- 2. 使用Homogeneous Coordinate的優點
- 3. 相機投影的特點
- 4. H.C.H.C.H.C.在射影幾何作用
- 5. Homogeneous Transformation的自由度分析
- 6. 變換層次分析
學習的一些類容來源于: Photogrammetry - Homogeneous Coordinates.
本文主要分析了homogeneous坐標的定義,應用點。以及不同homogeneous變換的矩陣和自由度。包括了剛體變換,相似變換,仿射變換和射影變換(投影變換)。
1. Homogeneous Coordinate的定義
需要提前了解與掌握homogeneous coordinate的相關信息。homogeneous coordinate具有尺度不變性,主要是為了方便在描述同一直線上的時候,可以用一個尺度λ\lambdaλ 來表示一系列的點。
-
What is homogeneous coordinate?
Given a coordinate of a point XXX, if :λx=X,λ≠0.\lambda x =X, \quad \lambda \neq0. λx=X,λ?=0.
Then, we call this point is in the homogeneous coordinate.
簡明的說,就是在歐式坐標下,多加一個尺度因子,使用一個代表的點,就能夠表明在這一條直線上的所有點。
Euclidean:xE=[x,y]THomogeneous:xH=[x,y,1]TEuclidean : \quad x_{E}=[x, y]^T \\ Homogeneous: \quad x_H = [x,y,1]^T Euclidean:xE?=[x,y]THomogeneous:xH?=[x,y,1]T -
Why should we use homogeneous coordinates?
A Euclidean coordinate can only represent one point, where as a homogeneous coordinate can represent one line.
比如,在歐式坐標E.C.E.C.E.C.的一點PEP_EPE?, PE=(1,2)P_E = (1,2)PE?=(1,2),那么,PEP_EPE?在單應坐標H.C.H.C.H.C.中,表示為PE=(1,2,1)P_E = (1,2,1)PE?=(1,2,1)。由于homogeneous coordinate的性質,以下的等式成立:
λ[121]=[121](1)\lambda \left[ \begin{matrix} 1 \\ 2 \\ 1 \end{matrix} \right] \tag{1}=\left[\begin{matrix} 1\\ 2\\ 1 \end{matrix}\right] λ???121????=???121????(1)因此,[1,2,1][1,2,1][1,2,1]在homogeneous coord空間中,也表示[3,6,3][3,6,3][3,6,3].歐式空間中的一點[1,2][1,2][1,2]可以在H.C.H.C.H.C.空間中表示無數個點,即,一條線。
2. 使用Homogeneous Coordinate的優點
- Infinity has better representation in H.C.H.C.H.C. than E.C..E.C..E.C..
?In 2D world, infinity representation in E.C.E.C.E.C. is PinfinityE=[∞,∞]T.P_{infinity_{E}} = [\infty, \infty ]^T.PinfinityE??=[∞,∞]T. In H.C.H.C.H.C. is PinfinityH=[1,2,0]T.P_{infinity_{H}} = [1, 2 ,0 ]^T.PinfinityH??=[1,2,0]T.
?In the H.C.H.C.H.C. representation, if we normalize the coordinate using the last dimension, we get PinfinityH=[∞,∞,0]T.P_{infinity_{H}}=[\infty, \infty, 0]^T.PinfinityH??=[∞,∞,0]T. The first two dimensions match with the representation in E.C.E.C.E.C.
?Comparing with PinfinityEP_{infinity_{E}}PinfinityE??, clearly, PinfinityHP_{infinity_{H}}PinfinityH?? has a significant advantage that the PinfinityHP_{infinity_{H}}PinfinityH?? use its first two dimensions to indicate the direction of the infinity. Where as PinfinityEP_{infinity_{E}}PinfinityE?? only tell where the infinity is, but never shows the direction.
3. 相機投影的特點
camera projection, 投影變換(projective transformation)是最基礎的變換,在homogeneous矩陣中,除了最后一個元素(2D情況下,為第9個元素;3D情況下,為第16個元素)不變,為尺度因子λ\lambdaλ, 矩陣中的其他的所有元素,都是參數可變的。因此,投影變換矩陣的自由度(DOF)最多,為8(2D homogeneous矩陣)或者15(3D homogeneous矩陣)。投影變換,只具有保線性。其他的保角性,平行性,都不再保證。關于這一系列性質的證明,見我提供的證明文件:保角性的證明:https://download.csdn.net/download/qq_32998593/12335191
| 1. line preserving(保線性) |
|---|
| 2. Not angle preserving (非保角性) |
| 3. Not parallel preserving (非保平行性,平行線會交于某個點) |
| 4. No depth, scale information (無深度,尺度信息) |
4. H.C.H.C.H.C.在射影幾何作用
Using H.C.H.C.H.C. in projective geometry can make the math more easier.
相機投影是將3D世界中的點投影到2D的相機圖像平面,在投影過程中,深度信息被丟失。因此,我們無法知道相機圖像平面上目標的大小,但由于在單應性H.C.H.C.H.C.坐標中,具有尺度不變性,這使得我們能夠利用H.C.H.C.H.C.來表示我們的圖像的投影。
要想恢復深度,尺度信息,需要額外的3D信息,比如:
- 多張圖像,不同角度,位置拍攝的;
- 相機的參數;
- 已知的拍攝物體的大小。
5. Homogeneous Transformation的自由度分析
下面對3D坐標下的變換,進行簡單的分析。并分別羅列出不同變換的自由度。
- 剛體變換(Rigid Body Transformation)
最簡單的是剛體變換(rigid body transformation)。 包括了平移(translation),旋轉(rotation)。因此,旋轉包括X,Y,ZX, Y, ZX,Y,Z 3軸的變換,以及三個方向的平移。因此,自由度,也就是參數的個數為6個。
T=λ[R3×3t3×101×31](2)T \tag{2}=\lambda\left[\begin{matrix} R_{3\times 3} &t_{3\times 1}\\ 0_{1\times 3} & 1\\ \end{matrix}\right] T=λ[R3×3?01×3??t3×1?1?](2) - 相似性變換(Similarity Transformation)
在剛體變換的基礎上,加上了尺度因子mmm。在3×33\times 33×3的旋轉矩陣上,乘上尺度因子。因此,自由度DOF為7。矩陣中右7個未知參數。
S=λ[mR3×3t3×101×31](3)S \tag{3}=\lambda\left[\begin{matrix} mR_{3\times 3} &t_{3\times 1}\\ 0_{1\times 3} & 1\\ \end{matrix}\right] S=λ[mR3×3?01×3??t3×1?1?](3) - 仿射變換(Affine Transformation)
仿射變換具有平行性,即,變換前為平行的線段在仿射變換后,也為平行的。但角度也許會發生變化。在剛體變換的基礎上,引入了3個尺度變換因子,3個剪切元素。因此,3×33\times33×3的旋轉矩陣不在保持正交性質。因此自由度DOF為9+3=12。
A=λ[N3×3t3×101×31](4)A\tag{4}=\lambda\left[\begin{matrix} N_{3\times3} &t_{3\times 1}\\ 0_{1\times 3} & 1\\ \end{matrix}\right] A=λ[N3×3?01×3??t3×1?1?](4) - 射影(投影)變換(Projective Transformation)
平行線通過射影變換之后,不再保持平行。除了尺度歸一化因子λ\lambdaλ之外,其他所有的元素均為變量。因此,投影變換的自由度DOF為15。
P=λ[N3×3t3×1a1×31](5)P\tag{5}=\lambda\left[\begin{matrix} N_{3\times3} &t_{3\times 1}\\ a_{1\times 3} & 1\\ \end{matrix}\right] P=λ[N3×3?a1×3??t3×1?1?](5)
其中,aTa^TaT對應于將平行線變為不平行。
6. 變換層次分析
下面是對不同變換之間的關系,進行分析。包括了幾種不同的變換,以及他們之間的自由度DOF。包括2D和3D下的不同變換矩陣的自由度。其中,參數的個數也表示自由度。
如果有用,記得點贊👍加收藏哦。!!!!
總結
以上是生活随笔為你收集整理的最全面的homogeneous单应性坐标的定义,以及不同投影,仿射,相似,刚体变换矩阵的关系和自由度分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天涯社区,苹果手机客户端,为什么不能返回
- 下一篇: 武汉有人一起看电影吗