CN109035334A - 位姿的确定方法和装置、存储介质及电子装置 - Google Patents
位姿的确定方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN109035334A CN109035334A CN201810682555.7A CN201810682555A CN109035334A CN 109035334 A CN109035334 A CN 109035334A CN 201810682555 A CN201810682555 A CN 201810682555A CN 109035334 A CN109035334 A CN 109035334A
- Authority
- CN
- China
- Prior art keywords
- frame
- pose
- camera
- image
- target image
- 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 59
- 238000003860 storage Methods 0.000 title claims abstract description 18
- 230000003993 interaction Effects 0.000 claims abstract description 117
- 230000002452 interceptive effect Effects 0.000 claims abstract description 63
- 230000000007 visual effect Effects 0.000 claims description 28
- 239000000284 extract Substances 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 18
- 238000012216 screening Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 238000003384 imaging method Methods 0.000 claims description 7
- 238000005516 engineering process Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 description 11
- 238000013507 mapping Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000033001 locomotion Effects 0.000 description 7
- 230000004807 localization Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 2
- 238000011105 stabilization Methods 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 210000000697 sensory organ Anatomy 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 238000012360 testing method Methods 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/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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种位姿的确定方法和装置、存储介质及电子装置。其中,该方法包括:在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧,其中,目标图像与相机之间的交互空间被划分为多个交互区域,关键帧包括:在交互区域中拍摄目标图像时相机的位姿;在通过相机拍摄目标图像得到的当前图像帧发生位姿丢失的情况下,确定位于当前图像帧所在的交互区域中的目标关键帧,其中,关键帧包括目标关键帧;以目标关键帧中包括的相机的位姿为参照位姿,递推出拍摄目标图像得到当前图像帧时的相机的位姿。本发明解决了相关技术中无法精确计算相机相对于图片的位姿的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种位姿的确定方法和装置、存储介质及电子装置。
背景技术
为了精确跟踪相机与平面图片的位姿,通常采用的方法是借鉴快速特征点提取和描述的算法(Oriented FAST and Rotated BRIEF,简称为ORB)和同时定位与地图构建算法(simultaneous localization and mapping,简称为SLAM)提取图片特征点,进行位姿的计算,并通过关键帧的插入来提高位姿的鲁棒性。
目前,ORB-SLAM的方式能够支持相对于一般图片的相机位姿计算,但是,对目标图片的特征和环境特征却无法区分,当手机静止而目标图片在视野中运动时,无法对相机进行相对于图片的位姿计算。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种位姿的确定方法、装置及存储介质,以至少解决相关技术中无法精确计算相机相对于图片的位姿的技术问题。
根据本发明实施例的一个方面,提供了一种位姿的确定方法,包括:在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧,其中,目标图像与相机之间的交互空间被划分为多个交互区域,关键帧包括:在交互区域中拍摄目标图像时相机的位姿;在通过相机拍摄目标图像得到的当前图像帧发生位姿丢失的情况下,确定位于当前图像帧所在的交互区域中的目标关键帧,其中,关键帧包括目标关键帧;以目标关键帧中包括的相机的位姿为参照位姿,递推出拍摄目标图像得到当前图像帧时的相机的位姿。
根据本发明实施例的另一方面,还提供了一种位姿的确定装置,包括:第一提取单元,用于在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧,其中,目标图像与相机之间的交互空间被划分为多个交互区域,关键帧包括:在交互区域中拍摄目标图像时相机的位姿;第一确定单元,用于在通过相机拍摄目标图像得到的当前图像帧发生位姿丢失的情况下,确定位于当前图像帧所在的交互区域中的目标关键帧,其中,关键帧包括目标关键帧;递推单元,用于以目标关键帧中包括的相机的位姿为参照位姿,递推出拍摄目标图像得到当前图像帧时的相机的位姿。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的方法。
在本发明实施例中,采用在相机与目标图像之间的交互空间中划分交互区域,在交互区域中确定关键帧的方式,并在相机拍摄目标图像得到的当前图像帧发生位姿丢失的情况下,通过确定位于当前图像帧所在的目标交互区域中的目标关键帧,以目标关键帧中包括的相机的位姿为参照递推出拍摄目标图像得到当前图像帧时的相机的位姿。通过划分交互区域确定关键帧,实现了关键帧分布均匀的技术效果。并且,由于关键帧的数量是基于划分的交互区域的数量确定的,解决了相关技术中无法精确计算相机相对于图片的位姿的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种位姿的确定方法的应用环境的示意图;
图2是根据本发明实施例的一种位姿确定方法的流程示意图;
图3是根据本发明实施例的目标图片在交互空间的半球面的位置的平面图;
图4是本实施例中交互空间的水平中线剖面图;
图5是本实施例中的交互空间的轴侧视图;
图6是本实施例中的竖直中线剖面图;
图7是根据本发明实施例的提取特征点的示意图;
图8是根据本发明实施例的寻找特征点的匹配点的示意图;
图9本实施例中的整体的流程图;
图10是根据本发明实施例的一种位姿的确定装置的结构示意图;
图11是根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了方便理解本发明实施例,首先在此介绍本发明实施例描述中引入的几个要素:
增强现实(Augmented Reality,简称为AR),是一种将真实世界信息和虚拟世界信息“无缝”集成的技术,是把原本在现实世界的一定时间空间范围内很难体验到的实体信息(视觉信息,声音,味道,触觉等),模拟仿真后再叠加,将虚拟的信息应用到真实世界,被人类感官所感知,从而达到超越现实的感官体验。真实的环境和虚拟的物体实时地叠加到了同一个画面或空间同时存在。
同时定位与地图构建(simultaneous localization and mapping,简称为SLAM),同时定位与地图构建也称为并发建图与定位(Concurrent Mapping and Localization,简称为CML)。
快速特征点提取和描述的算法(Oriented FAST and Rotated BRIEF,简称为ORB)。
汉明距离,是使用在数据传输差错控制编码里面的,它表示两个(相同长度)字对应位不同的数量,以d(x,y)表示两个字x,y之间的汉明距离。对两个字符串进行异或运算,并统计结果为1的个数,那么这个数就是汉明距离。
卡尔曼滤波(Kalman filtering),是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。
迭代,是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。
FAST(Features from accelerated segment test),是一种角点检测方法,它可以用于特征点的提取,并完成跟踪和映射物体。该算法的基本原理是使用圆周长为16个像素点(半径为3的Bresenham圆)来判定其圆心像素P是否为角点。在圆周上按顺时针方向从1到16的顺序对圆周像素点进行编号。如果在圆周上有N个连续的像素的亮度都比圆心像素的亮度Ip加上阈值t还要亮,或者比圆心像素的亮度减去阈值还要暗,则圆心像素被称为角点。FAST角点检测方法的具体步骤为:1、在圆周上的部分像素点上,进行非角点的检测;2、如果初步判断是角点,则在圆周上的全部像素点上进行角点检测;3、对角点进行非极大值抑制,得到角点输出。
位姿,是物体的位置和姿态。
根据本发明实施例的一个方面,提供了一种位姿的确定方法。可选地,上述位姿的确定方法可以但不限于应用于如图1所示的应用环境中。如图1所示,客户端102在与目标图像的交互空间中获取目标图像。目标图像可以是静态的平面图片(例如静态的二维码图片、人物图片),也可以是动态的平面图片(例如,不断晃动二维码图片或者人物图片)。客户端102拍摄到目标图像之后,得到拍摄目标图像的图像帧,对图像帧中包括的特征点进行识别,获取拍摄目标图像得到图像帧的客户端102的位姿,并通过网络104将位姿发送到服务器106进行AR的操作。
可选地,在本实施例中,上述客户端102可以包括但不限于以下至少之一:装有摄像头的手机、平板电脑、相机、AR眼镜等。上述网络104可以包括但不限于无线网络或移动网络,其中,该无线网络包括:蓝牙、无线保真(Wireless Fidelity,简称为WIFI)及其他实现无线通信的网络。上述服务器可以包括但不限于以下至少之一:个人计算机(PersonalComputer,简称为PC)及其他可用于提供目标视频的设备。上述只是一种示例,本实施例对此不做任何限定。
图2是根据本发明实施例的一种位姿确定方法的流程示意图。如图2所示,该方法可以包括以下步骤:
步骤S202,在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧,其中,目标图像与相机之间的交互空间被划分为多个交互区域,关键帧包括:在交互区域中拍摄目标图像时相机的位姿;
步骤S204,在通过相机拍摄目标图像得到的当前图像帧发生位姿丢失的情况下,确定位于当前图像帧所在的交互区域中的目标关键帧,其中,关键帧包括目标关键帧;
步骤S206,以目标关键帧中包括的相机的位姿为参照位姿,递推出拍摄目标图像得到当前图像帧时的相机的位姿。
需要说明的是,本实施例确定的位姿是相机在拍摄目标图像时,相机与目标图像之间的相对位姿,相机与目标图像之间的相对位姿所应用的场景包括但不限于AR场景。在AR场景中利用相机与目标图像之间的相对位姿显示目标图像的AR效果。
在本实施例中,目标图像与相机之间的交互空间是以目标图像的中心点与相机中间的距离为半径,形成的一个半球形的交互空间。目标图像位于半球面的中间位置,如图3所示,是目标图片在交互空间的半球面的位置的平面图,由于AR的交互空间仅限于目标图像的正面一侧,用户用相机扫描目标图像也是上下左右前后运动,根据这个运动特点,将交互空间分成中心区域(如图3中圆形区域,正对目标图像中心)和上下左右四个象限。同时根据离目标图像中心的距离划分多层半球区域,每层半球区域又根据和中心的张角分成多个角度区间。目标图片正面的空间就被均匀的划分成多角度多距离的交互区域了。具体划分如图4所示,图4是本实施例中交互空间的水平中线剖面图,图4中31为目标图像所在的平面,32为等距交互的半球面,33为等视角交互的锥面,34为象限分割面,35为交互空间最内侧的等视角交互锥面的空间。其中,等视角交互的锥面和象限分割面以及等距交互的半球面将交互空间划分为多个交互区域。图5是本实施例中的交互空间的轴侧视图,图6是本实施例中的竖直中线剖面图,如图5、图6所示,相机在交互空间中拍摄目标图像,并在每一个交互区域中确定一个拍摄目标图像的图像帧。
在每一个交互区域中,都会存在多个拍摄的目标图像的图像帧,从每个交互区域中的多个图像帧中提取一个包括的目标图像的特征点比较多的图像帧,作为这个交互区域中的关键帧。即每一个交互区域中只会存在一个关键帧,由于划分的交互区域的数量是固定的,即整个交互空间中的关键帧的最大数目也是确定的,从而可以有效的去除了冗余的关键帧,控制了内存的消耗。
但每个交互区域中的关键帧不是固定不变的。在相机不断的对目标图像进行的拍摄的过程中,在每个交互区域会生成多个图像帧,如果多个图像帧中存在优于目标关键帧的情况,可以将优于目标关键帧的图像帧替换为目标关键帧。例如,交互区域中存在多个图像帧,将多个图像帧中的特征点分别与目标图像中的特征点进行匹配,并且,分别确定图像帧与目标图像之间的视角的正视程度。对每一个图像帧的与目标图像的匹配特征点数(或者是有效跟踪的特征点数)和视角正视程度进行打分,优选得分最高的图像帧替换所属区域中已有的关键帧,计算公式如下:
Score=M+p*cos(θ);
其中,Score为图像帧的最终得分;M为当前图像帧匹配到的特征点数;θ为交互空间的半径与过图像中心的图像平面法线的夹角,代表当前相机拍摄方向正视于图像平面的程度;p为比例因子,用于调整视角正视程度所占得分的权重。
在相机对目标图像进行拍摄的过程中,会出现在某个交互区域中的相机拍摄的目标图像的图像帧模糊导致特征点丢失的情况,即拍摄的当前图像帧。例如,相机在对目标图像进行拍摄时,目标图像出现晃动或者是相机移动速度过快,无法精确的确定拍摄出的当前图像的位姿,则需要确定当前图像帧所在的交互区域,提取该交互区域中的关键帧,以此关键帧为参照,推出当前图像帧的位姿。并且,目标关键帧中包括在交互区域中拍摄目标图像时相机的位姿,还包括目标图像在交互区域中的特征点以及特征点的特征描述符。由于当前图像帧与目标关键帧在同一个交互区域中,即当前图像帧与目标关键帧之间的位姿是相近的,利用递推算法可以递推出当前图像帧的位姿信息。因此,可以实时稳定精确定位相机相对于目标图像的位姿,从而为AR效果的显示提供位姿信息,使得AR效果(如模型或者动画)能够稳定无晃动的展示出来。
可选地,在本实施例中,在相机对目标图像进行拍摄的过程中,需要确定相机拍摄目标图像的初始位姿,在初始位姿的基础上,对目标图像进行跟踪拍摄。具体如下:提取目标图像中的多个特征点、目标图像中的多个特征点的特征描述符以及目标图像中的多个特征点的特征方向;利用目标图像的上述三个属性制作目标图像的特征地图,在通过相机拍摄目标图像得到的多个图像帧中确定初始图像帧,提取初始图像帧中的多个特征点、初始图像帧中的多个特征点的特征描述符以及初始图像帧中的多个特征点的特征方向,利用初始图像帧的上述三个属性制作初始图像帧的特征地图。将目标图像的特征地图与初始图像帧的特征地图进行匹配,即通过特征点的特征描述符之间的汉明距离来进行特征点匹配。具体包括:1)将目标图像特征地图中的特征点与当前图像帧中的每一个特征点按照汉明距离比对,为目标图像中的特征点寻找一个最近的特征点,得到初始匹配点对,得到点集A->点集B的一一映射,点集A是当前图像帧中的点,点集B是目标图像的特征地图中的点;2)在初始匹配点对中,做反向查找,也就是为点集B中的每一个点,在点集A中寻找离它最近的一个点,得到点集B->点集A的映射;3)提取两个映射中相同对应关系的匹配对,进行特征方向变化量直方图的筛选,选取直方图中点数最多的三个区间所对应的匹配点对,筛除其余的匹配点对,从而得到最终的匹配点对,以最大程度的剔除匹配错误的特征点对。
在筛选之后的匹配的特征点对的数目达到预设值时,利用带有机抽样一致性(RANdom SAmple Consensus,简称为RANSAC)的n点透视位姿计算方法(Perspective-n-Point,简称为PnP)计算得到相机拍摄目标图像得到初始图像帧时的位姿,以确定相机的初始位姿。
在本实施例中,上述中的目标图像在与初始图像帧进行匹配时,为达到较好的尺度不变特性,在提取目标图像中的特征点时,需要对目标图像制作图像金字塔,如图7所示,以设定比例多次缩小目标图像的尺寸,得到多个目标图像的缩小图像,将缩小后的图像依次作为图像金字塔中的多个层;在图像金字塔的每一层中提取FAST特征点,并计算ORB特征描述符;将提取出的每一个缩小图像中的特征点作为目标图像中的特征点。为了达到最好的尺度匹配性,在制作图像金字塔之前,还需要将原始图像保持长宽比缩放到最接近于相机的成像分辨率的大小。原始图像是与目标图像对应的图像,其图像分辨率大于目标图像的分辨率。初始图像帧特征点采用与目标图像相同的方式进行提取。
可选地,在本实施例中,在确定初始位姿之后,相机以初始位姿为基点,对拍摄目标图像得到图像帧的位姿进行跟踪。即预测相机拍摄目标图像得到下一个图像帧时的位姿;为了减少预测位姿的误差以及提高预测的效率,采用运动模型估计、相邻帧匹配以及特征地图匹配的方式对位姿进行预测。运动模型估计采用匀加速运动模型,采用卡尔曼滤波的方式给出相机拍摄下一个图像帧时的位姿的预测;相邻帧匹配在相机拍摄下一个图像帧时的位姿基础上进行,将上一帧中观测到的有匹配的特征点按照预测的位姿映射到下一个图像帧,在映射位置附近邻域寻找特征点的匹配点。例如,如图8所示,Ik和Ik-1为相邻的两帧图像,p1,p2,p3,p4为特征地图点。将Ik-1中的特征点u1,u2,u3,u4投影在Ik-1中,得到投影的特点(图8中的虚线框)。u1’,u2’,u3’,u4’为投影的特征点周围的特征点,利用u1’,u2’,u3’,u4’分别与投影的特征点进行匹配,以准确的预测出Ik的位姿。利用u1’,u2’,u3’,u4’分别与投影的特征点进行匹配的公式如下:
其中,π(pi)表示将pi点投影到Ik图像帧中,||·||代表向量范数,也就是欧氏距离,Σi代表求和,对所有的投影点和匹配点进行操作。
可选地,在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧之后,所述方法还包括:
S1,在当前图像帧以及当前图像帧之后的连续n帧以内的图像帧发生位姿丢失的情况下,提取在当前图像帧之前的未丢失位姿的图像帧;
S2,获取与未丢失位姿的图像帧相邻的关键帧,可选地,可以是离当前图像帧位姿最近的5个关键帧(按照距离从小到大排列);
S3,将相邻的关键帧与当前图像帧进行特征点的匹配,以确定当前图像帧的位姿。
在本实施例中,连续n帧以内的图像帧发生丢失的情况为相机没有离目标图像太远,可能位于目标图像的附近。此时并不需要提取所有的关键帧,只需要提取丢失的图像帧邻域中的关键帧,简化了操作,节约了资源。
可选地,如果出现连续n帧以外的图像帧发生丢失的情况,即是相机已经远离了目标图像,则需要提取所有关键帧的方式恢复丢失的图像帧的位姿。具体包括:提取交互空间中的所有关键帧;将交互区域中的所有关键帧分别与当前图像帧进行特征点的匹配,以确定当前图像帧的位姿。
下面结合具体的示例进行说明。在本示例中,相机以手机为例,目标图像以平面图片为例,并以AR场景为例进行说明:
在商业推广活动中,经常会采用手机扫描识别平面图片并进行AR互动的方式来进行产品的宣传以及线下线上活动的组织。在该过程中,手机端上的AR效果对用户体验直观重要,要求在手机对着图片拍摄的过程中,AR效果(如模型或者动画)能够稳定无晃动的展示出来,这就要求实时稳定精确定位手机摄像头相对于平面图片的位姿,从而为AR效果的显示提供位姿信息。
目前业界为了精确跟踪相机与平面图片的位置,一种办法是使用特殊的平面图片,可以非常方便的提取出里头的角点,然后通过几何配准计算相机与平面图像之间的相对位姿;另一种方法就是借鉴ORB-SLAM等SLAM系统的思路,通过提取图片特征点匹配的方式进行位姿计算,并通过关键帧的插入来提高鲁棒性。但使用特殊图片的方法其缺点就是通用性很差,不能适用于一般的广告或者包装图片,限制了AR使用的场景;而类似ORB-SLAM等SLAM系统的思路能够支持相对于一般平面图片的相机位姿计算,但是它对平面图片上的特征和环境特征不做区分,当手机静止而平面图片在视野中运动时,无法进行相机相对于平面图片的位姿计算,此外,其关键帧的添加是基于共视特征点的比例,同一平面图片在不同的AR扫描过程中会出现数目不同的关键帧,这造成了关键帧空间分布不均,冗余度大,且不利于控制内存的消耗,这对手机应用来讲是比较危险的。能够稳定准确的给出手机摄像头相对于平面图片的位姿,是构建AR互动系统的必要技术。
如图9所示,是本实施例中的整体的流程图,可以精确的确定手机摄像头相对于平面图片的位姿,具体包括以下步骤:
S901:对平面图片制作特征地图:
针对需要检测跟踪的平面图片,提前制作其特征地图,特征地图包括特征点、特征描述符、特征方向。为了达到较好的尺度不变特性,在提取特征点时,需要对平面图片制作图像金字塔,并且在每一层上进行特征提取,如图7所示。系统中对每层提取FAST特征点,并计算ORB特征描述符,特征方向为计算FAST特征点时的方向。为了达到最好的尺度匹配性,在针对平面图片制作特征地图时,首先将其尺寸等比缩放到与相机成像分辨率最接近的尺寸上。
S902:计算平面图片与手机摄像头之间的初始位姿:
将手机摄像头获取的每一帧图像帧执行与上述S901中相同的特征提取过程,将提取的特征点与平面图片的特征地图进行匹配,匹配方式通过寻找最近汉明距离的点来进行,并且通过双向匹配的方式以及旋转一致性直方图来剔除错误的匹配点,当匹配点的数目达到一定的阈值时,利用带有RANSAC的PnP算法计算得到平面图片与手机摄像头之间的初始位姿。
S903:对手机拍摄平面图片进行位姿跟踪:
得到初始位姿之后,后面的位姿跟踪采用运动模型估计、相邻帧匹配以及特征地图匹配的方式,以提高位姿预测的速度,减少位姿预测的误差。
运动模型估计采用匀加速运动模型,采用卡尔曼滤波的方式给出拍摄下一个图像帧时的位姿的预测;
相邻帧匹配在下一预测位姿的基础上进行的,将上一帧中观测到的有匹配的地图点按照预测的位置投影到预测的下一帧,在投影位置附近邻域寻找匹配点,如图5所示,然后通过迭代求解,通过最小化投影误差来计算当前帧相对于前一帧的位姿。
特征地图匹配是在相邻帧匹配得出的位姿基础上进行的,该步操作将特征地图中尚未进行匹配的点投影到预测的下一帧,进一步寻找匹配点,然后通过如下公式进一步优化预测的下一帧图像帧的位姿。
其中,π(pi)表示将pi点投影到Ik图像帧中,||·||代表向量范数,也就是欧氏距离,Σi代表求和,对所有的投影点和匹配点进行操作。具体投影过程如图8所示,Ik和Ik-1为相邻的两帧图像,p1,p2,p3,p4为特征地图点。将Ik-1中的特征点u1,u2,u3,u4投影在Ik-1中,得到投影的特点(图8中的虚线框)。u1’,u2’,u3’,u4’为投影的特征点周围的特征点,利用u1’,u2’,u3’,u4’分别与投影的特征点进行匹配,以准确的预测出Ik的位姿。
S904:关键帧插入策略:
为了能够提高跟踪的稳定性,以及在拍摄平面图片得到的图像帧丢失或者模糊的情况下,能够快速的重新计算找回正确的拍摄平面图像得到图像帧时的位姿,采用了多交互区域划分的关键帧插入策略,具体如下:
关键帧包含当前图像帧的特征点、特征描述符、以及拍摄平面图片得到关键帧时相机的位姿。
由于AR交互的区域仅限于平面图片的正面一侧,用户拿手机扫描也是上下左右前后运动,根据这个运动特点,将交互区域分成中心区域(如图3中圆形区域,正对平面图片的中心)和上下左右四个象限,同时根据离平面图片中心的距离划分多层半球区域,每层半球区域又根据和中心的张角分成多个角度区间。这样,平面图片正面的空间(交互空间)就被均匀的划分成多角度多距离的区域(交互区域),如图4、图5、图6所示。
当相机和平面图片相对位姿落入某个区域时,就把当前符合条件的图像帧作为关键帧添加到关键帧的特征地图中,一个交互区域只允许有一个关键帧存在,如果存在更优的关键帧,则替换掉已有的关键帧。关键帧的评价通过稳定跟踪的特征点的数量,以及与正视图片的匹配程度来进行。可以保证在各个交互区域都能有关键帧存在,由于关键帧的最大数目是确定的,而且每个交互区域只有一个关键帧,有效的去除了冗余的关键帧,控制了内存的消耗。
S905:平面图片的图像帧跟踪丢失后进行重定位操作:
在得到的图像帧丢失后紧接着n帧以内,认为相机没有运动太远,则提取离最后一个成功跟踪的图像帧附近的5帧图像帧进行匹配,该5帧图像帧的位姿按照与丢失图像帧的位姿的距离进行从小到大的排序,匹配时也按照此次序进行匹配;在丢失后n帧以后,认为相机的运动已经较远,可能位于交互空间范围内的任何位置,此时将所有关键帧与丢失的图像帧进行逐一匹配,如果匹配成功则计算恢复丢失的图像帧的位姿。
综上所述,本实施例能够显著提高平面图片的位姿计算速度和精度,并且可以有效控制所消耗的内存,由于其独特的根据空间区域插入关键帧的策略,使其在任意角度跟踪丢失都能快速重定位,大大提高了位姿计算的稳定性和丢失恢复能力。
可选地,在本实施例中,任何采用距离和角度不变性特征(如sift,surf等)实现上述位姿计算过程的方案都视为同等方案;任何对图片前方区域进行其他种类多层空间划分来均匀分布关键帧的方案都视为同类的关键帧插入方案。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述位姿的确定方法的位姿的确定装置,如图10所示,该装置包括:
1)第一提取单元1002,用于在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧,其中,目标图像与相机之间的交互空间被划分为多个交互区域,关键帧包括:在交互区域中拍摄目标图像时相机的位姿;
2)第一确定单元1004,连接至上述中的第一提取单元1002,用于在通过相机拍摄目标图像得到的当前图像帧发生位姿丢失的情况下,确定位于当前图像帧所在的交互区域中的目标关键帧,其中,关键帧包括目标关键帧;
3)递推单元1006,连接至上述中的第一确定单元1004,用于以目标关键帧中包括的相机的位姿为参照位姿,递推出拍摄目标图像得到当前图像帧时的相机的位姿。
需要说明的是,本实施例确定的位姿是相机在拍摄目标图像时,相机与目标图像之间的相对位姿,相机与目标图像之间的相对位姿所应用的场景包括但不限于AR场景。在AR场景中利用相机与目标图像之间的相对位姿显示目标图像的AR效果。
可选地,第一提取单元1002包括:
1)第一确定模块,用于以相机与目标图像的中心之间的距离为半径确定交互空间,其中,交互空间中包括多个等距交互的半球面;
2)第二确定模块,用于根据半球面的半径与目标图像的平面法线之间形成的夹角确定多个等视角交互的锥面;
3)第三确定模块,用于将目标图像两条相对顶点连线所在的直线向目标图像的平面法线侧延伸,以确定目标图像与交互空间之间的多个象限分割面;
4)划分模块,用于基于多个等视角交互的锥面,多个等距交互的半球面和多个象限分割面将交互空间划分为多个交互区域,其中,交互空间最内侧的等视角交互锥面的空间不被象限分割面划分。
在本实施例中,目标图像与相机之间的交互空间是以目标图像的中心点与相机中间的距离为半径,形成的一个半球形的交互空间。目标图像位于半球面的中间位置,如图3所示,是目标图片在交互空间的半球面的位置的平面图,由于AR交互的区域仅限于目标图像的正面一侧,用户用相机扫描目标图像也是上下左右前后运动,根据这个运动特点,将交互空间分成中心区域(如图3中圆形区域,正对目标图像中心)和上下左右四个象限。同时根据离目标图像中心的距离划分多层半球区域,每层半球区域又根据和中心的张角分成多个角度区间。目标图片正面的空间就被均匀的划分成多角度多距离的交互区域了。
具体划分如图4所示,图4是本实施例中交互空间的剖面图,图4中31为目标图像所在的平面,32为等距交互的半球面,33为等视角交互的锥面,34为象限分割面,35为交互空间最内侧的等视角交互锥面的空间。其中,等视角交互的锥面和象限分割面以及目标图像组成交互区域。图5是本实施例中的交互空间的正视图,图6是本实施例中的侧视图,如图5、图6所示,相机在交互空间中拍摄目标图像,并在每一个交互区域中确定一个拍摄目标图像的图像帧。
可选地,第一提取单元1002还包括:
1)第一提取模块,用于从相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的多个图像帧;
2)选择模块,用于从位于每个交互区域中的多个图像帧中选择一个图像帧作为关键帧。
可选地,选择模块包括:
1)第一确定子模块,用于确定位于每个交互区域中的多个图像帧与目标图像之间匹配的特征点的数量以及与目标图像之间的视角正视程度;
2)第二确定子模块,用于将匹配的特征点的数量达到第一阈值,视角正视程度达到第二阈值的图像帧作为关键帧。
在本实施例中,每一个交互区域中,都会存在多个拍摄的目标图像的图像帧,从每个交互区域中的多个图像帧中提取一个包括的目标图像的特征点比较多的图像帧,作为这个交互区域中的关键帧。即每一个交互区域中只会存在一个关键帧,由于划分的交互区域的数量是固定的,即整个交互空间中的关键帧的最大数目也是确定的,从而可以有效的去除了冗余的关键帧,控制了内存的消耗。
但每个交互区域中的关键帧不是固定不变的。在相机不断的对目标图像进行的拍摄的过程中,在每个交互区域会生成多个图像帧,如果多个图像帧中存在优于目标关键帧的情况,可以将优于目标关键帧的图像帧替换为目标关键帧。例如,交互区域中存在多个图像帧,将多个图像帧中的特征点分别与目标图像中的特征点进行匹配,并且,分别确定图像帧与目标图像之间的视角的正视程度。对每一个图像帧的与目标图像的匹配特征点数(或者是有效跟踪的特征点数)和视角正视程度进行打分,优选得分最高的图像帧替换所属区域中已有的关键帧,计算公式如下:
Score=M+p*cos(θ);
其中,Score为图像帧的最终得分;M为当前图像帧匹配到的特征点数;θ为交互空间的半径与过图像中心的图像平面法线的夹角,代表当前相机拍摄方向正视于图像平面的程度;p为比例因子,用于调整视角正视程度所占得分的权重。
关键帧还包括:目标图像在交互区域中的特征点、特征点的特征描述符。
可选地,装置还包括:
1)第二提取单元,用于在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧之前,提取目标图像中的多个特征点、目标图像中的多个特征点的特征描述符以及目标图像中的多个特征点的特征方向;
2)第二确定单元,用于在通过相机拍摄目标图像得到的多个图像帧中确定初始图像帧;第三提取单元,用于提取初始图像帧中的多个特征点、初始图像帧中的多个特征点的特征描述符以及初始图像帧中的多个特征点的特征方向;
3)第一匹配单元,用于将初始图像帧中的多个特征点分别与目标图像中的多个特征点进行匹配,得到初始图像帧与目标图像之间匹配的多个特征点对;
4)第一筛选单元,用于对匹配的多个特征点对中的每对特征点进行特征描述符的筛选,并对匹配的多个特征点对中的每对特征点进行特征方向变化量直方图的筛选,以剔除匹配错误的特征点对;
5)第一计算单元,用于在筛选之后的匹配的特征点对的数目达到预设值时,计算相机拍摄目标图像得到初始图像帧时的位姿,以确定相机的初始位姿。
在本实施例中,通过双向匹配以及特征点的旋转一致性剔除错误的匹配点,即对匹配的多个特征点对中的每对特征点进行特征描述符的筛选,并对匹配的多个特征点对中的每对特征点进行特征方向变化量直方图的筛选,以剔除匹配错误的特征点对;在筛选之后的匹配的特征点对的数目达到预设值时,利用带有RANSAC RANdom SAmple Consensus,机抽样一致性)的PnP(Perspective-n-Point,n点透视位姿计算方法)算法计算得到相机拍摄目标图像得到初始图像帧时的位姿,以确定相机的初始位姿。
可选地,第二提取单元包括:
1)缩小模块,用于以设定比例多次缩小目标图像的尺寸,得到多个目标图像的缩小图像;
2)第四确定模块,用于利用多个目标图像的缩小图像确定图像金字塔;
3)第五确定模块,用于提取图像金字塔中的每层图像中的特征点,以确定目标图像中的特征点。
可选地,装置还包括:
4)第三确定单元,用于利用多个目标图像的缩小图像确定图像金字塔中的图像之前,按照保持长宽比的方式将原始图像进行缩放,以得到目标图像,其中,目标图像的成像分辨率接近于相机的成像分辨率。
在本实施例中,上述中的目标图像在与初始图像帧进行匹配时,为达到较好的尺度不变特性,在提取目标图像中的特征点时,需要对目标图像制作图像金字塔,如图7所示,以设定比例多次缩小目标图像的尺寸,得到多个目标图像的缩小图像,将缩小后的图像依次作为图像金字塔中的多个层;在图像金字塔的每一层中提取FAST特征点,并计算ORB特征描述符;将提取出的每一个缩小图像中的特征点作为目标图像中的特征点。为了达到最好的尺度匹配性,在制作图像金字塔之前,还需要将原始图像保持长宽比缩放到最接近于相机的成像分辨率的大小。原始图像是与目标图像对应的图像,其图像分辨率大于目标图像的分辨率。初始图像帧特征点采用与目标图像相同的方式进行提取。
可选地,装置还包括:
1)预测单元,用于确定相机的初始位姿之后,以初始位姿为基点,预测相机拍摄目标图像得到下一个图像帧时的位姿;
2)投影单元,用于将初始图像帧的特征点、初始图像帧的特征点的图像坐标投影到预测的下一个图像帧的位姿处;
3)查找单元,用于在预测的下一个图像帧的位姿的邻域,查找相机拍摄目标图像得到的多个图像帧中的特征点,其中,下一个图像帧的位姿的邻域在交互空间中;
4)匹配单元,用于将投影到下一个图像帧中的特征点与邻域中的图像帧中的特征点进行匹配,得到匹配的特征点对;
5)运算单元,用于以预测的下一个图像帧的位姿为初值,对匹配的特征点对进行位姿的迭代运算,以得到下一个图像帧的位姿。
在本实施例中,例如,如图8所示,Ik和Ik-1为相邻的两帧图像,p1,p2,p3,p4为特征地图点。将Ik-1中的特征点u1,u2,u3,u4投影在Ik-1中,得到投影的特点(图8中的虚线框)。u1’,u2’,u3’,u4’为投影的特征点周围的特征点,利用u1’,u2’,u3’,u4’分别与投影的特征点进行匹配,以准确的预测出Ik的位姿。利用u1’,u2’,u3’,u4’分别与投影的特征点进行匹配的公式如下:
其中,π(pi)表示将pi点投影到Ik图像帧中,||·||代表向量范数,也就是欧氏距离,Σi代表求和,对所有的投影点和匹配点进行操作。
可选地,装置还包括以下之一:
1)第四确定单元,用于在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧之后,在当前图像帧以及当前图像帧之后的连续n帧以内的图像帧发生位姿丢失的情况下,提取在当前图像帧之前的未丢失位姿的图像帧;获取与未丢失位姿的图像帧相邻的关键帧;将相邻的关键帧与当前图像帧进行特征点的匹配,以确定当前图像帧的位姿;
2)第五确定单元,用于在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧之后,在当前图像帧以及当前图像帧之后的连续n帧以外的图像帧发生位姿丢失的情况下,提取交互空间中的所有关键帧;将交互区域中的所有关键帧分别与当前图像帧进行特征点的匹配,以确定当前图像帧的位姿。
在本实施例中,连续n帧以内的图像帧发生丢失的情况为相机没有离目标图像太远,可能位于目标图像的附近。此时并不需要提取所有的关键帧,只需要提取丢失的图像帧邻域中的关键帧,简化了操作,节约了资源。
可选地,如果出现连续n帧以外的图像帧发生丢失的情况,即是相机已经远离了目标图像,则需要提取所有关键帧的方式恢复丢失的图像帧的位姿。具体包括:提取交互空间中的所有关键帧;将交互区域中的所有关键帧分别与当前图像帧进行特征点的匹配,以确定当前图像帧的位姿。
根据本发明实施例的又一方面,还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧,其中,目标图像与相机之间的交互空间被划分为多个交互区域,关键帧包括:在交互区域中拍摄目标图像时相机的位姿;
S2,在通过相机拍摄目标图像得到的当前图像帧发生丢失或者模糊的情况下,确定位于当前图像帧所在的目标交互区域中的目标关键帧,其中,关键帧包括目标关键帧;
S3,将目标关键帧作为当前图像帧进行显示,并将目标关键帧中包括的相机的位姿确定为拍摄目标图像得到当前图像帧时的相机的位姿。
可选地,存储介质还被设置为存储用于执行上述实施例中的方法中所包括的步骤的计算机程序,本实施例中对此不再赘述。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
根据本发明实施例的又一个方面,还提供了一种用于实施上述位姿的确定方法的电子装置,如图11所示,该电子装置包括,包括存储器1102和处理器1104,该存储器1102中存储有计算机程序,该处理器1102被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧,其中,目标图像与相机之间的交互空间被划分为多个交互区域,关键帧包括:在交互区域中拍摄目标图像时相机的位姿;
S2,在通过相机拍摄目标图像得到的当前图像帧发生位姿丢失的情况下,确定位于当前图像帧所在的交互区域中的目标关键帧,其中,关键帧包括目标关键帧;
S3,以目标关键帧中包括的相机的位姿为参照位姿,递推出拍摄目标图像得到当前图像帧时的相机的位姿。
可选地,本领域普通技术人员可以理解,图11所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图11中所示更多或者更少的组件(如网络接口等),或者具有与图11所示不同的配置。
其中,存储器1102具体可以但不限于用于存储物品的样本特征与目标虚拟资源账号等信息。作为一种示例,如图11所示,上述存储器1102中可以但不限于包括上述位姿的确定装置中的第一提取单元1002、第一确定单元10004、递推单元1006。此外,还可以包括但不限于上述位姿的确定装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置1106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1106包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1106为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子装置还包括:显示器1108,用于显示上述待处理的订单信息;和连接总线1110,用于连接上述电子装置中的各个模块部件。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种位姿的确定方法,其特征在于,包括:
在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧,其中,所述目标图像与所述相机之间的交互空间被划分为多个所述交互区域,所述关键帧包括:在所述交互区域中拍摄所述目标图像时所述相机的位姿;
在通过所述相机拍摄所述目标图像得到的当前图像帧发生位姿丢失的情况下,确定位于所述当前图像帧所在的交互区域中的目标关键帧,其中,所述关键帧包括所述目标关键帧;
以所述目标关键帧中包括的所述相机的位姿为参照位姿,递推出拍摄所述目标图像得到所述当前图像帧时的相机的位姿。
2.根据权利要求1所述的方法,其特征在于,所述目标图像与所述相机之间的交互空间被划分为多个所述交互区域包括:
以所述相机与所述目标图像的中心之间的距离为半径确定所述交互空间中多个等距交互的半球面;
根据所述半球面的半径与所述目标图像的平面法线之间形成的夹角确定多个等视角交互的锥面;
将所述目标图像两条相对顶点连线所在的直线向所述目标图像的平面法线侧延伸,以确定所述目标图像与所述交互空间之间的多个象限分割面;
基于多个所述等视角交互的锥面,所述多个等距交互的半球面以及多个所述象限分割面将所述交互空间划分为多个所述交互区域,其中,所述交互空间最内侧的等视角交互锥面的空间不被所述象限分割面划分。
3.根据权利要求1所述的方法,其特征在于,在通过所述相机拍摄所述目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧包括:
从所述相机拍摄所述目标图像得到的多个图像帧中提取位于每个交互区域中的多个图像帧;
从位于所述每个交互区域中的多个图像帧中选择一个图像帧作为所述关键帧。
4.根据权利要求3所述的方法,其特征在于,从位于所述每个交互区域中的多个图像帧中选择一个图像帧作为所述关键帧包括:
确定位于所述每个交互区域中的多个图像帧与所述目标图像之间匹配的特征点的数量以及与所述目标图像之间的视角正视程度;
将匹配的特征点的数量达到第一阈值,所述视角正视程度达到第二阈值的图像帧作为所述关键帧。
5.根据权利要求1所述的方法,其特征在于,所述关键帧还包括:
所述目标图像在所述交互区域中的特征点、所述特征点的特征描述符。
6.根据权利要求1所述的方法,其特征在于,在通过所述相机拍摄所述目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧之前,所述方法还包括:
提取所述目标图像中的多个特征点、所述目标图像中的多个特征点的特征描述符以及所述目标图像中的多个特征点的特征方向;
在通过相机拍摄目标图像得到的多个图像帧中确定初始图像帧;
提取所述初始图像帧中的多个特征点、所述初始图像帧中的多个特征点的特征描述符以及所述初始图像帧中的多个特征点的特征方向;
将所述初始图像帧中的多个特征点分别与所述目标图像中的多个特征点进行匹配,得到所述初始图像帧与所述目标图像之间匹配的多个特征点对;
对所述匹配的多个特征点对中的每对特征点进行特征描述符的筛选,并对所述匹配的多个特征点对中的每对特征点进行特征方向变化量直方图的筛选,以剔除匹配错误的特征点对;
在筛选之后的匹配的特征点对的数目达到预设值时,计算所述相机拍摄所述目标图像得到所述初始图像帧时的位姿,以确定所述相机的初始位姿。
7.根据权利要求6所述的方法,其特征在于,提取所述目标图像中的多个特征点包括:
以设定比例多次缩小所述目标图像的尺寸,得到多个所述目标图像的缩小图像;
利用多个所述目标图像的缩小图像确定图像金字塔;
提取所述图像金字塔中的每层图像中的特征点,以确定所述目标图像中的特征点。
8.根据权利要求7所述的方法,其特征在于,利用多个所述目标图像的缩小图像确定图像金字塔中的图像之前,所述方法还包括:
按照保持长宽比的方式将原始图像进行缩放,以得到所述目标图像,其中,所述目标图像的成像分辨率接近于所述相机的成像分辨率。
9.根据权利要求6所述的方法,其特征在于,确定所述相机的初始位姿之后,所述方法还包括:
以所述初始位姿为基点,预测所述相机拍摄所述目标图像得到下一个图像帧时的位姿;
将所述初始图像帧的特征点、所述初始图像帧的特征点的图像坐标投影到预测的所述下一个图像帧的位姿处;
在预测的所述下一个图像帧的位姿的邻域,查找所述相机拍摄所述目标图像得到的多个图像帧中的特征点,其中,所述下一个图像帧的位姿的邻域在所述交互空间中;
将投影到所述下一个图像帧中的特征点与邻域中的图像帧中的特征点进行匹配,得到匹配的特征点对;
以预测的所述下一个图像帧的位姿为初值,对匹配的特征点对进行位姿的迭代运算,以得到所述下一个图像帧的位姿。
10.根据权利要求1所述的方法,其特征在于,在通过所述相机拍摄所述目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧之后,所述方法还包括以下之一:
在所述当前图像帧以及所述当前图像帧之后的连续n帧以内的图像帧发生位姿丢失的情况下,提取在所述当前图像帧之前的未丢失位姿的图像帧;获取与所述未丢失位姿的图像帧相邻的关键帧;将所述相邻的关键帧与所述当前图像帧进行特征点的匹配,以确定所述当前图像帧的位姿;
在所述当前图像帧以及所述当前图像帧之后的连续n帧以外的图像帧发生位姿丢失的情况下,提取所述交互空间中的所有关键帧;将所述交互区域中的所有关键帧分别与所述当前图像帧进行特征点的匹配,以确定所述当前图像帧的位姿。
11.一种位姿的确定装置,其特征在于,包括:
第一提取单元,用于在通过相机拍摄目标图像得到的多个图像帧中提取位于每个交互区域中的关键帧,其中,所述目标图像与所述相机之间的交互空间被划分为多个所述交互区域,所述关键帧包括:在所述交互区域中拍摄所述目标图像时所述相机的位姿;
第一确定单元,用于在通过所述相机拍摄所述目标图像得到的当前图像帧发生位姿丢失的情况下,确定位于所述当前图像帧所在的交互区域中的目标关键帧,其中,所述关键帧包括所述目标关键帧;
递推单元,用于以所述目标关键帧中包括的所述相机的位姿为参照位姿,递推出拍摄所述目标图像得到所述当前图像帧时的相机的位姿。
12.根据权利要求11所述的装置,其特征在于,所述第一提取单元包括:
第一确定模块,用于以所述相机与所述目标图像的中心之间的距离为半径确定所述交互空间中多个等距交互的半球面;
第二确定模块,用于根据所述半球面的半径与所述目标图像的平面法线之间形成的夹角确定多个等视角交互的锥面;
第三确定模块,用于将所述目标图像两条相对顶点连线所在的直线向所述目标图像的平面法线侧延伸,以确定所述目标图像与所述交互空间之间的多个象限分割面;
划分模块,用于基于多个所述等视角交互的锥面和多个所述象限分割面将所述交互空间划分为多个所述交互区域,其中,所述交互空间最内侧的等视角交互锥面的空间不被所述象限分割面划分。
13.根据权利要求11所述的装置,其特征在于,所述第一提取单元包括:
第一提取模块,用于从所述相机拍摄所述目标图像得到的多个图像帧中提取位于每个交互区域中的多个图像帧;
选择模块,用于从位于所述每个交互区域中的多个图像帧中选择一个图像帧作为所述关键帧。
14.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至10任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至10任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810682555.7A CN109035334B (zh) | 2018-06-27 | 2018-06-27 | 位姿的确定方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810682555.7A CN109035334B (zh) | 2018-06-27 | 2018-06-27 | 位姿的确定方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109035334A true CN109035334A (zh) | 2018-12-18 |
CN109035334B CN109035334B (zh) | 2024-07-12 |
Family
ID=65520612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810682555.7A Active CN109035334B (zh) | 2018-06-27 | 2018-06-27 | 位姿的确定方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109035334B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110047108A (zh) * | 2019-03-07 | 2019-07-23 | 中国科学院深圳先进技术研究院 | 无人机位姿确定方法、装置、计算机设备及存储介质 |
CN110335317A (zh) * | 2019-07-02 | 2019-10-15 | 百度在线网络技术(北京)有限公司 | 基于终端设备定位的图像处理方法、装置、设备和介质 |
CN110361005A (zh) * | 2019-06-26 | 2019-10-22 | 深圳前海达闼云端智能科技有限公司 | 定位方法、定位装置、可读存储介质及电子设备 |
CN110490131A (zh) * | 2019-08-16 | 2019-11-22 | 北京达佳互联信息技术有限公司 | 一种拍摄设备的定位方法、装置、电子设备及存储介质 |
CN110738273A (zh) * | 2019-10-23 | 2020-01-31 | 成都极米科技股份有限公司 | 图像特征点的匹配方法、装置、设备及存储介质 |
CN111340887A (zh) * | 2020-02-26 | 2020-06-26 | Oppo广东移动通信有限公司 | 视觉定位方法、装置、电子设备和存储介质 |
CN111651048A (zh) * | 2020-06-08 | 2020-09-11 | 浙江商汤科技开发有限公司 | 多虚拟对象排列展示方法、装置、电子设备及存储介质 |
CN111696131A (zh) * | 2020-05-08 | 2020-09-22 | 青岛小鸟看看科技有限公司 | 基于在线图案分割的手柄追踪方法 |
CN112013844A (zh) * | 2019-05-31 | 2020-12-01 | 北京小米智能科技有限公司 | 建立室内环境地图的方法及装置 |
CN112270710A (zh) * | 2020-11-16 | 2021-01-26 | Oppo广东移动通信有限公司 | 位姿确定方法、位姿确定装置、存储介质与电子设备 |
CN114279456A (zh) * | 2021-12-06 | 2022-04-05 | 纵目科技(上海)股份有限公司 | 图片构建/车辆定位方法、系统、终端及计算机存储介质 |
CN116758058A (zh) * | 2023-08-10 | 2023-09-15 | 泰安市中心医院(青岛大学附属泰安市中心医院、泰山医养中心) | 一种数据处理方法、装置、计算机及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537709A (zh) * | 2014-12-15 | 2015-04-22 | 西北工业大学 | 一种基于位姿变化的实时三维重建关键帧确定方法 |
WO2017022033A1 (ja) * | 2015-07-31 | 2017-02-09 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
CN107025668A (zh) * | 2017-03-30 | 2017-08-08 | 华南理工大学 | 一种基于深度相机的视觉里程计的设计方法 |
US20170278231A1 (en) * | 2016-03-25 | 2017-09-28 | Samsung Electronics Co., Ltd. | Device for and method of determining a pose of a camera |
CN107862720A (zh) * | 2017-11-24 | 2018-03-30 | 北京华捷艾米科技有限公司 | 基于多地图融合的位姿优化方法及位姿优化系统 |
-
2018
- 2018-06-27 CN CN201810682555.7A patent/CN109035334B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104537709A (zh) * | 2014-12-15 | 2015-04-22 | 西北工业大学 | 一种基于位姿变化的实时三维重建关键帧确定方法 |
WO2017022033A1 (ja) * | 2015-07-31 | 2017-02-09 | 富士通株式会社 | 画像処理装置、画像処理方法および画像処理プログラム |
US20170278231A1 (en) * | 2016-03-25 | 2017-09-28 | Samsung Electronics Co., Ltd. | Device for and method of determining a pose of a camera |
CN107025668A (zh) * | 2017-03-30 | 2017-08-08 | 华南理工大学 | 一种基于深度相机的视觉里程计的设计方法 |
CN107862720A (zh) * | 2017-11-24 | 2018-03-30 | 北京华捷艾米科技有限公司 | 基于多地图融合的位姿优化方法及位姿优化系统 |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110047108A (zh) * | 2019-03-07 | 2019-07-23 | 中国科学院深圳先进技术研究院 | 无人机位姿确定方法、装置、计算机设备及存储介质 |
CN112013844B (zh) * | 2019-05-31 | 2022-02-11 | 北京小米智能科技有限公司 | 建立室内环境地图的方法及装置 |
CN112013844A (zh) * | 2019-05-31 | 2020-12-01 | 北京小米智能科技有限公司 | 建立室内环境地图的方法及装置 |
CN110361005A (zh) * | 2019-06-26 | 2019-10-22 | 深圳前海达闼云端智能科技有限公司 | 定位方法、定位装置、可读存储介质及电子设备 |
CN110335317A (zh) * | 2019-07-02 | 2019-10-15 | 百度在线网络技术(北京)有限公司 | 基于终端设备定位的图像处理方法、装置、设备和介质 |
CN110490131B (zh) * | 2019-08-16 | 2021-08-24 | 北京达佳互联信息技术有限公司 | 一种拍摄设备的定位方法、装置、电子设备及存储介质 |
CN110490131A (zh) * | 2019-08-16 | 2019-11-22 | 北京达佳互联信息技术有限公司 | 一种拍摄设备的定位方法、装置、电子设备及存储介质 |
CN110738273A (zh) * | 2019-10-23 | 2020-01-31 | 成都极米科技股份有限公司 | 图像特征点的匹配方法、装置、设备及存储介质 |
CN110738273B (zh) * | 2019-10-23 | 2023-07-21 | 成都极米科技股份有限公司 | 图像特征点的匹配方法、装置、设备及存储介质 |
CN111340887A (zh) * | 2020-02-26 | 2020-06-26 | Oppo广东移动通信有限公司 | 视觉定位方法、装置、电子设备和存储介质 |
CN111340887B (zh) * | 2020-02-26 | 2023-12-29 | Oppo广东移动通信有限公司 | 视觉定位方法、装置、电子设备和存储介质 |
CN111696131A (zh) * | 2020-05-08 | 2020-09-22 | 青岛小鸟看看科技有限公司 | 基于在线图案分割的手柄追踪方法 |
CN111696131B (zh) * | 2020-05-08 | 2023-05-16 | 青岛小鸟看看科技有限公司 | 基于在线图案分割的手柄追踪方法 |
CN111651048A (zh) * | 2020-06-08 | 2020-09-11 | 浙江商汤科技开发有限公司 | 多虚拟对象排列展示方法、装置、电子设备及存储介质 |
CN111651048B (zh) * | 2020-06-08 | 2024-01-05 | 浙江商汤科技开发有限公司 | 多虚拟对象排列展示方法、装置、电子设备及存储介质 |
CN112270710A (zh) * | 2020-11-16 | 2021-01-26 | Oppo广东移动通信有限公司 | 位姿确定方法、位姿确定装置、存储介质与电子设备 |
CN112270710B (zh) * | 2020-11-16 | 2023-12-19 | Oppo广东移动通信有限公司 | 位姿确定方法、位姿确定装置、存储介质与电子设备 |
CN114279456A (zh) * | 2021-12-06 | 2022-04-05 | 纵目科技(上海)股份有限公司 | 图片构建/车辆定位方法、系统、终端及计算机存储介质 |
CN114279456B (zh) * | 2021-12-06 | 2024-04-30 | 纵目科技(上海)股份有限公司 | 图片构建/车辆定位方法、系统、终端及计算机存储介质 |
CN116758058A (zh) * | 2023-08-10 | 2023-09-15 | 泰安市中心医院(青岛大学附属泰安市中心医院、泰山医养中心) | 一种数据处理方法、装置、计算机及存储介质 |
CN116758058B (zh) * | 2023-08-10 | 2023-11-03 | 泰安市中心医院(青岛大学附属泰安市中心医院、泰山医养中心) | 一种数据处理方法、装置、计算机及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109035334B (zh) | 2024-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109035334A (zh) | 位姿的确定方法和装置、存储介质及电子装置 | |
EP3579192B1 (en) | Method, apparatus and device for determining camera posture information, and storage medium | |
EP3786892B1 (en) | Method, device and apparatus for repositioning in camera orientation tracking process, and storage medium | |
US11481982B2 (en) | In situ creation of planar natural feature targets | |
CN103858148B (zh) | 用于移动设备的平面映射和跟踪方法、装置及设备 | |
CN111291885A (zh) | 近红外图像的生成方法、生成网络的训练方法和装置 | |
EP2903256B1 (en) | Image processing device, image processing method and program | |
Prisacariu et al. | 3D hand tracking for human computer interaction | |
CN107079141A (zh) | 用于三维视频的图像拼接 | |
CN108701359A (zh) | 跨越具有对应深度图的视频帧跟踪兴趣区域 | |
WO2017019811A1 (en) | Robust attribute transfer for character animation | |
CN109919971B (zh) | 图像处理方法、装置、电子设备及计算机可读存储介质 | |
CN111951325A (zh) | 位姿跟踪方法、位姿跟踪装置及电子设备 | |
CN110069125B (zh) | 虚拟对象的控制方法和装置 | |
CN116057577A (zh) | 用于增强现实的地图 | |
CN105069829B (zh) | 一种基于多目视频的人体动画生成方法 | |
CN112308977A (zh) | 视频处理方法、视频处理装置和存储介质 | |
CN114882106A (zh) | 位姿确定方法和装置、设备、介质 | |
Zhou et al. | Information-efficient 3-D visual SLAM for unstructured domains | |
US20210258476A1 (en) | System for generating a three-dimensional scene of a physical environment | |
Uma et al. | A Review on Augmented Reality and YOLO | |
CN113570535B (zh) | 视觉定位方法及相关装置、设备 | |
CN111258413A (zh) | 虚拟对象的控制方法和装置 | |
CN110941327A (zh) | 虚拟对象的显示方法和装置 | |
CN110941974B (zh) | 虚拟对象的控制方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20190115 Address after: Room 1601-1608, Floor 16, Yinke Building, 38 Haidian Street, Haidian District, Beijing Applicant after: Tencent Technology (Beijing) Co.,Ltd. Address before: 518000 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 Floors Applicant before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TG01 | Patent term adjustment |