朱齊丹,徐從營,蔡成濤
(哈爾濱工程大學 自動化學院,哈爾濱150001)
折反射全景視覺系統以其360°視場觀察能力,被廣泛應用于車載/艦載視頻監控、無人飛行器的姿態計算、機器人導航、圖像測量等領域[1-2]。但全景視覺系統在船載、機載、車載等運動載體上進行拍攝時,受載體運動的影響,采集到的圖像序列會產生晃動,嚴重影響人們觀測與識別目標。
電子 穩 像(Electronic image stabilization,EIS)是指使用圖像處理技術從視頻圖像序列中去除因攝像機隨機運動而引入的圖像抖動,使圖像序列平滑、穩定的技術。在機載、車載、艦載電視攝像等系統得到了廣泛應用。比較成熟的電子穩像算法有塊匹 配算法[3-4]、相位匹配算法[5]、特征 點 匹 配 算 法[6-7]、位 平 面 匹 配 算 法[8]、投 影 算法[9]以及專門針對艦載攝像系統的水天線穩像算法[10-11]等。文獻[4]提出的穩像算法采用宏塊預判算法和改進的SSDA 宏塊匹配算法快速計算運動矢量,結合最小二乘法與LMedS 算法求解最優的穩像模型參數,具有亞像素級的穩像精度。文獻[7]基于自適應濾波和特征點集運動矢量提取技術,提出了帶特征匹配驗證的電子穩像算法(FMVA)。這兩種方法均可以有效處理攝像機的平移和旋轉抖動,實現實時穩定圖像序列。文獻[12]提出了一種穩像圖像修補技術,判斷相鄰圖像幀的光流變化,并利用光流法填補當前穩像圖像的丟失像素,有效實現了穩像無效區域的修補。然而,以上文獻研究對象多是針對普通攝像機拍攝的視頻,而針對折反射全景視覺系統進行電子穩像的研究較少。這些文獻雖然對于全景視頻穩像有一定的參考作用,但折反射式全景攝像機與普通攝像機的成像原理存在很大差別,所以對于后者來說,仍需要深入研究適應其特點的電子穩像方法。
本文針對艦載折反射全景視覺系統拍攝的圖像序列進行了電子穩像算法研究,提出了一種使用海天線進行電子穩像的方法。根據全景圖像中海天線成像特點,使用基于最優邊緣估計的海天線提取算法計算海天線成像方程,提出了基于海天線的簡化全景圖像電子穩像模型及圖像無效區域重建方法。使用海上拍攝的全景序列圖像進行了穩像實驗,結果表明該算法可實時地進行電子穩像,有效地減小全景圖像的晃動,極大地改善了視覺效果。
折反射全景攝像機由反射鏡和普通攝像機組成,空間中的光線經過反射鏡反射后進入攝像機成像,生成環形的全景圖像,如圖1(a)所示,兩個白色環形區域是全景視覺系統的有效成像區域。當系統安裝滿足單視點要求時[13],可方便地建立系統的成像模型,計算所有空間成像點對應的入射光線向量。

圖1 雙曲面折反射攝像機與全景圖Fig.1 Hyperbolical catadioptic camera and panoramic image
圖1 (b)為理想情況下拍攝的全景海洋圖片,不考慮攝像機鏡頭畸變時可將海天線近似為圓形。當載體發生晃動時,空間景物成像將發生形變,海天線成像為橢圓,如圖1(c)所示。與普通穩像圖像不同,在全景圖像中除載體外,背景區域由海面和天空組成。海面會不斷發生變化,而天空則比較平滑,具有極少的不變特征。因此,傳統的穩 像 算 法,例 如 基 于 塊 匹 配[3-4]和 特 征 點 匹配[6-7]的穩像算法,在這種海面不斷變化的背景模式下,會造成嚴重的誤匹配,無法實現全局運動矢量的準確估計。同時現有的穩像算法均無法解決全景圖像穩像過程中初始參考幀的選取。
與普通圖像不同,全景圖像發生形變導致各像素點的移動量均不一樣,因此現有電子穩像算法中全局運動矢量補償方法無法矯正全景圖像中景物的形變。若建立精確的矯正模型,則必然要計算每個圖像點的移動量,算法復雜,不具有實用性。因此現有的全景圖像電子穩像算法均針對展開圖像,使用傳統穩像算法進行電子穩像,以降低算法難度[14-15]。
本文根據海天線成像特點,使用海天線成像方程進行全景圖像形變矯正,提出了簡化的穩像模型。該模型雖然不能完全矯正圖像形變,但算法速度快,矯正效果好,可極大地改善視覺效果,并且不需要參考圖像,實用性較強。
全景圖像容易受光照影響造成整幅圖像對比度不均勻,傳統Canny算子在進行邊緣檢測時使用同一對高低閾值,會導致邊緣信息丟失或出現偽邊緣。本文將圖像均勻分為大小相同的圖像塊,對每個圖像塊使用文獻[16]提出的最大類間方差法(Otsu算法)確定Canny算子的高低閾值。每個子圖像閾值更能反映其所在子區域的邊緣特性,檢測結果既保留了局部的細節邊緣,也不會產生虛假邊緣。修改后Canny 邊緣檢測算法具體流程為:
(1)利用二維高斯函數對圖像進行低通平滑濾波,去除圖像中的噪聲。
(2)使用2×2鄰域一階偏導的有限差分計算梯度幅值和梯度方向,記每個像素點的梯度幅值和梯度方向分別為M[i,j]和θ[i,j]。
(3)對梯度幅值進行非極大值抑制,在梯度的方向上互相比較鄰接像素的梯度幅值,保留幅值局部變化最大的點。
(4)將圖像均勻分為大小相同的圖像塊(64×64像素,也可根據圖像尺寸設定),每個方塊使用Otsu算法確定Canny算子的高低閾值并進行雙閾值化檢測和邊緣連接。
(5)經過非極大值抑制獲取的邊緣圖像還達不到單像素級邊緣,為方便進行邊緣長度統計,使用文獻[17]提出的形態學算子對邊緣檢測后的圖像進行邊緣細化。
與普通圖像不同,全景圖像中海天線邊緣上像素點梯度方向指向圖像中心。因此可通過判斷梯度方向去除載體天線和全景裝置支撐桿等造成的徑向邊緣并保留海天線邊緣。但由于噪聲、圖像采樣量化和載體劇烈地晃動等原因,造成部分海天線邊緣點梯度方向偏離圓心,采用單一閾值會造成海天線邊緣的斷裂,因此本文借鑒Canny算法中雙閾值化檢測的思想,提出了雙閾值梯度方向過濾的方法,即設置高低閾值分別為θth1、θth2,其中θth1>θth2。對所有邊緣點計算其與圓心的夾角θ′[i,j]:

其中[u0,v0]為全景圖像中心。如果θ′[i,j]<0,則θ′[i,j]=θ′[i,j]+360°,將角度轉到0~360°范圍內。若|θ[i,j]-θ′[i,j]|≤θth2,則保留此邊緣點。這樣得到的海天線邊緣會因為間斷而變的不連續,為了最大程度地保留海天線邊緣點,采用遞歸邊界跟蹤方法,將八鄰域區域內|θ[i,j]-θ′[i,j]|≤θth1的點判定為邊緣點并保留。
圖2(a)為邊緣檢測效果,海天線邊緣全部被檢測出來。圖2(b)為有效區域內邊緣雙閾值過濾結果,取θth1=5,θth2=15。從圖中可以看出,徑向邊緣被全部消除,而海天線邊緣被完整地保留下來。

圖2 邊緣檢測與過濾Fig.2 Edge detection and filtering
由圖2(b)中可以發現邊緣圖像有如下幾個特點:①環形海天線被分割為斷續的曲線段;②圖像中最長的曲線段為海天線邊緣;③相鄰的海天線曲線段首尾端點在切向方向上距離最近,即到圖像中心點距離相近的同時保證端點距離最近。根據以上特點,本文提出了一種最優邊緣估計算法提取海天線邊緣,建立了最優邊緣估計方程,并使用一種簡單的方法判斷海天線提取是否成功。
首先統計所有邊緣曲線的起始點、起始角、曲線長度等信息。假設有效區域內共有m 條邊緣,將所有邊緣信息表示為:

