CN117152696A - 用于为机器学习模型生成输入数据的方法 - Google Patents

用于为机器学习模型生成输入数据的方法 Download PDF

Info

Publication number
CN117152696A
CN117152696A CN202310644690.3A CN202310644690A CN117152696A CN 117152696 A CN117152696 A CN 117152696A CN 202310644690 A CN202310644690 A CN 202310644690A CN 117152696 A CN117152696 A CN 117152696A
Authority
CN
China
Prior art keywords
sensor
target sensor
point cloud
points
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310644690.3A
Other languages
English (en)
Inventor
T·纽恩贝格
F·法翁
T·米查尔克
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of CN117152696A publication Critical patent/CN117152696A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/588Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0475Generative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/09Supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/094Adversarial learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/34Smoothing or thinning of the pattern; Morphological operations; Skeletonisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • 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/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • G06V20/58Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
    • G06V20/582Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of traffic signs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • 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/20036Morphological image processing
    • 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/20081Training; Learning
    • 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/20228Disparity calculation for image-based rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/56Particle system, point based geometry or rendering

Landscapes

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

Abstract

按照各种实施方式,描述了一种用于为机器学习模型生成输入数据的方法,该方法具有:针对至少一个传感器,确定具有由该传感器所探测到的在该传感器的周围环境中的表面的点的点云;通过针对该至少一个传感器按照目标传感器相对于该至少一个传感器的相对位置将所确定的点云的点转换成来自该目标传感器的视角的点,为该目标传感器生成初步目标传感器点云;借助于该初步目标传感器点云,为该目标传感器生成目标传感器点云,其中,在该目标传感器点云中,去除由于对其来说在该初步目标传感器点云中存在点的一个或多个表面而无法被该目标传感器探测到的点;而且使用该目标传感器点云,作为用于该机器学习模型的输入。

Description

用于为机器学习模型生成输入数据的方法
技术领域
本公开涉及用于为机器学习模型生成输入数据的方法。
背景技术
随着感知任务的复杂性越来越高,通常也会使用越来越复杂的机器学习模型,例如具有复杂架构的神经网络,为了对这些越来越复杂的机器学习模型进行训练,进而需要数量越来越多的带注释的训练数据。这些训练数据还必须高度多样化,并且尽可能包含所有发生的情况,以便实现尽可能好的将系统泛化到未知数据的能力并且避免过度拟合(Overfitting)。为此,除其他事项外,计划和执行大型测量活动,在这些大型测量活动中,使用测量车辆在多个不同情况和地点记录大量数据。然后,利用感知任务的相关的所希望的输出数据(即训练输出数据、即地面实况(Ground-Truth)数据)来实现对这样记录的训练输入数据的(手动)注释。这种数据集的创建相对应地带来高时间花费和成本。
与此相对应地,值得期望的是:可以使用这种数据集来训练多个机器学习模型。
发明内容
按照各种实施方式,提供了一种用于为机器学习模型生成输入数据的方法,该方法具有:针对至少一个传感器,确定具有由该传感器所探测到的在该传感器的周围环境中的表面的点的点云;通过针对该至少一个传感器按照目标传感器相对于该至少一个传感器的相对位置将所确定的点云的点转换成来自该目标传感器的视角的点,为该目标传感器生成初步目标传感器点云;借助于该初步目标传感器点云,为该目标传感器生成目标传感器点云,其中,在该目标传感器点云中,去除由于对其来说在该初步目标传感器点云中存在点的一个或多个表面而无法被该目标传感器探测到的点;而且使用该目标传感器点云,作为用于该机器学习模型的输入。
如果机器学习模型应该针对来自目标传感器的视角的传感器数据来被训练或者是针对来自目标传感器的视角的传感器数据来被训练的,但是只有来自至少一个另外的传感器的视角的传感器数据可用,则上述方法能够对该机器学习模型进行训练并且借助于该机器学习模型进行推理。
应该注意的是:如下用例是可能的:从该初步目标传感器点云以外的一个或多个其它点云中生成该目标传感器点云。例如,从激光雷达(LiDAR)点云生成该初步目标传感器点云,从该初步目标传感器点云确定这些表面,并且然后从一个或多个雷达点云生成该目标传感器点云,其中,这些表面被考虑(即不记录或者移除由于所确定的表面而对于(雷达)目标传感器来说无法探测到的点)。但是,通过移除无法探测到的表面点并且必要时补充表面点,也可以简单地从该初步目标传感器点云生成该目标传感器点云。
在下文说明了各种实施例。
实施例1是用于为机器学习模型生成输入数据的方法,如上所述。
实施例2是根据实施例1所述的方法,其中,在生成该目标传感器点云时,给该初步目标传感器点云补充如下表面的点,对于这些表面来说,在该初步目标传感器点云中包含表面点,而且这些表面对于目标传感器来说当存在相应的表面时能被探测到。
借此,从目标传感器的视角生成更真实的输入数据,原因在于这些输入数据保留了会被目标传感器探测到的点。
实施例3是根据实施例1或2所述的方法,该方法具有:通过如下方式来生成该目标传感器点云:生成深度图像,该深度图像表示目标传感器的视角的该初步目标传感器点云的点的方位;对该深度图像进行形态学开操作;并且按照经过形态学开操作的深度图像来生成该目标传感器点云。
以这种方式,可以高效地确定哪些点对于目标传感器来说可见,原因在于:通过该形态学开操作,对于深度图像中的被遮挡的点的表示来说,深度信息被校正为使得只有能通过目标传感器检测到的点才由该深度图像表示。
实施例4是根据实施例1或2所述的方法,该方法具有:通过如下方式来生成该目标传感器点云:生成视差图像,该视差图像表示目标传感器的视角的该初步目标传感器点云的点的方位;对该视差图像进行形态学闭操作;并且按照经过形态学闭操作的视差图像来生成该目标传感器点云。
与深度图像一样,视差图像的这种应用能够高效地确定哪些点对于目标传感器来说可见。
实施例5是根据实施例1至4中任一项所述的方法,该方法具有:针对多个传感器中的每个传感器,确定具有由该传感器所探测到的在该传感器的周围环境中的表面的点的相应点云;而且通过针对所述多个传感器中的每个传感器按照目标传感器相对于该传感器的相对位置将相应的所确定的点云的点转换成来自该目标传感器的视角的点,为该目标传感器生成该初步目标传感器点云;而且将转换后的点合并为该初步点云。
由此,可以针对目标传感器实现更完整的图像,原因在于:对于所述多个传感器中的个别传感器来说无法被探测到的表面点对于目标传感器来说可以被检测到(即例如可见)。
实施例6是根据实施例1至5中任一项所述的方法,该方法具有:针对具有多个目标传感器的目标传感器阵列,生成相应的目标传感器点云;而且使用所生成的目标传感器点云,作为用于该机器学习模型的输入。
因此,利用上述方法,也可以生成多个目标传感器的传感器数据(其中,每个都如上所述地生成,即该方法例如被多次执行,并且这些结果互相联系)。换言之,不是模拟单个传感器的传感器数据,而是模拟整个传感器阵列的传感器数据。
实施例7是根据实施例1至5中任一项所述的方法,该方法具有:借助于该目标传感器点云来训练该机器学习模型,以处理来自目标传感器的视角的传感器数据。
该目标传感器点云尤其可以被用于训练该机器学习模型。借此,即使未曾从目标传感器的视角记录传感器数据,也可以对该目标传感器进行训练。
实施例8是根据实施例7所述的方法,该方法具有:获取针对该至少一个传感器所确定的点云的点的地面实况信息;将该地面实况信息转换成该目标传感器点云的点的地面实况信息;并且借助于作为训练输入数据的该目标传感器点云以及转换后的地面实况信息,在使用监督学习的情况下,训练该机器学习模型。
借此,该机器学习模型可以以借助于地面实况信息来监督的方式被训练,以处理来自目标传感器的视角的传感器数据,这些传感器数据是针对一个或多个原始点云生成或存在的。
实施例9是根据实施例7或8所述的方法,该方法具有:针对具有多个目标传感器的目标传感器阵列,生成相应的目标传感器点云;并且借助于所生成的目标传感器点云来训练该机器学习模型。
这样,可以训练机器学习模型来处理传感器阵列的传感器数据。
因此,利用上述方法,也可以生成多个目标传感器的传感器数据(其中,每个都如上所述地生成,即该方法例如被多次执行,并且这些结果互相联系),这些传感器数据然后可以被用于训练机器学习模型。换言之,不是模拟单个传感器的传感器数据,而是模拟整个传感器阵列的传感器数据。
实施例10是一种传感器数据处理系统,该传感器数据处理系统被设立为执行根据实施例1至9中任一项所述的方法。
实施例11是一种计算机程序,该计算机程序具有指令,当这些指令由处理器执行时,这些指令引起:该处理器执行根据实施例1至9中任一项所述的方法。
实施例12是一种计算机可读介质,该计算机可读介质存储指令,当这些指令由处理器执行时,这些指令引起:该处理器执行根据实施例1至9中任一项所述的方法。
附图说明
在附图中,相似的附图标记通常涉及在所有不同视图中的相同部分。这些附图不一定按比例尺,其中重点反而通常在于呈现本发明的原理。在下文的描述中,参考如下附图来描述不同方面。
图1示出了车辆。
图2示出了训练传感器阵列和目标传感器在车辆上的定位的示例。
图3A和图3B阐明了根据原始训练数据集对目标传感器训练数据集的模拟。
图4示出了流程图,该流程图呈现了按照实施方式的用于为机器学习模型生成输入数据的方法。
具体实施方式
下文的详细描述涉及随附的附图,这些附图为了阐述而示出了本公开的其中可实施本发明的特殊细节和方面。在不偏离本发明的保护范围的情况下,可以使用其它方面并且可以执行结构更改、逻辑更改和电更改。本公开的不同方面不一定是相互排斥的,因为本公开的一些方面可以与本公开的一个或多个其它方面相结合,以便形成新的方面。
在下文更详细地描述了各种示例。
在机器学习的情况下,学习将输入数据映射到输出数据的函数。在监督学习(例如训练神经网络或其它模型)的情况下,根据为每个输入预先给定所希望的输出(例如输入数据的所希望的分类)的输入数据集(也称为训练数据集),确定该函数,使得该函数尽可能好地描绘从输入到输出的这种分配。
应用这种机器学习函数的示例是在数字图像中的对象探测、必要时包括分类在内,或者在数字图像中的语义分割,例如用于自主驾驶,如图1中所阐明的那样。
图1示出了(例如自主)车辆101。
应该注意的是:在下文,图像或图像数据非常普遍地被理解成表示一个或多个对象或图案的数据的集。图像数据可以由传感器来提供,这些传感器测量可见光或不可见光、诸如红外或紫外光、超声波或雷达波,或者其它电磁信号或声音信号。
在图1的示例中,车辆101、例如载客车(PKW)或载货车(LKW)配备有车辆控制装置102。
车辆控制装置102具有数据处理组件,例如处理器(例如CPU(中央单元))103和存储器104,该存储器用于存储车辆控制装置102按照其来工作的控制软件和由处理器103来处理的数据。
例如,所存储的控制软件(计算机程序)具有命令,当处理器执行这些命令时,这些命令引起:处理器103实现机器学习(ML)模型107。
存储在存储器104中的数据例如可包含由一个或多个传感器105检测的传感器数据。所述一个或多个传感器105例如可以借助于激光雷达(LiDAR)来扫描车辆101的周围环境。
车辆控制装置102可基于传感器数据来确定:是否有对象以及有哪些对象、例如像交通标志或道路标记那样的固定对象或者像行人、动物和其它车辆那样的可移动对象存在于车辆101的周围环境中。
然后,车辆101可以由车辆控制装置102按照对象确定的结果来控制。这样,车辆控制装置102例如可以控制执行器106(例如制动器),以便控制该车辆的速度,例如以便使该车辆制动。因此,车辆控制装置102可以承担驾驶员辅助系统(高级驾驶辅助系统(AdvancedDriver Assistance System),ADAS)和/或自主驾驶(Autonomous Driving,AD)的任务。
对于这种任务来说,通常需要车辆的周围环境的准确感知和表示。常见的问题例如是对象探测、语义分割或者根据一个或多个传感器(激光雷达、雷达、视频等等)105的传感器数据确定占用网格。特别是在最近,在这些学科中已经可以使用如深度学习(DeepLearning)等数据驱动的ML方法取得长足的进步。此类方法的突出之处在于:感知系统(即用于如对象探测或语义分割等感知任务的ML模型)的参数可以在使用监督学习的情况下被训练,也就是说基于带注释的数据集,该带注释的数据集由输入数据和相关的所希望的输出数据(称为地面实况(Ground Truth),监督学习(Supervised Learning))组成。
在设计和训练ML模型时的一大挑战是ML模型的所希望的泛化能力,即在感知任务的情况下是经过训练的感知系统即使针对与训练数据集的训练输入数据或情况有区别的输入数据或情况也提供正确结果的能力。一方面,这些区别可能是根本性的区别。例如,仅利用红色车辆训练过的视频对象探测器通常并不能识别蓝色车辆。但是,另一方面,更细微的区别,诸如提供训练数据的传感器相对于提供用于后续运行(即推理)的输入数据的传感器而言的轻微旋转或分辨率降低,也可能导致:ML模型的结果的质量显著下降。
为了改善该泛化能力并且为了成本高效地增加训练数据量,可以使用数据增强方法,利用这些数据增强方法从现有的数据中推导出其它训练数据。已知的方法例如是传感器数据的几何转换或畸变(Verzerrung)或者添加干扰,以便为ML模型生成附加的训练输入数据。用于对基于ML的感知系统进行泛化的能力仍然是一大挑战,原因在于即使通过增强也几乎无法对输入数据的所有所能想到的变化进行建模。
因为出于这些原因,训练数据集的创建带来高工作量和成本,所以希望在尽可能多的应用和项目中使用可用的训练数据集。然而,与此同时,为了感知系统的最佳训练,需要带注释的数据,这些带注释的数据的特性和分布在系统的实际使用期间(即在推理时)尽可能接近输入数据。
由于在不同的项目和应用中通常也使用不同的实验载体和传感器配置,所以训练数据集的广泛适用性由此受到限制。具体而言,不同实验载体/项目的数据可以彼此间或者与训练数据集的数据尤其在以下几点有区别:
·传感器的安装位置不同(外部校准);
·尽管传感器模型的结构相同,但是固有传感器特性不同(固有校准);
·传感器的数量不同;
·传感器模型不同,这些传感器模型分别具有不同的:
o作用范围,
o分辨率,
o噪声行为等等。
即使使用与在测量活动中的车辆类似的车辆或者甚至使用同一车辆,借此所获得的训练数据也可能在所提到的点中的一些点上与来自过去执行的测量活动中的带注释的训练数据有区别。此外,在应用中的数据的特性和分布也可能随着时间发生变化,例如因为最终数量、特定传感器模型或者这些传感器的确切安装位置从一开始就不固定。此外,也可能的是:被设想用于该应用的传感器在项目开始时还完全不可用,并且只有在该项目的过程中才可以使用。
用于训练数据的域适应(Domain Adaptation)的一种方法是生成对抗网络(Generative Adverserial Networks,GANs),利用这些生成对抗网络,学习来自训练数据集的域的数据到感知系统的目标域的映射。然而,为此,为了学习该映射,除了原始训练数据集之外,需要来自目标域的另一带注释的数据集,不过,该另一带注释的数据集可以在范围上更小。然而,由于感知系统的为此所需的扩展网络结构,训练时的复杂性显著增加,而且还需要目标域的带注释的数据可用,这尤其是在传感器配置可变的情况下导致额外成本。
因此,按照各种实施方式,提供了一种方法,该方法能够特定于来自特定传感器(或具有多个传感器的传感器阵列)的训练数据地对(尤其是用于感知任务、即基于ML的感知系统的)ML模型进行训练,其中,用于该训练的训练数据集在此不一定必须是由与在感知系统的实际使用中所使用的传感器(或传感器阵列)相同的传感器(或相同的传感器阵列)记录的。
在下文,为了简单起见,即使替代目标传感器也可能出现目标传感器阵列,也表述成目标传感器,该目标传感器提供输入数据,ML模型应该能够对这些输入数据进行处理。相反,目标传感器阵列也被理解成该目标传感器阵列只包含一个(目标)传感器的可能性。用于(例如在测量活动中)记录传感器数据的一个或多个传感器称为一个或多个训练传感器,这些传感器数据然后被用于训练。
为了在实践中在使用由训练传感器提供的传感器数据(例如传感器原始数据)的情况下训练ML模型以处理目标传感器的数据,针对该训练,对这些传感器数据以及——只要适用于相应的应用——训练数据集的相关注释进行转换,使得与在实践中预期的输入数据尽可能接近地模拟这些特性和分布。这样,感知系统因此利用与目标应用的数据更好地对应的模拟数据来被训练。因此,在实际使用中的输入数据与训练数据的区别不那么大,并且感知系统不必泛化得那么强烈。
利用该方法,可用的数据集可以更容易被用于训练在具有另外的传感器(阵列)配置的应用中的感知系统。以这种方式,尤其是在传感器(阵列)配置可能发生强烈变化的情况下,可以避免用于创建新的训练数据集的大工作量,而且同时可以实现对感知系统的最佳训练。
类似地,利用所描述的方法,可以显著提高在没有特定的训练数据集可用的应用中的感知系统的结果质量,例如因为相对应的传感装置还完全不可用或者因为创建训练数据集是不经济的。
在下文,作为实施例,描述了为了使用激光雷达传感器阵列(作为传感器105的示例)而对深度学习对象探测器(作为ML模型107的示例)的训练。
图2示出了训练传感器201(例如在车顶上)的阵列和目标传感器202在车辆200上的定位的示例。
即,在该实施例中,由或已经由激光雷达传感器阵列201(即训练传感器或训练传感器阵列)提供的传感器数据(带有相关的注释)应该被用于训练特定于目标传感器的深度学习对象探测器,其中在该示例中的目标传感器202不仅在安装位置方面而且在角分辨率和视野方面都不同于训练传感器。
由训练传感器提供的带注释的传感器数据称为原始训练数据集或者初始训练数据集。从该原始训练数据集生成用于ML模型的目标传感器训练数据集,使得该ML模型能够在它获得由目标传感器202提供的传感器数据作为输入数据时执行相应的任务(这里以对象探测为例),即在该实施例中,特定于前保险杠中的目标传感器202的传感器数据地训练感知系统。
因此,在该示例中,原始训练数据集由3D点云(每个训练传感器201有一个)和相关的地面实况对象探测列表组成,其中每个探测都包含不同的对象特性(诸如还有分类),但是至少包含对象位置。
图3A和图3B阐明了根据原始训练数据集对目标传感器训练数据集的模拟。
为了简化图示,这里只考虑经过相应的点云的二维截面,即只考虑单个仰角。
首先,训练传感器201的各个3D点云,在使用各个传感器201、202的已知的安装位置的情况下并且必要时在考虑不同的测量时间点和测量车辆的自身运动的情况下,被转换到目标传感器的坐标系中,即被转换到具有与目标传感器的(假设)安装位置对应的原点和取向的坐标系中。结果是目标传感器训练数据集的初步版本。这样,训练传感器的3D点云的点被转换成目标传感器的视角。
在当前示例中,假设训练传感器(这里以两个训练传感器306为例)已经检测到了在两个对象的表面303、304上的点301、302。
在图3A的图示中,这些点已经被转换到目标传感器305的坐标系中。
在该转换时,来自位于目标传感器的视野307之外的点云中的所有3D点都直接被丢弃(即没有被纳入到目标传感器训练数据集中或者从中被移除)。首先,所有其余的3D点被纳入到目标传感器训练数据集中。然后,针对目标传感器训练数据集的这个初步版本,创建2D深度图像(这里由于经过点云的二维截面,该深度图像只有一行),其中,水平轴线对应于方位角并且垂直轴线对应于仰角。如果在相应的(角)位置(从目标传感器305的视角,即在目标传感器305的坐标系中)存在训练传感器306之一的点云的点(而且因此也在目标传感器训练数据集的当前版本中),则像素值说明了到坐标原点(即例如目标传感器305的位置)的距离。如果在相应的(角)位置不存在训练传感器306之一的点云的点,则像素值具有预先给定的标准值(例如表示无穷大的值)。
根据目标传感器的所希望的角分辨率,选择深度图像的轴线的离散化。分辨率这里通过辐射状地从目标传感器位置发出的线308来示出:视野307中的通过两条这样的线308所界定的每个扇区都对应于一个像素值(在这种情况下,在深度图像的用于所考虑的仰角的相应的行中,对于其它仰角来说类似)。
如果训练传感器的点云的超过一个3D点落入深度图像的同一离散像素(即落入用于特定仰角的同一扇区),则除了到坐标原点的距离最小的点以外的所有点都被丢弃。在该示例中,这些是点302。即,深度图像这里首先包含点301的像素值(这些像素值不同于标准值)。
尤其是在相比于目标传感器具有低的角分辨率的训练传感器的情况下,在这样填充的深度图像中保留许多在其中没有录入距离值的像素。针对这些像素,相对应地录入标准值,例如任意的大的距离值——在下文用D来表示。然而,这在某些情况下是不合理的:例如,在点301、302中的任何一个点都不存在于其中的扇区310中,实际上应该存在与表面303对应的深度值,该表面虽然通过在该表面303上的点301来表示,但是对于该表面来说,在扇区310中不存在来自训练传感器的点云中的点301。此外,基于由于训练传感器和目标传感器的安装位置不同所形成的可能的视差,可以选择从目标传感器的视角实际被其它对象遮挡的3D点:在所示出的示例中,在扇区311和312中,针对在后方的表面304上的点会录入该点的深度值,即使该点实际上会被前方的表面303遮挡。
为了校正深度图像中的错误的像素值(尽管存在表面,但是是标准值;或者尽管表面的点被遮挡,但是是该点的距离值)的这两种情况,使用结构元素来对该深度图像进行形态学开操作,即依次执行形态学操作腐蚀和膨胀。
结果在图3B中示出:补充了在前方的表面303上的点312的像素值,使得尤其是对于被其遮挡的点309来说,像素值已被覆盖。
根据目标传感器305的角分辨率或者训练传感器306的分辨率,选择结构元素的大小。
应该注意的是:以这种方式通过内插来新生成的点312可以被纳入到目标传感器训练数据集中,或者也可以只被用于将被其遮挡的点309从该目标传感器训练数据集中移除(或者阻止针对该目标传感器训练数据集生成这些点)。在第二种情况下,例如会丢弃在深度图像的其相关像素中距离(即像素值)由于形态学开操作而显著减小(例如负变化大于阈值)的所有3D点。
可以从深度图像生成最终的目标传感器训练数据集,其方式是:针对经过开操作的深度图像的每个像素,根据该像素的方位角、仰角和距离来计算目标传感器的目标传感器训练数据集的3D点,并且这样构建目标传感器的整个点云。可选地,针对具有该目标传感器训练数据集的初步版本的点云的相关的且未被丢弃的3D点的像素,也可以采用这些3D点。在此,对于即使在形态学开操作之后仍包含距离值D的像素,不计算3D点,因为在那里没有表面被训练传感器探测到。
替选于使用具有形态学开操作的深度图像,可以通过将3D点录入视差图像(=相反的距离)并且然后进行形态学闭操作(即膨胀然后腐蚀)来获得等效结果。这可以类似于使用如上所述的深度图像地完成。
原始训练数据集的带注释的地面实况对象探测的位置以与3D点云类似的方式被转换到目标传感器的坐标系中。处在目标传感器的视野之外的探测可以被直接丢弃。针对其余的对象探测,检查目标传感器的模拟3D点云(即来自目标传感器训练数据集中的输入数据)是否包含所探测到的对象的点,例如其方式是将这些3D点与3D对象位置进行比较。
相对应地,没有目标传感器的模拟3D点的对象探测同样被丢弃。
为了训练特定于目标传感器的深度学习对象探测器,如上所述地从原始训练数据集模拟目标传感器训练数据集。可选地,这可以预先被执行一次,并且这样生成的目标传感器训练数据集可以被存储,或者在训练期间作为在访问原始训练数据时的预处理步骤来被执行。该训练的所有其它方面(架构、(超)参数等等)可以像在没有这种模拟的训练时那样被处理。只有在增强的情况下才注意:在目标传感器的视野之外不生成数据或标签。
为了训练用于具有多个传感器的目标传感器阵列的对象探测器,针对该目标传感器阵列的每个目标传感器,即在多个目标传感器的情况下多次执行对目标传感器训练数据集的上述生成(模拟)。以这种方式,为每个单独的目标传感器模拟特定的训练数据,这些特定的训练数据然后可以相结合地被用于训练整个目标传感器阵列。
上文依据使用激光雷达传感器数据进行对象探测的任务所描述的用于训练特定于传感器(阵列)的感知系统的方法可以被扩展到其它任务领域。在激光雷达传感器数据的语义分割的上下文中,可以以与所描述的对象探测的情况类似的方式根据训练传感器的3D点云来模拟目标传感器的3D点云。可以从原始标签生成相关的逐点地带注释的语义标签,其方式是:除了深度图像之外,类似地生成带有语义标签的相同大小的图像。利用对语义标签的排名(Rangfolge)的定义,该图像同样可以通过形态学开操作来被进一步处理,以便然后从中读取用于目标传感器的输入训练数据的语义标签。
只要在训练数据集中,除了视频数据之外,还有3D数据、例如激光雷达传感器或者立体视频记录的3D数据可用,所描述的方法就也可以被扩展到基于视频的对象识别和分割的应用。为此,所测量的图像强度可以借助于固有和外部传感器校准被分配给3D点。然后,可以应用所描述的模拟方法,其中,除了深度图像之外,携带并且进一步处理带有图像强度的相同大小的图像。然后,从带有相关的所模拟的图像强度的模拟3D点,可以生成目标传感器的模拟图像。类似于此,也可以模拟目标传感器的带注释的标签。
只要在训练数据集中,除了雷达数据之外,还有密集3D数据、例如激光雷达传感器或者立体视频记录的密集3D数据可用,所描述的方法就也可以被扩展到基于雷达的对象识别和分割的应用。替代训练数据集的由于测量原理而相对稀疏并且借此不适合于对周围环境中的表面进行建模的雷达数据,可用的密集3D数据根据上述方法被用于从目标传感器的视角对周围环境的表面进行建模。然后,该模型可以被用于:从原始训练数据集中丢弃在目标传感器的坐标系中被遮挡的雷达测量;并且生成新的测量。在选择3D雷达测量时,必须考虑(雷达)目标传感器的特性,例如所测量的3D点的总数或者反射的空间和光谱可分离性。只要目标传感器的安装位置与训练传感器的位置没有显著区别,就可以使用原始3D点的速度近似作为模拟3D点的多普勒速度。
上述用于模拟目标传感器的传感器(原始)数据的方法也可以在线使用,例如在车辆中或者通常在机器人装置中,以便模拟未安装的目标传感器而且在实际运行中使用和检查该目标传感器。这意味着:不一定(训练)输入数据从原始训练数据集生成目标传感器训练数据集,而是通常从原始输入数据集生成目标传感器输入数据集(其中,这些输入数据集为了该训练而配备有地面实况信息,但是对于推理来说也可以是没有地面实况信息的输入数据集;相对应地,提供原始输入数据集的一个或多个传感器不一定是“训练”传感器,即所述一个或多个传感器不一定提供训练数据)。
利用所描述的方法,可以从训练传感器的原始数据中模拟未实际安装的传感器的原始数据。然而,该方法无法模拟在训练传感器完全未曾检测到数据的区域内的信息。也就是说,目标传感器的视野应该被训练传感器的视野所覆盖。否则,在这些区域内的所模拟的数据保持为空,并且借此会不同于实际存在的目标传感器的数据。从这个角度来看,利用所描述的方法,仍然可能的是:也对其假设的安装位置不在所安装的训练传感器之间的目标传感器进行模拟,以训练感知系统,例如对于前保险杠中的目标传感器来说,基于利用车顶上的激光雷达传感器所记录的传感器数据,如图2中所示。因此,只要目标传感器足够靠近训练传感器阵列,就可以利用所描述的方法通过特定于传感器的训练来实现经改善的性能。
总而言之,按照各种实施方式,提供了一种如图4中所示的方法。
图4示出了流程图400,该流程图呈现了按照实施方式的用于为机器学习模型生成输入数据的方法。
在401,针对至少一个传感器,确定具有由该传感器所探测到的在该传感器的周围环境中的表面的点的点云。
在402,通过针对该至少一个传感器按照目标传感器相对于该至少一个传感器的相对位置将所确定的点云的点转换成来自该目标传感器的视角的点,为该目标传感器生成初步目标传感器点云。
在403,借助于该初步目标传感器点云,为该目标传感器生成目标传感器点云,其中,在该目标传感器点云中,去除由于对其来说在该初步目标传感器点云中存在点的一个或多个表面而无法被该目标传感器探测到的点。
在404,使用该目标传感器点云,作为用于该机器学习模型的输入。
图4的方法可以通过具有一个或多个数据处理单元的一个或多个计算机来被执行。术语“数据处理单元”可以被理解成能够处理数据或信号的任何类型的实体。例如,这些数据或信号可以按照至少一个(也就是说一个或超过一个)特定功能来被处理,所述功能由数据处理单元来执行。数据处理单元可以包括模拟电路、数字电路、逻辑电路、微处理器、微控制器、中央单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、可编程门阵列(FPGA)的集成电路或者它们的任意组合或者由这些来构造。用于实现本文中更详细地描述的相应功能的任何其它方式也可以被理解成数据处理单元或者逻辑电路装置。这里详细描述的方法步骤中的一个或多个可以由数据处理单元通过一个或多个特定功能来实施(例如实现),这些功能由该数据处理单元来执行。
图4的方法例如可以用于(根据该机器学习模型的输出)生成针对机器人装置的控制信号。术语“机器人装置”可以被理解成涉及任何(具有其移动被控制的机械部分的)技术系统,诸如受计算机控制的机器、车辆、家用电器、电动工具、制造机器、私人助理或门禁系统。借助于输入数据,可以对该机器学习模型进行训练,以便生成输出数据,基于该机器学习模型来控制这种技术系统,并且然后相对应地在使用该机器学习模型的情况下控制该技术系统。
各种实施方式可以接收和使用诸如视频、雷达、激光雷达(LiDAR)、超声、运动、热成像等各种传感器的传感器信号。该机器学习模型对传感器数据进行处理。这可包括对传感器数据的分类或者在传感器数据方面的语义分割的执行,例如以便探测(在获得了这些传感器数据的环境中的)对象的存在。实施方式可以被用于训练机器学习系统并且控制机器人、例如由机器人操纵器自主地控制机器人,以便在不同场景下实现不同的操纵任务。尤其是,实施方式能应用于控制和监视操纵任务的实施,例如在装配线中。
尽管这里呈现和描述了特定实施方式,但是本领域技术人员认识到:所示出和描述的特定实施方式可以被替换成多种替代和/或等效的实现方案,而不偏离本发明的保护范围。本申请应该涵盖这里所讨论的特定实施方式的任何调整或变化。因而旨在仅通过权利要求书及其等效物来限制本发明。

