特斯拉中国T-talk:浅析纯视觉自动驾驶技术架构

原创
智能汽车
特斯拉中国组织了一场T-talk交流活动,为我们解析了特斯拉,如何用纯视觉技术实现自动驾驶的整体架构,通过一些特征案例来介绍架构中每部分能解决的实际问题。

【51CTO.com原创稿件】近日,特斯拉中国组织了一场T-talk交流活动,为我们解析了特斯拉,如何用纯视觉技术实现自动驾驶的整体架构,通过一些特征案例来介绍架构中每部分能解决的实际问题。

这次交流活动的核心,基于8月份特斯拉在美国举办AI Day的自动驾驶部分,活动中对数据如何提取、归类和优化,以及向量空间构建等关键点做了解释。 

整体架构一览

1

我们先来了解一下特斯拉用纯视觉技术实现自动驾驶的整体架构(上图)。

从下向上来看:

(1)多机位相机拍摄到不同角度的图像RAW文件;

(2)经过RegNet网络(某种卷积神经网络)及BiFPN(加强特征提取)进行特征提取;

到这里,系统已经高效的提取出图像里的有用信息。

(3)经过Transformer进行特征融合及MLP的特征修正,将特征数据重新表示到向量空间中,并在时间和空间上形成一个特征队列。

(4)通过队列的方式获得Video的特征,加入IMU数据,形成4D影像;

(5)经过Spatial RNN进行特征提取;

(6)最终再经过不同的检测头实现车辆、行人、车道线、深度图、速度/方向等检测。

接下来我们要说两方面关键技术,一方面是如何高效提取特征数据,一方面是向量空间怎么建立。

加强特征提取

首先认识这两个方法:FPN——特征提取, BiFPN——加强特征提取 。因为同一物体的数据在不同层级提取出来是不同的,我们要把它在有用的层级里进行强化,就用到了BiFPN。

前面说过BiFPN能在卷积神经网络的不同层里灵活的提取特征数据,因此让数据提取变得高效。

下面这个例子就是利用BiFPN提取两个不同层级里的特征数据,要证明右下图像的远处的物体是一辆车。BiFPN会提取不同分辨率信息,并把这些信息融合。因为同一个物体在不同的尺度(分别率)下,显示的样貌不同,在放大的图像里远处的车很模糊,看不出是车,但从整个图像看,远处路上的点与周围像素不同,最终系统会判定它是一辆车。实际运用中,采用BiFPN的多尺度特征融合方法,可以获得四个尺度160×120×64、80×60×128、40×30×256、20×15×512的多尺度特征图,用于感知不同尺度的目标。

2

多任务HydraNets

HydraNets,多任务学习的感知框架,具有多任务共享特征,同时进行多任务处理。HydraNets有三个特点:

(1)特征共享:通过backbone网络进行特征提取之后,同时可以进行多个任务的处理,提高推理效率;

(2)解耦合:多个任务间互不干扰;

(3)Fine-Tuning:在fine-tune时可以将backbone网络固定住,只训练检测头的参数,提高效率。

3

接下来聊一聊这样网络结构给我们带来什么样的好处。

特征共享

首先是特征共享,也就是不同任务都采用主干网络前向传播推理过程,这样从侧面节省了测试时间,有效将测试时间均摊到不同任务,FSD有上千种目标需要识别,共享主干网络的特征大大节省了时间。

4

任务之间的低耦合

回到架构的最后Head部分,每个Head都在执行不同的任务,比如识别道路、树木、车辆等,HydraNets实现了各个Head之间的解耦,他们从同一个网络中提取数据的过程互不干扰。

多相机向量空间预测/校准

既然单个相机预测的结果会导致很大的偏差,通过多个相机的图像的特征进行融合,然后再进行检测,也就是把多个图像特征融合在一起,最终只预测出一个结果,就能很好的解决多相机预测融合的问题。

5

多机位的相机拍摄到图像,经过BackBone进行特征提取,获得多尺度特征,最后送入到红色的框框中,最后完成检测。

通过Transformer(下图左侧框中)来实现多机位特征到结果的预测,由于通过融入不同相机的位置信息,能够获得准确的空间位置映射。

6

下图表示的是‘单相机检测结果融合’与‘多相机特征融合’的检测结果比较。可见单相机检测结果融合(黄色)由于角度偏差预测的结果不准确;而多相机(蓝色)特征的融合检测结果更加准确。

目前国内的版本上,我们遇到过屏幕上显示识别的车辆会抖动,就是黄色造成的结果。

7

另外,针对机器缺乏记忆的能力,也就是不会等红灯或左转不会让直行等情况,架构中加入了视频模和IMU信息来解决这类问题。

视频模块,保留一段时序特征图,通过队列的数据结构实现,另外这里还融入了IMU信息,提升了定位、跟踪方面的准确性。

8

架构中还有许多功能,在这里我们先不一一解释,有兴趣的朋友欢迎给我们提出意见和想法。

特斯拉通过在车上部署影子模式,在不开启FSD的情况下,依然能持续收集数据进行训练,这个模式不参与正常的驾驶,但会把有用的数据收集反馈给系统。看到影子模式你就会明白,为什么销量对智能车企做自动驾驶很重要。

总结一下,特斯拉整个的流程是先建立实际道路路况数据库,这一过程依靠特斯拉卖出的所有车和车主的驾驶来完成。数据经过标注(人工和自动),划分出人、车或者车道线等特征数据,这些特征数据进入到训练系统,并部署到车上,车在使用中发现问题会记录特征信息返还给训练系统。如此往复形成深度学习,进而推动特斯拉FSD(完全自动驾驶)技术的进化。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

 

责任编辑:刘骏飞 来源: 51CTO
相关推荐

2023-03-14 09:40:33

自动驾驶

2023-01-12 09:25:11

自动驾驶

2023-05-06 10:02:37

深度学习算法

2024-05-21 09:46:35

视觉自动驾驶

2023-02-13 12:15:41

自动驾驶算法

2021-12-01 10:21:27

自动驾驶技术人工智能

2022-02-17 10:22:17

汽车智能自动驾驶

2023-03-15 11:54:32

无人驾驶系统

2023-03-11 22:44:04

人工智能特斯拉

2024-01-03 15:07:10

2022-01-10 11:12:54

自动驾驶数据人工智能

2023-03-30 09:57:04

2016-10-21 20:16:25

安全性自动驾驶特斯拉

2023-07-07 10:37:43

自动驾驶技术

2024-05-29 09:14:11

2024-09-05 15:00:00

特斯拉无人驾驶

2022-08-29 14:44:09

特斯拉芯片

2020-01-09 08:42:23

自动驾驶AI人工智能

2022-04-25 15:13:03

自动驾驶传感器

2023-11-27 10:26:59

自动驾驶特斯拉
点赞
收藏

51CTO技术栈公众号