掌桥专利:专业的专利平台
掌桥专利
首页

一种基于投影的空间式实物交互虚拟实验方法

文献发布时间:2023-06-19 11:57:35


一种基于投影的空间式实物交互虚拟实验方法

技术领域

本发明涉及增强现实技术领域,尤其涉及一种基于投影的空间式实物 交互虚拟实验方法。

背景技术

空间增强现实是增强现实的三大形式(头盔式、手持式、空间式)之 一,是一种借助各种设备直接在物理空间中呈现虚拟物体的像,达到虚实 融合视觉效果的技术。在空间增强现实系统中,虚拟内容通常不依赖于屏 幕或头盔等数字空间的显示介质,而是直接呈现到真实世界的对象上,用 户可以在物理空间中与虚拟内容交互。空间增强现实在工业、交通、医疗 等领域已经有广泛的应用,将其应用于教学是目前研究的热点之一。

人机交互即与计算机通讯的过程,其交互技术是通过计算机输入和输 出设备来实现人机对话的方式,传统的交互方式对呈现效果及用户体验具 有极大的局限性,为增强交互真实感,减少操作的复杂度,研究表明,将 真实物体引入交互系统形成实物用户界面(TUI),允许用户直接操控现实 世界中的物理对象来实现同数字空间的交互,从而提供自然的交互体验。

现如今线上教学成为教育行业的热点,然而实验教学难以在线上开展, 虚拟实验及其仿真技术的研究引发了教育界的关注。

公开号为CN111897422A的专利申请公开了一种虚实物体实时融合的 实物交互方法,包括:进行服务器端和客户端的虚拟现实设备坐标系之间 映射关系的计算,包括旋转矩阵和位移向量,以实现物体位置在坐标表示 上的统一;获取目标对象的模板,对模板特征进行建模,对桌面物体进行 位置跟踪,对物体轮廓进行提取,获取物体主方向,在主方向上获取两个 固定点,通过奇异值分解计算出物体相对于初始状态的旋转矩阵,由旋转 矩阵计算得到旋转角度;获取来自服务器端的真实物体相对于初始位置的 位移以及相对于初始朝向的旋转,进行位置调整,计算得到虚拟物体当前 的位置和朝向,根据得到的位置和朝向,在客户端的虚拟现实设备显示所 述虚拟物体。

该实物交互方法是将物体的姿态估计问题简化为水平桌面上物体的位 置跟踪和绕垂直于桌面方向上的旋转角度计算的问题,不需要为物体附加 标签、建立模板和数据集等,但是交互桌面系统一般实物不能拿起来操作, 应用受限。

公开号为CN110288657A的专利申请公开了一种基于Kinect的增强现 实三维注册办法,包括:步骤1,对Kinect彩色摄像机和深度摄像机进行 标定;步骤2,基于Kinect获得彩色图像和深度图像,生成三维点云,并 将三维点云进一步转换为深度图,融合点云信息和快速步进算法(Fast Marching Method,FMM)修复深度图;步骤3,深度图像与彩色图像对齐; 步骤4,基于深度直方图的近景模式自动判断;步骤5,非近景模式下, 采用基于FastICP的三维注册方法计算摄像机位姿,完成非近景模式下的 三维注册;步骤6,近景模式下,采用融合Fast ICP和ORB的三维注册方 法计算摄像机位姿,完成近景模式下的三维注册;步骤7,将虚拟物体叠 加在真实场景的彩色图像中,显示虚实叠加结果。

该办法克服Kinect硬件的制约,提高三维注册的精度,扩大增强现实 系统的适用范围,通过追踪物体的位置,推导出摄像机的运动,完成目标 位姿估计,但基于彩色摄像头跟踪物体在投影交互环境下具有局限性,人 机交互的舒适性和系统灵活性不高。

发明内容

本发明提供一种基于投影的空间式实物交互虚拟实验方法,通过对实 物对象局部特征及连续性假设的位姿算法,可实现多用户多对象并行交互, 且无标记空间式的实物交互虚拟实验。

一种基于投影的空间式实物交互虚拟实验方法,实现所述方法的系统 包括实物对象、深度相机、数据处理器以及投影仪,所述方法包括以下步 骤:

(1)数据处理器构建包含实物对象的实际实验场景以及虚拟实验场景;

(2)深度相机获取实际实验场景的深度数据后,根据深度相机的内部 参数,将深度数据实时转化为点云数据;

(3)数据处理器从所述的点云数据中划分实物对象点云数据,基于实 物对象点云数据确定实物对象的位姿数据,并基于实物对象的位姿数据对 虚拟实验场景中实物对象对应的数字模型进行位姿修正;

(4)投影仪将数字模型位姿修正后的虚拟实验场景投影到实际实验场 景中。

步骤(2)中,所述的深度数据为空间点到相机平面的垂直距离。步骤 (3)中,所述确定实物对象的位姿数据方法如下:

第一步,直接获取的点云数据包含场景中大量不必要的数据,采取直 通滤波算法对上述点云数据进行处理,指定一个维度及该维度下的值域, 依次遍历点云数据,判断点云数据在指定维度上的取值是否在值域内,删 除取值不在值域内的点,遍历结束后留下的点构成滤波后的点云数据,该 算法适用于消除无效的操作背景;

第二步,对所述的滤波后的点云数据采取体素滤波算法进行降采样并 进行分割,获得多对象点云数据。采取体素滤波算法可保证点云数据原有 几何结构不变的前提下减少点云数据的数量,提高实物对象检测的速率;

第三步,对所述的多对象点云数据进行处理,以每个多对象点云数据 的Z坐标最小的点为基准,取局部点云数据作为实时分割出用来迭代配准 的目标数据;

第四步,采用迭代最近点算法(ICP)配准所述的目标数据和虚拟场景 中的点云数据的参数,获得实物对象在深度相机坐标系下的位姿数据。

第五步,通过相机标定得到深度相机和投影仪坐标系之间的位姿数据, 结合所述的实物对象在深度相机坐标系下的位姿数据,获得实物对象的位 姿数据。

作为优选,第二步中,所述的滤波后的点云数据采取体素滤波算法进 行降采样并进行分割,分割方法采用欧几里得算法和基于区域生长算法相 结合的方法。

点云数据是一种高冗余度、不均匀且缺少拓扑信息的数据,在交互场 景中很难分割出目标对象,欧几里得算法使用邻居之间距离作为判定标准, 而区域生长算法则利用了法线、曲率等信息来判断点云数据是否应该聚成 一类。

作为优选,第三步中,所述的目标数据为采用卡尔曼滤波算法进一步 过滤得到。由于点云数据中的噪声,即使实物对象数字模型保持静态,深 度相机跟踪的位置也会随机波动,移动预测时会放大噪音,采用卡尔曼滤 波算法来估计实物对象数字模型的准静态姿态,可减少实物对象数字模型 移动时的波动。

所述的深度相机的内部参数为与深度相机自身特性相关的参数,包括:

焦距f,相机的焦点到成像平面的距离;

相邻像素点dx,dy,分别表示图像上水平方向和竖直方向的一个像素 分别占多少个单位,是反映现实中的图像物理坐标关系与像素坐标系转换 的关键;

图像坐标系原点在像素坐标系中的坐标(u

作为优选,第四步中,所述的实时获取的目标数据和虚拟场景中的点 云数据为采用快速点特征直方图的采样一致性配准算法进行粗配准得到。

迭代最近点算法精确度受实物对象初始位姿影响较大,收敛速度慢, 实物对象在每连续两帧之间位姿变换很小,在系统运行初始先采用粗配准 算法,再在此基础上进行ICP配准,可有效改善配准精度和收敛速率。

其中粗配准算法包括:

(1)首先计算源点云(数字模型转化后的点云集)和目标点云(计算机 处理后的目标点云数据)的方向信息,即提取法向量;

(2)根据法线信息,提取源点云和目标点云的快速点特征直方图(fast pointfeature histograms,FPFH)特征;

(3)从目标点云中随机选取一些样本点P,在源点云中找到与目标点云 样本点的FPFH相似的点Q,这些点与样本点构成一一对应的关系;

(4)利用这些对应的点对计算出刚体变换矩阵M,并将变换矩阵应用 到目标点云上:P’=P*M,计算P’与Q之间的配准误差;

(5)重复以上步骤,与预先设定的用来衡量误差的阈值进行比较,以此 来确定该矩阵是否为最佳变换,如果是,则改矩阵为目标数据与虚拟场景 中三维模型转换后的点云数据的初始相对位姿。

细配准算法包括:

(1)对源点云M(数字模型转化后的点云集)中的每一点M

(2)计算旋转矩阵R和平移向量T,使对应点集之间的均方误差最小;

(3)设定点对距离阈值ε和算法最大迭代次数max,将上一步得到的变 换矩阵作用于源点云M,得到新点云M’,计算M’和N的距离误差,如 果两次迭代的误差小于ε或者当前迭代次数大于max,则迭代结束,否则 将初始配准的点集更新为M’和N,重复上述步骤,直至满足收敛条件,输 出此时的旋转矩阵R和平移向量T。

第五步中,所述的通过相机标定得到深度相机和投影仪坐标系之间的 位姿数据,相机标定的方法为基于结构光的相机标定方法,包括:以平面 棋盘为校准工具,分别利用深度相机的彩色摄像头和深度摄像头拍摄图像, 并分别对每个平面方向检测棋盘格角点位置;利用Gray Code+Phase Shift 编码方法,对棋盘格投射结构光,并解码;利用OpenCV的calibrateCamera 方法,对投影仪和深度相机的内部参数进行标定;利用OpenCV的stereoCalibrate方法,对投影仪和深度相机的外部参数进行标定。

所选用的深度相机为Azurekinect DK,包括100万像素TOF深度摄像 头、1200万像素RGB彩色高清摄像头。

所述的深度相机的外部参数为相机与世界坐标系的相对位姿关系,包 括旋转向量R(大小为1x3的矢量或旋转矩阵3x3)和平移向量T(Tx,Ty,Tz)。

投影仪的光学结构与深度相机相同,但光路相反,深度相机是三维场 景对二维场景的映射,而投影仪是二维图像对三维空间的映射,因此原理 上,把投影仪当做逆向深度相机,得到投影仪内部参数和外部参数。

所述的投影仪内部参数为与投影仪自身特性相关的参数,包括:

焦距f,投影仪的焦点到映射平面的距离;相邻像素点dx,dy,表示 投影图像上水平方向和竖直方向的一个像素分别占多少个单位;

图像坐标系原点在像素坐标系中的坐标(u

所述的投影仪的外部参数为投影仪与世界坐标系的相对位姿关系,包 括旋转向量R(大小为1x3的矢量或旋转矩阵3x3)和平移向量T(Tx,Ty,Tz)。

由于深度摄像头无法拍摄到投影仪结构光内容,以彩色摄像头作为系 统标定的媒介,通过彩色摄像头角点位置计算出该角点在投影仪坐标下对 应位置,再用深度摄像头坐标系下角点位置和对应的投影仪坐标系下角点 位置,计算出深度摄像头坐标系和投影仪坐标系的相对位姿关系。

步骤(3)中,所述的基于实物对象的位姿数据对虚拟实验场景中实物 对象对应的数字模型进行位姿修正是指,数据处理器根据实际实验场景中 实物对象的位姿数据,调整虚拟实验场景中实物对象的参数与状态,将实 际试验场景与虚拟实验场景两者的位姿数据进行配准。

将调整后的虚拟实验场景通过投影仪投射至实际试验场景中,实现虚 实融合呈现。

与现有技术相比,本发明的有益效果为:

1.提出一种基于对象局部特征及连续性假设的位姿算法,将局部特征匹 配应用于实物对象的快速检测及6自由度计算,实现了多人协同、多对象 并行交互的实验场景。

2.突破了现有技术中图形用户界面的束缚,充分发挥增强现实的虚实融 合,在人对空间等物理环境的感知基础上,建立以空间隐喻为基础的基于 物理空间及实物的隐式交互过程,实现交互与呈现通过完全一致。

3.本发明基于投影的空间式实物交互虚拟实验方法无交互负荷,交互意 图易判断、输入输出空间不隔离并可多用户协同操作。

4.本发明基于投影的空间式实物交互虚拟实验系统易于操作,实验现象 直观,场景逼真生动,充分调动学生实验操作过程中的学习兴趣和积极性。

附图说明

图1为实施例实际实验场景中实验桌、实物对象、计算机和投影仪位 置示意图;

图2为实施例具体操作实现流程图;

图3为实施例实际场景的3D打印照片;

图4为实施例实际场景中水壶浇水的水流效果图;

图5为实施例实际场景中改变水壶旋转位置的水流效果图。

具体实施方式

下面结合附图和实施例对本发明作进一步详细描述,需要指出的是, 所述实施例旨在便于对本发明的理解,对本发明不起任何限定作用。

如图1所示,一种基于投影的空间式实物交互虚拟实验系统,包括

实验桌1;

实物对象2,根据实验所需对象,三维建模后通过3D打印机打印获得, 置于实验桌1上;

深度相机3,实时捕获实物对象所在场景的深度数据并进行处理,将处 理后的深度数据传输给计算机4;

计算机4,根据实验内容构建虚拟实验场景,虚拟场景中包含与实物对 象2对应的数字模型,根据实物对象2的位姿数据实时调整虚拟场景中数 字模型的位姿数据,并将虚拟场景中的图像实时传输给投影仪。

投影仪5,实时将调整后的虚拟实验场景投射至对应的实物对象2和实 验桌1上,实现虚实融合呈现。

其中,投影仪5的投影区域要覆盖实物对象所能移动的范围,深度相 机3的视场能够覆盖的范围要大于投影仪投影区域。

实施例

本实施例以中学实验“等高线”为例,按照图2具体操作实现流程图 对基于投影的空间式实物交互虚拟实验方法进行测试。

等高线是一个抽象的存在,用纷乱的二维地图来想象复杂的三维地形, 对于立体感还比较差,见识也比较少的学生来说比较抽象,掌握难度较大。 针对这部分内容,课标要求学生能够在等高线图上,“识别出山峰,山脊, 山谷,判读坡的陡缓,估计海拔与相对高度”。

1.根据中学实验“等高线”实验目标,用计算机中3dmax软件构建水 壶和包含山峰、山脊、山谷、鞍部和陡崖等知识点的山体三维模型,并通 过3D打印机打印获得实物对象;用计算机中unity3D开发引擎构建等高 线虚拟实验场景,虚拟实验场景包括水壶和山体模型、水流仿真效果、等 高线的绘制以及模型的纹理。

2.深度相机获取实际实验场景的深度数据即空间点到相机平面的垂直 距离,利用以下公式,根据深度相机的内部参数,将深度数据实时转化为 点云数据;

其中dx,dy,u

3.直接获取的点云数据包含场景中大量不必要的数据,采取直通滤波 算法对上述点云数据进行处理,指定一个维度及该维度下的值域,依次遍 历点云数据,判断点云数据在指定维度上的取值是否在值域内,删除取值 不在值域内的点,遍历结束后留下的点构成滤波后的点云数据,从而可以 消除实验桌及实验桌以外的无效操作背景;然后采取体素滤波算法对有效 操作区域的点云进行降采样并进行分割,分割方法为采用欧几里得算法和 基于区域生长算法相结合的方法,得到山体和水壶的实物点云数据。其中 体素滤波算法可保证点云数据原有几何结构不变的前提下减少点云数据 的数量,提高实物对象检测的速率;

4.由于用户手持水壶时,手部对于实物的位姿检测造成影响,因此以 水壶和山体点云数据的Z坐标最小的点为基准,取局部点云数据作为实时 分割出用来迭代配准的目标数据;

5.由于点云数据中的噪声,即使实物对象数字模型保持静态,深度相 机跟踪的位置也会随机波动,移动预测时会放大噪音,对以上分割出的目 标数据采用卡尔曼滤波算法减少实物对象移动过程中的噪声,提高姿态估 计的稳定性。

6.由于ICP算法精确度受实物对象初始位姿影响较大,收敛速度慢, 实物对象在每连续两帧之间位姿变换很小,在系统运行初始先采用粗配准 算法估计水壶和山体目标数据与虚拟场景中水壶和山体三维模型转换后 的点云数据的初始相对位姿,再在此基础上进行ICP精配准,获得实际场 景中水壶和山体在深度相机坐标系下的位姿数据。此外,交互过程中某一 刻实物对象不可避免出现较大的抖动,因此算法需要判断在某个时刻是否出现较大的抖动,如果出现,则再次进行粗配准,找到一个较好的初始位 姿估计,再用ICP算法进行细配准,可保证在系统整个运行过程中配准精 度的准确。

其中粗配准算法包括:

(1)首先计算源点云(数字模型转化后的点云集)和目标点云(计算机 处理后的目标点云数据)的方向信息,即提取法向量;

(2)根据法线信息,提取源点云和目标点云的快速点特征直方图(fast pointfeature histograms,FPFH)特征;

(3)从目标点云中随机选取一些样本点P,在源点云中找到与目标点云 样本点的FPFH相似的点Q,这些点与样本点构成一一对应的关系;

(4)利用这些对应的点对计算出刚体变换矩阵M,并将变换矩阵应用 到目标点云上:P’=P*M,计算P’与Q之间的配准误差;

(5)重复以上步骤,与预先设定的用来衡量误差的阈值进行比较,以此 来确定该矩阵是否为最佳变换,如果是,则改矩阵为水壶和山体目标数据 与虚拟场景中水壶和山体三维模型转换后的点云数据的初始相对位姿。

细配准算法包括:

(1)对源点云M(数字模型转化后的点云集)中的每一点M

(2)计算旋转矩阵R和平移向量T,使对应点集之间的均方误差最小;

(3)设定点对距离阈值ε和算法最大迭代次数max,将上一步得到的变 换矩阵作用于源点云M,得到新点云M’,计算M’和N的距离误差,如 果两次迭代的误差小于ε或者当前迭代次数大于max,则迭代结束,否则 将初始配准的点集更新为M’和N,重复上述步骤,直至满足收敛条件,输 出此时的旋转矩阵R和平移向量T。

7.通过基于结构光标定方法得到深度相机和投影仪坐标系之间的位姿 数据,结合步骤1-6求出的实物对象在深度相机坐标系下的位姿数据,获 得实物对象在投影仪坐标系下的位姿数据。

8.计算机建立面向虚拟实验的数字孪生法描述,在虚拟场景中构建与 投影仪内部参数和外部参数一致的虚拟相机渲染虚拟场景,维护一致的物 理与数字空间,并将数字空间中水壶和山体模型根据以上实时求解的交互 对象的位姿信息转换至投影仪坐标系下。

9.计算机根据实时求解的水壶的位姿及场景交互语义,实时仿真出对 应的虚拟实验效果,即水壶处于不同位姿会有不同状态的水流水花,由投 影仪投射至实验桌以及相对应的实物对象上,实现空间式实物交互虚实融 合呈现效果。

图3为实施例具体实物对象3D打印照片,由图3看出,3D打印的水 壶和山体即为实物交互对象,用户可以从实验桌上拿起水壶往实物山体上 浇水,根据水流到山体表面的状态判断地形。

图4为实施例实际场景中水壶浇水的水流效果图,由图4可以看出, 用实物水壶往下浇水,有积水的地方是盆地,有流水道的是山脊,水往下 流的是山峰,水往两侧溅开的是山脊,水流方向接近垂直流下去的是陡崖。 可根据水流到山体表面的状态判断地形。

图5为实施例实际场景中改变水壶旋转位置的水流效果图,由图5可 以看出,用实物水壶往山脊处浇水,水往两侧溅开,有水花产生,说明水 壶位姿发生改变,水流速率和状态也相应变化。

相关技术
  • 一种基于投影的空间式实物交互虚拟实验方法
  • 基于实物的共享交互信息在空间中的AR呈现方法和系统
技术分类

06120113114558