一种用于XR的数据处理方法及系统
文献发布时间:2024-04-18 19:58:21
分案说明
本申请是针对申请日为2022年09月28日、申请号为2022111915615、发明名称为“一种基于XR的多人协同方法及系统”的中国申请提出的分案申请。
技术领域
本说明书涉及通讯技术领域,特别涉及一种用于XR的数据处理方法及系统。
背景技术
在当下的多人沟通的场景中,因为时间成本、交通成本,时常因为身处异地无法随时参加重要的会议。而目前市场的多人远程沟通方案,只能使用电脑和移动手机来展现平面的画面进行事物的说明与沟通。
因此,希望提供一种基于XR的多人协同的方法和系统,能够为深处异地的参与者协同提供更直接更有效的沟通方式。
发明内容
本说明书实施例之一提供一种用于XR的数据处理方法,包括:响应于标注请求者的请求,在虚拟空间内创建画布;在画布上展示待标记内容,其中,待标记内容为已被标注过的数据和/或未标注过的原始数据;获取标注请求者运用射线交互系统在画布上创建的标记信息,其中,标记信息包括标记内容及标记路径;将待标记内容及标记信息分享至其他参与者的终端进行展示。
本说明书实施例之一提供一种用于XR的数据处理系统,包括:生成模块,用于响应于标注请求者的请求,在虚拟空间内创建画布;展示模块,被配置为实现以下操作:在画布上展示待标记内容,其中,待标记内容为已被标注过的数据和/或未标注过的原始数据;获取标注请求者运用射线交互系统在画布上创建的标记信息,其中,标记信息包括标记内容及标记路径;将待标记内容及标记信息分享至其他参与者的终端进行展示。
本说明书实施例之一提供一种用于XR的数据处理装置,该装置包括:至少一个存储介质,存储计算机指令;至少一个处理器,执行计算机指令,以实现上述所述的用于XR的数据处理方法。
本说明书实施例之一提供一种计算机可读存储介质,该存储介质存储计算机指令,当计算机读取计算机指令时,计算机执行如上述所述的用于XR的数据处理方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是示出根据本发明的一些实施例的基于XR的多人协同系统的应用场景的示意图;
图2是根据本说明书一些实施例所示的基于XR的多人协同系统的示例性模块图;
图3是根据本说明书一些实施例所示的基于XR的多人协同方法的示例性流程图;
图4是根据本说明书一些实施例所示的确定参与者在虚拟空间的位置信息示例性方法流程图;
图5是根据本说明书一些实施例所示的基于XR的多人在线直播方法的示例性流程图;
图6是根据本说明书一些实施例所示的位置信息实时更新的示例性流程图;
图7是根据本说明书一些实施例所示的确定子动作信息的展示优先级的示例性流程图;
图8是根据本说明书一些实施例所示的用于XR的数据处理方法的示例性流程图;
图9是根据本说明书一些实施例所示的待标记内容展示的示例性流程图;
图10是根据本说明书一些实施例所示的确定预测展示内容的示例性流程图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是示出根据本发明的一些实施例的基于XR的多人协同系统的应用场景100的示意图。XR(Extended Reality)又名扩展现实,是虚拟现实(VR)、增强现实(AR)和混合现实(MR)等各种新沉浸式技术的统称。XR可以通过计算机将真实与虚拟相结合,打造一个可人机交互的虚拟空间。
如图1所示,基于XR的多人协同系统的应用场景100可包括处理设备110、网络120、存储设备130、终端140以及数据采集设备150。基于XR的多人协同系统的应用场景100中的组件可以以一种或多种不同的方式连接。例如,数据采集设备150可以通过网络120连接到处理设备110。例如,如图1所示,可以将数据采集设备150直接连接到处理设备110。
在一些实施例中,基于XR的多人协同系统的应用场景100可以包括不在同一实际空间的多人需要协同的场景。例如,应用场景100可以包括学术会议、远程会诊、教学培训、手术指导以及直播等。基于XR的多人协同系统可以创建虚拟空间。应用场景100可以通过虚拟空间实现。例如,在手术指导的场景中,参与手术的医护人员可以在虚拟空间互动交流,分享医疗设备记录的病人的资料信息,还可以在虚拟空间中与专家进行实况直播,协助专家进行远程操作指导。进一步地,在虚拟空间中,还可以分享3D模型,如心脏模型等,并且可以对模型进行拆解,还可以将手术相关的视频影像资料呈现在该虚拟空间内,手术人员通过佩戴VR、AR设备等终端设备就可以共享资料信息。
数据采集设备150可配置为获取与参与者及参与者所在空间有关的音频、视频数据的设备。数据采集设备150可以包括全景相机151、普通摄像头152、动作传感器(图中未示出)等。
处理设备110可以处理从存储设备130、终端140、和/或数据采集设备150获得的数据和/或信息。处理设备110可以包括服务器数据中心。在一些实施例中,处理设备110可以托管一个模拟的虚拟世界,或用于终端140的元域。例如,处理设备110可以基于数据采集设备150收集到的参与者的图像生成参与者的位置数据。再例如,处理设备110可以基于参与者的位置数据可以生成参与者在虚拟空间中的位置信息。
在一些实施例中,处理设备110可以是计算机、用户控制台、单个服务器或服务器组等。服务器组可以是集中式的也可以是分布式的。例如,元域的指定区域可以由单个服务器模拟。在一些实施例中,处理设备110可以包括多个专用于物理模拟的模拟服务器,以管理交互和处理元宇宙中字符和对象之间的碰撞。
在一些实施例中,处理设备110可以在云平台上实现。例如,云平台可能包括私有云、公共云、混合云、社区云、分布式云和云间云、多云等,或它们的组合。
在一些实施例中,处理设备110可包括专用于存储与元世界中的对象和字符相关的数据的存储设备。存储在存储设备中的数据可以包括对象形状、化身形状和外观、音频剪辑、元世界相关的脚本和其他元世界相关的对象。在一些实施例中,处理设备110可以由具有处理器、存储器、输入/输出(I/O)、通信端口等的计算设备实现。在一些实施例中,处理设备110可在终端140的处理电路(例如,处理器、CPU)上实现。
终端140可能是一种允许用户参与虚拟现实体验的设备。在一些实施例中,终端140可以包括VR头盔、VR眼镜、VR补丁、立体头显或类似物、个人计算机(personalcomputer,PC)、手机,或它们的任何组合。例如,终端140可能包括谷歌Glass
在一些实施例中,用户可以通过显示设备141与虚拟内容交互。例如,当用户佩戴显示设备141时,可以跟踪用户的头部运动和/或注视方向,从而呈现虚拟内容以响应用户位置和/或方向的变化,提供反映用户视角变化的沉浸式和令人信服的虚拟现实体验。
在一些实施例中,终端140可以进一步包括输入组件142。输入组件142可使用户与显示设备141上显示的虚拟内容之间进行用户交互。其中,虚拟内容可以包括参与者上传的数据信息。例如,输入组件142可以包括被配置为接收用户输入的触摸传感器、麦克风等,这些用户输入可以提供给终端140并通过改变显示设备上呈现的视觉内容来控制虚拟世界。在一些实施例中,由输入组件接收的用户输入可包括,例如,触摸、语音输入和/或手势输入,并可通过任何合适的传感技术(例如,电容、电阻、声学、光学)感知。在一些实施例中,输入组件142可包括手柄、手套、触控笔、游戏机等。
在一些实施例中,显示设备141(或处理设备110)可以跟踪输入组件142并基于对输入组件142的跟踪呈现虚拟元素。虚拟元素可以包括输入组件142的表示(例如,用户的手、手指的图像)。虚拟元素可以在与输入组件142的真实位置相对应的虚拟现实体验中的3D位置中呈现。
例如,一个或多个传感器可用于跟踪输入组件142。显示设备141可以通过有线或无线网络接收由一个或多个传感器从输入组件142收集的信号。所述信号可包括能够跟踪所述输入组件142的任何适当信息,如输入组件142中的一个或多个惯性测量单元(例如,加速度计、陀螺仪、磁力仪)的输出,输入组件142中的全球定位系统(GPS)传感器,或类似的,或其组合。
信号可以指示输入组件142的位置(例如,以一种三维坐标的形式)和/或方向(例如,以一种三维旋转坐标的形式)。在一些实施例中,传感器可包括用于跟踪输入组件142的一个或多个光学传感器。例如,传感器可以使用可见光和/或深度相机来定位输入组件142。
在一些实施例中,输入组件142可包括可向用户提供触觉反馈的触觉组件。例如,触觉组件可以包括多个力传感器、电机和/或致动器。力传感器可以测量用户施加的力的大小和方向,并将这些测量值输入到处理设备110。
处理设备110可以将所输入的测量转换为可显示在显示设备141上的一个或多个虚拟元素(例如,虚拟手指、虚拟手掌等)的运动。然后,处理设备110可以计算一个或多个虚拟元素与至少一部分参与者之间的一个或多个交互作用,并将这些交互作用输出为计算机信号(即表示反馈力的信号)。触觉部件中的电机或致动器可以根据从处理设备110接收到的计算机信号向用户施加反馈力,以便参与者感受到手术指导中对象真实的触感。在一些实施例中,反馈力的大小可以根据基于XR的多人协同系统的默认设置或由用户或操作员通过,例如,终端设备(例如,终端140)预置设置。
在一些实施例中,基于XR的多人协同系统的应用场景100中可进一步包括配置为向用户提供音频信号的音频设备(未显示)。例如,音频设备(如扬声器)可以播放参与者发出的声音。在一些实施例中,音频设备可以包括电磁扬声器(例如,动圈扬声器、动铁扬声器等)、压电扬声器、静电扬声器(例如,冷凝器扬声器)或类似的,或其任何组合。在一些实施例中,音频设备可以集成到终端140中。在一些实施例中,终端140可以包括分别位于终端140的左右两侧的两个音频设备,以向用户的左右耳朵提供音频信号。
存储设备130可以用于存储数据和/或指令,例如,存储设备130可以用于存储数据采集设备150采集到的相关信息和/或数据。存储设备130可以从例如处理设备110等获得数据和/或指令。在一些实施例中,存储设备130可以储存处理设备130用来执行或使用以完成本说明书中描述的示例性方法的数据和/或指令。在一些实施例中,存储设备130可以集成于处理设备110上。
网络120可以提供信息和/或数据交换的渠道。在一些实施例中,处理设备110、存储设备130、终端140以及数据采集设备150之间可以通过网络160交换信息。例如,终端140可以通过网络120从获取处理设备110发送的数据信息等。
需要指出的是,上述对基于XR的多人协同系统的应用场景100的描述仅为说明目的,并不意在限制本公开的范围。例如,基于XR的多人协同系统的应用场景100的装配和/或功能可能会根据具体的实施场景而变化或改变。在一些实施例中,基于XR的多人协同系统的应用场景100可以包括一个或多个附加组件(例如,存储设备、网络等)和/或可以省略上述基于XR的多人协同系统的应用场景100的一个或多个组件。另外,基于XR的多人协同系统的应用场景100的两个或多个组件可以集成到一个组件中。基于XR的多人协同系统的应用场景100的一个组件可以在两个或多个子组件上实现。
图2根据本说明书一些实施例所示的基于XR的多人协同系统200的示例性模块图。在一些实施例中,基于XR的多人协同系统200可以包括连接模块210、定位模块220、下载模块230、展示模块240、生成模块250。
连接模块210可以用于与至少两个参与者的终端建立通讯连接。
定位模块220可以用于通过预设3D坐标位置算法确定至少两个参与者在虚拟空间的位置信息。
在一些实施例中,至少两个参与者在虚拟空间的位置信息与至少两个参与者在实际空间的位置数据相关,至少两个参与者在实际空间的位置数据通过至少两个参与者的终端获取。
在一些实施例中,定位模块220可以进一步用于创建虚拟空间;在虚拟空间里创建与至少两个参与者中每个参与者对应的虚拟人物,其中,虚拟人物在虚拟空间具有初始位置信息;获取参与者在实际空间的位置数据,并将位置数据与对应的虚拟人物在虚拟空间的位置信息相关联;基于参与者的位置数据,获取参与者在实际空间的移动数据;通过预设3D坐标位置算法,基于移动数据对初始位置信息进行更新,确定更新后的位置信息。
在一些实施例中,定位模块220可以用于创建虚拟空间,并用于在虚拟空间里创建与至少两个参与者中每个参与者对应的虚拟人物。在一些实施例中,定位模块220进一步用于通过预设3D坐标位置算法,基于获取到的参与者在实际空间的位置数据,确定与参与者对应的虚拟人物在虚拟空间里的位置信息。在一些实施例中,定位模块220可以用于在虚拟空间里基于任务的所在位置信息显示虚拟人物。
在一些实施例中,定位模块220可以进一步用于扫描参与者所在的实际空间,对参与者进行空间定位;对于完成扫描的参与者,确定参与者在实际空间的实时位置数据;基于实时位置数据确定参与者在实际空间的第一移动信息;确定虚拟人物在虚拟空间的初始位置信息;获取参与者在实际空间的第一动作信息;第一动作信息包括参与者身体的各个部位的子动作信息;通过预设3D坐标位置算法,基于第一移动信息和/或第一动作信息同步更新虚拟人物的第二移动信息和/或第二动作信息。
在一些实施例中,定位模块220可以进一步用于基于当前场景,判断参与者的至少一个核心身体部位;基于至少一个核心身体部位确定参与者的身体各个部位的子动作信息的展示优先级;基于子动作信息的展示优先级确定动作信息的展示参数,展示参数包括展示频率、展示精度;基于展示参数同步与参与者对应的虚拟人物的第二动作信息。
下载模块230可以用于保存至少两个参与者上传的数据信息,并向至少两个参与者提供数据下载服务,其中,数据下载服务包括创建数据下载通道、提供下载资源中的至少一种。
在一些实施例中,下载模块230可以用于获取参与者上传的共享数据。
展示模块240可以用于在至少两个参与者的终端上同步展示数据信息。
在一些实施例中,终端包括VR显像设备、AR显像设备、移动端手机、PC电脑端中的至少一种。
在一些实施例中,展示模块240可以用于在虚拟空间内展示共享数据。
在一些实施例中,展示模块240可以用于在虚拟空间创建至少一个第二空间和/或第二窗口,其中,至少一个第二空间和/或第二窗口中的每一个与一个参与者相对应;通过第二空间和/或第二窗口展示对应的参与者的共享数据。
在一些实施例中,展示模块240可以用于在画布上展示待标记内容,其中,待标记内容为已被标注过的数据和/或未标注过的原始数据;获取标注请求者运用射线交互系统在画布上创建的标记信息,其中,标记信息包括标记内容及标记路径;将待标记内容及标记信息分享至其他参与者的终端进行展示。
在一些实施例中,待标记内容为在标注请求者的终端上的多个窗口中任意窗口、任意位置展示的内容。
在一些实施例中,展示模块240可以进一步用于获取标注请求者的展示设置,展示设置包括实时标记展示和标记完成后展示;基于展示设置,将待标记内容及其标记信息分享至其他参与者的终端进行展示。
在一些实施例中,展示模块240可以进一步用于基于其他参与者中每个参与者的位置信息确定每个参与者的视角信息;基于每个参与者的视角信息,确定每个参与者的展示内容,并进行展示,展示内容包括在视角信息下的待标记内容和/或标记信息。
生成模块250可以用于响应于标注请求者的请求,在虚拟空间内创建画布。
需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本申请限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,连接模块210、定位模块220、下载模块230和展示模块240可以组合构成基于XR的多人在线直播系统。又例如,展示模块240和生成模块250可以组合构成用于XR的数据处理系统。诸如此类的变形,均在本申请的保护范围之内。
图3是根据本说明书一些实施例所示的多人协同方法的示例性流程图。如图3所示,流程300可以包括以下步骤。
步骤310,与至少两个参与者的终端建立通讯连接。在一些实施例中,步骤310可以由连接模块210执行。
参与者可以指参与协同的人员。协同场景不同,参与者可以不同。例如,手术室VR场景中,参与者可以包括作业人员(例如,参与手术的医生)、远程专家、运营人员。其中,运营人员可以进行用户权限管理、将指导过程存档回溯。
多人协同可以用于学术会议、远程会诊、医学培训、手术直播、医疗器械培训等,在多人协同时,可以实现多人实时直播、实时批注共享等。多人实时直播的详细内容可以参见本说明书其他部分的描述,例如,图5、6、7。实时批注共享的详细内容可以参见本说明书其他部分的描述,例如,图8、9、10。
在一些实施例中,可以建立服务器数据中心,参与者通过参与者的终端与服务器数据中心连接来实现通讯连接。
服务器数据中心可以为搭载多人协同即时沟通的平台。服务器数据中心可以包括至少一个服务器,该服务器的性能能够满足多人协同操作的要求,不仅可以使服务器数据中心供多人多端的接入,并且可以保证中多个终端接入时的稳定性与实时性,还可以保证服务器数据的安全和完整。
在一些实施例中,通讯连接可以用于音频即时交流、视频即时交流、多人虚拟空间技术交流等。其中,音频即时交流可以包括音频的信息记录、传送和接收。视频即时交流可以包括视频信息的记录、解码、传送和接收。多人协同可以通过多人虚拟空间技术交流来实现。例如,手术直播时可以邀请异地的专家进行远程协助。再例如,受邀的参与者可以对发出邀请的参与者直播的画面进行查看并和其他参与者沟通,并给与帮助。再例如,参与者还可以使用标记功能进行本地标注,并可以将标记内容实时展示给其他参与者。
参与者的终端可以指参与者参与协同所使用的设备。在一些实施例中,参与者的终端可以包括用于实现参与者与服务器数据中心连接的设备以及数据采集设备。数据采集设备是用于采集参与者所在的实际空间音频、视频等数据的设备,例如,全景相机、普通摄像头、AR眼镜、手机、动作传感器、深度摄像机等。参与者终端还可以包括显示设备,可以显示从服务器数据中心获取的数据。
在一些实施例中,终端包括VR显像设备、AR显像设备、移动端手机、PC电脑端中的至少一种。例如,实现参与者与服务器数据中心连接的设备可以包括AR眼镜、VR头盔、PC、手机等。
步骤320,通过预设3D坐标位置算法确定至少两个参与者在虚拟空间的位置信息。在一些实施例中,步骤320可以由定位模块220执行。
虚拟空间可以指展示虚拟物体的空间。虚拟空间可以基于实际空间的信息创建或基于预设的虚拟信息创建;关于创建虚拟空间的详细内容可以参见本说明书其他部分的描述,例如,图4。
在一些实施例中,虚拟空间可以对应不同的场景,例如,可以包括学术会议、教学培训、案件审讯、手术室VR场景、手术过程细节场景、病理资料分享场景、手术导航信息场景、病人生命体征数据场景等。在虚拟空间中,可以展示参与者的位置信息和数据信息。关于位置信息和数据信息的详细内容可以参见本说明书其他部分内容的介绍,例如,图3步骤340。
仅作为示例的,在手术过程细节场景中,手术医生可以佩戴终端设备并连接至服务器数据中心,可以将手术医生看到的实际空间的手术画面投射到虚拟空间实时直播给其他远端专家和学者,其他远程的专家和学者通过连接至服务器数据中心可以实时观看和了解现场的近距离手术细节,手术医生也可以与远程的专家音视频交流和获得远程指导。
再例如,在教学培训场景中,老师和学生可以通过参与者终端加入到虚拟空间,老师可以在虚拟空间中进行培训直播,并可以将三维模型、影像、文字等资料导入并分享到虚拟空间里,老师、学生可以在虚拟空间里走动并产生互动,亦可对分享的资料进行编辑、标记。
在一些实施例中,可以在虚拟空间中设置空间坐标系,空间坐标系可以用于表示虚拟物体在虚拟空间的空间位置关系。多个参与者通过参与者终端可以在同一虚拟空间内进行交流与互动。
在一些实施例中,虚拟物体可以包括空间背景、虚拟人物、虚拟窗口、画布、数据信息等。在一些实施例中,虚拟空间可以包括空间背景,该空间背景可以是实际空间的实时影像或其他预设图像。在一些实施例中,虚拟空间中可以包括与每个参与者对应的虚拟人物。关于虚拟人物的详细内容可以参见本说明书其他部分内容的介绍,例如,图4。
在一些实施例中,虚拟空间可以包括多个第二窗口和/或多个第二空间。关于第二窗口和/或第二空间的详细内容可以参见本说明书其他部分内容的介绍,例如,图5。在一些实施例中,虚拟空间可以包括画布。关于画布的详细内容可以参见本说明书其他部分内容的介绍,例如,图8。
位置信息可以指与参与者在虚拟空间位置和/或动作有关的信息。位置信息可以包括参与者在虚拟空间中的初始位置信息和实时位置信息。初始位置信息可以指虚拟空间中各个参与者的初始位置。关于初始位置信息的详细内容可以参见本说明书其他部分内容的介绍,例如,图4。
在一些实施例中,位置信息可以包括参与者对应的虚拟人物在虚拟空间的动作信息。动作信息可以指参与者在实际空间产生的身体动作信息。关于动作信息的详细内容可以参见本说明书其他部分内容的介绍。例如,图6。
在一些实施例中,动作信息还可以包括与参与者的实际动作对应的,虚拟人物在虚拟空间的头部动作信息,可以以此来确定参与者在虚拟空间中的视角信息。关于视角信息的详细内容可以参见本说明书其他部分的描述,例如,图9。
在一些实施例中,至少两个参与者在虚拟空间的位置信息与至少两个参与者在实际空间的位置数据相关,至少两个参与者在实际空间的位置数据通过至少两个参与者的终端获取。
实际空间可以指参与者实际所在的空间。例如,实际空间可以指参与者所在的办公室、书房、室外场所等。
位置数据可以指与参与者在实际空间中的位置和/或动作有关的数据。在一些实施例中,位置数据可以包括参与者在实际空间中的位置和/或动作。其中,位置可以用实际空间中的坐标来表示。例如,坐标可以通过经度和纬度组成的坐标表示或基于其他预设坐标系的坐标信息表示。在一些实施例中,位置数据可以包括参与者的坐标位置、运动速度、加速度、身体部位的动作、参与者终端的方向(即参与者的朝向)等。位置数据可以包括实时位置数据。
可以通过定位设备、参与者所在实际空间中的数据采集设备(例如,摄像头、传感器等)确定参与者的位置数据,并通过接收定位设备、数据采集设备等发送的数据确定参与者的位置数据。例如,基于接收到的定位设备的数据,可以确定用户的位置。再例如,可以通过摄像头和传感器来确定参与者的动作。可以通过与定位设备、参与者所在实际空间中的数据采集设备连接来获取位置数据。
示例性的定位设备可以包括全球定位系统(GPS)、全球导航卫星系统(GLONASS)、北斗导航系统、伽利略定位系统、准天顶卫星系统(QZSS)、基站定位系统、Wi-Fi定位系统。
在一些实施例中,可以基于参与者在实际空间的位置数据确定参与者在虚拟空间的位置信息。例如,可以在服务器数据中心预设数据库,数据库中可以将参与者的位置数据与虚拟人物的位置信息相对应。该数据库中可以基于历史数据中位置数据和位置信息的对应关系设立。位置数据和位置信息的对应关系可以通过3D坐标位置算法确定。
在一些实施例中,可以基于参与者在实际空间的位置数据对位置信息进行更新,实现参与者在实际空间和虚拟空间位置信息的同步。关于对位置信息进行更新的详细内容可以参见本说明书的其他部分的内容,例如,图4。
在一些实施例中,可以通过3D坐标位置算法将实际空间的下的位置数据(例如,3D坐标)经过投影变换矩阵转换成虚拟空间的位置信息。例如,可以将实际空间的坐标转换成虚拟空间坐标系中的坐标。
在一些实施例中,通过预设3D坐标位置算法确定至少两个参与者在虚拟空间的位置信息,包括:创建虚拟空间;在虚拟空间里创建与至少两个参与者中每个参与者对应的虚拟人物,其中,虚拟人物在虚拟空间具有初始位置信息;获取参与者在实际空间的所述位置数据,并将位置数据与对应的虚拟人物在虚拟空间的位置信息相关联;基于参与者的位置数据,获取参与者在实际空间的移动数据;通过预设3D坐标位置算法,基于移动数据对初始位置信息进行更新,确定更新后的位置信息。关于确定位置信息的详细内容,可以参见本说明书其他部分的内容,例如,图4。
在一些实施例中,通过预设3D坐标位置算法,基于获取到的参与者在实际空间的位置数据,确定与参与者对应的所述虚拟人物在虚拟空间里的位置信息,包括:扫描参与者所在的实际空间,对参与者进行空间定位;对于完成扫描的参与者,确定参与者在实际空间的实时位置数据;基于实时位置数据确定参与者在实际空间的第一移动信息;确定虚拟人物在虚拟空间的初始位置信息;获取参与者在实际空间的第一动作信息;第一动作信息包括参与者的身体各个部位的子动作信息;通过预设3D坐标位置算法,基于第一移动信息和/或第一动作信息同步更新参与者对应的虚拟人物的第二移动信息和/或第二动作信息。进一步地,基于第二移动信息和/或第二动作信息关于确定位置信息。关于确定位置信息的详细内容,可以参见本说明书其他部分的内容,例如,图6。
步骤330,保存至少两个参与者上传的数据信息,并向至少两个参与者提供数据下载服务,其中,数据下载服务包括创建数据下载通道、提供下载资源中的至少一种。在一些实施例中,步骤330可以由下载模块230执行。
数据信息可以指在虚拟空间共享的信息。例如,数据信息可以包括3D模型、视频、文档、操作手册等。在一些实施例中,数据信息可以包括待标记内容和标记信息。关于待标记内容和标记信息的详细内容可以参见本说明书其他内容的描述,例如,图8。
在一些实施例中,数据信息可以是参与者上传的数据,也可以是从其他平台(例如,网络云平台)调取的数据。数据信息可以保存在服务器数据中心的存储设备中。响应于参与者的数据请求,服务器数据中心可以与其他平台连接并调取对应的数据信息,也可以调取参与者上传至服务器数据中心的数据信息,还可以调取保存在服务器数据中心存储设备内的数据信息。
数据下载服务可以指通过通信模块(例如,LTE通信模块)连接相应的通信网络(例如,4G网络)对信息进行数据下载的服务。参与者可以通过数据下载服务获取数据信息。
在一些实施例中,可以在服务器数据中心和参与者终端创建下载通道。下载通道可以为多个,分别与每一个参与者对应。参与者可以通过数据下载通道获取需要的信息数据。
在一些实施例中,数据信息可以分类(例如,按照数据类型)储存在服务器数据中心的存储设备中,每一个类型的数据信息对应一个数据下载通道,响应于参与者的数据请求的类型,可以从不同的数据下载通道获取对应的数据信息。
步骤340,在至少两个参与者的终端上同步展示数据信息。在一些实施例中,步骤340可以由展示模块240执行。
在一些实施例中,数据信息可以展示在虚拟空间中,可以将参与者终端与服务器数据中心建立连接获取数据信息,并将数据信息通过参与者终端的显示设备同步展示。
在一些实施例中,可以根据不同的参与者终端确定不同的展示方式。例如,PC、手机的展示方式可以为通过PC、手机的屏幕来展示数据信息,AR眼镜和/或VR头盔的展示方式可以为通过AR眼镜和/或VR头盔内部投影的屏幕来展示数据信息。
通过建立3D虚拟空间,并在3D虚拟空间同步共享数据信息,实现了本地与异地的同步,解决了线下多人会议的人数限制、场地限制等问题。参与者可以通过虚拟空间,以面对面的沟通方式,更直观对虚拟空间内的物体信息进行场景互动,参与方支持更多兼容平台,随时随地以不同的设备即可加入讨论,减少了大量的时间成本,可以高效且快速的形成协作团队。同时,通过虚拟空间,可以形成记录,便于后期其他人员学习参考、经验总结甚至调查取证。
图4是根据本说明书一些实施例所示的确定参与者在虚拟空间的位置信息示例性方法流程图。在一些实施例中,流程400可以由定位模块220执行。
步骤410,创建虚拟空间;在虚拟空间里创建与所述至少两个参与者中每个参与者对应的虚拟人物,其中,虚拟人物在所述虚拟空间具有初始位置信息。
在一些实施例中,可以在任意实际空间内建立坐标系,基于该实际空间坐标系以及实际空间扫描数据创建实际空间模型的模型数据,并建立与实际空间模型对应的实际空间坐标系,根据所述实际空间模型的模型数据,通过映射建立与实际空间模型对应的虚拟空间模型,并建立与虚拟空间模型对应的虚拟空间坐标系。
在一些实施例中,虚拟空间可以是基于设计创建的,例如,虚拟空间可以是设计的虚拟手术室等。
虚拟人物可以指在虚拟空间与参与者对应的人物形象。可以在参与者连入服务器数据中心时为参与者按照默认设置分配对应的虚拟人物,或向参与者提供已经创建好的多个候选虚拟人物,由参与者选择其中一个虚拟人物来确定与自己对应的虚拟人物。通过虚拟人物可以同步展示与之对应的参与者的位置信息。例如,参与者1点选了虚拟人物1,参与者在实际空间中左移,对应的虚拟人物1在虚拟空间中也进行左移。
在一些实施例中,可以按照预设规则确定虚拟人物的初始位置信息。例如,每一个虚拟人物都预设有一个初始位置。当参与者选择好与其对应的虚拟人物,便可以确定其对应的初始位置,也可以由参与者自行选定其对应的虚拟人物在虚拟空间的初始位置。
步骤420,获取参与者在实际空间的位置数据,并将位置数据与对应的虚拟人物在虚拟空间的位置信息相关联。
在一些实施例中,可以通过与定位设备、数据采集设备连接获取参与者在实际空间的位置数据。
在一些实施例中,在服务器数据中心中可以设置有每个虚拟人物的存储设备。当获取参与者的位置数据后可以存储在与该参与者对应的存储设备中,并且服务器数据中心可以将该位置数据通过预设3D坐标位置算法转换成虚拟人物的位置信息。
步骤430,基于参与者的位置数据,获取参与者在实际空间的移动数据。
移动数据可以指与参与者在实际空间的移动有关的数据。移动数据可以包括参与者移动的方向和距离等。
在一些实施例中,可以基于参与者移动的方向、移动前后的坐标点确定参与者移动数据。可以基于参与者移动前后的坐标以及距离公式确定移动的距离。例如,参与者的位置数据包括向左移动、移动前坐标为(1,2)、移动后坐标为(1,3),根据移动前后的坐标可以计算得到移动的距离为1米,则移动数据为向左移动1米。
步骤440,通过预设3D坐标位置算法,基于移动数据对初始位置信息进行更新,确定更新后的位置信息。
在一些实施例中,具体地,虚拟空间需要获取每个参与者的空间位置信息,参与者进入该虚拟空间时处于初始位置,当用户发生相对位移后,该移动数据通过参与者终端上传至服务器数据中心,服务器数据中心通过3D坐标位置算法,将移动数据经过投影变换矩阵转换成虚拟空间的移动信息,并对虚拟人物的位置进行更新,然后同步给其他参与者终端,其他参与者便可以在虚拟空间内看到该参与者的虚拟形象的实时移动。
基于参与者在实际空间的位置数据对参与者在虚拟空间的虚拟人物的位置信息,可以为参与者提供更加逼真、全方位、多层次的渲染显示效果,营造出趋近于面对面交流的真实感,增加交流的有效性。
图5是根据本说明书一些实施例所示的基于XR的多人在线直播方法的示例性流程图。如图5所示,流程500可以包括以下步骤。
步骤510,与至少两个参与者的终端建立通讯连接。在一些实施例中,步骤510可以由连接模块210执行。
关于参与者和终端的定义和说明,以及建立通讯连接的方法,可以参见图3及其相关描述。
步骤520,创建虚拟空间,在虚拟空间里创建与至少两个参与者中每个参与者对应的虚拟人物。在一些实施例中,步骤520可以由定位模块220执行。
关于虚拟空间和虚拟人物的定义和说明,以及创建虚拟空间和虚拟人物的方法,可以参见图4及其相关描述。
步骤530,通过预设3D坐标位置算法,基于获取到的参与者在实际空间的位置数据,确定与参与者对应的虚拟人物在虚拟空间里的位置信息。在一些实施例中,步骤530可以由定位模块220执行。
关于3D坐标位置算法、位置数据以及位置信息的定义和说明,可以参见图3及其相关描述。关于确定并实时更新位置信息的方法,可以参见图4及其相关描述。
步骤540,在所述虚拟空间里基于虚拟人物的位置信息显示虚拟人物。在一些实施例中,步骤540可以由定位模块220执行。
在一些实施例中,可以根据虚拟人物的位置信息,在位置信息对应的坐标处显示对应的创建好的虚拟人物。当位置信息发生变化时,虚拟人物的显示随位置信息的变化而实时发生改变。关于虚拟人物的详细说明,可以参见图4及其相关描述。
步骤550,获取参与者上传的共享数据,并在虚拟空间内展示共享数据。在一些实施例中,步骤550可以由下载模块230和展示模块240执行。
共享数据是指参与者上传到虚拟空间的数据。共享数据具有多种表现形式,例如视频、音频、图像和模型等,不同应用场景中的共享数据可以不同。
例如,在展示手术室VR场景时,共享数据可以包括手术室的全景(如手术室的空间设计、位置朝向、仪器摆放等)数据。又例如,在展示手术细节时,共享数据可以包括手术过程的近景(如医生手部操作、仪器操作、病人手术部位等)数据。又例如,在进行病理资料分享时,共享数据可以包括病人三维影像模型、病理图片和视频等。又例如,在展示手术导航信息时,共享数据可以包括手术机器人的画面(如手术规划画面)等。又例如,在展示病人生命体征数据时,共享数据可以包括病人手术过程中生命体征监测数据(如生命体征,血压,心率,心电图,血氧饱和度等)。又例如,在展示远端专家视频画面时,共享数据可以包括摄像头拍摄的专家的视频数据、音频数据等。又例如,在互动场景中,共享数据可以包括模型操控、空间标注、群聊留言板和私聊对话框等内容。
在一些实施例中,步骤550还包括在虚拟空间创建至少一个第二空间和/或第二窗口,其中,至少一个第二空间和/或第二窗口中的每一个与一个参与者相对应;通过第二空间和/或第二窗口展示对应的参与者的共享数据。
第二空间和/或第二窗口是指在虚拟空间创建的用于展示共享数据的空间和/或窗口。在一些实施例中,第二空间和/或第二窗口可以是仅对应的参与者可见的窗口,例如,两个参与者之间的私聊窗口。在一些实施例中,第二空间和/或第二窗口可以由系统预设排版,也可以由参与者自行拖拽移动位置。
在一些实施例中,参与者可以根据需要创建第二空间和/或第二窗口,例如,参与者可以在终端的创建界面选择创建第二空间和/或第二窗口。在一些实施例中,第二空间和/或第二窗口也可以由系统默认创建。
在一些实施例中,不同的第二空间和/或第二窗口可以对应不同的参与者,并展示不同的共享数据。在一些实施例中,第二空间和/或第二窗口可以通过动态分配实现与参与者的一一对应,例如,当参与者进入虚拟空间时,系统自动为参与者创建对应的第二空间和/或第二窗口。又例如,参与者自行创建的第二空间和/或第二窗口与本人相对应。
在一些实施例中,参与者可以将终端接收或存储的待共享的数据上传到系统的服务器中,其他参与者可以根据需求从服务器中下载共享数据。关于共享数据的方法的详细内容,可以参见图3及其相关描述。
基于XR的多人在线直播方法可以实现参与者在虚拟空间中的第一人称视角沉浸式互动操作,增加参与者的学习兴趣和技能掌握熟练程度,解决实际空间场地、人数限制而无法达到最佳指导效果等问题,并且可以在虚拟空间中直观展示参与者共享的数据,便于参与者之间信息同步,从而提高讨论、指导等效率及效果。
图6是根据本说明书一些实施例所示的位置信息实时更新的示例性流程图。在一些实施例中,流程600可以由定位模块220执行。
在一些实施例中,参与者终端可以扫描参与者所在的实际空间,对参与者进行空间定位;对于完成扫描的所述参与者,参与者终端可以确定参与者在实际空间的实时位置数据610。
在一些实施例中,参与者终端可以基于多种方式扫描参与者所在的实际空间,例如,参与者可以手持终端,利用终端的深度摄像机扫描实际空间周围环境。
又如,参与者终端可以获取实际空间锚点,对实际空间的特殊平面进行多点位的空间扫描,保持实际空间的锚点定位成功,即空间定位成功;若扫描失败,则提醒空间扫描未完成。
在一些实施例中,参与者终端可以基于多种方式确定参与者在实际空间的实时位置数据610。例如,参与者终端可以在实际空间扫描完成后绘制空间轮廓,根据参与者与空间参照物的相对位置信息确定参与者的实时位置数据610。又例如,参与者终端还可以直接根据GPS等定位方法获取参与者的实时位置数据610。
在一些实施例中,参与者终端可以基于实时位置数据610确定参与者在实际空间的第一移动信息620。
第一移动信息620是指参与者在实际空间移动而产生的信息。第一移动信息可以包括参与者在实际空间的方位、距离、高度等的移动信息。
在一些实施例中,第一移动信息620可以通过多种方式获得,例如,第一移动信息可以基于参与者在实际空间的实时位置数据确定,当参与者的实时位置数据发生变化,参与者终端可以根据变化的数据计算对应的第一移动信息。
又如,可以通过参与者在实际空间的锚点定位确定,即,可以通过锚点的移动信息确定。关于获取第一移动信息的更多内容,可以参见图4及其相关描述。
在一些实施例中,服务器可以确定虚拟人物在虚拟空间的初始位置信息660。
例如,在扫描参与者所在的实际空间后,参与者终端可以确定当前参与者在实际空间的位置数据,服务器可以获取该位置数据并将其映射为虚拟人物在虚拟空间的初始位置信息。又例如,初始位置信息可以由服务器预设。关于确定虚拟人物在虚拟空间的初始位置信息的更多说明,可以参见图4及其相关描述。
在一些实施例中,参与者终端可以获取参与者在实际空间的第一动作信息630;第一动作信息630包括所述参与者的身体各个部位的子动作信息,
第一动作信息630是指参与者在实际空间产生的身体动作信息。第一动作信息630还可以包括肢体动作信息(例如,伸展双臂、摇晃身体、走路、下蹲)、面部表情信息(例如眨眼、张嘴)等。在一些实施例中,第一动作信息630包括所述参与者的身体各个部位的子动作信息。
子动作信息是指参与者的身体各个部位的具体动作信息,例如,跑步动作中的腿部动作信息和手臂动作信息。在一些实施例中,参与者终端可以将参与者的动作划分为多个身体部位的子动作,进而获取各个身体部位的子动作信息。
在一些实施例中,当参与者进行某一动作时,至少一个身体部位会参与或构成该动作,例如,当参与者进行跑步动作时,参与者的双脚、腿部、手臂等部位都会产生相应的动作,其中,双脚和腿部可以作为跑步动作中的核心部位。针对不同的场景和不同的动作,参与者的核心部位可以不同。关于不同场景和核心部位的更多描述可以参见图6及其相关描述。
在一些实施例中,第一动作信息和子动作信息可以通过多种方式获得。例如,可以通过摄像头、穿戴设备、传感器等设备获取。具体的,摄像头可以捕捉参与者的实时图像信息,对实时图像处理可以得到参与者身体各部位的变化进而得到第一动作信息和子动作信息;穿戴设备可以在对应的关节活动部位固连位移传感器、角度传感器等元件,用于获取参与者身体各部位的变化信息并转化为第一动作信息和子动作信息。
在一些实施例中,参与者终端可以通过预设3D坐标位置算法,基于第一移动信息620和/或所述第一动作信息630同步更新参与者对应的虚拟人物的第二移动信息670和/或第二动作信息680。
在一些实施例中,基于第一移动信息和/或所述第一动作信息同步更新参与者对应的虚拟人物的第二移动信息和/或第二动作信息可以包括基于第一移动信息更新第二移动信息、基于第一移动信息更新第二移动信息和第二动作信息、基于第一动作信息更新第二动作信息、基于第一动作信息更新第二移动信息和第二动作信息、基于第一移动信息和第一动作信息更新第二移动信息和第二动作信息等情况。
在一些实施例中,参与者终端可以通过多种方法基于第一移动信息和/或所述第一动作信息同步更新参与者对应的虚拟人物的第二移动信息和/或第二动作信息。例如,参与者终端可以通过实时扫描实际空间,获取参与者的第一移动信息和/或第一动作信息并传输给服务器,再通过预设3D坐标位置算法做坐标转换,将参与者的第一移动信息和/或第一动作信息与虚拟人物的数据合并,从而得到对应的虚拟人物的第二移动信息和/或第二动作信息。
例如,参与者终端获取参与者在实际空间内向正前方移动两米的距离的第一移动信息,以及以70厘米步幅步行移动并伴随双臂下垂15°摆动的第一动作信息,则可以通过预设3D坐标位置算法做坐标转换,将上述数据与虚拟人物合并,得到虚拟人物在虚拟空间内,也向正前方移动两米的距离的第二移动信息,以及以70厘米步幅步行移动并伴随双臂下垂15°摆动的第二动作信息。
在一些实施例中,服务器可以基于当前场景,判断参与者的至少一个核心身体部位;基于至少一个核心身体部位确定参与者的身体各个部位的子动作信息的展示优先级640;基于子动作信息的展示优先级确定动作信息的展示参数650,展示参数650包括展示频率、展示精度;基于展示参数同步与参与者对应的虚拟人物的第二动作信息680。
当前场景是指当前虚拟空间内的场景,例如学术会议、远程会诊等,关于场景的更多描述可以参见图1及其相关内容。
核心身体部位是指对参与者的动作最重要的身体部位。例如,在手术指导场景中,医生进行手术操作时的核心部位可以是手部;又例如,在审讯过程中,被审讯人员的核心部位可以是面部。
在一些实施例中,核心身体部位可以通过多种方式确定,例如可以预设不同场景不同阶段对应的核心身体部位的对照表,基于预设对照表确定当前场景中的核心身体部位。又如,核心身体部位也可以依据部位的持续移动时间来确定,对于持续移动时间较长的部位可以认为其承担参与者当前的主要动作,是核心身体部位。
展示优先级640是指参与者的身体各个部位的子动作信息的展示优先级。展示优先级640可以通过排序或等级表示,例如,可以以1-10的数值反映展示优先级排序先后,数值越小,排序越靠前,表明对应的子动作信息要在前展示。又例如,1-10的数值也可以反映展示优先级的级别高低,数值越大表示级别越高,对应的子动作信息要在前展示。
在一些实施例中,服务器可以预设不同场景中各个部位的展示优先级,在实际应用时可以基于预设的展示优先级对照表对子动作信息进行展示。例如,可以预设在手术直播场景中,手部子动作信息的展示优先级最高,手臂次之,腿部最低,那么在实际手术直播时,便可以基于预设优先级对照表中的上述信息对医生的动作进行展示。在一些实施例中,还可以基于场景信息和身体各个部位的动作信息确定展示优先级。关于确定展示优先级的详细内容,可以参见图7及其描述。
展示参数650是指和子动作展示相关的参数,例如,展示参数可以包括动作的展示频率和展示精度等。
展示频率是指子动作的更新频率。例如,可以设定展示频率的范围以30-60赫兹为低展示频率,60-90赫兹为中展示频率,90-120赫兹为高展示频率。在一些实施例中,展示频率可以是固定的数值选项,也可以在展示频率范围内自由改变。在一些实施例中,展示频率可以由服务器预设,还可以基于子动作信息的展示优先级确定,如展示优先级越大,展示频率越高。
展示精度是指子动作的展示精度,展示精度可以用像素来表示。例如,可以以1280*720的像素作为流畅展示精度,1920*1080的像素作为标准展示精度,2560*1440及以上的像素作为高清展示精度。在一些实施例中,展示精度可以由服务器预设,还可以基于子动作信息的展示优先级确定,例如,展示优先级越大,展示精度越高。
在一些实施例中,展示参数可以基于子动作信息的展示优先级确定,对于优先级较高的子动作,可以以较高的频率和精度进行展示。例如,在手术中,对于医生手部动作变化采用较高的展示频率和展示精度来展示,对于其他部位的动作如摇晃身体,可以以较低的展示频率展示;又例如,在审讯过程中,被审讯人员的面部表情变化可以采用较高的展示频率和展示精度。
在一些实施例中,服务器可以预设不同展示优先级对应的参数表,例如预设第一展示优先级对应的展示频率为120hz,展示精度为2560*1440像素,第二展示优先级对应的展示频率为90hz,展示精度为1920*1080像素。在一些实施例中,展示参数也可以由参与者自行设定。
在一些实施例中,基于子动作信息的展示优先级确定参与者的各个部位的展示参数后,服务器可以获取各个部位的展示参数数据,进而根据不同部位的展示参数对虚拟人物的第二动作信息进行同步更新。例如,根据不同部位的展示频率(如对于同一参与者,其手部展示频率120hz,腿部展示频率为60hz)采集并更新对应部位的第二动作信息;又例如,根据不同部位的展示精度(如对于上述参与者,其手部展示精度为2560*1440像素,腿部展示精度为1280*720像素)对第二动作信息进行展示。
在一些实施例中,可以通过预设3D坐标位置算法,基于第二移动信息更新位置信息,具体说明可以参见图4及其相关内容。
根据展示优先级确定展示参数来同步第二动作信息,对于较重要的动作变化采用高频率、高精度的展示,而对于不重要的动作变化采用较低的频率和精度展示,可以在保证动作展示效果的同时有效节约服务器资源。
根据图6所示的位置更新方法,可以将参与者在实际空间的动作信息和移动信息实时准确地映射在虚拟空间内,使得远程的参与者可以实时观看和了解作业人员在实际空间的操作细节,从而提供实时的指导信息,避免不必要的动作造成的干扰,并且提升参与者的沉浸式体验。
图7是根据本说明书一些实施例所述的确定子动作信息的展示优先级的示例性示意图。在一些实施例中,流程700可以由定位模块220执行。
在一些实施例中,子动作信息的展示优先级可以基于处理模型实现。
在一些实施例中,处理模型可以用于确定子动作信息的展示优先级。处理模型可以为机器学习模型,例如,处理模型可以包括卷积神经网络模型(Convolutional NeuralNetworks,CNN)、深度神经网络模型(Deep Neural Networks,DNN)。
步骤710,可以基于动作图像通过卷积神经网络模型确定身体各个部位的动作轨迹和身体各个部位的动作特征向量。
动作图像可以指参与者各个部位的子动作的影像。通过参与者所在实际空间的数据采集设备来获取动作信息。例如,动作图像可以是通过全景相机拍摄的参与者甲的动作视频或图片。
在一些实施例中,卷积神经网络模型可以用于对至少一个动作图像处理确定至少一个与动作图像对应的动作轨迹和动作特征向量。
动作轨迹可以指参与者身体部位的运动轨迹。运动轨迹可以用相应的身体部位在连续的时间点的位置坐标序列或矩阵等表示,其中每个序列或矩阵元素可以表示身体上一个部位的中心位置在对应时刻的位置坐标。例如,动作轨迹序列可以为((1,0),(1,1),(1,2)),其中,(1,0)、(1,1)、(1,2)分别为参与者甲的右手在连续三个时间点的位置坐标。
运动特征向量可以指身体各个部位的动作的特征向量。运动特征向量的元素可以包括部位名称、部位动作在各个场景的重要程度以及部位发生动作的频繁程度等。基于动作图像获取的部位即部位名称可以为多个。各个部位动作可以根据场景的不同预设不同的重要程度。部位发生动作的频繁程度可以通过预设时间段内发生动作的次数表示。例如,培训课程里,教师的手指动作和面部动作都可以设置较高的重要程度。仅作为示例的,运动特征向量可以为(1,40,3),其中,1可以表示手部,40可以表示手部对当前场景的重要程度,3可以表示手部发生动作的次数为3次。
在一些实施例中,深度神经网络模型可以用于对动作轨迹、动作特征向量以及场景信息进行处理确定子动作信息的展示优先级。
场景信息可以基于多种形式表示,例如,可以通过向量表示。根据预设场景和数字和/或字母的预设关系,场景信息中的元素可以对应于一种场景。例如,场景向量(1)中1可以表示培训场景。
步骤720,可以基于场景信息、身体各个部位的动作轨迹和身体各个部位的动作特征向量,通过深度神经网络模型确定子动作信息的展示优先级。
在一些实施例中,深度神经网络模型可以用于对至少一个与动作图像对应的动作轨迹、动作特征向量、场景信息进行处理确定子动作信息的展示优先级。关于子动作信息的展示优先级的详细内容可以参见本说明书其他部分的描述,例如,图6。
在一些实施例中,处理模型可以通过卷积神经网络模型和深度神经网络模型联合训练得到。例如,向初始卷积神经网络模型输入训练样本,即历史动作图像,得到至少一个与历史动作图像对应的历史动作轨迹、历史动作特征向量;然后将初始卷积神经网络模型的输出及历史动作图像对应的历史场景信息作为初始深度神经网络模型的输入。训练过程中,基于训练样本的标签和初始深度神经网络模型的输出结果建立损失函数,并基于损失函数同时迭代更新初始卷积神经网络模型和初始深度神经网络模型的参数,直到预设条件被满足训练完成。训练完成后处理模型中卷积神经网络模型和深度神经网络模型的参数也可以确定。
在一些实施例中,训练样本可以基于数据采集设备采集的历史动作图像和与其对应的历史场景信息获取。训练样本的标签可以是对应的子动作信息的历史展示优先级。标签可以人工标注。
通过机器学习模型确定子动作信息的展示优先级,可以提高确定展示优先级的速度,还可以提高展示优先级的精确度。
在一些实施例中,子动作信息的展示优先级可以通过向量数据库实现。具体的,可以基于场景信息、参与者的身体各个部位的子动作信息构建场景动作向量,然后,基于场景动作向量在向量数据库检索参考向量,将参考向量对应的子动作信息的展示优先级作为本次的优先级。
子动作信息可以通过子动作信息向量表示。子动作信息向量中的元素可表示身体部位名称和对应的动作。不同的动作可以基于不同的数字或字母表示。例如,子动作信息向量为(1,2),其中,1表示手部,2表示手部动作为握拳。在一些实施例中,可以将场景信息、子动作信息合并来确定场景动作向量。场景动作向量可以是多维向量。例如,场景动作向量(a,b)中a可以表示会诊场景,b可以表示子动作信息向量。
在一些实施中,场景动作向量可以通过嵌入层获取。嵌入层可以为机器学习模型,例如,嵌入层可以是循环神经网络模型(Recurrent Neural Network,RNN)等。嵌入层的输入可以是场景信息、参与者的身体各个部位的子动作信息,输出可以是场景动作向量。
向量数据库可以指包含历史场景动作向量的数据库。在一些实施例中,预设数据库中包括历史场景动作向量和与其对应的子动作信息的展示优先级。
参考向量可以指与场景动作向量相似度超过预设阈值的历史场景动作向量。例如,预设阈值为80%,向量数据库中历史场景动作向量1与场景动作向量相似度为90%,则历史场景动作向量1为参考向量。在一些实施例中,参考向量可以是与场景动作向量相似度最高的历史场景动作向量。
参考向量可以指与场景动作向量相似度可以基于场景动作向量和历史场景动作向量之间的向量距离来确定。向量距离可以包括曼哈顿距离、欧式距离、切比雪夫距离、余弦距离、马氏距离等。可以根据不同的距离类型所对应的公式,代入数值进行数学计算。
在一些实施例中,嵌入层可以与深度神经网络模型联合训练获得。向初始嵌入层输入训练样本,得到场景动作向量;然后将初始嵌入层的输出作为初始深度神经网络模型的输入。训练过程中,基于标签和初始深度神经网络模型的输出结果建立损失函数,并基于损失函数同时迭代更新初始嵌入层和初始深度神经网络模型的参数,直到预设条件被满足训练完成。训练完成后嵌入层和深度神经网络模型的参数也可以确定。
在一些实施例中,训练样本可以是历史场景信息、参与者的身体各个部位的历史子动作信息。训练样本的标签可以是对应的子动作信息的历史展示优先级。标签可以人工标注。
通过上述训练方式获得嵌入层的参数,在一些情况下有利于解决单独训练嵌入层时难以获得标签的问题,还可以使嵌入层能较好地得到反映场景信息和子动作信息的场景运动向量。
基于历史数据预设向量数据库,进而确定子动作信息的展示优先级,可以使确定得到的展示优先级更符合实际情况。
图8是根据本说明书一些实施例所示的用于XR的数据处理方法的示例性流程800的流程示意图。流程800可以由展示模块240和生成模块250执行。
步骤810,响应于标注请求者的请求,在虚拟空间内创建画布。
标注请求者是指提出标注请求的参与者。
在一些实施例中,标注请求者可以在终端发送标注请求并被服务器接收。
画布是指虚拟场景中展示待标记内容的画布。画布可以有多种形式,例如,三维画布等。
在一些实施例中,服务器接收到标注请求者的请求后,可以在虚拟空间中创建默认画布。在一些实施例中,标注请求者可以通过手动操作或预设选项改变画布的尺寸和形状,在一些实施例中,标注请求者也可以根据需要拖拽画布进行移动。
步骤820,在画布上展示待标记内容,其中,待标记内容为已被标注过的数据和/或未标注过的原始数据。
在一些实施例中,待标记内容可以来源于多种数据。例如,待标记内容可以是参与者事先准备的数据。又如,待标记内容还可以包括和场景对应的共享数据,例如,在进行病理资料分享时的病人三维影像模型、病理图片和视频等。不同场景下的共享数据不同,待标记内容也不同,关于不同场景下的待标记内容的更多说明可以参考图5的相关内容。
被标注过的数据是指存在历史标注的数据。在一些实施例中,对于被标注过的数据可以继续进行标注。在一些实施例中,在二次标注数据时,可以选择是否显示历史标注情况。
未标注过的原始数据是指不存在历史标注的数据,例如,参与者从服务器中下载的原始数据,直播中的实时数据等。
在一些实施例中,待标记内容为在所述标注请求者的终端上的多个窗口中任意窗口、任意位置展示的内容。
在一些实施例中,对于不同的待标记内容可以采用不同的展示方式。例如,图片可以采用静态展示,视频可以采用视频源动态展示。在一些实施例中,对于不容的终端也可以采用不同的展示方式,例如,VR设备可以通过双眼不同的画面和适当的瞳距进行3D化显示,移动端设备可以采用屏幕进行展示,电脑端可以通过显示器进行展示等。
步骤830,获取标注请求者运用射线交互系统在画布上创建的标记信息,其中,标记信息包括标记内容及标记路径。
标记信息是指对待标记内容进行标注而产生的信息。在一些实施例中,标记信息还可以包括标记时间、标记时间对应的标记位置信息等。例如,标记时间为上午九点,以及此时标记在虚拟空间坐标(20,30,40)的位置处。
标记内容是指对待标记内容进行标注的具体内容,标记内容可以包括画笔绘制的内容、插入的图片、调整大小的操作等。
标记路径是指标记的笔画路径。例如,标注请求者在画布上标记了“人”字,则标记路径为该“人”字的撇和捺。
射线交互系统是指用于进行标记的系统。在一些实施例中,通过射线交互系统,参与者可以将射线指向画布展示的待标记内容,并通过触摸、按压等手势操作进行标记。
在一些实施例中,终端可以实时自动保存标注请求者的标注信息到本地。在一些实施例中,标注请求者可以通过触摸画布、点击按键等操作主动选择保存标注信息。
步骤840,将待标记内容及标记信息分享至其他参与者的终端进行展示。
在一些实施例中,基于终端可以采集对应参与者的标记信息并上传到服务器,再由服务器发送给其他参与者终端,并在其他参与者终端创建展示窗口,从而实现将待标记内容及标记信息分享至其他参与者的终端进行展示。
在一些实施例中,还可以基于展示设置,将待标记内容及其标记信息分享至其他参与者的终端进行展示,基于展示设置进行展示可以实现展示的个性化,满足参与者的需求,具体可以参见图9及其相关内容。
图8所示的用于XR的数据处理方法,可以实现对共享数据进行实时标注,同时,参与者还可在画布上进行插图、更改画笔颜色、调整大小以及撤销、清空等操作,并将操作结果保存至本地,便于日后进行参考、总结和比对。此外,还可以将标注信息分享给其他参与者,便于参与者之间进行复杂问题的讨论。
图9是根据本说明书一些实施例所示的待标记内容展示的示例性流程900的示意图。流程900可以展示模块240执行。
步骤910,获取标注请求者的展示设置,展示设置包括实时标记展示和标记完成后展示。
展示设置是指与展示待标记内容及标记信息相关的设置。展示设置还可以包括展示窗口的3D位置信息、展示画面的尺寸、色彩、精度等信息。
实时标记展示是指将标记请求者进行标记的过程实时同步给其他参与者,即其他参与者可以看到标记信息的创建过程。标记完成后展示是指将标记完成后的最终结果分享给其他参与者,即,其他参与者可以获取到完成标记后的结果,但不能看到标记信息的创建过程。
在一些实施例中,展示设置可以由终端默认确定,例如终端默认标记完成后展示。在一些实施例中,展示设置也可以由参与者对终端展示设置窗口的选项的选择来确定,例如,参与者可以通过点击、触摸等操作,勾选实时标记展示的选项。在一些实施例中,终端可以记录参与者的展示设置,并将设置数据传送给服务器。
步骤920,基于展示设置,将待标记内容及其标记信息分享至其他参与者的终端进行展示。
在一些实施例中,服务器可以根据展示设置,将待标记内容及其标记信息分享至其他参与者的终端进行展示。例如,服务器可以获取参与者选择的展示设置为标记展示,还可以获取参与者的待标记内容及其标记信息,进而可以根据展示设置,将待标记内容及其标记信息的实时数据传送给其他参与者的终端进行实时展示。
在一些实施例中,针对不同的场景,展示的情况可能不同。例如,在手术指导时,为避免对手术过程造成影响,对待标记内容及其标记信息的展示需要避开病人手术部位、设备显示屏等位置。又例如,在培训教学过程中,为保证每个参与者都能清楚看到待标记内容及其标记信息,可以在每位参与者面前创建展示窗口;而在学术讲座场景中,可以只创建一个大型展示窗口进行展示。
在一些实施例中,将待标记内容及其标记信息分享至其他参与者的终端进行展示,包括:基于其他参与者中每个参与者的位置信息确定每个参与者的视角信息;基于每个参与者的视角信息,确定每个参与者的展示内容,并进行展示,展示内容包括在所述视角信息下的待标记内容和/或标记信息。
视角信息是指参与者相对待标记内容及其标记信息的视角信息。视角信息可以包括方位、角度、高度、距离等信息。参与者所处位置不同,对应的视角信息也不同。例如,对于同一展示模型,位于展示模型右前方的参与者的视角信息主要包含展示模型的部分右视图信息以及部分正视图信息;位于展示模型左上方的参与者的视角信息主要包含展示模型的部分左视图信息以及部分俯视图信息。
在一些实施例中,服务器可以基于终端获取参与者的位置信息,与待标记内容及其标记信息的展示位置信息进行比对,确定参与者和展示位置之间的相对位置,从而确定视角信息。例如,可以在虚拟空间构建三维空间坐标(x,y,z),在展示模型等三维图像时,参与者面向y方向站立,其位置坐标为(1,1,1),展示模型的位置坐标(如中心坐标)为(1,2,2),则展示模型和参与者之间的相对位置可以基于两个坐标之间的计算得到,该视角下参与者可以看到模型的部分正视图以及模型底部的信息,服务器可以通过算法确定具体的视角信息。又例如,在上述示例中存在另一参与者的位置坐标为(1,0,1),则该参与者对应的视角信息中,与展示模型的距离要大于位置坐标为(1,1,1)的参与者与展示模型的距离,即对应的该参与者看到的模型比例小于位置坐标为(1,1,1)的参与者所看到的模型比例。
在一些实施例中,可以基于每个参与者的视角信息计算得到该视角下参与者可以看到的展示内容,并对该内容进行展示。例如,根据参与者的视角信息得到该参与者位于展示的3D模型的正右方,即确定该参与者可以看到模型的右视图并将右视图对该参与者进行展示。在一些实施例中,参与者可以看到的内容还与距离有关,例如,对于距离较远的参与者,其对应的展示内容的比例可能小于距离较近的参与者的比例。
根据展示设置将待标记内容及其标记信息展示给其他参与者,可以便于参与者对复杂问题的讨论,对不同的待标记内容及其标记信息采用不同的展示设置,以达到最佳展示效果,进而提高讨论和指导的效果;并且不同的展示设置可以实现展示的个性化,满足参与者的需求。同时,根据参与者的视角信息确定展示内容,可以提供更加逼真、全方位、多层次的渲染展示效果,增强参与者的沉浸式体验。
图10是根据本说明书一些实施例所示的确定预测展示内容的示例性示意流程1000的示意图。在一些实施例中,流程1000可以由展示模块240执行。
步骤1010,预测所述参与者的未来运动轨迹。
未来运动轨迹是指当前时间之后,参与者的运动轨迹。运动轨迹可以包括时间信息以及对应的位置信息等。在一些实施例中,未来运动轨迹对应的时间段的时间长度可以根据需求设定。在一些实施例中,未来运动轨迹对应的时间段可以是从当前时间开始的时间段,也可以是和当前时间有一定间隔的时间段。例如,未来运动轨迹可以是未来5秒内的运动轨迹,也可以是未来10分钟内的运动轨迹。又例如,未来运动轨迹可以是从当前时间开始5秒内的运动轨迹,也可以是与当前时间间隔5分钟后的10分钟内(即当前时间算起的5-15分钟内)的运动轨迹。
在一些实施例中,可以基于场景和参与者的当前子动作信息预测参与者的未来运动轨迹。例如,在手术直播场景中,医生拿起手术缝合包中的器械或者缝合线,则可以预测接下来医生要对手术部位进行缝合。在一些实施例中,参与者的未来运动轨迹还可以基于历史场景和历史进入场景的时间进行预测。例如,对于同一主题的教学场景,历史教学场景中教学人员在进入场景的30分钟时展示示范动作,则可以预测在当前的教学场景中,教学人员在30分钟时会展示示范动作。又例如,对于同一主题的手术指导场景,历史手术指导场景中,被指导人员在进入场景的10分钟时会集中到手术床旁观看指导,则可以预测在当前手术指导场景中,被指导人员会在10分钟时移动到病床周围。
在一些实施例中,所述预测所述参与者的未来运动轨迹可以基于预测模型实现;预测模型的结构为循环神经网络模型;预测模型的输入为截至到当前时间的预设历史时间段,参与者的定位数据序列;预测模型的输出为预设未来时间段的预测位置数据序列。
预设历史时间段是指截止到当前时间的时间段。在一些实施例中,预设历史时间段可以是从参与者进入场景到当前时间的时间段,例如,九点参与者进入虚拟场景,当前时间为十点,则九点到十点即预设历史时间段。在一些实施例中,预设历史时间段还可以是从某一动作的开端到当前时间的时间段,例如,参与者进行一个下蹲动作,从参与者开始下蹲的时刻到当前时间即为预设历史时间段。
在一些实施例中,一个预设历史时间段还可以包含多个时间点信息。在一些实施例中,时间点信息可以为单个时间点的信息。例如,时间点的采集间隔为1秒,预设历史时间段为过去的2分钟,则该预设历史时间段包含120个时间点信息。又例如,时间点的采集间隔为1分钟,预设历史时间段为过去的1小时,则该预设历史时间段包含60个时间点信息。
在一些实施例中,一个时间点信息还对应为一个子时间段的信息。例如,预设历史时间段为九点到十点,该时间段还可以分为三个子时间段,如九点到九点二十五分为第一子时间段,九点二十五分到九点四十五分为第二子时间段,九点四十五分到十点为第三子时间段,即该预设时间段包含三个时间点信息。在一些实施例中,时间点的采集间隔和子时间段的长度可以由服务器预设,也可以由参与者自行设定。
定位数据序列是指参与者在虚拟空间的定位数据序列。定位数据序列可以反映参与者在预设历史时间段内的移动情况。定位数据序列中的每个元素值对应一个时间点时参与者的位置数据。例如,在一组序列((1,1,1),(2,2,2),(1,2,1),(1,2,2))中,若每个坐标元素值对应间隔一秒的单个时间点,则(1,2,1)表明在预设时间段内第三秒时参与者在虚拟空间内的位置数据。又例如,在上述序列中,若每个坐标元素值对应的时间点是一个子时间段,则(1,2,1)表明在预设时间段内第三个子时间段对应的参与者在虚拟空间内的位置数据。
在一些实施例中,预测模型的训练数据可以是多组带标签的训练样本,训练样本可以是历史截至到当前时间的预设历史时间段,参与者的历史定位数据序列。训练样本可以来源于服务器存储的历史数据。预测模型的训练样本的标签可以为历史预设未来时间段时参与者的实际位置数据序列,标签可以通过人工标注的方式获得。
在一些实施例中,通过标签和初始的预测模型的结果对应构建损失函数,基于损失函数通过梯度下降或其他方法迭代更新预测模型的参数。当满足预设条件时模型训练完成,得到训练好的预测模型。其中,预设条件可以是损失函数收敛、迭代的次数达到阈值等。
步骤1020,基于未来运动轨迹,确定未来时间点的视角信息。
未来时间点是指当前时间之后的某一时刻。未来时间点包含在未来运动轨迹对应的时间段内。
视角信息是指参与者相对待标记内容及其标记信息的视角信息。关于视角信息的更多内容可以参见图9及其相关描述。
在一些实施例中,基于参与者的未来运动轨迹,可以确定未来时间点时参与者的位置信息,根据参与者在未来时间点的位置信息与待标记内容及其标记信息的展示窗口的位置信息进行比对,可以确定参与者和展示窗口之间的相对位置,从而确定视角信息。关于如何确定视角信息的更多描述,可以参见图9相关内容。
步骤1030,基于未来时间点的视角信息,确定对应的预测展示内容。
在一些实施例中,预测展示内容可以包括虚拟场景中的待标记内容、标记后的内容及其标记信息等。在一些实施例中,当预测展示内容确定时,则可以基于每个参与者的未来时间点的视角信息,通过计算得到该视角下参与者可以看到的预测展示内容。例如,当预测展示内容为标记后的心脏的三维模型及其标记信息时,根据未来时间点的视角信息可知待标记内容及其标记信息的预测展示窗口位于预测的相应未来时间点时参与者的位置的右前方30°,则可以预测该参与者对应的预测展示内容为该角度下未来时间点时标记后的内容及其标记信息的侧面透视图。
在一些实施例中,当预测展示内容实时变化时,可以基于每个参与者的未来时间点的视角信息对未来时间点的预测展示内容做预先采集的准备。例如,虚拟场景中的待标记内容为医生的手术操作,未来时间点对应的医生的手术操作为胸部手术操作,则可以使参与者视角信息的对应位置的相机提前进入胸部拍摄的待机状态。
通过预测参与者的未来运动轨迹来预测展示内容,可以预先准备相应的未来时间点的展示内容,或者预先准备对未来时间点的展示内容的采集,从而提高加载速度,优化参与者的使用体验。
需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。
- 一种专用于消防部队灭火救援现场的有毒有害气体监测系统及数据传输处理方法
- 一种应用于3D建模的数据处理方法、系统、终端及介质
- 一种基于CPE的XR数据处理方法、装置、设备及介质
- 用于生成学习数据的处理方法、系统、程序和存储介质、以及生成学习数据的方法和系统