一种三维模型的融合显示方法及设备与流程

文档序号:31054010发布日期:2022-08-06 10:24阅读:111来源:国知局
一种三维模型的融合显示方法及设备与流程

1.本技术涉及虚拟现实(virtual reality,vr)技术领域,尤其涉及一种三维模型的融合显示方法及设备。


背景技术:

2.远程三维通信系统采用动态三维重建技术,将采集终端基于采集数据重建后的三维模型数据传输给渲染终端,由渲染终端进行渲染显示,以达到身临其境的社交体验。
3.例如,在远程三维通信系统的虚拟社交场景中,不同用户端通过动态三维重建将各自的三维模型数据实时传输给其它用户端,其它用户端接收到这些数据后在本端进行渲染显示,从而提升面对面交互的沉浸感。
4.由于三维模型数据是动态生成的,每一帧的三维模型数据都不同,这样,在多终端进行远程三维通信时,一个终端每显示一帧画面需要同时接收多路三维重建数据,总的数据量巨大,对网络带宽的要求较高,往往需要几百兆的网络带宽,这对家用网络和专线网络来说都是不小的挑战。当网络带宽不满足传输实时传输要求时,容易造成显示卡顿的现象,影响用户体验。
5.因此,在保证实时通信的基础上降低传输的数据量是亟待解决的问题。


技术实现要素:

