虚拟演播室中初始定位方法
技术领域
本发明涉及通信技术领域,尤其涉及一种虚拟演播室中初始定位方法。
背景技术
在虚设的演播室中,设置虚拟的演员并用虚拟的摄像机进行摄影,用这种方式制作电视节目的技术称为虚拟演播室技术。在虚拟演播室技术中,演员在没有任何道具的演播室中演戏,用摄像机将其摄下,然后和另外制作的道具画面合成,可以制作出好像演员在具有道具的演播室演戏那样的画面。所谓虚拟演员并不是要排除演员的作用,而是将事先拍好的演员的镜头在需要的时候在特殊设计的虚拟演播室中进行再现;或者利用演员的演技数据,用计算机图形学技术制作出演员。所谓虚拟摄像机就是在合成虚拟演播室和虚拟演员图像时,利用摄像机进行加工制作出最终图像的技术。
在虚拟演播室中演员在一间代替真实背景的“蓝箱”里进行现场节目制作,而虚拟演播室系统则按以下程序工作:摄像机的位置参数、水平移动参数、垂直俯仰参数以及镜头的变焦、聚焦参数构成了场景生成的视点参数和摄像机采集前景的视频信号参数,把这些参数数据送到一个实时的图形计算机里,根据摄像机运动的参数实现场频级的实时场景生成。再用以“蓝箱”为背景拍摄的图像,经延时后和选自计算机图形的虚拟背景以相同时码进行工作。通过色键器生成的键信号将场景和色键处理过的视频信号送至混合器“合成”,实时产生一个组合的图像。
虚拟演播室系统中一个关键技术就是摄像机跟踪技术,跟踪技术包括图像跟踪,机械传感跟踪,电磁跟踪等技术。其中机械传感跟踪稳定性好,容易实现,因此也是目前使用最为广泛的跟踪技术。这项技术中很重要的一项 技术就是初始定位,初始定位是机械跟踪技术的基础,它的好坏会直接影响到后期跟踪的准确性。跟踪是否准确直接影响到虚拟场景和真实场景(比如主持人)的叠加效果,若跟踪不准确,则来自摄像机的视频图像和图文工作站渲染的虚拟场景会出现错位的现象,导致虚拟场景给人一种不真实的感觉,使得虚拟演播室失去了意义。
现有技术中的一种摄像机初始定位技术如图1所示,设平面a表示蓝箱的后平面,初始定位的目的即是计算摄像机镜头的光心Oc到蓝箱上的世界坐标原点O的距离,以及摄像机坐标系Oc-XcYcZc与世界坐标系O-XYZ之间的旋转关系。传统的方法包括直接测量法和四点定位法。
其中,直接测量法是直接测量Oc到O的距离。然而,由于摄像机光心Oc 的具体位置并不知道,因此直接测量难度很大,而且能够测量的也只有Oc到O的距离,难以表达成O在Oc中的坐标。此外,两个坐标系的旋转关系也无法测量,只能认为无相对旋转,因此,该测量方案存在较大误差,操作也不灵活。
四点定位法是在蓝箱事先固定四个参考点,如图2所示,事先测量ABCD四点的距离,摄像机初始化后,依次对准这四个点,同时记录当时的传感器数据,列出非线性方程组,计算摄像机初始姿态。比如已知ABCD四点的坐标,分别用PAPBPCPD表示,将摄像机分别对准该四点时,记录传感器返回的相应平摇旋转角α和俯仰旋转角θ,构造旋转矩阵ΔRi,i分别表示ABCD。
投影方程如(2)所示
其中,旋转矩阵R为3*3的矩阵,坐标点P和平移矩阵T均为3*1的矩阵。因此RP+T表示一个3*1的矩阵。zc则为该矩阵的最后一个数。假设摄像机初始姿态为R0、T0(均未知),则(2)式中的R,T分别为
R=ΔRi·R0 (3)
T=ΔRi·T0
ABCD四个点,每个点都能按照(2)式列出一个方程。因此一共有四个这样的方程形成方程组,解这个方程组即可得到初始姿态R0、T0。该方法比起直接测量法而言精度很高,可实施行好。但是该方法不足之处在于:每次需要重新初始化时,摄像机都要依次对准四个参考点,即对每个点进行数据采集后都需要人工调整摄像机对准到另一个点,操作稍复杂,不适合应用在摄像机位置需要频繁移动的系统中。另外,该方法中ABCD四个点之间的距离需要比较大,通常情况下要间隔2至3米,因此,将会占用整个一面墙。
综上所述,现有技术中还没有一种可以实现减少人工参与,摄像机初始化定位准确的方法。
发明内容
本发明实施例提供一种虚拟演播室中初始定位方法,利用图像分析、迭代运算来计算摄像机的初始姿态,从根本上取代传统的方法来获得摄像机初始信息的方法。
本发明实施例提供了一种虚拟演播室中初始定位方法,包括以下步骤:
摄像机对准标志点;
对所述标志点信息进行采集搜索,具体包括:
从摄像机取景框的左上角开始到右下角逐行扫描,获取每个像素点的数据,在扫描像素点的同时采用预先设定的阈值对每个像素点进行二值化处理,获得二值化数据;
摄像机根据上述获得的二值化数据寻找标志点黑白交界的区域,确定标 志点的外框,并记录外框的边界点;
对标志点每个区域整体进行分析,判断是否形成四边形,不是则删除该区域整体;
对于是四边形的区域整体的边界进行直线拟合,计算获得四个顶点的坐标。
根据所述采集搜索结果进行迭代计算,获取相对于所述标志点本身坐标系的摄像机初始姿态;
对所述相对于标志点本身坐标系的摄像机初始姿态进行转换,得到相对于蓝箱坐标系的摄像机初始姿态。
所述摄像机对准标志点之前还包括:
在蓝箱以外部分设置所述标志点。
所述标志点至少为一个。
所述标志点中包括计数标识,所述摄像机根据所述计数标识确定本身对准的标志点。
所述标志点为四边形。
计数标识的形状包括但不限于矩形、圆形、三角形和梯形。
本发明的实施例中的初始定位技术,利用图像搜索、迭代运算的方法确定摄像机的初始姿态,包括摄像机的位置和朝向等,为使用机械传感器进行跟踪的虚拟演播室提供摄像机的初始信息。整个定位过程,用户只需要点击一个按钮即可,不需要人工对摄像机位置进行调整,操作简单方便。
另外,本发明通过使用多个标志点,可以更好地应用于多台摄像机工作的虚拟演播室,使不同摄像机对准不同标志点进行初始定位,避免了因其他摄像机挡住摄像头的情况。
附图说明
图1是现有技术中通过直接测量获得摄像机初始定位的示意图;
图2是现有技术中通过四点测量获得摄像机初始定位的示意图;
图3是本发明虚拟演播室中摄像机初始定位方法流程图;
图4是本发明一种蓝箱和标志点设置示意图;
图5a、图5b、图5c是本发明存在多个标志点情况的示意图;
图6是本发明另一种蓝箱和标志点设置示意图。
具体实施方式
本发明利用图像分析获取标志点信息,然后通过迭代运算计算摄像机相对于标志点所属坐标系的初始姿态,最后将其转换为摄像机相对于蓝箱所属坐标系的初始姿态,本发明实施例一中虚拟演播室中摄像机初始定位方法流程如图3所示,包括以下步骤:
步骤s301,进行虚拟演播室的初始化设置。设置蓝箱和标志点,如图4所示,F、G、H区域为蓝箱的三个面,均为蓝色。这三个区域以外的部分,如直线CD左侧部分则为其他颜色(可以为白色)。标志点则可以贴在蓝箱以外的部分,如图4所示的位置,标志点四个顶角分别为:A1、A2、A3和A4。
步骤s302,摄像机对准标志点。在初始定位时,摄像机需要将镜头变焦至最短焦距,然后转向标志点所在位置。
步骤s303,对该标志点进行搜索,获取标志点的图像数据。其中标志点搜索流程如下:
s3031,从摄像机取景框的左上角开始到右下角逐行扫描,获取每个像素点的数据,在扫描像素点的同时采用预先设定的阈值对每个像素点进行二值化处理。
s3032,摄像机根据上述获得的二值化数据寻找标志点黑白交界的区域,确定标志点的外框,并记录外框的边界点(通常情况下记录四个定点数据)。具体寻找过程为:寻找标志点所有边界点的像素八连通区域(因为一个像素点周围包括其他8个像素点,如果该像素点为黑色,而其他8个像素点中有一个点为黑色,则这个点和原像素点称为八连通,所有按照八连通方式连接起来的点的集合则称为八连通区域),将所有八连通的点作为一个区域整体。
s3033,对标志点每个区域整体进行分析,判断是否形成四边形,不是则删除该区域整体。这是由于摄像机取景时,可能会采集到其他一些干扰像素,通常情况下,这些干扰像素形状不会与标志点形状相同(为四边形,且内部 必须含有具有某种形状的黑色图形),因此,可以通过该种过滤手段排除干扰因素。
s3034,对于是四边形的整体区域边界进行直线拟合,计算获得四个顶点A1、A2、A3和A4的坐标。
用q来表示(2)式等号左侧表达式,不同的点的像素则用qi表示。即
其中,ui代表图像中该个点在第几列;vi代表图像中该点在第几行。然后令列向量vi=K-1·qi, (5)
同时根据公式(5)获得一个3*3矩阵
步骤s304,根据搜索结果进行迭代计算,获取相对于所述标志点本身坐标系的摄像机初始姿态。具体实现流程如下:
s3041,初始化旋转矩阵R(3*3矩阵),可以不太准确。
s3042,根据公式(6)和初始化旋转矩阵R计算平移矩阵T,
其中,n为四边形顶点数目4,I为单位矩阵,pi为顶点到坐标系中点的水平距离。
s3043,计算被处理过的像素坐标vi=Vi(Rpi+T) (8)
s3044,计算顶点到坐标系中点的水平距离差值
s3045,用SVD分解方法分解矩阵M,M=U·Λ·VT,进行奇异值分解获得V和U。
s3046,根据所述V和U计算获得旋转矩阵R,
R=V·UT (10)
步骤s305,根据公式(7)的平移矩阵T和公式(10)的旋转矩阵R对所述标志点本身坐标系的初始姿态进行转换,得到相对于蓝箱坐标系的摄像机初始姿态。迭代计算得到了摄像机的初始姿态,但那是相对于标志点自己的坐标系而言的,并不是相对于蓝箱的坐标系,因此还需要一个转换才能得到最后的正确结果。如图4所示,标志点本身坐标系为:B1B4为x轴,B1B2为y轴,垂直该平面向右的矢量为z轴。该坐标系相对于蓝箱上的坐标系有一个平移和旋转的关系。因此需要首先计算该平移和旋转关系,才能计算最终的摄像机姿态。
测量A1-A4,B1-B4在蓝箱坐标系下的坐标,结合每个点在自身坐标系下的坐标,列出方程组求解即可得到这两个坐标系之间的转换矩阵M。若迭代计算所得的姿态矩阵为M0,则最终摄像机的姿态用矩阵描述则为:
M′=M*M0 (11)
其中,
将公式(7)和公式(10)带入公式(12),获得M。
上述实施例中,在初始准备过程中需要准备好用于进行图像分析的标志点为一个,但实际应用中可支持多个标志点,标志点样式如图5a、图5b和图5c所示,分别显示了三个标志点,每个标志点的结构都是外围有黑色矩形框(实际应用中也可采用平行四边形、梯形、或其他四边形),内部有标志点标识(例如用黑色小方块表示,当然也可以采用其他形状的黑色实体表示,例如圆形、三角形、梯形等,本发明中对此不做限制,只要能起到区分数目的目的都在本发明保护范围之内),中间黑色方块的数量用于对不同的标志点进行区别。其中,本发明实施例一中就应用了图5a的标志点。
本发明实施例二中,提供了利用多个标志点(以两个为例)在虚拟演播室中进行摄像机初始定位方法。设置蓝箱和标志点,如图6所示,上面的标 志点四个顶角分别为:A1、A2、A3和A4;下面的标志点四个顶角分别为:B1、B2、B3和B4。摄像机可以选择对准上面的标志点,也可以选择对准下面的标志点。多个标志点的存在,使得该定位技术灵活,不存在多机位时,其中一个摄像机遮挡住标志点,使得另一个摄像机无法进行定位。对多个标志点情况,摄像机可以对准任意一个标志点,但需要保证至少能够完整的拍摄到一个标志点。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。