方強
(成都市勘察測繪研究院,四川 成都 610081)
傾斜攝影技術具有數據獲取效率高、成果精度高、成果數據類型廣泛等顯著特點,使得傾斜攝影技術在地形圖、實景三維模型、房地一體、地籍等測繪產品的生產中得到了廣泛應用。
在傾斜攝影的數據獲取階段中,相機會拍攝到大量的影像數據。在數據處理階段的影像自動匹配、空三平差、三維重建等環節中,影像的數量直接影響自動處理的速度。影像數量越高,后期處理的時間也越長。通常1萬張影像就需要至少5小時左右完成影像的自動匹配,并且會有一定的失敗概率。因此如果能在影像分辨率、重疊度等條件不變的前提下,減少需要處理的影像數量,即能顯著減少后期處理的時間,提高生產效率。
傾斜攝影通過多張傾斜角度和垂直角度影像的多重覆蓋,實現地物的多角度多基線交會。相比傳統航空攝影測量,傾斜攝影具有更大的基高比、更多的攝影基線,因此可以極大地提高地物點的空間交會精度(見圖1)。

圖1 傳統攝影測量與傾斜攝影測量基線對比
在實際生產實施過程中為滿足測區內所有地形地物的多基線多角度影像覆蓋,測區內所有位置均需要有多個方向的傾斜影像覆蓋。而對于測區邊界附件區域,傳統航空攝影中的外擴曝光點不能實現傾斜方向影像的多重覆蓋,因此需要有多的外擴距離。在實際傾斜攝影實施中,會根據飛行高度、傾斜鏡頭角度等參數設置一定數量的外擴航線和航點。[1]
傾斜攝影系統中通常安裝有多個不同朝向的傾斜相機,每一次曝光會同時獲取多張影像。因此在測區邊界兩側的曝光點中必然存在相機鏡頭朝向測區之外的影像。此類影像由于不包含測區內的景物,對當前測區的后期處理沒有實用價值,因此可將此類影像定義為無效影像(如圖2所示)。反之可以將那些所拍攝到地面、地物在測區內,或包含測區內部分區域的影像定義為有效影像。對于多個分區構成的測區中,某個分區的無效影像可能是相鄰分區的有效影像,某有效影像則可能是相鄰分區的無效影像。

