CN109613974B - 一种大场景下的ar家居体验方法 - Google Patents
一种大场景下的ar家居体验方法 Download PDFInfo
- Publication number
- CN109613974B CN109613974B CN201811216659.5A CN201811216659A CN109613974B CN 109613974 B CN109613974 B CN 109613974B CN 201811216659 A CN201811216659 A CN 201811216659A CN 109613974 B CN109613974 B CN 109613974B
- Authority
- CN
- China
- Prior art keywords
- camera
- points
- home
- feature
- matching
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000005516 engineering process Methods 0.000 claims abstract description 17
- 239000011159 matrix material Substances 0.000 claims description 58
- 238000005070 sampling Methods 0.000 claims description 14
- 238000000605 extraction Methods 0.000 claims description 13
- 238000013519 translation Methods 0.000 claims description 13
- 230000000007 visual effect Effects 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 11
- 238000010276 construction Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 6
- 239000003550 marker Substances 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 238000012549 training Methods 0.000 claims description 5
- 238000009877 rendering Methods 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 claims description 3
- 238000003384 imaging method Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 3
- 238000010845 search algorithm Methods 0.000 claims description 3
- 230000003190 augmentative effect Effects 0.000 abstract description 4
- 230000000694 effects Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000004927 fusion Effects 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000033772 system development Effects 0.000 description 2
- 241000283966 Pholidota <mammal> Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003702 image correction Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000002945 steepest descent method Methods 0.000 description 1
- 230000001360 synchronised 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0641—Shopping interfaces
- G06Q30/0643—Graphical representation of items or shoppers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/80—Geometric correction
-
- 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
- G06T7/85—Stereo camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/01—Indexing scheme relating to G06F3/01
- G06F2203/012—Walk-in-place systems for allowing a user to walk in a virtual environment while constraining him to a given position in the physical environment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/08—Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
-
- 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/10004—Still image; Photographic image
- G06T2207/10012—Stereo images
-
- 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/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Development Economics (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种大场景下的AR家居体验方法,在基于自然特征标识的三维注册方法和双目追踪定位与局部建图方法相结合的基础上,利用双目追踪定位与局部地图构建技术下对实时场景的特征点及其对应的三维点来估计摄像机姿态。该模式以实时拍摄的现场环境特征为识别追踪对象,在没有标识图的情况下虚拟家居模型仍然可以正常定位追踪,解决了现有AR家居体验应用使用范围小、稳定性差的问题,由此可以更大范围、更真实地满足虚实融合的AR家居体验。
Description
技术领域
本发明属于增强现实技术领域,具体涉及一种大场景下的AR家居体验方法。
背景技术
增强现实技术(AR)将虚拟物体渲染在真实场景之中,产生了虚实融合的效果,增强了人们的感官体验,是目前图形图像交叉领域的一个应用研究热点。而其中的AR家居体验技术研究,是通过在用户房间摆放三维虚拟物品来模拟真实的家居体验过程,解决了在商场挑选家居物品时不能提前预览家居物品在家中摆放效果的问题。
AR家居体验应用采用拟选物品的识别图来完成虚拟物体的三维注册,该技术要求标识图必须保持在摄像机的最佳视野之中。当摄像机距离标识图较远或标识图不在有效的视野范围内时,该AR系统将无法进行三维注册,也就是说这类基于AR的家居体验应用开发只能在小空间范围内使用。随着AR家居应用的普及,通常需要在远距离和大视野范围下观察虚拟家居物体的摆放效果,而该技术显然不能满足应用的需求,因此极大地影响了AR家居体验。
发明内容
本发明的目的是提供一种大场景下的AR家居体验方法,解决了基于平面识别图的AR家居体验应用只能在小范围空间使用的问题。
本发明所采用的技术方案是,一种大场景下的AR家居体验方法,首先使用双目摄像机拍摄所有拟选家居物品的标识图,通过离线训练完成家居物品标识图的特征提取,生成各类家居物品标识图对应的离线特征库;双目摄像机指的是两个处于同一大场景下、相对设置的摄像机;然后对双目摄像机采集到的包含拟选家居物品标识图的视频帧图像通过采用自然特征标识技术进行识别和三维注册,完成三维虚拟物体的选定并确定摄像机的初始位姿;最后采用双目追踪定位与局部地图构建技术追踪摄像机在自然环境中的位姿变化,完成拟选家居物品在大环境下的扩展追踪定位。
本发明的特点还在于,
大场景下的AR家居体验方法,具体包括以下步骤:
步骤1:生成离线特征库
步骤1.1:对双目摄像机进行标定获得摄像机内参数K和外参数M,通过双目摄像机采集所有拟选家居物品的标识图;
步骤1.2:通过离线训练完成家居物品标识图的特征提取;
步骤2:自然特征标识图的三维注册
步骤2.1:对摄像机拍摄的包含标识图的视频帧图像进行标识图灰度化处理,选用BRISK算法完成特征提取;
步骤2.2:利用BRISK+FLANN结合算法完成视频帧图像与标识图的特征点匹配;
步骤2.3:剔除步骤2.2中产生的误匹配。若匹配失败,返回摄像头重新采集视频帧图像;
步骤2.4:计算摄像机拍摄到的包含标识图的视频帧图像与标识图之间的单应性矩阵;
步骤2.5:利用RANSAC算法建立当前视频帧图像关键点与标识图关键点间单应性关系,实现细化匹配;
步骤2.6:通过单应性矩阵计算出标识图四个角点在视频帧图像中的坐标,设定四个角点在归一化世界坐标系中的坐标,结合图像坐标系下坐标,利用2D-3D对应关系来估计摄像机的姿态;
步骤2.7:将摄像机的内参数矩阵和外参数矩阵转换为OpenGL格式,加载3D模型并更新模型位姿;
步骤2.8:将步骤2.7位姿更新后的模型与双目摄像机拍摄到的包含标识图的视频帧图像融合并渲染到屏幕,完成现实家居场景与拟选的家居物品三维模型的初始三维注册;
步骤3:采用双目追踪定位与局部地图构建技术追踪摄像机在自然环境中的位姿变化
步骤3.1:使用双目摄像机同步采集家居场景的视觉图像;
步骤3.2:对双目摄像机进行参数标定;
步骤3.3:对步骤1采集的视觉图像进行校正;
步骤3.4:完成世界坐标下的两个摄像机R1和R2校正后视觉图像特征点提取;
步骤3.5:对步骤3.4两个摄像机R1和R2所拍摄视觉图像进行特征点搜索、特征点匹配和筛选特征点的双目立体匹配,对拟选物品的标识图进行识别和三维注册,完成三维虚拟物体的选定并确定摄像机的初始位姿;
步骤3.6:在去除标识图的情况下,通过PnP方法估计摄像机的位姿,完成摄像机当前帧特征点与家居环境地图中关键帧的特征点匹配;
步骤3.7:步骤3.6求得的摄像机位姿因噪声影响存在误差,使用非线性优化算法优化摄像机位姿,进一步完成虚拟家居模型在大环境下的扩展追踪定位,实现了大环境下稳定的AR家居体验。
步骤2.3剔除误匹配的方法为:
使用K最近邻匹配搜索算法结合比率测试技术删除离群值,设某个点集I={i1,i2,i3,...,in}与另一个点集J={j1,j2,...,jn},如果查找J点集中一个特征点在I点集中的最近邻元素,则满足:
NN(j,I)=argminx∈Id(j,x) (6)
其中d(j,x)表示J点集中的j点与I点集中的所有特征点的距离,则KNN可以表示如下:
KNN(j,I,K)=M (7)
其中M满足如下约束:
在进行匹配时,将K=2,即对查找帧中的每个特征点ik,在被查找的特征点集中使用KNN查找最近邻点jk1与次近邻点jk2,比较ik,jk之间的距离dk1与ik、jk2之间的距离dk2,如果dk1远小于dk2,判定ik与jk1是匹配点对;如果dk1与dk2距离相近,判定jk1与jk2都不是正确的匹配点;
在匹配方法中设置参数γ=dk1/dk2,设置γ=0.5,如果γ<0.5则认为是匹配成功。
步骤2.4的单应性矩阵为:
x=λKMXw=λK[R/T]Xw (10)
其中,K表示摄像机的内部参数矩阵,M表示摄像机的外部参数矩阵,一般使用相似变换[R/T],R是描述照相机方向的旋转矩阵,T是描述摄像机中心位置的三维平移向量,将单应性矩阵进行分解以求解旋转矩阵R和平移向量T。
步骤3.6通过PnP方法估计摄像机的位姿,完成当前帧特征点与家居环境地图中关键帧的特征点匹配方法为:
步骤3.6.1:计算投影点
分为两种情况来计算投影点:初始化或者重定位时通过前后两帧的特征点匹配来计算投影点;追踪时通过假设相机运动模型是恒速模型通过投影的方式找到当前帧的投影点;
步骤3.6.2:使用PnP方法估计摄像机位姿
通过三角化获得视频帧图像中多个特征点对应的3D空间位置Pw=(Xw,Yw,Zw),通过特征点匹配获得这些特征点的在当前帧的投影位置p=(u,v),利用公式可以估计摄像机的位姿;
位姿信息由平移矢量T和旋转矩阵R确定,fx,fy,cx,cy均是摄像机内参数,由摄像头本身的性质确定;其中,fx,fy为焦距,cx,cy为相对于成像平面的主点坐标;通常选取世界坐标下的四个控制点坐标为Cw=[0,0,0,1]T,[1,0,0,1]T,[0,1,0,1]T,[0,0,1,1]T,通过n个3D点在相机平面的投影关系,以及与这四个控制点的权重关系,构建一个12*12方阵,求得其零空间特征向量,得到虚拟控制点的相机平面坐标,使用POSIT算法即可求出摄像机位姿。
本发明的有益效果是:本发明的一种大场景下的AR家居体验方法,在基于自然特征标识的三维注册方法和双目追踪定位与局部建图方法相结合的基础上,利用双目追踪定位与局部建图模式下对实时场景的特征点及其对应的三维点来估计摄像机姿态。该模式以实时拍摄的现场环境特征为识别追踪对象,在没有标识图的情况下虚拟家居模型仍然可以正常定位追踪,解决了现有AR家居体验应用使用范围小、稳定性差的问题,由此可以更大范围、更真实地满足虚实融合的AR家居体验。
附图说明
图1是本发明一种大场景下的AR家居体验方法提出的大场景AR技术开发流程图;
图2是本发明一种大场景下的AR家居体验方法的追踪定位与局部地图构建原理图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明是一种大场景下的AR家居体验方法,如图1所示,具体包括以下步骤:
步骤1:生成离线特征库
步骤1.1:对双目摄像机进行标定获得摄像机内参数K和外参数M,通过双目摄像机采集所有拟选家居物品的标识图
本发明利用棋盘标定板以获得较高的标定精度。摄像机需要从不同的角度对标定板拍摄10~15张图片,然后通过标定算法求解最优摄像机内部参数和畸变参数。采用Matlab标定工具箱来进行标定,采用9x6角点的棋盘格从12个不同角度拍摄12张图片,
对12个棋盘格图像进行上述操作后,选择误差分析工具可以获得二维坐标下的重投影误差,选择显示外参工具可以显示三维坐标系下的棋盘格相对于摄像机的位置,
标定完成后会获得焦距fc、主点cc、畸变参数kc等信息;
步骤1.2:特征提取
使用二进制鲁棒尺度不变关键点提取算法BRISK(Binary robust invariantscalable keypoints)进行特征提取。该算法包括关键点检测和特征描述两个环节。
步骤1.2.1:角点检测
在BRISK算法中通常情况下图像层和中间层各有4幅图像,一共可以得到8幅图像。
步骤1.2.2:特征点的检测
对尺度空间中的每幅图像应用FAST9-16进行特征点检测,对原图像进行FAST5-8角点检测,在尺度空间中寻找极大值。
步骤1.3:特征描述
获得特征点信息后需要采用一定的方式对其进行描述。以特征点为中心,不同半径的圆周上采样N个点(其中包括特征点)。
以采样点为圆心进行高斯滤波,滤波半径与每一个圆周上采样点的距离成正比。设采样点中任意的一对为(Pi,Pj),高斯滤波后的灰度值分别为I(Pi,σi)和I(Pj,σj),则两点之间的梯度为
设所有的采样点对构成的集合为C,定义短距离采样点对子集为S,长距离采样点对子集为L,则
式中:δmax=9.75t,δmin=13.67t,t为特征点尺度。则特征点的主方向可以由下式得到:
由以上步骤生成离线特征库。
步骤2:自然特征标识图的三维注册
步骤2.1:对标识图进行灰度化处理,选用BRISK算法完成特征提取。
步骤2.2:BRISK+FLANN结合匹配
通过FLANN匹配法反映出两个特征描述子的相似程度,由此判断两者是否为同一特征点。使用BRISK结合FLANN匹配算法具有较多的匹配点和较快的匹配速度。
步骤2.3:剔除误匹配
通过剔除误匹配算法减少在匹配阶段产生的大量误匹配。
使用K最近邻匹配搜索算法结合比率测试技术删除离群值。假设某个点集I={i1,i2,i3,...,in}与另一个点集J={j1,j2,...,jn},如果查找J点集中一个特征点在I点集中的最近邻元素,则满足:
NN(j,I)=argminx∈Id(j,x) (6)
其中d(j,x)表示J点集中的j点与I点集中的所有特征点的距离。则KNN可以表示如下:
KNN(j,I,K)=M (7)
其中M满足如下约束:
在进行匹配时,将K=2,即对查找帧中的每个特征点ik,在被查找的特征点集中使用KNN查找最近邻点jk1与次近邻点jk2,比较ik,jk之间的距离dk1与ik、jk2之间的距离dk2,如果dk1远小于dk2,判定ik与jk1是匹配点对;如果dk1与dk2距离相近,判定jk1与jk2都不是正确的匹配点。在匹配方法中设置参数γ=dk1/dk2,若设置γ=0.5,如果r<0.5则认为是匹配成功。
步骤2.4:单应性变换
单应性变换按照x′=Hx进行二维映射,其中x为标识图平面点坐标、x′为视频帧图像点坐标,H为单应性变换矩阵:
使用w=1来归一化点,使点的坐标表示成齐次坐标,点的齐次坐标依赖其尺度比例s。点具有唯一的图像坐标x和y,单应性变换的齐次坐标表示如下:
单应性矩阵由摄像机内参数矩阵K以及外参数矩阵M构成,进一步写成:
x=λKMXw=λK[R/t]Xw (10)
其中,K表示摄像机的内部参数矩阵,M表示摄像机的外部参数矩阵。一般使用相似变换[R/t],R是描述照相机方向的旋转矩阵,t是描述照相机中心位置的三维平移向量。将单应性矩阵进行分解以求解旋转矩阵R和平移向量t。
步骤2.5:利用RANSAC算法建立当前视频帧图像关键点与标识图关键点间单应性关系,实现细化匹配
运用随机采样一致性(RANSAC)迭代方法找到正确模型并拟合带有噪声数据。
步骤2.5.3:相应的计算p点到外极线Iq的距离。若max(dp,dq)小于规定的阈值,即视p,q点为正确匹配,否则视为误匹配,并统计正确匹配点的数目。
步骤2.5.4:利用所有的正确匹配点重新计算基础矩阵F。
步骤2.5.5:在此基础上重新搜索正确的匹配点对。
步骤2.5.6:循环进行步骤2.5.4与步骤2.5.5,直至匹配点对的数目达到稳定状态,由此建立当前视频帧图像关键点与识别图关键点间的单应性关系。
步骤2.6:姿态估计
姿态估计阶段由摄像机标定获得摄像机的内参数矩阵,通过单应性矩阵计算出标识图四个角点在视频帧图像中的坐标。设定四个角点在归一化世界坐标系中的坐标结合图像坐标系下坐标,利用2D-3D对应关系来估计摄像机的姿态。对摄像机姿态矩阵求逆可得到虚拟三维模型在世界坐标系的位置。利用内参数矩阵可以使3D模型呈现正确的透视效果。
步骤2.7:三维可视化渲染
本发明使用OpenGL来渲染3D效果。
步骤2.8:照相机矩阵转换为OpenGL格式
为了确保照相机矩阵的旋转部分是旋转矩阵,使用SVD分解的方法,旋转矩阵的最佳逼近可以采用R=UVT来获得。由于OpenGL与OpenCV的坐标系不一致,需要将三维物体绕X轴旋转180度。
步骤2.9:在图像中渲染三维虚拟物体
本发明使用Assimp方法(Open Asset Import Library,开放资源导入库)读取复杂模型文件。通过结合OpenCV与OpenGL技术实现3D家居模型在摄像机画面的虚实融合效果。
步骤3:采用双目追踪定位与局部地图构建技术追踪摄像机在自然环境中的位姿变化
步骤3.1:使用双目摄像机同步采集家居场景的视觉图像
双目视觉的图像可以采用两个RGB摄像机同步采集,本发明采用KS861双目RGB摄像机,输出分辨率为2560*960,采用USB接口输出,采集速率为60帧/秒。
步骤3.2:双目摄像机标定
双目摄像机的标定可使用单目摄像机的标定方法对左右摄像机分别标定获得对应的内参数矩阵。假定摄像机C1相对世界坐标系的外部参数是旋转矩阵R1和平移矩阵T1,摄像机C2相对世界坐标系的外部参数是旋转矩阵R2和平移矩阵T2。对于空间中任意一点P,在世界坐标系、摄像机坐标系C1和摄像机坐标系C2下的非齐次坐标分别为Xw,Xc1,Xc2则有:
消去xw可得:
因此,两个摄像机之间的关系可用R和T来表示:
本发明标定板采用10×7的棋盘格,实际采样点为9×6,正方格的边长为30mm。为了得到精度较高的标定结果,采集14对不同视角的棋盘格图像。标定过程采用MATLABtoolbox_calib工具箱,应用stereo_gui命令打开双目标定功能,提供两个摄像机的标定结果程序计算出双目标定的内外参数,外参数情况可以使用Matlab实时3D显示。
步骤3.3:图像校正
径向畸变通常可以表示为到达图像中心距离r的多项式函数。在归一化摄像机中,最终的图像位置(x',y')可以用原始位置(x,y)的函数来表示:
x'=x(1+β1r2+β2r4)
y'=y(1+β1r2+β2r4) (15)
其中畸变参数β1和β2决定畸变的程度。
利用上述公式求得畸变参数,之后将内参数、外参数和畸变参数用非线性方法进行迭代优化,可得到最终误差较小的参数值。
步骤3.4:特征提取
步骤3.4.1:特征点提取
本发明使用ORB特征提取算法进行特征点的提取操作,利用FAST关键点分配主方向,并建立旋转不变的BRIEF描述符。
步骤3.4.2:关键点检测
ORB使用FAST检测器检测关键点,以获得响应值较大的前N个角点。
步骤3.4.3:确定关键点方向
ORB使用关键点周围半径为r的圆形区域内的强度重心作为关键点的主方向,一个区域的邻域矩定义如下式所示,其中x,y∈[-r,r]。
通过邻域矩可以计算该邻域的重心坐标为:
ORB定义FAST角点的方向为角点与重心的夹角,由下式计算。
步骤3.4.4:生成二进制描述符
BRIEF描述符的步骤如下:在关键点邻域取大小为S×S的patch(图像小块)。为了避免像素灰度的混叠,用方差为2大小为9×9的高斯滤波器对该图像进行平滑操作,在每个patch上定义一个测试τ,如下式所示。
其中,I(p,x)代表图像小块p在x=(u,v)T处经过高斯平滑后的像素强度值。在图像小块上随机生成nd组点,对这nd组点对的像素强度值两两比较,生成(通常nd=128,256或512)比特的二进制字符串,用十进制表示为:
ORB使用如下的方法提高BRIEF描述符对旋转变化的鲁棒性和稳定性:以关键点为中心,随机选取5×5大小的图像块,对图像块内像素灰度值求和,两两组成一个二进制测试,ORB采用离线训练的方式获得256个不相关的二进制测试对。对这256个二进制测试对(xi,yi),定义相应的2×n矩阵S:
使用图像内方向θ和相应的旋转矩阵R,建立矩阵Sθ:Sθ=RθS,此时旋转不变的BRIEF描述符可以由下式表示。
gn(p,θ)=fn(p)|(xi,yi)∈Sθ (22)
将角度以2π/30的增量离散化,构建预计算的BRIEF采样点对的查找表。由于采样模式固定,当给定关键点后,可直接通过查找表的方式快速获得旋转不变的二进制描述符。
步骤3.5:基于特征点的双目立体匹配
本发明使用的双目摄像机两个摄像机保持光轴平行且在同一高度,可知左右两幅图像中对应匹配点的极线共线。满足对极几何约束关系,计算量大幅减少,匹配的鲁棒性和精度得到很大提高。
双目立体匹配的目的是获得特征点所在的世界坐标。首先进行摄像机标定,可得摄像机的焦距fx=1432,fy=1478,基线长度为b=112mm。获取摄像机的左右图像要求输出同步且图像质量尽量一致。
本发明使用局部模板匹配的方式进行特征点匹配,大致分为以下三个部分:特征点搜索、特征点匹配和筛选特征点。
步骤3.5.1:特征点搜索
以特征点为中心大小为11x11的图像块为模板,按特征点的水平方向进行扫描,若水平方向上没有匹配点则继续扫描下一个特征点,按这样方式直到将左图中所有特征点遍历完程序结束。
步骤3.5.2:特征点匹配
本发明使用误差平方和算法,该算法计算的是子图与模板图的L2距离,如公式所示:
具体的匹配过程是:在图像I2中选择一块M×N大小的图像作为模板,在图像I1中的(i,j)处选择同样M×N大小的区域作为匹配区域,对匹配区域与模板的每个像素值进行相减再求平方计算。
步骤3.5.3:筛选匹配点
SSD匹配算法中一个特征点对应多个匹配点,比较每次计算的误差并从中找出误差最小的值对应的匹配点,剔除其余的点。
步骤3.5.4:创建地图
获得匹配特征点之后可以通过三角法计算特征点的世界坐标(X,Y,Z):
其中,f是经过校正的图像的焦距,B是基线单位为m,ul和ur分别是左右两幅图像中对应点的x坐标,vl和vr分别是左右两幅图像中对应点的y坐标,d为视差单位为像素。该点的坐标即两个特征点在三维场景中的位置坐标。
步骤3.6:估计摄像机位姿
本发明使用的双目摄像机适合使用3D-2D的方式来进行相机位姿估计,利用PnP(Perspective-n-point)方法求解3D-2D问题。
步骤3.6.1:计算投影点
摄像机的追踪状态分为:
(1)初始化或者重定位状态:该阶段通过前后两帧的特征点匹配来计算投影点然后使用PnP方法进行摄像位姿估计;
(2)追踪状态:该阶段假设相机运动模型是恒速模型通过投影的方式找到当前帧的投影点,然后使用PnP方法进行摄像位姿估计。
分为以上两种不同情况来计算投影点。本发明使用特征点匹配计算投影点。
步骤3.6.2:使用PnP方法估计摄像机位姿
前文步骤3.5.4中通过三角化获得了摄像机视频帧图像中多个特征点对应的3D空间位置Pw=(Xw,Yw,Zw),通过特征点匹配获得这些特征点的在当前帧的投影位置p=(u,v),利用公式可以估计摄像机的位姿。
位姿信息由平移矢量T和旋转矩阵R确定。fx,fy,cx,cy均是摄像头内参数,由摄像头本身的性质确定。其中,fx,fy为焦距,一般情况下二者相等,cx,cy为主点坐标(相对于成像平面)。通常选取世界坐标下的四个控制点坐标为Cw=[0,0,0,1]T,[1,0,0,1]T,[0,1,0,1]T,[0,0,1,1]T,通过n个3D点在相机平面的投影关系,以及与这四个控制点的权重关系,构建一个12*12方阵,求得其零空间特征向量,得到虚拟控制点的相机平面坐标,使用POSIT算法即可求出摄像机位姿。
步骤3.6.3:更新地图
由前一步骤获得的估计摄像机的位姿信息实时更新地图。局部地图构建是通过摄像机的不断运动将当前帧的特征点和特征点对应的3D点插入到地图词典当中,通过两帧之间的相机运动估计实现了相机的实时追踪。使用当前帧与家居环境地图中关键帧进行特征点匹配,实现重追踪定位。追踪定位与局部地图构建原理如图2所示,通过PnP方法调整可以不断更新地图特征点和位置信息。
图中Update代表更新地图,地图是一个由特征点和对应的地图点构成的字典,地图更新既会更新特征点也会更新地图点。
本发明通过EPnP、DLT、P3P方法对公开数据集图片进行测试,计算摄像机的旋转矩阵R和平移向量T,以及每种方法的运行时间t,在检测到79组匹配点后使用EPnP方法用时0.00020938秒,DLT方法用时0.000220764秒,P3P方法用时0.000210564秒,EPnP计算速度最快。
最终三种方法求得的旋转矩阵R为:
求得的平移矢量T为:
本发明使用EPnP结合RANSAC方法求得的旋转矩阵R为:
求得的平移矢量T为:
EPnP+RANSAC方法用时0.000690153秒,可以看出结合RANSAC方法最后使精度提高了小数点后两位,用时提高了0.000480773秒。
步骤3.7:使用非线性优化算法优化摄像机位姿
3D点或2D点会存在噪声干扰使用PnP方法产生相机位姿偏离严重的问题。通常的做法是使用PnP方法估计相机位姿,然后构建最小二乘问题对估计值进行调整。
LM方法通过调节参数λ来在最速下降法和高斯牛顿法之间切换。本发明首先对一阶和二阶梯度法、高斯牛顿法及LM进行比较,比较方法使用以上方法对曲线y=exp(ax2+bx+c)+w(w为噪声)进行拟合评估拟合精度和时间,设定a=1,b=2,c=1而w为曲线附近的随机噪声,拟合结果如表所示:
表1三种非线性优化方法拟合结果对比
由表可以看出三者的拟合精度差距不大,但是运算时间上LM算法较快。
在EPnP+RANSAC的基础上使用LM进行非线性优化,最终优化后的结果为:
实施例
本实施例在自然特征标识的AR技术和双目追踪定位与局部建图技术的基础上,设计了一种适用于大场景AR家居体验系统。在使用该系统时,将识别图摆放在目标位置上,用户使用双目摄像机对家居识别图进行识别,成功识别后在家居识别图上会出现三维虚拟家居物品,这时系统会切换到大环境下的追踪定位与局部建图模式下,系统会以构建的环境地图为识别对象来对虚拟家居物品进行定位,在没有识别图的情况下虚拟家居任然能保持在环境中。该系统改变了传统家居体验,同时能适用于更大的场景,拓展了识图AR的使用范围,具有较好的应用价值。
系统开发环境:软件方面,使用C++结合OpenCV及OpenGL进行系统开发,使用3Dmax2015建模工具来进行建模。硬件方面,开发和运行环境是基于Linux的PC平台,使用了KS861双目摄像机,本实施例系统的开发配置参数如表2所示。
表2开发配置参数表
操作系统 | Ubuntu 16.04 |
内存/主频 | 8GB/2.6GHz |
处理器 | Intel酷睿i7-4720HQ |
集成开发环境 | KDevelop |
摄像机 | USB接口KS861 20cm可调基线双目摄像机 |
本实施例系统分为三个窗口:AR显示窗口、特征点显示窗口、地图显示窗口。
(1)AR显示窗口
AR显示窗口通过OpenGL中的GLFW库进行构建。GLFW是面向opengl、opengles和vulkan应用程序开发的开源多平台库。它提供了一个简单的,平台无关的api,用于创建窗口,上下文和表面,读取输入,处理事件。
实现增强现实效果需要将当前摄像机画面作为背景,绘制背景时需要定义一个大小与窗口一样的矩形,该矩形为一个纹理单元,使用opencv加载做摄像机的视频帧并将视频帧转换为OpenGL可用纹理格式,最后将该纹理绘制在矩形上。
(2)特征点显示窗口
该窗口用来显示系统实时显示检测到的特征点,该窗口直接通过OpenCV窗口函数构建。
(3)地图显示窗口
地图显示窗口用来实时显示构建的地图和摄像机的运动轨迹,该窗口由Pangolin构建,Pangolin是对OpenGL进行封装的轻量级的OpenGL输入/输出和视频显示的库。可以用于3D视觉和3D导航的视觉图,可以输入各种类型的视频、并且可以保留视频和输入数据。
系统功能测试:系统运行首先进行自然特征标识的三维注册,使用者用摄像机拍摄家居识别图当系统成功识别家居图片后AR显示窗口将显示3D家居模型。
经测试当摄像机距离识别图15cm以内无法拍全识别图识别失败,当摄像机距离识别图50cm左右处时拍摄的识别图较模糊同样识别失败,可识别范围为15~50cm。当系统识别家居识别图产生AR效果后手动切换到双目追踪定位与局部建图方式,使用者需要将摄像机缓慢地移动直到检测到环境中的其他特征点。这时AR不再依赖识别图,而是对更大的场景进行识别。
使用范围测试:在测试本发明设计的系统使用范围时,分别将摄像机移动0.5m、1m、2m、4m、6m的距离对系统进行了测试。
由实验结果可以看出分别将摄像机移动0.5m、1m、2m、4m的距离系统对自然场景特征识别较为稳定,虚拟家居物体的位置只发生了轻微的漂移,在移动超过4m后由于累积误差的影响虚拟家居物体的位置漂移严重。由实验可得本系统追踪定位与局部建图模式下的识别距离为0.5m~4m,可将自然特征标识的三维注册模式下的识别距离从0.5m扩展到4m,基本可以满足大场景AR家居体验,验证了本系统在大场景下具有良好的适用性。
Claims (4)
1.一种大场景下的AR家居体验方法,其特征在于,首先使用双目摄像机拍摄所有拟选家居物品的标识图,通过离线训练完成家居物品标识图的特征提取,生成各类家居物品标识图对应的离线特征库,所述双目摄像机指的是两个处于同一大场景下、相对设置的摄像机;然后对双目摄像机采集到的包含拟选家居物品标识图的视频帧图像通过采用自然特征标识技术进行识别和三维注册,完成三维虚拟物体的选定并确定摄像机的初始位姿;最后采用双目追踪定位与局部地图构建技术追踪摄像机在自然环境中的位姿变化,完成拟选家居物品在大环境下的扩展追踪定位;具体包括以下步骤:
步骤1:生成离线特征库
步骤1.1:对双目摄像机进行标定获得摄像机内参数K和外参数M,通过双目摄像机采集所有拟选家居物品的标识图;
步骤1.2:通过离线训练完成家居物品标识图的特征提取;
步骤2:自然特征标识图的三维注册
步骤2.1:对摄像机拍摄的包含标识图的视频帧图像进行标识图灰度化处理,选用BRISK算法完成特征提取;
步骤2.2:利用BRISK+FLANN结合算法完成视频帧图像与标识图的特征点匹配;
步骤2.3:剔除步骤2.2中产生的误匹配,若匹配失败,返回摄像头重新采集视频帧图像;
步骤2.4:计算摄像机拍摄到的包含标识图的视频帧图像与标识图之间的单应性矩阵;
步骤2.5:利用RANSAC算法建立当前视频帧图像关键点与标识图关键点间单应性关系,实现细化匹配;
步骤2.6:通过单应性矩阵计算出标识图四个角点在视频帧图像中的坐标,设定四个角点在归一化世界坐标系中的坐标,结合图像坐标系下坐标,利用2D-3D对应关系来估计摄像机的姿态;
步骤2.7:将摄像机的内参数矩阵和外参数矩阵转换为OpenGL格式,加载3D模型并更新模型位姿;
步骤2.8:将步骤2.7位姿更新后的模型与双目摄像机拍摄到的包含标识图的视频帧图像合并渲染到屏幕,完成现实家居场景与拟选的家居物品三维模型的初始三维注册;
步骤3:采用双目追踪定位与局部地图构建技术追踪摄像机在自然环境中的位姿变化
步骤3.1:使用双目摄像机同步采集家居场景的视觉图像;
步骤3.2:对双目摄像机进行参数标定;
步骤3.3:对步骤1采集的视觉图像进行校正;
步骤3.4:完成世界坐标下的两个摄像机R1和R2校正后视觉图像特征点提取;
步骤3.5:对步骤3.4两个摄像机R1和R2所拍摄视觉图像进行特征点搜索、特征点匹配和筛选特征点的双目立体匹配,对拟选物品的标识图进行识别和三维注册,完成三维虚拟物体的选定和确定初始位姿;
步骤3.6:在去除标识图的情况下,通过PnP方法估计摄像机的位姿,完成摄像机当前帧特征点与家居环境地图中关键帧的特征点匹配;
步骤3.7:步骤3.6求得的摄像机位姿因噪声影响存在误差,使用非线性优化算法优化摄像机位姿,进一步完成虚拟家居模型在大环境下的扩展追踪定位,实现了大环境下稳定的AR家居体验。
2.权利要求1所述的一种大场景下的AR家居体验方法,其特征在于,步骤2.3剔除误匹配的方法为:
使用K最近邻匹配搜索算法结合比率测试技术删除离群值,设某个点集I={i1,i2,i3,...,in}与另一个点集J={j1,j2,...,jn},如果查找J点集中一个特征点在I点集中的最近邻元素,则满足:
NN(j,I)=argminx∈Id(j,x) (6)
其中d(j,x)表示J点集中的j点与I点集中的所有特征点的距离,则KNN可以表示如下:
KNN(j,I,K)=M (7)
其中M满足如下约束:
在进行匹配时,将K=2,即对查找帧中的每个特征点ik,在被查找的特征点集中使用KNN查找最近邻点jk1与次近邻点jk2,比较ik,jk之间的距离dk1与ik、jk2之间的距离dk2,如果dk1远小于dk2,判定ik与jk1是匹配点对;如果dk1与dk2距离相近,判定jk1与jk2都不是正确的匹配点;
在匹配方法中设置参数γ=dk1/dk2,设置γ=0.5,如果γ<0.5则认为是匹配成功。
3.权利要求1所述的一种大场景下的AR家居体验方法,其特征在于,步骤2.4的单应性矩阵为:
x=λKMXw=λK[R/T]Xw (10)
其中,K表示摄像机的内部参数矩阵,M表示摄像机的外部参数矩阵,一般使用相似变换[R/T],R是描述照相机方向的旋转矩阵,T是描述摄像机中心位置的三维平移向量,将单应性矩阵进行分解以求解旋转矩阵R和平移向量T。
4.权利要求3所述的一种大场景下的AR家居体验方法,其特征在于,步骤3.6通过PnP方法估计摄像机的位姿,完成当前帧特征点与家居环境地图中关键帧的特征点匹配方法为:
步骤3.6.1:计算投影点
分为两种情况来计算投影点:初始化或者重定位时通过前后两帧的特征点匹配来计算投影点;追踪时通过假设相机运动模型是恒速模型通过投影的方式找到当前帧的投影点;
步骤3.6.2:使用PnP方法估计摄像机位姿
通过三角化获得视频帧图像中多个特征点对应的3D空间位置Pw=(Xw,Yw,Zw),通过特征点匹配获得这些特征点的在当前帧的投影位置p=(u,v),利用公式可以估计摄像机的位姿;
位姿信息由平移矢量T和旋转矩阵R确定,fx,fy,cx,cy均是摄像机内参数,由摄像头本身的性质确定;其中,fx,fy为焦距,cx,cy为相对于成像平面的主点坐标;通常选取世界坐标下的四个控制点坐标为Cw=[0,0,0,1]T,[1,0,0,1]T,[0,1,0,1]T,[0,0,1,1]T,通过n个3D点在相机平面的投影关系,以及与这四个控制点的权重关系,构建一个12*12方阵,求得其零空间特征向量,得到虚拟控制点的相机平面坐标,使用POSIT算法即可求出摄像机位姿。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811216659.5A CN109613974B (zh) | 2018-10-18 | 2018-10-18 | 一种大场景下的ar家居体验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811216659.5A CN109613974B (zh) | 2018-10-18 | 2018-10-18 | 一种大场景下的ar家居体验方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109613974A CN109613974A (zh) | 2019-04-12 |
CN109613974B true CN109613974B (zh) | 2022-03-22 |
Family
ID=66002879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811216659.5A Active CN109613974B (zh) | 2018-10-18 | 2018-10-18 | 一种大场景下的ar家居体验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109613974B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110060276B (zh) * | 2019-04-18 | 2023-05-16 | 腾讯科技(深圳)有限公司 | 对象追踪方法、追踪处理方法、相应的装置、电子设备 |
CN110134234B (zh) * | 2019-04-24 | 2022-05-10 | 山东文旅云智能科技有限公司 | 一种三维物体定位的方法及装置 |
CN110275968A (zh) * | 2019-06-26 | 2019-09-24 | 北京百度网讯科技有限公司 | 图像数据处理方法和装置 |
CN110989825B (zh) * | 2019-09-10 | 2020-12-01 | 中兴通讯股份有限公司 | 增强现实互动实现方法及系统、增强现实设备、存储介质 |
CN111126304B (zh) * | 2019-12-25 | 2023-07-07 | 鲁东大学 | 一种基于室内自然场景图像深度学习的增强现实导航方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103839277A (zh) * | 2014-02-21 | 2014-06-04 | 北京理工大学 | 一种户外大范围自然场景的移动增强现实注册方法 |
CN103854283A (zh) * | 2014-02-21 | 2014-06-11 | 北京理工大学 | 一种基于在线学习的移动增强现实跟踪注册方法 |
-
2018
- 2018-10-18 CN CN201811216659.5A patent/CN109613974B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103839277A (zh) * | 2014-02-21 | 2014-06-04 | 北京理工大学 | 一种户外大范围自然场景的移动增强现实注册方法 |
CN103854283A (zh) * | 2014-02-21 | 2014-06-11 | 北京理工大学 | 一种基于在线学习的移动增强现实跟踪注册方法 |
Non-Patent Citations (2)
Title |
---|
Registration Based on SceneRecognition and Natural Features Tracking Techniques for Wide-Area AugmentedReality Systems;T.Guan;C.Wang;《IEEE TRANSACTIONS ON MULTIMEDIA》;20091208;全文 * |
面向移动增强现实的场景识别与跟踪注册技术研究;桂振文;《中国博士学位论文全文数据库 (信息科技辑)》;20140630;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109613974A (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109613974B (zh) | 一种大场景下的ar家居体验方法 | |
Zhou et al. | Canny-vo: Visual odometry with rgb-d cameras based on geometric 3-d–2-d edge alignment | |
CN106446815B (zh) | 一种同时定位与地图构建方法 | |
CN104376552B (zh) | 一种3d模型与二维图像的虚实配准方法 | |
US8953847B2 (en) | Method and apparatus for solving position and orientation from correlated point features in images | |
US9111347B2 (en) | Method for determining the pose of a camera with respect to at least one real object | |
Zhou et al. | Line-based camera calibration with lens distortion correction from a single image | |
JP2011085971A (ja) | 画像処理装置、画像処理方法、画像処理プログラム、記録媒体及び画像処理システム | |
CN109785373B (zh) | 一种基于散斑的六自由度位姿估计系统及方法 | |
Khoshelham et al. | Generation and weighting of 3D point correspondences for improved registration of RGB-D data | |
TW202145146A (zh) | 圖像配準方法及其相關的模型訓練方法、設備和電腦可讀儲存媒體 | |
WO2019013162A1 (ja) | 情報処理装置、情報処理方法 | |
Wan et al. | A study in 3d-reconstruction using kinect sensor | |
CN113642397A (zh) | 一种基于手机视频的物体长度测量方法 | |
CN116894876A (zh) | 基于实时图像的6-dof的定位方法 | |
Megyesi et al. | Dense 3D reconstruction from images by normal aided matching | |
Laskar et al. | Robust loop closures for scene reconstruction by combining odometry and visual correspondences | |
Paudel et al. | Localization of 2D cameras in a known environment using direct 2D-3D registration | |
CN114511637A (zh) | 一种基于构造强特征的弱特征物体图像三维重建系统及方法 | |
CN117115434A (zh) | 数据分割装置和方法 | |
JP6835665B2 (ja) | 情報処理装置及びプログラム | |
Kehl et al. | Direct image-to-geometry registration using mobile sensor data | |
Pears et al. | Mobile robot visual navigation using multiple features | |
Lhuillier et al. | Synchronization and self-calibration for helmet-held consumer cameras, applications to immersive 3d modeling and 360 video | |
Jang et al. | Practical modeling technique for large-scale 3D building models from ground images |
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 |