点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心技术交流群

后台回复【ECCV2022】获取ECCV2022所有自动驾驶方向论文!

论文链接:https://arxiv.org/pdf/2205.13281.pdf

论文名称:Surround-view Fisheye Camera Perception for Automated Driving: Overview, Survey & Challenges

论文的一些侧重点

环视鱼眼摄像机通常用于自动驾驶中的近距离感知,车辆四面的四个鱼眼摄像头足以覆盖车辆周围的360°范围,捕捉整个近距离区域。一些应用场景包括自动泊车、交通拥堵辅助等。

由于汽车感知的主要关注点是远距离感知,因此近距离数据集有限,相关感知任务的研究很少。与远距离感知相比,10厘米的高精度目标检测要求和目标的局部可见性,给环视感知带来了额外的挑战。而且由于鱼眼像机的大径向畸变,标准算法无法轻松扩展到环绕视图用例。

本论文致力于为研究人员和工程算法人员提供汽车鱼眼相机感知的一些参考,包括鱼眼相机模型,以及各种感知任务,最后,讨论了常见的一些挑战和未来研究方向。

领域应用背景

环视系统使用四个传感器形成具有重叠区域的网络,足以覆盖车辆周围的近距离区域。下图显示了典型环视系统的四个视图,以及典型停车用例的表示:

超过180度的广角相机用于近距离感知,任何感知算法都必须考虑此类摄像机系统固有的显著鱼眼失真。这是一个重大挑战,因为计算机视觉领域的大多数工作都集中在具有轻微径向畸变的窄视场摄像机上。本文主要概述全景摄像头(例如,图像形成、配置和标定),调查现有技术,并深入了解该领域当前面临的挑战。

鱼眼相机有几个比较大的挑战:

  1. 表现出强烈的径向失真,视野减小和周围特征失真;

  2. 目标形变更大,特别是对于近处对象;

  3. 使用bounding box进行目标检测的算法变得更加复杂,因为box很难为鱼眼扭曲目标提供最佳拟合,如下图所示(虽然[14]中探讨了更复杂的表示方法,不依赖矩形框,例如利用鱼眼相机已知径向畸变的曲线边界框):

对于没有明显畸变的相机,一般通过针孔模型进行建模,然而鱼眼相机由于缺乏统一的几何结构而变得复杂,许多模型使用不同的特性来建模鱼眼相机(论文将会展开详细介绍)。

鱼眼相机模型

本节将介绍几种比较流行的鱼眼相机模型,尽可能cover住领域常用方案,对于开发人员来说,可以指导特定型号的模型选择。

1.针孔相机模型

针孔相机模型是计算机视觉和机器人技术领域中使用的标准投影函数,此时研究仅限于考虑标准视场摄像机,针孔模型建模为:

2.经典几何模型

本节中讨论的模型称为经典模型,它们已经被研究了至少六十年[4]。还包括equisolid-angle模型,可以参考[27]、[28],这里不做过多阐述。

等距投影

在等距鱼眼模型中,投影半径Q_e(θ)通过等距参数f的简单缩放与视场角θ相关:

反投影函数:

Stereographic Projection

与等距模型一样,在Stereographic 投影中,X到投影球的投影中心是C(下图5b)。考虑图像平面具有沿Z轴(光轴)的切点,在Stereographic 中,存在到像平面的第二个中心投影,切点的对极点形成投影中心,这基本上是焦距为2F的针孔投影。

反投影函数:

正交投影

与前面的投影模型类似,正交投影从投影到球体开始(下图5c),然后是到平面的正交投影。因此,正交投影由下式描述:

反投影函数:

扩展正交模型

如上图5d所示,扩展正交模型[29]扩展了经典正交模型,将投影平面从与投影球体相切的位置释放出来,允许偏移λ。在图像从鱼眼图像转换为平面图像的情况下,这个扩展用于控制失真图像和未失真图像之间的尺寸比。畸变投影保持与正交投影式子相同,然而,畸变和未畸变径向距离及其逆之间的关系由下式给出:

这是对[29]中给出的表示的略微简化,并假设f和(λ+f)为正。

扩展等距模型

扩展正交模型只是从投影到图像地map的转换,许多模型可以与扩展正交模型相同的方式转换为图像上的mapping,这里只给出一个等距模型的例子:

3.Algebraic models

简要讨论了鱼眼相机的代数模型,特别是多项式模型和Division模型。关于多项式模型的讨论,论文提供了完整性介绍,尽管在本文的其它部分大多集中于几何模型。

多项式模型

非鱼眼相机的经典Brown-Conrady失真模型[31]、[32]使用一个奇数多项式来描述图像上的径向失真,其中Pn表示一些任意的N阶多项式。为了考虑鱼眼失真,[18]中提出了一种称为多项式鱼眼变换(PFET)的图像多项式模型。PFET和Brown-Conrady模型之间的差异在于,PFET允许奇数和偶数指数来解释鱼眼相机中遇到的附加失真。

MATLAB计算机视觉工具箱[36]和NVidias DriveWorks SDK[37]包括了[38]中提供的基于多项式的鱼眼模型的实现。在这种情况下,多项式用于对投影和非投影进行建模,无需使用数值方法反转投影(这是基于多项式的模型的主要计算问题)。

Division模型

径向畸变的Division模型[17]获得了一定的普及,因为它具有良好的特性,至少对于单参数变量,直线投影到图像中的圆[39]–[41],对于许多透镜,单参数变量表现非常好[42],模型及其逆解由下式给出:

[30]对此进行了扩展,增加了一个额外的缩放参数,提高了某些类型鱼眼镜头的建模性能。虽然Division模型最初是作为图像映射表示的,但它可以表示为投影函数:

4.球形模型(Spherical models)

基于点到单位球体的投影(或其仿射推广),还考虑了一组较新的(过去几十年)鱼眼模型。

视场模型

视场模型[19]及其逆定义如下:

参数ω近似于摄像机视场,但并不精确[19]。这是一个像division模型一样的图像模型,投影函数可以定义为:

反投影函数:

Unified Camera Mod

UCM最初用于模拟折反射相机[21],后来被证明在模拟鱼眼相机[43]、[44]时非常有用。它已被证明在一系列透镜中表现良好[42],首先,将点X投影到单位球体,然后投影到建模针孔相机(下图6a):

反投影:

Enhanced Unified Camera Mod

在UCM的基础上,主要将球面投影推广到椭球体(或者,实际上,一般的二次曲面),并能够证明某些精度增益,给出了E-UCM的模型:

有效点和角度的集合:

双球模型

UCM又被双球体(DS)模型[23]扩展,该模型添加了第二个单位球体投影,以实现更复杂的建模:

反投影:

投影和非投影的有效范围为:

5.一些结论

鱼眼相机有大量潜在的应用模型,本文提到了20个模型,尽管没有概括所有,然而已经证明,许多几何模型之间存在着很强的关系。至少有七个模型与一般透视投影相关或直接等效。此外,最近开发的一些鱼眼模型在数学上等同于经典的鱼眼投影函数。

全景相机系统

1.可视化与系统排列

在SVC系统中使用鱼眼摄像机的主要动机是覆盖整个360◦ 车辆周围的近场区域。这是通过四个鱼眼摄像头实现的,其水平视场(hFOV)约为190◦ 垂直视场(vFOV)约为150◦。鱼眼相机具有非常大的角体积覆盖范围,但其角分辨率相对较小,无法在远距离感知较小的物体。因此,它主要用作近处感知传感器,相比之下,典型的远距离前置摄像头的hFOV为120◦ vFOV为60◦,角体积明显较小,但具有更高的角分辨率使其能够感知远处的物体。鱼眼摄像机的大型hFOV可实现360◦ 仅使用四个鱼眼摄像头进行覆盖,大的垂直视场能够捕捉车辆附近的区域。

一般来说四个摄像头放置在汽车的四个侧面,用蓝色圆圈标记其位置。前摄像头位于汽车的前格栅上,后摄像头通常位于行李箱门把手上。左侧和右侧摄像头位于机翼后视镜下方。它们一起覆盖了整个360度◦ 车辆周围的区域。

2.标定

鱼眼相机的每一个模型都有一组参数(称为内部参数,必须通过标定完成)。此外还有摄像机的外部参数,即摄像机系统在车辆坐标系中的位置和方向[57]、[58]。一般的标定过程为,首先检测图像特征(标定板中的corner),然后是通过最小化点的重投影误差估计内部和外部参数。

离线环境下的标定可以通过OpenCV、OCamCalibOCamCalib[38],[60]、[61],Kalibr[62]–[65],[66]基于棋盘格特征和摄像机间对应关系的提取,提出了车辆上多个鱼眼摄像机的校准过程(内参和外参)。

在车辆的整个使用寿命期间,由于机械部件的磨损,摄像机相对于车辆的姿态可能会漂移。摄像机系统需要使用一类算法自动更新其校准。为了校正在线环境中摄像机姿态的变化,可以最小化相邻摄像机地面投影之间的光度误差[68]。Choi等人的方法利用相邻摄像机捕捉和检测到的相应车道标记来优化初始校准[69]。[70]Ouyang等人提出了一种通过估计车辆里程计优化外部方向的策略,这些算法主要用于校正几何失调,但需要通过离线校准获得的初始位置。Friel等人[71]描述了一种使用单参数鱼眼模型(如等距模型)从汽车视频序列中自动提取鱼眼本质的方法。

3.投影几何

在针孔相机中,平面上的任何一组平行线都会聚在一个消失点上。在针孔相机中,平面上的任何一组平行线都会聚在一个消失点上。这些参数可用于估计内外部参数。对于针孔相机模型,几何问题通常可以使用线性代数来表示。在这种情况下,可以使用霍夫变换检测平行线[72]。所有消失点的集合是该平面的水平线。在真实世界的摄像机系统中,针孔摄像机是摄像机的数学模型,具有光学畸变等形式的误差。这通常适用于畸变较小的窄视场摄像机。对于宽视场摄像机,失真太大,无法作为实际解决方案,并且如果摄像机的FOV大于180◦, 则原始图像中的点与校正图像平面不存在一对一关系。对于鱼眼相机,更好的模型是球面投影面[73]、[74]。在鱼眼图像中,Hughes等人在[30]中描述了如何将这些平行线近似并拟合为用于鱼眼相机确定消失点或水平线的圆或圆锥。这些平行线对应于球面的大圆。相应地,鱼眼相机成像的直线近似为圆锥[75],而鱼眼相机拍摄的平行线收敛于两个消失点(如下图所示)。

4.球面极几何

立体视觉的几何关系由极线几何描述,可用于后续的深度估计和SFM任务。在针孔相机模型中,穿过两个相机光学中心的线与图像平面的交点定义了称为对极的特殊点,这条线称为基线。通过基线的每个平面在两个图像平面中定义匹配的对极线,一台相机中的一个点位于另一台上的对极线上,反之亦然。这将双视图摄像机设置中对应点的搜索(立体匹配)减少到1D问题。对于全景相机,如fisheye使用球形投影表面代替平面,更直观的方法是讨论对极平面而不是对极线,如下图所示,两台相机对单个3D点的理想观察将位于同一对极平面上,就像针孔情况下它们位于对极线上一样。

5.校正

鱼眼的常用校正方法如下图所示,(a)显示了标准直线校正,从缺失的水平白线可以观察到近处信息的损失,左边缘和右边缘的区域也丢失,虽然有很大的损失,但这允许使用标准的camera算法。(b)显示了一个立方体近似,其中鱼眼透镜流形表面由一个开放立方体近似,可以解释为鱼眼投影面的分段线性近似。每个平面都是直线校正,因此可以在每个块中使用标准算法。

然而,立方体两个表面上的变形具有较大的变形,因此很难检测到在两个区域上分裂的目标,除此之外,还可以注意到由于在外围重新采样伪影而导致的强烈透视失真和模糊。实际上,常见的矫正过程是使用圆柱面,如图(c)所示,它可以解释为准线性近似,因为它在垂直方向上是线性的,并且曲面在水平方向上具有二次曲率。主要优点是,垂直物体保持垂直,如建筑物上的垂直线所示[77]。因此,扫描线被保留用于在两个连续鱼眼图像(运动立体)之间或鱼眼和窄视场相机(不对称立体)之间水平搜索立体算法。主要缺点是其固有的无法捕获靠近车辆的近场区域。

鱼眼相机感知任务

1.语义任务

语义分割

主要为图像中的每个像素(如行人、道路或路缘)指定类别标签的过程,如上图(第2列)所示。与前置摄像头上采用的基于语义分割的经典计算机视觉方法相比,基于CNN的方法最近非常成功[78]。尽管在城市交通场景中,自动驾驶汽车需要更大的视野才能感知周围的情况,尤其是在十字路口。邓等人[79]提出了重叠金字塔池模块(OPPNet),通过使用多个焦距生成各种鱼眼图像及其各自的注释。OPP网络在鱼眼图像上的现有城市交通场景语义分割数据集上进行训练和评估。此外,为了提高模型的泛化性能[79],提出了一种新的缩放增强技术,以增强专门为鱼眼图像设计的数据。

大量实验表明,缩放增强技术和OPP网络在城市交通场景中表现良好。Saez等人[80]引入了一种实时语义分割技术,该技术是有效残差分解网络(ERFNet)[81]对鱼眼道路序列的一种改编,并基于cityscape[82]为鱼眼摄像机生成了一个新的语义分割数据集。邓等人[83]使用环视摄像机处理360°道路场景分割,因为它们被广泛应用于生产车辆中。为了解决鱼眼图像的失真问题,提出了限制变形卷积(RDC)。通过基于输入特征映射学习卷积滤波器的形状,它们允许有效的几何变换建模。此外,作者还提出了一种放大技术,用于将透视图像转换为鱼眼图像,这有助于创建环绕视图摄像机图像的大规模训练集。还开发了基于RDC的语义分割模型。多任务学习(MTL)体系结构用于通过组合真实世界和变换后的图像来训练真实世界的环视摄像机图像。这些模型在Cityscapes [82], FisheyeCityScapes [84] and SYNTHIA [85] 数据集上进行了训练,并在真实的鱼眼图像上进行了测试。

Yaozu等人[84]提出了一种7自由度(DoF)增强技术,用于将直线透视图像转换为鱼眼图像。它包括世界和鱼眼坐标系(6-DoF)之间的空间关系,以及虚拟鱼眼相机的焦距变化(1-DoF)。在训练阶段,将直线透视图像转换为7自由度的鱼眼图像,以复制具有不同位置、方向和焦距的摄像机拍摄的鱼眼图片,这在处理扭曲的鱼眼数据时提高了模型的准确性和鲁棒性。7自由度增强为鱼眼摄像机的语义分割提供了通用解决方案,并为增强自主驾驶提供了明确的参数设置,并创建了FisheyeCityscapes[84]数据集。

目标检测

在鱼眼图像中,目标检测受到的径向失真影响最大,由于鱼眼图像形成中的固有失真,与光轴成不同角度的目标看起来非常不同(如下图所示)。矩形边界框往往不是目标大小的最佳表示,有时是标准BB框的一半,而框本身是ROI对象的两倍。实例分割提供了对象的精确轮廓,但注释成本更高,还需要BB估计步骤。

