2022百度ApolloDay技术开放日:文心大模型在自动驾驶感知中的落地应用

2数据处理

大模型技术是自动驾驶行业近年的热议趋势,但能否落地应用、能否用好是关键难题。百度自动驾驶依托文心大模型特色优势,率先实现技术应用突破。百度自动驾驶技术专家王井东表示:文心大模型-图文弱监督预训练模型背靠文心图文大模型数千种物体识别能力,大幅扩充自动驾驶语义识别数据,如:特殊车辆(消防车、救护车)识别、塑料袋等,自动驾驶长尾问题解决效率指数级提升;此外,得益于文心大模型-自动驾驶感知模型10亿以上参数规模,通过大模型训练小模型,自动驾驶感知泛化能力显著增强

文章目录

      • 1. 多模态感知
        • 1.1 多传感器前融合
        • 1.2 自动驾驶感知挑战
      • 2. 大模型
        • 2.1 远视距感知
        • 2.2 多模态感知
        • 2.3 数据挖掘

1. 多模态感知

1.1 多传感器前融合

百度认为传感器融合是实现L4自动驾驶的必要条件,激光点云、毫米波雷达和摄像头这三种传感器是如何实现互补关系的。激光点云和毫米波雷达点云不能够提供很丰富的颜色信息和纹理信息,使得点云的识别效果一般。摄像头可以提供丰富的颜色纹理等信息,能够帮助提升语义识别的效果。

那激光点云和摄像头在天气不佳的条件下,如雨雪天气,感知效果受到限制,这个时候毫米波雷达点云仍然能够提供很好的效果,那毫米波雷达点云相对而言噪声比较大,分辨率比较低,这个时候激光雷达和摄像头提供了分辨率非常高的互补信息。

除此以外,摄像头相对远距离的感知效果比较友好。

在这里插入图片描述

百度自动驾驶感知经历了两代,第一代感知1.0,在感知1.0经过了三个阶段:

  • 第一阶段主要依赖激光雷达点云感知,辅助红绿灯的识别,同时利用了毫米波目标阵列。
  • 第二阶段增加了环视图像的感知,与激光雷达点云感知形成了两层的感知融合,提升了识别效果。
  • 第三阶段自研了毫米波点云感知算法,形成了三层感知的融合,那这些多模态感知实际上用的是后融合的方案。

在后融合方案里面通常需要规则的方法,把这三种传感器的感知结果融合在一起,那这种基于规则的方法是不可学习的,它相对而言它的泛化能力不够。基于此,百度开发了基于前融合方案的新一代感知2.0。

在这里插入图片描述
感知2.0主要的一个部分是多模态前融合端到端的方案,在点云和图像的表征层次上进行融合。除此以外,还包括远视距的视觉感知,通常在200米以上视觉的感知效果相对比较好。另外,在近距离采用了鱼眼感知,从鱼眼感知实现了freespace的预测,百度把这三者有机的融合在一起,实现了近距离、中等距离和远距离统统形成高质量的这种感知。

在做感知时候,需要丰富的数据、高质量的数据,基于此,百度在2.0还利用大模型进行数据挖掘和数据的自动标注

对于BEV多模态融合的方法,最近两年涌现出很多方案,可以阅读论文BEVFusion(Multi-Task Multi-Sensor Fusion with Unified Bird’s-Eye View Representation),FUTR3D(Futr3d: A unified sensor fusion framework for 3d detection)。

在这里插入图片描述

1.2 自动驾驶感知挑战

下面看几个例子,看看在自动驾驶感知里面遇到的一些挑战。

首先远距离的视觉感知,在较远的地方,物体看起来是比较小的,分辨率是比较低的,这对识别和感知带来非常大的挑战。那在远距离的情况下面,通常会遇到坡度比较大,对于感知也是非常大的挑战。大部分的数据都是地平面的,道路是平的,那这里面往往会利用了地平面接地这样一个重要的性质,去实现远距离物体的感知。

在这里插入图片描述

下面再看看第二个挑战,因为我们采用的激光雷达传感器不断的升级,那点云的空间分布也产生了非常大的变化,在早先激光雷达传感器基于威力登,后来我们升级为两种型号的禾赛,目前正在考虑启用半固态的传感器,这些传感器升级带来了点云空间的分布的变化,从原来的稀疏到现在的稠密,在点云空间去做3D的标注是非常困难的,能不能把以前旧的传感器的标注在新的传感器能很好利用起来,也成为技术上的一个重要挑战。

在这里插入图片描述
下面是长尾数据挖掘的问题,这里面举了三类典型的例子:

  • 第一类是少见的车型,比如说异形车出现的频率比较低,通常这种异型车它的形态、形状不太规则,甚至有时候会有一些突出的部件,那这个时候会为感知、理解带来挑战,很难很好地定位这些异形车的空间位置以及距离。
  • 第二类是各种形态、各种姿态的行人,这个时候可能是一群人在道路上面,这样会带来非常大的挑战,同时也为后面的预测跟踪带来很大的挑战。
  • 第三类是低矮物体以及交通、施工的元素,那低矮物体一直是感知里面非常有挑战的问题,那我们在实践过程里面你会发现一些施工元素会对我们自动驾驶感知带来一些问题,比如说道路中间的护栏,其实往往意味着这条路可能是不可通行的,那我们需要识别这样的道路施工元素。

在这里插入图片描述

2. 大模型

那如何解决刚才提到的这三种挑战呢?百度利用了大模型技术来提升自动驾驶感知的能力,从两个方面去解决这个自动驾驶感知遇到的挑战。

第一个,利用文心大模型自动驾驶感知的技术,来提升车载小模型的感知能力,另外,在数据方面,利用了文心大模型图像弱监督预训练的模型来挖掘长尾数据,来提升模型训练的效果。

在这里插入图片描述
这个自动驾驶感知大模型是怎么训练的。在自动驾驶感知里面,需要标注大量的数据,但是在这里面,往往相对而言容易获得千万量级的2D的标注数据,但对3D的标注数据来讲相对比较困难,如何利用这些没有3D标注的数据是成为一个很大的挑战,百度采用半监督的方法来充分利用2D的标注和没有3D标注的数据。

具体方案是采用迭代的自训练方案。首先是在既有2D又有3D的训练数据上面,去训练一个感知大模型,给那些没有3D标注的数据打上3D伪标注。然后再继续训练一个感知大模型出来,如此迭代,逐步把感知大模型的效果提升,同时也使得3D尾标注的效果越来越好,可以看到下面的三个图的例子,结果实际上是变得越来越好。

这样的一个感知大模型,不仅用于视觉,也用于点云,也用于我们后面要讲的多模态端到端的方案。

在这里插入图片描述
在这个远视觉感知方案里面,实际上也利用了编码器和解码器的预训练方案,利用了公开的数据集Object 365和COCO这样的预训练。

那这里要提一下的是,百度基于这么一个编码器和解码器预训练的方案,采用的方法Group DETR v2,实际上在标准的公开数据集上面首次突破了64.5mAP的一个效果。

2.1 远视距感知

我们看看大模型在三个方面的应用,首先是在远视距方面。

在这里插入图片描述

大模型怎么去帮助小模型,**百度采用的方案是基于蒸馏和伪标注的方案,伪标注通过刚才训练好的感知大模型,给这个图像打上3D的伪标注,同时使用了蒸馏方案。**在网络架构里面通常会包含编码器。还有2D检测的Head,以及3D检测的Head,百度分别在三个地方使用了蒸馏,第一个是在编码器出来的地方,用大模型的特征去帮助训练小模型的特征,除此以外在2D的Head上面与3D的Head上面分别去做大模型到小模型特征的蒸馏。

这里我们实际上在训练这个模型的时候还使用了这么一个小的技巧,就是把大模型的Detection head,包括2D、3D里面的参数,直接作为小模型的初始化,进一步地提升训练的效率和效果。

在这里插入图片描述

大模型帮助小模型带来了一个效果,远视距3D感知带来的效果,遮挡的场景可以看到这个图里面,左边绿色的框是对应的Ground truth,红色的是预测的,对比一下在旧模型和新模型的对比可以看到,新模型的效果从感知、预测车辆的距离等方面,效果提升是非常明显的。

在这里插入图片描述
再看一看道路起伏的例子,仍然可以看到左边这个旧模型和新模型效果的对比,跟前面对比起来,不仅仅预测的物体的车辆的距离变得更准确了,同时这个车辆的方向也预测得会更好,它的角度也会更好。

在这里插入图片描述

2.2 多模态感知