Claims (12)

1.一种用于为机器学习模型生成输入数据的方法,所述方法具有:
针对至少一个传感器,确定具有由该传感器所探测到的在该传感器的周围环境中的表面的点的点云;
通过针对所述至少一个传感器按照目标传感器相对于所述至少一个传感器的相对位置将所确定的点云的点转换成来自所述目标传感器的视角的点,为所述目标传感器生成初步目标传感器点云;
借助于所述初步目标传感器点云,为所述目标传感器生成目标传感器点云,其中,在所述目标传感器点云中,去除由于对其来说在所述初步目标传感器点云中存在点的一个或多个表面而无法被所述目标传感器探测到的点;而且
使用所述目标传感器点云,作为用于所述机器学习模型的输入。
2.根据权利要求1所述的方法,其中,在生成所述目标传感器点云时,给所述初步目标传感器点云补充如下表面的点,对于所述表面来说,在所述初步目标传感器点云中包含表面点,而且所述表面对于所述目标传感器来说当存在相应的表面时能被探测到。
3.根据权利要求1或2所述的方法,所述方法具有:通过如下方式来生成所述目标传感器点云:生成深度图像,所述深度图像表示所述目标传感器的视角的所述初步目标传感器点云的点的方位;对所述深度图像进行形态学开操作;并且按照经过形态学开操作的深度图像来生成所述目标传感器点云。
4.根据权利要求1或2所述的方法,所述方法具有:通过如下方式来生成所述目标传感器点云:生成视差图像,所述视差图像表示所述目标传感器的视角的所述初步目标传感器点云的点的方位;对所述视差图像进行形态学闭操作;并且按照经过形态学闭操作的视差图像来生成所述目标传感器点云。
5.根据权利要求1至4中任一项所述的方法,所述方法具有:针对多个传感器中的每个传感器,确定具有由该传感器所探测到的在该传感器的周围环境中的表面的点的相应点云;而且通过针对所述多个传感器中的每个传感器按照目标传感器相对于该传感器的相对位置将相应的所确定的点云的点转换成来自所述目标传感器的视角的点,为所述目标传感器生成所述初步目标传感器点云;而且将转换后的点合并为所述初步点云。
6.根据权利要求1至5所述的方法,所述方法具有:针对具有多个目标传感器的目标传感器阵列,生成相应的目标传感器点云;而且使用所生成的目标传感器点云,作为用于所述机器学习模型的输入。
7.根据权利要求1至5中任一项所述的方法,所述方法具有:借助于所述目标传感器点云来训练所述机器学习模型,以处理来自所述目标传感器的视角的传感器数据。
8.根据权利要求7所述的方法,所述方法具有:获取针对所述至少一个传感器所确定的点云的点的地面实况信息;将所述地面实况信息转换成所述目标传感器点云的点的地面实况信息;并且借助于作为训练输入数据的所述目标传感器点云以及转换后的地面实况信息,在使用监督学习的情况下,训练所述机器学习模型。
9.根据权利要求7或8所述的方法,所述方法具有:针对具有多个目标传感器的目标传感器阵列,生成相应的目标传感器点云;并且借助于所生成的目标传感器点云来训练所述机器学习模型。
10.一种传感器数据处理系统,所述传感器数据处理系统被设立为执行根据权利要求1至9中任一项所述的方法。
11.一种计算机程序,所述计算机程序具有指令,当所述指令由处理器执行时,所述指令引起:所述处理器执行根据权利要求1至9中任一项所述的方法。
12.一种计算机可读介质,所述计算机可读介质存储指令,当所述指令由处理器执行时,所述指令引起:所述处理器执行根据权利要求1至9中任一项所述的方法。
CN202310644690.3A 2022-06-01 2023-06-01 用于为机器学习模型生成输入数据的方法 Pending CN117152696A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102022205572.1 2022-06-01
DE102022205572.1A DE102022205572A1 (de) 2022-06-01 2022-06-01 Verfahren zum Erzeugen von Eingabedaten für ein maschinelles Lernmodell

