CN109683699B - 基于深度学习实现增强现实的方法、装置及移动终端 - Google Patents
基于深度学习实现增强现实的方法、装置及移动终端 Download PDFInfo
- Publication number
- CN109683699B CN109683699B CN201910010625.9A CN201910010625A CN109683699B CN 109683699 B CN109683699 B CN 109683699B CN 201910010625 A CN201910010625 A CN 201910010625A CN 109683699 B CN109683699 B CN 109683699B
- Authority
- CN
- China
- Prior art keywords
- target
- image
- neural network
- plane
- depth
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000013135 deep learning Methods 0.000 title claims abstract description 58
- 230000003190 augmentative effect Effects 0.000 title claims abstract description 49
- 238000003062 neural network model Methods 0.000 claims abstract description 48
- 238000013528 artificial neural network Methods 0.000 claims description 31
- 239000013598 vector Substances 0.000 claims description 23
- 238000012549 training Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000000605 extraction Methods 0.000 claims description 4
- 238000000926 separation method Methods 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract description 13
- 238000001514 detection method Methods 0.000 abstract description 4
- 238000004883 computer application Methods 0.000 abstract description 2
- 239000011159 matrix material Substances 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000013527 convolutional neural network Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013529 biological neural network Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005284 excitation Effects 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 230000036544 posture Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000000513 principal component analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/002—Specific input/output arrangements not covered by G06F3/01 - G06F3/16
- G06F3/005—Input arrangements through a video camera
-
- 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
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Abstract
本发明揭示了一种基于深度学习实现增强现实的方法、装置及移动终端,属于计算机应用技术领域。所述方法包括:从深度摄像头采集的深度图像中分离平面图像;通过预先训练的神经网络模型对所述平面图像进行深度学习,确定所述平面图像中的目标,提取所述目标在所述深度图像中各像素的像素坐标及对应的深度值,根据所述像素坐标及深度值计算所述目标的三维坐标,进而实现增强现实,使增强现实的实现摆脱应用场景的限制,将传统的增强现实技术升级为基于深度学习的增强现实方法,极大地扩展了增强现实的应用场景及增强了增强现实的目标检测的能力。
Description
技术领域
本发明涉及计算机应用技术领域,特别涉及一种基于深度学习实现增强现实的方法、装置及移动终端。
背景技术
增强现实(AR,Augmented Reality)技术通过叠加富文本和多媒体信息可以让现实时世界变得更丰富、有趣、更高效。AR场景是带有三维信息的,通过在现实三维立体空间中实时叠加虚拟物体的叠加,实现与现实场景的无缝贴合。然而,现有AR技术依赖的图像识别技术的检测效率和准确率依旧达不到大部分应用场景的需求,直接导致了AR技术只能在一些特定场景应用,大大限制了AR技术使用的局限性。
发明内容
为了解决相关技术中对实现增强现实的应用场景单一、使用局限性较强的技术问题,本发明提供了一种基于深度学习实现增强现实的方法、装置及移动终端。
第一方面,提供了一种基于深度学习实现增强现实的方法,包括:
从深度摄像头采集的深度图像中分离平面图像;
通过预先训练的神经网络模型对所述平面图像进行深度学习,确定所述平面图像中的目标;
提取所述目标在所述深度图像中各像素的像素坐标及对应的深度值;
根据所述像素坐标及深度值计算所述目标的三维坐标。
可选的,所述根据所述像素坐标及深度值计算所述目标的三维坐标的步骤包括:
获取所述深度摄像头的相机参数;
根据所述像素坐标、深度值及所述相机参数计算所述目标在相机坐标系的三维相机坐标。
可选的,所述根据所述像素坐标及深度值计算所述目标的三维坐标的步骤之后,所述方法还包括:
根据所述三维坐标识别所述目标中的平面。
可选的,所述根据所述三维坐标识别所述目标中的平面的步骤包括:
根据所述目标中各像素的三维坐标,采用最小二乘法进行平面拟合,确定所述目标中的平面。
可选的,所述根据所述三维坐标识别所述目标中的平面的步骤之后,所述方法还包括:
计算所述平面的法向量;
根据所述法向量在所述图像中进行虚拟物体的叠加。
可选的,所述方法还包括:
构建神经网络对采集的样本图像进行深度学习的训练,所述神经网络包括多个网络结构及其对应的权重参数;
根据所述权重参数对所述神经网络进行网络结构的裁剪,得到神经网络模型。
可选的,所述根据所述权重参数对所述神经网络进行网络结构的裁剪,得到神经网络模型的步骤之后,所述方法还包括:
采用所述样本图像构建校验集;
将所述校验集输入到所述神经网络模型中,获取相应的准确率;
根据所述准确率对所述神经网络模型进行权重参数的调整。
第二方面,提供了一种基于深度学习实现增强现实的装置,包括:
平面图像分离模块,用于从深度摄像头采集的深度图像中分离平面图像;
深度学习模块,用于通过预先训练的神经网络模型对所述平面图像进行深度学习,确定所述平面图像中的目标;
像素坐标及深度值提取模块,用于提取所述目标在所述深度图像中各像素的像素坐标及对应的深度值;
三维坐标计算模块,用于根据所述像素坐标及深度值计算所述目标的三维坐标。
第三方面,提供了一种移动终端,其特征在于,所述移动终端包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的方法。
第四方面,提供了一种计算机可读性存储介质,用于存储程序,其特征在于,所述程序在被执行时使得移动终端执行如第一方面的方法。
通过本发明的实施例提供的技术方案能够得到以下有益效果:
从深度摄像头采集的深度图像中分离平面图像后,通过预先训练的神经网络模型对平面图像进行深度学习,确定平面图像中的目标,再提取目标在深度图像中各像素的像素坐标及对应的深度值,并根据像素坐标及深度值计算目标的三维坐标,进而实现增强现实,使增强现实的实现摆脱应用场景的限制,将传统的增强现实技术升级为基于深度学习的增强现实方法,极大地扩展了增强现实的应用场景及增强了增强现实的目标检测的能力。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,本发明并不受限制。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据一示例性实施例示出的一种基于深度学习实现增强现实的方法的流程图。
图2是根据图1对应实施例示出的另一种基于深度学习实现增强现实的方法的流程图。
图3是根据图2对应实施例示出的另一种基于深度学习实现增强现实的方法的流程图。
图4是根据图1对应实施例示出的深度学习识别方法中步骤S140的一种具体实现流程图。
图5是根据一示例性实施例示出的一种基于深度学习实现增强现实的装置的框图。
图6是根据图5对应实施例示出的基于深度学习实现增强现实的装置中三维坐标计算模块140的一种具体实现的框图。
图7是根据图5对应实施例示出的另一种基于深度学习实现增强现实的装置的一种具体实现的框图。
图8是根据图7对应实施例示出的另一种基于深度学习实现增强现实的装置的一种具体实现的框图。
图9是根据图5对应实施例示出的另一种基于深度学习实现增强现实的装置的一种具体实现的框图。
图10是根据一示例性实施例示出的一种移动终端的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所记载的、本发明的一些方面相一致的系统和方法的例子。
图1是根据一示例性实施例示出的一种基于深度学习实现增强现实的方法的流程图。该基于深度学习实现增强现实的方法可用于智能手机、智能家居、电脑、AR设备等移动终端中。如图1所示,该基于深度学习实现增强现实的方法可以包括步骤S110、步骤S120、步骤S130、步骤S140。
步骤S110,从深度摄像头采集的深度图像中分离平面图像。
深度摄像头是能够获取视野内个像素点的深度信息的图像采集设备。通过深度摄像头进行图像采集,可获取普通的RGB彩色图像(即平面图像)与各像素点的深度信息。
因为深度摄像头可以直接获取图像中每个像素点的深度信息。对于现实场景中的点,深度摄像头扫描得到的每一帧数据不仅包括了场景中的RGB图像,还包括每个点到深度摄像头所在垂直平面的距离值。这个距离值即为深度值,深度值与RGB图像共同组成了深度图像。
由于深度摄像头采集的深度图像包括平面图像和深度信息,因此可以从中分离出平面图像。
步骤S120,通过预先训练的神经网络模型对平面图像进行深度学习,确定平面图像中的目标。
神经网络模型是预先训练的。
在进行深度学习训练构建神经网络模型时,预先采集目标的样本图像,进而构建神经网络采用深度学习算法对样本图像进行深度学习的训练,构建神经网络模型。
具体的,如图2所示,构建神经网络模型的方法可以包括步骤S121、步骤S122。
步骤S210,构建神经网络对采集的样本图像进行深度学习的训练,神经网络包括多个网络结构及其对应的权重参数。
步骤S220,根据权重参数对神经网络进行网络结构的裁剪,得到神经网络模型。
采用神经网络对样本数据进行深度学习训练时,构建的神经网络可为各种类型。例如,可采用构建的卷积神经网络。
卷积神经网络是LeCun等人在1998年提出的用于文字识别,他们称之为LeNet-5。卷积操作是基于图像二维结构定义的,其定义局部感受域每个底层特征只跟输入的一个子集有关,如拓扑邻域。卷积层里面的拓扑局部限制会使得权重矩阵非常稀疏,所以卷积操作连接的两层只有局部连接。计算这样的矩阵乘法比起计算一个稠密矩阵乘法更方便高效,另外更小数目的自由参数会使得统计计算有更多的好处。在拥有二维拓扑结构的图像里,相同的输入模式会在不同位置出现,而且相近的值更可能有更强的依赖,这对于数据的模型是非常重要的。计算相同的局部特征可能是在整个图的任意平移位置,所以我们用这样一个局部特征算子在整个图中扫描。这就是卷积并把输入图变换为一个特征图。这个扫描可以看作在不同的位置提取相同的特征,它们是共享权重的,与生物神经网络更相似。通过这种设计不仅可以使模型的复杂度降低,而且使网络权值的数量也大大的减少。卷积神经网络利用权值共享的方式减少需要学习的参数数目,较之一般前向BP算法(Error BackPropagation,误差反向传播)使得训练速度和准确度得到了极大的提高。卷积神经网络作为一个深度学习算法,可以使得数据的预处理的开销达到最小化。
卷积神经网络包括卷积层、池化层、全连接层。卷积神经网络需要大量的有标注样本进行训练,而且还需要在训练过程中进行样本增强。而且由于卷积结构的存在和数据量的庞大,训练一个卷积神经网络需要密集的运算量,因此现在大部分深度卷积网络都是通过GPU训练的。
卷积神经网络一般使用卷积和聚合操作作为基础操作,但是它不需要无监督的逐层预训练策略。在整个训练过程中,反向传播起到的作用是非常突出的,另外通过合适的激励函数能够在提升训练速度的同时提高最终的准确率。
构建的卷积神经网络并随机初始化神经网络中卷积核权重值开始训练模型,在准确度达到预期阈值后,保存网络结构及对应的权重参数。
编写程序测试神经网络,此程序运行于算力强大的电脑中,如果神经网络运行效果不如预期效果,则重复前面步骤,比如增加数据集的数据量、修改网络结构、修改神经网络超参数、增加网络结构深度、更改算法模型等。
神经网络中包含有多个网络节点,网络结构为各不同网络节点之间的关系。
因此,神经网络包括多个网络结构及其对应的权重参数。
对网络结构进行裁剪时,删除神经网络中权重参数小于预设的权重参数阈值的网络结构,得到简化后的神经网络模型。
由于目前大部分AR应用都是在AR设备上运行,但是在特征提取过程中训练的神经网络模型是极其复杂的,需要进行大量的运算,只有GPU等其他算力强大的硬件才能完成卷积神经网络的运算,因此需要对深度卷积网络结构进行裁剪优化,删除深度卷积网络结构中权重参数小于某个阈值的神经网络节点以及降低深度卷积网络中权重参数的精度,简化神经网络模型,使其能在AR设备等移动终端上运行,大大降低对移动终端的硬件需求。
可选的,如图3所示,在步骤S220之后,该神经网络模型的构建方法还可以包括步骤S310、步骤S320、、步骤S330。
步骤S310,采用样本图像构建校验集。
步骤S320,将校验集输入到神经网络模型中,获取相应的准确率。
步骤S330,根据准确率对神经网络模型进行权重参数的调整。
权重参数是开始是随机初始化或者是基于之前其他数据训练的神经网络模型得到的。在开始训练后,通过采用样本图像构建校验集,每次训练得到神经网络模型后,采用校验集数据对当前的权重参数进行校验,并进行反馈,直到得到一个比较好的准确率的权重参数。举例说明如下:
假设给定一组数据(x,y):
训练集:(x1,y1)、(x2,y2)、(x3,y3);
校验集:(x11,y11)。
需要找到y与x之间关系,网络初始化可能是y=10x+8或者其他更复杂的关系,当使用校验集测试得到误差在允许范围内的时候则得出相应的权重参数(直到输入x11时,可以得到与y11相近的数据,例如误差小于0.0001,该误差的阈值可根据具体场景而适应性调整)。
可选的,在根据权重参数对神经网络进行网络结构的裁剪得到神经网络模型后,还可降低神经网络模型中各权重参数的精度,以提高后续进行深度学习时的效率。降低神经网络模型中各权重参数的精度主要包括浮点数整形化、减少浮点数位数、四舍五入等方法。例如权重参数为0.6124002直接转化为数字0.6,0.9860200223直接保留两位数为0.98,0.5683直接四舍五入为0.6,通过降低神经网络模型中各权重参数的精度,可以大大提高采用该神经网络模型进行深度学习时的计算速率,极大地减少时间成本,更有利于将神经网络模型应用于移动终端。
需要说明的是,在根据权重参数对神经网络进行网络结构裁剪得到神经网络模型时,准确率和效率是平衡的,当通过校验集检测到神经网络模型的准确率不够高时,则通过适当调节预设的的权重参数阈值,删除较少的网络结构,提高神经网络模型的计算精度。
在构建神经网络模型时,通过构建神经网络对采集的样本图像进行深度学习的训练,再根据神经网络的权重参数对神经网络进行网络结构的裁剪,使最终得到神经网络模型在保持较高的准确率的同时,能够大大减少深度学习时的计算时间,提高采用该神经网络模型进行深度学习时的计算速率,实现将神经网络模型可应用于AR设备等移动终端。
步骤S130,提取目标在深度图像中各像素的像素坐标及对应的深度值。
由于从深度图像中分离出的平面图像中,像素位置是与深度图像相对应的,因此,在确定平面图像中的目标后,可以根据目标中各像素的位置从深度图像中提取目标中各像素的像素坐标及对应的深度值。
步骤S140,根据像素坐标及深度值计算目标的三维坐标。
在平面图像中确定目标后,再根据目标的像素坐标及深度值计算目标的三维坐标,从而无需对整个深度图像进行三维坐标的计算,大大降低了计算量,有效提高了实现增强现实的效率。
具体的,如图4所示,步骤S140可以包括步骤S141、步骤S142。
步骤S141,获取深度摄像头的相机参数。
可以理解的是,各深度摄像头具备其自身的性能参数(即相机参数)。
因此,在计算目标的三维坐标时,预先获取深度摄像头的相机参数,进而根据相机参数进行三维坐标的转换,有效保证三维坐标计算的准确性。
步骤S142,根据像素坐标、深度值及相机参数计算目标在相机坐标系的三维相机坐标。
像素坐标系uov是一个二维直角坐标系,反映了相机CCD/CMOS芯片中像素的排列情况。原点o位于图像的左上角,u轴、v轴分别于像面的两边平行。像素坐标系中坐标轴的单位是像素(整数)。
相机坐标系(camera coordinate)(xc,yc,zc)是一个三维直角坐标系,原点位于镜头光心处,x、y轴分别与相面的两边平行,z轴为镜头光轴,与像平面垂直。
世界坐标系(world coordinate)(xw,yw,zw),也称为测量坐标系,是一个三维直角坐标系,以其为基准可以描述相机和待测物体的空间位置。世界坐标系的位置可以根据实际情况自由确定。
在深度摄像头对三维立体空间进行图像采集时,共包括一下3个坐标系的转换过程:
(1)从世界坐标系转为相机坐标系,这一步是三维点到三维点的转换,包括R,t(相机外参,确定了相机在某个三维空间中的位置和朝向)等参数;
世界坐标系转换为相机坐标系:
其中R为3*3的旋转矩阵,t为3*1的平移矢量,即相机外参数合并后为4*4的矩阵:
(2)从相机坐标系转为图像坐标系,这一步是三维点到二维点的转换,包括K(相机内参,是对相机物理特性的近似)等参数。
相机坐标系转换为图像坐标系:
s为比例因子(s不为0),fx、fy为X轴和Y轴方向上的有效焦距,(xc,yc,zc,1)是空间点P在相机坐标系oxyz中的齐次坐标,(X,Y,1)是像点p在图像坐标系OXY中的齐次坐标。
图像坐标系转换为像素坐标系:
其中,dX、dY分别为像素在X、Y轴方向上的物理尺寸,u0,v0为主点(图像原点)坐标。
综上,世界坐标系转换为像素坐标系:
其中M1称为相机的内参矩阵,包含内参(fx,fy,u0,v0)。M2称为相机的外参矩阵,包含外参(R:旋转矩阵,T:平移矩阵)。
计算上述矩阵可得u和v与xw、yw、zw之间的计算关系,单目相机不能从像素坐标到世界坐标的原因是得到摄像机系的坐标是归一化坐标,再反解回世界坐标会少了zc。之所以双目或者RGB-D相机系统能转换是因为多了一个约束解出zc。
又公式(4)可得:
由公式(6)可得:
根据相机坐标系转为图像平面坐标系公式,即公式(3)可得:
其中,s=zc (9)
联立公式(8)、公式(9)、和公式(6)可得:
其中zc为相机坐标系中的坐标Z值,而深度摄像头直接获取的的Z值就是相对于相机坐标系的z值,所以有了z值、像素坐标、相机内参、相机外参即可推导出目标的三维相机坐标。其中相机内参、外参都可以由相机标定得到。
因此,根据深度摄像头的相机参数,可以计算像素坐标系与相机坐标系之间的关系,进而计算目标中各像素在相机坐标系下的三维相机坐标。
利用如上所述的方法,从深度摄像头采集的深度图像中分离平面图像后,通过预先训练的神经网络模型对平面图像进行深度学习,确定平面图像中的目标,再提取目标在深度图像中各像素的像素坐标及对应的深度值,并根据像素坐标及深度值计算目标的三维坐标,进而实现增强现实,使增强现实的实现摆脱应用场景的限制,将传统的增强现实技术升级为基于深度学习的增强现实方法,极大地扩展了增强现实的应用场景及增强了增强现实的目标检测的能力。
可选的,在图1对应实施例示出的步骤S140之后,该基于深度学习实现增强现实的方法还可以包括以下步骤:
根据三维坐标识别目标中的平面。
可选的,在将计算出世界坐标后,可使用PCL库把所有像素点的世界坐标保存为一个点云,进而利用基于随机采样一致性(RANSAC)的点云分割算法分割出深度摄像头视野内最大的近似平面α(通常是桌面、地面或者墙壁,也有可能是一本书的扉页等等)。
可选的,还可以根据目标中各像素的三维坐标,采用最小二乘法进行平面拟合确定目标中的平面。
例如,可使用OpenCV工具快速进行平面拟合。
在识别目标中的平面后,计算平面的法向量,再根据法向量在图像中进行虚拟物体的叠加。
法向量是空间解析几何的一个概念,垂直于平面的直线所表示的向量为该平面的法向量。由于空间内有无数个直线垂直于已知平面,因此一个平面都存在无数个法向量。
通过在平面上选取平面点进行法向量的估计。
对一个协方差矩阵的特征向量和特征值的分析(或者也叫主成分分析,PCA-Principal Component Analysis),这个协方差矩阵是由查询点的最近邻产生的。对于每个点Pi,我们假设协方差矩阵C如下:
在图像中进行虚拟物体的叠加时,使平面的法向量与虚拟物体的法向量一致,从而保证虚拟物体能够与目标更加匹配。
根据法向量计算平面的平面欧拉角,再根据平面欧拉角调整虚拟物体的叠加姿态,按照叠加姿态将虚拟物体叠加在目标的平面上。
如前所述的,将虚拟物体叠加在目标中的平面上时,须要求两者的欧拉角必须是一致的,因此虚拟物体的欧拉角也应与平面欧拉角一致。
平面欧拉角是目标中平面的欧拉角,其实际意义是水平平面经过“Z—X—Y”顺序旋转成该平面α的过程中所转过的角度,它等价于水平平面的法向量(竖直向上)经过“Z—X—Y”顺序旋转成法向量β的过程中所转过的角度。总之,竖直向上的向量绕Unity3d惯性坐标系的Z轴逆时针旋转roll,再绕X轴旋转pitch,再绕Y轴旋转yaw,得到β=(x,y,z),此时平面α的欧拉角为(pitch,yaw,roll)。
具体算法如下:
(1)n绕Z轴旋转roll(roll∈[-π,π]),得到:
(2)n1绕X轴旋转pitch(pitch∈[-π,π]),得到:
(3)n2绕Y轴旋转yaw(yaw∈[-π,π]),得到β=(x,y,z),当且仅当
(4)令roll为[-π,π]上一个随机的数,则由①式得到:
中,pitch原本有两个互为相反数的不同解,但实际上欧拉角(pitch1,yaw1,roll)和(pitch2,yaw2,roll)所对应的姿态是等价的,故只取pitch>=0的解。C++的acos()函数值域为[0,π],可用于实现上述目的。
注:atan2(y,x)函数求的是y/x的反正切,值域为[-π,π],所表达的意思是以坐标原点为起点,指向(x,y)的射线在坐标平面上与x轴正方向之间的夹角。
由于x、y、z都是已知数,对于每一个roll满足条件②,都有对应的
叠加姿态是虚拟叠加入图像中时的三维姿态。对于目标中任意一个用于叠加虚拟物体的平面,将平面放置在深度摄像头前较近的位置,即可实时获取该平面的法向量(x,y,z);使roll为满足上述式②的任一值,使放置虚拟物体的位置为平面上任一点的世界坐标,即可将虚拟物体放置于该平面上;使roll的值在满足上述式②的定义域上移动,就可以在Unity3d软件中表达出虚拟物体绕自身Y轴旋转的所有姿态。
利用如上所述的方法,在识别出目标中的平面后,通过计算平面的法向量,在图像的平面进行虚拟物体的叠加,提高了在图像中进行虚拟物体叠加的准确性,并且能够使虚拟物体绕Y轴旋转,增加虚拟物体叠加的灵活性。
下述为本公开装置实施例,可以用于执行本上述基于深度学习实现增强现实的方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开基于深度学习实现增强现实的方法实施例。
图5是根据一示例性实施例示出的一种基于深度学习实现增强现实的装置的框图,该装置包括但不限于:平面图像分离模块110、深度学习模块120、像素坐标及深度值提取模块130及三维坐标计算模块140。
平面图像分离模块110,用于从深度摄像头采集的深度图像中分离平面图像;
深度学习模块120,用于通过预先训练的神经网络模型对平面图像进行深度学习,确定平面图像中的目标;
像素坐标及深度值提取模块130,用于提取目标在深度图像中各像素的像素坐标及对应的深度值;
三维坐标计算模块140,用于根据像素坐标及深度值计算目标的三维坐标。
上述装置中各个模块的功能和作用的实现过程具体详见上述基于深度学习实现增强现实的方法中对应步骤的实现过程,在此不再赘述。
可选的,如图6所示,图5对应实施例示出的基于深度学习实现增强现实的装置中,三维坐标计算模块140包括但不限于:相机参数获取单元141和三维相机坐标计算单元142。
相机参数获取单元141,用于获取深度摄像头的相机参数;
三维相机坐标计算单元142,用于根据像素坐标、深度值及相机参数计算目标在相机坐标系的三维相机坐标。
可选的,如图7所示,图5对应实施例示出的基于深度学习实现增强现实的装置还包括但不限于:训练模块210和裁剪模块220。
训练模块210,用于构建神经网络对采集的样本图像进行深度学习的训练,神经网络包括多个网络结构及其对应的权重参数;
裁剪模块220,用于根据权重参数对神经网络进行网络结构的裁剪,得到神经网络模型。
可选的,如图8所示,图7对应实施例示出的神经网络模型的构建装置还包括但不限于:校验集构建模块310、准确率获取模块320和权重参数调整模块330。
校验集构建模块310,用于采用样本图像构建校验集;
准确率获取模块320,用于将校验集输入到神经网络模型中,获取相应的准确率;
权重参数调整模块330,用于根据准确率对神经网络模型进行权重参数的调整。
可选的,如图9所示,图5对应实施例示出的基于深度学习实现增强现实的装置还包括但不限于:平面识别模块410、法向量计算模块420和虚拟物体叠加模块430。
平面识别模块410,用于根据三维坐标识别目标中的平面。
法向量计算模块420,用于计算平面的法向量。
虚拟物体叠加模块430,用于根据法向量在图像中进行虚拟物体的叠加。
图10是根据一示例性实施例示出的一种移动终端100的框图。参考图10,移动终端100可以包括以下一个或者多个组件:处理组件101,存储器102,电源组件103,多媒体组件104,音频组件105,传感器组件107以及通信组件108。其中,上述组件并不全是必须的,移动终端100可以根据自身功能需求增加其他组件或减少某些组件,本实施例不作限定。
处理组件101通常控制移动终端100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件101可以包括一个或多个处理器109来执行指令,以完成上述操作的全部或部分步骤。此外,处理组件101可以包括一个或多个模块,便于处理组件101和其他组件之间的交互。例如,处理组件101可以包括多媒体模块,以方便多媒体组件104和处理组件101之间的交互。
存储器102被配置为存储各种类型的数据以支持在移动终端100的操作。这些数据的示例包括用于在移动终端100上操作的任何应用程序或方法的指令。存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如SRAM(Static RandomAccess Memory,静态随机存取存储器),EEPROM(Electrically Erasable ProgrammableRead-Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable ReadOnly Memory,可擦除可编程只读存储器),PROM(Programmable Read-Only Memory,可编程只读存储器),ROM(Read-Only Memory,只读存储器),磁存储器,快闪存储器,磁盘或光盘。存储器102中还存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器109执行,以完成上述任一所示方法中的全部或者部分步骤。
电源组件103为移动终端100的各种组件提供电力。电源组件103可以包括电源管理系统,一个或多个电源,及其他与为移动终端100生成、管理和分配电力相关联的组件。
多媒体组件104包括在移动终端100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括LCD(Liquid Crystal Display,液晶显示器)和TP(TouchPanel,触摸面板)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
图像采集组件105被配置为采集图像或视频。例如,图像采集组件105包括一个深度摄像头,当移动终端100处于操作模式,摄像头被配置为拍摄外部环境的深度图像。所采集的图像可以被进一步存储在存储器102或经由通信组件108发送。
传感器组件107包括一个或多个传感器,用于为移动终端100提供各个方面的状态评估。例如,传感器组件107可以检测到移动终端100的打开/关闭状态,组件的相对定位,传感器组件107还可以检测移动终端100或移动终端100一个组件的坐标改变以及移动终端100的温度变化。在一些实施例中,该传感器组件107还可以包括磁传感器,压力传感器或温度传感器。
通信组件108被配置为便于移动终端100和其他设备之间有线或无线方式的通信。移动终端100可以接入基于通信标准的无线网络,如WiFi(Wireless-Fidelity,无线网络),2G或3G,或它们的组合。在一个示例性实施例中,通信组件108经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件108还包括NFC(Near Field Communication,近场通信)模块,以促进短程通信。例如,在NFC模块可基于RFID(Radio Frequency Identification,射频识别)技术,IrDA(Infrared DataAssociation,红外数据协会)技术,UWB(Ultra-Wideband,超宽带)技术,BT(Bluetooth,蓝牙)技术和其他技术来实现。
在示例性实施例中,移动终端100可以被一个或多个ASIC(Application SpecificIntegrated Circuit,应用专用集成电路)、DSP(Digital Signal Processing,数字信号处理器)、PLD(Programmable Logic Device,可编程逻辑器件)、FPGA(Field-ProgrammableGate Array,现场可编程门阵列)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
该实施例中的移动终端中处理器执行操作的具体方式已经在有关该深度学习识别方法的实施例中执行了详细描述,此处将不再做详细阐述说明。
可选的,本发明还提供一种移动终端,执行上述任一所示的深度学习识别方法的全部或者部分步骤。该移动终端包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任一示例性实施例所述的方法。
该实施例中的移动终端中处理器执行操作的具体方式已经在有关该深度学习识别方法的实施例中执行了详细描述,此处将不做详细阐述说明。
在示例性实施例中,还提供了一种存储介质,该存储介质为计算机可读存储介质,例如可以为包括指令的临时性和非临时性计算机可读存储介质。该存储介质例如包括指令的存储器102,上述指令可由移动终端100的处理器109执行以完成上述深度学习识别方法。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,本领域技术人员可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (8)
1.一种基于深度学习实现增强现实的方法,其特征在于,所述方法包括:
从深度摄像头采集的深度图像中分离平面图像;
通过预先训练的神经网络模型对所述平面图像进行深度学习,确定所述平面图像中的目标;
提取所述目标在所述深度图像中各像素的像素坐标及对应的深度值;
根据所述像素坐标及深度值计算所述目标的三维坐标;
根据所述三维坐标识别所述目标中的平面;所述根据所述三维坐标识别所述目标中的平面的步骤包括:根据所述目标中各像素的三维坐标,采用最小二乘法进行平面拟合,确定所述目标中的平面。
2.根据权利要求1所述的方法,其特征在于,所述根据所述像素坐标及深度值计算所述目标的三维坐标的步骤包括:
获取所述深度摄像头的相机参数;
根据所述像素坐标、深度值及所述相机参数计算所述目标在相机坐标系的三维相机坐标。
3.根据权利要求1所述的方法,其特征在于,所述根据所述三维坐标识别所述目标中的平面的步骤之后,所述方法还包括:
计算所述平面的法向量;
根据所述法向量在所述图像中进行虚拟物体的叠加。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
构建神经网络对采集的样本图像进行深度学习的训练,所述神经网络包括多个网络结构及其对应的权重参数;
根据所述权重参数对所述神经网络进行网络结构的裁剪,得到神经网络模型。
5.根据权利要求4所述的方法,其特征在于,所述根据所述权重参数对所述神经网络进行网络结构的裁剪,得到神经网络模型的步骤之后,所述方法还包括:
采用所述样本图像构建校验集;
将所述校验集输入到所述神经网络模型中,获取相应的准确率;
根据所述准确率对所述神经网络模型进行权重参数的调整。
6.一种基于深度学习实现增强现实的装置,其特征在于,所述装置包括:
平面图像分离模块,用于从深度摄像头采集的深度图像中分离平面图像;
深度学习模块,用于通过预先训练的神经网络模型对所述平面图像进行深度学习,确定所述平面图像中的目标;
像素坐标及深度值提取模块,用于提取所述目标在所述深度图像中各像素的像素坐标及对应的深度值;
三维坐标计算模块,用于根据所述像素坐标及深度值计算所述目标的三维坐标。
7.一种移动终端,其特征在于,所述移动终端包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-5任一项所述的方法。
8.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序在被执行时使得移动终端执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910010625.9A CN109683699B (zh) | 2019-01-07 | 2019-01-07 | 基于深度学习实现增强现实的方法、装置及移动终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910010625.9A CN109683699B (zh) | 2019-01-07 | 2019-01-07 | 基于深度学习实现增强现实的方法、装置及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109683699A CN109683699A (zh) | 2019-04-26 |
CN109683699B true CN109683699B (zh) | 2022-03-29 |
Family
ID=66192022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910010625.9A Expired - Fee Related CN109683699B (zh) | 2019-01-07 | 2019-01-07 | 基于深度学习实现增强现实的方法、装置及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109683699B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110400337B (zh) * | 2019-07-10 | 2021-10-26 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备及存储介质 |
CN111462311B (zh) * | 2020-03-31 | 2023-10-24 | 北京小米松果电子有限公司 | 全景图生成方法及装置、存储介质 |
CN111724432B (zh) * | 2020-06-04 | 2023-08-22 | 杭州飞步科技有限公司 | 物体三维检测方法和装置 |
CN111782035A (zh) * | 2020-06-12 | 2020-10-16 | 深圳增强现实技术有限公司 | 一种基于增强现实技术的远程作业指导方法及系统 |
CN112017300A (zh) * | 2020-07-22 | 2020-12-01 | 青岛小鸟看看科技有限公司 | 混合现实图像的处理方法、装置及设备 |
CN112330753B (zh) * | 2020-11-16 | 2023-05-09 | 北京理工大学 | 一种增强现实系统的目标检测方法 |
CN112363629B (zh) * | 2020-12-03 | 2021-05-28 | 深圳技术大学 | 一种新的非接触式人机交互方法及系统 |
CN112802081A (zh) * | 2021-01-26 | 2021-05-14 | 深圳市商汤科技有限公司 | 一种深度检测方法、装置、电子设备及存储介质 |
CN113126944B (zh) * | 2021-05-17 | 2021-11-09 | 北京的卢深视科技有限公司 | 深度图的显示方法、显示装置、电子设备及存储介质 |
CN113808202A (zh) * | 2021-08-11 | 2021-12-17 | 浙江工商大学 | 一种多目标检测和空间定位方法及其系统 |
CN113780291A (zh) * | 2021-08-25 | 2021-12-10 | 北京达佳互联信息技术有限公司 | 一种图像处理方法、装置、电子设备及存储介质 |
CN116704129B (zh) * | 2023-06-14 | 2024-01-30 | 维坤智能科技(上海)有限公司 | 基于全景图的三维图像生成方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105528082A (zh) * | 2016-01-08 | 2016-04-27 | 北京暴风魔镜科技有限公司 | 三维空间及手势识别追踪交互方法、装置和系统 |
CN106125994A (zh) * | 2016-06-17 | 2016-11-16 | 深圳迪乐普数码科技有限公司 | 坐标匹配方法及使用该坐标匹配方法的操控方法和终端 |
CN106355647A (zh) * | 2016-08-25 | 2017-01-25 | 北京暴风魔镜科技有限公司 | 增强现实系统和方法 |
CN107038751A (zh) * | 2015-12-07 | 2017-08-11 | 达索系统公司 | 从2d图像进行3d建模对象的识别 |
CN108629800A (zh) * | 2017-03-20 | 2018-10-09 | 北京三星通信技术研究有限公司 | 平面确定方法及增强现实显示信息的显示方法、相应装置 |
CN109144252A (zh) * | 2018-08-01 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 对象确定方法、装置、设备和存储介质 |
-
2019
- 2019-01-07 CN CN201910010625.9A patent/CN109683699B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038751A (zh) * | 2015-12-07 | 2017-08-11 | 达索系统公司 | 从2d图像进行3d建模对象的识别 |
CN105528082A (zh) * | 2016-01-08 | 2016-04-27 | 北京暴风魔镜科技有限公司 | 三维空间及手势识别追踪交互方法、装置和系统 |
CN106125994A (zh) * | 2016-06-17 | 2016-11-16 | 深圳迪乐普数码科技有限公司 | 坐标匹配方法及使用该坐标匹配方法的操控方法和终端 |
CN106355647A (zh) * | 2016-08-25 | 2017-01-25 | 北京暴风魔镜科技有限公司 | 增强现实系统和方法 |
CN108629800A (zh) * | 2017-03-20 | 2018-10-09 | 北京三星通信技术研究有限公司 | 平面确定方法及增强现实显示信息的显示方法、相应装置 |
CN109144252A (zh) * | 2018-08-01 | 2019-01-04 | 百度在线网络技术(北京)有限公司 | 对象确定方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109683699A (zh) | 2019-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109683699B (zh) | 基于深度学习实现增强现实的方法、装置及移动终端 | |
CN107330439B (zh) | 一种图像中物体姿态的确定方法、客户端及服务器 | |
US11145083B2 (en) | Image-based localization | |
CN109003325B (zh) | 一种三维重建的方法、介质、装置和计算设备 | |
CN110135455B (zh) | 影像匹配方法、装置及计算机可读存储介质 | |
US9177381B2 (en) | Depth estimate determination, systems and methods | |
EP2992508B1 (en) | Diminished and mediated reality effects from reconstruction | |
CN109887003B (zh) | 一种用于进行三维跟踪初始化的方法与设备 | |
US10410089B2 (en) | Training assistance using synthetic images | |
EP2614487B1 (en) | Online reference generation and tracking for multi-user augmented reality | |
US10872227B2 (en) | Automatic object recognition method and system thereof, shopping device and storage medium | |
CN111328396A (zh) | 用于图像中的对象的姿态估计和模型检索 | |
CN111459269B (zh) | 一种增强现实显示方法、系统及计算机可读存储介质 | |
CN116097307A (zh) | 图像的处理方法及相关设备 | |
CN113361365A (zh) | 定位方法和装置、设备及存储介质 | |
CN116194951A (zh) | 用于基于立体视觉的3d对象检测与分割的方法和装置 | |
CN116740668A (zh) | 三维目标检测方法、装置、计算机设备和存储介质 | |
CN109785444A (zh) | 图像中现实平面的识别方法、装置及移动终端 | |
CN112333468B (zh) | 图像处理方法、装置、设备及存储介质 | |
CN116740669B (zh) | 多目图像检测方法、装置、计算机设备和存储介质 | |
US11908096B2 (en) | Stereoscopic image acquisition method, electronic device and storage medium | |
CN113065521B (zh) | 物体识别方法、装置、设备及介质 | |
US11417063B2 (en) | Determining a three-dimensional representation of a scene | |
KR102299902B1 (ko) | 증강현실을 제공하기 위한 장치 및 이를 위한 방법 | |
CN112615993A (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 | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220329 |