自运动估计方法和设备以及模型训练方法和设备与流程

文档序号:19608352发布日期:2020-01-03 13:48阅读:208来源:国知局
自运动估计方法和设备以及模型训练方法和设备与流程

相关申请的交叉引用

本申请要求于2018年6月27日在韩国知识产权局递交的韩国专利申请no.10-2018-0073709的权益,出于所有目的,其全部公开内容通过引用合并于此。

以下描述涉及使用运动识别模型来估计自运动的技术。



背景技术:

近来,为了解决将输入模式分类到特定组的问题,已经积极地研究将人类的有效模式识别方法应用于真实计算机。研究之一是关于通过人类生物神经元的特征的数学表达来建模的人工神经网络。为了解决将输入模式分类到特定组的问题,人工神经网络使用模仿人类学习能力的算法。基于该算法,人工神经网络可以生成输入模式和输出模式之间的映射,并且生成映射的能力被表达为人工神经网络的学习能力。此外,人工神经网络具有推广能力,其基于学习结果来生成针对尚未被用于学习的输入模式的相对正确输出。



技术实现要素:

提供本发明内容以介绍下面在具体实施方式中进一步描述的对简化形式的理念的选择。本发明内容不意在识别所请求保护的主题的关键特征或必要特征,也不意在用作帮助确定所请求保护的主题的范围。

在一个总体方面,一种估计自运动的方法包括:基于雷达传感器针对每个时间帧所收集的雷达感测数据来生成输入数据,以及基于运动识别模型根据输入数据来估计自运动估计设备的自运动信息。

估计自运动信息可以包括:基于第一模型从输入数据中提取特征数据,以及基于第二模型根据特征数据来计算自运动信息。

估计自运动信息可以包括:计算自运动估计设备的位置和姿态中的至少一项作为自运动信息。

估计自运动信息可以包括:针对运动识别模型中与一个时间帧相对应的层来输入与至少两个时间帧相对应的雷达感测数据。

运动识别模型可以包括第一模型和第二模型,第一模型包括与多个时间帧中的每个时间帧相对应的层,以及第二模型连接到第一模型的多个层。估计自运动信息可以包括:基于第一模型中与多个时间帧中的每个时间帧相对应的层,从相应时间帧的输入数据中提取相应时间帧的特征数据;以及基于第二模型根据所提取的特征数据来计算相应时间帧的自运动信息。

自运动信息的估计可以包括:基于第一模型从与当前帧相对应的输入数据中提取当前特征数据,从存储器加载与在先帧相对应的在先特征数据,以及基于第二模型根据在先特征数据和当前特征数据来计算自运动信息。

该方法还可以包括:在存储器中存储基于运动识别模型中包括的第一模型在当前帧中计算出的特征数据。

生成输入数据可以包括:使用沿自运动估计设备的外表面布置的至少一个雷达传感器来检测雷达信号,以及通过预处理检测到的雷达信号来生成雷达感测数据。

生成输入数据可以包括:从多项雷达感测数据项中选择与彼此相差预设时间间隔的时间帧相对应的至少两项雷达感测数据,以及基于所选择的雷达感测数据项来生成输入数据。

生成输入数据可以包括:响应于接收到与后续帧相对应的雷达感测数据,排除输入数据中堆叠的与多个时间帧的第一帧相对应的雷达感测数据。

生成输入数据可以包括:根据雷达信号来生成雷达感测数据,所述雷达感测数据指示雷达传感器针对每个量化速度所检测到的点的角度和距离。

生成输入数据可以包括:根据雷达感测数据来生成输入数据,所述输入数据指示雷达传感器针对每个量化仰角所检测到的点的水平角和距离。

生成输入数据可以包括:将雷达感测数据分类为关于静态点的静态数据和关于动态点的动态数据;根据静态数据来生成静态输入数据,所述静态输入数据指示雷达传感器针对每个量化仰角所检测到的点的水平角和距离;以及根据动态数据来生成动态输入数据,所述动态输入数据指示雷达传感器针对每个量化仰角所检测到的点的水平角和距离。

运动识别模型可以包括卷积神经网络(cnn)和循环神经网络。

循环神经网络可以是双向神经网络。

估计自运动信息可以包括:响应于输入数据中堆叠了与多个时间帧相对应的多项雷达感测数据,针对多个时间帧中的每个时间帧来计算自运动信息。

该方法还可以包括:基于所估计的自运动信息来检测自运动估计设备附近的物体。

在另一个一般方面,一种模型训练方法包括:根据参考雷达感测数据来生成与多个时间帧有关的参考输入数据和与参考输入数据相对应的参考输出数据;以及基于运动识别模型,针对运动识别模型的参数来训练处理器,使得处理器基于参考输入数据来输出参考输出数据。

在又一个一般方面,一种自运动估计设备包括:雷达传感器,被配置为生成雷达感测数据;以及处理器,被配置为针对每个时间帧根据雷达感测数据来生成输入数据,以及基于运动识别模型根据输入数据来估计自运动估计设备的自运动信息。

其他特征和方面将通过以下详细描述、附图和权利要求而变得清楚明白。

附图说明

图1示出了基于运动识别模型根据雷达感测数据来估计自运动信息的示例。

图2示出了运动识别模型的结构的示例。

图3示出了自运动估计方法的示例。

图4示出了自运动估计设备的示例。

图5示出了自运动估计的过程的示例。

图6示出了运动识别模型的结构的示例。

图7和图8示出了生成输入数据的示例。

图9和图10示出了使用堆叠雷达感测数据来生成的输入数据的示例。

图11和图12示出了模型训练方法的示例。

图13示出了模型训练设备的示例。

图14示出了模型训练过程的示例。

图15示出了使用多个雷达传感器的自运动估计设备的示例。

在整个附图和详细描述中,除非另有描述或提供,否则相同的附图标记应被理解为指代相同的元素、特征以及结构。附图可不必按比例绘制,并且为了清楚、说明和方便,可以夸张附图中的元素的相对尺寸、比例和描绘。

具体实施方式

提供以下详细描述以帮助读者获得对本文中描述的方法、设备和/或系统的全面理解。然而,在理解了本申请的公开之后,本文中描述的方法、设备和/或系统的各种改变、修改和等同物将是显而易见的。例如,本文中描述的操作顺序仅仅是示例,并且不限于在本文中阐述的那些操作顺序,而是除了必须以一定顺序发生的操作之外,可以用在理解本申请的公开之后将是明确的方式来改变。此外,为了更加清楚和简洁,可以省略对本领域已知的特征的描述。

本文描述的特征可以以不同形式来体现,并且不应被解释为受限于本文描述的示例。相反,提供本文中描述的示例仅仅是为了说明实现本文中描述的方法、设备和/或系统的许多可行方式中的一些,在理解本申请的公开之后这些方式将是明确的。

本文中使用的术语仅用于描述各种示例,而不用于限制本公开。除非上下文另外明确指示,否则冠词“一”、“一个”和“该”意在包括复数形式。术语“包括”、“包含”和“具有”表示存在所阐述的特征、数目、操作、构件、元件和/或其组合,但并不排除存在或添加一个或多个其他特征、数目、操作、构件、元件和/或其组合。

除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有本公开所属领域的普通技术人员通常所理解的相同意义。术语(诸如在常用词典中定义的术语)将被解释为其含义与在相关技术的上下文中的含义一致,而不应将其解释为理想的或过于正式的含义,除非本文明确如此定义。

关于分配给附图中的元素的附图标记,应该注意的是,尽管相同的元素在不同的附图中示出,但在可能的情况下将由相同的附图标记来表示相同的元素。此外,在对实施例的描述中,当认为对已知的相关结构或功能的详细描述将导致对本公开的模糊解释时,将省略这样的描述。

图1示出了基于运动识别模型根据雷达感测数据来估计自运动信息的示例。

运动识别模型可以是被设计为根据雷达感测数据101来输出自运动信息109的模型。运动识别模型可以具有机器学习结构,但不限于此。自运动估计设备使用运动识别模型,根据其中堆叠了多个时间帧的雷达感测数据101的输入数据,一次性地生成每个时间帧的自运动信息109。

雷达感测数据101可以是由雷达传感器感测到的数据。例如,雷达传感器接收通过将从雷达传感器向目标点发射的信号加以反射而获得的信号,并使用所接收的信号来生成雷达感测数据101。雷达感测数据101包括从雷达传感器到目标点的距离。如图1所示,以堆叠形式向运动识别模型输入雷达感测数据101。

自运动信息109是与设备的运动相关联的信息,并且包括例如设备的相对运动、坐标和姿态。在图1中,自运动信息109指示n个时间帧中的每一时间帧的坐标(xi,yi),n是大于或等于1的整数并且i是1到n之间的整数。时间帧可以是分割时间的单位。自运动信息109不限于上述示例,且因此可以包括各种值,例如三维(3d)坐标(例如,x坐标、y坐标和z坐标、距离、方位角和仰角)、二维(2d)坐标(例如,x坐标和y坐标、距离、和角坐标)、向东、向北、高度、横滚、偏转、俯仰、速度等。

运动识别模型包括神经网络100。基于神经网络100,提出了执行自运动识别的方法和用于执行该方法的设备(下文中称为“自运动估计设备”),并且提出了训练神经网络100的方法和用于训练神经网络100的设备(下文中称为“模型训练设备”)。

在描述自运动识别之前,以下将描述神经网络100的结构。

神经网络100包括多个层,每一层包括多个节点。此外,神经网络100包括将多个层中包括的多个节点连接到另一层中包括的节点的连接权重。模型训练设备从存储器中存储的内部数据库获取神经网络100,或者通过通信器从外部服务器接收神经网络100。

神经网络100例如是识别模型,其使用通过连接线(例如,边)连接的多个人工节点来执行期望的操作。可以通过硬件或者硬件和软件的组合来实现神经网络100。神经网络100也可以被称为人工神经网络。

神经网络100包括每一层的分离的多个节点。节点通过具有连接权重的边相互连接。连接权重可以是边的预定值,并且也可以被称为连接强度。

神经网络100包括多个层。神经网络100包括例如输入层110、隐藏层120和输出层130。输入层110接收用于执行训练或识别的输入,并向隐藏层120传输输入。输出层130基于从隐藏层120接收的信号来生成神经网络100的输出。隐藏层120插入在输入层110和输出层130之间,并且将通过输入层110传输的训练数据的训练输入改变为容易预测的值。

输入层110、隐藏层120和输出层130均包括多个节点。输入层110中包括的节点可以被称为输入节点。隐藏层120中包括的节点可以被称为隐藏节点。输出层130中包括的节点可以被称为输出节点。

输入层110中包括的输入节点和隐藏层120中包括的隐藏节点通过具有连接权重的边来连接。隐藏层120中包括的隐藏节点和输出层130中包括的输出节点通过具有连接权重的边连接。

尽管未示出,但神经网络包括多个隐藏层。包括多个隐藏层在内的神经网络可以被称为深度神经网络。对深度神经网络的训练可以被称为深度学习。当隐藏层120包括第一隐藏层、第二隐藏层和第三隐藏层时,第一隐藏层中包括的隐藏节点的输出连接到第二隐藏节点中包括的隐藏节点。第二隐藏层中包括的隐藏节点的输出连接到第三隐藏层中包括的隐藏节点。

模型训练设备和自运动估计设备使用具有连接权重的边向每个隐藏层输入在先隐藏层中包括的在先隐藏节点的输出。此外,模型训练设备和自运动估计设备基于激活函数和通过将连接权重应用于在先隐藏节点的输出而获得的值来生成隐藏层中包括的隐藏节点的输出。例如,为了向后续隐藏节点发射输出,激活函数的结果可能需要大于当前隐藏节点的阈值。在该示例中,节点保持在未激活状态,不向后续节点发送信号,直到使用输入向量来达到阈值激活强度为止。

模型训练设备通过有监督学习来训练神经网络100。模型训练设备可以由硬件模块或软件模块和硬件模块的组合来实现。有监督学习是以下方案:向神经网络100输入训练数据的训练输入和与训练输入相对应的训练输出,并且更新边的连接权重,使得输出与训练数据的训练输出相对应的输出数据。虽然图1示出了具有节点结构的神经网络,但实施例不限于该节点结构。可以使用各种数据结构将神经网络存储在存储设备中。

训练数据是用于训练的数据,并且包括由训练输入和与训练输入相对应的训练输出构成的对。训练输入例如是预先收集的样本雷达数据。训练输出是针对预定训练输入要输出的给定值,并且例如是针对样本雷达数据给出的自运动信息109。

模型训练设备使用梯度下降方案来确定节点的参数,该梯度下降方案基于神经网络中包括的节点的输出值和向神经网络反向传播的损失。例如,模型训练设备通过损失反向传播学习来更新节点之间的连接权重。损失反向传播学习是以下方法:通过对给定训练数据来执行前向计算来估计损失,在从输出层130到隐藏层120和输入层110的反向上传播所估计的损失并且更新连接权重来减小损失。在从输入层110到隐藏层120和输出层130的方向上执行神经网络100的处理。在损失反向传播训练中,在从输出层130到隐藏层120和输入层110的方向上执行对连接权重的更新。一个或多个过程可以使用缓冲存储器,其存储一层计算数据或一系列计算数据以在期望的方向上处理神经网络。

模型训练设备定义用于测量当前设置的连接权重与最佳值的接近程度的目标函数,基于目标函数的结果连续地改变连接权重,并且反复地执行训练。例如,目标函数是用于计算神经网络100基于训练数据的训练输入所输出的实际输出值与要输出的所需期望值(例如,训练输出)之间的损失的损失函数。模型训练设备更新连接权重以减小损失函数的值。

以下将描述运动识别模型的配置。

图2示出了运动识别模型的结构的示例。

运动识别模型220包括第一模型221和第二模型222。

第一模型221是用于从预定数据中提取特征数据的模型。自运动估计设备基于第一模型221从输入数据210中提取特征数据。第一模型221包括卷积神经网络(cnn)。第一模型221包括与多个时间帧中的每一个时间帧相对应的层。如图2所示,第一模型221包括与输入数据210的每个时间帧相对应的卷积层。

第二模型222是用于根据特征数据来生成自运动信息230的模型。自运动估计设备基于第二模型222根据特征数据来计算自运动信息230。第二模型222包括循环神经网络。例如,第二模型222包括双向循环神经网络作为循环神经网络。如图2所示,第二模型222包括连接到第一模型221的与每个时间帧相对应的层的层。

输入数据210是具有以下结构的数据:在该结构中堆叠了与多个时间帧中的每一个时间帧相对应的雷达感测数据201。在图2的示例中,输入数据210是其中堆叠了与帧t-1、帧t和帧t+1相对应的雷达感测数据201的数据,t是大于或等于1的整数。

虽然图2示出了作为扫描图像的雷达感测数据201,其指示针对每个转向角的与目标点的距离,雷达感测数据201不限于此。雷达感测数据201可以包括雷达传感器针对每个时间帧所感测到的所有数据。

基于第一模型221中的与多个时间帧中的每一个时间帧相对应的层,自运动估计设备从相应时间帧的输入数据210中提取相应时间帧的特征数据。自运动估计设备基于第二模型222根据提取的特征数据来计算相应时间帧的自运动信息230。此外,自运动估计设备针对运动识别模型220中的与一个时间帧相对应的层来输入与至少两个时间帧相对应的雷达感测数据201。如图2所示,自运动估计设备向第一模型221中与帧t相对应的卷积层输入与帧t-1相对应的雷达感测数据201和与帧t相对应的雷达感测数据201。

自运动估计设备基于运动识别模型220根据多个时间帧的输入数据210来估计多个时间帧的自运动信息230。当在输入数据210中堆叠了与多个时间帧相对应的多项雷达感测数据时,自运动估计设备获得多个时间帧中的每一个时间帧的自运动信息230。在图2的示例中,输入数据210指示与帧t-1、帧t和帧t+1相关联的雷达感测数据201。自运动估计设备根据输入数据210来输出帧t-1中的设备坐标、帧t中的设备坐标、以及帧t+1中的设备坐标。

虽然图2为了描述的简洁而示出了三个时间帧,但是在自运动估计设备中使用的帧的数量不限于此。例如,自运动估计设备生成m个时间帧的输入数据210。在该示例中,输入数据210可以是其中堆叠了与帧t-m+1到帧t相对应的雷达感测数据201的数据,m是大于或等于1的整数。此外,虽然图2示出了在输入数据210中堆叠了与多个时间帧相对应的雷达感测数据201,但是实施例不限于此。输入数据210可以包括与一个时间帧相对应的雷达感测数据201。

以下将描述使用运动识别模型来估计自运动的方法。

图3示出了自运动估计方法的示例。

在操作310中,自运动估计设备基于由雷达传感器收集的雷达感测数据来生成每个时间帧的输入数据。例如,雷达信号由沿自运动估计设备的外表面布置的至少一个雷达传感器来检测。雷达信号可以是由雷达传感器发射、从目标点反射、然后由雷达传感器感测到的信号。自运动估计设备通过对检测到的雷达信号进行预处理来生成雷达感测数据。

在操作320中,自运动估计设备基于运动识别模型根据输入数据来估计自运动估计设备的自运动信息。自运动估计设备计算自运动估计设备的位置和姿态中的至少一项作为自运动信息。

图4示出了自运动估计设备的示例。

自运动估计设备400包括雷达传感器410、处理器420和存储器430。

雷达传感器410是发射和接收雷达信号的传感器。雷达传感器410通过对雷达信号进行预处理来生成雷达感测数据。例如,雷达传感器410基于由雷达传感器410发射的信号与反射信号之间的频率差来生成雷达感测数据。

处理器420根据每个时间帧的雷达感测数据来生成输入数据。处理器420基于运动识别模型根据输入数据来估计自运动估计设备400的自运动信息。以下将参考图5至图15进一步描述处理器420的操作。

存储器430临时或永久地存储执行自运动估计方法所需的信息。例如,存储器430存储运动识别模型和该运动识别模型的经训练的参数。此外,存储器430存储雷达感测数据和输入数据。

图5示出了自运动估计的过程的示例。

自运动估计设备通过对雷达感测数据501执行预处理操作510来生成输入数据。自运动估计设备基于运动识别模型520根据输入数据来估计自运动信息509。然而,预处理操作510不限于此。通过预处理操作510,自运动估计设备将与雷达传感器获取的原始数据相对应的雷达信号转换为指示距离、角度和速度信息的雷达感测数据501。雷达感测数据501可以基于例如雷达传感器的所需分辨率和调制方案而变化。

自运动估计设备基于第一模型521从与当前帧相对应的输入数据中提取当前特征数据。自运动估计设备从存储器加载与在先帧相对应的在先特征数据580。在预处理之后,雷达感测数据501表示为3d信息,例如,距离、转向角和多普勒速度,其可以是类似于图像的结构,比如,x坐标、y坐标和通道。当提取图像的特征时,cnn和卷积层可以实现更好的性能。cnn可以在提取与距离和角度轴相关的信息(作为位置信息)方面具有很好的性能,并且对于与通道(例如,图像的rgb)相对应的多普勒速度轴也可以具有很好的性能。

自运动估计设备基于第二模型522根据在先特征数据580和当前特征数据来获得自运动信息509。雷达传感器连续获取每个时间帧的雷达感测数据。在该示例中,针对相邻时间帧所获取的雷达感测数据可以具有相似的时间相关性。在识别具有时间相关性的数据方面具有很好性能的模型可以是循环神经网络和循环层。

图6示出了运动识别模型的结构的示例。

当连续获取连续雷达感测数据时,自运动估计设备跳过针对在先时间帧的预处理和特征数据提取,这是因为对在先时间帧的预处理和特征数据提取是冗余的。例如,自运动估计设备存储从cnn提取的特征数据,并且对针对每个时间帧所获取的雷达感测数据执行预处理和特征数据提取,以与在先特征数据一起被发送到循环神经网络。

自运动估计没备基于第一模型621的与当前帧相对应的卷积层,根据与当前帧相对应的输入数据610来计算与当前帧相对应的特征数据。自运动估计设备在存储器中存储基于运动识别模型中包括的第一模型621所计算出的与当前帧相对应的特征数据。自运动估计设备向存储器中存储的特征数据库680添加与当前帧相对应的特征数据。

自运动估计设备基于与多个时间帧的一部分相对应的输入数据610(例如,与图6的帧t相对应的数据)来估计多个时间帧的自运动信息630。例如,第一模型621可以用以下结构来实现:根据与一个时间帧相对应的输入数据610来输出相应时间帧的特征数据。第二模型622可以用以下结构来实现:根据与m个帧相对应的特征数据来输出与m个帧相对应的自运动信息630,在图6的示例中m为“3”。自运动估计设备基于第一模型621从与帧t相对应的输入数据610中提取与帧t相对应的当前特征数据,并且加载与帧t-m+1至帧t-1相对应的在先特征数据。自运动估计设备基于第二模型622根据与帧t-m+1至帧t-1相对应的特征数据来生成与帧t-m+1至帧t-1相对应的自运动信息630。

这样,自运动估计设备不针对每个时间帧来提取与m个时间帧相对应的特征数据,而是提取与一个时间帧相对应的特征数据,由此减少了特征数据提取所需的计算资源和时间。

图7和图8示出了生成输入数据的示例。

自运动估计设备基于例如目标点处的仰角和速度,对距离(例如,从设备到目标点的距离)和指示相对于目标点的转向角的图进行分类。自运动估计设备通过将雷达感测模型转换和分类为适合于在运动识别模型中输入的形式来生成输入数据。

自运动估计设备根据雷达信号来生成雷达感测数据,该雷达感测数据指示雷达传感器针对每个量化速度所检测到的点的距离和角度。自运动估计设备使用所生成的雷达感测数据作为输入数据710。例如,基于雷达感测数据来验证的速度是自运动估计设备相对于目标点的速度。例如,基于雷达感测数据来验证的角度是转向角,该转向角是设备的行进方向与从设备朝向目标点的方向之间的角度差。尽管本公开将转向角描述为雷达传感器所感测的2d平面上的水平角,但是实施例不限于此。可以垂直和水平地执行雷达传感器的转向。当垂直执行转向时,转向角可以是仰角。

为了描述的简洁,图7示出了针对一个时间帧所生成的输入数据710。针对一个时间帧所生成的输入数据710包括雷达感测数据711,雷达感测数据711指示与由雷达传感器针对每个量化速度所检测到的目标点相对应的距离和角度。当堆叠了与多个时间帧相对应的雷达感测数据时,自运动估计设备针对多个时间帧中的每个时间帧来生成输入数据710,该输入数据710指示与每个量化速度的目标点相对应的距离和角度。自运动估计设备基于运动识别模型720根据输入数据710来计算自运动信息。

自运动估计设备根据雷达感测数据来生成输入数据,该输入数据指示与雷达传感器针对每个仰角所检测到的点相对应的距离和水平角。仰角可以是由目标点相对于基于雷达传感器的垂直方向相对于雷达传感器的水平面所形成的角度。

自运动估计设备将雷达感测数据分类为与静态点相关联的静态数据810和与动态点相关联的动态数据820。静态点可以是目标点的静止物体,以及绝对速度为零的点。动态点可以是目标点的移动物体,以及绝对速度不为零的点。自运动估计设备根据静态数据810来生成对雷达传感器针对每个量化角度所检测到的点的距离和水平角加以指示的静态输入数据。自运动估计设备根据动态数据820来生成对雷达传感器针对每个量化角度所检测到的点的距离和水平角加以指示的动态输入数据。为了描述的简洁,图8示出了针对一个时间帧所生成的输入数据。针对一个时间帧所生成的输入数据包括静态数据810和动态数据820。预定时间帧的静态数据810包括数据811,其指示雷达传感器针对每个量化角度所检测到的目标点的距离和水平角。预定时间帧的动态数据820包括数据821,其指示雷达传感器针对每个量化角度所检测到的目标点的距离和水平角。

自运动估计设备基于运动识别模型830根据包括静态数据810和动态数据820在内的输入数据来计算自运动信息。

图9和图10示出了使用经堆叠的雷达感测数据来生成的输入数据的示例。

雷达感测数据沿空间轴聚集。

图9示出了其中通过跳过几个时间帧来堆叠雷达感测数据的输入数据。自运动估计设备选择多个雷达感测数据中相差预设时间间隔的时间帧的至少两个雷达感测数据。在图9的示例中,预设时间间隔可以是三帧。自运动估计设备收集第一帧至第十帧。自运动估计设备选择与第一帧、第四帧、第七帧和第十帧相对应的雷达感测数据911。在第十一帧中,自运动估计设备选择与第二帧、第五帧、第八帧和第十一帧相对应的雷达感测数据912。

自运动估计设备基于所选择的雷达感测数据来生成输入数据。在第十帧中,自运动估计设备向运动识别模型920输入根据与第一帧、第四帧、第七帧和第十帧相对应的雷达感测数据911来生成的输入数据。自运动估计设备基于运动识别模型920根据雷达感测数据911来计算与第一帧、第四帧、第七帧和第十帧相对应的自运动信息。在第十一帧中,自运动估计设备向运动识别模型920输入根据与第二帧、第五帧、第八帧和第十一帧相对应的雷达感测数据912来生成的输入数据。自运动估计设备基于运动识别模型920根据雷达感测数据912来计算与第二帧、第五帧、第八帧和第十一帧相对应的自运动信息。作为示例,描述了上述时间帧的这种顺序,并且时间帧的顺序不限于该示例。

图10示出了所生成的与每个时间帧的预定时间长度相对应的输入数据。响应于接收到与后续帧相对应的雷达感测数据,自运动估计设备排除输入数据中堆叠的与多个时间帧中的第一帧相对应的雷达感测数据。

参考图10,自运动估计设备收集与第一帧至第八帧相对应的雷达感测数据。自运动估计设备通过堆叠与第一帧至第八帧相对应的雷达感测数据来生成与第八帧相对应的输入数据1011。在第九帧中,自运动估计设备排除与第一帧相对应的雷达感测数据。自运动估计设备通过堆叠与第二帧至第九帧相对应的雷达感测数据来生成与第九帧相对应的输入数据1012。自运动估计设备基于运动识别模型1020根据与第一帧至第八帧相对应的输入数据1011来计算与第一帧至第八帧相对应的自运动信息。自运动估计设备基于运动识别模型1020根据与第二帧至第九帧相对应的输入数据1012来计算与第二帧至第九帧相对应的自运动信息。

图11和图12示出了模型训练方法的示例。

图11示出了训练的流程。

在操作1110中,模型训练设备根据参考雷达感测数据来生成与多个时间帧相关的参考输入数据和与参考输入数据相对应的参考输出数据。参考感测数据与训练输入相对应,并且参考输出数据与训练输出相对应。训练数据包括例如由参考雷达感测数据和参考输出数据构成的对。参考输出数据也可以被称为参考自运动信息。

在操作1120中,模型训练设备使用运动识别模型针对运动识别模型的参数来训练处理器,使得处理器基于参考输入数据来输出参考输出数据。模型训练设备基于运动识别模型来更新运动识别模型的参数,直到根据参考输入数据来计算的临时输出与参考输出数据之间的损失小于阈值损失为止。

将参考图12进一步描述图11的训练。

在操作1211中,模型训练设备获取参考雷达感测数据。模型训练设备从训练数据库获取参考雷达感测数据。

在操作1212中,模型训练设备生成参考输入数据和参考输出数据。模型训练设备通过与参考图7至图10描述的操作相类似的操作根据参考雷达感测数据来生成参考输入数据。模型训练设备从训练数据库中获取参考输出数据。

在操作1221中,模型训练设备计算与参考输入数据相关联的第一模型的输出。如参考图1所描述的,模型训练设备通过向第一模型输入参考输入数据并向各层传播参考输入数据来计算临时特征数据。

在操作1222中,模型训练设备计算与第一模型的输出相关联的第二模型的输出。如参考图1所描述的,模型训练设备通过向第二模型输入特征数据并传播特征数据来计算临时输出。

在操作1223中,模型训练设备基于第二模型的输出与参考输出数据之间的损失来更新参数。模型训练设备计算基于第二模型计算出的临时输出与参考输出数据之间的目标函数的值,作为损失。目标函数可以是例如均方误差(mse)、绝对误差和huber损失。目标函数可以与参数的正则化项组合以便使用。模型训练设备调整运动识别模型的参数以减小损失。在运动识别模型是神经网络的情况下,运动识别模型的参数可以是(但不限于)连接权重。

