一种虚拟模型通过远程协助方式和视频流同时传输的方法与流程

文档序号:18899683发布日期:2019-10-18 21:46阅读:234来源:国知局
一种虚拟模型通过远程协助方式和视频流同时传输的方法与流程

本发明涉及计算机技术,特别涉及混合现实交互,socket通讯领域,尤其涉及一种虚拟模型通过远程协助方式和视频流同时传输的方法,实现一种在基于hololens上进行双向音视频通讯的同时,可同时进行3d虚拟模型的远程控制交互方法。



背景技术:

ar即增强现实,ar技术也被称为扩增现实,ar技术是促使真实世界信息和虚拟世界信息内容之间综合在一起的较新的技术内容,其将原本在现实世界的空间范围中比较难以进行体验的实体信息在计算机等科学技术的基础上,实施模拟仿真处理,叠加将虚拟信息内容在真实世界中加以有效应用,并且在这一过程中能够被人类感官所感知,从而实现超越现实的感官体验。真实环境和虚拟物体之间重叠之后,能够在同一个画面以及空间中同时存在。

目前没有ar参与的情况下,对设备维修人员的培训都是基于现实设备存在的基础上。如果设备为新型产品或者使用者目前还没有的情况下,只能通过远程视频交互进行了解,或者通过远程视频连接通信,进行远程协助。既不直观,也没有实时交互性,容易在理解上产生误差。如果去现场车间又增加路费,时间等成本。

针对相关技术中所存在的上述问题,目前尚未提出有效的解决方案。因此,本发明提出了一种虚拟模型通过远程协助方式和视频流同时传输的方法,毋庸置疑,本发明的虚拟模型通过远程协助方式和视频流同时传输的方法,能够解决现有技术存在的诸多缺陷,并带来诸多有益效果。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种虚拟模型通过远程协助方式和视频流同时传输的方法。由于ar技术在工业方面的应用范围广阔,目前以hololens设备为主。本发明通过hololens的空间定位和三维重建(slam)技术,可以将虚拟的标注指示(如箭头符号)显示在现实工业设备的空间位置。比如一个工厂采购了一台新的大型设备,以前需要设备厂家派技术人员到现场进行操作指导,引入了ar技术之后,就可以将虚拟的设备投射在真实设备上,在设备现场让操作人员直观准确的认识设备结构,理解使用原理。此外,即使是没有实物产品的情况下,同样可以借助ar技术实现对新产品的介绍和维修操作的指导,这不过此时就是完全的虚拟指导和展示了。

本发明目的主要是为了更好地增强音视频通信的增强显示效果,同时可以节约交互成本。例如,厂家的技术专家可以不到现场,就达到和在现场基本一致的效果。通过对受训人员每一个动作和操作的观察和分析,指出其存在的问题,然后结合虚拟的模型进行一步一步的指导。

如果没有ar交互和演示,服务器仅仅能向hololens端传送视频,hololens端看到的内容和电脑上看视频简介是一样的,都是平面的东西,目前大多数现有培训方法就是这个模式。当服务器端想让客户了解和查看自己的新产品,没有ar参与,也只能是这个纯视频交互方式。当然,这种视频交互的方式也是有意义的,比如ar模型在客户端没有下载成功,就可以用视频这种替代方案展示产品或进行培训,视频交互算一个保底方案。

客户端向服务器发送的视频其实就是让服务器看到客户端所看的东西。这样方便客户端专家指导。基于客户端有产品的基础上。

应当理解,本发明中的客户端、hololens与hololens端表达同样的含义,服务器与服务器端表达同样的含义,选择操作与选中操作表达同样的含义。

本发明的虚拟模型通过远程协助方式和视频流同时传输的方法包括以下步骤:步骤1,建立hololens与远程服务器之间的通信连接;步骤2,hololens将环境感知摄像机的影像传输至远程服务器进行显示,远程服务器将远程服务器摄像机的影像传送至hololens进行显示,完成双向同步音视频通信;步骤3,远程服务器发送指令至hololens,hololens接受指令从虚拟模型数据库服务器下载虚拟模型;步骤4,hololens对虚拟模型进行空间定位和三维重建,实现对环境感知摄像机的影像的增强显示;步骤5,用户对虚拟模型的操作同步显示在远程服务器端,远程服务器对虚拟模型的操作也同步显示在hololens端。

