CN115393677A - 使用融合图像的端到端***训练 - Google Patents
使用融合图像的端到端***训练 Download PDFInfo
- Publication number
- CN115393677A CN115393677A CN202111535347.2A CN202111535347A CN115393677A CN 115393677 A CN115393677 A CN 115393677A CN 202111535347 A CN202111535347 A CN 202111535347A CN 115393677 A CN115393677 A CN 115393677A
- Authority
- CN
- China
- Prior art keywords
- image
- fused
- semantic
- data associated
- network
- 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.)
- Withdrawn
Links
- 238000012549 training Methods 0.000 title abstract description 39
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000000605 extraction Methods 0.000 claims description 79
- 230000004927 fusion Effects 0.000 claims description 28
- 238000013528 artificial neural network Methods 0.000 claims description 9
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 claims description 8
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000004590 computer program Methods 0.000 abstract description 3
- 238000013527 convolutional neural network Methods 0.000 description 85
- 230000008447 perception Effects 0.000 description 60
- 210000002569 neuron Anatomy 0.000 description 47
- 230000006870 function Effects 0.000 description 41
- 238000005070 sampling Methods 0.000 description 30
- 238000004891 communication Methods 0.000 description 25
- 238000007726 management method Methods 0.000 description 24
- 238000010586 diagram Methods 0.000 description 19
- 238000012545 processing Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 14
- 238000001514 detection method Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000002310 reflectometry Methods 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000011176 pooling Methods 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 206010048669 Terminal state Diseases 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002567 autonomic effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000001429 visible spectrum Methods 0.000 description 1
- 230000000007 visual effect Effects 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- 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
- 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
- G01S17/894—3D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
-
- 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/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- 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/75—Determining position or orientation of objects or cameras using feature-based methods involving models
-
- 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
-
- 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/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/751—Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
-
- 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/803—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of input or preprocessed data
-
- 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
- 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/10028—Range image; Depth image; 3D point clouds
-
- 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/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
-
- 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
- G06T2207/30261—Obstacle
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Electromagnetism (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Traffic Control Systems (AREA)
Abstract
提供了用于使用融合图像的端到端感知***训练的方法,该方法可以包括:将不同类型的图像融合以形成融合图像;从融合图像提取特征;计算损失;以及基于损失来修改图像语义网络的至少一个网络参数。还提供了***和计算机程序产品。
Description
技术领域
本发明涉及使用融合图像的端到端***训练的技术。
背景技术
自动驾驶运载工具通常使用多个类型的图像来感知这些自动驾驶运载工具周围的区域。训练这些***以准确地感知区域可能是困难且复杂的。
发明内容
根据本发明的一个方面,提供一种方法,包括:使用图像特征提取网络和至少一个处理器,从第一图像类型的第一图像生成与第一语义图像相关联的语义数据;使用所述至少一个处理器,向第二图像类型的第二图像嵌入与所述语义图像相关联的语义数据,以形成融合图像;使用融合图像网络,从所述融合图像生成与带标注的融合图像相关联的特征数据;使用所述至少一个处理器,基于所述带标注的融合图像与经验证图像的比较来确定损失;以及基于所述损失来修改所述图像特征提取网络的至少一个网络参数,其中所述图像特征提取网络使用至少一个经修改的网络参数来生成与第二语义图像相关联的语义数据。
根据本发明的另一方面,提供一种***,包括:至少一个处理器;以及存储有指令的至少一个非暂时性存储介质,所述指令在由所述至少一个处理器执行时使得所述至少一个处理器用作:图像特征提取网络,其被配置为从第一图像类型的第一图像生成与第一语义图像相关联的语义数据;融合***,其被配置为向第二图像类型的第二图像嵌入与所述语义图像相关联的语义数据,以形成融合图像;融合图像网络,其被配置为从所述融合图像生成与带标注的融合图像相关联的特征数据;以及损失计算器,其被配置为基于所述带标注的融合图像与经验证图像的比较来生成损失,其中,所述图像特征提取网络还被配置为基于所述损失来修改至少一个网络参数,并且使用至少一个经修改的网络参数来生成与第二语义图像相关联的语义数据。
根据本发明的又一方面,提供至少一个非暂时性存储介质,其存储有指令,所述指令在由至少一个处理器执行时,使得所述至少一个处理器进行以下操作:使用图像特征提取网络,从第一图像类型的第一图像生成与第一语义图像相关联的语义数据;向第二图像类型的第二图像嵌入与所述语义图像相关联的语义数据,以形成融合图像;使用融合图像网络,从所述融合图像生成与带标注的融合图像相关联的特征数据;基于所述带标注的融合图像与经验证图像的比较来确定损失;以及基于所述损失来修改所述图像特征提取网络的至少一个网络参数,其中所述图像特征提取网络使用至少一个经修改的网络参数来生成与第二语义图像相关联的语义数据。
附图说明
图1是可以实现包括自主***的一个或多个组件的运载工具的示例环境;
图2是包括自主***的运载工具的一个或多个***的图;
图3是图1和图2的一个或多个装置和/或一个或多个***的组件的图;
图4A是自主***的某些组件的图;
图4B是神经网络的实现的图;
图4C和图4D是例示CNN的示例操作的图;
图5A是例示感知***的端到端训练环境的示例的框图;
图5B和图5C是例示感知***的示例端到端训练操作的操作图;
图6是例示由一个或多个处理器为了训练感知***所实现的例程的示例的流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本公开的透彻理解。然而,本公开所描述的实施例可以在没有这些具体细节的情况下实施将是明显的。在一些实例中,众所周知的构造和装置是以框图形式例示的,以避免不必要地使本公开的方面模糊。
在附图中,为了便于描述,例示了示意要素(诸如表示***、装置、模块、指令块和/或数据要素等的那些要素等)的具体布置或次序。然而,本领域技术人员将要理解,除非明确描述,否则附图中示意要素的具体次序或布置并不意在意味着要求特定的处理次序或序列、或处理的分离。此外,除非明确描述,否则在附图中包含示意要素并不意在意味着在所有实施例中都需要这种要素,也不意在意味着由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
此外,在附图中,连接要素(诸如实线或虚线或箭头等)用于例示两个或更多个其它示意要素之间或之中的连接、关系或关联,没有任何此类连接要素并不意在意味着不能存在连接、关系或关联。换句话说,要素之间的一些连接、关系或关联未在附图中例示,以便不使本公开内容模糊。此外,为了便于例示,可以使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令(例如,“软件指令”)的通信,本领域技术人员应理解,这种要素可以表示影响通信可能需要的一个或多个信号路径(例如,总线)。
尽管使用术语“第一”、“第二”和/或“第三”等来描述各种要素,但这些要素不应受这些术语的限制。术语“第一”、“第二”和/或第三”仅用于区分一个要素与另一要素。例如,在没有背离所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点这两者都是触点,但它们不是相同的触点。
在本文所描述的各种实施例的说明书中使用的术语仅是为了描述特定实施例的目的而包括的,而不是意在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也意在包括复数形式,并且可以与“一个或多个”或者“至少一个”互换使用,除非上下文另有明确说明。还将理解的是,如本文所使用的术语“和/或”是指并且包括关联的列出项中的一个或多个的任何和所有可能的组合。此外,术语“或”以其包括性意义(而不是以其排他性意义)使用,使得在例如用于连接要素的列表时,术语“或”意味着该列表中的要素中的一个、一部分或全部。除非另外具体陈述,否则诸如短语“X、Y和Z中的至少一个”等的析取语言在所使用的上下文中通常被理解为表示项、术语等可以是X、Y或Z,或者它们的任何组合(例如,X、Y或Z)。因而,这样的析取语言通常并不旨在且不应暗示某些实施例需要X中的至少一个、Y中的至少一个和Z中的至少一个各自均存在。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件和/或其群组。
如本文所使用的,术语“通信”和“进行通信”是指信息(或者由例如数据、信号、消息、指令和/或命令等表示的信息)的接收、收到、传输、传送和/或提供等中的至少一者。对于要与另一单元进行通信的一个单元(例如,装置、***、装置或***的组件、以及/或者它们的组合等)而言,这意味着该一个单元能够直接地或间接地从另一单元接收信息和/或向该另一单元发送(例如,传输)信息。这可以是指本质上为有线和/或无线的直接或间接连接。另外,即使可以在第一单元和第二单元之间修改、处理、中继和/或路由所传输的信息,两个单元也可以彼此进行通信。例如,即使第一单元被动地接收信息并且不主动地向第二单元传输信息,第一单元也可以与第二单元进行通信。作为另一示例,如果至少一个中介单元(例如,位于第一单元和第二单元之间的第三单元)处理从第一单元接收到的信息、并将处理后的信息传输至第二单元,则第一单元可以与第二单元进行通信。在一些实施例中,消息可以是指包括数据的网络分组(例如,数据分组等)。
本文所使用的条件语言(诸如“能够”、“可能”、“也许”、“可以”和“例如”等)除非被另外具体陈述或者在如所使用的上下文内以其它方式理解,否则通常旨在传达某些实施例包括某些特征、要素或步骤,而其它实施例不包括某些特征、要素或步骤。因此,这种条件语言通常不旨在暗示:特征、要素或步骤对于一个或多个实施例而言无论如何都是必需的,或者一个或多个实施例必需包括用于在存在或不存在其它输入或提示的情况下决定在任何特定实施例中是否包括或将进行这些特征、要素或步骤的逻辑。如本文所使用的,取决于上下文,术语“如果”可选地被解释为意指“当…时”、“在…时”、“响应于确定为”和/或“响应于检测到”等。类似地,取决于上下文,短语“如果已确定”或“如果检测到[所陈述的条件或事件]”可选地被解释为意指“在确定…时”、“响应于确定为“或”在检测到[所陈述的条件或事件]时”和/或“响应于检测到[所陈述的条件或事件]”等。此外,如本文所使用的,术语“有”、“具有”或“拥有”等旨在是开放式术语。此外,除非另有明确说明,否则短语“基于”意在是意味着“至少部分基于”。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,尚未详细描述众所周知的方法、过程、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
总体概述
在一些方面和/或实施例中,本文所述的***、方法和计算机程序产品包括和/或实现以端到端的方式训练感知***以识别对象的测试***。作为非限制性示例,测试***可以通过以下操作来训练感知***:将lidar图像与(由图像语义网络从照相机图像生成的)语义图像融合,从融合图像提取特征,并且基于地面实况图像和从融合图像提取的特征之间的计算损失来修改图像语义网络中的至少一个网络参数。
借助本文所述的***、方法和计算机程序产品的实现,自主运载工具可以更准确地识别图像内的对象,更准确地识别图像内的所识别对象的地点,更准确地预测图像内的所识别对象的轨迹,确定所识别对象的附加特征,并且推断与图像的场景有关的附加信息。
现在参考图1,例示示例环境100,在该示例环境100中,包括自主***的运载工具以及不包括自主***的运载工具进行操作。如所例示的,环境100包括运载工具102a-102n、对象104a-104n、路线106a-106n、区域108、运载工具到基础设施(V2I)装置110、网络112、远程自主运载工具(AV)***114、队列管理***116和V2I***118。运载工具102a-102n、运载工具到基础设施(V2I)装置110、网络112、自主运载工具(AV)***114、队列管理***116和V2I***118经由有线连接、无线连接、或者有线或无线连接的组合互连(例如,建立用于通信的连接等)。在一些实施例中,对象104a-104n经由有线连接、无线连接、或者有线或无线连接的组合与运载工具102a-102n、运载工具到基础设施(V2I)装置110、网络112、自主运载工具(AV)***114、队列管理***116和V2I***118中的至少一者互连。
运载工具102a-102n(单独称为运载工具102且统称为运载工具102)包括被配置为运输货物和/或人员的至少一个装置。在一些实施例中,运载工具102被配置为与V2I装置110、远程AV***114、队列管理***116和/或V2I***118经由网络112进行通信。在一些实施例中,运载工具102包括小汽车、公共汽车、卡车和/或火车等。在一些实施例中,运载工具102与本文所述的运载工具200(参见图2)相同或类似。在一些实施例中,一组运载工具200中的运载工具200与自主队列管理器相关联。在一些实施例中,如本文所述,运载工具102沿着相应的路线106a-106n(单独称为路线106且统称为路线106)行驶。在一些实施例中,一个或多个运载工具102包括自主***(例如,与自主***202相同或类似的自主***)。
对象104a-104n(单独称为对象104且统称为对象104)例如包括至少一个运载工具、至少一个行人、至少一个骑车者和/或至少一个构造物(例如,建筑物、标志、消防栓等)等。各对象104(例如,位于固定地点处并在一段时间内)是静止的或(例如,具有速度且与至少一个轨迹相关联地)移动。在一些实施例中,对象104与区域108中的相应地点相关联。
路线106a-106n(单独称为路线106且统称为路线106)各自与连接AV可以导航所沿着的状态的一系列动作(也称为轨迹)相关联(例如,规定该一系列动作)。各个路线106始于初始状态(例如,与第一时空地点和/或速度等相对应的状态),并且结束于最终目标状态(例如,与不同于第一时空地点的第二时空地点相对应的状态)或目标区(例如,可接受状态(例如,终止状态)的子空间)。在一些实施例中,第一状态包括一个或多个个体将要搭载AV的地点,并且第二状态或区包括搭载AV的一个或多个个体将要下车的一个或多个地点。在一些实施例中,路线106包括多个可接受的状态序列(例如,多个时空地点序列),这多个状态序列与多个轨迹相关联(例如,限定多个轨迹)。在示例中,路线106仅包括高级别动作或不精确的状态地点,诸如指示在车行道交叉口处转换方向的一系列连接道路等。附加地或可替代地,路线106可以包括更精确的动作或状态,诸如例如车道区域内的特定目标车道或精确地点以及这些位置处的目标速率等。在示例中,路线106包括沿着具有到达中间目标的有限前瞻视界的至少一个高级别动作的多个精确状态序列,其中有限视界状态序列的连续迭代的组合累积地与共同形成在最终目标状态或区处终止的高级别路线的多个轨迹相对应。
区域108包括运载工具102可以导航的物理区域(例如,地理区)。在示例中,区域108包括至少一个州(例如,国家、省、国家中所包括的多个州中的单独州等)、州的至少一部分、至少一个城市、城市的至少一部分等。在一些实施例中,区域108包括至少一个已命名干道(本文称为“道路”),诸如公路、州际公路、公园道路、城市街道等。附加地或可替代地,在一些示例中,区域108包括至少一个未命名道路,诸如行车道、停车场的一段、空地和/或未开发地区的一段、泥路等。在一些实施例中,道路包括至少一个车道(例如,道路的运载工具102可以穿过的部分)。在示例中,道路包括与至少一个车道标记相关联的(例如,基于至少一个车道标记所识别的)至少一个车道。
运载工具到基础设施(V2I)装置110(有时称为运载工具到万物(Vehicle-to-Everything)(V2X)装置)包括被配置为与运载工具102和/或V2I基础设施***118进行通信的至少一个装置。在一些实施例中,V2I装置110被配置为与运载工具102、远程AV***114、队列管理***116和/或V2I***118经由网络112进行通信。在一些实施例中,V2I装置110包括射频识别(RFID)装置、标牌、照相机(例如,二维(2D)和/或三维(3D)照相机)、车道标记、路灯、停车计时器等。在一些实施例中,V2I装置110被配置为直接与运载工具102进行通信。附加地或可替代地,在一些实施例中,V2I装置110被配置为与运载工具102、远程AV***114和/或队列管理***116经由V2I***118进行通信。在一些实施例中,V2I装置110被配置为与V2I***118经由网络112进行通信。
网络112包括一个或多个有线和/或无线网络。在示例中,网络112包括蜂窝网络(例如,长期演进(LTE)网络、第三代(3G)网络、***(4G)网络、第五代(5G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(例如,公共交换电话网(PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等、以及/或者这些网络中的一部分或全部的组合等。
远程AV***114包括被配置为与运载工具102、V2I装置110、网络112、队列管理***116和/或V2I***118经由网络112进行通信的至少一个装置。在示例中,远程AV***114包括服务器、服务器组和/或其它类似装置。在一些实施例中,远程AV***114与队列管理***116位于同一位置。在一些实施例中,远程AV***114参与运载工具的组件(包括自主***、自主运载工具计算和/或由自主运载工具计算实现的软件等)中的一部分或全部的安装。在一些实施例中,远程AV***114在运载工具的寿命期间维护(例如,更新和/或更换)这些组件和/或软件。
队列管理***116包括被配置为与运载工具102、V2I装置110、远程AV***114和/或V2I基础设施***118进行通信的至少一个装置。在示例中,队列管理***116包括服务器、服务器组和/或其它类似装置。在一些实施例中,队列管理***116与拼车公司(例如,用于控制多个运载工具(例如,包括自主***的运载工具和/或不包括自主***的运载工具)的操作等的组织)相关联。
在一些实施例中,V2I***118包括被配置为与运载工具102、V2I装置110、远程AV***114和/或队列管理***116经由网络112进行通信的至少一个装置。在一些示例中,V2I***118被配置为与V2I装置110经由不同于网络112的连接进行通信。在一些实施例中,V2I***118包括服务器、服务器组和/或其它类似装置。在一些实施例中,V2I***118与市政当局或私营机构(例如,用于维护V2I装置110的私营机构等)相关联。
提供图1所例示的要素的数量和布置作为示例。与图1例示的要素相比,可以存在附加的要素、更少的要素、不同的要素和/或不同布置的要素。附加地或可替代地,环境100的至少一个要素可以进行被描述为由图1的至少一个不同要素进行的一个或多个功能。附加地或可替代地,环境100的至少一组要素可以进行被描述为由环境100的至少一个不同组的要素进行的一个或多个功能。
现在参考图2,运载工具200包括自主***202、动力总成控制***204、转向控制***206和制动***208。在一些实施例中,运载工具200与运载工具102(参见图1)相同或类似。在一些实施例中,运载工具200具有自主能力(例如,实现如下的至少一个功能、特征和/或装置等,该至少一个功能、特征和/或装置使得运载工具200能够在无人类干预的情况下部分地或完全地操作,其包括但不限于完全自主运载工具(例如,放弃依赖人类干预的运载工具)和/或高度自主运载工具(例如,在某些情形下放弃依赖人类干预的运载工具)等)。对于完全自主运载工具和高度自主运载工具的详细描述,可以参考SAE国际标准J3016:道路上机动车自动驾驶***相关术语的分类和定义(SAE International's standard J3016:Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle AutomatedDriving Systems),其全部内容通过引用而被包含。在一些实施例中,运载工具200与自主队列管理器和/或拼车公司相关联。
自主***202包括传感器套件,该传感器套件包括诸如照相机202a、LiDAR传感器202b、雷达(radar)传感器202c和麦克风202d等的一个或多个装置。在一些实施例中,自主***202可以包括更多或更少的装置和/或不同的装置(例如,超声波传感器、惯性传感器、(以下论述的)GPS接收器、以及/或者用于生成与运载工具200已行驶的距离的指示相关联的数据的里程计传感器等)。在一些实施例中,自主***202使用自主***202中所包括的一个或多个装置来生成与本文所述的环境100相关联的数据。由自主***202的一个或多个装置生成的数据可以由本文所述的一个或多个***使用以观测运载工具200所位于的环境(例如,环境100)。在一些实施例中,自主***202包括通信装置202e、自主运载工具计算202f和安全控制器202g。
照相机202a包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。照相机202a包括用以捕获包括物理对象(例如,小汽车、公共汽车、路缘和/或人员等)的图像的至少一个照相机(例如,使用诸如电荷耦合器件(CCD)等的光传感器的数字照相机、热照相机、红外(IR)照相机和/或事件照相机等)。在一些实施例中,照相机202a生成照相机数据作为输出。在一些示例中,照相机202a生成包括与图像相关联的图像数据的照相机数据。在该示例中,图像数据可以指定与图像相对应的至少一个参数(例如,诸如曝光、亮度等的图像特性、以及/或者图像时间戳等)。在这样的示例中,图像可以采用格式(例如,RAW、JPEG和/或PNG等)。在一些实施例中,照相机202a包括配置在(例如,定位在)运载工具上以为了立体影像(立体视觉)的目的而捕获图像的多个独立照相机。在一些示例中,照相机202a包括生成图像数据并将该图像数据传输到自主运载工具计算202f和/或队列管理***(例如,与图1的队列管理***116相同或类似的队列管理***)的多个照相机。在这样的示例中,自主运载工具计算202f基于来自至少两个照相机的图像数据来确定多个照相机中的至少两个照相机的视场中的到一个或多个对象的深度。在一些实施例中,照相机202a被配置为捕获在相对于照相机202a的距离(例如,高达100米和/或高达1千米等)内的对象的图像。因此,照相机202a包括为了感知在相对于照相机202a一个或多个距离处的对象而优化的诸如传感器和镜头等的特征。
在实施例中,照相机202a包括被配置为捕获与一个或多个交通灯、街道标志和/或提供视觉导航信息的其它物理对象相关联的一个或多个图像的至少一个照相机。在一些实施例中,照相机202a生成与一个或多个图像相关联的交通灯数据。在一些示例中,照相机202a生成与包括格式(例如,RAW、JPEG和/或PNG等)的一个或多个图像相关联的TLD数据。在一些实施例中,生成TLD数据的照相机202a与本文所述的包含照相机的其它***的不同之处在于:照相机202a可以包括具有宽视场(例如,广角镜头、鱼眼镜头、以及/或者具有约120度或更大的视角的镜头等)的一个或多个照相机,以生成与尽可能多的物理对象有关的图像。
激光检测和测距(LiDAR)传感器202b包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。LiDAR传感器202b包括被配置为从发光器(例如,激光发射器)发射光的***。由LiDAR传感器202b发射的光包括在可见光谱之外的光(例如,红外光等)。在一些实施例中,在操作期间,由LiDAR传感器202b发射的光遇到物理对象(例如,运载工具)并被反射回到LiDAR传感器202b。在一些实施例中,由LiDAR传感器202b发射的光不会穿透该光遇到的物理对象。LiDAR传感器202b还包括至少一个光检测器,该至少一个光检测器在从发光器发射的光遇到物理对象之后检测到该光。在一些实施例中,与LiDAR传感器202b相关联的至少一个数据处理***生成表示LiDAR传感器202b的视场中所包括的对象的图像(例如,点云和/或组合点云等)。在一些示例中,与LiDAR传感器202b相关联的至少一个数据处理***生成表示物理对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在这样的示例中,该图像用于确定LiDAR传感器202b的视场中的物理对象的边界。
无线电检测和测距(雷达)传感器202c包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。雷达传感器202c包括被配置为发射(脉冲的或连续的)无线电波的***。由雷达传感器202c发射的无线电波包括预先确定的频谱内的无线电波。在一些实施例中,在操作期间,由雷达传感器202c发射的无线电波遇到物理对象并被反射回到雷达传感器202c。在一些实施例中,由雷达传感器202c发射的无线电波未被一些对象反射。在一些实施例中,与雷达传感器202c相关联的至少一个数据处理***生成表示雷达传感器202c的视场中所包括的对象的信号。例如,与雷达传感器202c相关联的至少一个数据处理***生成表示物理对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在一些示例中,该图像用于确定雷达传感器202c的视场中的物理对象的边界。
麦克风202d包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。麦克风202d包括捕获音频信号并生成与该音频信号相关联(例如,表示该音频信号)的数据的一个或多个麦克风(例如,阵列麦克风和/或外部麦克风等)。在一些示例中,麦克风202d包括变换器装置和/或类似装置。在一些实施例中,本文所述的一个或多个***可以接收由麦克风202d生成的数据,并基于与该数据相关联的音频信号来确定对象相对于运载工具200的位置(例如,距离等)。
通信装置202e包括被配置为与照相机202a、LiDAR传感器202b、雷达传感器202c、麦克风202d、自主运载工具计算202f、安全控制器202g和/或线控(DBW)***202h进行通信的至少一个装置。例如,通信装置202e可以包括与图3的通信接口314相同或类似的装置。在一些实施例中,通信装置202e包括运载工具到运载工具(V2V)通信装置(例如,用于实现运载工具之间的数据的无线通信的装置)。
自主运载工具计算202f包括被配置为与照相机202a、LiDAR传感器202b、雷达传感器202c、麦克风202d、通信装置202e、安全控制器202g和/或DBW***202h进行通信的至少一个装置。在一些示例中,自主运载工具计算202f包括诸如客户端装置、移动装置(例如,蜂窝电话和/或平板电脑等)和/或服务器(例如,包括一个或多个中央处理单元和/或图形处理单元等的计算装置)等的装置。在一些实施例中,自主运载工具计算202f与本文所述的自主运载工具计算400相同或类似。附加地或可替代地,在一些实施例中,自主运载工具计算202f被配置为与自主运载工具***(例如,与图1的远程AV***114相同或类似的自主运载工具***)、队列管理***(例如,与图1的队列管理***116相同或类似的队列管理***)、V2I装置(例如,与图1的V2I装置110相同或类似的V2I装置)和/或V2I***(例如,与图1的V2I***118相同或类似的V2I***)进行通信。
安全控制器202g包括被配置为与照相机202a、LiDAR传感器202b、雷达传感器202c、麦克风202d、通信装置202e、自主运载工具计算202f和/或DBW***202h进行通信的至少一个装置。在一些示例中,安全控制器202g包括被配置为生成和/或传输控制信号以操作运载工具200的一个或多个装置(例如,动力总成控制***204、转向控制***206和/或制动***208等)的一个或多个控制器(电气控制器和/或机电控制器等)。在一些实施例中,安全控制器202g被配置为生成优先于(例如,覆盖)由自主运载工具计算202f生成和/或传输的控制信号的控制信号。
DBW***202h包括被配置为与通信装置202e和/或自主运载工具计算202f进行通信的至少一个装置。在一些示例中,DBW***202h包括被配置为生成和/或传输控制信号以操作运载工具200的一个或多个装置(例如,动力总成控制***204、转向控制***206和/或制动***208等)的一个或多个控制器(例如,电气控制器和/或机电控制器等)。附加地或可替代地,DBW***202h的一个或多个控制器被配置为生成和/或传输控制信号以操作运载工具200的至少一个不同的装置(例如,转向信号灯、前灯、门锁和/或挡风玻璃雨刮器等)。
动力总成控制***204包括被配置为与DBW***202h进行通信的至少一个装置。在一些示例中,动力总成控制***204包括至少一个控制器和/或致动器等。在一些实施例中,动力总成控制***204从DBW***202h接收控制信号,并且动力总成控制***204使运载工具200开始向前移动、停止向前移动、开始向后移动、停止向后移动、沿某方向加速、沿某方向减速、进行左转和/或进行右转等。在示例中,动力总成控制***204使提供至运载工具的马达的能量(例如,燃料和/或电力等)增加、保持相同或减少,由此使运载工具200的至少一个轮旋转或不旋转。
转向控制***206包括被配置为使运载工具200的一个或多个轮旋转的至少一个装置。在一些示例中,转向控制***206包括至少一个控制器和/或致动器等。在一些实施例中,转向控制***206使运载工具200的两个前轮和/或两个后轮向左或向右旋转,以使运载工具200左转或右转。
制动***208包括被配置为使一个或多个制动器致动以使运载工具200减速和/或保持静止的至少一个装置。在一些示例中,制动***208包括被配置为使与运载工具200的一个或多个轮相关联的一个或多个卡钳在运载工具200的相应转子上闭合的至少一个控制器和/或致动器。附加地或可替代地,在一些示例中,制动***208包括自动紧急制动(AEB)***和/或再生制动***等。
在一些实施例中,运载工具200包括用于测量或推断运载工具200的状态或条件的性质的至少一个平台传感器(未明确例示出)。在一些示例中,运载工具200包括诸如全球定位***(GPS)接收器、惯性测量单元(IMU)、轮速率传感器、轮制动压力传感器、轮转矩传感器、引擎转矩传感器和/或转向角传感器等的平台传感器。
现在参考图3,例示装置300的示意图。如所例示的,装置300包括处理器304、存储器306、存储组件308、输入接口310、输出接口312、通信接口314和总线302。在一些实施例中,装置300对应于:运载工具102的至少一个装置(例如,运载工具102的***的至少一个装置);以及/或者网络112的一个或多个装置(例如,网络112的***的一个或多个装置)。在一些实施例中,运载工具102的一个或多个装置(例如,运载工具102的***的一个或多个装置)、以及/或者网络112的一个或多个装置(例如,网络112的***的一个或多个装置)包括至少一个装置300和/或装置300的至少一个组件。如图3所示,装置300包括总线302、处理器304、存储器306、存储组件308、输入接口310、输出接口312和通信接口314。
总线302包括许可装置300的组件之间的通信的组件。在一些实施例中,处理器304以硬件、软件、或者硬件和软件的组合来实现。在一些示例中,处理器304包括处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或加速处理单元(APU)等)、麦克风、数字信号处理器(DSP)、以及/或者可被编程为进行至少一个功能的任意处理组件(例如,现场可编程门阵列(FPGA)和/或专用集成电路(ASIC)等)。存储器306包括随机存取存储器(RAM)、只读存储器(ROM)、以及/或者存储供处理器304使用的数据和/或指令的另一类型的动态和/或静态存储装置(例如,闪速存储器、磁存储器和/或光存储器等)。
存储组件308存储与装置300的操作和使用相关的数据和/或软件。在一些示例中,存储组件308包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘等)、紧凑盘(CD)、数字多功能盘(DVD)、软盘、盒式磁带、磁带、CD-ROM、RAM、PROM、EPROM、FLASH-EPROM、NV-RAM和/或另一类型的计算机可读介质、以及相应的驱动器。
输入接口310包括许可装置300诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风和/或照相机等)等接收信息的组件。附加地或可替代地,在一些实施例中,输入接口310包括用于感测信息的传感器(例如,全球定位***(GPS)接收器、加速度计、陀螺仪和/或致动器等)。输出接口312包括用于提供来自装置300的输出信息的组件(例如,显示器、扬声器和/或一个或多个发光二极管(LED)等)。
在一些实施例中,通信接口314包括许可装置300与其它装置经由有线连接、无线连接、或者有线连接和无线连接的组合进行通信的类似收发器那样的组件(例如,收发器和/或单独的接收器和发射器等)。在一些示例中,通信接口314许可装置300从另一装置接收信息和/或向另一装置提供信息。在一些示例中,通信接口314包括以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、接口和/或蜂窝网络接口等。
在一些实施例中,装置300进行本文所述的一个或多个处理。装置300基于处理器304执行由诸如存储器305和/或存储组件308等的计算机可读介质所存储的软件指令来进行这些处理。计算机可读介质(例如,非暂时性计算机可读介质)在本文被限定为非暂时性存储器装置。非暂时性存储器装置包括位于单个物理存储装置内的存储空间或跨多个物理存储装置分布的存储空间。
在一些实施例中,经由通信接口314从另一计算机可读介质或从另一装置将软件指令读取到存储器306和/或存储组件308中。存储器306和/或存储组件308中所存储的软件指令在执行时,使处理器304进行本文所述的一个或多个处理。附加地或可替代地,代替软件指令或与软件指令组合使用硬连线电路以进行本文所述的一个或多个处理。因此,除非另外明确说明,否则本文所描述的实施例不限于硬件电路和软件的任何特定组合。
存储器306和/或存储组件308包括数据存储部或至少一个数据结构(例如,数据库等)。装置300能够从存储器306或存储组件308中的数据存储部或至少一个数据结构接收信息,将信息存储在该数据存储部或至少一个数据结构中,将信息通信至该数据存储部或至少一个数据结构,或者搜索该数据存储部或至少一个数据结构中所存储的信息。在一些示例中,该信息包括网络数据、输入数据、输出数据或其任何组合。
在一些实施例中,装置300被配置为执行存储在存储器306和/或另一装置(例如,与装置300相同或类似的另一装置)的存储器中的软件指令。如本文所使用的,术语“模块”是指存储器306和/或另一装置的存储器中所存储的至少一个指令,该至少一个指令在由处理器304和/或另一装置(例如,与装置300相同或类似的另一装置)的处理器执行时,使装置300(例如,装置300的至少一个组件)进行本文所述的一个或多个处理。在一些实施例中,模块以软件、固件和/或硬件等来实现。
提供图3所例示的组件的数量和布置作为示例。在一些实施例中,与图3所例示的组件相比,装置300可以包括附加的组件、更少的组件、不同的组件或不同布置的组件。附加地或可替代地,装置300的一组组件(例如,一个或多个组件)可以进行被描述为由装置300的另一组件或另一组组件进行的一个或多个功能。
现在参考图4,例示出自主运载工具计算400(有时称为“AV堆栈”)的示例框图。如所例示的,自主运载工具计算400包括感知***402(有时称为感知模块)、规划***404(有时称为规划模块)、定位***406(有时称为定位模块)、控制***408(有时称为控制模块)和数据库410。在一些实施例中,感知***402、规划***404、定位***406、控制***408和数据库410包括在运载工具的自动导航***(例如,运载工具200的自主运载工具计算202f)中和/或在该自动导航***中实现。附加地或可替代地,在一些实施例中,感知***402、规划***404、定位***406、控制***408和数据库410包括在一个或多个独立***(例如,与自主运载工具计算400相同或类似的一个或多个***等)中。在一些示例中,感知***402、规划***404、定位***406、控制***408和数据库41包括在位于运载工具中的一个或多个独立***以及/或者如本文所述的至少一个远程***中。在一些实施例中,自主运载工具计算400中所包括的***中的任意和/或全部以软件(例如,存储器中所存储的软件指令)、计算机硬件(例如,通过微处理器、微控制器、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)等)、或者计算机软件和计算机硬件的组合来实现。还将理解,在一些实施例中,自主运载工具计算400被配置为与远程***(例如,与远程AV***114相同或类似的自主运载工具***、与队列管理***116相同或类似的队列管理***116、以及/或者与V2I***118相同或类似的V2I***等)进行通信。
在一些实施例中,感知***402接收与环境中的至少一个物理对象相关联的数据(例如,感知***402检测至少一个物理对象所使用的数据),并对该至少一个物理对象进行分类。在一些示例中,感知***402接收由至少一个照相机(例如,照相机202a)捕获到的图像数据,该图像与该至少一个照相机的视场内的一个或多个物理对象相关联(例如,表示该一个或多个物理对象)。在这样的示例中,感知***402基于物理对象(例如,自行车、运载工具、交通标志和/或行人等)的一个或多个分组来对至少一个物理对象进行分类。在一些实施例中,基于感知***402对物理对象进行分类,感知***402将与物理对象的分类相关联的数据传输到规划***404。
在一些实施例中,规划***404接收与目的地相关联的数据,并且生成与运载工具(例如,运载工具102)可以朝向目的地行驶所沿着的至少一个路线(例如,路线106)相关联的数据。在一些实施例中,规划***404定期地或连续地从感知***402接收数据(例如,上述的与物理对象的分类相关联的数据),并且规划***404基于感知***402所生成的数据来更新至少一个轨迹或生成至少一个不同轨迹。在一些实施例中,规划***404从定位***406接收与运载工具(例如,运载工具102)的更新位置相关联的数据,并且规划***404基于定位***406所生成的数据来更新至少一个轨迹或生成至少一个不同轨迹。
在一些实施例中,定位***406接收与运载工具(例如,运载工具102)在区域中的地点相关联(例如,表示该地点)的数据。在一些示例中,定位***406接收与至少一个LiDAR传感器(例如,LiDAR传感器202b)所生成的至少一个点云相关联的LiDAR数据。在某些示例中,定位***406从多个LiDAR传感器接收与至少一个点云相关联的数据,并且定位***406基于各个点云来生成组合点云。在这些示例中,定位***406将该至少一个点云或组合点云与数据库410中所存储的区域的二维(2D)和/或三维(3D)地图进行比较。然后,基于定位***406将至少一个点云或组合点云与地图进行比较,定位***406确定运载工具在区域中的位置。在一些实施例中,地图包括运载工具的导航之前生成的该区域的组合点云。在一些实施例中,地图包括但不限于车行道几何性质的高精度地图、描述道路网连接性质的地图、描述车行道物理性质(诸如交通速率、交通流量、运载工具和自行车交通车道的数量、车道宽度、车道交通方向或车道标记的类型和地点、或者它们的组合等)的地图、以及描述道路特征(诸如人行横道、交通标志或各种类型的其它行驶信号灯等)的空间地点的地图。在一些实施例中,基于感知***所接收到的数据来实时地生成地图。
在另一示例中,定位***406接收由全球定位***(GPS)接收器所生成的全球导航卫星***(GNSS)数据。在一些示例中,定位***406接收与运载工具在区域中的地点相关联的GNSS数据,并且定位***406确定运载工具在区域中的纬度和经度。在这样的示例中,定位***406基于运载工具的纬度和经度来确定运载工具在区域中的位置。在一些实施例中,定位***406生成与运载工具的位置相关联的数据。在一些示例中,基于定位***406确定运载工具的位置,定位***406生成与运载工具的位置相关联的数据。在这样的示例中,与运载工具的位置相关联的数据包括与对应于运载工具的位置的一个或多个语义性质相关联的数据。
在一些实施例中,控制***408从规划***404接收与至少一个轨迹相关联的数据,并且控制***408控制运载工具的操作。在一些示例中,控制***408从规划***404接收与至少一个轨迹相关联的数据,并且控制***408通过生成并传输控制信号以使动力总成控制***(例如,DBW***202h和/或动力总成控制***204等)、转向控制***(例如,转向控制***206)和/或制动***(例如,制动***208)进行操作,来控制运载工具的操作。在示例中,在轨迹包括左转的情况下,控制***408传输控制信号以使转向控制***206调整运载工具200的转向角,由此使运载工具200左转。附加地或可替代地,控制***408生成并传输控制信号以使运载工具200的其它装置(例如,前灯、转向信号灯、门锁和/或挡风玻璃雨刮器等)改变状态。
在一些实施例中,感知***402、规划***404、定位***406和/或控制***408实现至少一个机器学习模型(例如,至少一个多层感知器(MLP)、至少一个卷积神经网络(CNN)、至少一个递归神经网络(RNN)、至少一个自动编码器和/或至少一个变换器等)。在一些示例中,感知***402、规划***404、定位***406和/或控制***408单独地或与上述***中的一个或多个结合地实现至少一个机器学习模型。在一些示例中,感知***402、规划***404、定位***406和/或控制***408实现至少一个机器学习模型作为管道(例如,用于识别位于环境中的一个或多个对象的管道等)的一部分。以下关于图4B至图4D包括机器学习模型的实现的示例。
数据库410存储传输至感知***402、规划***404、定位***406和/或控制***408的、从其接收到的、以及/或者由其更新的数据。在一些示例中,数据库410包括用于存储与操作相关的数据和/或软件、并使用自主运载工具计算400的至少一个***的存储组件(例如,与图3的存储组件308相同或类似的存储组件)。在一些实施例中,数据库410存储与至少一个区域的2D和/或3D地图相关联的数据。在一些示例中,数据库410存储与城市的一部分、多个城市的多个部分、多个城市、县、州和/或国家(State)(例如,国家)等的2D和/或3D地图相关联的数据。在这样的示例中,运载工具(例如,与运载工具102和/或运载工具200相同或类似的运载工具)可以沿着一个或多个可驾驶区(例如,单车道道路、多车道道路、高速公路、偏僻道路和/或越野道路等)驾驶,并且使至少一个LiDAR传感器(例如,与LiDAR传感器202b相同或类似的LiDAR传感器)生成与表示该至少一个LiDAR传感器的视场中所包括的对象的图像相关联的数据。
在一些实施例中,数据库410可以跨多个装置来实现。在一些示例中,数据库410包括在运载工具(例如,与运载工具102和/或运载工具200相同或类似的运载工具)、自主运载工具***(例如,与远程AV***114相同或类似的自主运载工具***)、队列管理***(例如,与图1的队列管理***116相同或类似的队列管理***)中和/或V2I***(例如,与图1的V2I***118相同或类似的V2I***)等中。
现在参考图4B,例示机器学习模型的实现的图。更具体地,例示卷积神经网络(CNN)420的实现的图。为了说明的目的,CNN 420的以下说明将关于通过感知***402实现CNN 420。然而,将理解,在一些示例中,CNN 420(例如,CNN 420的一个或多个组件)由不同于感知***402的或除感知***402之外的其它***(诸如规划***404、定位***406和/或控制***408等)来实现。尽管CNN 420包括如本文所述的某些特征,但这些特征是为了说明的目的而提供的,并且不旨在限制本公开。
CNN 420包括包含第一卷积层422、第二卷积层424和卷积层426的多个卷积层。在一些实施例中,CNN 420包括子采样层428(有时称为池化层)。在一些实施例中,子采样层428和/或其它子采样层具有比上游***的维度(即,节点的量)小的维度。借助于具有比上游层的维度小的维度的子采样层428,CNN 420合并与上游层的初始输入和/或输出相关联的数据量,由此减少CNN 420进行下游卷积运算所需的计算量。附加地或可替代地,借助于子采样层428与至少一个子采样函数相关联(例如,被配置为进行至少一个子采样函数)(如以下关于图4C和图4D所描述的),CNN 420合并与初始输入相关联的数据量。
基于感知***402提供与第一卷积层422、第二卷积层424和卷积层426各自相关联的相应输入和/或输出以生成相应输出,感知***402进行卷积运算。在一些示例中,基于感知***402将数据作为输入提供至第一卷积层422、第二卷积层424和卷积层426,感知***402实现CNN 420。在这样的示例中,基于感知***402从一个或多个不同***(例如,与运载工具102相同或相似的运载工具的一个或多个***、与远程AV***114相同或相似的远程AV***、与队列管理***116相同或相似的队列管理***、以及/或者与V2I***118相同或相似的V2I***等)接收数据,感知***402将数据作为输入提供至第一卷积层422、第二卷积层424和卷积层426。以下关于图4C包括卷积运算的详细说明。
在一些实施例中,感知***402将与输入(称为初始输入)相关联的数据提供至第一卷积层422,并且感知***402使用第一卷积层422生成与输出相关联的数据。在一些实施例中,感知***402将由卷积层生成的输出作为输入提供至不同的卷积层。例如,感知***402将第一卷积层422的输出作为输入提供至子采样层428、第二卷积层424和/或卷积层426。在这样的示例中,第一卷积层422被称为上游层,并且子采样层428、第二卷积层424和/或卷积层426被称为下游层。类似地,在一些实施例中,感知***402将子采样层428的输出提供至第二卷积层424和/或卷积层426,并且在该示例中,子采样层428将被称为上游层,并且第二卷积层424和/或卷积层426将被称为下游层。
在一些实施例中,在感知***402向CNN 420提供输入之前,感知***402对与提供至CNN 420的输入相关联的数据进行处理。例如,基于感知***402对传感器数据(例如,图像数据、LiDAR数据和/或雷达数据等)进行归一化,感知***402对与提供至CNN 420的输入相关联的数据进行处理。
在一些实施例中,基于CNN 420进行与各个卷积层相关联的卷积运算,感知***402生成输出。在一些示例中,基于感知***402进行与各个卷积层和初始输入相关联的卷积运算,CNN 420生成输出。在一些实施例中,感知***402生成输出并将该输出提供至全连接层430。在一些示例中,感知***402将卷积层426的输出提供至全连接层430,其中全连接层430包括与被称为F1、F2、...、FN的多个特征值相关联的数据。在该示例中,卷积层426的输出包括与表示预测的多个输出特征值相关联的数据。
在一些实施例中,基于感知***402识别与作为多个预测中的正确预测的最高可能性相关联的特征值,感知***402从这多个预测中识别预测。例如,在全连接层430包括特征值F1、F2、...、FN并且F1是最大特征值的情况下,感知***402将与F1相关联的预测识别为多个预测中的正确预测。在一些实施例中,感知***402训练CNN 420以生成预测。在一些示例中,基于感知***402将与预测相关联的训练数据提供至CNN 420,感知***402训练CNN 420以生成预测。
现在参考图4C和图4D,例示利用感知***402的CNN 440的示例操作的图。在一些实施例中,CNN 440(例如,CNN 440的一个或多个组件)与CNN 420(例如,CNN 420的一个或多个组件)(参见图4B)相同或相似。
在步骤450,感知***402将与图像相关联的数据作为输入提供至CNN 440(步骤450)。例如,如所例示的,感知***402将与图像相关联的数据提供至CNN 440,其中该图像是表示为以二维(2D)阵列存储的值的灰度图像。在一些实施例中,与图像相关联的数据可以包括与彩色图像相关联的数据,该彩色图像被表示为以三维(3D)阵列存储的值。附加地或可替代地,与图像相关联的数据可以包括与红外图像和/或雷达图像等相关联的数据。
在步骤455,CNN 440执行第一卷积函数。例如,基于CNN 440将表示图像的值作为输入提供至第一卷积层442中所包括的一个或多个神经元(未明确例示出),CNN 440执行第一卷积函数。在该示例中,表示图像的值可以对应于表示图像的区(有时称为感受野)的值。在一些实施例中,各个神经元与滤波器(未明确例示出)相关联。滤波器(有时称为内核)可表示为在大小上与作为输入提供至神经元的值相对应的值阵列。在一个示例中,滤波器可被配置为识别边缘(例如,水平线、垂直线和/或直线等)。在连续的卷积层中,与神经元相关联的滤波器可被配置为连续地识别更复杂的图案(例如,弧和/或对象等)。
在一些实施例中,基于CNN 440将作为输入提供至第一卷积层442中所包括的一个或多个神经元中的各个神经元的值与同一个或多个神经元中的各个神经元相对应的滤波器的值相乘,CNN 440执行第一卷积函数。例如,CNN 440可以将作为输入提供至第一卷积层442中所包括的一个或多个神经元中的各个神经元的值与同该一个或多个神经元中的各个神经元相对应的滤波器的值相乘,以生成单个值或值阵列作为输出。在一些实施例中,第一卷积层442的神经元的集体输出被称为卷积输出。在一些实施例中,在各个神经元具有相同滤波器的情况下,卷积输出被称为特征图。
在一些实施例中,CNN 440将第一卷积层442的各个神经元的输出提供至下游层的神经元。为了清楚起见,上游层可以是将数据传输至不同层(称为下游层)的层。例如,CNN440可以将第一卷积层442的各个神经元的输出提供至子采样层的相应神经元。在示例中,CNN 440将第一卷积层442的各个神经元的输出提供至第一子采样层444的相应神经元。在一些实施例中,CNN 440向提供至下游层的各个神经元的所有值的集合添加偏置值。例如,CNN 440向提供至第一子采样层444的各个神经元的所有值的集合添加偏置值。在这样的示例中,CNN 440基于提供至各个神经元的所有值的集合和与第一子采样层444的各个神经元相关联的激活函数来确定要提供至第一子采样层444的各个神经元的最终值。
在步骤460,CNN 440执行第一子采样函数。例如,基于CNN 440将由第一卷积层442输出的值提供至第一子采样层444的相应神经元,CNN 440可以执行第一子采样函数。在一些实施例中,CNN 440基于聚合函数来执行第一子采样函数。在示例中,基于CNN 440确定提供至给定神经元的值中的最大输入(称为最大池化函数),CNN 440执行第一子采样函数。在另一示例中,基于CNN 440确定提供至给定神经元的值中的平均输入(称为平均池化函数),CNN 440执行第一子采样函数。在一些实施例中,基于CNN 440向第一子采样层444的各个神经元提供值,CNN 440生成输出,该输出有时被称为子采样卷积输出。
在步骤465,CNN 440执行第二卷积函数。在一些实施例中,CNN 440以与上述的CNN440如何执行第一卷积函数类似的方式执行第二卷积函数。在一些实施例中,基于CNN 440将由第一子采样层444输出的值作为输入提供至第二卷积层446中所包括的一个或多个神经元(未明确例示出),CNN 440执行第二卷积函数。在一些实施例中,如上所述,第二卷积层446的各个神经元与滤波器相关联。如上所述,与第二卷积层446相关联的(一个或多个)滤波器与同第一卷积层442相关联的滤波器相比可被配置为识别更复杂的图案。
在一些实施例中,基于CNN 440将作为输入提供至第二卷积层446中所包括的一个或多个神经元中的各个神经元的值与同该一个或多个神经元中的各个神经元相对应的滤波器的值相乘,CNN 440执行第二卷积函数。例如,CNN 440可以将作为输入提供至第二卷积层446中所包括的一个或多个神经元中的各个神经元的值与同该一个或多个神经元中的各个神经元相对应的滤波器的值相乘,以生成单个值或值阵列作为输出。
在一些实施例中,CNN 440将第二卷积层446的各个神经元的输出提供至下游层的神经元。例如,CNN 440可以将第一卷积层442的各个神经元的输出提供至子采样层的相应神经元。在示例中,CNN 440将第一卷积层442的各个神经元的输出提供至第二子采样层448的相应神经元。在一些实施例中,CNN 440向提供至下游层的各个神经元的所有值的集合添加偏置值。例如,CNN 440向提供至第二子采样层448的各个神经元的所有值的集合添加偏置值。在这样的示例中,CNN 440基于提供至各个神经元的所有值的集合和与第二子采样层448的各个神经元相关联的激活函数来确定提供至第二子采样层448的各个神经元的最终值。
在步骤470,CNN 440执行第二子采样函数。例如,基于CNN 440将由第二卷积层446输出的值提供至第二子采样层448的相应神经元,CNN 440可以执行第二子采样函数。在一些实施例中,基于CNN 440使用聚合函数,CNN 440执行第二子采样函数。在示例中,如上所述,基于CNN 440确定提供至给定神经元的值中的最大输入或平均输入,CNN 440执行第一子采样函数。在一些实施例中,基于CNN 440向第二子采样层448的各个神经元提供值,CNN440生成输出。
在步骤475,CNN 440将第二子采样层448的各个神经元的输出提供至全连接层449。例如,CNN 440将第二子采样层448的各个神经元的输出提供至全连接层449,以使得全连接层449生成输出。在一些实施例中,全连接层449被配置成生成与预测(有时称为分类)相关联的输出。预测可以包括作为输入提供至CNN 440的图像中所包括的对象包括对象和/或一组对象等的指示。在一些实施例中,感知***402进行一个或多个操作以及/或者将与预测相关联的数据提供至本文所述的不同***。
训练***
图5A是例示感知***402所用的端到端训练***500的示例的框图。训练***500可用于以端到端的方式训练感知***402以使用融合图像提取语义特征。融合图像可以源自诸如照相机图像和lidar图像等的不同类型的图像的组合。所提取的语义特征可以包括但不限于:图像中的对象的宽度、高度和长度、对象分类或类标签、对象的边界框、对象移动、对象朝向、对象轨迹预测、对象属性(例如,交通灯状况(例如,红色、绿色、黄色、闪烁等)或者右/左转信号闪烁或危险警示灯闪烁的小汽车等)等),等等。
通过以端到端的方式训练感知***以使用融合图像提取语义特征,训练***500可以提高感知***402的以下能力:准确地检测图像内的对象;准确地检测图像内的对象的地点;预测各对象的将来轨迹(例如,确定小汽车的右转信号是否开启,这将使得***能够预测到小汽车运载工具将要进行右转,从而可以使轨迹预测任务更容易);以及将更多有用的语义数据提供至融合图像网络,并进行多任务功能(例如,并发地或同时地输出基于图像的语义分割任务、基于lidar的语义分割任务、3D对象检测任务和/或3D对象预测)。改进的感知***402反过来可以提高自主运载工具计算400和自主***202的安全性、准确性和可靠性。
在图5A的例示示例中,训练***500包括不同类型的图像501a、501b(单独地或共同地被称为图像501)、感知***402、损失计算器508和经验证图像510。可以存在与图5A所例示的元件相比附加的元件、更少的元件、不同的元件和/或以不同方式布置的元件。附加地或可替代地,训练***500的至少一个元件可以进行被描述为由图5A的至少一个不同元件进行的一个或多个功能。例如,损失计算器508的功能可以由融合图像网络506进行、以及/或者损失计算器508可以形成感知***402的一部分。附加地或可替代地,训练***500的至少一组元件可以进行被描述为由训练***500的至少一个不同组的元件进行的一个或多个功能。
图像501和经验证图像510可以包括与如下的传感器或装置相对应的不同类型的图像,该传感器或装置用于生成这些图像。例如,图像501a可以是从诸如照相机202a等的一个或多个照相机生成的照相机图像。图像501b例如可以是从诸如lidar传感器202b等的一个或多个lidar传感器生成的lidar图像。可以使用其它图像类型,诸如从一个或多个雷达传感器生成的(例如,从雷达传感器202c生成的)雷达图像等。
图像501和经验证图像510可被作为一个或多个数据集存储在一个或多个数据存储部中。例如,图像501a可被作为一个或多个数据集存储在一个数据存储部中,并且图像501b可被作为一个或多个数据集存储在不同的数据存储部中。作为另一示例,图像501可被作为不同的数据集存储在相同数据存储部中。因此,相同类型的图像501可被作为一个或多个数据集一起存储,并且不同类型的图像可被存储在不同的数据存储部中以及/或者可被存储为相同数据存储部的不同数据集,等等。图像501和经验证图像510的数据集可以是开源数据集和/或专有数据集。
在一些情况下,图像501和经验证图像510的数据集可以是不同的大小或者具有不同数量的图像。例如,照相机图像数据集与lidar图像数据集和/或雷达图像数据集相比可以更大和/或具有更多图像,或者反之亦然。
对于数据集的一部分或全部图像,数据集可以包括图像的未标注版本或干净版本(例如,图像501)、以及相同图像的相应标注版本(例如,图像510)。带标注的图像510在这里也可被称为可信图像和/或经验证图像510。在某些情况下,对于数据集的各个图像,数据集可以包括图像(例如,图像501)和该图像的标注。在一些这样的情况下,标注单独或与图像组合可被称为经验证图像510。
经验证图像510可以包括诸如但不限于以下等的由用户标注的特征:图像中的对象的宽度、高度和长度、对象分类或类标签(例如,运载工具、行人、自行车、障碍物、交通锥标、可驾驶面或背景等)、对象的边界框、对象移动(例如,速度等)、对象朝向、对象属性(例如,交通灯状况(例如,红色、绿色、黄色、闪烁等)或者右/左转信号闪烁或危险警示灯闪烁的小汽车等)、对象轨迹预测,等等。经验证图像510可以由人来进行标注并用于损失计算以训练感知***402。在某些情况下,经验证图像510也可被称为地面实况图像,并且经验证图像的图像数据也可被称为地面实况图像数据。
在图5A的例示示例中,感知***402包括图像特征提取网络502、融合***504和融合图像网络506。可以存在与图5A所例示的元件相比附加的元件、更少的元件、不同的元件和/或以不同方式布置的元件。附加地或可替代地,感知***402的至少一个元件可以进行被描述为由图5A的至少一个不同元件进行的一个或多个功能。附加地或可替代地,感知***402的至少一组元件可以进行被描述为由感知***402的至少一个不同组的元件进行的一个或多个功能。
图像特征提取网络
图像特征提取网络502可以使用与CNN 420相同或相似的一个或多个CNN来实现,并且可被配置为接收与图像501相关联的图像数据作为输入,并且输出语义图像和/或与语义图像相关联的语义数据。
在某些情况下,图像特征提取网络502可以使用DeepLabv3+或PSP+神经网络模型来实现。然而,将理解,可以使用各种神经网络来从图像提取特征。在一些情况下,图像501可以是照相机图像,然而,将理解,可以使用各种类型的图像作为向图像特征提取网络502的输入。
如本文所述,至少参考CNN 420,图像特征提取网络502可以包括可用于识别并分类图像501中的不同对象(例如,运载工具、行人、自行车、障碍物、交通锥标、可驾驶面或背景等)的一个或多个滤波器、卷积层、子采样层和/或全连接层。因此,在某些情况下,由图像特征提取网络502输出的语义数据可以识别图像501中的一个或多个对象以及各个对象的对象分类。
语义图像可以包括像素行。语义图像中的一部分或全部像素可以包括诸如一个或多个特征嵌入等的语义数据。在某些情况下,特征嵌入可以涉及诸如但不限于以下等的一个或多个对象属性:对象分类或识别对象的分类(有时称为对象的类)的类标签(非限制性示例:运载工具、行人、自行车、障碍物、交通锥标、可驾驶面或背景等)。对象分类也可被称为像素类概率或语义分割得分。在一些情况下,图像501的像素的对象分类可以用作图像501的紧凑总结特征。例如,对象分类可以包括指示正确预测出像素的所识别的对象分类的概率的概率值。
在一些情况下,特征嵌入可以包括一个或多个n维特征向量。在一些这样的情况下,个体特征向量可以不对应于对象属性,但多个n维特征向量的组合可以包含与对象的属性(诸如但不限于对象的分类、宽度、长度、高度等)有关的信息。在某些情况下,特征嵌入可以包括一个或多个浮点数,这可以辅助下游模型进行其检测/分割/预测的任务。
融合***
融合***504可以使用一个或多个处理器来实现,并且可被配置为将不同类型的图像融合在一起以形成融合图像。例如,融合***504可以将lidar图像和照相机图像、雷达图像和照相机图像、lidar图像和雷达图像、以及/或者lidar图像、雷达图像和照相机图像融合,以形成融合图像。在某些情况(诸如融合***504将lidar图像、雷达图像和照相机图像融合的情况等)下,融合图像可以包括3D场景,其中3D场景中的各个点包括lidar数据、雷达数据和投影像素值。
在一些情况下,在融合图像时,融合***504可以将图像从一个坐标框架类型(例如,lidar坐标框架)变换为另一坐标框架类型(例如,照相机坐标框架或鸟瞰视图)。例如,融合***可以将lidar图像(例如,3D点云)变换为鸟瞰视图图像,并且可以将鸟瞰视图图像的像素与来自语义图像的像素融合。
在某些情况下,可以将来自一个类型的图像的各个像素映射到来自不同类型的另一图像的像素或者与来自不同类型的另一图像的像素融合。如此得到的像素在本文也可被称为融合像素。在某些情况下,融合***504将来自图像的相应像素(例如,各个图像的相同x、y位置处的像素)融合。
在一些情况下,将来自第一图像的像素的仅一部分映射到来自第二图像的像素或者与来自第二图像的像素融合。例如,图像的图像大小可以不同,使得来自第一图像的像素不能被映射到第二图像(例如,第一图像大于第二图像)或者第二图像中的像素不能被映射到第一图像(例如,第二图像大于第一图像)。
作为另一非限制性示例,来自较低分辨率图像的各个像素可被映射到较高分辨率图像中的像素,而并非所有来自较高分辨率图像的像素都可被映射到较低分辨率图像中的像素。在一些这样的情况下,来自较高分辨率图像的像素在存在较低分辨率的相应像素的情况下,可被映射到低分辨率图像中的像素。例如,lidar图像与照相机图像相比可以具有更高或更低的分辨率。在一些这样的情况下,照相机图像中的像素的仅一部分可被映射到lidar图像中的像素或者与lidar图像中的像素融合。
在要融合的图像其中之一是语义图像的情况下,可以将来自语义图像的语义数据映射到第二图像或者与第二图像融合。例如,融合像素可以包括与语义图像相关联的图像数据和/或语义数据以及与第二图像相关联的图像数据。因此,一个像素可以与以下数据相关联(例如,包括以下数据):照相机图像数据(例如,位置(x,y)、红色、绿色、蓝色等)、lidar图像数据(例如,位置(x,y,z)、反射率、强度、时间戳等)和/或语义数据(例如,类标签、语义分割得分或计算特征向量等、或者其它特征嵌入等)。在一些情况下,融合像素可以包括具有语义数据的一个类型的图像数据。例如,融合图像可以包括lidar图像数据和语义数据、但不包括照相机图像数据,或者反之亦然。在某些情况下,融合像素可以包括具有语义数据的多个类型的图像数据,诸如具有语义数据的lidar图像数据、雷达图像数据和/或照相机图像数据等。
因此,融合***504可以输出融合图像,该融合图像包括与融合图像相关联的语义数据和与图像的类型至少之一相关联的图像数据。在一些实施例中,除了融合图像可以包括至少一个或多个附加维度(例如,语义数据)以外,融合图像可以类似于3D对象检测器所消耗的其它图像。
在一些情况下,融合***504可以将三个或更多个图像融合以生成融合图像。例如,融合***504可以接收与lidar图像相关联的图像数据、与从照相机图像生成的语义图像相关联的语义数据、以及与地图图像(或地图)相关联的地图数据。可以使用诸如雷达等的其它图像类型。在一些这样的情况下,地图数据可以指示地理区域内的包括人行横道、小汽车或自行车车道、人行道等的地点。融合***504可以将地图数据与图像数据和语义数据融合,以使得融合图像网络506能够生成附加特征。在一些情况下,融合***504可以通过将图像数据投影到鸟瞰视图图像、然后向鸟瞰视图图像的像素的一部分或全部嵌入地图数据和语义数据,来将地图数据与图像数据和语义数据融合。在一些这样的情况下,融合图像中的像素可以包括与lidar/鸟瞰视图图像相关联的图像数据、与语义图像相关联的语义数据、以及与地图图像相关联的地图数据(例如,人行横道地点、车道等)。
在一些情况下,融合***504使用地点信息来将地图数据与图像数据融合。例如,基于地点信息,融合***504可以确定图像数据相对于地图数据的地点和/或朝向。基于所确定的地点,融合***504可以确定图像的哪些像素将被标注或嵌入有相应的地图数据。
在某些情况(诸如两个照相机的视场重叠并且从两个照相机图像中的各个照相机图像生成语义图像的情况等)下,在融合图像中可能存在可以使用不同语义数据的一些像素(例如,来自第一照相机图像的像素和来自第二照相机图像的像素映射到相同lidar像素)。在一些这样的情况下,可以随机地选择从两个照相机图像像素生成的语义数据以与不同类型的图像进行融合。在某些情况下,融合***504可以将更高的置信度值指派给两个照相机图像其中之一,并且使用从该照相机图像生成的语义数据以与不同类型的图像进行融合。
在一些情况下,在从图像501a生成语义图像并将该语义图像提供至融合***504所需的时间和将图像501b提供至融合***504所需的时间之间可能存在较大的滞后。因此,在一些情况下,融合***504可以将在时域上彼此偏移的图像501a、501b融合。例如,融合***504可以将对应于时间2的图像501b与从对应于时间1的图像501a生成的语义图像进行融合。在某些情况下,图像501a、501b可以彼此偏移一个或多个微秒或毫秒等。
融合图像网络
融合图像网络506可以使用与CNN 420和/或CNN 440相同或相似的一个或多个CNN来实现,并且可被配置为接收与融合图像相关联的融合图像数据作为输入,并输出与从融合图像提取的一个或多个特征相关联的特征数据、以及/或者输出带标注的融合图像,该带标注的融合图像包括与至少一个类型的图像相关联的图像数据(例如,用于创建融合图像的图像至少之一的图像数据)、与融合图像相关联的语义数据(例如,由图像特征提取网络502生成的语义数据)、以及与从融合图像提取的一个或多个特征相关联的特征数据。
在一些情况下,融合图像网络506可以使用lidar神经网络和/或预测网络来实现。在一些情况下,lidar神经网络被配置为确定图像中的对象的宽度、高度和长度、对象的边界框、对象移动以及/或者对象朝向。在某些情况下,预测网络被配置为确定与lidar神经网络类似的特征以及对象轨迹预测。在某些情况下,融合图像网络506可以使用PointPillar、VoxelNet或PointRCNN网络来实现。
如本文所述,至少参考CNN 420,融合图像网络506可以包括一个或多个滤波器、卷积层、子采样层和/或全连接层,这些组件可用于检测融合图像中的对象的宽度、高度和长度,生成对象的边界框,确定对象移动和对象朝向,以及/或者使用融合图像预测对象轨迹。
如在美国申请17/096,916和“PointPainting:Sequential Fusion for 3DObject Detection,”arXiv:1911.10150v2[cs.CV]2020年5月6日(其各自通过引用而被包含于此以用于所有目的)中所述,在一些情况下,融合图像网络506可以包括将伪图像输出到深度学习骨干网络的柱式编码器。深度学习骨干可以计算特征并将这些特征输出至检测头。如在“PointPillars:Fast Encoders for Object Detection from Point Clouds,arXiv:1812.05784v2[cs.LG]2019年5月5日(其内容通过引用而被全部包含于此以用于所有目的)中所述,检测头可以输出定向的3D边界框。
由融合图像网络506生成的特征数据可以包括但不限于以下中的任一个或任何组合:融合图像中的对象的宽度、高度和长度、对象的边界框、对象移动、对象朝向、以及/或者对象轨迹预测。可以将所生成的特征编码到融合图像中以形成带标注的融合图像。
在一些情况下,带标注的融合图像中的一部分或全部像素可以包括与从该像素、一组像素或图像中提取的一个或多个特征相关联的特征数据。例如,带标注的融合图像中的像素可以包括指示对象的高度、宽度或长度的一个或多个地点值、指示边界框的边缘或部分的边界框值、指示对象的移动的对象移动值、指示对象的朝向的对象朝向值、以及/或者指示对象的轨迹的对象轨迹值。
带标注的融合图像中的像素的一部分或全部可以包括附加数据。例如,带标注的融合图像中的像素可以包括与至少一个类型的图像相关联的图像数据(例如,用于创建融合图像的图像至少之一的图像数据)、与融合图像相关联的语义数据(例如,由图像特征提取网络502生成的语义数据)、以及与同融合像素相关联的一个或多个特征相关联的特征数据。例如,带标注的融合图像中的像素可以包括用于地点(x,y,z)、反射率、强度、时间戳、不同对象类概率、边界框、轨迹预测、移动等的一个或多个标注。
损失计算器
损失计算器508可以使用一个或多个处理器来实现,并且可被配置为将带标注的融合图像与经验证图像510进行比较。如本文所述,在一些情况下,经验证图像510可以包括与提供至图像特征提取网络502的图像501相对应的由用户标注的图像。在某些情况下,经验证图像510和图像501可以对应于相同图像,其中经验证图像510包括由用户做出的一个或多个标注。
经验证图像510中的标注的类型可以对应于带标注的融合图像中的标注的类型。例如,如果带标注的融合图像包括针对对象类、边界框、速度、轨迹等的标注或增补说明,则经验证图像510可以包括针对对象类、边界框、速度、轨迹等的标注。
为了计算损失,损失计算器可以将带标注的融合图像中的标注与经验证图像510中的标注进行比较。在一些情况下,损失计算器508计算带标注的融合图像中的一部分或全部像素的损失。例如,损失计算器508可以将带标注的融合图像中的一部分或全部像素的标注与经验证图像510中的相应像素进行比较。
损失计算器508可以计算各种类型的损失,这些损失包括但不限于与对象的分类的准确度相对应的分类损失、与对象的大小、地点和/或朝向的准确度相对应的定位损失、与对象的一个或多个属性或特征(例如,对象轨迹、对象移动)相对应的属性损失、等等。此外,损失计算器508可以使用各种技术来计算损失。例如,损失计算器可以使用均方误差(MSE)、平均绝对误差、交叉熵或对数损失、铰链损失、发散损失等来计算带标注的融合图像和经验证图像510之间的损失。
损失计算器可以根据由融合图像网络506输出的图像的类型来使用不同的图像类型计算损失。例如,如果带标注的融合图像是诸如3D点云等的lidar图像,则经验证图像510可以是带标注的lidar图像。作为另一非限制性示例,如果带标注的融合图像是照相机图像,则经验证图像510可以是带标注的照相机图像等。在某些情况下,可以将融合图像网络506的输出从一个图像类型变换为另一图像类型以用于比较目的。例如,如果融合图像网络506输出(3D)lidar图像,则可以将该图像变换为(2D)照相机图像以与作为(2D)照相机图像的经验证图像进行比较。
在某些情况下,损失计算器508可以是图像类型不可知的(例如,图像的类型对于比较而言可能不重要)。在一些这样的实施例中,损失计算器508可以将带标注的融合图像的标注与经验证图像510的标注进行比较。由于不论带标注的融合图像是lidar图像、照相机图像还是雷达图像等,标注都可以是相同的,因此即使带标注的融合图像和经验证图像510之间的图像类型不同,损失计算器508也可以计算损失。因此,在一些实施例中,经验证图像510可以不包括底层图像。例如,经验证图像510可以包括标注,但可以不包括其它图像数据(例如,红色、绿色、蓝色等)。
损失计算器508所计算出的损失可被通信至图像特征提取网络502以调整图像特征提取网络502的网络参数(诸如指派给图像特征提取网络502内的不同节点的不同输出的权重等)。尽管未例示出,但将理解,损失可被类似地通信至融合图像网络506以调整其网络参数或权重。
在一些情况下,损失计算器508将一部分或全部损失通信至图像特征提取网络502和/或融合图像网络506。在某些情况下,损失逐层地传播通过图像特征提取网络502和/或融合图像网络506,并且更新各个层的相应权重。在某些情况下,可以按相反次序更新权重,其中首先更新融合图像网络的最后一层,并且最后更新图像特征提取网络502的第一层。然而,将理解,可以按任何次序更新图像特征提取网络502和/或融合图像网络506的权重。
在某些情况下,根据损失所计算出的梯度被发送回到图像特征提取网络502和/或融合图像网络506。基于这些梯度,更新特征提取网络502和/或融合图像网络506的参数,并且各个网络在下一迭代中产生更好的嵌入。
在一些情况下,如果在融合图像网络506的端处应用损失,则更新图像特征提取网络502和融合图像网络506中的权重。在某些情况下,如果在图像特征提取网络502的顶部应用损失(或者仅向图像特征提取网络502应用损失),则仅更新图像特征提取网络502的权重。然而,将理解,可以在图像特征提取网络502和/或融合图像网络506的任一或两个中传播损失和更新权重。
在一些情况下,通信至图像特征提取网络502的损失可以对应于图像特征提取网络502被配置为学习的特征,并且通信至融合图像网络506的损失可以对应于融合图像网络506被配置为学习的特征。例如,如果图像特征提取网络502被配置成学习对象分类、对象地点、对象朝向、对象移动,则可以将与这些特征相关联的损失通信至图像特征提取网络502。类似地,如果融合图像网络506被配置成学习对象轨迹预测,则可以将象轨迹预测通信至融合图像网络506。因此,可以将损失计算器508所计算出的损失的一部分通信至图像特征提取网络502和/或融合图像网络506。在一些情况下,可以将相同特征的损失通信至图像特征提取网络502和融合图像网络506。在某些情况下,可以将损失计算器508所计算出的所有损失都通信至图像特征提取网络502和/或融合图像网络506。
通过使用融合图像网络506的输出来计算损失并且使用该损失来训练图像特征提取网络502,图像特征提取网络502可被训练为从图像501提取附加标注或增补说明。例如,图像特征提取网络502可以学习,以从图像501检测对象的宽度、高度和长度并且生成对象的边界框。这样,图像特征提取网络502可以输出语义图像或者具有更多标注的与语义图像相关联的语义数据。这些附加标注可以提高由融合图像网络506进行的标注的准确度以及/或者使得融合图像网络506更容易确定附加标注。
在一些情况下,可以使用与图像相关联的更丰富的语义数据(例如,具有更多标注的语义数据)来从融合图像确定附加特征。例如,图像特征提取网络502可以学习以预测出运载工具的刹车灯意味着运载工具即将减速。提供至融合图像网络502的该数据可以提高融合图像网络506的确定运载工具的将来轨迹的能力。作为另一非限制性示例,如果图像特征提取网络502检测到图像中的红色交通灯,则其可以学习到相同车道中的运载工具将不会移动。当图像特征提取网络502检测到灯已经变绿时,其可以预测出运载工具将开始缓慢移动。再次地,将该丰富数据提供至融合图像网络506可以使得融合图像网络506更容易确定运载工具的轨迹等。
在一些情况下,感知***402的训练可以包括:重复地处理来自相同或不同数据集的图像501,并且将针对各个图像501和/或各个图像的各个像素的计算损失提供至图像特征提取网络502。在某些情况下,感知***402可以将图像501处理数千次、数十万次、数百万次或更多次以对图像特征提取网络502和/或融合图像网络506进行微调。
测试***的示例操作图
图5B和图5C是例示使用基于照相机图像501a和lidar图像501b所生成的融合图像的感知***402的示例性端到端训练操作的操作图。
在步骤550处,将与照相机图像501a相关联的图像数据提供至图像特征提取网络502。在例示示例中,使用照相机图像501a,然而将理解,可以使用不同类型的图像。如本文所述,照相机图像501a可以对应于根据从照相机(诸如照相机202a等)获得的图像数据生成的数据库中的图像。在一些情况下,照相机图像501a可以包括矩阵中的多行像素,并且各个像素可以包括红色、绿色和蓝色的值或者灰度值。在某些情况下,照相机图像501a不包括标注以及/或者照相机图像501a可被称为未标注的照相机图像501a。
在步骤552a处,图像特征提取网络502从与照相机图像501a相关联的图像数据生成与语义图像520相关联的语义数据。如本文所述,图像特征提取网络502可以使用一个或多个CNN 420来从照相机图像501a中的相应像素生成语义图像520中的一部分或全部像素的语义数据。在一些情况下,与特定像素相关联的语义数据可以包括类标签或对象分类得分,该类标签或对象分类得分包括指示正确预测出像素的所识别的对象分类的概率的概率值。
在步骤552b处,将与lidar图像501b相关联的图像数据提供至融合***504。在例示示例中,使用lidar图像501b,然而将理解,可以使用不同类型的图像。如本文所述,lidar图像501b可以对应于根据从lidar传感器(诸如lidar传感器202b等)获得的图像数据生成的数据库中的图像。在一些情况下,lidar图像501b可以包括矩阵中的多行像素,并且各个像素可以包括用于地点(例如,x、y、z)、反射率、强度、时间戳等的一个或多个值。在某些情况下,lidar图像501可以是三维点云。在一些情况下,lidar图像501b不包括标注以及/或者lidar图像501b可被称为未标注的lidar图像501b。如本文所述,在一些情况下,由于从照相机图像501a生成语义图像520时的滞后,因此lidar图像501b可以在时域上从照相机图像501a偏移。
在步骤554处,融合***504从与lidar图像501b相关联的图像数据和与语义图像520相关联的语义数据生成与融合图像522相关联的融合图像数据。如本文所述,融合图像522可以包括矩阵中的多行融合像素,并且融合图像数据可以与各个融合像素相关联。在一些情况下,与特定像素相关联的融合图像数据可以包括用于与lidar图像501b相关联的图像数据、与语义图像520相关联的语义数据和/或与照相机图像501a相关联的图像数据的一个或多个值。在图5B的例示示例中,与融合图像522中的像素相关联的融合图像数据包括嵌入有用于与lidar图像501b相关联的图像数据的一个或多个值的与语义图像520相关联的语义数据。
参考图5C,在步骤556a处,融合图像网络506根据与融合图像522相关联的融合图像数据生成与带标注的融合图像524相关联的特征数据。融合图像网络506也可被称为3D对象检测器,该3D对象检测器可以使用一个或多个CNN 420来实现,以从融合图像522中的相应像素生成带标注的融合图像524中的一部分或全部像素的特征数据。在某些情况下,可以将所生成的与带标注的融合图像524相关联的特征数据嵌入到各个像素中。在一些情况下,与带标注的融合图像524中的特定像素相关联的特征数据可以包括:图像中的对象的宽度、高度和长度、类标签、对象的边界框、对象移动、对象朝向、对象轨迹预测。在某些特定情况下,特征数据可以包括一个或多个n维特征向量,其中各个特征单独地可以不对应于特定对象属性,但n维特征向量的组合可以对应于前述对象属性(或其它对象属性)其中之一。
在步骤556b处,将与经验证图像526相关联的经验证图像数据提供至损失计算器508。在例示示例中,示出经验证照相机图像526,然而,将理解,可以使用不同类型的图像作为经验证图像526。在一些情况下,经验证图像526可以不具有图像类型。例如,经验证图像526可以包括矩阵中的像素行,并且这些像素中的一部分或全部可以与经验证图像数据或如下的标注相关联,这些标注表示应从图像501提取的目标特征(和值)。如本文所述,与经验证图像526相关联的经验证图像数据可以由用户生成以指示感知***402应在图像501内感知什么内容。这样,与经验证图像526的一个或多个像素相关联的经验证图像数据可以包括用于图像中的对象的宽度、高度和长度、对象分类、对象的边界框、对象移动、对象朝向、对象轨迹等的一个或多个值。
在步骤558处,损失计算器508基于(例如,通过比较)与带标注的融合图像524相关联的特征数据和与经验证图像526相关联的经验证图像数据来生成与损失528相关联的损失数据。尽管例示为图像,但将理解,可以将损失528作为一个或多个值(诸如与图像的像素相对应的值的矩阵等)来通信。
如本文所述,在一些情况下,损失计算器508可以针对一部分或全部像素以及针对在与带标注的融合图像524的特定像素相关联的特征数据中表示的各个特征来计算损失。因此,如果带标注的融合图像524包括各个像素的13个标注或者13个维度,则损失计算器508可以计算带标注的融合图像524中的一部分或全部像素的13个损失。
在步骤560处,图像特征提取网络502和/或融合图像网络506使用与损失528相关联的损失数据来修改一个或多个网络参数。经修改的网络参数用于从与后续图像相关联的图像数据生成与语义图像相关联的语义数据。
如本文所述,在一些情况下,将与损失528相关联的一部分或全部损失数据通信至图像特征提取网络502和/或融合图像网络506。在某些情况下,损失528可以逐层地传播通过图像特征提取网络502和/或融合图像网络506(在某些情况下按相反次序)。在一些情况下,将与损失528相关联的不同损失数据通信至不同的网络502、506。在某些情况下,通信至不同的网络502、506的损失是基于预计将由相应网络502、506提取的语义或特征。
随着网络参数被修改或微调,带标注的融合图像524和经验证图像526之间的计算损失可以减少,这表明图像特征提取网络502和/或融合图像网络506正在提高它们从图像准确地确定语义和特征的能力。
如本文所述,可以将端到端训练处理重复数千次、数十万次、数百万次或更多次,以便对图像特征提取网络502和/或融合图像网络506进行微调。通过以端到端的方式对图像特征提取网络502进行微调(例如,与损失528相关联的损失数据是使用与从融合图像网络506输出的带标注的融合图像524相关联的特征数据来计算的),图像特征提取网络502可以从与图像501相关联的图像数据学习附加特征和/或语义。这些附加特征可以使得融合图像网络506能够学习其它功能和上下文信息。
一旦经训练,感知***402可以在推断期间使用,以从照相机202a、lidar传感器202b和/或雷达传感器202c接收实时图像,识别这些图像内的对象,并且确定诸如但不限于以下等的与对象有关的特征:对象的宽度、高度和长度、类标签、对象的边界框、对象移动、对象朝向、对象轨迹、或者其它对象属性(例如,交通灯状况(例如,红色、绿色、黄色、闪烁等)或者右/左转信号闪烁或危险警示灯闪烁的小汽车等),等等。例如,图像特征提取网络502可以生成与语义图像相关联的语义数据(其包括图像中的一个或多个对象的宽度、高度和长度、对象分类、对象的边界框、对象移动、对象朝向等),并且融合图像网络506可以生成与带标注的融合图像相关联的特征数据(其包括但不限于与语义图像相关联的语义数据)以及附加特征(诸如但不限于对象轨迹等)。将理解,由图像特征提取网络502和/或融合图像网络506生成的特征可以是相同的、不同的、或者可以重叠。
另外,在推断期间,本文所述的功能或元件的一部分可以不被使用或者可以不存在。例如,在推断期间,可以不计算损失以及/或者可以不微调图像特征提取网络502和/或融合图像网络506的网络参数等。
测试***的示例流程图
图6是例示由一个或多个处理器为了训练感知***402所实现的例程600的示例的流程图。图6所例示的流程图仅是为了例示的目的而提供的。将理解,可以移除图6所例示的例程的步骤中的一个或多个,或者可以改变步骤的次序。此外,为了说明清楚示例的目的,在各个数据流阶段期间进行各种操作的上下文中描述一个或多个特定***组件。然而,可以使用其它***布置以及跨***组件的处理步骤的分布。
在框602处,训练***500从与第一图像相关联的第一图像数据生成与语义图像相关联的语义图像数据。如本文所述,在一些情况下,第一图像可以是包括有色或灰度像素的行的照相机图像,并且训练***500可以使用图像特征提取网络502来生成与语义图像相关联的语义数据。然而,将理解,可以使用其它不同类型的图像,诸如lidar图像和/或雷达图像等。
如本文所述,训练***500可以确定与第一图像中的像素的一部分或全部相关联的语义数据。在某些情况下,与像素相关联的语义数据包括将该像素与对象相关联的类标签或对象分类。
在框604处,训练***500向第二图像嵌入与语义图像相关联的语义数据以形成融合图像。如本文所述,第二图像可以是不同类型的图像。例如,如果第一图像是照相机图像,则第二图像可以是诸如3D点云等的lidar图像。
类似于第一图像,第二图像可以包括像素行。由于第二图像是不同类型的图像,因此与特定像素相关联的图像数据可以是不同的。例如,如果第二图像是3D点云,则与特定像素相关联的图像数据可以包括位置(x,y,z)、反射率、强度、时间戳等。
如本文所述,融合图像可以包括嵌入有与语义图像相关联的语义数据和与第二图像(和/或第一图像)相关联的图像数据的像素行。例如,如果第二图像是3D点云,则融合图像中的像素可以包括或嵌入有一个或多个对象分类、以及地点(x,y,z)、反射率、强度和时间戳。在一些这样的情况下,融合图像可被称为装饰3D点云。
在框606处,训练***500从融合图像生成与带标注的融合图像相关联的特征数据。如本文所述,在一些情况下,训练***500使用融合图像网络506来生成带标注的融合图像和与带标注的融合图像相关联的特征数据。如本文所述,融合图像网络506可以生成带标注的融合图像的各种特征,这些特征包括但不限于:图像中的对象的宽度、高度和长度、对象分类或类标签、对象的边界框、对象移动、对象朝向、对象轨迹预测。
如本文所述,带标注的融合图像可以包括像素行以及与带标注的融合图像的像素中的一部分或全部相关联的特征数据。
在框608处,训练***500基于带标注的融合图像与经验证图像的比较来确定损失。如本文所述,在一些情况下,训练***500可以确定不同特征的损失。在某些情况下,训练***可以确定与带标注的融合图像相关联(或嵌入到带标注的融合图像中)的一部分或全部特征的损失。
如本文所描述的,经验证图像可以包括像素行以及嵌入在各个像素内的指示相应特征的目标值的特征。可以将目标值与由图像特征提取网络502和/或融合图像网络506针对该特征所确定的值进行比较,以计算该特征的损失。训练***500可以使用各种技术来计算损失,包括但不限于均方误差(MSE)、平均绝对误差、交叉熵或对数损失、铰链损失、发散损失等。
在框610处,训练***基于所确定的损失来修改图像特征提取网络502的一个或多个网络参数。如本文所述,图像特征提取网络502可以包括用于确定语义数据的各种参数或权重。随着这些参数中的一个或多个被修改,可以减少损失。因此,训练***500可以修改图像特征提取网络502的至少一个网络参数以减少至少一个特征的损失。
类似地,训练***500可以基于所确定的损失来修改融合图像网络506的一个或多个网络参数。在一些情况下,训练***500修改融合图像网络506的一个或多个网络参数以减少一组特征的损失,并且修改图像特征提取网络502的一个或多个网络参数以减少不同组的特征的损失。
在一些情况下,训练***修改融合图像网络506和/或图像特征提取网络502的各个层的权重。在某些情况下,训练***按相反次序修改融合图像网络506和/或图像特征提取网络502的各个层的权重或网络参数,使得首先更新融合图像网络506的最后一层的权重或网络参数,并且最后更新特征提取网络502的第一层的权重或网络参数。
将理解,可以使用不同的图像和/或不同类型的图像将例程600重复多次。在一些情况下,训练***500使用数千个或数百万个图像将例程600重复数千次或数百万次以减少经验证图像和带标注的融合图像之间的损失。
本文所述的所有方法和任务都可以通过计算机***来进行和完全自动化。计算机***在一些情况下可以包括多个不同的计算机或计算装置(例如,物理服务器、工作站、存储阵列、云计算资源等),它们通过网络进行通信和互操作以进行所描述的功能。各个这样的计算装置通常包括执行存储器或其它非暂时性计算机可读存储介质或装置(例如,固态存储装置、盘驱动器等)中所存储的程序指令或模块的处理器(或多个处理器)。本文所公开的各种功能可以体现在这样的程序指令中,或者可以在计算机***的专用电路(例如,ASIC或FPGA)中实现。在计算机***包括多个计算装置的情况下,这些装置可以但不需要位于同一位置。所公开的方法和任务的结果可以通过将诸如固态存储器芯片或磁盘的物理存储装置变换成不同的状态来持久地存储。在一些实施例中,计算机***可以是基于云的计算***,其处理资源由多个不同的业务实体或其它用户共享。
本文所述的或在本公开的附图中例示的处理可以响应于事件(诸如按预先确定的或动态确定的时间表、在由用户或***管理员发起时按需、或者响应于某些其它事件)而开始。当发起这样的处理时,可以将一个或多个非暂时性计算机可读介质(例如,硬盘驱动器、闪速存储器、可移动介质等)上所存储的一组可执行程序指令加载到服务器或其它计算装置的存储器(例如,RAM)中。然后,这些可执行指令可由计算装置的基于硬件的计算机处理器执行。在一些实施例中,这样的处理或其一部分可以在多个计算装置和/或多个处理器上串行地或并行地实现。
根据本实施例,本文所述的任何处理或算法的某些动作、事件或功能可以以不同的序列进行,可以被相加、合并或完全省略(例如,并非所有所描述的操作或事件对于算法的实践都是必需的)。此外,在某些实施例中,操作或事件可以例如通过多线程处理、中断处理、或者多个处理器或处理器核或者在其它并行架构上同时进行,而不是顺次进行。
结合本文公开的实施例所描述的各种例示性逻辑块、模块、例程和算法步骤可被实现为电子硬件(例如,ASIC或FPGA装置)、在计算机硬件上运行的计算机软件、或者这两者的组合。此外,结合本文公开的实施例所描述的各种例示性逻辑块和模块可以通过以下来实现或进行:机器,诸如处理器装置、数字信号处理器(“DSP”)、专用集成电路(“ASIC”)、现场可编程门阵列(“FPGA”)或其它可编程逻辑装置;分立栅极(discrete gate)或晶体管逻辑;分立硬件组件;或者它们的被设计为进行本文所述的功能的任何组合。处理器装置可以是微处理器,但在替代方案中,处理器装置可以是控制器、微控制器、或状态机、或者它们的组合等。处理器装置可以包括被配置为处理计算机可执行指令的电路。在另一实施例中,处理器装置包括在无需处理计算机可执行指令的情况下进行逻辑操作的FPGA或其它可编程装置。处理器装置还可被实现为计算装置的组合(例如,DSP和微处理器的组合)、多个微处理器、与DSP核结合的一个或多个微处理器、或任何其它这这样的配置。尽管本文主要关于数字技术进行说明,但处理器装置也可主要包括模拟组件。例如,本文所述的渲染技术的一部分或全部可以在模拟电路或者混合模拟和数字电路中实现。计算环境可以包括任何类型的计算机***,其包括但不限于基于微处理器的计算机***、大型计算机、数字信号处理器、便携式计算装置、装置控制器、或器械内的计算引擎(仅举几个例子)。
结合本文公开的实施例所描述的方法、处理、例程或算法的要素可以直接以硬件、由处理器装置执行的软件模块、或这两者的组合来体现。软件模块可以驻留在RAM存储器、闪速存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或任何其它形式的非暂时性计算机可读存储介质中。示例性存储介质可以耦接到处理器装置,使得处理器装置可以从存储介质读取信息并将信息写入存储介质。在替代方案中,存储介质与处理器装置可以是一体的。处理器装置和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在替代方案中,处理器装置和存储介质可以作为分立组件驻留在用户终端中。
在先前描述中,已经参考许多具体细节描述了本公开的方面和实施例,这些具体细节可因实现而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以发布权利要求书的具体形式从本申请发布的权利要求书的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。
Claims (20)
1.一种方法,包括:
使用图像特征提取网络和至少一个处理器,从第一图像类型的第一图像生成与第一语义图像相关联的语义数据;
使用所述至少一个处理器,向第二图像类型的第二图像嵌入与所述语义图像相关联的语义数据,以形成融合图像;
使用融合图像网络,从所述融合图像生成与带标注的融合图像相关联的特征数据;
使用所述至少一个处理器,基于所述带标注的融合图像与经验证图像的比较来确定损失;以及
基于所述损失来修改所述图像特征提取网络的至少一个网络参数,其中所述图像特征提取网络使用至少一个经修改的网络参数来生成与第二语义图像相关联的语义数据。
2.根据权利要求1所述的方法,其中,所述第二图像是3D点云,所述方法还包括:
接收与地图相关联的地图数据;
确定所述3D点云在所述地图内的地点;以及
基于所述3D点云在所述地图内的地点,向所述3D点云嵌入与所述地图相关联的标注,以形成所述融合图像。
3.根据权利要求1所述的方法,其中,所述第一图像是照相机图像。
4.根据权利要求1所述的方法,其中,所述第二图像是3D lidar点云。
5.根据权利要求1所述的方法,其中,所述融合图像网络是lidar神经网络。
6.根据权利要求1所述的方法,其中,所述融合图像网络是预测神经网络。
7.根据权利要求1所述的方法,其中,所述第二图像是3D点云,其中向所述第二图像嵌入语义数据包括:
将所述3D点云变换为鸟瞰视图图像;以及
向所述鸟瞰视图图像嵌入与所述语义图像相关联的语义数据,以形成所述融合图像。
8.根据权利要求1所述的方法,其中,与所述语义图像的像素相关联的语义数据包括至少一个特征嵌入。
9.根据权利要求1所述的方法,其中,与所述带标注的融合图像相关联的特征数据包括以下项至少之一:对象的宽度、高度和长度、对象的边界框、对象移动、对象朝向以及对象轨迹预测。
10.根据权利要求1所述的方法,其中,与所述语义图像的像素相关联的语义数据包括对象分类得分。
11.根据权利要求10所述的方法,其中,所述对象分类得分将所述像素与来自多个对象分类的特定对象分类相关联。
12.根据权利要求11所述的方法,其中,所述多个对象分类包括小汽车类、自行车类、行人类、障碍物类、交通锥标类、可驾驶面类和背景类至少之一。
13.根据权利要求1所述的方法,其中,所述经验证图像包括与所述带标注的融合图像相关联的特征数据中所包括的各个特征的目标特征值。
14.根据权利要求1所述的方法,其中,基于所述带标注的融合图像与所述经验证图像的比较来确定所述损失包括:将与特定像素相关联的特征数据中所包括的至少一个特征与所述经验证图像的相应像素中的目标特征值进行比较。
15.一种***,包括:
至少一个处理器;以及
存储有指令的至少一个非暂时性存储介质,所述指令在由所述至少一个处理器执行时使得所述至少一个处理器用作:
图像特征提取网络,其被配置为从第一图像类型的第一图像生成与第一语义图像相关联的语义数据;
融合***,其被配置为向第二图像类型的第二图像嵌入与所述语义图像相关联的语义数据,以形成融合图像;
融合图像网络,其被配置为从所述融合图像生成与带标注的融合图像相关联的特征数据;以及
损失计算器,其被配置为基于所述带标注的融合图像与经验证图像的比较来生成损失,
其中,所述图像特征提取网络还被配置为基于所述损失来修改至少一个网络参数,并且使用至少一个经修改的网络参数来生成与第二语义图像相关联的语义数据。
16.根据权利要求15所述的***,其中,所述第二图像是3D lidar点云。
17.根据权利要求15所述的***,其中,所述融合图像网络是lidar神经网络。
18.根据权利要求15所述的***,其中,所述第二图像是3D点云,其中,为了向所述第二图像嵌入语义数据,所述指令还使得所述至少一个处理器进行以下操作:
将所述3D点云变换为鸟瞰视图图像;以及
向所述鸟瞰视图图像嵌入与所述语义图像相关联的语义数据,以形成所述融合图像。
19.根据权利要求15所述的***,其中,所述第二图像是3D点云,其中,为了向所述第二图像嵌入语义数据,所述指令还使得所述至少一个处理器进行以下操作:
接收与地图相关联的地图数据;
确定所述3D点云在所述地图内的地点;以及
基于所述3D点云在所述地图内的地点,向所述3D点云嵌入与所述地图相关联的标注,以形成所述融合图像。
20.至少一个非暂时性存储介质,其存储有指令,所述指令在由至少一个处理器执行时,使得所述至少一个处理器进行以下操作:
使用图像特征提取网络,从第一图像类型的第一图像生成与第一语义图像相关联的语义数据;
向第二图像类型的第二图像嵌入与所述语义图像相关联的语义数据,以形成融合图像;
使用融合图像网络,从所述融合图像生成与带标注的融合图像相关联的特征数据;
基于所述带标注的融合图像与经验证图像的比较来确定损失;以及
基于所述损失来修改所述图像特征提取网络的至少一个网络参数,其中所述图像特征提取网络使用至少一个经修改的网络参数来生成与第二语义图像相关联的语义数据。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163184690P | 2021-05-05 | 2021-05-05 | |
US63/184,690 | 2021-05-05 | ||
US17/444,956 US12050660B2 (en) | 2021-08-12 | End-to-end system training using fused images | |
US17/444,956 | 2021-08-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115393677A true CN115393677A (zh) | 2022-11-25 |
Family
ID=78399553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111535347.2A Withdrawn CN115393677A (zh) | 2021-05-05 | 2021-12-15 | 使用融合图像的端到端***训练 |
Country Status (4)
Country | Link |
---|---|
KR (1) | KR102657921B1 (zh) |
CN (1) | CN115393677A (zh) |
DE (1) | DE102021132082A1 (zh) |
GB (1) | GB2606418B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115965961A (zh) * | 2023-02-23 | 2023-04-14 | 上海人工智能创新中心 | 局部到全局的多模态融合方法、***、设备及存储介质 |
CN116109470A (zh) * | 2023-04-13 | 2023-05-12 | 深圳市其域创新科技有限公司 | 实时点云数据渲染方法、装置、终端及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102633937B1 (ko) * | 2023-07-06 | 2024-02-07 | (주)트루엔 | 전자 장치 및 이를 이용한 오브젝트와 관련된 속성정보 획득 방법 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10408939B1 (en) * | 2019-01-31 | 2019-09-10 | StradVision, Inc. | Learning method and learning device for integrating image acquired by camera and point-cloud map acquired by radar or LiDAR corresponding to image at each of convolution stages in neural network and testing method and testing device using the same |
US10776673B2 (en) * | 2019-01-31 | 2020-09-15 | StradVision, Inc. | Learning method and learning device for sensor fusion to integrate information acquired by radar capable of distance estimation and information acquired by camera to thereby improve neural network for supporting autonomous driving, and testing method and testing device using the same |
US11906660B2 (en) * | 2019-08-30 | 2024-02-20 | Nvidia Corporation | Object detection and classification using LiDAR range images for autonomous machine applications |
US11940804B2 (en) * | 2019-12-17 | 2024-03-26 | Motional Ad Llc | Automated object annotation using fused camera/LiDAR data points |
-
2021
- 2021-09-28 GB GB2113834.2A patent/GB2606418B/en active Active
- 2021-12-06 DE DE102021132082.8A patent/DE102021132082A1/de active Pending
- 2021-12-15 CN CN202111535347.2A patent/CN115393677A/zh not_active Withdrawn
- 2021-12-16 KR KR1020210180723A patent/KR102657921B1/ko active IP Right Grant
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115965961A (zh) * | 2023-02-23 | 2023-04-14 | 上海人工智能创新中心 | 局部到全局的多模态融合方法、***、设备及存储介质 |
CN115965961B (zh) * | 2023-02-23 | 2024-04-05 | 上海人工智能创新中心 | 局部到全局的多模态融合方法、***、设备及存储介质 |
CN116109470A (zh) * | 2023-04-13 | 2023-05-12 | 深圳市其域创新科技有限公司 | 实时点云数据渲染方法、装置、终端及存储介质 |
CN116109470B (zh) * | 2023-04-13 | 2023-06-20 | 深圳市其域创新科技有限公司 | 实时点云数据渲染方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
GB2606418B (en) | 2024-01-24 |
GB202113834D0 (en) | 2021-11-10 |
KR102657921B1 (ko) | 2024-04-15 |
DE102021132082A1 (de) | 2022-11-10 |
US20220358328A1 (en) | 2022-11-10 |
KR20220151098A (ko) | 2022-11-14 |
GB2606418A (en) | 2022-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11562556B1 (en) | Prediction error scenario mining for machine learning models | |
KR102657921B1 (ko) | 융합된 이미지를 사용한 엔드 투 엔드 시스템 트레이닝 | |
US11527085B1 (en) | Multi-modal segmentation network for enhanced semantic labeling in mapping | |
US20220355825A1 (en) | Predicting agent trajectories | |
US11948381B2 (en) | Determining object mobility parameters using an object sequence | |
US20230046410A1 (en) | Semantic annotation of sensor data using unreliable map annotation inputs | |
CN115951326A (zh) | 对象检测方法、***和存储介质 | |
CN117011816A (zh) | 跟踪对象的踪迹段清理 | |
CN115797679A (zh) | 基于机器学习的点云对准分类 | |
US20230294741A1 (en) | Agent importance prediction for autonomous driving | |
GB2613038A (en) | High fidelity data-driven multi-modal simulation | |
CN115840441A (zh) | 用于运载工具的方法、用于运载工具的***和存储介质 | |
US12050660B2 (en) | End-to-end system training using fused images | |
US20240078790A1 (en) | Enriching later-in-time feature maps using earlier-in-time feature maps | |
US11967159B2 (en) | Semantic annotation of sensor data with overlapping physical features | |
US20230415772A1 (en) | Trajectory planning based on extracted trajectory features | |
US20240127597A1 (en) | Using scene dependent object queries to generate bounding boxes | |
US20240127596A1 (en) | Radar- and vision-based navigation using bounding boxes | |
US20240062504A1 (en) | Enriching object queries using a bird's-eye view feature map to generate bounding boxes | |
US20240062520A1 (en) | Enriching feature maps using multiple pluralities of windows to generate bounding boxes | |
WO2024081665A1 (en) | Using scene dependent object queries to generate bounding boxes | |
WO2024081667A1 (en) | Radar- and vision-based navigation using bounding boxes | |
WO2023158580A1 (en) | Prediction error scenario mining for machine learning models | |
WO2024040171A1 (en) | Enriching feature maps using multiple pluralities of windows to generate bounding boxes | |
CN115962788A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20221125 |
|
WW01 | Invention patent application withdrawn after publication |