0


具有异构元数据的卷积神经网络:CNN元数据处理方式回顾

    在自动驾驶中,卷积神经网络是用于各种感知任务的必备工具。尽管CNN擅长从摄像机图像(或视频剪辑形式的序列)中提取信息,但我们毕竟不断遇到各种不适合卷积神经网络的元数据。

直接在元数据上使用CNN可能不是一个好主意

    按照传统定义,元数据是指用于描述其他数据的一组数据。在本文中,根据元数据的定义:
  • 元数据是一种伴随相机图像数据作为辅助信息的异构,非结构化或无序数据。按照传统的定义,这些数据“描述”了相机数据。

  • 元数据的大小通常比相机图像数据小得多,每个图像的数量从几到最多几百个不等。

  • 与图像数据不同,元数据不能用规则的网格表示,并且每个图像的元数据长度可能不是恒定的。

      所有这些属性使CNN难以直接使用元数据,因为CNN假定网格上的数据间隔是规则的,并且网格上的相邻数据也具有紧密的空间或语义关系。
    
      我遇到的元数据类型可以分为以下几类:
    
  • 可能会影响传感器观察的传感器参数:相机内部/外部

  • 不同类型的传感器数据:雷达针或激光雷达点云

  • 两组数据之间的对应/关联

      一种特殊情况是激光雷达点云数据。一帧典型的激光雷达点云通常具有数十万个点,伴随一帧或几帧摄像机图像。激光雷达点云的信息如此丰富,以至于它们本身可以构成独立的感知管道和相机感知的基础。因此,很少将其视为相机数据的辅助信息,所以它不是此处考虑的典型元数据类型。对于点云数据,人们已经开发了特定的神经网络体系结构,例如PointNet或图形神经网络(GNN),可以直接使用点云数据,这超出了本文的范围。
    
      下面我们回顾一下最近文献中提出的使用卷积神经网络处理元数据的不同方式。
    

相机参数

    深度学习在SLAM的许多方面都取得了重大进展,其中之一是单眼深度估计。单眼深度估计本质上是不适合本文讨论的研究的,并且由于单眼图像缺乏规模,在一个数据集上训练的模型通常不能很好地推广到其他数据集。这与常规对象检测形成了鲜明的对比,在常规对象检测中,对象检测器的性能不依赖于特定的相机模型(要知道哪种相机模型拍摄了COCO数据集中的数十万张图像,这真是一场噩梦。)

使用不同焦距镜头拍摄的同一场景

    相机的固有特性,尤其是镜头的焦距,决定了单眼图像中缺少的比例因子。一般而言,无法判断是从距离物体较远的位置使用焦距较长的相机拍摄的图像还是在距物体较近的位置使用焦距较短的相机拍摄的图像。

单眼图像的尺度模糊性

    因此,模型训练和相关结论通常是在使用同一相机(或至少使用相同传感器和镜头规格的相机)收集的一个数据集上进行的。如果更改相机模型,则必须收集一个全新的数据集并注释距离后再次训练模型。

    幸运的是,在自动驾驶和其他工业应用中,相机的内在特性很容易从相机制造商那里获得,并且在相机的整个使用寿命中相对固定。我们可以将这些数据运用于单眼深度预测网络吗?

    相机固有特性具有四个自由度,行和列方向的焦距f_x和f_y已通过像素大小归一化,而c_x和c_y是主点的像素位置。我能想到的一个简单的解决方案是将这四个数字与深度解码器融合在特征图的顶部,并添加一个**全连接层**以将这四个数字融合。CAM-Convs:适用于单视图深度的相机感知多尺度卷积(CVPR 2019)通过将数据处理为**伪图像**提出了一种更好的解决方案。

CAM-Convs:摄像机感知的多尺度卷积

    Cam-Conv从Uber的CoordConv中获得了很多启发(卷积神经网络和CoordConv解决方案的有趣教训,**NeurIPS 2018**)。CoordConv将两个网格的网格通道连接到原始图像和中间特征图,以对位置信息进行编码。Cam-Conv建立在CoordConv的顶部,首先将CoordConv的原点从左上角移动到主点,从而创建了两个**居中坐标**(cc)贴图。这两个通道对主要点信息进行编码。然后通过将cc通道除以相机焦距f并取反正切来计算**视场**(fov)映射,这基本上可以计算出每个像素的方位角和仰角。这两个通道对焦距信息进行编码。最后,**归一化坐标**(nc)映射也被连接到特征映射(本质上是归一化的CoordCon)。

图像中像素的方位角和仰角(改编自src)

    实际上,**CoordConv**本身可以看作是将坐标信息编码到卷积神经网络的一种情况。它为卷积神经网络提供了平移方差的功能,对于学习位置敏感的数据非常有用。

替代方法:归一化焦距和归一化像平面

    Cam-Conv论文中还有另一件事值得一提。如上所述,无法判断是使用更长焦距的相机拍摄还是近距离拍摄。从另一个角度来看,即使两个摄像机具有相同的3D距离,但从相同的位置由不同焦距的两个摄像机成像的同一对象也会出现不同的外观。

    Cam-Conv的一种替代方法是使用标称焦距。所有地面距离都根据标称焦距缩放,并用于训练模型。然后在推理过程中,通过考虑相机的实际焦距,将预测距离缩放回实际距离。当然,以上讨论是基于相同图像传感器的假设。如果传感器的物理像素大小也发生变化,我们可以采用类似的想法,即假设视野狭窄(图像大小<<焦距),**标称像素大小**。相比之下,Cam-Conv是适应各种相机型号的更合适的方法。

    这与MonoLoco(ICCV 2019)用于行人距离估计的方法密切相关。在图像上找到关键点之后,然后再导入MLP,图像坐标将以单位深度Z = 1投影到标准化图像平面。这有助于防止模型过度适合任何特定的相机。这基本上考虑了焦距和传感器像素大小对视物大小的影响。

非相机传感器数据

    在自动驾驶中,摄像机图像以外的传感器数据通常可用于增加传感器冗余度和系统稳定性。如今,ADAS传感器套件中的一种常用的传感器(常用的摄像头除外)是雷达。

    截止到今天,大多数商用雷达都抽出了极为稀疏的雷达点(根据不同的雷达型号,每帧数目不定,每帧最大数目为32到128个点)。这比激光雷达传感器每次扫描的数十万个点小三到四个数量级。**因此,很自然地将雷达数据(或雷达引脚)视为一种补充和描述相机图像的元数据。** 下面是对同一场景中商用雷达和激光雷达数据的密度的直观比较,这在自动驾驶中非常具有代表性。

相同场景的一般雷达点云和激光雷达点云的比较(来自nuScenes数据集)

    注意:还有更先进的雷达系统,每帧输出数百或数千个点,但是这些所谓的高分辨率“成像雷达”(例如Astyx的成像雷达)在商业上受到限制,并且成本要比传统雷达高得多 。

    关于仅对激光雷达数据或激光雷达和摄像机的融合(例如Frustum PointNet,AVOD,MV3D等)执行3D对象检测的文献很多。很少有文献基于稀疏的雷达和摄像机的融合。这是由于缺乏带有雷达数据的公共数据集,也是由于雷达数据的嘈杂性质和海拔信息的缺乏。因此,我希望nuScenes数据集的发布能引起人们对该领域的关注,当然仍需深入研究。

    将雷达和图像数据融合流方法是找到将雷达数据“压缩”到图像的方法。在远距离检测:使用雷达和视觉进行远距离车辆检测(ICRA 2019)中,每帧数量不等的雷达数据被编码为2通道图像,且空间图像大小与摄像机图像相同,一个通道编码范围(距离测量) ,另一个编码速度(径向速度)。每个雷达引脚都标记为一个圆圈,而不是单个像素,以增加训练过程中每个点的影响,并在方位和高度上反映雷达测量的嘈杂性质。使用从雷达到摄像机的外部校准以及摄像机的固有校准,将雷达引脚投射到摄像机图像上。融合网络相对简单,我将在这里跳过,因为我们的重点是CNN的雷达数据表示。

使用两通道伪图像对雷达信息进行编码

    在RVNet:单眼相机和雷达的深度传感器融合用于在恶劣的环境中的基于图像的障碍物检测(PSIVT 2019),雷达引脚也投射到相机的图像平面上并形成稀疏的雷达图像。这次它具有三个通道:深度,横向速度和纵向速度。注意,这里的速度**由自身运动进行补充**,因此不能由测距率的单个通道表示。(作者还提出了一种密集的雷达图像编码方法,这对我来说没有意义,因此在此省略。)

RVNet使用自身运动补充速度

    在以上两种方法中,都是将雷达引脚投影到摄像机图像上。投影点可以用作单个像素,也可以提供恒定的空间范围。改善此问题的一种可能的方法是根据距离使用各种大小的磁盘,例如RRPN(Radar Region Proposal Network,ICIP 2019)使用的磁盘。从理论上讲,这可以更好地反映雷达引脚的空间不确定性,因为从理论上讲,附近雷达引脚的投影比远处的雷达引脚的横向空间不确定性更大。

    CRF-Net:一种用于对象检测的基于深度学习的雷达和相机传感器融合架构(SDF 2019)将雷达点绘制为垂直线。线条从地面开始向上延伸3米,因此在垂直方向上未均匀地绘制。Parse Geometry from a Line (ICRA 2017)也使用类似的技术将单线激光雷达测量结果压缩为密集的数据结构。

Densify radar pins with vertical lines(CRF-Net,2019)

Densify one-line Lidar measurement (Parse Geometry from One Line, ICRA 2017)

    此外,上述RRPN(雷达区域提议网络)也提出了一种很好的方式,可以从雷达生成区域入手。这是基于以下观察结果:nuScenes数据集中的几乎每个对象都具有相应的雷达引脚,因此雷达数据可用作合适的区域建议方法。为了适应雷达测量的空间不确定性,锚点并不总是位于中心。

RRPN使用嘈杂的雷达数据和移动的锚点进行目标检测

    总之,以上所有方法(RRPN除外)都是将雷达引脚转换为伪图像,然后使用CNN提取其更高级别的信息。

激光雷达点云

    如上所述,由于点云的密集性质,可以直接在激光雷达数据之上执行对象检测。因此,将激光雷达数据作为相机图像的元数据查看是不合适的。然而,从点云数据的**数量变化不规则(不均匀分布在规则网格上)**的意义上来说,**激光雷达数据**像**一般雷达数据**一样是非结构化的。

    在将激光雷达数据和图像数据导入神经网络之前,已经进行了许多努力来进行数据的早期融合MV3D:用于自动驾驶的多视图3D对象检测网络(CVPR 2017)将激光雷达点转换为两种伪图像类型:鸟瞰图(BEV)和前视图(FV)。BEV地图是具有0.1 m分辨率的离散化网格,具有多个高度图,一个密度图和一个强度图。FV遵循VeloFCN的惯例:使用全卷积网络从3D激光雷达进行车辆检测(RSS 2016),请注意,这不同于将点从激光雷达投影到相机图像。然后,三个不同的网络从BEV图像,FV图像和RGB图像中提取特征,将这些特征连接起来进行融合

    LaserNet:一种用于自动驾驶的高效概率3D对象检测器(Arxiv,2019)提出了另一种编码激光雷达点的方法。RV(范围视图)是通过将激光ID直接映射到行并将方位角离散化为列而生成的。这种表示的优点是它自然紧凑。它具有五个通道:范围(距离),高度,方位角,强度和一个指示单元格是否包含点的标记。

LaserNet的激光雷达点表示

    总之,尽管密度比一般雷达高,但激光雷达点也可以打包成伪图像供CNN使用。与通过全连接层来使用稀疏元数据的替代方法类似,我们还可以通过PointNet(CVPR 2017)直接使用无序点云数据。

通讯/关联数据

    元数据的另一种类型是关联数据,例如,交通信号灯与车道关联。元数据融合:用于交通灯和车道分配的深度元数据融合(IEEE RA-L 2019)提出了一种数据融合方法,用于融合交通灯,车道箭头和车道标记检测结果的异构元数据。元数据以**元数据特征图(MFM)**的形式编码,并与来自相机图像的中间特征融合。MFM本质上是二进制注意力图。关联数据的真实性和预测值也被编码为表示横向空间位置的一维向量。

元数据功能图(MFM)将元数据与相机图像融合

    在此过程中,元数据特征图(MFM)逐项与前F = 12层相乘。事实证明,这比将MFM与图像特征图直接连接要好一些。

具有IPM的摄像机图像的元数据功能图(MFM)

物体检测结果

    有时,将对象检测边界框输入其他学习管道很有用。但是,边界框的数量不是恒定的-从这个角度来看,它们也可以视为元数据。一种方法是将边界框转换为热图。在ROLO:用于视觉对象跟踪的空间监督循环卷积神经网络中,对象检测结果转换为热图,以指导学习视频对象检测和跟踪过程中在空间和时间上都一致的特征。

ROLO将对象检测结果(仅一个对象)转换为热图

    在通过关联嵌入的像素到图形(NIPS 2017)一文中,可以通过将对象检测的格式设置为两个通道来融合先前的检测,其中一个通道由边界框中心的一个热激活组成,另一个通道提供边界框的二进制掩码。可以在这两个通道上显示多个框,第二个框指示其掩码的并集。如果边界框太多,导致蒙版通道变得过于拥挤,则通过边界框锚点将蒙版分开,并将它们放入不同的通道。

    为了降低计算成本,这些额外的输入未集成在输入层中,而是在多层卷积之后合并。

总结

  • 注意元数据通常是无序的,并且不位于常规网格上。每个图像的元数据数量通常也是不确定的,因此难以使用具有固定输入维度的固定神经网络结构。
  • 如果元数据每个摄像机图像的长度固定,则有可能使用全连接层将这些元数据与摄像机特征图融合。
  • 如果元数据是无序的,例如一般雷达或激光雷达点云数据,则替代方法是使用不改变输入顺序排列的PointNet结构。
  • 使用CNN处理元数据的最通用方法是将元数据转换为具有规则网格间距的某种形式的伪图像。这应该是最好的,或者可以将其转换为与图像数据相同的空间域。

参考文献

  • CoordConv: An Intriguing Failing of Convolutional Neural Networks and the CoordConv Solution, NeurIPS 2018
  • CAM-Convs: Camera-Aware Multi-Scale Convolutions for Single-View Depth, CVPR 2019
  • MonoLoco: Monocular 3D Pedestrian Localization and Uncertainty Estimation, ICCV 2019
  • Distant Detection: Distant Vehicle Detection Using Radar and Vision, ICRA 2019
  • RVNet: Deep Sensor Fusion of Monocular Camera and Radar for Image-based Obstacle Detection in Challenging Environments (PSIVT 2019)
  • CRF-Net: A Deep Learning-based Radar and Camera Sensor Fusion Architecture for Object Detection, SDF 2019
  • RRPN: Radar Region Proposal Network, ICIP 2019
  • Parse Geometry from a Line: Parse Geometry from a Line: Monocular Depth Estimation with Partial Laser Observation, ICRA 2017
  • LaserNet: An Efficient Probabilistic 3D Object Detector for Autonomous Driving, Arxiv 2019
  • VeloFCN: Vehicle Detection from 3D Lidar Using Fully Convolutional Network, RSS 2016
  • MV3D: Multi-View 3D Object Detection Network for Autonomous Driving, CVPR 2017
  • Metadata Fusion: Deep Metadata Fusion for Traffic Light to Lane Assignment, IEEE RA-L 2019
  • ROLO: Spatially Supervised Recurrent Convolutional Neural Networks for Visual Object Tracking, ISCAS 2016
  • Pixels to Graphs by Associative Embedding, NIPS 2017

本文最初在《迈向数据科学》上发表,并在得到作者许可的情况下重新发布到TOPBOTS。

作者:Patrick Langechuan Liu

deephub翻译组:孟翔杰

DeepHub

微信号 : deephub-imba

每日大数据和人工智能的重磅干货

大厂职位内推信息

长按识别二维码关注 ->

好看就点在看!********** **********

**
**

标签:

“具有异构元数据的卷积神经网络:CNN元数据处理方式回顾”的评论:

还没有评论