CN117541755B - 一种基于rgb-d三维重建的刚性物体虚实遮挡方法 - Google Patents
一种基于rgb-d三维重建的刚性物体虚实遮挡方法 Download PDFInfo
- Publication number
- CN117541755B CN117541755B CN202311807051.0A CN202311807051A CN117541755B CN 117541755 B CN117541755 B CN 117541755B CN 202311807051 A CN202311807051 A CN 202311807051A CN 117541755 B CN117541755 B CN 117541755B
- Authority
- CN
- China
- Prior art keywords
- frame
- depth
- real
- virtual
- points
- 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 65
- 238000012216 screening Methods 0.000 claims abstract description 11
- 238000005457 optimization Methods 0.000 claims description 73
- 230000009466 transformation Effects 0.000 claims description 31
- 239000011159 matrix material Substances 0.000 claims description 27
- 230000008569 process Effects 0.000 claims description 26
- 239000011449 brick Substances 0.000 claims description 20
- 238000012545 processing Methods 0.000 claims description 8
- 230000008030 elimination Effects 0.000 claims description 6
- 238000003379 elimination reaction Methods 0.000 claims description 6
- 238000003384 imaging method Methods 0.000 claims description 5
- 239000003086 colorant Substances 0.000 claims description 4
- 238000000280 densification Methods 0.000 claims description 3
- 230000004927 fusion Effects 0.000 abstract description 16
- 230000000694 effects Effects 0.000 abstract description 13
- 230000003190 augmentative effect Effects 0.000 abstract description 4
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 17
- 238000009877 rendering Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000001131 transforming effect Effects 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 208000003464 asthenopia Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000002939 conjugate gradient method Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- 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
-
- 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
- G06T17/005—Tree description, e.g. octree, quadtree
-
- 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/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
- G06V10/757—Matching configurations of points or features
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明提出一种基于RGB‑D三维重建的刚性物体虚实遮挡方法,涉及增强现实的技术领域,基于四叉树结构的改进ORB算法提取RGB‑D视频序列中每一帧深度图像的特征点,建立并筛选稀疏对应关系,获取稀疏的全局位姿,对稀疏的相机全局位姿进行优化,利用八叉树结构对表面重建算法TSDF进行优化,得到完整的真实场景三维模型,最后利用相机的全局位姿估计,计算真实场景和虚拟物体的三维信息,得到虚拟物体和真实场景的深度关系,比较虚拟物体和真实场景的深度关系,得到虚实遮挡结果,并进行遮挡剔除,实现了刚性物体准确的虚实遮挡效果,提升AR应用中虚实融合场景的真实感。
Description
技术领域
本发明涉及增强现实的技术领域,更具体地,涉及一种基于RGB-D三维重建的刚性物体虚实遮挡方法。
背景技术
增强现实(Augmented Reality,AR)技术在用户周围的现实世界呈现由计算机构建的虚拟物体以及作为提示的文字、图案、视频等信息,并允许用户与虚拟世界信息进行自然交互。在早期的AR应用中,并未考虑虚拟物体与真实物体的空间位置关系,只是简单地将虚拟物体叠加到场景中,可能会导致虚拟物体错误地遮挡真实物体,错误的虚实遮挡关系不仅会降低AR系统的真实性,使用户产生视觉疲劳,且在诸如外科手术、工业装配等需要严格确认前后位置关系的应用中会带来难以估计的后果和损失。
在AR场景中,真实物体既可能是刚性物体,也可能是用户的手或进入视场的其他用户等非刚性物体。不同领域的AR应用对虚实遮挡效果的要求不同,近年来国内外研究人员针对虚实遮挡问题提出大量的解决方案,其中,刚性物体的遮挡处理方法可以分为基于模型和基于深度两种方法。其中,基于模型的方法多用于对静态的真实场景进行遮挡处理,适用于大部分刚性物体,首先需要构建三维模型并将模型放置在场景对应位置,之后比较其与虚拟物体的空间位置关系,从而实现虚实遮挡的效果,但实际对复杂场景进行三维建模的困难度大。在普通成像中,RGB色彩是工业界的一种颜色标准,Depth深度图是包含与视点的场景对象的表面的距离有关的信息的图像或图像通道,通常RGB图像和Depth深度图是配准的,因而RGB-D像素点之间具有一对一的对应关系。随着便携式深度相机的问世,利用深度相机进行场景三维重建成为现实,首先获取原始深度Depth图像,并获取点云以及法向量坐标,进行点云配准,然后使用快速迭代最近点算法利用当前帧的点云和上一帧预测出的点云,计算当前相机的位姿,最后根据相机位置姿态更新TSDF(Truncated SignedDistance Function)值并利用TSDF值重建完整的真实场景表面模型,在渲染时将场景中真实物体每个像素的Z坐标与重投影所覆盖的区域中的虚拟物体的Z坐标进行比较,通过渲染深度值较小的虚拟物体得到了实时、自动的虚实遮挡效果。目前,基于模型三维重建的虚实遮挡方法虽已有比较完善的处理流程,但深度相机成像范围有限,在距离用户较近时,无法获取深度图像,因此需要先判断深度相机处于近距离模式还是非近距离模式,此时就容易出现近距离模式与非近距离模式切换时,深度相机跟踪准确性差,也会导致虚实遮挡效果的准确性不足的问题。
发明内容
为解决当前基于深度相机进行三维重建的虚实遮挡效果准确性低的问题,本申请提出一种基于RGB-D三维重建的刚性物体虚实遮挡方法,实现正确的虚实遮挡效果,保证虚实遮挡效果的准确性,提升AR应用中虚实融合场景的真实感。
为解决上述问题,本申请采用的技术方案为:
一种基于RGB-D三维重建的刚性物体虚实遮挡方法,包括以下步骤:
利用深度相机实时获取RGB-D视频序列;
基于四叉树结构的改进ORB算法提取RGB-D视频序列中每一帧深度图像的特征点;
进行帧间特征点匹配和筛选,建立帧间稀疏对应关系,获取稀疏的相机全局位姿;
对稀疏的相机全局位姿进行优化,求解相机的全局位姿估计;
利用八叉树结构优化场景表面重建算法TSDF,重建真实场景三维模型;
利用相机的全局位姿估计,计算真实场景和虚拟物体的三维信息,得到虚拟物体和真实场景的深度关系;
比较虚拟物体和真实场景的深度关系,得到虚实遮挡结果,并进行遮挡剔除。
优选地,设深度相机实时获取的RGB-D视频序列为S,表示为:S={f i=(Ci,D inp_i)},其中,f i表示视频流帧中的第i帧图像,Ci表示RGB视频流,D inp_i表示RGB视频流对应的深度视频流,深度视频流D inp_i的每一帧深度图像D i的像素点为pd (ud,vd),则满足:
其中,表示像素点pd/>(ud,vd)反投影到深度相机坐标系的顶点坐标,/>表示深度相机的红外摄像头内参,Nt(u)表示利用相邻投影点计算得到的Pt(u)法向量,(x,y)表示摄像机坐标系下的像素点坐标。
优选地,设在以w为圆心,以R为半径的圆形邻域内,若w周围的X个像素中相邻N个像素与圆心w的灰度值之差小于设定的阈值,则w为某一帧深度图像的特征点;
基于四叉树结构的改进ORB算法提取每一帧深度图像的特征点的过程包括:
S11:对每一帧深度图像进行高斯模糊处理和下采样,构造高斯图像金字塔;
S12:利用四叉树结构将高斯图像金字塔中的每一层图像划分为四象限区域,在每个象限区域内,利用自适应阈值法提取特征点;
S13:计算特征点的描述子;
S14:判断每个象限区域的每个特征点数量是否大于特征点数量阈值,若是,返回步骤S12;否则,停止四象限区域划分。
根据上述技术手段,通过构建高斯图像金字塔在不同尺度层面上对同一特征点进行提取,使特征点具有尺度不变性,利用四叉树结构划分图像区域均匀化特征点分布,避免了传统的ORB算法提取的特征点存在的冗余扎堆现象。
优选地,进行帧间特征点匹配和筛选的过程包括:
根据两帧深度图像的特征点的描述子,进行帧间特征点匹配;
获取已匹配的两帧深度图像的特征点分别对应的空间点坐标集合G和H,设g和h分别是空间点坐标集合G和H中对应的匹配点,基于Kabsch算法最小化g和h之间的均方根偏差,计算出刚性变换矩阵:,其中,i和j分别表示不同帧次,/>表示像素点p在帧间的刚性变换结果;
计算g和h之间的协方差、g和h之间的互相关协方差;
根据g和h之间的协方差、g和h之间的互相关协方差判断的重投影误差是否大于误差阈值或条件数大于数量阈值,若是,则刚性变换矩阵不稳定,舍弃匹配点g和h,否则,保留;
估计已匹配的两帧图像中某一对特征点对应的空间点Pm和Pn跨越物体的区域面积,通过将Pm和Pn投影到由两个主轴确定的平面中并利用对应投影点的2D定向边界框尺寸计算,若区域面积小于面积阈值,则已匹配的两帧图像中该对特征点分布过于集中,舍弃;否则,保留。
根据上述技术手段,可以获取一组稳定一致的刚性变换矩阵,对帧间匹配进行筛选可以得到符合要求的特征点对应关系,进而建立每一新帧与先前帧的稀疏对应关系。
优选地,的重投影误差的表达式为:
其中,和/>分别表示第i帧图像/>和第j帧图像/>中测量不同深度相机运动轨迹下匹配点的空间位置;/>表示第i帧图像f i与第j帧图像f j间的重投影误差;
设置匹配点之间的空间距离误差约束、空间法向量误差约束以及彩色图光度误差约束为:
其中,、/>、/>分别表示空间距离误差上限、空间法向量误差上限以及彩色图光度误差上限;/>和/>分别表示第i帧图像f i与第j帧图像f j的颜色;
若两帧图像间均满足匹配点之间的空间距离误差约束、空间法向量误差约束以及彩色图光度误差约束,并且利用重投影误差的表达式计算的重投影误差不超过误差阈值,则将已匹配的帧间特征点对应关系按照匹配距离组合在一起,得到帧间稀疏对应关系。
优选地,采用分层优化策略,对稀疏的相机全局位姿进行优化的过程包括:
将RGB-D视频序列中每连续的若干帧组合为一个块,相邻两块之间重叠一帧,每一个块的第一帧为参考帧,计算块内所有帧相对于参考帧的刚性变换矩阵集合,进行局部位姿优化;
将局部位姿优化后的第一帧作为该块的关键帧,将该块中其他帧变换到关键帧坐标系下,将变换后空间位置和描述子相似的特征合并为一个特征后,生成该块的一组特征集合用于下一阶段的全局位姿优化;
块间的全局位姿优化:获取每个块的关键帧,如果某一块的关键帧未在先前块中找到相匹配的项,则将其标记为无效但将其加入到候选项列表,所有块的关键帧集合计算最佳全局对应的刚性变换矩阵集合,通过最小化由稀疏特征优化项、密集优化项组成的能量函数,获取相机的全局位姿估计。
根据上述技术手段,减少从稀疏到密集的相机全局位姿优化的未知量数量,降低实时位姿优化的计算量。
优选地,计算块内所有帧相对于参考帧的变换矩阵集合,进行局部位姿优化的过程包括:
进行帧间特征点匹配的筛选,确定块内其他帧相对于参考帧存在的稀疏对应关系,将由稀疏特征优化项、密集优化项组成的能量函数最小化。
优选地,设RGB-D视频序列中一组图像帧为T,为每一帧图像找到一组刚性变换矩阵,使所有帧图像处于同一坐标系下,刚性变换矩阵/>中包含若干个参数,将若干个参数统一到一个参数向量χ中,则基于稀疏特征优化和密集优化的能量函数为:
其中,w sparse和w dense分别表示稀疏特征优化项和密集优化项的权重;
稀疏特征优化项的能量函数为T中每一对匹配的帧图像的匹配特征点在参考坐标系下,对应空间点之间的欧氏距离之和:
其中,pi,k表示在第i帧中第k个特征点对应的3D点坐标,Ci,j表示第i帧和第j帧间所有对应关系的集合;
对匹配点进行密集化处理,得到密集优化项的能量函数:
其中,w photo表示密集光度项权重,w geo表示几何约束项权重;密集光度项代表所有匹配点在图像C i中的颜色/强度梯度的差异集合:
其中,表示透视投影,/>表示与第i个深度帧,第k个像素相关联的3D点坐标;
几何约束项的表达式为:
其中,表示第i帧图像的第j个像素点的法线;
最小化由稀疏特征优化项、密集优化项组成的能量函数,表达式为:
利用最小二乘法求解,得到深度相机的全局位姿估计参数/>。
优选地,利用八叉树结构表示的TSDF重建场景三维模型的过程包括:
建立虚拟立方体,其中,虚拟立方体所在的竖直坐标系的两个坐标方向α、β代表深度相机的成像平面方向,垂直于竖直坐标系的坐标方向γ代表场景的深度方向,将虚拟立方体平均划分形成若干个体素,每一个体素在其世界坐标系下的坐标为(α,β,γ),深度相机的全局位姿估计参数为,则体素V(α,β,γ)在深度相机坐标系下的坐标为:
投影到深度图像坐标系下坐标点u(α,β):
对于第i帧图像,利用体素V到深度相机原点的距离与其反投影到图像坐标系u(α,β)对应的深度D i(u)距离,得到距离符号函数SDF值;
设场景三维模型的表面邻域内TSDF最大值为,则将所得到的距离符号函数SDF值进行归一化,使其处于[-1,1]范围内,以得到第i帧图像的TSDF值,则:
当TSDF的值大于0时,体素V在场景三维模型的表面之前;当TSDF的值小于0时,表明体素V在场景三维模型的表面之后,当TSDF的值等于0时,表明体素V在场景三维模型的表面上;
利用八叉树结构将虚拟立方体的每个平面均匀切成两片,从而将虚拟立方体划分为八个同样大小的方块,虚拟立方体的几何信息被存储在Brick类中,每个Brick对象中包含若干个体素,每个体素用于存储TSDF值、权重及体素的颜色;
使用TSDF更新值重建场景三维模型,遍历深度图像中的所有点,在八叉树结构中找到对应Brick类,对于包含n个Brick类的八叉树,在八叉树中寻找对应的Brick类前,判断是否存在两个或两个以上的点位于同一块Brick类中。
根据上述技术手段,避免传统TSDF更新值重建场景三维模型的方式所需内存和时间随着分辨率增大而增大的问题,节省内存,提高运行效率,以便重建较大的真实场景三维模型。
优选地,基于深度图像像素点获取场景像素点的三维坐标,根据深度相机全局位姿将场景像素点的三维坐标变换到参考坐标系下;
在OpenGL绘图窗口指定虚拟物体的叠加位置,根据线性比例关系,利用视口逆变换将虚拟物体的顶点归一化至[-1,1]区间,经过透视投影逆变换将真实物体的顶点坐标转换为空间坐标后,根据视图矩阵逆变换得到世界坐标系下虚拟物体的坐标,然后根据模型矩阵逆变换将虚拟物体的世界坐标转换为自身局部坐标,得到参考坐标系下真实场景和虚拟物体的三维坐标;
建立真实场景中像素点与虚拟物体中像素点的关系:
其中,表示虚拟物体中像素点的坐标,/>表示该像素点相对于真实物体的深度值,/>表示该像素点相对于虚拟物体的深度值;
通过像素遍历法遍历像素点相对于真实物体的深度值以及像素点相对于真实物体的深度值,在真实物体遮挡虚拟物体时,小于/>,在虚拟物体遮挡真实物体时,/>大于;
利用OpenGL模板缓存对被遮挡的虚拟物体进行遮挡剔除。
根据上述技术手段,基于得到的深度相机全局位姿和真实场景三维模型进行虚实融合,渲染具有正确遮挡关系的虚实融合场景,保证虚实遮挡效果的准确性,提升AR应用中虚实融合场景的真实感。
与现有技术相比,本发明技术方案的有益效果是:
本发明提出一种基于RGB-D三维重建的刚性物体虚实遮挡方法,基于四叉树结构的改进ORB算法提取RGB-D视频序列中每一帧深度图像的特征点,建立并筛选稀疏对应关系,获取稀疏的全局位姿,对稀疏的相机全局位姿进行优化,利用八叉树结构对表面重建算法TSDF进行优化,得到完整的真实场景三维模型,最后利用相机的全局位姿估计,计算真实场景和虚拟物体的三维信息,得到虚拟物体和真实场景的深度关系,比较虚拟物体和真实场景的深度关系,得到虚实遮挡结果,并进行遮挡剔除,实现了刚性物体准确的虚实遮挡效果,提升AR应用中虚实融合场景的真实感。
附图说明
图1表示本发明实施例中提出的基于RGB-D三维重建的刚性物体虚实遮挡方法的流程示意图;
图2表示本发明实施例中提出的利用四叉树结构将高斯图像金字塔中的每一层图像划分为四象限区域示意图;
图3表示本发明实施例中提出的采用分层优化策略,对稀疏的相机全局位姿进行优化的过程示意图;
图4表示本发明实施例中提出的虚拟立方体的示意图;
图5表示本发明实施例中提出的基于八叉树结构的虚拟立方体划分示意图;
图6表示本发明实施例中提出的八叉树结构的示意图;
图7表示本发明实施例中提出的获取真实场景三维信息的过程示意图;
图8表示本发明实施例中提出的获取虚拟物体三维信息的过程示意图;
图9表示本发明实施例中提出的虚实融合计算深度值的示意图;
图10表示本发明实施例中提出的真实物体遮挡虚拟物体的示意图;
图11表示本发明实施例中提出的虚拟物体遮挡真实物体的示意图;
图12表示本发明实施例中提出的利用OpenGL渲染的虚拟物体的示意图;
图13表示本发明实施例中提出的经遮挡剔除后的虚实融合图像的示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本申请的限制;
为了更好地说明本实施例,附图某些部位会有省略、放大或缩小,并不代表实际尺寸;
对于本领域技术人员来说,附图中某些公知内容说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明;
附图中描述位置关系的仅用于示例性说明,不能理解为对本申请的限制。
实施例1本实施例提出了一种基于RGB-D三维重建的刚性物体虚实遮挡方法,参见图1,包括以下步骤:
S1:利用深度相机实时获取RGB-D视频序列;
S2:基于四叉树结构的改进ORB算法提取RGB-D视频序列中每一帧深度图像的特征点;
S3:进行帧间特征点匹配和筛选,建立帧间稀疏对应关系,获取稀疏的相机全局位姿;
S4:对稀疏的相机全局位姿进行优化,求解相机的全局位姿估计;
S5:利用八叉树结构优化场景表面重建算法TSDF,重建真实场景三维模型;
S6:利用相机的全局位姿估计,计算真实场景和虚拟物体的三维信息,得到虚拟物体和真实场景的深度关系;
S7:比较虚拟物体和真实场景的深度关系,得到虚实遮挡结果,并进行遮挡剔除。
在本实施例中,利用ORBBEC深度相机以30Hz频率实时采集分辨率为640×480的视频序列,设深度相机实时获取的RGB-D视频序列为S,表示为:S={f i=(Ci,D inp_i)},其中,f i表示视频流帧中的第i帧图像,Ci表示RGB视频流,D inp_i表示RGB视频流对应的深度视频流,深度视频流D inp_i的每一帧深度图像D i的像素点为pd (ud,vd),则满足:
其中,表示像素点pd/>(ud,vd)反投影到深度相机坐标系的顶点坐标,/>表示深度相机的红外摄像头内参,Nt(u)表示利用相邻投影点计算得到的Pt(u)法向量,(x,y)表示摄像机坐标系下的像素点坐标。
以第一帧图像所在的坐标系为参考坐标系(世界坐标系),利用一组最优的刚性变换矩阵可以将深度图像的像素点变换到参考坐标系:
其中,Ri和ti分别表示使得第i帧的局部相机坐标映射到世界空间坐标系的旋转矩阵和平移向量,以上为基础的相机位姿优化过程,运算量随着深度相机在环境中的扫描时间不断增大。
实施例2与尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)相比,ORB(Oriented FAST and Rotated BRIEF,快速特征点提取和描述的算法)特征具有良好的平移、旋转和缩放不变性以及实时性高、稳定性强的优点。ORB 算法提取改进的FAST(Features from Accelerated Segment Test)角点作为特征点并建立特征点的 BRIEF(Binary Robust Independent Elementary Features)描述子用于后续匹配过程。FAST特征点定义为与邻域范围内足够多的像素点灰度值具有较大差异的像素点。
设在以w为圆心,以R为半径的圆形邻域内,若w周围的X个像素中相邻N个像素与圆心w的灰度值之差小于设定的阈值,则w为某一帧深度图像的特征点,ORB算法在FAST特征点检测基础上为每一个特征点添加了方向信息。
考虑到BRIEF描述子不具有旋转不变性,因此ORB算法将特征点的主方向作为描述子的主方向。
构造2×N维度的矩阵A:
矩阵A经过主方向的θ选择得到描述子:
传统的ORB算法提取的特征点存在的冗余扎堆现象,本实施例基于四叉树结构的改进ORB算法提取每一帧深度图像的特征点,过程包括:
S11:对每一帧深度图像进行高斯模糊处理和下采样,构造高斯图像金字塔;
其中,其中高斯模糊通过除掉高频成分对输入图像进行模糊处理,其函数表达式为:
;
通过设置下采样的比例因子s和金字塔层数nl可实现对输入图像的下采样:
S12:利用四叉树结构将高斯图像金字塔中的每一层图像划分为四象限区域,在每个象限区域内,利用自适应阈值法提取特征点;
如图2所示,四象限区域分别为UR、UL、BR和BL,在每个象限区域内利用自适应阈值方法提取图像特征点。具体地,首先设定每个区域的特征点数量阈值为σmax,当区域内部的特征点数量大于σmax时,将该区域划分成四个子区域,重复提取子区域的特征点数量并与阈值相比较直至子区域内的特征点数量小于或等于σmax,经过实验验证σmax=3时匹配效果最好。四叉树结构对图像划分的深度取决于图像的复杂程度,随着四叉树结构深度不断增加,提取特征点的效率会下降,因此,设置深度阈值σdepth限制四叉树结构的最大划分深度。将区域划分的深度达到σmax或特征点数量小于σmax设为退出递归的临界条件,经过实验验证σdepth=4。
在图像区域划分后,所有分裂子区域数量为N,计算阈值:
其中,表示每个区域特征点数量的期望值,T f表示提取的特征点总数的期望值,经实验验证T f取值为1000。
S13:计算特征点的描述子;在提取特征点后采用前述描述的方法计算BRIEF特征描述子。
S14:判断每个象限区域的每个特征点数量是否大于特征点数量阈值,若是,返回步骤S12;否则,停止四象限区域划分。
在利用深度相机进行场景扫描时,对于每幅新采集的图像,通过改进ORB算法检测特征点并将其与先前帧进行匹配。进行帧间特征点匹配和筛选的过程包括:
根据两帧深度图像的特征点的描述子,进行帧间特征点匹配;
获取已匹配的两帧深度图像的特征点分别对应的空间点坐标集合G和H,设g和h分别是空间点坐标集合G和H中对应的匹配点,基于Kabsch算法最小化g和h之间的均方根偏差,计算出刚性变换矩阵:,其中,i和j分别表示不同帧次,/>表示像素点p在帧间的刚性变换结果;
通过判断由每一对已匹配的帧计算得到的变换矩阵是否稳定、特征点分布范围是否符合要求对帧间匹配进行筛选。具体地,计算g和h之间的协方差、g和h之间的互相关协方差,根据g和h之间的协方差、g和h之间的互相关协方差判断的重投影误差是否大于误差阈值或条件数大于数量阈值(如100),若是,则刚性变换矩阵不稳定,舍弃匹配点g和h,否则,保留;
其次,估计已匹配的两帧图像中某一对特征点对应的空间点Pm和Pn跨越物体的区域面积,通过将Pm和Pn投影到由两个主轴确定的平面中并利用对应投影点的2D定向边界框尺寸计算,若区域面积小于面积阈值(0.032m2),则已匹配的两帧图像中该对特征点分布过于集中,舍弃;否则,保留。
通过以上步骤对帧间匹配进行筛选可以得到符合要求的特征点对应关系,进而建立每一新帧与先前帧的稀疏对应关系,之后利用可求解出稀疏的全局位姿。
为获得准确的全局位姿估计,本实施例采用从稀疏到密集的全局位姿优化策略,即在获得稀疏的全局位姿基础上,利用密集光度和几何一致性来优化稀疏的全局位姿。的重投影误差的表达式为:
其中,和/>分别表示第i帧图像/>和第j帧图像/>中测量不同深度相机运动轨迹下匹配点的空间位置;/>表示第i帧图像f i与第j帧图像f j间的重投影误差;
设置匹配点之间的空间距离误差约束、空间法向量误差约束以及彩色图光度误差约束为:
其中,、/>、/>分别表示空间距离误差上限、空间法向量误差上限以及彩色图光度误差上限;/>和/>分别表示第i帧图像f i与第j帧图像f j的颜色;
若两帧图像间均满足匹配点之间的空间距离误差约束、空间法向量误差约束以及彩色图光度误差约束,并且利用重投影误差的表达式计算的重投影误差不超过误差阈值,则将已匹配的帧间特征点对应关系按照匹配距离组合在一起,得到帧间稀疏对应关系。
实施例3为减少从稀疏到密集的全局优化策略的未知量数量,降低实时位姿优化的计算量,本实施例采用了分层级的从局部到全局的位姿优化方法。结合图3,采用分层优化策略,对稀疏的相机全局位姿进行优化的过程包括:
第一层为局部位姿优化过程:将RGB-D视频序列中每连续的若干帧组合为一个块,相邻两块之间重叠一帧,每一个块的第一帧为参考帧,计算块内所有帧相对于参考帧的刚性变换矩阵集合,进行局部位姿优化;
由于每个块内包含的连续帧数量较少,相应的块内位姿变化也较小,因此可 将每个块的设置为单位矩阵。在完成块内局部位姿优化后将块的第一帧作为该块的关键帧,同时将块中其他帧变换到关键帧坐标系下,将变换后空间位置和描述子相似的特征合并为一个特征后,生成该块的一组特征集合用于下一阶段的全局位姿优化;
第二层为块间的全局位姿优化,与局部位姿估计不同的是,全局位姿优化舍 弃了块内的特征点、描述子和对应关系等数据而使用每个块的关键帧和特征集合。具体地:获取每个块的关键帧,如果某一块的关键帧未在先前块中找到相匹配的项,则将其标记为无效但将其加入到候选项列表,所有块的关键帧集合计算最佳全局对应的刚性变换矩阵集合,通过最小化由稀疏特征优化项、密集优化项组成的能量函数,获取相机的全局位姿估计。
分层次的位姿优化弱化了连续帧之间的时序约束,将图像的位姿估计视为一个独立的全局轨迹的联合优化过程,而非仅仅针对相邻帧进行局部的位姿估计。全局位姿优化过程在进行位姿估计的同时也完成了全局的回环检测,有效地避免误差的累积,同时由于去除了部分时序跟踪的依赖,不会出现在传统连续相机位姿追踪时的跟踪丢失问题,新输入的图像能够随时匹配结合至现有的重建结果中。
在本实施例中,计算块内所有帧相对于参考帧的变换矩阵集合,进行局部位姿优化的过程包括:
进行帧间特征点匹配的筛选,确定块内其他帧相对于参考帧存在的稀疏对应关系,将由稀疏特征优化项、密集优化项组成的能量函数最小化。
设RGB-D视频序列中一组图像帧为T,为每一帧图像找到一组刚性变换矩阵,使所有帧图像处于同一坐标系下,刚性变换矩阵/>中包含若干个参数,将若干个参数统一到一个参数向量χ中,则基于稀疏特征优化和密集优化的能量函数为:
其中,w sparse和w dense分别表示稀疏特征优化项和密集优化项的权重;
根据位姿优化级别,块中的第一帧定义为参考帧,因此变换作为非自由变量将在优化过程中被忽略。稀疏特征优化项的能量函数为T中每一对匹配的帧图像的匹配特征点在参考坐标系下,对应空间点之间的欧氏距离之和:
其中,pi,k表示在第i帧中第k个特征点对应的3D点坐标,Ci,j表示第i帧和第j帧间所有对应关系的集合;
对匹配点进行密集化处理,得到密集优化项的能量函数:
其中,w photo表示密集光度项权重,w geo表示几何约束项权重;密集光度项代表所有匹配点在图像C i中的颜色/强度梯度的差异集合:
其中,表示透视投影,/>表示与第i个深度帧,第k个像素相关联的3D点坐标;
几何约束项的表达式为:
其中,表示第i帧图像的第j个像素点的法线;在计算密集优化能量函数时需要将RGB图像C i和深度图像Di下采样到80×60,但是在块内位姿优化计算能量函数时,由于此时已经完成块内位姿优化生成的特征向量不再改变,其对应的3D位置也固定不变,因此块间密集优化的结果会被稀疏特征优化项覆盖。为了避免上述问题,全局位姿优化只在用户对场景扫描结束后才进行密集优化处理。
最小化由稀疏特征优化项、密集优化项组成的能量函数,表达式为:
全局姿态优化问题可看作是相机外参未知条件下的非线性最小二乘问题。由于需要进行扫描的视频序列超过了两万帧,因此利用基于GPU并行运行的非线性迭代求解器优化全局相机位姿。
利用最小二乘法求解,得到深度相机的全局位姿估计参数/>,将能量函数改写为规范化的最小二乘形式:/>
其中,N corr表示块间或块内稀疏对应关系的数量。定义向量场F::
利用高斯牛顿法对F(χk)进行一阶泰勒展开:
其中,JF是F的雅可比行列式,联合可求解出最优的参数增量:
为获取的最小值,将/>的偏导数设置为0,得到线性方程:
利用共轭梯度法求解。整体上,高斯-牛顿法从初始位姿χ0开始迭代局部线性化的能量函数,根据上一帧获得的结果作为下一次优化的初值直至收敛。
实施例4利用八叉树结构表示的TSDF重建场景三维模型的过程如下:
采用分层优化策略进行位姿优化后,在真实空间建立如图4所示虚拟立方体,参见图4,虚拟立方体所在的竖直坐标系的两个坐标方向α、β代表深度相机的成像平面方向,垂直于竖直坐标系的坐标方向γ代表场景的深度方向,将虚拟立方体平均划分形成若干个体素,并建立体素与真实场景中的物理坐标的映射关系。每一个体素在其世界坐标系下的坐标为(α,β,γ),将其加入缓存,深度相机的全局位姿估计参数为,则体素V(α,β,γ)在深度相机坐标系下的坐标为:
投影到深度图像坐标系下坐标点u(α,β):
对于第i帧图像,利用体素V到深度相机原点的距离与其反投影到图像坐标系u(α,β)对应的深度D i(u)距离,得到距离符号函数SDF值;
设场景三维模型的表面邻域内TSDF最大值为,则将所得到的距离符号函数SDF值进行归一化,使其处于[-1,1]范围内,以得到第i帧图像的TSDF值,则:/>
当TSDF的值大于0时,体素V在场景三维模型的表面之前;当TSDF的值小于0时,表明体素V在场景三维模型的表面之后,当TSDF的值等于0时,表明体素V在场景三维模型的表面上。
传统的经典KinectFusion使用TSDF更新值重建场景表面,在利用Marching Cubes算法将TSDF表示为网格时,所需内存和时间随着分辨率增大而以幂的三次方形式增长,因此,传统的基于体素表示的方法很难重建较大场景。
如图5所示,利用八叉树结构将虚拟立方体的每个平面均匀切成两片,从而将虚拟立方体划分为八个同样大小的方块,该过程类似于一个节点展开成了八个,因此一棵完整的八叉树可代表整个空间从最大到最小的细分过程,只有接近重建物体表面的节点会展开并记录TSDF值,而距离表面较远的节点则会被忽略,因此节省了大量空间,八叉树结构的示意图如图6所示,虚拟立方体的几何信息被存储在Brick类中,每个Brick对象中包含若干个体素,在本实施例中,共83个,每个体素用于存储TSDF值、权重及体素的颜色,最后,最后可视化的三维模型是带有颜色信息的,渲染主要用到的数据结构是MeshCell类与Mesh类,负责三维网格的渲染可视化。
使用TSDF更新值重建场景三维模型,遍历深度图像中的所有点,在八叉树结构中找到对应Brick类,对于包含n个Brick类的八叉树,为了进一步降低算法的时间复杂度,需要最小化树中的查找数。在八叉树中寻找对应的Brick类前,判断是否存在两个或两个以上的点位于同一块Brick类中。
在利用经典的Marching Cubes算法进行TSDF的网格提取时由于网格提取必须考虑体素的邻域关系,将此步骤放入新的线程中运行网格渲染,每当数据融合线程更新Brick时将受影响的网格单元加入队列,使用二进制标志代表已将网格单元添加到队列中,以防止重复添加同一单元,在网格单元处理后将其从队列中移除并将二进制标志复位。通过以上方式将网格划分的运行复杂度从线性时间减少为线性时间在队列中的Brick数,有效地提高了系统效率,避免传统TSDF更新值重建场景三维模型的方式所需内存和时间随着分辨率增大而增大的问题,节省内存,提高运行效率,以便重建较大的真实场景三维模型。
为利用相机全局位姿和场景三维模型进行虚实融合,需要对虚拟物体和真实场景的遮挡关系进行判断,基于深度图像像素点获取场景像素点的三维坐标,根据深度相机全局位姿将场景像素点的三维坐标变换到参考坐标系下(第一帧图像所在的坐标系);图7示出了获取真实场景三维信息的过程示意图,其中,RGB图像中像素点p坐标为(x c,y c),对应的深度图像为p d(x d,y d),与p d相对应的世界坐标系下的空间点为P(x w,y w,zw),通过相机位姿进行坐标转换得到当前 相机视角下的坐标点P(x p,y p,zp)。
之后,在OpenGL绘图窗口指定虚拟物体的叠加位置,根据线性比例关系,利用视口逆变换将虚拟物体的顶点归一化至[-1,1]区间,经过透视投影逆变换将真实物体的顶点坐标转换为空间坐标后,根据视图矩阵逆变换得到世界坐标系下虚拟物体的坐标,然后根据模型矩阵逆变换将虚拟物体的世界坐标转换为自身局部坐标,得到参考坐标系下真实场景和虚拟物体的三维坐标;利用上述变换 可将绘图窗口内部虚拟物体的二维坐标点v(x,y)转换为三维坐标,虚拟物体的坐标变换过程如图8所示。
在OpenGL的绘图窗口,被映射的RGB图像纹理是具有4通道、分辨率为640×480的位图格式。如图9所示,设图像临界坐标(x 1,y 1),x 1=640,y1=480,依次访问图像内部像素点,建立真实场景中像素点与虚拟物体中像素点的关系:
其中,表示虚拟物体中像素点的坐标,/>表示该像素点相对于真实物体的深度值,/>表示该像素点相对于虚拟物体的深度值;
通过像素遍历法遍历像素点相对于真实物体的深度值以及像素点相对于真实物体的深度值,如图10所示,在真实物体遮挡虚拟物体时,小于/>,如图11所示,在虚拟物体遮挡真实物体时,/>大于/>。
利用OpenGL模板缓存对被遮挡的虚拟物体进行遮挡剔除。
具体地,在遮挡剔除时首先设置模板值,建立和视口大小相同的模板缓冲区存储每个像素的模板值。之后比较要绘制图像和模板缓冲区的像素值,绘制满足要求的像素点并根据模板测试最终效果决定是否修改模板值。由此可见,利用模板缓存进行遮挡处理的关键在于模板值的设置。由于绘制窗口内像素点在真实场景中的深度和相对于虚拟物体的深度/>在同一坐标系下,因此可直接用于真实物体和虚拟物体的遮挡关系判断。
在绘制虚实融合场景时,首先开启模板测试存储需要绘制的顶点信息到颜色缓冲区,设置虚拟物体遮挡平面对应像素的模板值为1,其余为0,之后进行模板缓冲区写入,最后根据模板测试结果绘制图像,若虚拟物体像素通过测试则代表当前虚拟物体中此点位于真实物体之前,调用虚拟物体颜色缓冲区的像素值进行着色渲染;反之代表此像素点被真实物体所遮挡,忽略此点不进行绘制。图12表示利用OpenGL渲染的虚拟物体的示意图,图13表示经遮挡剔除后的虚实融合图像的示意图,是一种模糊下的虚拟物体和真实物体融合的示意。
基于得到的深度相机全局位姿和真实场景三维模型进行虚实融合,渲染具有正确遮挡关系的虚实融合场景,保证虚实遮挡效果的准确性,提升AR应用中虚实融合场景的真实感。
显然,本发明的上述实施例仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (6)
1.一种基于RGB-D三维重建的刚性物体虚实遮挡方法,其特征在于,包括以下步骤:
利用深度相机实时获取RGB-D视频序列;
基于四叉树结构的改进ORB算法提取RGB-D视频序列中每一帧深度图像的特征点;
进行帧间特征点匹配和筛选,建立帧间稀疏对应关系,获取稀疏的相机全局位姿;
对稀疏的相机全局位姿进行优化,求解相机的全局位姿估计;
利用八叉树结构优化场景表面重建算法TSDF,重建真实场景三维模型;
利用相机的全局位姿估计,计算真实场景和虚拟物体的三维信息,得到虚拟物体和真实场景的深度关系;
比较虚拟物体和真实场景的深度关系,得到虚实遮挡结果,并进行遮挡剔除;
设深度相机实时获取的RGB-D视频序列为S,表示为:S={f i=(Ci,D inp_i)},其中,f i表示视频流帧中的第i帧图像,Ci表示RGB视频流,D inp_i表示RGB视频流对应的深度视频流,深度视频流D inp_i的每一帧深度图像D i的像素点坐标为(ud,vd),则满足:
其中,表示像素点/>反投影到深度相机坐标系的顶点坐标,/>表示深度相机的红外摄像头内参,/>表示利用相邻投影点/>、/>和/>计算得到的Pt(u)法向量,(x,y)表示摄像机坐标系下的像素点坐标;
设在以w为圆心,以R为半径的圆形邻域内,若w周围的X个像素中相邻N个像素与圆心w的灰度值之差小于设定的阈值,则w为某一帧深度图像的特征点;
基于四叉树结构的改进ORB算法提取每一帧深度图像的特征点的过程包括:
S11:对每一帧深度图像进行高斯模糊处理和下采样,构造高斯图像金字塔;
S12:利用四叉树结构将高斯图像金字塔中的每一层图像划分为四象限区域,在每个象限区域内,利用自适应阈值法提取特征点;
S13:计算特征点的描述子;
S14:判断每个象限区域的每个特征点数量是否大于特征点数量阈值,若是,返回步骤S12;否则,停止四象限区域划分;
进行帧间特征点匹配和筛选的过程包括:
根据两帧深度图像的特征点的描述子,进行帧间特征点匹配;
获取已匹配的两帧深度图像的特征点分别对应的空间点坐标集合G和H,设g和h分别是空间点坐标集合G和H中对应的匹配点,基于Kabsch算法最小化g和h之间的均方根偏差,计算出刚性变换矩阵:,其中,i和j分别表示不同帧次,/>表示像素点p在帧间的刚性变换结果;
计算g和h之间的协方差、g和h之间的互相关协方差;
根据g和h之间的协方差、g和h之间的互相关协方差判断的重投影误差是否大于误差阈值或条件数大于数量阈值,若是,则刚性变换矩阵不稳定,舍弃匹配点g和h,否则,保留;
估计已匹配的两帧图像中某一对特征点对应的空间点Pm和Pn跨越物体的区域面积,通过将Pm和Pn投影到由两个主轴确定的平面中并利用对应投影点的2D定向边界框尺寸计算,若区域面积小于面积阈值,则已匹配的两帧图像中该对特征点分布过于集中,舍弃;否则,保留;
的重投影误差的表达式为:
其中,和/>分别表示第i帧图像f i与第j帧图像f j中测量不同深度相机运动轨迹下匹配点的空间位置;/>表示第i帧图像f i与第j帧图像f j间的重投影误差;
设置匹配点之间的空间距离误差约束、空间法向量误差约束以及彩色图光度误差约束为:
其中,、/>、/>分别表示空间距离误差约束、空间法向量误差约束以及彩色图光度误差约束;/>和/>分别表示第i帧图像f i与第j帧图像f j的颜色;
若两帧图像间均满足匹配点之间的空间距离误差约束、空间法向量误差约束以及彩色图光度误差约束,并且利用重投影误差的表达式计算的重投影误差不超过误差阈值,则将已匹配的帧间特征点对应关系按照匹配距离组合在一起,得到帧间稀疏对应关系。
2.根据权利要求1所述的基于RGB-D三维重建的刚性物体虚实遮挡方法,其特征在于,采用分层优化策略,对稀疏的相机全局位姿进行优化的过程包括:
将RGB-D视频序列中每连续的若干帧组合为一个块,相邻两块之间重叠一帧,每一个块的第一帧为参考帧,计算块内所有帧相对于参考帧的刚性变换矩阵集合,进行局部位姿优化;
将局部位姿优化后的第一帧作为该块的关键帧,将该块中其他帧变换到关键帧坐标系下,将变换后空间位置和描述子相似的特征合并为一个特征后,生成该块的一组特征集合用于下一阶段的全局位姿优化;
块间的全局位姿优化:获取每个块的关键帧,如果某一块的关键帧未在先前块中找到相匹配的项,则将其标记为无效但将其加入到候选项列表,所有块的关键帧集合计算最佳全局对应的刚性变换矩阵集合,通过最小化由稀疏特征优化项、密集优化项组成的能量函数,获取相机的全局位姿估计。
3.根据权利要求2所述的基于RGB-D三维重建的刚性物体虚实遮挡方法,其特征在于,计算块内所有帧相对于参考帧的变换矩阵集合,进行局部位姿优化的过程包括:
进行帧间特征点匹配的筛选,确定块内其他帧相对于参考帧存在的稀疏对应关系,将由稀疏特征优化项、密集优化项组成的能量函数最小化。
4.根据权利要求3所述的基于RGB-D三维重建的刚性物体虚实遮挡方法,其特征在于,设RGB-D视频序列中一组图像帧为T,为每一帧图像找到一组刚性变换矩阵,使所有帧图像处于同一坐标系下,刚性变换矩阵/>中包含若干个参数,将若干个参数统一到一个参数向量χ中,则基于稀疏特征优化和密集优化的能量函数为:
其中,w sparse和w dense分别表示稀疏特征优化项和密集优化项的权重;
稀疏特征优化项的能量函数为T中每一对匹配的帧图像的匹配特征点在参考坐标系下,对应空间点之间的欧氏距离之和:
其中,表示在第i帧中第k个特征点对应的3D点坐标,C i,j表示第i帧和第j帧间所有对应关系的集合;
对匹配点进行密集化处理,得到密集优化项的能量函数:
其中,w photo表示密集光度项权重,w geo表示几何约束项权重;密集光度项代表所有匹配点在图像C i中的颜色/强度梯度的差异集合:
其中,表示透视投影,/>表示与第i个深度帧,第k个像素相关联的3D点坐标;
几何约束项的表达式为:
其中,表示第i帧图像的第j个像素点的法线;
最小化由稀疏特征优化项、密集优化项组成的能量函数,表达式为:
利用最小二乘法求解,得到深度相机的全局位姿估计参数/>。
5.根据权利要求4所述的基于RGB-D三维重建的刚性物体虚实遮挡方法,其特征在于,利用八叉树结构表示的TSDF重建场景三维模型的过程包括:
建立虚拟立方体,其中,虚拟立方体所在的竖直坐标系的两个坐标方向α、β代表深度相机的成像平面方向,垂直于竖直坐标系的坐标方向γ代表场景的深度方向,将虚拟立方体平均划分形成若干个体素,每一个体素在其世界坐标系下的坐标为(α,β,γ),深度相机的全局位姿估计参数为,则体素V(α,β,γ)在深度相机坐标系下的坐标为:
投影到深度图像坐标系下坐标点u(α,β):
对于第i帧图像,利用体素V到深度相机原点的距离与其反投影到图像坐标系u(α,β)对应的深度D i(u)距离,得到距离符号函数SDF值;
设场景三维模型的表面邻域内TSDF最大值为,则将所得到的距离符号函数SDF值进行归一化,使其处于[-1,1]范围内,以得到第i帧图像的TSDF值,则:
当TSDF的值大于0时,体素V在场景三维模型的表面之前;当TSDF的值小于0时,表明体素V在场景三维模型的表面之后,当TSDF的值等于0时,表明体素V在场景三维模型的表面上;
利用八叉树结构将虚拟立方体的每个平面均匀切成两片,从而将虚拟立方体划分为八个同样大小的方块,虚拟立方体的几何信息被存储在Brick类中,每个Brick对象中包含若干个体素,每个体素用于存储TSDF值、权重及体素的颜色;
使用TSDF更新值重建场景三维模型,遍历深度图像中的所有点,在八叉树结构中找到对应Brick类,对于包含n个Brick类的八叉树,在八叉树中寻找对应的Brick类前,判断是否存在两个或两个以上的点位于同一块Brick类中。
6.根据权利要求5所述的基于RGB-D三维重建的刚性物体虚实遮挡方法,其特征在于,基于深度图像像素点获取场景像素点的三维坐标,根据深度相机全局位姿将场景像素点的三维坐标变换到参考坐标系下;
在OpenGL绘图窗口指定虚拟物体的叠加位置,根据线性比例关系,利用视口逆变换将虚拟物体的顶点归一化至[-1,1]区间,经过透视投影逆变换将真实物体的顶点坐标转换为空间坐标后,根据视图矩阵逆变换得到世界坐标系下虚拟物体的坐标,然后根据模型矩阵逆变换将虚拟物体的世界坐标转换为自身局部坐标,得到参考坐标系下真实场景和虚拟物体的三维坐标;
建立真实场景中像素点与虚拟物体中像素点的关系:
其中,表示虚拟物体中像素点的坐标,/>表示该像素点相对于真实物体的深度值,/>表示该像素点相对于虚拟物体的深度值;
通过像素遍历法遍历像素点相对于真实物体的深度值以及像素点相对于真实物体的深度值,在真实物体遮挡虚拟物体时,小于/>,在虚拟物体遮挡真实物体时,/>大于/>;
利用OpenGL模板缓存对被遮挡的虚拟物体进行遮挡剔除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311807051.0A CN117541755B (zh) | 2023-12-26 | 2023-12-26 | 一种基于rgb-d三维重建的刚性物体虚实遮挡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311807051.0A CN117541755B (zh) | 2023-12-26 | 2023-12-26 | 一种基于rgb-d三维重建的刚性物体虚实遮挡方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117541755A CN117541755A (zh) | 2024-02-09 |
CN117541755B true CN117541755B (zh) | 2024-05-10 |
Family
ID=89784452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311807051.0A Active CN117541755B (zh) | 2023-12-26 | 2023-12-26 | 一种基于rgb-d三维重建的刚性物体虚实遮挡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117541755B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107292965A (zh) * | 2017-08-03 | 2017-10-24 | 北京航空航天大学青岛研究院 | 一种基于深度图像数据流的虚实遮挡处理方法 |
CN114612525A (zh) * | 2022-02-09 | 2022-06-10 | 浙江工业大学 | 基于网格分割与双地图耦合的机器人rgb-d slam方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070086659A1 (en) * | 2005-10-18 | 2007-04-19 | Chefd Hotel Christophe | Method for groupwise point set matching |
-
2023
- 2023-12-26 CN CN202311807051.0A patent/CN117541755B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107292965A (zh) * | 2017-08-03 | 2017-10-24 | 北京航空航天大学青岛研究院 | 一种基于深度图像数据流的虚实遮挡处理方法 |
CN114612525A (zh) * | 2022-02-09 | 2022-06-10 | 浙江工业大学 | 基于网格分割与双地图耦合的机器人rgb-d slam方法 |
Non-Patent Citations (5)
Title |
---|
Depth Dependence Removal in RGB-D Semantic Segmentation Model;Tiyu Fang.et;023 IEEE International Conference on Mechatronics and Automation (ICMA);20230809;第699-704页 * |
一种增强现实虚实遮挡的实时处理方法;康波、苏宏;系统仿真学报;20100508;第22卷(第5期);第1174-1177页 * |
基于RGB-D摄像机的增强现实系统关键技术研究;李佳宁;中国博士学位论文全文数据库;20171215;I138-89,正文第14-92页 * |
基于RGB-D相机数据的人体三维重建系统;周泽浩;张之江;;工业控制计算机;20200925(第09期);第24-26页 * |
改进ORB特征的机器人RGB-D SLAM算法;伍锡如 等;计算机工程与应用;20200715;第56卷(第14期);第35-44页 * |
Also Published As
Publication number | Publication date |
---|---|
CN117541755A (zh) | 2024-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109872397B (zh) | 一种基于多目立体视觉的飞机零件的三维重建方法 | |
US9984498B2 (en) | Sparse GPU voxelization for 3D surface reconstruction | |
CN108038906B (zh) | 一种基于图像的三维四边形网格模型重建方法 | |
CN109509211B (zh) | 同时定位与建图技术中的特征点提取与匹配方法及系统 | |
CN107833270A (zh) | 基于深度相机的实时物体三维重建方法 | |
CN107679537A (zh) | 一种基于轮廓点orb特征匹配的无纹理空间目标姿态估计算法 | |
WO2006102014A1 (en) | Fast graph cuts: a weak shape assumption provides a fast, exact method for graph cuts segmentation | |
CN109410133B (zh) | 一种基于3dmm的人脸纹理修复方法 | |
Zhang et al. | Critical regularizations for neural surface reconstruction in the wild | |
Ummenhofer et al. | Point-based 3D reconstruction of thin objects | |
CN111242848B (zh) | 基于区域特征配准的双目相机图像缝合线拼接方法及系统 | |
WO2022198684A1 (en) | Methods and systems for training quantized neural radiance field | |
CN113450396A (zh) | 基于骨骼特征的三维/二维图像配准方法及装置 | |
CN114782628A (zh) | 基于深度相机的室内实时三维重建方法 | |
Condorelli et al. | A comparison between 3D reconstruction using nerf neural networks and mvs algorithms on cultural heritage images | |
WO2023004559A1 (en) | Editable free-viewpoint video using a layered neural representation | |
CN116681839B (zh) | 一种基于改进NeRF的实景三维目标重建与单体化方法 | |
CN111127622B (zh) | 基于图像分割的三维点云离群点剔除方法 | |
CN111402422B (zh) | 三维表面重建方法、装置和电子设备 | |
CN117501313A (zh) | 基于深度神经网络的毛发渲染系统 | |
CN116805356A (zh) | 建筑模型的构建方法、设备及计算机可读存储介质 | |
CN117541755B (zh) | 一种基于rgb-d三维重建的刚性物体虚实遮挡方法 | |
CN111179281A (zh) | 人体图像提取方法及人体动作视频提取方法 | |
JP2021033682A (ja) | 画像処理装置、方法及びプログラム | |
CN112002019B (zh) | 一种基于mr混合现实的模拟人物阴影的方法 |
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 |