FisheyeDet[87]强调了对有用数据集的需要,通过对Pascal VOC数据集应用失真来创建模拟鱼眼数据集[88]。多边形表示和变形形状匹配有助于FisheyeDet,论文提出了无先验鱼眼表示法(NPFRM)来提取自适应失真特征,而不使用透镜图案和校准图案。同时,提出了畸变形状匹配(DSM)策略,以实现鱼眼图像中目标的精确、稳健定位。

SphereNet[89]及其变体[90]–[92]在球面上形成CNN,并显式编码针对畸变的不变性。SphereNet通过调整卷积滤波器的采样位置并将其环绕在球体上来反转失真,从而实现这一点。现有的透视CNN模型可以使用SphereNet转换为全向场景。此外,水平和垂直方向上的准失真表明鱼眼图像不符合球面投影模型,Yang等人[93]比较了几种利用等矩形投影(ERP)序列作为直接输入数据的检测算法的结果,发现CNN在不将ERP序列投影到正常2D图像的情况下仅产生一定的精度。

FisheyeYOLO[14]、[94]研究了各种表示方法,如定向边界框、椭圆和通用多边形。使用IoU度量和精确的实例分割地ground truth,并提出了一种新的曲线bbox方法,多边形bbox CNN模型将mIoU的相对精度提高了40.3%。

脏污下的感知

全景摄像头直接暴露在外部环境中,容易受到污染。相比之下,前摄像头放在挡风玻璃后面,不太容易受到影响。一般来说,有两种类型的污染:不透明(泥、灰尘、雪)和透明(水、油和油脂)。由于背景能见度有限,尤其是透明污垢可能难以识别,弄脏会导致感知精度显著降低。DirtyGAN[96]建议使用GANs修复真实场景中的不同污渍图案。污垢的边界模糊且定义不明确,因此人工注释可能具有主观性和噪声。Das等人[97]提出了瓷砖级污垢分类,以处理噪声标注并提高计算效率。

从感知的角度来看,有两种处理污垢的方法。一种方法是包括鲁棒性措施以改进感知算法。例如,Sakaridis等人[99]提出了模糊场景感知语义分割。另一种方法是恢复污染区域。泥浆或水滴通常是静态的,或者偶尔具有移动水滴的低频动态。因此,使用基于视频的恢复技术更有效,Porav等人[100]通过使用立体相机和滴水水源来模拟相机镜头上的雨滴,探索了透明污垢模型。Uricar等人[101]提供了环视摄像机的去油数据集基准,使用了三个摄像头,靠近不同程度的污渍,第四个摄像头没有污渍,充当gt。

几何任务

深度估计

先前的运动结构(SfM)方法[106]、[107],通过将网络的视差预测参数化为视图合成步骤期间的非投影操作的深度来估计逆深度。这种参数化不适用于鱼眼相机,因为鱼眼相机会经历较大的扭曲,导致与针孔相机中的对极线相比,对极曲线上出现角度差异。为了采用与针孔相同的方法,需要进一步校正鱼眼图像,但这将导致视野损失。

适用于针孔模型的多视图几何[108]原理投也适用于鱼眼图像,通过从不同的视点观察场景并建立它们之间的对应关系,可以估计潜在的几何结构。值得注意的是,当采用SfM方法时,考虑到CNN输出的范数值比鱼眼相机的角度差异大,因为这将使视图合成操作难以将角度差异参数化为距离。此外,对于大于180°的视场,z值可以(接近)为零或负值,这也会导致模型出现数值问题。

