三維視覺與幾何

三角測量

三角測量(triangulation)回答多視角幾何中最基本的問題:已知某個三維點被兩台或更多台位置與朝向皆已知的相機拍下,那這個點在空間中究竟位於何處?直覺像測量員的:每台相機在已知像素看到該點,就定義出一條射線——從相機中心穿過那個像素射向世界的直線。三維點必定落在每一條這樣的射線上,所以它就在射線交會之處。兩條射線一般會交於一點;那個交點就是你重建出的座標。

問題在於,面對真實、帶雜訊的像素量測,射線幾乎從不精確相交——它們彼此擦身而過卻錯開,像從不同角度射向標靶的兩支箭。於是三角測量變成一個最佳化:找出在某種精確意義下最接近所有射線的那個三維點。最簡單的閉式求解器是直接線性轉換(DLT),它把各視角的投影方程式堆疊成一個線性系統,並以奇異值分解求解。它很快、是不錯的初始值,但它最小化的是一個不對應任何物理意義的代數誤差。

統計上正確的目標是最小化重投影誤差:擺放這個三維點,使得把它經由每台相機投影回去時,預測的像素盡可能接近實際觀測到的像素,並對所有視角求和。對兩視角,Hartley 與 Sturm 的最佳三角測量法透過一個多項式精確求解;對多視角,則以非線性最小平方(高斯—牛頓或 Levenberg-Marquardt)求解,通常以 DLT 估計值作為起始。這種逐點精煉與「同時放大到所有點與所有相機」後成為光束法平差的原理是同一個。

三角測量內建一個可靠度訊號:射線之間的夾角,稱為三角測量角或視差角。當相機相對於點的距離分得夠開,射線以大角度交會,交點便被良好決定。當相機靠得很近或點非常遠時,射線幾乎平行,以淺角相交,深度便變得極不確定——微小的像素誤差會讓估計點偏移數公尺。好的重建系統會丟棄三角測量角太小的點。

兩台相隔 1 公尺的相機都拍到 50 公尺外的路燈——射線僅以約 1° 的角度交會,因此半像素的匹配誤差就會讓三角化的點偏移數公尺。同樣這兩台相機拍 0.5 公尺外的馬克杯時則以大角度交會,能把它的位置釘到毫米等級。

又称
triangulation-3d3D point triangulation三角化