Have a Question?
逆透视变换 | IPM, Inverse Perspective Mapping
1 概念
根据透视原理,地面上的两条平行线会相较于一点,而逆透视变换就是去除透视效应,使得平行线仍然是平行线。
2 公式
通常逆透视变换由如下公式表示:
\frac{1}{\lambda}\left[\begin{array}{c} x^{v} \\ y^{v} \\ 1 \end{array}\right]=\left[\mathbf{R}_{c} \mathbf{t}_{c}\right]_{\operatorname{col}: 1,2,4}^{-1} \pi_{c}^{-1}\left(\left[\begin{array}{l} u \\ v \\ 1 \end{array}\right]\right)\tag{1}
其中:
- \pi_{c}(\cdot) 代表相机的投影和畸变方程,\pi_{c}^{-1}(\cdot) 代表反投影方程。
- \mathbf{R}_{c} 和 \mathbf{t}_{c} 代表相机外参。
- \left[\begin{array}{ll}u & v\end{array}\right] 是图像坐标系中的像素坐标。
- \left[\begin{array}{ll}x^{v} & y^{v}\end{array}\right]) 是车本体中心坐标系,也就是要得到的 IPM 图上的坐标。
- \lambda 是一个标量,通常为相机光心到图像平面的距离。
说明:上面的公式 (1) 中之所以是 \left[\mathbf{R}_{c} \mathbf{t}_{c}\right]_{\operatorname{col}: 1,2,4}^{-1} 主要是利用了平面假设将原本:
\left[\begin{array}{l}x \\y \\1\end{array}\right]=\left[\begin{array}{ccc}f_{x} & 0 & c_{x} \\0 & f_{y} & c_{y} \\0 & 0 & 1\end{array}\right]\left[\begin{array}{llll}r_{11} & r_{12} & r_{13} & t_{1} \\r_{21} & r_{22} & r_{23} & t_{2} \\r_{31} & r_{32} & r_{33} & t_{3}\end{array}\right]\left[\begin{array}{c}X \\Y \\Z \\1\end{array}\right]\tag{2}
假设路面为平面且 Z=0,则有:
s\left[\begin{array}{l}x \\y \\1\end{array}\right]=\left[\begin{array}{ccc}f_{x} & 0 & c_{x} \\0 & f_{y} & c_{y} \\0 & 0 & 1\end{array}\right]\left[\begin{array}{llll}r_{11} & r_{12} & r_{13} & t_{1} \\r_{21} & r_{22} & r_{23} & t_{2} \\r_{31} & r_{32} & r_{33} & t_{3}\end{array}\right]\left[\begin{array}{l}X \\Y \\0 \\1\end{array}\right]\tag{3}
也就可以化简成:
\left[\begin{array}{c}x \\y \\s\end{array}\right]=\left[\begin{array}{lll}H_{11} & H_{12} & H_{13} \\H_{21} & H_{22} & H_{23} \\H_{31} & H_{32} & 1\end{array}\right]\left[\begin{array}{c}X \\Y \\1\end{array}\right]\tag{4}
其中:
- s^{\prime}=X \cdot H_{31}+Y \cdot H_{32}+1
- x=\frac{x^{\prime}}{s^{\prime}}
- y=\frac{y^{\prime}}{s^{\prime}}
参考文献
[1] https://blog.csdn.net/feiyang_luo/article/details/103555036
[2] https://blog.csdn.net/djfjkj52/article/details/104791610
[3] https://blog.csdn.net/qq_39380230/article/details/106268459
[4] RoadMap: A Light-Weight Semantic Map for Visual Localization towards Autonomous Driving