潘輝,梁斌斌,張建偉
(1.四川大學計算機學院,成都610065;2.四川川大智勝軟件股份有限公司,成都610045)
當代,隨著經濟高速發展,全球航空運輸業務更加繁重,機場內飛機起降數量不斷增長,飛機、車輛和人員數量亦不斷增長,愈需對機場場面進行高效的監控和管理。傳統的眾多單一視點畫面在大屏幕上毫無邏輯的堆積的方式已經不能夠滿足空管人員對機場的指揮,效率低下而失誤率高。所以,本文提出了在機場塔臺管制中實行全景視頻監控,并且把槍球聯動融合于全景監控之中,既能夠實現機場場面的全景監控,又能夠實現對場面局部細節的查看。全景視頻監控比單一視點監控能夠包含更多的場面信息,監控的空間角度更廣,銜接性更強,能真正實現無盲區監控。全景圖像拼接[1]方面,目前存在著大量基于特征點的圖像配準算法,如:SIFT、SURF、ORB等。SIFT算法[2-3],對圖像進行透視變換的模型,包括了對圖像的平移、旋轉和縮放,是精確度最高的算法。相對于其他算法,SIFT算法的計算量巨大,耗時很長,在一些強實時場景下無法使用。但是在本文中,因為攝像機位姿固定,只需對圖像進行一次配準,之后就按照第一次計算出來的模型進行拼接,而且我們對于多攝像機采集的視頻流會使用GPU加速編解碼。實驗證明,整個監控系統能夠穩定實時的運行。實驗的整體流程如圖1所示。

圖1整體實驗流程圖
硬件系統示意圖如圖2所示。整個系統由槍球聯動、NVR、服務器端以及客戶端構成。

圖2硬件系統示意圖
服務器端用于算法處理,如處理拼接等;客戶端用于場面監控展示以及空管人員與整個監控系統進行交互;NVR用于對視頻的數字信號進行存儲、管理,也能夠實現對視頻圖像的觀看、瀏覽和回溯等;槍球聯動部分用于采集視頻流。槍球聯動部分中槍型攝像機均采用了4個海康威視DS-2DE75201W-A網絡攝像機,主要功能是負責進行全景監控,球型攝像機采用了海康威視DS-2CD5026FWD-AP變焦攝像機,主要功能是負責對全景監控中的局部區域進行細節特征捕捉。槍球聯動系統示意圖如圖3所示。

圖3槍球聯動系統示意圖
此次全景圖的生成的實驗環境配置是VS2015、Win10操作系統,圖像數據來源是某機場的實時監控錄像。下面給出了生成全景圖的整體實驗流程,如圖4所示。
目前全景圖像拼接[4]分為兩種方式。第一種是基于多攝像頭,由多攝像頭對場景進行覆蓋,利用攝像頭視場角之間的關系以及堆積幾何約束對圖像進行配準,從而達到生成全景圖的目的。第二種是利用單個攝像頭的旋轉,依次將掃描到的幀圖像進行融合拼接,得到廣角圖[5]。此次,我們研究的是第一種方式。

圖4生成全景圖的整體流程
這里,我們選擇使用基于SIFT(Scale-Invariant Feature Transform)的特征提取與匹配算法。SIFT算法即尺度不變特征轉換算法,是由Lowe提出的,它在不同的尺度空間進行極值點檢測,提取出其旋轉、位置以及尺度的不變量。首先,我們對槍機讀取的圖像進行特征點提取,如圖5所示。

圖5四張槍機圖像的SIFT算法特征點提取
接著,對四張圖像進行基于KNN算法[6-8]的匹配。KNN匹配,也就是K近鄰匹配,匹配中,選擇與特征點最相似的K個點,再從這K個點中選擇最相似的點標記為匹配點,通常,K=2,亦稱最近鄰匹配。對于每一對匹配點均返回2個最近鄰的匹配點,若第一、第二匹配點的距離比率滿足閾值(通常為2),則稱這是正確的匹配。如圖6是特征匹配點對。
從圖5中可以看出,場景中存在一些誤配點,這是任何相似度量匹配算法都無法避免的。為了消除場景中存在的錯誤匹配點,選擇使用隨機樣本的一致性RANSAC[9]算法去實現。RANSAC(Random Sample Con?sensus)算法,即隨機抽樣一致算法,它是根據一組包含異常點(局外點)的觀察數據集,通過迭代的方式計算出數據集的數學參數模型,得到有效數據集樣本的算法。RANSAC算法用于過濾誤配特征點的思想是尋找兩幅圖中對應特征點變換的最優單應性矩陣H[10],此時的參數矩陣能夠使最多的數據點個數滿足該矩陣。相鄰兩個槍機之間對應特征點存在著平面單應性,平面單應性是一個平面到另一個平面的投影映射。它們的投影映射公式如公式(1)。

圖6基于KNN的特征匹配點對

其中s為尺度參數,(x',y')為目標圖像角點位置,(x,y)表示場景圖像角點位置。RANSAC算法會在特征點匹配數據集中隨機選擇四個不共線的樣本并計算單應性矩陣H,接著用此模型去測試其他全部數據,同時計算滿足此模型的特征點(內點)的個數和投影誤差,如果投影誤差最小,則該模型是最優模型,進行若干次迭代之后即可得到參數模型,公式(2)是投影誤差公式。圖7是使用RANSAC算法剔除錯誤匹配點對的圖像配準圖。

為了提高拼接的效果以及在后面的槍球聯動模塊中實現槍機和球機位姿的精確計算,本文使用了基于非線性的LM算法對攝像機的內參矩陣、畸變系數以及位姿進行參數優化。LM(Levenberg-Marquardt)算法即列文伯格-馬夸爾特算法[11],是由高斯牛頓算法的基礎上演變而來的,是高斯牛頓算法和梯度下降算法的統一。LM算法速度快,穩定性高,能夠滿足本文的實時性要求。

圖7基于RANSAC的圖像配準
對于已經求出單應性矩陣H的兩幅相鄰槍機圖像Is、Id,它們之間的特征匹配點個數是為N。根據擬合誤差,可以構建目標函數為:

式中,P=[fx1,fy1,cx1,cy1,fx2,fy2,cx2,cy2,R]是待優化的參數向量,其初始值是通過相機標定出來的內參和最初計算出來的外參;X是待逼近的參數向量,對其初始化為0;xsj、ysj、xdj、ydj分別是圖像IS和圖像Id對應匹配的特征點的像素坐標;fx1、fy1、cx1、cy1、fx2、fy2、cx2、cy2是兩個相機的內參系數;矩陣R是兩個相機之間的外參,即旋轉矩陣,R0、R1、R2是矩陣R的行向量,
通過K次迭代,使F不斷逼近參數向量X,這時有P的最優解。LM算法的使用能夠進一步精化攝像機的內外參數,為之后的全景圖生成以及槍球聯動提供可靠的參數支持。
當使用拼接技術把多個相機的圖像拼接在一起時,由于光照色澤等原因,圖像交界處可能會出現過渡糟糕或者拼接不自然的情況,這時可以采用圖像融合技術。圖像融合是指將多源信道所采集到的關于同一目標的圖像數據經過圖像處理和計算機技術等,最大限度地提取各自信道中的有利信息,最后綜合成高質量的圖像,以提高圖像信息的利用率、改善計算機解譯精度和可靠性、提升原始圖像的空間分辨率和光譜分辨率,利于監測。待融合圖像已配準好且像素位寬一致,綜合和提取兩個或多個多源圖像信息[12]。本文使用加權融合的處理思路,在重疊區域的下一幅圖像是由前一幅圖像慢慢過渡而來的,即將圖像的重疊區域的像素值按一定的權值相加合成新的圖像。
為了把四個槍型攝像機輸出的視頻流拼接起來,我們必須明確這四個相鄰攝像機對應的空間關系,也就是攝像機的運動模型。在2.2小節已經提及過,本文中相鄰兩個攝像機的運動模型是單應變換,角點之間的變化關系遵從公式(1),用齊次坐標表示為公式(5):

