多镜头反光式全景视频系统的研究

2010-06-22 03:41王广生
现代电子技术 2009年22期
关键词:白平衡

彭 勃 张 磊 王广生

摘 要:“多镜头反光式全景视频系统”旨在讨论一种工程上可行的全景视频系统架构,通过将一组同型镜头在同一水平面上环形对称排列,同时对周围360°内环境进行视频采集,并将采集到的多幅视频图像进行时间同步、色彩融合、统一白平衡、透视变换等处理,从而生成完整的高清晰度全景视频。该系统采用特殊的光路设计,使所有镜头光心重合,从而彻底消除视觉盲区和重影区。讨论一种统一白平衡处理方法,较好地解决了相邻图像帧间存在的色彩差异问题。主要讨论“多镜头反光式全景视频系统”的软/硬件系统架构及其相关算法,该软/硬件系统架构及其相关算法已在一台全景摄像机系统样机上实现,能够接近实时地生成环360°的全景视频,表明了该软/硬件系统架构及其相关算法在工程上具有可行性。

关键词:全景视频;多镜头;无缝拼接;时间同步;白平衡;色彩融合;透视变换

中图分类号:TP391.41

0 引 言

全景图片是指将同一相机在空间某一点向周围不同方向拍摄得到的多幅静态图像无缝拼接到一起,从而将拍摄点周围360°范围内的所有景物连贯、无缝地显示在同一幅画面上。全景视频的思想与此相似,只是研究的对象由静态图像变为了动态视频。相比于全景图片,全景视频能够给人带来更为强烈的浸入式体验。目前,世界上关于全景图片的研究已经十分成熟,有许多成熟的算法,而关于全景视频的研究近年来才受到重视。

1 全景视频的生成方式

目前一种较为普遍的全景视频生成方式是采用┮桓霆具有多个镜头的全景摄像机同时从多个方向拍摄得到多路视频流,并将其无缝拼接为一路全景视频‐[1[CD*2]4]。当采用这种方式生成全景视频时,摄像机镜头组的部署方式对于生成高质量的全景视频至关重要。目前,常用的部署方式是视场相交式部署方案,但是此种部署方案的最大缺点是存在着视觉的盲区和重影区,因而只适用于对视频质量要求不高的场合。针对这一问题,采用一种新的部署方案‐[5[CD*2]7]即多镜头反光式部署方案,彻底消除了视觉的盲区和重影区,从而为生成高质量的全景视频做好了准备。

[BT3]1.1 视场(FOV)相交式部署方案

视场相交式部署方案是将多个镜头简单地环形对称排列于一个圆周上,每个镜头的视场均与其相邻镜头的视场相交‐[1[CD*2]4]。由于物理结构上的限制,各个镜头的光心不能重合于一点,而是分布在一个圆周上,从而形成了视觉的盲区和重影区,如图1所示。オ[KH-1]

图1中,相邻两个镜头的视场相交于一点獵,称为“视场交点”。视场交点之内的A区域是摄像机的视觉“盲区”,两个镜头的视场均无法覆盖到;视场交点之外的B区域是摄像机的视觉“重影区”,两个镜头的视场均可以覆盖到。为了生成高质量的全景视频,需要消除视觉盲区和重影区。

对于视觉重影区,可以采用软件方法进行补偿,但这需要知道视频图像中每一点的深度信息,这在一般条件是很难实现。Stavros Tzavidas和Aggelos K Katsaggelos‐[8]对此有更为深入的研究。对于视觉盲区,采用软件方法无法消除,必须寻求硬件方面的解决方法。

1.2 多镜头反光式部署方案

如果使图1中各个镜头的光心重合于一点,如图2所示,则视觉盲区和重影区将被完全消除,但此时各个镜头必然在物理上重叠在一起,这在物理上是无法实现的。

为解决这一问题,在镜头组每个镜头的光路中,均增加一面45°斜放的平面镜,如图3所示,则光路由水平方向变为竖直方向,镜头由位置獳转移到位置B,而镜头的视场不变。于是,所有镜头均被转移到平面镜下方的对应位置,而它们在平面镜中的虚像则相互重叠在┮黄,从而实现了“光心”重合的效果,彻底消除了视觉的盲区和重影区。

2 全景视频的生成算法

全景视频的生成主要包括五个步骤:多路视频流的时间同步(Time Synchronization)、统一的白平衡处理(White Balance)、色彩融合(Color Blending)、透视变换(Perspective Transformation)以及全景视频的生成(Panoramic Video Generation),如图4所示。

对于色彩融合与透视变换,其基本思想和处理方法与全景图片的生成较为相似,而时间同步和统一的白平衡处理则源于全景视频的“动态”特性。