Publications (1)

Publication Number Publication Date
CN117152696A true CN117152696A (zh) 2023-12-01

Family

ID=88790632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310644690.3A Pending CN117152696A (zh) 2022-06-01 2023-06-01 用于为机器学习模型生成输入数据的方法

Country Status (3)

Country Link
US (1) US20230394757A1 (zh)
CN (1) CN117152696A (zh)
DE (1) DE102022205572A1 (zh)

Also Published As

Publication number Publication date
US20230394757A1 (en) 2023-12-07
DE102022205572A1 (de) 2023-12-07

Similar Documents

Publication Publication Date Title
JP7254823B2 (ja) 物体の検出および特徴付けのためのニューラルネットワーク
JP7239703B2 (ja) 領域外コンテキストを用いたオブジェクト分類
US20190294177A1 (en) Data augmentation using computer simulated objects for autonomous control systems
Nieto et al. Real-time lane tracking using Rao-Blackwellized particle filter
JP2021089724A (ja) 構造的制約及び物理的制約を伴う3d自動ラベル付け
Dey et al. VESPA: A framework for optimizing heterogeneous sensor placement and orientation for autonomous vehicles
US20220108544A1 (en) Object detection apparatus, system and method
KR101864127B1 (ko) 무인 차량을 위한 주변 환경 매핑 방법 및 장치
EP3903232A1 (en) Realistic sensor simulation and probabilistic measurement correction
US20220156965A1 (en) Multi-modal 3-d pose estimation
US20220277581A1 (en) Hand pose estimation method, device and storage medium
CN115346192A (zh) 基于多源传感器感知的数据融合方法、系统、设备及介质
WO2022171428A1 (en) Computer-implemented method for generating reliability indications for computer vision
CN114595738A (zh) 为识别模型生成训练数据的方法和生成识别模型的方法
CN112800822A (zh) 利用结构约束和物理约束进行3d自动标记
US20220237897A1 (en) Computer-implemented method for analyzing relevance of visual parameters for training a computer vision model
CN117152696A (zh) 用于为机器学习模型生成输入数据的方法
EP4260084A1 (en) Radar perception
KR20230119334A (ko) 레이더 클러터 제거를 위한 자가 집중 기법 적용 3차원 물체 검출 기술
Alhamwi et al. Real time vision system for obstacle detection and localization on FPGA
Tousi et al. A new approach to estimate depth of cars using a monocular image
US20230267749A1 (en) System and method of segmenting free space based on electromagnetic waves
US11669980B2 (en) Optical flow based motion detection
Miekkala 3D object detection using lidar point clouds and 2D image object detection
CN117157682A (zh) 对摄影图像的机器标注

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication