CN111160561B - 使用支柱进行对象检测的深度学习 - Google Patents

使用支柱进行对象检测的深度学习 Download PDF

Info

Publication number
CN111160561B
CN111160561B CN201911088570.XA CN201911088570A CN111160561B CN 111160561 B CN111160561 B CN 111160561B CN 201911088570 A CN201911088570 A CN 201911088570A CN 111160561 B CN111160561 B CN 111160561B
Authority
CN
China
Prior art keywords
empty
struts
data points
strut
pseudo
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
CN201911088570.XA
Other languages
English (en)
Other versions
CN111160561A (zh
Inventor
O·O·贝基波姆
A·H·朗
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.)
Motional AD LLC
Original Assignee
Motional AD LLC
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 Motional AD LLC filed Critical Motional AD LLC
Publication of CN111160561A publication Critical patent/CN111160561A/zh
Application granted granted Critical
Publication of CN111160561B publication Critical patent/CN111160561B/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • 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/865Combination of radar systems with lidar systems
    • 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
    • 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
    • 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
    • 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/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/42Simultaneous measurement of distance and other co-ordinates
    • 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/89Lidar systems specially adapted for specific applications for mapping or imaging
    • 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/89Lidar systems specially adapted for specific applications for mapping or imaging
    • G01S17/8943D imaging with simultaneous measurement of time-of-flight at a 2D array of receiver pixels, e.g. time-of-flight cameras or flash lidar
    • 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
    • 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
    • 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
    • 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/4808Evaluating distance, position or velocity data
    • 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/0088Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • 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/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • 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/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/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • 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/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • 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/9316Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles combined with communication equipment with other vehicles or with base stations
    • 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/93185Controlling the brakes
    • 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/9319Controlling the accelerator
    • 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/9322Radar or analogous systems specially adapted for specific applications for anti-collision purposes of land vehicles using additional data, e.g. driver condition, road state or weather data
    • 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/0276Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects

Abstract

除了其他方面,描述了用于检测运载工具周围的环境中的对象的技术。计算机系统被配置为从运载工具的传感器接收一组测量值。该组测量值包括多个数据点,这些数据点表示运载工具周围的3D空间中的多个对象。系统将3D空间划分为多个支柱。然后,系统将多个数据点中的每个数据点分配给多个支柱中的支柱。该系统基于多个支柱产生伪图像。对于多个支柱中的每个支柱,伪图像包括分配给支柱的数据点的对应特征表示。系统基于伪图像的分析检测多个对象。然后,系统基于对象的检测操作运载工具。

Description

使用支柱进行对象检测的深度学习
技术领域
本说明书涉及用于使用深度学习技术检测自主运载工具周围的环境中的一个或多个对象的计算机系统。
技术背景
自主运载工具可被用于将人和/或货物(例如,包裹、对象或其他物品)从一个地方运送到另一个地方。例如,自主运载工具可导航至人的位置,等待该人登上该自主运载工具,然后导航至指定的目的地(例如,由该人选择的位置)。为了在环境中进行导航,这些自主运载工具装备有多种类型的传感器以检测周围环境中的对象。
发明内容
本说明书中描述的主题针对用于检测自主运载工具周围的环境中的对象的计算机系统和技术。通常,计算机系统被配置为从运载工具的一个或多个传感器接收输入,基于接收到的输入检测运载工具周围的环境中的一个或多个对象,并基于对象的检测来操作运载工具。
特别地,计算机系统从运载工具的传感器(例如,LIDAR或RADAR)接收一组测量值,例如点云。一组测量值包括多个数据点,这些数据点表示运载工具周围的三维(3D)空间中的多个对象。多个数据点中的每个数据点是一组3D空间坐标。该系统将3D空间划分为多个支柱,其中多个支柱中的每个支柱从3D空间的2D地平面的相应部分竖直地(在z方向上)延伸。然后,系统将多个数据点中的每个数据点分配给多个支柱中的支柱。该系统基于多个支柱产生伪图像。对于多个支柱中的每个支柱,伪图像包括分配给支柱的数据点的对应特征表示。该系统基于对伪图像的分析来检测传感器周围的3D空间中的多个对象。然后,系统基于对运载工具周围的3D空间中的多个对象的检测来操作运载工具。
可以将这些和其他方面、特征和实现表达为方法、装置、系统、组件、程序产品、用于执行功能的装置或步骤、以及以其他方式表达。
根据包括权利要求的以下描述,这些和其他方面、特征和实现方式将变得显而易见。
附图说明
图1示出了具有自主能力的自主运载工具的示例。
图2示出了示例“云”计算环境。
图3示出了计算机系统。
图4示出了自主运载工具的示例架构。
图5示出了可以由感知模块使用的输入和输出的示例。
图6示出了LiDAR系统的示例。
图7示出了操作中的LiDAR系统。
图8更详细地示出了LiDAR系统的操作。
图9示出了规划模块的输入与输出之间的关系的框图。
图10示出了路径规划中使用的有向图。
图11示出了控制模块的输入和输出的框图。
图12示出了控制器的输入、输出以及组件的框图。
图13示出使用支柱进行对象检测的计算系统的示例架构。
图14示出示例点云和示例支柱。
图15示出点云的示例2D平面。
图16是用于检测环境中的对象并且基于对象的检测来操作运载工具的示例过程的流程图。
图17是用于将数据点分配到多个支柱中并且处理多个支柱以生成支柱输出的示例过程的流程图。
具体实施方式
在以下描述中,出于解释的目的阐述了众多特定细节以便提供对本发明的透彻理解。然而,将显而易见的是,可以在没有这些特定细节的情况下实践本发明。在其他情况下,以框图形式示出了公知的结构和设备,以避免不必要地使本发明模糊。
在附图中,为了易于描述,示出了示意性要素的特定布置或次序,示意性要素诸如表示设备、模块、指令块和数据要素的那些示意性要素。然而,本领域技术人员应当理解,附图中的示意性要素的特定排序或布置并非旨在暗示要求特定的处理次序或顺序、或过程的分离。此外,在附图中包括示意性要素并不意味着暗示在所有实施例中都要求此类要素,或者在一些实施例中由此类要素表示的特征可以不被包括在其他要素中或与其他要素组合。
此外,在附图中,在使用诸如实线或虚线或箭头的之类连接要素来说明两个或更多个其他示意性要素之间的连接、关系或关联的情况下,不存在任何此类连接要素并不意味着暗示没有连接、关系或关联可以存在。换句话说,要素之间的一些连接、关系或关联未在附图中示出,以免使本公开模糊。另外,为了易于说明,使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,在连接要素表示信号、数据或指令的通信的情况下,本领域技术人员应当理解,此类要素如可根据需要来表示一个或多个信号路径(例如,总线)以影响通信。
现在将详细参照实施例,在附图中图示出这些实施例的示例。在以下详细描述中,阐述了众多具体细节以便提供对各个所描述的实施例的透彻理解。然而,对本领域的普通技术人员将显而易见的是,可在没有这些特定细节的情况下实践各个所描述的实施例。在其他实例中,并未对公知方法、程序、组件、电路以及网络进行详细描述,以免不必要地使实施例的各方面模糊。
以下描述了若干特征,这些特征各自可以彼此独立地使用或者与其他特征的任何组合一起使用。然而,任何单独的特征可能无法解决上面讨论的问题中的任一个,或者可能仅解决上面讨论的问题之一。上面讨论的问题中的一些可能无法通过本文中所描述的特征中的任一特征完全解决。尽管提供了标题,与特定标题有关但未在具有该标题的部分中找到的信息也能在本说明书中的其他地方被找到。本文中根据以下大纲来对实施例进行描述:
1.总体概述
2.硬件概述
3.自主运载工具架构
4.自主运载工具输入
5.自主运载工具规划
6.自主运载工具控制
7.使用支柱进行对象检测的计算系统
8.示例点云和支柱
9.用于检测对象并且基于对象的检测操作运载工具的示例过程
总体概述
在复杂环境(例如,城市环境)中行驶的自主运载工具提出了巨大的技术挑战。为了使自主运载工具在这些环境中导航,运载工具使用诸如LIDAR或RADAR的传感器实时检测各种类型的对象,例如运载工具、行人和自行车。用于对图像输入执行对象检测的一种方法是深度学习。但是,传感器输入(例如,LIDAR点云)的稀疏性使现有的基于图像的深度学习技术在计算上效率低下。所公开的实施例包括用于基于传感器输入来有效且快速地检测3D对象的系统和技术。
特别地,本文描述的系统和技术实现了机器学习(例如,神经网络),该机器学习可以通过生成使用虚拟支柱的3D点云的表示来处理3D点云的稀疏性,虚拟支柱是从2D地平面上的2D网格延伸的竖直立柱。使用虚拟支柱作为用于组织3D点云的数据点的数据结构,系统可以生成表示3D点云的特征的稀疏伪图像。该系统可以进一步使用2D卷积处理伪图像,然后使用对象检测神经网络以检测环境中的对象。尽管传统方法需要使用3D卷积,但是本文描述的系统和技术使用2D卷积,从而降低了计算复杂性并加速了训练和推理。此外,该系统可以并行处理支柱,与现有方法相比,在速度上取得巨大的提高。另外,通过直接使用编码器而不是固定编码来从点云中学习特征,所公开的技术可以利用3D点云所表示的全部信息,从而与现有的对象检测方法相比,具有更高的性能(例如,更高的准确性)和更快的推理。
硬件概述
图1示出了具有自主能力的自主运载工具100的示例。
如本文中所使用,术语“自主能力”指使得运载工具能够在没有实时人类干预的情况下被部分地或完全地操作的功能、特征或设施,包括但不限于完全自主的运载工具、高度自主的运载工具以及有条件的自主运载工具。
如本文中所使用,自主运载工具(AV)是具有自主能力的运载工具。
如本文中所使用,“运载工具”包括运输货物或人的装置。例如,汽车、公共汽车、火车、飞机、无人机、卡车、船只、船舶、潜水器、飞船等。无人驾驶汽车是运载工具的示例。
如本文中所使用,“轨迹”指的是用于将AV从第一时空位置导航至第二时空位置的路径或路线。在实施例中,第一时空位置被称为初始或起始位置,且第二时空位置被称为目的地、最终位置、目标、目标地点或目标位置。在一些示例中,轨迹由一个或多个段(例如,道路区段)组成,并且每段由一个或多个块(例如,车道或交叉口的部分)组成。在实施例中,时空位置与现实世界位置相对应。例如,时空位置是用于接载或卸放人或货物的接载或卸放位置。
如本文中所使用,“(多个)传感器”包括检测有关传感器周围的环境的信息的一个或多个硬件组件。硬件组件中的一些可包括感测组件(例如,图像传感器、生物特征识别传感器)、发射和/或接收组件(例如,激光或射频波发射器和接收器)、电子组件(诸如,模数转换器)、数据存储设备(诸如,RAM和/或非易失性存储)、软件或固件组件以及数据处理组件(诸如,ASIC(专用集成电路))、微处理器和/或微控制器。
如本文中所使用,“场景描述”是数据结构(例如,列表)或数据流,该数据结构或数据流包括由AV运载工具上的一个或多个传感器检测到的或由在AV外部的源提供的一个或多个经分类或经标识的对象。
如本文中所使用,“道路”是可由运载工具穿行的物理区域,并且可以与经命名的通路(例如,城市街道、州际高速公路等)相对应,或可以与未经命名的通路(例如,住宅或办公建筑中的车道、停车场的一段、空地的一段以及乡村区域的土路等)相对应。由于一些运载工具(例如,四轮皮卡、运动型多功能车等)能够穿行各种并非专门针对运载工具行驶适配的物理区域,因此“道路”可以是并非由任何市政当局或其他政府或行政主体正式定义为通路的物理区域。
如本文中所使用,“车道”是可由运载工具穿行的道路的部分,并且可对应于车道标记之间的大多数或全部空间,或可对应于车道标记之间的空间中的仅一些(例如,少于50%)。例如,具有分隔较远的车道标记的道路可在标记之间容纳两个或更多个运载工具,使得一个运载工具能够在不穿行车道标记的情况下经过另一运载工具,并且可因此解释为具有比车道标记之间的空间更窄的车道,或在车道标记之间具有两个车道。在没有车道标记的情况下,车道也可被解释。例如,可以基于环境的物理特征来限定车道,例如,乡村区域中沿着通路的岩石和树木。
“一个或多个”包括:由一个要素执行的功能;由多于一个要素例如以分布式方式执行的功能;由一个要素执行的若干功能;由若干要素执行的若干功能;或上述的任何组合。
还将理解的是,虽然在一些实例中,术语第一、第二等在本文中用于描述各种要素,但这些要素不应受这些术语的限制。这些术语仅用于将一个要素与另一个区别开来。例如,第一接触件可被称为第二接触件,并且类似地,第二接触件可被称为第一接触件,而没有背离各个所描述的实施例的范围。第一接触件和第二接触件二者都是接触件,但它们并非相同的接触件。
在对本文中各种所描述的实施例的描述中使用的术语仅出于描述特定实施例的目的,而不旨在是限制性的。如在对所描述的各实施例和所附权利要求的描述中所使用,单数形式“一(a、an)”、和“该(the)”旨在也包括复数形式,除非上下文另外明确指出。还将理解的是,本文所使用的术语“和/或”是指并且包含相关联的所列项目中的任一个以及相关联的所列项目中的一个或更多个的所有可能的组合。将进一步理解的是,术语“包含(includes、including)”和/或“包括(comprises、comprising)”当在本申请文件中使用时,指明所陈述的特征、整数、步骤、操作、要素和/或组件的存在,但并不排除一个或多个其他特征、整数、步骤、操作、要素、组件和/或其群组的存在或添加。
如本文中所使用的,取决于上下文,术语“如果(if)”可选地被解释为表示“当…时或“在…后”或“响应于确定”或“响应于检测到”。类似地,取决于上下文,短语“如果被确定”或“如果检测到(所陈述的状况或事件)”被可选地解释为表示“在确定…后”或“响应于确定”或“在检测到(所陈述的状况或事件)后”或“响应于检测到(所陈述的状况或事件)”。
如本文中所使用,AV系统指的是该AV以及支持该AV的操作的硬件、软件、存储的数据以及实时生成的数据的阵列。在实施例中,AV系统被结合到AV中。在实施例中,AV系统跨若干位置分布。例如,AV系统的软件中的一些实现在类似于下文关于图3描述的云计算环境300的云计算环境上。
总体上,本文描述适用于具有一项或多项自主能力的任何运载工具的技术,这些运载工具包括完全自主的运载工具、高度自主的运载工具和有条件自主的运载工具,诸如分别为所谓的5级、4级和3级运载工具(参见SAE国际标准J3016:与道路机动车辆自动驾驶系统相关的术语的分类和定义(Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle Automated Driving Systems),其通过引用整体并入本文,以用于有关运载工具的自主级别的分类的更多详细信息)。本文档中所描述的技术也可适用于部分自主的运载工具和驾驶员辅助的运载工具,诸如所谓的2级和1级运载工具(参见SAE国际标准J3016:与道路机动车辆自动驾驶系统相关的术语的分类和定义)。在实施例中,1级、2级、3级、4级和5级运载工具系统中的一个或多个可以基于传感器输入的处理在某些操作条件下使某些运载工具操作(例如,转向、制动和使用地图)自动化。本文描述的技术能够使从完全自主的运载工具到人工操作的运载工具的范围内的任何级别的运载工具受益。
参考图1,AV系统120操作AV 100沿着轨迹198通过环境190至目的地199(有时被称为最终位置),同时避开对象(例如,自然障碍191、运载工具193、行人192、骑行者以及其他障碍物)并遵守道路规则(例如,操作规则或驾驶偏好)。
在实施例中,AV系统120包括设备101,该设备101被装配成用于接收并作用于来自计算机处理器146的操作命令。在实施例中,计算处理器146与下文参照图3描述的处理器304类似。设备101的示例包括转向控制件102、制动器103、齿轮、加速器踏板或其他加速控制机制、风挡雨刮器、侧门锁、窗户控制件或转向指示器。
在实施例中,AV系统120包括传感器121,用于测量或推断AV 100的状态或状况的属性,诸如AV的位置、线速度和角速度和加速度、以及前进方向(例如,AV 100前端的取向)。传感器121的示例为GPS、测量运载工具线性加速度和角速度的惯性测量单元(IMU)、用于测量或估计轮滑移率的轮速度传感器、轮制动压力或制动扭矩传感器、引擎扭矩或轮扭矩传感器以及转向角和角速度传感器。
在实施例中,传感器121也包括用于感测或测量AV的环境的属性的传感器。例如,采用可见光、红外或热(或两者)光谱的单目或立体视频相机122、LiDAR 123、雷达、超声传感器、飞行时间(TOF)深度传感器、速度传感器、温度传感器、湿度传感器以及降水传感器。
在实施例中,AV系统120包括数据存储单元142以及存储器144,用于存储与计算机处理器146相关联的机器指令或由传感器121收集的数据。在实施例中,数据存储单元142与下文描述的与图3有关的ROM 308或存储设备310类似。在实施例中,存储器144与下文描述的主存储器306类似。在实施例中,数据存储单元142和存储器144存储与环境190相关的历史信息、实时信息和/或预测信息。在实施例中,所存储的信息包括地图、驾驶性能、交通堵塞更新或天气状况。在实施例中,与环境190相关的数据从位于远程的数据库134通过通信信道被传送到AV 100。
在实施例中,AV系统120包括通信设备140,用于将其他运载工具的状态和状况的所测量或所推断的属性(诸如位置、线速度和角速度、线加速度和角加速度、以及线性前进方向和角航向)传递至AV 100。这些设备包括运载工具到运载工具(V2V)和运载工具到基础设施(V2I)通信设备以及用于通过点对点或自组织网络或通过这两者进行无线通信的设备。在实施例中,通信设备140跨电磁频谱(包括无线电通信和光通信)或其他介质(例如,空气和声学介质)进行通信。运载工具到运载工具(V2V)通信与运载工具到基础设施(V2I)通信(以及在一些实施例中,一个或多个其他类型的通信)的组合有时被称为运载工具到所有(V2X)通信。V2X通信通常遵守一个或多个与自主运载工具通信或在自主运载工具之间进行通信的通信标准。
在实施例中,通信设备140包括通信接口。例如,有线、无线、WiMAX、WiFi、蓝牙、卫星、蜂窝、光、近场、红外或无线电接口。通信接口将数据从位于远程的数据库134传送到AV系统120。在实施例中,位于远程的数据库134嵌入在如图2中所示的云计算环境200中。通信接口140将从传感器121收集的数据或与AV 100的操作相关的其他数据传送到位于远程的数据库134。在实施例中,通信接口140将与遥操作相关的信息传送到AV 100。在一些实施例中,AV 100与其他远程(例如,“云”)服务器136通信。
在实施例中,位于远程的数据库134也存储并传送数字数据(例如,存储诸如道路和街道位置之类的数据)。此类数据被存储在位于AV 100上的存储器144中,或通过通信信道从位于远程的数据库134被传送到AV 100。
在实施例中,位于远程的数据库134存储并传送有关运载工具的驾驶属性的历史信息(例如,速度和加速度分布),该运载工具之前曾在一天中类似的时间沿着轨迹198行驶。在一个实现中,此类数据可被存储在位于AV 100上的存储器144中,或通过通信信道从位于远程的数据库134被传送到AV 100。
位于AV 100上的计算设备146基于实时传感器数据和先前信息通过算法方式生成控制动作,从而允许AV系统120执行其自主驾驶能力。
在实施例中,AV系统120包括耦合至计算设备146的计算机外围设备132,用于向AV100的用户(例如,乘客或远程用户)提供信息和警报以及接收来自该用户的输入。在实施例中,外围设备132与下文参照图3所讨论的显示器312、输入设备314以及光标控制器316类似。耦合是无线的或有线的。可以将接口设备中的任何两个或更多个集成到单个设备中。
图2示出了示例“云”计算环境。云计算是服务交付模型,用于实现到可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机以及服务)共享池的方便、按需的网络访问。在典型的云计算系统中,一个或多个大型云数据中心容纳被用于交付由云提供的服务的机器。现在参考图2,云计算环境200包括云数据中心204a、204b以及204c,它们通过云202被互连。数据中心204a、204b以及204c向连接到云202的计算机系统206a、206b、206c、206d、206e以及206f提供云计算服务。
云计算环境200包括一个或多个云数据中心。通常,云数据中心(例如图2中所示的云数据中心204a)指的是组成云(例如,图2中示出的云202)或云的特定部分的服务器的物理布置。例如,服务器在云数据中心物理地布置为房间、组、排以及机架。云数据中心具有一个或多个区域,这一个或多个区域包括一个或多个服务器房间。每一个房间具有一排或多排服务器,并且每一排包括一个或多个机架。每一个机架包括一个或多个个体服务器节点。在一些实现中,基于数据中心设施的物理基础设施要求(其包括功率、能源、热、热量和/或其他要求)将区域、房间、机架和/或排中的服务器被布置成组。在实施例中,服务器节点与图3中所述的计算机系统类似。数据中心204a具有通过许多机架而分布的许多计算系统。
云202包括云数据中心204a、204b和204c以及网络和联网资源(例如,联网装备、节点、路由器、交换机以及联网电缆),这些网络和联网资源将云数据中心204a、204b以及204c互连,并帮助促进计算系统206a-f对云计算服务的访问。在实施例中,网络表示使用有线或无线链路耦合的一个或多个本地网络、广域网或互联网络的任何组合,有线和无线链路使用地面或卫星连接来部署。通过网络交换的数据使用任何数量的网络层协议进行传送,这些网络层协议诸如网际协议(IP)、多协议标签交换(MPLS)、异步传输模式(ATM)以及帧中继等。进一步地,在其中网络表示多个子网的组合的实施例中,在下方子网中的每一个子网处使用不同的网络层协议。在一些实施例中,网络表示一个或多个经互连的互联网络,诸如公共因特网。
计算系统206a-f或云计算设备消费方通过网络链路和网络适配器被连接至云202。在实施例中,计算系统206a-f被实现为各种计算设备,例如服务器、台式计算机、膝上型计算机、平板、智能手机、物联网(IoT)设备、自主运载工具(包括,汽车、无人机、班车、火车、公共汽车等)以及消费者电子产品。在实施例中,计算系统206a-f在其他系统中实现或实现为其他系统的部分。
图3图示出计算机系统300。在实现中,计算机系统300是专用计算设备。专用计算机设备是硬接线的以执行技术,或包括被持久地编程以执行技术的数字电子设备(诸如,一个或多个专用集成电路(ASIC)或现场可编程门阵列(FPGA)),或可包括被编程以依照固件、存储器、其他存储或其组合内的程序指令来执行技术的一个或多个通用硬件处理器。此类专用计算设备还可将定制的硬接线逻辑、ASIC或FPGA与定制的编程进行组合,以实现这些技术。在各种实施例中,专用计算设备是台式计算机系统、便携式计算机系统、手持设备、网络设备或包含用于实现这些技术的硬接线和/或程序逻辑的任何其他设备。
在实施例中,计算机系统300包括用于传送信息的总线302或其他通信机制、以及与总线304耦合以用于处理信息的硬件处理器302。硬件处理器304例如是通用微处理器。计算机系统300还包括主存储器306(诸如,随机存取存储器(RAM)或其他动态存储设备),该主存储器耦合至总线302,用于存储信息以及用于由处理器304执行的指令。在一个实现中,主存储器306被用来在用于处理器304执行的指令的执行期间存储临时变量或其他中间信息。此类指令在被存储在对于处理器304可访问的非瞬态存储介质中时将计算机系统300呈现为被定制成用于执行这些指令中指定的操作的专用机器。
在实施例中,计算机系统300进一步包括耦合至总线302的、用于存储用于处理器304的静态信息和指令的只读存储器(ROM)308或其他静态存储设备。提供存储设备310,并且该存储设备耦合至总线302以用于存储信息和指令,该存储设备诸如,磁盘、光盘、固态驱动器、或三维交叉点存储器。
在实施例中,计算机系统300经由总线302耦合至显示器312以向计算机用户显示信息,该显示器312诸如,阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、发光二极管(LED)显示器、或有机发光二极管(OLED)显示器。包括字母数字及其他键的输入设备314耦合至总线302,用于将信息和命令选择传送到处理器304。另一类型的用户输入设备是用于将方向信息和命令选择传送到处理器304并用于控制显示器312上的光标移动的光标控制器316,诸如,鼠标、轨迹球、启用触摸的显示器或光标方向键。该输入设备典型地具有两个轴(第一轴(例如,x轴)和第二轴(例如,y轴))上的两个自由度,这允许设备指定平面中的位置。
根据一个实施例,本文中的技术由计算机系统300响应于处理器304执行主存储器306中所包含的一条或多条指令的一个或多个序列而执行。此类指令从另一存储介质(诸如,存储设备310)被读取到主存储器306中。对主存储器306中所包含的指令序列的执行使得处理器304执行本文中所描述的过程步骤。在替代实施例中,使用硬接线电路代替软件指令,或者与软件指令组合地使用硬接线电路。
本文中所使用的术语“存储介质”是指存储使得机器以特定方式进行操作的数据和/或指令的任何非暂态介质。此类存储介质包括非易失性介质和/或易失性介质。非易失性介质包括例如,光盘、磁盘、固态驱动器或三维交叉点存储器,诸如存储设备310。易失性介质包括动态存储器,诸如主存储器306。常见形式的存储介质包括例如,软盘、柔性盘、硬盘、固态驱动器、磁带或任何其他磁数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、闪存-EPROM、NV-RAM、或任何其他存储芯片或盒式存储器。
存储介质与传输介质不同,但可以与传输介质一同使用。传输介质参与在存储介质之间传递信息。例如,传输介质包括同轴电缆、铜导线和光纤,包括含总线302的导线。传输介质还可以采取声波或光波的形式,诸如那些在无线电波和红外数据通信期间生成的波。
在实施例中,各种形式的介质涉及将一条或多条指令的一个或多个序列承载至处理器304以供执行。例如,指令最初被承载在远程计算机的磁盘或固态驱动器上。远程计算机将这些指令加载到其动态存储器中,并使用调制解调器通过电话线发送这些指令。计算机系统300本地的调制解调器在电话线上接收数据,并使用红外发射器将该数据转换为红外信号。红外检测器接收红外信号中承载的数据,并且适当的电路将该数据置于总线302上。总线302将数据承载至主存储器306,处理器304从该主存储器306检取指令并执行这些指令。由主存储器306接收的指令可在由处理器304执行之前或之后任选地被存储在存储设备310上。
计算机系统300还包括耦合至总线302的通信接口318。通信接口318提供到网络链路320的双向数据通信耦合,该网络链路320连接至本地网络322。例如,通信接口318是集成服务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器、或用于提供到对应类型的电话线的数据通信连接的调制解调器。作为另一示例,通信接口318是用于提供到兼容的局域网(LAN)的数据通信连接的LAN卡。在一些实现中,还实现了无线链路。在任何此类实现中,通信接口318发送和接收承载表示各种类型的信息的数字数据流的电信号、电磁信号或光信号。
网络链路320典型地提供通过一个或多个网络到其他数据设备的数据通信。例如,网络链路320提供通过本地网络322到主机计算机324或到由互联网服务提供商(ISP)326运营的云数据中心或装备的连接。ISP 326进而通过世界范围的分组数据通信网络(现在通常被称为“因特网”328)提供数据通信服务。本地网络322和因特网328两者均使用承载数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及网络链路320上和通过通信接口318的信号是示例形式的传输介质,这些信号承载去往和来自计算机系统300的数字数据。在实施例中,网络320包含上文所述的云202或云202的部分。
计算机系统300通过(多个)网络、网络链路320和通信接口318发送消息并接收包括程序代码的数据。在实施例中,计算机系统300接收代码以用于处理。所接收的代码在其被接收时由处理器304执行,和/或被存储在存储设备310和/或其他非易失性存储中以供稍后执行。
自主运载工具架构
图4示出了用于自主运载工具(例如,图1所示的AV 100)的示例架构400。架构400包括感知模块402(有时被称为感知电路)、规划模块404(有时被称为规划电路)、控制模块406(有时被称为控制电路)、定位模块408(有时被称为定位电路)以及数据库模块410(有时被称为数据库电路)。每一个模块都在AV 100的操作中发挥作用。模块402、404、406、408以及410一起可以是图1所示的AV系统120的部分。在一些实施例中,模块402、404、406、408以及410中的任一个是计算机软件(例如,存储在计算机可读介质上的可执行代码)以及计算机硬件(例如,一个或多个微处理器、微控制器、专用集成电路(ASIC)、硬件存储器设备、其他类型的集成电路、其他类型的计算机硬件或上述这些事物中的任何事物或所有事物的组合)的组合。
在使用中,规划模块404接收表示目的地412的数据,并确定表示轨迹414(有时被称为路线)的数据,AV 100可沿该轨迹行驶以到达(例如,抵达)目的地412。在使用中,规划模块404接收表示目的地412的数据,并确定表示轨迹414(有时被称为路线)的数据,AV 100可沿该轨迹行驶以到达(例如,抵达)目的地412。
感知模块402使用一个或多个传感器121(例如,也如图1中所示)标识附近的物理对象。对象经分类(例如,被编组为诸如行人、自行车、机动车、交通标志等的类型),并且包括经分类的对象416的场景描述被提供给规划模块404。
规划模块404也接收来自定位模块408的表示AV位置418的数据。定位模块408通过使用来自传感器121的数据以及来自数据库模块410的数据(例如,地理数据)来计算位置从而确定AV位置。例如,定位模块408使用来自GNSS(全球导航卫星系统)传感器的数据并使用地理数据来计算AV的经度和纬度。在实施例中,由定位模块408使用的数据包括:道路几何属性的高精度地图、描述道路网络连接性属性的地图、描述道路物理属性(诸如交通速度、交通量、车辆和自行车行车道的数量、车道宽度、车道交通方向或车道标记类型和位置或其组合)的地图、以及描述道路特征(诸如人行横道、交通标志或各种类型的其他行驶信号)的空间位置的地图。
控制模块406接收表示轨迹414的数据以及表示AV位置418的数据,并以将使得AV100沿轨迹414行驶至目的地412的方式操作AV的控制功能420a-c(例如,转向、油门、制动、点火)。例如,如果轨迹414包括左转向,则控制模块406将以如下方式操作控制功能420a-c,该方式使得转向功能的转向角度将使得AV 100左转且油门和制动将使得AV 100在作出转向前停下并等待通行的行人或运载工具。
自主运载工具输入
图5示出了由感知模块402(图4)所使用的输入502a-d(例如,图1所示的传感器121)以及输出504a-d(例如,传感器数据)的示例。一个输入502a是LiDAR(光检测和测距)系统(例如,图1所示的LiDAR123)。LiDAR是使用光(例如,诸如红外光之类的光的猝发)以获得有关其视线内的物理对象的数据的技术。LiDAR系统产生LiDAR数据作为输出504a。例如,LiDAR数据是被用于构建环境190的表示的3D或2D点的集合(也称为点云)。
另一输入502b是雷达系统。雷达是使用无线电波以获取有关附近物理对象的数据的技术。雷达可获取有关不在LiDAR系统视线内的对象的数据。雷达系统502b生成雷达数据作为输出504b。例如,雷达数据是被用于构建环境190的表示的一个或多个射频电磁信号。
另一输入502c是相机系统。相机系统使用一个或多个相机(例如,使用诸如电耦合器件(CCD)之类的光传感器的数码相机)以获得有关附近物理对象的信息。相机系统产生相机数据作为输出504c。相机数据通常采取图像数据的形式(例如,诸如RAW、JPEG、PNG等图像数据格式的数据)。在一些示例中,相机系统具有例如用于立体观测(立体视觉)的多个独立相机,这使得相机系统能够感知深度。尽管由相机系统感知的对象在本文中被描述为“附近”,但这是相对于AV的。在使用中,相机系统可被配置成用于“看见”远处的对象,例如,位于AV前方多达一公里或更远的对象。相应地,相机系统可具有诸如被优化以感知远处对象的传感器以及透镜之类的特征。
另一输入502d是交通灯检测(TLD)系统。TLD系统使用一个或多个相机以获得有关交通灯、街道标志以及提供视觉导航信息的其他物理对象的信息。TLD系统产生TLD数据作为输出504d。TLD数据通常采取图像数据的形式(例如,诸如RAW、JPEG、PNG等图像数据格式的数据)。TLD系统与结合了相机的系统的不同之处在于,TLD系统使用具有广视场(例如,使用广角透镜或鱼眼透镜)的相机以获得有关提供视觉导航信息的尽可能多的物理对象的信息,从而使得AV 100能够访问由这些对象提供的所有相关的导航信息。例如,TLD系统的视角可以是大约120度或更大。
在一些实施例中,输出504a-d是使用传感器融合技术被组合的。因此,各个输出504a-d被提供给AV 100的其他系统(例如,被提供给如图4所示的规划模块404),或者经组合的输出能够以相同类型(例如,使用相同的组合技术,或组合相同的输出,或这两者)或不同类型(例如,使用不同的对应组合技术,或组合不同的对应输出,或这两者)的单个经组合的输出或多个经组合的输出的形式被提供至其他系统,。在一些实施例中,使用早期融合技术。早期融合技术通过在一个或多个数据处理步骤被应用到经组合的输出之前将输出组合来表征。在一些实施例中,使用后期融合技术。后期融合技术通过在一个或多个数据处理步骤被应用到各个输出之后将输出组合来表征。
图6示出了LiDAR系统602的示例(例如,图5中所示的输入502a)。LiDAR系统602从光发射器606(例如,激光发射器)发出射线604a-c。由LiDAR系统发出的射线通常不在可视频谱内;例如,通常使用红外射线。发出的射线604b中的一些遇到物理对象608(例如,运载工具)并往回反射到LiDAR系统602。(由LiDAR系统发射的光通常不穿透物理对象,例如,以固态存在的物理对象。)LiDAR系统602也具有一个或多个光检测器610,其检测反射的光。在实施例中,与LiDAR系统相关联的一个或多个数据处理系统生成图像612,该图像612表示LiDAR系统的视场614。图像612包括表示物理对象608的边界616的信息。以此方式,图像612被用于确定AV附近的一个或多个物理对象的边界616。
图7示出了操作中的LiDAR系统602。在该图中示出的场景中,AV 100接收图像702形式的相机系统输出504c以及LiDAR数据点704形式的LiDAR系统输出504a。在使用中,AV100的数据处理系统将图像702与数据点704相比较。具体而言,在图像702中被标识的物理对象706也在数据点704中被标识。以此方式,AV 100基于数据点704的轮廓和密度来感知物理对象的边界。
图8更详细地示出了LiDAR系统602的操作。如上文所述,AV 100基于由LiDAR系统602检测到的数据点的特性来检测物理对象的边界。如图8中所示,平的对象(诸如,地面802)将以一致的方式反射由LiDAR系统602发射的射线804a-d。换言之,由于LiDAR系统602使用一致的间隔发出射线,因此地面802将会以同样一致的间隔将射线往回反射至LiDAR系统602。随着AV 100在地面802上行驶,如果没有对象阻碍道路,则LiDAR系统602将继续检测由下一有效地面点806反射的光。然而,如果对象808阻碍了道路,则由LiDAR系统602发射的光804e-f将以与所预期的一致方式不一致的方式从点810a-b被反射。从该信息中,AV 100可判定存在对象808。
路径规划
图9示出了规划模块404(例如,如图4中所示)的输入与输出之间的关系的框图900。通常,规划模块404的输出是从起点904(例如,源位置或初始位置)到终点906(例如,目的地或最终位置)的路线902。路线902通常由一个或多个分段定义。例如,分段是指在街道、道路、公路、车道或其他适合机动车行驶的物理区域的至少一部分上行驶的距离。在一些示例中,例如,如果AV 100是具有越野能力的运载工具(诸如,四轮驱动(4WD)或全轮驱动(AWD)汽车、SUV、皮卡等),则路线902包括诸如未铺砌道路或开放空地之类的“越野”区段。
除路线902之外,规划模块也输出车道级路线规划数据908。车道级路线规划数据908被用于基于分段在特定时间的状况来遍历路线902的分段。例如,如果路线902包括多车道公路,则车道级路线规划数据908包括轨迹规划数据910,AV 100可使用该轨迹规划数据,例如基于是否正接近出口、车道中的一个或多个车道是否有其他运载工具、或在几分钟或更短时间内变化的其他因素在多个车道中选择车道。类似地,在一些实现中,车道级路线规划数据908包括特定于路线902的区段的速度约束912。例如,如果区段包括行人或预期外的交通,则速度约束912可将AV 100限制到低于预期速度(例如,基于用于该区段的速度限制数据的速度)的行驶速度。
在实施例中,向规划模块404的输入包括数据库数据914(例如,来自如图4所示的数据库模块410)、当前位置数据916(例如,如图4所示的AV位置418)、目的地数据918(例如,用于如图4所示的目的地412)以及对象数据920(例如,由如图4所示的感知模块402感知的经分类的对象416)。在一些实施例中,数据库数据914包括规划中使用的规则。规则使用正式语言来指定,例如,使用布尔逻辑来指定。在由AV 100遇到的任何给定情况中,规则中的至少一些将应用于该情况。如果规则具有基于可用于AV 100的信息(例如,有关周围环境的信息)而被满足的条件,则该规则应用于给定情况。规则可具有优先级。例如,规则“如果道路为高速公路,则移动至最左侧车道”可具有比“如果一英里以内正接近出口,则移动至最右侧车道”更低的优先级。
图10示出了在(例如,由规划模块404(图4)执行的)路线规划中使用的有向图1000。总体上,如图10中所示的有向图那样的有向图1000被用于确定任何起点1002与终点1004之间的路径。在现实世界术语中,分隔起点1002和终点1004的距离可以相对较大(例如,在两个不同的城市区域中)或可以相对较小(例如,紧邻城市街区的两个交叉口或多车道道路的两个车道)。
在实施例中,有向图1000具有节点1006a-d,其表示能够由AV 100占据的起点1002与终点1004之间的不同位置。在一些示例中,例如,当起点1002和终点1004表示不同城市区域时,节点1006a-d表示道路的区段。在一些示例中,例如,当起点1002和终点1004表示相同道路上的不同位置时,节点1006a-d表示该道路上的不同位置。以此方式,有向图1000包括采用不同粒度级别的信息。在实施例中,具有高粒度的有向图也是具有更大比例的另一有向图的子图。例如,在其中起点1002距终点1004较远(例如,相距很多英里)的有向图的大多数信息具有低粒度且该有向图基于所存储的数据,但对于该图的、表示AV 100的视场内的物理位置的部分也包括一些高粒度信息。
节点1006a-d与对象1008a-b不同,对象1008a-b不能与节点重叠。在实施例中,当粒度为低时,对象1008a-b表示不能被机动车穿行的区域,例如,没有街道或道路的区域。当粒度为高时,对象1008a-b表示AV 100的视场内的物理对象,例如,其他机动车、行人、或AV100无法与其共享物理空间的其他实体。在实施例中,对象1008a-b的一些或全部为静态对象(例如,不改变位置的对象,诸如街灯或电线杆)或动态对象(例如,能够改变位置的对象,诸如行人或其他运载工具)。
节点1006a-d由边1010a-c连接。如果两个节点1006a-b由边1010a连接,则AV 100可以在一个节点1006a与另一节点1006b之间行驶,例如,不必在抵达另一节点1006b之前行驶至中间节点。(当我们提到AV 100在节点之间行驶时,我们是指AV 100在由相应节点表示的两个物理位置之间行驶。)在AV 100从第一节点行驶至第二节点或从第二节点行驶至第一节点的意义上,边1010a-c通常是双向的。在实施例中,在AV 100能从第一节点行驶至第二节点但AV 100无法从第二节点行驶至第一节点的意义上,边1010a-c是单向的。当边1010a-c表示例如单行道、街道、道路或公路的各个车道、或由于法律或物理约束仅能在一个方向穿行的其他特征时,边1010a-c是单向的。
在实施例中,规划模块404使用有向图1000来标识由起点1002与终点1004之间的节点和边组成的路径1012。
边1010a-c具有相关联的成本1014a-b。成本1014a-b是表示如果AV 100选择该边则将被花费的资源的值。典型的资源为时间。例如,如果一条边1010a表示另一边1010b两倍的物理距离,则第一边1010a的相关联的成本1014a可以是第二边1010b的相关联的成本1014b的两倍。影响时间的其他因素包括预期交通、交叉路口数量、速度限制等。另一典型的资源为燃料经济性。两条边1010a-b可表示相同的物理距离,但是一条边1010a可能比另一边1010b需要更多的燃料(例如,由于道路状况、预期天气等)。
当规划模块404标识起点1002与终点1004之间的路径1012时,规划模块404通常选择针对成本优化的路径,例如,当各个边的成本加在一起时具有最低总成本的路径。
自主运载工具控制
图11示出了(例如,如图4中所示的)控制模块406的输入和输出的框图1100。控制模块根据控制器1102操作,该控制器1102包括例如与处理器304类似的一个或多个处理器(例如,一个或多个计算机处理器,诸如,微处理器、或微控制器、或这两者)、与主存储器306、ROM 1308以及存储设备210类似的短期和/或长期数据存储(例如,存储器随机存取存储器、或闪存、或这两者)、以及存储在存储器内的指令,当该指令被执行(例如,由一个或多个处理器执行)时执行控制器1102的操作。
在实施例中,控制器1102接收表示期望输出1104的数据。期望输出1104通常包括速度,例如,速率和前进方向。期望输出1104可基于例如从(例如,如图4所示的)规划模块404接收的数据。根据期望输出1104,控制器1102生成可用作油门输入1106以及转向输入1108的数据。油门输入1106表示例如通过接合转向踏板、或接合另一油门控制件以实现期望输出1104来接合AV 100的油门(例如,加速控制)所按照的幅度。在一些示例中,油门输入1106也包括可用于接合AV 100的制动(例如,减速控制)的数据。转向输入1108表示转向角,例如,AV的转向控制件(例如,方向盘、转向角致动器或用于控制转向角的其他功能)为实现期望输出1104而应当被定位所处于的角度。
在实施例中,控制器1102接收反馈,该反馈被用于调整被提供给油门和转向的输入。例如,如果AV 100遇到了扰动1110,诸如山丘,则AV 100的测量速度1112降低至预期输出速度。在实施例中,任何测量输出1114都被提供至控制器1102,使得例如基于测量速度与期望输出之间的差异1113执行必要的调整。测量输出1114包括测量位置1116、测量速度1118(包括速率和朝向)、测量加速度1120以及可由AV 100的传感器测量的其他输出。
在实施例中,有关干扰1110的信息被事先检测(例如,由诸如相机或LiDAR传感器之类的传感器检测),并被提供至预测性反馈模块1122。预测性反馈模块1122随后向控制器1102提供信息,控制器1102可使用该信息以相应地调整。例如,如果AV 100的传感器检测到(“看见”)山,则该信息可被控制器1102使用以准备在合适的时间接合油门以避免显著的减速。
图12示出了控制器1102的输入、输出以及组件的框图1200。控制器1102具有速度分析器1202,该速度分析器1202影响油门/制动控制器1204的操作。例如,取决于例如由控制器1102接收并由速度分析器1202处理的反馈,速度分析器1202使用油门/制动器1206指示油门/制动器控制器1204进行加速或进行减速。
控制器1102还具有横向跟踪控制器1208,该横向跟踪控制器1208影响转向控制器1210的操作。例如,取决于例如由控制器1102接收且由横向跟踪控制器1208处理的反馈,横向跟踪控制器1208指示转向控制器1204调整转向角致动器1210的位置。
控制器1102接收用于确定如何控制油门/制动器1206以及转向角致动器1212的若干输入。规划模块404提供由例如控制器1102使用以便当AV 100开始操作时选择朝向并且当AV 100到达交叉路口时确定要穿行哪个路段的信息。定位模块408向控制器1102提供例如描述AV 100的当前位置的信息,从而使得控制器1102能够判定AV 100是否位于基于油门/制动器1206以及转向角致动器1212正被控制所按照的方式而预期的位置。在实施例中,控制器1102从其他输入1214接收信息(例如,从数据库、计算机网络等接收的信息)。
用于对象检测的计算机系统
图13示出用于对象检测的计算系统1300的示例架构。在该示例中,计算机系统1300可以位于自主运载工具上,并且可以是较大的计算系统的一部分,该较大的计算系统基于实时传感器数据和先验信息通过算法生成控制动作,从而允许运载工具执行其自主驾驶能力。可以以与关于图1描述的位于AV 100上的计算设备146类似的方式来实现计算机系统1300。
通常,计算机系统1300被配置为从运载工具的一个或多个传感器接收输入,基于接收到的输入检测运载工具周围的环境中的一个或多个对象,并基于对象的检测来操作运载工具。为了检测对象,计算系统1300实施支柱处理模块1301、主干神经网络1318以及对象检测神经网络1322。
支柱处理模块1301包括支柱创建组件1306、编码器1310和2D图像创建组件1314。支柱创建组件1306被配置为从运载工具的传感器1302接收一组测量值,例如点云1303,作为输入。在一些实施例中,传感器1302是LIDAR,例如,参照图6至图8描述的LIDAR 602。在一些实施例中,传感器1302是雷达,例如,参照图5描述的雷达502b。在一个实施例中,支柱创建组件1306被配置为接收通过组合来自多个LIDAR的点云而生成的合并点云。
点云1303包括表示运载工具周围的3D空间中的多个对象的多个数据点。例如,多个数据点代表多个对象,包括运载工具(例如汽车、自行车或卡车)、行人、动物、静态对象(例如植被、建筑物等)或基础设施(例如,交通信号灯)中的一个或多个。多个数据点中的每个数据点是一组3D空间坐标,例如(x,y,z)坐标。在图14中示出了具有多个数据点的示例点云。
支柱创建组件1306被配置为将3D空间划分为多个支柱。多个支柱中的每个支柱是3D空间的切片,并且每个支柱从3D空间的2D地平面(例如,x-y平面)的相应部分延伸。在实施例中,相对于LiDAR坐标系定义3D空间坐标。x-y平面平行于地面,而z垂直于地面。在实施例中,支柱无限地上下延伸(z方向),其对应于地面以下的区域并且朝向环境中的天空。例如,在使用探地雷达或其他扫描地表特征的传感器的情况下,支柱向下延伸至地面以下。同样,如果传感器包括具有较大视野的LiDAR或扫描地面以上较大区域的其他传感器。在实施例中,支柱具有固定的最小高度和固定的最大高度,该最小高度和最大高度对应于所观察到的包括地面和最高关注对象的环境。
在一些实施例中,支柱创建组件1306将2D地平面划分成具有具有相同尺寸的网格单元(例如,具有相等长度的边的正方形栅格单元)的2D网格,并且因此支柱从具有相同体积的这些2D网格单元在3D空间中竖直地(例如,沿z方向)延伸。在一个实施例中,网格单元的大小是可变的,并且可以基于计算要求来确定。较粗的网格将不太准确,并且需要较少的计算资源。同样,更精细的网格将以增加的计算资源为代价提高准确性。在实施例中,网格单元具有不等长的边。
在一些实施例中,支柱创建组件1306将2D地平面划分为具有不同网格单元尺寸的2D网格。例如,组件1306使用来自其他传感器1304(例如,相机)的附加输入1305在点云1303中检测对象的密度。组件1306可以生成具有不同网格单元大小的2D网格,从而使得在高对象密度的区域中有较多的支柱,在低对象密度的区域中有较少的支柱,在没有对象的区域中没有支柱。
接下来,支柱创建组件1306将多个数据点中的每个数据点分配给多个支柱中的支柱。例如,基于数据点的2D坐标,将多个数据点的每个数据点分配给相应的支柱。也就是说,如果数据点的2D坐标在2D地平面的特定支柱从中延伸的特定部分内,则将数据点分配给该特定支柱。
在将数据点分配给支柱之后,支柱创建组件1306确定多个非空支柱(具有至少一个数据点的支柱)的第一计数是否超过阈值P。
如果多个非空支柱的第一计数超过P,则支柱创建组件1306从多个非空支柱中选择P个非空支柱。例如,支柱创建组件1306从多个非空支柱中随机地对P个非空支柱进行子采样。
如果非空支柱的第一计数小于第一阈值P,则支柱创建组件1306生成空支柱的第二子集,使得第一计数与支柱的第二子集的第二计数之和为P。支柱创建组件1306然后从多个非空支柱和支柱的第二子集中选择P个非空支柱。
对于P个非空支柱中的每个非空支柱,支柱创建组件1306被配置为维持每个非空支柱中的阈值数量的数据点。为此,支柱创建组件1306首先针对P个非空支柱中的每个非空支柱确定分配给该非空支柱的数据点的第三计数是否超过第二阈值N。
对于P个非空支柱中的每个非空支柱,如果分配给该非空支柱的数据点的第三计数超过第二阈值N,则支柱创建组件1306选择N个数据点以保持在该非空支柱中。例如,支柱创建组件1306从分配给非空支柱的数据点中随机地对N个数据点进行子采样。在实施例中,通常将N确定为足够高,以使得存在来自每个对象的一个或多个点被捕获在点支柱中的接近统计确定性(>99%)。在实施例中,使用不同的算法来进一步降低在数据点采样期间丢失对象的风险。如果非空支柱中的数据点的第三计数小于N,则支柱创建组件1306为非空支柱分配多个零坐标数据点,以使多个零坐标的第四计数与第三计数之和等于N。
在一些实施例中,第一阈值P和第二阈值N是预定值。在实施例中,基于数据点的分布预先确定P和N,使得去除一部分数据点。在一些实施例中,第一阈值P和第二阈值N是自适应值。特别地,基于3D空间中对象的密度,支柱创建组件1306可以调整P和/或N,使得在高对象密度的区域中存在更多的支柱和/或每个支柱中允许更多的数据点,在低对象密度的区域中存在更少的支柱和/或每个支柱中的更少的数据点,并且在没有对象的区域中没有支柱。
对于多个非空支柱中的每个非空支柱,支柱创建组件1306基于每个非空支柱中的多个数据点生成多个修改的数据点。特别地,对于每个非空支柱,支柱创建组件1306基于数据点和非空支柱的中心之间的相对距离,为非空支柱中的每个数据点生成相应的修改后的数据点。柱。选择支柱的中心,以使修改后的数据点的坐标系与后续处理中使用的神经网络对齐。在实施例中,支柱创建组件1306针对非空支柱中的每个数据点,基于数据点与非空支柱的中心之间的相对距离并且进一步基于从传感器1302到数据点的圆柱欧几里德距离,来生成相应的修改后的数据点。然后,支柱创建组件1306将每个非空支柱中的多个数据点转换为针对该非空支柱生成的多个修改后的数据点。在实施例中,对于每个非空支柱,支柱创建组件1306针对非空支柱中的每个数据点,基于数据点与支柱中的点的重心(平均位置)之间的相对距离生成相应的修改后的数据点。
例如,在实施例中,多个数据点中的每个数据点由3D空间坐标(x,y,z)、反射率(r)和时间戳(t)表示。支柱创建组件1306将非空支柱中的每个数据点(x,y,z,r,t)转换为相应的修改后的数据点(x偏移,y偏移,z,r,t,d),其中x偏移和y偏移基于数据点与非空支柱的中心之间的相对距离来测量,z是非空支柱中数据点的高度,t是时间戳,d是距离度量,诸如,例如从传感器1302到数据点的圆柱欧几里得距离。其他距离度量也是可能的。每个修改后的数据点具有D维,其中D等于修改后的数据点的维数。在该示例实施例中,每个修改后的数据点具有D=6个维度:x偏移、y偏移、z、r、t和d。
在实施例中,支柱创建组件1306为P个非空支柱中的每一个分配支柱索引,为P个非空支柱中的每个修改后的数据点分配数据点索引。支柱创建组件1306生成P维支柱索引向量1309,其将每个支柱的支柱索引映射到支柱从中竖直延伸的原始2D网格中的对应位置(例如,对应的网格单元)。
在实施例中,支柱创建组件1306为所有非空支柱和所有修改后的数据点生成3D堆叠的支柱张量1307,其为具有修改后的数据点坐标、支柱索引坐标和数据点索引坐标的(D,P,N)维张量。对于P个非空支柱中的每个修改后的数据点,3D堆叠的支柱张量1307将包括修改后的数据点的支柱的支柱索引和修改后的数据点的数据点索引映射到修改后的数据点。
支柱创建组件1306然后生成包括3D堆叠的支柱张量1307和P维支柱索引向量1309的支柱输出1308。
在实施例中,编码器1310是神经网络,其被配置为接收支柱输出1308并处理3D堆叠的支柱张量1307以生成表征点云1303的特征的习得特征输出1312。
具体地,为了生成习得特征输出1312,编码器1310使用3D堆叠的支柱张量1307初始化当前的3D特征张量,并且迭代地执行以下步骤K次,其中K是预定的数量:
1.在当前的3D特征张量的修改后的数据点索引坐标和支柱索引坐标上(即在(N,P)画布上)应用1x1卷积以生成大小为(CK,N,P)的第一张量T.
2.在第一张量T的修改后的数据点索引坐标上应用逐个元素的最大算子,以生成大小为(CK,P)的最大矩阵M。特别地,跨每个支柱的所有修改后的数据点计算得出最大矩阵M:
3.确定当前迭代是否是第K次迭代。
a)如果当前迭代是第K次迭代,则输出当前最大矩阵M作为编码器1310的习得特征输出1312。输出1312是(CK,P)张量。
b)如果当前迭代不是第K次迭代,则通过沿着第一张量T的第二维度(即,修改后的数据点索引坐标)将最大矩阵M重复N次来生成第二(CK,N,P)张量Tmax,其中N是每个支柱中的数据点的阈值数量。
4.沿着第一维度(即,修改后的数据点坐标)将第二张量Tmax与第一张量T连在一起以生成大小为(2CK,N,P)的第三张量T’。
5.将当前3D特征张量设置为第三张量T’。
在执行K次迭代之后,编码器1310获得习得特征输出1312,其是包括P个特征向量的(C,P)张量,每个特征向量具有大小C。
2D图像创建组件1314被配置为从编码器1310接收习得特征输出1312,并处理习得特征输出1312以生成伪图像1316。伪图像1316是比具有3个通道的标准RGB图像具有更多通道(例如32、64或128通道)的2D图像。
特别地,如图13所示,2D图像创建组件1314使用P维支柱索引向量1309将密集(C,P)张量散布到伪图像1316上的多个位置。即,对于密集(C,P)张量中大小为C的每个特征向量,图像创建组件1314使用P维支柱索引向量1309查找特征向量的2D坐标,并在该2D坐标处将特征向量放置到伪图像1316中。结果,伪图像1316上的每个位置对应于支柱之一,并且表示支柱中的数据点的特征。
通过将稀疏点云1303转换为与标准2D卷积架构兼容的密集伪图像1316,系统1300可以利用卷积神经网络(CNN)和GPU的处理能力和速度来高效、快速地处理伪图像。如图13所示,主干神经网络1318被配置为处理伪图像1316以生成表征伪图像1316的特征的中间输出1320。在实施例中,主干神经网络是包括一个或多个神经网络层的2D CNN。一个或多个神经网络层可以包括(i)3×3卷积神经网络层,(ii)整流线性单元(ReLU)神经网络层和(ii)批量归一化神经网络层中的一个或多个。在实施例中,中间输出1320是比伪图像1316具有更多通道的特征图。例如,伪图像1316具有32个通道,并且中间输出1320具有512个通道。作为另一示例,伪图像1316具有32个通道,并且中间输出1320具有256个通道。
对象检测神经网络1322被配置为从主干神经网络1318接收中间输出1320,并处理中间输出1320以检测传感器1302周围的3D空间中的一个或多个对象(例如,对象1324)。通常,对象检测神经网络1322是前馈卷积神经网络,在给予主干神经网络1318的输出1320的情况下,它会为3D空间中的潜在对象生成一组边界框,并针对对象类型实例(例如汽车、行人或自行车)在这些边界框中的存在生成分类分数。分类分数越高,对应的对象类型实例存在于框中的可能性越大。在https://arxiv.org/pdf/1512.02325.pdf上可得的Springer,201的W.Liu、D.Anguelov、D.Erhan、C.Szegedy、S.Reed、C.Y.Fu和A.C.Berg的SSD:单发多盒检测器(“Single Shot Multibox Detector”)中详细地描述了实例对象检测神经网络1322。.
计算系统1300基于对运载工具周围的3D空间中的对象的检测来操作运载工具。例如,系统1300可以控制运载工具绕检测到的对象行驶或改变车道以避免与对象碰撞。
在实施例中,在检测到对象1324时,计算系统1300将关于对象的信息提供给预测反馈模块,例如,关于图11描述的模块1122。然后,预测反馈模块将信息提供给运载工具的控制器(例如,图11的控制器1102),并且控制器可以使用该信息来相应地调整运载工具的操作。例如,如果计算系统1300检测到穿过路段的行人1326,则控制器接收关于行人1326的信息,并准备在适当的时间接合油门/制动器以降低运载工具的速度。作为另一示例,如果计算系统1300检测到诸如同一车道上的多辆汽车之类的意外交通,则计算系统1300可以将交通信息发送至预测反馈模块。控制器可使用此信息来调整方向盘、转向角致动器或其他用于控制转向角的功能,以使得运载工具改变到具有较少交通的另一车道。
示例点云和支柱
图14示出示例点云和支柱。
点云1400具有多个数据点1402。在该实施例中,每个数据点是具有空间位置(x,y,z)、反射率(r)和时间戳(t)的5维数据点。该时间戳允许多个LIDAR或雷达扫描对数据点进行累积,作为对象的单个预测/检测的输入。每个数据点都分配给B=H x W支柱中的一个支柱。每个支柱是在z方向上从2D地平面1404的一部分延伸的z柱。如以上参考图13所描述的,支柱处理模块被配置为将具有原始表达的每个数据点转换为具有不同表达的相应的修改后的数据点。例如,如图14所示,非空支柱1412中的数据点1406具有原始的5维表示,其包括3D空间坐标(x,y,z)、反射率(r)和时间戳(t)。支柱处理模块将由(x,y,z,r,t)表示的数据点1406转换为由(x偏移,y偏移,z,r,t,d)表示的相应的修改后的数据点,其中基于数据点1406与非空支柱1412的中心1410之间的相对距离来测量x偏移和y偏移,其中z是非空支柱中的数据点的高度,r是反射率,t是时间戳,d是从传感器1401到数据点1406的圆柱欧几里得距离。
在实施例中,将2D地平面1404划分为具有相同尺寸的多个网格单元,因此从这些网格单元竖直(沿Z方向)延伸的多个支柱也具有相同的体积。然而,在其他实施例中,如图15所示,可以将2D地平面划分为具有不同大小的多个网格单元。
图15示出点云的示例2D地平面。根据3D空间中对象的密度,将2D地平面分为具有不同单元大小的多个网格单元。
如图15所示,基于运载工具的另一传感器(例如,相机、雷达、声纳),区域1502具有高密度的检测对象。因此,区域1502具有较小的网格单元尺寸,这意味着区域1502中有更多的支柱以捕获关于区域1502中的对象的更多信息。在实施例中,区域1502中的每个支柱比具有较低对象密度的其他区域具有在每个区域中允许的更多数据点。相比之下,区域1506没有相机检测到的任何对象。因此,区域1506中没有支柱。区域1504具有中等密度的检测对象,因此具有比区域1506更多的支柱,但具有比区域1502更少的支柱。通常,阈值N对于位于高对象密度的区域中的支柱而言较大,而对于位于低对象密度的区域的支柱则较小。
用于检测对象并且基于对象的检测操作运载工具的示例过程
图16是用于检测环境中的对象并且基于对象的检测来操作运载工具的示例过程1600的流程图。为方便起见,该过程300将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的图13的计算系统可以执行过程1600。
当系统从运载工具的传感器接收到一组测量值时,过程1600开始(步骤1602)。特别地,系统从LIDAR或雷达接收点云。点云包括表示运载工具周围的3D空间中的多个对象的多个数据点。例如,多个数据点代表多个对象,包括运载工具(例如汽车、自行车或卡车)、行人、动物、静态对象或基础设施(例如,交通信号灯)中的一个或多个。多个数据点中的每个数据点是一组3D空间坐标,例如(x,y,z)坐标。
当系统将3D空间划分为多个支柱时,过程1600继续(步骤1604)。多个支柱中的每个支柱从3D空间的2D地平面(例如,x-y平面)的相应部分竖直地延伸。在一些实施例中,系统将2D地平面划分成具有相同尺寸的网格单元的2D网格,并且因此从这些2D网格单元竖直地(在z方向上)延伸的支柱具有相同的体积。在一些实施例中,系统将2D地平面划分为具有不同网格单元尺寸的2D网格。例如,系统使用来自其他传感器(例如相机或雷达)的附加输入,在点云中检测对象的密度。系统生成具有不同网格单元大小的2D网格,从而使得较多的支柱位于高对象密度的区域中,较少的支柱位于低对象密度的区域中,以及没有支柱在没有对象的区域中。
当系统将多个数据点中的每个数据点分配给多个支柱中的支柱并处理多个支柱以生成支柱输出时,过程1600继续(步骤1606)。通常,基于数据点的2D坐标,将多个数据点的每个数据点分配给相应的支柱。也就是说,如果数据点的2D坐标在2D地平面的特定支柱从中延伸的特定部分内,则将数据点分配给该特定支柱。然后,系统基于每个数据点与包括数据点的点支柱的中心之间的相对距离以及从传感器到数据点的圆柱欧几里得距离,将每个数据点转换为相应的修改后的数据点。该系统处理多个支柱和修改后的数据点以生成支柱输出,该支柱输出包括3D堆叠的支柱张量和P维支柱索引向量。下面参考图17详细描述用于将数据点分配给多个支柱并处理多个支柱以产生支柱输出的过程。
当系统基于支柱输出生成伪图像时,过程1600继续(步骤1608)。该系统生成表征多个支柱的特征的习得特征输出,并处理该习得特征输出以生成伪图像。
为了生成习得特征输出,系统使用3D堆叠的支柱张量来初始化当前的3D特征张量,并且迭代地执行步骤K次,如参考图13所述。
当系统基于分析伪图像而检测到传感器周围的3D空间中的多个对象时,过程1600继续(步骤1610)。在实施例中,系统使用主干神经网络和对象检测神经网络来检测多个对象。特别地,该系统使用主干神经网络处理伪图像以生成中间输出,如参考图13所描述的。系统使用对象检测神经网络处理中间输出,以检测传感器周围的3D空间中的一个或多个对象。在实施例中,对象检测神经网络是前馈CNN,在给予中间输出的情况下,它会为3D空间中的潜在对象生成一组边界框,并针对对象类型实例(例如汽车、行人或自行车)在这些边界框中的存在生成分类分数。分类分数越高,对应的对象类型实例存在于框中的可能性越大。
当系统基于对运载工具周围的3D空间中的多个对象的检测来操作运载工具,过程1600继续(步骤1612)。例如,系统控制运载工具绕检测到的对象行驶或改变车道以避开对象。在实施例中,在检测到对象时,系统将关于对象的信息提供给预测反馈模块。预测反馈模块然后将信息提供给运载工具的控制器,并且控制器使用该信息来相应地调整运载工具的操作。例如,如果系统检测到穿过路段的行人,则控制器接收关于行人的信息,并准备在适当的时间接合油门/制动器以降低运载工具的速度。作为另一示例,如果系统检测到诸如同一车道上的多辆汽车之类的意外交通,则系统可以将交通信息发送至预测反馈模块。控制器使用此信息来调整方向盘、转向角致动器或其他用于控制转向角的功能,以使得运载工具改变到具有较少交通的另一车道。
图17是用于将多个数据点中的每一个分配给多个支柱中的支柱并处理多个支柱以生成支柱输出的示例过程1700的流程图。为方便起见,该过程200将被描述为由位于一个或多个位置的一个或多个计算机的系统执行。例如,根据本说明书适当编程的图13的计算系统可以执行过程1700。
系统将多个数据点中的每个数据点分配给多个支柱中的支柱时,过程1200开始(步骤1702)。通常,基于数据点的2D坐标,将多个数据点的每个数据点分配给相应的支柱。也就是说,如果数据点的2D坐标在2D地平面的特定支柱从中延伸的特定部分内,则将数据点分配给该特定支柱。
当系统确定多个非空支柱(具有至少一个数据点的支柱)的第一计数是否超过阈值P时,过程1700继续(步骤1704)。如果多个非空支柱的第一计数超过P,则系统从多个非空支柱中选择P个非空支柱(步骤1706)。例如,系统从多个非空支柱中随机地对P个非空支柱进行子采样。如果非空支柱的第一计数小于第一阈值P,则系统生成第二支柱子集,使得第一计数与第二支柱子集的第二计数之和为P(步骤1708)。系统然后从多个非空支柱和第二支柱子集中选择P个非空支柱。
对于P个非空支柱中的每个非空支柱,系统被配置为维持每个非空支柱中的阈值数量的数据点。为此,针对P个非空支柱中的每一个,系统执行以下一组操作(步骤1712和步骤1714或216)。系统首先针对P个非空支柱中的每一个确定分配给非空支柱的数据点的第三计数是否超过第二阈值N(步骤1712)。如果分配给非空支柱的数据点的第三计数超过第二阈值N,则系统选择要保留在非空支柱中的N个数据点(步骤1714)。例如,系统从分配给非空支柱的数据点中随机地对N个数据点进行子采样。如果非空支柱中的数据点的第三计数小于N,则系统为非空支柱分配多个零坐标数据点,以使多个零坐标的第四计数与第三计数之和等于N(步骤1716)。
在一些实施例中,第一阈值P和第二阈值N是预定值。在一些实施例中,第一阈值P和第二阈值N是自适应值。特别地,基于3D空间中对象的密度,系统可以调整P和/或N,使得在高对象密度的区域中存在更多的支柱和/或每个支柱中允许更多的数据点,在低对象密度的区域中存在更少的支柱和/或每个支柱中的更少的数据点,并且在没有对象的区域中没有支柱。
当针对多个非空支柱中的每个非空支柱,系统将非空支柱中的每个数据点转换为相应的修改后的数据点时,过程1700继续(步骤1718)。该系统基于与每个非空支柱相对应的多个数据点来生成多个修改后的数据点。特别地,对于每个非空支柱,系统基于数据点与非空支柱的中心之间的相对距离,为非空支柱中的每个数据点生成相应的修改后的数据点。在实施例中,系统针对非空支柱中的每个数据点,基于数据点与非空支柱的中心之间的相对距离并且进一步基于从传感器到数据点的距离度量(例如,圆柱欧几里德距离),来生成相应的修改后的数据点。然后,系统将每个非空支柱中的多个数据点转换为针对该非空支柱生成的多个修改后的数据点。
例如,在实施例中,多个数据点中的每个数据点由3D空间坐标(x,y,z)、反射率(r)和时间戳(t)表示。系统将每个数据点(x,y,z,r,t)转换为相应的修改后的数据点(x偏移,y偏移,z,r,t,d),其中基于数据点与每个非空点支柱的中心之间的相对距离来测量x偏移和y偏移,其中d是从传感器到数据点的圆柱欧几里得距离每个修改后的数据点具有D维,其中D等于修改后的数据点的维数。在该示例实施例中,每个修改后的数据点具有D=6个维度:x偏移、y偏移、z、r、t和d。
当系统生成P维支柱索引向量时,过程1700继续(步骤1720)。系统首先为P个非空支柱中的每个分配支柱索引,为P个非空支柱中的每个修改后的数据点分配数据点索引。系统生成P维支柱索引向量1309,其将每个支柱的支柱索引映射到支柱从中竖直延伸的原始2D网格中的对应位置(例如,对应的网格单元)。
当系统生成3D堆叠的支柱张量时,过程1700继续,该3D堆叠的支柱张量是具有修改后的数据点坐标、支柱索引坐标和数据点索引坐标的(D,P,N)维张量(步骤1722)。对于每个修改后的数据点,3D堆叠的支柱张量将包括修改后的数据点的支柱的支柱索引和修改后的数据点的数据点索引映射到修改后的数据点(x偏移,y偏移,z,r,t,d)。然后,系统生成包括3D堆叠的支柱张量和P维支柱索引向量的支柱输出(步骤1724)。
在先前的描述中,已参照许多特定的细节来描述本发明的实施例,这些特定细节可因实现方式而异。因此,说明书和附图应被认为是说明性而非限制性意义的。本发明范围的唯一且排他的指示符,本申请人期望本发明的范围的内容是以发布此类权利要求的特定的形式从本申请发布的权利要求书的字面和等效范围,包括任何后续校正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求中所使用的意义为准。此外,当我们在先前的说明书或所附权利要求中使用术语“进一步包括”时,该短语的下文可以是额外步骤或实体,或先前所述的步骤或实体的子步骤/子实体。

