一种虚实物体实时融合的实物交互方法与系统转让专利
申请号 : CN202010676759.7
文献号 : CN111897422B
文献日 : 2022-02-15
发明人 : 杨承磊 , 宋英洁 , 盖伟 , 刘娟 , 卞玉龙
申请人 : 山东大学
摘要 :
权利要求 :
1.一种虚实物体实时融合的实物交互方法,其特征是:包括以下步骤:进行服务器端和客户端的虚拟现实设备坐标系之间映射关系的计算,包括旋转矩阵和位移向量,以实现物体位置在坐标表示上的统一;
将物体的姿态估计简化为水平桌面上物体的位置跟踪和绕垂直于桌面方向上的旋转角度计算,获取目标对象的模板,对模板特征进行建模,对桌面物体进行位置跟踪,对物体轮廓进行提取,获取物体主方向,在主方向上获取两个固定点,通过奇异值分解计算出物体相对于初始状态的旋转矩阵,由旋转矩阵计算得到旋转角度;
获取来自服务器端的真实物体相对于初始位置的位移以及相对于初始朝向的旋转,进行位置调整,计算得到虚拟物体当前的位置和朝向,根据得到的位置和朝向,在客户端的虚拟现实设备显示所述虚拟物体;所述虚拟物体的朝向的调整为调整虚拟物体绕垂直于桌面方向上的旋转;
通过与虚拟物体初始位置进行计算得到虚拟物体当前的位置的具体过程包括:将初始化阶段获取的真实物体的位置转换为客户端虚拟现实设备的坐标,客户端虚拟现实设备同样保存虚拟物体的初始位置;跟踪过程中,实时获取真实物体位置并转换为客户端虚拟现实设备中的坐标,计算得到物体相对于初始位置的位移向量;依据物体相对于初始位置的位移向量和初始位置,计算客户端虚拟现实设备中虚拟物体的位置。
2.如权利要求1所述的一种虚实物体实时融合的实物交互方法,其特征是:进行服务器端和客户端的虚拟现实设备坐标系之间映射关系的计算时利用三点法直解七参数模型的方法进行计算。
3.如权利要求1所述的一种虚实物体实时融合的实物交互方法,其特征是:获取目标对象的模板,对模板特征进行建模的具体过程包括:利用跟踪器在跟踪开始的第一帧获取目标对象的模板,基于客户端虚拟现实设备提供的虚拟物体的初始位置获取物体模板,并去除桌面背景和手部背景。
4.如权利要求3所述的一种虚实物体实时融合的实物交互方法,其特征是:去除桌面背景的具体过程包括:
获取服务器端虚拟现实设备的第0帧深度数据作为桌面背景信息;
在之后的每一帧获取当前帧的深度数据,与第0帧深度数据进行背景减除,得到当前帧的深度前景图像,并将深度前景图像转化为二值图像;
采用形态学开运算去除前景二值图像中区域面积小于设定值的噪声,得到降噪后的前景二值图像;
降噪后的前景二值图像与当前帧的彩色图像进行按位操作,最终得到前景彩色图像。
5.如权利要求3所述的一种虚实物体实时融合的实物交互方法,其特征是:去除手部背景的具体过程包括:
在k‑1帧中,利用追踪器在前景图像中进行物体追踪,获取到目标物体在当前帧中的目标兴趣区域,由手势分割算法获取第k帧中的手部轮廓;
对于第k帧中降噪前景二值图像中的每个属于目标兴趣区域的像素点,检查该点是否在手部轮廓范围内,若是,则将该像素点灰度值设置为0;
扫描完成后的图像为仅存在物体前景的二值图像,该图像与前景分割中得到的彩色前景图像做按位与操作,即得到去除手部背景的彩色前景图像,在该图像中运行追踪器,得到第K帧中目标物体目标兴趣区域,作为K+1帧的输入。
6.如权利要求1所述的一种虚实物体实时融合的实物交互方法,其特征是:通过奇异值分解计算出物体相对于初始状态的旋转矩阵,由旋转矩阵计算得到旋转角度的具体过程包括:
分别计算主成分方向上两组点的中心点;其中,一组点是轮廓中心点和主方向上距离中心点距离为d的点,另一组点是假设初始化阶段保存的物体在初始状态下主成分方向上的两个点;
将两组对应点进行中心化;
中心化后的两组对应点排列入矩阵中,每个点为一行,得到两个矩阵,计算两个矩阵的协方差矩阵;
对协方差矩阵进行奇异值分解,得到矩阵的左右奇异矩阵,进而得到旋转矩阵;
通过反正切函数计算出旋转角度。
7.如权利要求1所述的一种虚实物体实时融合的实物交互方法,其特征是:计算虚拟物体当前的朝向的具体过程包括:
初始化阶段服务器端虚拟设备获取真实物体初始主方向上的两个点,客户端虚拟设备保存虚拟物体的初始方位;
物体跟踪过程中,客户端虚拟设备实时获取物体主方向上的两个对应点,通过奇异值分解计算物体实时的旋转角度 ;
服务器端虚拟设备的虚拟物体在桌面上的旋转表示为绕自身坐标系Y轴的旋转,根据初始方位和旋转角度 ,得到虚拟物体当前的朝向。
8.一种虚实物体实时融合的实物交互系统,其特征是:包括:预处理模块,被配置为进行服务器端和客户端的虚拟现实设备坐标系之间映射关系的计算,包括旋转矩阵和位移向量,以实现物体位置在坐标表示上的统一;
服务器端,被配置为将物体的姿态估计简化为水平桌面上物体的位置跟踪和绕垂直于桌面方向上的旋转角度计算,获取目标对象的模板,对模板特征进行建模,对桌面物体进行位置跟踪,对物体轮廓进行提取,获取物体主方向,在主方向上获取两个固定点,通过奇异值分解计算出物体相对于初始状态的旋转矩阵,由旋转矩阵计算得到旋转角度;
客户端,被配置为获取来自服务器端的真实物体相对于初始位置的位移以及相对于初始朝向的旋转,进行位置调整,计算得到虚拟物体当前的位置和朝向,根据得到的位置和朝向,在客户端的虚拟现实设备显示所述虚拟物体;所述虚拟物体的朝向的调整为调整虚拟物体绕垂直于桌面方向上的旋转;
通过与虚拟物体初始位置进行计算得到虚拟物体当前的位置的具体过程包括:将初始化阶段获取的真实物体的位置其转换为客户端虚拟现实设备的坐标,客户端虚拟现实设备同样保存虚拟物体的初始位置;跟踪过程中,实时获取真实物体位置并转换为客户端虚拟现实设备中的坐标,计算得到物体相对于初始位置的位移向量;依据物体相对于初始位置的位移向量和初始位置,计算客户端虚拟现实设备中虚拟物体的位置。
9.如权利要求8所述的一种虚实物体实时融合的实物交互系统,其特征是:所述服务器端和客户端均具有混合显示设备。
说明书 :
一种虚实物体实时融合的实物交互方法与系统
技术领域
背景技术
式不适用于虚实融合的交互场景。实物交互作为新兴的三维交互方式,被认为是人们都可
使用的自然和易于学习的范例。实物交互是通过物理实体与数字信息进行交互的一种交互
方式,其目的是通过在物理实体上添加数字信息,利用人类掌握和操纵物理对象的能力,从
而增强协作、学习和设计的能力。然而目前混合现实中的实物交互,其交互实体和数字对象
之间缺乏相似性,不能充分体现混合现实高度的沉浸感。因此,混合现实中的实物交互有必
要将虚拟对象和交互实体进行融合,支持用户与虚拟对象交互的同时感受到来自真实世界
的触觉反馈,从而增强沉浸感。
在实物交互中经常使用的技术包括射频识别(RFID)技术和计算机视觉技术来获取物体的
相关信息。
大小和RFID标签的尺寸以及磁场强度。由于通信距离和成本成正比,RFID通常局限于短距
离检测,需要将附有标签的物体直接放置在读取器上。RFID技术是一种简单稳定的方法,能
够将特定的实物对象通过RFID标签与特定的数字信息绑定,然而,这种方法需要特殊的阅
读器,不能获取物体在空间中的位置信息,限制了实物对象的移动。
提供了摄像头下图片和物体的识别接口,包括Vuforia、Wikitude和ARToolKit等,多使用特
征点匹配的方法实现物体姿态估计。基于特征匹配的方法对物体表面纹理有一定要求,并
且对于复杂物体,计算复杂性较高;基于模板匹配的方法要求对待检测物体做充分采样,提
取足够精确的模板,才能保证匹配的准确性。模板提取过程的复杂性限制了物体识别的种
类;基于学习的方法,需要对每个待识别物体建立数据集,数据集中包含图像数据或点云模
型等,构建过程复杂。
发明内容
上的旋转角度计算的问题,不需要为物体附加标签、建立模板和数据集等,另外不要求物体
表面具有复杂纹理。
对于初始状态的旋转矩阵,由旋转矩阵计算得到旋转角度;
端的虚拟现实设备显示所述虚拟物体。
供的虚拟物体的初始位置获取物体模板,并去除桌面背景和手部背景。
得到第K帧中目标物体目标兴趣区域,作为K+1帧的输入。
值分解计算出物体相对于初始状态的旋转矩阵,由旋转矩阵计算得到旋转角度;
和朝向,在客户端的虚拟现实设备显示所述虚拟物体。
附图说明
理解的相同含义。
也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包
括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
虚实物体实时融合的实物交互。用户通过头戴式混合现实设备看到的是虚拟物体实时罩住
实际物体,随着真实物体移动和改变朝向。在支持用户与虚拟物体交互的同时提供触觉反
馈,使交互更加自然。本发明将物体的6DOF姿态估计问题简化为水平桌面上物体的位置跟
踪和绕垂直于桌面方向上的旋转角度计算的问题,支持用户自己制作交互工具,不需要为
物体附加标签、建立模板和数据集等,另外不要求物体表面具有复杂纹理。
通过头戴式混合现实设备看到的是虚拟物体实时罩住实际物体,随着真实物体移动和改变
朝向。在支持用户与虚拟物体交互的同时提供触觉反馈,使交互更加自然。本公开将物体的
6DOF姿态估计问题简化为水平桌面上物体的位置跟踪和绕垂直于桌面方向上的旋转角度
计算的问题,支持用户自己制作交互工具,不需要为物体附加标签、建立模板和数据集等,
另外不要求物体表面具有复杂纹理。
为了支持上述三个阶段,本发明采用客户端和服务器相配合的网络结构,其中服务器连接
Kinect,进行真实物体跟踪和旋转角度的计算,并将位移和角度数据发送到客户端;客户端
运行于HoloLens中,用于接收真实物体位移和旋转数据,并根据这些数据调整虚拟物体的
位置和朝向,从而实现虚实物体的融合。
标系中的位置转换到HoloLens坐标系下,实现物体位置在坐标表示上的统一。另外,本阶段
还负责保存真实物体和虚拟物体的初始位置和朝向数据;
取目标对象的模板,对模板特征进行建模,从而实现之后每帧的目标跟踪。这就需要首先分
割出目标兴趣区域(ROI)。本文基于HoloLens提供的虚拟物体的初始位置获取物体模板。由
于界面中存在桌面背景信息,会对目标追踪产生干扰,因此首先需要去除桌面背景。在目标
移动过程中,由于存在手的干扰,会出现目标模板偏移的问题,因此需要去除手部背景。旋
转计算方面,首先对物体轮廓运行PCA算法,获取物体主方向,然后在主方向上获取两个固
定点,通过奇异值分解(SVD)计算出物体相对于初始状态的旋转矩阵,由旋转矩阵计算得到
旋转角度;
计算得到虚拟物体当前的位置;朝向调整方面,实时获取来自服务器的真实物体相对于初
始朝向的旋转,通过与虚拟物体初始朝向进行计算得到虚拟物体当前的朝向;
程是:
的噪声,得到降噪后的前景二值图像;
追踪器,得到第K帧中目标物体ROI,作为K+1帧的输入。
B,计算的A,B协方差矩阵H=AB;
的旋转角度;
转换为Kinect中的三维坐标,HoloLens中利用Vuforia对Mark进行识别;
虚拟物体;
真实物体的位置和方向,通过TCP协议将真实物体位置和旋转数据发送到HoloLens客户端,
并赋值给HoloLens中的虚拟物体,从而实现虚实物体的融合。
桌面空间中的位置跟踪和绕垂直于桌面方向的旋转角度的计算。Kinect坐标系为右手系,
用户在图中位置时,Kinect的X轴向右,Y轴指向用户,Z轴指向桌面; HoloLens也是右手系,
用户佩戴HoloLens时,X轴向右,Y轴向上, Z轴向后。假设通过三点法计算得到的旋转矩阵
为R,位移向量为t,则转换公式为:
方法的输入,从而计算出 Kinect坐标系转换到HoloLens坐标系的旋转矩阵和平移向量。该
图是在Kinect彩色相机中获取,Kinect中获取公共点坐标的流程是,点击图像中心点以获
取公共点在Kinect彩色空间中的像素点坐标,然后利用Kinect提供的空间转换方法
MapColorFrameToCameraSpace()得到公共点的三维坐标,由于Kinect和Mark的位置固定,
因此服务器端仅需要获取一次公共点位置数据;HoloLens中获取公共点坐标的流程是,首
先将图片对象保存到Vuforia图像 识别数据库中,客户端结合Vuforia SDK实现图像功能,
程序运行时分别识别P1,P2,P3,客户端将位置数据发送到服务器,服务器端利用三点法解
算Kinect到HoloLens坐标系的旋转矩阵和位移向量。由于HoloLens坐标系在程序加载时确
定,每次加载程序坐标系会发生变化,因此每次启动客户端都需要获取公共点位置。
的噪声,得到降噪后的前景二值图像;
视化在Kinect彩色图像中。其中圆圈位置为物体中心点,长轴为特征矩阵第一行的方向,短
轴为特征矩阵第二行的方向,指定长轴所示的方向为物体的主方向。
的位置和朝向,从而实现真实物体和虚拟物体的实时融合,如图7(b)所示。
施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产
品的形式。
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
改、等同替换、改进等,均应包含在本公开的保护范围之内。
需要付出创造性劳动即可做出的各种修改或变形仍在本公开的保护范围以内。