0. 前言

逆透视变换(IPM),将相机视角转换成鸟瞰图。其实质是求相机平面与地面的homography矩阵。之前专门有一篇​​博客​​来讲《逆透视变换(IPM)多种方式及代码总结》。但是当中还是比较杂乱且没有详细的代码推导的。这篇文章将从三种方式来介绍逆透视变换的三种方法得到homography。这里得到的Homography是可以通过下面的IPM 鸟瞰图公式转换与推导_透视变换转化到现实的坐标系中的。下面的式子为转换矩阵:设 IPM 鸟瞰图公式转换与推导_世界坐标系_02表示图像像素坐标系下的点,IPM 鸟瞰图公式转换与推导_世界坐标系_03 表示世界坐标系下地面上的点坐标,IPM 鸟瞰图公式转换与推导_透视变换_04表示俯视图像素坐标点,IPM 假设地面是平坦的。IPM 鸟瞰图公式转换与推导_人工智能_05 为相机内参及外参,IPM 鸟瞰图公式转换与推导_表示图_06 为俯视图像素对物理空间尺寸的分辨率,单位为IPM 鸟瞰图公式转换与推导_表示图_07

IPM 鸟瞰图公式转换与推导_表示图_08

IPM 鸟瞰图公式转换与推导_表示图_09

1. IPM 方法一

  1. 假设鸟瞰图为像素图,先将像素坐标系转换到物理坐标系下(当前为世界坐标系),变换记为IPM 鸟瞰图公式转换与推导_世界坐标系_10
  2. 再转换到相机坐标系,变换为IPM 鸟瞰图公式转换与推导_世界坐标系_11
  3. 再转换到相机像素坐标系,变换为 IPM 鸟瞰图公式转换与推导_世界坐标系_12

这样转换公式为

IPM 鸟瞰图公式转换与推导_表示图_13

上式中IPM 鸟瞰图公式转换与推导_透视变换

IPM 鸟瞰图公式转换与推导_表示图_15

写成矩阵形式

IPM 鸟瞰图公式转换与推导_表示图_16

那么IPM 鸟瞰图公式转换与推导_透视变换怎么定义呢?IPM 鸟瞰图公式转换与推导_表示图_18的定义指的是1m有多少个像素,我们最终生成的鸟瞰图的分辨率,假设1m应该有IPM 鸟瞰图公式转换与推导_人工智能_19个点,那么 IPM 鸟瞰图公式转换与推导_计算机视觉_20,而鸟瞰图的范围为IPM 鸟瞰图公式转换与推导_透视变换_21(单位为m),这样输出的鸟瞰图的分辨率为IPM 鸟瞰图公式转换与推导_表示图_22 ,这样就有了

IPM 鸟瞰图公式转换与推导_透视变换_23

由于直接用IPM 鸟瞰图公式转换与推导_透视变换_24来生成图像,图像上下是倒的,需要上下flip下,这里推导下上下flip对应的相机内参的变化,下面的IPM 鸟瞰图公式转换与推导_世界坐标系_25

IPM 鸟瞰图公式转换与推导_人工智能_26

转换为相机内参为

IPM 鸟瞰图公式转换与推导_世界坐标系_27

2. IPM 方法二