CN116142233A - 载具灯分类系统 - Google Patents
载具灯分类系统 Download PDFInfo
- Publication number
- CN116142233A CN116142233A CN202211453205.6A CN202211453205A CN116142233A CN 116142233 A CN116142233 A CN 116142233A CN 202211453205 A CN202211453205 A CN 202211453205A CN 116142233 A CN116142233 A CN 116142233A
- Authority
- CN
- China
- Prior art keywords
- data
- vehicle
- image data
- carrier
- classification
- 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
- 238000012545 processing Methods 0.000 claims abstract description 107
- 238000000034 method Methods 0.000 claims abstract description 100
- 238000010801 machine learning Methods 0.000 claims abstract description 85
- 230000008569 process Effects 0.000 claims abstract description 36
- 238000012549 training Methods 0.000 claims description 130
- 239000013598 vector Substances 0.000 claims description 81
- 230000015654 memory Effects 0.000 claims description 20
- 210000002569 neuron Anatomy 0.000 claims description 9
- 230000009471 action Effects 0.000 claims description 8
- 238000001514 detection method Methods 0.000 description 32
- 238000013528 artificial neural network Methods 0.000 description 29
- 230000004927 fusion Effects 0.000 description 26
- 230000008447 perception Effects 0.000 description 24
- 230000002441 reversible effect Effects 0.000 description 22
- 238000012360 testing method Methods 0.000 description 22
- 230000000875 corresponding effect Effects 0.000 description 19
- 239000000969 carrier Substances 0.000 description 18
- 230000033001 locomotion Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000013527 convolutional neural network Methods 0.000 description 13
- 238000010200 validation analysis Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 11
- 230000006399 behavior Effects 0.000 description 10
- 230000007613 environmental effect Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 230000002123 temporal effect Effects 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 230000008859 change Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 241000036569 Carp sprivivirus Species 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000001427 coherent effect Effects 0.000 description 4
- 238000013136 deep learning model Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000011664 signaling Effects 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000011143 downstream manufacturing Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000004140 cleaning Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000009849 deactivation Effects 0.000 description 2
- 238000003708 edge detection Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 241000098700 Sarcocheilichthys parvus Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004397 blinking Effects 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 125000001475 halogen functional group Chemical group 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000011068 loading method Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- 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
- B60W60/00—Drive control systems specially adapted for autonomous road vehicles
- B60W60/001—Planning or execution of driving tasks
- B60W60/0015—Planning or execution of driving tasks specially adapted for safety
-
- 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
- G06V20/584—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
-
- 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
-
- 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/0027—Planning or execution of driving tasks using trajectory prediction for other traffic participants
- B60W60/00274—Planning or execution of driving tasks using trajectory prediction for other traffic participants considering possible movement changes
-
- 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/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- 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/09—Supervised learning
-
- 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/22—Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
-
- 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
-
- 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/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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- 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
-
- 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
-
- 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
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0001—Details of the control system
- B60W2050/0019—Control system elements or transfer functions
- B60W2050/0028—Mathematical models, e.g. for simulation
-
- 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
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/403—Image sensing, e.g. optical camera
-
- 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
- B60W2420/00—Indexing codes relating to the type of sensors based on the principle of their operation
- B60W2420/40—Photo, light or radio wave sensitive means, e.g. infrared sensors
- B60W2420/408—Radar; Laser, e.g. lidar
-
- 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
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown 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
- B60W2554/00—Input parameters relating to objects
- B60W2554/40—Dynamic objects, e.g. animals, windblown objects
- B60W2554/404—Characteristics
- B60W2554/4045—Intention, e.g. lane change or imminent movement
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S17/00—Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
- G01S17/88—Lidar systems specially adapted for specific applications
- G01S17/89—Lidar systems specially adapted for specific applications for mapping or imaging
-
- 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
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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/0475—Generative networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Automation & Control Theory (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biodiversity & Conservation Biology (AREA)
- Traffic Control Systems (AREA)
Abstract
所描述的方面和实施方式使得能够在自主载具(AV)应用中进行载具灯分类。在一个实施方式中,公开了一种方法和执行该方法的系统,该方法包括由处理设备获得表征自主载具(AV)的驾驶环境的第一图像数据。处理设备可以基于图像数据识别驾驶环境内的载具。处理设备可以使用一个或多个经训练的机器学习模型(MLM)处理图像数据,以确定载具的一个或多个灯的状态,并基于确定的灯的状态引起对AV的驾驶路径的更新。
Description
技术领域
本说明书总体上涉及自主载具。更特别地,本说明书涉及通过对自主载具的驾驶环境中的载具的灯进行分类来改进自主驾驶系统和组件。
背景技术
自主(完全或部分自驾驶)载具(AV)通常通过用各种电磁(例如,雷达和光学)和非电磁(例如,音频和湿度)传感器感测外部环境来进行操作。一些自主载具基于感测的数据制定通过环境的驾驶路径。可以基于全球定位系统(GPS)数据和道路地图数据确定驾驶路径。在GPS和道路地图数据可以提供关于环境的静态方面(建筑物、街道布局、道路封闭等)的信息的同时,从同时收集的感测数据获得动态信息(诸如关于其他载具、行人、路灯等的信息)。自主载具选择的驾驶路径和速率状态的精确性和安全性取决于对驾驶环境中存在的各种对象的及时且准确的识别以及驾驶算法处理关于环境的信息并向载具控件和传动系统提供正确指令的能力。
发明内容
在一种实施方式中,公开了一种方法,该方法包括由处理设备获得表征自主载具(AV)的驾驶环境的图像数据;基于图像数据识别布置在驾驶环境内的载具;使用第一机器学习模型(MLM)处理图像数据;和使用经处理的图像数据确定载具的一个或多个灯的状态。
在另一实施方式中,公开了一种系统,该系统包括自主载具(AV)的感测系统,该感测系统具有:第一相机,用于捕获表征自主载具(AV)的驾驶环境的第一图像数据;存储器;和处理设备,与存储器联接,用于从第一相机取得第一图像数据;基于第一图像数据识别布置在驾驶环境内的载具;使用第一机器学习模型(MLM)处理第一图像数据;使用经处理的图像数据确定载具的一个或多个灯的状态;和基于载具的一个或多个灯的状态引起对AV的行进路径的更新。
在另一实施方式中,公开了生成用于机器学习模型的训练数据的方法,其中,生成训练数据包括:识别具有第一图像数据的第一训练输入,该第一图像数据描绘自主载具(AV)的驾驶环境中的第一载具;识别第一训练输入的第一目标输出,其中,第一目标输出指示与第一载具的一个或多个灯的第一识别状态对应的第一载具灯分类;和提供训练数据以在(i)包括第一训练输入的一组训练输入;和(ii)包括第一目标输出的一组目标输出上训练机器学习模型。
附图说明
本公开通过示例的方式而非限制的方式进行说明,并且当结合附图考虑时可以参考以下详细描述来更充分地理解,在附图中:
图1是示出根据本公开的一些实施方式的能够进行载具灯分类的示例自主载具(AV)100的组件的图。
图2是示出根据本公开的一些实施方式的能够进行载具灯分类的AV的感知系统的一部分的示例架构的图。
图3是示出本公开的实施方式可以在其中操作的载具灯分类系统的框图。
图4是示出本公开的实施方式可以在其中操作的载具灯分类系统的框图。
图5A是根据某些实施例的用于使用图像数据创建机器学习模型的数据集的示例数据集生成器。
图5B是示出根据某些实施例的用于训练机器学习模型以生成输出的系统的框图。
图6是示出根据某些实施例的用于标记用于载具灯分类的训练数据的系统的框图。
图7描绘根据本公开的一些实施方式的用于对AV的驾驶环境中的相邻载具的载具灯进行分类的一个示例方法的流程图。
图8描绘根据本公开的一些实施方式的能够在自主驾驶环境中进行载具灯分类的示例计算机设备800的框图。
具体实施方式
自主载具(AV)在导航通过驾驶环境时做出许多决策并执行许多动作。AV通常依赖于对驾驶环境的准确感知来做出影响操作决策的确定。例如,AV可以预测其他代理(例如,相邻载具、行人、移动和/或静止对象等)的动作,并做出改变AV驾驶路径的决策,诸如以避免与其他代理发生碰撞。感知和理解(例如,其他载具的)载具灯有助于AV做出操作决策,以安全地导航通过驾驶环境。例如,载具灯可以为AV提供另一载具的行为或意图的强指示(例如,转向信号灯指示切入、倒行灯指示驻停行为或意图、危险灯指示双排驻停行为或意图等),并且可以帮助AV遵守法律(例如,向具有紧急灯的紧急响应载具让行、停止并向具有活动闪光灯的校车让行等)。对相邻载具的载具灯进行分类可以帮助AV就周围的驾驶环境做出明智的决策。术语“驾驶环境”应当被理解为包括可以发生自推进载具运动的所有环境。例如,“驾驶环境”可以包括飞机的任何可能的飞行环境或水上水下载具的海上环境。
载具灯的分类可能存在许多挑战。现有的光检测和分类的方法包括针对不同种类的灯(例如尾灯、转向灯)开发的各种不同的启发式方法。然而,不同的载具灯被用于多种场景(例如,转向灯用于发信号通知转向意图和用于指示失灵的载具),并且通常具有不同的类型、尺寸和外观。针对所有这样不同类型的灯收集足够开发详尽的启发式方法的量的数据可能是困难的,尤其是考虑到某些灯只是在驾驶时段期间偶尔遇到的事实(例如,紧急响应载具、事故、校车场景等)。在实况驾驶环境中,由于诸如照明(例如,来自其他对象的反射)、遮挡(例如,被其他对象)、不利的图像捕获角度(例如,相机的视场挑战)等环境因素,许多灯可能难以检测。此外,对图像数据的相机图块(patch)或选择可能不很好地表示真实载具的灯信号(例如,自动相机的时间混叠、下采样的空间混叠、图像数据内的辉光/光晕等)。不同的载具类型和型号可能具有不同的灯配置,这使得在确定确切的灯位置、灯质量和/或不同的灯行为(例如,以独特的节奏闪光、具有不同的灯色调等)时非常不一致。此外,不同的载具灯可能有不同的技术和/或法律要求。
本公开的各方面和实施方式通过实现可靠且快速地确定对自主载具(AV)的驾驶环境中的相邻载具的载具灯分类的方法和系统来解决AV的感测系统的这些和其他缺点。例如,该方法和系统可以捕获与驾驶环境的状态关联的图像数据并且确定相邻载具位于AV的驾驶环境内。可以在图像数据中捕获一个或多个载具的配置和状态,并在一系列图像帧上跟踪该配置和状态,以确定载具灯分类。例如,一个或多个载具灯分类可以包括进行与相邻载具的左转向灯、右转向灯、危险灯、闪光灯、倒行灯、头灯、尾灯和/或制动灯的载具的激活和/或停用关联的确定。
一个或多个载具分类确定可以分解成子类别。例如,在闪光灯中,可以有几个子类别,例如校车闪光灯、施工载具闪光灯和/或紧急载具闪光灯。在一些实施例中,可以选择性地利用子类别的标记(例如,以减少标记工作,一些子类别可以在视觉上相似,选择分类精度水平)。在另一示例中,尾灯可以包括制动灯和/或行驶尾灯。
AV的感知系统可以获得指示AV的驾驶环境的状态的图像数据。感知系统可以识别存在于AV的驾驶环境(例如,到AV的预定接近度内的区域)中的相邻载具。识别的相邻载具中的一些可能在与AV相同的方向上行驶,而其他载具可能在不同(例如,相反)的方向上行驶。感知系统可以处理图像数据(例如,使用机器学习模型(MLM))以获得表示驾驶环境的状态的一个或多个特征向量。感知系统可以(例如,使用MLM)处理一个或多个特征向量以获得载具灯分类。载具灯分类可以与相邻载具中的一个的一个或多个灯的识别的配置和状态对应。对于驾驶环境中的每个识别的相邻载具,可以多次(例如,并行地)执行该过程。该过程可以包括一个或多个MLM模型。MLM模型可以包括深度学习模型,诸如卷积神经网络(CNN)(例如,卷积神经元层的布置)、变换器和/或视觉变换器(ViT)中的一个或多个。
在一些实施例中,AV的感知系统逐帧编码一系列图像以获得一个或多个特征向量。特征向量可以在时间上相互关联。对特征向量的处理可以包括将一个或多个特征向量融合成特征向量单元或集合,并将特征向量单元或集合输入到MLM中。
感知系统可以能够从多个源(例如,具有不同图像捕获规范的不同相机)获得图像数据,并与从各种图像获取源接收的数据关联地执行载具灯分类。在一些实施例中,感知系统可以对图像数据利用数据预处理技术以标准化、过滤和/或以其他方式修改数据,为载具灯分类做准备。例如,感知系统可以采用光成像检测和测距(lidar)传感器来捕获与驾驶环境的状态关联的数据。lidar传感器可以包括基于激光的单元,该单元能够确定到驾驶环境中对象的距离和驾驶环境中对象的速度。例如,捕获的数据可以包括使用从驾驶环境内的各种对象(例如,其他载具)反射开的发射的激光信号(例如,脉冲或连续信号)而获得的多维图。感知系统可以使用lidar数据确定图像数据内相邻载具的边界(例如,载具掩模),并且可以进一步过滤(例如,裁剪)图像数据以关注图像数据的与相邻载具关联的部分。
本文描述的各种方法和系统可以提供关注的、过滤的和多样的(例如,多个驾驶环境、视场、相机角度、图像捕获规范,诸如分辨率和帧捕获速率)训练数据以训练MLM。经训练的MLM可以被实例化为AV的感知系统的一部分。在AV的驾驶任务期间,经训练的MLM可以接收新输入,该新输入包括指示AV的实际驾驶环境中的相邻载具的状态的运行时图像数据。经训练的MLM可以产生指示与相邻载具的一个或多个灯的识别的配置和状态对应的载具灯分类的输出。感知系统可以利用载具灯分类进行与AV对应的决策。
尽管为了简洁和简明起见,结合自主载具描述了各种系统和方法,但是类似的技术可以用于不上升到完全自主驾驶系统水平的各种驾驶员辅助系统。例如,在美国,汽车工程师学会(SAE)定义了不同级别的自动驾驶操作,以指示载具控制驾驶的程度,但是在美国或其他国家中的不同组织可以对级别进行不同的分类。公开的技术可用于例如提供转向、制动、加速、车道居中、适应性巡航控制等以及其他驾驶员支持的SAE 2级驾驶员辅助系统中。同样,公开的技术可用于能够在有限(例如,公路)条件下自主驾驶的SAE 3级驾驶辅助系统中。在这样的系统中,可以使用快速且准确的载具灯分类来通知驾驶员停止的载具或即将改变其运动进展的载具(例如,在SAE 2级系统中),其中,驾驶员进行最终的驾驶决策,或进行某些驾驶决策(例如,在SAE 3级系统中),诸如改变车道或制动,而不从驾驶员请求反馈。
图1是示出根据本公开的一些实施方式的能够进行载具灯分类的示例自主载具(AV)100的组件的图。自主载具可以包括机动车辆(汽车、卡车、公共汽车、摩托车、全地形车、休闲车、任何专用农业或施工车辆等)、飞行器(飞机(plane)、直升机、无人机等)、水上水下载具(舰艇、船只、游艇、潜艇等)或能够在自驾驶模式下(没有人工输入或具有减少的人工输入)操作的任何其他自推进载具(例如,机器人、工厂或仓库机器人载具、人行道递送机器人载具等)。
驾驶环境101可以是或包括外部环境的包含可以确定或影响AV的驾驶如何发生的对象的任何部分。更特别地,驾驶环境110可以包括位于AV外部的任何对象(移动的或静止的),诸如道路、建筑物、树木、灌木、人行道、桥梁、山脉、其他载具、行人、骑行者等。驾驶环境101可以是市区、郊区、乡村等。在一些实施方式中,驾驶环境101可以是越野环境(例如农业或其他农用用地)。在一些实施方式中,驾驶环境可以在结构内部,诸如工业厂房、运输仓库、建筑物的危险区域等的环境。在一些实施方式中,驾驶环境101可以主要包括平行于表面(例如,平行于地球表面)移动的对象。在其他实施方式中,驾驶环境可以包括能够部分或完全垂直于表面移动的对象(例如,气球、树叶等)。驾驶环境101的对象可以位于距AV的任何距离处,从几英尺(或更少)的近距离到几英里(或更多)。
示例AV 100可以包括感测系统110。感测系统110可以包括各种电磁(例如,光学)和非电磁(例如,声学)感测子系统和/或设备。感测系统110可以包括雷达114(或多个雷达114),其可以是利用无线电或微波频率信号来感测AV 100的驾驶环境101内的对象的任何系统。(一个或多个)雷达114可以被配置感测对象的空间位置(包括其空间尺寸)和对象的速度(例如,使用多普勒频移技术)。在下文中,“速度”是指对象多快地移动(对象的速率)以及对象运动的方向两者。感测系统110可以包括lidar 112,其可以是基于激光的单元,能够确定到驾驶环境101中对象的距离和驾驶环境101中对象的速度。lidar 112和雷达114中的每一个可以包括相干传感器,诸如调频连续波(FMCW)lidar或雷达传感器。例如,lidar 112和/或雷达114可以使用外差检测进行速度确定。在一些实施方式中,将ToF和相干雷达的功能组合成能够同时确定到反射对象的距离和反射对象的径向速度两者的雷达单元。这样的单元可以被配置为在非相干感测模式(ToF模式)和/或相干感测模式(例如,使用外差检测的模式)或同时在两种模式下操作。在一些实施方式中,多个雷达114和/或lidar 112可以安装在AV 100上。
lidar 112和/或雷达114可以包括产生和发射信号的一个或多个光学/无线电/微波源以及对从对象反射回来的信号的一个或多个检测器。在一些实施方式中,lidar 112和/或雷达114可以在水平方向上执行360度扫描。在一些实施方式中,lidar 112和/或雷达114可以能够沿水平方向和竖直方向两者进行空间扫描。在一些实施方式中,视场在竖直方向上可以高达90度(例如,用雷达信号扫描水平面以上的区域的至少一部分)。在一些实施方式中,视场可以是全球体(由两个半球组成)。
感测系统110还可以包括一个或多个相机118以捕获驾驶环境101的图像。图像可以是驾驶环境101(或驾驶环境101的一些部分)在(一个或多个)相机的(平的或非平的)投影表面上的二维投影。感测系统110的相机118中的一些可以是摄像机,其被配置为捕获驾驶环境101的连续(或准连续)图像流。感测系统110的相机118中的一些可以是高分辨率相机(HRC)并且相机118中的一些可以是环视相机(SVC)。在一些实施方式中,感测系统110还可以包括一个或多个声纳116,其可以是超声声纳。
由感测系统110获得的感测数据可以由AV 100的数据处理系统120处理。例如,数据处理系统120可以包括感知系统130。感知系统130可以被配置为检测和跟踪驾驶环境101中的对象并识别检测的对象。例如,感知系统130可以分析由相机118捕获的图像并且可以能够检测交通灯信号、路标、道路布局(例如,交通车道的边界、交叉路口的拓扑结构、停驻位的指定标记等)、障碍物的存在等。感知系统130还可以接收雷达感测数据(多普勒数据和ToF数据)以确定到驾驶环境101中的各种对象的距离和这样的对象的速度(径向速度,以及在一些实施方式中,横向速度,如下所述)。在一些实施方式中,如下面更详细地描述的,感知系统130可以结合由(一个或多个)相机118捕获的数据使用雷达数据。
感知系统130可以包括用于促进载具灯分类的一个或多个模块,包括灯分类模块(LCM)132,其可以用于处理由感测系统110提供的数据,包括来自(一个或多个)相机118的图像、来自lidar 112和/或雷达114的lidar和雷达数据(例如,均是处理的返回点和低级语义数据)。LCM 132可以包括一个或多个经训练模型,其用于处理上述数据中的一些或全部以对相邻载具的载具灯进行分类(例如,载具灯的配置、状态和/或组合)。在一些实施方式中,LCM 132还可以提供表示输出预测的可靠性的估计的置信水平(例如,分数)。可以使用多个注释的相机图像、多组雷达数据和/或lidar数据来训练LCM 132的各种模型,以对与测量的(一个或多个)驾驶环境关联的相邻载具的载具灯配置和状态进行分类。
感知系统130还可以从定位子系统(图1中未示出)接收信息,该定位子系统可以包括GPS收发器(未示出),被配置为获得关于AV相对于地球及其周围环境的位置的信息。定位子系统可以结合感测数据使用定位数据(例如GPS和IMU数据)以帮助准确地确定AV相对于驾驶环境101的固定对象(例如,道路、车道边界、交叉路口、人行道、人行横道、路标、路缘、周围建筑物等)的位置,固定对象的位置可以通过地图信息124提供。在一些实施方式中,数据处理系统120可以接收非电磁数据,诸如音频数据(例如,超声传感器数据,或来自拾取紧急载具警报器的麦克风的数据)、温度传感器数据、湿度传感器数据、压力传感器数据、气象数据(例如,风速和风向、降水数据)等。
数据处理系统120还可以包括监视和预测组件126,其可以监视驾驶环境101如何随时间演变,例如,通过记录移动对象的位置和速度。在一些实施方式中,环境监视和预测组件126可以记录由于AV相对于驾驶环境的运动而导致的驾驶环境的改变的外观。在一些实施方式中,环境监视和预测组件126可以做出关于驾驶环境101的各种移动对象将如何在预测时间范围内定位的预测。预测可以基于移动对象的当前位置和速度以及在某个(例如,预定的)时间段期间移动对象的跟踪的动态。例如,基于对于对象1存储的指示对象1在先前3秒时间段期间的加速运动的数据,环境监视和预测组件126可以断定对象1正在从停止标志或红色交通灯信号恢复其运动。因此,环境监视和预测组件126可以在给定道路布局和其他载具的存在的情况下预测对象1在接下来的3或5秒的运动可能在哪里。
作为另一示例,基于对于对象2存储的指示对象2在先前2秒时间段期间的减速运动的数据,环境监视和预测组件126可以断定对象2正在停止标志或红色交通灯信号处停止。因此,环境监视和预测组件126可以预测对象2在接下来的1秒或3秒内可能在哪里。环境监视和预测组件126可以对其预测的准确性执行周期性检查,并基于从感测系统110获得的新数据修改预测。环境监视和预测组件126可以结合LCM 132进行操作。虽然没有在图1中明确描绘,但是在一些实施方式中,LCM 132可以集成到环境监视和预测组件126中。
由感知系统130、GPS数据处理模块122和环境监视和预测组件126生成的数据可以由自主驾驶系统(诸如AV控制系统(AVCS)140)使用。AVCS140可以包括控制AV在各种驾驶情况和环境中要如何进行行为的一个或多个算法。例如,AVCS 140可以包括用于确定到目的地点的全局驾驶路线的导航系统。AVCS 140还可以包括用于选择通过目前的驾驶环境的特定路径的驾驶路径选择系统,选择该特定路径可以包括选择交通车道、协商交通拥堵、选择进行U形转弯的地点、选择进行停驻操纵的轨迹等。AVCS 140还可以包括避障系统,用于安全避开AV的驾驶环境内的各种障碍物(岩石、熄火的载具、乱穿马路的行人等)。避障系统可以被配置为评估障碍物的尺寸、形状和轨迹(如果障碍物正在移动),并选择避开障碍物的最佳驾驶策略(例如,制动、转向、加速等)。LCM 132还可以输出指示道路上其他对象(例如,载具)的行为的数据。
在一些实施例中,LCM 132可以基于确定的载具灯分类来进行载具的将来状态的预测。例如,LCM 132可以将载具分类为使用倒行灯进行操作并且将载具的将来位置和/或运动预测为即将在载具驾驶取向的相反方向上行进。在另一示例中,LCM 132可以将载具分类为使左转向或右转向信号活动并且预测载具可能即将沿着感知的道路分别左转或右转。
AVCS 140的算法和模块可以生成用于载具的各种系统和组件(诸如动力传动、制动器和转向装置150、载具电子装置160、信令装置170以及图1中未明确示出的其他系统和组件)的指令。动力传动、制动器和转向装置150可以包括发动机(内燃机、电动发动机等)、变速器、差速器、轴、轮、转向机构和其他系统。载具电子装置160可以包括机载计算机、发动机管理、点火、通信系统、汽车计算机、远程信息处理设备、车内娱乐系统以及其他系统和组件。信令装置170可以包括高头灯和低头灯、停止灯、转向灯和倒退灯、喇叭和警报器、内部照明系统、仪表板通知系统、乘客通知系统、无线电和无线网络传输系统等。AVCS 140输出的指令中的一些可以直接被递送到动力传动、制动器和转向装置150(或信令装置170),而AVCS 140输出的其他指令首先被递送到载具电子装置160,该载具电子装置生成对动力传动、制动器和转向装置150和/或信令装置170的命令。
在一个示例中,相机118、lidar 112和/或雷达114可以感知前方路径(例如,当前驾驶车道)中的载具正在指示危险信号(例如,灯正在闪光)。AVCS140可以使AV 100基于检测的载具和确定的载具灯分类(例如,危险灯激活)来更改驾驶路径(例如,改变车道)。数据处理系统120可以基于对载具灯分类的确定(例如,危险灯、制动灯、转向灯等)来确定相邻载具的状态。使用由数据处理系统120做出的载具灯分类,AVCS 140可以向动力传动、制动器和转向装置150输出指令,以使AV路经临时行进路径(例如,绕道)并在确定关联车道的状态已返回到先前状态(例如,正常或活动车道状态)之后使AV返回到原始驾驶路径。附加地或替代地,在同一示例中,LCM 132可以确定对导航指令的更改以符合载具法规。例如,LCM132可以基于载具灯分类确定紧急载具正在接近并且AV应当导航到驾驶环境的侧面以允许该载具通过。在另一示例中,LCM 132可以确定载具是具有闪光灯的校车,并且AV应当在沿着当前驾驶路径前进之前等待闪光灯的停用。LCM 132可以提供用于预测AV的驾驶环境中的对象(例如,载具、行人等)的行为的数据。AVCS140可以响应于指示驾驶环境内的对象的将来状态的数据更改AV的驾驶行为。例如,LCM 132可以基于确定载具当前已经激活转向信号并且当前位于AV的当前车道的相邻车道中来确定该载具正试图转入(例如,并入)AV的当前车道。使用LCM 132的输出,AVCS 140可以通过使AV减速以更改AV的驾驶路径来允许载具并入AV的当前车道。
图2是示出根据本公开的一些实施方式的能够进行载具灯分类的AV的感知系统200的一部分的示例架构的图。示例架构可以包括AV 100的诸如LCM 132的方面和特征。进入感知系统(例如,图1的感知系统130)的输入可以包括由感测系统110(例如,lidar 112和/或雷达114、相机118等)获得的数据,诸如距离数据、径向速度数据、相机像素数据等。例如,感测系统110可以向相机图块模块202提供输入。
相机图块模块202可以从感测系统110接收图像数据。如将在后面的实施例中进一步讨论的,接收的图像数据的各种子集可以与在不同规范(例如5Hz或10Hz处操作)和/或不同检测方法(例如,基于相机的检测或基于lidar的检测)下操作的不同的图像获取设备(例如,基于相机的检测、基于lidar的检测)关联。相机图块模块202接收关联的传感器数据并执行一个或多个预处理过程以生成用于载具灯嵌入网络220的相机图块。例如,如本文所讨论的,基于相机的检测可以依赖于相机获得图像数据,而基于lidar的检测可以依赖于深度数据(例如,lidar数据或雷达数据)过滤(例如,裁剪)或以其他方式提炼原始图像数据以生成相机图块。
相机图块可以包括子图像和/或经处理的图像,生成该子图像和/或经处理的图像以滤除与下游过程无关的图像数据(例如,通过去除图像数据的不与相邻载具关联的部分来减少处理负荷)。例如,相机图块模块202可以通过识别布置在一个或多个图像帧内的相邻载具的位置并去除(例如,裁剪)不需要的图像数据(例如,图像的不与载具关联的部分)来修改从感测系统接收的原始图像数据。如将结合其他实施例进一步讨论的,不同的图像数据(例如,与不同的图像获取规范、图像捕获范围等关联的图像数据)可以与深度数据(例如,lidar 112和/或雷达114)结合使用以识别图像帧内的载具的边界(例如,雷达掩模和/或lidar掩模)并基于识别的载具边界过滤图像数据(例如,裁剪)。
如图2所示,感知系统包括LCM 132。LCM 132可以包括载具灯嵌入网络220和载具灯分类器网络230。载具灯嵌入网络220可以接收来自相机图块模块202的输入数据(例如,相机图块)并嵌入图像数据以生成嵌入图像数据。
在一些实施例中,载具灯嵌入网络220可以包括特征提取器以生成与图像数据关联的一个或多个特征向量。特征提取器可以将原始传感器数据(例如原始图像数据)在维度上减少为组或特征。例如,特征提取器可以生成包括一个或多个检测的载具、载具灯状态、灯的位置等的特征。在一些实施例中,特征提取器执行偏最小二乘分析、主成分分析、多因素降维、非线性降维和/或其任何组合中的任何一种。在一些实施例中,特征提取器被设计用于感测数据的边缘检测。例如,特征提取器包括旨在识别急剧变化和/或包括不连续性(例如,图像帧内载具灯的边界)的传感器数据和/或图像数据的方法。
在一些实施例中,特征提取器可以利用图神经网络(GNN)。GNN可以包括处理空间中稀疏对象之间的关系的一系列模型。在GNN内,来自相机图块模块202的数据可以包括编码为特征向量的对象(例如,载具灯和/或载具灯配置)。GNN可以使用基于注意力的交互来利用模型关系。在一些实施例中,特征提取器可以利用卷积神经网络(CNN)。例如,卷积神经网络(CNN)包含(host)多层卷积滤波器。执行池化,并且可以在较低层解决非线性,在较低层上通常附加多层感知器,从而将卷积层提取的顶层特征映射到决策(例如,确定的特征向量)。
如图2所示,载具灯分类模块132包括载具灯分类器网络230。载具灯分类器网络230从载具灯嵌入网络220接收图像数据(例如,以特征向量的形式)。载具灯分类器网络230基于接收的图像数据确定载具灯分类。载具灯分类器网络230可以对于驾驶环境内的每个单独的载具进行单独的载具灯分类。在一些实施例中,每个载具可以与多个载具灯分类关联。图像数据可以由载具灯分类器网络230使用一个或多个机器学习模型(MLM)进行处理。
载具灯分类与关联载具的一个或多个灯的可识别配置和状态对应。这里灯的配置可以指灯与宿主载具的几何关系,例如,灯在载具的前部或后部、靠近载具边缘、靠近载具顶部等的位置。灯的状态可以指灯的当前操作模式(例如,常亮灯、闪光灯等),以及灯的颜色,例如,红灯、橙灯、白灯等。载具灯分类可以包括任何数量的灯状态和配置组合的指示,诸如:闪光的红灯、危险灯、倒行灯、头灯、尾灯、制动灯、转向信号(例如,左转向信号或右转向信号)等。例如,载具灯分类可以指示第一载具当前正在以一个闪光灯操作和该载具正在以激活的左转向信号操作的确定。如将关于图6讨论的,可以基于每个配置的共同属性将各种灯状态和配置分组在一起(例如,闪光灯和危险灯可以被标记在同一数据组内)。
可以将由LCM 132(例如,载具灯分类器网络230)确定的载具灯分类提供给AVCS140。AVCS 140评估载具灯分类并确定是否修改AV的当前驾驶轨迹(例如,以基于载具灯分类来响应相邻载具的预测行为)。例如,LCM 132可以基于载具当前已激活转向信号并且当前位于AV的当前车道的相邻车道的确定来确定该载具正试图转入(例如,并入)AV的当前车道。使用LCM 132的输出,AVCS 140可以通过使AV减速以更改AV的驾驶路径来允许该载具并入AV的当前车道。
通过LCM 132部署的MLM(例如,载具灯嵌入网络220和/或载具灯分类器网络230之一或两者)可以包括决策树算法、支持向量机、深度神经网络、图神经网络(GNN)等。深度神经网络可以包括卷积神经网络、具有一个或多个隐藏层的循环神经网络(RNN)、全连接神经网络、长短期记忆神经网络、玻尔兹曼机等。
LCM 132可以使用在各种载具(例如,自主和/或驾驶员操作的)的先前驾驶任务期间已经获得并且用基准真相(ground truth)进行注释的相机图像、雷达数据、lidar数据和载具灯分类数据进行训练,基准真相可以包括载具灯的状态和配置的正确识别,例如,基于人工输入和/或基于lidar的识别。训练可以通过训练服务器240托管的训练引擎242执行,该训练服务器可以是部署一个或多个处理设备(例如,中央处理单元(CPU)、图形处理单元(GPU)等)的外部服务器。在一些在实施方式中,LCM 132的一个或多个模型可以由训练引擎242进行训练并随后下载到AV 100的感知系统130上。如图2所示,可以使用包括训练输入244和对应的目标输出246(相应训练输入的正确匹配)的训练数据来训练LCM 132。在对LCM132训练期间,训练引擎242可以在训练数据中找到将每个训练输入244映射到目标输出246的一个或多个模式。
训练引擎242可以访问存储对于各种环境中的多种驾驶情况的多个相机图像252、雷达数据254的实例、lidar数据255的实例和灯分类数据256的数据储存库250。在训练期间,训练引擎242可以(例如,随机地)选择一定数量的相机图像252、多组雷达数据254、多组lidar数据255和与所选数量的相机图像252、多组lidar数据255和多组雷达数据254对应的灯分类数据256作为训练数据。例如,训练数据可以包括相机图像252、lidar数据255、雷达数据254等,其描绘:左转向信号激活且即将开始超越操纵的载具、在驾驶车道中间熄火并打开紧急驻停灯的载具、停在停止标志处并打开制动灯的载具、运输超大负载并打开危险灯的载具、激活紧急灯的救护车(消防车等)、停止并激活红色闪光灯的校车等。在驾驶任务期间收集的许多其他描绘的数据可以类似地用作训练数据。训练数据可以用识别数据中描绘的灯的类型(例如,危险灯、倒行灯、头灯、尾灯、制动灯、左转向灯、右转向灯)、灯的状态(例如,稳定、闪光等)、灯的配置(例如,灯位于载具前部、载具后部、载具顶部等)的载具灯分类注释。在一些实施方式中,可以由开发人员在将注释的数据放入数据储存库250之前进行注释。在一些实施方式中,可以由计算设备进行注释,例如,使用被设计为基于灯的颜色、灯相对于载具/地面的定位、灯被激活之前(和/或之后)载具的行为等识别灯的特定类型的一种或多种启发式方法。在一些实施方式中,注释可以由部署了一个或多个不同类型的预训练MLM(例如,对象识别MLM)的设备进行。例如,进行注释的计算设备可以首先将训练数据中的对象识别为特定类型(例如,客车、卡车、公共汽车等)、品牌、型号等的载具,并且可以进一步访问识别的载具的特定类型/品牌/型号/等的存储的启发式方法数据库。启发式方法可以包括载具上各种灯的位置、灯的颜色、闪烁/闪光的频率等。基于灯的测量的位置和/或灯的颜色以及灯操作的频率,计算设备可以确定载具上激活了什么灯。在一些实施方式中,计算设备可以使用与获取训练数据的时间前后的时间间隔关联的载具的运动历史。例如,载具的运动历史可以包括载具停止、转向、开始运动等。可以针对一致性对照运动历史检查由计算设备做出的灯的类型、状态和配置的确定的正确性。例如,如果确定右转向灯之前在闪光并且运动历史确实包括在从闪光开始的某个(例如,3秒、5秒等)时间间隔内进行的右转,则可以将右转向灯的注释添加到训练数据。在一些情况下,计算设备可以提供开发人员辅助的注释。例如,如果计算设备确定载具在运动历史指示右转时激活紧急灯,则计算设备可以将训练数据向开发人员标记为不明确,然后开发人员可以进行最终确定/注释。
训练服务器240从数据储存库250检索的注释的训练数据可以包括一个或多个训练输入244和一个或多个目标输出246(例如,注释)。训练数据还可以包括将训练输入244映射到目标输出246的映射数据248。在一些实施方式中,映射数据248可以识别与(例如,根据相机图像、雷达数据和/或lidar数据确定的)相机图块关联的一个或多个载具灯分类。映射数据248可以包括训练数据的标识符、检测的载具的位置、载具的大小、载具的运动速率和方向、载具的类型(例如,汽车、卡车、公共汽车、紧急载具等)和其他合适的信息。在一些实施方式中,可以使用未被注释的映射数据来执行训练。更特别地,训练引擎242可以包括对象识别处理(例如,基于神经网络的对象识别),其可以使用在对象识别中被训练的机器学习模型。例如,训练相机图像可以输入到对象识别处理中,以确定1)相机图像中描绘的一个或多个相邻载具的状态,2)相邻载具的(一个或多个)载具灯分类,或3)(一个或多个)相邻载具的预测的将来行为。然后,用载具识别处理的输出注释的训练相机图像可以用作LCM132训练中的基准真相。
在对LCM 132训练期间,训练引擎242可以改变LCM 132的各种模型的参数(例如,权重和偏差),直到模型成功地学习如何分类载具灯(目标输出246)。在一些实施方式中,可以单独地训练LCM 132的不同模型(例如,载具灯嵌入网络220和载具灯分类器网络230)。在一些实施方式中,可以一起(例如,同时)训练LCM 132的各种模型。不同的模型可以具有不同的架构(例如,不同数量的神经元层和不同的神经连接拓扑结构)并且可以具有不同的设置(例如,激活函数、分类器等)。
根据本公开的实施方式,数据储存库250可以是能够存储雷达数据、相机图像以及被配置为促进雷达检测的准确且快速验证的数据结构的持久性存储装置。数据储存库250可以由一个或多个存储设备托管,所述存储设备为诸如主存储器、基于磁或光存储的盘、带或硬盘驱动器、NAS、SAN等。尽管被描绘为与训练服务器240分离,但在实施方式中,数据储存库250可以是训练服务器240的一部分。在一些实施方式中,数据储存库250可以是网络附接文件服务器,而在其他实施方式中,数据储存库250可以是某个其他类型的持久性存储装置,诸如面向对象的数据库、关系数据库等,其可以由训练服务器240可经由网络(在图2中未示出)访问的服务器机器或一个或多个不同的机器托管。
图3是示出本公开的实施方式可以在其中操作的载具灯分类系统300的框图。载具灯分类系统300可以包括感测系统302(例如,图1的感测系统110)。如前所述,感测系统302可以包括诸如雷达传感器、lidar传感器和/或相机的传感器。感测系统110可以向图像处理器304提供指示驾驶环境的状态的各种传感器数据。例如,传感器数据可以包括指示AV的驾驶环境的状态的图像。
图像处理器304可以从感测系统302接收包括传感器数据和/或图像数据的输入数据。图像处理器304可以基于接收的输入数据确定AV的驾驶环境中的相邻载具。图像处理器304处理输入数据并生成相机图块306。
相机图块306可以包括子图像和/或经处理的图像,生成该子图像和/或经处理的图像以滤除与下游过程无关的图像数据(例如,通过修剪数据的不与相邻载具关联的部分来减少处理负荷)。例如,图像处理器304可以通过识别布置在一个或多个图像帧内的相邻载具的位置并去除(例如,裁剪)不需要的图像数据(例如,图像的不与载具关联的部分)来修改从感测系统接收的原始图像数据。
在一些实施例中,接收的传感器数据包括lidar数据和/或雷达数据。图像处理器304基于lidar数据确定接收的图像数据内的相邻载具的载具边界。在一些实施例中,图像处理器304勾勒包括在输出相机图块306中的载具边界(例如,生成边界框)。在一些实施例中,图像处理器304裁剪图像数据的在识别的载具的边界之外的一部分。
在一些实施例中,图像处理器304可以执行图像数据的图像下采样以生成一个或多个相机图块306。例如,图像处理器304可以利用图像图块捕捉和/或图形处理单元(GPU)的使用以执行图像下采样(例如,来提高处理效率)。在另一示例中,图像处理器304可以执行双线性下采样(例如,使用像素偏移过程、张量流更改和/或像素网格重新对齐)以生成具有比关联的接收的原始图像数据更大分辨率的相机图块。图像处理器304可以基于关联的图像帧确定从AV到载具的距离,并且可以在载具位于距AV的阈值距离之外时选择性地应用图像下采样过程。在一些实施例中,图像处理器304执行图像金字塔方法。例如,图像处理器304可以通过首先从完整图像进行下采样来生成图像金字塔,然后在该金字塔中,让每个模型裁剪具有比所需裁剪更大面积的最小图像。例如,图像处理器304可以利用高斯金字塔、拉普拉斯金字塔和/或方向可控金字塔中的一个来执行图像数据的图像下采样(例如,以生成一个或多个相机图块306)。
在一些实施例中,在接收的图像数据中的图像帧中的一个或多个中,一个或多个载具可能完全或部分地被遮挡。图像处理器304可以基于图像数据确定一个或多个载具灯的遮挡。在一些实施例中,图像处理器可以利用lidar数据确定载具的边界并确定在图像数据中检测的一个或多个对象遮挡了载具灯中的一个或多个。在一些实施例中,图像处理器304可以确定遮挡并阻止对于驾驶环境的关联实例的相机图块生成。
在一些实施例中,图像处理器304可以组合来自多个图像获取设备(例如,具有不同视场和/或操作规范的相机)的图像数据以生成相机图块306。例如,感测系统302可以执行驾驶环境的基于相机的检测和/或基于lidar的检测。基于相机的检测可以依赖于相机图像,而基于lidar的检测可以依赖于结合相机图像使用的lidar数据。例如,图像数据可以从低光高分辨率相机(例如,用于远距离捕获)和从自动/暗相机(例如,用于近距离捕获)裁剪。在一些实施例中,基于相机的检测可以以第一图像获取频率(例如,5Hz)进行操作,而基于lidar的检测可以以第二图像获取频率(例如,10Hz)进行操作。图4示出关于用于多图像检测系统和/或方法的系统架构和处理方法的其他实施例。
如图3所示,相机图块306被发送到嵌入网络308。嵌入网络308可以接收相机图块306并且在图像数据的逐帧基础上将相机图块306编码成编码的图像数据(例如,嵌入的数据)。例如,一个或多个相机图块(例如,裁剪的图像帧)可以由单独的嵌入网络308接收并被并行处理(例如,一个或多个相机图块至少部分地与一个或多个其他相机图块同时被处理)。在一些实施例中,相机图块包括载具掩模(例如,根据与目标载具关联的lidar点生成)。例如,载具掩模可以包括目标载具的轮廓(例如,lidar点的凸包)内部的第一颜色(例如,白色)和指示轮廓外部的第二颜色(例如,黑色)。载具掩模可以提供将目标载具与(例如,驾驶环境的)背景分开的一个或多个其他元素。
在一些实施例中,一个或多个嵌入网络308包括特征提取器以生成与图像数据关联的一个或多个特征向量。特征提取器可以将相机图块数据在维度上减少为组或特征。例如,特征提取器可以生成包括一个或多个检测的载具、载具灯状态、灯的位置等的特征。在一些实施例中,特征提取器执行偏最小二乘分析、主成分分析、多因素降维、非线性降维和/或其任何组合中的任何一种。在一些实施例中,特征提取器被设计用于感测数据的边缘检测。例如,特征提取器包括旨在识别急剧变化和/或包括不连续性(例如,图像帧内载具灯的边界)的传感器数据和/或图像数据的方法。
在一些实施例中,特征提取器可以利用图形神经网络(GNN)。GNN可以包括处理空间中稀疏对象之间的关系的一系列模型。在GNN内,相机图块数据可以被编码为特征向量。GNN可以使用基于注意力的交互来利用模型关系。在一些实施例中,特征提取器可以利用卷积神经网络(CNN)。例如,卷积神经网络(CNN)包含多层卷积滤波器。可以执行池化,并且可以在较低层解决非线性,在较低层上通常附加多层感知器,从而将卷积层提取的顶层特征映射到决策(例如,确定的特征向量)。
如图3所示,来自嵌入网络308的一个或多个输出由时间融合网络310接收。时间融合网络310聚合来自嵌入网络308的一个或多个输出(例如,特征向量、嵌入的图像数据、嵌入的相机图块)。例如,时间融合网络310可以将一个或多个特征向量融合成特征向量单元或集合,并进一步处理该特征向量单元或集合。
时间融合网络310从嵌入网络308接收图像数据(例如,以特征向量的形式)。时间融合网络基于接收的图像数据确定载具灯分类。时间融合网络310可以对于驾驶环境内的每个单独的载具进行单独的载具灯分类。在一些实施例中,每个载具可以与多个载具灯分类关联。如将结合后面的实施例进一步讨论的,时间融合网络310可以使用一个或多个机器学习模型(MLM)处理图像数据。
载具灯分类与关联载具的一个或多个灯的可识别配置和状态对应。载具灯分类可以包括任何数量的灯状态和配置组合的指示,诸如:闪光灯、危险灯、倒行灯、头灯、尾灯、制动灯、转向信号(例如,左转向信号或右转向信号)等。例如,载具灯分类可以指示第一载具当前正在以一个闪光灯操作并且还可以确定该载具正在以激活的左转向信号操作。如将结合后面的实施例讨论的,可以基于每个配置的共同属性将各种灯状态和配置分组在一起(例如,闪光灯和危险灯可以被标记在同一组内)。
灯分类可以作为灯分类数据314从时间融合网络310输出。在一些实施例中,灯分类数据包括与载具灯分类的网络的一个或多个灯分类关联的一个或多个分数。一个或多个分数可以与载具灯分类准确地表示AV的驾驶环境中的相邻载具的状态的置信水平关联。
图4是示出本公开的实施方式可以在其中操作的载具灯分类系统400的框图。载具灯分类系统400可以包括第一相机图块和载具掩模404、第二相机图块408、第一嵌入网络410、第二嵌入网络406、时间融合网络412、载具灯跟踪网络418和灯分类数据420。载具灯分类系统400可以包括图3的载具灯分类系统300的各方面和/或特征。
如图4所示,第二嵌入网络410接收第二相机图块408(例如,从图1的感测系统110)并且第一嵌入网络406接收第一相机图块和载具掩模404。相机图块可以包括子图像和/或经处理的图像,生成该子图像和/或经处理的图像以滤除与下游过程无关的图像数据(例如,减少不必要地处理不与相邻载具关联的图像数据造成的处理负荷)。对图像数据的过滤和处理可以从载具灯分类系统400的上游执行,或者可以通过嵌入网络410、406执行。例如,嵌入网络410、406可以通过识别布置在一个或多个图像帧内的相邻载具的位置并去除(例如,裁剪)不需要的图像数据(例如,图像的不与载具关联的部分)来修改从感测系统(图1的感测系统110)接收的原始图像数据。在一些实施例中,一个或多个嵌入网络,例如第一嵌入网络406,可以接收载具掩模(例如,基于lidar数据)。载具掩模可以指示与AV的环境中的相邻载具关联的一个或多个载具边界。嵌入网络406可以利用载具掩模并从驾驶环境的背景中识别载具。可以利用进一步的lidar数据来裁剪相机图块。载具掩模可以用于识别(例如,覆盖)与相机图块中指示的载具关联的载具边界。在一些实施例中,载具掩模与相机图块连接(concatenate)作为对第一(基于lidar的检测)嵌入网络的输入。
如图4所示,载具灯分类系统400可以包括多个嵌入网络(例如,嵌入网络410、406)。在一些实施例中,每个嵌入网络和数据吞吐量(例如,相机图块408、404)可以与独特的数据和/或处理技术关联。例如,第二嵌入网络410可以与处理与基于相机的检测关联的图像数据关联。相机图块408可以包括与对AV的驾驶环境的基于相机的检测关联的一个或多个图像帧。在另一示例中,第一嵌入网络406可以与处理与基于lidar的检测关联的图像数据关联(例如,使用基于lidar数据的载具掩模)。在一些实施例中,可以使用高分辨率相机(HRC)和/或用于暗检测的高分辨率相机(HRCD)来获取相机图块408。在一些实施例中,可以从环视相机(SVC)和/或用于暗检测的环视相机(SVCD)获取相机图块404。例如,SVCD和SVC可以捕获在通过SVCD捕获时与通过SVC捕获相比看起来更暗的相似图像。类似地,HRCD和HRC可以捕获在通过HRCD捕获时与通过HRC捕获相比看起来更暗的相似图像。用消除部分进入光的滤波器可以促进捕获看起来更暗的图像。
如图4所示,时间融合网络412接收来自各种嵌入网络406、410的输出。该输出可以包括场景编码的数据(例如,嵌入的相机图块、特征向量、嵌入的图像数据)。一个或多个输出可以包括与公共向量基对应的特征向量。例如,如前所述,嵌入网络410、406可以使用具有不同特征(例如,基于相机的检测、基于lidar的检测、使用HRC捕获的、使用SVC捕获的等)的相机图块408、404来生成(例如,公共向量基的)特征向量。时间融合网络412聚合来自嵌入网络406、410的一个或多个输出(例如,特征向量、嵌入的图像数据)。例如,时间融合网络412可以将一个或多个特征向量融合成特征向量单元或集合。在另一示例中,时间融合网络412可以使特征向量在时间上关联(例如,特征向量与从相同和/或不同传感器获取的一系列时间相关图像帧关联)。时间数据融合器可以组合一个或多个特征向量以生成包括多个关联的特征向量的特征向量单元。时间融合网络412将数据(例如,特征向量单元或集合)输出到载具灯跟踪网络418。
载具灯跟踪网络418从时间融合网络412接收图像数据(例如,以特征向量单元或集合的形式)。载具灯跟踪网络418基于接收的图像数据确定载具灯分类。载具灯跟踪网络418可以对于驾驶环境内的每个单独的载具进行单独的载具灯分类。在一些实施例中,每个载具可以与多个载具灯分类关联。载具灯跟踪网络418可以使用一个或多个机器学习模型(MLM)处理图像数据。载具灯跟踪网络418可以包括图3的时间融合网络310的各方面和/或特征。
载具灯分类与关联载具的一个或多个灯的可识别配置和状态对应。载具灯分类可以包括任何数量的灯状态和配置组合的指示,诸如:闪光灯、危险灯、倒行灯、头灯、尾灯、制动灯、转向信号(例如,左转向信号或右转向信号)等。例如,载具灯分类可以指示第一载具当前正在以一个闪光灯操作或第一载具正在以激活的左转向信号操作的确定。如将在后面的实施例中讨论的,可以基于每个配置的共同属性将各种灯状态和配置分组在一起(例如,闪光灯和危险灯可以被标记在同一组内)。
载具灯跟踪网络输出灯分类数据420。在一些实施例中,灯分类数据420包括与载具灯分类的网络的一个或多个灯分类关联的一个或多个分数。一个或多个分数可以与载具灯分类准确地表示AV的驾驶环境中的相邻载具的状态的置信水平关联。
灯分类数据420可以包括一个或多个分类头430、440。每个分类头430、440可以与灯状态和配置关联。例如,危险灯分类头430与关联于相邻载具的危险灯的预测、分数和/或置信水平关联。每个分类头430可以包括一个或多个潜在的推断和对应的分数。例如,危险灯分类头430可以包括对危险灯被激活的推断(例如,危险开(ON)432)、对危险灯未激活的推断(例如,危险关(OFF)434)和对危险灯是开还是关的不确定性的推断(例如,危险不确定(NOT_SURE)436)。这些推断数据点中的每一个可以包括与每个潜在的推断关联的置信水平(例如,分数)。在一些实施例中,“NOT_SURE(不确定)”确定可能是肯定的确定(例如,而不是不确定性或缺乏置信度的状态)。例如,载具的一部分可能被遮挡并且系统可以检测遮挡并且肯定地确定系统不能识别灯是开还是关。
在另一示例中,灯分类数据可以包括倒行灯分类头440。倒行灯分类头可以进行与危险灯分类头430类似的推断。例如,倒行灯是开(例如,倒行开(ON)442)、关(例如,倒行关(OFF)44)或不确定(例如,倒行不确定(NOT_SURE)446)。灯分类数据可以包括对于其他灯状态和配置的分类头,诸如:闪光灯、危险灯、倒行灯、头灯、尾灯、制动灯、转向信号(例如,左转向信号或右转向信号)等。
在一些实施例中,图3的图像处理器304、嵌入网络308、时间融合网络310和/或嵌入网络410、406、时间融合网络412和/或载具灯跟踪网络418中的一个或多个执行本文描述功能中的一个或多个。例如,每个先前识别的系统可以包括一个或多个机器学习模型,并且可以单独或共同地被训练。例如,嵌入网络410和嵌入网络406中的每一个可以分别经历附加的监督414和416。
在实施例中,训练一个或多个机器学习模型以执行下述任务中的一个或多个。每个任务都可以由单独的机器学习模型执行。替代地,单个机器学习模型可以执行每个任务或任务的子集。附加地或替代地,可以训练不同的机器学习模型以执行任务的不同组合。在示例中,可以训练一个或几个机器学习模型,其中,经训练的ML模型是具有多个共享层和多个更高级别的不同输出层的单个共享神经网络,其中,每个输出层输出不同的预测、分类、识别等。一个或多个经训练的机器学习模型可以被训练以执行的任务如下:
a.图像数据处理器(例如,图像处理器304、嵌入网络410、406)——数据处理器接收指示驾驶环境的状态的传感器数据(例如,雷达、lidar、相机图像等)。数据处理器可以处理接收的数据以生成相机图块。数据处理器可以执行一个或多个图像数据过程,诸如图像下采样、图像过滤、图像裁剪、对象检测、遮挡检测等。例如,数据处理器可以利用载具掩模来将目标载具与图像内的环境背景分开。数据处理器还可以检测载具(例如,使用基于lidar的检测或基于相机的检测)和确定载具的边界并且还基于确定的载具边界执行图像裁剪。
b.数据编码器(例如,嵌入网络308、410、406)——数据编码器接收指示驾驶环境的状态的相机图块和/或传感器数据(例如,雷达、lidar、相机图像等)。数据编码器生成与接收的相机图块的组合、相关性和/或人工参数关联的编码的数据。数据编码器可以将传感器数据在维度上减少(例如,分类)成组或特征。例如,数据编码器可以生成识别用于对驾驶环境中的载具灯进行分类的一个或多个人工参数的场景编码的数据(例如,特征向量)。数据编码器可以逐帧处理相机图块以用于单独编码的图像帧数据图块。
c.时间数据融合器(例如,时间融合网络310、412)——接收一个或多个特征向量并将一个或多个特征向量与一个或多个其他特征向量关联。例如,时间数据融合器可以使特征向量在时间上关联(例如,特征向量与从相同和/或不同传感器获取的一系列时间相关图像帧关联)。时间数据融合器可以(例如,使用级联)组合一个或多个特征向量以生成包括多个关联的特征向量的特征向量单元或集合。
d.载具灯分类器(例如,时间融合网络310、载具灯跟踪网络418)——接收图像数据(例如,原始图像数据、编码的图像数据和/或融合的图像数据),诸如特征向量和/或特征向量单元。载具灯分类器对与接收的图像数据关联的驾驶环境中的相邻载具的一个或多个灯的配置和状态进行分类。载具灯分类可以包括任何数量的灯状态和配置组合的指示,诸如:闪光灯、危险灯、倒行灯、头灯、尾灯、制动灯、转向信号(例如,左转向信号或右转向信号)等。
可用于执行上述一些或全部任务的一种类型的机器学习模型是人工神经网络,诸如深度神经网络或图神经网络(GNN)。人工神经网络通常包括具有分类器或将特征映射到期望的输出空间的回归层的特征表示组件。例如,卷积神经网络(CNN)包含多层卷积滤波器。执行池化,并且可以在较低层解决非线性,在较低层上通常附加多层感知器,从而将卷积层提取的顶层特征映射到决策(例如,分类输出)。深度学习是一类机器学习算法,其使用多层非线性处理单元的级联进行特征提取和变换。每个相继的层使用来自前一层的输出作为输入。深度神经网络可以以有监督(例如,分类)和/或无监督(例如,模式分析)的方式学习。深度神经网络包括层的层级结构,其中,不同的层学习与不同抽象级别对应的不同级别的表示。在深度学习中,每个级别学习将其输入数据变换为稍微更抽象和复合的表示。例如,在载具灯分类器中,(例如,到第一组层中的)原始输入可以是与驾驶环境的状态关联的传感器数据;第二组层可以构成经处理的图像数据(例如,相机图块);第三组层可以包括与驾驶环境的状态关联的编码的图像数据(例如,特征向量)。值得注意的是,深度学习过程可以自行学习哪些特征最优地放置在哪个级别。“深度学习”中的“深度”是指数据经过其被变换的层数。更准确地说,深度学习系统具有可观的信用分配路径(credit assignmentpath,CAP)深度。CAP是从输入到输出的变换链。CAP描述了输入和输出之间潜在的因果联系。对于前馈神经网络,CAP的深度可以是网络的深度,并且可以是隐藏层数加一。对于循环神经网络,其中,信号可能不止一次地传播通过一个层,CAP深度可能是无限的。
在一些实施例中,可以使用的一种类型的深度学习模型包括变换器或视觉变换器(ViT)。变换器是一种深度学习模型,其采用注意力机制(例如,增强输入数据的重要部分,并淡化或去强调输入数据的其他部分),从而对输入数据的每个部分的重要性进行差异性加权。与RNN类似,变换器被设计为处理顺序输入数据,诸如此本文描述的图像数据(例如,相机图块)。然而,与RNN不同,变换器不一定按顺序处理数据。而是,注意力机制为输入序列中的任何位置提供上下文。在变换器中,图像数据(例如,相机图块)不需要按顺序被处理,但可以使用基于注意力的指示符进行标记,该指示符为当前处理的帧提供上下文。例如,通过不需要对图像帧的处理的顺序限制,可以并行处理图像帧,例如,使用一系列网络(诸如图3的嵌入网络308)来获得可以(例如,使用图3的时间融合网络310)被融合在一起的分类。
在一些实施例中,使用视觉变换器(ViT)。ViT包括基于最初针对基于文本的任务而设计的基于常规变换器架构的视觉模型。ViT将输入图像表示为图像图块序列,类似于将变换器应用于文本时使用的词嵌入序列,并直接预测图像的类标签。ViT将图像划分为方形图块的网格。通过级联图块中所有像素的通道并且然后将得到的级联线性投影到期望的输入维度,每个图块被展平为单个向量。在ViT中,可学习的位置嵌入可以与每个相机图块关联,这可以允许模型了解图像的结构。在一些实施例中,ViT可能不固有地了解图像内图块的相对位置。然而,ViT可以从训练数据中获知这样的相关信息,并在(一个或多个)位置嵌入中编码结构信息。
在一个实施例中,一个或多个机器学习模型是循环神经网络(RNN)。RNN是一种类型的神经网络,其包括存储器(memory)以使神经网络能够捕获时间依赖性。RNN能够学习依赖于当前输入和过去输入的输入-输出映射。RNN将解决过去和将来的编码的图像数据(例如,特征向量),并基于这种连续的计量信息(例如,驾驶环境中相邻载具的载具灯的状态和配置)进行预测。RNN可以使用训练数据集进行训练,以生成固定数量的输出(例如,以估计候选行驶路径和/或预测将来车道状态)。可以使用的一种类型的RNN是长短期记忆(LSTM)神经网络。
可以以监督学习方式实现神经网络的训练,其涉及通过网络馈送由标记输入组成的训练数据集,观察其输出,定义误差(通过测量输出和标记值之间的差),并使用诸如深度梯度下降和反向传播的技术来调整网络在其所有层和节点上的权重,使得误差被最小化。在许多应用中,在训练数据集中的许多标记的输入上重复此过程产生可以在存在与训练数据集中存在的输入不同的输入时产生正确的输出的网络。
可以使用一个或多个训练数据集来执行一个或多个机器学习模型的训练,该训练数据集包含一定量(例如,数百、数千、数百万、数千万或更多)传感器测量(例如,从感测系统110接收)。在一些实施例中,训练数据集还可以包括用于形成训练数据集的关联的相机图块(例如,裁剪的图像数据),其中,每个输入数据点与相机图块关联。可以训练机器学习模型(例如,与数据图像处理器304关联),例如,以生成指示与对应于驾驶环境的状态的传感器数据关联的相机图块的输出。
对于一个或多个机器学习模型的模型训练,可以使用包含数百、数千、数百万、数千万或更多传感器测量(例如,从感测系统110接收)和/或相机图块(例如,从图像处理器304接收)的训练数据集以形成一个或多个训练数据集。在实施例中,训练数据集还可以包括用于形成训练数据集的关联的场景编码的数据(例如,特征向量),其中,每个输入数据点与编码的场景数据(例如,特征向量)或一个或多个类型的有用信息的分类(例如,载具类型,诸如公共汽车、紧急载具、卡车、自行车、摩托车等;载具位置、载具品牌和/或型号等)关联。可以训练机器学习模型(例如,与(一个或多个)嵌入网络308关联),例如,以生成指示与传感器数据和/或与驾驶环境的状态对应的相机图块关联的场景编码的数据(例如,特征向量)的输出。
在一些实施例中,使用包含数百、数千、数百万、数千万或更多场景编码的数据(例如,特征向量)的训练数据集以形成训练数据集。训练数据集还可以包括融合的场景编码的数据的关联集合(例如,时间融合数据或特征向量集合或单元)。可以训练机器学习模型(例如,与时间融合网络310关联),例如,以生成指示与编码的场景数据关联的特征向量集合或一个或多个时间融合场景编码的数据的输出。
在一些实施例中,使用包含数百、数千、数百万、数千万或更多场景编码的数据(例如,特征向量)和/或时间融合的场景编码的数据(例如,特征向量集合)的训练数据集以形成训练数据集。训练数据集还可以包括载具灯分类数据的关联集合。可以训练机器学习模型(例如,与时间融合网络310关联),例如,以生成指示与编码的场景数据和/或融合的场景编码的数据关联的一个或多个载具灯分类的输出。
为了实现训练,处理逻辑将上述(一个或多个)训练数据集输入到一个或多个未经训练的机器学习模型中。在将第一输入输入到机器学习模型中之前,可以初始化机器学习模型。处理逻辑基于(一个或多个)训练数据集训练(一个或多个)未经训练的机器学习模型以生成执行如上所述的各种操作的一个或多个经训练的机器学习模型。
可以通过一次一个地将一个或多个训练数据集输入到机器学习模型中来执行训练。机器学习模型处理输入以生成输出。人工神经网络包括由数据点中的值组成的第一组层。下一组层称为一组隐藏层,并且隐藏层内的节点各自接收一个或多个输入值。每个节点包含应用于输入值的参数(例如,权重、偏差)。因此,每个节点实质上将输入值输入到多元函数(例如,非线性数学变换)中以产生输出值。下一组层可以是另一组隐藏层或一组输出层。在任一种情况下,下一组层处的节点都从前一层处的节点接收输出值,并且每个节点对这些值应用权重,且然后生成其自己的输出值。这可以在每一层处执行。最后一组层是一组输出层,其中,对于机器学习模型可以产生的每个类、预测和/或输出存在一个节点。
因此,输出可以包括一个或多个预测或推断。例如,输出预测或推断可以包括相机图块、场景编码的数据、时间融合的场景编码的数据和/或载具灯分类。然后,处理逻辑可以将预测或推断的输出与可以包括在训练数据项中的一个或多个基准真相测量(例如,观察的载具灯状态和/或配置)进行比较。处理逻辑基于机器学习模型的输出与已知分类(例如,预测的载具灯分类和观察的载具灯分类)之间的差异来确定误差(即,分类误差)。处理逻辑基于该误差调整机器学习模型中一个或多个节点的权重。可以为人工神经网络中的每个节点确定误差项或增量。基于该误差,人工神经网络调整其节点中的一个或多个的一个或多个其参数(节点的一个或多个输入的权重)。可以以反向传播的方式更新参数,使得先更新最高层的节点,再更新下一层的节点,以此类推。人工神经网络包含多层“神经元”,其中,每一层接收来自前一层处的神经元的值作为输入。每个神经元的参数包括与从前一层处的每个神经元接收的值关联的权重。因此,调整参数可以包括调整分配给人工神经网络中的一个或多个层处的一个或多个神经元的每个输入的权重。
一旦模型参数已经被优化,就可以执行模型验证以确定模型是否已经改进并且确定深度学习模型的当前准确性。在一轮或多轮训练之后,处理逻辑可以确定是否已经满足停止标准。停止标准可以是目标准确性水平、来自训练数据集的已处理图像的目标数量、一个或多个先前数据点上的参数变化的目标量、其组合和/或其他标准。在一个实施例中,当至少最小数量的数据点已经被处理并且至少实现阈值准确性时,满足停止标准。阈值准确性可以是例如70%、80%或90%准确性。在一个实施例中,如果机器学习模型的准确性已经停止改进,则满足停止标准。如果尚未满足停止标准,则执行进一步的训练。如果已满足停止标准,则可以完成训练。一旦训练了机器学习模型,就可以使用训练数据集的保留部分来测试模型。
作为示例,在一个实施例中,训练机器学习模型(例如,载具灯分类器)以确定载具灯分类。可以执行类似的过程来训练机器学习模型以执行诸如上述任务的其他任务。可以收集许多(例如,数千到数百万)驾驶环境图像和/或传感器数据点的集合,并且可以确定与目标候选位置关联的载具灯分类。
一旦生成一个或多个经训练的机器学习模型,就可以将其存储在模型存储装置(例如,图2的数据储存库250)中,然后与AV关联的处理逻辑可以使用一个或多个经训练的ML模型以及附加处理逻辑以实现自动模式,其中,信息的用户手动输入被最少化或在某些情况下甚至被消除。例如,与AV关联的处理逻辑可以发起一个或多个ML模型的使用,并基于ML模型的一个或多个输出做出AV导航决策。
图5A是根据某些实施例的用于使用图像数据560(例如,由图1的相机118捕获的图像)创建用于机器学习模型(例如,本文描述的MLM中的一个或多个)的数据集的示例数据集生成器572(例如,图2的数据集生成器572)。图5A的系统500A示出了数据集生成器572、数据输入501和目标输出503。
在一些实施例中,数据集生成器572生成包括一个或多个数据输入501(例如,训练输入、验证输入、测试输入)的数据集(例如,训练集、验证集、测试集)。在一些实施例中,数据集还包括与数据输入501对应的一个或多个目标输出503。数据集还可以包括将数据输入501映射到目标输出503的标签566的映射数据。数据输入501也可以称为“特征”、“属性”或“信息”。在一些实施例中,数据集生成器572可以将数据集提供给训练引擎582、验证引擎584和/或测试引擎586,在那里,数据集用于训练、验证和/或测试机器学习模型。
在一些实施例中,数据集生成器572基于图像数据560生成数据输入501。在一些实施例中,数据集生成器572生成与图像数据560关联的标签466(例如,闪光灯数据612、危险灯数据614、倒行灯数据622、头灯数据624、尾灯数据626、制动灯数据628、左转向灯数据632、右转向灯数据634)。在一些情况下,标签566可以由用户手动添加到图像(例如,图6的标签生成644)。在其他情况下,标签566可以自动添加到图像(例如,使用图6的标记数据库642)。
在一些实施例中,数据输入501可以包括图像数据560的一个或多个图像(例如,一系列图像帧)。图像数据560的一个或多个帧可以包括一个或多个相邻载具(例如,以一个或多个灯状态和配置或载具灯分类操作)。
在一些实施例中,数据集生成器572可以生成与特征的第一集合(例如,数据组610、620、630)对应的第一数据输入,以训练、验证或测试第一机器学习模型,并且数据集合生成器572可以生成与特征的第二集合对应的第二数据输入以训练、验证或测试第二机器学习模型。
在一些实施例中,数据集生成器572可以离散化数据输入501或目标输出503中的一个或多个(例如,以在用于回归问题的分类算法中使用)。数据输入501或目标输出503的离散化可以将连续的一系列图像帧变换成具有可识别特征(例如,特征向量)的离散帧。在一些实施例中,数据输入301的离散值指示相邻载具和/或相邻载具的灯状态和配置。
用于训练、验证或测试机器学习模型的数据输入501和目标输出503可以包括驾驶环境的信息。例如,图像数据560和标签566可用于针对特定驾驶环境(例如,本地驾驶法规、独特的本地对象检测等)训练系统。
在一些实施例中,用于训练机器学习模型的信息可以来自具有特定特性的特定类型的载具灯分类,并且允许经训练的机器学习模型基于与共享载具灯的特定组(例如,数据组610、数据组620、数据组630)的特性的一个或多个组件关联的图像数据560的输入确定该特定组的结果。在一些实施例中,用于训练机器学习模型的信息可以是用于来自两个或更多个载具灯分类的数据点,并且可以允许经训练的MLM确定根据同一图像确定多个输出数据点(例如,确定载具正在以多个载具灯配置进行操作)。例如,MLM模型可以推断载具激活了一个或多个尾灯,并且还可以推断载具已经激活了转向信号。
在一些实施例中,在生成数据集并使用该数据集训练、验证或测试(一个或多个)机器学习模型之后,可以(例如,用另外的图像数据和标签)进一步训练、验证或测试或调整(一个或多个)机器学习模型(例如,调整与机器学习模型290的输入数据关联的权重,诸如神经网络中的连接权重)。
图5B是示出根据某些实施例的用于训练机器学习模型以生成输出564(例如,编码的场景数据、相机图块、特征向量、载具灯分类)的系统500B的框图。系统500B可用于训练一个或多个机器学习模型以确定与图像数据(例如,使用相机118获取的图像)关联的输出。
在框510处,系统500B(例如,经由数据集生成器572)执行图像数据560(例如,一系列图像帧、相机图块和在一些实施例中,标签566)的数据分割以生成训练集502、验证集504和测试集506。例如,训练集502可以是图像数据560的60%,验证集504可以是图像数据560的20%,并且测试集506可以是图像数据560的20%。系统500B可以对于训练集502、验证集504和测试集506中的每一个生成多个特征集合。
在框512处,系统500B使用训练集502执行模型训练。系统500B可以使用训练集502的训练数据项的多个集合(例如,每个集合包括多个特征集合)(例如,训练集502的第一特征集合、训练集502的第二特征集合等)来训练一个或多个机器学习模型。例如,系统500可以使用训练集中的第一特征集合(例如,相机图块408)训练机器学习模型以生成第一经训练的机器学习模型(例如,第一嵌入网络410),并使用训练集中的第二特征集合(例如,相机图块404、lidar掩模402)训练机器学习模型以生成第二经训练的机器学习模型(例如,第二嵌入网络)。可以训练(一个或多个)机器学习模型以输出一种或多种其他类型的预测、分类、决策等。例如,可以训练(一个或多个)机器学习模型以对与图像数据560对应的AV的驾驶环境中的相邻载具的载具灯进行分类。
处理逻辑确定是否满足停止标准。如果没有满足停止标准,则用附加的训练数据项重复训练过程,并将另一训练数据项输入到机器学习模型中。如果满足停止标准,则完成机器学习模型的训练。
在一些实施例中,可以组合第一经训练的机器学习模型和第二经训练的机器学习模型以生成第三经训练的机器学习模型(例如,其可以是比单单第一或第二经训练的机器学习模型更好的预测器)。在一些实施例中,用于比较模型的特征集合可以重叠。
在框514处,系统500B(例如,经由图2的验证引擎284)使用验证集504执行模型验证。系统500B可以使用验证集504的对应特征集合来验证经训练的模型中的每一个。例如,系统400可以使用验证集中的第一特征集合(例如,来自第一嵌入网络的特征向量)验证第一经训练的机器学习模型,并且使用验证集中的第二特征集合(例如,来自第二嵌入网络的特征向量)验证第二经训练的机器学习模型。
在框514处,系统500可以(例如,经由模型验证)确定一个或多个经训练的模型中的每一个的准确性并且可以确定经训练的模型中的一个或多个是否具有满足阈值准确性的准确性。响应于确定经训练的模型中的一个或多个具有满足阈值准确性的准确性,流程继续到框516。在一些实施例中,框512处的模型训练可以在AV系统上发生。例如,可以在AV在驾驶环境中导航时发生一个或多个机器学习模型的训练。
在框518处,系统500B使用测试集506执行模型测试以测试选择的模型508。系统500B可以使用测试集中的第一特征集合(例如,来自第一嵌入网络的特征向量)测试第一经训练的机器学习模型,以确定第一经训练的机器学习模型满足阈值准确性(例如,基于测试集506的第一特征集合)。响应于选择的模型508的准确性不满足阈值准确性(例如,选择的模型508过度拟合到训练集502和/或验证集504并且不适用于其他数据集,诸如测试集506),流程继续到框512,在那里,系统500使用其他训练数据项执行模型训练(例如,重新训练)。响应于基于测试集506确定选择的模型508具有满足阈值准确性的准确性,流程继续到框520。至少在框512中,模型可以学习图像数据560中的模式以进行预测并且在框518中,系统500可以将模型应用于其余数据(例如,测试集506)以测试预测。
在框520处,系统500B使用经训练的模型(例如,选择的模型508)接收当前数据(例如,当前图像数据),并且基于(一个或多个)经训练的模型520对当前图像数据562的处理接收当前输出564。
在一些实施例中,接收与当前数据562对应的输出564并且基于当前数据562和输出564重新训练模型508。
在一些实施例中,框510-520的一个或多个操作可以以各种顺序和/或与本文未呈现和描述的其他操作一起发生。在一些实施例中,可以不执行框510-520的一个或多个操作。例如,在一些实施例中,可以不执行框510的数据分割、框514的模型验证、框516的模型选择或框518的模型测试中的一个或多个。
图6是示出根据某些实施例的用于标记载具灯分类的训练数据的系统600的框图。系统600聚合并提取输入数据605以用于训练本文描述的一个或多个机器学习模型。输入数据605可以包括一组或多组载具灯数据(例如,数据组610、数据组620、数据组630)。训练数据集还可以包括将数据输入(例如,图像数据)映射到目标输出的各个载具灯数据(例如,闪光灯数据612、危险灯数据614、倒行灯数据622、头灯数据624、尾灯数据626、制动灯数据628、左转向灯数据632和/或右转向灯数据634)的映射数据。可以基于共同特征、属性和/或信息来组织数据组(例如,数据组610、620、630)。
系统600接收输入数据(例如,与图像数据关联地手动输入)并且将数据聚合成组并且提取标签以在本文描述的一个或多个机器学习模型中使用。系统600包括能够合并接收的输入数据的合并工具640。在一些实施例中,输入数据605被逐组接收。可以基于期望被输入的数据组选择性地执行生成训练数据。例如,可以向用户呈现一组图像连同特定问题,诸如危险灯是开还是关、转向信号是开还是关、倒行灯是开还是关等。在一些实施例中,载具灯数据(例如,闪光灯数据612、危险灯数据614、倒行灯数据622、头灯数据624、尾灯数据626、制动灯数据628、左转向灯数据632和/或右转向灯数据634)可以包括选项的选择(例如,开或关),然而,在其他实施例中,可以利用多于二元选择的选项(例如,开、关、不确定等)。
合并工具640可以包括处理逻辑以将与共同图像数据对应的图像数据关联在一起以形成共同数据组或联合标签。例如,来自第一数据组610的数据可以选择性地与第二数据组620中的数据合并。合并的数据可以存储在标记(labeling)数据库642中。标记数据库642可以包括与图2的数据储存库250关联的一个或多个特征、方面和/或细节。不同组之中的输入数据的标记可以基于不同灯的各种属性。例如,一组可以包括在异常道路情况下使用的灯(例如,数据组610),诸如闪光灯、危险灯、超大负载灯等。另一组(例如,数据组620)可以包括通常在稳定模式下(例如至少一秒或几秒)操作的灯,诸如头灯、尾灯、倒行灯、制动灯、卡车标志灯等。再另一组(例如,数据组630)可以包括在正常驾驶状况下使用但在动态模式下操作的灯,例如转向灯等。应当理解,图6中所示的数据组仅意图于说明,并且可以附加(或替代地)限定各种其他组(例如,在卡车运输操作、紧急载具操作等中使用的灯)。
在框644处,系统600可以生成用于训练的标签。在输入数据的标记期间,可以独立于对其他组的标记来标记每个组。在一些实施例中,输入数据被逐组标记。系统600可以选择性地请求来自一个或多个数据组610、620、630的输入(例如,基于训练数据集中每个单独数据组的表示)。例如,训练数据的生成可以包括随机获得图像数据并相应地标记该数据。但是,某些驾驶环境状况(例如,紧急载具响应灯、公共汽车停止灯等)可能发生的频率较低。在这样的情况下,系统600可以请求与表示不足(underrepresented)的数据组关联的进一步输入数据生成。例如,系统600可以处理和请求特定组(例如,紧急载具的存在以及紧急响应灯是否激活)的输入(例如,用户输入或自动推断)。
在框646处,系统600执行标签提取和后处理。标签提取可以包括从标记数据库642提取标签。在一些实施例中,系统600执行数据标签的清理过程。清理过程可以包括裁剪和/或过滤图像数据以强调单独的数据标签。例如,可以裁剪包括载具危险灯的图像以仅示出载具的危险灯。在另一示例中,可以过滤一系列图像帧以去除在紧接使用载具的危险灯之前或之后获得的图像帧。
在一些实施例中,系统600可以执行标签交叉检查过程以验证训练数据。标签交叉检查过程可以包括与关联于载具灯数据(例如,闪光灯数据612、危险灯数据614、倒行灯数据622、头灯数据624、尾灯数据626、制动灯数据628、左转向灯数据632和/或右转向灯数据634)的逻辑要求和/或模式关联的标记逻辑。例如,标记逻辑可以包括当左转向信号或右转向信号活动(开(ON))时,载具闪光灯必须活动(开)的规定。系统600可以利用标记逻辑来过滤不满足标记逻辑要求的训练数据。
在一些实施例中,系统600可以根据标记逻辑执行标签调整(例如,对于复合标签和/或灯配置的组合)。例如,系统600可以接收指示第一载具的左转向信号为开的标签。系统600还可以接收指示第一载具的右转向信号为开的标签。系统可以将第一载具标记为左转向信号关、右转向信号关、危险灯开。在另一示例中,如果左转向信号被标记为开并且右转向信号被标记为不确定,则系统可以将左转向信号标签更新为不确定并且将右转向信号更新为关。
在一些实施例中,系统600执行多标签创建。一个或多个MLM可以作为多类、多标签分类问题进行训练。例如,左转向信号和尾灯都可以为开。系统600可以聚合给定图像帧和/或一系列图像帧的多个标签。
图7描绘了根据本公开的一些实施方式的用于对AV的驾驶环境中的相邻载具的载具灯进行分类的一个示例方法700的流程图。具有一个或多个处理单元(CPU)和/或图形处理单元(GPU)和通信地联接到(一个或多个)CPU和/或(一个或多个)GPU的存储器设备的处理设备可以执行方法700和/或其单独的功能、例程、子例程或操作中的每一个。执行方法700的处理设备可以执行由图1的感知系统130的各种组件(例如LCM 132)发出的指令。方法700可以涉及诸如图1的自主载具100的自主驾驶载具的系统和组件。方法700可用于提高自主载具数据处理系统和/或自主载具控制系统140的性能。
在某些实施方式中,单个处理线程可以执行方法700。替代地,两个或更多个处理线程可以执行方法700,每个线程执行方法的一个或多个单独的功能、例程、子例程或操作。在说明性示例中,实现方法700的处理线程可以被同步(例如,使用信号量、临界区和/或其他线程同步机制)。替代地,实现方法700的处理线程可以相对于彼此异步地执行。与图7所示的顺序相比,方法700的各种操作可以以不同的顺序执行。方法700的一些操作可以与其他操作同时执行。一些操作可以是可选的。
在框710处,方法700可以包括例如由自主载具(AV)的数据处理系统的处理设备获得指示AV的驾驶环境的状态的图像数据。在一些实施方式中,图像数据包括与布置在AV的驾驶环境中的一个或多个相邻载具关联的数据。在一些实施例中,图像数据可以包括与驾驶环境的第一视场关联的第一组图像帧和与驾驶环境的第二视场关联的第二组图像帧。在一些实施例中,图像数据可以包括用HRC捕获的第一组图像帧和用SVC捕获的第二组图像帧。
在框720处,方法700可以以处理设备基于第一图像数据识别布置在驾驶环境内的相邻载具继续。处理设备可以利用对象检测软件来确定驾驶环境中存在一个或多个相邻载具。例如,可以将图像数据输入到机器学习模型中,该机器学习模型输出指示在驾驶环境中检测的对象,其中,检测的对象中的一个包括相邻载具。
在一些实施例中,处理设备接收与驾驶环境的状态关联的lidar数据。处理设备可以基于lidar数据确定与图像数据对应的相邻载具的一个或多个载具边界。处理设备可以基于确定的一个或多个载具边界过滤图像数据。例如,处理设备可以裁剪各个图像帧并去除图像数据的不与相邻载具关联的部分。
在框730处,方法700可以以使用一个或多个机器学习模型(MLM)处理图像数据以获得与相邻载具的一个或多个灯的识别的配置和状态对应的载具灯分类继续。在一些实施方式中,分类度量可以是与载具配置和状态的网络关联的一系列二元值(例如,0或1、是或否等)。在一些实施例中,分类可以包括多于二元值(例如,是、否和不确定)。示例性载具灯分类可以包括:闪光:开;危险:关;倒行:关;头灯:关;尾灯:开;制动:不确定;左转向:开;右转向:关。
图7的注记部分示出可以作为框730的一部分执行的操作。更特别地,在框732处,方法700可以包括使用一个或多个MLM中的第一MLM进行处理以获得一个或多个特征向量。在框734处,方法700可以包括使用一个或多个MLM中的第二MLM处理一个或多个特征向量以获得载具灯分类。在一些实施方式中,第一MLM和第二MLM中的每一个可以包括一个或多个卷积神经元层。特征向量可以表征与相邻载具关联的相机图像的一部分。
在框740处,执行方法700的处理设备可以基于载具灯分类预测相邻载具的将来动作。例如,载具灯分类可以指示相邻载具当前已经激活与第一方向关联的转向信号。处理设备可以预测载具可能沿着当前轨迹导航并且即将沿着与转向信号关联的转向方向更改导航路径。在另一示例中,载具灯分类可以指示载具当前激活了制动灯。处理设备可以确定载具的速率可能即将降低。
在框750处,执行方法的处理设备可以基于预测的将来动作引起对AV的行进路径的更新。例如,处理设备可以基于转向信号载具灯分类确定载具正改变车道。处理设备可以响应于确定相邻载具正在AV前方改变车道而使AV减速或改变车道。在另一示例中,响应于处理设备确定位于AV前方的相邻载具激活其制动灯并且正在降低其速率,处理设备可以使AV减速或改变车道。
图8描绘根据本公开的一些实施方式的能够在自主驾驶环境中进行载具灯分类的示例计算机设备800的框图。
示例计算机设备800可以连接到LAN、内联网、外联网和/或互联网中的其他计算机设备。计算机设备800可以在客户端-服务器网络环境中以服务器的能力进行操作。计算机设备800可以是个人计算机(PC)、机顶盒(STB)、服务器、网络路由器、交换机或桥接器,或者能够执行指定要由该设备采取的动作的一组指令(顺序或不顺序)的任何设备。此外,虽然仅示出单个示例计算机设备,但术语“计算机”也应理解为包括单独或联合执行一组(或多组)指令以执行本文讨论的任何一个或多个方法的计算机的任何集合。
示例计算机设备800可以包括处理设备802(也称为处理器或CPU)、主存储器804(例如,只读存储器(ROM)、闪存、动态随机存取存储器(DRAM)(诸如同步DRAM(SDRAM)等)、静态存储器806(例如,闪存、静态随机存取存储器(SRAM)等)和辅助存储器(例如,数据存储设备818),其可以经由830总线相互通信。
处理设备802(其可以包括处理逻辑803)表示一个或多个通用处理设备,诸如微处理器、中央处理单元等。更特别地,处理设备802可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现其他指令集的处理器或实现指令集组合的处理器。处理设备802也可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。根据本公开的一个或多个方面,处理设备802可以被配置为执行指令,该指令执行在自主载具应用中使用机器学习模型对载具灯进行分类的方法700。
示例计算机设备800还可以包括网络接口设备708,其可以通信地联接到网络820。示例计算机设备800还可以包括视频显示器810(例如,液晶显示器(LCD)、触摸屏或阴极射线管(CRT))、字母数字输入设备812(例如,键盘)、光标控制设备814(例如,鼠标)和声学信号生成设备816(例如,扬声器)。
数据存储设备818可以包括计算机可读存储介质(或更具体地,非暂时性计算机可读存储介质)828,其上存储有一组或多组可执行指令822。根据本公开的一个或多个方面,可执行指令822可以包括执行在自主载具应用中使用机器学习模型对载具灯进行分类的方法700的可执行指令。
可执行指令822还可以在由示例计算机设备800对其执行期间完全或至少部分地驻留在主存储器804内和/或处理设备802内,主存储器804和处理设备802也构成计算机可读存储介质。可执行指令822还可以经由网络接口设备808通过网络发送或接收。
虽然计算机可读存储介质828在图8中被示为单个介质,但术语“计算机可读存储介质”应当被理解为包括存储一组或多组操作指令的单个介质或多个介质(例如,集中式或分布式数据库、和/或关联的高速缓存和服务器)。术语“计算机可读存储介质”还应被理解为包括能够存储或编码一组指令以供机器执行的任何介质,该组指令使该机器执行本文描述的任何一个或多个方法。因此,术语“计算机可读存储介质”应理解为包括但不限于固态存储器以及光和磁介质。
以上详细描述的一些部分是就算法和对计算机存储器内的数据位的操作的符号表示来呈现的。这些算法描述和表示是数据处理领域的技术人员用来最有效地将他们的工作内容传达给本领域的其他技术人员的手段。算法在这里,并且通常被认为是导致期望结果的自洽步骤序列。这些步骤是需要对物理量进行物理操纵的步骤。通常,尽管不是必须的,这些量采用能够被存储、传输、组合、比较和以其他方式操纵的电或磁信号的形式。有时,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、数字等已被证明是方便的。
然而,应当记住,所有这些和类似的术语都与适当的物理量关联并且仅仅是应用于这些量的便利标签。除非另有明确说明,否则从以下讨论中可以明显看出,在整个描述中,利用诸如“识别”、“确定”、“存储”、“调整”、“导致/使/引起”、“返回”、“比较”、“创建”、“停止”、“加载”、“复制”、“掷”、“替换”、“执行”等术语的讨论涉及计算机系统或类似电子计算设备的动作和过程,其操纵计算机系统的寄存器和存储器内表示为物理(电子)量的数据,并将其变换为计算机系统存储器或寄存器或其他这样的信息存储装置、传输或显示设备内类似地表示为物理量的其他数据。
本公开的示例还涉及用于执行本文描述的方法的装置。该装置可以为所需目的而专门构造,或者其可以是由存储在计算机系统中的计算机程序选择性地编程的通用计算机系统。这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的盘(包括光盘、CD-ROM和磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁盘存储介质、光学存储介质、闪存设备、其他类型的机器可访问存储介质或适合存储电子指令的任何类型的介质,其每个都联接到计算机系统总线。
本文呈现的方法和显示不固有地与任何特定的计算机或其他装置相关。根据本文的教导,各种通用系统可以与程序一起使用,或者可以证明构造更专门的装置来执行所需的方法步骤是便利的。各种这些系统所需的结构将看起来是下面的描述中的阐述。此外,本公开的范围不限于任何特定的编程语言。应当理解,可以使用多种编程语言来实现本公开的教导。
应当理解,以上描述旨在是说明性的,而不是限制性的。在阅读和理解以上描述后,许多其他实施示例对于本领域技术人员将是显而易见的。尽管本公开描述了具体示例,但将认识到本公开的系统和方法不限于本文描述的示例,而是可以在所附权利要求的范围内进行修改来实践。因此,应当在说明性意义而非限制性意义上理解说明书和附图。因此,本公开的范围应当参照所附权利要求以及这样的权利要求所赋予的等同物的全部范围来确定。
Claims (22)
1.一种方法,包括:
由处理设备获得表征自主载具(AV)的驾驶环境的图像数据;
由所述处理设备基于所述图像数据识别布置在所述驾驶环境内的载具;
使用第一机器学习模型(MLM)处理所述图像数据;和
使用经处理的图像数据确定所述载具的一个或多个灯的状态。
2.根据权利要求1所述的方法,其中,处理所述图像数据包括:
使用所述第一MLM并基于所述图像数据获得一个或多个特征向量;
使用第二MLM并基于所述一个或多个特征向量获得表示所述载具的一个或多个灯的状态的载具灯分类。
3.根据权利要求2所述的方法,其中,所述特征向量中的每一个是通过处理一系列图像帧中的相应一个而获得的,所述一系列图像帧多次描绘所述载具;并且其中,处理所述一个或多个特征向量包括:
将所述一个或多个特征向量组合成特征向量集合;和
将所述特征向量集合输入到所述第二MLM中。
4.根据权利要求2所述的方法,其中,所述第一MLM和所述第二MLM中的每一个包括至少一个卷积神经元层。
5.根据权利要求2所述的方法,其中,获得所述载具灯分类包括:
接收值集合,所述值集合中的每一个值与一个或多个候选载具灯分类中的相应候选载具灯分类关联;和
基于所述值集合中满足阈值条件的至少一个值,从所述一个或多个候选载具灯分类中选择载具灯分类。
6.根据权利要求1所述的方法,还包括:
由所述处理设备接收表征所述驾驶环境的lidar数据;
由所述处理设备并基于所述lidar数据,确定所述图像数据内的所述载具的边界;和
由所述处理设备基于所述载具的边界裁剪所述图像数据。
7.根据权利要求1所述的方法,其中,所述图像数据包括用第一相机捕获的第一组图像帧和用第二相机捕获的第二组图像帧。
8.根据权利要求7所述的方法,其中,处理所述图像数据包括:
使用所述第一MLM处理所述第一组图像帧以获得第一特征向量集合;
使用第二MLM处理所述第二组图像帧以获得第二特征向量集合;和
使用第三MLM处理所述第一特征向量集合和第二特征向量集合以确定所述载具的一个或多个灯的状态。
9.根据权利要求1所述的方法,还包括:
由所述处理设备基于所述载具的一个或多个灯的状态预测所述载具的将来动作;和
由所述处理设备基于预测的将来动作引起对所述AV的行进路径的更新。
10.根据权利要求1所述的方法,其中,所述第一MLM使用多个训练数据集进行训练,其中,每个训练数据集包括对具有处于操作状态的一个或多个灯的载具的一个或多个描绘,以及识别所述载具的一个或多个灯的操作状态的注释。
11.一种系统,包括:
自主载具(AV)的感测系统,所述感测系统包括:
第一相机,用于捕获表征自主载具(AV)的驾驶环境的第一图像数据;
存储器;和
处理设备,联接到所述存储器,用于:
从所述第一相机获得所述第一图像数据;
基于所述第一图像数据识别布置在所述驾驶环境内的载具;
使用第一机器学习模型(MLM)处理所述第一图像数据;
使用经处理的图像数据确定所述载具的一个或多个灯的状态;和
基于所述载具的一个或多个灯的状态引起对所述AV的行进路径的更新。
12.根据权利要求11所述的系统,其中,所述处理设备还用于:
使用所述第一MLM并基于所述第一图像数据获得一个或多个特征向量;和
使用第二MLM并基于所述一个或多个特征向量,获得表示所述载具的一个或多个灯的状态的载具灯分类。
13.根据权利要求12所述的系统,其中,为了获得所述载具灯分类,所述处理设备还用于:
接收值集合,所述值集合中的每一个值与一个或多个候选载具灯分类中的相应候选载具灯分类关联;和
确定所述值集合中的一个值满足阈值条件。
14.根据权利要求11所述的系统,其中,所述感测系统还包括用于捕获表征所述驾驶环境的lidar数据的lidar传感器,其中,所述处理设备还用于:
从所述lidar传感器接收所述lidar数据;
基于所述lidar数据确定所述图像数据内的所述载具的边界;和
基于所述载具的边界裁剪所述图像数据。
15.根据权利要求11所述的系统,其中:
所述感测系统还包括第二相机,所述第二相机用于捕获表征所述AV的驾驶环境的第二图像数据;以及
所述处理设备还用于使用一个或多个MLM处理所述第二图像数据以获得所述载具的一个或多个灯的状态。
16.根据权利要求15所述的系统,其中,所述处理设备还用于:
使用所述第一MLM模型处理所述第一图像数据以获得第一特征向量集合;
使用第二MLM处理所述第二图像数据以获得第二特征向量集合;和
使用第三MLM处理所述第一特征向量集合和所述第二特征向量集合以确定所述载具的一个或多个灯的状态。
17.根据权利要求11所述的系统,其中,所述第一MLM是使用多个训练数据集进行训练的,其中,每个训练数据集包括对具有处于操作状态的一个或多个灯的载具的一个或多个描绘,以及识别所述载具的一个或多个灯的操作状态的注释。
18.一种方法,包括:
生成用于机器学习模型的训练数据,其中,生成所述训练数据包括:
识别第一训练输入,所述第一训练输入具有描绘第一驾驶环境中的第一载具的第一图像数据;
识别所述第一训练输入的第一目标输出,其中,所述第一目标输出指示与所述第一载具的一个或多个灯的第一识别状态对应的第一载具灯分类;和
提供所述训练数据以在(i)包括所述第一训练输入的训练输入集;和(ii)包括所述第一目标输出的目标输出集上所述训练机器学习模型。
19.根据权利要求18所述的方法,其中,生成所述训练数据还包括:
识别所述第一训练输入的第二目标输出,其中,所述第二目标输出指示与所述第一载具的一个或多个灯的第二状态对应的第二载具灯分类;和
将所述第二目标输出与所述第一目标输出合并。
20.根据权利要求19所述的方法,其中:
识别所述第一目标输出包括从第一选择的候选载具灯分类中选择第一载具灯分类;以及
识别所述第二目标输出包括从第二选择的候选载具灯分类中选择第二载具灯分类;
其中,所述第一选择的候选载具灯分类和所述第二选择的候选载具灯分类是互斥的。
21.根据权利要求20所述的方法,其中,所述第一选择的候选载具灯分类和所述第二选择的候选载具灯分类各自与以下中的至少一个关联:
所述第一载具的一个或多个灯的闪光状态;
所述第一载具的转向状态;或
所述第一载具的行进方向。
22.根据权利要求18所述的方法,还包括:
获得表征自主载具(AV)的第二驾驶环境的图像数据;
基于所述图像数据识别布置在所述第二驾驶环境内的第二载具;和
使用经训练的机器学习模型处理所述图像数据;和
使用经处理的图像数据确定所述第二载具的一个或多个灯的状态。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/531,230 US20230162508A1 (en) | 2021-11-19 | 2021-11-19 | Vehicle light classification system |
US17/531,230 | 2021-11-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116142233A true CN116142233A (zh) | 2023-05-23 |
Family
ID=84488033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211453205.6A Pending CN116142233A (zh) | 2021-11-19 | 2022-11-21 | 载具灯分类系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230162508A1 (zh) |
EP (1) | EP4184452A1 (zh) |
CN (1) | CN116142233A (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11807252B2 (en) * | 2022-02-14 | 2023-11-07 | Here Global B.V. | Method and apparatus for determining vehicle behavior |
CN116788276A (zh) * | 2022-03-15 | 2023-09-22 | 北京图森智途科技有限公司 | 一种车辆控制方法、车辆及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10163017B2 (en) * | 2017-09-01 | 2018-12-25 | GM Global Technology Operations LLC | Systems and methods for vehicle signal light detection |
US11361557B2 (en) * | 2019-01-18 | 2022-06-14 | Toyota Research Institute, Inc. | Attention-based recurrent convolutional network for vehicle taillight recognition |
-
2021
- 2021-11-19 US US17/531,230 patent/US20230162508A1/en active Pending
-
2022
- 2022-11-18 EP EP22208447.7A patent/EP4184452A1/en active Pending
- 2022-11-21 CN CN202211453205.6A patent/CN116142233A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230162508A1 (en) | 2023-05-25 |
EP4184452A1 (en) | 2023-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10579063B2 (en) | Machine learning for predicting locations of objects perceived by autonomous vehicles | |
US20210341927A1 (en) | Verifying Predicted Trajectories Using A Grid-Based Approach | |
CN107644197A (zh) | 后部摄像机车道检测 | |
US11645360B2 (en) | Neural network image processing | |
EP4184452A1 (en) | Vehicle light classification system | |
US11704912B2 (en) | Label-free performance evaluator for traffic light classifier system | |
US20220171389A1 (en) | Techniques for addressing unfavorable road conditions in autonomous trucking applications | |
US20230038842A1 (en) | Association of camera images and radar data in autonomous vehicle applications | |
US11741692B1 (en) | Prediction error scenario mining for machine learning models | |
US20230260266A1 (en) | Camera-radar data fusion for efficient object detection | |
US20220402521A1 (en) | Autonomous path generation with path optimization | |
US11702044B2 (en) | Vehicle sensor cleaning and cooling | |
CN116265862A (zh) | 运载工具、用于运载工具的系统和方法以及存储介质 | |
CN117056153A (zh) | 校准和验证驾驶员辅助系统和/或自动驾驶系统的方法、系统和计算机程序产品 | |
US20230294687A1 (en) | End-to-end processing in automated driving systems | |
EP4227909A1 (en) | Infrared sensing data-assisted classification of vulnerable road users | |
EP4170606A1 (en) | Identification of real and image sign detections in driving applications | |
WO2023158642A1 (en) | Camera-radar data fusion for efficient object detection | |
EP4105605A1 (en) | Implementing synthetic scenes for autonomous vehicles | |
US20230326215A1 (en) | End-to-end object tracking using neural networks with attention | |
US11610412B2 (en) | Vehicle neural network training | |
US20240025446A1 (en) | Motion planning constraints for autonomous vehicles | |
US20230046274A1 (en) | Identification of spurious radar detections in autonomous vehicle applications | |
US11854269B2 (en) | Autonomous vehicle sensor security, authentication and safety | |
US20230351243A1 (en) | Unification of specialized machine-learning models for efficient object detection and classification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |