CN111209790A - 使用相邻车辆的姿态观察进行路面表征 - Google Patents
使用相邻车辆的姿态观察进行路面表征 Download PDFInfo
- Publication number
- CN111209790A CN111209790A CN201911135089.1A CN201911135089A CN111209790A CN 111209790 A CN111209790 A CN 111209790A CN 201911135089 A CN201911135089 A CN 201911135089A CN 111209790 A CN111209790 A CN 111209790A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- dnn
- hazard
- training
- pose
- 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
- 238000012512 characterization method Methods 0.000 title abstract description 3
- 238000013528 artificial neural network Methods 0.000 claims abstract description 48
- 238000012549 training Methods 0.000 claims description 72
- 238000000034 method Methods 0.000 claims description 68
- 238000012545 processing Methods 0.000 claims description 35
- 238000013479 data entry Methods 0.000 claims description 27
- 230000000306 recurrent effect Effects 0.000 claims description 10
- 230000009471 action Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 35
- 238000004422 calculation algorithm Methods 0.000 description 32
- 238000013527 convolutional neural network Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000010801 machine learning Methods 0.000 description 13
- 230000033001 locomotion Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 7
- 238000001454 recorded image Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000003709 image segmentation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000005094 computer simulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001932 seasonal effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- 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/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
- G06V10/267—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
-
- 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
-
- 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
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0257—Control of position or course in two dimensions specially adapted to land vehicles using a radar
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/12—Acquisition of 3D measurements of objects
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Electromagnetism (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
本公开提供“使用相邻车辆的姿态观察进行路面表征”。一种计算系统可以基于图像中的第一车辆的宽度、高度和位置而裁剪所述图像。所述计算系统可以基于将所述裁剪的图像以及所述第一车辆的所述宽度、所述高度和所述位置输入深度神经网络中而估计所述第一车辆的姿态。然后,所述计算系统可以基于所述估计的姿态而操作第二车辆。所述计算系统可以根据所述估计的姿态训练模型以识别危险的类型和位置,所述危险是冰、泥、坑洼或其他危险之类的东西。所述模型可以由自主车辆用于识别和躲避危险或提供驾驶辅助警报。
Description
技术领域
本发明涉及用于自主驾驶或提供驾驶员辅助的障碍物识别。
背景技术
车辆可被配备为在自主模式和乘员导引模式两者下操作。车辆可以被配备有计算装置、网络、传感器和控制器以获取关于车辆环境的信息并基于该信息来操作车辆。车辆的安全且舒适操作可以取决于获取关于车辆环境的准确且及时的信息。车辆传感器可以提供关于在车辆环境中要行进的路线和要避开的对象的数据。车辆的安全且有效的操作可以取决于当车辆在道路上操作时获取关于在车辆环境中的路线和对象的准确且及时的信息。存在用于识别造成碰撞风险的对象的现有机制和/或在规划车辆沿路线的路径时应考虑到这些机制。然而,还有改善对象识别和评估技术的空间。
发明内容
本文公开的是一种方法,该方法包括:基于图像中的第一车辆的宽度、高度和中心而裁剪图像以确定图像块;基于将图像块以及第一车辆的宽度、高度和中心输入深度神经网络中而估计第一车辆的3D姿态;以及基于估计的3D姿态而操作第二车辆。估计的3D姿态可以包括第一车辆相对于3D坐标系的估计的3D位置、估计的侧倾、估计的俯仰和估计的横摆。可以基于依据分割所述图像来确定图像中的对象来确定第一车辆图像块的宽度、高度和中心。可以基于确定分割的图像中的矩形边界框而确定第一车辆的宽度、高度和中心。可以基于裁剪来自矩形边界框的图像数据并调整图像数据的大小以适合以经验确定的高度和宽度而确定图像块。深度神经网络可以包括:多个卷积神经网络层,所述多个卷积神经网络层用于处理裁剪的图像;第一多个完全连接的神经网络层,所述第一多个完全连接的神经网络层用于处理第一车辆的高度、宽度和位置;以及第二多个完全连接的神经网络层,所述第二多个完全连接的神经网络层用于组合来自卷积神经网络层和第一完全连接的神经网络层的输出,以确定估计的姿态。
可以基于将第一车辆图像块的宽度、高度和中心输入深度神经网络中以确定估计的侧倾、估计的俯仰和估计的横摆而确定第一车辆的估计的3D姿态。可以确定第一车辆的估计的3D姿态,其中深度神经网络包括第三多个完全连接的神经网络层,所述第三多个完全连接的神经网络层用于处理第一车辆图像块的高度、宽度和中心,以确定3D位置。可以基于模拟图像数据而训练深度神经网络以基于图像块、第一车辆的宽度、高度和中心、以及关于第一车辆的3D姿态的地面实况而估计3D姿态。关于第一车辆的3D姿态的地面实况可以包括相对于3D坐标系的3D位置、侧倾、俯仰和横摆。可以基于记录的图像数据和获取的地面实况而训练深度神经网络以基于图像块、第一车辆的宽度、高度和中心、以及关于第一车辆的3D姿态的地面实况而估计3D姿态。记录的图像数据可以从包括在第二车辆中的视频传感器记录。可以基于摄影测量而确定对应于记录的图像数据的地面实况。摄影测量可以是基于依据车辆品牌和型号而确定车辆的尺寸。在其他实施例中,激光雷达、雷达或其他传感器数据可被捕获并用于确定车辆的实际姿态以用作地面实况。在其他实施例中,来自观察所述车辆的相邻车辆的传感器数据(摄影、激光雷达、雷达等)可以用于表示车辆的地面实况。
还公开了一种计算机可读介质,其存储用于执行上述方法步骤中的一些或全部的程序指令。此外,还公开一种计算机,该计算机被编程为用于执行上述方法步骤中的一些或全部,包括计算机设备,计算机设备被编程为:基于图像中的第一车辆的宽度、高度和中心而裁剪图像以确定图像块;基于将图像块以及第一车辆的宽度、高度和中心输入深度神经网络中而估计第一车辆的3D姿态;以及基于估计的3D姿态而操作第二车辆。估计的3D姿态可以包括第一车辆相对于3D坐标系的估计的3D位置、估计的侧倾、估计的俯仰和估计的横摆。可以基于依据分割图像来确定图像中的对象来确定第一车辆图像块的宽度、高度和中心。可以基于确定分割的图像中的矩形边界框而确定第一车辆的宽度、高度和中心。可以基于裁剪来自矩形边界框的图像数据并调整图像数据的大小以适合以经验确定的高度和宽度而确定图像块。深度神经网络可以包括:多个卷积神经网络层,所述多个卷积神经网络层用于处理裁剪的图像;第一多个完全连接的神经网络层,所述第一多个完全连接的神经网络层用于处理第一车辆的高度、宽度和位置;以及第二多个完全连接的神经网络层,所述第二多个完全连接的神经网络层用于组合来自卷积神经网络层和第一完全连接的神经网络层的输出,以确定估计的姿态。
计算机设备可以进一步被编程为可以基于将第一车辆图像块的宽度、高度和中心输入深度神经网络中以确定估计的侧倾、估计的俯仰和估计的横摆而确定第一车辆的估计的3D姿态。可以确定第一车辆的估计的3D姿态,其中深度神经网络包括第三多个完全连接的神经网络层,所述第三多个完全连接的神经网络层用于处理第一车辆图像块的高度、宽度和中心,以确定3D位置。可以基于模拟图像数据而训练深度神经网络以基于图像块、第一车辆的宽度、高度和中心、以及关于第一车辆的3D姿态的地面实况而估计3D姿态。关于第一车辆的3D姿态的地面实况可以包括相对于3D坐标系的3D位置、侧倾、俯仰和横摆。可以基于记录的图像数据和获取的地面实况而训练深度神经网络以基于图像块、第一车辆的宽度、高度和中心、以及关于第一车辆的3D姿态的地面实况而估计3D姿态。记录的图像数据可以从包括在第二车辆中的视频传感器记录。可以基于摄影测量而确定对应于记录的图像数据的地面实况。摄影测量可以是基于依据车辆品牌和型号而确定车辆的尺寸。
附图说明
为了易于理解本发明的优点,将通过参考附图中所示的特定实施例来呈现对上面简要描述的本发明的更具体描述。在理解这些附图仅描绘了本发明的典型实施例并且因此不被认为是对其范围的限制之后,将通过使用附图来用附加的特异性和细节来描述和解释本发明,在附图中:
图1是示例车辆的框图;
图2是交通场景的示例图像的图示;
图3是交通场景的示例图像的图示;
图4是示例深度神经网络的图示;
图5是基于裁剪的图像而估计车辆姿态的示例过程的流程图;
图6是用于生成和使用模型的系统的框图,该模型经训练用于根据估计的车辆姿态识别危险的类型和位置;
图7是示出用于训练模型以根据估计的车辆姿态识别危险的类型和位置的部件的框图;并且
图8是示出用于使用模型根据估计的车辆姿态识别危险的类型和位置的部件的框图。
具体实施方式
在车辆中的计算装置可以被编程为获取关于车辆周围的外部环境的数据并使用该数据来确定用于以自主和半自主模式操作车辆的轨迹。计算装置可以检测和跟踪车辆周围的环境中的交通对象,其中交通对象被定义为占据车辆周围的真实世界中的物理空间的刚性或半刚性三维(3D)实体对象。交通对象的实例包括车辆和行人等,如下面关于图2所讨论。检测和跟踪交通对象可以包括确定交通对象相对于车辆的位置的多个估计以确定运动并由此预测交通对象的未来位置,并且由此允许计算装置确定车辆行驶的避免涉及交通对象的碰撞或其他不期望的事件的路径。计算装置可以使用如下面关于图1所讨论的激光雷达传感器来确定距车辆环境中的交通对象的距离,然而,可能需要随时间的多个激光雷达数据样本来估计交通对象的轨迹并预测未来位置。本文讨论的技术可以估计在车辆环境中的交通对象的真实世界坐标中的如下面关于图2所限定的3D位置和定向,并且由此允许计算装置基于车辆环境的彩色视频图像而预测交通对象的未来位置。
图1是车辆信息系统100的图示,所述车辆信息系统包括可在自主(“自主”本身在本公开中是指“完全自主”)模式和乘员导引(也称为非自主)模式下操作的车辆110。车辆110也包括用于在自主操作期间执行计算以导引车辆110的一个或多个计算装置115。计算装置115可从传感器116接收关于车辆操作的信息。计算装置115可以自主模式、半自主模式或非自主模式来操作车辆110。出于本公开的目的,将自主模式定义为由计算装置控制车辆110的推进、制动和转向中的每一者的模式;在半自主模式下,计算装置115控制车辆110的推进、制动和转向中的一者或两者;在非自主模式下,操作人员控制车辆的推进、制动和转向。
计算装置115包括例如已知的处理器和存储器。此外,存储器包括一种或多种形式的计算机可读介质,并且存储指令,该指令可由处理器执行以执行包括如本文所公开的各种操作。例如,计算装置115可以包括编程来操作车辆制动、推进(例如,通过控制内燃发动机、电动马达、混合动力发动机等中的一者或多者来控制车辆110的加速度)、转向、气候控制、内部和/或外部灯等中的一者或多者,以及确定计算装置115而不是操作人员是否控制此类操作和何时控制此类操作。
计算装置115可以包括多于一个计算装置(例如,包括在车辆110中以用于监测和/或控制各种车辆部件的控制器等例如动力传动系统控制器112、制动控制器113、转向控制器114等),或例如经由如下文进一步描述的车辆通信总线通信地耦合到所述多于一个计算装置。计算装置115一般被布置为用于通过车辆通信网络(例如,包括车辆110中的总线诸如控制器局域网(CAN)等)通信;车辆110网络可以另外地或可选地包括诸如已知的有线或无线通信机制,例如以太网或其他通信协议。
经由车辆网络,计算装置115可以向车辆中的各种装置例如控制器、致动器、传感器(包括传感器116)等传输消息和/或从所述各种装置接收消息。可选地或另外地,在计算装置115实际上包括多个装置的情况下,可使用车辆通信网络来用于在本公开中表示为计算装置115的装置之间的通信。此外,如下所述,各种控制器或感测元件(诸如传感器116)可以经由车辆通信网络向计算装置115提供数据。
另外,计算装置115可以被配置为用于经由网络130通过车辆对基础设施(V对I)接口111与远程服务器计算机120(例如,云服务器)进行通信,如下所述,该接口包括允许计算装置115经由网络130诸如无线互联网(Wi-Fi)或蜂窝网络与远程服务器计算机120通信的硬件、固件和软件。因此,V对I接口111可以包括处理器、存储器、收发器等,它们被配置为利用各种有线和/或无线联网技术,例如蜂窝、和有线和/或无线分组网络。计算装置115可以被配置为用于使用在附近车辆110间在自组织的基础上形成或通过基于基础设施的网络形成的车辆对车辆(V对V)网络(例如,根据专用短程通信(DSRC)和/或类似的通信)通过V对I接口111与其他车辆110通信。计算装置115还包括诸如已知的非易失性存储器。计算装置115可以通过将信息存储在非易失性存储器中来记录信息,以用于稍后经由车辆通信网络和车辆对基础设施(V对I)接口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、V对I接口111、计算装置115和一个或多个控制器112、113、114。传感器116可以收集与车辆110和车辆110的操作环境相关的数据。以举例的方式但非限制,传感器116可以包括例如测高仪、相机、激光雷达、雷达、超声传感器、红外传感器、压力传感器、加速度计、陀螺仪、温度传感器、压力传感器、霍尔传感器、光学传感器、电压传感器、电流传感器、机械传感器诸如开关等。传感器116可以用来感测车辆110的操作环境,例如,传感器116可以检测诸如天气条件(降雨、外部环境温度等)的现象、道路坡度、道路位置(例如,使用道路边缘、车道标记等)或目标对象诸如邻近车辆110的位置。传感器116还可以用来收集数据,包括与车辆110的操作(诸如速度、横摆率、转向角度、发动机转速、制动压力、油压力、施加到车辆110中的控制器112、113、114的功率电平、部件之间的连接性和车辆110的部件的准确且及时性能)相关的动态车辆110数据。
图2是以黑色和白色渲染以符合37C.F.R.§1.84(a)(1)的交通场景的示例性彩色图像200的图示。彩色图像200可以由包括在车辆110中的视频传感器116获取。视频传感器116可以获取彩色视频数据并将彩色视频数据传输到计算装置115,计算装置可以将彩色视频数据存储在非易失性存储器中,彩色视频数据在非易失性存储器中可以由计算装置115调用并且进行处理。如上面关于图1所讨论,计算装置115可以被编程为部分地基于来自视频传感器116的彩色视频数据而操作车辆110。计算装置115可以被编程为辨识包括其他车辆202和道路204的彩色图像200中的交通对象。例如,深度神经网络(DNN)可以被编程为对交通对象进行分割和分类,包括车辆、行人、障碍物、交通信号、交通标记、道路、植物、地形和建筑物。应用DNN来分割彩色视频数据中的交通对象是当前学术和工业研究的主题。学术研究小组和一些商业实体已经开发了可用于开发用于图像分割任务(包括交通对象分割)的DNN的库和工具包。例如,Caffe是由加利福尼亚州伯克利市加利福尼亚大学伯克利分校伯克利视觉和学习中心94720(Berkeley Vision and Learning Center,University ofCalifornia,Berkeley,Berkeley,California 94720)创建的卷积神经网络库,其可以用于开发交通对象分割DNN。
图像分割是机器视觉过程,其中输入彩色图像被分割成连接的区域。通过输入多个彩色图像以及“地面实况”数据,可以训练DNN将输入彩色图像分割成连接的区域。地面实况被定义为指定与图像数据相关联的真实世界状况或状态的信息或数据。例如,在交通场景的图像中,地面实况数据可以包括关于包括在彩色图像中的交通对象的信息,诸如区域和从彩色视频传感器116到在视野中的车辆的距离和方向。可以独立于彩色图像来获取地面实况数据,例如通过直接观察或测量,或通过独立于DNN处理的处理。地面实况数据可以用于在训练期间向DNN提供反馈,以奖励正确结果并惩罚不好结果。在其他实施例中,激光雷达、雷达或其他传感器数据可被捕获并用于确定车辆的实际姿态以用作地面实况。在其他实施例中,来自观察所述车辆的相邻车辆的传感器数据(摄影、激光雷达、雷达等)可以用于表示车辆的地面实况。
通过用多个不同DNN参数执行多个试验并用地面实况数据评估结果,可以训练DNN以在输入彩色图像数据时输出正确结果。例如,连接的区域可以经受最小和最大区域。可以通过用对应于交通对象的多个不同类别中的一个标记每个连接的区域来对连接的区域进行分类。类别可以由DNN基于彩色图像200中的交通对象的大小、形状和位置而选择。例如,DNN可以包括用于车辆的不同品牌和型号的不同类别。
训练DNN以确定输入彩色图像200中的车辆的3D姿态可能需要记录的彩色图像200与关于多个车辆的真实世界3D姿态的对应的地面实况。地面实况可以被表达为距彩色视频传感器116的距离或范围和方向。在一些实例中,计算装置115可以通过摄影测量(即诸如已知用于从照片或图像进行测量的技术)来确定从彩色视频传感器116到彩色图像200中的交通对象的距离或范围。摄影测量可以将关于视野的信息(包括彩色视频传感器116的镜头的倍率、位置和三维(3D)光轴方向)与关于交通对象的真实世界大小的信息组合,以估计从彩色视频传感器116的镜头到交通对象的距离和方向。例如,关于其他车辆202的真实世界高度的信息可以与和其他车辆202相关联的交通对象的像素中的彩色图像200高度信息组合,并且基于镜头的倍率和3D方向,确定相对于车辆110距另一个车辆202的距离和方向。
基于摄影测量而确定距离和方向取决于确定交通对象的位置和姿态。交通对象被假定为刚性3D对象(车辆等)或半刚性3D对象(行人等);因此,在真实世界3D空间中的交通对象位置和定向可以由关于三轴坐标系的六个自由度来描述。假设具有限定的原点的x、y、z三轴坐标系,可以将3D位置定义为从x、y、z坐标中的原点的平移,并且姿态可以被定义为分别关于x、y和z轴的角旋转(侧倾、俯仰和横摆)。位置和姿态可以分别描述在真实世界3D空间中的交通对象的位置和定向(例如,相对于x、y和z轴中的每一者的角度,可能例如相对于车辆表达为侧倾、俯仰和横摆)。对交通对象的侧倾、俯仰和横摆的估计被称为预测的定向。与3D位置组合的定向在本文将被称为3D姿态,并且与预测的3D位置组合的预测的定向在本文将被称为预测的3D姿态。
例如,摄影测量可以确定在彩色图像200中的数据点的位置,并且是基于关于获取彩色图像200的彩色视频传感器116的视野的信息和从彩色视频传感器中的3D点到在真实世界3D空间中的数据点的距离的估计。例如,可以使用关于数据点的先验信息来估计从彩色视频传感器中的3D点到在真实世界3D空间中的数据点的距离。例如,可以假设数据点包括在由计算装置115从一个或多个传感器116的数据例如根据常规的对象辨识和/或分类技术来识别的分类的交通对象中。交通对象类别可以由计算装置115使用来重新调用关于交通对象的真实世界(即实际)大小的先验信息。交通对象的真实世界大小可以被定义为可测量的尺寸例如整体高度、长度或宽度的大小。例如,乘用车量以标准尺寸制造。乘用车辆的品牌和型号的图像可以由计算装置115使用机器视觉技术并基于该车辆的以真实世界单位计(例如,毫米)的可测量的尺寸来辨识,该可测量的尺寸可以从存储在计算装置115处的车辆可测量的尺寸的列表重新调用。可以将彩色图像中的以像素测量的可测量的尺寸的大小与以真实世界单位计的可测量的尺寸的大小进行比较,以例如基于包括在彩色视频传感器116中的镜头的倍率和可测量的尺寸相对于包括在镜头中的光轴和彩色视频传感器116中包括的图像传感器平面的交点的位置而确定交通对象距彩色视频传感器116的距离。关于可测量的尺寸的先验信息可以与彩色图像200中的交通对象的测量的位置和大小以及关于彩色视频传感器116镜头的倍率的信息以这种方式组合以估计从彩色视频传感器到分类的交通对象的真实世界3D距离。
在一些实例中,计算装置可以通过获取和处理来自激光雷达传感器116的信息来确定从彩色视频传感器116到彩色图像200中的交通对象的距离或范围。如上面关于图1所讨论,激光雷达传感器116可以获取表示在3D空间中的表面的位置的数据点的点云。可以通过基于彩色图像传感器116的视野而将被确定为与其他车辆302相关联的3D激光雷达数据点的估计的3D位置投射到彩色图像300中来确定其他车辆302相对于车辆110的位置。通过将彩色图像传感器116和激光雷达传感器116的视野进行比较,可以确定3D激光雷达数据点与其他车辆相关联。
图3是以黑色和白色渲染的交通场景的示例彩色图像300。计算装置115可以被编程为辨识彩色图像300中的交通对象,包括如上面关于图2所讨论的其他车辆302和道路304。基于与其他车辆302相关联的交通对象数据,可以围绕其他车辆302构建矩形边界框306。
可以基于来自彩色图像数据300的分割的交通对象数据而构建边界框306。基于确定在彩色图像300中的与其他车辆302一致的位置处具有类别“车辆”的交通对象,计算装置115可以通过确定包括彩色图像300的连接的区域中的被确定为属于“车辆”类别的图像像素的最小矩形形状来构建边界框,其中边界框的边被约束为平行于彩色图像300的边(顶部、底部、左、右)。边界框306由包括中心的上下文信息描述,该中心被表达为相对于原点的以像素计的x、y坐标,即以像素计的宽度和以像素计的高度。中心的x、y坐标可以是边界框的中心。边界框的高度和宽度可以由包括在连接的区域中的像素的最大和最小像素x以及最大和最小y坐标来确定。
可以基于边界框306而裁剪彩色图像300。在裁剪中,丢弃彩色图像300的不在边界框306内的所有像素。然后,彩色图像300仅包括在边界框306内的像素。由于边界框306包括比原始、未裁剪的彩色图像300少得多的像素,因此裁剪的彩色图像300的处理可以快许多倍,从而改善与预测的3D姿态相关的处理。
裁剪的彩色图像300和关于裁剪的彩色图像300相对于原始、未裁剪的彩色图像300的位置和大小的上下文信息可以输入到下面关于图4描述的DNN,以确定其他车辆302的姿态预测,即估计的侧倾、俯仰和横摆。可以由计算装置115使用姿态预测来预测其他车辆302的移动,并且由此通过避免碰撞和接近碰撞并行驶与安全操作一致的最短路径来辅助计算装置115安全且有效地操作车辆110。
图4是示例姿态预测DNN 400(即可被训练为响应于输入彩色图像402而输出预测的定向420和预测的位置424的机器学习程序)的图示。预测的定向420和预测的位置424是如上面关于图2所限定的真实世界3D姿态(位置、侧倾、俯仰和横摆)的预测或估计,其从对包括在输入彩色视频图像402中的另一个车辆的图像的分析预测。DNN 400可以响应于输入彩色图像402而输出位置预测424。位置预测是如上面关于图2所限定的真实世界3D位置(x、y、z),其从包括在输入彩色视频图像402中的其他车辆的图像预测。可以基于多个输入彩色图像而训练DNN 400,该输入彩色图像包括指定包括在输入彩色图像中的车辆的真实世界3D位置和姿态的地面实况。训练DNN 400包括输入彩色图像402,并且反向传播所得的输出姿态预测420以与和输入彩色图像402相关联的地面实况进行比较。
如上面所限定,地面实况可以是相对于包括在车辆110中的彩色视频传感器116确定的彩色图像402中绘出的车辆的正确真实世界3D姿态。可以从独立于彩色图像402的源获得地面实况信息。例如,可以物理地测量另一个车辆相对于彩色视频传感器116的3D姿态,并且然后可以获取另一个车辆的彩色图像402,并且地面实况和获取的图像用于训练DNN400。在其他实例中,模拟数据可以用于创建彩色图像402。在该实例中,3D姿态被输入到模拟程序。模拟数据可以由类似于视频游戏软件程序的软件程序创建,该软件程序可以像照片那样逼真地渲染输出视频图像,即,输出视频图像看起来像真实世界场景的照片。
通过将DNN 400处理的结果与地面实况进行比较并对该过程进行正面地奖励或负面地惩罚,DNN 400的行为可以在重复试验之后受到影响或进行训练,以在针对各种不同彩色的图像402输入对应的彩色图像402时提供相对于地面实况的正确答案。以这种方式训练DNN 400训练部件神经网络卷积神经网络(CNN)块408和过程裁剪姿态(PCP)块412来响应于输入彩色图像402而分别输出正确图像特征414和正确姿态特征416作为组合图像姿态CIP块418的输入,而不必明确地针对这些中间特征提供地面实况。将关于定向预测420和位置预测424的地面实况与来自组合图像姿态(CIP)块和过程裁剪位置(PCL)块422的输出进行比较以训练DNN 400。
作为用DNN 400处理彩色图像402的第一步,计算装置115可以将彩色图像402输入到裁剪和填充(C&P)块404,其中彩色视频图像402被裁剪、调整大小和进行填充。可以通过确定与车辆的图像相关联的边界框并丢弃在边界框外部的所有像素来裁剪彩色图像402,如上面关于图3所讨论。所得的裁剪的彩色图像可以具有以像素计的高度和宽度,其不同于CNN块408所需的输入高度和宽度。为了解决这个问题,可以通过扩展或收缩裁剪的彩色图像来将裁剪的彩色图像调整大小,直到高度和宽度或裁剪的彩色图像等于CNN块408所需的输入高度和宽度,例如100x100像素。可以通过复制像素来扩展裁剪的彩色图像,并且可以通过对像素进行采样来收缩裁剪的彩色图像。可以在扩展和收缩裁剪的彩色图像时应用空间过滤器,以提高准确性。还可以通过沿着裁剪和调整大小的彩色图像的顶部边缘、底部边缘、左边缘和右边缘添加行和列的像素来填充裁剪的彩色图像,以提高由CNN块408执行的卷积操作的准确性。裁剪、调整大小的和进行填充的彩色图像406被输出到CNN块408。
CNN块408通过使用多个卷积核将输入的裁剪、调整大小和进行填充的彩色图像406连续地与多个卷积层卷积接着合并来处理裁剪、调整大小和进行填充的彩色图像406,其中从卷积层输出的中间结果可以通过根据规则(例如,确定邻域像素的最大值或中值)将连续的像素邻域(例如,2x2邻域)组合成单个像素来空间上降低分辨率。例如,也可以通过经由跳层连接包括来自先前确定的较高分辨率卷积层的信息来空间上扩展来自卷积层的中间结果。CNN块408可以通过基于将来自DNN 400的结果与关于车辆定向和位置的地面实况进行比较而确定要由CNN块408的卷积层使用的卷积核的序列来训练。CNN块408将图像特征414输出到CIP块418,其中它们与由PCP块412输出的姿态特征416组合以形成输出定向预测420。
返回到C&P块404,C&P块404将基于输入彩色图像402的裁剪信息410输出到PCP块412和PCL块422。裁剪信息包括以像素计的裁剪的彩色图像的原始高度和宽度以及以像素计的裁剪的彩色图像的中心相对于彩色图像402坐标系的原点的x、y坐标。PCP块412将裁剪信息410输入多个完全连接的神经网络层中,这些完全连接的神经网络层处理裁剪信息410以形成定向特征416来输出到CIP块418。在训练时,可以调整或设置被包括作为在包括在PCP块412中的等式(其组合在形成输出定向特征416的完全连接的层中的值)中的系数的参数,以致使PCP块412基于地面实况而输出期望值。与此并行地,PCL块422输入裁剪信息并确定在裁剪、调整大小和进行填充的彩色图像406中表示的车辆的真实世界3D位置以输出作为位置预测424,其包括表示在输入彩色图像402中表示的车辆的真实世界3D位置的估计的x、y和z坐标。PCL 422可以通过调整或设置被包括作为在包括在PCL 422中的等式(其基于地面实况响应于裁剪的图像输入而组合完全连接的层中的值以输出正确的值)中的系数的参数来训练。
CIP块418将图像特征414和定向特征416输入多个完全连接的神经网络层中以确定定向预测420。定向预测420是输入彩色图像402中表示的车辆的定向的估计,其被表达为关于如上关于图2描述的相机3D坐标系的轴线的以度为单位的侧倾、俯仰和横摆。在训练时,可以调整或设置被包括作为包括在CIP块418中的等式(其组合完全连接的层中的值以形成输出定向预测420)中的系数的参数,以致使CIP块418基于地面实况而输出期望值。可以组合定向预测420和位置预测424以形成车辆的预测的3D姿态,并且将3D姿态输出到计算装置115以存储和重新调用来用于操作车辆110。例如,关于在包括在车辆110中的视频传感器116的视野中的车辆的位置和姿态的信息可以用于操作车辆110,以避免与在视野中的车辆发生碰撞或接近碰撞。
可以基于记录的输入彩色视频图像402和关于包括在输入彩色视频图像402中的车辆的3D姿态的对应的地面实况来训练DNN 400。输入彩色视频图像402和对应的地面实况可以通过记录真实世界场景和测量3D姿态来获得,例如本文讨论的技术还可以基于计算机模拟而获得输入彩色视频图像402和关于包括在彩色视频图像中的车辆的3D姿态的对应的地面实况。计算装置可以基于像照片那样逼真地描述表面和对象的数字数据而渲染彩色视频图像,以根据针对多个车辆的季节和当日时间、位置和姿态来模拟真实世界天气和照明条件。由于彩色视频图像402可以是合成的,因此包括的车辆的3D姿态包括在数字数据中,因此精确地知道地面实况,而没有真实世界数据可能的测量误差。例如,可以通过经由缩放或移位有意地调整边界框306使包括在真实世界数据中的误差包括在模拟数据中,以进行附加的训练。
计算装置115可以基于多级控制过程层级来操作车辆110,其中多个协作的独立控制过程创建和交换关于车辆110及其环境(包括真实世界交通对象)的信息,以将车辆110从其当前位置安全地操作到目的地,其中车辆110的安全操作包括避免碰撞和接近碰撞。本文讨论的示例技术允许改善的控制过程以确定关于车辆110操作的信息,即预测的3D姿态,包括在车辆110的真实世界环境中的交通对象(车辆)的定向(侧倾、俯仰和横摆)和位置(x、y和z)。其他控制过程可以基于车辆位置信息和映射数据而确定在真实世界坐标中的目的地。进一步控制过程可以基于横向和纵向加速度极限以及用于避开交通对象的以经验确定的最小距离而确定预测的多项式路径,其可以由更进一步控制过程使用来将车辆110操作到确定的目的地。更进一步控制过程确定要发送到控制器112、113、114的控制信号,以通过基于操作车辆110沿着预测的多项式路径行驶而控制转向、制动和动力传动系统来操作车辆110。
本文描述的用于确定包括在彩色视频图像中的车辆的预测的3D姿态的技术可以通过将预测的3D姿态信息从DNN 400输出到在计算装置115上执行的控制过程来包括在多级控制过程层级中,所述控制过程基于相对于车辆110的3D姿态和包括地图信息的道路而确定预测的车辆移动。预测在彩色视频传感器116的视野中的车辆的移动可以允许计算装置115确定由多项式路径函数表示的路径,该多项式路径函数可以由计算装置115使用来通过预测其他车辆的位置并相应地规划多项式路径来操作车辆110安全地实现自主和半自主操作。例如,计算装置115可以操作车辆110以执行半自主任务,包括驾驶员辅助任务,如车道更改操纵、巡航控制和停车等。
执行驾驶员辅助任务(如车道改变操纵、巡航控制和停车等)可以包括通过确定多项式路径并经由控制车辆110的转向、制动和动力传动系统部件来应用横向和纵向加速度沿多项式路径操作车辆110来操作车辆110。例如,执行驾驶员辅助任务可能需要修改车辆110速度以维持最小车辆对车辆距离或将速度与其他车辆匹配以在车道改变操纵期间并入交通。基于确定以真实世界坐标的其他车辆姿态和位置而预测在包括在车辆110中的传感器116的视野中的其他车辆的移动和位置可以包括在由计算装置115进行的多项式路径规划中。在多项式路径规划中包括预测的姿态和位置可以允许计算装置115操作车辆110以安全地执行车辆辅助任务。
图5是关于图1至图4描述的用于基于预测第一车辆的估计的3D姿态而操作第二车辆110的示例过程500的流程图。例如,过程500可以通过计算装置115的处理器从传感器116获得信息作为输入并经由控制器112、113、114执行命令和发送控制信号来实现。本文将过程500描述为包括以所公开的指定次序进行的多个步骤。其他实现方式是可能的,其中过程500包括更少的步骤和/或包括以不同次序进行的所公开的步骤。
过程500开始于步骤502处,其中包括在第二车辆110中的计算装置115裁剪包括第一车辆的表示的彩色图像402、调整彩色图像的大小并对彩色图像进行填充。如上面关于图3和图4所讨论,彩色图像402被裁剪为仅包括第一车辆的图像,被调整大小以适合DNN 400所需的输入大小,并且进行填充以辅助CNN 408的卷积。
在步骤504处,计算装置115将裁剪的、调整大小的和进行填充的图像数据输入CNN408中,其中CNN 408处理输入的裁剪的、调整大小的和进行填充的彩色图像数据,以形成图像特征414来输出到CIP块418,如上面关于图4所讨论。
在步骤506处,计算装置115将包括裁剪的彩色图像的高度、宽度和中心的裁剪数据输入到PCP块412,其中由多个完全连接的神经网络层处理裁剪数据以确定描述与输入彩色视频402中表示的其他车辆相关联的3D定向的姿态特征416。
在步骤508处,计算装置115将图像特征414和姿态特征416输入CIP块418中,其中多个完全连接的神经网络层处理输入图像特征414和姿态特征416以确定和输出以相对于彩色视频传感器116 3D坐标系的侧倾、俯仰和横摆的程度描述在输入彩色图像402中表示的车辆的定向的定向预测420。计算装置还将裁剪信息410输入PCL块422中,PCL块422处理裁剪信息410以形成预测的3D位置424。可以组合预测的3D位置424和预测的定向420以形成预测的3D姿态。
在步骤510处,计算装置115基于在步骤508处的3D姿态预测输出而操作车辆110。例如,计算装置115可以使用3D姿态预测来预测在包括在车辆110中的彩色视频传感器116的视野中的车辆的移动。例如,计算装置115在规划用于驾驶员辅助任务的多项式路径的程序中使用在彩色视频传感器116的视野中的车辆的位置和预测的移动。确定车辆110遵循以执行包括车道改变操纵、巡航控制或停车的驾驶员辅助任务的多项式路径可以是部分地基于在彩色视频传感器116的视野中的车辆的预测的移动。预测在彩色视频传感器116的视野中的车辆的移动可以允许计算装置115操作车辆110,以便在执行驾驶员辅助任务时避免与另一个车辆的碰撞或接近碰撞,例如,如上面关于图4所讨论。
参考图6,车辆110的传感器116可以包括传感器诸如雷达(无线电检测和测距)传感器600a和激光雷达(光检测和测距)传感器600b。传感器116还可包括位于车辆110的机罩上方并且可能在车辆110的挡风玻璃的中间上方(诸如在车辆的挡风玻璃的顶部)的高位面向前方的相机600c。例如,相机600c可以位于驾驶员的眼睛位置的上方,诸如车辆110的方向盘顶部上方。
除了相机600c之外或作为所述相机的替代,传感器116可以包括低位相机600d。低位相机600d可以位于车辆110的机罩下方,诸如通过安装在车辆格栅的垂直范围内的垂直位置。相机600c、600d的所示位置仅是示例性的,并且可以使用适合于获取车辆110周围的其他车辆的图像的任何位置。
雷达传感器600a、激光雷达传感器600b、高位相机600c和低位相机600d可以耦合到计算装置115,所述计算装置使用这些传感器600a至600d的输出来记录数据,以用于训练目的或使用根据本文公开的方法生成的机器学习模型进行评估。
一个或多个车辆110的计算装置115可以使用传感器600a至600d捕获训练数据,其被提供给服务器系统602以根据本文公开的方法训练模型。数据可以通过计算装置116使用无线协议与其通信的无线天线604或通过有线连接来传送。
具有车辆110的一些或全部属性的另一车辆可以类似地使用无线或有线连接从服务器系统602接收描述机器学习模型的数据。
服务器系统602可以托管或访问训练数据库606。训练数据库606可以存储训练数据条目608,每个训练数据条目包括诸如视频数据片段610a(例如,来自相机600c、600d的一个或多个的N分钟片段,其中N是预定义长度)的信息。针对与视频数据610a相同的该N分钟时间段,可以用来自传感器600a、600b的激光雷达和/或雷达数据增强视频数据610a。在一些实施例中,N为5与15之间的值。例如,可以使用10分钟片段。
每个条目608可以包括在视频数据610a中表示的车辆(例如在捕获视频数据610a的车辆110(“自车辆”)的前面或侧面行驶的车辆)的姿态数据610b。如上所述,可以针对视频片段的每个帧确定姿态,使得姿态数据610b包括对应于视频数据610a的一些或全部帧的一系列姿态估计。姿态数据610b可以根据以上相对于图1至图5描述的方法来获得。在某些情况下,姿态数据610b是通过直接测量获得的,即视频数据610a中表示的其他车辆可包括测量其姿态的传感器,然后这些输出可用作姿态数据610b以用于训练目的。
每个条目608还可包括由视频数据610a中表示的车辆遇到的危险类型610c和危险位置610d中的一者或二者的注释。例如,对于视频数据610a的一些或部分帧,可以包括危险的类型和位置。例如,视频数据610a的帧序列中从预定义点开始的每第M个帧可以用位置和/或危险类型注释,其中M是大于2的预定义整数。可以相对于捕获视频数据610a的车辆110的位置以二维或三维坐标表示该位置。例如,可以在用于描述三维姿态数据610b的相同坐标系中表达该位置。位置和危险类型可通过人工管理获得。在另一种方法中,可以观察危险的真实世界位置,并且对其类型进行分类(例如,坑洼、冰、泥、砾石、隆起物、不平的路面、污物、杂散物体等)。可以获得穿越危险的车辆的视频数据,同时还可以记录车辆的位置。因此,可以将坐标系中相对于车辆定义的危险的位置确定为车辆位置与危险位置之间的差。
为了训练模型,可存在数百、数千或数十万个条目608。条目608可有利地包括许多条目608,其对应于将被分类的每种类型的危险以及每种类型危险的相对位置的范围。
需注意,为了正确训练模型,一些条目608可以包括不存在危险的视频数据610a的帧,并且可以被注释以指示该事实。以这种方式,使用条目608训练的机器学习模型识别危险是否存在以及危险的类型(如果存在)。
服务器系统602可以托管或访问存储姿态模型614的数据库612,例如根据图1至图5的方法被训练为从视频数据中识别车辆姿态的模型614。数据库612可以进一步存储危险模型616,该危险模型被训练用于基于观察到的车辆的姿态随时间的变化识别危险的类型和/或位置。姿态模型614和危险模型616可以被加载到具有车辆110的一些或全部属性的车辆上,以用于识别和避免如下所述的危险的目的。服务器系统602可以通过无线天线604或有线连接与车辆110通信。
图7示出了用于训练危险模型616的示例方法700。标记的图像或视频数据702被输入到训练算法704,该训练算法训练姿态模型614以从图像或视频数据识别车辆的姿态。训练算法704可以使用上面相对于图1至图5描述的方法,使用标记的视频数据702来训练姿态模型614。
机器学习算法706可以使用姿态模型614来处理标记的视频数据708以获得姿态数据710。标记的视频数据708可以包括训练条目608,所述训练条目包括数据610a至610d中的一些或全部。在姿态模型614用于识别视频数据610a的帧中的车辆姿态的情况下,可以从训练条目608中省略姿态数据610b。还要注意,在训练条目608包括姿态数据610b的情况下,可以省略使用姿态模型614获得姿态数据710的步骤,并且如下所述将姿态数据610b用作姿态数据710。在训练条目608用姿态数据610b标记的情况下,标记的视频数据608可以用来代替标记的视频数据702来训练姿态模型614。
姿态数据710(来自训练条目608的姿态数据610b或者用模型614导出)可以被输入到导数计算器712,该导数计算器计算每个视频片段的一系列姿态估计的x、y、z、俯仰、横摆和侧倾值中的一些或全部的一系列一阶导数。在一些实施例中,导数计算器712还针对所述一系列姿态估计的所述一系列x、y、z、俯仰、横摆和侧倾值计算一系列二阶导数。
姿态数据710和姿态数据的导数可以输入到训练算法714。训练算法714可以进一步将标记的视频数据708作为输入。在一些实施例中,训练算法714专门对作为输入的姿态数据610b以及作为期望输出的危险类型数据610c和危险位置数据610d进行操作。在其他实施例中,视频数据610a的图像也将被提供作为输入,训练算法714使用该输入对其进行训练以获得期望的输出。在一些实施例中,来自条目608的雷达和激光雷达输出也可以用于训练危险模型616。
在一些实施例中,训练算法714是提供反馈路径716的递归神经网络。例如,训练算法714可以结合深度神经网络来定义递归神经网络。可以相对于深度神经网络的输出计算损失函数,例如用于条目608的输入数据的深度神经网络的输出(以及可能来自导数计算器712的导数)和该条目608的期望输出610c、610d之间的差。然后,该损失函数可用于调谐深度神经网络的权重,以将损失函数驱动为零。
训练算法714的结果是危险模型616,该危险模型被训练为针对姿态数据及其导数(具有或不具有用于生成由自车辆的相机600c、600d感知的姿态数据的视频数据、激光雷达数据和/或雷达数据)输出是否存在危险以及如果存在则危险的类型及其相对于自车辆的位置。
危险模型616可以被加载到车辆的自主控制算法718中,以用于识别和避免危险。危险模型616也可以被加载到车辆的驾驶员辅助模块720中,以用于向驾驶员产生警报。
图8示出了用于由车辆(诸如具有车辆110的一些或全部属性的车辆)使用姿态模型614和危险模型616的方法800。如图所示,来自相机600c、600d的一个或多个的视频数据以及可能地来自传感器600a、600b的激光雷达和雷达数据被输入到机器学习算法804,该机器学习算法使用姿态模型614处理视频数据,以根据姿态模型614获得车辆姿态估计。机器学习算法804可以根据以上相对于图1至图5描述的方法来处理姿态模型以生成姿态估计。
机器学习算法的输出是姿态数据806,姿态数据是一系列姿态估计,每个姿态估计对应于视频数据802的图像帧。姿态数据806可以被输入到机器学习算法810,该机器学习算法根据危险模型616处理姿态数据806。机器学习算法可以进一步将来自导数计算器808的姿态估计的导数作为输入。如上所述,姿态估计可以包括x、y、z、俯仰、横摆和侧倾。因此,一系列姿态估计可用于计算这些值的一系列一阶和/或二阶导数,其与姿态估计一起输入到机器学习算法810。
机器学习算法810可以体现为如上相对于训练算法714所述的训练的递归神经网络。如上所述,危险模型还可以将视频数据802与姿态估计一起作为输入。
机器学习算法810的输出是危险数据812,该危险数据包括对姿态估计是否指示危险以及如果是则该危险的位置和类型的估计。由危险模型616和机器学习算法810实现的递归神经网络可以具有记忆或回溯,使得姿态估计的特定危险估计也是多个先前姿态估计(诸如多个连续的先前姿态估计)的函数。
一旦知道危险的类型和位置,该信息即可以由自主控制算法718使用。自主控制算法718可以将危险估计与来自一些或所有传感器600a至600d以及可能的其他传感器的传感器数据816一起用作输入。自主控制算法718可以执行功能诸如自主轨迹确定和横越,同时根据本领域已知的用于执行这些功能的任何方法来执行障碍物识别和障碍物躲避。因此,可以使用算法718来避开使用危险模型616确定的危险位置。自主控制算法718产生用于车辆的控制的控制输出818(诸如加速器输入、制动输入、转向输入)以便执行轨迹横越和对象躲避。
因此,一旦识别危险的位置和类型,自主控制算法718即可采取措施来减轻由危险带来的威胁。例如,在将危险分类为坑洼的情况下,自主控制算法718可以转弯以避开坑洼的位置,或者如果不可能转弯则减速。在危险被分类为冰的情况下,自主算法718可类似地减速,将扭矩重新分配给不会越过冰的位置、绕冰的位置转弯或者执行其他动作的车轮。
作为替代,可以将危险类型和位置提供给驾驶员辅助算法720。驾驶员辅助算法720可以通过输出警报814来响应于危险的类型和位置。例如,语音警报可以将危险及其可能的位置传达给驾驶员(例如,“左侧有坑洼”)。
在一些实施例中,危险的类型和位置可以被传送到远程危险数据库820。数据库的内容可以被分发给车辆。因此,自主车辆可以使用这数据来避开有危险的街道,或者通过转弯或以其他方式规划不会使车辆轮胎越过危险位置的轨迹来避开危险。同样地,驾驶员辅助算法720可以使用分发的数据警告驾驶员危险。
在上面的公开内容中,已经参考了附图,这些附图形成了本公开的一部分,并且在附图中通过说明的方式示出了可以实践本公开的具体实现方式。应当理解,在不脱离本公开的范围的情况下,可以利用其他实现方式并且可以进行结构改变。说明书中对“一个实施例”、“实施例”、“示例实施例”等的引用指示所描述的实施例可以包括特定的特征、结构或特性,但是每个实施例可以不一定包括特定的特征、结构或特性。此外,此类短语不一定指同一实施例。此外,当结合实施例描述特定特征、结构或特性时,无论是否明确描述都认为结合其他实施例来影响此类特征、结构或特性是在本领域技术人员的知识范围内。
在附图中,相同的附图标记表示相同的元件。此外,可以改变这些元件中的一些或全部。关于本文描述的介质、过程、系统、方法等,应当理解,尽管已经将此类过程等的步骤描述为根据特定有序顺序发生,但是此类过程可以用以与本文所述次序不同的次序执行的所描述步骤来实践。还应理解,可以同时执行特定步骤,可以添加其他步骤或者可以省略本文所述的特定步骤。换句话说,本文对过程的描述是出于说明某些实施例的目的而提供的,并且绝不应被解释为限制所要求保护的本发明。
除非本文作出相反的明确指示,否则权利要求中使用的所有术语旨在给出如本领域技术人员所理解的普通和通常的含义。特别地,除非权利要求陈述了相反的明确限制,否则单数冠词诸如“一”、“该”、“所述”等的使用应被理解为叙述所指示的元件的一个或多个。
本文中使用的术语“示例性”是表示实例的意义,例如对于“示例性小部件”的提及应被解读为简单地指代小部件的实例。
修饰值或结果的副词“约”是指形状、结构、测量、值、确定、计算结果等可以因材料、加工、制造、传感器测量、计算、处理时间、通信时间等的缺陷而与确切描述的几何结构、距离、测量、值、确定、计算结果等有偏差。
本文公开的系统、装置和方法的实现方式可以包括或利用包括计算机硬件(例如像本文中所论述的一个或多个处理器和系统存储器)的专用或通用计算机。本公开的范围内的实现方式还可以包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。这类计算机可读介质可以为可以由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是计算机存储介质(装置)。承载计算机可执行指令的计算机可读介质是传输介质。因此,作为举例,但不带限制性,本公开的实现方式可以包括至少两种截然不同的计算机可读介质:计算机存储介质(装置)和传输介质。
计算机存储介质(装置)包括:RAM、DRAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如,基于RAM)、快闪存储器、相变存储器(“PCM”)、其他类型的存储器、其他光盘存储装置、磁盘存储装置或其他磁性存储装置、或可用于以计算机可执行指令或数据结构的形式存储期望的程序代码手段并且可由通用或专用计算机访问的任何其他介质。
本文所公开的装置、系统和方法的实现方式可以通过计算机网络进行通信。“网络”被定义为使得能够在计算机系统和/或模块和/或其他电子装置之间传输电子数据的一个或多个数据链路。当通过网络或其他通信连接(硬连线、无线或硬连线或无线的组合)向计算机传输或提供信息时,计算机将连接正确地视为传输介质。传输介质可以包括网络和/或数据链路,网络和/或数据链路可用于携载计算机可执行指令或数据结构形式的期望程序代码手段,并且可由通用或专用计算机访问。上述的组合也应被包括在计算机可读介质的范围内。
计算机可执行指令包括例如在处理器中执行时使通用计算机、专用计算机或专用处理装置执行某个功能或功能组的指令和数据。计算机可执行指令可以是例如二进制文件、中间格式指令(诸如汇编语言)或者甚至源代码。尽管已经用特定于结构特征和/或方法动作的语言描述了本主题,但是应理解,在所附权利要求中定义的主题不必限于已描述的上述特征或动作。相反,所述特征和动作被公开作为实施权利要求的示例性形式。
计算装置诸如本文讨论的那些通常各自包括命令,所述命令可由诸如上文所述的那些的一个或多个计算装置执行并且用于执行上文描述的过程的框或步骤。例如,上文讨论的过程框可以被体现为计算机可执行命令。
计算机可执行命令可以由使用各种编程语言和/或技术创建的计算机程序来编译或解译,该编程语言和/或技术包括但不限于以下的单一形式或组合形式:JavaTM、C、C++、Visual Basic、Java Script、Perl、HTML等。一般,处理器(例如,微处理器)接收例如来自存储器、计算机可读介质等的命令,并且执行这些命令,从而执行一个或多个过程,包括本文所述的过程中的一个或多个。可以将此类命令和其他数据存储在文件中并使用多种计算机可读介质来传输此类命令和其他数据。计算装置中的文件一般是存储在计算机可读介质(诸如存储介质、随机存储存储器等)上的数据的集合。
本领域的技术人员将了解,本公开可以在具有许多类型的计算机系统配置的网络计算环境中实践,计算机系统配置包括内置式车辆计算机、个人计算机、台式计算机、膝上型计算机、消息处理器、手持式装置、多处理器系统、基于微处理器的或可编程的消费电子装置、网络PC、小型计算机、大型计算机、移动电话、PDA、平板电脑、寻呼机、路由器、交换机、各种存储装置等。本公开还可以在分布式系统环境中实践,其中通过网络(通过硬连线数据链路、无线数据链路或通过硬连线和无线数据链路的组合)链接的本地和远程计算机系统两者都执行任务。在分布式系统环境中,程序模块可以位于本地和远程存储器存储装置两者中。
此外,在适当的情况下,可以在以下中的一个或多个中执行本文描述的功能:硬件、软件、固件、数字部件或模拟部件。例如,可以对一个或多个专用集成电路(ASIC)编程以执行本文描述的系统和程序中的一个或多个。某些术语贯穿本说明书和权利要求书用于指代特定系统部件。如本领域技术人员将理解的,可以通过不同的名称来引用部件。本文件不意图区分名称不同但功能相同的部件。
应当注意,上面讨论的传感器实施例可以包括计算机硬件、软件、固件或它们的任何组合以执行它们的功能的至少一部分。例如,传感器可以包括被配置为在一个或多个处理器中执行的计算机代码,并且可以包括由计算机代码控制的硬件逻辑/电路。这些示例性装置在本文中提供用于说明的目的,并非旨在进行限制。本公开的实施例可在其他类型的装置中实现,如一个或多个相关领域的技术人员所知晓的。本公开的至少一些实施例涉及包括(例如,以软件的形式)存储在任何计算机可用介质上的这种逻辑的计算机程序产品。这种软件当在一个或多个数据处理装置中执行时致使装置如本文所述地进行操作。
用于进行本发明的操作的计算机程序代码可用一种或多种编程语言的任何组合来编写,所述编程语言包括面向对象的编程语言诸如Java、Smalltalk、C++等,以及常规程序性编程语言诸如“C”编程语言或类似的编程语言。程序代码可以作为独立的软件包完全在计算机系统上实行,在独立的硬件单元上实行,部分地在与计算机隔开一定距离的远程计算机上实行,或者完全在远程计算机或服务器上实行。在后一种情形中,远程计算机可通过包括局域网(LAN)或广域网(WAN)的任何类型的网络连接到计算机,或者可(例如,使用互联网服务提供商通过互联网)与外部计算机形成连接。
上文参考根据本发明的实施例的方法、设备(系统)和计算机程序产品的流程图图解和/或框图来描述本发明。应当理解,流程图图解和/或框图中的每一个框以及流程图图解和/或框图中的框的组合可通过计算机程序指令或代码来实现。这些计算机程序指令可提供给通用计算机、专用计算机或其他可编程数据处理设备的处理器以便产生一种机器,使得经由计算机或其他可编程数据处理设备的处理器执行的指令构建用于实施流程图和/或框图的一个或多个方框中所指定的功能/动作的手段。
这些计算机程序指令还可存储在可引导计算机或其他可编程数据处理设备以特定方式起作用的非暂时性计算机可读介质中,使得存储在计算机可读介质中的指令产生一种制品,所述制品包括实现流程图和/或框图的一个或多个方框中所指定的功能/动作的指令手段。
计算机程序指令也可以被加载到计算机或其他可编程数据处理设备上,以致使在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的过程,以使得在计算机或其他可编程设备上实行的指令提供过程以便实现流程图和/或框图的一个或多个框中所指定的功能/动作。
虽然上文已经描述了本公开的各种实施例,但是应当理解,它们仅以实例的方式呈现并且不进行限制。对于相关领域的技术人员明显的是,在不脱离本公开的精神和范围的情况下,可在其中进行形式和细节方面的各种改变。因此,本公开的广度和范围不应受任何上述示例性实施例的限制,而应当仅根据以下权利要求及其等同物来限定。已经出于说明和描述的目的呈现了前面的描述。其并非旨在穷举或将本公开限制于所公开的精确形式。鉴于上述教导,许多修改和变化都是可能的。此外,应当注意,任何或所有的上述替代性实现方式可能以期望的任何组合使用以形成本公开的另外的混合实现方式。
根据本发明,一种方法包括由计算机系统:接收训练数据条目,每个条目包括用车辆姿态和危险类型注释的视频片段;根据训练数据条目训练第一深度神经网络(DNN)以输出车辆姿态估计;以及根据训练数据条目和车辆姿态估计训练第二DNN以分类危险。
根据实施例,本发明的特征还在于根据训练数据条目和车辆姿态估计训练第二DNN以识别危险的位置。
根据实施例,本发明的特征还在于根据训练数据条目、车辆姿态估计以及车辆姿态估计的导数训练第二DNN以识别危险的位置。
根据实施例,车辆姿态估计每个包括x、y、z、俯仰、横摆和侧倾估计。
根据实施例,第二DNN是递归神经网络。
根据实施例,根据训练数据条目和车辆姿态估计训练第二DNN以分类危险包括:训练第二DNN以将危险分类为坑洼、冰、泥、砾石、隆起物、不平的路面、污物和杂散物体中的至少一者。
根据实施例,本发明的特征还在于对车辆控制器进行编程以使用第一DNN和第二DNN来检测危险。
根据本发明,提供了一种系统,该系统具有一个或多个处理装置以及可操作地耦合到所述一个或多个处理装置的一个或多个存储器装置,所述一个或多个存储器装置存储可执行代码,该可执行代码有效地致使所述一个或多个处理装置:接收训练数据条目,每个条目包括用车辆姿态和危险类型注释的视频片段;根据训练数据条目训练第一深度神经网络(DNN)以输出车辆姿态估计;并且根据训练数据条目和车辆姿态估计训练第二DNN以分类危险。
根据实施例,可执行代码还有效地致使所述一个或多个处理装置根据训练数据条目和车辆姿态估计训练第二DNN以识别危险的位置。
根据实施例,可执行代码还有效地致使所述一个或多个处理装置根据训练数据条目、车辆姿态估计以及车辆姿态估计的导数训练第二DNN以识别危险的位置。
根据实施例,车辆姿态估计每个包括x、y、z、俯仰、横摆和侧倾估计。
根据实施例,第二DNN是递归神经网络。
根据实施例,可执行代码还有效地致使所述一个或多个处理装置通过训练第二DNN以将危险分类为坑洼、冰、泥、砾石、隆起物、不平的路面、污物和杂散物体中的至少一者,从而根据训练数据条目和车辆姿态估计训练第二DNN以分类危险。
根据实施例,可执行代码还有效地致使所述一个或多个处理装置对车辆控制器进行编程以使用第一DNN和第二DNN来检测危险。
根据本发明,提供了一种车辆,该车辆具有:相机;耦合至相机的车辆控制器,该车辆被编程为:从相机接收视频数据;将视频数据输入到第一深度神经网络(DNN),该第一深度神经网络被训练以输出车辆姿态估计;将车辆姿态估计输入到第二DNN中,该第二DNN被根据训练数据条目和车辆姿态估计训练以分类危险;并且在第二DNN的输出指示危险时执行躲避动作。
根据实施例,控制器被编程为将车辆姿态估计的导数输入到第二DNN。
根据实施例,车辆姿态估计每个包括x、y、z、俯仰、横摆和侧倾估计。
根据实施例,第二DNN是递归神经网络。
根据实施例,躲避动作是自主躲避危险的位置。
根据实施例,躲避动作是驾驶员辅助输出。
Claims (15)
1.一种方法,其包括由计算机系统:
接收训练数据条目,每个条目包括用车辆姿态和危险类型注释的视频片段;
根据所述训练数据条目训练第一深度神经网络(DNN)以输出车辆姿态估计;以及
根据所述训练数据条目和所述车辆姿态估计训练第二DNN以分类危险,其中所述第二DNN是递归神经网络。
2.如权利要求1所述的方法,其还包括根据所述训练数据条目和所述车辆姿态估计训练所述第二DNN以识别所述危险的位置。
3.如权利要求1所述的方法,其还包括根据所述训练数据条目、所述车辆姿态估计以及所述车辆姿态估计的导数训练所述第二DNN以识别所述危险的位置。
4.如权利要求1所述的方法,其中所述车辆姿态估计每个包括x、y、z、俯仰、横摆和侧倾估计。
5.如权利要求1所述的方法,其中根据所述训练数据条目和所述车辆姿态估计训练所述第二DNN以分类所述危险包括:训练所述第二DNN以将所述危险分类为坑洼、冰、泥、砾石、隆起物、不平的路面、污物和杂散物体中的至少一者。
6.如权利要求1所述的方法,其还包括对车辆控制器进行编程以使用所述第一DNN和所述第二DNN来检测危险。
7.一种系统,其包括一个或多个处理装置和能操作地耦合到所述一个或多个处理装置的一个或多个存储器装置,所述一个或多个存储器装置存储可执行代码,所述可执行代码有效地致使所述一个或多个处理装置:
接收训练数据条目,每个条目包括用车辆姿态和危险类型注释的视频片段;
根据所述训练数据条目训练第一深度神经网络(DNN)以输出车辆姿态估计;以及
根据所述训练数据条目和所述车辆姿态估计训练第二DNN以分类危险。
8.如权利要求7所述的系统,其中所述可执行代码还有效地致使所述一个或多个处理装置根据所述训练数据条目和所述车辆姿态估计训练所述第二DNN以识别所述危险的位置。
9.如权利要求7所述的系统,其中所述可执行代码还有效地致使所述一个或多个处理装置根据所述训练数据条目、所述车辆姿态估计以及所述车辆姿态估计的导数训练所述第二DNN以识别所述危险的位置。
10.如权利要求7所述的系统,其中所述车辆姿态估计每个包括x、y、z、俯仰、横摆和侧倾估计。
11.如权利要求7所述的系统,其中所述第二DNN是递归神经网络。
12.如权利要求7所述的系统,其中所述可执行代码还有效地致使所述一个或多个处理装置通过训练所述第二DNN以将所述危险分类为坑洼、冰、泥、砾石、隆起物、不平的路面、污物和杂散物体中的至少一者,从而根据所述训练数据条目和所述车辆姿态估计训练所述第二DNN以分类所述危险。
13.如权利要求7所述的系统,其中所述可执行代码还有效地致使所述一个或多个处理装置对车辆控制器进行编程以使用所述第一DNN和所述第二DNN来检测危险。
14.一种车辆,其包括:
相机;
耦合至所述相机的车辆控制器,所述车辆被编程为:
从所述相机接收视频数据;
将所述视频数据输入到第一深度神经网络(DNN),所述第一深度神经网络被训练以输出车辆姿态估计,其中所述车辆姿态估计每个包括x、y、z、俯仰、横摆和侧倾估计;
将所述车辆姿态估计输入到第二DNN中,所述第二DNN被根据所述训练数据条目和所述车辆姿态估计训练以分类危险,其中所述第二DNN是递归神经网络;以及
在所述第二DNN的输出指示危险时执行躲避动作,其中所述躲避动作是自主躲避所述危险的位置。
15.如权利要求14所述的车辆,其中所述控制器被编程为将所述车辆姿态估计的导数输入到所述第二DNN。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/198,334 | 2018-11-21 | ||
US16/198,334 US10853670B2 (en) | 2018-11-21 | 2018-11-21 | Road surface characterization using pose observations of adjacent vehicles |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111209790A true CN111209790A (zh) | 2020-05-29 |
Family
ID=70545919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911135089.1A Pending CN111209790A (zh) | 2018-11-21 | 2019-11-19 | 使用相邻车辆的姿态观察进行路面表征 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10853670B2 (zh) |
CN (1) | CN111209790A (zh) |
DE (1) | DE102019131384A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464820A (zh) * | 2020-11-30 | 2021-03-09 | 江苏金鑫信息技术有限公司 | 一种无人车辆智能识别方法 |
US20220036579A1 (en) * | 2020-07-29 | 2022-02-03 | Uatc, Llc | Systems and Methods for Simulating Dynamic Objects Based on Real World Data |
Families Citing this family (45)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018176000A1 (en) | 2017-03-23 | 2018-09-27 | DeepScale, Inc. | Data synthesis for autonomous control systems |
US11157441B2 (en) | 2017-07-24 | 2021-10-26 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US10671349B2 (en) | 2017-07-24 | 2020-06-02 | Tesla, Inc. | Accelerated mathematical engine |
US11893393B2 (en) | 2017-07-24 | 2024-02-06 | Tesla, Inc. | Computational array microprocessor system with hardware arbiter managing memory requests |
CN110663048B (zh) * | 2017-09-05 | 2023-10-24 | 松下电器(美国)知识产权公司 | 用于深度神经网络的执行方法、执行装置、学习方法、学习装置以及记录介质 |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11215999B2 (en) | 2018-06-20 | 2022-01-04 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11361457B2 (en) | 2018-07-20 | 2022-06-14 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
CN113039556B (zh) | 2018-10-11 | 2022-10-21 | 特斯拉公司 | 用于使用增广数据训练机器模型的系统和方法 |
US11196678B2 (en) | 2018-10-25 | 2021-12-07 | Tesla, Inc. | QOS manager for system on a chip communications |
US11816585B2 (en) | 2018-12-03 | 2023-11-14 | Tesla, Inc. | Machine learning models operating at different frequencies for autonomous vehicles |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US10922574B1 (en) * | 2018-12-10 | 2021-02-16 | Zoox, Inc. | Bounding box embedding for object identifying |
JP7148384B2 (ja) * | 2018-12-21 | 2022-10-05 | ルネサスエレクトロニクス株式会社 | 半導体装置、画像処理方法およびプログラム |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US10997461B2 (en) | 2019-02-01 | 2021-05-04 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US10956755B2 (en) | 2019-02-19 | 2021-03-23 | Tesla, Inc. | Estimating object properties using visual image data |
DE102019106625A1 (de) * | 2019-03-15 | 2020-09-17 | HELLA GmbH & Co. KGaA | Verfahren und Vorrichtung zum Ermitteln einer Gefahrenquelle auf einer Fahrbahn |
US11003928B2 (en) * | 2019-08-08 | 2021-05-11 | Argo AI, LLC | Using captured video data to identify active turn signals on a vehicle |
US11100329B1 (en) * | 2019-08-14 | 2021-08-24 | Lytx, Inc. | Ranging system data utilization for marking of video data of interest |
US11409304B1 (en) * | 2019-09-27 | 2022-08-09 | Zoox, Inc. | Supplementing top-down predictions with image features |
US11423660B2 (en) * | 2019-10-18 | 2022-08-23 | Here Global B.V. | Methods and systems for determining emergency data for a vehicle |
KR20210060779A (ko) * | 2019-11-19 | 2021-05-27 | 현대자동차주식회사 | 차량센서의 이상 진단 장치 및 그 방법 |
US11789155B2 (en) * | 2019-12-23 | 2023-10-17 | Zoox, Inc. | Pedestrian object detection training |
US11669995B2 (en) * | 2019-12-26 | 2023-06-06 | Google Llc | Orientation determination for mobile computing devices |
US11461953B2 (en) * | 2019-12-27 | 2022-10-04 | Wipro Limited | Method and device for rendering object detection graphics on image frames |
US11455763B2 (en) | 2020-01-21 | 2022-09-27 | Gm Cruise Holdings Llc | Bounding box generation for object detection |
US11906967B1 (en) * | 2020-03-31 | 2024-02-20 | Zoox, Inc. | Determining yaw with learned motion model |
CN112015174B (zh) * | 2020-07-10 | 2022-06-28 | 歌尔股份有限公司 | 一种多agv运动规划方法、装置和系统 |
CN111950395B (zh) * | 2020-07-24 | 2023-11-24 | 中南大学 | 一种车辆识别方法、装置及计算机存储介质 |
CN112712703A (zh) * | 2020-12-09 | 2021-04-27 | 上海眼控科技股份有限公司 | 车辆视频的处理方法、装置、计算机设备和存储介质 |
US11636685B1 (en) | 2020-12-18 | 2023-04-25 | Zoox, Inc. | Multi-resolution top-down segmentation |
US11270437B1 (en) * | 2020-12-18 | 2022-03-08 | Zoox, Inc. | Top-down segmentation pixel orientation and distance |
JP7396308B2 (ja) * | 2021-01-28 | 2023-12-12 | トヨタ自動車株式会社 | 走行軌跡推定システム、走行軌跡推定プログラム、及び走行軌跡推定方法 |
ES2886582A1 (es) * | 2021-06-03 | 2021-12-20 | Ostirion S L U | Procedimiento y equipo de deteccion de posicion y velocidad de un vehiculo ferroviario |
US11975738B2 (en) * | 2021-06-03 | 2024-05-07 | Ford Global Technologies, Llc | Image annotation for deep neural networks |
GB202110950D0 (en) * | 2021-07-29 | 2021-09-15 | Five Ai Ltd | Perception of 3d objects in sensor data |
US11869250B2 (en) * | 2021-08-24 | 2024-01-09 | GM Global Technology Operations LLC | Systems and methods for detecting traffic objects |
CN114115282B (zh) * | 2021-11-30 | 2024-01-19 | 中国矿业大学 | 一种矿山辅助运输机器人无人驾驶装置及其使用方法 |
EP4254361A1 (en) * | 2022-03-28 | 2023-10-04 | TVS Motor Company Limited | A system in a vehicle for detecting road anomalies and a method thereof |
US20230339394A1 (en) * | 2022-04-22 | 2023-10-26 | Velo.Ai, Inc | Artificially intelligent mobility safety system |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4093076B2 (ja) * | 2003-02-19 | 2008-05-28 | 富士重工業株式会社 | 車両運動モデルの生成装置および車両運動モデルの生成方法 |
US8751154B2 (en) | 2008-04-24 | 2014-06-10 | GM Global Technology Operations LLC | Enhanced clear path detection in the presence of traffic infrastructure indicator |
US8457827B1 (en) | 2012-03-15 | 2013-06-04 | Google Inc. | Modifying behavior of autonomous vehicle based on predicted behavior of other vehicles |
US8880272B1 (en) | 2012-03-16 | 2014-11-04 | Google Inc. | Approach for estimating the geometry of roads and lanes by using vehicle trajectories |
DE102013208521B4 (de) | 2013-05-08 | 2022-10-13 | Bayerische Motoren Werke Aktiengesellschaft | Kollektives Erlernen eines hochgenauen Straßenmodells |
WO2016183074A1 (en) | 2015-05-10 | 2016-11-17 | Mobileye Vision Technologies Ltd. | Road profile along a predicted path |
US10055675B2 (en) * | 2016-06-15 | 2018-08-21 | Ford Global Technologies, Llc | Training algorithm for collision avoidance using auditory data |
JP7329298B2 (ja) * | 2016-10-11 | 2023-08-18 | モービルアイ ビジョン テクノロジーズ リミテッド | 検出された障壁に基づく車両のナビゲーション |
US10134279B1 (en) * | 2017-05-05 | 2018-11-20 | Toyota Motor Engineering & Manufacturing North America, Inc. | Systems and methods for visualizing potential risks |
-
2018
- 2018-11-21 US US16/198,334 patent/US10853670B2/en active Active
-
2019
- 2019-11-19 CN CN201911135089.1A patent/CN111209790A/zh active Pending
- 2019-11-20 DE DE102019131384.8A patent/DE102019131384A1/de active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220036579A1 (en) * | 2020-07-29 | 2022-02-03 | Uatc, Llc | Systems and Methods for Simulating Dynamic Objects Based on Real World Data |
CN112464820A (zh) * | 2020-11-30 | 2021-03-09 | 江苏金鑫信息技术有限公司 | 一种无人车辆智能识别方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200160070A1 (en) | 2020-05-21 |
US10853670B2 (en) | 2020-12-01 |
DE102019131384A1 (de) | 2020-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10853670B2 (en) | Road surface characterization using pose observations of adjacent vehicles | |
US10345822B1 (en) | Cognitive mapping for vehicles | |
US11312372B2 (en) | Vehicle path prediction | |
CN107798699B (zh) | 用立体图像进行深度图估计 | |
US11783707B2 (en) | Vehicle path planning | |
CN111442776B (zh) | 顺序地面场景图像投影合成与复杂场景重构的方法及设备 | |
US20200020117A1 (en) | Pose estimation | |
US10528055B2 (en) | Road sign recognition | |
US11460851B2 (en) | Eccentricity image fusion | |
US10955857B2 (en) | Stationary camera localization | |
US11662741B2 (en) | Vehicle visual odometry | |
US11138452B2 (en) | Vehicle neural network training | |
US11055859B2 (en) | Eccentricity maps | |
US11521494B2 (en) | Vehicle eccentricity mapping | |
US11189049B1 (en) | Vehicle neural network perception and localization | |
US11299169B2 (en) | Vehicle neural network training | |
US11030774B2 (en) | Vehicle object tracking | |
CN111791814A (zh) | 车辆胶囊网络 | |
US20210004983A1 (en) | Vehicle pose determination | |
CN116070341A (zh) | 传感器优化 | |
CN112753212A (zh) | 图像扫描线时间戳 | |
US11610412B2 (en) | Vehicle neural network training | |
US20230186587A1 (en) | Three-dimensional object detection | |
CN116403181A (zh) | 对象检测 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |