数据处理方法及相关设备与流程

未命名 10-08 阅读:100 评论:0


1.本技术涉及自动驾驶技术领域,特别是涉及一种数据处理方法及相关设备。


背景技术:

2.自动驾驶系统主要包括感知、规划决策和执行控制等模块。感知模块通过对车辆传感器采集的数据进行处理来感知环境中的行人、车辆、障碍物、车道线和交通灯等要素,以及预测行人和车辆的意图。下游的规划决策模块和执行控制模块基于预测模块输出的感知结果进行决策和车辆控制,从而实现自动驾驶。
3.目前,通过多任务感知算法实现对环境的感知。多任务感知算法主要特征为:主干网络对传感器数据(例如图像、雷达数据或激光雷达数据等)进行特征提取,后面接n个并行任务头。n个任务头承担不同感知要素的检测(如行人二维(2d)检测、车辆2d框检测、红绿灯2d框检测)。每个任务头后接细化的二级任务(如三维(3d)/掩码(mask)检测、关键点检测等)。此处的任务主要可分为动态任务和静态任务两种。动态任务是指识别环境中可能会发生移动的目标,如:行人,车辆的3d位置、朝向、速度识别。静态任务是指识别环境中不会发生移动的目标,如:车道线、停止线、交通灯、锥桶识别等。
4.感知架构演进过程中,下游决策模块经常有新的感知任务需求提出来。这就需要针对新增任务来定制化设计任务头,实现复杂。


技术实现要素:

5.本技术提供了一种数据处理方法及相关设备,以解决新增感知任务需要重新涉及任务头,实现复杂的问题。
6.第一方面提供一种数据处理方法。该方法可以应用于车辆的自动驾驶系统(autonomous driving system,ads)或高级驾驶辅助系统(advanced driving assistant system,adas)。该方法包括:获取传感器数据,传感器数据为车辆的传感器采集的表示环境的数据。车辆上的传感器例如包括激光雷达、摄像头、超声波雷达和毫米波雷达中的至少一种。车辆上的传感器的数量包括至少一个。获取目标文本,目标文本指示对环境的目标感知任务。目标感知任务可以是对环境整体的感知任务,也可以是对环境中的目标对象的感知任务,例如对车辆、行人、自行车、交通灯、交通指示牌、障碍物或车道等对象的感知任务。根据传感器数据、目标文本和多模态模型,得到目标感知任务对应的感知信息,多模态模型用于理解目标文本的语义,并根据语义处理传感器数据得到感知信息。多模态模型可以识别处理自然语言(文本)和传感器数据,通过目标文本指示目标任务,使多能够模态模型根据目标文本的语义处理相应的任务。通过文本指令指示目标任务更加灵活,并且多模态模型对不同的任务具有更好的泛化迁移性能,从而可以通过删减输入多模态模型的文本调整实现任务需求的调整,而无需重新涉及任务头,调整任务更加灵活简单。
7.在一种可能的实现方式中,根据传感器数据、目标文本和多模态模型,得到目标感知任务对应的感知信息,包括:根据传感器数据得到传感器数据序列。根据目标文本得到目
标文本序列。拼接传感器数据序列和目标文本序列,得到多模态序列。将多模态序列输入多模态模型,以得到多模态模型输出的感知信息。序列化可以是指对目标文本和传感器数据进行编码,分别将目标文本和传感器数据映射到向量空间,使得多模态模型能够处理目标文本和传感器数据。
8.在一种可能的实现方式中,传感器数据包括激光雷达采集的激光点云和摄像头采集的图像,传感器数据序列包括鸟瞰视图(bird eye view,bev)数据序列,根据传感器数据得到传感器数据序列,包括:根据激光点云和/或图像获得bev数据,序列化bev数据得到bev数据序列。基于bev数据可以进行精准的3d目标检测,提高感知精度。
9.在一种可能的实现方式中,传感器数据包括激光雷达采集的激光点云和摄像头采集的图像,传感器数据序列包括图像序列,图像序列为根据图像获得的。图像中包括更加丰富的语义信息,例如颜色、边缘和纹理等,输入多模态模型的传感器数据中包括图像序列,能够使多模态模型更加准确、全面地感知当前的环境,进而输出准确且全面的感知信息。
10.在一种可能的实现方式中,获取目标文本包括:从文本集的多个文本中获取目标文本,文本集中的每一文本指示一个感知任务。目标文本时文本集中的多个文本中的一个文本。文本集中不同的文本指示不同的感知任务,通过从文本集中获取不同的目标文本输入多模态模型,可以使多模态模型实现不同的感知任务,即基于文本集,多模态模型能够实现多任务感知。
11.在一种可能的实现方式中,每一文本配置有查询频率,查询频率指示文本被输入多模态模型的频率,从文本集的多个文本中获取目标文本包括:根据文本的查询频率在多个文本中获取目标文本。文本的查询频率可以根据该文本对应的感知任务的重要性以及对及时性的要求进行设置。为了保证能够及时和实时地对环境进行感知,可以以一定的频率向多模态模型输入文本,不同的文本可以根据文本对应的查询频率交替输入多模态模型,从而既能够实现多感知任务,又能够保证根据及时性要求和重要性对各感知任务按需进行处理。
12.第二方面提供一种装置。该装置可以为硬件(例如芯片),也可以为软件产品,例如一种功能模块。装置包括获取模块和处理模块。其中,获取模块,用于获取传感器数据,传感器数据为车辆的传感器采集的表示环境的数据。获取模块,用于获取目标文本,目标文本指示对环境的目标感知任务。处理模块,用于根据传感器数据、目标文本和多模态模型,得到目标感知任务对应的感知信息,多模态模型用于理解目标文本的语义,并根据语义处理传感器数据得到感知信息。
13.在一种可能的实现方式中,处理模块,用于根据传感器数据得到传感器数据序列。处理模块,用于根据目标文本得到目标文本序列。处理模块,用于拼接传感器数据序列和目标文本序列,得到多模态序列。处理模块,用于将多模态序列输入多模态模型,以得到多模态模型输出的感知信息。
14.在一种可能的实现方式中,传感器数据包括激光雷达采集的激光点云和摄像头采集的图像,传感器数据序列包括bev数据序列。处理模块,用于根据激光点云和/或图像获得bev数据。处理模块,用于序列化bev数据得到bev数据序列。
15.在一种可能的实现方式中,传感器数据包括激光雷达采集的激光点云和摄像头采集的图像,传感器数据序列包括图像序列,图像序列为根据图像获得的。
16.在一种可能的实现方式中,获取模块,用于从文本集的多个文本中获取目标文本,文本集中的每一文本指示一个感知任务。
17.在一种可能的实现方式中,每一文本配置有查询频率,查询频率指示文本被输入多模态模型的频率。获取模块,用于根据文本的查询频率在多个文本中获取目标文本。
18.第三方面提供一种电子设备。该电子设备包括处理器和存储器,处理器耦接存储器,处理器被配置为基于存储在存储器中的指令,执行第一方面或第一方面的任一可能的实现方式中的数据处理方法。
19.第四方面提供一种计算机可读存储介质。计算机可读存储介质包括指令,当计算机可读存储介质在计算机上运行时,使得计算机执行第一方面或第一方面的任一可能的实现方式中的数据处理方法。
附图说明
20.图1为示例性自动驾驶车辆中的一些组件的框图;
21.图2为本技术提供的一种感知模块的结构示意图;
22.图3为本技术提供的另一种感知模块的结构示意图;
23.图4为本技术提供的一种数据处理方法的流程示意图;
24.图5为本技术提供的一种应用示例的示意图;
25.图6为本技术提供的另一种应用示例的示意图;
26.图7为自动驾驶中的典型感知场景的示意图;
27.图8为本技术提供的一种装置的结构示意图;
28.图9为本技术提供的一种电子设备的结构示意图。
具体实施方式
29.下面结合附图,对本技术的实施例进行描述,显然,所描述的实施例仅仅是本技术一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术发展和新场景的出现,本技术实施例提供的技术方案对于类似的技术问题,同样适用。
30.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。“多个”是指大于或等于2个。
31.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
32.为了方便起见,本技术描述了用于自动驾驶车辆的数据处理方法的示例性实施例。自动驾驶车辆可以是任何类型的车辆,例如机动车(例如汽车、卡车、公共汽车)、小船或大船、潜艇、飞机、仓储设备、建筑设备、拖拉机或其它农场设备。本技术的教导不限于车辆或任何特定类型的车辆,而是可以应用于其它真实或虚拟对象以及非载客车辆和载客车辆。本技术的教导也可以在非车载移动机器人中实施,包括但不限于智能吸尘器、探测器(rover)、割草机、无人机(unmanned aerial vehicle,uav)和其它对象。即使本文中描述的自动驾驶系统已经有助于半自动或全自动驾驶,但也可以用于非自动驾驶模式下的车辆。
33.图1示出了本发明一个示例性实施例提供的自动驾驶车辆100中的选定组件。车辆100包括连接到传感器或传感器系统110的车辆控制系统115、驱动控制系统150和机电系统
190。车辆100还包括各种结构元件,例如车架、门、面板、座椅、窗户、镜子等,这些结构元件在本领域中是已知的,但为了避免混淆本发明的教导,这些结构元件已经从本发明中删掉。传感器110在车辆100中的不同位置上挂载到车辆100中的结构元件。
34.车辆控制系统115包括经由通信总线(未示出)耦合到车辆100中的多个内部组件的处理器102。处理器102耦合到随机存取存储器(random access memory,ram)122、只读存储器(read only memory,rom)124、闪存可擦除可编程只读存储器(erasable programmable read only memory,eprom)(闪存)等持久(非易失性)存储器126、用于与无线网络交换射频信号的一个或多个无线收发器130、用于从卫星网络接收卫星信号的卫星接收器132、实时时钟134。车辆控制系统115还耦合到车辆100中的其它组件,包括传感器系统110、触摸屏136、一个或多个扬声器138、一个或多个麦克风140、一个或多个数据端口142、驱动控制系统150和机电系统190。
35.一个或多个无线收发器130可以包括一个或多个蜂窝(rf)收发器,用于使用不同的无线数据通信协议和标准与多个不同的无线接入网络(例如蜂窝网络)进行通信。车辆控制系统115可以在其地理覆盖区域内与无线wan(例如蜂窝网络)的多个固定基站收发台中的任一个基站收发台进行通信。一个或多个无线收发器130可以通过无线wan发送和接收信号。一个或多个无线收发器130可以包括支持多个射频频段的多频段蜂窝收发器。
36.一个或多个无线收发器130还可以包括无线局域网(wireless local area network,wlan)收发器,用于经由wlan接入点(access point,ap)与wlan(未示出)进行通信。wlan可以包括符合ieee 802.11x标准或其它通信协议的wi-fi无线网络。
37.一个或多个无线收发器130还可以包括短程无线收发器,例如蓝牙收发器,用于与移动计算设备(例如智能手机或平板电脑)进行通信。一个或多个无线收发器130还可以包括其它短程无线收发器,包括但不限于近场通信(near field communication,nfc)、ieee802.15.3a(也称为超宽带(ultra wideband,uwb))、z-wave、zigbee、ant/ant+或红外线(例如国际红外数据协会(infrared data association,irda)通信)。
38.实时时钟134可以包括提供准确实时信息(例如atmel公司提供的信息)的晶体振荡器。
39.触摸屏136包括彩色液晶显示器(liquid crystal display,lcd)、发光二极管(light-emitting diode,led)显示器或有源矩阵有机发光二极管(active-matrix organic light-emitting diode,amoled)显示器等显示器,具有连接到电子控制器的触敏输入面或覆盖层。车辆100中还可以提供耦合到处理器102的其它输入设备(未示出),包括按钮、开关和拨号盘。
40.车辆100还包括一个或多个扬声器138、一个或多个麦克风140和一个或多个数据端口142,例如串行数据端口(例如通用串行总线(universal serial bus,usb)数据端口)。传感器系统110还可以包括其它传感器,例如轮胎胎压感测器(tire pressure sensor,tps)、门触开关、光传感器、接近传感器等。
41.驱动控制系统150用于控制车辆100的运动。驱动控制系统150包括转向单元152、制动单元154和油门(或加速)单元156,都可以实现为驱动控制系统150内的软件模块或控制块。当处于全自动或半自动驾驶模式时,转向单元152、制动单元154和油门单元156处理从存储在车辆控制系统115的存储器126中的路径规划模块174接收的路径信息,并且生成
控制信号来控制车辆100的转向、制动和油门,以在规划路径上行驶。驱动控制系统150可以包括用于控制车辆100的其它方面(包括控制转向信号灯和刹车灯等)的其它组件。
42.机电系统190从驱动控制系统150接收控制信号,以操作车辆100中的机械组件。机电系统190影响车辆100的物理操作。机电系统190包括发动机192、变速箱194和车轮196。发动机192可以是汽油动力发动机、电池动力发动机、混合发动机、电动发动机等。其它组件可以包括在机电系统190中,包括例如转向信号灯、刹车灯、风扇和窗户。
43.图形用户界面(graphical user interface,gui)可以由处理器102呈现和显示在触摸屏136上。用户可以使用触摸屏和可选的其它输入设备(例如按钮、拨号盘)与gui交互,以显示相关信息,例如导航信息、驾驶信息、停车信息、媒体播放器信息、气候控制信息等。gui可以包括一系列可遍历的特定内容菜单。
44.车辆控制系统115中的存储器126上存储有处理器102执行的操作系统160。除了gui之外,存储器126上还存储有多个软件模块,统称为自动驾驶系统(autonomous driving system,ads)(或称为高级驾驶辅助系统(advanced driving assistant system,adas))162,其中,自动驾驶系统162中的每个模块是包括处理器102可执行的机器可读指令的软件。自动驾驶系统162的模块包括车辆定位模块164、停车辅助模块166、自主泊车模块168、用于半自动驾驶的辅助驾驶模块170、自动驾驶模块172、路径规划模块174、感知模块176和其它模块178。包括映射模块、导航模块、气候控制模块、媒体播放器模块、电话模块和消息传递模块等其它模块178也存储在存储器126中。在一些实施例中,感知模块176包括机器可读指令,机器可读指令在由处理器102执行时,用于执行本文中描述的方法的操作。
45.尽管停车辅助模块166、自主泊车模块168、辅助驾驶模块170、自动驾驶模块172、路径规划模块174或感知模块176示为单独模块,但在其它实施例中,它们可以与一个或多个其它软件模块组合使用。
46.激光雷达(light detection and ranging,lidar)单元114可以在宽视图(例如360
°
视图)中捕获关于车辆100的信息。lidar单元114捕获关于环境的三维(three-dimension,3d)信息,并且在3d坐标系中生成点云。数据点共同形成3d点云。
47.使用各种感测单元112、114、116、117、118、119,传感器系统110可以收集关于车辆100的本地外部环境(例如周围的任何障碍物)的信息以及较大范围的邻近地区的信息(例如,lidar单元114可以从车辆100周围半径达100米或以上的区域收集信息)。传感器系统110还可以(例如使用gps119)收集关于车辆100相对于参考坐标系的位置和方位的信息。传感器系统110还可以收集关于车辆100本身的信息。在这种情况下,可以认为车辆100本身是感测环境的一部分。例如,传感器系统110可以从感测单元(例如加速度计、速度计、里程计或惯性测量单元)收集信息,以确定车辆100的状态,例如车辆100的线速度、角速度、加速度和轮胎抓地力。这些感测单元可以是传感器系统110的一部分,也可以不是传感器系统110的一部分。传感器系统110可以重复(例如定期)实时或近实时地从其感测单元接收信息。传感器系统110还可以实时或近实时地将传感器数据182提供给车辆100中的其它组件。
48.存储器126存储各种数据180。数据180可以包括从传感器系统110中的一个或多个传感器接收的传感器数据182,包括用户偏好、设置和可选的个人媒体文件(例如音乐、视频、路线等)的用户数据184以及包括经由无线收发器130下载的数据的下载缓存186。例如,存储器126可以存储传感器数据,传感器数据包括表示从相机112接收的由相机捕获的2d图
像的图像数据、表示从lidar单元114接收的3d点云的数据点、从合成孔径雷达(synthetic aperture radar,sar)单元116接收的sar数据、来自车轮里程计117或惯性测量单元(inertial measurement unit,imu)118的里程测量数据、来自全球定位系统(global positioning system,gps)119的位置数据和来自其它传感器120的数据。从车轮里程计117接收的里程测量数据包括表示车辆100旋转的旋转数据和表示车辆100平移的平移数据。从imu 118接收的里程测量数据包括表示车辆100的三轴角速度的速度数据和表示车辆100的三轴加速度的加速度数据。
49.在一些实施例中,处理器102从安装在车辆100上的lidar单元114接收传感器数据,并处理传感器数据以生成3d点云。感知模块176可以从存储器126接收表示2d图像的图像数据和3d点云中的数据点,并将2d图像或3d点云中检测到的对象输出到自动驾驶系统162的其它软件模块,例如路径规划模块174。
50.传感器系统110通过处理器102与感知模块176通信,以向感知模块176提供包括3d点云的传感器数据182,感知模块176处理传感器数据182以检测和识别车辆100运行的环境中的对象,例如检测和识别行人或另一汽车。感知模块176用于对3d点云中的数据点进行对象检测、分类、回归和分段,以检测和识别3d点云中的对象。
51.感知模块176可以使用软件或硬件和软件的组合来实现。例如,感知模块176可以包括专用图像处理器,用于执行表示2d图像的图像数据的图像处理。或者,感知模块176可以包括可由车辆100的车辆控制系统115的处理器102执行的指令。感知模块176可以重复(例如,定期)从例如传感器系统110的lidar单元114接收传感器数据182,例如表示3d点云的数据点,或从例如传感器系统110的相机112接收表示2d图像的图像数据,并处理3d点云和图像数据,以实时或近实时地检测和识别对象。感知模块176的输出包括例如用于一个或多个检测对象的2d或3d坐标系中的对象分段(例如,对象掩码)、对象位置和对象边界。本实施例中,感知模块176的输出还可以包括检测对象的意图预测和当前环境下的驾驶建议等。
52.下载缓存186可以周期性地(例如在预定时间之后)删除。系统软件、软件模块、特定设备应用或其部分可以临时加载到易失性存储器中,例如加载到用于存储运行时数据变量和其它类型的数据或信息的ram 122中。车辆控制系统115接收的数据也可以存储在ram 122中。尽管针对各种类型存储器描述了特定功能,但这只是一个示例,还可以为不同类型的存储器分配不同的功能。
53.车辆控制系统115包括卫星接收器132,其可以使用卫星接收器从卫星网络中的多个卫星接收的信号来确定其位置。卫星网络通常包括多个卫星,这些卫星是至少一个全球导航卫星系统(global navigation satellite system,gnss)的一部分。至少一个gnss提供全球覆盖范围内的自主地理空间定位。例如,卫星网络可以是一群gnss卫星。示例性gnss包括美国navstar全球定位系统(global positioning system,gps)或俄罗斯全球轨道导航卫星系统(global navigation satellite system,glonass)。其它已经部署或正在开发的卫星导航系统包括欧盟的伽利略定位系统、中国的北斗导航卫星系统(beidou navigation satellite system,bds)、印度区域卫星导航系统和日本卫星导航系统。
54.车辆100可以包括未示出的其它组件,包括用户接口系统和无线通信系统(例如包括天线)等。这些其它组件还可以将输入提供给上述系统或从上述系统接收输出。车辆100可以与外部系统(例如外部地图数据库)进行通信。车辆100还可以与能够在自动、半自动或
cone)、交通指示牌(traffic stick)、消防栓(fire hydrant)、摩托车(motocycle)、自行车(bicycle)),交通标志(traffic sign、导向标志(guide sign)、广告牌(billboard)、红色交通灯(traffic light_red)/黄色交通灯(traffic light_yellow)/绿色交通灯(traffic light_green)/黑色交通灯(traffic light_black)、路标(road sign)等)。另外,为了准确获取动态目标的在3维空间的位置、尺寸和朝向,还需感知模块要对动态目标进行3d估计,输出3d框。为了准确预测动态目标的意图,需要感知模块获取动态目标的速度,对于车辆这样的动态目标,还需要获取车辆的刹车灯或转向灯等。为了与激光雷达的数据进行融合,需要感知模块获取动态目标的掩码(mask),从而把打到动态目标上的激光点云筛选出来;为了进行精确的泊车位,需要同时检测出泊车位的4个关键点;为了进行构图定位,需要检测出静态目标的关键点。
60.为了使感知模块能够处理多种不同的感知任务,目前有一种方法是通过多任务感知算法实现多任务感知。多任务感知算法主要特征为:主干网络对传感器数据(例如图像、雷达数据或激光雷达数据等)进行特征提取,后面接n个并行任务头承担不同感知要素的检测(如行人2d检测、车辆2d框检测、红绿灯2d框检测)。每个任务头后接细化的二级任务(如3d/mask检测、关键点检测等)。此处的任务主要可分为动态任务和静态任务两种。动态任务是指识别环境中可能会发生移动的目标,如:行人,车辆的3d位置、朝向、速度识别。静态任务是指识别环境中不会发生移动的目标,如:车道线、停止线、交通灯、锥桶识别等。
61.感知架构演进过程中,下游路径规划模块经常有新的感知任务需求提出来。这就需要针对新增任务来定制化设计任务头,实现复杂。同时需要收集该任务的标注数据,训练网络的时候还需要考虑多任务训练相互冲突的问题,新增的任务头通常会影响其他头的性能,灵活性和可维护性差。
62.为了解决上述技术问题,本技术提供如下实施例。
63.区别于现有技术中通过多任务头实现多任务感知,本技术使用多模态模型进行多任务感知。具体而言,如图2所示,图2为本技术提供的一种感知模块的结构示意图。本实施例中,感知模块包括多模态模型,多模态模块能够理解和处理文本,以及图像、3d点云等传感器数据。感知模块配置有文本集,文本集中包括至少一个文本。当文本集包括多个文本时,多个文本指示不同的感知任务。
64.文本集中的文本可以包括指示低阶感知任务的文本。低阶感知任务指检测环境中能够被直接探测到的对象。示例性地,低阶感知任务对应的文本包括“请检测行人/车辆/障碍物3d框/2d框”“请检测车道线”“请检测交通灯信号”“请检测车位”“请检测当前的驾驶场景”“请检测当前的天气”等。文本集中的文本还可以包括指示高阶感知任务的文本。高阶感知任务指基于当前感知到的环境,结合多方面要素对环境中的目标对象的意图进行推理预测,还可以直接要求感知模块基于当前的环境给出行车建议。示例性的,高阶感知任务对应的文本包括“行人/前车/后车的意图是什么”“当前道路可否通行”“能否超车/变道/加塞”等等。其中,“前车的意图是什么”可以结合前车的位置、朝向、速度和转向灯,以及前车与车道线之间的位置关系等要素综合预测。“当前道路可否通行”可以结合当前道路是否为路口、是否存在人行道、交通灯的颜色、是否存在障碍路等要素进行预测。可以理解,上述的文本列举仅作为示例,不应理解为对本技术的限制,实际应用中可以对具体文本做出相应的变换或增删,此处不做限制。
65.本实施例中的多模态模型例如融合有自然语言模型,文本属于自然语言的一种形式,多模态模型能够理解文本中的语义,即可以理解基于当前输入的文本需要处理何种感知任务,进而根据文本指示的感知任务对输入的传感器数据进行处理,最后输出对应的感知信息。从而,通过向多模态模型输入不同的文本能够指示多模态模型完成不同的感知任务。
66.文本集中的文本配置有对应的查询频率,每一文本对应的查询频率指示单位时间内该文本被输入多模态模型的次数,即感知模块单位时间内处理该文本对应的感知任务次数。对于对实时性要求较高的感知任务,例如2d目标检测和3d目标检测等,对应的文本可以设置较高的查询频率,从而感知模块能够实时、及时地向下游的路径规划模块提供感知信息。对于对实时性要求稍低的感知任务,例如“请检测当前的天气”“请检测当前的驾驶场景”,则可以设置较低的查询频率。
67.感知模块包括至少一个多模态模型。当感知模块包括一个多模态模型时,由该多模态模型依次处理所有的感知任务,即所有的文本按照对应的查询频率均输入至该多模态模型。感知模块包括至少两个多模态模型时,这些多模态模型共同处理所有的感知任务。共同处理可以是指不同的多模态模型处理不同的感知任务,输入至不同的多模态模型的文本不重叠。例如感知模块包括多模态模型1和多模态模型2,多模态模型1处理2d目标检测任务,即向多模态模型1输入2d目标检测对应的文本,如“请检测行人/车道线/车辆/交通灯/交通指示牌的2d框”等;多模态模型2处理3d目标检测任务,即向多模态模型2输入2d目标检测对应的文本,如“请检测行人/车辆的3d框”等。共同处理还可以是这些多模态模型处理的感知任务相同,单位时间内各多模态模型各自处理所有感知任务一定次数,即向这些多模态模型输入的文本是相同的,单位时间内向所有多模态模型输入某一文本的次数的和等于该文本的查询频率。例如,感知模块包括多模态模型1和多模态模型2,文本“检测车辆的3d框”和“检测车道线”的查询频率均为1khz,1秒内“检测车辆的3d框”和“检测车道线”输入多模态模型1的次数可以为500次,输入多模态模型2的次数可以为500次,当然,单位时间内同一文本输入不同的多模态模型的次数也可以是不同的,此处不做限制。
68.文本集包括多个文本时,可以根据文本的查询频率轮询文本集中的文本,以确定当前输入至感知模块的是文本集中的哪个文本,即从文本集中的多个文本中确定输入至感知模块的目标文本。示例性地,文本集包括“检测车辆的3d框”、“检测车道线”和“前车意图是什么”三个文本,“检测车辆的3d框”的查询频率为1khz、“检测车道线”的查询频率为0.5khz和“前车意图是什么”的查询频率为0.5khz,那么从文本集获取目标文本时,可以根据三者的查询频率比值,按照“检测车辆的3d框”“检测车道线”“检测车辆的3d框”“前车意图是什么”的顺序从文本集获取目标文本,使得“检测车辆的3d框”的查询频率为其他文本的查询频率的两倍。
69.可选地,在不同的驾驶场景下,对不同的感知任务的需求可能不同,处理的感知任务可以结合实际驾驶场景有所变化。即在不同的驾驶场景下,输入感知模块的文本,以及文本的查询频率可以动态调整。例如,当感知模块检测到驾驶场景为地下停车场时,可以提高“请检测车位”输入感知模块的频率,降低“请检测交通灯”输入感知模块的频率,或不向感知模块输入“请检测交通灯”。例如,当驾驶场景为城市马路时,可以降低“请检测车位”输入感知模块的频率。
70.本实施例中,利用文本指示多模态模型处理相应的感知任务,当需要增加、减少或修改感知任务时,可以通过更新文本集中的文本,或修改文本对应的查询频率实现。在需要增加感知任务时,可以在文本集中添加该感知任务对应的文本。在需要减少感知任务时,可以在文本集中删除该感知任务对应的文本,或者将其对应的查询频率调整为0。例如,需要增加感知交通路锥的任务时,可以在文本集中增加“请检测交通路锥”,多模态模型能够理解需要执行检测任务,检测对象是交通路锥,进而基于传感器数据检测环境中是否存在交通路锥,在存在交通路锥时输出交通路锥的坐标。
71.输入多模态模型的数据还包括传感器数据。传感器数据为车辆的传感器采集的表示环境的数据。本实施例中,传感器包括相机和激光雷达。相机用于采集图像,激光雷达用于向环境发射多束激光束,从而得到激光点云(3d点云)。图像中包括更丰富的语义信息,例如基于图像可以识别其中的行人、车辆、交通灯、车道线和交通指示牌等。激光点云则具有更精确的三维信息,例如环境中的车辆的轮廓、位置、大小和朝向等。基于激光点云的时间线索,还能够精确地获得动态目标的速度、加速度等。从而,多模态模型处理包括图像和激光点云的传感器数据,可以实现对环境的多模态融合感知,进而输出精确的感知信息。当然,传感器数据还可以包括其他传感器采集的数据,例如超声波雷达和毫米波雷达等,此处不一一举例。
72.可选地,感知模块还包括序列化模块,用于对输入的数据进行序列化处理,使得多模态模型能够处理输入的数据。序列化模块具体可以包括文本序列化模块和传感器数据序列化模块。文本序列化模块用于对输入的目标文本进行序列化处理,例如对目标文本进行词嵌入(word embedding)操作,将目标文本映射到向量空间,得到目标文本序列,即目标文本在向量空间的表示,目标文本序列的语义与目标文本的语义相同。传感器数据序列化模块用于对输入的传感器数据进行序列化处理,得到传感器数据序列。例如,对图像进行图嵌入(image embedding)操作,将图像映射到向量空间,得到图像序列。序列化模块还用于得到目标文本序列和传感器数据序列后,将二者拼接得到多模态序列,然后将多模态序列输入至多模态模型。
73.可选地,如图3所示,感知模块还包括bev转换模块,bev转换模块用于将部分传感器数据(例如激光点云和/或图像)转换为bev数据,再将bev数据输入至传感器数据序列化模块,得到bev数据序列。当然bev转换模块还可以将超声波雷达和/或毫米波雷达等传感器采集的数据转换为bev数据。在bev数据中,物体在bev投影上占据了不同的空间,可有效解决物体间的遮挡问题,并且bev数据保留了物体的大小,提供了物体在地平面上的位置,垂直差异小。从而,基于bev数据,多模态模型能够获得更加精确的3d框或语义分割。bev转换模块将图像转换为bev数据的方式有多种,可以利用几何投影将图像(透视图)转换为bev数据,还可以利用深度学习网络将图像转换为bev数据等等。由于激光点云本身是三维数据,因此bev转换模块可以将三维点云投影到二维平面(俯视平面)上得到bev数据。当输入bev转换模块的传感器数据既包括激光点云又包括图像时,bev转换模块可以分别将激光点云和图像转换为bev数据,并将激光点云对应的bev数据和图像对应的bev数据分别输入至传感器数据序列化模块。当然,bev转换模块还可以融合图像和激光点云等传感器数据获得bev数据,以集成各种传感器数据的优点,获得更加精确的bev数据。
74.可选地,图像可以同时输入至bev转换模块和传感器数据序列化模块,从而得到基
于图像换得到bev数据以及图像序列,输入至多模态模型的传感器数据序列既包括该图像对应的bev数据序列,又包括该图像对应的图像序列。从而输入至多模态模型的传感器数据序列既包括物体大小位置准确的bev信息,保留了图像中丰富的语义信息,例如颜色、纹理和边缘等等,能够实现更精确的环境感知。激光点云等数据同理,以保留更多视角的信息,提高感知精确度。
75.本实施例中,多模态模型可以为视觉-语言模型(vision-and-language model,vlm),同时具备处理自然语言和计算机视觉的能力。多模态模型可以是结合大语言模型(large language model,llm)和计算机视觉模型得到的。多模态模型的训练可参照现有的训练方法,不同之处在于,本技术在训练多模态模型时,输入中多模态模型的训练数据为指示感知任务的文本,以及表示环境的传感器数据。训练数据可以包括指示不同感知任务的多个文本,从而实现多感知任务训练,能够提高模型对多各感知任务的推理准确率。多模态模型在不同的任务之间具有较好的迁移和泛化性能,对零样本任务也可以进行准确的推理。因此,当需要新增感知任务时,可以通过增加对应的文本实现,而不需要修改多模态模型,即新增感知任务不需要修改多模态模型的参数或结构,从而不会影响其他感知任务的性能,感知任务的增减和调整更加灵活,易于维护。
76.多模态模型处理包括目标文本序列和传感器数据序列的多模态序列,得到目标文本序列指示的目标任务对应的感知信息。多模态模型输出的感知信息可以用于下游的路径规划模块进行路径规划等。
77.如图4所示,图4为本技术提供的一种数据处理方法的流程示意图。本实施例可以由车辆中的计算机系统实现,也可以由云端服务器实现。本实施例包括如下步骤:
78.s401:获取传感器数据,传感器数据为车辆的传感器采集的表示环境的数据。
79.车辆的传感器例如包括激光雷达、相机、毫米波雷达和超声波雷达等中的至少一种。传感器数据则包括激光雷达采集的激光点云,相机采集的图像,毫米波雷达采集的毫米波雷达数据和超声波雷达采集的超声波雷达数据等中的至少一种。若车辆上的传感器包括激光雷达,且激光雷达的数量为多个时,传感器数据包括多个激光雷达的数据。相机、毫米波雷达和超声波雷达等传感器同理。
80.感知模块可以周期性从各传感器接收传感器数据,以实时或近实时对环境进行感知。
81.s402:获取目标文本,目标文本指示对环境的目标感知任务。
82.目标文本指示一个感知环境的目标感知任务。目标文本为从文本集获取的一个文本,文本集中包括多个文本时,多个文本可以分别指示不同的感知任务。文本集中的每一文本配置有相应的查询频率,查询频率大于1时,意味着在单位时间内,可以将文本多次输入感知模型以执行相应的感知任务。通过文本指示相应的感知任务,可以通过增删文本实现感知任务的调整,更加简单灵活,并且无需重新设计任务头,也无需重新训练模型,更加易于维护。
83.从文本集中的多个文本中获取目标文本的方法参阅上文相关描述,此处不再赘述。
84.可以理解,s401和s402之间没有先后关系,可以是先执行s401再执行s402,也可以是先执行s402再执行s401,或者s401和s402同时执行,此处不做限制。
85.s403:根据传感器数据、目标文本和多模态模型,得到目标感知任务对应的感知信息,多模态模型用于理解目标文本的语义,并根据语义处理传感器数据得到感知信息。
86.本实施例中的多模态模型,能够理解输入的文本的语义,并对传感器数据进行相应的处理从而得到感知信息。多模态模型输出的感知信息可以理解为根据传感器数据做出的针对目标文本的答复。目标文本的语义指示了一个目标任务,从而多模态模型可以处理传感器数据输出目标任务对应的感知信息,感知信息用于自动驾驶的决策和规划。多模态模型输出的感知信息可以是自然语言表示的,例如文本或语音等。示例性地,目标文本为“当前道路能否通行”,多模态模型处理传感器数据确定当前道路没有障碍后,输出文本表示的感知信息“当前道路可以通行”。当然,多模态模型输出的感知信息也可以是其他的形式表示的,如二进制等。示例性地,目标文本为“当前道路能否通行”,多模态模型处理传感器数据确定当前道路没有障碍后,输出文本表示的可以通行的感知信息“1”。
87.具体地,为了使多模态模型能够处理传感器数据和目标文本,可以对传感器数据和目标文本分别进行序列化处理,得到传感器数据序列和目标文本序列。然后拼接传感器数据序列和目标文本序列,得到多模态序列。然后将多模态序列输入多模态模型进行处理。
88.可选地,在序列化传感器数据之前,可以对部分传感器数据,例如图像和/或激光点云等进行bev转换,得到bev数据。然后序列化bev数据,得到bev数据序列。当然,为了保留传感器数据中更加丰富的语义信息和细节信息,图像和/或激光点云除了进行bev转换,还可以同时进行序列化处理。即,传感器数据序列即包括bev数据序列,又包括图像序列和激光点云序列,从而多模态模型能从多个维度得到更加精确的感知信息。
89.本实施例中,利用文本指示多模态模型处理相应的感知任务,当需要增加、减少或修改感知任务时,可以通过更新文本集中的文本,或修改文本对应的查询频率实现,使得感知任务的调整更加灵活。并且,多模态模型具有较好的泛化和迁移性能,可以在不修改多模态模型的情况下新增感知任务,更加容易维护。
90.为了使本技术的方案更加容易理解,下面对本技术的方案进行示例性描述。
91.示例一,检测目标对象的3d框
92.如图5所示,目标文本“请检测环境中车辆3d框”和传感器数据(图像、激光点云等)分别序列化后得到“请检测环境中车辆3d框”对应的序列(目标文本序列),以及传感器数据对应的传感器数据序列。拼接目标文本序列和传感器数据序列得到多模态序列。将多模态序列输入到多模态模型,多模态模型根据目标文本序列的语义,检测传感器数据序列表示的环境中的车辆的3d框信息,多模态模型输出目标文本对应的感知信息:“检测到环境中存在2辆车,3d框分别为:车辆1:[x1,y1,z1,w1,l1,h1,theta1];车辆2:[x2,y2,z2,w2,l2,h2,theta2]。”[0093]
示例二,预测目标对象的意图
[0094]
如图6所示,目标文本“左前方车辆行驶意图是什么”和传感器数据(图像、激光点云等)分别序列化后得到“左前方车辆行驶意图是什么”对应的序列(目标文本序列),以及传感器数据对应的传感器数据序列。拼接目标文本序列和传感器数据序列得到多模态序列。将多模态序列输入到多模态模型,多模态模型根据目标文本序列的语义,检测传感器数据序列表示的环境中的左前方车辆的朝向和转向灯等,随后输出目标文本对应的感知信息:“检测到左前方车辆右转向灯闪烁,该车正意图汇入我方车道,请注意保持安全距离,谨
慎驾驶。”[0095]
示例三,典型驾驶场景
[0096]
如图7所示,图中列出了7大典型场景,描述了从公司地下停车场到小区停车场的典型驾驶任务场景可能遇到的情况。简要描述如下:
[0097]
场景1:地下停车库
[0098]
地下停车库出发。输入目标文本:“我需要出停车场,该如何驾驶”和表示当前环境的传感器数据(包括图像和激光点云)。多模态模型检测到图像中的文字“出口”以及箭头方向指向右方,多模态模型输出感知信息:“前方请右转驶出停车场”。
[0099]
场景2:路口
[0100]
驶出停车场后,来到路口。输入目标文本:“当前路口是否可直行”和表示当前环境的传感器数据。多模态模型检测到图像中当前道路对应的红绿灯的颜色,多模态模型输出感知信息:“直行红灯,请停车,5秒后可直行”。
[0101]
场景3:道路施工
[0102]
遇到道路施工场景。输入目标文本:“当前道路是否可通行”和表示当前环境的传感器数据。多模态模型检测到图像中当前道路存在施工路牌,多模态模型输出感知信息:“前方施工,请变到左侧车道通行”。
[0103]
场景4:驶入公交车道
[0104]
遇到驶入公交车道场景。输入目标文本:“当前道路是否可通行”。和表示当前环境的传感器数据。多模态模型检测到图像中当前道路中的“公交车道”,多模态模型输出感知信息:“当前车道为公交车道,请向左变换一条车道”。
[0105]
场景5:前车危险汇入
[0106]
遇到前车危险汇入场景。输入目标文本:“当前道路是否可通行”和表示当前环境的传感器数据。多模态模型检测到前车车头朝向自车车道、车身压车道线、左转向灯闪烁,多模态模型输出感知信息:“前车汇入我方车道,请减速,保持安全驾驶距离”。
[0107]
场景6:交警执勤
[0108]
遇到交警执勤场景。输入目标文本:“当前道路是否可通行”和表示当前环境的传感器数据。多模态模型检测交警的手势,多模态模型输出感知信息输出:“当前路口无红绿灯,请按照交警指令通行,请左转。”。
[0109]
场景7:小区停车场
[0110]
遇到小区停车场需要找车位场景。输入目标文本:“我需要找车位”和表示当前环境的传感器数据。多模态模型检测到停车位,多模态模型输出感知信息输出:“右侧发现两个停车位,请泊入车位停车”。
[0111]
基于相同的发明构思,本技术还提供如下实施例。
[0112]
如图8所示,图8为本技术提供的一种装置的结构示意图。该装置800可以为硬件(例如芯片),也可以为软件产品,例如一种功能模块。装置800包括获取模块801和处理模块802。其中,获取模块801,用于获取传感器数据,传感器数据为车辆的传感器采集的表示环境的数据。获取模块801,用于获取目标文本,目标文本指示对环境的目标感知任务。处理模块802,用于根据传感器数据、目标文本和多模态模型,得到目标感知任务对应的感知信息,多模态模型用于理解目标文本的语义,并根据语义处理传感器数据得到感知信息。
[0113]
在一种可能的实现方式中,处理模块802,用于根据传感器数据得到传感器数据序列。处理模块802,用于根据目标文本得到目标文本序列。处理模块802,用于拼接传感器数据序列和目标文本序列,得到多模态序列。处理模块802,用于将多模态序列输入多模态模型,以得到多模态模型输出的感知信息。
[0114]
在一种可能的实现方式中,传感器数据包括激光雷达采集的激光点云和摄像头采集的图像,传感器数据序列包括bev数据序列。处理模块802,用于根据激光点云和/或图像获得bev数据。处理模块802,用于序列化bev数据得到bev数据序列。
[0115]
在一种可能的实现方式中,传感器数据包括激光雷达采集的激光点云和摄像头采集的图像,传感器数据序列包括图像序列,图像序列为根据图像获得的。
[0116]
在一种可能的实现方式中,获取模块801,用于从文本集的多个文本中获取目标文本,文本集中的每一文本指示一个感知任务。
[0117]
在一种可能的实现方式中,每一文本配置有查询频率,查询频率指示文本被输入多模态模型的频率。获取模块801,用于根据文本的查询频率在多个文本中获取目标文本。
[0118]
如图9所示,图9为本技术提供的一种电子设备的结构示意图。该电子设备900可以为车辆或服务器等。该电子设备900包括处理器901和存储器902,处理器901耦接存储器902,处理器901被配置为基于存储在存储器902中的指令,执行上述任意实施例中的数据处理方法。
[0119]
本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现上述任一方法实施例的数据处理方法流程。
[0120]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0121]
在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0122]
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0123]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0124]
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘
等各种可以存储程序代码的介质。

