CN111133447B - 适于自主驾驶的对象检测和检测置信度的方法和系统 - Google Patents

适于自主驾驶的对象检测和检测置信度的方法和系统 Download PDF

Info

Publication number
CN111133447B
CN111133447B CN201980004563.9A CN201980004563A CN111133447B CN 111133447 B CN111133447 B CN 111133447B CN 201980004563 A CN201980004563 A CN 201980004563A CN 111133447 B CN111133447 B CN 111133447B
Authority
CN
China
Prior art keywords
data
detection
detected
vehicle
region
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.)
Active
Application number
CN201980004563.9A
Other languages
English (en)
Other versions
CN111133447A (zh
Inventor
T·科伊维斯托
P·贾妮斯
T·库奥斯马纳
T·罗曼
S·萨拉斯
W·张
N·阿萨夫
C·特蕾西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of CN111133447A publication Critical patent/CN111133447A/zh
Application granted granted Critical
Publication of CN111133447B publication Critical patent/CN111133447B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/41Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • G01S7/417Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section involving the use of neural networks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/255Detecting or recognising potential candidate objects based on visual cues, e.g. shapes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local 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/443Local 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/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/762Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/584Recognition 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/86Combinations of radar systems with non-radar systems, e.g. sonar, direction finder
    • G01S13/867Combination of radar systems with cameras
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G01S2013/9318Controlling the steering
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S13/00Systems using the reflection or reradiation of radio waves, e.g. radar systems; Analogous systems using reflection or reradiation of waves whose nature or wavelength is irrelevant or unspecified
    • G01S13/88Radar or analogous systems specially adapted for specific applications
    • G01S13/93Radar or analogous systems specially adapted for specific applications for anti-collision purposes
    • G01S13/931Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • G01S2013/9323Alternative operation using light waves
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/02Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
    • G01S7/41Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • G01S7/411Identification of targets based on measurements of radar reflectivity
    • G01S7/412Identification of targets based on measurements of radar reflectivity based on a comparison between measured values and known or stored values
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO 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
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4802Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions

Abstract

在各个示例中,可以确定表示被检测对象在视场中的位置的被检测对象数据。被检测对象的一个或更多个簇可以至少部分地基于这些位置而生成,并且可以确定簇的特征以用作机器学习模型的输入。可以接收由机器学习模型至少部分地基于这些输入计算的置信度评分,其中该置信度评分可以表示该簇与至少部分地在视场中描绘的对象相对应的概率。进一步的示例提供了用于确定用于训练对象检测器的真值数据的方法,例如用于使用关联的形状确定用于真值对象的覆盖值,以及用于确定用于真值对象的软覆盖值。

Description

适于自主驾驶的对象检测和检测置信度的方法和系统
发明背景
为了安全地操作,在规划通过环境的路径时,自主车辆应当考虑诸如车辆、人、树、动物、建筑、指示牌和柱子之类的对象。为了这样做,对象检测器可以用来实时地精确检测一个或更多个图像(例如,使用安装在自主车辆上的一个或更多个传感器捕获的图像)中描绘的对象。然而,常规的方法可能没有希望的精度,并且因此可能遗漏或者生成错误的或延迟的对象检测,这可能导致不适当的路径,甚至是碰撞。
常规的用于对象检测的系统可使用卷积神经网络(CNN),其为图像的空间元素区域网格提供覆盖值和边界框。每个覆盖值可以表示对象至少部分地在相应空间元素区域内绘出的可能性,并且边界框可以针对该空间元素区域围绕该对象而提供。由于对象可能占用网格的多个空间元素区域,因而不同的覆盖值和边界框可以与相同对象的检测相对应。可以通过对这些检测聚类而将这些检测聚合到特定对象,并且可以为每个聚合的检测分配置信度值。在一些方法中,簇(cluster)的最大覆盖值可以用作置信度值。在实践中,该方法可能导致错误的检测或者阳性,因为最大覆盖值可能仅仅与图像的小部分相对应。另一种方法可以使用簇的覆盖值的总和作为置信度值。然而,由于该总和是无界的,该总和不可以直接解释为置信度或者概率度量,这也可能导致错误的或遗漏的检测(例如可变数量的检测可以是簇的部分,因此所述总和不提供相对度量交叉簇)。
一种常规的用于训练CNN以检测图像中描绘的对象的方法除了边界框坐标集合以外,还可以使用训练图像,所述坐标集合中的每一个可以指定CNN应当检测其中的对象的训练图像中的区域。为了训练CNN以输出用于特定空间元素区域的覆盖值,可以将每个边界框坐标集合分配给训练图像的空间元素区域网格的单个空间元素区域。具体地,分配给边界框坐标集合的空间元素区域是包括边界框的中点的空间元素区域。可以填充用来训练CNN的真值(ground truth)张量,以便根据是否为每个空间元素区域分配边界框坐标集合而将硬覆盖值(例如1或0)分配给该空间元素区域。
这种方法可以将CNN训练为尝试明确地确定在空间元素区域中是否描绘了对象,并且将该对象仅仅分配给该空间元素区域。然而,在许多情况下,可能难于将对象分配给仅仅一个空间元素区域,或者明确地确定在该空间元素区域中是否描绘了对象。这可能例如在对象在图像中彼此靠近(例如一个遮挡另一个)时和/或在一个或更多个对象占用多个空间元素区域的情况下出现。作为这种训练方法的结果,如上所述,CNN可能从对象检测器生成错误检测或者针对聚合的检测生成假阳性,从而降低CNN的功效。
发明内容
本公开的实施例涉及适合自主驾驶的对象检测和检测置信度。与确定不可以直接解释为置信度或概率度量或者可仅仅与图像的小部分相对应的聚合的检测的置信度值的常规方法形成对比的是,所公开的方法允许确定置信度评分(例如,某个标量值),其可以直接解释为置信度度量并且可以精确地指示聚合的检测与图像数据中表示的实际对象相对应的概率。因此,当采用置信度评分时,错误的或遗漏的检测可能不太可能发生。
在一些示例中,可以使用从(例如车辆的视场中的)被检测对象生成的特征训练诸如多层感知器网络之类的机器学习模型(MLM)以便确定置信度评分。MLM可以学习在生成置信度评分中考虑不同的空间元素区域的被检测对象之间的复杂关系。进一步,该置信度评分可以是有界值,其在考虑作为聚合的检测的部分的任意数量的原始被检测对象时提供直接的可解释性。因此,与诸如以上所述的方法之类的常规方法相比,使用置信度评分不太可能导致错误的检测。
进一步与仅仅将单个空间元素区域分配给边界框坐标集合的训练CNN以用于对象检测的常规方法形成对比的是,所公开的方法可以通过允许将边界框坐标集合分配给多个空间元素区域(例如使用与多个空间元素区域相对应的椭圆真值)以用于训练和/或用于将软覆盖值(例如在从1到0的范围内)分配给用来训练CNN的真值数据中的空间元素区域而提高最终被检测对象的精度。
在一些示例中,使用对象区域(例如真相边界框区域)的维度计算至少部分地处于该对象区域内的形状的尺寸。然后该形状可以用来确定用于训练CNN的训练图像的空间元素区域的覆盖值(例如通过在真值张量中绘制至少一些形状)。当空间元素区域与多个对象区域(指示不同的对象)相对应时,所提供的方法可以进一步允许确定空间元素区域的覆盖值。在另外的方面,死区(dead-zone)区域可以用来在空间上分离与不同对象区域(指示不同的对象)相对应的覆盖值。这可以训练CNN以更好地区分邻近的对象。例如,以这种方式训练的CNN可以为邻近对象之间的区域提供较低的覆盖值。
附图说明
在下文中,参照附加的附图详细地描述了适合自主驾驶的对象检测和检测置信度的本系统和方法,其中:
图1A为根据本公开一些实施例的包括示例对象检测系统的图示;
图1B为根据本公开一些实施例的示出用于检测对象并且确定对应的检测置信度评分的示例过程的流程图;
图2A为根据本公开一些实施例的覆盖有与被检测对象相对应的视觉元素的图像的图示;
图2B为根据本公开一些实施例的覆盖有与被检测对象簇相对应的视觉元素的图像的图示;
图3为根据本公开一些实施例的包括示例对象检测器的图示;
图4为根据本公开一些实施例的包括示例对象检测训练系统的图示;
图5A为根据本公开一些实施例的包括可以用来将覆盖值分配给空间元素区域的形状和对象区域的示例的图示;
图5B为根据本公开一些实施例的包括为空间元素区域确定覆盖值的示例的图示;
图6为根据本公开一些实施例的包括为与多个对象相对应的空间元素区域确定覆盖值的示例的图示;
图7为根据本公开一些实施例的包括使用死区区域为空间元素区域确定覆盖值的示例的图示;
图8A为根据本公开一些实施例的包括可以用于确定对象的取向的训练图像的真值标签的示例的图示;
图8B为根据本公开一些实施例的用来描述确定对象的取向的示例的图示;
图9为根据本公开一些实施例的用来描述确定对象的可见性或遮挡的示例的图示;
图10A为根据本公开一些实施例的用于确定被检测对象的置信度评分的方法的流程图;
图10B为根据本公开一些实施例的用于确定被检测对象数据的方法的流程图;
图11为根据本公开一些实施例的用于确定用于训练对象检测器的覆盖值的方法的流程图;
图12为根据本公开一些实施例的用于确定用于训练对象检测器的软覆盖值的方法的流程图;
图13为根据本公开一些实施例的用于确定用于训练对象检测器的覆盖值的方法的流程图;
图14为适合用于实现本公开一些实施例的示例操作环境的图示;
图15A为根据本公开一些实施例的示例自主车辆的图示;
图15B为根据本公开一些实施例的用于图15A的示例自主车辆的照相机位置和视场的示例;
图15C为根据本公开一些实施例的用于图15A的示例自主车辆的示例系统架构的框图;
图15D为根据本公开一些实施例的图15A的基于云的服务器与示例自主车辆之间的通信的系统图;以及
图16为适合用于实现本公开一些实施例的示例计算设备的框图。
具体实施方式
本文公开的系统和方法涉及对象检测和检测置信度。所公开的方法可以适合自主驾驶,但是也可以用于其他应用,例如机器人、视频分析、天气预报、医学成像等。本公开可以关于示例自主车辆1500(可替换地在这里称为“车辆1500”或者“自主车辆1500”)进行描述,该自主车辆的一个示例在这里关于图15A-图15D更详细地进行描述。尽管本公开主要提供了使用自主车辆的示例,但是其他类型的设备可以用来实现本文描述的各种方法,例如机器人、照相机系统、天气预报设备、医学成像设备等等。此外,这些方法可以用于控制自主车辆,或者用于其他目的,例如但不限于,视频监控、视频或图像编辑、视频或图像搜索或检索、对象跟踪、天气预报(例如使用RADAR数据)和/或医学成像(例如使用超声或磁共振成像(MRI)数据)。
用于置信度确定的机器学习模型
为了检测图像中表示的对象,常规的系统可使用卷积神经网络(CNN),其为图像的空间元素区域网格提供覆盖值和边界框。每个覆盖值可以表示对象至少部分地在相应空间元素区域内绘出的可能性,并且边界框可以针对该空间元素区域围绕该对象而提供。由于对象可占用网格的多个空间元素区域,因而不同的覆盖值和边界框可与相同对象的检测相对应。可以通过对这些检测聚类(cluster)而将这些检测聚合到特定对象,并且可以为每个聚合的检测分配置信度值。在一些方法中,簇(cluster)的最大覆盖值可以用作置信度值。当实现时,该方法可导致错误的检测或者假阳性,因为最大覆盖值可能仅仅与图像的小部分相对应。另一种方法可以使用簇的覆盖值的总和作为置信度值。然而,由于该总和是无界的,该总和不可以直接解释为置信度或者概率度量,这也可能导致错误的或遗漏的检测。
作为常规方法的这些错误的或遗漏的检测的结果,实现这些常规系统的自主车辆规划的路径可能是不准确的,从而导致以比希望的更不安全的方式控制自主车辆。此外,由于错误的或遗漏的检测的原因,可能需要附加的处理来纠正这些错误(例如通过执行附加的对象检测),或者一旦认识到该错误,自主车辆可能不得不纠正其路径,从而导致自主车辆的潜在地不太高效和有效的操作。
与常规方法形成对比的是,所公开的方法允许确定置信度评分(例如,某个标量值),其可以直接解释为置信度度量并且可以精确地指示聚合的检测与图像数据中表示的实际对象相对应的概率。因此,当采用置信度评分时,错误的或遗漏的检测不太可能发生。
在一些示例中,可以使用从(例如车辆的视场中的)被检测对象生成的特征训练诸如多层感知器网络之类的机器学习模型(MLM)以便确定置信度评分。非限制性示例包括至少部分地基于与簇关联的一个或更多个覆盖值的特征、簇的检测的数量以及与簇关联的一个或更多个被检测对象区域。MLM可以学习在生成置信度评分中对于不同的空间元素区域考虑被检测对象之间的复杂关系。进一步,该置信度评分可以是有界值,其在考虑作为聚合的检测的部分的任意数量的原始被检测对象时提供直接的可解释性(例如,与常规方法相反,在常规方法中,可变数量的检测可以是簇的部分,因此所述总和没有提供相对度量交叉簇)。因此,与常规置信度值相比,使用置信度评分可能不太可能导致错误的检测。
进一步与诸如直接使用覆盖值和边界框的那些方法之类的常规方法形成对比的是,本公开的MLM用来确定置信度评分的特征可以基于各种各样的因素。示例因素包括参数,例如其中检测到对象的帧数、跟踪的对象状态估计的协方差、对象边界框内跟踪的特征点的统计、对象边界框内的光流估计、与对象外观模型的相关性、对象运动学估计和/或对象轨迹。其他因素包括直接从图像数据(例如从点或像素)计算的特征,或者从用来提供被检测对象的CNN的一个或更多个主要CNN层的特征计算的特征,所述CNN层为例如预测被检测对象位置(例如网格盒输出)的层之前的最后一层。这可以包括对象边界框内的特征,例如取向梯度的直方图。因素的其他示例包括与车辆的取向相对应的内部测量单元(IMU)输出,以及对象的距离或三维(3D)位置估计,其可以通过CNN和/或诸如LIDAR或RADAR之类的其他传感器确定。因素的另外的示例包括作为活动图的整个覆盖特征图、被检测对象簇的边界框之间的最大交并比以及被检测对象的底部和宽度可见性(例如基于CNN输出的指示符,其指示被检测对象的底部是否完全可见,和/或对象的整个宽度是否可见)。
训练机器学习模型以用于精确的对象检测
一种用于训练CNN以检测图像中描绘的对象的常规方法使用训练图像和边界框坐标集合,每个集合指定CNN应当检测其中的对象的训练图像中的区域。为了训练CNN以输出用于特定空间元素区域的覆盖值,可以将每个边界框坐标集合分配给训练图像的空间元素区域网格的单个空间元素区域。具体地,分配给所述边界框坐标集合的空间元素区域可以是包括边界框的中点的空间元素区域。可以填充用来训练CNN的真值张量,以根据是否为每个空间元素区域分配边界框坐标集合而将硬覆盖值(例如1或0)分配给该空间元素区域。
这种方法可以将CNN训练为尝试明确地确定在空间元素区域中是否描绘了对象,并且将该对象仅仅分配给该空间元素区域。然而,在许多情况下,可能难于将对象分配给仅仅一个空间元素区域,和/或明确地确定在该空间元素区域中是否描绘了对象。这可能例如在对象在图像中彼此靠近(例如一个遮挡另一个)时和/或在一个或更多个对象占用多个空间元素区域的情况下发生。作为这种困难的结果,可能出现对象检测的不精确,从而导致在检测传感器数据中的对象中不像希望的那样有用或者精确的CNN。
与这些常规的用于训练一个或更多个机器学习模型的方法形成对比的是,所公开的方法可以通过允许将边界框坐标集合分配给多个空间元素区域(例如使用与多个空间元素区域相对应的椭圆形真值)以用于训练和/或用于将软覆盖值(例如在从1到0的范围内)分配给用来训练CNN的真值数据中的空间元素区域而提高最终被检测对象的精度。
在一些示例中,使用对象区域(例如真值边界框区域)的维度计算至少部分地处于该对象区域内的形状的尺寸。然后该形状可以用来确定用来训练CNN的训练图像的空间元素区域的覆盖值(例如通过在真值张量中绘制至少一些形状)。例如,可以至少部分地基于空间元素区域与所述形状的部分相对应而为该空间元素区域确定覆盖值。可以使用一个或更多个覆盖值以及表示对象区域的至少一个对象区域值填充真值数据的元素,并且可以将真值数据用于训练CNN。
在一些情况下,一个或更多个覆盖值可以是与所述形状的一个或更多个抗混叠部分相对应的软覆盖值。形状的一个或更多个抗混叠部分可以例如通过以比真值数据表示的真值张量更高的空间分辨率渲染(render)至少一些所述形状,并且将经渲染的形状降尺度至真值张量的空间分辨率而计算。这可以导致形状边界附近的覆盖值较低,并且将CNN训练为在对于朝向形状中心的空间元素区域的检测中具有更大的确定性(其可以是对象存在性的更可靠的指示符)。
当空间元素区域与多个对象区域(指示不同的对象)相对应时,所提供的方法可以进一步允许确定该空间元素区域的覆盖值。在一些示例中,系统可以确定哪个对象区域是活动对象区域,并且可以将用于该活动对象区域的覆盖值用作用于该空间元素区域的覆盖值(或者给予该活动对象区域比其他对象区域更大的权重)。在一些情况下,可以将活动对象区域设置为对象的具有对象的最高覆盖值的对象区域。此外或者可替换地,可以将活动对象区域设置为图像中最近的或者最前面的对象。
在另外的方面,死区区域可以用来在空间上分离与不同对象区域(指示不同的对象)相对应的覆盖值。例如,用来为不同对象区域生成覆盖值的形状可以部分地重叠。使用死区区域,可以将与这些形状的重叠部分相对应的覆盖值设置为在空间上分离真值数据中形状的覆盖值(例如,通过归零或者减少用于死区区域的覆盖值)。这可以将CNN训练为更好地区分邻近的对象。例如,CNN可以为邻近对象之间的区域提供较低的覆盖值。
现在参照图1A,图1A示出了根据本公开一些实施例的包括示例对象检测系统100的图示。应当理解的是,本文描述的这种和其他布置仅仅作为示例而进行阐述。除了所示之外或者代替所示,可以使用其他的布置和元素(例如机器、接口、功能、顺序和功能分组等等),并且为了清楚起见可以完全省略一些元素。进一步,许多本文描述的元素是功能实体,其可以实现为分立的或分布式部件或者结合其他部件实现,以及以任何适当的组合和位置实现。本文描述的通过一个或更多个实体执行的各种功能可以通过硬件、固件和/或软件实现。例如,一些功能可以通过执行存储在内存中的指令的处理器而实施。
在一个或更多个实施例中,对象检测系统100包括例如通信管理器104、对象检测器106、被检测对象聚类器108、特征确定器110、置信度评分生成器112、对象跟踪器114以及被检测对象过滤器116。
通信管理器104可以被配置为管理对象检测系统100接收的通信(例如包括传感器数据和/或图像数据)和/或对象检测系统100提供的通信(例如包括置信度评分、被检测对象数据和/或从中导出的信息)。此外或者可替换地,通信管理器104可以管理对象检测系统100内的通信,例如对象检测器106、被检测对象聚类器108、特征确定器110、置信度评分生成器112、对象跟踪器114、被检测对象过滤器116和/或对象检测系统100中(例如车辆1500内)可能包括的其他部件中的任何部件之间的通信。
参照图1B,图1B为根据本公开一些实施例的示出用于检测对象并且确定对应的检测置信度评分的示例过程118的流程图。对象检测器106可以被配置为分析从通信管理器104接收的诸如图像数据之类的传感器数据,并且生成表示在传感器数据中捕获的被检测对象的被检测对象数据。被检测对象聚类器108可以被配置为至少部分地基于被检测对象数据生成或者确定被检测对象的一个或更多个簇。特征确定器110可以被配置为生成或者确定该簇的特征以用作置信度评分生成器112的输入。置信度评分生成器112可以被配置为至少部分地基于所述输入计算所述簇中的一个或更多个的置信度评分。对象跟踪器114可以被配置为例如在时域中跨帧(例如视频帧)和/或图像跟踪对象和/或被检测对象。图1A的被检测对象过滤器116可以包括被配置为从被检测对象数据中过滤被检测对象的被检测对象过滤器116A或者被配置为从被检测对象簇中过滤簇的被检测对象过滤器116B中的一个或更多个。
根据本公开的一些实施例,对象检测系统100可以在图14的示例操作环境1400中实现。例如,图1A的部件通常可以使用一个或更多个客户端设备1420、一个或更多个服务器设备1460或者一个或更多个数据存储1450的任意组合实现。因此,对象检测系统100可以经由布置在分布式环境中的、共同提供本文描述的功能的多个设备提供,或者可以具体化在单个设备(例如车辆1500)上。因此,虽然用来描述对象检测系统100的一些示例可涉及特定的设备和/或配置,但是可以预期的是,那些示例可以更一般地适用于本文描述的设备和配置的任何潜在组合。例如,在一些实施例中,用来生成传感器数据的一个或更多个部分的传感器1480中的至少一些可以分布在环境中的多个设备和/或对象之间,和/或传感器1480中的至少一个可以包括在车辆1500中。
如本文所提到的,通信管理器104可以被配置为管理对象检测系统100接收的通信(例如包括传感器数据和/或图像数据)和/或对象检测系统100提供的通信(例如包括置信度评分、被检测对象数据和/或从中导出的信息)。此外或者可替代地,通信管理器104可以管理对象检测系统100内的通信。
在通信作为网络通信而接收和/或提供的情况下,通信管理器104可以包括网络接口,其可以使用一个或更多个无线天线(图15A的一个或更多个无线天线1526)和/或一个或更多个调制解调器来通过一个或更多个网络通信。例如,网络接口可能够通过长期演进(LTE)、宽带码分多址(WCDMA)、通用移动电信服务(UMTS)、全球移动通信系统(GSM)、CDMA2000等通信。网络接口也可以使用一个或更多个诸如蓝牙、蓝牙低能耗(LE)、Z波、ZigBee等之类的局域网和/或一个或更多个诸如远程广域网(LoRaWAN)、SigFox等之类的低功耗广域网(LPWAN)实现环境中的对象(例如车辆、移动设备等)之间的通信。然而,例如在对象检测系统100完全在自主车辆(例如车辆1500)上实现的情况下,通信管理器104不必包括网络接口。在一些示例中,本文描述的通信中的一个或更多个可以在计算设备1600的部件之间通过图16的总线1602进行。
通信管理器104接收的传感器数据可以使用图14的传感器1480的任意组合生成。例如,该传感器数据可以包括表示一个或更多个图像的图像数据、表示视频的图像数据(例如视频快照)和/或表示传感器的视场的传感器数据(例如来自一个或更多个LIDAR传感器1564的LIDAR数据、来自一个或更多个RADAR传感器1560的RADAR数据、来自图15B的一个或更多个照相机的图像数据等)。
参照图2A和图2B,根据本公开一些实施例,图2A为覆盖有与被检测对象相对应的视觉元素的图像的图示,图2B为覆盖有与被检测对象簇相对应的视觉元素的图像的图示。通信管理器104提供给对象检测器106的传感器数据和/或图像数据可以在环境202中生成,并且可以包括表示车辆1500的各个照相机在环境202中的一个或更多个视场的图像数据,该图像数据可以包括一幅或更多幅图像,例如图像204。
图像204描绘了环境202的区域,其中这些区域可以包括任意数量的对象,其示例包括在图2B中标记的对象248A、248B、248C和248D。这些对象可以包括车辆、人(例如行人)、摩托车、骑车者、树、动物、建筑、指示牌、结构和/或环境202内的其他对象的任意组合。虽然提供了传感器数据的示例,但是在其他示例中,例如其中对象检测系统100不结合车辆和/或照相机使用,可以不采用传感器数据。例如,图像204可与不由传感器1480生成的图像数据相对应。在这些情况下,图像204可以是数字渲染,或者可以从中检测对象(其可不与环境中的物理对象相对应)的其他图像。
传感器数据和/或图像数据可以由通信管理器104提供给对象检测器106,该对象检测器可以分析该传感器数据(例如图像数据)以生成被检测对象数据。被检测对象数据可以表示对象检测器106对视场和/或图像204中的对象(其也可以称为被检测对象)的检测。被检测对象可以或者可以不与视场和/或图像204中描绘的实际对象相对应。例如,一些被检测对象可与对象检测器106做出的错误检测相对应。进一步,一些被检测对象可与视场和/或图像204中描绘的相同对象相对应。
对象检测器106可以包括被训练为从提取自传感器数据(例如图像数据)的特征生成被检测对象数据的一个或更多个机器学习模型。在一些示例中,对象检测器106被配置为针对视场和/或图像的每个空间元素区域确定被检测对象数据(例如覆盖值和被检测对象区域和/或位置)的集合。空间元素区域的位置和区域可以由对象检测器106的相应空间元素(例如输出)限定。例如,对于不同视场和/或图像,针对相同空间元素的空间元素区域可以处于与该空间元素相对应的相同位置和相同区域。在各个不同的示例中,空间元素也可以指对象检测器106的网格单元(cell)、输出单元、超像素和/或输出像素。
在各个示例中,空间元素可以形成空间元素区域的网格。例如,图2A作为示例直观地指示了对象检测器106的空间元素的网格210。诸如空间元素区域254之类的空间元素区域可以由该网格限定。例如,每个网格单元可以包含空间元素的空间元素区域。在其他示例中,可以不使用基于网格的空间元素。进一步,空间元素可以不必限定邻接的空间元素区域,可以不必限定矩形形状的空间元素区域,和/或可以不覆盖视场和/或图像的所有区域。
在一些示例中,对于单个图像204或帧或者图像或帧的集合,对象检测器106的每个空间元素可以为相应的被检测对象提供被检测对象数据。在其他示例中,一个或更多个空间元素可以不提供被检测对象数据。被检测对象数据可以表示例如被检测对象在视场和/或图像204中的位置,例如被检测对象在视场和/或图像204中的坐标。此外或者可替代地,用于被检测对象的被检测对象数据可以表示与该被检测对象相对应的被检测对象区域。例如,被检测对象区域可以是视场和/或图像204中对象检测器106检测和/或预测其中的对象的区域。在一些示例中,对象检测器106可以将被检测对象区域生成为对被检测对象限界的形状。例如,每个被检测对象区域可以是围绕被检测对象的边界框。在一些示例中,对象检测器106可以使用被检测对象的一个或更多个位置表示被检测对象区域。例如,对象检测器106可以提供限定被检测对象区域的形状的位置的集合。
在图2A的示例中,可以由对象检测器106将每个被检测对象区域作为边界框坐标集合而提供。例如,示出了与被检测对象区域250A、被检测对象区域250B、被检测对象区域250C和被检测对象区域250D相对应的视觉元素,以图示不同的空间元素(例如用阴影单元指示)的边界框坐标(例如边界框的四个角点)处的至少一些边界框。
对象检测器106提供的被检测对象的被检测对象数据可以表示例如该被检测对象的覆盖值。覆盖值可以表示至少部分地在与被检测对象的一个或更多个位置相对应的位置处(例如在被检测对象的被检测对象区域内)绘出对象的可能性或概率。
可以由对象检测器106提供的被检测对象数据的另一个示例,包括表示被检测对象在一个或更多个视场、一个或更多个图像和/或环境202中(例如相对于用来捕获传感器数据的传感器)的深度(或3D位置)的深度数据。被检测对象数据的另一示例包括表示可见的被检测对象的量和/或被检测对象的特定部分是否可见的可见性数据。例如,可见性数据可以表示底部和/或宽度可见性状态和/或值,其可以分别预测对象的底部/高度或宽度是否可见。例如,对象可能从一个或更多个侧面被遮挡,和/或被截断在一个或更多个传感器的一个或更多个视场之外。
被检测对象数据的另一示例包括表示被检测对象在一个或更多个视场、一个或更多个图像和/或环境202中的取向(orientation)的取向数据。取向可以包括一个或更多个取向值,其捕获感兴趣对象(例如汽车)相对于位于诸如照相机之类的一个或更多个传感器上的原点呈现的角度。在一些示例中,对象检测器106被训练为预测所述角度的正弦值和余弦值二者,而不是原始取向本身。这可以提高预测的精度。
在一些示例中,用于不同空间元素区域的被检测对象数据中的至少一些例如由于这些空间元素区域之间的接近性而可能与视场和/或图像数据中描绘的相同对象相对应。例如,对象检测器106可以基于对象248A确定不同空间元素区域的被检测对象区域250A,基于对象248B确定不同空间元素区域的被检测对象区域250B,基于对象248C确定不同空间元素区域的被检测对象区域250C,基于对象248D确定不同空间元素区域的被检测对象区域250D。在示例中,任意数量的被检测对象和被检测对象区域(或者更一般而言位置)可以与视场和/或传感器数据(例如图像数据)中描绘的特定对象相对应。
被检测对象聚类器108可以用来将可能与视场和/或传感器数据中描绘的相同对象相对应的被检测对象彼此关联,以便对象检测系统100形成用于特定对象的聚合的检测。例如,被检测对象聚类器108可以将聚类算法应用于对象检测器106提供的被检测对象以便形成与被检测对象区域250A相对应的第一簇被检测对象、与被检测对象区域250B相对应的第二簇被检测对象、与被检测对象区域250C相对应的第三簇被检测对象以及与被检测对象区域250D相对应的第四簇被检测对象。
在一些情况下,在被检测对象由被检测对象聚类器108聚类之前,被检测对象过滤器116A可以至少部分地基于关联的覆盖值和/或其他标准(例如本文描述的可以由被检测对象数据表示或者从中提取的各种信息中的任何信息)从对象检测器106的输出中过滤被检测对象。然后留下的(remain)被检测对象可以被提供给被检测对象聚类器108以用于聚类。这可以通过减少被聚类的被检测对象数量而节省处理功率。例如,过滤掉的被检测对象可能不太可能与实际对象相对应,或者可能是冗余的。图2A的视觉元素可以与被检测对象过滤器116A执行的过滤之后留下的被检测对象相对应。在其他示例中,可以不使用被检测对象过滤器116A,并且对象检测器106提供的每个被检测对象可以由被检测对象聚类器108进行聚类。
此外或者可替代地,被检测对象过滤器116A可以至少部分地基于关联的被检测对象区域过滤被检测对象。例如,被检测对象可以(例如使用尺寸阈值)至少部分地基于其被检测对象区域的尺寸而进行过滤。这在其中对象检测器106包括被优化为检测不同尺寸范围内的对象的一个或更多个专用部件或参数的示例中可能是有用的。例如,对象检测器106的第一部分可以被训练或者配置为输出针对第一尺寸范围的对象检测,并且对象检测器106的第二部分可以被训练或者配置为输出针对第二尺寸范围的对象检测。被检测对象过滤器116A可以过滤由对象检测器106的那些部件提供的处于该尺寸范围之外(和/或具有低于阈值的覆盖值)的被检测对象。
此外或者可替代地,被检测对象过滤器116A用来过滤被检测对象的一个或更多个阈值(例如尺寸阈值或者覆盖值阈值)可以至少部分地基于被检测对象的类别。例如,对象检测器106可以被训练为针对被检测对象输出被检测对象数据的一部分,该部分表示指示被检测对象的类别的被检测对象类别值或标识符(ID)。示例类别可以包括但不限于汽车、摩托车、行人和/或骑车者,但是,可以使用任意数量和类型的类别。每个阈值(或者阈值集合)可以例如特定于或者以其他方式基于特定目标类别。
被检测对象聚类器108可以通过将一个或更多个聚类算法应用于对象检测器106针对被检测对象的输出(例如在过滤之后)而形成任意数量的被检测对象簇。例如,被检测对象簇可以分别与图2B中的被检测对象区域260A、260B、260C和260D相对应。为了对被检测对象聚类,被检测对象聚类器108可以将被检测对象的位置(例如被检测对象区域)聚类在一起。这可以例如至少部分地基于与该位置和/或本文描述的其他被检测对象数据关联的覆盖值。在一些示例中,被检测对象聚类器108使用具有噪声的基于密度的应用空间聚类(DBSCAN)算法。其他示例包括非最大抑制或者groupRectangles算法。
聚类算法可以包括指定两个被检测对象位置之间的最大允许距离(例如逐对的)以便将它们看作相同簇的部分的一个或更多个参数。聚类算法还可以包括最小覆盖聚类参数,其中在聚类期间具有低于该阈值的覆盖值的空间元素被丢弃并且不加考虑。聚类算法还可以包括最小对象高度参数,其中在聚类期间具有高度低于该阈值的被检测对象区域的空间元素可以被丢弃并且不加考虑。聚类算法还可以包括最小样本参数,其中如果组成簇的被检测对象的覆盖值的总和低于该值,则丢弃该簇。聚类算法可以在上面的参数形成的超空间的部分上执行搜索。
聚类算法(例如DBSCAN)的输入可以包括被检测对象的位置(例如边界框)之间的逐对距离,以及与这些位置关联的覆盖值。这些覆盖值可以用作聚类算法的样本权重。聚类算法的输出可以包括被检测对象的位置的标签,使得聚类在一起的所有位置可以具有相同的标签。可以由被检测对象聚类器108使用的聚类算法可以通过超参数进行参数化,所述超参数例如控制用于每个被检测对象的邻域尺寸和/或形成有效簇的最小总计样本权重的参数。两个被检测对象区域b1和b2的逐对距离可以计算为:d(b1,b2)=1.0–IOU(b1,b2),其中IOU指的是交并比。这可以指两个被检测对象区域之间的交集面积与它们的并集面积的比值。
对象检测系统100可以确定每个簇的聚合的(aggregated)被检测对象数据,其可以类似于本文描述的对象检测器106针对特定被检测对象的输出,但是可以与该簇相对应。一簇或一组被检测对象也可以称为聚合的被检测对象。对象检测系统100可以至少部分地基于簇中的被检测对象的位置确定聚合的被检测对象的一个或更多个位置。例如,该位置可以是这些位置的平均值和/或加权平均值(例如按覆盖值)。作为另一个示例,具有最高覆盖值的位置可以用作聚合的被检测对象的位置。图2B中的被检测对象区域260A、260B、260C和260D与聚合的被检测对象的位置的示例相对应。
进一步可能希望的是,对象检测系统100确定聚合的被检测对象与至少部分地在一个或更多个视场和/或一个或更多个图像中描绘的对象相对应的可能性和/或概率。在一种方法中,簇的被检测对象的最大覆盖值可以用作置信度值。尽管这种方法可以用在本文描述的一些示例中,但是这种方法可导致错误的检测,因为最大覆盖值可能仅仅与一个或更多个图像和/或一个或更多个视场的小部分相对应。另一种方法可以使用簇的被检测对象的覆盖值的总和作为置信度值。虽然这种方法可以用在本文描述的一些示例中,但是由于该总和是无界的,该总和不可以直接解释为置信度或者概率度量,这也可导致错误的检测。在这个方面,置信度评分生成器112可以用来确定簇的置信度评分,其可以直接互操作为聚合的被检测对象与至少部分地在一个或更多个视场和/或一个或更多个图像中描绘的对象相对应的可能性或概率。
置信度评分生成器112可以至少部分地基于与至少聚合的检测关联的特征生成用于簇或者聚合的检测的置信度评分。例如,置信度评分生成器112可以包括被训练为至少部分地基于这些特征生成置信度评分的一个或更多个机器学习模型(例如一个或更多个神经网络)。特征确定器110可以至少部分地基于与聚合的检测关联的被检测对象数据检测和/或生成特征。这些特征可以用作一个或更多个机器学习模型的输入。进一步地,一个或更多个机器学习模型可以输出表示置信度评分(例如,标量值)的置信度评分数据。例如,对于给定的一个或更多个图像或一个或更多个帧,置信度评分生成器112可以用来为每个聚合的检测(或者其组合)生成置信度评分。
虽然可以用于置信度评分生成器112和/或本文描述的其他部件(例如对象检测器106)的一个或更多个机器学习模型的一些示例可涉及特定类型的机器学习模型(例如神经网络),但是可以预期的是,本文描述的机器学习模型的示例可以例如但不限于包括任何类型的机器学习模型,例如使用线性回归、逻辑回归、决策树、支持向量机(SVM)、朴素贝叶斯、k最近邻(Knn)、K均值聚类、随机森林、降维算法、梯度增强算法、神经网络(例如,自动编码器、卷积、循环、感知器、长期/短期记忆(LSTM)、Hopfield、玻尔兹曼、深度信念、反卷积、生成式对抗、液态机器等)的一个或更多个机器学习模型和/或其他类型的机器学习模型。
在一些情况下,被检测对象过滤器116B可以用来基于关联的覆盖评分和/或其他标准(例如本文描述的可以由关联的被检测对象数据、聚合的被检测对象数据表示或者从中提取的各种信息中的任何信息)过滤聚合的检测。例如,可以至少部分地基于置信度评分超过阈值(例如可调节值)而保留聚合的检测。这种过滤可以被执行以降低假阳性。
在一些示例中,对象检测系统100可以使用对象检测器106采用多尺度(multi-scale)推理。在多尺度推理中,对象检测器106可以在不同的尺度上(例如并行地)多次推理相同的图像。原始检测可以合并在一起并且被传递给被检测对象过滤器116A或者被检测对象聚类器108以供进一步处理,如在图1B中所述。
聚合的检测以及任何关联的聚合的检测数据可以用于各种目的。非限制性示例包括视频监控、视频或图像编辑或者图像搜索或检索、对象跟踪、天气预报(例如使用RADAR数据)、医学成像(例如使用超声或磁共振成像(MRI)数据)和/或自主驾驶。在一些示例中,聚合的检测可以用于诸如车辆1500之类的自主车辆的障碍感知。例如,对象检测系统100可以包括在车辆1500的障碍感知器中,其中聚合的检测中的至少一些可以是使用障碍感知器感知的障碍物。
在一些示例中,对象跟踪器114可以用来跨帧(例如视频帧)和/或图像(诸如,在时域中)跟踪对象和/或被检测对象(例如聚合的被检测对象)。例如,对象跟踪器114可以确定至少第一被检测对象和第二被检测对象是跨传感器数据和/或图像数据表示的连续帧(例如在时间上相继的帧)描绘的相同对象。这可以至少部分地基于与聚合的被检测对象关联的置信度评分。作为另一个示例,对象跟踪器114可以至少确定第一被检测对象和第二被检测对象是传感器数据和/或图像数据表示的、由(例如车辆1500的)不同传感器和/或在不同图像中(例如,并且合并或者融合所述检测)捕获的相同对象。作为一个示例,对象跟踪器114可以使用置信度评分和/或聚合的对象数据将从一个或更多个传感器和/或传感器类型(例如产生图像数据的照相机或者照相机阵列)导出的对象的检测(例如使用图1B的过程)与从一个或更多个其他传感器和/或传感器类型(例如LIDAR和/或RADAR传感器)确定的对象的检测(例如使用图1B的过程)融合或者合并。
用于对象检测的机器学习模型的示例
现在参照图3,图3为根据本公开一些实施例的包括示例对象检测器306的图示。作为一个示例,对象检测器306可以用作图1A和图1B的对象检测器106,或者可以使用其他类型的对象检测器。对象检测器306包括用于对象检测的一个或更多个神经网络,例如一个或更多个CNN。一个或更多个CNN可以使用具有数量为N(例如256、512或1024)的空间元素的如图3中所示的网格盒(gridbox)或其他架构。在该架构中,在网络顶部用于图像分类的全连接层和/或平均池化层可以由每个空间单元(与空间元素相对应)均具有输出的卷积层代替。空间单元(例如与图2A的空间元素区域254相对应)的输出的示例在图3中示出,并且包括本文描述的被检测对象数据的任意组合。在所示的特定示例中,输出包括位置数据310、覆盖数据312、深度数据314、取向数据316、取向数据318、底部或高度可见性数据320以及宽度可见性数据322。
取向数据316和取向数据318是取向数据的两个示例,在一些示例中,可以只使用其中一个。每一个可以表示被检测对象在一个或更多个图像中的取向,例如捕获感兴趣对象(例如汽车)相对于位于诸如照相机之类的一个或更多个传感器上的原点呈现的角度的一个或更多个取向值。取向数据318可以表示该角度的正弦值和余弦值二者,并且可以使用双曲正切(tanh)激活函数提供。取向数据316可以表示原始取向本身(例如角度),并且可以使用整流线性单元(ReLU)激活函数提供。图3示出了仅仅作为示例的用于对象检测器306的各个输出的特定激活函数。通常,所示的任何输出可以使用ReLU、泄漏ReLU、sigmoid、tanh、指数线性单元(ELU)和/或其他激活函数提供。
位置数据310可以表示限定被检测对象区域的任意数量的位置坐标,例如与边界框区域的角相对应的四个坐标。位置坐标可以以各种可能格式提供,例如左、下、上、右坐标。格式的另一个示例包括中心坐标(例如x,y)连同空间元素区域的宽度和高度。在一些示例中,位置数据310可以使用锚框(anchor box)提供。例如,尽管示出了4x1x1层,但是可以针对不同的锚框类型(例如针对被检测对象的不同尺寸和/或取向)提供多个层。
覆盖数据312可以表示用于空间单元的覆盖值。覆盖值可以解释为相应空间元素区域中的“对象性”(或者空间单元与对象相对应的可能性)的度量。举例而言,覆盖值可以使用sigmoid激活函数提供。
深度数据314可以表示与被检测对象距离一个或更多个传感器(例如距离一个或更多个照相机)的距离或深度(或3D位置)相对应的深度值。举例而言,深度值可以使用ReLU激活函数提供。
底部或高度可见性数据320可以表示指示被检测对象的底部或高度是否完全可见或者部分被遮挡(或者被图像截断)的值。在其他示例中,该值可以指示可见、被遮挡或者被截断的被检测对象的底部或高度的量。举例而言,该值可以使用sigmoid激活函数提供。
类似地,宽度可见性数据322可以表示指示被检测对象的宽度是否完全可见或者部分被遮挡(或者被图像截断)的值。在其他示例中,该值可以指示可见、被遮挡或者被截断的被检测对象的宽度的量。举例而言,该值可以使用sigmoid激活函数提供。
对象检测器106的输出(例如一个或更多个神经网络的一个或更多个输出层330)典型地可以针对每个空间元素(例如网格或空间单元)提供,并且可以称为用于被检测对象的“原始”输出或检测。各个原始输出或检测的任意组合可以是被检测对象过滤器116A过滤对象检测器306提供的被检测对象所使用的。例如,各个阈值可以用作各个输出的任意组合的截止值(cutoff)。进一步地,尽管没有示出,所述输出可以包括表示被检测对象的类别的类别数据,并且不同的阈值可以用于不同的类别。对象检测器306可以通过相对应地复制输出层330结构或者根据类别数量修改每个输出的深度而扩展到多个对象类别。还可以使用3x3或者任何其他卷积尺寸来代替如图3中所描绘的1x1。
如本文所提到的,被检测对象过滤器116A可以至少部分地基于关联的被检测对象区域的尺寸来过滤被检测对象。为了说明前面所述,对象检测器306可以包括多个头部(head),每个头部具有(例如并行地)预测它自己的被检测对象集合的任务(例如边界框、覆盖值和/或本文描述的其他输出)。第一头部可以比第二头部(例如具有步幅8)更大(例如具有更大步幅,诸如16步幅),使得它更适合检测图像204中描绘的中型到大型对象,而第二头部更适合检测图像204中描绘的小型到中型对象。虽然每个头部可以具有一个或更多个它自己的输出层330,该输出可以由被检测对象过滤器116A不同地过滤,以便利用每个头部的能力,这可能导致用于聚类的更高质量的原始被检测对象。例如,被检测对象过滤器116A可以至少部分地基于被检测对象具有比阈值尺寸更大的被检测对象区域而过滤掉第二头部提供的被检测对象。在一些示例中,被检测对象过滤器116A可以在被检测对象区域比阈值尺寸更大的情况下为第二头部保留至少一些被检测对象,但是可使用用于关联的覆盖值的更大阈值。在其他示例中,可以过滤被检测对象,而不管覆盖值如何。
对象检测器306可以通过将图像分解成某尺寸的简化块而处理图像(例如图片)。如果图像最初是高清晰度图像(例如具有1920像素×1080像素或者更大的空间分辨率),那么对象检测器306可以将图像降低为具有较低空间分辨率(例如60像素×30(超)像素)的特征图。其中特征图中的像素可以与输入图像的像素空间(例如非重叠的)中的像素块(例如16×16)相对应。在多头部配置中,对象检测器306可以将图像降低多次(例如两次)。一个降低可以是降低至第一较低分辨率特征图(例如60×30)。这可以对应于处理例如输入图像的像素空间中的16×16像素块(例如非重叠的)。另一个降低可以是降低至第二较低分辨率特征图(例如120×60)。这可以对应于处理例如输入图像的像素空间中的8×8像素块(例如非重叠的)。
由于像素块更大的原因,第一较低分辨率特征图可以比第二较低分辨率特征图更佳地用于识别图像中的大型对象(例如靠近的汽车的后端)。由于像素块更小的原因,第二较低分辨率特征图可以更佳地用于识别图像中的小型对象(例如正好滚到街上的篮球或者远处货车的前端)。
对象检测器306可以包括深度神经网络(DNN)。在一些示例中,DNN包括一个或更多个输出层330、中间层332和一个或更多个输入层334。在一些示例中,DNN有18层深,但是DNN可以深达任意层数。
为了推理,对象检测器306的一个或更多个输入层334可以根据是否使用了批处理(batching)而拍摄一幅或若干幅图像。例如,当例如在推理时间使用批处理以便同时推理多幅输入图像时,当训练对象检测器306期间使用迷你批处理时,和/或当使用视频处理以使得对象检测器306在时间上连续地或者顺序地处理多个帧时,可以同时输入多幅图像。
许多类型的图像或格式可以用作输入,例如诸如联合照片专家组(JPEG)或者亮度/色度(YUV)格式的压缩图像,如源于诸如H.264或H.265/高效视频编码(HEVC)之类的压缩视频格式的帧那样的压缩图像,诸如源于红白(clear)白蓝(RCCB)、红白白白(RCCC)或者其他类型的成像传感器的原始图像。与用于推理(部署)的格式和/或分辨率不同的格式和/或分辨率可以用于训练对象检测器306。
输入到对象检测器306的图像可以以多维数组/矩阵(也称为张量,更具体地,称为输入张量)的形式表示并加载在内存中。数组尺寸可以计算/表示为W×H×C,其中W代表以像素为单位的图像宽度,H代表以像素为单位的高度,并且C代表颜色通道数量。不失一般性地,其他类型和排序的输入图像分量也是可能的。此外,当使用批处理时,批尺寸B可以用作维度(例如附加的第四维度)。批处理可以用于训练和/或用于推理。因此,输入张量可以表示维度为W×H×C×B的数组。维度的任何排序都是可能的,这可以取决于用来实现对象检测器306的特定硬件和软件。可以选择该排序以最大化训练和/或推理性能。
可以采用预处理图像管线来处理一个或更多个传感器获取的一个或更多个原始图像,以产生到一个或更多个输入层334的一个或更多个输入图像。适当的预处理图像管线的示例可以使用来自传感器的原始RCCB拜耳(Bayer)(例如1通道)类型的图像,并且将该图像转换成以固定精度(例如每通道16比特)格式存储的RCB(例如3通道)平面图像。预处理图像管线可以包括解压缩扩展、降噪、去马赛克、白平衡、直方图计算和/或自适应全局色调映射(例如以该顺序)。
在采用降噪的情况下,它可以包括拜耳域的双边去噪。在采用去马赛克的情况下,它可以包括双线性插值。在采用直方图计算的情况下,它可以涉及计算C通道的直方图,并且在一些示例中可以与解压缩扩展或降噪合并。在采用自适应全局色调映射的情况下,它可以包括执行自适应伽马-对数变换。这可以包括计算直方图,获得中间色调级别,并且利用中间色调级别估计最大亮度。
中间层332可以包括包含卷积层和池化层的特征提取器,或者在一些示例中可以根本不包括池化层。卷积层中的一个或更多个可以执行跨步(strided)卷积。特征提取器可以被配置为构造输入图像的层次表示,每一层构建一抽象级别,DNN中的层离一个或更多个输入层334越高/越远,该抽象级别越大。特征提取器的最终卷积特征图的输出可以用作一个或更多个后续输出层330的输入。
在一些示例中,中间层332包括作为特征提取器的部分的一个或更多个上采样层,其可以位于特征提取器的顶部和/或位于其他位置。当与其输入相比较时,上采样层可以增大其输出处的空间分辨率。上采样层可以包括反卷积层,尽管严格说来它可能不执行反卷积操作。上采样层的替代名称包括转置卷积层或者分数步长的卷积层。
在一些示例中,对象检测器306的特征提取器可以包括诸如门控递归单元(GRU)或者长短期记忆(LSTM)单元之类的一个或更多个循环卷积层,其可以为单维或者多维卷积循环单元。进一步,跳过连接(skip-connection)或者残差连接(residual connection)可以用于连接特征提取器的非连续层。另外,级联操作符可以用作特征提取器的部分。可以使用各种类型的激活函数,例如(且不限于):ReLU,泄漏ReLU,sigmoid,tanh和ELU。也可以使用批归一化层。
一个或更多个输出层330(或者层的集合)可以预测/输出本文描述的各种被检测对象数据中的任何数据。假设对象检测器306输出对于数量为C的感兴趣对象类别的预测。后续的一个或更多个输出层330可以在一个或更多个输出层330之前将一组卷积过滤器(例如1x1或3x3,但是不限于这些示例)应用到最后的或者最终的卷积特征图的输出上。在一个示例、非限制性实施例中,假设一个或更多个输出层330的输出处的最终特征图具有空间分辨率Wout×Hout。然后,该特征图上的每个空间元素可以为所考虑的该C个类别中的每一个类别输出本文关于一个或更多个输出层330描述的各种被检测对象数据中的任何数据。
举例而言,假设尺寸为960x 480x 3(例如960个像素的宽度,480个像素的高度,以及3个颜色通道)的输入被输入到对象检测器306,每个输出单元(例如网格单元)可以与输入图像中的一像素区域(例如16x 16)相对应。该像素区域可以与本文描述的空间元素区域相对应,并且可以基于DNN的步长(stride)。在该示例中,一个或更多个输出层330可以包括尺寸为60x 30x(1+4)x C的数组。与一个或更多个输出层330相对应的数组/矩阵(例如多维矩阵)可以称为对象检测器306的输出张量。
用于确定检测置信度评分的机器学习模型的示例
置信度评分生成器112(以及通过扩展,置信度评分生成器112生成的置信度评分)可以用于许多不同的潜在应用,其非限制性示例包括视频监控、视频或图像编辑、视频或图像搜索或检索、对象跟踪、天气预报(例如使用RADAR数据)、医学成像(例如使用超声或磁共振成像(MRI)数据)和/或自主驾驶。在自主驾驶的上下文中,具有足够的置信度评分的聚合的被检测对象可以描述一个或更多个视场和/或一个或更多个图像中包括与驾驶车辆1500有关的对象的区域,并且可以与其他类型的信息(例如来自像LIDAR或RADAR那样的其他传感器的数据,或者通过车辆1500中的其他系统计算的信息)结合。例如,置信度评分可以向车辆1500指示有0.95(95%)的概率在车辆1500正前方相对于车辆的特定位置处存在对象(比如另一车辆),但是只有0.03(3%)的概率在地平面上存在有关对象,例如云,其很可能与车辆1500的即时操作无关。
置信度评分生成器112可以至少部分地基于至少与聚合的检测关联的特征为簇或者该聚合的检测生成置信度评分。这些特征可以使用特征确定器110提供。置信度评分生成器112可以将特征的一个或更多个向量(例如单个向量)作为它的一个或更多个输入,并且输出一个或更多个置信度评分。置信度评分可以是例如处于0到1的范围内的单个标量值。使用标量值,置信度评分可以直接解释为错误检测的概率。
置信度评分生成器112可以包括被训练为至少部分地基于该特征生成一个或更多个置信度评分的一个或更多个机器学习模型(例如一个或更多个神经网络)。置信度评分生成器112可以例如至少部分地基于来自被检测对象聚类器108的输出而回归(regress)置信度评分。置信度评分生成器112可以被实现为诸如多层感知器(MLP)网络之类的一个或更多个前馈神经网络或者使用其实现。
图1B示出了其中置信度评分生成器112包括MLP的非限制性示例。MLP可以包括单个隐藏层;然而,这仅仅是示例,并且隐藏层的数量可以不同,例如两个或三个。进一步,每层的节点数量可以以各种不同的方式确定维度。例如,图1B示出了7个输入节点(包括节点140),每个输入特征一个输入节点,然而,这仅仅是非限制性示例。同样地,在直接从像素/帧元素和/或图像或传感器数据(例如对象检测器106的输入像素/帧元素)计算特征的情况下,置信度评分生成器112可以包括除了MLP之外或者代替MLP的一个或更多个卷积层。
在一些示例中,提取自对象检测器106的输入帧或图像的检测(例如在由被检测对象过滤器116A过滤之后)可以共同提供给置信度评分生成器112。可以移除重复的检测。在这些示例中,用于置信度评分生成器112的输入特征可全部由特征确定器110共同地从该检测中提取,并且馈送给置信度评分生成器112。置信度评分生成器112可以包括接收这些特征的循环神经网络(RNN)。这在其中每帧的检测数量可以是可变的示例中可能是有益的。可以使用任何形式的RNN,诸如,例如长短期记忆(LSTM)或者门控递归单元(GRU)。然而,仍然可以例如通过根据每帧的最大检测数量对置信度评分生成器112的输入向量确定维度而使用MLP。未使用的条目可以用零和/或其他假值(dummy value)填充。
训练置信度评分生成器112可以包括例如对象检测器106的聚类输出(例如使用被检测对象聚类器108和/或被检测对象过滤器116A)。基于与簇关联的聚合的被检测对象数据的任意组合,特征确定器110可以确定特征,并且将这些特征作为输入提供给置信度评分生成器112。真值标记可以用来将簇标记为假阳性或者真阳性。在训练期间,对于置信度评分,假阳性可以分配标签“0”,而真阳性可以分配标签“1”。使用这种方法,来自置信度评分生成器112的输出(例如在一些示例中与单个输出节点142相对应的输出)可以与真值标签相比较。这些比较可以用来计算误差项,并且这些误差项可以由反向传播算法用来调节一个或更多个机器学习模型的权重。可以利用sigmoid激活函数(也称为logistic激活函数)和/或交叉熵损失(也称为logistic损失)训练置信度评分生成器112。在一些示例中,训练可以离线执行,并且当(例如使用预训练和预加载的权重)部署置信度评分生成器112时,只有前向传递(forward pass)可以运行。在训练时,置信度值可以用来判断哪些检测(例如聚类的检测)与假阳性检测相对应。
特征确定器110提供给置信度评分生成器112的特征可以基于各种各样的潜在因素。为了确定聚合的检测的置信度评分,特征确定器110可以从聚合的检测提取一个或更多个特征,或者确定聚合的检测的一个或更多个特征,并且可以将那些特征应用到置信度评分生成器112。聚合的检测的特征可以至少部分地基于聚合的被检测对象数据,例如分配给聚合的检测的位置和/或被检测对象区域、分配给聚合的检测的一个或更多个取向值、分配给聚合的检测的一个或更多个可见性值(例如高度和/或宽度)、分配给聚合的检测的一个或更多个深度值和/或与聚合的检测关联的其他信息。此外或者可替代地,用于聚合的检测的特征可以至少部分地基于与簇相对应的各个被检测对象中的任何被检测对象的被检测对象数据,例如位置和/或被检测对象区域、一个或更多个可见性值(例如高度和/或宽度)、一个或更多个深度值和/或与被检测对象关联的其他信息。例如,特征可以对应于分配给聚合的检测的被检测对象区域的高度、宽度、面积、中心点或中点(例如x和y,在一些示例中其可以与分离的特征相对应)和/或其他维度。
在一些示例中,特征确定器110计算一个或更多个统计量(statistic)(例如一个或更多个统计值),并且将一个或更多个统计量或者从中导出的数据作为特征提供。统计量的示例包括簇的至少一些被检测对象的覆盖值的总和、均值、平均值、取向梯度直方图(HOG)、最大值、最小值、标准偏差、众数、方差、中值、范围和/或其他统计方面。统计量的进一步的示例包括簇的至少一些被检测对象的位置(例如被检测对象区域坐标)和/或被检测对象区域的总和、均值、HOG、平均值、最大值、最小值、标准偏差、方差、众数、中值、范围和/或其他统计方面。例如,统计量可以与被检测对象区域的高度、宽度、面积、中心点或中点(例如x,y)和/或其他维度相对应。在一些示例中,统计量基于被检测对象区域之间的IOU,例如被检测对象区域之间的最大IOU(本文提供了用于计算IOU的示例方程)。统计量的另一个示例是作为簇的部分的被检测对象的数量。进一步,诸如总和、均值、平均值、标准偏差、众数、方差、中值、范围和/或其他统计方面之类的统计量可以根据本文描述的各种被检测对象数据中的任何数据计算,例如关于深度、可见性、取向等的统计量。
特征确定器110可以从应用到对象检测器106的传感器数据的一个或更多个区域,诸如与上面描述的一个或更多个被检测对象或者一个或更多个聚合的被检测对象相对应的空间元素区域(或者被检测对象区域)之类的区域,确定一个或更多个特征。例如,在本文描述了统计量可以至少部分地基于被检测对象区域而计算的情况下,该统计量可以根据(例如对象检测器106的)传感器数据的相应输入像素或部分和/或对象检测器106中的特征(例如NN层,诸如一个或更多个输出或CNN层)计算。
例如,特征确定器110可以分析用来确定簇的一个或更多个图像的像素以便确定一个或更多个特征值。此外或可替代地,特征确定器110可以将至少一些那些像素或空间元素区域(或者被检测对象区域)或者从中导出的像素作为置信度评分生成器112的特征提供给一个或更多个卷积层(在置信度评分生成器112包括卷积层的示例中)。此外或可替代地,这些特征可以根据对象检测器106的特征计算,例如根据一个或更多个CNN层(例如对象检测器306的一个或更多个输出层330之前的最后一层)的特征计算。可以针对被检测对象区域计算的统计量的一个这样的示例包括HOG。这可以(例如直接)根据一个或更多个输出层330之前的最后的CNN的相应元素和/或根据对象检测器106的相应输入像素计算。用于被检测对象区域(或者聚合的被检测对象区域)的统计量和/或特征可以与那些区域的颜色、色度、亮度、像素和/或其他数据值相对应。进一步,本文描述的各种统计类型中的任何类型(例如方差、均值等)都可以根据所述区域的任何那些数据值或其他相应值计算。
本文的各种统计量中的任何统计量都可以由例如用于被检测对象的关联覆盖值和/或被检测对象区域进行加权。例如,特征确定器110可以在计算簇的方差中由被检测对象的覆盖值对被监测对象的高度、宽度、面积或者中心点或中点加权。当根据簇的被检测对象计算时,本文描述的任何其他特征或者其元素都可以类似地加权。进一步,本文描述的用于确定簇的置信度评分的任何不同的特征或者其元素都可以使用可以是或者可以不是该簇的部分的被检测对象计算。作为一个示例,特征的方差或其他统计量可以针对来自对象检测器106的每个被检测对象(或者其子集)、在被检测对象过滤器116A过滤之后的每个被检测对象(或者其子集)和/或一个或更多个其他簇的每个被检测对象(或者其子集)。
在一些示例中,特征可以至少部分地基于对象检测器106的覆盖值的特征图。例如,整个覆盖特征图可以作为特征(例如作为活动图)而提供。在一个示例中,特征可以至少部分地基于对象检测器106提供的与被检测对象聚类器108确定的每个簇相对应的覆盖值的总和。
在一些示例中,特征确定器110可以至少部分地基于与提供可以由对象检测器106用来检测对象的传感器数据的至少一个传感器相关联的惯性测量单元(IMU)输出数据确定用于置信度评分生成器112的至少一个特征。例如,该IMU可以是车辆1500的IMU。作为另一个示例,在传感器数据来自手持式视频照相机或者其他设备的情况下,该IMU可以是该设备的IMU。IMU输出数据可以例如与所述设备在环境中的取向相关或者相对应。
尽管用于被检测对象和/或聚合的被检测对象的距离数据在本文被描述为潜在地是预测的或者推断的对象检测器106的输出,但是被检测对象和/或聚合的被检测对象的距离、深度或3D位置可以以其他方式导出。例如,距离数据可以从对象检测器106、另一种机器学习模型和/或(例如车辆1500的)诸如LIDAR传感器、RADAR传感器和/或立体相机之类的至少一个传感器确定。在一些示例中,距离数据可以表示使用至少一个传感器测量的距离。使用这些方法的任意组合导出的距离数据可以由特征确定器110用来确定用于置信度评分生成器112的基于距离的特征。
在一些示例中,特征确定器110可以至少部分地基于环境202的地平面估计确定用于置信度评分生成器112的至少一个特征。该地平面估计可以例如由与对象检测系统100分离的车辆1500的高级驾驶员辅助系统(ADAS)的子系统确定。使用地平面估计,置信度评分生成器112可以学习检测被检测对象相对于地平面的假阳性,例如汽车或者其他基于地面的对象典型地邻近地平面。
在一些示例中,特征确定器110可以例如在时域中跨帧(例如视频帧)和/或图像至少部分地基于本文描述的各种因素中的任何因素确定一个或更多个所述特征。例如,对象跟踪器114可以跨帧关联聚合的被检测对象和/或被检测对象(例如,簇和/或具有超过阈值的置信度评分的簇)。这可以包括对象跟踪器114确定至少第一被检测对象和第二被检测对象是跨传感器数据和/或图像数据表示的连续帧描绘的一个或更多个相同对象。对象跟踪器114可以进一步至少部分地基于第一被检测对象和第二被检测对象计算一个或更多个相同对象的至少一个值。该值可以跨任意数量的帧针对一个或更多个相同对象计算,并且可以随着时间的推移而更新,因为可以生成新的帧。一个或更多个所述特征可以至少部分地基于所述至少一个值。
作为一个示例,该至少一个值可以与其中检测到一个或更多个被跟踪对象(例如,其与正为之计算置信度评分的簇相对应)的帧的数量相对应。例如,所述至少一个值可以与一个或更多个被跟踪对象的状态估计(例如可见性状态)的协方差相对应。该状态估计可以由诸如卡尔曼滤波器之类的用于对象的概率状态估计器提供。进一步的示例包括一个或更多个被跟踪对象的被检测对象区域内的特征和/或值的统计量。例如,本文描述的涉及(例如相同簇的)多个被检测对象的任何不同的统计量和特征都可以用作或者用于与一个或更多个被跟踪对象相对应的特征(例如通过针对一个或更多个相同对象跨帧类似地分析被检测对象数据)。
进一步的示例包括和被跟踪对象与对象外观模型的相关性相对应的一个或更多个值。例如,该值可以指示被跟踪对象和/或其部分跨帧看起来如何相似。此外或者可替代地,该一个或更多个值可以与被跟踪对象的估计的运动学和/或被跟踪对象的轨迹相对应。
训练用于对象检测的机器学习模型的示例
对象检测器106(或者对象检测器306)可以使用各种可能方法进行训练。在一些示例中,对象检测器106可以以完全监督的方式进行训练。在一些示例中,训练图像及其标签可以以迷你批分组,其中迷你批的尺寸可以是可调的超参数。可以将每个迷你批传递给在线数据扩增(augmentation)层,该层可以向该迷你批中的图像应用变换。数据扩增可以用来减轻对象检测器106对训练数据可能的过度拟合。数据扩增变换可以包括(但是不限于)诸如左右翻转、放大/缩小、随机平移等之类的空间变换,诸如色度、饱和度和对比度调节之类的颜色变换,或者加性噪声。可以将标签变换为反映对训练图像做出的相应变换。
可以将扩增的图像传递给对象检测器106以便执行前向传递计算。对象检测器106可以在每空间元素的基础上执行特征提取和预测(例如在每网格方形的基础上预测对象类别、边界框和/或其他输出)。在预测各个输出(例如,每个对象类别的对象覆盖,以及回归对象边界框坐标)的任务中(或者更一般地,当包括附加的输出时在所有任务中),损失函数可以同时测量误差。
可以在应用到整个迷你批的单个损失函数中将用于各个输出的分量损失组合在一起(参见潜在成本函数的进一步讨论)。然后,可以进行反向传递计算以便递归地计算成本函数关于可训练参数(典型地,至少对象检测器106的权重和偏置,但是不限于此,因为例如在使用批归一化时可能存在其他可训练参数)的梯度。前向和反向传递计算典型地可以由深度学习框架和下面的软件栈进行处理。
然后,可以发生用于对象检测器106的参数更新。优化器可以用来对可训练参数进行调节。示例包括随机梯度下降,或者具有动量项的随机梯度下降。连接到优化器的主要超参数可以是学习速率。取决于优化器,也可以存在其他超参数。
对于训练期间的每个时期(epoch),数据集中的图像可以以随机的顺序呈现,这可以导致更快的收敛。时期可以指用来向训练中的对象检测器106示出数据集的每幅图像一次的前向/反向传递迭代的数量。整个过程“前向传递——反向传递——参数更新”可以迭代,直到训练的参数收敛。收敛可以通过在训练集和验证集上观察到损失函数的值降低至足够低的值并且确定进一步迭代不会进一步降低损失来评估。其他度量可以用来评估收敛,例如在验证集上计算的平均精度。
在训练期间,验证可以周期性地执行。这可以涉及检查(与训练集分离的)验证集中的图像上损失函数的平均值。此外,其他度量可以用来评估学习过程的收敛性。例如,端到端度量可以基于最终聚类的检测进行计算。为此目的,后处理管线的其余部分可以作为验证过程的部分而应用。可以用于至少一些输出的度量是平均精度(AP)度量。其他输出可以具有其他关联的度量。在验证期间,可以计算一个或更多个度量以便测量对象检测器106相对于验证数据集的性能。
如本文所提到的,对象检测器106的(例如一个或更多个输出层330的或者在本文以其他方式讨论的)每个输出可以与用于训练的单独的损失函数相关联。可以使用任何适当的一个或更多个损失函数。下面是适当的损失函数的示例:
L(y,x)=|y-fw(x)| (L1)
L(y,x)=(y-fw(x))2 (L2)
L(y,x)=-ylog(fw(x))-(1-y)log(1-fw(x)) (二进制交叉熵)
在上面的方程中,真值由y表示,具有用于输入x的权重W的对象检测器106输出由fw(x)表示。
作为示例,加权(L1)损失函数可以用于位置数据310(例如边界框坐标),加权(二进制交叉熵)或(L2)损失函数可以用于覆盖数据312(例如覆盖值),加权(L1)损失函数可以用于取向数据316(或者取向数据318)和深度数据314,并且加权(L2)损失函数可以用于高度可见性数据320和宽度可见性数据322(例如遮挡/截断标志)。
对于各成本函数,适当的加权方案的一个示例可以包括,对于阳性和阴性空间元素(例如网格单元)——其可以分别指包含和不包含真值目标的那些元素,在计算总成本函数时对那些空间元素不同地加权。例如,对阴性空间元素比阳性空间元素具有更大的权重可导致更佳地网络学习“空的”空间(例如不存在感兴趣对象),导致更少的假阳性检测。这种方法可以用于覆盖数据312。
各成本函数的另一个示例包括,对于各空间元素(例如网格单元),通过相应的(归一化的)覆盖对损失加权,因为仅在其中覆盖真值大于零的空间元素中存在针对输出的真值。在其中覆盖真值为零的空间元素中,用于输出的损失因此可以归于零。这种方法可以用于除覆盖数据312以外的所有其他输出。
在加权之后,可以对空间元素(以及在被检测对象区域的情况下被检测对象区域坐标)上的损失取平均,最终得到用于每个输出和每个目标类别的单个标量损失。此外,在多头部(multi-head)网络中,可以存在与每个头部相对应的不同标量损失。为了训练的目的,这些各个损失于是可以如本文进一步描述的组合成单个标量。
如本文所描述的,在一些示例中,可以存在单独的用于对象检测器106的输出、目标类别和头部的每种组合的损失/成本值。可以将这些成本分量加权并相加成单个标量以用于网络训练的目的。加权的一种方法可以是选择一组固定的权重并且对成本分类执行简单的加权总和。使用该方法,适当地设置权重可能具有挑战性,因为不同权重参数的数量可能较大。这可导致利用每种可能的组合通过训练寻找最优权重值,这可能是沉重的负担。在一些方法中,可以在目标类别之间以及也在不同头部之间使用相等的权重。这可以在仍然保持不同输出之间的权重选择的同时导致精确训练的网络。
在任何示例中,可以采用包括设置成本分量之间的目标比的加权方案。这可以解释为与覆盖输出相比不同输出的重要性。这也可以独立于例如可能以其他方式影响该选择的数据集进行权重选择。
不失一般性,针对位置数据310成本以及更具体地边界框成本解释一种自动权重方案。用于其他输出的权重可以以相同的方式导出。当仅仅给定用于加权损失的目标比时,该自动权重方案可以自适应地/自动地调节成本权重。边界框成本和相应的成本权重可以分别表示为Lbbox和wbbox,用于覆盖的成本和相应的成本权重分别表示为Lcov和wcov。权重w可以使用下式选取:
其中Kbbox为用于加权损失的目标比。为了使得权重总和为1,下式可以用于边界框和覆盖权重:
该规则可以周期性地使用,例如每训练时期一次,以便设置权重。更新规则的成本可以根据训练数据集计算,以便防止对验证数据的过度拟合。使用这种方法,可以自适应地设置权重,使得在收敛之后,可以实现用于加权损失的希望的目标比。
用于对象检测的真值生成的示例
现在参照图4,图4为根据本公开一些实施例的包括示例对象检测训练系统400的图示。对象检测训练系统400包括形状确定器402、覆盖值确定器404、活动对象选择器406、可见性确定器408、取向确定器410、真值生成器412以及模型训练器414。
本公开的方面提供了用于真值生成器412生成可以由模型训练器414用来训练用于对象检测的机器学习模型的真值数据。例如,真值数据可以用来训练对象检测器106、对象检测器306或者另一机器学习模型。进一步,真值数据可以由模型训练器414结合任何本文描述的不同训练方法使用或者使用其他不同的训练方法而使用。进一步,尽管(例如对象检测器的)输出张量和真值张量可以作为示例进行描述,那些术语更一般地可以适用于输出数据和真值数据。
为了模型训练器414形成用于训练机器学习模型(例如对象检测器106)的输出的可微分的损失函数,真值生成器412可以形成与对象检测器106的输出张量具有相同形状的真值张量。在更一般的意义上,真值生成器412生成的真值数据可以包括与被训练的模型的输出数据相同、相似或者相对应的元素。在一些示例中,真值生成器412使用真值对象标签形成真值数据,每个真值对象标签可以与训练图像(或者更一般地,训练帧)中描绘的对象相对应。作为示例,用于对象(例如真值对象)的对象标签可以包括表示来自对象检测器306的一个或更多个输出层330的各个输出的任意组合或者本文关于被检测对象数据(例如用于空间元素的)以其他方式描述的数据。作为一个示例,对象标签可以包括对象的位置(例如对象区域,其可以为坐标的形式),以及要由对象检测器106预测的对象的其他属性,例如(但不限于)类别识别符、到对象的距离、对象的取向、对象的遮挡或可见性状态(例如高度和宽度)等等。
所公开的真值生成方法可以使用对象检测器106通过允许覆盖值确定器404将对象(例如对象标签)——例如对象的真值对象区域,与多个空间元素区域相关联(例如使用与多个空间元素区域相对应的椭圆形或者其他形状的真值)以用于训练而提高对象检测的精度。使用这种方法,覆盖值确定器404可以将用于真值对象的覆盖值分配给真值数据中的多个空间元素(例如通过形状确定器402确定的形状引导)。
一旦被训练,对象检测器106可能倾向于为与传感器数据(例如图像数据)中表示的相同对象相对应的不同空间元素提供多个阳性检测。阳性检测可以指具有超过阈值的覆盖值的被检测对象,或者可能以其他方式与(例如在被检测对象过滤器116A和/或被检测对象聚类器108之后留下的)聚合的被检测对象相对应。例如,在图2A中,示出了与对象248A相对应的阳性检测区域240。在其中椭圆用作用于训练对象检测器106的形状的示例中,阳性被检测区域240可以形成椭圆形检测区域。因此,一旦被训练,对象检测器106输出的覆盖值可以高度地指示用来训练对象检测器106的形状。
此外或者可替代地,所公开的真值生成方法可以使用对象检测器106通过允许覆盖值确定器404将软覆盖值(例如处于从1到0的范围内)与用来训练对象检测器106的真值数据中的空间元素区域相关联来提高对象检测的精度。这可以用来将对象检测器106训练为在其中对象检测器106可能难于提供确定的预测的各种情景中为某些空间元素区域提供比其他空间元素区域更高的置信度值。在不同的示例中,覆盖值确定器404可以在训练期间确定空间元素的覆盖值时考虑这些情景。
如所提到的,覆盖值确定器404可以将对象(例如对象标签)——例如对象的真值对象区域,与多个空间元素区域相关联(例如使用与多个空间元素区域相对应的椭圆形或者其他形状的真值)以用于训练。覆盖值确定器404可以使用形状确定器402确定训练图像的哪些空间元素区域与对象相关联。
现在参照图5A,图5A为根据本公开一些实施例的包括可以用来将覆盖值分配给空间元素区域的形状504和对象区域506的示例的图示。形状确定器402可以确定形状504相对于训练图像的空间元素区域510的位置和维度(和/或真值张量)。举例而言,每个空间元素区域可以表示为网格中的单元,其可以与图2A的空间元素区域的网格的子区域相对应。覆盖值确定器404可以确定覆盖值并且至少部分地基于空间元素区域510中的一个或更多个与所述形状的至少一部分相对应(例如处于空间元素区域内的所述形状的一部分)而将这些覆盖值分配给所述空间元素区域中的一个或更多个。例如,与所述形状504的至少一部分相对应的空间元素区域510在图5A中通过相应单元内的点指示。
覆盖值确定器404可以至少部分地基于这些空间元素区域与形状504相对应而将硬或软覆盖值分配给这些空间元素区域中的任何区域。覆盖值确定器404可以将这种方法用于任意数量的真值对象和相应的形状,使得与至少一个形状相对应的空间元素区域可以比不与任何形状和/或真值对象相对应的空间元素区域具有更高的覆盖值(例如,当其他空间元素区域不与任何真值对象相对应时,可以给它们分配零)。
真值生成器412可以利用关联的一个或更多个覆盖值填充与训练图像的一个或更多个空间元素区域相对应的真值数据(例如真值张量)的元素。真值生成器412也可以利用表示真值对象数据的至少一个相应值(例如至少一个对象区域值,如边界框坐标)填充与对象区域(或者更一般地,对象位置)相对应的真值数据和/或其他真值输出数据中的至少一个元素。
形状确定器402可以至少部分地基于(例如,作为其函数)与对象关联的对象区域和/或真值对象数据的其他属性(例如类别ID、取向等)确定(例如计算)形状的一个或更多个位置和/或一个或更多个维度。例如,形状确定器402可以至少部分地基于对象区域506的一个或更多个维度计算形状504的尺寸。形状504例如可以为几何形状,并且对象区域506的一个或更多个维度可以限定形状504的维度中的一个或更多个。例如,形状504可以为椭圆,并且形状确定器402可以至少部分地基于对象区域506的高度和/或宽度计算该椭圆的尺寸。作为一个示例,椭圆的y半径r可以计算为r=max(minimum_radius,shape_scale*bounding_box_height/2)。参数minimum_radius可以表示椭圆的最小半径(或者另一种形状的其他维度)。参数shape_scale可以表示椭圆的尺度因子。进一步,bounding_box_height可以表示对象区域506的高度。shape_scale和minimum_radius可以用作可调超参数。
在其中形状504不是椭圆的示例中,可以使用不同的公式计算该形状的尺寸。例如,形状504可以是圆(例如椭圆的特殊情况)、矩形和/或超椭圆。在不同的示例中,相同的形状可以用于所有真值对象,或者可以使用不同的形状。例如,形状确定器402可以至少部分地基于诸如对象区域的形状类型、对象的类别(或者子类别)、到对象的距离、对象的取向、对象的遮挡状态等之类的与对象关联的各种属性中的任何属性选择所述形状的形状类型。因此,例如,不同的类别可以与不同的形状相关联,例如,椭圆用于汽车,矩形用于行人。此外或者可替代地,形状确定器402可以使用不同的函数和/或参数以基于对象属性的任意组合计算该形状(例如,minimum_radius或者其他类似参数对于行人而言可以比对于车辆而言更小)。
再者,尽管描述了预定义的形状,但是在一些示例中,形状可以与训练图像中描绘的对象的形状相对应。例如,形状可以具有与描绘的对象的边界相对应的边界。形状的部分可以与训练图像中描绘的对象的部分相对应。在一些示例中,形状可以在对象上绘制,和/或可以与对象(例如至少所描绘的部分)的掩模相对应。
形状确定器402还可以至少部分地基于(例如作为其函数)(例如与对象关联的对象区域的)真值对象的一个或更多个位置(和/或真值对象数据的其他属性(例如类别ID、取向等))确定(例如计算)形状的一个或更多个位置。形状确定器402可以确定形状的位置,使得形状504至少部分地(或者完全)包括在对象区域506内。例如,形状确定器402可以将形状504的中心和/或中点设置为与对象区域506的中心和/或中点相对应。通过将形状504的位置设置为对象区域506内的位置,形状确定器402可以通过相应地配置尺寸计算而确保形状504至少部分地处于对象区域506内。进一步,在一些示例中,形状确定器402可以确保形状完全处于对象区域506内。这可以通过用来设置形状的位置并且计算形状的尺寸(例如,使得维度是对象区域506维度的份额(fraction))的函数来确保。作为其他示例,形状确定器402可以将形状裁剪到对象区域506或者以其他方式使该形状适合对象区域506。
在一些示例中,覆盖值确定器404可以在不使用软覆盖值的情况下使用形状确定器402为训练图像的空间元素区域分配和/或确定覆盖值。在其他示例中,覆盖值确定器404可以在使用软覆盖值的同时使用形状确定器402为训练图像的空间元素区域分配和/或确定覆盖值。在这样的示例中,覆盖值确定器404可以至少部分地基于与空间元素区域相对应的所述形状的特定部分为该空间元素区域确定软覆盖值。例如,用于空间元素区域512的软覆盖值可以至少部分地基于空间元素区域512与形状504的边界相对应。用于空间元素区域514的覆盖值(例如软或硬覆盖值)还可以至少部分地基于空间元素区域514与形状504的内部相对应。作为一个示例,可以给与形状的内部相对应的空间元素区域分配最高的覆盖值,并且可以给与形状的界线或边界相对应的空间元素区域分配较低的覆盖值(例如大于零)。
图5B为根据本公开一些实施例的包括确定用于空间元素区域的覆盖值的示例的图示。覆盖值确定器404可以使用关于图5B描述的方法来确定用于训练图像中的一个或更多个空间元素区域的一个或更多个覆盖值。图5B示出了训练图像520,其可以包括图5A的空间元素区域510。覆盖值确定器404可以以比用来表示真值数据中的空间元素的空间分辨率更高的空间分辨率(例如比真值数据表示的真值张量更高的空间分辨率)渲染(render)图像数据522中的至少一些形状504。例如,图像数据522可以表示比对象检测器106的输出张量具有更高的空间分辨率(但是可能比训练图像520更低)的张量。然后,覆盖值确定器404可以将图像数据522中渲染的形状降尺度(例如下采样)至(例如真值张量/输出张量的)较低的空间分辨率,以便生成表示形状504的至少抗混叠部分的图像数据524(例如使用降尺度比)。在一些示例中,该降尺度操作可以自动地对形状504抗混叠。
覆盖值确定器404可以至少部分地基于形状504的抗混叠值或元素确定用于与形状504相对应的空间元素区域的覆盖值。例如,在图像数据524具有与真值数据相同分辨率的情况下,形状504的抗混叠值或元素可以与覆盖值一一对应(例如,像素越透明,覆盖值越低)。使用这种方法,朝向形状504内部的部分可以不进行抗混叠,而是可仍然表示高覆盖值,而朝向形状504的边界或界线的部分可以进行抗混叠,表示较低的覆盖值。在其他示例中,可以在不以中间分辨率渲染形状504的情况下直接计算一个或更多个抗混叠值。进一步,在一些示例中,可以计算用于形状504的特定部分(例如边界部分)的抗混叠值,而不计算形状504的所有值(例如,硬覆盖值可以用于形状504的内部部分)。
覆盖值确定器404可以使用诸如超采样抗混叠、多重采样抗混叠、快速近似抗混叠、覆盖采样抗混叠和时间采样抗混叠(例如基于传感器数据的多个帧)之类的任何适当的方法确定抗混叠值。同样地,尽管示出了一个形状504,但是任意数量的形状可以类似地包括在图像数据522和图像数据524中,以便并行地生成用于多个形状的抗混叠值。
在一些示例中,覆盖值确定器404可以确定超过一个真值对象和/或对象区域与相同的一个或更多个空间元素区域相对应。这可以至少部分地基于例如确定该一个或更多个空间元素区域描绘了每个对象的部分。此外或者可替代地,这可以至少部分地基于确定用于每个对象的形状在该一个或更多个空间元素区域中至少部分地重叠。现在参照图6,图6为根据本公开一些实施例的包括确定用于与多个对象相对应的空间元素区域的覆盖值的示例的图示。图6示出了训练图像的空间元素区域600,以及覆盖值确定器404可以确定的用于该空间元素区域600的不同的潜在覆盖值。具体地,图6示出了覆盖值602、覆盖值604和覆盖值606。覆盖值602可以与覆盖值确定器404可以(例如使用形状确定器402)确定的用于第一真值对象和/或对象区域的覆盖值相对应。覆盖值604可以与覆盖值确定器404可以(例如使用形状确定器402)确定的用于第二真值对象和/或对象区域的覆盖值相对应。覆盖值606可以与覆盖值确定器404可以用来填充真值数据的覆盖值相对应。覆盖值602可以和传感器数据和/或图像数据中在与覆盖值602相对应的对象之后描绘的对象相对应。进一步,与覆盖值604相对应的对象可以部分地遮挡与覆盖值602相对应的对象(例如,一个对象可以在另一个对象之前)。
如图6所示,覆盖值确定器404可以确定与覆盖值602相对应的对象和/或对象区域以及与覆盖值604相对应的对象和/或对象区域与相同的一个或更多个空间元素区域相对应。在这样的情景中,覆盖值确定器404可以使用活动对象选择器406从多个真值对象和/或对象区域中选择活动对象并且至少部分地基于该活动对象将覆盖值分配给一个或更多个空间对象区域。例如,覆盖值确定器404可以将活动对象的覆盖值用作一个或更多个空间对象区域的覆盖值。作为另一个示例,用于活动对象的覆盖值可以与至少一个其他冲突对象的覆盖值结合,但是可以被给予更大的权重(例如使用加权平均)。
使用活动对象选择器406,覆盖值确定器404可以将覆盖值606分配给空间元素区域600。覆盖值606可以选自覆盖值602和/或覆盖值604,和/或可以由覆盖值602和/或覆盖值604生成。在所示的示例中,活动对象选择器406可以为每个空间元素区域选择活动对象,并且覆盖值确定器404可以将用于所选择的对象的覆盖值用作用于覆盖值606的覆盖值。在其他示例中,活动对象选择器406可以为多个空间元素区域(例如与对象相对应的所有空间元素区域)选择活动对象,而不是单独地选择空间元素区域。
覆盖值602和覆盖值604可以包括软和/或硬覆盖值,并且可以使用本文描述的方法或者其他方法确定。进一步,尽管覆盖值602和覆盖值604都包括多个覆盖值,但是覆盖值确定器404可以使用活动对象选择器406确定用于空间元素区域的覆盖值,其中每个对象和/或对象区域与单个空间元素和覆盖值相对应。在这些示例中,覆盖值确定器404可以不一定使用形状确定器402。例如,覆盖值确定器404可以使用用于每个对象和/或对象区域(例如用于对象区域的中点)的单个覆盖值。此外,尽管示出了覆盖值602和覆盖值604,但是那些值中的至少一些不必由覆盖值确定器404计算。例如,在活动对象的覆盖值用作用于空间元素区域的覆盖值的情况下,可以不必计算用于非活动对象的覆盖值。
活动对象选择器406可以至少部分地基于与对象和/或对应于相同空间元素区域的其他对象相关联的一个或更多个属性和/或标准将该对象选为活动对象。示例包括但不限于用于一个或更多个对象的一个或更多个覆盖值、对象的类别识别符、到一个或更多个对象的一个或更多个距离、一个或更多个对象的一个或更多个取向和/或一个或更多个对象的一个或更多个遮挡状态(例如高度和宽度)和/或遮挡量等等。作为进一步的示例,对象的各种属性中的任何属性的至少一个可以由活动对象选择器406跨训练图像(例如顺序地和/或在时域中)进行分析。
作为示例,活动对象选择器406可以至少部分地基于用于对象的覆盖值(例如软或硬覆盖值)大于用于与一个或更多个空间元素区域相对应的另一个对象的覆盖值(例如软覆盖值)而将该对象选为活动对象。覆盖值606可以与使用这样的方法的结果相对应。此外或者可替代地,活动对象选择器406可以至少部分地基于确定对象在图像数据中比与一个或更多个空间元素区域相对应的另一个对象描绘得更靠近而将该对象选为活动对象。这可以例如由与每个对象关联的距离真值数据确定。例如,这个标准可以用来解决连结(ties)并且可以通过查看对象标签的距离真值值(ground truth value)而确定。在示例中,可以至少部分地基于确定其对象区域的底边最靠近训练图像的底边而选择活动对象(例如以便解决连结)(例如在距离信息不可用的情况下)。这种方法可以近似基于距离的标准,例如当地平面或表面近似是平面时,捕获训练图像的照相机是直立的,并且对象搁在地平面上。
在一些示例中,使用活动对象选择器406,覆盖值确定器404可以在基于活动对象确定覆盖值时形成围绕与活动对象相对应的至少一些形状的死区区域。在活动对象选择器406用来选择用于确定死区区域和确定覆盖值的对象的情况下,不同的规则或标准可以用于每个任务。死区区域可以用来在真值数据中将与活动对象相对应的覆盖值和对应于与训练图像关联的非活动对象的覆盖值在空间上分开。这可以将对象检测器106训练为更可靠地对附近对象消除歧义。
现在参照图7,图7为包括使用死区区域710确定用于空间元素区域的覆盖值的示例的图示。在图7中,形状712可以与非活动对象相对应,并且形状714可以与活动对象相对应。形状712和形状714可以在空间上部分地彼此重叠。至少部分地基于形状714与活动对象相对应,覆盖值确定器404可以确定至少针对形状714的与形状712相交或者邻近(例如在限定的距离内)形状712的部分的死区区域710。覆盖值确定器404可以至少部分地基于空间元素区域与死区区域相对应而确定用于该空间元素区域的覆盖值。例如,对于与死区区域相对应的空间元素区域,覆盖值确定器404可以分配默认值(例如零),或者可以计算比使空间元素区域不与死区区域相对应的覆盖值更低的覆盖值(例如使用减小权重进行覆盖值计算)。使用这样的方法,覆盖值606可以包括附加的零区域或者用于死区区域的减小的覆盖值。死区区域离活动对象的形状的边界的距离可以是固定值或者计算的值(例如基于所述形状中的一个或更多个的尺寸或维度)。例如,死区区域的形状可以是对象的形状和/或对象区域的参数函数。
作为对象检测训练系统400的操作的一个示例,对于真值数据(例如输出真值张量)的每个空间元素,覆盖值确定器404可以在训练图像的与该空间元素相对应的空间元素区域中计算用于图像中的每个对象的覆盖值。活动对象选择器406可以分析这些覆盖值以便将活动对象选为该空间元素区域中具有最高覆盖值的对象。如果存在连结(对于软覆盖值而言)或者覆盖值基本上相似(例如处于彼此的限定的范围内),那么可以选择最靠近照相机的对象。真值生成器412可以将活动对象的覆盖值存储到真值数据的相对应元素。进一步,真值生成器412可以将限定活动对象的对象区域的一个或更多个值存储到真值数据的相对应元素。真值生成器412还可以将与活动对象关联的任何其他真值属性存储到用于该空间元素的真值数据的相对应元素。
为了确定与对象区域相对应的真值值,真值生成器412可以确定对象区域的边缘。例如,边界框边缘可以由被限定为四个值[L,T,R,B]的真值标签确定,所述四个值是例如输出像素空间中给出的边界框的左(L)、上(T)、右(R)和下(B)边缘的坐标。对于这个示例,假设空间元素中心坐标为X和Y。用于边界框输出的真值值可以包括通过将函数应用于标签坐标和空间元素中心坐标而获得的至少四个值[B1,B2,B3,B4]。这些函数可以是参数化的,并且可以包括是为了对象检测器106的输出精度而调整和交叉验证的训练过程的超参数的参数。这些函数的示例为:
B1=k1*(X-L)
B2=k2*(Y-T)
B3=k3*(R-X)
B4=k4*(B-Y),
其中k1、k2、k3和k4是可调超参数。这些函数可以被配置成使得真值值编码对象边缘与空间元素中心之间的缩放距离。在其他示例中,真值值可以编码对象区域中心相对于空间元素中心的位置,以及对象区域的高度、宽度和/或其他维度。通常,对于边界框示例并且给定空间元素中心,可以使用[L,T,R,B]与[B1,B2,B3,B4]之间的任何一对一映射。
在真值生成器412使用距离数据训练对象检测器106的情况下,用于对象距离的真值值可以通过将函数应用到对象与照相机之间的距离而形成。该函数可以以与用于本文描述的边界框坐标的函数相似的方式参数化。例如,该函数可以包括D=k_Dpostlog*log(k_Dprelog*distance_to_object),其中k_Dpostlog和k_Dprelog是可调超参数并且log表示对数函数。
在真值生成器412使用取向数据训练对象检测器106的情况下,用于对象取向的一个或更多个真值值可以使用至少包括前和/或后(和/或左和/或侧面)标记的真值标签形成。在一些示例中,例如对于车辆类型类别,也可以使用对象区域坐标。前标记和后标记可以表示为沿着对象区域的宽度的份额,其将对象区域划分成车辆的前/后+左/右侧面。真值生成器412可以将这些标记转化为角度。
图8A为根据本公开一些实施例的包括可以用于确定对象的取向的训练图像800的真值标签804和806的示例的图示。在对象的仅仅前面或后面在训练图像中可见的情况下,后(或前)标记可以设置为指示这样的位置的标志(例如与真值标签804相对应)。在图8A的示例中,真值标签804可以与前标记812相对应,并且真值标签806可以与侧面标记814相对应。这些标记可以限定与对象(例如对象区域标签)相关联的对象区域808的份额。真值生成器412可以使用这些份额确定对象的角度。例如,真值生成器412可以使用这些份额线性插值照相机看对象的角度(角度可以从自上而下的视图解释)。在一些示例中,不同的参考可以用于角度。
图8B为根据本公开一些实施例的用来描述确定对象的取向的示例的图示。如果看到对象直接远离照相机移动(由图8A中的车辆1500指示),只有它的后面可见,那么可以给它分配-90o角度。该角度预测任务可以被制订为对该角度的正弦值和余弦值的回归。这些正弦值和余弦值可以与图3的取向数据318相对应。在其他示例中,该角度可以以任何适当的形式(例如使用单个值)表示。真值生成器412可以将相同的取向值用于与对象(例如活动对象)相对应的每个空间元素。形成对照的是,在一些示例中,不同的对象区域坐标可以用于与相同对象相对应的空间元素。
对于一个或更多个类别,真值生成器412可以将成本权重设置为零,使得对于该类别而言,对于取向头部不存在损失。这可以例如用于诸如行人或人之类的其中不容易添加前后标记的类别。应当注意,真值生成器412可以在所有示例中不使用前后标记,并且一个或更多个取向值可以以不同的方式确定。例如,对象取向可以在捕获训练图像时例如使用LIDAR 3D点云从与训练图像关联的传感器数据导出。用于真值数据的距离值也可以在捕获训练图像时使用LIDAR传感器和/或其他传感器(例如深度传感器)获得。
在真值生成器412使用可见性数据或遮挡数据训练对象检测器106的情况下,用于对象可见性或遮挡的一个或更多个真值值可以由可见性标志确定。例如,真值生成器412可以使用截断和遮挡标志的分类确定是否覆盖了对象的整个底部和宽度。现在参照图9,图9为根据本公开一些实施例的用来描述确定对象的可见性或遮挡的示例的图示。图9示出了对象906的遮挡物904和对象910的遮挡物908,这可以用来展示用于宽度标志和底部标志的不同的可能的可见性状态。遮挡物904和遮挡物908可以是环境的其他对象或其他元素。对于对象906而言,底部标志可以指示对象906的底部至少部分可见,并且宽度标志可以指示宽度被部分遮挡或截断。对于对象910而言,底部标志可以指示对象910的底部完全不可见,并且宽度标志可以指示宽度完全可见。对象的一个或更多个可见性标志对于与相同对象有关的每个空间元素而言可以相同。
现在参照图10A,图10A为根据本公开一些实施例的示出用于确定被检测对象的置信度评分的方法1000A的流程图。方法1000A以及本文描述的其他方法的每个框包括可以使用硬件、固件和/或软件的任意组合执行的计算过程。例如,各种功能可以由执行存储在内存中的指令的处理器来实现。方法1000A也可以具体化为存储在计算机存储介质上的计算机可用指令。仅举几例,方法1000A可以由独立应用程序、服务或托管服务(独立地或者与另一个托管服务结合地)或者另一个产品的插件提供。此外或者可替代地,本文描述的方法可以由任意一种系统或者任意系统组合——包括但不限于本文描述的那些系统执行,并且不限于具体的示例。
在框B1002处,方法1000A包括确定被检测对象数据。例如,对象检测器106可以至少部分地基于表示至少一个传感器1480的视场的传感器数据确定表示(例如环境202的)视场中被检测对象的(例如被检测对象区域250A、被检测对象区域250B、被检测对象区域250C和被检测对象区域250D的)位置的被检测对象数据。
在框B1004处,方法1000A包括生成被检测对象簇。例如,被检测对象聚类器108可以至少部分地基于所述位置生成被检测对象簇。四个簇的示例可以分别与被检测对象区域250A、被检测对象区域250B、被检测对象区域250C和被检测对象区域250D相对应。
在框B1006处,方法1000A包括确定用于输入到神经网络的簇的特征。例如,特征确定器110可以确定与被检测对象区域250A和被检测对象区域260A相对应的簇的一个或更多个特征。
在框B1008处,方法1000A包括接收神经网络使用这些特征计算的置信度评分。例如,被检测对象过滤器116B、对象跟踪器114和/或车辆1500的另一个部件可以接收置信度评分生成器112计算的置信度评分。
现在参照图10B,图10B为根据本公开一些实施例的示出用于确定被检测对象数据的方法1000B的流程图。方法1000B可以用于方法1000A的框B1002。
在框B1010处,方法1000B包括将传感器数据应用到神经网络。例如,通信管理器104可以将传感器数据应用到图3的对象检测器306。传感器数据可以表示环境202中的车辆1500的至少一个传感器1480的视场。
在框B1012处,方法1000B包括从神经网络接收被检测对象数据。例如,被检测对象过滤器116A和/或被检测对象聚类器108可以从对象检测器306的一个或更多个输出层330接收被检测对象数据。
现在参照图11,图11为根据本公开一些实施例的示出用于确定用于训练对象检测器的覆盖值的方法1100的流程图。
在框B1102处,方法1100包括计算用于与训练图像相关联的对象区域的形状的尺寸。例如,形状确定器402可以至少部分地基于与用于对象检测器306的训练图像相关联的对象区域506的维度计算至少部分地处于对象区域506内的形状504的尺寸。
在框B1104处,方法1100包括至少部分地基于该形状将覆盖值分配给训练图像的空间元素区域。例如,覆盖值确定器404可以至少部分地基于空间元素区域512与形状504的部分相对应而将覆盖值(例如软或硬覆盖值)分配给空间元素区域512。
在框B1106处,方法1100包括利用覆盖值填充真值数据的元素。例如,真值生成器412可以利用覆盖值填充与训练图像的空间元素区域512相对应的真值数据(例如真值张量)的一个或更多个元素。真值生成器412还可以利用表示对象区域506的至少一个对象区域值(或者其一个或更多个关联的位置)填充与对象区域506相对应的真值数据的至少一个元素。
在框B1108处,方法1100包括使用真值数据训练机器学习模型。例如,模型训练414可以使用真值数据训练对象检测器306。
现在参照图12,图12为根据本公开一些实施例的示出用于确定用于训练对象检测器的软覆盖值的方法1200的流程图。
在框B1202处,方法1200包括以比真值张量更高的空间分辨率渲染形状的至少一些。例如,覆盖值确定器404可以以比用来表示真值数据中的空间元素的分辨率更高的空间分辨率来渲染图像数据522中的形状504。
在框B1204处,方法1200包括对所渲染的至少一些形状降尺度,以便提供与用来训练用于对象检测的机器学习模型的覆盖值相对应的该形状的抗混叠部分。例如,覆盖值确定器404可以将图像数据522中的形状504下采样至图像数据524中的较低空间分辨率,例如用来表示真值数据中的空间元素的分辨率。覆盖值确定器404可以由该下采样的形状确定用于所述空间元素的一个或更多个覆盖值。
现在参照图13,图13为根据本公开一些实施例的示出用于确定用于训练对象检测器的覆盖值的方法1300的流程图。
在框B1302处,方法1300包括确定用于与训练图像相关联的第一对象区域的第一覆盖值以及用于与训练图像相关联的第二对象区域的第二覆盖值。例如,覆盖值确定器404可以确定图6的覆盖值620和图6的覆盖值622。
在框B1302处,方法1300包括至少部分地基于第一覆盖值大于第二覆盖值将第一覆盖值分配给训练图像的空间元素区域。例如,活动对象选择器406可以至少部分地基于覆盖值620大于覆盖值622而将与覆盖值620相对应的对象选为活动对象。覆盖值确定器404可以至少部分地基于覆盖值620与活动对象相对应而将覆盖值620分配给该空间元素区域。
示例操作环境
根据本公开一些实施例,对象检测系统100和/或对象检测训练系统400可以在图14的示例操作环境1400中实现。
除未图示出的其他部件以外,操作环境1400还包括一个或更多个客户端设备1420、一个或更多个网络1440、一个或更多个服务器设备1460、一个或更多个传感器1480和一个或更多个数据存储1450。应当理解,图14中示出的操作环境1400是一种适当的操作环境的示例。图14中所示的每个部件可以经由任何类型的计算设备实现,所述计算设备诸如例如结合图16描述的一个或更多个计算设备1600。这些部件可以经由网络1440彼此通信,所述网络可以是有线的、无线的或者这二者。网络1440可以包括多个网络或者网络中的一网络,但是以简单的形式示出以便不使本公开的方面模糊不清。举例而言,网络1440可以包括一个或更多个广域网(WAN)、一个或更多个局域网(LAN)、一个或更多个诸如因特网之类的公共网络和/或一个或更多个专用网络。在网络1440包括无线电信网络的情况下,诸如基站、通信塔或者甚至接入点(以及其他部件)之类的部件可以提供无线连接。在任何示例中,至少一个网络1440可以与下文进一步描述的图15D的一个或更多个网络1590相对应。
应当理解,在本公开的范围内,在操作环境1400内可以采用任意数量的客户端设备1420、服务器设备1460、传感器1480和数据存储1450。每一个都可以配置为单个设备或者在分布式环境中协作的多个设备。
一个或更多个客户端设备1420可以包括本文关于图16描述的示例计算设备1600的部件、特征和功能中的至少一些。举例而言且非限制性地,客户端设备1420可以具体化为个人计算机(PC)、膝上型计算机、移动设备、智能电话、平板计算机、智能手表、可穿戴计算机、个人数字助理(PDA)、MP3播放器、全球定位系统(GPS)或设备、视频播放器、手持式通信设备、游戏设备或系统、娱乐系统、车载计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站、这些描绘的设备的任意组合,或者任何其他适当的设备。在任何示例中,至少一个客户端设备1420可以是诸如本文进一步详细描述的图15A-图15D的车辆1500之类的车辆的部分。
一个或更多个客户端设备1420可以包括一个或更多个处理器和一个或更多个计算机可读介质。计算机可读介质可以包括可由一个或更多个处理器执行的计算机可读指令。这些指令在由一个或更多个处理器执行时可以使得一个或更多个处理器执行本文描述的方法的任意组合和/或部分,和/或实现图1A的对象检测系统100的功能的任何部分。
一个或更多个服务器设备1460也可以包括一个或更多个处理器和一个或更多个计算机可读介质。计算机可读介质包括可由一个或更多个处理器执行的计算机可读指令。这些指令在由一个或更多个处理器执行时可以使得一个或更多个处理器执行本文描述的方法的任意组合和/或部分,和/或实现图1A的对象检测系统100的功能的任何部分。在任何示例中,至少一个服务器设备1460可以与本文进一步详细描述的图15D的一个或更多个服务器1578相对应。
一个或更多个数据存储1450可以包括一个或更多个计算机可读介质。计算机可读介质可以包括可由一个或更多个处理器执行的计算机可读指令。这些指令在由一个或更多个处理器执行时可以使得一个或更多个处理器执行本文描述的方法的任意组合和/或部分,和/或实现图1A的对象检测系统100的功能的任何部分。一个或更多个数据存储1450(或者计算机数据存储装置)被描绘为单个部件,但是可以具体化为一个或更多个数据存储(例如数据库),并且可以至少部分地处于云端。一个或更多个数据存储1450中的一个或更多个可以与图15C的数据存储1450中的一个或更多个相对应。
尽管被描绘为在一个或更多个服务器设备1460和一个或更多个客户端设备1420的外部,但是一个或更多个数据存储1450可以至少部分地在一个或更多个服务器设备1460和/或一个或更多个客户端设备1420的任意组合上实施(例如实施为内存1604(图16))。例如,一些信息可以存储在一个或更多个客户端设备1420上,其他和/或副本信息可以存储在外部(例如在一个或更多个服务器设备1460上)。因此,应当领会,一个或更多个数据存储1450中的信息可以以任何适当的方式跨用于存储的一个或更多个数据存储分布(其可以在外部托管)。例如,一个或更多个数据存储1450可以包括一个或更多个服务器设备1460的一个或更多个计算机可读介质中的至少一些和/或一个或更多个客户端设备1420的一个或更多个计算机可读介质中的至少一些。
一个或更多个传感器1480包括能够生成表示环境的至少一些方面的传感器数据的至少一个传感器。例如,一个或更多个传感器1480可以生成图1A的传感器数据102。一个或更多个传感器1480可以包括一个或更多个的全球导航卫星系统(GNSS)传感器(例如全球定位系统(GPS)传感器)、RADAR传感器、超声传感器、LIDAR传感器、惯性测量单元(IMU)传感器(例如加速度计、陀螺仪、磁罗盘、磁力计等)、麦克风、立体照相机、广角照相机(例如鱼眼照相机)、红外照相机、环绕照相机(例如360度照相机)、远程和/或中程照相机、速度传感器(例如用于测量车辆1500的速度)、振动传感器、转向传感器、制动传感器(例如作为制动传感器系统的部分)和/或其他传感器类型的任意组合。
参照图15A-图15C,传感器数据102可以由以下项生成:例如但不限于一个或更多个的全球导航卫星系统(GNSS)传感器1568(例如全球定位系统传感器)、RADAR传感器1560、超声传感器1562、LIDAR传感器1564、惯性测量单元(IMU)传感器1566(例如加速度计、陀螺仪、磁罗盘、磁力计等)、麦克风1596、立体照相机1568、广角照相机1570(例如鱼眼照相机)、红外照相机1572、环绕照相机1574(例如360度照相机)、远程和/或中程照相机1598、速度传感器1544(例如用于测量车辆1500的速度)、振动传感器1542、转向传感器1540、制动传感器(例如作为制动传感器系统1546的部分)和/或其他传感器类型。
在一些示例中,传感器数据102可以由诸如广角照相机1570、环绕照相机1574、立体照相机1568和/或远程或中程照相机1598之类的前向和/或侧向照相机生成。在一些示例中,超过一个照相机或其他传感器可以用来合并多个视场(例如图15B的远程照相机1598、前向立体照相机1568和/或前向广角照相机1570的视场)。
示例自主车辆
图15A为根据本公开一些实施例的示例自主车辆1500的图示。自主车辆1500(可替代地,在本文称为“车辆1500”)可以包括乘用车,例如汽车、卡车、公共汽车和/或容纳一个或更多个乘客的另一种类型的车辆。自主车辆通常按照美国运输部的一个部门——国家公路交通安全管理局(NHTSA)以及汽车工程师协会(SAE)“Taxonomy and Definitions forTerms Related to Driving Automation Systems for On-Road Motor Vehicles”(2018年6月15日发布的标准No.J3016-201806,2016年9月30日发布的标准No.J3016-201609,以及该标准的先前和未来的版本)定义的自动化级别进行描述。车辆1500可能够实现符合自主驾驶级别的3级-5级中的一个或更多个的功能。例如,取决于实施例,车辆1500可能够实现条件自动化(3级)、高自动化(4级)和/或全自动化(5级)。
车辆1500可以包括诸如底盘、车身、车轮(例如2个、4个、6个、8个、18个等)、轮胎、车轴之类的部件以及车辆的其他部件。车辆1500可以包括推进系统1550,例如内燃机、混合动力发电厂、全电动发动机和/或另一种推进系统类型。推进系统1550可以连接到可以包括变速器的车辆1500的传动系以便实现车辆1500的推进。可以响应于接收到来自油门/加速器1552的信号而控制推进系统1550。
可以包括方向盘的转向(steering)系统1554可以用来在推进系统1550操作时(例如在车辆运动时)使车辆1500转向(例如沿着希望的路径或路线)。转向系统1554可以接收来自转向执行器1556的信号。对于全自动(5级)功能而言,方向盘可以是可选的。
制动传感器系统1546可以用来响应于接收到来自制动执行器1548和/或制动传感器的信号而操作车辆制动器。
可以包括一个或更多个片上系统(SoC)1504(图15C)和/或一个或更多个GPU的一个或更多个控制器1536可以向车辆1500的一个或更多个部件和/或系统提供(例如表示命令的)信号。例如,一个或更多个控制器可以发送经由一个或更多个制动执行器1548操作车辆制动器、经由一个或更多个转向执行器1556操作转向系统1554、经由一个或更多个油门/加速器1552操作推进系统1550的信号。一个或更多个控制器1536可以包括一个或更多个板载(例如集成)计算设备(例如超级计算机),所述计算设备处理传感器信号并且输出操作命令(例如表示命令的信号),以实现自主驾驶和/或辅助人类驾驶员驾驶车辆1500。一个或更多个控制器1536可以包括用于自主驾驶功能的第一控制器1536、用于功能性安全功能的第二控制器1536、用于人工智能功能(例如计算机视觉)的第三控制器1536、用于信息娱乐功能的第四控制器1536、用于紧急情况下的冗余的第五控制器1536和/或其他控制器。在一些示例中,单个控制器1536可以处理上述功能中的两个或更多,两个或更多控制器1536可以处理单个功能,和/或其任意组合。
一个或更多个控制器1536可以响应于接收自一个或更多个传感器的传感器数据(例如传感器输入),提供用于控制车辆1500的一个或更多个部件和/或系统的信号。传感器数据可以接收自例如且不限于全球导航卫星系统传感器1558(例如全球定位系统传感器)、RADAR传感器1560、超声传感器1562、LIDAR传感器1564、惯性测量单元(IMU)传感器1566(例如加速度计、陀螺仪、磁罗盘、磁力计等)、麦克风1596、立体照相机1568、广角照相机1570(例如鱼眼照相机)、红外照相机1572、环绕照相机1574(例如360度照相机)、远程和/或中程照相机1598、速度传感器1544(例如用于测量车辆1500的速率)、振动传感器1542、转向传感器1540、制动传感器(例如作为制动传感器系统1546的部分)和/或其他传感器类型。
控制器1536中的一个或更多个可以接收来自车辆1500的仪表组1532的输入(例如由输入数据表示),并且经由人机接口(HMI)显示器1534、听觉信号器、扬声器和/或经由车辆1500的其他部件提供输出(例如输出数据、显示数据等表示的)。这些输出可以包括诸如车辆速度、速率、时间、地图数据(例如图15C的HD地图1522)、位置数据(例如,车辆1500例如在地图上的位置)、方向、其他车辆的位置(例如占用网格)之类的信息,如控制器1536所感知的关于对象和对象状态的信息等等。例如,HMI显示器1534可以显示关于一个或更多个对象(例如街道指示牌、警示牌、交通灯变化等)的存在性的信息和/或关于车辆已经做出、正在做出或者将会做出的驾驶机动的信息(例如现在变道、两英里后离开34B,等等)。
车辆1500进一步包括网络接口1524,其可以使用一个或更多个无线天线1526和/或调制解调器通过一个或更多个网络通信。例如,网络接口1524可能够通过LTE、WCDMA、UMTS、GSM、CDMA2000等通信。一个或更多个无线天线1526也可以使用诸如蓝牙、蓝牙LE、Z波、ZigBee等等之类的一个或更多个局域网和/或诸如LoRaWAN、SigFox等等之类的一个或更多个低功率广域网(LPWAN)实现环境中的对象(例如车辆、移动设备等等)之间的通信。
图15B为根据本公开一些实施例的用于图15A的示例自主车辆1500的照相机位置和视场的示例。照相机和各自的视场是一个示例实施例,并不意图是限制性的。例如,可以包括附加的和/或可替换的照相机,和/或这些照相机可以位于车辆1500上的不同位置。
用于照相机的照相机类型可以包括但不限于可以适于与车辆1500的部件和/或系统一起使用的数字照相机。所述照相机可以在汽车安全完整性级别(ASIL)B下和/或在另一个ASIL下操作。照相机类型可以具有任何图像捕获率,例如60帧每秒(fps)、1520fps、240fps等等,这取决于实施例。照相机可能够使用滚动快门、全局快门、另一种类型的快门或者其组合。在一些示例中,滤色器阵列可以包括红白白白(RCCC)滤色器阵列、红白白蓝(RCCB)滤色器阵列、红蓝绿白(RBGC)滤色器阵列、Foveon X3滤色器阵列、拜耳传感器(RGGB)滤色器阵列、单色传感器滤色器阵列和/或另一种类型的滤色器阵列。在一些实施例中,诸如具有RCCC、RCCB和/或RBGC滤色器阵列的照相机之类的清晰像素照相机可以用在提高光敏感度的努力中。
在一些示例中,所述照相机中的一个或更多个可以用来执行高级驾驶员辅助系统(ADAS)功能(例如作为冗余或故障安全设计的部分)。例如,可以安装多功能单目照相机以提供包括车道偏离警告、交通指示牌辅助和智能前照灯控制在内的功能。所述照相机中的一个或更多个(例如全部照相机)可以同时记录和提供图像数据(例如视频)。
所述照相机中的一个或更多个可以安装在诸如定制设计的(3-D打印的)组件之类的安装组件中,以便切断可能干扰照相机的图像数据捕获能力的杂散光和来自汽车内的反射(例如挡风玻璃镜中反射的来自仪表板的反射)。关于翼镜安装组件,翼镜组件可以是定制3-D打印的,使得照相机安装板匹配翼镜的形状。在一些示例中,一个或更多个照相机可以集成到翼镜中。对于侧视照相机而言,一个或更多个照相机也可以集成到驾驶室每个拐角的四根柱子内。
具有包括车辆1500前面的环境部分的视场的照相机(例如前置照相机)可以用于环视,以帮助识别前向路径和障碍,以及在一个或更多个控制器1536和/或控制SoC的帮助下辅助提供对于生成占用网格和/或确定优选车辆路径至关重要的信息。前置照相机可以用来执行许多与LIDAR相同的ADAS功能,包括紧急制动、行人检测和碰撞避免。前置照相机也可以用于ADAS功能和系统,包括车道偏离警告(“LDW”)、自主巡航控制(“ACC”),和/或诸如交通指示牌识别之类的其他功能。
各种各样的照相机可以用于前置配置中,包括例如包括CMOS(互补金属氧化物半导体)彩色成像仪在内的单目照相机平台。另一个示例可以是广角照相机1570,其可以用来感知从周边进入视野的对象(例如行人、十字路口交通或者自行车)。尽管图15B中图示出仅仅一个广角照相机,但是在车辆1500上可以存在任意数量的广角照相机1570。此外,远程照相机1598(例如长视立体照相机对)可以用于基于深度的对象检测,尤其是用于尚未针对其训练神经网络的对象。远程照相机1598也可以用于对象检测和分类以及基本的对象跟踪。
一个或更多个立体照相机1568也可以包括在前置配置中。立体照相机1568可以包括集成控制单元,该单元包括可扩展处理单元,其可以提供在单个芯片上具有集成的CAN或以太网接口的多核微处理器和可编程逻辑(FPGA)。这样的单元可以用来生成车辆环境的3-D地图,包括针对图像中的所有点的距离估计。可替代的立体照相机1568可以包括紧凑型立体视觉传感器,其可以包括两个照相机镜头(左右各一个)以及可以测量从车辆到目标对象的距离并且使用生成的信息(例如元数据)激活自主紧急制动和车道偏离警告功能的图像处理芯片。除了本文所描述的那些之外或者可替代地,可以使用其他类型的立体照相机1568。
具有包括车辆1500的侧面的环境部分的视场的照相机(例如侧视照相机)可以用于环视,提供用来创建和更新占用网格以及生成侧撞击碰撞警告的信息。例如,环绕照相机1574(例如如图15B中所示的四个环绕照相机1574)可以置于车辆1500上。环绕照相机1574可以包括广角照相机1570、鱼眼照相机、360度照相机和/或类似物。四个示例,四个鱼眼照相机可以置于车辆的前面、后面和侧面。在一种可替代的布置中,车辆可以使用三个环绕照相机1574(例如左边、右边和后面),并且可以利用一个或更多个其他照相机(例如前向照相机)作为第四环视照相机。
具有包括车辆1500的后面的环境部分的视场的照相机(例如后视照相机)可以用于辅助停车、环视、后面碰撞警告以及创建和更新占用网格。可以使用各种各样的照相机,包括但不限于也适合作为如本文所描述的前置照相机(例如远程和/或中程照相机1598、立体照相机1568、红外照相机1572等等)的照相机。
图15C为根据本公开一些实施例的用于图15A的示例自主车辆1500的示例系统架构的框图。应当理解,这种布置和本文描述的其他布置仅仅作为示例而被阐述。除了所示的那些之外或者代替它们的是,可以使用其他的布置和元素(例如机器、接口、功能、顺序、功能分组等等),并且一些元素可以完全省略。进一步,许多本文描述的元素是功能实体,其可以实现为分立的或分布式部件或者结合其他部件实现,以及以任何适当的组合和位置实现。本文描述为由实体执行的各个功能可以通过硬件、固件和/或软件实现。例如,各个功能可以通过处理器执行存储在内存中的指令而实现。
图15C中车辆1500的部件、特征和系统中的每一个被图示为经由总线1502连接。总线1502可以包括控制器区域网络(CAN)数据接口(可替代地,本文称为“CAN总线”)。CAN可以是车辆1500内部的网络,用来辅助控制车辆1500的各种特征和功能,例如制动器、加速、制动、转向、挡风玻璃雨刷等等的驱动。CAN总线可以被配置为具有数十或者甚至数百个节点,每个节点具有其自己的唯一标识符(例如CAN ID)。可以读取CAN总线以找到方向盘角度、地速、每分钟发动机转速(RPM)、按钮位置和/或其他车辆状态指示符。CAN总线可以是ASIL B兼容的。
尽管这里将总线1502描述为CAN总线,但是这并不意图是限制性的。例如,除了CAN总线之外或者可替代地,可以使用FlexRay和/或以太网。此外,尽管用单条线来表示总线1502,但是这并不意图是限制性的。例如,可以存在任意数量的总线1502,其可以包括一条或更多条CAN总线、一条或更多条FlexRay总线、一条或更多条以太网总线和/或一条或更多条使用不同协议的其他类型的总线。在一些示例中,两条或更多总线1502可以用来执行不同的功能,和/或可以用于冗余。例如,第一总线1502可以用于碰撞避免功能,并且第二总线1502可以用于驱动控制。在任何示例中,每条总线1502可以与车辆1500的任何部件通信,并且两条或更多总线1502可以与相同的部件通信。在一些示例中,车辆内的每个SoC 1504、每个控制器1536和/或每个计算机可以有权访问相同的输入数据(例如来自车辆1500的传感器的输入),并且可以连接到诸如CAN总线之类的公共总线。
车辆1500可以包括一个或更多个控制器1536,例如本文关于图15A所描述的那些控制器。控制器1536可以用于各种各样的功能。控制器1536可以耦合到车辆1500的任何其他不同的部件和系统,并且可以用于车辆1500的控制、车辆1500的人工智能、用于车辆1500的信息娱乐和/或类似物。
车辆1500可以包括一个或更多个片上系统(SoC)1504。SoC 1504可以包括CPU1506、GPU 1508、处理器1510、高速缓存1512、加速器1514、数据存储1516和/或未图示出的其他部件和特征。在各种各样的平台和系统中,SoC 1504可以用来控制车辆1500。例如,一个或更多个SoC 1504可以在系统(例如车辆1500的系统)中与HD地图1522结合,所述HD地图可以经由网络接口1524从一个或更多个服务器(例如图15D的一个或更多个服务器1578)获得地图刷新和/或更新。
CPU 1506可以包括CPU簇或者CPU复合体(可替代地,本文称为“CCPLEX”)。CPU1506可以包括多个核和/或L2高速缓存。例如,在一些实施例中,CPU 1506在一致性多处理器配置中可以包括八个核。在一些实施例中,CPU 1506可以包括四个双核簇,其中每个簇具有专用的L2高速缓存(例如2MB L2高速缓存)。CPU 1506(例如CCPLEX)可以被配置为支持同时簇操作,使得CPU 1506的簇的任意组合能够在任何给定时间是活动的。
CPU 1506可以实现包括以下特征中的一个或更多个的功率管理能力:各硬件块在空闲时可以自动进行时钟门控以节省动态功率;由于WFI/WFE指令的执行,每个核时钟可以在该核不主动地执行指令时进行门控;每个核可以独立地进行功率门控;当所有核都进行时钟门控或者功率门控时,可以独立地对每个核簇进行时钟门控;和/或当所有核都进行功率门控时,可以独立地对每个核簇进行功率门控。CPU 1506可以进一步实现用于管理功率状态的增强算法,其中指定允许的功率状态和期望的唤醒时间,并且硬件/微代码为所述核、簇和CCPLEX确定要进入的最佳的功率状态。处理核可以在软件中支持简化的功率状态进入序列,该工作被卸载到微代码。
GPU 1508可以包括集成的GPU(可替代地,本文称为“iGPU”)。GPU 1508可以是可编程的,并且对于并行工作负载而言是高效的。在一些示例中,GPU 1508可以使用增强张量指令集。GPU 1508可以包括一个或更多个流式微处理器,其中每个流式微处理器可以包括L1高速缓存(例如具有至少96KB存储能力的L1高速缓存),并且这些流式微处理器中的两个或更多可以共享L2高速缓存(例如具有512KB存储能力的L2高速缓存)。在一些实施例中,GPU1508可以包括至少八个流式微处理器。GPU 1508可以使用计算应用编程接口(API)。此外,GPU 1508可以使用一个或更多个并行计算平台和/或编程模型(例如NVIDIA的CUDA)。
在汽车和嵌入式使用的情况下,可以对GPU 1508进行功率优化以实现最佳性能。例如,可以在鳍式场效应晶体管(FinFET)上制造GPU 1508。然而,这并不意图是限制性的,并且GPU 1508可以使用其他半导体制造工艺来制造。每个流式微处理器可以合并划分成多个块的若干混合精度处理核。例如且非限制性地,可以将64个PF32核和32个PF64核划分成四个处理块。在这样的示例中,每个处理块可以分配16个FP32核、8个FP64核、16个INT32核、用于深层学习矩阵算术的两个混合精度NVIDIA张量核、L0指令高速缓存、线程束(warp)调度器、分派单元和/或64KB寄存器文件。此外,流式微处理器可以包括独立的并行整数和浮点数据路径,以利用计算和寻址计算的混合提供工作负载的高效执行。流式微处理器可以包括独立线程调度能力,以允许实现并行线程之间的更细粒度的同步和协作。流式微处理器可以包括组合的L1数据高速缓存和共享内存单元,以便在简化编程的同时提高性能。
GPU 1508可以包括在一些示例中提供大约900GB/s的峰值内存带宽的高带宽内存(HBM)和/或16GB HBM2内存子系统。在一些示例中,除了HBM内存之外或者可替代地,可以使用同步图形随机存取存储器(SGRAM),例如第五代图形双倍数据速率同步随机存取存储器(GDDR5)。
GPU 1508可以包括统一内存技术,其包括访问计数器以允许内存页面更精确地迁移到最频繁地访问它们的处理器,从而提高处理器之间共享的内存范围的效率。在一些示例中,地址转换服务(ATS)支持可以用来允许GPU 1508直接访问CPU 1506页表。在这样的示例中,当GPU 1508内存管理单元(MMU)经历遗漏时,可以将地址转换请求传输至CPU 1506。作为响应,CPU 1506可以在其页表中寻找用于地址的虚拟-物理映射,并且将转换传输回GPU 1508。这样,统一内存技术可以允许单个统一虚拟地址空间用于CPU 1506和GPU 1508二者的内存,从而简化了GPU 1508编程和将应用程序移(port)到GPU 1508。
此外,GPU 1508可以包括访问计数器,其可以跟踪GPU 1508访问其他处理器的内存的频率。访问计数器可以帮助确保内存页面移至最频繁地访问这些页面的处理器的物理内存。
SoC 1504可以包括任意数量的高速缓存1512,包括本文描述的那些高速缓存。例如,高速缓存1512可以包括CPU 1506和GPU 1508二者可用的L3高速缓存(例如,其连接到CPU 1506和GPU 1508二者)。高速缓存1512可以包括回写高速缓存,其可以例如通过使用高速缓存一致性协议(例如MEI、MESI、MSI等)跟踪行的状态。取决于实施例,L3高速缓存可以包括4MB或者更多,但是也可以使用更小的高速缓存大小。
SoC 1504可以包括一个或更多个加速器1514(例如硬件加速器、软件加速器或者其组合)。例如,SoC 1504可以包括硬件加速簇,其可以包括优化的硬件加速器和/或大型片上内存。该大型片上内存(例如4MB SRAM)可以使得硬件加速簇能够加速神经网络和其他计算。硬件加速簇可以用来补充GPU 1508,并且卸载GPU 1508的一些任务(例如释放GPU 1508的更多周期以用于执行其他任务)。作为一个示例,加速器1514可以用于足够稳定以易于控制加速的有针对性的工作负载(例如感知、卷积神经网络(CNN)等等)。当在本文中使用时,术语“CNN”可以包括所有类型的CNN,包括基于区域的或者区域卷积神经网络(RCNN)和快速RCNN(例如用于对象检测)。
加速器1514(例如硬件加速簇)可以包括深度学习加速器(DLA)。DLA可以包括可以被配置成为深度学习应用和推理提供额外的每秒10万亿次操作的一个或更多个张量处理单元(TPU)。TPU可以是被配置为执行图像处理功能(例如用于CNN、RCNN等)且针对执行图像处理功能而优化的加速器。DLA可以进一步针对特定的一组神经网络类型和浮点运算以及推理进行优化。DLA的设计可以比通用GPU提供每毫米更高的性能,并且远远超过CPU的性能。TPU可以执行若干功能,包括单实例卷积函数,支持例如用于特征和权重二者的INT8、INT16和FP16数据类型,以及后处理器功能。
DLA可以在处理的或者未处理的数据上针对各种各样的功能中的任何功能快速且高效地执行神经网络,尤其是CNN,例如且不限于:用于使用来自照相机传感器的数据进行对象识别和检测的CNN;用于使用来自照相机传感器的数据进行距离估计的CNN;用于使用来自麦克风的数据进行应急车辆检测和识别与检测的CNN;用于使用来自照相机传感器的数据进行面部识别和车主识别的CNN;和/或用于安全和/或安全相关事件的CNN。
DLA可以执行GPU 1508的任何功能,并且通过使用推理加速器,例如,设计者可以使DLA或GPU 1508针对任何功能。例如,设计者可以将CNN的处理和浮点运算聚焦在DLA上,并且将其他功能留给GPU 1508和/或其他加速器1514。
加速器1514(例如硬件加速簇)可以包括可编程视觉加速器(PVA),其在本文中可以可替代地称为计算机视觉加速器。PVA可以被设计和配置为加速用于高级驾驶员辅助系统(ADAS)、自主驾驶和/或增强现实(AR)和/或虚拟现实(VR)应用的计算机视觉算法。PVA可以提供性能与灵活性之间的平衡。例如,每个PVA可以包括例如且不限于任意数量的精简指令集计算机(RISC)核、直接内存访问(DMA)和/或任意数量的向量处理器。
RISC核可以与图像传感器(例如本文描述的任何照相机的图像传感器)、图像信号处理器和/或类似物交互。这些RISC核中的每一个可以包括任意数量的内存。取决于实施例,RISC核可以使用若干协议中的任何协议。在一些示例中,RISC核可以执行实时操作系统(RTOS)。RISC核可以使用一个或更多个集成电路设备、专用集成电路(ASIC)和/或存储设备实现。例如,RISC核可以包括指令高速缓存和/或紧密耦合的RAM。
DMA可以使得PVA的部件能够独立于CPU 1506访问系统内存。DMA可以支持用来向PVA提供优化的任意数量的特征,包括但不限于支持多维寻址和/或循环寻址。在一些示例中,DMA可以支持高达六个或更多维度的寻址,其可以包括块宽度、块高度、块深度、水平块步进、竖直块步进和/或深度步进。
向量处理器可以是可编程处理器,其可以被设计为高效且灵活地执行用于计算机视觉算法的编程并且提供信号处理能力。在一些示例中,PVA可以包括PVA核和两个向量处理子系统分区。PVA核可以包括处理器子系统、一个或更多个DMA引擎(例如两个DMA引擎)和/或其他外围设备。向量处理子系统可以作为PVA的主处理引擎而操作,并且可以包括向量处理单元(VPU)、指令高速缓存和/或向量内存(例如VMEM)。VPU核可以包括数字信号处理器,诸如例如单指令多数据(SIMD)、超长指令字(VLIW)数字信号处理器。SIMD和VLIW的组合可以增强吞吐量和速率。
向量处理器中的每一个可以包括指令高速缓存并且可以耦合到专用内存。结果,在一些示例中,向量处理器中的每一个可以被配置为独立于其他向量处理器执行。在其他示例中,包括在特定PVA中的向量处理器可以被配置为采用数据并行化。例如,在一些实施例中,包括在单个PVA中的多个向量处理器可以执行相同的计算机视觉算法,但是在图像的不同区域上执行。在其他示例中,包括在特定PVA中的向量处理器可以在相同的图像上同时执行不同的计算机视觉算法,或者甚至在序列图像或者图像的部分上执行不同的算法。除其他的以外,任意数量的PVA可以包括在硬件加速簇中,并且任意数量的向量处理器可以包括在这些PVA中的每一个中。此外,PVA可以包括附加的纠错码(ECC)内存,以增强总体系统安全性。
加速器1514(例如硬件加速簇)可以包括片上计算机视觉网络和SRAM,以提供用于加速器1514的高带宽、低延迟SRAM。在一些示例中,片上内存可以包括由例如且不限于八个现场可配置的内存块组成的至少4MB SRAM,其可以由PVA和DLA二者访问。每对内存块可以包括高级外围总线(APB)接口、配置电路系统、控制器和复用器。可以使用任何类型的内存。PVA和DLA可以经由向PVA和DLA提供高速内存访问的主干(backbone)访问内存。主干可以包括(例如使用APB)将PVA和DLA互连到内存的片上计算机视觉网络。
片上计算机视觉网络可以包括在传输任何控制信号/地址/数据之前确定PVA和DLA二者都提供就绪且有效的信号的接口。这样的接口可以提供用于传输控制信号/地址/数据的单独相位和单独信道,以及用于连续数据传输的突发式通信。这种类型的接口可以符合ISO 26262或者IEC 612508标准,但是也可以使用其他标准和协议。
在一些示例中,SoC 1504可以包括例如在2018年8月10日提交的美国专利申请No.16/101,1232中描述的实时光线追踪硬件加速器。该实时光线追踪硬件加速器可以用来快速且高效地确定(例如世界模型内的)对象的位置和范围,以便生成实时可视化仿真,以用于RADAR信号解释、用于声音传播合成和/或分析、用于SONAR系统仿真、用于一般波传播仿真、用于为了定位和/或其他功能的目的与LIDAR数据相比较和/或用于其他用途。
加速器1514(例如硬件加速器簇)具有广泛的自主驾驶用途。PVA可以是可编程视觉加速器,其可以用于ADAS和自主车辆中的关键处理阶段。PVA的能力是需要可预测处理、低功率和低延迟的算法域的良好匹配。换言之,PVA在半密集或者密集规则计算上,甚至在需要具有低延迟和低功率的可预测运行时间的小数据集上都表现良好。因此,在用于自主车辆的平台的背景下,PVA被设计为运行经典计算机视觉算法,因为它们在对象检测和整数数学运算方面很有效。
例如,根据该技术的一个实施例,PVA用来执行计算机立体视觉。在一些示例中,可以使用基于半全局匹配的算法,但是这并不意图是限制性的。许多用于3-5级自主驾驶的应用都需要即时运动估计/立体匹配(例如来自运动的结构、行人识别、车道检测等等)。PVA可以在来自两个单目照相机的输入上执行计算机立体视觉功能。
在一些示例中,PVA可以用来执行密集的光流。根据过程原始RADAR数据(例如使用4D快速傅立叶变换)以提供经处理的RADAR。在其他示例中,PVA用于飞行时间深度处理,其例如通过处理原始飞行时间数据以提供经处理的飞行时间数据。
DLA可以用来运行任何类型的网络以增强控制和驾驶安全性,包括例如输出用于每个对象检测的置信度度量的神经网络。这样的置信度值可以解释为概率,或者解释为提供每个检测与其他检测相比的相对“权重”。该置信度值使得系统能够做出关于哪些检测应当被认为是真阳性检测而不是假阳性检测的进一步决策。例如,系统可以为置信度设置阈值,并且仅仅将超过阈值的检测看作真阳性检测。在自动紧急制动(AEB)系统中,假阳性检测会使得车辆自动地执行紧急制动,这显然是不希望的。因此,只有最确信的检测才应当被认为是AEB的触发因素。DLA可以运行用于回归置信度值的神经网络。该神经网络可以将至少一些参数子集作为其输入,例如边界框维度,(例如从另一个子系统)获得的地平面估计,与车辆1500取向、距离相关的惯性测量单元(IMU)传感器1566输出,从神经网络和/或其他传感器(例如LIDAR传感器1564或RADAR传感器1560)获得的对象的3D位置估计等。
SoC 1504可以包括一个或更多个数据存储1516(例如内存)。数据存储1516可以是SoC 1504的片上内存,其可以存储要在GPU和/或DLA上执行的神经网络。在一些示例中,为了冗余和安全,数据存储1516可以容量足够大以存储神经网络的多个实例。数据存储1512可以包括L2或L3高速缓存1512。对数据存储1516的引用可以包括对与如本文所描述的PVA、DLA和/或其他加速器1514关联的内存的引用。
SoC 1504可以包括一个或更多个处理器1510(例如嵌入式处理器)。处理器1510可以包括启动和功率管理处理器,其可以是用于处理启动功率和管理功能以及有关安全实施的专用处理器和子系统。启动和功率管理处理器可以是SoC 1504启动序列的一部分,并且可以提供运行时间功率管理服务。启动功率和管理处理器可以提供时钟和电压编程、辅助系统低功率状态转换、SoC 1504热和温度传感器管理和/或SoC 1504功率状态管理。每个温度传感器可以实现为环形振荡器,其输出频率与温度成比例,并且SoC 1504可以使用环形振荡器检测CPU 1506、GPU 1508和/或加速器1514的温度。如果确定温度超过阈值,那么启动和功率管理处理器可以进入温度故障例程并且将SoC1504置于较低功率状态和/或将车辆1500置于司机安全停车模式(例如使车辆1500安全停车)。
处理器1510可以进一步包括可以用作音频处理引擎的一组嵌入式处理器。音频处理引擎可以是一种音频子系统,其允许实现对于通过多个接口的多声道音频的完全硬件支持以及一系列广泛而灵活的音频I/O接口。在一些示例中,音频处理引擎是具有带有专用RAM的数字信号处理器的专用处理器核。
处理器1510可以进一步包括始终在处理器上的引擎,其可以提供必要的硬件特征以支持低功率传感器管理和唤醒用例。该始终在处理器上的引擎可以包括处理器核、紧密耦合的RAM、支持外围设备(例如定时器和中断控制器)、各种I/O控制器外围设备和路由逻辑。
处理器1510可以进一步包括安全簇引擎,其包括处理汽车应用的安全管理的专用处理器子系统。安全簇引擎可以包括两个或更多处理器核、紧密耦合的RAM、支持外围设备(例如定时器、中断控制器等等)和/或路由逻辑。在安全模式下,所述两个或更多核可以操作于锁步模式下,并且用作具有检测它们的操作之间的任何差异的比较逻辑的单核。
处理器1510可以进一步包括实时照相机引擎,其可以包括用于处理实时照相机管理的专用处理器子系统。
处理器1510可以进一步包括高动态范围信号处理器,其可以包括图像信号处理器,该图像信号处理器是一种硬件引擎,该硬件引擎是照相机处理管线的部分。
处理器1510可以包括可以是(例如微处理器上实现的)处理块的视频图像复合器,其实现视频回放应用程序产生用于播放器窗口的最终图像所需的视频后处理功能。视频图像复合器可以对广角照相机1570、环绕照相机1574和/或对驾驶室内监控照相机传感器执行镜头畸变校正。驾驶室内监控照相机传感器优选地由运行在高级SoC的另一个实例上的神经网络监控,被配置为识别驾驶室内事件并且相对应地做出响应。驾驶室内系统可以执行唇读,以激活移动电话服务并拨打电话、口述电子邮件、改变车辆目的地、激活或改变车辆的信息娱乐系统和设置或者提供语音激活的网上冲浪。某些功能仅在车辆操作于自主模式下时对于驾驶员可用,并且在其他情况下被禁用。
视频图像复合器可以包括用于空间和时间降噪的增强时间降噪。例如,在视频中出现运动的情况下,降噪适当地对空间信息加权,降低邻近帧提供的信息的权重。在图像或者图像的部分不包括运动的情况下,视频图像复合器执行的时间降噪可以使用来自先前的图像的信息以降低当前图像中的噪声。
视频图像复合器也可以被配置为对输入立体镜头帧执行立体校正。当操作系统桌面正在使用并且GPU 1508无需连续地渲染(render)新的表面时,视频图像复合器可以进一步用于用户接口组成。甚至在GPU 1508上电并且激活,进行3D渲染时,视频图像复合器可以用来减轻GPU 1508的负担以提高性能和响应能力。
SoC 1504可以进一步包括用于从照相机接收视频和输入的移动行业处理器接口(MIPI)照相机串行接口、高速接口和/或可以用于照相机和有关像素输入功能的视频输入块。SoC 1504可以进一步包括可以由软件控制并且可以用于接收未提交到特定角色的I/O信号的输入/输出控制器。
SoC 1504可以进一步包括大范围的外围设备接口,以使能与外围设备、音频编解码器、功率管理和/或其他设备通信。SoC 1504可以用来处理来自(通过千兆多媒体串行链路和以太网连接的)照相机、传感器(例如可以通过以太网连接的LIDAR传感器1564、RADAR传感器1560等等)的数据,来自总线1502的数据(例如车辆1500的速率、方向盘位置等等),来自(通过以太网或CAN总线连接的)GNSS传感器1558的数据。SoC 1504可以进一步包括专用高性能大容量存储控制器,其可以包括它们自己的DMA引擎,并且其可以用来从日常数据管理任务中释放CPU 1506。
SoC 1504可以是具有灵活架构的端到端平台,该架构跨越自动化3-5级,从而提供利用和高效使用计算机视觉和ADAS技术以实现多样性和冗余、连同深度学习工具一起提供用于灵活可靠驾驶软件堆栈的平台的综合功能安全架构。SoC 1504可以比常规的系统更快、更可靠,甚至更加能量高效和空间高效。例如,当与CPU 1506、GPU 1508和数据存储1516结合时,加速器1514可以提供用于3-5级自主车辆的快速高效平台。
因此该技术提供了不能通过常规系统实现的能力和功能。例如,计算机视觉算法可以在CPU上执行,这些CPU可以使用诸如C编程语言之类的高级编程语言配置为跨各种各样的视觉数据执行各种各样的处理算法。然而,CPU常常不能满足许多计算机视觉应用的性能要求,诸如与例如执行时间和功耗有关的那些要求。特别地,许多CPU不能实时地执行复杂的对象检测算法,这是车载ADAS应用的要求和实用3-5级自主车辆的要求。
与常规系统形成对比的是,通过提供CPU复合体、GPU复合体和硬件加速簇,本文描述的技术允许同时和/或顺序地执行多个神经网络,并且将结果组合在一起以实现3-5级自主驾驶功能。例如,在DLA或dGPU(例如GPU 1520)上执行的CNN可以包括文本和单词识别,允许超级计算机读取和理解交通指示牌,包括尚未针对其特别地训练神经网络的指示牌。DLA可以进一步包括能够识别、解释和提供对指示牌的语义理解,并且将该语义理解传递给运行在CPU复合体上的路径规划模块的神经网络。
作为另一个示例,如3、4或5级驾驶所需的,多个神经网络可以同时运行。例如,由“注意:闪烁的灯指示结冰条件”组成的警告指示牌连同电灯可以由若干神经网络独立地或者共同地进行解释。指示牌本身可以由部署的第一神经网络(例如经过训练的神经网络)识别为交通指示牌,文本“闪烁的灯指示结冰条件”可以由部署的第二神经网络解释,该部署的第二神经网络告知车辆的路径规划软件(优选地在CPU复合体上执行)当检测到闪烁的灯时,存在结冰条件。闪烁的灯可以通过在多个帧上操作部署的第三神经网络而识别,该神经网络告知车辆的路径规划软件闪烁的灯的存在(或不存在)。所有三个神经网络可以例如在DLA内和/或在GPU 1508上同时运行。
在一些示例中,用于面部识别和车主识别的CNN可以使用来自照相机传感器的数据识别车辆1500的授权的驾驶员和/或车主的存在。始终在传感器上的处理引擎可以用来在车主接近驾驶员车门时解锁车辆并且打开灯,并且在安全模式下,在车主离开车辆时禁用车辆。按照这种方式,SoC 1504提供了防范盗窃和/或劫车的安全性。
在另一个示例中,用于应急车辆检测和识别的CNN可以使用来自麦克风1596的数据来检测并且识别应急车辆警报(siren)。与使用通用分类器检测警报并且手动地提取特征的常规系统形成对比的是,SoC1504使用CNN以对环境和城市声音分类以及对视觉数据分类。在优选的实施例中,运行在DLA上的CNN被训练为识别应急车辆的相对关闭速率(例如通过使用多普勒效应)。CNN也可以被训练为识别如GNSS传感器1558所识别的特定于车辆在其中操作的局部区域的应急车辆。因此,例如,当在欧洲操作时,CNN将寻求检测欧洲警报,并且当在美国时,CNN将寻求识别仅仅北美的警报。一旦检测到应急车辆,在超声传感器1562的辅助下,控制程序可以用来执行应急车辆安全例程,使车辆放慢速度,开到路边,停下车辆,和/或使车辆空转,直到应急车辆通过。
车辆可以包括可以经由高速互连(例如PCIe)耦合到SoC 1504的CPU 1518(例如分立的CPU或dCPU)。CPU 1518可以包括例如X86处理器。CPU 1518可以用来执行各种各样的功能中的任何功能,包括例如仲裁ADAS传感器与SoC 1504之间潜在地不一致的结果,和/或监控控制器1536和/或信息娱乐SoC 1530的状态和健康状况。
车辆1500可以包括可以经由高速互连(例如NVIDIA的NVLINK)耦合到SoC 1504的GPU 1520(例如分立的GPU或dGPU)。GPU 1520可以例如通过执行冗余的和/或不同的神经网络而提供附加的人工智能功能,并且可以用来至少部分地基于来自车辆1500的传感器的输入(例如传感器数据)来训练和/或更新神经网络。
车辆1500可以进一步包括网络接口1524,该网络接口可以包括一个或更多个无线天线1526(例如用于不同通信协议的一个或更多个无线天线,例如蜂窝天线、蓝牙天线等等)。网络接口1524可以用来使能通过因特网与云(例如与服务器1578和/或其他网络设备)、与其他车辆和/或与计算设备(例如乘客的客户端设备)的无线连接。为了与其他车辆通信,可以在这两辆车之间建立直接链接,和/或可以建立间接链接(例如跨网络以及通过因特网)。直接链接可以使用车对车通信链路提供。车对车通信链路可以向车辆1500提供关于接近车辆1500的车辆(例如车辆1500前面、侧面和/或后面的车辆)的信息。该功能可以是车辆1500的协作自适应巡航控制功能的部分。
网络接口1524可以包括提供调制和解调功能并且使得控制器1536能够通过无线网络通信的SoC。网络接口1524可以包括用于从基带到射频的上转换以及从射频到基带的下转换的射频前端。频率转换可以通过公知的过程执行,和/或可以使用超外差(super-heterodyne)过程执行。在一些示例中,射频前端功能可以由单独的芯片提供。网络接口可以包括用于通过LTE、WCDMA、UMTS、GSM、CDMA2000、蓝牙、蓝牙LE、Wi-Fi、Z波、ZigBee、LoRaWAN和/或其他无线协议通信的无线功能。
车辆1500可以进一步包括可包括片外(例如SoC 1504外)存储装置的数据存储1528。数据存储1528可以包括一个或更多个存储元件,包括RAM、SRAM、DRAM、VRAM、闪存、硬盘和/或可以存储至少一个比特的数据的其他部件和/或设备。
车辆1500可以进一步包括GNSS传感器1558。GNSS传感器1558(例如GPS和/或辅助GPS传感器)用于辅助映射、感知、占用网格生成和/或路径规划功能。可以使用任意数量的GNSS传感器1558,包括例如且不限于使用带有以太网到串行(RS-232)网桥的USB连接器的GPS。
车辆1500可以进一步包括RADAR传感器1560。RADAR传感器1560可以甚至在黑暗和/或恶劣天气条件下也由车辆1500用于远程车辆检测。RADAR功能安全级别可以是ASILB。RADAR传感器1560可以使用CAN和/或总线1502(例如以传输RADAR传感器1560生成的数据)以用于控制以及访问对象跟踪数据,在一些示例中接入以太网以访问原始数据。可以使用各种各样的RADAR传感器类型。例如且非限制性地,RADAR传感器1560可以适合前面、后面和侧面RADAR使用。在一些示例中,使用脉冲多普勒RADAR传感器。
RADAR传感器1560可以包括不同的配置,例如具有窄视场的远程、具有宽视场的短程、短程侧覆盖等等。在一些示例中,远程RADAR可以用于自适应巡航控制功能。远程RADAR系统可以提供通过两个或更多独立扫描实现的广阔视场(例如250m范围内)。RADAR传感器1560可以帮助区分静态对象和运动对象,并且可以由ADAS系统用于紧急制动辅助和前方碰撞警告。远程RADAR传感器可以包括具有多根(例如六根或更多)固定RADAR天线以及高速CAN和FlexRay接口的单站多模RADAR。在具有六根天线的示例中,中央四根天线可以创建聚焦的波束图案,其被设计为在更高速率下以来自邻近车道的最小交通干扰记录车辆1500的周围环境。其他两根天线可以扩展视场,使得快速地检测进入或离开车辆1500的车道的车辆成为可能。
作为一个示例,中程RADAR系统可以包括高达1460m(前面)或80m(后面)的范围以及高达42度(前面)或1450度(后面)的视场。短程RADAR系统可以包括但不限于被设计为安装在后保险杠两端的RADAR传感器。当安装在后保险杠两端时,这样的RADAR传感器系统可以创建持续地监控后方和车辆旁边的盲点的两个波束。
短程RADAR系统可以在ADAS系统中用于盲点检测和/或变道辅助。
车辆1500可以进一步包括超声传感器1562。可以置于车辆1500的前面、后面和/或侧面的超声传感器1562可以用于停车辅助和/或创建和更新占用网格。可以使用各种各样的超声传感器1562,并且不同的超声传感器1562可以用于不同的检测范围(例如2.5m、4m)。超声传感器1562可以操作于功能安全级别的ASIL B。
车辆1500可以包括LIDAR传感器1564。LIDAR传感器1564可以用于对象和行人检测、紧急制动、碰撞避免和/或其他功能。LIDAR传感器1564可以为功能安全级别的ASIL B。在一些示例中,车辆1500可以包括可以使用以太网(例如以将数据提供给千兆以太网交换机)的多个LIDAR传感器1564(例如两个、四个、六个等等)。
在一些示例中,LIDAR传感器1564可能够对360度视场提供对象列表及其距离。商业上可用的LIDAR传感器1564可以具有例如近似1400m的广告范围,精度为2cm-3cm,支持1400Mbps以太网连接。在一些示例中,可以使用一个或更多个非突出的LIDAR传感器1564。在这样的示例中,LIDAR传感器1564可以实现为可以嵌入到车辆1500的前面、后面、侧面和/或拐角的小设备。在这样的示例中,LIDAR传感器1564可以甚至对于低反射率对象提供高达1420度水平的和35度竖直的视场,具有200m的范围。前面安装的LIDAR传感器1564可以被配置用于45度与135度之间的水平视场。
在一些示例中,也可以使用诸如3D闪光LIDAR之类的LIDAR技术。3D闪光LIDAR使用激光的闪光作为发射源,以照亮高达约200m的车辆周围环境。闪光LIDAR单元包括接受器,该接受器将激光脉冲传输时间和反射光记录在每个像素上,其进而与从车辆到对象的范围相对应。闪光LIDAR可以允许利用每个激光闪光生成周围环境的高度精确且无失真的图像。在一些示例中,可以部署四个闪光LIDAR传感器,车辆1500的每一侧一个。可用的3D闪光LIDAR系统包括没有风扇以外的运动部件(moving part)的固态3D凝视阵列LIDAR照相机(例如非扫描LIDAR设备)。闪光LIDAR设备可以使用每帧5纳秒I类(眼睛安全)激光脉冲,并且可以以3D范围点云和共同寄存的强度数据的形式捕获反射的激光。通过使用闪光LIDAR,并且因为闪光LIDAR是没有运动部件的固态设备,LIDAR传感器1564可以不太容易受到运动模糊、振动和/或震动的影响。
该车辆可以进一步包括IMU传感器1566。在一些示例中,IMU传感器1566可以位于车辆1500的后轴的中心。IMU传感器1566可以包括例如且不限于加速度计、磁力计、陀螺仪、磁罗盘和/或其他传感器类型。在一些示例中,例如在六轴应用中,IMU传感器1566可以包括加速度计和陀螺仪,而在九轴应用中,IMU传感器1566可以包括加速度计、陀螺仪和磁力计。
在一些实施例中,IMU传感器1566可以实现为微型高性能GPS辅助惯性导航系统(GPS/INS),其结合微机电系统(MEMS)惯性传感器、高灵敏度GPS接收器和高级卡尔曼滤波算法以提供位置、速度和姿态的估计。这样,在一些示例中,IMU传感器1566可以使得车辆1500能够在无需来自磁传感器的输入的情况下通过直接观察从GPS到IMU传感器1566的速度变化并且将其相关来估计方向(heading)。在一些示例中,IMU传感器1566和GNSS传感器1558可以结合到单个集成单元中。
该车辆可以包括置于车辆1500中和/或车辆1500周围的麦克风1596。除别的以外,麦克风1596可以用于应急车辆检测和识别。
该车辆可以进一步包括任意数量的照相机类型,包括立体照相机1568、广角照相机1570、红外照相机1572、环绕照相机1574、远程和/或中程照相机1598和/或其他照相机类型。这些照相机可以用来捕获车辆1500整个外围周围的图像数据。使用的照相机类型取决于实施例和车辆1500的要求,并且照相机类型的任意组合可以用来提供车辆1500周围的必要覆盖。此外,照相机的数量可以根据实施例而不同。例如,该车辆可以包括六个照相机、七个照相机、十个照相机、十二个照相机和/或另一数量的照相机。作为一个示例且非限制性地,这些照相机可以支持千兆多媒体串行链路(GMSL)和/或千兆以太网。所述照相机中的每一个在本文关于图15A和图15B更详细地进行了描述。
车辆1500可以进一步包括振动传感器1542。振动传感器1542可以测量车辆的诸如车轴之类的部件的振动。例如,振动的变化可以指示道路表面的变化。在另一个示例中,当使用两个或更多振动传感器1542时,振动之间的差异可以用来确定道路表面的摩擦或滑移(例如当动力驱动轴与自由旋转轴之间存在振动差异时)。
车辆1500可以包括ADAS系统1538。在一些示例中,ADAS系统1538可以包括SoC。ADAS系统1538可以包括自主/自适应/自动巡航控制(ACC)、协作自适应巡航控制(CACC)、前方撞车警告(FCW)、自动紧急制动(AEB)、车道偏离警告(LDW)、车道保持辅助(LKA)、盲点警告(BSW)、后方穿越交通警告(RCTW)、碰撞警告系统(CWS)、车道居中(LC)和/或其他特征和功能。
ACC系统可以使用RADAR传感器1560、LIDAR传感器1564和/或照相机。ACC系统可以包括纵向ACC和/或横向ACC。纵向ACC监控并控制到紧接在车辆1500前方的车辆的距离,并且自动地调节车速以维持离前方车辆的安全距离。横向ACC执行距离保持,并且在必要时建议车辆1500改变车道。横向ACC与诸如LCA和CWS之类的其他ADAS应用程序有关。
CACC使用来自其他车辆的信息,该信息可以经由网络接口1524和/或无线天线1526经由无线链路或者通过网络连接(例如通过因特网)间接地从其他车辆接收。直接链接可以由车对车(V2V)通信链路提供,而间接链接可以是基础设施到车辆(I2V)的通信链路。通常,V2V通信概念提供关于紧接在前的车辆(例如紧接在车辆1500前方且与其处于相同车道的车辆)的信息,而I2V通信概念提供关于前方更远处的交通的信息。CACC系统可以包括I2V和V2V信息源中的任一个或者二者。给定车辆1500前方车辆的信息,CACC可以更加可靠,并且它有可能提高交通流的畅通性且降低道路拥堵。
FCW系统被设计为提醒驾驶员注意危险,使得驾驶员可以采取纠正措施。FCW系统使用耦合到专用处理器、DSP、FPGA和/或ASIC的前置照相机和/或RADAR传感器1560,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动部件之类的驾驶员反馈。FCW系统可以提供例如声音、视觉警告、振动和/或快速制动脉冲形式的警告。
AEB系统检测即将发生的与另一车辆或其他对象的前方碰撞,并且可以在驾驶员在指定的时间或距离参数内没有采取纠正措施的情况下自动地应用制动器。AEB系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的前置照相机和/或RADAR传感器1560。当AEB系统检测到危险时,它典型地首先提醒(alert)驾驶员采取纠正措施以避免碰撞,并且如果驾驶员没有采取纠正措施,那么AEB系统可以自动地应用制动器以努力防止或者至少减轻预测的碰撞的影响。AEB系统可以包括诸如动态制动支持和/或碰撞迫近制动之类的技术。
LDW系统提供了诸如方向盘或座位振动之类的视觉、听觉和/或触觉警告,以在车辆1500穿过车道标记时提醒驾驶员。当驾驶员指示有意偏离车道时,通过激活转弯信号,不激活LDW系统。LDW系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的前侧朝向照相机,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动部件之类的驾驶员反馈。
LKA系统是LDW系统的变型。如果车辆1500开始离开车道,那么LKA系统提供纠正车辆1500的转向输入或制动。
BSW系统检测并向驾驶员警告汽车盲点中的车辆。BSW系统可以提供视觉、听觉和/或触觉警报以指示合并或改变车道是不安全的。系统可以在驾驶员使用转弯信号时提供附加的警告。BSW系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的后侧朝向照相机和/或RADAR传感器1560,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动部件之类的驾驶员反馈。
RCTW系统可以在车辆1500倒车时在后置照相机范围之外检测到对象时提供视觉、听觉和/或触觉通知。一些RCTW系统包括AEB以确保应用车辆制动器以避免撞车。RCTW系统可以使用耦合到专用处理器、DSP、FPGA和/或ASIC的一个或更多个后置RADAR传感器1560,该专用处理器、DSP、FPGA和/或ASIC电耦合至诸如显示器、扬声器和/或振动部件之类的驾驶员反馈。
常规的ADAS系统可能易于出现假阳性结果,这可能会让驾驶员烦恼并分散注意力,但是典型地不是灾难性的,因为ADAS系统提醒驾驶员并且允许驾驶员决定安全条件是否真正存在并且相对应地采取行动。然而,在自主车辆1500中,在冲突结果的情况下,车辆1500本身必须决定是否注意(heed)来自主计算机或者辅助计算机(例如第一控制器1536或第二控制器1536)的结果。例如,在一些实施例中,ADAS系统1538可以是用于向备用计算机合理性模块提供感知信息的备用和/或辅助计算机。备用计算机合理性监视器可以在硬件部件上运行冗余多样的软件,以检测感知和动态驾驶任务中的故障。来自ADAS系统1538的输出可以提供给监督MCU。如果来自主计算机和辅助计算机的输出冲突,那么监督MCU必须确定如何协调该冲突以确保安全操作。
在一些示例中,主计算机可以被配置为向监督MCU提供置信度评分,指示主计算机对所选结果的置信度。如果置信度评分超过阈值,那么监督MCU可以遵循主计算机的方向,而不管辅助计算机是否提供冲突或不一致的结果。在置信度评分不满足阈值的情况下并且在主计算机和辅助计算机指示不同的结果(例如冲突)的情况下,监督MCU可以在这些计算机之间进行仲裁以确定适当的结果。
监督MCU可以被配置为运行神经网络,所述神经网络被训练并且被配置为至少部分地基于来自主计算机和辅助计算机的输出,确定辅助计算机提供假警报的条件。因此,监督MCU中的神经网络可以了解何时可以信任辅助计算机的输出以及何时不能。例如,当辅助计算机为基于RADAR的FCW系统时,监督MCU中的神经网络可以了解FCW系统何时正在识别事实上不是危险的金属对象,例如触发警报的排水栅格或井盖。类似地,当辅助计算机是基于照相机的LDW系统时,监督MCU中的神经网络可以学习在骑车者或行人在场并且车道偏离实际上是最安全的策略时无视该LDW。在包括运行在监督MCU上的神经网络的实施例中,监督MCU可以包括适合于利用关联的内存运行神经网络的DLA或GPU中的至少一个。在优选的实施例中,监督MCU可以包括SoC 1504的部件和/或作为SoC 1504的部件而被包括。
在其他示例中,ADAS系统1538可以包括使用传统计算机视觉规则执行ADAS功能的辅助计算机。这样,辅助计算机可以使用经典的计算机视觉规则(如果-那么),并且在监督MCU中存在神经网络可以提高可靠性、安全性和性能。例如,多样化的实现方式和有意的非完全相同(non-identity)使得整个系统更加容错,对于软件(或者软件-硬件接口)功能造成的故障而言尤其如此。例如,如果在主计算机上运行的软件中存在软件漏洞或错误并且运行在辅助计算机上的非完全相同的软件代码提供相同的总体结果,那么监督MCU可以更加确信总体结果是正确的,并且主计算机上的软件或硬件中的漏洞不造成实质性的错误。
在一些示例中,ADAS系统1538的输出可以馈送至主计算机的感知块和/或主计算机的动态驾驶任务块。例如,如果ADAS系统1538由于对象紧接在前的原因而指示前方碰撞警告,那么感知块可以在识别对象时使用该信息。在其他示例中,辅助计算机可以具有它自己的神经网络,其被训练并且因此如本文所描述的降低假阳性的风险。
车辆1500可以进一步包括信息娱乐SoC 1530(例如车载信息娱乐系统(IVI))。尽管被图示和描述为SoC,但是信息娱乐系统可以不是SoC,并且可以包括两个或更多分立的部件。信息娱乐SoC 1530可以包括可以用来向车辆1500提供音频(例如音乐、个人数字助理、导航指令、新闻、广播等等)、视频(例如TV、电影、流媒体等等)、电话(例如免提呼叫)、网络连接(例如LTE、WiFi等等)和/或信息服务(例如导航系统,后停车援助,无线电数据系统,诸如燃油水平、覆盖的总距离、制动燃油水平、油位、车门开/关、空气过滤器信息之类的车辆有关信息,等等)的硬件和软件的组合。例如,信息娱乐SoC1530可以包括收音机、盘播放器、导航系统、视频播放器、USB和蓝牙连接、车载电脑、车载娱乐、WiFi、方向盘音频控件、免提语音控件、平视显示器(HUD)、HMI显示器1534、远程信息处理设备、控制面板(例如用于控制各种部件、特征和/或系统,和/或与其交互)和/或其他部件。信息娱乐SoC 1530可以进一步用来向车辆的用户提供信息(例如视觉的和/或听觉的),例如来自ADAS系统1538的信息,诸如规划的车辆机动、轨迹、周围环境信息(例如交叉路口信息、车辆信息、道路信息等等)之类的自主驾驶信息,和/或其他信息。
信息娱乐SoC 1530可以包括GPU功能。信息娱乐SoC 1530可以通过总线1502(例如CAN总线、以太网等)与车辆1500的其他设备、系统和/或部件通信。在一些示例中,信息娱乐SoC 1530可以耦合至监督MCU,使得在主控制器1536(例如车辆1500的主和/或备用计算机)出现故障的情况下,信息娱乐系统的GPU可以执行一些自驾驶功能。在这样的示例中,信息娱乐SoC 1530可以如本文所描述的将车辆1500置于司机安全停车模式。
车辆1500可以进一步包括仪表组1532(例如数字仪表板、电子仪表组、数字仪表面板等等)。仪表组1532可以包括控制器和/或超级计算机(例如分立的控制器或超级计算机)。仪表组1532可以包括一套仪器,例如车速表、燃油水平、油压、转速表、里程表、转弯指示器、换档位置指示器、安全带警告灯、停车制动警告灯、发动机故障灯、安全气囊(SRS)系统信息、照明控件、安全系统控件、导航信息等等。在一些示例中,信息可以被显示和/或在信息娱乐SoC 1530和仪表组1532之间共享。换言之,仪表组1532可以作为信息娱乐SoC1530的部分而被包括,或者反之亦然。
图15D为根据本公开一些实施例的基于云的服务器与图15A的示例自主车辆1500之间的通信的系统示意图。系统1576可以包括服务器1578、网络1590以及包括车辆1500在内的车辆。服务器1578可以包括多个GPU 1584(A)-1284(H)(这里统称为GPU 1584)、PCIe交换机1582(A)-1582(H)(这里统称为PCIe交换机1582)和/或CPU 1580(A)-1580(B)(这里统称为CPU 1580)。GPU 1584、CPU 1580和PCIe交换机可以与诸如例如且不限于NVIDIA开发的NVLink接口1588之类的高速互连和/或PCIe连接1586互连。在一些示例中,GPU 1584经由NVLink和/或NVSwitch SoC连接,并且GPU 1584和PCIe交换机1582经由PCIe互连连接。尽管图示出八个GPU 1584、两个CPU 1580和两个PCIe交换机,但是这并不意图是限制性的。取决于实施例,服务器1578中的每一个可以包括任意数量的GPU 1584、CPU 1580和/或PCIe交换机。例如,服务器1578中的每一个可以包括八个、十六个、三十二个和/或更多GPU 1584。
服务器1578可以通过网络1590并且从车辆接收图像数据,该图像数据表示示出诸如最近开始的道路工程之类的意外或改变的道路状况的图像。服务器1578可以通过网络1590并且向车辆传输神经网络1592、更新的神经网络1592和/或地图信息1594,包括关于交通和道路状况的信息。对地图信息1594的更新可以包括对于HD地图1522的更新,例如关于建筑工地、坑洼、弯道、洪水或其他障碍物的信息。在一些示例中,神经网络1592、更新的神经网络1592和/或地图信息1594可以已从新的训练和/或从环境中的任意数量的车辆接收的数据中表示和/或至少部分地基于数据中心处执行的训练(例如使用服务器1578和/或其他服务器)的经验产生。
服务器1578可以用来至少部分地基于训练数据训练机器学习模型(例如神经网络)。训练数据可以由车辆生成,和/或可以在仿真中生成(例如使用游戏引擎)。在一些示例中,训练数据被标记(例如在神经网络受益于有监督学习的情况下)和/或经历其他预处理,而在其他示例中,训练数据不被标记和/或预处理(例如在神经网络无需有监督学习的情况下)。一旦机器学习模型被训练,机器学习模型可以由车辆使用(例如通过网络1590传输至车辆),和/或机器学习模型可以由服务器1578用来远程地监控车辆。
在一些示例中,服务器1578可以接收来自车辆的数据,并且将该数据应用到最新的实时神经网络以用于实时智能推理。服务器1578可以包括由GPU 1584供电的深度学习超级计算机和/或专用AI计算机,例如NVIDIA开发的DGX和DGX站机器。然而,在一些示例中,服务器1578可以包括仅使用CPU供电的数据中心的深度学习基础设施。
服务器1578的深度学习基础设施可能够快速实时推理,并且可以使用该能力来评估并验证车辆1500中的处理器、软件和/或关联硬件的健康状况。例如,深度学习基础设施可以接收来自车辆1500的定期更新,例如图像序列和/或车辆1500已经定位的位于该图像序列中的对象(例如经由计算机视觉和/或其他机器学习对象分类技术)。深度学习基础设施可以运行它自己的神经网络以识别对象并且将它们与车辆1500识别的对象相比较,如果结果不匹配并且该基础设施得出车辆1500中的AI发生故障的结论,那么服务器1578可以向车辆1500传输信号,指示车辆1500的故障保护计算机进行控制,通知乘客,并且完成安全停车操作。
为了推理,服务器1578可以包括GPU 1584和一个或更多个可编程推理加速器(例如NVIDIA的TensorRT 3)。GPU供电的服务器和推理加速的组合可以使得实时响应成为可能。在其他示例中,例如在性能不那么重要的情况下,CPU、FPGA和其他处理器供电的服务器可以用于推理。
示例计算设备
图16为适合用于实现本公开一些实施例的示例计算设备1600的框图。计算设备1600可以包括直接或间接耦合下列设备的总线1602:内存1604,一个或更多个中央处理单元(CPU)1606,一个或更多个图形处理单元(GPU)1608,通信接口1610,输入/输出(I/O)端口1612,输入/输出组件1614,电源1616,以及一个或更多个呈现组件1618(例如显示器)。
尽管图16的各个框被示为经由具有线路的总线1602连接,但是这并不意图是限制性的,并且仅仅为了清楚起见。例如,在一些实施例中,诸如显示设备之类的呈现组件1618可以被认为是I/O组件1614(例如如果显示器为触摸屏)。作为另一个示例,CPU 1606和/或GPU 1608可以包括内存(例如,内存1604可以表示除了GPU 1608、CPU 1606和/或其他组件的内存以外的存储设备)。换言之,图16的计算设备仅仅是说明性的。在诸如“工作站”、“服务器”、“膝上型电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ECU)”、“虚拟现实系统”和/或其他设备或系统类型之类的类别之间不进行区分,因为所有这些都被考虑在图16的计算设备的范围内。
总线1602可以表示一条或更多条总线,例如地址总线、数据总线、控制总线或者其组合。总线1602可以包括一种或更多种总线类型,例如行业标准架构(ISA)总线、扩展行业标准架构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线,和/或另一种类型的总线。
内存1604可以包括各种各样的计算机可读介质中的任何介质。计算机可读介质可以是可以由计算设备1600访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质以及可移除和不可移除介质。举例而言且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质可以包括易失性和非易失性介质和/或可移除和不可移除介质,其以用于存储诸如计算机可读指令、数据结构、程序模块和/或其他数据类型之类的信息的任何方法或技术实现。例如,内存1604可以存储计算机可读指令(例如其表示程序和/或程序元素,例如操作系统)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或者其他存储技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储期望的信息且可以由计算设备1600访问的任何其他介质。当在本文使用时,计算机存储介质并不包括信号本身。
通信介质可以在诸如载波之类的调制数据信号或其他传输机制中包含计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息输送介质。术语“调制数据信号”可以指这样的信号,该信号使它的特性中的一个或更多个以这样的将信息编码到该信号中的方式设置或改变。举例而言且非限制性地,通信介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、RF、红外和其他无线介质之类的无线介质。任何以上所述的组合也应当包含在计算机可读介质的范围内。
CPU 1606可以被配置为执行计算机可读指令以便控制计算设备1600的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。CPU 1606中的每一个可以包括能够同时处理大量软件线程的一个或更多个核(例如一个、两个、四个、八个、二十八个、七十二个等等)。CPU 1606可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于实现的计算设备1600的类型(例如具有用于移动设备的较少核的处理器以及具有用于服务器的更多核的处理器)。例如,取决于计算设备1600的类型,处理器可以是使用精简指令集计算(RISC)实现的ARM处理器或者使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或者诸如数学协处理器之类的补充协处理器之外,计算设备1600还可以包括一个或更多个CPU 1606。
GPU 1608可以由计算设备1600用来渲染图形(例如3D图形)。GPU 1608可以包括能够同时处理数百或数千个软件线程的数百或数千个核。GPU 1608可以响应于渲染命令(例如经由主机接口接收的来自CPU 1606的渲染命令)而生成用于输出图像的像素数据。GPU1608可以包括诸如显示内存之类的用于存储像素数据的图形内存。显示内存可以作为内存1604的部分而被包括。GPU 1608可以包括(例如经由链路)并行操作的两个或更多GPU。当组合在一起时,每个GPU 1608可以生成用于输出图像的不同部分或者用于不同输出图像的像素数据(例如,第一GPU用于第一图像,第二GPU用于第二图像)。每个GPU可以包括它自己的内存,或者可以与其他GPU共享内存。
在其中计算设备1600不包括GPU 1608的示例中,CPU 1606可以用来渲染图形。
通信接口1610可以包括一个或更多个接收器、发送器和/或收发器,其使得计算设备1600能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口1610可以包括使能通过若干不同网络中的任何网络进行通信的组件和功能,所述网络例如无线网络(例如Wi-Fi、Z波、蓝牙、蓝牙LE、ZigBee等等)、有线网络(例如通过以太网通信)、低功率广域网(例如LoRaWAN、SigFox等等)和/或因特网。
I/O端口1612可以使得计算设备1600能够逻辑地耦合到包括I/O组件1614、呈现组件1618和/或其他组件在内的其他设备,其中一些可以内置到(例如集成到)计算设备1600中。说明性I/O组件1614包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、扫描仪、打印机、无线设备等等。I/O组件1614可以提供处理用户生成的空中手势、语音或其他生理输入的自然用户接口(NUI)。在一些实例中,输入可以传输至适当的网络元件以便进一步处理。NUI可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛跟踪以及与计算设备1600的显示器关联的触摸识别(如下文更详细地描述的)的任意组合。计算设备1600可以包括诸如立体照相机系统之类的深度照相机、红外照相机系统、RGB照相机系统、触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备1600可以包括使能运动检测的加速度计或陀螺仪(例如作为惯性测量单元(IMU)的部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备1600用来渲染沉浸式增强现实或者虚拟现实。
电源1616可以包括硬接线电源、电池电源或者其组合。电源1616可以向计算设备1600供电以使得计算设备1600的组件能够操作。
呈现组件1618可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或者其组合)、扬声器和/或其他呈现组件。呈现组件1618可以接收来自其他组件(例如GPU 1608、CPU 1606等等)的数据,并且输出该数据(例如作为图像、视频、声音等等)。
本公开可以在由计算机或者诸如个人数字助理或其他手持式设备之类的其他机器执行的、包括诸如程序模块之类的计算机可执行指令的机器可使用指令或者计算机代码的一般背景下进行描述。通常,包括例程、程序、对象、组件、数据结构等等的程序模块指的是执行特定任务或者实现特定抽象数据类型的代码。本公开可以在各种各样的系统配置中实践,这些配置包括手持式设备、消费电子器件、通用计算机、更专业的计算设备等等。本公开也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实践。
如在本文中使用的,“和/或”关于两个或更多元素的叙述应当解释为仅指一个元素或者元素组合。例如,“元素A、元素B和/或元素C”可以包括仅仅元素A,仅仅元素B,仅仅元素C,元素A和元素B,元素A和元素C,元素B和元素C,或者元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。进一步,“元素A和元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。
这里详细地描述了本公开的主题以满足法定要求。然而,描述本身并非意在限制本公开的范围。相反地,本发明人已经设想到,要求保护的主题也可以以其他的方式具体化,以包括与本文中结合其他当前或未来技术描述的步骤不同的步骤或者相似的步骤的组合。而且,尽管术语“步骤”和/或“块”在本文中可以用来隐含采用的方法的不同元素,但是这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各步骤的顺序。

