IPM 鸟瞰图公式转换与推导

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} uv1 =KcamZcam1Tworldcam XYZ1 world= fx000fy0u0v01 r31X+r32Y+tz1[R0t1] XY01 world=r31X+r32Y+tz1 m11m21r31m12m22r32m13m23tz XY1 world=ZcamResP uv1

在这里插入图片描述

1. IPM 方法一

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

这样转换公式为

上式中 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 方法二

…详情请参照古月居

  • 2
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敢敢のwings

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值