一种三维通信系统中人物模型的定位方法及设备与流程

专利2022-05-09  128


本申请要求在2021年3月31日提交中华人民共和国知识产权局、申请号为202110352074.1、发明名称为“一种三维通信系统中人物模型的定位方法及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。

本申请涉及人机交互技术领域,尤其涉及一种三维通信系统中人物模型的定位方法及设备。



背景技术:

增强现实(augmentedreality,ar)远程三维全息通信交互系统中,当设计的虚拟空间中仅有人物模型时,一般会根据虚拟空间的设计将三维重建的人物模型放置在虚拟空间中的固定位置;当设计的虚拟空间中存在其他物体(比如会议桌椅)时,往往将三维重建的人物模型放置在虚拟空间中与其他物体相对的位置。

相关技术中,将三维重建的人物模型放置于设定的空间位置上,但此方案存在以下不足:1)在采集模型数据时,考虑到人物模型绘制时对位置因素的限制,需要严格设置采集端设备的采集参数,而采集高度、采集角度、采集人物的位置等采集参数与虚拟空间严格匹配,造成了采集重建的限制;2)在模型渲染过程中,需要设计人员对重建模型进行手动调整,比如将人物模型调整至预设位置,或者将人物模型调整至虚拟空间中与其匹配的其他物体的相应位置上;3)在用户使用ar眼镜进行三维通讯时,由于预先设定了人物模型的位置,不能根据真实环境进行自适应调整,有可能会与真实环境中的物体产生重叠,增加交互损耗;4)如果ar眼镜有手势识别功能,则根据用户手势调整人物模型在空间放置的位置,而如果ar眼镜没有手势识别,则会只能固定视点、固定位置放置人物模型,降低用户体验。

因此,需提供一种人物模型的定位方法,以解决远程三维通信系统交互过程中人物模型定位存在的问题。



技术实现要素:

本申请提供了一种三维通信系统中人物模型的定位方法及设备,用以自适应定位三维重建的人物模型的位置,提高定位的准确性。

第一方面,本申请提供一种三维通信系统中人物模型的定位方法,包括:

扫描用户所在的真实环境,得到三维点云数据;

根据所述三维点云数据,确定所述真实环境的地面,并根据所述地面建立虚拟空间;

检测所述虚拟空间是否包含障碍物,并根据检测结果,对所述虚拟空间进行区域划分,所述障碍物用于阻碍三维重建的各个人物模型的运动;

将所述各个人物模型放置于划分后的相应位置区域并显示。

可选的,在确定所述虚拟空间包含所述障碍物之后,还包括:

根据所述三维点云数据,确定同一平面包含的数据点数;

将包含的数据点数大于设定阈值的各个平面,确定为所述障碍物的平面;

根据所述障碍物的各个平面,确定所述障碍物的外接立方体;

根据所述障碍物的位置信息,将所述外接立方体放置至于所述虚拟空间中。

可选的,所述根据检测结果,对所述虚拟空间进行区域划分,包括:

若所述检测结果为所述虚拟空间不包含障碍物,则获取三维重建的人物模型的数量,并根据所述人物模型的数量,对所述虚拟空间进行区域划分;或者

若所述检测结果为所述虚拟空间包含障碍物,则获取三维重建的各个人物模型所需的空间范围,并根据所述各个人物模型所需的空间范围,对所述虚拟空间进行区域划分,其中所述空间范围是根据所述各个人物模型的身高和预设的移动阈值确定的。

可选的,若所述检测结果为所述虚拟空间包含障碍物,则获取三维重建的各个人物模型所需的空间范围,并根据所述各个人物模型所需的空间范围,对所述虚拟空间进行区域划分,包括:

若所述各个人物模型所需的空间范围,与所述障碍物的外接立方体存在重叠区域,则将所述重叠区域等分为各个子区域,并将所述各个人物模型各自的非重叠区域和相邻的子区域,确定为相应人物模型划分后的区域;

若所述各个人物模型所需的空间范围,与所述障碍物的外接立方体不重叠区域,则将所述各个人物模型所需的空间范围,确定为划分后的区域。

可选的,所述根据所述三维点云数据,确定所述真实环境的地面,包括:

从所述三维点云数据中随机选取多个点云数据,确定初始平面;

根据剩余的三维点云数据到所述初始平面的距离,确定所述初始平面的损失值;

根据所述损失值与设定损失阈值的比较结果,调整所述初始平面的参数,直至确定出的损失值小于所述设定损失阈值时,将调整后初始平面确定为所述真实环境的地面。

可选的,将所述各个人物模型放置于划分后的相应位置区域之后,还包括:

将所述各个人物模型放置的位置区域进行标识,以指示控制相应的人物模型的移动范围。

第二方面,本申请实施例提供一种显示设备,包括摄像头、存储器、处理器;

所述摄像头,与处理器连接,被配置为扫描用户所在的真实环境;

所述显示器,与处理器连接,被配置为显示定位后的结果;

所述存储器,与处理器连接,被配置为存储计算机程序指令;

所述处理器,被配置为根据所述计算机程序指令,执行以下操作:

基于扫描结果,得到三维点云数据;

根据所述三维点云数据,确定所述真实环境的地面,并根据所述地面建立虚拟空间;

检测所述虚拟空间是否包含障碍物,并根据检测结果,对所述虚拟空间进行区域划分,所述障碍物用于阻碍三维重建的各个人物模型的运动;

将所述各个人物模型放置于划分后的相应位置区域。

可选的,在确定所述虚拟空间包含所述障碍物之后,所述处理器还被配置为:

根据所述三维点云数据,确定同一平面包含的数据点数;

将包含的数据点数大于设定阈值的各个平面,确定为所述障碍物的平面;

根据所述障碍物的各个平面,确定所述障碍物的外接立方体;

根据所述障碍物的位置信息,将所述外接立方体放置至于所述虚拟空间中。

可选的,所述处理器根据检测结果,对所述虚拟空间进行区域划分,具备被配置为:

若所述检测结果为所述虚拟空间不包含障碍物,则获取三维重建的人物模型的数量,并根据所述人物模型的数量,对所述虚拟空间进行区域划分;或者

若所述检测结果为所述虚拟空间包含障碍物,则获取三维重建的各个人物模型所需的空间范围,并根据所述各个人物模型所需的空间范围,对所述虚拟空间进行区域划分,其中所述空间范围是根据所述各个人物模型的身高和预设的移动阈值确定的。

可选的,所述处理器具体被配置为:

若所述各个人物模型所需的空间范围,与所述障碍物的外接立方体存在重叠区域,则将所述重叠区域等分为各个子区域,并将所述各个人物模型各自的非重叠区域和相邻的子区域,确定为相应人物模型划分后的区域;

若所述各个人物模型所需的空间范围,与所述障碍物的外接立方体不重叠区域,则将所述各个人物模型所需的空间范围,确定为划分后的区域。

可选的,所述处理器具体被配置为:

从所述三维点云数据中随机选取多个点云数据,确定初始平面;

根据剩余的三维点云数据到所述初始平面的距离,确定所述初始平面的损失值;

根据所述损失值与设定损失阈值的比较结果,调整所述初始平面的参数,直至确定出的损失值小于所述设定损失阈值时,将调整后初始平面确定为所述真实环境的地面。

可选的,所述处理器具体被配置为:

将所述各个人物模型放置的位置区域进行标识,以指示控制相应的人物模型的移动范围。

本申请的上述实施例中,对用户所在的真实环境进行扫描,得到三维点云数据,根据三维点云数据,建立与真实环境相匹配的虚拟空间,通过对用户所在真实环境的感知建立虚拟空间,可以提高远程三维通信过程中用户的沉浸感;根据虚拟空间是否包含阻碍人物模型运动的障碍物,对虚拟空间进行区域划分,将各个人物模型自适应的放置于划分后的相应位置区域,整个定位过程无需用户手动调整,相比于将人物模型放置于预设位置,可以提高模型定位的准确性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1示例性示出了本申请实施例提供的一种三维重建系统架构图;

图2示例性示出了本申请实施例提供的应用场景示意图;

图3示例性示出了本申请实施例提供的一种三维通信系统中人物模型定位的方法流程图;

图4a示例性示出了本申请实施例提供的虚拟空间划分示意图;

图4b示例性示出了本申请实施例提供的另一虚拟空间划分示意图;

图4c示例性示出了本申请实施例提供的人物模型的活动范围示意图;

图5示例性示出了本申请实施例提供的完整的人物模型定位方法流程图;

图6示例性示出了本申请实施例提供的显示设备的功能结构图;

图7示例性示出了本申请实施例提供的显示设备的硬件结构图。

具体实施方式

为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。

基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。

需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。

此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

本申请中使用的术语“模块”,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。

目前,增强现实三维通信交互系统中人物模型的定位方法仍处于新兴探索阶段,整体技术架构可分为数据采集、数据传输、应用渲染三部分,分别对应人体、物体模型的三维采集、重建,云平台的编解码传输,及三维渲染。目前市面上的相关产品中,针对人物模型的定位,主要通过后端编码建立预设位置与人物模型的对应关系,然后将人物模型放置在预设位置处,未对用户所在真实环境进行感知,用户沉浸感较差。

例如,用户a和用户b位于不同的交互场景,在三维通信的过程中,在用户b所在的异地场景中摆放与用户a的场景相同的物体,设置同样的环境,将预设位置与人物模型的对应关系编码到图像二维码中,通过图像二维码标签的方法进行模型的定位。

本申请实施例提供一种三维通信系统中人物模型的定位方法及设备。ar设备配置于摄像头,可以扫描用户所在的真实环境,获得三维点云数据;根据三维点云数据,对用户所在的真实环境进行感知,采用随机抽样一致(randomsampleconsensus,ransac)算法进行地面检测,根据检测的地面建立虚拟空间,根据虚拟空间是否包含阻碍各个人物模型运动的障碍物,对虚拟空间进行区域划分,进一步地,将各个人物模型放置于划分后的相应位置区域。通过对真实环境的感知建立虚拟空间,提高了用户远程三维通信交互过程中的沉浸感,且定位过程无需手动调整,可自适应定位人物模型在空间中的位置,提高了定位过程的准确性。

同时,由于对用户所在的真实环境进行感知,根据用户所在的真实环境将相应的人物模型放置于相应的位置,相对于将人物模型放置于预设位置处,无需考虑到人物模型绘制时对位置因素的限制,降低了对采集端设置的要求。

下面结合附图详细描述本申请的实施例。

图1示例性示出了本申请实施例提供的一种定位人物模型的系统结构图,应用于远程三维通信交互系统。如图1所示,该系统包括采集端设备101、传输端设备102、渲染显示端设备103。

采集端设备101包括rgbd相机101_1和主机/工作站101_2,其中,rgbd相机101_1可以为azurekinectdk相机或者realsense相机等,rgbd相机101_1用于采集用户及用户所在真实环境的深度图像和rgb图像,并通过配套的主机/工作站101_2进行相关运算,得到用于三维重建人物和物体模型的几何数据和实时的运动姿态数据。

传输端设备102,用于将采集端设备采集的几何数据和运动姿态数据传输给渲染显示端设备103。其中,传输端设备102可以是独立的物理服务器,或者,多个物理服务器构成的服务器集群或者分布式系统,或者,提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、以及大数据和人工智能平台等基础云计算服务的云服务器等。

渲染显示端设备103,用于根据接收的几何数据和运动姿态数据进行人体模型的渲染,并放置在虚拟空间的相应位置处。具体的,扫描用户所在的真实环境,得到三维点云数据,根据三维点云数据,确定真实环境的地面,并根据地面建立虚拟空间;检测虚拟空间是否包含障碍物,并根据检测结果,对虚拟空间进行区域划分,障碍物用于阻碍三维重建的各个人物模型的运动;将各个人物模型放置于划分后的相应位置区域。其中,渲染显示端设备103包括电视、手机、vr/ar头戴式显示设备。

需要说明的是,图1示出的系统架构可根据不同的使用场景进行部署,比如在直播场景中,主播端设置本系统的采集端设备,用户可以通过vr/ar眼镜、手机、电视等进行重建模型的浏览;再比如在会议场景中,远程会议的两个会议室需要同时布置采集端设备与渲染显示端设备,进行两个会议室内的实时三维通信。

基于图1示出的系统架构,图2示例性示出了本申请实施例提供的应用场景示意图。如图2所示,用户端1至用户端4进行实时远程三维通信,用户端1至用户端4分别布置了采集端设备(包括rgbd相机和主站/工作站)和渲染显示端设备(包括电视、手机、vr/ar头显的全部或部分),远程三维通信过程中,用户端1的模型数据和位置数据可上传到云端服务器,用户端2至用户端4从云端服务器下载用户端1的人物模型数据并渲染对应的人物模型,将渲染后的人物模型放置于虚拟空间中进行同步显示,同理,用户端1、用户端3和用户端4也可同步显示用户端2的人物模型在虚拟空间中的位置,依此类推。

需要说明的是,图2仅是多人远程三维通信的一种示例,本申请实施例对远程三维通信的用户端数不做限制性要求。

基于图1和图2示出的结构图,图3示例性示出了本申请实施例提供的一种三维通信系统中人物模型定位的方法流程图,该流程主要由三维重建系统中的渲染显示端设备执行,主要包括以下几步:

s301:扫描用户所在的真实环境,得到三维点云数据。

该步骤中,利用渲染显示端设备的摄像头扫描用户所在的真实环境。

在一些实施例中,使用的摄像头为双目摄像头时,利用双目摄像头拍摄的两张图像,提取图像中的深度信息,得到三维点云数据。在另一些实施例中,使用的摄像头为深度摄像头时,则直接得到三维点云数据。

s302:根据三维点云数据,确定真实环境的地面,并根据地面建立虚拟空间。

该步骤中,可采用ransac算法确定真实环境的地面。ransac算法可以根据一组包含异常数据的样本数据集,计算数学模型参数,得到有效样本数据。ransac算法的基本假设是样本中包含正确数据(也称为内点(inliers),可以被模型描述的数据),也包含异常数据(也称为外点(outliers),无法被数学模型描述的数据,与模型函数的距离大于设定阈值),即样本数据集中含有噪声。这些异常数据可能是由于错误的测量、错误的假设、错误的计算等产生的。ransac算法通过给定一组正确数据,可以计算出符合正常数据的模型参数。

针对真实环境中的地面(平面),地面上的凹凸点对应的三维点云数据为有效数据(正确数据),与理想平面数据的偏差小于偏差阈值,而地面上的障碍物、深坑等大的凹凸点对应的三维点云数据为无效数据(异常数据),与理想平面数据的偏差大于等于偏差阈值。根据三维点云数据中的有效数据和无效数据,采用ransac算法进行地面拟合。具体的,从三维点云数据中随机选取多个点云数据(比如3个),确定一个初始平面,根据剩余的三维点云数据到初始平面的距离,确定初始平面的损失值,将确定的损失值与设定损失阈值的进行比较,若损失值大于设定损失阈值,则调整初始平面的参数,直至确定出的损失值小于设定损失阈值时,停止调整,并将调整后初始平面确定为真实环境的地面。其中,损失值越小,表明地面包含的三维点云数据中的内点(有效数据)越多,损失值越大,表明地面包含的三维点云数据中的外点(无效数据)越多。

本申请的实施例中,采用ransac算法确定真实环境的地面时,意在选取包含的三维点云数据点数最多的平面,而最小二乘法拟合法在拟合平面时,是对所有数据进行拟合,当包含的无效数据点较多时,拟合效果较差,因此,采用ransac算法确定地面,相对于最小二乘拟合算法,可以提高地面拟合的准确性。

s303:检测虚拟空间是否包含障碍物,障碍物用于阻碍三维重建的各个人物模型的运动。

在该步骤中,为了模拟用户所在的真实环境,虚拟空间中可设置有物体(也称为障碍物),由于虚拟空闲中的物体可能会阻碍交互过程中人物模型的运动,因此,可根据三维点云数据,确定虚拟空间是否包含障碍物,并根据检测结果,对虚拟空间进行区域划分。若检测结果为虚拟空间不包含障碍物,则执行s304,否则执行s305。

s304:获取三维重建的人物模型的数量,并根据人物模型的数量,对虚拟空间进行区域划分。

例如,虚拟空间中不包含障碍物,获取的人物模型的数量为2,分别记为人物模型a、人物模型b,如图4a所示,将虚拟空间进行2等分,得到两个空间区域,将人物模型a放置于空间区域a中,将人物模型b放置于空间区域b中。

在一些实施例中,三维重建的人物模型的数量可以由采集端设备确定后,通过云端传输给渲染显示设备。比如,采集端设备安装有人体跟踪工具包,基于该工具包可直接输出人物模型的数量,或者,采集端设备使用开源检测库检测采集的图像,确定人物模型的数量。

在另一些实施例中,三维重建的人物模型数量可由渲染显示端设备确定。具体的,渲染显示端设备通过云端获取采集端设备采集的人物模型的几何数据和运动位姿数据,根据获取的几何数据和运动位姿数据,确定人物模型的数量。

具体实施时,可根据采集端设备和渲染显示端设备的处理器能力,选择由哪一设备确定人物模型数量。

s305:获取三维重建的各个人物模型所需的空间范围,并根据各个人物模型所需的空间范围,对虚拟空间进行区域划分,其中空间范围是根据各个人物模型的身高和预设的移动阈值确定的。

该步骤中,虚拟空间包含障碍物,则需要确定障碍物的空间范围。具体的,渲染显示端设备根据三维点云数据,确定同一平面包含的数据点数,将包含的数据点数大于设定阈值的各个平面,确定为障碍物的平面,根据障碍物的各个平面,确定障碍物的外接立方体,根据障碍物的位置信息,将外接立方体放置至于虚拟空间中。其中,障碍物的位置信息可根据三维点云数据确定,障碍物平面的确定方式与地面的确定方式相同,在此不再重复。

在执行s305时,其中,人物模型所需的空间范围可由采集端设备确定,也可由渲染显示端设备确定。下面以采集端设备为例说明确定一个人物模型所需的空间范围的方式。具体的:

由于人物模型活动的空间范围,与rgbd相机的视场角和可探测范围有关,因此,可预先对rgbd相机进行标定,确定rgbd相机的内外参数。采集端设备根据rgbd相机的内外参数以及采集的图像,确定人物模型的身高,根据rgbd相机的可探测范围设定人物模型的移动阈值,按照设定的移动阈值,将人物模型在虚拟空间的初始位置处开始移动,确定人物模型的移动面积,将人物模型的身高和移动面积的乘积,确定为人物模型所需的空间范围,并将确定的空间范围通过云端传输给渲染显示端设备。

