在感知部分的课程中,我们将首先介绍计算机视觉的基本应用领域;再进一步了解机器学习、神经网络和卷积神经网络的基础知识;随后我们将讨论感知模块在无人车中的具体任务;最后了解 Apollo 感知模块的体系结构和传感器融合的相关内容。
要教会汽车自动驾驶,首先要教会它感知周围的坏境。在开车时,人类可以用眼睛来判断路况和往来车辆,汽车虽然没有像人类一样的眼睛,但它可以借助多种传感器来实现对周围环境的感知,在实现感知的过程中,我们需要使用大量的计算机视觉技术。
本节课,我们将学习图像分类模型、摄像头图像和激光雷达图像的工作原理,初步了解无人车感知领域的计算机视觉技术。
图像分类模型
计算机视觉是指计算机看待和理解世界的方式。作为人类,我们可以很轻松地识别图像中物体和它们之间的关系,但是对计算机而言,图像只是红色、绿色、蓝色值的集合,如何将这些有颜色的值解读成有意义的图像内容对计算机而言并不容易。
我们可以通过图像分类模型来表现计算机视觉的一般数据流程。在这之前,我们需要先了解图像分类模型在无人车四个感知世界核心任务中的位置:
检测找出物体在环境中的位置;
分类明确对象是什么;
跟踪随时间的推移观察车辆、行人等目标的移动;
语义分割将图像中的每个像素和语义进行匹配,分辨出道路、汽车、天空等。
图像分类模型是一种将图像作为输出并输出标识该图像的标签或“类别”的算法。例如:交通标志分类器能查看相关标志并识别它是停车标志、让路标志、限速标志。分类器甚至可以识别行为,如一个人是在走路还是在跑步 。
分类模型有很多种,但他们的工作步骤都是类似的:
计算机接受摄像头等成像设备的输入。这通常被捕获为图像或一系列图像;
对每一个图像进行预处理。预处理是对每一个图像进行标准化处理,常见的预处理步骤包括调整图像大小或旋转图像,或将图像从一个色彩空间转换为另一个色彩空间,例如全彩到灰度,预处理可以帮助模型更快地处理和学习图像;
提取特征。特征有助于计算机理解图像。例如将汽车与自行车区别开来的一些特征——汽车通常有更大的形状,并且有四个轮子而不是两个,所以形状和车轮是汽车的显著特征;
将这些特征输入到分类模型中。这个步骤使用特征来选择图像类别,例如分类器可以确定图像是否包含汽车、自行车、行人或者根本不包含这样的对象。
为了完成这些视觉任务,需要建立模型。模型是帮助计算机了解图像内容的工具,在计算机视觉中,无论经过训练的模型执行什么任务,它们通常在开始时将摄像头图像作为输入。
摄像头图像
摄像头图像是最常见的计算机视觉数据。以计算机的视角来看,图像只是二维网格,也被称为矩阵。矩阵的每个单元格都包含一个值,数字图像全部由像素组成,其中包含非常小的颜色或强度单位,图像中的每个像素都只是一个数值,这些值构成了我们的图像矩阵。
我们可以改变这些像素值,如通过为每个像素值添加一个标量整数来改变图像亮度等。这些数字网格是许多图像处理技术的基础,多数颜色和形状转换都只是通过对图像进行数学运算以及逐一对像素进行更改来完成的。
图示为彩色图像被构建为值的三维立方体,每个立方体都有高度、宽度和深度,深度为颜色通道的数量,大多数彩色图像以三种颜色组合表示:红色,绿色、蓝色,这些图像被称为 RGB 图像,RGB 图像的深度为3,因此 RGB 图像可用一个薄盒子表示,将深度视为三层叠加的二维色层很有帮助,一层是红色,一层为绿色,一层为蓝色,它们构建了一个完整的色彩图像。
激光雷达图像
感知扩展到传感器而不仅仅是摄像头,激光雷达传感器创建环境的点云表征,提供了难以通过摄像头图像获得的信息,如距离和高度。激光雷达传感器使用光线,尤其是激光来测量与环境中反射该光线的物体之间的距离。
激光雷达发射激光脉冲并测量物体,计算每个激光脉冲反射回传感器所花费的时间,反射需要的时间越长,物体距离传感器越远。激光雷达正是通过这种方式来构建世界的视觉表征。
以激光雷达的视角感知周围环境
如图所示,激光雷达通过发射激光脉冲来检测汽车周围的环境,蓝色表示反射激光脉冲的物体,中间的黑色区域是无人车本身占据的空间。由于激光雷达测量激光束反射,它收集的数据形成一团点或“点云”,点云中的每个点代表反射回传感器的激光束,这些点云可以告诉我们关于物体的许多信息,例如其形状和表面纹理。
激光雷达视角:红色表示行人,绿色表示车辆
通过对点进行聚类的分析,这些数据提供了足够的对象检测、跟踪或分类信息。在这里你可以看到在点云上执行的检测和分类结果,红点为行人,绿点表示其他车辆。
正如你所看到的那样,激光雷达数据提供了用于构建世界视觉表征的足够空间信息。计算机视觉技术不仅可以使用摄像头图像进行对象分类,还可以使用点云和其他类型的空间相关数据进行对象分类。
本节课,我们对计算机视觉技术有了初步的了解,下节课我们将进一步了解机器学习、神经网络和卷积神经网络的相关内容,敬请期待。
领取专属 10元无门槛券
私享最新 技术干货