这边仅仅给大家展示了两个例子,在实际里面会发现更多非常好的效果,下面看看大模型在多模态前融合端到端感知上面的一个应用。多模态前融合的方案对应的大模型实际上是用前面我们讲到的方案,通过半监督的方案,迭代的自训练的方案去训练出来的。

在这里插入图片描述

在这个地方怎么去帮助小模型的训练呢?除了蒸馏方案以外,在编码器做蒸馏以外,也使用了伪标注,就是用大模型对数据进行伪标注,然后去帮助训练。这里面要特别提到的其他几点:第一个我们使用了深度监督的方法,分别在图像端和点云端做了3D的预测,比如说在图像端对每个图像进行2D的跟3D的预测,我们称之为Side loss,这样能够很好的提升训练的效果。

还有一点百度还使用了预训练的方案,因为在多模态方案里面,既有图像的编码器,也有点云的编码器,这个时候图像的编码器实际上是在多模态下面训练出来的编码器,来作为它的初始化,类似的点云也是同样。

在这里插入图片描述

要跟大家分享的是,把这样的一个方案降级到多视角图像的端到端的感知里面去。这样一个方案,在公开的nuScenes数据集上面取得了非常好的一个效果,目前在nuScenes 3D检测里面multi-view的情况下面取得了最好的效果,能够把这样的一个方案应用到nuScenes里面的跟踪tracking里面去,也取得了非常好的效果。现在目前是在这个tracking榜单里面排名第一的。

那下面看看点云感知的效果,在多模态前融合方案里面,我们使用了点云感知的编码器的预训练,如果只是在点云里面使用大模型的方案带来了一个效果,这里面我们可以看到从旧模型和新模型的对比,在路测的误检方面我们改进得非常多,同时在中间的比如说绿化硬隔离带也会有一些误检,那这样子我们通过大模型帮助小模型以后,可以解决很多问题。

下面看看多模态前融合感知的整体的效果,这里举了一个非常困难的一个例子,大家看看左边实际上是一个洒水车,洒水车的前面实际上有喷雾。那在旧的方案里面,如果没有使用我们这个多模态前融合端到端的方案,很容易把这个喷雾识别成车辆,但是用了新方案以后,这样的误检就会消失。

在这里插入图片描述

2.3 数据挖掘

最后看看大模型在数据挖掘里面的使用,这是整个自动驾驶感知的数据闭环的流程图。这里主要分享一下数据挖掘方面的这么一个技术。

在这里插入图片描述
在数据挖掘里面采用了大模型的方案,跟前面的感知的方案相关,但不完全一样,这使用了基于图文弱监督预训练模型去帮助做长尾数据的挖掘。怎么去做预训练的模型,通常里面会有大量的图文,把图像送到一个我们称之为图像编码器里面去,图文对里面对应的文本也送到文本编码器里面,通过优化所谓的对比损失来训练这个文本编码器和图像编码器。

这样训练出来的编码器有非常好的一个效果,可以处理称之为开放集的语义识别,不同于传统的比如说在ImageNet上面,通常ImageNet-1K可以处理1000类,但这样训练出来的图文预训练模型可以处理1000类以外,甚至成千上万的类别,正是利用了这么一个性质去帮助做数据挖掘。

在这里插入图片描述
当训练好这么一个模型以后,在自动驾驶数据库里面,经过我们的底库构建,怎么做呢?

我们把街景数据,比如这里面图像,**首先做一步物体定位,把这个图像里面可能的物体都给找出来,这里面使用了叫Group DETR v2的检测方案,很好地把可能的物体给定位出来。**把可能的物体定位出来以后,物体所在的图像块抠出来,放到图像编码器里面,形成一个向量,这就是底库的构建。

做数据挖掘的时候可以采用两种:一种是没有所需要挖掘的图像时,可以直接通过文本去进行挖掘,比如,把塑料袋输入到文本编码器里面,形成一个文本特征,变成一个文本表征的向量,然后通过快速的向量搜索算法,在底库里面很快找到可能是塑料袋的图像出来。

慢慢的已经找到了一些塑料袋图像以后,这个时候也可以把图像输入到图像编码器里面,抽取视觉表征,然后类似的进行向量搜索。

在这样的过程中,刚开始搜索出来的图像效果准确率不见得那么高,随着搜索越来越多,回来的图像数量越来越多,可以训练一个称之为fine classifier完成进一步的筛选,最终不断地提升数据挖掘的效果。

看看数据挖掘一些例子,以及最终怎么帮助自动驾驶感知能力的提升呢?左边是给了一些典型的例子。比如说小孩在路面上面,比如说快递车、轮椅、地面上有塑料袋,还有消防车、救护车等,是百度在数据挖掘的例子。

在这里插入图片描述
在能力提升方面把它分为两大类:**一类是本来有这么一个能力,通过这样的数据挖掘以后这个能力得到了很大的提升,**比如说对儿童的检测,比如说对塑料袋的误检,因为塑料袋检测是非常重要的,如果说不能够很好的把塑料袋跟其他的比如说非常硬的物体给区分开来,那对后面的PNC会带来很大的挑战,会容易出现急刹的情况。

另外一个能力的提升,就是说本来可能没有这样的能力,通过数据挖掘以后,就有这样的能力了,比方说消防车和救护车这样的例子,以前可能并不区分消防车和救护车,消防车和救护车在路上会有较高的路权,这个时候如果很好地把它识别出来以后,对后面下游的驾驶策略调整会起到很大的帮助。

另外一个,在实践里面就会发现一些有意思的现象,道路上有时候会出现一些小动物,比如说我们在成都二环路上会发现,成都二环路上的马,还有我们在路上会发现少见的羊群,比如说我们在顺义区路上会发现的羊群,这样都是感知长尾问题,通过这样的数据挖掘,现在有了这个能力,充分增强了自动驾驶感知的效果。

最后,我用这么一句话来结束我今天的报告。大模型,已经成为自动驾驶能力提升的核心驱动力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/439459.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TFS中的工作项(六)

TFS中的工作项 在VS中打开团队资源管理器 工作项有功能,产品积压工作项,任务,测试用例,Bug,障碍,它们之间的关系是:一个产品或应用,有一系列功能,功能最大,可…

单目3D物体检测模型(CaDDN): Categorical Depth Distribution Network for Monocular 3D Object Detection

本文介绍一篇单目3D物体检测模型:CaDDN,论文收录于 CVPR2021。 单目3D物体检测的主要挑战在于准确预测物体深度,由于缺乏直接的距离测量,因此必须根据物体和场景线索来推断物体深度。过去许多方法试图直接估计深度来辅助3D检测&am…

抠图、换背景、正装图证件照制作方法

本篇灵感是最近又要使用别的底色的正装照的图片。上学的时候,要求证件照的底色是蓝底、党员档案里要求图片的底色是红底、 将来上班的证件照要求是白底,并且无论是考研还是找工作都是制作简历的时候,根据简历的样板不同需要更换不同的底色。 …

TFS的Web门户工作项(七)

在TFS的web门户中有更丰富和更全面的设置和数据展示。 Web门户如图有A,B,C,D四部分组成。A部分为团队项目和项目切换,登录人员和登录人员切换。B部分是Web门户主要功能的菜单,C部分是当前团队项的一些信息的展示&#…

详解多视角3D检测模型 BEVDepth: Acquisition of Reliable Depth for Multi-view 3D Object Detection

本文介绍一个多视角的3D检测模型:BEVDepth,论文收录于 AAAI2023。在这篇文章中,作者提出了一种新的具有可信深度估计的三维物体检测器。本文提出的BEVDepth通过利用激光雷达显式深度监督来提高图像深度估计的可信度。作者引入了摄像机感知深度…

TFS版本管理(八)

目前TFS支持两种版本管理方式,一种是自带的TFS版本控制,一种是Git,后一种是分布式,并且分支功能相对强大,关于Git可以找更详细的资源学习。 如果没有创建项,在web门户中代码下的资源管理器是空的。 团队资…

Python开发常用工具库

本文汇总了在使用Python开发时常用到的第三方库和工具。 1.Python 官网地址:https://www.python.org/doc/ 博文地址:《Python编程:从入门到实践》速查表 2.OpenCV(图像处理) 官网地址:https://opencv.o…

TFS中的统一集成(九)

首先要在TFS服务器上配置生成配置,操作如下: 现在可以创建一个生成定义了,单击团队资源管理器的生成。 新建生成定义: 这里选择的是手动。触发这个生成有很多条件,我们选择手动主式。 在要服务器上共享一个文件夹&…

常用工具整理:数学,论文,代码等

1. Mathpix(图片转数学公式工具) 官网地址:Mathpix Snip在线LaTeX公式编辑:在线LaTeX公式编辑器-编辑器 (latexlive.com)推荐另一个开源的工具:Image to LaTex Converter,官网地址:GitHub - ki…