例如,通过rgbd相机和采集的图像确定人物模型的身高为1.8米,设定的移动阈值为前后、左右之间的移动间距1米,则确定人物模型所需的空间范围为1.8立方米。

获取到三维重建的各个人物模型所需的空间范围后,与虚拟空间中的障碍物进行碰撞检测,根据碰撞检测结果对虚拟空间进行区域划分。具体的:

确定各个人物模型所需的空间范围,与障碍物的外接立方体是否存在重叠区域,若存在,表明障碍物可能会阻碍交互过程中人物模型的运动,则将重叠区域等分为各个子区域,并将各个人物模型各自的非重叠区域和相邻的子区域,确定为相应人物模型划分后的区域。

例如,如图4b所示,人物模型a所需的空间范围用细虚线表示(空间区域a),障碍物a的外接立方体用细实线表示(空间区域c),空间区域a与空间区域c存在重叠区域,在图4b中用粗虚线表示,则将重叠区域进行二等分,得到两个子区域,将人物模型a的非重叠区域和相邻的子区域确定为相应人物模型划分后的区域,在图4b中用粗虚线表示。

若各个人物模型所需的空间范围,与障碍物的外接立方体不重叠区域,则将各个人物模型所需的空间范围,确定为划分后的区域。

例如,如图4b所示,人物模型b所需的空间范围用细虚线表示(空间区域b),障碍物a的外接立方体用细实线表示(空间区域c),空间区域b与空间区域c不存在重叠区域,则将空间区域b确定为人物模型b划分后的区域。

本申请的实施例中,可采用aabb包围盒或obb包围盒算法检测三维空间中人物模型的空间区域与障碍物的外接立方体是否重叠,为了提高处理效率,可将三维空间中两对象的相交问题可转化到二维或一维空间来处理。

本申请的实施例中,将虚拟空间的人物模型所需的空间范围和障碍物立方体的重叠问题,转化到一维空间进行处理。当且仅当两个空间区域在三个坐标轴上的投影区段都有重叠时,两个空间区域重叠。以aabb算法为例,由于aabb是凸多面体,因此,若两个空间区域在三个坐标轴上的投影区段均重叠,那么这两个区域必相交。

由aabb算法可知,在三维空间,具有最小和最大坐标值的点必是顶点,且两个最小坐标值的点(简称为最小顶点)之间的连线,在三个坐标轴上的投影值是相应坐标轴上最小的投影线段,两个最大坐标值的点(简称为最大顶点)之间的连线,在三个坐标轴上的投影值是相应坐标轴上最大的投影线段。这样,判断两个空间区域否相交,可通过分别比较两个空间区域的最小顶点和最大顶点的坐标大小即可。

例如,人物模型的空间区域的最小顶点坐标值,大于障碍物的立方体的最小顶点的坐标值,人物模型的空间区域的最大顶点坐标值,小于障碍物的立方体的最大顶点的坐标值,则人物模型的空间区域与障碍物的立方体存在重叠区域。

需要说明的是,本申请实施例对重叠区域的检测顺序不做限制性要求,可按照各个人物模型的标号顺序,依次判断与障碍物的立方体是否重叠,也可并行判断各个人物模型与障碍物的立方体是否重叠。

需要说明的是,当两个人物模型所需的空间范围存在重叠时,也可将重叠区域等分后,重新确定各个人物模型所需的空间范围。

s306:将各个人物模型放置于划分后的相应位置区域并显示。

该步骤中,对虚拟空间区域进行划分,将各个人物模型放置于相应的位置区域,以保证各个人物模型所需的空间范围之间,以及各个人物模型所需的空间范围与障碍物的立方体不再重叠。

在一些实施例中,将各个人物模型放置于划分后的相应位置区域之后,还可将各个人物模型放置的位置区域进行标识,以指示控制相应的人物模型的移动范围。本申请实施例对标识方式不做限制性要求,比如,可以通过设置填充区域进行标识,也可通过箭头进行标识。

如图4c所示,将人物模型a和人物模型b在虚拟空间中的位置区域用处实线标识,以指示交互过程中人物模型的移动范围,比如,当人物模型b靠近位置区域的右边缘时,可将人物模型b调整至相应位置区域的中心。

本身的上述实施例中,通过渲染显示端设置的摄像头,对用户所在的真实环境进行扫描,得到三维点云数据,根据三维点云数据进行平面拟合,确定真实环境中的地面并建立与真实环境相匹配的虚拟空间,同时,基于三维点云数据还可检测虚拟空间中是否包含障碍物,当不包含时,根据人物模型的数量对虚拟空间进行划分,当包含时,根据各个人物模型所需的空间范围对虚拟空间进行划分,保证不与虚拟空间中的障碍物发生碰撞;进一步的,将各个人物模型自适应的放置于划分后的相应位置区域,由于虚拟空间是根据用户所在的真实环境建立的,可以提高交互过程中用户的沉浸感与体验感,相比于将人物模型放置于预设位置,提高了模型定位的准确性。

基于图1所示的系统架构,图5详细描述本申请实施例提供的人物模型的定位完整流程图,如图5所示,该流程主要包括:

s501:采集端设备采集用户的深度图像并去噪。

该步骤中,远程三维通信过程中,采集端设备采集交互过程中用户运动的深度图像,并对采集的深度图像进行去噪处理,其中深度图像可以由采集端设备中的rgbd相机采集。

s502:采集端设备从采集的深度图像中提取三维点云数据并进行预处理。

该步骤中,直接深度图像中提取三维点云数据,由于提取的三维点云数据中存在噪声且数据冗余量较大,为后续模型重建带来不便,因此需进行预处理操作,预处理包括点云滤波和过滤冗余数据等,得到干净、简化的三维点云数据。该步骤可由采集端设备中的主站/工作站执行。

s503:采集端设备根据预处理后的三维点云数据提取人物模型的几何数据以及运动位姿数据。

该步骤中,几何数据和运动位姿数据的提取采用已有的算法,例如kinectfusion算法、dynamicfusion算法、doublefusion算法、fusion4d算法等。具体的,通过符号距离函数进行人体几何表达,并通过移动立方体算法(marchingcube)提取人物模型的几何数据,采用基于骨架跟踪及参数化人物模型的联合运动跟踪方法,实现人物骨架运动及表面非刚性运动的联合求解,提取人物模型的运动位姿数据,联合求解可提升人体动作捕捉的精度。对人体骨架进行跟踪时,可采用点云分割算法进行人体组件的分割,识别得到人体(骨骼)关节点,其中,点云分割算法主要根据几何约束和统计规则制定严格的人工设计的特征,采用点云分割的主要过程是将3d点云数据分为多个非重叠区域,每个非重叠区域对应人体一个部件。点云分割算法包括但不限于mean-shift算法、k-means算法。该步骤可由采集端设备中的主站/工作站执行。

本申请实施例中,运动位姿数据中的姿态参数为人体关节点的轴角参数。

s504:采集端设备将几何数据和运动位姿数据上传到云端服务器。

该步骤中,可采用tcp协议将上传运动位姿数据,也可以采用tcp协议和私有协议上传运动位姿数据,上传数据的网络可选用高速5g网络。

s505:采集端设备确定环境中人物模型的数量以及人物模型所需的空间范围,并发送给云端服务器。

该步骤中,采集端设备安装有人体跟踪工具包,可以直接输出人物模型的数量,根据采集端设备中的rgbd相机的内外参数及采集的图像,确定人物模型的身高,以及根据rgbd相机的可探测范围对应的移动阈值,确定人物模型的移动距离,根据人物模型的身高和移动面加确定人物模型所需的空间范围。具体描述参见前述实施例s304和s305,再此不再重复。

s506:渲染显示端设备从云服务器接收采集端设备上传的运动位姿数据和几何数据,重建三维人物模型。

该步骤中,渲染显示端设备根据接收的运动位姿数据和几何数据重建三维人物模型,并在渲染显示端设备的本地渲染显示,或者使用unity和unreal渲染引擎在远程设备中进行渲染显示。

s507:渲染显示端设备扫描用户所在的真实环境,得到三维点云数据。

该步骤中,渲染显示端设备安装有摄像头,可扫描用户所在的真实环境,根据摄像头类型的不同,得到三维点云数据的方式也不同,具体描述参见s301,在此不在重复。

s508:渲染显示端设备根据三维点云数据,确定真实环境的地面,并根据地面建立虚拟空间。

该步骤中,可采用ransac算法进行地面拟合,具体描述参见s302,在此不在重复。

s509:渲染显示端设备检测虚拟空间是否包含障碍物,若是,执行s510,否则执行s511。

该步骤中,障碍物各个平面的检测方式与地面的检测方式一致,具体描述参见前述实施例,在此不在重复。

s510:渲染显示端设备从云端服务器获取三维重建的人物模型的数量,并根据人物模型的数量,对虚拟空间进行区域划分。

该步骤的详细描述参见s304,在此不在重复。

s511:渲染显示端设备从云端服务器获取三维重建的各个人物模型所需的空间范围,并根据各个人物模型所需的空间范围,对虚拟空间进行区域划分,其中空间范围是根据各个人物模型的身高和预设的移动阈值确定的。

该步骤的详细描述参见s305,在此不在重复。

s512:渲染显示端设备将各个人物模型放置于划分后的相应位置区域并显示。

该步骤中,各个人物模型的位置区域是根据人物模型的数量或各个人物模型所需的空间范围划分的,从而保证交互过程中,用户进行抬手、迈步等运动时,每个人物模型互不重叠。

基于相同的技术构思,本申请实施例提供一种显示设备,该显示设备可以实现图3所示的路程,并能达到相同的技术效果。

参加图6,该显示设备包括:

扫描模块601,用于扫描用户所在的真实环境,得到三维点云数据;

处理模块602,用于根据三维点云数据,确定真实环境的地面,并根据地面建立虚拟空间;

空间划分模块603,用于检测虚拟空间是否包含障碍物,并根据检测结果,对虚拟空间进行区域划分,障碍物用于阻碍三维重建的各个人物模型的运动;

定位显示模块604,用于将各个人物模型放置于划分后的相应位置区域并显示。

可选的,处理模块602还用于:

根据三维点云数据,确定同一平面包含的数据点数;

将包含的数据点数大于设定阈值的各个平面,确定为障碍物的平面;

根据障碍物的各个平面,确定障碍物的外接立方体;

根据障碍物的位置信息,将外接立方体放置至于虚拟空间中。

可选的,空间划分模块603具体用于:

若检测结果为虚拟空间不包含障碍物,则获取三维重建的人物模型的数量,并根据人物模型的数量,对虚拟空间进行区域划分;或者

若检测结果为虚拟空间包含障碍物,则获取三维重建的各个人物模型所需的空间范围,并根据各个人物模型所需的空间范围,对虚拟空间进行区域划分,其中空间范围是根据各个人物模型的身高和预设的移动阈值确定的。

可选的,空间划分模块603具体用于:

若各个人物模型所需的空间范围,与障碍物的外接立方体存在重叠区域,则将重叠区域等分为各个子区域,并将各个人物模型各自的非重叠区域和相邻的子区域,确定为相应人物模型划分后的区域;

若各个人物模型所需的空间范围,与障碍物的外接立方体不重叠区域,则将各个人物模型所需的空间范围,确定为划分后的区域。

可选的,处理模块602具体用于:

从三维点云数据中随机选取多个点云数据,确定初始平面;

根据剩余的三维点云数据到初始平面的距离,确定初始平面的损失值;

根据损失值与设定损失阈值的比较结果,调整初始平面的参数,直至确定出的损失值小于设定损失阈值时,将调整后初始平面确定为真实环境的地面。

可选的,定位显示模块604,还用于:

将各个人物模型放置的位置区域进行标识,以指示控制相应的人物模型的移动范围。

基于相同的发明构思,本发明实施例中还提供了一种显示设备,该显示设备可实现本申请实施例中的图3所示的方法步骤,并且该显示设备解决问题的原理与本申请实施例中的方法相似,且能达到上述实施例中的技术效果,重复之处不再赘述。

参见图7,该显示设备包括摄像头701、显示器702、存储器703、处理器704:

显示器,与处理器连接,被配置为扫描用户所在的真实环境;

显示器,与处理器连接,被配置为显示定位后的结果;

存储器,与处理器连接,被配置为存储计算机程序指令;

处理器,用于根据存储器存储的计算机程序指令,执行本申请实施中渲染显示端设备执行的方法。

本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令用于使计算机执行上述实施例中的方法。

以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。

相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。


技术特征:

1.一种三维通信系统中人物模型的定位方法,其特征在于,包括:

扫描用户所在的真实环境,得到三维点云数据;

根据所述三维点云数据,确定所述真实环境的地面,并根据所述地面建立虚拟空间;

检测所述虚拟空间是否包含障碍物,并根据检测结果,对所述虚拟空间进行区域划分,所述障碍物用于阻碍三维重建的各个人物模型的运动;

将所述各个人物模型放置于划分后的相应位置区域并显示。

2.如权利要求1所述的方法,其特征在于,在确定所述虚拟空间包含所述障碍物之后,还包括:

根据所述三维点云数据,确定同一平面包含的数据点数;

将包含的数据点数大于设定阈值的各个平面,确定为所述障碍物的平面;

根据所述障碍物的各个平面,确定所述障碍物的外接立方体;

根据所述障碍物的位置信息,将所述外接立方体放置至于所述虚拟空间中。

3.如权利要求1所述的方法,其特征在于,所述根据检测结果,对所述虚拟空间进行区域划分,包括:

若所述检测结果为所述虚拟空间不包含障碍物,则获取三维重建的人物模型的数量,并根据所述人物模型的数量,对所述虚拟空间进行区域划分;或者

若所述检测结果为所述虚拟空间包含障碍物,则获取三维重建的各个人物模型所需的空间范围,并根据所述各个人物模型所需的空间范围,对所述虚拟空间进行区域划分,其中所述空间范围是根据所述各个人物模型的身高和预设的移动阈值确定的。

4.如权利要求3所述的方法,其特征在于,若所述检测结果为所述虚拟空间包含障碍物,则获取三维重建的各个人物模型所需的空间范围,并根据所述各个人物模型所需的空间范围,对所述虚拟空间进行区域划分,包括:

若所述各个人物模型所需的空间范围,与所述障碍物的外接立方体存在重叠区域,则将所述重叠区域等分为各个子区域,并将所述各个人物模型各自的非重叠区域和相邻的子区域,确定为相应人物模型划分后的区域;

若所述各个人物模型所需的空间范围,与所述障碍物的外接立方体不重叠区域,则将所述各个人物模型所需的空间范围,确定为划分后的区域。

5.如权利要求1-4中任一项所述的方法,其特征在于,所述根据所述三维点云数据,确定所述真实环境的地面,包括:

从所述三维点云数据中随机选取多个点云数据,确定初始平面;

根据剩余的三维点云数据到所述初始平面的距离,确定所述初始平面的损失值;

根据所述损失值与设定损失阈值的比较结果,调整所述初始平面的参数,直至确定出的损失值小于所述设定损失阈值时,将调整后初始平面确定为所述真实环境的地面。

6.如权利要求1-4中任一项所述的方法,其特征在于,将所述各个人物模型放置于划分后的相应位置区域之后,还包括:

将所述各个人物模型放置的位置区域进行标识,以指示控制相应的人物模型的移动范围。

7.一种显示设备,其特征在于,包括摄像头、存储器、处理器;

所述摄像头,与处理器连接,被配置为扫描用户所在的真实环境;

所述显示器,与处理器连接,被配置为显示定位后的结果;

所述存储器,与处理器连接,被配置为存储计算机程序指令;

所述处理器,被配置为根据所述计算机程序指令,执行以下操作:

基于扫描结果,得到三维点云数据;

根据所述三维点云数据,确定所述真实环境的地面,并根据所述地面建立虚拟空间;

检测所述虚拟空间是否包含障碍物,并根据检测结果,对所述虚拟空间进行区域划分,所述障碍物用于阻碍三维重建的各个人物模型的运动;

将所述各个人物模型放置于划分后的相应位置区域。

8.如权利要求7所述的显示设备,其特征在于,在确定所述虚拟空间包含所述障碍物之后,所述处理器还被配置为:

根据所述三维点云数据,确定同一平面包含的数据点数;

将包含的数据点数大于设定阈值的各个平面,确定为所述障碍物的平面;

根据所述障碍物的各个平面,确定所述障碍物的外接立方体;

根据所述障碍物的位置信息,将所述外接立方体放置至于所述虚拟空间中。

9.如权利要求7所述的显示设备,其特征在于,所述处理器根据检测结果,对所述虚拟空间进行区域划分,具备被配置为:

若所述检测结果为所述虚拟空间不包含障碍物,则获取三维重建的人物模型的数量,并根据所述人物模型的数量,对所述虚拟空间进行区域划分;或者

若所述检测结果为所述虚拟空间包含障碍物,则获取三维重建的各个人物模型所需的空间范围,并根据所述各个人物模型所需的空间范围,对所述虚拟空间进行区域划分,其中所述空间范围是根据所述各个人物模型的身高和预设的移动阈值确定的。

10.如权利要求9所述的显示设备,其特征在于,所述处理器具体被配置为:

若所述各个人物模型所需的空间范围,与所述障碍物的外接立方体存在重叠区域,则将所述重叠区域等分为各个子区域,并将所述各个人物模型各自的非重叠区域和相邻的子区域,确定为相应人物模型划分后的区域;

若所述各个人物模型所需的空间范围,与所述障碍物的外接立方体不重叠区域,则将所述各个人物模型所需的空间范围,确定为划分后的区域。

技术总结
本申请涉及人机交互技术领域,提供一种三维通信系统中人物模型的定位方法及设备,该方法扫描用户所在的真实环境,得到三维点云数据;根据所述三维点云数据,确定所述真实环境的地面,并根据所述地面建立虚拟空间;检测所述虚拟空间是否包含障碍物,并根据检测结果,对所述虚拟空间进行区域划分;将所述各个人物模型放置于划分后的相应位置区域并显示,通过对用户所在的真实环境进行感知,建立与真实环境相匹配的虚拟空间,提高交互过程的沉浸感,并且,根据是否包含障碍物的检测结果对虚拟空间进行划分,自适应定位人物模型所在区域,相对于将人物模型放置在预设位置,提高了模型定位的准确性。

技术研发人员:刘帅;任子健;王振杰;吴连朋
受保护的技术使用者:聚好看科技股份有限公司
技术研发日:2021.04.13
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-562.html

最新回复(0)