圖2 無效影像與有效影像
對于使用多個固定鏡頭組成的傾斜攝影系統而言,每次曝光均會獲得多張影像,因此在測區邊界附近的曝光點中就會如圖2所示獲得一定數量的無效影像。如果不將無效影像進行鑒別和剔除,后續的影像處理會增加需要處理的影像數量。此外無效影像中對應區域的影像重疊度較低、影像角度單一,會對影像空三處理的效率和正確率造成不良影響。
為實現影像的有效性判斷,需要較為精準地計算出所有影像對應的地面覆蓋區域。然后根據所需的測區范圍即可判斷出影像的有效性。
攝影測量學中共線方程式可以在已知影像的外方位元素條件下,計算出空間中任意一點(XA,YA,ZA)在影像上對應的像素位置(x,y)[2]。
共線方程中(x0,y0)為影像像主點的像平面坐標,(XA,YA,ZA)為影像攝影中心的空間坐標。影像姿態角經過矩陣計算得到的旋轉矩陣構成了參數an,bn,cn。
共線方程的逆運算,及從影像上任一點計算對應的空間坐標,則有以下方程:
(1)
式(1)也稱之為數字微分糾正正解法方程[3]。通過觀察式(1)可以看出,需要在某點高程值ZA已知條件下,方可計算出該點的平面坐標值(XA,YA)。
如果要計算影像每個像素所對應的地面點坐標,則每張影像需要進行數千萬次計算,需要耗費大量時間。而在地形起伏不劇烈的條件下,影像最外圍的像素即對應影像覆蓋范圍面邊緣的點,因此僅需計算出最外圍部分像素的地面點,然后將地面點依次連線,即可得到每張影像的地面覆蓋范圍面。
目前有部分傾斜攝影系統在配套軟件中提供了有效影像篩選的工具,可以利用影像的位置、姿態等信息獲得影像的覆蓋區域。此類工具在影像地面覆蓋計算時,通過將地面簡化為水平面,利用設定地面高作為式(1)中的ZA,因此可以簡便快捷地得到影像覆蓋度范圍和有效性,實現影像篩選的目的。但對于超低空作業的無人機傾斜攝影,地面幾十米的高差變化就會對影像的覆蓋范圍造成巨大的變化。在地形起伏較大的丘陵和山地,這種簡捷方式獲取的影像地面覆蓋范圍會有較大的誤差,極易出現錯判、漏判的結果,并不能完全滿足影像篩選的要求[4]。
為確保影像地面覆蓋計算的正確性,需要以真實的地形為基礎,考慮地形起伏對影像覆蓋范圍的影響。在實際工作中,在項目設計階段會收集到測區的DEM資料,因此可以以DEM為基準,精確地計算出每張影像的地面覆蓋范圍。
在該條件下,對影像上任一點的地面位置,需使用迭代方式計算該地面點坐標。首先設定高程初始值,通常為測區平均高程Z0。將Z0作為ZA代入(1)中,然后計算出坐標(X0,Y0)。隨后在DEM中使用坐標(X0,Y0)內插獲得新的高程值Z1。然后將Z1作為ZA代入(1)中,然后計算出坐標(X1,Y1),并再次在DEM中內插獲得新的高程值Z2(圖3)。進行若干次迭代之后,即可獲得較為準確的地面點坐標。

圖3 迭代計算示意圖
獲取到所有影像的地面覆蓋范圍后,即可通過與測區范圍面的疊加分析判斷出哪些影像覆蓋范圍不在測區范圍內,即為無效影像,從而起到對影像進行篩選的作用。經過影像的篩選即可有效減少后期處理所需要的影像數量。
影像地面覆蓋計算需要較為精確的影像外方位元素,影像的外方位元素由影像攝影中心位置坐標和影像姿態角構成。目前傾斜攝影系統都集成有高精度的GPS差分模塊,可以獲得厘米級精度的影像位置信息。因此可以直接將差分獲得的影像位置坐標成果作為覆蓋分析計算時的影像位置坐標(XA,YA,ZA)。但對于影像姿態角,如果傾斜攝影系統無法提供高精度的姿態角,則需人為地設定影像的姿態角。
攝影測量中影像的姿態角包括方向角、仰俯角、橫滾角。根據坐標軸旋轉次序,姿態角目前有三類轉角系統,即YXZ旋轉次序的POK(Phi-Omega-Kappa)系統、XYZ旋轉次序的OPK(Omega’-Phi’-Kappa’)系統、ZYX旋轉次序的HPR(Heading-Pitch-Roll,也稱為Yaw-Pitch-Roll)系統[5]。同一張影像在位置姿態不變條件下,其姿態角在不同轉角系統上會呈現出不同數值,如表1所示。

影像不同轉角系統角度對比 表1
由表1可以看出,在POK、OPK轉角系統中影像的仰俯角和橫滾角與方向角度相關。相同相機不同影像在不同方向角時仰俯角橫滾角數值有極大的差異。而在HPR轉角系統中,影像的仰俯角和橫滾角數值與方向角度無關,僅與其鏡頭安置角度相關,不同方向角下的仰俯角和橫滾角基本穩定。因此使用HPR的轉角系統時僅需要獲得影像的方向角,對于仰俯角和橫滾角可以使用固定值。在影像覆蓋分析時可以將同一相機所有影像的Pitch值設定與安裝角度一致,為45°或0°,Roll值設定為0°。而Heading數值可以根據航線方位角,或根據相鄰影像之間的位置變化計算獲得。
FME(Feature Manipulate Engine)一款功能強大的地理空間數據分析計算工具。在FME中內置有數百個轉換工具,可以通過轉換工具的靈活組合,實現不同類型數據的讀寫、計算、空間分析等功能。使用FME在實現地理信息數據的格式轉換和空間分析時無須耗時耗力的軟件開發,具有極大的便利性和易用性。
影像的POS中的影像攝影中心的坐標值可作為外方位元素使用。在FME中直接讀取影像的圖像名和坐標值,使用AttributeCreator轉換器,獲得相鄰影像的坐標值。然后根據影像的前后的位置變化即可計算出飛行的方位角,再根據不同相機的安置角度計算出Heading值,并設定Pitch為0°或45°,Roll為0°。
設定若干個影像邊界點添加每張影像圖像邊緣的像素點。對于同一張影像,所選取的邊緣采樣點數量與影像覆蓋范圍精準程度相關。邊緣采樣點越多,生成的范圍面越精確,但計算量也會隨之上升。同時對于不同的地形條件,不同數量采樣點之間的覆蓋范圍差異也有所區別。由圖4可以看出,地形起伏較大的區域需要較多的采樣點才可獲得較為準確的覆蓋范圍,但過多的采樣點會需要更長的計算時間,且覆蓋范圍準確性提示也較小。因此需要根據實際的地形條件,設置合適的采樣點,對于丘陵地區通常12個采樣點就能計算出較準確的覆蓋范圍。

圖4 不同數量采樣點不同地形條件下生成的范圍面
添加AttributeCreator轉換器,將影像的外方位元素連接至該轉換器。然后在轉換器的Attribute Value參數中實現旋轉矩陣的計算,輸出旋轉矩陣的值。使用HPR轉角系統時,旋轉矩陣的計算方式為:[5]
即為:
新建循環工具Loop,在其中加入AttributeCreator、PointOnRasterValueExtractor等轉換器,實現如下迭代計算:
(1)將AttributeCreator轉換器作為地面平面坐標計算器,在其Attribute Value中輸入式(1)的表示式。該轉換器即可根據輸入的影像外方位元素、地面點高程ZN計算出地面點平面坐標(XN,YN)。初始高程值Z0可以使用當前區域的平均高程。
(2)將PointOnRasterValueExtractor轉換器作為地面點高程計算器,利用地面點平面坐標(XN,YN)在DEM中內插計算出該點的高程值ZN+1。
(3)使用Tester轉換器判斷ZN+1與ZN的差值是否小于設定閾值。若小于則跳出循環,輸出地面點坐標(XN,YN,ZN)。
將同一張影像的邊界點相連,即獲得了該影像的地面覆蓋范圍。圖5為某架次影像的地面覆蓋范圍計算,可以看出由于地形起伏使得影像覆蓋面的邊緣呈現出彎曲的形態。

圖5 影像覆蓋范圍計算結果
使用LineBuilder轉換器將影像邊界的地面點連接構面,即獲得了每張影像的地面覆蓋范圍,并根據實際情況選取或繪制當前需要處理的測區范圍。然后判斷影像覆蓋范圍面與測區范圍面之間的空間關系,將所覆蓋范圍全部在測區外的影像判定為無效影像,反之則為有效影像。
在FME中可以使用SpatialRelator轉換器實現疊加分析,并使用Tester轉換器判斷每個影像覆蓋范圍面與測區范圍面之間的重疊關系,并輸出判斷結果。
在選取測區范圍時需要注意像控點所在位置,如果有部分像控點在區域外,則需要根據實際情況適當外擴或增加獨立區域,以確保所有像控點均滿足多角度影像的覆蓋。在地形起伏變化較大的區域,有可能會出現計算范圍與實際范圍偏差較大的情況,同樣會造成影像有效性的誤判,因此可以適當外擴測區范圍。
通過上述流程可以較快速度完成影像的有效性判斷,通常十余分鐘即可完成數萬張影像的有效性判斷。在后續的各項環節中即可僅將有效影像進行處理,從而減少需要處理的影像數量。
利用影像篩選方法可以減少需要處理的影像數量,可以減少空三環節的處理時間并降低出錯概率,從而起到提高生產效率的作用。為驗證該方法的有效性,目前已通過多個傾斜攝影測量項目中使用該方法,充分驗證了該方法的有效性。
在目前已完成對傾斜攝影項目中,選取多張影像對影像地面覆蓋范圍計算的正確性進行判斷。將經過地形正射糾正后影像與計算出的影像覆蓋范圍面進行疊加檢查。檢查中發現大部分影像所計算出的覆蓋范圍與最終實際覆蓋范圍基本一致,在使用12個采樣點的計算條件下,地面覆蓋區域誤差小于20%(圖6)。個別差別較大的影像均是位于航線首尾區域,由于無人機轉向使得影像實際的姿態角偏移較大。