式中:RAi、RBi為第i條邊緣起始點和終止點到圖像中心點的距離;θAi、θBi為邊緣起始點和終止點的方向角;ni為邊緣長度。
所有邊緣信息按逆時針方向統計排列,即邊緣終止點在起始點的逆時針方向。
然后使用最優邊緣估計算法提取海天線邊緣。根據邊緣圖像特點②將最長的邊緣設為第1條海天線邊緣,并記為Lj,將已經搜索到的海天線邊緣起始/終止角,起始/終止半徑分別記為:

最優邊緣估計算法搜索海天線邊緣具體流程為:
(1)逆時針搜索。根據邊緣圖像特點③,假設最優邊緣估計方程為:

式中:α和β 為比例系數。由于相鄰端點距離非常近,即使海天線發生嚴重變形,半徑變化差值也會非常小,因此選取α=0.3,β=0.7;θth為角度偏差閾值;Rth為半徑偏差閾值,端點相鄰越遠則半徑相差閾值應該越大,因此取Rth=1.5θth,或根據圖像分辨率設置為0.03R,其中R 為理想情況下海天線成像圓半徑。
選取計算值最小,即與現有邊緣曲線半徑相似并且距離最近的邊緣作為海天線。同時將θ2和R2替換為選取的海天線邊緣的θBi和RBi,并刪除起始角和終止角位于θ1至θ2范圍內的所有邊緣曲線信息以提高下一次搜索效率。重復步驟(1)直至沒有邊緣滿足條件公式(3)。
(2)順時針搜索。與逆時針搜索原理相同,條件公式及偏差計算公式替換為公式(4):

重復步驟(2)直至沒有邊緣滿足條件公式(4)。
(3)終止條件判斷。為提高橢圓擬合精度,搜索完成后海天線起始與終止角度若滿足如下條件:

且已搜索到的邊緣角度范圍大于240°,則轉到步驟(4),否則重新計算最長邊緣,轉到步驟(1)。
(4)橢圓擬合。根據搜索出的海天線邊緣像素點位置直接使用橢圓擬合方法求解海天線橢圓成像方程。本文直接使用OPenCV 提供的橢圓擬合函數求解橢圓方程。
圖3顯示了海天線搜索的結果及海天線橢圓方程擬合結果,其中圖像分辨率為1024×1024像素,角度偏差閾值θth=10,半徑偏差閾值Rth=15。從圖中可以看出,白線代表的橢圓方程較好地擬合出了海天線的真實位置,具有較高的精度。

圖3 海天線提取Fig.3 Sea-sky line extraction
大部分情況下由于載體的晃動會使海天線成像為橢圓。多次手動提取海天線實驗結果表明,假設理想情況下海天線成像圓半徑為rc,海天線變形時成像的橢圓長短軸分別為a,b,則它們之間的關系滿足rc≈(a+b)/2,因此可將其作為海天線提取是否成功的判斷依據,其中rc可手動確定。若提取的海天線滿足如下條件公式,則認為海天線提取成功:

式中:dth為判斷閾值。
本文所提出的簡化穩像模型基于如下兩個假設:①載體不發生晃動時,全景圖像可由一系列相鄰的密集同心圓表示,當圖像發生晃動時,同心圓變為同心橢圓并發生中心點偏移;②同一圓周上所有的景物點在變形后仍會位于同一橢圓上。如圖4所示,其中黑色粗實線表示海天線。實際情況下全景圖像中海天線上的點對應于無窮遠處景物,只有海天線上的景物點滿足條件②。當載體發生晃動時,除與全景相機固定連接的載體外,所有空間景物點的投影角度都將發生變化,成像將發生形變,假設條件②并不能精確滿足。
基于兩個假設條件下的全景圖像穩像算法即將同心橢圓矯正為同心圓,如圖5(a)所示,然后將圓心Oc平移至理想情況下海天線中心點O′c,如圖5(b)所示。

圖4 全景圖像穩像模型Fig.4 Omnidirectional image stabilization model

圖5 圖像坐標系設置Fig.5 Image coordinate system
圖5 為穩像坐標系設置,圖像坐標系原點位于圖像左上角。其中XeOeYe為失穩圖像同心橢圓坐標系,XcOcYc為矯正后同心橢圓坐標系,X′cO′cY′c為穩像圖像同心圓坐標系,θ為海天線橢圓方程傾斜角。基于假設條件的圖像穩像雖然不能完全矯正景物形變,但能極大地簡化穩像算法,提高計算速度。
記理想情況下海天線成像圓心為[uc,vc],半徑為R;a、b為失穩圖像中海天線成像橢圓長短軸;[ue,ve]為橢圓中心點;θ為橢圓旋轉角度。假設點p =[i,j]為穩像圖像上任意一點的圖像坐標,穩像過程即計算出點p 對應失穩圖像上的點坐標p′=[i′,j′]。記r為該點到圖像中心點[uc,vc]的距離,矩陣E和C 分別表示該點對應穩像前后的橢圓和圓,a′,b′為對應的橢圓長短軸,在圖5(a)坐標系下橢圓和圓二次曲線方程可表示為:

式中:矩陣E 和C 表示為:

已知橢圓旋轉角度為θ,則點m 在XcOcYc坐標系下可表示為:

式中:

由公式(6)知橢圓長短軸a′、b′與r 存在如下關系:

由比例關系可得:

假設矩陣K 為3×3矩陣,令:

將公式(12)帶入公式(7)得:

對比公式(7)中兩方程有:

對公式(14)求解可得:

計算出m′后,用下式算出最終p′點坐標:

全景圖像中部分背景不會隨著載體搖晃而發生變化,這部分圖像為固定背景,可進行手動提取,并設置為非穩像區域,如圖6所示。

圖6 背景區域Fig.6 Background region
實驗時使用自主設計制造的全景圖像采集處理設備,如圖7所示。設備采用模塊化分體設計,可方便地根據任務需要拆分使用或者換裝不同分辨率的相機和反射鏡。圖像采集后即可直接進行本地處理,也可使用光纖模塊傳輸至處理終端進行處理。相機具有曝光時間自動調整功能,整套裝置采用三防設計,可滿足長時間海洋環境使用要求,前端處理器為UNO-3083 嵌入式計算機,主要配置為intel酷睿i7 處理器,主頻為2.2 GHz,內存大小為4G,操作系統為Windows XP,實驗以VC6.0軟件為平臺結合OpenCV 庫編寫。

圖7 實驗裝置Fig.7 Experimental device
在最優邊緣估計算法中,已知有效區域內共有m 條邊緣,則每次搜索中計算最長邊緣選取所需的最大計算次數為m,順/逆時針搜索最優邊緣估計方程最大計算次數為m-1。假設最大循環搜索次數為t,每次逆/順時針搜索的邊緣個數最大為s,則算法的最大運算時間復雜度可表示為:

在實際測試中,t和s 均為個位數,算法只需數次計算即可完成海天線邊緣搜索。
為測試海天線提取算法性能,本文使用分別在港口、航道、遠海3種不同實驗環境下拍攝的大量圖片進行了實際測試。圖像分辨率為1024×1024像素,取θth1=5,θth2=15,θth=10,Rth=15。部分測試圖片及海天線計算結果如圖8所示。
圖8中(a1)拍攝環境為遠海,(a2)和(a3)拍攝環境分為航道和港口,使用單測垂直視角為120°的雙曲面反射鏡,較大的垂直視野使全景攝像機對載體的晃動具有更強的適應性。圖中除設置有效檢測區域外(兩白色圓圈之間部分),根據遮擋情況設置了遮擋區域(兩條白線之間部分)。
分區自適應閾值邊緣檢測算法有效地檢測出了不同環境下的海天線區域(圖8(b1)~(b3)),雙閾值梯度方向過濾法則有效地過濾掉了徑向邊緣,并將干擾物分割為較短的邊緣(圖8(c1)~(c3))。圖8(d1)~(d3)和圖8(e1)~(e3)則分別顯示了海天線提取結果及最終的橢圓擬合效果。即使在有效區域小于180°的環境下仍然精確地擬合出了海天線(圖8(e3))。

圖8 海天線提取實驗Fig.8 Sea-sky line extraction experiment
為測試算法的成功率與實時性,本文使用連續拍攝的1700張圖片進行了測試,設置不同的圖像分辨率與檢測參數,測試結果如表1所示。

表1 海天線提取算法性能Table1 Algorithm performance of sea-sky line extraction
部分圖片由于晃動較大,海天線被艦船遮擋或超出視野,造成海天線檢測失敗。同時圖像分辨率的下降也會影響最終橢圓擬合結果的準確性,造成海天線提取成功率下降,但由表1中可以看出影響較小。為保證海天線提取精度,進行海天線提取時圖像尺寸不宜太小。
本文使用低分辨率256×256像素的圖像進行快速海天線成像方程計算,然后對分辨率為1024×1024像素的圖像進行圖像穩像實驗,穩像效果如圖9所示。

圖9 全景圖像穩像Fig.9 Omnidirectional image stabilization
圖9 (a)(b)為穩像矯正前后的圖像對比,圖9(b)中白色部分為穩像無效區域。如果不填充合適的像素值將會嚴重影響圖像的視覺效果,因此本文提出了關鍵幀補償法對穩像無效區域進行重建,改善視覺效果。
由于穩像對象為連續的圖像序列,載體的晃動會導致周期性地出現晃動較小的圖像,因此可通過提取的橢圓參數進行判斷。如果橢圓長短軸非常接近,并且橢圓中心點與理想情況下海天線圓中心點非常接近,則可以認為該圖像晃動較小,如圖10所示。

圖10 理想海天圖像及穩像結果Fig.10 Ideal omnidirectional image and stabilization result
圖10 為較理想的海天圖像及其穩像圖像。從圖10(a)中可以看出圖像晃動極小,因此圖10(b)中的無效區域較小,使用與原圖相同位置處的像素值進行填充,重建效果如圖11所示。

圖11 無效區域重建Fig.11 Invalid region reconstruction
由圖11中可以看出,填充后的圖像較為完整,視覺效果大為改善。此時可設置此穩像圖像為關鍵幀圖像,其后穩像圖像中的無效區域全部填充為關鍵幀圖像中相同位置的像素值,直至出現新的關鍵幀圖像,關鍵幀圖像被更新。圖12示出了對1700張連續全景視頻圖像序列進行穩像實驗的部分圖像穩像效果。

圖12 穩像實驗結果Fig.12 Results of image stabilization
從圖12中可以看出,晃動不但被抑制,而且無效區域被填充為相鄰關鍵幀中的像素,即使圖像晃動使海天線超出視野,重建后的穩像圖像中仍然能保證海天區域的完整性,極大地改善了視覺效果。基于簡化穩像模型的穩像算法計算簡單,對分辨率為1024×1024像素的全景圖像矯正和重建平均計算時間為10 ms,基于海天線的全景圖像電子穩像算法可控制在50ms以內,具有較高的實時性。由于未見國內外其他全景圖像整體穩像算法的相關文獻報道,同時全景圖像中海浪時刻變化,普通圖像電子穩像算法中的幀差法和峰值信噪比等評價方法均不適用,因此未對穩像效果作進一步評價。
本文針對船載折反射全景視覺系統采集的圖像序列進行了研究,并提出了基于海天線的電子穩像算法。首先使用最優邊緣估計算法提取海天線邊緣,進行橢圓擬合得到海天線成像橢圓方程;然后建立穩像模型并進行圖像穩像;最后根據全景海天圖像特點對穩像無效區域進行重建。實驗結果證明,基于海天線的電子穩像算法可有效抑制海天線晃動,并具有計算速度快、成功率高的優點,在實際應用中取得了良好的使用效果。
[1]Mondragod I F,Pascual C,Caro M,et al.Omnidirectional vision applied to unmanned aerial vehicles(UAVs)attitude and heading estimation[J].Robotics and Autonomous Systems,2010,58(6):809-819.
[2]Mariottini G L,Scheggi S,Morbidi F,et al.An accurate and robust visual-compass algorithm for robot-mounted omnidirectional cameras[J].Robotics and Autonomous Systems,2012,60(9):1179-1190.
[3]蔡成濤,梁小龍,譚吉來,等.自適應最優塊匹配視頻穩像算法[J].系統工程與電子技術,2013,35(6):1324-1329.Cai Cheng-tao,Liang Xiao-long,Tan Ji-lai,et al.Adaptive optimal block matching video stabilization algorithm[J].Systems Engineering and Electronics,2013,35(6):1324-1329.
[4]仲訓昱,朱齊丹,張 智.數字穩像中的快速和魯棒運動估計研究[J].電子學報,2010,38(1):251-256.Zhong Xun-yu,Zhu Qi-dan,Zhang Zhi.Study of fast and robust motion estimation in the digital image stabilization[J].Acta Electronica Sinica,2010,38(1):251-256.
[5]邵向鑫,郭樹旭,王朗.基于邊緣擴展相位相關的圖像拼接算法[J].吉林大學學報:信息科學版,2010,28(1):95-99.Shao Xiang-xin,Guo Shu-xu,Wang Lang.Image mosaic algorithm based on extended phase correlation of edge[J].Journal of Jilin University:Information Science Edition,2010,28(1):95-99.
[6]王洪,戴明.區域快速魯棒特征跟蹤電子穩像[J].吉林大學學報:工學版,2012,42(2):451-458.Wang Hong,Dai Ming.Area speed up robust feature tracking for electric image stablization[J].Journal of Jilin University:Information Science Edition,2012,42(2):451-458.
[7]朱娟娟,郭寶龍.電子穩像的特征點跟蹤算法[J].光學學報,2006,26(4):516-521.Zhu Juan-juan,Guo Bao-long.Features tracking algorithm for video stabilization[J].Acta Optica Sinica,2006,26(4):516-521.
[8]Zhao H,Wang T.Image stabilization algorithm based on multi-bitplane[C]∥Proc of the International Symposium on Photo-electronic Detection and Imaging,Beijing,2009:73842Z.
[9]Tian S,Wang N,Zhao P,et al.Aims at moving objects improvement based on gray projection of algorithm of the electronic image stabilization[C]∥Proc of the 3th International Congress on Image and Signal Processing,Yantai,2010:2483-2487.
[10]趙紅穎,晏磊,熊經武.船載攝像系統的一種電子穩像算法[J].光學技術,2003,29(5):628-633.Zhao Hong-ying,Yan Lei,Xiong Jing-wu.A new electronic image stabilizing algorithm for the image sequence of camera system on board[J].Optical Technique,2003,29(5):628-633.
[11]Xue Y T,Wu T.A new horizon electronic image stabilization algorithm based on SVM[C]∥2010International Conference on Optoelectronics and Image Processing,Haiko 2010:59-63.
[12]Matsushita Y,Ofek E,Ge W N,et al.Full-frame video stabilization with motion inpainting[J].IEEE Trans Pattern Analysis and Machine Intelligence,2006,7(28):1150-1163.
[13]馬子嶺,王建中.折反射全景偵察系統電子穩像技術研究[J].北京理工大學學報,2010,30(12):1475-1479.Ma Zi-ling,Wang Jian-zhong.Research on electronic image stabilizing algorithm of catadioptric panoramic reconnaissance system[J].Transactions of Beijing Institute of Technology,2010,30(12):1475-1479.
[14]朱齊丹,馬宏業,左小祥.全景攝像系統中展開圖像的電子穩像方法研究[J].計算機應用研究,2009,26(3):1192-1194.Zhu Qi-dan,Ma Hong-ye,Zuo Xiao-xiang.Electronic image stabilizing method research for developing image in omnidirectional camera system[J].Application Research of Computers,2009,26(3):1192-1194.
[15]Baker S,Nayar S.A theory of catadioptric image formation[C]∥Sixth International Conference on Computer Vision,Bombay,1998:35-42.
[16]Mei F,Yue G X,Yu Q C.The study on an application of otsu method in canny operator[C]∥Proceedings of the 2009International Symposium on Information Processing,Huangshan,2009:109-112.
[17]譚郁松,周興銘.保持連通的邊緣細化算法[J].國防科技大學學報,2004,26(4):51-56.Tan Yu-song,Zhou Xing-ming.Connectivity preserved edge thinning algorithm[J].Journal of National University of Defense Technology,2004,26(4):51-56.