孫光靈 朱慶生 李茜茹
(安徽建筑大學 信息網絡中心,安徽 合肥 230601)
圖像處理在各領域得到廣泛應用,在建筑行業也不例外,廣泛應用于生產力分析[1]、安全管理[2]、設備狀況評估[3]和施工進度監測等方面[4]。相比較而言,大型施工現場設備的運動狀態分析、進度監測或材料跟蹤相對復雜,因此,需要一種方法來生成高分辨率的全景圖像。通常情況下,自動生成一個大型建筑工地的全景圖像,需要分批次捕獲整個站點或其中的大部分重要建筑物的相對位置,如材料堆體、重型設備和各種臨時結構,只有在獲得整個工地或其中大部分場景圖像情況下才能進行有效的全景圖像拼接。
圖像拼接在計算機視覺領域發展了幾十年,產生了多種優秀成果,如圖像合成編輯器(ICE),照片標題[5]和自動標題[6],自動創建個由用戶輸入多張圖片的全景圖。雖然這些軟件可以方便地進行圖像拼接與合成,但生成的全景圖像質量有待提高。因全景圖像的質量取決于圖像之間的重疊率、鏡頭畸變以及輸入圖像的質量水平等,需要對原始圖像進行多種處理,使其成為高質量的全景圖。
無人駕駛飛行器(UAV)可以有效地收集建筑工地的圖像信息[7]。與有線閉路攝像機不同,加裝了攝像頭的無人機可以從不同角度采集圖像。圖像獲取雖然簡單,但是利用無人機圖像進行施工現場監測卻相對困難,主要表現在三個方面:第一,必須及時處理建筑工地上大量的圖像;第二,無人機因風向風速和飛機控制不穩定而產生的振動會導致所獲取的圖像質量下降,增加了圖像處理的難度;第三,無人機的連續位移變化使相機的定標計算變得更加困難。

圖1 無人機圖像拼接方法的概要圖
針對上述問題,文章提出了一種基于無人機視頻的高分辨率全景圖像自動生成方法,自動處理被無人機捕獲的建筑工地的視頻,生成高質量的全景圖,展現整個施工場全貌。該方法主要由模糊濾波、關鍵幀選擇和攝像機校正三個模塊組成。第一個模塊識別并移除相對幀模糊的幀。該方法參照Crete等的研究[8],濾除在某一特定閾值以上的幀。第二模塊選擇與相鄰幀之間有一定的重疊比的關鍵幀。通過無人機的高度和速度參數,統一表達整個區域。第三個模塊用于修正前一模塊所選關鍵幀的鏡頭畸變,利用攝像機的固有參數和無人機的攝像機標定對關鍵幀的鏡頭畸變進行校正。預處理后的圖像采用圖像拼接程序來創建高質量的施工現場全景圖。
無人機的振動和控制系統不穩定是導致模糊圖像的產生的原因之一,拍攝過程中目標物體的運動同樣會導致模糊圖像的產生,造成圖像拼接質量變差,因此在預處理環節對無人機視頻中提取的幀間模糊圖像進行判定和去除[9]。
Crete等提出的“無參模糊度量法”[8],在不參考其他圖像的情況下,對每個圖像的模糊程度進行量化。模糊度量法是基于模糊圖像丟失了圖像高頻分量,因而采用低通濾波器對原始圖像進行模糊操作,并比較濾波前后圖像的強度變化。如原始圖像和模糊圖像之間的強度差別較大意味著原始圖像是清晰的。如果偏差很小,則認為原始圖像是模糊的。
然而,從同一個圖像裁剪的子圖像會因所裁剪對象不同而有不同的模糊度量值。圖2(b)、(c)和(d)顯示圖像出現在同一分辨率201×201的原始圖像顯示在圖 2(a)。 雖然圖 2(b)、(c)和(d)都是相同的原始圖像,但它們都有不同的模糊度量值(0.3147,0.4600,和 0.4871)。在此引入移動平均概念,計算并比較相鄰幀的模糊度,確定模糊度比相鄰幀大的圖像為模糊圖像。(a)原始圖像,(b)裁剪圖像為0.3147 BV,(c)裁剪圖像為0.4600 BV,(d)裁剪圖像為 0.4871 BV。

濾波方法如式(1)和式(2)所示。 式(1)表示每個幀的模糊度的計算過程。為了正確識別移動平均濾波器的幀,根據幀(k)的位置和濾波器(n)的長度之間的三種關系分別計算。


圖2 裁剪位置對模糊度量值影響
式(1)中Xk是第k幀的模糊度,為第k幀圖像模糊度均值,n為相鄰幀數目,m為視頻幀總數。式(1)計算得的模糊值以后,利用模糊度量值Xk減去所獲得的移動平均模糊值,其差值如超過閾值(α),這個幀被認為是模糊幀。如式(2)所示。
從視頻中提取的幀直接進行拼接時間復雜度相對較大,特殊情況下還難以生成全景圖。在無人機視頻中,由于飛行速度和飛行高度不恒定,當對某一特定區域拍攝較多視頻幀時,其它區域視頻幀拍攝數量則相對減少,幀間的重疊率變化較大,圖像拼接過程中可能出現偏差,為此必須選擇具有重疊率恒定的關鍵幀進行拼接。
實驗中利用三角剖分原理解決關鍵幀的選取過程。式(3)表示每單位時間選擇的關鍵幀數,并利用瞬時水平速度、瞬時有效水平距離和無人機單位時間的概念。瞬時有效水平距離是無人機視距和交疊區域之差,因此相應的關鍵幀和它相鄰的關鍵幀擁有恒的重疊率(圖3)。在本研究中,假設瞬時有效水平距離是同一無人機在不同位置拍下了兩個幀之間的差集,同時也是兩個相鄰關鍵幀中心點的實際距離。單位時間是指無人機記錄的水平速度的具體時間間隔。

圖3 無人機拍攝示意圖

如圖3所示,無人機移動所需單位時間是通過無人機的實時水平速度和無人機視離,得到無人機瞬時有效水平距離,然后將結果乘以轉換因子(dt/1(s)),將時間秒的單位時間轉換為無人機的單位時間。再適當地選擇交疊率,則產生單位時間的關鍵幀數。

式(4)表明,f(t)是到時刻 t時所選的幀的數量,其中NKFUT是單位時間內的關鍵幀的數量。f函數的最大值是不超過f(T)最大的整數(T=視頻的總時間),即關鍵幀的數目(N)。 實際求解時 f(t)的值根據t值的變化取多個實數,從所求實數中選擇最接近自然數的值為關鍵幀。
圖4顯示了使用f(t)選擇關鍵幀的過程的一個例子??v軸NKF為關鍵幀,橫軸為無人機飛行數據的時間(單位為0.1s),視頻幀率為30。在視頻播放時,捕獲了37.6~37.7 s之間的幀數分別是9.075和9.335,取最接近的整數幀為第9幀。隨著秒到幀的轉換,第9個關鍵幀位于視頻的1125和1129幀之間。

圖4 關鍵幀選擇例子
使用兩個點1125和1129,對應的值為f(t)的9.075和9.335,根據插值方法選擇最接近自然數字9的1125幀作為關鍵幀。如果第1125幀被確定為一個模糊的圖像并被刪除,第1126幀,這是第二個最接近自然數字9的幀,被選擇為關鍵幀。算法1總結了選擇關鍵幀的步驟。根據這一過程,無論無人機的位置如何變化,都可以從視頻中選擇保持恒定重疊率的幀。

