一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

车辆数据增强的制作方法

2021-10-24 04:31:00 来源:中国专利 TAG:总体上 传感器 车辆 公开


1.本公开总体上涉及车辆传感器。


背景技术:

2.车辆可以被配备有计算装置、网络、传感器和控制器以获取关于车辆的环境的数据并且基于所述数据来操作车辆。车辆传感器可以提供关于在车辆环境中要行驶的路线和要避开的对象的数据。车辆的操作可以依赖于在车辆正在道路上进行操作时获取关于车辆的环境中的对象的准确且及时的数据。


技术实现要素:

3.可配备车辆以在自主模式和乘员操作模式下进行操作。半自主或完全自主模式意指其中车辆可以由作为具有传感器和控制器的系统的一部分的计算装置部分地或完全地操作的操作模式。车辆可以被占用或未被占用,但是在任何一种情况下,都可以在没有乘员辅助的情况下部分地或完全地操作车辆。出于本公开的目的,自主模式被限定为其中车辆推进(例如,经由包括内燃发动机和/或电动马达的动力传动系统)、制动和转向中的每一者都由一个或多个车辆计算机控制的模式;在半自主模式中,车辆计算机控制车辆推进、制动和转向中的一者或两者。在非自主模式中,这些都不由计算机控制。
4.车辆中的计算机可以被编程为获取关于车辆外部环境的数据并使用所述数据来确定车辆路径,在所述车辆路径上以自主或半自主模式操作车辆。车辆可以基于车辆路径通过确定命令来指示车辆的动力传动系统、制动和转向部件操作车辆以沿着所述路径行驶,而在道路上操作。关于外部环境的数据可以包括车辆周围的环境中的一个或多个对象(诸如,车辆、行人或车辆挂车)的位置。数据可由车辆中的计算机处理并且可使用所述数据来操作车辆。
5.车辆中的计算机可以通过将车辆传感器数据输入到经训练以识别和定位对象的深度神经网络来确定在其上操作车辆的车辆路径。例如,可以训练深度神经网络以确定车辆挂车相对于车辆的角度。计算机可以使用角度数据来确定允许车辆后退并停放挂车的车辆路径。可以使用在多种环境条件下获取的传感器数据,基于多种挂车类型来训练深度神经网络。尽管对多种挂车类型和多种环境条件训练了深度神经网络,但在实际操作中可能会遇到带有新的车辆挂车部件的新挂车类型。发生这种情况时,深度神经网络可能无法确定有关新挂车类型的角度数据。本文讨论的技术可以使用与确定关于新挂车类型的角度数据的故障相对应的传感器数据来基于故障传感器数据生成多个图像。多个生成的图像可用于重新训练深度神经网络,以确定在多种环境条件下有关新挂车类型的角度数据。经重新训练的深度神经网络可以被下载到车辆,并用于基于确定有关新挂车类型的角度数据来操作车辆。本文公开了一种方法,所述方法包括:从车辆接收一个或多个图像,其中包括在所述车辆中的计算机中的深度神经网络未能确定所述一个或多个图像中的第一对象的取向;用小样本(few

shot)图像转换器生成多个修改图像,其中所述修改图像各自包括基于所述
第一对象的修改对象;以及基于所述多个修改图像重新训练深度神经网络以确定所述修改对象的所述取向。可以将重新训练的深度神经网络下载到车辆。小样本图像转换器可基于生成对抗网络并使用多个真实世界图像和多个合成图像进行训练,以基于来自所述车辆的所述一个或多个图像将一个或多个输入图像转换为所述多个修改图像。可基于所述多个真实世界图像和多个合成图像来训练所述小样本图像转换器,所述多个合成图像包括车辆挂车和关于分别针对每个真实世界图像每个车辆挂车相对于车辆的角度的地面实况数据。所述多个真实世界图像和所述多个合成图像可包括多个天气和照明条件,包括白天、夜间、雨、雪和多个阳光方向。
6.所述多个真实世界图像和所述多个合成图像中的所述多个车辆挂车可包括多个挂车部件以各种构型构造的多种车辆挂车类型。所述第一对象可以是车辆挂车,并且确定所述第一对象的所述取向可包括分别针对每个修改图像确定车辆挂车相对于车辆的角度。所述多个修改图像可各自包括地面实况数据,所述地面实况数据包括车辆挂车相对于车辆的相应角度。每个修改图像可包括以相对于车辆的等于输入图像中出现的对象的角度的角度取向的车辆挂车。每个修改对象可基于所述第一对象,并且包括所述第一对象中包括的与所述第一对象中包括的所述车辆挂车部件具有相同构型的车辆挂车部件。深度神经网络可包括卷积层和全连接层,其中所述卷积层处理输入图像数据并且所述全连接层处理来自所述卷积层的输出,以确定所述对象相对于车辆的角度。所述小样本图像转换器可包括内容编码器层、类别编码器层和解码器层,其中所述内容编码器层基于输入对象类型和对象取向生成潜在残差特征,并且所述解码器层基于所述类别编码器层生成输出图像。可通过将图像输入到所述重新训练的深度神经网络以确定附接的挂车的挂车角度来操作车辆。可通过基于包括附接的挂车的所述输入图像确定车辆路径来操作车辆。可通过命令车辆动力传动系统、车辆转向和车辆制动器沿所述车辆路径操作所述车辆来操作所述车辆,所述车辆路径将力施加到所述附接的挂车,以将所述附接的挂车以目标取向移动到目标位置。
7.还公开了一种计算机可读介质,所述计算机可读介质存储用于执行上述方法步骤中的一些或全部的程序指令。还公开了一种被编程用于执行上述方法步骤中的一些或全部的计算机,所述计算机包括计算机设备,所述计算机设备被编程为:从车辆接收一个或多个图像,其中包括在所述车辆中的计算机中的深度神经网络未能确定所述一个或多个图像中的第一对象的取向;用小样本图像转换器生成多个修改图像,其中所述修改图像各自包括基于所述第一对象的修改对象;以及基于所述多个修改图像重新训练深度神经网络以确定所述修改对象的所述取向。可以将重新训练的深度神经网络下载到车辆。小样本图像转换器可基于生成对抗网络并使用多个真实世界图像和多个合成图像进行训练,以基于来自所述车辆的所述一个或多个图像将一个或多个输入图像转换为所述多个修改图像。可基于所述多个真实世界图像和多个合成图像来训练所述小样本图像转换器,所述多个合成图像包括车辆挂车和关于分别针对每个真实世界图像每个车辆挂车相对于车辆的角度的地面实况数据。所述多个真实世界图像和所述多个合成图像可包括多个天气和照明条件,包括白天、夜间、雨、雪和多个阳光方向。
8.所述指令可包括另外的指令,其中所述多个真实世界图像和所述多个合成图像中的所述多个车辆挂车可包括多个挂车部件以各种构型构造的多种车辆挂车类型。所述第一对象可以是车辆挂车,并且确定所述第一对象的所述取向可包括分别针对每个修改图像确
定车辆挂车相对于车辆的角度。所述多个修改图像可各自包括地面实况数据,所述地面实况数据包括车辆挂车相对于车辆的相应角度。每个修改图像可包括以相对于车辆的等于输入图像中出现的对象的角度的角度取向的车辆挂车。每个修改对象可基于所述第一对象,并且包括所述第一对象中包括的与所述第一对象中包括的所述车辆挂车部件具有相同构型的车辆挂车部件。深度神经网络可包括卷积层和全连接层,其中所述卷积层处理输入图像数据并且所述全连接层处理来自所述卷积层的输出,以确定所述对象相对于车辆的角度。所述小样本图像转换器可包括内容编码器层、类别编码器层和解码器层,其中所述内容编码器层基于输入对象类型和对象取向生成潜在残差特征,并且所述解码器层基于所述类别编码器层生成输出图像。可通过将图像输入到所述重新训练的深度神经网络以确定附接的挂车的挂车角度来操作车辆。可通过基于包括附接的挂车的所述输入图像确定车辆路径来操作车辆。可通过命令车辆动力传动系统、车辆转向和车辆制动器沿所述车辆路径操作所述车辆来操作所述车辆,所述车辆路径将力施加到所述附接的挂车,以将所述附接的挂车以目标取向移动到目标位置。
附图说明
9.图1是示例性交通基础设施系统的图示。
10.图2是示例性车辆挂车的图示。
11.图3是两个示例性车辆挂车的图示。
12.图4是用于训练深度神经网络的示例性系统的图示。
13.图5是小样本图像转换器的图示。
14.图6是使用小样本图像转换器重新训练深度神经网络的系统的图示。
15.图7是用于重新训练深度神经网络的示例性过程的流程图。
具体实施方式
16.图1是交通基础设施系统100的图示,所述交通基础设施系统包括可以自主(“自主”本身在本公开中意指“完全自主”)、半自主和乘员操作(也称为非自主)模式操作的车辆101。一个或多个车辆101计算装置105可以从传感器110接收关于车辆100的操作的数据。计算装置105可以以自主模式、半自主模式或非自主模式操作车辆101。
17.计算装置105包括诸如已知的处理器和存储器。此外,存储器包括一种或多种形式的计算机可读介质,并且存储可由处理器执行的用于执行包括如本文所公开的各种操作的指令。例如,计算装置105可以包括编程以操作车辆制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆101的加速度)、转向、气候控制、内部灯和/或外部灯等中的一者或多者,以及确定计算装置105(而不是人类操作员)是否以及何时控制此类操作。
18.计算装置105可以包括多于一个计算装置(例如,包括在车辆101中以用于监测和/或控制各种车辆部件115的控制器等(例如,动力传动系统控制器、制动控制器、转向控制器等)),或例如经由如下面进一步描述的车辆通信总线通信地耦合到所述多于一个计算装置。计算装置105通常被布置用于通过车辆通信网络(例如,包括车辆101中的总线,诸如控制器局域网(can)等)通信;另外或替代地,车辆101网络可以包括诸如已知的有线或无线通
信机制,例如以太网或其他通信协议。
19.计算装置105可以经由车辆网络向车辆中的各种装置(例如,控制器、致动器、传感器(包括传感器110)等)传输消息和/或从所述各种装置接收消息。替代地或另外,在计算装置105实际上包括多个装置的情况下,可使用车辆通信网络来用于在本公开中表示为计算装置105的装置之间进行通信。此外,如下文所提及,各种控制器或感测元件(诸如传感器110)可经由车辆通信网络向计算装置105提供数据。
20.另外,计算装置105可被配置用于经由网络120通过车辆对基础设施(v对i)接口与服务器125(例如,云服务器或远程服务器计算机)进行通信,如下所述,所述接口包括允许计算装置105经由诸如无线互联网或蜂窝网络的网络120与服务器125进行通信的硬件、固件和软件。因此,计算装置105可被配置为包括被配置为利用各种有线和/或无线联网技术(例如,蜂窝、和有线和/或无线分组网络)的处理器、存储器、收发器等。计算装置105可被配置用于使用例如在附近车辆101间在移动自组网的基础上形成或通过基于基础设施的网络经由v对i通信形成的车辆对车辆(v对v)网络(例如,根据专用短程通信(dsrc)和/或类似的通信)与其他车辆101进行通信。计算装置105还包括诸如已知的非易失性存储器。计算装置105可以通过将数据存储在非易失性存储器中来记录数据,以便以后检索并经由车辆通信网络传输到服务器125或用户移动装置。服务器计算机125也可用作包括在路边基础设施中的计算装置105,或边缘计算节点,其中边缘计算节点是包括在固定基础设施元件(诸如杆、桥、壁、建筑物等)中或其上的计算装置105,并且所述计算装置获取传感器数据并与车辆101在道路、停车场或停车结构等中的一者或多者的局部部分中经由v对i接口等进行通信。
21.如已经提及的,用于在没有人类操作员干预的情况下操作一个或多个车辆101部件(例如,制动、转向、推进等)的编程通常包括在存储器中所存储的并可由计算装置105的处理器执行的指令中。使用在计算装置105中接收的数据(例如,来自传感器110、服务器计算机125等的传感器数据),计算装置105可在没有驾驶员的情况下作出各种确定和/或控制各种车辆101部件和/或操作以操作车辆101。例如,计算装置105可包括编程以调节车辆101操作行为(即,车辆101操作的物理表现),诸如速度、加速度、减速度、转向等,以及策略性行为(即,通常以预期实现路线的安全且有效的行驶的方式进行的操作行为控制),诸如车辆之间的距离和/或车辆之间的时间量、车道改变、车辆之间的最小间隙、左转跨过路径最小值、在特定位置处的到达时间和为了通过十字路口的十字路口(无信号灯)最小到达时间。
22.如本文使用的术语控制器包括通常被编程来监测和/或控制特定车辆子系统的计算装置。示例包括动力传动系统控制器、制动控制器和转向控制器。控制器可以是诸如已知的电子控制单元(ecu),可能包括如本文所描述的附加的编程。控制器可通信地连接到计算装置105并从计算装置接收指令以根据指令致动子系统。例如,制动控制器可从计算装置105接收指令以操作车辆101的制动器。
23.用于车辆101的一个或多个控制器可包括已知的电子控制单元(ecu)等,作为非限制性示例,包括一个或多个动力传动系统控制器、一个或多个制动控制器和一个或多个转向控制器。控制器中的每一个可包括相应的处理器和存储器以及一个或多个致动器。控制器可被编程并且连接到诸如控制器局域网(can)总线或局域互连网(lin)总线的车辆101通
信总线,以从计算装置105接收指令并基于指令来控制致动器。
24.传感器110可包括已知的多种装置,以经由车辆通信总线提供数据。例如,固定到车辆101的前保险杠(未示出)的雷达可提供从车辆101到车辆101前方的下一车辆的距离,或者设置在车辆101中的全球定位系统(gps)传感器可提供车辆101的地理坐标。车辆位置和取向数据也可以通过惯性测量单元(imu)传感器提供。imu包括被配置为记录车辆101的三维运动的加速度计。例如,由雷达和/或其他传感器110提供的距离和/或由gps和/或imu传感器提供的地理坐标可由计算装置105用来自主或半自主地操作车辆101。
25.车辆101通常是能够自主和/或半自主操作并且具有三个或更多个车轮的陆基车辆101(例如,客车、轻型卡车等)。车辆101包括一个或多个传感器110、v对i接口、v对v接口、计算装置105和车辆部件115(包括一个或多个控制器)。传感器110可收集与车辆101以及车辆101正在运行的环境有关的数据。以举例的方式而非限制,传感器110可包括例如测高仪、相机、激光雷达、雷达、超声传感器、红外传感器、压力传感器、加速度计、陀螺仪、温度传感器、压力传感器、霍尔传感器、光学传感器、电压传感器、电流传感器、机械传感器(诸如开关)等。传感器110可用来感测车辆101的操作环境,例如,传感器110可以检测诸如天气条件(降雨、外部环境温度等)的现象、道路坡度、道路位置(例如,使用道路边缘、车道标记等)或目标对象(诸如邻近车辆101)的位置。传感器110还可用于收集数据,包括与车辆101的操作相关的动态车辆101数据,诸如速度、横摆率、转向角度、发动机转速、制动压力、油压、施加到车辆101中的车辆部件115的功率水平、在车辆部件115之间的连接性以及车辆部件115的准确且及时的性能。
26.图2是附接到车辆101的挂车200的图示。挂车200是车辆101可牵引的无动力车辆。挂车200包括舌杆202,所述舌杆202包括挂车联接器204。挂车联接器204通过将挂车联接器204放置在挂车球206上方以将挂车联接器204可移除地连接到挂车球206而将挂车200连接到车辆101。挂车球206通过球座208附接到车辆101。挂车200相对于与其连接的车辆101的取向可以通过挂车角度210来描述。挂车角度210定义为挂车中心线212相对于车辆中心线214的角度。
27.挂车中心线212和车辆中心线214分别是分别对应于挂车200或车辆101的水平纵向中心的线(有时称为轴线),即中心线212、214平行于地面(通常是支撑挂车200和车辆101的道路)。因此,通过以下方式来确定挂车中心线212:构造通过挂车200的自上而下图像的几何中心和挂车联接器204的横向中心的线,即,挂车中心线212纵向延伸穿过挂车200,假设挂车200是或可以被视为大致矩形(即,可以装配几何矩形来表示挂车200),确定中心线212的点为挂车200的横向中心,即中心线212在纵向方向上将挂车200一分为二。类似地,通过以下方式来确定车辆中心线214:构造穿过车辆101的自上而下图像的横向中心的线,将车辆101视为大致矩形,中心线214进一步穿过连接至车辆101的挂车球206。挂车角度210由挂车中心线212和车辆中心线214的角度确定;角度210的顶点由挂车中心线212和车辆中心线214在挂车球206的中心处的交点形成。
28.可以通过车辆101中的计算机105来确定附接到车辆101的挂车200的挂车角度210,以操作具有附接的挂车200的车辆101。例如,可以通过处理挂车200的图像来估计挂车角度210,并且该挂车角度210可以用于使带有附接的挂车200的车辆101反向行驶。确定附接的挂车200的挂车角度210可以允许车辆101中的计算机105确定要发送到车辆101转向部
件的命令,所述命令将导致车辆101牵引挂车200以使挂车200后退到选定位置,例如停车位。
29.视频传感器216可以包括在车辆101中。视频传感器216可以被取向为提供视野,所述视野包括挂车200(包括挂车联接器204、附接到车辆101的球座208以及在挂车200的任一侧上的环境)的视图。在一些示例中,可以包括第二视频传感器216以获取包括挂车200的两侧上的更多环境的图像,并且可以包括第三视频传感器216以从挂车200的后面获取图像。计算机105可以基于由视频传感器216获取的图像300来确定挂车200的目标位置,诸如停车位、码头或坡道的位置,例如用于停放和/或装载或卸载挂车200的位置。例如,可以通过用深度神经网络处理图像300来确定目标位置。基于所确定的目标位置和所确定的挂车角度210,计算机105可以确定在其上操作车辆101的车辆路径,所述车辆路径将使附接的挂车200以适当的速率沿适当的方向转动以将挂车定位在目标位置处。众所周知,使附接有挂车200的车辆101倒车可导致挂车在与车辆101的转弯方向相反的方向上转弯。因此,由计算机105确定的将挂车200移动到目标位置中的车辆路径可能需要例如车辆101的前向和后向运动。
30.图3是两个视频图像300a、300b(统称为图像300)的图示,其中每个视频图像300是由包括在车辆101中的视频传感器216获取的。每个视频图像300包括挂车200a、200b(统称为挂车200)的相应图像。挂车200可以具有以多种不同构型构造的多个不同部件。挂车部件在本文中指的是常规的挂车部件,诸如舌杆、箱板、车轮等。在视频图像300a中,挂车200a构造有a形舌杆202a,而在视频图像300b中,挂车200b构造有直舌杆202b。挂车200a构造有没有侧面或门的平板314,而挂车200b构造有侧面320和滑道门322。挂车也可以构造成承载多种不同的货物。货物的范围可包括泥土或石头、箱子、家具和机械等材料。货物可以包括诸如拖拉机、汽车和轮船之类的车辆。不同类型的货物可能需要不同构型的挂车200部件,并且可能会改变视频图像中挂车200的外观。例如,由于不同的挂车具有不同的部件,因此在视频图像中改变挂车200的外观可能会导致计算机105无法识别挂车200。
31.挂车部件的不同构型和外观可能会给确定相对于车辆101的挂车角度210带来挑战。可以通过使用深度神经网络处理图像300来确定挂车角度210,这将在下面结合图3进行讨论。基于真实世界图像来用深度神经网络确定挂车角度210可取决于已经使用训练数据集训练了深度神经网络,所述训练数据集包括构造有与真实世界图像中的挂车200具有相同构型的部件的挂车200的图像。具有与训练图像中包括的挂车货物不同的挂车货物可能会导致深度神经网络无法确定挂车角度。成功确定挂车角度210被定义为确定挂车角度210在通过在真实世界中使用例如标尺和量角器等物理仪器测量挂车角度210可获得的挂车角度210的 /

5度内。用物理仪器测量挂车角度210可用作用于训练深度神经网络的地面实况。无法确定挂车角度210包括深度神经网络根本无法确定给定输入图像的挂车角度210。
32.通常,通过改变环境条件使基于输入图像300确定挂车角度210变得甚至更加困难。图像300可以包括多种环境条件,包括照明和天气。照明条件的范围可以从白天到晚上,以及介于两者之间的所有条件。阳光可以投射阴影并引入高光,所述高光根据相对于挂车200的阳光方向而变化。天气条件可以包括雨、雪和雾等。可以通过使用图像300训练深度神经网络来增加确定挂车角度210的成功率,所述图像包括处理在真实世界中操作时获取的图像300时将遇到的环境条件。
33.本文讨论的技术可以改善车辆101中包括的计算机105在确定挂车角度210、216时的性能。这些技术包括存储与通过车辆101中的计算机105中包括的第一深度神经网络确定挂车角度210的故障相对应的多个图像300。所存储的图像被传送到基于云的计算机,并且被用于训练如以下关于图5所定义和描述的小样本图像转换器,以生成与在故障图像210、216中出现的挂车200构型相对应的多个训练图像。训练图像被用于重新训练深度神经网络,以基于出现在故障图像210中的挂车200构型来确定挂车角度210。重新训练的深度神经网络被下载到车辆101中的计算机105,以用于输入车辆传感器216的图像(包括挂车200的图像)并确定挂车角度210。车辆101然后可以使用重新训练的深度神经网络进行操作。在车辆101中的计算机105包括无法确定挂车角度210的深度神经网络的示例中,可以使用重新训练的深度神经网络代替第一深度神经网络。
34.图4是深度神经网络系统400的图示。深度神经网络系统400包括深度神经网络402、训练图像404、与训练图像404相对应的地面实况406,以及从深度神经网络402输出的挂车角度210。深度神经网络402可以包括:多个卷积层,其处理包括训练图像404的输入图像数据;以及多个全连接层,其处理来自卷积层的输出。深度神经网络402可以输入来自包括在车辆101中的视频传感器216的训练图像404数据,或输入由真实感渲染软件生成的合成训练图像404。在该示例中,视频传感器216被配置为提供包括挂车200的视野,如以上关于图2所讨论的。第一深度神经网络402通过处理训练图像404来训练,训练图像404包括挂车200以估计挂车角度210、216。
35.通过处理包括大量(>1000个)训练图像404的数据集来训练第一深度神经网络402,所述训练图像包括在多个环境条件下的多个挂车200类型。数据集中的每个图像都具有对应的地面实况406,所述地面实况指定了图像中挂车200的挂车角度210。地面实况406是关于训练图像404的数据,所述数据是由独立于深度神经网络402的过程确定的。地面实况406被认为代表对真实世界的测量。例如,可以通过对图像的手动检查来估计地面实况406挂车角度210,即,例如在训练图像404硬拷贝上使用包括标尺和量角器之类的仪器来估计图像数据中的挂车角度210。在其他示例中,可以通过在由视频传感器216成像的真实世界车辆101和挂车200上使用诸如标尺和量角器之类的仪器在真实世界中测量挂车角度210来估计地面实况406挂车角度210。在训练中,反向传播来自处理输入的训练图像404的挂车角度210,并将其与对应于输入的训练图像404的地面实况406相比较。反向传播可以基于挂车角度210和对应的地面实况406计算损失函数。损失函数是一种数学函数,其将诸如挂车角度210之类的值映射为与成本相对应的实数。在该示例中,可以将成本确定为所确定的挂车角度210和对应的地面实况406中的挂车角度210之间的度数差。损失函数确定挂车角度210与地面实况的接近程度,并用于调整控制深度神经网络402的参数或权重。
36.改变控制深度神经网络402处理的参数,直到输出挂车角度210结果与针对训练数据集中的多个训练图像404中的每个训练图像的地面实况406匹配为止。如从使用神经网络的图像或模式识别的各种应用中可以理解,参数或权重包括用于从输入图像数据中提取特征的卷积核的系数。参数或权重还包括由包括在全连接层中的线性和/或非线性方程使用的系数。全连接层处理卷积层输出的提取的图像特征。训练深度神经网络402通常包括系统地更改这些参数或权重,并将输出结果与对应于地面实况406的期望结果进行比较。作为在多个输入图像上的多个试验中改变参数或权重的结果,可以确定实现与地面实况匹配的结
果的一组参数或权重。
37.训练数据集中的训练图像404的数量可以通过使用真实感渲染软件生成包括挂车200的合成图像来增加。真实感被定义为在观察者看来就像他们在观看真实场景的图片一样。真实感渲染软件是一种软件程序,其可以创建看起来好像是由查看真实场景的真实相机所获取的图像。示例性真实感渲染软件为由北卡罗来纳州凯瑞市(邮编27518)的英佩数码公司生产的虚幻引擎。
38.真实感渲染软件以数学格式输入描述场景的数据。例如,待渲染的挂车200可以描述为几何形状和表面纹理的集合。每种挂车类型可以具有不同的几何形状和表面纹理的集合。还指定了要渲染的每个挂车200的位置和取向。通过指定用于确定渲染过程的虚拟相机的位置和视场,可以将每个挂车200的位置和取向转换为挂车角度210。由到真实感渲染软件的输入数据确定的挂车角度210是将与输出图像数据一起使用以训练深度神经网络402的地面实况数据。
39.从真实感渲染软件程序输出的图像数据可以输入到生成对抗网络,以增加训练图像数据集中图像的数量和真实性。生成对抗网络是一种神经网络,其包括修改输入图像的生成网络和经训练以确定修改的图像是否与真实图像相似的鉴别器网络。可以通过使用图像相减比较图像来确定图像相似度,其中从第二图像中减去第一图像,然后将两个图像之间的绝对差或平方差求和。小绝对差或平方差(<总的像素值之和的1%)指示相似的图像。还可以基于将第一图像的区域与第二图像的区域相关联的相关技术来确定图像相似性。两个图像之间的高相关性(>90%)指示相似的图像。训练生成对抗网络以对输入合成图像进行足够真实的修改,以使鉴别器网络将其确定为“真实”。可以训练生成对抗网络来修改输入图像,以模拟不同环境条件的影响。例如,可以训练生成对抗网络以将在充满阳光的情况下渲染的挂车的合成图像修改成在生成真实感图像时看起来好像在下雨。生成对抗网络还可以通过向合成图像添加视觉特征以使其看起来好像是由真实世界的视频传感器216获取来提高合成图像的真实感。
40.如以上关于图2所讨论的,用于训练的图像300中的挂车200的不同外观可能导致深度神经网络402无法确定挂车角度210、216。当计算机105确定深度神经网络402无法确定挂车角度210、216时,计算机105可以采取的第一个动作是存储引起故障的图像300并从车辆传感器获取第二图像300。由第一深度神经网络302处理第二图像300,以确定问题是第一图像300的暂时问题还是第二图像300也引起故障。如果第二图像300也导致无法确定挂车角度210、216,则第二图像300由计算机105存储,并且第三图像210被获取和处理。如果第三图像200、205也导致故障,则计算机105存储第三图像200、205,并且可以多次(>10)重复获取和处理图像200、205的过程以确保故障持续存在并获取导致深度神经网络402发生故障的包括挂车200的多个图像。
41.图5是小样本图像转换器500的图示。小样本图像转换器500是一种生成对抗网络,其被修改成允许使用训练数据集训练小样本图像转换器500,所述训练数据集包括多个图像类别1至n(ic1,icn)512、514。图像类别被定义为一组图像,其中每个图像包括在多个环境条件下在多个挂车角度210下具有相同构型的挂车200。每个图像类别512、514被输入到类别编码器(class1,classn)508、510。类别编码器508、510是神经网络,每个神经网络包括卷积编码器层,其后是平均池化层。每个类别编码器508、510以编码格式输出与挂车200构
型相对应的内容潜码。内容潜码(clc)516被输入到确定内容潜码516的均值和方差的均值处理器(mn)518。均值处理器输出潜在类别矢量(lcv)522,潜在类别矢量包括每个内容潜码516的均值和方差。
42.在训练时,将基于训练数据集中的图像类别512、514确定的输出潜在类别矢量522发送到解码器(dec)524。在解码器524中用多个全连接神经网络处理潜在类别矢量522,以形成将由解码器524中的仿射变换处理器使用的参数。测试输入图像(in)504被输入到内容编码器(cont)502,内容编码器502对测试输入图像504的内容进行编码,并输出潜在残差特征(lrf)506。内容编码器502包括多个卷积内容编码器层。潜在残差特征506是与以上关于图2和图3所述的挂车200的部件相对应的数据。将潜在残差特征506输出为将潜在残差特征506的位置编码成16
×
16阵列的特征图。
43.解码器524包括解码器层,其对潜在残差执行仿射变换,以将包括在潜在残差特征522中的特征映射为与类别潜在矢量相对应的格式。仿射变换包括应用于16x16阵列的平移、旋转和缩放操作。仿射变换操作将从输入图像504提取的潜在残差特征522映射到与图像类别512、514中的一者相对应的图像特征,其中通过训练确定应用于平移、旋转和缩放的参数。在训练时,将输出的修改图像(mi)526反向传播,以与输入的训练图像404和图像类别512、514进行比较。通过将挂车角度210与输入图像504的挂车角度进行比较同时将输出的修改图像526中的挂车部件与图像类别512、514中的一者中的挂车部件进行比较来测试输出的修改图像526。当小样本图像转换器500完成训练时,输出的修改图像526将包括与输入的训练图像404中的对象具有相同对象取向的对象。
44.用已知图像类别对小样本图像转换器500进行预训练,以获得令人满意的图像转换质量。然后,通过输入从车辆101中的计算机105上传的存储图像300来重新训练小样本图像转换器500,所述存储图像对应于第一深度神经网络302通过用由来自未见故障图像中的图像组成的新类别来替换源图像类别512、514中的一者来确定挂车角度210的故障。针对已知的源图像类别对小样本图像转换器500进行预训练,以实现已知挂车200类别的令人满意的图像转换质量。在该预训练之后,故障或未见图像作为新类别被用于微调或重新训练小样本图像转换器500。故障或未见图像用于重新训练已经预训练的小样本图像转换器网络500。这重新训练了小样本图像转换器500,以将输入图像504映射到与存储图像300相对应的特征空间中。对应于多个挂车角度210和多个环境条件的输入图像504被输入到小样本图像转换器500。在重新训练后,小样本图像转换器500能够针对挂车200的图像生成与故障图像相对应的修改图像526。修改图像526包括在与输入图像504挂车角度和环境条件相对应的多个环境条件下在多个挂车角度210下的挂车200的图像,同时在存储的图像200、205中包括挂车的特征。输出的修改图像526用作第二深度神经网络610的第二训练数据集。
45.图6是深度神经网络重新训练系统600的图示。深度神经网络重新训练系统600包括小样本图像转换器(few

shot image translator)500和深度神经网络(dnn)610。深度神经网络610可以是车辆101中包括的深度神经网络402的副本。深度神经网络610可以是在基于云的计算机(例如服务器125)上执行的软件程序,所述服务器经由网络120与包括在车辆101中的计算机105通信。用输出的修改图像526训练深度神经网络610可以重新训练原始深度神经网络610来根据与第一深度神经网络302的故障相对应的图像300确定包括具有部件的挂车200的图像中的挂车角度210。与第一深度神经网络302的故障相对应的图像300作为
未见图像(unseen images)604输入到小样本图像转换器中。将未见图像604作为输入类别图像512、514输入到小样本图像转换器500,以训练小样本图像转换器500来修改输入的训练图像404使其包括图像特征,例如使它们看起来是未见图像604的挂车部件和环境条件。
46.训练图像404包括在用于训练深度神经网络402的训练数据集中。由于训练图像404是从训练数据集中获取的,因此训练图像404将包括有关挂车角度210的对应地面实况406。小样本图像转换器500将训练图像404转换为输出图像512,同时将与其对应的地面实况406保留在每个训练图像404中。小样本图像转换器会修改每个输入的训练图像404的外观,以匹配未见图像604的外观,同时在训练图像404中保留挂车角度210。输出的修改图像526可以与和生成输出的修改图像526的输入的训练图像404相对应的地面实况匹配,从而提供地面实况用于训练重新训练的深度神经网络610。
47.当计算机105已获取并存储了导致深度神经网络402无法确定挂车角度210、216的多个图像时,将存储的多个图像作为未见图像604输入到小样本图像转换器500。小样本图像转换器500是在基于云的管理计算装置计算机(例如服务器125)上执行的软件程序。车辆101中的计算机105可以通过网络120对其进行访问。小样本图像转换器500可以输入未见图像604,所述未见图像包括新构型的挂车200,所述新构型的挂车未包括在用于训练第一深度神经网络402的训练图像404中。然后,小样本图像转换器500可以响应于来自训练数据集的训练图像404,输出修改图像526的多个第二训练数据集,所述修改图像包括在对应于第一训练数据集中的训练图像404的多个挂车角度210下的被构造为像新构型的挂车200的挂车200。从小样本图像转换器500输出的修改图像526被称为修改图像526,因为如下面关于图5所讨论的,训练图像404由小样本图像转换器500处理以基于未见图像604改变在输入的训练图像404中的挂车200的外观。
48.包括修改图像526的第二训练数据集可以被添加到第一训练数据集并被用于重新训练原始深度神经网络610,所述修改图像526包括被修改为以新构型出现的挂车200的图像。重新训练的深度神经网络610是在基于云的管理计算机(例如服务器125)上执行的软件程序。重新训练的深度神经网络610是第一深度神经网络302的副本。使用训练图像404和修改图像526两者重新训练原始深度神经网络610来确定挂车角度210、216允许重新训练的深度神经网络610确定在训练图像404和修改图像526两者中的所有挂车200的挂车角度210。
49.在使用训练图像404和修改图像526两者进行训练之后,可以经由网络120将重新训练的深度神经网络610下载到车辆101中的计算机105,以基于由包括在车辆中的视频传感器216获取的输入图像300来确定挂车角度210。在计算机105不包括深度神经网络402的示例中,下载重新训练的深度神经网络对应于第一安装。在车辆101中的计算机105包括第一深度神经网络402的示例中,重新训练的深度神经网络610对应于深度神经网络402的更新并替换深度神经网络402。可以通过替换作为深度神经网络402的编程数据的参数或权重来完成替换。因为使用训练图像404和修改图像526两者对重新训练的深度神经网络610进行了训练,所以重新训练的深度神经网络610可以成功地确定针对挂车200构型的挂车角度210,所述挂车200构型包括引起深度神经网络402发生故障的新挂车200构型。
50.图7是用于对重新训练的深度神经网络610进行重新训练并将其下载到车辆101的过程700的流程图。过程700可由计算装置的处理器实现,例如将来自传感器的信息作为输入,以及执行命令,以及输出对象信息。过程700包括可以所示顺序执行的多个框。过程700
可替代地或另外包括更少的框,或者可包括以不同顺序执行的框。
51.过程700开始于框702,其中包括在车辆101中的第一深度神经网络302存储与确定由包括在车辆101中的视频传感器216获取的图像300中的挂车角度210的故障相对应的未见图像604。
52.在框704处,车辆101中的计算机105将未见图像604上传到小样本图像转换器500。小样本图像转换器500将未见图像604输入为图像类别512、513,其训练小样本图像转换器500修改输入图像以匹配未见图像604的外观。匹配未见图像604的外观包括修改输入图像以包括未见图像604中包括的挂车200部件。
53.在框706处,如上文关于图5和图6所讨论的,小样本图像转换器500通过输入训练图像404并将训练图像404转换成修改图像526来生成修改图像526。输出的修改图像526将包括具有与输入图像504中的挂车角度210匹配的挂车角度210同时包括与未见图像604中的挂车200部件匹配的挂车200部件的挂车200。
54.在框708处,将输出的修改图像526与来自训练图像404的地面实况406组合,以训练重新训练的深度神经网络610。将输出的修改图像526与训练图像404组合以训练重新训练的深度神经网络610,以确定训练图像404和修改图像526两者中的挂车角度210。以这种方式,将训练重新训练的深度神经网络610以处理由深度神经网络402识别的所有挂车200类型,以及与导致深度神经网络402出现故障的未见图像604相对应的新挂车200类型。
55.在框710处,将重新训练的深度神经网络610下载到包括在车辆101中的计算机105。重新训练的深度神经网络610可以被计算机105用来成功确定挂车200类型的挂车角度210,所述挂车200类型包括导致第一深度神经网络302出现故障的挂车200类型。在计算机105不包括第一深度神经网络402的示例中,下载重新训练的深度神经网络对应于第一安装。在车辆101中的计算机105包括第一深度神经网络402的示例中,重新训练的深度神经网络610对应于深度神经网络402的更新并替换或重新编程深度神经网络402。
56.重新训练的深度神经网络610可以输入包括挂车200的图像404并确定挂车角度210。计算机105可以使用所确定的挂车角度210来确定用于操作车辆的车辆路径,所述车辆路径将附接的挂车200定位在所确定的目标位置,如以上关于图2所讨论的。例如,计算机105可以基于处理输入图像300确定挂车200的目标位置和取向。例如,目标位置可以是停车位或坡道。计算机105可以使用运动学仿真程序等来响应于牵引车量101的运动预测挂车200的运动。运动学仿真程序响应于基于起始挂车角度210施加的力,使用挂车200和车辆101的数学模型来模拟挂车200的运动。计算机105可以确定基于起始挂车角度210向挂车200施加力以将挂车200以目标取向移动到目标位置的车辆路径。计算机105可以将命令传输到车辆动力传动系统、车辆转向和车辆制动器,以在车辆路径上操作车辆101,并从而将确定的力施加到挂车200并将其以目标取向移动到目标位置。在框710之后,过程700结束。
57.诸如本文讨论的那些计算装置的计算装置通常各自包括命令,所述命令可由诸如上文所识别的那些计算装置的一个或多个计算装置执行并用于执行上文所描述的过程的框或步骤。例如,上文所讨论的过程框可以体现为计算机可执行命令。
58.计算机可执行命令可以根据使用各种编程语言和/或技术创建的计算机程序来编译或解译,所述编程语言和/或技术单独地或组合地包括但不限于:java
tm
、c、c 、python、julia、scala、visual basic、java script、perl、html等。一般来说,处理器(例如,微处理
器)接收例如来自存储器、计算机可读介质等的命令,并且执行这些命令,从而执行一个或多个过程,包括本文所描述的过程中的一者或多者。此类命令和其他数据可以存储在文件中并使用各种计算机可读介质来传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
59.计算机可读介质包括参与提供可由计算机读取的数据(例如,命令)的任何介质。这种介质可以采用许多形式,包括但不限于非易失性介质、易失性介质等。非易失性介质包括例如光盘或磁盘以及其他持久性存储器。易失性介质包括通常构成主存储器的动态随机存取存储器(dram)。计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带、任何其他磁性介质、cd