对于激光雷达距离测量,如KITTI,深度预测模型可以在监督下学习。拉维·库马尔(Ravi Kumar)等人[109]采用了类似的方法,证明了利用激光雷达地面真值对鱼眼图像进行训练来预测距离图的能力。尽管如此,激光雷达数据非常稀疏,并且设置良好的校准非常昂贵。为了克服这个问题,FisheyeDistanceNet[110]专注于解决最具挑战性的几何问题之一,即使用基于图像的重建技术对原始鱼眼相机进行距离估计,这是一项具有挑战性的任务,因为2D图像到3D曲面之间的映射是一项复杂的欠约束问题。

深度估计也是一个不适定的问题,因为每个像素有几个潜在的错误深度。UnRectDepthNet[16]引入了一种通用的端到端自监督训练框架,用于估计不同相机模型的原始扭曲图像上的单目深度图。作者展示了原始KITTI和WoodScape数据集框架工作的结果。

SynDistNet[111]学习了语义感知几何表示,可以在自监督学习SfM上下文中消除光度歧义。论文引入了广义鲁棒损失函数[112],该函数显著提高了性能。

视觉里程计

Liu等人[114]描述了鱼眼立体相机的传统直接视觉里程计技术。该技术同时进行摄像机运动估计和半密度重建。pipelines中有两个线程:一个用于跟踪,一个用于mapping,论文使用跟踪线程中的半密集直接图像对齐来估计相机姿态。为了避免极线问题,使用了平面扫描立体算法用于立体匹配和初始化深度。

Cui等人[115]展示了一种使用鱼眼摄像机的大规模实时密集几何mapping技术。摄像机姿态是从GNSS/INS系统获得的,但他们也提出,也可以从视觉惯性里程计(VIO)框架中检索。深度图融合使用通过这些方法检索的相机姿态。Heng等人[116]描述了一种用于鱼眼立体相机的半直接视觉测程算法,在跟踪线程中,它们在估计相机姿态时跟踪定向面片;在mapping线程中,他们估计要跟踪的每个新面片的坐标和曲面法线。曲面法线估计允许从不同的视点跟踪面片。在检测贴片对应的技术中不使用描述符或强描述符匹配,相反,论文采用基于光一致性的方法来寻找贴片对应。

鱼眼摄像机的多种视觉测程方法,包括[117]以及[118]。此外,Geppert等人[117]使用多摄像机视觉惯性里程计框架扩展了大规模环境下的视觉惯性定位技术,从而形成了一个允许准确无漂移姿态估计的系统,拉维·库马尔等人[119]将CNN用于视觉测程任务,该任务在单目距离估计框架中充当辅助任务。

运动分割

运动分割被定义为识别一对序列中独立移动的对象(像素),如车辆和人员,并将其与静态背景分离。MODNet[120]首次探索了自动驾驶应用场景,InstanceMotSeg[121]定义并探索了实例级运动分割。FisheyeMODNet[122]将其扩展到鱼眼摄像机,无需校正,没有明确的运动补偿。Mariotti等人[74]基于车辆里程计[123],使用经典方法完成这项任务。进行光流的球坐标变换,正高度、深度和极线约束适用于该设置,论文还提出了反平行约束,以消除运动视差模糊,这通常发生在汽车平行于ego车辆移动时。

Temporal Tasks

虽然深度和运动等几何任务可以使用多个帧进行训练和推理,但输出仅在一个帧上定义。我们将 Temporal Tasks定义为输出在多个帧上的任务,它通常需要多帧顺序标注。

跟踪

目标跟踪是一项常见的任务,必须跨多个帧关联对象。[124]中探讨了环视摄像机的运动物体检测和跟踪,他们使用经典的基于光流的方法进行跟踪。WEPDTOF[125]是一个最近发布的数据集,用于高架监控装置中鱼眼摄像头的行人检测和跟踪。轨迹预测与跟踪密切相关,在自动驾驶的场景下,特别是在3D鸟瞰空间中进行。PLOP 算法[126]探索了在应用圆柱校正后,在鱼眼前置摄像头上进行车辆轨迹预测。

重识别

重新识别(Re ID)是跨camera检测到对象的关联,还可以包括跨camera的时间关联。Wu等人[127]建议在全景相机上实施车辆识别,并强调两个重大挑战:首先,由于鱼眼失真、遮挡、截断和其他因素,很难在单个摄像机视图中从以前的图像帧中检测到同一车辆。其次,在多摄像头视角下,同一辆车的外观会根据使用的摄像头发生显著变化。论文提供了一种新的质量评估机制,以抵消跟踪box漂移和目标一致性的影响(主要采用基于注意力机制的Re ID网络,然后与空间约束方法配对,以提高不同摄像机的性能)。

SLAM

FisheeySuperpoint[132]为鱼眼图像引入了一种独特的训练和评估方法。作为起点,采用SuperPoint[133],一种自监督关键点检测器和描述符,生成了SOTA的单应性预测结果。论文提出了一个鱼眼自适应框架,用于在未失真的鱼眼图像上进行训练,鱼眼扭曲用于鱼眼图像的自监督训练。通过对单位球体的中间投影相位,鱼眼图像被转换为新的扭曲图像。摄像机的虚拟姿态可以在6-Dof中改变。Tripathi等人[134]探索了环视鱼眼相机使用ORB SLAM pipelines重新定位的问题。

多任务模型

使用相同backbone完成多个任务的特征提取,对于鱼眼相机,Sistu等人[147]提出了一种用于学习目标检测和语义分割的联合MTL模型。主要目标是在芯片上的低功耗嵌入式系统上实现实时性能,这两项任务使用相同的编码器,目标检测采用YOLO v2解码器,而语义分割采用FCN8解码器。Leang等人探索了鱼眼摄像机上两个任务设置的不同任务加权方法[148]。FisheyeMultiNet[149]从基于camera的深度学习算法角度讨论了自动泊车系统的设计和实现。在低功耗嵌入式系统上,FisheyeMultiNet是一个实时多任务深度学习网络,可识别停车所需的所有目标。该装置是一个四摄像头系统,运行速度为15fps,同时执行三项任务:物体检测、语义分割和脏污检测。OmniDet[119]中介绍了仅使用camera对环境近距离感知的整体实时场景理解结构,从一个深度学习模型中学习几何、语义、运动、定位和脏污多项任务,在嵌入式系统上速度60帧/秒。

鱼眼开源数据集

鱼眼相关数据集如下图所示,涉及语义分割、实例分割、2D/3D检测、深度估计、光流、定位、跟踪等任务!!!!

未来的一些研究方向

论文主要关注了失真感知CNN、处理时间变化、BEV感知、多相机模型、近视场和远视场相机的统一建模等,详细可以关注提出的一些参考文献。

参考

[1] Surround-view Fisheye Camera Perception for Automated Driving: Overview, Survey & Challenges

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D感知、多传感器融合、SLAM、高精地图、规划控制、AI模型部署落地等方向;

加入我们:自动驾驶之心技术交流群汇总!

一文尽览 | 计算机视觉中的鱼眼相机模型及环视感知任务汇总!相关推荐

  1. OpenCV中的鱼眼相机模型详解

    针孔相机.鱼眼相机模型推导: 一.针孔相机模型 空间的三维物体要成像到相机的 CMOS/CCD 上面,形成了图像.图像上的每个点对应空间上的一个点. 将世界坐标系上的一点 (x,y,z)映射到CMOS ...

  2. 【OpenCV】中的鱼眼相机及其标定

    1. 鱼眼镜头特性与镜头分类 普通镜头和针孔相机在数学模型上可以等价对待,都是射影变换(Perspective transform): 鱼眼镜头受到水下斯涅耳窗口现象的启发,采用不同的投影方式,来得到 ...

  3. Opencv中普通相机模型与鱼眼相机模型的区别

    普通相机模型 无畸变时相机模型的状态: 有畸变时的状态: 简单来讲就是获得地图点在归一化相机平面上的坐标[x',y']之后,进行加畸变操作,k1,k2,k3,k4,k5,k6都是径向畸变参数, 而p1 ...

  4. 综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

    文章:Surround-view Fisheye Camera Perception for Automated Driving: Overview, Survey & Challenges ...

  5. KannalaBrandt8鱼眼相机模型

    1. 鱼眼相机 鱼眼相机镜头是由十几个不同的透镜组合而成,在成像的过程中,入射光线经过不同程度的折射,投影到尺寸有限的成像平面上,使得鱼眼镜头拥有更大的视野范围.下图为鱼眼相机的组成结构: 与针孔相机 ...

  6. 【鱼眼相机模型】鱼眼相机投影模型理解

    一.从普通镜头到鱼眼镜头 如图1所示,普通镜头下的光线依据针孔相机模型进行成像(该部分可参考相机投影关系).但该模型存在一个缺陷:相机视野范围越大,所需的成像平面也越大,当相机视野范围要求在180°时 ...

  7. SLAM中常用的相机模型及标定工具

    最近一段时间准备作多传感器的SLAM研究,第一步是要解决传感器间的联合标定.所要开展实验的机器人平台配置了相机.单线雷达和IMU,自然而然地,首先是要先确定各个传感器的内参数,然后再确定传感器之间的外 ...

  8. 视觉SLAM之鱼眼相机模型

    最近研究了视觉SLAM中不同的鱼眼相机模型,其中包括: Scaramuzza的鱼眼相机模型 代表性的SLAM工作为MultiCo-SLAM,是一个以ORB-SLAM为基础的扩展的多鱼眼相机视觉SLAM ...

  9. OpenCV——将针孔相机模型图片转换成鱼眼相机模型图片

    一 理论基础 关于针孔相机模型,参考博客: 关于鱼眼相机模型,参考参考文献[1][2]. 这里只需要知道我们这里使用的鱼眼相机模型是等距投影的鱼眼相机模型,即r=fθ(1),而针孔相机模型是透视投影, ...

最新文章

  1. Nginx 从安装到高可用
  2. RabbitMQ Node.js 示例
  3. 使用Github部署Azure应用服务
  4. java学习(154):文件复制
  5. Vue3 Composition API(二)——computed、watchEffect、setup中使用ref
  6. 如何画一张架构图(内含知识图谱)
  7. MySQL基础篇(06):事务管理,锁机制案例详解
  8. python psutil.disk_python中psutil模块使用相关笔记
  9. 脏读,幻读,不可重复读的区别
  10. 人工智能 图片识别 图像识别
  11. echarts3D环形图(包含点击效果)
  12. 液压传动与气动技术【3】
  13. amoeba实现mysql主从读写分离_MySQL+Amoeba实现数据库主从复制和读写分离
  14. python 生成诸如A001 A002 ... A100这样的序列
  15. 机器学习100天(三):003 数据预处理之处理缺失值
  16. Java单例模式详解--七种单例模式实现+单例安全+实际应用场景
  17. Codeforces 31d 题解
  18. 快速全面入门Maven(二)--Maven的生命周期
  19. CompatTelRunner是啥进程,我可以关了吗?
  20. 浮点数在内存中的存储

热门文章

  1. note4 android5.1.1,三星N9109W note4安卓5.1.1五件套刷机包固件N9109WKEU1COL5
  2. Linux下使用md5sum计算和检验MD5码
  3. grep和egrep的区别
  4. HTML和CSS隐藏元素的四种方法
  5. 本地项目与Git项目关联
  6. Linux--进程(一篇博客让你理解操作系统的底层)
  7. CRM系统 - 总结 (一) 权限
  8. A算法和A*算法详解
  9. 什么是事务?事务的特性?
  10. 2018中国计算机所有相关会议,2018年计算机视觉顶会和人工智能顶级会议时间表...