Claims (20)

1.一种用于运载工具的系统,包括:
一个或多个计算机处理器;以及
一个或多个非瞬态存储介质,其存储有指令,所述指令在由所述一个或多个计算机处理器执行时,使得包括以下各项的操作被执行:
从运载工具的传感器接收一组测量值,所述一组测量值包括多个数据点,所述多个数据点表示所述运载工具周围的三维(3D)空间中的多个对象,其中所述多个数据点中的每个数据点是一组3D空间坐标;
将所述3D空间划分为多个支柱,其中所述多个支柱中的每个支柱包括所述3D空间的切片,该切片从所述3D空间的二维(2D)平面的相应部分延伸;
将所述多个数据点中的每个数据点分配给所述多个支柱中的支柱;
基于所述多个支柱生成伪图像,其中所述多个支柱中的每个支柱对应于分配给该支柱的数据点的特征表示,并且所述伪图像为通道数量大于3的二维图像;
基于对所述伪图像的分析来检测所述传感器周围的所述3D空间中的所述多个对象;并且
基于对所述运载工具周围的所述3D空间中的所述多个对象的检测来操作所述运载工具。
2.如权利要求1所述的系统,其中,所述操作进一步包括:
确定多个非空支柱的第一计数是否超过第一阈值P;
根据确定所述多个非空支柱的所述第一计数超过所述第一阈值P,从所述多个非空支柱中选择P个非空支柱;
根据确定所述多个非空支柱的所述第一计数小于所述第一阈值P:
生成第二支柱子集,其中所述第一计数与所述第二支柱子集的第二计数之和等于P;
从所述多个非空支柱和所述第二支柱子集中选择P个非空支柱;
针对所述P个非空支柱中的每个非空支柱:
确定分配给所述每个非空支柱的数据点的第三计数是否超过第二阈值N;
根据确定分配给所述每个非空支柱的所述数据点的所述第三计数超过所述第二阈值N,选择N个数据点;
根据确定分配给所述每个非空支柱的所述数据点的所述第三计数小于所述第二阈值N,为所述每个非空支柱分配多个零坐标数据点,其中所述多个零坐标的第四计数与所述第三计数之和等于N。
3.如权利要求2所述的系统,其中所述第一阈值P是自适应的。
4.如权利要求2所述的系统,其中所述第二阈值N是自适应的。
5.如权利要求2所述的系统,其中,生成所述伪图像包括:
针对所述多个非空支柱中的每个非空支柱:
基于与所述每个非空支柱相对应的所述多个数据点来生成多个修改后的数据点;并且
处理包括相应的多个修改后的数据点的所述多个非空支柱以生成所述伪图像。
6.如权利要求5所述的系统,其中,基于与所述每个非空支柱相对应的所述数据点与所述每个非空支柱的中心之间的相对距离来生成所述修改后的数据点中的每一个。
7.如权利要求5所述的系统,其中,基于从所述传感器到所述数据点的圆柱欧几里德距离来生成所述多个修改后的数据点中的每个修改后的数据点。
8.如权利要求5所述的系统,其中,所述数据点中的每一个被分配3D空间坐标(x,y,z)、反射率(r)和时间戳(t),并且
针对所述非空支柱中的每一个,修改所述非空支柱中的所述数据点的每一个包括:将所述数据点的每一个(x,y,z,r,t)转换为相应的修改后的数据点。
9.如权利要求1所述的系统,其中,生成所述伪图像包括:使用支柱处理模块处理多个非空支柱以生成所述伪图像。
10.如权利要求1所述的系统,其中,基于对所述伪图像的分析来检测所述传感器周围的所述3D空间中的一个或多个对象包括:
使用主干神经网络处理所述伪图像以生成表征所述伪图像的特征的中间输出;并且
使用对象检测神经网络处理所述中间输出,以检测所述传感器周围的所述3D空间中的所述一个或多个对象。
11.一种用于运载工具的方法,包括:
从运载工具的传感器接收一组测量值,所述一组测量值包括多个数据点,所述多个数据点表示所述运载工具周围的三维(3D)空间中的多个对象,其中所述多个数据点中的每个数据点是一组3D空间坐标;
将所述3D空间划分为多个支柱,其中所述多个支柱中的每个支柱包括所述3D空间的切片,该切片从所述3D空间的二维(2D)平面的相应部分延伸;
将所述多个数据点中的每个数据点分配给所述多个支柱中的支柱;
基于所述多个支柱生成伪图像,其中所述多个支柱中的每个支柱对应于分配给该支柱的数据点的特征表示,并且所述伪图像为通道数量大于3的二维图像;
基于对所述伪图像的分析来检测所述传感器周围的所述3D空间中的所述多个对象;并且
基于对所述运载工具周围的所述3D空间中的所述多个对象的检测来操作所述运载工具,
其中,所述方法由一个或多个专用计算设备执行。
12.根据权利要求11所述的方法,进一步包括:
确定多个非空支柱的第一计数是否超过第一阈值P;
根据确定所述多个非空支柱的所述第一计数超过所述第一阈值P,从所述多个非空支柱中选择P个非空支柱;
根据确定所述多个非空支柱的所述第一计数小于所述第一阈值P:
生成第二支柱子集,其中所述第一计数与所述第二支柱子集的第二计数之和等于P;
从所述多个非空支柱和所述第二支柱子集中选择P个非空支柱;
针对所述P个非空支柱中的每个非空支柱:
确定分配给所述每个非空支柱的数据点的第三计数是否超过第二阈值N;
根据确定分配给所述每个非空支柱的所述数据点的所述第三计数超过所述第二阈值N,选择N个数据点;
根据确定分配给所述每个非空支柱的所述数据点的所述第三计数小于所述第二阈值N,为所述每个非空支柱分配多个零坐标数据点,其中所述多个零坐标的第四计数与所述第三计数之和等于N。
13.如权利要求12所述的方法,其中所述第一阈值P是自适应的。
14.如权利要求12所述的方法,其中,生成所述伪图像包括:
针对所述多个非空支柱中的每个非空支柱:
基于与所述每个非空支柱相对应的所述多个数据点来生成多个修改后的数据点;并且
处理包括相应的多个修改后的数据点的所述多个非空支柱以生成所述伪图像。
15.如权利要求14所述的方法,其中,基于与所述每个非空支柱相对应的所述数据点与所述每个非空支柱的中心之间的相对距离来生成所述修改后的数据点中的每一个。
16.如权利要求14所述的方法,其中,基于从所述传感器到所述数据点的圆柱欧几里德距离来生成所述多个修改后的数据点中的每个修改后的数据点。
17.如权利要求15所述的方法,其中,所述数据点中的每一个被分配3D空间坐标(x,y,z)、反射率(r)和时间戳(t),并且
针对所述非空支柱中的每一个,修改所述非空支柱中的所述数据点的每一个包括:将所述数据点中的每一个(x,y,z,r,t)转换为相应的修改后的数据点。
18.如权利要求11所述的方法,其中,生成所述伪图像包括:使用支柱处理模块处理多个非空支柱以生成所述伪图像。
19.如权利要求11所述的方法,其中,基于对所述伪图像的分析来检测所述传感器周围的所述3D空间中的一个或多个对象包括:
使用主干神经网络处理所述伪图像以生成表征所述伪图像的特征的中间输出;并且
使用对象检测神经网络处理所述中间输出,以检测所述传感器周围的所述3D空间中的所述一个或多个对象。
20.一个或多个非瞬态存储介质,其存储有指令,所述指令在由一个或多个计算设备执行时,使得权利要求11中记载的方法被执行。
CN201911088570.XA 2018-11-08 2019-11-08 使用支柱进行对象检测的深度学习 Active CN111160561B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862757613P 2018-11-08 2018-11-08
US62/757,613 2018-11-08

Publications (2)

Publication Number Publication Date
CN111160561A CN111160561A (zh) 2020-05-15
CN111160561B true CN111160561B (zh) 2023-12-01

Family

ID=70551299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911088570.XA Active CN111160561B (zh) 2018-11-08 2019-11-08 使用支柱进行对象检测的深度学习

Country Status (4)

Country Link
US (2) US11500063B2 (zh)
EP (1) EP3651064B1 (zh)
CN (1) CN111160561B (zh)
DK (1) DK201970115A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11875678B2 (en) * 2019-07-19 2024-01-16 Zoox, Inc. Unstructured vehicle path planner
CN114641701A (zh) * 2019-09-13 2022-06-17 波感股份有限公司 使用表面穿透雷达和深度学习的改进的导航和定位
GB2591171B (en) 2019-11-14 2023-09-13 Motional Ad Llc Sequential fusion for 3D object detection
US11628855B1 (en) * 2020-05-05 2023-04-18 Zoox, Inc. Object velocity detection from multi-modal sensor data
KR102427463B1 (ko) * 2020-07-16 2022-08-01 주식회사 비젼그리드 자율주행을 위한 영상추적을 이용한 거리 측정 방법 및 장치
US11521394B2 (en) * 2020-10-09 2022-12-06 Motional Ad Llc Ground plane estimation using LiDAR semantic network
US11740360B2 (en) * 2020-11-02 2023-08-29 Motional Ad Llc Light detection and ranging (LiDaR) scan smoothing
WO2022104256A1 (en) * 2020-11-16 2022-05-19 Waymo Llc Processing sparse top-down input representations of an environment using neural networks
US11462029B2 (en) * 2020-12-07 2022-10-04 Shenzhen Deeproute.Ai Co., Ltd Object detection network and method
CN113033284B (zh) * 2020-12-22 2022-10-25 迪比(重庆)智能科技研究院有限公司 一种基于卷积神经网络的车辆实时超载检测方法
CN113160117A (zh) * 2021-02-04 2021-07-23 成都信息工程大学 一种自动驾驶场景下的三维点云目标检测方法
US20220371606A1 (en) * 2021-05-21 2022-11-24 Motional Ad Llc Streaming object detection and segmentation with polar pillars
US11798289B2 (en) 2021-05-28 2023-10-24 Motional Ad Llc Streaming object detection and segmentation with polar pillars
KR102382448B1 (ko) 2021-09-06 2022-04-04 주식회사 라이드플럭스 라이다 기반 객체 탐지를 위한 인공지능 모델의 입력 특징맵 생성방법, 장치 및 컴퓨터프로그램
CN114396949B (zh) * 2022-01-18 2023-11-10 重庆邮电大学 一种基于ddpg的移动机器人无先验地图导航决策方法
US20230298356A1 (en) * 2022-03-18 2023-09-21 Motional Ad Llc Instance segmentation in a pseudo-image
US11748447B1 (en) * 2022-06-29 2023-09-05 Pebblous Inc. Data clinic method, computer program storing data clinic method, and computing device for performing data clinic method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1501282A2 (en) * 2003-07-22 2005-01-26 Konica Minolta Medical & Graphic, Inc. Image recording apparatus
CN1724978A (zh) * 2004-03-25 2006-01-25 株式会社米姿托约 用于平移和定向传感的光路阵列和角滤光器
CN105324287A (zh) * 2013-04-11 2016-02-10 谷歌公司 使用车载传感器检测天气条件的方法和系统
CN106133756A (zh) * 2014-03-27 2016-11-16 赫尔实验室有限公司 用于过滤、分割并且识别无约束环境中的对象的系统
CN108702489A (zh) * 2016-02-19 2018-10-23 三星电子株式会社 包括多个相机的电子设备及其操作方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPN233995A0 (en) * 1995-04-12 1995-05-04 Eastman Kodak Company Four level ink set for bi-level color printing
JP3645177B2 (ja) 2000-11-29 2005-05-11 三菱電機株式会社 車両周辺監視装置
US8825391B1 (en) 2011-08-04 2014-09-02 Google Inc. Building elevation maps from laser data
US8885151B1 (en) 2012-09-04 2014-11-11 Google Inc. Condensing sensor data for transmission and processing
WO2017139516A1 (en) 2016-02-10 2017-08-17 Hrl Laboratories, Llc System and method for achieving fast and reliable time-to-contact estimation using vision and range sensor data for autonomous navigation
US9796390B2 (en) 2016-02-29 2017-10-24 Faraday&Future Inc. Vehicle sensing grid having dynamic sensing cell size
US10838067B2 (en) 2017-01-17 2020-11-17 Aptiv Technologies Limited Object detection system
CN110325818B (zh) 2017-03-17 2021-11-26 本田技研工业株式会社 经由多模融合的联合3d对象检测和取向估计
US10438371B2 (en) 2017-09-22 2019-10-08 Zoox, Inc. Three-dimensional bounding box from two-dimensional image and point cloud data
US10970518B1 (en) * 2017-11-14 2021-04-06 Apple Inc. Voxel-based feature learning network
CN108171217A (zh) 2018-01-29 2018-06-15 深圳市唯特视科技有限公司 一种基于点融合网络的三维物体检测方法
US10410354B1 (en) 2018-03-06 2019-09-10 Mitsubishi Electric Research Laboratories, Inc. Method and apparatus for multi-model primitive fitting based on deep geometric boundary and instance aware segmentation
US11618438B2 (en) 2018-03-26 2023-04-04 International Business Machines Corporation Three-dimensional object localization for obstacle avoidance using one-shot convolutional neural network
US10649459B2 (en) * 2018-04-26 2020-05-12 Zoox, Inc. Data segmentation using masks
US11100669B1 (en) * 2018-09-14 2021-08-24 Apple Inc. Multimodal three-dimensional object detection
US11151734B2 (en) * 2018-09-14 2021-10-19 Huawei Technologies Co., Ltd. Method and system for generating synthetic point cloud data using a generative model
US11676005B2 (en) * 2018-11-14 2023-06-13 Huawei Technologies Co., Ltd. Method and system for deep neural networks using dynamically selected feature-relevant points from a point cloud
CN109597087B (zh) 2018-11-15 2022-07-01 天津大学 一种基于点云数据的3d目标检测方法
CN111694903B (zh) 2019-03-11 2023-09-12 北京地平线机器人技术研发有限公司 地图构建方法、装置、设备以及可读存储介质
US11480686B2 (en) 2019-03-27 2022-10-25 Zoox, Inc. Identifying and/or removing false positive detections from lidar sensor output
US11727169B2 (en) * 2019-09-11 2023-08-15 Toyota Research Institute, Inc. Systems and methods for inferring simulated data
US11520037B2 (en) 2019-09-30 2022-12-06 Zoox, Inc. Perception system
GB2591171B (en) 2019-11-14 2023-09-13 Motional Ad Llc Sequential fusion for 3D object detection
CN111145174B (zh) 2020-01-02 2022-08-09 南京邮电大学 基于图像语义特征进行点云筛选的3d目标检测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1501282A2 (en) * 2003-07-22 2005-01-26 Konica Minolta Medical & Graphic, Inc. Image recording apparatus
CN1724978A (zh) * 2004-03-25 2006-01-25 株式会社米姿托约 用于平移和定向传感的光路阵列和角滤光器
CN105324287A (zh) * 2013-04-11 2016-02-10 谷歌公司 使用车载传感器检测天气条件的方法和系统
CN106133756A (zh) * 2014-03-27 2016-11-16 赫尔实验室有限公司 用于过滤、分割并且识别无约束环境中的对象的系统
CN108702489A (zh) * 2016-02-19 2018-10-23 三星电子株式会社 包括多个相机的电子设备及其操作方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Radiometric inter-sensor cross-calibration uncertainty using a traceable high accuracy reference hyperspectral imager》;Javier Gorroño;《ISPRS Journal of Photogrammetry and Remote Sensing》;第393页-第417页 *
《基于HSI空间伪彩色异构多传感器图像融合仿真》;刘洲洲;《计算机技术与发展》(第第10期期);第201页-第203页,第207页 *