几位无人驾驶领域的杰出科学家

本文介绍了几位无人驾驶领域杰出的科学家们,大家可以关注他们的主页,及时了解一些无人驾驶行业最新动态。 (当然还有很多杰出的科学家,这里不一一列举了,暂时只列举出4位:3位外国科学家1位中国科学家&#…

Razor语法和Razor引擎大全

一、Razor语法 1、Razor的标识符 解释&#xff1a;字符被定义为Razor服务器代码块的标识符&#xff0c;后面的表示是服务器代码了。web form中使用<%%>中写服务器代码一个道理。在vs工具里面提供了代码着色和智能感应的功能。 { string userName "启超"; &…

让Team Foundation Server/TFS自动记住用户名密码解决方案

在使用Team Foundation Server&#xff08;以下简称TFS&#xff09; 的时候&#xff0c;在每次打开Visual Studio TFS时候&#xff0c;需要输入用户名和秘密&#xff0c;比较麻烦。 现提供一种方法可以解决这个问题&#xff1a; 依次执行下面操作&#xff1a; 打开控制面板--&…

TFS(Team Foundation Server)敏捷使用教程

一、引言 1 中国式软件过程的坏味道 RUP&#xff0c;CMM/CMMI到了中国就变了味。。。。。。 2 Team Foundation Server TFS是软件开发的协作平台&#xff0c;它要解决的首要问题是团队成员的协作问题。比如说&#xff1a; 研发团队内部怎么协作&#xff0c;产品经理&#x…

【PAT - 甲级1020】Tree Traversals (25分)(树的遍历,给定中序后序,求层次遍历)

题干&#xff1a; Suppose that all the keys in a binary tree are distinct positive integers. Given the postorder and inorder traversal sequences, you are supposed to output the level order traversal sequence of the corresponding binary tree. Input Specifi…

银行卡密码的加密、MAC计算

简介 在银行、银联、第三方支付等金融系统中&#xff0c;对银行卡密码等信息的加解密&#xff0c;对交易数据的加解密无处不在&#xff0c;在商场刷卡消费的POS机&#xff0c;在ATM机器取款等都需要对数据加密以保护数据安全&#xff0c;不被窃取。 本文主要对POS机的安全处理…

【Python学习】 - - 链表推导式[ 2*x for x in X ]、匿名函数、并行迭代

列表推导式[x for x in range(n)] 问题&#xff1a;请计算出1~9间的整数的平方 常规方法 for i in range(1,10):print(i*i) 链表推导式&#xff1a; print([x*x for x in range(1,10)]) 匿名函数方法&#xff1a; 匿名函数语法形式&#xff1a; lambda [arg1, arg2, arg3,…

C#多线程和线程池

.Net的公用语言运行时&#xff08;Common Language Runtime&#xff0c;CLR&#xff09;能区分两种不同类型的线程&#xff1a;前台线程和后台线程。这两者的区别就是&#xff1a;应用程序必须运行完所有的前台线程才可以退出&#xff1b;而对于后台线程&#xff0c;应用程序则…

GitHub.com上的那些东西你都知道什么意思吗?

GitHub初学入门者的图谱&#xff0c;介绍Github网站每个功能的意思 一、键盘快捷键 在GitHub中&#xff0c;很多页面都可以使用键盘快捷键。在各个页面按下“shift /”都可以打开键盘快捷键一览表&#xff0c;如下图&#xff1a; 快捷键 二、工具栏 工具栏 LOGO 点击GitHub…

【Python学习】 - sklearn学习 - 数据集分割方法 - 随机划分与K折交叉划分与StratifiedKFold与StratifiedShuffleSplit

一、随机划分 import numpy as np from sklearn import datasetsiris datasets.load_iris() X iris.data y iris.target# 1&#xff09;归一化前&#xff0c;将原始数据分割 from sklearn.model_selection import train_test_split X_train,X_test,y_train,y_test train_t…

【Python学习】 - sklearn - 用于生成数据的make_blobs模块

函数原型&#xff1a; sklearn.datasets.make_blobs(n_samples100, n_features2, centers3, cluster_std1.0, center_box(-10.0, 10.0), shuffleTrue, random_stateNone) 参数含义&#xff1a; n_samples: int, optional (default100) The total number of points equally di…