BEV基础

参考:
BEV-LaneDet
仿射变换与投影变换
逆透视变换详解 及 代码实现(一)
线性变换加平移变换等于仿射变换,仿射变换属于透视变换的子集。
透视投影等价于中心投影,透视变换等价于中心投影变换。

计算机视觉中,平面的单应性被定义为从一个平面到另一个平面的投影映射。在没有相机标定参数的情况下,可以利用物理平面和像平面中的四个对应点计算单应性矩阵,从而实现从透视图变换到鸟瞰图的效果。
BEV基础_第1张图片
https://blog.csdn.net/Bit_Coders/article/details/120315701

将前置车载摄像头拍摄的图像,利用透视变换转换成鸟瞰图的视角:选取前置摄像头拍摄的透视图中的一块区域的四个点,获取图像中这四个点对应在俯瞰视角中的坐标点,计算转换矩阵,然后进行重映射,就能将前视图重映射到鸟瞰图。

第一:在ego坐标系z==0的平面选取四个不同线,例如(-10,5,0),(10,5,0),(-10,50,0),(10,50,0)。
第二:把这四个点分别投影到当前相机和虚拟相机的图像中(这个过程分别需要当前相机的内外参和虚拟相机的内外参)得到4对点。
第三:利用这4对点分别,通过最小二乘法求解homography矩阵,opencv已经帮我们封装好了库函数。cv2.getPerspectiveTransform,可直接调用。
第四: 把求得的homogrphy作用到原图上,得到虚拟相机下的图像(也就是训练/测试输入的图像),可以调用opencv的库函数cv2.warpPerspective直接获取。

你可能感兴趣的:(ADAS,BEV)