【深度】鱼眼和全向视图的图像深度学习方法(下)
发布时间:2020年12月19日 19:01 收录时间:2020年12月20日 00:28 作者:旺材自动驾驶与智能座舱 来源:微信公众号


点击“蓝字”关注我们

导读/ 普通摄像头的图像已经有很多论文讨论各种应用的深度学习方法,但对鱼眼镜头(fisheye)和全向(omnidirectional)摄像头的工作比较少。继上周内容,本文将列出一些,此外之后还将讨论深度学习中对这类图像数据特别适合的模型,比如STN、SCNN和DCN等。

来源:本文由黄浴博士授权发布,作者为黄浴。


导读 /


普通摄像头的图像已经有很多论文讨论各种应用的深度学习方法,但对鱼眼镜头(fisheye)和全向(omnidirectional)摄像头的工作比较少。继上周内容,本文将列出一些,此外之后还将讨论深度学习中对这类图像数据特别适合的模型,比如STN、SCNN和DCN等。


SphereNet: Learning Spherical Representations for Detection and Classification in Omnidirectional Images


在需要大视野的场景,如虚拟现实应用程序或自动机器人,全向(Omnidirectional)摄像机比传统摄像机具有巨大优势。不幸的是,标准的卷积神经网络不适用于这种情况,因为自然投影表面是一个球体,尤其是在两极地区(polar regions),如果不引入明显的畸变(distortions),无法将其展开(unwrapped)到一个平面。


这里SphereNet是一个深度学习框架,其卷积神经网络明确编码针对此类失真的不变性。为实现这一目标,SphereNet调整了卷积滤波器的采样位置,有效地扭转失真,以球体包裹(wrap around)这些滤波器。通过常规卷积,SphereNet可将现有的透视CNN模型转移到全向CNN模型。在图像分类和目标检测任务,它采用两个新创建的全向数据集。


如图是该系统的概述:图a + 图b显示用鱼眼镜头或360°运动相机捕获图像,在球体上最好地呈现图像;图c显示在校准等矩形表示(图b)用规则卷积(例如,3×3滤波内核)会受到靠近两极采样位置(红色)扭曲的影响;图d显示SphereNet相比之下内核开发采样模式在切平面(蓝色)的投影(红色),产生不随纬度而变化的滤波器输出。



SphereNet的中心思想是将本地CNN操作(例如卷积和池化)从常规图像域提升到表示鱼眼或全向图像的球面,其实现是通过将内核表示为球体相切的小补丁(patch)。球体切平面上的目标从不同的高度投影到等矩形图像表示时,卷积核的采样网格位置以相同的方式扭曲。如下图所示,球形表示(a)和等矩形表示(b)中φ= 0(蓝色)和φ= 1.2(红色)的内核采样模式。(注意(b)中φ= 1.2内核的失真)



除了失真不变性(distortion invariance)编码到卷积神经网络滤波器以外,SphereNet将采样位置包裹在球体内。由于SphereNet用自定义的采样位置来采样输入或中间特征图,很容易让滤波器跨图像边界采样数据,这消除了规则卷积神经网络处理全向图像时出现的不连续性,并提高了目标在等矩形图像表示的两侧被分割开或非常靠近两极的识别能力。


如图所示,将等矩形图像边界处的SphereNet(红色)的采样位置与常规CNN(蓝色)的采样位置进行比较。注意SphereNet内核在左图像边界如何自动包裹(a),同时正确表示在两极的不连续性和变形(b)。因此,SphereNet保留了原始球形图像连通性,该连通性被沿图像边界零填充的常规卷积神经网络所放弃。



为了提高计算效率,采用了球形图像更有效的采样方式。等矩形表示法在球面图像两极区域过采样了(见图4a),这导致该区域几乎重复的图像处理操作。与等矩形图像相比,该方法应用于数据在球体均匀存储的表示形式,可以避免在两极区域做不必要的计算。


如图所示是均匀球采样情况。在球上N = 200点的等矩形采样网格(a)和基于Saff-Kuijlaars方法在球上均匀分布N = 127采样点的近似值比较(b,c)。注意,和在这些区域图像过采样的等矩形表示(a)相比,均匀球面采样(b)中两极的采样点要均匀得多。



调整卷积和池化内核的采样位置,可以将SphereNet集成到图像分类CNN中。此外,与等矩形表示的最近邻内插和双线性内插比较,统一的球面采样是很简单的。将SphereNet集成到图像分类网络中不会引入新的模型参数,也不需要更改网络的训练。


为了在球上执行目标检测,球形单镜头多框检测器(Sphere-SSD)使单镜头多框检测器(SSD)适应于球体切平面上的目标。SSD采用全卷积体系结构,为一组不同尺度和纵横比的默认锚框预测类别得分和边框偏移。Sphere-SSD在定位损失和置信度损失之间使用加权和。与原始SSD相比,现在是将锚框放置在球体的切平面上,并根据各自切平面的球坐标、切线平面上边框的宽度/高度以及平面内(in-rotation)旋转等定义。


如图所示,球形锚框(Spherical Anchor Boxes)是球体切平面上各种比例、纵横比和朝向的2D边框的侏儒投影(gnomonic projection),这里显示的是同一朝向、不同比例和纵横比的16×8特征图在球体(a)和等矩形网格(b)上的锚框。



最后看一些实验结果示例,如图所示是FlyingCars数据集的检测结果。真实框显示为绿色,SphereNet(NN)检测结果的边框显示为红色。



OmniDRL: Robust Pedestrian Detection using DRL on Omnidirectional Cameras


行人检测是计算机视觉和机器人技术中最受关注的主题之一。在透视相机和机器人应用程序的检测方面,深度强化学习已被证明。但是,对于全向摄像机的检测,图像的失真度很高。


本文是全向图像的鲁棒行人检测技术,该方法使用深度强化学习,其利用图像失真的信息。通过3D边框及其在图像的变形投影,该方法能够提供行人在3-D场景的位置,相比之下,大多数透视相机方法提供的只是图像的位置。另外,该方法避免了消除失真的预处理步骤。


如图是该方法用多任务网络(Multi-task network)在全向摄像机做行人检测的说明。输入是以世界坐标系表示的全向图像,具有目标的边框初始状态。基于此信息,用一组可能的操作检测3D环境的行人。激活触发器后,估计的3D边框投影到全向图像。然后,在图像坐标中计算真实值和估计之间IoU。



下图是描述该网络的方案图,其中第一卷积层共享,然后分成分支(做强化学习的DQN和分类的网络)。



关于全向成像的3D线段投影(3D Line Segment Projection)几何,如图所示:一般全向摄像机使用球形成像模型;假设一个单位球面位于镜子参考系的原点;将3D点x =(x1,x2,x3)∈R3投影到球体表面(点n∈S2⊂R3),从而得到一对的对映点(antipodal points);在中心全向摄像机中,3D直线由平面Π,即解释平面(interpretation plane),进行参数化,由投影球体的中心(图b的O)和相应的3D直线(注意, 不失一般性,平面上的所有直线等同的参数化)构成。



DQN是由θt参数化的深度Q-网络,给定状态st,该网络为一组九个动作(action)近似动作-价值函数(Action-Value Function)Q(st,at;θt),其是关于角度(β)、距离(ρ)、高度(h)和宽度(w)的函数。这个Q值表示Bellman方程最大打折的未来回报(reward)。


DQN的训练跟从谷歌DeepMind在Nature发表的AlphaGO系统Q-learning方法,其有两个特点:首先,该过程根据代理的经验et =(st,at,rt,st + 1)构建内存Dt = {e1,...,et}。这些样本从内存中均匀提取,用作批处理训练预测网络;其次,包含参数θ-t的目标网络(target network)计算让DQN更新的目标价值(target value)。这些值θ-t保持不变并周期性更新。


DQN的一个缺点是动作选择和相应的评估趋向于使用相同Q值,导致过分乐观的估计。为了解决上述限制,这里用双重DQN(Double DQN,DDQN)。


在训练过程中,代理必须首先探索(explore)环境,以便更好地了解哪些动作使其未来的回报最大化,然后开发(exploit)这些状态引导至其目标(objective)。这里选择一种战略来平衡两个阶段,即探索和开发(exploration and exploitation)。整个训练,通过Gibbs或Boltzmann分布选择Softmax动作选择(action selection)法。


实验结果给出DRL和多任务学习的比较,如下表1和表2。



FisheyeMODNet: Moving Object detection on Surround-view Cameras for AD


运动目标检测是实现自动驾驶的重要任务。自动驾驶车辆必须估计与环境中其他交互目标的碰撞风险,并计算出可选的轨迹。由于需要估计目标的未来状态和姿势供决策,移动目标的碰撞风险通常要比静态目标高。这对于车辆周围的近距离目标尤为重要,这些目标通常由可捕获场景360°景象的鱼眼环视系统检测。


这项工作提出一种CNN体系结构,用于自动驾驶环境中鱼眼图像进行运动目标检测。为面向嵌入式系统配置,它设计了一种轻量级编码器,在序列图像之间共享权重。


本文采用车辆感知系统是环视摄像头网络,其图像显示近视野感知和宽视野,如图所示:四个鱼眼镜头(绿色)可提供360o环视图。



如下图所示,所用的网络架构包括两个编码器,分别处理两个时间序列图像。这个配置的网络改编于ShuffleSeg(出自论文“ShuffleSeg: Real-time Semantic Segmentation Network“)基础网络,可以理解周围场景的运动。网络可以训练为多目标检测(MOD)生成二进制掩码(binary mask),即像素标记为运动或静态,即运动检测。在所有实验中,加权交叉熵用来克服类不平衡(class imbalance)问题。采用的Adam优化器,其学习率设为1e-4。权重衰减为5e-4的L2正则化实现避免数据过拟合。网络编码器的初始化是ImageNet上预训练的权重。



 WoodScape: A multi-task, multi-camera fisheye dataset for AD


鱼眼镜头通常用于监控、增强现实以及自动驾驶中的大视野感知。尽管应用很普遍,但很少有公开数据集对鱼眼图像的计算机视觉算法评估。这是第一个鱼眼汽车数据集WoodScape,以1906年发明鱼眼相机的Robert Wood命名。


WoodScape由4个环视摄像机和9个任务组成,包括分割、深度估计,3D边框检测和镜头污染(soiling)检测。其中实例分割是40个类别的语义标注图像10,000多个,其他任务的标注图像100,000个。


如图所示,WoodScape包含四个摄像机覆盖360°全景,并带有高清激光扫描仪、IMU和GNSS。图像标注用于九个任务,特别是3D目标检测、深度估计(叠加在前向图像上)和语义分割。



下图显示五个不同投影模型的映射函数r(θ),分别是多项式型、直线型(Rectilinear)、立体(Stereographic)、统一摄像头模型(UCM,Unified Camera Model)和增强UCM(eUCM)。四阶多项式模型参数取自鱼眼镜头标定结果,而其他模型参数已经优化,使其在0°至120°(即FOV最高为240°)范围内与该模型匹配。该图表明,低入射角情况下,和原始四阶多项式投影模型之差,UCM约为4个像素,eUCM约为1个像素。较大入射角情况下,这些模型精度下降。



由于非线性失真,计算机视觉模型无法轻易推广到鱼眼镜头。例如,标准卷积神经网络(CNN)失去了平移不变性。简单开发鱼眼镜头算法的方法是直线型(rectilinear)校正。最简单的不失真是将像素重新扭曲为直线型图像,如下图(a)所示,但有两个问题:1)FOV大于180°,因此有光线从相机后面入射,无法建立到直线型视窗(rectilinear viewport)的完整映射,这会导致FOV丢失,如图看到校正后图像缺少黄色柱子;2)存在重采样失真的问题,在图像外围附近,小区域图像映射到大区域的时候这一点更明显。


丢失的FOV可以通过多线性视窗(multiple linear viewports)解决,如图(b)所示,但从一个平面到另一个平面的过渡区域会存在问题。可以看作是鱼眼镜头流型的分段线性近似。


图(c)演示用圆柱视窗(cylindrical viewport)的准线性校正,该视窗在垂直方向上是线性的,并且保留了像行人一样的垂直目标;但沿水平轴存在二次失真。在许多情况下,它提供了合理的取舍,但仍然存在局限性。



下图给出该数据集验证一些分割和检测的例子。



FisheyeDistanceNet: Self-Supervised Scale-Aware Distance Estimation using Mono Fisheye Camera for AD


本文是自动驾驶场景中鱼眼镜头的欧氏距离估计。在实践中很难获得准确而密集的深度图监督学习,但是自我监督的学习方法显示出令人鼓舞的结果,并且有可能克服这一问题。这个工作是一个自监督的尺度-觉察(scale-aware)框架,称为FisheyeDistanceNet,无需矫正直接从原始单目鱼眼视频中学习欧氏距离和自运动。


尽管可以做鱼眼投影表面的分段线性逼近和应用标准直线型模型,但还是有其自身的一系列问题,例如重采样失真和过渡区域不连续性等。


下图给出该框架的概述图:第一行代表自掩码Mt-1和Mt + 1,分别表示从帧It构造帧It-1和从It + 1构造It时哪个像素坐标有效;第二行表示在2个训练时期(epochs)后计静态像素的掩码,其中光度损失中去掉了黑色像素(即σ= 0),可以防止与自车速度接近的动态目标和低纹理区域损害损失计算;输入序列S和重构图像的前向和后向序列用于掩码计算;第三行表示对应输入帧的距离估计;最后,车辆的里程数据用于解决单目重建的尺度因子问题。



整个自监督SfM的目标(objective)由光度损失项Lp和距离正则项Ls组成,前者是重建目标(target)图像Iˆt和目标(target)图像It之间的差,后者是确保距离估计的边缘-觉察平滑测度。最后,Ldc是从训练序列S的帧链得出的跨序列距离一致性测度。


为防止训练目标(objective)因双线性采样器的梯度局部性而陷入局部极小值,用4尺度训练网络。距离估计网络主要基于U-net体系结构,即具有跳连接的编码器-解码器网络。在测试ResNet系列的不同变型之后,这里选择ResNet18作为编码器。


关键方面是用可变形卷积代替,因为常规CNN固定的结构(例如,固定的滤波器内核,固定的感受野大小和固定的池化内核)在大型未知几何变形建模方面受到限制。


姿势估计网络骨干基于论文“Digging into self-supervised monocular depth estimation”的方法,该论文使用欧拉角参数化来预测旋转,编码器-解码器设置用可变形卷积替换普通卷积的。用轴-角(axis-angle)表示预测旋转,并将旋转和平移输出缩放0.01。


对单目训练,序列长度三帧,同时由ResNet18构成姿势网络,并接受一对图像(或六个通道)作为输入,预测It−1→t 和 It→t−1之间的单6自由度相对姿势。训练的数据增强采用水平翻转,还有随机的亮度、对比度、饱和度和色调抖动,其范围分别为±0.2,±0.2,±0.2和±0.1。重要的是,颜色增强仅应用于网络馈入图像,而不是那些应用于光度损失项Lp计算的图像。姿势和深度网络输入的3个通道图像都用相同参数进行增强。


如图所示,(a)深度网络是U-Net。(b)姿势网络是一个单独的CNN网络。(c)是像素最小重投影:对应不错的像素,重投影损失应较低。(d)是全分辨率多尺度框架:中间层对深度预测进行上采样,以输入分辨率计算所有损失,减少纹理拷贝的伪影。



最后看一下实验结果:FisheyeDistanceNet在扭曲的鱼眼图像得到清晰的深度图。



附录:针对图像输入几何变形的CNN模型


1. Spatial Transform Network


STN是一个可学习的空间变换器,允许对网络内的数据进行空间操作。这个可微分的模块可以插入到现有的卷积架构中,使NN能够无需任何额外的训练监督或对优化过程进行修改,主动地对特征图进行空间变换。空间变换器模型学习如平移、缩放、旋转和更通用的扭曲(warping)等的不变性,可用于:图像分类、定位和空间注意等任务。


如图所示,空间变换器机制分为三个部分。按照计算顺序,首先是一个定位网络(localization network)获取输入的特征图,通过多个隐层输出特征图的空间变换参数。然后,将预测的转换参数用于创建采样网格(sampling grid),对输入图采样生成转换的输出点,由网格生成器(grid generator)完成。最后,特征图和采样网格作为采样器(sampler)的输入,生成输出图。



2. Deformable Convolutional Networks


DCN有两个新模块可增强CNN的转换建模(transformation modeling)能力:可变形卷积和可变形感兴趣区域(RoI)池化,其想法是:在模块中增加有额外偏移量的空间采样位置,无需额外监督从目标(target)任务中学习偏移量。它可以代替现有CNN模块,并且可以通过标准反向传播进行端到端训练,产生可变形卷积网络。DCN对复杂的视觉任务(例如目标检测和语义分割)非常有效。


如下三个图分别是3x3变形卷积、3x3变形ROI池化和位置敏感(Position-Sensitive,PS)的ROI池化架构图。





3. Active Convolution: Learning the Shape of Convolution for Image Classification


主动卷积单元(ACU)单元定义的卷积没有固定的形状。它可以通过训练中的反向传播(BP)来学习其形状。该单元具有以下一些优点:

  1. ACU 是卷积的广义化;不仅对所有常规卷积,而且包括带分数像素坐标(fractional pixel coordinates)的卷积;它随意更改卷积形状,设计的 CNN 结构更自由。
  2. 卷积的形状是在训练时学习的,无需手动调整。
  3. ACU 学习更好。

ACU为可学习位置参数的卷积定义更多形式的感受野(receptive fields)。受神经系统的启发,ACU的一个接受体称为突触(synapse)。位置参数是可微分,可通过反向传播学习其形状。如图所示,黑点代表每个突触,ACU输出是所有位置pk的值加权和,而位置由pk参数化。


下图是传统卷积单元与ACU的比较:a)具有4个输入神经元和2个输出神经元的常规卷积单元;(b)与卷积单元不同,ACU的突触可以在神经元之间的位置连接并且可移动。



4. Warped Convolutions: Efficient Invariance to Spatial Transformations


扭曲(warped)卷积由恒定的图像扭曲和随后的简单卷积组成。通过精心制作的扭曲变换,可以使生成的体系结构与各种两-参数(two-parameter)空间变换等价。

如图所示:第一行定义扭曲的采样网格,与不同空间变换相关;第二行是示例图像(a)扭曲后的每个网格(图b-d);第三行是每个扭曲图像叠加小幅平移后将其映射回原始空间(逆扭曲),在适当扭曲空间的一轴平移等效于(b)水平缩放;(c)平面旋转;(d)绕垂直轴的3D旋转。


5. Spherical CNNs


SCNN定义了旋转等变性(rotation-equivariant)的球形互相关(spherical cross-correlation)。球形相关性满足广义傅立叶定理,用广义的非交换(non-commutative)快速傅立叶变换(FFT)算法高效地进行计算。

如图是频谱域的球形相关示意图:对信号f和局部支持的滤波器ψ进行傅立叶变换,块张量化(block-wise tensored),对输入通道求和,最后逆变换。注意,由于滤波器的局部支持性质,采用矩阵乘法(DFT)比FFT算法更快。


来源:本文由黄浴博士授权发布,作者为黄浴。








感谢阅读

也欢迎在最下方留言

如需入群,长按二维码识别入群










推荐合集资料:

自 动 驾 驶 | 智 能 座 舱


资讯|技术|干货|深度

长 按 关 注


旺材自动驾驶与智能座舱



【免责声明】文章为作者独立观点,不代表旺材自动驾驶与智能座舱立场。如因作品内容、版权等存在问题,请于本文刊发30日内联系旺材自动驾驶与智能座舱进行删除或洽谈版权使用事宜。


相关推荐

最新文章


热门文章