根據攝像機之間的運動模型我們就能夠把相鄰兩個視頻流拼接起來,最后生成四個視頻作為輸入流的全景圖,如圖8所示。

圖8槍型攝像機生成的全景圖
在第二部分我們已經得到了場面全景監控圖像,接下來在全景圖像監控中加入槍球聯動系統。如果說全景圖像系統是全局性質的,那么球機系統就是局部性的。它們的組合使用不僅能擴大場面監控的視野范圍,同時優化了場面監控的細節以及解決了布控死角問題。槍機和球機的聯動工作機制,相對于傳統的分布式靜態監控大大提高了工作效率。
槍球聯動系統的準確建立需要球機監控場面和槍機全景監控場面之間的精確坐標轉換關系。通過槍機和球機之間的建立的坐標映射關系,可以把槍機全景圖像中待觀察區域或待觀察目標坐標轉換到球機坐標系中,使之處于球機圖像的中心,并且能根據焦距大小調節圖像的放大倍數,以達到場景細節監控的目的。
如圖9是槍機和球機的坐標系,Ow,OG,OC分別是球機坐標系、全景圖像像素坐標系、槍機系統光心坐標系的原點,點P(xw,yw,zw)是世界坐標系中的任意一點。在實際求解槍機、球機坐標映射關系時,把世界坐標系的原點設在球機的光心處,所以我們的任務就是把槍機全景視頻圖像中的像素坐標(xG,yG)轉換成球機的坐標(α,β)。其中α、β分別是球機坐標系中的垂直高度角和水平方位角[13]。

圖9槍球聯動系統坐標示意圖
因此,有坐標轉換:

其中,矩陣M是坐標映射矩陣,d是點P到球機坐標系原點的距離,并且:

像平面坐標系中,像平面到槍機坐標系原點的距離是其焦距f,將空間中的點P映射到像平面,其映射坐標為(xC,yC)。槍機的光學中心是像平面的坐標原點,同時球機坐標系的原點也投影在像平面的坐標原點。根據它們之間有如公式(7)的投影關系:

把公式(7)代入公式(6)得:

像素坐標系與圖像坐標系之間(即槍機坐標系)的偏移關系如公式(9):

把公式(9)代入公式(8),同時引入像素點在x,y方向的單位焦距長度fx,fy對公式的單位進行統一可得到坐標映射矩陣M,結果如公式(10)。其中,cx、cy、fx、fy是通過第二部分的LM算法得到的相機參數。

根據坐標映射矩陣,把槍機系統的全景監控圖像和球機系統的局部監控圖像有機結合起來,最后實現整個場面的監控優化。由于機場的出入和數據采集有嚴格的限制要求,后期完成的槍球聯動系統的實驗沒能在機場中實現,所以使用了商場附近的場面監控來完成實驗。實驗效果如圖10,圖的右下角屬于球機的局部監控圖像,可以任意調整位置和大小。

圖10基于全景圖像的槍球聯動實驗圖
本文通過多槍機視頻流和球機局部圖像進行聯動的方式構造了一種全方位的場面監控方式。使用的RANSAC算法、LM參數優化算法有效解決了圖像拼接以及槍球坐標投影轉換的精確性問題,最終實驗表明能夠對復雜廣闊的場面進行實時高效的監控,具有很強的實用性。但是本文亦存在改進的地方:
(1)由于使用多槍機生成全景圖,它們覆蓋的場面角度十分廣,所以可能在光線不一致的情況下導致全景圖中最左邊的部分和最右邊的部分存在明顯的明暗差別。所以后續可以改進圖像融合算法,對整個全景圖像進行全局優化,使得全景圖像明暗變化更加自然。
(2)本文是通過提取場景特征點的方式把多個視頻流拼接起來,而好的拼接效果需要這些匹配的特征點盡量在同一平面中,所以本文中的方法不適于室內這種景深明顯的環境。
(3)對于場面監控的功能性方面,后期可以在監控系統中加入目標檢測和跟蹤功能,實現目標的動態監控。