特斯拉自动驾驶如何做数据标注?

汽车电子与软件 2022-10-09 08:53

作者 | PerceptionX

来源 | 计算机视觉life(直接);知乎@PerceptionX

原文 | https://zhuanlan.zhihu.com/p/466426243

Tesla对自动标注的技术和要求:

● 首先是在Vector Space上的标注, 需要对数据做出分析处理,数据标注工具的搭建;
● 一个离线大模型对数据进行标注,车载模型相当于对大模型进行蒸馏;并且拥有强大的数据采集能力;

● 核心技术方面:三维重建与视觉SLAM等算法。


下面我们就来为这三点慢慢展开。


特斯拉高级主管提供的信息

首先我们recall一下特斯拉高级主管Andrej Karpathy在2021 CVPR上对特斯拉自动驾驶现状讲解时提供的信息。

● 要想成功训练出一个网络,对数据的需求特征:
1. 你需要有大量的数据,这里可以指成千上万个视频片段;
2. 需要有Sanity Check, 需要干净的数据,数据的标注需要涵盖深度、速度、加速度信息;
3. 需要多种多类的数据,即使在同一个简单场景跑一万年,实际上的作用也不大,更重要的是需要大量的corner cases。
● 整体的数据闭环体系:

数据采集 → 搭建数据集 → 自动+人工标注 → 送入模型训练 → 量化部署到车端上。

● 重视Data labelling:

在整个特斯拉自动驾驶里面,Data labelling可能比网络部分还要重要,因为数据这一块容易用一些技巧去提升效果。



特斯拉数据标注策略的演变

一开始tesla选择和第三方公司合作,但很快就发现标注效率很低,并且沟通的成本很高,后来他们选择自己建立标注团队,也实现了比较好的产出。

我们可以从图片的下方看到数据标注量在后面时间段产出都比较稳定。

我们猜测其中有两点起到了作用:

1. Tesla自主开发了一个数据标注平台,包括数据标注工具与数据分析工具;
2. 公司自己组建了一个千人标注团队,(不确定是否都是全职)专门负责数据的标注。

 NO.1 

早期的2D平面标注

回到最初,Tesla是在2D的平面上对数进行精细的标注, 例如上图,不仅对车道线+朝向,红绿灯,行人做标注,连对锥形雪糕筒,左边路面的拖拉机,大卡车也会去做标注(估计归类为construction)。

但是对于这种方法, Tesla就发现这么一张一张去标注不太work, 并且一直这么标也不知道什么时到终点。

2D 标注demo

 NO.2 

4D Space + Time Labelling

接下来Tesla马上转变到一个4D Space + Time Labelling 的标注模式,在我们看来其实像一个vector space 下 3D 标注 + 时间序列,加入时间序列主要作用是知道前面发生了什么,把前面的东西保留,可以将信息投到后面,例如3D版的CVAT。

整个思想是,在3D空间下标注,然后再投到8个摄像机里面,简单来说,可以理解为 amount of the labels in 3D space (vector space) = ⅛ amount of labels in 8 camera views (image space)。这里可能会涉及到2D标注与3D标注之前的成本问题,很明显我们都知道标注一张2D的图像会比标注一张3D的图像成本低,但如果是 8张2D的图像对比1张3D的图像,从Tesla 的做法来看,是标注1张3D图像的成本效果要比较好。

但其实即使你标注获得了8倍的数据,对自动驾驶而言也还是不够用的。我们在之前的图片也看到,在CVPR2021 WAD的时候, Tesla 有60亿个标注,和1.5 Pentabytes (PB) 的数据,如果单单利用人工劳动力去标注,是不大可能做到如此庞大的数据量的。


特斯拉的auto-labeling分析


这是Tesla Auto-Labelling 的整个pipeline, 它会有视频片段,大概就是10s到60s的视频,这些视频来源可以是他们车队采集,或者是shadow mode 上传的,这些视频片段包括了图像,IMU,GPS,Odometry(里程计)的数据,压缩成一个个packages,传到服务器上面。

然后服务器上面会有Offline Neural Networks, 离线神经网络,这里相当于一个大规模模型,是他们针对图像上的物体做的。

检测识别精度会比较准,会对不同的camera输出的图像做预处理,可以输出semantic segmentation, depth estimation,还可以多帧之间点matching的结果;

接着通过一个机器人行业流行的AI 算法,在我们看来就是利用nerf,SLAM等算法,把整个三维场景重建出来,然后构建出不同的label, 有道路的重建,动态/静态物体的重建,这样就可以打包成不同的labels,其实label这一模块是依托于大模型的输出的,所以tesla 在整个autolabelling 和网络训练的过程,其实是让车端运行的neural network去蒸馏大网络的输出,是这样的一个过程。

接着我们会有一个问题:tesla是怎么重建道路的呢?或者会有疑问,检测网络是有了(HydraNet),然后数据是怎么获得的呢?

首先会用一个隐式MLP(multilayer perceptron)表示道路,然后给每一个道路(x,y)的request,然后可以收获 Ground Height, Lane Line, Crub, Asphalt(沥青), crosswalk 等信息,可以视为BEV视角下的一个栅格化表示。


获得这些信息之后,我们可以把他们投影到8个camera上,如上图右上的地方,相当于对每一个点作分类处理,如车道线。右下的图片是大模型对右上图做的一个Segmentation的结果,当3D投影结果跟2D 重合的时候,我们就认为我们道路重建准确。

为了让大家更加理解这个过程,其实这个过程是基于一篇 paper,ECCV 2020 NeRF的 paper, (Mildenhall, Ben, et al. "Nerf: Representing scenes as neural radiance fields for view synthesis." ECCV, 2020.)

Nerf 所解决的是一个什么问题呢?可以看到图片中下放nearest input 这一部分,有一些离散的,不同视角下的一些输入,然后我们的目的是输出一个三维重建的图,作为物体的重建。

然后nerf对物体的重建的过程也比较有意思,一般我们表示一个物体,例如会用match去表示,或者用各种显式去表示,但这篇文章并没有用一种显式的方式去表示,而是用一个多层神经网络,即MLP,去表示物体的本身。

如上图左边,当我们有(x,y,z,θ,ϕ),即三维空间点x,y,z,以及视角θ,ϕ;如图(a),在每条射线上的每个点,都带着(x,y,z),以及(θ,ϕ)信息,通过MLP后输出RGB信息,如果我们采集的点越来越多,我们得到更多不同的RGB,这样我们就可以把整个物体重建出来,也就是说我们要让这个网络过拟合某一个特殊的场景,其实这个MLP表示的就是这个场景本身。

在图(b)中,我们在不同视角下会有一ground truth(真值),即不同视角下的图片。然后当图(b) output 中 2D 的投影与我们的真值吻合的时候,我们就可以认为这3D的modelling 建立得比较好。然后从input隐式3D,通过MLP,到2D的过程,这一流程其实也就是一个渲染的过程。用到了Volume Rendering, 并且整个pipeline是可导的,保证了rendering loss function 可以把梯度反向传播回到MLP,不断地去优化我们的模型,模型就会逐渐贴近我们的这个三维物体。

这个过程里面,有一点很重要,就是MLP这个模型,可以理解为物体本身,如果对应到Tesla 方案上,MLP就是道路本身(一个隐式表示)。

可能说的有点散了,我们现在来梳理一下,具体来说:

为什么要这么做呢?因为我们需要一ground truth 来给Tesla vision去训练, 然而我们又怎么去建立这个ground truth 呢?

答案:借鉴NeRF的思想,这过程有几处具有挑战的地方:

1. 在场景重建的时候,我们需要获得每一个摄像头的位置信息,比如说我们需要知道每个摄像头的外参,这里TESLA可能是通过SLAM(camera+IMU)来获得相机在帧与帧之间的转移矩阵;

2. 第二个挑战是要保证渲染的过程是一个可微渲染,这样才能对道路模型进行梯度优化。

Restructuring the Road 结果:重建的结果还是挺好的。

Restructuring the Road 结果


● Static Objects 静态物体标注


整个静态物体的构建过程,其实就是一个SLAM,然后把地图重建出来。建完图后,我们可以把地图当作psudo lidar了,可以用lidar算法去做目标检测等任务。当然,也可以人工去标注,但tesla 大概率是大模型做auto labeling, 然后人工去做refine。

● Dynamic Objects 动态物体标注


对于动态物体的标注,如运动的车辆等:
1.首先第一个,用psudo lidar 的方式,构建出深度信息。tesla 在这方面估计会有很多大模型,并且利用自监督的深度估计算法去得到距离信息,据发布会说这效果也做得挺好。
2.利用radar,直接得出深度信息。因为在auto-labeling 的过程中,其实是离线的,所以可以用到前后帧的信息,即事件发生之前,与之后的信息模型都能知道,可以做一个全局优化。
并且在离线训练的状态下,也没有实时的要求,tesla 在这过程可以上一些复杂的算法,来达到更加好的效果。
3. 然后Tesla 通过 Static objects & Dynamic objects 的方法,对路面及行人信息做出标注。由于离线训练,可以知道当前帧前后的信息,所以即使行人被车挡住了,跟进时序信息,也可以追踪车后的行人。



