钟娟:复睿微电子自动驾驶算法专家,毕业于中国科学院,曾就职于清华大学联合研究所,先后担任资深算法专家、系统架构专家,长期从事图像算法和人工智能领域科学研究工作。
从现场视频来看,撞击路段的路况、视野和天气都较为良好,由于刚完成掉头,车速看起来也不快。有人对视频进行了详尽的分析,车辆从掉头点到撞击点的直线距离大约180多米,行驶总用时12秒,平均速度为55公里时速,在前10秒的时间都在中间车道正常行驶,最后2秒时开始偏离车道,以接近60公里的时速撞向分离岛。据救援人员描述,林某某被救时安全带是解开状态,但是事故前解开还是事故后解开并未得到证实。
事故原因尚在调查中,发生撞击的事故车前半部分被烧毁,林某某目前意识清醒,由于脑部发生撞击对于车祸发生时的记忆部分失忆,事发经过需要等林某某完全康复之后才有可能被完整的呈现。大家对事故原因的分析主要有两类猜测:
有人认为是车辆系统的问题,在辅助驾驶开启的情况下,特斯拉Autopilot极有可能没识别出前方带V字型的导流带和匝道口,导致碰撞。和这起事故特别相似的一起发生在2018年3月,当时苹果工程师黄伟伦驾驶的Model X,在Autopilot启动的情况下,撞上了美国加州高速公路的匝道隔离栏,导致车辆起火,不幸遇难。
也有人认为是人为的因素,因为被救时林某某安全带是解开状态,特斯拉解开安全带会强制退出自动辅助驾驶,车辆交给人控制,以林某某赛车手的经验,偏离车道2秒时间应该是足够人工干预进行避让的,但从车辆运行轨迹可以看出并没有避让动作发生,极有可能是分神了。
现在国内很多车辆处在L2+阶段,向L3/L4级别过渡面临巨大挑战。除了硬件的升级,基于硬件的各种演进算法层出不穷,Transformer在这一轮的算法迭代中被深入研究,特斯拉基于纯视觉的Transformer将多摄像头特征有效融合到BEV空间进行感知,更是引起了大家对Transformer的广泛关注。近期,我们对Transformer模型进行了深度剖析,对于模型的应用场景、算法原理、算子以及硬件加速做出了多方位思考。
Transformer使用Attention机制,Attention机制中的Q、K、V对应Query、Key、Value,Query、Key、Value的概念取自于信息检索系统。举例来说,当你在某个电商平台搜索一个商品,引擎上输入的内容便是Query,然后搜索引擎根据Query为你匹配Key(商品的属性),然后根据Query和Key的相似度得到匹配的内容Value。
Self-Attention中的Q,K,V也是起着类似的作用,在矩阵计算中,点积是计算两个矩阵相似度的方法之一,使用Q、K进行相似度计算,接着根据相似度与V进行加权匹配,权值就是Query和Key的相似度。经过Self-Attention层后,输入信息互相之间建立了联系,这种联系是可以由并行计算(矩阵运算)完成的,但这种矩阵计算对位置信息一无所知(没有顺序),因此,Transformer对输入进行了位置编码(Positional Encoding),输入的序列位置和顺序信息被一起送入网络,保留了输入图像的位置信息和音频的时序信息。Self-Attention的输出会再经过归一化和前馈网络,完成一次Encoder Layer工作,在Transformer中会级联多个Encoder Layer来完成编码工作,在输入信息之间建立更强的联系。
Transformer的解码器也包含多个Decoder Layer, Decoder Layer和Encoder Layer在机构上非常相似,最大的不同之处在于,Decoder Layer采用Cross-Attention机制,即Query来自于Decoder,Key和Value来自于Encoder。Encoder的输出尺寸和原始信号的尺寸保持一致,而Decoder的输出尺寸根据不同的需求进行自定义,和原始信号尺寸无关。例如,在做自动驾驶图像处理时Encoder的输出都是图像特征金字塔某一层的输入尺寸(240x135x256),而Decoder的输出可以是自定义鸟瞰图(BEV视角)的特征图尺寸(100x100x256),也可以是自定义的检测框(100x3x256)。这也是Transformer的神奇之处,网络将物体从一个特征空间转换到另外一个特征空间,你不用考虑两个空间如何去匹配,Transformer自动帮你完成。
Deformable DETR,Deformable DETR采用Deformable Attention(变形注意力机制),模块思想源于Deformable CNN。Deformable DETR沿用DETR的思想,不同的是仅从特征图中Query的邻域内预测固定数量(4个)的采样点计算Attention,邻域内采样点的位置偏移量是模型训练学习出来的。由于采用了稀疏的注意力模式,计算量大幅度下降。其Deformable Attention的机制能够让模型自动学习到感兴趣的区域(像素点)来进行关注,这种机制在多摄像机BEV特征融合、特征金字塔多层融合以及多传感器特征融合中得到广泛应用。
FUTR3D,FUTR3D采用类似于DETR3D的结构,不同的是FUTR3D融合了相机、激光雷达和毫米波雷达的多传感器信息。用Resnet进行相机特征提取,用PointPilar进行激光雷达特征提取,毫米波雷达直接采用雷达点云。在特征投影时,雷达直接用BEV下的三维参考点投影,相机采用DETR3D类似投影,然后将所有传感器投影特征进行级联,最后使用MLP网络对级联特征进行编码得到融合的投影特征,编码器结构与DETR3D一样,输出也是3D检测框和类别。
MUTR3D,MUTR3D是一个端到端的目标跟踪框架。用Resnet和FPN分别提取特征并进行多尺度特征融合。然后MUTR3D对于每一帧进行了两种类型的查询,新生查询用类似DETR3D的方式获得3D检测框Object Query,旧查询Old Query是来自先前帧成功检测或跟踪到的目标。旧查询负责跟踪当前帧中之前出现的目标(第一次成功检测到就被分配),新生查询负责当前帧中检测新出现的目标(和旧查询没有匹配的目标),两个查询一起完成跟踪任务。MUTR3D采用和DETR3D类似的Transformer结构,可以完成3D目标检测跟踪。
位置编码带来的sin/cos计算
Swin Transformer中各层中不同window对于数据tile的影响以及片内存储的需求
Deformable Attention机制中,多采样点的位置偏移量对数据tile和片内存储的需求
大模型(量化前的Transformer模型动作几百M,甚至上G)在加速单元里的部署
1. End-to-End Object Detection with Transformers
2. Swin Transformer: Hierarchical Vision Transformer using Shifted Windows
3. An image is worth 16×16 words: Transformers for image recognition at scale
4. DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO -END OBJECT DETECTION
5. BEVSegFormer: Bird’s Eye View Semantic Segmentation From Arbitrary Camera Rigs
6. BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers
7. DETR3D: 3D Object Detection from Multi-view Images via 3D-to-2D Queries
8. FUTR3D: A Unified Sensor Fusion Framework for 3D Detection
9. MUTR3D: A Multi-camera Tracking Framework via 3D-to-2D Queries
10. BEVerse: Unified Perception and Prediction in Birds-Eye-View for Vision-Centric Autonomous Driving
11. VectorMapNet: End-to-end Vectorized HD Map Learning
12. BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View
13. PETR: Position Embedding Transformation for Multi-View 3D Object Detection
原文始发于微信公众号(焉知智能汽车):从特斯拉林某某事件看Transformer