CN115088013A - 用于语义和/或深度感知实例分割的多任务学习 - Google Patents
用于语义和/或深度感知实例分割的多任务学习 Download PDFInfo
- Publication number
- CN115088013A CN115088013A CN202080092199.9A CN202080092199A CN115088013A CN 115088013 A CN115088013 A CN 115088013A CN 202080092199 A CN202080092199 A CN 202080092199A CN 115088013 A CN115088013 A CN 115088013A
- Authority
- CN
- China
- Prior art keywords
- determining
- data
- depth
- roi
- component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000011218 segmentation Effects 0.000 title claims abstract description 195
- 238000010801 machine learning Methods 0.000 claims abstract description 158
- 230000015654 memory Effects 0.000 claims description 28
- 238000012549 training Methods 0.000 abstract description 38
- 238000013528 artificial neural network Methods 0.000 abstract description 14
- 238000000034 method Methods 0.000 description 90
- 230000008447 perception Effects 0.000 description 34
- 230000008569 process Effects 0.000 description 27
- 238000004422 calculation algorithm Methods 0.000 description 19
- 238000010586 diagram Methods 0.000 description 17
- 238000013439 planning Methods 0.000 description 17
- 238000001514 detection method Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 238000011176 pooling Methods 0.000 description 15
- 230000001133 acceleration Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 238000004220 aggregation Methods 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000001953 sensory effect Effects 0.000 description 5
- 230000004931 aggregating effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 230000010339 dilation Effects 0.000 description 4
- 230000007613 environmental effect Effects 0.000 description 3
- 238000009499 grossing Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000010238 partial least squares regression Methods 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000012628 principal component regression Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 206010068829 Overconfidence Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000013488 ordinary least square regression Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/207—Analysis of motion for motion estimation over a hierarchy of resolutions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0011—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement
- G05D1/0038—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots associated with a remote control arrangement by providing the operator with simple or augmented images from one or more cameras located onboard the vehicle, e.g. tele-operation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0238—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0253—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/22—Command input arrangements
- G05D1/221—Remote-control arrangements
- G05D1/222—Remote-control arrangements operated by humans
- G05D1/223—Command input arrangements on the remote controller, e.g. joysticks or touch screens
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/617—Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
- G05D1/622—Obstacle avoidance
- G05D1/628—Obstacle avoidance following the obstacle profile, e.g. a wall or undulated terrain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
- G06T7/251—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/55—Depth or shape recovery from multiple images
- G06T7/579—Depth or shape recovery from multiple images from motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30236—Traffic on road, railway or crossing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30261—Obstacle
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Electromagnetism (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
- Traffic Control Systems (AREA)
Abstract
训练机器学习(ML)架构,以在消费级硬件上以每秒30或更多帧的速率确定三个或更多输出,其可包括使用跨多个组件确定的一个或多个损失和/或在两个或更多个组件的输出之间确定的多个一致性损失来联合训练ML的组件。本文讨论的ML架构可以包括一组或多组神经网络层和/或相应组件,其用于确定二维和/或三维感兴趣区域、语义分割、方向分对数、深度数据和/或与图像中的对象相关联的实例分割。
Description
相关申请
本申请要求于2019年11月15日提交的美国临时申请第62/935,636号与于2019年12月31日提交的美国非临时专利申请第16/732,243号的权利,其全部内容通过引用并入本文。
背景技术
计算机视觉用于许多应用,例如操作自动驾驶车辆、以安全为目的对多个个人进行识别等。计算机视觉技术可以包括构建软件组件,其确定与图像中表示的环境有关的信息,并以计算机可以用来进行进一步多个操作的形式将该信息提供给计算机(例如,追踪检测到的多个对象)。尽管计算机视觉已经取得了进步以提高对象检测的准确性,但许多计算机视觉技术处理图像的时间过长以致无法用于实时应用,并且可能需要使用多个神经网络,如此会用尽存储器空间,使其无法用于各种应用,例如自动驾驶车辆。
附图说明
以下详细描述是参照附图来描述。在以下附图中,附图标记的最左侧的一个或多个数字标识第一次出现该附图标记的附图。在不同附图中的相同的多个附图标记表示相似或相同的多个项目。
图1示出了示例场景,其中自动驾驶车辆使用本文讨论的机器学习(ML)架构来确定一个或多个输出并使用该输出生成轨迹。
图2示出了包括本文讨论的ML架构和训练组件的示例系统的框图。
图3A示出了本文讨论的ML架构的骨干组件的框图。骨干组件可以至少部分地基于图像和骨干组件的多个层的训练来生成多个特征。
图3B示出了与骨干组件的多个层相关联的ML架构的多个感兴趣区域(ROI)组件的框图。ROI组件可以生成与图像中检测到的对象相关联的ROI、与ROI相关联的分类和/或置信度。
图3C示出了与在示例图像中检测到的对象相关联的ROI和分类的示例。
图4A示出了ML架构的附加或替代组件的框图,即聚合组件、语义分割组件、中心票选组件和/或深度组件。
图4B-4D分别示出了由ML架构至少部分地基于示例图像确定的语义分割、方向数据和深度数据的示例。
图5A示出了ML架构的附加或替代组件的框图,即裁剪和/或池化组件和/或实例分割组件。
图5B示出了由ML架构至少部分地基于示例图像确定的实例分割的示例。
图5C示出了ML架构的附加或替代组件的框图,即裁剪和/或池化组件和/或三维ROI组件。
图5D示出了由ML架构至少部分地基于示例图像确定的三维ROI的示例。
图6示出了用于使用本文所讨论的ML架构生成对象检测和/或至少部分地基于对象检测来控制自动驾驶车辆的示例过程的流程图。
图7示出了用于训练本文讨论的ML架构的示例过程的流程图。
具体实施方式
本文讨论的技术可以通过提高对象检测的准确性和/或精度、增加可从单一机器学习(ML)模型获得的有关对象检测的信息量、减少各种计算机视觉伪影(例如,对象检测边界处的踪迹(trail))和/或减少处理时间以使得这些技术可以实时执行,来改善计算机视觉。在一些示例中,本文讨论的ML模型可以在消费级硬件(例如,消费级图形处理单元(GPU))上以每秒30帧或更多帧的速率输出包括本文讨论的四个或更多输出的对象检测。对于许多实时应用(例如,自动驾驶车辆控制、增强现实和/或类似应用),该操作速率是足够的。
本文讨论的ML架构可以接收图像并被训练以输出四个或更多输出,尽管预期了ML架构可以输出更多或更少的输出。在一些示例中,ML架构可以确定对象检测,包括二维感兴趣区域(ROI)、分类、语义分割、方向分对数(logit)、深度数据(例如,深度分组(depth bin)和/或深度残差)和/或与对象相关联的实例分割。附加地或替代地,ML架构可以包括用于输出与对象相关联的三维感兴趣区域的多个组件。在一些示例中,ML架构可以在单一前向传播过程中输出该数据中的任何数据。
本文讨论的技术可以包括联合训练ML架构的多个组件,其可以包括骨干ML模型,该模型包括一组神经网络层和相应组件,其用于确定ROI(例如,二维和/或三维)、语义分割、方向分对数、深度数据和/或实例分割。为简单起见,此处讨论的每个输出都统称为“任务”。例如,ML架构包括:检测组件,其与确定关联于对象的ROI和/或分类的任务相关联;与确定语义分割的任务相关联的另一组件等。
在一些示例中,联合训练ML模型的组件可以包括向ML模型提供训练数据集并接收来自ML模型的多个预测输出。例如,训练数据可以至少包括第一图像,并且预测输出可以包括用于与第一图像相关联的于此描述的每个任务的多个相应输出。联合训练多个组件可以包括基于输出之间的误差和由训练数据指示的相应地面真值(ground truth)信息来确定联合损失,以及至少部分地基于联合损失(例如,使用梯度下降)来修改多个组件。这里讨论的技术可以调整联合损失以强制执行损失的一致性。
例如,强制执行一致性可能包括:确定与任务相关联的不确定性,不确定性表示相应组件对由此生成的输出正确/符合地面真值数据的置信度;以及调整至少部分基于输出和地面真值数据确定的损失。调整可以包括至少部分地基于不确定性来缩放损失。强制执行一致性可以附加地或替代地包括将多个置信度驱使为相似的。例如,ROI组件可以输出二维ROI和与其相关联的置信度,并且语义分割组件可以输出语义分割,该语义分割指示与相同分类相关联的多个图像像素的集合以及与每个像素相关联的多个相应置信度。该技术可以包括确定与语义分割相关联的平均置信度或代表性置信度(例如,使用与语义分割相关的置信度上的总面积表来确定的近似平均值),并且至少部分地基于与语义分割相关联的平均和/或代表性置信度以及与二维ROI相关联的置信度之间的差异来确定一致性损失。当然,任意数量的一致性损失可以用于训练这样的网络。附加示例包括但不限于:将由网络输出的ROI与基于实例分割、语义分割和/或方向数据中的一个或多个确定的边界区域进行比较(例如,确定两者之间的差异);将三维ROI投影到图像帧中,并将所得的投影区域与二维ROI进行比较;确定由ML架构输出的激光雷达数据和深度数据之间的差异;确定激光雷达数据、深度数据和/或与三维ROI相关联的边界区域等之间的差异。
在一些示例中,训练数据中包含的地面真值可为受监督的地面真值数据(例如,人类和/或机器标记的)、半监督(例如,仅标记数据子集)和/或无监督(例如,未提供标签)。在某些情况下,地面真值数据可能是稀疏的,例如当激光雷达数据用作地面真值数据以确定与由本文讨论的ML架构的深度组件生成的深度数据相关联的损失时。这样的数据可能是半监督学习的示例。这些技术通过将相应的传感器测量与由ML架构生成的一组(更密集的)输出数据相关联,来解决这一点并使传感器测量成为地面真值数据的有用来源。
例如,ML架构可以输出与图像的多达每个像素相关联的深度数据,而与图像相关联的激光雷达点的数量可能远少于像素的数量。无论如何,该些技术可以包括至少部分地基于多个激光雷达点将激光雷达点与一组像素(或输出的其他离散部分)、ROI、语义分割、实例分割和/或方向数据(例如,指向对象中心的方向分对数)相关联。与该组像素相关联的激光雷达点将作为该组像素的地面真值数据。
在一些示例中,本文讨论的ML架构可以包括骨干组件,该骨干组件包括生成相应特征的层集合。本文讨论的技术可以包括将这些特征聚合成特征数据结构(例如,密集特征数据图)。例如,将多个特征聚合到特征数据结构中可以包括将多个特征上采样到共同分辨率并确定多个上采样特征的逐元素总和和/或串联。在一些示例中,特征数据结构的聚合/创建可以附加地或替代地包括对求和的多个特征进行卷积以减少通道的数量(例如,使用1x1滤波器例如以完成逐通道池化(pooling)),以对其执行一个或多个空洞卷积(atrousconvolution)(例如,以增加的膨胀率),和/或再次卷积以恢复通道的数量(例如,使用1x1滤波器,例如将特征投影到其他通道中)。
在一些示例中,二维ROI可以直接从骨干层确定的特征生成,而语义分割、方向逻辑、和/或深度数据可以至少部分地基于特征数据结构(求和、串联和/或卷积的数据)来确定。该技术可以包括至少部分地基于以下各项来确定实例分割:裁剪语义分割、方向分对数、和/或至少部分基于二维ROI的深度数据;将裁剪连接在一起;以及根据裁剪和连接的数据来确定实例分割。确定与同一对象相关联的三维ROI可以包括:获取用于生成对象的实例分割的相同裁剪和连接数据,以及将与该对象相关联的图像裁剪和对其的实例分割连接。换言之,可以至少部分地基于语义分割的裁剪、方向分对数、深度数据、原始图像和/或实例分割来生成确定三维ROI。
与一些现有的计算机视觉技术相反地,此处讨论的组件可以是一个网络的一部分,该网络具有专门用于不同任务(例如,ROI生成、语义分割等)的多个子网络。可以联合训练这些组件,这可以包括通过网络前向传播图像和通过此处讨论的每个组件反向传播这里讨论的损失。可以理解
示例场景
图1示出了包括车辆102的示例场景100。在一些情况下,车辆102可以是配置为根据美国国家公路交通安全管理局发布的5级分类操作的自动驾驶车辆,5级分类描述了一种能够在整个行程中执行所有安全关键功能的车辆,其中,驾驶员(或乘员)不被期望在任何时候对车辆进行控制。然而,在其他示例中,车辆102可以是具有任何其他级别或分类的完全或部分自动驾驶车辆。考虑了本文所讨论的技术也可应用于机器人控制以外的领域,例如自动驾驶车辆。例如,本文讨论的技术可以应用于采矿、制造、增强现实等,和/或任何结合计算机视觉的技术。此外,即使车辆102描绘为陆地车辆,车辆102也可以是航天器、船只、采矿车辆等。在一些示例中,车辆102可在模拟中表示为模拟车辆。为简单起见,本文的讨论将不会区分模拟车辆和真实世界车辆。因此,对“车辆”的引用可以引用模拟和/或真实世界的车辆。本文讨论的数据和/或多个传感器可以是真实世界的和/或模拟的。
根据本文讨论的技术,车辆102可以从车辆102的传感器104接收传感器数据。例如,一个或多个传感器104可以包括图像传感器(例如,可见光相机、红外相机)、位置传感器(例如,全球定位系统(GPS)传感器)、惯性传感器(例如,加速度计传感器、陀螺仪传感器等)、磁场传感器(例如,罗盘)、位置/速度/加速度传感器(例如,速度计、驾驶系统传感器)、深度位置传感器(例如,激光雷达传感器、雷达传感器、声纳传感器、飞行时间(ToF)相机、深度相机、超声波和/或声纳传感器和/或其他深度感应传感器)、音频传感器(例如,麦克风)、和/或环境传感器(例如,气压计、湿度计等)。
一个或多个传感器104可以生成传感器数据,该数据可以由与车辆102相关联的计算设备106接收。然而,在其他示例中,一个或多个传感器104和/或一个或多个计算设备106中的一些或全部可以与车辆102分离和/或远离车辆102设置,并且数据采集、处理、命令和/或控制可以通过一个或多个远程计算设备经由有线和/或无线网络向/从车辆102传送。
一个或多个计算设备106可以包括存储器108,其存储感知组件110、规划组件112、机器学习(ML)架构114和/或一个或多个系统控制器116。在一些示例中,感知组件110可包括其他多个感知组件中的主要感知组件,例如可以是碰撞避免组件的一部分的次要感知组件。感知组件110可以包括ML架构114,其可以是流水线的一个或多个ML组件之一。ML架构114可配置为完成各种计算机视觉任务,即,至少部分地基于图像数据来确定车辆周围的环境中是什么。在一些示例中,感知组件110、规划组件112和/或ML架构114可以包括硬件和/或软件的流水线,其可包括一个或多个GPU、ML模型、卡尔曼滤波器、计算机可执行指令等。
通常,感知组件110可以确定车辆102周围的环境中是什么,并且规划组件112可以根据从感知组件110接收的信息确定如何操作车辆102。
在一些示例中,感知组件110可以从一个或多个传感器104接收传感器数据并确定与车辆102附近的对象相关的数据(例如,与检测到的多个对象相关联的分类、一个或多个实例分割、一个或多个语义分割、多个二维和/或三维边界框、多个踪迹)、指定车辆目的地的路线数据、识别道路特性的全球地图数据(例如,在用于定位自动驾驶车辆的不同传感器模态中可检测到的多个特征)、识别在车辆附近检测到的多个特征的本地地图数据(例如,建筑物、树木、围栏、消火栓、停车标志以及在各种传感器模态中可检测到的任何其他特征的位置和/或尺寸)等。由感知组件110确定的多个对象分类可以区分不同的对象类型,例如乘用车、行人、骑自行车的人、送货卡车、半卡车、交通标志等。踪迹可以包括历史的、当前的和/或预测的对象位置、速度、加速度和/或航向。由感知组件110产生的数据可以统称为感知数据。一旦感知组件110已经生成感知数据,感知组件110就可以将感知数据提供给规划组件112。
规划组件112可以使用从感知组件110接收的感知数据和/或从定位组件114接收的定位数据来确定一个或多个轨迹、控制车辆102的运动以穿过路径或路线和/或以其他方式控制车辆102的操作,尽管可以在各种其他组件中执行任何这样的操作(例如,定位可以由定位组件执行,其可以至少部分地基于感知数据)。在一些示例中,规划组件112可以至少部分地基于感知数据和/或其他信息(例如,一个或多个地图、由定位组件生成的定位数据(在该图中未示出)等)确定轨迹118。
例如,规划组件112可以确定车辆102从第一位置到第二位置的路线;基本上同时地并且至少部分地基于感知数据和/或仿真感知数据(其可以进一步包括关于此类数据中的检测到的对象的多个预测),并根据滚动时域技术(receding horizon technique)(例如,1微秒、半秒)生成用于控制车辆102的运动的多个潜在轨迹以控制车辆穿越路线(例如,为了避开任何检测到的对象);并且选择多个潜在轨迹之一作为可用于生成驱动控制信号的车辆102的轨迹118,该驱动控制信号可被传输以驱动车辆102的组件。图1描绘了这样的轨迹118的示例,表示为指示航向、速度和/或加速度的箭头,尽管轨迹本身可以包括用于一个或多个控制器116的指令,其又可以致动车辆102的驾驶系统。轨迹118可包括用于一个或多个控制器116的多个指令以致动车辆102的驾驶组件以实现可导致车辆位置、车辆速度和/或车辆加速度的转向角和/或转向率。例如,轨迹118可以包括目标航向、目标转向角、目标转向率、目标位置、目标速度和/或目标加速度,以供一个或多个控制器116追踪。
在一些示例中,一个或多个控制器116可以包括用于致动足以追踪轨迹118的车辆102的多个驾驶组件的软件和/或硬件。例如,一个或多个控制器116可以包括一个或多个比例-积分-微分(PID)控制器。
在一些示例中,ML架构114可以从传感器104的一个或多个图像传感器接收一个或多个图像,例如图像120。在一些示例中,ML架构114可以从图像传感器接收图像流。图像传感器可配置为以与ML架构114的输出同步或不同步的速率将图像输出到ML架构114和/或其他多个组件。根据此处描述的技术,ML架构114可在消费级硬件上以每秒30帧或更快的速率生成本文讨论的输出,但如果期望,在一些示例中ML架构114可以更慢。
在一些示例中,本文讨论的ML架构114是具有骨干组件和各种子网络的单一网络,前述所有这些都是根据本文的讨论联合训练的,尽管在附加或替代示例中,至少一些网络可被冻结或与一个或多个其他组件分开训练。本文讨论的ML架构114可配置为接收图像并输出与图像中的对象相关联的二维感兴趣区域(ROI)、与图像相关联的语义分割、与图像相关联的方向数据(例如,其可以包括指向对应对象中心的每像素向量)、与图像相关联的深度数据(其可以是深度分组和偏移的形式)、与对象相关联的实例分割和/或三维ROI。前述这些项目中的每一个在本文中可称为不同的任务并且可以与不同的多个相应组件相关联。在至少一个非限制性示例中,ML架构114可以在单一前向传播中生成多个输出。
ROI可以包括边界框、一些其他边界形状和/或掩模(mask)。语义分割可以包括与其相关联的分类的每像素指示(例如,语义标签,例如“行人”、“车辆”、“骑自行车的人”、“超大型车辆”、“拖挂车”、“动物”),尽管语义标签可能与图像和/或多个特征图的任何其他离散部分(例如,区域、像素簇)相关联。方向数据可以包括对象的最近中心的方向的每像素(或每其他离散部分)指示。与图像的离散部分相关联的方向数据的一部分可以被称为方向分对数并且可以包括对象中心在相对于由方向分对数指示的离散部分的方向上的可能性的指示。深度数据可以包括从图像传感器到与图像的一部分相关联的表面的距离的指示,在一些示例中,该指示可以包括深度“分组”和偏移的指示。
例如,图1描绘了输出122,其表示由ML架构114使用图像120在单遍(single pass)中生成的一些输出。输出122包括与在图像120中检测到的对象相关联的三维ROI 124,并且表示深度数据,其中图像数据覆盖在深度数据的相应离散部分上。注意,在图像120中不可见的环境部分在输出中不可见,并且深度数据随着与车辆102距离的增加而变得更加稀疏。此外,请注意,输出122的表示仅包括由ML架构114生成的四个或更多输出中的两个的表示。附加于或替代图像数据、深度数据和/或三维ROI,由规划112组件使用的输出122可以包括二维ROI、方向数据和/或实例分割。
示例系统
图2示出了实现本文讨论的技术的示例系统200的框图。在一些情况下,示例系统200可以包括车辆202,其可以代表图1中的车辆102。在一些情况下,车辆202可以是配置为根据美国国家公路交通安全管理局发布的5级分类操作的自动驾驶车辆,5级分类描述了一种能够在整个行程中执行所有安全关键功能的车辆,其中,驾驶员(或乘员)不被期望在任何时候对车辆进行控制。然而,在其他示例中,车辆202可以是具有任何其他级别或分类的完全或部分自动驾驶车辆。此外,在一些情况下,本文描述的技术也可以由非自动驾驶车辆使用。
车辆202可以包括一个或多个车辆计算设备204、一个或多个传感器206、一个或多个发射器208、一个或多个网络接口210和/或驾驶组件212。一个或多个车辆计算设备204可以代表一个或多个计算设备106并且一个或多个传感器206可以代表一个或多个传感器104。系统200可以附加地或替代地包括一个或多个计算设备214。
在一些情况下,一个或多个传感器206可以代表一个或多个传感器104并且可以包括激光雷达传感器、雷达传感器、超声换能器、声纳传感器、位置传感器(例如,全球定位系统(GPS)、指南针等)、惯性传感器(例如,惯性测量单元(IMU)、加速度计、磁力计、陀螺仪等)、图像传感器(例如,红绿蓝(RGB)、红外(IR)、强度、深度、飞行时间相机等)、麦克风、车轮编码器、环境传感器(例如,温度计、湿度计、光传感器、压力传感器等)等。一个或多个传感器206可以包括这些或其他多个类型的多个传感器中的每一个的多个实例。例如,多个雷达传感器可以包括位于车辆202的角部、前部、后部、侧面和/或顶部的单独的雷达传感器。作为另一示例,多个相机可以包括设置在车辆202的外部和/或内部周围的各个位置处的多个相机。一个或多个传感器206可向一个或多个车辆计算设备204和/或一个或多个计算设备214提供输入。
如上所述,车辆202还可以包括用于发射光和/或声音的一个或多个发射器208。该示例中的一个或多个发射器208可以包括内部音频和一个或多个视频发射器以与车辆202的多名乘客通信。作为示例而非限制,一个或多个内部发射器可以包括扬声器、灯、标志、显示屏、触摸屏、触觉发射器(例如,振动和/或力反馈)、机械致动器(例如,安全带张紧器、座椅定位器、头枕定位器等)等。该示例中的一个或多个发射器208还可以包括一个或多个外部发射器。作为示例而非限制,该示例中的一个或多个外部发射器包括:用于指示行驶方向的多个灯或车辆动作的其他指示器(例如,指示灯、标志、灯阵列等);以及一个或多个音频发射器(例如,扬声器、扬声器阵列、喇叭等),其用于与多位行人或其他附近的多个车辆进行听觉通信,其中的一个或多个包括声束转向技术。
车辆202还可以包括一个或多个网络接口210,其实现车辆202与一个或多个其他本地或远程计算设备之间的通信。例如,一个或多个网络接口210可以促进与车辆202上的一个或多个其他本地计算设备和/或驾驶组件212的通信。此外,网络接口210可以附加地或替代地允许车辆与其他附近的计算设备(例如,其他车辆、交通信号等)通信。一个或多个网络接口210可以附加地或替代地使车辆202能够与一个或多个计算设备214通信。在一些示例中,一个或多个计算设备214可以包括分布式计算系统(例如,云端计算架构)的一个或多个节点。
一个或多个网络接口210可以包括多个物理和/或逻辑接口,其用于将一个或多个车辆计算设备204连接到另一个计算设备或网络,例如一个或多个网络216。例如,一个或多个网络接口210可以实现基于Wi-Fi的通信,例如通过由IEEE200.11标准定义的多个频率、短距离无线频率,例如蜂窝通信(例如,2G、3G、4G、4GLTE、5G等)、或使相应的计算设备能够与其他一个或多个计算设备接合的任何合适的有线或无线通信协议。在一些情况下,一个或多个车辆计算设备204和/或传感器206可以通过一个或多个网络216在经过一段预定的时间后、接近实时地等以特定频率向一个或多个计算设备214发送传感器数据。
在一些情况下,车辆202可以包括一个或多个驾驶组件212。在一些情况下,车辆202可具有单一驾驶组件212。在一些情况下,一个或多个驾驶组件212可包括一个或多个传感器以检测一个或多个驾驶组件212的状况和/或车辆202周围环境。作为示例而非限制,一个或多个驾驶组件212的一个或多个传感器可包括:一个或多个车轮编码器(例如,旋转编码器)以感测驾驶组件的车轮的旋转;惯性传感器(例如,IMU、加速度计、陀螺仪、磁力计等)以测量驾驶组件的朝向和加速度;相机或其他图像传感器;用于对驾驶组件周围的对象进行声学检测的超声波传感器;激光雷达传感器;雷达传感器等。一些传感器(例如,多个车轮编码器)对于一个或多个驾驶组件212来说可能是唯一的。在一些情况下,一个或多个驾驶组件212上的一个或多个传感器可以重叠或补充车辆202的多个对应系统(例如,一个或多个传感器206)。
一个或多个驾驶组件212可包括许多车辆系统,其包括高压电瓶、用于驱动车辆的马达、用于将来自电池的直流电转换成交流电以供其他车辆系统使用的逆变器、包括转向马达和转向齿条(其可以是电动的)的转向系统、包括液压或电动致动器的剎车系统、包括液压和/或气动组件的悬挂系统、用于分配剎车力以减轻牵引力损失并保持控制的稳定性控制系统、HVAC系统、照明(例如,诸如用于照亮车辆外部环境的头灯/尾灯之类的照明)、以及一个或多个其他系统(例如,冷却系统、安全系统、车载充电系统、其他电气组件,例如DC/DC转换器、高压接头、高压电缆、充电系统、充电端口等)。此外,一个或多个驾驶组件212可包括驾驶组件控制器,该驾驶组件控制器可以接收和预处理来自一个或多个传感器的数据并且控制各种车辆系统的操作。在一些示例中,驾驶系统控制器可包括一个或多个处理器和与一个或多个处理器通信耦合的存储器。存储器可以存储一个或多个组件以执行一个或多个驾驶组件212的各种功能。此外,一个或多个驾驶组件212还可以包括一个或多个通信连接,其使得相应驾驶组件能够与一个或多个其他本地或远程计算设备进行通信。
一个或多个车辆计算设备204可以包括处理器218和与一个或多个处理器218通信耦合的存储器220。存储器220可以代表存储器108。一个或多个计算设备214还可以包括一个或多个处理器222和/或存储器224。一个或多个处理器218和/或222可以是能够执行多个指令以处理数据和执行如本文所述的多个操作的任何合适的处理器。作为示例而非限制,一个或多个处理器218和/或222可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)、集成电路(例如,专用集成电路(ASIC))、门阵列(例如,现场可编程门阵列(FPGA))、和/或处理电子数据以将该电子数据转换为可存储在寄存器和/或存储器中的其他电子数据的任何其他设备或设备的一部分。
存储器220和/或224可以是非暂时性计算机可读介质的示例。存储器220和224可以存储操作系统和一个或多个软件应用、指令、程序和/或数据以实现本文描述的方法和归属于各种系统的多种功能。在各种实施方式中,存储器可以使用任何合适的存储器技术来实现,例如静态随机存取存储器(SRAM)、同步动态RAM(SDRAM)、非易失性/闪存型存储器或能够存储信息的任何其他类型的存储器。这里描述的多种架构、系统和单独的元素可包括许多其他逻辑、程序和物理组件,其中附图中所示的那些仅仅是与这里的讨论相关的示例。
在一些情况下,存储器220和/或存储器224可以存储定位组件226、感知组件228、规划组件230、ML架构232、地图234和/或系统控制器236。感知组件228可以代表感知组件110,规划组件230可以代表规划组件112,和/或ML架构232可以代表ML架构114。
在至少一个示例中,定位组件226可以包括用于从一个或多个传感器系统206接收数据以确定车辆202的位置、速度和/或朝向(例如,x-、y-、z-位置、滚动、俯仰或偏航中的一个或多个)的硬件和/或软件。例如,定位组件226可以包括和/或请求/接收环境的一个或多个地图234,并且可以在一个或多个地图234内连续确定自动驾驶车辆的位置、速度和/或朝向。在一些情况下,定位组件220可以利用SLAM(同时定位和映射)、CLAMS(同时校准、定位和映射)、相对SLAM、束调整、非线性最小二乘优化等以接收图像数据、激光雷达数据、雷达数据、IMU数据、GPS数据、车轮编码器数据等以准确确定自动驾驶车辆的位置、姿势和/或速度。在一些情况下,定位组件226可以向车辆202的各个组件提供数据以确定如本文所讨论的用于生成轨迹和/或用于生成地图数据的自动驾驶车辆的初始位置。在一些示例中,定位组件226可以向映射组件232提供车辆202相对于环境的姿势(例如,位置和/或方向)(例如,通过位置和/或相对于一个或多个地图234的朝向)和/或与其相关联的传感器数据。
在一些情况下,感知组件228可以包括以硬件和/或软件实现的预测系统。感知组件228可以:检测车辆202周围环境中的一个或多个对象(例如,识别对象存在)、对对象分类(例如,确定与检测到的对象相关联的对象类型)、对传感器数据和/或环境的其他表示进行分段(例如,将传感器数据的一部分和/或环境表示识别为与检测到的对象和/或对象类型相关联)、确定与对象相关联的多个特性(例如,标识与对象相关联的当前、预测和/或先前位置、航向、速度和/或加速度的踪迹)等。由感知组件228确定的数据被称为感知数据。
规划组件230可以从定位组件226接收车辆202的位置和/或朝向和/或从感知组件228接收感知数据并且可至少部分地基于该数据中的任何数据来确定用于控制车辆202的操作的多个指令。在一些示例中,确定多个指令可以包括至少部分地基于与系统(其与这些指令相关联)相关联的格式来确定多个指令(例如,用于控制自动驾驶车辆运动的第一指令可以格式化为第一格式的多个消息和/或信号(例如,模拟的、数字的、气动的、运动的),一个或多个系统控制器236和/或一个或多个驾驶组件212可以解析/使得所述第一格式的多个消息和/或信号被执行,用于一个或多个发射器208的第二指令可以根据与其相关联的第二格式进行格式化)。
存储器220和/或224可以附加地或替代地存储碰撞避免系统、行驶管理系统等。尽管定位组件226、感知组件228、规划组件230、ML架构232、地图234和/或系统控制器236被示出为存储于存储器220中,这些组件中的任何一个都可能包括处理器可执行的多个指令、ML模型(例如,神经网络)、和/或硬件及任何这些组件的全部或部分可以存储在存储器224上或配置为一个或多个计算设备214的一部分。在一些示例中,在车辆202上运行的映射组件可以收集和/或编码传感器数据(例如,原始传感器数据、传感器数据对齐、感知标记的传感器数据)、姿势数据和/或感知数据以用于传输到一个或多个计算设备214。在车辆和/或一个或多个计算设备214上运行的映射组件可以进行本文讨论的操作以至少部分地基于链路修改来生成地图。
在一些示例中,一个或多个计算设备214(和/或204)可以包括训练组件238。在一些示例中,训练组件可包括组件,其用于生成和/或收集来自一辆或多辆自动驾驶车辆的监督、半监督和/或无监督训练数据,并且训练本文讨论的ML架构114。
ML架构232可以在车辆202和/或一个或多个计算设备214上运行。在一些示例中,ML架构232可在一个或多个传感器206、定位组件226、流水线中的感知组件228的其他多个组件和/或规划组件230的下游(接收来自它们的输出)。
定位组件226、感知组件228、规划组件230、ML架构232、训练组件238和/或系统200的其他组件可以包括一个或多个ML模型。例如,定位组件226、感知组件228、规划组件230、ML架构232和/或训练组件238均可以包括不同的ML模型流水线。在一些示例中,ML模型可以包括神经网络。示例性神经网络是一种受生物学启发的算法,它通过一系列连接层传递输入数据以产生输出。神经网络中的每一层也可以包括另一个神经网络,或者可以包括任意数量的层(无论是否卷积)。如在本公开的上下文中可以理解的,神经网络可以利用机器学习,机器学习是指这样的多种算法的大类,其中基于学习的多个参数生成输出。
尽管在神经网络的上下文中进行了讨论,但仍可使用与本公开一致的任何类型的机器学习。例如,多个机器学习算法可以包括但不限于回归算法(例如,普通最小二乘回归(OLSR)、线性回归、逻辑回归、逐步回归、多元自适应回归样条(MARS)、局部估计散点图平滑(LOESS))、基于实例的算法(例如,岭回归、最小绝对收缩和选择运算符(LASSO)、弹性网络、最小角度回归(LARS))、决策树算法(例如,分类和回归树(CART)、迭代二分法3(ID3)、卡方自动交互检测(CHAID)、决策树桩、条件决策树)、贝叶斯算法(例如,朴素贝叶斯、高斯朴素贝叶斯、多项朴素贝叶斯、平均单依赖估计量(AODE)、贝叶斯信念网络(BNN)、贝叶斯网络)、聚类算法(例如,k-平均值、k-中位数、期望最大化(EM)、层次聚类)、关联规则学习算法(例如,感知器、反向传播、霍普菲尔德网络、径向基函数网络(RBFN))、深度学习算法(例如,深度玻尔兹曼机(DBM)、深度信念网络(DBN)、卷积神经网络(CNN)、堆栈自动编码器)、降维度算法(例如,主成分分析(PCA)、主成分回归(PCR)、偏最小二乘回归(PLSR)、萨蒙映射、多维度缩放(MDS)、投影追踪、线性判别分析(LDA)、混合判别分析(MDA)、二次判别分析(QDA)、灵活判别分析(FDA))、集成算法(例如,提升、引导聚合(Bagging)、AdaBoost、堆栈泛化(混合)、梯度提升机(GBM)、梯度增强回归树(GBRT),随机森林)、SVM(支持向量机)、监督学习、无监督学习、半监督学习等。架构的附加示例包括神经网络,例如ResNet-50、ResNet-101、VGG、DenseNet、PointNet等。
存储器220可以附加地或替代地存储一个或多个系统控制器236,其可配置为控制车辆202的转向、推进、剎车、安全、发射器、通信和其他系统。这些一个或多个系统控制器236可与一个或多个驾驶组件212和/或车辆202的其他组件的对应系统进行通信和/或控制对应系统。一个或多个系统控制器236可以至少部分地基于从规划组件230接收的多个指令来控制车辆202的操作。
应注意,虽然图2被示出为一种分布式系统,但在替代示例中,车辆202的组件可与一个或多个计算设备214相关联,并且/或者一个或多个计算设备214的多个组件可以与车辆202相关联。也就是说,车辆202可执行与一个或多个计算设备214相关联的一个或多个功能,反之亦然。
示例ML架构和相关联任务输出
图3A示出了示例ML架构300的一部分的框图,其可以表示ML架构232和/或ML架构114。ML架构300可以包括骨干组件302。骨干组件可以包括一层或多层,例如层304,其可包括卷积层/滤波器、ReLU函数、批量归一化、子采样函数(例如,最大池(maxpool)、平均池、L2-范数)、损失函数/反馈(至少在训练期间)等。在一些示例中,示例ML模型200可以包括神经网络,例如卷积网络。尽管在神经网络的上下文中进行了讨论,但是可以使用与本公开一致的任何类型的机器学习。例如,机器学习算法可以包括但不限于回归算法、基于实例的算法、贝叶斯算法、关联规则学习算法、深度学习算法等。在至少一个非限制性示例中,骨干组件302可以包括RetinaNet、VGG、ResNet网络(例如,ResNet50、ResNet101)等。
在一些示例中,骨干组件302的每一层可以输出多个特征,例如特征306-310。应理解,尽管示出了三个特征,但特征的数量可以至少部分地取决于骨干组件302的层数。在该示例中,骨干组件302具有三层,尽管应该理解骨干组件302可以具有更少层或更多层。在一些示例中,多个特征之一(例如,特征306)可以包括由一层输出的特征图。特征306可以不以对于人类有意义的术语来描述,因为层的多个函数可以包括输出,该输出可以是对其输入的计算机和/或神经网络变换。因此,函数可以包括由骨干组件302的相应组件的层生成的值的高维字段(例如,其值表示数据的内在属性的多个向量和/或张量,其是基于产生一个或多个向量和/或一个或多个张量的层的多个学习参数来确定的)。
在一些示例中,骨干组件302可以接收图像120并通过骨干组件302的一层或多层前向传播图像120到确定的多个特征306-310。在一些示例中,特征306-310可以具有不同的分辨率和/或尺寸,这取决于骨干组件302的层的功能。例如,与多个特征306-310相比,特征306可以具有最小尺寸并且特征310可以具有最大尺寸。例如,与前一层相比,第一层可以对图像进行下采样。在一些示例中,骨干的一层可以包括滤波器/内核,其具有一个或多个权重或与其相关联的偏差值(这取决于滤波器/内核的尺寸),和/或具有与其相关联的一个或多个超参数。例如,多个超参数可以包括滤波器的维度(例如,它可以确定与滤波器相关联的权重的数量——例如,3x3的滤波器可以包括多达例如9个权重)、步幅、填充、填充值(例如,零填充、一个填充)、膨胀率等。
图3B示出了ML架构300的一个或多个ROI组件312-316的框图。在一些示例中,一个或多个ROI组件312-316均可以从骨干组件302的不同层接收多个特征。例如,ROI组件312可以从骨干组件的层304接收特征306。
可以训练一个或多个ROI组件312-316中的每一个以确定与对象相关联的ROI和/或分类。一个或多个ROI组件312-316可以包括相同的ML模型结构,例如YOLO结构,和/或相同的多个超参数,尽管在附加或替代示例中,它们可以包括一个或多个不同的结构和/或多个超参数。结构可以定义组件的子组件之间的顺序、类型和/或连接性(例如,第一卷积层接收原始传感器数据,从中生成输出,并将输出提供给第一最大池函数,该函数将输出提供给第二卷积层,依此类推)。与组件关联的多个超参数可以定义结构的属性,例如,卷积层内滤波器的数量和/或维度和/或空间范围、步幅、填充量、填充值(例如,零填充、部分填充)、输入大小(例如,张量,其具有维度W1xH1xD1或任何其他数量的维度)和/或类型(例如,原始传感器数据、从示例ML模型200的先前组件接收的张量)、与组件相关联的输出大小和/或类型(例如,具有维度W1xH1xD1或W2xH2xD2的张量)等。与超参数形成对比,参数可以包括在训练期间被修改的任何参数,例如与层或其组件(例如,滤波器)相关联的权重和/或偏差。由不同的一个或多个ROI组件312-316生成的多个不同ROI可以是至少部分基于多个特征306-310的分辨率的差异的不同大小。在一些示例中,可以收集由一个或多个ROI组件312-316生成的ROI,可以丢弃冗余ROI,并且将得到的多个ROI转发到ML架构300的下一部分。
以ROI组件312为例,ROI组件312可以至少部分地基于特征306来生成ROI 318和/或分类320(图中缩写为“类”)。在一些示例中,生成ROI 318可以包括确定边界形状的中心和/或范围(例如,尺寸),这可以至少部分地基于与分类320相关联的锚(anchor)。分类320可以包括与ROI 318和/或ROI318所基于的锚相关联的语义分类。在一些示例中,每个分类可以与一个或多个锚相关联,并且由感兴趣区域312输出的ROI 318可以是与来自多个ROI和置信度之中的最高置信度相关联的ROI 318。例如,针对与图像中表示的对象的关联,ROI组件312可以(例如,使用非最大抑制(NMS)算法)从由ROI组件312至少部分地基于特征306和/或特征306本身生成的第一特征图中的多个ROI之中选择第一ROI,并确定是否关联第一ROI图像。在一些示例中,ROI组件312可以输出与ROI 318相关联的置信度。
在一些示例中,ROI组件可以包括两个子网络——一个用于确定每个锚的分类,并且一个用于相对于每个锚回归ROI大小。如本文所使用的,二维ROI可以包括边界框(或其他形状)、分类和/或置信度。
图3C描绘了与从图像120检测到的车辆相关联的ROI和分类322的示例。在所描绘的示例中,ROI包括边界矩形,尽管取决于锚的形状,ROI可以附加地或替代地为任何其他类型的掩模或边界形状。
转到图4A,其示出了ML架构300的附加或替代组件的框图。例如,ML架构300可以包括聚合组件400、语义分割组件402、中心票选组件(center voting component)404和/或深度组件406。在一些示例中,一个或多个ROI组件312-316、语义分割组件402、中心票选组件404和/或深度组件406可以至少部分地基于本文描述的联合学习技术来共同学习。由骨干组件302生成的多个特征(例如,306-310)可以在聚合组件400处接收。
聚合组件400可以对特征进行上采样,使得它们具有共同的分辨率(例如,图像120的第1/8比例,或任何其他共同比例),并确定多个上采样的特征的逐元素总和。在一些示例中,上采样阶段可以包括卷积(例如,使用可以包括学习参数的3x3滤波器,尽管考虑了其他滤波器大小)、批量归一化、ReLU和2x双线性上采样。取决于一组特征的分辨率,该组特征可以通过一个或多个上采样阶段以达到共同分辨率。在附加的或替代的示例中,特征可以通过空洞卷积集合,其可以包括多个学习参数。上述不包括空洞卷积的上采样可以实现足够语义上有意义的高分辨率特征图,并且与使用空洞卷积相比可以减少计算和存储器使用。在一些示例中,一旦特征已经被上采样到一个共同的比例,这些特征可以加在一起作为一个密集的特征图。
该技术可以附加地或替代地包括密集的逐像素编码器,该编码器可以:通过减少上采样和求和特征的通道数(例如,使用1x1卷积来执行逐通道池)来增加感受场和/或进一步解析密集特征图中的一个或多个边缘;执行一个或多个空洞卷积(例如,以增加的膨胀率,例如以2、4和8的膨胀率进行三个卷积,尽管可以使用任何其他数量的卷积或膨胀率);以及通过应用1x1卷积来恢复通道数,其中任何卷积都可能包含多个不同的学习参数。这些操作的结果是特征数据结构408,其可以为密集特征图。这种技术可以实时使用并保留特征的分辨率,同时增加ML模型的感受场。
在一些示例中,特征数据结构408可以由语义分割组件402、中心票选组件404和/或深度组件406使用。这种共享数据使用可能会减少计算和/或存储器使用。在一些示例中,语义分割组件402、中心票选组件404和/或深度组件406均可以包括用于将特征数据结构408投影到本文所讨论的任务特定输出中的滤波器。
语义分割组件402可以确定图像120的语义分割410和/或与其相关联的一个或多个置信度412。例如,语义分割可以包括与图像120的离散部分相关联的语义标签(例如,每像素分类标签)和/或指示分类正确的可能性的置信度。例如,图4B描绘了与图像120的一部分相关联的示例语义分割414。在一些示例中,语义分割组件402可以包括1x1卷积、4x双线性上采样和/或softmax层以生成语义分割410和/或一个或多个置信度412(例如,将特征数据结构408投影到语义分割和/或一个或多个置信空间中)。示例语义分割414描绘了与分类“车辆”相关联的多个离散部分(例如,像素)和与分类“地面”相关联的多个其他离散部分。在一些示例中,置信度可以由分对数指示。
中心票选组件404可以至少部分地基于特征数据结构408来确定方向数据416,方向数据包括与图像120的离散部分相关联的方向和/或置信度。在一些示例中,置信度可以由分对数指示,但也考虑了其他示例,例如概率。该方向可指示从离散部分到最近对象中心的方向。图4C描绘了示例方向数据418,其包括与图像120的一部分的相应离散部分相关联的非常有限数量的方向分对数。请注意多条灰色线并不会出现在方向数据中,并且仅用于视觉上的参考而出现。
深度组件406可以确定与图像120的离散部分相关联的深度分组420和/或深度残差422。在一些示例中,深度分组可以包括距图像传感器和/或分组的中心(和/或任何其他中点)的距离范围。在一些示例中,确定深度分组420可以为分类任务,而确定深度残差可以为回归任务。在一些示例中,深度残差可以至少部分地基于深度分组。深度残差可以包括与关联于深度分组的参考点的偏移,例如深度分组的中心或深度分组的一端。图4D描绘了由深度组件406与图像120相关联地确定的示例深度数据424。在一些示例中,深度组件406可以将输出深度分组420的中心与残差422相加作为最终深度。
在进一步说明的非限制性示例中,深度组件406可以将深度间隔[α,β]量化(离散化)成K个不重叠的离散深度分组。在一些示例中,量化可以在对数空间、逆深度空间或线性空间中进行,尽管本文针对对数空间进行了讨论。在对数空间中设置深度分组可能会在具有多个大深度值的区域中降低训练多个损失的权重,这可能更不准确,因为图像通常包含较少关于远处对象的信息(例如,参见输出122)。在至少一个非限制性示例中,分组的边缘可以根据以下定义:
其中,ti∈{ti,...,tK-1}是K个边,ti+1是分组的另一端的对应边。如果一个像素的地面真值深度是gd,则其可被指派分组索引i=ε{0,...,K-1}(当且仅当gdε[ti,ti+1)时)。在一些示例中,回归可以至少部分地基于中点。对数空间中第i个分组的中点可以定义为:
对于落在分组i中的地面真值深度gd,地面真值残差rd可以计算为:
在推理时,深度组件406可以对特征数据结构408应用卷积(例如,使用可以包括学习参数的1x1滤波器,但也考虑了其他滤波器大小)以产生与以下可能性相对应的每个像素的K个softmax分对数l0,...,lK-1:该像素处的深度落在对应的深度分组中(例如,对于分对数li,[ti,ti+1))。在一些示例中,深度组件406可以进行并行计算以产生残差。例如,深度分量406可以对特征数据结构408进行卷积(例如,使用可以包括学习参数的1x1滤波器,尽管也考虑了其他滤波器大小),产生每像素K个预测残差r0,…,rK-1。在一些示例中,深度组件406可以不对预测残差值施加限制,尽管在其他示例中,深度组件406可以限制预测残差,例如将预测的残差限制为分组宽度的一半等。
在使用对数空间的示例中,确定特定像素和特定分组i的深度值可以包括评估以下等式:
di=exp(mi+ri(log(ti+1)-log(ti))) (4)
在一些情况下,为了从分组之中选择深度以与像素相关联,深度组件406可以选择具有最大分对数的深度。深度组件406可以附加地或替代地至少部分地基于与局部邻域中的分对数相关联的深度值来平滑该深度。例如,平滑可以至少部分地基于从局部邻域中的分对数确定的概率分布。例如,局部邻域可以定义为尽管可以更广泛地定义邻域,并且可以将平滑定义为:
在一些示例中,本文讨论的深度分量406操作可以减少“踪迹”伪影。这可能是因为选择具有最高分对数的深度分组允许在每个像素处选择潜在多模态深度分布的单一模式。因此,该些像素可以隐含地被指派背景深度或对象深度。
转到图5A,图5A示出了ML架构300的附加或替代组件的框图,即裁剪和/或池化组件500和/或实例分割组件502。在一些示例中,裁剪和/或池化组件500可以接收ROI(在D处)并确定语义分割410的部分(例如,裁剪和/或池化)、方向数据416、和/或与ROI相关联的深度数据420和/或422。裁剪和/或池化组件500可以对不在共同分辨率中的任何结果部分进行上采样并将这些部分连接在一起(在504)。在一些示例中,裁剪和/或池化组件500可以至少部分地基于总和区域表来确定与语义分割410的裁剪相关联的置信度。在一些示例中,将总和面积表应用于语义分割410的裁剪可以确定代表性置信度,代表性置信度指示与语义分割410的裁剪相关联的置信度的平均置信度的近似值。在附加或替代示例中,裁剪和/或池化组件500可以确定与语义分割410的裁剪相关联的平均置信度。在一些示例中,可以在训练和/或推理期间使用代表性或平均置信度。
在一些示例中,实例分割组件502可以至少部分地基于语义分割410的裁剪部分、方向数据416和/或深度数据420和/或422来生成实例分割506。在一些示例中,实例分割组件502可以(例如,使用可以包括学习参数的1x1滤波器)对语义分割410、方向数据416和/或深度数据420和/或422进行卷积来确定对是否检测到对象的二进制指示。例如,图5B示出了示例实例分割508。与在指示对象边界形状的ROI或对象的分类之间区分的语义分割不同,实例分割508可以包括检测到或未检测到对象的二进制指示。
在第一非限制性示例中,实例分割组件502可以至少部分地基于语义分割数据410和方向数据416来确定实例分割506。例如,实例分割组件502可以从语义分割中选择与分类相关联的通道(例如,行人通道),并且至少部分地基于行人通道中的ROI输出来裁剪区域。实例分割组件502可以从方向通道收集(例如,池化)区域方向分对数并且使用裁剪的语义分割分对数连同池化的方向分对数来进行前景/背景分割。在第二非限制性附加或替代示例中,实例分割组件502可以至少部分地基于在第一非限制性示例中描述的操作中用深度数据420和/或422替换语义分割410来确定实例分割506。在第三非限制性示例中,实例分割组件502可以至少部分地基于语义分割数据410、方向数据416和深度数据420和/或422来确定实例分割506。在这样的示例中,其每个被裁剪(和/或池化)的部分可以通过串联和卷积(例如,使用可以包括学习参数的1x1滤波器)来进行。
图5C示出了ML架构300的附加或替代组件的框图,即裁剪和/或池化组件510和/或三维ROI组件512。裁剪和/或池化组件510可以是与裁剪和/或池化组件500相同或不同的组件,其中任何一个可以分别是实例分割502和/或三维ROI组件512的一部分。在一些示例中,可以将针对实例分割由裁剪和/或池化组件500裁剪和/或池化的数据与实例分割502和图像120一起提供给裁剪和/或池化组件510。用于在裁剪和/或池化组件500处裁剪和/或池化数据的相同ROI可用于裁剪图像120和/或实例分割506,其中的每一个或任一个可以被上采样和/或连接(在514)到在504被上采样和连接的语义分割数据410、方向数据416和深度数据420和/或422的部分。
三维ROI组件512可以包括一个或多个卷积层,其可以包括包含多个学习参数的滤波器。三维ROI组件512可以至少部分地基于裁剪的、合并的、上采样的和/或串联的图像、实例分割、语义分割数据410、方向数据416和/或深度数据420和/或422来生成三维ROI 516。
图5D示出了由三维ROI组件512确定的三维ROI 518的示例。所示示例中的三维ROI518是三维边界框。在一些示例中,三维边界框可以包括与由此识别的对象相关联的位置、朝向、姿势(例如,朝向)和/或大小(例如,长度、宽度、高度等)。
示例过程
图6示出了示例过程600的流程图,该示例过程600用于使用本文讨论的ML架构来生成对象检测和/或至少部分地基于对象检测来控制自动驾驶车辆。在一些示例中,示例过程600可以由感知组件228和/或ML架构300执行。
在操作602,示例过程600可以包括根据本文讨论的任何技术来接收图像数据。图像数据可以输入到本文讨论的ML架构。
在操作604,示例过程600可以包括根据本文讨论的任何技术由ML架构确定对象检测。在一些示例中,对象检测可以包括ROI、分类、语义分割、深度数据、实例分割和/或三维ROI。确定对象检测可以包括由ML架构的不同部分完成的本文讨论的一个或多个操作(例如,多个操作606-622中的至少一个),其可以包括多个组件的流水线。
在操作606,示例过程600可以包括根据这里讨论的任何技术,由骨干组件至少部分地基于图像数据来确定一组特征。该组特征可以是一个或多个特征图(例如,以多个不同的分辨率),其中特征图的特征可以包括与图像数据的一部分相关联的值。例如,骨干组件可以包括RetinaNet、VGG、ResNet网络(例如,ResNet50、ResNet101)等,并且该组特征可以是一个或多个特征图,每个特征图可以由骨干组件的不同层输出。
在操作608,示例过程600可以包括根据本文讨论的任何技术将该组特征聚合成特征数据结构。例如,该组特征可以包括多个不同分辨率的一个或多个特征图。聚合该组特征可以包括将一个或多个特征图缩放成公共分辨率以及将缩放的特征图逐元素地求和至特征数据结构中。作为逐元素求和的补充或替代,该技术可以包括密集的逐像素编码,包括:对逐元素求和的多个特征图进行下采样(例如,使用1x1卷积到逐通道池);使用增加的膨胀率来确定一个或多个空洞卷积;和/或对结果特征图进行上采样。在一些示例中,将得到的特征数据结构图提供给ML架构的一个或多个组件。例如,可以将特征数据结构作为输入提供给ROI组件、语义分割组件、中心票选组件、实例分割组件和/或三维ROI组件。
在操作610,示例过程600可以包括根据本文讨论的任何技术至少部分地基于由骨干组件确定的该组特征来确定ROI。在一些示例中,ROI组件可以生成与ROI指示为检测到的对象占据的图像的区域相关联的二维ROI、分类和/或置信度分数。在一些示例中,ROI组件可以与骨干组件的每一层相关联并且可以生成与不同尺寸/分辨率相关联的ROI。例如,第一个ROI组件可以检测到多个小对象,第二ROI组件可以检测到多个较大的对象,等等。然而,其他技术也被考虑了。
在操作612,示例过程600可以包括根据本文讨论的任何技术至少部分地基于特征数据结构来确定语义分割。在一些示例中,语义分割可以将图像的区域识别为与分类(例如,自行车、行人、车辆)相关联。ML架构的语义分割部分可以完成操作612,其可以附加地或替代地包括与语义分割的离散部分(例如,像素)相关联地确定置信度。在一些示例中,语义分割部分可以包括输出头,该输出头包括1x1卷积、4x双线性上采样和softmax层,从而以原始图像分辨率生成每像素分类,但也考虑了其他多种配置。请注意,1x1卷积可以包括根据本文讨论的技术训练的多个学习参数,并且1x1卷积可以替代地是另一个大小的滤波器。
在操作614,示例过程600可以包括根据本文讨论的任何技术至少部分地基于特征数据结构来确定方向数据。ML架构的中心票选部分可以至少部分地基于特征数据结构来生成方向数据。
在操作616,示例过程600可以包括根据本文讨论的任何技术至少部分地基于特征数据结构来确定深度数据。在一些示例中,ML架构的深度部分可以将1x1卷积应用于特征数据结构,以产生每像素的K个softmax分对数,其对应于该像素处的深度落入该分对数的对应深度分组的可能性。请注意,1x1卷积可以包括根据本文讨论的技术训练的多个学习参数,并且1x1卷积可以替代地是另一个大小的滤波器。深度部分可以对特征数据结构应用附加的或替代的1x1卷积以预测每像素的残差。请注意,1x1卷积可以包括根据本文讨论的技术训练的学习参数,并且1x1卷积可以替代地是另一个大小的滤波器。深度部分可以对特征数据结构应用附加的或替代的1x1卷积以预测每像素的残差。注意,1x1卷积可以包括根据本文讨论的技术训练的学习参数,并且1x1卷积可以替代地是另一个大小的滤波器。对于对数空间估计,可以根据上方的等式(4)来预测深度。在一些示例中,可以选择与最大可能性相关联的深度分组用于与像素相关联和/或可以至少部分地基于由像素周围的区域中的像素指示的深度来平滑由该深度分组指示的深度。
在操作618,示例过程600可以包括根据本文讨论的任何技术至少部分地基于ROI、语义分割、方向数据和/或深度数据来确定实例分割。在一些示例中,ROI可以用于裁剪语义分割、方向数据和/或深度数据。根据实施方式,可以至少部分地基于以下各项来确定实例分割:第一示例中的(裁剪的)语义数据和方向数据、第二示例中的(裁剪的)深度数据和方向数据、和/或第三示例中的(裁剪的)深度数据、语义数据和方向数据,尽管考虑了任何其他组合。根据第三示例,可以使用1x1卷积将预测类的语义分割分对数、方向分对数和与ROI相关联的深度分对数连接起来以估计实例掩模。请注意,1x1卷积可以包括根据本文讨论的技术训练的多个学习参数,并且1x1卷积可以替代地是任何其他大小的滤波器。
在操作620,示例过程600可以包括根据本文讨论的任何技术确定三维ROI。例如,确定三维ROI可以至少部分地基于与ROI相关联的语义分割、深度数据、方向数据和实例分割。
在操作622,示例过程600可以包括根据本文讨论的任何技术至少部分地基于对象检测来控制自动驾驶车辆。例如,自动驾驶车辆可以至少部分地基于ROI、语义分割、深度数据、实例分割和/或三维ROI来确定用于控制自动驾驶车辆的运动或其他操作的轨迹或其他命令。
图7示出了用于训练本文讨论的ML架构的示例过程700的流程图。在一些示例中,示例过程700可以由感知组件228、ML架构300和/或训练组件238执行。
在操作702,示例过程700可以包括根据本文讨论的任何技术接收训练数据。例如,训练数据可以包括图像704和与其相关联的地面真值706。在某些示例中,地面真值可能不是对于由ML架构完成的每种类型的任务都可用。例如,可用作训练数据的图像之前可能已标记有地面真值ROI和地面真值语义分类,但没有标记有地面真值实例分割、深度数据、方向数据和/或三维ROI。
在这样的示例中,训练数据可以包括多个批次,其中每个批次与不同的地面真值相关联。例如,训练数据的第一批次708(1)可以包括与ROI地面真值数据相关联的图像,第二批次708(2)可以包括与深度地面真值数据(例如,激光雷达数据)相关联的图像,和/或第n批次708(n)可以包括与语义分割地面真值数据相关联的图像。
在一些示例中,训练数据中包括的地面真值可以是受监督的地面真值数据(例如,人类和/或机器标记的)、半监督的(例如,只有数据的子集被标记)和/或无监督的(例如,没有提供标签)。在某些情况下,地面真值数据可能是稀疏的,例如当激光雷达数据用作地面真值数据以确定与由本文讨论的ML架构的深度组件生成的深度数据相关联的损失时。这样的数据可能是半监督学习的示例。通过将相应的传感器测量与由ML架构生成的一组(更密集的)输出数据相关联,这些技术可以弥补这一点,并使传感器测量成为地面数据的有用来源。参见于2019年11月14日提交的美国专利申请第16/684,554号,其全部内容并入本文;以及于2019年11月14日提交的美国专利申请第16/684,568号,其全部内容并入本文。
在操作710中,示例过程700可以包括根据本文讨论的任何技术至少部分地基于训练数据来联合训练ML架构的一个或多个组件。
在操作712,示例过程700可以包括根据本文讨论的任何技术将ML架构传输到一个或多个自动驾驶车辆。
联合训练ML架构一个或多个组件(操作710)可以进一步包括本文讨论的多个子操作。联合训练一个或多个组件可以包括:确定基于每个组件的输出的联合损失,并通过整个ML架构反向传播联合损失,使得改变多个不同组件的多个参数以最小化联合损失。附加地或替代地,联合训练可以包括在构成联合损失的损失之间强制执行一致性。
在操作708,联合训练ML架构可以包括至少部分地基于训练数据从ML架构接收输出。接收来自ML架构的输出可以至少部分地基于将图像作为输入提供给ML架构并且接收的输出可以至少部分地基于操作604。在一些示例中,接收来自ML架构的输出可以包括接收ROI、分类、语义分割、方向数据、深度数据、实例分割和/或三维ROI,其中的每一个都可以称为ML架构的不同部分的相应输出。可为训练数据的每个图像704接收这样的输出。例如,响应于将图像704提供给ML架构而从ML架构接收的输出714可以是包括与批次相关联的维度和/或其他部分的高维度数据结构(例如,部分716可以与批次708(H)相关联)并且特定组件的输出可能与该数据结构的另一部分相关联(例如,部分718可以是与跨所有批次的语义分割任务相关联的输出714的部分)。
在操作720,示例操作710可以包括确定输出710的与对于特定任务可用的地面真值相对应的子组合。例如,操作720可以包括确定输出714的子组合722对于生成语义分割损失是合格的。例如,这可以包括:确定输出714的子组合,该子组合是至少部分地基于语义分割地面真值可用的图像(即,在所示示例中,批次708(n),其对应于部分716)而生成的;以及确定指示语义分割的输出的维度(即,部分718)。在一些示例中,当地面真值对于每图像的每个任务类型都不可用时,可以使用操作720。换句话说,每个图像不与以下地面真值数据相关联:该地面真值数据与生成输出的ML架构的每个组件相关联。
无论如何,在操作724,示例操作710可以包括确定与不同任务相关联的一组损失。在一些示例中,确定损失可以包括确定任务特定损失并在一个或多个损失上强制执行一致性。然后可以将任务特定损失求和为联合损失,该损失可能通过ML架构反向传播。
例如,确定任务特定损失可以包括确定:分类损失和/或回归损失(例如,相对于锚点),其可相对于二维和/或三维ROI来确定;用于将每个像素分类为语义类别之一(用于语义分割数据)的逐像素损失方向分对数的分类损失(如果方向分对数被分组)和/或回归损失深度分组的分类损失和深度残差的回归损失和/或可以在实例分割损失之后应用的实例掩模损失,其可能是二元交叉熵损失在一些示例中,这些损失中的每一个可以相加以形成联合损失。
在某些示例中,可以使用多个权重在参数上强制执行一致性,使得联合损失不会因一项任务的训练而偏斜:
在一个附加或替代示例中,ML架构的组件均可以输出一个附加参数,对于每个任务的不确定性度量(σt),t∈[1,…,T]的。在这样的示例中,在操作726,示例操作710可以包括对损失集合中的损失进行加权。在一些示例中,为了稳定性,可在对数空间中将不确定性定义为St=logσt 2。用于训练的修改(加权)的总损失函数可以由下式给出:
其中
附加地或替代地,可以将一致性损失添加到损失中。强制执行一致性可以包括确定第一输出和第二输出之间的差异并且至少部分地基于该差异来确定损失。例如,可以确定语义分割和深度数据、二维ROI和三维ROI、语义分割和分类、深度数据和三维ROI和/或本文讨论的输出的其他组合之间的差异。附加地或替代地,强制执行一致性可以包括将置信度驱使为相似的。例如,ROI组件可以输出二维ROI和与其相关联的置信度,并且语义分割组件可以输出语义分割,该语义分割指示与相同分类相关联的图像像素的集合以及与每个像素相关联的多个相应置信度。该技术可以包括:确定与语义分割相关联的平均置信度或代表性置信度(例如,使用与语义分割相关联的置信度的总面积表确定的近似平均值);以及至少部分地基于与语义分割相关的平均和/或代表性置信度与关联于二维ROI的置信度之间的差异来确定一致性损失。当然,可以使用任意数量的一致性损失。
在操作728,示例操作710可以包括修改ML架构的一个或多个组件以最小化在一个或多个操作722和/或724确定的联合损失。联合损失可以通过ML架构300反向传播,这可以包括调整本文讨论的每个组件的零个或更多个参数以减少联合损失。
示例条款
A.一种方法,包括:接收图像数据;将至少一部分图像数据输入到机器学习(ML)模型中;通过ML模型确定与图像中出现的对象相关联的感兴趣区域(ROI);通过ML模型并至少部分基于ROI确定附加输出,附加输出包括:与对象相关联的语义分割,语义指示对象的分类;指示对象中心的方向数据;与图像的至少一部分相关联的深度数据;以及与对象相关联的实例分割;至少部分地基于ROI、语义分割、方向数据、深度数据或实例分割中的两个或更多个来确定一致性损失;作为经训练的ML模型并至少部分基于一致性损失来改变ML模型的一个或多个参数;并将经训练的ML模型传输到自动驾驶车辆。
B.如段落A所述的方法,其中:确定ROI至少部分基于:确定与第一分辨率相关联的第一组特征;并且确定与第二分辨率相关联的第二组特征,其中确定附加输出还至少部分地基于第一组特征和第二组特征。
C.如段落A或B所述的方法,进一步包括:通过ML模型并至少部分地基于ROI、语义分割、方向数据、深度数据或实例分割中的两个或更多个来确定与对象相关联的三维ROI。
D.如段落A-C中任一项所述的方法,其中确定一致性损失包括:至少部分地基于语义分割、深度数据、实例分割或三维ROI中的至少一个来确定二维边界区域;以及确定ROI和二维边界区域之间的差异。
E:如段落A-D中任一段所述的方法,其中深度数据包括指示离散深度的深度分组输出和指示与深度分组的偏移的深度残差。
F.一种系统,包括:一个或多个处理器;以及存储器,其存储计算机可执行的多个指令,当多个指令由一个或多个处理器执行时,使系统执行操作,所述操作包括:接收图像数据;将至少一部分图像数据输入到机器学习(ML)模型中;通过ML模型确定与图像中出现的对象相关联的感兴趣区域(ROI);通过ML模型并至少部分基于ROI确定附加输出,附加输出包括:与对象相关联的语义分割,语义指示对象的分类;与图像的至少一部分相关联的深度数据;以及与对象相关联的实例分割;至少部分地基于ROI、语义分割、深度数据或实例分割中的两个或更多个来确定一致性损失;以及作为经训练的ML模型并至少部分基于一致性损失来改变ML模型的一个或多个参数。
G.如段落F所述的系统,其中:确定ROI至少部分基于:确定与第一分辨率相关联的第一组特征;并且确定与第二分辨率相关联的第二组特征,其中确定附加输出进一步至少部分地基于第一组特征和第二组特征。
H.如段落F或G所述的系统,其中多个操作进一步包括确定指示对象中心的方向数据,并且其中确定实例分割至少部分地基于语义分割、深度数据和方向数据。
I.如段落F-H中任一段所述的系统,其中多个操作进一步包括:确定指示对象中心的方向数据;以及至少部分地基于语义分割、深度数据、方向数据和实例分割来确定三维ROI。
J.如段落F-I中任一段所述的系统,其中确定一致性损失包括确定深度数据和三维ROI的边界之间的差异。
K.如段落F-J中任一段所述的系统,其中确定一致性损失包括:至少部分地基于语义分割、深度数据或实例分割中的一个或多个来确定二维边界区域;以及确定ROI和二维边界区域之间的差异。
L.如段落F-K中任一段所述的系统,其中多个操作进一步包括确定与语义分割、深度数据和实例分割中的至少一个相关联的确定性,并且其中一致性损失进一步至少部分地基于不确定性。
M.一种存储多个计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令当由一个或多个处理器执行时,使该一个或多个处理器执行操作,所述操作包括:接收图像数据;将图像数据的至少一部分输入到机器学习(ML)模型中;通过ML模型确定与图像中出现的对象相关联的感兴趣区域(ROI);通过ML模型并至少部分基于ROI确定附加输出,附加输出包括:与对象相关联的语义分割,语义指示对象的分类;与图像的至少一部分相关联的深度数据;以及与对象相关联的实例分割;至少部分地基于ROI、语义分割、深度数据或实例分割中的两个或更多个来确定一致性损失;以及作为经训练的ML模型并至少部分基于一致性损失来改变ML模型的一个或多个参数。
N.如段落M所述的非暂时性计算机可读介质,其中:确定ROI至少部分基于:确定与第一分辨率相关联的第一组特征;以及确定与第二分辨率相关联的第二组特征,其中确定附加输出进一步至少部分地基于第一组特征和第二组特征。
O.如段落M或N所述的非暂时性计算机可读介质,其中多个操作进一步包括确定指示对象中心的方向数据,并且其中确定实例分割至少部分地基于语义分割、深度数据和方向数据。
P.如段落M-O中任一段所述的非暂时性计算机可读介质,其中多个操作进一步包括:确定指示所述对象的中心的方向数据;以及至少部分地基于语义分割、深度数据、方向数据和实例分割来确定三维ROI。
Q.如段落M-P中任一段所述的非暂时性计算机可读介质,其中确定一致性损失包括确定深度数据与三维ROI的边界之间的差异。
R.如段落M-Q中任一段所述的非暂时性计算机可读介质,其中确定所述一致性损失包括:至少部分地基于语义分割、深度数据或实例分割中的一个或多个,确定二维边界区域;以及确定ROI和二维边界区域之间的差异。
S.如段落M-R中任一段所述的非暂时性计算机可读介质,其中多个操作进一步包括确定与语义分割、深度数据和实例分割中的至少一个相关联的确定性,并且其中一致性损失进一步至少部分地基于不确定性。
T.如段落M-S中任一段所述的非暂时性计算机可读介质,其中所述深度数据包括指示离散深度的深度分组输出和指示与所述深度分组的偏移的深度残差。
U.一种系统,包括:一个或多个处理器;以及存储器,其存储多个处理器可执行指令,当该些指令由一个或多个处理器执行时,使系统执行操作,所述操作包括:从与自动驾驶车辆相关联的图像传感器接收图像;将图像的至少一部分输入到机器学习(ML)模型中;通过ML模型确定一组输出,该组输出包括:与出现在图像中的对象相关联的感兴趣区域(ROI);与对象相关联的语义分割,语义分割指示对象的分类;指示对象中心的方向数据;与图像的至少一部分相关联的深度数据;以及与对象相关联的实例分割;以及至少部分地基于ROI、语义分割、实例分割或深度数据中的至少一个来控制自动驾驶车辆。
V.如段落U所述的系统,其中确定该组输出包括:确定与第一分辨率相关联的第一组特征;确定与第二分辨率相关联的第二组特征,第一分辨率不同于第二分辨率;作为上采样特征,上采样第二特征以具有与第一分辨率相同的分辨率;并将上采样的特征与第一特征组合,作为组合特征,其中语义分割、深度数据、方向数据或实例分割中的至少一个至少部分地基于组合特征。
W.如段落U或V所述的系统,其中该组输出进一步包括三维ROI。
X.如段落U-W中任一段所述的系统,其中确定深度数据包括:从一组深度分组之中确定深度分组,该深度分组与环境的离散部分相关联;以及确定与深度分组相关联的深度残差,该深度残差指示与离散部分相关联的表面与关联于深度分组的位置的偏差。
Y.如段落U-X中任一段所述的系统,其中确定深度分组包括:至少部分地基于确定在离散部分周围的区域中其他离散部分的分对数的平均或概率分布来确定一组平滑的分对数;并且至少部分地基于确定深度分组与平滑的分对数集合中的最大平滑分对数值相关联,从深度分组的集合之中选择深度分组。
Z.一种方法,包括:从与自动驾驶车辆相关联的图像传感器接收图像;将图像的至少一部分输入到机器学习(ML)模型中;通过ML模型确定一组输出,该组输出包括:与对象相关联的语义分割;与图像的至少一部分相关联的深度数据;以及与对象相关联的实例分割;以及至少部分地基于ROI、语义分割、实例分割或深度数据中的至少一个来控制自动驾驶车辆。
AA.如段落Z所述的方法,其中确定该组输出包括:确定与第一分辨率相关联的第一组特征;确定与第二分辨率相关联的第二组特征,第一分辨率不同于第二分辨率;作为上采样特征,上采样第二特征以具有与第一分辨率相同的分辨率;以及将上采样特征与第一特征组合作为组合特征,其中语义分割、深度数据或实例分割中的至少一个至少部分地基于组合特征。
AB.如段落Z或AA所述的方法,其中该组输出进一步包括三维ROI。
AC.如段落Z-AB中任一段所述的方法。其中:该组输出还包括指示对象中心的方向数据;并且至少部分地基于语义分割、深度数据、方向数据和实例分割来确定三维。
AD.如段落Z-AC中任一段所述的方法,其中确定所述深度数据包括:从一组深度分组之中确定深度分组,该深度分组与环境的离散部分相关联;以及确定与深度分组相关联的深度残差,该深度残差指示与离散部分相关联的表面与关联于深度分组的位置的偏差。
AE.如段落Z-AD中任一段所述的方法,其中确定深度分组包括:至少部分地基于确定离散部分周围的区域中其他离散部分的分对数的平均或概率分布来确定一组平滑的分对数;并且至少部分地基于确定深度分组与该组平滑的分对数之中的最大平滑分对数值相关联,从深度分组的集合之中选择深度分组。
AF.如段落Z-AE中任一段所述的方法,其中:该组输出还包括指示对象中心的方向数据;以及确定实例分割至少部分地基于语义分割、深度数据和方向数据。
AG.一种存储多个计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令当由一个或多个处理器执行时,使该一个或多个处理器执行操作,所述操作包括:从与自动驾驶车辆相关联的图像传感器接收图像;将图像的至少一部分输入到机器学习(ML)模型中;通过ML模型确定一组输出,该组输出包括:与对象相关联的语义分割;与图像的至少一部分相关联的深度数据;以及与对象相关联的实例分割;并且至少部分地基于ROI、语义分割、实例分割或深度数据中的至少一个来控制自动驾驶车辆。
AH.如段落AG所述的非暂时性计算机可读介质,其中确定该组输出包括:确定与第一分辨率相关联的第一组特征;确定与第二分辨率相关联的第二组特征,第一分辨率不同于第二分辨率;作为上采样特征,上采样第二特征以具有与第一分辨率相同的分辨率;并将上采样的特征与第一特征组合,作为组合特征,其中语义分割、深度数据或实例分割中的至少一个至少部分地基于该组合特征。
AI.如段落AG或AH所述的非暂时性计算机可读介质,其中确定该组输出还包括:作为下采样特征,下采样组合特征以减少与组合特征相关联的通道数;作为卷积的特征,根据不同的膨胀率对下采样的特征进行两次或更多次卷积;作为特征数据结构,对卷积的特征进行上采样,并且其中语义分割、深度数据或实例分割中的至少一个至少部分地基于特征数据结构。
AJ.如段落AG-AI中任一段所述的非暂时性计算机可读介质,其中该组输出还包括三维ROI。
AK.如段落AJ所述的非暂时性计算机可读介质,其中:该组输出进一步包括指示对象中心的方向数据;并且至少部分地基于语义分割、深度数据、方向数据和实例分割来确定三维。
AL.如段落AG-AK中任一段所述的非暂时性计算机可读介质,其中确定所述深度数据包括:从一组深度分组之中确定深度分组,该深度分组与环境的离散部分相关联;并且确定与深度分组相关联的深度残差,该深度残差指示与离散部分相关联的表面与关联于深度分组的位置的偏差。
AM.如段落AG-AL中任一段所述的非暂时性计算机可读介质,其中确定深度分组包括:至少部分地基于确定离散部分周围的区域中其他离散部分的分对数的平均或概率分布来确定一组平滑的分对数;并且至少部分地基于确定深度分组与一组平滑的分对数之中的最大平滑分对数值相关联,从深度分组的集合中选择深度分组。
AN.如段落AG-AM中任一段所述的非暂时性计算机可读介质,其中:该组输出进一步包括指示对象中心的方向数据;并且确定实例分割至少部分地基于语义分割、深度数据和方向数据。
AO.一种系统,包括:一个或多个处理器;以及存储器,其存储多个处理器可执行指令,当多个指令由一个或多个处理器执行时,使系统执行包括如段落A-F或Z-AF中任一段所述的任何操作。
AP.一种自动驾驶车辆,包括:一个或多个处理器;以及存储器,其存储多个处理器可执行指令,当多个指令由一个或多个处理器执行时,使系统执行包括如段落A-F或Z-AF中任一段所述的任何操作。
AQ.如段落AP所述的自动驾驶车辆,还包括一个或多个传感器。
AR.一种存储多个处理器可执行指令的非暂时性计算机可读介质,所述处理器可执行指令当由所述一个或多个处理器执行时,使所述一个或多个处理器执行包括如段落A-F或Z-AF中任一段所述的任何操作。
结论
尽管已经以特定于结构特征和/或方法动作的语言描述了主题,但是应当理解,在所附权利要求中定义的主题不一定限于所描述的特定特征或动作。相反地,具体的特征和动作被公开为实施权利要求的示例形式。
这里描述的组件表示可以存储在任何类型的计算机可读介质中并且可以在软件和/或硬件中实现的多个指令。上述所有方法和过程可以体现在软件代码组件和/或由一台或多台计算机或处理器、硬件或其某种组合执行的计算机可执行指令中,并且经由软件代码组件和/或由一台或多台计算机或处理器、硬件或其某种组合执行的计算机可执行指令完全自动化。一些或所有方法可以替代地实现在专用的计算机硬件中。
本文讨论的至少一些过程被示出为逻辑流程图,其中的每个操作代表一系列操作,其可以在硬件、软件或其组合中实现。在软件的上下文中,操作表示存储在一个或多个非暂时性计算机可读存储介质上的多个计算机可执行指令,所述计算机可执行指令当由一个或多个处理器执行时,使计算机或自动驾驶车辆执行所述操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且任何数量的所描述的操作可以以任何顺序和/或并行组合以实现过程。
除非另有明确说明,,诸如“可以”、“可”、“可能”或“也许”等条件语言在上下文中被理解为表示,某些示例包括、而其他示例不包括某些特征、元素和/或步骤。因此,这种条件语言通常不旨在暗示某些特征、元素和/或步骤以任何方式对于一个或多个示例是必需的,或者一个或多个示例必须包括用于在有或没有用户输入或提示的情况下做出决定的逻辑,不论在任何特定示例中是否包括或将要执行某些特征、元素和/或步骤。
除非另有明确说明,否则诸如短语“X、Y或Z中的至少一个”之类的合取语言应理解为表示项目、术语等可以是X、Y或Z,或其任何组合,包括每个元素的倍数。除非明确描述为单数,否则“一”表示单数和复数。
本文描述和/或在附图中描绘的流程图中的任何常规描述、元素或块应理解为潜在地表示模块、段或代码部分,其包括用于实现例程中的特定逻辑功能或元素的一个或多个计算机可执行指令。替代实现方式被包括在本文描述的示例的范围内,其中元素或功能可以被删除,或以与所示或讨论的顺序不同的顺序执行,包括基本上同步地、以相反的顺序、具有附加操作或省略操作,这取决于所涉及的功能,如本领域技术人员将理解的。
可以对上述示例进行许多变化和修改,其中的元素将被理解为在其他可接受的示例之中。所有这样的修改和变化都旨在被包括在本公开的范围内并受所附权利要求保护。
Claims (15)
1.一种系统,包括:
一个或多个处理器;以及
存储器,其存储计算机可执行指令,所述计算机可执行指令在由所述一个或多个处理器执行时,使得所述系统执行操作,所述操作包括:
接收图像数据;
将所述图像数据的至少一部分输入到机器学习(ML)模型中;
通过所述ML模型确定与在所述图像中出现的对象相关联的感兴趣区域(ROI);
通过所述ML模型并且至少部分地基于所述ROI来确定附加输出,所述附加输出包括:
与所述对象相关联的语义分割,所述语义指示所述对象的分类;
与所述图像的至少一部分相关联的深度数据;以及
与所述对象相关联的实例分割;
至少部分地基于以下各项中的两项或更多项来确定一致性损失:所述ROI、所述语义分割、所述深度数据或所述实例分割;以及
作为经训练的ML模型并且至少部分地基于所述一致性损失,来改变所述ML模型的一个或多个参数。
2.根据权利要求1所述的系统,其中:
确定所述ROI至少部分地基于:
确定与第一分辨率相关联的第一组特征;以及
确定与第二分辨率相关联的第二组特征;
其中,确定所述附加输出还至少部分地基于所述第一组特征和所述第二组特征。
3.根据权利要求1或2所述的系统,其中,所述操作还包括确定指示所述对象的中心的方向数据,并且其中,确定所述实例分割至少部分地基于所述语义分割、所述深度数据和所述方向数据。
4.根据权利要求1至3中任一项所述的系统,其中,所述操作还包括:
确定指示所述对象的中心的方向数据;以及
至少部分地基于所述语义分割、所述深度数据、所述方向数据和所述实例分割,来确定三维ROI。
5.根据权利要求4所述的系统,其中,确定所述一致性损失包括确定在所述深度数据和所述三维ROI的边界之间的差异。
6.根据权利要求1至5中任一项所述的系统,其中,确定所述一致性损失包括:
至少部分地基于以下各项中的一项或多项来确定二维边界区域:所述语义分割、所述深度数据或所述实例分割;以及
确定在所述ROI和所述二维边界区域之间的差异。
7.根据权利要求1至6中任一项所述的系统,其中,所述操作还包括确定与以下各项中的至少一项相关联的确定性:所述语义分割、所述深度数据和所述实例分割,并且其中,所述一致性损失还至少部分地基于不确定性。
8.一种存储计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在由一个或多个处理器执行时,使得所述一个或多个处理器执行操作,所述操作包括:
接收图像数据;
将所述图像数据的至少一部分输入到机器学习(ML)模型中;
通过所述ML模型确定与在所述图像中出现的对象相关联的感兴趣区域(ROI);
通过所述ML模型并且至少部分地基于所述ROI来确定附加输出,所述附加输出包括:
与所述对象相关联的语义分割,所述语义指示所述对象的分类;
与所述图像的至少一部分相关联的深度数据;以及
与所述对象相关联的实例分割;
至少部分地基于以下各项中的两项或更多项来确定一致性损失:所述ROI、所述语义分割、所述深度数据或所述实例分割;以及
作为经训练的ML模型并且至少部分地基于所述一致性损失,来改变所述ML模型的一个或多个参数。
9.根据权利要求8所述的非暂时性计算机可读介质,其中:
确定所述ROI至少部分地基于:
确定与第一分辨率相关联的第一组特征;以及
确定与第二分辨率相关联的第二组特征;
其中,确定所述附加输出还至少部分地基于所述第一组特征和所述第二组特征。
10.根据权利要求8或9所述的非暂时性计算机可读介质,其中,所述操作还包括确定指示所述对象的中心的方向数据,并且其中,确定所述实例分割至少部分地基于所述语义分割、所述深度数据和所述方向数据。
11.根据权利要求8至10中任一项所述的非暂时性计算机可读介质,其中,所述操作还包括:
确定指示所述对象的中心的方向数据;以及
至少部分地基于所述语义分割、所述深度数据、所述方向数据和所述实例分割来确定三维ROI。
12.根据权利要求11所述的非暂时性计算机可读介质,其中,确定所述一致性损失包括确定在所述深度数据和所述三维ROI的边界之间的差异。
13.根据权利要求8至12中任一项所述的非暂时性计算机可读介质,其中,确定所述一致性损失包括:
至少部分地基于以下各项中的一项或多项来确定二维边界区域:所述语义分割、所述深度数据或所述实例分割;以及
确定在所述ROI和所述二维边界区域之间的差异。
14.根据权利要求8至13中任一项所述的非暂时性计算机可读介质,其中,所述操作还包括确定与以下各项中的至少一项相关联的确定性:所述语义分割、所述深度数据和所述实例分割,并且其中,所述一致性损失还至少部分地基于不确定性。
15.根据权利要求8至14中任一项所述的非暂时性计算机可读介质,其中,所述深度数据包括指示离散深度的深度分组输出和指示与所述深度分组的偏移的深度残差。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962935636P | 2019-11-15 | 2019-11-15 | |
US62/935,636 | 2019-11-15 | ||
US16/732,243 US10984290B1 (en) | 2019-11-15 | 2019-12-31 | Multi-task learning for real-time semantic and/or depth aware instance segmentation and/or three-dimensional object bounding |
US16/732,243 | 2019-12-31 | ||
PCT/US2020/059734 WO2021096817A1 (en) | 2019-11-15 | 2020-11-09 | Multi-task learning for semantic and/or depth aware instance segmentation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115088013A true CN115088013A (zh) | 2022-09-20 |
Family
ID=75495285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080092199.9A Pending CN115088013A (zh) | 2019-11-15 | 2020-11-09 | 用于语义和/或深度感知实例分割的多任务学习 |
Country Status (5)
Country | Link |
---|---|
US (2) | US10984290B1 (zh) |
EP (1) | EP4058949A4 (zh) |
JP (1) | JP2023501716A (zh) |
CN (1) | CN115088013A (zh) |
WO (1) | WO2021096817A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11024034B2 (en) * | 2019-07-02 | 2021-06-01 | Acist Medical Systems, Inc. | Image segmentation confidence determination |
US11189007B2 (en) * | 2019-12-03 | 2021-11-30 | Imagry (Israel) Ltd | Real-time generation of functional road maps |
CN111860304B (zh) * | 2020-07-17 | 2024-04-30 | 北京百度网讯科技有限公司 | 一种图像标注方法、电子装置、设备及存储介质 |
US11987236B2 (en) * | 2020-08-31 | 2024-05-21 | Nec Corporation | Monocular 3D object localization from temporal aggregation |
US12008469B1 (en) * | 2020-09-01 | 2024-06-11 | Amazon Technologies, Inc. | Acceleration of neural networks with stacks of convolutional layers |
CN113065511B (zh) * | 2021-04-21 | 2024-02-02 | 河南大学 | 基于深度学习的遥感图像飞机检测模型及方法 |
CN113240723A (zh) * | 2021-05-18 | 2021-08-10 | 中德(珠海)人工智能研究院有限公司 | 一种单目深度估计方法、装置以及深度评估设备 |
CN113223045B (zh) * | 2021-05-19 | 2024-06-11 | 北京数研科技发展有限公司 | 基于动态物体语义分割的视觉与imu传感器融合定位系统 |
US11887324B2 (en) * | 2021-06-30 | 2024-01-30 | Motional Ad Llc | Cross-modality active learning for object detection |
US20230035780A1 (en) * | 2021-07-29 | 2023-02-02 | Zoox, Inc. | Systematic fault detection in vehicle control systems |
CN113674423A (zh) * | 2021-08-27 | 2021-11-19 | 中德(珠海)人工智能研究院有限公司 | 一种火灾原因判定方法、装置、服务器及可读存储介质 |
US20230077207A1 (en) * | 2021-09-08 | 2023-03-09 | Motive Technologies, Inc. | Close following detection using machine learning models |
US20230084623A1 (en) * | 2021-09-10 | 2023-03-16 | Argo AI, LLC | Attentional sampling for long range detection in autonomous vehicles |
US20230089897A1 (en) * | 2021-09-23 | 2023-03-23 | Motional Ad Llc | Spatially and temporally consistent ground modelling with information fusion |
WO2023102223A1 (en) * | 2021-12-03 | 2023-06-08 | Innopeak Technology, Inc. | Cross-coupled multi-task learning for depth mapping and semantic segmentation |
WO2023172583A1 (en) * | 2022-03-07 | 2023-09-14 | Ridecell, Inc. | Identifying unseen objects from shared attributes of labeled data using weak supervision |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10067509B1 (en) * | 2017-03-10 | 2018-09-04 | TuSimple | System and method for occluding contour detection |
US10474160B2 (en) * | 2017-07-03 | 2019-11-12 | Baidu Usa Llc | High resolution 3D point clouds generation from downsampled low resolution LIDAR 3D point clouds and camera images |
US10599924B2 (en) | 2017-07-21 | 2020-03-24 | Adobe Inc. | Semantic page segmentation of vector graphics documents |
US10679351B2 (en) | 2017-08-18 | 2020-06-09 | Samsung Electronics Co., Ltd. | System and method for semantic segmentation of images |
US10824862B2 (en) | 2017-11-14 | 2020-11-03 | Nuro, Inc. | Three-dimensional object detection for autonomous robotic systems using image proposals |
WO2019099428A1 (en) | 2017-11-15 | 2019-05-23 | Google Llc | Instance segmentation |
GB201720360D0 (en) * | 2017-12-06 | 2018-01-17 | Hgf Ltd | Method of determining the boundary of a driveable space |
US11107229B2 (en) * | 2018-01-10 | 2021-08-31 | Samsung Electronics Co., Ltd. | Image processing method and apparatus |
US11429807B2 (en) | 2018-01-12 | 2022-08-30 | Microsoft Technology Licensing, Llc | Automated collection of machine learning training data |
CN111133447B (zh) * | 2018-02-18 | 2024-03-19 | 辉达公司 | 适于自主驾驶的对象检测和检测置信度的方法和系统 |
US10726567B2 (en) * | 2018-05-03 | 2020-07-28 | Zoox, Inc. | Associating LIDAR data and image data |
US10691978B2 (en) * | 2018-06-18 | 2020-06-23 | Drvision Technologies Llc | Optimal and efficient machine learning method for deep semantic segmentation |
CN109191515B (zh) | 2018-07-25 | 2021-06-01 | 北京市商汤科技开发有限公司 | 一种图像视差估计方法及装置、存储介质 |
KR102615196B1 (ko) * | 2018-08-21 | 2023-12-18 | 삼성전자주식회사 | 객체 검출 모델 트레이닝 장치 및 방법 |
US11288525B2 (en) * | 2018-10-31 | 2022-03-29 | Texas Instruments Incorporated | Object detection for distorted images |
-
2019
- 2019-12-31 US US16/732,243 patent/US10984290B1/en active Active
- 2019-12-31 US US16/732,274 patent/US11893750B2/en active Active
-
2020
- 2020-11-09 EP EP20888291.0A patent/EP4058949A4/en active Pending
- 2020-11-09 CN CN202080092199.9A patent/CN115088013A/zh active Pending
- 2020-11-09 JP JP2022528234A patent/JP2023501716A/ja active Pending
- 2020-11-09 WO PCT/US2020/059734 patent/WO2021096817A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2021096817A1 (en) | 2021-05-20 |
EP4058949A1 (en) | 2022-09-21 |
US20210181757A1 (en) | 2021-06-17 |
US11893750B2 (en) | 2024-02-06 |
US10984290B1 (en) | 2021-04-20 |
EP4058949A4 (en) | 2023-12-20 |
JP2023501716A (ja) | 2023-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11893750B2 (en) | Multi-task learning for real-time semantic and/or depth aware instance segmentation and/or three-dimensional object bounding | |
US12012127B2 (en) | Top-down view object detection and tracking | |
US11663726B2 (en) | Object velocity and/or yaw rate detection and tracking | |
US11379998B2 (en) | Detector-tracker architecture | |
US11625041B2 (en) | Combined track confidence and classification model | |
US11500385B2 (en) | Collision avoidance perception system | |
US11609321B2 (en) | Radar-tracked object velocity and/or yaw | |
JP2022552138A (ja) | 衝突回避知覚システム | |
US11628855B1 (en) | Object velocity detection from multi-modal sensor data | |
US11353592B2 (en) | Complex ground profile estimation | |
US11604465B2 (en) | Correction of sensor data alignment and environment mapping | |
US11537819B1 (en) | Learned state covariances | |
US20240211797A1 (en) | Training a variable autoencoder using a diffusion model | |
US20240211731A1 (en) | Generating object representations using a variable autoencoder |
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 |