rom、dvd、任何其他光学介质、穿孔卡片、纸带、具有孔图案的任何其他物理介质、ram、prom、eprom、flash

eeprom、任何其他存储器芯片或盒式磁带、或者计算机可从其读取的任何其他介质。
60.计算机105可以是如上所述的计算机105,或者可以包括专用电子电路,所述专用电子电路包括针对特定操作而制造的asic,例如,用于处理传感器数据和/或传送传感器数据的asic。在另一个示例中,计算机140可包括fpga,所述fpga是被制造为可由用户配置的集成电路。通常,在电子设计自动化中使用诸如vhdl(超高速集成电路硬件描述语言)之类的硬件描述语言来描述诸如fpga和asic之类的数字和混合信号系统。例如,asic是基于制造前提供的vhdl编程而制造的,而fpga内部的逻辑部件可以基于例如存储在电连接到fpga电路的存储器中的vhdl编程来配置。在一些示例中,处理器、asic和/或fpga电路的组合可以包括在计算机105中。
61.除非本文做出明确的相反指示,否则权利要求中使用的所有术语意图给出如本领域技术人员所理解的普通和一般的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
62.术语“示例性”在本文中以表示示例的意义使用,例如,对“示例性小部件”的引用应被解读为仅指代小部件的示例。
63.修饰值或结果的副词“大约”意味着形状、结构、测量值、值、确定、计算等可能因材料、机加工、制造、传感器测量、计算、处理时间、通信时间等的缺陷而与确切描述的几何形状、距离、测量值、值、确定、计算等有偏差。
64.在图示中,相同的附图标记指示相同的元件。此外,可以改变这些元件中的一些或全部。关于本文所描述的介质、过程、系统、方法等,应理解,虽然此类过程等的步骤或框已被描述为按照特定顺序的序列发生,但是此类过程可以通过以本文所描述的顺序以外的顺序执行的所描述步骤来实践。还应理解,可以同时执行某些步骤,可以添加其他步骤,或者可以省略本文所描述的某些步骤。换句话说,本文对过程的描述是出于说明某些实施例的目的而提供的,并且决不应解释为限制所要求保护的发明。
65.根据本发明,提供了一种包括管理计算装置的系统,其具有:处理器;和存储器,所述存储器包括指令,所述指令可由处理器执行以:从车辆接收一个或多个图像,其中包括在所述车辆中的计算机中的第一深度神经网络未能确定所述一个或多个图像中的第一对象的取向;用小样本图像到图像转换器生成多个修改图像,其中所述修改图像各自包括基于所述第一对象的修改对象;基于所述多个修改图像训练第二深度神经网络以确定所述第一对象的所述取向;以及将所训练的第二深度神经网络下载到所述车辆。
66.根据一个实施例,小样本图像到图像转换器基于生成对抗网络并使用多个真实世界图像和多个合成图像进行训练,以基于来自所述车辆的所述一个或多个图像将一个或多个输入图像转换为所述多个修改图像。
67.根据一个实施例,指令包括用于进行以下操作的另外的指令:基于所述多个真实世界图像和多个合成图像来训练所述小样本图像到图像转换器,所述多个合成图像各自包括车辆挂车和关于每个相应车辆挂车相对于车辆的角度的地面实况数据。
68.根据一个实施例,所述多个真实世界图像和所述多个合成图像包括多个天气和照明条件,包括白天、夜间、雨、雪和多个阳光方向。
69.根据一个实施例,所述多个真实世界图像和所述多个合成图像中的所述多个车辆挂车包括多个挂车部件以各种构型构造的多种车辆挂车类型。
70.根据一个实施例,所述第一对象是车辆挂车,并且确定所述第一对象的所述取向包括分别针对每个修改图像确定车辆挂车相对于车辆的角度。
71.根据一个实施例,所述多个修改图像各自包括地面实况数据,所述地面实况数据包括车辆挂车相对于车辆的相应角度。
72.根据一个实施例,每个修改图像包括以相对于车辆的等于输入图像中出现的对象的角度的角度取向的车辆挂车。
73.根据一个实施例,基于所述第一对象的每个修改对象包括所述第一对象中包括的与所述第一对象中包括的所述车辆挂车部件具有相同构型的车辆挂车部件。
74.根据一个实施例,所述第一深度神经网络和所述第二深度神经网络包括卷积层和全连接层,其中所述卷积层处理输入图像数据并且所述全连接层处理来自所述卷积层的输出,以确定所述对象相对于车辆的角度。
75.根据一个实施例,所述小样本图像到图像转换器包括内容编码器层、类别编码器层和解码器层,其中所述内容编码器层基于输入对象类型和对象取向生成潜在残差特征,并且所述解码器层基于所述类别编码器层生成输出图像。
76.根据一个实施例,所述指令包括用于进行以下操作的另外的指令:通过将图像输入到所述第二深度神经网络以确定附接的挂车的挂车角度来操作车辆。
77.根据一个实施例,所述指令包括用于进行以下操作的另外的指令:通过命令车辆动力传动系统、车辆转向和车辆制动器沿车辆路径操作所述车辆来操作所述车辆,所述车辆路径将力施加到所述附接的挂车,以将所述附接的挂车以目标取向移动到目标位置。
78.根据本发明,一种方法包括:从车辆接收一个或多个图像,其中包括在所述车辆中的计算机中的第一深度神经网络未能确定所述一个或多个图像中的第一对象的取向;用小样本图像到图像转换器生成多个修改图像,其中所述修改图像各自包括基于所述第一对象的修改对象;基于所述多个修改图像训练第二深度神经网络以确定所述修改对象的所述取向;以及将所训练的第二深度神经网络下载到所述车辆。
79.在本发明的一个方面,小样本图像到图像转换器基于生成对抗网络并使用多个真实世界图像和多个合成图像进行训练,以基于来自所述车辆的所述一个或多个图像将一个或多个输入图像转换为所述多个修改图像。
80.在本发明的一个方面,所述方法包括基于所述多个真实世界图像和多个合成图像来训练所述小样本图像到图像转换器,所述多个合成图像包括车辆挂车和关于分别针对每
个真实世界图像每个车辆挂车相对于车辆的角度的地面实况数据。
81.在本发明的一个方面,所述多个真实世界图像和所述多个合成图像包括多个天气和照明条件,包括白天、夜间、雨、雪和多个阳光方向。
82.在本发明的一个方面,所述多个真实世界图像和所述多个合成图像中的所述多个车辆挂车包括多个挂车部件以各种构型构造的多种车辆挂车类型。
83.在本发明的一个方面,所述第一对象是车辆挂车,并且确定所述第一对象的所述取向包括分别针对每个修改图像确定车辆挂车相对于车辆的角度。
84.在本发明的一个方面,所述多个修改图像各自包括地面实况数据,所述地面实况数据包括车辆挂车相对于车辆的相应角度。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