为避免歧义,在此将同一时刻不同镜头采集到的视频帧称为“视频帧组”,将同一镜头在某一时间段内采集到的视频帧称为“视频流”或“视频帧序列”。

2.1 时间同步

受场景复杂度、光线强度等因素的影响,摄像机内的数字图像处理DSP芯片处理视频信号所花费的时间通常是不相同的。一般,场景越复杂,场景中的运动情况越剧烈,或者在场景中存在着过度曝光的情况,则会使DSP花费较多的时间处理相应的视频信息;相反,对于较为简单、不存在剧烈运动或过度曝光等复杂因素的场景,则DSP只需花费较少的时间对其进行处理。因此,对于“多镜头反光式全景摄像机”,DSP处理同一时刻各个镜头采集到的视频信息以及某一镜头在不同时刻采集到的视频信息所花费的时间往往各不相同,从而使得各多路视频流之间无法同步。甚至可能出现这样的情况:当拍摄复杂场景的镜头刚刚生成┮恢—视频图像时,拍摄简单场景的镜头已经生成了两帧以上的视频图象。如果简单地将那些多出的视频帧丢弃,则必然会降低全景视频生成的帧率,从而影响全景视频生成的实时性。为了解决这一问题,在此采用的方法是在视频服务器中为每一路视频流开辟一个视频帧缓冲区,这个帧缓冲区采用FIFO的队列工作模式:

(1) 当某一视频帧到达视频服务器时,将其加入到服务器中的相应帧缓冲区中;

(2) 当所有帧缓冲区中都含有一帧视频帧时,将各缓冲区中最早进入的那帧视频帧取出,用以生成┮恢—全景视频;

(3) 如果某一帧缓冲区中的视频帧数量达到上限值,则当新的视频帧到来时,丢弃最早进入帧缓冲区的那帧视频帧。

帧缓冲区的工作流程如图5所示。

实验证明,通过为每路视频流开辟帧缓冲区,可以有效改善由于各路视频帧生成速度不同而引起的不同步现象。

2.2 统一的白平衡处理——多镜头自适应白平衡算法

不同的光源具有不同的色温,不同色温的光线照在物体上,会使物体呈现出不同的颜色,例如,低色温的光线照在白色物体上,会使其看起来偏红,而高色温的光线照在白色物体上,会使其看起来偏蓝。通过对不同色温引起的色差进行校正,以使物体在不同色温的照射下均能呈现其本身的颜色,称为白平衡。

白平衡包括手动白平衡和自动白平衡两种。目前,关于自动白平衡算法的研究比较普遍,但这些算法都是针对由单一色温引起的色差进行校正的白平衡算法,对于具有多个镜头的全景摄像机来说,由于各个镜头指向不同的方向,而在这些方向上的色温通常各不相同,因而不能简单地将针对单一色温的白平衡算法应用到这种全景摄像机上,否则将会使相邻镜头拍摄的视频帧之间出现色彩过渡不自然甚至是明显的色彩断裂现象。

本文设计了一种针对具有多个镜头的全景摄像机进行自动白平衡处理的白平衡算法——多镜头自适应白平衡算法,该算法采用灰度世界模型,是对基于灰度世界模型的自动白平衡算法‐[9[CD*2]11]的改进。灰度世界模型主要基于这样一个假设:对于一幅图像,其

也就是说,在统计意义上,一幅图像的平均色差为零。如果对某一幅图像统计得出的平均色差不为零,则可以认为外界色温的影响使其颜色偏离了真实值。此时,如果采取某种措施将其平均色差恢复为零,则可以校正由于外界色温影响而出现的色彩偏移现象。这就是基于灰度世界模型的自动白平衡算法的基本原理。

多镜头自适应白平衡算法的算法流程为:

(1) 色温估计。图像的色温一般表现为其平均色差,因此,色温估计就是分别计算出某一视频帧组中└鞲霆镜头所拍视频图像的平均色差И獳VR(C瑽)和獳VR(C璕),并将其当作该帧图像色温的估计值。

(2) 色温统一。色温统一就是以视频帧组中某一镜头所拍的视频图像为基准,通过某种方法(例如乘以系数),将其他镜头所拍图像的平均色差统一为基准镜头所拍图像的平均色差。

(3) 增益计算。增益计算就是通过一定方法得到色温校正因子μ和ν,以分别对视频帧组中所有视频帧的平均色差獳VR(C瑽)和獳VR(C璕)进行校正。

(4) 色温校正。色温校正就是在RGB空间将图像的红色和蓝色通道乘以各自的增益(校正因子μ和ν),以调节R,G,B三色的比例,并根据新的R,G,B三色值,回到第一步重新进行色温估计。

