姿态估计方法、装置、电子设备以及存储介质
文献发布时间:2024-04-18 19:58:53
技术领域
本发明涉及姿态估计的技术领域,尤其涉及一种姿态估计方法、装置、电子设备以及存储介质。
背景技术
随着三维人体姿态估计领域的发展,对基于深度学习的三维人体姿态估计方法的需求不断增加,相较于传统方法,深度学习对在复杂环境下的人体姿态具有更高的准确性和鲁棒性。
当前基于深度学习的算法已经取得了不少成效明显的研究成果,但依然存在着许多亟待解决的难题。一方面,现有技术基于卷积神经网络,感受野较为受限,不同部位的有效特征交互非常有限,全局骨架点建模能力弱,另一方面,人体动作与姿态多样化、成像环境复杂、存在自遮挡与互遮挡问题。
发明内容
根据本公开的一方面,提供了一种姿态估计方法,包括:
提取待检测图像的图像特征,所述待检测图像含有目标物;
确定所述图像特征转换的序列化特征和所述序列化特征在所述图像特征的位置信息;
采用编码器对所述序列化特征进行处理,得到多头注意力拼接特征;
基于所述位置信息将所述多头注意力拼接特征转换为图像编码特征;
利用解码器对所述图像编码特征进行解码,获得目标物的三维姿态估计结果。
根据本公开的另一方面,提供了一种姿态估计装置,包括:
处理模块,用于提取待检测图像的图像特征,所述待检测图像含有目标物,确定所述图像特征转换的序列化特征和所述序列化特征在所述图像特征的位置信息;
编码模块,用于采用编码器对所述序列化特征进行处理,得到多头注意力拼接特征;
所述处理模块还用于基于所述位置信息将所述多头注意力拼接特征转换为图像编码特征;
解码模块,用于利用解码器对所述图像编码特征进行解码,获得目标物的三维姿态估计结果。
根据本公开的另一方面,提供了一种电子设备,包括:
处理器;以及,
存储程序的存储器;
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据本公开示例性实施例所述的方法。
根据本公开的另一方面,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行根据本公开示例性实施例所述的方法。
本公开实施例中提供的一个或多个技术方案,提取到待检测图像的图像特征后,确定图像特征转换的序列化特征和所述序列化特征在图像特征的位置信息。此时,可以采用编码器对序列化特征进行处理,得到多头注意力拼接特征。由于位置信息为序列化特征在图像特征的位置信息,因此,可以基于位置信息将多头注意力拼接特征转换为图像编码特征,并通过解码器对所述图像编码特征进行解码,获得目标物的三维姿态估计结果。而由于多头注意力拼接特征可以保证待检测图像所含有的目标物的不同部位之间特征交互,增强全局建模能力,因此,本公开示例性实施例的方法可以解决姿态估计中动作与姿态多样化、成像环境复杂、存在自遮挡与互遮挡问题。
附图说明
在下面结合附图对于示例性实施例的描述中,本公开的更多细节、特征和优点被公开,在附图中:
图1示出了本公开示例性实施例的姿态估计方法的流程示意图;
图2示出了根据本公开示例性实施例的图像特征提取网络的结构示意图;
图3示出了以四个残差单元为例的图像特征提取网络的结构示意图;
图4示出了根据本公开示例性实施例的3×3特征图转换为序列化特征的原理示意图;
图5示出了根据本公开示例性实施例的编码器的结构示意图;
图6示出了根据本公开示例性实施例的多头注意力拼接特征转换为3×3图像编码特征的原理示意图;
图7示出了根据本公开示例性实施例的姿态估计装置的功能模块示意性框图;
图8示出了根据本公开示例性实施例的芯片的示意性框图;
图9示出了能够用于实现本公开的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
传统的姿态估计方法包括基于生成方法的三维估计、基于判别方法的三维姿态估计、基于模板匹配方法的三维姿态估计。传统的姿态估计方法基本采用人为手动提取特征来描述和推断姿态。由于传统的姿态估计方法对特征表示和特征点的空间位置关系这两个维度有较高的要求,而人为手动提取特征只能采用特定算子去提取特定特征,无法提取特定算子外的其它特征。同时,待检测图像容易受到光照、采集成本和采集环境因素影响,导致待检测图像的特征点模糊。待检测图像的目标物还会存在自遮挡和互遮挡问题,使得特征点的空间位置关系不完整,造成图像部分细节信息丢失。以上技术问题最终导致目标物的三维姿态估计准确率低,同时大大限制传统方法的适用范围。
相关技术中,基于深度学习的姿态估计方法包括基于直接回归的三维姿态估计、基于二维信息的三维姿态估计、基于混合方法的三维姿态估计。现有的姿态估计方法大多基于卷积神经网络,这种方法的感受野较为受限,导致不同部位尤其是长距离的特征点之间有效特征交互能力差,造成姿态估计方法的全局建模能力变弱。同时,当待检测图像的成像环境复杂、目标物的动作与姿态多样、目标物存在自遮挡与互遮挡问题时,无法提取完整的特征点,且特征点之间没有高效的特征交互能力,全局建模能力弱,最终导致无法输出完整、准确的三维姿态估计结果。
针对上述问题,本公开示例性实施例提供一种姿态估计方法,以解决当待检测图像的成像环境复杂、目标物的动作与姿态多样、目标物存在自遮挡与互遮挡问题时,因为感受野受限而导致不同部位特征点之间有效特征交互能力差,特征点全局建模能力有限的问题。
图1示出了本公开示例性实施例的姿态估计方法的流程示意图。如图1所示,本公开示例性实施例的姿态估计方法100,包括:
步骤101:提取待检测图像的图像特征,该待检测图像含有目标物。此处待检测图像可以为待检测图片或待检测视频,待检测图像所含有的目标物可以是需要进行姿态估计的人体、动物、植物或建筑物,但不仅限于此。
在实际应用中,可以提取待检测图像的多尺度特征图,对多尺度特征图进行特征融合,获得图像特征。此时,图像特征是由不同尺度的特征图拼接而成,使得图像特征含有多重感受野的信息。
示例性的,图2示出了本公开示例性实施例的图像特征提取网络的结构示意图。如图所示,图像特征提取网络200可以包括拼接单元202和串联的N个残差单元201,N为大于或等于2的整数,不同残差单元可以输出不同尺度的特征图,拼接单元用于将不同尺度的特征图进行拼接,从而获得图像特征。
上述串联的N个残差单元201可以构成主干网络,其所含有的残差单元可以为ResNet或ResNext等残差单元。拼接单元可以一次性将所有尺度的特征图拼接在一起,也可以分层拼接不同尺度的特征图。下面以四个残差单元为例描述图像特征的提取过程。
图3示出了以四个残差单元为例的图像特征提取网络的结构示意图。如图3所示,本公开示例性实施例的图像特征提取网络300包括第一残差单元3011、第二残差单元3012、第三残差单元3013、第四残差单元3014、第一拼接单元3021、第二拼接单元3022和第三拼接单元3023。
第一残差单元3011基于待检测图像提取第一尺度特征图,第二残差单元3012基于第一尺度特征图提取第二尺度特征图,第三残差单元3013基于第二尺度特征图提取第三尺度特征图,第四残差单元3014基于第三尺度特征图提取第四尺度特征图。接着,第一拼接单元3021拼接第一尺度特征图与第二尺度特征图,获得第一拼接特征图,第二拼接单元3022拼接第一拼接特征图与第三尺度特征图,获得第二拼接特征图,第三拼接单元3023拼接第二拼接特征图与第四尺度特征图,获得第三拼接特征图,也就是从待检测图像提取到的图像特征。
示例性的,考虑到采用单一尺度的特征图进行姿态估计容易漏掉不同尺寸大小以及形状不一的目标物,导致目标物特征点提取功能受限。基于此,采用特征金字塔网络(Feature Pyramid Networks,FPN)对多尺度的图像特征进行特征融合,同时还根据不同尺度的特征进行不同尺度目标的预测,从而模拟不同尺寸以及各异的形态的目标物,以期获得更准确的特征点回归性能。
可见,本公开示例性实施例的图像特征提取网络可以将待检测图像的浅层特征和高层特征融合在一起,而待检测图像的浅层特征携带丰富的几何细节信息,高层特征具备丰富的语义信息,由此可知,图像特征不仅具备图像的边缘、纹理等几何细节信息,也具备到高层语义信息。
步骤102:确定图像特征的序列化特征和序列化特征在图像特征的位置信息。该过程可以是将二维特征图转换为一维特征向量的过程。而位置信息可以体现序列化特征中的元素在图像特征中的位置。
上述图像特征包括N1个C1×H×W的特征图,N1为大于或等于1的整数,C1表示图像特征的通道数量,H表示特征图的高度,W表示特征图的宽度,序列化特征包括N2个C2×L的序列,C2表示序列的通道数量,L表示序列的维度,L=H×W,N1=N2,C1=C2。为了记录序列化特征中每个元素在图像特征中的位置,例如:可以采用该元素在图像特征中的坐标、正弦编码或可学习的位置编码记录每个元素在图像特征中的位置。
图4示出了本公开示例性实施例的3×3特征图转换为序列化特征的原理示意图400。如图4所示,本公开示例性实施例的3×3特征图包括A、B、C、D、E、F、G、H和I共9个特征元素,其对应的位置编码如下表1所示:
表1 3×3特征图的特征元素位置编码
基于3×3特征图进行序列化转换后,可以获得1×9的序列化特征{A,B,C,D,E,F,G,H,I},对于序列化特征来说,其对应的每个元素在图像特征中的位置编码可以参考表1。可见,本公开示例性实施例中把图像特征转换为序列化特征的过程,可以把二维特征图转换为一维特征向量并且在转换过程中,各特征元素的位置编码保持不变。
步骤103:采用编码器对序列化特征进行处理,得到多头注意力拼接特征。此处编码器包括多头注意力模块和拼接模块,多头注意力模块处理序列化特征获得多头注意力特征,拼接模块将多头注意力特征进行拼接,得到多头注意力拼接特征。此处,多头注意力模块和拼接模块可以组成一个TransformerBlock,多个TransformerBlock堆叠可以构成Transformer Neck。
示例性的,采用编码器对序列化特征进行处理,得到多头注意力拼接特征还可以包括:将多头注意力特征与序列化特征拼接,或者将多头注意力拼接特征与序列化特征拼接,甚至将多头注意力特征、多头注意力拼接特征和序列化特征拼接,从而将序列化特征引入多头注意力拼接特征,由此不仅可以缓解梯度消失问题,有助于Transformer Block的模型收敛,还可以提取出不同层次的特征点和特征点之间的特征交互关系。
图5示出了本公开示例性实施例的编码器的结构示意图。如图5所示,本公开示例性实施例的编码器500可以包括多头注意力模块和串联的拼接模块,多头注意力模块包括第一标准化子模块501和多头自注意力子模块502,拼接模块包括第二标准化子模块503和串联的多层感知机504。
第一标准化子模块501对序列化特征进行处理,得到标准化的序列化特征,多头自注意力子模块502可以提取标准化的序列化特征的多头注意力特征,接着第二标准化子模块503对多头注意力特征进行处理,得到标准化的多头注意力特征,多层感知机504拼接标准化的多头注意力特征与序列化特征,获得多头注意力拼接特征。
本公开示例性实施例还可以将多头注意力特征和序列化特征进行拼接,然后送入第二标准化子模块进行处理。将多头注意力特征和序列化特征进行拼接能缓解梯度消失问题,有助于多头自注意力子模块的模型收敛。
本公开示例性实施例还可以将多头注意力拼接特征和序列化特征进行拼接,以缓解梯度消失问题,有助于多层感知机的模型收敛。也可以将多头注意力特征、多头注意力拼接特征和序列化特征拼接,以缓解梯度消失问题,有助于Transformer Block的模型收敛。
可见,本公开示例性实施例的编码器可以通过多头自注意力机制提取不同层次的特征,拼接模块再把不同头提取的特征进行拼接,由此获得的多头注意力拼接特征不仅可以提取出不同层次的特征点还可以获得特征点之间的特征交互关系,由此提升不同部位尤其是长距离的特征点之间有效特征交互能力,增强全局建模能力。
步骤104:基于位置信息将多头注意力拼接特征转换为图像编码特征;该过程可以是将一维特征向量转换为二维特征图的过程。而位置信息可以体现多头注意力拼接特征中的元素在图像编码特征中的位置,其中多头注意力拼接特征中元素的位置编码与序列化特征中元素的位置编码保持一致。
对于多头注意力拼接特征来说,其实质仍然是一种序列化特征,其维度与序列化特的维度相同,也就是说,多头注意力拼接特征包括N3个C3×L的序列,N3为大于或等于1的整数,C3表示多头注意力拼接特征的通道数量,K表示多头注意力拼接特征的维度。图像编码特征的尺度可以与图像特征的尺度相同,也就是说,图像编码特征可以包括N4个C4×H×W的特征图,N4为大于或等于1的整数,C4表示图像编码特征的通道数量,N3=N4,C3=C4。
图6示出了本公开示例性实施例的多头注意力拼接特征转换为3×3图像编码特征的原理示意图600。如图6所示,本公开示例性实施例的多头注意力拼接特征可以为1×9的序列化特征{A’,B’,C’,D’,E’,F’,G’,H’,I’},每个特征元素对应的位置编码可以参考表1。当按照表1所示的位置编码可以将多头注意力拼接特征转换为3×3图像编码特征。
可见,本公开示例性实施例中把多头注意力拼接特征转换为图像编码特征的过程,可以把一维特征向量转换为二维图像编码特征图,并且,根据各特征元素对应的位置编码重组图像编码特征图可以保证每个特征点处于正确的层次和部位。
步骤105:利用解码器对图像编码特征进行解码,获得目标物的三维姿态估计结果。此处解码器包括第一检测分支和第二检测分支。此时利用解码器对图像编码特征进行解码,获得目标物的三维姿态估计结果,可以包括:
基于第一检测分支提取图像编码特征的目标物二维坐标,基于第二检测分支提取图像编码特征的目标物深度坐标,基于目标物二维坐标和目标物深度坐标,获得三维姿态估计结果。
在实际应用中,假设目标物总共有C
示例性的,考虑到单层三维关键点解码网络对关键点特征的利用不够充分,导致对三维人体的位姿(二维方向以及深度方向)估计不够准确。基于此,该上述第一检测分支又可以称作可变形热力图回归分支(Deformable Heatmap Regression Branch,DHRB),包括多层回归单元和位置调节单元。此时,基于第一检测分支提取所述图像编码特征的目标物二维坐标,包括:
基于多层回归单元对图像编码特征进行非线性回归,获得回归结果,基于位置调节单元对回归结果进行调整,获得调整后回归结果,基于调整后回归结果和图像编码特征,获得目标物二维坐标。
本公开示例性实施例的多层回归子模块可以为Heatmap回归形式的多层回归单元,其位置调整子模块可以为可变形卷积。
多层回归子模块对图像编码特征进行处理,得到预测二维坐标,位置调整子模块根据任一关键点的真实二维坐标与其对应的预测二维坐标在x、y方向上的偏置,对每一个预测二维坐标进行位置调整,最终获得目标物二维坐标回归结果。
第一检测分支通过多层回归子模块实际是采用由粗到细(Coarse-to-fine)的优化思路,引入多层网络可以增强非线性拟合能力,再使用位置调整子模块对多层回归子模块所获得的回归结果进行迭代优化,从而降低回归结果对目标物的形态的敏感度,提高目标物二维坐标的估计准确性。另外,基于调整后回归结果和图像编码特征,获得目标物二维坐标,可以保证目标物二维坐标的信息完整,不会损失过多的细节特征。
示例性的,第二检测分支可以为深度估计分支(Depth Estimation Branch,DEB),用于预测目标物的深度坐标,也就是目标物的每个关键点对应的深度坐标,该第二检测分支可以与第一检测分支并行。第二检测分支可以包括多个全连接层,同时为了减少参数数量,可以使用1×1卷积进行降维,还可以引入残差连接提升训练稳定性。
当获取到目标物二维坐标和目标物深度坐标后,可以将目标物二维坐标和目标物深度坐标进行关键点匹配,从而获得到每个关键点的三维坐标。例如:可以对目标物的关键点进行标记,在获取到目标物的多个关键点二维坐标和目标物的多个关键点深度坐标,可以按照关键点标记将每个关键点的二维坐标和三维坐标对齐,并按照正确拓扑将三维关键点连接在一起,从而获得三维姿态估计结果。
在实际应用中,二维图像中的目标物姿态,在三维空间中会有多个姿态与之对应,根据目标物深度坐标可以有效预测目标物的深度信息,提升目标物特征点深度预测的准确性,从而解决深度模糊问题。同时,由于目标物构造符合一定的规律,因此不同特征点之间在二维方向和深度方向上存在相互关系,按照特征点之间的互相关系拼接三维特征点坐标,可以有效解决目标物自遮挡和互遮挡问题,获得准确的三维姿态估计结果。
在进行模型训练时,可以同时监督第一检测分支和第二检测分支,从而在二维空间与深度维度同时进行优化。
第一检测分支可以使用的损失函数为:
本公开实施例中提供的一个或多个技术方案,提取到待检测图像的图像特征后,确定图像特征转换的序列化特征和所述序列化特征在图像特征的位置信息。此时,可以采用编码器对序列化特征进行处理,得到多头注意力拼接特征。由于位置信息为序列化特征在图像特征的位置信息,因此,可以基于位置信息将多头注意力拼接特征转换为图像编码特征,并通过解码器对所述图像编码特征进行解码,获得目标物的三维姿态估计结果。而由于多头注意力拼接特征可以保证待检测图像所含有的目标物的不同部位之间特征交互,增强全局建模能力,因此,本公开示例性实施例的方法可以解决姿态估计中动作与姿态多样化、成像环境复杂、存在自遮挡与互遮挡问题。
通过实验证明,采用本公开示例性实施例的姿态估计方法对视频或者图片进行姿态估计,在关键点检测准确率上提升10%,尤其对关键点的深度预测准确性效果提升显著,在模型训练计算方面,本公开示例性实施例的姿态估计方法仅在可变形热力图回归分支和深度估计分支对三维关键点进行预测,大大提高了计算速度,跟现存方法相比,计算时间大大下降。
上述主要从方法的角度对本公开实施例提供的方案进行了介绍。可以理解的是,为了实现上述功能,本公开示例性实施例的方法对应的装置包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
本公开实施例可以根据上述方法示例对服务器进行功能单元的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,本公开示例性实施例提供一种姿态估计装置,该姿态估计装置可以为服务器或应用于服务器的芯片。图7示出了根据本公开示例性实施例的姿态估计装置700的功能模块示意性框图。如图7所示,该姿态估计装置包括:
处理模块701,用于提取待检测图像的图像特征,所述待检测图像含有目标物,确定所述图像特征转换的序列化特征和所述序列化特征在所述图像特征的位置信息;
编码模块702,用于采用编码器对所述序列化特征进行处理,得到多头注意力拼接特征;
所述处理模块701还用于基于所述位置信息将所述多头注意力拼接特征转换为图像编码特征;
解码模块703,用于利用解码器对所述图像编码特征进行解码,获得目标物的三维姿态估计结果。
在一种可能的实现方式中,处理模块用于提取所述待检测图像的多尺度特征图,对所述多尺度特征图进行特征融合,获得所述图像特征。
在一种可能的实现方式中,所述图像特征包括N1个C1×H×W的特征图,N1为大于或等于1的整数,C1表示所述特征图的通道数量,H表示所述特征图的高度,W表示所述特征图的宽度;
所述序列化特征包括N2个C2×L的序列,C2表示所述序列的通道数量,L表示序列的维度,L=H×W,N1=N2,C1=C2。
在一种可能的实现方式中,所述编码器包括多头注意力模块和拼接模块,编码模块用于基于多头注意力模块处理所述序列化特征,获得多头注意力特征;基于所述拼接模块将所述多头注意力特征进行拼接,得到多头注意力拼接特征。
在一种可能的实现方式中,处理模块基于所述位置信息将所述多头注意力拼接特征转换为图像编码特征。
在一种可能的实现方式中,所述解码器包括第一检测分支和第二检测分支,基于所述第一检测分支提取所述图像编码特征的目标物二维坐标;基于第二检测分支提取所述图像编码特征的目标物深度坐标;基于所述目标物二维坐标和所述目标物深度坐标,获得所述三维姿态估计结果。
图8示出了根据本公开示例性实施例的芯片的示意性框图。如图8所示,该芯片800包括一个或两个以上(包括两个)处理器801和通信接口802。通信接口802可以支持服务器执行上述图像处理方法中的数据收发步骤,处理器801可以支持服务器执行上述图像处理方法中的数据处理步骤。
可选的,如图8所示,该芯片800还包括存储器803,存储器803可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,如图8所示,处理器801通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。处理器801控制终端设备中任一个的处理操作,处理器还可以称为中央处理单元(central processing unit,CPU)。存储器803可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器803的一部分还可以包括NVRAM。例如应用中存储器、通信接口以及存储器通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图8中将各种总线都标为总线系统804。
上述本公开实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本公开示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本公开实施例的方法。
本公开示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
本公开示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本公开实施例的方法。
参考图9,现将描述可以作为本公开的服务器或客户端的电子设备900的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
电子设备900中的多个部件连接至I/O接口905,包括:输入单元906、输出单元907、存储单元908以及通信单元909。输入单元906可以是能向电子设备900输入信息的任何类型的设备,输入单元906可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元907可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元908可以包括但不限于磁盘、光盘。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理。例如,在一些实施例中,提取待检测图像的图像特征;采用编码器对序列化特征进行处理;基于位置信息将多头注意力拼接特征转换为图像编码特征;利用解码器对图像编码特征进行解码,获得目标物的三维姿态估计结果等方法均可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到电子设备900上。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本公开使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
尽管结合具体特征及其实施例对本公开进行了描述,显而易见的,在不脱离本公开的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本公开的示例性说明,且视为已覆盖本公开范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包括这些改动和变型在内。
- 一种三维姿态估计方法、装置、设备和计算机存储介质
- 电子设备的显示控制方法、装置、电子设备和存储介质
- 电子设备控制方法及装置、电子设备及存储介质
- 数据分布存储方法、装置、存储介质及电子设备
- 存储清理方法、装置、电子设备及存储介质
- 电子设备的姿态估计方法、装置、电子设备和存储介质
- 电子设备的姿态估计方法、装置、电子设备和存储介质