CN112912928B - 用于从点云中动态选择特征相关点的深度神经网络的方法和系统 - Google Patents

用于从点云中动态选择特征相关点的深度神经网络的方法和系统 Download PDF

Info

Publication number
CN112912928B
CN112912928B CN201980070070.5A CN201980070070A CN112912928B CN 112912928 B CN112912928 B CN 112912928B CN 201980070070 A CN201980070070 A CN 201980070070A CN 112912928 B CN112912928 B CN 112912928B
Authority
CN
China
Prior art keywords
feature
vector
point
matrix
vectors
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
CN201980070070.5A
Other languages
English (en)
Other versions
CN112912928A (zh
Inventor
埃赫桑·内扎达里亚
伊赫桑·塔哈维
刘冰冰
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN112912928A publication Critical patent/CN112912928A/zh
Application granted granted Critical
Publication of CN112912928B publication Critical patent/CN112912928B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/211Selection of the most significant subset of features
    • G06F18/2113Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/771Feature selection, e.g. selecting representative features from a multi-dimensional feature space
    • 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
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)

Abstract

描述了用于从点云中动态选择特征相关点的深度神经网络的方法和系统。接收布置在点‑特征矩阵中的多个多维特征向量。所述点‑特征矩阵的每一行对应于一个相应多维特征向量,所述点‑特征矩阵的每一列对应于相应的特征。每个多维特征向量代表点云中的相应无序数据点,每个多维特征向量包括相应的多个特征相关值,每个特征相关值代表相应的特征的相关程度。生成具有选定的多个特征相关向量的最大缩减矩阵。对于每个相应的特征,在所述点‑特征矩阵中识别具有与相应的特征相关联的最大特征相关值的相应多维特征向量,从而来选择特征相关向量。将所述最大缩减矩阵输出给至少一个神经网络层。

Description

用于从点云中动态选择特征相关点的深度神经网络的方法和 系统
技术领域
本申请涉及一种深度神经网络,其包括用于从点云中动态选择特征相关点的至少一个层。
背景技术
深度学习是一种很有希望解决各个领域(例如,计算机视觉、语音识别等)挑战的方法,是一种基于学习人工智能(artificial intelligence,简称AI)系统中数据表示的机器学习方法。
深度学习有利于为对象分类任务提供有序数据的判别信息,例如具有有序像素的二维(two dimensional,简称2D)图像。
三维(three dimensional,简称3D)传感器(例如,红绿蓝深度(red green blue-depth,简称RGB-D)相机、LIDAR传感器等)可以捕获周围环境有关3D信息,并在空间中生成数据点集合以表示捕获的3D信息。三维空间中的数据点集合在本领域中通常被称为点云,并且作为3D数据由3D传感器提供。
然而,3D数据通常是以具有不均匀采样密度的无序点的形式呈现。因此,点云是三维空间中具有不规则形式的一个数据点集合,并且3D数据的处理通常会遇到不规则采样的问题,例如较高的运算成本和对象分类的不准确。
因此,期望提供一种通过有效的点特征提取和高准确度的分类将深度学习应用于无序点的解决方案,以实现对点云数据的最先进的性能。
发明内容
本申请提供了通过在深度神经网络中包括至少一个关键点层(critical pointlayer,简称CPL)来动态选择关键点的方法和系统。所选择的关键点可以用于至少一个全连接层(fully-connected layer,简称FCL)中用于分类,其中,根据不同的场景结合物体的边界和/或位置,识别每个所选择的关键点并进行分类。在一些示例中,使用加权CPL(weighted CPL,简称WCPL),对关键点的选择考虑了不同的各个关键点的加权或贡献。在一些示例中,本申请的方法和系统可以用在各种不同的应用中,例如自动运载工具的控制或任何其他基于学习的处理系统。深度神经网络的这种配置可有助于提高分类准确性,并且可以帮助降低复杂度成本,以完成不同应用中的后续对象分类任务。
在一些示例方面,本申请描述了一种方法,包括:接收布置在点-特征矩阵中的多个多维特征向量,其中,所述点-特征矩阵中每一行对应于一个相应多维特征向量,所述点-特征矩阵中每一列对应于相应的特征,每个多维特征向量代表点云中的相应无序数据点,每个多维特征向量包括相应的多个特征相关值,每个特征相关值代表相应的特征的相关程度;生成具有选定的多个特征相关向量的最大缩减矩阵,其中,所述最大缩减矩阵中每一行对应于一个相应的特征相关向量,所述最大缩减矩阵中每一列对应于相应的特征,对于每个相应的特征,在所述点-特征矩阵中识别具有与相应的特征相关联的最大特征相关值的相应多维特征向量,从而来选择特征相关向量;输出所述最大缩减矩阵,以供深度神经网络的最终卷积层处理。
根据上述任意一个方面/实施例,所述生成可包括:生成包含多个识别的多维特征向量的多个行索引的索引向量;对索引向量中的行索引进行采样一直达到所需数目,从而生成采样索引向量;使用所述采样索引向量中包含的行索引生成所述最大缩减矩阵。
根据上述任意一个方面/实施例,所述采样是确定性的,所述方法还可包括:在所述采样之前,以升序对所述索引向量中包含的行索引进行排序。
根据上述任意一个方面/实施例,为了批处理不同的各个点云,预定义所述所需数目。
根据上述任意一个方面/实施例,在所述点-特征矩阵中的至少两个识别的相应多维特征向量是相同的并且对应于同一个数据点,所述方法还包括:对于与同一个数据点相对应的至少两个识别的相应多维特征向量,所述生成还包括:选择与至少一个识别的相应多维特征向量相关联的唯一相应行索引;生成包括多个唯一相应行索引的唯一索引向量,其中,所述多个唯一相应行索引分别对应于不同的相应点;基于唯一索引向量,生成具有选定的多个特征相关向量的最大缩减矩阵,其中,所述选定的特征相关向量各不相同。
根据上述任意一个方面/实施例,所述输出所述最大缩减矩阵包括:将所述最大缩减矩阵作为所述最终卷积层的输入,其中,所述最终卷积层对特征相关向量执行特征提取,以获得每个特征相关向量中所需数量的表示特征;将所述最终卷积层的输出提供给深度神经网络的对象分类子系统,以对选定的多个特征相关向量进行分类。
根据上述任意一个方面/实施例,所述接收包括:接收点云的多个无序数据点;对所述接收到的无序数据点进行初步的空间变换和滤波,从而生成多个变换后的数据;将所述多个变换后的数据提供给深度神经网络的特征提取子系统的卷积层,从而生成多个多维特征向量。
根据上述任意一个方面/实施例,所述多个无序数据点是由LIDAR传感器或红绿蓝深度(red green blue-depth,简称RGB-D)相机捕获的。
在一些方面,本申请描述了一种在深度神经网络中实现的方法,所述方法包括:接收点云的多个无序数据点;通过深度神经网络的卷积层对所述多个无序数据点进行编码,从而生成排列在点-特征矩阵中的多个多维特征向量,其中,所述点-特征矩阵中每一行对应于一个相应多维特征向量,所述点-特征矩阵中每一列对应于相应的特征,每个多维特征向量代表点云中的相应无序数据点,每个多维特征向量包括多个特征相关值,每个特征相关值代表相应的特征的相关程度;向关键点层(critical point layer,简称CPL)提供所述点-特征矩阵,从而生成具有选定的多个特征相关向量的最大缩减矩阵,其中,所述最大缩减矩阵中每一行对应于一个相应的特征相关向量,所述最大缩减矩阵中每一列对应于相应的特征,对于每个相应的特征,在所述点-特征矩阵中识别具有与相应的特征相关联的最大特征相关值的相应多维特征向量,从而来选择特征相关向量,向深度神经网络的最终卷积层输出所述最大缩减矩阵;通过将所述最大缩减矩阵应用到至少一个神经网络层,以输出多个分类点。
根据上述任意一个方面/实施例,所述CPL可用于:生成包含多个识别的多维特征向量的多个行索引的索引向量;对索引向量中的行索引进行采样一直达到所需数目,从而生成采样索引向量;使用所述采样索引向量中包含的行索引生成所述最大缩减矩阵。
根据上述任意一个方面/实施例,所述对索引向量中的行索引进行采样一直达到所需数目是确定性的采样,所述CPL还可用于:在所述采样之前,以升序对所述索引向量中包含的行索引进行排序。
根据上述任意一个方面/实施例,为了批处理不同的各个点云,预定义所述所需数目。
根据上述任意一个方面/实施例,在所述点-特征矩阵中的至少两个识别的相应多维特征向量是相同的并且对应于同一个数据点,所述CPL还可用于:对于与同一个数据点相对应的至少两个识别的相应多维特征向量,选择与至少一个识别的相应多维特征向量相关联的唯一相应行索引;设置包括多个唯一相应行索引的唯一索引向量,其中,所述多个唯一相应行索引分别对应于不同的相应数据点;基于唯一索引向量,生成具有选定的多个特征相关向量的最大缩减矩阵,其中,所述选定的特征相关向量各不相同。
在一些方面,本申请描述了一种系统,用于:接收布置在点-特征矩阵中的多个多维特征向量,其中,所述点-特征矩阵中每一行对应于一个相应多维特征向量,所述点-特征矩阵中每一列对应于相应的特征,每个多维特征向量代表点云中的相应无序数据点,每个多维特征向量包括相应的多个特征相关值,每个特征相关值代表相应的特征的相关程度;生成具有选定的多个特征相关向量的最大缩减矩阵,其中,所述最大缩减矩阵中每一行对应于一个相应的特征相关向量,所述最大缩减矩阵中每一列对应于相应的特征,对于每个相应的特征,在所述点-特征矩阵中识别具有与相应的特征相关联的最大特征相关值的相应多维特征向量,从而来选择特征相关向量;输出所述最大缩减矩阵,以供深度神经网络的最终卷积层处理。
根据上述任意一个方面/实施例,所述系统还可用于:生成包含多个识别的多维特征向量的多个行索引的索引向量;对索引向量中的行索引进行采样一直达到所需数目,从而生成采样索引向量;使用所述采样索引向量中包含的行索引生成所述最大缩减矩阵。
根据上述任意一个方面/实施例,所述采样是确定性的,所述系统可用于:在所述采样之前,以升序对所述索引向量中包含的行索引进行排序。
根据上述任意一个方面/实施例,为了批处理不同的各个点云,预定义所述所需数目。
根据上述任意一个方面/实施例,在所述点-特征矩阵中的至少两个识别的相应多维特征向量是相同的并且对应于同一个数据点,所述系统还可用于:对于与同一个数据点相对应的至少两个识别的相应多维特征向量,选择与至少一个识别的相应多维特征向量相关联的唯一相应行索引;生成包括多个唯一相应行索引的唯一索引向量,其中,所述多个唯一相应行索引分别对应于不同的相应数据点;基于唯一索引向量,生成具有选定的多个特征相关向量的最大缩减矩阵,其中,所述选定的特征相关向量各不相同。
根据上述任意一个方面/实施例,所述系统还可用于:将所述最大缩减矩阵作为深度神经网络的所述最终卷积层的输入,其中,所述最终卷积层对特征相关向量执行特征提取,以获得每个特征相关向量中所需数量的表示特征;将所述最终卷积层的输出提供给深度神经网络的对象分类子系统,以对选定的多个特征相关向量进行分类。
根据上述任意一个方面/实施例,所述系统还可用于:接收点云的多个无序数据点;对所述接收到的无序数据点进行初步的空间变换和滤波,从而生成多个变换后的数据;对所述多个变换后的数据进行编码并提供给深度神经网络的特征提取子系统的卷积层,从而生成多个多维特征向量。
附图说明
图1是一种示例自动运载工具中部分组件的框图;
图2A是根据一个示例实施例的一种示例深度神经网络的示意图;
图2B是根据另一个示例实施例的另一种示例深度神经网络的框图;
图3A是一种示例方法的流程图,其中所述方法可以由图2A中至少一个CPL实现;
图3B是一种用于从多个无序点中选择多个关键点的示例方法的流程图,其中所述方法可以由图2A中至少一个CPL执行;
图3C是另一种用于从多个无序点中选择多个关键点的示例方法的流程图,其中所述方法可以由图2A中至少一个CPL执行;
图4是用于实现图3B和图3C中示例方法的示例指令的一种伪代码表现形式;
图5是根据另一个示例实施例的另一种示例深度神经网络的示意图。
在不同附图中可以使用类似的附图标记来表示类似的组件。
具体实施方式
在自动运载工具的背景下描述了本申请的一些示例。然而,本文公开的方法和系统也适用于除了自动设备之外的实施方式,例如,非运载工具设备和非自动设备。例如,对无序点执行对象分类或分割的任何系统或设备都可以从此处描述的示例中受益。此外,本申请的示例可以在包括相机或传感器的图像处理设备中实现,例如与自动机器无关的工作站或其他计算设备(例如,用于对雷达数据或超声数据进行分类或分析的图像处理工作站)。
尽管本文描述的示例将机动运载工具称为自动运载工具,但是本申请的理念可以以其他形式的自动或半自动运载工具实现,包括例如电车、地铁、卡车、公共汽车、船舶、飞机、轮船、无人机(也称为无人驾驶飞机(unmanned aerial vehicle,简称UAV))、仓库设备、建筑设备或农用设备,并且可能包括不载客的运载工具和载客的运载工具。本文公开的方法和系统也适用于非运载工具设备的实施方式,例如自动真空吸尘器和割草机。
图1是一种示例自动运载工具100中部分组件的框图。尽管描述的是自动运载工具,但是运载工具100可以以全自动、半自动或完全用户控制的模式进行操作。在本申请中,在汽车的实施例中描述了所述运载工具100。但是如上所述,本申请可以在其他运载工具或非运载工具机器中实现。
例如,所述运载工具100包括传感器系统110、数据分析系统120、路径规划系统130、运载工具控制系统140和机电系统150。所述运载工具100中也可以适当地包括其他系统和组件。运载工具的各种系统和组件可以通过例如有线或无线通信的方式彼此通信。例如,所述传感器系统110可以与所述数据分析系统120、所述路径规划系统130和所述运载工具控制系统140通信;所述数据分析系统120可以与所述路径规划系统130和所述运载工具控制系统140通信;所述路径规划系统130可以与所述运载工具控制系统140通信;所述运载工具控制系统140可以与所述机电系统150通信。
所述传感器系统110包括用于收集关于所述运载工具100的内部和/或外部环境信息的各种感应单元。在所示的示例中,所述传感器系统110包括雷达112、LIDAR传感器114、相机116和全球定位系统(global positioning system,简称GPS)118,用来收集有关运载工具的外部环境的信息。所述传感器系统110可以包括其他感应单元,比如温度传感器、降水传感器或麦克风,以及其他可能性。
所述相机116可以是,例如,捕获静态图像和/或包括图像集合的视频的RGB-D相机,并生成表示所捕获的静态图像和/或视频图像的图像数据。在一些示例中,每个图像可以包括每像素深度信息。所述相机116捕获的图像数据可以是3D图像数据,所述3D图像数据可以以3D点云的形式进行编码并且提供为3D数据。
所述LIDAR传感器114可以捕获关于所述运载工具100的宽视野(例如,360°视野)信息。所述LIDAR传感器114还可以捕获关于外部环境的3D信息,并且捕获的信息可以以3D空间中的数据点集合(例如,3D点云)的形式进行编码并提供为3D数据。其中,3D数据中的每个数据点代表感应到物体在3D空间中的3D坐标(例如,以米为单位的x、y和z值)(例如,物体反射光线的起点)。在一些示例中,除了3D坐标外,3D数据中的每个数据点还可以包含其他信息,例如,反射光线的强度或检测时间。
不管3D数据是由所述相机116还是由所述LIDAR传感器114以点云的形式,例如,根据外部环境,点云中的数据点都可以不规则地间隔开。
通过各种感应单元112、114、116和118,所述传感器系统110可以收集关于所述运载工具100的局部外部环境信息(例如,任何紧邻的障碍物)以及来自更广泛的附近的信息(例如,所述雷达单元112和所述LIDAR传感器114可以从所述运载工具100周围半径最大100m或更大的区域收集信息。所述传感器系统110还可以收集有关所述运载工具100相对于参照系的位置和方向的信息(例如,通过所述GPS单元118)。所述传感器系统110可以进一步收集关于所述运载工具100本身的信息在这种情况下,所述运载工具100本身可以被认为是感应环境的一部分。例如,所述传感器系统110可以从感应单元(例如,加速度计、速率表、里程表和/或惯性测量单元)收集信息,从而确定所述运载工具100的状态,比如所述运载工具100的线性速度、角速度、加速度和轮胎抓地力。所述感应单元可以是也可以不是所述传感器系统110的一部分。
所述传感器系统110与所述数据分析系统120通信,从而将包括3D数据的传感器数据提供给所述数据分析系统120。所述数据分析系统120用于学习通过传感器数据来对外部环境中的对象进行检测、识别和分类,例如对行人或其他汽车进行检测、识别和分类。所述数据分析系统120可以是任何合适的基于学习的机器感知系统。所述机器感知系统实现机器学习算法,从而学习对外部环境中的对象进行检测、识别和分类,例如对行人或其他汽车进行检测和识别。在该示例中,所述数据分析系统120包括用于对象分类的深度神经网络200A(图2),下面将对其进行更详细的描述。所述数据分析系统120可以通过软件来实现,可以包括任何数量的独立或互连的模块或控制块,例如实现任何合适的机器学习算法,从而通过从所述LIDAR传感器114和/或所述相机116接收到的3D数据来进行特征提取,并通过提取到的特征进行对象分类。如下所述,可以通过所述运载工具100的运载工具控制器(未示出)的一个或多个处理单元来执行所述数据分析系统120的软件。所述数据分析系统120的输出可以包括,例如用于识别对象的数据,包括针对每个对象的对象类别或标签。
可以将来自所述传感器系统110的传感器数据和所述数据分析系统120的输出提供给所述路径规划系统130。所述路径规划系统130执行所述运载工具100的路径规划。例如,所述路径规划系统130可以基于来自所述GPS单元118的信息来规划所述运载工具100从起点到对象目的地的路径。所述路径规划系统130可以实现为一个或多个软件模块或控制模块,由所述运载工具100中一个或多个处理模单元执行。在一些示例中,所述路径计划系统130可以以在不同的细节级别来执行路径规划,例如在任务规划级别、行为规划级别和运动规划级别上。所述路径规划系统130的输出可以包括定义所述运载工具100行驶的一条或多条规划路径的数据。由所述路径规划系统130执行的路径规划是实时或接近实时地执行的,从而使所述运载工具100能够响应于感应到的环境中的实时变化。可以将所述路径规划系统130的输出提供给所述运载工具控制系统140。
所述运载工具控制系统140用于控制所述运载工具100的操作。所述运载工具控制系统140可用于对所述运载工具100进行完全、部分或辅助控制。所述运载工具控制系统140可用于:当所述运载工具100基于来自所述路径规划系统130的规划路径自动地或半自动地运作时,完全或部分控制所述机电系统150的操作。所述运载工具控制系统140也可以使用从所述传感器系统110和/或所述数据分析系统120接收的数据。在该示例中,所述运载工具控制单元140包括转向单元142、制动单元144和节流单元146。这些单元142、144和146中的每一个都可以实现为所述运载工具控制系统140中的独立的或集成的软件模块或控制块。所述单元142、144和146生成控制信号以分别控制所述运载工具100的转向、制动和节流。所述运载工具控制系统140可包括用于控制所述运载工具100的其他方面的附加组件,包括例如转向指示信号和制动灯的控制。
所述机电系统150从所述运载工具控制系统140接收控制信号以操作所述运载工具100的机械组件。所述机电系统150影响了所述运载工具100的物理操作。在所示示例中,所述机电系统150包括引擎152、变速器154和车轮156。所述引擎152可以是,例如汽油驱动引擎、电力驱动引擎或汽油/电力混合动力引擎。其它组件可以包括在所述机电系统150中,例如,包括转向指示信号、制动灯、风扇和车窗。
所述运载工具100可以包括未示出的其他组件,包括例如用户界面系统和无线通信系统(例如,包括天线)。这些其他组件也可以向上述系统提供输入和/或从上述系统接收输出。所述运载工具100可以与外部系统通信,例如外部地图数据库。所述运载工具100还可以与网络通信,例如能够在自动、半自动或非自动运载工具之间实现通信的运载工具网络。
所述传感器系统110,所述数据分析系统120,所述路径规划系统130和所述运载工具控制系统140可以至少部分地在所述运载工具100的运载工具控制器(未示出)的一个或多个处理单元中单独地或组合地实现。所述一个或多个处理单元可以是中央处理单元、图形处理单元、张量处理单元及其任意组合。例如,所述运载工具100的运载工具控制器(未示出)可以包括具有耦合到一个或多个有形存储器(未示出)的一个或多个物理处理器(例如,微处理器、微控制器、数字信号处理器、现场可编程门阵列或专用集成电路)的处理单元。处理单元也可称为运算单元或控制器。存储器可以存储指令、数据和/或软件模块,以供处理单元执行从而实现本文描述的系统的功能。存储器可以存储用于实现所述运载工具100的其他操作的其他软件指令和数据。每个存储器可以包括任何合适的易失性和/或非易失性存储和检索设备。可以使用任何合适类型的存储器,比如随机存取存储器(random accessmemory,简称RAM)、只读存储器(read-only memory,简称ROM)、硬盘、光盘、用户识别模块(subscriber identity module,简称SIM)卡、记忆棒和安全数码(secure digital,简称SD)存储卡等。
如上所述,由所述RGB-D相机116或所述LIDAR传感器114以点云的形式输出的3D数据是不规则且无序的。也就是说,形成点云的数据点集合不规则地间隔开并且可以以任意顺序被索引到。已经开发了实现常规机器学习算法的各种基于学习的机器感知系统,并将其用于对无序点云中的对象进行分类。然而,当无序点云中存在大量无序数据点时,这可能给对象分类带来挑战,例如增加的运算成本以及在基于学习的机器感知系统中进行分类的可能的不准确性。此外,点云数据(例如,3D数据)可以包括冗余数据,这可能导致对3D数据进行对象分类的处理变慢,并且可能引入明显的时延。这在各种情况下都是不希望发生的,例如自动驾驶。
本文所公开的深度神经网络可以帮助提高对象分类的准确性并降低运算成本,并且可以解决上述常规深度机器学习算法的至少部分缺点。所公开的深度神经网络可以用于各种应用中,包括人工智能(artificial intelligence,简称AI)系统中的自动驾驶、机器人技术或无人机导航。
图2A是根据一个示例实施例的一种示例深度神经网络200A的示意图。所述示例深度神经网络200A可用在数据分析系统120中用于对象分类。所述深度神经网络200A具有分层结构,其中至少包括特征提取子系统201、卷积层202和对象分类子系统203。为了便于说明,图2A示例中只讨论一个特征提取子系统201和一个对象分类子系统203。所述特征提取子系统包括:用于执行边缘卷积等卷积操作的卷积层205,以及关键点层(critical pointlayer,简称CPL)207。所述特征提取子系统201可以通过一个或多个合适的神经网络(例如,CNN)实现,从而产生相应无序数据点的特征向量。下文将结合图2B进一步描述具有不同分层结构的另一个深度神经网络200B,所述分层结构具有多个特征提取子系统201和一个对象分类子系统203。
如图2A所示,接收点云形式的3D数据作为对所述深度神经网络200A的所述特征提取子系统201的输入。所述点云包括多个无序数据点。关于一个点云,从所述深度神经网络200A输出多个标记的关键数据点。所述多个标记的关键数据点都分配了一个对象类别标签。可以丢弃那些未被选择作为关键数据点的其他无序数据点,以节省运算成本。例如,在自动汽车的情况下,来自点云的一些关键点可以被标记从而代表行人。为了便于说明,在下文中讨论了处理一个点云的多个无序数据点。在一些示例中,所述多个无序数据点可以是图1所示的传感器系统110(例如,来自LIDAR传感器114或相机116)感应到的3D数据。每个无序数据点都可以由3D坐标的x、y和z值表示。也就是说,每个无序数据点可以表示为一个包括x、y和z特征中的各个值的3D向量。将多个无序数据点(可以是以3D向量的形式)提供给所述卷积层205,从而生成排列在点-特征矩阵211中的多个多维特征向量。所述点-特征矩阵211的每一行对应一个相应的特征向量,并且每个特征向量代表来自点云的相应无序数据点。特征向量包括由所述卷积层205输出的代表多个特征的特征相关值。特征向量中包含的每个特征相关值可以被认为是特征向量的维度,因此特征向量可以被认为是多维特征向量。所述点-特征矩阵211中每一列对应于所述多个特征中的一个相应的特征。因此,每个多维特征向量代表一个给定的无序数据点,所述多维特征向量包括多个特征相关值,每个特征相关值代表所述给定无序点与相应的特征之间的相关程度。下面将进一步讨论多个特征相关值和相关程度。
所述卷积层205可以称之为“滤波阶段”,因为所述卷积层205可以使用滤波器或内核来生成特征向量。由所述卷积层205识别的特征的数量可以与过滤因子相关联。在该示例中,每个多维特征向量的特征的数目都大于3。在一些实施方式中,与相应多维特征向量相关联的多个特征可不同于与代表无序数据点的原始3D向量关联的原始的3个特征(例如,x、y和z坐标值)。另外,所述卷积层205可以帮助增加与相应无序数据点相关的特征的数量。在一些示例中,点云中的不同数据点最初可以与不同数量的特征(例如,具有小于或大于三个特征)相关联。不管与输入到所述卷积层205的不同无序数据点相关联的特征的数量是多少,从所述卷积层205输出的特征向量都可以具有相同数量的特征。例如,所述卷积层205可以被设计为输出代表预定义的特征集合(例如,根据期望的对象类别而预定义)的特征向量。所述卷积层205因此可以输出表示相同特征的特征向量,以表示不同的无序点。这可以使得能够更容易地实现后续对象分类步骤。
为了便于说明,本文中讨论的示例指的是从所述卷积层205输出点-特征矩阵211给CPL,以通过生成最大缩减矩阵213进而从点云对数据点进行下采样。这只是示例性的,并不旨在进行限制。在其他示例中,所述点-特征矩阵211可以具有不同的配置。例如,基于接收到的作为输入的无序点的数量,所述点-特征矩阵211可以表示与图2A所示的示例不同数量的点。根据所述卷积层205的滤波因子,所述点-特征矩阵211也可以表示与图2A所示的示例不同数量的特征。如图2A所示示例,所述点-特征矩阵211包括8个多维特征向量(具有行索引0—7),并且每个多维特征向量具有14个特征。因此,所述点-特征矩阵211是一个8×14矩阵,其中包括对应于点云的8个无序点的8行和对应于14个特征的14列。
向CPL 207提供由所述卷积层205输出的点-特征矩阵209。所述CPL 207基于所述点-特征矩阵211生成最大缩减矩阵213。所述最大缩减矩阵213的每一行代表相应的特征相关向量。如下文进一步所讨论的,特征相关向量是从所述点-特征矩阵211中选择的多维特征向量。在该示例中,每个特征相关向量代表点云中的一个关键数据点。在本申请中,术语“关键”是指由于其特征相关性而被选择来表示在所述最大缩减矩阵213中的数据点。对于对象分类而言,关键数据点比未选择在最大缩减矩阵213中表示的其他数据点更为重要。为了便于说明和理解,本文讨论了从所述CPL 207输出的最大缩减矩阵213,所述最大缩减矩阵213也作为示例来说明下列示例中每个关键数据点的配置。这只是说明性的,并且不旨在限制。在其他示例中,在选择关键数据点的不同方法中,所述最大缩减矩阵213的尺寸可以不同。下面将更详细地讨论在所述点-特征矩阵211中对关键数据点的识别和选择从而生成所述最大缩减矩阵213。
所述最大缩减矩阵213的每一列对应于相应的特征。应当注意的是,所述点-特征矩阵211的列数和所述最大缩减矩阵213的列数相等,这意味着多维特征向量和特征相关向量表示相同的特征。所述最大缩减矩阵213的行数小于所述点-特征矩阵211的行数。所述CPL 207为每个特征从所述点-特征矩阵211中选择相应的多维特征向量,从而生成所述最大缩减矩阵213,其中所述点-特征矩阵211中的多维特征向量具有与该特征相关联的最大特征相关值。特别地,对于每个特征(即,所述点-特征矩阵211的每一列),所述CPL 207识别具有包含在该列中的最大值的多维特征向量,并且选择所识别的多维特征向量作为特征相关向量包含在所述最大缩减矩阵211中。
因此,所述最大缩减矩阵213只包括来自所述点-特征矩阵211的多维特征向量,所述多维特征向量具有至少一个与不同特征相关联的最大特征相关值。基于这样的通过至少一个CPL 207来选择由特征相关向量表示的关键数据点的方法,可以帮助通过深度神经网络200A的对象分类子系统203来提高分类准确度。由于关键点的数量显著小于点云中捕获的点的总数,因此这也可能有助于降低运算的复杂度。
所述卷积层202接收最大缩减矩阵213,并进行所述最大缩减矩阵213的卷积运算。所述卷积层202的输出是一个关键数据点集合。所述关键数据点集合可以以特征向量的形式来表示,这些特征向量被布置在具有其他特征的最大缩减矩阵中。然后,将特征向量提供给所述对象分类子系统203,所述对象分类子系统203执行对象分类,从而为点云中的关键点分配对象类别标签。所述对象分类子系统203的输出包括与对象相关联并对应于该对象的多个标记的关键数据点。可以使用支持向量机(support vector machine,简称SVM)等任何类型的神经网络来实现所述对象分类子系统203。
如上所述,所述卷积层205用于增加点云中相应无序数据点的特征,而所述CPL207用于选择关键数据点。在一些实施方式中,具有滤波因子i的卷积层205可以将相应无序点的特征的数量增加到i,并且具有下采样因子j的CPL 207可以将关键数据点的数量减少到无序数据点数量的j分之一。
在一些替代示例中,包括卷积层205和CPL 207的特征提取子系统201可以根据需要进行多次应用,以构成具有不同相应层次结构的深度神经网络。所述深度神经网络可以被设计成实现期望数量的关键数据点和期望数量的特征,例如,以便在对象分类中获得期望的准确性。
图2B示出了根据另一个示例实施例的一种示例深度神经网络200B,其中所述示例深度神经网络200B具有多个特征提取子系统201(1)至201(3)(通常称为特征抽取子系统201)。所述深度神经网络200B可以设计有多个特征提取子系统201,以便输出期望数量的关键数据点,并且每个关键数据点都具有期望数量的特征。每个特征提取子系统201可以用于针对每个关键点输出预定数量的关键数据点和预定数量的特征。
例如,接收点云的N个无序数据点作为第一特征提取子系统201(1)的输入。在一些示例中,任意数量的特征与N个无序数据点中的每一个数据点相关联。第一特征提取子系统201(1)包括具有第一滤波因子Fk1的第一卷积层205(1)和具有第一下采样因子k1的第一CPL207(1)。因此,第一特征提取子系统211(1)的输出是N/k1个关键数据点,其中每个关键数据点都具有Fk1个特征。通过一个或多个后续特征提取子系统201,可以进一步减少关键数据点的数量,并且可以进一步增加特征的数量。用于处理无序数据点的提取子系统201的数量是基于以下信息确定的:深度神经网络200B的输出点的期望数量以及与深度神经网络200B的输出相关联的特征的期望数量。在图2B所示示例中,所述深度神经网络200B包括三个特征提取子系统201(1)、201(2)和201(3)以及最终层(例如,卷积层202)。通常,每个特征提取子系统201(i)包括具有滤波因子Fki的卷积层205(i)和具有下采样因子ki的CPL 207(i),其中i是个整数。在该示例中,三个特征提取子系统201用于输出N/(k1xK2xk3)个关键数据点,每个关键数据点具有Fk3特征作为最大缩减矩阵213(i)。具有滤波因子Fk4的卷积层202用来进行要应用的最终卷积运算,因此,卷积层202的输出为N/(k1xK2xk3)个关键数据点,其中每个数据点都具有Fk4特征。如上所述,所述卷积层202的输出是具有其他特征的最大缩减矩阵213(3),所述输出被提供给对象分类子系统203从而对关键数据点进行对象分类。
应注意的是,卷积层的数量可以与CPL的数量不同,并且卷积层可以与CPL分开使用,以便于深度神经网络的输出以实现期望数量的特征(通过不同的卷积层),并获得期望数量的关键数据点(通过不同的CPL)。可以预先定义输出中的期望数量的特征和期望数量的关键点。图2B的示例只是说明性的,并且不旨在限制。在其他示例中,包括不同数量的卷积层205和CPL 207的不同配置可以应用在深度神经网络的不同配置中。
图3A示出了一种用于将特征提取子系统201应用于多个多维特征向量以输出多个关键数据点的示例方法300。所述方法300可以由深度神经网络200A/200B的特征提取子系统201执行。
操作301:接收布置在点-特征矩阵211中的多个多维特征向量。所述点-特征矩阵的每一行对应于一个相应多维特征向量,所述点-特征矩阵的每一列对应于相应的特征。
如图3所示,所述点-特征矩阵211包括具有行索引0—7的8个多维特征向量,并且每个多维特征向量具有14个特征。这意味着每个多维特征向量是14维(14dimensional,简称14D)特征向量。在一些示例中,特征提取子系统201可以对无序数据点(例如,LIDAR传感器114或RGB-D相机116捕获的点云形式的3D数据)进行编码从而得到8个14D特征向量。因此,每个多维特征向量代表点云中的一个相应无序数据点。
结合所述点-特征矩阵211,对于给定特征(即,给定列),相关程度用于评估哪个多维特征向量对这个特征贡献更大,并且比其他多维特征向量对这个特征更重要。给定特征的多维特征向量的特征相关值可以与所述给定特征的多维特征向量的相关程度直接成正比。例如,对于给定特征,多维特征向量的特征相关值越大,对应于相应多维特征向量的无序数据点就越重要。
操作302:生成具有选定的多个特征相关向量的最大缩减矩阵213。所述最大缩减矩阵213的每一行对应于一个相应的特征相关向量,所述最大缩减矩阵213的每一列对应于相应的特征。对于每个特征,在所述点-特征矩阵211中识别具有与相应的特征相关联的最大特征相关值的相应多维特征向量,从而来选择特征相关向量。
例如,考虑与图3A所示的点-特征矩阵211中的第一特征相关联的第一列。在第一列中,行索引4的特征相关值在点-特征矩阵211的所有行中值最大(在点-特征矩阵211中标记为暗条目)。这表示与行索引4处多维特征向量对应的点对第一特征的贡献最大。这只是说明性的,并且不旨在限制。在其他示例中,相关程度可以与特征相关值成反比。
应当注意的是,单个多维特征向量可以包含不止一个不同特征的最大特征相关值。例如,在图3A中,在行索引4处的多维特征向量包含第一列以及第二列的最大特征相关值。还应注意,点-特征矩阵211的一个或多个多维特征向量可包含零个最大特征相关值。例如,在行索引2处的多维特征向量不包含任何最大特征相关值。如果至少两个多维特征向量包含给定特征的相同的最大特征相关值,则可以选择所有此类多维特征向量作为该特征的特征相关向量;或者,可以随机选择至少两个多维特征向量中的一个作为该特征的特征相关向量。
如图3A所示,所述最大缩减矩阵213包括选定的多个特征相关向量。如上所述,每个特征相关向量代表相应关键数据点。所述CPL 207用于输出最大缩减矩阵213,其中关键数据点的数量小于点-特征矩阵211的多维特征向量的数量,并且相应关键数据点的特征的数量与相应多维特征向量的特征的数量相同。因此,所述CPL 207可以帮助减少深度神经网络的后续卷积层需要处理的数据点的数量,这可以帮助节省运算成本。
操作303:将最大缩减矩阵213输出给至少最终卷积层202。所述卷积层202执行最终特征提取(例如,应用如上所讨论的最终过滤因子),这可以用于对所有关键数据点的实现恒定数量的特征,并输出具有其他特征的最大缩减矩阵213。在一些示例中,深度神经网络包括如图2A所示的对象分类子系统203,其中包括一个或多个完全连接层(未示出)。可将从卷积层202输出的具有更多特征的最大缩减矩阵213提供给对象分类子系统203作为其输入。所述对象分类子系统203对最终卷积层202的输出执行对象分类,从而为来自点云的多个关键数据点分配对象类标签。
由于最大缩减矩阵213包括所选定的多个特征相关向量,每个向量均具有与不同的相应的特征相关联的至少一个最大特征相关值,因此与从传感器捕获的无序数据点的数量相比,从CPL输出的关键点的数量可显着减少。此外,基于每个数据点对不同相应的特征的重要性和贡献来识别和选择关键数据点。因此,与不考虑每个数据点的特征相关性而通过传统静态下采样从点云中选择数据点的固定子集相反,这样可以动态地选择关键数据点。因此,从CPL输出的可变数量的关键数据点可以帮助动态地降低后续对象分类的复杂度,并极大地提高后续对象分类的准确性。
图3B更详细地示出了如何通过使用CPL 207来生成最大缩减矩阵的示例方法300B。图4示出了一种用于实现图3B的示例方法300B的算法400的示例指令的伪代码表示。算法400的功能可用于实施以下描述的步骤。在操作301中接收到点-特征矩阵211后,方法300B还包括:
操作3021:生成包含多个识别的多维特征向量的多个行索引的索引向量304。现在讨论用于识别点-特征矩阵211中的行索引从而生成索引向量304的一种示例方法。对于每个相应的特征,针对所有多维特征向量,评估与相应的特征相关联的特征相关值。针对每个相应的特征,识别与具有最大特征相关值的多维特征向量相对应的行索引。然后,将识别的行索引存储在索引向量304中。在一些示例中,如图4的行4所示,可以通过argmax()函数401来识别相应的特征的最大特征相关值。
例如,在图3B所示的点-特征矩阵211中,对于第一列中表示的第一特征,不同的特征相关值表示不同的相关程度。识别结果为行索引4(对应于点-特征矩阵204中的第五行)的多维特征向量具有与第一特征相关联的最大特征相关值(在点-特征矩阵204中标记为暗条目)。因此,将行索引4作为索引向量304中的第一元素输入。类似地,识别索引并为所有其他特征输入索引,从而构成索引向量304。
操作302:生成唯一的索引向量。通过去除索引条目中的重复内容,基于索引向量304生成唯一索引向量305。例如,在图3B中,生成的索引向量304示出了行索引4被输入了3次,对应于第一、第二和第八特征。这是因为行索引4处的多维特征向量具有与第一、第二和第八特征相关联的最大特征相关值。基于唯一的索引向量305,行索引4只被输入一次。因此,如图3B所示示例中,唯一的索引向量305包括多个唯一的行索引(例如,4、0、5、3、6、1、……),其中多个唯一的行索引分别对应于不同的相应多维特征向量。在一些示例中,可以通过在图4的第7行中呈现的unique()函数402来生成唯一的索引向量305。
在操作3023中,将唯一的索引向量305中包含的行索引按升序(或降序)排序,并生成排序后的索引向量306。如图3B所示,唯一索引向量305中的行索引和排序后的向量306中的行索引是相同的,只是排序顺序不同。对排序后的索引向量306中的行索引进行排序可能有利于执行后续采样操作,例如,执行确定性采样。在一些实施方式中,可以通过图4中线6所示的sort()函数403来执行操作3023。
操作3024:对包含在排序后的索引向量306中的行索引进行采样,生成采样的索引向量307,从而获得期望数量的条目。这对于批处理可能是有用的,以确保在后续层中处理的关键数据点的数量保持恒定。采样可以是向上采样至期望数量,或向下采样至期望数量。例如,可以基于用于批处理的算法的参数标准来确定期望数量。可以通过确定性采样或随机采样来执行采样。确定性采样可以包括最近临近大小调整采样。随机采样可以包括通过随机整数生成器的随机均匀采样。在这个示例中,上采样用于处理排序后的索引向量306并生成具有期望数量(例如,12个)行索引的采样索引向量307。可以通过如图4的线8所示的rand()函数404来实现上采样。操作3024中的采样结果是,对于可能具有不同数目的数据点的不同点云,输出的关键数据点的数目是相同的。
操作3025:通过包含在采样索引向量307中的行索引,生成最大缩减矩阵213。在这个示例中,采样索引向量307中的12个行索引用于收集点-特征矩阵中的对应行。所收集的行是包含在最大缩减矩阵213中的特征相关向量。应该注意的是,因为采样索引向量307可能包含重复的行索引(例如,由于在操作3024执行的上采样),所以包含在最大缩减矩阵213中的特征相关向量可能会有重复。
然后,在操作303中,将最大缩减矩阵213输出到深度神经网络200A/200B的最终卷积层202,从而执行最终特征提取。然后,可以将来自所述最终卷积层202的输出提供给对象分类子系统203,以执行对象分类和标记。
参考图3C,现更详细地示出用于输出最大缩减矩阵213的另一种示例方法300C。图3C所示示例方法300C可以通过图4所示的伪代码来实现,其中去除了函数unique()402。这个示例类似于图3B的示例,但是跳过了操作3022,考虑多维特征向量的加权。在这个示例中,CPL 207可以被称为加权关键点层(weighted critical point layer,简称WCPL)以实现方法300C。
如图3C所示,在不生成唯一索引向量的情况下,执行操作3023和3024,从而对索引向量304中识别的行索引进行排序和采样。对索引向量304执行操作3023,输出加权排序索引向量308。所述加权排序索引向量308包括在操作3021识别的所有行索引,包括重复内容。例如,如虚线圆310所示,行索引4的重复数量为3,行索引5的重复数量为2。与行索引5相比,这示出了行索引4的相对特征相关性。
然后,提供加权排序索引向量308作为输入,从而执行操作3024。通过执行操作3024,输出加权采样索引向量309。在该示例中,在操作3024中执行的采样是下采样。如虚线圆311所示,行索引4被选择了3次,只选择一个行索引5来构成加权采样索引向量309。结合加权排序索引向量308的虚线圆310和加权采样索引向量309的虚线圆311,应注意的是,在加权排序索引向量308中,第一行索引(例如4)的重复数量高于第二行索引(例如5)的重复数量。因此,当在执行操作3024中的采样时,与以较低频率重复的第二行索引相比,在采样操作3024中更有可能选择以较高频率重复的第一行索引。因此,加权采样索引向量309更有可能包含更多与具有更大权重(和更大特征相关性)的行索引相对应的条目。
通过比较图3B的采样索引向量307和图3C的加权采样索引向量309,可以看出,加权采样索引向量309包括三次行索引4和一次行索引5,而采样索引向量307包括两次行索引4,而行索引5也出现了两次。因此,可以理解的是,如果第一向量具有更多与不同特征相关联的最大特征相关值,当应用WCPL时,如这个示例所示出的,与第一多维特征向量相对应的行索引很可能在加权排序索引向量308中被重复多次。通过考虑相应多维特征向量的贡献或加权,可以在采样过程中更大概率的选择那些具有更多特征相关贡献或更大权重的多维特征向量。这可以帮助确保更重要的关键点被选来用于进一步后续处理,达到更高准确度。
关于图3B的方法300B和图3C示出的方法300C,注意到,操作3022、3023和3024中的每个操作都可以是可选的,并且每个可选步骤3022、3023或3024可以彼此独立地执行或省略。例如,可以基于关键数据点和最大缩减矩阵213的期望的生成要求,省略操作3022、3023和3024中的一个或多个。
在某些示例中,可以跳过操作3022。也就是说,可以从算法400中去除相应的函数unique()402。结果是,对行索引进行加权以表示多维特征向量的相对重要性。例如,参考上述图3已经对此进行了讨论。
在一些示例中,可以省略操作3023。例如,如果操作3024的采样是随机采样,则可以省略排序操作3023。如果操作3024的采样是确定性采样,则可以执行操作3023来使得CPL的输出更加准确。如果省略操作3023,则可以相应的将函数sort()402从算法400中去除。当省略操作3024时,行索引可以按索引向量304的原始条目顺序保留。结果,最大缩减矩阵213的特征相关向量的排列顺序可以对应于索引向量304中索引的原始条目顺序。
在一些示例中,如果尚未预定义期望数量的关键数据点,或者如果没有必要确保针对不同点云输出相同数量的关键数据点,则可以省略操作3024。因此,可以相应地去除图4所示的函数rand()404。因此,最大缩减矩阵213中的关键数据点的数量可以等于操作3021中识别的多维特征向量的数量。
在一些应用中,如图3B所示的示例方法300B所述,可以共同执行可选操作3022、3023和3024,从而生成最大缩减矩阵。在一些其他应用中,可以选择性地执行可选操作3022、3023和3024,从而生成不同的最大缩减矩阵213。在一些其他实现方式中,执行或省略可选操作3022、3023和3024的任何组合,从而生成不同的最大缩减矩阵213。因此,所生成的最大缩减矩阵213可以反映相应功能402—404的功能特征,分别对应于可选操作3022—3024。当省略任何替代操作3022—3024时,可以在没有对应于该步骤的功能特征的情况下生成最大缩减矩阵213。
例如,如果仅执行操作3022并且省略操作3023和3024,则生成的最大缩减矩阵213将会包括多个唯一的特征相关向量。也就是说,对应于所生成的最大缩减矩阵213的关键数据点可以没有重复。
如果仅执行操作3023并且省略操作3022和3024,则将根据排序的索引顺序来排列最大缩减矩阵213中的特征相关向量。
如果仅执行操作3024并且省略操作3022和3023,则最大缩减矩阵213中的特征相关向量的数量将会等于期望的数量。
在一些其他的实施方式中,如本领域技术人员将理解的,可以使用可选操作3022、3023和3024的其他组合。此外,在一些示例中,可选操作3022、3023和3024可以按任何合适的顺序执行。通过识别与某些特征具有最大相关性的那些向量(例如,通过CPL 207),对应于关键数据点的多个特征相关向量以最大缩减矩阵213的形式输出。这样降低了深度神经网络的后续卷积层中要处理的数据点的数量。这可以帮助降低由对象分类子系统203执行的后续分类操作的运算成本,并且可以有助于改善后续分类操作。
图5示出了一种如上所述地应用了CPL(或WCPL)的示例性深度神经网络500。CPL可以包括在图3B所示示例中应用的CPL,或在图3C所示示例中应用的WCPL。为了简洁,图5示出了CPL。所述深度神经网络500包括特征提取子系统201,其中所述特征提取子系统201包括变换层501、卷积层205、多层感知机(multilayer perceptron,简称MLP)层503和CPL 207。所述深度神经网络500还包括最终卷积层202和对象分类子系统203,其中所述对象分类子系统203包括三个完全连接层505(1)、505(2)和505(3)。向所述深度神经网络500馈送点云的多个无序数据点。在这个示例中,每个无序数据点由3D向量表示,无序数据点的数量为n。在一些其他示例中,每个无序点可以由具有任意数量的特征的不同的相应向量表示。所述变换层501接收多个3D向量,执行初步的空间变换和滤波,并生成变换后的数据。在这个示例中,可执行初步空间变换和滤波,从而帮助使变换后的数据在抵抗不同方向上的旋转时具有鲁棒性。在其他示例中,变换可以是可选步骤,并且可以从所述深度神经网络500中省略变换层501。所述卷积层205接收变换后的数据,进而执行编码和过滤,从而生成多个多维特征向量。在这个示例中,每个多维特征向量包括128个特征。因此,所述卷积层205的输出是尺寸为nx128的矩阵。所述MLP层503可以进一步增加每个向量的特征数量,例如增加到1024个特征。因此,可以从MLP层503产生大小为nx1024的矩阵。
然后,将所述CPL 207应用于nx1024矩阵来生成数量更少的关键数据点。例如,所述CPL 207可以具有下采样因子:4。因此,所述CPL 207的输出是大小为(n/4)×1024的矩阵。关键数据点的数量减少到n/4,并且每个关键数据点都包括至少一个最大特征相关值。这样可以降低后续卷积层的运算复杂度,而又不会显着降低准确度。可以通过实施本文讨论的任何方法来应用本文公开的CPL 207,从而生成排列在最大缩减矩阵213中的多个关键数据点。所述最大缩减矩阵可以包含n/4行(与关键点的数量相对应)和1024列(与特征的数量相对应)。如上所述,CPL 207是CPL(例如,根据方法302A)或WCPL(例如,根据方法302B)。
将所述最大缩减矩阵213提供给最终卷积层202。所述最终卷积层202还处理n/4个关键数据点,以保持相应关键数据点的特征的数量和关键数据点的数量恒定。然后,将最终卷积层202的输出提供给所述对象分类子系统203,从而缩小尺寸并标记关键数据点。在这个示例中,所述对象分类子系统203包括3个具有不同缩小因子的FCL。第一FCL 505(1)具有缩小因子512,第二FCL 505(2)具有缩小因子256,第三FCL 505(3)具有缩小因子40。为期望数量的分类标签,预定义这三个FCL 505(1)至505(3)(通常称为FCL 505)。在这个示例中,这三个FCL 505用于对卷积层202的输出进行分类,得到40个标签类别。这仅是示例。在其他实施方式中,FCL的数量和不同的相应缩小尺寸因子可以不同,例如,根据不同的场景来形成深度神经网络的不同的分层结构,例如用于识别自动驾驶中的行人和/或其他汽车。
本申请提供了可以从点云中的接收到的多个无序点动态地选择多个关键数据点的示例。在利用诸如自动驾驶之类的复杂环境中的深度神经网络对点云的无序数据点执行分类时,所公开的方法可能特别有优势。
本申请进一步示出了深度神经网络中的示例分层结构,其中至少一个卷积层编码和过滤具有不同的任意相应数量的特征的多个接收的无序点,并输出特征—点矩阵,并且至少一个CPL从所述特征—点矩阵中选择关键数据点。这样的分层结构可以帮助提高对关键数据点进行分类的效率,并且可以帮助提高深度神经网络的分类准确度。
在一些示例中,仅唯一的行索引用于选择特征相关向量,并且输出的最大缩减矩阵中的关键数据点各不相同。通过这样的方法,能够去除冗余点。这样可以进一步帮助减小要处理的关键数据点的数量,从而进一步降低了深度神经网络的复杂性。
在一些示例中,可以对行索引进行加权。通过考虑不同的相应的特征向量的权重或贡献,选择更重要的数据点用于对象分类,这样可以帮助提高分类准确度。
在一些应用中,点云的无序数据点可以由位于自动驾驶场景中的运载工具上或完成特定任务的机器人上的LIDAR传感器和/或RGB-D相机捕获。
尽管本申请描述了具有按某种顺序排列的操作的方法和过程,但是可以适当省略或改变所述方法和过程的一个或多个操作。在适当的情况下,一个或多个操作可以按不同于其描述的顺序执行。
尽管本申请在方法方面至少部分地进行了描述,但本领域普通技术人员将理解,本申请也针对用于执行所述方法的至少一些方面和特征的各种组件,无论是通过硬件组件、软件还是其任意组合。相应地,本申请的技术方案可通过软件产品的形式体现。合适的软件产品可以存储在预先记录的存储设备或其它类似的非易失性或非瞬时性计算机可读介质中,包括DVD、CD-ROM、USB闪存盘、可移动硬盘或其它存储介质等。所述软件产品包括有形地存储在其上的指令,所述指令使处理设备(例如,个人计算机、服务器或网络设备)能够执行本文公开的方法的示例。
在不脱离权利要求的主题的前提下,本申请可以按其它特定形式实施。所描述的示例性实施例在各方面都仅仅是示意性的,而不是限制性的。可以组合来自上述一个或多个实施例的所选特征来创建未明确描述的替代实施例以及适合在本申请范围内理解的这类组合的特征。
还公开了所公开范围内的所有值和子范围。而且,尽管本文公开和示出的系统、设备和过程可以包括特定数量的元件/组件,但是所述系统、设备和组件还可以被修改为包括更多或更少的这类元件/组件。例如,尽管所公开的任何元件/组件可以作为单数引用,但是本文公开的实施例可以被修改为包括多个的这类元件/组件。本文描述的主题旨在涵盖并包含技术中的所有适当变化。

Claims (18)

1.一种方法,其特征在于,包括:
接收布置在点-特征矩阵中的多个多维特征向量,其中,所述点-特征矩阵中每一行对应于一个相应多维特征向量,所述点-特征矩阵中每一列对应于相应的特征,每个多维特征向量代表点云中的相应无序数据点,每个多维特征向量包括相应的多个特征相关值,每个特征相关值代表相应的特征的相关程度;
生成具有选定的多个特征相关向量的最大缩减矩阵,其中,所述最大缩减矩阵中每一行对应于一个相应的所述特征相关向量,所述最大缩减矩阵中每一列对应于相应的特征;所述生成包括:
生成包含多个识别的多维特征向量的多个行索引的索引向量;
对所述索引向量中的行索引进行采样一直达到所需数目,从而生成采样索引向量;
使用所述采样索引向量中包含的行索引生成所述最大缩减矩阵;
其中,对于每个相应的特征,在所述点-特征矩阵中识别具有与所述相应的特征相关联的最大特征相关值的相应多维特征向量,从而来选择所述特征相关向量;
输出所述最大缩减矩阵,以供深度神经网络的最终卷积层处理。
2.根据权利要求1所述的方法,其特征在于,所述采样是确定性的,还包括:
在所述采样之前,以升序对所述索引向量中包含的行索引进行排序。
3.根据权利要求1所述的方法,其特征在于,为了批处理不同的各个点云,预定义所述所需数目。
4.根据权利要求1所述的方法,其特征在于,在所述点-特征矩阵中的至少两个识别的相应多维特征向量是相同的并且对应于同一个数据点,所述方法还包括:
对于与所述同一个数据点相对应的至少两个识别的相应多维特征向量,所述生成还包括:
选择与至少一个识别的相应多维特征向量相关联的唯一相应行索引;
生成包括多个唯一相应行索引的唯一索引向量,其中,所述多个唯一相应行索引分别对应于不同的相应点;
基于所述唯一索引向量,生成具有选定的多个特征相关向量的最大缩减矩阵,其中,所述选定的特征相关向量各不相同。
5.根据权利要求1所述的方法,其特征在于,所述输出所述最大缩减矩阵包括:
将所述最大缩减矩阵作为所述最终卷积层的输入,其中,所述卷积层对所述特征相关向量执行特征提取,以获得每个特征相关向量中所需数量的表示特征;
将所述最终卷积层的输出提供给深度神经网络的对象分类子系统,以对所述选定的多个特征相关向量进行分类。
6.根据权利要求1所述的方法,其特征在于,所述接收包括:
接收所述点云的多个无序数据点;
对所述接收到的无序数据点进行初步的空间变换和滤波,从而生成多个变换后的数据;
将所述多个变换后的数据提供给深度神经网络的特征提取子系统的卷积层,从而生成多个多维特征向量。
7.根据权利要求1所述的方法,其特征在于,所述多个无序数据点是由LIDAR传感器或红绿蓝深度RGB-D相机捕获的。
8.一种在深度神经网络中实现的方法,其特征在于,所述方法包括:
接收点云的多个无序数据点;
通过深度神经网络的卷积层对所述多个无序数据点进行编码,从而生成排列在点-特征矩阵中的多个多维特征向量,其中,所述点-特征矩阵中每一行对应于一个相应多维特征向量,所述点-特征矩阵中每一列对应于相应的特征,每个多维特征向量代表点云中的相应无序数据点,每个多维特征向量包括多个特征相关值,每个特征相关值代表相应的特征的相关程度;
向关键点层CPL提供所述点-特征矩阵,从而生成具有选定的多个特征相关向量的最大缩减矩阵,其中,所述最大缩减矩阵中每一行对应于一个相应的所述特征相关向量,所述最大缩减矩阵中每一列对应于相应的特征;所述CPL用于:
生成包含多个识别的多维特征向量的多个行索引的索引向量;
对所述索引向量中的行索引进行采样一直达到所需数目,从而生成采样索引向量;
使用所述采样索引向量中包含的行索引生成所述最大缩减矩阵;
其中,对于每个相应的特征,在所述点-特征矩阵中识别具有与相应的特征相关联的最大特征相关值的相应多维特征向量,从而来选择所述特征相关向量;
向深度神经网络的最终卷积层输出所述最大缩减矩阵;
通过将所述最大缩减矩阵应用到至少一个神经网络层,以输出多个分类点。
9.根据权利要求8所述的方法,其特征在于,所述对所述索引向量中的行索引进行采样一直达到所需数目是确定性的采样,所述CPL还用于:
在所述采样之前,以升序对所述索引向量中包含的行索引进行排序。
10.根据权利要求8所述的方法,其特征在于,为了批处理不同的各个点云,预定义所述所需数目。
11.根据权利要求8所述的方法,其特征在于,在所述点-特征矩阵中的至少两个识别的相应多维特征向量是相同的并且对应于同一个数据点,所述CPL还用于:
对于与同一个数据点相对应的至少两个识别的相应多维特征向量,选择与至少一个识别的相应多维特征向量相关联的唯一相应行索引;
设置包括多个唯一相应行索引的唯一索引向量,其中,所述多个唯一相应行索引分别对应于不同的相应数据点;
基于所述唯一索引向量,生成具有选定的多个特征相关向量的最大缩减矩阵,其中,所述选定的特征相关向量各不相同。
12.一种系统,其特征在于,包括:
包括指令的非瞬时性内存存储器;
一个或多个处理器,与所述内存进行通信,其中,所述一个或多个处理器执行所述指令,从而:
接收布置在点-特征矩阵中的多个多维特征向量,其中,所述点-特征矩阵中每一行对应于一个相应多维特征向量,所述点-特征矩阵中每一列对应于相应的特征,每个多维特征向量代表点云中的相应无序数据点,每个多维特征向量包括相应的多个特征相关值,每个特征相关值代表相应的特征的相关程度;
生成具有选定的多个特征相关向量的最大缩减矩阵,其中,所述最大缩减矩阵中每一行对应于一个相应的所述特征相关向量,所述最大缩减矩阵中每一列对应于相应的特征;
生成包含多个识别的多维特征向量的多个行索引的索引向量;
对所述索引向量中的行索引进行采样一直达到所需数目,从而生成采样索引向量;
使用所述采样索引向量中包含的行索引生成所述最大缩减矩阵;
其中,对于每个相应的特征,在所述点-特征矩阵中识别具有与所述相应的特征相关联的最大特征相关值的相应多维特征向量,从而来选择所述特征相关向量;
输出所述最大缩减矩阵,以供深度神经网络的最终卷积层处理。
13.根据权利要求12所述的系统,其特征在于,所述采样是确定性的,所述一个或多个处理器进一步执行所述指令,从而
在所述采样之前,以升序对所述索引向量中包含的行索引进行排序。
14.根据权利要求12所述的系统,其特征在于,为了批处理不同的各个点云,预定义所述所需数目。
15.根据权利要求12所述的系统,其特征在于,在所述点-特征矩阵中的至少两个识别的相应多维特征向量是相同的并且对应于同一个数据点,所述一个或多个处理器进一步执行所述指令,从而
对于与所述同一个数据点相对应的至少两个识别的相应多维特征向量,选择与至少一个识别的相应多维特征向量相关联的唯一相应行索引;
生成包括多个唯一相应行索引的唯一索引向量,其中,所述多个唯一相应行索引分别对应于不同的相应数据点;
基于所述唯一索引向量,生成具有选定的多个特征相关向量的最大缩减矩阵,其中,所述选定的特征相关向量各不相同。
16.根据权利要求12所述的系统,其特征在于,所述一个或多个处理器进一步执行所述指令,从而通过下列方式来输出最大缩减矩阵:
将所述最大缩减矩阵作为深层神经网络的所述最终卷积层的输入,其中,所述最终卷积层对特征相关向量执行特征提取,以获得每个特征相关向量中所需数量的表示特征;
将所述最终卷积层的输出提供给深度神经网络的对象分类子系统,以对选定的多个特征相关向量进行分类。
17.根据权利要求12所述的系统,其特征在于,所述一个或多个处理器进一步执行所述指令,从而
接收所述点云的多个无序数据点;
对所述接收到的无序数据点进行初步的空间变换和滤波,从而生成多个变换后的数据;
将所述多个变换后的数据进行编码并提供给深度神经网络的特征提取子系统的卷积层,从而生成多个多维特征向量。
18.一种计算机可读介质,包括指令,其特征在于,在运载工具控制器的处理单元执行所述指令时,使得运载工具控制系统执行根据权利要求1-7或8-11中任意一项所述的方法。
CN201980070070.5A 2018-11-14 2019-11-13 用于从点云中动态选择特征相关点的深度神经网络的方法和系统 Active CN112912928B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/191,011 US11676005B2 (en) 2018-11-14 2018-11-14 Method and system for deep neural networks using dynamically selected feature-relevant points from a point cloud
US16/191,011 2018-11-14
PCT/CN2019/117877 WO2020098674A1 (en) 2018-11-14 2019-11-13 Method and system for deep neural networks using dynamically selected feature-relevant points from point cloud

Publications (2)

Publication Number Publication Date
CN112912928A CN112912928A (zh) 2021-06-04
CN112912928B true CN112912928B (zh) 2024-01-16

Family

ID=70551782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980070070.5A Active CN112912928B (zh) 2018-11-14 2019-11-13 用于从点云中动态选择特征相关点的深度神经网络的方法和系统

Country Status (4)

Country Link
US (1) US11676005B2 (zh)
EP (1) EP3857510A4 (zh)
CN (1) CN112912928B (zh)
WO (1) WO2020098674A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DK201970115A1 (en) * 2018-11-08 2020-06-09 Aptiv Technologies Limited DEEP LEARNING FOR OBJECT DETECTION USING PILLARS
JP7158320B2 (ja) * 2019-03-15 2022-10-21 浜松ホトニクス株式会社 畳み込みニューラルネットワーク判断根拠抽出方法および装置
US11556745B2 (en) * 2019-03-22 2023-01-17 Huawei Technologies Co., Ltd. System and method for ordered representation and feature extraction for point clouds obtained by detection and ranging sensor
JP2022539843A (ja) * 2019-07-08 2022-09-13 ウェイモ エルエルシー 点群におけるオブジェクト検出
CN112069923B (zh) * 2020-08-18 2024-07-12 广东正扬传感科技股份有限公司 3d人脸点云重建方法及系统
CN112258512B (zh) * 2020-10-16 2023-05-26 抖音视界有限公司 点云分割方法、装置、设备和存储介质
CN112633376A (zh) * 2020-12-24 2021-04-09 南京信息工程大学 基于深度学习的点云数据地物分类方法、系统与存储介质
CN114842260B (zh) * 2022-05-10 2024-06-04 杭州师范大学 一种基于蓝图分离卷积的点云分类方法
CN117058401B (zh) * 2023-08-15 2024-03-15 北京学图灵教育科技有限公司 复杂环境感知的高精度点云分类自适应下采样方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201721819D0 (en) * 2017-12-22 2018-02-07 Zivid Labs As Method and system for generating a three-dimensional image of an object
EP3340106A1 (en) * 2016-12-23 2018-06-27 Hexagon Technology Center GmbH Method for assigning particular classes of interest within measurement data
CN108415032A (zh) * 2018-03-05 2018-08-17 中山大学 一种基于深度学习与激光雷达的点云语义地图构建方法
CN108596961A (zh) * 2018-04-17 2018-09-28 浙江工业大学 基于三维卷积神经网络的点云配准方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9164978B2 (en) * 2008-06-17 2015-10-20 Microsoft Technology Licensing, Llc Identifying objects within a multidimensional array
US11379688B2 (en) * 2017-03-16 2022-07-05 Packsize Llc Systems and methods for keypoint detection with convolutional neural networks
US10460180B2 (en) * 2017-04-20 2019-10-29 GM Global Technology Operations LLC Systems and methods for visual classification with region proposals
US10861196B2 (en) * 2017-09-14 2020-12-08 Apple Inc. Point cloud compression
US11004202B2 (en) * 2017-10-09 2021-05-11 The Board Of Trustees Of The Leland Stanford Junior University Systems and methods for semantic segmentation of 3D point clouds
US10970553B2 (en) * 2017-11-15 2021-04-06 Uatc, Llc Semantic segmentation of three-dimensional data
CN108171748B (zh) 2018-01-23 2021-12-07 哈工大机器人(合肥)国际创新研究院 一种面向机器人智能抓取应用的视觉识别与定位方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3340106A1 (en) * 2016-12-23 2018-06-27 Hexagon Technology Center GmbH Method for assigning particular classes of interest within measurement data
GB201721819D0 (en) * 2017-12-22 2018-02-07 Zivid Labs As Method and system for generating a three-dimensional image of an object
CN108415032A (zh) * 2018-03-05 2018-08-17 中山大学 一种基于深度学习与激光雷达的点云语义地图构建方法
CN108596961A (zh) * 2018-04-17 2018-09-28 浙江工业大学 基于三维卷积神经网络的点云配准方法

Also Published As

Publication number Publication date
CN112912928A (zh) 2021-06-04
US11676005B2 (en) 2023-06-13
US20200151557A1 (en) 2020-05-14
EP3857510A1 (en) 2021-08-04
WO2020098674A1 (en) 2020-05-22
EP3857510A4 (en) 2021-11-24

Similar Documents

Publication Publication Date Title
CN112912928B (zh) 用于从点云中动态选择特征相关点的深度神经网络的方法和系统
CN110298262B (zh) 物体识别方法及装置
CN111860155B (zh) 一种车道线的检测方法及相关设备
CN112015847B (zh) 一种障碍物的轨迹预测方法、装置、存储介质及电子设备
EP3867862A1 (en) Method and system for converting point cloud data for use with 2d convolutional neural networks
WO2023131065A1 (zh) 一种图像处理方法、一种车道线检测方法及相关设备
CN113228043A (zh) 移动平台基于神经网络的障碍物检测及关联的系统和方法
CN113412505A (zh) 用于对通过探测和测距传感器获得的点云进行有序表示和特征提取的系统和方法
US20230072731A1 (en) System and method for panoptic segmentation of point clouds
CN112085789B (zh) 位姿估计方法、装置、设备及介质
CN113313763A (zh) 一种基于神经网络的单目相机位姿优化方法及装置
CN114792372A (zh) 一种基于多头两级注意力的三维点云语义分割方法及系统
CN112633064B (zh) 一种场景识别方法和电子设备
CN113168558A (zh) 用于图像数据的语义分割的方法、人工神经网络、设备、计算机程序和机器可读存储介质
US20210064872A1 (en) Object detecting system for detecting object by using hierarchical pyramid and object detecting method thereof
CN116310673A (zh) 一种基于点云与图像特征融合的三维目标检测方法
CN116052026A (zh) 一种无人机航拍图像目标检测方法、系统及存储介质
US12079970B2 (en) Methods and systems for semantic scene completion for sparse 3D data
CN114118247A (zh) 一种基于多传感器融合的无锚框3d目标检测方法
US20240185612A1 (en) Systems and methods for controlling a vehicle by detecting and tracking objects through associated detections
CN116071442A (zh) 三维点云数据的处理方法、装置和无人车
CN115223146A (zh) 障碍物检测方法、装置、计算机设备和存储介质
CN117036658A (zh) 一种图像处理方法及相关设备
CN116783620A (zh) 根据点云的高效三维对象检测
Priya et al. Vehicle Detection in Autonomous Vehicles Using Computer Vision Check for updates

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant