CN117710474A - 虚拟相机的参数处理方法、装置、电子设备及存储介质 - Google Patents
虚拟相机的参数处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117710474A CN117710474A CN202211095639.3A CN202211095639A CN117710474A CN 117710474 A CN117710474 A CN 117710474A CN 202211095639 A CN202211095639 A CN 202211095639A CN 117710474 A CN117710474 A CN 117710474A
- Authority
- CN
- China
- Prior art keywords
- camera
- virtual camera
- virtual
- target
- angle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 238000003672 processing method Methods 0.000 title abstract description 30
- 238000009499 grossing Methods 0.000 claims abstract description 269
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000009877 rendering Methods 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims description 80
- 230000004044 response Effects 0.000 claims description 26
- 230000000694 effects Effects 0.000 claims description 25
- 230000015654 memory Effects 0.000 claims description 23
- 210000000988 bone and bone Anatomy 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 230000000153 supplemental effect Effects 0.000 claims description 12
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 239000000306 component Substances 0.000 description 55
- 238000005516 engineering process Methods 0.000 description 28
- 208000012788 shakes Diseases 0.000 description 28
- 230000014509 gene expression Effects 0.000 description 20
- 230000004927 fusion Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 17
- 239000003381 stabilizer Substances 0.000 description 17
- 230000000875 corresponding effect Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 230000003993 interaction Effects 0.000 description 8
- 230000000007 visual effect Effects 0.000 description 7
- 238000012512 characterization method Methods 0.000 description 6
- 230000002829 reductive effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000033228 biological regulation Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 229920000535 Tan II Polymers 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002265 prevention Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000011435 rock Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30241—Trajectory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供了一种虚拟相机的参数处理方法、装置、电子设备及存储介质;方法包括:获取第一虚拟相机的相机参数;其中,所述第一虚拟相机与真实场景中的物理相机具有绑定关系;对所述第一虚拟相机的相机参数进行平滑处理,得到目标相机参数;在虚拟场景中配置第二虚拟相机,所述第二虚拟相机的焦点与所述第一虚拟相机的焦点相对应;基于所述目标相机参数,对所述第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机;其中,所述调整后的第二虚拟相机,用于基于所述图像数据,渲染得到包括所述对象的虚拟场景的图像。通过本申请,能够有效提高虚拟相机的稳定性能。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种虚拟相机的参数处理方法、装置、电子设备及存储介质。
背景技术
虚实融合技术是一种将虚拟场景和真实场景进行巧妙融合的技术,广泛运用于多媒体视频制作、三维建模、线上会议、实时注册、智能交互以及传感等诸多技术领域,虚实融合主要体现在虚实结合、实时交互和三维交互匹配等方面,主要通过显示技术、交互技术、传感技术和计算机图像和图像技术实现。
在相关技术中,通常通过硬件稳定器(例如,相机云台),实现相机的防抖动,硬件稳定器的造价极高,因此,相关技术中的防抖动的硬件成本极高,且稳定性能不佳。
发明内容
本申请实施例提供一种虚拟相机的参数处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够有效提高虚拟相机的稳定性能。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟相机的参数处理方法,包括:
获取第一虚拟相机的相机参数,所述相机参数包括姿态角参数、视场角参数和位置参数中至少之一,所述第一虚拟相机与真实场景中的物理相机具有绑定关系,所述物理相机,用于对所述真实场景中的对象进行图像数据采集,得到所述对象的图像数据;
对所述第一虚拟相机的相机参数进行平滑处理,得到目标相机参数;
在所述虚拟场景中配置第二虚拟相机,所述第二虚拟相机的焦点与所述第一虚拟相机的焦点相对应;
基于所述目标相机参数,对所述第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机;
其中,所述调整后的第二虚拟相机,用于基于所述图像数据渲染得到包括所述对象的虚拟场景的图像。
本申请实施例提供一种虚拟相机的参数处理装置,包括:
获取模块,用于获取第一虚拟相机的相机参数,所述相机参数包括姿态角参数、视场角参数和位置参数中至少之一,所述第一虚拟相机与真实场景中的物理相机具有绑定关系,所述物理相机,用于对所述真实场景中的对象进行图像数据采集,得到所述对象的图像数据;
平滑模块,用于对所述第一虚拟相机的相机参数进行平滑处理,得到目标相机参数;
配置模块,用于在所述虚拟场景中配置第二虚拟相机,所述第二虚拟相机的焦点与所述第一虚拟相机的焦点相对应;
调整模块,用于基于所述目标相机参数,对所述第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机;其中,所述调整后的第二虚拟相机,用于基于所述图像数据渲染得到包括所述对象的虚拟场景的图像。
在一些实施例中,当相机参数包括姿态角时,上述获取模块,还用于获取所述对象在世界坐标系下的目标位置、及所述第一虚拟相机的位置;基于所述对象在世界坐标系下的目标位置和所述第一虚拟相机的位置,确定目标方向向量,所述目标方向向量用于在所述世界坐标系下,指示所述第一虚拟相机指向所述对象的方向;基于所述目标方向向量,确定所述第一虚拟相机的姿态角。
在一些实施例中,所述姿态角包括俯仰角和航向角;上述获取模块,还用于将所述目标方向向量的竖轴分量的余弦值,确定为所述第一虚拟相机的俯仰角,所述竖轴分量是所述目标方向向量在所述世界坐标系的竖轴上的分量;将所述目标方向向量的纵轴分量和横轴分量的比值,确定为参考比值,所述纵轴分量是所述目标方向向量在所述世界坐标系的纵轴上的分量,所述横轴分量是所述目标方向向量在所述世界坐标系的横轴上的分量;将所述参考比值的正切值,确定为所述第一虚拟相机的航向角。
在一些实施例中,当所述对象的数量为一个时,上述获取模块,还用于获取所述对象在所述世界坐标系下的多个骨骼点坐标;对所述多个骨骼点坐标进行加权求和,得到所述对象在世界坐标系下的目标位置。
在一些实施例中,当所述对象的数量为至少两个时,上述获取模块,还用于针对各所述对象分别执行以下处理:获取所述对象在所述世界坐标系下的多个骨骼点坐标;对所述多个骨骼点坐标进行加权求和,得到所述对象在所述世界坐标系下的位置;基于各所述对象在所述世界坐标系下的位置,确定所述目标位置,其中,所述目标位置与各所述对象在所述世界坐标系下的位置之间的距离小于距离阈值。
在一些实施例中,所述第一虚拟相机存在n个平滑时刻,n为大于1的正整数;上述平滑模块,还用于当所述第一虚拟相机的相机参数包括第n平滑时刻的相机参数时,获取平滑指数、及第n-1目标相机参数;其中,所述平滑指数,用于指示所述相机参数的平滑程度;所述第n-1目标相机参数为,在第n-1平滑时刻,对所述第一虚拟相机的相机参数进行平滑处理所得到的目标相机参数;基于所述平滑指数及第n-1目标相机参数,对所述第n平滑时刻的相机参数进行平滑处理,得到第n目标相机参数,并将所述第n目标相机参数作为所述目标相机参数。
在一些实施例中,所述平滑指数介于0至1之间,上述平滑模块,还用于将所述第n平滑时刻的相机参数和所述平滑指数的乘积,确定为第一参考参数;将所述第n-1目标相机参数和补充平滑指数的乘积,确定为第二参考参数,其中,所述补充平滑指数是所述平滑指数与1的差值;将所述第一参考参数和所述第二参考参数相加,得到所述第n目标相机参数,并将所述第n目标相机参数作为所述目标相机参数。
在一些实施例中,当所述相机参数包括所述姿态角时,所述姿态角包括俯仰角、航向角和滚转角;上述虚拟相机的参数处理装置,还包括:锁定模块,用于响应于针对所述姿态角中目标角的锁定指令,对所述目标角进行锁定;其中,所述目标角包括所述俯仰角、航向角和滚转角中至少之一;上述平滑模块,还用于对所述姿态角中除所述目标角以外的部分进行平滑处理,得到目标相机参数。
在一些实施例中,上述调整模块,还用于将所述第二虚拟相机当前的相机参数,调整为所述目标相机参数,得到调整后的第二虚拟相机;上述虚拟相机的参数处理装置,还包括:指令调整模块,用于响应于针对所述目标相机参数的调整指令,对所述目标相机参数进行调整,以得到调整后的第二虚拟相机。
在一些实施例中,当所述相机参数包括所述姿态角时,上述平滑模块,还用于获取所述姿态角的数据类型,其中,所述数据类型包括四元数类型和欧拉角类型;当所述数据类型为所述四元数类型时,对所述四元数类型的姿态角中的每个元素进行平滑处理,得到所述四元数类型的参考姿态角;将所述四元数类型的参考姿态角进行数据类型转换,得到所述欧拉角类型的参考姿态角,并将所述欧拉角类型的参考姿态角,确定为目标姿态角。
在一些实施例中,上述虚拟相机的参数处理装置,还包括:选择模块,用于确定所述虚拟场景中多个已配置的虚拟相机,其中,各所述已配置的虚拟相机分别与不同的所述物理相机绑定;响应于针对所述多个已配置的虚拟相机的选择操作,将被选中的所述虚拟相机确定为所述第一虚拟相机。
在一些实施例中,上述虚拟相机的参数处理装置,还包括:第二获取模块,用于获取第三虚拟相机的相机参数,所述第三虚拟相机与所述真实场景中的物理相机不具有绑定关系;第二平滑模块,用于对所述第三虚拟相机的相机参数进行平滑处理,得到所述第三虚拟相机的目标相机参数;第二配置模块,用于在所述虚拟场景中配置第四虚拟相机,所述第四虚拟相机的焦点与所述第三虚拟相机的焦点相对应;第二调整模块,用于基于所述第三虚拟相机的目标相机参数,对所述第四虚拟相机的相机参数进行调整,得到调整后的第四虚拟相机;其中,所述调整后的第四虚拟相机,用于渲染得到所述虚拟场景的图像。
在一些实施例中,当所述第三虚拟相机的相机参数包括所述姿态角时,上述第二获取模块,还用于获取所述第三虚拟相机的焦点位置的位置参数;基于所述焦点位置的位置参数和所述第三虚拟相机的位置参数,确定所述第三虚拟相机的方向向量;基于所述第三虚拟相机的方向向量,确定所述第三虚拟相机的姿态角。
在一些实施例中,当所述相机参数包括所述视场角时,上述第二获取模块,还用于当所述第三虚拟相机的视场范围内存在虚拟对象时,获取虚拟距离,所述虚拟距离是第一位置与第二位置间的距离,所述第一位置是所述第三虚拟相机在世界坐标系下的位置,所述第二位置是所述虚拟对象在所述世界坐标系下的位置;基于所述虚拟距离,确定所述第三虚拟相机的视场角,其中,所述虚拟距离的数值大小与所述视场角的数值大小成正比。
在一些实施例中,上述虚拟相机的参数处理装置,还包括:抖动模块,用于响应于针对所述调整后的第四虚拟相机的抖动参数添加指令,在所述调整后的第四虚拟相机的相机参数中添加所述抖动参数,以使添加所述抖动参数的第四虚拟相机渲染得到的图像产生晃动效果。
本申请实施例提供一种电子设备,包括:
存储器,用于存储计算机可执行指令或者计算机程序;
处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现本申请实施例提供的虚拟相机的参数处理方法。
本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令,用于引起处理器执行时,实现本申请实施例提供的虚拟相机的参数处理方法。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的虚拟相机的参数处理方法。
本申请实施例具有以下有益效果:
通过获取与物理相机绑定的第一虚拟相机的相机参数,对第一虚拟相机的相机参数进行平滑处理,得到目标相机参数,并基于目标相机参数,对第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机,通过调整后的第二虚拟相机,对物理相机所采集的图像数据进行渲染得到包括对象的虚拟场景的图像;在虚实结合的画面渲染过程中,由于第一虚拟相机与真实场景中的物理相机具有绑定关系,使得第一虚拟相机与该物理相机具有相同的相机参数,进而使得对第一虚拟相机的相机参数的平滑,相当于对物理相机的相机参数进行了平滑,更通过配置和第一虚拟相机的焦点相对应的第二虚拟相机,实现平滑处理所得到的目标相机参数到第二虚拟相机的转移,如此,使得真实场景中的物理相机无需硬件稳定器的辅助,即使物理相机处发生抖动,第二虚拟相机处的相机参数也可保持稳定,有效提升了虚拟相机的稳定性能,且节省了在物理相机上加装硬件稳定器的硬件成本,从而显著降低了硬件成本。
附图说明
图1A至图1B是相关技术的效果示意图;
图2是本申请实施例提供的虚拟相机的参数处理系统架构的结构示意图;
图3是本申请实施例提供的虚拟相机的参数处理装置的结构示意图;
图4是本申请实施例提供的虚拟相机的参数处理方法的流程示意图;
图5是本申请实施例提供的虚拟相机的参数处理方法的原理示意图;
图6至图7是本申请实施例提供的虚拟相机的参数处理方法的流程示意图;
图8是本申请实施例提供的虚拟相机的参数处理方法的原理示意图;
图9至图11是本申请实施例提供的虚拟相机的参数处理方法的流程示意图;
图12至图14是本申请实施例提供的虚拟相机的参数处理方法的原理示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)虚拟场景:是应用程序在电子设备上运行时显示(或提供)的场景。虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。
2)虚拟对象:虚拟场景中可以进行交互的各种人和物的形象,或在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,例如在虚拟场景中显示的人物、动物等。该虚拟对象可以是虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
3)虚实融合:虚实融合技术是一种将虚拟场景和真实场景进行巧妙融合的技术,广泛运用于多媒体视频制作、三维建模、线上会议、实时注册、智能交互以及传感等诸多技术领域,虚实融合主要体现在虚实结合、实时交互和三维交互匹配等方面,主要通过显示技术、交互技术、传感技术和计算机图像和图像技术实现。
4)虚拟相机:是计算机动画软件或虚拟引擎中架设的“摄影机”,虚拟相机在动画制时对于表现视点的作用,相当于传统意义上的摄影机,虚拟相机与拍摄的物理相机的拍摄对象完全不同,但是功能却极其相似,物理相机所拍摄的是实景人物或实际搭建好的场景,虚拟相机拍摄的是建立在三维软件中的模型,可以实现无限的可能性,虚拟相机在虚拟引擎中通过图标的形式呈现,同样具有镜头、焦距、焦点、光圈、景深这些参数,可以实现“推、拉、摇、移、跟、甩、升、降、综合运动”等相机动作,可以实现物理相机难于实现甚至无法实现的拍摄效果,比如:穿墙而过、穿越钥匙孔、穿过物体等,物理相机需要调节的参数在分布在物理相机的机身上,需要人工操作。虚拟相机的相机参数是集成在面板上的按钮或数值输入栏,只需操作者输入参数或拖动鼠标,有时候几个关键帧就可以确定虚拟相机的运动路径,物理相机在实际拍摄中,往往需要有稳定器或运动控制系统,即便这样画面的晃动仍然存在。
5)虚拟引擎:虚拟引擎是指一些已经编写好的可编辑计算机虚拟系统或者一些交互式实时图像应用程序的核心组件,这些系统为虚拟场景的设计者提供编写虚拟场景所需的各种工具,其目的在于让设计者能够容易和快速地编写出程序,虚拟引擎包括渲染引擎(渲染引擎包括二维渲染引擎和三维渲染引擎)、物理引擎、碰撞检测引擎、音效引擎、脚本引擎、动画引擎、人工智能引擎、网络引擎和场景管理引擎等。
6)相机参数:相机参数包括姿态角参数、视场角参数和位置参数中的至少之一,其中,姿态角参数是按欧拉概念定义的,故又称为欧拉角,姿态角包括滚转角、俯仰角和航向角,不同的转动顺序会形成不同的坐标变换矩阵,通常按航向角、俯仰角和滚转角的顺序来表示相机坐标系相对于对象坐标系的空间转动。视场角参数的数值大小与虚拟相机的视野范围正相关,位置参数表征相机的三维位置坐标。
7)元宇宙(Meta Verse):是利用科技手段进行链接与创造的,将现实世界映射为交互的虚拟世界,具备新型社会体系的数字生活空间。元宇宙是整合多种新技术而产生的新型虚实相融的互联网应用和社会形态,它基于扩展现实技术提供沉浸式体验,以及数字孪生技术生成现实世界的镜像,通过区块链技术搭建经济体系,将虚拟世界与现实世界在社交系统、身份系统等系统上密切融合,并且允许每个用户进行内容生产和编辑。
8)响应于:用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
在本申请实施例的实施过程中,申请人发现相关技术存在以下问题:
参见图1A和图1B,图1A和图1B是相关技术的效果示意图,在相关技术中,通常通过硬件稳定器(例如,图1A所释出的硬件稳定器40,图1B所示出的硬件稳定器41)实现相机的防抖动,硬件稳定器可以采用额外加装相机配件的方式,实现对象自动跟拍等功能,但是硬件稳定器的造价会随着相机造价的提高而提高,因此,防抖动成本极高。
在相关技术中,还可以通过使用特征点检测算法,检测每帧图像的特征点,对相同特征点的运动轨迹做平滑处理的方式,得到平滑结果,基于平滑结果进行放大、缩小、旋转、裁切或扭曲每帧画面,得到防抖处理后的视频。但是,相关技术中的上述防抖算法,往往会占用大量的计算资源,且防抖效果不佳。
本申请实施例提供的虚拟相机的参数处理方法,较之于上述相关技术,能够获得与硬件稳定器相同的高质量稳定效果,且复杂度极低,实时运行且不占用计算资源。且无需复杂的安装调试操作,只需连接相机画面即可马上使用,且无需安装调试,易用性极高、门槛极低,能够完全替代掉实体稳定器,从而节省成本。
本申请实施例提供一种虚拟相机的参数处理方法、装置、电子设备、计算机可读存储介质及计算机程序产品,能够在显著降低硬件成本的同时,有效提高虚拟相机的稳定性能,同时有效提高虚拟相机的防抖动效果,下面说明本申请实施例提供的虚拟相机的参数处理系统的示例性应用。
参见图2,图2是本申请实施例提供的虚拟相机的参数处理系统100的架构示意图,终端(示例性示出了终端400)通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
终端400用于供用户使用客户端410,在图形界面410-1(示例性示出了图形界面410-1)显示虚拟场景的图像。例如,在图形界面410-1中显示网络游戏APP中的虚拟场景的图像。再例如,终端400运行网络会议应用APP,在图形界面410-1中显示虚拟场景的图像。再例如,终端400运行视频APP,在图形界面410-1中显示虚拟场景的图像。终端400和服务器200通过有线或者无线网络相互连接。
在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能电视、智能手表、车载终端等,但并不局限于此。本申请实施例提供的电子设备可以实施为终端,也可以实施为服务器。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
在一些实施例中,本申请实施例提供的虚拟相机的参数处理方法还可应用于与现实增强相关的虚拟场景的图像的显示场景中。
例如,利用终端400(如虚拟穿戴终端)进行虚拟场景的图像的显示,终端400在图形界面410-1中显示可供用户选择的虚拟相机的图标,响应于用户针对图形界面410-1中显示的图标的选择操作,确定所选择的虚拟相机;终端400通过网络300向服务器200发送所选择的虚拟相机,服务器200对所选择的虚拟相机的相机参数进行平滑处理,得到目标相机参数,通过配置有目标相机参数的虚拟相机,渲染得到虚拟场景的图像,服务器200向终端400发送渲染得到的虚拟场景的图像,终端400在图形界面410-1中显示渲染得到的虚拟场景的图像。
在一些实施例中,终端400在图形界面410-1中显示可供用户选择的虚拟相机的图标,响应于用户针对图形界面410-1中所显示的图标的选择操作,获取所选择的虚拟相机的相机参数,对所选择的虚拟相机的相机参数进行平滑处理,得到目标相机参数,通过配置有目标相机参数的虚拟相机,渲染得到虚拟场景的图像,并在图形界面410-1中显示渲染得到的虚拟场景的图像。
在另一些实施例中,终端400在图形界面410-1中显示可供用户选择的虚拟相机的图标,响应于用户针对图形界面410-1中所显示的图标的选择操作,终端400通过网络300向服务器200发送所选择的虚拟相机的相机参数,服务器200接收所选择的虚拟相机的相机参数,并将平滑处理后的目标相机参数发送至终端400,终端400接收平滑处理后的目标相机参数,通过配置有目标相机参数的虚拟相机,渲染得到虚拟场景的图像,终端400在图形界面410-1中显示虚拟场景的图像。
在另一些实施例中,本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源。
参见图3,图3是本申请实施例提供的用于进行平滑处理的电子设备500的结构示意图,其中,图3所示出的电子设备500可以是图2中的服务器200或者终端400,图3所示的电子设备500包括:至少一个处理器410、存储器450、至少一个网络接口420。电子设备500中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi,Wireless Fidelity)、和通用串行总线(USB,Universal Serial Bus)等。
在一些实施例中,本申请实施例提供的虚拟相机的参数处理装置可以采用软件方式实现,图3示出了存储在存储器450中的虚拟相机的参数处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块4551、平滑模块4552、配置模块4553、调整模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的虚拟相机的参数处理装置可以采用硬件方式实现,作为示例,本申请实施例提供的虚拟相机的参数处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的虚拟相机的参数处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
在一些实施例中,终端或服务器可以通过运行计算机程序或计算机可执行指令来实现本申请实施例提供的虚拟相机的参数处理方法。举例来说,计算机程序可以是操作系统中的原生程序(例如,专用的图像去模糊程序)或软件模块,例如,可以嵌入到任意程序(如即时通信客户端、相册程序、电子地图客户端、导航客户端)中的去模糊模块;例如可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
将结合本申请实施例提供的服务器或终端的示例性应用和实施,说明本申请实施例提供的虚拟相机的参数处理方法。
参见图4,图4是本申请实施例提供的虚拟相机的参数处理方法的流程示意图,将结合图4示出的步骤101至步骤104进行说明,本申请实施例提供的虚拟相机的参数处理方法可以由服务器或终端单独实施,或者由服务器及终端协同实施,下面将以服务器单独实施为例进行说明。
在步骤101中,获取第一虚拟相机的相机参数。
在一些实施例中,相机参数包括姿态角、视场角和相机位置中至少之一,第一虚拟相机与真实场景中的物理相机具有绑定关系,物理相机,用于对真实场景中的对象进行图像数据采集,得到对象的图像数据。
在一些实施例中,第一虚拟相机与真实场景中的物理相机具有绑定关系是指第一虚拟相机和所绑定的物理相机具有相同的相机参数,即,第一虚拟相机的相机参数,随着所绑定的物理相机的相机参数的变化而变化,始终与所绑定的物理相机的相机参数相同。
作为示例,参见图5,图5是本申请实施例提供的虚拟相机的参数处理方法的原理示意图。第一虚拟相机可以是与真实场景中的物理相机1具有绑定关系的虚拟相机2。
在一些实施例中,虚拟相机,用于对虚拟场景中的虚拟对象进行图像数据采集,得到虚拟对象的图像数据。
在一些实施例中,虚拟相机包括:与物理相机绑定的虚拟相机和没有与物理相机绑定的虚拟相机。
在一些实施例中,相机参数包括姿态角、视场角和相机位置中至少之一,姿态角(Attitude Angle)包括俯仰角、航向角和滚转角,虚拟相机不同的转动顺序会形成不同的坐标变换矩阵,通常按照航向角、俯仰角和滚转角的顺序来表示虚拟相机的坐标系相对于地理坐标系的空间转动。视场角(Field Of View)的大小决定虚拟相机的视野范围,视场角是以虚拟相机的镜头为顶点,以被测目标的物像可通过镜头的最大范围的两条边缘构成的夹角。
在一些实施例中,在上述步骤101之前,还可以通过如下方式选择第一虚拟相机:确定虚拟场景中多个已配置的虚拟相机,其中,各已配置的虚拟相机分别与不同的物理相机绑定;响应于针对多个已配置的虚拟相机的选择操作,将被选中的虚拟相机确定为第一虚拟相机。
在一些实施例中,在虚实融合的应用场景中,通过在真实场景中配置多个真实相机,不同的真实相机对不同的真实场景中的对象进行数据采集,并通过在虚拟场景中配置与每个真实相机绑定的虚拟相机,从而通过将虚拟相机作为真实场景和虚拟场景的桥梁,实现虚实融合。
如此,通过在虚拟场景中配置与每个真实相机绑定的虚拟相机,并将绑定的虚拟相机作为已配置的虚拟相机,响应于针对多个已配置的虚拟相机的选择操作,将被选中的虚拟相机确定为第一虚拟相机,从而实现根据选择确定需要平滑的虚拟相机的相机参数,在物理相机的配置量较多的情形下,与物理相机绑定的虚拟相机的配置量也会急剧增加,通过针对已配置的虚拟相机的选择操作,确定平滑对象,从而不至于对每个虚拟相机的相机参数进行平滑处理,而是有选择性的选择虚拟相机,针对所选择的虚拟相机的相机参数进行平滑处理,从而有效减少了需进行相机参数平滑处理的虚拟相机的数量,有效较少了计算量,提高了平滑效率。
在一些实施例中,在相机参数包括姿态角时,参见图6,图6是本申请实施例提供的虚拟相机的参数处理方法的流程示意图,图6所示出的步骤101可以通过执行以下步骤1011至步骤1013实现。
在步骤1011中,获取对象在世界坐标系下的目标位置、及第一虚拟相机的位置。
在一些实施例中,世界坐标系是指系统的绝对坐标系,在没有建立用户坐标系之前画面上所有点的坐标都是以该坐标系的原点来确定各自的位置的。
在一些实施例中,物理相机和所绑定的虚拟相机在世界坐标系的位置相同,通过物理相机对真实场景中的对象进行图像数据采集,并将所采集的图像数据发送至虚拟引擎中的与该物理相机绑定的虚拟相机上。
在一些实施例中,真实场景中的对象的数量可以是至少一个,在真实场景中对象的数量为多个时,不同的对象可以通过同一物理相机进行图像数据采集,不同的对象也可以通过不同的物理相机进行图像数据采集。
在一些实施例中,当与第一虚拟相机绑定的物理相机的视野范围内的对象的数量为一个时,即,当对象的数量为一个时,上述步骤1011中获取对象在世界坐标系下的目标位置可以通过如下方式实现:获取对象在世界坐标系下的多个骨骼点坐标;对多个骨骼点坐标进行加权求和,得到对象在世界坐标系下的目标位置。
在一些实施例中,真实场景中的对象包括多个骨骼点,不同的骨骼点在世界坐标系下的位置不同,骨骼点是对象外部形体的骨骼支撑点,骨骼点处在形体的转折部位,对造型起着至关重要的作用。
在一些实施例中,对象在世界坐标系下的目标位置的表达式可以为:
X=a1X1+a2X2+a3X3+…+anXn (1)
其中,X表征对象在世界坐标系下的目标位置,a1表征对象的骨骼点1对应的权重,X1表征对象的骨骼点1在世界坐标系下的位置,a2表征对象的骨骼点2对应的权重,X2表征对象的骨骼点2在世界坐标系下的位置,a3表征对象的骨骼点3对应的权重,X3表征对象的骨骼点3在世界坐标系下的位置,an表征对象的骨骼点n对应的权重,Xn表征对象的骨骼点n在世界坐标系下的位置,n表征对象的骨骼点的数量。
在一些实施例中,不同的骨骼点对应的加权求和的权重不同,骨骼点对应的加权求和的权重可以根据实际情况而具体设定,各骨骼点对应的加权求和的权重之和可以等于1。
如此,通过对多个骨骼点坐标进行加权求和,得到对象在世界坐标系下的目标位置,从而准确确定出对象在世界坐标系下的目标位置,便于后续基于目标位置确定第一虚拟相机的姿态角,有效提高了所确定的第一虚拟相机的姿态角的准确性。
在一些实施例中,当与第一虚拟相机绑定的物理相机的视野范围内的对象的数量为至少两个时,即,当对象的数量为至少两个时,上述步骤1011中获取对象在世界坐标系下的目标位置可以通过如下方式实现:针对各对象分别执行以下处理:获取对象在世界坐标系下的多个骨骼点坐标;对多个骨骼点坐标进行加权求和,得到对象在世界坐标系下的位置;基于各对象在世界坐标系下的位置,确定目标位置,其中,目标位置与各对象在世界坐标系下的位置之间的距离小于距离阈值。
在一些实施例中,距离阈值的设定可以根据具体的应用场景而具体设定。
如此,当对象的数量为至少两个时,可以通过分别确定各对象在世界坐标系下的位置,将距离各对象在世界坐标系下的位置之间的距离小于距离阈值的位置确定为目标位置,从而准确的确定出目标位置,便于后续基于目标位置确定第一虚拟相机的姿态角,有效提高了所确定的第一虚拟相机的姿态角的准确性。
在步骤1012中,基于对象在世界坐标系下的目标位置和第一虚拟相机的位置,确定目标方向向量。
在一些实施例中,目标方向向量用于在世界坐标系下,指示第一虚拟相机指向对象的方向。
在一些实施例中,目标方向向量是在世界坐标系下,以第一虚拟相机的位置为起点,以对象在世界坐标系下的目标位置为终点的向量。
在步骤1013中,基于目标方向向量,确定第一虚拟相机的姿态角。
在一些实施例中,目标方向向量的表达式可以为:
V=(x,y,z) (2)
其中,V表征目标方向向量,x表征目标方向向量的横轴分量,y表征目标方向向量的纵轴分量,z表征目标方向向量的竖轴分量。
在一些实施例中,上述姿态角包括俯仰角和航向角;上述步骤1013可以通过如下方式实现:将目标方向向量的竖轴分量的余弦值,确定为第一虚拟相机的俯仰角,竖轴分量是目标方向向量在世界坐标系的竖轴上的分量;将目标方向向量的纵轴分量和横轴分量的比值,确定为参考比值,纵轴分量是目标方向向量在世界坐标系的纵轴上的分量,横轴分量是目标方向向量在世界坐标系的横轴上的分量;将参考比值的正切值,确定为第一虚拟相机的航向角。
在一些实施例中,第一虚拟相机的姿态角包括滚转角,滚转角的大小可以为0。
在一些实施例中,第一虚拟相机的俯仰角的表达式可以为:
Q=b1sin(z) (3)
其中,b1表征俯仰角系数,z表征目标方向向量的竖轴分量,Q表征第一虚拟相机的俯仰角。
在一些实施例中,第一虚拟相机的航向角的表达式可以为:
W=b2tan2(y,x) (4)
其中,W表征第一虚拟相机的航向角,b2表征航向角系数,x表征目标方向向量的横轴分量,y表征目标方向向量的纵轴分量。
如此,通过基于目标方向向量,准确的确定第一虚拟相机的俯仰角和航向角,从而便于后续基于准确的俯仰角和航向角进行平滑处理,有效提高了俯仰角和航向角的准确性。
在步骤102中,对第一虚拟相机的相机参数进行平滑处理,得到目标相机参数。
在一些实施例中,第一虚拟相机的相机参数包括姿态角、视场角和相机位置中至少之一,姿态角包括俯仰角、航向角和滚转角。上述步骤102可以通过执行如下处理至少之一实现:对第一虚拟相机的姿态角进行平滑处理,得到目标姿态角参数;对第一虚拟相机的视场角进行平滑处理,得到目标视场角参数;对第一虚拟相机的相机位置进行平滑处理,得到目标相机位置参数。
在一些实施例中,上述对第一虚拟相机的姿态角进行平滑处理,得到目标姿态角参数可以通过如下方式实现:对第一虚拟相机的俯仰角进行平滑处理,得到目标俯仰角参数;对第一虚拟相机的航向角进行平滑处理,得到目标航向角参数;对第一虚拟相机的滚转角进行平滑处理,得到目标滚转角参数。
在一些实施例中,平滑处理是指将平滑时刻相邻的两个待平滑参数之间的差距缩小,以达到参数平滑的作用的处理方式。
在一些实施例中,第一虚拟相机存在n个平滑时刻,n为大于1的正整数。参见图6,图6是本申请实施例提供的虚拟相机的参数处理方法的流程示意图,图6所示出的步骤102可以通过执行以下步骤1021至步骤1022实现。
在步骤1021中,当第一虚拟相机的相机参数包括第n平滑时刻的相机参数时,获取平滑指数、及第n-1目标相机参数。
在一些实施例中,第n平滑时刻的相机参数为,在第n平滑时刻,对第一虚拟相机的相机参数进行平滑处理之前的相机参数。
在一些实施例中,平滑指数,用于指示相机参数的平滑程度。第n-1目标相机参数为,在第n-1平滑时刻,对第一虚拟相机的相机参数进行平滑处理所得到的目标相机参数。
作为示例,当n=2时,获取平滑指数、以及第1目标相机参数,其中,第1目标相机参数为,在第1平滑时刻,对第一虚拟相机的相机参数进行平滑处理所得到的目标相机参数。
作为示例,当n=3时,获取平滑指数、以及第2目标相机参数,其中,第2目标相机参数为,在第2平滑时刻,对第一虚拟相机的相机参数进行平滑处理所得到的目标相机参数。
作为示例,当n=3时,获取平滑指数、以及第2目标相机参数,其中,第2目标相机参数为,在第2平滑时刻,对第一虚拟相机的相机参数进行平滑处理所得到的目标相机参数。
在步骤1022中,基于平滑指数及第n-1目标相机参数,对第n平滑时刻的相机参数进行平滑处理,得到第n目标相机参数,并将第n目标相机参数作为目标相机参数。
在一些实施例中,平滑指数介于0至1之间,平滑指数,用于指示相机参数的平滑程度,平滑指数越高,相应的相机参数的平滑程度越高,平滑指数的具体设定,可以根据不同的应用场景而具体设定。
在一些实施例中,平滑指数介于0至1之间,上述步骤1022可以通过如下方式实现:将第n平滑时刻的相机参数和平滑指数的乘积,确定为第一参考参数;将第n-1目标相机参数和补充平滑指数的乘积,确定为第二参考参数,其中,补充平滑指数是平滑指数与1的差值;将第一参考参数和第二参考参数相加,得到第n目标相机参数,并将第n目标相机参数作为目标相机参数。
在一些实施例中,第一参考参数的表达式可以为:
T1=k1βn (5)
其中,T1表征第一参考参数,k1表征平滑指数,β1表征第n平滑时刻的相机参数。
在一些实施例中,第二参考参数的表达式可以为:
T2=(1-k1)αn-1 (6)
其中,T2表征第二参考参数,k1表征平滑指数,αn-1表征第n-1目标相机参数,1-k1表征补充平滑指数。
在一些实施例中,第n目标相机参数的表达式可以为:
αn=T1+T2=k1βn+(1-k1)αn-1 (7)
其中,αn表征第n目标相机参数,T1表征第一参考参数,T2表征第二参考参数。
如此,通过对第一虚拟相机的n个平滑时刻中的每个平滑时刻进行平滑,从而实现了对第一虚拟相机的每个平滑时刻的相机参数的平滑,使得任意两个相邻的平滑时刻的相机参数之间的差距不会发生突变,从而实现了相机参数的平滑。
在一些实施例中,当相机参数包括姿态角时,姿态角包括俯仰角、航向角和滚转角。在上述步骤102之前,还可以通过如下方式对目标角进行锁定:响应于针对姿态角中目标角的锁定指令,对目标角进行锁定;其中,目标角包括俯仰角、航向角和滚转角中至少之一。
作为示例,响应于针对姿态角中俯仰角和航向角的锁定指令,对俯仰角和航向角进行锁定。
作为示例,响应于针对姿态角中俯仰角的锁定指令,对俯仰角进行锁定。
作为示例,响应于针对姿态角中俯仰角和滚转角的锁定指令,对俯仰角和滚转角进行锁定。
在一些实施例中,对目标角进行锁定,用于保持目标角不会被平滑处理。
在一些实施例中,上述步骤102还可以通过如下方式实现:对姿态角中除目标角以外的部分进行平滑处理,得到目标相机参数。
如此,通过对姿态角中除目标角以外的部分进行平滑处理,从而实现了不同的姿态角的逐步平滑,或者部分平滑,从而保证了姿态角平滑处理的可控性,满足各种不同应用场景下的平滑需求,同时,可以实现渐进式平滑,有限减少了平滑过程中的出错率,提高了平滑的准确性。
在一些实施例中,当相机参数包括姿态角时,参见图7,图7是本申请实施例提供的虚拟相机的参数处理方法的流程示意图,图7所示出的步骤102可以通过执行以下步骤1023至步骤1025实现。
在步骤1023中,获取姿态角的数据类型,其中,数据类型包括四元数类型和欧拉角类型。
在一些实施例中,欧拉角类型的姿态角,用于欧拉角是用于,确定虚拟相机位置的三个一组独立角参量,由章动角、进动角和自转角组成。
在一些实施例中,四元数类型的姿态角,其中,四元数是复数的不可交换延伸,如把四元数的集合考虑成多维实数空间的话,四元数就代表着一个四维空间,相对于复数为二维空间。
作为示例,四元数类型的姿态角的表达式可以为:
ai+bj+ck+d (8)
其中,a、b、c、d表征四元数中的各元素,i、j、k表征四元数中的虚数单位。
在步骤1024中,当数据类型为四元数类型时,对四元数类型的姿态角中的每个元素进行平滑处理,得到四元数类型的参考姿态角。
作为示例,参见图8,图8是本申请实施例提供的虚拟相机的参数处理方法的原理示意图。当数据类型为四元数类型时,对四元数类型的姿态角中的每个(逐个)元素进行平滑处理,得到四元数类型的参考姿态角。
作为示例,当数据类型为四元数类型时,对四元数类型的姿态角ai+bj+ck+d中的每个元素(a、b、c、d)进行平滑处理,得到四元数类型的参考姿态角。
在步骤1025中,将四元数类型的参考姿态角进行数据类型转换,得到欧拉角类型的参考姿态角,并将欧拉角类型的参考姿态角,确定为目标姿态角。
作为示例,参见图8,将四元数类型的参考姿态角进行数据类型转换,得到欧拉角类型的参考姿态角,并将欧拉角类型的参考姿态角,确定为目标姿态角。
如此,通过基于姿态角的数据类型,对不同类型的姿态角进行转换、平滑处理,从而有效提高了姿态角平滑处理的普适性。
在步骤103中,在虚拟场景中配置第二虚拟相机,第二虚拟相机的焦点与第一虚拟相机的焦点相对应。
在一些实施例中,第二虚拟相机的焦点与第一虚拟相机的焦点相对应的含义可以是第二虚拟相机的焦点与第一虚拟相机的焦点之间的距离小于焦点距离阈值。即,第二虚拟相机的焦点与第一虚拟相机的焦点之间的距离可以为0,当第二虚拟相机的焦点与第一虚拟相机的焦点之间的距离为0时,第二虚拟相机的焦点与第一虚拟相机的焦点的位置重合。
在一些实施例中,第二虚拟相机需要和第一虚拟相机保持相同的透视关系,通过将第二虚拟相机的焦点设置为与第一虚拟相机的焦点之间的距离小于焦点距离阈值,即,第一虚拟相机的焦点位置和第二虚拟相机的焦点位置较近,从而保证了第二虚拟相机和第一虚拟相机保持相同的透视关系。
如此,通过在虚拟场景中配置与第一虚拟相机的焦点之间的距离小于焦点距离阈值的第二虚拟相机,从而实现了第二虚拟相机始终跟随第一虚拟相机的拍摄方向进行拍摄,从而实现了在虚拟场景中配置与第一虚拟相机具有相同拍摄功能,且透视关系相同的第二虚拟相机,替代第一虚拟相机基于图像数据渲染得到包括对象的虚拟场景的图像。
在步骤104中,基于目标相机参数,对第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机。
在一些实施例中,调整后的第二虚拟相机的相机参数为目标相机参数。
在一些实施例中,目标相机参数包括目标姿态角参数、目标视场角参数和目标位置参数中至少之一。上述步骤104可以通过如下方式实现:基于目标姿态角参数、目标视场角参数和目标位置参数中至少之一,对第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机。
在一些实施例中,上述步骤104可以通过如下方式实现:将第二虚拟相机当前的相机参数,调整为目标相机参数,得到调整后的第二虚拟相机。
在一些实施例中,上述将第二虚拟相机当前的相机参数,调整为目标相机参数,得到调整后的第二虚拟相机可以通过如下方式实现:基于第n目标相机参数,将第二虚拟相机的第n-1平滑时刻的相机参数,调整为第n目标相机参数,得到调整后的第二虚拟相机。
在一些实施例中,在调整为目标相机参数之后,还可以执行以下处理:响应于针对目标相机参数的调整指令,对目标相机参数进行调整,以得到调整后的第二虚拟相机。
在一些实施例中,调整后的第二虚拟相机,用于基于图像数据渲染得到包括对象的虚拟场景的图像。
如此,通过获取与物理相机绑定的第一虚拟相机的相机参数,对第一虚拟相机的相机参数进行平滑处理,得到目标相机参数,并基于目标相机参数,对第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机,通过调整后的第二虚拟相机,对物理相机所采集的图像数据进行渲染得到包括对象的虚拟场景的图像;在虚实结合的画面渲染过程中,由于第一虚拟相机与真实场景中的物理相机具有绑定关系,使得第一虚拟相机与该物理相机具有相同的相机参数,进而使得对第一虚拟相机的相机参数的平滑,相当于对物理相机的相机参数进行了平滑,更通过配置和第一虚拟相机的焦点相对应的第二虚拟相机,实现平滑处理所得到的目标相机参数到第二虚拟相机的转移,如此,使得真实场景中的物理相机无需硬件稳定器的辅助,即使物理相机处发生抖动,第二虚拟相机处的相机参数也可保持稳定,有效提升了虚拟相机的稳定性能,且节省了在物理相机上加装硬件稳定器的硬件成本,从而显著降低了硬件成本。
在一些实施例中,参见图9,图9是本申请实施例提供的虚拟相机的参数处理方法的流程示意图,将结合图9示出的步骤201至步骤204进行说明,下述步骤201至步骤204的执行主体可以是服务器或终端,或者由服务器及终端协同实施,下面将以执行主体为服务器为例进行说明。
在步骤201中,获取第三虚拟相机的相机参数,第三虚拟相机与真实场景中的物理相机不具有绑定关系。
在一些实施例中,第三虚拟相机的相机参数包括姿态角、视场角和相机位置中至少之一,第一虚拟相机与真实场景中的物理相机不具有绑定关系,物理相机,用于对真实场景中的对象进行图像数据采集,得到对象的图像数据。
在一些实施例中,虚拟相机,用于对虚拟场景中的虚拟对象进行图像数据采集,得到虚拟对象的图像数据。
在一些实施例中,第三虚拟相机的相机参数包括姿态角、视场角和相机位置中至少之一,姿态角包括俯仰角、航向角和滚转角,虚拟相机不同的转动顺序会形成不同的坐标变换矩阵,通常按照航向角、俯仰角和滚转角的顺序来表示虚拟相机的坐标系相对于地理坐标系的空间转动。视场角的大小决定虚拟相机的视野范围,视场角是以虚拟相机的镜头为顶点,以被测目标的物像可通过镜头的最大范围的两条边缘构成的夹角。
在一些实施例中,在上述步骤201之前,还可以通过如下方式选择第三虚拟相机:确定虚拟场景中多个已配置的第三虚拟相机;响应于针对多个已配置的第三虚拟相机的选择操作,将被选中的第三虚拟相机确定为上述第三虚拟相机。
在一些实施例中,当第三虚拟相机的相机参数包括姿态角时,参见图10,图10是本申请实施例提供的虚拟相机的参数处理方法的流程示意图,图10所示出的步骤201可以通过执行以下步骤2011至步骤2013实现。
在步骤2011中,获取第三虚拟相机的焦点位置的位置参数。
在一些实施例中,第三虚拟相机的焦点位置的位置参数为第三虚拟相机在世界坐标系下的位置坐标。
在一些实施例中,世界坐标系是指系统的绝对坐标系,在没有建立用户坐标系之前画面上所有点的坐标都是以该坐标系的原点来确定各自的位置的。
在步骤2012中,基于焦点位置的位置参数和第三虚拟相机的位置参数,确定第三虚拟相机的方向向量。
在一些实施例中,第三虚拟相机的方向向量用于在世界坐标系下,指示第三虚拟相机所指向的方向。
在一些实施例中,第三虚拟相机的方向向量是在世界坐标系下,以第三虚拟相机的位置为起点,以第三虚拟相机的焦点位置终点的向量。
在步骤2013中,基于第三虚拟相机的方向向量,确定第三虚拟相机的姿态角。
在一些实施例中,第三虚拟相机的方向向量的表达式可以为:
T=(x1,y1,z1) (9)
其中,T表征第三虚拟相机的方向向量,x1表征第三虚拟相机的方向向量的横轴分量,y1表征第三虚拟相机的方向向量的纵轴分量,z1表征第三虚拟相机的方向向量的竖轴分量。
在一些实施例中,上述姿态角包括俯仰角和航向角;上述步骤2013可以通过如下方式实现:将第三虚拟相机的方向向量的竖轴分量的余弦值,确定为第三虚拟相机的俯仰角,竖轴分量是第三虚拟相机的方向向量在世界坐标系的竖轴上的分量;将第三虚拟相机的方向向量的纵轴分量和横轴分量的比值,确定为参考比值,纵轴分量是目标方向向量在世界坐标系的纵轴上的分量,横轴分量是目标方向向量在世界坐标系的横轴上的分量;将参考比值的正切值,确定为第三虚拟相机的航向角。
在一些实施例中,第三虚拟相机的姿态角包括滚转角,滚转角的大小可以为0。
在一些实施例中,第三虚拟相机的俯仰角的表达式可以为:
Q2=b3sin(z1) (10)
其中,b3表征俯仰角系数,z1表征第三虚拟相机的方向向量的竖轴分量,Q2表征第三虚拟相机的俯仰角。
在一些实施例中,第三虚拟相机的航向角的表达式可以为:
W2=b4tan2(y1,x1) (11)
其中,W2表征第三虚拟相机的航向角,b4表征航向角系数,x1表征第三虚拟相机的方向向量的横轴分量,y1表征第三虚拟相机的方向向量的纵轴分量。
如此,通过基于第三虚拟相机的方向向量,准确的确定第三虚拟相机的俯仰角和航向角,从而便于后续基于准确的俯仰角和航向角进行平滑处理,有效提高了俯仰角和航向角的准确性。
在一些实施例中,当相机参数包括视场角时,参见图11,图11是本申请实施例提供的虚拟相机的参数处理方法的流程示意图,图11所示出的步骤201可以通过执行以下步骤2014至步骤2015实现。
在步骤2014中,当第三虚拟相机的视场范围内存在虚拟对象时,获取虚拟距离,虚拟距离是第一位置与第二位置间的距离,第一位置是第三虚拟相机在世界坐标系下的位置,第二位置是虚拟对象在世界坐标系下的位置。
在一些实施例中,当第三虚拟相机的视场范围内存在虚拟对象时,获取第三虚拟相机在世界坐标系下的位置与虚拟对象在世界坐标系下的位置之间的虚拟距离。
在步骤2015中,基于虚拟距离,确定第三虚拟相机的视场角,其中,虚拟距离的数值大小与视场角的数值大小成正比。
在一些实施例中,通过获取的虚拟距离的数值大小,确定第三虚拟相机的视场角,当虚拟距离减小时,第三虚拟相机的视场角的数值大小随之减少,当虚拟距离增大时,第三虚拟相机的视场角的数值大小随之增大。
如此,通过虚拟距离的数值大小,动态控制第三虚拟相机的视场角,从而使得第三虚拟相机的视场角随着虚拟距离的数值大小变化而相应变化,从而实现了第三虚拟相机的视场角的动态调控,实现了第三虚拟相机的视场角自动的推拉摇移,有效提升了第三虚拟相机的运镜效果。
在步骤202中,对第三虚拟相机的相机参数进行平滑处理,得到第三虚拟相机的目标相机参数。
在一些实施例中,第三虚拟相机的相机参数包括姿态角、视场角和相机位置中至少之一,姿态角包括俯仰角、航向角和滚转角。上述步骤202可以通过执行如下处理至少之一实现:对第三虚拟相机的姿态角进行平滑处理,得到目标姿态角参数;对第三虚拟相机的视场角进行平滑处理,得到目标视场角参数;对第三虚拟相机的相机位置进行平滑处理,得到目标相机位置参数。
在一些实施例中,上述对第三虚拟相机的姿态角进行平滑处理,得到目标姿态角参数可以通过如下方式实现:对第三虚拟相机的俯仰角进行平滑处理,得到目标俯仰角参数;对第三虚拟相机的航向角进行平滑处理,得到目标航向角参数;对第三虚拟相机的滚转角进行平滑处理,得到目标滚转角参数。
在一些实施例中,平滑处理是指将平滑时刻相邻的两个待平滑参数之间的差距缩小,以达到参数平滑的作用的处理方式。
在一些实施例中,第三虚拟相机存在n个平滑时刻,n为大于1的正整数。上述步骤202可以通过以下方式实现:当第三虚拟相机的相机参数包括第n平滑时刻的相机参数时,获取平滑指数、及第n-1目标相机参数。基于平滑指数及第n-1目标相机参数,对第n平滑时刻的相机参数进行平滑处理,得到第n目标相机参数,并将第n目标相机参数作为目标相机参数。
在一些实施例中,第n平滑时刻的相机参数为,在第n平滑时刻,对第三虚拟相机的相机参数进行平滑处理之前的相机参数。
在一些实施例中,平滑指数,用于指示相机参数的平滑程度。第n-1目标相机参数为,在第n-1平滑时刻,对第三虚拟相机的相机参数进行平滑处理所得到的目标相机参数。
作为示例,当n=2时,获取平滑指数、以及第1目标相机参数,其中,第1目标相机参数为,在第1平滑时刻,对第三虚拟相机的相机参数进行平滑处理所得到的目标相机参数。
作为示例,当n=3时,获取平滑指数、以及第2目标相机参数,其中,第2目标相机参数为,在第2平滑时刻,对第三虚拟相机的相机参数进行平滑处理所得到的目标相机参数。
作为示例,当n=3时,获取平滑指数、以及第2目标相机参数,其中,第2目标相机参数为,在第2平滑时刻,对第三虚拟相机的相机参数进行平滑处理所得到的目标相机参数。
在一些实施例中,平滑指数介于0至1之间,平滑指数,用于指示相机参数的平滑程度,平滑指数越高,相应的相机参数的平滑程度越高,平滑指数的具体设定,可以根据不同的应用场景而具体设定。
在一些实施例中,平滑指数介于0至1之间,上述基于平滑指数及第n-1目标相机参数,对第n平滑时刻的相机参数进行平滑处理,得到第n目标相机参数,并将第n目标相机参数作为目标相机参数可以通过如下方式实现:将第n平滑时刻的相机参数和平滑指数的乘积,确定为第三参考参数;将第n-1目标相机参数和补充平滑指数的乘积,确定为第四参考参数,其中,补充平滑指数是平滑指数与1的差值;将第三参考参数和第四参考参数相加,得到第n目标相机参数,并将第n目标相机参数作为目标相机参数。
在一些实施例中,第三参考参数的表达式可以为:
T3=k3βn (12)
其中,T3表征第三参考参数,k3表征平滑指数,βn表征第n平滑时刻的相机参数。
在一些实施例中,第四参考参数的表达式可以为:
T4=(1-k3)αn-1 (13)
其中,T2表征第四参考参数,k3表征平滑指数,αn-1表征第n-1目标相机参数,1-k3表征补充平滑指数。
在一些实施例中,第n目标相机参数的表达式可以为:
αn=T3+T4=k3βn+(1-k3)αn-1 (14)
其中,αn表征第n目标相机参数,T3表征第三参考参数,T4表征第四参考参数。
如此,通过对第三虚拟相机的n个平滑时刻中的每个平滑时刻进行平滑,从而实现了对第三虚拟相机的每个平滑时刻的相机参数的平滑,使得任意两个相邻的平滑时刻的相机参数之间的差距不会发生突变,从而实现了相机参数的平滑。
在步骤203中,在虚拟场景中配置第四虚拟相机,第四虚拟相机的焦点与第三虚拟相机的焦点相对应。
在一些实施例中,第四虚拟相机的焦点与第三虚拟相机的焦点相对应的含义可以是第四虚拟相机的焦点与第三虚拟相机的焦点之间的距离小于焦点距离阈值。即,第四虚拟相机的焦点与第三虚拟相机的焦点之间的距离可以为0,当第四虚拟相机的焦点与第三虚拟相机的焦点之间的距离为0时,第四虚拟相机的焦点与第三虚拟相机的焦点的位置重合。
在一些实施例中,第四虚拟相机需要和第三虚拟相机保持相同的透视关系,通过将第四虚拟相机的焦点设置为与第三虚拟相机的焦点之间的距离小于焦点距离阈值,即,第三虚拟相机的焦点位置和第四虚拟相机的焦点位置较近,从而保证了第四虚拟相机和第三虚拟相机保持相同的透视关系。
如此,通过在虚拟场景中配置与第三虚拟相机的焦点之间的距离小于焦点距离阈值的第四虚拟相机,从而实现了第四虚拟相机始终跟随第三虚拟相机的拍摄方向进行拍摄,从而实现了在虚拟场景中配置与第三虚拟相机具有相同拍摄功能,且透视关系相同的第四虚拟相机,替代第三虚拟相机基于图像数据渲染得到包括对象的虚拟场景的图像。
在步骤204中,基于第三虚拟相机的目标相机参数,对第四虚拟相机的相机参数进行调整,得到调整后的第四虚拟相机。
在一些实施例中,调整后的第四虚拟相机,用于渲染得到虚拟场景的图像。
在一些实施例中,第三虚拟相机的目标相机参数包括第三虚拟相机的目标姿态角参数、第三虚拟相机的目标视场角参数和第三虚拟相机的目标位置参数中至少之一。上述步骤204可以通过如下方式实现:基于第三虚拟相机的目标姿态角参数、第三虚拟相机的目标视场角参数和第三虚拟相机的目标位置参数中至少之一,对第四虚拟相机的相机参数进行调整,得到调整后的第四虚拟相机。
在一些实施例中,上述步骤204可以通过如下方式实现:将第四虚拟相机当前的相机参数,调整为目标相机参数,得到调整后的第四虚拟相机。
在一些实施例中,上述将第四虚拟相机当前的相机参数,调整为目标相机参数,得到调整后的第四虚拟相机可以通过如下方式实现:基于第n目标相机参数,将第四虚拟相机的第n-1平滑时刻的相机参数,调整为第n目标相机参数,得到调整后的第四虚拟相机。
在一些实施例中,在调整为目标相机参数之后,还可以执行以下处理:响应于针对目标相机参数的调整指令,对目标相机参数进行调整,以得到调整后的第四虚拟相机。
在一些实施例中,还可以通过如下方式使第四虚拟相机渲染得到的图像产生抖动效果:响应于针对调整后的第四虚拟相机的抖动参数添加指令,在调整后的第四虚拟相机的相机参数中添加抖动参数,以使添加抖动参数的第四虚拟相机渲染得到的图像产生晃动效果。
如此,通过在调整后的第四虚拟相机的相机参数中添加抖动参数,从而实现了防抖处理的逆向运用,可以使得第四虚拟相机渲染得到的图像产生晃动效果,模仿出真实场景中的地震效果,使得调整后的第四虚拟相机所渲染出的画面更加真实。
如此,通过获取与物理相机绑定的第一虚拟相机的相机参数,对第一虚拟相机的相机参数进行平滑处理,得到目标相机参数,并基于目标相机参数,对第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机,通过调整后的第二虚拟相机,对物理相机所采集的图像数据进行渲染得到包括对象的虚拟场景的图像;在虚实结合的画面渲染过程中,由于第一虚拟相机与真实场景中的物理相机具有绑定关系,使得第一虚拟相机与该物理相机具有相同的相机参数,进而使得对第一虚拟相机的相机参数的平滑,相当于对物理相机的相机参数进行了平滑,更通过配置和第一虚拟相机的焦点相对应的第二虚拟相机,实现平滑处理所得到的目标相机参数到第二虚拟相机的转移,如此,使得真实场景中的物理相机无需硬件稳定器的辅助,即使物理相机处发生抖动,第二虚拟相机处的相机参数也可保持稳定,有效提升了虚拟相机的稳定性能,且节省了在物理相机上加装硬件稳定器的硬件成本,从而显著降低了硬件成本。
下面,将说明本申请实施例在一个实际的虚实融合的应用场景中的示例性应用。
在虚实融合的应用场景中,虚拟物体和现实世界可以显示在同一视线中,通过本申请实施例提供的虚拟相机的参数处理方法,可以有效提高虚实融合的画面观感,例如,在直播、视频制作应用场景中,能够在自由控制物理相机进行拍摄,且保证画面稳定,提升画面观感,对于物理对象(即上文所描述的真实场景中的对象)的跟拍能够取得远超手动运镜的平滑运镜效果,提升画面质感。在教育、线上会议、互动游戏等应用场景中,能够实现高品质的运镜效果,例如,物理对象(人物)可以站在星空(虚拟场景中)。
本申请实施例通过将虚拟场景中的原始虚实融合相机(即上文所描述的第一虚拟相机)的相机参数进行平滑处理,得到平滑后的相机参数,并将平滑后的相机参数配置给平滑虚拟相机(即上文所描述的第二虚拟相机),从而有效避免了由于原始虚实融合相机的抖动而导致影响画面渲染效果,从而有效提升了画面渲染效果。
本申请实施例可以在虚实融合的应用场景中,在虚拟场景中配置一个平滑虚拟相机,平滑虚拟相机的焦点坐标与虚拟场景中原始虚实融合相机的焦点坐标重合,如此,可以使得平滑虚拟相机的方向与虚拟场景中原始虚拟融合相机的方向保持一致,从而实现自动跟拍、防抖动等功能。
需要注意的是,如果平滑虚拟相机与原始虚实融合相机的焦点只存在微小的差距,透视关系也是基本正确的。也即,平滑虚拟相机和原始虚实融合相机的焦点距离小于距离阈值,距离阈值的大小可以根据应用场景而具体设定。
在一些实施例中,参见图12,图12是本申请实施例提供的虚拟相机的参数处理方法的原理示意图。虚拟场景中的原始虚拟相机可以是用户选择的虚拟相机,原始虚拟相机可以是与物理相机具有绑定关系的虚拟相机,也可以是与物理相机不具有绑定关系的虚拟相机。原始虚拟相机的相机参数包括姿态角、视场角和三维坐标,对原始虚拟相机的相机参数进行平滑处理,得到平滑后的相机参数可以通过如下方式实现:对姿态角、视场角和三维坐标分别进行平滑处理,得到平滑后的姿态角、平滑后的视场角和平滑后的三维坐标。下面,结合图12对姿态角、视场角和三维坐标的平滑处理分别进行说明。
首先,对姿态角的平滑处理过程进行说明,参见图12和图9,图12是本申请实施例提供的虚拟相机的参数处理方法的原理示意图。响应于针对原始虚拟相机的实时切换操作,确定待平滑的虚拟相机(即上文所描述的第一虚拟相机);调用姿态角平滑模块,将待平滑的虚拟相机的相机参数进行平滑处理,得到平滑后的姿态角。
在一些实施例中,虚拟场景中的原始虚拟相机可以是用户选择的虚拟相机,原始虚拟相机可以是与物理相机具有绑定关系的虚拟相机,也可以是与物理相机不具有绑定关系的虚拟相机。
作为示例,参见图5,图5是本申请实施例提供的虚拟相机的参数处理方法的原理示意图。虚拟场景中的原始虚拟相机包括虚拟相机2、虚拟相机3和虚拟相机4,其中,虚拟相机2可以是与物理相机1绑定的虚拟相机,物理相机1是真实世界中存在的相机,虚拟相机3可以是看向虚拟相机2的虚拟相机,虚拟相机4可以是基于选择操作选定的任意虚拟相机,虚拟相机3和虚拟相机4与物理相机1不具有绑定关系。
参见图8,响应于针对原始虚拟相机的实时切换操作,确定待平滑的虚拟相机,当待平滑的虚拟相机是与物理相机绑定的虚拟相机(即上文所描述的第一虚拟相机)时,基于虚拟融合对象模块42确定世界坐标系下各三维骨骼点46的坐标;基于虚实融合相机模块43确定与物理相机绑定的虚拟相机的空间位置44,基于各三维骨骼点的坐标和与物理相机绑定的虚拟相机的位置,确定与物理相机绑定的虚拟相机的姿态角47;调用姿态角平滑模块,对与物理相机绑定的虚拟相机的姿态角47进行平滑处理,得到平滑后姿态角。
在一些实施例中,世界坐标系下各三维骨骼点的坐标(即上文所描述的骨骼点坐标)可以通过加权平均的方式,得到加权平均值,将加权平均值作为对象在虚拟世界中的三维坐标。
在一些实施例中,基于各三维骨骼点的坐标和与物理相机绑定的虚拟相机的位置,确定与物理相机绑定的虚拟相机的姿态角可以通过如下方式实现:以与物理相机绑定的虚拟相机的位置为起点,以对象在虚拟世界中的三维坐标为终点,确定目标向量;基于目标向量确定与物理相机绑定的虚拟相机的姿态角,其中,目标向量的表达式可以为:
v=(x,y,z) (15)
其中,v表征目标向量,x表征目标向量在世界坐标系的横轴方向的分量,y表征目标向量在世界坐标系的纵轴方向的分量,z表征目标向量在世界坐标系的竖轴方向的分量。
其中,与物理相机绑定的虚拟相机的姿态角包括滚转角、俯仰角和航向角,姿态角的表达式分别为:
G1=0 (16)
G2=asin(z) (17)
G3=atan2(y,x) (18)
其中,G1表征滚转角,G2表征俯仰角,G3表征航向角。
在一些实施例中,在姿态角平滑模块中,可以通过如下方式对姿态角进行平滑:调用滤波器对姿态角进行平滑处理,得到平滑后的姿态角。
其中,平滑处理的表达式可以为:
αn=(1-k1)αn-1+k1βn (19)
其中,αn表征n时刻平滑后的姿态角,αn-1表征n-1时刻平滑后的姿态角,βn表征n时刻平滑前的姿态角,k1表征姿态角平滑指数,k1∈[0,1],姿态角平滑指数表征姿态角被平滑的程度。
参见图8,响应于针对原始虚拟相机的实时切换操作,确定待平滑的虚拟相机,当待平滑的虚拟相机是通过鼠标、触控操作48而设置姿态角的虚拟相机49(即上文所描述的第三虚拟相机)时,获取设置的姿态角,调用姿态角平滑模块,对所获取的姿态角进行平滑处理,得到平滑后姿态角。
参见图8,响应于针对原始虚拟相机的实时切换操作,确定待平滑的虚拟相机,当待平滑的虚拟相机是看向与物理相机绑定的虚拟相机方向的虚拟相机时,获取看向与物理相机绑定的虚拟相机方向的虚拟相机的姿态角45,调用姿态角平滑模块,对姿态角45进行平滑处理,得到平滑后姿态角。
参见图8,下面,对姿态角平滑模块进行平滑处理的具体处理过程进行说明。判断姿态角是否为四元数类型的姿态角,当姿态角是四元数类型的姿态角时,对四元数类型的姿态角进行逐个元素平滑,得到平滑后的四元数类型的姿态角,将平滑后的四元数类型的姿态角转换为欧拉角类型。当姿态角是欧拉角类型的姿态角时,对欧拉角类型的姿态角进行逐个元素平滑,得到平滑后的四元数类型的姿态角。
然后,对视场角的平滑处理过程进行说明,参见图13,图13是本申请实施例提供的虚拟相机的参数处理方法的原理示意图。响应于针对原始虚拟相机的实时切换操作,确定待平滑的虚拟相机,当待平滑的虚拟相机是与物理相机绑定的虚拟相机时,基于虚实融合实时标定模块50确定与物理相机绑定的虚拟相机的视场角;当待平滑的虚拟相机不是与物理相机绑定的虚拟相机时,获取通过鼠标、触控操作而设置的视场角;调用视场角实时平滑模块,对视场角进行平滑处理,得到平滑后姿态角。
参见图13,下面,对视场角实时平滑模块进行平滑处理的具体处理过程进行说明。调用时域滤波器,对输入的视场角进行平滑处理,得到视场角实时平滑模块的输出。
在一些实施例中,在视场角实时平滑模块中,可以通过如下方式对视场角进行平滑:调用时域滤波器,对输入的视场角进行平滑处理,得到视场角实时平滑模块的输出。
其中,平滑处理的表达式可以为:
θn=(1-k2)θn-1+k2εn (20)
其中,θn表征n时刻平滑后的视场角,θn-1表征n-1时刻平滑后的视场角,εn表征n时刻平滑前的视场角,k2表征视场角平滑指数,k2∈[0,1],视场角平滑指数表征视场角被平滑的程度。
最后,对三维坐标的平滑处理过程进行说明,参见图14,图14是本申请实施例提供的虚拟相机的参数处理方法的原理示意图。响应于针对原始虚拟相机的实时切换操作,确定待平滑的虚拟相机,当待平滑的虚拟相机是与物理相机绑定的虚拟相机时,基于虚实融合实时标定模块51确定与物理相机绑定的虚拟相机的三维坐标;对三维坐标进行逐元素平滑,得到平滑后相机三维坐标。
在一些实施例中,逐元素平滑的表达式可以为:
τn=(1-k3)τn-1+k3ωn (21)
其中,τn表征n时刻平滑后相机三维坐标,τn-1表征n-1时刻平滑后相机三维坐标,ωn表征n时刻平滑后相机三维坐标,k3表征三维坐标平滑指数,k3∈[0,1],三维坐标平滑指数表征视场角被平滑的程度。
在一些实施例中,可以通过后期给虚拟稳定器的相机添加姿态角的抖动(反向利用防抖特性),来模拟出地震导致相机晃动,手持相机晃动的效果,来提升运镜质感。
在一些实施例中,平滑处理的方式不限于上述一阶滤波器(Infinite ImpulseResponse,IIR),其他阶数的滤波器,或者卡尔曼滤波等滤波器均可以实现平滑处理。
在一些实施例中,对于没有与物理相机绑定的虚拟相机,可以根据虚拟对象投影到虚拟相机成像面的大小,自动设置视场角,从而实现虚拟相机的自动推拉摇移。
可以理解的是,在本申请实施例中,涉及到相机参数等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的虚拟相机的参数处理装置455的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器450的虚拟相机的参数处理装置455中的软件模块可以包括:获取模块4551,用于获取第一虚拟相机的相机参数,相机参数包括姿态角参数、视场角参数和位置参数中至少之一,第一虚拟相机与真实场景中的物理相机具有绑定关系,物理相机,用于对真实场景中的对象进行图像数据采集,得到对象的图像数据;平滑模块4552,用于对第一虚拟相机的相机参数进行平滑处理,得到目标相机参数;配置模块4553,用于在虚拟场景中配置第二虚拟相机,第二虚拟相机的焦点与第一虚拟相机的焦点相对应;调整模块4554,用于基于目标相机参数,对第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机;其中,调整后的第二虚拟相机,用于基于图像数据渲染得到包括对象的虚拟场景的图像。
在一些实施例中,当相机参数包括姿态角时,上述获取模块4551,还用于获取对象在世界坐标系下的目标位置、及第一虚拟相机的位置;基于对象在世界坐标系下的目标位置和第一虚拟相机的位置,确定目标方向向量,目标方向向量用于在世界坐标系下,指示第一虚拟相机指向对象的方向;基于目标方向向量,确定第一虚拟相机的姿态角。
在一些实施例中,姿态角包括俯仰角和航向角;上述获取模块4551,还用于将目标方向向量的竖轴分量的余弦值,确定为第一虚拟相机的俯仰角,竖轴分量是目标方向向量在世界坐标系的竖轴上的分量;将目标方向向量的纵轴分量和横轴分量的比值,确定为参考比值,纵轴分量是目标方向向量在世界坐标系的纵轴上的分量,横轴分量是目标方向向量在世界坐标系的横轴上的分量;将参考比值的正切值,确定为第一虚拟相机的航向角。
在一些实施例中,当对象的数量为一个时,上述获取模块4551,还用于获取对象在世界坐标系下的多个骨骼点坐标;对多个骨骼点坐标进行加权求和,得到对象在世界坐标系下的目标位置。
在一些实施例中,当对象的数量为至少两个时,上述获取模块4551,还用于针对各对象分别执行以下处理:获取对象在世界坐标系下的多个骨骼点坐标;对多个骨骼点坐标进行加权求和,得到对象在世界坐标系下的位置;基于各对象在世界坐标系下的位置,确定目标位置,其中,目标位置与各对象在世界坐标系下的位置之间的距离小于距离阈值。
在一些实施例中,第一虚拟相机存在n个平滑时刻,n为大于1的正整数;上述平滑模块4552,还用于当第一虚拟相机的相机参数包括第n平滑时刻的相机参数时,获取平滑指数、及第n-1目标相机参数;其中,平滑指数,用于指示相机参数的平滑程度;第n-1目标相机参数为,在第n-1平滑时刻,对第一虚拟相机的相机参数进行平滑处理所得到的目标相机参数;基于平滑指数及第n-1目标相机参数,对第n平滑时刻的相机参数进行平滑处理,得到第n目标相机参数,并将第n目标相机参数作为目标相机参数。
在一些实施例中,平滑指数介于0至1之间,上述平滑模块4552,还用于将第n平滑时刻的相机参数和平滑指数的乘积,确定为第一参考参数;将第n-1目标相机参数和补充平滑指数的乘积,确定为第二参考参数,其中,补充平滑指数是平滑指数与1的差值;将第一参考参数和第二参考参数相加,得到第n目标相机参数,并将第n目标相机参数作为目标相机参数。
在一些实施例中,当相机参数包括姿态角时,姿态角包括俯仰角、航向角和滚转角;上述虚拟相机的参数处理装置,还包括:锁定模块,用于响应于针对姿态角中目标角的锁定指令,对目标角进行锁定;其中,目标角包括俯仰角、航向角和滚转角中至少之一;上述平滑模块,还用于对姿态角中除目标角以外的部分进行平滑处理,得到目标相机参数。
在一些实施例中,上述调整模块4553,还用于将第二虚拟相机当前的相机参数,调整为目标相机参数,得到调整后的第二虚拟相机;上述虚拟相机的参数处理装置,还包括:指令调整模块,用于响应于针对目标相机参数的调整指令,对目标相机参数进行调整,以得到调整后的第二虚拟相机。
在一些实施例中,当相机参数包括姿态角时,上述平滑模块4552,还用于获取姿态角的数据类型,其中,数据类型包括四元数类型和欧拉角类型;当数据类型为四元数类型时,对四元数类型的姿态角中的每个元素进行平滑处理,得到四元数类型的参考姿态角;将四元数类型的参考姿态角进行数据类型转换,得到欧拉角类型的参考姿态角,并将欧拉角类型的参考姿态角,确定为目标姿态角。
在一些实施例中,上述虚拟相机的参数处理装置,还包括:选择模块,用于确定虚拟场景中多个已配置的虚拟相机,其中,各已配置的虚拟相机分别与不同的物理相机绑定;响应于针对多个已配置的虚拟相机的选择操作,将被选中的虚拟相机确定为第一虚拟相机。
在一些实施例中,上述虚拟相机的参数处理装置,还包括:第二获取模块,用于获取第三虚拟相机的相机参数,第三虚拟相机与真实场景中的物理相机不具有绑定关系;第二平滑模块,用于对第三虚拟相机的相机参数进行平滑处理,得到第三虚拟相机的目标相机参数;第二配置模块,用于在虚拟场景中配置第四虚拟相机,第四虚拟相机的焦点与第三虚拟相机的焦点相对应;第二调整模块,用于基于第三虚拟相机的目标相机参数,对第四虚拟相机的相机参数进行调整,得到调整后的第四虚拟相机;其中,调整后的第四虚拟相机,用于渲染得到虚拟场景的图像。
在一些实施例中,当第三虚拟相机的相机参数包括姿态角时,上述第二获取模块,还用于获取第三虚拟相机的焦点位置的位置参数;基于焦点位置的位置参数和第三虚拟相机的位置参数,确定第三虚拟相机的方向向量;基于第三虚拟相机的方向向量,确定第三虚拟相机的姿态角。
在一些实施例中,当相机参数包括视场角时,上述第二获取模块,还用于当第三虚拟相机的视场范围内存在虚拟对象时,获取虚拟距离,虚拟距离是第一位置与第二位置间的距离,第一位置是第三虚拟相机在世界坐标系下的位置,第二位置是虚拟对象在世界坐标系下的位置;基于虚拟距离,确定第三虚拟相机的视场角,其中,虚拟距离的数值大小与视场角的数值大小成正比。
在一些实施例中,上述虚拟相机的参数处理装置,还包括:抖动模块,用于响应于针对调整后的第四虚拟相机的抖动参数添加指令,在调整后的第四虚拟相机的相机参数中添加抖动参数,以使添加抖动参数的第四虚拟相机渲染得到的图像产生晃动效果。
本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的虚拟相机的参数处理方法。
本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令,当计算机可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟相机的参数处理方法,例如,如图4示出的虚拟相机的参数处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种电子设备。
在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,HyperText Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,计算机可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
综上,本申请实施例具有如下有益效果:
(1)通过获取与物理相机绑定的第一虚拟相机的相机参数,对第一虚拟相机的相机参数进行平滑处理,得到目标相机参数,并基于目标相机参数,对第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机,通过调整后的第二虚拟相机,对物理相机所采集的图像数据进行渲染得到包括对象的虚拟场景的图像;在虚实结合的画面渲染过程中,由于第一虚拟相机与真实场景中的物理相机具有绑定关系,使得第一虚拟相机与该物理相机具有相同的相机参数,进而使得对第一虚拟相机的相机参数的平滑,相当于对物理相机的相机参数进行了平滑,更通过配置和第一虚拟相机的焦点相对应的第二虚拟相机,实现平滑处理所得到的目标相机参数到第二虚拟相机的转移,如此,使得真实场景中的物理相机无需硬件稳定器的辅助,即使物理相机处发生抖动,第二虚拟相机处的相机参数也可保持稳定,有效提升了虚拟相机的稳定性能,且节省了在物理相机上加装硬件稳定器的硬件成本,从而显著降低了硬件成本。
(2)通过在虚拟场景中配置与每个真实相机绑定的虚拟相机,并将绑定的虚拟相机作为已配置的虚拟相机,;响应于针对多个已配置的虚拟相机的选择操作,将被选中的虚拟相机确定为第一虚拟相机,从而实现根据选择确定需要平滑的虚拟相机的相机参数,在物理相机的配置量较多的情形下,与物理相机绑定的虚拟相机的配置量也会急剧增加,通过针对已配置的虚拟相机的选择操作,确定平滑对象,从而不至于对每个虚拟相机的相机参数进行平滑处理,而是有选择性的选择虚拟相机,针对所选择的虚拟相机的相机参数进行平滑处理,从而有效减少了需进行相机参数平滑处理的虚拟相机的数量,有效较少了计算量,提高了平滑效率。
(3)通过对多个骨骼点坐标进行加权求和,得到对象在世界坐标系下的目标位置,从而准确确定出对象在世界坐标系下的目标位置,便于后续基于目标位置确定第一虚拟相机的姿态角,有效提高了所确定的第一虚拟相机的姿态角的准确性。
(4)当对象的数量为至少两个时,可以通过分别确定各对象在世界坐标系下的位置,将距离各对象在世界坐标系下的位置之间的距离小于距离阈值的位置确定为目标位置,从而准确的确定出目标位置,便于后续基于目标位置确定第一虚拟相机的姿态角,有效提高了所确定的第一虚拟相机的姿态角的准确性。
(5)通过基于目标方向向量,准确的确定第一虚拟相机的俯仰角和航向角,从而便于后续基于准确的俯仰角和航向角进行平滑处理,有效提高了俯仰角和航向角的准确性。
(6)通过对第一虚拟相机的n个平滑时刻中的每个平滑时刻进行平滑,从而实现了对第一虚拟相机的每个平滑时刻的相机参数的平滑,使得任意两个相邻的平滑时刻的相机参数之间的差距不会发生突变,从而实现了相机参数的平滑。
(7)通过对姿态角中除目标角以外的部分进行平滑处理,从而实现了不同的姿态角的逐步平滑,或者部分平滑,从而保证了姿态角平滑处理的可控性,满足各种不同应用场景下的平滑需求,同时,可以实现渐进式平滑,有限减少了平滑过程中的出错率,提高了平滑的准确性。
(8)通过基于姿态角的数据类型,对不同类型的姿态角进行转换、平滑处理,从而有效提高了姿态角平滑处理的普适性。
(9)通过在虚拟场景中配置与第一虚拟相机的焦点之间的距离小于焦点距离阈值的第二虚拟相机,从而实现了第二虚拟相机始终跟随第一虚拟相机的拍摄方向进行拍摄,从而实现了在虚拟场景中配置与第一虚拟相机具有相同拍摄功能,且透视关系相同的第二虚拟相机,替代第一虚拟相机基于图像数据渲染得到包括对象的虚拟场景的图像。
(10)通过基于第三虚拟相机的方向向量,准确的确定第三虚拟相机的俯仰角和航向角,从而便于后续基于准确的俯仰角和航向角进行平滑处理,有效提高了俯仰角和航向角的准确性。
(11)通过虚拟距离的数值大小,动态控制第三虚拟相机的视场角,从而使得第三虚拟相机的视场角随着虚拟距离的数值大小变化而相应变化,从而实现了第三虚拟相机的视场角的动态调控,实现了第三虚拟相机的视场角自动的推拉摇移,有效提升了第三虚拟相机的运镜效果。
(12)通过在调整后的第四虚拟相机的相机参数中添加抖动参数,从而实现了防抖处理的逆向运用,可以使得第四虚拟相机渲染得到的图像产生晃动效果,模仿出真实场景中的地震效果,使得调整后的第四虚拟相机所渲染出的画面更加真实。
(13)通过在虚拟场景中配置与第三虚拟相机的焦点之间的距离小于焦点距离阈值的第四虚拟相机,从而实现了第四虚拟相机始终跟随第三虚拟相机的拍摄方向进行拍摄,从而实现了在虚拟场景中配置与第三虚拟相机具有相同拍摄功能,且透视关系相同的第四虚拟相机,替代第三虚拟相机基于图像数据渲染得到包括对象的虚拟场景的图像。
(14)通过后期给虚拟稳定器的相机添加姿态角的抖动(反向利用防抖特性),来模拟出地震导致相机晃动,手持相机晃动的效果,来提升运镜质感。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (19)
1.一种虚拟相机的参数处理方法,其特征在于,所述方法包括:
获取第一虚拟相机的相机参数,所述相机参数包括姿态角、视场角和相机位置中至少之一;
其中,所述第一虚拟相机与真实场景中的物理相机具有绑定关系,所述物理相机,用于对所述真实场景中的对象进行图像数据采集,得到所述对象的图像数据;
对所述第一虚拟相机的相机参数进行平滑处理,得到目标相机参数;
在虚拟场景中配置第二虚拟相机,所述第二虚拟相机的焦点与所述第一虚拟相机的焦点相对应;
基于所述目标相机参数,对所述第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机;
其中,所述调整后的第二虚拟相机,用于基于所述图像数据,渲染得到包括所述对象的虚拟场景的图像。
2.根据权利要求1所述的方法,其特征在于,当所述相机参数包括所述姿态角时,所述获取第一虚拟相机的相机参数,包括:
获取所述对象在世界坐标系下的目标位置、及所述第一虚拟相机的位置;
基于所述对象在世界坐标系下的目标位置和所述第一虚拟相机的位置,确定目标方向向量,所述目标方向向量用于在所述世界坐标系下,指示所述第一虚拟相机指向所述对象的方向;
基于所述目标方向向量,确定所述第一虚拟相机的姿态角。
3.根据权利要求2所述的方法,其特征在于,所述姿态角包括俯仰角和航向角;所述基于所述目标方向向量,确定所述第一虚拟相机的姿态角,包括:
将所述目标方向向量的竖轴分量的余弦值,确定为所述第一虚拟相机的俯仰角,所述竖轴分量是所述目标方向向量在所述世界坐标系的竖轴上的分量;
将所述目标方向向量的纵轴分量和横轴分量的比值,确定为参考比值,所述纵轴分量是所述目标方向向量在所述世界坐标系的纵轴上的分量,所述横轴分量是所述目标方向向量在所述世界坐标系的横轴上的分量;
将所述参考比值的正切值,确定为所述第一虚拟相机的航向角。
4.根据权利要求2所述的方法,其特征在于,当所述对象的数量为一个时,所述获取所述对象在世界坐标系下的目标位置,包括:
获取所述对象在所述世界坐标系下的多个骨骼点坐标;
对所述多个骨骼点坐标进行加权求和,得到所述对象在世界坐标系下的目标位置。
5.根据权利要求2所述的方法,其特征在于,当所述对象的数量为至少两个时,所述获取所述对象在世界坐标系下的目标位置,包括:
针对各所述对象分别执行以下处理:获取所述对象在所述世界坐标系下的多个骨骼点坐标;对所述多个骨骼点坐标进行加权求和,得到所述对象在所述世界坐标系下的位置;
基于各所述对象在所述世界坐标系下的位置,确定所述目标位置,其中,所述目标位置与各所述对象在所述世界坐标系下的位置之间的距离小于距离阈值。
6.根据权利要求1所述的方法,其特征在于,所述第一虚拟相机存在n个平滑时刻,n为大于1的正整数;
所述对所述第一虚拟相机的相机参数进行平滑处理,得到目标相机参数,包括:
当所述第一虚拟相机的相机参数包括第n平滑时刻的相机参数时,获取平滑指数、及第n-1目标相机参数;
其中,所述平滑指数,用于指示所述相机参数的平滑程度;
所述第n-1目标相机参数为,在第n-1平滑时刻,对所述第一虚拟相机的相机参数进行平滑处理所得到的目标相机参数;
基于所述平滑指数及第n-1目标相机参数,对所述第n平滑时刻的相机参数进行平滑处理,得到第n目标相机参数,并将所述第n目标相机参数作为所述目标相机参数。
7.根据权利要求6所述的方法,其特征在于,所述平滑指数介于0至1之间,所述基于所述平滑指数及第n-1目标相机参数,对所述第n平滑时刻的相机参数进行平滑处理,得到第n目标相机参数,并将所述第n目标相机参数作为所述目标相机参数,包括:
将所述第n平滑时刻的相机参数和所述平滑指数的乘积,确定为第一参考参数;
将所述第n-1目标相机参数和补充平滑指数的乘积,确定为第二参考参数,其中,所述补充平滑指数是所述平滑指数与1的差值;
将所述第一参考参数和所述第二参考参数相加,得到所述第n目标相机参数,并将所述第n目标相机参数作为所述目标相机参数。
8.根据权利要求1所述的方法,其特征在于,当所述相机参数包括所述姿态角时,所述姿态角包括俯仰角、航向角和滚转角;
所述对所述第一虚拟相机的相机参数进行平滑处理,得到目标相机参数之前,所述方法还包括:
响应于针对所述姿态角中目标角的锁定指令,对所述目标角进行锁定;其中,所述目标角包括所述俯仰角、航向角和滚转角中至少之一;
所述对所述第一虚拟相机的相机参数进行平滑处理,得到目标相机参数,包括:
对所述姿态角中除所述目标角以外的部分进行平滑处理,得到目标相机参数。
9.根据权利要求1所述的方法,其特征在于,所述基于所述目标相机参数,对所述第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机,包括:
将所述第二虚拟相机当前的相机参数,调整为所述目标相机参数,得到调整后的第二虚拟相机;
在调整为所述目标相机参数之后,所述方法还包括:
响应于针对所述目标相机参数的调整指令,对所述目标相机参数进行调整,以得到调整后的第二虚拟相机。
10.根据权利要求1所述的方法,其特征在于,当所述相机参数包括所述姿态角时,所述对所述第一虚拟相机的相机参数进行平滑处理,得到目标相机参数,包括:
获取所述姿态角的数据类型,其中,所述数据类型包括四元数类型和欧拉角类型;
当所述数据类型为所述四元数类型时,对所述四元数类型的姿态角中的每个元素进行平滑处理,得到所述四元数类型的参考姿态角;
将所述四元数类型的参考姿态角进行数据类型转换,得到所述欧拉角类型的参考姿态角,并将所述欧拉角类型的参考姿态角,确定为目标姿态角。
11.根据权利要求1所述的方法,其特征在于,所述获取第一虚拟相机的相机参数之前,所述方法还包括:
确定所述虚拟场景中多个已配置的虚拟相机,其中,各所述已配置的虚拟相机分别与不同的所述物理相机绑定;
响应于针对所述多个已配置的虚拟相机的选择操作,将被选中的所述虚拟相机确定为所述第一虚拟相机。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取第三虚拟相机的相机参数,所述第三虚拟相机与所述真实场景中的物理相机不具有绑定关系;
对所述第三虚拟相机的相机参数进行平滑处理,得到所述第三虚拟相机的目标相机参数;
在所述虚拟场景中配置第四虚拟相机,所述第四虚拟相机的焦点与所述第三虚拟相机的焦点相对应;
基于所述第三虚拟相机的目标相机参数,对所述第四虚拟相机的相机参数进行调整,得到调整后的第四虚拟相机;
其中,所述调整后的第四虚拟相机,用于渲染得到所述虚拟场景的图像。
13.根据权利要求12所述的方法,其特征在于,当所述第三虚拟相机的相机参数包括所述姿态角时,所述获取所述第三虚拟相机的相机参数,包括:
获取所述第三虚拟相机的焦点位置的位置参数;
基于所述焦点位置的位置参数和所述第三虚拟相机的位置参数,确定所述第三虚拟相机的方向向量;
基于所述第三虚拟相机的方向向量,确定所述第三虚拟相机的姿态角。
14.根据权利要求12所述的方法,其特征在于,当所述相机参数包括所述视场角时,所述获取第三虚拟相机的相机参数,包括:
当所述第三虚拟相机的视场范围内存在虚拟对象时,获取虚拟距离,所述虚拟距离是第一位置与第二位置间的距离,所述第一位置是所述第三虚拟相机在世界坐标系下的位置,所述第二位置是所述虚拟对象在所述世界坐标系下的位置;
基于所述虚拟距离,确定所述第三虚拟相机的视场角,其中,所述虚拟距离的数值大小与所述视场角的数值大小成正比。
15.根据权利要求12所述的方法,其特征在于,所述对所述第四虚拟相机的相机参数进行调整,得到调整后的第四虚拟相机之后,所述方法还包括:
响应于针对所述调整后的第四虚拟相机的抖动参数添加指令,在所述调整后的第四虚拟相机的相机参数中添加所述抖动参数,以使添加所述抖动参数的第四虚拟相机渲染得到的图像产生晃动效果。
16.一种虚拟相机的参数处理装置,其特征在于,所述装置包括:
获取模块,用于获取第一虚拟相机的相机参数,所述相机参数包括姿态角、视场角和相机位置中至少之一;其中,所述第一虚拟相机与真实场景中的物理相机具有绑定关系,所述物理相机,用于对所述真实场景中的对象进行图像数据采集,得到所述对象的图像数据;
平滑模块,用于对所述第一虚拟相机的相机参数进行平滑处理,得到目标相机参数;
配置模块,用于在虚拟场景中配置第二虚拟相机,所述第二虚拟相机的焦点与所述第一虚拟相机的焦点相对应;
调整模块,用于基于所述目标相机参数,对所述第二虚拟相机的相机参数进行调整,得到调整后的第二虚拟相机;其中,所述调整后的第二虚拟相机,用于基于所述图像数据,渲染得到包括所述对象的虚拟场景的图像。
17.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储计算机可执行指令或者计算机程序;
处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现权利要求1至15任一项所述的虚拟相机的参数处理方法。
18.一种计算机可读存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令被处理器执行时实现权利要求1至15任一项所述的虚拟相机的参数处理方法。
19.一种计算机程序产品,包括计算机程序或计算机可执行指令,其特征在于,所述计算机程序或计算机可执行指令被处理器执行时实现权利要求1至15任一项所述的虚拟相机的参数处理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211095639.3A CN117710474A (zh) | 2022-09-05 | 2022-09-05 | 虚拟相机的参数处理方法、装置、电子设备及存储介质 |
PCT/CN2023/114226 WO2024051487A1 (zh) | 2022-09-05 | 2023-08-22 | 虚拟相机的参数处理方法、装置、设备、存储介质及程序产品 |
US18/437,426 US20240185399A1 (en) | 2022-09-05 | 2024-02-09 | Parameter processing method and apparatus for virtual camera, device, storage medium, and program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211095639.3A CN117710474A (zh) | 2022-09-05 | 2022-09-05 | 虚拟相机的参数处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117710474A true CN117710474A (zh) | 2024-03-15 |
Family
ID=90159393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211095639.3A Pending CN117710474A (zh) | 2022-09-05 | 2022-09-05 | 虚拟相机的参数处理方法、装置、电子设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240185399A1 (zh) |
CN (1) | CN117710474A (zh) |
WO (1) | WO2024051487A1 (zh) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104933758B (zh) * | 2015-05-20 | 2017-09-29 | 北京控制工程研究所 | 一种基于osg三维引擎的空间相机三维成像仿真方法 |
CN106485788B (zh) * | 2016-10-21 | 2019-02-19 | 重庆虚拟实境科技有限公司 | 一种游戏引擎混合现实拍摄方法 |
CN108989688B (zh) * | 2018-09-14 | 2019-05-31 | 成都数字天空科技有限公司 | 虚拟相机防抖方法、装置、电子设备及可读存储介质 |
US11250617B1 (en) * | 2019-09-25 | 2022-02-15 | Amazon Technologies, Inc. | Virtual camera controlled by a camera control device |
WO2022151864A1 (zh) * | 2021-01-18 | 2022-07-21 | 海信视像科技股份有限公司 | 虚拟现实设备 |
CN114760458B (zh) * | 2022-04-28 | 2023-02-24 | 中南大学 | 高真实感增强现实演播室虚拟与现实相机轨迹同步的方法 |
-
2022
- 2022-09-05 CN CN202211095639.3A patent/CN117710474A/zh active Pending
-
2023
- 2023-08-22 WO PCT/CN2023/114226 patent/WO2024051487A1/zh unknown
-
2024
- 2024-02-09 US US18/437,426 patent/US20240185399A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2024051487A1 (zh) | 2024-03-14 |
US20240185399A1 (en) | 2024-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108939556B (zh) | 一种基于游戏平台的截图方法及装置 | |
AU2009238631B2 (en) | Panning using virtual surfaces | |
US20170186219A1 (en) | Method for 360-degree panoramic display, display module and mobile terminal | |
US10997745B2 (en) | Augmented reality based method and apparatus for spatial positioning | |
CA3114601A1 (en) | A cloud-based system and method for creating a virtual tour | |
CN112312111A (zh) | 虚拟图像的显示方法、装置、电子设备及存储介质 | |
CN115690382B (zh) | 深度学习模型的训练方法、生成全景图的方法和装置 | |
EP4262217A1 (en) | System and method enabling private to public media experiences | |
US20230290043A1 (en) | Picture generation method and apparatus, device, and medium | |
US20190164323A1 (en) | Method and program for generating virtual reality contents | |
US11100617B2 (en) | Deep learning method and apparatus for automatic upright rectification of virtual reality content | |
CN112827169B (zh) | 游戏图像处理方法和装置、存储介质及电子设备 | |
CN114926612A (zh) | 空中全景图像处理与沉浸式显示系统 | |
CN111142967A (zh) | 一种增强现实显示的方法、装置、电子设备和存储介质 | |
CN116385622B (zh) | 云图处理方法、装置、计算机及可读存储介质 | |
CN114452646A (zh) | 虚拟对象透视处理方法、装置及计算机设备 | |
CN117710474A (zh) | 虚拟相机的参数处理方法、装置、电子设备及存储介质 | |
CN115511937A (zh) | 图像的深度图和法线图生成方法、虚拟直播方法以及装置 | |
CN113313796B (zh) | 场景生成方法、装置、计算机设备和存储介质 | |
CN114237475A (zh) | 虚拟片场的构建方法、系统、设备及介质 | |
CN108846897B (zh) | 三维模型表面材质模拟方法、装置、存储介质及电子设备 | |
Sancak et al. | Photogrammetric model optimization in digitalization of architectural heritage: Yedikule fortress | |
CN114219924B (zh) | 虚拟场景的适配显示方法、装置、设备、介质及程序产品 | |
CN116485879A (zh) | 虚拟相机的控制方法、装置、设备、存储介质及产品 | |
CN117389338B (zh) | 无人机的多视角交互方法、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |