CN110060296A - 估计姿态的方法、电子设备和显示虚拟对象的方法及设备 - Google Patents
估计姿态的方法、电子设备和显示虚拟对象的方法及设备 Download PDFInfo
- Publication number
- CN110060296A CN110060296A CN201810048656.9A CN201810048656A CN110060296A CN 110060296 A CN110060296 A CN 110060296A CN 201810048656 A CN201810048656 A CN 201810048656A CN 110060296 A CN110060296 A CN 110060296A
- Authority
- CN
- China
- Prior art keywords
- information
- estimating
- key point
- task
- posture
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 238000013528 artificial neural network Methods 0.000 claims description 116
- 230000003190 augmentative effect Effects 0.000 claims description 19
- 241000406668 Loxodonta cyclotis Species 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 description 81
- 238000012549 training Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 9
- 238000009877 rendering Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 230000001965 increasing effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 210000004218 nerve net Anatomy 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 210000005036 nerve Anatomy 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000011960 computer-aided design Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000004438 eyesight Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000003475 lamination Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/207—Analysis of motion for motion estimation over a hierarchy of resolutions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供一种利用局部信息来估计姿态的方法和电子设备以及显示虚拟对象的方法及设备。该估计姿态的方法包括:接收输入图像;以及估计输入图像中的对象的姿态信息,其中,当估计对象的姿态信息时使用对象的局部信息。因此,根据本发明实施例,在估计对象的姿态时使用通过对象的局部信息增强的对象的整体信息,提高了姿态估计的精度。
Description
技术领域
本发明实施例涉及对象的二维和/或三维姿态估计,更具体地说,涉及一种估计姿态的方法、电子设备和在增强现实中显示虚拟对象的方法及设备。
背景技术
对象的二维或三维姿态估计是很多视觉应用中的重要技术,诸如增强现实、监控、导航、操控、机器人应用等。
近年来,增强现实技术受到越来越多的关注。增强现实技术的一个基本功能是三维交互,即在现实世界的三维物体上叠加并显示增强信息。为了在三维交互中产生真实的视觉效果,需要使得增强信息和现实物体的三维姿态一致,因此需要获取现实物体的二维或三维姿态信息。
目前获取对象的姿态信息的三维交互技术可以从单幅图像中估计姿态。但是,从单幅图像中直接进行姿态估计的现有方法只使用图像的整体信息,没有利用对象的局部细节信息来提高姿态估计的精度。因此,基于单幅图像的整体信息进行姿态估计的方法精度不高,不能满足增强现实应用中高精度物体三维姿态估计的需求。
因此,需要一种能够提高姿态估计精度的对对象的姿态进行估计的方法和设备。
发明内容
针对现有技术的问题,本发明实施例提出了以下的解决方案。
根据本发明实施例的一个方面,提供一种估计姿态的方法,其特征在于,包括:接收输入图像;以及估计输入图像中的对象的姿态信息,其中,当估计对象的姿态信息时使用对象的局部信息。
根据本发明实施例的一个方面,提供一种估计姿态的装置,其特征在于,包括:接收模块,用于接收输入图像;以及估计模块,用于估计输入图像中的对象的姿态信息,其中,当估计对象的姿态信息时使用对象的局部信息。
根据本发明实施例的另一个方面,提供一种电子设备,包括:处理器;以及存储器,其中存储可由所述处理器执行的指令,当所述指令由所述处理器执行时,使所述处理器执行如下方法,该方法包括:接收输入图像;以及估计输入图像中的对象的姿态信息,其中,当估计对象的姿态信息时使用对象的局部信息。
根据本发明实施例的另一个方面,提供一种在增强现实中显示虚拟对象的方法,包括:检测图像中的一个或更多个目标对象;根据前述方法来估计检测到的目标对象的姿态信息;以及根据检测到的目标对象的姿态信息,在图像中添加虚拟对象。
根据本发明实施例的另一个方面,提供一种在增强现实中显示虚拟对象的设备,包括:检测模块,被配置为检测图像中的一个或更多个目标对象;估计模块,被配置为根据前述方法来估计检测到的目标对象的姿态信息;以及显示模块,被配置为根据检测到的目标对象的姿态信息,在图像中添加虚拟对象。
因此,根据本发明实施例,在估计对象的姿态时使用通过对象的局部信息增强的整体信息,提高了姿态估计的精度。
附图说明
通过以下借助附图的详细描述,将会更容易地理解本发明,其中相同的标号指定相同结构的单元,并且在其中:
图1示出根据本发明实施例的利用对象的局部信息来估计姿态的示范性概念图;
图2示出根据本发明实施例的利用对象的局部信息来估计姿态的方法的示范性流程图;
图3示出根据本发明实施例的利用对象的关键点信息来估计姿态的方法的示范性流程图;
图4示出了在相机模型中对象的六自由度(6DOF)姿态信息的示意图;
图5示出根据本发明的第一实施例的利用关键点信息来估计对象的姿态信息的并行神经网络的示意性视图;
图6示出根据本发明的第二实施例的利用关键点信息来估计对象的姿态信息的级联神经网络的示意性视图;
图7示出根据本发明的第三实施例的利用关键点信息来估计对象的姿态的多尺度神经网络的示意性视图;
图8示出根据本发明的第四实施例的利用对象的关键点信息和对象的类别信息来估计姿态的方法的示范性流程图;
图9示出根据本发明的第四实施例的利用关键点信息和类别信息来估计对象的姿态信息的并行神经网络的示意性视图;
图10示出根据本发明的第四实施例的利用关键点信息和类别信息来估计对象的姿态信息的级联神经网络的示意性视图;
图11示出根据本发明的第四实施例的利用关键点信息和类别信息来估计对象的姿态信息的多尺度神经网络的示意性视图;
图12中的(a)至(c)示出根据本发明的实施例的估计对象的姿态信息的效果图;
图13示出根据本发明实施例的估计姿态的装置的示意性框图;
图14示出根据本发明实施例的估计姿态的电子设备的示意性框图;
图15示出根据本发明实施例的在增强现实中显示虚拟对象的方法的示意性流程图;
图16示出了利用估计出的对象的六自由度姿态信息在增强现实(AugmentedReality,AR)中显示虚拟对象的具体方法的示意性流程图;
图17示出根据本发明实施例的利用图16中的方法在AR中显示虚拟对象的示例图;
图18示出根据本发明实施例的利用图16中的方法在AR中显示虚拟对象的另一示例图;和
图19示出根据本发明实施例的在增强现实中显示虚拟对象的设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提出利用对象的局部信息来辅助姿态估计。
图1示出根据本发明实施例的利用对象的局部信息来估计姿态的示范性概念图。
如图1中所示,通过输入图像可以得到图像中的对象的局部信息,并且在估计对象的姿态信息时可以利用对象的局部信息。
图2示出根据本发明实施例的利用对象的局部信息来估计姿态的方法200的示范性流程图。
如图2中所示,在步骤S210中,接收输入图像。在步骤S220中,估计输入图像中的对象的姿态信息,其中,当估计对象的姿态信息时使用对象的局部信息。从而,通过对象的局部信息来增强对象的整体信息。
因此,根据本发明实施例,在估计对象的姿态时联合使用对象的局部信息和姿态信息共同监督学习的参数,从而通过对象的局部信息来增强对象的整体信息,从而提高了姿态估计的精度。
在一个例子中,可以通过对象的关键点信息来增强提取对象的局部信息。但是,本发明实施例不限于此,还可以利用通过其他方式得到的对象的局部信息。
图3示出根据本发明实施例的利用对象的关键点信息来估计姿态的方法300的示范性流程图。
如图3中所示,在步骤S310中,接收输入图像。在步骤S320中,估计输入图像中的对象的姿态信息,其中,当估计对象的姿态信息时使用对象的局部信息。从而,通过对象的局部信息增强对象的整体信息。此外,在步骤S330中,估计对象的关键点信息。
在方法300中,在估计对象的姿态信息的同时估计对象的关键点信息,因此,可以并行执行步骤S320和S330。
这里,所使用的关键点信息指的是语义关键点。也就是说,对象的不同位置处的关键点被区别对待,且每个关键点具有自己的语义名字,而并非所有的点都是一样的关键点,例如,飞机的左翼上的关键点和右翼上的关键点是区别对待的。因此,在估计对象的关键点时,不仅要估计该关键点是一个关键点,还要估计这个关键点是哪个关键点。
关键点代表了对象上具有特殊形状或图像特征的局部位置,如对象的端点、表面形状变化的拐角点等。
在一个例子中,当估计对象的姿态信息时,当在步骤S320估计对象的姿态信息时,使用同时估计关键点信息学习到的特征来增强用于估计姿态信息的特征表达能力。例如,可以使用所估计的关键点信息的中间结果(例如参数)来校正所估计的姿态信息。
对象的姿态信息可以包括六自由度姿态信息。
图4示出了在相机模型中对象的六自由度(6DOF)姿态信息的示意图。如图4所示,对象为椅子,且六自由度姿态信息可以包括方位角(azimuth)a、仰角(elevation)e、旋转角(in-plane rotation)r、距离(distance)d和原点(principal point)(u,v),即原点的横坐标u和原点的纵坐标v。
图4中还示出了实际对象处的第一直角坐标系(i,k,j)以及相机处的第二直角坐标系(i’,k’,j’)。
除了可以应用于增强现实外,所估计的对象的六自由度姿态信息还可应用于很多技术领域,如监控、导航、机器人应用等。
本领域技术人员可以明白,对象的姿态信息可以包括六自由度姿态信息中的至少一个,并且不限于六自由度姿态信息,还可以包括其他信息。
在一个具体实现中,可以通过神经网络来执行上述方法200或300。例如,该神经网络可以为卷积神经网络。
在一个示范性的神经网络中,估计对象的姿态信息和估计对象的关键点信息分别作为单独的任务,并且,用于估计对象的姿态信息的任务和用于估计对象的关键点信息的任务在神经网络中共享基础层的参数。
在示范性的神经网络中,在估计对象的姿态信息时可以通过不同的方式来利用对象的关键点信息。例如,估计对象的姿态信息的任务和估计对象的关键点信息的任务在神经网络中可以通过并行模式和级联模式中的一个连接。在并行模式中,估计对象的姿态信息的任务和估计对象的关键点信息的任务除了共享基础层的参数外可以没有其他交互。在级联模式中,估计对象的关键点信息的任务的中间结果可以被输入到估计对象的姿态信息的任务中。
下面,将参照附图来具体描述本发明的实施例。
在根据本发明的第一实施例中,估计对象的姿态信息的任务通过并行方式与估计对象的关键点信息的任务共享基础层参数,此后称为并行神经网络。在根据本发明的第二实施例中,估计对象的姿态信息的任务通过级联方式结合所估计的对象的关键点信息,此后称为级联神经网络。在根据本发明的第三实施例中,在多个尺度上估计对象的关键点信息,并且估计对象的姿态信息的任务结合所估计的多个尺度的关键点信息,此后称为多尺度神经网络。
并行神经网络、级联神经网络和多尺度神经网络的任务相同,均为估计输入图像中的对象的姿态信息和关键点信息。在一个例子中,姿态信息估计任务是主要任务,且关键点信息估计任务是辅助任务。
在一个例子中,神经网络的训练可以包括训练数据准备、网络结构设计和训练三个阶段。具体而言,根据本发明实施例,训练数据准备可以包括对训练数据的标注,即针对每一幅二维或三维图像中的对象标注对象的六自由度的姿态信息以及每个关键点的位置和名称。神经网络的深度学习需要大量的样本,即大量的图像和对应的标注信息。可以人工自行标注训练数据,也可以收集已公开的具有这些标注信息的现有数据集。
在训练时,可以使用具有关键点标注的对象图像数据,在训练过程中通过对关键点的监督来更新网络参数,从而使训练得到的网络具有利用关键点信息的能力。
此后,将参照附图具体描述根据本发明的第一实施例至第三实施例。在根据本发明的第一实施例至第三实施例中,以估计n个类别的对象的六自由度姿态信息为例,假设这n个类别的对象的所有的关键点个数为8且输入图像是大小为224×224个像素的具有红绿蓝(RGB)三个通道二维图像。当然,本发明实施例不限于此,对象的关键点数目也可以少于或多于8,并且输入图像可以为任意大小的其他格式的二维或三维图像。
第一实施例
图5示出根据本发明的第一实施例的利用关键点信息来估计对象的姿态信息的并行神经网络的示意性视图。
如图5中所示,该并行神经网络包括两个任务:对象姿态信息估计任务和对象关键点信息估计任务。这两个任务在并行神经网络中采用并行的连接方式,在底层卷积层Convs中共享基础层参数,然后分成不同的网络分支,分别学习自己的网络模块参数。Convs为基础层,并且可以为多层卷积层。Convs也可以被称为基础层,可以采用很多结构来实现Convs,本发明的第一实施例采用VGG16的pool5(池化层5)之前的网络层,共包括13层卷积层。卷积层是神经网络中的一种基本单元。但是,本领域技术人员可以明白,本发明实施例不限于此,除了VGG16以外,还可以采用Alex Net、ResNet等经典的网络作为Convs。
在神经网络中,基础层(或底层)表示接近输入(例如,输入图像)的网络层,且顶层表示接近结果输出的网络层。
在该并行神经网络中,在基础层Convs之后,并行神经网络分离为两个路径:第一路径(路径1),用于估计对象的关键点信息,包含所述基础层和一个或更多个卷积层;以及第二路径(路径2),用于估计对象的姿态信息,包含所述基础层和一个或更多个全连接层。
具体而言,如图5中所示,在路径1中,在基础层Convs之后,Convs的输出还连接一层卷积层Conv6,Conv6的通道数与所有关键点的总个数相同,以对象共有8个关键点为例,Conv6的通道数被设置为8。Conv6可以具有大小为3×3的卷积核,经该卷积核卷积后的每个通道大小为7×7,从而Conv6的输出大小为8×7×7。当然,Conv6的卷积核大小以及卷积后每个通道的大小可以被设置为其他数目,本发明实施例不限于此。
此外,虽然在图5中示出在路径1中仅包括一个卷积层Conv6,但是本发明实施例不限于此,在该路径中还可以包括更多的卷积层。
对于对象关键点信息估计任务来说,在设定真实值时,为了使得网络能够识别对象在不同位置处的关键点,可以将对象的关键点作为一个通道,在该通道内,对于每一种语义关键点,若存在该关键点,则值为1,否则为0。
在神经网络中,每种任务在训练时需要一种损失函数。在根据本公开的第一实施例中,对象关键点信息估计任务的损失函数可以采用交叉熵损失函数。Conv6的输出连接对象关键点估计任务的损失函数,即交叉熵损失函数,该损失函数在图5中被表示为L1。此外,交叉熵的损失函数还可以应用于多类对象。
在路径2中,Convs的输出(即池化层5的输出)顺序连接到两层全连接层FC6和FC7,且FC7的输出进一步连接一层全连接层FC8_P。
在一个例子中,全连接层FC6和FC7的网络节点数被设置为4096,即FC6和FC7的输出为1×4096大小的向量。但是,本发明实施例不限于此,FC6和FC7的网络节点数也可以为其他数目。
全连接层FC8_P的每一个节点对应于对象的一个自由度的姿态信息。根据本发明的第一实施例,需要估计六个自由度的姿态信息,因此FC8_P的节点数为被设置为6。
对象姿态信息估计任务可以被建模为回归问题,并且也可以被建模为分类问题。回归问题是预测姿态估计的连续数值,而分类问题是估计姿态的类别。本发明实施例可以采用这两种建模中的任何一种。连续数值的估计可以采用smooth_L1损失函数,而姿态类别的估计可以采用softmax损失函数。当然,也可以采用其他的损失函数,例如hinge损失函数,本发明实施例不限于此。这里,本发明的第一实施例以回归建模为例,因此,FC8_P的输出连接对象姿态估计任务的损失函数、即smooth_L1损失函数,该损失函数在图5中被表示为L2。
此外,虽然在图5中示出在路径2中包括三个全连接层FC6、FC7和PC8_P,但是本发明实施例不限于此,在该路径中还可以包括更少、例如一个或两个以及更多的全连接层。
交叉熵损失函数和smooth_L1损失函数是本领域技术人员所熟知的,这里不再赘述。
在图5中所示的并行神经网络中,对象关键点信息估计任务的路径1被连接到更接近基础层Convs的位置,与对象姿态信息估计任务共享基础层参数,这样,对象的关键点信息的中间结果、例如各种参数可以被前馈到基础层,从而在估计对象的姿态信息时可以利用对象的关键点信息来校正所估计的对象的姿态信息。具有图5中所示结构的并行神经网络使得关键点信息可以在训练时增强底层的特征表达能力。
在并行神经网络中,对象姿态信息估计任务和对象关键点信息估计任务共享基础层的网络参数,并且在顶层并行单独训练各个任务。
在训练并行神经网络时,将训练数据送入网络,并可以将网络中的所有任务、包括对象姿态估计任务和对象关键点信息估计任务的损失函数的加权求和作为最终的损失函数,这里,训练数据可以包括大小为224×224的输入图像和对应的标注信息,即对象的姿态和关键点标注。并行神经网络的最终的损失函数可以被表示为L=a*L1+b*L2,其中,a和b为权重,L1和L2分别为对象关键点信息估计任务和对象姿态信息估计任务的损失函数。可以通过调节各个任务的损失函数的权重来使得对象姿态估计任务这个主要任务达到最好的效果。
在一个例子中,主要任务、即对象姿态信息估计任务的权重b可以被设置为最大、即等于1,且对象关键点信息估计任务的权重a可以被设置为0.01。当网络的最终的损失函数收敛时,完成训练。
第二实施例
图6示出根据本发明的第二实施例的利用关键点信息来估计对象的姿态信息的级联神经网络的示意性视图。
在该级联神经网络中,在基础层Convs之后,级联神经网络分离为两个路径:第一路径(路径1),用于估计对象的关键点信息,包含所述基础层和一个或更多个卷积层;以及第二路径(路径2),用于估计对象的姿态信息,包含所述基础层、一个或更多个卷积层和一个或更多个全连接层,其中,路径1内的一个或更多个卷积层中的一个卷积层的输出被连接到路径2内的一个或更多个卷积层中的一个的输出。
具体而言,如图6中所示,该级联神经网络也包括两个任务:对象姿态信息估计任务和对象关键点信息估计任务。这两个任务在底层卷积层Convs中共享基础层参数。与图5中的并行神经网络不同的是,级联神经网络中的路径2增加了一层卷积层Conv7,Conv7是共享层的后一层,基础层Convs的输出为Conv7的输入。在顶层,该Conv7的输出与路径1中的Conv6的输出结合(级联)作为对象姿态信息估计任务中FC7的输入,即,对象姿态信息估计任务和对象关键点信息估计任务在顶层以级联方式连接。除此以外,图6中的级联神经网络与图5中的并行神经网络的网络配置基本类似。下面具体进行描述。
如图6中所示,在路径1中,Convs的输出被输入到一层卷积层Conv6,这对应于对象关键点信息估计任务。类似地,Conv6的通道数可以与所有关键点的总个数相同,因为假设对象共有8个关键点,所以Conv6的通道数可以被设置为8。Conv6可以具有大小为3×3的卷积核,经该卷积核卷积后的每个通道大小为7×7,从而Conv6的输出大小为8×7×7。Conv6的输出连接对象关键点信息估计任务的损失函数、即交叉熵损失函数,该损失函数在图6中被表示为L1。
此外,在路径2中,Convs的输出还被输入到一层卷积层Conv7,Conv7的通道数设置可以与Conv6相同,为8。Conv7可以具有大小为3×3的卷积核,经该卷积核卷积后的每个通道大小为7×7,从而Conv7的输出大小为8×7×7。在本发明的第二实施例中,Conv6的输出和Conv7的输出结合。
Conv6的输出例如可以为所估计的对象的关键点信息的置信度图,该置信度图可以是矩阵的形式。结合的方式包括但不限于相加、点乘、拼接等。如果Conv6的输出和Conv7的输出相加,则为这两层的输出矩阵点对点相加。然后,Conv6的输出和Conv7的输出的结合结果被输入到一层全连接层FC7,全连接层FC7的网络节点数被设置为4096。FC7的输出连接全连接层FC8_P。FC8_P对应对象姿态估计。全连接层FC8_P的每一个节点对应于对象的一个自由度的姿态信息,本发明的第二实施例估计六个自由度的姿态信息,因此FC8_P的节点数被设置为6。FC8_P的输出连接对象姿态估计任务的损失函数、即smooth_L1损失函数,该损失函数在图6中被表示为L2。
但是,本发明实施例不限于此,FC6和FC7的网络节点数也可以为其他数目。当然,Conv6和Conv7的卷积核大小以及卷积后每个通道的大小可以被设置为其他数目,本发明实施例不限于此。
此外,虽然在图6中示出在路径1中仅包括一个卷积层Conv6,但是本发明实施例不限于此,在该路径1中还可以包括更多的卷积层。路径1内的一个或更多个卷积层可以是并行的或级联的。
此外,虽然在图6中示出在路径2中包括一个卷积层Conv7和两个全连接层FC7和PC8_P,但是本发明实施例不限于此,在该路径中还可以包括其他数目的卷积层和全连接层。
在一个例子中,路径1内的一个或更多个卷积层的尺度可以相同或不同,并且可以选择路径1内任何一个尺度的卷积层的输出与路径2中的任何一个卷积层的输出连接。如本领域技术人员所能理解的,不同的尺度意指不同的大小,并且多个尺度可以是多个尺寸。对于卷积层而言,也可以指不同大小的矩阵。
在图6所示的级联神经网络中,采用级联的方式利用关键点信息,即将估计的关键点信息的置信度图和路径2进行结合(结合的方式可以包括相加、点乘、拼接等)。通过在对象姿态估计任务中级联关键点信息的置信度图,在特征表达中增强了关键点信息。
在训练级联神经网络时,将训练数据送入网络,并可以将网络中的所有任务、包括对象姿态信息估计任务和对象关键点信息估计任务的损失函数的加权求和作为最终的损失函数,这里,训练数据可以包括大小为224×224的输入图像和对应的标注信息,即对象的姿态和关键点标注。级联神经网络的最终的损失函数可以被表示为L=a*L1+b*L2,其中,a和b为权重,L1和L2分别为对象关键点信息估计任务和对象姿态信息估计任务的损失函数。可以通过调节各个任务的损失函数的权重来使得对象姿态估计任务这个主要任务达到最好的效果。
在一个例子中,主要任务、即对象姿态信息估计任务的权重b可以被设置为最大、即等于1,且对象关键点信息估计任务的权重a可以被设置为0.01。当网络的最终的损失函数收敛时,完成训练。
第三实施例
图7示出根据本发明的第三实施例的利用关键点信息来估计对象的姿态的多尺度神经网络的示意性视图。
该多尺度神经网络包括:第一路径(路径1),用于估计对象的关键点信息,包含所述基础层和一个或更多个卷积层;以及第二路径(路径2),用于估计对象的姿态信息,包含所述基础层、第一路径内的一个或更多个卷积层以及一个或更多个全连接层,并且路径1内的一个或更多个卷积层中的两个或更多个卷积层的输出连接到路径2的一个或更多个全连接层中的一个全连接层作为输入。
与图6中的级联神经网络不同的是,多尺度神经网络在估计对象姿态信息时可以结合多个尺度的对象关键点信息。例如,可以利用关键点信息的至少一个(一个或更多个)置信度图,至少一个置信度图的尺度彼此不同。图7中示出的对象关键点信息估计任务的路径1包括多个卷积层Conv6、Conv7和Conv8,且多个卷积层Conv6、Conv7和Conv8的尺度不同。该多个卷积层Conv6、Conv7和Conv8的输出结合(级联)作为对象姿态信息估计任务中FC7的输入。也就是说,路径2包括路径1中的一个或多个卷积层。除此以外,图7中的多尺度神经网络与图6中的级联神经网络和图5中的并行神经网络的网络配置基本类似,各个任务上的损失函数与先前所述的两种网络中的也相同。下面具体进行描述。
如图7中所示,该多尺度神经网络也包括两个任务:对象姿态信息估计任务和对象关键点信息估计任务。对象姿态信息估计任务和对象关键点信息估计任务在底层卷积层Convs中共享基础层参数,这里,虽然对象姿态信息估计任务没有与Convs直接相连,但是在训练过程中对象姿态信息估计任务的误差会反传到Convs中,从而两个任务在底层卷积层Convs中共享基础层参数。
在路径1中,为了更多地利用关键点信息,多尺度神经网络在多个尺度的卷积层上进行关键点估计,并将多个尺度的关键点信息结合在一起用于对象姿态估计任务。例如,将多个尺度的关键点信息的置信度图结合在一起用于对象姿态估计任务。如本领域技术人员所能理解的,不同的尺度意指不同的大小,并且多个尺度可以是多个尺寸。对于卷积层而言,也可以指不同大小的矩阵。图7中的多尺度神经网络采用了三种尺度,但是,本发明实施例不限于此,还可以采用更少或更多个尺度,例如,可以选择路径1中的两个或更多个尺度的关键点信息来进行结合。
多个尺度的关键点信息的结合方式也有多种,在置信度图的情况下,可以包括相加、相乘、拼接等。
具体而言,Convs的输出被输入到一层卷积层Conv6,Conv6对应于对象关键点信息估计任务。Conv6的通道数与所有关键点的总个数相同,在假设共有8个关键点情况下,Conv6的通道数被设置为8。Conv6的输出连接对象关键点估计任务的损失函数、即交叉熵损失函数,该损失函数在图7中被表示为L11。从Convs→Conv6→交叉熵损失函数的路径为对象关键点信息估计任务的一个尺度。
Conv6的输出被进一步输入到一层卷积层Conv7,Conv7也对应于对象关键点信息估计任务。Conv7的输出连接对象关键点信息估计任务的损失函数、即交叉熵损失函数,该损失函数在图7中被表示为L12。从Convs→Conv6→Conv7→交叉熵损失函数的路径为对象关键点信息估计任务的第二个尺度。
Conv7的输出被进一步输入到一层卷积层Conv8,Conv8也对应于对象关键点信息估计任务。Conv8的输出连接对象关键点信息估计任务的损失函数、即交叉熵损失函数,该损失函数在图7中被表示为L13。从Convs→Conv6→Conv7→Conv8→交叉熵损失函数的路径为对象关键点信息估计任务的第三个尺度。
Conv6、Conv7和Conv8的通道数可以相同。由于卷积后Conv6、Conv7和Conv8的输出结果的尺度不同,因此将这三层的输出矩阵归一化到同一尺度(例如28×28)后,再进行结合。例如,Conv6的尺度大小为28×28,Conv7的尺度大小为14×14,Conv8的尺度大小为7×7。结合可以包括相加、相乘、拼接等。在相加的情况下,归一化后的Conv6、Conv7和Conv8的输出结果被点对点相加,且相加结果输入到一层全连接层FC7。如前所述,全连接层FC7的网络节点数被设置为4096。
在路径2中,FC7的输出连接FC8_P,FC8_P对应于对象姿态信息估计任务。全连接层FC8_P的每一个节点对应于对象的一个自由度的姿态信息,本发明实施例估计六个自由度的姿态信息,因此FC8_P的节点数被设置为6。FC8_P的输出连接对象姿态信息估计任务的损失函数、即smooth_L1损失函数,该损失函数在图6中被表示为L2。从Convs→(Conv6+Conv7+Conv8)→FC7→FC8_P→smooth_L1损失函数的路径2为对象姿态估计任务。
但是,本发明实施例不限于此,FC6和FC7的网络节点数也可以为其他数目。当然,Conv6、Conv7和Conv8的卷积核大小以及卷积后每个通道的大小可以被设置为其他数目,本发明实施例不限于此。
在图7中,卷积层Conv6、Conv7和Conv8被示出为级联,且尺度逐渐减小。但是,本发明实施例不限于此,卷积层Conv6、Conv7和Conv8可以是并行的,例如,卷积层Conv6、Conv7和Conv8可以均连接到基础层Convs。此外,卷积层Conv6、Conv7和Conv8的尺度彼此不同即可。
此外,虽然在图7中示出在路径1中包括三个卷积层Conv6、Conv7和Conv8,但是本发明实施例不限于此,在该路径1中还可以包括更少或更多的卷积层,且这些卷积层可以是并行的或级联的。
此外,虽然在图7中示出在路径2中包括两个全连接层FC7和PC8_P,但是本发明实施例不限于此,在该路径中还可以包括更其他数目全连接层。
再者,虽然在图7中示出三个卷积层Conv6、Conv7和Conv8的输出被连接到路径2中的第一个全连接层FC7作为其输入,但是,也可以从路径1中的一个或多个卷积层中选择两个或多个卷积层的输出连接到路径2,并且可以连接到路径2中的任何一个全连接层作为其输入。
在训练多尺度卷积神经网络时,将训练数据送入网络,并可以将网络中的所有任务、包括对象姿态信息估计任务和对象关键点信息估计任务的损失函数的加权求和作为最终的损失函数,这里,训练数据可以包括大小为224×224的输入图像和对应的标注信息,即对象的姿态和关键点标注。多尺度神经网络的最终的损失函数可以被表示为L=a*(L11+L12+L13)+b*L2,其中,a和b为权重,L11+L12+L13和L2分别为对象关键点信息估计任务和对象姿态信息估计任务的损失函数。可以通过调节各个任务的损失函数的权重来使得对象姿态估计任务这个主要任务达到最好的效果。
在一个例子中,主要任务、即对象姿态估计任务的权重b可以被设置为最大、即等于1,且对象关键点信息估计任务的权重a可以被设置为0.01。当网络的最终的损失函数收敛时,完成训练。
之后,将单幅测试图像输入训练好的上述并行神经网络、级联神经网络和多尺度神经网络中的任何一个,可以输出图像中对象的姿态信息和关键点信息。前述三个网络中路径2中的FC8_P输出的6维的向量值即为预测的六个自由度的姿态信息。此外,将这三个网络中的Conv6以及多尺度神经网络中的Conv7和Conv8的输出矩阵的长宽归一化为与原输入图像的大小一样后,每一个通道中的最大值的位置坐标即为一个关键点,每一个通道对应一个关键点的名字。
此外,也可以将上述并行神经网络、级联神经网络和多尺度神经网络中的至少两个的姿态估计结果综合作为最后的姿态估计结果。综合的方法包括但不限于取最大值、取平均、加权求和等。本发明实施例不限于此。
第四实施例
在根据本发明的第四实施例中,在估计对象的姿态信息时,还可以进一步利用对象的类别信息。
图8示出根据本发明的第四实施例的利用对象的关键点信息和对象的类别信息来估计姿态的方法800的示范性流程图。
如图8中所示,在步骤S810中,接收输入图像。在步骤S820中,估计输入图像中的对象的姿态信息,其中,当估计对象的姿态信息时使用对象的局部信息。从而,通过对象的局部信息来增强对象的整体信息。在步骤S830中,估计对象的关键点信息。此外,在步骤S840中,估计输入图像中的对象的类别信息。
在方法800中,在估计对象的姿态信息和估计对象的关键点信息的同时估计对象的类别信息,因此,可以并行执行步骤S820和S830和S840。
因此,通过增加类别信息,可以进一步提高所估计的对象的姿态信息的精确度。
此外,在神经网络中,用于估计对象的姿态信息的任务、用于估计对象的关键点信息的任务和用于估计对象的类别信息的任务在神经网络中共享基础层的参数。
可以将估计对象的类别信息的步骤添加到上述根据本发明的第一实施例的并行神经网络、根据本发明的第二实施例的级联神经网络和根据本发明的第三实施例的多尺度神经网络中的任何一个。
图9示出根据本发明的第四实施例的利用关键点信息和类别信息来估计对象的姿态信息的并行神经网络的示意性视图。
如图9中所示,与图5中所示的根据本发明的第二实施例的并行神经网络不同,该根据本发明的第四实施例的并行神经网络还包括:第三路径(路径3),用于估计对象的类别信息,包含所述基础层和一个或更多个全连接层。
具体而言,如图9中所示,该并行神经网络包括三个任务:对象类别估计任务、对象姿态信息估计任务和对象关键点信息估计任务。这三个任务在并行神经网络中采用并行的连接方式处理,在底层卷积层Convs中共享基础层参数,然后分成不同的网络分支,分别学习自己的网络模块参数。Convs为基础层,如前所述,其可以为多层卷积层,且可以采用很多结构来实现Convs,例如VGG16的pool5(池化层5)之前的网络层,共包括13层卷积层。但是,本领域技术人员可以明白,本发明实施例不限于此,除了VGG16以外,还可以采用Alex Net、ResNet等经典的网络作为Convs。
如图9中所示,在基础层Convs之后,并行神经网络分离为两个分支。在一个分支中,Convs的输出(即池化层5的输出)顺序连接到两层全连接层FC6和FC7,且FC7的输出同时连接一层全连接层FC8_C和另一层全连接层FC8_P。
虽然在图9中示出路径2和路径3共享全连接层FC6和FC7,但是,显然路径2和路径3可以分别包括各自的一个或多个全连接层。
在一个例子中,全连接层FC6和FC7的网络节点数被设置为4096,即FC6和FC7的输出为1×4096大小的向量。但是,本发明实施例不限于此,FC6和FC7的网络节点数也可以为其他数目。
FC8_C对应于对象类别估计,其节点数与对象的总类别数相同。在本发明的第四实施例中,以12类对象为例,所以全连接层FC8_C的节点数被设置为12。
在本发明的第四实施例中,对象类别估计任务可以采用softmax损失函数。当然,也可以采用其他的损失函数,例如hinge损失函数,本发明实施例不限于此。因此,全连接层FC8_C的输出连接对象类别估计任务的损失函数、即softmax损失函数,该损失函数在图9中被表示为L3。从Convs→FC6→FC7→FC8_C→softmax损失函数的路径为对象类别估计任务。
另一方面,路径2的配置与本发明的第一实施例的路径2的配置基本相同,这里不再赘述。
此外,在路径1中,由于涉及多个类别的对象,因此Conv6的通道数与所有类别的所有关键点的总个数相同,以12类的对象共有124个关键点为例,Conv6的通道数被设置为124。Conv6可以具有大小为3×3的卷积核,经该卷积核卷积后的每个通道大小为7×7,从而Conv6的输出大小为124×7×7。当然,Conv6的卷积核大小以及卷积后每个通道的大小可以被设置为其他数目,本发明实施例不限于此。
此外,虽然在图9中示出在路径1中仅包括一个卷积层Conv6,但是本发明实施例不限于此,在该路径中还可以包括更多的卷积层。
类似地,对于对象关键点信息估计任务来说,在设定真实值时,为了使得网络能够识别对象在不同位置处的关键点,可以将对象的关键点作为一个通道,在该通道内,对于每一种语义关键点,若存在该关键点,则值为1,否则为0。
在根据本公开的第四实施例中,对象关键点信息估计任务的损失函数可以采用交叉熵损失函数。Conv6的输出连接对象关键点估计的损失函数,即交叉熵损失函数,该损失函数在图9中被表示为L1。此外,交叉熵的损失函数可以应用于多类对象,所以可以用于估计多个对象的关键点信息。
交叉熵损失函数、smooth_L1和softmax损失函数是本领域技术人员所熟知的,这里不再赘述。
与图5中所示结构的并行神经网络类似,该根据本发明的第四实施例的并行神经网络使得关键点信息可以在训练时增强底层的特征表达能力。
在根据本发明的第四实施例的并行神经网络中,对象类别估计任务、对象姿态信息估计任务和对象关键点信息估计任务共享基础层的网络参数,并且在顶层并行单独训练各个任务。
在训练该并行神经网络时,将训练数据送入网络,并可以将网络中的所有任务、包括对象类别估计任务、对象姿态估计任务和对象关键点信息估计任务的损失函数的加权求和作为最终的损失函数,这里,训练数据可以包括大小为224×224的输入图像和对应的标注信息,即对象的类别、姿态和关键点标注。并行神经网络的最终的损失函数可以被表示为L=a*L1+b*L2+c*L3,其中,a、b和c为权重,L1、L2和L3分别为对象关键点信息估计任务、对象姿态信息估计任务和对象类别估计任务的损失函数。可以通过调节各个任务的损失函数的权重来使得对象姿态估计任务这个主要任务达到最好的效果。
在一个例子中,主要任务、即对象姿态估计任务的权重b可以被设置为1为最大、即等于1,对象关键点信息估计任务的权重c可以被设置为0.01且对象类别估计任务的权重a可以被设置为0至1之间。当网络的最终的损失函数收敛时,完成训练。
图10示出根据本发明的第四实施例的利用关键点信息和类别信息来估计对象的姿态信息的级联神经网络的示意性视图。
如图10中所示,除了增加了第三路径(路径3)用于估计对象的类别信息外,根据本发明的第四实施例的级联神经网络的配置与如图6所示的根据本发明的第二实施例的级联神经网络类似,这里不再赘述。路径3包含所述基础层和一个或更多个全连接层。
图10中所示的级联神经网络的训练方法和最终的损失函数与图9中所示的并行神经网络的类似,这里不再赘述。
图11示出根据本发明的第四实施例的利用关键点信息和类别信息来估计对象的姿态信息的多尺度神经网络的示意性视图。
如图11中所示,除了增加了第三路径(路径3)用于估计对象的类别信息外,根据本发明的第四实施例的多尺度神经网络的配置与如图7所示的根据本发明的第三实施例的多尺度神经网络类似,这里不再赘述。路径3包含所述基础层和一个或更多个全连接层。
在训练本发明的第四实施例的多尺度神经网络时,将训练数据送入网络,并可以将网络中的所有任务、包括对象类别估计任务、对象姿态估计任务和对象关键点信息估计任务的损失函数的加权求和作为最终的损失函数,这里,训练数据可以包括大小为224×224的输入图像和对应的标注信息,即对象的类别、姿态和关键点标注。多尺度多任务神经网络的最终的损失函数可以被表示为L=a*(L11+L12+L13)+b*L2+c*L3,其中,a和b为权重,L11+L12+L13、L2和L3分别为对象关键点信息估计任务、对象姿态信息估计任务和对象类别估计任务的损失函数。可以通过调节各个任务的损失函数的权重来使得对象姿态估计任务这个主要任务达到最好的效果。
在一个例子中,主要任务、即对象姿态估计任务的权重b可以被设置为1为最大、即等于1,对象关键点信息估计任务的权重c可以被设置为0.01且对象类别估计任务的权重a可以被设置为0至1之间。当网络的最终的损失函数收敛时,完成训练。
根据本发明的第四实施例的并行神经网络、级联神经网络和多尺度神经网络可以进一步提高估计对象的姿态信息的精确度,并且很容易扩展至处理多种类别对象的姿态估计。
根据本发明的各个实施例在单幅图像中获取的六自由度的三维姿态信息可以用于增强现实中匹配到真实物体的三维虚拟物体渲染,也可以对即时定位与地图构建任务提供辅助。即时定位与地图构建任务利用深度图像传感器或多视角图像来获得对象的三维姿态信息以用于导航和探索,而本发明实施例只需要一幅图像即可以获得物体的三维姿态信息,二者可以相互融合。目前的渲染方法通过使用深度图像传感器或多视角图像来获得对象的三维姿态信息,相反,本发明实施例只需要一幅图像即可以获得对象的三维姿态信息。
图12中的(a)至(c)示出根据本发明的实施例的估计对象的姿态信息的效果图。
图12中的(a)输出输入的测试图像,图12中的(b)示出根据并行神经网络而估计的姿态信息以及利用汽车的计算机辅助设计(Computer Aided Design,CAD)模型渲染的(a)中的汽车的虚拟图像。图12中的(c)示出根据级联神经网络而估计的姿态信息以及利用汽车的CAD模型渲染的(a)中的汽车的虚拟图像。
图13示出根据本发明实施例的估计姿态的装置1300的示意性框图。
如图13中所示,装置1300包括接收模块1310和估计模块1320。
接收模块1310用于接收输入图像。估计模块1320用于估计输入图像中的对象的姿态信息,其中,当估计对象的姿态信息时使用对象的局部信息。从而,通过对象的局部信息增强对象的整体信息。
因此,根据本发明实施例,在估计对象的姿态时联合使用对象的局部信息和姿态信息共同监督学习的参数,从而通过对象的局部信息来增强对象的整体信息,从而提高了姿态估计的精度。
图14示出根据本发明实施例的估计姿态的电子设备1400的示意性框图。
如图14中所示,电子设备1400可以包括处理器1410和存储器1420。在存储器1420中存储可由所述处理器执行的指令,当所述指令由处理器1410执行时,使处理器1410执行以下方法:接收输入图像;以及估计输入图像中的对象的姿态信息,其中,当估计对象的姿态信息时使用对象的局部信息。从而,通过对象的局部信息增强对象的整体信息
因此,根据本发明实施例,在估计对象的姿态时联合使用对象的局部信息和姿态信息共同监督学习的参数,从而通过对象的局部信息来增强对象的整体信息,从而提高了姿态估计的精度。
在一个例子中,可以用神经网络来实现由处理器1410执行的方法,包括前述根据本发明的第一实施例的并行神经网络、根据本发明的第二实施例的级联神经网络、根据本发明的第三实施例的多尺度神经网络或根据本发明的第四实施例的并行神经网络、级联神经网络和多尺度神经网络。
在一个例子中,通过对象的关键点信息来提供对象的局部信息,并且,当所述指令由所述处理器执行时使所述处理器执行的方法还包括:估计对象的关键点信息,其中,在估计对象的姿态信息的同时估计对象的关键点信息。
在一个例子中,当估计对象的姿态信息时使用对象的局部信息包括:当估计对象的姿态信息时,使用所估计的关键点信息来校正所估计的姿态信息。
在一个例子中,用于估计对象的姿态信息的任务和用于估计对象的关键点信息的任务在神经网络中共享基础层的参数。
在一个例子中,用于估计对象的姿态信息的任务和用于估计对象的关键点信息的任务在神经网络中通过并行模式和级联模式中的一个连接,其中,在级联模式中,估计的关键点信息被输入到用于估计对象的姿态信息的任务中。
在一个例子中,所述神经网络包括:第一路径,用于估计对象的关键点信息,包含所述基础层和一个或更多个卷积层;以及第二路径,用于估计对象的姿态信息,包含所述基础层和一个或更多个全连接层。
在一个例子中,所述神经网络包括:第一路径,用于估计对象的关键点信息,包含所述基础层和一个或更多个卷积层;以及第二路径,用于估计对象的姿态信息,包含所述基础层、一个或更多个卷积层和一个或更多个全连接层,其中,第一路径内的一个或更多个卷积层中的一个卷积层的输出被连接到第二路径内的一个或更多个卷积层中的一个卷积层的输出作为所述一个或更多个全连接层的输入。
在一个例子中,第一路径内的一个或更多个卷积层的尺度相同或不同。所述第一路径内的一个或更多个卷积层是并行的或级联的
在一个例子中,所述神经网络包括:第一路径,用于估计对象的关键点信息,包含所述基础层和一个或更多个卷积层;以及第二路径,用于估计对象的姿态信息,包含所述基础层、第一路径内的一个或更多个卷积层以及一个或更多个全连接层,并且第一路径内的一个或更多个卷积层中的两个或更多个卷积层的输出连接到第二路径内的一个或更多个全连接层中的一个全连接层作为输入。
在一个例子中,第一路径内的一个或更多个卷积层的尺度不同,且是并行的或级联的。
在一个例子中,当所述指令由所述处理器执行时使所述处理器执行的方法还包括:估计输入图像中的对象的类别信息,其中,在估计对象的姿态信息和估计对象的关键点信息的同时估计对象的类别信息。
在一个例子中,用于估计对象的姿态信息的任务、用于估计对象的关键点信息的任务和用于估计对象的类别信息的任务在神经网络中共享基础层的参数。
在一个例子中,用于估计对象的姿态信息的任务、用于估计对象的关键点信息的任务和用于估计对象的类别信息的任务在神经网络中通过并行模式连接。
在一个例子中,所述神经网络还包括:第三路径,用于估计对象的类别信息,包含所述基础层和一个或更多个全连接层。
根据本发明各个实施例获得的对象的六自由度的姿态信息可以被应用于在增强现实中显示虚拟对象。
图15示出根据本发明实施例的在增强现实中显示虚拟对象的方法1500的示意性流程图。
如图15中所示,在步骤S1510中,检测图像中的一个或更多个目标对象。在步骤S1520中,估计检测到的目标对象的姿态信息。在步骤S1530中,根据检测到的目标对象的姿态信息,在图像中添加虚拟对象。这里,在步骤S1520中,根据如图2中的方法200、图3中的方法300和图8中的方法800,基于本发明的第一实施例至第四实施例来估计检测到的目标对象的姿态信息。
图16示出了利用估计出的对象的六自由度姿态信息在增强现实(AugmentedReality,AR)中显示虚拟对象的具体方法1600的示意性流程图。
在AR应用中,可以将虚拟信息渲染到真实对象附近。例如,假设对于真实场景中的一个桌子,AR应用需要将一个虚拟的花瓶渲染叠加到真实图像(图片)上,使得这个虚拟的花瓶看起来与被放置到真实桌子的表面上一样。下面,以检测图像中的桌子并在图像中添加虚拟花瓶为例来具体描述方法900。
如图16所示,在t时刻的AR显示中,在S1610,对于t时刻的图像Image(t),检测与预先定义的类别对应的一个或多个目标对象,这里,预先定义多个需要检测的对象的类别,这些对象可以是应用场景中经常出现并对于AR应用比较重要的对象。在方法1600中,假设检测到图像中的对象为桌子。
在S1620,对于检测到的目标对象、即桌子,估计其六自由度的姿态信息。可以利用本发明的第一实施例的并行神经网络、根据本发明的第二实施例的级联神经网络、根据本发明的第三实施例的多尺度神经网络或根据本发明的第四实施例的并行神经网络、级联神经网络和多尺度神经网络来估计姿态信息。
在S1630,根据目标对象的六自由度的姿态信息来渲染并显示添加了虚拟对象的图像。具体地,使用目标对象、即桌子的三维CAD模型,可以得知目标对象桌子的各部分在图像Image(t)中投影的图像区域和三维表面方向。例如,根据桌子的CAD模型,可以知道在模型上哪些三维平面组成桌子的桌面,从而得知桌面模型的三维形状和大小。将桌面CAD模型按照估计的姿态向图像进行投影,可以得知图像Image(t)中的哪个图像区域对应着桌面部分及其方向。将虚拟花瓶的三维CAD模型投影到与桌面对应的图像区域,并且使其投影姿态(姿态信息)与桌面的姿态相同,即可让花瓶显示在桌面上。也就是说,可以根据目标对象的六自由度的姿态信息渲染并显示添加了虚拟对象的图像。
对于t+Δt时刻的图像Image(t+Δt),这里,Δt为时间间隔,t+Δt表示下一时刻,在S1610’,跟踪图像中出现的目标对象。然后对于目标对象,在S1620’再次估计其六自由度的姿态信息,并且在S1630’根据估计的根据目标对象的六自由度的姿态信息来渲染并显示添加了虚拟对象的图像。
在t+Δt时刻后面的每一时刻的显示过程与t+Δt时刻的显示过程类似,这里不再赘述。
图17示出根据本发明实施例的利用图16中的方法在AR中显示虚拟对象的示例图。
如图17中所示,估计桌子的姿态信息,并通过三维框投影将其显示在图像中。图17还示出虚拟的圆柱体被放置在真实的桌子的表面上。在AR视频中,可以根据估计的桌子的姿态信息来更新虚拟圆柱体的姿态,以实现真实的视觉效果。
图18示出根据本发明实施例的利用图16中的方法在AR中显示虚拟对象的另一示例图。
在图18所示的例子中,所估计的真实对象(例如,纸张或杯子)的姿态可以用来控制虚拟对象的姿态。在这种情况下,真实的物体可以被称为二维或三维AR标注物。图18中示出了二维AR标注和三维AR标注。在二维AR标注中,纸张被用于二维AR标注,并且在三维AR标注中,杯子被用于三维AR标注。
图19示出根据本发明实施例的在增强现实中显示虚拟对象的设备1900的示意性框图。
如图19所示,设备1900包括检测模块1910、估计模块1920和显示模块1930。
检测模块1910被配置为检测图像中的一个或更多个目标对象。估计模块1920被配置为根据本发明各个实施例的方法来估计检测到的目标对象的姿态信息。显示模块1930,被配置为根据检测到的目标对象的姿态信息,在图像中添加虚拟对象。
根据本发明实施例,在单幅图像中获取的六自由度的姿态信息可以用于在增强现实中匹配真实物体的三维虚拟物体渲染,也可以对即时定位与地图构建任务提供辅助。
此外,根据本发明的第一实施例的并行神经网络、根据本发明的第二实施例的级联神经网络、根据本发明的第三实施例的多尺度神经网络或者根据本发明的第四实施例的并行神经网络、级联神经网络和多尺度神经网络可以用于估计六自由度的姿态信息,也可以估计六自由度中的任何一个或几个自由度。这些网络中的任务也可以根据实际需要,更换主要任务和辅助任务,也可以继续添加有效的辅助任务,比如物体部件分割等。
在技术实现上,本发明各个实施例针对每种任务设计各自的网络模块,并调节各个模块的损失函数权重以使得作为主要任务的对象姿态估计任务达到最好的效果。也可以调节各个模块的损失函数权重,以使得其他任务作为主要任务并达到最好的效果。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (19)
1.一种估计姿态的方法,其特征在于,包括:
接收输入图像;以及
估计输入图像中的对象的姿态信息,
其中,当估计对象的姿态信息时使用对象的局部信息。
2.根据权利要求1所述的方法,其特征在于,通过对象的关键点信息来提供对象的局部信息,该方法还包括:
估计对象的关键点信息,
其中,在估计对象的姿态信息的同时估计对象的关键点信息。
3.根据权利要求2所述的方法,其特征在于,当估计对象的姿态信息时使用对象的局部信息包括:当估计对象的姿态信息时,使用所估计的关键点信息来校正所估计的姿态信息。
4.根据权利要求2或3所述的方法,其特征在于,通过神经网络来执行该方法。
5.根据权利要求4所述的方法,其特征在于,用于估计对象的姿态信息的任务和用于估计对象的关键点信息的任务在神经网络中共享基础层的参数。
6.根据权利要求5所述的方法,其特征在于,用于估计对象的姿态信息的任务和用于估计对象的关键点信息的任务在神经网络中通过并行模式和级联模式中的一个连接,其中,在级联模式中,估计的关键点信息被输入到用于估计对象的姿态信息的任务中。
7.根据权利要求5或6所述的方法,其特征在于,所述神经网络包括:第一路径,用于估计对象的关键点信息,包含所述基础层和一个或更多个卷积层;以及第二路径,用于估计对象的姿态信息,包含所述基础层和一个或更多个全连接层。
8.根据权利要求5或6所述的方法,其特征在于,所述神经网络包括:第一路径,用于估计对象的关键点信息,包含所述基础层和一个或更多个卷积层;以及第二路径,用于估计对象的姿态信息,包含所述基础层、一个或更多个卷积层和一个或更多个全连接层,
其中,第一路径内的一个或更多个卷积层中的一个卷积层的输出被连接到第二路径内的一个或更多个卷积层中的一个卷积层的输出作为所述一个或更多个全连接层的输入。
9.根据权利要求7或8中的一个所述的方法,其中,第一路径内的一个或更多个卷积层的尺度相同或不同,所述第一路径内的一个或更多个卷积层是并行的或级联的。
10.根据权利要求5或6所述的方法,其特征在于,所述神经网络包括:第一路径,用于估计对象的关键点信息,包含所述基础层和一个或更多个卷积层;以及第二路径,用于估计对象的姿态信息,包含所述基础层、第一路径内的一个或更多个卷积层以及一个或更多个全连接层,并且
第一路径内的一个或更多个卷积层中的两个或更多个卷积层的输出连接到第二路径内的一个或更多个全连接层中的一个全连接层作为输入。
11.根据权利要求10所述的方法,其中,第一路径内的一个或更多个卷积层的尺度不同,所述第一路径内的一个或更多个卷积层是并行的或级联的。
12.根据权利要求2-11中的任一个所述的方法,其特征在于,该方法还包括:
估计输入图像中的对象的类别信息,
其中,在估计对象的姿态信息和估计对象的关键点信息的同时估计对象的类别信息。
13.根据权利要求12所述的方法,其特征在于,用于估计对象的姿态信息的任务、用于估计对象的关键点信息的任务和用于估计对象的类别信息的任务在神经网络中共享基础层的参数。
14.根据权利要求13所述的方法,其特征在于,用于估计对象的姿态信息的任务、用于估计对象的关键点信息的任务和用于估计对象的类别信息的任务在神经网络中通过并行模式连接。
15.根据权利要求13-14中的任一个所述的方法,其特征在于,所述神经网络还包括:第三路径,用于估计对象的类别信息,包含所述基础层和一个或更多个全连接层。
16.一种估计姿态的装置,其特征在于,包括:
接收模块,用于接收输入图像;以及
估计模块,用于估计输入图像中的对象的姿态信息,
其中,当估计对象的姿态信息时使用对象的局部信息。
17.一种电子设备,包括:
处理器;以及
存储器,其中存储可由所述处理器执行的指令,当所述指令由所述处理器执行时,使所述处理器执行权利要求1-15任一所述的方法。
18.一种在增强现实中显示虚拟对象的方法,其特征在于,包括:
检测图像中的一个或更多个目标对象;
根据权利要求1-15中的任一个所述的方法来估计检测到的目标对象的姿态信息;以及
根据检测到的目标对象的姿态信息,在图像中添加虚拟对象。
19.一种在增强现实中显示虚拟对象的设备,其特征在于,包括:
检测模块,被配置为检测图像中的一个或更多个目标对象;
估计模块,被配置为根据权利要求1-15中的任一个所述的方法来估计检测到的目标对象的姿态信息;以及
显示模块,被配置为根据检测到的目标对象的姿态信息,在图像中添加虚拟对象。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810048656.9A CN110060296B (zh) | 2018-01-18 | 估计姿态的方法、电子设备和显示虚拟对象的方法及设备 | |
KR1020180085786A KR102696653B1 (ko) | 2018-01-18 | 2018-07-24 | 자세 추정 방법, 추정된 자세를 이용하여 가상 객체를 디스플레이하는 방법, 및 이를 수행하는 장치들 |
US16/238,785 US10937189B2 (en) | 2018-01-18 | 2019-01-03 | Pose estimation method, method of displaying virtual object using estimated pose, and apparatuses performing the same |
KR1020240106358A KR20240124889A (ko) | 2018-01-18 | 2024-08-08 | 자세 추정 방법, 추정된 자세를 이용하여 가상 객체를 디스플레이하는 방법, 및 이를 수행하는 장치들 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810048656.9A CN110060296B (zh) | 2018-01-18 | 估计姿态的方法、电子设备和显示虚拟对象的方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110060296A true CN110060296A (zh) | 2019-07-26 |
CN110060296B CN110060296B (zh) | 2024-10-22 |
Family
ID=
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106575367A (zh) * | 2014-08-21 | 2017-04-19 | 北京市商汤科技开发有限公司 | 用于基于多任务的人脸关键点检测的方法和系统 |
CN106599830A (zh) * | 2016-12-09 | 2017-04-26 | 中国科学院自动化研究所 | 人脸关键点定位方法及装置 |
CN106951840A (zh) * | 2017-03-09 | 2017-07-14 | 北京工业大学 | 一种人脸特征点检测方法 |
CN107038422A (zh) * | 2017-04-20 | 2017-08-11 | 杭州电子科技大学 | 基于空间几何约束深度学习的疲劳状态识别方法 |
CN107038429A (zh) * | 2017-05-03 | 2017-08-11 | 四川云图睿视科技有限公司 | 一种基于深度学习的多任务级联人脸对齐方法 |
CN107066935A (zh) * | 2017-01-25 | 2017-08-18 | 网易(杭州)网络有限公司 | 基于深度学习的手部姿态估计方法及装置 |
US20170286809A1 (en) * | 2016-04-04 | 2017-10-05 | International Business Machines Corporation | Visual object recognition |
CN107239728A (zh) * | 2017-01-04 | 2017-10-10 | 北京深鉴智能科技有限公司 | 基于深度学习姿态估计的无人机交互装置与方法 |
US20180012411A1 (en) * | 2016-07-11 | 2018-01-11 | Gravity Jack, Inc. | Augmented Reality Methods and Devices |
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106575367A (zh) * | 2014-08-21 | 2017-04-19 | 北京市商汤科技开发有限公司 | 用于基于多任务的人脸关键点检测的方法和系统 |
US20170286809A1 (en) * | 2016-04-04 | 2017-10-05 | International Business Machines Corporation | Visual object recognition |
US20180012411A1 (en) * | 2016-07-11 | 2018-01-11 | Gravity Jack, Inc. | Augmented Reality Methods and Devices |
CN106599830A (zh) * | 2016-12-09 | 2017-04-26 | 中国科学院自动化研究所 | 人脸关键点定位方法及装置 |
CN107239728A (zh) * | 2017-01-04 | 2017-10-10 | 北京深鉴智能科技有限公司 | 基于深度学习姿态估计的无人机交互装置与方法 |
CN107066935A (zh) * | 2017-01-25 | 2017-08-18 | 网易(杭州)网络有限公司 | 基于深度学习的手部姿态估计方法及装置 |
CN106951840A (zh) * | 2017-03-09 | 2017-07-14 | 北京工业大学 | 一种人脸特征点检测方法 |
CN107038422A (zh) * | 2017-04-20 | 2017-08-11 | 杭州电子科技大学 | 基于空间几何约束深度学习的疲劳状态识别方法 |
CN107038429A (zh) * | 2017-05-03 | 2017-08-11 | 四川云图睿视科技有限公司 | 一种基于深度学习的多任务级联人脸对齐方法 |
Non-Patent Citations (3)
Title |
---|
CHA ZHANG ET AL: "Improving Multiview Face Detection with Multi-Task Deep Convolutional Neural Networks", 《IEEE WINTER CONFERENCE ON APPLICATIONS OF COMPUTER VISION》, 23 June 2014 (2014-06-23), pages 1038 * |
SHAOLI HUANG ET AL: "A Coarse-Fine Network for Keypoint Localization", 《2017 IEEE INTERNATIONAL CONFERENCE ON COMPUTER VISION》, pages 3 * |
刘云: "基于增强现实的虚拟眼镜试戴技术研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, vol. 2018, no. 1, pages 5 * |
Also Published As
Publication number | Publication date |
---|---|
KR102696653B1 (ko) | 2024-08-21 |
KR20190088379A (ko) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110246181B (zh) | 基于锚点的姿态估计模型训练方法、姿态估计方法和系统 | |
CN109816769A (zh) | 基于深度相机的场景地图生成方法、装置及设备 | |
CN105229703B (zh) | 用于使用感测的位置数据来生成三维模型的系统和方法 | |
US11256958B1 (en) | Training with simulated images | |
CN107223269A (zh) | 三维场景定位方法和装置 | |
EP3274964B1 (en) | Automatic connection of images using visual features | |
CN106650827A (zh) | 基于结构指导深度学习的人体姿态估计方法和系统 | |
US9430847B2 (en) | Method for stereo visual odometry using points, lines and planes | |
CN104081307A (zh) | 图像处理装置、图像处理方法和程序 | |
CN108932734A (zh) | 单目图像的深度恢复方法及装置、计算机设备 | |
CN106485207A (zh) | 一种基于双目视觉图像的指尖检测方法及系统 | |
CN113052951B (zh) | 物体的渲染处理方法、装置、计算机设备和存储介质 | |
KR20240124889A (ko) | 자세 추정 방법, 추정된 자세를 이용하여 가상 객체를 디스플레이하는 방법, 및 이를 수행하는 장치들 | |
CN111881804A (zh) | 基于联合训练的姿态估计模型训练方法、系统、介质及终端 | |
Tatzgern | Situated visualization in augmented reality | |
KR102696653B1 (ko) | 자세 추정 방법, 추정된 자세를 이용하여 가상 객체를 디스플레이하는 방법, 및 이를 수행하는 장치들 | |
CN109934165A (zh) | 一种关节点检测方法、装置、存储介质及电子设备 | |
CN115731370A (zh) | 一种大场景元宇宙空间叠加方法和装置 | |
Pintore et al. | Mobile mapping and visualization of indoor structures to simplify scene understanding and location awareness | |
CN117115917A (zh) | 基于多模态特征融合的教师行为识别方法、设备以及介质 | |
CN110390724A (zh) | 一种带有实例分割的slam方法 | |
CN104123655A (zh) | 一种仿真试衣系统 | |
Zhang | The Application of Computer Augmented Reality Technology in Ancient Murals | |
CN110334237A (zh) | 一种基于多模态数据的立体对象检索方法与系统 | |
CN109472289A (zh) | 关键点检测方法和设备 |
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 |