Claims (29)

1.一种计算机实现的方法,包括:将表示描绘环境中的车辆的至少一个传感器的视场的帧的传感器数据应用于第一神经网络;从所述第一神经网络接收表示所述帧中的对象的检测以及检测的位置的被检测对象数据,所述检测对应于所述第一神经网络的输出类别;至少部分地基于所述位置之间的距离将所述检测聚类为一个或更多个簇;确定所述一个或更多个簇中的簇的特征以用作第二神经网络的输入;接收表示由所述第二神经网络至少部分地基于所述输入计算的置信度评分的输出数据,所述置信度评分表示所述簇对应于所述帧中的所述对象的概率以及所述簇表示所述帧中的所述输出类别的阳性检测的概率。
2.如权利要求1所述的方法,进一步包括:确定至少第一检测和第二检测是所述传感器数据表示的跨连续帧描绘的相同对象;以及至少部分地基于所述第一检测和所述第二检测计算所述对象的至少一个值,其中至少部分地基于所述簇与所述相同对象相关联,所述特征中的至少一个对应于所述至少一个值。
3.如权利要求1所述的方法,进一步包括:从所述簇中、根据与所述簇中的多个所述检测对应的多个所述位置确定所述帧中的所述对象的区域的边界形状:计算对应于至少所述多个所述位置的统计量以及至少所述多个所述检测的量,其中所述特征中的至少第一者对应于所述统计量,所述特征中的至少第二者对应于所述边界形状的一个或更多个维度,并且所述置信度评分进一步表示所述边界形状和所述区域对应于所述帧中的所述对象的概率。
4.如权利要求1所述的方法,其中所述特征中的一个或更多个至少部分地基于表示车辆的状态的车辆状态数据,所述车辆状态数据至少部分地基于从所述至少一个传感器或者至少一个替代传感器中的一个或更多个接收的附加的传感器数据。
5.如权利要求1所述的方法,其中所述簇的所述检测包括被检测对象区域,所述特征中的一个或更多个至少部分地基于计算所述第一神经网络的输入像素中的一个或更多个的统计量,所述第一神经网络用来确定以下项中的至少一个:被检测对象数据,或者所述第一神经网络的至少一个层的特征。
6.如权利要求1所述的方法,其中所述聚类至少部分地基于所述检测的覆盖值,每个覆盖值指示所述检测与在所述视场中描绘的对象相对应的可能性,并且所述方法进一步包括计算对应于所述覆盖值的平均值的统计值,其中所述统计值被包括在被提供作为所述第二神经网络的所述输入的所述簇的所述特征中。
7.一种计算机实现的方法,包括:至少部分地基于表示描绘至少一个传感器的视场的帧的传感器数据,确定表示所述帧中的对象的检测的位置的被检测对象数据,所述检测对应于一个或更多个机器学习模型的输出类别;至少部分地基于所述位置之间的距离生成所述检测的簇;确定所述簇的特征以用作神经网络的输入;以及接收表示由所述神经网络至少部分地基于所述输入计算的置信度评分的输出数据,所述置信度评分表示所述簇对应于所述帧中的所述对象的概率以及所述簇表示所述帧中的所述输出类别的阳性检测的概率。
8.如权利要求7所述的方法,其中所述神经网络为多层感知器神经网络。
9.如权利要求7所述的方法,其中所述检测的所述位置由至少部分地基于所述传感器数据确定所述位置的卷积神经网络的输出表示。
10.如权利要求7所述的方法,其中所述至少一个传感器是车辆的,所述特征中的一个或更多个至少部分地基于表示所述车辆离所述对象的距离的距离数据,所述距离数据至少部分地基于从所述至少一个传感器或者所述车辆的至少一个替代传感器中的一个或更多个接收的附加的传感器数据。
11.如权利要求7所述的方法,其中所述特征中的至少一个至少部分地基于所述簇的所述检测的覆盖值,针对所述检测中的检测,每个覆盖值指示所述检测对应于所述视场中的对象描绘的可能性。
12.如权利要求7所述的方法,其中所述特征中的至少一个表示与所述簇的所述检测相对应的被检测对象区域的高度、所述被检测对象区域的宽度或者所述被检测对象区域的中心位置。
13.如权利要求7所述的方法,其中所述特征中的一个或更多个至少部分地基于所述视场中的地平面的至少一个估计参数。
14.如权利要求7所述的方法,其中所述簇的所述检测是在表示所述视场的相同帧中被检测的。
15.如权利要求7所述的方法,其中生成所述检测的所述簇包括使用至少基于所述位置之间的相似度的聚类算法将所述检测聚类为多个簇,并且所述簇是所述多个簇中的。
16.如权利要求7所述的方法,其中神经网络是第二神经网络,并且所述被检测对象数据是从第一神经网络输出的,所述第一神经网络经训练以输出针对输入数据帧内的相同对象的多个检测。
17.一种计算机实现的系统,包括:一个或更多个处理器;以及存储指令的一个或多个存储器设备,所述指令在被所述一个或更多个处理器执行时使所述一个或多个处理器执行操作,所述操作包括:至少部分地基于多个检测的位置将视场中的对象的所述检测分组为与多个所述检测对应的所述对象的聚合的检测,所述检测对应于一个或更多个机器学习模型的输出类别;从所述多个所述检测的所述位置确定所述聚合的检测的边界形状;从所述多个所述检测确定所述聚合的检测的特征以用作神经网络的输入;以及接收表示由所述神经网络至少部分地基于所述输入计算的置信度评分,所述置信度评分表示所述边界形状对应于所述视场内的所述对象的概率以及所述聚合的检测是帧中的所述输出类别的阳性检测的概率。
18.如权利要求17所述的系统,其中所述检测中的每一者对应于所述视场的相同帧,以及所述边界形状对应于所述视场的所述相同帧内的所述对象的概率。
19.如权利要求17所述的系统,其中所述特征包括所述边界形状的一个或更多个维度,并且所述一个或更多个维度是根据所述多个所述检测的边界形状的维度计算的。
20.如权利要求17所述的系统,其中所述神经网络经训练以最小化在所述聚合的检测是假阳性检测时的概率以及最大化在所述聚合的检测是真阳性检测时的概率。
21.如权利要求17所述的系统,其中所述特征包括对应于所述聚合的检测的所述多个所述检测的计数。
22.一种计算机实现的方法,包括:至少部分地基于与用于神经网络的训练图像关联的对象区域的维度计算至少部分地处于所述对象区域内的形状的尺寸;至少部分地基于所述训练图像的空间元素区域与所述形状的部分相对应而将覆盖值分配给所述空间元素区域;利用所述覆盖值以及表示所述对象区域的至少一个对象区域值填充与所述训练图像的所述空间元素区域相对应的真值数据的一个或更多个元素;以及使用所述真值数据训练所述神经网络;其中将所述覆盖值分配给所述训练图像的所述空间元素区域进一步至少部分地基于确定与所述对象区域相对应的第一对象在所述训练图像中比和与所述训练图像关联的附加对象区域相对应的第二对象更近。
23.如权利要求22所述的方法,其中所述形状是椭圆、矩形、圆形或者超椭圆中的至少一个。
24.如权利要求22所述的方法,进一步包括:至少部分地基于所述形状确定用于所述空间元素区域的软覆盖值,所述软覆盖值至少部分地基于所述空间元素区域与所述形状的边界相对应,其中所述软覆盖值为所述覆盖值。
25.如权利要求22所述的方法,进一步包括:至少部分地基于以下步骤确定所述覆盖值:在第一图像数据中以比所述真值数据表示的真值张量更高的空间分辨率渲染至少一些所述形状;以及将所述第一图像数据降尺度至所述真值张量的空间分辨率,以生成表示所述形状的抗混叠部分的第二图像数据,其中所述覆盖值与所述形状的所述抗混叠部分相对应。
26.如权利要求22所述的方法,进一步包括:利用与围绕所述形状的死区区域相对应的覆盖值填充所述真值数据的附加元素,所述死区区域用来在所述真值数据中将与所述形状相对应的第一覆盖值集合和与附加形状相对应的第二覆盖值集合在空间上分开,所述附加形状基于与所述训练图像关联的附加对象区域。
27.如权利要求22所述的方法,其中将所述覆盖值分配给所述训练图像的所述空间元素区域进一步至少部分地基于确定用于与训练图像关联的附加对象区域的软覆盖值,其中至少部分地基于所述覆盖值大于所述软覆盖值而将所述覆盖值分配给所述空间元素区域。
28.如权利要求22所述的方法,其中至少部分地基于所述第一对象在所述训练图像中比所述第二对象更近,而将所述覆盖值分配给所述空间元素区域。
29.如权利要求22所述的方法,其中进一步地用以下中的一个或更多个填充所述真值数据的所述一个或更多个元素:表示对象离用来捕获所述训练图像的至少一个传感器的距离的至少一个距离值,表示所述训练图像中的对象的取向的至少一个取向值,或者表示所述训练图像中的对象的可见性的至少一个可见性值。
CN201980004563.9A 2018-02-18 2019-02-15 适于自主驾驶的对象检测和检测置信度的方法和系统 Active CN111133447B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862631781P 2018-02-18 2018-02-18
US62/631,781 2018-02-18
PCT/US2019/018348 WO2019161300A1 (en) 2018-02-18 2019-02-15 Detecting objects and determining confidence scores

