IPM逆透视变换问题(2):Image --> Ground
1. 如果前置条件如下:
- 坐标系坐标系定义为:世界(右-前-上),相机(右-下-前),像素(右-下);
- 旋转角度表示为:绕zzz轴为yawyawyaw偏航角,绕yyy轴为rollrollroll滚转角,绕xxx轴负方向为pitchpitchpitch俯仰角,正负按照右手定则;
- 实际上在表达yaw,pitch,rollyaw,pitch,rollyaw,pitch,roll姿态角时默认在(前-左-上)坐标系上进行,因此在表达这些角度时也可以增加一个(前-左-上)坐标系,从乘一次旋转矩阵。
2. 则点从像素坐标系到世界坐标系逆透视变换如下:
世界坐标系(右-前-上)沿着自身ZZZ轴平移hhh,得到TwtT_{wt}Twt:
Twt=[10000100001h0001](1) \begin{aligned} T_{wt} &= \begin{bmatrix}1&0&0&0\\ 0&1&0&0\\ 0&0&1&h\\ 0&0&0&1\end{bmatrix} \qquad &(1) \\ \end{aligned} Twt=⎣⎢⎢⎡10000100001000h1⎦⎥⎥⎤(1)
相机的姿态角度(滚转,俯仰,偏航)(roll,pitch,yaw)(roll,pitch,yaw)(roll,pitch,yaw)对应在世界坐标系(右前上)是(α=−pitch,β=roll,γ=yaw)(\alpha = -pitch, \beta = roll, \gamma = yaw)(α=−pitch,β=roll,γ=yaw),计算消失点时滚转角无影响即roll=0roll=0roll=0,则绕着固定坐标系X,Y,ZX,Y,ZX,Y,Z三个坐标轴旋转后得到的变换矩阵TwrT_{wr}Twr:
Twr=Twz⋅Twy⋅Twx=[cos(γ)−sin(γ)00sin(γ)cos(γ)0000100001][cos(β)0sin(β)00100−sin(β)0cos(β)00001][10000cos(α)−sin(α)00sin(α)cos(α)00001]=[cos(γ)−sin(γ)00sin(γ)cos(γ)0000100001][1000010000100001][10000cos(α)−sin(α)00sin(α)cos(α)00001]=[cos(γ)−sin(γ)cos(α)sin(γ)sin(α)0sin(γ)cos(γ)cos(α)−cos(γ)sin(α)00sin(α)cos(α)00001](2) \begin{aligned} T_{wr} &= T_{wz} \cdot T_{wy} \cdot T_{wx} \\ &= \begin{bmatrix}cos\left(\gamma \right)&-sin\left(\gamma \right)&0&0\\ sin\left(\gamma \right)&cos\left(\gamma \right)&0&0\\ 0&0&1&0\\ 0&0&0&1\end{bmatrix} \begin{bmatrix}cos\left(\beta \right)&0&\sin \left(\beta \right)&0\\ 0&1&0&0\\ -\sin \left(\beta \right)&0&cos\left(\beta \right)&0\\ 0&0&0&1\end{bmatrix} \begin{bmatrix}1&0&0&0\\ 0&\cos \left(α\right)&-\sin \left(α\right)&0\\ 0&\sin \left(α\right)&\cos \left(α\right)&0\\ 0&0&0&1\end{bmatrix}\\ &= \begin{bmatrix}cos\left(\gamma \right)&-sin\left(\gamma \right)&0&0\\ sin\left(\gamma \right)&cos\left(\gamma \right)&0&0\\ 0&0&1&0\\ 0&0&0&1\end{bmatrix} \begin{bmatrix}1&0&0&0\\ 0&1&0&0\\ 0&0&1&0\\ 0&0&0&1\end{bmatrix} \begin{bmatrix}1&0&0&0\\ 0&\cos \left(α\right)&-\sin \left(α\right)&0\\ 0&\sin \left(α\right)&\cos \left(α\right)&0\\ 0&0&0&1\end{bmatrix}\\ &= \begin{bmatrix}\cos \left(γ\right)&-\sin \left(γ\right)\cos \left(α\right)&\sin \left(γ\right)\sin \left(α\right)&0\\ \sin \left(γ\right)&\cos \left(γ\right)\cos \left(α\right)&-\cos \left(γ\right)\sin \left(α\right)&0\\ 0&\sin \left(α\right)&\cos \left(α\right)&0\\ 0&0&0&1\end{bmatrix} \qquad &(2) \\ \end{aligned} Twr=Twz⋅Twy⋅Twx=⎣⎢⎢⎡cos(γ)sin(γ)00−sin(γ)cos(γ)0000100001⎦⎥⎥⎤⎣⎢⎢⎡cos(β)0−sin(β)00100sin(β)0cos(β)00001⎦⎥⎥⎤⎣⎢⎢⎡10000cos(α)sin(α)00−sin(α)cos(α)00001⎦⎥⎥⎤=⎣⎢⎢⎡cos(γ)sin(γ)00−sin(γ)cos(γ)0000100001⎦⎥⎥⎤⎣⎢⎢⎡1000010000100001⎦⎥⎥⎤⎣⎢⎢⎡10000cos(α)sin(α)00−sin(α)cos(α)00001⎦⎥⎥⎤=⎣⎢⎢⎡cos(γ)sin(γ)00−sin(γ)cos(α)cos(γ)cos(α)sin(α)0sin(γ)sin(α)−cos(γ)sin(α)cos(α)00001⎦⎥⎥⎤(2)
世界坐标系(右前上)到相机自身的(右前上)坐标系到相机的变换TwoT_{wo}Two
Two=Twt⋅Twr=[10000100001h0001][cos(γ)−sin(γ)cos(α)sin(γ)sin(α)0sin(γ)cos(γ)cos(α)−cos(γ)sin(α)00sin(α)cos(α)00001]=[cos(γ)−sin(γ)cos(α)sin(γ)sin(α)0sin(γ)cos(γ)cos(α)−cos(γ)sin(α)00sin(α)cos(α)h0001](3) \begin{aligned} T_{wo} &=T_{wt} \cdot T_{wr}\\ &= \begin{bmatrix}1&0&0&0\\ 0&1&0&0\\ 0&0&1&h\\ 0&0&0&1\end{bmatrix} \begin{bmatrix}\cos \left(γ\right)&-\sin \left(γ\right)\cos \left(α\right)&\sin \left(γ\right)\sin \left(α\right)&0\\ \sin \left(γ\right)&\cos \left(γ\right)\cos \left(α\right)&-\cos \left(γ\right)\sin \left(α\right)&0\\ 0&\sin \left(α\right)&\cos \left(α\right)&0\\ 0&0&0&1\end{bmatrix}\\ &= \begin{bmatrix}\cos \left(γ\right)&-\sin \left(γ\right)\cos \left(α\right)&\sin \left(γ\right)\sin \left(α\right)&0\\ \sin \left(γ\right)&\cos \left(γ\right)\cos \left(α\right)&-\cos \left(γ\right)\sin \left(α\right)&0\\ 0&\sin \left(α\right)&\cos \left(α\right)&h\\ 0&0&0&1\end{bmatrix} \qquad &(3) \end{aligned} Two=Twt⋅Twr=⎣⎢⎢⎡10000100001000h1⎦⎥⎥⎤⎣⎢⎢⎡cos(γ)sin(γ)00−sin(γ)cos(α)cos(γ)cos(α)sin(α)0sin(γ)sin(α)−cos(γ)sin(α)cos(α)00001⎦⎥⎥⎤=⎣⎢⎢⎡cos(γ)sin(γ)00−sin(γ)cos(α)cos(γ)cos(α)sin(α)0sin(γ)sin(α)−cos(γ)sin(α)cos(α)000h1⎦⎥⎥⎤(3)
相机自身的(右前上)坐标系到相机坐标系的变换TcoT_{co}Tco
Toc=[1000010000100001][1000010000100001][100000100−1100001]=[100000100−1100001](4) \begin{aligned} T_{oc} &= \begin{bmatrix}1&0&0&0\\ 0&1&0&0\\ 0&0&1&0\\ 0&0&0&1\end{bmatrix} \begin{bmatrix}1&0&0&0\\ 0&1&0&0\\ 0&0&1&0\\ 0&0&0&1\end{bmatrix} \begin{bmatrix}1&0&0&0\\ 0&0&1&0\\ 0&-1&1&0\\ 0&0&0&1\end{bmatrix}\\ &= \begin{bmatrix}1&0&0&0\\ 0&0&1&0\\ 0&-1&1&0\\ 0&0&0&1\end{bmatrix} \qquad &(4) \end{aligned} Toc=⎣⎢⎢⎡1000010000100001⎦⎥⎥⎤⎣⎢⎢⎡1000010000100001⎦⎥⎥⎤⎣⎢⎢⎡100000−10011000

本文详细讲解了IPM逆透视变换中,如何从像素坐标通过一系列旋转和变换步骤,最终得到从世界坐标到地面点的转换矩阵。重点介绍了姿态角的处理、消失点的计算以及关键矩阵的推导,适合深入理解相机坐标系和图像投影原理。
:Image --> Ground&spm=1001.2101.3001.5002&articleId=125319866&d=1&t=3&u=2dd32e5632544b8ea2a7a1cfcdd8a117)
2705

被折叠的 条评论
为什么被折叠?



