彭 勃 張 磊 王廣生
摘 要:“多鏡頭反光式全景視頻系統(tǒng)”旨在討論一種工程上可行的全景視頻系統(tǒng)架構(gòu),通過將一組同型鏡頭在同一水平面上環(huán)形對稱排列,同時對周圍360°內(nèi)環(huán)境進行視頻采集,并將采集到的多幅視頻圖像進行時間同步、色彩融合、統(tǒng)一白平衡、透視變換等處理,從而生成完整的高清晰度全景視頻。該系統(tǒng)采用特殊的光路設計,使所有鏡頭光心重合,從而徹底消除視覺盲區(qū)和重影區(qū)。討論一種統(tǒng)一白平衡處理方法,較好地解決了相鄰圖像幀間存在的色彩差異問題。主要討論“多鏡頭反光式全景視頻系統(tǒng)”的軟/硬件系統(tǒng)架構(gòu)及其相關(guān)算法,該軟/硬件系統(tǒng)架構(gòu)及其相關(guān)算法已在一臺全景攝像機系統(tǒng)樣機上實現(xiàn),能夠接近實時地生成環(huán)360°的全景視頻,表明了該軟/硬件系統(tǒng)架構(gòu)及其相關(guān)算法在工程上具有可行性。
關(guān)鍵詞:全景視頻;多鏡頭;無縫拼接;時間同步;白平衡;色彩融合;透視變換
中圖分類號:TP391.41
0 引 言
全景圖片是指將同一相機在空間某一點向周圍不同方向拍攝得到的多幅靜態(tài)圖像無縫拼接到一起,從而將拍攝點周圍360°范圍內(nèi)的所有景物連貫、無縫地顯示在同一幅畫面上。全景視頻的思想與此相似,只是研究的對象由靜態(tài)圖像變?yōu)榱藙討B(tài)視頻。相比于全景圖片,全景視頻能夠給人帶來更為強烈的浸入式體驗。目前,世界上關(guān)于全景圖片的研究已經(jīng)十分成熟,有許多成熟的算法,而關(guān)于全景視頻的研究近年來才受到重視。
1 全景視頻的生成方式
目前一種較為普遍的全景視頻生成方式是采用┮桓霆具有多個鏡頭的全景攝像機同時從多個方向拍攝得到多路視頻流,并將其無縫拼接為一路全景視頻‐[1[CD*2]4]。當采用這種方式生成全景視頻時,攝像機鏡頭組的部署方式對于生成高質(zhì)量的全景視頻至關(guān)重要。目前,常用的部署方式是視場相交式部署方案,但是此種部署方案的最大缺點是存在著視覺的盲區(qū)和重影區(qū),因而只適用于對視頻質(zhì)量要求不高的場合。針對這一問題,采用一種新的部署方案‐[5[CD*2]7]即多鏡頭反光式部署方案,徹底消除了視覺的盲區(qū)和重影區(qū),從而為生成高質(zhì)量的全景視頻做好了準備。
[BT3]1.1 視場(FOV)相交式部署方案
視場相交式部署方案是將多個鏡頭簡單地環(huán)形對稱排列于一個圓周上,每個鏡頭的視場均與其相鄰鏡頭的視場相交‐[1[CD*2]4]。由于物理結(jié)構(gòu)上的限制,各個鏡頭的光心不能重合于一點,而是分布在一個圓周上,從而形成了視覺的盲區(qū)和重影區(qū),如圖1所示。オ[KH-1]
圖1中,相鄰兩個鏡頭的視場相交于一點獵,稱為“視場交點”。視場交點之內(nèi)的A區(qū)域是攝像機的視覺“盲區(qū)”,兩個鏡頭的視場均無法覆蓋到;視場交點之外的B區(qū)域是攝像機的視覺“重影區(qū)”,兩個鏡頭的視場均可以覆蓋到。為了生成高質(zhì)量的全景視頻,需要消除視覺盲區(qū)和重影區(qū)。
對于視覺重影區(qū),可以采用軟件方法進行補償,但這需要知道視頻圖像中每一點的深度信息,這在一般條件是很難實現(xiàn)。Stavros Tzavidas和Aggelos K Katsaggelos‐[8]對此有更為深入的研究。對于視覺盲區(qū),采用軟件方法無法消除,必須尋求硬件方面的解決方法。
1.2 多鏡頭反光式部署方案
如果使圖1中各個鏡頭的光心重合于一點,如圖2所示,則視覺盲區(qū)和重影區(qū)將被完全消除,但此時各個鏡頭必然在物理上重疊在一起,這在物理上是無法實現(xiàn)的。
為解決這一問題,在鏡頭組每個鏡頭的光路中,均增加一面45°斜放的平面鏡,如圖3所示,則光路由水平方向變?yōu)樨Q直方向,鏡頭由位置獳轉(zhuǎn)移到位置B,而鏡頭的視場不變。于是,所有鏡頭均被轉(zhuǎn)移到平面鏡下方的對應位置,而它們在平面鏡中的虛像則相互重疊在┮黃,從而實現(xiàn)了“光心”重合的效果,徹底消除了視覺的盲區(qū)和重影區(qū)。
2 全景視頻的生成算法
全景視頻的生成主要包括五個步驟:多路視頻流的時間同步(Time Synchronization)、統(tǒng)一的白平衡處理(White Balance)、色彩融合(Color Blending)、透視變換(Perspective Transformation)以及全景視頻的生成(Panoramic Video Generation),如圖4所示。
對于色彩融合與透視變換,其基本思想和處理方法與全景圖片的生成較為相似,而時間同步和統(tǒng)一的白平衡處理則源于全景視頻的“動態(tài)”特性。
為避免歧義,在此將同一時刻不同鏡頭采集到的視頻幀稱為“視頻幀組”,將同一鏡頭在某一時間段內(nèi)采集到的視頻幀稱為“視頻流”或“視頻幀序列”。
2.1 時間同步
受場景復雜度、光線強度等因素的影響,攝像機內(nèi)的數(shù)字圖像處理DSP芯片處理視頻信號所花費的時間通常是不相同的。一般,場景越復雜,場景中的運動情況越劇烈,或者在場景中存在著過度曝光的情況,則會使DSP花費較多的時間處理相應的視頻信息;相反,對于較為簡單、不存在劇烈運動或過度曝光等復雜因素的場景,則DSP只需花費較少的時間對其進行處理。因此,對于“多鏡頭反光式全景攝像機”,DSP處理同一時刻各個鏡頭采集到的視頻信息以及某一鏡頭在不同時刻采集到的視頻信息所花費的時間往往各不相同,從而使得各多路視頻流之間無法同步。甚至可能出現(xiàn)這樣的情況:當拍攝復雜場景的鏡頭剛剛生成┮恢—視頻圖像時,拍攝簡單場景的鏡頭已經(jīng)生成了兩幀以上的視頻圖象。如果簡單地將那些多出的視頻幀丟棄,則必然會降低全景視頻生成的幀率,從而影響全景視頻生成的實時性。為了解決這一問題,在此采用的方法是在視頻服務器中為每一路視頻流開辟一個視頻幀緩沖區(qū),這個幀緩沖區(qū)采用FIFO的隊列工作模式:
(1) 當某一視頻幀到達視頻服務器時,將其加入到服務器中的相應幀緩沖區(qū)中;
(2) 當所有幀緩沖區(qū)中都含有一幀視頻幀時,將各緩沖區(qū)中最早進入的那幀視頻幀取出,用以生成┮恢—全景視頻;
(3) 如果某一幀緩沖區(qū)中的視頻幀數(shù)量達到上限值,則當新的視頻幀到來時,丟棄最早進入幀緩沖區(qū)的那幀視頻幀。
幀緩沖區(qū)的工作流程如圖5所示。
實驗證明,通過為每路視頻流開辟幀緩沖區(qū),可以有效改善由于各路視頻幀生成速度不同而引起的不同步現(xiàn)象。
2.2 統(tǒng)一的白平衡處理——多鏡頭自適應白平衡算法
不同的光源具有不同的色溫,不同色溫的光線照在物體上,會使物體呈現(xiàn)出不同的顏色,例如,低色溫的光線照在白色物體上,會使其看起來偏紅,而高色溫的光線照在白色物體上,會使其看起來偏藍。通過對不同色溫引起的色差進行校正,以使物體在不同色溫的照射下均能呈現(xiàn)其本身的顏色,稱為白平衡。
白平衡包括手動白平衡和自動白平衡兩種。目前,關(guān)于自動白平衡算法的研究比較普遍,但這些算法都是針對由單一色溫引起的色差進行校正的白平衡算法,對于具有多個鏡頭的全景攝像機來說,由于各個鏡頭指向不同的方向,而在這些方向上的色溫通常各不相同,因而不能簡單地將針對單一色溫的白平衡算法應用到這種全景攝像機上,否則將會使相鄰鏡頭拍攝的視頻幀之間出現(xiàn)色彩過渡不自然甚至是明顯的色彩斷裂現(xiàn)象。
本文設計了一種針對具有多個鏡頭的全景攝像機進行自動白平衡處理的白平衡算法——多鏡頭自適應白平衡算法,該算法采用灰度世界模型,是對基于灰度世界模型的自動白平衡算法‐[9[CD*2]11]的改進。灰度世界模型主要基于這樣一個假設:對于一幅圖像,其
也就是說,在統(tǒng)計意義上,一幅圖像的平均色差為零。如果對某一幅圖像統(tǒng)計得出的平均色差不為零,則可以認為外界色溫的影響使其顏色偏離了真實值。此時,如果采取某種措施將其平均色差恢復為零,則可以校正由于外界色溫影響而出現(xiàn)的色彩偏移現(xiàn)象。這就是基于灰度世界模型的自動白平衡算法的基本原理。
多鏡頭自適應白平衡算法的算法流程為:
(1) 色溫估計。圖像的色溫一般表現(xiàn)為其平均色差,因此,色溫估計就是分別計算出某一視頻幀組中└鞲霆鏡頭所拍視頻圖像的平均色差И獳VR(C瑽)和獳VR(C璕),并將其當作該幀圖像色溫的估計值。
(2) 色溫統(tǒng)一。色溫統(tǒng)一就是以視頻幀組中某一鏡頭所拍的視頻圖像為基準,通過某種方法(例如乘以系數(shù)),將其他鏡頭所拍圖像的平均色差統(tǒng)一為基準鏡頭所拍圖像的平均色差。
(3) 增益計算。增益計算就是通過一定方法得到色溫校正因子μ和ν,以分別對視頻幀組中所有視頻幀的平均色差獳VR(C瑽)和獳VR(C璕)進行校正。
(4) 色溫校正。色溫校正就是在RGB空間將圖像的紅色和藍色通道乘以各自的增益(校正因子μ和ν),以調(diào)節(jié)R,G,B三色的比例,并根據(jù)新的R,G,B三色值,回到第一步重新進行色溫估計。
最終,需要尋找到最精確的色溫校正因子μ和ν,使之可以將視頻幀組中所有視頻幀的平均色差獳VR(C瑽)和獳VR(C璕)均校正為零(或接近為零)。當找到這樣的校正因子后,自動白平衡過程結(jié)束。И
[BT3]2.3 色彩融合
受多種因素(如外界環(huán)境的亮度、視頻傳感器芯片的參數(shù)分布等)的影響,視頻幀組內(nèi)的各個視頻幀之間在色彩上往往并不統(tǒng)一。為了解決這一問題,需要進行相鄰視頻幀間的色彩融合處理。
在此介紹一種針對圖像之間無重疊區(qū)域的色彩融合算法,該算法源于目前被廣泛使用的線性融合算法,其基本思路是將相鄰視頻幀接縫處像素的顏色差值均勻分布到鄰近像素上以實現(xiàn)顏色均勻過度的視覺效果。假設I璳和I﹌+1是視頻幀組中兩個相鄰的視頻幀;l璳是視頻幀k最右邊的一列像素;r﹌+1是視頻幀k+1最左邊的一列像素;E璳(i)是視頻幀k與k+1г諳嗔誚臃齏Φ牧攪邢袼氐難丈差值,則有:
這樣,顏色差值E璳(i)就被均勻地分布到視頻幀k與視頻幀k+1相鄰處的2NЦ魷袼厴,從而達到了色彩融合的目的。
2.4 圖像的透視變換
由于“多鏡頭反光式全景攝像機”的各個鏡頭在拍攝時的投影面各不相同,互成角度,因此如果簡單地將這些不同投影面上的圖像拼接到一起,必然會產(chǎn)生幾何失真。比如,會使一條直線在拼接后變?yōu)橐粭l折線,因此,需要在拼接前先對所有圖像進行透視變換處理。透視變換是一種2D[CD*2]3D[CD*2]2D的投影變換,它按照圖像的射影變換原理,先將二維圖像變換到三維空間中,在得到其在三維空間的位置關(guān)系后再重新恢復到二維平面上。根據(jù)三維空間中投影面的不同,全景視頻的透視變換主要包括柱面投影變換、球面投影變換和立方體投影變換三種。對于本文介紹的“多鏡頭反光式全景攝像機”,采用柱面投影變換最為方便。
目前,比較成熟的透視變換算法有柱包絡算法和8參數(shù)矩陣變換法。
柱包絡算法的公式為:
式中:Е仁塹鉖在柱面上的水平轉(zhuǎn)角;υ是點Pг謚面上豎直轉(zhuǎn)角的正切值。
八參數(shù)矩陣變換法的公式為:
式中:[WTHX]X[WTBX]=(x,y,1)玊和[WTHX]X[WTBX]′=(x′,y′,1)玊是相同類型的坐標,而m0~m7的參數(shù)值可通過參數(shù)估計方法得到。И
以上算法能夠很好地解決全景視頻圖像的幾何失真問題,但是由于這些算法的計算量較大,因此給CPU帶來很大的工作負荷,而且生成的全景視頻無法滿足實時性的要求。由于顯卡GPU具有強大的圖像處理能力,因此,實驗中將其作為CPU的協(xié)處理器‐[13],代替CPU處理那些計算量較大的工作,并取得了很好的實驗效果。
3 系統(tǒng)實現(xiàn)
實驗中成功設計并制造了一臺全景攝像機樣機,如圖6所示。
該樣機采用USB接口與計算機主機相連,無需外接電源。設計并搭建了一臺網(wǎng)絡視頻服務器,用于全景視頻流的生成與分發(fā),該服務器主機選用主頻為2.40 GHz的英特爾四核處理器Q6600和nVidia的GEFORCE 9600GT系列顯卡。任何一臺連接到網(wǎng)絡上的計算機均可作為該系統(tǒng)的客戶端,通過網(wǎng)絡向視頻服務器發(fā)送播放請求。服務器和客戶端代碼均在微軟Visual Studio 2005集成環(huán)境下使用C++編寫。
4 實驗結(jié)果
實驗中能夠以約20幀/s的速率接近實時地生成分辨率為5 120×480的全景視頻,如圖7所示,且生成的全景視頻具有以下特點:
(1) 不存在明顯的幾何失真;
(2) 不存在明顯的視覺盲區(qū)和重影區(qū);
(3) 由多路視頻流形成的全景視頻具有較好的同步性能;
(4) 相鄰鏡頭所拍視頻圖像之間不存在明顯的顏色分界。
圖7中,(a)和(b)是使用該全景攝像機樣機在白天拍攝的視頻圖像;(c)和(d)是在夜晚拍攝的視頻圖像。其中,(a)和(c)沒有進行統(tǒng)一白平衡和色彩融合處理,(b)和(d)進行了統(tǒng)一白平衡和色彩融合處理??梢钥吹?在(b)和(d)中,生成的全景視頻在相鄰鏡頭接縫處色彩過渡較為自然,這說明采用本文的算法在白天和夜晚的條件下均能夠生成較高質(zhì)量的全景視頻。
5 結(jié) 語
采用本文介紹的“多鏡頭反光式全景視頻系統(tǒng)”,能夠生成攝像機周圍360°場景的全景視頻,能夠在任何一臺連接到網(wǎng)絡上的客戶端計算機上進行可控視野的視頻播放,具體來說,就是由全景攝像機進行多路視頻流的采集,由網(wǎng)絡視頻服務器進行全景視頻流的生成與分發(fā),而任何一臺連接到網(wǎng)絡上的計算機均可以作為客戶端向視頻服務器發(fā)送請求,視頻服務器根據(jù)請求進行個性化的視頻分發(fā)。
相比于全景圖像,全景視頻能夠帶給人一種前所未有的更為強烈的浸入式體驗,即使只是簡單的通過計算機屏幕進行觀看,仍然能夠使體驗者深切的感受到這種身臨其境的現(xiàn)場感,那是一種“一切盡在眼前”的奇特感受。
當然,本文所介紹的算法還有待進一步完善。例如,色彩融合部分可以采用更加復雜的算法以提高全景視頻的圖像質(zhì)量,而統(tǒng)一白平衡處理部分還需要尋找更加快速而有效的算法。此外,無論是融合算法、統(tǒng)一白平衡算法還是透視變換算法,都還有進一步優(yōu)化的潛力。
參 考 文 獻
[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]王雅君,吳玉廣,林萬頃,等.一種攝像頭自動白平衡的算法及硬件實現(xiàn)[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]張磊.圖形處理器協(xié)同運算的視頻處理架構(gòu)[J].現(xiàn)代電子技術(shù),2008,31(20):134[CD*2]138.
作者簡介 彭 勃 男,1974年出生,碩士研究生。主要從事全景攝像機及視頻處理方向的研究。
張 磊 男,1983年出生,碩士研究生。主要從事視頻處理及圖像處理方向的研究工作。
王廣生 男,1949年出生,高級工程師。主要從事智能樓宇及視頻監(jiān)控等領(lǐng)域的研究。