在操作1224中,模型训练设备存储经更新的参数。模型训练设备将经更新的参数存储在存储器中。模型训练设备将经更新的参数上传到服务器中,或者向自运动估计设备发送经更新的参数。可以通过通信网络或数据接口向自运动估计设备传输服务器中上传的参数。

在操作1225中,模型训练设备确定损失是否收敛。模型训练设备确定所计算的损失是否小于阈值损失。响应于损失已经收敛,模型训练设备终止训练。响应于损失没有收敛,模型训练设备反复执行操作1211至1225。

图13示出了模型训练设备的示例。

模型训练设备1300包括处理器1310和存储器1320。

处理器1310根据参考雷达感测数据来生成与多个时间帧有关的参考输入数据1391和与参考输入数据1391相对应的参考输出数据1392。处理器1310基于运动识别模型1321针对运动识别模型1321的参数1322来训练处理器1310,使得处理器1310基于参考输入数据1391来输出参考输出数据1392。处理器1310的操作不限于此,而是可以结合参考图11和图12来描述的操作来执行。

存储器1320临时或永久地存储模型训练所需的信息。存储器1320存储运动识别模型1321、参数1322和训练数据。存储器1320存储参考输入数据1391和参考输出数据1392作为训练数据。参考输出数据1392可以是针对参考输入数据1391给出的值,并且可以是要与参考输入数据北91关联输出的自运动信息。此外,存储器1320存储参考感测数据,而不是参考输入数据1391。

模型训练设备1300可以与自运动估计设备分开地实现,但不限于此。模型训练设备1300和自运动估计设备也可以实现为单个设备。

图14示出了模型训练过程的示例。

模型训练设备训练运动识别模型,以根据参考雷达感测数据1491来输出参考自运动信息1492。模型训练设备使用完成预处理所针对的连续雷达数据中的n个项。为了执行训练,模型训练设备使用连续雷达数据中的nb个项的小批量(mini-batch)雷达数据作为输入。运动识别模型包括cnn和循环神经网络。由运动识别模型所输出的自运动信息包括设备的位置和姿态的估计值。如图14中所示,自运动信息包括例如每个时间帧的n组x坐标和y坐标。

模型训练设备获取雷达信号作为原始数据,并且通过基本雷达信号处理(rsp)预处理来生成参考雷达感测数据1491。模型训练设备通过临时累积参考雷达感测数据1491来生成参考输入数据。

为了执行训练,模型训练设备基于第一模型1421针对每个时间帧来计算临时特征数据。在图14的示例中,模型训练设备计算帧t-2、帧t-1和帧t中的每一帧的临时特征数据。模型训练设备基于第二模型1422针对每个时间帧来计算临时输出。

模型训练设备通过将临时输出与标定真实数据(例如,参考自运动信息1492)进行比较来计算误差值,例如损失。模型训练设备使用诸如mse之类的损失函数。

模型训练设备基于随时问反向传播(bptt)方案向较低层传播计算出的误差值,并更新运动识别模型的各层之间的参数。

针对每次训练,模型训练设备通过存储第一模型1421和第二模型1422的状态值和权重来生成经训练的运动识别模型。当误差值收敛时,模型训练设备终止训练,否则进行重新训练。

当模型训练设备执行训练时,第一模型1421包括在先帧的层1450。当第一模型1421用于自运动估计时,移除在先帧的层1450。模型训练设备使用多个训练数据进行训练,由此提高训练速度。此外,自运动估计设备使用与当前帧相对应的雷达感测数据,由此提高自运动估计的操作速度。

图15示出了使用多个雷达传感器的自运动估计设备的示例。

参考图15,自运动估计设备1500可以实现为例如车辆。自运动估计设备1500通过定位车辆中的雷达传感器来估计车辆的姿态和移动路径。自运动估计设备1500基于所估计的自运动信息来检测自运动估计设备1500附近的物体。自运动估计设备1500辅助车辆的自主驾驶和各种高级驾驶员辅助系统(adas)功能。自运动估计设备1500基于针对每个时间帧所准确测量的自身位置信息来获取广角的高分辨率图像。

如图15中所示,当自运动估计设备1500包括多个雷达传感器时,自运动估计设备1500对各雷达传感器中的每个雷达传感器进行定位并融合定位结果,由此提高自运动信息估计的准确度。自运动估计设备1500可以将雷达传感器与另一传感器(例如,相机传感器、超声波传感器、以及光检测和测距(lidar))相结合,或者融合自运动信息和诸如全球导航卫星系统(gnss)、车速和转向角之类的信息,由此提高准确度。如图15中所示,当获取全向雷达感测数据时,自运动估计设备1500生成车辆周围的360度图像或识别车辆的周边环境。