Publications (2)

Publication Number Publication Date
CN111133447A CN111133447A (zh) 2020-05-08
CN111133447B true CN111133447B (zh) 2024-03-19

Family

ID=67617927

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980004563.9A Active CN111133447B (zh) 2018-02-18 2019-02-15 适于自主驾驶的对象检测和检测置信度的方法和系统

Country Status (4)

Country Link
US (2) US11210537B2 (zh)
CN (1) CN111133447B (zh)
DE (1) DE112019000049T5 (zh)
WO (1) WO2019161300A1 (zh)

Families Citing this family (232)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9972092B2 (en) * 2016-03-31 2018-05-15 Adobe Systems Incorporated Utilizing deep learning for boundary-aware image segmentation
US10209718B2 (en) * 2017-03-14 2019-02-19 Starsky Robotics, Inc. Vehicle sensor system and method of use
US10678244B2 (en) 2017-03-23 2020-06-09 Tesla, Inc. Data synthesis for autonomous control systems
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US10706534B2 (en) * 2017-07-26 2020-07-07 Scott Anderson Middlebrooks Method and apparatus for classifying a data point in imaging data
US10733756B2 (en) * 2017-08-31 2020-08-04 Nec Corporation Online flow guided memory networks for object detection in video
US10678241B2 (en) * 2017-09-06 2020-06-09 GM Global Technology Operations LLC Unsupervised learning agents for autonomous driving applications
US11077756B2 (en) * 2017-11-23 2021-08-03 Intel Corporation Area occupancy determining device
WO2019136375A1 (en) 2018-01-07 2019-07-11 Nvidia Corporation Guiding vehicles through vehicle maneuvers using machine learning models
CN110096933B (zh) * 2018-01-30 2023-07-18 华为技术有限公司 目标检测的方法、装置及系统
US11561791B2 (en) 2018-02-01 2023-01-24 Tesla, Inc. Vector computational unit receiving data elements in parallel from a last row of a computational array
CN110352153A (zh) 2018-02-02 2019-10-18 辉达公司 自主车辆中用于障碍物躲避的安全程序分析
CN111095291B (zh) 2018-02-27 2024-04-09 辉达公司 由自动驾驶车辆实时检测车道和边界
KR102054926B1 (ko) * 2018-02-27 2019-12-12 주식회사 만도 Free Space 신호 기반 근거리 컷인 차량 검출 시스템 및 방법
KR101967339B1 (ko) * 2018-03-06 2019-04-09 단국대학교 산학협력단 심층학습 기반의 adas 센서 고장 진단 및 백업을 위한 장치 및 방법
US11080590B2 (en) 2018-03-21 2021-08-03 Nvidia Corporation Stereo depth estimation using deep neural networks
US10867393B2 (en) * 2018-03-22 2020-12-15 Texas Instruments Incorporated Video object detection
JP7077726B2 (ja) * 2018-04-02 2022-05-31 株式会社デンソー 車両システム、空間領域推測方法及び空間領域推測装置
US10789487B2 (en) * 2018-04-05 2020-09-29 Here Global B.V. Method, apparatus, and system for determining polyline homogeneity
US11126199B2 (en) * 2018-04-16 2021-09-21 Baidu Usa Llc Learning based speed planner for autonomous driving vehicles
US10839262B2 (en) * 2018-04-24 2020-11-17 Here Global B.V. Machine learning a feature detector using synthetic training data
US10586456B2 (en) * 2018-04-27 2020-03-10 TuSimple System and method for determining car to lane distance
US11675359B2 (en) 2018-06-13 2023-06-13 Nvidia Corporation Path detection for autonomous machines using deep neural networks
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11361457B2 (en) 2018-07-20 2022-06-14 Tesla, Inc. Annotation cross-labeling for autonomous control systems
JP7044000B2 (ja) * 2018-07-20 2022-03-30 株式会社デンソー 車両制御装置および車両制御方法
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US10845806B2 (en) * 2018-07-31 2020-11-24 GM Global Technology Operations LLC Autonomous vehicle control using prior radar space map
US11010903B1 (en) * 2018-08-09 2021-05-18 Amazon Technologies, Inc. Computer vision and machine learning techniques for item tracking
CN110826572B (zh) * 2018-08-09 2023-04-21 京东方科技集团股份有限公司 多目标检测的非极大值抑制方法、装置及设备
GB2576322B (en) * 2018-08-13 2022-11-09 Imperial College Innovations Ltd Mapping object instances using video data
US10942030B2 (en) 2018-08-17 2021-03-09 Lyft, Inc. Road segment similarity determination
US10479356B1 (en) 2018-08-17 2019-11-19 Lyft, Inc. Road segment similarity determination
JP6831474B2 (ja) * 2018-08-24 2021-02-17 バイドゥ ドットコム タイムス テクノロジー (ベイジン) カンパニー リミテッド センサ間でデータを伝送するためのデータ伝送ロジック並びに自動運転車の計画及び制御
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
US11087174B2 (en) * 2018-09-25 2021-08-10 Nec Corporation Deep group disentangled embedding and network weight generation for visual inspection
JP7052663B2 (ja) * 2018-09-26 2022-04-12 トヨタ自動車株式会社 物体検出装置、物体検出方法及び物体検出用コンピュータプログラム
US11488374B1 (en) * 2018-09-28 2022-11-01 Apple Inc. Motion trajectory tracking for action detection
KR102545105B1 (ko) * 2018-10-10 2023-06-19 현대자동차주식회사 차량용 허위 타겟 판별 장치 및 그의 허위 타겟 판별 방법과 그를 포함하는 차량
IL305330A (en) 2018-10-11 2023-10-01 Tesla Inc Systems and methods for training machine models with enhanced data
KR102521657B1 (ko) * 2018-10-15 2023-04-14 삼성전자주식회사 차량을 제어하는 방법 및 장치
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
WO2020087072A1 (en) * 2018-10-26 2020-04-30 Tensil AI Company Method and apparatus for compiling computation graphs into an integrated circuit
US11610115B2 (en) 2018-11-16 2023-03-21 Nvidia Corporation Learning to generate synthetic datasets for training neural networks
US10823855B2 (en) * 2018-11-19 2020-11-03 Fca Us Llc Traffic recognition and adaptive ground removal based on LIDAR point cloud statistics
US10936902B1 (en) * 2018-11-27 2021-03-02 Zoox, Inc. Training bounding box selection
US11010907B1 (en) 2018-11-27 2021-05-18 Zoox, Inc. Bounding box selection
CN111242117A (zh) * 2018-11-28 2020-06-05 佳能株式会社 检测装置和方法及图像处理装置和系统
US10825148B2 (en) 2018-11-29 2020-11-03 Adobe Inc. Boundary-aware object removal and content fill
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
EP3667557B1 (en) * 2018-12-13 2021-06-16 Axis AB Method and device for tracking an object
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
US11332124B2 (en) * 2019-01-10 2022-05-17 Magna Electronics Inc. Vehicular control system
US11113567B1 (en) * 2019-01-28 2021-09-07 Amazon Technologies, Inc. Producing training data for machine learning
US10817777B2 (en) * 2019-01-31 2020-10-27 StradVision, Inc. Learning method and learning device for integrating object detection information acquired through V2V communication from other autonomous vehicle with object detection information generated by present autonomous vehicle, and testing method and testing device using the same
US10997717B2 (en) * 2019-01-31 2021-05-04 Siemens Healthcare Gmbh Method and system for generating a confidence score using deep learning model
US10776647B2 (en) * 2019-01-31 2020-09-15 StradVision, Inc. Method and device for attention-driven resource allocation by using AVM to thereby achieve safety of autonomous driving
US10726279B1 (en) * 2019-01-31 2020-07-28 StradVision, Inc. Method and device for attention-driven resource allocation by using AVM and reinforcement learning to thereby achieve safety of autonomous driving
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
US11520345B2 (en) 2019-02-05 2022-12-06 Nvidia Corporation Path perception diversity and redundancy in autonomous machine applications
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
US10956755B2 (en) 2019-02-19 2021-03-23 Tesla, Inc. Estimating object properties using visual image data
US11772658B1 (en) * 2019-02-19 2023-10-03 Viaduct, Inc. Systems, media, and methods applying machine learning to telematics data to generate driver fingerprint
US11003947B2 (en) * 2019-02-25 2021-05-11 Fair Isaac Corporation Density based confidence measures of neural networks for reliable predictions
US11113839B2 (en) * 2019-02-26 2021-09-07 Here Global B.V. Method, apparatus, and system for feature point detection
CN113811886B (zh) 2019-03-11 2024-03-19 辉达公司 自主机器应用中的路口检测和分类
US10936868B2 (en) 2019-03-19 2021-03-02 Booz Allen Hamilton Inc. Method and system for classifying an input data set within a data category using multiple data recognition tools
US10943099B2 (en) * 2019-03-19 2021-03-09 Booz Allen Hamilton Inc. Method and system for classifying an input data set using multiple data representation source modes
JP7183089B2 (ja) * 2019-03-20 2022-12-05 株式会社東芝 情報処理装置、情報処理システム、情報処理方法、及びプログラム
US11168985B2 (en) * 2019-04-01 2021-11-09 GM Global Technology Operations LLC Vehicle pose determining system and method
US11120526B1 (en) * 2019-04-05 2021-09-14 Snap Inc. Deep feature generative adversarial neural networks
US11062454B1 (en) * 2019-04-16 2021-07-13 Zoox, Inc. Multi-modal sensor data association architecture
US11288534B2 (en) * 2019-05-23 2022-03-29 Samsung Sds Co., Ltd. Apparatus and method for image processing for machine learning
US11080561B2 (en) * 2019-05-30 2021-08-03 Qualcomm Incorporated Training and verification of learning models using high-definition map information and positioning information
US11928557B2 (en) 2019-06-13 2024-03-12 Lyft, Inc. Systems and methods for routing vehicles to capture and evaluate targeted scenarios
KR20200144862A (ko) * 2019-06-19 2020-12-30 삼성전자주식회사 레이더의 해상도 향상 방법 및 장치
DE102019209462A1 (de) * 2019-06-27 2020-12-31 Robert Bosch Gmbh Verfahren zur Bestimmung eines Vertrauens-Wertes eines detektierten Objektes
DE102019209463A1 (de) * 2019-06-27 2020-12-31 Robert Bosch Gmbh Verfahren zur Bestimmung eines Vertrauenswertes eines Objektes einer Klasse
US11574089B2 (en) 2019-06-28 2023-02-07 Zoox, Inc. Synthetic scenario generator based on attributes
JP7323356B2 (ja) * 2019-06-28 2023-08-08 フォルシアクラリオン・エレクトロニクス株式会社 駐車支援装置及び駐車支援方法
US11055540B2 (en) * 2019-06-28 2021-07-06 Baidu Usa Llc Method for determining anchor boxes for training neural network object detection models for autonomous driving
US11449475B2 (en) 2019-06-28 2022-09-20 Lyft, Inc. Approaches for encoding environmental information
US10625748B1 (en) * 2019-06-28 2020-04-21 Lyft, Inc. Approaches for encoding environmental information
US11157007B2 (en) 2019-06-28 2021-10-26 Lyft, Inc. Approaches for encoding environmental information
US11568100B2 (en) 2019-06-28 2023-01-31 Zoox, Inc. Synthetic scenario simulator based on events
US11852750B2 (en) * 2019-06-28 2023-12-26 Smart Radar System, Inc. Method and apparatus for radar signal processing using recurrent neural network
US10699563B1 (en) * 2019-07-12 2020-06-30 GM Global Technology Operations LLC Multi-sensor multi-object tracking
US11859985B2 (en) * 2019-08-21 2024-01-02 Lyft, Inc. Map data validation using knowledge graphs and randomness measures
KR20190104488A (ko) * 2019-08-21 2019-09-10 엘지전자 주식회사 인공 지능을 이용하여, 오브젝트의 이동을 관리하는 인공 지능 로봇 및 그의 동작 방법
US20210065374A1 (en) * 2019-08-26 2021-03-04 Organize Everything Inc. System and method for extracting outlines of physical objects
DE112020004139T5 (de) 2019-08-31 2022-05-12 Nvidia Corporation Erstellung von karten und lokalisierung für anwendungen im bereich des autonomen fahrens
DE102019213867A1 (de) * 2019-09-11 2021-03-11 Zf Friedrichshafen Ag Hinderniserkennung umfassend ein rekurrentes neuronales Netzwerk
GB2590115B (en) * 2019-09-13 2023-12-06 Motional Ad Llc Extended object tracking using radar
US11507830B2 (en) 2019-09-13 2022-11-22 Honda Motor Co., Ltd. System and method for providing object-level driver attention reasoning with a graph convolution network
CN110687530A (zh) * 2019-09-18 2020-01-14 上海广电通信技术有限公司 微型安防雷达监控系统
US11958183B2 (en) 2019-09-19 2024-04-16 The Research Foundation For The State University Of New York Negotiation-based human-robot collaboration via augmented reality
US11788846B2 (en) 2019-09-30 2023-10-17 Lyft, Inc. Mapping and determining scenarios for geographic regions
WO2021067665A2 (en) * 2019-10-03 2021-04-08 Photon-X, Inc. Enhancing artificial intelligence routines using 3d data
JP7418177B2 (ja) * 2019-10-11 2024-01-19 株式会社Subaru 画像処理装置
CN110765929A (zh) * 2019-10-21 2020-02-07 东软睿驰汽车技术(沈阳)有限公司 一种车辆障碍物检测方法及装置
US11816900B2 (en) 2019-10-23 2023-11-14 Lyft, Inc. Approaches for encoding environmental information
US20210127090A1 (en) * 2019-10-28 2021-04-29 Micron Technology, Inc. Distributed neural network processing on an intelligent image sensor stack
US11302028B2 (en) 2019-10-30 2022-04-12 Toyota Research Institute, Inc. Variational 3D object detection
DE102019129463A1 (de) * 2019-10-31 2021-05-06 Bayerische Motoren Werke Aktiengesellschaft Verfahren und Vorrichtung zur Erkennung und Nachverfolgung eines dynamischen Objektes
US11436876B2 (en) * 2019-11-01 2022-09-06 GM Global Technology Operations LLC Systems and methods for diagnosing perception systems of vehicles based on temporal continuity of sensor data
CN110866593B (zh) * 2019-11-05 2022-09-23 西南交通大学 一种基于人工智能的高速公路恶劣天气识别方法
TWI731466B (zh) * 2019-11-07 2021-06-21 財團法人資訊工業策進會 產生一物件偵測模型的計算裝置及方法及物件偵測裝置
US11455813B2 (en) * 2019-11-14 2022-09-27 Nec Corporation Parametric top-view representation of complex road scenes
US11481579B2 (en) 2019-11-14 2022-10-25 Waymo Llc Automatic labeling of objects in sensor data
US11885907B2 (en) * 2019-11-21 2024-01-30 Nvidia Corporation Deep neural network for detecting obstacle instances using radar sensors in autonomous machine applications
US11238314B2 (en) * 2019-11-15 2022-02-01 Salesforce.Com, Inc. Image augmentation and object detection
US11893750B2 (en) 2019-11-15 2024-02-06 Zoox, Inc. Multi-task learning for real-time semantic and/or depth aware instance segmentation and/or three-dimensional object bounding
KR20210061146A (ko) 2019-11-19 2021-05-27 삼성전자주식회사 전자 장치 및 그 제어 방법
WO2021098572A1 (zh) * 2019-11-20 2021-05-27 Oppo广东移动通信有限公司 图像处理方法、装置、设备及计算机可读存储介质
KR20210061839A (ko) 2019-11-20 2021-05-28 삼성전자주식회사 전자 장치 및 그 제어 방법
US11745654B2 (en) * 2019-11-22 2023-09-05 Metawave Corporation Method and apparatus for object alert for rear vehicle sensing
US11807062B2 (en) * 2019-11-25 2023-11-07 Ford Global Technologies, Llc Collaborative relationship between a vehicle and a UAV
DE102019218613B4 (de) * 2019-11-29 2021-11-11 Volkswagen Aktiengesellschaft Objektklassifizierungsverfahren, Objektklassifizierungsschaltung, Kraftfahrzeug
CN113330331A (zh) 2019-12-04 2021-08-31 华为技术有限公司 用于交通场景中收集和自动标记测量数据的装置和方法
US11551344B2 (en) * 2019-12-09 2023-01-10 University Of Central Florida Research Foundation, Inc. Methods of artificial intelligence-assisted infrastructure assessment using mixed reality systems
US11891067B2 (en) * 2019-12-11 2024-02-06 Electronics And Telecommunications Research Institute Vehicle control apparatus and operating method thereof
US10981577B1 (en) * 2019-12-19 2021-04-20 GM Global Technology Operations LLC Diagnosing perception system based on scene continuity
CN113051969A (zh) * 2019-12-26 2021-06-29 深圳市超捷通讯有限公司 物件识别模型训练方法及车载装置
CN111126325B (zh) * 2019-12-30 2023-01-03 哈尔滨工程大学 一种基于视频的智能人员安防识别统计方法
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
US11592828B2 (en) * 2020-01-16 2023-02-28 Nvidia Corporation Using neural networks to perform fault detection in autonomous driving applications
US11594144B2 (en) * 2020-01-31 2023-02-28 Honeywell International Inc. Collision awareness using cameras mounted on a vehicle
US11257230B2 (en) * 2020-02-04 2022-02-22 Nio Usa, Inc. Adaptive feature map anchor pruning
US11006039B1 (en) 2020-02-13 2021-05-11 Mujin, Inc. Method and system for determining occlusion within a camera field of view
US11625041B2 (en) * 2020-02-21 2023-04-11 Zoox, Inc. Combined track confidence and classification model
US11526721B1 (en) * 2020-02-21 2022-12-13 Zoox, Inc. Synthetic scenario generator using distance-biased confidences for sensor data
CN111402335B (zh) * 2020-03-18 2023-07-28 东软睿驰汽车技术(沈阳)有限公司 深度学习模型的评价方法、装置、电子设备及存储介质
CN111339997B (zh) * 2020-03-20 2023-05-09 浙江大华技术股份有限公司 火点区域的确定方法及装置、存储介质和电子装置
WO2021201474A1 (ko) * 2020-03-31 2021-10-07 주식회사 비트센싱 객체를 분류하는 레이더 장치 및 방법
JP7359735B2 (ja) 2020-04-06 2023-10-11 トヨタ自動車株式会社 物体状態識別装置、物体状態識別方法及び物体状態識別用コンピュータプログラムならびに制御装置
DE102020204592A1 (de) * 2020-04-09 2021-10-14 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zur Verarbeitung von Radardaten und Radarsystem
US11734907B2 (en) * 2020-04-24 2023-08-22 Humanising Autonomy Limited Tracking vulnerable road users across image frames using fingerprints obtained from image analysis
US11537819B1 (en) * 2020-04-30 2022-12-27 Zoox, Inc. Learned state covariances
US11675878B1 (en) 2020-04-30 2023-06-13 Everguard, Inc. Auto-labeling method for multimodal safety systems
DE102020205581A1 (de) * 2020-05-04 2021-11-04 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Trainieren eines künstlichen neuronalen Netzes
US11410356B2 (en) 2020-05-14 2022-08-09 Toyota Research Institute, Inc. Systems and methods for representing objects using a six-point bounding box
US11620476B2 (en) * 2020-05-14 2023-04-04 Micron Technology, Inc. Methods and apparatus for performing analytics on image data
US11535257B2 (en) * 2020-05-22 2022-12-27 Robert Bosch Gmbh Lane localization system and method
WO2021237749A1 (en) * 2020-05-29 2021-12-02 Siemens Aktiengesellschaft Method and apparatus for object tracking and reidentification
KR20210152741A (ko) * 2020-06-09 2021-12-16 삼성전자주식회사 첨단 운전자 지원 장치 및 이의 객체를 검출하는 방법
CN111709517B (zh) * 2020-06-12 2022-07-29 武汉中海庭数据技术有限公司 一种基于置信度预测系统的冗余融合定位增强的方法和装置
CN111881739A (zh) * 2020-06-19 2020-11-03 安徽清新互联信息科技有限公司 一种汽车尾灯状态识别方法
WO2021258254A1 (en) * 2020-06-22 2021-12-30 Nvidia Corporation Hybrid solution for stereo imaging
US11398095B2 (en) 2020-06-23 2022-07-26 Toyota Research Institute, Inc. Monocular depth supervision from 3D bounding boxes
WO2021260432A1 (en) * 2020-06-24 2021-12-30 Humanising Autonomy Limited Appearance and movement based model for determining risk of micro mobility users
KR102414307B1 (ko) * 2020-06-29 2022-06-29 (주)뉴빌리티 3d 맵의 변경 구역 업데이트 시스템 및 그 방법
CN111708641B (zh) * 2020-07-14 2024-03-19 腾讯科技(深圳)有限公司 一种内存管理方法、装置、设备及计算机可读存储介质
US20220026917A1 (en) * 2020-07-22 2022-01-27 Motional Ad Llc Monocular 3d object detection from image semantics network
CN111968087B (zh) * 2020-08-13 2023-11-07 中国农业科学院农业信息研究所 一种植物病害区域检测方法
CN112101628B (zh) * 2020-08-18 2022-09-16 浙江中控信息产业股份有限公司 一种大型枢纽场站出租车最优控制组合方案
US11869236B1 (en) 2020-08-24 2024-01-09 Amazon Technologies, Inc. Generating data for training vision-based algorithms to detect airborne objects
KR102497640B1 (ko) * 2020-08-25 2023-02-08 한국과학기술원 이미지의 객체 감지 및 분류 방법 및 시스템
US11403856B2 (en) * 2020-08-26 2022-08-02 Ford Global Technologies, Llc Group object-tracking
KR20220028928A (ko) * 2020-08-31 2022-03-08 삼성전자주식회사 부분 영상 기반의 영상 처리 방법 및 장치
US20220084228A1 (en) * 2020-09-11 2022-03-17 Waymo Llc Estimating ground truth object keypoint labels for sensor readings
DE102020123920B3 (de) 2020-09-15 2021-08-19 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Verfahren und System zum automatischen Labeling von Radardaten
US11731662B2 (en) 2020-10-08 2023-08-22 Ford Global Technologies, Llc Autonomous vehicle system for detecting pedestrian presence
US11361201B2 (en) * 2020-10-08 2022-06-14 Argo AI, LLC Systems and methods for determining an object type and an attribute for an observation based on fused sensor data
US11521394B2 (en) * 2020-10-09 2022-12-06 Motional Ad Llc Ground plane estimation using LiDAR semantic network
WO2022077218A1 (en) * 2020-10-13 2022-04-21 SZ DJI Technology Co., Ltd. Online point cloud processing of lidar and camera data
US20220129758A1 (en) * 2020-10-27 2022-04-28 Raytheon Company Clustering autoencoder
CN112270355B (zh) * 2020-10-28 2023-12-05 长沙理工大学 基于大数据技术与sae-gru的主动安全预测方法
CN112287860B (zh) * 2020-11-03 2022-01-07 北京京东乾石科技有限公司 物体识别模型的训练方法及装置、物体识别方法及系统
KR102380573B1 (ko) * 2020-11-06 2022-03-31 국민대학교산학협력단 종단간 지연을 최소화하기 위한 객체검출 장치 및 방법, 그리고 이를 이용한 첨단 운전자 보조장치
US11947626B2 (en) * 2020-11-10 2024-04-02 Nec Corporation Face recognition from unseen domains via learning of semantic features
US11544508B2 (en) * 2020-11-23 2023-01-03 Nielsen Consumer Llc Methods, systems, articles of manufacture, and apparatus to recalibrate confidences for image classification
CN112446902A (zh) * 2020-11-24 2021-03-05 浙江大华技术股份有限公司 目标车辆异常的确定方法及装置、存储介质、电子装置
CN112308032B (zh) * 2020-11-25 2024-04-05 中国矿业大学 一种视频检测的井下风门智能协同联动控制方法
KR20220072510A (ko) * 2020-11-25 2022-06-02 현대모비스 주식회사 차량의 장애물 인식 장치 및 방법
US11908195B2 (en) * 2020-12-01 2024-02-20 Devon Energy Corporation Systems, methods, and computer program products for object detection and analysis of an image
US20220185324A1 (en) * 2020-12-10 2022-06-16 Motional Ad Llc Merging LiDAR Information and Camera Information
CN112232314A (zh) * 2020-12-11 2021-01-15 智道网联科技(北京)有限公司 一种基于深度学习进行目标检测的车辆控制方法和装置
CN112560691B (zh) * 2020-12-17 2021-11-12 长光卫星技术有限公司 一种基于卫星视频数据的天基目标自动识别方法
US11789466B2 (en) * 2020-12-18 2023-10-17 Microsoft Technology Licensing, Llc Event camera based navigation control
US20210110170A1 (en) * 2020-12-22 2021-04-15 Florian Geissler Validation and training service for dynamic environment perception based on local high confidence information
CN112710988B (zh) * 2020-12-30 2022-06-21 中国人民解放军32212部队 一种坦克装甲车辆声振人工智能探测定位方法
CN113011417B (zh) * 2021-01-08 2023-02-10 湖南大学 基于交并比覆盖率损失与重定位策略的目标匹配方法
US11535271B2 (en) 2021-01-08 2022-12-27 Argo AI, LLC Methods and systems for monitoring vehicle motion with driver safety alerts
CN112839854B (zh) * 2021-01-15 2022-07-22 华为技术有限公司 一种信息处理方法及相关装置
US20220237414A1 (en) * 2021-01-26 2022-07-28 Nvidia Corporation Confidence generation using a neural network
GB2608670A (en) * 2021-01-26 2023-01-11 Nvidia Corp Confidence generation using a neural network
US11733369B2 (en) * 2021-02-11 2023-08-22 Waymo Llc Methods and systems for three dimensional object detection and localization
CN113128338B (zh) * 2021-03-15 2024-02-02 西安理工大学 一种小样本下印刷机滚筒故障的智能诊断方法
DE102021202526A1 (de) * 2021-03-16 2022-09-22 Psa Automobiles Sa Computerimplementiertes Verfahren zum Durchführen einer automatisierten Fahrfunktion, Computerprogrammprodukt, Steuereinheit sowie Kraftfahrzeug
US20220306088A1 (en) * 2021-03-24 2022-09-29 Ford Global Technologies, Llc Enhanced vehicle operation
US11776282B2 (en) * 2021-03-26 2023-10-03 Here Global B.V. Method, apparatus, and system for removing outliers from road lane marking data
CN115605914A (zh) * 2021-04-01 2023-01-13 京东方科技集团股份有限公司(Cn) 对象检测方法、对象检测装置及对象检测系统
EP4080388A1 (en) * 2021-04-19 2022-10-26 Privately SA Multimodal, dynamic, privacy preserving age and attribute estimation and learning methods and systems
US11899750B2 (en) 2021-04-28 2024-02-13 Ford Global Technologies, Llc Quantile neural network
US11734909B2 (en) * 2021-05-04 2023-08-22 Ford Global Technologies, Llc Machine learning
CN112990157B (zh) * 2021-05-13 2021-08-20 南京广捷智能科技有限公司 一种基于fpga的图像目标识别加速系统
DE102021113767A1 (de) 2021-05-27 2022-12-01 Bayerische Motoren Werke Aktiengesellschaft Überwachungseinrichtung und Verfahren zum Überwachen eines Gesamtsystems aus mehreren unterschiedlichen Teilsystemen auf Fehler und Kraftfahrzeug
US20220398404A1 (en) * 2021-06-09 2022-12-15 Veoneer Us, Inc. System and method to detect proper seatbelt usage and distance
WO2022266101A1 (en) * 2021-06-14 2022-12-22 The Johns Hopkins University Systems, methods, and computer programs for using a network of machine learning models to detect an image depicting an object of interest which can be partially occluded by another object
CN113420651B (zh) * 2021-06-22 2023-05-05 四川九洲电器集团有限责任公司 深度卷积神经网络的轻量化方法、系统及目标检测方法
CN113343937B (zh) * 2021-07-15 2022-09-02 北华航天工业学院 一种基于深度卷积和注意力机制的唇语识别方法
TWI793676B (zh) * 2021-07-15 2023-02-21 國立中山大學 應用於類神經網路之填充架構
US11868444B2 (en) 2021-07-20 2024-01-09 International Business Machines Corporation Creating synthetic visual inspection data sets using augmented reality
WO2023009557A1 (en) * 2021-07-30 2023-02-02 Nvidia Corporation Improved inferencing using neural networks
US11532221B1 (en) * 2021-08-05 2022-12-20 Ford Global Technologies, Llc System and method for vehicle security monitoring
WO2023015010A1 (en) * 2021-08-05 2023-02-09 Cyngn, Inc. Modular extensible behavioral decision system for autonomous driving
CN113656630A (zh) * 2021-08-17 2021-11-16 北京百度网讯科技有限公司 检索图像的方法、装置和系统
US11705006B2 (en) 2021-09-02 2023-07-18 Ford Global Technologies, Llc Systems and methods to issue a warning to an object near a vehicle
US20230072966A1 (en) * 2021-09-03 2023-03-09 Argo AI, LLC Systems and methods for providing and using confidence estimations for semantic labeling
EP4191274A1 (en) * 2021-12-03 2023-06-07 Aptiv Technologies Limited Radar-based estimation of the height of an object
US20230186587A1 (en) * 2021-12-14 2023-06-15 Ford Global Technologies, Llc Three-dimensional object detection
US20230192144A1 (en) * 2021-12-16 2023-06-22 Gm Cruise Holdings Llc Uncertainty prediction for a predicted path of an object that avoids infeasible paths
US20230194692A1 (en) * 2021-12-17 2023-06-22 Gm Cruise Holdings Llc Radar tracking association with velocity matching by leveraging kinematics priors
CN114333431A (zh) * 2021-12-29 2022-04-12 中国航空工业集团公司西安飞机设计研究所 一种飞机辅助驾驶方法及其系统
US11659301B1 (en) 2022-03-28 2023-05-23 e-con Systems India Private Limited System and method for integration of real time data with image frame for image stabilization
US20230334673A1 (en) * 2022-04-18 2023-10-19 Tata Consultancy Services Limited Fusion-based object tracker using lidar point cloud and surrounding cameras for autonomous vehicles
CN114858200B (zh) * 2022-04-19 2023-06-27 合众新能源汽车股份有限公司 车辆传感器检测到的对象的质量评价方法及装置
US20230358566A1 (en) * 2022-05-05 2023-11-09 Here Global B.V. Method, apparatus, and computer program product for map geometry generation based on object detection
DE102022111625A1 (de) 2022-05-10 2023-11-16 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Erzeugen von Trainingsdaten für ein lidarbasiertes Erkennen von Fremdfahrzeugen und zum Trainieren eines Detektionsmodells sowie Kraftfahrzeug
US20230386185A1 (en) * 2022-05-30 2023-11-30 Hanwha Techwin Co., Ltd. Statistical model-based false detection removal algorithm from images
US20230410530A1 (en) * 2022-05-30 2023-12-21 Ehsan Taghavi Systems and methods for enhancement of 3d object detection using point cloud semantic segmentation and attentive anchor generation
CN114722975B (zh) * 2022-06-08 2022-08-30 山东大学 基于模糊理论和大数据分析的驾驶意图识别方法及系统
DE102022207093A1 (de) * 2022-07-12 2024-01-18 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Trainieren eines Algorithmus des maschinellen Lernens zum Zuordnen eines Konfidenzwertes zu jedem von mehreren Objektdetektionsergebnissen
KR102624907B1 (ko) * 2022-07-18 2024-01-15 주식회사 브이알크루 3차원 지도를 업데이트하기 위한 방법 및 장치
CN115265723B (zh) * 2022-09-28 2022-12-13 南通有来信息技术有限公司 基于数据处理的涡街流量计异常监测方法及系统
CN115257728B (zh) * 2022-10-08 2022-12-23 杭州速玛科技有限公司 一种用于自动驾驶的盲区风险区检测方法
CN116256721B (zh) * 2023-05-11 2023-07-28 南京隼眼电子科技有限公司 通道场景模式判断方法、系统、电子设备及介质
CN117215316B (zh) * 2023-11-08 2024-02-13 四川大学 基于协同控制与深度学习的驾驶环境感知的方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9349076B1 (en) * 2013-12-20 2016-05-24 Amazon Technologies, Inc. Template-based target object detection in an image
US9373057B1 (en) * 2013-11-01 2016-06-21 Google Inc. Training a neural network to detect objects in images
CN106980871A (zh) * 2016-01-13 2017-07-25 福特全球技术公司 应用到道路场景图像的低保真分类器和高保真分类器