车辆自动标注调研

关于车辆标注,我们也找了一些自动化标注的资料:Zakharov, Sergey, et al. "Autolabeling 3d objects with differentiable rendering of sdf shape priors." CVPR 2020

详情请看:

https://www.youtube.com/watch?v=VQcDcYsWk00

TRI的这篇工作中,首先使用车辆的三维模型训练一个SDF模型(类似Nerf,也是三维场景的一种表示),该SDF模型含有latent code(上图中的SDF vector)。通过修改latent code,可以控制车辆的形状,以生成不同的车型。


当获取到输入图像后,首先进行segmentation,并预估一个车辆的初始位置。根据车辆的初始位置及SDF模型,可以渲染出车辆在图像上的投影。结合车辆的segmentation,车辆位姿及其二维投影,可以构建出2D、3D两个loss。对loss做梯度下降,优化SDF vector及车辆位姿。

当车辆投影在二维上跟分割结果重合、三维上和lidar点重合时,车辆的形状及位姿较为准确,从而获取车辆的三维标注信息。作者使用该方法在KITTI数据集上生成的数据,在BEV指标下达到了人工标注的性能。

● Auto-labeling Datasets 预览



我们可以看到整个clip相当于对整个场景做三维重建了,然后最近有一趋势,即把车身信号,image,lidar point cloud, prediction, 等数据都整合到一起,形成一段video clip,这我比较方便我们去train multi-task model。

特斯拉的数据集包含了车的位置,行人的位置,以及周围场景信息,算是比较丰富的数据集。目前学术界所开源的自动驾驶数据集并没有这么丰富,例如waymo open datasets 普遍是一段一段的,perception and prediction模块之间的标注也没有集合到一起。Nuscene虽然有给到各种数据,但也不是那么让人满意。

这里我们PerceptionX 先宣传一波我们自建的数据集OpenLane,集合了当前自动驾驶数据集未涉及到的标注任务,是 community 首次推出真实场景 3D 车道线标注;同时也是规模最大的、同时包含了车道线和物体检测等内容,方便后续感知任务的扩展。

OpenLanes数据集下载链接:

https://opendatalab.com/OpenLane

(点击阅读原文查看)

● Removing radar:

这里仍然不得不提到特斯拉利用autolabeling pipeline在自动驾驶上去雷达的举措,相信有很多文章也提到过,radar跟camera在一些场景下会产生矛盾,例如在高速通过拱桥的时候,桥是静态物体,但路面的车是动态物体,radar检测到的桥容易mismatch并错误认为车也是静态物体,然后tesla自动驾驶在高速上减速了。

但这不是重点,重点是右边的部分,要去掉radar,就需要camera做得比radar要好,但在右边这种一系列的大雾场景,传统的相机做的检测、深度估计任务确实没有radar好,这种问题可以怎么解决呢?

Tesla 派了一庞大的车队,采集了1万+恶劣天气场景的video clips, 然后通过auto-labeling pipeline,一周内就标注完了,然后送到网络里面去训练,最后得到的效果如下所示:


正是因为特斯拉拥有开篇总结的三点自动标注技术和要求,才在短时间内收集大量且在特殊场景的数据,对数据进行快速(自动)标注,达到模型快速迭代,快速解决corner cases的效果,应对了第一段我们提到的“打造自动驾驶的数据闭环”中的核心技术。

汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论
  • By Toradex 秦海1). 简介嵌入式平台设备基于Yocto Linux 在开发后期量产前期,为了安全以及提高启动速度等考虑,希望将 ARM 处理器平台的 Debug Console 输出关闭,本文就基于 NXP i.MX8MP ARM 处理器平台来演示相关流程。 本文所示例的平台来自于 Toradex Verdin i.MX8MP 嵌入式平台。  2. 准备a). Verdin i.MX8MP ARM核心版配合Dahlia载板并
    hai.qin_651820742 2025-01-07 14:52 105浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 198浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 155浏览
  • 根据环洋市场咨询(Global Info Research)项目团队最新调研,预计2030年全球无人机锂电池产值达到2457百万美元,2024-2030年期间年复合增长率CAGR为9.6%。 无人机锂电池是无人机动力系统中存储并释放能量的部分。无人机使用的动力电池,大多数是锂聚合物电池,相较其他电池,锂聚合物电池具有较高的能量密度,较长寿命,同时也具有良好的放电特性和安全性。 全球无人机锂电池核心厂商有宁德新能源科技、欣旺达、鹏辉能源、深圳格瑞普和EaglePicher等,前五大厂商占有全球
    GIRtina 2025-01-07 11:02 118浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 214浏览
  • 本文介绍编译Android13 ROOT权限固件的方法,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。关闭selinux修改此文件("+"号为修改内容)device/rockchip/common/BoardConfig.mkBOARD_BOOT_HEADER_VERSION ?= 2BOARD_MKBOOTIMG_ARGS :=BOARD_PREBUILT_DTB
    Industio_触觉智能 2025-01-08 00:06 88浏览
  • 故障现象一辆2017款东风风神AX7车,搭载DFMA14T发动机,累计行驶里程约为13.7万km。该车冷起动后怠速运转正常,热机后怠速运转不稳,组合仪表上的发动机转速表指针上下轻微抖动。 故障诊断 用故障检测仪检测,发动机控制单元中无故障代码存储;读取发动机数据流,发现进气歧管绝对压力波动明显,有时能达到69 kPa,明显偏高,推断可能的原因有:进气系统漏气;进气歧管绝对压力传感器信号失真;发动机机械故障。首先从节气门处打烟雾,没有发现进气管周围有漏气的地方;接着拔下进气管上的两个真空
    虹科Pico汽车示波器 2025-01-08 16:51 64浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 162浏览
  • 大模型的赋能是指利用大型机器学习模型(如深度学习模型)来增强或改进各种应用和服务。这种技术在许多领域都显示出了巨大的潜力,包括但不限于以下几个方面: 1. 企业服务:大模型可以用于构建智能客服系统、知识库问答系统等,提升企业的服务质量和运营效率。 2. 教育服务:在教育领域,大模型被应用于个性化学习、智能辅导、作业批改等,帮助教师减轻工作负担,提高教学质量。 3. 工业智能化:大模型有助于解决工业领域的复杂性和不确定性问题,尽管在认知能力方面尚未完全具备专家级的复杂决策能力。 4. 消费
    丙丁先生 2025-01-07 09:25 113浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 123浏览
  • 「他明明跟我同梯进来,为什么就是升得比我快?」许多人都有这样的疑问:明明就战绩也不比隔壁同事差,升迁之路却比别人苦。其实,之间的差异就在于「领导力」。並非必须当管理者才需要「领导力」,而是散发领导力特质的人,才更容易被晓明。许多领导力和特质,都可以通过努力和学习获得,因此就算不是天生的领导者,也能成为一个具备领导魅力的人,进而被老板看见,向你伸出升迁的橘子枝。领导力是什么?领导力是一种能力或特质,甚至可以说是一种「影响力」。好的领导者通常具备影响和鼓励他人的能力,并导引他们朝着共同的目标和愿景前
    优思学院 2025-01-08 14:54 56浏览
  • 村田是目前全球量产硅电容的领先企业,其在2016年收购了法国IPDiA头部硅电容器公司,并于2023年6月宣布投资约100亿日元将硅电容产能提升两倍。以下内容主要来自村田官网信息整理,村田高密度硅电容器采用半导体MOS工艺开发,并使用3D结构来大幅增加电极表面,因此在给定的占位面积内增加了静电容量。村田的硅技术以嵌入非结晶基板的单片结构为基础(单层MIM和多层MIM—MIM是指金属 / 绝缘体/ 金属) 村田硅电容采用先进3D拓扑结构在100um内,使开发的有效静电容量面积相当于80个
    知白 2025-01-07 15:02 140浏览
  •  在全球能源结构加速向清洁、可再生方向转型的今天,风力发电作为一种绿色能源,已成为各国新能源发展的重要组成部分。然而,风力发电系统在复杂的环境中长时间运行,对系统的安全性、稳定性和抗干扰能力提出了极高要求。光耦(光电耦合器)作为一种电气隔离与信号传输器件,凭借其优秀的隔离保护性能和信号传输能力,已成为风力发电系统中不可或缺的关键组件。 风力发电系统对隔离与控制的需求风力发电系统中,包括发电机、变流器、变压器和控制系统等多个部分,通常工作在高压、大功率的环境中。光耦在这里扮演了
    晶台光耦 2025-01-08 16:03 52浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