最终,需要寻找到最精确的色温校正因子μ和ν,使之可以将视频帧组中所有视频帧的平均色差獳VR(C瑽)和獳VR(C璕)均校正为零(或接近为零)。当找到这样的校正因子后,自动白平衡过程结束。И

[BT3]2.3 色彩融合

受多种因素(如外界环境的亮度、视频传感器芯片的参数分布等)的影响,视频帧组内的各个视频帧之间在色彩上往往并不统一。为了解决这一问题,需要进行相邻视频帧间的色彩融合处理。

在此介绍一种针对图像之间无重叠区域的色彩融合算法,该算法源于目前被广泛使用的线性融合算法,其基本思路是将相邻视频帧接缝处像素的颜色差值均匀分布到邻近像素上以实现颜色均匀过度的视觉效果。假设I璳和I﹌+1是视频帧组中两个相邻的视频帧;l璳是视频帧k最右边的一列像素;r﹌+1是视频帧k+1最左边的一列像素;E璳(i)是视频帧k与k+1г谙嗔诮臃齑Φ牧搅邢袼氐难丈差值,则有:

这样,颜色差值E璳(i)就被均匀地分布到视频帧k与视频帧k+1相邻处的2NЦ鱿袼厣,从而达到了色彩融合的目的。

2.4 图像的透视变换

由于“多镜头反光式全景摄像机”的各个镜头在拍摄时的投影面各不相同,互成角度,因此如果简单地将这些不同投影面上的图像拼接到一起,必然会产生几何失真。比如,会使一条直线在拼接后变为一条折线,因此,需要在拼接前先对所有图像进行透视变换处理。透视变换是一种2D[CD*2]3D[CD*2]2D的投影变换,它按照图像的射影变换原理,先将二维图像变换到三维空间中,在得到其在三维空间的位置关系后再重新恢复到二维平面上。根据三维空间中投影面的不同,全景视频的透视变换主要包括柱面投影变换、球面投影变换和立方体投影变换三种。对于本文介绍的“多镜头反光式全景摄像机”,采用柱面投影变换最为方便。

目前,比较成熟的透视变换算法有柱包络算法和8参数矩阵变换法。

柱包络算法的公式为:

式中:Е仁堑鉖在柱面上的水平转角;υ是点Pг谥面上竖直转角的正切值。

八参数矩阵变换法的公式为:

式中:[WTHX]X[WTBX]=(x,y,1)玊和[WTHX]X[WTBX]′=(x′,y′,1)玊是相同类型的坐标,而m0~m7的参数值可通过参数估计方法得到。И

以上算法能够很好地解决全景视频图像的几何失真问题,但是由于这些算法的计算量较大,因此给CPU带来很大的工作负荷,而且生成的全景视频无法满足实时性的要求。由于显卡GPU具有强大的图像处理能力,因此,实验中将其作为CPU的协处理器‐[13],代替CPU处理那些计算量较大的工作,并取得了很好的实验效果。

3 系统实现

实验中成功设计并制造了一台全景摄像机样机,如图6所示。

该样机采用USB接口与计算机主机相连,无需外接电源。设计并搭建了一台网络视频服务器,用于全景视频流的生成与分发,该服务器主机选用主频为2.40 GHz的英特尔四核处理器Q6600和nVidia的GEFORCE 9600GT系列显卡。任何一台连接到网络上的计算机均可作为该系统的客户端,通过网络向视频服务器发送播放请求。服务器和客户端代码均在微软Visual Studio 2005集成环境下使用C++编写。

4 实验结果

实验中能够以约20帧/s的速率接近实时地生成分辨率为5 120×480的全景视频,如图7所示,且生成的全景视频具有以下特点:

(1) 不存在明显的几何失真;

(2) 不存在明显的视觉盲区和重影区;

(3) 由多路视频流形成的全景视频具有较好的同步性能;

(4) 相邻镜头所拍视频图像之间不存在明显的颜色分界。

图7中,(a)和(b)是使用该全景摄像机样机在白天拍摄的视频图像;(c)和(d)是在夜晚拍摄的视频图像。其中,(a)和(c)没有进行统一白平衡和色彩融合处理,(b)和(d)进行了统一白平衡和色彩融合处理。可以看到,在(b)和(d)中,生成的全景视频在相邻镜头接缝处色彩过渡较为自然,这说明采用本文的算法在白天和夜晚的条件下均能够生成较高质量的全景视频。

5 结 语

采用本文介绍的“多镜头反光式全景视频系统”,能够生成摄像机周围360°场景的全景视频,能够在任何一台连接到网络上的客户端计算机上进行可控视野的视频播放,具体来说,就是由全景摄像机进行多路视频流的采集,由网络视频服务器进行全景视频流的生成与分发,而任何一台连接到网络上的计算机均可以作为客户端向视频服务器发送请求,视频服务器根据请求进行个性化的视频分发。

相比于全景图像,全景视频能够带给人一种前所未有的更为强烈的浸入式体验,即使只是简单的通过计算机屏幕进行观看,仍然能够使体验者深切的感受到这种身临其境的现场感,那是一种“一切尽在眼前”的奇特感受。

当然,本文所介绍的算法还有待进一步完善。例如,色彩融合部分可以采用更加复杂的算法以提高全景视频的图像质量,而统一白平衡处理部分还需要寻找更加快速而有效的算法。此外,无论是融合算法、统一白平衡算法还是透视变换算法,都还有进一步优化的潜力。

参 考 文 献

[1]Jonathan Foote,Kimber.Enhancing Distance Learning with Panoramic Video[A].Proceedings of the 34th Hawaii International Conference on System Sciences[C].2001:1[CD*2]7.

[2]Takayuki Okimura,Kazuo Kimura,Kenji Nakazawa,玡t al.Panorama Video Server System[A].The Engineering Rea[CD*2]lity of Virtual Reality,SPIE[C].1998(3 295):381[CD*2]390.

[3]Camilo Telles Pereira Santos,Celso Alberto Saibel Santos.5Cam:A Multicamera System for Panoramic Capture of Vi[CD*2]deos[A].Proceedings of the 12th Brazilian Symposium on Multimedia and the Web,Natal,Rio Grande do Norte,Brazil,ACM Press,2006:99[CD*2]107.

[4]Aseem Agarwala,Maneesh Agrawala,Michael Cohen,玡t al.Photographing Long Scenes with Multi[CD*2]viewpoint Panoramas[J].ACM Trans.on Graphics(TOG),2006,25(3):853[CD*2]861.

[5]Scott S Fisher,Steve Anderson,Susana Ruiz,玡t al.Experiments in Interactive Panoramic Cinema[A].Stereoscopic Displays and Virtual Reality Systems XII,SPIE[C].2005(54):626[CD*2]632.[LL]

[6]Aditi Majumder,Seales W Brent,Gopi M,玡t al.Immersive Teleconferencing:A New Algorithm to Generate Seamless Panoramic Video Imagery[A].Proceedings of the Seventh ACM International Multimedia Conference[C].NY:ACM Press,1999:169[CD*2]178.

[7]Kar[CD*2]Han Tan,Hong Hua,Narendra Ahuja.Multiview Pa[CD*2]noramic Cameras Using a Mirror Pyramid[J].IEEE Trans.on Pattern Analysis and Machine Intelligence,2004,26(7):941[CD*2]946.

[8]Stavros Tzavidas,Aggelos K Katsaggelos.A Multicamera Setup for Generating Stereo Panoramic Video[J].IEEETrans.on Multimedia,2005,7(5):880[CD*2]890.

[9]Zhou Rongzheng,He Jie,Hong Zhiliang.Adaptive Algorithm of Auto White Balance for Digital Camera[J].Journal of Computer[CD*2]Aided design & Computer Graphics,2005,17(3).

[10]谷元保,付宇卓.一种基于灰度世界模型自动白平衡方法[J].计算机仿真,2005,22(9):185[CD*2]188.

[11]王雅君,吴玉广,林万顷,等.一种摄像头自动白平衡的算法及硬件实现[J].中国集成电路,2007(1):43[CD*2]46.

[12]Richard Szeliski,Heung[CD*2]Yeung Shum.Creating Full View Panoramic Image Mosaics and Environment Maps[A].Proceedings of the 24th Annual ACM International Conference on Computer Graphics and Interactive Techniques[C].NY:ACM Press/Addison[CD*2]Wesley Publishing Co.,1997:252[CD*2]258.

[13]张磊.图形处理器协同运算的视频处理架构[J].现代电子技术,2008,31(20):134[CD*2]138.

作者简介 彭 勃 男,1974年出生,硕士研究生。主要从事全景摄像机及视频处理方向的研究。

张 磊 男,1983年出生,硕士研究生。主要从事视频处理及图像处理方向的研究工作。

王广生 男,1949年出生,高级工程师。主要从事智能楼宇及视频监控等领域的研究。

猜你喜欢
白平衡
拍出想要的色彩
相机学院全新系列:现代摄影的绝佳入门教程
数码摄影中白平衡的调整控制
BACK TO BASICS 技术橱窗
技术橱窗
熟练使用白平衡工具校正照片色调
暮归
先掌握白平衡 再来遇见下个雪季
你的白平衡准确吗?
准确的白平衡管理