當一個三維目標通過攝像機拍攝成二維圖像時,由于相機鏡頭原因會產生兩種類型畸變[10]:凸透鏡的折射率引起徑向畸變,這種畸變在使用廣角鏡頭拍攝寬幅圖像時表現尤為突出;存在切線失真,主要原因是因為相機鏡頭偏離中心,或是因為鏡頭與圖像傳感器不平行造成的偏離。這兩種畸變導致圖像拼接過程中無法完整對齊,降低了全景圖的質量[11]。為了校正攝像機的徑向畸變和切線畸變,必須通過標定攝像機的固有參數(焦距、主點、傾斜系數、畸變系數)加以解決。
圖像拼接過程包括特征提取、特征匹配、光束調整、圖像融合等,根據輸入圖像構建全景圖像。首先,根據相機的姿態,從每幅圖像中提取特征點。在圖像拼接中,基于特征的方法更優先于基于所有像素的直接法,因這種方法在尺度、方向和透視縮放有較強的魯棒性[12]。第二,從每幅圖像中提取的特征點與從其他圖像中相同位置特征點相匹配。隨后,利用隨機絕對一致性(RANSAC)技術改進了特征點匹配的精度[13],因RANSAC能有效處理噪音和遮擋等問題。第三,束調整[14]估計相機的姿態和輸入圖像的三維點坐標,以便正確地將配準誤差分配給圖像連接處。L-M算法[15]是一種非線性優化方法,用于最小化兩幅圖像中匹配特征點位置之間的差值。近來的圖像拼接技術,利用Lourakis和Argyros[16]提出的雅可比矩陣的稀疏結構,有效地進行束調整,以減少L-M算法的計算時間。通過這種方式,將輸入圖像合并到具有同一坐標系統的圖像中。最后,圖像融合平滑了兩幅圖像之間的邊界。合并后的圖像由于出現位置偏移、透鏡失真和亮度差異,可能缺乏清晰的圖像邊界。如果用像素值的加權平均值來處理平滑處理,由于高頻組件(例如邊緣)的丟失,會造成模糊效果,從而降低了全景圖的質量。文章借鑒LOURAKIS的圖像拼接技術[17],將合并后的圖像分解成不同頻率尺度的圖像。包含低頻分量的圖像在相對較寬的范圍內平滑,而高頻分量則在相對較小的范圍內平滑。
本方法在某地鐵施工現場進行了測試,實驗表明,由此方法產生的建筑工地可見光全景圖像覆蓋了大部分建筑工地,并提供了高質量的細節,完成了現場所需圖片的有效拼接。
提出的方法是用MATLAB編程語言實現的。本實驗中使用的無人機是DJI公司的MavicPro高清專業航拍無人機。UAV攝像頭的fps最大為30,視頻最大分辨率為3840×2160。攝像機標定是使用MATLAB的攝像應用程序進行的。在一個地鐵建筑工地測試地點。拍攝的視頻時長84 s的播放時間。
圖5顯示的視頻所有幀的模糊測量過程,結果表明幀的模糊測量存在較大的變化。如前所述,每幅圖像的模糊度與移動平均相比較。如果差異大于0.01的閾值,則確定該幀為模糊圖像。在本研究中使用的2540幀中,總共有176幀被認為是模糊的,被刪除,導致使用2364幀。

圖5 所有幀的模糊性和移動平均濾波器
為了找到合適的重疊比,測試了一系列比率,包括50%、60%、70%、80%和90%。在以往的研究中[18-19],圖像拼接的重疊比設置為50%,因此本研究的重疊率至少設置為50%。
圖6顯示了不同重疊率的全景圖,以及所選關鍵幀的數量。由于重疊率較低[20-21],在結果全景圖中出現了更多的缺失部分;圖 6(c)、(d)和(e)顯示了圖 6(a)和(b)中不存在的部分,主要有幾個方面原因。首先,UAV的實際FOV達不到標稱的那樣寬。在這個實驗中,檢測到一個小于94°視角的FOV。第二,與之前的研究不同,UAV在三維空間內不斷發生了位置的變化,很難以靜止不變的方式捕獲目標對象。
圖7顯示了無人機在95米高度和相應全景圖拍攝的航空照片。圖7(a)和(b)的分辨率分別為 3840×2160 和 8345×10531。
綜合考慮圖像拼接的質量和效率后將重疊率設為70%,如果視頻對象中有更高的關鍵幀數,重疊率就應設為80%或90%以上,因而圖像拼接時需要消耗更多時間,產生更大偏差,所以重疊率的確定必須綜合考慮各種因素。
圖7(b)顯示了由16個圖像幀組成的全景圖,重疊率為70%。與航拍照片比較表明,全景圖中物體的錯位或角位移并不顯著,論文所提出的方法產生的全景具有足夠的準確性,可以適用于施工現場監測。

圖6 不同重疊比率(OR)的全景圖,以及選定的關鍵幀數(NKF)

圖7 航空照片與生成全景圖的比較
論文提出了一種快速提取關鍵幀的圖像拼接方法,重點介紹了從無人機采集的圖像預處理部分。預處理方法由模糊幀處理、關鍵幀選擇和相機校正三個模塊組成;模糊幀處理模塊采用相鄰圖像模糊值的移動平均,選取了清晰圖像,消除模糊圖像;而關鍵幀選擇模塊在相鄰幀之間保持了恒定的重疊率,利用無人機高度信息和水平速度信息來選擇關鍵幀;相機校正模塊,處理相機透鏡和飛行器運動等因素產生的鏡頭畸變。經三個模塊處理后,最后拼接為高質量的建筑工地全景,實驗表明該方法得到的合影圖像滿足建筑工地施工現場監控需求。