一种虚拟演播室系统中主持人深度的检测方法
技术领域
本发明属于电视台虚拟演播室系统技术领域,具体涉及一种适用于虚拟演播室系统的深度检测方法。
背景技术
自从电视开播以来,电视节目中主持人身后的场景总是简单而且色彩单调。这些实景的搭建通常采用木料、纸板和油漆等材料。随着时间的推移,在节目中为电视观众提供更丰富的视觉效果变得越来越重要,这就需要突破早期传统场景制作方式的局限性。键技术是第一个获得突破的技术,在黑白电视时代,采用的是亮键技术,后来随着彩色电视的出现,出现了色键技术,并得到了应用。通过键技术,前景标志图像中的某一部分可以被计算机中一幅静态标志图像替代,也可以被事先录制好的视频、直播的视频或者任何其他的视频标志图像源所替代。但是要实现丰富的节目效果,仅依靠亮键或色键技术还是不够的,因为在摄像机运动拍摄时,合成视频输出中的前景信号和背景信号之间没有同步变化的关系。拍摄主持人的前景摄像机发生推、拉、摇、移等运动时,观众立刻会发现背景存在明显的虚假现象。虚拟演播室技术的诞生就是为了解决节目拍摄中使用色键简单抠像存在的诸多限制。虚拟演播室技术是在传统色键抠像技术的基础上,利用计算机三维图形技术和视频合成技术,根据前景摄像机的位置焦距等参数,使三维虚拟场景的透视关系与前景保持一致,经过色键合成后,使得前景中的人物道具看起来完全沉浸于计算机所产生的三维虚拟场景中,从而创造出逼真的、立体感很强的演播室效果。
为了实现虚拟演播室系统完美自然的叠加,使主持人能在虚拟或实际物体后方或前方行走,甚至可以进入到一个虚拟物体中去,就需要具有特殊功能的高级色键技术,即Z轴深度键的技术,要求色键具有纵深方向的信息,即虚拟摄像机到每个像素所对应实际物体的距离。该技术使用传统的色键技术将主持人从蓝色幕布中提取出来的同时产生一个前景遮挡信号即键信号,然后通过深度键发生器求出色键的深度值。深度键发生器有两种:一种是将物体分成有限数目的分层级,另一种是将像素分成等级的像素级。在分层级深度键中,物体被分别归类到数目有限的几个深度层中,因此演员在虚拟场景中的位置无法连续变化。而在像素级深度键中,构成虚拟场景中的每一个像素都有相应的Z轴深度值,因此演员在虚拟场景中的位置可以连续变化。
目前,获得像素级深度键的方法大致有两种:一种靠近似判断的方法得出。它是用近似的方法判断出前景主持人和摄像机的相对距离,并且用这个值作为整个前景的深度值。如果主持人移动,那么这个值也将改变。通过对合成画面上每个像素Z值的计算和实际内容的需要用手控方式决定前景主持人和虚拟背景的相对关系。这种方法实现起来比较容易,缺陷是逼真度差,而且需要工作人员与主持人相互配合,对主持人的要求较高。另一种获得Z值的方法是采用检测装置。该装置包括安装在演播室蓝箱任意位置的若干个辅助摄像机和一个实时图像处理装置。辅助摄像机输出摄取的蓝箱中前景的图像,实时图像处理装置以场频速度实时采集图像并进行图像处理,提取图像中特征数据并进行计算变换,得到前景主持人或物体在蓝箱中的位置坐标参数,送给图形工作站,经过方程矩阵运算使其渲染的虚拟场景的景深关系与节目主持人的景深关系一致。该方法的原理是分析多个摄像机拍摄同一场景而输出的带有视差的图像,利用多视几何中三维点与二维点的对应关系,由图像中的二维点信息计算其对应的三维坐标。
图1中展示了两个光轴平行且相隔距离为h的摄像机鸟瞰图。真实场景中坐标为(x,y,z)的一点P,在左摄像机Cl和右摄像机Cr上的投影分别是点pl和点pr。坐标系的z轴表示到摄像机(在z=0处)的距离,x轴表示“水平”距离,y轴垂直页面。x=0处是两摄像机间的中间位置,xl是pl相对于Cl的水平距离,xr为pr相对于Cr的水平距离。
由于两台摄像机的水平位置不同,因此在xl和xr之间存在视差(disparity)是显然的(即|xl-xr|>0);利用几何的三角关系可以推出P的z坐标值。
plcl和clp是相似的直角三角形的斜边,h和f是正数,z是正数,而x是可正可负的,因此有:
消去x,得到:z(xr-xl)=hf
即:
由此可知,当两摄像机的中心间距和焦距都确定后,根据左右摄像机拍摄的图像中同一点的视差值(xl-xr)就能得到真实场景中对应点的深度值。如果xl-xr=0,则z=∞,零视差表明点在摄像机的无穷远处。
这种方法能够计算整个场景中物体的深度,但运算量很大,即使是640×480的图像运算时间也比较长。因此要想在标清甚至高清图像中使用,具有相当大的困难。
由于上述方法要对整幅前景图像中所有的物体进行深度检测,因此算法复杂度很大。但实际上并不需要计算出所有物体的深度,而只需计算主持人的深度即可,因此搜索区域如果能缩小到主持人附近的区域,则算法效率会有明显提高。
发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种虚拟演播室系统中主持人深度的检测方法,该方法能够提高主持人深度检测的效率。
为实现上述目的,本发明采用的技术方案是:一种虚拟演播室系统中主持人深度的检测方法,包括以下步骤:
(1)标定两台普通摄像机和一台红外摄像机的相对位置关系;
(2)分析红外摄像机拍摄的红外图像,确定主持人所在区域;
(3)根据步骤(1)中标定的三台摄像机之间的相对位置关系,将步骤(2)中确定的主持人所在区域转换到两台普通摄像机各自拍摄到的图像所对应的区域,利用多视几何中三维点与二维点的对应关系,由所述图像所对应的区域中的二维点信息计算其对应的三维坐标,获得该区域中每个像素点的深度值,计算该区域内所有像素点深度的平均值。
如上所述的一种虚拟演播室系统中主持人深度的检测方法,步骤(1)中所述的标定两台普通摄像机和一台红外摄像机的相对位置关系的过程包括以下步骤:
①在场景中放置标志;
②三台摄像机同时拍摄包含该标志的图像;
③分别搜索三台摄像机拍摄的三个图像中标志最外围的四个顶点,获得四个顶点的图像坐标;
④根据四个顶点的图像坐标与世界坐标的对应关系,获得三台摄像机相对于该世界坐标的旋转和平移矩阵。
如上所述的一种虚拟演播室系统中主持人深度的检测方法,其中,所述的标志是指具有白色背景的黑色矩形边框,黑色矩形边框的外边框尺寸为50mm×50mm,内边框尺寸为30mm×30mm。
如上所述的一种虚拟演播室系统中主持人深度的检测方法,步骤(2)中所述的确定主持人所在区域的过程包括以下步骤:
①将红外摄像机拍摄的图像转换成灰度图像;
②确定灰度图像中亮度大于阈值的区域,所述的阈值为200。
采用本发明所述的方法,由于事先确定了图像中主持人所在区域,因此只需检测主持人所在区域的深度即可,无需像现有的方法那样对图像中所有物体均进行深度检测,从而提高了主持人深度的检测效率。
附图说明
图1是现有技术中深度检测方法原理图;
图2是实现本发明所述方法的装置分布图;
图3是本发明所述方法流程图;
图4是具体实施方式中标志示意图;
图5是具体实施方式中世界坐标系示意图。
具体实施方式
下面结合具体实施方式和附图对本发明作进一步的描述。
如图2所示,一种实现本发明所述方法的装置分布图。其中,A和C是两台普通摄像机,用来产生视差图;B为红外摄像机,用来拍摄红外图像并以此来确定主持人所在区域;D表示主持人所在的区域。
如图3所示,一种虚拟演播室系统中主持人深度的检测方法,包括以下步骤:
(1)标定三台摄像机A、B和C的相对位置关系。
实现该步骤首先需要在场景中放置标志。所述的标志是指具有白色背景的黑色矩形边框,如图4所示。标志可以放置在场景中的任意位置,只要三台摄像机都能拍摄到即可。对标志中黑色矩形边框的尺寸也没有特别要求,只要摄像机能够识别便可。本实施方式中,标志中黑色矩形边框的外边框大小为50mm*50mm,内边框大小为30mm*30mm。
三台摄像机同时拍摄包含该标志的图像,分别在三台摄像机拍摄的三幅图像中搜索该标志中黑色矩形边框的外边框上的四个顶点,并分别获得四个顶点在三幅图像中的图像坐标。利用图像坐标和世界坐标的对应关系,能够获得摄像机相对于该世界坐标的旋转矩阵R和平移矩阵T,同时也就获得了这三台摄像机之间的相对位置关系。所述的世界坐标的坐标原点设置在蓝箱底面内侧边缘的中心位置,与蓝箱内侧面垂直的方向为z轴,水平方向为x轴,竖直方向为y轴,如图5所示。
搜索标志中黑色矩形边框的外边框上的四个顶点以及四个顶点的图像坐标可以采用现有技术中的图像分割方法。即首先将图像二值化,然后搜索黑白像素相交处,找到黑色矩形边框的外边框,最后提取外边框上的四个顶点。
获得标志中黑色矩形边框的外边框上的四个顶点的图像坐标后,可以通过最速下降法优化下面的目标函数,使得目标函数的结果最小。
其中,K是摄像机内参矩阵,可以采用现有技术中的方法获得(如用微软亚洲研究院的张震友提供的标定方法);(u,v,l)为标志中黑色矩形边框外边框四个顶点的图像坐标;Pi是标志中黑色矩形边框第i个顶点的世界坐标;zc为RPi+T的第三项,即RPi+T是一个3*1的列向量,zc是该列向量的第三个分量;n值为4。
通过优化上面的目标函数,可以得到摄像机相对于世界坐标的旋转矩阵和平移矩阵R、T。每台摄像机都用同样的方法来计算各自的R、T即可。
(2)分析红外图像,获得主持人所在区域。
由于主持人体温较高,因此从红外图像上来看,该区域的亮度最大。因此获得主持人所在的区域只需将红外图像转换为灰度图,取出亮度大于一定阈值的区域即可。该阈值可以通过试验来获得,一般选择200较合适。本实施方式中阈值选取200。
(3)根据步骤(1)中标定的三个摄像机之间的位置关系,将步骤(2)中获得的主持人所在区域映射到摄像机A和B各自拍摄的图像所对应的区域,然后根据深度检测方法对该区域进行深度检测。主持人的深度是指主持人所在区域中所有像素点Z值的平均值。
假设摄像机A、B和C对应的旋转矩阵和平移矩阵分别为RA、TA,RB、TB,RC、TC,令
摄像机B拍摄的红外图像中主持人所在区域为u1<u<u2、v1<v<v2,摄像机A对应的区域为uA1<u<uA2,vA1<v<vA2,其中
摄像机C对应的区域也可用同样方法获得,只需将MA换成MC即可。
当在摄像机A和摄像机C拍摄的图像中找到与摄像机B拍摄的红外图像中主持人所在区域相对应的区域后,利用2.3式计算主持人所在区域每个像素的Z值。2.3式中xr和xl为两幅图像中主持人所在区域对应点的横坐标,例如,在摄像机A拍摄的图像中主持人所在区域找到第一个灰度为128的点,在摄像机C拍摄的图像中主持人所在区域找到第一个灰度为128的点,这两点便是对应点,两点的横坐标分别为xr、xl。
当计算出主持人所在区域所有像素点的Z值后,计算Z的平均值,该平均值便是主持人的深度。
本发明所述的方法并不限于上述具体实施方式,本领域技术人员根据本发明技术方案得出的其他实施方式,同样属于本发明的技术创新范围。