IPM 鸟瞰图公式转换与推导 您所在的位置:网站首页 俯视鸟瞰图 IPM 鸟瞰图公式转换与推导

IPM 鸟瞰图公式转换与推导

2023-08-30 08:01| 来源: 网络整理| 查看: 265

0. 前言

逆透视变换(IPM),将相机视角转换成鸟瞰图。其实质是求相机平面与地面的homography矩阵。之前专门有一篇博客来讲《逆透视变换(IPM)多种方式及代码总结》。但是当中还是比较杂乱且没有详细的代码推导的。这篇文章将从三种方式来介绍逆透视变换的三种方法得到homography。这里得到的Homography是可以通过下面的 K f K_f Kf​转化到现实的坐标系中的。下面的式子为转换矩阵:设 ( u ′ , v ′ ) (u′,v′) (u′,v′)表示图像像素坐标系下的点, ( X w , Y w , 0 ) (X_w,Y_w,0) (Xw​,Yw​,0) 表示世界坐标系下地面上的点坐标, ( u , v ) (u,v) (u,v)表示俯视图像素坐标点,IPM 假设地面是平坦的。 P P P 为相机内参及外参, R e s Res Res 为俯视图像素对物理空间尺寸的分辨率,单位为 ( m e t e r / p i x e l ) (meter/pixel) (meter/pixel)

[ u ′ v ′ 1 ] = K c a m 1 Z c a m T w o r l d c a m [ X Y Z 1 ] w o r l d = [ f x 0 u 0 0 f y v 0 0 0 1 ] 1 r 31 X + r 32 Y + t z [ R t 0 1 ] [ X Y 0 1 ] w o r l d = 1 r 31 X + r 32 Y + t z [ m 11 m 12 m 13 m 21 m 22 m 23 r 31 r 32 t z ] [ X Y 1 ] w o r l d = R e s Z c a m P [ u v 1 ] \begin{matrix}\begin{bmatrix}u' \\v' \\1\end{bmatrix} &= K_{cam}\frac{1}{Z_{cam}}T_{world}^{cam}\begin{bmatrix}X \\Y \\Z \\1\end{bmatrix}_{world}\\ &=\begin{bmatrix}f_x &0 &u_0 \\0 &f_y &v_0\\0 &0 &1\end{bmatrix}\frac{1}{r_{31}X+r_{32}Y+t_z}\begin{bmatrix}R &t\\0 &1\end{bmatrix}\begin{bmatrix}X \\Y \\0 \\1\end{bmatrix}_{world}\\&= \frac{1}{r_{31}X+r_{32}Y+t_z}\begin{bmatrix}m_{11} &m_{12} &m_{13}\\m_{21} &m_{22} &m_{23}\\r_{31} &r_{32} &t_{z}\\\end{bmatrix}\begin{bmatrix}X \\Y \\1 \end{bmatrix}_{world} = \frac{Res}{Z_{cam}} P \begin{bmatrix}u \\v \\1 \end{bmatrix} \end{matrix} ​u′v′1​ ​​=Kcam​Zcam​1​Tworldcam​ ​XYZ1​ ​world​= ​fx​00​0fy​0​u0​v0​1​ ​r31​X+r32​Y+tz​1​[R0​t1​] ​XY01​ ​world​=r31​X+r32​Y+tz​1​ ​m11​m21​r31​​m12​m22​r32​​m13​m23​tz​​ ​ ​XY1​ ​world​=Zcam​Res​P ​uv1​ ​​

在这里插入图片描述

1. IPM 方法一 假设鸟瞰图为像素图,先将像素坐标系转换到物理坐标系下(当前为世界坐标系),变换记为 M ( 4 ∗ 3 ) M (4*3) M(4∗3)再转换到相机坐标系,变换为 P = [ R , t ] ( 3 ∗ 4 ) P=[R,t](3*4) P=[R,t](3∗4)再转换到相机像素坐标系,变换为 K ( 3 ∗ 3 ) K(3*3) K(3∗3)

这样转换公式为

上式中 K f K_f Kf​ 指的鸟瞰图的假想内参,注意上式中用了一个小技巧

写成矩阵形式

那么 K f K_f Kf​怎么定义呢? f x f_x fx​的定义指的是1m有多少个像素,我们最终生成的鸟瞰图的分辨率,假设1m应该有 r r r个点,那么 f x = r f_x=r fx​=r,而鸟瞰图的范围为 [ w , h ] [w,h] [w,h](单位为m),这样输出的鸟瞰图的分辨率为 [ W = w r , H = h r ] [W= wr,H=hr] [W=wr,H=hr] ,这样就有了

由于直接用 K K K来生成图像,图像上下是倒的,需要上下flip下,这里推导下上下flip对应的相机内参的变化,下面的 ( x , y , z ) (x,y,z) (x,y,z) 是为了方便,假设的相机坐标系下的点

转换为相机内参为

2. IPM 方法二 …详情请参照古月居


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有