掌桥专利:专业的专利平台
掌桥专利
首页

通过球体回归的N-球体上的坐标估计

文献发布时间:2023-06-19 11:55:48


通过球体回归的N-球体上的坐标估计

相关申请的交叉引用

本申请根据35 U.S.C.§119(a)要求于2019年11月15日提交的题为“CoordinateEstimation on N-Spheres with Spherical Regression(通过球体回归的N-球体上的坐标估计)”的美国专利申请No.16/686,007的权益,该美国专利申请根据35U.S.C.§119(a)要求于2018年11月15日提交的题为“Coordinate Estimation on N-Spheres withSpherical Regression(通过球体回归的N-球体上的坐标估计)”的希腊专利申请No.20180100520的权益,上述专利申请的公开内容通过援引全部明确纳入于此。

背景

领域

本公开的各方面一般涉及球体坐标估计。

背景

可包括一群互连的人工神经元(例如,神经元模型)的人工神经网络是一种计算设备或者表示将由计算设备执行的方法。人工神经网络可被用于各种应用和/或设备,诸如网际协议(IP)相机、物联网(IoT)设备、自主交通工具、和/或服务机器人。

人工神经网络可用于估计n维球体上的坐标。在一些情形中,坐标估计可被用于确定捕捉对象图像的相机的查看角或对象在图像中的表面法线。常规坐标估计系统使用基于分类的系统、基于回归的系统、或基于混合的系统。期望改进坐标估计以返回连续角度、同时降低损失函数的复杂性。

概述

在本公开的一方面,一种方法包括:接收包括对象的表示的输入。该方法还包括:估计对应于该对象的无约束坐标。该方法进一步包括:通过将球体指数激活函数应用于该无约束坐标来估计球体上的坐标。该方法还包括:基于所估计的球体上的坐标来将该输入与对应于球体目标的一组值相关联。

本公开的另一方面涉及一种装备,包括:用于接收包括对象的表示的输入的装置。该装备还包括:用于估计对应于该对象的无约束坐标的装置。该装备进一步包括:用于通过将球体指数激活函数应用于该无约束坐标来估计球体上的坐标的装置。该装备还包括:用于基于所估计的球体上的坐标来将该输入与对应于球体目标的一组值相关联的装置。

在本公开的另一方面,公开了一种其上记录有非瞬态程序代码的非瞬态计算机可读介质。该程序代码由处理器执行并且包括用于接收包括对象的表示的输入的程序代码。该程序代码还包括用于估计对应于该对象的无约束坐标的程序代码。该程序代码进一步包括用于通过将球体指数激活函数应用于该无约束坐标来估计球体上的坐标的程序代码。该程序代码还包括用于基于所估计的球体上的坐标来将该输入与对应于球体目标的一组值相关联的程序代码。

本公开的另一方面涉及一种装置,该装置具有存储器和耦合到该存储器的一个或多个处理器。(诸)处理器被配置成接收包括对象的表示的输入。(诸)处理器还被配置成估计对应于该对象的无约束坐标。(诸)处理器进一步被配置成通过将球体指数激活函数应用于该无约束坐标来估计球体上的坐标。(诸)处理器还被配置成基于所估计的球体上的坐标来将该输入与对应于球体目标的一组值相关联。

本公开的附加特征和优点将在下文描述。本领域技术人员应当领会,本公开可容易地被用作修改或设计用于实施与本公开相同的目的的其他结构的基础。本领域技术人员还应认识到,这样的等效构造并不脱离所附权利要求中所阐述的本公开的教导。被认为是本公开的特性的新颖特征在其组织和操作方法两方面连同进一步的目的和优点在结合附图来考虑以下描述时将被更好地理解。然而,要清楚理解的是,提供每一幅附图均仅用于解说和描述目的,且无意作为对本公开的限定的定义。

附图简述

在结合附图理解下面阐述的详细描述时,本公开的特征、本质和优点将变得更加明显,在附图中,相同附图标记始终作相应标识。

图1解说了根据本公开的某些方面的使用片上系统(SOC)(包括通用处理器)来设计神经网络的示例实现。

图2A、2B和2C是解说根据本公开的各方面的神经网络的示图。

图2D是解说根据本公开的各方面的示例性深度卷积网络(DCN)的示图。

图3是解说根据本公开的各方面的示例性深度卷积网络(DCN)的框图。

图4A和4B解说了根据本公开的各方面的二维(2D)旋转的示例。

图5A和5B解说了根据本公开的各方面的视点估计的示例。

图6解说了根据本公开的各方面的三维(3D)单元向量的示例。

图7解说了根据本公开的各方面的球体回归系统的示例。

图8解说了根据本公开的各方面的方法。

详细描述

以下结合附图阐述的详细描述旨在作为各种配置的描述,而无意表示可实践本文中所描述的概念的仅有配置。本详细描述包括具体细节以提供对各种概念的透彻理解。然而,对于本领域技术人员将显而易见的是,没有这些具体细节也可实践这些概念。在一些实例中,以框图形式示出众所周知的结构和组件以避免湮没此类概念。

基于本教导,本领域技术人员应领会,本公开的范围旨在覆盖本公开的任何方面,不论其是与本公开的任何其他方面相独立地还是组合地实现的。例如,可以使用所阐述的任何数目的方面来实现装置或实践方法。另外,本公开的范围旨在覆盖使用作为所阐述的本公开的各个方面的补充或者与之不同的其他结构、功能性、或者结构及功能性来实践的此类装置或方法。应当理解,所披露的本公开的任何方面可由权利要求的一个或多个元素来实施。

措辞“示例性”在本文中用于意指用作“示例、实例、或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。

尽管在本文中描述了特定方面,但这些方面的众多变体和置换落在本公开的范围之内。虽然提到了优选方面的一些益处和优点,但本公开的范围并非旨在被限定于特定益处、用途或目标。相反,本公开的各方面旨在能宽泛地应用于不同的技术、系统配置、网络和协议,其中一些作为示例在附图以及以下对优选方面的描述中解说。详细描述和附图仅仅解说本公开而非限定本公开,本公开的范围由所附权利要求及其等效技术方案来定义。

人工神经网络可估计n维球体上的坐标。在一些情形中,坐标估计可以确定捕捉对象图像的相机的查看角。另外,坐标估计可以确定对象在图像中的表面法线。常规坐标估计系统使用分类系统、回归系统、或混合系统。

分类系统使连续的角度的输出空间离散化为多个槽。例如,一些基于分类的系统将角度范围[-π,π]离散化为360个槽。为了改进角度预测的粒度,一些常规的系统使用两组槽(例如,粗略离散化槽和精细离散化槽)。精细离散化可增加类内混淆。一些常规的分类系统使用计及相邻槽之间的相关的损失。为了训练分类系统,合成渲染提供了大量训练示例。

