如何做公众号小说网站赚钱,H5平台网站建设,wordpress文章地址,网站配色 橙色有朋友问我#xff0c;如何有效学习一个新技术。笔者这么多年的经验是#xff1a;1#xff09;了解国内外产业应用和标准法规现状#xff0c;先建立宏观知识图谱及技术系统框架#xff1b;2#xff09;根据系统框架逐块进行深入研究#xff08;横向、纵向#xff09;如何有效学习一个新技术。笔者这么多年的经验是1了解国内外产业应用和标准法规现状先建立宏观知识图谱及技术系统框架2根据系统框架逐块进行深入研究横向、纵向穿插行业内主流厂商对应模块技术方案3系统研究行业内TOP厂商完整解决方案4针对你选择的重点方向进阶研究。因此笔者建立的自动驾驶专题介绍也会按照这个思路搭建技术体系发布内容顺序不一定能严格遵守该路线但会力求不断更新最终能按照该思路完成自动驾驶专栏搭建。 本文及之后几篇系列文章旨在针对自动驾驶行业领军企业特斯拉的技术方案进行深入解读和分析资料来源特斯拉官网AI Day 2021AI Day 2022Inventor Day 2023。特斯拉自动驾驶技术的核心是三个点算法、数据和硬件以下笔者将分别介绍AI Day 2021AI Day 2022Inventor Day 2023三次分享的内容然后综合梳理出目前特斯拉自动驾驶解决方案。本文主要介绍特斯拉AI Day 2021的算法部分内容。
1 感知算法系统框架
1系统框架
摄像头raw data 1280*96012bit (HDR) 36Hz
特斯拉的感知算法系统取名为HydraNet九头蛇九头非常形象的表示了感知系统整个算法模型是一个多头任务学习神经网络架构旨在处理自动驾驶汽车所需的多种感知任务颈部形象的展示出整个感知模型共享特征提取部分从而提高计算效率和感知精度。
从上图可以看到整个算法模型的输入是来自8个摄像头提供的raw data通过神经网络将图像实时处理转换成4D向量空间包括自动驾驶所需一切物体的3D表示再加上时间维度包括线、边、道路、交通标志、行人、车辆的位置、方向、速度、角速度等。提取到的特征序列进入到特定任务头进行处理例如使用一阶YOLO进行目标检测等针对性完成更多任务处理。 2模型优点
HydraNet使用共同的共享骨干网络Backbone再分支到多个任务头进行具体的子任务处理具有非常明显的优势
特征共享在测试时可以通过共享前向传递推理提高车载系统的效率。任务解耦各任务独立进行互不影响因此更新某个数据集或更改某个任务头的架构时无需重新验证所有任务。瓶颈处理可以将Multi-scale features特征缓存到磁盘只需对缓存的特征进行微调即可。 3各组成模块
3.1Rectify校准
考虑到不同位置安装的摄像头的抖动等问题需要对每个输入的视觉数据进行校准就是Rectify模块的任务将所有图片转换为虚拟通用摄像头。 3.2Backbone主干
RegNet
Rectify校准之后的下一层是算法模型的backbone特征提取主干使用RegNet残差神经网络在延迟和精度之间进行了很好的折衷可以提供不同尺寸不同精度的特征输出。算法底部提供高精度空间信息W*H160*120低通道数C64可以看到更多图像细节顶部提供低精度空间信息W*H20*15高通道数C512可以看到图像的大部分而且具备更多上下文语义
RegNet由一系列重复的网络块组成通过一组参数如宽度、深度、分组卷积等来灵活调整网络规模使得网络能够适应不同的计算资源和任务需求在设计RegNet过程中重点关注网络的宽度通道数和深度层数的平衡确保在不同层次上都有足够的表达能力。
工作原理
网络块Simple Block每个网络块由标准的卷积层、批量归一化层和ReLU激活函数组成使用分组卷积来提高计算效率同时保持模型性能。阶段StageRegNet由多个阶段组成每个阶段由若干个相同的网络块组成不同阶段之间通过调整宽度通道数和分组数来改变计算复杂度和表达能力。
可调参数
w_0起始宽度第一个阶段的通道数。w_a宽度增量每个阶段的宽度增加量。w_m宽度乘数每个阶段的宽度乘数用于调整每个阶段的通道数。d深度每个阶段的网络块数。g组数每个卷积层的分组数用于分组卷积。 BiFPN
BiFPN全称是Bi-directional Feature Pyramid Network双向特征金字塔网络是谷歌在EfficientDet论文中提出的一种高效的特征融合模块旨在高效地融合来自不同尺度的特征增强多尺度目标检测的性能同时保持较低的计算复杂度。
BIFPN通过引入双向特征融合路径结合加权特征融合策略能够更有效地融合不同尺度的特征信息增强特征的表达能力提高了多尺度目标检测的性能。其主要思想包括
双向特征融合在传统的自顶向下路径之外增加自底向上的路径使得信息在不同尺度之间可以双向传递从而更好地融合多尺度特征。加权特征融合使用可学习的权重对不同尺度的特征进行加权融合从而自动学习特征融合的最佳方式。 BIFPN的结构如下
输入特征层来自主干网络如EfficientNet、ResNet等的多尺度特征层通常包括不同分辨率的特征图。双向路径自顶向下路径从高分辨率特征层开始通过上采样和逐层融合将高层次的语义信息传递到低分辨率特征层。自底向上路径从低分辨率特征层开始通过下采样和逐层融合将底层的空间细节信息传递到高分辨率特征层。加权特征融合在每个特征融合节点采用加权求和的方式将来自不同尺度的特征进行融合。具体地每个输入特征都乘以一个可学习的权重然后进行加权求和再经过归一化如Softmax以确保不同特征贡献的合理性。融合结果输出最终输出多尺度融合后的特征图供后续的目标检测头如分类和回归使用。 3.3数据融合BEVTransformer
8个摄像头提供的图像数据特征融合带来了2个问题
结合时间对多个图像数据处理和预测过程中调整占用跟踪器及其超参数非常复杂我们希望避免通过手写C来进行调参更希望在神经网络中完成实现端到端的优化。融合的2D图像空间并不理想希望直接在高维3D向量空间中进行处理。
如何将2D图像空间转换为向量空间将8张图像信息输入神经网络融合后输出得到向量空间并通过解码得到各个任务头的输出如何标注数据对于基于向量的特定数据集需要在向量空间中进行标注 针对第一个问题我们使用TransformerMulti-head Attention来解决。
Transformer是一种用于处理序列数据的神经网络架构由Vaswani等人在2017年提出最初用于机器翻译任务通过引入自注意力机制self-attention和多头注意力机制multi-head attention来捕捉序列中元素之间的关系不依赖于传统的递归神经网络RNN结构从而提高了并行计算能力和长距离依赖建模能力。 Transformer的架构
Transformer架构主要包括两个部分编码器Encoder和解码器Decoder每个部分都由若干个相同的层堆叠而成。
编码器Encoder由多个编码器层Encoder Layer组成每个编码器层包括多头自注意力子层和前馈神经网络子层。多头自注意力子层中自注意力机制通过计算序列中每个元素对其他所有元素的注意力权重来捕捉序列中的全局依赖关系多头注意力机制将输入分成多个部分每部分独立计算注意力然后将结果拼接起来并通过线性变换得到最终的输出。前馈神经网络子层中每个位置的输出都通过一个相同的前馈神经网络通常由两个线性变换和一个ReLU激活函数组成每个子层之后都使用残差连接Residual Connection和层归一化Layer Normalization。解码器Decoder也由多个解码器层Decoder Layer组成每个解码器层包括以下三个子层掩码多头自注意力子层类似于编码器中的多头自注意力子层但通过掩码机制确保每个位置只能关注当前位置及之前的位置从而保留自回归性质多头注意力子层通过注意力机制将解码器的输出与编码器的输出进行结合使解码器能够关注编码器中的信息前馈神经网络子层与编码器中的前馈神经网络子层相同每个子层之后都使用残差连接和层归一化。 多头注意力机制Multi-Head Attention
多头注意力机制是Transformer中的核心组件通过并行计算多个不同的自注意力来增强模型的表现力。其主要步骤如下 线性变换将输入的每个序列元素通过三个不同的线性变换得到查询Query、键Key和值Value向量。注意力计算计算查询与所有键的点积然后通过softmax函数得到注意力权重使用这些权重对值向量进行加权求和得到注意力输出。多头计算重复上述过程多个头次通常是8或16每个头都有独立的查询、键和值向量。将所有头的输出拼接起来通过另一个线性变换得到最终的多头注意力输出。 自注意力机制Self-Attention
自注意力机制允许序列中的每个位置与其他所有位置进行交互从而捕捉长距离依赖关系。其具体步骤如下
计算查询、键和值对于输入序列中的每个元素通过线性变换得到查询、键和值向量。点积注意力计算查询向量与所有键向量的点积得到注意力分数通过softmax函数将分数转换为注意力权重。加权求和使用注意力权重对值向量进行加权求和得到注意力输出。 3.4Video Neural Net
基于融合数据后获得得3D向量空间需要增加记忆信息获得更加准确得环境感知能力。
Feature queue基于之前获取了多尺度特征后随着时间推移缓存一些特征值Feature queue同时需要获取汽车动力学数据例如速度加速度了解汽车如何行驶。Video component负责融合这些临时数据然后进入到多头任务中进行解码。
Feature Queue
Feature queue需要每隔27ms推送time-based queue这样即使有些目标被大车遮挡依然可以通过历史记忆数据知道大车后面得东西需要每隔1米推送space-based queue这样当预测到一条转弯的道路可以通过记忆数据识别到交通标志等信息。
Spatial RNN Video Module
Video module使用了spatial RNN (LSTM)。长短期记忆网络Long Short-Term MemoryLSTM是一种特殊类型的循环神经网络通常用于处理和预测时间序列数据如文本、语音、视频等比标准的RNN在处理长序列数据时更有效因为它能够捕获和记忆长期依赖关系。
LSTM网络由一系列的“门”单元组成这些门单元可以选择性地让信息通过网络。主要的门单元包括遗忘门、输入门和输出门它们的作用如下
遗忘门Forget Gate 控制前一时刻的记忆是否保留到当前时刻决定了要从细胞状态中丢弃哪些信息。遗忘门的输出由当前输入和前一时刻的隐藏状态共同决定。输入门Input Gate 控制新的信息如何加入到细胞状态中确定了要更新的内容并将其加入到细胞状态中。输入门的输出由当前输入和前一时刻的隐藏状态共同决定。细胞状态Cell State 细胞状态是LSTM网络的核心部分负责传递长期依赖关系。细胞状态通过遗忘门和输入门进行更新以及通过输出门传递给下一时刻的隐藏状态。输出门Output Gate 决定当前时刻的隐藏状态如何影响输出通过将细胞状态与当前输入和前一时刻的隐藏状态相结合来生成当前时刻的输出。
2 规划控制系统算法
特斯拉关于规控的介绍内容非常少
系统的目标safety安全comfort舒适efficiency高效
关键难题action space is very non-convex high dimensional自动驾驶中可以操作的动作空间例如方向盘角度、加速度、刹车力度具备非凸性一个空间是非凸的意味着在该空间中任意两点之间的连线不一定完全位于该空间内即空间中可能存在“凹陷”或“洞”导致标准的优化算法如梯度下降可能会陷入局部最优解而无法找到全局最优解高维性指的是维度即自由度非常高的空间搜索和优化问题更加复杂。维度的增加导致搜索空间呈指数级增长使得算法的计算成本和所需的数据量大幅上升。 特斯拉的解决方案如下需要进行搜索来规划车辆的行驶路径考虑到车辆本身以及周围环境的情况通过设置上下文走廊并优化平滑路径可以实现更高效的行驶规划在非常短的时间内进行成千上万次搜索支持10秒的规划。 不同地区的驾驶环境可能复杂多变需要适应不同的场景和驾驶习惯需要考虑其它智能体进行综合规划另外使用基于学习的方法如神经网络获得更好更光滑的运动轨迹可以更有效地解决复杂的行驶规划问题。
举例通过训练神经网络可以解决简单的停车问题而无需使用导航启发式方法。神经网络能够吸收场景的全局上下文并产生一个有效的值函数引导车辆朝着全局最小值前进而不是陷入局部最小值。使用蒙特卡罗树搜索MCTS的方法进行研究神经网络能够在一次尝试中就取得进展直接朝着目标前进大大减少了搜索节点数量。 3 感知规控整体架构
感知系统将8个摄像头稠密的图像数据进行融合转换成向量空间送入explicit基于规则和NN基于神经网络的规控系统生成期望的运动轨迹操作汽车方向盘和速度。