优选地,所述步骤5包括:远程服务器可通过双向同步音视频通信实时查看hololens视角的模型影响,并可以通过鼠标的滑动操作或点击操作发送对虚拟模型的选中,旋转,移动的指令,hololens端可实时观察,hololens端亦可通过手势指令对模型进行操作,服务器端端可实时观看。

优选地,所述指令的行为信息是下载指令,远程服务器发送下载指令及资源地址后,hololens解析所述下载指令和资源地址,然后通过www服务请求所述资源地址所指示的资源。

优选地,所述资源多为assetbundles的虚拟模型文件,assetbundles是unity3d程序导入外部资源的格式文件。通过unity3d开发的客户端程序加载,显示在用户的视野中。

优选地,如果因网络环境差导致资源下载失败,予以三次延时重新下载的补救机制,如果下载成功,则向远程服务器返回成功信号,同时远程服务器端的显示界面显示hololens用户所看到的所有内容。

优选地,资源代号也是hololens端作为资源是否已经下载的标志信息,如果hololens本地有该资源的缓存则直接进行加载,而不需要通过远程服务器下载,优化用户的体验,其中,hololens仅缓存最近一次加载的资源以及使用次数最多的资源。

优选地,所述空间定位和三维重建包括:hololens使用环境感知摄像机捕获真实环境图像并从图像帧中提取特征点;匹配相邻图像帧的特征点;通过特征点相对位置的变化来反向推出hololens转动的角度和产生的位移,从而计算出hololens的运动信息,进而实现空间定位;通过计算从投射红外线脉冲到其反射回来的时间与光速的乘积直接获得场景的深度信息;利用kinectfusion技术来对真实环境进行三维重建。

优选地,所述获得场景的深度信息包括:利用视觉中心功能在kinectfusion技术基础上增加射线的碰撞检测,即由环境感知摄像机向正方向发射射线,检测是否与虚拟模型碰撞,若发生未知偏移,当偏移量大于阈值时,进行计时,超过预定时间后对虚拟模型进行重新定位,所述重新定位的位置如下:modelpos=camerapos+forwarddir*dis,其中modelpos为虚拟模型位置,camerapos为环境感知摄像机位置,forwarddir为环境感知摄像机前方向,dis为预定的距离。

优选地,在远程服务器端端对虚拟模型进行操作,其操作指令会同步传输到客户端的hololens的ar应用程序中,把这些操作指令又施加到hololens上显示的虚拟模型上,实现两端的联动,其中,从hololens端到服务器端的影像同步通过步骤2中的音视频交互传输完成,两者并行。

优选地,为避免正常执行指令出现抖动,操作时满足如下约束条件:远程服务器端可对客户端的操作进行屏蔽操作;远程服务器端手指或鼠标滑动超过50mm则发送旋转指令,离开屏幕发送结束指令;远程服务器端双指滑动,双指间距离变化超过50mm发送缩放指令。离开屏幕发送结束指令;远程服务器端手指未滑动,离开屏幕发送选择指令;客户端接收旋转指令,判断值超过阈值开始旋转,接收结束指令停止旋转;客户端接收缩放指令,判断缩放值是否在范围内,在则开始缩放。接收结束指令停止缩放;客户端操作过程中如果接收到旋转指令则停止自身的旋转,缩放操作。

优选地,所述指令含有行为信息和内容信息,所述行为信息是行为指令,所述内容信息是内容指令。

优选地,在步骤2中,如果出现网络卡顿情况,则直接跳过卡顿图像帧而显示接下来的图像帧。

优选地,通过视角与虚拟模型表面法线的夹角关系改变虚拟模型的材质粗糙度和反射颜色进行调整,确保整个虚拟模型表面光效特性一致,在结构复杂的地方选择无光材质加上法线贴图表现其特性。

优选地,当捕捉到环境变化时,hololens重新进行深度检测,进而重新进行三维重建,新的环境重建完成后,再继续定位。

优选地,操作中以服务器端为主,客户端为辅,即服务器端进行控制操作时,客户端操作无效,以确保虚拟模型状态的正常显示,而对于选择操作可同时进行。

通过实施本发明的技术方案,克服现有技术缺陷,获得以下有益效果:

在传统音视频交流(视频聊天)的同时,增加虚拟模型在客户端和服务器端的显示,可使商家和客户之间的沟通更直观,方便,增强显示的加入客服了现有的视频通信信息量受限的技术问题。服务器端对虚拟模型的每一次操作,每一次翻转,每一个标记,每一段解说,每一段标记和箭头,都实时传送给hololens端,增强了学习效果。客户端还可以将自己的想法通过语音和对模型的操作实时反馈给服务器端的专家。视频聊天的模式可以让受训人员更真实的接受专家的指导,声音和表情和动作都有,比较贴合一般人的认知和习惯。客户与商家对同一个模型的操作可使信息交流的准确度大大提高,节省时间成本,双管齐下,对受训人员熟练操作非常有益。

本发明中的所有虚拟模型,包括推送的视频等,都可以通过云端服务器完成,减少了本地服务器的存储和传输压力,hololens端也不用存储大量的虚拟模型,随用随下,方便快捷。对虚拟模型的操作,也是通过同步传输指令的方式进行,无需传输虚拟模型操作状态下的图像和视频,相当于操作、翻转、划线、标记、染色、拆解等指令同时在服务器端和客户端完成,保证了模型动作的一致。

本发明中采用的组播技术便于后续的多人协作机制的扩展,有利于形成群体讨论的状态,提高学习和讨论效果。

本发明增加了视频、画面的小窗推送功能,充分利用了服务器端的资源优势。当然为了节约带宽,也可以分别从云端服务器下载要推送的视频,当然这样实时性会稍差一点,对推送视频进行标记等操作也会受到影响。

附图说明

图1是根据本发明实施例的hololens显示图。

图2是双向音视频通讯流程图。

图3是根据本发明的实施例的单播和组播示意图(未标记的方框为路由器设备)。

图4是根据本发明的实施例的虚拟模型显示流程图。

图5是根据本发明的实施例的指令关系图。

具体实施方式

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

以下结合说明书附图详细描述本发明,尤其是具体的方法步骤和技术效果将在以下内容中予以详细描述。

如图1-5所示,本发明提出的虚拟模型通过远程协助方式和视频流同时传输的方法,所述方法包括:步骤1,建立hololens与远程服务器之间的通信连接;其中包括:步骤1.1,启动hololens,登录客户端程序,连接远程服务器。登录方式为输入账号或者扫描二维码,二维码中存储有用户注册信息。选择扫描登录操作方便,能够减少用户输入。经由pc端注册账号,生成对应的二维码。步骤1.2,远程服务器端验证成功从而接受登录请求,hololens登录成功。这里的远程服务器端可以为pc,也可以是windows平板。登录过程使用tcp协议保持长连接,保证hololens与远程服务器端信息指令等传输可靠。

步骤2,hololens将环境感知摄像机的影像传输至远程服务器进行显示,远程服务器端将远程服务器摄像机的影像传送至远程服务器进行显示。完成双向同步音视频通信。hololens传输环境感知摄像机影像至远程服务器端,环境感知摄像机安装在hololens眼镜内部,其指向为hololens屏幕中央,也就是人眼睛看到的而地方,与此同时hololens与远程服务器端进行同步语音交互,形成了一种事实上的视频聊天状态。远程服务器端也可以通过远程服务器端摄像机向hololens端传输影像数据,在hololens上以小窗口的形式展示。完成双向音视频的交互。

所述的双向音视频传输采用directshow和ip组播技术实现,directshow是微软针对流媒体传输的开发包,支持各种媒体格式,包含asf,mpeg,avi,mp3,wav等。这里的传输协议采用的udp协议,视频传输过程要求实时性较高。如果出现网络卡顿情况,则可以直接跳过卡顿图像帧而显示接下来的图像帧。

采用ip组播允许一个或多个发送者发送单一的数据包到多个接受者的网络。在组播中,无论有多少个目标地址,整个网络链路只有一个数据表,减少不必要的重复发送,极大的改善音视频数据传输的实时性。所以在本发明中采用组播的方式传输音视频,也为之后的多人协作做提供好扩展的基础。

步骤3,远程服务器端发送指令至hololens,hololens接受指令从虚拟模型数据库服务器下载虚拟模型,所述指令含有行为信息和内容信息,所述行为信息是行为指令,如下载,上传,关闭等,所述内容信息是内容指令,如资源代号和地址,是否延迟关闭等。远程服务器端发送下载指令及资源地址后,hololens端解析所述下载指令和资源地址,然后通过www服务请求所述资源地址所指示的资源。所述资源多为assetbundles的虚拟模型文件,assetbundles是unity3d程序导入外部资源的格式文件。通过unity3d开发的客户端程序加载,显示在用户的视野中。

如果因网络环境差导致资源下载失败,予以三次延时重新下载的补救机制。如果下载成功,则向远程服务器返回成功信号。同时远程服务器端的显示界面显示hololens用户所看到的的所有内容,所述内容包括hololens端的现实影像,远程服务器端的远程服务器摄像机的窗口影像,以及hololens端的虚拟模型影像。如果经由三次延时重新下载后最终下载仍然失败,则向远端服务器端返回失败信号。此时远程服务器端再通过音视频方式展示产品。

为了使得hololens可以顺利下载资源,保证快速成功下载,存储资源的服务器为独立的虚拟模型数据库服务器。虚拟模型数据库服务器端程序根据用户信息,选择与用户距离最短的资源云服务地址作为指令的内容信息提供给hololens端。

资源代号也是hololens端作为资源是否已经下载的标志信息。如果hololens本地有该资源的缓存则直接进行加载,而不需要通过远程服务器下载,优化用户的体验。为了避免hololens缓存过多资源而影响hololens的整体性能,hololens仅缓存最近一次加载的资源以及使用次数最多的资源。

步骤4,hololens对虚拟模型进行空间定位和三维重建,实现对环境感知摄像机的影像的增强显示。通过定位和三维重建(slam),达到虚拟模型在现实空间可以像真实物体一样近大远小,相互遮挡。而slam中传统的获取深度的方法主要有三种:基于视差原理的双目视觉方法;将光通过编码的方式射出打在物体上,由于编码光打在不同物体上的畸变程度不同,从而推断出物体立体信息的结构光方法;通过对光发射到物体表面并反射回来的时间差计算出物体距离的tof(time-of-flight)方法。

hololens使用环境感知摄像机捕获真实环境图像并从图像帧中提取特征点,之后匹配相邻图像帧的特征点,通过特征点相对位置的变化来反向推出hololens转动的角度和产生的位移,从而计算出hololens的运动信息。

由于采用单目视觉或者双目视觉来获取场景每个像素点的深度信息的计算量相当大,并不能在较短的时间内完成,会直接影响hololens的三维重建的实时性,所以本发明中的hololens另配有深度摄像机(景深摄像机)。hololens的深度摄像机是基于tof原理,可通过计算从投射红外线脉冲到其反射回来的时间与光速的乘积直接获得场景的深度信息。

在深度摄像机采集深度信息后,利用kinectfusion技术来对真实环境进行三维重建。kinectfusion的原理为利用深度相机采集的深度信息对三维重建的刻画,可以类比为雕塑,对一个完整的立方体利用其深度信息进行不断的雕刻完善。通过在不同角度获取的深度信息,在不同的角度雕刻立方体使之更加逼真,完成三维重建。

然而,存在技术问题一,hololens对环境的变化比较敏感,微小的误差都会影响虚拟模型的显示,由于环境感知摄像机的坐标始终处于原点,当深度发生变化时不易察觉,只能通过旋转和视角变化进行人工复检。因此本发明利用gaze(视觉中心)功能在kinectfusion技术基础上增加了射线的碰撞检测,即由环境感知摄像机向正方向发射射线,检测是否与虚拟模型碰撞。若发生未知偏移,当偏移量大于阈值(视野内看不到虚拟模型)时。进行计时,超过预定时间后对虚拟模型进行重新定位,因此在不必需要人工复检的情况下即可实现虚拟模型的准确显示。所述重新定位的位置如下:

modelpos(虚拟模型位置)=camerapos(环境感知摄像机位置)+forwarddir(环境感知摄像机前方向)*dis(预定的距离)。

此外,存在技术问题二,如果现实中光照发生变化,也会影响到虚拟模型的正常显示。比如虚拟模型中的面是绝对平整的镜面,如果面上有个螺丝孔,受到光照后,孔内会变成纯黑色,看上去会比较怪异。本发明对上述三维重建进行一个补充修正,即通过视角与虚拟模型表面法线的夹角关系改变虚拟模型的材质粗糙度和对反射颜色进行调整,确保整个虚拟模型表面光效特性一致,在结构较为复杂的地方如螺丝钉槽,则选择无光材质加上法线贴图表现其特性。

其中,无光材质为不带光照信息的材质,整个表面会只有颜色信息(不带阴影,视觉上就是二维的图片)。法线贴图是带有阴影,凹凸信息的特殊贴图,类似于3d作画。本发明中用这两种图片模拟一个三维物体。

然而,进一步存在问题三,当环境变化是指现实场景发生了改变时同样影响虚拟模型的显示,比如虚拟模型放置在了门上,这时候有人开门,就是场景发生了改变。本发明为解决这一技术问题,当捕捉到上述环境变化时,hololens重新进行各种深度检测等,进而重新进行三维重建。这个过程中,虚拟模型会发生偏移,偏移问题的解决如前所述。新的环境重建完成后,才能继续定位。

本发明针对三维重建中存在的几个问题,提出了有针对性的解决方案,使得在ar环境下虚拟模型的展示更加稳定、自然和真实,并且能随环境变化而自动调整,取得了很好的展示效果。

步骤5,用户对虚拟模型的操作同步显示在远程服务器端。远程服务器端对虚拟模型的操作也会同步显示在hololens端。远程服务器可通过双向同步音视频通信实时查看hololens视角的模型影像,并可以通过鼠标的滑动操作或点击操作发送对虚拟模型的选中,旋转,移动,拆解,组合,连续滚动展示等指令,hololens端可实时观察,hololens端亦可通过手势指令对模型进行操作,服务器端实时观看。作为本发明的发明点之一,专家在远程服务器端例如pc或者pad上对虚拟模型进行操作,其操作指令会同步传输到客户端的hololens眼镜的ar应用程序中,把这些操作指令又施加到hololens上显示的虚拟模型上,实现两端的联动。其中,从hololens端到服务器端的影像同步通过步骤2中的音视频交互传输完成,两者并行。

服务器端对虚拟模型的操作以指令信息的形式传递给hololens端。再由hololens端的相关应用进行对虚拟模型的操作。这里的指令信息包含两部分内容:一是行为方式,如选中,拖拽,旋转,拆解等。二是单位大小,如是否已经选中状态,拖拽缩放的大小,旋转的角度,拆解的程度等。

其中,选中操作为点击,判断依据为射线检测。从屏幕点击点向环境感知摄像机正前方发射射线与虚拟模型的部分碰撞检测。被选中的部位替换高亮材质,服务器端选中时,颜色为红色。拖拽操作计算双指距离的变化,该操作仅支持windows平板。旋转计算滑动距离。这里的指令通讯采用udp的协议,确保虚拟模型的影像传输的实时性。

操作中以服务器端为主,客户端为辅。即服务器端控制操作(拖拽、旋转)的同时,客户端操作无效,以确保虚拟模型状态的正常显示。对于选中操作可同时进行。当客户端选择部分与服务器端不同时,客户端选择部分高亮颜色为绿色,便于用户对产品进行提问交流。

本发明中,对于客户端hololens接收到服务器端的操作指令后,由于网络不稳定因素的存在,可能出现虚拟模型无法正常执行指令出现抖动,本发明采用如下技术手段进行解决,即操作满足如下约束条件:

服务器端可对客户端的操作进行屏蔽操作,用于商家对用户介绍产品。

服务器端手指(鼠标)滑动超过50mm则发送旋转指令,离开屏幕发送结束指令。

服务器端双指滑动,双指间距离变化超过50mm发送缩放指令。离开屏幕发送结束指令。

服务器端手指未滑动,离开屏幕发送选择指令。

客户端接收旋转指令,判断值超过阈值开始旋转,接收结束指令停止旋转

客户端接收缩放指令,判断缩放值是否在范围内,在则开始缩放。接收结束指令停止缩放。

客户端操作过程中如果接收到旋转指令则停止自身的旋转,缩放操作。

步骤6,服务器端向客户端推送信息。这个步骤属于和音视频交互、虚拟产品交互平行的一种交互方式。因为服务器端处于主导地位,所以很多时候服务器端掌握了大量的培训资料或者产品资料,此时,在前两种交互的基础上,服务器端还可以推送一些数据或者资料到客户端,以帮助受训人员或者客户获得更多的信息,比如正确的操作步骤、操作方法等,对产品的了解更加深刻全面。这种推送通常是视频画面,比如厂家人员的操作视频、其他用户使用该产品的视频等。该视频画面通过一个小窗口显示在pc服务器端和ar眼镜屏幕上。

本发明诸多有益效果在前述具体实施方式中均有描述,特别是增强了培训的针对性,改善了用户体验,在此不再赘述。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1