Also Published As

Publication number Publication date
EP3651064A1 (en) 2020-05-13
US11500063B2 (en) 2022-11-15
CN111160561A (zh) 2020-05-15
DK201970115A1 (en) 2020-06-09
US20230080764A1 (en) 2023-03-16
US20200150235A1 (en) 2020-05-14
EP3651064B1 (en) 2024-02-07

Similar Documents

Publication Publication Date Title
CN111160561B (zh) 使用支柱进行对象检测的深度学习
CN112801124B (zh) 用于运载工具的方法和系统
CN111121776B (zh) 用于对运载工具进行导航的最佳轨迹的生成
CN113012187B (zh) 用于运载工具的方法和前景提取系统以及存储介质
KR102537412B1 (ko) Radar를 사용한 확장 대상체 추적
CN111190418B (zh) 使用多维包络调整运载工具的横向间隙
CN111102986B (zh) 用于运载工具导航的尺寸缩小的地图的自动生成以及时空定位
KR20210112293A (ko) 주석 달기를 위한 데이터 샘플의 자동 선택
GB2606638A (en) Trajectory prediction from precomputed or dynamically generated bank of trajectories
KR102588954B1 (ko) Lidar 시맨틱 네트워크를 사용한 지평면 추정
WO2020146447A1 (en) Field theory based perception for autonomous vehicles
US20220122363A1 (en) IDENTIFYING OBJECTS USING LiDAR
CN113654564A (zh) 用于运载工具的方法
US11887324B2 (en) Cross-modality active learning for object detection
US20210373173A1 (en) Identifying background features using lidar
CN113970924A (zh) 用于运载工具的方法和系统
CN113176584A (zh) 解决传感器回波中的距变率模糊
CN115079687A (zh) 用于自主运载工具的系统、方法和存储介质
US20220290997A1 (en) Driving data guided spatial planning
CN113056715B (zh) 用于操作运载工具的方法、运载工具和存储介质
CN116229407A (zh) 用于运载工具的方法、运载工具和存储介质
CN115220439A (zh) 用于运载工具的系统和方法以及存储介质
CN114252066A (zh) 运载工具、用于运载工具的方法以及存储介质
CN115201854A (zh) 用于运载工具的方法、运载工具和存储介质
CN115016452A (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
TA01 Transfer of patent application right

Effective date of registration: 20201218

Address after: Massachusetts, USA

Applicant after: Dynamic ad Co.,Ltd.

Address before: Babado J San Michaele

Applicant before: Delphi Technologies, Inc.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant