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

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

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

image.png

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

按照传统定义,元数据是指用于描述其他数据的一组数据。在本文中,根据元数据的定义:

  • 元数据是一种伴随相机图像数据作为辅助信息的异构,非结构化或无序数据。按照传统的定义,这些数据“描述”了相机数据。
  • 元数据的大小通常比相机图像数据小得多,每个图像的数量从几到最多几百个不等。
  • 与图像数据不同,元数据不能用规则的网格表示,并且每个图像的元数据长度可能不是恒定的。

所有这些属性使CNN难以直接使用元数据,因为CNN假定网格上的数据间隔是规则的,并且网格上的相邻数据也具有紧密的空间或语义关系。

我遇到的元数据类型可以分为以下几类:

  • 可能会影响传感器观察的传感器参数:相机内部/外部
  • 不同类型的传感器数据:雷达针或激光雷达点云
  • 两组数据之间的对应/关联

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

下面我们回顾一下最近文献中提出的使用卷积神经网络处理元数据的不同方式。

相机参数

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

image.png

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

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

image.png

单眼图像的尺度模糊性

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

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

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

image.png

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

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

image.png

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

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

目录
相关文章
|
1天前
|
机器学习/深度学习 监控 自动驾驶
卷积神经网络有什么应用场景
【10月更文挑战第23天】卷积神经网络有什么应用场景
6 2
|
1天前
|
机器学习/深度学习 自然语言处理 算法
什么是卷积神经网络
【10月更文挑战第23天】什么是卷积神经网络
9 1
|
4天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
13 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
5天前
|
机器学习/深度学习 人工智能 自动驾驶
深度学习中的卷积神经网络(CNN)及其应用
【10月更文挑战第21天】本文旨在深入探讨深度学习领域的核心组成部分——卷积神经网络(CNN)。通过分析CNN的基本结构、工作原理以及在图像识别、语音处理等领域的广泛应用,我们不仅能够理解其背后的技术原理,还能把握其在现实世界问题解决中的强大能力。文章将用浅显的语言和生动的例子带领读者一步步走进CNN的世界,揭示这一技术如何改变我们的生活和工作方式。
|
6天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
2天前
|
机器学习/深度学习 算法 计算机视觉
深度学习与生活:如何利用卷积神经网络识别日常物品
【10月更文挑战第24天】在这篇文章中,我们将探索深度学习如何从理论走向实践,特别是卷积神经网络(CNN)在图像识别中的应用。通过一个简单的示例,我们将了解如何使用CNN来识别日常生活中的物体,如水果和家具。这不仅是对深度学习概念的一次直观体验,也是对技术如何融入日常生活的一次深刻反思。文章将引导读者思考技术背后的哲理,以及它如何影响我们的生活和思维方式。
|
8天前
|
机器学习/深度学习 人工智能 自动驾驶
深入理解深度学习中的卷积神经网络(CNN)
【10月更文挑战第18天】深入理解深度学习中的卷积神经网络(CNN)
20 0
|
19天前
|
机器学习/深度学习 人工智能 算法框架/工具
深度学习中的卷积神经网络(CNN)及其在图像识别中的应用
【10月更文挑战第7天】本文将深入探讨卷积神经网络(CNN)的基本原理,以及它如何在图像识别领域中大放异彩。我们将从CNN的核心组件出发,逐步解析其工作原理,并通过一个实际的代码示例,展示如何利用Python和深度学习框架实现一个简单的图像分类模型。文章旨在为初学者提供一个清晰的入门路径,同时为有经验的开发者提供一些深入理解的视角。
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN)及其应用
【9月更文挑战第24天】本文将深入探讨深度学习中的一种重要模型——卷积神经网络(CNN)。我们将通过简单的代码示例,了解CNN的工作原理和应用场景。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息。
80 1
|
12天前
|
机器学习/深度学习 人工智能 监控
深入理解深度学习中的卷积神经网络(CNN):从原理到实践
【10月更文挑战第14天】深入理解深度学习中的卷积神经网络(CNN):从原理到实践
42 1

热门文章

最新文章