CN116451740A - 高效神经网络 - Google Patents
高效神经网络 Download PDFInfo
- Publication number
- CN116451740A CN116451740A CN202211733439.6A CN202211733439A CN116451740A CN 116451740 A CN116451740 A CN 116451740A CN 202211733439 A CN202211733439 A CN 202211733439A CN 116451740 A CN116451740 A CN 116451740A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- image
- neural network
- deep neural
- computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 claims description 64
- 238000012549 training Methods 0.000 claims description 25
- 230000004913 activation Effects 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 15
- 210000002569 neuron Anatomy 0.000 claims description 15
- 238000011176 pooling Methods 0.000 claims description 9
- 238000013527 convolutional neural network Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 29
- 238000004891 communication Methods 0.000 description 15
- 238000012360 testing method Methods 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 9
- 230000002068 genetic effect Effects 0.000 description 9
- 108090000623 proteins and genes Proteins 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 5
- 238000012884 algebraic function Methods 0.000 description 5
- 238000012805 post-processing Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000002485 combustion reaction Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000012636 effector Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 238000013102 re-test Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0025—Planning or execution of driving tasks specially adapted for specific operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/443—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
- G06V10/449—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
- G06V10/451—Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
- G06V10/454—Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2556/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
- B60W2556/55—External transmission of data to or from the vehicle using telemetry
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2756/00—Output or target parameters relating to data
- B60W2756/10—Involving external transmission of data to or from the vehicle
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Human Computer Interaction (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Image Analysis (AREA)
Abstract
本公开提供了“高效神经网络”。可在图像中确定第一对象的位置。可基于所述第一对象的位置在第一图像上绘制线。可训练深度神经网络以基于所述线确定所述图像中的第一对象与所述图像中的第二对象之间的相对位置。可通过确定将多个深度神经网络参数除以性能分数的适应度分数来优化所述深度神经网络。可以输出所述深度神经网络。
Description
技术领域
本公开涉及车辆中的神经网络。
背景技术
图像可以由传感器获取并使用计算机进行处理以确定关于系统周围环境中的对象的数据。感测系统的操作可以包括获取关于系统环境中的对象的准确且及时的数据。计算机可以从一个或多个图像传感器获取图像,所述图像可以被处理以确定对象的位置。计算机可以使用从图像中提取的对象位置数据来操作系统,包括车辆、机器人、安全和对象跟踪系统。
发明内容
感测系统可以获取关于系统周围的环境的数据(例如图像数据),并且处理所述数据以确定对象的身份和/或位置。例如,可以训练并然后使用深度神经网络(DNN)来确定由系统中的传感器获取的图像数据中的对象,所述系统包括车辆引导系统、机器人操作系统、安全系统、制造系统和产品跟踪系统。车辆引导可以包括车辆在包括多个对象的环境中在自主或半自主模式下操作。机器人引导可以包括引导机器人末端执行器(例如夹持器)来拾取零件并对零件进行取向以在包括多个零件的环境中进行组装。安全系统包括其中计算机从观察安全区域的相机获取视频数据以向授权用户提供访问权限并检测包括多个用户的环境中的未经授权进入的特征。在制造系统中,DNN可以确定包括多个零件的环境中的一个或多个零件的位置和取向。在产品跟踪系统中,深度神经网络可以确定包括多个包裹的环境中的一个或多个包裹的位置和取向。
车辆引导在本文中将被描述为使用计算机来检测图像中的对象并且基于检测到的对象来确定操作车辆的车辆路径的非限制性示例。所述图像可以是车辆周围的环境,并且可以包括车辆的一部分和包括挂车联接器和挂接球的对象。挂车联接器是车辆挂车的通过将挂车联接器定位在经由挂车挂接件连接到车辆的挂接球上而将车辆挂车可拆卸地连接到车辆的部分。例如,车辆中的计算装置可以被编程为从包括在车辆中的一个或多个传感器获取一个或多个图像,并且定位所述一个或多个图像中的对象,包括挂车联接器和挂接球。传感器可以包括获取对应于可见或红外波长的光的图像的视频或静态图像相机。传感器可以安装在车辆上并且被定位成提供挂接球和挂接球周围区域的视图。在一些示例中,传感器可以包括在交通基础设施系统中并且安装在诸如杆或建筑物的结构上,并且图像和/或对象数据可以被传送到车辆。传感器还可以包括通常发射红外波长的光的激光雷达传感器、发射无线电波的雷达传感器以及发射声波的超声波传感器。激光雷达传感器、雷达传感器和超声波传感器都测量到环境中的点的距离。
有利地,本文讨论的技术通过向图像添加基准线来减少确定图像数据中的对象所需的时间和计算资源,从而提高计算装置识别和定位对象的能力。另外,通过使用遗传算法优化用于定位对象的DNN,可以减少确定对象所需的时间和计算资源,如下面将关于图2-5所述。
本文公开了一种方法,所述方法包括:在图像中确定第一对象的位置,基于所述第一对象的所述位置在所述图像上绘制线,训练深度神经网络以基于所述线确定所述图像中的所述第一对象与所述图像中的第二对象之间的相对位置,以及通过确定将多个深度神经网络参数除以性能分数的适应度分数来优化所述深度神经网络。该方法还包括车辆中的第二计算机,其中所述深度神经网络被输出到所述车辆中的所述第二计算机。所述第二计算机可以包括第二处理器和第二存储器,所述第二存储器包括第二指令,所述第二指令可由所述第二处理器执行以基于获取第二图像并将所述第二图像输入到包括在所述第二计算机中的所述深度神经网络来确定车辆路径而操作所述车辆。所述第二计算机可控制车辆动力传动系统、车辆转向装置和车辆制动器中的一者或多者以在基于所述深度神经网络确定的所述车辆路径上操作所述车辆。基于所述线确定所述图像中的所述第一对象与所述图像中的所述第二对象之间的所述相对位置可以包括所述第二对象位于所述线上。
可以通过将图像输入到第二深度神经网络来确定第一对象的位置。所述线可以包括亮像素和暗像素的图案。所述第一对象可为附接到车辆的挂接球并且所述第二对象为挂车联接器。所述线可绘制在所述挂接球与所述车辆之间。所述线可基于所述第一对象的所述位置来绘制。所述深度神经网络可为包括卷积层和全连接层的卷积神经网络。所述深度神经网络参数可以包括卷积参数,所述卷积参数包括多个卷积滤波器、激活类型、池化类型和多个神经元中的一者或多者。所述深度神经网络参数可以包括全连接参数,所述全连接参数包括激活类型和多个神经元。训练所述深度神经网络可以包括基于将来自所述深度神经网络的输出结果与对应于包括在训练数据集中的图像的地面实况进行比较来确定损失函数。
还公开了一种计算机可读介质,所述计算机可读介质存储用于执行上述方法步骤中的一些或全部的程序指令。还公开了一种包括计算机设备的计算机,该计算机被编程用于执行上述方法步骤中的一些或全部,该计算机被编程为:在图像中确定第一对象的位置,基于所述第一对象的所述位置在所述图像上绘制线,训练深度神经网络以基于所述线确定所述图像中的所述第一对象与所述图像中的第二对象之间的相对位置,以及通过确定将多个深度神经网络参数除以性能分数的适应度分数来优化所述深度神经网络。该方法还包括车辆中的第二计算机,其中所述深度神经网络被输出到所述车辆中的所述第二计算机。所述第二计算机可以包括第二处理器和第二存储器,所述第二存储器包括第二指令,所述第二指令可由所述第二处理器执行以基于获取第二图像并将所述第二图像输入到包括在所述第二计算机中的所述深度神经网络来确定车辆路径而操作所述车辆。所述第二计算机可控制车辆动力传动系统、车辆转向装置和车辆制动器中的一者或多者以在基于所述深度神经网络确定的所述车辆路径上操作所述车辆。基于所述线确定所述图像中的所述第一对象与所述图像中的所述第二对象之间的所述相对位置可以包括所述第二对象位于所述线上。
所述指令可以包括用于进行以下操作的另外的指令:通过将所述图像输入到第二深度神经网络来确定所述第一对象的所述位置。所述线可以包括亮像素和暗像素的图案。所述第一对象可为附接到车辆的挂接球并且所述第二对象为挂车联接器。所述线可绘制在所述挂接球与所述车辆之间。所述线可基于所述第一对象的所述位置来绘制。所述深度神经网络可为包括卷积层和全连接层的卷积神经网络。所述深度神经网络参数可以包括卷积参数,所述卷积参数包括多个卷积滤波器、激活类型、池化类型和多个神经元中的一者或多者。所述深度神经网络参数可以包括全连接参数,所述全连接参数包括激活类型和多个神经元。训练所述深度神经网络可以包括基于将来自所述深度神经网络的输出结果与对应于包括在训练数据集中的图像的地面实况进行比较来确定损失函数。
附图说明
图1是示例性交通基础设施系统的框图。
图2是包括车辆周围环境中的特征(包括挂车挂接件)的示例性图像的图示。
图3是挂车挂接件的示例性分割的图像的图示。
图4是挂车挂接件的另一示例性图像的图示。
图5是挂车挂接件的另一示例性图像的图示。
图6是示例性深度神经网络的图示。
图7是挂车挂接件的另一示例性图像的图示。
图8是用于训练并优化DNN的示例性过程的流程图。
图9是用于基于优化的DNN来操作车辆的示例性过程的流程图。
具体实施方式
图1是可以包括交通基础设施系统105的感测系统100的图示,所述交通基础设施系统包括服务器计算机120和固定传感器122。感测系统100包括车辆110,所述车辆可在自主(“自主”本身在本公开中意指“完全自主”)模式、半自主模式和乘员驾驶(也被称为非自主)模式下操作。一个或多个车辆110的计算装置115可从传感器116接收关于车辆110的操作的数据。计算装置115可以自主模式、半自主模式或非自主模式操作车辆110。
计算装置115包括诸如已知的处理器和存储器。此外,存储器包括一种或多种形式的计算机可读介质并且存储指令,所述指令可由处理器执行来执行包括如本文所公开的各种操作。例如,计算装置115可以包括编程以操作车辆制动器、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆110的加速度)、转向、气候控制、内部灯和/或外部灯等中的一者或多者,以及确定计算装置115(而不是人类操作员)是否以及何时控制此类操作。
计算装置115可以包括多于一个计算装置(例如,包括在车辆110中以用于监测和/或控制各种车辆部件的控制器等(例如,动力传动系统控制器112、制动控制器113、转向控制器114等)),或例如经由如下面进一步描述的车辆通信总线通信地联接到所述多于一个计算装置。计算装置115通常被布置用于通过车辆通信网络(例如,包括车辆110中的总线,诸如控制器局域网络(CAN)等)通信;车辆110网络可另外或替代地包括诸如已知的有线或无线通信机制,例如以太网或其他通信协议。
计算装置115可经由车辆网络向车辆中的各种装置(例如,控制器、致动器、传感器(包括传感器116)等)传输消息和/或从所述各种装置接收消息。替代地或另外,在计算装置115实际上包括多个装置的情况下,可使用车辆通信网络来在本公开中表示为计算装置115的装置之间通信。另外,如下文所提及,各种控制器或感测元件(诸如传感器116)可经由车辆通信网络向计算装置115提供数据。
另外,计算装置115可被配置用于通过车辆对基础设施(V2I)接口111经由网络130与远程服务器计算机120(诸如云服务器)通信,如下所描述的,所述接口包括硬件、固件和软件,所述硬件、固件和软件准许计算装置115经由诸如无线互联网或蜂窝网络的网络130与远程服务器计算机120通信。因此,V2I接口111可以包括被配置为利用各种有线和/或无线联网技术(例如,蜂窝、/>以及有线和/或无线分组网络)的处理器、存储器、收发器等。计算装置115可被配置用于使用例如在邻近车辆110之间在移动自组网的基础上形成或通过基于基础设施的网络形成的车辆对车辆(V2V)网络(例如根据专用短程通信(DSRC)和/或类似的通信)通过V2I接口111与其他车辆110通信。计算装置115还包括诸如已知的非易失性存储器。计算装置115可以通过将数据存储在非易失性存储器中来记录数据,以便以后检索并经由车辆通信网络和车辆对基础设施(V2I)接口111传输到服务器计算机120或用户移动装置160。
如已经提及的,通常包括在存储在存储器中并可由计算装置115的处理器执行的指令中的是用于在没有人类操作员干预的情况下操作一个或多个车辆110部件(例如,制动、转向、推进等)的编程。使用在计算装置115中接收的数据(例如,来自传感器116的传感器数据、服务器计算机120等的数据),计算装置115可在没有驾驶员的情况下进行各种确定和/或控制各种车辆110部件和/或操作以操作车辆110。例如,计算装置115可以包括编程以调节车辆110操作行为(即,车辆110操作的物理表现),诸如速度、加速度、减速度、转向等,以及策略性行为(即,通常以意图实现路线的有效的穿越的方式控制操作行为),诸如车辆之间的距离和/或车辆之间的时间量、车道改变、车辆之间的最小间隙、左转跨过路径最小值、到特定位置处的到达时间以及从到达到穿过十字路口的十字路口(无信号灯)最短时间。
如本文所使用的术语控制器包括通常被编程来监测和/或控制特定车辆子系统的计算装置。示例包括动力传动系统控制器112、制动控制器113和转向控制器114。控制器可为诸如已知的电子控制单元(ECU),可能包括如本文所描述的附加的编程。控制器可通信地连接到计算装置115并且从所述计算装置接收指令以根据指令来致动子系统。例如,制动控制器113可从计算装置115接收指令以操作车辆110的制动器。
用于车辆110的一个或多个控制器112、113、114可以包括已知的电子控制单元(ECU)等,作为非限制性示例,包括一个或多个动力传动系统控制器112、一个或多个制动控制器113和一个或多个转向控制器114。控制器112、113、114中的每一个可以包括相应的处理器和存储器以及一个或多个致动器。控制器112、113、114可被编程并且连接到车辆110通信总线,诸如控制器局域网(CAN)总线或局域互连网(LIN)总线,以从计算装置115接收指令并且基于指令而控制致动器。
传感器116可以包括已知的多种装置,以经由车辆通信总线提供数据。例如,固定到车辆110的前保险杠(未示出)的雷达可提供从车辆110到车辆110前方的下一车辆的距离,或者设置在车辆110中的全球定位系统(GPS)传感器可提供车辆110的地理坐标。例如,由雷达和/或其他传感器116提供的距离和/或由GPS传感器提供的地理坐标可由计算装置115用来自主或半自主地操作车辆110。
车辆110通常是能够自主和/或半自主操作并且具有三个或更多个车轮的基于地面的车辆110(例如,客车、轻型货车等)。车辆110包括一个或多个传感器116、V2I接口111、计算装置115和一个或多个控制器112、113、114。传感器116可以收集与车辆110和车辆110的操作环境相关的数据。作为举例而非限制,传感器116可以包括例如测高仪、相机、激光雷达、雷达、超声波传感器、红外传感器、压力传感器、加速度计、陀螺仪、温度传感器、压力传感器、霍尔传感器、光学传感器、电压传感器、电流传感器、机械传感器(诸如开关)等。传感器116可用来感测车辆110操作所处的环境,例如,传感器116可检测诸如天气状况(降雨、外部环境温度等)的现象、道路坡度、道路位置(例如,使用道路边缘、车道标记等)或目标对象(诸如邻近车辆110)的位置。传感器116还可以用于收集数据,包括与车辆110的操作相关的动态车辆110数据,诸如速度、横摆率、转向角度、发动机转速、制动压力、油压、施加到车辆110中的控制器112、113、114的功率电平、在部件之间的连接性以及车辆110的部件的准确且及时的性能。
车辆可被配备成以自主模式和乘员驾驶模式两者操作。半自主模式或完全自主模式意指车辆可由作为具有传感器和控制器的系统的一部分的计算装置部分地或完全地驾驶的操作模式。车辆可能被占用或未被占用,但是在任一种情况下,都可在没有乘员协助的情况下部分地或完全地驾驶车辆。出于本公开的目的,自主模式被定义为车辆推进(例如,经由包括内燃发动机和/或电动马达的动力传动系统)、制动和转向中的每一个由一个或多个车辆计算机控制的模式;在半自主模式中,车辆计算机控制车辆推进、制动和转向中的一个或多个。在非自主模式下,这些都不由计算机控制。
图2是包括车辆110周围环境的特征的图像200的图示。图像200包括车辆110的后保险杠202部分、附接到车辆110的挂车挂接件204和附接到挂车挂接件204的挂接球206。图像200还包括挂车208的包括挂车联接器210的一部分。挂车208可以通过使用车辆动力传动系统、车辆转向装置和/或车辆制动器操作车辆110以将挂接球206定位在挂车联接器210下方而可移除地附接到车辆110。当挂接球206定位在挂车联接器210下方时,挂车208可以降低以使挂车联接器210与挂接球206接合。当挂车联接器210降低以与挂接球206接合时,可以接合联接器锁212以将挂车联接器210锁定到挂接球206。
在计算装置115或服务器计算机120上执行的软件可以获取包括图像200和雷达数据的传感器数据,并且确定挂接球206、挂车联接器210的位置以及挂接球206与挂车联接器210的相对位置。挂接球206、挂车联接器210的位置以及挂接球206与挂车联接器210的相对位置可以在全局坐标中进行测量。例如,可以相对于诸如纬度、经度和海拔的坐标系来确定全局坐标。挂接球206、挂车联接器210的位置以及挂接球206与挂车联接器210的相对位置可以在与支撑车辆110和挂车208的道路或表面平行的平面中被测量为x,y坐标。计算装置115或服务器计算机120可以使用这三个位置来确定将挂接球206定位在挂车联接器210下方的车辆路径。
车辆路径可以通过多项式函数(有时称为路径多项式)来描述,所述多项式函数基于挂接球206、挂车联接器210的位置以及挂接球206和挂车联接器210的相对位置来确定。路径多项式可以由具有以下形式的方程确定:
y=aixi+…+a2x2+ a1x+a0 (1)
其中x和y是在平行于道路的可行驶表面的平面中测量的距离,并且通常在例如基于纬度和经度确定的全局坐标中测量。i的值可以是预定的,以基于车辆110要行驶的距离和对车辆110方向和速度的变化率的预定限制来限制要计算的系数的数量。例如,可基于横向加速度和纵向加速度的上限和下限来确定多项式函数。多项式系数ai,…a2,a1,a0可以通过曲线拟合(例如使用最小二乘法)获得,其中多项式方程拟合到与挂接球206、挂车联接器210的位置以及挂接球206与挂车联接器210的相对位置相关联的至少i+1个基点。例如,基点可以与车辆路径的起点和终点、车辆路径中的方向变化或沿着车辆路径的预定间隔相关联。可以通过计算装置115经由控制器112、113、114向车辆动力传动系统、车辆转向装置和车辆制动器中的一者或多者发出命令来沿着车辆路径操作车辆110,以将挂接球206定位在挂车连接器210下方。
挂接球206、挂车联接器210的位置以及挂接球206和挂车联接器210的相对位置可以通过将多个图像200输入到DNN的递归神经网络(RNN)类型中来在多个图像200中确定。由于在获取图像200时挂接球206和挂车联接器210在图像200中的外观以及车辆110的移动的可变性,使用空间数据和时间数据两者来确定图像数据中的对象位置的RNN可以用于确定挂接球206、挂车联接器210的位置以及挂接球206和挂车联接器210的相对位置。RNN包括连接多个DNN的存储器和数据路径,其中针对输入到RNN的多个图像200中的每一个实例化DNN。因此,RNN可以基于处理在给定图像200之前和之后获取的图像200来生成结果。RNN处理的示例包括自然语言理解,其中给定单词的含义可以取决于在给定单词之前或之后的句子中出现的其他单词。
被训练为确定挂接球206、挂车联接器210的位置以及挂接球206和挂车联接器210的相对位置的RNN可能需要数千万的参数。具有数千万参数的RNN太大而不允许RNN存储在存储器中并在诸如通常包括在车辆110中的ECU的类型的计算装置115上执行。另外,在具有数千万参数的RNN上处理多个输入图像300所需的时间意味着RNN无法在车辆110中实现实时性能。实时性能是在从获取多个图像300的时间起的固定数毫秒(ms)内从RNN获得结果,例如100ms。
用于克服对定位挂接球206、挂车联接器210以及挂接球206和挂车联接器210的相对位置的问题的基于RNN的解决方案的限制的技术包括如本文所解释的Enet DNN架构。Enet DNN架构是专门设计用于确定低延迟或实时解决方案的轻量级神经网络架构。EnetDNN具有多个并行数据路径,其中单个主计算分支伴随有包括与主计算分支分开的卷积核的并行扩展。可以使用约39万个参数来训练Enet DNN以定位挂接球206、挂车联接器210或挂接球206和挂车联接器210的相对位置中的一者。然后,可以将基于图像处理技术的后处理启发法应用于Enet DNN的输出,以确定相对于由Enet DNN确定的位置的其他两个位置的值。
图3是具有与来自图2中的图像200的挂接球206的位置相对应的片段302的图像300的图示。图像分割是像素的连续区域被标记为对应于图像200中对象的位置。为了确定对应于挂接球206、挂车联接器210的位置或挂接球206和挂车联接器210的相对位置,EnetDNN首先对输入图像200执行图像分割以确定对应于来自图像200的挂接球206的片段302。分割的图像300可以由Enet DNN输出作为响应于输入图像200的数据输出的一部分。
图4是包括过冲412的图像400的图示。过冲412是挂车408的挂车联接器410行进超过附接到挂接件404的挂接球406。当挂车联接器410过冲412挂接球406时,挂车联接器410将比挂接球406更靠近保险杠402。在过冲412期间,Enet DNN内的挂车联接器410与挂接球406之间的交互导致从网络输出的挂接球406分割的中断。由过冲412引起的中断可能导致对应于挂接球406的片段302具有不规则形状,并且可能导致对挂接球406的位置的错误估计。作为后处理步骤,这种中断可以被量化并用于使用启发法来推断挂车联接器410的位置及其相对于挂接球406的位置。例如,图像处理技术可以用于将片段302的形状与在没有过冲的情况下从图像200产生的片段302进行比较并确定挂接球406的校正位置。挂接球406的校正位置可以与挂车联接器410的确定位置组合,以确定挂接球406和挂车联接器410的相对位置。
虽然使用图像处理软件的后处理可以在某些情况下以及在具有良好计算能力的装置上执行良好,但是在一些示例中,车辆110中所包括的典型计算装置115上可用的有限内存和有限计算能力可能会阻止后处理图像处理软件能够确定挂车联接器410的位置和挂车联接器410相对于挂接球406的位置。为了使用后处理图像处理软件实时处理图像400,可能需要基于Enet DNN的大小来执行量化以使其在典型的车辆计算装置115上以良好的帧速率运行。量化是通过用单个数据值表示一组连续的数据值来减小输入数据的大小的过程。例如,对应于256个不同数据值的一系列8位数字可以由对应于16个不同数据值的一系列4位数字表示,因此节省内存和计算时间。量化可以在x、y或z轴中的一者或多者上应用于图像400。与全分辨率图像400相比,对由Enet DNN处理的图像400进行量化可能导致所确定位置的准确度显著降低(约20%)。
图5是包括车辆110的图像500的图示,所述车辆包括保险杠502、挂接件504和附接到挂接件504的挂接球506。图像500还包括挂车508和附接到挂车508的挂车联接器510。如上面关于图4所讨论的,可能存在导致中断和准确度降低的挂车联接器510过冲412的示例。可以通过将基准线512添加到图像500并使用基准线512来检测过冲412来改进对过冲412的检测和位置准确度确定。可以通过用第二DNN处理包括基准线512的图像500来检测过冲412,所述第二DNN被训练以确定挂车联接器510相对于基准线512的过冲412。包括基准线512通过允许使用二进制分类方法来简化问题空间。第二DNN可被训练为输出简单的“真”或“假”条件,即,图像500是否包括过冲412,而不是分割图像并估计分割区域的x、y坐标。将问题空间减少到二进制分类允许第二DNN使用小得多的网络。由于问题空间减小,因此可以优化第二DNN以确定每个DNN参数的最佳性能。下面关于图7讨论优化。
例如,在将挂车508和挂车联接器510引入车辆110中所包括的获取图像500的相机的视野中之前,可以通过Enet DNN或图像处理软件来确定挂接球506相对于保险杠502的位置。由于获取图像500的相机相对于车辆110处于固定位置,因此挂接球506和保险杠502的位置在由相机获取的后续图像500中将不会改变。可以使用图像处理软件(诸如可从加利福尼亚州95110的圣何塞市的Adobe公司获得的Photoshop)在图像500上绘制基准线512。
可以用来自挂接球506位置和保险杠502的空间缓冲来绘制基准线512,如图像500中所示。基准线512可以用包括暗像素和亮像素的棋盘状图案绘制,以便使其在阴影和亮光条件期间对第二DNN可见。此外,棋盘状图案有助于第二DNN确定该线的位置。第二DNN确定挂车联接器510相对于基准线512的位置,并且如果挂车联接器510已经越过所述线,则输出等于“真”的二进制值,并且如果尚未穿过,则输出等于“假”的二进制值。线的宽度是可见性和性能之间的折衷。太宽的线将掩盖基础图像信息,而太细的线将使网络难以定位该线。确定2个像素的宽度是最佳的。
在图像500中正确地定位基准线512可以取决于对挂接球506在图像500中的位置的正确确定。通过结合防止基准线512被绘制在保险杠502上的限制,可以避免将基准线512错误地定位成太靠近保险杠502。由于相机位置相对于特定车辆110的保险杠502是恒定的,因此包含保险杠502的图像500底部的像素行数是恒定的。例如,图像500中的底部50行像素可以被确定为包括保险杠502。可以设置等于底部50行像素的限制,并且可以指示图像处理软件从不在底部50行像素中绘制基准线512。防止基准线被绘制在底部50行像素中可以防止挂车联接器510与保险杠502之间的碰撞,因此即使当挂接球506位置输入错误时也满足过冲412要求。
使用基准线512确定过冲412通过允许使用二进制分类方法来简化问题空间。二进制分类是比上面关于图2所讨论的分割简单得多的任务。使用二进制分类来确定过冲允许使用更小、更快的第二DNN而不是RNN。由于第二DNN可以实时地对全分辨率图像500数据进行操作,因此与采用RNN的方法相比,可使用更少的计算资源使更准确的数据更快地用于操作车辆110。
图6是第二DNN 600的图示。第二DNN 600输入图像602。图像602被输入到卷积层604,所述卷积层使用多个卷积核对输入图像602进行卷积并将潜在变量606输出到全连接层608。全连接层608用多个线性和/或非线性代数函数处理潜在变量606,以确定与输入图像602中存在的过冲412状况相对应的二进制输出结果610(“真”/“假”)。
使用训练数据集来训练第二DNN 600,所述训练数据集包括多个输入图像602和与输入图像602相对应的用户确定的地面实况。地面实况包括关于特定图像602中所包括的过冲412的正确答案。在训练期间,可以随机地选择对应于卷积核和代数函数的参数,并且处理输入图像602以确定二进制输出结果610。可以将二进制输出结果610与对应于输入图像602的地面实况进行比较,并且可以确定损失函数。损失函数被输入到卷积层604和全连接层608,以选择导致二进制输出结果610与地面实况之间的最佳对应关系的卷积核和代数函数的参数,因此训练第二DNN 600。训练第二DNN 600可以包括训练和测试两者。训练和测试第二DNN 600可以包括将图像500和对应的地面实况的数据集划分为两个部分:训练数据集和测试数据集。可以使用如上所讨论的训练数据集来训练第二DNN 600,且然后使用测试数据集来测试所述第二DNN。测试包括将二进制输出结果610与对应的地面实况进行比较以确定第二DNN 600是否已经输出正确的结果。基于正确结果的百分比对第二DNN 600进行评分。如果正确结果的百分比小于用户选择的水平,例如99%,则可以使用图像500和地面实况的第二数据集来重新训练和重新测试第二DNN 600。重新训练和重新测试过程可以重复,直到第二DNN达到用户选择的正确结果水平。
一旦第二DNN 600被训练为产生正确的结果,就可以将遗传算法应用于第二DNN600以优化第二DNN 600。优化确定卷积层604和全连接层608的最小配置,其实现类似于完全训练的第二DNN 600的结果。遗传算法是基于启发法的搜索技术,其针对模仿自然选择和演化过程的一组约束来最小化函数,在该示例中为第二DNN。在这种背景下,包括基准线512大大简化了问题,并且较小的网络可足以实现相同水平的性能。由于第二DNN网络架构一开始是通用架构,因此不能保证它是对给定任务表现良好的最小可能架构。可以使用遗传算法来确定可以在测试数据集上表现良好的具有最少数量的参数的网络架构。
遗传算法中的基因组对其表示的架构进行编码。由于第二DNN是卷积神经网络,因此该架构包括卷积层604,之后是全连接层608。第二DNN被限制为最多五个卷积层604和两个全连接层608。对于卷积层,基因组中的每个位置都对应于诸如滤波器数量、步幅、激活和池化类型等因素,而全连接层的基因决定了该层中的神经元数量。
该示例的基因组结构具有为24的基因组长度,并且在表1中示出。
表1.基因组结构。
基因[0-4],即滤波器数量,对应于五个卷积层中的每一层的卷积核的数量。对于卷积层1至5,滤波器的数量可以采用0至128的值,并且对于第一卷积层604,可以采用1至128的值。滤波器值0指示应跳过卷积层604,因此第一卷积层604(层0)需要值1意味着将执行至少一个卷积。基因[5-9],即步幅,对应于卷积核在五个卷积层602的输入数据上的移动的大小(以像素为单位)。卷积层602的步幅可以设置为从一到四,这意味着在图像中的每个像素与每个第四像素之间将具有应用于其的卷积核。基因[10-14],即激活,对应于施加到来自层的输出的函数,所述函数在输出被输入到下一个卷积层604之前对其进行调节。激活可以是ReLU、Leaky ReLU或ELU中的一者。ReLU是将负值设置为0的函数。Leaky ReLU将负值设置为其值的一部分。ELU将负值设置为α(ex-1),其中α是常数。基因[15-19],即池化,对应于在输入到下一层之前降低来自卷积层604的输出的分辨率的函数。池化可以是最大池化,其输出等于像素邻域的最大值的一个值,或者是平均池化,其输出等于像素邻域的平均值的一个值。
基因[20],即神经元数量,对应于第一全连接层608中的神经元数量。神经元对应于单个代数函数,并且可以采用0到128之间的任何值。基因[21],即激活,对应于来自第一全连接层608的输出的激活类型。激活可以是ReLU、Leaky ReLU或ELU,如上所讨论。基因[22],即神经元数量,对应于第二全连接层608中的神经元数量。神经元对应于单个代数函数,并且可以采用0到128之间的任何值。基因[23],即激活,对应于来自第二全连接层608的输出的激活类型。激活可以是ReLU、Leaky ReLU或ELU,如上所讨论。
可以根据以下适应度函数通过基于参数的数量和网络的性能确定基因组的值来评估遗传算法:
其中N是网络的参数数量,F1分数测试是基于具有在0和1之间的值的测试数据集测试第二DNN的结果,并且Δ是常数以避免除以零误差等于e8。为了使适应度函数(2)最小化,遗传算法训练和评估多个架构并迭代地收敛到具有最少数量的参数的最佳性能网络。遗传算法可以以特定的群体大小运行一定数量的代。例如,第二DNN在1200参数网络上收敛,其中测试数据集的F1分数测试为0.98。这对应于ENet架构的约300倍改进。收敛网络不需要任何量化或修剪,并且能够在包括在车辆110中的典型计算装置115上以每秒25帧运行。
图7是引导车辆110使用挂接球706与保险杠702之间的基准线712将挂车710上的挂车联接器708挂接到挂接件704上的挂接球706的操作的结果的图像700的图示。通过用如上文关于图6所讨论的那样训练和优化的第二DNN处理图像700来确定挂车联接器708相对于基准线712的位置。因为挂车联接器708相对于基准线712的位置可以使用包括在车辆110中的典型计算装置115可用的有限计算资源以每秒25帧来确定,因此引导车辆将挂接球706定位在挂车联接器708下方的车辆路径可以实时确定。实时地确定车辆路径允许计算装置115能够通过以平稳且有效的方式命令车辆动力传动系统、车辆转向装置和车辆制动器中的一者或多者来操作车辆110,以使用最小计算资源相对于挂车710准确地定位车辆110。
图8是关于图1至图7描述的用于训练和优化第二DNN 600以相对于基准线定位对象的过程的流程图的图示。过程800可以由计算装置115的处理器来实施,所述处理器将来自传感器116的图像数据作为输入,并执行命令,且输出经训练和优化的第二DNN 600。过程800包括可以按所示次序执行的多个框。替代地或另外,过程800可以包括更少的框,或者可以包括以不同次序执行的框。
过程800开始于框802,其中车辆110中的计算装置115可在图像500中确定第一对象的位置。第一对象可以是图像500中的挂接球506,所述图像500包括挂车508、挂车联接器510、车辆110的一部分、包括在车辆中的保险杠502、和挂接件504。可以使用图像处理软件来确定挂接球506,所述图像处理软件可以包括例如如上文关于图3所讨论的Enet神经网络。
在框804处,可以基于在框802处确定的挂接球506的位置在图像500上绘制基准线512。可以在图像上绘制基准线512以确定第二对象(其可以是挂车联接器510)何时过冲412第一对象(其可以是如上文关于图4和图5所讨论的挂接球506)的位置,如上所述。
在框806处,可以基于如上文关于图6所讨论的训练数据集和测试数据集以及对应的地面实况来训练第二DNN 600,如上所述。
在框808处,可以基于如上面关于图6所讨论的遗传算法来优化第二DNN 600。
在框810处,可以将第二DNN 600输出到包括在车辆110中的计算装置115。在框810之后,过程800结束。
图9是关于图1至图8描述的用于基于来自如上文关于图8所讨论的那样训练和优化的第二DNN的输出确定车辆路径来操作车辆110的过程的流程图的图示。过程900可以由计算装置115的处理器来实施,所述处理器将来自传感器116的数据作为输入,并执行命令,且操作车辆110。过程900包括可以按所示次序执行的多个框。替代地或另外,过程900可以包括更少的框,或者可以包括以不同次序执行的框。
过程900开始于框902,其中车辆110中的计算装置115输入图像500,在图像500上绘制基准线512并将图像500输入到如上文关于图8所讨论的那样训练和优化的第二DNN600,以确定过冲412。
在框904处,计算装置115基于来自第二DNN 600的输出来确定车辆路径。车辆路径是多项式函数,其包括当车辆沿着车辆路径行进时要施加到车辆运动的最大和最小横向加速度和纵向加速度。由于第二DNN 600可以使用有限的计算机资源来实时地确定挂车联接器508的过冲,因此可以使用包括在车辆110中的典型计算装置115中可用的计算资源来实时地确定车辆路径。
在框906处,计算装置115向控制器112、113、114输出命令以控制车辆动力传动系统、车辆转向装置和车辆制动器以控制车辆运动以沿着在框904处确定的车辆路径操作车辆110。在框906之后,过程900结束。
诸如本文讨论的那些的计算装置通常各自包括命令,所述命令可由诸如上文所识别的那些的一个或多个计算装置执行并且用于实施上文描述的过程的框或步骤。例如,上文论述的过程框可体现为计算机可执行命令。
计算机可执行命令可由使用各种编程语言和/或技术创建的计算机程序来编译或解译,所述编程语言和/或技术包括但不限于以下的单一形式或组合形式:JavaTM、C、C++、Python、Julia、SCALA、Visual Basic、Java Script、Perl、HTML等。通常,处理器(例如,微处理器)接收例如来自存储器、计算机可读介质等的命令,并且执行这些命令,从而执行包括本文所描述的过程中的一者或多者的一个或多个过程。此类命令和其他数据可存储在文件中并且使用多种计算机可读介质来传输。计算装置中的文件通常是存储在诸如存储介质、随机存取存储器等计算机可读介质上的数据的集合。
计算机可读介质(也称为处理器可读介质)包括参与提供可由计算机(例如,由计算机的处理器)读取的数据(例如,指令)的任何非暂时性(例如,有形)介质。此类介质可采用许多形式,包括但不限于非易失性介质和易失性介质。指令可通过一种或多种传输介质来传输,所述一种或多种传输介质包括光纤、线、无线通信,包括构成联接到计算机的处理器的系统总线的内部件。常见形式的计算机可读介质包括例如RAM、PROM、EPROM、FLASH-EEPROM、任何其他存储器芯片或盒式磁带、或计算机可从中读取的任何其他介质。
除非本文作出相反的明确指示,否则权利要求中使用的所有术语意在给出如本领域技术人员所理解的普通和通常的含义。具体地,除非权利要求叙述相反的明确限制,否则使用诸如“一个”、“该”、“所述”等单数冠词应被解读为叙述所指示的要素中的一者或多者。
术语“示例性”在本文中以表示示例的意义使用,例如,对“示例性小部件”的引用应被解读为仅指代小部件的示例。
修饰值或结果的副词“大约”意味着形状、结构、测量值、值、确定、计算等可能因材料、机加工、制造、传感器测量、计算、处理时间、通信时间等的缺陷而与确切描述的几何结构、距离、测量值、值、确定、计算等有偏差。
在附图中,相同的附图标记指示相同的元素。另外,可改变这些元素中的一些或全部。相对于本文描述的介质、过程、系统、方法等,应理解,尽管此类过程等的步骤或框已被描述为根据特定的有序顺序发生,但是此类过程可通过以本文描述的次序以外的次序执行所描述的步骤来实践。还应理解,可同时执行某些步骤,可添加其他步骤,或者可省略本文描述的某些步骤。换句话说,本文对过程的描述是出于说明某些实施例的目的而提供的,并且决不应解释为限制所要求保护的发明。
根据本发明,提供了一种系统,该系统具有第一计算机,所述第一计算机包括:第一处理器;和第一存储器,该第一存储器包括第一指令,所述第一指令可由第一处理器执行以:在图像中确定第一对象的位置;基于所述第一对象的所述位置在所述图像上绘制线;训练深度神经网络以基于所述线确定所述图像中的所述第一对象与所述图像中的第二对象之间的相对位置;以及通过确定将多个深度神经网络参数除以性能分数的适应度分数来优化所述深度神经网络。
根据一个实施例,本发明的特征还在于车辆中的第二计算机,所述第一指令包括用于将所述深度神经网络输出到所述车辆中的所述第二计算机的指令。
根据一个实施例,所述第二计算机包括第二处理器和第二存储器,所述第二存储器包括第二指令,所述第二指令可由所述第二处理器执行以基于获取第二图像并将所述第二图像输入到包括在所述第二计算机中的所述深度神经网络来确定车辆路径而操作所述车辆。
根据一个实施例,所述第二指令还包括用于进行以下操作的指令:控制车辆动力传动系统、车辆转向装置和车辆制动器中的一者或多者以在基于所述深度神经网络确定的所述车辆路径上操作所述车辆。
根据一个实施例,基于所述线确定所述图像中的所述第一对象与所述图像中的所述第二对象之间的所述相对位置包括所述第二对象位于所述线上。
根据一个实施例,所述指令包括用于进行以下操作的另外的指令:通过将所述图像输入到第二深度神经网络来确定所述第一对象的所述位置。
根据一个实施例,所述线包括亮像素和暗像素的图案。
根据一个实施例,所述第一对象为附接到车辆的挂接球并且所述第二对象为挂车联接器。
根据一个实施例,所述线绘制在所述挂接球与所述车辆之间。
根据一个实施例,所述线是基于所述第一对象的所述位置绘制的。
根据一个实施例,所述深度神经网络为包括卷积层和全连接层的卷积神经网络。
根据一个实施例,所述深度神经网络参数包括卷积参数,所述卷积参数包括多个卷积滤波器、激活类型、池化类型和多个神经元中的一者或多者。
根据一个实施例,所述深度神经网络参数包括全连接参数,所述全连接参数包括激活类型和多个神经元。
根据一个实施例,训练所述深度神经网络包括基于将来自所述深度神经网络的输出结果与对应于包括在训练数据集中的图像的地面实况进行比较来确定损失函数。
根据一个实施例,该性能分数基于将来自所述深度神经网络的输出结果与对应于包括在训练数据集中的图像的地面实况进行比较。
根据本发明,一种方法包括:在图像中确定第一对象的位置;基于所述第一对象的所述位置在所述图像上绘制线;训练深度神经网络以基于所述线确定所述图像中的所述第一对象与所述图像中的第二对象之间的相对位置;以及通过确定将多个深度神经网络参数除以性能分数的适应度分数来优化所述深度神经网络。
在本发明的一个方面,该方法包括车辆中的第二计算机,其中所述深度神经网络被输出到所述车辆中的所述第二计算机。
在本发明的一个方面,所述第二计算机包括第二处理器和第二存储器,所述第二存储器包括第二指令,所述第二指令可由所述第二处理器执行以基于获取第二图像并将所述第二图像输入到包括在所述第二计算机中的所述深度神经网络来确定车辆路径而操作所述车辆。
在本发明的一个方面,所述第二计算机控制车辆动力传动系统、车辆转向装置和车辆制动器中的一者或多者以在基于所述深度神经网络确定的所述车辆路径上操作所述车辆。
在本发明的一个方面,基于所述线确定所述图像中的所述第一对象与所述图像中的所述第二对象之间的所述相对位置包括所述第二对象位于所述线上。
Claims (15)
1.一种方法,其包括:
在图像中确定第一对象的位置;
基于所述第一对象的所述位置在所述图像上绘制线;
训练深度神经网络以基于所述线确定所述图像中的所述第一对象与所述图像中的第二对象之间的相对位置;以及
通过确定将多个深度神经网络参数除以性能分数的适应度分数来优化所述深度神经网络。
2.如权利要求1所述的方法,其还包括车辆中的第二计算机,其中所述深度神经网络被输出到所述车辆中的所述第二计算机。
3.如权利要求2所述的方法,所述第二计算机包括第二处理器和第二存储器,所述第二存储器包括第二指令,所述第二指令能够由所述第二处理器执行以基于获取第二图像并将所述第二图像输入到包括在所述第二计算机中的所述深度神经网络来确定车辆路径而操作所述车辆。
4.如权利要求3所述的方法,其中所述第二计算机控制车辆动力传动系统、车辆转向装置和车辆制动器中的一者或多者以在基于所述深度神经网络确定的所述车辆路径上操作所述车辆。
5.如权利要求1所述的方法,其中基于所述线确定所述图像中的所述第一对象与所述图像中的所述第二对象之间的所述相对位置包括所述第二对象位于所述线上。
6.如权利要求1所述的方法,其还包括通过将所述图像输入到第二深度神经网络来确定所述第一对象的所述位置。
7.如权利要求1所述的方法,其中所述线包括亮像素和暗像素的图案。
8.如权利要求1所述的方法,其中所述第一对象为附接到车辆的挂接球并且所述第二对象为挂车联接器。
9.如权利要求8所述的方法,其中所述线绘制在所述挂接球与所述车辆之间。
10.如权利要求1所述的方法,其中所述线是基于所述第一对象的所述位置绘制的。
11.如权利要求1所述的方法,其中所述深度神经网络为包括卷积层和全连接层的卷积神经网络。
12.如权利要求1所述的方法,其中所述深度神经网络参数包括卷积参数,所述卷积参数包括多个卷积滤波器、激活类型、池化类型和多个神经元中的一者或多者。
13.如权利要求1所述的方法,其中所述深度神经网络参数包括全连接参数,所述全连接参数包括激活类型和多个神经元。
14.如权利要求1所述的方法,其中训练所述深度神经网络包括基于将来自所述深度神经网络的输出结果与对应于包括在训练数据集中的图像的地面实况进行比较来确定损失函数。
15.一种系统,其包括被编程为执行如权利要求1至14中任一项所述的方法的计算机。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/571,944 US20230219601A1 (en) | 2022-01-10 | 2022-01-10 | Efficient neural networks |
US17/571,944 | 2022-01-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116451740A true CN116451740A (zh) | 2023-07-18 |
Family
ID=86895583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211733439.6A Pending CN116451740A (zh) | 2022-01-10 | 2022-12-30 | 高效神经网络 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230219601A1 (zh) |
CN (1) | CN116451740A (zh) |
DE (1) | DE102023100111A1 (zh) |
-
2022
- 2022-01-10 US US17/571,944 patent/US20230219601A1/en active Pending
- 2022-12-30 CN CN202211733439.6A patent/CN116451740A/zh active Pending
-
2023
- 2023-01-03 DE DE102023100111.6A patent/DE102023100111A1/de active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230219601A1 (en) | 2023-07-13 |
DE102023100111A1 (de) | 2023-07-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10981564B2 (en) | Vehicle path planning | |
US10733510B2 (en) | Vehicle adaptive learning | |
US20200049511A1 (en) | Sensor fusion | |
US20200020117A1 (en) | Pose estimation | |
US20200142420A1 (en) | Vehicle language processing | |
US11069161B2 (en) | Adaptive sensor fusion | |
US11829131B2 (en) | Vehicle neural network enhancement | |
CN110979317A (zh) | 固定摄像机定位 | |
US11138452B2 (en) | Vehicle neural network training | |
US11030774B2 (en) | Vehicle object tracking | |
CN110858301A (zh) | 偏心率地图 | |
CN112172778A (zh) | 车辆姿势确定 | |
US20230282000A1 (en) | Multi-object tracking | |
CN115249066A (zh) | 分位数神经网络 | |
CN112793568A (zh) | 车辆操作标签 | |
US11887317B2 (en) | Object trajectory forecasting | |
US11610412B2 (en) | Vehicle neural network training | |
US20230219601A1 (en) | Efficient neural networks | |
US12008787B2 (en) | Object pose estimation | |
US20230025152A1 (en) | Object pose estimation | |
US20230368541A1 (en) | Object attention network | |
US20210097710A1 (en) | Operating a motor vehicle with stereo camera and lidar | |
US20230267719A1 (en) | Neural network training | |
EP4145352A1 (en) | Systems and methods for training and using machine learning models and algorithms | |
CN116091611A (zh) | 相机定位 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |