一种基于实时人体三维重建的VR社交系统及其方法与流程

文档序号:11293304阅读:516来源:国知局
一种基于实时人体三维重建的VR社交系统及其方法与流程

本发明涉及虚拟现实社交实现技术领域,具体涉及一种基于实时人体三维重建的vr社交系统及其方法。



背景技术:

2015年9月,在altspacevr的发布会上,altspace宣布将支持三星gearvr头盔,然而它并没有直播创始人兼ceo恩里克·罗莫的演讲,而是罗莫的虚拟形象与一群记者的虚拟形象在一个虚拟的环境中一起交谈,其中虚拟形象的动作是由罗莫和这群记者动作的映射而来的。同样,2016年10月,在oculusconnect3的开发者大会上,扎克伯格和他的同事带上了oculusrift头盔和oculustouch手柄在虚拟环境中做了一段vr社交的实际操作演示。这些vr社交的技术都是针对社交对象的位置、方向、基本姿态、表情等的跟踪,并不能让真实的人体对象在虚拟三维场景当中重现。相反,人体三维重建技术能够让真实的人体对象在虚拟三维场景中重现,并且能很好地解决在vr社交中看不到真实社交对象的问题。关于人体三维重建,目前主要分为多个rgb-d传感器配准融合的方法和单个rgb-d传感器移动扫描的方法。第一种,比如cyberware公司研制的两款全身彩色三维扫描仪产品wb4和wbx,通过四个扫描头从头到脚进行三维测量,在几十秒的时间内创建一个准确的三维数据集;第二种,比如微软alexanderweiss等人研发的基于红外线的深度传感器kinect,通过移动单个kinect传感器扫描人体来获取整个三维人体模型。这两种方法都是可以实现对人体模型的重建,但不能实时重建动态的人体。

鉴于以上问题,本方案提出一种基于实时人体三维重建的vr社交系统。首先,系统主要包含终端和云端两大部分。第一,终端涉及到rgb-d传感器和头显数据采集、头显数据处理、数据打包编码、数据同步传输、同步接受云端数据和解码分类云端数据;第二,云端涉及到三维场景数据处理、终端数据处理、数据打包编码、数据同步传输、同步接受终端数据和解码分类终端数据。其次,系统主要包含人体三维重建、场景三维重建、位姿获取等技术。

vr社交活动需要将各个用户进行虚拟现实化,其中最主要的即是要将人体和物体实时投影到虚拟场景,然而现有技术未能鲁棒的和真实的完成实时投影。



技术实现要素:

针对上述现有技术,本发明目的在于提供一种基于实时人体三维重建的vr社交系统及其方法,解决现有技术vr社交活动中由于用户配带头显遮挡了脸部导致的人体三维重建时无法实时生成脸部点云等技术问题。

为达到上述目的,本发明采用的技术方案如下:

鉴于基于骨骼追踪的vr社交系统缺乏真实感和沉浸感等问题,本发明不仅能让每个社交对象通过人体定位自由控制自己在虚拟场景中的位置,也能让每个社交对象通过位姿自由控制自己在头显中看到的视角,还能通过实时人体三维重建看到自己和其他社交对象;此外,本发明还可用于vr社交、会议、游戏以及医学研究等领域。

一种基于实时人体三维重建的vr社交系统,包括:

终端,用于三维场景选择、在区域内采集用户未带头显时的人体离线编码数据、在区域内实时采集人体编码数据和显示融合场景的三维人体;

云端,用于在所述终端选择的场景中重建人体,接收由所述终端采集的人体离线编码数据和三维场景选择指令;

所述云端,离线解码分类人体离线编码数据、由解码分类得到的离线数据重建三维人体模型且在三维人体模型中获得脸部三维坐标范围;

所述云端,还同步接收由所述终端采集的人体编码数据和定位数据、解码分类人体编码数据、由解码分类得到的实时数据重建实时三维人体、由三维人体模型脸部配准并替换实时三维人体脸部且由定位数据导入配准的实时三维人体至选择指令对应的三维场景;

所述终端,同步接收由所述云端打包输出关于配准实时三维人体和三维场景的融合数据流。

上述方案中,所述终端,还采集其用户的位姿数据且由位姿数据按视角显示融合数据流。

上述方案中,所述终端,包括:

rgb-d传感器数据获取模块,采集区域内rgb图像、深度图像和人体骨骼点数据;

第一数据打包编码模块,用于与云端交互的打包编码接口;

第一初始化模块,采集并关联各个rgb-d传感器之间的位置转换矩阵和rgb-d传感器的相机内参至由rgb-d传感器数据获取模块所采集的rgb图像、深度图像和人体骨骼点数据,生成人体编码数据或人体离线编码数据且通过第一数据打包编码模块传输人体编码数据或人体离线编码数据至云端;

第一数据解码分类模块,用于与云端交互的解码分类接口,对云端所输出配准实时三维人体的点云数据和三维场景的点云数据解码分类,且传输解码分类后三维场景的点云数据至第一初始化模块;

头显数据获取模块,采集位姿数据;

头显数据处理模块,用于视角处理和显示驱动,由位姿数据按视角在三维场景内驱动显示配准实时三维人体。

上述方案中,所述云端,包括:

第二数据解码分类模块,用于与终端交互的解码分类接口;

第二数据打包编码模块,用于与终端交互的打包编码接口;

三维场景数据库重建模块,用于提供三维场景选择,对应选择指令重建三维场景;

第二初始化模块,调用第二数据解码分类模块对位置转换矩阵、相机内参、rgb图像、深度图像和人体骨骼点数据解码分类,生成三维人体模型并设置其初始三维坐标,保存位置转换矩阵、相机内参和三维人体模型的骨骼点数据,且调用第二数据打包编码模块传输三维场景的点云数据至终端;

实时三维人体重建模块,由rgb图像、深度图像、所保存的位置转换矩阵和相机内参生成实时三维人体的点云数据;

实时三维人体重建优化模块,使用三维人体模型脸部和实时三维人体脸部骨骼点将三维人体模型脸部配准并替换实时三维人体脸部,生成配准实时三维人体的点云数据;

人体实时定位模块,用于获取三维场景中用户的三维坐标,由第二初始化模块设定的初始三维坐标和配准实时三维人体的点云数据获得用户当前的位置数据;

所述第二数据打包编码模块,打包编码后同步传输配准实时三维人体的点云数据和位置数据至终端。

一种基于实时人体三维重建的vr社交方法,包括以下步骤:

步骤1、获取用户未带头显时的人体离线编码数据,再根据人体离线编码数据在三维场景中建立出三维人体模型并确定出三维人体模型的脸部三维坐标范围和脸部骨骼点数据;

步骤2、选择用户的初始位置并获取用户带头显时的人体编码数据,接着根据人体编码数据建立出实时三维人体,然后使用三维人体模型脸部配准并替换实时三维人体脸部,获得配准实时三维人体,根据初始位置对应用户将配准实时三维人体导入至三维场景。

上述方法中,所述的步骤1,包括以下步骤:

步骤1.1、选择用户的初始位置后,在终端,采集用户未带头显时的rgb图像、深度图像、传感器的相机内参和人体模型骨骼点数据,并通过立体标定获取传感器之间的位置转换矩阵;

步骤1.2、在终端,将rgb图像、深度图像、传感器相机内参、位置转换矩阵和人体模型骨骼点数据打包编码,生成人体离线编码数据并发送至云端;

步骤1.3、在云端,对人体离线编码数据依次进行解码、分类和人体模型三维重建,得到三维人体模型的骨骼点数据,再保存三维人体模型的骨骼点数据、传感器的相机内参和位置转换矩阵,并确定出三维人体模型的脸部三维坐标范围和脸部骨骼点数据。

上述方法中,所述的步骤2,包括以下步骤:

步骤2.1、在终端,采集并打包编码用户带头显时的rgb图像和深度图像,生成人体编码数据并发送至云端;

步骤2.2、对人体编码数据依次进行解码和分类,在云端得到rgb图像和深度图像;

步骤2.3、利用相机内参把深度图像和rgb图像配准,接着对深度图像进行平滑、降噪,然后利用降噪的深度图像结合所保存的相机内参和位置转换矩阵对rgb图像进行人体前景提取操作,得到实时三维人体的点云数据;

步骤2.4、在脸部三维坐标范围内,利用三维人体模型脸部和实时三维人体脸部骨骼点数据将三维人体模型脸部和实时三维人体脸部进行粗配准、icp精配准和去冗余,得到配准实时三维人体;

步骤2.5、根据初始位置对应用户将配准实时三维人体导入至三维场景。

上述方法中,所述的步骤2.3,在得到实时三维人体的点云数据之前还包括步骤:

步骤①、在人体前景提取操作后,生成各个视角的实时三维人体点云数据;

步骤②、对各个视角的实时三维人体点云数据进行降噪;

步骤③、结合位置矩阵对降噪后各个视角的点云数据进行粗配准,然后利用全局配准对各个视角的点云数据进行精配准,再对精配准后各个视角的点云数据去冗余后,得到完整的实时三维人体的点云数据。

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

本发明克服了现有技术中采集域内在社交对象不取下头显时用户本身无法看到社交对象脸部或在不取下头显时用户本身无法看到自己脸部的技术壁垒;

(1)本发明将实时人体三维重建方法应用到vr社交系统,与利用骨骼追踪和表情识别方法相比具有更强的沉浸感和真实性;

(2)本发明中通过人体定位和位姿获取方法,让每个社交对象不仅能够通过脚步移动自由控制其在虚拟场景中的位置,还能通过头部姿态变化自由控制在头显中看到的视角;

(3)本发明中使用了初始化三维人体模型重建的方法,解决了在人体实时三维重建过程中头显遮挡所导致的人脸缺失问题;

(4)此外,本发明还提出了采用rgb-d传感器对任意真实场景进行三维重建来建立场景数据库,并且应用到vr社交系统中。

附图说明

图1为本发明的技术流程图;

图2为三维场景数据库建立过程示意图;

图3为初始化终端获取场景点云过程示意图;

图4为初始化人体模型、传感器相机参数、传感器之间的位置转换矩阵和人体模型骨骼点过程示意图;

图5为云端获取终端rgb-d传感器数据过程示意图;

图6为实时人体定位过程示意图;

图7为实时人体三维重建过程示意图;

图8为实时人体三维重建优化过程示意图;

图9为人体点云导入场景过程示意图;

图10为实时头显位姿获取过程示意图。

具体实施方式

本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。

一种基于实时人体三维重建的vr社交系统。系统主要包含终端和云端两大部分。

首先,终端部分包含初始化模块、rgb-d传感器数据获取模块、头显数据获取模块、头显数据处理模块、终端数据打包编码模块和终端数据解码分类模块。初始化模块的作用是获取rgb图像、深度图像、传感器相机内参、传感器之间的位置转换矩阵和人体模型骨骼点数据,打包编码后同步传输到云端,解码云端传输过来的三维场景的点云数据。rgb-d传感器数据获取模块的作用是获取rgb图像、深度图像和人体骨骼点数据。头显数据获取模块的作用是获取头显位姿数据。头显数据处理模块作用是通过终端处理器对头显姿势数据进行处理,让社交对象带上头显后能实现对视角的自由控制。终端数据打包编码模块作用是通过终端处理器对rgb图像、深度图像和人体骨骼点数据进行打包编码,然后同步传输到云端。终端数据解码分类模块的作用是通过终端处理器同步获取所有人体点云数据和位置数据,然后解码分类。

然后,云端部分包含三维场景数据库重建模块、初始化模块、云端数据解码分类模块、实时三维人体重建模块、实时三维人体重建优化模块、人体实时定位模块和云端数据打包编码模块。三维场景数据库重建模块主要通过rgb-d传感器扫描和unity3d场景搭建来建立三维场景重建数据库。初始化模块的作用是把终端传输过来的rgb图像、深度图像、传感器相机内参、传感器之间的位置转换矩阵和人体模型骨骼点数据在云端处理器同步获取和解码分类,完成人体模型三维重建,把传感器相机内参、传感器之间的位置转换矩阵和人体模型骨骼点数据保存在云端,设置所有社交对象在三维场景的初始位置,对三维场景编码并同步传输到终端。云端数据解码分类模块的作用是把终端传输过来的rgb图像、深度图像和人体骨骼点数据在云端处理器同步获取,然后解码分类。实时三维人体重建模块的作用是利用rgb图像、深度图像、云端保存的传感器相机内参和传感器之间的位置转换矩阵数据来实现实时三维人体重建。实时三维人体重建优化模块的作用是利用三维人体重建模型来解决实时三维人体重建导致的脸部点云缺失问题。实时人体定位模块的作用是利用人体骨骼点数据和社交对象在三维场景的初始位置来获取社交对象的场景三维坐标。云端数据打包编码模块的作用是通过云端处理器对人体点云数据和位置数据编码打包,并且同步传输到终端。

下面结合附图对本发明做进一步说明:

实施例1

图1描述了本发明的具体实施流程。由于本系统采用的是实时人体三维重建的方法来实现vr社交,为了减少终端处理器的负担,本发明采用在云端实现场景三维重建和人体三维重建的方式。此外,为了完成三维场景数据库的建立、终端获取三维场景点云、三维人体模型重建,保存传感器相机内参、传感器之间的位置转换矩阵、人体模型骨骼点数据,设置所有社交对象在三维场景的初始位置,首先要对系统进行初始化。

(1)三维场景数据库建立过程如图2,场景重建是指在vr社交系统活动之外的时间来进行数据采集实现场景重建。第一种方法是通过移动rgb-d传感器对真实场景实时扫描,然后重建出整个真实场景;第二种方法是利用unity3d平台搭建虚拟场景。并且利用这两种场景重建方法重建出多种类型和不同风格的三维场景,实现三维场景数据库的建立。

(2)初始化终端获取场景点云过程如图3,在vr社交活动建立时,首先,活动发起者会在三维场景数据库中为所有社交对象选择一个三维场景;然后,云端会把发起者选择的三维场景编码;接着,传输到终端解码;最后,等待三维人体点云的导入。

(3)初始化人体模型、传感器相机参数、多个传感器位置转换矩阵和人体模型骨骼点过程如图4,整体步骤可以分为:1.在社交对象没有带头显的情况下通过rgb-d传感器采集rgb图像、深度图像、传感器相机内参和人体模型骨骼点数据;2.通过立体标定来获取传感器之间的位置转换矩阵;3.打包编码rgb图像、深度图像、传感器相机内参、传感器之间的位置转换矩阵和人体模型骨骼点数据;4.把打包和编码的数据传输到云端;5.解码分类出所有数据;6.在云端完成人体模型三维重建,保存传感器相机内参、传感器之间的位置转换矩阵和人体模型骨骼点数据;7.人体模型三维重建和实时人体三维重建的过程是一样的,在实时人体三维重建过程中会详细说明。

完成人体模型和传感器相机参数初始化后,最后还要初始化所有社交对象在三维场景的初始位置,本发明提供和社交对象人数相同的位置,通过社交对象自由选择来确定其在三维场景的初始位置。

vr社交系统初始化完成之后,系统接下来会实现实时数据传输、实时人体定位、实时人体三维重建和实时头显位姿获取等过程。

(4)云端获取终端数据过程如图5,首先,从rgb-d传感器获取rgb图像、深度图像和人体骨骼点数据;然后,进行统一打包编码;最后,将处理后的数据同步传输到云端。

云端获取终端数据后,需要利用获取的终端数据和初始化数据实现实时人体定位和实时人体三维重建。获取的终端数据包含rgb图像、深度图像和人体骨骼点数据。初始化数据包含传感器相机内参、传感器之间的位置转换矩阵、人体模型骨骼点和社交对象初始位置数据。

(5)实时人体定位过程如图6,首先,把终端传输过来的数据同步接收;然后,经过解码后得到人体骨骼点数据;最后,人体骨骼点数据包含了rgb相机坐标系下人体骨骼点的三维坐标,根据初始化时社交对象选择的初始位置,把rgb相机坐标系下人体骨骼点的三维坐标转换到场景坐标系下的三维坐标。

(6)实时人体三维重建过程如图7,整体步骤可以分为:1.把终端传输过来的数据同步接收并解码分类出rgb图像和深度图像;2.利用传感器相机内参把深度图像配准到rgb图像;3.对配准的深度图进行平滑和降噪;4.利用处理过的深度图像实现rgb图像人体前景提取;5.通过人体前景处理的rgb图像、处理过的深度图像和相机内外参数数据生成单个视角的人体点云;6.对多个视角的人体点云进行降噪;7.利用传感器之间的转换矩阵对多个视角点云进行粗配准;8.利用全局配准对多视角点云进行精配准;9.对配准后的点云去冗余生成完整的人体点云。

由于头显对脸部有遮挡,导致实时人体三维重建不能获取脸部点云信息,本发明利用初始时人体模型三维重建的人体三维脸部点云来修复实时重建的人体三维脸部点云,完成实时人体三维重建的优化。

实时人体三维重建优化过程如图8,整体步骤可以分为:1.通过人体模型骨骼点获取人体模型点云脸部的三维坐标范围,然后利用脸部三维坐标范围提取人体模型的脸部点云;2.把终端传输过来的数据同步接收并解码分类出人体骨骼点数据,然后利用脸部三维坐标范围去掉人体的脸部点云;3.利用人体模型脸部骨骼点和人体脸部骨骼点的三维坐标,实现人体模型的脸部点云和人体的脸部区域间的粗配准。4.利用icp方法对点云进行精配准;9.对配准后的人体点云去冗余;

在完成实时人体定位和实时人体三维重建优化后,需要把云端处理后的数据发送给终端,并在头显中显示。

(7)人体点云导入场景过程如图9,首先,把实时人体定位后的人体位置数据和实时人体三维重建优化后的人体三维点云打包编码,并同步传输到终端;然后,在终端同步接收并解码分类出人体位置数据和人体三维点云;最后,根据人体位置数据把人体三维点云数据导入三维场景中。

实时头显位姿获取过程如图10,首先,采集头显中陀螺仪的数据;然后,对陀螺仪数据进行位姿处理;最后,根据处理结果对头显中显示的视角进行实时控制。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

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