Family Cites Families (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6963661B1 (en) 1999-09-09 2005-11-08 Kabushiki Kaisha Toshiba Obstacle detection system and method therefor
AU2003225228A1 (en) 2002-05-03 2003-11-17 Donnelly Corporation Object detection system for vehicle
US7068815B2 (en) * 2003-06-13 2006-06-27 Sarnoff Corporation Method and apparatus for ground detection and removal in vision systems
US8164628B2 (en) 2006-01-04 2012-04-24 Mobileye Technologies Ltd. Estimating distance to an object using a sequence of images recorded by a monocular camera
KR20080051302A (ko) 2006-12-05 2008-06-11 삼성전자주식회사 사용자 단말장치 및 영상표시장치 그리고 그들의 광원 조정방법
EP1930863B1 (en) 2006-12-06 2011-08-03 Mobileye Technologies Limited Detecting and recognizing traffic signs
EP2674324B1 (en) 2007-04-30 2018-12-26 Mobileye Vision Technologies Ltd. Rear obstruction detection
JP4457136B2 (ja) 2007-09-27 2010-04-28 日立オートモティブシステムズ株式会社 走行制御システム
US8379926B2 (en) 2007-12-13 2013-02-19 Clemson University Vision based real time traffic monitoring
CA2721375C (en) 2008-04-14 2016-11-29 Google Inc. Panning using virtual surfaces
KR101225626B1 (ko) 2010-07-19 2013-01-24 포항공과대학교 산학협력단 차선 인식 시스템 및 방법
US9471988B2 (en) 2011-11-02 2016-10-18 Google Inc. Depth-map generation for an input image using an example approximate depth-map associated with an example similar image
US9225942B2 (en) 2012-10-11 2015-12-29 GM Global Technology Operations LLC Imaging surface modeling for camera modeling and virtual view synthesis
JP6013884B2 (ja) 2012-11-08 2016-10-25 日立オートモティブシステムズ株式会社 物体検出装置及び物体検出方法
US9275308B2 (en) * 2013-05-31 2016-03-01 Google Inc. Object detection using deep neural networks
CN104424466B (zh) * 2013-08-21 2018-05-15 佳能株式会社 对象检测方法、对象检测设备及图像拾取设备
EP2950175B1 (de) 2014-05-27 2021-03-31 dSPACE digital signal processing and control engineering GmbH Verfahren und Vorrichtung zum Testen eines Steuergerätes
US9811756B2 (en) 2015-02-23 2017-11-07 Mitsubishi Electric Research Laboratories, Inc. Method for labeling images of street scenes
US11630800B2 (en) 2015-05-01 2023-04-18 Nvidia Corporation Programmable vision accelerator
WO2016183074A1 (en) 2015-05-10 2016-11-17 Mobileye Vision Technologies Ltd. Road profile along a predicted path
US10282591B2 (en) 2015-08-24 2019-05-07 Qualcomm Incorporated Systems and methods for depth map sampling
GB2543749A (en) 2015-10-21 2017-05-03 Nokia Technologies Oy 3D scene rendering
US9741125B2 (en) 2015-10-28 2017-08-22 Intel Corporation Method and system of background-foreground segmentation for image processing
US10489691B2 (en) * 2016-01-15 2019-11-26 Ford Global Technologies, Llc Fixation generation for machine learning
WO2017132636A1 (en) * 2016-01-29 2017-08-03 Pointivo, Inc. Systems and methods for extracting information about objects from scene information
US10032067B2 (en) * 2016-05-28 2018-07-24 Samsung Electronics Co., Ltd. System and method for a unified architecture multi-task deep learning machine for object recognition
US10078335B2 (en) 2016-06-28 2018-09-18 Toyota Motor Engineering & Manufacturing North America, Inc. Ray tracing for hidden obstacle detection
US10489972B2 (en) 2016-06-28 2019-11-26 Cognata Ltd. Realistic 3D virtual world creation and simulation for training automated driving systems
CN106295678B (zh) * 2016-07-27 2020-03-06 北京旷视科技有限公司 神经网络训练与构建方法和装置以及目标检测方法和装置
US10127670B2 (en) 2016-09-27 2018-11-13 Xactware Solutions, Inc. Computer vision systems and methods for detecting and modeling features of structures in images
US10289469B2 (en) 2016-10-28 2019-05-14 Nvidia Corporation Reliability enhancement utilizing speculative execution systems and methods
US20180136332A1 (en) 2016-11-15 2018-05-17 Wheego Electric Cars, Inc. Method and system to annotate objects and determine distances to objects in an image
US20180158244A1 (en) 2016-12-02 2018-06-07 Ayotle Virtual sensor configuration
CN111542860A (zh) 2016-12-30 2020-08-14 迪普迈普有限公司 用于自主车辆的高清地图的标志和车道创建
US10691847B2 (en) 2017-01-13 2020-06-23 Sap Se Real-time damage determination of an asset
US11288595B2 (en) 2017-02-14 2022-03-29 Groq, Inc. Minimizing memory and processor consumption in creating machine learning models
US10209718B2 (en) * 2017-03-14 2019-02-19 Starsky Robotics, Inc. Vehicle sensor system and method of use
US10248890B2 (en) 2017-04-13 2019-04-02 Facebook, Inc. Panoramic camera systems
US10460180B2 (en) 2017-04-20 2019-10-29 GM Global Technology Operations LLC Systems and methods for visual classification with region proposals
US10328578B2 (en) 2017-04-21 2019-06-25 X Development Llc Methods and systems for detecting, recognizing, and localizing pallets
US10310087B2 (en) 2017-05-31 2019-06-04 Uber Technologies, Inc. Range-view LIDAR-based object detection
US20180349746A1 (en) * 2017-05-31 2018-12-06 Uber Technologies, Inc. Top-View Lidar-Based Object Detection
US11214273B2 (en) 2017-06-23 2022-01-04 Nvidia Corporation Method of using a single controller (ECU) for a fault-tolerant/fail-operational self-driving system
US20180373980A1 (en) 2017-06-27 2018-12-27 drive.ai Inc. Method for training and refining an artificial intelligence
US11188794B2 (en) 2017-08-10 2021-11-30 Intel Corporation Convolutional neural network framework using reverse connections and objectness priors for object detection
US10339669B2 (en) 2017-08-22 2019-07-02 Here Global B.V. Method, apparatus, and system for a vertex-based evaluation of polygon similarity
US10612932B2 (en) 2017-09-29 2020-04-07 Wipro Limited Method and system for correcting a pre-generated navigation path for an autonomous vehicle
US10579897B2 (en) 2017-10-02 2020-03-03 Xnor.ai Inc. Image based object detection
US10997491B2 (en) 2017-10-04 2021-05-04 Huawei Technologies Co., Ltd. Method of prediction of a state of an object in the environment using an action model of a neural network
US20190129831A1 (en) 2017-10-27 2019-05-02 Uber Technologies, Inc. Autonomous Vehicle Simulation Testing Systems and Methods
US11017550B2 (en) * 2017-11-15 2021-05-25 Uatc, Llc End-to-end tracking of objects
US11062461B2 (en) * 2017-11-16 2021-07-13 Zoox, Inc. Pose determination from contact points
US10762396B2 (en) * 2017-12-05 2020-09-01 Utac, Llc Multiple stage image based object detection and recognition
US20190179979A1 (en) 2017-12-13 2019-06-13 Uber Technologies, Inc. Simulated Sensor Testing
JP6761828B2 (ja) 2018-03-05 2020-09-30 日本電信電話株式会社 柱状物体状態検出装置、柱状物体状態検出方法、柱状物体状態検出処理プログラム
US10157331B1 (en) * 2018-03-08 2018-12-18 Capital One Services, Llc Systems and methods for image preprocessing to improve accuracy of object recognition
DE112018007287T5 (de) 2018-03-15 2020-12-10 Harman International Industries, Incorporated Fahrzeugsystem und -verfahren zum erfassen von objekten und einer objektentfernung
US11494937B2 (en) 2018-11-16 2022-11-08 Uatc, Llc Multi-task multi-sensor fusion for three-dimensional object detection
US11030476B2 (en) 2018-11-29 2021-06-08 Element Ai Inc. System and method for detecting and tracking objects
US11635767B2 (en) 2019-02-13 2023-04-25 Semyon Nisenzon System and method of using multi-resolution camera clusters input data for controlling autonomous vehicles

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9373057B1 (en) * 2013-11-01 2016-06-21 Google Inc. Training a neural network to detect objects in images
US9349076B1 (en) * 2013-12-20 2016-05-24 Amazon Technologies, Inc. Template-based target object detection in an image
CN106980871A (zh) * 2016-01-13 2017-07-25 福特全球技术公司 应用到道路场景图像的低保真分类器和高保真分类器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于深度卷积神经网络的道路场景理解;吴宗胜;傅卫平;韩改宁;;计算机工程与应用(第22期);全文 *

Also Published As

Publication number Publication date
US11210537B2 (en) 2021-12-28
CN111133447A (zh) 2020-05-08
US20220101635A1 (en) 2022-03-31
DE112019000049T5 (de) 2020-01-23
US20190258878A1 (en) 2019-08-22
WO2019161300A1 (en) 2019-08-22

Similar Documents

Publication Publication Date Title
CN111133447B (zh) 适于自主驾驶的对象检测和检测置信度的方法和系统
US11941819B2 (en) Object detection using skewed polygons suitable for parking space detection
US11508049B2 (en) Deep neural network processing for sensor blindness detection in autonomous machine applications
US11941873B2 (en) Determining drivable free-space for autonomous vehicles
US11604967B2 (en) Stereo depth estimation using deep neural networks
US11676364B2 (en) Real-time detection of lanes and boundaries by autonomous vehicles
CN113811886B (zh) 自主机器应用中的路口检测和分类
CN113168505B (zh) 用于自主驾驶机器的基于回归的线检测
US11675359B2 (en) Path detection for autonomous machines using deep neural networks
US20210026355A1 (en) Deep neural network for segmentation of road scenes and animate object instances for autonomous driving applications
CN113950702A (zh) 在视频分析应用中使用相关滤波器的多对象跟踪
CN111133448A (zh) 使用安全到达时间控制自动驾驶车辆
CN114155272A (zh) 自主机器应用中的自适应目标跟踪算法
CN116767245A (zh) 使用自主系统和应用的神经网络的地图信息对象数据管理
US20230177839A1 (en) Deep learning based operational domain verification using camera-based inputs for autonomous systems and applications
CN112970029A (zh) 用于自主机器应用中传感器视盲检测的深度神经网络处理
CN116795091A (zh) 自主系统和应用程序的环境重建和路径规划
CN117034024A (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
GR01 Patent grant
GR01 Patent grant