疫情尚未消退,但总算迎来复工,因此工作、学习、消毒、防护、顾家、带娃一把抓,所以也就焦头烂额地顾不上更新,动作慢了在此一并致歉。同时也提醒关注我们车右智能公众号的朋友们、同行们,工作一定是重要的,但工作以外,更要注意自己和家人的安全。坚持再坚持,想必迎来真正春天的时间不会太遥远了。
在上一章节我们知道,Tesla这个Data Pipeline专利的核心内容,本质是如何有效地组织和利用Tesla车队每日所积累的巨量数据,除了实时地在每一辆Tesla上的FSD用以不断推进本地训练以外,更要在Tesla的云端平台和小一百万辆实体车辆之间构成大闭环方式的训练机制。这是Data Pipeline的核心目标。
Tesla的公开Data pipeline专利附图1(如上图)显示了用于使用深度学习流水线来执行机器学习处理的过程的流程图。图中的过程主要说明了“预处理”的必要性,通过预处理由传感器捕获的数据以用于深度学习分析。通过预处理传感器数据,可为深度学习提供有效数据,并获得更精确的结果来控制车辆。在一些具体的实施例中,预处理过程还可以解决传感器捕获的数据与神经网络期望用于深度学习的数据之间的数据失配问题。
上图的101处,Tesla的专利表明数据获取的源头在于车辆的各类型传感器所捕获的外界数据,特别地,Tesla指出以下三点:
第一:在一些实施例中,传感器被固定到环境和/或其他车辆,并远程接收数据。这是除了车身传感器以外的数据获取方法,也可以建立以道路基建为基础的数据获取方式。国内也有相关公司和机构在研究类似数据获取场景;
第二:在一些实施例中,Lidar数据是使用激光捕获的数据,可以包括被称为光检测和测距以及激光成像、检测和测距的技术。从这个对于数据种类接纳,可以判断Tesla的神经网络训练体系当中,并不像ElonMusk一样简单粗暴地排除Lidar的存在;
第三:在一些实施例中,传感器数据的位深度超过用于深度学习分析的神经网络的位深度。通常来讲,传感器直接获取的各类型数据的“数据深度”普遍都是比较丰富的。以可视的图形获取为例,即便是只有400*400大小,也有16万个像素点,如果再考虑每个像素的颜色(一般都是多通道的彩色图像捕获),可以用红R、绿G、蓝B、透明度四个值描述,大小范围都是0 ~ 255,比如黑色是[0,0, 0, 255],白色是[255, 255, 255,255],那么图形文件的数据厚度会大大加重后端神经网络的工作量从而使得在车端本地和云端中央处理大量可视的图形文件变得不可能。
因此,提前统一考虑传感器数据的异构型、来源不同和数据位数的丰厚不一,就十分有必要。因此有了图中的103模块——Pre-processing。
在上图的103处(Pre-processing模块),Tesla的自动驾驶系统将会对传感器数据执行数据预处理操作,这些操作包含但不限于以下:
第一:在一些实施例中,可以对传感器数据执行一个或多个预处理过程。例如,可以首先对数据进行预处理以去除噪声,校正对准问题和/或模糊等;根据目前普遍的计算机视觉技术,对于图案的噪声去除技术(相当于高频率波)和模糊技术(相当于低频滤波),通常有两种做法,一种是在图像的频域利用数字滤波技术来获取所需要的处理效果;另外一种是在图像的空间域,直接利用数字图像的卷积操作(Convolution)来获取所需要的处理效果。Tesla的具体处理方法不确定。但根据其功能所处的位置来看(Pre-processing阶段),更应该是计算力消耗较低的频域处理方法;
第二:在一些实施例中,对数据执行两次或更多次不同的滤波通过。例如,可以对数据执行高通滤波器,并且可以对数据执行低通滤波器。这个图像数字处理方法同上,在频率域上的高低通滤波或者带通滤波,都会在原始图像上捕捉到和后续处理重点相合拍的图像内容,这里不做重点描述;
第三:在一些实施例中,可以执行一个或多个带通滤波器。例如,除了高通和低通以外,还可以对数据执行一个或多个带通。同上,但此处强调的是在Pre-processing预处理阶段,Data Pipeline的相关模块化组织,不仅可以容纳单个高低通滤波操作,也还可以根据后端处理(AI神经网络的识别)的需要,提供各种各样的组合(包括一个或者多个的频域处理结果)。
在以上的各种实施例中,传感器数据都被分成两个或多个数据集,这里所谓不同的数据集就是原始传感器数据的不同组成部分。
更具体的Data Preprocessing预处理操作,在Data pipeline的专利描述中有这样的介绍。
第一:在一些实施例中,通过对传感器数据执行高通或带通滤波器来创建特征和/或边缘分量,并且通过对传感器数据执行低通或带通滤波器来创建全局数据分量;例如,可以通过从图像数据去除噪声和/或增强图像数据的局部对比度来处理高通分量;
第二:在一些实施例中,不同的分量(可以是高通分量也可以是低通分量)被压缩和/或下采样。例如,可以适当地压缩,调整大小和/或下采样组件,以调整数据的大小和/或分辨率,以将数据输入到机器学习模型的某一层。具体来说,预处理模块快可以调整传感器数据的位深度。例如,将以20位或另一适当位深度捕获数据的相机的数据通道压缩或量化为8位,以为8位机器学习模型准备通道。同样可以实现的是,一个或多个传感器以12位,16位,20位,32位……
在上图103处执行的预处理的模块,物理基础为图像预处理器。需要关注的是,“图像预处理器”不是一个固定的硬件资源,而是根据不同的预处理任务的需求不同而灵活调度的相关硬件资源。例如:在一些实施例中,图像预处理器可以是图形处理单元(GPU),或者中央处理单元(CPU),或者人工智能(AI)处理器,专用的图像信号处理器、色调映射器处理器或其他类似的硬件处理器。在各种实施例中,不同的图像预处理资源用于并行地提取和/或预处理不同的数据分量。
在上图中的105处,Data pipeline跳出了“预处理”过程而进入真正的Deep Learning模块而开始执行深度学习分析。使用机器学习模型(例如人工神经网络)执行深度学习分析。在各种实施例中,深度学习分析模块接收来自103预处理的传感器数据作为输入。
在一些具体的实施例中,在105处以多个不同的分量(诸如高通数据分量和低通数据分量)接收经处理的传感器数据。而在另一些实施例中,接收不同的数据分量作为对机器学习模型的不同层的输入。例如,神经网络接收高通分量作为对网络第一层的初始输入,而低通分量作为对网络后继层的输入。
以上专利中的技术描述为例,基本上就是目前我们所熟知的卷积神经网络体系结构,而卷积网络正是目前深度学习技术领域中非常具有代表性的神经网络之一,在图像分析和处理领域取得了众多突破性的进展。在学术界常用的标准图像标注集ImageNet上(一个某种或者某几种题材的图形库,包含图片的语义分析的训练图片部分和内容未标注的测试图片部分),基于卷积神经网络取得了很多成就,包括图像特征提取分类、场景识别等。
卷积神经网络相较于传统的图像处理算法的优点之一在于避免了对图像复杂的前期预处理过程,尤其是人工参与图像预处理过程,卷积神经网络可以直接输入原始图像进行一系列工作,至今己经广泛应用于各类图像相关的应用中。
Tesla的Data Pipeline流程,其本质就是卷积神经网络在对于图形文件特征提取(卷积操作)和图像压缩/下采样(池化操作)的重新梳理和组织。当然Data pipeline一定会针对Tesla的神经网络结构,而做出具体的调整。比如上述的,“神经网络接收高通分量作为对网络第一层的初始输入,而低通分量作为对网络后继层的输入。”即使一种比较新颖的数据喂养方式。
在最后的107处,Tesla的Data pipeline提供了深度学习分析的结果用于车辆控制。例如,可以将结果提供给车辆控制模块以调节车辆的速度和/或转向,以实现完全或者部分的自主驾驶功能。也可以将Data pipeline的输出结果指示神经网络应通过操纵车辆避免的物体,或者通过制动和改变车辆在车道上的位置来避免车辆危险变道等行为。
后续,我们将继续挖掘Data Pipeline中有价值的部分,加深我们对与神经网络和Tesla独有的数据提取和整理方法的理解。
敬请期待。
车右智能
info@co-driver.ai
备注:
1 题图来自于互联网搜索,;
2 文中图一,来自Tesla的Data pipeline专利描述插图;
3 文中专利内容描述,来自于美国的专利站点,https://patentscope2.wipo.int/search/en/detail.jsf?docId=WO2019245618&tab=PCTDESCRIPTION
4 文中关于卷积神经网络的一般描述来自于CSDN博主zsffuture。