6.本技术实施例提供了一种三维模型的显示方法及设备,用以减少三维模型的数据量,降低网络带宽压力,进而提高远程三维通信的实时性。
7.第一方面,本技术实施例提供一种三维模型的融合显示方法,应用于三维通信系统中的至少一个采集终端,所述采集终端与所述三维通信系统中的至少一个渲染终端连接;针对每一个采集终端,所述方法包括:
8.获取目标三维场景数据进行渲染显示;
9.针对每一视频帧,重建三维人体模型,并按照预设的空间位置关系进行放置;
10.接收各个渲染终端发送的相机参数集合,并根据各个相机参数集合,重置自身的相机;
11.针对每一个相机参数集合,隐藏目标三维场景,将所述三维人体模型的空间背景设置为纯色,并渲染所述相机参数集合下显示的三维人体模型的人物图像;
12.获取所述人物图像中每个像素点在所述目标三维场景中的深度值,并赋值给相应像素点的透明度分量,所述深度值用于指示相应像素点到所述相机参数集合对应的相机的距离;
13.将所述各个相机参数集合各自对应的人物图像,分别发送给相应的渲染终端,以使所述渲染终端根据各张人物图像分别与自身的场景图像中透明度分量的大小,融合渲染所述各张人物图像与自身的场景图像并显。
14.第二方面,本技术实施例提供一种三维模型的融合显示方法,应用于三维通信系
统中的至少一个渲染终端,所述渲染终端与所述三维通信系统中的至少一个采集终端连接;针对每一个渲染终端,所述方法包括:
15.获取目标三维场景数据进行渲染显示;
16.针对每一视频帧,将自身的相机参数集合发送给各个采集终端,以使每个采集终端根据所述相机参数集合设置自身的相机后,渲染重建的三维人体模型的人物图像,其中,所述人物图像中每个像素点在目标三维场景中的深度值被赋值给相应像素点的透明度分量,所述深度值用于指示相应像素点到所述相机参数集合对应的相机的距离,所述三维人体模型的空间背景在目标三维场景隐藏后设置为纯色;
17.接收所述各个采集终端发送的人物图像;
18.根据各张人物图像分别与自身的场景图像中透明度分量的大小,融合渲染所述各张人物图像与自身的场景图像并显示。
19.第三方面,本技术实施例提供一种采集终端,应用于三维通信系统,与所述三维通信系统中的至少一个渲染终端连接,包括处理器、存储器、显示器和通信接口;所述通信接口、所述显示器、所述存储器与所述处理器通过总线连接:
20.所述存储器存储有计算机程序,所述处理器根据所述计算机程序,执行以下操作:
21.通过所述通信接口,获取目标三维场景数据,并根据所述目标三维场景数据渲染目标三维场景,并由所述显示器进行显示;
22.针对每一视频帧,重建三维人体模型,并按照预设的空间位置关系放置在目标三维场景;
23.通过所述通信接口,接收各个渲染终端发送的相机参数集合,并根据各个相机参数集合,重置自身的相机;
24.针对每一个相机参数集合,隐藏目标三维场景,将所述三维人体模型的空间背景设置为纯色,并渲染所述相机参数集合下显示的三维人体模型的人物图像;
25.获取所述人物图像中每个像素点在所述目标三维场景中的深度值,并赋值给相应像素点的透明度分量,所述深度值用于指示相应像素点到所述相机参数集合对应的相机的距离;
26.通过所述通信接口,将所述各个相机参数集合各自对应的人物图像,分别发送给相应的渲染终端,以使所述渲染终端根据各张人物图像分别与自身的场景图像中透明度分量的大小,融合渲染所述各张人物图像与自身的场景图像,并由所述显示器进行显示。
27.第四方面,本技术实施例提供一种渲染终端,应用于三维通信系统,与所述三维通信系统中的至少一个采集终端连接,包括处理器、存储器、显示器和通信接口;所述通信接口、所述显示器、所述存储器与所述处理器通过总线连接:
28.所述存储器存储有计算机程序,所述处理器根据所述计算机程序,执行以下操作:
29.通过所述通信接口,获取目标三维场景数据,根据所述目标三维场景数据渲染目标三维场景,由所述显示器进行显示;
30.针对每一视频帧,通过所述通信接口,将自身的相机参数集合发送给各个采集终端,以使每个采集终端根据所述相机参数集合设置自身的相机后,渲染重建的三维人体模型的人物图像,其中,所述人物图像中每个像素点在目标三维场景中的深度值被赋值给相应像素点的透明度分量,所述深度值用于指示相应像素点到所述相机参数集合对应的相机
的距离,所述三维人体模型的空间背景在目标三维场景隐藏后设置为纯色;
31.通过所述通信接口,接收所述各个采集终端发送的人物图像;
32.根据各张人物图像分别与自身的场景图像中透明度分量的大小,融合渲染所述各张人物图像与自身的场景图像,并由所述显示器进行显示。
33.第五方面,本技术提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机设备执行本技术实施例提供的三维模型的融合显示方法。
34.本技术的有益效果如下:
35.本技术实施例可应用于三维通信系统中的至少一个采集终端和至少一个渲染终端的交互场景,每个采集终端和每个渲染终端获取相同的目标三维场景数据并进行渲染显示。针对每个采集终端,重建每一视频帧中的三维人体模型,并放置在三维空间中的预设位置处,每次接收到渲染终端发送的相机参数集合后,重置自身的相机,隐藏三维场景,将人体模型的空间背景设置为纯色,渲染一张该相机参数集合下显示的三维人体模型的人物图像并发送给该相机参数集合对应的渲染终端。针对每个渲染终端,接收到至少一个采集终端发送的人物图像后,将各张人物图像中每个像素点的透明度分量,分别与自身的场景图像中相应像素点的透明度分量进行大小比较,根据比较结果融合渲染各张人物图像与自身的场景图像并显示。交互过程中传输的为二维的人物图像,相对于三维模型数据,数据量较小,降低了网络带宽的压力,提高了数据传输速度,满足实时性的交互需求;并且,由于无需开启透明度混合功能,因此,可将每张人物图像中各个像素点在目标三维场景中的深度值赋值给透明度分量,进一步节约了数据量,且深度值可以指示相应像素点距离相机参数集合对应的相机的远近,从而可以根据人物图像中每个像素点的深度值大小正确处理人物与场景之间的局部遮挡关系,提高交互的真实性。
附图说明
36.图1为本技术实施例提供的三维人体模型在三维场景中的显示效果图;
37.图2为本技术实施例提供的三维人体模型的二维人物图像;
38.图3为本技术实施例提供的采集终端侧实现的三维模型的融合显示方法流程图;
39.图4为本技术实施例提供的渲染终端侧实现的三维模型的融合显示方法流程图;
40.图5为本技术实施例提供的人物图像和场景图像的融合显示方法流程图;
41.图6为本技术实施例提供的单张人物图像和场景图像的融合显示效果图;
42.图7为本技术实施例提供的多张人物图像和场景图像的融合显示效果图;
43.图8为本技术实施例提供的采集终端侧实现的另一种三维模型的融合显示方法流程图;
44.图9为本技术实施例提供的从人物图像中识别目标人物的效果图;
45.图10为本技术实施例提供的渲染终端侧实现的另一种三维模型的融合显示方法流程图;
46.图11为本技术实施例提供的场景图像中定位人物局部区域的效果图;
47.图12为本技术实施例提供的截取的目标人物图像和场景图像的融合显示方法流程图;
48.图13为本技术实施例提供的采集终端的结构图;
49.图14为本技术实施例提供的渲染终端的结构图。
具体实施方式
50.为使本技术的目的、实施方式和优点更加清楚,下面将结合本技术示例性实施例中的附图,对本技术示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本技术一部分实施例,而不是全部的实施例。此外,虽然本技术中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。
51.在远程三维通信系统中,交互双方的姿态会不断地动态变化,每个渲染终端显示一帧画面时,需要实时接收至少一个采集终端发送的三维模型数据(包括模型顶点、面片、和纹理等),以保证三维模型的姿态与真实场景中人物的姿态相匹配。然而,三维模型数据的数据量较大,对网络带宽的要求较高,现有网络难以满足实时传输的需求。
52.目前,相关技术中,采集终端通过接收渲染终端的相机数据,渲染一张只有重建模型的二维图像并传输给渲染终端,渲染终端在将二维图像渲染显示在于远近裁剪面平行的平面上。但是,该方法只能区分不同采集终端重建的三维模型整体间的距离关系,也就是说,可以解决三维模型整体间的遮挡,当三维模型之间有局部交互(比如握手,拥抱等动作)时,该方法无法解决三维模型之间的局部遮挡(比如握手时的细微遮挡);并且,当三维场景比较复杂(比如存在桌子、椅子等场景模型),该方法也无法处理二维图像与场景模型之间的遮挡。因此,该方法只适用于比较简单的三维应用场景,以及交互双方之间没有近距离的局部交互的情况,具有一定的局限性。
53.鉴于此,本技术实施例提供一种三维模型的融合显示方法及设备,考虑到三维模型最终是以二维图像进行显示的,因此,采集终端通过传输三维人体模型的二维人物图像来降低网络传输的数据量,无需通过降低三维人体模型的精度来提高传输速度,满足实时交互需求;并且,由于三维人体模型的二维人物图像是采集终端根据渲染终端的相机参数集合重置自身相机后渲染的,保证二维人物图像与渲染终端的视角一致,从而能够与自身的场景图像进行融合显示,且融合显示过程中,二维人物图像中每个像素点的透明度分量的取值为该像素点在三维场景中的深度值,表示该像素点距离相机参数集合对应的相机的远近,从而可以根据人物图像中每个像素点的深度值大小正确处理人物与场景之间的局部遮挡关系,提高交互的真实性。
54.需要说明的是,本技术实施例中的采集终端和渲染终端是相对用户而言的。例如,用户a对应一个显示终端1,用户b对应一个显示终端2,显示终端1对于用户a来说是采集终端,对于用户b来说则是渲染终端,同理,显示终端2对于用户b来说是采集终端,对于用户a来说则是渲染终端。
55.本技术实施例中的采集终端和渲染终端可以是电视、手机、电脑、vr/ar设备等显示设备。在实时远程三维通信过程中,采集终端和渲染终端可以通过网络将数据传输至服务器,其中,服务器可以是独立的物理服务器,或者,多个物理服务器构成的服务器集群或者分布式系统,或者,提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、以及大数据和人工智能平台等基础云计算服务的云服务器等。
56.通常的,在相关技术中,采集终端将人体模型的三维模型数据发送给渲染终端后,渲染终端根据接收的三维模型数据将三维人体模型渲染显示在三维场景中的相应位置处,如图1所示。但渲染终端对三维场景以及三维人体模型进行显示时,最终是以二维图像的形式在显示屏上显示的。
57.因此,在本技术的实施例中,渲染终端可以将自身的相机参数集合发送给采集终端后,采集终端将除重建的三维人体模型以外的三维场景全部隐藏,并按接收的相机参数集合设置自身相机,然后渲染一帧三维人体模型对应的二维人物图像,如图2所示,由于三维场景被隐藏,所以二维人物图像中除了目标人物区域外,人物背景区域均为纯色,便于二维人物图像与三维场景融合显示。由于采集终端重置后和渲染终端的相机参数是相同,这样,渲染出的二维人物图像中人物的位置,与三维人体模型在三维场景中的相应位置的显示效果是一致的。
58.同时,为了融合显示中能正确处理三维人体模型与三维场景之间的遮挡关系,本技术实施例从渲染引擎的深度缓冲区中获取人物图像中每个像素点的深度值,并将深度值赋值给相应像素点的透明度分量,其中,人物背景区域内各个像素点的透明度分量取最大深度值,以便不会遮挡三维场景中的三维模型。其中,深度值可以表征像素点距离相机参数集合对应的相机的远近,深度值越大距离相机越远。这样,渲染终端在将接收的人物图像在场景图像的相应位置处进行渲染显示时,可以根据人物图像中像素点的深度值与场景图像中相应像素点的深度值大小,确定相应像素点最终的颜色值,正确处理局部遮挡问题,完成人物图像与场景图像的融合,最终显示在屏幕上。
59.交互过程中,针对每一视频帧,渲染终端都会传输新的相机参数集合给采集终端,采集终端返回给定相机参数集合对应的人物图像,并与场景图像融合渲染显示,最终的显示效果根据三维模型数据的渲染效果相同,而人物图像相对于三维模型数据,大大减小了传输的数据量,降低带宽压力,满足实时交互需求。
60.在远程三维通信系统中,可以有多个采集终端和多个渲染终端。下面从任意一个采集终端的角度,描述本技术实施例提供的三维模型的融合显示方法流程,参见图3,主要包括以下几步:
61.s301:获取目标三维场景数据进行渲染显示。
62.采集终端与至少一个渲染终端连接后,启动交互程序,从服务器获取目标三维场景数据,根据获取的目标三维场景数据,渲染目标三维场景,并在当前相机的可视范围内进行显示。
63.其中,目标三维场景数据可以是由渲染终端根据用户的选择预先确定后通知给采集终端的,也可以是由采集终端根据用户的选择预先确定后通知给渲染终端的,这样,可以保证采集终端和渲染终端需获取相同的目标三维场景数据,从而使各交互终端对应的用户处于同一虚拟环境。
64.s302:针对每一视频帧,重建三维人体模型,并按照预设的空间位置关系进行放置。
65.交互过程中,人体处于动态的变化过程,因此,在执行s302时,采集终端针对每一视频帧,根据采集数据重建三维人体模型,并按照预先设定的空间位置关系,将重建的三维人体模型放置在三维场景中,如图1所示。
66.s303:接收各个渲染终端发送的相机参数集合,并根据各个相机参数集合,重置自身的相机。
67.本技术的实施例中,采集终端可以连接一个或多个渲染终端,不同渲染终端的相机参数不同,相机用于模拟用户的视角。下面以一个渲染终端为例,描述采集终端重置自身相机的过程。
68.具体实施时,渲染终端通过网络,将自身的相机参数集合发送给采集终端,其中,相机参数集合包括相机视场角(包括水平视场角和垂直视场角)、相机位置、相机朝向。采集终端接收到该相机参数集合后,重新设置自身的相机参数,这样,采集终端重置后的相机和渲染终端的相机的视角范围、方向就完全一致了,此时,当前相机参数集合下显示的三维人体模型,可以代表该渲染终端中看到的三维人体模型。
69.需要说明的是,由于采集终端的相机重置前后不同,因此,相机重置前后三维人体模型在三维场景中的位置不同,也就是说,从不同的视角看同一三维人体模型,模型的位置不同。例如,重置前后,三维人体模型从三维空间的边缘位置移动到中间位置,即该三维人体模型在渲染终端中显示在三维空间的中间位置。
70.s304:针对每一个相机参数集合,隐藏目标三维场景,将三维人体模型的空间背景设置为纯色,并渲染相机参数集合下显示的三维人体模型的人物图像。
71.在s304中,针对每一个相机参数集合,隐藏目标三维场景后,三维空间中只剩下采集终端重建的三维人体模型。由于采集终端按照该相机参数集合重置了自身相机,这样,当前相机参数集合下显示的三维人体模型代表了一个渲染终端中看到的三维人体模型,该三维人体模型在该相机参数集合下显示的位置可能发生了变化,因此,在隐藏目标三维场景后,将该相机参数集合下显示的三维人体模型的空间背景设置为纯色,以便进行前后背景的分割,渲染一帧仅包含目标人物的人物图像,如图2所示。
72.由于重置后的采集终端中相机的参数与渲染终端中相机的参数相同,渲染出的二维人物图像中人物的位置,与三维人体模型在三维场景中的相应位置的显示效果是一致的,人物在图像中的位置可以反映三维人体模型在三维空间的位置。
73.s305:获取人物图像中每个像素点在目标三维场景中的深度值,并赋值给相应像素点的透明度分量。
74.其中,人物图像分为目标人物区域和人物背景区域,人物背景区域为纯色,便于进行前景和背景的分割。在渲染管线中渲染物体时,为每个像素点所生成的深度值(即z坐标)会保存在一个缓冲区中,该缓冲区称为深度缓冲区或z缓冲区,也称为z-buffer。其中,深度值用于指示相应的像素点到一个相机参数集合对应的相机的距离,即表征相应的像素点对应于目标三维场景中距离渲染终端的相机的远近,深度值越大距离相机越远。
75.本技术实施例无需开启透明度混合功能,为了进一步减少传输的数据量,可将像素点的深度值赋值给透明度分量。
76.具体实施时,采集终端在重置自身相机后,渲染显示三维人体模型时,根据三维人体模型与人物图像的投影关系,从渲染引擎的深度缓冲区中,获取人物图像内每个像素点的深度值,并将深度值复制给该像素点的透明度分量。由于深度值反映了相应的像素点距离渲染终端的相机的远近,可以确定人物图像的每个像素点在渲染终端的视景体内的位置,从而在显示时确定人物是否会被遮挡。
77.一般的,渲染终端的视景体是由近裁剪面和远裁剪面确定的四棱台,也就是说,用户能看到的范围最近为近裁剪面,最远为远裁剪面,因此,深度缓冲区中最大深度值为相机参数集合对应的相机与远裁剪面的距离,这样,将最大深度值赋值给人物背景区域,以便人物背景区域不会遮挡目标三维场景中的三维模型,即不会遮挡其他人物图像和场景图像。
78.s306:将各个相机参数集合各自对应的人物图像,分别发送给相应的渲染终端,以使渲染终端根据各张人物图像分别与自身的场景图像中透明度分量的大小,融合渲染各张人物图像与自身的场景图像并显示。
79.由于二维的人物图像相对于三维模型数据,数据量较小,可以降低网络带宽的压力,这样,每个渲染终端可以实时接收到各个采集终端发送的人物图像,从而按照各张人物图像分别与自身的场景图像中透明度分量的大小,将各张人物图像与场景图像进行融合显示,减少了视频卡顿的现象,提升了用户体验;并且,由于人物图像每个像素点的透明度分量的取值,反映了相应的像素点距离渲染终端的相机的远近,从而在融合显示时,能正确处理人物图像和场景图像以及不同人物图像之间的遮挡问题,较少穿帮现象,提高交互的真实性。具体的渲染显示过程参见渲染终端的描述。
80.基于图3所示的采集终端的流程,图4从一个渲染终端的角度,描述了本技术实施例提供的三维模型的显示方法流程,主要包括以下几步:
81.s401:获取目标三维场景数据进行渲染显示。
82.在执行s401时,渲染终端与一个或多个采集终端连接后,启动交互程序,从服务器获取目标三维场景数据,以保证远程三维通信系统中的交互终端均处于同一虚拟环境,提升面对面交互的沉浸感。获取目标三维场景数据后,根据获取的三维场景数据,渲染目标三维场景并显示。
83.s402:针对每一视频帧,将自身的相机参数集合发送给各个采集终端。
84.其中,相机参数集合包括相机视场角、相机位置和相机朝向,相机视场角包括水平视场角和垂直视场角。
85.各个采集终端接收到该相机参数集合后,根据该相机参数集合,重置自身的相机,以保证重置后相机中显示的三维人体模型,与渲染终端中的相机中显示的三维人体模型的效果一致,这样,相机重置后采集终端渲染的三维人体模型的人物图像,可以表征渲染终端中看到的人物图像。
86.s403:接收各个采集终端发送的人物图像。
87.其中,人物图像内每个像素点的透明度分量的取值,是从渲染引擎的深度缓冲区中获取的,并且人物背景区域内的每个像素点的透明度分量取最大深度值,以便不会遮挡目标三维场景中的三维模型,其中,最大深度值为相机参数集合对应的相机与远裁剪面的距离。人物图像的具体描述参见s304,在此不再重复。
88.s404:根据各张人物图像分别与自身的场景图像中透明度分量的大小,融合渲染各张人物图像与自身的场景图像并显示。
89.下面以一张人物图像为例,描述融合显示过程,具体参见图5:
90.s4041:遍历场景图像中的每个第二像素点,将第二像素点的透明度分量的初始值,与人物图像中相应的第一像素点的透明度分量的目标值进行比较。
91.针对场景图像中的每个第二像素点,从深度缓冲区获取第二像素点的深度值,该
深度值作为第二像素点的透明度分量的初始值,人物图像中与第二像素点对应的第一像素点的深度值,记为第一像素点的透明度分量的目标值,将初始值与目标值进行比较,从而确定第二像素点和对应的第一像素点距离相机的远近。
92.s4042:确定初始值与目标值的大小,当初始值小于目标值时,执行s4043,当初始值大于目标值时,执行s4044。
93.其中,初始值与目标值的大小,分别表示了第二像素点和对应的第一像素点与相机距离的远近,可以反映人物图像与场景图像之间的遮挡关系。
94.s4043:保持场景图像中第二像素点的颜色值和人物图像中相应的第一像素点的颜色值不变。
95.当初始值小于目标值时,表明第二像素点距离相机更近,不应该被三维人体模型遮挡,也就是说,第二像素点不应被人物图像中对应的第一像素点遮挡,因此,无需对第二像素点的颜色值进行处理,则保持场景图像中第二像素点的颜色值和人物图像中的第一像素点的颜色值不变。
96.s4044:将场景图像中第二像素点的颜色值用人物图像中的第一像素点的颜色值替换。
97.当初始值大于目标值时,表明第二像素点距离相机更远,应该被三维人体模型遮挡,也就是说,第二像素点应被人物图像中对应的第一像素点遮挡,因此,需要对第二像素点的颜色值进行处理,则将场景图像中第二像素点的颜色值用人物图像中对应的第一像素点的颜色值替换。
98.s4045:根据场景图像中各个第二像素点的颜色值和人物图像中各个第一像素点的颜色值,将场景图像与人物图像进行融合渲染显示。
99.遍历场景图像中的每个第二像素点后,可以根据每个第二像素点与对应的第一像素点距离相机的远近,确定相应的第二像素点的最终颜色值,从而根据各个第二像素点最终端的颜色值渲染自身的场景图像,同时,根据各个第一像素点的颜色值渲染人物图像,实现场景图像和人物图像的融合显示。由于针对每个第二像素点相对于对应的第一像素点到相机距离的远近,对第二像素点的颜色值进行了调整,保证了场景图像和人物图像之间的正确遮挡关系,减少了交互过程中的穿帮现象,提高了交互的真实性。
100.需要说明的是,对于人物图像中纯色的人物背景区域,其内像素点的透明度分量为最大深度值,因此,在进行距离远近判断时,依然能够得到正确的遮挡关系,不会对最终的显示结果造成异常的影响,保证了人物背景区域不会干扰场景图像的正确显示。
101.参见图6,为一张人物图像和场景图像融合显示的效果图,其中,e表示渲染终端的相机,从图6中可见,人物图像和场景图像进行融合显示时,人物腹部的局部区域被三维场景中的桌子一角遮挡了,从而真实的反映了三维人体模型与三维场景模型(桌子)之间的位置关系。
102.在一些实施例中,当一个渲染终端同时连接多个采集终端时,渲染一帧画面,需要接收多张人物图像,将场景图像中的每个第二像素点分别与多张人物图像中的第一像素点的深度值进行比较,确保场景图像中的像素点最终的颜色值,始终为场景图像和多张人物图像中透明度分量最小的相应像素点的颜色值,即场景图像中的像素点最终的颜色值,为距离相机最近的相应像素点的颜色值。
103.同时,当有多张人物图像时,由于每张人物图像中各个像素点的透明度分量的取值,表征了相应的像素点距离渲染终端相机的远近,因此,显示各张人物图像时,也会根据距离相机的远近,确定各张人物图像之间的人物遮关系,从而正确显示遮挡的局部区域内像素点的颜色值。
104.参见图7,为多张人物图像和场景图像融合显示的效果图,从图7中可见,本技术实施例提供的方法不仅可以正确处理人物图像和场景图像融合显示时的遮挡关系,还能正确处理人物图像和人物图像融合显示时的遮挡关系。
105.可选的,本技术实施例还提供了另一种三维模型的融合显示方法,相对于上述实施例中的方法,可以进一步减少传输的数据量,提高渲染显示效率。
106.下面仍从一个采集终端的角度,描述本技术实施例提供的另一种三维模型的融合显示方法流程,参见图8,主要包括以下几步:
107.s801:获取目标三维场景数据进行渲染显示。
108.s802:针对每一视频帧,重建三维人体模型,并按照预设的空间位置关系进行放置。
109.s803:接收各个渲染终端发送的相机参数集合,并根据各个相机参数集合,重置自身的相机。
110.s804:针对每一个相机参数集合,隐藏目标三维场景,将三维人体模型的空间背景设置为纯色,并渲染相机参数集合下显示的三维人体模型的人物图像。
111.s805:获取人物图像中每个像素点在目标三维场景中的深度值,并赋值给相应像素点的透明度分量。
112.上述s801-s805的具体实现过程参见s301-s305,在此不再重复。
113.s806:识别人物图像中的目标人物,并确定包围目标人物的最小矩形区域,并截取出目标人物图像。
114.其中,最小矩阵区域的四条边平行于人物图像的四条边,包围目标人物的最小矩形区域如图9所示。
115.本技术实施例对人物识别算法不做限制性要求,例如,可以使用深度学习算法(如卷积神经网络),还可以使用统计学方法(如支持向量机)。
116.在s806中,相对于人物图像,按照最小矩形区域截取的目标人物图像的数据量更小,对网络带宽的压力更小,传输速度更快。
117.s807:提取最小矩形区域四个顶点的uv坐标,得到uv坐标集合。
118.最小矩形区域的位置和尺度可用四个顶点的uv坐标表示。
119.s808:将各个相机参数集合各自对应目标人物图像,以及每张目标人物图像对应的uv坐标集合,分别发送给相应的渲染终端,以使渲染终端根据各个uv坐标集合分别从自身的场景图像中定位人物局部区域,并根据各张目标人物图像分别与相应的人物局部区域中透明度分量的大小,融合渲染各张目标人物图像与自身的场景图像并显示。
120.在s808中,采集终端将目标人物图像对应的uv坐标集合也发送给渲染终端,渲染终端就可以根据uv坐标集合,从自身的场景图像中定位出人物局部区域,这样,在分别确定各张目标人物图像与相应的人物局部区域中透明度分量的大小时,可以减少遍历的像素点速,提高渲染显示效率。具体显示过程参见图10中渲染终端侧的方发步骤。
121.基于图8所示的采集终端的流程,图10从一个渲染终端的角度,描述了本技术实施例提供的另一种三维模型的显示方法流程,主要包括以下几步:
122.s1001:获取目标三维场景数据进行渲染显示。
123.s1002:针对每一视频帧,将自身的相机参数集合发送给各个采集终端。
124.上述s1001-s1002的描述具体参见s401-s402,在此不再重复。
125.s1003:接收各个采集终端发送的目标人物图像和每张目标人物图像对应的uv坐标集合。
126.其中,uv坐标集合中四个顶点的uv坐标用于指示包围人物图像中目标人物的最小矩形区域,目标人物图像是按照最小矩形区域对人物图像进行截取后得到的,最小矩形区域的四条边平行于人物图像的四条边。
127.s1004:根据各个uv坐标集合,从自身的场景图像中定位人物局部区域。
128.在s1004中,不同uv坐标集合定位的人物局部区域不同。如图11所示,基于一个uv坐标集合定位的人物局部区域示意图,该人物局部区域的位置和尺度与相应的目标人物图像的位置和尺度相同。
129.s1005:根据各张目标人物图像分别与相应的人物局部区域中透明度分量的大小,融合渲染各张目标人物图像与自身的场景图像并显示。
130.下面以一张目标人物图像为例,描述融合显示过程,具体参见图12:
131.s1005_1:遍历场景图像的人物局部区域中的每个第二像素点,将第二像素点的透明度分量的初始值,与目标人物图像中相应的第一像素点的透明度分量的目标值进行比较。
132.针对人物局部区域中的每个第二像素点,从深度缓冲区获取第二像素点的深度值,该深度值作为第二像素点的透明度分量的初始值,目标人物图像中与第二像素点对应的第一像素点的深度值,记为第一像素点的透明度分量的目标值,将初始值与目标值进行比较,从而确定第二像素点和对应的第一像素点距离相机的远近。
133.s1005_2:确定初始值与目标值的大小,当初始值小于目标值时,执行s1005_3,当初始值大于目标值时,执行s1005_4。
134.其中,初始值与目标值的大小,分别表示了第二像素点和对应的第一像素点与相机距离的远近,可以反映目标人物图像与人物局部区域之间的遮挡关系。
135.s1005_3:保持人物局部区域中第二像素点的颜色值和目标人物图像中相应的第一像素点的颜色值不变。
136.当初始值小于目标值时,表明第二像素点距离相机更近,不应该被三维人体模型遮挡,也就是说,第二像素点不应被目标人物图像中对应的第一像素点遮挡,因此,无需对第二像素点的颜色值进行处理,则保持人物局部区域中第二像素点的颜色值和目标人物图像中相应的第一像素点的颜色值不变。
137.s1005_4:将人物局部区域中第二像素点的颜色值用目标人物图像中相应的第一像素点的颜色值替换。
138.当初始值大于目标值时,表明第二像素点距离相机更远,应该被三维人体模型遮挡,也就是说,第二像素点应被目标人物图像中对应的第一像素点遮挡,因此,需要对第二像素点的颜色值进行处理,则将人物局部区域中第二像素点的颜色值用目标人物图像中对
应的第一像素点的颜色值替换。
139.s1005_5:根据场景图像中各个第二像素点的颜色值和目标人物图像中各个第一像素点的颜色值,将目标人物图像与场景图像进行融合渲染显示。
140.根据场景图像中人物局部区域内的每个第二像素点与对应的第一像素点距离相机的远近,确定每个第二像素点的最终颜色值后,整个场景图像中各个第二像素点的颜色值也就固定了,这样,可以根据场景图像中各个第二像素点的颜色值渲染自身的场景图像,同时,根据目标人物图像的各个第一像素点的颜色值渲染目标人物图像,实现场景图像和目标人物图像的融合显示,显示效果参见图6和图7。由于针对人物局部区域内的第二像素点相对于对应的第一像素点到相机距离的远近,对第二像素点的颜色值进行了调整,保证了场景图像的人物局部区域和目标人物图像之间的正确遮挡关系,减少了交互过程中的穿帮现象,提高了交互的真实性;并且,人物局部区域为场景图像的一部分,占用的像素点数量较少,这样,在确定第二像素点的颜色值时,减少了遍历次数,提高渲染显示效率。
141.在另一些实施例中,除了由各采集终端根据渲染终端发送的相机参数集合渲染人物图像后,通过网络将人物图像传输给渲染终端外,还可以由各采集终端将三维模型数据发送给服务器,服务器根据各个渲染终端发送的相机参数集合,渲染相应的人物图像后通过网络发送给对应的渲染终端。
142.基于相同的技术构思,本技术实施例提供一种采集终端,该采集终端可实现上述实施例中的三维模型的融合显示方法步骤,且能达到相同的技术效果。
143.参见图13,该采集终端与三维通信系统中的至少一个渲染终端连接,包含处理器1301、存储器1302、显示器1303和通信接口1304,其中,通信接口1304、显示器1303、存储器1302与处理器1301通过总线1305连接;
144.所述存储器1302存储有计算机程序,所述处理器1301根据所述计算机程序,执行以下操作:
145.通过所述通信接口1304,获取目标三维场景数据,并根据所述目标三维场景数据渲染目标三维场景,并由所述显示器1303进行显示;
146.针对每一视频帧,重建三维人体模型,并按照预设的空间位置关系放置在目标三维场景;
147.通过所述通信接口1304,接收各个渲染终端发送的相机参数集合,并根据各个相机参数集合,重置自身的相机;
148.针对每一个相机参数集合,隐藏目标三维场景,将所述三维人体模型的空间背景设置为纯色,并渲染所述相机参数集合下显示的三维人体模型的人物图像;
149.获取所述人物图像中每个像素点在所述目标三维场景中的深度值,并赋值给相应像素点的透明度分量,所述深度值用于指示相应像素点到所述相机参数集合对应的相机的距离;
150.通过所述通信接口1304,将所述各个相机参数集合各自对应的人物图像,分别发送给相应的渲染终端,以使所述渲染终端根据各张人物图像分别与自身的场景图像中透明度分量的大小,融合渲染所述各张人物图像与自身的场景图像,并由所述显示器1303进行显示。
151.可选的,为各张人物图像中每个像素点的透明度分量赋予相应的深度值之后,在
发送所述各张人物图像给相应的渲染终端之前,所述处理器1301还执行:
152.识别所述人物图像中的目标人物,确定包围所述目标人物的最小矩形区域,并截取出目标人物图像,其中,所述最小矩阵区域的四条边平行与所述人物图像的四条边;
153.提取所述最小矩形区域四个顶点的uv坐标,得到uv坐标集合;
154.所述处理器1301将所述各个相机参数集合各自对应的人物图像,分别发送给相应的渲染终端,以使所述渲染终端根据各张人物图像分别与自身的场景图像中透明度分量的大小,融合渲染所述各张人物图像与自身的场景图像,具体操作为:
155.将所述各个相机参数集合各自对应的目标人物图像,以及每张目标人物图像对应的uv坐标集合,通过所述通信接口1304分别发送给相应的渲染终端,以使所述渲染终端根据各个uv坐标集合分别从自身的场景图像中定位人物局部区域,并根据各张目标人物图像分别与相应的人物局部区域中透明度分量的大小,融合渲染所述各张目标人物图像与自身的场景图像。
156.可选的,所述相机参数集合包括相机视场角、相机位置和相机朝向。
157.需要说明的是,图13仅是一种示例,给出了采集终端执行本技术实施例提供的三维模型的融合显示方法步骤所必要的硬件,未示出的,该采集终端还包含显示设备的常用硬件,如摄像头、扬声器、麦克风等。
158.基于相同的技术构思,本技术实施例提供一种渲染终端,该渲染终端可实现上述实施例中的三维模型的融合显示方法步骤,且能达到相同的技术效果。
159.参见图14,该渲染终端与三维通信系统中的至少一个采集终端连接,包含处理器1401、存储器1402、显示器1403和通信接口1404,其中,通信接口1404、显示器1403、存储器1402与处理器1401通过总线1405连接;
160.所述存储器1402存储有计算机程序,所述处理器1401根据所述计算机程序,执行以下操作:
161.通过所述通信接口1404,获取目标三维场景数据,根据所述目标三维场景数据渲染目标三维场景,由所述显示器1403进行显示;
162.针对每一视频帧,通过所述通信接口1404,将自身的相机参数集合发送给各个采集终端,以使每个采集终端根据所述相机参数集合设置自身的相机后,渲染重建的三维人体模型的人物图像,其中,所述人物图像中每个像素点在目标三维场景中的深度值被赋值给相应像素点的透明度分量,所述深度值用于指示相应像素点到所述相机参数集合对应的相机的距离,所述三维人体模型的空间背景在目标三维场景隐藏后设置为纯色;
163.通过所述通信接口1404,接收所述各个采集终端发送的人物图像;
164.根据各张人物图像分别与自身的场景图像中透明度分量的大小,融合渲染所述各张人物图像与自身的场景图像,并由所述显示器1403进行显示。
165.可选的,通过所述通信接口1404,接收所述各个采集终端发送的人物图像,具体操作为:
166.通过所述通信接口1404,接收所述各个采集终端发送的目标人物图像以及每张目标人物图像对应的uv坐标集合,所述uv坐标集合中四个顶点的uv坐标用于指示包围所述人物图像中目标人物的最小矩形区域,所述目标人物图像是对所述人物图像进行截取后得到的,所述最小矩阵区域的四条边平行与所述人物图像的四条边;
167.所述处理器1401根据各张人物图像分别与自身的场景图像中透明度分量的大小,融合渲染所述各张人物图像与自身的场景图像并显示,具体操作为:
168.根据各个uv坐标集合,从自身的场景图像中定位人物局部区域;
169.根据各张目标人物图像分别与相应的人物局部区域中透明度分量的大小,融合渲染所述各张目标人物图像与自身的场景图像并显示。
170.可选的,所述相机参数集合包括相机视场角、相机位置和相机朝向。
171.可选的,所述处理器1401融合渲染各张第一图像与自身的场景图像,具体操作为:
172.针对每一张第一图像,执行以下操作:
173.遍历第二图像中的每个第二像素点,将所述第二像素点的透明度分量的初始值,与所述第一图像中相应的第一像素点的透明度分量的目标值进行比较;
174.当所述初始值小于所述目标值时,保持所述第二图像中所述第二像素点的颜色值和所述第一图像中所述第一像素点的颜色值不变;
175.当所述初始值大于所述目标值时,将所述第二图像中所述第二像素点的颜色值用所述第一图像中所述第一像素点的颜色值替换;
176.根据所述场景图像中各个第二像素点的颜色值和所述第一图像中各个第一像素点的颜色值,融合渲染所述第一图像与所述场景图像;
177.其中,所述第一图像为所述人物图像或所述目标人物图像,所述第二图像为所述场景图像或所述场景图像中的人物局部区域。
178.可选的,当有多张第一图像时,所述第二图像中所述第二像素点的颜色值,为所述第二图像和所述多张第一图像中透明度分量最小的相应像素点的颜色值。
179.需要说明的是,图14仅是一种示例,给出了渲染终端执行本技术实施例提供的三维模型的融合显示方法步骤所必要的硬件,未示出的,该渲染终端还包含显示设备的常用硬件,如摄像头、扬声器、麦克风等。
180.本技术实施例还提供一种计算机可读存储介质,用于存储一些指令,这些指令被执行时,可以完成前述实施例的方法。
181.本技术实施例还提供一种计算机程序产品,用于存储计算机程序,该计算机程序用于执行前述实施例的方法。
182.最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
183.为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1