CN115713687A - 用于确定对象动态参数的方法、***和介质 - Google Patents

用于确定对象动态参数的方法、***和介质 Download PDF

Info

Publication number
CN115713687A
CN115713687A CN202111458108.1A CN202111458108A CN115713687A CN 115713687 A CN115713687 A CN 115713687A CN 202111458108 A CN202111458108 A CN 202111458108A CN 115713687 A CN115713687 A CN 115713687A
Authority
CN
China
Prior art keywords
point
lidar
image
location
objects
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN202111458108.1A
Other languages
English (en)
Inventor
V·班基蒂
O·贝基波姆
尹天为
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 CN115713687A publication Critical patent/CN115713687A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/26Techniques for post-processing, e.g. correcting the recognition result
    • G06V30/262Techniques for post-processing, e.g. correcting the recognition result using context analysis, e.g. lexical, syntactic or semantic context
    • G06V30/274Syntactic or semantic context, e.g. balancing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • 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
    • 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/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/50Systems of measurement based on relative movement of target
    • G01S17/58Velocity or trajectory determination systems; Sense-of-movement determination 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/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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • 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
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/408Radar; Laser, e.g. lidar
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/402Type
    • B60W2554/4026Cycles
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/402Type
    • B60W2554/4029Pedestrians
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4041Position
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • B60W2554/40Dynamic objects, e.g. animals, windblown objects
    • B60W2554/404Characteristics
    • B60W2554/4042Longitudinal speed
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Mechanical Engineering (AREA)
  • Transportation (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Traffic Control Systems (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

本发明涉及用于确定对象动态参数的方法、***和介质。***可以使用语义图像、激光雷达图像和/或3D边界框来确定语义图像中对象的动态参数。在一些情况下,***可以针对语义图像中的对象生成虚拟点,并将虚拟点与激光雷达点相关联,从而针对对象形成更密集的点云。更密集的点云可用于估计对象的动态参数。在某些情况下,***可以使用语义图像、激光雷达图像和/或3D边界框来确定对象的对象序列。对象序列可以指示特定对象在不同时间处的地点。***可以使用对象序列来估计对象的动态参数。

Description

用于确定对象动态参数的方法、***和介质
背景技术
确定对象的动态参数可能困难,并且结果可能不准确。
发明内容
用于确定对象动态参数的方法,包括:接收与第一时间相关联的第一语义图像,所述第一语义图像包括第一对象;接收与所述第一对象相关联的至少一个第一激光雷达点;确定所述第一对象的地点和估计速度;至少部分地基于所述第一对象的所确定地点和所估计速度,确定所述第一对象在第二时间处的预测地点,其中所述第二时间在所述第一时间之前;至少部分地基于所述第一对象在所述第二时间处的所述预测地点,将第二语义图像的第二对象与所述第一对象相关联;将至少一个第二激光雷达点与所述第二对象相关联,其中所述至少一个第二激光雷达点与所述第二时间相关联;针对所述第二对象生成虚拟点;将所述至少一个第二激光雷达点与所述虚拟点相关联;至少部分地基于所述至少一个第一激光雷达点、所述至少一个第二激光雷达点和所述虚拟点,针对所述第一对象生成对象序列;以及至少部分地基于所述对象序列来针对所述第一对象确定方位和速度。
用于确定对象动态参数的***,包括:至少一个处理器,其被配置为:接收与第一时间相关联的第一语义图像,所述第一语义图像包括第一对象;接收与所述第一对象相关联的至少一个第一激光雷达点;确定所述第一对象的地点和估计速度;至少部分地基于所述第一对象的所确定地点和所估计速度,确定所述第一对象在第二时间处的预测地点,其中所述第二时间在所述第一时间之前;至少部分地基于所述第一对象在所述第二时间处的所述预测地点,将第二语义图像的第二对象与所述第一对象相关联;将至少一个第二激光雷达点与所述第二对象相关联,其中所述至少一个第二激光雷达点与所述第二时间相关联;针对所述第二对象生成虚拟点;将所述至少一个第二激光雷达点与所述虚拟点相关联;至少部分地基于所述至少一个第一激光雷达点、所述至少一个第二激光雷达点和所述虚拟点,来针对所述第一对象生成对象序列;以及至少部分地基于所述对象序列来针对所述第一对象确定方位和速度。
至少一个非暂时性存储介质,其存储有指令,当由至少一个处理器执行所述指令时,使所述至少一个处理器:接收与第一时间相关联的第一语义图像,所述第一语义图像包括第一对象;接收与所述第一对象相关联的至少一个第一激光雷达点;确定所述第一对象的地点和估计速度;至少部分地基于所述第一对象的所确定地点和所估计速度,确定所述第一对象在第二时间处的预测地点,其中所述第二时间在所述第一时间之前;至少部分地基于所述第一对象在所述第二时间处的所述预测地点,将第二语义图像的第二对象与所述第一对象相关联;将至少一个第二激光雷达点与所述第二对象相关联,其中所述至少一个第二激光雷达点与所述第二时间相关联;针对所述第二对象生成虚拟点;将所述至少一个第二激光雷达点与所述虚拟点相关联;至少部分地基于所述至少一个第一激光雷达点、所述至少一个第二激光雷达点和所述虚拟点,来针对所述第一对象生成对象序列;以及至少部分地基于所述对象序列来针对所述第一对象确定方位和速度。
附图说明
图1是可以实现包括自主***的一个或多个组件的运载工具的示例环境;
图2是包括自主***的运载工具的一个或多个***的图;
图3是图1和图2的一个或多个装置和/或一个或多个***的组件的图;
图4A是自主***的某些组件的图;
图4B是神经网络的实现的图;
图4C和图4D是示出CNN的示例操作的图;
图5A是示出对象跟踪***的示例的框图;
图5B和5C是示出使用对象序列确定对象的动态参数的示例的操作图;以及
图6是示出由一个或多个处理器实现以确定对象的动态参数的例程的示例的流程图。
具体实施方式
在以下描述中,为了解释的目的,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本公开所描述的实施例可以在没有这些具体细节的情况下实施将是明显的。在一些实例中,众所周知的构造和装置是以框图形式示出的,以避免不必要地使本公开的方面模糊。
在附图中,为了便于描述,示出了示意要素(诸如表示***、装置、模块、指令块和/或数据要素等的那些要素等)的具体排列或次序。然而,本领域技术人员将要理解,除非明确描述,否则附图中示意要素的具体次序或排列并不意味着暗示要求特定的处理次序或序列、或处理的分离。此外,除非明确描述,否则在附图中包含示意要素并不意味着暗示在所有实施例中都需要这种要素,也不意味着暗示由这种要素表示的特征不能包括在一些实施例中或不能在一些实施例中与其它要素结合。
此外,在附图中,连接要素(诸如实线或虚线或箭头等)用于例示两个或更多个其它示意要素之间的连接、关系或关联,没有任何此类连接要素并不意味着暗示不能存在连接、关系或关联。换句话说,要素之间的一些连接、关系或关联未在附图中示出,以便不使本发明内容模糊。此外,为了便于例示,可以使用单个连接要素来表示要素之间的多个连接、关系或关联。例如,如果连接要素表示信号、数据或指令(例如,“软件指令”)的通信,本领域技术人员应理解,这种要素可以表示影响通信可能需要的一个或多个信号路径(例如,总线)。
尽管使用术语“第一”、“第二”和/或“第三”等来描述各种要素,但这些要素不应受这些术语的限制。术语“第一”、“第二”和/或第三”仅用于区分一个要素与另一要素。例如,在没有背离所描述的实施例的范围的情况下,第一触点可被称为第二触点,并且类似地,第二触点可被称为第一触点。第一触点和第二触点这两者都是触点,但它们不是相同的触点。
在本文所描述的各种实施例的说明书中使用的术语仅是为了描述特定实施例的目的而包括的,而不是旨在限制。如在所描述的各种实施例的说明书和所附权利要求书中所使用的,单数形式“a”、“an”和“the”也旨在包括复数形式,并且可以与“一个或多个”或者“至少一个”互换使用,除非上下文另有明确说明。还将理解的是,如本文所使用的术语“和/或”是指并且包括关联的列出项中的一个或多个的任何和所有可能的组合。此外,术语“或”以其包含性意义(而非其排他性意义)使用,使得例如当用于连接要素列表时,术语“或”意指列表中的一个、一些或全部要素。除非另有具体说明,否则诸如短语“X、Y或Z其中至少之一”等的析取语言可与一般用于表示项目、术语等的上下文一起理解,可以是X、Y或Z,或其(例如,X、Y或Z)任何组合。因此,这样的析取语言一般不旨在也不应该暗示某些实施例要求X中至少之一、Y中至少之一和Z中至少之一都存在。还将理解的是,当在本说明书中使用术语“包括”、“包含”、“具备”和/或“具有”时,具体说明存在所陈述的特征、整数、步骤、操作、要素和/或组件,但并不排除存在或添加一个或多个其它特征、整数、步骤、操作、要素、组件、和/或其群组。
如本文所使用的,术语“通信”和“进行通信”是指信息(或者由例如数据、信号、消息、指令和/或命令等表示的信息)的接收、收到、传输、传送和/或提供等中的至少一者。对于要与另一单元进行通信的一个单元(例如,装置、***、装置或***的组件、以及/或者它们的组合等)而言,这意味着该一个单元能够直接地或间接地从另一单元接收信息和/或向该另一单元发送(例如,传输)信息。这可以是指本质上为有线和/或无线的直接或间接连接。另外,即使可以在第一单元和第二单元之间修改、处理、中继和/或路由所传输的信息,两个单元也可以彼此进行通信。例如,即使第一单元被动地接收信息并且不主动地向第二单元传输信息,第一单元也可以与第二单元进行通信。作为另一示例,如果至少一个中介单元(例如,位于第一单元和第二单元之间的第三单元)处理从第一单元接收到的信息、并将处理后的信息传输至第二单元,则第一单元可以与第二单元进行通信。在一些实施例中,消息可以是指包括数据的网络分组(例如,数据分组等)。
除其它外,除非另有具体说明或在所使用的上下文中以其它方式理解,否则本文中使用的诸如“可”、“可以”、“可能”、“能”、“例如”等的条件语言,一般旨在传达某些实施例包括而其它实施例不包括某些特征、要素或步骤。因此,这样的条件语言一般并不旨在暗示一个或多个实施例以任何方式需要特征、要素或步骤,或者一个或多个实施例必须包括用于在有或没有其他输入或提示的情况下,确定这些特征、元件或步骤是否包括在任何特定实施例中或是否将在任何特定实施例中进行的逻辑。如本文所使用的,取决于上下文,术语“如果”可选地被解释为意指“当..时”、“在…时”、“响应于确定为”和/或“响应于检测到”等。类似地,取决于上下文,短语“如果已确定”或“如果检测到[所陈述的条件或事件]”可选地被解释为意指“在确定…时”、“响应于确定为”或在检测到[所陈述的条件或事件]时”和/或“响应于检测到[所陈述的条件或事件]”等。此外,如本文所使用的,术语“有”、“具有”或“拥有”等旨在是开放式术语。此外,除非另有明确说明,否则短语“基于”旨在是意味着“至少部分基于”。
现在将详细参考实施例,其示例在附图中例示出。在以下的详细描述中,阐述了许多具体细节,以便提供对所描述的各种实施例的透彻理解。然而,对于本领域的普通技术人员来说将明显的是,可以在没有这些具体细节的情况下实施所描述的各种实施例。在其它情况下,尚未详细描述众所周知的方法、过程、组件、电路和网络,以便不会不必要地使实施例的方面模糊。
概述
激光雷达(lidar)***可能提供稀疏点云测量,这使得难以确定或估计语义图像中对象的动态参数(mobility parameter),诸如行人或自行车的方位或速度。不准确的估计可能导致未达最佳标准的跟踪性能。在一些方面和/或实施例中,本文描述的***、方法和计算机程序产品包括和/或实现多模态融合管道***,其使用来自不同时间的虚拟点和/或多个语义图像,针对对象确定更准确的动态参数。例如,***可以针对语义图像中的对象生成虚拟点,并将虚拟点与语义图像中落在对象上的激光雷达点相关联。虚拟点与激光雷达点相加可以针对对象创建更密集的点云,并使***能够更准确地针对对象确定动态参数。此外,***可以识别对象在时间t(0)处在语义图像中的地点,并使用对象的估计速度来预测对象在先前时间点处(例如,在时间t(-1)、t(-2)等处)的位置。***可以使用对象在先前时间处的预测地点来识别更早的语义图像中的相应的对象。***可以使用更早的语义图像中已识别的对象来生成对象的对象序列,并使用对象序列来确定对象的更准确的动态参数。
借助于本文所述的***、方法和计算机程序产品的实现,诸如自主运载工具中的对象检测跟踪***等的对象检测跟踪***可以更准确地识别图像中的对象,更准确地确定图像中的已识别对象的地点,并且更准确地为对象确定诸如对象的方位和速度等的动态参数。
现在参考图1,例示示例环境100,在该示例环境100中,包括自主***的运载工具以及不包括自主***的运载工具进行操作。如图所示,环境100包括运载工具102a-102n、对象104a-104n、路线106a-106n、区域108、运载工具到基础设施(V2I)装置110、网络112、远程自主运载工具(AV)***114、队列管理***116和V2I***118。运载工具102a-102n、运载工具到基础设施(V2I)装置110、网络112、自主运载工具(AV)***114、队列管理***116和V2I***118经由有线连接、无线连接、或者有线或无线连接的组合互连(例如,建立用于通信的连接等)。在一些实施例中,对象104a-104n经由有线连接、无线连接、或者有线或无线连接的组合与运载工具102a-102n、运载工具到基础设施(V2I)装置110、网络112、自主运载工具(AV)***114、队列管理***116和V2I***118中的至少一者互连。
运载工具102a-102n(单独称为运载工具102且统称为运载工具102)包括被配置为运输货物和/或人员的至少一个装置。在一些实施例中,运载工具102被配置为与V2I装置110、远程AV***114、队列管理***116和/或V2I***118经由网络112进行通信。在一些实施例中,运载工具102包括小汽车、公共汽车、卡车和/或火车等。在一些实施例中,运载工具102与本文所述的运载工具200(参见图2)相同或类似。在一些实施例中,一组运载工具200中的运载工具200与自主队列管理器相关联。在一些实施例中,如本文所述,运载工具102沿着相应的路线106a-106n(单独称为路线106且统称为路线106)行驶。在一些实施例中,一个或多个运载工具102包括自主***(例如,与自主***202相同或类似的自主***)。
对象104a-104n(单独称为对象104且统称为对象104)例如包括至少一个运载工具、至少一个行人、至少一个骑车者和/或至少一个构造物(例如,建筑物、标志、消防栓等)等。各对象104(例如,位于固定地点处并在一段时间内)是静止的或(例如,具有速度且与至少一个轨迹相关联地)移动的。在一些实施例中,对象104与区域108中的相应地点相关联。
路线106a-106n(单独称为路线106且统称为路线106)各自与连接AV可以导航所沿着的状态的一系列动作(也称为轨迹)相关联(例如,规定该一系列动作)。各路线106始于初始状态(例如,与第一时空地点和/或速度等相对应的状态),并且结束于最终目标状态(例如,与不同于第一时空地点的第二时空地点相对应的状态)或目标区(例如,可接受状态(例如,终止状态)的子空间)。
在一些实施例中,第一状态包括一个或多个个体将要搭载AV的地点,并且第二状态或区包括搭载AV的一个或多个个体将要下车的一个或多个地点。
在一些实施例中,路线106包括多个可接受的状态序列(例如,多个时空地点序列),这多个状态序列与多个轨迹相关联(例如,限定多个轨迹)。在示例中,路线106仅包括高级别动作或不精确的状态地点,诸如指示在车行道交叉口处转换方向的一系列连接道路等。附加地或可替代地,路线106可以包括更精确的动作或状态,诸如例如车道区域内的特定目标车道或精确地点以及这些位置处的目标速率等。在示例中,路线106包括沿着具有到达中间目标的有限前瞻视界的至少一个高级别动作的多个精确状态序列,其中有限视界状态序列的连续迭代的组合累积地与共同形成在最终目标状态或区处终止的高级别路线的多个轨迹相对应。
区域108包括运载工具102可以导航的物理区域(例如,地理区)。在示例中,区域108包括至少一个州(例如,国家、省、国家中所包括的多个州中的单独州等)、州的至少一部分、至少一个城市、城市的至少一部分等。在一些实施例中,区域108包括至少一个已命名干道(本文称为“道路”),诸如公路、州际公路、公园道路、城市街道等。附加地或可替代地,在一些示例中,区域108包括至少一个未命名道路,诸如行车道、停车场的一段、空地和/或未开发地区的一段、泥路等。在一些实施例中,道路包括至少一个车道(例如,道路的运载工具102可以穿过的部分)。在示例中,道路包括与至少一个车道标记相关联的(例如,基于至少一个车道标记所识别的)至少一个车道。
运载工具到基础设施(V2I)装置110(有时称为运载工具到万物(Vehicle-to-Everything)(V2X)装置)包括被配置为与运载工具102和/或V2I基础设施***118进行通信的至少一个装置。在一些实施例中,V2I装置110被配置为与运载工具102、远程AV***114、队列管理***116和/或V2I***118经由网络112进行通信。在一些实施例中,V2I装置110包括射频识别(RFID)装置、标牌、照相机(例如,二维(2D)和/或三维(3D)照相机)、车道标记、路灯、停车计时器等。在一些实施例中,V2I装置110被配置为直接与运载工具102进行通信。附加地或可替代地,在一些实施例中,V2I装置110被配置为与运载工具102、远程AV***114和/或队列管理***116经由V2I***118进行通信。在一些实施例中,V2I装置110被配置为与V2I***118经由网络112进行通信。
网络112包括一个或多个有线和/或无线网络。在示例中,网络112包括蜂窝网络(例如,长期演进(LTE)网络、第三代(3G)网络、***(4G)网络、第五代(5G)网络、码分多址(CDMA)网络等)、公共陆地移动网络(PLMN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、电话网(例如,公共交换电话网(PSTN))、专用网络、自组织网络、内联网、因特网、基于光纤的网络、云计算网络等、以及/或者这些网络中的一部分或全部的组合等。
远程AV***114包括被配置为与运载工具102、V2I装置110、网络112、远程AV***114、队列管理***116和/或V2I***118经由网络112进行通信的至少一个装置。在示例中,远程AV***114包括服务器、服务器组和/或其它类似装置。在一些实施例中,远程AV***114与队列管理***116位于同一地点。在一些实施例中,远程AV***114参与运载工具的组件(包括自主***、自主运载工具计算机和/或由自主运载工具计算机实现的软件等)中的部分或全部的安装。在一些实施例中,远程AV***114在运载工具的寿命期间维护(例如,更新和/或更换)这些组件和/或软件。
队列管理***116包括被配置为与运载工具102、V2I装置110、远程AV***114和/或V2I基础设施***118进行通信的至少一个装置。在示例中,队列管理***116包括服务器、服务器组和/或其它类似装置。在一些实施例中,队列管理***116与拼车公司(例如,用于控制多个运载工具(例如,包括自主***的运载工具和/或不包括自主***的运载工具)的操作等的组织)相关联。
在一些实施例中,V2I***118包括被配置为与运载工具102、V2I装置110、远程AV***114和/或队列管理***116经由网络112进行通信的至少一个装置。在一些示例中,V2I***118被配置为与V2I装置110经由不同于网络112的连接进行通信。在一些实施例中,V2I***118包括服务器、服务器组和/或其它类似装置。在一些实施例中,V2I***118与市政当局或私营机构(例如,用于维护V2I装置110的私营机构等)相关联。
提供图1所示的要素的数量和排列作为示例。与图1所示的要素相比,可以存在附加的要素、更少的要素、不同的要素和/或不同排列的要素。附加地或可替代地,环境100的至少一个要素可以进行被描述为由图1的至少一个不同要素进行的一个或多个功能。附加地或可替代地,环境100的至少一组要素可以进行被描述为由环境100的至少一个不同组的要素进行的一个或多个功能。
现在参考图2,运载工具200包括自主***202、动力总成控制***204、转向控制***206和制动***208。在一些实施例中,运载工具200与运载工具102相同或类似(参见图1)。在一些实施例中,运载工具102具有自主能力(例如,实现如下的至少一个功能、特征和/或装置等,该至少一个功能、特征和/或装置使得运载工具200能够在无人类干预的情况下部分地或完全地操作,其包括但不限于完全自主运载工具(例如,放弃依赖人类干预的运载工具)和/或高度自主运载工具(例如,在某些情形下放弃依赖人类干预的运载工具)等)。对于完全自主运载工具和高度自主运载工具的详细描述,可以参考SAE国际标准J3016:道路上机动车自动驾驶***相关术语的分类和定义(SAE International's standard J3016:Taxonomy and Definitions for Terms Related to On-Road Motor Vehicle AutomatedDriving Systems),其全部内容通过引用而被包含。在一些实施例中,运载工具200与自主队列管理器和/或拼车公司相关联。
自主***202包括传感器套件,该传感器套件包括诸如照相机202a、LiDAR传感器202b、雷达(radar)传感器202c和麦克风202d等的一个或多个装置。在一些实施例中,自主***202可以包括更多或更少的装置和/或不同的装置(例如,超声波传感器、惯性传感器、(以下论述的)GPS接收器、以及/或者用于生成与运载工具200已行驶的距离的指示相关联的数据的里程计传感器等)。在一些实施例中,自主***202使用自主***202中所包括的一个或多个装置来生成与本文所述的环境100相关联的数据。由自主***202的一个或多个装置生成的数据可以由本文所述的一个或多个***使用以观测运载工具200所位于的环境(例如,环境100)。在一些实施例中,自主***202包括通信装置202e、自主运载工具计算202f和线控(DBW)***202h。
照相机202a包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。照相机202a包括用以捕获包括物理对象(例如,小汽车、公共汽车、路缘和/或人员等)的图像的至少一个照相机(例如,使用诸如电荷耦合器件(CCD)等的光传感器的数字照相机、热照相机、红外(IR)照相机和/或事件照相机等)。在一些实施例中,照相机202a生成照相机数据作为输出。在一些示例中,照相机202a生成包括与图像相关联的图像数据的照相机数据。在该示例中,图像数据可以指定与图像相对应的至少一个参数(例如,诸如曝光、亮度等的图像特性、以及/或者图像时间戳等)。在这样的示例中,图像可以采用格式(例如,RAW、JPEG和/或PNG等)。在一些实施例中,照相机202a包括配置在(例如,定位在)运载工具上以为了立体影像(立体视觉)的目的而捕获图像的多个独立照相机。在一些示例中,照相机202a包括生成图像数据并将该图像数据传输到自主运载工具计算202f和/或队列管理***(例如,与图1的队列管理***116相同或类似的队列管理***)的多个照相机。在这样的示例中,自主运载工具计算202f基于来自至少两个照相机的图像数据来确定多个照相机中的至少两个照相机的视场中的到一个或多个对象的深度。在一些实施例中,照相机202a被配置为捕获在相对于照相机202a的距离(例如,高达100米和/或高达1千米等)内的对象的图像。因此,照相机202a包括为了感知在相对于照相机202a一个或多个距离处的对象而优化的诸如传感器和镜头等的特征。
在实施例中,照相机202a包括被配置为捕获与一个或多个交通灯、街道标志和/或提供视觉导航信息的其它物理对象相关联的一个或多个图像的至少一个照相机。在一些实施例中,照相机202a生成与一个或多个图像相关联的交通灯数据。在一些示例中,照相机202a生成与包括格式(例如,RAW、JPEG和/或PNG等)的一个或多个图像相关联的TLD数据。在一些实施例中,生成TLD数据的照相机202a与本文所述的包含照相机的其它***的不同之处在于:照相机202a可以包括具有宽视场(例如,广角镜头、鱼眼镜头、以及/或者具有约120度或更大的视角的镜头等)的一个或多个照相机,以生成与尽可能多的物理对象有关的图像。
激光检测和测距(LiDAR)传感器202b包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。LiDAR传感器202b包括被配置为从发光器(例如,激光发射器)发射光的***。由LiDAR传感器202b发射的光包括在可见光谱之外的光(例如,红外光等)。在一些实施例中,在操作期间,由LiDAR传感器202b发射的光遇到物理对象(例如,运载工具)并被反射回到LiDAR传感器202b。在一些实施例中,由LiDAR传感器202b发射的光不会穿透该光遇到的物理对象。LiDAR传感器202b还包括至少一个光检测器,该至少一个光检测器在从发光器发射的光遇到物理对象之后检测到该光。在一些实施例中,与LiDAR传感器202b相关联的至少一个数据处理***生成表示LiDAR传感器202b的视场中所包括的对象的图像(例如,点云和/或组合点云等)。在一些示例中,与LiDAR传感器202b相关联的至少一个数据处理***生成表示物理对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在这样的示例中,该图像用于确定LiDAR传感器202b的视场中的物理对象的边界。
无线电检测和测距(雷达)传感器202c包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。雷达传感器202c包括被配置为发射(脉冲的或连续的)无线电波的***。由雷达传感器202c发射的无线电波包括预定频谱内的无线电波。在一些实施例中,在操作期间,由雷达传感器202c发射的无线电波遇到物理对象并被反射回到雷达传感器202c。在一些实施例中,由雷达传感器202c发射的无线电波未被一些对象反射。在一些实施例中,与雷达传感器202c相关联的至少一个数据处理***生成表示雷达传感器202c的视场中所包括的对象的信号。例如,与雷达传感器202c相关联的至少一个数据处理***生成表示物理对象的边界和/或物理对象的表面(例如,表面的拓扑结构)等的图像。在一些示例中,该图像用于确定雷达传感器202c的视场中的物理对象的边界。
麦克风202d包括被配置为与通信装置202e、自主运载工具计算202f和/或安全控制器202g经由总线(例如,与图3的总线302相同或类似的总线)进行通信的至少一个装置。麦克风202d包括捕获音频信号并生成与该音频信号相关联(例如,表示该音频信号)的数据的一个或多个麦克风(例如,阵列麦克风和/或外部麦克风等)。在一些示例中,麦克风202d包括变换器装置和/或类似装置。在一些实施例中,本文所述的一个或多个***可以接收由麦克风202d生成的数据,并基于与该数据相关联的音频信号来确定对象相对于运载工具200的位置(例如,距离等)。
通信装置202e包括被配置为与照相机202a、LiDAR传感器202b、雷达传感器202c、麦克风202d、自主运载工具计算202f、安全控制器202g和/或线控(DBW)***202h进行通信的至少一个装置。例如,通信装置202e可以包括与图3的通信接口314相同或类似的装置。在一些实施例中,通信装置202e包括运载工具到运载工具(V2V)通信装置(例如,用于实现运载工具之间的数据的无线通信的装置)。
自主运载工具计算202f包括被配置为与照相机202a、LiDAR传感器202b、雷达传感器202c、麦克风202d、通信装置202e、安全控制器202g和/或DBW***202h进行通信的至少一个装置。在一些示例中,自主运载工具计算202f包括诸如客户端装置、移动装置(例如,蜂窝电话和/或平板电脑等)和/或服务器(例如,包括一个或多个中央处理单元和/或图形处理单元等的计算装置)等的装置。在一些实施例中,自主运载工具计算202f与本文所述的自主运载工具计算400相同或类似。附加地或可替代地,在一些实施例中,自主运载工具计算202f被配置为与自主运载工具***(例如,与图1的远程AV***114相同或类似的自主运载工具***)、队列管理***(例如,与图1的队列管理***116相同或类似的队列管理***)、V2I装置(例如,与图1的V2I装置110相同或类似的V2I装置)和/或V2I***(例如,与图1的V2I***118相同或类似的V2I***)进行通信。
安全控制器202g包括被配置为与照相机202a、LiDAR传感器202b、雷达传感器202c、麦克风202d、通信装置202e、自主运载工具计算202f和/或DBW***202h进行通信的至少一个装置。在一些示例中,安全控制器202g包括被配置为生成和/或传输控制信号以操作运载工具200的一个或多个装置(例如,动力总成控制***204、转向控制***206和/或制动***208等)的一个或多个控制器(电气控制器和/或机电控制器等)。在一些实施例中,安全控制器202g被配置为生成优先于(例如,覆盖)由自主运载工具计算202f生成和/或传输的控制信号的控制信号。
DBW***202h包括被配置为与通信装置202e和/或自主运载工具计算202f进行通信的至少一个装置。在一些示例中,DBW***202h包括被配置为生成和/或传输控制信号以操作运载工具200的一个或多个装置(例如,动力总成控制***204、转向控制***206和/或制动***208等)的一个或多个控制器(例如,电气控制器和/或机电控制器等)。附加地或可替代地,DBW***202h的一个或多个控制器被配置为生成和/或传输控制信号以操作运载工具200的至少一个不同的装置(例如,转向信号灯、前灯、门锁和/或挡风玻璃雨刮器等)。
动力总成控制***204包括被配置为与DBW***202h进行通信的至少一个装置。在一些示例中,动力总成控制***204包括至少一个控制器和/或致动器等。在一些实施例中,动力总成控制***204从DBW***202h接收控制信号,并且动力总成控制***204使运载工具200开始向前移动、停止向前移动、开始向后移动、停止向后移动、沿某方向加速、沿某方向减速、进行左转和/或进行右转等。在示例中,动力总成控制***204使提供给运载工具的马达的能量(例如,燃料和/或电力等)增加、保持相同或减少,由此使运载工具200的至少一个轮旋转或不旋转。
转向控制***206包括被配置为使运载工具200的一个或多个轮旋转的至少一个装置。在一些示例中,转向控制***206包括至少一个控制器和/或致动器等。在一些实施例中,转向控制***206使运载工具200的两个前轮和/或两个后轮向左或向右旋转,以使运载工具200左转或右转。
制动***208包括被配置为使一个或多个制动器致动以使运载工具200减速和/或保持静止的至少一个装置。在一些示例中,制动***208包括被配置为使与运载工具200的一个或多个轮相关联的一个或多个卡钳在运载工具200的相应转子上闭合的至少一个控制器和/或致动器。附加地或可替代地,在一些示例中,制动***208包括自动紧急制动(AEB)***和/或再生制动***等。
在一些实施例中,运载工具200包括用于测量或推断运载工具200的状态或条件的性质的至少一个平台传感器(未明确例示出)。在一些示例中,运载工具200包括诸如全球定位***(GPS)接收器、惯性测量单元(IMU)、轮速率传感器、轮制动压力传感器、轮转矩传感器、引擎转矩传感器和/或转向角传感器等的平台传感器。
现在参考图3,例示装置300的示意图。如所例示的,装置300包括处理器304、存储器306、存储组件308、输入接口310、输出接口312、通信接口314和总线302。在一些实施例中,装置300对应于:运载工具102的至少一个装置(例如,运载工具102***的至少一个装置);以及/或者网络112的一个或多个装置(例如,网络112***的一个或多个装置)。在一些实施例中,运载工具102的一个或多个装置(例如,运载工具102***的一个或多个装置)和/或网络112的一个或多个装置(例如,网络112***的一个或多个装置)包括至少一个装置300和/或装置300的至少一个组件。如图3所示,装置300包括总线302、处理器304、存储器306、存储组件308、输入接口310、输出接口312和通信接口314。
总线302包括许可装置300的组件之间的通信的组件。在一些实施例中,处理器304以硬件、软件、或者硬件和软件的组合来实现。在一些示例中,处理器304包括处理器(例如,中央处理单元(CPU)、图形处理单元(GPU)和/或加速处理单元(APU)等)、麦克风、数字信号处理器(DSP)、以及/或者可被编程为进行至少一个功能的任意处理组件(例如,现场可编程门阵列(FPGA)和/或专用集成电路(ASIC)等)。存储器306包括随机存取存储器(RAM)、只读存储器(ROM)、以及/或者存储供处理器304使用的数据和/或指令的另一类型的动态和/或静态存储装置(例如,闪速存储器、磁存储器和/或光存储器等)。
存储组件308存储与装置300的操作和使用相关的数据和/或软件。在一些示例中,存储组件308包括硬盘(例如,磁盘、光盘、磁光盘和/或固态盘等)、紧凑盘(CD)、数字多功能盘(DVD)、软盘、盒式磁带、磁带、CD-ROM、RAM、PROM、EPROM、FLASH-EPROM、NV-RAM和/或另一类型的计算机可读介质、以及相应的驱动器。
输入接口310包括许可装置300诸如经由用户输入(例如,触摸屏显示器、键盘、小键盘、鼠标、按钮、开关、麦克风和/或照相机等)等接收信息的组件。附加地或可替代地,在一些实施例中,输入接口310包括用于感测信息的传感器(例如,全球定位***(GPS)接收器、加速度计、陀螺仪和/或致动器等)。输出接口312包括用于提供来自装置300的输出信息的组件(例如,显示器、扬声器和/或一个或多个发光二极管(LED)等)。
在一些实施例中,通信接口314包括许可装置300与其它装置经由有线连接、无线连接、或者有线连接和无线连接的组合进行通信的类似收发器那样的组件(例如,收发器和/或单独的接收器和发射器等)。在一些示例中,通信接口314许可装置300从另一装置接收信息和/或向另一装置提供信息。在一些示例中,通信接口314包括以太网接口、光接口、同轴接口、红外接口、射频(RF)接口、通用串行总线(USB)接口、
Figure BDA0003388586410000161
接口和/或蜂窝网络接口等。
在一些实施例中,装置300进行本文所述的一个或多个处理。装置300基于处理器304执行由诸如存储器306和/或存储组件308等的计算机可读介质所存储的软件指令来进行这些处理。计算机可读介质(例如,非暂时性计算机可读介质)在本文被限定为非暂时性存储器装置。非暂时性存储器装置包括位于单个物理存储装置内的存储空间或跨多个物理存储装置分布的存储空间。
在一些实施例中,经由通信接口314从另一计算机可读介质或从另一装置将软件指令读取到存储器306和/或存储组件308中。存储器306和/或存储组件308中所存储的软件指令在执行时,使处理器304进行本文所述的一个或多个处理。附加地或可替代地,代替软件指令或与软件指令组合使用硬连线电路以进行本文所述的一个或多个处理。因此,除非另外明确说明,否则本文所描述的实施例不限于硬件电路和软件的任何特定组合。
存储器306和/或存储组件308包括数据存储部或至少一个数据结构(例如,数据库等)。装置300能够从存储器306或存储组件308中的数据存储部或至少一个数据结构接收信息,将信息存储在该数据存储部或至少一个数据结构中,将信息通信至该数据存储部或至少一个数据结构,或者搜索该数据存储部或至少一个数据结构中所存储的信息。在一些示例中,该信息包括网络数据、输入数据、输出数据或其任何组合。
在一些实施例中,装置300被配置为执行存储在存储器306和/或另一装置(例如,与装置300相同或类似的另一装置)的存储器中的软件指令。如本文所使用的,术语“模块”是指存储器306和/或另一装置的存储器中所存储的至少一个指令,该至少一个指令在由处理器304和/或另一装置(例如,与装置300相同或类似的另一装置)的处理器执行时,使装置300(例如,装置300的至少一个组件)进行本文所述的一个或多个处理。在一些实施例中,模块以软件、固件和/或硬件等来实现。
提供图3所示的组件的数量和排列作为示例。在一些实施例中,与图3所示的组件相比,装置300可以包括附加的组件、更少的组件、不同的组件或不同布置的组件。附加地或可替代地,装置300的一组组件(例如,一个或多个组件)可以进行被描述为由装置300的另一组件或另一组组件进行的一个或多个功能。
现在参考图4,例示自主运载工具计算400(有时称为“AV堆栈”)的示例框图。如所例示的,自主运载工具计算400包括感知***402(有时称为感知模块)、规划***404(有时称为规划模块)、定位***406(有时称为定位模块)、控制***408(有时称为控制模块)和数据库410。在一些实施例中,感知***402、规划***404、定位***406、控制***408和数据库410包括在运载工具的自动导航***(例如,运载工具200的自主运载工具计算202f)中和/或在该自动导航***中实现。附加地或可替代地,在一些实施例中,感知***402、规划***404、定位***406、控制***408和数据库410包括在一个或多个独立***(例如,与自主运载工具计算400相同或类似的一个或多个***等)中。在一些示例中,感知***402、规划***404、定位***406、控制***408和数据库410包括在位于运载工具中的一个或多个独立***以及/或者如本文所述的至少一个远程***中。在一些实施例中,自主运载工具计算400中所包括的***中的任意和/或全部以软件(例如,存储器中所存储的软件指令)、计算机硬件(例如,通过微处理器、微控制器、专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)等)、或者计算机软件和计算机硬件的组合来实现。还将理解,在一些实施例中,自主运载工具计算400被配置为与远程***(例如,与远程AV***114相同或类似的自主运载工具***、与队列管理***116相同或类似的队列管理***116、以及/或者与V2I***118相同或类似的V2I***等)进行通信。
在一些实施例中,感知***402接收与环境其中至少之一物理对象相关联的数据(例如,感知***402检测至少一个物理对象所使用的数据),并对该至少一个物理对象进行分类。在一些示例中,感知***402接收由至少一个照相机(例如,照相机202a)捕获到的图像数据,该图像与该至少一个照相机的视场内的一个或多个物理对象相关联(例如,表示该一个或多个物理对象)。在这样的示例中,感知***402基于物理对象(例如,自行车、运载工具、交通标志和/或行人等)的一个或多个分组来对至少一个物理对象进行分类。在一些实施例中,基于感知***402对物理对象进行分类,感知***402将与物理对象的分类相关联的数据传输到规划***404。
在一些实施例中,规划***404接收与目的地相关联的数据,并且生成与运载工具(例如,运载工具102)可以朝向目的地行驶所沿着的至少一个路线(例如,路线106)相关联的数据。在一些实施例中,规划***404定期地或连续地从感知***402接收数据(例如,上述的与物理对象的分类相关联的数据),并且规划***404基于感知***402所生成的数据来更新至少一个轨迹或生成至少一个不同轨迹。在一些实施例中,规划***404从定位***406接收与运载工具(例如,运载工具102)的更新位置相关联的数据,并且规划***404基于定位***406所生成的数据来更新至少一个轨迹或生成至少一个不同轨迹。
在一些实施例中,定位***406接收与运载工具(例如,运载工具102)在区域中的地点相关联(例如,表示该地点)的数据。在一些示例中,定位***406接收与至少一个LiDAR传感器(例如,LiDAR传感器202b)所生成的至少一个点云相关联的LiDAR数据。在某些示例中,定位***406从多个LiDAR传感器接收与至少一个点云相关联的数据,并且定位***406基于各个点云来生成组合点云。在这些示例中,定位***406将该至少一个点云或组合点云与数据库410中所存储的区域的二维(2D)和/或三维(3D)地图进行比较。然后,基于定位***406将至少一个点云或组合点云与地图进行比较,定位***406确定运载工具在区域中的位置。在一些实施例中,地图包括运载工具的导航之前生成的该区域的组合点云。在一些实施例中,地图包括但不限于车行道几何性质的高精度地图、描述道路网连接性质的地图、描述车行道物理性质(诸如交通速率、交通流量、运载工具和自行车交通车道的数量、车道宽度、车道交通方向或车道标记的类型和地点、或者它们的组合等)的地图、以及描述道路特征(诸如人行横道、交通标志或各种类型的其它行驶信号灯等)的空间地点的地图。在一些实施例中,基于感知***所接收到的数据来实时地生成地图。
在另一示例中,定位***406接收由全球定位***(GPS)接收器所生成的全球导航卫星***(GNSS)数据。在一些示例中,定位***406接收与运载工具在区域中的地点相关联的GNSS数据,并且定位***406确定运载工具在区域中的纬度和经度。在这样的示例中,定位***406基于运载工具的纬度和经度来确定运载工具在区域中的位置。在一些实施例中,定位***406生成与运载工具的位置相关联的数据。在一些示例中,基于定位***406确定运载工具的位置,定位***406生成与运载工具的位置相关联的数据。在这样的示例中,与运载工具的位置相关联的数据包括与对应于运载工具的位置的一个或多个语义性质相关联的数据。
在一些实施例中,控制***408从规划***404接收与至少一个轨迹相关联的数据,并且控制***408控制运载工具的操作。在一些示例中,控制***408从规划***404接收与至少一个轨迹相关联的数据,并且控制***408通过生成并传输控制信号以使动力总成控制***(例如,DBW***202h和/或动力总成控制***204等)、转向控制***(例如,转向控制***206)和/或制动***(例如,制动***208)进行操作,来控制运载工具的操作。在示例中,在轨迹包括左转的情况下,控制***408传输控制信号以使转向控制***206调整运载工具200的转向角,由此使运载工具200左转。附加地或可替代地,控制***408生成并传输控制信号以使运载工具200的其它装置(例如,前灯、转向信号灯、门锁和/或挡风玻璃雨刮器等)改变状态。
在一些实施例中,感知***402、规划***404、定位***406和/或控制***408实现至少一个机器学习模型(例如,至少一个多层感知器(MLP)、至少一个卷积神经网络(CNN)、至少一个递归神经网络(RNN)、至少一个自动编码器和/或至少一个变换器等)。在一些示例中,感知***402、规划***404、定位***406和/或控制***408单独地或与上述***中的一个或多个结合地实现至少一个机器学习模型。在一些示例中,感知***402、规划***404、定位***406和/或控制***408实现至少一个机器学习模型作为管道(例如,用于识别位于环境中的一个或多个对象的管道等)的一部分。机器学习模型的实现示例包括在关于图4B-4D的下文。
数据库410存储传输至感知***402、规划***404、定位***406和/或控制***408的、从其接收到的、以及/或者由其更新的数据。在一些示例中,数据库410包括用于存储与操作相关的数据和/或软件、并使用自主运载工具计算400的至少一个***的存储组件(例如,与图3的存储组件308相同或类似的存储组件)。在一些实施例中,数据库410存储与至少一个区域的2D和/或3D地图相关联的数据。在一些示例中,数据库410存储与城市的一部分、多个城市的多个部分、多个城市、县、州和/或国家(State)(例如,国家)等的2D和/或3D地图相关联的数据。在这样的示例中,运载工具(例如,与运载工具102和/或运载工具200相同或类似的运载工具)可以沿着一个或多个可驾驶区(例如,单车道道路、多车道道路、高速公路、偏僻道路和/或越野道路等)驾驶,并且使至少一个LiDAR传感器(例如,与LiDAR传感器202b相同或类似的LiDAR传感器)生成与表示该至少一个LiDAR传感器的视场中所包括的对象的图像相关联的数据。
在一些实施例中,数据库410可以跨多个装置来实现。在一些示例中,数据库410包括在运载工具(例如,与运载工具102和/或运载工具200相同或类似的运载工具)、自主运载工具***(例如,与远程AV***114相同或类似的自主运载工具***)、队列管理***(例如,与图1的队列管理***116相同或类似的队列管理***)中、V2I***(例如,与图1的V2I***118相同或类似的V2I***)等中。
现在参考图4B,例示机器学习模型的实现的图。更具体地,例示了卷积神经网络(CNN)420的实现的图。为了说明的目的,CNN 420的以下描述将涉及感知***402对CNN 420的实现。然而,将理解的是,在一些示例中,CNN 420(例如,CNN 420的一个或多个组件)由与感知***402不同的或连同感知***402之外的诸如规划***404、定位***406和/或控制***408等的其它***来实现。虽然CNN 420包括本文所述的某些特征,但提供这些特征是为了说明的目的,并不旨在限制本公开。
CNN 420包括具有第一卷积层422、第二卷积层424和卷积层426的多个卷积层。在一些实施例中,CNN 420包括子采样层428(有时称为池化层)。在一些实施例中,子采样层428和/或其它子采样层具有与上游***的维数相比更少的维数(即,节点量)。借助于子采样层428具有与上游层的维数相比更少的维数,CNN 420整合与上游层的初始输入和/或输出相关联的数据量,从而减少CNN 420进行下游卷积运算所需的计算量。附加地或可替代地,借助于子采样层428与(例如,配置为进行)至少一个子采样功能(如下文关于图4C和图4D所述)相关联,CNN 420整合与初始输入相关联的数据量。
感知***402基于感知***402提供与第一卷积层422、第二卷积层424以及卷积层426中的各个卷积层相关联的各自的输入和/或输出来进行卷积运算,以生成各自的输出。在一些示例中,感知***402基于感知***402将数据作为输入提供给第一卷积层422、第二卷积层424以及卷积层426来实现CNN 420。在这样的示例中,感知***402基于感知***402从一个或多个不同***(例如,与运载工具102相同或类似的运载工具的一个或多个***、与远程AV***114相同或类似的远程AV***、与队列管理***116相同或类似的队列管理***以及/或者与V2I***118相同或类似的V2I***等)接收数据,来将数据作为输入提供给第一卷积层422、第二卷积层424和卷积层426。卷积运算的详细描述包括在下面关于图4C的描述中。
在一些实施例中,感知***402向第一卷积层422提供与输入(称为初始输入)相关联的数据,并且感知***402使用第一卷积层422生成与输出相关联的数据。在一些实施例中,感知***402将由卷积层生成的输出作为输入提供给不同卷积层。例如,感知***402将第一卷积层422的输出作为输入提供给子采样层428、第二卷积层424和/或卷积层426。在这样的示例中,第一卷积层422被称为上游层,子采样层428、第二卷积层424和/或卷积层426被称为下游层。类似地,在一些实施例中,感知***402将子采样层428的输出提供给第二卷积层424和/或卷积层426,并且在该示例中,子采样层428将被称为上游层,第二卷积层424和/或卷积层426将被称为下游层。
在一些实施例中,在感知***402向CNN 420提供输入之前,感知***402处理与提供给CNN 420的输入相关联的数据。例如,感知***402基于感知***402对传感器数据(例如,图像数据、LiDAR数据和/或雷达数据等)进行标准化(normalize)来处理与提供给CNN420的输入相关联的数据。
在一些实施例中,CNN 420基于感知***402进行与各个卷积层相关联的卷积运算来生成输出。在一些示例中,CNN 420基于感知***402进行与各个卷积层相关联的卷积运算和初始输入来生成输出。在一些实施例中,感知***402生成输出并提供该输出作为全连接层430。在一些示例中,感知***402提供卷积层426的输出作为全连接层430,其中全连接层430包括与被称为F1、F2、…FN的多个特征值相关联的数据。在该示例中,卷积层426的输出包括与表示预测的多个输出特征值相关联的数据。
在一些实施例中,感知***402基于感知***402识别与多个预测中正确预测的最高可能性相关联的特征值,来从多个预测中识别预测。例如,其中全连接层430包括特征值F1、F2、…FN,并且F1是最大特征值,感知***402将与F1相关联的预测识别为来自多个预测中的正确预测。在一些实施例中,感知***402训练CNN 420以生成预测。在一些示例中,感知***402训练CNN 420以基于感知***402向CNN 420提供与预测相关联的训练数据来生成预测。
现在参考图4C和图4D,例示出感知***402对CNN 440的示例操作的图。在一些实施例中,CNN 440(例如,CNN 440的一个或多个组件)与CNN 420(例如,CNN 420的一个或多个组件)相同或类似(参见图4B)。
在步骤450处,感知***402将与图像相关联的数据作为输入提供给CNN 440(步骤450)。例如,如所例示的,感知***402将与图像相关联的数据提供给CNN 440,其中图像是表示为存储在二维(2D)阵列中的值的灰度图像。在一些实施例中,与图像相关联的数据可以包括与彩色图像相关联的数据,彩色图像表示为存储在三维(3D)阵列中的值。附加地或可替代地,与图像相关联的数据可以包括与红外图像和/或雷达图像等相关联的数据。
在步骤455处,CNN 440执行第一卷积函数(功能)。例如,CNN 440基于CNN 440将表示图像的值作为输入提供给包括在第一卷积层442中的一个或多个神经元(未明确例示出),来执行第一卷积函数。在该示例中,表示图像的值可以对应于表示图像区域(有时称为感受野)的值。在一些实施例中,各个神经元与过滤器相关联(未明确例示出)。过滤器(有时称为内核(kernel))可以表示为大小与作为输入提供给神经元的值相对应的值的数组。在一个示例中,过滤器可被配置为识别边(例如,水平线、垂直线和/或直线等)。在连续的卷积层中,与神经元相关联的过滤器可被配置成连续地识别更复杂的图案(例如,弧和/或对象等)。
在一些实施例中,CNN 440基于CNN 440将作为输入提供给第一卷积层442中包括的一个或多个神经元中的各个的值与对应于一个或多个神经元中的各个的过滤器的值相乘,来进行第一卷积函数(功能)。例如,CNN 440可以将作为输入提供给第一卷积层442中包括的一个或多个神经元中的各个的值与对应于一个或多个神经元中的各个的过滤器的值相乘,以生成单个值或值的数组(array)作为输出。在一些实施例中,第一卷积层442的神经元的集体输出称为卷积输出。在各个神经元具有相同的过滤器的一些实施例中,卷积输出被称为特征映射。
在一些实施例中,CNN 440将第一卷积层442的各个神经元的输出提供给下游层的神经元。为了清楚的目的,上游层可以是将数据发送到不同层(称为下游层)的层。例如,CNN440可以将第一卷积层442的各个神经元的输出提供给子采样层的相应神经元。在示例中,CNN 440将第一卷积层442的各个神经元的输出提供给第一子采样层444的相应神经元。在一些实施例中,CNN 440向提供给下游层的各个神经元的所有值的集合添加偏置值。例如,CNN 440向提供给第一子采样层444的各个神经元的所有值的集合添加偏置值。在这样的示例中,CNN 440基于提供给各个神经元的所有值的集合和与第一子采样层444的各个神经元相关联的激活函数,确定提供给第一子采样层444的各个神经元的最终值。
在步骤460处,CNN 440进行第一子采样函数。例如,CNN 440可以基于CNN 440将第一卷积层442输出的值提供给第一子采样层444的相应神经元来进行第一子采样函数。在一些实施例中,CNN 440基于聚合函数进行第一子采样函数。在示例中,CNN 440基于CNN 440确定提供给给定神经元的值中的最大输入(称为最大池化函数)来进行第一子采样函数。在另一示例中,CNN 440基于CNN 440确定提供给给定神经元的值中的平均输入(称为平均池化函数)来进行第一子采样函数。在一些实施例中,CNN 440基于CNN 440向第一子采样层444的各个神经元提供值来生成输出,该输出有时称为子采样卷积输出。
在步骤465处,CNN 440进行第二卷积函数。在一些实施例中,CNN 440以类似于上述CNN 440进行第一卷积函数的方式进行第二卷积函数。在一些实施例中,CNN 440基于CNN440将第一子采样层444输出的值作为输入提供给包括在第二卷积层446中的一个或多个神经元(未明确例示出),来进行第二卷积函数。在一些实施例中,如上所述,第二卷积层446的各个神经元与过滤器相关联。如上所述,与同第一卷积层442相关联的过滤器相比,与第二卷积层446相关联的(一个或多个)过滤器可以被配置为识别更复杂的图案(pattern)。
在一些实施例中,CNN 440基于CNN 440将作为输入提供给第二卷积层446中包括的一个或多个神经元中的各个的值与对应于一个或多个神经元中的各个的过滤器的值相乘,来进行第二卷积函数。例如,CNN 440可以将作为输入提供给第二卷积层446中包括的一个或多个神经元中的各个的值与对应于一个或多个神经元中的各个的过滤器的值相乘,以生成单个值或值的数组(array)作为输出。
在一些实施例中,CNN 440将第二卷积层446的各个神经元的输出提供给下游层的神经元。例如,CNN 440可以将第二卷积层446的各个神经元的输出提供给子采样层的相应神经元。在示例中,CNN 440将第二卷积层446的各个神经元的输出提供给第二子采样层448的相应神经元。在一些实施例中,CNN 440向提供给下游层的各个神经元的所有值的集合添加偏置值。例如,CNN 440向提供给第二子采样层448的各个神经元的所有值的集合添加偏置值。在这样的示例中,CNN 440基于提供给各个神经元的所有值的集合以及与第二子采样层448的各个神经元相关联的激活函数,来确定提供给第二子采样层448的各个神经元的最终值。
在步骤470处,CNN 440进行第二子采样函数。例如,CNN 440可以基于CNN 440将第二卷积层446输出的值提供给第二子采样层448的相应神经元来进行第二子采样函数。在一些实施例中,CNN 440基于CNN 440使用聚合函数来进行第二子采样函数。在示例中,CNN440基于CNN 440确定提供给给定神经元的值中的最大输入或平均输入,来进行如上所述的第二子采样函数。在一些实施例中,CNN 440基于CNN 440将值提供给第二子采样层448的各个神经元来生成输出。
在步骤475处,CNN 440将第二子采样层448的各个神经元的输出480提供给全连接层449。例如,CNN 440将第二子采样层448的各个神经元的输出480提供给全连接层449,以使全连接层449生成输出480。在一些实施例中,全连接层449被配置成生成与预测(有时称为分类)相关联的输出。预测可以包括如下的指示:作为CNN 440的输入而提供的图像中所包括的对象包括对象和/或一组对象等。在一些实施例中,感知***402进行一个或多个操作和/或向本文所述的不同***提供与预测相关联的数据。
对象跟踪***
准确识别运载工具周围的对象并估计对象的动态参数(例如,位置、方位、速度、轨迹等)可以提高运载工具的功能性和安全性,尤其是自主运载工具的功能性和安全性。与激光雷达图像相关联的激光雷达数据可用于识别对象并估计对象的动态参数。激光雷达数据可以包括与来自对象的激光雷达光束的反射相对应的激光雷达点。然而,激光雷达点(或激光雷达点云)通常是稀疏的,尤其是对于较小的对象和/或对象与激光雷达传感器之间的距离增加时通常是稀疏的。例如,在一些情况下,较小和/或相对较远的对象可能有一个或两个映射到(或击中)该对象的激光雷达点。对象具有的激光雷达点数量相对较少会使准确地确定该对象的动态参数更加困难。
在某些情况下,为了提高识别对象和估计动态参数的准确性,对象跟踪***500(也称为训练***500)可以增加对象上的激光雷达点的密度。在一些情况下,为了增加激光雷达点的密度,对象跟踪***500可以针对对象生成虚拟点,并将虚拟点与来自映射到对象的激光雷达点的参数(例如,3D地点等)相关联。例如,对象上的激光雷达点的深度(或z坐标)可以与对象上的近似虚拟点相关联。在一些情况下,虚拟点可以采用或接收最接近虚拟点(例如,最近邻)的激光雷达点的至少一些参数(例如,激光雷达点的深度)。
另外,图像上的虚拟点可以从像素坐标变换为3D坐标或激光雷达坐标。在一些此类情况下,激光雷达坐标中的虚拟点的深度可以与关联的激光雷达点相同。可以根据图像中虚拟点的x、y坐标和像素-激光雷达变换来生成激光雷达坐标中虚拟点的x、y坐标。像素-激光雷达变换可以是基于图像中的像素与激光雷达的激光雷达坐标之间的确定关系或静态关系。在某些情况下,可以诸如通过使用内在矩阵或外在矩阵,基于照相机的内在参数(例如焦距、图像传感器格式和主点)和外在参数(例如照相机在运载工具上或在世界坐标中的中心、航向、位置和/或方位)来确定该关系。对象跟踪***500可以使用虚拟点和激光雷达点来估计对象的动态参数。
在某些情况下,对象跟踪***500可以生成并使用对象序列来提高识别和估计对象的动态参数的准确性。在一些情况下,为了生成对象序列,对象跟踪***500可以识别不同图像中在不同时间处的相应对象(或相同对象)(例如,图像中在时间t0、t1、t2等处的对象)。与不同时间处的对象关联的某些数据(例如,激光雷达点、3D边界框、语义数据等)可以提供关于不同时间处的对象的地点信息。对象跟踪***500可以使用地点信息来生成指示对象在不同时间处的地点的对象的序列或对象序列。对象跟踪***500可以使用对象序列来估计对象的动态参数。
在一些情况下,对象跟踪***500可以使用虚拟点和对象序列来估计对象的动态参数。例如,由于对象跟踪***500在不同图像中识别在不同时间处的对象,因此其可以针对不同时间处的对象生成虚拟点,并将虚拟点与针对该时间的激光雷达点相关联。以这种方式,对象跟踪***500可以针对不同时间处的对象创建更密集的激光雷达图像(在给定区域内具有更多的激光雷达点)或激光雷达点云。对象跟踪***500可以使用更密集的激光雷达点云来生成对象序列(具有更密集的激光雷达数据),并使用对象序列来估计对象的动态参数。通过使用针对对象的更密集的激光雷达点云序列,对象跟踪***500可以改进对对象的动态参数的估计,这可以提高运载工具的安全性和可靠性。
图5A是示出用于感知***402的对象跟踪***500的示例的框图。对象跟踪***500可以识别和/或跟踪运载工具200周围的诸如其它运载工具、自行车、行人等的对象。
在图5A的图示示例中,对象跟踪***500接收不同类型的图像501a、501b(单独或统称为图像501),并且包括图像特征提取网络502、3D边界框网络504和对象序列生成器***506以及优化网络508。与图5A中所例示的要素相比,可以存在附加要素、更少要素、不同要素和/或不同排列的要素。例如,在一些情况下,对象跟踪***500可以不包括图像特征提取网络502或3D边界框网络504。附加地或可替代地,对象跟踪***500的至少一个要素可以进行被描述为由图5A的至少一个不同要素进行的一个或多个功能。附加地或可替代地,对象跟踪***500的至少一组要素可以进行被描述为由对象跟踪***500的至少一组不同要素进行的一个或多个功能。
图像501可以包括与用于生成图像501的传感器或装置相对应的不同类型的图像。例如,图像501a可以是从一个或多个照相机(诸如照相机202a)生成的照相机图像。例如,图像501b可以是从一个或多个激光雷达传感器(诸如激光雷达传感器202b)生成的激光雷达图像。可以使用诸如从一个或多个雷达传感器生成的雷达图像(例如,从雷达传感器202c生成)等的其它图像类型。
图像特征提取网络
图像特征提取网络502可以使用与CNN 420相同或类似的一个或多个CNN来实现,并且可以被配置为接收与图像501相关联的图像数据作为输入,并且输出与从图像501提取的特征相关联的语义图像和/或语义数据(在本文中也可称为图像语义数据)。
在某些情况下,可以使用DeepLabv3+或PSP+神经网络模型实现图像特征提取网络502。然而,将理解的是,可以使用各种神经网络来从图像中提取特征。
如本文所述,至少参考CNN 420,图像特征提取网络502可包括可用于对图像501中不同对象(例如,运载工具、行人、自行车、障碍物、交通锥、可驾驶表面或背景等)进行识别和分类的一个或多个过滤器、卷积层、子采样层和/或全连接层。因此,在某些情况下,由图像特征提取网络502输出的语义数据可以识别图像501中的一个或多个对象、针对各个对象的对象分类和/或对象具有特定分类的概率。
语义图像可以包括像素行。语义图像中的一些或所有像素可以包括诸如一个或多个特征嵌入等的语义数据。在某些情况下,特征嵌入可以与一个或多个对象属性相关,诸如但不限于识别对象的分类(有时称为对象的类别)的对象分类或类标签(非限制性示例:运载工具、行人、自行车、障碍物、交通锥、可驾驶表面或背景等)。对象分类也可被称为像素类别概率或语义分割得分。在一些情况下,针对图像501的像素的对象分类可作为图像501的紧密概括特征。例如,对象分类可包括指示正确预测出针对像素的所识别对象分类的概率的概率值。
在一些情况下,特征嵌入可以包括一个或多个n维特征向量。在一些此类情况下,单个特征向量可能不对应于对象属性,但多个n维特征向量的组合可以包含关于对象属性的信息,诸如但不限于对象的分类、宽度、长度、高度、2D边界框等。在某些情况下,特征嵌入可以包括一个或多个浮点数,这可以帮助下游模型进行其检测/分割/预测任务。
3D边界框网络
3D边界框网络504可以使用与CNN 420和/或CNN 440相同或类似的一个或多个CNN来实现,并且可以被配置为接收与图像相关联的图像数据作为输入,并且输出与从图像提取的一个或多个特征相关联的特征数据(在本文中也可以被称为3D特征数据和/或3D语义数据),以及/或者输出包括图像数据以及与从图像中提取的一个或多个特征相关联的特征数据的注释图像。
如本文所述,至少参考CNN 420,3D边界框网络504可包括一个或多个过滤器、卷积层、子采样层和/或全连接层,其可用于检测图像中对象的尺寸,诸如但不限于图像中对象的宽度、高度和/或长度。3D边界框网络504还可以确定或估计对象的动态参数,诸如但不限于对象的方位、3D地点、移动、速度、轨迹等。3D边界框网络504针对对象生成指示对象的尺寸和/或动态参数的3D边界框。
在一些情况下,可以使用激光雷达神经网络和/或预测网络来实现3D边界框网络504。在某些情况下,可以使用点柱(PointPillars)、VoxelNet或PointR-CNN来实现3D边界框网络504。
在图5A的图示示例中,针对3D边界框网络504的图像输入是激光雷达图像501b。将理解的是,可以使用不同类型的图像。在一些情况下,如美国申请17/096916和“PointPainting:Sequential Fusion for 3D Object Detection”(arXiv:1911.10150v2[cs.CV],2020年5月6日)所述,针对3D边界框网络的图像输入可以是绘制的激光雷达数据、或者可以是包括与来自语义图像的图像语义数据相连结(concatenate)的激光雷达数据的融合图像,出于所有目的,通过引用将其中各个并入本文。在一些情况下,3D边界框网络504可以包括向深度学习主干网络输出伪图像的柱编码器。深度学习主干可以计算特征并将其输出到检测头。如“PointPillars:Fast Encoders for Object Detection from PointClouds”(arXiv:1812.05784v2[cs.LG],2019年5月5日)中所述,检测头可以输出定向的3D边界框,出于所有目的,其整体内容通过引用并入本文。
由3D边界框网络504生成的3D特征数据可以包括但不限于图像和/或对象的边界框中的对象的尺寸和/或动态参数的任意一个或任意组合。可以将生成的特征编码到图像中以形成注释图像。在一些情况下,3D边界框网络504可以将3D特征数据作为一个或多个特征或语义嵌入到图像的像素中。
在一些情况下,注释图像中的一些或全部像素可以包括与从该像素、像素组或图像中提取的一个或多个特征相关联的3D特征数据。例如,注释图像中的像素可以包括指示与对象的对应于像素的部分相关联的尺寸或动态参数的一个或多个地点值,其中边界框值指示边界框的边或边界框的一部分。例如,像素的3D特征数据可以指示与像素相关联的对象的速度、方位、3D地点和/或分类。
注释图像中的一些或全部像素可以包括附加数据。例如,注释图像中的像素可以包括图像数据(例如,用于创建图像的多个图像其中至少之一的图像数据)、图像语义数据(例如,由图像特征提取网络502生成的语义数据,诸如对象的分类)以及3D特征数据(例如,由3D边界框网络生成的特征数据),其中图像数据与至少一个类型的图像相关联、图像语义数据与图像相关联、3D特征数据与对象的特征相关联。例如,注释图像中的像素可以包括针对地点(x,y,z)、反射率、强度、时间戳、不同对象类别概率、关联边界框、轨迹预测、运动、速度估计等的一个或多个注释。
对象序列生成器***
对象序列生成器***506可以使用一个或多个处理器来实现,并且可以被配置为生成对象序列。在一些情况下,对象序列生成器***506可以使用激光雷达图像、3D边界框和/或语义图像来针对图像中的不同对象生成对象序列。对象序列可以指示对象随时间的经确定的地点。在一些情况下,特定对象序列可以指示特定对象随时间的确定地点。例如,如果在语义图像中识别出自行车,则序列生成器***506可以使用由3D边界框网络504生成的、与自行车相关联(包括自行车的地点和估计速度数据)的3D特征数据来定位在更早的语义图像中的自行车,并且针对自行车生成指示自行车的地点的随时间的对象序列。自行车的对象序列可以提高确定自行车动态参数的准确性。
在一些情况下,序列生成器***506可以生成虚拟点或虚拟激光雷达点,并且将与真实激光雷达点相关联的地点数据与虚拟激光雷达点相关联,以增加映射到对象的激光雷达点的密度。增加的激光雷达点密度可以提高针对对象的地点和速度估计的准确性。例如,继续参考自行车示例,序列生成器***506可以针对自行车生成虚拟点,关联来自附近激光雷达点的虚拟点的深度,并通过将虚拟点的x、y坐标从像素坐标变换为3D或激光雷达坐标来确定虚拟点的x、y坐标。这可以得到与自行车相关联的更密集的点云。
在一些情况下,对象序列生成器***506可以融合激光雷达图像和照相机图像,雷达图像和照相机图像,激光雷达图像和雷达图像,以及/或者激光雷达图像、雷达图像和照相机图像,以形成融合图像,并且使用融合图像估计融合图像中对象在不同时间处的地点,针对融合图像中的对象生成虚拟激光雷达点,以及/或者针对融合图像中的对象生成对象序列。
在某些情况下,诸如在对象序列生成器***506融合激光雷达图像、雷达图像和照相机图像的情况下,融合图像可以包括3D场景,其中3D场景中的各个点包括激光雷达数据、雷达数据和/或投影像素值。在某些情况下,来自一个类型的图像的各个像素可以映射到来自另一不同类型的图像的像素或与之融合。由此所得的像素在本文中也可称为融合像素。在某些情况下,对象序列生成器***506从图像中融合相应的像素(例如,在各个图像的相同x、y位置处的像素)。
在一些情况下,来自第一图像的仅一些像素映射到来自第二图像的像素或与之融合。例如,图像的图像大小可以不同,使得来自第一图像的像素不能映射到第二图像(例如,第一图像大于第二图像),或者第二图像中的像素未不映射到第一图像(例如,第二图像大于第一图像)。
作为另一个非限制性示例,来自较低分辨率图像的各个像素可以映射到较高分辨率图像中的像素,而并非所有来自较高分辨率图像的像素都可以映射到较低分辨率图像中的像素。在一些此类情况下,如果存在较低分辨率上的相应像素,则可以将来自较高分辨率图像的像素映射到较低分辨率图像中的像素。例如,激光雷达图像与照相机图像相比可能具有较低或较高分辨率。在一些此类情况下,照相机图像中的仅一些像素可以映射到激光雷达图像中的像素或与之融合。
在要融合的图像中的一个是语义图像的情况下,来自语义图像的语义数据可以映射到第二图像或与第二图像融合。例如,融合像素可以包括与语义图像相关联的图像数据和/或图像语义数据以及与第二图像相关联的图像数据。因此,一个像素可与以下相关联(例如,包括):照相机图像数据(例如,位置(x,y)、红色、绿色、蓝色等)、激光雷达图像数据(例如,位置(x,y,z)、反射率、强度、时间戳等)、图像语义数据(例如,类标签、语义分割得分或计算出的特征向量等)和/或3D特征数据(例如,3D边界框、动态参数等)。在一些情况下,融合像素可能包括一个类型的具有图像语义数据的图像数据。例如,融合图像可能包括激光雷达图像数据和图像语义数据,但不包括照相机图像数据,反之亦然。在某些情况下,融合像素可能包括具有语义数据的多个类型的图像数据,诸如具有图像语义数据和/或3D特征数据的激光雷达图像数据、雷达图像数据和/或照相机图像数据。
因此,对象序列生成器***506可以输出融合图像,该融合图像包括与融合图像相关联的图像语义数据和/或3D特征数据以及与至少一个图像类型相关联的图像数据。在一些实施例中,除了融合图像可以包括至少一个或多个附加维度(例如,图像语义数据和/或3D特征数据),融合图像可以类似于3D对象检测器所用(consume)的其它图像。
在一些情况下,对象序列生成器***506可以融合三个或更多个图像以生成融合图像。例如,对象序列生成器***506可以接收与激光雷达图像相关联的图像数据、与从照相机图像生成的语义图像相关联的图像语义数据、由3D边界框生成的3D边界框数据和/或与地图图像(或地图)相关联的地图数据。可以使用诸如雷达图像等的其它图像类型。在一些此类情况下,地图数据可以指示地理区域内包括人行横道、小汽车或自行车道、人行道等的地点。对象序列生成器***506可以将地图数据与图像数据和图像语义数据融合,以使优化网络508能够生成附加特征。在一些情况下,可以使用对象序列生成器***506通过将图像数据投影到鸟瞰图图像,然后将地图数据和图像语义数据嵌入鸟瞰图图像的一些或全部像素,来将地图数据与图像数据和图像语义数据进行融合。在一些此类情况下,融合图像中的像素可以包括与激光雷达/鸟瞰图图像相关联的图像数据、与语义图像相关联的图像语义数据(例如,对象分类、语义特征向量)以及与地图数据相关联的地图数据(例如,人行横道地点、车道等)。
在一些情况下,对象序列生成器***506使用地点信息将地图数据与图像数据融合。例如,基于地点信息,对象序列生成器***506可以确定图像数据相对于地图数据的地点和/或方位。基于所确定的地点,对象序列生成器***506可以确定图像的哪些像素将被相应的地图数据注释或嵌入。
在某些情况下,诸如当两个照相机的视场重叠并且从两个照相机图像中的各个生成语义图像时,在融合图像中可能存在可以使用不同图像语义数据的一些像素(例如,来自第一照相机图像的像素和来自第二照相机图像的像素映射到相同的激光雷达像素)。在一些此类情况下,可以随机选择从两个照相机图像像素生成的图像语义数据,以便与不同类型的图像进行融合。在某些情况下,对象序列生成器***506可以向两个照相机图像中的一个分配较高的置信值,并且使用从该照相机图像生成的图像语义数据来与不同类型的图像进行融合。
在一些情况下,从图像501a生成语义图像并将语义图像提供给对象序列生成器***506所花费的时间与将图像501b提供给对象序列生成器***506所花费的时间之间可能存在更大的延迟。因此,在一些情况下,对象序列生成器***506可以将在时域中彼此偏移的图像501a、501b融合。例如,对象序列生成器***506可以将对应于时间2的图像501b与从对应于时间1的图像501a所生成的语义图像融合。在某些情况下,图像501a、501b可以彼此偏移一个或多个微秒或毫秒等。
优化(refinement)网络
优化网络508可以使用与CNN 420和/或CNN 440相同或类似的一个或多个CNN来实现,并且可以配置为接收对象的对象序列、3D边界框和/或3D特征数据(包括动态参数,诸如但不限于针对对象的方位和/或速度估计)作为输入,并且输出包括来自对象序列的对象的动态参数的优化特征数据,以及/或者输出包括优化特征数据或对象的动态参数的注释图像。在一些情况下,动态参数可以包括相对于从对象序列、3D边界框和/或3D特征数据接收的方位和/或速度估计而优化或修改的方位和/或速度估计。
在一些情况下,优化网络接收与真实/虚拟点云的3D地点数据连结的语义数据(例如,从图像中提取的图像特征)。例如,对象序列中的像素可以包括对象(随着时间)的语义数据(例如,对象分类)以及3D地点数据(例如,激光雷达点/虚拟点)。通过将语义数据(例如,从图像提取的图像特征)与真实/虚拟点云的3D地点数据连结,优化网络508可以提供更准确的动态参数确定和/或估计。
如本文所述,至少参考CNN 420,优化网络508可包括一个或多个过滤器、卷积层、子采样层和/或全连接层,其可用于检测图像中对象的宽度、高度和长度、生成对象的边界框、确定对象动态参数(方位、速度等)、和/或预测对象轨迹。
在一些情况下,可以使用激光雷达神经网络和/或预测网络来实现优化网络508。在一些情况下,激光雷达神经网络被配置为确定对象尺寸和/或动态参数,以及/或者修改或优化作为输入所接收的对象尺寸和/或动态参数。在某些情况下,可以使用PointNet、PointNet++或PointR CNN网络来实现优化网络508。
由优化网络508生成的特征数据或优化特征数据可以包括但不限于图像和/或对象的边界框中的对象的尺寸和/或动态参数的任意一个或任意组合。优化特征数据可以编码到来自对象序列图像的图像中,以形成注释融合图像。
在一些情况下,注释图像中的一些或全部像素可以包括与从该像素、像素组或图像中提取的一个或多个特征相关联的优化特征数据。例如,注释图像中的像素可以包括指示与该像素对应的对象部分相关联的尺寸或动态参数的一个或多个地点值,以及指示边界框的边或一部分的边界框值。例如,相对于优化网络508所接收的3D特征数据,像素的优化特征数据可以指示与像素相关联的对象的修改的速度、方位、3D地点和/或分类。
注释图像中的一些或全部像素可以包括附加数据。例如,注释图像中的像素可以包括图像数据(例如,用于创建图像的多个图像至少之一的图像数据)、图像语义数据(例如,由图像特征提取网络502生成的语义数据,诸如对象的分类)以及3D特征数据(例如,由3D边界框网络生成的特征数据),其中图像数据与至少一个类型的图像相关联、图像语义数据与图像相关联、3D特征数据与对象的特征相关联。例如,注释图像中的像素可以包括针对地点(x,y,z)、反射率、强度、时间戳、不同对象类别概率、关联边界框、轨迹预测、移动、速度估计等的一个或多个注释。
如本文所述,通过使用对象序列和/或更密集的点云来生成优化特征数据和/或注释图像,优化网络508可以针对对象的动态参数提供改进的估计。规划***404可以使用改进的估计来为运载工具规划更安全和/或更高效的路线,以及/或者控制***408可以使用改进的估计来以更安全和/或更有效的方式控制运载工具。
示例操作图
图5B和图5C是示出使用对象序列确定对象的动态参数的示例的操作图。虽然描述了由跟踪***的特定组件进行的不同步骤,但是跟踪***500的组件的任意一个或任意组合都可以用于进行本文参考图5B和图5C描述的步骤的任意一个或任意组合。
在步骤552a处,对象序列生成器***506接收与图像特征提取网络502所生成的语义图像510相关联的语义图像数据。如本文所述,图像特征提取网络502可以根据与从诸如照相机202a等的照相机接收到的图像相关联的图像数据,生成语义图像数据。在一些情况下,图像可以包括矩阵中的多行像素,各个像素可以包括针对红色、绿色和蓝色的值或灰度值。在某些情况下,图像不包括注释,以及/或者该图像可被称为未注释图像。
如本文所述,图像特征提取网络502可以使用一个或多个CNN 420根据图像501a中的相应像素来生成针对语义图像510中的一些或全部像素的语义数据。在一些情况下,与特定像素相关联的语义数据可以包括类标签或对象分类得分,其包括指示针对像素的所识别对象分类被正确预测的概率的概率值。
在步骤552b处,对象序列生成器***506接收与激光雷达图像512相关联的激光雷达图像数据。在图示示例中,使用激光雷达图像512,然而,将理解的是,可以使用不同类型的图像。如本文所述,激光雷达图像512可对应于从诸如激光雷达传感器202b等的激光雷达传感器获得的图像数据。在一些情况下,激光雷达图像512可以在矩阵中包括多行像素,并且各个像素可以包括一个或多个针对地点(例如,x、y、z)、反射率、强度、时间戳等的值。在某些情况下,激光雷达图像512可以是三维点云。在一些情况下,激光雷达图像512不包括注释,以及/或者该激光雷达图像512可被称为未注释的激光雷达图像512。如本文所述,在一些情况下,由于从照相机图像501a生成语义图像510的滞后,激光雷达图像512相对于照相机图像501a可能在时域中偏移。
在步骤552c处,对象序列生成器***506接收与一个或多个边界框514相关联的3D边界框数据以及由3D边界框网络504生成的动态参数。如本文所述,3D边界框网络504可以根据与激光雷达图像512相关联的激光雷达数据以及/或者根据与语义图像510相关联的语义数据来生成3D边界框数据和动态参数。在一些情况下,3D边界框数据和动态参数是根据所绘制的激光雷达数据生成的,其中激光雷达图像512中的像素被语义数据和/或与语义图像510中识别出的对象相关联的3D特征数据注释或嵌入。在某些情况下,与对象相关联的3D特征数据和/或动态参数包括关于对象的位置、方位和/或速度的数据。动态参数可以作为3D边界框数据的一部分接收或与3D边界框数据分开接收。
在步骤554处,对象序列生成器***506组合语义图像510、激光雷达图像512和3D边界框514的至少一部分。在某些情况下,组合产生与融合图像516相关联的融合图像数据。如本文所述,融合图像516可以在矩阵中包括融合像素行,并且融合图像数据可以与各个融合像素相关联。在一些情况下,与特定像素相关联的融合图像数据可以包括针对与激光雷达图像512相关联的图像数据、与语义图像510相关联的语义数据、与边界框514相关联的边界框数据和/或与照相机图像501a相关联的图像数据的一个或多个值。在图5B的图示示例中,融合图像516包括与语义图像510相关联的语义数据、与激光雷达图像512相关联的激光雷达图像数据以及与边界框514相关联的边界框数据。对于融合图像516内的对象,相关像素可包括指示与像素相关联的对象的特征、对象的动态参数、对象的3D边界框等。
在图示示例中,对象序列生成器***506接收语义图像数据、激光雷达图像数据和3D边界框数据。然而,将理解的是,对象序列生成器***506可以接收更少或更多类型的数据。例如,在一些情况下,对象序列生成器***506接收语义图像数据和3D边界框数据以及动态参数,但不接收激光雷达数据。在一些此类情况下,3D边界框数据可能已经从激光雷达数据生成,并且可能包括诸如像素的x、y和z坐标以及/或者对象的动态参数等的相关激光雷达数据。
尽管对生成融合图像516进行了参考,但在一些情况下,对象序列生成器***506可能不会生成实际图像,而是可以将激光雷达图像数据、3D边界框数据和/或语义图像数据相关联。例如,对象序列生成器***506可以将3D边界框数据和/或动态参数与语义图像数据相关联,以确定语义图像510中对象的地点和/或动态参数。
通过进行相关和/或关联不同的数据,对象序列生成器***506可以确定关于场景的附加信息。在一些情况下,使用语义数据和激光雷达数据,对象序列生成器***506可以确定对象相对于运载工具200的地点。例如,映射到已识别对象的特定点的激光雷达点可以指示对象的特定点在特定时间点处的地点。在一些情况下,激光雷达点指示特定点在运载工具200的ego坐标系(自我坐标系)中的地点。例如,在时间T4处映射到行人腿部的激光雷达点可以指示在时间T4处行人腿部相对于运载工具200的地点。以这种方式,对象序列生成器***506可以确定对象的不同部分(以及对象作为一个整体)相对于运载工具的地点。
在图5B的图示示例中,通过将语义图像数据、激光雷达图像数据、3D边界框514和动态参数相关联,对象序列生成器***506识别并确定三个运载工具的位置和动态参数。例如,对象序列生成器***506可以使用语义数据确定图像中有三个运载工具以及三个运载工具在图像内的大***置,并使用激光雷达数据、3D边界框数据和/或动态参数确定三个运载工具的3D位置、估计方位和估计速度。
在步骤556处,对象序列生成器***506预测融合图像516中的一个或多个对象(或语义图像510中的一个或多个对象)在不同时间处的地点,并将预测的地点投影到图像上。
在一些情况下,对象序列生成器***506预测来自图像的部分或全部对象的地点。在某些情况下,对象序列生成器***506预测图像中某些类型的对象的地点,但不预测其它类型的对象的地点。例如,对象序列生成器***506可以估计行人和自行车在不同时间处的地点,但不估计运载工具或树木等的地点,反之亦然。因此,对象序列生成器***506可以使用对象的对象类型或分类来确定是否预测该对象在不同时间处的地点。
在一些情况下,预测地点对应于对象在较早时间点处的估计地点。例如,如果对象序列生成器***506确定对象在时间T5处位于位置P1,则对象序列生成器***506可以预测或估计对象在时间T4处的地点。此外,对象序列生成器***506可以预测对象在多个时间处的地点。继续参考该示例,对象序列生成器***506可以估计对象在时间T3、T2和/或T1等处的地点。时间之间的时间间隔可以均匀地或不均匀地分布。例如,T1-T4之间的时间间隔可以恒定为100毫秒、400毫秒、5秒等,或者T1-T4之间的时间间隔可以按如下变化:诸如T1和T2之间为100毫秒、T2和T3之间为200毫秒、T3和T4之间为150毫秒并且T4和T5之间为50毫秒等。
在一些情况下,对象序列生成器***506可以使用一个或多个坐标变换来预测对象的地点。例如,对象序列生成器***506可以确定对象O1在时间T5处位于ego坐标(相对于运载工具200的坐标)(5,5,5)处。对象序列生成器***506可以将ego坐标变换为诸如全局坐标系、鸟瞰图坐标系或地理坐标系等的另一(第二)坐标系。在该示例中,变换可导致对象序列生成器***506确定O1在第二坐标系中的地点在时间T5处位于(565,341,398)处。
使用O1的诸如方位和速度等的动态参数,对象序列生成器***506可以预测在第二坐标系中O1在诸如时间T4等的更早时间处的地点。在一些情况下,对象序列生成器***506可以假设O1的速度和方位在T5和T4之间是恒定的,以计算在第二坐标系中O1在T4处的预测地点。
对象序列生成器***506可将O1在T4处的预测地点从第二坐标系转换为在运载工具200在T4处的ego坐标中、O1在T4处的预测地点。在一些情况下,对象序列生成器***506可以使用T4处运载工具的已知、确定地点或预测地点,以将O1在T4处的预测地点从第二坐标系变换到ego坐标系。在一些情况下,已知或确定的地点可以是基于运载工具200在T4处的GPS坐标和/或基于使用诸如激光雷达和/或雷达数据等的传感器数据所计算出的运载工具200的地点。例如,激光雷达数据和/或雷达数据可用于识别场景中与地理地点相关联的对象。可以以类似于确定O1的预测地点的方式来确定运载工具的预测地点。例如,对象序列生成器***506可以使用运载工具在T5处的速度、位置和/或方位来预测运载工具在T4处的地点。在一些情况下,预测地点可以包括预测地点的3D坐标、预测地点的边界框、或指示预测地点相对于图像中其它对象的地点的其它数据等。
在预测了对象在不同时间处的地点后,对象序列生成器***506可以将预测地点投影到对应于该不同时间的(第二)图像518上。继续参考该示例,第二图像518可以是对应于时间T4的融合图像和/或语义图像。在图5B的图示示例中,第二图像518是包括比融合图像516更早时间处的多个对象的语义图像。在图示示例中,在融合图像516中识别出的三个运载工具对象的时间T4处的预测地点519a、519b、519c被显示为3D边界框。
本文中对特定时间处的语义图像510或融合图像516的参考可以指基于在特定时间处捕获到的图像数据所生成的语义图像510或融合图像516。在一些情况下,可以根据在特定时间处捕获到的图像数据和在不同时间处捕获到的图像数据生成融合图像516或语义图像510。例如,对在T4处的融合图像516的参考可以指根据在T4处捕获到的照相机图像和在T5或T3处捕获到的激光雷达数据所生成的融合图像516。
对象序列生成器***506使用来自融合图像516的对象的预测地点,可以识别与融合图像516中的对象相对应的第二图像518中的对象(例如,识别两个图像中的相同对象)。
在某些情况下,对象序列生成器***506可以使用距离阈值来识别相应的对象。例如,第二图像518中满足相对于来自融合图像516的对象的预测地点的距离阈值的对象可以被识别为与来自融合图像516的对象相同的对象。对象序列生成器***506可以使用对象的任何部分来确定是否满足距离阈值。例如,对象序列生成器***506可以将对象的所确定的中心与预测地点、边界框或对象边界等的所确定的中心进行比较。距离阈值可以是地理距离或基于图像的固定距离(例如,2、5、10像素、英寸、英尺、米等)。在一些情况下,对象序列生成器***506可以将第二图像518中相对于融合图像516中的对象的预测地点最接近的对象识别为相同对象。在某些情况下,“最接近”的确定可以考虑第二图像518中预测地点(例如,对象的各种部分的预测地点)的各种坐标。
在一些情况下,对象序列生成器***506可以使用对象类型来识别不同图像中的相同对象。例如,对于在融合图像516中识别出的自行车,如果第二图像518中的对象也被标记为自行车,则对象序列生成器***506能够将其识别为相同对象,并且如果满足距离阈值的对象具有不同的分类或类型,则可以将该对象丢弃。
在步骤558处,如图像520所例示的,对象序列生成器***506针对第二图像518中的一个或多个对象生成虚拟点521,并将虚拟点521与激光雷达点523关联。在一些情况下,对象序列生成器***506可以基于对象的对象类型生成虚拟点521。例如,对象序列生成器***506可以针对识别为行人和自行车的对象生成虚拟点521,但不针对识别为树木和/或运载工具的对象生成虚拟点521。然而,将理解的是,对象序列生成器***506可以针对任意对象生成虚拟点521。
在一些情况下,对象序列生成器***506可以基于对象是否与来自不同图像的对象相关联来生成虚拟点521。例如,如果图像518中的对象已被识别为与融合图像516中的对象相对应,则对象序列生成器***506可针对图像518中的对象生成虚拟点521。然而,将理解的是,对象序列生成器***506可以针对图像中的对象的任意一个或任意组合生成虚拟点521。
对象序列生成器***506可以将虚拟点521与激光雷达点523相关联。例如,与激光雷达点523相关联的至少一些地点数据可以映射到虚拟点521或与虚拟点521相关联。如本文所述,激光雷达点523可与来自语义图像510的对象相关联,并可指示对象(或其部分)相对于运载工具200(或相对于激光雷达传感器)的地点。通过将虚拟点521与激光雷达点523相关联,虚拟点521可以采用各个激光雷达点523的至少一些地点数据(例如,深度)。以这种方式,对象序列生成器***506可以增加对象上的点(或点云)的数量和/或密度。
在一些情况下,虚拟点521可与满足距离阈值的激光雷达点523的地点数据的至少一部分相关联或者采用该地点数据的至少一部分。距离阈值可以基于固定距离(例如,特定数量的像素或地理距离)和/或相对距离,诸如是最接近的邻点(例如,与语义图像510上的虚拟点521最接近的激光雷达点523)。在一些情况下,对象序列生成器***506可以基于像素确定最接近的邻点。例如,图像中最近邻的激光雷达点523可以是与虚拟点521之间像素最少的激光雷达点523。在某些情况下,距离阈值可以考虑激光雷达点523是否与虚拟点521映射到相同的对象。例如,对象序列生成器***506可以将虚拟点521与同虚拟点521映射到相同的对象的激光雷达点523相关联。
在一些情况下,对象序列生成器***506可以使用激光雷达点523的地点数据来生成虚拟点521的地点数据。在某些情况下,基于虚拟点521与激光雷达点523的接近度或距离,对象序列生成器***506可以针对虚拟点521修改激光雷达点523的地点数据。
在某些情况下,为了确定如何修改地点数据,对象序列生成器***506可以确定图像中的像素与图像518中对象的激光雷达点523之间的地点数据之间的关系。在一些情况下,像素-激光雷达关系可能是静态(或已知)数学变换。在某些情况下,变换可以基于运载工具的姿态和照相机的内在参数或外在参数或矩阵的参数。在一些此类情况下,为了确定虚拟点的坐标,序列生成器***506可以使用变换将虚拟点的x、y坐标从像素坐标变换为激光雷达坐标,并基于与虚拟点521相关联的激光雷达点523的深度来对虚拟点的深度(或z坐标)进行插值。以这种方式,可以将2D虚拟点变换为3D坐标。
在一些情况下,对象序列生成器***506可以通过确定映射到相同对象的至少两个(非虚拟)激光雷达点523之间的以像素为单位的距离(例如,图像518中两个点之间相隔多少像素)和在激光雷达点523使用的激光雷达坐标系中(例如,x、y、z坐标中的距离)的距离,来确定像素-激光雷达关系。使用像素和激光雷达坐标系距离,对象序列生成器***506可以确定对象的以像素为单位的距离和激光雷达坐标中的距离之间的像素-激光雷达关系。在某些情况下,对象序列生成器***506可以确定针对各个对象的像素-激光雷达关系,或者针对图像518中的部分或全部对象使用相同的像素-激光雷达关系。
使用确定的关系,对象序列生成器***506可以将虚拟点521与激光雷达点523相关联,然后基于激光雷达点523和虚拟点521之间的像素距离和像素-激光雷达距离关系来修改针对虚拟点521的激光雷达点523的一些或全部激光雷达坐标。例如,序列生成器***506可以基于像素-激光雷达距离关系变换虚拟点的x、y坐标,并基于激光雷达点的深度来对虚拟点的深度进行插值。以这种方式,对象序列生成器***506可以使用修改后的激光雷达点523的地点数据来生成虚拟点521的坐标。
在步骤560处,对象序列生成器***506生成与对象的对象序列相关联的对象序列数据。与对象序列相关联的对象序列数据的非限制性示例如图像522所示。例如,如图像520所例示的,对象序列数据可以包括以下数据的任意组合:来自融合图像516的数据(例如,与语义图像510相关联的语义图像数据、与3D框514相关联的3D框数据和/或与激光雷达图像512相关联的激光雷达数据)、与至少一个对象的至少一个预测地点相关联的预测地点数据、对象在不同时间处的确定地点(例如,基于不同时间处不同图像中相应对象的确定地点)、以及/或者与对象的虚拟点521和/或激光雷达点523相关联的地点数据。
在一些情况下,与对象相关联的对象序列数据可以指示对象在当前时间的所确定的地点(例如,经由3D边界框514或经由与对象相关联的地点数据)以及对象在诸如更早时间等的不同时间处的地点(例如,经由一个或多个3D边界框或者经由与更早时间处的对象相关联的地点数据)。作为非限制性示例,并参考图像522中的特定对象524,对象序列可包括以下数据:与对象524相关联的指示对象524是运载工具的语义数据、与对象524的3D边界框526相关联的指示对象524在三维中的大体地点的当前时间边界框数据、与对象524的确定地点相关联的当前时间地点数据(包括基于虚拟点521和/或激光雷达点523的、对象524的不同点的地点)、与对象524的一个或多个3D边界框528相关联的指示对象524在三维中在一个或多个不同时间处(例如,更早或更晚)的大体地点的非当前时间边界框数据、以及与对象524在不同时间的确定地点相关联的非当前时间地点数据(包括基于虚拟点521和/或激光雷达点523的、对象524的不同点在不同时间处的地点)。类似地,可以识别图像522中的其它对象,并且其它对象可以具有一个或多个与之相关联的当前/非当前3D边界框。
在框562处,优化网络508使用对象序列确定对象的动态参数。在一些情况下,优化网络使用对象序列、与边界框514(和/或估计的动态参数)相关联的边界框数据来确定动态参数。如本文所述,在一些情况下,对象序列可以包括对象(随着时间)的语义数据(例如,对象分类)和3D地点数据(例如,激光雷达点/虚拟点)。通过将语义数据(例如,从图像提取的图像特征)与真实/虚拟点云的3D地点数据连结,优化网络508可以提供更准确的动态参数确定和/或估计。例如,优化网络508可以结合来自边界框网络504的动态参数估计,使用对象在不同时间处的确定地点来优化和/或修改动态参数估计。
通过使用对象序列,结合来自边界框网络504的动态参数估计,优化网络508可以提高针对对象确定的动态参数的准确性。在一些情况下,已经发现使用对象序列确定对象的动态参数可以将误差降低至少15%。
可以使用更少、更多或不同的步骤。在一些情况下,对象序列生成器***506本身可以不生成融合图像516,而是可以进行相关、关联或使用来自语义图像510、一个或多个边界框514和/或激光雷达图像512的数据来预测语义图像510中对象在不同时间点处的地点。
为了说明该处理,考虑以下非限制性情景,其中图像特征提取网络502从在时间t0处捕获到的一个或多个照相机图像生成语义图像510,并且3D边界框网络504从在时间t0处捕获到的一个或多个激光雷达图像和/或在时间t0处捕获到的一个或多个照相机图像生成一个或多个3D边界框514。在该示例中,语义图像510包括识别为运载工具1(540)的对象,3D边界框514包括对应于运载工具1(540)的3D边界框542(尽管对象序列生成器***506可能尚未确定该3D边界框是运载工具1的3D边界框)。
对象序列生成器***506可以接收来自图像特征提取网络502的(具有与运载工具1(540)相关联的语义图像数据的)语义图像510、来自3D边界框网络504的(具有与运载工具1(540)相关联的3D边界框542的)3D边界框514、和/或在时间t0处捕获到的一个或多个激光雷达图像。使用语义图像510、3D边界框514和/或与激光雷达图像相关联的激光雷达数据(可能与3D边界框514一起得到),对象序列生成器***506可以将运载工具1(540)的3D边界框542与运载工具1(540)的语义图像数据相关联,并预测运载工具1(540)在先前时间点t(-1)处的地点。
在一些情况下,确定运载工具1(540)在t(-1)处的预测地点519a可包括将运载工具1(540)的地点从t(0)处的ego坐标系变换为地理坐标系、基于运载工具1在t(0)处的估计速度和方位确定地理坐标系中运载工具1在t(-1)处的预测地点、确定运载工具200在t(-1)处的地点、并将运载工具1(540)的预测地点从地理坐标系变换到在t(-1)处的运载工具200的ego坐标系。
使用运载工具1在t(-1)处的预测地点519a和用在时间t(-1)处捕获到的一个或多个图像而生成的语义图像518,对象序列生成器***506可以识别更早的语义图像518中的与运载工具1(540)相对应的对象544。例如,如果对象544也被标记为运载工具并且满足相对于运载工具1(540)的预测地点519a的地点阈值(例如,对象是t(-1)处的语义图像518中被标记为运载工具的最接近对象、在距离预测地点的特定像素数内,等等),则对象序列生成器***506可以将运载工具1的预测地点519a映射到t(-1)处的语义图像518,并将t(-1)处的语义图像518中的对象544识别为运载工具1。
对象序列生成器***506还可以针对运载工具1(540/544)生成虚拟点521,并根据在t(-1)处捕获到的映射到运载工具1(540/544)的激光雷达图像来将虚拟点521映射到激光雷达点523。具体地,对象序列生成器***506可以向虚拟点521分配与最接近虚拟点521的激光雷达点523相同或者满足相对于虚拟点521的地点阈值的深度、速度和其它数据。在某些情况下,对象序列生成器***506可以基于(使用)虚拟点的2D地点数据、相关联的激光雷达点的深度和像素-激光雷达变换,来将虚拟点的地点数据从像素或2D坐标变换为激光雷达或3D坐标。在某些情况下,虚拟点521到激光雷达点523的映射可导致激光雷达点523和虚拟点521之间的一对一或一对多关系。
对象序列生成器***506可以针对运载工具1(540/544)生成对象序列。对象序列可包括运载工具1(540/544)在时间t0和t(-1)处的地点信息(其可包括运载工具1(540/544)在时间t0和t(-1)处的虚拟点521和激光雷达点523)、基于在时间t0处捕获到的图像生成的语义图像510以及/或者基于在时间t0处捕获到的激光雷达图像生成的3D边界框542。
对象序列生成器***506可向优化网络508提供对象序列,优化网络508可使用该对象序列来对诸如运载工具1(540/544)的方位和/或速度等的运载工具1(540/544)的动态参数的估计进行确定、估计或修改。在一些情况下,优化网络508可以从对象序列生成器***506和/或3D边界框网络504接收与边界框542相关联的3D边界框数据和/或与运载工具1(540/544)相关联的动态参数。
跟踪***的示例流程图
图6是示出由一个或多个处理器实现以确定对象的动态参数的例程600的示例的流程图。图6所例示的流程图仅用于说明目的。将理解的是,可以去除图6所例示的例程的一个或多个步骤,或者可以改变步骤的顺序。此外,出于说明清楚示例的目的,在各个数据流阶段期间进行各种操作的上下文中描述了一个或多个特定***组件。然而,可以使用其它***布置和跨***组件的处理步骤的分布。
在框602处,训练***500获得与语义图像相关联的语义图像数据以及语义图像中对象的动态参数。在一些情况下,训练***500通过使用例如图像特征提取网络502从与第一图像相关联的第一图像数据生成语义图像数据来获得语义图像数据。在某些情况下,训练***500通过从图像特征提取网络502接收语义图像数据来获得语义图像数据。如本文所述,在一些情况下,第一图像可以是包括彩色或灰度像素行的照相机图像。然而,将理解的是,可以使用诸如激光雷达图像和/或雷达图像等的其它不同类型的图像。
如本文所述,训练***500可以确定与第一图像中的一些或全部像素相关联的语义数据。在某些情况下,与像素相关联的语义数据包括将像素与对象相关联的类标签或者对象分类。
如本文所述,训练***500可以以多种方式获得对象的动态参数。在一些情况下,训练***500可以通过将激光雷达数据与语义图像中的对象相关联来生成动态参数。例如,训练***500可以将激光雷达点映射到语义图像中的对象,并使用与激光雷达点相关联的地点数据来确定激光雷达点映射到的对象的动态参数。在某些情况下,训练***500可以使用3D边界框网络504生成动态参数,或者从3D边界框网络504接收动态参数。如本文所述,3D边界框网络504可以使用与对象相关联的激光雷达数据和/或语义数据来生成对象的动态参数。
在框604处,训练***确定对象在不同时间处的预测地点。如本文所述,该不同时间可以在与语义图像和/或激光雷达点相关联的时间之前(或之后)。例如,训练***500可以在捕获到用于生成语义图像的图像数据和/或激光雷达数据的时间之前的时间处预测对象的地点。
在一些情况下,为了确定预测地点,训练***500将对象的动态参数从第一坐标系变换到第二坐标系。例如,训练***500可以将对象的地点数据从运载工具的ego坐标系变换到地理坐标系或地图坐标系。训练***可以使用对象在第一时间处的确定地点和对象在第一时间处的估计速度和/或方位,预测对象在第二时间处在第二坐标系中的地点。训练***可以将预测地点从第二坐标系变换为第一坐标系,并基于运载工具在第二时间处的确定地点,确定在第二时间处对象相对于运载工具的预测地点。
在某些情况下,基于运载工具的GPS坐标和/或基于用于确定运载工具地点的激光雷达数据或其它传感器数据,运载工具的确定地点可与运载工具在第二时间处的地点相对应。在某些情况下,运载工具的确定地点可以对应于估计地点。在一些此类情况下,可基于运载工具在第一时间处的确定地点以及运载工具在第一时间处的速度和方位来确定估计地点。
在框606处,训练***将来自第二时间处的第二图像的第二对象与来自第一语义图像的第一对象相关联。在某些情况下,第一对象和第二对象之间的关联可以指示第二对象是在不同的时间点处的第一对象(例如,如果第一对象是运载工具,则第二对象是在较早的时间点处的相同的运载工具)。在一些情况下,第二图像可以是照相机图像、语义图像和/或融合图像。
训练***500可以使用不同的数据来识别第二图像中的对象以与第一对象相关联。例如,训练***500可以使用与第二图像中的对象相关联的地点数据、第一对象的估计地点、对象类型等来识别第二图像中的对象以与第一对象相关联。
在某些情况下,为了将第二对象与第一对象相关联,训练***500可以将第二图像中对象在第二时间处的地点数据(例如,像素地点和/或与映射到对象的激光雷达点相关联的地点数据)与第一对象在第二时间处的预测地点进行比较。在某些情况下,训练***500可以将第二图像中与第一对象的估计地点(例如,就像素地点而言、以及/或者基于激光雷达数据或地点数据的比较)最接近的对象与第一对象相关联。
在一些情况下,训练***500可以基于第二对象和第一对象的预测地点之间的距离满足距离阈值的确定,来将第二图像中的对象与第一对象相关联。距离阈值可以是相对距离或绝对距离。例如,阈值距离可以对应于与第一对象的预测地点和第二图像中其它对象的地点之间的距离相比最小的距离。作为另一示例,距离阈值可对应于第二对象的一个或多个部分与第一对象的预测地点之间的像素数量、第二对象在第二时间处的确定地理地点与第一对象在第二时间处的预测地理地点之间的地理距离等。
在框608处,跟踪***500针对第二对象生成一个或多个虚拟点。在一些情况下,跟踪***500可以将数十个、数百个或数千个虚拟点映射到第二对象。跟踪***500可以以多种方式生成并映射虚拟点。在一些情况下,跟踪***500根据图案将虚拟点映射到第二对象。例如,跟踪***可以以规律的像素距离(例如,每10个像素)生成虚拟点并将虚拟点映射到第二对象。在某些情况下,跟踪***生成虚拟点并将虚拟点映射到第二对象的某些部分。例如,跟踪***500可以沿着与对象相关联的3D边界框的边或表面区域、在对象的中心等处生成虚拟点并将虚拟点映射到对象的边(或接近边)。在一些情况下,跟踪***500可以生成并映射靠近映射到对象的激光雷达点的虚拟对象。如本文所述,与激光雷达图像相关联的激光雷达数据可以映射和/或进行相关到语义图像中的对象。在一些情况下,跟踪***500可以使用图像上的激光雷达点的地点来生成靠近该激光雷达点的一个或多个虚拟点。
在一些情况下,跟踪***500针对第二图像中的一些或全部对象生成虚拟点。在某些情况下,跟踪***500针对特定语义图像内具有特定对象类型的对象生成虚拟点。例如,跟踪***500可以针对行人和/或自行车对象生成虚拟点,但不针对树木对象生成虚拟点。
在某些情况下,跟踪***500基于与来自另一图像的对象的关联来生成并映射虚拟点。例如,跟踪***500可以针对语义图像中的对象生成虚拟点,该对象已经被识别为与来自不同时间处的图像的对象相同的对象。这样,跟踪***500可以减少被针对而生成虚拟点的对象的数量。
在框610处,跟踪***500将虚拟点与激光雷达点相关联。在一些情况下,跟踪***500将映射到对象的各个虚拟点与也映射到对象的激光雷达点相关联。在某些情况下,跟踪***500将虚拟点与接近虚拟点的激光雷达点相关联。例如,跟踪***500将虚拟点与具有满足同虚拟点的距离阈值的距离的激光雷达点相关联。在一些情况下,阈值距离可以是基于语义图像上的虚拟点和语义图像上的激光雷达点之间的像素距离。在一些情况下,距离阈值可以是固定距离(例如,5、10、20或50像素)或相对距离(例如,相对于其它激光雷达点到虚拟点的距离最小的激光雷达点)。
在一些情况下,与激光雷达点相关联的虚拟点可以采用或复制激光雷达点的至少一些地点数据。例如,虚拟点可以采用与其相关联的激光雷达点的深度或z坐标。在某些情况下,跟踪***500可以生成虚拟点的一些地点数据(例如,x、y坐标)。例如,跟踪***500可以使用激光雷达或3D坐标与2D或像素坐标之间的关系来将虚拟点的像素或2D坐标变换为激光雷达或3D坐标。在某些情况下,跟踪***可以使用静态或已知像素-激光雷达变换来确定虚拟点的3D地点。在一些此类情况下,像素-激光雷达变换可以是基于照相机的内在或外在参数或矩阵以及运载工具的姿态。
在一些情况下,跟踪***500可以通过比较映射到对象的一个激光雷达点的3D地点和像素地点与映射到对象的一个或多个其它激光雷达点的3D地点和像素地点,来确定对象的3D距离和像素距离之间的关系。在一些情况下,跟踪***500可以针对语义图像中的一些或全部对象使用相同的3D地点-像素地点关系和/或针对语义图像中的一些或各个对象生成特定地理地点-像素地点关系。例如,跟踪***500可以针对图像中的已与不同图像中的其他对象相关联的各个对象来生成3D地点-像素地点关系。
在框612处,跟踪***500针对对象生成对象序列。在一些情况下,对象序列可以识别对象的类型(例如,行人、自行车、运载工具等)、对象在第一时间处的确定地点以及对象在(第一时间之前或之后的)一个或多个其它时间处的确定地点。
在一些情况下,跟踪***500可以针对图像中的一些或全部对象生成对象序列。在一些情况下,跟踪***500针对特定类型的对象、与来自至少一个其它图像的至少一个对象相关联的对象等生成对象序列。
在一些情况下,对象序列可以包括与对象相关联的数据的相关和/或关联。例如,对象的对象序列可以包括如下数据:与对象相关联的语义图像数据(例如,对象类型、与对象相关联的2D边界框)、与对象相关联的当前地点数据(例如,对象在第一时间处的地点)、与对象相关联的其它地点数据(例如,对象在不同时间处基于估计速度和/或方位的预测地点、以及/或者基于第二对象的确定地点的对象在不同时间处的确定地点(该第二对象来自与第一对象相关联的不同图像))、与对象相关联的激光雷达点和/或虚拟点等。激光雷达点和/或虚拟点可包括对象的特定部分在相同或不同时间处的地点数据(例如,指示对象的不同部分在不同时间处的地点的一组或多组激光雷达点/虚拟点,其中每组激光雷达点/虚拟点指示对象的不同部分在特定时间处的地点)。
在框614处,跟踪***500针对对象确定动态参数。在一些情况下,跟踪***500可以确定图像中一些或全部对象的动态参数。在某些情况下,跟踪***500针对跟踪***500具有对象序列的图像中对象来确定动态参数。在一些情况下,跟踪***500确定图像中对象的动态参数,其中跟踪***500针对这些对象具有与激光雷达点相关联的虚拟点。
在一些情况下,跟踪***500使用优化网络508来确定动态参数。在某些情况下,优化网络508使用对象序列、虚拟和/或激光雷达点和/或3D边界框(或估计的动态参数)的任意一个或任意组合,来针对对象确定动态参数。例如,优化网络508可以获取估计的动态参数和/或3D边界框,并基于对象序列和/或虚拟/激光雷达点修改或调整所估计的动态参数和/或3D边界框。虚拟/激光雷达点可以增加对象上点的密度,这可以提高对象的动态参数的准确性。类似地,使用与不同时间处的对象相关联的对象序列的地点数据,优化网络可以提高对象的动态参数的准确性。如本文所述,在一些情况下,优化网络可以将动态参数误差减少至少15%。
在一些情况下,跟踪***500可以生成与图像中的对象相关联的优化特征数据。如本文所述,在一些情况下,跟踪***500使用优化网络508来生成与对象相关联的优化特征数据。优化网络508可以生成对象的各种特征,包括但不限于对象的尺寸和/或动态参数。如本文所述,结果图像可以包括与图像的一些或全部像素相关联的像素行和优化特征数据。
例程600可以包括更少、更多或不同的框。此外,可以对框的任意一个或任意组合进行重新排序或者同时进行框的任意一个或任意组合。例如,可以在框602、604和606之前、之后进行框608和610,或者与框602、604和606同时进行框608和610。在一些情况下,例程600可以省略框608和610。在一些此类情况下,跟踪***500可以生成包括对象在不同时间处的确定地点的对象序列(对象具有较低密度的点或点云),并且使用该对象序列来针对对象确定动态参数。在某些情况下,例程600可以省略框606、608和612,并使用对象在不同时间处的一个或多个预测地点以及具有更大密度点的对象来针对对象确定动态参数,或者省略框604、606、608和612,并使用具有更大密度点的对象来针对对象确定动态参数。
在某些情况下,例程600可以包括单独的框,用于确定第一对象在第一语义图像中的地点、将第二时间处的激光雷达点关联或映射到第二对象、以及/或者生成包括对象的语义数据和/或地点数据的融合图像。在一些情况下,为了生成融合图像,跟踪***500可以将与语义图像相关联的语义数据嵌入第二图像。如本文所述,第二图像可以是不同类型的图像。例如,如果第一图像是照相机图像,则第二图像可以是诸如3D点云等的激光雷达图像。与第一图像类似,第二图像可以包括像素行。由于第二图像是不同类型的图像,因此与特定像素相关联的图像数据可以不同。例如,如果第二图像是3D点云,则与特定像素相关联的图像数据可以包括位置(x,y,z)、反射率、强度、时间戳等。如本文所述,融合图像可以包括嵌入有与语义图像相关联的语义数据以及与第二图像(和/或第一图像)相关联的图像数据的像素行。例如,如果第二图像是3D点云,则融合图像中的像素可以包括或嵌入有一个或多个对象分类、以及地点(x,y,z)、反射率、强度和时间戳。在一些此类情况下,融合图像可以称为经装饰的3D点云。
在先前描述中,已经参考许多具体细节描述了本公开的多方面和实施例,这些具体细节可因实现的不同而不同。因此,说明书和附图应被视为说明性的,而非限制性意义的。本发明范围的唯一且排他的指示、以及申请人期望是本发明范围的内容是以权利要求书发布的具体形式从本申请发布的一组权利要求的字面和等同范围,包括任何后续修正。本文中明确阐述的用于被包括在此类权利要求中的术语的任何定义应当以此类术语如在权利要求书中所使用的意义为准。另外,当在先前的说明书或所附权利要求书使中用术语“还包括”时,该短语的下文可以是附加的步骤或实体、或先前所述的步骤或实体的子步骤/子实体。

Claims (19)

1.一种用于确定对象动态参数的方法,包括:
接收与第一时间相关联的第一语义图像,所述第一语义图像包括第一对象;
接收与所述第一对象相关联的至少一个第一激光雷达点;
确定所述第一对象的地点和估计速度;
至少部分地基于所述第一对象的所确定地点和所估计速度,确定所述第一对象在第二时间处的预测地点,其中所述第二时间在所述第一时间之前;
至少部分地基于所述第一对象在所述第二时间处的所述预测地点,将第二语义图像的第二对象与所述第一对象相关联;
将至少一个第二激光雷达点与所述第二对象相关联,其中所述至少一个第二激光雷达点与所述第二时间相关联;
针对所述第二对象生成虚拟点;
将所述至少一个第二激光雷达点与所述虚拟点相关联;
至少部分地基于所述至少一个第一激光雷达点、所述至少一个第二激光雷达点和所述虚拟点,针对所述第一对象生成对象序列;以及
至少部分地基于所述对象序列来针对所述第一对象确定方位和速度。
2.根据权利要求1所述的方法,其中,接收所述第一语义图像包括从图像分割网络接收所述第一语义图像。
3.根据权利要求2所述的方法,其中,所述图像分割网络使用卷积神经网络来实现。
4.根据权利要求1所述的方法,其中,所述第一对象是行人、自行车或运载工具其中至少之一。
5.根据权利要求1所述的方法,其中,所述至少一个第一激光雷达点映射到所述第一语义图像内的所述第一对象。
6.根据权利要求1所述的方法,其中,所述虚拟点是第二虚拟点,所述方法还包括:
针对所述第一对象生成第一虚拟点;以及
将所述第一虚拟点与所述至少一个第一激光雷达点相关联,
其中,针对所述第一对象生成所述对象序列包括:至少部分地基于所述至少一个第一激光雷达点、所述至少一个第二激光雷达点、所述第二虚拟点和所述第一虚拟点,来针对所述第一对象生成所述对象序列。
7.根据权利要求1所述的方法,其中,将所述虚拟点与所述至少一个第一激光雷达点相关联包括:至少部分地基于判断为所述至少一个第一激光雷达点是与映射到所述第一对象的所述虚拟点最接近的所述激光雷达点,来将与所述至少一个第一激光雷达点的地点相关联的地点数据分配给所述虚拟点。
8.根据权利要求1所述的方法,其中,确定所述第一对象的所述地点和估计速度包括从3D框预测网络接收所述第一对象的所述地点和估计速度。
9.根据权利要求1所述的方法,其中,所述预测地点是第一预测地点并且所述虚拟点是第一虚拟点,所述方法还包括:
至少部分地基于所述第一对象的所述确定地点和所述估计速度,确定所述第一对象在第三时间处的第二预测地点,其中所述第三时间在所述第一时间和所述第二时间之前;
至少部分地基于所述第一对象在所述第三时间处的所述预测地点,将第三语义图像的第三对象与所述第一对象相关联;
将至少一个第三激光雷达点与所述第三对象相关联,其中所述至少一个第三激光雷达点与所述第三时间相关联;
针对所述第三对象生成第二虚拟点;以及
将所述至少一个第三激光雷达点与所述第二虚拟点相关联,
其中,针对所述第一对象生成所述对象序列包括:至少部分地基于所述至少一个第一激光雷达点、所述至少一个第二激光雷达点、所述第一虚拟点、所述至少一个第三激光雷达点和所述第二虚拟点,来针对所述第一对象生成所述对象序列。
10.根据权利要求1所述的方法,所述至少一个第二激光雷达点映射到所述第二语义图像内的所述第二对象。
11.根据权利要求1所述的方法,其中,针对所述第二对象生成所述虚拟点包括针对所述第二对象生成多个虚拟点,以及
其中,将所述至少一个第二激光雷达点与所述虚拟点相关联包括:至少部分地基于判断为所述至少一个第二激光雷达点是与映射到所述第二对象的所述多个虚拟点最接近的激光雷达点,来将所述至少一个第二激光雷达点与所述多个虚拟点相关联。
12.根据权利要求1所述的方法,其中,所述虚拟点是第一虚拟点,所述方法还包括:
针对所述第二对象生成第二虚拟点;以及
将映射到所述第二对象的第三激光雷达点与所述第二虚拟点相关联,
其中,针对所述第一对象生成所述对象序列包括:至少部分地基于所述至少一个第一激光雷达点、所述至少一个第二激光雷达点、所述第一虚拟点、所述第三激光雷达点和所述第二虚拟点,来针对所述第一对象生成所述对象序列。
13.根据权利要求1所述的方法,其中,将所述至少一个第二激光雷达点与所述虚拟点相关联包括将与所述至少一个第二激光雷达点的地点相关联的地点数据分配给所述虚拟点。
14.根据权利要求1所述的方法,其中,所述对象序列包括所述第一语义图像的至少一部分、所述第一对象的三维地点和所述第二对象的三维地点。
15.一种用于确定对象动态参数的***,包括:
至少一个处理器,其被配置为:
接收与第一时间相关联的第一语义图像,所述第一语义图像包括第一对象;
接收与所述第一对象相关联的至少一个第一激光雷达点;
确定所述第一对象的地点和估计速度;
至少部分地基于所述第一对象的所确定地点和所估计速度,确定所述第一对象在第二时间处的预测地点,其中所述第二时间在所述第一时间之前;
至少部分地基于所述第一对象在所述第二时间处的所述预测地点,将第二语义图像的第二对象与所述第一对象相关联;
将至少一个第二激光雷达点与所述第二对象相关联,其中所述至少一个第二激光雷达点与所述第二时间相关联;
针对所述第二对象生成虚拟点;
将所述至少一个第二激光雷达点与所述虚拟点相关联;
至少部分地基于所述至少一个第一激光雷达点、所述至少一个第二激光雷达点和所述虚拟点,来针对所述第一对象生成对象序列;以及
至少部分地基于所述对象序列来针对所述第一对象确定方位和速度。
16.根据权利要求15所述的***,其中,所述虚拟点是第二虚拟点,并且其中所述至少一个处理器还被配置为:
针对所述第一对象生成第一虚拟点;以及
将所述第一虚拟点与所述至少一个第一激光雷达点相关联,
其中,为了针对所述第一对象生成所述对象序列,所述至少一个处理器被配置为:至少部分地基于所述至少一个第一激光雷达点、所述至少一个第二激光雷达点、所述第二虚拟点和所述第一虚拟点,来针对所述第一对象生成所述对象序列。
17.根据权利要求15所述的***,其中,为了将所述虚拟点与所述至少一个第一激光雷达点相关联,所述至少一个处理器被配置为:至少部分地基于判断为所述至少一个第一激光雷达点是与映射到所述第一对象的虚拟点最接近的激光雷达点,来将与所述至少一个第一激光雷达点的地点相关联的地点数据分配给所述虚拟点。
18.根据权利要求15所述的***,其中,所述预测地点是第一预测地点并且所述虚拟点是第一虚拟点,并且其中所述至少一个处理器还被配置为:
至少部分地基于所述第一对象的所述确定地点和所述估计速度,确定所述第一对象在第三时间处的第二预测地点,其中所述第三时间在所述第一时间和所述第二时间之前;
至少部分地基于所述第一对象在所述第三时间处的所述预测地点,将第三语义图像的第三对象与所述第一对象相关联;
将至少一个第三激光雷达点与所述第三对象相关联,其中所述至少一个第三激光雷达点与所述第三时间相关联;
针对所述第三对象生成第二虚拟点;以及
将所述至少一个第三激光雷达点与所述第二虚拟点相关联,
其中,为了针对所述第一对象生成所述对象序列,所述至少一个处理器被配置为:至少部分地基于所述至少一个第一激光雷达点、所述至少一个第二激光雷达点、所述第一虚拟点、所述至少一个第三激光雷达点和所述第二虚拟点,来针对所述第一对象生成所述对象序列。
19.至少一个非暂时性存储介质,其存储有指令,当由至少一个处理器执行所述指令时,使所述至少一个处理器:
接收与第一时间相关联的第一语义图像,所述第一语义图像包括第一对象;
接收与所述第一对象相关联的至少一个第一激光雷达点;
确定所述第一对象的地点和估计速度;
至少部分地基于所述第一对象的所确定地点和所估计速度,确定所述第一对象在第二时间处的预测地点,其中所述第二时间在所述第一时间之前;
至少部分地基于所述第一对象在所述第二时间处的所述预测地点,将第二语义图像的第二对象与所述第一对象相关联;
将至少一个第二激光雷达点与所述第二对象相关联,其中所述至少一个第二激光雷达点与所述第二时间相关联;
针对所述第二对象生成虚拟点;
将所述至少一个第二激光雷达点与所述虚拟点相关联;
至少部分地基于所述至少一个第一激光雷达点、所述至少一个第二激光雷达点和所述虚拟点,来针对所述第一对象生成对象序列;以及
至少部分地基于所述对象序列来针对所述第一对象确定方位和速度。
CN202111458108.1A 2021-08-20 2021-12-02 用于确定对象动态参数的方法、***和介质 Withdrawn CN115713687A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/407,992 US11948381B2 (en) 2021-08-20 2021-08-20 Determining object mobility parameters using an object sequence
US17/407,992 2021-08-20

Publications (1)

Publication Number Publication Date
CN115713687A true CN115713687A (zh) 2023-02-24

Family

ID=78497770

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111458108.1A Withdrawn CN115713687A (zh) 2021-08-20 2021-12-02 用于确定对象动态参数的方法、***和介质

Country Status (5)

Country Link
US (1) US11948381B2 (zh)
KR (1) KR20230028703A (zh)
CN (1) CN115713687A (zh)
DE (1) DE102021132199A1 (zh)
GB (1) GB2609994B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12001958B2 (en) * 2020-03-19 2024-06-04 Nvidia Corporation Future trajectory predictions in multi-actor environments for autonomous machine
US20230290153A1 (en) * 2022-03-11 2023-09-14 Argo AI, LLC End-to-end systems and methods for streaming 3d detection and forecasting from lidar point clouds
CN116432144B (zh) * 2023-06-09 2023-08-11 深圳龙电华鑫控股集团股份有限公司 一种基于载波通信的数据融合***

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9523772B2 (en) * 2013-06-14 2016-12-20 Microsoft Technology Licensing, Llc Object removal using lidar-based classification
US10444759B2 (en) * 2017-06-14 2019-10-15 Zoox, Inc. Voxel based ground plane estimation and object segmentation
US11157527B2 (en) * 2018-02-20 2021-10-26 Zoox, Inc. Creating clean maps including semantic information
US10854011B2 (en) * 2018-04-09 2020-12-01 Direct Current Capital LLC Method for rendering 2D and 3D data within a 3D virtual environment
US11110918B2 (en) * 2018-11-02 2021-09-07 Zoox, Inc. Dynamic collision checking
US11170299B2 (en) * 2018-12-28 2021-11-09 Nvidia Corporation Distance estimation to objects and free-space boundaries in autonomous machine applications
US11188082B2 (en) * 2019-01-11 2021-11-30 Zoox, Inc. Occlusion prediction and trajectory evaluation
WO2020180997A1 (en) * 2019-03-04 2020-09-10 Ouster, Inc. Driver visualization and semantic monitoring of a vehicle using lidar data
US11285963B2 (en) * 2019-03-10 2022-03-29 Cartica Ai Ltd. Driver-based prediction of dangerous events
US11480686B2 (en) * 2019-03-27 2022-10-25 Zoox, Inc. Identifying and/or removing false positive detections from lidar sensor output
US11087494B1 (en) * 2019-05-09 2021-08-10 Zoox, Inc. Image-based depth data and localization
US20210049757A1 (en) * 2019-08-14 2021-02-18 Nvidia Corporation Neural network for image registration and image segmentation trained using a registration simulator
US11906660B2 (en) * 2019-08-30 2024-02-20 Nvidia Corporation Object detection and classification using LiDAR range images for autonomous machine applications
WO2021050745A1 (en) * 2019-09-10 2021-03-18 Zoox, Inc. Dynamic collision checking
US11100643B2 (en) * 2019-09-11 2021-08-24 Nvidia Corporation Training strategy search using reinforcement learning
US20210125036A1 (en) * 2019-10-29 2021-04-29 Nvidia Corporation Determining object orientation from an image with machine learning
GB2591171B (en) * 2019-11-14 2023-09-13 Motional Ad Llc Sequential fusion for 3D object detection
US11532168B2 (en) * 2019-11-15 2022-12-20 Nvidia Corporation Multi-view deep neural network for LiDAR perception
US11354913B1 (en) * 2019-11-27 2022-06-07 Woven Planet North America, Inc. Systems and methods for improving vehicle predictions using point representations of scene
US11276179B2 (en) * 2019-12-18 2022-03-15 Zoox, Inc. Prediction on top-down scenes based on object motion
US11315260B2 (en) * 2019-12-23 2022-04-26 Waymo Llc Geo-motion and appearance aware data association
US10732261B1 (en) * 2019-12-31 2020-08-04 Aurora Innovation, Inc. Generating data using radar observation model based on machine learning
CN116026345A (zh) * 2020-01-03 2023-04-28 御眼视觉技术有限公司 用于车辆导航的***和方法
WO2021176422A1 (en) * 2020-03-06 2021-09-10 Yembo, Inc. Systems and methods for building a virtual representation of a location
US20220026917A1 (en) * 2020-07-22 2022-01-27 Motional Ad Llc Monocular 3d object detection from image semantics network
US11693927B2 (en) * 2020-07-24 2023-07-04 Pony Ai Inc. Generating fused sensor data through metadata association
US11521394B2 (en) * 2020-10-09 2022-12-06 Motional Ad Llc Ground plane estimation using LiDAR semantic network
US11623661B2 (en) * 2020-10-12 2023-04-11 Zoox, Inc. Estimating ground height based on lidar data
US11657572B2 (en) * 2020-10-21 2023-05-23 Argo AI, LLC Systems and methods for map generation based on ray-casting and semantic class images
US12012126B2 (en) * 2020-12-11 2024-06-18 Zoox, Inc. Calibration based on semantic objects
US11801865B2 (en) * 2021-03-31 2023-10-31 Gm Cruise Holdings Llc Object tracking by generating velocity grids
US11715257B2 (en) * 2021-05-14 2023-08-01 Zoox, Inc. Simulation view generation based on simulated sensor operations

Also Published As

Publication number Publication date
GB2609994B (en) 2024-02-14
US20230057118A1 (en) 2023-02-23
US11948381B2 (en) 2024-04-02
GB202114124D0 (en) 2021-11-17
DE102021132199A1 (de) 2023-02-23
GB2609994A (en) 2023-02-22
KR20230028703A (ko) 2023-03-02

Similar Documents

Publication Publication Date Title
US11527085B1 (en) Multi-modal segmentation network for enhanced semantic labeling in mapping
US11295477B1 (en) Deep learning-based camera calibration
US11948381B2 (en) Determining object mobility parameters using an object sequence
KR102657921B1 (ko) 융합된 이미지를 사용한 엔드 투 엔드 시스템 트레이닝
US20230109909A1 (en) Object detection using radar and lidar fusion
US20230360379A1 (en) Track segment cleaning of tracked objects
WO2023154223A1 (en) Vehicle scenario mining for machine learning models
CN115705693A (zh) 用于传感器数据的标注的方法、***和存储介质
WO2023178069A1 (en) Instance segmentation in a pseudo-image
WO2023177920A1 (en) Agent importance prediction for autonomous driving
CN115840441A (zh) 用于运载工具的方法、用于运载工具的***和存储介质
US12050660B2 (en) End-to-end system training using fused images
US11967159B2 (en) Semantic annotation of sensor data with overlapping physical features
US20240126268A1 (en) Track refinement networks
US20240127579A1 (en) Identifying new classes of objects in environments of vehicles
US20240078790A1 (en) Enriching later-in-time feature maps using earlier-in-time feature maps
US20230115566A1 (en) Automated verification of annotated sensor data
WO2024081226A1 (en) Track refinement networks
WO2023146788A1 (en) Semantic annotation of sensor data with overlapping physical features
WO2024030384A1 (en) Object orientation determination from map and group parameters
WO2023158580A1 (en) Prediction error scenario mining for machine learning models
WO2024086056A1 (en) Identifying new classes of objects in environments of vehicles
WO2023096939A1 (en) Encoding homotopy constraints in spatio-temporal grids
CN117152579A (zh) 用于运载工具的***和计算机实现的方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20230224

WW01 Invention patent application withdrawn after publication