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

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

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

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

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

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

非相机传感器数据

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

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

image.png

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

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

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

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

image.png

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

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

image.png

RVNet使用自身运动补充速度

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

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

image.png

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

image.png

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

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

image.png

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

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

激光雷达点云

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

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

image.png

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

image.png

LaserNet的激光雷达点表示

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

通讯/关联数据

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

image.png

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

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

image.png

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

物体检测结果

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

image.png

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。

目录
相关文章
|
17天前
|
机器学习/深度学习 计算机视觉 网络架构
为什么卷积现在不火了:CNN研究热度降温的深层原因分析
纵观近年的顶会论文和研究热点,我们不得不承认一个现实:CNN相关的研究论文正在减少,曾经的"主角"似乎正逐渐淡出研究者的视野。
52 11
为什么卷积现在不火了:CNN研究热度降温的深层原因分析
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
25 7
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
探索深度学习中的卷积神经网络(CNN)及其在现代应用中的革新
|
11天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)入门
【10月更文挑战第41天】在人工智能的璀璨星空下,卷积神经网络(CNN)如一颗耀眼的新星,照亮了图像处理和视觉识别的路径。本文将深入浅出地介绍CNN的基本概念、核心结构和工作原理,同时提供代码示例,带领初学者轻松步入这一神秘而又充满无限可能的领域。
|
17天前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络:从理论到实践
【10月更文挑战第35天】在人工智能的浪潮中,深度学习技术以其强大的数据处理能力成为科技界的宠儿。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,在图像识别和视频分析等领域展现出了惊人的潜力。本文将深入浅出地介绍CNN的工作原理,并结合实际代码示例,带领读者从零开始构建一个简单的CNN模型,探索其在图像分类任务中的应用。通过本文,读者不仅能够理解CNN背后的数学原理,还能学会如何利用现代深度学习框架实现自己的CNN模型。
|
12天前
|
机器学习/深度学习 人工智能 算法
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
21 1
|
16天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第36天】探索卷积神经网络(CNN)的神秘面纱,揭示其在图像识别领域的威力。本文将带你了解CNN的核心概念,并通过实际代码示例,展示如何构建和训练一个简单的CNN模型。无论你是深度学习的初学者还是希望深化理解,这篇文章都将为你提供有价值的见解。
|
20天前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
|
17天前
|
机器学习/深度学习 人工智能 自动驾驶
深入解析深度学习中的卷积神经网络(CNN)
深入解析深度学习中的卷积神经网络(CNN)
32 0
|
20天前
|
机器学习/深度学习 人工智能 TensorFlow
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第32天】本文将介绍深度学习中的一个重要分支——卷积神经网络(CNN),以及其在图像识别领域的应用。我们将通过一个简单的代码示例,展示如何使用Python和TensorFlow库构建一个基本的CNN模型,并对其进行训练和测试。

热门文章

最新文章

下一篇
无影云桌面