技术特征:
1.一种数据处理方法,其特征在于,方法包括:获取传感器数据,所述传感器数据为车辆的传感器采集的表示环境的数据;获取目标文本,所述目标文本指示对所述环境的目标感知任务;根据所述传感器数据、所述目标文本和多模态模型,得到所述目标感知任务对应的感知信息,所述多模态模型用于理解所述目标文本的语义,并根据所述语义处理所述传感器数据得到所述感知信息。2.根据权利要求1所述的方法,其特征在于,所述根据所述传感器数据、所述目标文本和多模态模型,得到所述目标感知任务对应的所述感知信息,包括:根据所述传感器数据得到传感器数据序列;根据所述目标文本得到目标文本序列;拼接所述传感器数据序列和所述目标文本序列,得到多模态序列;将所述多模态序列输入所述多模态模型,以得到所述多模态模型输出的所述感知信息。3.根据权利要求2所述的方法,其特征在于,所述传感器数据包括激光雷达采集的激光点云和摄像头采集的图像,所述传感器数据序列包括鸟瞰视图bev数据序列,所述根据所述传感器数据得到所述传感器数据序列,包括:根据所述激光点云和/或所述图像获得bev数据;序列化所述bev数据得到所述bev数据序列。4.根据权利要求2或3所述的方法,其特征在于,所述传感器数据包括激光雷达采集的激光点云和摄像头采集的图像,所述传感器数据序列包括图像序列,所述图像序列为根据所述图像获得的。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述获取目标文本包括:从文本集的多个文本中获取所述目标文本,所述文本集中的每一所述文本指示一个感知任务。6.根据权利要求5所述的方法,其特征在于,每一所述文本配置有查询频率,所述查询频率指示所述文本被输入所述多模态模型的频率,所述从文本集的多个文本中获取所述目标文本包括:根据所述文本的所述查询频率在所述多个文本中获取所述目标文本。7.一种装置,其特征在于,所述装置包括:获取模块,用于获取传感器数据,所述传感器数据为车辆的传感器采集的表示环境的数据;所述获取模块,用于获取目标文本,所述目标文本指示对所述环境的目标感知任务;处理模块,用于根据所述传感器数据、所述目标文本和多模态模型,得到所述目标感知任务对应的感知信息,所述多模态模型用于理解所述目标文本的语义,并根据所述语义处理所述传感器数据得到所述感知信息。8.根据权利要求7所述的装置,其特征在于,所述处理模块,用于根据所述传感器数据得到传感器数据序列;所述处理模块,用于根据所述目标文本得到目标文本序列;所述处理模块,用于拼接所述传感器数据序列和所述目标文本序列,得到多模态序列;
所述处理模块,用于将所述多模态序列输入所述多模态模型,以得到所述多模态模型输出的感知信息。9.根据权利要求8所述的装置,其特征在于,所述传感器数据包括激光雷达采集的激光点云和摄像头采集的图像,所述传感器数据序列包括bev数据序列;所述处理模块,用于根据所述激光点云和/或所述图像获得bev数据;所述处理模块,用于序列化所述bev数据得到所述bev数据序列。10.根据权利要求8或9所述的装置,其特征在于,所述传感器数据包括激光雷达采集的激光点云和摄像头采集的图像,所述传感器数据序列包括图像序列,所述图像序列为根据所述图像获得的。11.根据权利要求7至10中任一项所述的装置,其特征在于,所述获取模块,用于从文本集的多个文本中获取所述目标文本,所述文本集中的每一所述文本指示一个感知任务。12.根据权利要求11所述的装置,其特征在于,每一所述文本配置有查询频率,所述查询频率指示所述文本被输入所述多模态模型的频率;所述获取模块,用于根据所述文本的所述查询频率在所述多个文本中获取所述目标文本。13.一种电子设备,其特征在于,所述设备包括处理器和存储器,所述处理器耦接所述存储器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1-6中任一项所述的数据处理方法。14.一种计算机可读存储介质,其特征在于,包括指令,当所述计算机可读存储介质在计算机上运行时,使得所述计算机执行如权利要求1-6中任一项所述的数据处理方法。

技术总结
公开了一种数据处理方法及相关设备,以降低自动驾驶系统中多任务感知模块的维护难度。该方法包括:获取传感器数据和目标文本,传感器数据为车辆的传感器采集的表示环境的数据,目标文本指示对环境的目标感知任务。根据传感器数据、目标文本和多模态模型,得到目标感知任务对应的感知信息。其中,多模态模型用于理解目标文本的语义,并根据语义处理传感器数据得到感知信息。得到感知信息。得到感知信息。


技术研发人员:叶超强 徐航 许松岑 程思源 张洪波
受保护的技术使用者:华为技术有限公司
技术研发日:2023.05.31
技术公布日:2023/10/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