具体实施方式
本发明实施例提供了一种三维场景中虚拟摄像机的跟踪方法,用以使不同型号的真实摄像机之间能够一起工作,从而实现了节目录制的多样性,同时可以使校正过程方便、快捷和准确。
如图1所示,本发明实施例提供了一种三维场景中虚拟摄像机的跟踪方法,该方法包括:
S101,根据实际场景和设置的实际参照物,生成含有虚拟参照物的三维虚拟场景;在实际过程中,可以通过在实际场景中设立一个世界坐标,也就是设立一个绝对参照坐标系,在所述绝对参照坐标系中设立一个实际参照物,根据在世界坐标中这个实际参照物的位置,生成一个三维虚拟场景,这个三维虚拟场景中带有虚拟参照物,所述虚拟参照物的大小、位置与所述实际参照物应相同,使得三维虚拟场景与实际场景具有对应的位置关系。
S102,确定(调节)每个真实摄像机的实际摄像参数,由于不同摄像机可能具有不同的数据传输格式,所以需要确定每个真实摄像机传输的数据格式所需的数据转换方法,查找与真实摄像机传输的数据格式对应的数据转换方法,调用查找到的数据转换方法对接收到的该真实摄像机传输的数据进行提取和转换,所述数据包括实际场景的视频数据和实际摄像参数,得到与每个真实摄像机对应的虚拟摄像机所需的虚拟摄像参数。
S103,用所述虚拟摄像参数对三维虚拟场景进行渲染,得到并输出所述三维虚拟场景与实际场景叠加后的视频数据。
本发明实施例能够根据不同的摄像机的数据传输格式调用对应的数据转换格式,实现了不同型号真实摄像机共同工作,从而实现了节目录制的多样性,避免了设备单一造成的拍摄效果不好。
对于如何通过所述真实摄像机的数据传输格式来查找调用对应的数据转换格式,本发明实施例提供以下一种优选方案:
优选地,查找与所述真实摄像机的数据传输格式对应的数据转换方法具体包括:
每个数据转换方法设有唯一的转换标记,每个真实摄像机设有与数据转换方法对应的转换标记;
根据所述转换标记之间的对应关系,查找与真实摄像机的数据传输格式对应的数据转换方法。
在实际工作中,根据转换标记来建立对应查找关系简单易实现。
较佳地,所有的数据转换方法都以动态链接库的方式存放于同一文件夹中,当需要添加新的数据转换方法时,只需要在文件夹中添加对应的动态链接库即可。也就是说本发明的文件夹中数据转换方法是可扩充的,能够随时根据实际情况进行变化,所以本发明三维场景中虚拟摄像机的跟踪方法的适用面很广。
如图2所示,在所述确定虚拟摄像参数时,为了实际摄像参数与虚拟摄像参数的对应关系更准确,所以在通过实际摄像参数来确定虚拟摄像参数时,还需要预先进行一次反馈校正步骤,包括:
S201,调整真实摄像机的实际摄像参数,也就是调整真实摄像机的旋转、俯仰、缩放等参数,使实际参照物在真实摄像机的拍摄视频中的大小,位置等发生变化;
S202,调整虚拟摄像机参数,使得虚拟参照物与真实参照物发生相同的位置信息变化,得到与所述实际摄像参数对应的虚拟摄像参数;
S203,所述实际摄像参数与所述虚拟摄像参数形成参数对P0(X0,Y0),X表示实际摄像参数,Y表示虚拟摄像参数;所述参数对是所述实际摄像参数与所述虚拟摄像参数直接组成,例如,由真实摄像机的特定旋转参数与虚拟摄像机的特定旋转参数一一对应形成。
S204,重复调整实际摄像参数与虚拟摄像参数,获得多个参数对P0(X0,Y0)……Pn(Xn,Yn),n为正整数,重复调整以获取重复调整以获取足够的参数对;
S205,将参数对带入插值公式计算,所述插值公式可以为拉格朗日插值公式或牛顿插值公式,得出每个实际摄像参数对应的多项式系数;
S206,通过多项式系数与对应的实际摄像参数可计算出校正后的虚拟摄像参数,本校正方法通过多项式系数建立了实际摄像参数与虚拟摄像参数之间的关系,这样对于每一个真实摄像参数,可以通过对应的多项式系数计算出对应的虚拟摄像参数,相当于使用了虚拟摄像机的参数校正了或验证了真实摄像机的参数,所以该方法称为反馈式校正。
反馈校正方法存在以下优点:首先,由于采样点中虚拟摄像参数与真实摄像参数完全一一对应,所以该校正方法具有高度的准确性;其次,由于该方法采用的校正方法为非逼近式校正,所以降低了校正所需的时间。
所述重复调整的次数可以根据需要设置,一般地,5~10次即可达到效果,所以所述n取5~10之间的正整数,优选地,这5~10的选取应相对全面的覆盖真实摄像参数的取值范围。
在对视频数据输出之前,根据校正后的、确定的虚拟摄像参数对所述三维虚拟场景进行实时渲染,从而获得三维虚拟场景与实时视频叠加后的视频数据。
可以理解的是,由于本发明实施例设有不同机位的摄像机,所以会输出多路叠加后的视频数据,在实际工作中,可以根据需要输出哪路叠加后的视频数据,而且多个真实摄像机可以共用同一个三维虚拟场景。
在实际工作中,可能同时存在多路视频数据,在输出所述三维虚拟场景与实时视频叠加后的视频数据前,可以根据需要选择对所述输出三维虚拟场景与实际场景叠加后的视频数据优选进行镜像处理,尤其是对于输出给主持人那一路的视频数据,这样主持人在镜像处理后的视频中左右走动的方向与其实际走动的方向是完全一致的,所以一般不需要对主持人做专门的训练就能录制跟踪节目,同时也能大大降低录制节目过程中出现的错误。
如图3所示,为了更好的理解本发明三维场景中虚拟摄像机的跟踪方法,下面提供一种详细的配合工作过程:
S301,选定具备跟踪功能的真实摄像机等硬件设备,选定的硬件设备可以是同一类的,也可以属于不同的种类,建立世界坐标,和实际参照物,测量各真实摄像机在世界坐标中的位置;
S302,将摄像机的原始旋转、俯仰、缩放等参数提取出来,并将其组织成实际摄像参数,该实际摄像参数为摄像机旋转参数、俯仰参数、缩放参数等的所需参数有机组合,顺序可以不限。需要指出的是:当需要新添加跟踪硬件设备种类时,也就是需要添加新的数据转换方法的时候,可以添加以插件的方式添加进文件夹即可,而不会导致整个跟踪方法的修改。
S303,为所有的真实摄像机通过转换标记选定对应的数据转换方法,从而使得每一个真实摄像机的编码器所提供的原始数据都能够正确的提取出各种参数信息组合成实际摄像参数,并且,真实的摄像机与虚拟摄像机通过参照物的设立形成了一定的对应关系。
S304,对实际摄像参数进行反馈校正,根据校正获得的多项式参数获得虚拟摄像机对应的校正后的虚拟摄像参数。
S305,根据渲染引擎中各虚拟摄像机的校正后的虚拟摄像参数,渲染引擎对三维虚拟场景中的物件以及模型等进行实时渲染,然后进行三维虚拟场景的视频数据与实际场景的视频数据叠加。
S306,选择合适机位的叠加视频输出或者存储。
S307,对反馈给主持人的叠加后的视频数据做镜像处理,其它路叠加后的视频数据正常输出。
综上所述,本发明实施例,通过提供多种数据转换方法,从而实现了不同型号真实摄像机共同工作,从而实现了节目录制的多样性;通过使用插值公式的方式对真实摄像参数进行反馈校正,从而使校正过程方便、快捷和准确;通过对叠加后的视频数据进行镜像处理的方式让主持人看到其实际行动方向完全一致的视频,所以一般不需要对主持人做专门的训练就能录制跟踪节目,同时也能大大降低录制节目过程中出现的错误。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。