自运动估计设备1500可以不管时间如何流逝在无需诸如闭环之类的特殊动作的情况下维持准确度。此外,即使当移动物体处于捕捉场景中时,自运动估计设备1500也可以维持准确度。

本文描述的设备、单元、模块、装置和其他组件由硬件组件来实现。在适当的情况下可用于执行本申请中所描述的操作的硬件组件的示例包括控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器、以及被配置为执行本申请所述的操作的任何其它电子组件。在其他示例中,通过计算硬件(例如,通过一个或多个处理器或计算机)来实现执行本申请中描述的操作的一个或多个硬件组件。处理器或计算机可以由一个或多个处理元件(例如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器、或被配置为以定义的方式响应并执行指令以实现期望的结果的任何其它装置或装置的组合)来实现。在一个示例中,处理器或计算机包括(或连接到)存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可以执行指令或软件,例如操作系统(os)和在os上运行的一个或多个软件应用,以执行本申请中描述的操作。硬件组件还可以响应于对指令或软件的执行来访问、操纵、处理、创建和存储数据。为了简洁起见,对在本申请中描述的示例的描述可以使用单数术语“处理器”或“计算机”,但是在其它示例中可以使用多个处理器或计算机,或者处理器或计算机可以包括多个处理元件、或多种类型的处理元件、或两者兼有。例如,单个硬件组件或者两个或更多个硬件组件可以由单个处理器、或两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可以由一个或多个处理器、或处理器和控制器来实现,并且一个或多个其它硬件组件可以由一个或多个其它处理器或另一处理器和另一控制器来实现。一个或多个处理器或者处理器和控制器可以实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可具有不同的处理配置中的任何一种或多种处理配置,处理配置的示例包括单处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理、和多指令多数据(mimd)多处理。

执行本申请中描述的操作的方法由计算硬件来执行,例如,由执行指令或软件的如上所述地实现的一个或多个处理器或计算机执行,以执行本申请中描述的通过这些方法执行的操作。例如,单个操作或者两个或更多个操作可以由单个处理器、或者两个或更多个处理器、或者处理器和控制器来执行。一个或多个操作可以由一个或多个处理器或者处理器和控制器来执行,并且一个或多个其它操作可以由一个或多个其它处理器或者另一处理器和另一控制器来执行。一个或多个处理器或者处理器和控制器可以执行单个操作或者两个或更多个操作。

用于控制处理器或计算机如上所述地实现硬件组件并执行方法的指令或软件被写为计算机程序、代码段、指令或其任何组合,用于单独地或共同地指示或配置处理器或计算机作为机器或专用计算机来操作,以执行如上所述由硬件组件执行的操作和方法。在一个示例中,指令或软件包括由处理器或计算机直接执行的机器代码,例如由编译器产生的机器代码。在另一个示例中,指令或软件包括由处理器或计算机使用解释器来执行的更高级代码。本领域的普通程序员能够基于附图中所示的框图和流程图以及说明书中的对应描述来容易地编写指令或软件,附图中所示的框图和流程图以及说明书中的对应描述公开了用于执行如上所述由硬件组件和方法执行的操作的算法。

控制处理器或计算机实现硬件组件并执行如上所述的方法的指令或软件、以及任何相关联数据、数据文件和数据结构被记录、存储或固定在一个或多个非暂时性计算机可读存储介质之中或之上。非暂时性计算机可读存储介质的示例包括:只读存储器(rom)、随机存取可编程只读存储器(prom)、电可擦除可编程只读存储器(eeprom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、非易失性存储器、cd-rom、cd-r、cd+r、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-rlth、bd-re、蓝光或光盘存储设备、硬盘驱动器(hdd)、固态驱动器(ssd)、闪存、卡类型的存储器(比如,多媒体卡或微型卡(例如,安全数字(sd)或极限数字(xd)))、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘、以及被如下配置的任何其它装置:以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构,并且向处理器或计算机提供指令或软件以及任何相关联的数据、数据文件和数据结构,使得处理器或计算机可以执行该指令。

虽然本公开包括特定的示例,但是对于本领域普通技术人员来说显而易见的是:在不脱离权利要求及其等同物的精神和范围的情况下,可以在这些示例中进行形式和细节上的各种改变。本文描述的示例应仅被认为是描述性的,而不是为了限制的目的。对每个示例中的特征或方面的描述被认为适用于其它示例中的类似特征或方面。如果所描述的技术以不同的顺序执行和/或如果所描述的系统、架构、装置或电路中的组件以不同的方式组合和/或被其它组件或其等同物替换或补充,则可以实现合适的结果。因此,本公开的范围不是由具体实施方式来限定,而是由权利要求及其等同物来限定,并且在权利要求及其等同物的范围内的所有变化都要被解释为被包括在本公开中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1