圖6 計算出的范圍與真實影像疊加
隨后選取了多個已完成的傾斜攝影項目進行驗證和對比測試,用于檢驗影像篩選對處理時長的影響。首先對實驗樣本區進行影像篩選,然后再僅使用有效影像進行空三處理,最后將空三處理的時長與最初未進行影像篩選的空三時長進行對比。部分典型實驗樣本區的測試結果如表2所示:
由表2可以看出由于處理的影像數量減少,空三處理時間均減少了10%左右。并且由于所有像控點均位于篩選時的測區范圍內,因此所有像控點影像數量、定向殘差等均未發生變化,精度與未經篩選的影像處理結果保持一致。

影像篩選前后空三處理時間對比 表2
驗證該影像篩選的有效性后,在成都某地區的實景三維生產項目中即將影像篩選作為生產處理中的必要流程。測區中每個分區在空三處理前均使用影像篩選方法然后僅對有效影像進行空三和建模處理,共計減少了數萬張無效影像。各分區的影像數與處理時間如表3所示:

影像篩選實際效用 表3
經過影像篩選和空三處理后的部分影像姿態如圖7所示,可以看出在最外邊緣的曝光點中僅保留了鏡頭朝向測區的有效影像。

圖7 篩選后測區邊界附近的影像分布
在本項目中為增加每個分區的像控點數量與分布條件,每個分區均有一定程度的邊界外擴。并且為確保分區接邊精度,分區之間也有較多的重疊。最終像控點的連接點殘差、定向點殘差、檢查點較差、分區之間公共點較差(表4)均符合預期,滿足后續的地形圖測繪與單體化建模要求。

影像篩選后精度情況 表4
傾斜攝影中在測區邊界附近會獲取到大量的無效影像。無效影像的存在會增加需要處理的影像數量,也延長了空三及建模處理的時間。利用影像覆蓋計算方法可以快速判斷影像的有效性,從而可以在后期處理中排除無效影像,起到減少處理時間、降低出錯概率、提高生產效率的作用。
除此之外,本文中的影像篩選方法的準確度和效率還有可提升的空間和余地。體現在如下方面:
(1)在測區中間的曝光點的所有影像均是有效影像,可以利用影像位置、航高、航向等參數排除掉這類曝光點的影像覆蓋計算,從而減少影像篩選計算時間。
(2)目前大多數無人機傾斜攝影系統無法提供高精度的影像曝光姿態信息,因此僅能通過后期推斷和假定等方式得到影像的姿態角。而當影像實際出現姿態偏離時,利用人為設定姿態角計算出的影像覆蓋范圍與真實值會有較大差異。今后隨著傾斜攝影系統的改進升級,預期可以利用IMU設備直接獲取高精度的影像姿態角,即可精準地計算出每張影像的地面覆蓋范圍,從而為影像篩選、漏洞分析、重疊度計算、像控點可見性分析等提供更加精準的依據。