分类系统相比于常规回归系统具有一些优点。例如,假设粗略视点即可满足,则叉熵目标可以改进训练。作为另一示例,softmax分类器提供了某种程度的不确定性估计,这对于对称对象而言可能是相关的。而在大部分情形中,分类系统无法提供连续的或精细粒度的角度预测。另外,离散化可能被限于低维度输出空间(例如,S

因为角度的周期性性质,回归系统一般不会在∈[-π,π]的角度、方位角、仰角、θ的线性空间上直接回归。具体地,忽略角度周期性会导致较差的建模,因为1°和359°的角度被认为相距最远。取而代之,大部分回归系统使用三角表示,其中一些回归系统用

用于视点估计的分类和回归系统是互补的。因此,坐标估计可以使用混合的分类和回归系统。一些混合系统将定向角度离散化为n个交叠的槽,并且通过回归来细化剩余的角度残差。其他混合系统采用von-Mises(米塞斯)分布的混和模型来对定向角度的后验分布进行建模。此外,其他混合系统在到其他数据集的泛化是不相关的情况下提出k均值聚类以供角度离散化。

期望改进坐标估计以返回连续角度同时降低损失函数的复杂性。本公开的各方面涉及球体回归系统。与常规的回归系统相比,球体回归系统改进了训练和精度。另外,与分类系统相比,球体回归系统在产生连续且精细粒度估计的同时改进了精度。

图1解说了根据本公开的某些方面的片上系统(SOC)100的示例实现,其可包括配置用于经由基于球体回归的神经网络进行坐标估计的中央处理单元(CPU)102或多核CPU。变量(例如,神经信号和突触权重)、与计算设备相关联的系统参数(例如,带有权重的神经网络)、延迟、频率槽信息、以及任务信息可被存储在与神经处理单元(NPU)108相关联的存储器块中、与CPU 102相关联的存储器块中、与图形处理单元(GPU)104相关联的存储器块中、与数字信号处理器(DSP)106相关联的存储器块中、存储器块118中,或可跨多个块分布。在CPU 102处执行的指令可从与CPU 102相关联的程序存储器加载或可从存储器块118加载。

SOC 100还可包括为具体功能定制的附加处理块,诸如GPU 104、DSP 106、连通性块110(其可包括第五代(5G)连通性、第四代长期演进(4G LTE)连通性、Wi-Fi连通性、USB连通性、蓝牙连通性等)以及例如可检测和识别姿势的多媒体处理器112。在一种实现中,NPU实现在CPU、DSP、和/或GPU中。SOC 100还可包括传感器处理器114、图像信号处理器(ISP)116、和/或导航模块120(其可包括全球定位系统)。

SOC 100可基于ARM指令集。在本公开的一方面,加载到通用处理器102中的指令可以包括用于接收包括对象的图像的代码。该通用处理器102还可包括用于估计对应于该对象的无约束坐标的代码。该通用处理器102可进一步包括用于通过将球体指数激活函数应用于该无约束坐标来估计球体上的坐标的代码。该通用处理器102还可包括用于基于所估计的球体上的坐标来将该输入与对应于球体目标的一组值相关联的代码。

深度学习架构可通过学习在每一层中以逐次更高的抽象程度来表示输入、藉此构建输入数据的有用特征表示来执行对象识别任务。以此方式,深度学习解决了常规机器学习的主要瓶颈。在深度学习出现之前,用于对象识别问题的机器学习办法可能严重依赖人类工程设计的特征,或许与浅分类器相结合。浅分类器可以是两类线性分类器,例如,其中可将特征向量分量的加权和与阈值作比较以预测输入属于哪一类。人类工程设计的特征可以是由拥有领域专业知识的工程师针对特定问题领域定制的模版或内核。相比之下,深度学习架构可学习以表示与人类工程师可能会设计的类似的特征,但它是通过训练来学习的。此外,深度网络可以学习以表示和识别人类可能还没有考虑过的新类型的特征。

深度学习架构可以学习特征阶层。例如,如果向第一层呈递视觉数据,则第一层可学习以识别输入流中的相对简单的特征(诸如边)。在另一示例中,如果向第一层呈递听觉数据,则第一层可学习以识别特定频率中的频谱功率。取第一层的输出作为输入的第二层可以学习以识别特征组合,诸如对于视觉数据识别简单形状或对于听觉数据识别声音组合。例如,更高层可学习以表示视觉数据中的复杂形状或听觉数据中的词语。再高层可学习以识别常见视觉对象或口语短语。

深度学习架构在被应用于具有自然阶层结构的问题时可能表现特别好。例如,机动交通工具的分类可受益于首先学习以识别轮子、挡风玻璃、以及其他特征。这些特征可在更高层以不同方式被组合以识别轿车、卡车和飞机。

神经网络可被设计成具有各种各样的连通性模式。在前馈网络中,信息从较低层被传递到较高层,其中给定层中的每个神经元向更高层中的神经元进行传达。如上所述,可在前馈网络的相继层中构建阶层式表示。神经网络还可具有回流或反馈(也被称为自顶向下(top-down))连接。在回流连接中,来自给定层中的神经元的输出可被传达给相同层中的另一神经元。回流架构可有助于识别跨越不止一个按顺序递送给该神经网络的输入数据组块的模式。从给定层中的神经元到较低层中的神经元的连接被称为反馈(或自顶向下)连接。当高层级概念的识别可辅助辨别输入的特定低层级特征时,具有许多反馈连接的网络可能是有助益的。

神经网络的各层之间的连接可以是全连通的或局部连通的。图2A解说了全连通神经网络202的示例。在全连通神经网络202中,第一层中的神经元可将它的输出传达给第二层中的每个神经元,从而第二层中的每个神经元将从第一层中的每个神经元接收输入。图2B解说了局部连通神经网络204的示例。在局部连通神经网络204中,第一层中的神经元可连接到第二层中有限数目的神经元。更一般化地,局部连通神经网络204的局部连通层可被配置成使得一层中的每个神经元将具有相同或相似的连通性模式,但其连接强度可具有不同的值(例如,210、212、214和216)。局部连通的连通性模式可能在更高层中产生空间上相异的感受野,这是由于给定区域中的更高层神经元可接收到输入,其通过训练被调谐到至网络的总输入的受限部分的性质。

局部连通神经网络的一个示例是卷积神经网络。图2C解说了卷积神经网络206的示例。卷积神经网络206可被配置成使得与针对第二层中每个神经元的输入相关联的连接强度被共享(例如,208)。卷积神经网络可能非常适合于其中输入的空间位置有意义的问题。

一种类型的卷积神经网络是深度卷积网络(DCN)。图2D解说了被设计成识别来自图像捕捉设备230(诸如车载相机)的图像226输入的视觉特征的DCN 200的详细示例。可对当前示例的DCN 200进行训练以标识交通标志以及在交通标志上提供的数字。当然,DCN200可被训练用于其他任务,诸如标识车道标记或标识交通信号灯。

可以用监督式学习来训练DCN 200。在训练期间,可向DCN 200呈递图像(诸如限速标志的图像226),并且随后可计算“前向传递(forward pass)”以产生输出222。DCN 200可包括特征提取区段和分类区段。在接收到图像226之际,卷积层232可向图像226应用卷积核(未示出),以生成第一特征图集合218。作为示例,卷积层232的卷积核可以是生成28x28特征图的5x5核。在本示例中,由于在第一特征图集合218中生成四个不同的特征图,因此在卷积层232处四个不同的卷积核被应用于图像226。卷积核还可被称为过滤器或卷积过滤器。

第一特征图集合218可由最大池化层(未示出)进行子采样以生成第二特征图集合220。最大池化层减小了第一特征图集合218的大小。即,第二特征图集合220的大小(诸如14x14)小于第一特征图集合218的大小(诸如28x28)。减小的大小向后续层提供类似的信息,同时降低存储器消耗。第二特征图集合220可经由一个或多个后续卷积层(未示出)被进一步卷积,以生成一个或多个后续特征图集合(未示出)。

在图2D的示例中,第二特征图集合220被卷积以生成第一特征向量224。此外,第一特征向量224被进一步卷积以生成第二特征向量228。第二特征向量228的每个特征可包括与图像226的可能特征(诸如“标志”、“60”和“100”)相对应的数。softmax(软最大化)函数(未示出)可将第二特征向量228中的数转换为概率。如此,DCN 200的输出222是图像226包括一个或多个特征的概率。

在本示例中,输出222中关于“标志”和“60”的概率高于输出222的其他特征(诸如“30”、“40”、“50”、“70”、“80”、“90”和“100”)的概率。在训练之前,由DCN 200产生的输出222很可能是不正确的。由此,可计算输出222与目标输出之间的误差。目标输出是图像226的真值(例如,“标志”和“60”)。DCN 200的权重可随后被调整以使得DCN 200的输出222与目标输出更紧密地对齐。

为了调整权重,学习算法可为权重计算梯度向量。该梯度可指示在权重被调整情况下误差将增加或减少的量。在顶层处,该梯度可直接对应于连接倒数第二层中的活化神经元与输出层中的神经元的权重的值。在较低层中,该梯度可取决于权重的值以及所计算出的诸较高层的误差梯度。权重可随后被调整以减小误差。这种调整权重的方式可被称为“后向传播”,因为其涉及穿过神经网络的“后向传递(backward pass)”。

在实践中,权重的误差梯度可能是在少量示例上计算的,从而计算出的梯度逼近真实误差梯度。这种逼近方法可被称为随机梯度下降法。随机梯度下降法可被重复,直到整个系统可达成的误差率已停止下降或直到误差率已达到目标水平。在学习之后,DCN可被呈递新图像(例如,图像226的限速标志)并且通过网络前向传递可产生输出222,其可被认为是该DCN的推断或预测。

深度置信网络(DBN)是包括多层隐藏节点的概率性模型。DBN可被用于提取训练数据集的阶层式表示。DBN可通过堆叠数层受限波尔兹曼机(RBM)来获得。RBM是一种可在输入集上学习概率分布的人工神经网络。由于RBM可在没有关于每个输入应该被分类到哪个类的信息的情况下学习概率分布,因此RBM经常被用于无监督式学习中。使用混合无监督式和有监督式范式,DBN的底部RBM可按无监督方式被训练并且可以用作特征提取器,而顶部RBM可按有监督方式(在来自先前层的输入和目标类的联合分布上)被训练并且可用作分类器。

深度卷积网络(DCN)是卷积网络的网络,其配置有附加的池化和归一化层。DCN已在许多任务上达成现有最先进的性能。DCN可使用有监督式学习来训练,其中输入和输出目标两者对于许多典范是已知的并被用于通过使用梯度下降法来修改网络的权重。

DCN可以是前馈网络。另外,如上所述,从DCN的第一层中的神经元到下一更高层中的神经元群的连接跨第一层中的神经元被共享。DCN的前馈和共享连接可被利用于进行快速处理。DCN的计算负担可比例如类似大小的包括回流或反馈连接的神经网络的计算负担小得多。

卷积网络的每一层的处理可被认为是空间不变模版或基础投影。如果输入首先被分解成多个通道,诸如彩色图像的红色、绿色和蓝色通道,那么在该输入上训练的卷积网络可被认为是三维的,其具有沿着该图像的轴的两个空间维度以及捕捉颜色信息的第三维度。卷积连接的输出可被认为在后续层中形成特征图,该特征图(例如,220)中的每个元素从先前层(例如,特征图218)中一定范围的神经元以及从该多个通道中的每个通道接收输入。特征图中的值可以用非线性(诸如矫正max(0,x))进一步处理。来自毗邻神经元的值可被进一步池化(这对应于降采样)并可提供附加的局部不变性以及降维。还可通过特征图中神经元之间的侧向抑制来应用归一化,其对应于白化。

深度学习架构的性能可随着有更多被标记的数据点变为可用或随着计算能力提高而提高。现代深度神经网络用比仅仅十五年前可供典型研究者使用的计算资源多数千倍的计算资源来例行地训练。新的架构和训练范式可进一步推升深度学习的性能。经矫正的线性单元可减少被称为梯度消失的训练问题。新的训练技术可减少过拟合(over-fitting)并因此使更大的模型能够达成更好的泛化。封装技术可抽象出给定的感受野中的数据并进一步提升总体性能。

图3是解说深度卷积网络350的框图。深度卷积网络350可包括多个基于连通性和权重共享的不同类型的层。如图3中示出的,深度卷积网络350包括卷积块354A、354B。卷积块354A、354B中的每一者可配置有卷积层(CONV)356、归一化层(LNorm)358、和最大池化层(MAX POOL)360。

卷积层356可包括一个或多个卷积过滤器,其可被应用于输入数据以生成特征图。尽管仅示出了两个卷积块354A、354B,但本公开不限于此,而是代之以根据设计偏好可将任何数目的卷积块354A、354B包括在深度卷积网络350中。归一化层358可对卷积过滤器的输出进行归一化。例如,归一化层358可提供白化或侧向抑制。最大池化层360可提供在空间上的降采样聚集以实现局部不变性和降维。

例如,深度卷积网络的并行过滤器组可被加载到SOC 100的CPU 102或GPU 104上以达成高性能和低功耗。在替换实施例中,并行过滤器组可被加载到SOC 100的DSP 106或ISP 116上。另外,深度卷积网络350可访问其他可存在于SOC 100上的处理块,诸如分别专用于传感器和导航的传感器处理器114和导航模块120。

深度卷积网络350还可包括一个或多个全连接层(例如,FC1和FC2)。深度卷积网络350可进一步包括逻辑回归(LR)层364。深度卷积网络350的每一层356、358、360、362、364之间是要被更新的权重(未示出)。每一层(例如,356、358、360、362、364)的输出可以用作深度卷积网络350中一后续层(例如,356、358、360、362、364)的输入以从第一卷积块354A处供应的输入数据352(例如,图像、音频、视频、传感器数据和/或其他输入数据)学习阶层式特征表示。深度卷积网络350的输出是针对输入数据352的分类得分366。分类得分366可以是概率集,其中每个概率是输入数据包括来自特征集的特征的概率。

如所讨论的,本公开的各方面涉及用于n-球体(S

为了简单起见,球体回归系统一般在视点估计的上下文中来讨论。但是相同的框架可以被应用于S

n-球体指的是在欧几里得空间中(n+1)维球体的表面边界。例如,S

在各种计算机视觉任务中使用旋转变换,各种计算机视觉任务诸如举例来说定向估计、视点/姿态估计、和相机重定位。旋转变换可以被表达为大小为n且行列式为+1的正交矩阵(旋转矩阵)。所有可能的旋转矩阵的集合可形成充当向量算子的群。该群可以被称为专用正交谎言群SO(n)。SO(1)表示所有一维(1D)旋转变换的集合(例如,1D旋转群),SO(2)表示所有二维(2D)旋转变换的集合(例如,2D旋转群),而SO(3)表示所有可能的三维(3D)旋转的集合(例如,3D旋转群)。

对象的2D旋转达角度

图4A解说了与S

图4B解说了根据本公开的各方面的对象450的2D旋转达角度

3D旋转群SO(3)可以被定义为旋转轴和旋转角度的选择。3D旋转群SO(3)可能无法等同地映射到S

图5A解说了基于S

在一种配置中,3D单位向量(x,y,z)表示3D形状中的表面法线。表面法线指的是3D流场的运动方向或球体(例如,地球)上的地理位置。3D单位向量具有固定范数x

图6解说了根据本公开的各方面的3D单位向量600的示例。如图6所示,3D单位向量600表示3D形状602的表面法线。S

S

根据2D图像进行视点估计确定了对象相对于相机的相对3D旋转。3D旋转被表达为矩阵R。矩阵R可以从所有可能的3D旋转的集合中选择。为了简单起见,3D旋转通过独立地预测三个欧拉角(例如,方位角(a)、仰角(e)和平面内旋转(t))来获得。在一种配置中,执行S

即,本公开的各方面在给定输入(诸如对象的图像)的情况下估计n-球体目标。但是,该输入不限于图像。n-球体可以表示2D/3D旋转。因此,本公开的各方面可以在视点估计、表面法线估计、旋转估计、和/或其中问题可以被制定为n-球体目标的回归的其他估计中使用。

该估计(例如,视点估计、表面法线估计、旋转估计)可以被称为球体目标。神经网络可以基于输入中的对象的表示将该输入与对应于球体目标的一组值相关联。如本领域技术人员已知的,在人工神经网络中,将值与输入相关联可以被称为标记。

作为示例,当球体目标是视点估计时,神经网络预测对象相对于捕捉输入的传感器的视角。在该示例中,该输入可以与用于视点估计的视角的数值(例如,坐标)相关联(例如,被标记)。作为另一示例,当球体目标是表面法线估计时,神经网络可以预测对象的表面法线。在该示例中,该输入可以与对应于用于表面法线估计的表面法线的数值相关联。在又一示例中,当球体目标是旋转估计时,神经网络可以预测对象的3D旋转的四元数。在该示例中,该输入可以与对应于用于旋转估计的四元数的数值相关联。

在一种配置中,给定对象的图像x,视点估计恢复对象相对于相机的定向角

神经网络可以进行端到端训练。为了简单起见,神经网络可以被描述为两个子网络。第一子网络(例如,基础神经网络)H(·)将输入图像x的像素值映射到原始d-维向量表示O=[o

第二子网络(例如,预测头部)在基础网络之后来定义。第二子网络提供预测P。在训练期间,损失函数L(·,·)可以在第二子网络之后来定义。损失函数可以在训练期间被使用以计算预测P与基本事实表示之间的距离。在一种配置中,第二子网络实现球体指数激活函数。

如所讨论的,P的值基于估计的类型。例如,对于1D定向估计而言,P是

在训练期间,第k层参数可以用随机梯度下降来更新,

当梯度受约束时,可以使训练稳定,并且可以改善收敛的一致性。在S

球体指数激活函数的输出(例如,预测P={p

球体指数激活函数生成归一化值以约束输出(例如,预测P)。即,球体指数激活函数是l

其中

球体指数激活函数将R

指数映射可以将输出值界定在正范围内。然而在球体回归中,目标可以是正的或负的。为了提供对正角度和负角度的视点回归,2D表示可以被重新参数化为:

其中分开预测回归目标的符号和绝对值。

图7解说了根据本公开的各方面的球体回归系统700的示例。作为示例,球体回归系统700可以标记用于2D旋转群SO(2)的球体目标,其中输出表示位于S

如图7所示,图像704被输入到第一神经网络702。第一神经网络702可以是卷积神经网络。图像704可以经由设备(诸如自主交通工具)的传感器(诸如相机)获得。其具有的维度少于图像704的维度的内核706可以被应用以获得来自图像704的特征。

在常规的分类系统中,由第一神经网络702的激活层708生成的激活通过softmax层被分布在多个槽上。与分类系统相反,回归系统可以输出连续的预测(例如,非离散化预测)。无论损失函数的类型如何(例如,L1、L2、平滑-L1),回归系统学习目标的绝对值(例如,

在图7中,第一神经网络702的输出(o

本公开的各方面涉及将球体指数激活函数(S

相应地,梯度现在受到设计的约束。具体地,梯度

如图7所示,第二分支710确定输出的符号。在标记用于2D旋转群SO(2)的球体目标的当前示例中,第二分支710确定在2D球面上的坐标(例如,

在训练期间,受约束的输出(p

在另一种配置中,叉熵损失被用于确定损失:

图7的讨论限于用于2D旋转群SO(2)的球体回归,其中输出表示位于S

另外,球体回归可以被用于确定任何维度上的有向向量。如所讨论的,本公开的各方面可以被用于表面法线估计。表面法线是与场景(诸如3D场景)中的表面对象上的点的切面垂直的方向。表面法线可以由位于S

对于表面法线估计,可以针对场景的图像实现像素级预测。类似于S

本公开的各方面还可被用于3D旋转群SO(3)的四元数参数化。3D旋转群SO(3)的单位四元数q表示被表示为q=a+bi+cj+dk,其中a

图8解说了根据本公开的各方面的流程图800。根据本公开的一方面,该方法可经由基于球体回归的神经网络来估计球体目标。球体目标可以是表面法线、视点、四元数或其他类型的球体目标。如图8所示,在框802,神经网络接收包括对象的表示的输入。例如,该输入是3D对象的2D图像。该输入不限于图像,因为可以接收其他类型的输入。图7的球体回归系统700是基于球体回归的神经网络的示例。

在框804,神经网络估计对应于该对象的无约束坐标。无约束坐标估计可以在神经网络的倒数第二层处生成。无约束坐标估计可以是连续预测(例如,估计)的向量。向量的元素的数目可基于估计的类型(例如,1D、2D或3D估计)。

在框806,神经网络通过将球体指数激活函数应用于该无约束坐标来估计球体上的坐标。即,神经网络可以将所估计的坐标约束到球体。在训练期间,球体指数激活函数可以使用损失函数(诸如余弦距离函数)来训练。球体的维度可以在球体目标上。例如,对于表面法线估计,球体可以是3D球体。作为另一示例,对于视点估计,球体可以是2D或3D。

在框808,神经网络基于所估计的球体上的坐标用对应于球体目标的一组值来标记该输入。该一组值可包括对象相对于捕捉输入的传感器的视角、对象的3D旋转的四元数表示、或对象的表面法线。作为示例,神经网络将该输入与对象相对于捕捉输入的传感器的视角相关联(例如,用其标记输入)、标记对象的3D旋转的四元数表示、或者标记对象的表面法线。在一种配置中,视角包括三个欧拉角。球体上的坐标满足球体的l

在一种配置中,神经网络还生成球体目标的符号。符号可以在神经网络的输出处与所预测的标记组合。在训练期间,符号经由神经网络的单独分支来训练。

在一些方面,方法800可由SOC 100(图1)来执行。即,作为示例而非限制,方法800的每个元素可由SOC 100或者一个或多个处理器(例如,CPU 102)和/或其他所包括的组件来执行。

以上所描述的方法的各种操作可由能够执行相应功能的任何合适的装置来执行。这些装置可包括各种硬件和/或(诸)软件组件和/或(诸)模块,包括但不限于电路、专用集成电路(ASIC)、或处理器。一般而言,在附图中有解说的操作的场合,那些操作可具有带相似编号的相应配对装置加功能组件。

如本文所使用的,术语“确定”涵盖各种各样的动作。例如,“确定”可包括演算、计算、处理、推导、研究、查找(例如,在表、数据库或另一数据结构中查找)、查明及诸如此类。另外,“确定”可包括接收(例如接收信息)、访问(例如访问存储器中的数据)、及类似动作。此外,“确定”可包括解析、选择、选取、确立及类似动作。

如本文中所使用的,引述一列项目中的“至少一者”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一个”旨在涵盖:a、b、c、a-b、a-c、b-c、以及a-b-c。

结合本公开所描述的各种解说性逻辑框、模块、以及电路可用设计成执行本文中所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、分立的门或晶体管逻辑、分立的硬件组件或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何市售的处理器、控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如,DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其他此类配置。

结合本公开所描述的方法或算法的步骤可直接在硬件中、在由处理器执行的软件模块中、或在这两者的组合中实施。软件模块可驻留在本领域所知的任何形式的存储介质中。可使用的存储介质的一些示例包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM,等等。软件模块可包括单条指令、或许多条指令,且可分布在若干不同的代码段上,分布在不同的程序间以及跨多个存储介质分布。存储介质可被耦合到处理器以使得该处理器能该存储介质读取信息以及向该存储介质写入信息。在替换方案中,存储介质可被整合到处理器。

本文所公开的方法包括用于实现所描述的方法的一个或多个步骤或动作。这些方法步骤和/或动作可以彼此互换而不会脱离权利要求的范围。换言之,除非指定了步骤或动作的特定次序,否则具体步骤和/或动作的次序和/或使用可以改动而不会脱离权利要求的范围。

所描述的功能可在硬件、软件、固件或其任何组合中实现。如果以硬件实现,则示例硬件配置可包括设备中的处理系统。处理系统可以用总线架构来实现。取决于处理系统的具体应用和整体设计约束,总线可包括任何数目的互连总线和桥接器。总线可将包括处理器、机器可读介质、以及总线接口的各种电路链接在一起。总线接口可用于尤其将网络适配器等经由总线连接至处理系统。网络适配器可用于实现信号处理功能。对于某些方面,用户接口(例如,按键板、显示器、鼠标、操纵杆,等等)也可以被连接到总线。总线还可以链接各种其他电路,诸如定时源、外围设备、稳压器、功率管理电路以及类似电路,它们在本领域中是众所周知的,因此将不再进一步描述。

处理器可负责管理总线和一般处理,包括对存储在机器可读介质上的软件的执行。处理器可用一个或多个通用和/或专用处理器来实现。示例包括微处理器、微控制器、DSP处理器、以及其他能执行软件的电路系统。软件应当被宽泛地解释成意指指令、数据、或其任何组合,无论是被称作软件、固件、中间件、微代码、硬件描述语言、或其他。作为示例,机器可读介质可包括随机存取存储器(RAM)、闪存存储器、只读存储器(ROM)、可编程只读存储器(PROM)、可擦式可编程只读存储器(EPROM)、电可擦式可编程只读存储器(EEPROM)、寄存器、磁盘、光盘、硬驱动器、或者任何其他合适的存储介质、或其任何组合。机器可读介质可被实施在计算机程序产品中。该计算机程序产品可包括包装材料。

在硬件实现中,机器可读介质可以是处理系统中与处理器分开的一部分。然而,如本领域技术人员将容易领会的,机器可读介质或其任何部分可在处理系统外部。作为示例,机器可读介质可包括传输线、由数据调制的载波、和/或与设备分开的计算机产品,所有这些都可由处理器通过总线接口来访问。替换地或附加地,机器可读介质或其任何部分可被集成到处理器中,诸如高速缓存和/或通用寄存器文件可能就是这种情形。虽然所讨论的各种组件可被描述为具有特定位置,诸如局部组件,但它们也可按各种方式来配置,诸如某些组件被配置成分布式计算系统的一部分。

处理系统可被配置为通用处理系统,该通用处理系统具有一个或多个提供处理器功能性的微处理器、以及提供机器可读介质中的至少一部分的外部存储器,它们都通过外部总线架构与其他支持电路系统链接在一起。替换地,该处理系统可包括一个或多个神经元形态处理器以用于实现本文中所描述的神经元模型和神经系统模型。作为另一替换方案,处理系统可以用带有集成在单块芯片中的处理器、总线接口、用户接口、支持电路系统、和至少一部分机器可读介质的专用集成电路(ASIC)来实现,或者用一个或多个现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、分立硬件组件、或者任何其他合适的电路系统、或者能执行本公开通篇所描述的各种功能性的电路的任何组合来实现。取决于具体应用和加诸于整体系统上的总设计约束,本领域技术人员将认识到如何最佳地实现关于处理系统所描述的功能性。

机器可读介质可包括数个软件模块。这些软件模块包括当由处理器执行时使处理系统执行各种功能的指令。这些软件模块可包括传送模块和接收模块。每个软件模块可以驻留在单个存储设备中或者跨多个存储设备分布。作为示例,当触发事件发生时,可以从硬驱动器中将软件模块加载到RAM中。在软件模块执行期间,处理器可以将一些指令加载到高速缓存中以提高访问速度。可随后将一个或多个高速缓存行加载到通用寄存器文件中以供处理器执行。在以下述及软件模块的功能性时,将理解此类功能性是在处理器执行来自该软件模块的指令时由该处理器来实现的。此外,应领会,本公开的各方面产生对处理器、计算机、机器或实现此类方面的其它系统的机能的改进。

如果以软件实现,则各功能可作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。计算机可读介质包括计算机存储介质和通信介质两者,这些介质包括促成计算机程序从一地向另一地转移的任何介质。存储介质可以是能被计算机访问的任何可用介质。作为示例而非限定,此类计算机可读介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能用于携带或存储指令或数据结构形式的期望程序代码且能被计算机访问的任何其他介质。另外,任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或无线技术(诸如红外(IR)、无线电、以及微波)从web网站、服务器、或其他远程源传送而来,则该同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外、无线电、以及微波)就被包括在介质的定义之中。如本文所使用的盘(disk)和碟(disc)包括压缩碟(CD)、激光碟、光碟、数字多用碟(DVD)、软盘、和

由此,某些方面可包括用于执行本文中给出的操作的计算机程序产品。例如,此类计算机程序产品可包括其上存储(和/或编码)有指令的计算机可读介质,这些指令能由一个或多个处理器执行以执行本文中所描述的操作。对于某些方面,该计算机程序产品可包括包装材料。

此外,应当领会,用于执行本文中所描述的方法和技术的模块和/或其他恰适装置可由用户终端和/或基站在适用的场合下载和/或以其他方式获得。例如,此类设备能被耦合到服务器以促成用于执行本文中所描述的方法的装置的转移。替换地,本文中所描述的各种方法能经由存储装置(例如,RAM、ROM、诸如压缩碟(CD)或软盘之类的物理存储介质等)来提供,以使得一旦将该存储装置耦合到或提供给用户终端和/或基站,该设备就能获得各种方法。此外,可利用适于向设备提供本文中所描述的方法和技术的任何其他合适的技术。

将理解,权利要求并不被限于以上所解说的精确配置和组件。可在以上所描述的方法和装置的布局、操作和细节上作出各种改动、更换和变形而不会脱离权利要求的范围。

相关技术
  • 通过球体回归的N-球体上的坐标估计
  • 球体栏杆上的球体冲压成型模具
技术分类

06120113106470